annotate etc/refcard.tex @ 4976:16112448d484

Rename xfree(FOO, TYPE) -> xfree(FOO) -------------------- ChangeLog entries follow: -------------------- src/ChangeLog addition: 2010-02-04 Ben Wing <ben@xemacs.org> * alloc.c (release_breathing_space): * alloc.c (resize_string): * alloc.c (sweep_lcrecords_1): * alloc.c (SWEEP_FIXED_TYPE_BLOCK_1): * alloc.c (ADDITIONAL_FREE_compiled_function): * alloc.c (compact_string_chars): * alloc.c (ADDITIONAL_FREE_string): * alloc.c (sweep_strings): * alloca.c (xemacs_c_alloca): * alsaplay.c (alsa_play_sound_file): * buffer.c (init_initial_directory): * buffer.h: * buffer.h (BUFFER_FREE): * console-stream.c (stream_delete_console): * console-tty.c (free_tty_console_struct): * data.c (Fnumber_to_string): * device-gtk.c (gtk_init_device): * device-gtk.c (free_gtk_device_struct): * device-gtk.c (gtk_delete_device): * device-msw.c (mswindows_delete_device): * device-msw.c (msprinter_delete_device): * device-tty.c (free_tty_device_struct): * device-tty.c (tty_delete_device): * device-x.c (x_init_device): * device-x.c (free_x_device_struct): * device-x.c (x_delete_device): * dialog-msw.c (handle_directory_dialog_box): * dialog-x.c (dbox_descriptor_to_widget_value): * dired-msw.c (Fmswindows_insert_directory): * dired.c (free_user_cache): * dired.c (user_name_completion_unwind): * doc.c (unparesseuxify_doc_string): * doc.c (Fsubstitute_command_keys): * doprnt.c (emacs_doprnt_1): * dumper.c (pdump_load_finish): * dumper.c (pdump_file_free): * dumper.c (pdump_file_unmap): * dynarr.c: * dynarr.c (Dynarr_free): * editfns.c (uncache_home_directory): * editfns.c (Fset_time_zone_rule): * elhash.c: * elhash.c (pdump_reorganize_hash_table): * elhash.c (maphash_unwind): * emacs.c (make_arg_list_1): * emacs.c (free_argc_argv): * emacs.c (sort_args): * emacs.c (Frunning_temacs_p): * emodules.c (attempt_module_delete): * eval.c (free_pointer): * event-Xt.c (unselect_filedesc): * event-Xt.c (emacs_Xt_select_process): * event-gtk.c (unselect_filedesc): * event-gtk.c (dragndrop_data_received): * event-msw.c (winsock_closer): * event-msw.c (mswindows_dde_callback): * event-msw.c (mswindows_wnd_proc): * event-stream.c (finalize_command_builder): * event-stream.c (free_command_builder): * extents.c (free_gap_array): * extents.c (free_extent_list): * extents.c (free_soe): * extents.c (extent_fragment_delete): * extents.c (extent_priority_sort_function): * file-coding.c (make_coding_system_1): * file-coding.c (coding_finalizer): * file-coding.c (set_coding_stream_coding_system): * file-coding.c (chain_finalize_coding_stream_1): * file-coding.c (chain_finalize): * file-coding.c (free_detection_state): * file-coding.c (coding_category_symbol_to_id): * fileio.c: * fileio.c (Ffile_name_directory): * fileio.c (if): * fileio.c (Ffile_symlink_p): * filelock.c (FREE_LOCK_INFO): * filelock.c (current_lock_owner): * font-mgr.c (Ffc_name_unparse): * font-mgr.c (Ffc_pattern_duplicate): * frame-gtk.c (gtk_delete_frame): * frame-msw.c (mswindows_delete_frame): * frame-msw.c (msprinter_delete_frame): * frame-x.c (x_cde_destroy_callback): * frame-x.c (Fcde_start_drag_internal): * frame-x.c (x_cde_transfer_callback): * frame-x.c (x_delete_frame): * frame.c (update_frame_title): * frame.c (Fset_frame_pointer): * gc.c (register_for_finalization): * gccache-gtk.c (free_gc_cache): * gccache-gtk.c (gc_cache_lookup): * gccache-x.c (free_gc_cache): * gccache-x.c (gc_cache_lookup): * glyphs-eimage.c: * glyphs-eimage.c (jpeg_instantiate_unwind): * glyphs-eimage.c (gif_instantiate_unwind): * glyphs-eimage.c (png_instantiate_unwind): * glyphs-eimage.c (png_instantiate): * glyphs-eimage.c (tiff_instantiate_unwind): * glyphs-gtk.c (convert_EImage_to_GDKImage): * glyphs-gtk.c (gtk_finalize_image_instance): * glyphs-gtk.c (gtk_init_image_instance_from_eimage): * glyphs-gtk.c (gtk_xpm_instantiate): * glyphs-msw.c (convert_EImage_to_DIBitmap): * glyphs-msw.c (mswindows_init_image_instance_from_eimage): * glyphs-msw.c (mswindows_initialize_image_instance_mask): * glyphs-msw.c (xpm_to_eimage): * glyphs-msw.c (mswindows_xpm_instantiate): * glyphs-msw.c (xbm_create_bitmap_from_data): * glyphs-msw.c (mswindows_finalize_image_instance): * glyphs-x.c (convert_EImage_to_XImage): * glyphs-x.c (x_finalize_image_instance): * glyphs-x.c (x_init_image_instance_from_eimage): * glyphs-x.c (x_xpm_instantiate): * gui-x.c (free_popup_widget_value_tree): * hash.c (free_hash_table): * hash.c (grow_hash_table): * hash.c (pregrow_hash_table_if_necessary): * imgproc.c (build_EImage_quantable): * insdel.c (uninit_buffer_text): * intl-win32.c (convert_multibyte_to_internal_malloc): * intl.c: * intl.c (Fset_current_locale): * keymap.c: * keymap.c (where_is_recursive_mapper): * keymap.c (where_is_internal): * lisp.h: * lisp.h (xfree): * lstream.c (Lstream_close): * lstream.c (resizing_buffer_closer): * mule-coding.c: * mule-coding.c (iso2022_finalize_detection_state): * nt.c: * nt.c (mswindows_get_long_filename): * nt.c (nt_get_resource): * nt.c (init_mswindows_environment): * nt.c (get_cached_volume_information): * nt.c (mswindows_opendir): * nt.c (mswindows_closedir): * nt.c (mswindows_readdir): * nt.c (mswindows_stat): * nt.c (mswindows_getdcwd): * nt.c (Fmswindows_long_file_name): * ntplay.c (nt_play_sound_file): * ntplay.c (play_sound_data_1): * number-gmp.c (gmp_free): * number-gmp.c (init_number_gmp): * number-mp.c (bignum_to_string): * number-mp.c (BIGNUM_TO_TYPE): * number.c (bignum_print): * number.c (bignum_convfree): * number.c (ratio_print): * number.c (bigfloat_print): * number.c (bigfloat_finalize): * objects-gtk.c (gtk_finalize_color_instance): * objects-gtk.c (gtk_finalize_font_instance): * objects-msw.c (mswindows_finalize_color_instance): * objects-msw.c (mswindows_finalize_font_instance): * objects-tty.c (tty_finalize_color_instance): * objects-tty.c (tty_finalize_font_instance): * objects-tty.c (tty_font_list): * objects-x.c (x_finalize_color_instance): * objects-x.c (x_finalize_font_instance): * process.c: * process.c (finalize_process): * realpath.c: * redisplay.c (add_propagation_runes): * regex.c: * regex.c (xfree): * regex.c (REGEX_FREE_STACK): * regex.c (FREE_STACK_RETURN): * regex.c (regex_compile): * regex.c (regexec): * regex.c (regfree): * scrollbar-gtk.c (gtk_free_scrollbar_instance): * scrollbar-gtk.c (gtk_release_scrollbar_instance): * scrollbar-msw.c (mswindows_free_scrollbar_instance): * scrollbar-msw.c (unshow_that_mofo): * scrollbar-x.c (x_free_scrollbar_instance): * scrollbar-x.c (x_release_scrollbar_instance): * select-gtk.c (emacs_gtk_selection_handle): * select-msw.c (mswindows_own_selection): * select-x.c: * select-x.c (x_handle_selection_request): * select-x.c (unexpect_property_change): * select-x.c (x_handle_property_notify): * select-x.c (receive_incremental_selection): * select-x.c (x_get_window_property_as_lisp_data): * select-x.c (Fx_get_cutbuffer_internal): * specifier.c (finalize_specifier): * syntax.c (uninit_buffer_syntax_cache): * sysdep.c (qxe_allocating_getcwd): * sysdep.c (qxe_lstat): * sysdep.c (copy_in_passwd): * sysdep.c (qxe_ctime): * sysdep.c (closedir): * sysdep.c (DIRSIZ): * termcap.c (tgetent): * termcap.c (tprint): * tests.c (Ftest_data_format_conversion): * text.c (new_dfc_convert_copy_data): * text.h (eifree): * text.h (eito_alloca): * text.h (eito_external): * toolbar-msw.c (mswindows_output_toolbar): * ui-gtk.c (CONVERT_RETVAL): * ui-gtk.c (__allocate_object_storage): * unicode.c (free_from_unicode_table): * unicode.c (free_to_unicode_table): * unicode.c (free_charset_unicode_tables): * win32.c (mswindows_read_link_1): Rename: xfree(VAL, TYPE)->xfree(VAL) Command used: gr 'xfree *\((.*),.*\);' 'xfree (\1);' *.[ch] Followed by grepping for 'xfree.*,' and fixing anything left. Rationale: Having to specify the TYPE argument is annoying and error-prone. It was originally put in to work around warnings due to strict aliasing but years and years ago I rewrote it in a way that doesn't use the TYPE argument at all and no one has complained since then. (And anyway, XEmacs is far from ever being in compliance with strict aliasing and would require far-reaching changes to get that way.)
author Ben Wing <ben@xemacs.org>
date Thu, 04 Feb 2010 07:28:14 -0600
parents 3ecd8885ac67
children 4d771ba66557
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 % Reference Card for XEmacs on Unix systems
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2 % Time-stamp: <95/02/18 Ben Wing>
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3 %**start of header
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4 \newcount\columnsperpage
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
6 % This file can be printed with 1, 2, or 3 columns per page (see below).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
7 % Specify how many you want here. Nothing else needs to be changed.
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 \columnsperpage=1
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
10
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
11 % Copyright (c) 1987, 1993, 1995 Free Software Foundation, Inc.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
12
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
13 % This file is part of XEmacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
14
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
15 % XEmacs is free software; you can redistribute it and/or modify
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
16 % it under the terms of the GNU General Public License as published by
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
17 % the Free Software Foundation; either version 1, or (at your option)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
18 % any later version.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
19
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
20 % XEmacs is distributed in the hope that it will be useful,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
21 % but WITHOUT ANY WARRANTY; without even the implied warranty of
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
22 % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
23 % GNU General Public License for more details.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
24
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
25 % You should have received a copy of the GNU General Public License
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
26 % along with XEmacs; see the file COPYING. If not, write to
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
27 % the Free Software Foundation, 675 Mass Ave, Cambridge MA 02139, USA.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
28
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
29 % This file is intended to be processed by plain TeX (TeX82).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
30 %
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
31 % The final reference card has six columns, three on each side.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
32 % This file can be used to produce it in any of three ways:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
33 % 1 column per page
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
34 % produces six separate pages, each of which needs to be reduced to 80%.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
35 % This gives the best resolution.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
36 % 2 columns per page
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
37 % produces three already-reduced pages.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
38 % You will still need to cut and paste.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
39 % 3 columns per page
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
40 % produces two pages which must be printed sideways to make a
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
41 % ready-to-use 8.5 x 11 inch reference card.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
42 % For this you need a dvi device driver that can print sideways.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
43 % Which mode to use is controlled by setting \columnsperpage above.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
44 %
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
45 % Author:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
46 % Stephen Gildea
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
47 % Internet: gildea@mit.edu
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
48 %
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
49 % Thanks to Paul Rubin, Bob Chassell, Len Tower, and Richard Mlynarik
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
50 % for their many good ideas.
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 % If there were room, it would be nice to see a section on Dired.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
53
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
54 \def\versionnumber{2.0 XEmacs}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
55 \def\year{1998}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
56 \def\version{April \year\ v\versionnumber}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
57
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
58 \def\shortcopyrightnotice{\vskip 1ex plus 2 fill
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
59 \centerline{\small \copyright\ \year\ Free Software Foundation, Inc.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
60 Permissions on back. v\versionnumber}}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
61
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
62 \def\copyrightnotice{
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
63 \vskip 1ex plus 2 fill\begingroup\small
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
64 \centerline{Copyright \copyright\ \year\ Free Software Foundation, Inc.}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
65 \centerline{designed by Stephen Gildea, \version}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
66 \centerline{for GNU Emacs version 19 on Unix systems}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
67 \centerline{Updated for XEmacs in February 1995 by Ben Wing}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
68
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
69 Permission is granted to make and distribute copies of
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
70 this card provided the copyright notice and this permission notice
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
71 are preserved on all copies.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
72
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
73 For copies of the GNU Emacs manual, write to the Free Software
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
74 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
75 USA.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
76
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
77 \endgroup}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
78
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
79 % make \bye not \outer so that the \def\bye in the \else clause below
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
80 % can be scanned without complaint.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
81 \def\bye{\par\vfill\supereject\end}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
82
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
83 \newdimen\intercolumnskip %horizontal space between columns
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
84 \newbox\columna %boxes to hold columns already built
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
85 \newbox\columnb
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
86
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
87 \def\ncolumns{\the\columnsperpage}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
88
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
89 \message{[\ncolumns\space
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
90 column\if 1\ncolumns\else s\fi\space per page]}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
91
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
92 \def\scaledmag#1{ scaled \magstep #1}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
93
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
94 % This multi-way format was designed by Stephen Gildea October 1986.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
95 % Note that the 1-column format is fontfamily-independent.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
96 \if 1\ncolumns %one-column format uses normal size
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
97 \hsize 4in
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
98 \vsize 10in
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
99 \voffset -.7in
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
100 \font\titlefont=\fontname\tenbf \scaledmag3
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
101 \font\headingfont=\fontname\tenbf \scaledmag2
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
102 \font\smallfont=\fontname\sevenrm
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
103 \font\smallsy=\fontname\sevensy
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
104
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
105 \footline{\hss\folio}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
106 \def\makefootline{\baselineskip10pt\hsize6.5in\line{\the\footline}}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
107 \else %2 or 3 columns uses prereduced size
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
108 \hsize 3.2in
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
109 \vsize 7.95in
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
110 \hoffset -.75in
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
111 \voffset -.745in
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
112 \font\titlefont=cmbx10 \scaledmag2
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
113 \font\headingfont=cmbx10 \scaledmag1
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
114 \font\smallfont=cmr6
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
115 \font\smallsy=cmsy6
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
116 \font\eightrm=cmr8
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
117 \font\eightbf=cmbx8
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
118 \font\eightit=cmti8
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
119 \font\eighttt=cmtt8
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
120 \font\eightmi=cmmi8
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
121 \font\eightsy=cmsy8
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
122 \textfont0=\eightrm
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
123 \textfont1=\eightmi
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
124 \textfont2=\eightsy
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
125 \def\rm{\eightrm}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
126 \def\bf{\eightbf}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
127 \def\it{\eightit}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
128 \def\tt{\eighttt}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
129 \normalbaselineskip=.8\normalbaselineskip
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
130 \normallineskip=.8\normallineskip
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
131 \normallineskiplimit=.8\normallineskiplimit
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
132 \normalbaselines\rm %make definitions take effect
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
133
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
134 \if 2\ncolumns
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
135 \let\maxcolumn=b
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
136 \footline{\hss\rm\folio\hss}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
137 \def\makefootline{\vskip 2in \hsize=6.86in\line{\the\footline}}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
138 \else \if 3\ncolumns
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
139 \let\maxcolumn=c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
140 \nopagenumbers
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
141 \else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
142 \errhelp{You must set \columnsperpage equal to 1, 2, or 3.}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
143 \errmessage{Illegal number of columns per page}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
144 \fi\fi
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
145
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
146 \intercolumnskip=.46in
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
147 \def\abc{a}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
148 \output={% %see The TeXbook page 257
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
149 % This next line is useful when designing the layout.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
150 %\immediate\write16{Column \folio\abc\space starts with \firstmark}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
151 \if \maxcolumn\abc \multicolumnformat \global\def\abc{a}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
152 \else\if a\abc
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
153 \global\setbox\columna\columnbox \global\def\abc{b}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
154 %% in case we never use \columnb (two-column mode)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
155 \global\setbox\columnb\hbox to -\intercolumnskip{}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
156 \else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
157 \global\setbox\columnb\columnbox \global\def\abc{c}\fi\fi}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
158 \def\multicolumnformat{\shipout\vbox{\makeheadline
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
159 \hbox{\box\columna\hskip\intercolumnskip
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
160 \box\columnb\hskip\intercolumnskip\columnbox}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
161 \makefootline}\advancepageno}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
162 \def\columnbox{\leftline{\pagebody}}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
163
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
164 \def\bye{\par\vfill\supereject
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
165 \if a\abc \else\null\vfill\eject\fi
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
166 \if a\abc \else\null\vfill\eject\fi
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
167 \end}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
168 \fi
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
169
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
170 % we won't be using math mode much, so redefine some of the characters
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
171 % we might want to talk about
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
172 \catcode`\^=12
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
173 \catcode`\_=12
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
174
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
175 \chardef\\=`\\
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
176 \chardef\{=`\{
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
177 \chardef\}=`\}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
178
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
179 \hyphenation{mini-buf-fer}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
180
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
181 \parindent 0pt
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
182 \parskip 1ex plus .5ex minus .5ex
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
183
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
184 \def\small{\smallfont\textfont2=\smallsy\baselineskip=.8\baselineskip}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
185
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
186 % newcolumn - force a new column. Use sparingly, probably only for
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
187 % the first column of a page, which should have a title anyway.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
188 \outer\def\newcolumn{\vfill\eject}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
189
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
190 % title - page title. Argument is title text.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
191 \outer\def\title#1{{\titlefont\centerline{#1}}\vskip 1ex plus .5ex}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
192
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
193 % section - new major section. Argument is section name.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
194 \outer\def\section#1{\par\filbreak
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
195 \vskip 3ex plus 2ex minus 2ex {\headingfont #1}\mark{#1}%
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
196 \vskip 2ex plus 1ex minus 1.5ex}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
197
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
198 \newdimen\keyindent
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
199
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
200 % beginindentedkeys...endindentedkeys - key definitions will be
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
201 % indented, but running text, typically used as headings to group
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
202 % definitions, will not.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
203 \def\beginindentedkeys{\keyindent=1em}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
204 \def\endindentedkeys{\keyindent=0em}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
205 \endindentedkeys
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
206
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
207 % paralign - begin paragraph containing an alignment.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
208 % If an \halign is entered while in vertical mode, a parskip is never
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
209 % inserted. Using \paralign instead of \halign solves this problem.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
210 \def\paralign{\vskip\parskip\halign}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
211
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
212 % \<...> - surrounds a variable name in a code example
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
213 \def\<#1>{{\it #1\/}}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
214
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
215 % kbd - argument is characters typed literally. Like the Texinfo command.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
216 \def\kbd#1{{\tt#1}\null} %\null so not an abbrev even if period follows
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
217
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
218 % beginexample...endexample - surrounds literal text, such a code example.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
219 % typeset in a typewriter font with line breaks preserved
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
220 \def\beginexample{\par\leavevmode\begingroup
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
221 \obeylines\obeyspaces\parskip0pt\tt}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
222 {\obeyspaces\global\let =\ }
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
223 \def\endexample{\endgroup}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
224
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
225 % key - definition of a key.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
226 % \key{description of key}{key-name}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
227 % prints the description left-justified, and the key-name in a \kbd
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
228 % form near the right margin.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
229 \def\key#1#2{\leavevmode\hbox to \hsize{\vtop
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
230 {\hsize=.75\hsize\rightskip=1em
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
231 \hskip\keyindent\relax#1}\kbd{#2}\hfil}}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
232
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
233 \newbox\metaxbox
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
234 \setbox\metaxbox\hbox{\kbd{M-x }}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
235 \newdimen\metaxwidth
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
236 \metaxwidth=\wd\metaxbox
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
237
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
238 % metax - definition of a M-x command.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
239 % \metax{description of command}{M-x command-name}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
240 % Tries to justify the beginning of the command name at the same place
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
241 % as \key starts the key name. (The "M-x " sticks out to the left.)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
242 \def\metax#1#2{\leavevmode\hbox to \hsize{\hbox to .75\hsize
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
243 {\hskip\keyindent\relax#1\hfil}%
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
244 \hskip -\metaxwidth minus 1fil
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
245 \kbd{#2}\hfil}}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
246
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
247 % threecol - like "key" but with two key names.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
248 % for example, one for doing the action backward, and one for forward.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
249 \def\threecol#1#2#3{\hskip\keyindent\relax#1\hfil&\kbd{#2}\hfil\quad
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
250 &\kbd{#3}\hfil\quad\cr}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
251
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
252 %**end of header
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
253
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
254
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
255 \title{XEmacs Reference Card}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
256
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
257 \centerline{(for version 21.0+)}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
258
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
259 \section{Starting Emacs}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
260
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
261 To enter XEmacs, just type its name: \kbd{xemacs}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
262
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
263 To read in a file to edit, see Files, below.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
264
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
265 \section{Leaving Emacs}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
266
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
267 \key{suspend Emacs (or iconify frame under X)}{C-z}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
268 \key{exit Emacs permanently}{C-x C-c}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
269
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
270 \section{Files}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
271
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
272 \key{{\bf read} a file into Emacs}{C-x C-f}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
273 \key{{\bf save} a file back to disk}{C-x C-s}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
274 \key{save {\bf all} files}{C-x s}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
275 \key{{\bf insert} contents of another file into this buffer}{C-x i}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
276 \key{replace this file with the file you really want}{C-x C-v}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
277 \key{write buffer to a specified file}{C-x C-w}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
278
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
279 \section{Getting Help}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
280
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
281 The Help system is simple. Type \kbd{C-h} and follow the directions.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
282 If you are a first-time user, type \kbd{C-h t} for a {\bf tutorial}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
283
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
284 \key{quit Help window}{q}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
285 \key{scroll Help window}{space}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
286
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
287 \key{apropos: show commands matching a string}{C-h a}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
288 \key{show the function a key runs}{C-h c}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
289 \key{describe a function}{C-h f}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
290 \key{get mode-specific information}{C-h m}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
291
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
292 \section{Error Recovery}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
293
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
294 \key{{\bf abort} partially typed or executing command}{C-g}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
295 \metax{{\bf recover} a file lost by a system crash}{M-x recover-file}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
296 \metax{{\bf recover} files from a previous Emacs session}{M-x recover-session}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
297 \key{{\bf undo} an unwanted change}{C-x u {\rm or} C-_}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
298 \metax{restore a buffer to its original contents}{M-x revert-buffer}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
299 \key{redraw garbaged screen}{C-l}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
300
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
301 \section{Incremental Search}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
302
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
303 \key{search forward}{C-s}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
304 \key{search backward}{C-r}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
305 \key{regular expression search}{C-M-s}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
306 \key{reverse regular expression search}{C-M-r}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
307
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
308 \key{select previous search string}{M-p}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
309 \key{select next later search string}{M-n}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
310 \key{exit incremental search}{RET}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
311 \key{undo effect of last character}{DEL}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
312 \key{abort current search}{C-g}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
313
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
314 Use \kbd{C-s} or \kbd{C-r} again to repeat the search in either direction.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
315 If Emacs is still searching, \kbd{C-g} cancels only the part not done.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
316
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
317 \shortcopyrightnotice
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
318
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
319 \section{Motion}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
320
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
321 \paralign to \hsize{#\tabskip=10pt plus 1 fil&#\tabskip=0pt&#\cr
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
322 \threecol{{\bf entity to move over}}{{\bf backward}}{{\bf forward}}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
323 \threecol{character}{C-b}{C-f}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
324 \threecol{word}{M-b}{M-f}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
325 \threecol{line}{C-p}{C-n}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
326 \threecol{go to line beginning (or end)}{C-a}{C-e}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
327 \threecol{sentence}{M-a}{M-e}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
328 \threecol{paragraph}{M-\{}{M-\}}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
329 \threecol{page}{C-x [}{C-x ]}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
330 \threecol{sexp}{C-M-b}{C-M-f}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
331 \threecol{function}{C-M-a}{C-M-e}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
332 \threecol{go to buffer beginning (or end)}{M-<}{M->}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
333 }
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
334
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
335 \key{scroll to next screen}{C-v}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
336 \key{scroll to previous screen}{M-v}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
337 \key{scroll left}{C-x <}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
338 \key{scroll right}{C-x >}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
339 \key{scroll current line to center of screen}{C-u C-l}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
340
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
341 \section{Killing and Deleting}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
342
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
343 \paralign to \hsize{#\tabskip=10pt plus 1 fil&#\tabskip=0pt&#\cr
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
344 \threecol{{\bf entity to kill}}{{\bf backward}}{{\bf forward}}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
345 \threecol{character (delete, not kill)}{DEL}{C-d}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
346 \threecol{word}{M-DEL}{M-d}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
347 \threecol{line (to end of)}{M-0 C-k}{C-k}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
348 \threecol{sentence}{C-x DEL}{M-k}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
349 \threecol{sexp}{M-- C-M-k}{C-M-k}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
350 }
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
351
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
352 \key{kill {\bf region}}{C-w}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
353 \key{copy region to kill ring}{M-w}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
354 \key{kill through next occurrence of {\it char}}{M-z {\it char}}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
355
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
356 \key{yank back last thing killed}{C-y}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
357 \key{replace last yank with previous kill}{M-y}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
358
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
359 \section{Marking}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
360
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
361 \key{set mark here}{C-@ {\rm or} C-SPC}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
362 \key{exchange point and mark}{C-x C-x}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
363
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
364 \key{set mark {\it arg\/} {\bf words} away}{M-@}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
365 \key{mark {\bf paragraph}}{M-h}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
366 \key{mark {\bf page}}{C-x C-p}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
367 \key{mark {\bf sexp}}{C-M-@}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
368 \key{mark {\bf function}}{C-M-h}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
369 \key{mark entire {\bf buffer}}{C-x h}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
370
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
371 \section{Query Replace}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
372
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
373 \key{interactively replace a text string}{M-\%}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
374 \metax{using regular expressions}{M-x query-replace-regexp}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
375
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
376 Valid responses in query-replace mode are
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
377
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
378 \key{{\bf replace} this one, go on to next}{SPC {\rm or} y}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
379 \key{replace this one, don't move}{,}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
380 \key{{\bf skip} to next without replacing}{DEL {\rm or} n}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
381 \key{replace all remaining matches}{!}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
382 \key{{\bf back up} to the previous match}{^}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
383 \key{{\bf exit} query-replace}{ESC}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
384 \key{enter recursive edit (\kbd{C-M-c} to exit)}{C-r}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
385 \key{delete match and enter recursive edit}{C-w}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
386
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
387 \section{Multiple Windows}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
388
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
389 \key{delete all other windows}{C-x 1}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
390 \key{delete this window}{C-x 0}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
391 \key{split window in two vertically}{C-x 2}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
392 \key{split window in two horizontally}{C-x 3}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
393
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
394 \key{scroll other window}{C-M-v}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
395 \key{switch cursor to another window}{C-x o}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
396
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
397 \metax{shrink window shorter}{M-x shrink-window}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
398 \key{grow window taller}{C-x ^}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
399 \key{shrink window narrower}{C-x \{}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
400 \key{grow window wider}{C-x \}}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
401
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
402 \key{select buffer in other window}{C-x 4 b}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
403 \key{display buffer in other window}{C-x 4 C-o}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
404 \key{find file in other window}{C-x 4 f}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
405 \key{find file read-only in other window}{C-x 4 r}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
406 \key{run Dired in other window}{C-x 4 d}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
407 \key{find tag in other window}{C-x 4 .}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
408
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
409 \section{Formatting}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
410
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
411 \key{indent current {\bf line} (mode-dependent)}{TAB}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
412 \key{indent {\bf region} (mode-dependent)}{C-M-\\}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
413 \key{indent {\bf sexp} (mode-dependent)}{C-M-q}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
414 \key{indent region rigidly {\it arg\/} columns}{C-x TAB}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
415
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
416 \key{insert newline after point}{C-o}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
417 \key{move rest of line vertically down}{C-M-o}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
418 \key{delete blank lines around point}{C-x C-o}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
419 \key{join line with previous (with arg, next)}{M-^}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
420 \key{delete all white space around point}{M-\\}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
421 \key{put exactly one space at point}{M-SPC}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
422
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
423 \key{fill paragraph}{M-q}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
424 \key{set fill column}{C-x f}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
425 \key{set prefix each line starts with}{C-x .}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
426
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
427 \section{Case Change}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
429 \key{uppercase word}{M-u}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
430 \key{lowercase word}{M-l}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
431 \key{capitalize word}{M-c}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
432
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
433 \key{uppercase region}{C-x C-u}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
434 \key{lowercase region}{C-x C-l}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
435 \metax{capitalize region}{M-x capitalize-region}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
436
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
437 \section{The Minibuffer}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
438
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
439 The following keys are defined in the minibuffer.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
440
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
441 \key{complete as much as possible}{TAB}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
442 \key{complete up to one word}{SPC}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
443 \key{complete and execute}{RET}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
444 \key{show possible completions}{?}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
445 \key{fetch previous minibuffer input}{M-p}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
446 \key{fetch next later minibuffer input}{M-n}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
447 \key{regexp search backward through history}{M-r}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
448 \key{regexp search forward through history}{M-s}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
449 \key{abort command}{C-g}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
450
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
451 Type \kbd{C-x ESC ESC} to edit and repeat the last command that used the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
452 minibuffer. The following keys are then defined.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
453
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
454 \key{previous minibuffer command}{M-p}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
455 \key{next minibuffer command}{M-n}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
456
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
457 \newcolumn
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
458 \title{XEmacs Reference Card}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
459
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
460 \section{Buffers}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
461
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
462 \key{select another buffer}{C-x b}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
463 \key{list all buffers}{C-x C-b}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
464 \key{kill a buffer}{C-x k}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
465
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
466 \section{Transposing}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
467
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
468 \key{transpose {\bf characters}}{C-t}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
469 \key{transpose {\bf words}}{M-t}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
470 \key{transpose {\bf lines}}{C-x C-t}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
471 \key{transpose {\bf sexps}}{C-M-t}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
472
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
473 \section{Spelling Check}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
474
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
475 \key{check spelling of current word}{M-\$}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
476 \metax{check spelling of all words in region}{M-x ispell-region}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
477 \metax{check spelling of entire buffer}{M-x ispell-buffer}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
478
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
479 \section{Tags}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
480
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
481 \key{find a tag (a definition)}{M-.}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
482 \key{find next occurrence of tag}{C-u M-.}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
483 \metax{specify a new tags file}{M-x visit-tags-table}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
484
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
485 \metax{regexp search on all files in tags table}{M-x tags-search}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
486 \metax{run query-replace on all the files}{M-x tags-query-replace}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
487 \key{continue last tags search or query-replace}{M-,}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
488
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
489 \section{Shells}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
490
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
491 \key{execute a shell command}{M-!}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
492 \key{run a shell command on the region}{M-|}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
493 \key{filter region through a shell command}{C-u M-|}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
494 \metax{start a shell in window \kbd{*shell*}}{M-x shell}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
495
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
496 \section{Rectangles}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
497
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
498 \key{copy rectangle to register}{C-x r r}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
499 \key{kill rectangle}{C-x r k}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
500 \key{yank rectangle}{C-x r y}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
501 \key{open rectangle, shifting text right}{C-x r o}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
502 \metax{blank out rectangle}{M-x clear-rectangle}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
503 \metax{prefix each line with a string}{M-x string-rectangle}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
504 \key{select rectangle with mouse}{M-button1}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
505
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
506 \section{Abbrevs}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
507
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
508 \key{add global abbrev}{C-x a g}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
509 \key{add mode-local abbrev}{C-x a l}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
510 \key{add global expansion for this abbrev}{C-x a i g}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
511 \key{add mode-local expansion for this abbrev}{C-x a i l}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
512 \key{explicitly expand abbrev}{C-x a e}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
513
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
514 \key{expand previous word dynamically}{M-/}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
515
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
516 \section{Regular Expressions}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
517
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
518 \key{any single character except a newline}{. {\rm(dot)}}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
519 \key{zero or more repeats}{*}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
520 \key{one or more repeats}{+}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
521 \key{zero or one repeat}{?}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
522 \key{any character in the set}{[ {\rm$\ldots$} ]}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
523 \key{any character not in the set}{[^ {\rm$\ldots$} ]}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
524 \key{beginning of line}{^}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
525 \key{end of line}{\$}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
526 \key{quote a special character {\it c\/}}{\\{\it c}}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
527 \key{alternative (``or'')}{\\|}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
528 \key{grouping}{\\( {\rm$\ldots$} \\)}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
529 \key{{\it n\/}th group}{\\{\it n}}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
530 \key{beginning of buffer}{\\`}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
531 \key{end of buffer}{\\'}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
532 \key{word break}{\\b}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
533 \key{not beginning or end of word}{\\B}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
534 \key{beginning of word}{\\<}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
535 \key{end of word}{\\>}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
536 \key{any word-syntax character}{\\w}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
537 \key{any non-word-syntax character}{\\W}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
538 \key{character with syntax {\it c}}{\\s{\it c}}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
539 \key{character with syntax not {\it c}}{\\S{\it c}}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
540
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
541 \section{Registers}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
542
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
543 \key{save region in register}{C-x r s}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
544 \key{insert register contents into buffer}{C-x r i}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
545
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
546 \key{save value of point in register}{C-x r SPC}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
547 \key{jump to point saved in register}{C-x r j}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
548
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
549 \section{Info}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
550
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
551 \key{enter the Info documentation reader}{C-h i}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
552 \beginindentedkeys
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
553
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
554 Moving within a node:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
555
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
556 \key{scroll forward}{SPC}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
557 \key{scroll reverse}{DEL}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
558 \key{beginning of node}{. {\rm (dot)}}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
559
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
560 Moving between nodes:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
561
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
562 \key{{\bf next} node}{n}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
563 \key{{\bf previous} node}{p}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
564 \key{move {\bf up}}{u}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
565 \key{select menu item by name}{m}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
566 \key{select {\it n\/}th menu item by number (1--5)}{{\it n}}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
567 \key{follow cross reference (return with \kbd{l})}{f}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
568 \key{return to last node you saw}{l}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
569 \key{return to directory node}{d}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
570 \key{go to any node by name}{g}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
571
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
572 Other:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
573
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
574 \key{run Info {\bf tutorial}}{h}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
575 \key{list Info commands}{?}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
576 \key{{\bf quit} Info}{q}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
577 \key{search nodes for regexp}{s}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
578
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
579 \endindentedkeys
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
580
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
581 \section{Keyboard Macros}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
582
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
583 \key{{\bf start} defining a keyboard macro}{C-x (}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
584 \key{{\bf end} keyboard macro definition}{C-x )}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
585 \key{{\bf execute} last-defined keyboard macro}{C-x e}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
586 \key{{\bf edit} keyboard macro}{C-x C-k}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
587 \key{append to last keyboard macro}{C-u C-x (}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
588 \metax{name last keyboard macro}{M-x name-last-kbd-macro}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
589 \metax{insert Lisp definition in buffer}{M-x insert-kbd-macro}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
590
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
591 \section{Commands Dealing with Emacs Lisp}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
592
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
593 \key{eval {\bf sexp} before point}{C-x C-e}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
594 \key{eval current {\bf defun}}{C-M-x}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
595 \metax{eval {\bf region}}{M-x eval-region}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
596 \metax{eval entire {\bf buffer}}{M-x eval-current-buffer}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
597 \key{read and eval minibuffer}{M-ESC}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
598 \key{re-execute last minibuffer command}{C-x ESC ESC}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
599 \metax{read and eval Emacs Lisp file}{M-x load-file}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
600 \metax{load from standard system directory}{M-x load-library}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
601
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
602 \section{Simple Customization}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
603
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
604 % The intended audience here is the person who wants to make simple
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
605 % customizations and knows Lisp syntax.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
606
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
607 Here are some examples of binding global keys in Emacs Lisp.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
608
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
609 \beginexample%
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
610 (global-set-key [(control c) g] 'goto-line)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
611 (global-set-key [(control x) (control k)] 'kill-region)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
612 (global-set-key [(meta \#)] 'query-replace-regexp)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
613 \endexample
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
614
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
615 An example of setting a variable in Emacs Lisp:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
616
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
617 \beginexample%
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
618 (setq backup-by-copying-when-linked t)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
619 \endexample
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
620
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
621 \section{Writing Commands}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
622
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
623 \beginexample%
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
624 (defun \<command-name> (\<args>)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
625 "\<documentation>"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
626 (interactive "\<template>")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
627 \<body>)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
628 \endexample
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
629
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
630 An example:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
631
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
632 \beginexample%
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
633 (defun this-line-to-top-of-window (line)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
634 "Reposition line point is on to top of window.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
635 With ARG, put point on line ARG.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
636 Negative counts from bottom."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
637 (interactive "P")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
638 (recenter (if (null line)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
639 0
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
640 (prefix-numeric-value line))))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
641 \endexample
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
642
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
643 The argument to \kbd{interactive} is a string specifying how to get
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
644 the arguments when the function is called interactively.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
645 Type \kbd{C-h f interactive} for more information.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
646
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
647 \copyrightnotice
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
648
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
649 \bye
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
650
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
651 % Local variables:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
652 % compile-command: "tex refcard"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
653 % End: