e508b43604e8978815e83036e34498dc3d860335
[chise/xemacs-chise.git.1] / src / ChangeLog
1 1999-11-10  XEmacs Build Bot <builds@cvs.xemacs.org>
2
3         * XEmacs 21.2.20 is released
4
5 1999-11-04  Martin Buchholz  <martin@xemacs.org>
6
7         * mule-ccl.c (ccl_driver): Warning suppression
8
9 1999-11-01  SL Baur  <steve@miho.m17n.org>
10
11         * emacs.c (main_1): Guard call to reinit_vars_of_debug when not
12         building a debugged XEmacs.
13
14 1999-10-28  Andreas Jaeger  <aj@suse.de>
15
16         * src/emacs.c (main_1): Don't set the malloc hooks if using
17         DOUG_LEA_MALLOC.
18
19 1999-10-30  Olivier Galibert  <galibert@pobox.com>
20
21         * alloc.c (pdump_dump_rtables): Don't forget to dump the last
22         registered type.
23         (pdump): Ditto.
24
25 1999-10-25  Olivier Galibert  <galibert@pobox.com>
26
27         * emacs.c (main_1): Call reinit_vars_of_scrollbar_x.
28
29         * symsinit.h: Declare reinit_vars_of_scrollbar_x.
30
31 1999-10-25  Martin Buchholz  <martin@xemacs.org>
32
33         * redisplay.h (CLASS_RESET_CHANGED_FLAGS): 
34         (GLOBAL_RESET_CHANGED_FLAGS): 
35         (CLASS_REDISPLAY_FLAGS_CHANGEDP): 
36         (RESET_CHANGED_SET_FLAGS): 
37         Fix C++ compile errors/warnings.
38         These macros were just a tad too clever.
39
40         * process-unix.c (unix_open_network_stream):
41         * objects-x.c (allocate_nearest_color):
42         * mule-charset.c (vars_of_mule_charset): 
43         * fileio.c (Ffile_truename): 
44         * file-coding.c (vars_of_file_coding): 
45         Fix compile errors/warnings.
46
47         * alloc.c (xstrdup): Use fact that memcpy returns its first arg.
48         (allocate_lisp_storage): Simplify.
49
50 1999-10-24  Olivier Galibert  <galibert@pobox.com>
51
52         * conslots.h: Add defines with first and last slot names.
53         * bufslots.h: Add defines with first and last slot names.
54
55         * buffer.c (common_init_complex_vars_of_buffer): Renamed from
56         reinit_complex_vars_of_buffer
57         (reinit_complex_vars_of_buffer): Reset the slots to the dumped
58         value.
59         (complex_vars_of_buffer): Dump the slots values.
60
61         * console.c (common_init_complex_vars_of_console): Renamed from
62         reinit_complex_vars_of_console
63         (reinit_complex_vars_of_console): Reset the slots to the dumped
64         value.
65         (complex_vars_of_console): Dump the slots values.
66
67         * alloc.c: Rename reloc_table to pdump_reloc_table, rt_list to
68         pdump_rt_list and move them at the beginning of the file.
69         (gc_sweep): Unmark pdumped objects after the sweep phase.
70         (pdump_dump_rtables): Change a bare 256 to
71         last_lrecord_type_index_assigned.  Add a separator between the
72         adresses or lrecords and the ones of C structs in the dump file.
73         (pdump_load): Cope with the new separator and the renamings.  Stop
74         looking for the hash tables list after it has been found (duh!).
75
76 1999-10-24  Robert Bihlmeyer <robbe@orcus.priv.at>
77
78         * sound.c: support HAVE_ESD_SOUND
79
80         * miscplay.c: 
81         * miscplay.h: 
82         * linuxplay.c: Move large part of linuxplay to generalized file
83         miscplay. Make it platform independent.
84
85         * esd.c: New file
86
87 1999-10-24  Adrian Aichner <aichner@ecf.teradyne.com>
88
89         * lisp.h (Dynarr_declare): Fix boo-boo.
90
91 1999-10-24  Olivier Galibert  <galibert@pobox.com>
92
93         * process-unix.c (allocate_pty): Fix HAVE_GETPT.
94         * process.h: Ditto.
95
96 1999-10-24  Jan Vroonhof  <vroonhof@math.ethz.ch>
97
98         * redisplay.c (start_with_line_at_pixpos): Remove assert(cur_elt
99         >=0). Handle the cur_elt == 0 case.
100
101 1999-10-24  Jan Vroonhof  <vroonhof@math.ethz.ch>
102
103         * unexelf.c: Merge Martin's c++ fixes back in 
104
105 1999-10-20  Jan Vroonhof  <vroonhof@math.ethz.ch>
106
107         * unexelf.c (unexec): Only copy the global offset
108         table from memory on sgi machines.
109
110 1999-08-13     Alexandre Oliva <oliva@dcc.unicamp.br>, Vin Shelton <acs@xemacs.org>
111
112         * unexelf.c: Enable GNU/Linux/alpha to build with gcc 2.95 by
113         adding support for an sbss section.  Get IRIX 5.2 to build using
114         unexelf.c.
115
116         * m/iris4d.h: Use unexelf.o for unexec.
117
118         * m/iris5d.h: Use unexelf.o for unexec.
119
120 1999-10-24  Jan Vroonhof  <vroonhof@math.ethz.ch>
121
122         * unexelf.c: Revert to 21.1 version
123
124 1999-08-28  Jan Vroonhof  <vroonhof@math.ethz.ch>
125
126         * window.c (Fwindow_truncated_p): New function.
127
128 1999-08-25  Jonathan Marten <jonathan.marten@uk.sun.com>
129
130         * window.c (window_truncation_on): Always return 0 for minibuffer
131         windows, to enable auto scrolling.
132
133 1999-10-24 Neal Becker <nbecker@fred.net>
134         * process.h: Unix98 PTY support
135
136 1999-10-17  Jan Vroonhof  <vroonhof@math.ethz.ch>
137
138         * fileio.c (Ffile_truename): Do proper mule decoding on
139         the argument to xrealpath()
140
141 1999-08-19  Stephen Tse  <stephent@sfu.ca>
142
143         * process-unix.c (unix_open_network_stream): Add udp network
144         support; rename variable Qtcpip to Qtcp, parameter family to
145         protocol for consistency with Qudp.
146
147         * process-nt.c (nt_open_network_stream): Rename variable Qtcpip to
148         Qtcp, parameter family to protocol for consistency with Qudp.
149
150         * process.c (global_variables): Add a new variable Qudp for udp
151         network support; rename variable Qtcpip to Qtcp for consistency
152         with Qudp.
153         (Fopen_network_stream_internal): Rename parameter FAMILY to
154         PROTOCOL for consistency; fix a minor typo and add an explanation
155         in docstring for udp programming.
156         (Fopen_multicast_group_internal): Fix a minor typo in docstring.
157         (syms_of_process): Add a new variable Qudp for udp network
158         support; rename variable Qtcpip to Qtcp for consistency with Qudp.
159
160         * process.h (extern_variables): Add a new variable Qudp for udp
161         network support; rename variable Qtcpip to Qtcp for consistency
162         with Qudp.
163
164         * procimpl.h: Add a new variable Qudp for udp network support;
165         rename variable Qtcpip to Qtcp for consistency with Qudp.
166         (struct process_methods): Rename parameter family to protocol.
167
168
169 1999-10-24  Olivier Galibert  <galibert@pobox.com>
170
171         * alloc.c (pdump_make_hash): Divide pointers by 8 for a better hash.
172
173 1999-10-23  Olivier Galibert  <galibert@pobox.com>
174
175         * lrecord.h (struct lrecord_header): Removed dumped flags.
176
177         * dynarr.c: Use DUMPEDP instead of dumped flag.
178
179         * lisp.h (DUMPEDP): Added.  Removed dumped flag from dynarr.
180
181         * alloc.c: Removed hash_next linked list pointer.
182         
183         * *.c *.h: Removed markobj and mark_object parameters, removed GC_
184         and XGC macros.
185
186 1999-10-14  Andy Piper  <andy@xemacs.org>
187
188         * redisplay-x.c (x_output_shadows): fix dodgy maths for border
189         calculations.
190
191         * gutter.c (output_gutter): be more accurate about the area to be
192         cleared since X seems to manage to do the clear after drawing the
193         border.
194
195         * redisplay.h (RESET_CHANGED_FLAGS): new macro for setting
196         redisplay flags as a group.
197         (RESET_CHANGED_SET_FLAGS): ditto.
198         (CLASS_RESET_CHANGED_FLAGS): ditto.
199         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
200         (REDISPLAY_FLAGS_CHANGEDP): new macro for testing redisplay flags
201         as a group.
202         (CLASS_REDISPLAY_FLAGS_CHANGEDP): ditto.
203         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
204
205         * redisplay.c (redisplay_frame): use CLASS_RESET_CHANGED_FLAGS
206         instead of setting flags individually.
207         (redisplay_device): ditto CLASS_REDISPLAY_FLAGS_CHANGEDP.
208         (redisplay_device): ditto.
209         (redisplay_device): ditto CLASS_RESET_CHANGED_FLAGS.
210         (redisplay_without_hooks): ditto GLOBAL_REDISPLAY_FLAGS_CHANGEDP.
211         (redisplay_without_hooks): ditto CLASS_REDISPLAY_FLAGS_CHANGEDP.
212         (redisplay_without_hooks): ditto.
213         (redisplay_without_hooks): ditto GLOBAL_RESET_CHANGED_FLAGS.
214
215         * redisplay-x.c (x_output_string): unmap subwindows in the area.
216         (x_output_blank): ditto.
217
218         * redisplay-output.c (redisplay_output_display_block): don't unmap
219         subwindows in case layout optimization can avoid it.
220         (redisplay_output_subwindow): unmap subwindows in the area.
221         (redisplay_output_layout): optimize the output of layouts - only
222         output glyphs that have changed if nothing else of redisplay
223         significance has occurred.
224         (redisplay_output_pixmap): change args to
225         redisplay_clear_clipped_region.
226         (redisplay_clear_clipped_region): allow the clipped region to be
227         cleared of all subwindows except the one passed in.
228
229         * redisplay-msw.c (mswindows_output_blank): unmap subwindows in
230         the area.
231         (mswindows_output_cursor): ditto.
232         (mswindows_output_string): ditto.
233
234         * gutter.c (calculate_gutter_size): if the window buffer is nil
235         then don't continue.
236         (update_frame_gutters): be more lenient about when we actually
237         update the gutter. Layout optimization makes this
238         non-costly. Cache redisplay flags that we want to temporarily
239         ignore.
240
241         * glyphs.c (Fglyph_animated_timeout_handler): handle image
242         specific timeouts rather than iterating over the instance cache.
243         (glyph_animated_timeout_mapper): deleted.
244         (add_glyph_animated_timeout): use a weak list to hold onto the
245         image so that it can be GC'ed.
246         (disable_glyph_animated_timeout): disable a specific timeout.
247         (vars_of_glyphs): disable-animated-pixmaps is a new boolean for
248         controlling whether pixmaps are animated or not.
249
250         * glyphs-msw.c (mswindows_finalize_image_instance): make sure the
251         image timeout gets disabled when the image gets freed.
252
253         * glyphs-eimage.c (gif_instantiate): remove meaningless
254         comment. Cope with timeouts specified in the gif extension block.
255
256         * event-msw.c (vars_of_event_mswindows): new variable
257         mswindows-meta-activates-menu.
258         (mswindows_wnd_proc): only goto defproc with VK_MENU if the user
259         wants it.
260
261         * glyphs-x.c (x_finalize_image_instance): delete mask first so
262         that we can compare with image.
263
264 1999-10-14  Jonathan Harris  <jhar@tardis.ed.ac.uk>
265
266         * event-msw.c (mswindows_key_to_emacs_keysym):
267         Recognise keypad keys as different from normal keys.
268
269 1999-10-14  Didier Verna  <didier@xemacs.org>
270
271         * glyphs-x.c (x_finalize_image_instance): avoid freeing null pixmaps.
272
273 1999-10-10  Olivier Galibert  <galibert@pobox.com>
274
275         * symbols.c (init_symbols_once_early): dump Vquit_flag.
276
277         * symsinit.h: Updated.
278
279         * ntproc.c (vars_of_ntproc): Use defsymbol.
280
281         * emacs.c (main_1): Updated reinit calls.
282
283         * lisp.h: Removed Fpurecopy and pure_put declarations.
284         * fns.c: Removed pure_put.
285
286         * eval.c (Fdefvar): pure_put -> Fput
287         (Fdefconst): Ditto.
288         * frame-x.c (init_x_prop_symbols): Ditto.
289         * symbols.c (deferror): Ditto.
290
291         * alloc.c (Fmake_byte_code): Remove Fpurecopy call.
292         * buffer.c (vars_of_buffer): Ditto.
293         * bytecode.c (Ffetch_bytecode): Ditto.
294         (optimize_compiled_function): Ditto.
295         * emacs.c (vars_of_emacs): Ditto.
296         * emodules.c (vars_of_module): Ditto.
297         * eval.c (define_function): Ditto.
298         (Fautoload): Ditto.
299         * frame.c (vars_of_frame): Ditto.
300         * intl.c (Fset_domain): Ditto.
301         * lread.c (load_force_doc_string_unwind): Ditto.
302         * menubar.c (vars_of_menubar): Ditto.
303         * minibuf.c (reinit_complex_vars_of_minibuf): Ditto.
304
305         * debug.c (reinit_vars_of_debug): Extracted.
306         * device-x.c (reinit_vars_of_device_x): Ditto.
307         * emodules.c (reinit_vars_of_module): Ditto.
308         * font-lock.c (reinit_vars_of_font_lock): Ditto.
309         * glyphs-widget.c (reinit_vars_of_glyphs_widget): Ditto.
310         * glyphs.c (reinit_vars_of_glyphs): Ditto.
311         * gui-x.c (reinit_vars_of_gui_x): Ditto.
312         * insdel.c (reinit_vars_of_insdel): Ditto.
313         * menubar-x.c (reinit_vars_of_menubar_x): Ditto.
314         * minibuf.c (reinit_complex_vars_of_minibuf): Ditto.
315         * mule-wnnfns.c (reinit_vars_of_mule_wnn): Ditto.
316         * print.c (reinit_vars_of_print): Ditto.
317         * redisplay.c (reinit_vars_of_redisplay): Ditto.
318         * select-x.c (reinit_vars_of_xselect): Ditto.
319         * undo.c (reinit_vars_of_undo): Ditto.
320
321 1999-10-10  Olivier Galibert  <galibert@pobox.com>
322
323         * symsinit.h: Updated declarations, see other ChangeLog entries.
324
325         * redisplay.c (init_redisplay): Ensure proper reinitialisation.
326
327         * lrecord.h (XD_DYNARR_DESC): Introduce XD_INT_RESET and use it.
328
329         * glyphs.c: Add the ii_keyword_entry and related descriptions.
330         Fix the image_instantiator_methods one.
331
332         * file-coding.c: Plonk all data that needs to be dumped in a
333         dynamically allocated structure.
334
335         * extents.c (reinit_vars_of_extents): Extracted from
336         vars_of_extents.
337
338         * event-stream.c (vars_of_event_stream): Don't staticpro when
339         pdump_wire is enough.
340
341         * event-msw.c (reinit_vars_of_event_mswindows): Extracted from
342         vars_of_event_mswindows.
343
344         * event-Xt.c (reinit_vars_of_event_Xt): Extracted from
345         vars_of_event_Xt.
346
347         * eval.c (vars_of_eval): Don't staticpro when pdump_wire is enough.
348
349         * emacs.c (main_1): Added some reinit calls.
350
351         * device-x.c (reinit_console_type_create_device_x): Extracted from
352         console_type_create_device_x.
353
354         * console.h: Declare the console_type_entry_dynarr description.
355
356         * console.c: Unstatic the console_type_entry_dynarr description.
357
358         * alloc.c: Removed some dubious comments.  Handle XD_INT_RESET.
359
360 1999-10-07  Olivier Galibert  <galibert@pobox.com>
361
362         * symsinit.h: Updated declarations, see other ChangeLog entries.
363
364         * minibuf.c (reinit_complex_vars_of_minibuf): Extracted from
365         complex_vars_of_minibuf.
366
367         * lrecord.h: Removed XD_PARENT_INDIRECT (unused and
368         unimplemented), added XD_LO_LINK.
369
370         * lisp.h (pdump_wire_list): Add declaration.
371
372         * glyphs.h (INITIALIZE_DEVICE_IIFORMAT): Fix bug found by Andy.
373         (INITIALIZE_IMAGE_INSTANTIATOR_FORMAT): Fix stupid bug.
374         (REINITIALIZE_IMAGE_INSTANTIATOR_FORMAT): Remove, useless once the
375         stupid bug fixed.
376
377         * glyphs.c (reinit_image_instantiator_format_create): Remove.
378
379         * glyphs-x.c (reinit_image_instantiator_format_create_glyphs_x):
380         Remove.
381
382         * glyphs-widget.c
383         (reinit_image_instantiator_format_create_glyphs_widget): Remove.
384
385         * glyphs-msw.c
386         (reinit_image_instantiator_format_create_glyphs_mswindows):
387         Remove.
388
389         * glyphs-eimage.c
390         (reinit_image_instantiator_format_create_glyphs_eimage): Remove.
391
392         * frame.c (Fmake_frame): Don't reset the face cache when using the
393         stream device.
394
395         * file-coding.c: Dumped the_codesys_prop_dynarr and added all
396         relevant descriptions.
397
398         * events.c (reinit_vars_of_events): Extracted from vars_of_events.
399
400         * eval.c: The subr is _not_ a lcrecord.
401
402         * emacs.c (main_1): Call vars_of_specifier early before any
403         specifier creation (e.g in vars_of_glyphs, at least).  Remove the
404         useless reinit_image_instantiator_format*.  Add
405         reinit_vars_of_events and reinit_complex_vars_of_minibuf.  Add
406         calls to lstream_type_create* and process_type_create*.
407
408         * elhash.c: Dump Vall_weak_hash_tables correctly.
409
410         * data.c: Dump Vall_weak_lists correctly.
411
412         * console.c: Fix description.
413
414         * console-stream.c (init_console_stream): Do initializations
415         correctly in the pdump case.
416
417         * chartab.c: Fix description.  Dump Vall_syntax_tables correctly.
418         (Fcopy_char_table): Link into Vall_syntax_tables.
419
420         * alloc.c (pdump_wire_list): Added.
421         (Fgarbage_collect): Fix loop in stats couting missing the last
422         lrecord type.
423         (pdump_register_sub): Added XD_LO_LINK.
424         (pdump_dump_data): Ditto.  Fixed XD_LO_RESET_NIL forgttting the
425         counter.
426         (pdump_reloc_one): Ditto.
427         (pdump_scan_by_alignement): Use last_lrecord_type_index_assigned
428         instead of 256.
429         (pdump_dump_wired): Added lists.
430         (pdump): Use last_lrecord_type_index_assigned instead of 256.
431         Dump last_lrecord_type_index_assigned value.  Fix minor bugs.
432
433 1999-10-07  Andy Piper  <andy@xemacs.org>
434
435         * glyphs-msw.c (mswindows_finalize_image_instance): zero out
436         bitmap slices.
437
438         * glyphs-x.c (x_finalize_image_instance): fix FMW problem.
439
440 1999-10-06  Andy Piper  <andy@xemacs.org>
441
442         * elhash.c (resize_hash_table): Correct reference to lrecord_header.
443
444 1999-10-06  Damon Lipparelli  <lipp@primus.com>
445
446         * elhash.h: forward declare Lisp_Hash_Table.
447
448 1999-10-06  Andy Piper  <andy@xemacs.org>
449
450         * glyphs.c (Fset_image_instance_property): mark glyphs as dirty
451         after setting an image instance property.
452
453 1999-10-05  Andy Piper  <andy@xemacs.org>
454
455         * gutter.c (update_frame_gutters): output gutters if
456         windows_changed is set. This is the only way of catching changes
457         in selected window which obviously can affect the specifiers.
458
459         * redisplay.c: new state flags, subwindows_state_changed and
460         subwindows_state_changed set.
461         (redisplay_window): use them.
462         (redisplay_device): ditto.
463         (redisplay_without_hooks): ditto.
464         (redisplay_frame): ditto. Reset subwindow cachels if
465         subwindows_changed is set.
466         (redisplay_window): call mark_glyph_cachels_as_clean after
467         redisplaying.
468
469         * redisplay-x.c (x_output_x_pixmap): select correct
470         pixmap image for display depending on the currently selected
471         slice.
472
473         * redisplay-output.c (compare_runes): check dirtiness when
474         checking RUNE_DGLYPH runes.
475         (compare_display_blocks): relax invalidation of display blocks
476         since we can now detect whether individual glyphs have changed or
477         not.
478
479         * redisplay-msw.c (mswindows_output_dibitmap): select correct
480         bitmap image for display depending on the currently selected
481         slice.
482
483         * glyphs.h (struct Lisp_Image_Instance): add a dirty flag.
484         (IMAGE_INSTANCE_DIRTYP): new macro.
485         (XIMAGE_INSTANCE_DIRTYP): ditto.
486         (MARK_IMAGE_INSTANCE_CHANGED): ditto.
487         (GLYPH_DIRTYP): ditto.
488         (XGLYPH_DIRTYP): ditto.
489         (MARK_GLYPH_CHANGED): ditto.
490         (GLYPH_CACHEL_DIRTYP): ditto.
491         (struct glyph_cachel): add a dirty flag.
492
493         * glyphs.c (update_frame_subwindows): Don't update on
494         glyphs_changed.
495         (glyph_animated_timeout_mapper): new function. Map over the
496         instance cache lookinng for animated images to update.
497         (Fglyph_animated_timeout_handler): new function. Lisp callback for
498         handling animated image timeout events.
499         (disable_glyph_animated_timeout): new function. Add the animated
500         image timeout.
501         (disable_glyph_animated_timeout): new function. Remove the
502         animated image timeout.
503         (syms_of_glyphs): initialize Qglyph_animated_timeout_handler and
504         friends.
505         (vars_of_glyphs): initialize Vglyph_animated_ticker.
506         (image_instance_equal): add the currently displayed slice.
507         (image_instance_hash): ditto.
508         (allocate_glyph): initialize dirty flag.
509         (glyph_width): rename glyph -> glyph_or_image.
510         (glyph_height_internal): ditto.
511         (glyph_dirty_p): new function. Determine whether the image
512         instance in the domain and/or glyph is dirty.
513         (set_glyph_dirty_p): set the dirtiness.
514         (update_glyph_cachel_data): take dirtiness into account. Pass the
515         image instance we are interested in to glyph_width and friends.
516         (get_glyph_cachel_index): make non-static. Always call
517         update_glyph_cachel_data.
518         (mark_glyph_cachels_as_not_updated): meaningless formatting
519         change.
520         (mark_glyph_cachels_as_clean): new function. Clean dirtiness from
521         glyph cachels.
522
523         * glyphs-x.h (struct x_image_instance_data): change
524         pixmap to a list of pixmaps.
525         (IMAGE_INSTANCE_X_PIXMAP_SLICE): new macro.
526         (IMAGE_INSTANCE_X_PIXMAP_SLICES): ditto.
527         (XIMAGE_INSTANCE_X_PIXMAP_SLICE): ditto.
528         (XIMAGE_INSTANCE_X_PIXMAP_SLICES): ditto.
529
530         * glyphs-x.c (x_finalize_image_instance): make sure multi pixmap
531         images get deleted properly.
532         (init_image_instance_from_x_image): add slices paramater and use
533         it to initialize x_image_instance_data correctly.
534         (image_instance_add_x_image): new function. Add new pixmaps to our
535         set of instantiated pixmaps for an image. Used by animated images.
536         (x_init_image_instance_from_eimage): add a slices
537         parameter. Instantiate all images from the eimage.
538         (x_xpm_instantiate): update use of
539         init_image_instance_from_x_image.
540         (init_image_instance_from_xbm_inline): ditto.
541         (x_initialize_pixmap_image_instance): add slices paramater and use
542         it to allocate x_image_instance_data correctly.
543
544         * glyphs-msw.h (struct mswindows_image_instance_data): change
545         bitmap to a list of bitmaps.
546         (IMAGE_INSTANCE_MSWINDOWS_BITMAP_SLICE): new macro.
547         (IMAGE_INSTANCE_MSWINDOWS_BITMAP_SLICES): ditto.
548         (XIMAGE_INSTANCE_MSWINDOWS_BITMAP_SLICE): ditto.
549         (XIMAGE_INSTANCE_MSWINDOWS_BITMAP_SLICES): ditto.
550
551         * glyphs-msw.c (init_image_instance_from_dibitmap): add slices
552         paramater and use it to initialize mswindows_image_instance_data
553         correctly.
554         (image_instance_add_dibitmap): new function. Add new bitmaps to
555         our set of instantiated bitmaps for an image. Used by animated
556         images.
557         (mswindows_init_image_instance_from_eimage): add a slices
558         parameter. Instantiate all images from the eimage.
559         (mswindows_xpm_instantiate): update use of
560         init_image_instance_from_dibitmap.
561         (bmp_instantiate): ditto.
562         (init_image_instance_from_xbm_inline): ditto.
563         (mswindows_finalize_image_instance): make sure all the bitmap
564         slices get deleted.
565         (mswindows_initialize_dibitmap_image_instance): add slices
566         paramater and use it to allocate mswindows_image_instance_data
567         correctly.
568
569         * glyphs-eimage.c (jpeg_instantiate): give extra paramter to
570         init_image_instance_from_eimage.
571         (png_instantiate): ditto.
572         (tiff_instantiate): ditto.
573         (gif_instantiate): allocate bitmaps for all gif slices not just
574         the first one.
575
576         * device.h (struct device): add subwindows_state_changed flag.
577         (MARK_DEVICE_SUBWINDOWS_STATE_CHANGED): new macro.
578         (MARK_DEVICE_FRAMES_GLYPHS_CHANGED): ditto.
579
580         * console.h (struct console_methods): add a slice parameter to
581         init_image_instance_from_eimage_method.
582
583         * redisplay.c (create_string_text_block): Allow buffer to be nil
584         without crashing.
585
586 1999-09-24  Andy Piper  <andy@xemacs.org>
587
588         * glyphs-x.c: only include gui-x.h if we are building with
589         widgets.
590
591         * gui-x.c (vars_of_gui_x): only set popup_up_p if we have popups.
592
593 1999-09-28  Lee Kindness <lkindness@csl.co.uk>
594
595         * objects-x.c (allocate_nearest_color): will return 0 (failure)
596         when the colormap is full and the color it has computed to be the
597         'nearest' has been allocated read/write.
598
599 1999-10-02  Olivier Galibert  <galibert@pobox.com>
600
601         * search.c (reinit_vars_of_search):   Reinit   the  search   cache
602         correctly.
603
604         * elhash.h:     Make    the    description    visible.     Declare
605         resize_hash_table.
606
607         * elhash.c  (resize_hash_table): Extracted from enlarge_hash_table
608         to generalize the hash table reorganization.
609         (reorganize_hash_table): Added.
610         (enlarge_hash_table): Uses resize_has_table.
611
612         * casetab.c (complex_vars_of_casetab):  staticpro  the mule mirror
613         tables.
614
615         * alloc.c:   Add  correct  management  of   blocks of  structures.
616         Reorganize hash tables at reload since  the hash values can change
617         with the pointers.
618
619 1999-10-01  Olivier Galibert  <galibert@pobox.com>
620
621         * lisp.h: Add pdump_wire declaration
622
623         * elhash.c (vars_of_elhash): Wire Vall_weak_hash_tables.
624         * symbols.c (init_symbols_once_early): Wire Qnil and Qunbound.
625
626         * alloc.c (pdump_wire): Added..
627         (pdump_load): Support it.
628         (pdump): Support it
629
630         * glyphs-msw.c
631         (reinit_image_instantiator_format_create_glyphs_mswindows): Fix
632         macro calls.
633
634 1999-09-28  Olivier Galibert  <galibert@pobox.com>
635
636         * symsinit.h: Added lots of prototypes.
637
638         * symeval.h: Added defsymbol_nodump declaration.
639
640         * symbols.c (find_symbol_value): Lame attempt at making the
641         startup go further.
642         (defsymbol_nodump): Added.
643
644         * mule-charset.c: Collapsed global lisp objects arrays in one
645         dumpable structure.
646
647         * lrecord.h: Added some flags.
648
649         * lisp.h: Added dumped flag to dynarrs.  Added dumpstruct
650         declaration.
651
652         * glyphs.h (INITIALIZE_IMAGE_INSTANTIATOR_FORMAT_NO_SYM): Don't
653         staticpro dynamic variables.
654
655         * glyphs.c (reinit_specifier_type_create_image): Added.
656         (image_instantiator_format_create): Dump image instantiator format
657         dynarr.
658         (reinit_image_instantiator_format_create): Added.
659
660         * emacs.c (main_1): Added reinits calls.
661
662         * dynarr.c: Protect dumped dynarrays from going berzek in free or
663         realloc.
664
665         * specifier.h (INITIALIZE_SPECIFIER_TYPE): Don't staticpro dynamic
666         variables.
667         * specifier.c (specifier_type_create): Dump the specifier type
668         dynarr.
669         (reinit_specifier_type_create): Added.
670         * console.h (INITIALIZE_CONSOLE_TYPE): Don't staticpro dynamic
671         variables.
672         * console.c (console_type_create): Dump the console type dynarr.
673         (reinit_vars_of_console): Extracted from vars_of_console.
674         (reinit_complex_vars_of_console): Extracted from
675         complex_vars_of_console
676         * window.c (reinit_vars_of_window): Extracted from vars_of_window.
677         * toolbar.c (reinit_specifier_type_create_toolbar): Added.
678         * search.c (reinit_vars_of_search): Extracted from vars_of_search.
679         * objects.c (reinit_specifier_type_create_objects): Added.
680         (reinit_vars_of_objects): Extracted from vars_of_objects.
681         * lstream.c (reinit_vars_of_lstream): Extracted from
682         vars_of_lstream.
683         * lread.c (reinit_vars_of_lread): Extracted from vars_of_lread.
684         * gutter.c (reinit_specifier_type_create_gutter): Added.
685         * glyphs-x.c (reinit_image_instantiator_format_create_glyphs_x):
686         Added.
687         * glyphs-widget.c
688         (reinit_image_instantiator_format_create_glyphs_widget): Added
689         * glyphs-msw.c
690         (reinit_image_instantiator_format_create_glyphs_mswindows): Added.
691         * glyphs-eimage.c
692         (reinit_image_instantiator_format_create_glyphs_eimage): Added.
693         * event-stream.c (reinit_vars_of_event_stream): Extracted from
694         vars_of_event_stream
695         * eval.c (reinit_vars_of_eval): Extracted from vars_of_eval.
696         * device.c (reinit_vars_of_device): Extracted from vars_of_device.
697         * console-x.c (reinit_console_type_create_x): Added.
698         * console-tty.c (reinit_console_type_create_tty): Added
699         * console-stream.c (reinit_console_type_create_stream): Added.
700         (init_console_stream): If PDUMP, always reinitialise basic
701         devices.
702         * console-msw.c (reinit_console_type_create_mswindows): Added.
703         * buffer.c (reinit_vars_of_buffer): Extracted from
704         init_vars_of_buffer.
705         (reinit_complex_vars_of_buffer): Extracted from
706         complex_vars_of_buffer
707
708         * alloc.c: Further with the portable dumping, the revenge.
709         (dumpstruct): Added.
710         (reinit_alloc_once_early): Extracted from init_alloc_once_early.
711
712         * specifier.c (sizeof_specifier): Correct size computation.
713         (make_specifier_internal): Ditto.
714
715 1999-09-27  Olivier Galibert  <galibert@pobox.com>
716
717         * alloc.c: Further with the portable dumping.
718
719 1999-09-27  Martin Buchholz  <martin@xemacs.org>
720
721         * glyphs-x.c (update_widget_face): Remove bogus cast
722
723         * data.c (sign_extent_lisp):
724         * data.c (check_int_range):
725         * data.c (Faref):
726         * data.c (Faset):
727         * data.c (number_char_or_marker_to_int):
728         * data.c (number_char_or_marker_to_double):
729         * data.c (Frem):
730         * data.c (Fmod):
731         * extents.c (print_extent_1):
732         * fns.c (print_bit_vector):
733         * fns.c (Flength):
734         * fns.c (Fsafe_length):
735         * fns.c (copy_list):
736         * fns.c (Fsubseq):
737         * fns.c (Felt):
738         * fns.c (Flast):
739         * fns.c (Fnbutlast):
740         * insdel.h:
741         * marker.c (print_marker):
742         * syntax.h:
743         * bytecode.c (bytecode_arithcompare):
744         * bytecode.c (bytecode_arithop):
745         * lisp.h:
746         * lisp.h (EXTERNAL_LIST_LOOP_DELETE_IF):
747         * lisp.h (TRUE_LIST_P):
748         * lisp.h (CHECK_TRUE_LIST):
749         * lisp.h (bit_vector_length):
750         * lisp.h (GCPRO4): Make consistent.
751         * lisp.h (NGCPRO4): Make consistent.
752         * lisp.h (NNGCPRO4): Make consistent.
753         * alloc.c (Fmake_list):
754         * alloc.c (Fmake_string):
755         Use proper 64-bit types, e.g. EMACS_INT or size_t instead of int.
756         This should make all arithmetic 64-bit clean.
757
758         Use %ld with (long) casts in print statements of types with sizes
759         possibly larger than int.
760
761         Following functions had mismatched prototypes!!:
762         do_marker_adjustment(), fixup_internal_substring(), scan_lists(),
763         char_quoted(), make_string_from_buffer(),
764         make_string_from_buffer_no_extents()
765
766         The types of Bufpos, Bytind, Memind, Bytecount, Charcount,
767         Extcount are all now EMACS_INT.  I hope to see the day when I can
768         create a buffer with more than INT_MAX characters, without having
769         XEmacs slow down to a crawl.  I also hope to be able to create a
770         list with more than INT_MAX cons cells.
771
772         * redisplay.c (decode_mode_spec): 
773         The %p and %P specs in the mode line were not correct for buffers
774         larger than MAX_INT/100!  The %p spec was off by .5% even for
775         small buffers!
776
777 1999-09-27  Martin Buchholz  <martin@xemacs.org>
778
779         * cmdloop.c (num_input_keys):
780         * print.c (debug_temp):
781         * emacs.c (Vinfo_directory):
782         Delete unused variables 
783
784         * console-x.h (x_interline_space):  Mark as unimplemented.
785         * redisplay-x.c (x_interline_space):  Mark as unimplemented.
786
787         * event-Xt.c (pending_timeouts):
788         * linuxplay.c (linuxplay_sndbuf):
789         * profile.c (QS*):
790         * search.c (searchbufs):
791         * specifier.c (specifier_type_entry_dynarr):
792         * undo.c (pending_boundary):
793         * event-stream.c (the_low_level_timeout_blocktype):
794         * extents.c (gap_array_marker_freelist):
795         * extents.c (extent_list_marker_freelist):
796         * print.c (being_printed):
797         * print.c (alternate_do_pointer):
798         * alloc.c (first_string_chars_block):
799         * alloc.c (current_string_chars_block):
800         * emacs.c (initial_argv):
801         * emacs.c (initial_argc):
802         * eval.c (lisp_eval_depth):
803         * free-hook.c (pointer_table):
804         * free-hook.c (free_queue):
805         * free-hook.c (current_free):
806         * free-hook.c (strict_free_check):
807         * redisplay.c (formatted_string_emchar_dynarr):
808         * redisplay.c (formatted_string_display_line):
809         * redisplay.c (formatted_string_extent_dynarr):
810         * redisplay.c (formatted_string_extent_start_dynarr):
811         * redisplay.c (formatted_string_extent_end_dynarr):
812         * redisplay.c (updating_line_start_cache):
813         * redisplay.c (last_display_warning_tick):
814         * redisplay.c (display_warning_tick):
815         * redisplay.c (internal_cache):
816         * window.c (Vwindow_configuration_free_list):
817         Make static.
818
819         * redisplay.c (Vinitial_window_system):  Make CONST.
820
821 1999-09-24  Martin Buchholz  <martin@xemacs.org>
822
823         * redisplay-tty.c (term_get_fkeys_1): Minor aesthetic improvements.
824
825         * doprnt.c (get_doprnt_args): Use int, not short, with va_arg.
826
827 1999-09-24  Andy Piper  <andy@xemacs.org>
828
829         * redisplay-output.c (output_display_line): only clear the borders
830         if we are not displaying the gutter.
831
832 1999-09-24  Jan Vroonhof <vroonhof@math.ethz.ch>
833
834         * frame-x.c (x_any_window_to_frame): Let Xt find the widget and
835         then use x_any_widget_or_parent_to_frame().
836         (x_find_frame_for_window): remove special cases.
837
838 1999-09-24  Andy Piper  <andy@xemacs.org>
839
840         * scrollbar-x.c (x_window_is_scrollbar): deleted.
841         * scrollbar-x.h: ditto.
842         
843 1999-09-23  Martin Buchholz  <martin@xemacs.org>
844
845         * alloc.c (this_marks_a_marked_record): Remove.
846
847         * buffer.c (mark_buffer):
848         * buffer.c (nuke_all_buffer_slots):
849         * console.c (mark_console):
850         * console.c (nuke_all_console_slots):
851         * frame.c (mark_frame):
852         * frame.c (nuke_all_frame_slots):
853         Treat MARKED_SLOT() macros consistently.
854
855         * device.h (error_check_device_type):
856         * faces.c (face_getprop):
857         * fileio.c (DRIVE_LETTER):
858         * filelock.c (lock_file_1):
859         * frame-x.c (x_create_widgets):
860         * frame.h (error_check_frame_type):
861         * keymap.c (print_keymap):
862         * keymap.c (Fkey_description):
863         * keymap.c (where_is_recursive_mapper):
864         * mule-charset.h (CHARSET_LEADING_BYTE):
865         * objects-msw.c (mswindows_color_instance_hash):
866         * objects.c (color_instance_equal):
867         * objects.h (struct color_specifier):
868         * objects.h (struct font_specifier):
869         * objects.h (struct face_boolean_specifier):
870         * opaque.h (get_opaque_ptr):
871         * opaque.h (set_opaque_ptr):
872         * process-unix.c (set_socket_nonblocking_maybe):
873         * specifier.h (SPECIFIER_TYPE_P):
874         * symbols.c (store_symval_forwarding):
875         * syssignal.h (EMACS_KILLPG):
876         * terminfo.c (emacs_tparam):
877         * glyphs.c (glyph_putprop):
878         * glyphs.c (glyph_remprop):
879         * glyphs.c (Fimage_instance_subwindow_id):
880         * window.c (mark_window):
881         * window.c (mark_window_config):
882         * window.c (Fset_window_configuration):
883         * window.c (save_window_save):
884         * eval.c (Fuser_variable_p):
885         * eval.c (Fcommand_execute):
886         * eval.c (Feval):
887         * eval.c (Ffuncall):
888         * lisp.h (XPNTR):
889         * lisp.h (INT_OR_FLOATP):
890         * lisp.h (GC_INT_OR_FLOATP):
891         * lisp.h (XFLOATINT):
892         * lisp.h (IS_ANY_SEP):
893         * mule-ccl.c (Fccl_execute):
894         * mule-ccl.c (Fccl_execute_on_string):
895         * redisplay-x.c (x_output_string):
896         Remove redundant extra parentheses.
897
898 1999-09-22  Martin Buchholz  <martin@xemacs.org>
899
900         * chartab.c (word_boundary_p): Add prototype for warning avoidance.
901         * eval.c (PRIMITIVE_FUNCALL): ANSIfy
902         * free-hook.c (fun_ptr): ANSIfy
903         * getloadavg.c: Remove declaration for errno.
904         * gui.c (allocate_gui_item): ANSIfy
905         * gui.h (allocate_gui_item): ANSIfy
906         * mule-ccl.c (resolve_symbol_ccl_program): Make static
907         * realpath.c: Remove K&R support.
908         * redisplay-x.c (x_output_display_block): Don't shadow previous local
909         * glyphs-widget.c (layout_instantiate):  Don't shadow previous local
910         * gutter.c (get_gutter_coords): Make static.
911         * lread.c (locate_file_map_suffixes): Make static.
912         * ralloc.c (relinquish): ANSIfy
913         * redisplay.c:
914         * lisp.h:
915         Move prototypes from redisplay.c to lisp.h
916
917 1999-09-22  Martin Buchholz  <martin@xemacs.org>
918
919         * glyphs-x.c (x_widget_set_property):
920         - Remove unnecessary initialization.
921         - Use char*, not Bufbyte *, with GET_C_STRING_OS_DATA_ALLOCA
922         * glyphs-x.c (x_widget_instantiate):
923         - Use char*, not Bufbyte *, with GET_C_STRING_OS_DATA_ALLOCA
924         * unexelf.c (unexec):
925         Add cast for C++ compilability.
926         * redisplay.h:
927         Fix a typo.
928         * ralloc.c (r_alloc_reinit):
929         SET_FUN_PTR was broken wrt ANSI aliasing!
930         To compensate, use __typeof__ when using gcc, else live with
931         possible (but rare) warnings.
932         * ralloc.c (init_ralloc):
933         Ditto
934         * ralloc.c: Use the real dlmalloc prototype for __morecore.
935         * lread.c (locate_file_map_suffixes):
936         * input-method-xlib.c (XIM_init_frame):
937         - Xlib functions should use XPointer, not XtPointer.
938         * input-method-xlib.c (XIM_delete_frame):
939         - Xlib functions should use XPointer, not XtPointer.
940         * input-method-xlib.c (IMDestroyCallback):
941         - Simplify.
942         - XFRAME (obj) can never be NULL, so don't test for it.
943         * gutter.h:
944         Add GUTTER_POS_LOOP for iterating over all gutter_pos'es
945         * gutter.c (SET_GUTTER_WAS_VISIBLE_FLAG):
946         Run c-backslash-region on macro body.
947         * gutter.c (gutter_was_visible):
948         Remove redundant parens - this is not a macro.
949         * gutter.c (redraw_exposed_gutters):
950         Use GUTTER_POS_LOOP.
951         * gutter.c (gutter_specs_changed):
952         Use GUTTER_POS_LOOP.
953         * gutter.c (gutter_geometry_changed_in_window):
954         Use GUTTER_POS_LOOP.
955         * gutter.c (update_frame_gutters):
956         Use GUTTER_POS_LOOP.
957         * gutter.c (init_frame_gutters):
958         Use GUTTER_POS_LOOP.
959         * file-coding.c (determine_real_coding_system):
960         Fix C++ compile error.
961         * emodules.c (find_make_module):
962         Cast return value from xrealloc
963         * emacs.c (Fkill_emacs):
964         Use __typeof__, when available.
965         * emacs.c (voodoo_free_hook):
966         Use __typeof__, when available.
967         (Unfortunately, the type of __free_hook is glibc-version-dependent)
968         * dired.c (user_cache): Use Bufbyte *, not char *
969         * dired.c (Fuser_name_all_completions): Ditto.
970
971 1999-09-22  Andy Piper  <andy@xemacs.org>
972
973         * redisplay.c (redisplay_frame): reset the gutter display lines
974         when we reset the subwindows.
975
976         * gutter.c (reset_gutter_display_lines): new function.
977
978         * window.c (Flast_nonminibuf_window): new function equivalent to
979         FRAME_LAST_NONMINIBUF_WINDOW ().
980         (syms_of_window): declare it.
981
982         * redisplay.c (create_string_text_block): don't add bogus eol
983         markers to gutter display lines.
984
985         * glyphs.c (reset_subwindow_cachels): make sure we unmap
986         subwindows using unmap_subwindow so that expose events get
987         registered correctly.
988
989         * window.c (window_scroll): use Vwindow_pixel_scroll_increment to
990         determine how much to scroll the window.
991         (vars_of_window): Vwindow_pixel_scroll_increment is a new
992         variable.
993
994 1999-09-20  Robert Pluim  <rpluim@nortelnetworks.com>
995
996         * glyphs-x.c (update_widget_face): Guard fontList declaration for
997         non-motif uses.
998
999 1999-09-20  Andy Piper  <andy@xemacs.org>
1000
1001         * glyphs-msw.c (mswindows_update_subwindow): update faces.
1002
1003 1999-09-19  Andy Piper  <andy@xemacs.org>
1004
1005         * glyphs.c (update_frame_subwindows): update if faces have
1006         changed.
1007
1008         * glyphs-x.c (x_widget_instantiate): create the clip widget using
1009         lwlib rather than directly.
1010         (x_finalize_image_instance): delete the clip widget using lwlib.
1011         (x_update_subwindow): update widget faces.
1012         (update_widget_face): new function for updating the face
1013         properties of a widget.
1014         (x_widget_set_property): update widget faces.
1015
1016         * lwlib-Xlw.c (xlw_create_clip_window): new function. We need to
1017         manage the clip widgets using lwlib so that we can delete them in
1018         a safe manner.
1019
1020 1999-09-16  Martin Buchholz  <martin@xemacs.org>
1021
1022         * lisp-union.h:
1023         * lisp-disunion.h:
1024         Define new, potentially faster INT arithmetic macros
1025         INT_PLUS, INT_MINUS, INT_PLUS1, INT_MINUS1
1026         * bytecode.c (execute_optimized_function):
1027         Use new macros.
1028         Fix metering code
1029         * bytecode.c (bytecode_negate):
1030         Optimize for integer case.
1031
1032 1999-08-29  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
1033
1034         * m/mips.h: Support for mips-linux: Add !linux around places
1035         that are not valid for linux, define TEXT_START, DATA_START,
1036         DATA_SEG_BITS.
1037
1038 1999-09-16  Andy Piper  <andy@xemacs.org>
1039
1040         * redisplay-output.c (redisplay_output_subwindow): clip subwindows
1041         that don't completely fit on-screen rather than just unmapping
1042         them.
1043
1044         * glyphs.h: change signature of map_subwindow.
1045
1046         * glyphs.c (map_subwindow): add display_glyph_area to the
1047         signature. make sure the mapped area saved in the subwindow_cachel
1048         reflects this.
1049         (Fforce_subwindow_map): make a no-op. I don't think this does
1050         anything useful.
1051
1052         * glyphs-x.h (struct x_subwindow_data): save the Display rather
1053         than the Screen. Add a clipwindow and clipwidget handle.
1054         (IMAGE_INSTANCE_X_CLIPWINDOW): new accessor.
1055         (IMAGE_INSTANCE_X_CLIPWIDGET): ditto.
1056         (XIMAGE_INSTANCE_X_CLIPWIDGET): ditto.
1057         (XIMAGE_INSTANCE_X_CLIPWINDOW): ditto.
1058
1059         * glyphs-x.c (x_finalize_image_instance): destroy the clipwidget
1060         as well as the widget itself.
1061         (x_unmap_subwindow): unmap the clipwindow and clipwidget rather
1062         than the widgets and subwindows themselves. move the widget inside
1063         the clipwidget.
1064         (x_subwindow_instantiate): hold onto the Display rather than the
1065         Screen. allocate a clipwindow to put the subwindow inside.
1066         (x_resize_subwindow): use saved Display directly.
1067         (x_widget_instantiate): allocate a clipwidget of type EmacsManager
1068         to put widgets inside.
1069
1070         * glyphs-widget.c: remove group stuff.
1071
1072         * glyphs-msw.h (struct mswindows_subwindow_data): new structure to
1073         hold the clipwindow.
1074         (IMAGE_INSTANCE_MSWINDOWS_CLIPWINDOW): new accessor.
1075         (XIMAGE_INSTANCE_MSWINDOWS_CLIPWINDOW): ditto.
1076
1077         * glyphs-msw.c: remove group stuff.
1078         (mswindows_finalize_image_instance): destroy clipwindow as well as
1079         the widget itself.
1080         (mswindows_unmap_subwindow): unmap the clipwindow rather than the
1081         widget.
1082         (mswindows_map_subwindow): ditto. move the widget within the
1083         clipwindow.
1084         (mswindows_subwindow_instantiate): allocate and initialize
1085         mswindows_subwindow_data. allocate a clipwindow with the subwindow
1086         as a child.
1087         (mswindows_widget_instantiate): ditto.
1088         (mswindows_control_wnd_proc): new function that allows us to
1089         propagate events from the widget to the main windows control loop.
1090
1091         * device-msw.c (mswindows_init_device): register new widget clip window
1092         class.
1093
1094         * console.h (struct console_methods): add display_glyph_area to
1095         map_window.
1096
1097         * console-msw.h: declare new window class and wnd proc for
1098         widgets.
1099
1100 1999-09-14  Martin Buchholz  <martin@xemacs.org>
1101
1102         * general.c:
1103         * eldap.c:
1104         Move symbols used only by eldap.c into eldap.c as statics.
1105
1106 1999-09-09  Martin Buchholz  <martin@xemacs.org>
1107
1108         * window.c (syms_of_window):
1109         * symbols.c (syms_of_symbols):
1110         * redisplay.c (syms_of_redisplay):
1111         * print.c (syms_of_print):
1112         * lisp.h:
1113         * intl.c (syms_of_intl):
1114         * general.c (syms_of_general):
1115         * frame.c (syms_of_frame):
1116         * fileio.c (syms_of_fileio):
1117         * file-coding.h:
1118         * file-coding.c (syms_of_file_coding):
1119         * extents.c (syms_of_extents):
1120         * event-stream.c (syms_of_event_stream):
1121         * event-stream.c (Fnext_event):
1122         * device.c (syms_of_device):
1123         * data.c (syms_of_data):
1124         * casetab.c (syms_of_casetab):
1125         * casetab.c (check_case_table):
1126         * callint.c (syms_of_callint):
1127         * buffer.c (syms_of_buffer):
1128         Delete unused C symbols:
1129         Qbuffer_file_name, Qbuffer_undo_list, Quser_variable_p,
1130         Qcurrent_prefix_arg, Qtranslate_table, Qkeywordp,
1131         Qnumber_or_marker_p, Qcons, Qkeyword, Qignore, Qdelete_device,
1132         Qcommand_execute, Qglyph_invisible,
1133         Qbuffer_file_coding_system, Qfile_name_handler_alist,
1134         Qframe_x_p, Qframe_tty_p, Qblack, Qkeyboard, Qmenubar, Qpath,
1135         Qvector, Qwhite, Qcase, Qdomain, Qalternate_debugging_output,
1136         Qprint_escape_newlines, Qprint_readably, Qfloat_output_format,
1137         Qwindow_scroll_functions, Qfboundp, Qscroll_up, Qscroll_down
1138
1139         Rename symbols as required by the CHECK_RECORD macro:
1140         - Qcase_table_p to Qcase_tablep
1141         - Qcoding_system_p to Qcoding_systemp
1142
1143         * debug.h:
1144         * debug.c (syms_of_debug):
1145         Make debug.c's internal Lisp_Objects static.
1146
1147         * events.c (vars_of_events):
1148         * events.c (syms_of_events):
1149         Use regular old defsymbol instead of KEYSYM + staticpro().
1150
1151         * select-x.c (CHECK_CUTBUFFER):
1152         Rewrite in accordance with coding standards.
1153
1154         * keymap.c (syms_of_keymap):
1155         Use SPC in the same way as RET, TAB, etc.
1156
1157 1999-08-27  Jan Vroonhof  <vroonhof@math.ethz.ch>
1158
1159         * xemacs-20/src/menubar-x.c (make_dummy_xbutton_event): Don't add
1160         offset twice if HAVE_WMCOMMAND is defined.
1161
1162 1999-09-13 Mike McEwan <mike@lotusland.demon.co.uk>
1163
1164         * redisplay-x.c (x_output_vertical_divider): make sure
1165         shadow_thickness is positive.
1166
1167 1999-09-10 Julian Back <jback@rudd.compulink.co.uk>
1168
1169         * process-nt.c (nt_create_process): fixup to cope with
1170         Vprocess_environment.
1171
1172 1999-09-02  Andy Piper  <andy@xemacs.org>
1173
1174         * redisplay-output.c (redisplay_output_layout): call output
1175         routines with clear_clip false. output layout borders with text
1176         correctly.
1177
1178         * redisplay-msw.c (mswindows_output_blank): call output routines
1179         with clear_clip true.
1180         (mswindows_output_string): ditto.
1181         (mswindows_output_display_block): ditto.
1182
1183         * redisplay-x.c (x_output_display_block): call output routines
1184         with clear_clip true.
1185
1186         * redisplay.h: fix output routines for clear_clip parameter.
1187
1188         * redisplay-output.c (redisplay_output_layout): cope with glyphs
1189         in the border.
1190
1191         * glyphs-widget.c (layout_instantiate): deal with border glyphs.
1192         (check_valid_glyph_or_instantiator): renamed from
1193         check_valid_glyph_or_image.
1194         (check_valid_border): allow glyphs or their instantiators.
1195         (check_valid_glyph_or_instantiator_list): renamed from
1196         check_valid_glyph_or_image_list,
1197         (glyph_instantiator_to_glyph): new function. make sure a glyph is
1198         a glyph and not an instantiator.
1199         (substitute_keyword_value): new function. replace a keyword value
1200         with a new one.
1201
1202 1999-09-01  Andy Piper  <andy@xemacs.org>
1203
1204         * glyphs.c (string_set_property): new function to set the data of
1205         a string.
1206         (image_instantiator_format_create): use it.
1207
1208 1999-09-07  Hrvoje Niksic  <hniksic@srce.hr>
1209
1210         * fns.c (Fmapc): Rename back to Fmapc_internal.
1211
1212 1999-07-30  Gleb Arshinov  <gleb@cs.stanford.edu>
1213
1214         * ntheap.h: CONST (semantically constant) name field of file_data
1215         struct
1216
1217         * unexnt.c (open_output_file): match function definition with
1218         function declaration
1219
1220         * editfns.c: #include "sysfile.h" for getcwd() prototype
1221
1222         * gif_io.c:  #include "sysfile.h" for close() prototype
1223
1224 1999-09-02  Martin Buchholz  <martin@xemacs.org>
1225
1226         * elhash.c:
1227         * elhash.h:
1228         Change the :type keyword to :weakness, for compatibility with the
1229         GNU Emacs 20.5 hash table implementation.
1230         Keep (but don't document) the :type keyword for compatibility.
1231         Obsolete function hash-table-type
1232         General cleanup.
1233         Define function sxhash for compatibility with Common Lisp and GNU Emacs.
1234
1235 1999-09-01  Martin Buchholz  <martin@xemacs.org>
1236
1237         * floatfns.c (arith_error):
1238         * floatfns.c (range_error):
1239         * floatfns.c (range_error2):
1240         * floatfns.c (domain_error):
1241         * floatfns.c (domain_error2):
1242         * lrecord.h (LRECORDP):
1243         * console-x.h (X_ERROR_OCCURRED):
1244         * console-x.h (HANDLING_X_ERROR):
1245         * chartab.c (CATEGORYP):
1246         * buffer.h (XCHAR_OR_CHAR_INT):
1247         Remove redundant and confusing parentheses.
1248
1249         * redisplay-output.c (redisplay_clear_to_window_end):
1250         Remove redundant initialization.
1251
1252         * redisplay.h:
1253         * redisplay-msw.c:
1254         * redisplay-x.c:
1255         Move declarations of bevel_modeline() into redisplay.h.
1256
1257 1999-08-30  Olivier Galibert  <galibert@pobox.com>
1258
1259         * lisp.h: Add staticpro_nodump for undumped staticpro-ing.
1260         * alloc.c: Add staticpro_nodump for undumped staticpro-ing.  Add
1261                   alignment information for dumped data.  Enhance
1262                   descriptions.  Phase out Vterminal_* variables while
1263                   dumping.
1264         * lrecord.h: Add chained descriptions and automagically-reset
1265                   lisp_objects to the description system.
1266
1267         * console-stream.h: Declare the Vterminal_* variables.
1268
1269         * buffer.c: Don't dump Vbuffer_alist, Vbuffer_defaults and
1270                   Vbuffer_local_symbols.
1271         * console.c: Don't dump Vconsole_list, Vconsole_defaults and
1272                   Vconsole_local_symbols.
1273         * eval.c: Don't dump Qunbound_suspended_errors_tag.
1274         * lread.c: Don't dump Vread_buffer_stream.
1275         * lstream.c: Don't dump Vlstream_free_list[].
1276         * search.c: Don't dump last_thing_searched.
1277         * window.c: Don't dump minibuf_window and
1278                   Vwindow_configuration_free_list[].
1279
1280         * faces.c: Add face description.
1281         * fns.c: Add bit_vector description.
1282         * glyphs.c: Add image specifier description.
1283         * objects.c: Add color, face and face boolean specifiers descriptions.
1284         * opaque.c: Add opaque description.  Don't dump Vopaque_ptr_free_list.
1285         * rangetab.c: Add range table description.
1286         * specifier.c: Add specifier and specifier methods description.
1287         * specifier.h: Add specifier extra description support.
1288
1289         * symbols.c: Fix symbol_value_buffer_local_description.
1290
1291         * gdbinit (Lisp): Add opaque_ptr, remove opaque_list.
1292
1293 1999-09-02  Hrvoje Niksic  <hniksic@srce.hr>
1294
1295         * extents.c (extent_remprop): Get extent's plist address
1296         correctly.
1297
1298 1999-08-31  Andy Piper  <andy@xemacs.org>
1299
1300         * xmu.h: define Xmu/Converters.h things.
1301
1302 1999-08-31  Andy Piper  <andy@xemacs.org>
1303
1304         * opaque.c (equal_opaque_ptr): define.
1305         (hash_opaque_ptr): define.
1306
1307         * xmu.h: define Xmu/Misc.h things.
1308
1309 1999-08-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
1310
1311         * file-coding.c (determine_real_coding_system): Treat `coding:'
1312         cookie.
1313
1314 1999-08-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
1315
1316         * file-coding.c (struct decoding_stream): New member `counter'.
1317         (reset_decoding_stream): Initialize `counter'.
1318         (decode_coding_ucs4): Use `counter'.
1319         (decode_coding_utf8): Likewise.
1320
1321 1999-08-31  Andy Piper  <andy@xemacs.org>
1322
1323         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
1324         the clip offset doesn't exceed the height we have available to
1325         show.
1326
1327         * window.h (struct window): add top_yoffset and left_xoffset for
1328         pixel scrolling.
1329         (WINDOW_TEXT_TOP_CLIP): new macro.
1330
1331         * window.c (window_scroll): add behaviour for pixel-scrolling of
1332         tall lines.
1333
1334         * redisplay.h (struct display_line): add top_clip.
1335         (DISPLAY_LINE_HEIGHT): adjust for top_clip.
1336         (DISPLAY_LINE_YPOS): ditto.
1337
1338         * redisplay.c (position_redisplay_data_type): add
1339         start_col_xoffset to prepare for pixel-based h-scrolling.
1340         (WINDOW_SCROLLED): new macro.
1341         (next_tab_position): use it.
1342         (add_glyph_rune): use new hscoll vars.
1343         (create_text_block): ditto.
1344         (generate_displayable_area): adjust off-by-one error.
1345         (regenerate_window): take top_clip into account.
1346         (regenerate_window_extents_only_changed): ditto.
1347         (regenerate_window_incrementally): ditto.
1348
1349         * redisplay-x.c (x_output_display_block): use DISPLAY_LINE_YPOS,
1350         DISPLAY_LINE_HEIGHT and DISPLAY_LINE_YEND macros.
1351         (x_output_string): ditto.
1352         (x_output_blank): ditto.
1353         (x_output_hline): ditto.
1354         (x_output_eol_cursor): ditto.
1355
1356         * redisplay-output.c (output_display_line): allow for
1357         top_clip. use DISPLAY_LINE_YPOS, DISPLAY_LINE_HEIGHT and
1358         DISPLAY_LINE_YEND macros.
1359         (redisplay_output_layout): output strings in layouts correctly.
1360         (redisplay_clear_clipped_region): allow for top_clip.
1361         (redisplay_calculate_display_boxes): ditto.
1362
1363         * redisplay-msw.c (mswindows_output_blank): use DISPLAY_LINE_YPOS,
1364         DISPLAY_LINE_HEIGHT and DISPLAY_LINE_YEND macros.
1365         (mswindows_output_cursor): ditto.
1366         (mswindows_output_string): ditto.
1367         (mswindows_redraw_exposed_window): ditto.
1368         (mswindows_output_display_block): ditto.
1369
1370         * gutter.c: new specifier type gutter-size.
1371         (gutter_size_validate): validate gutter-size specifier.
1372         (Fgutter_size_specifier_p): predicate for gutter-size.
1373         (Fredisplay_gutter_area): allow the gutter area to be redisplayed
1374         under user contol, like Fredisplay_echo_area.
1375         (syms_of_gutter): add new functions.
1376         (specifier_type_create_gutter): add new specifier.
1377         (specifier_vars_of_gutter): change specifier types of *-height to
1378         gutter-size.
1379
1380         * glyphs.c (glyph_width): make work with image instances.
1381
1382         * console.h (struct console_methods): change api of output_string.
1383
1384         * glyphs-x.c (x_map_subwindow): move before mapping as reported by
1385         Stephen J. Turnbull <turnbull@sk.tsukuba.ac.jp>
1386
1387 1999-08-30  Andy Piper  <andy@xemacs.org>
1388
1389         * glyphs-x.c (x_finalize_image_instance): X_MASK -> PIXMAP_MASK
1390         for assignment.
1391         (init_image_instance_from_x_image): ditto.
1392         (x_xpm_instantiate): ditto.
1393         (x_colorize_image_instance): ditto. Reported by Richard Cognot
1394         <cognot@ensg.u-nancy.fr>
1395
1396 1999-08-29  Andy Piper  <andy@xemacs.org>
1397
1398         * glyphs-x.c (x_widget_instantiate): move font initialisation so
1399         that it doesn't get saved in the user defined args.
1400         (x_tab_control_instantiate): Set the fg color of the tab's
1401         children.
1402         (x_tab_control_set_property): ditto.
1403
1404 1999-08-27  Damon Lipparelli  <lipp@primus.com>
1405
1406         * events.h (XTIMEOUT): must preface Lisp_Timeout with ``struct''
1407         (XSETTIMEOUT): fixup typo
1408
1409 1999-08-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
1410
1411         * syntax.c (scan_words): Unified Mule and Non-mule scanning.
1412         Word boundary search looks back instead of forward so that it
1413         doesn't peek over the limit.
1414
1415 1999-08-20  Olivier Galibert  <galibert@pobox.com>
1416
1417         * config.h.in: Add PDUMP define.
1418         * emacs.c (Fdump_emacs): Hackish, call pdump() if configured in.
1419
1420         * lrecord.h: Enhance description system.
1421         * alloc.c: Fix vector and string description.  Add portable
1422         dumper enumeration fonctions.
1423
1424         * symbols.c:  Fix symbols description.   Add  symbol_value_forward
1425         description.
1426         * eval.c: Add subr description.
1427         * elhash.c (CLEAR_HENTRY):   Clean  value pointer  too.   Fix hash
1428         table description.
1429         (remhash_1): CLEAR_HENTRY evaluates the parameter two times now.
1430
1431 1999-08-20  Olivier Galibert  <galibert@pobox.com>
1432
1433         * opaque.c: Kill opaque lists, make  Lisp_Opaque_Ptr a lrecord of
1434         its own.
1435         * opaque.h: Ditto.
1436
1437         * eval.c (eval_in_buffer_trapping_errors):
1438         (run_hook_trapping_errors):
1439         (safe_run_hook_trapping_errors):
1440         (call0_trapping_errors):
1441         (call1_trapping_errors):
1442         (call2_trapping_errors): OPAQUEP  -> OPAQUE_PTRP.  make_opaque_ptr
1443         now takes a non-const void *.
1444
1445 1999-08-20  Olivier Galibert  <galibert@pobox.com>
1446
1447         * opaque.c: Remove make_opaque_long.
1448
1449         * opaque.h: Remove everything opaque_long related.
1450
1451         * eval.c (vars_of_eval): Make Qunbound_suspended_errors_tag an
1452         opaque_ptr.
1453
1454         * emacs.c (main_1): Remove make_opaque_long from comment.
1455
1456 1999-08-20  Olivier Galibert  <galibert@pobox.com>
1457
1458         * event-stream.c (mark_timeout):
1459         (print_timeout):
1460         (event_stream_generate_wakeup):
1461         (event_stream_resignal_wakeup):
1462         (event_stream_disable_wakeup):
1463         (event_stream_wakeup_pending_p):
1464         (vars_of_event_stream): Lisp_Timeout is now a lrecord.
1465
1466         * events.h (struct Lisp_Timeout): Added.
1467
1468 1999-08-24  Andy Piper  <andy@xemacs.org>
1469
1470         * console-x.h: declare new pixmap signatures.
1471
1472 1999-08-23  Andy Piper  <andy@xemacs.org>
1473
1474         * glyphs-x.c (x_update_subwindow): make sure the widget size is
1475         maintained after an update.
1476
1477         * event-Xt.c (emacs_Xt_handle_magic_event): use
1478         find_matching_subwindow to check whether the exposure is totally
1479         inside a subwindow, if it is then ignore it.
1480
1481         * glyphs.c (find_matching_subwindow): new function.
1482
1483         * toolbar-x.c (x_draw_blank_toolbar_button): use new
1484         x_output_shadows signature.
1485         (x_output_toolbar_button): use new x_output_x_pixmap signature.
1486
1487         * redisplay.h (struct display_box): new structure.
1488         (struct display_glyph_area): ditto.
1489         declare new display_box functions.
1490
1491         * redisplay-x.c (x_output_pixmap): update for new display
1492         box stuff.
1493         (x_bevel_area): update to allow multiple edge styles and border
1494         segments.
1495         (x_output_display_block): update for new display_box stuff and
1496         signatures.
1497         (x_clear_region): ditto.
1498         (x_output_x_pixmap): ditto. adjust offsets rather than clip.
1499         (console_type_create_redisplay_x): declare new console methods.
1500         (x_output_vertical_divider): update for new bevel_area signature.
1501         (x_output_shadows): update to allow selective drawing of edges.
1502
1503         * redisplay-tty.c (tty_output_display_block): do nothing for
1504         layouts.
1505
1506         * redisplay-output.c (redisplay_output_subwindow): convert to use
1507         display_box structure, this allows us to put subwindows anywhere
1508         with any offset, useful for layout glyphs.
1509         (redisplay_output_layout): new function. output a layout and its
1510         sub-glyphs.
1511         (redisplay_output_pixmap): new modular function combining generic
1512         parts of the X and mswindows versions. convert to use display_box
1513         structures.
1514         (redisplay_clear_clipped_region): new function. clear the area a
1515         glyph is going into.
1516         (redisplay_normalize_glyph_area): new function. calculate the
1517         bounds of a display_glyph_area given a display_box.
1518         (redisplay_normalize_display_box): new function. shrink a
1519         display_box to enclose a display_glyph_area.
1520         (redisplay_display_boxes_in_window_p): check whether the input
1521         display_box and display_glyph_area are actually in a window.
1522         (redisplay_calculate_display_boxes): calculate display boxes based
1523         on conventional display_line metrics.
1524         (bevel_modeline): update for new bevel_area signature.
1525
1526         * redisplay-msw.c (mswindows_output_blank): update for new
1527         display_box stuff.
1528         (mswindows_output_string): ditto.
1529         (mswindows_output_dibitmap): ditto.
1530         (mswindows_output_dibitmap_region): ditto.
1531         (mswindows_output_pixmap): ditto.
1532         (mswindows_bevel_area): update to allow multiple edge styles and
1533         border segments.
1534         (mswindows_output_display_block): update for new display_box stuff
1535         and signatures.
1536         (mswindows_clear_region): ditto.
1537         (console_type_create_redisplay_mswindows): declare new console methods.
1538
1539         * lisp.h (edge_style): new enum.
1540         declare display_box and display_glyph_area.
1541
1542         * gutter.c (output_gutter): update for new bevel_area signature.
1543
1544         * glyphs.h (image_instance_type): add layout.
1545         (IMAGE_LAYOUT_MASK): ditto.
1546         (LAYOUT_IMAGE_INSTANCEP): new macro.
1547         (CHECK_LAYOUT_IMAGE_INSTANCE): ditto.
1548         (struct Lisp_Image_Instance): add offsets for layout and the
1549         layout type itself. move mask here also.
1550         (IMAGE_INSTANCE_LAYOUT_CHILDREN): new macro.
1551         (IMAGE_INSTANCE_LAYOUT_BORDER): ditto.
1552         (XIMAGE_INSTANCE_LAYOUT_CHILDREN): ditto.
1553         (XIMAGE_INSTANCE_LAYOUT_BORDER): ditto.
1554
1555         * glyphs.c (mark_image_instance): update for layouts.
1556         (print_image_instance): ditto.
1557         (image_instance_equal): ditto.
1558         (image_instance_hash): ditto.
1559         (allocate_image_instance): initialise offsets for layout.
1560         (decode_image_instance_type): update for layouts.
1561         (encode_image_instance_type): ditto.
1562         (Fimage_instance_height): ditto.
1563         (Fimage_instance_width): ditto.
1564         (allocate_glyph): ditto.
1565         (glyph_width): allow image instances as an argument. update for layouts.
1566         (glyph_height_internal): ditto.
1567         (syms_of_glyphs): add layout symbols.
1568
1569         * glyphs-x.h (struct x_image_instance_data): remove mask entry.
1570         (IMAGE_INSTANCE_X_MASK): update.
1571
1572         * glyphs-x.c (x_label_instantiate): new function. instantiate a
1573         label.
1574         (image_instantiator_format_create_glyphs_x): initialise new layout
1575         glyph type.
1576
1577         * glyphs-widget.c: new layout type.
1578         (check_valid_orientation): new keyword checker for layouts.
1579         (check_valid_justification): ditto.
1580         (check_valid_border): ditto.
1581         (check_valid_glyph_or_image_list): ditto.
1582         (layout_possible_dest_types): new function for layout glyph type.
1583         (layout_normalize): ditto.
1584         (layout_instantiate): ditto.
1585         (syms_of_glyphs_widget): new keywords for layout.
1586         (image_instantiator_format_create_glyphs_widget): initialise the
1587         layout glyph type.
1588
1589         * glyphs-msw.h (struct mswindows_image_instance_data): remove mask
1590         argument.
1591         (IMAGE_INSTANCE_MSWINDOWS_MASK): update.
1592
1593         * glyphs-msw.c: declare layout format.
1594         (image_instantiator_format_create_glyphs_mswindows): initialise it.
1595
1596         * general.c: new symbols for layouts.
1597
1598         * console.h (struct console_methods): new console methods for
1599         outputting pixmaps and strings.
1600
1601 1999-08-23  Didier Verna  <verna@inf.enst.fr>
1602
1603         * sound.c: revert the renaming of `bell_volume' to `Vbell_volume'
1604         and `bell_inhibit_time' to `Vbell_inhibit_time'.
1605
1606 1999-08-18  Andy Piper  <andy@xemacs.org>
1607
1608         * redisplay-output.c (redisplay_output_subwindow): disable
1609         clipping attempt.
1610
1611 1999-08-17  Andy Piper  <andy@xemacs.org>
1612
1613         * gutter.c (redraw_exposed_gutter): handle degenerate case of no
1614         area to expose or no gutter to display.
1615
1616 1999-08-16  Charles G Waldman  <cgw@fnal.gov>
1617
1618         * sound.c: rename `bell_volume' to `Vbell_volume' and
1619         `bell_inhibit_time' to `Vbell_inhibit_time'.
1620
1621 1999-08-13  Charles G Waldman  <cgw@fnal.gov>
1622
1623         * sound.c: (bell-inhibit-time): New variable.
1624         (ding): Use it.
1625         (sound-alist): Fix docstring.
1626
1627 1999-08-17  Andy Piper  <andy@xemacs.org>
1628
1629         * gui-x.c (button_item_to_widget_value): xstrdup name so that
1630         deleting it is ok.
1631
1632 1999-08-16 Jeff Miller <jmiller@smart.net>
1633
1634         * syntax.c (scan_words): make compile.
1635
1636 1999-08-16  Andy Piper  <andy@xemacs.org>
1637
1638         * redisplay-output.c (redisplay_output_subwindow): try and be more
1639         relaxed about clipping possibilities.
1640
1641         * glyphs-x.c (x_tab_control_set_property): free_widget_value_tree
1642         rather than just the widget_value.
1643         (x_update_subwindow): ditto.
1644         (x_widget_instantiate): ditto.
1645
1646         * gutter.c (output_gutter): shrink current display lines if
1647         required.
1648
1649 1999-08-15  Andy Piper  <andy@xemacs.org>
1650
1651         * redisplay.h: declare free_display_lines.
1652
1653         * redisplay.c (free_display_lines): make non-static.
1654
1655         * gutter.c (free_frame_gutters): use free_display_lines instead of
1656         Dynarr_free.
1657         (calculate_gutter_size): ditto.
1658
1659 1999-08-12  Jan Vroonhof  <vroonhof@math.ethz.ch>
1660
1661         * eval.c (run_hook_with_args_in_buffer): GCPRO globals.
1662
1663 1999-08-14  Andy Piper  <andy@xemacs.org>
1664
1665         * glyphs.c (update_subwindow_cachel): make it less brittle.
1666
1667 1999-08-04  Mike Woolley  <mike@bulsara.com>
1668
1669         * scrollbar-msw.c (mswindows_handle_mousewheel_event): Fixed
1670         problem in wheelmouse code occurring when the horizontal scrollbar
1671         is enabled but not visible.
1672
1673 1999-08-08  Andy Piper  <andyp@beasys.com>
1674
1675         * toolbar-msw.c (mswindows_redraw_frame_toolbars): new function.
1676         (console_type_create_toolbar_mswindows): use it.
1677
1678         * glyphs.c (Fset_image_instance_property): fiddly reorganisation.
1679
1680         * redisplay-output.c (redisplay_output_display_block): unmap
1681         subwindows in the block area before outputting the block.
1682
1683         * event-msw.c (mswindows_wnd_proc): check the update rect before
1684         painting and disable expose registration while painting.
1685
1686         * glyphs.c (register_ignored_expose): check
1687         hold_ignored_expose_registration before registering expose events.
1688
1689         * redisplay.c (redisplay_frame): reset the subwindow cache before
1690         displaying the gutter.
1691
1692         * glyphs-msw.c (mswindows_map_subwindow): move the window before
1693         mapping.
1694
1695         * gutter.c (update_frame_gutters): check for glyphs_changed as if
1696         it is the subwindow cache will have been reset.
1697
1698 1999-08-06  Andy Piper  <andyp@beasys.com>
1699
1700         * gui-x.c (button_item_to_widget_value): cope with strings.
1701
1702         * glyphs.h: declare global widget functions.
1703         (IIFORMAT_HAS_SHARED_DEVMETHOD): new macro.
1704
1705         * glyphs-x.c (x_combo_box_instantiate): do generic initialization
1706         here. remove dead code.
1707         (image_instantiator_format_create_glyphs_x): enable combo boxes
1708         for Motif 2.0.
1709
1710         * glyphs-widget.c (widget_instantiate_1): make non-static.
1711         (tree_view_instantiate): renamed from combo_box_instantiate.
1712         (image_instantiator_format_create_glyphs_widget): use new/changed methods.
1713
1714         * glyphs-msw.c (mswindows_combo_box_instantiate): do generic
1715         initialization here.
1716
1717         * lwlib-Xm.c (xm_update_combo_box): new function.
1718         (xm_update_one_widget): call it.
1719         (xm_update_one_value): deal with combo boxes as well as lists.
1720         (xm_create_combo_box): create a drop-down combo box.
1721
1722         * toolbar-msw.c (mswindows_output_toolbar): call
1723         mswindows_move_toolbar.
1724
1725 1999-08-05  Andy Piper  <andyp@beasys.com>
1726
1727         * window.c (Fcurrent_pixel_column): new function. use display
1728         lines to calculate pixel position of point.
1729         * window.c (syms_of_window): declare it.
1730
1731 1999-08-05  Andy Piper  <andy@xemacs.org>
1732
1733         * glyphs.c (check_for_ignored_expose): ignore exposures wholly
1734         contained in our ignore list.
1735
1736         * buffer.c (Frecord_buffer): add call to record-buffer-hook.
1737         (syms_of_buffer): declare record-buffer-hook.
1738
1739         * s/mingw32.h: define mousewheel things.
1740
1741 1999-08-04  Mike Woolley <mike@bulsara.com>
1742
1743         * windowsnt.h (_WIN32_WINNT): enable for win95
1744
1745         * s/cygwin32.h: define mousewheel things.
1746
1747         * scrollbar-msw.h: declare mousewheel handler.
1748
1749         * scrollbar-msw.c (mswindows_handle_mousewheel_event): new function.
1750
1751 1999-08-04  Andy Piper  <andy@xemacs.org>
1752
1753         * gui-x.c (gui_items_to_widget_values): remove unused variable.
1754         (gui_items_to_widget_values_1): ditto.
1755
1756         * gui-x.h: unconditionally define since it is used everywhere.
1757
1758 1999-08-04  Andy Piper  <andy@xemacs.org>
1759
1760         * glyphs-x.c (x_finalize_image_instance): only free pixels if we
1761         have that type of image.
1762
1763 1999-07-30  Andy Piper  <andy@xemacs.org>
1764
1765         * redisplay-output.c (redisplay_unmap_subwindows): add comparison
1766         subwindow to not unmap if required.
1767         (redisplay_unmap_subwindows_maybe): comparison is Qnil.
1768         (redisplay_unmap_subwindows_except_us): new function.
1769         (redisplay_output_subwindow): use it to unmap windows in the area
1770         we are displaying into.
1771
1772         * glyphs.c (update_subwindow_cachel_data): always update as we
1773         only ever get called when an update is required.
1774         (update_subwindow_cachel): new function. sync a subwindow with its
1775         cachel.
1776         (Fresize_subwindow): use it.
1777         (register_ignored_expose): make sure we set the tail correctly.
1778
1779 1999-07-28  Andy Piper  <andy@xemacs.org>
1780
1781         * redisplay-output.c (redisplay_clear_bottom_of_window): remove
1782         unneeded device.
1783
1784         * gutter.c (redraw_exposed_gutter): unmap subwindows from the
1785         whole gutter.
1786
1787         * gui.h: declare parse_gui_item_tree_list and
1788         parse_gui_item_tree_children.
1789
1790         * gui.c (parse_gui_item_tree_item): new function for parsing item
1791         lists into gui-item trees.
1792         (parse_gui_item_tree_children): ditto.
1793         (parse_gui_item_tree_list): ditto.
1794
1795         * gui-x.h: declare gui_items_to_widget_values.
1796
1797         * gui-x.c (gui_items_to_widget_values_1): new function for
1798         recursively parsing gui-items into widget_values.
1799         (gui_item_children_to_widget_values): ditto.
1800         (gui_items_to_widget_values): ditto.
1801         (sanity_check_lwlib): add widgets macrolets.
1802
1803         * glyphs.h (IMAGE_INSTANCE_WIDGET_ITEMS): rename from *ITEM.
1804         (XIMAGE_INSTANCE_WIDGET_ITEMS): ditto.
1805         (IMAGE_INSTANCE_WIDGET_ITEM): rename from *SINGLE_ITEM.
1806         (XIMAGE_INSTANCE_WIDGET_ITEM): ditto.
1807         (struct expose_ignore): new structure for storing ignorable expose
1808         events.
1809
1810         * glyphs.c (valid_image_instantiator_format_p): fix so that using
1811         a console-type as a locale works.
1812         (mark_image_instance): ITEM->ITEMS.
1813         (image_instance_equal): ditto.
1814         (image_instance_hash): ditto.
1815         (struct expose_ignore_blocktype): new blocktype.
1816         (check_for_ignored_expose): new function. checks frame exposure
1817         list for events to ignore.
1818         (register_ignored_expose): new function. registers an expose event
1819         as ignorable.
1820         (unmap_subwindow): register the expose event as ignorable.
1821         (vars_of_glyphs): initialise the exposure blocktype.
1822
1823         * glyphs-x.c (x_finalize_image_instance): use lw_destroy_widget.
1824         (x_update_subwindow): modify all widgets using widget_value tree
1825         rather than just a single widget value.
1826         (x_widget_instantiate): LWLIB_USES_MOTIF -> LWLIB_WIDGETS_MOTIF.
1827         make sure widgets don't resize themselves.
1828         (x_tab_control_instantiate): new function. use lwlib tab functions.
1829         (x_tab_control_set_property): new function.
1830         (image_instantiator_format_create_glyphs_x): add tab_control.
1831
1832         * glyphs-widget.c (widget_text_to_pixel_conversion): calculate
1833         slightly more sensibly.
1834         (initialize_widget_image_instance): ITEM->ITEMS.
1835         (widget_instantiate_1): parse gui items generically into the ITEMS
1836         entry.
1837
1838         * glyphs-msw.c (mswindows_update_subwindow): replace
1839         SINGLE_ITEM->ITEM.
1840         (mswindows_register_widget_instance): ditto.
1841         (add_tree_item): modify to use new pre-initialised gui-item
1842         structure.
1843         (add_tab_item): ditto.
1844         (mswindows_tab_control_instantiate): ditto.
1845         (mswindows_tab_control_set_property): ditto.
1846         (image_instantiator_format_create_glyphs_mswindows): predicate
1847         existance of widgets on HAVE_WIDGETS.
1848
1849         * frame.h (struct frame): add subwindow_exposures variables.
1850
1851         * frame.c (allocate_frame_core): reset subwindow_exposures links.
1852
1853         * event-msw.c (mswindows_wnd_proc): check for ignored
1854         expose events before redrawing.
1855
1856         * event-Xt.c (emacs_Xt_handle_magic_event): check for ignored
1857         expose events before redrawing.
1858
1859 1999-07-30  SL Baur  <steve@xemacs.org>
1860
1861         * scrollbar-x.c: should include EmacsFrame.h.
1862         From Jeff Miller <jmiller@smart.net>
1863
1864 1999-07-30  XEmacs Build Bot <builds@cvs.xemacs.org>
1865
1866         * XEmacs 21.2.19 is released
1867
1868 1999-07-27  Jeff Miller  <jmiller@smart.net>
1869
1870         * add a "#ifdef HAVE_MENUBARS"  wrapper to gui.c around
1871           menubar_show_keybindings.
1872
1873 1999-07-23  SL Baur  <steve@miho>
1874
1875         * mule-charset.c (syms_of_mule_charset): Delete duplicated
1876         definition of Qccl_program.
1877
1878         * mule-ccl.h: Make a global declaration of it here.
1879
1880 1999-07-20  Bob Weiner  <weiner@beopen.com>
1881
1882         * s/sco7.h: Added from rr@sco.com.
1883
1884 1999-06-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
1885
1886         * mule-ccl.c (ccl_driver): Fix `CCL_WriteMultibyteChar2'.
1887
1888 1999-06-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
1889
1890         * file-coding.c (mule_decode): Setup `str->ccl.last_block'.
1891         (mule_encode): Likewise.
1892
1893         * mule-ccl.c (Qccl_program): New variable.
1894         (CCL_SUSPEND): New macro.
1895         (CCL_INVALID_CMD): New macro.
1896         (CCL_READ_CHAR): Don't regard as invalid command while processing
1897         the last block even if input is empty; use
1898         `CCL_STAT_SUSPEND_BY_SRC' instead of `CCL_STAT_SUSPEND'.
1899         (vars_of_mule_ccl): Setup `Qccl_program' and `Qccl_program_idx'.
1900
1901         * mule-ccl.h (CCL_STAT_SUCCESS): Moved from mule-ccl.c.
1902         (CCL_STAT_SUSPEND_BY_SRC): Imported from Emacs 20.3.10.
1903         (CCL_STAT_SUSPEND_BY_DST): Likewise.
1904         (CCL_STAT_INVALID_CMD): Moved from mule-ccl.c; change value from 2.
1905         (CCL_STAT_QUIT): Moved from mule-ccl.c; change value from 3.
1906
1907 1999-05-04  Ken'ichi Handa  <handa@gnu.org>
1908
1909         * mule-ccl.h (struct ccl_program): New member stack_idx.
1910
1911         * mule-ccl.c (ccl_prog_stack_struct): Declare it as static.
1912         (ccl_driver): Setup stack_idx and ccl_prog correctly.  Update them
1913         before returing.
1914         (setup_ccl_program): Initialize ccl->stack_idx to 0.
1915
1916 1998-10-12  Kenichi Handa  <handa@etl.go.jp>
1917
1918         * mule-ccl.c (CCL_DECODE_SJIS, CCL_ENCODE_SJIS): Swap the
1919         definitions.
1920
1921 1998-08-18  Kenichi Handa  <handa@etl.go.jp>
1922
1923         * mule-ccl.c (CCL_READ_CHAR): If eof is encounterd while
1924         processing the last block, don't just finish but processes eol
1925         block of the current CCL program.
1926         (ccl_driver): Add a new jump label ccl_repeat for the above
1927         change.
1928
1929 1998-04-15  Kenichi Handa  <handa@etl.go.jp>
1930
1931         * mule-ccl.c: Typo in comments fixed.
1932         (Qccl_program_idx): New variables.
1933         (CCL_ReadMultibyteChar2): Macro name changed from
1934         CCL_ReadMultibyteCharacter.
1935         (CCL_WriteMultibyteChar2): Macro name changed from
1936         CCL_WriteMultibyteChar2.
1937         (ccl_driver): Adjusted for the above changes.
1938         (resolve_symbol_ccl_program): New function.
1939         (Fccl_execute): The arg CCL-PROGRAM can be a symbol of CCL
1940         program.  If CCL-PRGRAM is a vector, convert symbols in it to ID
1941         numbers by resolve_symbol_ccl_program.
1942         (Fccl_execute_on_string): Likewise.
1943         (Fregister_ccl_program): If the arg CCL-PRGRAM is a vector,
1944         convert symbols in it to ID numbers by resolve_symbol_ccl_program.
1945
1946 1998-01-21  Kenichi Handa  <handa@etl.go.jp>
1947
1948         * mule-ccl.h: (struct ccl_program): New member private_state.
1949
1950         * mule-ccl.c
1951         (CCL_Call): Fix the comment.
1952         (CCL_ReadMultibyteCharacter, CCL_WriteMultibyteCharacter): New
1953         macros for CCL Commands.
1954         (EXCMD): New macro.
1955         (ccl_driver): New case lable `CCL_Extention'.
1956         (setup_ccl_program): Initialize the member `private_state' of CCL.
1957
1958 1999-07-08  Katsumi Yamaoka <yamaoka@jpl.org>
1959
1960         * keymap.c (copy_keymap_internal): Inherit the default binding.
1961
1962 1999-07-14  Kazuyuki IENAGA <kazz@imasy.or.jp>
1963
1964         * event-Xt.c (handle_focus_event_1): Re-enable Motif/XIM to get
1965         focus the event (XIM_focus_event).
1966         (emacs_Xt_handle_magic_event): No side effect on Motif/XIM because
1967         XIM_SetGeometry does nothing in input_method_motif.c, but re-unify
1968         the interface for future use (XIM_SetGeometry).
1969         * redisplay-x.c (x_output_string): Re-enable Motif/XIM to set spot
1970         location (XIM_SetSpotLocation).
1971         (x_output_eol_cursor): Ditto.
1972
1973 1999-07-17  Gunnar Evermann  <ge204@eng.cam.ac.uk>
1974
1975         * gdbinit (pobj): change lrecord_foo to &lrecord_foo to match
1976         Olivier's change to lrecord.h of 1999-04-22
1977
1978 1999-07-20  Robert Pluim  <rpluim@bigfoot.com>
1979
1980         * gutter.c (redraw_exposed_gutter): Change type of pos from
1981         enum toolbar_pos -> enum gutter_pos, since former is only defined
1982         if toolbar support is.
1983
1984 1999-07-19  Andy Piper  <andy@xemacs.org>
1985
1986         * glyphs-x.c (x_resize_subwindow): cope with widgets as well as
1987         subwindows.
1988
1989         * gutter.c (gutter_validate): new function for the gutter specifier.
1990         (specifier_type_create_gutter): declare specifier validator.
1991
1992         * buffer.h (INC_CHARBYTIND): add for no error checking version.
1993
1994 1999-07-18  Andy Piper  <andy@xemacs.org>
1995
1996         * redisplay.c (add_emchar_rune): use XSTRING_DATA not string_data.
1997
1998         * glyphs-msw.c (console_type_create_glyphs_mswindows): add
1999         resize_subwindow.
2000         (mswindows_resize_subwindow): new function.
2001
2002         * gutter.c (redraw_exposed_gutter): only reset the
2003         current_display_lines if non-zero.
2004         (Fgutter_pixel_height): new function.
2005         (Fgutter_pixel_width): new function.
2006
2007         * event-msw.c (mswindows_wnd_proc): set the mask of the parameter
2008         we want to retrive from the tab control.
2009
2010 1999-07-17  Andy Piper  <andy@xemacs.org>
2011
2012         * window.c (change_window_height): mark gutters changed when we're
2013         done.
2014
2015         * gutter.c (specifier_vars_of_gutter): make defaults more
2016         sensible.
2017
2018         * gutter.h (WINDOW_REAL_GUTTER_BORDER_WIDTH): adjust to be 0 for 0
2019         height gutter.
2020         (DEFAULT_GUTTER_WIDTH): change.
2021         (DEFAULT_GUTTER_BORDER_WIDTH): change.
2022
2023 1999-07-18  Andy Piper  <andy@xemacs.org>
2024
2025         * redisplay.c (add_emchar_rune): use XSTRING_DATA not string_data.
2026
2027 1999-07-16  Andy Piper  <andy@xemacs.org>
2028
2029         * frame.c (Fmake_frame): call init_frame_gutters().
2030
2031         * redisplay.c (add_emchar_rune): use string functions if we are
2032         working with a string.
2033         (position_redisplay_data_type): add string element.
2034
2035 1999-07-15  Andy Piper  <andy@xemacs.org>
2036
2037         * winslots.h: add real_gutter_size slots to hold the actual gutter
2038         size. This is important for autodetected sizes.
2039
2040         * gutter.c (calculate_gutter_size): calculate size for gutters
2041         that have 'autodetect size.
2042
2043         * redisplay-msw.c (mswindows_output_vertical_divider): adjust
2044         extent of divider for gutters.
2045
2046         * redisplay-x.c (x_output_vertical_divider): adjust extent of
2047         divider for gutters.
2048
2049         * scrollbar.c (update_scrollbar_instance): adjust scrollbar
2050         position to take into account the gutters.
2051
2052         * redisplay.c (generate_modeline): adjust modeline position to
2053         take into account the gutters.
2054
2055 1999-07-14  Andy Piper  <andy@xemacs.org>
2056
2057         * gutter.c (frame_topmost_window): new function.
2058         (frame_bottommost_window): ditto.
2059         (frame_leftmost_window): ditto.
2060         (frame_rightmost_window): ditto.
2061
2062 1999-07-13  Andy Piper  <andy@xemacs.org>
2063
2064         * redisplay.c (calculate_display_line_boundaries): use text
2065         boundaries so that gutters get handled properly.
2066
2067 1999-07-12  Andy Piper  <andy@xemacs.org>
2068
2069         * glyphs-x.c (x_widget_instantiate): set the font Motif-style if
2070         we're using Motif.
2071
2072         * redisplay-output.c (redisplay_clear_to_window_end): generalised
2073         from redisplay-x.c
2074
2075         * redisplay-x.c (redisplay_clear_to_window_end): moved to
2076         redisplay.c
2077
2078         * redisplay-msw.c (redisplay_clear_to_window_end): deleted.
2079
2080         * gutter.c: new file - implements gutters. All new functions are
2081         semantically equivalent to the toolbar functions.
2082         (gutter_was_visible): new function.
2083         (get_gutter_coords): ditto.
2084         (output_gutter): ditto.
2085         (clear_gutter): ditto.
2086         (update_frame_gutters): ditto.
2087         (redraw_exposed_gutter): ditto.
2088         (redraw_exposed_gutters): ditto.
2089         (free_frame_gutters): ditto.
2090         (init_frame_gutters): ditto.
2091         (decode_gutter_position): ditto.
2092         (Fset_default_gutter_position): ditto.
2093         (Fset_default_gutter_position): ditto.
2094         (Fdefault_gutter_position): ditto.
2095         (gutter_after_change): ditto.
2096         (Fgutter_specifier_p): ditto.
2097         (recompute_overlaying_specifier): ditto.
2098         (gutter_specs_changed): ditto.
2099         (default_gutter_specs_changed): ditto.
2100         (gutter_geometry_changed_in_window): ditto.
2101         (default_gutter_size_changed_in_window): ditto.
2102         (default_gutter_border_width_changed_in_window): ditto.
2103         (default_gutter_visible_p_changed_in_window): ditto.
2104         (syms_of_gutter): ditto.
2105         (vars_of_gutter): ditto.
2106         (specifier_type_create_gutter): ditto.
2107         (specifier_vars_of_gutter): ditto.
2108
2109         * gutter.h: new file. Contains gutter constants and sizing macros
2110         similar to those for the toolbar.
2111
2112         * winslots.h: add gutter variables.
2113
2114         * window.h: declare window_is_* functions.
2115
2116         * window.c (window_is_lowest): make non-static.
2117         (window_is_highest): ditto.
2118         (window_top_toolbar_height): deleted.
2119         (window_bottom_toolbar_height): deleted.
2120         (window_left_toolbar_width): deleted.
2121         (window_right_toolbar_width): deleted.
2122         (window_top_gutter_height): add gutter sizing.
2123         (window_bottom_gutter_height): ditto.
2124         (window_left_gutter_width): ditto.
2125         (window_right_gutter_width): ditto.
2126
2127         * symsinit.h: declarations for gutters vars etc.
2128
2129         * search.c (bi_find_next_emchar_in_string): new function.
2130
2131         * scrollbar.c (update_scrollbar_instance): remove reference to
2132         window_bottom_toolbar_height which did nothing.
2133
2134         * redisplay.h (struct display_line): add face indices for
2135         overriding defaults in output_display_line.
2136         Add gutter_changed flags and declarations.
2137
2138         * redisplay.c (create_string_text_block): new function, similar to
2139         create_text_block but for strings. Display tables etc are used
2140         from the currently selected window.
2141         (generate_string_display_line): ditto. Similar to
2142         generate_display_line.
2143         (generate_displayable_area): generate display lines for a given
2144         area on a frame. Input is the string, with associated extents, to
2145         display.
2146         (redisplay_frame): add gutter_changed check.
2147         (redisplay_device): ditto.
2148         (redisplay_without_hooks): ditto.
2149
2150         * redisplay-x.c (bevel_modeline): moved to redisplay.c.
2151         (x_redraw_exposed_area): redraw exposed gutters.
2152         (x_bevel_area): new redisplay device method.
2153         (x_type_create_redisplay_mswindows): add bevel_area device method.
2154         (x_output_display_block): fiddly Martin-style cleanup.
2155         (x_output_vertical_divider): use bevel_area.
2156
2157         * redisplay-output.c (output_display_line): check display_lines
2158         for face information before using defaults.
2159         (bevel_modeline): new function, calls bevel_area with appropriate
2160         values.
2161
2162         * redisplay-msw.c (bevel_modeline): moved to redisplay.c.
2163         (mswindows_redraw_exposed_area): redraw exposed gutters.
2164         (mswindows_bevel_area): new redisplay device method.
2165         (console_type_create_redisplay_mswindows): add bevel_area device
2166         method.
2167
2168         * indent.c (string_column_at_point): add column_at_point but for
2169         strings.
2170
2171         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
2172         instantiate widgets that we have a toolkit for.
2173
2174         * general.c: add Qgutter.
2175
2176         * frame.h (struct frame): add display lines for gutters and
2177         visibility flags.
2178
2179         * frame.c (set_frame_selected_window): mark gutters changed.
2180
2181         * emacs.c (main_1): add gutter initialisation.
2182
2183         * device.h (struct device): add gutter_changed flag and macros to
2184         manipulate it.
2185
2186         * console.h (struct console_methods): new bevel area redisplay
2187         method.
2188
2189         * buffer.h (REAL_INC_CHARBYTIND): new macro for strings as
2190         REAL_INC_BYTIND is for buffers.
2191         (INC_CHARPTR): ditto.
2192
2193         * Makefile.in.in (objs): add gutter.o
2194
2195 1999-07-13  XEmacs Build Bot <builds@cvs.xemacs.org>
2196
2197         * XEmacs 21.2.18 is released
2198
2199 1999-07-08  SL Baur  <steve@mule.m17n.org>
2200
2201         * event-Xt.c (handle_focus_event_1): Guard FRAME_X_XIC with
2202         XIM_XLIB.
2203         (emacs_Xt_handle_magic_event): Ditto.
2204         * redisplay-x.c (x_output_string): Ditto.
2205         (x_output_eol_cursor): Ditto.
2206
2207 1999-06-30  Kazuyuki IENAGA <kazz@imasy.or.jp>
2208
2209         *  event-Xt.c, input-method-xlib.c, redisplay-x.c: Avoid the
2210         problem that when XIM is destroyed or missed with some reason,
2211         xemacs will die.  Now xim=xlib waits the XIM will be ready and
2212         endures the case of XIM end up.
2213
2214 1999-07-03  Gunnar Evermann  <ge204@eng.cam.ac.uk>
2215
2216         * tooltalk.c (init_tooltalk): save signal actions for SIGQUIT,
2217         SIGINT and SIGCHLD before calling tt_open and restore the
2218         afterwards. This fixes e.g. the zombie subprocesses on Solaris
2219
2220 1999-07-06  SL Baur  <steve@xemacs.org>
2221
2222         * s/linux.h: gcc-2.8 changes for powerpc
2223         From Justin Vallon <vallon@mindspring.com>
2224
2225 1999-07-05  Didier Verna  <verna@inf.enst.fr>
2226
2227         * indent.c: new symbol Qcoerce.
2228         (Fmove_to_column): use it + doc string update.
2229
2230 1999-07-04  Andy Piper  <andy@xemacs.org>
2231
2232         * console.c: undo earlier Fprovide changes.
2233         * fns.c: ditto.
2234         * console.h: ditto.
2235
2236         * console-tty.c (image_instantiator_format_create_glyphs_tty): new
2237         function. validate appropriate image formats for tty.
2238
2239         * glyphs.h (INITIALIZE_IMAGE_INSTANTIATOR_FORMAT_NO_SYM):
2240         initialize consoles parameter.
2241         (struct image_instantiator_methods): add consoles parameter.
2242         (IIFORMAT_VALID_CONSOLE): new function. validate the format on the
2243         console.
2244         (INITIALIZE_DEVICE_IIFORMAT): validate the format on the given
2245         console.
2246
2247         * glyphs-msw.c: declare instantiators for later use.
2248         (image_instantiator_format_create_glyphs_mswindows): validate xpm
2249         and friends on the mswindows console.
2250         * glyphs-x.c: ditto.
2251
2252         * glyphs.c (valid_image_instantiator_format_p): disallow glyphs
2253         that have not been registered on the supplied device.
2254         (Fvalid_image_instantiator_format_p): add locale argument.
2255         (instantiate_image_instantiator): valid image instantiator on the
2256         device.
2257
2258         * symsinit.h: add image_instantiator_format_create_glyphs_tty()
2259         declaration.
2260
2261         * emacs.c (main_1): add call to
2262         image_instantiator_format_create_glyphs_tty().
2263
2264 1999-06-29  Olivier Galibert  <galibert@pobox.com>
2265
2266         * lisp.h: Add #include <stddef.h>.
2267
2268         * sysdep.c: Remove #include <stddef.h>.
2269         * symbols.c: Remove #include <stddef.h>.
2270         * sheap.c: Remove #include <stddef.h>.
2271         * opaque.c: Remove #include <stddef.h>.
2272         * nt.c: Remove #include <stddef.h>.
2273         * mule-charset.c: Remove #include <stddef.h>.
2274         * marker.c: Remove #include <stddef.h>.
2275         * file-coding.c: Remove #include <stddef.h>.
2276         * extents.c: Remove #include <stddef.h>.
2277         * elhash.c: Remove #include <stddef.h>.
2278         * data.c: Remove #include <stddef.h>.
2279         * chartab.c: Remove #include <stddef.h>.
2280         * bytecode.c: Remove #include <stddef.h>.
2281         * alloc.c: Remove #include <stddef.h>.  Fix vector description
2282
2283 1999-06-30  SL Baur  <steve@miho.m17n.org>
2284
2285         * editfns.c: Document "%s" format spec.
2286         Suggested by Bob Weiner <weiner@altrasoft.com>
2287
2288 1999-06-29  Andy Piper  <andy@xemacs.org>
2289
2290         * event-msw.c: fix definition booboo.
2291
2292 1999-06-28  Andy Piper  <andy@xemacs.org>
2293
2294         * glyphs-x.c: change tree -> tree-view, progress ->
2295         progress_gauge, edit -> edit-field, tab -> tab-control, combo ->
2296         combo-box.
2297         (complex_vars_of_glyphs_x): provide-on-console the implemented
2298         widget types.
2299
2300         * glyphs-msw.c: ditto.
2301         (complex_vars_of_glyphs_mswindows): ditto.
2302
2303         * lisp.h: add Fprovide_on_console.
2304
2305         * fns.c (Ffeaturep): add extra optional console argument.
2306         (Fprovide_on_console): like Fprovide but provides only on the
2307         specified console-type.
2308         (Frequire): check console-features as well as global features.
2309
2310         * console.c (Fconsole_features): new function. return features for
2311         this console.
2312         (syms_of_console): add Fconsole_features.
2313
2314         * console.h (CONMETH_FEATURES): new function for accessing features.
2315         (CONSOLE_FEATURES): ditto.
2316         (struct console_methods): add features slot.
2317         (INITIALIZE_CONSOLE_TYPE): initialize features slot.
2318
2319 1999-06-28  Andy Piper  <andy@xemacs.org>
2320
2321         * event-Xt.c (handle_focus_event_1): conditionally compile for
2322         X11R5.
2323
2324         * s/cygwin32.h: fix me website address.
2325
2326         * event-msw.c: add NMHDR for pre b20 cygwin builds.
2327
2328         * gui-x.c (button_item_to_widget_value): only add callback if it
2329         is non-nil.
2330
2331         * glyphs-x.c: add progress, edit and combo instantiators.
2332         (x_widget_set_property): new function. uses lwlib to set widget
2333         values.
2334         (x_widget_property): new function. uses lwlib to get widget
2335         values.
2336         (x_button_instantiate): support images in buttons.
2337         (x_button_property): new function. use lwlib to get the selected
2338         state.
2339         (x_progress_instantiate): new function for instantiating progress
2340         gauges.
2341         (x_progress_set_property): new function. sets the progress gauge
2342         position.
2343         (x_edit_instantiate): new function. for instantiating edit fields.
2344         (x_combo_instantiate): new function. for instantiating combo
2345         boxes.
2346         (image_instantiator_format_create_glyphs_x): add new device ii
2347         formats.
2348
2349         * glyphs-msw.c (mswindows_tab_instantiate): remove redundant var.
2350
2351         * console.h (CONSOLE_FEATURES): new features accesor.
2352
2353         * conslots.h (MARKED_SLOT): add features entry.
2354
2355 1999-06-25  Andy Piper  <andy@xemacs.org>
2356
2357         * menubar-x.c (menu_item_descriptor_to_widget_value_1): use new
2358         gui functions.
2359
2360         * menubar-msw.c: move MAX_MENUITEM_LENGTH to gui.h
2361
2362         * gui.h (struct Lisp_Gui_Item): add accelerator.
2363
2364         * gui.c (gui_item_add_keyval_pair): deal with accelerators.
2365         (gui_item_init): ditto.
2366         (gui_add_item_keywords_to_plist): ditto.
2367         (mark_gui_item): ditto.
2368         (gui_item_hash): ditto.
2369         (gui_item_accelerator): new function.
2370         (gui_name_accelerator): new function stolen from gui-x.c
2371
2372         * gui-x.c (popup_selection_callback): always define. mark
2373         subwindows changed after calling a callback.
2374         (menu_name_to_accelerator): deleted.
2375         (button_item_to_widget_value): forward gui_item things to gui_item
2376         functions.
2377
2378         * glyphs-x.h (struct x_subwindow_data): add data for widgets. add
2379         appropriate accesors.
2380
2381         * glyphs-x.c: declare new glyph formats.
2382         (x_finalize_image_instance): unmanage and destroy widgets if they
2383         exist.
2384         (x_unmap_subwindow): handle widgets specially.
2385         (x_map_subwindow): ditto. offset display of widgets by offset of
2386         text widget within container.
2387         (x_update_subwindow): new function. call lw_modify_all_widgets
2388         when we are a widget.
2389         (x_widget_instantiate): new function for generically creating
2390         widgets-glyphs. toolkit specifics forwarded to lwlib.
2391         (x_button_instantiate): new function for instantiating
2392         widgets-glyph buttons.
2393         (console_type_create_glyphs_x): register update_subwindow.
2394         (image_instantiator_format_create_glyphs_x): register widget and
2395         button types.
2396
2397         * event-msw.c (mswindows_wnd_proc): remove redundant variable.
2398
2399         * event-Xt.c (x_event_to_emacs_event): call handle_focus_event_1
2400         when we get a button press in case we do not have the focus.
2401         (handle_focus_event_1): set the keyboard focus to the text widget
2402         if we do not have it.
2403
2404         * dialog-x.c (dbox_descriptor_to_widget_value): use new gui_item
2405         functions.
2406
2407 1999-06-24  SL Baur  <steve@miho.m17n.org>
2408
2409         * syntax.c (scan_words): Restore non-Mule code.
2410         (word_constituent_p): Restore.
2411
2412 1999-06-23  Olivier Galibert  <galibert@pobox.com>
2413
2414         * config.h.in: Add missing #undef *_USER_DEFINED.
2415
2416 1999-06-23  SL Baur  <steve@miho.m17n.org>
2417
2418         * lisp.h (set_bit_vector_bit): Force promotion to unsigned long
2419         int (fixes a 64-bit problem).
2420
2421         * chartab.c (word_boundary_p): Use EQ not == for lisp_object
2422         comparison.
2423
2424 1999-03-23  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
2425
2426         * paths.h.in (PATH_DOC): Made doc-directory configurable.
2427
2428 1999-06-22  Olivier Galibert  <galibert@pobox.com>
2429
2430         * lrecord.h: Added basic external description system.
2431
2432         * symbols.c: Added symbol, symbol-value-buffer-local,
2433         symbol-value-lisp-magic and symbol-value-varalias description.
2434         * mule-charset.c: Added charset description.
2435         * marker.c: Added marker description.
2436         * keymap.c: Added keymap description.
2437         * glyphs.c: Added glyph description.
2438         * floatfns.c: Added float description.
2439         * file-coding.c: Added coding-system description.
2440         * extents.c: Added extent description.
2441         * elhash.c: Added hash-table description.
2442         * data.c: Added weak-list desciption.
2443         * chartab.c: Added char-table-entry and char-table description.
2444         * bytecode.c: Added compiled-function description.
2445         * alloc.c: Added cons, vector and string description.
2446
2447 1999-06-22  Olivier Galibert  <galibert@pobox.com>
2448
2449         * lrecord.h (struct lrecord_header): Reduced size to 4 bytes.
2450         Updated everything to the removal of the "flags" substructure.
2451
2452         * lisp.h (subr_lheader_initializer): Updated.
2453         * symeval.h (symbol_value_forward_lheader_initializer): Updated.
2454
2455 1999-06-20  MORIOKA Tomohiko  <tomo@etl.go.jp>
2456
2457         * syntax.c (word_constituent_p): Deleted.
2458         (scan_words): Use `WORD_BOUNDARY_P'.
2459
2460         * chartab.c (Vword_combining_categories): New variable.
2461         (Vword_separating_categories): Likewise.
2462         (CATEGORYP): New macro.
2463         (CATEGORY_SET): Likewise.
2464         (CATEGORY_MEMBER): Likewise.
2465         (word_boundary_p): New function.
2466         (complex_vars_of_chartab): Set up new variable
2467         `word-combining-categories' and `word-separating-categories'.
2468
2469 1999-06-18  Olivier Galibert  <galibert@pobox.com>
2470
2471         * lrecord.h: Added description as a placehold in the lrecord
2472         implementation structures.  Added the parameter to all constructor
2473         defines.
2474
2475         * alloc.c: Added placeholders.
2476         * buffer.c: Ditto.
2477         * bytecode.c: Ditto.
2478         * chartab.c: Ditto.
2479         * console.c: Ditto.
2480         * data.c: Ditto.
2481         * database.c: Ditto.
2482         * device.c: Ditto.
2483         * eldap.c: Ditto.
2484         * elhash.c: Ditto.
2485         * eval.c: Ditto.
2486         * event-stream.c: Ditto.
2487         * events.c: Ditto.
2488         * extents.c: Ditto.
2489         * faces.c: Ditto.
2490         * file-coding.c: Ditto.
2491         * floatfns.c: Ditto.
2492         * fns.c: Ditto.
2493         * frame.c: Ditto.
2494         * glyphs.c: Ditto.
2495         * gui-x.c: Ditto.
2496         * keymap.c: Ditto.
2497         * lstream.c: Ditto.
2498         * marker.c: Ditto.
2499         * mule-charset.c: Ditto.
2500         * objects.c: Ditto.
2501         * opaque.c: Ditto.
2502         * process.c: Ditto.
2503         * rangetab.c: Ditto.
2504         * specifier.c: Ditto.
2505         * symbols.c: Ditto.
2506         * toolbar.c: Ditto.
2507         * tooltalk.c: Ditto.
2508         * window.c: Ditto.
2509
2510 1999-06-22  XEmacs Build Bot <builds@cvs.xemacs.org>
2511
2512         * XEmacs 21.2.17 is released
2513
2514 1999-06-13  Oscar Figueiredo  <oscar@xemacs.org>
2515
2516         * config.h.in (HAVE_LDAP_SET_OPTION): New define
2517         (HAVE_LDAP_GET_LDERRNO): Ditto
2518         (HAVE_LDAP_RESULT2ERROR): Ditto
2519         (HAVE_LDAP_PARSE_RESULT): Ditto
2520         (HAVE_UMICH_LDAP): Removed
2521         (HAVE_NS_LDAP): Removed
2522
2523         * eldap.h (struct Lisp_LDAP): Removed the `livep' member as
2524         suggested by Olivier Galibert
2525         (CHECK_LIVE_LDAP): Test on `ld' instead of `livep'
2526
2527         * eldap.c: Take the removal of `livep' into account in all the
2528         necessary functions
2529         (signal_ldap_error): Take two additional parameters
2530         Added new finer compilation conditions in order to use
2531         ldap_parse_result or ldap_result2error if available
2532         (Fldap_open): Conform to this new API
2533         (Fldap_search_internal): Ditto
2534
2535 1999-06-17  SL Baur  <steve@miho.m17n.org>
2536
2537         * data.c (struct int_or_double): Should use EMACS_INT not int.
2538
2539 1999-06-16  Norbert Koch  <n.koch@eai-delta.de>
2540
2541         * redisplay-msw.c: Run 'ccl_driver' with 'CCL_MODE_ENCODING' as in
2542         redisplay-x.c
2543
2544 1999-06-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2545
2546         * redisplay-x.c (separate_textual_runs): Run `ccl_driver' with
2547         `CCL_MODE_ENCODING'.
2548
2549         * file-coding.c (mule_decode): Run `ccl_driver' with
2550         `CCL_MODE_DECODING'.
2551         (mule_encode): Run `ccl_driver' with `CCL_MODE_ENCODING'.
2552
2553         * mule-ccl.c (CCL_WRITE_CHAR): Refer `conversion_mode'.
2554         (ccl_driver): Add new argument `conversion_mode'.
2555         (Fccl_execute): Run `ccl_driver' with `CCL_MODE_ENCODING'.
2556         (Fccl_execute_on_string): Likewise [perhaps it is better to add
2557         new optional argument].
2558
2559         * mule-ccl.h (CCL_MODE_ENCODING): New macro.
2560         (CCL_MODE_DECODING): New macro.
2561         (ccl_driver): Add new argument `conversion_mode'.
2562
2563 1999-06-15  SL Baur  <steve@miho.m17n.org>
2564
2565         * mule-charset.c (Fsplit_char): New subr.
2566         (Fchar_octet): delete.
2567         (syms_of_mule_charset): DEFSUBR it.
2568
2569 1999-06-13  Andy Piper  <andy@xemacs.org>
2570
2571         * menubar.h: update declarations involving gui_items.
2572
2573         * lisp.h: declare Lisp_Gui_Item.
2574
2575         * glyphs.h (struct Lisp_Image_Instance): update type of gui_item.
2576
2577         * glyphs.c (mark_image_instance): modify for new lisp-based gui_items.
2578         (print_image_instance): ditto.
2579         (image_instance_equal): ditto.
2580         (image_instance_hash): ditto.
2581
2582         * event-msw.c (mswindows_need_event): assert badly_p status.
2583         (mswindows_wnd_proc): modify WM_NOTIFY handling to cope with
2584         callbacks in tree-view and tab-control widgets.
2585         (emacs_mswindows_next_event): modify use of
2586         mswindows_dequeue_dispatch_event.
2587
2588         * dialog-msw.c (mswindows_popup_dialog_box): modify for new
2589         lisp-based gui_items.
2590
2591         * glyphs-msw.c (mswindows_update_subwindow): update use of
2592         gui_items.
2593         (mswindows_register_gui_item): new function.
2594         (mswindows_register_gui_item): fix to use lisp gui_items.
2595         (mswindows_widget_instantiate): ditto.
2596         (mswindows_button_instantiate): ditto.
2597         (add_tree_item): new function to recursively add tree view
2598         elements.
2599         (add_tree_item_list): ditto.
2600         (mswindows_tree_instantiate): new function. instantiate tree view
2601         controls.
2602         (add_tab_item): new function to add tabs to a tab control.
2603         (mswindows_tab_instantiate): new function. instantiate tab
2604         controls.
2605         (image_instantiator_format_create_glyphs_mswindows): add tree view
2606         and tab controls.
2607         (vars_of_glyphs_mswindows): ditto.
2608
2609         * glyphs-widget.c (check_valid_item_list_1): allow nested lists in
2610         item lists.
2611         (check_valid_item_list): ditto.
2612         (initialize_widget_image_instance): fix to use new lisp gui_item.
2613         (widget_instantiate_1): allow the setting of default textwidth in
2614         characters.
2615         (widget_instantiate): change to use new widget_instantiate_1
2616         signature.
2617         (combo_instantiate): ditto.
2618         (static_instantiate): ditto.
2619         (tab_instantiate): new function for tab widgets.
2620         (image_instantiator_format_create_glyphs_widget): add tab and tree
2621         view widgets.
2622
2623         * menubar-msw.c (displayable_menu_item): convert to use lisp
2624         gui_items.
2625         (populate_menu_add_item): ditto.
2626         (populate_or_checksum_helper): ditto.
2627
2628         * menubar.c (menu_parse_submenu_keywords): convert to use lisp
2629         gui_items.
2630         (Fmenu_find_real_submenu): ditto.
2631
2632         * gui.h (struct Lisp_Gui_Item): make gui_item a lisp oebjct.
2633
2634         * gui.c (gui_item_add_keyval_pair): gui_items are now lisp
2635         objects, convert functions that use them accordingly.
2636         (gui_item_init): ditto.
2637         (gui_item_active_p): ditto.
2638         (gui_item_selected_p): ditto.
2639         (gui_item_included_p): ditto.
2640         (gui_item_display_flush_left): ditto.
2641         (gui_item_display_flush_right): ditto.
2642         (mark_gui_item): ditto.
2643         (allocate_gui_item): new function to create a gui_item.
2644         (make_gui_item_from_keywords_internal): ditto. create and return a
2645         gui_item as well as setting keywords.
2646         (gui_parse_item_keywords): ditto.
2647         (gui_parse_item_keywords_no_errors): ditto.
2648         (gui_add_item_keywords_to_plist): new function, not yet used.
2649         (gui_item_hash): new function.
2650         (gui_item_id_hash): use gui_item_hash.
2651         (gui_item_equal): new function.
2652         (print_gui_item): new function.
2653
2654 1999-06-11  XEmacs Build Bot <builds@cvs.xemacs.org>
2655
2656         * XEmacs 21.2.16 is released
2657
2658 1999-06-10  Andy Piper  <andy@xemacs.org>
2659
2660         * select-msw.c (mswindows_own_selection): only set the clipboard
2661         if asked.
2662         (mswindows_get_foreign_selection): only get the clipboard if
2663         asked.
2664         (mswindows_disown_selection): only disown the clipboard if asked.
2665
2666 1999-06-03  MORIOKA Tomohiko  <tomo@etl.go.jp>
2667
2668         * file-coding.c (coding_system_from_mask): Use `raw-text' instead
2669         of `no-conversion'.
2670         (complex_vars_of_mule_coding): Use `raw-text' as the coding-system
2671         of coding-category `no-conversion'.
2672
2673 1999-06-03  MORIOKA Tomohiko  <tomo@etl.go.jp>
2674
2675         * file-coding.c (Qraw_text): New variable.
2676         (syms_of_mule_coding): Add new symbol `raw-text'.
2677         (complex_vars_of_mule_coding): Add new coding-system `raw-text';
2678         define coding-system `binary' independently; define coding-system
2679         `no-conversion' as an alias for `raw-text'.
2680
2681         * file-coding.h (Qraw_text): New variable.
2682
2683 1999-06-08  SL Baur  <steve@xemacs.org>
2684
2685         * s/decosf4-0.h: Explicitly #undef SYSTEM_MALLOC.
2686
2687 1999-06-06  Hrvoje Niksic  <hniksic@srce.hr>
2688
2689         * fns.c (MIME_LINE_LENGTH): Default to 72, as in mimencode and
2690         base64.el.
2691         (base64_decode_1): Signal errors instead of returning -1.
2692
2693 1999-06-07  Hrvoje Niksic  <hniksic@srce.hr>
2694
2695         * mule-charset.c (Fmake_char): Update docstring.
2696
2697 1999-06-07  Hrvoje Niksic  <hniksic@srce.hr>
2698
2699         * fns.c (Fstring_lessp): Actually increment the Bufbyte pointers.
2700
2701 1999-06-05  Hrvoje Niksic  <hniksic@srce.hr>
2702
2703         * fns.c (base64_decode_1): Allow and ignore any non-base64
2704         characters in input.
2705
2706 1999-05-27  Olivier Galibert  <galibert@pobox.com>
2707
2708         * emacs.c (Fdump_emacs): Add clear_message() lost with the removal
2709         of report_pure_usage().
2710
2711 1999-06-04  Hrvoje Niksic  <hniksic@srce.hr>
2712
2713         * fns.c (Fstring_lessp): Remove O(n^2) under Mule.
2714
2715 1999-06-04  XEmacs Build Bot <builds@cvs.xemacs.org>
2716
2717         * XEmacs 21.2.15 is released
2718
2719 1999-06-01  Hirokazu FUKUI  <fukui@atesoft.advantest.co.jp>
2720
2721         * frame.c (Fset_mouse_position):
2722         (Fset_mouse_pixel_position):
2723         * window.c (Fsplit_window):
2724         (Fmove_to_window_line):
2725         Fix crash when invoking functions with an already-deleted window
2726         argument.
2727
2728         * indent.c (vertical_motion_1):
2729         (vmotion_pixels):
2730         (Fvertical_motion_pixels):
2731         * window.c (Fwindow_displayed_text_pixel_height):
2732         Fix error message when invoking functions with an already-deleted
2733         window argument.
2734
2735 1999-06-01  Jan Vroonhof  <vroonhof@math.ethz.ch>
2736
2737         * sysdep.c (request_sigio_on_device): Guard against glibc
2738         2.1's stub streams implementation.
2739
2740 1999-06-03  SL Baur  <steve@xemacs.org>
2741
2742         * config.h.in:
2743         * emacs.c:  Implement x.y.z version numbers
2744         From Jan Vroonhof <vroonhof@math.ethz.ch>
2745
2746 1999-05-20  MORIOKA Tomohiko  <tomo@etl.go.jp>
2747
2748         * mule-charset.c (complex_vars_of_mule_charset): Registry of
2749         japanese-jisx0208-1978 should not match with "jisx0208.1983" nor
2750         "jisc6226.1983".
2751
2752 1999-06-03  SL Baur  <steve@xemacs.org>
2753
2754         * frame-x.c:
2755         * device-x.c: rename session option to wmcommand.
2756         From Oliver Graf <ograf@rhein-zeitung.de>
2757
2758 1999-05-27  Hrvoje Niksic  <hniksic@srce.hr>
2759
2760         * fns.c (Fsubstring): Don't traverse the same region twice with
2761         charcount_to_bytecount().
2762
2763 1999-06-03  SL Baur  <steve@steve1.m17n.org>
2764
2765         * m/alpha.h (SYSTEM_MALLOC): Fix indented preprocessor directive
2766         garbage.
2767
2768         * s/decosf4-0.h: Defining ORDINARY_LINK here is redundant (and it
2769         doesn't really work as is implied by the commentary).
2770         Don't define SYSTEM_MALLOC so the old GNU malloc can be used.
2771
2772 1999-06-02  SL Baur  <steve@steve1.m17n.org>
2773
2774         * symsinit.h: Declare vars_of_ntproc.
2775         * emacs.c (main_1): Call it.
2776
2777         * ntproc.c (syms_of_ntproc): Move variable initializations from
2778         here ...
2779         (vars_of_ntproc): ... to here [new function].
2780
2781         * file-coding.c (syms_of_file_coding): Rename.
2782         (vars_of_file_coding): Ditto.
2783         (complex_vars_of_file_coding): Ditto.
2784
2785         * symsinit.h: Rename *_mule_coding to *_file_coding.
2786
2787         * emacs.c (main_1): Call them by the proper name.
2788
2789         * device-msw.c (syms_of_device_mswindows): Move variable
2790         initializations from here ...
2791         (vars_of_device_mswindows): ... to here.
2792
2793         * chartab.c (vars_of_chartab): New function.
2794
2795         * symsinit.h: New function, vars_of_chartab.
2796
2797         * emacs.c (main_1): Call it.
2798
2799         * mule-canna.c (syms_of_mule_canna): Move CANNA initialization ...
2800         (vars_of_mule_canna): ... to here.
2801
2802         * mule-ccl.c (vars_of_mule_ccl): New function.  Move variable
2803         initializations out of syms_of_mule_ccl.
2804
2805         * symsinit.h: Declare new function vars_of_mule_ccl.
2806
2807         * emacs.c (main_1): Call it.
2808
2809 1999-05-27  Hrvoje Niksic  <hniksic@srce.hr>
2810
2811         * fns.c (base64_decode_1): Ignore whitespace.
2812
2813 1999-05-27  Hrvoje Niksic  <hniksic@srce.hr>
2814
2815         * mule-charset.c (Fmake_char): Strip the eighth bit off ARG1 and
2816         ARG2.
2817
2818 1999-05-21  Andy Piper  <andy@xemacs.org>
2819
2820         * xselect.c: deleted.
2821
2822         * symsinit.h: declare select initialisation.
2823
2824         * select.h: new file. declare commonly used select functions and
2825         variables.
2826
2827         * select.c: new file. generalised from xselect.c.
2828         (clean_local_selection_data): moved from xselect.c.
2829         (get_local_selection): ditto. device specific pieces called via a
2830         devmeth.
2831         (handle_selection_clear): ditto.
2832         (Fown_selection_internal): renamed and generalised from
2833         Fx_own_selection_internal. moved from xselect.c.
2834         (Fdisown_selection_internal): ditto.
2835         (Fselection_owner_p): ditto.
2836         (Fselection_exists_p): ditto.
2837         (Fget_selection_internal): ditto.
2838         (syms_of_select): new function. QXXXX values moved from xselect.c
2839         (vars_of_select): new function. selection_converter_alist,
2840         lost_selection_hooks moved and renamed from xselect.c
2841
2842         * select-x.c: renamed from xselect.c.
2843         (x_own_selection): converted to device specific. non-X-specific
2844         bits moved to select.c.
2845         (x_get_foreign_selection): ditto.
2846         (x_disown_selection): ditto.
2847         (x_selection_exists_p): ditto.
2848         (console_type_create_select_x): new function.
2849
2850         * select-msw.c (mswindows_own_selection): new device method to set
2851         the clipboard when we 'own' the selection.
2852         (mswindows_get_foreign_selection): new device method to get the
2853         clipboard.
2854         (mswindows_disown_selection): new device method to delete the
2855         selection when we 'disown' it.
2856         (console_type_create_select_mswindows): new function.
2857
2858         * emacs.c (main_1): add select to things to initialise.
2859
2860         * console.h (struct console_methods): new console methods for
2861         selection.
2862
2863         * Makefile.in.in (x_objs): xselect.c renamed to select-x.c
2864
2865 1999-05-20  Hrvoje Niksic  <hniksic@srce.hr>
2866
2867         * print.c (long_to_string): Install a faster version.
2868
2869 1999-05-16  Andy Piper  <andy@xemacs.org>
2870
2871         * ntproc.c (syms_of_ntproc): default
2872         win32-start-process-share-console to t.
2873
2874 1999-05-14  Hrvoje Niksic  <hniksic@srce.hr>
2875
2876         * config.h.in: Do it here.
2877
2878         * bytecode.c: Don't define ERROR_CHECK_TYPECHECK here.
2879
2880 1999-05-14  Andy Piper  <andy@xemacs.org>
2881
2882         * toolbar-msw.c (mswindows_output_toolbar): hash on something
2883         hashable.
2884
2885 1999-05-14  XEmacs Build Bot <builds@cvs.xemacs.org>
2886
2887         * XEmacs 21.2.14 is released
2888
2889 1999-05-12  Andy Piper  <andy@xemacs.org>
2890
2891         * ntproc.c (sys_spawnve): kludge argv[0] in a MS compatible way.
2892
2893 1999-05-11  Gunnar Evermann  <ge204@eng.cam.ac.uk>
2894
2895         * emacs.c (Frun_emacs_from_temacs): (re)alloc natgs+2 entries for
2896         run_temacs_argv array -- fixes random memory corruption crash
2897
2898 1999-05-12  Jan Vroonhof  <vroonhof@math.ethz.ch>
2899
2900         * window.c (Fcurrent_window_configuration):
2901         Save minibuffer height;
2902
2903         * window.c (set_window_configuration): use it.
2904
2905 1999-05-10  Robert Pluim  <rpluim@bigfoot.com>
2906
2907         * lisp.h (NNUNGCPRO): fix typo in name of DEBUG_GCPRO version
2908
2909 1999-04-21  Jan Vroonhof  <vroonhof@math.ethz.ch>
2910
2911         * redisplay.c (redisplay_window): Do not put data
2912         in the line start cache if it is not guaranteed to be correct
2913
2914 1999-04-02  Jan Vroonhof  <vroonhof@math.ethz.ch>
2915
2916         * window.c (struct window_config): Removed frame
2917         size members.
2918         (window_config_equal): No longer compare frame sizes.
2919         (Fset_window_configuration): Resize old top window to fit in the
2920         current frame directly, no longer use a fake frame resize.
2921         (Fcurrent_window_configuration): No longer save frame size
2922
2923 1999-05-11  Andy Piper  <andy@xemacs.org>
2924
2925         * ntproc.c (sys_spawnve): actually assign argv[0] instead of the
2926         first character.
2927
2928 1999-05-10  Hrvoje Niksic  <hniksic@srce.hr>
2929
2930         * sysdep.c (init_system_name): If gethostname gives a proper
2931         domain name, don't look further for one.
2932
2933 1999-05-09  Hrvoje Niksic  <hniksic@srce.hr>
2934
2935         * symbols.c (Fintern): Avoid frequent XSYMBOL (foo).
2936         (Fintern_soft): Accept a symbol argument.
2937
2938 1999-05-06  Hrvoje Niksic  <hniksic@srce.hr>
2939
2940         * symbols.c (Fintern): ...do it here.
2941
2942         * lread.c (read_atom): Don't handle keywords here.
2943
2944 1999-05-06  Hrvoje Niksic  <hniksic@srce.hr>
2945
2946         * symbols.c (reject_constant_symbols): Just use SYMBOL_IS_KEYWORD.
2947
2948 1999-05-03  Olivier Galibert  <galibert@pobox.com>
2949
2950         * lisp.h (SYMBOL_IS_KEYWORD): A symbol can be a keyword only if it
2951         is interned in the main obarray.
2952
2953 1999-04-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
2954
2955         * menubar-x.c (pre_activate_callback): set accelerator field in
2956         "No menu" entries to nil. Avoid crash in
2957         command_builder_operate_menu_accelerator
2958
2959 1999-05-03  Olivier Galibert  <galibert@pobox.com>
2960
2961         * symeval.h (symbol_value_forward_lheader_initializer): Ditto.
2962
2963         * lisp.h (DEFUN): Fix lrecord header initialisation.
2964
2965 1999-05-02  Andy Piper  <andy@xemacs.org>
2966
2967         * objects-msw.c (mswindows_font_instance_truename): add a ';'.
2968
2969         * ntproc.c (sys_kill): cast using MS mandated defines.
2970
2971 1999-04-29  Andy Piper  <andy@xemacs.org>
2972
2973         * m/intel386.h: remove redundant definitions.
2974
2975         * s/mingw32.h: new header for mingw32.
2976
2977         * unexnt.c: (open_input_file): function moved to nt.c.
2978         (close_file_data): ditto.
2979         (rva_to_section): function moved to ntproc.
2980
2981         * symsinit.h: declare syms_of_ntproc();
2982
2983         * objects-msw.c (mswindows_font_instance_truename): new function.
2984
2985         * ntproc.c: remove many warnings.
2986         (_sys_read_ahead): moved from nt.c and made static.
2987         (rva_to_section): moved from unexnt.c but not defined under
2988         mingw32.
2989         (win32_executable_type): implement what we can for mingw32
2990         headers.
2991         (sys_spawnve): fix bad MULE/GCPRO bug in filename handling.
2992
2993         * ntheap.h: remove declarations of functions that are now static.
2994
2995         * ntheap.c: support static heap.
2996
2997         * nt.h: conditionalise X_OK definition.
2998
2999         * nt.c: eliminate many warnings and support mingw32.
3000         (open_input_file): function moved from unexnt.c and made static
3001         (close_file_data): ditto.
3002         (_sys_read_ahead): moved to ntproc.c
3003
3004         * emacs.c: make sure syms_of_ntptroc gets called under windows.
3005
3006         * console-msw.h: support mingw32.
3007         * getloadavg.c: ditto.
3008         * ntplay.c: ditto.
3009         * sysdep.c: ditto.
3010         * sysdir.h: ditto.
3011         * systime.h: ditto.
3012         * systty.h: ditto.
3013
3014         * config.h.in: dont turn on DEBUG_ENCAPSULATION by default because
3015         some systems don't have all of the encapsulated system calls.
3016
3017         * callproc.c: warning elimination.
3018         * dired-msw.c: ditto.
3019         * process-nt.c: ditto.
3020         * realpath.c: ditto.
3021
3022         * Makefile.in.in: tweak : and ; for building under mswindows.
3023
3024 1999-04-26  Michael Harnois  <mharnois@willinet.net>
3025
3026         * eldap.c (allocate_ldap): Adapt to the new semantics of
3027         alloc_lcrecord_type().
3028
3029 1999-03-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
3030
3031         * file-coding.c (DECODE_HANDLE_END_OF_CONVERSION): fixed.
3032
3033 1998-09-04  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
3034
3035         * Delete mule-coding.c and mule-coding.h because they are not
3036         used.
3037
3038 1999-04-22  Gunnar Evermann  <ge204@eng.cam.ac.uk>
3039
3040         * objects.c (print_font_instance): Check for NILP(f->device),
3041         i.e. Vthe_null_font_instance.
3042         (font_instance_truename_internal): ditto.
3043         (Ffont_instance_properties): ditto.
3044
3045 1999-04-22  Olivier Galibert  <galibert@pobox.com>
3046
3047         * lrecord.h (DECLARE_LRECORD): lrecord_implementation isn't an
3048         array anymore.
3049
3050 1999-04-22  Hrvoje Niksic  <hniksic@srce.hr>
3051
3052         * Makefile.in.in (tests): Don't mention tests explicitly -- makes
3053         it easier to add new ones.
3054
3055 1999-04-22  Hrvoje Niksic  <hniksic@srce.hr>
3056
3057         * symbols.c (reject_constant_symbols): Ditto.
3058         (init_symbols_once_early): Ditto.
3059
3060         * print.c (print_symbol): Don't use ->obarray.
3061
3062         * symbols.c (Funintern): Ditto.
3063
3064         * alloc.c (Fmake_symbol): Don't set ->obarray.
3065
3066         * lisp.h (struct Lisp_Symbol): Removed .obarray field.
3067
3068         * symbols.c (init_symbols_once_early): Removed
3069         Vpure_uninterned_symbol_table.
3070         (Fintern): Don't store to ->obarray field.
3071
3072 1999-04-22  Hrvoje Niksic  <hniksic@srce.hr>
3073
3074         * data.c (vars_of_data): Default debug_issue_ebola_notices to 0.
3075         (eq_with_ebola_notice): Remove abracadabra support.
3076
3077 1999-04-11  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
3078
3079         * eldap.c (Fldap_search_internal): Add a new parameter `withdn' to
3080         retrieve the distinguished names of entries
3081
3082 1999-03-08  Martin Buchholz  <martin@xemacs.org>
3083
3084         * lread.c (read_escape): Make hex escapes read only two hex digits.
3085
3086 1999-04-05  Olivier Galibert  <galibert@pobox.com>
3087
3088         * Makefile.in.in: Remove puresize-adjust.h and recursive makes.
3089         * make-src-depend: Remove puresize-adjust.h.
3090         * src-headers: Remove puresize-adjust.h.
3091         * config.h.in: Kill everything purespace/gung-ho related.
3092
3093         * dbxrc: Make gung-ho mandatory.
3094         * gdbinit: Ditto.
3095
3096         * lrecord.h: Make gung-ho mandatory.  Remove pure flag and add
3097         c_readonly and lisp_readonly.  Remove implementation arrays.
3098         (C_READONLY_RECORD_HEADER_P): Added.
3099         (LISP_READONLY_RECORD_HEADER_P): Added.
3100         (SET_C_READONLY_RECORD_HEADER): Added.
3101         (SET_LISP_READONLY_RECORD_HEADER): Added.
3102
3103         * lisp.h: Kill everything purespace/non gung-ho related.
3104         (CHECK_C_WRITEABLE): Added.
3105         (CHECK_LISP_WRITEABLE): Added.
3106         (C_READONLY): Added.
3107         (LISP_READONLY): Added.
3108
3109         * lisp-union.h: Make gung-ho mandatory.
3110         * lisp-disunion.h: Ditto.
3111
3112         * alloc.c: Kill everything purespace/non  gung-ho related. Fix all
3113         set_lheader_implementation calls.
3114         (c_readonly): Added.
3115         (lisp_readonly): Added.
3116         (make_string_nocopy): Added.
3117         (Fpurecopy):  Changed to do  nothing.   Kept the old documentation
3118         for reference purposes for the next patches.
3119         (sweep_lcrecords_1): Don't free C readonly lcrecords.
3120         (sweep_bit_vectors_1): Don't free C readonly bitvectors.
3121         (SWEEP_FIXED_TYPE_BLOCK): Don't free C readonly lrecords.
3122
3123         * fns.c: Make gung-ho mandatory.
3124         (Fput): CHECK_IMPURE -> CHECK_LISP_WRITEABLE.
3125         (Fremprop): Ditto.
3126         (Ffillarray): Ditto.
3127
3128         * data.c: Make gung-ho mandatory.
3129         (pure_write_error): Removed.
3130         (c_write_error): Added.
3131         (lisp_write_error): Added.
3132         (Fsetcar): CHECK_IMPURE -> CHECK_LISP_WRITEABLE.
3133         (Fsetcdr): Ditto.
3134         (Faset): Ditto.
3135
3136         * symbols.c: Make gung-ho mandatory.  make_pure_pname ->
3137                   make_string or make_string_nocopy.  Fix various
3138                   alloc_lcrecord_type.
3139
3140         * lread.c: Remove everything purespace related.
3141         (Flocate_file_clear_hashing): purified -> c_readonly.
3142         (locate_file): Ditto.
3143         (read_atom): make_pure_pname -> make_string.
3144
3145         * emacs.c (Frun_emacs_from_temacs): Remove purespace stats
3146                   reporting.
3147         (Fdump_emacs): Ditto.
3148
3149         * print.c (print_internal): Make gung-ho mandatory.
3150         * ntheap.c (sbrk): Ditto.
3151         * mem-limits.h (EXCEEDS_LISP_PTR): Ditto
3152         * symeval.h (symbol_value_forward_lheader_initializer): Ditto.
3153
3154         * sheap.c (more_static_core): Remove puresize-adjust.h from
3155                   message.
3156
3157         * syntax.c (complex_vars_of_syntax): make_pure_string ->
3158                   make_string_nocopy.
3159         * keymap.c (make_keymap): Fix alloc_lcrecord_type.
3160         (vars_of_keymap): make_pure_string -> make_string_nocopy.
3161         * events.c (deinitialize_event): Fix set_lheader_implementation.
3162         (zero_event): Ditto.
3163         * specifier.c (make_specifier_internal): Fix alloc_lcrecord.
3164         * menubar-x.c (set_frame_menubar): Fix alloc_lcrecord_type.
3165         * mule-charset.c (make_charset): Ditto.
3166         * console.c (allocate_console): Ditto.
3167         (complex_vars_of_console): Ditto.
3168         * file-coding.c (allocate_coding_system): Ditto.
3169         * device.c (allocate_device): Ditto
3170         * gui-x.c (gcpro_popup_callbacks): Ditto.
3171         * extents.c (allocate_extent_auxiliary): Ditto.
3172         (allocate_extent_info): Ditto.
3173         (copy_extent): Ditto.
3174         * glyphs.c (allocate_image_instance): Ditto.
3175         (allocate_glyph): Ditto.
3176         * frame.c (allocate_frame_core): Ditto.
3177         * database.c (allocate_database): Ditto.
3178         * tooltalk.c (make_tooltalk_message): Ditto.
3179         (make_tooltalk_pattern): Ditto.
3180         * rangetab.c (Fmake_range_table): Ditto.
3181         (Fcopy_range_table): Ditto.
3182         * process.c (make_process_internal): Ditto.
3183         * chartab.c (Fmake_char_table): Ditto.
3184         (make_char_table_entry): Ditto.
3185         (copy_char_table_entry): Ditto.
3186         (Fcopy_char_table): Ditto.
3187         * elhash.c (make_general_lisp_hash_table): Ditto.
3188         (Fcopy_hash_table): Ditto.
3189         * buffer.c (allocate_buffer): Ditto.
3190         (complex_vars_of_buffer): Ditto.
3191         * event-stream.c (allocate_command_builder): Ditto.
3192         * objects.c (Fmake_color_instance): Ditto.
3193         (Fmake_font_instance): Ditto.
3194         (vars_of_objects): Ditto.
3195         * toolbar.c (update_toolbar_button): Ditto.
3196         * window.c (allocate_window): Ditto.
3197         (make_dummy_parent): Ditto.
3198         (Fcurrent_window_configuration): Fix alloc_lcrecord.
3199         (vars_of_window): Fix make_lcrecord_list.
3200         * faces.c (allocate_face): Fix alloc_lcrecord_type. pure_list ->
3201                   Flist.
3202         * lstream.c (Lstream_new): Fix make_lcrecord_list.
3203         * opaque.c (make_opaque): Fix alloc_lrecord.
3204         (make_opaque_list): Fix alloc_lrecord_type.
3205
3206 1999-04-19  Hrvoje Niksic  <hniksic@srce.hr>
3207
3208         * process.c (Fstart_process_internal): Ditto.
3209
3210         * ntproc.c (sys_spawnve): Use Vlisp_EXEC_SUFFIXES when calling
3211         locate_file().
3212
3213         * glyphs-x.c (x_locate_pixmap_file): Ditto.
3214
3215         * glyphs-msw.c (mswindows_locate_pixmap_file): Fix call to
3216         locate_file().
3217
3218         * emodules.c (vars_of_module): New variable Vmodule_extensions.
3219         (emodules_load): Use it when calling locate_file().
3220
3221         * emacs.c (main_1): Use Vlisp_EXEC_SUFFIXES when calling
3222         locate_file().
3223
3224         * callproc.c: Vlisp_EXEC_SUFFIXES: New variable.
3225         (vars_of_callproc): Initialize it.
3226         (Fcall_process_internal): Use it when calling locate_file().
3227
3228         * alloc.c (disksave_object_finalization): Use
3229         Flocate_file_clear_hashing().
3230
3231         * lread.c (Flocate_file_clear_hashing): Clear all hasing when
3232         given `t' as argument.
3233
3234 1999-04-18  Hrvoje Niksic  <hniksic@srce.hr>
3235
3236         * lread.c (locate_file): Expand `pathel' when appropriate.
3237         (Flocate_file_clear_hashing): Expand path elements.
3238         (Flocate_file_clear_hashing): Use Vlocate_file_hash_table.
3239
3240         * dired.c (make_directory_hash_table): Create the hash-table only
3241         if the directory open is successful.
3242
3243         * lread.c (decode_mode_1): New function.
3244         (decode_mode): Ditto.
3245         (Flocate_file): Use them.
3246         (Flocate_file): Expand FILENAME.
3247         (locate_file_map_suffixes): New function.
3248         (locate_file_in_directory_mapper): New function.
3249         (locate_file_in_directory): Use locate_file_in_directory_mapper()
3250         and locate_file_map_suffixes().
3251         (locate_file_construct_suffixed_files): Use
3252         locate_file_map_suffixes().
3253         (locate_file_without_hash): Don't GCPRO path.
3254         (Flocate_file_clear_hashing): Use EXTERNAL_LIST_LOOP.
3255         (syms_of_lread): Remove Qlocate_file_hash_table.
3256         (locate_file_find_directory_hash_table): Use
3257         Vlocate_file_hash_table.
3258         (locate_file_refresh_hashing): Ditto.
3259
3260         * lread.c: Renamed read_objects to Vread_objects.
3261
3262 1999-04-16  Olivier Galibert  <galibert@pobox.com>
3263
3264         * mule-charset.c: Generally resync with fsf 20.3 charset
3265         interface.
3266         (make_charset): Add long and short name.  Use id instead of
3267         leading byte.
3268         (Fmake_charset): Ditto.
3269         (Fmake_reverse_direction_charset): Ditto.
3270         (Fcharset_property): Ditto.
3271         (Fcharset_short_name): Added.
3272         (Fcharset_long_name): Added.
3273         (Fcharset_description): Renamed from charset-doc-string.
3274         (syms_of_mule_charset): Synced symbols.
3275         (complex_vars_of_mule_charset): Synced charsets.
3276
3277         * mule-charset.h: Removed leading byte (uses id instead), added
3278         short and long name.
3279
3280 1999-04-15  Hrvoje Niksic  <hniksic@srce.hr>
3281
3282         * file-coding.c (Fdefine_coding_system_alias): New function.
3283
3284 1999-04-08  Olivier Galibert  <galibert@pobox.com>
3285
3286         * mule-charset.c (complex_vars_of_mule_charset): Allow all iso8859
3287         and -ascii fonts for displaying ascii instead of iso8859-1 only.
3288
3289 1998-12-14  Hrvoje Niksic  <hniksic@srce.hr>
3290
3291         * extents.c (set_extent_glyph_1): Make sure that the glyph we
3292         attach to the extent is valid.
3293
3294 1998-12-12  Hrvoje Niksic  <hniksic@srce.hr>
3295
3296         * dired.c (user_name_completion): Mule-ize.
3297         (user_name_completion): Use xmalloc/xrealloc/xfree.
3298         (user_name_completion): Use DO_REALLOC.
3299         (user_name_completion): Cut down the number of static variables;
3300         use a structure.
3301         (user_name_completion): Username completion is always
3302         case-sensitive.
3303
3304 1998-12-06  Hrvoje Niksic  <hniksic@srce.hr>
3305
3306         * fns.c (base64_decode_1): Remove COUNTER.
3307         (base64_decode_1): Accept CRLF in addition to CR.
3308         (base64_decode_1): Disallow a stray character after final EOF; the
3309         check was probably a remnant of buggy recode code.
3310
3311 1998-12-05  Hrvoje Niksic  <hniksic@srce.hr>
3312
3313         * fns.c (init_provide_once): Provide `base64'.
3314
3315 1998-12-04  Hrvoje Niksic  <hniksic@srce.hr>
3316
3317         * fns.c (XMALLOC_UNBIND): Include SPECCOUNT argument, for clarity.
3318         (Fbase64_encode_region): If buffer is read-only, bail out early.
3319         (Fbase64_decode_region): Ditto.
3320         (Fbase64_encode_region): Initialize SPECCOUNT to pacify the
3321         compiler.
3322         (Fbase64_encode_string): Ditto.
3323         (Fbase64_decode_region): Ditto.
3324         (Fbase64_decode_string): Ditto.
3325
3326 1998-11-25  Hrvoje Niksic  <hniksic@srce.hr>
3327
3328         * dired.c (Fdirectory_files): Remove redundant code.
3329
3330 1999-03-05  Philip Aston  <philipa@parallax.co.uk>
3331
3332         * frame-msw.c Make raise-frame restore minimised windows.
3333
3334 1999-03-05  Philip Aston  <philipa@parallax.co.uk>
3335
3336         * device-msw.c: Fix DEFVAR format - Death to phantom quote, and
3337         add magic newline.
3338
3339 1999-03-05  Philip Aston  <philipa@parallax.co.uk>
3340
3341         * toolbar-msw.c Consider captions when deciding whether to rebuild
3342         toolbar. This fixes the initial toolbar display for those of us
3343         who don't like captions. These patches applied by Andy Piper.
3344
3345 1999-03-12  XEmacs Build Bot <builds@cvs.xemacs.org>
3346
3347         * XEmacs 21.2.13 is released
3348
3349 1999-03-12  SL Baur  <steve@xemacs.org>
3350
3351         * file-coding.c: Guard ucs table initialization with ifdef MULE.
3352
3353 1999-03-10  Stephen J. Turnbull  <turnbull@sk.tsukuba.ac.jp>
3354
3355         * file-coding.c:  docstring and comment improvements.
3356         (decode_ucs4)  flag possible data loss with comment.
3357
3358 1999-03-10  Martin Buchholz  <martin@xemacs.org>
3359
3360         * file-coding.c (Fset_ucs_char): add CHECK_INT, CHECK_CHAR
3361         (ucs_to_char):
3362         (Fucs_char):
3363         (Fset_char_ucs):
3364         (decode_coding_ucs4):
3365         (encode_coding_ucs4):
3366         (detect_coding_utf8):
3367         (decode_coding_utf8):
3368         (encode_utf8):
3369         (encode_coding_utf8):
3370         Add CHECK_* macros where needed to avoid crashes.
3371         #ifdef out all composite character support using
3372         #ifdef ENABLE_COMPOSITE_CHARS
3373         Use normal XEmacs coding standards.
3374         Fix docstrings.
3375         Remove CODING_STREAM_COMPOSE, CODING_STREAM_DECOMPOSE.
3376
3377 1998-09-08  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
3378
3379         * file-coding.c (make-coding-system): Add description about
3380         `ucs-4' and `utf-8'.
3381         (detection_state): Modify to implement ucs-4 and utf-8.
3382         (detect_coding_type): Likewise.
3383         (detect_coding_ucs4): New implementation.
3384         (detect_coding_utf8): New implementation.
3385         (encode_utf8): fixed.
3386         (syms_of_mule_coding): Rename `ucs4' and `utf8' to `ucs-4' and
3387         `utf-8'.
3388
3389 1998-09-08  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
3390
3391         * file-coding.c (mule_char_to_ucs4): Encode 94x94 chars in ISO
3392         2022 registry to private area.
3393
3394 1998-09-07  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
3395
3396         * file-coding.c (encode_utf8): New function.
3397         (encode_coding_utf8): New implementation.
3398
3399 1998-09-07  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
3400
3401         * file-coding.c (ucs_to_mule_table): New variable; abolish
3402         `Vucs_to_mule_table'
3403         (mule_to_ucs_table): renamed from `Vmule_to_ucs_table'.
3404         (set-ucs-char): New function.
3405         (ucs_to_char): New function.
3406         (ucs-char): New function.
3407         (set-char-ucs): New function.
3408         (char-ucs): New function.
3409         (decode_ucs4): Use `ucs_to_char'.
3410         (complex_vars_of_mule_coding): Abolish `ucs-to-mule-table' and
3411         `mule-to-ucs-table'.
3412
3413 1998-09-06  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
3414
3415         * chartab.h: EXFUN `Fget_char_table'.
3416
3417         * file-coding.c (encode_ucs4): New function.
3418         (encode_coding_ucs4): Use `encode_ucs4'.
3419
3420 1998-09-06  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
3421
3422         * file-coding.c (decode_coding_ucs4): New implementation.
3423
3424 1998-09-06  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
3425
3426         * file-coding.c (decode_coding_ucs4): fixed.
3427
3428         * file-coding.c (Vmule_to_ucs_table): New variable.
3429         (mule_char_to_ucs4): New function.
3430         (encode_coding_ucs4): New implementation.
3431         (complex_vars_of_mule_coding): Define variable
3432         `mule-to-ucs-table'.
3433
3434 1998-09-06  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
3435
3436         * file-coding.c (decode_coding_utf8): New implementation.
3437
3438 1998-09-06  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
3439
3440         * file-coding.c (decode_coding_utf8): fixed.
3441
3442 1998-09-06  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
3443
3444         * file-coding.c (Vucs_to_mule_table): New variable.
3445         (decode_ucs4): Refer `Vucs_to_mule_table'.
3446         (complex_vars_of_mule_coding): Define variable
3447         `ucs-to-mule-table'.
3448
3449 1998-09-04  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
3450
3451         * file-coding.c (detect_coding_ucs4): New function (not
3452         implemented yet).
3453         (decode_coding_ucs4): New function.
3454         (encode_coding_ucs4): New function (not implemented yet).
3455         (detect_coding_utf8): New function (not implemented yet).
3456         (decode_coding_utf8): New function.
3457         (encode_coding_utf8): New function (not implemented yet).
3458         (make-coding-system): New type `ucs4' and `utf8'.
3459         (coding-system-type): Likewise.
3460         (detection_state): Add `ucs4' and `utf8'.
3461         (detect_coding_type): Likewise.
3462         (mule_decode): Use `decode_coding_ucs4' and `decode_coding_utf8'.
3463         (mule_encode): Use `encode_coding_ucs4' and `encode_coding_utf8'.
3464         (decode_ucs4): New function (very incomplete).
3465         (syms_of_mule_coding): Add `ucs4' and `utf8'.
3466
3467         * file-coding.h: Add definitions for UCS-4 and UTF-8.
3468
3469 1999-03-08  Martin Buchholz  <martin@xemacs.org>
3470
3471         * mule-charset.c:
3472         (non_ascii_valid_char_p):
3473         (lookup_composite_char):
3474         (composite_char_string):
3475         (make-composite-char):
3476         (composite-char-string):
3477         (syms_of_mule_charset):
3478         (complex_vars_of_mule_charset):
3479         * mule-charset.h (LEADING_BYTE_COMPOSITE):
3480         (CHAR_LEADING_BYTE):
3481         (MAKE_CHAR):
3482         * file-coding.h (CODING_STATE_COMPOSITE):
3483         (CODING_STATE_ISO2022_LOCK):
3484         (iso_esc_flag):
3485         (LEADING_BYTE_COMPOSITE):
3486         * file-coding.c (struct iso2022_decoder):
3487         (decoding_closer):
3488         (reset_iso2022):
3489         (parse_iso2022_esc):
3490         (encode_coding_iso2022):
3491         #ifdef out all composite character support using
3492         #ifdef ENABLE_COMPOSITE_CHARS
3493
3494         * alloc.c: Define lrecord_coding_system only if ! FILE_CODING
3495
3496 1999-03-04  Takeshi YAMADA <yamada@cslab.kecl.ntt.co.jp>
3497
3498         * fns.c (Fbase64_encode_string): Calculate `allength' in the same
3499         way of `Fbase64_encode_region'.
3500
3501 1999-02-18  Katsumi Yamaoka   <yamaoka@jpl.org>
3502
3503         * fns.c (base64_encode_1): Don't add a newline at the tail.
3504
3505 1999-03-08  Andy Piper  <andy@xemacs.org>
3506
3507         * menubar-msw.c (displayable_menu_item): correct off-by-one &
3508         handling.
3509
3510 1999-03-07  Martin Buchholz  <martin@xemacs.org>
3511
3512         * console-stream.h (struct stream_console):
3513         * event-unixoid.c (event_stream_unixoid_select_console):
3514         (event_stream_unixoid_unselect_console):
3515         * print.c (Fexternal_debugging_output):
3516         * sysdep.c (reset_one_device):
3517         * console-stream.c (stream_init_console):
3518         (stream_delete_console):
3519         (allocate_stream_console_struct): move into stream_init_console.
3520         (free_stream_console_struct): move into stream_delete_console.
3521         Use `fd' only for file descriptors.
3522         Therefore, rename members of struct stream_console.
3523
3524         * systime.h: Unix98 says sys/time.h should define select(), but
3525         some systems define that in unistd.h.  So include that file always.
3526
3527         * glyphs.h (MAYBE_IIFORMAT_METH): Don't use leading `_'.  Avoid
3528         multiple evaluation of first arg.  Do proper do {} while (0) wrapping.
3529         (HAS_IIFORMAT_METH_P): Prevent macro from being used in
3530         non-boolean context
3531         (MAYBE_IIFORMAT_DEVMETH): Use standard internal macro naming convention.
3532
3533         * EmacsShell.c:
3534         * balloon_help.c:
3535         Add #include <stdio.h>.
3536         Some versions of assert.h use printf() without #include'ing stdio.h
3537
3538         * free-hook.c (blocktype): Add gcpro5_type to blocktype.
3539         (log_gcpro): Remove unused variable FRAME.
3540         (show_gcprohist): Ansify.
3541         Comment the #endif's
3542
3543         * frame-x.c (x_delete_frame): Don't use FRAME_X_SHELL_WIDGET(f)
3544         after it's just been XtDestroy'ed!
3545
3546 1999-02-18  Martin Buchholz  <martin@xemacs.org>
3547
3548         * opaque.c (print_opaque):
3549         (sizeof_opaque):
3550         (equal_opaque):
3551         (hash_opaque):
3552         Egcs 1.1.1 seems to have a bug where
3553         INTP (p->size_or_chain)
3554         will crash XEmacs.  Fix by introducing intermediate variable.
3555
3556         * sound.c (Fdevice_sound_enabled_p): Fix compiler warning.
3557
3558         * dired.c (Fdirectory_files):
3559         (Ffile_name_completion):
3560         (Ffile_name_all_completions):
3561         (file_name_completion):
3562         - Use `directory' instead of `dirname' to sync with FSF Emacs and
3563         avoid compiler warnings.
3564         - Fix up docstrings so that C variables match documentation.
3565
3566 1999-03-05  Martin Buchholz  <martin@xemacs.org>
3567
3568         * alloc.c: (garbage_collect_1): Reorg code to make scope of local
3569         variables as small as possible to help out the compiler and the maintainer.
3570
3571         * alloc.c: (disksave_object_finalization):
3572         Set all the *-load-path variables to
3573         nil, not just load-path itself.  This gets the locate-file hash
3574         tables garbage collected BEFORE dump, and has the side effect of
3575         preventing crashes on OSF4.0+egcs.
3576
3577         * alloc.c:
3578         * gdbinit:
3579         * dbxrc:
3580         - Clean up gdb/dbx debugging support.
3581         - Storing an EMACS_INT in an enum is not 64-bit clean!
3582         - So change the enum to a set of separate variables.
3583         - Add test cases to help debug the debugging support!
3584         - Add `lisp-shadows' and `run-temacs' targets for dbx.
3585         - Both dbx and gdb have been tested now.
3586
3587 1999-03-05  XEmacs Build Bot <builds@cvs.xemacs.org>
3588
3589         * XEmacs 21.2.12 is released
3590
3591 1999-02-16  Kazuyuki IENAGA  <ienaga@jsys.co.jp>
3592
3593         * device-x.c: Support to find best visual without flashing.
3594
3595 1999-03-02  Paul Keusemann  <pkeusem@visi.com>
3596
3597         * database.c (berkdb_map): Add flags argument to cursor call (must
3598           be 0 according to docs) required for Berkeley DB 2.6.4 and later.
3599
3600 1999-03-03  Martin Buchholz  <martin@xemacs.org>
3601
3602         * hash.c:
3603         * hash.h:
3604         General cleanup.  Get free-hook.c working again.
3605         Remove unused functions:
3606         make_strings_hash_table, copy_hash, expand_hash_table.
3607
3608         * malloc.c:
3609         * mem-limits.h:
3610         Always use new ANSI-style function prototypes.
3611
3612         * unexalpha.c (unexec): Never use implicit int.
3613
3614         * sgiplay.c (close_sound_file):
3615         (play_sound_file):
3616         (restore_audio_port):
3617         (play_sound_data):
3618         (audio_initialize):
3619         (play_internal):
3620         (drain_audio_port):
3621         (write_mulaw_8_chunk):
3622         (write_linear_chunk):
3623         (write_linear_32_chunk):
3624         (initialize_audio_port):
3625         (open_audio_port):
3626         (set_channels):
3627         (set_output_format):
3628         (adjust_audio_volume):
3629         (get_current_volumes):
3630         (parse_snd_header):
3631         Always use new ANSI-style function prototypes.
3632         Use unistd.h for missing prototypes.
3633
3634         * unexelfsgi.c (round_up):
3635         (find_section):
3636         (unexec): Always use new ANSI-style function prototypes
3637
3638         * elhash.c (struct Lisp_Hash_Table): rename golden to golden_ratio
3639
3640         * console.h (struct console_methods): Always use full ANSI prototypes
3641
3642         * emacs.c (__sti__iflPNGFile_c___): Always use full ANSI prototypes
3643
3644 1999-03-02  Andy Piper  <andy@xemacs.org>
3645
3646         * event-stream.c (init_event_stream): make sure native mswindows
3647         gets an appropriate event loop.
3648
3649 1999-02-22  Andy Piper  <andy@xemacs.org>
3650
3651         * frame-msw.c (mswindows_make_frame_visible): use SW_SHOW rather
3652         than SW_SHOWNORMAL to prevent resizing of maximised frames.
3653         (mswindows_raise_frame): remove comment.
3654
3655 1999-03-01  XEmacs Build Bot <builds@cvs.xemacs.org>
3656
3657         * XEmacs 21.2.11 is released
3658
3659 1999-02-25  SL Baur  <steve@xemacs.org>
3660
3661         * mule-charset.c (Qleading_byte): New variable to implement
3662         charset-leading-byte function.
3663         (Fcharset_property): Use it.
3664         (syms_of_mule_charset): Initialize it.
3665         From Kazuyuki IENAGA <ienaga@jsys.co.jp>
3666
3667 1999-02-17  Kazuo Oishi <oishi@ae.agr.yamaguchi-u.ac.jp>
3668
3669         * glyphs-x.c (cononvert_EImage_to_XImage): correct
3670         bytes per pixel counting.
3671
3672 1999-02-15  Andy Piper  <andy@xemacs.org>
3673
3674         * s/cygwin32.h (BROKEN_SIGIO): don't define this as it causes
3675         major lockups.
3676
3677 1999-02-16  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
3678
3679         * fns.c (Fbase64_encode_string): New optional argument
3680         `NO_LINE_BREAK'.
3681
3682 1999-02-16  Martin Buchholz  <martin@xemacs.org>
3683
3684         * gdbinit:  Fix up commands to run temacs.  Add lisp-shadows command.
3685         * alloc.c (xcalloc):  undef xcalloc, just like xmalloc
3686
3687 1999-02-10  Martin Buchholz  <martin@xemacs.org>
3688
3689         * s/bsdos4.h: New file.  Port to BSDI BSD/OS 4.0.
3690         * xintrinsic.h:  Redo CONST support for X11 R4 compatibility.
3691
3692 1999-02-05  XEmacs Build Bot <builds@cvs.xemacs.org>
3693
3694         * XEmacs 21.2.10 is released
3695
3696 1999-02-02  Gleb Arshinov  <gleb@cs.stanford.edu>
3697
3698         * process-nt.c (nt_send_process):
3699         Fix for process-send-region/process-send-string breaking when size
3700         of the input > 128 chars: change maximum chunk size for process
3701         stream from 512 to 128, thus guaranteeing that ntpipe_shove_writer
3702         succeeds.
3703
3704 1999-02-02  XEmacs Build Bot <builds@cvs.xemacs.org>
3705
3706         * XEmacs 21.2.9 is released
3707
3708 1999-01-30  Martin Buchholz  <martin@xemacs.org>
3709
3710         * bytecode.c (funcall_compiled_function): Call
3711         UNBIND_TO_GCPRO instead of UNBIND_TO_GCPRO_VARIABLES_ONLY.
3712
3713         * backtrace.h (UNBIND_TO_GCPRO_VARIABLES_ONLY):
3714         #ifdef 0 out unused macro.
3715
3716 1999-01-27  Martin Buchholz  <martin@xemacs.org>
3717
3718         * gui.c (gui_parse_item_keywords_internal): Make static.
3719
3720 1999-01-21  Andy Piper  <andy@xemacs.org>
3721
3722         * glyphs-msw.c: add xface support.
3723         (mswindows_xface_instantiate): new function copied from glyphs-x.c
3724         (image_instantiator_format_create_glyphs_mswindows): do device
3725         specific initialisation for xfaces.
3726         (xbm_create_bitmap_from_data): line data must be padded to a word
3727         boundary.
3728
3729         * glyphs-x.c (xface_validate): moved to glyphs.c
3730         (xface_normalize): ditto.
3731         (xface_possible_dest_types): ditto.
3732         (image_instantiator_format_create_glyphs_x): do device specific
3733         initialisation for xfaces.
3734
3735         * glyphs.h: declare xface symbol.
3736
3737         * glyphs.c: move generic xface support here.
3738         (xface_validate): moved from glyphs-x.c
3739         (xface_normalize): ditto.
3740         (xface_possible_dest_types): ditto.
3741         (image_instantiator_format_create): xface declarations moved from
3742         glyphs-x.c.
3743
3744 1999-01-14  Adrian Aichner  <aichner@ecf.teradyne.com>
3745
3746         * event-stream.c (vars_of_event_stream): Fixing documentation.
3747
3748 1999-01-17  Gunnar Evermann  <ge204@eng.cam.ac.uk>
3749
3750         * glyphs-eimage.c (gif_instantiate): Correct handling of
3751         interlaced gifs to avoid writing past the end of the eimage
3752         buffer.
3753
3754 1999-01-13  Hrvoje Niksic  <hniksic@srce.hr>
3755
3756         * search.c (Freplace_match): Handle single backslash at end of
3757         NEWTEXT correctly.
3758
3759 1999-01-12  William M. Perry  <wmperry@aventail.com>
3760
3761         * eldap.c (Fldap_open): slow down interrupts around ldap_open to
3762           avoid connection errors.
3763
3764 1999-01-12  Andy Piper  <andy@xemacs.org>
3765
3766         * redisplay-output.c (redisplay_update_line): backout change that
3767         shouldn't have gone ine.
3768
3769 1999-01-09  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
3770
3771         * eldap.c (vars_of_ldap): Do no provide `ldap' here since it may
3772         collide with ldap.el
3773
3774 1999-01-11  Andy Piper  <andy@xemacs.org>
3775
3776         * redisplay.h (DISPLAY_LINE_HEIGHT): new macro.
3777         (DISPLAY_LINE_YPOS): new macro.
3778
3779         * redisplay-msw.c (mswindows_output_string): use it.
3780         (mswindows_output_pixmap): ditto.
3781         (mswindows_output_display_block): ditto.
3782
3783         * redisplay-output.c (redisplay_output_display_block): new
3784         function. just call the devmeth, maybe insert some generic code
3785         here later.
3786         (compare_display_blocks): use it.
3787         (output_display_line): ditto.
3788         (redisplay_unmap_subwindows_maybe): new function. potentially
3789         unmap subwindows in the given area.
3790
3791         * glyphs.c (reset_subwindow_cachels): unmap subwindows that we are
3792         resetting.
3793
3794 1999-01-10  J. Kean Johnston  <jkj@sco.com>
3795
3796         * Makefile.in.in: Set value of moduledir
3797         - Changed DUMPENV to include $(MODULEPATH)
3798         - Added install rule to install header files for use by ellcc.
3799
3800         * config.h.in: Added INHIBIT_SITE_MODULES
3801         - Added HAVE__DLERROR
3802         - Added HAVE_DLFCN_H
3803         - Added DLSYM_NEEDS_UNDERSCORE
3804
3805         * dll.c: Removed.
3806
3807         * emodules.c: New file containing dynamic loading code.
3808
3809         * emodules.h: New file.
3810
3811         * emacs.c: Added variables Vmodule_directory,
3812         Vsite_module_directory, Vconfigure_module_directory and
3813         Vconfigure_site_module_directory.
3814         - (main_1): Added new variable inhibit_site_modules and command
3815         line options `-no-site-modules' and `--no-site-modules'.
3816         - (main_1): Call syms_of_module() instead of syms_of_dll().
3817         - (main_1): Call vars_of_module().
3818         - (vars_of_emacs): Introduce inhibit-site-modules,
3819         module-directory, configure-module-directory,
3820         site-module-directory, and configure-site-module-directory to the
3821         Lisp reader.
3822
3823         * lisp.h: Declare load_module and list_modules, as well as
3824         Vmodule_directory, Vsite_module_directory,
3825         Vconfigure_module_directory and Vconfigure_site_module_directory.
3826
3827         * paths.h.in: Added PATH_MODULESEARCH and PATH_SITE_MODULES.
3828         - Added correct support for site-lisp directory.
3829
3830         * symbols.c (defsubr): Modified to allow modules to add new subrs
3831         after dump time.
3832         - (defsubr_macro): Same.
3833         - (defvar_magick): Only use purespace when not initialized, so
3834         that loaded modules can still add symbols.
3835
3836         * symsinit.h: Add definitions for syms_of_module(),
3837         vars_of_module().  Removed syms_of_dll().
3838
3839         * sysdll.c: Include dlfcn.h if HAVE_DLFCN_H is defined.
3840         - (dll_variable): Take DLSYM_NEEDS_UNDERSCORE into account.
3841         - (dll_error): use _dlerror() if HAVE__DLERROR is defined.
3842
3843         * s/sco5-shr.h (C_SWITCH_SYSTEM): Correct for modern gcc and
3844         explicitly pass -belf for native cc.
3845
3846         * s/sco5.h (LIB_GCC): Use -print-libgcc-file-name instead of
3847         hard-coding the library name.
3848
3849 1999-01-01    <martin@xemacs.org>
3850
3851         * device-x.c (Fx_set_font_path):
3852         Add proper cast to permit compilation under C++.
3853
3854         * buffer.c (directory_is_current_directory):
3855         Add proper casts to permit compilation under C++.
3856
3857 1998-12-30  Damon Lipparelli  <lipp@primus.com>
3858
3859         * event-msw.c (mswindows_wnd_proc):
3860           Fixed failure when building with MSVC 5.
3861
3862 1998-12-29  Martin Buchholz  <martin@xemacs.org>
3863
3864         * file-coding.c (decode_coding_iso2022):
3865         - Prevent crash when decoding ISO7/Lock detected files
3866         - the usual martin fiddling
3867
3868 1998-12-29  Jonathan Harris  <jhar@tardis.ed.ac.uk>
3869
3870         * event-msw.c:
3871           glyphs-msw.c:
3872           Fixed failures when building with MSVC.
3873         * unexnt.c (dump_bss_and_heap):
3874           Removed compiler warning by removing bss_data variable.
3875
3876 1998-12-18  Jim Radford  <radford@robby.caltech.edu>
3877
3878         * device-x.c (Fx_set_font_path, Fx_get_font_path): New functions
3879         so that packages that distribute their own fonts can access them.
3880
3881 1998-12-28  Andy Piper  <andy@xemacs.org>
3882
3883         * glyphs-msw.c (mswindows_button_instantiate): cope with buttons
3884         that have an image provided.
3885
3886         * glyphs.h: add Q_image decl.
3887
3888         * glyphs-widget.c new functionality allowing images in
3889         widgets.
3890         (check_valid_glyph_or_image): new function to validate
3891         glyphs passed in through :image.
3892         (widget_normalize): new function. convert :image parameters into
3893         real glyphs if not already so.
3894         (widget_instantiate_1): mess with size parameters to be similar to
3895         :image if provided.
3896         (syms_of_glyphs_widget): new keyword :image.
3897         (image_instantiator_format_create_glyphs_widget): normalize
3898         buttons and allow :image.
3899
3900 1998-12-27  Andy Piper  <andy@xemacs.org>
3901
3902         * frame-msw.c (mswindows_init_frame_1): warning elimination.
3903
3904         * glyphs-widget.c (check_valid_anything): no-op function.
3905         (check_valid_callback): check callbacks in gui_items.
3906         (check_valid_symbol): as it sounds.
3907         (check_valid_string_or_vector): ditto.
3908         (widget_validate): modified for descriptors that are vectors or
3909         sequences of keyword/val pairs.
3910         (widget_instantiate_1): ditto.
3911         (image_instantiator_format_create_glyphs_widget): allow gui_item
3912         keywords in the instantiator.
3913
3914         * gui.c (gui_parse_item_keywords_internal): renamed from
3915         gui_parse_item_keywords but taking error behaviour.
3916         (gui_parse_item_keywords): use it.
3917         (gui_parse_item_keywords_no_errors): ditto.
3918         (gui_item_add_keyval_pair): add Error_behavior flag and only
3919         signal invalid keywords if required.
3920
3921         * gui.h: new gui signatures.
3922
3923         * menubar.c (menu_parse_submenu_keywords): use new
3924         gui_item_add_keyval_pair signature.
3925
3926         * s/cygwin32.h: modify PTY_ITERATION to eliminate warnings.
3927
3928 1998-12-28  Martin Buchholz <martin@xemacs.org>
3929
3930         * XEmacs 21.2.8 is released.
3931
3932 1998-12-28  Martin Buchholz  <martin@xemacs.org>
3933
3934         * editfns.c (get_home_directory):
3935         (user-home-directory): Simplify.
3936
3937
3938         * callproc.c (child_setup):
3939         - Environment variables were being passed to inferior processes
3940           using internal encoding.
3941         - Convert to external encoding.
3942         - Rename local var `tem' to better name `tail'.
3943         - Use Flength instead of `manual' calculation.
3944
3945         * buffer.c (kill-buffer):
3946         (record-buffer):
3947         (set-buffer-major-mode):
3948         (current-buffer):
3949         - Fix up parameter names to correspond to docstrings.
3950         - Don't use `bufname' when a buffer will do as well.
3951         - Remove one unneeded GCPRO.
3952
3953         * buffer.h (initial_directory):
3954         * buffer.c (init_initial_directory):
3955         - use correct conversions between internal and external format.
3956         (directory_is_current_directory): new function
3957         (init_buffer): convert initial_directory to internal format.
3958         - solve crashes when current working directory is non-ASCII.
3959
3960         * alloc.c (xmalloc):
3961         (xcalloc):
3962         (xrealloc):
3963         - remove stupid casts, since XEmacs requires an ANSI C system.
3964         (lrecord_type_index): replace abort() with more readable assert().
3965
3966         (reset_lcrecord_stats): remove.
3967         (sweep_lcrecords_1):
3968         - replace call to reset_lcrecord_stats() with call to xzero().
3969
3970 1998-12-27  Martin Buchholz  <martin@xemacs.org>
3971
3972         * process-unix.c (unix_create_process):
3973         - Fix crash invoking program with non-ASCII name.
3974           Try invoking xemacs with SHELL=/bin/sh, then M-x shell.
3975         - Remove unused variable `env'.
3976         - Rename `temp' to better name `save_errno'.
3977         - Reorganize code for clarity.  But still too chicken to nuke the
3978           BSD 4.2 support.
3979
3980 1998-12-24  Martin Buchholz <martin@xemacs.org>
3981
3982         * XEmacs 21.2.7 is released.
3983
3984 1998-12-23  Martin Buchholz  <martin@xemacs.org>
3985
3986         * glyphs.c (decode_device_ii_format):
3987         - Fix indentation.
3988         - Use GET_C_STRING_FILENAME_DATA_ALLOCA with char *, not Extbyte *.
3989
3990         * glyphs-x.c (x_subwindow_instantiate):
3991         - A image instance mask was being assigned to a image instance type!
3992         - X_SUBWINDOW_INSTANCE_DATA (ii) is not an lvalue in C++.
3993
3994         * glyphs-msw.c (mswindows_initialize_dibitmap_image_instance):
3995         Fix indentation.
3996         * glyphs-x.h: Make indentation consistent.
3997
3998         * emacs.c (Fdump_emacs): Remove Steve Martin merge artifacts.
3999
4000         * glyphs-widget.c (check_valid_glyph): Warning suppression.
4001         - Make it static
4002         - #ifdef it out, since it's not actually used yet (FIX THIS!)
4003
4004         * glyphs-widget.c:
4005         * glyphs.h:
4006         Move declarations of decode_device_ii_format and
4007         decode_image_instantiator_format into glyphs.h where they belong.
4008
4009 1998-12-22  Martin Buchholz  <martin@xemacs.org>
4010
4011         * frame-x.c (x_delete_frame): Revert part of my changes at the
4012         suggestion of Gunnar Evermann - unfortunately no one really
4013         understands this code.
4014
4015         * callproc.c (init_callproc): code cleanup.
4016
4017         * free-hook.c (malloc):
4018         (check_malloc):
4019         (__free_hook):
4020         (__malloc_hook):
4021         (__realloc_hook):
4022         (block_input_malloc):
4023         (block_input_realloc):
4024         * device-x.c (x_delete_device):
4025         * emacs.c (voodoo_free_hook):
4026         * events.c (print_event):
4027         (CHECK_EVENT_TYPE):
4028         (CHECK_EVENT_TYPE2):
4029         (CHECK_EVENT_TYPE3):
4030         Use proper prototypes.
4031         Make C_E_T macros a little faster.
4032         Pedantic fiddly little changes.  You really don't care.
4033
4034 1998-12-22  Andy Piper  <andy@xemacs.org>
4035
4036         * redisplay-output.c (redisplay_clear_region): make sure that
4037         fg/bg colors get set even when we are in the border area.
4038
4039 1998-12-13  Martin Buchholz  <martin@xemacs.org>
4040
4041         * console-msw.c: Function definitions follow coding standards
4042         - This prevents e.g. find-tag on Lisp_Event finding DEVENT
4043
4044 1998-12-11  Martin Buchholz  <martin@xemacs.org>
4045
4046         * events.h (struct timeout_data):
4047         * event-tty.c (tty_timeout_to_emacs_event):
4048         * event-msw.c (mswindows_wm_timer_callback):
4049         * event-Xt.c (Xt_timeout_to_emacs_event):
4050         * event-msw.c (mswindows_cancel_dispatch_event):
4051         Make sure Lisp_Objects inside events are initialized to Qnil, not
4052         Qnull_pointer, which is now illegal.
4053
4054 1998-12-10  Martin Buchholz  <martin@xemacs.org>
4055
4056         * lisp.h: Fix up prototypes to match alloc.c
4057
4058 1998-12-08  Martin Buchholz  <martin@xemacs.org>
4059
4060         * windowsnt.h: Remove `support' for using index and rindex
4061
4062         * filelock.c (current_lock_owner):
4063         - Change uses of index -> strchr, rindex -> strrchr
4064
4065 1998-12-07  Martin Buchholz  <martin@xemacs.org>
4066
4067         * sysdep.c (set_descriptor_non_blocking):
4068         Since O_NONBLOCK is now always #defined, make use of fcntl
4069         conditional on F_SETFL being defined.
4070
4071         * console-msw.c (DHEADgER):
4072         (DOPAQUE_DATA):
4073         (DEVENT):
4074         (DCONS):
4075         (DCONSCDR):
4076         (DSTRING):
4077         (DVECTOR):
4078         (DSYMBOL):
4079         (DSYMNAME):
4080         - max_align_t should not be visible to the user of the
4081           XOPAQUE_DATA macro.
4082         - use Bufbyte instead of char
4083         - parens around (FOOP (obj)) are always redundant.
4084           If they were necessary, we should fix the macro instead.
4085         - Always use string_data(foo) instead of foo->data.
4086
4087
4088 1998-12-06  Martin Buchholz  <martin@xemacs.org>
4089
4090         * frame-msw.c (mswindows_init_frame_1):
4091         - use make_lisp_hash_table, not Fmake_hash_table
4092         - include elhash.h
4093
4094         * lisp.h:
4095         * alloc.c (make_vector): remove travesty
4096         (Fmake_vector):
4097         (make_pure_vector):
4098         (pure_cons):
4099         (make_bit_vector_internal):
4100         (make_bit_vector):
4101         (make_bit_vector_from_byte_vector):
4102         (Fmake_bit_vector):
4103         - make vector_equal a little faster.
4104         - Don't use variable name `new'.
4105         - Use size_t instead of EMACS_INT.
4106         - usual Martin-style pointless bit-twiddling.
4107
4108         * fns.c (mapcar1):
4109         (Fmapconcat):
4110         (Fmapcar):
4111         (Fmapvector):
4112         Make mapcar faster.  In particular, make
4113           (mapc #'identity long-string)
4114         MUCH faster under Mule.
4115         * tests/automated/lisp-tests.el: Test 'em!
4116
4117         * bytecode.c (Ffetch_bytecode): Fix crash when loading lazy-loaded
4118         bytecode.
4119
4120 1998-12-01  Martin Buchholz  <martin@xemacs.org>
4121
4122         * menubar-x.c (menu_item_descriptor_to_widget_value_1): Always use
4123         Qnil, not NULL, to initialize `null' Lisp_Objects.
4124
4125 1998-11-29  Hrvoje Niksic  <hniksic@srce.hr>
4126
4127         * specifier.c (display_table_validate): Update.
4128
4129         * redisplay.c (create_text_block): Use them.
4130
4131         * glyphs.c (display_table_entry): New function.
4132         (get_display_tables): Ditto.
4133
4134 1998-12-15  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
4135
4136         * eldap.c (toplevel): Mention that eldap.c compiles with
4137         OpenLDAP libs
4138         (Fldap_open): Use `GET_C_STRING_OS_DATA_ALLOCA'
4139         (Fldap_search_internal): Ditto
4140
4141 1998-12-11  Martin Buchholz  <martin@xemacs.org>
4142
4143         * event-msw.c (mswindows_cancel_dispatch_event):
4144         Gratuitous code prettification
4145
4146
4147 1998-12-07  Hrvoje Niksic  <hniksic@srce.hr>
4148
4149         * fns.c (Fnconc): Fix use of wrong_type_argument().
4150
4151         * floatfns.c (Ffloat): Fix docstring.
4152         (Ffloat): Fix use of wrong_type_argument().
4153         (Fabs): Ditto.
4154         (extract_float): Ditto.
4155         (Fceiling): Ditto.
4156         (Fround): Ditto.
4157         (Ftruncate): Ditto.
4158
4159 1998-12-06  Martin Buchholz  <martin@xemacs.org>
4160
4161         * frame-msw.c (mswindows_init_frame_1):
4162         - use make_lisp_hash_table, not Fmake_hash_table
4163         - include elhash.h
4164
4165         * lisp.h:
4166         * alloc.c (make_vector): remove travesty
4167         (Fmake_vector):
4168         (make_pure_vector):
4169         (pure_cons):
4170         (make_bit_vector_internal):
4171         (make_bit_vector):
4172         (make_bit_vector_from_byte_vector):
4173         (Fmake_bit_vector):
4174         - make vector_equal a little faster.
4175         - Don't use variable name `new'.
4176         - Use size_t instead of EMACS_INT.
4177         - usual Martin-style pointless bit-twiddling.
4178
4179         * fns.c (mapcar1):
4180         (Fmapconcat):
4181         (Fmapcar):
4182         (Fmapvector):
4183         Make mapcar faster.  In particular, make
4184           (mapc #'identity long-string)
4185         MUCH faster under Mule.
4186         * tests/automated/lisp-tests.el: Test 'em!
4187
4188         * bytecode.c (Ffetch_bytecode): Fix crash when loading lazy-loaded
4189         bytecode.
4190
4191 1998-12-02  Didier Verna  <verna@inf.enst.fr>
4192
4193         * menubar-x.c (menu_item_descriptor_to_widget_value_1): set the
4194         accelerator field to nil for labels.
4195
4196 1998-12-16  Jonathan Harris  <jhar@tardis.ed.ac.uk>
4197
4198         * menubar-msw.c (displayable_menu_item):
4199           Escape occurrences of '&' and support occurrences of the
4200          '%_' accelerator indicator in menus.
4201
4202 1998-11-26  Didier Verna  <verna@inf.enst.fr>
4203
4204         * dired.c (Fdirectory_files): use make_string instead of
4205         make_ext_string on the filename. The conversion external->internal
4206         format is already done in sys_readdir.
4207
4208 1998-12-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
4209
4210         * glyphs.c (normalize_image_instantiator): GCPRO instantiator
4211
4212 1998-12-16  Jonathan Harris  <jhar@tardis.ed.ac.uk>
4213
4214         * event-msw.c
4215           (Belatedly) added Kirill to list of file's authors.
4216           emacs_mswindows_quit_p: Don't process WM_PAINT messages in
4217           quit checking. WM_PAINT messages cause redisplay, but
4218           windows' states are not necessarily stable when this function
4219           gets called.
4220
4221 1998-12-17  Andy Piper  <andy@xemacs.org>
4222
4223         * strftime.c (zone_name): CONSTify.
4224
4225 1998-12-15  Andy Piper  <andy@xemacs.org>
4226
4227         * glyphs-msw.c (mswindows_combo_instantiate): ditto.
4228         (mswindows_widget_property): return Qunbound when no property available.
4229         (mswindows_button_property): ditto.
4230         (mswindows_combo_property): ditto.
4231         (mswindows_widget_set_property): ditto.
4232
4233         * glyphs-widget.c (check_valid_item_list): use properties.
4234
4235         * glyphs.h (struct Lisp_Image_Instance): we have properties now.
4236
4237         * glyphs.c (Fset_image_instance_property): allow setting of arbitrary properties.
4238         (Fimage_instance_property): ditto.
4239         * glyphs-widget.c (widget_property): ditto.
4240         (widget_set_property): ditto.
4241
4242         * frame-msw.c (mswindows_set_frame_pointer): SetCursor() as well
4243         as setting the class cursor so that GC actually changes the
4244         cursor.
4245
4246         * config.h: don't undef MAIL_USE_POP.
4247
4248 1998-12-13  Andy Piper  <andy@xemacs.org>
4249
4250         * glyphs-msw.c
4251         (image_instantiator_format_create_glyphs_mswindows): line ->
4252         label.
4253         (mswindows_label_instantiate): ditto. Play with window flags.
4254         (image_instantiator_format_create_glyphs_mswindows): ditto.
4255         (vars_of_glyphs_mswindows): provide Qlabel as we support it now.
4256
4257         * glyphs-widget.c (widget_instantiate_1): re-jig autosizing to
4258         cope with lines and labels.
4259         (static_instantiate): use widget_instantiate_1.
4260         line -> label.
4261         (image_instantiator_format_create_glyphs_widget): ditto.
4262
4263 1998-12-10  Andy Piper  <andy@xemacs.org>
4264
4265         * Makefile.in.in (objs): add gui.o
4266
4267 1998-12-10  Andy Piper  <andy@xemacs.org>
4268
4269         * gui.c: adjust defines of HAVE_POPUPS so that we can build with
4270         no window system.
4271
4272 1998-12-09  Andy Piper  <andy@xemacs.org>
4273
4274         * glyphs.c (finalize_image_instance): mark glyphs changed when an
4275         image instance is removed so that the subwindow cache gets reset
4276         and thus destroyed images get GC'd.
4277
4278 1998-12-08  Andy Piper  <andy@xemacs.org>
4279
4280         * gui-msw.c (mswindows_handle_gui_wm_command): call
4281         MARK_SUBWINDOWS_CHANGED.
4282
4283         * glyphs-msw.c (mswindows_finalize_image_instance): make sure
4284         subwindows really get deleted.
4285
4286         * redisplay.c: new variable subwindows_changed[_set].
4287         (redisplay_window): use it.
4288         (redisplay_frame): ditto.
4289         (redisplay_device): ditto.
4290         (redisplay_without_hooks): ditto.
4291
4292         * device.h (MARK_DEVICE_SUBWINDOWS_CHANGED): new macro for
4293         subwindows redisplay as per glyphs equivalent.
4294         * redisplay.h: ditto.
4295         (MARK_SUBWINDOWS_CHANGED): ditto.
4296         (RESET_CHANGED_SET_FLAGS): ditto.
4297         * frame.h (MARK_FRAME_SUBWINDOWS_CHANGED): ditto.
4298
4299 1998-12-07  Andy Piper  <andy@xemacs.org>
4300
4301         * frame.c (Fmake_frame): reset subwindow cachels on non-stream
4302         frames.
4303
4304         * redisplay.c (redisplay_frame): invalidate subwindow cachels.
4305
4306         * event-msw.c (mswindows_wnd_proc): catch the various WM_CTLCOLOR*
4307         messages and paint widget glyphs as appropriate with their face fg
4308         & bg.
4309
4310 1998-12-06  Andy Piper  <andy@xemacs.org>
4311
4312         * glyphs-msw.c (vars_of_glyphs_mswindows): provide widget types
4313         here rather than in glyphs-widget - do this because we only want
4314         to provide what is really available.
4315
4316         * glyphs.c (Fimage_instance_property): new function to get the
4317         properties of image instances. wires through to console specific
4318         methods and then to widget specific methods.
4319         (Fset_image_instance_property): ditto but for setting widget properties.
4320         (check_valid_face): make extern so that it can be used elsewhere.
4321
4322         * glyphs-widget.c (widget_property): new function. gets the
4323         properties of widgets in general and wires the function through to
4324         widget specific ones.
4325         (widget_set_property): ditto but for setting widget properties.
4326
4327         * glyphs-msw.c (mswindows_combo_instantiate): Add functionality to
4328         add items to the list. Play with window styles a bit to get the
4329         desired effect.
4330         (mswindows_widget_property): break out specific widget properties.
4331         (mswindows_button_property): new function. gets the checked state
4332         of a button.
4333         (mswindows_combo_property): new function. gets the current
4334         selection in the combo box.
4335         (mswindows_widget_set_property): new function. sets specific
4336         properties of specific widgets.
4337
4338         * glyphs-widget.c (check_valid_item_list): new function. check
4339         that items for a combo-box are just a list of strings.
4340         (combo_validate): new function. check there is an item list.
4341         (widget_instantiate_1): new function. renamed from
4342         widget_instantiate so that we can do slightly different things for
4343         other widgets.
4344         (widget_instantiate): call widget_instantiate_1.
4345         (combo_instantiate): new function to instantiate combo boxes,
4346         defaults height to the pixel height of the number of items in the
4347         box.
4348         (syms_of_glyphs_widget): move widget keywords here.
4349         (image_instantiator_format_create_glyphs_widget): use new combo
4350         functions.
4351
4352 1998-12-04  Andy Piper  <andy@xemacs.org>
4353
4354         * event-msw.c (mswindows_wnd_proc): mule-ize.
4355
4356         * glyphs.c (pixmap_to_lisp_data): mule-ize.
4357
4358         * glyphs-msw.c (extract_xpm_color_names): mule-ize.
4359         (resource_name_to_resource): ditto.
4360         (mswindows_resource_instantiate): ditto.
4361         (mswindows_widget_instantiate): ditto.
4362         (mswindows_widget_set_property): ditto.
4363
4364         * redisplay-output.c (redisplay_output_subwindow): don't show
4365         subwindows if they are obscured at the edge of the frame, emacs
4366         gets into some sort of redisplay loop otherwise.
4367
4368         * gui.h: prototype gui_item_selected_p.
4369
4370         * gui.c (gui_item_selected_p): new function to determine the
4371         selected state of a gui_item.
4372
4373         * frame.h (struct frame): add subwindows_changed flag.
4374
4375         * redisplay.c (redisplay_frame): call update_frame_subwindows ().
4376
4377         * glyphs.c (update_subwindow): new function to update a
4378         subwindow's state.
4379         (update_frame_subwindows): new function to update all the
4380         subwindows on a frame.
4381
4382         * console.h (struct console_methods): add update_subwindow.
4383
4384         * glyphs-msw.c (mswindows_widget_property): return selected state
4385         for selected property.
4386         (mswindows_update_subwindow): new function. updates widget glyphs
4387         in redisplay as per menubars or toolbars e.g. selected state.
4388         (console_type_create_glyphs_mswindows): add update_subwindow.
4389
4390 1998-12-03  Andy Piper  <andy@xemacs.org>
4391
4392         * console-tty.c (syms_of_console_tty): MULE -> FILE_CODING since
4393         tty coding system things are such.
4394
4395         * glyphs-widget.c (widget_face_font_info): new function for
4396         pulling out height and width metrics for a widget's face.
4397         (widget_text_to_pixel_conversion): calculate pixel sizes of text
4398         for widgets.
4399
4400         * event-msw.c (mswindows_drain_windows_queue): translate messages
4401         that are destined for subwindows. This makes edit fields interact
4402         with the keyboard correctly.
4403         nuke warnings by #ifndef'ing out stuff not required by msg select().
4404
4405         * glyphs.h (INITIALIZE_IMAGE_INSTANTIATOR_FORMAT_NO_SYM): new
4406         macro defining the iiforma without the symbol required by widget.
4407         (INITIALIZE_IMAGE_INSTANTIATOR_FORMAT): use it.
4408
4409         * general.c (syms_of_general): add Qwidget, Qselected.
4410
4411         * faces.c (complex_vars_of_faces): add widget face inheriting from
4412         gui-element face.
4413
4414 1998-11-09  Andy Piper  <andy@xemacs.org>
4415
4416         * window.h (struct window): add a cache of subwindows on a
4417         per-window basis.
4418
4419         * window.c (mark_window): mark the subwindow_instance_cache.
4420         (allocate_window): initialise the subwindow instance_cache.
4421
4422         * toolbar-x.c (x_output_toolbar): call redisplay_clear_region
4423         instead of the devmeth.
4424         (x_clear_toolbar): ditto.
4425
4426         * redisplay-x.c (x_output_display_block): call
4427         redisplay_output_subwindow for subwindows and widgets.
4428
4429         * redisplay-tty.c (tty_output_display_block): add IMAGE_WIDGET to
4430         types to do nothing for.
4431
4432         * lisp.h: declare new widget/subwindow symbols.
4433
4434         * glyphs.c (image_instantiate): cache subwindows on a per-window
4435         basis.
4436         (subwindow_possible_dest_types): new function for subwindow dest
4437         types.
4438         (subwindow_instantiate): generic instantiation of a
4439         subwindow. specialised by device multi-methods.
4440         (Fsubwindowp): moved from glyphs-x.c. adapted for glyph-based
4441         subwindows.
4442         (Fimage_instance_subwindow_id): ditto.
4443         (Fresize_subwindow): ditto.
4444         (Fforce_subwindow_map): ditto.
4445
4446         * glyphs-x.c (x_print_image_instance): remove subwindow
4447         stuff. Handled genrically in glyphs.c.
4448         (x_image_instance_equal): ditto.
4449         (x_image_instance_hash): ditto.
4450         (x_finalize_image_instance): delete subwindows when required.
4451         (mark_subwindow) (print_subwindow) (finalize_subwindow)
4452         (subwindow_hash) (Fmake_subwindow): deleted because of new,
4453         glyph-based, subwindow implementation.
4454         (Fsubwindow_height) (Fsubwindow_width) (Fsubwindow_xid): aliased
4455         in glyphs.el
4456         (Fsubwindowp) (Fresize_subwindow) (Fforce_subwindow_map): moved to
4457         glyphs.c.
4458         (x_unmap_subwindow): new function to unmap X subwindows.
4459         (x_map_subwindow): new function to map X subwindows.
4460         (x_subwindow_instantiate): new function to instantiate X
4461         subwindows.
4462         (x_resize_subwindow): new function to resize X subwindows.
4463         (console_type_create_glyphs_x): add subwindow functions.
4464         (image_instantiator_format_create_glyphs_x): add device
4465         multi-methods for xpm, xbm and subwindow.
4466
4467         * glyphs.el (subwindow-xid): old alias for new subwindow functions.
4468         (subwindow-width): ditto.
4469         (subwindow-height): ditto.
4470
4471         * glyphs-msw.c (mswindows_widget_instantiate): new function for
4472         generally instantiating ms subwindows. Used by
4473         mswindows_*_instantiate.
4474         (mswindows_edit_instantiate): instantiate an edit field on a
4475         mswindows frame.
4476
4477 1998-11-04  Andy Piper  <andy@xemacs.org>
4478
4479         * symsinit.h: declare new functions.
4480
4481         * redisplay.h: declare new functions.
4482
4483         * redisplay-x.c (x_output_display_block): call
4484         redisplay_clear_region rather than x_clear_region.
4485         (x_output_string): ditto.
4486         (x_output_pixmap): ditto.
4487         (x_clear_to_window_end): ditto.
4488         (x_output_eol_cursor): ditto.
4489         (x_clear_region): only do X specific things. other duties handled
4490         in redisplay_clear_region.
4491
4492         * redisplay-tty.c (tty_clear_region): do tty specific things - some
4493         duties moved to redisplay_clear_region.
4494
4495         * redisplay-output.c (clear_left_border): use
4496         redisplay_clear_region instead of device method.
4497         (clear_right_border): ditto.
4498         (output_display_line): ditto.
4499         (redisplay_output_subwindow): ditto.
4500         (redisplay_clear_top_of_window): ditto.
4501         (redisplay_clear_region): perform duties previously handled by
4502         device methods. call the appropriate device method at the
4503         end. unmap subwindows if necessary.
4504
4505         * redisplay-msw.c (mswindows_output_string): use
4506         redisplay_clear_region instead of mswindows_clear_region.
4507         (mswindows_clear_to_window_end): ditto.
4508         (mswindows_output_display_block): output subwindows when required.
4509         (mswindows_clear_region): only do mswindows specific things,
4510         everything else is now handled in redisplay_clear_region.
4511
4512         * gui.h: add item id hash defines and declare function prototypes.
4513
4514         * gui.c (mark_gui_item): new function for marking gui_items.
4515         (gui_item_hash): generic hash function for generating command ids
4516         for gui_items.
4517
4518         * gui-msw.c: new file.
4519         (mswindows_handle_gui_wm_command): new function to handle widget
4520         callbacks.
4521
4522         * glyphs.h (MAYBE_IIFORMAT_DEVMETH): new function for device
4523         multi-methods.
4524         (IIFORMAT_HAS_SHARED_METHOD): ditto.
4525         (DEFINE_DEVICE_IIFORMAT): ditto.
4526         (INITIALIZE_DEVICE_IIFORMAT): ditto.
4527         (struct Lisp_Image_Instance): add widget and subwindow data plus
4528         appropriate access functions.
4529
4530         * glyphs.c (decode_device_ii_format): new function for decoding
4531         image instantiator functions based on a device type as well as an
4532         image format.
4533         (decode_image_instantiator_format): just call
4534         decode_device_ii_format with nil device.
4535         (add_entry_to_device_ii_format_list): new function for per device
4536         method instances.
4537         (add_entry_to_image_instantiator_format_list): just call
4538         add_entry_to_device_ii_format_list with nil device.
4539         (check_valid_vector): new function.
4540         (instantiate_image_instantiator): instantiate using per-format
4541         method and then per-format-per-device method (device
4542         multi-methods). signal an error if neither is possible.
4543         (mark_image_instance): cope with subwindows and widgets.
4544         (print_image_instance): ditto.
4545         (image_instance_equal): ditto.
4546         (image_instance_hash): ditto.
4547         (allocate_glyph): ditto.
4548         (glyph_width): ditto.
4549         (glyph_height_internal): ditto.
4550         (xpm_instantiate): removed because of device multi-methods.
4551         (mark_subwindow_cachels): new cachel functions for caching
4552         instantiated subwindows on a per-frame basis. mostly copied from
4553         glyph cachel functions.
4554         (update_subwindow_cachel_data): ditto.
4555         (add_subwindow_cachel): ditto.
4556         (get_subwindow_cachel_index): ditto.
4557         (reset_subwindow_cachels): ditto.
4558         (mark_subwindow_cachels_as_not_updated): ditto.
4559         (unmap_subwindow): generic unmapping of subwindows based on cachel
4560         data.
4561         (map_subwindow): ditto.
4562         (initialize_subwindow_image_instance): generic initialisation of
4563         subwindow data.
4564         (syms_of_glyphs): add widget keywords.
4565
4566         * glyphs-x.h (struct x_subwindow_data): convert Lisp_Subwindow to
4567         x_subwindow_data.
4568
4569 1998-11-04  Andy Piper  <andy@xemacs.org>
4570
4571         * glyphs-widget.c: new file for instantiating widget type glyphs.
4572         (widget_possible_dest_types): new general dest type function for
4573         widgets.
4574         (widget_validate): ditto.
4575         (initialize_widget_image_instance): ditto
4576         (widget_instantiate): ditto. Sets up fg/bg, gui_item parsing
4577         before handing on control to device multi-methods.
4578         (syms_of_glyphs_widget): new function.
4579         (image_instantiator_format_create_glyphs_widget): new function,
4580         added placeholders for button, edit, combo, scrollbar
4581         (vars_of_glyphs_widget): new function.
4582
4583         * glyphs-msw.h (WIDGET_INSTANCE_MSWINDOWS_HANDLE): new define for
4584         storing window ids of widgets.
4585
4586         * glyphs-msw.c (mswindows_finalize_image_instance): cope with
4587         deletion of widget and subwindow glyphs.
4588         (mswindows_unmap_subwindow): new device function for unmapping
4589         subwindows on a msw frame.
4590         (mswindows_map_subwindow): ditto.
4591         (mswindows_register_image_instance): register instantiated widgets
4592         with the widget hastable.
4593         (mswindows_button_instantiate): instantiate a button type widget
4594         on an msw frame.
4595         (mswindows_subwindow_instantiate): instanttiate a subwindow on a
4596         mswindows frame.
4597         (image_instantiator_format_create_glyphs_mswindows): add device
4598         multi-methods for xbm, xpm, subwindow, edit and button.
4599
4600         * frame.h (struct frame): add subwindow_cachels dynarr for caching
4601         information about subwindows visible on the current frame. used by
4602         redisplay_clear_region to unmap subwindows as required.
4603
4604         * frame.c (mark_frame): mark subwindow_cachels.
4605         (allocate_frame_core): instantiate subwindow_cachels.
4606
4607         * frame-msw.c (mswindows_init_frame_1): instntiate and mark the
4608         widget hashtable.
4609
4610         * event-msw.c (mswindows_wnd_proc): add call to
4611         mswindows_handle_gui_wm_command to handle widget callbacks.
4612
4613         * emacs.c (main_1): add calls to glyphs-widget initialisation
4614         routines.
4615
4616         * console.h (struct console_methods): add
4617         unmap/map_subwindow_method for use be redisplay_clear_region to
4618         map and unmap subwindows. Remove xpm and xbm stuff - now dealt
4619         with by image instantiator multi-methods. Add
4620         resize_subwindow_method.
4621
4622         * console-stream.c (stream_clear_region): change signature to
4623         match new generic clear region function.
4624
4625         * Makefile.in.in: add glyphs-widget.o to list of objects.
4626
4627         * console-msw.h (struct mswindows_frame): add widget hashtable for
4628         wiring command ids to callbacks.
4629
4630 1998-12-16  Andy Piper  <andy@xemacs.org>
4631
4632         * XEmacs 21.2.6 is released
4633
4634 1998-12-08  Hrvoje Niksic  <hniksic@srce.hr>
4635
4636         * md5.c (Fmd5): Correctly initiate string input stream.
4637
4638         * Makefile.in.in (tests): Add md5-tests.el.
4639
4640 1998-12-06  Martin Buchholz  <martin@xemacs.org>
4641
4642         * lisp.h:
4643         * alloc.c (make_vector): remove travesty
4644         (Fmake_vector):
4645         (make_pure_vector):
4646         (pure_cons):
4647         (make_bit_vector_internal):
4648         (make_bit_vector):
4649         (make_bit_vector_from_byte_vector):
4650         (Fmake_bit_vector):
4651         - make vector_equal a little faster.
4652         - Don't use variable name `new'.
4653         - Use size_t instead of EMACS_INT.
4654         - usual Martin-style pointless bit-twiddling.
4655
4656         * fns.c (mapcar1):
4657         (Fmapconcat):
4658         (Fmapcar):
4659         (Fmapvector):
4660         Make mapcar faster.  In particular, make
4661           (mapc #'identity long-string)
4662         MUCH faster under Mule.
4663         * tests/automated/lisp-tests.el: Test 'em!
4664
4665 1998-12-06  Martin Buchholz  <martin@xemacs.org>
4666
4667         * bytecode.c (Ffetch_bytecode): Fix crash when loading lazy-loaded
4668         bytecode.
4669
4670 1998-12-13  Martin Buchholz  <martin@xemacs.org>
4671
4672         * console-msw.c: Function definitions follow coding standards
4673         - This prevents e.g. find-tag on Lisp_Event finding DEVENT
4674
4675 1998-12-11  Martin Buchholz  <martin@xemacs.org>
4676
4677         * events.h (struct timeout_data):
4678         * event-tty.c (tty_timeout_to_emacs_event):
4679         * event-msw.c (mswindows_wm_timer_callback):
4680         * event-Xt.c (Xt_timeout_to_emacs_event):
4681         * event-msw.c (mswindows_cancel_dispatch_event):
4682         Make sure Lisp_Objects inside events are initialized to Qnil, not
4683         Qnull_pointer, which is now illegal.
4684
4685 1998-12-10  Martin Buchholz  <martin@xemacs.org>
4686
4687         * lisp.h: Fix up prototypes to match alloc.c
4688
4689 1998-12-09  Andy Piper  <andy@xemacs.org>
4690
4691         * glyphs-msw.c (init_image_instance_from_xbm_inline): don't use
4692         XSETINT for assigning lisp objects.
4693
4694 1998-12-07  Martin Buchholz  <martin@xemacs.org>
4695
4696         * opaque.h:
4697         * console-msw.c (DHEADER):
4698         (DOPAQUE_DATA):
4699         (DEVENT):
4700         (DCONS):
4701         (DCONSCDR):
4702         (DSTRING):
4703         (DVECTOR):
4704         (DSYMBOL):
4705         (DSYMNAME):
4706         - max_align_t should not be visible to the user of the
4707           XOPAQUE_DATA macro.
4708         - use Bufbyte instead of char
4709         - parens around (FOOP (obj)) are always redundant.
4710           If they were necessary, we should fix the macro instead.
4711         - Always use string_data(foo) instead of foo->data.
4712
4713 1998-12-07  Martin Buchholz  <martin@xemacs.org>
4714
4715         * sysdep.c (set_descriptor_non_blocking):
4716         Since O_NONBLOCK is now always #defined, make use of fcntl
4717         conditional on F_SETFL being defined.
4718
4719 1998-12-09  Andy Piper  <andy@xemacs.org>
4720
4721         * menubar-msw.c (mswindows_handle_wm_command): add back in checks
4722         that got removed in the merge
4723
4724 1998-11-30  Greg Klanderman  <greg@alphatech.com>
4725
4726         * dired.c (vars_of_dired): bugfix for previous conditionalization
4727         of user-name-completion on non- Windows NT.
4728
4729 1998-12-08  Martin Buchholz  <martin@xemacs.org>
4730
4731         * windowsnt.h: Remove `support' for using index and rindex
4732
4733         * filelock.c (current_lock_owner):
4734         - Change uses of index -> strchr, rindex -> strrchr
4735
4736 1998-12-06  Martin Buchholz  <martin@xemacs.org>
4737
4738         * frame-msw.c (mswindows_init_frame_1):
4739         - use make_lisp_hash_table, not Fmake_hash_table
4740         - include elhash.h
4741
4742 1998-12-05  XEmacs Build Bot <builds@cvs.xemacs.org>
4743
4744         * XEmacs 21.2.5 is released
4745
4746 1998-11-30  Martin Buchholz  <martin@xemacs.org>
4747
4748         * xselect.c (receive_incremental_selection):
4749         * xselect.c (x_get_window_property):
4750         * xmu.c (XmuReadBitmapDataFromFile):
4751         * xmu.c (XmuCursorNameToIndex):
4752         * xgccache.c (describe_gc_cache):
4753         * xgccache.c (gc_cache_lookup):
4754         * xgccache.c (free_gc_cache):
4755         * xgccache.c (make_gc_cache):
4756         * window.h:
4757         * window.c (map_windows_1):
4758         * window.c (Fother_window_for_scrolling):
4759         * window.c (window_scroll):
4760         * window.c (change_window_height):
4761         * window.c (Fsplit_window):
4762         * window.c (window_left_gutter_width):
4763         * window.c (window_modeline_height):
4764         * window.c (invalidate_vertical_divider_cache_in_window):
4765         * window.c (window_needs_vertical_divider_1):
4766         * window.c (update_mirror_internal):
4767         * window.c (SET_LAST_FACECHANGE):
4768         * widget.c (Fwidget_plist_member):
4769         * unexec.c (copy_text_and_data):
4770         * unexcw.c (copy_executable_and_dump_data_section):
4771         * tooltalk.doc:
4772         * tooltalk.c (struct Lisp_Tooltalk_Pattern):
4773         * tooltalk.c (struct Lisp_Tooltalk_Message):
4774         * toolbar.h (struct toolbar_button):
4775         * toolbar.c (default_toolbar_visible_p_changed_in_window):
4776         * toolbar.c (recompute_overlaying_specifier):
4777         * toolbar.c (toolbar_validate):
4778         * toolbar.c (toolbar_button_at_pixpos):
4779         * toolbar.c (get_toolbar_coords):
4780         * toolbar.c (update_frame_toolbars):
4781         * toolbar-x.c:
4782         * toolbar-msw.c (mswindows_handle_toolbar_wm_command):
4783         * toolbar-msw.c (mswindows_find_toolbar_pos):
4784         * toolbar-msw.c (mswindows_output_toolbar):
4785         * toolbar-msw.c (mswindows_clear_toolbar):
4786         * toolbar-msw.c:
4787         * systty.h:
4788         * syssignal.h:
4789         * sysproc.h:
4790         * sysfile.h:
4791         * sysdll.c:
4792         * sysdep.h:
4793         * sysdep.c (rmdir):
4794         * sysdep.c (sys_fopen):
4795         * sysdep.c (sys_open):
4796         * sysdep.c (tty_init_sys_modes_on_device):
4797         * sysdep.c (get_eof_char):
4798         * sysdep.c (child_setup_tty):
4799         * sysdep.c (set_descriptor_non_blocking):
4800         * syntax.h:
4801         * syntax.c (scan_words):
4802         * syntax.c:
4803         * symsinit.h:
4804         * symeval.h (struct symbol_value_varalias):
4805         * symeval.h (struct symbol_value_forward):
4806         * symbols.c (syms_of_symbols):
4807         * symbols.c (init_symbols_once_early):
4808         * symbols.c (Fbuilt_in_variable_type):
4809         * symbols.c (Fsymbol_value_in_buffer):
4810         * symbols.c (default_value):
4811         * symbols.c (Fset):
4812         * symbols.c (find_symbol_value_quickly):
4813         * symbols.c (store_symval_forwarding):
4814         * symbols.c (set_default_console_slot_variable):
4815         * symbols.c (set_default_buffer_slot_variable):
4816         * symbols.c (verify_ok_for_buffer_local):
4817         * symbols.c (symbol_is_constant):
4818         * symbols.c (oblookup):
4819         * symbols.c (Funintern):
4820         * symbols.c (Fintern):
4821         * symbols.c (check_obarray):
4822         * sunplay.c:
4823         * specifier.h (struct specifier_methods):
4824         * specifier.h:
4825         * specifier.c (specifier_instance):
4826         * specifier.c (specifier_instance_from_inst_list):
4827         * specifier.c (decode_locale_type):
4828         * specifier.c (specifier_equal):
4829         * specifier.c (finalize_specifier):
4830         * specifier.c (prune_specifiers):
4831         * specifier.c (kill_specifier_buffer_locals):
4832         * sound.c (init_native_sound):
4833         * sound.c:
4834         * signal.c (alarm):
4835         * search.c (Fmatch_data):
4836         * search.c (match_limit):
4837         * search.c (Freplace_match):
4838         * search.c (skip_chars):
4839         * search.c (scan_buffer):
4840         * search.c:
4841         * scrollbar.c (specifier_vars_of_scrollbar):
4842         * scrollbar.c (Fscrollbar_set_hscroll):
4843         * scrollbar.c (vertical_scrollbar_changed_in_window):
4844         * scrollbar.c (release_window_mirror_scrollbars):
4845         * scrollbar.c (free_scrollbar_instance):
4846         * scrollbar-x.c:
4847         * scrollbar-msw.c:
4848         * s/msdos.h (O_BINARY):
4849         * s/linux.h:
4850         * s/freebsd.h (LIBS_TERMCAP):
4851         * regex.c (re_match_2_internal):
4852         * regex.c (compile_extended_range):
4853         * regex.c (POP_FAILURE_POINT):
4854         * regex.c (PUSH_FAILURE_POINT):
4855         * redisplay.h (RESET_CHANGED_SET_FLAGS):
4856         * redisplay.h:
4857         * redisplay.h (struct display_line):
4858         * redisplay.h (struct rune):
4859         * redisplay.c (vars_of_redisplay):
4860         * redisplay.c (redisplay_variable_changed):
4861         * redisplay.c (UPDATE_CACHE_RETURN):
4862         * redisplay.c (validate_line_start_cache):
4863         * redisplay.c (mark_redisplay_structs):
4864         * redisplay.c (mark_glyph_block_dynarr):
4865         * redisplay.c (window_line_number):
4866         * redisplay.c (redisplay_frame):
4867         * redisplay.c (redisplay_window):
4868         * redisplay.c (generate_modeline):
4869         * redisplay.c (create_right_glyph_block):
4870         * redisplay.c (create_left_glyph_block):
4871         * redisplay.c (create_text_block):
4872         * redisplay.c:
4873         * redisplay-x.c (x_output_hline):
4874         * redisplay-x.c (x_output_vertical_divider):
4875         * redisplay-tty.c (tty_output_display_block):
4876         * redisplay-output.c (output_display_line):
4877         * redisplay-output.c:
4878         * redisplay-msw.c (mswindows_output_vertical_divider):
4879         * redisplay-msw.c (mswindows_ring_bell):
4880         * redisplay-msw.c (mswindows_output_cursor):
4881         * redisplay-msw.c:
4882         * rangetab.c:
4883         * ralloc.c:
4884         * puresize.h (RAW_PURESIZE):
4885         * profile.c (syms_of_profile):
4886         * profile.c (Fstart_profiling):
4887         * profile.c (sigprof_handler):
4888         * profile.c:
4889         * procimpl.h:
4890         * process.c (vars_of_process):
4891         * process.c (read_process_output):
4892         * process.c (get_process):
4893         * process.c:
4894         * process-unix.c (unix_open_multicast_group):
4895         * process-unix.c (unix_get_tty_name):
4896         * process-unix.c (unix_send_process):
4897         * process-unix.c (unix_reap_exited_processes):
4898         * process-unix.c (unix_create_process):
4899         * process-unix.c (unix_init_process_io_handles):
4900         * process-unix.c (allocate_pty):
4901         * process-unix.c:
4902         * process-nt.c (nt_open_network_stream):
4903         * process-nt.c (nt_update_status_if_terminated):
4904         * process-nt.c (nt_finalize_process_data):
4905         * process-nt.c:
4906         * print.c (debug_short_backtrace):
4907         * print.c (debug_backtrace):
4908         * print.c (print_symbol):
4909         * print.c (print_internal):
4910         * print.c (print_cons):
4911         * print.c (Fwrite_char):
4912         * print.c (print_prepare):
4913         * print.c (canonicalize_printcharfun):
4914         * print.c (output_string):
4915         * print.c:
4916         * opaque.h:
4917         * opaque.c (allocate_managed_opaque):
4918         * opaque.c:
4919         * offix.c (DndSetData):
4920         * objects.c (face_boolean_create):
4921         * objects.c (font_instantiate):
4922         * objects.c (font_create):
4923         * objects.c (color_create):
4924         * objects.c (finalize_font_instance):
4925         * objects.c (finalize_color_instance):
4926         * objects.c:
4927         * objects-x.c (x_font_instance_truename):
4928         * objects-x.c:
4929         * objects-x.c (x_initialize_font_instance):
4930         * objects-x.c (allocate_nearest_color):
4931         * objects-tty.c (tty_initialize_font_instance):
4932         * objects-tty.c (tty_initialize_color_instance):
4933         * objects-msw.c (mswindows_initialize_color_instance):
4934         * ntproc.c (syms_of_ntproc):
4935         * ntproc.c (Fwin32_set_process_priority):
4936         * ntproc.c (sys_spawnve):
4937         * ntproc.c:
4938         * ntheap.c (get_data_end):
4939         * nt.c (period):
4940         * nt.c:
4941         * nt.c (stat):
4942         * nt.c (generate_inode_val):
4943         * nt.c (sys_rename):
4944         * nas.c:
4945         * mule-wnnfns.c (Fwnn_hinsi_number):
4946         * mule-wnnfns.c (Fwnn_yuragi):
4947         * mule-wnnfns.c (Fwnn_common_learn):
4948         * mule-wnnfns.c (Fwnn_suffix_learn):
4949         * mule-wnnfns.c (Fwnn_prefix_learn):
4950         * mule-wnnfns.c (Fwnn_okuri_learn):
4951         * mule-wnnfns.c (Fwnn_complex_conv):
4952         * mule-wnnfns.c (Fwnn_last_is_first):
4953         * mule-wnnfns.c (Fwnn_bmodify_dict_add):
4954         * mule-wnnfns.c (Fwnn_notrans_dict_add):
4955         * mule-wnnfns.c (Fwnn_fiusr_dict_add):
4956         * mule-wnnfns.c (Fwnn_fisys_dict_add):
4957         * mule-wnnfns.c (Fwnn_hinsi_list):
4958         * mule-wnnfns.c (Fwnn_fuzokugo_set):
4959         * mule-wnnfns.c (Fwnn_dict_search):
4960         * mule-wnnfns.c (Fwnn_word_toroku):
4961         * mule-wnnfns.c (Fwnn_hindo_update):
4962         * mule-wnnfns.c (Fwnn_bunsetu_henkou):
4963         * mule-wnnfns.c (Fwnn_kakutei):
4964         * mule-wnnfns.c (Fwnn_begin_henkan):
4965         * mule-wnnfns.c (Fwnn_dict_comment):
4966         * mule-wnnfns.c (Fwnn_dict_add):
4967         * mule-wnnfns.c (Fwnn_open):
4968         * mule-mcpath.c (mc_getcwd):
4969         * mule-coding.c (vars_of_mule_coding):
4970         * mule-coding.c (convert_to_external_format):
4971         * mule-coding.c (encoding_marker):
4972         * mule-coding.c (decoding_marker):
4973         * mule-coding.c (Fcopy_coding_system):
4974         * mule-coding.c (Fmake_coding_system):
4975         * mule-coding.c (Fcoding_system_list):
4976         * mule-coding.c (Ffind_coding_system):
4977         * mule-coding.c (symbol_to_eol_type):
4978         * mule-coding.c:
4979         * mule-charset.c (complex_vars_of_mule_charset):
4980         * mule-charset.c (vars_of_mule_charset):
4981         * mule-charset.c (Fset_charset_ccl_program):
4982         * mule-charset.c (struct charset_list_closure):
4983         * mule-charset.c (Ffind_charset):
4984         * mule-charset.c (make_charset):
4985         * mule-charset.c (non_ascii_valid_char_p):
4986         * mule-charset.c:
4987         * mule-ccl.c (ccl_driver):
4988         * mule-canna.c (c2mu):
4989         * mule-canna.c (Fcanna_henkan_begin):
4990         * mule-canna.c (Fcanna_parse):
4991         * mule-canna.c (Fcanna_store_yomi):
4992         * mule-canna.c (Fcanna_touroku_string):
4993         * mule-canna.c (Fcanna_initialize):
4994         * minibuf.c:
4995         * menubar.c (menu_parse_submenu_keywords):
4996         * menubar-x.c (make_dummy_xbutton_event):
4997         * menubar-x.c (set_frame_menubar):
4998         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
4999         * menubar-x.c:
5000         * menubar-msw.h:
5001         * menubar-msw.c (mswindows_popup_menu):
5002         * menubar-msw.c (mswindows_update_frame_menubars):
5003         * menubar-msw.c (mswindows_handle_wm_command):
5004         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
5005         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1):
5006         * menubar-msw.c (update_frame_menubar_maybe):
5007         * menubar-msw.c (populate_or_checksum_helper):
5008         * menubar-msw.c (empty_menu):
5009         * menubar-msw.c:
5010         * md5.c:
5011         * marker.c (set_marker_internal):
5012         * marker.c (print_marker):
5013         * malloc.c:
5014         * make-src-depend:
5015         * lstream.c (lisp_buffer_rewinder):
5016         * lstream.c (mark_lstream):
5017         * lrecord.h:
5018         * lrecord.h (struct lrecord_header):
5019         * lread.c (readevalloop):
5020         * lread.c (locate_file):
5021         * lread.c (locate_file_in_directory):
5022         * lread.c (Flocate_file):
5023         * lread.c (load_force_doc_string_unwind):
5024         * lread.c (ebolify_bytecode_constants):
5025         * lread.c:
5026         * lisp.h:
5027         * lisp-union.h:
5028         * lisp-disunion.h:
5029         * linuxplay.c (linux_play_data_or_file):
5030         * linuxplay.c (audio_init):
5031         * line-number.c:
5032         * keymap.h:
5033         * keymap.c (describe_map):
5034         * keymap.c (describe_map_mapper):
5035         * keymap.c (Fdescribe_bindings_internal):
5036         * keymap.c (Fsingle_key_description):
5037         * keymap.c (map_keymap_sorted):
5038         * keymap.c (get_relevant_keymaps):
5039         * keymap.c (Flookup_key):
5040         * keymap.c (raw_lookup_key_mapper):
5041         * keymap.c (Fdefine_key):
5042         * keymap.c (Fevent_matches_key_specifier_p):
5043         * keymap.c (key_desc_list_to_event):
5044         * keymap.c (define_key_parser):
5045         * keymap.c (define_key_check_and_coerce_keysym):
5046         * keymap.c (keymap_submaps):
5047         * keymap.c (keymap_store_internal):
5048         * keymap.c (keymap_delete_inverse_internal):
5049         * keymap.c (keymap_store_inverse_internal):
5050         * keymap.c (print_keymap):
5051         * keymap.c (Lisp_Keymap):
5052         * keymap.c:
5053         * intl.c:
5054         * insdel.c (convert_bufbyte_string_into_emchar_dynarr):
5055         * insdel.c (make_gap):
5056         * input-method-xlib.c (get_XIM_input):
5057         * input-method-xlib.c (XIM_init_frame):
5058         * imgproc.c:
5059         * hash.h:
5060         * hash.c:
5061         * gui.c:
5062         * gui-x.c (button_item_to_widget_value):
5063         * gui-x.c (popup_selection_callback):
5064         * glyphs.h (struct image_instantiator_methods):
5065         * glyphs.c (mark_glyph_cachels):
5066         * glyphs.c (Fglyph_type):
5067         * glyphs.c (image_instantiate):
5068         * glyphs.c (image_create):
5069         * glyphs.c (make_image_instance_1):
5070         * glyphs.c (finalize_image_instance):
5071         * glyphs.c:
5072         * glyphs-x.c (finalize_subwindow):
5073         * glyphs-x.c (xface_validate):
5074         * glyphs-x.c (x_locate_pixmap_file):
5075         * glyphs-x.c (convert_EImage_to_XImage):
5076         * glyphs-msw.c:
5077         * glyphs-msw.c (mswindows_resource_instantiate):
5078         * glyphs-msw.c (xpm_to_eimage):
5079         * glyphs-msw.c (convert_EImage_to_DIBitmap):
5080         * glyphs-eimage.c (tiff_instantiate):
5081         * glyphs-eimage.c (png_instantiate):
5082         * glyphs-eimage.c (struct png_error_struct):
5083         * glyphs-eimage.c (gif_memory_storage):
5084         * glyphs-eimage.c:
5085         * gifrlib.h:
5086         * getloadavg.c (getloadavg):
5087         * getloadavg.c:
5088         * gdbinit:
5089         * free-hook.c (log_gcpro):
5090         * free-hook.c (check_malloc):
5091         * free-hook.c (check_free):
5092         * free-hook.c (ROUND_UP_TO_PAGE):
5093         * free-hook.c:
5094         * frame.h (struct frame):
5095         * frame.h:
5096         * frame.c (change_frame_size_1):
5097         * frame.c (allocate_frame_core):
5098         * frame.c:
5099         * frame-x.c (x_focus_on_frame):
5100         * frame-x.c (x_init_frame_2):
5101         * frame-x.c (x_popup_frame):
5102         * frame-x.c (xemacs_XtPopup):
5103         * frame-x.c:
5104         * frame-x.c (Foffix_start_drag_internal):
5105         * frame-x.c (x_cde_destroy_callback):
5106         * frame-x.c (x_wm_hack_wm_protocols):
5107         * frame-tty.c (tty_frame_visible_p):
5108         * frame-msw.c (mswindows_make_frame_invisible):
5109         * frame-msw.c (mswindows_after_init_frame):
5110         * frame-msw.c (mswindows_init_frame_1):
5111         * fns.c (syms_of_fns):
5112         * fns.c (Fbase64_decode_string):
5113         * fns.c (Fnconc):
5114         * fns.c (Ffillarray):
5115         * fns.c (Fobject_plist):
5116         * fns.c (Fget):
5117         * fns.c (Fcanonicalize_lax_plist):
5118         * fns.c (Fcanonicalize_plist):
5119         * fns.c (Fplist_remprop):
5120         * fns.c (Fplist_get):
5121         * fns.c (advance_plist_pointers):
5122         * fns.c (internal_plist_put):
5123         * fns.c (Fnreverse):
5124         * fns.c (Fremassq):
5125         * fns.c (Felt):
5126         * fns.c (Fsubstring):
5127         * fns.c (Fbvconcat):
5128         * fns.c (Flength):
5129         * fns.c (length_with_bytecode_hack):
5130         * fns.c (print_bit_vector):
5131         * fns.c:
5132         * floatfns.c (Ffloor):
5133         * floatfns.c:
5134         * floatfns.c (in_float_error):
5135         * fileio.c (Ffile_modes):
5136         * fileio.c (Fexpand_file_name):
5137         * fileio.c (Fmake_temp_name):
5138         * fileio.c (Ffile_name_nondirectory):
5139         * fileio.c (Ffile_name_directory):
5140         * file-coding.h:
5141         * file-coding.c (vars_of_mule_coding):
5142         * file-coding.c (convert_to_external_format):
5143         * file-coding.c (encoding_marker):
5144         * file-coding.c (decoding_marker):
5145         * file-coding.c (Fcopy_coding_system):
5146         * file-coding.c (Fmake_coding_system):
5147         * file-coding.c (struct coding_system_list_closure):
5148         * file-coding.c (Ffind_coding_system):
5149         * file-coding.c (symbol_to_eol_type):
5150         * file-coding.c:
5151         * faces.h (struct face_cachel):
5152         * faces.c (vars_of_faces):
5153         * faces.c (face_property_was_changed):
5154         * faces.c (mark_face_cachels):
5155         * faces.c (temporary_faces_list):
5156         * faces.c (struct face_list_closure):
5157         * faces.c:
5158         * extents.h (struct extent):
5159         * extents.c (vars_of_extents):
5160         * extents.c (struct copy_string_extents_1_arg):
5161         * extents.c (add_string_extents_mapper):
5162         * extents.c (Fextent_property):
5163         * extents.c (Fset_extent_property):
5164         * extents.c (symbol_to_glyph_layout):
5165         * extents.c (properties_equal):
5166         * extents.c (print_extent):
5167         * extents.c (print_extent_1):
5168         * extents.c (extent_in_region_p):
5169         * extents.c (gap_array_make_gap):
5170         * extents.c:
5171         * events.h (struct Lisp_Event):
5172         * events.h:
5173         * events.c (Fevent_properties):
5174         * events.c (format_event_object):
5175         * events.c (Fmake_event):
5176         * events.c (event_equal):
5177         * events.c (print_event):
5178         * events.c (mark_event):
5179         * event-stream.c ((read-char)
5180         * event-stream.c (vars_of_event_stream):
5181         * event-stream.c (syms_of_event_stream):
5182         * event-stream.c (Fset_recent_keys_ring_size):
5183         * event-stream.c (Fsit_for):
5184         * event-stream.c (Fnext_event):
5185         * event-stream.c (execute_help_form):
5186         * event-stream.c (maybe_kbd_translate):
5187         * event-stream.c:
5188         * event-msw.c (vars_of_event_mswindows):
5189         * event-msw.c (mswindows_wnd_proc):
5190         * event-msw.c (mswindows_need_event):
5191         * event-msw.c (mswindows_drain_windows_queue):
5192         * event-msw.c (mswindows_pump_outstanding_events):
5193         * event-msw.c:
5194         * event-msw.c (slurp_thread):
5195         * event-msw.c (struct ntpipe_slurp_stream):
5196         * event-msw.c (HANDLE_TO_USID):
5197         * event-Xt.c (emacs_Xt_handle_magic_event):
5198         * event-Xt.c (x_event_to_emacs_event):
5199         * event-Xt.c (x_reset_modifier_mapping):
5200         * event-Xt.c (x_reset_key_mapping):
5201         * event-Xt.c:
5202         * eval.c (syms_of_eval):
5203         * eval.c (warn_when_safe):
5204         * eval.c (warn_when_safe_lispobj):
5205         * eval.c (Fbacktrace_frame):
5206         * eval.c (Fbacktrace):
5207         * eval.c (top_level_set):
5208         * eval.c (unbind_to_hairy):
5209         * eval.c (specbind_magic):
5210         * eval.c (specbind_unwind_wasnt_local):
5211         * eval.c (call2_trapping_errors):
5212         * eval.c (call1_trapping_errors):
5213         * eval.c (catch_them_squirmers_call2):
5214         * eval.c (call0_trapping_errors):
5215         * eval.c (run_hook_trapping_errors):
5216         * eval.c (catch_them_squirmers_eval_in_buffer):
5217         * eval.c (call4_in_buffer):
5218         * eval.c (call3_in_buffer):
5219         * eval.c (call2_in_buffer):
5220         * eval.c (call1_in_buffer):
5221         * eval.c (call0_in_buffer):
5222         * eval.c (run_hook):
5223         * eval.c (run_hook_with_args_in_buffer):
5224         * eval.c (Fapply):
5225         * eval.c (Feval):
5226         * eval.c (do_autoload):
5227         * eval.c (un_autoload):
5228         * eval.c (Fautoload):
5229         * eval.c (Finteractive_p):
5230         * eval.c (Fcommand_execute):
5231         * eval.c (signal_quit):
5232         * eval.c (call_with_suspended_errors):
5233         * eval.c (signal_error):
5234         * eval.c (return_from_signal):
5235         * eval.c (Fcall_with_condition_handler):
5236         * eval.c (run_condition_case_handlers):
5237         * eval.c (condition_case_1):
5238         * eval.c (Funwind_protect):
5239         * eval.c (unwind_to_catch):
5240         * eval.c (internal_catch):
5241         * eval.c (Fmacroexpand_internal):
5242         * eval.c (Fuser_variable_p):
5243         * eval.c (Fdefconst):
5244         * eval.c (Fdefvar):
5245         * eval.c (Ffunction):
5246         * eval.c (signal_call_debugger):
5247         * eval.c (call_debugger):
5248         * eval.c:
5249         * emacs.c (main):
5250         * emacs.c (sort_args):
5251         * emacs.c (main_1):
5252         * elhash.h:
5253         * elhash.c:
5254         * editfns.c (Fencode_time):
5255         * editfns.c (Fdecode_time):
5256         * editfns.c (Fuser_full_name):
5257         * editfns.c:
5258         * editfns.c (save_excursion_restore):
5259         * ecrt0.c:
5260         * dynarr.c:
5261         * doprnt.c (emacs_doprnt_1):
5262         * doc.c (verify_doc_mapper):
5263         * doc.c (Fsnarf_documentation):
5264         * doc.c (Fdocumentation):
5265         * dll.c:
5266         * dired.c (user_name_completion):
5267         * dired.c (Fdirectory_files):
5268         * dialog-x.c:
5269         * dialog-msw.c:
5270         * dgif_lib.c (FreeSavedImages):
5271         * dgif_lib.c (DGifGetImageDesc):
5272         * device.h:
5273         * device.h (struct device):
5274         * device.c (Fselect_device):
5275         * device.c (allocate_device):
5276         * device.c:
5277         * device-x.c (Fx_keysym_on_keyboard_p):
5278         * device-x.c (Fx_valid_keysym_name_p):
5279         * device-x.c (x_IO_error_handler):
5280         * device-x.c (x_delete_device):
5281         * device-x.c (x_finish_init_device):
5282         * device-x.c (x_init_device):
5283         * device-x.c:
5284         * device-msw.c (mswindows_init_device):
5285         * dbxrc:
5286         * database.c (vars_of_database):
5287         * database.c (Fput_database):
5288         * database.c (Fopen_database):
5289         * database.c (berkdb_remove):
5290         * database.c (berkdb_put):
5291         * database.c (Fdatabasep):
5292         * database.c (print_database):
5293         * database.c:
5294         * data.c (vars_of_data):
5295         * data.c (syms_of_data):
5296         * data.c (init_errors_once_early):
5297         * data.c (prune_weak_lists):
5298         * data.c (finish_marking_weak_lists):
5299         * data.c (print_weak_list):
5300         * data.c (Fmod):
5301         * data.c (Fstring_to_number):
5302         * data.c (Fnumber_to_string):
5303         * data.c (Findirect_function):
5304         * data.c (Fsetcdr):
5305         * data.c (Ffloatp):
5306         * data.c (Fsubr_interactive):
5307         * data.c (Farrayp):
5308         * data.c (Fkeywordp):
5309         * data.c (Fnull):
5310         * data.c:
5311         * console.h (CONSOLE_NAME):
5312         * console.h:
5313         * console.c (vars_of_console):
5314         * console.c (Fselect_console):
5315         * console.c:
5316         * console-x.h (DEVICE_X_COLORMAP):
5317         * console-x.h (struct x_device):
5318         * console-x.c (x_device_to_console_connection):
5319         * console-tty.h (CONSOLE_TTY_FINAL_CURSOR_Y):
5320         * console-tty.c (tty_init_console):
5321         * console-tty.c:
5322         * console-msw.h (struct mswindows_frame):
5323         * conslots.h:
5324         * config.h.in:
5325         * cmds.c (internal_self_insert):
5326         * cmds.c (Fforward_line):
5327         * cmds.c (Fforward_char):
5328         * cmds.c:
5329         * cmdloop.c:
5330         * chartab.c (mark_char_table_entry):
5331         * chartab.c:
5332         * casefiddle.c (casify_word):
5333         * callproc.c (child_setup):
5334         * callproc.c (Fcall_process_internal):
5335         * callproc.c:
5336         * callint.c (Fcall_interactively):
5337         * bytecode.h:
5338         * bytecode.c (execute_rare_opcode):
5339         * bytecode.c (execute_optimized_program):
5340         * bytecode.c:
5341         * bufslots.h:
5342         * buffer.h (BUFFER_REALLOC):
5343         * buffer.h (GET_CHARPTR_INT_DATA_ALLOCA):
5344         * buffer.h (GET_CHARPTR_EXT_DATA_ALLOCA):
5345         * buffer.h:
5346         * buffer.h (MAP_INDIRECT_BUFFERS):
5347         * buffer.h (CHECK_LIVE_BUFFER):
5348         * buffer.c (init_initial_directory):
5349         * buffer.c (complex_vars_of_buffer):
5350         * buffer.c (vars_of_buffer):
5351         * buffer.c (finish_init_buffer):
5352         * buffer.c (Fget_file_buffer):
5353         * buffer.c (Fbuffer_list):
5354         * buffer.c (mark_buffer):
5355         * balloon_help.c (balloon_help_move_to_pointer):
5356         * balloon_help.c (show_help):
5357         * balloon_help.c:
5358         * backtrace.h:
5359         * alloc.c (garbage_collect_1):
5360         * alloc.c (sweep_strings):
5361         * alloc.c (sweep_compiled_functions):
5362         * alloc.c (sweep_bit_vectors_1):
5363         * alloc.c (sweep_vectors_1):
5364         * alloc.c (sweep_lcrecords_1):
5365         * alloc.c (tick_lcrecord_stats):
5366         * alloc.c (pure_string_sizeof):
5367         * alloc.c (mark_conses_in_list):
5368         * alloc.c (mark_object):
5369         * alloc.c (report_pure_usage):
5370         * alloc.c (make_pure_float):
5371         * alloc.c (make_pure_string):
5372         * alloc.c (free_managed_lcrecord):
5373         * alloc.c (mark_string):
5374         * alloc.c (noseeum_make_marker):
5375         * alloc.c (allocate_event):
5376         * alloc.c (Fbit_vector):
5377         * alloc.c (Fvector):
5378         * alloc.c (make_float):
5379         * alloc.c (Fmake_list):
5380         * alloc.c (Flist):
5381         * alloc.c (FREE_FIXED_TYPE_WHEN_NOT_IN_GC):
5382         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST):
5383         * alloc.c (DECLARE_FIXED_TYPE_ALLOC):
5384         * alloc.c (dbg_constants):
5385         * alloc.c (gc_record_type_p):
5386         * alloc.c (free_lcrecord):
5387         * alloc.c (xmalloc):
5388         * alloc.c (NOSEEUM_INCREMENT_CONS_COUNTER):
5389         * abbrev.c:
5390         * Makefile.in.in (mostlyclean):
5391         * Makefile.in.in (external_client_xlib_objs_nonshared):
5392         * Makefile.in.in (temacs_link_args):
5393         * Makefile.in.in (release):
5394         * Makefile.in.in (dnd_objs):
5395         * Makefile.in.in (objs):
5396         * Makefile.in.in (PROGNAME):
5397         * EmacsShell.c: cast strings to (XtPointer)
5398         * EmacsFrame.c: cast strings to (XtPointer)
5399         - mega patch
5400         - rewrite basic lisp functions for speed
5401         - rewrite bytecode interpreter for speed
5402         - rewrite list looping constructs for speed and safety using
5403           tortoise/hare.
5404         - use size_t where appropriate.
5405         - new hashtable implementation
5406         - cleanup implementation of opaques
5407         - opaques can now be purecopy'ed
5408         - move some cl functionality into C for speed.
5409         - remove last remaining VMS support
5410         - spelling fixes
5411         - improve gdb/dbx debugger support
5412         - move pure.c back into alloc.c for performance
5413         - enable report_pure_usage() if --memory-usage-stats
5414         - remove remnants of Energize support (EMACS_BTL, cadillac...)
5415         - don't use symbols with leading `_' or embedded `__'
5416         - globally cleanup duplicated semicolons `;;'
5417         - I give in on %p vs %lx - we use printf("%lx",(long) p)
5418           globally.
5419         - globally replace O_NDELAY with O_NONBLOCK.
5420         - globally replace CDISABLE with _POSIX_VDISABLE.
5421         - use O_RDONLY and O_RDWR instead of magic `0' and `2'.
5422         - define (and maybe use!) STDERR_FILENO and friends.
5423         - add support for macros defined in C
5424         - `when', `unless', `not' and `defalias' now defined in C,
5425           so that they are universally available.
5426         - rename defvar_mumble to defvar_magic
5427         - rename RETURN__ to RETURN_SANS_WARNINGS
5428         - use consistent style of initial caps in error messages
5429         - implement last, butlast, nbutlast, copy-list in C.
5430         - provide typedefs for all struct Lisp_foo types
5431         - Lisp_Objects must be initialized to Qnil rather than 0.
5432         - make sure XEmacs runs (slowly) with always_gc == 1;
5433         - fast and safe LOOP_* macros
5434         - change calls to XSETOBJ to XSETFOO
5435         - replace calls to XSETINT by make_int()
5436         - plug up memory leaks
5437         - use style markobj (foo), not silly ((markobj) (foo))
5438         - use XFLOAT_DATA (obj) instead of float_data (XFLOAT (obj))
5439
5440 1998-12-02  P. E. Jareth Hein  <jareth@camelot.co.jp>
5441
5442         * unexec.c: Changed a #ifndef statement to fix XEmacs on BSDI 3.0
5443
5444 1998-11-28  SL Baur  <steve@altair.xemacs.org>
5445
5446         * XEmacs 21.2-beta4 is released.
5447
5448 1998-11-27  SL Baur  <steve@altair.xemacs.org>
5449
5450         * mule-charset.c (complex_vars_of_mule_charset): Fix graphic
5451         property in control-1 charset.
5452         From Julian Bradfield <jcb@daimi.au.dk>
5453
5454 1998-11-26  Jan Vroonhof  <vroonhof@math.ethz.ch>
5455
5456         * gui-x.c (button_item_to_widget_value): Ignore :key-sequence
5457         keyword.
5458         Add stub for :label.
5459
5460         * gui.c (gui_item_add_keyval_pair): ditto.
5461
5462         * menubar-x.c (menu_item_descriptor_to_widget_value_1): Ignore
5463         :key-sequence keyword.
5464         Add stub for:label.
5465         Support :active for submenus like the Windows code and FSF Emacs.
5466
5467 1998-11-27  Hrvoje Niksic  <hniksic@srce.hr>
5468
5469         * dired.c (make_directory_hash_table): make_string() is OK because
5470         readdir() Mule-encapsulates.
5471
5472 1998-11-26  Hrvoje Niksic  <hniksic@srce.hr>
5473
5474         * fns.c (Fbase64_encode_string): Fix docstring.
5475         (Fbase64_decode_string): Ditto.
5476
5477 1998-11-26  Hrvoje Niksic  <hniksic@srce.hr>
5478
5479         * editfns.c (Ftranslate_region): Use
5480         convert_bufbyte_string_into_emchar_string().
5481
5482 1998-11-25  Hrvoje Niksic  <hniksic@srce.hr>
5483
5484         * editfns.c (Ftranslate_region): Accept vectors and char-tables as
5485         well as strings.
5486         (Ftranslate_region): Turn table into an array of Emchars for
5487         larger regions.
5488
5489 1998-11-25  Hrvoje Niksic  <hniksic@srce.hr>
5490
5491         * chartab.c (Freset_char_table): Fix wrong placement of #endif.
5492
5493 1998-11-24  Hrvoje Niksic  <hniksic@srce.hr>
5494
5495         * chartab.c (Freset_char_table): Don't blindly fill chartables of
5496         type `char' with nils.
5497
5498         * chartab.c (canonicalize_char_table_value): Coerce ints to chars
5499         for tables of type `char'.
5500
5501 1998-11-26  Didier Verna  <verna@inf.enst.fr>
5502
5503         * input-method-xlib.c (Initialize_Locale): don't call
5504         XtSetLanguageProc. We've done the whole work here.
5505         * input-method-xfs.c (Initialize_Locale): ditto.
5506         * input-method-motif.c (Initialize_Locale): ditto.
5507
5508 1998-11-26  Didier Verna  <verna@inf.enst.fr>
5509
5510         * process-unix.c (unix_create_process): handle properly
5511         Vfile_name_coding_system for converting the program and directory
5512         names.
5513
5514 1998-11-27  SL Baur  <steve@altair.xemacs.org>
5515
5516         * m/arm.h: New file.
5517         From James LewisMoss <dres@ioa.com>
5518
5519 1998-11-27  Takeshi Hagiwara  <hagiwara@ie.niigata-u.ac.jp>
5520
5521         * m/mips-nec.h:
5522         Fix the realpath() problem of UnixWare2.1.3.
5523         Patches for NEC's sysv4.2 machine.
5524
5525 1998-11-25  Hrvoje Niksic  <hniksic@srce.hr>
5526
5527         * dired.c (Fdirectory_files): Remove redundant code.
5528
5529 1998-11-25  Hrvoje Niksic  <hniksic@srce.hr>
5530
5531         * fns.c (free_malloced_ptr): New function.
5532         (XMALLOC_OR_ALLOCA): New macro.
5533         (XMALLOC_UNBIND): Ditto.
5534         (Fbase64_encode_region): Use malloc() for large blocks; arrange it
5535         to be freed in case of non-local exit.
5536         (Fbase64_encode_string): Ditto.
5537         (Fbase64_decode_region): Ditto.
5538         (Fbase64_decode_string): Ditto.
5539         (STORE_BYTE): New macro.
5540         (base64_decode_1): Use it.
5541
5542 1998-11-25  Hrvoje Niksic  <hniksic@srce.hr>
5543
5544         * fns.c (base64_value_to_char): Base64 stuff.
5545
5546 1998-11-24  Hrvoje Niksic  <hniksic@srce.hr>
5547
5548         * editfns.c (Fbuffer_substring): New function.
5549
5550         * lisp.h: Declare make_string_from_buffer_no_extents().
5551
5552         * insdel.c (make_string_from_buffer_1): New function.
5553         (make_string_from_buffer_no_extents): Ditto.
5554
5555 1998-11-15  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
5556
5557         * linuxplay.c: Including <fcntl.h> instead of <sys/fcntl.h> makes
5558         sound work on AIX with OSS installed.  Linux should still work.
5559
5560 1998-11-03  Andy Piper  <andyp@parallax.co.uk>
5561
5562         * config.h.in: name change for cygwin/version.h
5563
5564         * configure.in: check for cygwin/version.h now.
5565
5566         * cygwin32.h: track CYGWIN_DLL_VERSION_MAJOR ->
5567         CYGWIN_VERSION_DLL_MAJOR name change in cygwin b20.
5568         move cygwin32/version.h to cygwin/version.h
5569
5570 1998-11-03  Olivier Galibert  <galibert@pobox.com>
5571
5572         * lisp.h  (struct  Lisp_Bit_Vector): Fix declaration of  bits from
5573         int to long.
5574
5575 1998-10-22  Andy Piper  <andyp@parallax.co.uk>
5576
5577         * cygwin32.h: track CYGWIN_DLL_VERSION_MAJOR ->
5578         CYGWIN_VERSION_DLL_MAJOR name change in cygwin b20.
5579         enable BROKEN_SIGIO under b20 to make QUIT work.
5580
5581 1998-10-22  Andy Piper  <andyp@parallax.co.uk>
5582
5583         * frame-msw.c (mswindows_size_frame_internal): force frame sizing
5584         to fit within the constraints of the screen size. I.e. make the
5585         frame small enough to fit and move it if some of it will be
5586         off-screen.
5587
5588 1998-10-19  Greg Klanderman  <greg@alphatech.com>
5589
5590         * dired.c: conditionalize inclusion of user-name-completion
5591         primitives on non-Windows NT.  The needed functions don't exist on NT.
5592
5593 1998-11-24  SL Baur  <steve@altair.xemacs.org>
5594
5595         * gifrlib.h: Clean up types for 64 bit compile.
5596         * dgif_lib.c (DGifInitRead): Ditto.
5597         (MakeSavedImage): Ditto.
5598         * emacs.c (decode_path): Ditto.
5599         From Steve Carney <carney@pa.dec.com>
5600
5601 1998-10-16  William M. Perry  <wmperry@aventail.com>
5602
5603         * glyphs-msw.c (bitmap_table): Fixed typo in builtin bitmaps
5604           (cehckboxes instead of checkboxes).
5605
5606 1998-10-15  SL Baur  <steve@altair.xemacs.org>
5607
5608         * XEmacs 21.2-beta3 is released.
5609
5610 1998-10-13  Raymond Toy  <toy@rtp.ericsson.se>
5611
5612         * runemacs.c (WinMain): If the basename is "rungnuclient.exe", run
5613         gnuclient.  Otherwise, we run xemacs as we always did.  This gets
5614         rid of the annoying DOS window when running gnuclient.
5615
5616 1998-10-13  Andy Piper  <andyp@parallax.co.uk>
5617
5618         * dragdrop.c (vars_of_dragdrop): rename HAVE_MSWINDOWS ->
5619         HAVE_MS_WINDOWS typo.
5620
5621 1998-10-13  SL Baur  <steve@altair.xemacs.org>
5622
5623         * process-unix.c (unix_send_process): Set closed flag on writable
5624         pipe after SIGPIPE is received and before we call deactivate_process.
5625
5626 1998-10-03  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5627
5628         * window.c (Fset_window_start): respect narrowing when
5629         checking wheter start is at the beginning of a line.
5630         (Fset_window_buffer): Ditto
5631         Fixes repeatable crash in VM.
5632
5633 1998-10-09  SL Baur  <steve@altair.xemacs.org>
5634
5635         * window.c (specifier_vars_of_window): Set default vertical
5636         divider width to 1 on ttys.
5637
5638 1998-10-08  Martin Buchholz  <martin@xemacs.org>
5639
5640         * alloc.c:
5641         * unexec.c:
5642         * malloc.c:
5643         Add <stddef.h> to get ptrdiff_t declaration
5644
5645 1998-10-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5646
5647         * scrollbar-msw.c: Use the same vertical scrollbar drag hack as
5648           is used for Motif or Lucid scrollbars under X.
5649
5650 1998-10-08  Pierre Wendling  <pw@ebc.vbe.dec.com>
5651
5652         * m/alpha.h (UNEXEC): quoted to avoid bad expansion when running
5653         `configure'
5654
5655 1998-10-06  Takeshi Hagiwara  <hagiwara@ie.niigata-u.ac.jp>
5656
5657         * frame-x.c (x_delete_frame): Fix an argument of XtDestroyWidget.
5658
5659 1998-10-05  Andy Piper  <andyp@parallax.co.uk>
5660
5661         * s/cygwin32.h: more cygwin b20 reorganisation.
5662
5663 1998-10-01  Raymond Toy  <toy@rtp.ericsson.se>
5664
5665         * nas.c: Added necessary support functions to be able to handle
5666         WAVE files in memory, just like the support for SND files in
5667         memory.
5668
5669 1998-09-30  SL Baur  <steve@altair.xemacs.org>
5670
5671         * callproc.c (child_setup): Fix spelling typo.
5672
5673 1998-09-29  SL Baur  <steve@altair.xemacs.org>
5674
5675         * XEmacs 21.2-beta2 is released.
5676
5677 1998-09-27  P. E. Jareth Hein  <jareth@camelot.co.jp>
5678
5679         * regex.c (re_match_2_internal): Add in code to reset lowest_active_reg
5680         to prevent memory corruption in the case of jumping out of a series of
5681         nested match patterns. This is a rather brute force approach, though.
5682
5683 1998-09-02  Andy Piper  <andyp@parallax.co.uk>
5684
5685         * config.h.in: ditto.
5686
5687         * s/cygwin32.h: rearrange declarations to cope with cygwin
5688         b20. Include cygwin32/version.h if it exists.
5689
5690 1998-09-20  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5691
5692         * device-msw.c (mswindows_init_device): Call new
5693           mswindows_enumerate_fonts() function in objects-msw.c instead
5694           of font_enum_callback_1() to enumerate fonts.
5695
5696           font_enum_callback_1() and _2() moved to objects-msw.c.
5697
5698         * faces.c (complex_vars_of_faces): Make the mswindows default
5699           face font fully specified and provide some fallbacks.
5700
5701         * objects-msw.c: font_enum_callback_1() and _2() moved here
5702           from objects-msw.c. Obtain the enumerated font's character
5703           sets by table lookup instead of using the locale-specific
5704           string provided by Windows.
5705
5706           New public non-method mswindows_enumerate_fonts() that fills
5707           in the supplied mswindows device's font list.
5708
5709           mswindows_initialize_font_instance: Use the supplied name
5710           variable instead of f->name when signalling errors. Match font
5711           weights and character sets using lookup tables which handle
5712           spaces instead of by frobbing.
5713
5714 1998-09-20  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5715
5716         * process-nt.c: Define an arbitrary limit, FRAGMENT_CODE_SIZE,
5717           on the size of code fragments passed to run_in_other_process.
5718
5719           run_in_other_process(): Use FRAGMENT_CODE_SIZE to determine
5720           the amount of memory to allocate in the other process.
5721
5722           Removed sigkill_code_end(), sigint_code_end() and
5723           sig_enable_code_end() since they are now redundant.
5724
5725           send_signal() and enable_child_signals(): Don't try to work
5726           out the end of the code fragments passed to
5727           run_in_other_process()
5728
5729 1998-09-10  Kazuyuki IENAGA  <ienaga@jsys.co.jp>
5730
5731         * src/s/freebsd.h: Added __ELF__ and compiler/liker flags for
5732         FreeBSD-current.
5733
5734         * src/unexelf.c: Partially synched with FSF's 20.3.
5735
5736 1998-09-10  Hrvoje Niksic  <hniksic@srce.hr>
5737
5738         * insdel.c (signal_after_change): Map across indirect buffers
5739         here, and not in the upper-level functions.
5740         (signal_first_change): Don't check for Armageddon.
5741         (signal_before_change): Map across indirect buffers here.
5742         (prepare_to_modify_buffer): ...and here.
5743
5744 1998-09-09  Hrvoje Niksic  <hniksic@srce.hr>
5745
5746         * insdel.c (signal_after_change): Add return value.
5747         (buffer_insert_string_1): Use it.
5748         (buffer_delete_range): Ditto.
5749         (buffer_replace_char): Ditto.
5750         (cancel_multiple_change): Map the indirect buffers.
5751
5752 1998-09-06  Hrvoje Niksic  <hniksic@srce.hr>
5753
5754         * insdel.c (init_buffer_text): Remove INDIRECT_P parameter.
5755         (uninit_buffer_text): Ditto.
5756
5757         * buffer.c (Fmake_indirect_buffer): Implement stricter
5758         error-checking.
5759
5760 1998-09-04  Hrvoje Niksic  <hniksic@srce.hr>
5761
5762         * insdel.c (change_function_restore): Reverse order of
5763         function-call and assignment.
5764         (first_change_hook_restore): Ditto.
5765
5766         * extents.c (mark_extent_auxiliary): Mark them.
5767         (Fset_extent_property): Set them.
5768         (Fextent_property): Get them.
5769         (Fextent_properties): Ditto.
5770         (vars_of_extents): Set their default.
5771
5772         * extents.h (struct extent_auxiliary): Add before_change_functions
5773         and after_change_functions.
5774
5775         * insdel.c (signal_before_change): Use it.
5776         (signal_after_change): Ditto.
5777
5778         * extents.c (report_extent_modification): New function.
5779
5780         * insdel.c (signal_before_change): Don't check for Armageddon.
5781         (signal_after_change): Ditto.
5782
5783 1998-09-11  Gunnar Evermann  <Gunnar.Evermann@nats.informatik.uni-hamburg.de>
5784
5785         * redisplay.c (redisplay_window): make sure a new starting point
5786         is chosen if it somehow got moved from the beginning of the line
5787         -- this can happen because Fwiden was called recently.
5788
5789         * window.c (Fset_window_start): set start_at_line_beg correctly
5790         (Fset_window_buffer): Ditto
5791
5792 1998-09-06  Hrvoje Niksic  <hniksic@srce.hr>
5793
5794         * insdel.c (init_buffer_text): Remove INDIRECT_P parameter.
5795         (uninit_buffer_text): Ditto.
5796
5797         * buffer.c (Fmake_indirect_buffer): Implement stricter
5798         error-checking.
5799
5800 1998-05-14  Jan Vroonhof  <vroonhof@math.ethz.ch>
5801
5802         * emacs.c (main_1): Removed references to *vars_of_filelock.
5803
5804         * lisp.h: Added Fsystem_name.
5805
5806         * filelock.c: Replaced by version from FSF 20.2. Now implements
5807         locking by using symlinks which is NFS safe. However keep the
5808         GCPRO's in lock_file and the calls to callx_in_buffer like our old
5809         version (and of course use ansi C, acessor macros, etc).
5810
5811 1998-09-06  Jan Vroonhof  <vroonhof@math.ethz.ch>
5812
5813         * process-unix.c (unix_create_process): Reset SIGHUP handler to
5814         SIG_DFL. We now try to conserve any inherted SIG_IGN settings
5815         in init_signals_very_early. However these should not be passed
5816         on to children attached to the new pty.
5817
5818 1998-08-28  Andy Piper  <andyp@parallax.co.uk>
5819
5820         * glyphs-eimage.c (png_instantiate_unwind): clean up eimage after use.
5821
5822 1998-09-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5823
5824         * fileio.c (file-name-directory, file_name_as_directory):
5825           Don't call CORRECT_DIR_SEPS, even when #defined WINDOWSNT.
5826
5827 1998-09-02  Andy Piper  <andyp@parallax.co.uk>
5828
5829         * emacs.c (main_1): init_ralloc() if initialised and we have REL_ALLOC
5830
5831         * ralloc.c: uncomment __morecore.
5832
5833 1998-09-92  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5834
5835         * event-msw.c(winsock_writer): Supply a dummy 4th argument to
5836           WriteFile() to fix a winsock 1.x bug on Win95.
5837
5838 1998-08-28  Hrvoje Niksic  <hniksic@srce.hr>
5839
5840         * event-Xt.c (emacs_Xt_mapping_action): Check for device being
5841         deleted.
5842         (x_event_to_emacs_event): Ditto.
5843         (emacs_Xt_handle_focus_event): Ditto.
5844         (emacs_Xt_handle_magic_event): Ditto.
5845
5846         * console-x.h (struct x_device): New flag being_deleted.
5847         (DEVICE_X_BEING_DELETED): New macro.
5848
5849         * device-x.c (x_IO_error_handler): Throw to top-level instead of
5850         returning.  Before doing that, set the being_deleted flag on the
5851         device.
5852
5853 1998-08-27  Hrvoje Niksic  <hniksic@srce.hr>
5854
5855         * device-x.c (x-seppuku-on-epipe): Removed.
5856
5857 1998-08-26  Gunnar Evermann  <Gunnar.Evermann@nats.informatik.uni-hamburg.de>
5858
5859         * frame-x.c (x_delete_frame): Flush the X output buffer after
5860         calling XtDestroyWidget to ensure that the windows are really
5861         killed right now.
5862
5863 1998-08-26  Hrvoje Niksic  <hniksic@srce.hr>
5864
5865         * menubar-x.c (my_run_hook): New unused function.
5866         (pre_activate_callback): Use run_hook for Qactivate_menubar_hook,
5867         since we ignore the results of the contained functions anyway.
5868
5869 1998-08-26  P. E. Jareth Hein  <jareth@camelot.co.jp>
5870
5871         * glyphs-eimage.c (gif_instantiate): Fix a crash in handling
5872         interlaced GIF files that are smaller than 4 lines high...
5873
5874 1998-08-31  Hrvoje Niksic  <hniksic@srce.hr>
5875
5876         * buffer.c (map_over_sharing_buffers): Deleted.
5877
5878         * insdel.c (MAP_INDIRECT_BUFFERS): Move to buffer.h.
5879
5880         * buffer.c (Fkill_buffer): Keep indirect_children updated while
5881         killing them.
5882
5883 1998-08-31  Hrvoje Niksic  <hniksic@srce.hr>
5884
5885         * insdel.c (buffer_insert_string_1): Advance the point bytind in
5886         all the buffers.
5887         (buffer_delete_range): Ditto.
5888
5889         * marker.c (init_buffer_markers): Set point-marker to the value of
5890         point in an indirect buffer.
5891
5892 1998-08-30  Hrvoje Niksic  <hniksic@srce.hr>
5893
5894         * undo.c (undo_prelude): Test last-undo-buffer against base
5895         buffer.
5896
5897         * insdel.c (MAP_INDIRECT_BUFFERS): Use it.
5898
5899         * buffer.h (BUFFER_BASE_BUFFER): New macro.
5900
5901 1998-08-30  Hrvoje Niksic  <hniksic@srce.hr>
5902
5903         * insdel.c (init_buffer_text): Initialize it here.
5904
5905         * line-number.c: Address line_number_cache through buffer->text.
5906
5907         * buffer.c (mark_buffer): Mark line number cache.
5908
5909         * bufslots.h (line_number_cache): Move to struct buffer_text.
5910
5911         * insdel.c (buffer_insert_string_1): Propagate signals and changes
5912         across the children buffers.
5913         (buffer_delete_range): Ditto.
5914         (buffer_replace_char): Ditto.
5915         (gap_left): Ditto.
5916         (gap_right): Ditto.
5917
5918         * insdel.c (MAP_INDIRECT_BUFFERS): New macro.
5919
5920         * buffer.c (Fmake_indirect_buffer): Uncomment.
5921
5922 1998-08-31  Hrvoje Niksic  <hniksic@srce.hr>
5923
5924         * macros.c (Fend_kbd_macro): Remove trailing period from error
5925         message.
5926         (Fexecute_kbd_macro): Ditto.
5927
5928 1998-08-21  Greg Klanderman  <greg@alphatech.com>
5929
5930         * dired.c (Fuser_name_completion): remove optional 2nd argument.
5931         (Fuser_name_completion_1): new function to return uniqueness
5932         indication in addition to the user name completion.
5933         (user_name_completion): change type of `uniq' argument.
5934
5935 1998-08-19  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
5936
5937         * lread.c (vars_of_lread): Removed `source-directory' variable.
5938
5939 1998-08-22  Hrvoje Niksic  <hniksic@srce.hr>
5940
5941         * fileio.c (Ffile_readable_p): Apply the DOS/Windows logic to
5942         Cygwin.
5943
5944 1998-08-19  SL Baur  <steve@altair.xemacs.org>
5945
5946         * dired.c (vars_of_dired): Fix misapplied patch.
5947
5948 1998-08-16  Martin Buchholz  <martin@xemacs.org>
5949
5950         * fns.c (Fremrassq, remrassq_no_quit):
5951         A XCAR that should have been an XCDR turned Fremrassq into Fremassq
5952
5953 1998-07-17  Didier Verna  <verna@inf.enst.fr>
5954
5955         * redisplay-x.c (x_get_gc): returns a GC with a FillStipple fill
5956         style as foreground GC for faces that have the `dim' property.
5957         (x_output_string): when the `dim' face property is set,
5958         ensure the gray pixmap has been created, and get a proper
5959         foreground GC to draw the text.
5960
5961 1998-08-09  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5962
5963         * event-msw.c (mswindows_wnd_proc): Workaround for a Win95 bug:
5964           Manually track the state of the left and right Ctrl and Alt
5965           modifiers.
5966
5967 1998-08-07 Matt Stupple <matts@tibco.com>
5968
5969         * ntproc.c: don't wait on char_consumed at thread entry.
5970         Additionally, to get the 'process' marked as finished, ensure
5971         that the CHILD_ACTIVE macro returns false, so before exiting
5972         close char_avail and set it to NULL, and close other handles
5973         to reduce handle leak problems.
5974
5975 1998-08-09  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5976
5977         * menubar-msw.c (displayable_menu_item): take account of menu
5978           depth when deciding whether to try to display accelerators.
5979
5980 1998-08-04  Andy Piper  <andyp@parallax.co.uk>
5981
5982         * event-msw.c: use MsgWaitForMultipleObjects if there are no
5983         subprocesses.
5984
5985         * glyphs-msw.c: fix a couple of potential handle leaks.
5986
5987 1998-08-04  P. E. Jareth Hein  <jareth@camelot.co.jp>
5988
5989         * dgif_lib.c gif_io.c gifrlib.h: New files to put GIF
5990           *decoding ONLY* back into the core.
5991         * glyphs-eimage.c: Change referenced header file for GIF
5992           reading to point to the incore version.
5993
5994 1998-07-20  Martin Buchholz  <martin@xemacs.org>
5995
5996         * casefiddle.c (casify_object):
5997         Change algorithm from O(N**2) to O(N).
5998         Code cleanup.
5999         Doc string cleanup.
6000
6001 1998-07-22  Greg Klanderman  <greg@alphatech.com>
6002
6003         * dired.c (file_name_completion_unwind): don't leak the cons.
6004
6005 1998-07-20  Greg Klanderman  <greg@alphatech.com>
6006
6007         * dired.c (Fuser_name_completion): new function.
6008         (Fuser_name_all_completions): new function.
6009         (user_name_completion): new function.
6010         (syms_of_dired): 2 new DEFSUBRs.
6011         (vars_of_dired): initialize user name cache vars.
6012
6013 1998-07-29  P. E. Jareth Hein  <jareth@camelot.co.jp>
6014
6015         * glyphs-eimage.c (png_instantiate): Add proper handling for background
6016         colors taken from the default face.  Also correct a thinko in
6017         transparency (not alpha) handling.
6018
6019 1998-07-23  Martin Buchholz  <martin@xemacs.org>
6020
6021         * s/decosf4-0.h:  Use a perfectly ordinary link.  Nuke BSD crap.
6022         * unexalpha.c: ANSI C-ize.  Clean compiler warnings.
6023         * lread.c (Fload_internal):  Be very careful with printfs of
6024         size_t's
6025         * gui-x.c (menu_name_to_accelerator): tolower wants an `int'
6026         argument.
6027
6028 1998-07-27  Gunnar Evermann  <Gunnar.Evermann@nats.informatik.uni-hamburg.de>
6029
6030         * callint.c (Fcall_interactively): GCPRO prompt string before
6031         passing it to Fread_key_sequence
6032
6033 1998-07-27  SL Baur  <steve@altair.xemacs.org>
6034
6035         * keymap.c (vars_of_keymap): Initialize Vkey_translation_map and
6036         Vvertical_divider_map.
6037
6038         * mule-canna.c (vars_of_mule_canna): Initialize every symbol to
6039         Qnil or 0, none were initialized prior to this change.
6040
6041         Rename misnamed `V' prefixed integer variables:
6042         Vcanna_empty_info, Vcanna_through_info, Vcanna_underline,
6043         Vcanna_inhibit_hankakukana, Vcanna_henkan_length, Vcanna_henkan_revPos,
6044         Vcanna_henkan_revLen, Vcanna_ichiran_length, Vcanna_ichiran_revPos,
6045         Vcanna_ichiran_revLen.
6046
6047         Rename misnamed `V' prefixed integer variables and initialize
6048         properly in the vars_of routine.
6049         Vcanna_mode_AlphaMode, Vcanna_mode_EmptyMode, Vcanna_mode_KigoMode,
6050         Vcanna_mode_YomiMode, Vcanna_mode_JishuMode, Vcanna_mode_TankouhoMode,
6051         Vcanna_mode_IchiranMode, Vcanna_mode_YesNoMode, Vcanna_mode_OnOffMode,
6052         Vcanna_mode_AdjustBunsetsuMode, Vcanna_mode_ChikujiYomiMode,
6053         Vcanna_mode_ChikujiTanMode, Vcanna_mode_HenkanMode,
6054         Vcanna_mode_HenkanNyuryokuMode, Vcanna_mode_ZenHiraHenkanMode,
6055         Vcanna_mode_HanHiraHenkanMode, Vcanna_mode_ZenKataHenkanMode,
6056         Vcanna_mode_HanKataHenkanMode, Vcanna_mode_HanKataHenkanMode,
6057         Vcanna_mode_ZenAlphaHenkanMode, Vcanna_mode_HanAlphaHenkanMode,
6058         Vcanna_mode_ZenHiraKakuteiMode, Vcanna_mode_HanHiraKakuteiMode,
6059         Vcanna_mode_ZenKataKakuteiMode, Vcanna_mode_HanKataKakuteiMode,
6060         Vcanna_mode_ZenAlphaKakuteiMode, Vcanna_mode_HanAlphaKakuteiMode,
6061         Vcanna_mode_HexMode, Vcanna_mode_BushuMode, Vcanna_mode_ExtendMode,
6062         Vcanna_mode_RussianMode, Vcanna_mode_GreekMode, Vcanna_mode_LineMode,
6063         Vcanna_mode_ChangingServerMode, Vcanna_mode_HenkanMethodMode,
6064         Vcanna_mode_DeleteDicMode, Vcanna_mode_TourokuMode,
6065         Vcanna_mode_TourokuEmptyMode, Vcanna_mode_TourokuHinshiMode,
6066         Vcanna_mode_TourokuDicMode, Vcanna_mode_QuotedInsertMode,
6067         Vcanna_mode_BubunMuhenkanMode, Vcanna_mode_MountDicMode,
6068         Vcanna_fn_SelfInsert, Vcanna_fn_FunctionalInsert,
6069         Vcanna_fn_QuotedInsert, Vcanna_fn_JapaneseMode, Vcanna_fn_AlphaMode,
6070         Vcanna_fn_HenkanNyuryokuMode, Vcanna_fn_Forward, Vcanna_fn_Backward,
6071         Vcanna_fn_Next, Vcanna_fn_Prev, Vcanna_fn_BeginningOfLine,
6072         Vcanna_fn_EndOfLine, Vcanna_fn_DeleteNext, Vcanna_fn_DeletePrevious,
6073         Vcanna_fn_KillToEndOfLine, Vcanna_fn_Henkan, Vcanna_fn_Kakutei,
6074         Vcanna_fn_Extend, Vcanna_fn_Shrink, Vcanna_fn_AdjustBunsetsu,
6075         Vcanna_fn_Quit, Vcanna_fn_ConvertAsHex, Vcanna_fn_ConvertAsBushu,
6076         Vcanna_fn_KouhoIchiran, Vcanna_fn_BubunMuhenkan, Vcanna_fn_Zenkaku,
6077         Vcanna_fn_Hankaku, Vcanna_fn_ExtendMode, Vcanna_fn_ToUpper,
6078         Vcanna_fn_Capitalize, Vcanna_fn_ToLower, Vcanna_fn_Hiragana,
6079         Vcanna_fn_Katakana, Vcanna_fn_Romaji, Vcanna_fn_BaseHiragana,
6080         Vcanna_fn_BaseKatakana, Vcanna_fn_BaseEisu, Vcanna_fn_BaseZenkaku,
6081         Vcanna_fn_BaseHankaku, Vcanna_fn_BaseKana, Vcanna_fn_BaseKakutei,
6082         Vcanna_fn_BaseHenkan, Vcanna_fn_BaseHiraKataToggle,
6083         Vcanna_fn_BaseZenHanToggle, Vcanna_fn_BaseKanaEisuToggle,
6084         Vcanna_fn_BaseKakuteiHenkanToggle, Vcanna_fn_BaseRotateForward,
6085         Vcanna_fn_BaseRotateBackward, Vcanna_fn_Touroku, Vcanna_fn_HexMode,
6086         Vcanna_fn_BushuMode, Vcanna_fn_KigouMode, Vcanna_fn_Mark,
6087         Vcanna_fn_TemporalMode, Vcanna_key_Nfer, Vcanna_key_Xfer,
6088         Vcanna_key_Up, Vcanna_key_Left, Vcanna_key_Right, Vcanna_key_Down,
6089         Vcanna_key_Insert, Vcanna_key_Rollup, Vcanna_key_Rolldown,
6090         Vcanna_key_Home, Vcanna_key_Help, Vcanna_key_KP_Key,
6091         Vcanna_key_Shift_Nfer, Vcanna_key_Shift_Xfer, Vcanna_key_Shift_Up,
6092         Vcanna_key_Shift_Left, Vcanna_key_Shift_Right, Vcanna_key_Shift_Down,
6093         Vcanna_key_Cntrl_Nfer, Vcanna_key_Cntrl_Xfer, Vcanna_key_Cntrl_Up,
6094         Vcanna_key_Cntrl_Left, Vcanna_key_Cntrl_Right, Vcanna_key_Cntrl_Down
6095
6096 1998-07-16  Jan Vroonhof  <vroonhof@math.ethz.ch>
6097
6098         * event-Xt.c (x_to_emacs_keysym): Return nil for modifier keysyms.
6099         (x_event_to_emacs_event): Let x_to_emacs_keysym check for modifier
6100         keys thus no longer considering all keysyms on a key.
6101
6102 1998-07-19  SL Baur  <steve@altair.xemacs.org>
6103
6104         * XEmacs 21.2-beta1 is released.
6105
6106 1998-07-12  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
6107
6108         * eldap.c (Fldap_search_internal): When converting the list of
6109         attributes to search Copy the final 0 from Lisp strings to C
6110         strings.
6111         Check base, not Vldap_default_base as a a string
6112
6113 1998-07-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6114
6115         * nt.c: Remove Vstdio_str; already defined in console-stream.c.
6116
6117         * unexnt.c: Unconditionally define bss_start and bss_size, and
6118           ensure that they don't go in the .bss section.
6119
6120 1998-07-17  Olivier Galibert  <galibert@pobox.com>
6121
6122         * glyphs-x.c (convert_EImage_to_XImage):  Fix previous patch (conv
6123         byte order is dependant  of  the local  byte order).
6124         From Takeshi Hagiwara <hagiwara@ie.niigata-u.ac.jp>
6125
6126 1998-07-18  SL Baur  <steve@altair.xemacs.org>
6127
6128         * glyphs-msw.c (mswindows_resource_normalize): Qresource ->
6129         Qmswindows_resource.
6130         From Jonathan Harris <jhar@tardis.ed.ac.uk>
6131
6132 1998-07-12  SL Baur  <steve@altair.xemacs.org>
6133
6134         * general.c (syms_of_general): Add defsymbol for Qresource.
6135
6136         * glyphs-msw.c (vars_of_glyphs_mswindows): Rename Qresource to
6137         Qmswindows_resource.
6138         (TopLevel): Rename 'resource image format to 'mswindows_resource.
6139         (mswindows_resource_validate): Rename.
6140         (mswindows_resource_normalize): Rename.
6141         (mswindows_resource_possible_dest_types): Rename.
6142         (mswindows_resource_instantiate): Rename.
6143         (image_instantiator_format_create_glyphs_mswindows): Replace
6144         `resource' with `mswindows.resource'.
6145
6146         * XEmacs 21.0-pre5 is released.
6147
6148 1998-07-10  SL Baur  <steve@altair.xemacs.org>
6149
6150         * mule-wnnfns.c (Fwnn_open): Correctly trap on misdefined Wnn
6151         server type in environment.
6152         Use alloca-ed strings instead of tiny fixed size ones.
6153
6154 1998-07-09  SL Baur  <steve@altair.xemacs.org>
6155
6156         * XEmacs 21.0-pre4 is released.
6157
6158 1998-07-01  James N. Potts  <jnpotts@plutonium.net>
6159
6160         * fileio.c: (expand_file_name): under win32: Don't treat names
6161         as UNC names if a drive letter has been specified.  If a drive
6162         has been specified, strip out extra directory-seperators that
6163         reportedly cause problems under Win95.
6164
6165 1998-07-09  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6166
6167         * windowsnt.h: Define DUMP_SEPARATE_SECTION when building with
6168           MSVC >= 5.0. Put emacs init and zero-init data in a special
6169           section of the executable when this is defined.
6170
6171         * unexnt.c, ntheap.h:
6172           Removed unused find_section() and get_section_size().
6173
6174         * unexnt.c:
6175           Fix up the executable's checksum after dumping otherwise the
6176           profiler complains.
6177           When DUMP_SEPARATE_SECTION is defined, don't need to dump
6178           zero-init data separately from init data. Dump emacs data
6179           into a special section of the executable.
6180           When DUMP_SEPARATE_SECTION not defined, dump .bss up to
6181           my_ebss instead of up to the end of bss.
6182
6183 1998-07-09  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6184
6185         * filelock.c: Removed Vconfigure_lock_directory - already
6186           defined in emacs.c.
6187
6188         * frame-msw.c: Removed Qinitially_unmapped and Qpopup - already
6189           defined in frame.c and general.c respectively.
6190
6191         * glyphs-msw.c: Removed Qresource - already defined in
6192           general.c.
6193
6194 1998-07-05  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
6195
6196         * eldap.c (Fldap_search_internal): Docstring fixes
6197
6198 1998-07-04  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6199
6200         * nt.c (init_environment): Removed unused PRELOAD_WINSOCK,
6201           EMACSDOC and TERM variables. Added EMACSDEBUGPATHS,
6202           EMACSPACKAGEPATH and INFOPATH variables.
6203           Removed unused get_emacs_configuration function.
6204
6205         * s/windowsnt.h: Don't define EMACS_CONFIGURATION here because
6206           it is now defined at build-time by the makefile.
6207
6208 1998-07-01  James N. Potts  <jnpotts@plutonium.net>
6209
6210         * fileio.c: (expand_file_name): under win32: Don't treat names as
6211         UNC names if a drive letter has been specified.  If a drive has
6212         been specified, strip out extra directory-seperators that
6213         reportedly cause problems under Win95.
6214
6215 1998-07-05  Andy Piper  <andyp@parallax.co.uk>
6216
6217         * faces.c (complex_vars_of_faces): for the gui-element face don't
6218         fallback to the default face, instead provide reasonable default
6219         fallbacks that were previously hardcoded elsewhere.
6220
6221 1998-07-06  Olivier Galibert  <galibert@pobox.com>
6222
6223         * glyphs-x.c (convert_EImage_to_XImage): Fix pixel writing problem
6224         when the X server endianness is different than the client's one.
6225
6226 1998-06-29  Kyle Jones  <kyle_jones@wonderworks.com>
6227
6228         * eval.c (run_hook_with_args_in_buffer): Check
6229           default (non-buffer-local) value of hook for
6230           nil before treating it as a function.  Don't initialize
6231           the `globals' variable twice.
6232
6233 1998-06-24  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6234
6235         * fileio.c: Don't do directory seperator canonicalisation in
6236           substitute-in-file-name because we don't know that the
6237           filename refers to a local file.
6238
6239 1998-06-24  Adrian Aichner  <aichner@ecf.teradyne.com>
6240
6241         * process-nt.c (nt_create_process): Try appending the standard
6242           executable file extensions to the filename if none supplied.
6243
6244 1998-06-29  SL Baur  <steve@altair.xemacs.org>
6245
6246         * fileio.c (Fsubstitute_in_file_name): Enable double slash notation
6247         for cygwin32.
6248         From Keisuke Mori <ksk@ntts.com>
6249
6250 1998-06-24  Andy Piper  <andyp@parallax.co.uk>
6251
6252         * toolbar-msw.c (mswindows_output_toolbar): only enable masked
6253         images if we have masks. This handles the xbm case (have masks)
6254         and avoids overuse of resources in the xpm case (generally no masks).
6255         Don't output small toolbars.
6256
6257 1998-06-29  Kyle Jones  <kyle_jones@wonderworks.com>
6258
6259         * eval.c (run_hook_with_args_in_buffer): Don't treat
6260           the default value of a buffer local hook as a list of
6261           hooks unless it is both a cons and the car of that cons
6262           is not Qlambda.
6263
6264 1998-06-29  SL Baur  <steve@altair.xemacs.org>
6265
6266         * extents.c: Email address for Ben Wing is ben@xemacs.org.
6267         * process-unix.c: Ditto.
6268         * mule-coding.h: Ditto.
6269         * mule-coding.c: Ditto.
6270         * mule-charset.c: Ditto.
6271         * mule-charset.h: Ditto.
6272         * file-coding.c: Ditto.
6273         * file-coding.h: Ditto.
6274
6275 1998-06-22  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6276
6277         * event-msw.c: Guard against recursion when freeing
6278           FRAME_MSWINDOWS_TARGET_RECT struture in WM_SIZE processing.
6279
6280         * frame-msw.c: Don't set WS_VISIBLE attribute on first frame.
6281           Call ShowWindow twice in init_frame_3 to get round runemacs
6282           weirdness.
6283
6284 1998-06-27  Hrvoje Niksic  <hniksic@srce.hr>
6285
6286         * scrollbar.c (vertical_scrollbar_changed_in_window): Ditto.
6287
6288         * winslots.h: Rename.
6289
6290         * window.c (specifier_vars_of_window): Renamed
6291         vertical-divider-draggable-p to vertical-divider-always-visible-p,
6292         as suggested by Ben Wing.
6293         (specifier_vars_of_window): Fix docstrings.
6294
6295 1998-06-22  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
6296
6297         * unexaix.c: Line number information works correctly again.
6298
6299 1998-06-22  Olivier Galibert  <galibert@pobox.com>
6300
6301         * emacs.c (__sti__iflPNGFile_c___): Added. See comment. Cry.
6302
6303 1998-06-21  Martin Buchholz  <martin@xemacs.org>
6304
6305         * editfns.c (get_home_directory): ANSIfy.
6306         XEmacs is compilable under C *and* C++.
6307         It's XEmacs, not Xemacs!
6308
6309 1998-06-19  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6310
6311         * console-msw.h: added a list of fonts to device data.
6312
6313         * device-msw.c: enumerate list of available fonts in
6314           mswindows_init_device. Free list in mswindows_delete_device.
6315
6316         * objects-msw.c: Added helper function match_font used by
6317           mswindows_initialize_font_instance and mswindows_list_fonts.
6318           Allow a charset to be specified in a font string, even if
6319           previous fields havn't been specified.
6320
6321 1998-06-23  Greg Klanderman  <greg@alphatech.com>
6322
6323         * indent.c (column_at_point): column cache bugfix.
6324         Set last_known_column_point to the buffer position for
6325         which the column was requested, not buffer's point.
6326
6327         * redisplay.c (decode_mode_spec): for current-column, show
6328         window's point's column, not buffer's point's column.
6329
6330 1998-06-23  Andy Piper  <andyp@parallax.co.uk>
6331
6332         * menubar-msw.c (mswindows_handle_wm_command): use
6333         enqueue_misc_user event rather than
6334         mswindows_enqueue_msic_user_event to fix customize problems. Add some
6335         checks that X does.
6336
6337         * console-msw.h: declare mswindows_enqueue_magic_event.
6338
6339         * event-msw.c (mswindows_enqueue_magic_event): make global.
6340
6341 1998-06-24  Hrvoje Niksic  <hniksic@srce.hr>
6342
6343         * line-number.c (LINE_NUMBER_FAR): Reverted to 16384.
6344         (buffer_line_number): Use EMACS_INT_MAX instead of random LOTS.
6345         (add_position_to_cache): Use EMACS_INT instead of int.
6346
6347 1998-06-21  Olivier Galibert  <galibert@pobox.com>
6348
6349         * lisp-disunion.h (XMARKBIT): Have XMARKBIT return something
6350         suitable for an int used as a boolean (btw, C sucks.).
6351
6352 1998-06-18  Andy Piper  <andyp@parallax.co.uk>
6353
6354         * object-msw.c: remove warnings.
6355
6356         * device-msw.c: #define wrongly named cygwin structure elements.
6357
6358         * s/cygwin32.h: define DEMI_BOLD
6359
6360 1998-06-19  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6361
6362         * redisplay-msw.c: new function mswindows_apply_face_effects.
6363           This is called by output_string and output_cursor to display
6364           underline and strikeout on faces.
6365
6366 1998-06-19  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6367
6368         * console-msw.h: added a list of fonts to device data.
6369
6370         * device-msw.c: enumerate list of available fonts in
6371           mswindows_init_device. Free list in mswindows_delete_device.
6372
6373         * objects-msw.c: Added helper function match_font used by
6374           mswindows_initialize_font_instance and mswindows_list_fonts.
6375           Allow a charset to be specified in a font string, even if
6376           previous fields havn't been specified.
6377
6378 1998-06-15  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6379
6380         * objects-msw.c:
6381           Removed compilation warnings from mswindows_string_to_color.
6382           mswindows_list_fonts returns a more general bogus font.
6383           New lisp-visible function mswindows-color-list.
6384
6385 1998-06-19  David Bush <david.bush@adn.alcatel.com>
6386
6387         * editfns.c (Fuser_login_name): Modify to user new function
6388         user_login_name.
6389         (user_login_name): C only function to avoid Lisp object overhead
6390         Returns "unknown" instead of nil in Cygwin environment
6391
6392         * fileio.c (Fexpand_file_name): Treat "~" and "~user" as
6393         equivalent for current user in Cygwin environment. Use new
6394         function user_login_name to get username.
6395
6396         * lisp.h: Declare user_login_name
6397
6398 1998-06-18  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
6399
6400         * unexaix.c (make_hdr): Fixed bias computations so debugging info
6401         works again.
6402         Some other insignificant nitpicks.
6403
6404 1998-06-18  Andy Piper  <andyp@parallax.co.uk>
6405
6406         * toolbar-msw.c (mswindows_output_toolbar): specify ILC_MASK when
6407         creating the image list and make sure he bk color is transparent.
6408
6409 1998-06-18  Jan Vroonhof  <vroonhof@math.ethz.ch>
6410
6411         * event-Xt.c (emacs_Xt_remove_timeout): Also remove timeout from
6412         completed_timeouts. The timer could have expired.
6413
6414 1998-06-17  Andy Piper  <andyp@parallax.co.uk>
6415
6416         * console-msw.h: move XEMACS_RECT_WH inside frame
6417         parameters. define macors to access it.
6418
6419         * frame-msw.c (mswindows_init_frame_1): use new target_rect
6420         parameter to intialise desired sizing. (mswindows_init_frame_2):
6421         enable and size the frame to something sensible when we get
6422         here. (mswindows_set_frame_properites): use new
6423         mswindows_size_frame_internal function and size frame if frame
6424         parameters not just if init is finished - WM_SIZE happens too
6425         early for some specs. (mswindows_size_frame_internal): new
6426         function abstracted from mswindows_set_frame_properties.
6427         (Vmswindows_use_system_frame_size_defaults):
6428         new variable controls whether to allow the system to pick frame
6429         size defaults, defaults to nil.
6430
6431         * event-msw.c: in WM_SIZE use mswindows_size_frame_internal rather
6432         than duplicated code.
6433
6434 1998-06-15  Colin Rafferty <colin@xemacs.org>
6435
6436         * Makefile.in.in: Made EXTW_LINK expand properly.
6437
6438 1998-06-12  Martin Buchholz  <martin@xemacs.org>
6439
6440         * redisplay.c (vars_of_redisplay): default value of
6441         column-number-start-at-one should be NIL!
6442
6443 1998-06-11  Martin Buchholz  <martin@xemacs.org>
6444
6445         * casefiddle.c:
6446         (upcase-initials "fooBar") ==> "FooBar" instead of "Foobar"
6447
6448 1998-06-05  Hrvoje Niksic  <hniksic@srce.hr>
6449
6450         * eldap.c (Fldap_search_internal): Use build_ext_string instead of
6451         build_string to avoid crashes under Mule.
6452
6453 1998-06-13  Andy Piper  <andyp@parallax.co.uk>
6454
6455         * ntplay.c (play_sound_data_1): don't delete the sound data until
6456         the next sound is played and the previous one finished.
6457
6458 1998-06-10  Samuel Mikes  <smikes@alumni.hmc.edu>
6459
6460         * fileio.c (directory-sep-char): Escape backslashes.
6461
6462 1998-06-10  Hrvoje Niksic  <hniksic@srce.hr>
6463
6464         * event-stream.c: Fix docstring reference.
6465
6466 1998-06-12  Hrvoje Niksic  <hniksic@srce.hr>
6467
6468         * alloc.c (make_float): Remove useless initialization of `next'
6469         field.
6470         (make_pure_float): Ditto.
6471
6472         * lisp.h (struct Lisp_Float): Rename `next' to `__unused__next'.
6473
6474 1998-06-08  Kirill M. Katsnelson  <kkm@kis.ru>
6475
6476         * fileio.c (Fmake_directory_internal): Remove conditionals
6477         on WINDOWSNT when calling mkdir.
6478
6479         * ntproc.c: Deleted the following unused functions:
6480         register_child, reap_subprocess, sys_wait.
6481
6482         * nt.c (sys_rename): Ifzeroed this implementation.
6483         Deleted the following unused functions:
6484         sys_access, sys_chdir, sys_chmod, sys_creat, sys_link, sys_mkdir,
6485         sys_mktemp, sys_rmdir, sys_unlink, sys_close, sys_dup, sys_dup2,
6486         sys_read, sys_write.
6487         Merger sys_fopen and sys_open with sysdep.c implementation.
6488
6489         * sysdep.c: Removed MS-DOS code.
6490         (sys_rename): Deal with Microsoft rename weirdness.
6491         (sys_open): Implemented for Windows.
6492         (sys_fopen): Ditto.
6493         (sys_mkdir): Ditto.
6494
6495 1998-06-08  Kirill M. Katsnelson  <kkm@kis.ru>
6496
6497         * buffer.c (complex_vars_of_buffer): Removed %t description from
6498         the docstring.
6499
6500 1998-06-04  Rick Rankin  <Rick_Rankin-P15254@email.mot.com>
6501
6502         * scrollbar-msw.c: initialize the cbSize element of the
6503         SCROLLINFO struct before calling SetScrollInfo. WinNT seems
6504         to ignore the value of cbSize, but Win95 (and I presume Win98)
6505         appear to want it set to sizeof(SCROLLINFO).
6506
6507 1998-06-04  Kirill M. Katsnelson  <kkm@kis.ru>
6508
6509         * event-stream.c: Defined Qcancel_mode_internal.
6510         (syms_of_event_stream): defsymbol'ed it.
6511
6512         * events.h: Externed it.
6513
6514         * event-msw.c (mswindows_wnd_proc, WM_CANCELMODE): Added this handler.
6515
6516 1998-06-04  Oliver Graf <ograf@fga.de>
6517
6518         * frame-x.c (x_cde_destroy_callback): free the data
6519         (cde-start-drag-internal) corrected root position, 21.1 needs this
6520         hardcoded in Button events
6521         (offix-start-drag-internal) corrected root position
6522
6523 1998-06-03  Kirill M. Katsnelson  <kkm@kis.ru>
6524
6525         * process-nt.c (signal_cannot_launch): Use signal_simple_error()
6526         instead of error().
6527
6528 1998-06-03  Kirill M. Katsnelson  <kkm@kis.ru>
6529
6530         * dialog-msw.c (button_width): Removed `inline' from the function
6531         declaration.
6532
6533 1998-06-03  Rick Rankin  <Rick_Rankin-P15254@email.mot.com>
6534
6535         * frame-msw.c: add WS_VISIBLE flag to the first frame created.
6536         Note that adding this flag to subsequent frames causes problems.
6537
6538 1998-06-03  Gunnar Evermann  <Gunnar.Evermann@nats.informatik.uni-hamburg.de>
6539
6540         * glyphs-eimage.c (png_instantiate) move 'struct
6541         png_memory_storage tbr' out of nested block to avoid dangling
6542         reference
6543
6544 1998-06-02  Andy Piper  <andyp@parallax.co.uk>
6545
6546         * faces.h:
6547         * faces.c: rename 3d-object -> gui-element. add toolbar face which
6548         inherits from gui-element.
6549
6550         * glyphs-msw.c: use DIBitmaps for xbm bitmaps to be consistent
6551         with existing code, generate masks correctly.
6552
6553 1998-06-03  P. E. Jareth Hein  <jareth@camelot-soft.com>
6554
6555         * glyphs-eimage.c: Changed included header for gifs to use
6556         Gifreader instead of giflib.
6557
6558         * glyphs-x.c: removed the image-related functions that were
6559         moved into glyphs-eimage.
6560
6561 1998-06-02  David Bush  <david.bush@adnb.alcatel.com>
6562
6563         * glyphs.c (bitmap_to_lisp_data) Define XFree to be free
6564         if built without X Windows support.
6565
6566 1998-06-02  Hrvoje Niksic  <hniksic@srce.hr>
6567
6568         * fns.c (Fconcat): Synch docstring with new reality.
6569
6570 1998-06-03  SL Baur  <steve@altair.xemacs.org>
6571
6572         * frame.c: Remove reference to msdos.h (which is going away).
6573         Suggested by Hrvoje Niksic and Kirill Katsnelson.
6574
6575 1998-06-02  P. E. Jareth Hein  <jareth@camelot-soft.com>
6576
6577         * glyphs-eimage.c (jpeg_instantiate): Fix handling of
6578         grayscale images/
6579
6580
6581 1998-05-30  Kirill M. Katsnelson  <kkm@kis.ru>
6582
6583         * events.h: Fixed commentary about misc-user scrollbar events.
6584
6585         * scrollbar-x.c (x_update_vertical_scrollbar_callback): Use frame
6586         object as an event channel, instead of window object.
6587         (x_update_horizontal_scrollbar_callback): Ditto.
6588
6589 1998-05-29  Andy Piper  <andyp@parallax.co.uk>
6590
6591         * ntplay.c (play_sound_data_1) new function. convert alloca data
6592         to malloc if necessary.
6593         (play_sound_file): if the file is not in our path then convert to
6594         data and play.
6595
6596 1998-06-01  SL Baur  <steve@altair.xemacs.org>
6597
6598         * mule-mcpath.c (mc_chdir): Reverse parameters in call to memcpy.
6599         * msdos.c (Frecent_doskeys): Ditto.
6600
6601         * unexalpha.c (unexec): Reverse parameters in call to memcpy.
6602         Suggested by Reggie Perry <perry@zso.dec.com>
6603
6604         * buffer.h: Eliminate size in declaration.
6605
6606 1998-06-01  Olivier Galibert  <galibert@pobox.com>
6607
6608         * unexelfsgi.c (unexec): Cleanup n/nn and remove useless kludge.
6609
6610 1998-06-01  Kirill M. Katsnelson  <kkm@kis.ru>
6611
6612         * gui.c (gui_item_init): Changed the default value for config member
6613         from Qunbound to Qnil.
6614
6615 1998-06-01  Greg Klanderman  <greg@alphatech.com>
6616
6617         * indent.c (vmotion_pixels): Don't #define abs().
6618
6619 1998-05-30  Kirill M. Katsnelson  <kkm@kis.ru>
6620
6621         * s/windowsnt.h: Defined popen and pclose to be _popen and _pclose
6622         respectively.
6623
6624 1998-05-30  Andy Piper  <andyp@parallax.co.uk>
6625
6626         * glyphs.h: add xbm declarations.
6627
6628         * console.h: add xbm_instantiate_method device method.
6629
6630         * glyphs.c (check_valid_xbm_inline) (xbm_validate)
6631         (bitmap_to_lisp_data) (xbm_mask_file_munging) (xbm_normalize)
6632         (xbm_possible_dest_types): moved here from glyphs-x.c. use
6633         locate_pixmap_file device method and read_bitmap_data_from_file
6634         instead of XmuReadBitmapDataFromFile.
6635         (xbm_instatntiate): make a device method.
6636
6637         * glyphs-x.c: see glyphs.c changes. (read_bitmap_data_from_file)
6638         new function that just calls XmuReadBitmapDataFromFile.
6639         (x_xbm_instatntiate): device method from xbm_instantiate.
6640
6641         * glyphs-msw.c (read_bitmap_data) (NextInt)
6642         (read_bitmap_data_from_file): new functions copied from Xmu
6643         sources.
6644         (xbm_create_bitmap_from_data) from Ben <ben@666.com> convert
6645         inline data to an mswindows bitmap.
6646         (init_image_instance_from_xbm_inline) (xbm_instantiate_1)
6647         (mswindows_xbm_instantiate): mswindows-ized versions of the X
6648         functions.
6649
6650 1998-05-30  Kirill M. Katsnelson  <kkm@kis.ru>
6651
6652         * window.c (specifier_vars_of_window): Renamed `has_modeline-p' to
6653         `modeline-visible-p'.
6654         Declared specifier lisp variables at the beginning oh the file
6655         as static.
6656
6657         * procimpl.h (struct process_methods): Changed semantics of
6658         create_process method so it accepts lisp strings instead of
6659         char pointers.
6660
6661         * process.c (Fstart_process_internal): Moved building of
6662         unix style argv from here to process-unix.c, ...
6663
6664         * process-unix.c (unix_create_process): ... right here.
6665
6666         * process-nt.c (nt_create_process): Changed this function to
6667         support new semantics, so avoided a GC problem.
6668
6669         * events.c (Fmake_event): Document misc-user events properties.
6670         (Fmake_event): Do not allow arbitrary objects for channel property
6671         of misc-user events.
6672         (Fmake_event): Change misc-user event validation: it is function
6673         which is required, not button.
6674
6675         * event-msw.c (mswindows_user_event_p): Recognize misc user events as
6676         user events.
6677         (mswindows_enqueue_misc_user_event): Added function.
6678         (mswindows_bump_queue): Removed function.
6679         (mswindows_enqueue_magic_event): Support NULL HWND parameter.
6680         (mswindows_wnd_proc, WM_CLOSE): Use mswindows_enqueue_misc_user_event().
6681         (mswindows_wnd_proc, WM_EXITSIZEMOVE): Ditto.
6682         (emacs_mswindows_handle_magic_event): Handle XM_BUMPQUEUE, by doing
6683         really nothing, which is my personal favorite thing.
6684
6685         * console-msw.h: Removed prototype for mswindows_bump_queue().
6686         Added prototype for mswindows_enqueue_misc_user_event().
6687
6688         * menubar-msw.c (mswindows_handle_wm_command): Use
6689         mswindows_enqueue_misc_user_event().
6690
6691         * toolbar-msw.c (mswindows_handle_toolbar_wm_command): Ditto.
6692
6693         * dialog-msw.c (dialog_proc): Ditto.
6694
6695         * scrollbar-msw.c (mswindows_handle_scrollbar_event): Ditto.
6696          (mswindows_handle_scrollbar_event): Use frame, not window, for misc
6697         user events channel.
6698
6699 1998-05-29  Greg Klanderman  <greg@alphatech.com>
6700
6701         * window.c (Fwindow_displayed_text_pixel_height): was relying on
6702         incorrect semantics of vmotion_pixels which has been fixed.  don't
6703         use it anymore as it can't easily be used.
6704
6705         * indent.c (vmotion_pixels): fix off by one bug moving up.  also
6706         the motion was reported incorrectly if you tried to go past end of
6707         buffer.
6708
6709 1998-05-30  Kirill M. Katsnelson  <kkm@kis.ru>
6710
6711         * toolbar.h: Removed misleading commentary, as Martin suggested.
6712
6713 1998-05-30  Kirill M. Katsnelson  <kkm@kis.ru>
6714
6715         * lisp.h: Extern Qactivate_menubar_hook.
6716
6717         * menubar-msw.c (unsafe_handle_wm_initmenu_1): Pass correct value to
6718         run_hook ().
6719
6720 1998-05-29  Andy Piper  <andyp@parallax.co.uk>
6721
6722         * glyphs-msw.c: use BPLINE macro.
6723
6724         * select-msw.c (mswindows-selection-exists-p)
6725         (mswindows-delete-selection): doc string fixes.
6726
6727         * toolbar-msw.c (mswindows_output_toolbar): make disabled buttons
6728         unpressable. warning elimination.
6729
6730 1998-05-28  Martin Buchholz  <martin@xemacs.org>
6731
6732         * alloc.c (dbg_constants):
6733         * dbxrc:
6734         * gdbinit:
6735         Remove toolbar_data debugging code, since that lrecord has
6736         also been removed.
6737
6738 Wed May 27, 1998  Darryl Okahata  <darrylo@sr.hp.com>
6739
6740         * alloc.c: zap cached value of (user-home-directory), so that
6741           it's not undumped.
6742
6743         * buffer.c: From init_buffer(), separated out code that
6744           determined the initial directory for the *scratch* buffer, and
6745           put them into a function called "init_initial_directory()".
6746           The initial directory is now available as a global "char *"
6747           called initial_directory.
6748
6749         * buffer.h: Added extern entries for initial_directory[] and
6750           init_initial_directory().
6751
6752         * editfns.c: added new elisp function "user-home-directory",
6753         which basically returns getenv("HOME"), but attempts to use
6754         other values if $HOME isn't set.This may have to be tweaked in
6755         the future as, under Unix, "/" is used if $HOME isn't set (this
6756         probably should be set to the current directory).  To support
6757         this, a new C function, "get_home_directory()", now exists,
6758         which returns the "home directory", as a "char *" string.
6759
6760         * emacs.c: Rearrange NT initialization order so that
6761         environment/registry variables will be properly entered into
6762         Vprocess_enviroment.
6763
6764         * fileio.c: replaced egetenv("HOME") with calls to the new
6765           get_home_directory().
6766
6767         * lisp.h: Added function prototypes for uncache_home_directory()
6768           and get_home_directory(), along with lisp prototypes for
6769           Fuser_home_directory() and friends.
6770
6771         * nt.c: replaced getenv("HOME") with calls to the new
6772           get_home_directory().
6773
6774         * sysfile.h: for WINDOWSNT, #include <direct.h>, to suppress
6775           warnings about getcwd(), etc. not having prototypes.
6776
6777 1998-05-28  Kirill M. Katsnelson  <kkm@kis.ru>
6778
6779         * process-nt.c (send_signal): Emulate SIGHUP.
6780         (validate_signal_number): Ditto.
6781
6782         * event-msw.c (mswindows_wnd_proc, WM_KEYDOWN): Unconditionally
6783         remove MOD_SHIFT from ASCII characters.
6784         (mswindows_wnd_proc, WM_KEYDOWN): Do not activate the menubar when
6785         F10 is pressed.
6786
6787 1998-05-24  Oliver Graf <ograf@fga.de>
6788
6789         * frame-x.c (cde-start-drag-internal): added filename and multi-
6790         data transfers
6791         (x_cde_convert_callback) dito
6792
6793 1998-05-26  Oliver Graf <ograf@fga.de>
6794
6795         * frame-x.c: include event-mod.h also with CDE
6796         (x_cde_convert_callback) made the thing working
6797         (cde-start-drag-internal) also debugging
6798
6799 1998-05-25  Hans Guenter Weigand  <hgweigand@wiesbaden.netsurf.de>
6800
6801         * m/sparc.h:
6802         * getloadavg.c:
6803         * malloc.c:
6804         * unexec.c:
6805         * mem-limits.h:
6806           - add __OpenBSD__ where __NetBSD__ was found.
6807           - TODO: replace platform-specific conditional compilation by
6808             feature tests in configure.in.
6809
6810 1998-05-15  Greg Klanderman  <greg@alphatech.com>
6811
6812         * window.c (Fwindow_displayed_text_pixel_height): New function.
6813         (syms_of_window): DEFSUBR it.
6814
6815         * indent.c (Fvertical_motion_pixels): New function - request
6816         movement in pixels.
6817         (vmotion_pixels): helper.
6818         (syms_of_indent): DEFSUBR.
6819         * lisp.h: declaration for vmotion_pixels().
6820
6821         * indent.c (Fvertical_motion): Add optional third argument PIXELS,
6822         to request returning motion in pixels.
6823         (Fvertical_motion_pixels): Remove, functionality merged into
6824         Fvertical_motion.
6825         * window.c (window_scroll): call Fvertical_motion with 3 arguments.
6826         (Fmove_to_window_line): ditto.
6827         * lisp.h: Change declaration for Fvertical_motion.
6828
6829         * window.c: rename window-text-pixel-{height,width,edges} to
6830         window-text-area-pixel-*.
6831
6832 1998-05-26  Gunnar Evermann  <Gunnar.Evermann@nats.informatik.uni-hamburg.de>
6833
6834         * tooltalk.c (vars_of_tooltalk) added staticpro for
6835         Tooltalk_Message_plist_str and Tooltalk_Pattern_plist_str
6836
6837 1998-05-27  Andy Piper  <andyp@parallax.co.uk>
6838
6839         * faces.c: create a new 3d_object_face, make modeline and
6840         vertical_divider faces fallback to this rather than the default.
6841
6842 1998-05-21  Andy Piper  <andyp@parallax.co.uk>
6843
6844         * s/cygwin32.h: define charsets for cygwin.
6845
6846 1998-05-25  Andy Piper  <andyp@parallax.co.uk>
6847
6848         * toolbar-msw.c (mswindows_output_toolbar): fix up button sizes
6849         and coordinates. resize bitmaps if we have already settled on a
6850         different size.
6851
6852         * glyphs-msw.c (xpm_to_eimage): add ';' for mswindows compiler.
6853
6854 1998-05-25  Hrvoje Niksic  <hniksic@srce.hr>
6855
6856         * toolbar-msw.c (mswindows_handle_toolbar_wm_command): Ditto.
6857
6858         * menubar-msw.c (mswindows_handle_wm_command): Ditto.
6859
6860         * gui.h: Ditto.
6861
6862         * gui-x.c (popup_selection_callback): Ditto.
6863
6864         * dialog-msw.c (dialog_proc): get_callback -> get_gui_callback.
6865
6866         * gui.c (get_callback): Renamed to get_gui_callback.
6867
6868 1998-05-17  Martin Buchholz  <martin@xemacs.org>
6869
6870         * glyphs.h: order rearrangement.
6871
6872         * device-tty.c (tty_asynch_device_change): Warning suppression.
6873         * device-x.c (x_device_system_metrics): Warning suppression.
6874         Make Doc strings consistent with coding standards.
6875
6876 1998-05-24  Martin Buchholz  <martin@xemacs.org>
6877
6878         * general.c: multiple definition of `Qicon'.  general.c seems
6879           like a good home for Qicon.
6880
6881 1998-05-20  Kirill M. Katsnelson  <kkm@kis.ru>
6882
6883         * This patch is to fix compilation warnings under Windows.
6884
6885         * s/windowsnt.h: Encapsulate getpid with sys_getpid.
6886         Added prototypes for FSF inherited functions, with which XEmacs is
6887         sprinkled thoroughly.
6888         Removed some #if 0 code. Bracketed some more definitions, probably
6889         related to Visual C versions prior to 4 (we do not support them).
6890
6891         * sysfloat.h (logb): Finally, get logb() prototyped.
6892
6893         * sysfile.h: Added Windows specific includes.
6894         Removed old Windows specific code bracketed with #if 0.
6895
6896         * sysdep.h: Added prototype for xrealpath().
6897
6898         * sysdep.c (sys_getpid): Added function, to support '95 negative pids.
6899
6900         * symsinit.h: Added prototypes for syms_of_dired_mswindows,
6901         vars_of_dired_mswindows and init_ntproc (Grrr).
6902
6903         * realpath.c: Added Windows specific include files.
6904         (xrealpath): Conditionalized declaration of some auto variables on
6905         S_IFLNK, to avoid warnings.
6906
6907         * ntproc.c: Disabled some compiler warnings. This file is going to
6908         die, so I have not cleaned it up much.
6909         (set_process_dir): Const parameter.
6910         (Fwin32_short_file_name): Down CHECK_* macros to one argument.
6911         (Fwin32_long_file_name): Ditto.
6912         (Fwin32_set_process_priority): Ditto. Why didn't I remove these
6913         three functions?
6914
6915         * nt.h: Added prototypes for set_process_dir and convert_time.
6916
6917         * nt.c: More include files.
6918         (getpwnam): Consted char* argument.
6919         (get_emacs_configuration): Const return value.
6920         (opendir): Const argument.
6921         (stat): Casted converstion long->short.
6922         (stat): Removed ad hoc and questionable support for non-MSC compile.
6923         (sys_pipe): Removed unused auto variable.
6924         (_sys_read_ahead): Removed calls to DebPrint.
6925         (sys_read): Ditto, in 2 places.
6926         (term_ntproc): Added unused int parameter to signal handler, to
6927         avoid a warning when compiling a call to signal().
6928         (msw_sigset): Properly return old signandler or NULL instead of void.
6929
6930         * floatfns.c (Flogb): Casted arguments to unary minus to signed.
6931
6932         * gmalloc.c (morecore): Ditto.
6933         (_free_internal): Ditto.
6934
6935         * lread.c (parse_integer): Ditto.
6936
6937         * dired-msw.c: Added several include files.
6938
6939         * cmdloop.c (Fcommand_loop_1): Added Microsoft C to the Big List
6940         of Compilers to Shut Up.
6941
6942         * callproc.c: Added #includes to suppress warnings under Windows.
6943         (init_callproc): Removed #if0'ed code and unused variables.
6944
6945 1998-05-25  Andy Piper  <andyp@parallax.co.uk>
6946
6947         * device-msw.c (mswindows_device_system_metrics): do planes in a
6948         way consistent with X.
6949
6950         * glyphs-msw.c (mswindows_initialize_image_instance_mask): don't
6951         use SetPixel, use DIBits functions.
6952         (xpm_to_eimage): frob colors more closely like xpm deos.
6953
6954         * toolbar-msw.c: only resize bitmaps when shrinking. Adjust look
6955         to be closer to X version.
6956
6957         * event-msw.c: use tooltip string directly.
6958
6959         * redisplay-msw.c: reinstate Kirill's bg pixmap change.
6960
6961         * objects-msw.c: frob rgb colors that only Kyle uses.
6962
6963         * dialog-msw.c (button_width): INLINE -> inline.
6964
6965 1998-05-23  SL Baur  <steve@altair.xemacs.org>
6966
6967         * getloadavg.c (getloadavg): Fix typo.
6968
6969 1998-05-23  Kirill M. Katsnelson  <kkm@kis.ru>
6970
6971         * objects-msw.c (mswindows_initialize_font_instance): Added support
6972         for font character sets.
6973         Replaced 'XXX' with '####' in comments throughout the file.
6974
6975 1998-05-23  Kirill M. Katsnelson  <kkm@kis.ru>
6976
6977         * emacs.c (main_1): Added calls to vars_of_dialog_mswindows() and
6978         console_type_create_dialog_mswindows(), to initialize Windows dialog
6979         support.
6980
6981         * symsinit.h: Prototyped the above functions.
6982
6983         * dialog-x.c (x_popup_dialog_box): Moved dialog descriptor consistency
6984         checks to dialog.c...
6985
6986         * dialog.c (Fpopup_dialog_box): ...right here. Added more checks: a
6987         device must support dialog boxes, and the descriptor must supply at
6988         least one button.
6989
6990         * dialog-msw.c: New file, dialogs for Windows.
6991
6992 1998-05-21  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
6993
6994         * eldap.c (ldap_search_unwind): Return Qnil instead of nothing
6995         (Fldap_search_internal): Removed unused variable `err'
6996
6997         * eldap.h: Moved Lisp_LDAP declaration here instead of using a
6998         forward declaration
6999
7000 1998-05-17  Martin Buchholz  <martin@xemacs.org>
7001
7002         * eldap.h: eldap.[ch] should never be used unless HAVE_LDAP is
7003         defined.  Therefore there is no need to handle the case when
7004         HAVE_LDAP is undefined.  Similarily, there is no reason to have
7005         any code wrapped within `#ifdef emacs', since this code is only
7006         useful within an emacs.  This simplifies the code significantly.
7007
7008         * inline.c: Include eldap.h only if HAVE_LDAP.
7009         * inline.c: Don't bother including TT_C_H_PATH, since tooltalk.h
7010         already does that.
7011
7012 1998-05-21  Kirill M. Katsnelson  <kkm@kis.ru>
7013
7014         * unexnt.c (copy_executable_and_dump_data_section): Suppress
7015         printing dump stats when building without DEBUG_XEMACS.
7016         (dump_bss_and_heap): Ditto.
7017
7018 1998-05-21  Andy Piper  <andyp@parallax.co.uk>
7019
7020         * gnuclient.c: don't suppress window system if there is no display
7021         and we are running under mswindows. send 'mswindows device type if
7022         we are in this situation.
7023
7024 1998-05-20  Andy Piper  <andyp@parallax.co.uk>
7025
7026         * general.c:
7027         * lisp.h: Qbitmap, Qcursor, Qicon moved here from glyphs-msw.c.
7028
7029         * glyphs-msw.c: change cursor imgae type name to resource. Fix
7030         some nits.
7031
7032 1998-05-20  Kirill M. Katsnelson  <kkm@kis.ru>
7033
7034         * EmacsFrame.c (Xt_StringToScrollBarPlacement):  Added support for
7035         {top,bottom}-{left,right} values in addition to
7036         {top,bottom}_{left,right}.
7037
7038 1998-05-18  Hrvoje Niksic  <hniksic@srce.hr>
7039
7040         * fileio.c (Fmake_temp_name): Remove unreached code.
7041
7042         * process-nt.c (validate_signal_number): Use
7043         signal_simple_error().
7044
7045 1998-05-19  Martin Buchholz  <martin@xemacs.org>
7046
7047         * unexhp9k800.c:
7048         * sound.c (vars_of_sound):
7049         * sysdep.c (reset_sigio_on_device):
7050         * window.c (window_bottom_gutter_height):
7051         unexhp9k800.c:258: warning: implicit declaration of function
7052         `calculate_checksum'
7053         sound.c:604: warning: implicit declaration of function `vars_of_hpplay'
7054         sysdep.c:1012: warning: unused variable `owner'
7055         window.c:993: warning: `window_right_toolbar_width' defined but not used
7056
7057 1998-05-19  Andy Piper  <andyp@parallax.co.uk>
7058
7059         * glyphs-msw.c (mswindows_create_resized_mask)
7060         (mswindows_create_resized_bitmap): new funnctions split out from
7061         mswindows_resize_dibitmap_instance.
7062
7063         * glyphs-msw.h: declare new resize functions.
7064
7065         * toolbar-msw.c (mswindows_output_toolbar): use new bitmap resize
7066         functions so that the original bitmaps are preserved.
7067
7068         * sheap.c: fixup static heap exhausted error to avoid FAQs.
7069
7070         * redisplay-msw.c (mswindows_output_blank): fixup brush from bg
7071         color if we are trying to output 0 depth bg pixmap.
7072
7073         * scrollbar-msw.c: warning elimination.
7074
7075 1998-05-18  Martin Buchholz  <martin@xemacs.org>
7076
7077         * frame-x.c (x_update_frame_external_traits): Start preprocessor
7078         directives in column 1.
7079
7080         * search.c (skip_chars): Avoid using xzero with arrays, since some
7081         compilers get confused by the construct &array.
7082
7083 1998-05-18  Kirill M. Katsnelson  <kkm@kis.ru>
7084
7085         * objects-msw.h:
7086         * objects-msw.c: Changed the charset value for a new font from
7087         "don't care" to "ansi".
7088
7089         * glyphs-msw.c (convert_EImage_to_DIBitmap): Warnings fix.
7090
7091 1998-05-18  Kirill M. Katsnelson  <kkm@kis.ru>
7092
7093         * event-msw.c (mswindows_wnd_proc, WM_KEYDOWN): Do not clear shift
7094         modifier on control chars.
7095         Use IsCharAlpha() instead of isaplha().
7096
7097 1998-05-19  Kazuyuki IENAGA <ienaga@jsys.co.jp>
7098
7099         * s/freebsd.h: FreeBSD 2.2.6 now supports setlocale(LC_ALL, "").
7100
7101 1998-05-18  Kirill M. Katsnelson  <kkm@kis.ru>
7102
7103         * objects-msw.c (mswindows_initialize_font_instance): Use ANSI
7104         charset when creating font.
7105         (mswindows_initialize_color_instance): Do not create brush along
7106         with a color.
7107         (mswindows_finalize_color_instance): Do not delete it then.
7108
7109         * objects-msw.h (struct mswindows_color_instance_data): Removed
7110         brush slot, and corresponding accessor macro.
7111
7112 1998-05-18  Kirill M. Katsnelson  <kkm@kis.ru>
7113
7114         * toolbar.c: Removed toolbar_data lrecord implementation.
7115         (mark_frame_toolbar_buttons_dirty): Replase usage of toolbar_data
7116         with toolbar_buttons (via FRAME_TOOLBAR_BUTTONS).
7117         (compute_frame_toolbar_buttons): Ditto.
7118         (CHECK_TOOLBAR): Ditto.
7119         (set_frame_toolbar): Removed allocation of toolbar_data lrecord.
7120         (update_frame_toolbars): Do not check for changed buffer
7121         here. Toolbar information is provided by cached specs in
7122         windows. The check for buffer is eliminated becuase toolbars are
7123         marked changed in set_frame_selected_window() in frame.c
7124         Added check for changed toolbars geometry.
7125         (compute_frame_toolbars_data): Removed unused second parameter;
7126         Adjusted callers of this static function throughout the file.
7127         (init_frame_toolbars): Initialize current_toolbar_size.
7128         (update_frame_toolbars): Use DEVICE_SUPPORTS_TOOLBARS_P instead of
7129         what is its current expansion, for clarity.
7130         (init_frame_toolbars): Ditto.
7131         (init_device_toolbars): Ditto.
7132         (init_global_toolbars): Ditto.
7133
7134         * toolbar.h: Removed definition of toolbar_data lrecord.
7135         Added accessor macros FRAME_TOOLBAR_BUTTONS and
7136         FRAME_CURRENT_TOOLBAR_SIZE.
7137         Added macro DEVICE_SUPPORTS_TOOLBARS_P.
7138
7139         * toolbar-x.c (x_output_toolbar): The same change as in
7140         toolbar-msw.c
7141         (x_output_toolbar): Ditto.
7142         (x_redraw_exposed_toolbar): Ditto.
7143
7144         * toolbar-msw.c (mswindows_output_toolbar): Retrieve current
7145         buttons from toolbar_buttons using FRAME_TOOLBAR_BUTTONS macro.
7146         (mswindows_output_toolbar): Ditto.
7147         (mswindows_output_toolbar): Ditto.
7148
7149         * frame.c (mark_frame): Removed marking of arrays, according to
7150         frameslots.h change.
7151         (nuke_all_frame_slots): Ditto.
7152         (set_frame_selected_window): Mark toolbars changed when
7153         last_nonminibuf_window changes.
7154
7155         * frame.h (struct frame): Moved some slots to frameslots.h.
7156         Added current_toolbar_size array.
7157         Changed references from toolbar_data to toolbar_buttons in macros
7158         FRAME_RAW_THEORETICAL_TOOLBAR_VISIBLE,
7159         FRAME_RAW_THEORETICAL_TOOLBAR_SIZE and
7160         FRAME_RAW_THEORETICAL_TOOLBAR_BORDER_WIDTH.
7161
7162         * frameslots.h: Added macro MARKED_SLOT_ARRAY a la winslots.h
7163         Moved arrays of lisp objects here from frame.h: toolbar_size,
7164         toolbar_visible_p, toolbar_border_width.
7165         Removed toolbar_data slot and added toolbar_buttons.
7166
7167 1998-05-17  Kirill M. Katsnelson  <kkm@kis.ru>
7168
7169         * symsinit.h: Externed syms_of_process_nt()
7170
7171         * emacs.c (main_1): Call syms_of_process_nt()
7172
7173         * process-nt.c: Quote process arguments by a call to Lisp function
7174         `nt-quote-process-args'.
7175         (syms_of_process_nt): New function.
7176         (nt_send_process): Flush data stream after each write, to avoid
7177         leaving buffered data.
7178         (nt_send_process): When blocked on process output, wait for
7179         process to slurp more for progressively increasing time intervals.
7180
7181 1998-05-17  Martin Buchholz  <martin@xemacs.org>
7182
7183         * window.c (have_undivided_common_edge): Make file-local function
7184         static.
7185         (map_windows): Return 0 if all map functions successful.
7186         Fix typos.
7187
7188         * winslots.h: Use unlikely names for local variables in macros to
7189         avoid shadowing warnings.
7190
7191 1998-05-17  Andy Piper  <andyp@parallax.co.uk>
7192
7193         * toolbar-msw.c (mswindows_output_toolbar): hash on toolbar width
7194         so that we re-output if the toolbar size has changed.
7195
7196 1998-05-17  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
7197
7198         * s/aix4-2.h (ALIGN_DATA_RELOC): Undefined to support new unexaix.c.
7199
7200         * s/aix3-1.h (ALIGN_DATA_RELOC): Defined to support new unexaix.c.
7201
7202         * unexaix.c: Massive cleanup and support of AIX 4.2 (and hopefully
7203         greater).
7204
7205 1998-05-16  Kirill M. Katsnelson  <kkm@kis.ru>
7206
7207         * glyphs-msw.c: Defined OEMRESOURCE before including windows.h to
7208         get bitmap manifest constants defined.
7209
7210         * console-msw.h: Include system files in angle brackets, not in
7211         quotes.
7212
7213         * window.c (specifier_vars_of_window): Fixed a typo in
7214         `vertical-divider-line-width' docstirng.
7215
7216 1998-05-16  Olivier Galibert  <galibert@pobox.com>
7217
7218         * line-number.c (delete_invalidate_line_number_cache): Use an
7219         EMACS_INT.
7220         (buffer_line_number): Remove dangerous, plain wrong when using
7221         64bits emacs ints, cast.
7222
7223         * insdel.c (buffer_delete_range): Use an EMACS_INT.
7224
7225         * cmds.c (Fforward_line): Use EMACS_INTs.
7226
7227         * search.c (bi_scan_buffer): Change to use EMACS_INTs.
7228         (scan_buffer): Ditto.
7229         (bi_find_next_newline_no_quit): Remove useless cast.
7230         (find_next_newline_no_quit): Ditto.
7231         (find_next_newline): Ditto.
7232         (find_before_next_newline): Use an EMACS_INT.
7233
7234         * lisp.h: Change scan_buffer to pass EMACS_INTs.
7235
7236 1998-05-16  Hrvoje Niksic  <hniksic@srce.hr>
7237
7238         * menubar-msw.c (mswindows_handle_wm_command): Ditto.
7239
7240         * toolbar-msw.c (mswindows_handle_toolbar_wm_command): Ditto.
7241
7242         * gui-x.c (popup_selection_callback): Use it.
7243
7244         * gui.h (get_callback): Declare it.
7245
7246         * gui.c (get_callback): New function.
7247
7248 1998-05-15  SL Baur  <steve@altair.xemacs.org>
7249
7250         * window.c (have_undivided_common_edge): Guard scrollbar specific
7251         stuff.
7252         (window_needs_vertical_divider_1): Ditto.
7253
7254 1998-05-16  Hrvoje Niksic  <hniksic@srce.hr>
7255
7256         * emacs.c (decode_path): Eliminate compiler warning.
7257         (Fdecode_path): Renamed to Fsplit_path.
7258         (Fsplit_string_by_char): New function.
7259
7260 1998-05-14  Damon Lipparelli  <lipp@primus.com>
7261
7262         * winslots.h: close comment
7263
7264 1998-05-16  Kirill M. Katsnelson  <kkm@kis.ru>
7265
7266         * callproc.c: Removed declared and unused variable Qbuffer_file_type.
7267
7268         * bufslots.h: Removed buffer_file_type slot.
7269
7270         * buffer.c (complex_vars_of_buffer): Removed buffer_file_type from
7271         buffer local flags.
7272         (complex_vars_of_buffer): Removed buffer-file-type variable and
7273         its default reference.
7274
7275 1998-05-15  Kirill M. Katsnelson  <kkm@kis.ru>
7276
7277         * faces.c (complex_vars_of_faces): Defined
7278         Vvertical_divider_face.
7279         (vars_of_faces): Staticpro it.
7280
7281         * faces.h: Externed Vvertical_divider_face.
7282
7283         * redisplay-x.c (x_output_vertical_divider): Use
7284         Vvertical_divider_face to draw the divider instead of modeline
7285         face.
7286
7287         * redisplay-msw.c (mswindows_output_vertical_divider): Draw
7288         divider face using Vvertical_divider_face background.
7289         Fix drawing spacing gaps around the divider.
7290
7291 1998-05-14  Didier Verna  <verna@inf.enst.fr>
7292
7293         * redisplay-x.c (x_output_vertical_divider): removed hard-wired
7294         values for the vertical divider line width and spacing. Use the
7295         cached values from the window structure instead.
7296         (x_divider_width): ditto.
7297
7298         * window.c (specifier_vars_of_window): new specifiers:
7299         vertical-divier -line-width and -spacing.
7300         (vertical_divider_global_width_changed): formerly known as
7301         vertical_divider_shadow_thickness_changed.
7302
7303         * winslots.h: new slots: vertical_specifier _line_width and
7304         _spacing. Plus corrected a comment typo.
7305
7306 1998-05-15  Kirill M. Katsnelson  <kkm@kis.ru>
7307
7308         * window.h: Declared window_divider_width().
7309
7310         * console-stream.c (stream_divider_width): Removed method.
7311         (console_type_create_stream): And declaration for it.
7312
7313         * redisplay.c (pixel_to_glyph_translation): Use
7314         window_divider_width() instead of divider_width redisplay method.
7315         (pixel_to_glyph_translation): Fix top divider edge calculation
7316         when scrollbar is on top.
7317
7318         * window.c (window_divider_width): New function, an outphaser for
7319         divider_width redisplay method.
7320         (window_right_gutter_width): Use it.
7321         (specifier_vars_of_window): For vertical-divider-{spacing,line-width}
7322         specifiers, set fallback values differently on TTYs, and document
7323         the behavior of these on TTYs in the docstrings.
7324
7325         * scrollbar.c (update_scrollbar_instance): Use
7326         window_divider_width() instead of divider_width redisplay method.
7327
7328         * console.h (struct console_methods): Removed divider_width_method.
7329
7330         * redisplay-tty.c (tty_divider_width): Removed device method.
7331         (console_type_create_redisplay_tty): Removed definition for it.
7332         (tty_output_vertical_divider): Respect the value returned by
7333         window_divider_width thus divider line width specification.
7334
7335         * redisplay-msw.c (mswindows_divider_width): Removed device method.
7336         (console_type_create_redisplay_mswindows): Removed definition for it.
7337         (mswinodws_output_vertical_divider): Respect the value returned by
7338         window_divider_width thus divider line width specification.
7339
7340 1998-05-15  Andy Piper  <andyp@parallax.co.uk>
7341
7342         * toolbar-msw.c: guess toolbar frame size a bit more accurately.
7343
7344 1998-05-15  Andy Piper  <andyp@parallax.co.uk>
7345
7346         * glyphs-msw.c: resource loading implementation.
7347         (cursor_normalize): new function.
7348         (cursor_validate): ditto.
7349         (cursor_instantiate): ditto.
7350         (cursor_name_to_resource): ditto.
7351         (cursor_possible_dest_types): ditto.
7352         (check_valid_symbol): ditto.
7353         (check_valid_string_or_int): ditto.
7354
7355 1998-05-14  Martin Buchholz  <martin@xemacs.org>
7356
7357         * sysdep.c (tty_init_sys_modes_on_device): Treat VSUSP just like
7358         VINTR and VQUIT.
7359
7360         * process-unix.c (process_signal_char): Use VSUSP instead of
7361         non-standard VSWTCH.  Always prefer VSUSP to VSWTCH.
7362
7363 1998-05-14  Kirill M. Katsnelson  <kkm@kis.ru>
7364
7365         * specifier.c (specifier_instance): Change locale precedence of
7366         instantiation so window locale has higher priority than buffer
7367         locale.
7368         (Fspecifier_instance): Reflect this in docstring.
7369         (Fadd_spec_list_to_specifier): Ditto.
7370         (Fadd_spec_to_specifier): Ditto.
7371         (Fremove_specifier): Ditto.
7372
7373 1998-05-15  Kirill M. Katsnelson  <kkm@kis.ru>
7374
7375         ** Dialog separation into a device method from Andy Piper
7376
7377         * emacs.c (main_1): Call console_type_create_dialog_x().
7378
7379         * dialog-x.c (x_popup_dialog_box): Old Fpopup_dialog_box converted
7380         into this device method.
7381         (console_type_create_dialog_x): New function.
7382
7383         * dialog.c (Fpopup_dialog_box): New function.
7384         (syms_of_dialog): Defsubr it.
7385
7386         * console.h (struct console_methods): Declared
7387         popup_dialog_box_method().
7388
7389         * symsinit.h: Defined console_type_create_dialog_{x,mswindows}
7390
7391 1998-05-14  Oliver Graf <ograf@fga.de>
7392
7393         * dragdrop.c (vars_of_dragdrop): dragdrop-protocols created
7394         * frame-x.c (x_cde_transfer_callback): checked for merge errors
7395
7396 1998-05-13  Oliver Graf <ograf@fga.de>
7397
7398         * dragdrop.c (vars_of_dragdrop): provide dragdrop-api
7399
7400 1998-05-15  Kirill M. Katsnelson  <kkm@kis.ru>
7401
7402         * console.h (device_metrics): Removed dbcs, input-method-editor
7403         and right-to-left metrics.
7404
7405         * device.c (Fdevice_system_metric): Ditto.
7406         (Fdevice_system_metrics): Ditto.
7407         (syms_of_device): Ditto.
7408         (Fdevice_system_metric): Swapped DEVICE and METRIC parameters back
7409         again.
7410
7411 1998-05-14  Hrvoje Niksic  <hniksic@srce.hr>
7412
7413         * line-number.h (mark_line_number_cache): Remove unused
7414         declaration.
7415
7416         * line-number.c (LINE_NUMBER_FAR): Increase to 32768.
7417         (get_nearest_line_number): Simplify.
7418         (add_position_to_cache): Make the old marker point nowhere.
7419
7420 1998-05-14  Kirill M. Katsnelson  <kkm@kis.ru>
7421
7422         ** Renamed window-divider-map => vertical-divider-map
7423         and event-over-divider-p => event-over-vertical-divider-p,
7424         in the following files/functions:
7425         * events.h:
7426         * events.c (Fevent_over_divider_p):
7427         * keymap.c (get_relevant_keymaps):
7428         (vars_of_keymap):
7429
7430         * redisplay.h (OVER_V_DIVIDER): Renamed so from OVER_DIVIDER.
7431
7432         * redisplay.c (pixel_to_glyph_translation): Use OVER_V_DIVIDER.
7433
7434 1998-05-14  Kirill M. Katsnelson  <kkm@kis.ru>
7435
7436         * window.c (vertical_divider_changed_in_window): Renamed so.
7437         (specifier_vars_of_window): Defined Vvertical_divider_draggable_p.
7438         (window_needs_vertical_divider_1): Decide whether we need it based
7439         on the value of the above specifier. If separators are unwanted,
7440         put them only if there's no scrollbar between this window and its
7441         right neighbor.
7442         (have_undivided_common_edge): New function, helper for the above.
7443         (window_needs_vertical_divider): Return either a cached value,
7444         or clauclate and cache one.
7445         (invalidate_vertical_divider_cache_in_window): Implemented.
7446         (map_windows): Changed return type to int, return the value from
7447         MAPFUN.
7448
7449         * window.h: Prototype invalidate_vertical_divider_cache_in_window.
7450         (struct window): Added need_vertical_divider_p and
7451         need_vertical_divider_valid_p.
7452
7453         * winslots.h: Added vertical_divider_draggable_p slot.
7454
7455         * scrollbar.c (vertical_scrollbar_changed_in_window): Implemented.
7456         (specifier_vars_of_scrollbar): Used it in all vertical specifiers.
7457
7458         * frame.c (invalidate_vertical_divider_cache_in_frame): New function.
7459
7460         * frame.h (MARK_FRAME_WINDOWS_STRUCTURE_CHANGED): Call
7461         invalidate_vertical_divider_cache_in_frame().
7462         Prototype it.
7463
7464 1998-05-14  Andy Piper  <andyp@parallax.co.uk>
7465
7466         * toolbar-msw.c: provide correct parameters to TB_SETROWS.
7467
7468         * glyphs-msw.c (mswindows_initialize_image_instance_mask): size
7469         masks correctly and don't select 0.
7470
7471 1998-05-14  Kirill M. Katsnelson  <kkm@kis.ru>
7472
7473         * winslots.h: New file, declaration of some struct window and
7474         struct saved_window members.
7475
7476         * window.h (struct window): Include it, with required preprocessor
7477         magic.
7478
7479         * window.c (mark_window): Ditto.
7480         (allocate_window): Ditto.
7481         (struct saved_window): Ditto.
7482         (mark_window_config): Ditto.
7483         (saved_window_equal): Ditto.
7484         (Fset_window_configuration): Ditto.
7485
7486 1998-05-14  Kirill M. Katsnelson  <kkm@kis.ru>
7487
7488         * redisplay-msw.c (mswindows_output_vertical_divider): Syntax fix.
7489
7490 1998-05-12  Didier Verna  <verna@inf.enst.fr>
7491
7492         * redisplay-x.c (x_output_vertical_divider): draw shadows around
7493         the divider line. The shadow thickness is currently
7494         hard-wired. This will probably be turned into a specifier soon.
7495
7496 1998-05-12  Didier Verna  <verna@inf.enst.fr>
7497
7498         * console.h (struct console_methods): the divider_width console
7499         method now requires a struct window * argument.
7500
7501         * redisplay-x.c (x_divider_width): ditto. Plus remove
7502         X_DIVIDER_WIDTH, X_DIVIDER_SHADOW_THICKNESS.
7503         (x_output_vertical_divider): give a depressed look when the shadow
7504         thickness is negative.
7505
7506         * console-stream.c (stream_divider_width): pass a struct window *
7507         argument.
7508
7509         * redisplay-tty.c (tty_divider_width): ditto.
7510
7511         * window.c (window_right_gutter_width): totdi.
7512
7513         * redisplay.c (generate_modeline): ittod.
7514
7515         * scrollbar.c (update_scrollbar_instance): ttido.
7516
7517         * redisplay-msw.c (mswindows_divider_width): ottid.
7518         WARNING: this enables to compile, but the feature is not functional.
7519
7520         * window.h (struct window): new field
7521         vertical_divider_shadow_thickness.
7522
7523         * window.c (specifier_vars_of_window): new specifier
7524         vertical-divider-shadow-thickness.
7525         (vertical_divider_shadow_thickness_changed): new function to
7526         inform redisplay that the window has changed.
7527         (mark_window): handle new field vertical_divider_shadow_thickness
7528         from struct window.
7529         (allocate_window): ditto.
7530         (saved_window_equal): toddi.
7531         (Fset_window_configuration): totid.
7532         (save_window_save): ttdio.
7533         (struct saved_window): new field vertical_divider_shadow_thickness.
7534
7535 1998-05-14  Kirill M. Katsnelson  <kkm@kis.ru>
7536
7537         * device-msw.c (mswindows_device_system_metrics): Support a deluge
7538         of metrics.
7539
7540 1998-05-12  Oliver Graf <ograf@fga.de>
7541
7542         * frame-x.c (x_cde_transfer_callback): fixed for the new protocol
7543         * event-Xt.c (x_event_to_emacs_event): C++ compability
7544
7545 1998-05-14  Hrvoje Niksic  <hniksic@srce.hr>
7546
7547         * emacs.c (Fdecode_path): Default SEPCHAR to value of
7548         path-separator.
7549
7550 1998-05-14  Hrvoje Niksic  <hniksic@srce.hr>
7551
7552         * emacs.c (vars_of_emacs): Do it here; change the meaning of
7553         Vpath_separator.
7554
7555         * fileio.c (vars_of_fileio): Don't define Vpath_separator here.
7556
7557 1998-05-14  Hrvoje Niksic  <hniksic@srce.hr>
7558
7559         * emacs.c (decode_path_1): New function.
7560         (decode_path): Use it.
7561         (Fdecode_path): Renamed from Fdecode_path_internal; use
7562         decode_path_1.
7563
7564 1998-05-12  Hrvoje Niksic  <hniksic@srce.hr>
7565
7566         * macros.c (Fzap_last_kbd_macro_event): New function.
7567         (Fend_kbd_macro): Remove REMOVE_LAST kludge.
7568
7569 1998-05-10  Andy Piper  <andyp@parallax.co.uk>
7570
7571         * redisplay-msw.c (mswindows_output_dibitmap_region): make sure
7572         multiple bitmaps are output vertically as well as horizontally.
7573         * (mswindows_output_dibitmap): don't cope with bitmap boundaries
7574         crossing lines this is handled by
7575         mswindows_output_dibitmap_region.
7576
7577 1998-05-12  Martin Buchholz  <martin@xemacs.org>
7578
7579         * inline.c: Include eldap.h
7580
7581         * menubar-x.c (x_update_frame_menubar_internal):
7582         Remove: unused variable `container'
7583
7584 1998-05-11  Martin Buchholz  <martin@xemacs.org>
7585
7586         * s/aix4.h: Allow AIX 4.3 XEmacs to compile cleanly.
7587         Unfortunately, the resulting temacs still cannot dump.
7588
7589         * symbols.c (symbol_is_constant):
7590         (verify_ok_for_buffer_local):
7591         -Wswitch Warning suppression - add default case to switches.
7592
7593         * redisplay.c (decode_mode_spec): Remove unused variables,
7594         Replace Fcoding_system_property (codesys, Qmnemonic) with
7595         XCODING_SYSTEM_MNEMONIC (codesys);
7596         Fcoding_system_property is for users.
7597
7598         * buffer.c:
7599         * fileio.c:
7600         * lread.c:
7601         * xselect.c:
7602         Change empty docstrings into no doc strings at all.
7603         Fix bogus FSF-format docstrings.
7604
7605         * extents.c:
7606         Standardize docstrings.
7607
7608         * floatfns.c:
7609         Explain problems with matherr.
7610
7611         * glyphs.c:  make DEFUNs etags-readable, i.e. single-line
7612
7613         * syssignal.h:
7614         if BROKEN_SIGIO, then SIGIO wants to be undefined.
7615         if SIGIO and not SIGPOLL, SIGPOLL wants to be SIGIO.\
7616         Fix the weird resultant interaction (causes windows problems)
7617
7618         * gdbinit:
7619         * dbxrc:
7620         Take new EMACSBOOTSTRAPLOADPATH into account.
7621         Update documentation strings
7622
7623         * Makefile.in.in:
7624         - Adjust for luser's CDPATH being set to something weird.
7625         - Take into account bash 2.02's tendency to print the cwd when
7626           using CDPATH.  Always use `cd ./foo' instead of `cd foo'.
7627         - fix the run-temacs target to use $(DUMPENV)
7628         - fix the run-puremacs target to use $(DUMPENV)
7629         - fix the `depend' target to properly $(RM) the right files
7630         - Generate a better TAGS file for XEmacs' lisp code using
7631           hand-crafted regexps.
7632         - Use standard coding conventions for modules/Makefile.in
7633
7634 1998-05-12  Didier Verna  <verna@inf.enst.fr>
7635
7636         * redisplay.c: removed the scrolling modeline code that didn't
7637         make it for 21.0. To be continued ...
7638
7639 1998-05-13  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
7640
7641         * emacs.c (Fdecode_path_internal): Removed bogus handling of nil
7642         and empty string inputs.
7643
7644 1998-05-12  Hrvoje Niksic  <hniksic@srce.hr>
7645
7646         * redisplay-x.c (x_output_vertical_divider): Fixed typo.
7647
7648 1998-05-10  Oliver Graf <ograf@fga.de>
7649
7650         * event-stream.c (enqueue_misc_user_event_pos): created
7651         * lisp.h (enqueue_misc_user_event_pos): prototype added
7652         * frame-x.c (x_cde_transfer_callback): debug code plus API changes
7653         * emacs.c: call vars_of_dragdrop
7654         * dragdrop.c (vars_of_dragdrop): provide dragdrop
7655
7656 1998-05-11  Oliver Graf <ograf@fga.de>
7657
7658         * frame-x.c (x_cde_transfer_callback): return at correct pos
7659         * event-Xt.c (x_event_to_emacs_event): changed format of drop
7660         object for MIME (see comment in dragdrop.c)
7661         * dragdrop.c: API change documented in comment
7662         removed provide of dragdrop [is provided by dragdrop.el]
7663
7664 1998-05-12  Kirill M. Katsnelson  <kkm@kis.ru>
7665
7666         * window.c (window_needs_vertical_divider): Enable vertical
7667         dividers for every non-rightmost window.
7668         (window_left_gutter_width): Left gutter consists of mythical
7669         toolbar and a virtual scrollbar.
7670         (window_right_gutter_width): The right one may have a divider
7671         also.
7672
7673         * scrollbar.c (update_scrollbar_instance): Position vertical
7674         scrollbar left to divider if the latter present.
7675
7676         * redisplay.h: Declared OVER_DIVIER constant.
7677
7678         * redisplay.c (pixel_to_glyph_translation): Handle OVER_DIVIDER
7679         case.
7680
7681         * redisplay-x.c (x_output_vertical_divider): Output divider along
7682         the right side of the window, down to window bottom. Swapped
7683         foreground and background colors so it is visible by default.
7684
7685         * redisplay-tty.c (tty_output_vertical_divider): Uncondiionally
7686         stick the divider to the right window side.
7687
7688         * redisplay-msw.c (mswindows_redisplay_deadbox_maybe): Fixed
7689         deadbox painting.
7690         (mswindows_divider_width): Ask system for user preferred value.
7691         (mswindows_output_vertical_divider): Always output the divider on
7692         the right side of a window, down to bottom.
7693
7694         * keymap.c (get_relevant_keymaps): Route mouse button events which
7695         happened over a window divider through window-divider-map.
7696         (Fkey_binding): Documented that in the docstring.
7697         Defined the variable Vwindow_divider_map.
7698
7699         * events.c (Fevent_over_divider_p): Added this function.
7700
7701         * events.h: EXFUNed it.
7702
7703 1998-05-12  Kirill M. Katsnelson  <kkm@kis.ru>
7704
7705         * toolbar.c (update_frame_toolbars): Re-layout frame windows if
7706         toolbar geometry is suspected to change.
7707
7708 1998-05-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
7709
7710         * src/device-msw.c
7711         * src/event-msw.c
7712         Condition dnd and dde code on HAVE_DRAGNDROP.
7713
7714 1998-05-11  Hrvoje Niksic  <hniksic@srce.hr>
7715
7716         * events.c (format_event_object): Print space as SPC etc.
7717
7718 1998-05-11  Hrvoje Niksic  <hniksic@srce.hr>
7719
7720         * print.c (print_internal): In the default case, abort() if
7721         ERROR_CHECK_TYPECHECK.
7722
7723         * fileio.c (Fmake_temp_name): Doc fix.
7724
7725 1998-05-10  Hrvoje Niksic  <hniksic@srce.hr>
7726
7727         * xgccache.c (describe_gc_cache): Define only if DEBUG_XEMACS.
7728
7729         * undo.c (Fprimitive_undo): Fixed typo.
7730
7731 1998-05-11  Hrvoje Niksic  <hniksic@srce.hr>
7732
7733         * fns.c (concat): Signal error on integer argument.
7734
7735 1998-05-10  Kirill M. Katsnelson  <kkm@kis.ru>
7736
7737         * console.h (device_metrics): Prefixed each constatnt with DM_
7738
7739         * device.c: (Fdevice_system_metric): Renamed so from plural form
7740         (metrics); Changed parameters order and added DEFAULT parameter;
7741         Unabbreviated some metric constants; Fixed and untabified doc string.
7742         (Fdevice_system_metrics): Added. Returns a plist of all provided
7743         metrics.
7744
7745         * device-msw.c (mswindows_device_system_metrics): Renamed
7746         device_metrics enum constants.
7747         Return Qunbound instead of Qnil.
7748
7749         * device-tty.c (tty_device_system_metrics): Ditto.
7750
7751         * device-x.c (x_device_system_metrics): Ditto.
7752
7753 1998-05-10  Andy Piper  <andyp@parallax.co.uk>
7754
7755         * redisplay-msw.c: implement background pixmaps (really!). Make
7756         sure bg color is transparent if we have bg pmaps.
7757         * (mswindows_output_string) (mswindows_clear_region): output bg
7758         pmap if required.
7759         * (mswindows_output_dibitmap_region): new function.
7760         * (mswindows_output_dibitmap): output offset pixmaps, blt masks in
7761         the bg color rather than transparently.
7762
7763         * toolbar-msw.c: use masks if they exist.
7764
7765         * glyphs-msw.c: set up masks correctly.
7766
7767         * event-msw.c: typedef SOCKET if cygwin and not msg select().
7768
7769 1998-05-10  Hrvoje Niksic  <hniksic@srce.hr>
7770
7771         * regex.c (re_match_2_internal): Check for quit.
7772
7773 1998-05-10  Hrvoje Niksic  <hniksic@srce.hr>
7774
7775         * frame.c (Ffocus_frame): New function.