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

Re: Possible bug in customize



Hi Raman,

sorry, I wasn't clear enough. 

When the bug is triggered, emacspeak will continue to speak, but most emacs commands have no effect. For example, if you are in the middle of a line and you try to move to the start or end of the line with C-a or C-e e, the line gets spoken, but the cursor does not move. Depending on your system, load etc, you may also here "Back to top level". The same happens with M-x, when you do M-x, you may here "Back to top level", but you don't get a prompt and you can't enter anything. Trying to quit emacs also failed - hitting C-c C-x just got the message "Back to top level". 

Now that I know what the problem was, the easiest solution was to just turn off auditory icons. The problem was emacspeak-play-auditory-icon was throwing an exception, which broke the advice, which in turn meant the original advised function was not being called, so commands did not work. 

In my case, things were being complicated by a package called aggressive-indent, which was being pulled in by another package I was using. I've not looked at it, but it seems the aggressive-indent package does something funny which causes emacspeak to try and play an auditory icon every time you enter a character. When auditory icons is working, this results in a 'beep' being played every time you insert/delete a character in a programming buffer which loads aggressive-indent. Took a bit for me to track this down. However, combining this issue with emacspeak-play-auditory-icons meant that the impact from the error was much worse and made my system even less usable than it would be for someone encountering this bug without this package. 

This also highlights another gotcha emacspeak users need to be aware of. As we all know, sometimes new packages are not as emacspeak friendly as we might like and can change things such that we may not get adequate spoken feedback in some circumstances. In the past, this wasn't too bad as we installed new code by hand and knew exactly what had been installed. However, using elpa, it is now possible that new packages will automatically pull in other packages we are not aware of, making it harder to diagnose problems because we don't even know the package is there unless we look closely at logs and the elpa directory. This isn't a complaint - I really like the convenience of elpa. It is just a point of warning that if you install a new package and it causes unwanted side effect which impact on emacspeak, you probably want to check exactly what packages it installs.  . 

On 22 August 2015 at 23:56, T. V. Raman <tv.raman.tv@xxxxxxxxxxx> wrote:
In your original message, you said that this caused Emacspeak to
fall silent -- is that because Pulse killed your TTS?
>>>>> "Tim" == Tim Cross <theophilusx@xxxxxxxxxxx> writes:
    Tim> Hi Raman, found the problem.
    Tim>
    Tim> The problem is with using paplay. If you set
    Tim> emacspeak-play-args to nil as suggested in the docs,
    Tim> start-process throws a wrong type argument - seems it
    Tim> expects all program args to be stringp. If you set
    Tim> emacspeak-play-args to an empty string i.e. "", then
    Tim> that works, but paplay throws a too many arguments
    Tim> error.
    Tim>
    Tim> My fix was very basic - test emacspeak-play-args and if
    Tim> it is not nil, call as normal. If it is nil, call
    Tim> without referencing emacpeak-play-args.
    Tim>
    Tim> I also found a minor issue with the defcustom for
    Tim> emacspeak-play-args. Because it is defined as having to
    Tim> be a string, you cannot actually set it to nil using the
    Tim> custom interface. I have fixed this by changing the
    Tim> definition for the defcustom to use a 'choice options,
    Tim> with one choice being string and the other const.
    Tim>
    Tim> I've committed my changes to my fork of the emacspeak
    Tim> repo on github. You should be able to do a pull merge. I
    Tim> also added a pull request to the issues, but I don't
    Tim> think your using that, but thought it might send you an
    Tim> email.
    Tim>
    Tim> My repo is at http://github.com/theophilusx/emacspeak
    Tim>
    Tim> Tim
    Tim>
    Tim>
    Tim> On 21 August 2015 at 10:31, raman <raman@xxxxxxxxxxx>
    Tim> wrote:
    Tim>
    >> Actually I just tried it on a whim and it does not crash
    >> for me.
    >> --
    >>
    >>
    >> -----------------------------------------------------------------------------
    >> To unsubscribe from the emacspeak list or change your
    >> address on the emacspeak list send mail to
    >> "emacspeak-request@xxxxxxxxxxx" with a subject of
    >> "unsubscribe" or "help".
    >>
    >>
    Tim>
    Tim>
    Tim> -- regards,
    Tim>
    Tim> Tim
    Tim>
    Tim> -- Tim Cross



--
regards,

Tim

--
Tim Cross



|All Past Years |Current Year|


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

Contact Info Page