view man/m-x.texi @ 50715:46229d46cbeb

Major rewrite. The code is reordered, cleaner and faster. Introduced new options to automatically cleanup the recent list, and to handle filename transformation (for example to use true filenames). (recentf-version): New constant. (recentf-save-file-header): Moved. (recentf-data-cache): New variable. (recentf-update-menu-p, recentf-initialized-p): Removed. (recentf-menu-customization-changed): Moved. Doc fix. (recentf-max-saved-items): Doc fix. (recentf-save-file): Doc fix. No more expand filename here. (recentf-exclude, recentf-menu-action) (recentf-menu-filter): Doc fix. (recentf-menu-append-commands-flag): Renamed from... (recentf-menu-append-commands-p): Made obsolete. (recentf-keep-non-readable-files-flag): Renamed from... (recentf-keep-non-readable-files-p): Made obsolete. (recentf-auto-cleanup, recentf-filename-handler): New options. (recentf-string-equal, recentf-string-lessp) (recentf-string-member): New functions. (recentf-trunc-list): Moved. (recentf-dump-variable): Moved. Better code and output format. (recentf-auto-cleanup-timer): New variable. (recentf-auto-cleanup): New function. (recentf-push, recentf-expand-file-name): New functions. (recentf-add-file): In-lined. Use above functions. (recentf-remove-if-non-readable): In-lined. Expand file name. (recentf-find-file): Use `recentf-remove-if-non-readable'. (recentf-directory-compare): Moved. Use `recentf-string-equal' and `recentf-string-lessp' to do comparisons. (recentf-menu-items-for-commands) (recentf-menu-filter-commands): Moved. (recentf-elements, recentf-make-menu-element) (recentf-menu-element-item, recentf-menu-element-value) (recentf-set-menu-element-item, recentf-set-menu-element-value) (recentf-sub-menu-element-p, recentf-make-default-menu-element) (recentf-menu-elements): In-lined. Some doc fix. (recentf-apply-menu-filter): Better code. (recentf-make-menu-items): Doc fix. Use `recentf-menu-append-commands-flag'. (recentf-make-menu-item): In-lined. Better code. (recentf-clear-data): New function. (recentf-sort-ascending, recentf-sort-descending) (recentf-sort-basenames-ascending) (recentf-sort-basenames-descending) (recentf-sort-directories-ascending) (recentf-sort-directories-descending) (recentf-show-basenames-ascending) (recentf-show-basenames-descending: In-lined. Better code. Some doc fix. (recentf-show-basenames) (recentf-relative-filter): Better code. Doc fix. (recentf-arrange-by-rule-subfilter): Doc fix. Improved :set code. (recentf-match-rule-p): Use filename instead of file-path. (recentf-arrange-by-rule, recentf-build-mode-rules) (recentf-arrange-by-mode, recentf-build-dir-rules) (recentf-file-name-nondir) (recentf-filter-changer-alist): Some doc fix and code cleanup. (recentf-filter-changer-goto-next): Doc fix. Call `recentf-clear-data'. (recentf-filter-changer-get-current) (recentf-filter-changer-get-next): In-lined. Doc fix and better code. (recentf-filter-changer): Doc fix and better code. (recentf-cancel-dialog): Doc fix. (recentf-dialog-mode-map): Initialized in defvar. (recentf-dialog-mode): Doc fix. (recentf-track-opened-file): Renamed from... (recentf-add-file-hook): Removed. (recentf-track-closed-file): Renamed from... (recentf-remove-file-hook): Removed. (recentf-update-menu-hook): Removed. Replaced by... (recentf-update-menu): New. Better catch unnecessary updates. Display a message on error. (recentf-used-hooks): New constant. (recentf-enabled-p): New function. (recentf-edit-selected-items) (recentf-open-files-action) (recentf-open-files-item-shift): Doc fix. (recentf-edit-list-action) (recentf-open-files-item): Doc fix. Code cleanup. (recentf-edit-list, recentf-open-files) (recentf-open-more-files): Likewise. Removed autoload cookie. (recentf-save-list, recentf-cleanup): Likewise. Moved. (recentf-load-list): New command. (recentf-mode): Better code. Does nothing if enabling the already enabled mode.
author Juanma Barranquero <lekktu@gmail.com>
date Sat, 26 Apr 2003 23:41:59 +0000
parents d18a841a4a5a
children 695cf19ef79e d7ddb3e565de
line wrap: on
line source

@c This is part of the Emacs manual.
@c Copyright (C) 1985, 86, 87, 93, 94, 95, 1997 Free Software Foundation, Inc.
@c See file emacs.texi for copying conditions.
@node M-x, Help, Minibuffer, Top
@chapter Running Commands by Name

  Every Emacs command has a name that you can use to run it.  Commands
that are used often, or that must be quick to type, are also bound to
keys---short sequences of characters---for convenient use.  You can
run them by name if you don't remember the keys.  Other Emacs commands
that do not need to be quick are not bound to keys; the only way to
run them is by name.  @xref{Key Bindings}, for the description of
how to bind commands to keys.

  By convention, a command name consists of one or more words,
separated by hyphens; for example, @code{auto-fill-mode} or
@code{manual-entry}.  The use of English words makes the command name
easier to remember than a key made up of obscure characters, even
though it is more characters to type.

@kindex M-x
  The way to run a command by name is to start with @kbd{M-x}, type the
command name, and finish it with @key{RET}.  @kbd{M-x} uses the
minibuffer to read the command name.  @key{RET} exits the minibuffer and
runs the command.  The string @samp{M-x} appears at the beginning of the
minibuffer as a @dfn{prompt} to remind you to enter the name of a
command to be run.  @xref{Minibuffer}, for full information on the
features of the minibuffer.

  You can use completion to enter the command name.  For example, you
can invoke the command @code{forward-char} by name by typing either

@example
M-x forward-char @key{RET}
@end example

@noindent
or

@example
M-x forw @key{TAB} c @key{RET}
@end example

@noindent
Note that @code{forward-char} is the same command that you invoke with
the key @kbd{C-f}.  You can run any Emacs command by name using
@kbd{M-x}, whether or not any keys are bound to it.

  If you type @kbd{C-g} while the command name is being read, you cancel
the @kbd{M-x} command and get out of the minibuffer, ending up at top level.

  To pass a numeric argument to the command you are invoking with
@kbd{M-x}, specify the numeric argument before the @kbd{M-x}.  @kbd{M-x}
passes the argument along to the command it runs.  The argument value
appears in the prompt while the command name is being read.

@vindex suggest-key-bindings
  If the command you type has a key binding of its own, Emacs mentions
this in the echo area, two seconds after the command finishes (if you
don't type anything else first).  For example, if you type @kbd{M-x
forward-word}, the message says that you can run the same command more
easily by typing @kbd{M-f}.  You can turn off these messages by setting
@code{suggest-key-bindings} to @code{nil}.

  Normally, when describing in this manual a command that is run by
name, we omit the @key{RET} that is needed to terminate the name.  Thus
we might speak of @kbd{M-x auto-fill-mode} rather than @kbd{M-x
auto-fill-mode @key{RET}}.  We mention the @key{RET} only when there is
a need to emphasize its presence, such as when we show the command
together with following arguments.

@findex execute-extended-command
  @kbd{M-x} works by running the command
@code{execute-extended-command}, which is responsible for reading the
name of another command and invoking it.