1 2000-01-09 Norbert Koch <norbert@s.netic.de>
3 * sysfile.h: Remove definition of HAVE_FSYNC. It's tested for
6 2000-01-09 Martin Buchholz <martin@xemacs.org>
8 * lisp.h (xfree_1): Make non-public.
9 * (xzero): Use '\0' in memset call for clarity.
10 * (ALIGNOF): Use __alignof__ instead of undocumented __alignof.
11 * alloc.c (allocate_string_chars_struct):
14 (verify_string_chars_integrity):
15 (compact_string_chars): Now only called for small strings.
17 String allocation rewrite.
18 Properly handle resizing big strings.
19 Fixes crash when evaluating:
20 (aset (make-string 9003 ??) 1 (make-char 'latin-iso8859-1 57))
21 Use consistent coding convention.
22 Never use xfree_1() directly.
24 (CHARS_TO_STRING_CHAR): Remove. No longer needed.
25 Big strings had unused space at beginning.
27 * scrollbar.c (specifier_vars_of_scrollbar):
28 * scrollbar.c (complex_vars_of_scrollbar):
29 * gutter.c (specifier_vars_of_gutter):
30 * menubar.c (specifier_vars_of_menubar):
31 * toolbar.c (specifier_vars_of_toolbar):
32 * glyphs.c (specifier_vars_of_glyphs):
33 * redisplay.c (specifier_vars_of_redisplay):
34 * window.c (specifier_vars_of_window):
35 * lisp.h (slot_offset): Remove slot_offset.
36 Replace all calls to `slot_offset' with the standard name, `offsetof'.
38 * menubar-x.c (compute_menubar_data):
39 Remove Fset_buffer(), always called by unwind_protect.
40 * menubar-x.c (menu_item_descriptor_to_widget_value_1): Fiddling.
41 * menubar-x.c (set_frame_menubar): comment fix.
43 * keymap.c (lookup_keys): Remove extra parens.
44 * keymap.c (lookup_events): Remove extra parens.
46 * dbxrc (run-temacs): Allow function to take arguments.
48 * Makefile.in.in (PURIFY_FLAGS): No longer need pointer-mask.
50 2000-01-08 Andy Piper <andy@xemacs.org>
52 * event-msw.c (mswindows_wnd_proc): don't need to check for widget
55 * frame.c (change_frame_size_1): use new glyph_* signatures.
56 (frame_conversion_internal): ditto.
58 * toolbar-x.c (x_get_button_size): Use modified glyph_*
61 * redisplay.c (add_glyph_rune): Use modified glyph_* signatures.
62 (add_glyph_rune): dittto.
63 (add_margin_runes): ditto.
64 (create_left_glyph_block): ditto.
65 (create_right_glyph_block): ditto.
66 (redisplay_window): ditto.
68 * redisplay-output.c (redisplay_output_layout): Use modified
71 * glyphs.h: (struct image_instantiator_methods): change signature
72 of query_geometry and layout.
73 (struct Lisp_Image_Instance): Clean up fields for dynamic geometry
75 (struct expose_ignore): change field types.
76 (struct subwindow_cachel): ditto. declare new functions and
79 * glyphs.c: (instantiate_image_instantiator): assign glyph when
80 creating the image instance.
81 (image_instance_hash): fixup for new and deleted fields.
82 (image_instance_equal): ditto.
83 (mark_image_instance): ditto.
84 (print_image_instance): ditto.
85 (allocate_image_instance): zero width and height. assign attached
86 glyph. mark as dirty for future layout.
87 (make_image_instance_1): pass Qnil as the glyph its attached to.
88 (Fimage_instance_height): simply return the height.
89 (Fimage_instance_width): simply return the width.
90 (image_instance_query_geometry): new function. query the image
91 instance's geometry by wiring through to format and device
92 specific methods. fallback on the existing geometry.
93 (image_instance_layout): new function. layout the image instance
94 by querying its geometry and then wiring through to format and
95 device specific methods.
96 (query_string_geometry): new function to decide the bounding box
97 of a string. text glyph geometry calculations moved here.
98 (query_string_font): new function. find out the font for a given
99 string in a given face.
100 (text_query_geometry): return geometry based on
101 quert_string_geometry.
102 (formatted_string_instantiate): call string_instantiate.
103 (image_instantiate): put strings in the per-window cache. Feed the
104 glyph to the instantiated image instance.
105 (glyph_height_internal): deleted.
106 (glyph_width): simply return the required dimension. re-layout if
107 the instance is dirty. Remove references to face_index and
108 frame_face which were only used for strings.
109 (glyph_ascent): ditto.
110 (glyph_descent): ditto.
111 (glyph_height): ditto.
112 (Fglyph_width): use new glyph_width function.
113 (Fglyph_ascent): use new glyph_ascent function.
114 (Fglyph_descent): use new glyph_descent function.
115 (Fglyph_height): use new glyph_height function.
116 (glyph_property_was_changed):
117 (glyph_image_instance_maybe): new function to possible create an
118 image instance from a glyph if we don't have one already.
119 (glyph_dirty_p): use it.
120 (glyph_layout): new function for laying out a glyph.
121 (glyph_query_geometry): new function for finding out the desired
123 (update_glyph_cachel_data): use new glyph_* signatures.
124 (update_subwindow): call resize_subwindow.
125 (map_subwindow): call update_subwindow if the image is dirty.
126 (subwindow_instantiate): add comment.
127 (Fresize_subwindow): don't actually resize the window, just record
128 the values and let update_subwindow handle it.
129 (Fglyph_animated_timeout_handler): use
130 MARK_IMAGE_INSTANCE_CHANGED.
131 (image_instantiator_format_create): declare things with
132 query_geometry and layout functions.
134 * glyphs-x.c: (x_update_subwindow): remove widget sizing.
135 (update_widget_face): use query_string_font.
136 (x_widget_set_property): don't return Qt when setting is
138 (x_combo_box_instantiate): call widget_instantiate rather than
139 widget_instantiate_1.
141 * glyphs-widget.c: (widget_face_font_info): deleted.
142 (widget_text_to_pixel_conversion): deleted.
143 (widget_set_property): make sure the new text gets propagated to
145 (widget_layout): new function. wire through to device and format
147 (widget_query_geometry): new function. wire through to device and
148 format specific methods. fallback on geometry of widget text.
149 (initialize_widget_image_instance): fixup new fields.
150 (widget_instantiate_1): deleted.
151 (tree_view_instantiate): deleted.
152 (tree_view_query_geometry): new function. returns desired sizing
154 (tab_control_instantiate): deleted.
155 (tab_control_query_geometry): new function. returns desired sizing
157 (widget_instantiate): subsume widget_instantiate_1. Fixup geometry
158 things in the light of dynamic layout.
159 (static_instantiate): deleted.
160 (layout_instantiate): use new glyph_* signatures.
161 (image_instantiator_format_create_glyphs_widget): fixup
162 query_geometry and layout declarations for various widgets.
164 * glyphs-msw.c: (mswindows_widget_instantiate): add comment.
165 (mswindows_button_instantiate): use query_string_font for geometry
167 (mswindows_update_subwindow): ditto.
168 (mswindows_combo_box_instantiate): fixup for new geometry
170 (mswindows_widget_set_property): Don't return Qt so that other
171 methods can be called.
173 2000-01-08 Martin Buchholz <martin@xemacs.org>
175 * gdbinit: rename to .gdbinit so that gdb will automatically source it.
177 2000-01-09 Hrvoje Niksic <hniksic@iskon.hr>
179 * insdel.c (signal_before_change): Make sure START and END are
180 within the buffer before calling report_extent_modification().
181 (signal_after_change): Ditto for START, NEW_END, and ORIG_END.
183 2000-01-09 Hrvoje Niksic <hniksic@iskon.hr>
185 * extents.h: Correct prototype of report_extent_modification().
187 * insdel.c (signal_before_change): Place record_unwind_protect()
188 outside MAP_INDIRECT_BUFFERS loops.
189 (signal_after_change): Ditto.
191 * extents.c (report_extent_modification): Don't expect pointer to
193 (report_extent_modification_mapper): Explain why
194 closure->speccount is almost unused.
196 * insdel.c (change_function_restore): Call Fset_buffer only if
198 (signal_before_change): Don't propagate inside_change_hook to
199 report_extent_modification().
201 2000-01-07 Martin Buchholz <martin@xemacs.org>
203 * elhash.c (make_general_lisp_hash_table): Remove purify UMR.
204 (hash_table_rehash_threshold): Removed. Update all callers.
206 2000-01-03 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de>
208 * s/windowsnt.h: Fix mail locking stuff.
210 * s/aix3-2.h: Remove HAVE_FSYNC which is now autodetected.
212 * emacs.c (vars_of_emacs): Added `mail-lock-methods' and
213 `configure-mail-lock-method' variables.
215 * config.h.in: Fix mail locking stuff.
217 2000-01-04 Martin Buchholz <martin@xemacs.org>
219 * mule-charset.h (REP_BYTES_BY_FIRST_BYTE):
220 Remove macro, always use inline function.
221 * mule-charset.c (make_charset): Don't assign to rep_bytes_by_first_byte.
222 (rep_bytes_by_first_byte): Make const.
224 2000-01-03 Didier Verna <didier@xemacs.org>
226 * redisplay.c (generate_fstring_runes): new parameter `offset'.
227 Take offset into account when outputting strings or glyphs.
228 (generate_formatted_string_db): call generate_fstring_runes with
229 an offset of 0 if generating a frame or icon title, or the
230 modeline hscroll if generating a modeline.
232 * redisplay.h: remove prototype of `generate_formatted_string' and
233 add prototype for `generate_formatted_string_db', now used in
236 * frame.c: `title_string_display_line' and
237 `title_string_emchar_dynarr', formerly known as
238 `format_string_display_line' and `format_string_emchar_dynarr'
239 moved here from "redisplay.c".
240 (generate_title_string): formerly known as
241 `generate_format_string', moved here from "redisplay.c".
242 (update_frame_title): take these name changes into account.
243 (init_frame): new function. Initialize here the variables that
244 were previously in "redisplay.c" and initialized in
247 * frame.h: prototype for `init_frame'.
249 * window.c (Fmodeline_hscroll): restore the definition (remove the
250 MODELINE_IS_SCROLLABLE #ifdef).
251 (Fset_modeline_hscroll): ditto, docstring improvement, and return
252 the actual value that was set.
253 (struct saved_window): turn the `modeline_hscroll' field into a
255 (syms_of_window): restore the declaration of
256 `[set-]modeline-hscroll' (remove the MODELINE_IS_SCROLLABLE #ifdef).
258 * window.h (struct window): turn the `modeline_hscroll field' into
261 * emacs.c: include "frame.h" to get `init_frame'.
262 (main_1): call `init_frame'.
264 1999-12-31 Martin Buchholz <martin@xemacs.org>
266 * XEmacs 21.2.26 is released.
268 1999-12-31 Andy Piper <andy@xemacs.org>
270 * glyphs-x.c (x_widget_instantiate): Avoid X errors calling
271 XMapWindow() on a NULL pointer X window.
273 1999-12-31 Martin Buchholz <martin@xemacs.org>
275 * data.c (indirect_function): Use signal_void_function_error().
277 * lisp.h: Modify prototypes for signal_*(). Add SUBR_FUNCTION macro.
279 * eval.c (PRIMITIVE_FUNCALL): Optimize.
280 (signal_void_function_error): return result of Fsignal().
281 (signal_invalid_function_error): return result of Fsignal().
282 (signal_wrong_number_of_arguments_error): return result of Fsignal().
283 (signal_malformed_list_error): Add DOESNT_RETURN.
284 (signal_malformed_property_list_error): Add DOESNT_RETURN.
285 (signal_circular_list_error): Add DOESNT_RETURN.
286 (signal_circular_property_list_error): Add DOESNT_RETURN.
287 (Feval): Use returned results of signal_*(). Avoids a crash!
288 (Ffuncall): Use returned results of signal_*(). Avoids the crash:
289 (setq debug-on-error t) (funcall 'foo) kbd{r42} kbd{RET}
290 - Only check for fun_nargs < subr_min_args if fun_nargs != max_args.
291 (function_argcount): Use signal_invalid_function_error().
292 (funcall_lambda): Use signal_wrong_number_of_arguments_error().
293 Use signal_invalid_function_error().
295 1999-12-28 Andy Piper <andy@xemacs.org>
297 * debug.c: rename debug_loop elements to X_ to avoid name clashes.
299 * menubar-x.c (menu_item_descriptor_to_widget_value_1): strdup
301 (menu_item_descriptor_to_widget_value_1): strdup name.
302 (pre_activate_callback): strdup name.
304 * scrollbar-x.c (scrollbar_instance_to_widget_value): strdup name.
305 (x_update_scrollbar_instance_status): use free_widget_value_tree.
307 * dialog-x.c (maybe_run_dbox_text_callback): strdup name. use
308 free_widget_value_tree.
309 (dbox_descriptor_to_widget_value): ditto.
311 * gui-x.c (widget_value_unwind): use free_widget_value_tree.
312 (gui_items_to_widget_values_1): ditto.
313 (gui_items_to_widget_values): ditto.
314 (free_popup_widget_value_tree): free name.
316 1999-12-27 Andy Piper <andy@xemacs.org>
318 * nt.c (fstat): use get_osfhandle rather than the handle
319 directly. From Fabrice Popineau.
321 * process-nt.c (nt_open_network_stream): take types into account
322 when warning. From Fabrice Popineau.
324 1999-12-24 Martin Buchholz <martin@xemacs.org>
326 * XEmacs 21.2.25 is released.
328 1999-12-22 Yoshiki Hayashi <t90553@mail.ecc.u-tokyo.ac.jp>
330 * syntax.c (vars_of_syntax): Initialize parse-sexp_ignore_comments.
332 1999-12-21 Martin Buchholz <martin@xemacs.org>
334 * editfns.c (Fpoint_min):
340 Docstring fixes. What's a `buffer pointer' anyways?
342 * editfns.c (char=): Remove unused and undocumented optional
343 third BUFFER argument.
345 * toolbar.h (DEVICE_SUPPORTS_TOOLBARS_P):
346 * fns.c (plists_differ):
347 * elhash.c (HASH_CODE):
348 * elhash.c (KEYS_EQUAL_P):
349 * redisplay-output.c (redisplay_move_cursor):
350 * redisplay.c (create_text_block):
351 * floatfns.c (Flogb):
352 * glyphs-msw.c (mswindows_initialize_image_instance_mask):
353 * glyphs-msw.c (xpm_to_eimage):
354 * buffer.h (POINT_MARKER_P):
355 * syntax.c (scan_lists):
356 * cmdloop.c (Fcommand_loop_1):
357 * widget.c (Fwidget_apply):
359 Remove extra parens, esp. of the form ((expr))
361 * floatfns.c (Flogb): Make 64-bit clean.
363 1999-12-12 Daniel Pittman <daniel@danann.net>
367 Clean up Athena widget support:
368 - Add `with-athena' to select a variant.
369 - Remove all `athena3d' options.
370 - Robust detection of Athena libraries and headers.
371 - Refuse to build with mismatched library and headers.
372 - Only build a 3d Athena if the user asks for it.
374 1999-12-21 Andy Piper <andy@xemacs.org>
376 * redisplay.c (redisplay_frame): check for faces changed when
377 reseting subwindow caches.
379 * glyphs.h (struct ii_keyword_entry): add copy_p.
380 (struct image_instantiator_methods): add query_geometry_method and
381 layout_children_method.
382 (IIFORMAT_VALID_GENERIC_KEYWORD): new macro to take into account
383 copying characteristics of keywords.
384 (IIFORMAT_VALID_NONCOPY_KEYWORD): new macro for defining keywords
385 whose arguments should not be copied by the specifier code.
386 (image_instance_geometry): new enum for layouts.
387 (struct Lisp_Image_Instance): re-jig for layouts and update
390 * glyphs.c (string_instantiate): rename variables.
391 (image_instantiate): add strings to those widgets that are
392 instantiated per-window.
393 (image_copy_vector_instantiator): new function for copying glyph
394 specifier instantiators.
395 (image_copy_instantiator): ditto.
397 * glyphs-x.c (x_update_subwindow): use new face update functions.
398 (update_widget_face): update to use new lwlib arg functions.
399 (update_tab_widget_face): new function for updating tab control
401 (x_widget_instantiate): use new face update functions and new
403 (x_tab_control_instantiate): ditto.
404 (x_tab_control_set_property): ditto.
406 * glyphs-widget.c (VALID_GUI_KEYWORDS): use NONCOPY keyword for
407 callbacks and other things that could recurse.
408 (VALID_GUI_KEYWORDS):
410 * event-msw.c: fix cpp stuff for cygwin < b20.
412 * config.h.in: move uid_t and friends to before the s&m files so
413 that they can be used there.
415 * Makefile.in.in (debug-temacs): new target that adds emacs
416 environment before invoking gdb.
418 * lwlib.h (_widget_args): new structure for holding widget
419 args. It is reference counted so that we don't have to copy Xt
421 (_widget_value): remove widget args. Add reference to widget_args.
423 * lwlib.c (free_widget_value_contents): free widget args using
424 free_widget_value_args.
426 * lwlib-Xaw.c (xaw_update_one_widget): use new arg packet.
427 (xaw_update_one_widget): use XtIsSubclass for determining labels.
429 * lwlib.c (lw_add_value_args_to_args): modify to use our reference
431 (lw_add_widget_value_arg): new function. Add an arg to the arg
433 (free_widget_value_args): new function. Remove a reference counted
435 (lw_copy_widget_value_args): new function. Copy reference counted
437 (merge_widget_value_args): new function. Do a merge of widget
439 (merge_widget_value): use it.
440 (copy_widget_value_tree): copy widget args using reference
441 counting, since we can't easily copy the args we have been given.
443 * specifier.h (struct specifier_methods): add copy_instantiator_method.
445 * specifier.c (build_up_processed_list): use
446 copy_instantiator_method if defined.
448 1999-12-19 Martin Buchholz <martin@xemacs.org>
450 * fns.c (Ffillarray): Use O(N), not O(N^2) algorithm for strings.
452 1999-12-19 Hrvoje Niksic <hniksic@iskon.hr>
454 * profile.c (sigprof_handler): FUN retrieved from the backtrace
455 can also be a cons representing anonymous interpreted function.
457 1999-12-18 Martin Buchholz <martin@xemacs.org>
463 Docstring fixes. Make them consistent with the lispref and ANSI Lisp.
465 1999-12-17 Martin Buchholz <martin@xemacs.org>
467 * print.c (print_internal): print ?+ instead of ?\+, etc...
468 Make printing a little more efficient.
469 Prevent buffer overflow if sizeof EMACS_INT > 8.
470 My first 128-bit fix!
472 1999-12-14 Karl M. Hegbloom <karlheg@inetarena.com>
474 * filelock.c (unlock_all_files): GC_CONSP should be CONSP
476 1999-12-17 Martin Buchholz <martin@xemacs.org>
481 Remove last vestigial uses of GC_*
483 * fns.c (mapcar1): Fix ***THREE*** obscure crashes in one function!
484 - Two of those involve evil mapping functions that destructively
485 modify a list being mapped over.
486 - Any garbage collection when mapping over a string could cause a
487 crash (typically in mapconcat).
489 1999-12-08 Adrian Aichner <adrian@xemacs.org>
491 * s\windowsnt.h (DIRECTORY_SEP): Initialize from
492 `Vdirectory_sep_char'.
494 * lisp.h: Add declaration for `Vdirectory_sep_char' to allow
495 customization of `DIRECTORY_SEP' under native Windows NT.
497 1999-12-14 Katsumi Yamaoka <yamaoka@jpl.org>
499 * buffer.c (Fbury_buffer): Add directions to the docstring.
501 1999-12-14 Martin Buchholz <martin@xemacs.org>
503 * XEmacs 21.2.24 is released.
505 1999-12-13 Martin Buchholz <martin@xemacs.org>
507 * sound.c (vars_of_sound): Provide esd-sound if HAVE_ESD_SOUND
509 * nas.c: Fix compiler warnings. Ansify. C++ compilation support.
511 1999-12-13 Kazuyuki IENAGA <ienaga@jsys.co.jp>
513 * input-method-xlib.c: Make sure src/ does not use Athena, except
514 indirectly through lwlib.
516 1999-12-13 Gunnar Evermann <ge204@eng.cam.ac.uk>
518 * dbxrc (pobj): Add opaque_ptr, remove opaque_list.
520 1999-12-10 Shenghuo ZHU <zsh@cs.rochester.edu>
522 * file-coding.c (add_coding_system_to_list_mapper):
523 - (coding-system-list) should list aliases correctly.
525 1999-12-07 Andy Piper <andy@xemacs.org>
527 * fileio.c (vars_of_fileio): directory separator fix from Mike Alexander.
528 * windowsnt.h (ditto):
530 1999-11-27 Adrian Aichner <adrian@xemacs.org>
532 * sysfile.h: Encapsulate `fstat' for Windows NT just like stat to
533 get consistent file modification times.
535 * sysdep.h: Declare `wait_for_termination' to use process handle,
536 not PID, on Windows NT native.
538 * sysdep.c (wait_for_termination): Use process handle, not PID, on
539 Windows NT native. Set exit code correctly on Windows NT.
540 (sys_subshell): Use process handle, not PID,
541 on Windows NT native.
542 (sys_fstat): Add ENCAPSULATE_FSTAT for Windows NT.
544 * process-nt.c (nt_create_process): Remove negative pid hack for
546 (nt_send_process): Declare vol_proc volatile.
547 (get_internet_address): warn_when_safe if IP address cannot be
549 (nt_open_network_stream): warn_when_safe if network stream fails
552 * ntproc.c (create_child): Remove negative pid hack for Windows
553 95. Remove incorrect and unnecessary USE_UNION_TYPE handling.
555 * nt.c (fstat): Encapsulate for Windows NT just like stat to get
556 consistent file modification times.
558 * callproc.c (call_process_cleanup): Use process handle, not PID,
559 on Windows NT native.
560 (Fcall_process_internal): Ditto. Close fd_error in parent. Don't
561 check for negative pid on Windows NT/9[58].
563 1999-12-07 Martin Buchholz <martin@xemacs.org>
565 * XEmacs 21.2.23 is released.
567 1999-12-06 Martin Buchholz <martin@xemacs.org>
569 * events.c (Fcopy_event): Don't copy the lrecord_header.
571 * lisp.h (DO_REALLOC):
573 Remove redundant parens.
574 Remove generic hygienic macro comment.
576 * lrecord.h (set_lheader_implementation): Remove redundant parens.
578 1999-12-05 Martin Buchholz <martin@xemacs.org>
580 * lstream.c (Lstream_adding):
581 - Never compare a size_t and a possibly negative number.
584 1999-12-05 Kyle Jones <kyle_jones@wonderworks.com>
586 * lisp/itimer.el: (require 'lisp-float-type). Use
587 floats directly in itimer-time-difference.
589 1999-12-05 Andy Piper <andy@xemacs.org>
591 * redisplay-output.c (redisplay_output_layout): avoid name hiding.
593 * gui.h: declare gui_add_item_keywords_to_plist.
595 * window.c (Fdelete_window): mark subwindows as changed so that
596 they can be GC'd if necessary.
598 1999-12-02 Jan Vroonhof <vroonhof@math.ethz.ch>
600 * src/callproc.c (Fcall_process_internal): Be careful in writing
601 terminating null when copying args. nargs can be < 4.
602 Idea from Klaus Frank <klausf@i3.informatik.rwth-aachen.de>
604 1999-11-29 Kyle Jones <kyle_jones@wonderworks.com>
606 * src/sound.c (Fding): Remove zero initialization of
607 static variables to avoid crashes on systems that dump
608 the initialized data segment read-only.
610 1999-12-05 Jan Vroonhof <vroonhof@math.ethz.ch>
612 * glyphs-x.c (convert_EImage_to_XImage): Guard against other
613 visual classes. From Rasmus Borup Hansen <rbh@math.ku.dk>
615 1999-12-04 Martin Buchholz <martin@xemacs.org>
617 * lstream.c: (filedesc_reader):
618 (filedesc_writer): Try number 2: Support broken systems where
619 return type of read() and write() is different from ssize_t.
624 - Replace macro calls to EMACS_GET_TTY and EMACS_SET_TTY with
625 function equivalents emacs_get_tty() and emacs_set_tty().
626 - Moved prototypes to systty.h, where struct event_tty is defined.
627 - Renamed bogus `waitp' parameter to `flushp'.
629 * lstream.c (filedesc_reader): Support broken systems where return
630 type of read() is different from ssize_t.
632 * events.c (Fcopy_event): Avoid redundant EQ test if event2 is nil.
634 * event-stream.c (menu_move_up): Remove redundant if block.
635 (menu_move_down): Gratuitous rewriting.
636 (menu_move_left): Work around Cygnus codefusion-990706 compiler bug.
637 (menu_move_right): Ditto.
639 * lrecord.h (copy_lcrecord):
641 Always add parentheses around uses of macro arguments.
643 * sysdll.c: #include <stdlib.h> for exit().
644 * unexhp9k800.x: #include <stdlib.h> for malloc().
645 Use proper prototype for Save_Shared_Data(void).
647 1999-12-04 Jan Vroonhof <vroonhof@math.ethz.ch>
649 * src/redisplay.c (point_would_be_visible): Correct for topclip.
651 1999-12-02 Hrvoje Niksic <hniksic@iskon.hr>
653 * lisp.h: Declare Qself_insert_defer_undo.
655 * event-stream.c (Fdispatch_event): Get the magic undo thing from
656 a symbol property, so commands other than self-insert-command can
658 (syms_of_event_stream): Define Qself_insert_defer_undo.
660 1999-11-30 Martin Buchholz <martin@xemacs.org>
662 * floatfns.c (emacs_rint): Rename rint to emacs_rint, so that
663 `#undef HAVE_RINT' works.
665 * sysdep.h: Fix up prototypes for sys_read_1(), sys_write_1()
667 1999-11-25 Andy Piper <andy@xemacs.org>
669 * select-msw.c (Fmswindows_set_clipboard): selection fixes from
671 (Fmswindows_delete_selection): ditto.
673 * redisplay.h (CLASS_REDISPLAY_FLAGS_CHANGEDP): add size_changed.
674 (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
676 * redisplay.c (redisplay_device): move size changed to macros in
678 (redisplay_without_hooks): ditto.
680 * redisplay-output.c (redisplay_output_layout): rename to avoid
683 * process-nt.c (struct nt_process_data): mks toolkit fixes from
685 (nt_create_process): ditto.
686 (nt_send_process): ditto.
688 * nt.c (init_environment): make sure mingw32 gets the cached
691 * gui.h: declare gui_add_item_keywords_to_plist.
693 * event-msw.c (mswindows_wnd_proc): Clipboard fixes from Mike
696 * console-msw.h: fix cygwin define/header 1.0 problems.
697 * glyphs-msw.c: ditto.
700 * s/cygwin32/h: ditto.
702 1999-11-29 XEmacs Build Bot <builds@cvs.xemacs.org>
704 * XEmacs 21.2.22 is released
706 1999-11-28 Martin Buchholz <martin@xemacs.org>
708 * XEmacs 21.2.21 is released.
710 1999-11-26 Martin Buchholz <martin@xemacs.org>
712 * callproc.c (Fcall_process_internal):
715 * event-msw.c (ntpipe_slurp_reader):
716 * event-msw.c (ntpipe_shove_writer):
717 * event-msw.c (winsock_reader):
718 * event-msw.c (winsock_writer):
719 * event-stream.c (dribble_out_event):
721 * fileio.c (Fexpand_file_name):
722 * glyphs-x.c (write_lisp_string_to_temp_file):
723 * gpmevent.c (tty_get_foreign_selection):
724 * lisp.h: Update prototypes.
725 * lstream.c (Lstream_flush_out):
726 * lstream.c (Lstream_write_1):
727 * lstream.c (Lstream_was_blocked_p):
728 * lstream.c (Lstream_read_more):
729 * lstream.c (Lstream_read):
730 * lstream.c (Lstream_fputc):
731 * lstream.c (make_stdio_output_stream):
732 * lstream.c (stdio_flusher):
733 * lstream.c (stdio_closer):
734 * lstream.c (make_filedesc_output_stream):
735 * lstream.c (errno_would_block_p):
736 * lstream.c (filedesc_writer):
737 * lstream.c (make_lisp_string_input_stream):
738 * lstream.c (make_fixed_buffer_output_stream):
739 * lstream.c (fixed_buffer_reader):
740 * lstream.c (make_resizing_buffer_output_stream):
741 * lstream.c (make_dynarr_output_stream):
742 * lstream.c (make_lisp_buffer_output_stream):
743 * lstream.c (lisp_buffer_reader):
744 * lstream.h (lstream_implementation):
746 * miscplay.h (reset_parsestate):
747 * process-nt.c (nt_send_process):
748 * process-unix.c (unix_send_process):
750 * sysdep.c (sys_close):
751 * sysdep.c (sys_read_1):
752 * sysdep.c (sys_write_1):
754 * file-coding.c (determine_real_coding_system):
755 * file-coding.c (Fdetect_coding_region):
756 * file-coding.c (struct decoding_stream):
757 * file-coding.c (decoding_reader):
758 * file-coding.c (Fdecode_coding_region):
759 * file-coding.c (struct encoding_stream):
760 * file-coding.c (encoding_reader):
761 * file-coding.c (Fencode_coding_region):
762 * file-coding.c (convert_to_external_format):
763 * file-coding.c (convert_from_external_format):
764 - Lstream functions mirror Unix98 read(),write(). Therefore use
765 Unix98 types size_t and ssize_t.
766 - Try to make Lstream* functions 64-bit clean. Someday someone
767 may actually want to read from a Lstream with more than 2**32 bytes.
768 - Add configure support for ssize_t.
769 - Update all callers of Lstream_read and Lstream_write to
771 - Fix esd* initiated C++ compile errors.
772 - Remove comments referring to `fpurge' - we don't want to call it
776 - Remove some lingering Lucid compiler support.
779 - Add prototype for Fdelete_process.
781 * gpmevent.c (Freceive_gpm_event): Remove unused variables.
783 1999-11-27 Martin Buchholz <martin@xemacs.org>
785 * Makefile.in.in (depend): Only update `depend' if there were changes.
787 1999-11-26 Martin Buchholz <martin@xemacs.org>
789 * editfns.c (get_system_name): Remove.
791 1999-11-26 Martin Buchholz <martin@xemacs.org>
793 * device-x.c (x_init_device):
794 - Replace magic number `17' with equivalent expn using sizeof.
795 - Replace strcmp with marginally more efficient memcmp.
796 - Avoid using C++ reserved word `class'.
798 * file-coding.c (determine_real_coding_system):
799 - Look for both initial and final -*- cookies.
800 - Replace EQ (foo, Qnil) with NILP (foo)
801 - Make searching for cookies more efficient.
802 - Recognize only rfc 1521 characters in charset names.
804 1999-11-22 Kazuyuki IENAGA <kazz@imasy.or.jp>
806 * input-method-xlib.c (IMDestroyCallback): #ifdef'd by
807 "THIS_IS_X11R6", because it shouldn't be evaluated unless X11R6.
808 * input-method-xlib.c (IMInstantiateCallback): Ditto.
809 * input-method-xlib.c (XIM_init_device): Revive XOpenIM function
810 call for X11R5 systems.
811 * input-method-xlib.c (XIM_delete_frame): Enabled XDestroyIC()
812 again because XIM doesn't concern with frame deletion itself.
813 The XIC will be cleared by XIM when XIM is closing (at XIM destroy
816 1999-10-25 Kazuyuki IENAGA <kazz@imasy.or.jp>
818 * input-method-xlib.c: Added new lisp object Qxim_xlib.
819 New macro xim_warn(str), xim_warn1(fmt,str) and xim_info(str).
820 All the valid stderr_out were changed to those macros.
821 (IMDestroyCallback): Don't test the XIC if the frame is not X
823 (IMInstantiateCallback): Treat the client_data as "device" not
824 "frame" because the caller changed from frame to device.
825 Here initializes XIM and activates XICs for each frame which
827 (XIM_init_device): Register the XIM instantiation callback which
828 had been performed by XIM_init_frame() before.
829 (XIM_delete_frame): Added a test for the XIM before clearing XIC.
830 (XIM_init_frame): Placed an actual code for XIC activation which
831 was moved from IMInstantiateCallback.
832 (syms_of_input_method_xlib): New function which includes a symbol
833 Qxim_xlib that uses in emacs.c.
835 * emacs.c: Added a function entry "syms_of_input_method_xlib" for
838 * symsinit.h: Added a declaration of "syms_of_input_method_xlib".
840 1999-11-05 Robert Pluim <rpluim@bigfoot.com>
842 * emacs.c (shut_down_emacs): Point users to PROBLEMS file
844 1999-11-16 Jan Vroonhof <vroonhof@math.ethz.ch>
846 * redisplay-output.c (compare_runes): Add comments about
847 results from profiling.
849 * redisplay.h (struct rune): Do not use bitfields for members.
850 (struct rune): Add various comments about further optimizations.
852 1999-11-19 Eric Darve <darve@crocco.stanford.edu>
854 * abbrev.c (abbrev_oblookup): Check whether wordend <= wordstart
855 if Vabbrev_start_location is used too.
857 1999-10-27 Yoshiki Hayashi <t90553@mail.ecc.u-tokyo.ac.jp>
859 * file-coding.c (detect_eol_type): Return CR when two
860 sequential CR are found.
861 (determine_real_coding_system): Check EOL type when coding:
862 cookie is found and EOL type is not specified.
863 Don't assume 8bit char as part of coding: cookie.
865 1999-10-26 Yoshiki Hayashi <t90553@mail.ecc.u-tokyo.ac.jp>
867 * file-coding.c (determine_real_coding_system): Check if
868 '-*-' exists. End searching for coding: cookie at the end
869 of line. Check whether character before coding: is space,
872 1999-11-07 William M. Perry <wmperry@aventail.com>
874 * gpmevent.c: Completely rewrote GPM mouse support for linux
875 console. The TTY console and event stream are modified at run
876 time, so this code can now be used as a module.
877 (tty_get_foreign_selection): New function to allow pasting from
878 other virtual consoles.
879 (Fgpm_enable): New lisp-visible function to turn GPM on or off
882 * device-tty.c (tty_asynch_device_change): No longer need to
883 notify GPM code of window/console height/width changes.
885 * console-tty.c (tty_init_console): Removed outdated GPM support
886 that was part of the console/event code.
888 * event-Xt.c (emacs_Xt_select_console): Ditto
890 * event-Xt.c (emacs_Xt_unselect_console): Ditto
892 * event-unixoid.c (read_event_from_tty_or_stream_desc): Ditto
894 * frame-tty.c (console_type_create_frame_tty): Ditto
896 1999-11-17 Martin Buchholz <martin@xemacs.org>
902 - Use Unix 98 types uid_t, gid_t, pid_t.
905 1999-11-01 Olivier Galibert <galibert@pobox.com>
907 * alloc.c (reinit_alloc_once_early): Move purify_flag init...
908 * emacs.c (main_1): ...here, to get the correct value even with
911 1999-11-17 Martin Buchholz <martin@xemacs.org>
913 * lisp.h (BIT_VECTOR_LONG_STORAGE): Add extra parens. It's a macro!
915 * tooltalk.c (tt_build_string): Remove extra parens.
916 * process.c (print_process): Remove extra parens.
917 * buffer.h (BI_BUF_PTR_BYTE_POS):
919 (BI_BUF_BYTE_ADDRESS):
920 (BI_BUF_BYTE_ADDRESS_BEFORE):
924 Remove extra parens. Inline functions are not macros.
926 * editfns.c (Fuser_login_name):
928 Use proper type uid_t.
930 1999-11-15 Martin Buchholz <martin@xemacs.org>
932 * syntax.c (complex_vars_of_syntax): Make more readable.
933 (define_standard_syntax): New function.
935 * syntax.c (forward-comment): Gradually make XEmacs 64-bit-clean.
937 1999-11-14 Martin Buchholz <martin@xemacs.org>
939 * mule-ccl.c (CCL_WRITE_STRING): Fix compiler warnings.
941 1999-11-12 Yoshiki Hayashi <t90553@mail.ecc.u-tokyo.ac.jp>
943 * mule-charset.h (LEADING_BYTE_OFFICIAL_1, LEADING_BYTE_OFFICIAL_2):
944 New enum type to make sure no gap in the leading byte definition.
946 1999-11-11 Yoshiki Hayashi <t90553@mail.ecc.u-tokyo.ac.jp>
948 * mule-charset.h (LEADING_BYTE_CYRILLIC_ISO_8859_5,
949 LEADING_BYTE_LATIN_ISO8859_9): Moved to 0x8B and 0x8C
950 to remove a hole in leading byte definition.
952 1999-11-10 Yoshiki Hayashi <t90553@mail.ecc.u-tokyo.ac.jp>
954 * mule-charset.c (non_ascii_valid_charptr_p): Check if
955 private charset is defined.
957 1999-11-09 Yoshiki Hayashi <t90553@mail.ecc.u-tokyo.ac.jp>
959 * mule-ccl.c (ccl_driver): Make sure generated sequences
960 are valid when doing `CCL_WRITE_STRING'.
961 (ccl-execute-on-string): Pass CCL_MODE_DECODING to ccl_driver.
963 1999-11-10 XEmacs Build Bot <builds@cvs.xemacs.org>
965 * XEmacs 21.2.20 is released
967 1999-11-04 Martin Buchholz <martin@xemacs.org>
969 * mule-ccl.c (ccl_driver): Warning suppression
971 1999-11-01 SL Baur <steve@miho.m17n.org>
973 * emacs.c (main_1): Guard call to reinit_vars_of_debug when not
974 building a debugged XEmacs.
976 1999-10-28 Andreas Jaeger <aj@suse.de>
978 * src/emacs.c (main_1): Don't set the malloc hooks if using
981 1999-10-30 Olivier Galibert <galibert@pobox.com>
983 * alloc.c (pdump_dump_rtables): Don't forget to dump the last
987 1999-10-25 Olivier Galibert <galibert@pobox.com>
989 * emacs.c (main_1): Call reinit_vars_of_scrollbar_x.
991 * symsinit.h: Declare reinit_vars_of_scrollbar_x.
993 1999-10-25 Martin Buchholz <martin@xemacs.org>
995 * redisplay.h (CLASS_RESET_CHANGED_FLAGS):
996 (GLOBAL_RESET_CHANGED_FLAGS):
997 (CLASS_REDISPLAY_FLAGS_CHANGEDP):
998 (RESET_CHANGED_SET_FLAGS):
999 Fix C++ compile errors/warnings.
1000 These macros were just a tad too clever.
1002 * process-unix.c (unix_open_network_stream):
1003 * objects-x.c (allocate_nearest_color):
1004 * mule-charset.c (vars_of_mule_charset):
1005 * fileio.c (Ffile_truename):
1006 * file-coding.c (vars_of_file_coding):
1007 Fix compile errors/warnings.
1009 * alloc.c (xstrdup): Use fact that memcpy returns its first arg.
1010 (allocate_lisp_storage): Simplify.
1012 1999-10-24 Olivier Galibert <galibert@pobox.com>
1014 * conslots.h: Add defines with first and last slot names.
1015 * bufslots.h: Add defines with first and last slot names.
1017 * buffer.c (common_init_complex_vars_of_buffer): Renamed from
1018 reinit_complex_vars_of_buffer
1019 (reinit_complex_vars_of_buffer): Reset the slots to the dumped
1021 (complex_vars_of_buffer): Dump the slots values.
1023 * console.c (common_init_complex_vars_of_console): Renamed from
1024 reinit_complex_vars_of_console
1025 (reinit_complex_vars_of_console): Reset the slots to the dumped
1027 (complex_vars_of_console): Dump the slots values.
1029 * alloc.c: Rename reloc_table to pdump_reloc_table, rt_list to
1030 pdump_rt_list and move them at the beginning of the file.
1031 (gc_sweep): Unmark pdumped objects after the sweep phase.
1032 (pdump_dump_rtables): Change a bare 256 to
1033 last_lrecord_type_index_assigned. Add a separator between the
1034 adresses or lrecords and the ones of C structs in the dump file.
1035 (pdump_load): Cope with the new separator and the renamings. Stop
1036 looking for the hash tables list after it has been found (duh!).
1038 1999-10-24 Robert Bihlmeyer <robbe@orcus.priv.at>
1040 * sound.c: support HAVE_ESD_SOUND
1044 * linuxplay.c: Move large part of linuxplay to generalized file
1045 miscplay. Make it platform independent.
1049 1999-10-24 Adrian Aichner <adrian@xemacs.org>
1051 * lisp.h (Dynarr_declare): Fix boo-boo.
1053 1999-10-24 Olivier Galibert <galibert@pobox.com>
1055 * process-unix.c (allocate_pty): Fix HAVE_GETPT.
1058 1999-10-24 Jan Vroonhof <vroonhof@math.ethz.ch>
1060 * redisplay.c (start_with_line_at_pixpos): Remove assert(cur_elt
1061 >=0). Handle the cur_elt == 0 case.
1063 1999-10-24 Jan Vroonhof <vroonhof@math.ethz.ch>
1065 * unexelf.c: Merge Martin's c++ fixes back in
1067 1999-10-20 Jan Vroonhof <vroonhof@math.ethz.ch>
1069 * unexelf.c (unexec): Only copy the global offset
1070 table from memory on sgi machines.
1072 1999-08-13 Alexandre Oliva <oliva@dcc.unicamp.br>, Vin Shelton <acs@xemacs.org>
1074 * unexelf.c: Enable GNU/Linux/alpha to build with gcc 2.95 by
1075 adding support for an sbss section. Get IRIX 5.2 to build using
1078 * m/iris4d.h: Use unexelf.o for unexec.
1080 * m/iris5d.h: Use unexelf.o for unexec.
1082 1999-10-24 Jan Vroonhof <vroonhof@math.ethz.ch>
1084 * unexelf.c: Revert to 21.1 version
1086 1999-08-28 Jan Vroonhof <vroonhof@math.ethz.ch>
1088 * window.c (Fwindow_truncated_p): New function.
1090 1999-08-25 Jonathan Marten <jonathan.marten@uk.sun.com>
1092 * window.c (window_truncation_on): Always return 0 for minibuffer
1093 windows, to enable auto scrolling.
1095 1999-10-24 Neal Becker <nbecker@fred.net>
1096 * process.h: Unix98 PTY support
1098 1999-10-17 Jan Vroonhof <vroonhof@math.ethz.ch>
1100 * fileio.c (Ffile_truename): Do proper mule decoding on
1101 the argument to xrealpath()
1103 1999-08-19 Stephen Tse <stephent@sfu.ca>
1105 * process-unix.c (unix_open_network_stream): Add udp network
1106 support; rename variable Qtcpip to Qtcp, parameter family to
1107 protocol for consistency with Qudp.
1109 * process-nt.c (nt_open_network_stream): Rename variable Qtcpip to
1110 Qtcp, parameter family to protocol for consistency with Qudp.
1112 * process.c (global_variables): Add a new variable Qudp for udp
1113 network support; rename variable Qtcpip to Qtcp for consistency
1115 (Fopen_network_stream_internal): Rename parameter FAMILY to
1116 PROTOCOL for consistency; fix a minor typo and add an explanation
1117 in docstring for udp programming.
1118 (Fopen_multicast_group_internal): Fix a minor typo in docstring.
1119 (syms_of_process): Add a new variable Qudp for udp network
1120 support; rename variable Qtcpip to Qtcp for consistency with Qudp.
1122 * process.h (extern_variables): Add a new variable Qudp for udp
1123 network support; rename variable Qtcpip to Qtcp for consistency
1126 * procimpl.h: Add a new variable Qudp for udp network support;
1127 rename variable Qtcpip to Qtcp for consistency with Qudp.
1128 (struct process_methods): Rename parameter family to protocol.
1131 1999-10-24 Olivier Galibert <galibert@pobox.com>
1133 * alloc.c (pdump_make_hash): Divide pointers by 8 for a better hash.
1135 1999-10-23 Olivier Galibert <galibert@pobox.com>
1137 * lrecord.h (struct lrecord_header): Removed dumped flags.
1139 * dynarr.c: Use DUMPEDP instead of dumped flag.
1141 * lisp.h (DUMPEDP): Added. Removed dumped flag from dynarr.
1143 * alloc.c: Removed hash_next linked list pointer.
1145 * *.c *.h: Removed markobj and mark_object parameters, removed GC_
1148 1999-10-14 Andy Piper <andy@xemacs.org>
1150 * redisplay-x.c (x_output_shadows): fix dodgy maths for border
1153 * gutter.c (output_gutter): be more accurate about the area to be
1154 cleared since X seems to manage to do the clear after drawing the
1157 * redisplay.h (RESET_CHANGED_FLAGS): new macro for setting
1158 redisplay flags as a group.
1159 (RESET_CHANGED_SET_FLAGS): ditto.
1160 (CLASS_RESET_CHANGED_FLAGS): ditto.
1161 (GLOBAL_RESET_CHANGED_FLAGS): ditto.
1162 (REDISPLAY_FLAGS_CHANGEDP): new macro for testing redisplay flags
1164 (CLASS_REDISPLAY_FLAGS_CHANGEDP): ditto.
1165 (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
1167 * redisplay.c (redisplay_frame): use CLASS_RESET_CHANGED_FLAGS
1168 instead of setting flags individually.
1169 (redisplay_device): ditto CLASS_REDISPLAY_FLAGS_CHANGEDP.
1170 (redisplay_device): ditto.
1171 (redisplay_device): ditto CLASS_RESET_CHANGED_FLAGS.
1172 (redisplay_without_hooks): ditto GLOBAL_REDISPLAY_FLAGS_CHANGEDP.
1173 (redisplay_without_hooks): ditto CLASS_REDISPLAY_FLAGS_CHANGEDP.
1174 (redisplay_without_hooks): ditto.
1175 (redisplay_without_hooks): ditto GLOBAL_RESET_CHANGED_FLAGS.
1177 * redisplay-x.c (x_output_string): unmap subwindows in the area.
1178 (x_output_blank): ditto.
1180 * redisplay-output.c (redisplay_output_display_block): don't unmap
1181 subwindows in case layout optimization can avoid it.
1182 (redisplay_output_subwindow): unmap subwindows in the area.
1183 (redisplay_output_layout): optimize the output of layouts - only
1184 output glyphs that have changed if nothing else of redisplay
1185 significance has occurred.
1186 (redisplay_output_pixmap): change args to
1187 redisplay_clear_clipped_region.
1188 (redisplay_clear_clipped_region): allow the clipped region to be
1189 cleared of all subwindows except the one passed in.
1191 * redisplay-msw.c (mswindows_output_blank): unmap subwindows in
1193 (mswindows_output_cursor): ditto.
1194 (mswindows_output_string): ditto.
1196 * gutter.c (calculate_gutter_size): if the window buffer is nil
1197 then don't continue.
1198 (update_frame_gutters): be more lenient about when we actually
1199 update the gutter. Layout optimization makes this
1200 non-costly. Cache redisplay flags that we want to temporarily
1203 * glyphs.c (Fglyph_animated_timeout_handler): handle image
1204 specific timeouts rather than iterating over the instance cache.
1205 (glyph_animated_timeout_mapper): deleted.
1206 (add_glyph_animated_timeout): use a weak list to hold onto the
1207 image so that it can be GC'ed.
1208 (disable_glyph_animated_timeout): disable a specific timeout.
1209 (vars_of_glyphs): disable-animated-pixmaps is a new boolean for
1210 controlling whether pixmaps are animated or not.
1212 * glyphs-msw.c (mswindows_finalize_image_instance): make sure the
1213 image timeout gets disabled when the image gets freed.
1215 * glyphs-eimage.c (gif_instantiate): remove meaningless
1216 comment. Cope with timeouts specified in the gif extension block.
1218 * event-msw.c (vars_of_event_mswindows): new variable
1219 mswindows-meta-activates-menu.
1220 (mswindows_wnd_proc): only goto defproc with VK_MENU if the user
1223 * glyphs-x.c (x_finalize_image_instance): delete mask first so
1224 that we can compare with image.
1226 1999-10-14 Jonathan Harris <jhar@tardis.ed.ac.uk>
1228 * event-msw.c (mswindows_key_to_emacs_keysym):
1229 Recognise keypad keys as different from normal keys.
1231 1999-10-14 Didier Verna <didier@xemacs.org>
1233 * glyphs-x.c (x_finalize_image_instance): avoid freeing null pixmaps.
1235 1999-10-10 Olivier Galibert <galibert@pobox.com>
1237 * symbols.c (init_symbols_once_early): dump Vquit_flag.
1239 * symsinit.h: Updated.
1241 * ntproc.c (vars_of_ntproc): Use defsymbol.
1243 * emacs.c (main_1): Updated reinit calls.
1245 * lisp.h: Removed Fpurecopy and pure_put declarations.
1246 * fns.c: Removed pure_put.
1248 * eval.c (Fdefvar): pure_put -> Fput
1250 * frame-x.c (init_x_prop_symbols): Ditto.
1251 * symbols.c (deferror): Ditto.
1253 * alloc.c (Fmake_byte_code): Remove Fpurecopy call.
1254 * buffer.c (vars_of_buffer): Ditto.
1255 * bytecode.c (Ffetch_bytecode): Ditto.
1256 (optimize_compiled_function): Ditto.
1257 * emacs.c (vars_of_emacs): Ditto.
1258 * emodules.c (vars_of_module): Ditto.
1259 * eval.c (define_function): Ditto.
1261 * frame.c (vars_of_frame): Ditto.
1262 * intl.c (Fset_domain): Ditto.
1263 * lread.c (load_force_doc_string_unwind): Ditto.
1264 * menubar.c (vars_of_menubar): Ditto.
1265 * minibuf.c (reinit_complex_vars_of_minibuf): Ditto.
1267 * debug.c (reinit_vars_of_debug): Extracted.
1268 * device-x.c (reinit_vars_of_device_x): Ditto.
1269 * emodules.c (reinit_vars_of_module): Ditto.
1270 * font-lock.c (reinit_vars_of_font_lock): Ditto.
1271 * glyphs-widget.c (reinit_vars_of_glyphs_widget): Ditto.
1272 * glyphs.c (reinit_vars_of_glyphs): Ditto.
1273 * gui-x.c (reinit_vars_of_gui_x): Ditto.
1274 * insdel.c (reinit_vars_of_insdel): Ditto.
1275 * menubar-x.c (reinit_vars_of_menubar_x): Ditto.
1276 * minibuf.c (reinit_complex_vars_of_minibuf): Ditto.
1277 * mule-wnnfns.c (reinit_vars_of_mule_wnn): Ditto.
1278 * print.c (reinit_vars_of_print): Ditto.
1279 * redisplay.c (reinit_vars_of_redisplay): Ditto.
1280 * select-x.c (reinit_vars_of_xselect): Ditto.
1281 * undo.c (reinit_vars_of_undo): Ditto.
1283 1999-10-10 Olivier Galibert <galibert@pobox.com>
1285 * symsinit.h: Updated declarations, see other ChangeLog entries.
1287 * redisplay.c (init_redisplay): Ensure proper reinitialisation.
1289 * lrecord.h (XD_DYNARR_DESC): Introduce XD_INT_RESET and use it.
1291 * glyphs.c: Add the ii_keyword_entry and related descriptions.
1292 Fix the image_instantiator_methods one.
1294 * file-coding.c: Plonk all data that needs to be dumped in a
1295 dynamically allocated structure.
1297 * extents.c (reinit_vars_of_extents): Extracted from
1300 * event-stream.c (vars_of_event_stream): Don't staticpro when
1301 pdump_wire is enough.
1303 * event-msw.c (reinit_vars_of_event_mswindows): Extracted from
1304 vars_of_event_mswindows.
1306 * event-Xt.c (reinit_vars_of_event_Xt): Extracted from
1309 * eval.c (vars_of_eval): Don't staticpro when pdump_wire is enough.
1311 * emacs.c (main_1): Added some reinit calls.
1313 * device-x.c (reinit_console_type_create_device_x): Extracted from
1314 console_type_create_device_x.
1316 * console.h: Declare the console_type_entry_dynarr description.
1318 * console.c: Unstatic the console_type_entry_dynarr description.
1320 * alloc.c: Removed some dubious comments. Handle XD_INT_RESET.
1322 1999-10-07 Olivier Galibert <galibert@pobox.com>
1324 * symsinit.h: Updated declarations, see other ChangeLog entries.
1326 * minibuf.c (reinit_complex_vars_of_minibuf): Extracted from
1327 complex_vars_of_minibuf.
1329 * lrecord.h: Removed XD_PARENT_INDIRECT (unused and
1330 unimplemented), added XD_LO_LINK.
1332 * lisp.h (pdump_wire_list): Add declaration.
1334 * glyphs.h (INITIALIZE_DEVICE_IIFORMAT): Fix bug found by Andy.
1335 (INITIALIZE_IMAGE_INSTANTIATOR_FORMAT): Fix stupid bug.
1336 (REINITIALIZE_IMAGE_INSTANTIATOR_FORMAT): Remove, useless once the
1339 * glyphs.c (reinit_image_instantiator_format_create): Remove.
1341 * glyphs-x.c (reinit_image_instantiator_format_create_glyphs_x):
1345 (reinit_image_instantiator_format_create_glyphs_widget): Remove.
1348 (reinit_image_instantiator_format_create_glyphs_mswindows):
1352 (reinit_image_instantiator_format_create_glyphs_eimage): Remove.
1354 * frame.c (Fmake_frame): Don't reset the face cache when using the
1357 * file-coding.c: Dumped the_codesys_prop_dynarr and added all
1358 relevant descriptions.
1360 * events.c (reinit_vars_of_events): Extracted from vars_of_events.
1362 * eval.c: The subr is _not_ a lcrecord.
1364 * emacs.c (main_1): Call vars_of_specifier early before any
1365 specifier creation (e.g in vars_of_glyphs, at least). Remove the
1366 useless reinit_image_instantiator_format*. Add
1367 reinit_vars_of_events and reinit_complex_vars_of_minibuf. Add
1368 calls to lstream_type_create* and process_type_create*.
1370 * elhash.c: Dump Vall_weak_hash_tables correctly.
1372 * data.c: Dump Vall_weak_lists correctly.
1374 * console.c: Fix description.
1376 * console-stream.c (init_console_stream): Do initializations
1377 correctly in the pdump case.
1379 * chartab.c: Fix description. Dump Vall_syntax_tables correctly.
1380 (Fcopy_char_table): Link into Vall_syntax_tables.
1382 * alloc.c (pdump_wire_list): Added.
1383 (Fgarbage_collect): Fix loop in stats couting missing the last
1385 (pdump_register_sub): Added XD_LO_LINK.
1386 (pdump_dump_data): Ditto. Fixed XD_LO_RESET_NIL forgttting the
1388 (pdump_reloc_one): Ditto.
1389 (pdump_scan_by_alignement): Use last_lrecord_type_index_assigned
1391 (pdump_dump_wired): Added lists.
1392 (pdump): Use last_lrecord_type_index_assigned instead of 256.
1393 Dump last_lrecord_type_index_assigned value. Fix minor bugs.
1395 1999-10-07 Andy Piper <andy@xemacs.org>
1397 * glyphs-msw.c (mswindows_finalize_image_instance): zero out
1400 * glyphs-x.c (x_finalize_image_instance): fix FMW problem.
1402 1999-10-06 Andy Piper <andy@xemacs.org>
1404 * elhash.c (resize_hash_table): Correct reference to lrecord_header.
1406 1999-10-06 Damon Lipparelli <lipp@primus.com>
1408 * elhash.h: forward declare Lisp_Hash_Table.
1410 1999-10-06 Andy Piper <andy@xemacs.org>
1412 * glyphs.c (Fset_image_instance_property): mark glyphs as dirty
1413 after setting an image instance property.
1415 1999-10-05 Andy Piper <andy@xemacs.org>
1417 * gutter.c (update_frame_gutters): output gutters if
1418 windows_changed is set. This is the only way of catching changes
1419 in selected window which obviously can affect the specifiers.
1421 * redisplay.c: new state flags, subwindows_state_changed and
1422 subwindows_state_changed set.
1423 (redisplay_window): use them.
1424 (redisplay_device): ditto.
1425 (redisplay_without_hooks): ditto.
1426 (redisplay_frame): ditto. Reset subwindow cachels if
1427 subwindows_changed is set.
1428 (redisplay_window): call mark_glyph_cachels_as_clean after
1431 * redisplay-x.c (x_output_x_pixmap): select correct
1432 pixmap image for display depending on the currently selected
1435 * redisplay-output.c (compare_runes): check dirtiness when
1436 checking RUNE_DGLYPH runes.
1437 (compare_display_blocks): relax invalidation of display blocks
1438 since we can now detect whether individual glyphs have changed or
1441 * redisplay-msw.c (mswindows_output_dibitmap): select correct
1442 bitmap image for display depending on the currently selected
1445 * glyphs.h (struct Lisp_Image_Instance): add a dirty flag.
1446 (IMAGE_INSTANCE_DIRTYP): new macro.
1447 (XIMAGE_INSTANCE_DIRTYP): ditto.
1448 (MARK_IMAGE_INSTANCE_CHANGED): ditto.
1449 (GLYPH_DIRTYP): ditto.
1450 (XGLYPH_DIRTYP): ditto.
1451 (MARK_GLYPH_CHANGED): ditto.
1452 (GLYPH_CACHEL_DIRTYP): ditto.
1453 (struct glyph_cachel): add a dirty flag.
1455 * glyphs.c (update_frame_subwindows): Don't update on
1457 (glyph_animated_timeout_mapper): new function. Map over the
1458 instance cache lookinng for animated images to update.
1459 (Fglyph_animated_timeout_handler): new function. Lisp callback for
1460 handling animated image timeout events.
1461 (disable_glyph_animated_timeout): new function. Add the animated
1463 (disable_glyph_animated_timeout): new function. Remove the
1464 animated image timeout.
1465 (syms_of_glyphs): initialize Qglyph_animated_timeout_handler and
1467 (vars_of_glyphs): initialize Vglyph_animated_ticker.
1468 (image_instance_equal): add the currently displayed slice.
1469 (image_instance_hash): ditto.
1470 (allocate_glyph): initialize dirty flag.
1471 (glyph_width): rename glyph -> glyph_or_image.
1472 (glyph_height_internal): ditto.
1473 (glyph_dirty_p): new function. Determine whether the image
1474 instance in the domain and/or glyph is dirty.
1475 (set_glyph_dirty_p): set the dirtiness.
1476 (update_glyph_cachel_data): take dirtiness into account. Pass the
1477 image instance we are interested in to glyph_width and friends.
1478 (get_glyph_cachel_index): make non-static. Always call
1479 update_glyph_cachel_data.
1480 (mark_glyph_cachels_as_not_updated): meaningless formatting
1482 (mark_glyph_cachels_as_clean): new function. Clean dirtiness from
1485 * glyphs-x.h (struct x_image_instance_data): change
1486 pixmap to a list of pixmaps.
1487 (IMAGE_INSTANCE_X_PIXMAP_SLICE): new macro.
1488 (IMAGE_INSTANCE_X_PIXMAP_SLICES): ditto.
1489 (XIMAGE_INSTANCE_X_PIXMAP_SLICE): ditto.
1490 (XIMAGE_INSTANCE_X_PIXMAP_SLICES): ditto.
1492 * glyphs-x.c (x_finalize_image_instance): make sure multi pixmap
1493 images get deleted properly.
1494 (init_image_instance_from_x_image): add slices paramater and use
1495 it to initialize x_image_instance_data correctly.
1496 (image_instance_add_x_image): new function. Add new pixmaps to our
1497 set of instantiated pixmaps for an image. Used by animated images.
1498 (x_init_image_instance_from_eimage): add a slices
1499 parameter. Instantiate all images from the eimage.
1500 (x_xpm_instantiate): update use of
1501 init_image_instance_from_x_image.
1502 (init_image_instance_from_xbm_inline): ditto.
1503 (x_initialize_pixmap_image_instance): add slices paramater and use
1504 it to allocate x_image_instance_data correctly.
1506 * glyphs-msw.h (struct mswindows_image_instance_data): change
1507 bitmap to a list of bitmaps.
1508 (IMAGE_INSTANCE_MSWINDOWS_BITMAP_SLICE): new macro.
1509 (IMAGE_INSTANCE_MSWINDOWS_BITMAP_SLICES): ditto.
1510 (XIMAGE_INSTANCE_MSWINDOWS_BITMAP_SLICE): ditto.
1511 (XIMAGE_INSTANCE_MSWINDOWS_BITMAP_SLICES): ditto.
1513 * glyphs-msw.c (init_image_instance_from_dibitmap): add slices
1514 paramater and use it to initialize mswindows_image_instance_data
1516 (image_instance_add_dibitmap): new function. Add new bitmaps to
1517 our set of instantiated bitmaps for an image. Used by animated
1519 (mswindows_init_image_instance_from_eimage): add a slices
1520 parameter. Instantiate all images from the eimage.
1521 (mswindows_xpm_instantiate): update use of
1522 init_image_instance_from_dibitmap.
1523 (bmp_instantiate): ditto.
1524 (init_image_instance_from_xbm_inline): ditto.
1525 (mswindows_finalize_image_instance): make sure all the bitmap
1527 (mswindows_initialize_dibitmap_image_instance): add slices
1528 paramater and use it to allocate mswindows_image_instance_data
1531 * glyphs-eimage.c (jpeg_instantiate): give extra paramter to
1532 init_image_instance_from_eimage.
1533 (png_instantiate): ditto.
1534 (tiff_instantiate): ditto.
1535 (gif_instantiate): allocate bitmaps for all gif slices not just