Emacspeak User's Manual


Table of Contents


@setfilename./emacspeak.info

Emacspeak User's Manual

First Edition, Emacspeak Version$Revision: 1.5 $

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.

Introduction

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).

Installation

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

DTK_PROGRAM=dtk-exp
export DTK_PROGRAM

Similarly,

DTK_PORT=/dev/ttyS0

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.

Overview of Emacspeak

`M-x emacspeak-describe-emacspeak'
Give a brief overview of emacspeak.
`C-e C-b'
`M-x emacspeak-submit-bug'
Function to submit a bug to the programs maintainer

Movement

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.

C-n
M-x next-line
down
Speaks line moved to.
C-p
M-x previous-line
up
Speaks line moved to.
M-f
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-b
M-x backward-word
Speaks word moved to.
M-C-f
M-x forward-sexp
Speaks sexp moved to. If the sexp spans more than a line, only the first line is spoken.
M-C-b
M-x backward-sexp
Speaks sexp moved to. If the sexp spans more than a line, only the first line is spoken.
M-<
M-x beginning-of-buffer
Speaks line moved to.
M->
M-x end-of-buffer
Speaks line moved to.
M-m
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'.

Action

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.

`M-x emacspeak-audio-annotate-paragraphs'
Set property auditory-icon at front of all paragraphs. Interactive prefix arg prompts for sound cue to use
`M-x emacspeak-speak-voice-annotate-paragraphs'
Locate paragraphs and voice annotate the first word. Here, paragraph is taken to mean a chunk of text preceeded by a blank line. Useful to do this before you listen to an entire buffer.
`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 `M-x emacspeak-show-point'. Lines that start hidden blocks of text, e.g. outline header lines, or header lines of blocks created by command emacspeak-hide-or-expose-block are indicated with auditory icon ellipses.
`C-e W'
`M-x emacspeak-speak-spell-current-word'
Spell word at 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. If executed on the same buffer position a second time, the word is spelt instead of being spoken.
`C-e c'
`M-x emacspeak-speak-char'
Speak char under point Pronounces character phonetically unless called with a prefix arg.
`C-e 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 C-e c 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.
`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 ['
`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. If voice lock mode is on, the paragraphs in the buffer are voice annotated first, see command emacspeak-speak-voice-annotate-paragraphs.
`M-x emacspeak-speak-front-of-buffer'
Speak the buffer from start to point
`C-e n'
`M-x emacspeak-speak-rest-of-buffer'
Speak remainder of the buffer starting at 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 f'
`M-x emacspeak-speak-buffer-filename'
Speak name of file being visited in current buffer. Speak default directory if invoked in a dired buffer, or when the buffer is not visiting any file.
`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.
`M-x emacspeak-read-previous-word'
Read previous word, specified as a prefix arg, without moving. Default is to read the previous word.
`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 `M-x 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.
`C-e .'
`M-x emacspeak-speak-browse-buffer'
Browse the current buffer by reading it a paragraph at a time.
`M-x emacspeak-speak-skim-paragraph'
Skim paragraph. Skimming a paragraph results in the speech speeding up after the first clause. Speech is scaled by the value of dtk-speak-skim-scale
`M-x emacspeak-speak-skim-next-paragraph'
Skim next paragraph.
`M-x emacspeak-speak-skim-buffer'
Skim the current buffer a paragraph at a time.
`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.
`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 ]'
`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.
`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.
`C-e'
`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.
`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-\C-@'
`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.

Speech Device Commands

`C-e d d'
`M-x dtk-select-server'
Select a speech server interactively. This will be the server 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 server 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 tts. 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 C'
`M-x dtk-toggle-allcaps-beep'
Toggle allcaps-beep. when set, allcaps words are indicated by a short beep. Interactive prefix arg means toggle the global default value, and then set the current local value to the result. Note that allcaps-beep is a very useful thing when programming. However it is irritating to have it on when reading documents.
`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.
`C-e p'
`M-x dtk-pause'
Pause ongoing speech. The speech can be resumed with command dtk-resume normally bound to C-e [space]. Pausing speech is useful when one needs to perform a few actions before continuing to read a large document. Emacspeak gives you speech feedback as usual once speech has been paused. dtk-resume continues the interrupted speech irrespective of the buffer in which it is executed. Optional first arg pauses speech even if there is no ongoing speech. This lets you flush paused speech without having to resume it. If speech has already been paused once, this command will not pause speech again-- instead you will hear an auditory warning if have auditory icons turned on.
`C-e [space]'
`M-x dtk-resume'
Resumes speech that has been suspended by executing command dtk-pause bound to C-e p. If speech has not been paused, and variable dtk-resume-should-toggle is t then this command will pause ongoing speech.

Voice Lock Mode

`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 displayed in `voice-lock-comment-personality'; - Strings are displayed in `voice-lock-string-personality'; - Certain other expressions are displayed in other personalities according to the value of the variable `voice-lock-keywords'. You can enable Voice Lock mode in any major mode automatically by turning on in the major mode's hook. For example, put in your ~/.emacs: (add-hook 'c-mode-hook 'turn-on-voice-lock) Alternatively, you can use Global Voice Lock mode to automagically turn on Voice Lock mode in buffers whose major mode supports it and whose major mode is one of `voice-lock-global-modes'. For example, put in your ~/.emacs: (global-voice-lock-mode t) There are a number of support modes that may be used to speed up Voice Lock mode in various ways, specified via the variable `voice-lock-support-mode'. Where major modes support different levels of voiceification, you can use the variable `voice-lock-maximum-decoration' to specify which level you generally prefer. When you turn Voice Lock mode on/off the buffer is voiceified/devoiceified, though voiceification occurs only if the buffer is less than `voice-lock-maximum-size'. For example, to specify that Voice Lock mode use use Lazy Lock mode as a support mode and use maximum levels of voiceification, put in your ~/.emacs: (setq voice-lock-support-mode 'lazy-voice-lock-mode) (setq voice-lock-maximum-decoration t) To voiceify a buffer, without turning on Voice Lock mode and regardless of buffer size, you can use `M-x voice-lock-voiceify-buffer'. To voiceify a block (the function or paragraph containing point, or a number of lines around point), perhaps because modification on the current line caused syntactic change on other lines, you can use `M-x voice-lock-voiceify-block'. The default Voice Lock mode personalities and their attributes are defined in the variable `voice-lock-personality-attributes', and Voice Lock mode default settings in the variable `voice-lock-defaults-alist'. You can set your own default settings for some mode, by setting a buffer local value for `voice-lock-defaults', via its mode hook.
`M-x global-voice-lock-mode'
Toggle Global Voice Lock mode. With prefix ARG, turn Global Voice Lock mode on if and only if ARG is positive. Displays a message saying whether the mode is on or off if MESSAGE is non-nil. Returns the new status of Global Voice Lock mode (non-nil means on). When Global Voice Lock mode is enabled, Voice Lock mode is automagically turned on in a buffer if its major mode is one of `voice-lock-global-modes'.
`M-x voice-lock-voiceify-buffer'
Voiceify the current buffer the way `voice-lock-mode' would.
`M-x voice-lock-voiceify-block'
Voiceify some lines the way `voice-lock-voiceify-buffer' would. The lines could be a function or paragraph, or a specified number of lines. If ARG is given, voiceify that many lines before and after point, or 16 lines if no ARG is given and `voice-lock-mark-block-function' is nil. If `voice-lock-mark-block-function' non-nil and no ARG is given, it is used to delimit the region to voiceify.

`M-x fast-voice-lock-mode'
Toggle Fast Lock mode. With arg, turn Fast Lock mode on if and only if arg is positive and the buffer is associated with a file. Enable it automatically in your `~/.emacs' by: (setq voice-lock-support-mode 'fast-voice-lock-mode) If Fast Lock mode is enabled, and the current buffer does not contain any text properties, any associated Voice Lock cache is used if its timestamp matches the buffer's file, and its `voice-lock-keywords' match those that you are using. Voice Lock caches may be saved: - When you save the file's buffer. - When you kill an unmodified file's buffer. - When you exit Emacs, for all unmodified or saved buffers. Depending on the value of `fast-voice-lock-save-events'. See also the commands `fast-voice-lock-read-cache' and `fast-voice-lock-save-cache'. Use `M-x voice-lock-voiceify-buffer' to voiceify the buffer if the cache is bad. Various methods of control are provided for the Voice Lock cache. In general, see variable `fast-voice-lock-cache-directories' and function `fast-voice-lock-cache-name'. For saving, see variables `fast-voice-lock-minimum-size', `fast-voice-lock-save-events', `fast-voice-lock-save-others' and `fast-voice-lock-save-personalities'. Use `M-x fast-voice-lock-submit-bug-report' to send bug reports or feedback.
`M-x fast-voice-lock-read-cache'
Read the Voice Lock cache for the current buffer. The following criteria must be met for a Voice Lock cache file to be read: - Fast Lock mode must be turned on in the buffer. - The buffer must not be modified. - The buffer's `voice-lock-keywords' must match the cache's. - The buffer file's timestamp must match the cache's. - Criteria imposed by `fast-voice-lock-cache-directories'. See `fast-voice-lock-mode'.
`M-x fast-voice-lock-save-cache'
Save the Voice Lock cache of BUFFER or the current buffer. The following criteria must be met for a Voice Lock cache file to be saved: - Fast Lock mode must be turned on in the buffer. - The event must be one of `fast-voice-lock-save-events'. - The buffer must be at least `fast-voice-lock-minimum-size' bytes long. - The buffer file must be owned by you, or `fast-voice-lock-save-others' must be t. - The buffer must contain at least one `personality' text property. - The buffer must not be modified. - The buffer file's timestamp must be the same as the file's on disk. - The on disk file's timestamp must be different than the buffer's cache. - Criteria imposed by `fast-voice-lock-cache-directories'. See `fast-voice-lock-mode'.

`M-x lazy-voice-lock-mode'
Toggle Lazy Lock mode. With arg, turn Lazy Lock mode on if and only if arg is positive. Enable it automatically in your `~/.emacs' by: (setq voice-lock-support-mode 'lazy-voice-lock-mode) When Lazy Lock mode is enabled, voiceification can be lazy in a number of ways: - Demand-driven buffer voiceification if `lazy-voice-lock-minimum-size' is non-nil. This means initial voiceification does not occur if the buffer is greater than `lazy-voice-lock-minimum-size' characters in length. Instead, voiceification occurs when necessary, such as when scrolling through the buffer would otherwise reveal unvoiceified areas. This is useful if buffer voiceification is too slow for large buffers. - Defer-driven buffer voiceification if `lazy-voice-lock-defer-driven' is non-nil. This means all voiceification is deferred, such as voiceification that occurs when scrolling through the buffer would otherwise reveal unvoiceified areas. Instead, these areas are seen momentarily unvoiceified. This is useful if demand-driven voiceification is too slow to keep up with scrolling. - Deferred on-the-fly voiceification if `lazy-voice-lock-defer-time' is non-nil. This means on-the-fly voiceification does not occur as you type. Instead, voiceification is deferred until after `lazy-voice-lock-defer-time' seconds of Emacs idle time, while Emacs remains idle. This is useful if on-the-fly voiceification is too slow to keep up with your typing. - Stealthy buffer voiceification if `lazy-voice-lock-stealth-time' is non-nil. This means remaining unvoiceified areas of buffers are voiceified if Emacs has been idle for `lazy-voice-lock-stealth-time' seconds, while Emacs remains idle. This is useful if any buffer has demand- or defer-driven voiceification. See also variables `lazy-voice-lock-stealth-lines', `lazy-voice-lock-stealth-nice' and `lazy-voice-lock-stealth-verbose' for stealth voiceification. Use `M-x lazy-voice-lock-submit-bug-report' to send bug reports or feedback.
`M-x lazy-voice-lock-submit-bug-report'
Submit via mail a bug report on lazy-voice-lock.el.

Miscellaneous

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

`C-e C-a'
`M-x emacspeak-toggle-auditory-icons'
Toggle use of auditory icons. Optional interactive prefix arg toggles global value.
`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.

