annotate lisp/menubar-items.el @ 2720:6fa9919a9a0b

[xemacs-hg @ 2005-04-08 23:10:01 by crestani] ChangeLog addition: 2005-04-01  Marcus Crestani  <crestani@xemacs.org>         The new allocator.         New configure flag: `MC_ALLOC':         * configure.ac (XE_COMPLEX_ARG_ENABLE): Add `--enable-mc-alloc' as         a new configure flag.         * configure.in (AC_INIT_PARSE_ARGS): Add `--mc-alloc' as a new         configure flag.         * configure.usage: Add description for `mc-alloc'.         DUMP_IN_EXEC:         * Makefile.in.in: Condition the installation of a separate dump         file on !DUMP_ON_EXEC.         * configure.ac (XE_COMPLEX_ARG_ENABLE): Add         `--enable-dump-in-exec' as a new configure flag.         * configure.ac: DUMP_IN_EXEC is define as default for PDUMP but         not default for MC_ALLOC.         * configure.in (AC_INIT_PARSE_ARGS): Add `--dump-in-exec' as a         new configure flag.         * configure.in: DUMP_IN_EXEC is define as default for PDUMP but         not default for MC_ALLOC.         * configure.usage: Add description for `dump-in-exec'. lib-src/ChangeLog addition: 2005-04-01  Marcus Crestani  <crestani@xemacs.org>         The new allocator.         DUMP_IN_EXEC:                  * Makefile.in.in: Only compile insert-data-in-exec if         DUMP_IN_EXEC is defined. lisp/ChangeLog addition: 2005-04-01  Marcus Crestani  <crestani@xemacs.org>         The new allocator.         MEMORY_USAGE_STATS         * diagnose.el: Add new lisp function to pretty print statistics         about the new allocator.         * diagnose.el (show-mc-alloc-memory-usage): New. modules/ChangeLog addition: 2005-04-01  Marcus Crestani  <crestani@xemacs.org>         The new allocator.         Remove Lcrecords:                  * postgresql/postgresql.c (allocate_pgconn): Allocate with new         allocator.         * postgresql/postgresql.c (allocate_pgresult): Allocate PGresult         with new allocator.           * postgresql/postgresql.h (struct Lisp_PGconn): Add         lrecord_header.         * postgresql/postgresql.h (struct Lisp_PGresult): Add         lrecord_header.         * ldap/eldap.c (allocate_ldap): Allocate with new allocator.         * ldap/eldap.h (struct Lisp_LDAP): Add lrecord_header. nt/ChangeLog addition: 2005-04-01  Marcus Crestani  <crestani@xemacs.org>         The new allocator.         New configure flag: `MC_ALLOC':         * config.inc.samp: Add new flag `MC_ALLOC'.         * xemacs.mak: Add flag and configuration output for `MC_ALLOC'.         New files:         * xemacs.dsp: Add source files mc-alloc.c and mc-alloc.h.         * xemacs.mak: Add new object file mc-alloc.obj to dependencies. src/ChangeLog addition: 2005-04-01  Marcus Crestani  <crestani@xemacs.org>         The new allocator.         New configure flag: `MC_ALLOC':         * config.h.in: Add new flag `MC_ALLOC'.         New files:         * Makefile.in.in: Add new object file mc-alloc.o.         * depend: Add new files to dependencies.         * mc-alloc.c: New.         * mc-alloc.h: New.         Running the new allocator from XEmacs:         * alloc.c (deadbeef_memory): Moved to mc-alloc.c.         * emacs.c (main_1): Initialize the new allocator and add         syms_of_mc_alloc.         * symsinit.h: Add syms_of_mc_alloc.         New lrecord allocation and free functions:         * alloc.c (alloc_lrecord): New. Allocates an lrecord, includes         type checking and initializing of the lrecord_header.         * alloc.c (noseeum_alloc_lrecord): Same as above, but increments         the NOSEEUM cons counter.         * alloc.c (free_lrecord): New. Calls the finalizer and frees the         lrecord.         * lrecord.h: Add lrecord allocation prototypes and comments.         Remove old lrecord FROB block allocation:                  * alloc.c (allocate_lisp_storage): Former function to expand         heap. Not needed anymore, remove.         * alloc.c: Completely remove `Fixed-size type macros'         * alloc.c (release_breathing_space): Remove.         * alloc.c (memory_full): Remove release_breathing_space.         * alloc.c (refill_memory_reserve): Remove.         * alloc.c (TYPE_ALLOC_SIZE): Remove.         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Remove.         * alloc.c (ALLOCATE_FIXED_TYPE_FROM_BLOCK): Remove.         * alloc.c (ALLOCATE_FIXED_TYPE_1): Remove.         * alloc.c (ALLOCATE_FIXED_TYPE): Remove.         * alloc.c (NOSEEUM_ALLOCATE_FIXED_TYPE): Remove.         * alloc.c (struct Lisp_Free): Remove.         * alloc.c (LRECORD_FREE_P): Remove.         * alloc.c (MARK_LRECORD_AS_FREE): Remove.         * alloc.c (MARK_LRECORD_AS_NOT_FREE): Remove.         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Remove.         * alloc.c (FREE_FIXED_TYPE): Remove.         * alloc.c (FREE_FIXED_TYPE_WHEN_NOT_IN_GC): Remove.         Allocate old lrecords with new allocator:                  * alloc.c: DECLARE_FIXED_TYPE_ALLOC removed for all lrecords         defined in alloc.c.         * alloc.c (Fcons): Allocate with new allocator.         * alloc.c (noseeum_cons): Allocate with new allocator.         * alloc.c (make_float): Allocate with new allocator.         * alloc.c (make_bignum): Allocate with new allocator.         * alloc.c (make_bignum_bg): Allocate with new allocator.         * alloc.c (make_ratio): Allocate with new allocator.         * alloc.c (make_ratio_bg): Allocate with new allocator.         * alloc.c (make_ratio_rt): Allocate with new allocator.         * alloc.c (make_bigfloat): Allocate with new allocator.         * alloc.c (make_bigfloat_bf): Allocate with new allocator.         * alloc.c (make_compiled_function): Allocate with new allocator.         * alloc.c (Fmake_symbol): Allocate with new allocator.         * alloc.c (allocate_extent): Allocate with new allocator.         * alloc.c (allocate_event): Allocate with new allocator.         * alloc.c (make_key_data): Allocate with new allocator.         * alloc.c (make_button_data): Allocate with new allocator.         * alloc.c (make_motion_data): Allocate with new allocator.         * alloc.c (make_process_data): Allocate with new allocator.         * alloc.c (make_timeout_data): Allocate with new allocator.         * alloc.c (make_magic_data): Allocate with new allocator.         * alloc.c (make_magic_eval_data): Allocate with new allocator.         * alloc.c (make_eval_data): Allocate with new allocator.         * alloc.c (make_misc_user_data): Allocate with new allocator.         * alloc.c (Fmake_marker): Allocate with new allocator.         * alloc.c (noseeum_make_marker): Allocate with new allocator.         * alloc.c (make_uninit_string): Allocate with new allocator.         * alloc.c (resize_string): Allocate with new allocator.         * alloc.c (make_string_nocopy): Allocate with new allocator.         Garbage Collection:         * alloc.c (GC_CHECK_NOT_FREE): Remove obsolete assertions.         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove.         * alloc.c (SWEEP_FIXED_TYPE_BLOCK_1): Remove.         * alloc.c (sweep_conses): Remove.         * alloc.c (free_cons): Use new allocator to free.         * alloc.c (sweep_compiled_functions): Remove.         * alloc.c (sweep_floats): Remove.         * alloc.c (sweep_bignums): Remove.         * alloc.c (sweep_ratios): Remove.         * alloc.c (sweep_bigfloats): Remove.         * alloc.c (sweep_symbols): Remove.         * alloc.c (sweep_extents): Remove.         * alloc.c (sweep_events): Remove.         * alloc.c (sweep_key_data): Remove.         * alloc.c (free_key_data): Use new allocator to free.         * alloc.c (sweep_button_data): Remove.         * alloc.c (free_button_data): Use new allocator to free.         * alloc.c (sweep_motion_data): Remove.         * alloc.c (free_motion_data): Use new allocator to free.         * alloc.c (sweep_process_data): Remove.         * alloc.c (free_process_data): Use new allocator to free.         * alloc.c (sweep_timeout_data): Remove.         * alloc.c (free_timeout_data): Use new allocator to free.         * alloc.c (sweep_magic_data): Remove.         * alloc.c (free_magic_data): Use new allocator to free.         * alloc.c (sweep_magic_eval_data): Remove.         * alloc.c (free_magic_eval_data): Use new allocator to free.         * alloc.c (sweep_eval_data): Remove.         * alloc.c (free_eval_data): Use new allocator to free.         * alloc.c (sweep_misc_user_data): Remove.         * alloc.c (free_misc_user_data): Use new allocator to free.         * alloc.c (sweep_markers): Remove.         * alloc.c (free_marker): Use new allocator to free.         * alloc.c (garbage_collect_1): Remove release_breathing_space.         * alloc.c (gc_sweep): Remove all the old lcrecord and lrecord         related stuff. Sweeping now works like this: compact string         chars, finalize, sweep.         * alloc.c (common_init_alloc_early): Remove old lrecord         initializations, remove breathing_space.         * emacs.c (Fdump_emacs): Remove release_breathing_space.         * lisp.h: Remove prototype for release_breathing_space.         * lisp.h: Adjust the special cons mark makros.         Lrecord Finalizer:         * alloc.c: Add finalizer to lrecord definition.         * alloc.c (finalize_string): Add finalizer for string.         * bytecode.c: Add finalizer to lrecord definition.         * bytecode.c (finalize_compiled_function): Add finalizer for         compiled function.         * marker.c: Add finalizer to lrecord definition.         * marker.c (finalize_marker): Add finalizer for marker.         These changes build the interface to mc-alloc:         * lrecord.h (MC_ALLOC_CALL_FINALIZER): Tell mc-alloc how to         finalize lrecords.         * lrecord.h (MC_ALLOC_CALL_FINALIZER_FOR_DISKSAVE): Tell         mc-alloc how to finalize for disksave.         Unify lrecords and lcrecords:         * lisp.h (struct Lisp_String): Adjust string union hack to         new lrecord header.         * lrecord.h: Adjust comments.         * lrecord.h (struct lrecord_header): The new lrecord header         includes type, lisp-readonly, free, and uid.         * lrecord.h (set_lheader_implementation): Adjust to new         lrecord_header.         * lrecord.h (struct lrecord_implementation): The field basic_p         for indication of an old lrecord is not needed anymore, remove.         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION): Remove basic_p.         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Remove         basic_p.         * lrecord.h (copy_sized_lrecord): Remove distinction between         old lrecords and lcrecords.         * lrecord.h (copy_lrecord): Remove distinction between old         lrecords and lcrecords.         * lrecord.h (zero_sized_lrecord): Remove distinction between         old lrecords and lcrecords.         * lrecord.h (zero_lrecord): Remove distinction between old         lrecords and lcrecords.         Remove lcrecords and lcrecord lists:         * alloc.c (basic_alloc_lcrecord): Not needed anymore, remove.         * alloc.c (very_old_free_lcrecord): Not needed anymore, remove.         * alloc.c (copy_lisp_object): No more distinction between         lrecords and lcrecords.         * alloc.c (all_lcrecords): Not needed anymore, remove.         * alloc.c (make_vector_internal): Allocate as lrecord.         * alloc.c (make_bit_vector_internal): Allocate as lrecord.         * alloc.c: Completely remove `lcrecord lists'.         * alloc.c (free_description): Remove.         * alloc.c (lcrecord_list_description): Remove.         * alloc.c (mark_lcrecord_list): Remove.         * alloc.c (make_lcrecord_list): Remove.         * alloc.c (alloc_managed_lcrecord): Remove.         * alloc.c (free_managed_lcrecord): Remove.         * alloc.c (alloc_automanaged_lcrecord): Remove.         * alloc.c (free_lcrecord): Remove.         * alloc.c (lcrecord_stats): Remove.         * alloc.c (tick_lcrecord_stats): Remove.         * alloc.c (disksave_object_finalization_1): Add call to         mc_finalize_for_disksave. Remove the lcrecord way to visit all         objects.         * alloc.c (kkcc_marking): Remove XD_FLAG_FREE_LISP_OBJECT         * alloc.c (sweep_lcrecords_1): Remove.         * alloc.c (common_init_alloc_early): Remove everything related         to lcrecords, remove old lrecord initializations,         * alloc.c (init_lcrecord_lists): Not needed anymore, remove.         * alloc.c (reinit_alloc_early): Remove everything related to         lcrecords.         * alloc.c (init_alloc_once_early): Remove everything related to         lcrecords.         * buffer.c (allocate_buffer): Allocate as lrecord.         * buffer.c (nuke_all_buffer_slots): Use lrecord functions.         * buffer.c (common_init_complex_vars_of_buffer): Allocate as         lrecord.         * buffer.h (struct buffer): Add lrecord_header.         * casetab.c (allocate_case_table): Allocate as lrecord.         * casetab.h (struct Lisp_Case_Table): Add lrecord_header.         * charset.h (struct Lisp_Charset): Add lrecord_header.         * chartab.c (fill_char_table): Use lrecord functions.         * chartab.c (Fmake_char_table): Allocate as lrecord.         * chartab.c (make_char_table_entry): Allocate as lrecord.         * chartab.c (copy_char_table_entry): Allocate as lrecord.         * chartab.c (Fcopy_char_table): Allocate as lrecord.         * chartab.c (put_char_table): Use lrecord functions.         * chartab.h (struct Lisp_Char_Table_Entry): Add lrecord_header.         * chartab.h (struct Lisp_Char_Table): Add lrecord_header.         * console-impl.h (struct console): Add lrecord_header.         * console-msw-impl.h (struct Lisp_Devmode): Add lrecord_header.         * console-msw-impl.h (struct mswindows_dialog_id): Add         lrecord_header.         * console.c (allocate_console): Allocate as lrecord.         * console.c (nuke_all_console_slots): Use lrecord functions.         * console.c (common_init_complex_vars_of_console): Allocate as         lrecord.         * data.c (make_weak_list): Allocate as lrecord.         * data.c (make_weak_box): Allocate as lrecord.         * data.c (make_ephemeron): Allocate as lrecord.         * database.c (struct Lisp_Database): Add lrecord_header.         * database.c (allocate_database): Allocate as lrecord.         * device-impl.h (struct device): Add lrecord_header.         * device-msw.c (allocate_devmode): Allocate as lrecord.         * device.c (nuke_all_device_slots): Use lrecord functions.         * device.c (allocate_device): Allocate as lrecord.         * dialog-msw.c (handle_question_dialog_box): Allocate as lrecord.         * elhash.c (struct Lisp_Hash_Table): Add lrecord_header.         * elhash.c (make_general_lisp_hash_table): Allocate as lrecord.         * elhash.c (Fcopy_hash_table): Allocate as lrecord.         * event-stream.c: Lcrecord lists Vcommand_builder_free_list and         Vtimeout_free_list are no longer needed. Remove.         * event-stream.c (allocate_command_builder): Allocate as lrecord.         * event-stream.c (free_command_builder): Use lrecord functions.         * event-stream.c (event_stream_generate_wakeup): Allocate as         lrecord.         * event-stream.c (event_stream_resignal_wakeup): Use lrecord         functions.         * event-stream.c (event_stream_disable_wakeup): Use lrecord         functions.         * event-stream.c (reinit_vars_of_event_stream): Lcrecord lists         remove.         * events.h (struct Lisp_Timeout): Add lrecord_header.         * events.h (struct command_builder): Add lrecord_header.         * extents-impl.h (struct extent_auxiliary): Add lrecord_header.         * extents-impl.h (struct extent_info): Add lrecord_header.         * extents.c (allocate_extent_auxiliary): Allocate as lrecord.         * extents.c (allocate_extent_info): Allocate as lrecord.         * extents.c (copy_extent): Allocate as lrecord.         * faces.c (allocate_face): Allocate as lrecord.         * faces.h (struct Lisp_Face): Add lrecord_header.         * file-coding.c (allocate_coding_system): Allocate as lrecord.         * file-coding.c (Fcopy_coding_system): Allocate as lrecord.         * file-coding.h (struct Lisp_Coding_System): Add lrecord_header.         * fns.c (Ffillarray): Allocate as lrecord.         * frame-impl.h (struct frame): Add lrecord_header.         * frame.c (nuke_all_frame_slots): Use lrecord functions.         * frame.c (allocate_frame_core): Allocate as lrecord.         * glyphs.c (allocate_image_instance): Allocate as lrecord.         * glyphs.c (Fcolorize_image_instance): Allocate as lrecord.         * glyphs.c (allocate_glyph): Allocate as lrecord.         * glyphs.h (struct Lisp_Image_Instance): Add lrecord_header.         * glyphs.h (struct Lisp_Glyph): Add lrecord_header.         * gui.c (allocate_gui_item): Allocate as lrecord.         * gui.h (struct Lisp_Gui_Item): Add lrecord_header.         * keymap.c (struct Lisp_Keymap): Add lrecord_header.         * keymap.c (make_keymap): Allocate as lrecord.         * lisp.h (struct Lisp_Vector): Add lrecord_header.         * lisp.h (struct Lisp_Bit_Vector): Add lrecord_header.         * lisp.h (struct weak_box): Add lrecord_header.         * lisp.h (struct ephemeron): Add lrecord_header.         * lisp.h (struct weak_list): Add lrecord_header.         * lrecord.h (struct lcrecord_header): Not used, remove.         * lrecord.h (struct free_lcrecord_header): Not used, remove.         * lrecord.h (struct lcrecord_list): Not needed anymore, remove.         * lrecord.h (lcrecord_list): Not needed anymore, remove.         * lrecord.h: (enum data_description_entry_flags): Remove         XD_FLAG_FREE_LISP_OBJECT.         * lstream.c: Lrecord list Vlstream_free_list remove.         * lstream.c (Lstream_new): Allocate as lrecord.         * lstream.c (Lstream_delete): Use lrecod functions.         * lstream.c (reinit_vars_of_lstream): Vlstream_free_list         initialization remove.           * lstream.h (struct lstream): Add lrecord_header.         * emacs.c (main_1): Remove lstream initialization.         * mule-charset.c (make_charset): Allocate as lrecord.         * objects-impl.h (struct Lisp_Color_Instance): Add         lrecord_header.         * objects-impl.h (struct Lisp_Font_Instance): Add lrecord_header.         * objects.c (Fmake_color_instance): Allocate as lrecord.         * objects.c (Fmake_font_instance): Allocate as lrecord.         * objects.c (reinit_vars_of_objects): Allocate as lrecord.         * opaque.c: Lcreord list Vopaque_ptr_list remove.         * opaque.c (make_opaque): Allocate as lrecord.         * opaque.c (make_opaque_ptr): Allocate as lrecord.         * opaque.c (free_opaque_ptr): Use lrecord functions.         * opaque.c (reinit_opaque_early):         * opaque.c (init_opaque_once_early): Vopaque_ptr_list         initialization remove.         * opaque.h (Lisp_Opaque): Add lrecord_header.         * opaque.h (Lisp_Opaque_Ptr): Add lrecord_header.         * emacs.c (main_1): Remove opaque variable initialization.         * print.c (default_object_printer): Use new lrecord_header.         * print.c (print_internal): Use new lrecord_header.         * print.c (debug_p4): Use new lrecord_header.         * process.c (make_process_internal): Allocate as lrecord.         * procimpl.h (struct Lisp_Process): Add lrecord_header.         * rangetab.c (Fmake_range_table): Allocate as lrecord.         * rangetab.c (Fcopy_range_table): Allocate as lrecord.         * rangetab.h (struct Lisp_Range_Table): Add lrecord_header.         * scrollbar.c (create_scrollbar_instance): Allocate as lrecord.         * scrollbar.h (struct scrollbar_instance): Add lrecord_header.         * specifier.c (make_specifier_internal): Allocate as lrecord.         * specifier.h (struct Lisp_Specifier): Add lrecord_header.         * symbols.c:         * symbols.c (Fmake_variable_buffer_local): Allocate as lrecord.         * symbols.c (Fdontusethis_set_symbol_value_handler): Allocate         as lrecord.         * symbols.c (Fdefvaralias): Allocate as lrecord.         * symeval.h (struct symbol_value_magic): Add lrecord_header.         * toolbar.c (update_toolbar_button): Allocate as lrecord.         * toolbar.h (struct toolbar_button): Add lrecord_header.         * tooltalk.c (struct Lisp_Tooltalk_Message): Add lrecord_header.         * tooltalk.c (make_tooltalk_message): Allocate as lrecord.         * tooltalk.c (struct Lisp_Tooltalk_Pattern): Add lrecord_header.         * tooltalk.c (make_tooltalk_pattern): Allocate as lrecord.         * ui-gtk.c (allocate_ffi_data): Allocate as lrecord.         * ui-gtk.c (allocate_emacs_gtk_object_data): Allocate as lrecord.         * ui-gtk.c (allocate_emacs_gtk_boxed_data): Allocate as lrecord.         * ui-gtk.h (structs): Add lrecord_header.         * window-impl.h (struct window): Add lrecord_header.         * window-impl.h (struct window_mirror): Add lrecord_header.         * window.c (allocate_window): Allocate as lrecord.         * window.c (new_window_mirror): Allocate as lrecord.         * window.c (make_dummy_parent): Allocate as lrecord.         MEMORY_USAGE_STATS         * alloc.c (fixed_type_block_overhead): Not used anymore, remove.         * buffer.c (compute_buffer_usage): Get storage size from new         allocator.         * marker.c (compute_buffer_marker_usage): Get storage size from         new allocator.         * mule-charset.c (compute_charset_usage): Get storage size from         new allocator.         * scrollbar-gtk.c (gtk_compute_scrollbar_instance_usage): Get         storage size from new allocator.         * scrollbar-msw.c (mswindows_compute_scrollbar_instance_usage):         Get storage size from new allocator.         * scrollbar-x.c (x_compute_scrollbar_instance_usage): Get         storage size from new allocator.         * scrollbar.c (compute_scrollbar_instance_usage): Get storage         size from new allocator.         * unicode.c (compute_from_unicode_table_size_1): Get storage         size from new allocator.         * unicode.c (compute_to_unicode_table_size_1): Get storage size         from new allocator.         * window.c (compute_window_mirror_usage): Get storage size from         new allocator.         * window.c (compute_window_usage): Get storage size from new         allocator.         MC_ALLOC_TYPE_STATS:         * alloc.c (alloc_lrecord): Bump lrecord count.         * alloc.c (noseeum_alloc_lrecord): Bump lrecord count.         * alloc.c (struct lrecord_stats): Storage for counts.         * alloc.c (init_lrecord_stats): Zero statistics.         * alloc.c (inc_lrecord_stats): Increase the statistic.         * alloc.c (dec_lrecord_stats): Decrease the statistic.         * alloc.c (gc_plist_hack): Used to print the information.         * alloc.c (Fgarbage_collect): Return the collected information.         * mc-alloc.c (remove_cell): Decrease lrecord count.         * mc-alloc.h: Set flag MC_ALLOC_TYPE_STATS.         * emacs.c (main_1): Init lrecord statistics.         * lrecord.h: Add prototypes for *_lrecord_stats.         Strings:         * alloc.c (Fmake_string): Initialize ascii_begin to zero.         * alloc.c (gc_count_num_short_string_in_use): Remove.         * alloc.c (gc_count_string_total_size): Remove.         * alloc.c (gc_count_short_string_total_size): Remove.         * alloc.c (debug_string_purity): Remove.         * alloc.c (debug_string_purity_print): Remove.         * alloc.c (sweep_strings): Remove.                  Remove static C-readonly Lisp objects:         * alloc.c (c_readonly): Not needed anymore, remove.         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): Remove some obsolete         lheader invariants assertions.         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Allocate dynamically.         * console.c (DEFVAR_CONSOLE_LOCAL_1): Allocate dynamically.         * gpmevent.c: Indirection via MC_ALLOC_Freceive_gpm_event.         * gpmevent.c (Fgpm_enable): Allocate dynamically.         * gpmevent.c (syms_of_gpmevent): Allocate dynamically.         * lisp.h (C_READONLY): Not needed anymore, remove.         * lisp.h (DEFUN): Allocate dynamically.         * lrecord.h (C_READONLY_RECORD_HEADER_P): Not needed anymore,         remove.         * lrecord.h (SET_C_READONLY_RECORD_HEADER): Not needed anymore,         remove.         * symbols.c (guts_of_unbound_marker):         * symeval.h (defsubr): Allocate dynamically.         * symeval.h (DEFSUBR_MACRO): Allocate dynamically.         * symeval.h (DEFVAR_ SYMVAL_FWD): Allocate dynamically.         * tests.c (TESTS_DEFSUBR): Allocate dynamically.         Definition of mcpro:         * lisp.h: Add mcpro prototypes.         * alloc.c (common_init_alloc_early): Add initialization for         mcpros.         * alloc.c (mcpro_description_1): New.         * alloc.c (mcpro_description): New.         * alloc.c (mcpros_description_1): New.         * alloc.c (mcpros_description): New.         * alloc.c (mcpro_one_name_description_1): New.         * alloc.c (mcpro_one_name_description): New.         * alloc.c (mcpro_names_description_1): New.         * alloc.c (mcpro_names_description): New.         * alloc.c (mcpros): New.         * alloc.c (mcpro_names): New.         * alloc.c (mcpro_1): New.         * alloc.c (mc_pro): New.         * alloc.c (garbage_collect_1): Add mcpros to root set.         Usage of mcpro:         * alloc.c (make_string_nocopy): Add string to root set.         * symbols.c (init_symbols_once_early): Add Qunbound to root set.         Changes to the Portable Dumper:                  * alloc.c (FREE_OR_REALLOC_BEGIN): Since dumped objects can be         freed with the new allocator, remove assertion for !DUMPEDP.         * dumper.c: Adjust comments, increase PDUMP_HASHSIZE.         * dumper.c (pdump_make_hash): Shift address only 2 bytes, to         avoid collisions.         * dumper.c (pdump_objects_unmark): No more mark bits within         the object, remove.         * dumper.c (mc_addr_elt): New. Element data structure for mc         hash table.         * dumper.c (pdump_mc_hash): New hash table: `lookup table'.         * dumper.c (pdump_get_mc_addr): New. Lookup for hash table.         * dumper.c (pdump_get_indirect_mc_addr): New. Lookup for         convertibles.         * dumper.c (pdump_put_mc_addr): New. Putter for hash table.         * dumper.c (pdump_dump_mc_data): New. Writes the table for         relocation at load time to the dump file.         * dumper.c (pdump_scan_lisp_objects_by_alignment): New.         Visits all dumped Lisp objects.         * dumper.c (pdump_scan_non_lisp_objects_by_alignment): New.         Visits all other dumped objects.         * dumper.c (pdump_reloc_one_mc): New. Updates all pointers         of an object by using the hash table pdump_mc_hash.         * dumper.c (pdump_reloc_one): Replaced by pdump_reloc_one_mc.         * dumper.c (pdump): Change the structure of the dump file, add         the mc post dump relocation table to dump file.         * dumper.c (pdump_load_finish): Hand all dumped objects to the         new allocator and use the mc post dump relocation table for         relocating the dumped objects at dump file load time, free not         longer used data structures.         * dumper.c (pdump_load): Free the dump file.         * dumper.h: Remove pdump_objects_unmark.         * lrecord.h (DUMPEDP): Dumped objects can be freed, remove.              DUMP_IN_EXEC:         * Makefile.in.in: Linking for and with dump in executable only if         DUMP_IN_EXEC is defined.         * config.h.in: Add new flag `DUMP_IN_EXEC'         * emacs.c: Condition dump-data.h on DUMP_IN_EXEC.         * emacs.c (main_1): Flag `-si' only works if dump image is         written into executable.         Miscellanious         * lrecord.h (enum lrecord_type): Added numbers to all types,         very handy for debugging.         * xemacs.def.in.in: Add mc-alloc functions to make them visible         to the modules.
author crestani
date Fri, 08 Apr 2005 23:11:35 +0000
parents 9caf26dd924f
children feeb145e30f4
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1 ;;; menubar-items.el --- Menubar and popup-menu content for XEmacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3 ;; Copyright (C) 1991-1995, 1997-1998 Free Software Foundation, Inc.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4 ;; Copyright (C) 1995 Tinker Systems and INS Engineering Corp.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5 ;; Copyright (C) 1995 Sun Microsystems.
1275
57b76886836d [xemacs-hg @ 2003-02-08 02:29:52 by ben]
ben
parents: 903
diff changeset
6 ;; Copyright (C) 1995, 1996, 2000, 2001, 2002, 2003 Ben Wing.
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
7 ;; Copyright (C) 1997 MORIOKA Tomohiko.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
9 ;; Maintainer: XEmacs Development Team
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
10 ;; Keywords: frames, extensions, internal, dumped
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
11
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
12 ;; This file is part of XEmacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
13
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
14 ;; XEmacs is free software; you can redistribute it and/or modify it
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
15 ;; under the terms of the GNU General Public License as published by
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
16 ;; the Free Software Foundation; either version 2, or (at your option)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
17 ;; any later version.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
18
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
19 ;; XEmacs is distributed in the hope that it will be useful, but
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
20 ;; WITHOUT ANY WARRANTY; without even the implied warranty of
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
21 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
22 ;; General Public License for more details.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
23
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
24 ;; You should have received a copy of the GNU General Public License
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
25 ;; along with Xmacs; see the file COPYING. If not, write to the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
26 ;; Free Software Foundation, 59 Temple Place - Suite 330,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
27 ;; Boston, MA 02111-1307, USA.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
28
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
29 ;;; Authorship:
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
30
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
31 ;; Created c. 1991 for Lucid Emacs. Originally called x-menubar.el.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
32 ;; Contained four menus -- File, Edit, Buffers, Help.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
33 ;; Dynamic menu changes possible only through activate-menubar-hook.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
34 ;; Also contained menu manipulation funs, e.g. find-menu-item, add-menu.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
35 ;; Options menu added for 19.9 by Jamie Zawinski, late 1993.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
36 ;; Major reorganization c. 1994 by Ben Wing; added many items and moved
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
37 ;; some items to two new menus, Apps and Tools. (for 19.10?)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
38 ;; Generic menubar functions moved to new file, menubar.el, by Ben Wing,
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
39 ;; 1995, for 19.12; also, creation of current buffers menu options,
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
40 ;; and buffers menu changed from purely most-recent to sorted alphabetical,
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
41 ;; by mode. Also added mode-popup-menu support.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
42 ;; New API (add-submenu, add-menu-button) and menu filter support added
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
43 ;; late summer 1995 by Stig, for 19.13. Also popup-menubar-menu.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
44 ;; Renamed to menubar-items.el c. 1998, with MS Win support.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
45 ;; Options menu rewritten to use custom c. 1999 by ? (Jan Vroonhof?).
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
46 ;; Major reorganization Mar. 2000 by Ben Wing; added many items and changed
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
47 ;; top-level menus to File, Edit, View, Cmds, Tools, Options, Buffers.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
48 ;; Accelerator spec functionality added Mar. 2000 by Ben Wing.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
49
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
50 ;;; Commentary:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
51
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
52 ;; This file is dumped with XEmacs (when window system and menubar support is
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
53 ;; compiled in).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
54
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
55 ;;; Code:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
56
679
6b890cfde2b1 [xemacs-hg @ 2001-11-29 18:39:21 by adrian]
adrian
parents: 644
diff changeset
57 (defun Menubar-items-truncate-history (list count label-length)
6b890cfde2b1 [xemacs-hg @ 2001-11-29 18:39:21 by adrian]
adrian
parents: 644
diff changeset
58 "Truncate a history LIST to first COUNT items.
6b890cfde2b1 [xemacs-hg @ 2001-11-29 18:39:21 by adrian]
adrian
parents: 644
diff changeset
59 Return a list of (label value) lists with labels truncated to last
6b890cfde2b1 [xemacs-hg @ 2001-11-29 18:39:21 by adrian]
adrian
parents: 644
diff changeset
60 LABEL-LENGTH characters of value."
464
5aa1854ad537 Import from CVS: tag r21-2-47
cvs
parents: 462
diff changeset
61 (mapcar #'(lambda (x)
679
6b890cfde2b1 [xemacs-hg @ 2001-11-29 18:39:21 by adrian]
adrian
parents: 644
diff changeset
62 (if (<= (length x) label-length)
6b890cfde2b1 [xemacs-hg @ 2001-11-29 18:39:21 by adrian]
adrian
parents: 644
diff changeset
63 (list x x)
6b890cfde2b1 [xemacs-hg @ 2001-11-29 18:39:21 by adrian]
adrian
parents: 644
diff changeset
64 (list
6b890cfde2b1 [xemacs-hg @ 2001-11-29 18:39:21 by adrian]
adrian
parents: 644
diff changeset
65 (concat "..." (substring x (- label-length))) x)))
6b890cfde2b1 [xemacs-hg @ 2001-11-29 18:39:21 by adrian]
adrian
parents: 644
diff changeset
66 (if (<= (length list) count)
464
5aa1854ad537 Import from CVS: tag r21-2-47
cvs
parents: 462
diff changeset
67 list
679
6b890cfde2b1 [xemacs-hg @ 2001-11-29 18:39:21 by adrian]
adrian
parents: 644
diff changeset
68 (butlast list (- (length list) count)))))
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
69
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
70
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
71 (defun coding-system-menu-filter (fun active &optional dots)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
72 "Filter for menu entries with a submenu listing all coding systems.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
73 This is for operations that take a coding system as an argument. FUN
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
74 should be a function of one argument, which will be a coding system symbol.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
75 ACTIVE should be a function one argument (again, a coding system symbol),
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
76 indicating whether the entry is active. If DOTS is given, the menu entries
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
77 will have three dots appended.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
78
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
79 Write your filter like this:
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
80
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
81 :filter
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
82 (lambda (menu)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
83 (lambda (entry) ...)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
84 (lambda (entry) ...))
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
85 "
2545
9caf26dd924f [xemacs-hg @ 2005-02-03 05:03:36 by ben]
ben
parents: 2505
diff changeset
86 (menu-split-long-menu-and-sort
9caf26dd924f [xemacs-hg @ 2005-02-03 05:03:36 by ben]
ben
parents: 2505
diff changeset
87 (mapcar
9caf26dd924f [xemacs-hg @ 2005-02-03 05:03:36 by ben]
ben
parents: 2505
diff changeset
88 #'(lambda (_csmf_entry)
9caf26dd924f [xemacs-hg @ 2005-02-03 05:03:36 by ben]
ben
parents: 2505
diff changeset
89 `[ ,(concat (coding-system-description _csmf_entry)
9caf26dd924f [xemacs-hg @ 2005-02-03 05:03:36 by ben]
ben
parents: 2505
diff changeset
90 (if dots "..." ""))
9caf26dd924f [xemacs-hg @ 2005-02-03 05:03:36 by ben]
ben
parents: 2505
diff changeset
91 (funcall ,fun ',_csmf_entry)
9caf26dd924f [xemacs-hg @ 2005-02-03 05:03:36 by ben]
ben
parents: 2505
diff changeset
92 :active (funcall ,active ',_csmf_entry)
9caf26dd924f [xemacs-hg @ 2005-02-03 05:03:36 by ben]
ben
parents: 2505
diff changeset
93 ])
9caf26dd924f [xemacs-hg @ 2005-02-03 05:03:36 by ben]
ben
parents: 2505
diff changeset
94 (delete-if
9caf26dd924f [xemacs-hg @ 2005-02-03 05:03:36 by ben]
ben
parents: 2505
diff changeset
95 #'(lambda (name)
9caf26dd924f [xemacs-hg @ 2005-02-03 05:03:36 by ben]
ben
parents: 2505
diff changeset
96 (or (coding-system-alias-p name)
9caf26dd924f [xemacs-hg @ 2005-02-03 05:03:36 by ben]
ben
parents: 2505
diff changeset
97 (not (eq name (coding-system-name
9caf26dd924f [xemacs-hg @ 2005-02-03 05:03:36 by ben]
ben
parents: 2505
diff changeset
98 (coding-system-base name))))))
9caf26dd924f [xemacs-hg @ 2005-02-03 05:03:36 by ben]
ben
parents: 2505
diff changeset
99 (coding-system-list)))))
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
100
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
101 (defconst default-menubar
444
576fb035e263 Import from CVS: tag r21-2-37
cvs
parents: 442
diff changeset
102 ; (purecopy-menubar ;purespace is dead
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
103 ;; note backquote.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
104 `(
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
105 ("%_File"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
106 ["%_Open..." find-file]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
107 ["Open in Other %_Window..." find-file-other-window]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
108 ["Open in New %_Frame..." find-file-other-frame]
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
109 ("Open with Specified %_Encoding"
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
110 :filter
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
111 (lambda (menu)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
112 (coding-system-menu-filter
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
113 (lambda (entry)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
114 (let ((coding-system-for-read entry))
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
115 (call-interactively 'find-file)))
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
116 (lambda (entry) t)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
117 t))
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
118 )
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
119 ["%_Hex Edit File..." hexl-find-file
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
120 :active (fboundp 'hexl-find-file)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
121 ["%_Insert File..." insert-file]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
122 ["%_View File..." view-file]
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
123 "------"
788
026c5bf9c134 [xemacs-hg @ 2002-03-21 07:29:57 by ben]
ben
parents: 771
diff changeset
124 ["%_New Frame" make-frame]
026c5bf9c134 [xemacs-hg @ 2002-03-21 07:29:57 by ben]
ben
parents: 771
diff changeset
125 ["Frame on Other %_Display..." make-frame-on-display
026c5bf9c134 [xemacs-hg @ 2002-03-21 07:29:57 by ben]
ben
parents: 771
diff changeset
126 :active (fboundp 'make-frame-on-display)]
026c5bf9c134 [xemacs-hg @ 2002-03-21 07:29:57 by ben]
ben
parents: 771
diff changeset
127 ["%_Close Frame" delete-frame
026c5bf9c134 [xemacs-hg @ 2002-03-21 07:29:57 by ben]
ben
parents: 771
diff changeset
128 :active (not (eq (next-frame (selected-frame) 'nomini 'window-system)
026c5bf9c134 [xemacs-hg @ 2002-03-21 07:29:57 by ben]
ben
parents: 771
diff changeset
129 (selected-frame)))]
026c5bf9c134 [xemacs-hg @ 2002-03-21 07:29:57 by ben]
ben
parents: 771
diff changeset
130 "-----"
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
131 ["%_Save" save-buffer
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
132 :active (buffer-modified-p)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
133 :suffix (if put-buffer-names-in-file-menu (buffer-name) "")]
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
134 ["Save %_As..." write-file]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
135 ["Save So%_me Buffers" save-some-buffers]
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
136 "-----"
903
4a27df428c73 [xemacs-hg @ 2002-07-06 05:48:14 by andyp]
andyp
parents: 851
diff changeset
137 ,@(if (valid-specifier-tag-p 'msprinter)
506
39ccc7dd8077 [xemacs-hg @ 2001-05-05 08:39:59 by ben]
ben
parents: 502
diff changeset
138 '(["Page Set%_up..." generic-page-setup]))
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
139 ["%_Print" generic-print-buffer
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
140 :active (or (valid-specifier-tag-p 'msprinter)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
141 (and (not (eq system-type 'windows-nt))
506
39ccc7dd8077 [xemacs-hg @ 2001-05-05 08:39:59 by ben]
ben
parents: 502
diff changeset
142 (fboundp 'lpr-region)))
510
5bdbc721d46a [xemacs-hg @ 2001-05-06 08:33:35 by ben]
ben
parents: 506
diff changeset
143 :suffix (if (region-active-p) "Selection..."
5bdbc721d46a [xemacs-hg @ 2001-05-06 08:33:35 by ben]
ben
parents: 506
diff changeset
144 (if put-buffer-names-in-file-menu (concat (buffer-name) "...")
5bdbc721d46a [xemacs-hg @ 2001-05-06 08:33:35 by ben]
ben
parents: 506
diff changeset
145 "..."))]
903
4a27df428c73 [xemacs-hg @ 2002-07-06 05:48:14 by andyp]
andyp
parents: 851
diff changeset
146 ,@(unless (valid-specifier-tag-p 'msprinter)
506
39ccc7dd8077 [xemacs-hg @ 2001-05-05 08:39:59 by ben]
ben
parents: 502
diff changeset
147 '(["Prett%_y-Print" ps-print-buffer-with-faces
39ccc7dd8077 [xemacs-hg @ 2001-05-05 08:39:59 by ben]
ben
parents: 502
diff changeset
148 :active (fboundp 'ps-print-buffer-with-faces)
39ccc7dd8077 [xemacs-hg @ 2001-05-05 08:39:59 by ben]
ben
parents: 502
diff changeset
149 :suffix (if put-buffer-names-in-file-menu (buffer-name) "")]))
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
150 "-----"
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
151 ["%_Revert Buffer" revert-buffer
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
152 :active (or buffer-file-name revert-buffer-function)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
153 :suffix (if put-buffer-names-in-file-menu (buffer-name) "")]
793
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
154 ("Rever%_t/Recover"
788
026c5bf9c134 [xemacs-hg @ 2002-03-21 07:29:57 by ben]
ben
parents: 771
diff changeset
155 ("Revert Buffer with Specified %_Encoding"
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
156 :filter
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
157 (lambda (menu)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
158 (coding-system-menu-filter
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
159 (lambda (entry)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
160 (let ((coding-system-for-read entry))
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
161 (revert-buffer)))
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
162 (lambda (entry) (or buffer-file-name revert-buffer-function))
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
163 t))
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
164 )
788
026c5bf9c134 [xemacs-hg @ 2002-03-21 07:29:57 by ben]
ben
parents: 771
diff changeset
165 ["Re%_cover Buffer from Autosave" (recover-file buffer-file-name)
026c5bf9c134 [xemacs-hg @ 2002-03-21 07:29:57 by ben]
ben
parents: 771
diff changeset
166 :active buffer-file-name
026c5bf9c134 [xemacs-hg @ 2002-03-21 07:29:57 by ben]
ben
parents: 771
diff changeset
167 :suffix (if put-buffer-names-in-file-menu (buffer-name) "")]
026c5bf9c134 [xemacs-hg @ 2002-03-21 07:29:57 by ben]
ben
parents: 771
diff changeset
168 ["Recover %_Session..." recover-session]
026c5bf9c134 [xemacs-hg @ 2002-03-21 07:29:57 by ben]
ben
parents: 771
diff changeset
169 )
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
170 "-----"
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
171 ["E%_xit XEmacs" save-buffers-kill-emacs]
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
172 )
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
173
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
174 ("%_Edit"
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
175 ["%_Undo" undo
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
176 :active (and (not (eq buffer-undo-list t))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
177 (or buffer-undo-list pending-undo-list))
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
178 :suffix (if (eq last-command 'undo) "More" "")]
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
179 ["%_Redo" redo
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
180 :included (fboundp 'redo)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
181 :active (not (or (eq buffer-undo-list t)
438
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 428
diff changeset
182 (eq last-buffer-undo-list nil)
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 428
diff changeset
183 (not (or (eq last-buffer-undo-list buffer-undo-list)
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 428
diff changeset
184 (and (null (car-safe buffer-undo-list))
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 428
diff changeset
185 (eq last-buffer-undo-list
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 428
diff changeset
186 (cdr-safe buffer-undo-list)))))
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 428
diff changeset
187 (or (eq buffer-undo-list pending-undo-list)
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 428
diff changeset
188 (eq (cdr buffer-undo-list) pending-undo-list))))
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
189 :suffix (if (eq last-command 'redo) "More" "")]
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
190 "----"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
191 ["Cu%_t" kill-primary-selection
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
192 :active (selection-owner-p)]
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
193 ["%_Copy" copy-primary-selection
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
194 :active (selection-owner-p)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
195 ["%_Paste" yank-clipboard-selection
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
196 :active (selection-exists-p 'CLIPBOARD)]
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
197 ["%_Delete" delete-primary-selection
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
198 :active (selection-owner-p)]
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
199 "----"
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
200 ["Select %_All" mark-whole-buffer]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
201 ["Select Pa%_ge" mark-page]
502
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 479
diff changeset
202 ["Select Paragrap%_h" mark-paragraph]
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 479
diff changeset
203 ["Re%_select Region" activate-region :active (mark t)]
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
204 "----"
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
205 ["%_Find..." make-search-dialog]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
206 ["R%_eplace..." query-replace]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
207 ["Replace (Rege%_xp)..." query-replace-regexp]
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
208 ["List %_Matching Lines..." list-matching-lines]
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
209 )
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
210
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
211 ("%_View"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
212 ["%_Split Window" split-window-vertically]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
213 ["S%_plit Window (Side by Side)" split-window-horizontally]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
214 ["%_Un-Split (Keep This)" delete-other-windows
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
215 :active (not (one-window-p t))]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
216 ["Un-Split (Keep %_Others)" delete-window
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
217 :active (not (one-window-p t))]
793
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
218 ["Balance %_Windows" balance-windows
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
219 :active (not (one-window-p t))]
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
220 ["Shrink Window to %_Fit" shrink-window-if-larger-than-buffer]
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
221 "----"
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
222 ("N%_arrow"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
223 ["%_Narrow to Region" narrow-to-region :active (region-exists-p)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
224 ["Narrow to %_Page" narrow-to-page]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
225 ["Narrow to %_Defun" narrow-to-defun]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
226 "----"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
227 ["%_Widen" widen :active (or (/= (point-min) 1)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
228 (/= (point-max) (1+ (buffer-size))))]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
229 )
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
230 "----"
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
231 ["%_Goto Line..." goto-line]
793
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
232 ["Beginning of %_Defun" beginning-of-defun]
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
233 ["%_End of Defun" end-of-defun]
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
234 ["%_Count Lines in Buffer" count-lines-buffer
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
235 :included (not (region-active-p))]
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
236 ["%_Count Lines in Region" count-lines-region
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
237 :included (region-active-p)]
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
238 "----"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
239 ["%_Jump to Previous Mark" (set-mark-command t)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
240 :active (mark t)]
793
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
241 ["Se%_t Bookmark" bookmark-set
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
242 :active (fboundp 'bookmark-set)]
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
243 ("%_Bookmarks"
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
244 :filter
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
245 (lambda (menu)
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
246 (let ((alist (and-boundp 'bookmark-alist
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
247 bookmark-alist)))
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
248 (if (not alist)
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
249 menu
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
250 (let ((items
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
251 (submenu-generate-accelerator-spec
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
252 (mapcar #'(lambda (bmk)
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
253 `[,bmk (bookmark-jump ',bmk)])
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
254 (bookmark-all-names)))))
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
255 (append menu '("---") items)))))
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
256 "---"
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
257 ["Insert %_Contents" bookmark-menu-insert
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
258 :active (fboundp 'bookmark-menu-insert)]
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
259 ["Insert L%_ocation" bookmark-menu-locate
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
260 :active (fboundp 'bookmark-menu-locate)]
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
261 "---"
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
262 ["%_Rename Bookmark" bookmark-menu-rename
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
263 :active (fboundp 'bookmark-menu-rename)]
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
264 ("%_Delete Bookmark"
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
265 :filter (lambda (menu)
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
266 (submenu-generate-accelerator-spec
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
267 (mapcar #'(lambda (bmk)
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
268 `[,bmk (bookmark-delete ',bmk)])
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
269 (bookmark-all-names)))))
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
270 ["%_Edit Bookmark List" bookmark-bmenu-list
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
271 :active (and-boundp 'bookmark-alist bookmark-alist)]
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
272 "---"
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
273 ["%_Save Bookmarks" bookmark-save
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
274 :active (and-boundp 'bookmark-alist bookmark-alist)]
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
275 ["Save Bookmarks %_As..." bookmark-write
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
276 :active (and-boundp 'bookmark-alist bookmark-alist)]
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
277 ["%_Load a Bookmark File" bookmark-load
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
278 :active (fboundp 'bookmark-load)]
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
279 )
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
280 )
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
281
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
282 ("C%_mds"
838
bf645ed7cfe3 [xemacs-hg @ 2002-05-14 09:28:06 by ben]
ben
parents: 824
diff changeset
283 ["Repeat Last Comple%_x Command..." repeat-complex-command]
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
284 ["E%_valuate Lisp Expression..." eval-expression]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
285 ["Execute %_Named Command..." execute-extended-command]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
286 "----"
814
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
287 ["Start %_Defining Macro" start-kbd-macro
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
288 :included (not defining-kbd-macro)]
814
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
289 ["Stop %_Defining Macro" end-kbd-macro
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
290 :included defining-kbd-macro]
838
bf645ed7cfe3 [xemacs-hg @ 2002-05-14 09:28:06 by ben]
ben
parents: 824
diff changeset
291 ["%_Execute Last Macro" call-last-kbd-macro
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
292 :active last-kbd-macro]
814
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
293 ("Other %_Macro"
793
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
294 ["Edit %_Last Macro" edit-last-kbd-macro
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
295 :active last-kbd-macro]
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
296 ["%_Edit Macro..." edit-kbd-macro]
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
297 ["%_Append to Last Macro" (start-kbd-macro t)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
298 :active (and (not defining-kbd-macro) last-kbd-macro)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
299 "---"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
300 ["%_Name Last Macro..." name-last-kbd-macro
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
301 :active last-kbd-macro]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
302 ["Assign Last Macro to %_Key..." assign-last-kbd-macro-to-key
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
303 :active (and last-kbd-macro
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
304 (fboundp 'assign-last-kbd-macro-to-key))]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
305 "---"
793
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
306 ["E%_xecute Last Macro on Region Lines"
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
307 :active (and last-kbd-macro (region-exists-p))]
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
308 "---"
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
309 ["%_Query User During Macro" kbd-macro-query
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
310 :active defining-kbd-macro]
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
311 ["Enter %_Recursive Edit During Macro" (kbd-macro-query t)
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
312 :active defining-kbd-macro]
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
313 "---"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
314 ["%_Insert Named Macro into Buffer..." insert-kbd-macro]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
315 ["Read Macro from Re%_gion" read-kbd-macro
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
316 :active (region-exists-p)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
317 )
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
318 "----"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
319 ["D%_ynamic Abbrev Expand" dabbrev-expand]
814
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
320 ["Define %_Global Abbrev for " add-global-abbrev
851
e7ee5f8bde58 [xemacs-hg @ 2002-05-23 11:46:08 by ben]
ben
parents: 844
diff changeset
321 :suffix (truncate-string-to-width (abbrev-string-to-be-defined nil)
e7ee5f8bde58 [xemacs-hg @ 2002-05-23 11:46:08 by ben]
ben
parents: 844
diff changeset
322 40 nil nil t)]
814
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
323 ("Other %_Abbrev"
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
324 ["Dynamic Abbrev %_Complete" dabbrev-completion]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
325 ["Dynamic Abbrev Complete in %_All Buffers" (dabbrev-completion 16)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
326 "----"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
327 "----"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
328 ["%_Define Global Abbrev for " add-global-abbrev
851
e7ee5f8bde58 [xemacs-hg @ 2002-05-23 11:46:08 by ben]
ben
parents: 844
diff changeset
329 :suffix (truncate-string-to-width (abbrev-string-to-be-defined nil)
e7ee5f8bde58 [xemacs-hg @ 2002-05-23 11:46:08 by ben]
ben
parents: 844
diff changeset
330 40 nil nil t)]
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
331 ["Define %_Mode-Specific Abbrev for " add-mode-abbrev
851
e7ee5f8bde58 [xemacs-hg @ 2002-05-23 11:46:08 by ben]
ben
parents: 844
diff changeset
332 :suffix (truncate-string-to-width (abbrev-string-to-be-defined nil)
e7ee5f8bde58 [xemacs-hg @ 2002-05-23 11:46:08 by ben]
ben
parents: 844
diff changeset
333 40 nil nil t)]
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
334 ["Define Global Ex%_pansion for " inverse-add-global-abbrev
851
e7ee5f8bde58 [xemacs-hg @ 2002-05-23 11:46:08 by ben]
ben
parents: 844
diff changeset
335 :suffix (truncate-string-to-width
814
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
336 (inverse-abbrev-string-to-be-defined 1)
851
e7ee5f8bde58 [xemacs-hg @ 2002-05-23 11:46:08 by ben]
ben
parents: 844
diff changeset
337 40 nil nil t)]
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
338 ["Define Mode-Specific Expa%_nsion for " inverse-add-mode-abbrev
851
e7ee5f8bde58 [xemacs-hg @ 2002-05-23 11:46:08 by ben]
ben
parents: 844
diff changeset
339 :suffix (truncate-string-to-width
814
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
340 (inverse-abbrev-string-to-be-defined 1)
851
e7ee5f8bde58 [xemacs-hg @ 2002-05-23 11:46:08 by ben]
ben
parents: 844
diff changeset
341 40 nil nil t)]
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
342 "---"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
343 ["E%_xpand Abbrev" expand-abbrev]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
344 ["Expand Abbrevs in Re%_gion" expand-region-abbrevs
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
345 :active (region-exists-p)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
346 ["%_Unexpand Last Abbrev" unexpand-abbrev
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
347 :active (and (stringp last-abbrev-text)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
348 (> last-abbrev-location 0))]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
349 "---"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
350 ["%_Kill All Abbrevs" kill-all-abbrevs]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
351 ["%_Insert All Abbrevs into Buffer" insert-abbrevs]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
352 ["%_List Abbrevs" list-abbrevs]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
353 "---"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
354 ["%_Edit Abbrevs" edit-abbrevs]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
355 ["%_Redefine Abbrevs from Buffer" edit-abbrevs-redefine
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
356 :active (eq major-mode 'edit-abbrevs-mode)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
357 "---"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
358 ["%_Save Abbrevs As..." write-abbrev-file]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
359 ["L%_oad Abbrevs..." read-abbrev-file]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
360 )
814
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
361 "---"
838
bf645ed7cfe3 [xemacs-hg @ 2002-05-14 09:28:06 by ben]
ben
parents: 824
diff changeset
362 ["%_Cut Rectangle" kill-rectangle]
2421
ab71ad6ff3dd [xemacs-hg @ 2004-12-06 03:50:53 by ben]
ben
parents: 2376
diff changeset
363 ["%_Prefix Rectangle..." string-rectangle]
814
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
364 ("Other %_Rectangles/Register"
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
365 ["%_Yank Rectangle" yank-rectangle]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
366 ["Rectangle %_to Register" copy-rectangle-to-register]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
367 ["Rectangle %_from Register" insert-register]
838
bf645ed7cfe3 [xemacs-hg @ 2002-05-14 09:28:06 by ben]
ben
parents: 824
diff changeset
368 ["%_Delete Rectangle" clear-rectangle]
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
369 ["%_Open Rectangle" open-rectangle]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
370 ["Rectangle %_Mousing"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
371 (customize-set-variable 'mouse-track-rectangle-p
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
372 (not mouse-track-rectangle-p))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
373 :style toggle :selected mouse-track-rectangle-p]
814
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
374 "---"
502
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 479
diff changeset
375 ["%_Copy to Register..." copy-to-register :active (region-exists-p)]
838
bf645ed7cfe3 [xemacs-hg @ 2002-05-14 09:28:06 by ben]
ben
parents: 824
diff changeset
376 ["%_Append to Register..." append-register :active (region-exists-p)]
bf645ed7cfe3 [xemacs-hg @ 2002-05-14 09:28:06 by ben]
ben
parents: 824
diff changeset
377 ["%_Insert Register..." insert-register]
502
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 479
diff changeset
378 "---"
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 479
diff changeset
379 ["%_Save Point to Register" point-to-register]
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 479
diff changeset
380 ["%_Jump to Register" register-to-point]
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 479
diff changeset
381 )
814
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
382 "---"
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
383 ["%_Sort Lines in Region" sort-lines :active (region-exists-p)]
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
384 ["%_Uppercase Region or Word" upcase-region-or-word]
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
385 ["%_Lowercase Region or Word" downcase-region-or-word]
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
386 ["%_Indent Region or Balanced Expression"
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
387 indent-region-or-balanced-expression]
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
388 ["%_Fill Paragraph or Region" fill-paragraph-or-region]
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
389 ("Other %_Text Commands"
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
390 ["Sort %_Paragraphs in Region" sort-paragraphs :active (region-exists-p)]
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
391 ["Sort Pa%_ges in Region" sort-pages :active (region-exists-p)]
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
392 ["Sort C%_olumns in Region" sort-columns :active (region-exists-p)]
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
393 ["Sort %_Regexp..." sort-regexp-fields :active (region-exists-p)]
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
394 "---"
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
395 ["%_Capitalize Region" capitalize-region :active (region-exists-p)]
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
396 ["Title-C%_ase Region" capitalize-region-as-title
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
397 :active (region-exists-p)]
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
398 "----"
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
399 ["C%_enter Region or Paragraph"
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
400 (if (region-active-p) (center-region) (center-line))]
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
401 ["Center %_Line" center-line]
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
402 "---"
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
403 ["%_Indent Region Rigidly" indent-rigidly :active (region-exists-p)]
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
404 ["In%_dent To Column..." indent-to-column]
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
405 "---"
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
406 ["%_Untabify (Tabs to Spaces)" untabify :active (and (region-exists-p)
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
407 (fboundp 'untabify))]
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
408 ["%_Tabify (Spaces to Tabs)" tabify :active (and (region-exists-p)
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
409 (fboundp 'tabify))]
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
410 ["Tab to Tab %_Stop" tab-to-tab-stop]
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
411 ["Edit Ta%_b Stops" edit-tab-stops]
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
412 )
2545
9caf26dd924f [xemacs-hg @ 2005-02-03 05:03:36 by ben]
ben
parents: 2505
diff changeset
413 "---"
9caf26dd924f [xemacs-hg @ 2005-02-03 05:03:36 by ben]
ben
parents: 2505
diff changeset
414 ("%_Tags"
9caf26dd924f [xemacs-hg @ 2005-02-03 05:03:36 by ben]
ben
parents: 2505
diff changeset
415 ["%_Find Tag..." find-tag]
9caf26dd924f [xemacs-hg @ 2005-02-03 05:03:36 by ben]
ben
parents: 2505
diff changeset
416 ["Find %_Other Window..." find-tag-other-window]
9caf26dd924f [xemacs-hg @ 2005-02-03 05:03:36 by ben]
ben
parents: 2505
diff changeset
417 ["%_Next Tag..." (find-tag nil)]
9caf26dd924f [xemacs-hg @ 2005-02-03 05:03:36 by ben]
ben
parents: 2505
diff changeset
418 ["N%_ext Other Window..." (find-tag-other-window nil)]
9caf26dd924f [xemacs-hg @ 2005-02-03 05:03:36 by ben]
ben
parents: 2505
diff changeset
419 ["Next %_File" next-file]
9caf26dd924f [xemacs-hg @ 2005-02-03 05:03:36 by ben]
ben
parents: 2505
diff changeset
420 "-----"
9caf26dd924f [xemacs-hg @ 2005-02-03 05:03:36 by ben]
ben
parents: 2505
diff changeset
421 ["Tags %_Search..." tags-search]
9caf26dd924f [xemacs-hg @ 2005-02-03 05:03:36 by ben]
ben
parents: 2505
diff changeset
422 ["Tags %_Replace..." tags-query-replace]
9caf26dd924f [xemacs-hg @ 2005-02-03 05:03:36 by ben]
ben
parents: 2505
diff changeset
423 ["%_Continue Search/Replace" tags-loop-continue]
9caf26dd924f [xemacs-hg @ 2005-02-03 05:03:36 by ben]
ben
parents: 2505
diff changeset
424 "-----"
9caf26dd924f [xemacs-hg @ 2005-02-03 05:03:36 by ben]
ben
parents: 2505
diff changeset
425 ["%_Pop stack" pop-tag-mark]
9caf26dd924f [xemacs-hg @ 2005-02-03 05:03:36 by ben]
ben
parents: 2505
diff changeset
426 ["%_Apropos..." tags-apropos]
9caf26dd924f [xemacs-hg @ 2005-02-03 05:03:36 by ben]
ben
parents: 2505
diff changeset
427 "-----"
9caf26dd924f [xemacs-hg @ 2005-02-03 05:03:36 by ben]
ben
parents: 2505
diff changeset
428 ["%_Set Tags Table File..." visit-tags-table]
814
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
429 )
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
430 )
2545
9caf26dd924f [xemacs-hg @ 2005-02-03 05:03:36 by ben]
ben
parents: 2505
diff changeset
431
9caf26dd924f [xemacs-hg @ 2005-02-03 05:03:36 by ben]
ben
parents: 2505
diff changeset
432 ;; #### Delete this entire menu as soon as the new package source is
9caf26dd924f [xemacs-hg @ 2005-02-03 05:03:36 by ben]
ben
parents: 2505
diff changeset
433 ;; committed.
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
434 ("%_Tools"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
435 ("%_Packages"
1374
d638fc15d68b [xemacs-hg @ 2003-03-24 11:10:54 by adrian]
adrian
parents: 1365
diff changeset
436 ("%_Set Download Site"
d638fc15d68b [xemacs-hg @ 2003-03-24 11:10:54 by adrian]
adrian
parents: 1365
diff changeset
437 ("%_Official Releases"
d638fc15d68b [xemacs-hg @ 2003-03-24 11:10:54 by adrian]
adrian
parents: 1365
diff changeset
438 :filter (lambda (&rest junk)
d638fc15d68b [xemacs-hg @ 2003-03-24 11:10:54 by adrian]
adrian
parents: 1365
diff changeset
439 (menu-split-long-menu
d638fc15d68b [xemacs-hg @ 2003-03-24 11:10:54 by adrian]
adrian
parents: 1365
diff changeset
440 (submenu-generate-accelerator-spec
d638fc15d68b [xemacs-hg @ 2003-03-24 11:10:54 by adrian]
adrian
parents: 1365
diff changeset
441 (package-ui-download-menu)))))
d638fc15d68b [xemacs-hg @ 2003-03-24 11:10:54 by adrian]
adrian
parents: 1365
diff changeset
442 ("%_Pre-Releases"
d638fc15d68b [xemacs-hg @ 2003-03-24 11:10:54 by adrian]
adrian
parents: 1365
diff changeset
443 :filter (lambda (&rest junk)
d638fc15d68b [xemacs-hg @ 2003-03-24 11:10:54 by adrian]
adrian
parents: 1365
diff changeset
444 (menu-split-long-menu
d638fc15d68b [xemacs-hg @ 2003-03-24 11:10:54 by adrian]
adrian
parents: 1365
diff changeset
445 (submenu-generate-accelerator-spec
d638fc15d68b [xemacs-hg @ 2003-03-24 11:10:54 by adrian]
adrian
parents: 1365
diff changeset
446 (package-ui-pre-release-download-menu)))))
d638fc15d68b [xemacs-hg @ 2003-03-24 11:10:54 by adrian]
adrian
parents: 1365
diff changeset
447 ("%_Site Releases"
d638fc15d68b [xemacs-hg @ 2003-03-24 11:10:54 by adrian]
adrian
parents: 1365
diff changeset
448 :filter (lambda (&rest junk)
d638fc15d68b [xemacs-hg @ 2003-03-24 11:10:54 by adrian]
adrian
parents: 1365
diff changeset
449 (menu-split-long-menu
d638fc15d68b [xemacs-hg @ 2003-03-24 11:10:54 by adrian]
adrian
parents: 1365
diff changeset
450 (submenu-generate-accelerator-spec
d638fc15d68b [xemacs-hg @ 2003-03-24 11:10:54 by adrian]
adrian
parents: 1365
diff changeset
451 (package-ui-site-release-download-menu))))))
1365
02909207294a [xemacs-hg @ 2003-03-20 13:19:56 by youngs]
youngs
parents: 1275
diff changeset
452 "--:shadowEtchedIn"
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
453 ["%_Update Package Index" package-get-update-base]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
454 ["%_List and Install" pui-list-packages]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
455 ["U%_pdate Installed Packages" package-get-update-all]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
456 ["%_Help" (Info-goto-node "(xemacs)Packages")])
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
457 ("%_Internet"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
458 ["Read Mail %_1 (VM)..." vm
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
459 :active (fboundp 'vm)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
460 ["Read Mail %_2 (MH)..." (mh-rmail t)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
461 :active (fboundp 'mh-rmail)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
462 ["Send %_Mail..." compose-mail
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
463 :active (fboundp 'compose-mail)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
464 ["Usenet %_News" gnus
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
465 :active (fboundp 'gnus)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
466 ["Browse the %_Web" w3
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
467 :active (fboundp 'w3)])
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
468 "---"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
469 ("%_Grep"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
470 :filter
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
471 (lambda (menu)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
472 (if (or (not (boundp 'grep-history)) (null grep-history))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
473 menu
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
474 (let ((items
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
475 (submenu-generate-accelerator-spec
679
6b890cfde2b1 [xemacs-hg @ 2001-11-29 18:39:21 by adrian]
adrian
parents: 644
diff changeset
476 (mapcar #'(lambda (label-value)
6b890cfde2b1 [xemacs-hg @ 2001-11-29 18:39:21 by adrian]
adrian
parents: 644
diff changeset
477 (vector (first label-value)
6b890cfde2b1 [xemacs-hg @ 2001-11-29 18:39:21 by adrian]
adrian
parents: 644
diff changeset
478 (list 'grep (second label-value))))
6b890cfde2b1 [xemacs-hg @ 2001-11-29 18:39:21 by adrian]
adrian
parents: 644
diff changeset
479 (Menubar-items-truncate-history
6b890cfde2b1 [xemacs-hg @ 2001-11-29 18:39:21 by adrian]
adrian
parents: 644
diff changeset
480 grep-history 10 50)))))
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
481 (append menu '("---") items))))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
482 ["%_Grep..." grep :active (fboundp 'grep)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
483 ["%_Kill Grep" kill-compilation
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
484 :active (and (fboundp 'kill-compilation)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
485 (fboundp 'compilation-find-buffer)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
486 (let ((buffer (condition-case nil
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
487 (compilation-find-buffer)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
488 (error nil))))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
489 (and buffer (get-buffer-process buffer))))]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
490 "---"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
491 ["Grep %_All Files in Current Directory..."
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
492 grep-all-files-in-current-directory
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
493 :active (fboundp 'grep-all-files-in-current-directory)]
793
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
494 ["Grep All Files in Current Directory %_Recursively..."
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
495 grep-all-files-in-current-directory-and-below
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
496 :active (fboundp 'grep-all-files-in-current-directory-and-below)]
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
497 "---"
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
498 ["Grep %_C and C Header Files in Current Directory..."
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
499 (progn
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
500 (require 'compile)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
501 (let ((grep-command
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
502 (cons (concat grep-command " *.[chCH]"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
503 ; i wanted to also use *.cc and *.hh.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
504 ; see long comment below under Perl.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
505 )
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
506 (length grep-command))))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
507 (call-interactively 'grep)))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
508 :active (fboundp 'grep)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
509 ["Grep C Hea%_der Files in Current Directory..."
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
510 (progn
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
511 (require 'compile)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
512 (let ((grep-command
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
513 (cons (concat grep-command " *.[hH]"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
514 ; i wanted to also use *.hh.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
515 ; see long comment below under Perl.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
516 )
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
517 (length grep-command))))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
518 (call-interactively 'grep)))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
519 :active (fboundp 'grep)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
520 ["Grep %_E-Lisp Files in Current Directory..."
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
521 (progn
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
522 (require 'compile)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
523 (let ((grep-command
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
524 (cons (concat grep-command " *.el")
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
525 (length grep-command))))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
526 (call-interactively 'grep)))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
527 :active (fboundp 'grep)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
528 ["Grep %_Perl Files in Current Directory..."
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
529 (progn
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
530 (require 'compile)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
531 (let ((grep-command
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
532 (cons (concat grep-command " *.pl"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
533 ; i wanted to use this:
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
534 ; " *.pl *.pm *.am"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
535 ; but grep complains if it can't
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
536 ; match anything in a glob, and
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
537 ; that screws other things up.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
538 ; perhaps we need to first scan
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
539 ; each separate glob in the directory
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
540 ; to see if there are any files in
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
541 ; that glob, and if not, omit it.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
542 )
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
543 (length grep-command))))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
544 (call-interactively 'grep)))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
545 :active (fboundp 'grep)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
546 ["Grep %_HTML Files in Current Directory..."
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
547 (progn
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
548 (require 'compile)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
549 (let ((grep-command
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
550 (cons (concat grep-command " *.*htm*")
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
551 (length grep-command))))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
552 (call-interactively 'grep)))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
553 :active (fboundp 'grep)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
554 "---"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
555 ["%_Next Match" next-error
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
556 :active (and (fboundp 'compilation-errors-exist-p)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
557 (compilation-errors-exist-p))]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
558 ["Pre%_vious Match" previous-error
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
559 :active (and (fboundp 'compilation-errors-exist-p)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
560 (compilation-errors-exist-p))]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
561 ["%_First Match" first-error
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
562 :active (and (fboundp 'compilation-errors-exist-p)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
563 (compilation-errors-exist-p))]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
564 ["G%_oto Match" compile-goto-error
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
565 :active (and (fboundp 'compilation-errors-exist-p)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
566 (compilation-errors-exist-p))]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
567 "---"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
568 ["%_Set Grep Command..."
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
569 (progn
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
570 (require 'compile)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
571 (customize-set-variable
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
572 'grep-command
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
573 (read-shell-command "Default Grep Command: " grep-command)))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
574 :active (fboundp 'grep)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
575 ]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
576 )
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
577 ("%_Compile"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
578 :filter
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
579 (lambda (menu)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
580 (if (or (not (boundp 'compile-history)) (null compile-history))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
581 menu
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
582 (let ((items
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
583 (submenu-generate-accelerator-spec
679
6b890cfde2b1 [xemacs-hg @ 2001-11-29 18:39:21 by adrian]
adrian
parents: 644
diff changeset
584 (mapcar #'(lambda (label-value)
6b890cfde2b1 [xemacs-hg @ 2001-11-29 18:39:21 by adrian]
adrian
parents: 644
diff changeset
585 (vector (first label-value)
6b890cfde2b1 [xemacs-hg @ 2001-11-29 18:39:21 by adrian]
adrian
parents: 644
diff changeset
586 (list 'compile (second label-value))))
6b890cfde2b1 [xemacs-hg @ 2001-11-29 18:39:21 by adrian]
adrian
parents: 644
diff changeset
587 (Menubar-items-truncate-history
6b890cfde2b1 [xemacs-hg @ 2001-11-29 18:39:21 by adrian]
adrian
parents: 644
diff changeset
588 compile-history 10 50)))))
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
589 (append menu '("---") items))))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
590 ["%_Compile..." compile :active (fboundp 'compile)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
591 ["%_Repeat Compilation" recompile :active (fboundp 'recompile)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
592 ["%_Kill Compilation" kill-compilation
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
593 :active (and (fboundp 'kill-compilation)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
594 (fboundp 'compilation-find-buffer)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
595 (let ((buffer (condition-case nil
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
596 (compilation-find-buffer)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
597 (error nil))))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
598 (and buffer (get-buffer-process buffer))))]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
599 "---"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
600 ["%_Next Error" next-error
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
601 :active (and (fboundp 'compilation-errors-exist-p)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
602 (compilation-errors-exist-p))]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
603 ["Pre%_vious Error" previous-error
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
604 :active (and (fboundp 'compilation-errors-exist-p)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
605 (compilation-errors-exist-p))]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
606 ["%_First Error" first-error
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
607 :active (and (fboundp 'compilation-errors-exist-p)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
608 (compilation-errors-exist-p))]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
609 ["G%_oto Error" compile-goto-error
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
610 :active (and (fboundp 'compilation-errors-exist-p)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
611 (compilation-errors-exist-p))]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
612 )
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
613 ("%_Debug"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
614 ["%_GDB..." gdb
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
615 :active (fboundp 'gdb)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
616 ["%_DBX..." dbx
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
617 :active (fboundp 'dbx)])
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
618 ("%_Shell"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
619 ["%_Shell" shell
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
620 :active (fboundp 'shell)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
621 ["S%_hell Command..." shell-command
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
622 :active (fboundp 'shell-command)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
623 ["Shell Command on %_Region..." shell-command-on-region
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
624 :active (and (fboundp 'shell-command-on-region) (region-exists-p))])
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
625
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
626 ("%_Tags"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
627 ["%_Find Tag..." find-tag]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
628 ["Find %_Other Window..." find-tag-other-window]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
629 ["%_Next Tag..." (find-tag nil)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
630 ["N%_ext Other Window..." (find-tag-other-window nil)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
631 ["Next %_File" next-file]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
632 "-----"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
633 ["Tags %_Search..." tags-search]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
634 ["Tags %_Replace..." tags-query-replace]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
635 ["%_Continue Search/Replace" tags-loop-continue]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
636 "-----"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
637 ["%_Pop stack" pop-tag-mark]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
638 ["%_Apropos..." tags-apropos]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
639 "-----"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
640 ["%_Set Tags Table File..." visit-tags-table]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
641 )
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
642
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
643 "----"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
644
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
645 ("Ca%_lendar"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
646 ["%_3-Month Calendar" calendar
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
647 :active (fboundp 'calendar)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
648 ["%_Diary" diary
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
649 :active (fboundp 'diary)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
650 ["%_Holidays" holidays
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
651 :active (fboundp 'holidays)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
652 ;; we're all pagans at heart ...
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
653 ["%_Phases of the Moon" phases-of-moon
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
654 :active (fboundp 'phases-of-moon)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
655 ["%_Sunrise/Sunset" sunrise-sunset
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
656 :active (fboundp 'sunrise-sunset)])
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
657
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
658 ("Ga%_mes"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
659 ["%_Mine Game" xmine
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
660 :active (fboundp 'xmine)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
661 ["%_Tetris" tetris
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
662 :active (fboundp 'tetris)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
663 ["%_Sokoban" sokoban
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
664 :active (fboundp 'sokoban)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
665 ["Quote from %_Zippy" yow
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
666 :active (fboundp 'yow)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
667 ["%_Psychoanalyst" doctor
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
668 :active (fboundp 'doctor)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
669 ["Ps%_ychoanalyze Zippy!" psychoanalyze-pinhead
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
670 :active (fboundp 'psychoanalyze-pinhead)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
671 ["%_Random Flames" flame
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
672 :active (fboundp 'flame)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
673 ["%_Dunnet (Adventure)" dunnet
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
674 :active (fboundp 'dunnet)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
675 ["Towers of %_Hanoi" hanoi
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
676 :active (fboundp 'hanoi)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
677 ["Game of %_Life" life
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
678 :active (fboundp 'life)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
679 ["M%_ultiplication Puzzle" mpuz
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
680 :active (fboundp 'mpuz)])
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
681
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
682 "----"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
683 )
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
684
2545
9caf26dd924f [xemacs-hg @ 2005-02-03 05:03:36 by ben]
ben
parents: 2505
diff changeset
685 ; ("%_Tools"
9caf26dd924f [xemacs-hg @ 2005-02-03 05:03:36 by ben]
ben
parents: 2505
diff changeset
686 ; :filter behavior-menu-filter)
9caf26dd924f [xemacs-hg @ 2005-02-03 05:03:36 by ben]
ben
parents: 2505
diff changeset
687
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
688 ("%_Options"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
689 ("%_Advanced (Customize)"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
690 ("%_Emacs" :filter (lambda (&rest junk)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
691 (cdr (custom-menu-create 'emacs))))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
692 ["%_Group..." customize-group]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
693 ["%_Variable..." customize-variable]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
694 ["%_Face..." customize-face]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
695 ["%_Saved..." customize-saved]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
696 ["Se%_t..." customize-customized]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
697 ["%_Apropos..." customize-apropos]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
698 ["%_Browse..." customize-browse])
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
699 "---"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
700 ("%_Editing"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
701 ["This Buffer %_Read Only" (toggle-read-only)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
702 :style toggle :selected buffer-read-only]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
703 ["%_Yank/Kill Interact With Clipboard"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
704 (if (eq interprogram-cut-function 'own-clipboard)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
705 (progn
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
706 (customize-set-variable 'interprogram-cut-function nil)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
707 (customize-set-variable 'interprogram-paste-function nil))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
708 (customize-set-variable 'interprogram-cut-function 'own-clipboard)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
709 (customize-set-variable 'interprogram-paste-function 'get-clipboard))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
710 :style toggle
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
711 :selected (eq interprogram-cut-function 'own-clipboard)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
712 ["%_Overstrike"
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
713 (progn
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
714 (setq overwrite-mode (if overwrite-mode nil 'overwrite-mode-textual))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
715 (customize-set-variable 'overwrite-mode overwrite-mode))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
716 :style toggle :selected overwrite-mode]
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
717 ["%_Abbrev Mode"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
718 (customize-set-variable 'abbrev-mode
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
719 (not (default-value 'abbrev-mode)))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
720 :style toggle
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
721 :selected (default-value 'abbrev-mode)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
722 ["Active Re%_gions"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
723 (customize-set-variable 'zmacs-regions (not zmacs-regions))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
724 :style toggle :selected zmacs-regions]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
725 "---"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
726 ["%_Case Sensitive Search"
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
727 (customize-set-variable 'case-fold-search
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
728 (setq case-fold-search (not case-fold-search)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
729 :style toggle :selected (not case-fold-search)]
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
730 ["Case %_Matching Replace"
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
731 (customize-set-variable 'case-replace (not case-replace))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
732 :style toggle :selected case-replace]
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
733 "---"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
734 ("%_Newline at End of File..."
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
735 ["%_Don't Require"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
736 (customize-set-variable 'require-final-newline nil)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
737 :style radio :selected (not require-final-newline)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
738 ["%_Require"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
739 (customize-set-variable 'require-final-newline t)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
740 :style radio :selected (eq require-final-newline t)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
741 ["%_Ask"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
742 (customize-set-variable 'require-final-newline 'ask)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
743 :style radio :selected (and require-final-newline
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
744 (not (eq require-final-newline t)))])
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
745 ["Add Newline When Moving Past %_End"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
746 (customize-set-variable 'next-line-add-newlines
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
747 (not next-line-add-newlines))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
748 :style toggle :selected next-line-add-newlines])
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
749 ("%_Keyboard and Mouse"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
750 ["%_Delete Key Deletes Selection"
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
751 (customize-set-variable 'pending-delete-mode (not pending-delete-mode))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
752 :style toggle
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
753 :selected (and (boundp 'pending-delete-mode) pending-delete-mode)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
754 :active (boundp 'pending-delete-mode)]
844
047d37eb70d7 [xemacs-hg @ 2002-05-16 13:30:23 by ben]
ben
parents: 838
diff changeset
755 ["`kill-%_word' Stores in Clipboard"
047d37eb70d7 [xemacs-hg @ 2002-05-16 13:30:23 by ben]
ben
parents: 838
diff changeset
756 (customize-set-variable 'kill-word-into-kill-ring
047d37eb70d7 [xemacs-hg @ 2002-05-16 13:30:23 by ben]
ben
parents: 838
diff changeset
757 (not kill-word-into-kill-ring))
047d37eb70d7 [xemacs-hg @ 2002-05-16 13:30:23 by ben]
ben
parents: 838
diff changeset
758 :style toggle
047d37eb70d7 [xemacs-hg @ 2002-05-16 13:30:23 by ben]
ben
parents: 838
diff changeset
759 :selected kill-word-into-kill-ring]
047d37eb70d7 [xemacs-hg @ 2002-05-16 13:30:23 by ben]
ben
parents: 838
diff changeset
760 ["`kill-%_line' Kills Whole Line at Beg"
462
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 454
diff changeset
761 (customize-set-variable 'kill-whole-line (not kill-whole-line))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 454
diff changeset
762 :style toggle
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 454
diff changeset
763 :selected kill-whole-line]
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
764 ["Size for %_Block-Movement Commands..."
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
765 (customize-set-variable 'block-movement-size
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
766 (read-number "Block Movement Size: "
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
767 t block-movement-size))]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
768 ["%_VI Emulation"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
769 (progn
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
770 (toggle-viper-mode)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
771 (customize-set-variable 'viper-mode viper-mode))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
772 :style toggle :selected (and (boundp 'viper-mode) viper-mode)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
773 :active (fboundp 'toggle-viper-mode)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
774 "----"
462
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 454
diff changeset
775 ["S%_hifted Motion Keys Select Region"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 454
diff changeset
776 (customize-set-variable 'shifted-motion-keys-select-region
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 454
diff changeset
777 (not shifted-motion-keys-select-region))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 454
diff changeset
778 :style toggle
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 454
diff changeset
779 :selected shifted-motion-keys-select-region]
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 454
diff changeset
780 ["%_After Shifted Motion, Unshifted Motion Keys Deselect"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 454
diff changeset
781 (customize-set-variable 'unshifted-motion-keys-deselect-region
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 454
diff changeset
782 (not unshifted-motion-keys-deselect-region))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 454
diff changeset
783 :style toggle
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 454
diff changeset
784 :selected unshifted-motion-keys-deselect-region]
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 454
diff changeset
785 "----"
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
786 ["%_Set Key..." global-set-key]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
787 ["%_Unset Key..." global-unset-key]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
788 "---"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
789 ["%_Mouse Paste at Text Cursor (not Clicked Location)"
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
790 (customize-set-variable 'mouse-yank-at-point (not mouse-yank-at-point))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
791 :style toggle :selected mouse-yank-at-point]
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
792 "---"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
793 ["%_Teach Extended Commands"
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
794 (customize-set-variable 'teach-extended-commands-p
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
795 (not teach-extended-commands-p))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
796 :style toggle :selected teach-extended-commands-p]
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
797 )
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
798 ("%_Printing"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
799 ["Set Printer %_Name for Generic Print Support..."
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
800 (customize-set-variable
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
801 'printer-name
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
802 (read-string "Set printer name: " printer-name))]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
803 "---"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
804 ["Command-Line %_Switches for `lpr'/`lp'..."
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
805 ;; better to directly open a customization buffer, since the value
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
806 ;; must be a list of strings, which is somewhat complex to prompt for.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
807 (customize-variable 'lpr-switches)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
808 (boundp 'lpr-switches)]
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
809 ("%_Pretty-Print Paper Size"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
810 ["%_Letter"
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
811 (customize-set-variable 'ps-paper-type 'letter)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
812 :style radio
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
813 :selected (and (boundp 'ps-paper-type) (eq ps-paper-type 'letter))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
814 :active (boundp 'ps-paper-type)]
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
815 ["Lette%_r-Small"
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
816 (customize-set-variable 'ps-paper-type 'letter-small)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
817 :style radio
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
818 :selected (and (boundp 'ps-paper-type)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
819 (eq ps-paper-type 'letter-small))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
820 :active (boundp 'ps-paper-type)]
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
821 ["Le%_gal"
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
822 (customize-set-variable 'ps-paper-type 'legal)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
823 :style radio
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
824 :selected (and (boundp 'ps-paper-type) (eq ps-paper-type 'legal))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
825 :active (boundp 'ps-paper-type)]
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
826 ["%_Statement"
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
827 (customize-set-variable 'ps-paper-type 'statement)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
828 :style radio
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
829 :selected (and (boundp 'ps-paper-type) (eq ps-paper-type 'statement))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
830 :active (boundp 'ps-paper-type)]
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
831 ["%_Executive"
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
832 (customize-set-variable 'ps-paper-type 'executive)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
833 :style radio
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
834 :selected (and (boundp 'ps-paper-type) (eq ps-paper-type 'executive))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
835 :active (boundp 'ps-paper-type)]
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
836 ["%_Tabloid"
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
837 (customize-set-variable 'ps-paper-type 'tabloid)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
838 :style radio
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
839 :selected (and (boundp 'ps-paper-type) (eq ps-paper-type 'tabloid))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
840 :active (boundp 'ps-paper-type)]
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
841 ["Le%_dger"
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
842 (customize-set-variable 'ps-paper-type 'ledger)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
843 :style radio
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
844 :selected (and (boundp 'ps-paper-type) (eq ps-paper-type 'ledger))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
845 :active (boundp 'ps-paper-type)]
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
846 ["A%_3"
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
847 (customize-set-variable 'ps-paper-type 'a3)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
848 :style radio
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
849 :selected (and (boundp 'ps-paper-type) (eq ps-paper-type 'a3))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
850 :active (boundp 'ps-paper-type)]
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
851 ["%_A4"
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
852 (customize-set-variable 'ps-paper-type 'a4)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
853 :style radio
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
854 :selected (and (boundp 'ps-paper-type) (eq ps-paper-type 'a4))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
855 :active (boundp 'ps-paper-type)]
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
856 ["A4s%_mall"
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
857 (customize-set-variable 'ps-paper-type 'a4small)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
858 :style radio
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
859 :selected (and (boundp 'ps-paper-type) (eq ps-paper-type 'a4small))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
860 :active (boundp 'ps-paper-type)]
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
861 ["B%_4"
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
862 (customize-set-variable 'ps-paper-type 'b4)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
863 :style radio
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
864 :selected (and (boundp 'ps-paper-type) (eq ps-paper-type 'b4))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
865 :active (boundp 'ps-paper-type)]
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
866 ["%_B5"
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
867 (customize-set-variable 'ps-paper-type 'b5)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
868 :style radio
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
869 :selected (and (boundp 'ps-paper-type) (eq ps-paper-type 'b5))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
870 :active (boundp 'ps-paper-type)]
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
871 )
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
872 ["%_Color Printing"
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
873 (cond (ps-print-color-p
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
874 (customize-set-variable 'ps-print-color-p nil)
440
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 438
diff changeset
875 ;; I'm wondering whether all this muck is useful.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
876 (and (boundp 'original-face-background)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
877 original-face-background
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
878 (set-face-background 'default original-face-background)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
879 (t
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
880 (customize-set-variable 'ps-print-color-p t)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
881 (setq original-face-background
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
882 (face-background-instance 'default))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
883 (set-face-background 'default "white")))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
884 :style toggle
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
885 :selected (and (boundp 'ps-print-color-p) ps-print-color-p)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
886 :active (boundp 'ps-print-color-p)])
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
887 ("%_Internet"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
888 ("%_Compose Mail With"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
889 ["Default Emacs Mailer"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
890 (customize-set-variable 'mail-user-agent 'sendmail-user-agent)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
891 :style radio
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
892 :selected (eq mail-user-agent 'sendmail-user-agent)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
893 ["MH"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
894 (customize-set-variable 'mail-user-agent 'mh-e-user-agent)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
895 :style radio
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
896 :selected (eq mail-user-agent 'mh-e-user-agent)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
897 :active (get 'mh-e-user-agent 'composefunc)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
898 ["GNUS"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
899 (customize-set-variable 'mail-user-agent 'message-user-agent)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
900 :style radio
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
901 :selected (eq mail-user-agent 'message-user-agent)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
902 :active (get 'message-user-agent 'composefunc)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
903 )
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
904 ["Set My %_Email Address..."
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
905 (customize-set-variable
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
906 'user-mail-address
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
907 (read-string "Set email address: " user-mail-address))]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
908 ["Set %_Machine Email Name..."
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
909 (customize-set-variable
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
910 'mail-host-address
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
911 (read-string "Set machine email name: " mail-host-address))]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
912 ["Set %_SMTP Server..."
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
913 (progn
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
914 (require 'smtpmail)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
915 (customize-set-variable
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
916 'smtpmail-smtp-server
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
917 (read-string "Set SMTP server: " smtpmail-smtp-server)))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
918 :active (and (boundp 'send-mail-function)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
919 (eq send-mail-function 'smtpmail-send-it))]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
920 ["SMTP %_Debug Info"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
921 (progn
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
922 (require 'smtpmail)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
923 (customize-set-variable 'smtpmail-debug-info
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
924 (not smtpmail-debug-info)))
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
925 :style toggle
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
926 :selected (and (boundp 'smtpmail-debug-info) smtpmail-debug-info)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
927 :active (and (boundp 'send-mail-function)
732
b9b8621c2439 [xemacs-hg @ 2002-01-22 14:16:38 by youngs]
youngs
parents: 679
diff changeset
928 (eq send-mail-function 'smtpmail-send-it))])
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
929 ("%_Troubleshooting"
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
930 ["%_Debug on Error [not saved]"
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
931 (setq debug-on-error (not debug-on-error))
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
932 :style toggle :selected debug-on-error]
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
933 ["Debug on %_Quit [not saved]"
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
934 (setq debug-on-quit (not debug-on-quit))
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
935 :style toggle :selected debug-on-quit]
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
936 ["Debug on S%_ignal [not saved]"
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
937 (setq debug-on-signal (not debug-on-signal))
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
938 :style toggle :selected debug-on-signal]
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
939 ["%_Stack Trace on Error [not saved]"
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
940 (setq stack-trace-on-error (not stack-trace-on-error))
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
941 :style toggle :selected stack-trace-on-error]
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
942 ["Stack Trace on Si%_gnal [not saved]"
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
943 (setq stack-trace-on-signal (not stack-trace-on-signal))
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
944 :style toggle :selected stack-trace-on-signal]
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
945 )
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
946 ("Encodin%_g"
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
947 ["Automatic %_EOL Detection"
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
948 (customize-set-variable 'eol-detection-enabled-p
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
949 (not eol-detection-enabled-p))
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
950 :style toggle
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
951 :selected eol-detection-enabled-p
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
952 :included (not (memq system-type '(windows-nt cygwin32)))]
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
953 ("Set Coding System of %_Buffer File"
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
954 :filter
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
955 (lambda (menu)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
956 (coding-system-menu-filter
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
957 (lambda (entry)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
958 (set-buffer-file-coding-system entry))
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
959 (lambda (entry) t)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
960 ))
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
961 )
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
962 ;; not implemented yet
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
963 ("Set Coding System of %_Terminal"
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
964 :filter
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
965 (lambda (menu)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
966 (coding-system-menu-filter
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
967 (lambda (entry)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
968 (set-terminal-coding-system entry))
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
969 (lambda (entry) nil)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
970 ))
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
971 )
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
972 ;; not implemented yet
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
973 ("Set Coding System of %_Keyboard"
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
974 :filter
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
975 (lambda (menu)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
976 (coding-system-menu-filter
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
977 (lambda (entry)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
978 (set-keyboard-coding-system entry))
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
979 (lambda (entry) nil)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
980 ))
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
981 )
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
982 ("Set Coding System of %_Process"
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
983 :filter
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
984 (lambda (menu)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
985 (coding-system-menu-filter
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
986 (lambda (entry)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
987 (set-buffer-process-coding-system entry))
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
988 (lambda (entry) (get-buffer-process (current-buffer)))
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
989 ))
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
990 )
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
991 )
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
992 ,@(when (featurep 'mule)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
993 '(("Internationa%_l"
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
994 ("Set %_Language Environment"
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
995 :filter
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
996 (lambda (menu)
2545
9caf26dd924f [xemacs-hg @ 2005-02-03 05:03:36 by ben]
ben
parents: 2505
diff changeset
997 (menu-split-long-menu-and-sort
9caf26dd924f [xemacs-hg @ 2005-02-03 05:03:36 by ben]
ben
parents: 2505
diff changeset
998 (mapcar #'(lambda (entry)
9caf26dd924f [xemacs-hg @ 2005-02-03 05:03:36 by ben]
ben
parents: 2505
diff changeset
999 `[ ,(car entry)
9caf26dd924f [xemacs-hg @ 2005-02-03 05:03:36 by ben]
ben
parents: 2505
diff changeset
1000 (set-language-environment ',(car entry))
9caf26dd924f [xemacs-hg @ 2005-02-03 05:03:36 by ben]
ben
parents: 2505
diff changeset
1001 :style radio
9caf26dd924f [xemacs-hg @ 2005-02-03 05:03:36 by ben]
ben
parents: 2505
diff changeset
1002 :selected
9caf26dd924f [xemacs-hg @ 2005-02-03 05:03:36 by ben]
ben
parents: 2505
diff changeset
1003 ,(equal (car entry)
9caf26dd924f [xemacs-hg @ 2005-02-03 05:03:36 by ben]
ben
parents: 2505
diff changeset
1004 current-language-environment)])
9caf26dd924f [xemacs-hg @ 2005-02-03 05:03:36 by ben]
ben
parents: 2505
diff changeset
1005 language-info-alist)
9caf26dd924f [xemacs-hg @ 2005-02-03 05:03:36 by ben]
ben
parents: 2505
diff changeset
1006 )))
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
1007 ["%_Toggle Input Method" toggle-input-method]
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
1008 ["Select %_Input Method" set-input-method]
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
1009 )))
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1010 "-----"
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1011 ("%_Display"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1012 ,@(if (featurep 'scrollbar)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1013 '(["%_Scrollbars"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1014 (customize-set-variable 'scrollbars-visible-p
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1015 (not scrollbars-visible-p))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1016 :style toggle
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1017 :selected scrollbars-visible-p]))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1018 ["%_Wrap Long Lines"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1019 (progn;; becomes buffer-local
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1020 (setq truncate-lines (not truncate-lines))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1021 (customize-set-variable 'truncate-lines truncate-lines))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1022 :style toggle
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1023 :selected (not truncate-lines)]
454
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 444
diff changeset
1024 "----"
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 444
diff changeset
1025 ["%_3D Modeline"
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 444
diff changeset
1026 (customize-set-variable 'modeline-3d-p
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 444
diff changeset
1027 (not modeline-3d-p))
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 444
diff changeset
1028 :style toggle
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 444
diff changeset
1029 :selected modeline-3d-p]
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 444
diff changeset
1030 ("Modeline %_Horizontal Scrolling"
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 444
diff changeset
1031 ["%_None"
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 444
diff changeset
1032 (customize-set-variable 'modeline-scrolling-method nil)
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 444
diff changeset
1033 :style radio
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 444
diff changeset
1034 :selected (not modeline-scrolling-method)]
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 444
diff changeset
1035 ["As %_Text"
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 444
diff changeset
1036 (customize-set-variable 'modeline-scrolling-method t)
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 444
diff changeset
1037 :style radio
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 444
diff changeset
1038 :selected (eq modeline-scrolling-method t)]
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 444
diff changeset
1039 ["As %_Scrollbar"
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 444
diff changeset
1040 (customize-set-variable 'modeline-scrolling-method 'scrollbar)
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 444
diff changeset
1041 :style radio
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 444
diff changeset
1042 :selected (eq modeline-scrolling-method 'scrollbar)]
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 444
diff changeset
1043 )
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1044 ,@(if (featurep 'toolbar)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1045 '("---"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1046 ["%_Toolbars Visible"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1047 (customize-set-variable 'toolbar-visible-p
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1048 (not toolbar-visible-p))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1049 :style toggle
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1050 :selected toolbar-visible-p]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1051 ["Toolbars Ca%_ptioned"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1052 (customize-set-variable 'toolbar-captioned-p
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1053 (not toolbar-captioned-p))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1054 :style toggle
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1055 :active toolbar-visible-p
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1056 :selected toolbar-captioned-p]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1057 ("Default Toolba%_r Location"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1058 ["%_Top"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1059 (customize-set-variable 'default-toolbar-position 'top)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1060 :style radio
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1061 :active toolbar-visible-p
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1062 :selected (eq default-toolbar-position 'top)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1063 ["%_Bottom"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1064 (customize-set-variable 'default-toolbar-position 'bottom)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1065 :style radio
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1066 :active toolbar-visible-p
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1067 :selected (eq default-toolbar-position 'bottom)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1068 ["%_Left"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1069 (customize-set-variable 'default-toolbar-position 'left)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1070 :style radio
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1071 :active toolbar-visible-p
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1072 :selected (eq default-toolbar-position 'left)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1073 ["%_Right"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1074 (customize-set-variable 'default-toolbar-position 'right)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1075 :style radio
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1076 :active toolbar-visible-p
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1077 :selected (eq default-toolbar-position 'right)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1078 )
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1079 ))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1080 ,@(if (featurep 'gutter)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1081 '("---"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1082 ["B%_uffers Tab Visible"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1083 (customize-set-variable 'gutter-buffers-tab-visible-p
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1084 (not gutter-buffers-tab-visible-p))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1085 :style toggle
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1086 :selected gutter-buffers-tab-visible-p]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1087 ("Default %_Gutter Location"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1088 ["%_Top"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1089 (customize-set-variable 'default-gutter-position 'top)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1090 :style radio
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1091 :selected (eq default-gutter-position 'top)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1092 ["%_Bottom"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1093 (customize-set-variable 'default-gutter-position 'bottom)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1094 :style radio
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1095 :selected (eq default-gutter-position 'bottom)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1096 ["%_Left"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1097 (customize-set-variable 'default-gutter-position 'left)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1098 :style radio
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1099 :selected (eq default-gutter-position 'left)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1100 ["%_Right"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1101 (customize-set-variable 'default-gutter-position 'right)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1102 :style radio
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1103 :selected (eq default-gutter-position 'right)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1104 )
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1105 ))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1106 "-----"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1107 ["%_Blinking Cursor"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1108 (customize-set-variable 'blink-cursor-mode (not blink-cursor-mode))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1109 :style toggle
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1110 :selected (and (boundp 'blink-cursor-mode) blink-cursor-mode)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1111 :active (boundp 'blink-cursor-mode)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1112 ["Bl%_ock Cursor"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1113 (progn
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1114 (customize-set-variable 'bar-cursor nil)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1115 (force-cursor-redisplay))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1116 :style radio
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1117 :selected (null bar-cursor)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1118 ["Bar Cursor (%_1 Pixel)"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1119 (progn
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1120 (customize-set-variable 'bar-cursor t)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1121 (force-cursor-redisplay))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1122 :style radio
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1123 :selected (eq bar-cursor t)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1124 ["Bar Cursor (%_2 Pixels)"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1125 (progn
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1126 (customize-set-variable 'bar-cursor 2)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1127 (force-cursor-redisplay))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1128 :style radio
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1129 :selected (and bar-cursor (not (eq bar-cursor t)))]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1130 "----"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1131 ("Pa%_ren Highlighting"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1132 ["%_None"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1133 (customize-set-variable 'paren-mode nil)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1134 :style radio
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1135 :selected (and (boundp 'paren-mode) (not paren-mode))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1136 :active (boundp 'paren-mode)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1137 ["%_Blinking Paren"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1138 (customize-set-variable 'paren-mode 'blink-paren)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1139 :style radio
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1140 :selected (and (boundp 'paren-mode) (eq paren-mode 'blink-paren))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1141 :active (boundp 'paren-mode)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1142 ["%_Steady Paren"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1143 (customize-set-variable 'paren-mode 'paren)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1144 :style radio
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1145 :selected (and (boundp 'paren-mode) (eq paren-mode 'paren))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1146 :active (boundp 'paren-mode)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1147 ["%_Expression"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1148 (customize-set-variable 'paren-mode 'sexp)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1149 :style radio
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1150 :selected (and (boundp 'paren-mode) (eq paren-mode 'sexp))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1151 :active (boundp 'paren-mode)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1152 ;; ["Nes%_ted Shading"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1153 ;; (customize-set-variable 'paren-mode 'nested)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1154 ;; :style radio
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1155 ;; :selected (and (boundp 'paren-mode) (eq paren-mode 'nested))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1156 ;; :active (boundp 'paren-mode)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1157 )
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1158 "------"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1159 ["%_Line Numbers"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1160 (progn
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1161 (customize-set-variable 'line-number-mode (not line-number-mode))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1162 (redraw-modeline))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1163 :style toggle :selected line-number-mode]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1164 ["%_Column Numbers"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1165 (progn
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1166 (customize-set-variable 'column-number-mode
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1167 (not column-number-mode))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1168 (redraw-modeline))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1169 :style toggle :selected column-number-mode]
454
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 444
diff changeset
1170
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1171 ("\"Other %_Window\" Location"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1172 ["%_Always in Same Frame"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1173 (customize-set-variable
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1174 'get-frame-for-buffer-default-instance-limit nil)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1175 :style radio
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1176 :selected (null get-frame-for-buffer-default-instance-limit)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1177 ["Other Frame (%_2 Frames Max)"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1178 (customize-set-variable 'get-frame-for-buffer-default-instance-limit
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1179 2)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1180 :style radio
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1181 :selected (eq 2 get-frame-for-buffer-default-instance-limit)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1182 ["Other Frame (%_3 Frames Max)"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1183 (customize-set-variable 'get-frame-for-buffer-default-instance-limit
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1184 3)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1185 :style radio
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1186 :selected (eq 3 get-frame-for-buffer-default-instance-limit)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1187 ["Other Frame (%_4 Frames Max)"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1188 (customize-set-variable 'get-frame-for-buffer-default-instance-limit
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1189 4)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1190 :style radio
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1191 :selected (eq 4 get-frame-for-buffer-default-instance-limit)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1192 ["Other Frame (%_5 Frames Max)"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1193 (customize-set-variable 'get-frame-for-buffer-default-instance-limit
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1194 5)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1195 :style radio
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1196 :selected (eq 5 get-frame-for-buffer-default-instance-limit)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1197 ["Always Create %_New Frame"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1198 (customize-set-variable 'get-frame-for-buffer-default-instance-limit
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1199 0)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1200 :style radio
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1201 :selected (eq 0 get-frame-for-buffer-default-instance-limit)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1202 "-----"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1203 ["%_Temp Buffers Always in Same Frame"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1204 (customize-set-variable 'temp-buffer-show-function
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1205 'show-temp-buffer-in-current-frame)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1206 :style radio
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1207 :selected (eq temp-buffer-show-function
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1208 'show-temp-buffer-in-current-frame)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1209 ["Temp Buffers %_Like Other Buffers"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1210 (customize-set-variable 'temp-buffer-show-function nil)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1211 :style radio
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1212 :selected (null temp-buffer-show-function)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1213 "-----"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1214 ["%_Make Current Frame Gnuserv Target"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1215 (customize-set-variable 'gnuserv-frame (if (eq gnuserv-frame t) nil
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1216 t))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1217 :style toggle
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1218 :selected (and (boundp 'gnuserv-frame) (eq gnuserv-frame t))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1219 :active (boundp 'gnuserv-frame)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1220 )
454
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 444
diff changeset
1221 )
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1222 ("%_Menubars"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1223 ["%_Frame-Local Font Menu"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1224 (customize-set-variable 'font-menu-this-frame-only-p
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1225 (not font-menu-this-frame-only-p))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1226 :style toggle
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1227 :selected (and (boundp 'font-menu-this-frame-only-p)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1228 font-menu-this-frame-only-p)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1229 ["%_Alt/Meta Selects Menu Items"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1230 (if (eq menu-accelerator-enabled 'menu-force)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1231 (customize-set-variable 'menu-accelerator-enabled nil)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1232 (customize-set-variable 'menu-accelerator-enabled 'menu-force))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1233 :style toggle
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1234 :selected (eq menu-accelerator-enabled 'menu-force)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1235 "----"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1236 ["Buffers Menu %_Length..."
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1237 (customize-set-variable
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1238 'buffers-menu-max-size
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1239 ;; would it be better to open a customization buffer ?
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1240 (let ((val
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1241 (read-number
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1242 "Enter number of buffers to display (or 0 for unlimited): ")))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1243 (if (eq val 0) nil val)))]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1244 ["%_Multi-Operation Buffers Sub-Menus"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1245 (customize-set-variable 'complex-buffers-menu-p
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1246 (not complex-buffers-menu-p))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1247 :style toggle
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1248 :selected complex-buffers-menu-p]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1249 ["S%_ubmenus for Buffer Groups"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1250 (customize-set-variable 'buffers-menu-submenus-for-groups-p
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1251 (not buffers-menu-submenus-for-groups-p))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1252 :style toggle
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1253 :selected buffers-menu-submenus-for-groups-p]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1254 ["%_Verbose Buffer Menu Entries"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1255 (if (eq buffers-menu-format-buffer-line-function
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1256 'slow-format-buffers-menu-line)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1257 (customize-set-variable 'buffers-menu-format-buffer-line-function
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1258 'format-buffers-menu-line)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1259 (customize-set-variable 'buffers-menu-format-buffer-line-function
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1260 'slow-format-buffers-menu-line))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1261 :style toggle
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1262 :selected (eq buffers-menu-format-buffer-line-function
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1263 'slow-format-buffers-menu-line)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1264 ("Buffers Menu %_Sorting"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1265 ["%_Most Recently Used"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1266 (progn
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1267 (customize-set-variable 'buffers-menu-sort-function nil)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1268 (customize-set-variable 'buffers-menu-grouping-function nil))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1269 :style radio
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1270 :selected (null buffers-menu-sort-function)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1271 ["%_Alphabetically"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1272 (progn
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1273 (customize-set-variable 'buffers-menu-sort-function
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1274 'sort-buffers-menu-alphabetically)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1275 (customize-set-variable 'buffers-menu-grouping-function nil))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1276 :style radio
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1277 :selected (eq 'sort-buffers-menu-alphabetically
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1278 buffers-menu-sort-function)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1279 ["%_By Major Mode, Then Alphabetically"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1280 (progn
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1281 (customize-set-variable
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1282 'buffers-menu-sort-function
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1283 'sort-buffers-menu-by-mode-then-alphabetically)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1284 (customize-set-variable
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1285 'buffers-menu-grouping-function
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1286 'group-buffers-menu-by-mode-then-alphabetically))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1287 :style radio
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1288 :selected (eq 'sort-buffers-menu-by-mode-then-alphabetically
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1289 buffers-menu-sort-function)])
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1290 "---"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1291 ["%_Ignore Scaled Fonts"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1292 (customize-set-variable 'font-menu-ignore-scaled-fonts
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1293 (not font-menu-ignore-scaled-fonts))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1294 :style toggle
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1295 :selected (and (boundp 'font-menu-ignore-scaled-fonts)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1296 font-menu-ignore-scaled-fonts)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1297 )
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1298 ("S%_yntax Highlighting"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1299 ["%_In This Buffer"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1300 (progn;; becomes buffer local
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1301 (font-lock-mode)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1302 (customize-set-variable 'font-lock-mode font-lock-mode))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1303 :style toggle
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1304 :selected (and (boundp 'font-lock-mode) font-lock-mode)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1305 :active (boundp 'font-lock-mode)]
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1306 ["%_Automatic"
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1307 (customize-set-variable 'font-lock-auto-fontify
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1308 (not font-lock-auto-fontify))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1309 :style toggle
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1310 :selected (and (boundp 'font-lock-auto-fontify) font-lock-auto-fontify)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1311 :active (fboundp 'font-lock-mode)]
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1312 "-----"
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1313 ["Force %_Rehighlight in this Buffer"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1314 (customize-set-variable 'font-lock-auto-fontify
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1315 (not font-lock-auto-fontify))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1316 :style toggle
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1317 :selected (and (boundp 'font-lock-auto-fontify) font-lock-auto-fontify)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1318 :active (fboundp 'font-lock-mode)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1319 "-----"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1320 ["%_Fonts"
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1321 (progn
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1322 (require 'font-lock)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1323 (font-lock-use-default-fonts)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1324 (customize-set-variable 'font-lock-use-fonts t)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1325 (customize-set-variable 'font-lock-use-colors nil)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1326 (font-lock-mode 1))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1327 :style radio
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1328 :selected (and (boundp 'font-lock-use-fonts) font-lock-use-fonts)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1329 :active (fboundp 'font-lock-mode)]
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1330 ["%_Colors"
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1331 (progn
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1332 (require 'font-lock)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1333 (font-lock-use-default-colors)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1334 (customize-set-variable 'font-lock-use-colors t)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1335 (customize-set-variable 'font-lock-use-fonts nil)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1336 (font-lock-mode 1))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1337 :style radio
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1338 :selected (and (boundp 'font-lock-use-colors) font-lock-use-colors)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1339 :active (boundp 'font-lock-mode)]
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1340 "-----"
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1341 ["%_1 Least"
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1342 (progn
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1343 (require 'font-lock)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1344 (if (or (and (not (integerp font-lock-maximum-decoration))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1345 (not (eq t font-lock-maximum-decoration)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1346 (and (integerp font-lock-maximum-decoration)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1347 (<= font-lock-maximum-decoration 0)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1348 nil
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1349 (customize-set-variable 'font-lock-maximum-decoration nil)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1350 (font-lock-recompute-variables)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1351 :style radio
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1352 :active (fboundp 'font-lock-mode)
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1353 :selected (and (boundp 'font-lock-maximum-decoration)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1354 (or (and (not (integerp font-lock-maximum-decoration))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1355 (not (eq t font-lock-maximum-decoration)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1356 (and (integerp font-lock-maximum-decoration)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1357 (<= font-lock-maximum-decoration 0))))]
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1358 ["%_2 More"
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1359 (progn
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1360 (require 'font-lock)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1361 (if (and (integerp font-lock-maximum-decoration)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1362 (= 1 font-lock-maximum-decoration))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1363 nil
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1364 (customize-set-variable 'font-lock-maximum-decoration 1)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1365 (font-lock-recompute-variables)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1366 :style radio
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1367 :active (fboundp 'font-lock-mode)
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1368 :selected (and (boundp 'font-lock-maximum-decoration)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1369 (integerp font-lock-maximum-decoration)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1370 (= 1 font-lock-maximum-decoration))]
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1371 ["%_3 Even More"
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1372 (progn
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1373 (require 'font-lock)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1374 (if (and (integerp font-lock-maximum-decoration)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1375 (= 2 font-lock-maximum-decoration))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1376 nil
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1377 (customize-set-variable 'font-lock-maximum-decoration 2)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1378 (font-lock-recompute-variables)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1379 :style radio
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1380 :active (fboundp 'font-lock-mode)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1381 :selected (and (boundp 'font-lock-maximum-decoration)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1382 (integerp font-lock-maximum-decoration)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1383 (= 2 font-lock-maximum-decoration))]
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1384 ["%_4 Most"
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1385 (progn
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1386 (require 'font-lock)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1387 (if (or (eq font-lock-maximum-decoration t)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1388 (and (integerp font-lock-maximum-decoration)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1389 (>= font-lock-maximum-decoration 3)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1390 nil
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1391 (customize-set-variable 'font-lock-maximum-decoration t)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1392 (font-lock-recompute-variables)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1393 :style radio
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1394 :active (fboundp 'font-lock-mode)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1395 :selected (and (boundp 'font-lock-maximum-decoration)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1396 (or (eq font-lock-maximum-decoration t)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1397 (and (integerp font-lock-maximum-decoration)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1398 (>= font-lock-maximum-decoration 3))))]
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1399 "-----"
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1400 ["Lazy %_Lock"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1401 (progn;; becomes buffer local
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1402 (lazy-lock-mode)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1403 (customize-set-variable 'lazy-lock-mode lazy-lock-mode)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1404 ;; this shouldn't be necessary so there has to
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1405 ;; be a redisplay bug lurking somewhere (or
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1406 ;; possibly another event handler bug)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1407 (redraw-modeline))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1408 :active (and (boundp 'font-lock-mode) (boundp 'lazy-lock-mode)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1409 font-lock-mode)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1410 :style toggle
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1411 :selected (and (boundp 'lazy-lock-mode) lazy-lock-mode)]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1412 ["Lazy %_Shot"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1413 (progn;; becomes buffer local
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1414 (lazy-shot-mode)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1415 (customize-set-variable 'lazy-shot-mode lazy-shot-mode)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1416 ;; this shouldn't be necessary so there has to
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1417 ;; be a redisplay bug lurking somewhere (or
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1418 ;; possibly another event handler bug)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1419 (redraw-modeline))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1420 :active (and (boundp 'font-lock-mode) (boundp 'lazy-shot-mode)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1421 font-lock-mode)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1422 :style toggle
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1423 :selected (and (boundp 'lazy-shot-mode) lazy-shot-mode)]
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1424 ["Cac%_hing"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1425 (progn;; becomes buffer local
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1426 (fast-lock-mode)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1427 (customize-set-variable 'fast-lock-mode fast-lock-mode)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1428 ;; this shouldn't be necessary so there has to
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1429 ;; be a redisplay bug lurking somewhere (or
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1430 ;; possibly another event handler bug)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1431 (redraw-modeline))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1432 :active (and (boundp 'font-lock-mode) (boundp 'fast-lock-mode)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1433 font-lock-mode)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1434 :style toggle
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1435 :selected (and (boundp 'fast-lock-mode) fast-lock-mode)]
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1436 )
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1437 ("%_Font" :filter font-menu-family-constructor)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1438 ("Font Si%_ze" :filter font-menu-size-constructor)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1439 ;; ("Font Weig%_ht" :filter font-menu-weight-constructor)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1440 ["Edit Fa%_ces..." (customize-face nil)]
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1441 "-----"
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1442 ["Edit I%_nit File"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1443 ;; #### there should be something that holds the name that the init
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1444 ;; file should be created as, when it's not present.
502
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 479
diff changeset
1445 (let ((el-file (or user-init-file "~/.xemacs/init.el")))
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 479
diff changeset
1446 (if (string-match "\\.elc$" el-file)
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 479
diff changeset
1447 (setq el-file
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 479
diff changeset
1448 (substring user-init-file 0 (1- (length el-file)))))
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 479
diff changeset
1449 (find-file el-file)
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 479
diff changeset
1450 (or (eq major-mode 'emacs-lisp-mode)
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 479
diff changeset
1451 (emacs-lisp-mode)))]
2030
488b2f76d852 [xemacs-hg @ 2004-04-19 08:54:47 by stephent]
stephent
parents: 1389
diff changeset
1452 ["%_Save Options to Custom File" customize-save-customized]
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1453 )
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1454
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1455 ("%_Buffers"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1456 :filter buffers-menu-filter
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1457 ["Go To %_Previous Buffer" switch-to-other-buffer]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1458 ["Go To %_Buffer..." switch-to-buffer]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1459 "----"
792
4e83fdb13eb9 [xemacs-hg @ 2002-03-23 05:08:47 by youngs]
youngs
parents: 788
diff changeset
1460 ["%_List All Buffers" list-all-buffers]
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1461 ["%_Delete Buffer" kill-this-buffer
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1462 :suffix (if put-buffer-names-in-file-menu (buffer-name) "")]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1463 "----"
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1464 )
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1465
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1466 nil ; the partition: menus after this are flushright
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1467
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1468 ("%_Help"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1469 ["%_About XEmacs..." about-xemacs]
502
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 479
diff changeset
1470 ["%_Home Page (www.xemacs.org)" xemacs-www-page
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 479
diff changeset
1471 :active (fboundp 'browse-url)]
479
52626a2f02ef [xemacs-hg @ 2001-04-20 11:31:53 by ben]
ben
parents: 464
diff changeset
1472 ["What's %_New in XEmacs" view-emacs-news]
2505
3e5a2d0d57e1 [xemacs-hg @ 2005-01-26 04:56:17 by ben]
ben
parents: 2421
diff changeset
1473 ["B%_eta Info" describe-beta
3e5a2d0d57e1 [xemacs-hg @ 2005-01-26 04:56:17 by ben]
ben
parents: 2421
diff changeset
1474 :included (string-match "beta" emacs-version)]
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1475 "-----"
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1476 ("%_Info (Online Docs)"
1275
57b76886836d [xemacs-hg @ 2003-02-08 02:29:52 by ben]
ben
parents: 903
diff changeset
1477 ["%_Info Contents" (Info-goto-node "(dir)")]
502
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 479
diff changeset
1478 "-----"
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 479
diff changeset
1479 ["XEmacs %_User's Manual" (Info-goto-node "(XEmacs)")]
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 479
diff changeset
1480 ["XEmacs %_Lisp Reference Manual" (Info-goto-node "(Lispref)")]
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 479
diff changeset
1481 ["All About %_Packages" (Info-goto-node "(xemacs)Packages")]
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 479
diff changeset
1482 ["%_Getting Started with XEmacs" (Info-goto-node "(New-Users-Guide)")]
1275
57b76886836d [xemacs-hg @ 2003-02-08 02:29:52 by ben]
ben
parents: 903
diff changeset
1483 ["%_XEmacs Internals Manual" (Info-goto-node "(Internals)")]
502
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 479
diff changeset
1484 ["%_How to Use Info" (Info-goto-node "(Info)")]
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 479
diff changeset
1485 "-----"
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 479
diff changeset
1486 ["Lookup %_Key Sequence in User's Manual..."
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 479
diff changeset
1487 Info-goto-emacs-key-command-node]
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 479
diff changeset
1488 ["Lookup %_Command in User's Manual..." Info-goto-emacs-command-node]
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 479
diff changeset
1489 ["Lookup %_Function in Lisp Reference..." Info-elisp-ref]
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 479
diff changeset
1490 "-----"
1275
57b76886836d [xemacs-hg @ 2003-02-08 02:29:52 by ben]
ben
parents: 903
diff changeset
1491 ["Find %_Topic in User's Manual/Lispref..."
502
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 479
diff changeset
1492 Info-search-index-in-xemacs-and-lispref]
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 479
diff changeset
1493 ["%_Search Text in User's Manual..." Info-search-text-in-xemacs]
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 479
diff changeset
1494 ["S%_earch Text in Lisp Reference..."
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 479
diff changeset
1495 Info-search-text-in-lispref]
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 479
diff changeset
1496 )
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1497 ("XEmacs %_FAQ"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1498 ["%_FAQ (local)" xemacs-local-faq]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1499 ["FAQ via %_WWW" xemacs-www-faq
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1500 :active (fboundp 'browse-url)])
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1501 ("%_Tutorials"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1502 :filter tutorials-menu-filter)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1503 ("%_Samples"
502
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 479
diff changeset
1504 ["View Sample %_init.el" view-sample-init-el
462
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 454
diff changeset
1505 :active (locate-data-file "sample.init.el")]
502
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 479
diff changeset
1506 ["View Sample .%_gtkrc"
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 479
diff changeset
1507 (Help-find-file (locate-data-file "sample.gtkrc"))
462
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 454
diff changeset
1508 :included (featurep 'gtk)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 454
diff changeset
1509 :active (locate-data-file "sample.gtkrc")]
1389
6355bae896e3 [xemacs-hg @ 2003-03-27 12:57:36 by stephent]
stephent
parents: 1374
diff changeset
1510 ["View Sample .%_Xresources"
6355bae896e3 [xemacs-hg @ 2003-03-27 12:57:36 by stephent]
stephent
parents: 1374
diff changeset
1511 (Help-find-file (locate-data-file "sample.Xresources"))
462
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 454
diff changeset
1512 :included (featurep 'x)
1389
6355bae896e3 [xemacs-hg @ 2003-03-27 12:57:36 by stephent]
stephent
parents: 1374
diff changeset
1513 :active (locate-data-file "sample.Xresources")]
502
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 479
diff changeset
1514 ["View Sample %_enriched.doc"
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 479
diff changeset
1515 (Help-find-file (locate-data-file "enriched.doc"))
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1516 :active (locate-data-file "enriched.doc")])
502
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 479
diff changeset
1517 ("%_Commands, Variables, Keys"
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 479
diff changeset
1518 ["Describe %_Mode" describe-mode]
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1519 ["%_Apropos..." hyper-apropos]
502
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 479
diff changeset
1520 ["%_Command-Only Apropos..." command-hyper-apropos]
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1521 ["Apropos %_Docs..." apropos-documentation]
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1522 "-----"
502
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 479
diff changeset
1523 ["Describe %_Key..." describe-key]
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 479
diff changeset
1524 ["Show %_Bindings" describe-bindings]
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 479
diff changeset
1525 ["Show M%_ouse Bindings" describe-pointer]
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1526 "-----"
502
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 479
diff changeset
1527 ["Describe %_Function..." describe-function]
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 479
diff changeset
1528 ["Describe %_Variable..." describe-variable]
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 479
diff changeset
1529 ["%_Locate Command in Keymap..." where-is])
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
1530 ,@(when (featurep 'mule)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
1531 '(("Internationa%_l"
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
1532 ("Describe %_Language Support"
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
1533 :filter
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
1534 (lambda (menu)
2545
9caf26dd924f [xemacs-hg @ 2005-02-03 05:03:36 by ben]
ben
parents: 2505
diff changeset
1535 (menu-split-long-menu-and-sort
9caf26dd924f [xemacs-hg @ 2005-02-03 05:03:36 by ben]
ben
parents: 2505
diff changeset
1536 (mapcar #'(lambda (entry)
9caf26dd924f [xemacs-hg @ 2005-02-03 05:03:36 by ben]
ben
parents: 2505
diff changeset
1537 `[ ,(car entry)
9caf26dd924f [xemacs-hg @ 2005-02-03 05:03:36 by ben]
ben
parents: 2505
diff changeset
1538 (describe-language-environment
9caf26dd924f [xemacs-hg @ 2005-02-03 05:03:36 by ben]
ben
parents: 2505
diff changeset
1539 ',(car entry))
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
1540 :style radio
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
1541 :selected
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
1542 ,(equal (car entry)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
1543 current-language-environment)])
2545
9caf26dd924f [xemacs-hg @ 2005-02-03 05:03:36 by ben]
ben
parents: 2505
diff changeset
1544 language-info-alist)
9caf26dd924f [xemacs-hg @ 2005-02-03 05:03:36 by ben]
ben
parents: 2505
diff changeset
1545 )))
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
1546 ["Describe %_Input Method" describe-input-method]
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
1547 ["Describe Current %_Coding Systems"
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
1548 describe-current-coding-system]
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
1549 ["Show Character %_Table" view-charset-by-menu]
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
1550 ;; not implemented yet
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
1551 ["Show %_Diagnosis for MULE" mule-diag :active nil]
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
1552 ["Show \"%_hello\" in Many Languages" view-hello-file]
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
1553 )))
793
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
1554 ("%_Other"
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1555 ["%_Current Installation Info" describe-installation
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1556 :active (boundp 'Installation-string)]
2505
3e5a2d0d57e1 [xemacs-hg @ 2005-01-26 04:56:17 by ben]
ben
parents: 2421
diff changeset
1557 ["%_Obtaining the Latest Version" describe-distribution]
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1558 ["%_No Warranty" describe-no-warranty]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1559 ["XEmacs %_License" describe-copying]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1560 ["Find %_Packages" finder-by-keyword]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1561 ["View %_Splash Screen" xemacs-splash-buffer]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1562 ["%_Unix Manual..." manual-entry])
502
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 479
diff changeset
1563 "-----"
793
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
1564 ["Recent %_Messages" (view-lossage t)]
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
1565 ["Recent %_Keystrokes" view-lossage]
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 792
diff changeset
1566 ["Recent %_Warnings" view-warnings]
644
51494923758b [xemacs-hg @ 2001-08-06 04:40:51 by youngs]
youngs
parents: 510
diff changeset
1567 ["Send %_Bug Report..." report-xemacs-bug
51494923758b [xemacs-hg @ 2001-08-06 04:40:51 by youngs]
youngs
parents: 510
diff changeset
1568 :active (fboundp 'report-xemacs-bug)])))
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1569
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1570
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
1571 (defun init-menubar-at-startup ()
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1572 "Don't call this.
2376
3a1ce66c92fa [xemacs-hg @ 2004-11-08 14:17:00 by stephent]
stephent
parents: 2030
diff changeset
1573 Adds `Load init files' button to menubar when starting up with -q."
3a1ce66c92fa [xemacs-hg @ 2004-11-08 14:17:00 by stephent]
stephent
parents: 2030
diff changeset
1574 ;; load-user-init-file finds the init files itself now
3a1ce66c92fa [xemacs-hg @ 2004-11-08 14:17:00 by stephent]
stephent
parents: 2030
diff changeset
1575 (when (not load-user-init-file-p)
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1576 (add-menu-button
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1577 nil
2376
3a1ce66c92fa [xemacs-hg @ 2004-11-08 14:17:00 by stephent]
stephent
parents: 2030
diff changeset
1578 ["%_Load init files"
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1579 (progn
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1580 (mapc #'(lambda (buf)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1581 (with-current-buffer buf
2376
3a1ce66c92fa [xemacs-hg @ 2004-11-08 14:17:00 by stephent]
stephent
parents: 2030
diff changeset
1582 (delete-menu-item '("Load init files"))))
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1583 (buffer-list))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1584 (load-user-init-file))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1585 ]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1586 "Help")))
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1587
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1588
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1589 ;;; The File menu
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1590
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1591 (defvar put-buffer-names-in-file-menu t)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1592
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1593 ;;; The Buffers menu
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1594
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1595 (defgroup buffers-menu nil
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1596 "Customization of `Buffers' menu."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1597 :group 'menu)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1598
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1599 (defvar buffers-menu-omit-chars-list '(?b ?p ?l ?d))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1600
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1601 (defcustom buffers-menu-max-size 25
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1602 "*Maximum number of entries which may appear on the \"Buffers\" menu.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1603 If this is 10, then only the ten most-recently-selected buffers will be
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1604 shown. If this is nil, then all buffers will be shown. Setting this to
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1605 a large number or nil will slow down menu responsiveness."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1606 :type '(choice (const :tag "Show all" nil)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1607 (integer 10))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1608 :group 'buffers-menu)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1609
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1610 (defcustom complex-buffers-menu-p nil
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1611 "*If non-nil, the buffers menu will contain several commands.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1612 Commands will be presented as submenus of each buffer line. If this
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1613 is false, then there will be only one command: select that buffer."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1614 :type 'boolean
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1615 :group 'buffers-menu)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1616
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1617 (defcustom buffers-menu-submenus-for-groups-p nil
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1618 "*If non-nil, the buffers menu will contain one submenu per group of buffers.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1619 The grouping function is specified in `buffers-menu-grouping-function'.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1620 If this is an integer, do not build submenus if the number of buffers
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1621 is not larger than this value."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1622 :type '(choice (const :tag "No Subgroups" nil)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1623 (integer :tag "Max. submenus" 10)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1624 (sexp :format "%t\n" :tag "Allow Subgroups" :value t))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1625 :group 'buffers-menu)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1626
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1627 (defcustom buffers-menu-switch-to-buffer-function 'switch-to-buffer
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1628 "*The function to call to select a buffer from the buffers menu.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1629 `switch-to-buffer' is a good choice, as is `pop-to-buffer'."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1630 :type '(radio (function-item switch-to-buffer)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1631 (function-item pop-to-buffer)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1632 (function :tag "Other"))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1633 :group 'buffers-menu)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1634
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1635 (defcustom buffers-menu-omit-function 'buffers-menu-omit-invisible-buffers
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1636 "*If non-nil, a function specifying the buffers to omit from the buffers menu.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1637 This is passed a buffer and should return non-nil if the buffer should be
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1638 omitted. The default value `buffers-menu-omit-invisible-buffers' omits
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1639 buffers that are normally considered \"invisible\" (those whose name
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1640 begins with a space)."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1641 :type '(choice (const :tag "None" nil)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1642 function)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1643 :group 'buffers-menu)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1644
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1645 (defcustom buffers-menu-format-buffer-line-function 'format-buffers-menu-line
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1646 "*The function to call to return a string to represent a buffer in
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1647 the buffers menu. The function is passed a buffer and a number
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1648 (starting with 1) indicating which buffer line in the menu is being
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1649 processed and should return a string containing an accelerator
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1650 spec. (Check out `menu-item-generate-accelerator-spec' as a convenient
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1651 way of generating the accelerator specs.) The default value
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1652 `format-buffers-menu-line' just returns the name of the buffer and
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1653 uses the number as the accelerator. Also check out
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1654 `slow-format-buffers-menu-line' which returns a whole bunch of info
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1655 about a buffer.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1656
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1657 Note: Gross Compatibility Hack: Older versions of this function prototype
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1658 only expected one argument, not two. We deal gracefully with such
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1659 functions by simply calling them with one argument and leaving out the
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1660 line number. However, this may go away at any time, so make sure to
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1661 update all of your functions of this type."
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1662 :type 'function
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1663 :group 'buffers-menu)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1664
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1665 (defcustom buffers-menu-sort-function
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1666 'sort-buffers-menu-by-mode-then-alphabetically
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1667 "*If non-nil, a function to sort the list of buffers in the buffers menu.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1668 It will be passed two arguments (two buffers to compare) and should return
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1669 t if the first is \"less\" than the second. One possible value is
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1670 `sort-buffers-menu-alphabetically'; another is
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1671 `sort-buffers-menu-by-mode-then-alphabetically'."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1672 :type '(choice (const :tag "None" nil)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1673 function)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1674 :group 'buffers-menu)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1675
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1676 (defcustom buffers-menu-grouping-function
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1677 'group-buffers-menu-by-mode-then-alphabetically
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1678 "*If non-nil, a function to group buffers in the buffers menu together.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1679 It will be passed two arguments, successive members of the sorted buffers
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1680 list after being passed through `buffers-menu-sort-function'. It should
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1681 return non-nil if the second buffer begins a new group. The return value
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1682 should be the name of the old group, which may be used in hierarchical
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1683 buffers menus. The last invocation of the function contains nil as the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1684 second argument, so that the name of the last group can be determined.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1685
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1686 The sensible values of this function are dependent on the value specified
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1687 for `buffers-menu-sort-function'."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1688 :type '(choice (const :tag "None" nil)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1689 function)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1690 :group 'buffers-menu)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1691
792
4e83fdb13eb9 [xemacs-hg @ 2002-03-23 05:08:47 by youngs]
youngs
parents: 788
diff changeset
1692 (defcustom list-all-buffers-function 'list-buffers
4e83fdb13eb9 [xemacs-hg @ 2002-03-23 05:08:47 by youngs]
youngs
parents: 788
diff changeset
1693 "*Function that `list-all-buffers' calls."
4e83fdb13eb9 [xemacs-hg @ 2002-03-23 05:08:47 by youngs]
youngs
parents: 788
diff changeset
1694 :type '(choice (const list-buffers)
4e83fdb13eb9 [xemacs-hg @ 2002-03-23 05:08:47 by youngs]
youngs
parents: 788
diff changeset
1695 (const ibuffer)
4e83fdb13eb9 [xemacs-hg @ 2002-03-23 05:08:47 by youngs]
youngs
parents: 788
diff changeset
1696 (const ibuffer-other-window)
4e83fdb13eb9 [xemacs-hg @ 2002-03-23 05:08:47 by youngs]
youngs
parents: 788
diff changeset
1697 function)
4e83fdb13eb9 [xemacs-hg @ 2002-03-23 05:08:47 by youngs]
youngs
parents: 788
diff changeset
1698 :group 'buffers-menu)
4e83fdb13eb9 [xemacs-hg @ 2002-03-23 05:08:47 by youngs]
youngs
parents: 788
diff changeset
1699
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1700 (defun sort-buffers-menu-alphabetically (buf1 buf2)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1701 "For use as a value of `buffers-menu-sort-function'.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1702 Sorts the buffers in alphabetical order by name, but puts buffers beginning
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1703 with a star at the end of the list."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1704 (let* ((nam1 (buffer-name buf1))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1705 (nam2 (buffer-name buf2))
438
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 428
diff changeset
1706 (inv1p (not (null (string-match "\\` " nam1))))
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 428
diff changeset
1707 (inv2p (not (null (string-match "\\` " nam2))))
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1708 (star1p (not (null (string-match "\\`*" nam1))))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1709 (star2p (not (null (string-match "\\`*" nam2)))))
438
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 428
diff changeset
1710 (cond ((not (eq inv1p inv2p))
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 428
diff changeset
1711 (not inv1p))
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 428
diff changeset
1712 ((not (eq star1p star2p))
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 428
diff changeset
1713 (not star1p))
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 428
diff changeset
1714 (t
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 428
diff changeset
1715 (string-lessp nam1 nam2)))))
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1716
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1717 (defun sort-buffers-menu-by-mode-then-alphabetically (buf1 buf2)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1718 "For use as a value of `buffers-menu-sort-function'.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1719 Sorts first by major mode and then alphabetically by name, but puts buffers
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1720 beginning with a star at the end of the list."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1721 (let* ((nam1 (buffer-name buf1))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1722 (nam2 (buffer-name buf2))
438
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 428
diff changeset
1723 (inv1p (not (null (string-match "\\` " nam1))))
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 428
diff changeset
1724 (inv2p (not (null (string-match "\\` " nam2))))
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1725 (star1p (not (null (string-match "\\`*" nam1))))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1726 (star2p (not (null (string-match "\\`*" nam2))))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1727 (mode1 (symbol-value-in-buffer 'major-mode buf1))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1728 (mode2 (symbol-value-in-buffer 'major-mode buf2)))
438
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 428
diff changeset
1729 (cond ((not (eq inv1p inv2p))
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 428
diff changeset
1730 (not inv1p))
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 428
diff changeset
1731 ((not (eq star1p star2p))
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 428
diff changeset
1732 (not star1p))
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1733 ((and star1p star2p (string-lessp nam1 nam2)))
438
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 428
diff changeset
1734 ((string-lessp mode1 mode2)
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 428
diff changeset
1735 t)
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 428
diff changeset
1736 ((string-lessp mode2 mode1)
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 428
diff changeset
1737 nil)
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 428
diff changeset
1738 (t
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 428
diff changeset
1739 (string-lessp nam1 nam2)))))
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1740
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1741 ;; this version is too slow on some machines.
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1742 ;; (vintage 1990, that is)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1743 (defun slow-format-buffers-menu-line (buffer n)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1744 "For use as a value of `buffers-menu-format-buffer-line-function'.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1745 This returns a string containing a bunch of info about the buffer."
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1746 (concat (menu-item-generate-accelerator-spec n buffers-menu-omit-chars-list)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1747 (format "%s%s %-19s %6s %-15s %s"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1748 (if (buffer-modified-p buffer) "*" " ")
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1749 (if (symbol-value-in-buffer 'buffer-read-only buffer)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1750 "%" " ")
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1751 (buffer-name buffer)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1752 (buffer-size buffer)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1753 (symbol-value-in-buffer 'mode-name buffer)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1754 (or (buffer-file-name buffer) ""))))
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1755
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1756 (defun format-buffers-menu-line (buffer n)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1757 "For use as a value of `buffers-menu-format-buffer-line-function'.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1758 This just returns the buffer's name."
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1759 (concat (menu-item-generate-accelerator-spec n buffers-menu-omit-chars-list)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1760 (buffer-name buffer)))
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1761
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1762 (defun group-buffers-menu-by-mode-then-alphabetically (buf1 buf2)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1763 "For use as a value of `buffers-menu-grouping-function'.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1764 This groups buffers by major mode. It only really makes sense if
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1765 `buffers-menu-sorting-function' is
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1766 `sort-buffers-menu-by-mode-then-alphabetically'."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1767 (cond ((string-match "\\`*" (buffer-name buf1))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1768 (and (null buf2) "*Misc*"))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1769 ((or (null buf2)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1770 (string-match "\\`*" (buffer-name buf2))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1771 (not (eq (symbol-value-in-buffer 'major-mode buf1)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1772 (symbol-value-in-buffer 'major-mode buf2))))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1773 (symbol-value-in-buffer 'mode-name buf1))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1774 (t nil)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1775
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1776 (defun buffer-menu-save-buffer (buffer)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1777 (save-excursion
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1778 (set-buffer buffer)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1779 (save-buffer)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1780
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1781 (defun buffer-menu-write-file (buffer)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1782 (save-excursion
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1783 (set-buffer buffer)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1784 (write-file (read-file-name
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1785 (format "Write %s to file: "
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1786 (buffer-name (current-buffer)))))))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1787
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1788 (defsubst build-buffers-menu-internal (buffers)
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1789 (let (name line (n 0))
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1790 (mapcar
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1791 #'(lambda (buffer)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1792 (if (eq buffer t)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1793 "---"
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1794 (setq n (1+ n))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1795 (setq line
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1796 ; #### a truly Kyle-friendly hack.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1797 (let ((fn buffers-menu-format-buffer-line-function))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1798 (if (= (function-max-args fn) 1)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1799 (funcall fn buffer)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1800 (funcall fn buffer n))))
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1801 (if complex-buffers-menu-p
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1802 (delq nil
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1803 (list line
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1804 (vector "S%_witch to Buffer"
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1805 (list buffers-menu-switch-to-buffer-function
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1806 (setq name (buffer-name buffer)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1807 t)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1808 (if (eq buffers-menu-switch-to-buffer-function
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1809 'switch-to-buffer)
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1810 (vector "Switch to Buffer, Other %_Frame"
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1811 (list 'switch-to-buffer-other-frame
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1812 (setq name (buffer-name buffer)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1813 t)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1814 nil)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1815 (if (and (buffer-modified-p buffer)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1816 (buffer-file-name buffer))
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1817 (vector "%_Save Buffer"
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1818 (list 'buffer-menu-save-buffer name) t)
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1819 ["%_Save Buffer" nil nil]
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1820 )
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1821 (vector "Save %_As..."
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1822 (list 'buffer-menu-write-file name) t)
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1823 (vector "%_Delete Buffer" (list 'kill-buffer name)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1824 t)))
440
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 438
diff changeset
1825 ;; #### We don't want buffer names to be translated,
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 438
diff changeset
1826 ;; #### so we put the buffer name in the suffix.
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 438
diff changeset
1827 ;; #### Also, avoid losing with non-ASCII buffer names.
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 438
diff changeset
1828 ;; #### We still lose, however, if complex-buffers-menu-p. --mrb
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1829 (vector ""
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1830 (list buffers-menu-switch-to-buffer-function
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1831 (buffer-name buffer))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1832 t line))))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1833 buffers)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1834
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1835 (defun buffers-menu-filter (menu)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1836 "This is the menu filter for the top-level buffers \"Buffers\" menu.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1837 It dynamically creates a list of buffers to use as the contents of the menu.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1838 Only the most-recently-used few buffers will be listed on the menu, for
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1839 efficiency reasons. You can control how many buffers will be shown by
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1840 setting `buffers-menu-max-size'. You can control the text of the menu
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1841 items by redefining the function `format-buffers-menu-line'."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1842 (let ((buffers (delete-if buffers-menu-omit-function (buffer-list))))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1843 (and (integerp buffers-menu-max-size)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1844 (> buffers-menu-max-size 1)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1845 (> (length buffers) buffers-menu-max-size)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1846 ;; shorten list of buffers (not with submenus!)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1847 (not (and buffers-menu-grouping-function
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1848 buffers-menu-submenus-for-groups-p))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1849 (setcdr (nthcdr buffers-menu-max-size buffers) nil))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1850 (if buffers-menu-sort-function
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1851 (setq buffers (sort buffers buffers-menu-sort-function)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1852 (if (and buffers-menu-grouping-function
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1853 buffers-menu-submenus-for-groups-p
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1854 (or (not (integerp buffers-menu-submenus-for-groups-p))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1855 (> (length buffers) buffers-menu-submenus-for-groups-p)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1856 (let (groups groupnames current-group)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1857 (mapl
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1858 #'(lambda (sublist)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1859 (let ((groupname (funcall buffers-menu-grouping-function
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1860 (car sublist) (cadr sublist))))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1861 (setq current-group (cons (car sublist) current-group))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1862 (if groupname
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1863 (progn
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1864 (setq groups (cons (nreverse current-group)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1865 groups))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1866 (setq groupnames (cons groupname groupnames))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1867 (setq current-group nil)))))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1868 buffers)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1869 (setq buffers
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1870 (mapcar*
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1871 #'(lambda (groupname group)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1872 (cons groupname (build-buffers-menu-internal group)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1873 (nreverse groupnames)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1874 (nreverse groups))))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1875 (if buffers-menu-grouping-function
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1876 (progn
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1877 (setq buffers
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1878 (mapcon
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1879 #'(lambda (sublist)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1880 (cond ((funcall buffers-menu-grouping-function
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1881 (car sublist) (cadr sublist))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1882 (list (car sublist) t))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1883 (t (list (car sublist)))))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1884 buffers))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1885 ;; remove a trailing separator.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1886 (and (>= (length buffers) 2)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1887 (let ((lastcdr (nthcdr (- (length buffers) 2) buffers)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1888 (if (eq t (cadr lastcdr))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1889 (setcdr lastcdr nil))))))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1890 (setq buffers (build-buffers-menu-internal buffers)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1891 (append menu buffers)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1892 ))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1893
792
4e83fdb13eb9 [xemacs-hg @ 2002-03-23 05:08:47 by youngs]
youngs
parents: 788
diff changeset
1894 (defun list-all-buffers ()
4e83fdb13eb9 [xemacs-hg @ 2002-03-23 05:08:47 by youngs]
youngs
parents: 788
diff changeset
1895 "Display a list of buffers. Calls `list-all-buffers-function'."
4e83fdb13eb9 [xemacs-hg @ 2002-03-23 05:08:47 by youngs]
youngs
parents: 788
diff changeset
1896 (interactive)
4e83fdb13eb9 [xemacs-hg @ 2002-03-23 05:08:47 by youngs]
youngs
parents: 788
diff changeset
1897 (funcall (if (fboundp list-all-buffers-function)
4e83fdb13eb9 [xemacs-hg @ 2002-03-23 05:08:47 by youngs]
youngs
parents: 788
diff changeset
1898 list-all-buffers-function
4e83fdb13eb9 [xemacs-hg @ 2002-03-23 05:08:47 by youngs]
youngs
parents: 788
diff changeset
1899 'list-buffers)))
4e83fdb13eb9 [xemacs-hg @ 2002-03-23 05:08:47 by youngs]
youngs
parents: 788
diff changeset
1900
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1901
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1902 ;;; The Help menu
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1903
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1904 (defun tutorials-menu-filter (menu-items)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1905 (declare (special language-info-alist
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1906 current-language-environment
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1907 tutorial-supported-languages))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1908 (append
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1909 (if (featurep 'mule)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1910 (if (assq 'tutorial
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1911 (assoc current-language-environment language-info-alist))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1912 `([,(concat "%_Default (" current-language-environment ")")
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1913 help-with-tutorial]))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1914 '(["%_English" help-with-tutorial]))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1915 (submenu-generate-accelerator-spec
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1916 (if (featurep 'mule)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1917 ;; Mule tutorials.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1918 (mapcan #'(lambda (lang)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1919 (let ((tut (assq 'tutorial lang)))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1920 (and tut
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1921 (not (string= (car lang) "ASCII"))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1922 ;; skip current language, since we already
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1923 ;; included it first
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1924 (not (string= (car lang)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1925 current-language-environment))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1926 `([,(car lang)
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
1927 (help-with-tutorial nil ,(car lang))]))))
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1928 language-info-alist)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1929 ;; Non mule tutorials.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1930 (mapcar #'(lambda (lang)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1931 `[,(car lang)
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 732
diff changeset
1932 (help-with-tutorial nil ,(car lang))])
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1933 tutorial-supported-languages)))))
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1934
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1935 (set-menubar default-menubar)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1936
814
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
1937 (when (featurep 'menubar-items)
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
1938 (loop for buf being the buffers do
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
1939 (or (eq default-menubar (symbol-value-in-buffer 'current-menubar buf))
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
1940 (with-current-buffer buf
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
1941 (condition-case nil
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
1942 (funcall major-mode)
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
1943 (error (setq current-menubar default-menubar)))))))
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
1944
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1945
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1946 ;;; Popup menus.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1947
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1948 (defconst default-popup-menu
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1949 '("XEmacs Commands"
502
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 479
diff changeset
1950 ["%_Split Window" split-window-vertically]
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 479
diff changeset
1951 ["S%_plit Window (Side by Side)" split-window-horizontally]
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 479
diff changeset
1952 ["%_Un-Split (Keep This)" delete-other-windows
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 479
diff changeset
1953 :active (not (one-window-p t))]
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 479
diff changeset
1954 ["Un-Split (Keep %_Others)" delete-window
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 479
diff changeset
1955 :active (not (one-window-p t))]
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1956 ))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1957
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1958 ;; In an effort to avoid massive menu clutter, this mostly worthless menu is
440
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 438
diff changeset
1959 ;; superseded by any local popup menu...
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1960 (setq-default mode-popup-menu default-popup-menu)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1961
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1962
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1963 ;;; backwards compatibility
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1964 (provide 'x-menubar)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1965 (provide 'menubar-items)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1966
438
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 428
diff changeset
1967 ;;; menubar-items.el ends here.