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

Bug with Mac speech server: a stop instruction in the middle of commands makes the speech server say nothing



Hi,
I think I've finally been able to reproduce a bug with the Emacspeak Mac speech server that has been annoying me for a long time. However, since I'm not good at all with Python, I have no clue how to start solving it. I'm wondering if anyone on the list can help.
First, a description of the issue, and then the steps to reproduce it.
It seems like when Emacspeak sends a batch of commands at once to the Mac speech server that has the instruction to stop (`s`) somewhere in it, the Mac speech server doesn't speak anything.
So, for example, if Emacspeak sends:
q a
d
s
q b
d
There is no audio being produced. However, if I  wait a bit, and try the `d` command again, it works.
Steps to reproduce:
If you want to reproduce it in the Terminal, copy the lines I mentioned above, and paste them at once into the stdin of the mac speech server. That is, run the `mac` speech server, and once you hear it's ready, paste and press enter. You should hear nothing. If you wait a bit, and type `d` again and press enter, you should hear "b". The way this should work is that there shouldn't be a need for you to retry.
If you want to reproduce this in Emacs itself, go to the scratch buffer, paste this in, change the command to point to your local copy of the Mac speech server, and run it by going to the end of the buffer and pressing C-x C-e.:
(let ((speech-process (start-process "mac" nil "~/src/emacspeak/servers/mac")))
  (sleep-for 4)
  (process-send-string speech-process "q a\nd\ns\nq b\nd\n"))
The expected behavior is that the word "b" is  spoken, but nothing gets spoken.
If you remove the `s\n` from the middle, it should work just fine.
I hope this makes sense and that I've finally been able to pinpoint this bug for real.
Thanks a lot for the help in advance,
Parham


|May 1995 - Last Year |Current Year|


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

Contact Info Page