[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Trying to use ViaVoice




Just a couple of warnings regarding this. Whenever using somebody's
.emacs file, its important to first read it and make sure you
understand what it does and confirm that it is necessary. I'd actually
go one step further and say you should see if what is being done in
the .emacs file can also be done using customize and if it can, use
customize instead. 

One easy way to get information is to read the documentation on
variables to find out what they do. This will also tell you if you can
configure it using customize and what emacs expects the symbol to be.
The key binding to do this is C-h v for variables and C-h f for
functions. 

To emphasise this, I'll just put some comments 'in-line' below. 

Kalyan Mukherjea writes:
 > Here is the section of Robert J. Chassells' .emacs filewhich deals
 > with emacspeak:
 > 
 >      ;;; For Emacspeak specifically
 >      
 >      ;; Make sure all Emacspeak code is in the load-path.
 >      ;; I commented this out since the load-path since is
 >      ;;     specific to my set up.
 >      ;;  The rest of this ~/.emacs file should work with
 >      ;;     all instances of Emacspeak.
 >      ;;  Depending on how you set up Emacspeak, you may not need to
 >      ;;    configure your load-path manually at all.
 >      ;; (setq load-path (cons "/usr/local/src/emacspeak/lisp/" load-path))

While there is nothing 'wrong' with the above line for setting the
load path, I would recommend using the add-to-list function. This is
for two reasons. 1. add-to-list will check the value doesn't already
exist. This prevents duplicate entries and the danger of creating an
unnecessarily long load path. 2. I think it is a cleaner and easier to
read/follow command. e.g.

(add-to-list 'load-path "/usr/local/share/emacs/site-lisp")



>      
 >      ;; Turn on global-font-lock for the voice lock engine
 >      (load "font-lock")
 >      (global-font-lock-mode 1)
 >      (setq font-lock-global-modes t)
 >      (setq global-voice-lock-mode t)
 
>From emacs 21 onwards (and possibly 20, I cannot remember), you can
set global font lock mode from the options menu and save it or via
customize. I also don't believe you need to set font-lock-global-modes
unless you have specific modes you want or do not want font locked. I
also think the default value is t, so that line doesn't actually do
anything.

The global-voice-lock-mode is obsolete. This is a hang-over from the
older versions of emacspeak prior to emacs 21 which used its own voice
locking infrastructure. Emacspeak was changed some time ago to take
advantage of emacs' font lock mode. Therefore all this line now does
is create a new symbol and binding which are never referenced.


      
 >      ;; Speak time in a reasonable format: `C-e t'
 >      (setq emacspeak-speak-time-format-string
 >        "The time is %_H hours %M minutes %Z on %A %_e %B %Y")
 
Again, this can be done via customize within the emacspeak group. One
real advantage of using customize over putting things directly into
.emacs is that your protected from shooting yourself in the foot by
making a simple typo which could prevent emacs from parsing your
.emacs file. 

      
 >      ;; Set the audio theme
 >      ;; /usr/local/src/emacspeak/sounds/chimes-mono/
 >      ;; ( alternatively /usr/local/src/emacspeak/sounds/chimes-stereo/ )
 >      (emacspeak-sounds-define-theme
 >       (expand-file-name "chimes-mono/" emacspeak-sounds-directory)
 >       ".wav")
 
This could be done via customize as well.

      
 >      ;; Set punctuation mode to MODE `\'some, 'all, or 'none
 >      ;; For individual buffers the keybinding is: `C-e d p'
 >      ;; The expression in this ~/.emacs file sets the mode globally.
 >      ;;     In general, I prefer 'none   but then you will not hear
 >      ;;     braces and brackets spoken.  To listen to this ~/.emacs
 >      ;;     file, you need to set the mode to 'all.
 >      ;;     That is best done using the `C-e d p' keybinding.
 >      ;; In this sample, I have set the mode to 'none.
 >      (dtk-set-punctuations 'none t)
 
While I don't ahve any issue with putting a line such as the above in
your .emacs, it should be noted you can set the global default
interactively by issuing the C-e d command with a prefix argument i.e.
C-u C-e d

Please note that my comments are not a criticism of Robert or anybody
else. The points I'm attempting to make are 

1. Beware of using .emacs configurations yo don't understand. Emacs is
   a moving target and settings which were valid in emacs version X
   may not be valid in the version you are running. Incorrect .emacs
   lines can generate some very subtle bugs that are difficult to
   track down. These subtle bugs are near impossible to find if you
   don't understand the elisp code you have in your .emacs

2. Most users are far better off using customize to configure emacs
   and emacspeak. Customize provides a simple interface that does not
   require any knowledge about emacs lisp and its syntax.

3. I've been noticing some inconsistencies between configurations
   which are done via customize and ones which are done by hand in
   your .emacs file. For example, I did have the default speech rate
   for outlook defined in my .emacs file using a setq. However, I was
   noticing some inconsistencies when re-starting the speech server.
   sometimes my setting worked and sometimes the default setting
   within customize worked. Once I set the value using customize,
   everything is now consistent and working fine.

4. If you upgrade to a new version of emacs or emacspeak, make sure
   you read the NEWS and PROBLEMS files. This will tell you what has
   changed in the new version and often provides key information when
   trying to track down problems.

Finally, just FYI, I'm currently running a CVS version of emacs 22.
I've only been doing it for a day or two and it seems to work really
well with emacspeak. The only bit I'm missing at the moment that I'm
aware of is w3. Note however, I'm not recommending emacs 22 to anyone
unless they like to play at the bleeding edge and are prepared to hunt
down problems themselves. If your just a user who wants things to
work, stick to the official releases. 

Tim

-----------------------------------------------------------------------------
To unsubscribe from the emacspeak list or change your address on the
emacspeak list send mail to "emacspeak-request@cs.vassar.edu" with a
subject of "unsubscribe" or "help"


Emacspeak Files | Subscribe | Unsubscribe | Search