I forgot to add my modified version of the code. Here it is. It appears to have fixed the problem, though not extensively tested. (defsubst emacspeak-get-voicefied-mode-name (mode-name) "Return voicefied version of this mode-name." (declare (special emacspeak-voicefied-mode-names)) (let* ((mode-name-str (if (stringp mode-name) mode-name (format-mode-line mode-name))) (result (gethash mode-name-str emacspeak-voicefied-mode-names))) (or result (progn (setq result (copy-sequence mode-name-str)) (put-text-property 0 (length result) 'personality voice-animate result) (puthash mode-name-str result emacspeak-voicefied-mode-names) result)))) Tim Cross writes: > Hi Raman, > > I have found a bug in emacspeak-get-voicefied-mode-name. I think I know what > needs to be done to fix it, but wanted to check first. > > Details > > GNU Emacs 24.0.50.1 (i686-pc-linux-gnu, GTK+ Version 2.22.0) of 2011-01-31 on > blind-mole > > Latest emacspeak from svn > > Recipe to reproduce. > > 1. Open an org-mode agenda todo list with C-c a t > 2. Hit C-e m to speak the mode line > > Gives the backtrace > > Debugger entered--Lisp error: (wrong-type-argument buffer-or-string-p ("Org-Agenda" > "" " " (:eval (org-agenda-span-name org-agenda-current-span)) "" "" " Diary" " Ddl" > " Grid" "" "" "" "" "")) > ad-Orig-put-text-property(0 14 personality acss-a7-p7-s6 ("Org-Agenda" "" " " > (:eval (org-agenda-span-name org-agenda-current-span)) "" "" " Diary" " Ddl" " Grid" > "" "" "" "" "")) > put-text-property(0 14 personality acss-a7-p7-s6 ("Org-Agenda" "" " " (:eval > (org-agenda-span-name org-agenda-current-span)) "" "" " Diary" " Ddl" " Grid" "" "" > "" "" "")) > > I've tracked this down to emacspeak-get-voicefied-mode-name. The problem > appears to be that this function expects the mode name to be a string. However, > according to the documentation, is usually a string, but can be any of the > constructs for mode-line-format. > > According to the documentation, to get a string, you need to format mode-name > with format-mode-line. Therefore, my suggested (untested) solution would be to > format mode-name using mode-line-format and use that string as the key to the > hash and as the argument passed to put-text-properties. My only concern with > doing this is that it would seem you get more than just the mode name, > potentially making the function return a more verbose result than is > desired. Therefore, it may need to be slightly more complicated i.e. test if > the argument is a string, if it is use it, if it is not, format with > format-mode-line and take the first word from that string. > > Am I on the right track? > > Tim > > > > -- > Tim Cross > Information Technology > University of New England > Phone: +61 2 6773 3210 > Mobile: 0428 212217 > Fax: +61 2 6773 3424 > E-Mail: tcross@xxxxxxxxxxx > Web: http://www.une.edu.au/itd > --- > Please avoid sending me Word or PowerPoint attachments. > See http://www.gnu.org/philosophy/no-word-attachments.html > > Any fool can make things bigger, more complex, and more violent. It takes a > touch of genius (and a lot of courage) to move in the opposite direction. > âAlbert Einstein > > > > > > > ----------------------------------------------------------------------------- > 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 Cross Information Technology University of New England Phone: +61 2 6773 3210 Mobile: 0428 212217 Fax: +61 2 6773 3424 E-Mail: tcross@xxxxxxxxxxx Web: http://www.une.edu.au/itd --- Please avoid sending me Word or PowerPoint attachments. See http://www.gnu.org/philosophy/no-word-attachments.html Any fool can make things bigger, more complex, and more violent. It takes a touch of genius (and a lot of courage) to move in the opposite direction. âAlbert Einstein ----------------------------------------------------------------------------- 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".
If you have questions about this archive or had problems using it, please send mail to:
priestdo@xxxxxxxxxxx No Soliciting!Emacspeak List Archive | 2010 | 2009 | 2008 | 2007 | 2006 | 2005 | 2004 | 2003 | 2002 | 2001 | 2000 | 1999 | 1998 | Pre 1998