`M-x emacspeak-list-buffers-speak-buffer-name'
Speak the name of the buffer on this line
`M-x emacspeak-list-buffers-speak-buffer-line'
Speak information about this buffer
`M-x emacspeak-list-buffers-next-line'
Speech enabled buffer menu navigation
`M-x emacspeak-list-buffers-previous-line'
Speech enabled buffer menu navigation

`C-e j'
`M-x emacspeak-hide-or-expose-block'
This command either hides or exposes a block of text starting on the current line. A block of text is defined as a portion of the buffer in which all lines start with a common prefix. Optional interactive prefix arg causes all blocks in current buffer to be hidden or exposed.
`M-x emacspeak-hide-or-expose-all-blocks'
Hide or expose all blocks in buffer
`C-e C-j'
`M-x emacspeak-hide-speak-block-sans-prefix'
Speaks current block after stripping its prefix. If the current block is not hidden, it first hides it. This is useful because as you locate blocks, you can invoke this command to listen to the block, and when you have heard enough navigate easily to move past the block.

`C-e M-n'
`M-x emacspeak-imenu-goto-next-index-position'
Goto the next index position in current buffer
`C-e M-p'
`M-x emacspeak-imenu-goto-previous-index-position'
Goto the previous index position in current buffer
`C-e M-'
`M-x emacspeak-imenu-speak-this-section'
Speak upto start of next index entry

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.

The Insiduous Big Brother DB

A rolodex interface

Smart buffer selection

Bookmarks

This package is for setting "bookmarks" in files. A bookmark associates a string with a location in a certain file. Thus, you can navigate your way to that location by providing the string.

Custom

Tools for declaring and initializing Emacs customization options.

dmacro

dmacro is used to write code rapidly and consistently.

face menus

Create a face menu for interactively adding fonts to text.

The Emacs calculator

This calculator major mode implements a Reverse Polish Notation (RPN) calculator featuring arbitrary-precision integer, rational, floating-point, complex, matrix, and symbolic arithmetic.

You can download this (360 KB) from ftp://ftp.cs.vassar.edu/pub/mirror/emacspeak/subsystems/calc-2.02.tar.Z or ftp://csvax.caltech.edu:pub/calc-2.02.tar.Z or install the Debian package "calc".

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

Calendar Management

`M-x emacspeak-speak-calendar-date'
Speak the date under point when called in Calendar Mode.
`C-e A'
`M-x emacspeak-appt-repeat-announcement'
Speaks the most recently displayed appointment message if any.
`M-x emacspeak-compilation-speak-error'
Speech feedback about the compilation error.

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-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.

Java IDE

An interface to the Java IDE, which can be found at http://sunsite.auc.dk/jde/.

The speedbar is also advised for use with emacspeak. The default speedbar.el that is distributed with the Emacs JDE will only work under a windowing system. This module takes care of setting things up to work (if somewhat clumsily) outside X. I hope to get the author of speedbar to tweak things a bit so we can avoid kluges here.

`M-x emacspeak-speedbar-goto-speedbar'
Switch to the speedbar
`M-x emacspeak-speedbar-click'
Does the equivalent of the mouse click from the keyboard

Object Oriented code browser

You can get the Object Oriented code browser from ftp://ftp.xemacs.org/pub/altrasoft/oo-browser-2.10.tar.gz.

Editing Perl code

Python scripts

If you have python installed you will find python-mode.el in the Python distribution. If you dont have python, then you dont need this either.

`M-x emacspeak-py-previous-block'
Move backward to the beginning of the current block. If already at the beginning then move to previous block.
`M-x emacspeak-py-next-block'
Move forward to the beginning of the next block.

Editing tcl code

Editing LaTeX Documents

Editing and maintaining bibtex files

Editing SGML

PSGML is a major mode for editing SGML documents written by Lennart Staflin <lenst@lysator.liu.se> and James Clark <jjc@clark.com>.

You can download it (130 KB) from ftp://ftp.cs.vassar.edu/pub/mirror/emacspeak/subsystems/psgml-0.4b3.tar.gz

Directory Editing

`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
`M-x emacspeak-dired-speak-header-line'
Speak the header line of the dired buffer.
`M-x emacspeak-dired-speak-file-size'
Speak the size of the current file
`M-x emacspeak-dired-speak-file-modification-time'
Speak modification time of the current file
`M-x emacspeak-dired-speak-file-access-time'
Speak access time of the current file
`M-x emacspeak-dired-speak-symlink-target'
Speaks the target of the symlink on the current line
`M-x emacspeak-dired-speak-file-permissions'
Speak the permissions of the current file

Tape Archives (.tar files)

Simple viewing and editing of tar files.

Archives (.ar files)

View an archive file in the same way that dired mode views a directory.

A powerful spreadsheet

dismal (Dis' Mode Ain't lotus) is a major mode in GNU-emacs that implements a spreadsheet.

You can download it (324 KB) from ftp://ftp.cs.vassar.edu/pub/mirror/emacspeak/subsystems/dismal-1.04.tar.gz or ftp://vpsyc.nott.ac.uk/pub/ritter/dismal

`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.

Ediff Mode

A comprehensive interface to diff (for file comparisons) and patch (for making small changes to files).

`M-x emacspeak-ediff-speak-current-difference'
Speak the current difference

Old Ediff mode

An older interface to diff (for file comparisons) and patch (for making small changes to files).

`M-x emacspeak-ediff-speak-current-difference'
Speak the current difference

Rich text editing

Emacs now has the ability to edit enriched text, which is text containing embedded formatting information in the MIME standard text/enriched format, representing faces, colors, indentation, and other properties. To create a new file with enriched text, use the command "M-x enriched-mode". More information about Enriched mode is available in the file etc/enriched.doc in the Emacs distribution directory, which you may find at /usr/lib/emacs/19.34/etc/enriched.doc or similar.

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

Eterm

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 C-t m 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 C-t m and the emacspeak eterm pointer to a register.
`C-t v'
`M-x emacspeak-eterm-paste-register'
Paste contents of register at current location. If the specified register contains text, then that text is sent to the terminal as if it were typed by the user.
`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.
`C-e C-r'
`M-x emacspeak-eterm-remote-term'
Start a terminal-emulator in a new buffer.

Folding Mode

Forms Editing Mode

`M-x emacspeak-forms-speak-field'
Speak current form field name and value. Assumes that point is at the front of a field value.

Playing Gomoku against Emacs

Enter this mode with the command `M-x gomoku'.

