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