Emacspeak User's Manual

Table of Contents


Emacspeak User's Manual

First Edition, Emacspeak Version$Revision: 1.1 $

October 1994

T. V. Raman raman@crl.dec.com Copyright (C) 1994 T. V. Raman

Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.


This documentation was written by T. V. Raman, then substantially modified by Jim Van Zandt. Please direct any questions about it to jrv@vanzandt.mv.com.

Emacspeak is an Emacs subsystem that allows the user to get feedback using synthesized speech.

Screen reading programs allow a visually impaired user to get feedback using synthesized speech. Such programs have been commercially available for well over a decade. Most of them run on PC's under DOS, and there are now a few screen-readers for the Windows platform. However, screen-readers for the UNIX environment have been conspicuous in their absence.

This means that most visually impaired computer users face the additional handicap of being DOS-impaired -- a far more serious problem:-)

Emacspeak is an emacs subsystem that provides basic speech access functionality. Emacspeak will always have the shortcoming that it will only work under Emacs. This said, there is very little that cannot be done inside Emacs, so it's not a real shortcoming:-)

Emacspeak does have a significant advantage: since it runs inside Emacs, a structure-sensitive, fully customizable editor, Emacspeak often has more context-specific information about what it is speaking than its commercial counterparts. In this sense, Emacspeak is not a "screenreader", it is a subsystem that produces speech output. A traditional screen-reader speaks the content of the screen, leaving it to the user to interpret the visually laid-out information. Emacspeak, on the other hand, treats speech as a first-class output modality; it speaks the information in a manner that is easy to comprehend when listening.

This initial version provides a basic speech subsystem for Emacs; using Emacs' power and flexibility, it has proven straightforward to add modules that customize how things are spoken, e.g. depending on the major/minor mode of a given buffer. Note that the basic speech functionality provided by Emacspeak is sufficient to use most Emacs packages effectively; adding package-specific customizations makes the interaction much smoother. This is because package-specific extensions can take advantage of the current context.

Emacspeak currently comes with speech extensions for several popular Emacs subsystems and editing modes. I would like to thank their respective authors for their wonderful work which makes Emacs more than a text editor(1). For those who doubt the credibility of a speech extension to Emacs working as a full blown spoken interface, here is a list of Emacs subsystems that have been customized to work with speech output.

  1. W3 for surfing the WWW.
  2. VM For reading and replying to email.
  3. Gnus for reading Usenet news.
  4. Calendar for maintaining appointments etc.
  5. auctex for editing TeX and LaTeX.
  6. Dired for navigating a file system.
  7. C and C++ editing extensions.
  8. Calc for working with the Emacs Calculator.
  9. Info for listening to online documentation.
  10. Folding for using Emacs as a structured folding editor.
  11. Tempo a package that allows for editing templates. This extension makes html-helper-mode speech friendly.
  12. Ispell for spell checking files.
  13. Eterm for launching terminal based programs. This extension enables you to login to another system and get spoken feedback, as well as running programs that can only be run from the shell. Note: eterm is a new improved terminal emulator by Perl Bothner (bothner@cygnus.com)
  14. Buffer-menu for navigating through the list of currently open buffers.
  15. Comint for command interpreters running in an inferior process.

In addition, other editing modes like Perl and TCL modes work fluently with emacspeak Emacspeak; there is currently no speech extension for these because I have not found a need for it.

Emacs-19's font-locking facilities are extended to the speech output as well; for instance, a user can customize the system to have different types of text spoken using different kinds of voices (speech fonts). Currently, this feature is used to provide "voice locking" for many popular editing modes like c-mode, tcl-mode, perl-mode, emacs-lisp-mode etc.

The basic concepts used by Emacspeak are simple; all of the Emacs cursor movement commands as well as the various input-output functions are adapted to provide speech feedback. Hence, a user can just use Emacs as he normally would; Emacspeak works behind the scene to give audio feedback in addition to updating the screen.

Synthesizers Supported

Emacspeak currently supports the software DecTalk (using my DTK-tclSH), the portable Dectalk Express, the MultiVoice, and older Dectalk 3 synthesizers.

Dectalk Express

The Dectalk Express is a portable Dectalk speech synthesizer that can be connected to the serial port of a workstation or PC. It is the latest in the family of Dectalk synthesizers and is backwards compatible with other serial-line Dectalk synthesizers, e.g. the MultiVoice.

Note: The Dectalk Express and the Software-Dectalk are both DTK-4.2.

To use the Dectalk Express, set the environment variable DTK_PROGRAM to dtk-exp.

The environment variable DTK_PORT tells emacspeak which port the Dectalk is connected to. By default, this is /dev/tty00 on DEC Ultrix (mips) and Digital UNIX (OSF on DECALPHA) and /dev/ttyS0 under Linux.

Software Dectalk

Note: (dtk-tclsh has not been generally released. If you have a DECALPHA and the software Dectalk, please get in touch, and I will make dtk-tclsh available to you.)

The Software Dectalk is a Dectalk Speech Synthesizer that runs in software on the DECALPHA. This software library allows user applications to produce synthesized speech.

dtk-tclsh is a TCL shell with Dectalk extensions; the functions provided by the Dectalk library are accessible as TCL commands. dtk-TCLSH allows the user to write simple TCL scripts that produce speech.

To use the Software Dectalk with Emacspeak, you need to:

Dectalk MultiVoice

The Dectalk MultiVoice is another speech synthesizer which can be connected to the serial port of a workstation or PC.

To use the MultiVoice, set the environment variable DTK_PROGRAM to dtk-mv.

Note: The device drivers use extended TCL, also known as TCLX. This is a typical source of confusion, so here is some TCL background.

TCL is a scripting language. The vanila TCL executable is called tclsh. The extended TCL is called TCLX, but the corresponding executable is called tcl on most systems. For emacspeak, you need the extended TCL shell, ie the executable tcl. (Note: Extended TCL comes as part of the tcl disk set with the Slackware distribution of Linux).


This chapter of the manual deals with getting, configuring, compiling, and installing Emacspeak.

Retrieving Emacspeak

Emacspeak is available from the WWW page for Emacspeak at http://www.cs.cornell.edu/Info/People/raman/emacspeak/emacspeak.html This page contains information on recent updates, and pointers into a potential FAQ list.

There is a mailing list emacspeak@cs.vassar.edu for Emacspeak users, maintained by Greg E. Priest-Dorman. If you are using Emacspeak, you should send mail to priestdo@cs.vassar.edu and ask for a subscription. Use it for reporting problems or better still, your own contributions to Emacspeak.

Note: I work on Emacspeak in my spare time; so please keep this in mind when requesting additional features.

Quick Installation

If you are lucky, things will probably work "out of the box" for you. Here are the quick installation instructions. See the next section for detailed installation instructions.

Configuring and Installing Emacspeak

Note: You need GNU Emacs 19 (19.23 or later) for using Emacspeak. Emacspeak may work with other flavors of Emacs19, e.g. xemacs, but I have not tried it.

