Mercurial > hg > xemacs-beta
annotate CHANGES-ben-mule @ 1204:e22b0213b713
[xemacs-hg @ 2003-01-12 11:07:58 by michaels]
modules/ChangeLog:
2002-12-16 Ben Wing <ben@xemacs.org>
* postgresql/postgresql.c:
remove ifdef USE_KKCC.
src/ChangeLog:
2003-01-08 Mike Sperber <mike@xemacs.org>
* console.h (CDFW_CONSOLE): Don't lead to a crash if we're dealing
with a dead window/frame/device/console.
2002-12-20 Mike Sperber <mike@xemacs.org>
* ui-gtk.c: Fix typo from Ben's patch: emacs_ffi_data is a
typedef, not a struct. emacs_gtk_object_data is a typedef, not a
struct.
* gtk-glue.c (gdk_event_to_emacs_event): Fix typos from Ben's
patch: le -> emacs_event + rearrange the code.
* event-gtk.c (gtk_event_to_emacs_event): Fix typos from Ben's
patch: ..._UNDERLYING_GDK_EVENT -> ..._GDK_EVENT, ev -> key_event.
* device-gtk.c: Fix typo from Ben's patch: x_keysym_map_hash_table
-> x_keysym_map_hashtable.
2002-12-19 Mike Sperber <mike@xemacs.org>
* menubar-x.c (set_frame_menubar): Initialize protect_me field of
popup_data.
2002-12-16 Ben Wing <ben@xemacs.org>
Major cleanup of KKCC, etc.
KKCC, pdump-related:
-- descriptions are written for all objects. this required some
changes in the format of some objects, e.g. extents, popup-data,
coding system, lstream, lcrecord-list.
-- KKCC now handles weakness in markers, hash tables, elsewhere
correctly (formerly, you'd eventually get a stack overflow due
to endlessly expanding markers).
-- textual changes: lrecord_description -> memory_description,
struct_description -> sized_memory_description.
-- extensive comment describing descriptions and pdump.
-- redo XD_UNION so it works inline and change its format to provide
sufficient info for pdump. implement XD_UNION in pdump. also add
XD_UNION_DYNAMIC_SIZE, which works like XD_UNION except for when
auto-computing structure sizes.
-- add support for XD_INDIRECT in description offsets (used by
extents).
-- add support for "description maps", allowing for indirect
descriptions that are retrieved from an object at run-time. this
generalizes XD_CODING_SYSTEM_END, XD_SPECIFIER_END, etc., which
have now been eliminated.
-- add a fifth field "flags" to memory_description, to support flags
that can be specified for this particular line. Currently defined
flags are XD_FLAG_NO_KKCC (KKCC should ignore this entry; useful
for the weakness above in markers, etc.), XD_FLAG_NO_PDUMP (pdump
should ignore this entry), XD_FLAG_UNION_DEFAULT_ENTRY (in
union maps, this specifies a "default" entry for all remaining
values), and XD_FLAG_FREE_LISP_OBJECT (for use with lcrecord-lists).
-- clean up the kkcc-itis in events, so that the differences
between event data as separate objects and as a union are now
minimized to a small number of places. with the new XD_UNION, we
no longer need event data as separate objects, so this code is no
longer ifdef USE_KKCC, but instead ifdef EVENT_DATA_AS_OBJECTS,
not used by default. make sure that we explicitly free the
separate event data objects when no longer in use, to maintain the
invariant the event processing causes no consing.
-- also remove other USE_KKCC ifdefs when not necessary.
-- allow for KKCC compilation under MS Windows.
-- fix README.kkcc.
-- dump_add_root_object -> dump_add_root_lisp_object.
-- implement dump_add_root_block and use this to handle
dump_add_opaque.
-- factor out some code duplicated in kkcc and pdump.
Other allocation/object-related:
-- change various *slots.h so MARKED_SLOT() call no longer
includes semicolon.
-- free_marker() takes a Lisp_Object not a direct pointer.
-- make bit vectors lcrecords, like vectors, and eliminate code
that essentially duplicated the lcrecord handling.
-- additional asserts in FREE_FIXED_TYPE, formerly duplicated in
the various callers of this.
-- all lcrecord allocation functions now zero out the returned
lcrecords. unnecessary calls to zero_lcrecord removed. add long
comment describing these functions.
-- extract out process and coding system slots, like for buffers,
frames, etc.
-- lcrecords now set the type of items sitting on the free list to
lcrecord_type_free.
-- changes to the way that gap arrays are allocated, for kkcc's
benefit -- now, one single memory block with a stretchy array on
the end, instead of a separate block holding the array.
Error-checking-related:
-- now can compile with C++ under MS Windows. clean up compile errors
discovered that way. (a few were real problems)
-- add C++ error-checking code to verify problems with mismatched
GCPRO/UNGCPRO. (there were a few in the kkcc code.) add long
comment about how to catch insufficient GCPRO (yes, it's possible
using C++).
-- add debug_p4(), a simple object printer, when debug_print()
doesn't work.
-- add dp() and db() as short synonyms of debug_print(),
debug_backtrace().
-- `print' tries EXTREMELY hard to avoid core dumping when printing
when crashing or from debug_print(), and tries as hard as it
reasonably can in other situations.
-- Correct the message output upon crashing to be more up-to-date.
Event-related:
-- document event-matches-key-specifier-p better.
-- generalize the dispatch queues formerly duplicated in the
various event implementations. add event methods to drain pending
events. generalize and clean up QUIT handling, removing
event-specific quit processing. allow arbitrary keystrokes, not
just ASCII, to be the QUIT char. among other things, this should
fix some longstanding bugs in X quit handling. long comment
describing the various event queues.
-- implement delaying of XFlush() if there are pending expose events.
SOMEONE PLEASE TRY THIS OUT.
-- Fix `xemacs -batch -l dunnet' under Cygwin. Try to fix under
MS Windows but not quite there yet.
Other:
-- class -> class_ and no more C++ games with this item.
new -> new_ in the lwlib code, so far not elsewhere.
-- use `struct htentry' not `struct hentry' in elhash.c to avoid
debugger confusion with hash.c.
-- new macros ALIST_LOOP_3, ALIST_LOOP_4.
* README.kkcc:
* alloc.c:
* alloc.c (deadbeef_memory):
* alloc.c (allocate_lisp_storage):
* alloc.c (copy_lisp_object):
* alloc.c (ALLOCATE_FIXED_TYPE_1):
* alloc.c (FREE_FIXED_TYPE):
* alloc.c (make_vector_internal):
* alloc.c (make_bit_vector_internal):
* alloc.c (make_key_data):
* alloc.c (make_button_data):
* alloc.c (make_motion_data):
* alloc.c (make_process_data):
* alloc.c (make_timeout_data):
* alloc.c (make_magic_data):
* alloc.c (make_magic_eval_data):
* alloc.c (make_eval_data):
* alloc.c (make_misc_user_data):
* alloc.c (struct string_chars_block):
* alloc.c (mark_lcrecord_list):
* alloc.c (make_lcrecord_list):
* alloc.c (alloc_managed_lcrecord):
* alloc.c (free_managed_lcrecord):
* alloc.c (alloc_automanaged_lcrecord):
* alloc.c (staticpro_1):
* alloc.c (staticpro):
* alloc.c (lispdesc_indirect_count_1):
* alloc.c (lispdesc_indirect_description_1):
* alloc.c (lispdesc_one_description_line_size):
* alloc.c (lispdesc_structure_size):
* alloc.c (mark_object_maybe_checking_free):
* alloc.c (mark_with_description):
* alloc.c (mark_struct_contents):
* alloc.c (mark_object):
* alloc.c (tick_lcrecord_stats):
* alloc.c (free_cons):
* alloc.c (free_key_data):
* alloc.c (free_button_data):
* alloc.c (free_motion_data):
* alloc.c (free_process_data):
* alloc.c (free_timeout_data):
* alloc.c (free_magic_data):
* alloc.c (free_magic_eval_data):
* alloc.c (free_eval_data):
* alloc.c (free_misc_user_data):
* alloc.c (free_marker):
* alloc.c (compact_string_chars):
* alloc.c (gc_sweep):
* alloc.c (garbage_collect_1):
* alloc.c (Fgarbage_collect):
* alloc.c (common_init_alloc_early):
* alloc.c (init_alloc_early):
* alloc.c (init_alloc_once_early):
* buffer.c:
* buffer.c (mark_buffer):
* buffer.c (MARKED_SLOT):
* buffer.c (cleanup_buffer_undo_lists):
* buffer.c (Fget_file_buffer):
* buffer.h (MARKED_SLOT):
* bufslots.h:
* bytecode.c:
* callint.c:
* casetab.c:
* chartab.c:
* chartab.c (symbol_to_char_table_type):
* cmdloop.c:
* cmdloop.c (Fcommand_loop_1):
* config.h.in (new):
* conslots.h:
* console-gtk-impl.h (struct gtk_frame):
* console-impl.h:
* console-impl.h (struct console):
* console-impl.h (MARKED_SLOT):
* console-impl.h (CONSOLE_QUIT_EVENT):
* console-msw-impl.h (XM_BUMPQUEUE):
* console-msw.c (write_string_to_mswindows_debugging_output):
* console-msw.h:
* console-stream-impl.h:
* console-stream-impl.h (struct stream_console):
* console-stream.c:
* console-stream.c (stream_init_console):
* console-stream.h:
* console-tty.c:
* console-tty.h:
* console-x.h:
* console.c:
* console.c (mark_console):
* console.c (MARKED_SLOT):
* console.c (allocate_console):
* console.c (get_console_variant):
* console.c (create_console):
* console.c (delete_console_internal):
* console.c (Fset_input_mode):
* console.c (Fcurrent_input_mode):
* console.c (common_init_complex_vars_of_console):
* console.h:
* console.h (console_variant):
* console.h (device_metrics):
* data.c:
* data.c (Faref):
* data.c (Faset):
* data.c (decode_weak_list_type):
* database.c:
* debug.c (xemacs_debug_loop):
* debug.c (FROB):
* debug.c (Fadd_debug_class_to_check):
* debug.c (Fdelete_debug_class_to_check):
* debug.c (Fset_debug_classes_to_check):
* debug.c (Fset_debug_class_types_to_check):
* debug.c (Fdebug_types_being_checked):
* debug.h (DASSERT):
* device-gtk.c:
* device-impl.h (struct device):
* device-impl.h (MARKED_SLOT):
* device-msw.c:
* device-x.c:
* device-x.c (x_init_device_class):
* device-x.c (x_comp_visual_info):
* device-x.c (x_try_best_visual_class):
* device-x.c (x_init_device):
* device-x.c (construct_name_list):
* device-x.c (x_get_resource_prefix):
* device-x.c (Fx_get_resource):
* device-x.c (Fx_display_visual_class):
* device.c:
* device.c (MARKED_SLOT):
* device.c (allocate_device):
* device.c (Fmake_device):
* device.c (delete_device_internal):
* device.c (Fset_device_class):
* device.h:
* devslots.h:
* devslots.h (MARKED_SLOT):
* dialog-msw.c:
* dired-msw.c (mswindows_ls_sort_fcn):
* dired-msw.c (mswindows_get_files):
* dired-msw.c (mswindows_format_file):
* doprnt.c (parse_doprnt_spec):
* dumper.c:
* dumper.c (struct):
* dumper.c (dump_add_root_block):
* dumper.c (dump_add_root_struct_ptr):
* dumper.c (dump_add_root_lisp_object):
* dumper.c (pdump_struct_list_elt):
* dumper.c (pdump_get_entry_list):
* dumper.c (pdump_backtrace):
* dumper.c (pdump_bump_depth):
* dumper.c (pdump_register_sub):
* dumper.c (pdump_register_object):
* dumper.c (pdump_register_struct_contents):
* dumper.c (pdump_register_struct):
* dumper.c (pdump_store_new_pointer_offsets):
* dumper.c (pdump_dump_data):
* dumper.c (pdump_reloc_one):
* dumper.c (pdump_allocate_offset):
* dumper.c (pdump_scan_by_alignment):
* dumper.c (pdump_dump_root_blocks):
* dumper.c (pdump_dump_rtables):
* dumper.c (pdump_dump_root_lisp_objects):
* dumper.c (pdump):
* dumper.c (pdump_load_finish):
* dumper.c (pdump_file_get):
* dumper.c (pdump_resource_get):
* dumper.c (pdump_load):
* editfns.c (save_excursion_restore):
* editfns.c (user_login_name):
* editfns.c (save_restriction_restore):
* elhash.c:
* elhash.c (htentry):
* elhash.c (struct Lisp_Hash_Table):
* elhash.c (HTENTRY_CLEAR_P):
* elhash.c (LINEAR_PROBING_LOOP):
* elhash.c (check_hash_table_invariants):
* elhash.c (mark_hash_table):
* elhash.c (hash_table_equal):
* elhash.c (print_hash_table_data):
* elhash.c (free_hentries):
* elhash.c (make_general_lisp_hash_table):
* elhash.c (decode_hash_table_weakness):
* elhash.c (decode_hash_table_test):
* elhash.c (Fcopy_hash_table):
* elhash.c (resize_hash_table):
* elhash.c (pdump_reorganize_hash_table):
* elhash.c (find_htentry):
* elhash.c (Fgethash):
* elhash.c (Fputhash):
* elhash.c (remhash_1):
* elhash.c (Fremhash):
* elhash.c (Fclrhash):
* elhash.c (copy_compress_hentries):
* elhash.c (elisp_maphash_unsafe):
* elhash.c (finish_marking_weak_hash_tables):
* elhash.c (prune_weak_hash_tables):
* elhash.h:
* emacs.c:
* emacs.c (main_1):
* emacs.c (main):
* emacs.c (shut_down_emacs):
* emodules.h (dump_add_root_lisp_object):
* eval.c:
* eval.c (unwind_to_catch):
* eval.c (maybe_signal_error_1):
* eval.c (maybe_signal_continuable_error_1):
* eval.c (maybe_signal_error):
* eval.c (maybe_signal_continuable_error):
* eval.c (maybe_signal_error_2):
* eval.c (maybe_signal_continuable_error_2):
* eval.c (maybe_signal_ferror):
* eval.c (maybe_signal_continuable_ferror):
* eval.c (maybe_signal_ferror_with_frob):
* eval.c (maybe_signal_continuable_ferror_with_frob):
* eval.c (maybe_syntax_error):
* eval.c (maybe_sferror):
* eval.c (maybe_invalid_argument):
* eval.c (maybe_invalid_constant):
* eval.c (maybe_invalid_operation):
* eval.c (maybe_invalid_change):
* eval.c (maybe_invalid_state):
* eval.c (Feval):
* eval.c (call_trapping_problems):
* eval.c (call_with_suspended_errors):
* eval.c (warn_when_safe_lispobj):
* eval.c (warn_when_safe):
* eval.c (vars_of_eval):
* event-Xt.c:
* event-Xt.c (maybe_define_x_key_as_self_inserting_character):
* event-Xt.c (x_to_emacs_keysym):
* event-Xt.c (x_event_to_emacs_event):
* event-Xt.c (emacs_Xt_enqueue_focus_event):
* event-Xt.c (emacs_Xt_format_magic_event):
* event-Xt.c (emacs_Xt_compare_magic_event):
* event-Xt.c (emacs_Xt_hash_magic_event):
* event-Xt.c (emacs_Xt_handle_magic_event):
* event-Xt.c (Xt_timeout_to_emacs_event):
* event-Xt.c (Xt_process_to_emacs_event):
* event-Xt.c (signal_special_Xt_user_event):
* event-Xt.c (emacs_Xt_next_event):
* event-Xt.c (emacs_Xt_event_handler):
* event-Xt.c (emacs_Xt_drain_queue):
* event-Xt.c (emacs_Xt_event_pending_p):
* event-Xt.c (check_if_pending_expose_event):
* event-Xt.c (reinit_vars_of_event_Xt):
* event-Xt.c (vars_of_event_Xt):
* event-gtk.c:
* event-gtk.c (IS_MODIFIER_KEY):
* event-gtk.c (emacs_gtk_format_magic_event):
* event-gtk.c (emacs_gtk_compare_magic_event):
* event-gtk.c (emacs_gtk_hash_magic_event):
* event-gtk.c (emacs_gtk_handle_magic_event):
* event-gtk.c (gtk_to_emacs_keysym):
* event-gtk.c (gtk_timeout_to_emacs_event):
* event-gtk.c (gtk_process_to_emacs_event):
* event-gtk.c (dragndrop_data_received):
* event-gtk.c (signal_special_gtk_user_event):
* event-gtk.c (emacs_gtk_next_event):
* event-gtk.c (gtk_event_to_emacs_event):
* event-gtk.c (generic_event_handler):
* event-gtk.c (emacs_shell_event_handler):
* event-gtk.c (emacs_gtk_drain_queue):
* event-gtk.c (emacs_gtk_event_pending_p):
* event-gtk.c (reinit_vars_of_event_gtk):
* event-gtk.c (vars_of_event_gtk):
* event-msw.c:
* event-msw.c (struct winsock_stream):
* event-msw.c (winsock_reader):
* event-msw.c (winsock_writer):
* event-msw.c (mswindows_enqueue_dispatch_event):
* event-msw.c (mswindows_enqueue_misc_user_event):
* event-msw.c (mswindows_enqueue_magic_event):
* event-msw.c (mswindows_enqueue_process_event):
* event-msw.c (mswindows_enqueue_mouse_button_event):
* event-msw.c (mswindows_enqueue_keypress_event):
* event-msw.c (mswindows_dequeue_dispatch_event):
* event-msw.c (emacs_mswindows_drain_queue):
* event-msw.c (mswindows_need_event_in_modal_loop):
* event-msw.c (mswindows_need_event):
* event-msw.c (mswindows_wm_timer_callback):
* event-msw.c (dde_eval_string):
* event-msw.c (Fdde_alloc_advise_item):
* event-msw.c (mswindows_dde_callback):
* event-msw.c (mswindows_wnd_proc):
* event-msw.c (remove_timeout_mapper):
* event-msw.c (emacs_mswindows_remove_timeout):
* event-msw.c (emacs_mswindows_event_pending_p):
* event-msw.c (emacs_mswindows_format_magic_event):
* event-msw.c (emacs_mswindows_compare_magic_event):
* event-msw.c (emacs_mswindows_hash_magic_event):
* event-msw.c (emacs_mswindows_handle_magic_event):
* event-msw.c (emacs_mswindows_select_console):
* event-msw.c (emacs_mswindows_unselect_console):
* event-msw.c (reinit_vars_of_event_mswindows):
* event-msw.c (vars_of_event_mswindows):
* event-stream.c:
* event-stream.c (mark_command_builder):
* event-stream.c (reset_command_builder_event_chain):
* event-stream.c (allocate_command_builder):
* event-stream.c (copy_command_builder):
* event-stream.c (command_builder_append_event):
* event-stream.c (event_stream_event_pending_p):
* event-stream.c (event_stream_force_event_pending):
* event-stream.c (maybe_read_quit_event):
* event-stream.c (event_stream_drain_queue):
* event-stream.c (remove_quit_p_event):
* event-stream.c (event_stream_quit_p):
* event-stream.c (echo_key_event):
* event-stream.c (maybe_kbd_translate):
* event-stream.c (execute_help_form):
* event-stream.c (event_stream_generate_wakeup):
* event-stream.c (enqueue_dispatch_event):
* event-stream.c (enqueue_magic_eval_event):
* event-stream.c (Fenqueue_eval_event):
* event-stream.c (enqueue_misc_user_event):
* event-stream.c (enqueue_misc_user_event_pos):
* event-stream.c (next_event_internal):
* event-stream.c (Fnext_event):
* event-stream.c (Faccept_process_output):
* event-stream.c (execute_internal_event):
* event-stream.c (munge_keymap_translate):
* event-stream.c (command_builder_find_leaf_no_mule_processing):
* event-stream.c (command_builder_find_leaf):
* event-stream.c (lookup_command_event):
* event-stream.c (is_scrollbar_event):
* event-stream.c (execute_command_event):
* event-stream.c (Fdispatch_event):
* event-stream.c (Fread_key_sequence):
* event-stream.c (dribble_out_event):
* event-stream.c (vars_of_event_stream):
* event-tty.c (tty_timeout_to_emacs_event):
* event-tty.c (emacs_tty_next_event):
* event-tty.c (emacs_tty_drain_queue):
* event-tty.c (reinit_vars_of_event_tty):
* event-unixoid.c:
* event-unixoid.c (find_tty_or_stream_console_from_fd):
* event-unixoid.c (read_event_from_tty_or_stream_desc):
* event-unixoid.c (drain_tty_devices):
* event-unixoid.c (poll_fds_for_input):
* events.c:
* events.c (deinitialize_event):
* events.c (zero_event):
* events.c (mark_event):
* events.c (print_event_1):
* events.c (print_event):
* events.c (event_equal):
* events.c (event_hash):
* events.c (Fmake_event):
* events.c (Fdeallocate_event):
* events.c (Fcopy_event):
* events.c (map_event_chain_remove):
* events.c (character_to_event):
* events.c (event_to_character):
* events.c (Fevent_to_character):
* events.c (format_event_object):
* events.c (upshift_event):
* events.c (downshift_event):
* events.c (event_upshifted_p):
* events.c (Fevent_live_p):
* events.c (Fevent_type):
* events.c (Fevent_timestamp):
* events.c (CHECK_EVENT_TYPE):
* events.c (CHECK_EVENT_TYPE2):
* events.c (CHECK_EVENT_TYPE3):
* events.c (Fevent_key):
* events.c (Fevent_button):
* events.c (Fevent_modifier_bits):
* events.c (event_x_y_pixel_internal):
* events.c (event_pixel_translation):
* events.c (Fevent_process):
* events.c (Fevent_function):
* events.c (Fevent_object):
* events.c (Fevent_properties):
* events.c (syms_of_events):
* events.c (vars_of_events):
* events.h:
* events.h (struct event_stream):
* events.h (struct Lisp_Key_Data):
* events.h (KEY_DATA_KEYSYM):
* events.h (EVENT_KEY_KEYSYM):
* events.h (struct Lisp_Button_Data):
* events.h (EVENT_BUTTON_BUTTON):
* events.h (struct Lisp_Motion_Data):
* events.h (EVENT_MOTION_X):
* events.h (struct Lisp_Process_Data):
* events.h (EVENT_PROCESS_PROCESS):
* events.h (struct Lisp_Timeout_Data):
* events.h (EVENT_TIMEOUT_INTERVAL_ID):
* events.h (struct Lisp_Eval_Data):
* events.h (EVENT_EVAL_FUNCTION):
* events.h (struct Lisp_Misc_User_Data):
* events.h (EVENT_MISC_USER_FUNCTION):
* events.h (struct Lisp_Magic_Eval_Data):
* events.h (EVENT_MAGIC_EVAL_INTERNAL_FUNCTION):
* events.h (struct Lisp_Magic_Data):
* events.h (EVENT_MAGIC_UNDERLYING):
* events.h (EVENT_MAGIC_GDK_EVENT):
* events.h (struct Lisp_Event):
* events.h (XEVENT_CHANNEL):
* events.h (SET_EVENT_TIMESTAMP_ZERO):
* events.h (SET_EVENT_CHANNEL):
* events.h (SET_EVENT_NEXT):
* events.h (XSET_EVENT_TYPE):
* events.h (struct command_builder):
* extents.c:
* extents.c (gap_array_adjust_markers):
* extents.c (gap_array_recompute_derived_values):
* extents.c (gap_array_move_gap):
* extents.c (gap_array_make_gap):
* extents.c (gap_array_insert_els):
* extents.c (gap_array_delete_els):
* extents.c (gap_array_make_marker):
* extents.c (gap_array_delete_marker):
* extents.c (gap_array_move_marker):
* extents.c (make_gap_array):
* extents.c (free_gap_array):
* extents.c (extent_list_num_els):
* extents.c (extent_list_insert):
* extents.c (mark_extent_auxiliary):
* extents.c (allocate_extent_auxiliary):
* extents.c (decode_extent_at_flag):
* extents.c (verify_extent_mapper):
* extents.c (symbol_to_glyph_layout):
* extents.c (syms_of_extents):
* faces.c:
* file-coding.c:
* file-coding.c (struct_detector_category_description =):
* file-coding.c (detector_category_dynarr_description_1):
* file-coding.c (struct_detector_description =):
* file-coding.c (detector_dynarr_description_1):
* file-coding.c (MARKED_SLOT):
* file-coding.c (mark_coding_system):
* file-coding.c (coding_system_extra_description_map):
* file-coding.c (coding_system_description):
* file-coding.c (allocate_coding_system):
* file-coding.c (symbol_to_eol_type):
* file-coding.c (Fcoding_system_aliasee):
* file-coding.c (set_coding_stream_coding_system):
* file-coding.c (struct convert_eol_coding_system):
* file-coding.c (struct undecided_coding_system):
* file-coding.c (undecided_mark_coding_stream):
* file-coding.c (coding_category_symbol_to_id):
* file-coding.c (struct gzip_coding_system):
* file-coding.c (coding_system_type_create):
* file-coding.h:
* file-coding.h (struct Lisp_Coding_System):
* file-coding.h (CODING_SYSTEM_SLOT_DECLARATION):
* file-coding.h (coding_system_variant):
* file-coding.h (struct coding_system_methods):
* file-coding.h (DEFINE_CODING_SYSTEM_TYPE_WITH_DATA):
* file-coding.h (INITIALIZE_CODING_SYSTEM_TYPE_WITH_DATA):
* file-coding.h (struct coding_stream):
* fileio.c (Fsubstitute_in_file_name):
* floatfns.c:
* fns.c:
* fns.c (base64_encode_1):
* frame-gtk.c:
* frame-gtk.c (Fgtk_start_drag_internal):
* frame-impl.h (struct frame):
* frame-impl.h (MARKED_SLOT):
* frame-msw.c:
* frame-x.c:
* frame-x.c (Fcde_start_drag_internal):
* frame-x.c (Foffix_start_drag_internal):
* frame.c:
* frame.c (MARKED_SLOT):
* frame.c (allocate_frame_core):
* frame.c (delete_frame_internal):
* frame.c (Fmouse_position_as_motion_event):
* frameslots.h:
* frameslots.h (MARKED_SLOT_ARRAY):
* free-hook.c:
* glyphs-msw.c (mswindows_widget_instantiate):
* glyphs-x.c:
* glyphs-x.c (convert_EImage_to_XImage):
* glyphs.c:
* glyphs.c (process_image_string_instantiator):
* glyphs.c (mark_image_instance):
* glyphs.c (allocate_image_instance):
* glyphs.c (unmap_subwindow):
* glyphs.c (map_subwindow):
* glyphs.c (syms_of_glyphs):
* glyphs.c (specifier_type_create_image):
* glyphs.h:
* glyphs.h (struct text_image_instance):
* glyphs.h (struct Lisp_Image_Instance):
* gmalloc.c:
* gmalloc.c ("C"):
* gpmevent.c (Freceive_gpm_event):
* gpmevent.c (gpm_next_event_cb):
* gpmevent.c (vars_of_gpmevent):
* gtk-glue.c (gdk_event_to_emacs_event):
* gtk-xemacs.c (gtk_xemacs_class_init):
* gui-msw.c:
* gui-msw.c (mswindows_handle_gui_wm_command):
* gui-msw.c (mswindows_translate_menu_or_dialog_item):
* gui-x.c:
* gui-x.c (mark_popup_data):
* gui-x.c (snarf_widget_value_mapper):
* gui-x.c (gcpro_popup_callbacks):
* gui-x.c (ungcpro_popup_callbacks):
* gui-x.c (free_popup_widget_value_tree):
* gui-x.c (popup_selection_callback):
* gui-x.h:
* gui-x.h (struct popup_data):
* gui.c:
* gui.c (allocate_gui_item):
* gutter.c (decode_gutter_position):
* hash.c (NULL_ENTRY):
* indent.c (vmotion_1):
* indent.c (vmotion_pixels):
* input-method-motif.c (res):
* input-method-xlib.c (IMInstantiateCallback):
* input-method-xlib.c (XIM_init_device):
* input-method-xlib.c (res):
* intl-encap-win32.c:
* intl-encap-win32.c (qxeSHGetDataFromIDList):
* intl-win32.c:
* intl-win32.c (mswindows_multibyte_cp_type):
* intl-win32.c (struct mswindows_multibyte_coding_system):
* keymap.c:
* keymap.c (make_key_description):
* keymap.c (keymap_store):
* keymap.c (get_keyelt):
* keymap.c (keymap_lookup_1):
* keymap.c (define_key_parser):
* keymap.c (key_desc_list_to_event):
* keymap.c (event_matches_key_specifier_p):
* keymap.c (meta_prefix_char_p):
* keymap.c (ensure_meta_prefix_char_keymapp):
* keymap.c (Fdefine_key):
* keymap.c (struct raw_lookup_key_mapper_closure):
* keymap.c (raw_lookup_key):
* keymap.c (raw_lookup_key_mapper):
* keymap.c (lookup_keys):
* keymap.c (lookup_events):
* keymap.c (Flookup_key):
* keymap.c (struct map_keymap_unsorted_closure):
* keymap.c (map_keymap_unsorted_mapper):
* keymap.c (map_keymap_sorted):
* keymap.c (map_keymap_mapper):
* keymap.c (map_keymap):
* keymap.c (accessible_keymaps_mapper_1):
* keymap.c (Faccessible_keymaps):
* keymap.c (Fsingle_key_description):
* keymap.c (raw_keys_to_keys):
* keymap.c (format_raw_keys):
* keymap.c (where_is_recursive_mapper):
* keymap.c (where_is_internal):
* keymap.c (describe_map_mapper_shadow_search):
* keymap.c (keymap_lookup_inherited_mapper):
* keymap.c (describe_map_mapper):
* keymap.h (event_matches_key_specifier_p):
* lisp.h:
* lisp.h (this):
* lisp.h (RETURN_NOT_REACHED):
* lisp.h (struct Lisp_Vector):
* lisp.h (struct Lisp_Bit_Vector):
* lisp.h (UNGCPRO_1):
* lisp.h (NUNGCPRO):
* lisp.h (NNUNGCPRO):
* lisp.h (DECLARE_INLINE_HEADER):
* lrecord.h:
* lrecord.h (struct lrecord_header):
* lrecord.h (struct lcrecord_header):
* lrecord.h (lrecord_type):
* lrecord.h (struct lrecord_implementation):
* lrecord.h (RECORD_DUMPABLE):
* lrecord.h (memory_description_type):
* lrecord.h (data_description_entry_flags):
* lrecord.h (struct memory_description):
* lrecord.h (struct sized_memory_description):
* lrecord.h (XD_INDIRECT):
* lrecord.h (XD_IS_INDIRECT):
* lrecord.h (XD_DYNARR_DESC):
* lrecord.h (DEFINE_BASIC_LRECORD_IMPLEMENTATION):
* lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
* lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION):
* lrecord.h (alloc_lcrecord_type):
* lstream.c:
* lstream.c (Lstream_new):
* lstream.c (lisp_buffer_marker):
* lstream.h:
* lstream.h (lstream_implementation):
* lstream.h (DEFINE_LSTREAM_IMPLEMENTATION):
* lstream.h (DEFINE_LSTREAM_IMPLEMENTATION_WITH_DATA):
* marker.c:
* marker.c (copy_marker_1):
* mem-limits.h:
* menubar-gtk.c:
* menubar-gtk.c (gtk_popup_menu):
* menubar-msw.c:
* menubar-msw.c (mswindows_popup_menu):
* menubar-x.c (make_dummy_xbutton_event):
* menubar-x.c (command_builder_operate_menu_accelerator):
* menubar-x.c (menu_accelerator_safe_compare):
* menubar-x.c (menu_accelerator_safe_mod_compare):
* mule-charset.c:
* mule-charset.c (make_charset):
* mule-charset.c (Fcharset_property):
* mule-coding.c:
* mule-coding.c (ccs_description_1):
* mule-coding.c (ccs_description =):
* mule-coding.c (ccsd_description_1):
* mule-coding.c (ccsd_description =):
* nt.c (getpwnam):
* nt.c (init_mswindows_environment):
* nt.c (get_cached_volume_information):
* nt.c (mswindows_is_executable):
* nt.c (read_unc_volume):
* nt.c (mswindows_access):
* nt.c (mswindows_link):
* nt.c (mswindows_fstat):
* nt.c (mswindows_stat):
* nt.c (mswindows_executable_type):
* nt.c (Fmswindows_short_file_name):
* nt.c (Fmswindows_long_file_name):
* objects-impl.h (struct Lisp_Color_Instance):
* objects-impl.h (struct Lisp_Font_Instance):
* objects-tty.c:
* objects-x.c (allocate_nearest_color):
* objects.c:
* objects.c (Fmake_color_instance):
* objects.c (Fmake_font_instance):
* objects.c (font_instantiate):
* opaque.c:
* opaque.c (make_opaque):
* opaque.c (make_opaque_ptr):
* opaque.c (reinit_opaque_early):
* opaque.c (init_opaque_once_early):
* print.c:
* print.c (printing_badness):
* print.c (printing_major_badness):
* print.c (print_internal):
* print.c (debug_p4):
* print.c (dp):
* print.c (debug_backtrace):
* process-nt.c (nt_create_process):
* process-nt.c (get_internet_address):
* process-unix.c:
* process-unix.c (struct unix_process_data):
* process-unix.c (get_internet_address):
* process-unix.c (unix_alloc_process_data):
* process-unix.c (unix_create_process):
* process-unix.c (try_to_initialize_subtty):
* process-unix.c (unix_kill_child_process):
* process-unix.c (process_type_create_unix):
* process.c:
* process.c (mark_process):
* process.c (MARKED_SLOT):
* process.c (make_process_internal):
* process.c (Fprocess_tty_name):
* process.c (decode_signal):
* process.h:
* procimpl.h:
* procimpl.h (struct process_methods):
* procimpl.h (struct Lisp_Process):
* rangetab.c:
* realpath.c (readlink_and_correct_case):
* redisplay-x.c (x_window_output_end):
* redisplay-x.c (x_redraw_exposed_area):
* redisplay-x.c (x_clear_frame):
* redisplay.c:
* redisplay.h:
* redisplay.h (struct rune_dglyph):
* redisplay.h (struct rune):
* scrollbar.c:
* scrollbar.c (create_scrollbar_instance):
* specifier.c:
* specifier.c (specifier_empty_extra_description_1):
* specifier.c (make_specifier_internal):
* specifier.c (decode_locale_type):
* specifier.c (decode_how_to_add_specification):
* specifier.h:
* specifier.h (struct specifier_methods):
* specifier.h (DEFINE_SPECIFIER_TYPE_WITH_DATA):
* specifier.h (INITIALIZE_SPECIFIER_TYPE_WITH_DATA):
* symbols.c:
* symbols.c (Fsetplist):
* symbols.c (default_value):
* symbols.c (decode_magic_handler_type):
* symbols.c (handler_type_from_function_symbol):
* symbols.c (Fdefvaralias):
* symbols.c (init_symbols_once_early):
* symbols.c (reinit_symbols_early):
* symsinit.h:
* sysdep.c (sys_subshell):
* sysdep.c (tty_init_sys_modes_on_device):
* syswindows.h:
* text.c (dfc_convert_to_external_format):
* text.c (dfc_convert_to_internal_format):
* text.c (reinit_eistring_early):
* text.c (init_eistring_once_early):
* text.c (reinit_vars_of_text):
* text.h:
* text.h (INC_IBYTEPTR_FMT):
* text.h (DEC_IBYTEPTR_FMT):
* toolbar.c:
* toolbar.c (decode_toolbar_position):
* tooltalk.c:
* ui-gtk.c:
* unexnt.c:
* unexnt.c (_start):
* unexnt.c (unexec):
* unexnt.c (get_section_info):
* unicode.c:
* unicode.c (vars_of_unicode):
* window.c:
* window.c (allocate_window):
* window.c (new_window_mirror):
* window.c (update_mirror_internal):
* winslots.h:
author | michaels |
---|---|
date | Sun, 12 Jan 2003 11:08:22 +0000 |
parents | 943eaba38521 |
children |
rev | line source |
---|---|
771 | 1 List of changes in new Mule workspace: |
2 -------------------------------------- | |
3 | |
4 Deleted files: | |
5 | |
6 src/iso-wide.h | |
7 src/mule-charset.h | |
8 src/mule.c | |
9 src/ntheap.h | |
10 src/syscommctrl.h | |
11 lisp/files-nomule.el | |
12 lisp/help-nomule.el | |
13 lisp/mule/mule-help.el | |
14 lisp/mule/mule-init.el | |
15 lisp/mule/mule-misc.el | |
16 nt/config.h | |
17 | |
18 | |
19 Other deleted files, all zero-width and accidentally present: | |
20 | |
21 src/events-mod.h | |
22 tests/Dnd/README.OffiX | |
23 tests/Dnd/dragtest.el | |
24 netinstall/README.xemacs | |
25 lib-src/srcdir-symlink.stamp | |
26 | |
27 New files: | |
28 | |
29 CHANGES-ben-mule | |
30 README.ben-mule-21-5 | |
31 README.ben-separate-stderr | |
32 TODO.ben-mule-21-5 | |
33 etc/TUTORIAL.{cs,es,nl,sk,sl} | |
34 etc/unicode/* | |
35 lib-src/make-mswin-unicode.pl | |
36 lisp/code-init.el | |
37 lisp/resize-minibuffer.el | |
38 lisp/unicode.el | |
39 lisp/mule/china-util.el | |
40 lisp/mule/cyril-util.el | |
41 lisp/mule/devan-util.el | |
42 lisp/mule/devanagari.el | |
43 lisp/mule/ethio-util.el | |
44 lisp/mule/indian.el | |
45 lisp/mule/japan-util.el | |
46 lisp/mule/korea-util.el | |
47 lisp/mule/lao-util.el | |
48 lisp/mule/lao.el | |
49 lisp/mule/mule-locale.txt | |
50 lisp/mule/mule-msw-init.el | |
51 lisp/mule/thai-util.el | |
52 lisp/mule/thai.el | |
53 lisp/mule/tibet-util.el | |
54 lisp/mule/tibetan.el | |
55 lisp/mule/viet-util.el | |
56 src/charset.h | |
57 src/intl-auto-encap-win32.c | |
58 src/intl-auto-encap-win32.h | |
59 src/intl-encap-win32.c | |
60 src/intl-win32.c | |
61 src/intl-x.c | |
62 src/mule-coding.c | |
63 src/text.c | |
64 src/text.h | |
65 src/unicode.c | |
66 src/s/win32-common.h | |
67 src/s/win32-native.h | |
68 | |
69 | |
70 | |
71 gzip support: | |
72 | |
73 -- new coding system `gzip' (bytes -> bytes); unfortunately, not quite | |
74 working yet because it handles only the raw zlib format and not the | |
75 higher-level gzip format (the zlib library is brain-damaged in that it | |
76 provides low-level, stream-oriented API's only for raw zlib, and for | |
77 gzip you have only high-level API's, which aren't useful for xemacs). | |
78 -- configure support (with-zlib). | |
79 | |
80 configure changes: | |
81 | |
82 - file-coding always compiled in. eol detection is off by default on unix, | |
83 non-mule, but can be enabled with configure option | |
84 --with-default-eol-detection or command-line flag -eol. | |
85 - code that selects which files are compiled is mostly moved to | |
86 Makefile.in.in. see comment in Makefile.in.in. | |
87 - vestigial i18n3 code deleted. | |
88 - new cygwin mswin libs imm32 (input methods), mpr (user name enumeration). | |
89 - check for link, symlink. | |
90 - vfork-related code deleted. | |
91 - fix configure.usage. (delete --with-file-coding, --no-doc-file, add | |
92 --with-default-eol-detection, --quick-build). | |
93 - nt/config.h has been eliminated and everything in it merged into | |
94 config.h.in and s/windowsnt.h. see config.h.in for more info. | |
95 - massive rewrite of s/windowsnt.h, m/windowsnt.h, s/cygwin32.h, | |
96 s/mingw32.h. common code moved into s/win32-common.h, s/win32-native.h. | |
97 - in nt/xemacs.mak,config.inc.samp, variable is called MULE, not HAVE_MULE, | |
98 for consistency with sources. | |
99 - define TABDLY, TAB3 in freebsd.h (#### from where?) | |
100 | |
101 Tutorial: | |
102 | |
103 - massive rewrite; sync to FSF 21.0.106, switch focus to window systems, | |
104 new sections on terminology and multiple frames, lots of fixes for | |
105 current xemacs idioms. | |
106 - german version from Adrian mostly matching my changes. | |
107 - copy new tutorials from FSF (Spanish, Dutch, Slovak, Slovenian, Czech); | |
108 not updated yet though. | |
109 - eliminate help-nomule.el and mule-help.el; merge into one single tutorial | |
110 function, fix lots of problems, put back in help.el where it belongs. | |
111 (there was some random junk in help-nomule -- string-width and make-char. | |
112 string-width is now in subr.el with a single definition, and make-char in | |
113 text.c.) | |
114 | |
115 Sample init file: | |
116 | |
117 - remove forward/backward buffer code, since it's now standard. | |
118 - when disabling C-x C-c, make it display a message saying how to exit, not | |
119 just beep and complain "undefined". | |
120 | |
121 Key bindings: (keymap.c, keydefs.el, help.el, etc.) | |
122 | |
123 - M-home, M-end now move forward and backward in buffers; with Shift, stay | |
124 within current group (e.g. all C files; same grouping as the gutter | |
125 tabs). (bindings switch-to-{next/previous}-buffer[-in-group] in files.el) | |
126 - needed to move code from gutter-items.el to buff-menu.el that's used by | |
127 these bindings, since gutter-items.el is loaded only when the gutter is | |
128 active and these bindings (and hence the code) is not (any more) gutter | |
129 specific. | |
130 - new global vars global-tty-map and global-window-system-map specify key | |
131 bindings for use only on TTY's or window systems, respectively. this is | |
132 used to make ESC ESC be keyboard-quit on window systems, but ESC ESC ESC | |
133 on TTY's, where Meta + arrow keys may appear as ESC ESC O A or whatever. | |
134 C-z on window systems is now zap-up-to-char, and iconify-frame is moved | |
135 to C-Z. ESC ESC is isearch-quit. (isearch-mode.el) | |
136 - document global-{tty,window-system}-map in various places; display them | |
137 when you do C-h b. | |
138 - fix up function documentation in general for keyboard primitives. | |
139 e.g. key-bindings now contains a detailed section on the steps prior to | |
140 looking up in keymaps, i.e. function-key-map, | |
141 keyboard-translate-table. etc. define-key and other obvious starting | |
142 points indicate where to look for more info. | |
143 - eliminate use and mention of grody advertised-undo and | |
144 deprecated-help. (simple.el, startup.el, picture.el, menubar-items.el) | |
145 | |
146 gnuclient, gnuserv: | |
147 | |
148 - clean up headers a bit. | |
149 - use proper ms win idiom for checking for temp directory (TEMP or TMP, not | |
150 TMPDIR). | |
151 | |
152 throughout XEmacs sources: | |
153 | |
154 - all #ifdef FILE_CODING statements removed from code. | |
155 | |
156 I/O: | |
157 | |
158 - use PATH_MAX consistently instead of MAXPATHLEN, MAX_PATH, etc. | |
159 - all code that does preprocessor games with C lib I/O functions (open, | |
160 read) has been removed. The code has been changed to call the correct | |
161 function directly. Functions that accept Intbyte * arguments for | |
162 filenames and such and do automatic conversion to or from external format | |
163 will be prefixed qxe...(). Functions that are retrying in case of EINTR | |
164 are prefixed retry_...(). DONT_ENCAPSULATE is long-gone. | |
165 - never call getcwd() any more. use our shadowed value always. | |
166 | |
167 Strings: | |
168 | |
169 - new qxe() string functions that accept Intbyte * as arguments. These | |
170 work exactly like the standard strcmp(), strcpy(), sprintf(), etc. except | |
171 for the argument declaration differences. We use these whenever we have | |
172 Intbyte * strings, which is quite often. | |
173 - new fun build_intstring() takes an Intbyte *. also new funs | |
174 build_msg_intstring (like build_intstring()) and build_msg_string (like | |
175 build_string()) to do a GETTEXT() before building the | |
176 string. (elimination of old build_translated_string(), replaced by | |
177 build_msg_string()). | |
178 - the doprnt.c external entry points have been completely rewritten to be | |
179 more useful and have more sensible names. We now have, for example, | |
180 versions that work exactly like sprintf() but return a malloc()ed string. | |
181 - function intern_int() for Intbyte * arguments, like intern(). | |
182 - numerous places throughout code where char * replaced with something | |
183 else, e.g. Char_ASCII *, Intbyte *, Char_Binary *, etc. same with | |
184 unsigned char *, going to UChar_Binary *, etc. | |
185 - code in print.c that handles stdout, stderr rewritten. | |
186 - places that print to stderr directly replaced with stderr_out(). | |
187 - new convenience functions write_fmt_string(), write_fmt_string_lisp(), stderr_out_lisp(), write_string(). | |
188 | |
189 Allocation, Objects, Lisp Interpreter: | |
190 | |
191 - automatically use "managed lcrecord" code when allocating. any lcrecord | |
192 can be put on a free list with free_lcrecord(). | |
193 - record_unwind_protect() returns the old spec depth. | |
194 - unbind_to() now takes only one arg. use unbind_to_1() if you want the | |
195 2-arg version, with GC protection of second arg. | |
196 - new funs to easily inhibit GC. ({begin,end}_gc_forbidden()) use them in | |
197 places where gc is currently being inhibited in a more ugly fashion. | |
198 also, we disable GC in certain strategic places where string data is | |
199 often passed in, e.g. dfc functions, print functions. | |
200 - major improvements to eistring code, fleshing out of missing funs. | |
201 - make_buffer() -> wrap_buffer() for consistency with other objects; same | |
202 for make_frame() -> wrap_frame() and make_console() -> wrap_console(). | |
203 - better documentation in condition-case. | |
204 - new convenience funs record_unwind_protect_freeing() and | |
205 record_unwind_protect_freeing_dynarr() for conveniently setting up an | |
206 unwind-protect to xfree() or Dynarr_free() a pointer. | |
207 | |
208 Init code: | |
209 | |
210 - lots of init code rewritten to be mule-correct. | |
211 | |
212 Processes: | |
213 | |
214 - always call egetenv(), never getenv(), for mule correctness. | |
215 | |
216 s/m files: | |
217 | |
218 - removal of unused DATA_END, TEXT_END, SYSTEM_PURESIZE_EXTRA, HAVE_ALLOCA | |
219 (automatically determined) | |
220 - removal of vfork references (we no longer use vfork) | |
221 | |
222 | |
223 make-docfile: | |
224 | |
225 - clean up headers a bit. | |
226 - allow .obj to mean equivalent .c, just like for .o. | |
227 - allow specification of a "response file" (a command-line argument | |
228 beginning with @, specifying a file containing further command-line | |
229 arguments) -- a standard mswin idiom to avoid potential command-line | |
230 limits and to simplify makefiles. use this in xemacs.mak. | |
231 | |
232 debug support: | |
233 | |
234 - (cmdloop.el) new var breakpoint-on-error, which breaks into the C | |
235 debugger when an unhandled error occurs noninteractively. useful when | |
236 debugging errors coming out of complicated make scripts, e.g. package | |
237 compilation, since you can set this through an env var. | |
238 - (startup.el) new env var XEMACSDEBUG, specifying a Lisp form executed | |
239 early in the startup process; meant to be used for turning on debug flags | |
240 such as breakpoint-on-error or stack-trace-on-error, to track down | |
241 noninteractive errors. | |
242 - (cmdloop.el) removed non-working code in command-error to display a | |
243 backtrace on debug-on-error. use stack-trace-on-error instead to get | |
244 this. | |
245 - (process.c) new var debug-process-io displays data sent to and received | |
246 from a process. | |
247 - (alloc.c) staticpros have name stored with them for easier debugging. | |
248 - (emacs.c) code that handles fatal errors consolidated and rewritten. | |
249 much more robust and correctly handles all fatal exits on mswin | |
250 (e.g. aborts, not previously handled right). | |
251 | |
252 command line (startup.el, emacs.c): | |
253 | |
254 - new option -eol to enable auto EOL detection under non-mule unix. | |
255 - new option -nuni (--no-unicode-lib-calls) to force use of non-Unicode | |
256 API's under Windows NT, mostly for debugging purposes. | |
257 - help message fixed up (divided into sections), existing problem causing | |
258 incomplete output fixed, undocumented options documented. | |
259 | |
260 startup.el: | |
261 | |
262 - move init routines from before-init-hook or after-init-hook; just call | |
263 them directly (init-menubar-at-startup, init-mule-at-startup). | |
264 | |
265 frame.el: | |
266 | |
267 - delete old commented-out code. | |
268 | |
269 Mule changes: | |
270 | |
271 Major: | |
272 | |
273 - the code that handles the details of processing multilingual text has | |
274 been consolidated to make it easier to extend it. it has been yanked out | |
275 of various files (buffer.h, mule-charset.h, lisp.h, insdel.c, fns.c, | |
276 file-coding.c, etc.) and put into text.c and text.h. mule-charset.h has | |
277 also been renamed charset.h. all long comments concerning the | |
278 representations and their processing have been consolidated into text.c. | |
279 - major rewriting of file-coding. it's mostly abstracted into coding | |
280 systems that are defined by methods (similar to devices and | |
281 specifiers), with the ultimate aim being to allow non-i18n coding | |
282 systems such as gzip. there is a "chain" coding system that allows | |
283 multiple coding systems to be chained together. (it doesn't yet | |
284 have the concept that either end of a coding system can be bytes or | |
285 chars; this needs to be added.) | |
286 - large amounts of code throughout the code base have been Mule-ized, | |
287 not just Windows code. | |
288 - total rewriting of OS locale code. it notices your locale at startup and | |
289 sets the language environment accordingly, and calls setlocale() and sets | |
290 LANG when you change the language environment. new language environment | |
291 properties locale, mswindows-locale, cygwin-locale, native-coding-system, | |
292 to determine langenv from locale and vice-versa; fix all language | |
293 environments (lots of language files). langenv startup code rewritten. | |
294 many new functions to convert between locales, language environments, | |
295 etc. | |
296 - major overhaul of the way default values for the various coding system | |
297 variables are handled. all default values are collected into one | |
298 location, a new file code-init.el, which provides a unified mechanism for | |
299 setting and querying what i call "basic coding system variables" (which | |
300 may be aliases, parts of conses, etc.) and a mechanism of different | |
301 configurations (Windows w/Mule, Windows w/o Mule, Unix w/Mule, Unix w/o | |
302 Mule, unix w/o Mule but w/auto EOL), each of which specifies a set of | |
303 default values. we determine the configuration at startup and set all | |
304 the values in one place. (code-init.el, code-files.el, coding.el, ...) | |
305 - i copied the remaining language-specific files from fsf. i made | |
306 some minor changes in certain cases but for the most part the stuff | |
307 was just copied and may not work. | |
308 - ms windows mule support, with full unicode support. required font, | |
309 redisplay, event, other changes. ime support from ikeyama. | |
310 | |
311 User-Visible Changes: | |
312 | |
313 Lisp-Visible Changes: | |
314 | |
315 - ensure that `escape-quoted' works correctly even without Mule support and | |
316 use it for all auto-saves. (auto-save.el, fileio.c, coding.el, files.el) | |
317 - new var buffer-file-coding-system-when-loaded specifies the actual coding | |
318 system used when the file was loaded (buffer-file-coding-system is | |
319 usually the same, but may be changed because it controls how the file is | |
320 written out). use it in revert-buffer (files.el, code-files.el) and in | |
321 new submenu File->Revert Buffer with Specified Encoding | |
322 (menubar-items.el). | |
323 - improve docs on how the coding system is determined when a file is read | |
324 in; improved docs are in both find-file and insert-file-contents and a | |
325 reference to where to find them is in | |
326 buffer-file-coding-system-for-read. (files.el, code-files.el) | |
327 - new (brain-damaged) FSF way of calling post-read-conversion (only one | |
328 arg, not two) is supported, along with our two-argument way, as best we | |
329 can. (code-files.el) | |
330 - add inexplicably missing var default-process-coding-system. use it. get | |
331 rid of former hacked-up way of setting these defaults using | |
332 comint-exec-hook. also fun | |
333 set-buffer-process-coding-system. (code-process.el, code-cmds.el, process.c) | |
334 - remove function set-default-coding-systems; replace with | |
335 set-default-output-coding-systems, which affects only the output defaults | |
336 (buffer-file-coding-system, output half of | |
337 default-process-coding-system). the input defaults should not be set by | |
338 this because they should always remain `undecided' in normal | |
339 circumstances. fix prefer-coding-system to use the new function and | |
340 correct its docs. | |
341 - fix bug in coding-system-change-eol-conversion (code-cmds.el) | |
342 - recognize all eol types in prefer-coding-system (code-cmds.el) | |
343 - rewrite coding-system-category to be correct (coding.el) | |
344 | |
345 Internal Changes: | |
346 | |
347 - Separate encoding and decoding lstreams have been combined into a single | |
348 coding lstream. Functions make_encoding_*_stream and | |
349 make_decoding_*_stream have been combined into make_coding_*_stream, | |
350 which takes an argument specifying whether encode or decode is wanted. | |
351 - remove last vestiges of I18N3, I18N4 code. | |
352 - ascii optimization for strings: we keep track of the number of ascii | |
353 chars at the beginning and use this to optimize byte<->char conversion on | |
354 strings. | |
355 - mule-misc.el, mule-init.el deleted; code in there either deleted, | |
356 rewritten, or moved to another file. | |
357 - mule.c deleted. | |
358 - move non-Mule-specific code out of mule-cmds.el into code-cmds.el. (coding-system-change-text-conversion; remove duplicate coding-system-change-eol-conversion) | |
359 - remove duplicate set-buffer-process-coding-system (code-cmds.el) | |
360 - add some commented-out code from FSF mule-cmds.el | |
361 (find-coding-systems-region-subset-p, find-coding-systems-region, | |
362 find-coding-systems-string, find-coding-systems-for-charsets, | |
363 find-multibyte-characters, last-coding-system-specified, | |
364 select-safe-coding-system, select-message-coding-system) (code-cmds.el) | |
365 - remove obsolete alias pathname-coding-system, function set-pathname-coding-system (coding.el) | |
366 - remove coding-system property doc-string; split into `description' | |
367 (short, for menu items) and `documentation' (long); correct coding system | |
368 defns (coding.el, file-coding.c, lots of language files) | |
369 - move coding-system-base into C and make use of internal info (coding.el, file-coding.c) | |
370 - move undecided defn into C (coding.el, file-coding.c) | |
371 - use define-coding-system-alias, not copy-coding-system (coding.el) | |
372 - new coding system iso-8859-6 for arabic | |
373 - delete windows-1251 support from cyrillic.el; we do it automatically | |
374 - remove setup-*-environment as per FSF 21 | |
375 - rewrite european.el with lang envs for each language, so we can specify the locale | |
376 - fix corruption in greek.el | |
377 - sync japanese.el with FSF 20.6 | |
378 - fix warnings in mule-ccl.el | |
379 - move FSF compat Mule fns from obsolete.el to mule-charset.el | |
380 - eliminate unused truncate-string{-to-width} | |
381 - make-coding-system accepts (but ignores) the additional properties | |
382 present in the fsf version, for compatibility. | |
383 - i fixed the iso2022 handling so it will correctly read in files | |
384 containing unknown charsets, creating a "temporary" charset which | |
385 can later be overwritten by the real charset when it's defined. | |
386 this allows iso2022 elisp files with literals in strange languages | |
387 to compile correctly under mule. i also added a hack that will | |
388 correctly read in and write out the emacs-specific "composition" | |
389 escape sequences, i.e. ESC 0 through ESC 4. this means that my | |
390 workspace correctly compiles the new file devanagari.el that i added. | |
391 - elimination of string-to-char-list (use string-to-list) | |
392 - elimination of junky define-charset | |
393 | |
394 Search: | |
395 | |
396 - make regex routines reentrant, since they're sometimes called | |
397 reentrantly. (see regex.c for a description of how.) all global variables | |
398 used by the regex routines get pushed onto a stack by the callers before | |
399 being set, and are restored when finished. redo the preprocessor flags | |
400 controlling REL_ALLOC in conjunction with this. | |
401 | |
402 Selection: | |
403 | |
404 - fix msw selection code for Mule. proper encoding for | |
405 RegisterClipboardFormat. store selection as CF_UNICODETEXT, which will | |
406 get converted to the other formats. don't respond to destroy messages | |
407 from EmptyClipboard(). | |
408 | |
409 Menubar: | |
410 | |
411 - move menu-splitting code (menu-split-long-menu, etc.) from font-menu.el | |
412 to menubar-items.el and redo its algorithm; use in various items with | |
413 long generated menus; rename to remove `font-' from beginning of | |
414 functions but keep old names as aliases | |
415 - new fn menu-sort-menu | |
416 - new items Open With Specified Encoding, Revert Buffer with Specified Encoding | |
417 - split Mule menu into Encoding (non-Mule-specific; includes new item to | |
418 control EOL auto-detection) and International submenus on Options, | |
419 International on Help | |
420 - redo items Grep All Files in Current Directory {and Below} using stuff | |
421 from sample init.el | |
422 - Debug on Error and friends now affect current session only; not saved | |
423 - maybe-add-init-button -> init-menubar-at-startup and call explicitly from startup.el | |
424 - don't use charset-registry in msw-font-menu.el; it's only for X | |
425 | |
426 Process: | |
427 | |
428 - Move setenv from packages; synch setenv/getenv with 21.0.105 | |
429 | |
430 Unicode support: | |
431 | |
432 - translation tables added in etc/unicode | |
433 - new files unicode.c, unicode.el containing unicode coding systems and | |
434 support; old code ripped out of file-coding.c | |
435 - translation tables read in at startup (NEEDS WORK TO MAKE IT MORE EFFICIENT) | |
436 - support CF_TEXT, CF_UNICODETEXT in select.el | |
437 - encapsulation code added so that we can support both Windows 9x and NT in | |
438 a single executable, determining at runtime whether to call the Unicode | |
439 or non-Unicode API. encapsulated routines in intl-encap-win32.c | |
440 (non-auto-generated) and intl-auto-encap-win32.[ch] (auto-generated). | |
441 code generator in lib-src/make-mswin-unicode.pl. changes throughout the | |
442 code to use the wide structures (W suffix) and call the encapsulated | |
443 Win32 API routines (qxe prefix). calling code needs to do proper | |
444 conversion of text using new coding systems Qmswindows_tstr, | |
445 Qmswindows_unicode, or Qmswindows_multibyte. (the first points to one of | |
446 the other two.) | |
447 | |
448 | |
449 File-coding rewrite: | |
450 | |
451 The coding system code has been majorly rewritten. It's abstracted into | |
452 coding systems that are defined by methods (similar to devices and | |
453 specifiers). The types of conversions have also been | |
454 generalized. Formerly, decoding always converted bytes to characters and | |
455 encoding the reverse (these are now called "text file converters"), but | |
456 conversion can now happen either to or from bytes or characters. This | |
457 allows coding systems such as `gzip' and `base64' to be written. When | |
458 specifying such a coding system to an operation that expects a text file | |
459 converter (such as reading in or writing out a file), the appropriate | |
460 coding systems to convert between bytes and characters are automatically | |
461 inserted into the conversion chain as necessary. To facilitate creating | |
462 such chains, a special coding system called "chain" has been created, which | |
463 chains together two or more coding systems. | |
464 | |
465 Encoding detection has also been abstracted. Detectors are logically | |
466 separate from coding systems, and each detector defines one or more | |
467 categories. (For example, the detector for Unicode defines categories such | |
468 as UTF-8, UTF-16, UCS-4, and UTF-7.) When a particular detector is given a | |
469 piece of text to detect, it determines likeliness values (seven of them, | |
470 from 3 [most likely] to -3 [least likely]; specific criteria are defined | |
471 for each possible value). All detectors are run in parallel on a | |
472 particular piece of text, and the results tabulated together to determine | |
473 the actual encoding of the text. | |
474 | |
475 Encoding and decoding are now completely parallel operations, and the | |
476 former "encoding" and "decoding" lstreams have been combined into a single | |
477 "coding" lstream. Coding system methods that were formerly split in such a | |
478 fashion have also been combined. | |
479 |