`M-x emacspeak-gomoku-speak-square'
Speak coordinates and state of square at point
`M-x emacspeak-gomoku-show-current-row'
Aurally display current row
`M-x emacspeak-gomoku-show-current-column'
Aurally display current column
`M-x emacspeak-gomoku-show-current-positive-diagonal'
Aurally display current positively sloped diagonal
`M-x emacspeak-gomoku-show-current-negative-diagonal'
Aurally display current negative sloped diagonal
`M-x emacspeak-gomoku-display-statistics'
Display statistics from previous games
`M-x emacspeak-gomoku-speak-emacs-previous-move'
Speak emacs' previous move
`M-x emacspeak-gomoku-speak-humans-previous-move'
Speak human' previous move
`M-x emacspeak-gomoku-speak-number-of-moves'
Speak number of moves so far
`M-x gomoku-move-left'
Move left on the Gomoku board
`M-x gomoku-move-right'
Move right on the Gomoku board

A powerful information manager

You can get the Hyperbole package from ftp://ftp.xemacs.org/pub/altrasoft/hyperbole-4.023.tar.gz

Kotl outliner

The Kotl outliner comes with the Hyperbole system.

`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

Online info pages

Man page reader

`M-x emacspeak-man-browse-man-page'
Browse the man page --read it a paragraph at a time

Outline Editing

Outline mode is for editing outlines with selective display. Headings are lines which start with asterisks: one for major headings, two for subheadings, etc. Lines not starting with asterisks are body lines. Type "M-x outline-mode" to switch to Outline mode as the major mode of the current buffer.

`M-x emacspeak-outline-speak-heading'
Function used by all interactive section speaking commands.
`M-x emacspeak-outline-speak-next-heading'
Analogous to outline-next-visible-heading, except that the outline section is optionally spoken
`M-x emacspeak-outline-speak-previous-heading'
Analogous to outline-previous-visible-heading, except that the outline section is optionally spoken
`M-x emacspeak-outline-speak-forward-heading'
Analogous to outline-forward-same-level, except that the outline section is optionally spoken
`M-x emacspeak-outline-speak-backward-heading'
Analogous to outline-backward-same-level except that the outline section is optionally spoken
`M-x emacspeak-outline-speak-this-heading'
Speak current outline section starting from point

Editing messages

Rmail Mail Reader

Manage Tables

`M-x emacspeak-table-speak-coordinates'
Speak current table coordinates.
`M-x emacspeak-table-speak-current-element'
Speak current table element
`M-x emacspeak-table-speak-row-header-and-element'
Speak row header and table element
`M-x emacspeak-table-speak-column-header-and-element'
Speak column header and table element
`M-x emacspeak-table-speak-both-headers-and-element'
Speak both row and column header and table element
`M-x emacspeak-table-get-entry-with-headers'
Return both row and column header and table element
`M-x emacspeak-table-speak-row-filtered'
Speaks a table row after applying a specified row filter. Optional prefix arg prompts for a new filter.
`M-x emacspeak-table-speak-column-filtered'
Speaks a table column after applying a specified column filter. Optional prefix arg prompts for a new filter.
`C-e C-t'
`M-x emacspeak-table-find-file'
Open a file containing table data and display it in table mode. emacspeak table mode is designed to let you browse tabular data using all the power of the two-dimensional spatial layout while giving you sufficient contextual information. The tables subdirectory of the emacspeak distribution contains some sample tables --these are the CalTrain schedules. Execute command `describe-mode' bound to `M-x describe-mode' in a buffer that is in emacspeak table mode to read the documentation on the table browser.
`C-e C-i'
`M-x emacspeak-table-display-table-in-region'
Recognize tabular data in current region and display it in table browsing mode in a a separate buffer. emacspeak table mode is designed to let you browse tabular data using all the power of the two-dimensional spatial layout while giving you sufficient contextual information. The tables subdirectory of the emacspeak distribution contains some sample tables --these are the CalTrain schedules. Execute command `describe-mode' bound to `M-x describe-mode' in a buffer that is in emacspeak table mode to read the documentation on the table browser.
`M-x emacspeak-table-select-automatic-speaking-method'
Interactively select the kind of automatic speech to produce when browsing table elements
`M-x emacspeak-table-next-row'
Move to the next row if possible
`M-x emacspeak-table-previous-row'
Move to the previous row if possible
`M-x emacspeak-table-next-column'
Move to the next column if possible
`M-x emacspeak-table-previous-column'
Move to the previous column if possible
`M-x emacspeak-table-goto'
Prompt for a table cell coordinates and jump to it.
`M-x emacspeak-table-goto-top'
Goes to the top of the current column.
`M-x emacspeak-table-goto-bottom'
Goes to the bottom of the current column.
`M-x emacspeak-table-goto-left'
Goes to the left of the current row.
`M-x emacspeak-table-goto-right'
Goes to the right of the current row.
`M-x emacspeak-table-search'
Search the table for matching elements. Interactively prompts for row or column to search and pattern to look for. If there is a match, makes the matching cell current.
`M-x emacspeak-table-search-headers'
Search the table row or column headers. Interactively prompts for row or column to search and pattern to look for. If there is a match, makes the matching row or column current.
`M-x emacspeak-table-copy-to-clipboard'
Copy table in current buffer to the table clipboard. Current buffer must be in emacspeak-table mode.
`M-x emacspeak-table-paste-from-clipboard'
Paste the emacspeak table clipboard into the current buffer. Use the major mode of this buffer to decide what kind of table markup to use.

Template-based Editing

View mode for previewing files

`M-x emacspeak-view-line-to-top'
Moves current line to top of window

Task manager for Emacs

View-process is an Elisp package for viewing processes with the XEmacs/Emacs19, written by Heiko Muenkel <muenkel@tnt.uni-hannover.de>. The output of ps is inserted in an emacs buffer. One can easily send signals to one or more processes and sort and filter the output. A description of the output is also provided.

You can download this package (39 kb) from ftp://ftp.cs.vassar.edu/pub/mirror/emacspeak/subsystems/hm--view-process-2.4.tar.gz or from ftp://ftp.tnt.uni-hannover.de/data/ftp/pub/editors/xemacs/contrib/hm--view-process-2.4.tar.gz

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-summary-catchup-quietly-and-exit'
Catch up on articles without confirmation.

`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 emacspeak-vm-browse-message'
Browse an email message --read it paragraph at a time.

mail spool tracker

Monitor multiple maildrops.

W3 World Wide Web Page Reader

by William M. Perry <wmperry@cs.indiana.edu>

You can download the W3 package (417 KB) from: ftp://ftp.cs.vassar.edu/pub/mirror/emacspeak/subsystems/w3-3.0.86.tar.gz or http://www.cs.indiana.edu/pub/elisp/w3/.betas

(At this writing, the "stable" version is 2.2.26, which does not include widget.el among other things. You will need the current "beta" version, currently 3.0.86.)

There is more documentation on w3 at http://www.cs.indiana.edu/elisp/w3/docs.html

Playing Solitaire

Enter this mode with the command `M-x solitaire'.

`M-x emacspeak-solitaire-speak-coordinates'
Speak coordinates of current position
`M-x emacspeak-solitaire-show-row'
Display current row auditorallly
`M-x emacspeak-solitaire-show-column'
Display current row auditorallly

Playing Tetris

Tetris for Emacs, by Glynn Clements <glynn@sensei.co.uk>.

You can get tetris from:

ftp://ftp.cs.vassar.edu/pub/mirror/emacspeak/subsystems/tetris.el

or:

http://www.cs.vassar.edu/mirror/emacspeak/subsystems/tetris.el or ftp://sensei.co.uk/misc/tetris.el.gz

`M-x emacspeak-tetris-speak-row'
Speak current tetris row
`M-x emacspeak-tetris-speak-row-number'
Speak where on the tetris board we are
`M-x emacspeak-tetris-speak-x-coordinate'
Speak current position
`M-x emacspeak-tetris-speak-coordinates'
Speak current position
`M-x emacspeak-tetris-speak-current-shape'
Speak current shape
`M-x emacspeak-tetris-speak-next-shape'
Speak next shape
`M-x emacspeak-tetris-speak-current-shape-and-coordinates'
Speak shape orientation and coordinates
`M-x emacspeak-tetris-speak-score'
Speak the score
`M-x emacspeak-tetris-goto-bottom-row'
Move to and speak bottom row
`M-x emacspeak-tetris-goto-top-row'
Move to and speak the top row
`M-x tetris-move-left-edge'
Moves the shape to the left edge of the playing area
`M-x tetris-move-right-edge'
Moves the shape to the right edge of the playing area
`M-x tetris-move-to-x-pos'
Moves the shape to a specified x position if possible

Widget Editing Mode

`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

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.

Using a Remote Speech Server

Emacspeak can connect to a speech server running on a remote host.

