Skip to Content.
Sympa Menu

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

Subject: Emacspeak discussion list

List archive

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


Chronological Thread 
  • From: Robert Melton <lists AT robertmelton.com>
  • To: Emacspeaks <emacspeak AT emacspeak.net>
  • Subject: [Emacspeak] [bug] partial crash with no sox on mac
  • Date: Mon, 5 Feb 2024 20:05:07 -0500

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 AT robertmelton.com <mailto:lists AT robertmelton.com>



Archive powered by MHonArc 2.6.19+.

Top of Page