I am working with the accessibility system emacspeak to improve eyes-free access to org-mode tables. Most of this can be done outside the org-mode tree by advising existing functions but I've run into a need for a new function. I need org-table-previous-row analogous to org-table-next-row. Below is a patch to add this. The behaviour is almost identical to org-table-next-row except that org-table-previous-row in the first row of the table is a no-op. Please consider adding this to the repository. Comments and corrections welcome but please send them to me directly as well as the list. regards Peter
---------------------------------------------------------------------- diff --git a/lisp/org-table.el b/lisp/org-table.el index 8a6e22b..f17d84d 100644 --- a/lisp/org-table.el +++ b/lisp/org-table.el @@ -1092,6 +1092,30 @@ Before doing so, re-align the table if necessary." (if (looking-at " ") (forward-char 1))))) ;;;###autoload +(defun org-table-previous-row () + "Go to the previous row (same column) in the current table. +Before doing so, re-align the table if necessary." + (interactive) + (org-table-maybe-eval-formula) + (org-table-maybe-recalculate-line) + (if (or (looking-at "[ \t]*$") + (save-excursion (skip-chars-backward " \t") (bolp))) + (newline) + (if (and org-table-automatic-realign + org-table-may-need-update) + (org-table-align)) + (let ((col (org-table-current-column))) + (beginning-of-line 0) + (if (or (not (org-at-table-p)) + (org-at-table-hline-p)) + (progn + (beginning-of-line 1))) + (org-table-goto-column col) + (skip-chars-backward "^|\n\r") + (if (looking-at " ") (forward-char 1))))) + + +;;;###autoload (defun org-table-copy-down (n) "Copy the value of the current field one row below. ---------------------------------------------------------------------- > -- Peter Rayner Leader, Clean Air and Urban Landscapes NESP hub. room 343 School of Earth Sciences, University of Melbourne, 3010, Vic, Australia tel: work: +61 (0)3 8344 9708; fax: +61 (0)3 8344 7761 mobile +61 402 752 379, skype: petermorag mail-to: pray...@unimelb.edu.au google scholar profile <http://scholar.google.com.au/citations?user=H3up71wAAAAJ&hl=en>