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