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

[Emacspeak] [bug] partial crash with no sox on mac



Description of Problem: 

Emacspeak becomes "partially functional" when launched without sox 
installed on MacOS.  Happens with both mac and swiftmac servers. 

The core issue is when hitting error lines in the emacspeak-sounds.el 
file, it partially breaks emacspeak in such a way that certain things like
explicit reads still work, but most things (changing lines, all the sort of 
basic stuff), stop working.  Confirmed with logging, isn't just a server 
failure, emacspeak isn't sending it.

This is BTW, the same exact behavior John C had. 

I traced this issue (trace below) and found that it is due to a comparison 
of two nils (play-program and pactl) which runs an error line and that 
is when emacspeak becomes only partially functional. 

The fix is easy enough, just make sure that it doesn't emit that error when both 
are nil, as both being nil doesn't mean they match in a useful way. 

Note: the exact comparison that causes this issue is in the file 3 times, but I 
only encountered it at the place mentioned in the trace below. 

Below is my emacs information and a trace. 

Emacs  : GNU Emacs 29.2 (build 1, aarch64-apple-darwin23.2.0, NS appkit-2487.30 Version 14.2.1 (Build 23C71))
of 2024-01-19
Package: Emacspeak: 59.0,   VirtualDoga59c65c

current state:
==============
(setq
window-system 'ns
emacs-version "29.2"
system-type 'darwin
emacspeak-version #("59.0,   VirtualDoga59c65c" 8 18 (face bold) 18 25 (personality acss-s4-r6))
dtk-program "swiftmac"
dtk-speech-rate 225
dtk-character-scale 1.1
dtk-split-caps t
dtk-punctuation-mode 'all
emacspeak-word-echo t
emacspeak-character-echo t
emacspeak-auditory-icon-function 'emacspeak-serve-auditory-icon
)

Below is the error I get when I run with --debug-init

Debugger entered--Lisp error: (error "/Users/rmelton/.emacs.d/emacspeak/sounds/pan-chime...")
 signal(error ("/Users/rmelton/.emacs.d/emacspeak/sounds/pan-chime..."))
 error("%s: Only ogg-3d or ogg-chimes with Pulse Advanced" "/Users/rmelton/.emacs.d/emacspeak/sounds/pan-chime...")
 emacspeak-sounds-select-theme("/Users/rmelton/.emacs.d/emacspeak/sounds/pan-chime...")
 emacspeak()
 byte-code("\305\10!\306\1\11\307\310$\203\20\0\11\202\23\0\211\11B\262\1\21\311\312!\210\n\204*\0\313\211\33\34\314\315!\210\316 *\210\317\320!\207" [load-file-name load-path noninteractive load-source-file-function file-name-handler-alist file-name-directory cl-member :test string= require emacspeak-preamble nil load "emacspeak-loaddefs" emacspeak provide emacspeak-setup] 6)
 require(emacspeak-setup)
 (progn (require 'emacspeak-setup) (dtk-set-rate 250 t) t)
 (condition-case err (progn (require 'emacspeak-setup) (dtk-set-rate 250 t) t) ((debug error) (funcall use-package--warning29 :config err)))
 (if (not (require 'emacspeak nil t)) (display-warning 'use-package (format "Cannot load %s" 'emacspeak) :error) (condition-case err (progn (require 'emacspeak-setup) (dtk-set-rate 250 t) t) ((debug error) (funcall use-package--warning29 :config err))))
 (progn (condition-case err (progn (setq mac-ignore-accessibility 't) (setq load-path (cons "~/.emacs.d/emacspeak/lisp" load-path)) (setq emacspeak-directory "~/.emacs.d/emacspeak") (setq dtk-program "swiftmac") (setq dtk-allcaps-prefix "  ") (setq dtk-caps-prefix "") (setq ems--speak-max-line 3000) (setq emacspeak-play-emacspeak-startup-icon nil) (setenv "SWIFTMAC_TONE_VOLUME" "0.1") (setenv "SWIFTMAC_SOUND_VOLUME" "0.1") (setenv "SWIFTMAC_VOICE_VOLUME" "1.0")) ((debug error) (funcall use-package--warning29 :init err))) (if (not (require 'emacspeak nil t)) (display-warning 'use-package (format "Cannot load %s" 'emacspeak) :error) (condition-case err (progn (require 'emacspeak-setup) (dtk-set-rate 250 t) t) ((debug error) (funcall use-package--warning29 :config err)))))
 (condition-case err (progn (condition-case err (progn (setq mac-ignore-accessibility 't) (setq load-path (cons "~/.emacs.d/emacspeak/lisp" load-path)) (setq emacspeak-directory "~/.emacs.d/emacspeak") (setq dtk-program "swiftmac") (setq dtk-allcaps-prefix "  ") (setq dtk-caps-prefix "") (setq ems--speak-max-line 3000) (setq emacspeak-play-emacspeak-startup-icon nil) (setenv "SWIFTMAC_TONE_VOLUME" "0.1") (setenv "SWIFTMAC_SOUND_VOLUME" "0.1") (setenv "SWIFTMAC_VOICE_VOLUME" "1.0")) ((debug error) (funcall use-package--warning29 :init err))) (if (not (require 'emacspeak nil t)) (display-warning 'use-package (format "Cannot load %s" 'emacspeak) :error) (condition-case err (progn (require 'emacspeak-setup) (dtk-set-rate 250 t) t) ((debug error) (funcall use-package--warning29 :config err))))) ((debug error) (funcall use-package--warning29 :catch err)))
 eval-buffer(#<buffer  *load*> nil "/Users/rmelton/.emacs.d/init.el" nil t)  ; Reading at buffer position 10715
 load-with-code-conversion("/Users/rmelton/.emacs.d/init.el" "/Users/rmelton/.emacs.d/init.el" t t)
 load("/Users/rmelton/.emacs.d/init" noerror nomessage)
 startup--load-user-init-file(#f(compiled-function () #<bytecode 0x155de5f99a259d>) #f(compiled-function () #<bytecode -0x1f3c61addc0da035>) t)
 command-line()
 normal-top-level()



--
Robert "robertmeta" Melton
lists@xxxxxxxxxxxxxxxx <mailto:lists@xxxxxxxxxxxxxxxx>


|Full archive May 1995 - present by Year|Search the archive|


If you have questions about this archive or had problems using it, please contact us.

Contact Info Page