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
1538 * device.h (struct device): add subwindows_state_changed flag.
1539 (MARK_DEVICE_SUBWINDOWS_STATE_CHANGED): new macro.
1540 (MARK_DEVICE_FRAMES_GLYPHS_CHANGED): ditto.
1542 * console.h (struct console_methods): add a slice parameter to
1543 init_image_instance_from_eimage_method.
1545 * redisplay.c (create_string_text_block): Allow buffer to be nil
1548 1999-09-24 Andy Piper <andy@xemacs.org>
1550 * glyphs-x.c: only include gui-x.h if we are building with
1553 * gui-x.c (vars_of_gui_x): only set popup_up_p if we have popups.
1555 1999-09-28 Lee Kindness <lkindness@csl.co.uk>
1557 * objects-x.c (allocate_nearest_color): will return 0 (failure)
1558 when the colormap is full and the color it has computed to be the
1559 'nearest' has been allocated read/write.
1561 1999-10-02 Olivier Galibert <galibert@pobox.com>
1563 * search.c (reinit_vars_of_search): Reinit the search cache
1566 * elhash.h: Make the description visible. Declare
1569 * elhash.c (resize_hash_table): Extracted from enlarge_hash_table
1570 to generalize the hash table reorganization.
1571 (reorganize_hash_table): Added.
1572 (enlarge_hash_table): Uses resize_has_table.
1574 * casetab.c (complex_vars_of_casetab): staticpro the mule mirror
1577 * alloc.c: Add correct management of blocks of structures.
1578 Reorganize hash tables at reload since the hash values can change
1581 1999-10-01 Olivier Galibert <galibert@pobox.com>
1583 * lisp.h: Add pdump_wire declaration
1585 * elhash.c (vars_of_elhash): Wire Vall_weak_hash_tables.
1586 * symbols.c (init_symbols_once_early): Wire Qnil and Qunbound.
1588 * alloc.c (pdump_wire): Added..
1589 (pdump_load): Support it.
1593 (reinit_image_instantiator_format_create_glyphs_mswindows): Fix
1596 1999-09-28 Olivier Galibert <galibert@pobox.com>
1598 * symsinit.h: Added lots of prototypes.
1600 * symeval.h: Added defsymbol_nodump declaration.
1602 * symbols.c (find_symbol_value): Lame attempt at making the
1604 (defsymbol_nodump): Added.
1606 * mule-charset.c: Collapsed global lisp objects arrays in one
1609 * lrecord.h: Added some flags.
1611 * lisp.h: Added dumped flag to dynarrs. Added dumpstruct
1614 * glyphs.h (INITIALIZE_IMAGE_INSTANTIATOR_FORMAT_NO_SYM): Don't
1615 staticpro dynamic variables.
1617 * glyphs.c (reinit_specifier_type_create_image): Added.
1618 (image_instantiator_format_create): Dump image instantiator format
1620 (reinit_image_instantiator_format_create): Added.
1622 * emacs.c (main_1): Added reinits calls.
1624 * dynarr.c: Protect dumped dynarrays from going berzek in free or
1627 * specifier.h (INITIALIZE_SPECIFIER_TYPE): Don't staticpro dynamic
1629 * specifier.c (specifier_type_create): Dump the specifier type
1631 (reinit_specifier_type_create): Added.
1632 * console.h (INITIALIZE_CONSOLE_TYPE): Don't staticpro dynamic
1634 * console.c (console_type_create): Dump the console type dynarr.
1635 (reinit_vars_of_console): Extracted from vars_of_console.
1636 (reinit_complex_vars_of_console): Extracted from
1637 complex_vars_of_console
1638 * window.c (reinit_vars_of_window): Extracted from vars_of_window.
1639 * toolbar.c (reinit_specifier_type_create_toolbar): Added.
1640 * search.c (reinit_vars_of_search): Extracted from vars_of_search.
1641 * objects.c (reinit_specifier_type_create_objects): Added.
1642 (reinit_vars_of_objects): Extracted from vars_of_objects.
1643 * lstream.c (reinit_vars_of_lstream): Extracted from
1645 * lread.c (reinit_vars_of_lread): Extracted from vars_of_lread.
1646 * gutter.c (reinit_specifier_type_create_gutter): Added.
1647 * glyphs-x.c (reinit_image_instantiator_format_create_glyphs_x):
1650 (reinit_image_instantiator_format_create_glyphs_widget): Added
1652 (reinit_image_instantiator_format_create_glyphs_mswindows): Added.
1654 (reinit_image_instantiator_format_create_glyphs_eimage): Added.
1655 * event-stream.c (reinit_vars_of_event_stream): Extracted from
1656 vars_of_event_stream
1657 * eval.c (reinit_vars_of_eval): Extracted from vars_of_eval.
1658 * device.c (reinit_vars_of_device): Extracted from vars_of_device.
1659 * console-x.c (reinit_console_type_create_x): Added.
1660 * console-tty.c (reinit_console_type_create_tty): Added
1661 * console-stream.c (reinit_console_type_create_stream): Added.
1662 (init_console_stream): If PDUMP, always reinitialise basic
1664 * console-msw.c (reinit_console_type_create_mswindows): Added.
1665 * buffer.c (reinit_vars_of_buffer): Extracted from
1666 init_vars_of_buffer.
1667 (reinit_complex_vars_of_buffer): Extracted from
1668 complex_vars_of_buffer
1670 * alloc.c: Further with the portable dumping, the revenge.
1671 (dumpstruct): Added.
1672 (reinit_alloc_once_early): Extracted from init_alloc_once_early.
1674 * specifier.c (sizeof_specifier): Correct size computation.
1675 (make_specifier_internal): Ditto.
1677 1999-09-27 Olivier Galibert <galibert@pobox.com>
1679 * alloc.c: Further with the portable dumping.
1681 1999-09-27 Martin Buchholz <martin@xemacs.org>
1683 * glyphs-x.c (update_widget_face): Remove bogus cast
1685 * data.c (sign_extent_lisp):
1686 * data.c (check_int_range):
1689 * data.c (number_char_or_marker_to_int):
1690 * data.c (number_char_or_marker_to_double):
1693 * extents.c (print_extent_1):
1694 * fns.c (print_bit_vector):
1696 * fns.c (Fsafe_length):
1697 * fns.c (copy_list):
1701 * fns.c (Fnbutlast):
1703 * marker.c (print_marker):
1705 * bytecode.c (bytecode_arithcompare):
1706 * bytecode.c (bytecode_arithop):
1708 * lisp.h (EXTERNAL_LIST_LOOP_DELETE_IF):
1709 * lisp.h (TRUE_LIST_P):
1710 * lisp.h (CHECK_TRUE_LIST):
1711 * lisp.h (bit_vector_length):
1712 * lisp.h (GCPRO4): Make consistent.
1713 * lisp.h (NGCPRO4): Make consistent.
1714 * lisp.h (NNGCPRO4): Make consistent.
1715 * alloc.c (Fmake_list):
1716 * alloc.c (Fmake_string):
1717 Use proper 64-bit types, e.g. EMACS_INT or size_t instead of int.
1718 This should make all arithmetic 64-bit clean.
1720 Use %ld with (long) casts in print statements of types with sizes
1721 possibly larger than int.
1723 Following functions had mismatched prototypes!!:
1724 do_marker_adjustment(), fixup_internal_substring(), scan_lists(),
1725 char_quoted(), make_string_from_buffer(),
1726 make_string_from_buffer_no_extents()
1728 The types of Bufpos, Bytind, Memind, Bytecount, Charcount,
1729 Extcount are all now EMACS_INT. I hope to see the day when I can
1730 create a buffer with more than INT_MAX characters, without having
1731 XEmacs slow down to a crawl. I also hope to be able to create a
1732 list with more than INT_MAX cons cells.
1734 * redisplay.c (decode_mode_spec):
1735 The %p and %P specs in the mode line were not correct for buffers
1736 larger than MAX_INT/100! The %p spec was off by .5% even for
1739 1999-09-27 Martin Buchholz <martin@xemacs.org>
1741 * cmdloop.c (num_input_keys):
1742 * print.c (debug_temp):
1743 * emacs.c (Vinfo_directory):
1744 Delete unused variables
1746 * console-x.h (x_interline_space): Mark as unimplemented.
1747 * redisplay-x.c (x_interline_space): Mark as unimplemented.
1749 * event-Xt.c (pending_timeouts):
1750 * linuxplay.c (linuxplay_sndbuf):
1752 * search.c (searchbufs):
1753 * specifier.c (specifier_type_entry_dynarr):
1754 * undo.c (pending_boundary):
1755 * event-stream.c (the_low_level_timeout_blocktype):
1756 * extents.c (gap_array_marker_freelist):
1757 * extents.c (extent_list_marker_freelist):
1758 * print.c (being_printed):
1759 * print.c (alternate_do_pointer):
1760 * alloc.c (first_string_chars_block):
1761 * alloc.c (current_string_chars_block):
1762 * emacs.c (initial_argv):
1763 * emacs.c (initial_argc):
1764 * eval.c (lisp_eval_depth):
1765 * free-hook.c (pointer_table):
1766 * free-hook.c (free_queue):
1767 * free-hook.c (current_free):
1768 * free-hook.c (strict_free_check):
1769 * redisplay.c (formatted_string_emchar_dynarr):
1770 * redisplay.c (formatted_string_display_line):
1771 * redisplay.c (formatted_string_extent_dynarr):
1772 * redisplay.c (formatted_string_extent_start_dynarr):
1773 * redisplay.c (formatted_string_extent_end_dynarr):
1774 * redisplay.c (updating_line_start_cache):
1775 * redisplay.c (last_display_warning_tick):
1776 * redisplay.c (display_warning_tick):
1777 * redisplay.c (internal_cache):
1778 * window.c (Vwindow_configuration_free_list):
1781 * redisplay.c (Vinitial_window_system): Make CONST.
1783 1999-09-24 Martin Buchholz <martin@xemacs.org>
1785 * redisplay-tty.c (term_get_fkeys_1): Minor aesthetic improvements.
1787 * doprnt.c (get_doprnt_args): Use int, not short, with va_arg.
1789 1999-09-24 Andy Piper <andy@xemacs.org>
1791 * redisplay-output.c (output_display_line): only clear the borders
1792 if we are not displaying the gutter.
1794 1999-09-24 Jan Vroonhof <vroonhof@math.ethz.ch>
1796 * frame-x.c (x_any_window_to_frame): Let Xt find the widget and
1797 then use x_any_widget_or_parent_to_frame().
1798 (x_find_frame_for_window): remove special cases.
1800 1999-09-24 Andy Piper <andy@xemacs.org>
1802 * scrollbar-x.c (x_window_is_scrollbar): deleted.
1803 * scrollbar-x.h: ditto.
1805 1999-09-23 Martin Buchholz <martin@xemacs.org>
1807 * alloc.c (this_marks_a_marked_record): Remove.
1809 * buffer.c (mark_buffer):
1810 * buffer.c (nuke_all_buffer_slots):
1811 * console.c (mark_console):
1812 * console.c (nuke_all_console_slots):
1813 * frame.c (mark_frame):
1814 * frame.c (nuke_all_frame_slots):
1815 Treat MARKED_SLOT() macros consistently.
1817 * device.h (error_check_device_type):
1818 * faces.c (face_getprop):
1819 * fileio.c (DRIVE_LETTER):
1820 * filelock.c (lock_file_1):
1821 * frame-x.c (x_create_widgets):
1822 * frame.h (error_check_frame_type):
1823 * keymap.c (print_keymap):
1824 * keymap.c (Fkey_description):
1825 * keymap.c (where_is_recursive_mapper):
1826 * mule-charset.h (CHARSET_LEADING_BYTE):
1827 * objects-msw.c (mswindows_color_instance_hash):
1828 * objects.c (color_instance_equal):
1829 * objects.h (struct color_specifier):
1830 * objects.h (struct font_specifier):
1831 * objects.h (struct face_boolean_specifier):
1832 * opaque.h (get_opaque_ptr):
1833 * opaque.h (set_opaque_ptr):
1834 * process-unix.c (set_socket_nonblocking_maybe):
1835 * specifier.h (SPECIFIER_TYPE_P):
1836 * symbols.c (store_symval_forwarding):
1837 * syssignal.h (EMACS_KILLPG):
1838 * terminfo.c (emacs_tparam):
1839 * glyphs.c (glyph_putprop):
1840 * glyphs.c (glyph_remprop):
1841 * glyphs.c (Fimage_instance_subwindow_id):
1842 * window.c (mark_window):
1843 * window.c (mark_window_config):
1844 * window.c (Fset_window_configuration):
1845 * window.c (save_window_save):
1846 * eval.c (Fuser_variable_p):
1847 * eval.c (Fcommand_execute):
1849 * eval.c (Ffuncall):
1851 * lisp.h (INT_OR_FLOATP):
1852 * lisp.h (GC_INT_OR_FLOATP):
1853 * lisp.h (XFLOATINT):
1854 * lisp.h (IS_ANY_SEP):
1855 * mule-ccl.c (Fccl_execute):
1856 * mule-ccl.c (Fccl_execute_on_string):
1857 * redisplay-x.c (x_output_string):
1858 Remove redundant extra parentheses.
1860 1999-09-22 Martin Buchholz <martin@xemacs.org>
1862 * chartab.c (word_boundary_p): Add prototype for warning avoidance.
1863 * eval.c (PRIMITIVE_FUNCALL): ANSIfy
1864 * free-hook.c (fun_ptr): ANSIfy
1865 * getloadavg.c: Remove declaration for errno.
1866 * gui.c (allocate_gui_item): ANSIfy
1867 * gui.h (allocate_gui_item): ANSIfy
1868 * mule-ccl.c (resolve_symbol_ccl_program): Make static
1869 * realpath.c: Remove K&R support.
1870 * redisplay-x.c (x_output_display_block): Don't shadow previous local
1871 * glyphs-widget.c (layout_instantiate): Don't shadow previous local
1872 * gutter.c (get_gutter_coords): Make static.
1873 * lread.c (locate_file_map_suffixes): Make static.
1874 * ralloc.c (relinquish): ANSIfy
1877 Move prototypes from redisplay.c to lisp.h
1879 1999-09-22 Martin Buchholz <martin@xemacs.org>
1881 * glyphs-x.c (x_widget_set_property):
1882 - Remove unnecessary initialization.
1883 - Use char*, not Bufbyte *, with GET_C_STRING_OS_DATA_ALLOCA
1884 * glyphs-x.c (x_widget_instantiate):
1885 - Use char*, not Bufbyte *, with GET_C_STRING_OS_DATA_ALLOCA
1886 * unexelf.c (unexec):
1887 Add cast for C++ compilability.
1890 * ralloc.c (r_alloc_reinit):
1891 SET_FUN_PTR was broken wrt ANSI aliasing!
1892 To compensate, use __typeof__ when using gcc, else live with
1893 possible (but rare) warnings.
1894 * ralloc.c (init_ralloc):
1896 * ralloc.c: Use the real dlmalloc prototype for __morecore.
1897 * lread.c (locate_file_map_suffixes):
1898 * input-method-xlib.c (XIM_init_frame):
1899 - Xlib functions should use XPointer, not XtPointer.
1900 * input-method-xlib.c (XIM_delete_frame):
1901 - Xlib functions should use XPointer, not XtPointer.
1902 * input-method-xlib.c (IMDestroyCallback):
1904 - XFRAME (obj) can never be NULL, so don't test for it.
1906 Add GUTTER_POS_LOOP for iterating over all gutter_pos'es
1907 * gutter.c (SET_GUTTER_WAS_VISIBLE_FLAG):
1908 Run c-backslash-region on macro body.
1909 * gutter.c (gutter_was_visible):
1910 Remove redundant parens - this is not a macro.
1911 * gutter.c (redraw_exposed_gutters):
1912 Use GUTTER_POS_LOOP.
1913 * gutter.c (gutter_specs_changed):
1914 Use GUTTER_POS_LOOP.
1915 * gutter.c (gutter_geometry_changed_in_window):
1916 Use GUTTER_POS_LOOP.
1917 * gutter.c (update_frame_gutters):
1918 Use GUTTER_POS_LOOP.
1919 * gutter.c (init_frame_gutters):
1920 Use GUTTER_POS_LOOP.
1921 * file-coding.c (determine_real_coding_system):
1922 Fix C++ compile error.
1923 * emodules.c (find_make_module):
1924 Cast return value from xrealloc
1925 * emacs.c (Fkill_emacs):
1926 Use __typeof__, when available.
1927 * emacs.c (voodoo_free_hook):
1928 Use __typeof__, when available.
1929 (Unfortunately, the type of __free_hook is glibc-version-dependent)
1930 * dired.c (user_cache): Use Bufbyte *, not char *
1931 * dired.c (Fuser_name_all_completions): Ditto.
1933 1999-09-22 Andy Piper <andy@xemacs.org>
1935 * redisplay.c (redisplay_frame): reset the gutter display lines
1936 when we reset the subwindows.
1938 * gutter.c (reset_gutter_display_lines): new function.
1940 * window.c (Flast_nonminibuf_window): new function equivalent to
1941 FRAME_LAST_NONMINIBUF_WINDOW ().
1942 (syms_of_window): declare it.
1944 * redisplay.c (create_string_text_block): don't add bogus eol
1945 markers to gutter display lines.
1947 * glyphs.c (reset_subwindow_cachels): make sure we unmap
1948 subwindows using unmap_subwindow so that expose events get
1949 registered correctly.
1951 * window.c (window_scroll): use Vwindow_pixel_scroll_increment to
1952 determine how much to scroll the window.
1953 (vars_of_window): Vwindow_pixel_scroll_increment is a new
1956 1999-09-20 Robert Pluim <rpluim@nortelnetworks.com>
1958 * glyphs-x.c (update_widget_face): Guard fontList declaration for
1961 1999-09-20 Andy Piper <andy@xemacs.org>
1963 * glyphs-msw.c (mswindows_update_subwindow): update faces.
1965 1999-09-19 Andy Piper <andy@xemacs.org>
1967 * glyphs.c (update_frame_subwindows): update if faces have
1970 * glyphs-x.c (x_widget_instantiate): create the clip widget using
1971 lwlib rather than directly.
1972 (x_finalize_image_instance): delete the clip widget using lwlib.
1973 (x_update_subwindow): update widget faces.
1974 (update_widget_face): new function for updating the face
1975 properties of a widget.
1976 (x_widget_set_property): update widget faces.
1978 * lwlib-Xlw.c (xlw_create_clip_window): new function. We need to
1979 manage the clip widgets using lwlib so that we can delete them in
1982 1999-09-16 Martin Buchholz <martin@xemacs.org>
1986 Define new, potentially faster INT arithmetic macros
1987 INT_PLUS, INT_MINUS, INT_PLUS1, INT_MINUS1
1988 * bytecode.c (execute_optimized_function):
1991 * bytecode.c (bytecode_negate):
1992 Optimize for integer case.
1994 1999-08-29 Andreas Jaeger <aj@arthur.rhein-neckar.de>
1996 * m/mips.h: Support for mips-linux: Add !linux around places
1997 that are not valid for linux, define TEXT_START, DATA_START,
2000 1999-09-16 Andy Piper <andy@xemacs.org>
2002 * redisplay-output.c (redisplay_output_subwindow): clip subwindows
2003 that don't completely fit on-screen rather than just unmapping
2006 * glyphs.h: change signature of map_subwindow.
2008 * glyphs.c (map_subwindow): add display_glyph_area to the
2009 signature. make sure the mapped area saved in the subwindow_cachel
2011 (Fforce_subwindow_map): make a no-op. I don't think this does
2014 * glyphs-x.h (struct x_subwindow_data): save the Display rather
2015 than the Screen. Add a clipwindow and clipwidget handle.
2016 (IMAGE_INSTANCE_X_CLIPWINDOW): new accessor.
2017 (IMAGE_INSTANCE_X_CLIPWIDGET): ditto.
2018 (XIMAGE_INSTANCE_X_CLIPWIDGET): ditto.
2019 (XIMAGE_INSTANCE_X_CLIPWINDOW): ditto.
2021 * glyphs-x.c (x_finalize_image_instance): destroy the clipwidget
2022 as well as the widget itself.
2023 (x_unmap_subwindow): unmap the clipwindow and clipwidget rather
2024 than the widgets and subwindows themselves. move the widget inside
2026 (x_subwindow_instantiate): hold onto the Display rather than the
2027 Screen. allocate a clipwindow to put the subwindow inside.
2028 (x_resize_subwindow): use saved Display directly.
2029 (x_widget_instantiate): allocate a clipwidget of type EmacsManager
2030 to put widgets inside.
2032 * glyphs-widget.c: remove group stuff.
2034 * glyphs-msw.h (struct mswindows_subwindow_data): new structure to
2035 hold the clipwindow.
2036 (IMAGE_INSTANCE_MSWINDOWS_CLIPWINDOW): new accessor.
2037 (XIMAGE_INSTANCE_MSWINDOWS_CLIPWINDOW): ditto.
2039 * glyphs-msw.c: remove group stuff.
2040 (mswindows_finalize_image_instance): destroy clipwindow as well as
2042 (mswindows_unmap_subwindow): unmap the clipwindow rather than the
2044 (mswindows_map_subwindow): ditto. move the widget within the
2046 (mswindows_subwindow_instantiate): allocate and initialize
2047 mswindows_subwindow_data. allocate a clipwindow with the subwindow
2049 (mswindows_widget_instantiate): ditto.
2050 (mswindows_control_wnd_proc): new function that allows us to
2051 propagate events from the widget to the main windows control loop.
2053 * device-msw.c (mswindows_init_device): register new widget clip window
2056 * console.h (struct console_methods): add display_glyph_area to
2059 * console-msw.h: declare new window class and wnd proc for
2062 1999-09-14 Martin Buchholz <martin@xemacs.org>
2066 Move symbols used only by eldap.c into eldap.c as statics.
2068 1999-09-09 Martin Buchholz <martin@xemacs.org>
2070 * window.c (syms_of_window):
2071 * symbols.c (syms_of_symbols):
2072 * redisplay.c (syms_of_redisplay):
2073 * print.c (syms_of_print):
2075 * intl.c (syms_of_intl):
2076 * general.c (syms_of_general):
2077 * frame.c (syms_of_frame):
2078 * fileio.c (syms_of_fileio):
2080 * file-coding.c (syms_of_file_coding):
2081 * extents.c (syms_of_extents):
2082 * event-stream.c (syms_of_event_stream):
2083 * event-stream.c (Fnext_event):
2084 * device.c (syms_of_device):
2085 * data.c (syms_of_data):
2086 * casetab.c (syms_of_casetab):
2087 * casetab.c (check_case_table):
2088 * callint.c (syms_of_callint):
2089 * buffer.c (syms_of_buffer):
2090 Delete unused C symbols:
2091 Qbuffer_file_name, Qbuffer_undo_list, Quser_variable_p,
2092 Qcurrent_prefix_arg, Qtranslate_table, Qkeywordp,
2093 Qnumber_or_marker_p, Qcons, Qkeyword, Qignore, Qdelete_device,
2094 Qcommand_execute, Qglyph_invisible,
2095 Qbuffer_file_coding_system, Qfile_name_handler_alist,
2096 Qframe_x_p, Qframe_tty_p, Qblack, Qkeyboard, Qmenubar, Qpath,
2097 Qvector, Qwhite, Qcase, Qdomain, Qalternate_debugging_output,
2098 Qprint_escape_newlines, Qprint_readably, Qfloat_output_format,
2099 Qwindow_scroll_functions, Qfboundp, Qscroll_up, Qscroll_down
2101 Rename symbols as required by the CHECK_RECORD macro:
2102 - Qcase_table_p to Qcase_tablep
2103 - Qcoding_system_p to Qcoding_systemp
2106 * debug.c (syms_of_debug):
2107 Make debug.c's internal Lisp_Objects static.
2109 * events.c (vars_of_events):
2110 * events.c (syms_of_events):
2111 Use regular old defsymbol instead of KEYSYM + staticpro().
2113 * select-x.c (CHECK_CUTBUFFER):
2114 Rewrite in accordance with coding standards.
2116 * keymap.c (syms_of_keymap):
2117 Use SPC in the same way as RET, TAB, etc.
2119 1999-08-27 Jan Vroonhof <vroonhof@math.ethz.ch>
2121 * xemacs-20/src/menubar-x.c (make_dummy_xbutton_event): Don't add
2122 offset twice if HAVE_WMCOMMAND is defined.
2124 1999-09-13 Mike McEwan <mike@lotusland.demon.co.uk>
2126 * redisplay-x.c (x_output_vertical_divider): make sure
2127 shadow_thickness is positive.
2129 1999-09-10 Julian Back <jback@rudd.compulink.co.uk>
2131 * process-nt.c (nt_create_process): fixup to cope with
2132 Vprocess_environment.
2134 1999-09-02 Andy Piper <andy@xemacs.org>
2136 * redisplay-output.c (redisplay_output_layout): call output
2137 routines with clear_clip false. output layout borders with text
2140 * redisplay-msw.c (mswindows_output_blank): call output routines
2141 with clear_clip true.
2142 (mswindows_output_string): ditto.
2143 (mswindows_output_display_block): ditto.
2145 * redisplay-x.c (x_output_display_block): call output routines
2146 with clear_clip true.
2148 * redisplay.h: fix output routines for clear_clip parameter.
2150 * redisplay-output.c (redisplay_output_layout): cope with glyphs
2153 * glyphs-widget.c (layout_instantiate): deal with border glyphs.
2154 (check_valid_glyph_or_instantiator): renamed from
2155 check_valid_glyph_or_image.
2156 (check_valid_border): allow glyphs or their instantiators.
2157 (check_valid_glyph_or_instantiator_list): renamed from
2158 check_valid_glyph_or_image_list,
2159 (glyph_instantiator_to_glyph): new function. make sure a glyph is
2160 a glyph and not an instantiator.
2161 (substitute_keyword_value): new function. replace a keyword value
2164 1999-09-01 Andy Piper <andy@xemacs.org>
2166 * glyphs.c (string_set_property): new function to set the data of
2168 (image_instantiator_format_create): use it.
2170 1999-09-07 Hrvoje Niksic <hniksic@srce.hr>
2172 * fns.c (Fmapc): Rename back to Fmapc_internal.
2174 1999-07-30 Gleb Arshinov <gleb@cs.stanford.edu>
2176 * ntheap.h: CONST (semantically constant) name field of file_data
2179 * unexnt.c (open_output_file): match function definition with
2180 function declaration
2182 * editfns.c: #include "sysfile.h" for getcwd() prototype
2184 * gif_io.c: #include "sysfile.h" for close() prototype
2186 1999-09-02 Martin Buchholz <martin@xemacs.org>
2190 Change the :type keyword to :weakness, for compatibility with the
2191 GNU Emacs 20.5 hash table implementation.
2192 Keep (but don't document) the :type keyword for compatibility.
2193 Obsolete function hash-table-type
2195 Define function sxhash for compatibility with Common Lisp and GNU Emacs.
2197 1999-09-01 Martin Buchholz <martin@xemacs.org>
2199 * floatfns.c (arith_error):
2200 * floatfns.c (range_error):
2201 * floatfns.c (range_error2):
2202 * floatfns.c (domain_error):
2203 * floatfns.c (domain_error2):
2204 * lrecord.h (LRECORDP):
2205 * console-x.h (X_ERROR_OCCURRED):
2206 * console-x.h (HANDLING_X_ERROR):
2207 * chartab.c (CATEGORYP):
2208 * buffer.h (XCHAR_OR_CHAR_INT):
2209 Remove redundant and confusing parentheses.
2211 * redisplay-output.c (redisplay_clear_to_window_end):
2212 Remove redundant initialization.
2217 Move declarations of bevel_modeline() into redisplay.h.
2219 1999-08-30 Olivier Galibert <galibert@pobox.com>
2221 * lisp.h: Add staticpro_nodump for undumped staticpro-ing.
2222 * alloc.c: Add staticpro_nodump for undumped staticpro-ing. Add
2223 alignment information for dumped data. Enhance
2224 descriptions. Phase out Vterminal_* variables while
2226 * lrecord.h: Add chained descriptions and automagically-reset
2227 lisp_objects to the description system.
2229 * console-stream.h: Declare the Vterminal_* variables.
2231 * buffer.c: Don't dump Vbuffer_alist, Vbuffer_defaults and
2232 Vbuffer_local_symbols.
2233 * console.c: Don't dump Vconsole_list, Vconsole_defaults and
2234 Vconsole_local_symbols.
2235 * eval.c: Don't dump Qunbound_suspended_errors_tag.
2236 * lread.c: Don't dump Vread_buffer_stream.
2237 * lstream.c: Don't dump Vlstream_free_list[].
2238 * search.c: Don't dump last_thing_searched.
2239 * window.c: Don't dump minibuf_window and
2240 Vwindow_configuration_free_list[].
2242 * faces.c: Add face description.
2243 * fns.c: Add bit_vector description.
2244 * glyphs.c: Add image specifier description.
2245 * objects.c: Add color, face and face boolean specifiers descriptions.
2246 * opaque.c: Add opaque description. Don't dump Vopaque_ptr_free_list.
2247 * rangetab.c: Add range table description.
2248 * specifier.c: Add specifier and specifier methods description.
2249 * specifier.h: Add specifier extra description support.
2251 * symbols.c: Fix symbol_value_buffer_local_description.
2253 * gdbinit (Lisp): Add opaque_ptr, remove opaque_list.
2255 1999-09-02 Hrvoje Niksic <hniksic@srce.hr>
2257 * extents.c (extent_remprop): Get extent's plist address
2260 1999-08-31 Andy Piper <andy@xemacs.org>
2262 * xmu.h: define Xmu/Converters.h things.
2264 1999-08-31 Andy Piper <andy@xemacs.org>
2266 * opaque.c (equal_opaque_ptr): define.
2267 (hash_opaque_ptr): define.
2269 * xmu.h: define Xmu/Misc.h things.
2271 1999-08-17 MORIOKA Tomohiko <tomo@etl.go.jp>
2273 * file-coding.c (determine_real_coding_system): Treat `coding:'
2276 1999-08-16 MORIOKA Tomohiko <tomo@etl.go.jp>
2278 * file-coding.c (struct decoding_stream): New member `counter'.
2279 (reset_decoding_stream): Initialize `counter'.
2280 (decode_coding_ucs4): Use `counter'.
2281 (decode_coding_utf8): Likewise.
2283 1999-08-31 Andy Piper <andy@xemacs.org>
2285 * redisplay-output.c (redisplay_normalize_glyph_area): make sure
2286 the clip offset doesn't exceed the height we have available to
2289 * window.h (struct window): add top_yoffset and left_xoffset for
2291 (WINDOW_TEXT_TOP_CLIP): new macro.
2293 * window.c (window_scroll): add behaviour for pixel-scrolling of
2296 * redisplay.h (struct display_line): add top_clip.
2297 (DISPLAY_LINE_HEIGHT): adjust for top_clip.
2298 (DISPLAY_LINE_YPOS): ditto.
2300 * redisplay.c (position_redisplay_data_type): add
2301 start_col_xoffset to prepare for pixel-based h-scrolling.
2302 (WINDOW_SCROLLED): new macro.
2303 (next_tab_position): use it.
2304 (add_glyph_rune): use new hscoll vars.
2305 (create_text_block): ditto.
2306 (generate_displayable_area): adjust off-by-one error.
2307 (regenerate_window): take top_clip into account.
2308 (regenerate_window_extents_only_changed): ditto.
2309 (regenerate_window_incrementally): ditto.
2311 * redisplay-x.c (x_output_display_block): use DISPLAY_LINE_YPOS,
2312 DISPLAY_LINE_HEIGHT and DISPLAY_LINE_YEND macros.
2313 (x_output_string): ditto.
2314 (x_output_blank): ditto.
2315 (x_output_hline): ditto.
2316 (x_output_eol_cursor): ditto.
2318 * redisplay-output.c (output_display_line): allow for
2319 top_clip. use DISPLAY_LINE_YPOS, DISPLAY_LINE_HEIGHT and
2320 DISPLAY_LINE_YEND macros.
2321 (redisplay_output_layout): output strings in layouts correctly.
2322 (redisplay_clear_clipped_region): allow for top_clip.
2323 (redisplay_calculate_display_boxes): ditto.
2325 * redisplay-msw.c (mswindows_output_blank): use DISPLAY_LINE_YPOS,
2326 DISPLAY_LINE_HEIGHT and DISPLAY_LINE_YEND macros.
2327 (mswindows_output_cursor): ditto.
2328 (mswindows_output_string): ditto.
2329 (mswindows_redraw_exposed_window): ditto.
2330 (mswindows_output_display_block): ditto.
2332 * gutter.c: new specifier type gutter-size.
2333 (gutter_size_validate): validate gutter-size specifier.
2334 (Fgutter_size_specifier_p): predicate for gutter-size.
2335 (Fredisplay_gutter_area): allow the gutter area to be redisplayed
2336 under user contol, like Fredisplay_echo_area.
2337 (syms_of_gutter): add new functions.
2338 (specifier_type_create_gutter): add new specifier.
2339 (specifier_vars_of_gutter): change specifier types of *-height to
2342 * glyphs.c (glyph_width): make work with image instances.
2344 * console.h (struct console_methods): change api of output_string.
2346 * glyphs-x.c (x_map_subwindow): move before mapping as reported by
2347 Stephen J. Turnbull <turnbull@sk.tsukuba.ac.jp>
2349 1999-08-30 Andy Piper <andy@xemacs.org>
2351 * glyphs-x.c (x_finalize_image_instance): X_MASK -> PIXMAP_MASK
2353 (init_image_instance_from_x_image): ditto.
2354 (x_xpm_instantiate): ditto.
2355 (x_colorize_image_instance): ditto. Reported by Richard Cognot
2356 <cognot@ensg.u-nancy.fr>
2358 1999-08-29 Andy Piper <andy@xemacs.org>
2360 * glyphs-x.c (x_widget_instantiate): move font initialisation so
2361 that it doesn't get saved in the user defined args.
2362 (x_tab_control_instantiate): Set the fg color of the tab's
2364 (x_tab_control_set_property): ditto.
2366 1999-08-27 Damon Lipparelli <lipp@primus.com>
2368 * events.h (XTIMEOUT): must preface Lisp_Timeout with ``struct''
2369 (XSETTIMEOUT): fixup typo
2371 1999-08-11 Jan Vroonhof <vroonhof@math.ethz.ch>
2373 * syntax.c (scan_words): Unified Mule and Non-mule scanning.
2374 Word boundary search looks back instead of forward so that it
2375 doesn't peek over the limit.
2377 1999-08-20 Olivier Galibert <galibert@pobox.com>
2379 * config.h.in: Add PDUMP define.
2380 * emacs.c (Fdump_emacs): Hackish, call pdump() if configured in.
2382 * lrecord.h: Enhance description system.
2383 * alloc.c: Fix vector and string description. Add portable
2384 dumper enumeration fonctions.
2386 * symbols.c: Fix symbols description. Add symbol_value_forward
2388 * eval.c: Add subr description.
2389 * elhash.c (CLEAR_HENTRY): Clean value pointer too. Fix hash
2391 (remhash_1): CLEAR_HENTRY evaluates the parameter two times now.
2393 1999-08-20 Olivier Galibert <galibert@pobox.com>
2395 * opaque.c: Kill opaque lists, make Lisp_Opaque_Ptr a lrecord of
2399 * eval.c (eval_in_buffer_trapping_errors):
2400 (run_hook_trapping_errors):
2401 (safe_run_hook_trapping_errors):
2402 (call0_trapping_errors):
2403 (call1_trapping_errors):
2404 (call2_trapping_errors): OPAQUEP -> OPAQUE_PTRP. make_opaque_ptr
2405 now takes a non-const void *.
2407 1999-08-20 Olivier Galibert <galibert@pobox.com>
2409 * opaque.c: Remove make_opaque_long.
2411 * opaque.h: Remove everything opaque_long related.
2413 * eval.c (vars_of_eval): Make Qunbound_suspended_errors_tag an
2416 * emacs.c (main_1): Remove make_opaque_long from comment.
2418 1999-08-20 Olivier Galibert <galibert@pobox.com>
2420 * event-stream.c (mark_timeout):
2422 (event_stream_generate_wakeup):
2423 (event_stream_resignal_wakeup):
2424 (event_stream_disable_wakeup):
2425 (event_stream_wakeup_pending_p):
2426 (vars_of_event_stream): Lisp_Timeout is now a lrecord.
2428 * events.h (struct Lisp_Timeout): Added.
2430 1999-08-24 Andy Piper <andy@xemacs.org>
2432 * console-x.h: declare new pixmap signatures.
2434 1999-08-23 Andy Piper <andy@xemacs.org>
2436 * glyphs-x.c (x_update_subwindow): make sure the widget size is
2437 maintained after an update.
2439 * event-Xt.c (emacs_Xt_handle_magic_event): use
2440 find_matching_subwindow to check whether the exposure is totally
2441 inside a subwindow, if it is then ignore it.
2443 * glyphs.c (find_matching_subwindow): new function.
2445 * toolbar-x.c (x_draw_blank_toolbar_button): use new
2446 x_output_shadows signature.
2447 (x_output_toolbar_button): use new x_output_x_pixmap signature.
2449 * redisplay.h (struct display_box): new structure.
2450 (struct display_glyph_area): ditto.
2451 declare new display_box functions.
2453 * redisplay-x.c (x_output_pixmap): update for new display
2455 (x_bevel_area): update to allow multiple edge styles and border
2457 (x_output_display_block): update for new display_box stuff and
2459 (x_clear_region): ditto.
2460 (x_output_x_pixmap): ditto. adjust offsets rather than clip.
2461 (console_type_create_redisplay_x): declare new console methods.
2462 (x_output_vertical_divider): update for new bevel_area signature.
2463 (x_output_shadows): update to allow selective drawing of edges.
2465 * redisplay-tty.c (tty_output_display_block): do nothing for
2468 * redisplay-output.c (redisplay_output_subwindow): convert to use
2469 display_box structure, this allows us to put subwindows anywhere
2470 with any offset, useful for layout glyphs.
2471 (redisplay_output_layout): new function. output a layout and its
2473 (redisplay_output_pixmap): new modular function combining generic
2474 parts of the X and mswindows versions. convert to use display_box
2476 (redisplay_clear_clipped_region): new function. clear the area a
2477 glyph is going into.
2478 (redisplay_normalize_glyph_area): new function. calculate the
2479 bounds of a display_glyph_area given a display_box.
2480 (redisplay_normalize_display_box): new function. shrink a
2481 display_box to enclose a display_glyph_area.
2482 (redisplay_display_boxes_in_window_p): check whether the input
2483 display_box and display_glyph_area are actually in a window.
2484 (redisplay_calculate_display_boxes): calculate display boxes based
2485 on conventional display_line metrics.
2486 (bevel_modeline): update for new bevel_area signature.
2488 * redisplay-msw.c (mswindows_output_blank): update for new
2490 (mswindows_output_string): ditto.
2491 (mswindows_output_dibitmap): ditto.
2492 (mswindows_output_dibitmap_region): ditto.
2493 (mswindows_output_pixmap): ditto.
2494 (mswindows_bevel_area): update to allow multiple edge styles and
2496 (mswindows_output_display_block): update for new display_box stuff
2498 (mswindows_clear_region): ditto.
2499 (console_type_create_redisplay_mswindows): declare new console methods.
2501 * lisp.h (edge_style): new enum.
2502 declare display_box and display_glyph_area.
2504 * gutter.c (output_gutter): update for new bevel_area signature.
2506 * glyphs.h (image_instance_type): add layout.
2507 (IMAGE_LAYOUT_MASK): ditto.
2508 (LAYOUT_IMAGE_INSTANCEP): new macro.
2509 (CHECK_LAYOUT_IMAGE_INSTANCE): ditto.
2510 (struct Lisp_Image_Instance): add offsets for layout and the
2511 layout type itself. move mask here also.
2512 (IMAGE_INSTANCE_LAYOUT_CHILDREN): new macro.
2513 (IMAGE_INSTANCE_LAYOUT_BORDER): ditto.
2514 (XIMAGE_INSTANCE_LAYOUT_CHILDREN): ditto.
2515 (XIMAGE_INSTANCE_LAYOUT_BORDER): ditto.
2517 * glyphs.c (mark_image_instance): update for layouts.
2518 (print_image_instance): ditto.
2519 (image_instance_equal): ditto.
2520 (image_instance_hash): ditto.
2521 (allocate_image_instance): initialise offsets for layout.
2522 (decode_image_instance_type): update for layouts.
2523 (encode_image_instance_type): ditto.
2524 (Fimage_instance_height): ditto.
2525 (Fimage_instance_width): ditto.
2526 (allocate_glyph): ditto.
2527 (glyph_width): allow image instances as an argument. update for layouts.
2528 (glyph_height_internal): ditto.
2529 (syms_of_glyphs): add layout symbols.
2531 * glyphs-x.h (struct x_image_instance_data): remove mask entry.
2532 (IMAGE_INSTANCE_X_MASK): update.
2534 * glyphs-x.c (x_label_instantiate): new function. instantiate a
2536 (image_instantiator_format_create_glyphs_x): initialise new layout
2539 * glyphs-widget.c: new layout type.
2540 (check_valid_orientation): new keyword checker for layouts.
2541 (check_valid_justification): ditto.
2542 (check_valid_border): ditto.
2543 (check_valid_glyph_or_image_list): ditto.
2544 (layout_possible_dest_types): new function for layout glyph type.
2545 (layout_normalize): ditto.
2546 (layout_instantiate): ditto.
2547 (syms_of_glyphs_widget): new keywords for layout.
2548 (image_instantiator_format_create_glyphs_widget): initialise the
2551 * glyphs-msw.h (struct mswindows_image_instance_data): remove mask
2553 (IMAGE_INSTANCE_MSWINDOWS_MASK): update.
2555 * glyphs-msw.c: declare layout format.
2556 (image_instantiator_format_create_glyphs_mswindows): initialise it.
2558 * general.c: new symbols for layouts.
2560 * console.h (struct console_methods): new console methods for
2561 outputting pixmaps and strings.
2563 1999-08-23 Didier Verna <didier@xemacs.org>
2565 * sound.c: revert the renaming of `bell_volume' to `Vbell_volume'
2566 and `bell_inhibit_time' to `Vbell_inhibit_time'.
2568 1999-08-18 Andy Piper <andy@xemacs.org>
2570 * redisplay-output.c (redisplay_output_subwindow): disable
2573 1999-08-17 Andy Piper <andy@xemacs.org>
2575 * gutter.c (redraw_exposed_gutter): handle degenerate case of no
2576 area to expose or no gutter to display.
2578 1999-08-16 Charles G Waldman <cgw@fnal.gov>
2580 * sound.c: rename `bell_volume' to `Vbell_volume' and
2581 `bell_inhibit_time' to `Vbell_inhibit_time'.
2583 1999-08-13 Charles G Waldman <cgw@fnal.gov>
2585 * sound.c: (bell-inhibit-time): New variable.
2587 (sound-alist): Fix docstring.
2589 1999-08-17 Andy Piper <andy@xemacs.org>
2591 * gui-x.c (button_item_to_widget_value): xstrdup name so that
2594 1999-08-16 Jeff Miller <jmiller@smart.net>
2596 * syntax.c (scan_words): make compile.
2598 1999-08-16 Andy Piper <andy@xemacs.org>
2600 * redisplay-output.c (redisplay_output_subwindow): try and be more
2601 relaxed about clipping possibilities.
2603 * glyphs-x.c (x_tab_control_set_property): free_widget_value_tree
2604 rather than just the widget_value.
2605 (x_update_subwindow): ditto.
2606 (x_widget_instantiate): ditto.
2608 * gutter.c (output_gutter): shrink current display lines if
2611 1999-08-15 Andy Piper <andy@xemacs.org>
2613 * redisplay.h: declare free_display_lines.
2615 * redisplay.c (free_display_lines): make non-static.
2617 * gutter.c (free_frame_gutters): use free_display_lines instead of
2619 (calculate_gutter_size): ditto.
2621 1999-08-12 Jan Vroonhof <vroonhof@math.ethz.ch>
2623 * eval.c (run_hook_with_args_in_buffer): GCPRO globals.
2625 1999-08-14 Andy Piper <andy@xemacs.org>
2627 * glyphs.c (update_subwindow_cachel): make it less brittle.
2629 1999-08-04 Mike Woolley <mike@bulsara.com>
2631 * scrollbar-msw.c (mswindows_handle_mousewheel_event): Fixed
2632 problem in wheelmouse code occurring when the horizontal scrollbar
2633 is enabled but not visible.
2635 1999-08-08 Andy Piper <andyp@beasys.com>
2637 * toolbar-msw.c (mswindows_redraw_frame_toolbars): new function.
2638 (console_type_create_toolbar_mswindows): use it.
2640 * glyphs.c (Fset_image_instance_property): fiddly reorganisation.
2642 * redisplay-output.c (redisplay_output_display_block): unmap
2643 subwindows in the block area before outputting the block.
2645 * event-msw.c (mswindows_wnd_proc): check the update rect before
2646 painting and disable expose registration while painting.
2648 * glyphs.c (register_ignored_expose): check
2649 hold_ignored_expose_registration before registering expose events.
2651 * redisplay.c (redisplay_frame): reset the subwindow cache before
2652 displaying the gutter.
2654 * glyphs-msw.c (mswindows_map_subwindow): move the window before
2657 * gutter.c (update_frame_gutters): check for glyphs_changed as if
2658 it is the subwindow cache will have been reset.
2660 1999-08-06 Andy Piper <andyp@beasys.com>
2662 * gui-x.c (button_item_to_widget_value): cope with strings.
2664 * glyphs.h: declare global widget functions.
2665 (IIFORMAT_HAS_SHARED_DEVMETHOD): new macro.
2667 * glyphs-x.c (x_combo_box_instantiate): do generic initialization
2668 here. remove dead code.
2669 (image_instantiator_format_create_glyphs_x): enable combo boxes
2672 * glyphs-widget.c (widget_instantiate_1): make non-static.
2673 (tree_view_instantiate): renamed from combo_box_instantiate.
2674 (image_instantiator_format_create_glyphs_widget): use new/changed methods.
2676 * glyphs-msw.c (mswindows_combo_box_instantiate): do generic
2677 initialization here.
2679 * lwlib-Xm.c (xm_update_combo_box): new function.
2680 (xm_update_one_widget): call it.
2681 (xm_update_one_value): deal with combo boxes as well as lists.
2682 (xm_create_combo_box): create a drop-down combo box.
2684 * toolbar-msw.c (mswindows_output_toolbar): call
2685 mswindows_move_toolbar.
2687 1999-08-05 Andy Piper <andyp@beasys.com>
2689 * window.c (Fcurrent_pixel_column): new function. use display
2690 lines to calculate pixel position of point.
2691 * window.c (syms_of_window): declare it.
2693 1999-08-05 Andy Piper <andy@xemacs.org>
2695 * glyphs.c (check_for_ignored_expose): ignore exposures wholly
2696 contained in our ignore list.
2698 * buffer.c (Frecord_buffer): add call to record-buffer-hook.
2699 (syms_of_buffer): declare record-buffer-hook.
2701 * s/mingw32.h: define mousewheel things.
2703 1999-08-04 Mike Woolley <mike@bulsara.com>
2705 * windowsnt.h (_WIN32_WINNT): enable for win95
2707 * s/cygwin32.h: define mousewheel things.
2709 * scrollbar-msw.h: declare mousewheel handler.
2711 * scrollbar-msw.c (mswindows_handle_mousewheel_event): new function.
2713 1999-08-04 Andy Piper <andy@xemacs.org>
2715 * gui-x.c (gui_items_to_widget_values): remove unused variable.
2716 (gui_items_to_widget_values_1): ditto.
2718 * gui-x.h: unconditionally define since it is used everywhere.
2720 1999-08-04 Andy Piper <andy@xemacs.org>
2722 * glyphs-x.c (x_finalize_image_instance): only free pixels if we
2723 have that type of image.
2725 1999-07-30 Andy Piper <andy@xemacs.org>
2727 * redisplay-output.c (redisplay_unmap_subwindows): add comparison
2728 subwindow to not unmap if required.
2729 (redisplay_unmap_subwindows_maybe): comparison is Qnil.
2730 (redisplay_unmap_subwindows_except_us): new function.
2731 (redisplay_output_subwindow): use it to unmap windows in the area
2732 we are displaying into.
2734 * glyphs.c (update_subwindow_cachel_data): always update as we
2735 only ever get called when an update is required.
2736 (update_subwindow_cachel): new function. sync a subwindow with its
2738 (Fresize_subwindow): use it.
2739 (register_ignored_expose): make sure we set the tail correctly.
2741 1999-07-28 Andy Piper <andy@xemacs.org>
2743 * redisplay-output.c (redisplay_clear_bottom_of_window): remove
2746 * gutter.c (redraw_exposed_gutter): unmap subwindows from the
2749 * gui.h: declare parse_gui_item_tree_list and
2750 parse_gui_item_tree_children.
2752 * gui.c (parse_gui_item_tree_item): new function for parsing item
2753 lists into gui-item trees.
2754 (parse_gui_item_tree_children): ditto.
2755 (parse_gui_item_tree_list): ditto.
2757 * gui-x.h: declare gui_items_to_widget_values.
2759 * gui-x.c (gui_items_to_widget_values_1): new function for
2760 recursively parsing gui-items into widget_values.
2761 (gui_item_children_to_widget_values): ditto.
2762 (gui_items_to_widget_values): ditto.
2763 (sanity_check_lwlib): add widgets macrolets.
2765 * glyphs.h (IMAGE_INSTANCE_WIDGET_ITEMS): rename from *ITEM.
2766 (XIMAGE_INSTANCE_WIDGET_ITEMS): ditto.
2767 (IMAGE_INSTANCE_WIDGET_ITEM): rename from *SINGLE_ITEM.
2768 (XIMAGE_INSTANCE_WIDGET_ITEM): ditto.
2769 (struct expose_ignore): new structure for storing ignorable expose
2772 * glyphs.c (valid_image_instantiator_format_p): fix so that using
2773 a console-type as a locale works.
2774 (mark_image_instance): ITEM->ITEMS.
2775 (image_instance_equal): ditto.
2776 (image_instance_hash): ditto.
2777 (struct expose_ignore_blocktype): new blocktype.
2778 (check_for_ignored_expose): new function. checks frame exposure
2779 list for events to ignore.
2780 (register_ignored_expose): new function. registers an expose event
2782 (unmap_subwindow): register the expose event as ignorable.
2783 (vars_of_glyphs): initialise the exposure blocktype.
2785 * glyphs-x.c (x_finalize_image_instance): use lw_destroy_widget.
2786 (x_update_subwindow): modify all widgets using widget_value tree
2787 rather than just a single widget value.
2788 (x_widget_instantiate): LWLIB_USES_MOTIF -> LWLIB_WIDGETS_MOTIF.
2789 make sure widgets don't resize themselves.
2790 (x_tab_control_instantiate): new function. use lwlib tab functions.
2791 (x_tab_control_set_property): new function.
2792 (image_instantiator_format_create_glyphs_x): add tab_control.
2794 * glyphs-widget.c (widget_text_to_pixel_conversion): calculate
2795 slightly more sensibly.
2796 (initialize_widget_image_instance): ITEM->ITEMS.
2797 (widget_instantiate_1): parse gui items generically into the ITEMS
2800 * glyphs-msw.c (mswindows_update_subwindow): replace
2802 (mswindows_register_widget_instance): ditto.
2803 (add_tree_item): modify to use new pre-initialised gui-item
2805 (add_tab_item): ditto.
2806 (mswindows_tab_control_instantiate): ditto.
2807 (mswindows_tab_control_set_property): ditto.
2808 (image_instantiator_format_create_glyphs_mswindows): predicate
2809 existence of widgets on HAVE_WIDGETS.
2811 * frame.h (struct frame): add subwindow_exposures variables.
2813 * frame.c (allocate_frame_core): reset subwindow_exposures links.
2815 * event-msw.c (mswindows_wnd_proc): check for ignored
2816 expose events before redrawing.
2818 * event-Xt.c (emacs_Xt_handle_magic_event): check for ignored
2819 expose events before redrawing.
2821 1999-07-30 SL Baur <steve@xemacs.org>
2823 * scrollbar-x.c: should include EmacsFrame.h.
2824 From Jeff Miller <jmiller@smart.net>
2826 1999-07-30 XEmacs Build Bot <builds@cvs.xemacs.org>
2828 * XEmacs 21.2.19 is released
2830 1999-07-27 Jeff Miller <jmiller@smart.net>
2832 * add a "#ifdef HAVE_MENUBARS" wrapper to gui.c around
2833 menubar_show_keybindings.
2835 1999-07-23 SL Baur <steve@miho>
2837 * mule-charset.c (syms_of_mule_charset): Delete duplicated
2838 definition of Qccl_program.
2840 * mule-ccl.h: Make a global declaration of it here.
2842 1999-07-20 Bob Weiner <weiner@beopen.com>
2844 * s/sco7.h: Added from rr@sco.com.
2846 1999-06-25 MORIOKA Tomohiko <tomo@etl.go.jp>
2848 * mule-ccl.c (ccl_driver): Fix `CCL_WriteMultibyteChar2'.
2850 1999-06-24 MORIOKA Tomohiko <tomo@etl.go.jp>
2852 * file-coding.c (mule_decode): Setup `str->ccl.last_block'.
2853 (mule_encode): Likewise.
2855 * mule-ccl.c (Qccl_program): New variable.
2856 (CCL_SUSPEND): New macro.
2857 (CCL_INVALID_CMD): New macro.
2858 (CCL_READ_CHAR): Don't regard as invalid command while processing
2859 the last block even if input is empty; use
2860 `CCL_STAT_SUSPEND_BY_SRC' instead of `CCL_STAT_SUSPEND'.
2861 (vars_of_mule_ccl): Setup `Qccl_program' and `Qccl_program_idx'.
2863 * mule-ccl.h (CCL_STAT_SUCCESS): Moved from mule-ccl.c.
2864 (CCL_STAT_SUSPEND_BY_SRC): Imported from Emacs 20.3.10.
2865 (CCL_STAT_SUSPEND_BY_DST): Likewise.
2866 (CCL_STAT_INVALID_CMD): Moved from mule-ccl.c; change value from 2.
2867 (CCL_STAT_QUIT): Moved from mule-ccl.c; change value from 3.
2869 1999-05-04 Ken'ichi Handa <handa@gnu.org>
2871 * mule-ccl.h (struct ccl_program): New member stack_idx.
2873 * mule-ccl.c (ccl_prog_stack_struct): Declare it as static.
2874 (ccl_driver): Setup stack_idx and ccl_prog correctly. Update them
2876 (setup_ccl_program): Initialize ccl->stack_idx to 0.
2878 1998-10-12 Kenichi Handa <handa@etl.go.jp>
2880 * mule-ccl.c (CCL_DECODE_SJIS, CCL_ENCODE_SJIS): Swap the
2883 1998-08-18 Kenichi Handa <handa@etl.go.jp>
2885 * mule-ccl.c (CCL_READ_CHAR): If eof is encounterd while
2886 processing the last block, don't just finish but processes eol
2887 block of the current CCL program.
2888 (ccl_driver): Add a new jump label ccl_repeat for the above
2891 1998-04-15 Kenichi Handa <handa@etl.go.jp>
2893 * mule-ccl.c: Typo in comments fixed.
2894 (Qccl_program_idx): New variables.
2895 (CCL_ReadMultibyteChar2): Macro name changed from
2896 CCL_ReadMultibyteCharacter.
2897 (CCL_WriteMultibyteChar2): Macro name changed from
2898 CCL_WriteMultibyteChar2.
2899 (ccl_driver): Adjusted for the above changes.
2900 (resolve_symbol_ccl_program): New function.
2901 (Fccl_execute): The arg CCL-PROGRAM can be a symbol of CCL
2902 program. If CCL-PRGRAM is a vector, convert symbols in it to ID
2903 numbers by resolve_symbol_ccl_program.
2904 (Fccl_execute_on_string): Likewise.
2905 (Fregister_ccl_program): If the arg CCL-PRGRAM is a vector,
2906 convert symbols in it to ID numbers by resolve_symbol_ccl_program.
2908 1998-01-21 Kenichi Handa <handa@etl.go.jp>
2910 * mule-ccl.h: (struct ccl_program): New member private_state.
2913 (CCL_Call): Fix the comment.
2914 (CCL_ReadMultibyteCharacter, CCL_WriteMultibyteCharacter): New
2915 macros for CCL Commands.
2917 (ccl_driver): New case label `CCL_Extension'.
2918 (setup_ccl_program): Initialize the member `private_state' of CCL.
2920 1999-07-08 Katsumi Yamaoka <yamaoka@jpl.org>
2922 * keymap.c (copy_keymap_internal): Inherit the default binding.
2924 1999-07-14 Kazuyuki IENAGA <kazz@imasy.or.jp>
2926 * event-Xt.c (handle_focus_event_1): Re-enable Motif/XIM to get
2927 focus the event (XIM_focus_event).
2928 (emacs_Xt_handle_magic_event): No side effect on Motif/XIM because
2929 XIM_SetGeometry does nothing in input_method_motif.c, but re-unify
2930 the interface for future use (XIM_SetGeometry).
2931 * redisplay-x.c (x_output_string): Re-enable Motif/XIM to set spot
2932 location (XIM_SetSpotLocation).
2933 (x_output_eol_cursor): Ditto.
2935 1999-07-17 Gunnar Evermann <ge204@eng.cam.ac.uk>
2937 * gdbinit (pobj): change lrecord_foo to &lrecord_foo to match
2938 Olivier's change to lrecord.h of 1999-04-22
2940 1999-07-20 Robert Pluim <rpluim@bigfoot.com>
2942 * gutter.c (redraw_exposed_gutter): Change type of pos from
2943 enum toolbar_pos -> enum gutter_pos, since former is only defined
2944 if toolbar support is.
2946 1999-07-19 Andy Piper <andy@xemacs.org>
2948 * glyphs-x.c (x_resize_subwindow): cope with widgets as well as
2951 * gutter.c (gutter_validate): new function for the gutter specifier.
2952 (specifier_type_create_gutter): declare specifier validator.
2954 * buffer.h (INC_CHARBYTIND): add for no error checking version.
2956 1999-07-18 Andy Piper <andy@xemacs.org>
2958 * redisplay.c (add_emchar_rune): use XSTRING_DATA not string_data.
2960 * glyphs-msw.c (console_type_create_glyphs_mswindows): add
2962 (mswindows_resize_subwindow): new function.
2964 * gutter.c (redraw_exposed_gutter): only reset the
2965 current_display_lines if non-zero.
2966 (Fgutter_pixel_height): new function.
2967 (Fgutter_pixel_width): new function.
2969 * event-msw.c (mswindows_wnd_proc): set the mask of the parameter
2970 we want to retrive from the tab control.
2972 1999-07-17 Andy Piper <andy@xemacs.org>
2974 * window.c (change_window_height): mark gutters changed when we're
2977 * gutter.c (specifier_vars_of_gutter): make defaults more
2980 * gutter.h (WINDOW_REAL_GUTTER_BORDER_WIDTH): adjust to be 0 for 0
2982 (DEFAULT_GUTTER_WIDTH): change.
2983 (DEFAULT_GUTTER_BORDER_WIDTH): change.
2985 1999-07-18 Andy Piper <andy@xemacs.org>
2987 * redisplay.c (add_emchar_rune): use XSTRING_DATA not string_data.
2989 1999-07-16 Andy Piper <andy@xemacs.org>
2991 * frame.c (Fmake_frame): call init_frame_gutters().
2993 * redisplay.c (add_emchar_rune): use string functions if we are
2994 working with a string.
2995 (position_redisplay_data_type): add string element.
2997 1999-07-15 Andy Piper <andy@xemacs.org>
2999 * winslots.h: add real_gutter_size slots to hold the actual gutter
3000 size. This is important for autodetected sizes.
3002 * gutter.c (calculate_gutter_size): calculate size for gutters
3003 that have 'autodetect size.
3005 * redisplay-msw.c (mswindows_output_vertical_divider): adjust
3006 extent of divider for gutters.
3008 * redisplay-x.c (x_output_vertical_divider): adjust extent of
3009 divider for gutters.
3011 * scrollbar.c (update_scrollbar_instance): adjust scrollbar
3012 position to take into account the gutters.
3014 * redisplay.c (generate_modeline): adjust modeline position to
3015 take into account the gutters.
3017 1999-07-14 Andy Piper <andy@xemacs.org>
3019 * gutter.c (frame_topmost_window): new function.
3020 (frame_bottommost_window): ditto.
3021 (frame_leftmost_window): ditto.
3022 (frame_rightmost_window): ditto.
3024 1999-07-13 Andy Piper <andy@xemacs.org>
3026 * redisplay.c (calculate_display_line_boundaries): use text
3027 boundaries so that gutters get handled properly.
3029 1999-07-12 Andy Piper <andy@xemacs.org>
3031 * glyphs-x.c (x_widget_instantiate): set the font Motif-style if
3034 * redisplay-output.c (redisplay_clear_to_window_end): generalised
3037 * redisplay-x.c (redisplay_clear_to_window_end): moved to
3040 * redisplay-msw.c (redisplay_clear_to_window_end): deleted.
3042 * gutter.c: new file - implements gutters. All new functions are
3043 semantically equivalent to the toolbar functions.
3044 (gutter_was_visible): new function.
3045 (get_gutter_coords): ditto.
3046 (output_gutter): ditto.
3047 (clear_gutter): ditto.
3048 (update_frame_gutters): ditto.
3049 (redraw_exposed_gutter): ditto.
3050 (redraw_exposed_gutters): ditto.
3051 (free_frame_gutters): ditto.
3052 (init_frame_gutters): ditto.
3053 (decode_gutter_position): ditto.
3054 (Fset_default_gutter_position): ditto.
3055 (Fset_default_gutter_position): ditto.
3056 (Fdefault_gutter_position): ditto.
3057 (gutter_after_change): ditto.
3058 (Fgutter_specifier_p): ditto.
3059 (recompute_overlaying_specifier): ditto.
3060 (gutter_specs_changed): ditto.
3061 (default_gutter_specs_changed): ditto.
3062 (gutter_geometry_changed_in_window): ditto.
3063 (default_gutter_size_changed_in_window): ditto.
3064 (default_gutter_border_width_changed_in_window): ditto.
3065 (default_gutter_visible_p_changed_in_window): ditto.
3066 (syms_of_gutter): ditto.
3067 (vars_of_gutter): ditto.
3068 (specifier_type_create_gutter): ditto.
3069 (specifier_vars_of_gutter): ditto.
3071 * gutter.h: new file. Contains gutter constants and sizing macros
3072 similar to those for the toolbar.
3074 * winslots.h: add gutter variables.
3076 * window.h: declare window_is_* functions.
3078 * window.c (window_is_lowest): make non-static.
3079 (window_is_highest): ditto.
3080 (window_top_toolbar_height): deleted.
3081 (window_bottom_toolbar_height): deleted.
3082 (window_left_toolbar_width): deleted.
3083 (window_right_toolbar_width): deleted.
3084 (window_top_gutter_height): add gutter sizing.
3085 (window_bottom_gutter_height): ditto.
3086 (window_left_gutter_width): ditto.
3087 (window_right_gutter_width): ditto.
3089 * symsinit.h: declarations for gutters vars etc.
3091 * search.c (bi_find_next_emchar_in_string): new function.
3093 * scrollbar.c (update_scrollbar_instance): remove reference to
3094 window_bottom_toolbar_height which did nothing.
3096 * redisplay.h (struct display_line): add face indices for
3097 overriding defaults in output_display_line.
3098 Add gutter_changed flags and declarations.
3100 * redisplay.c (create_string_text_block): new function, similar to
3101 create_text_block but for strings. Display tables etc are used
3102 from the currently selected window.
3103 (generate_string_display_line): ditto. Similar to
3104 generate_display_line.
3105 (generate_displayable_area): generate display lines for a given
3106 area on a frame. Input is the string, with associated extents, to
3108 (redisplay_frame): add gutter_changed check.
3109 (redisplay_device): ditto.
3110 (redisplay_without_hooks): ditto.
3112 * redisplay-x.c (bevel_modeline): moved to redisplay.c.
3113 (x_redraw_exposed_area): redraw exposed gutters.
3114 (x_bevel_area): new redisplay device method.
3115 (x_type_create_redisplay_mswindows): add bevel_area device method.
3116 (x_output_display_block): fiddly Martin-style cleanup.
3117 (x_output_vertical_divider): use bevel_area.
3119 * redisplay-output.c (output_display_line): check display_lines
3120 for face information before using defaults.
3121 (bevel_modeline): new function, calls bevel_area with appropriate
3124 * redisplay-msw.c (bevel_modeline): moved to redisplay.c.
3125 (mswindows_redraw_exposed_area): redraw exposed gutters.
3126 (mswindows_bevel_area): new redisplay device method.
3127 (console_type_create_redisplay_mswindows): add bevel_area device
3130 * indent.c (string_column_at_point): add column_at_point but for
3133 * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
3134 instantiate widgets that we have a toolkit for.
3136 * general.c: add Qgutter.
3138 * frame.h (struct frame): add display lines for gutters and
3141 * frame.c (set_frame_selected_window): mark gutters changed.
3143 * emacs.c (main_1): add gutter initialisation.
3145 * device.h (struct device): add gutter_changed flag and macros to
3148 * console.h (struct console_methods): new bevel area redisplay
3151 * buffer.h (REAL_INC_CHARBYTIND): new macro for strings as
3152 REAL_INC_BYTIND is for buffers.
3153 (INC_CHARPTR): ditto.
3155 * Makefile.in.in (objs): add gutter.o
3157 1999-07-13 XEmacs Build Bot <builds@cvs.xemacs.org>
3159 * XEmacs 21.2.18 is released
3161 1999-07-08 SL Baur <steve@mule.m17n.org>
3163 * event-Xt.c (handle_focus_event_1): Guard FRAME_X_XIC with
3165 (emacs_Xt_handle_magic_event): Ditto.
3166 * redisplay-x.c (x_output_string): Ditto.
3167 (x_output_eol_cursor): Ditto.
3169 1999-06-30 Kazuyuki IENAGA <kazz@imasy.or.jp>
3171 * event-Xt.c, input-method-xlib.c, redisplay-x.c: Avoid the
3172 problem that when XIM is destroyed or missed with some reason,
3173 xemacs will die. Now xim=xlib waits the XIM will be ready and
3174 endures the case of XIM end up.
3176 1999-07-03 Gunnar Evermann <ge204@eng.cam.ac.uk>
3178 * tooltalk.c (init_tooltalk): save signal actions for SIGQUIT,
3179 SIGINT and SIGCHLD before calling tt_open and restore the
3180 afterwards. This fixes e.g. the zombie subprocesses on Solaris
3182 1999-07-06 SL Baur <steve@xemacs.org>
3184 * s/linux.h: gcc-2.8 changes for powerpc
3185 From Justin Vallon <vallon@mindspring.com>
3187 1999-07-05 Didier Verna <didier@xemacs.org>
3189 * indent.c: new symbol Qcoerce.
3190 (Fmove_to_column): use it + doc string update.
3192 1999-07-04 Andy Piper <andy@xemacs.org>
3194 * console.c: undo earlier Fprovide changes.
3198 * console-tty.c (image_instantiator_format_create_glyphs_tty): new
3199 function. validate appropriate image formats for tty.
3201 * glyphs.h (INITIALIZE_IMAGE_INSTANTIATOR_FORMAT_NO_SYM):
3202 initialize consoles parameter.
3203 (struct image_instantiator_methods): add consoles parameter.
3204 (IIFORMAT_VALID_CONSOLE): new function. validate the format on the
3206 (INITIALIZE_DEVICE_IIFORMAT): validate the format on the given
3209 * glyphs-msw.c: declare instantiators for later use.
3210 (image_instantiator_format_create_glyphs_mswindows): validate xpm
3211 and friends on the mswindows console.
3212 * glyphs-x.c: ditto.
3214 * glyphs.c (valid_image_instantiator_format_p): disallow glyphs
3215 that have not been registered on the supplied device.
3216 (Fvalid_image_instantiator_format_p): add locale argument.
3217 (instantiate_image_instantiator): valid image instantiator on the
3220 * symsinit.h: add image_instantiator_format_create_glyphs_tty()
3223 * emacs.c (main_1): add call to
3224 image_instantiator_format_create_glyphs_tty().
3226 1999-06-29 Olivier Galibert <galibert@pobox.com>
3228 * lisp.h: Add #include <stddef.h>.
3230 * sysdep.c: Remove #include <stddef.h>.
3231 * symbols.c: Remove #include <stddef.h>.
3232 * sheap.c: Remove #include <stddef.h>.
3233 * opaque.c: Remove #include <stddef.h>.
3234 * nt.c: Remove #include <stddef.h>.
3235 * mule-charset.c: Remove #include <stddef.h>.
3236 * marker.c: Remove #include <stddef.h>.
3237 * file-coding.c: Remove #include <stddef.h>.
3238 * extents.c: Remove #include <stddef.h>.
3239 * elhash.c: Remove #include <stddef.h>.
3240 * data.c: Remove #include <stddef.h>.
3241 * chartab.c: Remove #include <stddef.h>.
3242 * bytecode.c: Remove #include <stddef.h>.
3243 * alloc.c: Remove #include <stddef.h>. Fix vector description
3245 1999-06-30 SL Baur <steve@miho.m17n.org>
3247 * editfns.c: Document "%s" format spec.
3248 Suggested by Bob Weiner <weiner@altrasoft.com>
3250 1999-06-29 Andy Piper <andy@xemacs.org>
3252 * event-msw.c: fix definition booboo.
3254 1999-06-28 Andy Piper <andy@xemacs.org>
3256 * glyphs-x.c: change tree -> tree-view, progress ->
3257 progress_gauge, edit -> edit-field, tab -> tab-control, combo ->
3259 (complex_vars_of_glyphs_x): provide-on-console the implemented
3262 * glyphs-msw.c: ditto.
3263 (complex_vars_of_glyphs_mswindows): ditto.
3265 * lisp.h: add Fprovide_on_console.
3267 * fns.c (Ffeaturep): add extra optional console argument.
3268 (Fprovide_on_console): like Fprovide but provides only on the
3269 specified console-type.
3270 (Frequire): check console-features as well as global features.
3272 * console.c (Fconsole_features): new function. return features for
3274 (syms_of_console): add Fconsole_features.
3276 * console.h (CONMETH_FEATURES): new function for accessing features.
3277 (CONSOLE_FEATURES): ditto.
3278 (struct console_methods): add features slot.
3279 (INITIALIZE_CONSOLE_TYPE): initialize features slot.
3281 1999-06-28 Andy Piper <andy@xemacs.org>
3283 * event-Xt.c (handle_focus_event_1): conditionally compile for
3286 * s/cygwin32.h: fix me website address.
3288 * event-msw.c: add NMHDR for pre b20 cygwin builds.
3290 * gui-x.c (button_item_to_widget_value): only add callback if it
3293 * glyphs-x.c: add progress, edit and combo instantiators.
3294 (x_widget_set_property): new function. uses lwlib to set widget
3296 (x_widget_property): new function. uses lwlib to get widget
3298 (x_button_instantiate): support images in buttons.
3299 (x_button_property): new function. use lwlib to get the selected
3301 (x_progress_instantiate): new function for instantiating progress
3303 (x_progress_set_property): new function. sets the progress gauge
3305 (x_edit_instantiate): new function. for instantiating edit fields.
3306 (x_combo_instantiate): new function. for instantiating combo
3308 (image_instantiator_format_create_glyphs_x): add new device ii
3311 * glyphs-msw.c (mswindows_tab_instantiate): remove redundant var.
3313 * console.h (CONSOLE_FEATURES): new features accesor.
3315 * conslots.h (MARKED_SLOT): add features entry.
3317 1999-06-25 Andy Piper <andy@xemacs.org>
3319 * menubar-x.c (menu_item_descriptor_to_widget_value_1): use new
3322 * menubar-msw.c: move MAX_MENUITEM_LENGTH to gui.h
3324 * gui.h (struct Lisp_Gui_Item): add accelerator.
3326 * gui.c (gui_item_add_keyval_pair): deal with accelerators.
3327 (gui_item_init): ditto.
3328 (gui_add_item_keywords_to_plist): ditto.
3329 (mark_gui_item): ditto.
3330 (gui_item_hash): ditto.
3331 (gui_item_accelerator): new function.
3332 (gui_name_accelerator): new function stolen from gui-x.c
3334 * gui-x.c (popup_selection_callback): always define. mark
3335 subwindows changed after calling a callback.
3336 (menu_name_to_accelerator): deleted.
3337 (button_item_to_widget_value): forward gui_item things to gui_item
3340 * glyphs-x.h (struct x_subwindow_data): add data for widgets. add
3341 appropriate accesors.
3343 * glyphs-x.c: declare new glyph formats.
3344 (x_finalize_image_instance): unmanage and destroy widgets if they
3346 (x_unmap_subwindow): handle widgets specially.
3347 (x_map_subwindow): ditto. offset display of widgets by offset of
3348 text widget within container.
3349 (x_update_subwindow): new function. call lw_modify_all_widgets
3350 when we are a widget.
3351 (x_widget_instantiate): new function for generically creating
3352 widgets-glyphs. toolkit specifics forwarded to lwlib.
3353 (x_button_instantiate): new function for instantiating
3354 widgets-glyph buttons.
3355 (console_type_create_glyphs_x): register update_subwindow.
3356 (image_instantiator_format_create_glyphs_x): register widget and
3359 * event-msw.c (mswindows_wnd_proc): remove redundant variable.
3361 * event-Xt.c (x_event_to_emacs_event): call handle_focus_event_1
3362 when we get a button press in case we do not have the focus.
3363 (handle_focus_event_1): set the keyboard focus to the text widget
3364 if we do not have it.
3366 * dialog-x.c (dbox_descriptor_to_widget_value): use new gui_item
3369 1999-06-24 SL Baur <steve@miho.m17n.org>
3371 * syntax.c (scan_words): Restore non-Mule code.
3372 (word_constituent_p): Restore.
3374 1999-06-23 Olivier Galibert <galibert@pobox.com>
3376 * config.h.in: Add missing #undef *_USER_DEFINED.
3378 1999-06-23 SL Baur <steve@miho.m17n.org>
3380 * lisp.h (set_bit_vector_bit): Force promotion to unsigned long
3381 int (fixes a 64-bit problem).
3383 * chartab.c (word_boundary_p): Use EQ not == for lisp_object
3386 1999-03-23 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de>
3388 * paths.h.in (PATH_DOC): Made doc-directory configurable.
3390 1999-06-22 Olivier Galibert <galibert@pobox.com>
3392 * lrecord.h: Added basic external description system.
3394 * symbols.c: Added symbol, symbol-value-buffer-local,
3395 symbol-value-lisp-magic and symbol-value-varalias description.
3396 * mule-charset.c: Added charset description.
3397 * marker.c: Added marker description.
3398 * keymap.c: Added keymap description.
3399 * glyphs.c: Added glyph description.
3400 * floatfns.c: Added float description.
3401 * file-coding.c: Added coding-system description.
3402 * extents.c: Added extent description.
3403 * elhash.c: Added hash-table description.
3404 * data.c: Added weak-list desciption.
3405 * chartab.c: Added char-table-entry and char-table description.
3406 * bytecode.c: Added compiled-function description.
3407 * alloc.c: Added cons, vector and string description.
3409 1999-06-22 Olivier Galibert <galibert@pobox.com>
3411 * lrecord.h (struct lrecord_header): Reduced size to 4 bytes.
3412 Updated everything to the removal of the "flags" substructure.
3414 * lisp.h (subr_lheader_initializer): Updated.
3415 * symeval.h (symbol_value_forward_lheader_initializer): Updated.
3417 1999-06-20 MORIOKA Tomohiko <tomo@etl.go.jp>
3419 * syntax.c (word_constituent_p): Deleted.
3420 (scan_words): Use `WORD_BOUNDARY_P'.
3422 * chartab.c (Vword_combining_categories): New variable.
3423 (Vword_separating_categories): Likewise.
3424 (CATEGORYP): New macro.
3425 (CATEGORY_SET): Likewise.
3426 (CATEGORY_MEMBER): Likewise.
3427 (word_boundary_p): New function.
3428 (complex_vars_of_chartab): Set up new variable
3429 `word-combining-categories' and `word-separating-categories'.
3431 1999-06-18 Olivier Galibert <galibert@pobox.com>
3433 * lrecord.h: Added description as a placehold in the lrecord
3434 implementation structures. Added the parameter to all constructor
3437 * alloc.c: Added placeholders.
3439 * bytecode.c: Ditto.
3443 * database.c: Ditto.
3448 * event-stream.c: Ditto.
3452 * file-coding.c: Ditto.
3453 * floatfns.c: Ditto.