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