Good afternoon, Please find attached a small patch that modifies the way emacspeak speaks org dates when they are changed with s-up and s-down. Previously emacspeak would speak the entire line. I found this a little verbose and wanted to hear just the relevant information. This patch attempts to address this by doing the following: - Compare the date before and after the change. - Find where the two strings differ. - Move point to the difference and then move back past any numbers. - Speak the line from this point. I welcome peoples thoughts on both the efficacy of this aproach and my coding style. . Kind regards Bart
Index: emacspeak-org.el =================================================================== --- emacspeak-org.el (revision 8334) +++ emacspeak-org.el (working copy) @@ -269,8 +269,8 @@ (loop for f in '( - org-timestamp-down org-timestamp-down-day - org-timestamp-up org-timestamp-up-day) + org-timestamp-down-day + org-timestamp-up-day) do (eval `(defadvice ,f (after emacspeak pre act comp) @@ -279,6 +279,28 @@ (emacspeak-auditory-icon 'select-object) (emacspeak-speak-line))))) +(loop for f in + '( + org-timestamp-down org-timestamp-up) + do + (eval + `(defadvice ,f (around emacspeak pre act comp) + "Provide auditory feedback." + (when (ems-interactive-p ) + (emacspeak-auditory-icon 'select-object) + (let ((prior + (append (buffer-substring + (save-excursion (beginning-of-line) (point)) + (save-excursion (end-of-line) (point)) + ) nil))) + ad-do-it + (save-excursion + (beginning-of-line) + (while (equal (char-after) (pop prior)) + (forward-char)) + (skip-chars-backward "0-9") + (emacspeak-speak-line 1))))))) + (defadvice org-eval-in-calendar (after emacspeak pre act comp) "Speak what is returned." (declare (special org-ans2))
-- Kind regards Bart
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