The driver for the Dectalk is written in TclX. (For example, see the source file `dtk-exp'). If you happen to rewrite it in C, I'd be more than happy to incorporate it in a future version of Emacspeak.

Configure the source files by typing `make config'. At this point you can check that the device driver is correctly configured by typing

tcl dtk-exp

(assuming you are using the Dectalk Express). You should hear the Dectalk speak and get a TCL prompt if everything is okay.

If you're feeling paranoid, you can perform a couple of additional tests at this point. Execute the following commands in the running tcl session you just started above. (Most users will not need to do this; it is a sanity check and is useful in tracking problems, especially if you find emacspeak beginning to talk and then immediately fall silent.)

Quit this TCL session by typing control-D.

Next, compile the elisp files by typing

make emacspeak

Finally, install the documentation and executable files by typing

make install

The driver program and/or output port can also be specified at run time by setting the shell environment variables DTK_PROGRAM and DTK_PORT. Examples: If using csh or tcsh

setenv DTK_PROGRAM "dtk-exp"

if using sh or bash




You can always set these variables from a running Emacs session by executing the Emacs setenv command.

Starting Emacspeak

To use emacspeak you can do one of the following:

Using any one of these methods will:

Basic Usage

Note: This documentation should be used in conjunction with the online Emacs info pages that extensively document Emacs itself. These sections briefly describe the speech-enabling extensions. However, they should not be considered a substitute for reading the Emacs manual.

How successfully you use Emacspeak will depend on how well you learn your Emacs.

All Emacs navigation and editing commands have been speech enabled. Thus, moving to the next or previous word, line or sexp results in the text around point being spoken. Exactly how much text is spoken is determined by the amount by which point moves.

In addition, Emacspeak provides basic reading functions that can be invoked to listen to chunks of text without moving point.


All of the normal Emacs movement commands will speak the relevant information after moving. Here are some of the cursor movement functions that have been speech enabled. Note that this list only enumerates a few of these speech enabled commands; the purpose of emacspeak is to speech-enable all of emacs and provide you spoken feedback as you work. Thus, this list is here only as a representative example of the kind of speech-enabling extensions Emacspeak provides.

M-x next-line
Speaks line moved to.
M-x previous-line
Speaks line moved to.
M-x forward-word
Speaks word moved to. Places point on the first character of the next work, rather than on the space preceding it (This is my personal preference).
M-x backward-word
Speaks word moved to.
M-x forward-sexp
Speaks sexp moved to. If the sexp spans more than a line, only the first line is spoken.
M-x backward-sexp
Speaks sexp moved to. If the sexp spans more than a line, only the first line is spoken.
M-x beginning-of-buffer
Speaks line moved to.
M-x end-of-buffer
Speaks line moved to.
M-x back-to-indentation
Speaks entire current line. A useful way of hearing the current line.

For a complete list of the functions that have been advised, see file `emacspeak-advice.el'.


While typing in an Emacs buffer, hitting space speaks the recently typed word. I use TMC completion all the time; so Emacspeak will speak the completion just inserted as well as the next possible completion. Under Emacs19, use load-library ret completion ret for loading the completion package.

The standard Emacs I/O functions have also been advised to speak. All forms of completion, including minibuffer completion, provide speech feedback.

In addition, Emacspeak provides a number of commands for reading portions of the current buffer, getting status information, and modifying Emacspeak's state.

All of the commands are documented in the subsequent sections. They can be classified into types:

Emacs has extensive online help; so does emacspeak. Please use it. This info manual is only to get you started. You can get a summary of Emacspeak's features by pressing Control-h Control-e

Getting Information Without Moving Point

The following commands allow you to listen to information without moving point (point is emacs terminology for the editing cursor).

Emacspeak uses C-e as a prefix-key. Note: In all of the following, a prefix arg (conventionally C-u) will read the "rest of the unit" and a negative prefix arg (conventionally C-u -) will read the initial part of the unit before point. As an example, given the sexp able-baker-charlie with point on the - preceding the baker, emacspeak-speak-speak will say:

Note: I am not satisfied with the above, in fact providing a negative prefix is so cumbersome that I never use it.

Note: For a better way of reading the beginning and or rest of a line etc, see the extended Emacspeak reading commands such as emacspeak-speak-line-interactively.

`C-e M-a'
`M-x emacspeak-toggle-action-mode'
Toggle state of Emacspeak action mode. Interactive prefix arg means toggle the global default value, and then set the current local value to the result.
`C-e d l'
`M-x emacspeak-toggle-line-echo'
Toggle state of Emacspeak line echo. Interactive prefix arg means toggle the global default value, and then set the current local value to the result.
`C-e d w'
`M-x emacspeak-toggle-word-echo'
Toggle state of Emacspeak word echo. Interactive prefix arg means toggle the global default value, and then set the current local value to the result.
`C-e d k'
`M-x emacspeak-toggle-character-echo'
Toggle state of Emacspeak character echo. Interactive prefix arg means toggle the global default value, and then set the current local value to the result.
`C-e C-d'
`M-x emacspeak-toggle-show-point'
Toggle state of Emacspeak-show-point. Interactive prefix arg means toggle the global default value, and then set the current local value to the result.
`C-e d i'
`M-x emacspeak-toggle-audio-indentation'
Toggle state of Emacspeak audio indentation. Interactive prefix arg means toggle the global default value, and then set the current local value to the result. Specifying the method of indentation as `tones' results in the Dectalk producing a tone whose length is a function of the line's indentation. Specifying `speak' results in the number of initial spaces being spoken.
`C-e r'
`M-x emacspeak-speak-region'
Speak region.
`C-e l'
`M-x emacspeak-speak-line'
Speak current line. With prefix arg, speaks the rest of the line from point. Negative prefix optional arg speaks from start of line to point. Voicifies if voice-lock-mode is on. Indicates indentation with a tone if audio indentation is in use. Indicates position of point with an aural highlight if option emacspeak-show-point is turned on --see command emacspeak-show-point bound to \\[emacspeak-show-point].
`C-e w'
`M-x emacspeak-speak-word'
Speak current word. With prefix arg, speaks the rest of the word from point. Negative prefix arg speaks from start of word to point.
`C-e c'
`M-x emacspeak-speak-char'
Speak char under point Pronounces character phonetically unless called with a prefix arg.
`C-e C-c'
`M-x emacspeak-speak-display-char'
Display char under point using current speech display table. Behavior is the same as command emacspeak-speak-char bound to \\[emacspeak-speak-char] for characters in the range 0--127.
`M-x emacspeak-speak-set-display-table'
Sets up buffer specific speech display table that controls how special characters are spoken. Interactive prefix argument causes setting to be global.
`C-e .'
`M-x emacspeak-speak-sentence'
Speak current sentence. With prefix arg, speaks the rest of the sentence from point. Negative prefix arg speaks from start of sentence to point.
`C-e ''
`M-x emacspeak-speak-sexp'
Speak current sexp. With prefix arg, speaks the rest of the sexp from point. Negative prefix arg speaks from start of sexp to point. If voice-lock-mode is on, then uses the personality.
`M-x emacspeak-speak-page'
Speak a page. With prefix arg, speaks rest of current page. Negative prefix arg will read from start of current page to point. If voice-lock-mode is on, then it will use any defined personality.
`C-e p'
`M-x emacspeak-speak-paragraph'
Speak paragraph. With prefix arg, speaks rest of current paragraph. Negative prefix arg will read from start of current paragraph to point. If voice-lock-mode is on, then it will use any defined personality.
`C-e b'
`M-x emacspeak-speak-buffer'
Speak current buffer contents. With prefix arg, speaks the rest of the buffer from point. Negative prefix arg speaks from start of buffer to point.
`C-e h'
`M-x emacspeak-speak-help'
Speak help buffer if one present. With prefix arg, speaks the rest of the buffer from point. Negative prefix arg speaks from start of buffer to point.
`M-x emacspeak-speak-completions'
Speak completions buffer if one present.
`M-x emacspeak-speak-minibuffer'
Speak the minibuffer contents With prefix arg, speaks the rest of the buffer from point. Negative prefix arg speaks from start of buffer to point.
`M-x next-completion'
Move to the next item in the completion list. WIth prefix argument N, move N items (negative N means move backward).
`M-x previous-completion'
Move to the previous item in the completion list.
`C-e M-m'
`M-x emacspeak-toggle-mail-alert'
Toggle state of Emacspeak mail alert. Interactive prefix arg means toggle the global default value, and then set the current local value to the result. Turning on this option results in Emacspeak producing an auditory icon indicating the arrival of new mail when displaying the mode line.
`C-e m'
`M-x emacspeak-speak-mode-line'
Speak the mode-line.
`C-e M'
`M-x emacspeak-speak-minor-mode-line'
Speak the minor mode-information.
`C-e C-l'
`M-x emacspeak-speak-line-number'
Speak the line number of the current line.
`C-e [up]'
`M-x emacspeak-read-previous-line'
Read previous line, specified by an offset, without moving. Default is to read the previous line.
`C-e [down]'
`M-x emacspeak-read-next-line'
Read next line, specified by an offset, without moving. Default is to read the next line.
`C-e [left]'
`M-x emacspeak-read-previous-word'
Read previous word, specified as a prefix arg, without moving. Default is to read the previous word.
`C-e [right]'
`M-x emacspeak-read-next-word'
Read next word, specified as a numeric arg, without moving. Default is to read the next word.
`C-e t'
`M-x emacspeak-speak-time'
Speak the time.
`C-e v'
`M-x emacspeak-speak-version'
Announce version information for running emacspeak.
`C-e k'
`M-x emacspeak-speak-current-kill'
Speak the current kill entry. This is the text that will be yanked in by the next `C-y'. Prefix numeric arg, count, specifies that the text that will be yanked as a result of a `C-y' followed by count-1 `ESC y' be spoken. The kill number that is spoken says what numeric prefix arg to give to command yank.
`C-e d z'
`M-x emacspeak-zap-dtk'
Send this command to the Dectalk directly.
`C-e d t'
`M-x emacspeak-dial-dtk'
Prompt for and dial a phone number with the Dectalk.
`C-e d V'
`M-x emacspeak-dtk-speak-version'
Use this to find out which version of the Dectalk firmware you have.
`C-e C-@'
`M-x emacspeak-speak-current-mark'
Speak the line containing the mark. With no argument, speaks the line containing the mark--this is where exchange-point-and-mark \\[exchange-point-and-mark] would jump. Numeric prefix arg 'n' speaks line containing mark 'n' where 'n' is one less than the number of times one has to jump using set-mark-command to get to this marked position. The location of the mark is indicated by an aural highlight achieved by a change in voice personality.
`M-x emacspeak-execute-repeatedly'
Execute command repeatedly.
`C-e C-m'
`M-x emacspeak-speak-continuously'
Speak a buffer continuously. First prompts using the minibuffer for the kind of action to perform after speaking each chunk. E.G. speak a line at a time etc. Speaking commences at current buffer position. Pressing C-g breaks out, leaving point on last chunk that was spoken. Any other key continues to speak the buffer.
`M-x emacspeak-read-line-by-line'
Read line by line until interrupted
`C-e C-h'
`M-x emacspeak-learn-mode'
Helps you learn the keys. You can press keys and hear what they do. To leave, press `C-g'.
`C-e C-q'
`M-x emacspeak-toggle-comint-autospeak'
Toggle state of Emacspeak comint autospeak. When turned on, comint output is automatically spoken. Turn this on if you want your shell to speak its results. Interactive prefix arg means toggle the global default value, and then set the current local value to the result.
`C-e q'
`M-x emacspeak-toggle-speak-messages'
Toggle the state of whether emacspeak echoes messages.
`C-e f'
`M-x emacspeak-speak-current-field'
Speak current field. A field is defined currently as a sequence of non-white space characters. may be made mode specific later.
`C-e >'
`M-x emacspeak-speak-next-field'
Skip across the next contiguous sequence of non-blank characters, and speak it. Useful in moving across fields. Will be improved if it proves useful.
`C-e <'
`M-x emacspeak-speak-previous-field'
Skip backwards across the next contiguous sequence of non-blank characters, and speak it. Useful in moving across fields. Will be improved if it proves useful.
`C-e ='
`M-x emacspeak-speak-current-column'
Speak the current column
`C-e %'
`M-x emacspeak-speak-current-percentage'
Announce the percentage into the current buffer.
`C-e a'
`M-x emacspeak-speak-message-again'
Speak the last message from Emacs once again.
`C-e C-w'
`M-x emacspeak-speak-window-information'
Speaks information about current windows.
`M-x emacspeak-speak-current-window'
Speak contents of current window. Speaks entire window irrespective of point.
`C-e C-o'
`M-x emacspeak-speak-other-window'
Speak contents of `other' window. Speaks entire window irrespective of point. Semantics of `other' is the same as for the builtin emacs command `other-window'.
`C-e C-n'
`M-x emacspeak-speak-next-window'
Speak the next window
`C-e C-p'
`M-x emacspeak-speak-previous-window'
Speak the previous window
`M-x emacspeak-owindow-scroll-up'
Scroll up the window that command other-window would move to. Speak the window contents after scrolling.
`M-x emacspeak-owindow-scroll-down'
Scroll down the window that command other-window would move to. Speak the window contents after scrolling.
`M-x emacspeak-owindow-next-line'
Move to the next line in the other window and speak it. Numeric prefix arg can specify number of lines to move.
`M-x emacspeak-owindow-previous-line'
Move to the next line in the other window and speak it. Numeric prefix arg can specify number of lines to move.
`M-x emacspeak-owindow-speak-line'
Speak the current line in the other window.
`M-x emacspeak-speak-predefined-window'
Speak one of the first 10 windows on the screen. In general, you'll never have emacs split the screen into more than two or three. Argument arg determines the 'other' window to speak. Speaks entire window irrespective of point. Semantics of `other' is the same as for the builtin emacs command `other-window'.
`C-e B'
`M-x emacspeak-speak-buffer-interactively'
Speak the start of, rest of, or the entire buffer. 's' to speak the start. 'r' to speak the rest. any other key to speak entire buffer.
`C-e H'
`M-x emacspeak-speak-help-interactively'
Speak the start of, rest of, or the entire help. 's' to speak the start. 'r' to speak the rest. any other key to speak entire help.
`C-e L'
`M-x emacspeak-speak-line-interactively'
Speak the start of, rest of, or the entire line. 's' to speak the start. 'r' to speak the rest. any other key to speak entire line.
`C-e P'
`M-x emacspeak-speak-paragraph-interactively'
Speak the start of, rest of, or the entire paragraph. 's' to speak the start. 'r' to speak the rest. any other key to speak entire paragraph.
`C-e [space]'
`M-x emacspeak-speak-page-interactively'
Speak the start of, rest of, or the entire page. 's' to speak the start. 'r' to speak the rest. any other key to speak entire page.
`C-e W'
`M-x emacspeak-speak-word-interactively'
Speak the start of, rest of, or the entire word. 's' to speak the start. 'r' to speak the rest. any other key to speak entire word.
`M-x emacspeak-speak-sexp-interactively'
Speak the start of, rest of, or the entire sexp. 's' to speak the start. 'r' to speak the rest. any other key to speak entire sexp.
`C-e x'
`M-x emacspeak-view-register'
Display the contents of a register, and then speak it.
`C-e R'
`M-x emacspeak-speak-rectangle'
Speak a rectangle of text. Rectangle is delimited by point and mark. When call from a program, arguments specify the start and end of the rectangle.
`M-x emacspeak-voicify-rectangle'
Voicify the current rectangle. Prompts for personality with completion when called interactively. When calling from a program,arguments are start end personality
`C-e o'
`M-x emacspeak-voicify-region'
Voicify the current region. Prompts for personality with completion when called interactively. When calling from a program,arguments are start end personality
`M-x emacspeak-blink-matching-open'
Display matching delimiter in the minibuffer
`C-e )'
`M-x emacspeak-use-customized-blink-paren'
Ask Emacs to use a customized blink-paren function that speaks the line containing the matching opening paren. We need to call this in case Emacs is anal and loads its own builtin blink-paren function which does not talk.
`M-x emacspeak-skip-blank-lines-forward'
Move forward across blank lines and leave point at the beginning of the first non-blank line. This line is then spoken. Signals end of buffer.
`M-x emacspeak-skip-blank-lines-backward'
Move backward across blank lines and leave point at the beginning of the first non-blank line. This line is then spoken. Signals beginning of buffer.
`M-x emacspeak-audio-annotate-paragraphs'
Set property auditory-icon at front of all paragraphs. Interactive prefix arg prompts for sound cue to use
`C-e M-v'
`M-x emacspeak-show-personality-at-point'
Show value of property personality at point.
`C-e M-p'
`M-x emacspeak-show-property-at-point'
Show value of property at point. If optional arg property is not supplied, read it interactively. Provides completion based on properties that are of interest. If no property is set, show a message and exit.
`C-e M-'
`M-x emacspeak-speak-spaces-at-point'
Speak the white space at point
`M-x emacspeak-switch-to-previous-buffer'
Switch to most recently used interesting buffer
`M-x emacspeak-kill-buffer-quietly'
Kill current buffer without asking for confirmation.
`M-x emacspeak-generate-documentation'
Generates docs for all emacspeak commands. Prompts for filename in which to save the documentation. Warning! Contents of file filename will be overwritten.
`M-x emacspeak-switch-to-completions-window'
Jump to the *Completions* buffer if it is active.


`C-e d d'
`M-x dtk-select-driver'
Select a dectalk driver interactively. This will be the driver that is used when you next call either `M-x dtk-initialize' or `M-x dtk-emergency-restart'.
`C-e C-s'
`M-x dtk-emergency-restart'
Use this to nuke the currently running dtk driver and restart it. Useful if you want to switch to another synthesizer while emacspeak is running. Also useful for emergency stopping of speech.
`C-e d b'
`M-x dtk-toggle-debug'
Toggle state of the debug flag. When debugging is on, you can switch to the buffer *speaker* to examine the output from the process that talks to the speech device. Note: *speaker* is a hidden buffer, ie it has a leading space in its name.
`C-e d [space]'
`M-x dtk-toggle-splitting-on-white-space'
Toggle state of emacspeak that decides if we split text purely by clause boundaries, or also include whitespace. By default, emacspeak sends a clause at a time to the speech device. This produces fluent speech for normal use. However in modes such as shell-mode and some programming language modes, clause markers appear infrequently, and this can result in large amounts of text being sent to the speech device at once, making the system unresponsive when asked to stop talking. Splitting on white space makes emacspeak's stop command responsive. However, when splitting on white space, the speech sounds choppy since the synthesizer is getting a word at a time.
`C-e d C-m'
`M-x dtk-set-chunk-separator-syntax'
Interactively set how text is split in chunks. See the emacs documentation on syntax tables for details on how characters are classified into various syntactic classes.
`C-e s'
`M-x dtk-stop'
Stop speech now.
`C-e d a'
`M-x dtk-add-cleanup-pattern'
Add this pattern to the list of repeating patterns that are cleaned up. Optional interactive prefix arg deletes this pattern if previously added. Cleaning up repeated patterns results in emacspeak speaking the pattern followed by a repeat count instead of speaking all the characters making up the pattern. Thus, by adding the repeating pattern `.' (this is already added by default) emacspeak will say "aw fifteen dot" when speaking the string "..............." instead of "period period period period "
`C-e d r'
`M-x dtk-set-rate'
Set speaking rate for the dectalk. Interactive prefix arg means set the global default value, and then set the current local value to the result.
`M-x dtk-set-predefined-speech-rate'
Set speech rate to one of nine predefined levels. Interactive prefix arg says to set the rate globally.
`C-e d f'
`M-x dtk-set-character-scale'
Set scale factor by which speech rate is scaled when speaking characters. Interactive prefix arg means set the global default value, and then set the current local value to the result.
`C-e d q'
`M-x dtk-toggle-quiet'
Toggle state of the speech device between being quiet and talkative. Useful if you want to continue using an emacs session that has emacspeak loaded but wish to make the speech shut up.
`C-e d I'
`M-x dtk-toggle-stop-immediately-while-typing'
Toggle state of variable dtk-stop-immediately-while-typing. As the name implies, if T then speech flushes immediately as you type.
`C-e d s'
`M-x dtk-toggle-split-caps'
Toggle split caps mode. Split caps mode is useful when reading Hungarian notation in program source code. Interactive prefix arg means toggle the global default value, and then set the current local value to the result.
`C-e d c'
`M-x dtk-toggle-capitalization'
Toggle capitalization. when set, capitalization is indicated by a short beep. Interactive prefix arg means toggle the global default value, and then set the current local value to the result.
`C-e d p'
`M-x dtk-set-punctuations'
Set punctuation state. Possible values are `some', `all', or `none'. Interactive prefix arg means set the global default value, and then set the current local value to the result.
`M-x dtk-set-punctuations-to-all'
Set punctuation mode to all. Interactive prefix arg sets punctuation mode globally.
`M-x dtk-set-punctuations-to-some'
Set punctuation mode to some. Interactive prefix arg sets punctuation mode globally.
`C-e d m'
`M-x dtk-set-pronunciation-mode'
Set pronunciation mode. This command is valid only for newer Dectalks, e.g. the Dectalk Express. Possible values are `math, name, europe, spell', all of which can be turned on or off.
`C-e d R'
`M-x dtk-reset-state'
Restore sanity to the Dectalk. Typically used after the Dectalk has been power cycled.

@include emacspeak-advice.texinfo

`C-e C-a'
`M-x emacspeak-toggle-auditory-icons'
Toggle use of auditory icons.
`M-x emacspeak-play-all-icons'
Plays all defined icons and speaks their names.
`C-e i'
`M-x emacspeak-tabulate-region'
Voicifies the white-space of a table if one found. Optional interactive prefix arg mark-fields specifies if the header row information is used to mark fields in the white-space.
`C-e d v'
`M-x voice-lock-mode'
Toggle Voice Lock mode. With arg, turn Voice Lock mode on if and only if arg is positive. When Voice Lock mode is enabled, text is voiceified as you type it: - comments are spoken in `voice-lock-comment-personality'; (That is a variable whose value should be a personality name.) - strings are spoken in `voice-lock-string-personality'; - documentation strings are spoken in `voice-lock-doc-string-personality'; - function and variable names in their defining forms are spoken in `voice-lock-function-name-personality'; - and certain other expressions are spoken in other personalitys according to the value of the variable `voice-lock-keywords'. When you turn Voice Lock mode on/off, the buffer is voiceified/devoiceified. To voiceify a buffer without having newly typed text become voiceified, you can use `M-x voice-lock-voiceify-buffer'.
`M-x voice-lock-voiceify-buffer'
Voiceify the current buffer the way `voice-lock-mode' would: - comments are spoken in `voice-lock-comment-personality'; - strings are spoken in `voice-lock-string-personality'; - documentation strings are spoken in `voice-lock-doc-string-personality'; - function and variable names in their defining forms are spoken in `voice-lock-function-name-personality'; - and certain other expressions are spoken in other personalitys according to the value of the variable `voice-lock-keywords'. This can take a while for large buffers.

Compatibility with Emacs Subsystems

Emacspeak already works in all Emacs modes. The following modes have Emacspeak specific commands. Note: The documentation in the subsequent sections should be used in conjunction with the info pages for these separate subsystems. This document will only describe Emacspeak extensions to the various subsystems. Often, the description here is limited to documenting what Emacspeak adds by way of auditory feedback.

C and C++ Programming

Emacspeak adds commands to move to the next or previous statement, and to speak the semantics of a statement.

`M-x c-electric-semi&comma'
Speak the line when a statement is completed.
`M-x electric-c-terminator'
Speak what was typed.
`M-x c-electric-colon'
Speak the character you inserted
`M-x c-electric-pound'
Speak the character you inserted
`M-x c-electric-brace'
Speak the character you inserted
`M-x electric-c-semi'
Speak what was typed.
`M-x electric-c-sharp-sign'
Speak what was typed.
`M-x electric-c-brace'
Speak what was typed.
`M-x c-electric-delete'
Speak char before deleting it.
`M-x c-up-conditional'
Speak the line moved to.
`M-x c-forward-conditional'
Speak the line moved to.
`M-x c-backward-conditional'
Speak the line moved to.
`M-x c-beginning-of-statement'
Speak the line moved to.
`M-x c-end-of-statement'
Speak the line moved to.
`M-x mark-c-function'
Provide spoken and auditory feedback.
`M-x c-scope-operator'
speak what you inserted.
`M-x c-previous-statement'
Move to the previous C statement.
`M-x c-next-statement'
Move to the next C statement.
`M-x emacspeak-c-speak-semantics'
Speak the C semantics of this line.

