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