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