Calendar Management

`M-x emacspeak-speak-calendar-date'
Speak the date under point when called in Calendar Mode.
`M-x view-diary-entries'
Speak the diary entries.
`M-x calendar'
Announce yourself.
`M-x calendar-goto-date'
Speak the date.
`M-x calendar-beginning-of-month'
Speak the date.
`M-x calendar-beginning-of-year'
Speak the date.
`M-x calendar-end-of-week'
Speak the date.
`M-x calendar-end-of-month'
Speak the date.
`M-x calendar-end-of-year'
Speak the date.
`M-x exit-calendar'
Speak modeline.
`M-x insert-diary-entry'
Speak the line.
`C-e A'
`M-x emacspeak-appt-repeat-announcement'
Speaks the most recently displayed appointment message if any.
`M-x appt-add'
Confirm that the alarm got set.

Compiling code from Inside Emacs

`M-x emacspeak-compilation-speak-error'
Speech feedback about the compilation error.
`M-x next-error'
Speak the line containing the error.
`M-x previous-error'
Speak the line containing the error.
`M-x compile-goto-error'
Speak the compilation error.
`M-x compilation-next-file'
Speak the error line.
`M-x compilation-previous-file'
Speak the error line.
`M-x compile'
provide auditory confirmation

Directory Editing

`M-x dired'
Produce an auditory icon.
`M-x dired-next-line'
Speak the filename name
`M-x dired-previous-line'
Speak the filename name
`M-x dired-next-marked-file'
Speak the filename name
`M-x dired-prev-marked-file'
Speak the filename name
`M-x dired-prev-subdir'
Speak the filename name
`M-x dired-next-subdir'
Speak the filename name
`M-x dired-mark'
Speak the filename name
`M-x dired-flag-file-deletion'
Speak the filename name
`M-x dired-next-dirline'
Speak the filename name
`M-x dired-prev-dirline'
Speak the filename name
`M-x dired-unmark-backward'
Speak the filename name
`M-x dired-mark'
Produce an auditory icon.
`M-x dired-flag-file-deletion'
Produce an auditory icon indicating that a file was marked for deletion.
`M-x dired-unmark'
Give speech feedback. Also provide an auditory icon.
`M-x emacspeak-dired-label-fields'
Labels the fields of the listing in the dired buffer. Currently is a no-op unless unless dired-listing-switches contains -al

Ediff Mode

@include emacspeak-new-ediff.texinfo


You can use the terminal emulator mode to run arbitrary terminal-based programs from within Emacs. You open a terminal emulator buffer using M-x term, with an extra carriage return to accept the default shell (such as bash). (Incidently, don't confuse this command with M-x terminal-emulator, which starts an older terminal emulator mode not supported by Emacspeak.)

Three kinds of commands are used within the terminal emulator. Normal term commands use a prefix of C-c. The emacspeak commands for eterm mode use a prefix of C-t. Anything else is a normal shell command.

There are two sub-modes of term mode: char sub-mode and line sub-mode. In char sub-mode, emacspeak will only speak the finally displayed line. Each character typed (except `term-escape-char`) is sent immediately. Use char sub-mode for screen oriented programs like vi or pine.

In line sub-mode, all program output is spoken. When you type a return at the end of the buffer, that line is sent as input, while return not at end copies the rest of the line to the end and sends it.

The default is char sub-mode. You can switch to line sub-mode with C-c C-j (recall that control J is a linefeed), and back to char sub-mode with C-c C-k (think of character spelled with a K).

In both terminal modes, characters you type are spoken. In line mode, the command's output and the shell's prompt are also spoken.

Line Sub-mode of Term Mode

In line sub-mode of term mode, emacs editing commands work normally, until you type RET which sends the current line to the inferior process.

Here are some of the useful commands for the line sub-mode of the term mode. In addition, the usual commands for handling a buffer work in this mode (C-x o to switch windows, C-x k to kill a buffer, C-x f to find a file, and so forth).

`C-c C-k'
`M-x term-char-mode'
Switch to char sub-mode of term mode.
`C-c C-z'
`M-x term-stop-subjob'
Stop the current subjob. Resume the subjob in the foreground with the ordinary command fg, or run it in the background with bg. WARNING: if there is no current subjob, you can end up suspending the top-level process running in the buffer. If you accidentally do this, use M-x term-continue-subjob to resume the process. (This is not a problem with with most shells, including bash, since they ignore this signal.)
`C-c C-\'
`M-x term-quit-subjob'
Send quit signal to the current subjob.
`C-c C-c'
`M-x term-interrupt-subjob'
Interrupt the current subjob.
`C-c C-w'
`M-x backward-kill-word'
Kill characters backward until encountering the end of a word.
`C-c C-u'
`M-x term-kill-input'
Kill all text from last stuff output by interpreter to point.
`C-c C-a'
`M-x term-bol'
Goes to the beginning of line, then skips past the prompt, if any. If a prefix argument is given (C-u), then no prompt skip -- go straight to column 0.
`C-c C-d'
`M-x term-send-eof'
Send an end of file character (EOF) to the current buffer's process.

You can get a list of all the key sequences with a C-c prefix by typing C-c C-h while in this sub-mode. Some of those commands are only available in the line sub-mode, while others are generally available.

Char Sub-mode of Term Mode

In char sub-mode of term, each character you type is sent directly to the inferior process without intervention from emacs, except for the escape character (usually C-c).

Here are some of the useful commands for the char sub-mode. Note that the usual commands for killing a buffer or switching buffers do not work in this mode, so new key bindings are supplied. The first five commands are different ways of leaving this mode.

`C-c C-j'
`M-x term-line-mode'
Switch to line sub-mode of term mode.
`C-c o'
`M-x other-window'
Select the next window on this frame. All windows on current frame are arranged in a cyclic order. This command selects the next window in that order. If there are no other windows, this command does nothing.
`C-c C-f'
`M-x find-file'
Switch to a buffer visiting a file, creating one if none already exists.
`C-c 0'
`M-x delete-window'
Remove current window from the display.
`C-c k'
`M-x kill-buffer'
Kill the current buffer.
`C-c C-x C-c'
`M-x save-buffers-kill-emacs'
Offer to save each buffer, then kill this Emacs process.
`C-c C-d'
`M-x list-directory'
Display a list of files in or matching DIRNAME, a la `ls'. DIRNAME is globbed by the shell if necessary. Prefix arg (C-u) means supply -l switch to `ls'. The list appears in a second window.
`C-c 1'
`M-x delete-other-windows'
Delete all other windows in the frame, making the current window fill its frame.
`C-c C-c'
`M-x term-send-raw'
Send the last character typed through the terminal-emulator without any interpretation.
`C-c ('
`M-x start-kbd-macro'
Record subsequent keyboard input, defining a keyboard macro. The commands are recorded even as they are executed. Use C-c ) to finish recording and make the macro available. Use M-x name-last-kbd-macro to give it a permanent name. Prefix arg (C-u) means append to last macro defined; This begins by re-executing that macro as if you had typed it again.
`C-c )'
`M-x end-kbd-macro'
Finish defining a keyboard macro. The definition was started by C-c (. The macro is now available for use via C-c e, or it can be given a name with M-x name-last-kbd-macro and then invoked under that name.
`C-c e'
`M-x call-last-kbd-macro'
Call the last keyboard macro that you defined with C-c (. A prefix argument serves as a repeat count. Zero means repeat until error.

You can get a list of all the key sequences with a C-c prefix by typing C-c C-h while in this sub-mode. Some of those commands are only available in the char sub-mode, while others are generally available.

Eterm Mode Commands

The eterm mode maintains a pointer, which is not necessarily the same as the terminal's cursor. It is intended to be used in eterm's char submode. In char submode, C-t , (that's control-t followed by comma) will tell you where the eterm pointer is. C-t C-i will tell you where the terminal's cursor is. The top left corner of the window is "row 0 column 0".

The eterm pointer can be moved with C-t < (to the top of the screen), C-t > (to the bottom of the screen), C-t n (to the next line), C-t p (to the previous line), and C-t . (to the cursor). Each of these also speaks the line the pointer moves to. You can also search forward with C-t s.

These commands speak without moving the pointer: C-t l (current line), C-t w (current word), C-t c (current character), and C-t [space] (from eterm pointer to cursor).

You may enter review mode with C-t q. In review mode, you can search the buffer and speak its contents, without disturbing the terminal. Commands for moving the pointer are similar to normal editing commands, but without a control key: n and p for next and previous line, f and b for forward and back by characters, < and > for the beginning or end of the buffer. c, w, and l speak the current character, word, and line. s searches forward (not incrementally). A comma speaks the pointer location. A period moves the pointer to the terminal cursor. Return to normal term mode by typing q.

`M-x emacspeak-eterm-maybe-send-raw'
Send a raw character through if in the terminal buffer. Execute end of line if in a non eterm buffer if executed via C-e C-e
`C-t C-i'
`M-x emacspeak-eterm-speak-cursor'
Speak cursor position
`C-t ,'
`M-x emacspeak-eterm-speak-pointer'
Speak current pointer position.
`C-t [space]'
`M-x emacspeak-eterm-speak-screen'
Speak the screen. Default is to speak from the emacspeak pointer to point. Prefix arg causes region above the Emacspeak pointer to be spoken.
`C-t l'
`M-x emacspeak-eterm-speak-pointer-line'
Speak the line the pointer is on
`C-t w'
`M-x emacspeak-eterm-speak-pointer-word'
Speak the word the pointer is on
`C-t c'
`M-x emacspeak-eterm-speak-pointer-char'
Speak char under eterm pointer. Pronounces character phonetically unless called with a prefix arg.
`C-t .'
`M-x emacspeak-eterm-pointer-to-cursor'
Move the pointer to the cursor
`C-t <'
`M-x emacspeak-eterm-pointer-to-top'
Move the pointer to the top of the screen.
`C-t >'
`M-x emacspeak-eterm-pointer-to-bottom'
Move the pointer to the bottom of the screen.
`C-t p'
`M-x emacspeak-eterm-pointer-up'
Move the pointer up a line.
`C-t n'
`M-x emacspeak-eterm-pointer-down'
Move the pointer down a line.
`C-t b'
`M-x emacspeak-eterm-pointer-left'
Move the pointer left a line.
`C-t f'
`M-x emacspeak-eterm-pointer-right'
Move the pointer right.
`C-t e'
`M-x emacspeak-eterm-pointer-to-right-edge'
Move the pointer to the right edge.
`C-t a'
`M-x emacspeak-eterm-pointer-to-left-edge'
Move the pointer to the right edge.
`C-t M-b'
`M-x emacspeak-eterm-pointer-backward-word'
Move the pointer backward by words. Interactive numeric prefix arg specifies number of words to move.
`C-t M-f'
`M-x emacspeak-eterm-pointer-forward-word'
Move the pointer forward by words. Interactive numeric prefix arg specifies number of words to move.
`C-t g'
`M-x emacspeak-eterm-goto-line'
Move emacspeak eterm pointer to a specified line.
`C-t s'
`M-x emacspeak-eterm-search-forward'
Search forward on the terminal.
`C-t r'
`M-x emacspeak-eterm-search-backward'
Search backward on the terminal.
`C-t h'
`M-x emacspeak-eterm-pointer-to-next-color-change'
Move the eterm pointer to the next color change. This allows you to move between highlighted regions of the screen.
`C-t H'
`M-x emacspeak-eterm-pointer-to-previous-color-change'
Move the eterm pointer to the next color change. This allows you to move between highlighted regions of the screen.
`C-t q'
`M-x emacspeak-eterm-toggle-review'
Toggle state of eterm review. In review mode, you can move around the terminal and listen to the contents without sending input to the terminal itself.
`C-t m'
`M-x emacspeak-eterm-set-marker'
Set the emacspeak eterm marker to the position pointed to by the emacspeak eterm pointer.
`C-t y'
`M-x emacspeak-eterm-kill-ring-save-region'
Copy region delimited by the emacspeak eterm marker set by command \\[emacspeak-eterm-set-marker] and the emacspeak eterm pointer.
`C-t x'
`M-x emacspeak-eterm-copy-region-to-register'
Copy region delimited by the emacspeak eterm marker set by command \\[emacspeak-eterm-set-marker] and the emacspeak eterm pointer to a register.
`C-t C-w'
`M-x emacspeak-eterm-define-window'
Prompt for a window id and define it to be the rectangle delimited by point and eterm mark. This is to be used when emacspeak is set to review mode inside an eterm.
`C-t C-m'
`M-x emacspeak-eterm-speak-window'
Speak an eterm window.
`C-t C-y'
`M-x emacspeak-eterm-yank-window'
Yank contents of an eterm window at point.
`C-t C-d'
`M-x emacspeak-eterm-describe-window'
Describe an eterm window. Description indicates eterm window coordinates and whether it is stretchable
`C-t C-f'
`M-x emacspeak-eterm-set-focus-window'
Prompt for the id of a predefined window, and set the `focus' window to it. Non-nil interactive prefix arg `unsets' the focus window; this is equivalent to having the entire terminal as the focus window (this is what eterm starts up with). Setting the focus window results in emacspeak only monitoring screen activity in that area of the screen.
`C-t 1'
`M-x emacspeak-eterm-speak-predefined-window'
Speak a predefined eterm window between 1 and 10.
`C-t C-q'
`M-x emacspeak-toggle-eterm-autospeak'
Toggle state of eterm autospeak. When eterm autospeak is turned on and the terminal is in line mode, all output to the terminal is automatically spoken. Interactive prefix arg means toggle the global default value, and then set the current local value to the result.
`C-t C-p'
`M-x emacspeak-eterm-toggle-pointer-mode'
Toggle emacspeak eterm pointer mode. With optional interactive prefix arg, turn it on. When emacspeak eterm is in pointer mode, the eterm read pointer stays where it is rather than automatically moving to the terminal cursor when there is terminal activity.
`M-x term-next-input'
Speak the line.
`M-x term-next-matching-input'
Speak the line.
`M-x term-previous-input'
Speak the line.
`M-x term-previous-matching-input'
Speak the line.
`M-x term-send-input'
Flush any ongoing speech
`M-x term-previous-prompt'
Provide spoken feedback
`M-x term-next-prompt'
Provide spoken feedback
`M-x term-kill-output'
Provide auditory feedback
`M-x term-quit-subjob'
Provide auditory feedback
`M-x term-stop-subjob'
Provide auditory feedback
`M-x term-interrupt-subjob'
Provide auditory feedback
`M-x term-kill-input'
Provide spoken feedback
`M-x term-dynamic-list-filename-completions'
Provide auditory feedback
`C-e C-r'
`M-x emacspeak-remote-term'
Start a terminal-emulator in a new buffer.

Forms Editing Mode

`M-x forms-next-record'
Provide auditory feedback.
`M-x forms-prev-record'
Provide auditory feedback.
`M-x forms-first-record'
Provide auditory feedback.
`M-x forms-last-record'
Provide auditory feedback.
`M-x forms-jump-record'
Provide auditory feedback.
`M-x forms-search'
Provide auditory feedback.
`M-x forms-exit'
Provide auditory feedback.
`M-x forms-kill-record'
Provide auditory feedback.
`M-x forms-insert-record'
Provide auditory feedback.
`M-x forms-save-buffer'
Provide auditory feedback.
`M-x emacspeak-forms-speak-field'
Speak current form field name and value. Assumes that point is at the front of a field value.

GNUS News Reader

`M-x gnus-summary-show-some-headers'
Show only the important article headers, i.e. sender name, and subject.
`M-x gnus-summary-hide-all-headers'
Hide all headers in the article. Use this command if you don't want to listen to any article headers when reading news.
`M-x gnus-group-read-group'
Speak the first article line. Produce an auditory icon indicating an object has been opened.
`M-x gnus-group-prev-group'
Speak the newsgroup line. Produce an auditory icon if possible.
`M-x gnus-group-prev-unread-group'
Speak the newsgroup line. Produce an auditory icon if possible.
`M-x gnus-group-next-group'
Speak the newsgroup line. Produce an auditory icon if possible.
`M-x gnus-group-next-unread-group'
Speak the newsgroup line. Produce an auditory icon if possible.
`M-x gnus-group-unsubscribe-current-group'
Produce an auditory icon indicating this group is being deselected.
`M-x gnus-summary-prev-subject'
Speak the article line. Produce an auditory icon if possible.
`M-x gnus-summary-next-subject'
Speak the article line. Produce an auditory icon if possible.
`M-x gnus-summary-prev-unread-subject'
Speak the article line. Produce an auditory icon if possible.
`M-x gnus-summary-next-unread-subject'
Speak the article line. Produce an auditory icon if possible.
`M-x gnus-summary-goto-subject'
Speak the article line. Produce an auditory icon if possible.
`M-x gnus-summary-catchup-and-exit'
Speak the newsgroup line. Produce an auditory icon indicating the previous group was closed.
`M-x gnus-summary-catchup-quietly-and-exit'
Catch up on articles without confirmation.
`M-x gnus-summary-mark-as-unread-forward'
Speak the line. Produce an auditory icon if possible.
`M-x gnus-summary-mark-as-read-forward'
Speak the line. Produce an auditory icon if possible.
`M-x gnus-summary-mark-as-unread-backward'
Speak the line. Produce an auditory icon if possible.
`M-x gnus-summary-mark-as-read-backward'
Speak the line. Produce an auditory icon if possible.
`M-x gnus-summary-kill-same-subject-and-select'
Speak the subject and speak the first screenful. Produce an auditory icon indicating the article is being opened.
`M-x gnus-summary-kill-same-subject'
Speak the line. Produce an auditory icon if possible.
`M-x gnus-summary-next-thread'
Speak the line. Produce an auditory icon if possible.
`M-x gnus-summary-prev-thread'
Speak the line. Produce an auditory icon if possible.
`M-x gnus-summary-up-thread'
Speak the line. Produce an auditory icon if possible.
`M-x gnus-summary-down-thread'
Speak the line. Produce an auditory icon if possible.
`M-x gnus-summary-kill-thread'
Speak the line. Produce an auditory icon if possible.
`M-x gnus-summary-show-article'
Start speaking the article.
`M-x gnus-summary-next-unread-article'
Speak the article.
`M-x gnus-summary-prev-unread-article'
Speak the article.
`M-x gnus-summary-next-article'
Speak the article.
`M-x gnus-summary-prev-same-subject'
Speak the article.
`M-x gnus-summary-next-same-subject'
Speak the article.
`M-x gnus-summary-first-unread-article'
Speak the article.
`M-x gnus-summary-goto-last-article'
Speak the article.
`M-x gnus-article-next-page'
Speak the current window full of news
`M-x gnus-article-prev-page'
Speak the current window full
`M-x gnus-article-next-button'
Provide auditory feedback
`M-x gnus-article-press-button'
Provide auditory feedback
`M-x gnus-article-goto-prev-page'
Provide auditory feedback.
`M-x gnus-article-goto-next-page'
Provide auditory feedback.

Man page reader

`M-x Man-goto-section'
Speak the line
`M-x Man-next-section'
Speak the line
`M-x Man-previous-section'
Speak the line
`M-x Man-goto-see-also-section'
Speak the line
`M-x Man-quit'
Announce buffer that is current
`M-x manual-entry'
Provide auditory feedback
`M-x emacspeak-man-browse-man-page'
Browse the man page --read it a paragraph at a time

Kotl outliner

`M-x kotl-mode:next-line'
Speak line that you just moved to.
`M-x kotl-mode:previous-line'
Speak line that you just moved to.
`M-x kotl-mode:forward-word'
Speak the word you just moved to.
`M-x kotl-mode:backward-word'
Speak the word you just moved to.
`M-x kotl-mode:beginning-of-buffer'
Speak the line.
`M-x kotl-mode:end-of-buffer'
Speak the line.
`M-x kotl-mode:back-to-indentation'
Speak the entire line.
`M-x kotl-mode:forward-sentence'
Speak sentence after moving.
`M-x kotl-mode:backward-sentence'
Speak sentence after moving.
`M-x kotl-mode:forward-paragraph'
Speak the paragraph.
`M-x kotl-mode:backward-paragraph'
Speak the paragraph.
`M-x kotl-mode:scroll-up'
Speak the screenful
`M-x kotl-mode:scroll-down'
Speak the screenful
`M-x kotl-mode:beginning-of-line'
Stop speech after moving
`M-x kotl-mode:end-of-line'
Stop speech after moving
`M-x kotl-mode:kill-line'
Speak line before killing it.
`M-x kotl-mode:kill-word'
Speak word before killing it.
`M-x kotl-mode:backward-kill-word'
Speak word before killing it.
`M-x kotl-mode:kill-sentence'
Speak the line you killed.
`M-x kotl-mode:kill-ring-save'
Indicate that region has been copied to the kill ring. Produce an auditory icon if possible.
`M-x kotl-mode:yank'
Say what you yanked. Produce an auditory icon if possible.
`M-x kotl-mode:yank-pop'
Say what you yanked. Also produce an auditory icon if possible.
`M-x kotl-mode:open-line'
Provide auditory feedback
`M-x kotl-mode:delete-char'
Speak character you're deleting.
`M-x kotl-mode:delete-backward-char'
Speak character you're deleting.
`M-x kotl-mode:transpose-chars'
Provide auditory feedback
`M-x kotl-mode:transpose-lines'
Provide auditory feedback
`M-x kotl-mode:transpose-words'
Provide auditory feedback
`M-x kotl-mode:transpose-sexps'
Provide auditory feedback
`M-x kotl-mode:open-line'
Provide auditory feedback
`M-x kotl-mode:mark-whole-buffer'
Produce an auditory icon if possible.
`M-x kotl-mode:mark-paragraph'
Produce an auditory icon if possible.
`M-x kotl-mode:copy-to-register'
Acknowledge the copy
`M-x kotl-mode:center-line'
Provide auditory feedback
`M-x kotl-mode:center-paragraph'
Provide auditory feedback
`M-x kotl-mode:fill-paragraph'
Provide auditory feedback
`M-x kotl-mode:up-level'
Provide auditory feedback
`M-x kotl-mode:down-level'
Provide auditory feedback
`M-x kotl-mode:forward-cell'
Provide auditory feedback
`M-x kotl-mode:backward-cell'
Provide auditory feedback
`M-x kotl-mode:next-cell'
Provide auditory feedback
`M-x kotl-mode:previous-cell'
Provide auditory feedback
`M-x kotl-mode:goto-cell'
Provide auditory feedback
`M-x kotl-mode:beginning-of-tree'
Provide auditory feedback
`M-x kotl-mode:end-of-tree'
Provide auditory feedback
`M-x kotl-mode:first-sibling'
Provide auditory feedback
`M-x kotl-mode:last-sibling'
Provide auditory feedback
`M-x kotl-mode:beginning-of-cell'
Provide auditory feedback
`M-x kotl-mode:end-of-cell'
Provide auditory feedback
`M-x kotl-mode:demote-tree'
Provide auditory feedback
`M-x kotl-mode:promote-tree'
Provide auditory feedback
`M-x kotl-mode:transpose-cells'
Provie auditory feedback
`M-x kotl-mode:split-cell'
Provide auditory feedback
`M-x kotl-mode:kill-contents'
Provide auditory feedback
`M-x kotl-mode:kill-tree'
Provide auditory feedback
`M-x kotl-mode:fill-cell'
Provide auditory feedback
`M-x kotl-mode:fill-tree'
Provide auditory feedback
`M-x kotl-mode:hide-tree'
Provide auditory feedback
`M-x kotl-mode:show-tree'
Provide auditory feedback
`M-x kotl-mode:show-all'
Produce an auditory icon
`M-x kotl-mode:hide-sublevels'
Produce an auditory icon
`M-x kotl-mode:hide-subtree'
Produce an auditory icon
`M-x kotl-mode:top-cells'
provide auditory feedback
`M-x kotl-mode:add-parent'
Provide auditory feedback
`M-x kotl-mode:add-cell'
Provide auditory feedback
`M-x kotl-mode:add-child'
Provide auditory feedback
`M-x kotl-mode:move-before'
Provide auditory feedback
`M-x kotl-mode:move-after'
Provide auditory feedback
`M-x kotl-mode:exchange-cells'
Provide auditory feedback
`M-x kotl-mode:copy-before'
Provide auditory feedback
`M-x kotl-mode:copy-after'
Provide auditory feedback
`M-x kotl-mode:mail-tree'
Provide auditory feedback
`M-x kotl-mode:copy-to-buffer'
provide auditory feedback
`M-x emacspeak-kotl-speak-cell'
Speak cell contents from point to end of cell. With prefix arg, speaks entire cell contents
`M-x emacspeak-kotl-setup-keys'
Setup additional keybindings

Rmail Mail Reader

`M-x rmail-quit'
Provide auditory feedback
`M-x rmail-bury'
Provide auditory feedback
`M-x rmail'
Provide auditory feedback
`M-x rmail-expunge-and-save'
Provide auditory feedback
`M-x rmail-beginning-of-message'
Provide auditory feedback
`M-x rmail-first-message'
Provide auditory feedback
`M-x rmail-first-unseen-message'
Provide auditory feedback
`M-x rmail-last-message'
Provide auditory feedback
`M-x rmail-next-undeleted-message'
Provide auditory feedback
`M-x rmail-next-message'
Provide auditory feedback
`M-x rmail-previous-undeleted-message'
Provide auditory feedback
`M-x rmail-previous-message'
Provide auditory feedback
`M-x rmail-show-message'
Provide auditory feedback
`M-x rmail-undelete-previous-message'
Provide auditory feedback
`M-x rmail-delete-message'
Provide auditory feedback.
`M-x rmail-delete-forward'
provide auditory feedback
`M-x rmail-delete-backward'
provide auditory feedback
`M-x emacspeak-rmail-summarize-current-message'
Summarize current message
`M-x emacspeak-rmail-speak-current-message-labels'
Speak labels of current message

Vm Mail Reader

`M-x emacspeak-vm-speak-labels'
Speak a message's labels
`M-x emacspeak-vm-mode-line'
VM mode line information.
`M-x emacspeak-vm-locate-subject-line'
Locates the subject line in a message being read. Useful when you're reading a message that has been forwarded multiple times.
`M-x vm-scroll-forward'
Produce auditory feedback. Then speak the screenful.
`M-x vm-scroll-backward'
Produce auditory feedback. Then speak the screenful.
`M-x emacspeak-vm-browse-message'
Browse an email message --read it paragraph at a time.
`M-x vm-delete-message'
Provide auditory feedback.
`M-x vm-undelete-message'
Provide auditory feedback.
`M-x vm-kill-subject'
Provide auditory feedback.
`M-x vm-forward-message'
Provide aural feedback.
`M-x vm-reply'
Provide aural feedback.
`M-x vm-followup'
Provide aural feedback.
`M-x vm-reply-include-text'
Provide aural feedback.
`M-x vm-followup-include-text'
Provide aural feedback.
`M-x vm-mail'
Provide aural feedback.
`M-x vm-quit'
Provide an auditory icon if requested

W3 World Wide Web Page Reader

You can download the W3 package from: http://www.cs.indiana.edu/pub/elisp/w3/

`M-x w3-finish-text-entry'
Announce what the field was set to.
`M-x w3-start-of-document'
Produce an auditory icon. Also speak the first line.
`M-x w3-end-of-document'
Produce an auditory icon. Also speak the first line.
`M-x w3-scroll-up'
Provide auditory feedback
`M-x emacspeak-w3-browse-page'
Browse a WWW page
`M-x w3-goto-last-buffer'
Speak the modeline so I know where I am.
`M-x w3-quit'
Speak the mode line of the new buffer.
`M-x emacspeak-w3-use-voice-locking'
Tells w3 to start using voice locking. This is done by setting the w3 variables so that anchors etc are not marked by delimiters. We then turn on voice-lock-mode. Interactive prefix arg does the opposite.

Widget Editing Mode

`M-x widget-forward'
Provide auditory feedback
`M-x widget-backward'
Provide auditory feedback
`M-x widget-kill-line'
Provide auditory feedback
`M-x emacspeak-widget-summarize-widget-under-point'
Summarize a widget if any under point. Optional interactive prefix specifies how many levels to go up from current widget before summarizing.
`M-x emacspeak-widget-browse-widget-interactively'
Allows you to browse a widget

@node auctex , bbdb, Widget, Subsystems

Editing LaTeX Documents

`M-x LaTeX-mark-section'
Speak the first line. Also provide an auditory icon.
`M-x LaTeX-mark-environment'
Speak the first line. Also provide an auditory icon.
`M-x LaTeX-format-paragraph'
Provide auditory feedback
`M-x LaTeX-find-matching-begin'
Provide auditory feedback.
`M-x LaTeX-find-matching-end'
Provide auditory feedback.
`M-x LaTeX-close-environment'
Speak the inserted line.
`M-x TeX-insert-dollar'
Speak what you inserted
`M-x LaTeX-insert-item'
Provide auditory feedback.
`M-x LaTeX-environment'
Provide auditory feedback, by speaking the opening line of the newly inserted environment.
`M-x TeX-comment-region'
Provide spoken and auditory feedback.
`M-x TeX-un-comment'
Provide spoken and auditory feedback.
`M-x TeX-un-comment-region'
Provide spoken and auditory feedback.
`M-x TeX-comment-paragraph'
Provide spoken and auditory feedback.
`M-x TeX-next-error'
Speak the error line.

@node bbdb , bibtex, auctex , Subsystems

The Insiduous Big Brother DB

`M-x bbdb-delete-current-field-or-record'
Provide auditory feedback
`M-x bbdb-edit-current-field'
Provide auditory feedback
`M-x bbdb-send-mail'
Provide auditory feedback
`M-x bbdb-next-record'
Provide auditory feedback
`M-x bbdb-prev-record'
Provide auditory feedback
`M-x bbdb-omit-record'
Provide auditory feedback
`M-x bbdb-bury-buffer'
Provide auditory feedback
`M-x bbdb-elide-record'
Provide auditory feedback
`M-x bbdb-transpose-fields'
Provide auditory feedback
`M-x bbdb/vm-show-sender'
Provide spoken feedback
`M-x bbdb/rmail-show-sender'
Provide spoken feedback
`M-x bbdb/mh-show-sender'
Provide spoken feedback

@node bibtex , buf-sel, bbdb , Subsystems

Editing and maintaining bibtex files

`M-x bibtex-next-field'
Provide auditory feedback
`M-x bibtex-find-text'
Provide auditory feedback
`M-x end-of-bibtex-entry'
Provide auditory feedback
`M-x beginning-of-bibtex-entry'
Provide auditory feedback
`M-x bibtex-remove-OPT'
Provide auditory feedback
`M-x bibtex-empty-field'
Provide auditory feedback
`M-x bibtex-kill-optional-field'
Provide auditory feedback
`M-x bibtex-clean-entry'
Provide auditory feedback
`M-x bibtex-Unpublished'
Provide auditory feedback
`M-x bibtex-string'
Provide auditory feedback
`M-x bibtex-TechReport'
Provide auditory feedback
`M-x bibtex-preamble'
Provide auditory feedback
`M-x bibtex-Proceedings'
Provide auditory feedback
`M-x bibtex-PhdThesis'
Provide auditory feedback
`M-x bibtex-Misc'
Provide auditory feedback
`M-x bibtex-MastersThesis'
Provide auditory feedback
`M-x bibtex-Manual'
Provide auditory feedback
`M-x bibtex-InProceedings'
Provide auditory feedback
`M-x bibtex-InCollection'
Provide auditory feedback
`M-x bibtex-InBook'
Provide auditory feedback
`M-x bibtex-InProceedings'
Provide auditory feedback
`M-x bibtex-Book'
Provide auditory feedback
`M-x bibtex-Article'
Provide auditory feedback

@node buf-sel , calc, bibtex , Subsystems

Smart buffer selection

`M-x select-buffer'
Provide auditory feedback
`M-x buffer-select-prev'
Provide auditory feedback
`M-x buffer-select-next'
Provide auditory feedback
`M-x buffer-select-kill-buf'
Provide auditory feedback

@node calc , dismal, buf-sel , Subsystems

The Emacs calculator

`M-x calc-load-everything'
Fix all the interactive functions provided by calc.
`M-x calc-quit'
Announce the buffer that becomes current when calc is quit.

@node dismal , dmacro , calc , Subsystems

A powerful spreadsheet

`M-x emacspeak-dismal-display-cell-expression'
Display the expression in the message area
`M-x emacspeak-dismal-display-cell-value'
Display the cell value in the message area
`M-x emacspeak-dismal-display-cell-with-row-header'
Displays current cell along with its row header. The `row header' is the entry in column 0.
`M-x emacspeak-dismal-display-cell-with-col-header'
Display current cell along with its column header. The `column header' is the entry in row 0.
`M-x emacspeak-dismal-forward-row-and-summarize'
Move forward by arg rows (the next row by default)and summarize it.
`M-x emacspeak-dismal-backward-row-and-summarize'
Move backward by arg rows (the previous row by default)and summarize it.
`M-x emacspeak-dismal-forward-col-and-summarize'
Move forward by arg columns (the next column by default)and summarize it.
`M-x emacspeak-dismal-backward-col-and-summarize'
Move backward by arg columns (the previous column by default)and summarize it.
`M-x emacspeak-dismal-row-summarize'
Summarizes a row using the specification in list emacspeak-dismal-row-summarizer-list
`M-x emacspeak-dismal-col-summarize'
Summarizes a col using the specification in list emacspeak-dismal-col-summarizer-list
`M-x emacspeak-dismal-sheet-summarize'
Summarizes a sheet using the specification in list emacspeak-dismal-sheet-summarizer-list
`M-x emacspeak-dismal-set-row-summarizer-list'
Specify or reset row summarizer list.
`M-x emacspeak-dismal-set-col-summarizer-list'
Specify or reset col summarizer list.
`M-x emacspeak-dismal-set-sheet-summarizer-list'
Specify or reset sheet summarizer list.

@node dmacro , enriched, dismal , Subsystems

Dynamic Macros

`M-x insert-dmacro'
Provide auditory feedback

@node enriched , folding, dmacro , Subsystems

Rich text editing

`M-x emacspeak-enriched-voiceify-faces'
Map base fonts to voices. Useful in voicifying rich text.

@node folding, hyperbole , enriched , Subsystems


`M-x folding-mode'
Provide spoken feedback
`M-x fold-enter'
Produce an auditory icon and then speak the line.
`M-x fold-exit'
Produce an auditory icon. Then speak the folded line.
`M-x fold-fold-region'
Produce an auditory icon.
`M-x fold-hide'
Provide auditory feedback

@node hyperbole , info, folding , Subsystems

A powerful information manager

`M-x action-key'
Provide some auditory feedback

@node info , message, hyperbole , Subsystems

Online info pages

`M-x info'
Cue user that info is up.
`M-x Info-scroll-up'
Speak the screenful.
`M-x Info-scroll-down'
Speak the screenful.
`M-x Info-exit'
Play an auditory icon to close info, and then cue the next selected buffer.
`M-x Info-next-reference'
Speak the line.
`M-x Info-prev-reference'
Speak the line.

@node message , oobr, info , Subsystems

Editing messages

`M-x message-goto-to'
Provide auditory feedback
`M-x message-goto-summary'
Provide auditory feedback
`M-x message-goto-subject'
Provide auditory feedback
`M-x message-goto-cc'
Provide auditory feedback
`M-x message-goto-bcc'
Provide auditory feedback
`M-x message-goto-fcc'
Provide auditory feedback
`M-x message-goto-keywords'
Provide auditory feedback
`M-x message-goto-newsgroups'
Provide auditory feedback
`M-x message-goto-followup-to'
Provide auditory feedback
`M-x message-goto-reply-to'
Provide auditory feedback
`M-x message-goto-body'
Provide auditory feedback
`M-x message-goto-signature'
Provide auditory feedback
`M-x message-goto-distribution'
Provide auditory feedback
`M-x message-insert-citation-line'
Provide auditory feedback
`M-x message-insert-to'
Provide auditory feedback
`M-x message-insert-signature'
Provide auditory feedback
`M-x message-insert-newsgroups'
Provide auditory feedback
`M-x message-insert-courtesy-copy'
Provide auditory feedback

@node oobr , outline, message , Subsystems

Object Oriented code browser

`M-x br-next-entry'
Speak the line.
`M-x br-prev-entry'
Speak the line.
`M-x br-ancestors'
Provide spoken feedback.
`M-x br-children'
Provide spoken feedback.
`M-x br-implementors'
Provide spoken feedback.
`M-x br-features'
Provide spoken feedback.
`M-x br-categories'
Provide spoken feedback.
`M-x br-descendants'
Provide spoken feedback.
`M-x br-edit-entry'
Speak the line.
`M-x br-features'
Provide spoken feedback.
`M-x br-match'
Provide spoken feedback.
`M-x br-match-entries'
Provide spoken feedback.
`M-x br-parents'
Provide spoken feedback.
`M-x br-unique'
Provide spoken feedback.
`M-x br-exit-level'
Speak the line.
`M-x br-to-from-viewer'
Speak the line.
`M-x br-feature-signature'
Speak the feature signature.

@node outline , perl, oobr , Subsystems

Outline Editing

`M-x outline-next-heading'
Speak the line.
`M-x outline-back-to-heading'
Speak the line.
`M-x outline-next-visible-heading'
Speak the line.
`M-x outline-previous-visible-heading'
Speak the line.
`M-x outline-up-heading'
Provide auditory feedback.
`M-x outline-forward-same-level'
Provide auditory feedback.
`M-x outline-backward-same-level'
Provide auditory feedback.
`M-x hide-entry'
Produce an auditory icon
`M-x show-entry'
Produce an auditory icon
`M-x hide-body'
Produce an auditory icon
`M-x show-all'
Produce an auditory icon
`M-x hide-subtree'
Produce an auditory icon
`M-x hide-leaves'
Produce an auditory icon
`M-x show-subtree'
Produce an auditory icon
`M-x hide-sublevels'
Produce an auditory icon
`M-x hide-other'
Produce an auditory icon
`M-x show-branches'
Produce an auditory icon
`M-x show-children'
Produce an auditory icon

@node perl , sgml-mode, outline , Subsystems

Editing Perl code

`M-x electric-perl-terminator'
Speak what you inserted.
`M-x mark-perl-function'
Provide auditory feedback
`M-x perl-beginning-of-function'
Provide auditory feedback.
`M-x perl-end-of-function'
Provide auditory feedback.

@node sgml-mode , tapestry, perl , Subsystems

Editing SGML

`M-x sgml-skip-tag-forward'
Provide auditory feedback
`M-x sgml-skip-tag-backward'
Provide auditory feedback
`M-x sgml-slash'
Provide auditory feedback
`M-x sgml-delete-tag'
Provide auditory feedback
`M-x sgml-tags-invisible'
Provide auditory feedback

@node tapestry , tcl, sgml-mode , Subsystems

Window configurations

`C-e M-t'
`M-x emacspeak-tapestry-describe-tapestry'
Describe the current layout of visible buffers in current frame.

@node tcl , tempo, tapestry , Subsystems

Editing tcl code

`M-x tcl-electric-hash'
Speak what you inserted.
`M-x tcl-electric-char'
Speak what you inserted.
`M-x tcl-electric-brace'
Speak what you inserted.
`M-x switch-to-tcl'
Announce yourself.
`M-x tcl-eval-region'
Announce what you did.
`M-x tcl-eval-defun'
Announce what you did
`M-x tcl-help-on-word'
Speak the help.
`M-x tcl-mark-defun'
Provide auditory feedback
`M-x tcl-beginning-of-defun'
Provide auditory feedback.
`M-x tcl-end-of-defun'
Provide auditory feedback.
`M-x indent-tcl-exp'
Produce an auditory icon
`M-x tcl-indent-line'
Speak the line

@node tempo , view-process, tcl , Subsystems

Template-based Editing

`M-x tempo-forward-mark'
Speak the line.
`M-x tempo-backward-mark'
Speak the line.
`M-x html-helper-smart-insert-item'
Speak the line.

@node view-process , view , tempo , Subsystems

Task manager for Emacs

`M-x View-process-mode'
Provide auditory feedback
`M-x View-process-goto-first-field-next-line'
Provide auditory feedback
`M-x View-process-next-field'
Provide auditory feedback
`M-x View-process-previous-field'
Provide auditory feedback
`M-x View-process-sort-by-current-field-g'
Provide auditory feedback
`M-x View-process-sort-output-by-current-field'
Provide auditory feedback
`M-x View-process-reverse-output'
Provide auditory feedback
`M-x View-process-quit'
Provide auditory feedback
`M-x View-process-output-end'
Provide auditory feedback
`M-x View-process-output-start'
Provide auditory feedback
`M-x View-process-start-itimer'
Provide auditory feedback
`M-x View-process-delete-itimer'
Provide auditory feedback

@node view , wrolo, view-process , Subsystems

View mode for previewing files

`M-x View-search-regexp-forward'
Provide auditory feedback
`M-x View-search-regexp-backward'
Provide auditory feedback
`M-x View-search-last-regexp-forward'
Provide auditory feedback
`M-x View-search-last-regexp-backward'
Provide auditory feedback
`M-x view-exit'
Provide auditory feedback
`M-x View-scroll-one-more-line'
Provide auditory feedback
`M-x View-scroll-lines-forward-set-scroll-size'
Provide auditory feedback
`M-x View-scroll-lines-forward'
Provide auditory feedback
`M-x View-back-to-mark'
Provide auditory feedback
`M-x View-goto-line'
Provide spoken feedback

@node wrolo , , view , Subsystems

A rolodex interface

`M-x rolo-display-matches'
Speak the line
`M-x rolo-edit'
Speak the line
`M-x rolo-fgrep'
Speak the number of hits and the first match if any.
`M-x rolo-grep'
Speak the number of hits and the first match if any.
`M-x rolo-word'
Speak the number of hits and the first match if any.
`M-x rolo-kill'
Provide auditory confirmation
`M-x rolo-next-match'
Speak the hit
`M-x rolo-previous-match'
Speak the hit
`M-x rolo-quit'
Quitting the rolodex
`M-x rolo-sort'
Confirm aurally after you are done
`M-x rolo-yank'
Say what you did

19:53:49 info

Advanced Features

<To be written>

`M-x emacspeak-keymap-choose-new-emacspeak-prefix'
Interactively select a new prefix key to use for all emacspeak commands. The default is to use `C-e' This command lets you switch the prefix to something else. This is a useful thing to do if you run emacspeak on a remote machine from inside a terminal that is running inside a local emacspeak session. You can have the remote emacspeak use a different control key to give your fingers some relief.

Pronunciation Dictionaries

Emacspeak implements user customizable pronunciation dictionaries. Custom pronunciations can be defined per file, per directory and/or per major mode. Emacspeak maintains a persistent user dictionary upon request and loads these in new emacspeak sessions.

`M-x emacspeak-pronounce-save-dictionaries'
Writes out the persistent emacspeak pronunciation dictionaries.
`M-x emacspeak-pronounce-load-dictionaries'
Load pronunciation dictionaries
`M-x emacspeak-pronounce-clear-dictionaries'
Clear all current pronunciation dictionaries.
`M-x emacspeak-pronounce-define-pronunciation'
Interactively define entries in the pronunciation dictionaries. First loads any persistent dictionaries if not already loaded.
`M-x emacspeak-pronounce-toggle-use-of-dictionaries'
Toggles use of pronunciation dictionaries in current buffer. Pronunciations can be defined on a per file, per directory and/or per mode basis. Pronunciations are activated on a per buffer basis. Turning on the use of pronunciation dictionaries results in emacspeak composing a pronunciation table based on the currently defined pronunciation dictionaries. After this, the pronunciations will be applied whenever text in the buffer is spoken.
`M-x emacspeak-pronounce-refresh-pronunciations'
Refresh pronunciation table for current buffer. Activates pronunciation dictionaries if not already active.
`C-e M-d'
`M-x emacspeak-pronounce-dispatch'
Provides the user interface front-end to Emacspeak's pronunciation dictionaries.


These are the various hooks you can use to customize some of Emacspeaks behavior. They are arranged in the order in which they would happen.

dtk-startup-hook specifies a list of functions to run after starting the speech system. You can set the speech-device state, e.g. speech-rate etc in this hook.

emacspeak-startup-hook is run after Emacspeak has been started up.

Miscellaneous Variables

<to be written> There are lots of variables that control the real nitty-gritty of Emacspeak that the beginning user probably shouldn't mess with. Here they are.

Association list of dtk voice names and control codes
Hash table holding vectors of dtk codes. Keys are symbols of the form <FamilyName-Dimension>. Values are vectors holding the control codes for the 10 settings.
Maps CSS volume settings to actual synthesizer codes.
Name of current voice.
List of hooks to be run after starting up the Dectalk. . Set things like speech rate, punctuation mode etc in this hook.
The program to use to talk to the Dectalk. At present: dtk-exp for the Dectalk Express. dtk-mv for the Multivoice and older Dectalks. dtk-soft (not yet released) for the software Dectalk. The default is dtk-exp.
If t, speech stopped immediately when new speech received. Emacspeak sets this to nil if the current message being spoken is too important to be interrupted.
Variable holding display information for special characters.
Holds the mapping of characters to the string that should be spoken for pronouncing that character.
Set this to t if you want to debug the synthesizer driver.
*Set it to nil if you dont want speech to flush as you type. See command dtk-toggle-stop-immediately-while-typing bound to C-e d I.
Switch indicating if the speech synthesizer is to keep quiet. Do not set this variable by hand. See command dtk-toggle-quiet bound to C-e d q.
Flag indicating whether to use split caps when speaking. Do not set this variable by hand, use command dtk-toggle-split-caps bound to C-e d s.
Factor by which speech rate is scaled when characters are spoken. Do not set this variable by hand, use command dtk-set-character-scale bound to C-e d f.
Non-nil means produce a beep to indicate capitalization. Do not set this variable by hand, use command dtk-toggle-capitalization bound to C-e d c.
Variable holding last output
Rate at which dectalk talks. Do not modify this variable directly; use command dtk-set-rate bound to C-e d r.
*Non nil value means non printing characters should be spoken as their octal value. Set this to t to avoid a dectalk bug that makes the speech box die if it seems some accented characters in certain contexts.
Syntax string to identify chunks when splitting text.
* Determines step size used when setting speech rate via command dtk-set-predefined-speech-rate. Formula used is 180 + dtk-speech-rate-step*level
Default voice
Default dtk string for the default voice.
Association between symbols and strings to set dtk voices. The string can set any dtk parameter.
Holds the last output generated by the Emacs 'message function.
Records when we last spoke a message.
Cache the last percentage that emacspeak spoke.
Specifies how the entire sheet should be summarized.
Specifies how rows should be summarized.
Specifies how cols should be summarized.
Records if we have customized dismal. Checked by emacspeak specific dis-mode-hooks entry.
Personality used to aurally highlight even-numbered differences in buffer A.
Personality used to aurally highlight odd-numbered differences in buffer B.
Personality used to aurally highlight even-numbered differences in buffer B.
Personality used to aurally highlight odd-numbered differences in buffer B.
Personality for aurally highlighting the selected difference in buffer A.
Personality for aurally highlighting the selected difference in buffer A.
Face for highlighting the refinement of the selected diff in buffer A.
Face for highlighting the refinement of the selected diff in buffer B.
Says if emacspeak should try computing fine differences each time. Set this to nil if things get too slow.
Keymap used to navigate a terminal without moving the cursor.
Prefix char used by emacspeak for navigating an eterm
T if eterm is in review mode. In review mode, you can move around the terminal and listen to parts of it. Do not set this variable by hand. Use command C-t q.
Marker used by emacspeak to yank when in eterm review mode.
Variable specifying how many windows can be defined.
Vector of window positions. A terminal window is recorded by the positions of its top left and bottom right.
Current window that emacspeak eterm focuses on
Current personality for eterm.
Record the eterm row last spoken
Record the column last spoken
Terminal pointer. Can be moved around to listen to the contents of the terminal. See commands provided by the emacspeak extension to eterm: . Each term-mode buffer has a buffer local value of this variable.
Mark set in an eterm buffer. Used to cut and paste from the terminal.
Tells if eterm output is automatically spoken when in line mode. Use command emacspeak-toggle-eterm-autospeak bound to C-t C-q to set this.
T if eterm is in line mode.
Flag indicating if eterm is in char mode.
If T then the emacspeak pointer will not track the terminal cursor. Do not set this by hand. Use command emacspeak-eterm-toggle-pointer-mode bound to C-t C-p.
Functions which have been adviced automatically to make their interactive prompts speak.
*Articles having more than emacspeak-gnus-large-article lines will be considered to be a large article. A large article is not spoken all at once; instead you hear only the first screenful.
*Non-nil enables highlighting and voices in Info nodes.
*Maximum size of menu to voiceify if `Info-voiceify' is non-nil.
Voice used to highlight spelling errors.
Default prefix key used for emacspeak.
Primary keymap used by emacspeak.
Submap used for DTK commands.
Directory where emacspeak is installed.
Keywords to highlight in Man mode
Personality used to voiceify difference chunk A
Personality used to voiceify difference chunk B
Personality used to voiceify fine differences in chunk A
Personality used to voiceify fine differences in chunk B
Personality for aurally highlighting the selected difference in buffer A.
Personality for aurally highlighting the selected difference in buffer A.
Face for highlighting the refinement of the selected diff in buffer A.
Face for highlighting the refinement of the selected diff in buffer B.
Holds the control buffer for the most recent ediff
Says if emacspeak should try computing fine differences each time. Set this to nil if things get too slow.
Hash table holding emacspeak's persistent pronunciation dictionaries. Keys are either filenames, directory names, or major mode names. Values are alists containing string.pronunciation pairs.
*Personality used when speaking things that have a pronunciation applied.
File that holds the persistent emacspeak pronunciation dictionaries.
Indicates if dictionaries already loaded.
Dictionary: Clear Define Load Refresh Save Toggle
These commands are activated directly through C, rather than through their function cell. They have to be redefined and rebound to make them talk.
Flag that says if replace highlight is on.
Value saved before replace-highlight changed the personality.
Directory where emacspeak is installed.
Default speech rate at which Dectalk is started.
Tells if emacspeak should use auditory icons. Do not set this variable by hand, use emacspeak-toggle-auditory-icons bound to C-e C-a.
Association between symbols and names of sound files. When producing auditory icons, other modules should use names defined here.
Default sound to play if requested icon not found.
Set this to -i on suns if using the play program that ships on sunos/solaris. Note: on sparc20's there is a sunos bug that causes the machine to crash if you attempt to play sound when /dev/audio is busy. It's imperative that you use the -i flag to play on sparc20's.
If t then any function that is set as the value of property action is executed when the text unit at that point is spoken.
If t, then emacspeak echoes lines as you type. Do not set this variable by hand; Use C-e d l
If t, then emacspeak echoes words as you type. Do not set this variable by hand; Use C-e d w
If t, then emacspeak echoes characters as you type. Do not set this variable by hand; Use C-e d k
If t, then emacspeak-speak-line indicates position of point by an aural highlight. Do not set this variable by hand; Use command emacspeak-toggle-show-point bound to C-e C-d
If non-nil , then speaking a line indicates its indentation. Do not set this by hand, use command emacspeak-toggle-audio-indentation bound to C-e d i.
*Regular expression to match horizontal rules in ascii text.
^[ \t!@#$%^&*()<>|_=+/\\,.;:-]+$
Records the least significant 16 digits of the time when the user was last alerted to the arrival of new mail. Alert the user only if mail has arrived since this time in the future.
If t, emacspeak will alert you about newly arrived mail with an auditory icon when displaying the mode line. Do not set this variable by hand --use command emacspeak-toggle-mail-alert bound to C-e M-m.
Determines behavior of emacspeak-read-line-by-line.
Granularity of time for reading line-by-line.
Says if comint output is automatically spoken. Do not set this by hand, use command `emacspeak-toggle-comint-autospeak` bound to C-e C-q
If nil, emacspeak will not speak messages as they are echoed to the message area. Do not set this variable by hand. Use command emacspeak-toggle-speak-messages bound to C-e q.
personality for speaking column headers.
Personality for speaking row headers
Keymap for using in table browsing mode
Template specifying how a row is filtered before it is spoken.
Template specifying how a column is filtered before it is spoken.
Select: b both c column d default r row f filter row g filter column
Function to call when automatically speaking table elements.
Variable to hold table copied to the clipboard.
Hash table to hold mapping between major modes and mode specific table markup.
Keywords to highlight in tcl mode
List of commands whose first argument defines something. This exists because some people (eg, me) use \
List of Tcl keywords denoting \
Indicate a signal
Keywords to highlight in vm
Additional expressions to highlight in vm Summary mode.
Table holding types of form fields and their associated summarizer functions.
Caches when we last produced a progress auditory icon
Personality for edit fields
Personality for buttons
Personality for documentation
Hook to run after starting emacspeak
Personality to use for comments.
Personality to use for underline text.
Personality to use for bold text.
Personality to use for italic text.
Personality to use for documentation strings.
Personality to use for string constants.
Personality to use for function names.
Personality to use for keywords.
Personality to use for data types.
Non-nil means Voice-Lock shouldn't check for comments or strings.
*The keywords to highlight. If this is a list, then elements may be of the forms: \
*Non-nil means the patterns in `voice-lock-keywords' are case-insensitive.
*Non-nil means use this syntax table for voiceifying. If this is nil, the major mode's syntax table is used.
*Non-nil means `voice-lock-voiceify-buffer' should print status messages.
Function or functions to run on entry to Voice Lock mode.
Additional expressions to highlight in Lisp modes.
Additional expressions to highlight in C mode.
Additional expressions to highlight in C++ mode.
Additional expressions to highlight in Compilation mode.
Association between major mode names and the voice lock keywords to be used in that mode.

Future Directions

Emacspeak is being actively developed by me. That is, I implement features as I need them.

Internals of Emacspeak

<to be written>

Global variables

There are also some variables that may be useful if you are writing a program or function that interacts with Emacspeak. <to be written>

Data Structures

<to be written>

Miscellaneous Functions

I have done quite a bit of work trying to make a semi-clean interface to the internals of Emacspeak. Here is a list of functions that you can use to take advantage of these features.


Emacspeak would not have come about without the following people:

Dave Wecker who goaded me into writing this package.

Hans Chalupsky whose advice package makes Emacspeak work.

Concept Index


  • Dectalk Express
  • Dictionaries
  • h

  • Hooks
  • i

  • Internals of Emacspeak
  • s

  • Screen-Reading
  • u

  • Using Emacspeak from your own programs
  • Key Index


  • C-c (
  • C-c )
  • C-c 0
  • C-c 1
  • C-c C-\
  • C-c C-a
  • C-c C-c, C-c C-c
  • C-c C-d, C-c C-d
  • C-c C-f
  • C-c C-j
  • C-c C-k
  • C-c C-u
  • C-c C-w
  • C-c C-x C-c
  • C-c C-z
  • C-c e
  • C-c k
  • C-c o
  • C-e
  • C-e %
  • C-e '
  • C-e )
  • C-e .
  • C-e <
  • C-e =
  • C-e >
  • C-e [down]
  • C-e [left]
  • C-e [right]
  • C-e [space]
  • C-e [up]
  • C-e A
  • C-e a
  • C-e B
  • C-e b
  • C-e c
  • C-e C-@
  • C-e C-a
  • C-e C-c
  • C-e C-d
  • C-e C-h
  • C-e C-l
  • C-e C-m
  • C-e C-n
  • C-e C-o
  • C-e C-p
  • C-e C-q
  • C-e C-r
  • C-e C-s
  • C-e C-w
  • C-e d [space]
  • C-e d a
  • C-e d b
  • C-e d c
  • C-e d C-m
  • C-e d d
  • C-e d f
  • C-e d I
  • C-e d i
  • C-e d k
  • C-e d l
  • C-e d m
  • C-e d p
  • C-e d q
  • C-e d R
  • C-e d r
  • C-e d s
  • C-e d t
  • C-e d V
  • C-e d v
  • C-e d w
  • C-e d z
  • C-e f
  • C-e H
  • C-e h
  • C-e i
  • C-e k
  • C-e l
  • C-e L
  • C-e m
  • C-e M
  • C-e M-
  • C-e M-a
  • C-e M-d
  • C-e M-m
  • C-e M-p
  • C-e M-t
  • C-e M-v
  • C-e o
  • C-e p
  • C-e P
  • C-e q
  • C-e r
  • C-e R
  • C-e s
  • C-e t
  • C-e v
  • C-e w
  • C-e W
  • C-e x
  • C-n
  • C-p
  • C-t ,
  • C-t .
  • C-t 1
  • C-t <
  • C-t >
  • C-t [space]
  • C-t a
  • C-t b
  • C-t c
  • C-t C-d
  • C-t C-f
  • C-t C-i
  • C-t C-m
  • C-t C-p
  • C-t C-q
  • C-t C-w
  • C-t C-y
  • C-t e
  • C-t f
  • C-t g
  • C-t H
  • C-t h
  • C-t l
  • C-t m
  • C-t M-b
  • C-t M-f
  • C-t n
  • C-t p
  • C-t q
  • C-t r
  • C-t s
  • C-t w
  • C-t x
  • C-t y
  • m

  • M-<
  • M->
  • M-b
  • M-C-b
  • M-C-f
  • M-f
  • M-m
  • Command Index


  • action-key
  • appt-add
  • b

  • back-to-indentation
  • backward-sexp
  • backward-word
  • bbdb-bury-buffer
  • bbdb-delete-current-field-or-record
  • bbdb-edit-current-field
  • bbdb-elide-record
  • bbdb-next-record
  • bbdb-omit-record
  • bbdb-prev-record
  • bbdb-send-mail
  • bbdb-transpose-fields
  • bbdb/mh-show-sender
  • bbdb/rmail-show-sender
  • bbdb/vm-show-sender
  • beginning-of-bibtex-entry
  • beginning-of-buffer
  • bibtex-Article
  • bibtex-Book
  • bibtex-clean-entry
  • bibtex-empty-field
  • bibtex-find-text
  • bibtex-InBook
  • bibtex-InCollection
  • bibtex-InProceedings, bibtex-InProceedings
  • bibtex-kill-optional-field
  • bibtex-Manual
  • bibtex-MastersThesis
  • bibtex-Misc
  • bibtex-next-field
  • bibtex-PhdThesis
  • bibtex-preamble
  • bibtex-Proceedings
  • bibtex-remove-OPT
  • bibtex-string
  • bibtex-TechReport
  • bibtex-Unpublished
  • br-ancestors
  • br-categories
  • br-children
  • br-descendants
  • br-edit-entry
  • br-exit-level
  • br-feature-signature
  • br-features, br-features
  • br-implementors
  • br-match
  • br-match-entries
  • br-next-entry
  • br-parents
  • br-prev-entry
  • br-to-from-viewer
  • br-unique
  • buffer-select-kill-buf
  • buffer-select-next
  • buffer-select-prev
  • c

  • c-backward-conditional
  • c-beginning-of-statement
  • c-electric-brace
  • c-electric-colon
  • c-electric-delete
  • c-electric-pound
  • c-electric-semi&comma
  • c-end-of-statement
  • c-forward-conditional
  • c-next-statement
  • c-previous-statement
  • c-scope-operator
  • c-up-conditional
  • calc-load-everything
  • calc-quit
  • calendar
  • calendar-beginning-of-month
  • calendar-beginning-of-year
  • calendar-end-of-month
  • calendar-end-of-week
  • calendar-end-of-year
  • calendar-goto-date
  • compilation-next-file
  • compilation-previous-file
  • compile
  • compile-goto-error
  • d

  • dired
  • dired-flag-file-deletion, dired-flag-file-deletion
  • dired-mark, dired-mark
  • dired-next-dirline
  • dired-next-line
  • dired-next-marked-file
  • dired-next-subdir
  • dired-prev-dirline
  • dired-prev-marked-file
  • dired-prev-subdir
  • dired-previous-line
  • dired-unmark
  • dired-unmark-backward
  • dtk-add-cleanup-pattern
  • dtk-emergency-restart
  • dtk-reset-state
  • dtk-select-driver
  • dtk-set-character-scale
  • dtk-set-chunk-separator-syntax
  • dtk-set-predefined-speech-rate
  • dtk-set-pronunciation-mode
  • dtk-set-punctuations
  • dtk-set-punctuations-to-all
  • dtk-set-punctuations-to-some
  • dtk-set-rate
  • dtk-stop
  • dtk-toggle-capitalization
  • dtk-toggle-debug
  • dtk-toggle-quiet
  • dtk-toggle-split-caps
  • dtk-toggle-splitting-on-white-space
  • dtk-toggle-stop-immediately-while-typing
  • e

  • electric-c-brace
  • electric-c-semi
  • electric-c-sharp-sign
  • electric-c-terminator
  • electric-perl-terminator
  • emacspeak-appt-repeat-announcement
  • emacspeak-audio-annotate-paragraphs
  • emacspeak-blink-matching-open
  • emacspeak-c-speak-semantics
  • emacspeak-compilation-speak-error
  • emacspeak-dial-dtk
  • emacspeak-dired-label-fields
  • emacspeak-dismal-backward-col-and-summarize
  • emacspeak-dismal-backward-row-and-summarize
  • emacspeak-dismal-col-summarize
  • emacspeak-dismal-display-cell-expression
  • emacspeak-dismal-display-cell-value
  • emacspeak-dismal-display-cell-with-col-header
  • emacspeak-dismal-display-cell-with-row-header
  • emacspeak-dismal-forward-col-and-summarize
  • emacspeak-dismal-forward-row-and-summarize
  • emacspeak-dismal-row-summarize
  • emacspeak-dismal-set-col-summarizer-list
  • emacspeak-dismal-set-row-summarizer-list
  • emacspeak-dismal-set-sheet-summarizer-list
  • emacspeak-dismal-sheet-summarize
  • emacspeak-dtk-speak-version
  • emacspeak-enriched-voiceify-faces
  • emacspeak-eterm-copy-region-to-register
  • emacspeak-eterm-define-window
  • emacspeak-eterm-describe-window
  • emacspeak-eterm-goto-line
  • emacspeak-eterm-kill-ring-save-region
  • emacspeak-eterm-maybe-send-raw
  • emacspeak-eterm-pointer-backward-word
  • emacspeak-eterm-pointer-down
  • emacspeak-eterm-pointer-forward-word
  • emacspeak-eterm-pointer-left
  • emacspeak-eterm-pointer-right
  • emacspeak-eterm-pointer-to-bottom
  • emacspeak-eterm-pointer-to-cursor
  • emacspeak-eterm-pointer-to-left-edge
  • emacspeak-eterm-pointer-to-next-color-change
  • emacspeak-eterm-pointer-to-previous-color-change
  • emacspeak-eterm-pointer-to-right-edge
  • emacspeak-eterm-pointer-to-top
  • emacspeak-eterm-pointer-up
  • emacspeak-eterm-search-backward
  • emacspeak-eterm-search-forward
  • emacspeak-eterm-set-focus-window
  • emacspeak-eterm-set-marker
  • emacspeak-eterm-speak-cursor
  • emacspeak-eterm-speak-pointer
  • emacspeak-eterm-speak-pointer-char
  • emacspeak-eterm-speak-pointer-line
  • emacspeak-eterm-speak-pointer-word
  • emacspeak-eterm-speak-predefined-window
  • emacspeak-eterm-speak-screen
  • emacspeak-eterm-speak-window
  • emacspeak-eterm-toggle-pointer-mode
  • emacspeak-eterm-toggle-review
  • emacspeak-eterm-yank-window
  • emacspeak-execute-repeatedly
  • emacspeak-forms-speak-field
  • emacspeak-generate-documentation
  • emacspeak-keymap-choose-new-emacspeak-prefix
  • emacspeak-kill-buffer-quietly
  • emacspeak-kotl-setup-keys
  • emacspeak-kotl-speak-cell
  • emacspeak-learn-mode
  • emacspeak-man-browse-man-page
  • emacspeak-owindow-next-line
  • emacspeak-owindow-previous-line
  • emacspeak-owindow-scroll-down
  • emacspeak-owindow-scroll-up
  • emacspeak-owindow-speak-line
  • emacspeak-play-all-icons
  • emacspeak-pronounce-clear-dictionaries
  • emacspeak-pronounce-define-pronunciation
  • emacspeak-pronounce-dispatch
  • emacspeak-pronounce-load-dictionaries
  • emacspeak-pronounce-refresh-pronunciations
  • emacspeak-pronounce-save-dictionaries
  • emacspeak-pronounce-toggle-use-of-dictionaries
  • emacspeak-read-line-by-line
  • emacspeak-read-next-line
  • emacspeak-read-next-word
  • emacspeak-read-previous-line
  • emacspeak-read-previous-word
  • emacspeak-remote-term
  • emacspeak-rmail-speak-current-message-labels
  • emacspeak-rmail-summarize-current-message
  • emacspeak-show-personality-at-point
  • emacspeak-show-property-at-point
  • emacspeak-skip-blank-lines-backward
  • emacspeak-skip-blank-lines-forward
  • emacspeak-speak-buffer
  • emacspeak-speak-buffer-interactively
  • emacspeak-speak-calendar-date
  • emacspeak-speak-char
  • emacspeak-speak-completions
  • emacspeak-speak-continuously
  • emacspeak-speak-current-column
  • emacspeak-speak-current-field
  • emacspeak-speak-current-kill
  • emacspeak-speak-current-mark
  • emacspeak-speak-current-percentage
  • emacspeak-speak-current-window
  • emacspeak-speak-display-char
  • emacspeak-speak-help
  • emacspeak-speak-help-interactively
  • emacspeak-speak-line
  • emacspeak-speak-line-interactively
  • emacspeak-speak-line-number
  • emacspeak-speak-message-again
  • emacspeak-speak-minibuffer
  • emacspeak-speak-minor-mode-line
  • emacspeak-speak-mode-line
  • emacspeak-speak-next-field
  • emacspeak-speak-next-window
  • emacspeak-speak-other-window
  • emacspeak-speak-page
  • emacspeak-speak-page-interactively
  • emacspeak-speak-paragraph
  • emacspeak-speak-paragraph-interactively
  • emacspeak-speak-predefined-window
  • emacspeak-speak-previous-field
  • emacspeak-speak-previous-window
  • emacspeak-speak-rectangle
  • emacspeak-speak-region
  • emacspeak-speak-sentence
  • emacspeak-speak-set-display-table
  • emacspeak-speak-sexp
  • emacspeak-speak-sexp-interactively
  • emacspeak-speak-spaces-at-point
  • emacspeak-speak-time
  • emacspeak-speak-version
  • emacspeak-speak-window-information
  • emacspeak-speak-word
  • emacspeak-speak-word-interactively
  • emacspeak-switch-to-completions-window
  • emacspeak-switch-to-previous-buffer
  • emacspeak-tabulate-region
  • emacspeak-tapestry-describe-tapestry
  • emacspeak-toggle-action-mode
  • emacspeak-toggle-audio-indentation
  • emacspeak-toggle-auditory-icons
  • emacspeak-toggle-character-echo
  • emacspeak-toggle-comint-autospeak
  • emacspeak-toggle-eterm-autospeak
  • emacspeak-toggle-line-echo
  • emacspeak-toggle-mail-alert
  • emacspeak-toggle-show-point
  • emacspeak-toggle-speak-messages
  • emacspeak-toggle-word-echo
  • emacspeak-use-customized-blink-paren
  • emacspeak-view-register
  • emacspeak-vm-browse-message
  • emacspeak-vm-locate-subject-line
  • emacspeak-vm-mode-line
  • emacspeak-vm-speak-labels
  • emacspeak-voicify-rectangle
  • emacspeak-voicify-region
  • emacspeak-w3-browse-page
  • emacspeak-w3-use-voice-locking
  • emacspeak-widget-browse-widget-interactively
  • emacspeak-widget-summarize-widget-under-point
  • emacspeak-zap-dtk
  • end-of-bibtex-entry
  • end-of-buffer
  • exit-calendar
  • f

  • fold-enter
  • fold-exit
  • fold-fold-region
  • fold-hide
  • folding-mode
  • forms-exit
  • forms-first-record
  • forms-insert-record
  • forms-jump-record
  • forms-kill-record
  • forms-last-record
  • forms-next-record
  • forms-prev-record
  • forms-save-buffer
  • forms-search
  • forward-sexp
  • forward-word
  • g

  • gnus-article-goto-next-page
  • gnus-article-goto-prev-page
  • gnus-article-next-button
  • gnus-article-next-page
  • gnus-article-press-button
  • gnus-article-prev-page
  • gnus-group-next-group
  • gnus-group-next-unread-group
  • gnus-group-prev-group
  • gnus-group-prev-unread-group
  • gnus-group-read-group
  • gnus-group-unsubscribe-current-group
  • gnus-summary-catchup-and-exit
  • gnus-summary-catchup-quietly-and-exit
  • gnus-summary-down-thread
  • gnus-summary-first-unread-article
  • gnus-summary-goto-last-article
  • gnus-summary-goto-subject
  • gnus-summary-hide-all-headers
  • gnus-summary-kill-same-subject
  • gnus-summary-kill-same-subject-and-select
  • gnus-summary-kill-thread
  • gnus-summary-mark-as-read-backward
  • gnus-summary-mark-as-read-forward
  • gnus-summary-mark-as-unread-backward
  • gnus-summary-mark-as-unread-forward
  • gnus-summary-next-article
  • gnus-summary-next-same-subject
  • gnus-summary-next-subject
  • gnus-summary-next-thread
  • gnus-summary-next-unread-article
  • gnus-summary-next-unread-subject
  • gnus-summary-prev-same-subject
  • gnus-summary-prev-subject
  • gnus-summary-prev-thread
  • gnus-summary-prev-unread-article
  • gnus-summary-prev-unread-subject
  • gnus-summary-show-article
  • gnus-summary-show-some-headers
  • gnus-summary-up-thread
  • h

  • hide-body
  • hide-entry
  • hide-leaves
  • hide-other
  • hide-sublevels
  • hide-subtree
  • html-helper-smart-insert-item
  • i

  • indent-tcl-exp
  • info
  • Info-exit
  • Info-next-reference
  • Info-prev-reference
  • Info-scroll-down
  • Info-scroll-up
  • insert-diary-entry
  • insert-dmacro
  • k

  • kotl-mode:add-cell
  • kotl-mode:add-child
  • kotl-mode:add-parent
  • kotl-mode:back-to-indentation
  • kotl-mode:backward-cell
  • kotl-mode:backward-kill-word
  • kotl-mode:backward-paragraph
  • kotl-mode:backward-sentence
  • kotl-mode:backward-word
  • kotl-mode:beginning-of-buffer
  • kotl-mode:beginning-of-cell
  • kotl-mode:beginning-of-line
  • kotl-mode:beginning-of-tree
  • kotl-mode:center-line
  • kotl-mode:center-paragraph
  • kotl-mode:copy-after
  • kotl-mode:copy-before
  • kotl-mode:copy-to-buffer
  • kotl-mode:copy-to-register
  • kotl-mode:delete-backward-char
  • kotl-mode:delete-char
  • kotl-mode:demote-tree
  • kotl-mode:down-level
  • kotl-mode:end-of-buffer
  • kotl-mode:end-of-cell
  • kotl-mode:end-of-line
  • kotl-mode:end-of-tree
  • kotl-mode:exchange-cells
  • kotl-mode:fill-cell
  • kotl-mode:fill-paragraph
  • kotl-mode:fill-tree
  • kotl-mode:first-sibling
  • kotl-mode:forward-cell
  • kotl-mode:forward-paragraph
  • kotl-mode:forward-sentence
  • kotl-mode:forward-word
  • kotl-mode:goto-cell
  • kotl-mode:hide-sublevels
  • kotl-mode:hide-subtree
  • kotl-mode:hide-tree
  • kotl-mode:kill-contents
  • kotl-mode:kill-line
  • kotl-mode:kill-ring-save
  • kotl-mode:kill-sentence
  • kotl-mode:kill-tree
  • kotl-mode:kill-word
  • kotl-mode:last-sibling
  • kotl-mode:mail-tree
  • kotl-mode:mark-paragraph
  • kotl-mode:mark-whole-buffer
  • kotl-mode:move-after
  • kotl-mode:move-before
  • kotl-mode:next-cell
  • kotl-mode:next-line
  • kotl-mode:open-line, kotl-mode:open-line
  • kotl-mode:previous-cell
  • kotl-mode:previous-line
  • kotl-mode:promote-tree
  • kotl-mode:scroll-down
  • kotl-mode:scroll-up
  • kotl-mode:show-all
  • kotl-mode:show-tree
  • kotl-mode:split-cell
  • kotl-mode:top-cells
  • kotl-mode:transpose-cells
  • kotl-mode:transpose-chars
  • kotl-mode:transpose-lines
  • kotl-mode:transpose-sexps
  • kotl-mode:transpose-words
  • kotl-mode:up-level
  • kotl-mode:yank
  • kotl-mode:yank-pop
  • l

  • LaTeX-close-environment
  • LaTeX-environment
  • LaTeX-find-matching-begin
  • LaTeX-find-matching-end
  • LaTeX-format-paragraph
  • LaTeX-insert-item
  • LaTeX-mark-environment
  • LaTeX-mark-section
  • m

  • M-x term-line-mode
  • Man-goto-section
  • Man-goto-see-also-section
  • Man-next-section
  • Man-previous-section
  • Man-quit
  • manual-entry
  • mark-c-function
  • mark-perl-function
  • message-goto-bcc
  • message-goto-body
  • message-goto-cc
  • message-goto-distribution
  • message-goto-fcc
  • message-goto-followup-to
  • message-goto-keywords
  • message-goto-newsgroups
  • message-goto-reply-to
  • message-goto-signature
  • message-goto-subject
  • message-goto-summary
  • message-goto-to
  • message-insert-citation-line
  • message-insert-courtesy-copy
  • message-insert-newsgroups
  • message-insert-signature
  • message-insert-to
  • n

  • next-completion
  • next-error
  • next-line
  • o

  • outline-back-to-heading
  • outline-backward-same-level
  • outline-forward-same-level
  • outline-next-heading
  • outline-next-visible-heading
  • outline-previous-visible-heading
  • outline-up-heading
  • p

  • perl-beginning-of-function
  • perl-end-of-function
  • previous-completion
  • previous-error
  • previous-line
  • r

  • rmail
  • rmail-beginning-of-message
  • rmail-bury
  • rmail-delete-backward
  • rmail-delete-forward
  • rmail-delete-message
  • rmail-expunge-and-save
  • rmail-first-message
  • rmail-first-unseen-message
  • rmail-last-message
  • rmail-next-message
  • rmail-next-undeleted-message
  • rmail-previous-message
  • rmail-previous-undeleted-message
  • rmail-quit
  • rmail-show-message
  • rmail-undelete-previous-message
  • rolo-display-matches
  • rolo-edit
  • rolo-fgrep
  • rolo-grep
  • rolo-kill
  • rolo-next-match
  • rolo-previous-match
  • rolo-quit
  • rolo-sort
  • rolo-word
  • rolo-yank
  • s

  • select-buffer
  • sgml-delete-tag
  • sgml-skip-tag-backward
  • sgml-skip-tag-forward
  • sgml-slash
  • sgml-tags-invisible
  • show-all
  • show-branches
  • show-children
  • show-entry
  • show-subtree
  • switch-to-tcl
  • t

  • tcl-beginning-of-defun
  • tcl-electric-brace
  • tcl-electric-char
  • tcl-electric-hash
  • tcl-end-of-defun
  • tcl-eval-defun
  • tcl-eval-region
  • tcl-help-on-word
  • tcl-indent-line
  • tcl-mark-defun
  • tempo-backward-mark
  • tempo-forward-mark
  • term-dynamic-list-filename-completions
  • term-interrupt-subjob
  • term-kill-input
  • term-kill-output
  • term-next-input
  • term-next-matching-input
  • term-next-prompt
  • term-previous-input
  • term-previous-matching-input
  • term-previous-prompt
  • term-quit-subjob
  • term-send-input
  • term-stop-subjob
  • TeX-comment-paragraph
  • TeX-comment-region
  • TeX-insert-dollar
  • TeX-next-error
  • TeX-un-comment
  • TeX-un-comment-region
  • v

  • View-back-to-mark
  • view-diary-entries
  • view-exit
  • View-goto-line
  • View-process-delete-itimer
  • View-process-goto-first-field-next-line
  • View-process-mode
  • View-process-next-field
  • View-process-output-end
  • View-process-output-start
  • View-process-previous-field
  • View-process-quit
  • View-process-reverse-output
  • View-process-sort-by-current-field-g
  • View-process-sort-output-by-current-field
  • View-process-start-itimer
  • View-scroll-lines-forward
  • View-scroll-lines-forward-set-scroll-size
  • View-scroll-one-more-line
  • View-search-last-regexp-backward
  • View-search-last-regexp-forward
  • View-search-regexp-backward
  • View-search-regexp-forward
  • vm-delete-message
  • vm-followup
  • vm-followup-include-text
  • vm-forward-message
  • vm-kill-subject
  • vm-mail
  • vm-quit
  • vm-reply
  • vm-reply-include-text
  • vm-scroll-backward
  • vm-scroll-forward
  • vm-undelete-message
  • voice-lock-mode
  • voice-lock-voiceify-buffer
  • w

  • w3-end-of-document
  • w3-finish-text-entry
  • w3-goto-last-buffer
  • w3-quit
  • w3-scroll-up
  • w3-start-of-document
  • widget-backward
  • widget-forward
  • widget-kill-line
  • Variable Index


  • c++-voice-lock-keywords
  • c-voice-lock-keywords
  • compilation-mode-voice-lock-keywords
  • d

  • dtk-capitalize
  • dtk-character-scale
  • dtk-character-to-speech-table
  • dtk-chunk-separator-syntax
  • dtk-cleanup-patterns
  • dtk-css-code-tables
  • dtk-current-voice
  • dtk-debug
  • dtk-default-speech-rate
  • dtk-default-voice
  • dtk-default-voice-string
  • dtk-display-table
  • dtk-family-table
  • dtk-gain-table
  • dtk-last-output
  • dtk-program
  • dtk-quiet
  • dtk-speak-nonprinting-chars
  • dtk-speech-rate
  • dtk-speech-rate-step
  • dtk-split-caps
  • dtk-startup-hook, dtk-startup-hook
  • dtk-stop-immediately
  • dtk-stop-immediately-while-typing
  • dtk-tcl
  • dtk-voice-table
  • e

  • emacspeak-action-mode
  • emacspeak-ange-ftp-last-percent
  • emacspeak-audio-indentation
  • emacspeak-character-echo
  • emacspeak-comint-autospeak
  • emacspeak-decoration-rule
  • emacspeak-default-sound
  • emacspeak-dir, emacspeak-dir
  • emacspeak-dismal-already-customized-dismal
  • emacspeak-dismal-col-summarizer-list
  • emacspeak-dismal-row-summarizer-list
  • emacspeak-dismal-sheet-summarizer-list
  • emacspeak-dtk-submap
  • emacspeak-ediff-A-personality
  • emacspeak-ediff-always-autorefine-diffs, emacspeak-ediff-always-autorefine-diffs
  • emacspeak-ediff-B-personality
  • emacspeak-ediff-control-buffer
  • emacspeak-ediff-current-diff-face-A, emacspeak-ediff-current-diff-face-A
  • emacspeak-ediff-current-diff-face-B, emacspeak-ediff-current-diff-face-B
  • emacspeak-ediff-even-diff-face-A-var
  • emacspeak-ediff-even-diff-face-B-var
  • emacspeak-ediff-fine-A-personality
  • emacspeak-ediff-fine-B-personality
  • emacspeak-ediff-fine-diff-face-A, emacspeak-ediff-fine-diff-face-A
  • emacspeak-ediff-fine-diff-face-B, emacspeak-ediff-fine-diff-face-B
  • emacspeak-ediff-odd-diff-face-A-var
  • emacspeak-ediff-odd-diff-face-B-var
  • emacspeak-eterm-autospeak
  • emacspeak-eterm-column
  • emacspeak-eterm-focus-window
  • emacspeak-eterm-keymap
  • emacspeak-eterm-marker, emacspeak-eterm-marker
  • emacspeak-eterm-maximum-windows
  • emacspeak-eterm-pointer
  • emacspeak-eterm-pointer-mode
  • emacspeak-eterm-prefix
  • emacspeak-eterm-raw-prefix
  • emacspeak-eterm-review-p
  • emacspeak-eterm-row
  • emacspeak-eterm-window-table
  • emacspeak-functions-that-bypass-function-cell
  • emacspeak-gnus-large-article
  • emacspeak-horizontal-rule
  • emacspeak-hyperbole-phone-regexp
  • emacspeak-interactive-functions-that-are-fixed
  • emacspeak-keymap
  • emacspeak-last-message
  • emacspeak-lazy-message-time
  • emacspeak-line-echo
  • emacspeak-mail-alert
  • emacspeak-mail-last-alerted-time
  • emacspeak-play-args
  • emacspeak-prefix
  • emacspeak-pronounce-dictionaries
  • emacspeak-pronounce-dictionaries-file
  • emacspeak-pronounce-dictionaries-loaded
  • emacspeak-pronounce-help
  • emacspeak-pronounce-pronunciation-personality
  • emacspeak-read-by-line-by-line-tick
  • emacspeak-read-line-by-line-quotient
  • emacspeak-replace-highlight-on
  • emacspeak-replace-saved-personality
  • emacspeak-show-point
  • emacspeak-sounds-table
  • emacspeak-speak-messages
  • emacspeak-startup-hook, emacspeak-startup-hook
  • emacspeak-table-clipboard
  • emacspeak-table-column-header-personality
  • emacspeak-table-keymap
  • emacspeak-table-markup-table
  • emacspeak-table-row-header-personality
  • emacspeak-table-select-automatic-speaking-method-prompt
  • emacspeak-table-speak-column-filter
  • emacspeak-table-speak-element
  • emacspeak-table-speak-row-filter
  • emacspeak-unspeakable-rule
  • emacspeak-use-auditory-icons
  • emacspeak-w3-form-field-describe-table
  • emacspeak-w3-last-progress-indication
  • emacspeak-widget-button-personality
  • emacspeak-widget-documentation-personality
  • emacspeak-widget-field-personality
  • emacspeak-word-echo
  • eterm-char-mode
  • eterm-current-personality
  • eterm-line-mode
  • g

  • gnus-ignored-most-headers
  • i

  • Info-voiceify
  • Info-voiceify-maximum-menu-size
  • ispell-highlight-personality
  • l

  • lisp-voice-lock-keywords
  • m

  • Man-voice-lock-keywords
  • t

  • tcl-keyword-list
  • tcl-proc-list
  • tcl-typeword-list
  • tcl-voice-lock-keywords
  • v

  • View-process-signal-line-personality
  • vm-summary-voice-lock-keywords
  • vm-voice-lock-keywords
  • voice-lock-bold-personality
  • voice-lock-comment-personality
  • voice-lock-doc-string-personality
  • voice-lock-function-name-personality
  • voice-lock-italic-personality
  • voice-lock-keyword-personality
  • voice-lock-keywords
  • voice-lock-keywords-case-fold-search
  • voice-lock-mode-hook
  • voice-lock-mode-specific-keywords-table
  • voice-lock-no-comments
  • voice-lock-string-personality
  • voice-lock-syntax-table
  • voice-lock-type-personality
  • voice-lock-underline-personality
  • voice-lock-verbose

  • Footnotes


    I currently use Emacspeak under Linux as the only speech feedback on my laptop; I also run Emacspeak at work on my DECALPHA workstation both under a vt100 as well as under X.


    Control e is mnemonic for Emacspeak.


    d is mnemonic for Dectalk.

    This document was generated on 18 May 1997 using the texi2html translator version 1.51.