`M-x emacspeak-remote-quick-connect-to-server'
Connect to remote server. Does not prompt for host or port, but quietly uses the guesses that appear as defaults when prompting. Use this once you are sure the guesses are usually correct.
`C-e M-r'
`M-x emacspeak-remote-connect-to-server'
Connect to and start using remote speech server running on host host and listening on port port. Host is the hostname of the remote server, typically the desktop machine. Port is the tcp port that that host is listening on for speech requests.

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. Default term to define is delimited by region. 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.

Hooks

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.

`dtk-family-table'
Association list of dtk voice names and control codes
`dtk-css-code-tables'
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.
`dtk-gain-table'
Maps CSS volume settings to actual synthesizer codes.
`dtk-startup-hook'
List of hooks to be run after starting up the speech server. . Set things like speech rate, punctuation mode etc in this hook.
`dtk-tcl'
tcl
`dtk-program'
The program to use to talk to the speech engine. 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. dtk-sapi (not yet released) for the software Dectalk on NT. The default is dtk-exp.
`dtk-stop-immediately'
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.
`dtk-display-table'
Variable holding display information for special characters.
`dtk-character-to-speech-table'
Holds the mapping of characters to the string that should be spoken for pronouncing that character.
`dtk-debug'
Set this to t if you want to debug the synthesizer server.
`dtk-speak-server-initialized'
Records if the server is initialized.
`dtk-speak-process-connection-type'
*Specifies if we use ptys or pipes to connect to the speech server process. Has the same semantics as the builtin process-connection-type. Default is to use pipes.
`dtk-stop-immediately-while-typing'
*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.
`dtk-quiet'
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.
`dtk-split-caps'
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.
`dtk-cleanup-patterns'
.
`dtk-clean-text-function'
Set this to a function if you want to perform cleanups on the text before shipping it to the speech server.
`dtk-character-scale'
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.
`dtk-capitalize'
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.
`dtk-allcaps-beep'
Non-nil means produce a beep to indicate upper case words in conjunction with split caps Do not set this variable by hand, use command dtk-toggle-allcaps-beep bound to C-e d C.
`dtk-last-output'
Variable holding last output
`dtk-speech-rate'
Rate at which tts talks. Do not modify this variable directly; use command dtk-set-rate bound to C-e d r.
`dtk-speak-nonprinting-chars'
*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.
`dtk-chunk-separator-syntax'
Syntax string to identify chunks when splitting text.
`dtk-speak-treat-embedded-punctuations-specially'
*If T then speech not split at embedded punctuations.
`dtk-speak-skim-scale'
*Scale factor applied to speech rate when skimming.
`dtk-speech-rate-step'
* Determines step size used when setting speech rate via command dtk-set-predefined-speech-rate. Formula used is 180 + dtk-speech-rate-step*level
`dtk-paused'
Records if speech has been paused.
`dtk-resume-should-toggle'
*T means dtk-resume acts as a toggle.
`dtk-default-voice'
Default voice
`dtk-default-voice-string'
Default dtk string for the default voice.
`dtk-voice-table'
Association between symbols and strings to set dtk voices. The string can set any dtk parameter.
`dtk-voice-reset-code'
Memoize default voice command to make voice locking efficient. This variable holds the code associated with dtk-default-voice and saves repeated hash lookups.
`emacspeak-delete-char-speak-deleted-char'
*T means delete-char speaks char that was deleted.
`emacspeak-backward-delete-char-speak-deleted-char'
*T means backward-delete-char speaks char that was deleted.
`emacspeak-delete-char-speak-current-char'
*T means delete-char speaks char that becomes current after deletion.
`emacspeak-backward-delete-char-speak-current-char'
*T means backward-delete-char speaks char that becomes current after deletion.
`emacspeak-last-message'
Holds the last output generated by the Emacs 'message function.
`emacspeak-lazy-message-time'
Records when we last spoke a message.
`emacspeak-speak-messages-should-pause-ongoing-speech'
*If t then all messages will pause ongoing speech if any before the message is spoken.
`emacspeak-ange-ftp-last-percent'
Cache the last percentage that emacspeak spoke.
`emacspeak-advice-advice-princ'
If T then princ is advised to speak. Set dynamically by emacspeak to influence behavior. Do not change this unless you know what you are doing.
`emacspeak-dismal-sheet-summarizer-list'
Specifies how the entire sheet should be summarized.
`emacspeak-dismal-row-summarizer-list'
Specifies how rows should be summarized.
`emacspeak-dismal-col-summarizer-list'
Specifies how cols should be summarized.
`emacspeak-dismal-already-customized-dismal'
Records if we have customized dismal. Checked by emacspeak specific dis-mode-hooks entry.
`emacspeak-ediff-A-personality'
Personality used to voiceify difference chunk A
`emacspeak-ediff-B-personality'
Personality used to voiceify difference chunk B
`emacspeak-ediff-fine-A-personality'
Personality used to voiceify fine differences in chunk A
`emacspeak-ediff-fine-B-personality'
Personality used to voiceify fine differences in chunk B
`emacspeak-ediff-current-diff-face-A'
Personality for aurally highlighting the selected difference in buffer A.
`emacspeak-ediff-current-diff-face-B'
Personality for aurally highlighting the selected difference in buffer A.
`emacspeak-ediff-fine-diff-face-A'
Face for highlighting the refinement of the selected diff in buffer A.
`emacspeak-ediff-fine-diff-face-B'
Face for highlighting the refinement of the selected diff in buffer B.
`emacspeak-ediff-control-buffer'
Holds the control buffer for the most recent ediff
`emacspeak-ediff-always-autorefine-diffs'
Says if emacspeak should try computing fine differences each time. Set this to nil if things get too slow.
`emacspeak-enriched-font-faces-to-voiceify'
List of font faces we voiceify
`emacspeak-eterm-keymap'
Keymap used to navigate a terminal without moving the cursor.
`emacspeak-eterm-prefix'
Prefix char used by emacspeak for navigating an eterm
`emacspeak-eterm-raw-prefix'
Prefix key to use to send out raw term input. Useful when eterm is in review mode.
`emacspeak-eterm-review-p'
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.
`emacspeak-eterm-marker'
Marker used by emacspeak to yank when in eterm review mode.
`emacspeak-eterm-maximum-windows'
Variable specifying how many windows can be defined.
`emacspeak-eterm-window-table'
Vector of window positions. A terminal window is recorded by the positions of its top left and bottom right.
`emacspeak-eterm-focus-window'
Current window that emacspeak eterm focuses on
`eterm-current-personality'
Current personality for eterm.
`emacspeak-eterm-row'
Record the eterm row last spoken
`emacspeak-eterm-column'
Record the column last spoken
`emacspeak-eterm-pointer'
Terminal pointer. Can be moved around to listen to the contents of the terminal. See commands provided by the emacspeak extension to eterm: keymap emacspeak-eterm-keymap. Each term-mode buffer has a buffer local value of this variable.
`emacspeak-eterm-marker'
Mark set in an eterm buffer. Used to cut and paste from the terminal.
`emacspeak-eterm-autospeak'
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.
`eterm-line-mode'
T if eterm is in line mode.
`eterm-char-mode'
Flag indicating if eterm is in char mode.
`emacspeak-eterm-pointer-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.
`emacspeak-eterm-remote-hosts-table'
obarray used for completing hostnames when prompting for a remote host. Hosts are added whenever a new hostname is encountered, and the list of known hostnames is persisted in file named by emacspeak-eterm-remote-hostnames
`emacspeak-eterm-remote-hosts-cache'
File where list of known remote hosts is cached
`emacspeak-finder-inf-file'
File where we save the keyword/package associations for Emacspeak
`emacspeak-finder-preamble'
;;;$Id: emacspeak-finder.el,v 8.0 1998/05/01 14:15:46 raman Exp $\n
`emacspeak-finder-postamble'
))\n\n
`emacspeak-interactive-functions-that-are-fixed'
Functions which have been adviced automatically to make their interactive prompts speak.
`gnus-ignored-most-headers'
^Path:\\|^Posting-Version:\\|^Article-I.D.:\\|^Expires:
`emacspeak-gnus-large-article'
*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.
`emacspeak-hidden-header-line-personality'
Personality used to identify header lines of blocks.
`emacspeak-hide-prefix-not-token-table'
^[ ]*$
`emacspeak-hyperbole-phone-regexp'
Regexp that matches phone numbers.
`emacspeak-imenu-flattened-index-alist'
Cached flattened index alist for buffer navigation
`Info-voiceify'
*Non-nil enables highlighting and voices in Info nodes.
`Info-voiceify-maximum-menu-size'
*Maximum size of menu to voiceify if `Info-voiceify' is non-nil.
`ispell-highlight-personality'
Voice used to highlight spelling errors.
`emacspeak-prefix'
Default prefix key used for emacspeak.
`emacspeak-keymap'
Primary keymap used by emacspeak.
`emacspeak-dtk-submap'
Submap used for DTK commands.
`emacspeak-dir'
Directory where emacspeak is installed.
`emacspeak-resource-directory'
Directory where Emacspeak resource files such as pronunciation dictionaries are stored.
`Man-voice-lock-keywords'
Keywords to highlight in Man mode
`emacspeak-ediff-even-diff-face-A-var'
Personality used to aurally highlight even-numbered differences in buffer A.
`emacspeak-ediff-odd-diff-face-A-var'
Personality used to aurally highlight odd-numbered differences in buffer B.
`emacspeak-ediff-even-diff-face-B-var'
Personality used to aurally highlight even-numbered differences in buffer B.
`emacspeak-ediff-odd-diff-face-B-var'
Personality used to aurally highlight odd-numbered differences in buffer B.
`emacspeak-ediff-current-diff-face-A'
Personality for aurally highlighting the selected difference in buffer A.
`emacspeak-ediff-current-diff-face-B'
Personality for aurally highlighting the selected difference in buffer A.
`emacspeak-ediff-fine-diff-face-A'
Face for highlighting the refinement of the selected diff in buffer A.
`emacspeak-ediff-fine-diff-face-B'
Face for highlighting the refinement of the selected diff in buffer B.
`emacspeak-ediff-always-autorefine-diffs'
Says if emacspeak should try computing fine differences each time. Set this to nil if things get too slow.
`emacspeak-pronounce-dictionaries'
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.
`emacspeak-pronounce-pronunciation-personality'
*Personality used when speaking things that have a pronunciation applied.
`emacspeak-pronounce-dictionaries-file'
File that holds the persistent emacspeak pronunciation dictionaries.
`emacspeak-pronounce-dictionaries-loaded'
Indicates if dictionaries already loaded.
`emacspeak-pronounce-current-buffer'
Buffer name where we are currently defining a pronunciation
`emacspeak-pronounce-yank-word-point'
Point where we left off reading from the buffer containing the term being defined
`emacspeak-pronounce-pronunciation-table'
Variable holding association list of pronunciations for a buffer. Becomes automatically buffer local.
`emacspeak-pronounce-help'
Dictionary: Clear Define Load Refresh Save Toggle
`emacspeak-realaudio-player'
*Executable that plays relaudio
`emacspeak-realaudio-process'
Process handle to running player
`emacspeak-realaudio-last-url'
Records the last RealAudio resource we played
`emacspeak-realaudio-history'
History list holding resources we played recently
`emacspeak-realaudio-shortcuts-directory'
*Directory where we keep realaudio shortcuts. I typically keep .ram --RealAudio metafiles-- in this directory. Realaudio metafiles typically contain a single line that specifies the actual location of the realaudio stream --typically the .ra file.
`emacspeak-functions-that-bypass-function-cell'
These commands are activated directly through C, rather than through their function cell. They have to be redefined and rebound to make them talk.
`emacspeak-remote-hooks'
List of hook functions that are run after emacspeak is set to run as a remote application. Use this to add actions you typically perform after you enter remote mode.
`emacspeak-remote-update-keymap'
*Set this to T if you want the default remote startup hook to update your keymap. This is useful if you run remote emacspeak sessions within a local Emacspeak terminal buffer.
`emacspeak-remote-hostname'
/
`emacspeak-remote-default-port-to-connect'
Default used when prompting for a port to connect to.
`emacspeak-remote-use-telnet-to-connect'
*If set to t, then use a telnet subprocess to connect to the remote host that is running the speech server. Default is to use Emacs' built-in open-network-stream.
`emacspeak-replace-highlight-on'
Flag that says if replace highlight is on.
`emacspeak-replace-saved-personality'
Value saved before replace-highlight changed the personality.
`emacspeak-dir'
Directory where emacspeak is installed.
`dtk-default-speech-rate'
*Default speech rate at which Dectalk is started.
`emacspeak-resource-directory'
Directory where Emacspeak resource files such as pronunciation dictionaries are stored.
`emacspeak-solitaire-autoshow'
*T means rows and columns are toned as we move
`emacspeak-solitaire-autoshow'
*T means rows and columns are toned as we move
`emacspeak-use-auditory-icons'
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.
`emacspeak-sounds-table'
Association between symbols and names of sound files. When producing auditory icons, other modules should use names defined here.
`emacspeak-default-sound'
Default sound to play if requested icon not found.
`emacspeak-play-args'
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.
`emacspeak-auditory-icon-function'
*Function that plays auditory icons
`emacspeak-speak-paragraph-personality'
*Personality for using to mark start of paragraph.
`emacspeak-speak-voice-annotated-paragraphs'
Records if paragraphs in this buffer have been voice annotated.
`emacspeak-action-mode'
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.
`emacspeak-line-echo'
If t, then emacspeak echoes lines as you type. Do not set this variable by hand; Use C-e d l
`emacspeak-word-echo'
If t, then emacspeak echoes words as you type. Do not set this variable by hand; Use C-e d w
`emacspeak-character-echo'
If t, then emacspeak echoes characters as you type. Do not set this variable by hand; Use C-e d k
`emacspeak-show-point'
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
`emacspeak-audio-indentation'
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.
`emacspeak-audio-indentation-method'
*Current technique used to cue indentation See variable emacspeak-audio-indentation-methods for possible values. Automatically becomes local in any buffer where it is set.
`emacspeak-horizontal-rule'
*Regular expression to match horizontal rules in ascii text.
`emacspeak-decoration-rule'
*Regular expressions to match lines that are purely decorative ascii
`emacspeak-unspeakable-rule'
*Regular expression to match lines containing only non-alphanumeric characters. emacspeak will generate a tone instead of speaking such lines when punctuation mode is set to some.
`emacspeak-speak-last-spoken-word-position'
Records position of the last word that was spoken. Local to each buffer. Used to decide if we should spell the word rather than speak it.
`emacspeak-mail-last-alerted-time'
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.
`emacspeak-mail-alert'
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.
`emacspeak-speak-time-format-string'
%_I %M %p on %A, %B %_e, %Y
`emacspeak-read-line-by-line-quotient'
Determines behavior of emacspeak-read-line-by-line.
`emacspeak-read-by-line-by-line-tick'
Granularity of time for reading line-by-line.
`emacspeak-comint-autospeak'
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
`emacspeak-speak-messages'
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.
`emacspeak-completions-current-prefix'
Prefix typed in the minibuffer before completions was invoked
`emacspeak-clipboard-file'
File used to save Emacspeak clipboard. The emacspeak clipboard provides a convenient mechnaism for exchanging information between different emacs sessions.
`emacspeak-speedbar-disable-updates'
Non nil means speedbar does not automatically update. An automatically updating speedbar consumes resources.
`speedbar-button-personality'
personality used for speedbar buttons
`speedbar-directory-personality'
Speedbar personality for directory buttons
`speedbar-file-personality'
Personality used for file buttons
`speedbar-highlight-personality'
Personality used for for speedbar highlight.
`speedbar-tag-personality'
Personality used for speedbar tags
`emacspeak-speedbar-default-personality'
Default personality used in speedbar buffers
`emacspeak-table-column-header-personality'
personality for speaking column headers.
`emacspeak-table-row-header-personality'
Personality for speaking row headers
`emacspeak-table-keymap'
Keymap for using in table browsing mode
`emacspeak-table-speak-row-filter'
Template specifying how a row is filtered before it is spoken.
`emacspeak-table-speak-column-filter'
Template specifying how a column is filtered before it is spoken.
`emacspeak-table-select-automatic-speaking-method-prompt'
Prompt to display when selecting automatic speaking method for table elements
`emacspeak-table-speak-element'
Function to call when automatically speaking table elements.
`emacspeak-table-clipboard'
Variable to hold table copied to the clipboard.
`emacspeak-table-markup-table'
Hash table to hold mapping between major modes and mode specific table markup.
`tcl-voice-lock-keywords'
Keywords to highlight in tcl mode
`tcl-proc-list'
List of commands whose first argument defines something. This exists because some people (eg, me) use \
`tcl-typeword-list'
List of Tcl keywords denoting \
`tcl-keyword-list'
set
`emacspeak-tetris-pronunciations-defined'
Indicate if tetris pronunciations are defined
`emacspeak-tetris-shape-name-table'
Names of the tiles based on their shape
`emacspeak-tetris-tick-period'
*Set this to a convenient value so you get time to look at what is going on. Reduce it as you get better.
`emacspeak-tetris-width'
*Set this to different values for fun
`emacspeak-tetris-blank-row'
String matching a blank row of the board
`View-process-signal-line-personality'
Indicate a signal
`emacspeak-view-keys-optimized'
Records if we have already optimized Emacspeak keybindings for view mode
`vm-voice-lock-keywords'
Keywords to highlight in vm
`w3-min-img-size'
*Image size under which the alt string is replaced by `w3-dummy-img-alt-repl'. 15 is a bit aggressive, 5 pixels would be safer
`w3-dummy-img-re'
Image name regexp for which the alt string is replaced by `w3-dummy-img-alt-repl'.
`w3-dummy-img-alt-repl'
*Dummy img alt replacement
`emacspeak-widget-field-personality'
Personality for edit fields
`emacspeak-widget-button-personality'
Personality for buttons
`emacspeak-widget-documentation-personality'
Personality for documentation
`emacspeak-startup-hook'
Hook to run after starting emacspeak
`fast-voice-lock-save-personalities'
Submit via mail a bug report on fast-voice-lock.el.
`fast-voice-lock-minimum-size'
*Minimum size of a buffer for cached voiceification. Only buffers more than this can have associated Voice Lock cache files saved. If nil, means cache files are never created. If a list, each element should be a cons pair of the form (MAJOR-MODE . SIZE), where MAJOR-MODE is a symbol or t (meaning the default). For example: ((c-mode . 25600) (c++-mode . 25600) (rmail-mode . 1048576)) means that the minimum size is 25K for buffers in C or C++ modes, one megabyte for buffers in Rmail mode, and size is irrelevant otherwise.
`fast-voice-lock-save-events'
*Events under which caches will be saved. Valid events are `save-buffer', `kill-buffer' and `kill-emacs'. If concurrent editing sessions use the same associated cache file for a file's buffer, then you should add `save-buffer' to this list.
`fast-voice-lock-save-others'
*If non-nil, save Voice Lock cache files irrespective of file owner. If nil, means only buffer files known to be owned by you can have associated Voice Lock cache files saved. Ownership may be unknown for networked files.
`lazy-voice-lock-minimum-size'
*Minimum size of a buffer for demand-driven voiceification. On-demand voiceification occurs if the buffer size is greater than this value. If nil, means demand-driven voiceification is never performed. If a list, each element should be a cons pair of the form (MAJOR-MODE . SIZE), where MAJOR-MODE is a symbol or t (meaning the default). For example: ((c-mode . 25600) (c++-mode . 25600) (rmail-mode . 1048576)) means that the minimum size is 25K for buffers in C or C++ modes, one megabyte for buffers in Rmail mode, and size is irrelevant otherwise. The value of this variable is used when Lazy Lock mode is turned on.
`lazy-voice-lock-defer-driven'
*If non-nil, means voiceification should be defer-driven. If nil, means demand-driven voiceification is performed. This means when scrolling into unvoiceified areas of the buffer, those areas are immediately voiceified. Thus scrolling never presents unvoiceified areas. However, since voiceification occurs during scrolling, scrolling may be slow. If t, means defer-driven voiceification is performed. This means voiceification of those areas is deferred. Thus scrolling may present momentarily unvoiceified areas. However, since voiceification does not occur during scrolling, scrolling will be faster than demand-driven voiceification. If any other value, e.g., `eventually', means demand-driven voiceification is performed until the buffer is voiceified, then buffer voiceification becomes defer-driven. Thus scrolling never presents unvoiceified areas until the buffer is first voiceified, after which subsequent scrolling may present future buffer insertions momentarily unvoiceified. However, since voiceification does not occur during scrolling after the buffer is first voiceified, scrolling will become faster. The value of this variable is used when Lazy Lock mode is turned on.
`lazy-voice-lock-defer-time'
*Time in seconds to delay before beginning deferred voiceification. Deferred voiceification occurs if there is no input within this time. If nil, means voiceification is never deferred. However, voiceification occurs on-the-fly or during scrolling, which may be slow. If a list, it should be of the form (MAJOR-MODES . TIME), where MAJOR-MODES is a list of `major-mode' symbols for which deferred voiceification should occur. The sense of the list is negated if it begins with `not'. For example: ((c-mode c++-mode) . 0.25) means that the deferral time is 0.25s for buffers in C or C++ modes, and deferral does not occur otherwise. The value of this variable is used when Lazy Lock mode is turned on.
`lazy-voice-lock-stealth-time'
*Time in seconds to delay before beginning stealth voiceification. Stealth voiceification occurs if there is no input within this time. If nil, means stealth voiceification is never performed. The value of this variable is used when Lazy Lock mode is turned on.
`lazy-voice-lock-stealth-lines'
*Maximum size of a chunk of stealth voiceification. Each iteration of stealth voiceification can voiceify this number of lines. To speed up input response during stealth voiceification, at the cost of stealth taking longer to voiceify, you could reduce the value of this variable.
`lazy-voice-lock-stealth-nice'
*Time in seconds to pause between chunks of stealth voiceification. Each iteration of stealth voiceification is separated by this amount of time. To reduce machine load during stealth voiceification, at the cost of stealth taking longer to voiceify, you could increase the value of this variable.
`lazy-voice-lock-stealth-verbose'
*If non-nil, means stealth voiceification should show status messages.
`voice-lock-verbose'
*If non-nil, means show status messages for buffer voiceification. If a number, only buffers greater than this size have voiceification messages.
`voice-lock-maximum-decoration'
*Maximum decoration level for voiceification. If nil, use the default decoration (typically the minimum available). If t, use the maximum decoration available. If a number, use that level of decoration (or if not available the maximum). If a list, each element should be a cons pair of the form (MAJOR-MODE . LEVEL), where MAJOR-MODE is a symbol or t (meaning the default). For example: ((c-mode . t) (c++-mode . 2) (t . 1)) means use the maximum decoration available for buffers in C mode, level 2 decoration for buffers in C++ mode, and level 1 decoration otherwise.
`voice-lock-maximum-size'
*Maximum size of a buffer for buffer voiceification. Only buffers less than this can be voiceified when Voice Lock mode is turned on. If nil, means size is irrelevant. If a list, each element should be a cons pair of the form (MAJOR-MODE . SIZE), where MAJOR-MODE is a symbol or t (meaning the default). For example: ((c-mode . 256000) (c++-mode . 256000) (rmail-mode . 1048576)) means that the maximum size is 250K for buffers in C or C++ modes, one megabyte for buffers in Rmail mode, and size is irrelevant otherwise.
`voice-lock-keywords'
*A list of the keywords to highlight. Each element should be of the form: MATCHER (MATCHER . MATCH) (MATCHER . VOICENAME) (MATCHER . HIGHLIGHT) (MATCHER HIGHLIGHT ...) (eval . FORM) where HIGHLIGHT should be either MATCH-HIGHLIGHT or MATCH-ANCHORED. FORM is an expression, whose value should be a keyword element, evaluated when the keyword is (first) used in a buffer. This feature can be used to provide a keyword that can only be generated when Voice Lock mode is actually turned on. For highlighting single items, typically only MATCH-HIGHLIGHT is required. However, if an item or (typically) items are to be highlighted following the instance of another item (the anchor) then MATCH-ANCHORED may be required. MATCH-HIGHLIGHT should be of the form: (MATCH VOICENAME OVERRIDE LAXMATCH) Where MATCHER can be either the regexp to search for, or the function name to call to make the search (called with one argument, the limit of the search). MATCH is the subexpression of MATCHER to be highlighted. VOICENAME is an expression whose value is the personality name to use. VOICENAME's default attributes may be defined in `voice-lock-personality-attributes'. OVERRIDE and LAXMATCH are flags. If OVERRIDE is t, existing voiceification may be overwritten. If `keep', only parts not already voiceified are highlighted. If `prepend' or `append', existing voiceification is merged with the new, in which the new or existing voiceification, respectively, takes precedence. If LAXMATCH is non-nil, no error is signaled if there is no MATCH in MATCHER. For example, an element of the form highlights (if not already highlighted): \
`voice-lock-defaults'
If set by a major mode, should be the defaults for Voice Lock mode. The value should be like the `cdr' of an item in `voice-lock-defaults-alist'.
`voice-lock-keywords-only'
*Non-nil means Voice Lock should not voiceify comments or strings. This is normally set via `voice-lock-defaults'.
`voice-lock-keywords-case-fold-search'
*Non-nil means the patterns in `voice-lock-keywords' are case-insensitive. This is normally set via `voice-lock-defaults'.
`voice-lock-syntax-table'
Non-nil means use this syntax table for voiceifying. If this is nil, the major mode's syntax table is used. This is normally set via `voice-lock-defaults'.
`voice-lock-beginning-of-syntax-function'
*Non-nil means use this function to move back outside of a syntactic block. When called with no args it should leave point at the beginning of any enclosing syntactic block. If this is nil, the beginning of the buffer is used (in the worst case). This is normally set via `voice-lock-defaults'.
`voice-lock-mark-block-function'
*Non-nil means use this function to mark a block of text. When called with no args it should leave point at the beginning of any enclosing textual block and mark at the end. This is normally set via `voice-lock-defaults'.
`voice-lock-comment-start-regexp'
*Regexp to match the start of a comment. This need not discriminate between genuine comments and quoted comment characters or comment characters within strings. If nil, `comment-start-skip' is used instead; see that variable for more info. This is normally set via `voice-lock-defaults'.
`voice-lock-voiceify-buffer-function'
Function to use for voiceifying the buffer. This is normally set via `voice-lock-defaults'.
`voice-lock-unvoiceify-buffer-function'
Function to use for unvoiceifying the buffer. This is used when turning off Voice Lock mode. This is normally set via `voice-lock-defaults'.
`voice-lock-voiceify-region-function'
Function to use for voiceifying a region. It should take two args, the beginning and end of the region, and an optional third arg VERBOSE. If non-nil, the function should print status messages. This is normally set via `voice-lock-defaults'.
`voice-lock-unvoiceify-region-function'
Function to use for unvoiceifying a region. It should take two args, the beginning and end of the region. This is normally set via `voice-lock-defaults'.
`voice-lock-inhibit-thing-lock'
List of Voice Lock mode related modes that should not be turned on. Currently, valid mode names as `fast-voice-lock-mode' and `lazy-voice-lock-mode'. This is normally set via `voice-lock-defaults'.
`voice-lock-mode-hook'
Function or functions to run on entry to Voice Lock mode.
`voice-lock-global-modes'
*Modes for which Voice Lock mode is automagically turned on. Global Voice Lock mode is controlled by the `global-voice-lock-mode' command. If nil, means no modes have Voice Lock mode automatically turned on. If t, all modes that support Voice Lock mode have it automatically turned on. If a list, it should be a list of `major-mode' symbol names for which Voice Lock mode should be automatically turned on. The sense of the list is negated if it begins with `not'. For example: (c-mode c++-mode) means that Voice Lock mode is turned on for buffers in C and C++ modes only.
`voice-lock-support-mode'
*Support mode for Voice Lock mode. Support modes speed up Voice Lock mode by being choosy about when voiceification occurs. Known support modes are Fast Lock mode (symbol `fast-voice-lock-mode') and Lazy Lock mode (symbol `lazy-voice-lock-mode'). See those modes for more info. If nil, means support for Voice Lock mode is never performed. If a symbol, use that support mode. If a list, each element should be of the form (MAJOR-MODE . SUPPORT-MODE), where MAJOR-MODE is a symbol or t (meaning the default). For example: ((c-mode . fast-voice-lock-mode) (c++-mode . fast-voice-lock-mode) (t . lazy-voice-lock-mode)) means that Fast Lock mode is used to support Voice Lock mode for buffers in C or C++ modes, and Lazy Lock mode is used to support Voice Lock mode otherwise. The value of this variable is used when Voice Lock mode is turned on.
`voice-lock-display-type'
A symbol indicating the display Emacs is running under. The symbol should be one of `color', `grayscale' or `mono'. If Emacs guesses this display attribute wrongly, either set this variable in your `~/.emacs' or set the resource `Emacs.displayType' in your `~/.Xdefaults'. See also `voice-lock-background-mode' and `voice-lock-personality-attributes'.
`voice-lock-background-mode'
A symbol indicating the Emacs background brightness. The symbol should be one of `light' or `dark'. If Emacs guesses this frame attribute wrongly, either set this variable in your `~/.emacs' or set the resource `Emacs.backgroundMode' in your `~/.Xdefaults'. See also `voice-lock-display-type' and `voice-lock-personality-attributes'.
`voice-lock-personality-attributes'
A list of default attributes to use for personality attributes. Each element of the list should be of the form (VOICE FOREGROUND BACKGROUND BOLD-P ITALIC-P UNDERLINE-P) where VOICE should be one of the personality symbols `voice-lock-comment-personality', `voice-lock-string-personality', `voice-lock-keyword-personality', `voice-lock-type-personality', `voice-lock-function-name-personality', `voice-lock-variable-name-personality', and `voice-lock-reference-personality'. A form for each of these personality symbols should be provided in the list, but other personality symbols and attributes may be given and used in highlighting. See `voice-lock-keywords'. Subsequent element items should be the attributes for the corresponding Voice Lock mode personalities. Attributes FOREGROUND and BACKGROUND should be strings \(default if nil), while BOLD-P, ITALIC-P, and UNDERLINE-P should specify the corresponding personality attributes (yes if non-nil). Emacs uses default attributes based on display type and background brightness. See variables `voice-lock-display-type' and `voice-lock-background-mode'. Resources can be used to over-ride these personality attributes. For example, the resource `Emacs.voice-lock-comment-personality.attributeUnderline' can be used to specify the UNDERLINE-P attribute for personality `voice-lock-comment-personality'.
`lisp-voice-lock-keywords'
Default expressions to highlight in Lisp modes.
`objc-voice-lock-extra-types'
*List of extra types to voiceify in Objective-C mode. Each list item should be a regexp not containing word-delimiters. For example, a value of (\
`java-voice-lock-extra-types'
*List of extra types to voiceify in Java mode. Each list item should be a regexp not containing word-delimiters. For example, a value of (\
`objc-voice-lock-keywords'
Default expressions to highlight in Objective-C mode. See also `objc-voice-lock-extra-types'.
`java-voice-lock-keywords'
Default expressions to highlight in Java mode. See also `java-voice-lock-extra-types'.
`c-voice-lock-keywords'
Default expressions to highlight in C mode.
`c++-voice-lock-keywords'
Default expressions to highlight in C++ mode.
`voice-lock-mode-specific-keywords-table'
Association between major mode names and the voice lock keywords to be used in that mode.
`compilation-mode-voice-lock-keywords'
Additional expressions to highlight in Compilation mode.
`help-voice-lock-keywords'
Voice lock keywords for help mode.
`voice-lock-comment-personality'
Personality to use for comments.
`voice-lock-underline-personality'
Personality to use for underline text.
`voice-lock-bold-personality'
Personality to use for bold text.
`voice-lock-italic-personality'
Personality to use for italic text.
`voice-lock-doc-string-personality'
Personality to use for documentation strings.
`voice-lock-string-personality'
Personality to use for string constants.
`voice-lock-function-name-personality'
Personality to use for function names.
`voice-lock-keyword-personality'
Personality to use for keywords.
`voice-lock-variable-name-personality'
Personality to use for keywords.
`voice-lock-type-personality'
Personality to use for data types.
`voice-lock-reference-personality'
Personality to use for comments.

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.

Acknowledgements

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

d

  • 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-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 [
  • C-e [down]
  • C-e [space]
  • C-e [up]
  • C-e ]
  • C-e A
  • C-e a
  • C-e B
  • C-e b
  • C-e C
  • C-e c
  • C-e C-@
  • C-e C-a
  • C-e C-b
  • C-e C-d
  • C-e C-h
  • C-e C-i
  • C-e C-j
  • 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-t
  • C-e C-w
  • C-e d [space]
  • C-e d a
  • C-e d b
  • C-e d C
  • 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 j
  • C-e k
  • C-e l
  • C-e L
  • C-e m
  • C-e M
  • C-e M-
  • C-e M-\C-@
  • C-e M-a
  • C-e M-d
  • C-e M-m
  • C-e M-n
  • C-e M-p, C-e M-p
  • C-e M-r
  • C-e M-t
  • C-e M-v
  • C-e n
  • 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 v
  • 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

    b

  • back-to-indentation
  • backward-sexp
  • backward-word
  • beginning-of-buffer
  • c

  • c-next-statement
  • c-previous-statement
  • compilation-next-file
  • compilation-previous-file
  • compile
  • compile-goto-error
  • d

  • dtk-add-cleanup-pattern
  • dtk-emergency-restart
  • dtk-pause
  • dtk-reset-state
  • dtk-resume
  • dtk-select-server
  • 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-allcaps-beep
  • 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

  • emacspeak-appt-repeat-announcement
  • emacspeak-audio-annotate-paragraphs
  • emacspeak-blink-matching-open
  • emacspeak-c-speak-semantics
  • emacspeak-compilation-speak-error, emacspeak-compilation-speak-error
  • emacspeak-describe-emacspeak
  • emacspeak-dial-dtk
  • emacspeak-dired-label-fields
  • emacspeak-dired-speak-file-access-time
  • emacspeak-dired-speak-file-modification-time
  • emacspeak-dired-speak-file-permissions
  • emacspeak-dired-speak-file-size
  • emacspeak-dired-speak-header-line
  • emacspeak-dired-speak-symlink-target
  • 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-ediff-speak-current-difference, emacspeak-ediff-speak-current-difference
  • 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-paste-register
  • 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-remote-term
  • 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-gomoku-display-statistics
  • emacspeak-gomoku-show-current-column
  • emacspeak-gomoku-show-current-negative-diagonal
  • emacspeak-gomoku-show-current-positive-diagonal
  • emacspeak-gomoku-show-current-row
  • emacspeak-gomoku-speak-emacs-previous-move
  • emacspeak-gomoku-speak-humans-previous-move
  • emacspeak-gomoku-speak-number-of-moves
  • emacspeak-gomoku-speak-square
  • emacspeak-hide-or-expose-all-blocks
  • emacspeak-hide-or-expose-block
  • emacspeak-hide-speak-block-sans-prefix
  • emacspeak-imenu-goto-next-index-position
  • emacspeak-imenu-goto-previous-index-position
  • emacspeak-imenu-speak-this-section
  • emacspeak-keymap-choose-new-emacspeak-prefix
  • emacspeak-kill-buffer-quietly
  • emacspeak-kotl-setup-keys
  • emacspeak-kotl-speak-cell
  • emacspeak-learn-mode
  • emacspeak-list-buffers-next-line
  • emacspeak-list-buffers-previous-line
  • emacspeak-list-buffers-speak-buffer-line
  • emacspeak-list-buffers-speak-buffer-name
  • emacspeak-man-browse-man-page
  • emacspeak-outline-speak-backward-heading
  • emacspeak-outline-speak-forward-heading
  • emacspeak-outline-speak-heading
  • emacspeak-outline-speak-next-heading
  • emacspeak-outline-speak-previous-heading
  • emacspeak-outline-speak-this-heading
  • 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-py-next-block
  • emacspeak-py-previous-block
  • emacspeak-read-next-line
  • emacspeak-read-next-word
  • emacspeak-read-previous-line
  • emacspeak-read-previous-word
  • emacspeak-remote-connect-to-server
  • emacspeak-remote-quick-connect-to-server
  • 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-solitaire-show-column
  • emacspeak-solitaire-show-row
  • emacspeak-solitaire-speak-coordinates
  • emacspeak-speak-browse-buffer
  • emacspeak-speak-buffer
  • emacspeak-speak-buffer-filename
  • 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-front-of-buffer
  • 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-rest-of-buffer
  • emacspeak-speak-sentence
  • emacspeak-speak-set-display-table
  • emacspeak-speak-sexp
  • emacspeak-speak-sexp-interactively
  • emacspeak-speak-skim-buffer
  • emacspeak-speak-skim-next-paragraph
  • emacspeak-speak-skim-paragraph
  • emacspeak-speak-spaces-at-point
  • emacspeak-speak-spell-current-word
  • emacspeak-speak-time
  • emacspeak-speak-version
  • emacspeak-speak-voice-annotate-paragraphs
  • emacspeak-speak-window-information
  • emacspeak-speak-word
  • emacspeak-speak-word-interactively
  • emacspeak-speedbar-click
  • emacspeak-speedbar-goto-speedbar
  • emacspeak-submit-bug
  • emacspeak-switch-to-previous-buffer
  • emacspeak-table-copy-to-clipboard
  • emacspeak-table-display-table-in-region
  • emacspeak-table-find-file
  • emacspeak-table-get-entry-with-headers
  • emacspeak-table-goto
  • emacspeak-table-goto-bottom
  • emacspeak-table-goto-left
  • emacspeak-table-goto-right
  • emacspeak-table-goto-top
  • emacspeak-table-next-column
  • emacspeak-table-next-row
  • emacspeak-table-paste-from-clipboard
  • emacspeak-table-previous-column
  • emacspeak-table-previous-row
  • emacspeak-table-search
  • emacspeak-table-search-headers
  • emacspeak-table-select-automatic-speaking-method
  • emacspeak-table-speak-both-headers-and-element
  • emacspeak-table-speak-column-filtered
  • emacspeak-table-speak-column-header-and-element
  • emacspeak-table-speak-coordinates
  • emacspeak-table-speak-current-element
  • emacspeak-table-speak-row-filtered
  • emacspeak-table-speak-row-header-and-element
  • emacspeak-tabulate-region
  • emacspeak-tapestry-describe-tapestry
  • emacspeak-tetris-goto-bottom-row
  • emacspeak-tetris-goto-top-row
  • emacspeak-tetris-speak-coordinates
  • emacspeak-tetris-speak-current-shape
  • emacspeak-tetris-speak-current-shape-and-coordinates
  • emacspeak-tetris-speak-next-shape
  • emacspeak-tetris-speak-row
  • emacspeak-tetris-speak-row-number
  • emacspeak-tetris-speak-score
  • emacspeak-tetris-speak-x-coordinate
  • 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-line-to-top
  • 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-widget-browse-widget-interactively
  • emacspeak-widget-summarize-widget-under-point
  • emacspeak-zap-dtk
  • end-of-buffer
  • f

  • fast-voice-lock-mode
  • fast-voice-lock-read-cache
  • fast-voice-lock-save-cache
  • forward-sexp
  • forward-word
  • g

  • global-voice-lock-mode
  • gnus-summary-catchup-quietly-and-exit
  • gnus-summary-hide-all-headers
  • gnus-summary-show-some-headers
  • gomoku-move-left
  • gomoku-move-right
  • l

  • lazy-voice-lock-mode
  • lazy-voice-lock-submit-bug-report
  • m

  • M-x term-line-mode
  • n

  • next-completion
  • next-error
  • next-line
  • p

  • previous-completion
  • previous-error
  • previous-line
  • t

  • tetris-move-left-edge
  • tetris-move-right-edge
  • tetris-move-to-x-pos
  • v

  • voice-lock-mode
  • voice-lock-voiceify-block
  • voice-lock-voiceify-buffer
  • Variable Index

    c

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

  • dtk-allcaps-beep
  • dtk-capitalize
  • dtk-character-scale
  • dtk-character-to-speech-table
  • dtk-chunk-separator-syntax
  • dtk-clean-text-function
  • dtk-cleanup-patterns
  • dtk-css-code-tables
  • 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-paused
  • dtk-program
  • dtk-quiet
  • dtk-resume-should-toggle
  • dtk-speak-nonprinting-chars
  • dtk-speak-process-connection-type
  • dtk-speak-server-initialized
  • dtk-speak-skim-scale
  • dtk-speak-treat-embedded-punctuations-specially
  • 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-reset-code
  • dtk-voice-table
  • e

  • emacspeak-action-mode
  • emacspeak-advice-advice-princ
  • emacspeak-ange-ftp-last-percent
  • emacspeak-audio-indentation
  • emacspeak-audio-indentation-method
  • emacspeak-auditory-icon-function
  • emacspeak-backward-delete-char-speak-current-char
  • emacspeak-backward-delete-char-speak-deleted-char
  • emacspeak-character-echo
  • emacspeak-clipboard-file
  • emacspeak-comint-autospeak
  • emacspeak-completions-current-prefix
  • emacspeak-decoration-rule
  • emacspeak-default-sound
  • emacspeak-delete-char-speak-current-char
  • emacspeak-delete-char-speak-deleted-char
  • 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-enriched-font-faces-to-voiceify
  • 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-remote-hosts-cache
  • emacspeak-eterm-remote-hosts-table
  • emacspeak-eterm-review-p
  • emacspeak-eterm-row
  • emacspeak-eterm-window-table
  • emacspeak-finder-inf-file
  • emacspeak-finder-postamble
  • emacspeak-finder-preamble
  • emacspeak-functions-that-bypass-function-cell
  • emacspeak-gnus-large-article
  • emacspeak-hidden-header-line-personality
  • emacspeak-hide-prefix-not-token-table
  • emacspeak-horizontal-rule
  • emacspeak-hyperbole-phone-regexp
  • emacspeak-imenu-flattened-index-alist
  • 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-current-buffer
  • emacspeak-pronounce-dictionaries
  • emacspeak-pronounce-dictionaries-file
  • emacspeak-pronounce-dictionaries-loaded
  • emacspeak-pronounce-help
  • emacspeak-pronounce-pronunciation-personality
  • emacspeak-pronounce-pronunciation-table
  • emacspeak-pronounce-yank-word-point
  • emacspeak-read-by-line-by-line-tick
  • emacspeak-read-line-by-line-quotient
  • emacspeak-realaudio-history
  • emacspeak-realaudio-last-url
  • emacspeak-realaudio-player
  • emacspeak-realaudio-process
  • emacspeak-realaudio-shortcuts-directory
  • emacspeak-remote-default-port-to-connect
  • emacspeak-remote-hooks
  • emacspeak-remote-hostname
  • emacspeak-remote-update-keymap
  • emacspeak-remote-use-telnet-to-connect
  • emacspeak-replace-highlight-on
  • emacspeak-replace-saved-personality
  • emacspeak-resource-directory, emacspeak-resource-directory
  • emacspeak-show-point
  • emacspeak-solitaire-autoshow, emacspeak-solitaire-autoshow
  • emacspeak-sounds-table
  • emacspeak-speak-last-spoken-word-position
  • emacspeak-speak-messages
  • emacspeak-speak-messages-should-pause-ongoing-speech
  • emacspeak-speak-paragraph-personality
  • emacspeak-speak-time-format-string
  • emacspeak-speak-voice-annotated-paragraphs
  • emacspeak-speedbar-default-personality
  • emacspeak-speedbar-disable-updates
  • 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-tetris-blank-row
  • emacspeak-tetris-pronunciations-defined
  • emacspeak-tetris-shape-name-table
  • emacspeak-tetris-tick-period
  • emacspeak-tetris-width
  • emacspeak-unspeakable-rule
  • emacspeak-use-auditory-icons
  • emacspeak-view-keys-optimized
  • emacspeak-widget-button-personality
  • emacspeak-widget-documentation-personality
  • emacspeak-widget-field-personality
  • emacspeak-word-echo
  • eterm-char-mode
  • eterm-current-personality
  • eterm-line-mode
  • f

  • fast-voice-lock-minimum-size
  • fast-voice-lock-save-events
  • fast-voice-lock-save-others
  • fast-voice-lock-save-personalities
  • g

  • gnus-ignored-most-headers
  • h

  • help-voice-lock-keywords
  • i

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

  • java-voice-lock-extra-types
  • java-voice-lock-keywords
  • l

  • lazy-voice-lock-defer-driven
  • lazy-voice-lock-defer-time
  • lazy-voice-lock-minimum-size
  • lazy-voice-lock-stealth-lines
  • lazy-voice-lock-stealth-nice
  • lazy-voice-lock-stealth-time
  • lazy-voice-lock-stealth-verbose
  • lisp-voice-lock-keywords
  • m

  • Man-voice-lock-keywords
  • o

  • objc-voice-lock-extra-types
  • objc-voice-lock-keywords
  • s

  • speedbar-button-personality
  • speedbar-directory-personality
  • speedbar-file-personality
  • speedbar-highlight-personality
  • speedbar-tag-personality
  • t

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

  • View-process-signal-line-personality
  • vm-voice-lock-keywords
  • voice-lock-background-mode
  • voice-lock-beginning-of-syntax-function
  • voice-lock-bold-personality
  • voice-lock-comment-personality
  • voice-lock-comment-start-regexp
  • voice-lock-defaults
  • voice-lock-display-type
  • voice-lock-doc-string-personality
  • voice-lock-function-name-personality
  • voice-lock-global-modes
  • voice-lock-inhibit-thing-lock
  • voice-lock-italic-personality
  • voice-lock-keyword-personality
  • voice-lock-keywords
  • voice-lock-keywords-case-fold-search
  • voice-lock-keywords-only
  • voice-lock-mark-block-function
  • voice-lock-maximum-decoration
  • voice-lock-maximum-size
  • voice-lock-mode-hook
  • voice-lock-mode-specific-keywords-table
  • voice-lock-personality-attributes
  • voice-lock-reference-personality
  • voice-lock-string-personality
  • voice-lock-support-mode
  • voice-lock-syntax-table
  • voice-lock-type-personality
  • voice-lock-underline-personality
  • voice-lock-unvoiceify-buffer-function
  • voice-lock-unvoiceify-region-function
  • voice-lock-variable-name-personality
  • voice-lock-verbose
  • voice-lock-voiceify-buffer-function
  • voice-lock-voiceify-region-function
  • w

  • w3-dummy-img-alt-repl
  • w3-dummy-img-re
  • w3-min-img-size

  • Footnotes

    (1)

    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.

    (2)

    Control e is mnemonic for Emacspeak.

    (3)

    d is mnemonic for Dectalk.


    This document was generated on 1 September 1998 using the texi2html translator version 1.51.