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

Re: Question about the the "-q" option used when launchingemacs+emacspeak

>>>>> "Mario" == Mario Lang <mlang@delysid.org> writes:

 Mario> Nath <nath.ml@free.fr> writes:
 >> Recently I have discovered the M-x customize option and
 >> particularly the emacspeak customisation facilities obtained then
 >> pressing C-e C but when I change an option and want to save my
 >> changes for further sessions it is impossible. So I tied to
 >> understind why it is impossible and find that is because emacs is
 >> launched with the "-q" option in the emacspeak script : this
 >> option tells emacs not to load the init files, and I read that
 >> when this option is used you can not save changes made in the
 >> customisation process.

 Mario> Correct.

 >> So I would like to supprim the "-q" option in the emacspeak
 >> script.  but I hesitate because I don't know why this option is
 >> used in the emacspeak script.

 Mario> It prevents the loading of ~/.emacs, because that would get
 Mario> loaded before any additional -l options.  So to guarantee that
 Mario> emacspeak-setup is loaded before everything else, -q has to be
 Mario> used.  If you look at the emacspeak launcher script, you'll
 Mario> notice that ~/.emacs is added to the emacs startup command, as
 Mario> "-l ~/.emacs", but *after* the -l for emacspeak-setup

 >> Is it necessary to use this option when using Emacspeak ?

 Mario> It is necessary for the launcher script.

 >> or can I start emacs+emacspeak without this option ? Is it perhaps
 >> dangerous ?
 Mario> You can achieve the same thing by loading emacspeak-setup from
 Mario> your .emacs, at the very beginning of the file.

Yes, that is correct. However, I'm finding that many linux
distributions now install local site files with default settings, plus
there are many emacs packages available for most distributions now
which put configuration and loading scripts in this local site
area. For example, debian comes with /etc/emacs/site-lisp.d and
/etc/emacs21/site-lisp.d - Mandrake comes with /etc/emacs/site-lisp.d
and I think redhat does as well. 

The problem here is that this means additional packages installed via
the distribution package manager (rpm, apt-get etc) will be loaded
before your local .emacs file and therefore before your emacs startup
script. What I've done to get around this is created a global
emacspeak site loading file. Naturally, this is no good if you share
your computer with other users who run emacs and don't want emacspeak,
but these days most of us are running linux as a single user
workstation, so it shouldn't matter. Below is what I put in
/etc/emacs/site-lisp.d. I call it 01emacspeak.el to ensure emacspeak
is loaded before any other add-on packages. Note that I do some
checking to make sure emacspeak is not already running and that we are
running interactively. Without the interactive check, any batch
compilations which don't exclude local site files will load emacspeak
and that will just slow things down and provide no real benefit.


(add-to-list 'load-path "/usr/local/share/emacs/site-lisp/emacspeak/lisp")
;; add my customizations to the startup-hook
(add-hook 'emacspeak-startup-hook
	  (lambda ()
	    (setq dtk-default-speech-rate 410
			  outloud-default-speech-rate 90
			  emacspeak-aumix-multichannel-capable-p t
			  emacspeak-vm-use-raman-settings nil)
	    (dtk-set-rate outloud-default-speech-rate 1)))

;; Only start it if its not already loaded and we are running
;; interactively 
(if (and (not (featurep 'emacspeak))
		 (not noninteractive))

;; Only do this if we are running emacspeak
(when (featurep 'emacspeak)
  (emacspeak-toggle-auditory-icons t)
  (when (emacspeak-sounds-theme-p "cartoon-22k-mono/")
    (emacspeak-sounds-select-theme "cartoon-22k-mono/"))

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