diff options
author | Michael Brand <michael.ch.brand@gmail.com> | 2014-01-09 20:11:07 +0100 |
---|---|---|
committer | Michael Brand <michael.ch.brand@gmail.com> | 2014-01-09 20:11:07 +0100 |
commit | 9c1bc61cce306bf50389ca1051e72e5175589613 (patch) | |
tree | 35f287cda7cf990088c88eaef19b90a0fe549c0a | |
parent | f75f3dd1c12f7f6fd51c46f9b31d03f3c39a49e1 (diff) | |
parent | 34af2fe7ff397a72ed65e85ec90665f1273164dc (diff) | |
download | org-mode-9c1bc61cce306bf50389ca1051e72e5175589613.tar.gz |
Merge branch 'maint'
-rw-r--r-- | lisp/org-table.el | 57 |
1 files changed, 28 insertions, 29 deletions
diff --git a/lisp/org-table.el b/lisp/org-table.el index 4015aa6..9124901 100644 --- a/lisp/org-table.el +++ b/lisp/org-table.el @@ -2289,36 +2289,35 @@ KEY is \"@\" or \"$\". REPLACE is an alist of numbers to replace. For all numbers larger than LIMIT, shift them by DELTA." (save-excursion (goto-char (org-table-end)) - (let ((case-fold-search t) - (s-end (min (save-excursion (re-search-forward "^\\S-*$\\|\\'" nil t)) - (save-excursion (org-end-of-subtree t))))) - (while (re-search-forward "[ \t]*#\\+tblfm:" s-end t) - (let ((msg "The formulas in #+TBLFM have been updated") - (re (concat key "\\([0-9]+\\)")) - (re2 - (when remove - (if (or (equal key "$") (equal key "$LR")) - (format "\\(@[0-9]+\\)?%s%d=.*?\\(::\\|$\\)" - (regexp-quote key) remove) - (format "@%d\\$[0-9]+=.*?\\(::\\|$\\)" remove)))) - s n a) - (when remove - (while (re-search-forward re2 (point-at-eol) t) - (unless (save-match-data (org-in-regexp "remote([^)]+?)")) - (if (equal (char-before (match-beginning 0)) ?.) - (user-error "Change makes TBLFM term %s invalid, use undo to recover" - (match-string 0)) - (replace-match ""))))) - (while (re-search-forward re (point-at-eol) t) + (while (let ((case-fold-search t)) (looking-at "[ \t]*#\\+tblfm:")) + (let ((msg "The formulas in #+TBLFM have been updated") + (re (concat key "\\([0-9]+\\)")) + (re2 + (when remove + (if (or (equal key "$") (equal key "$LR")) + (format "\\(@[0-9]+\\)?%s%d=.*?\\(::\\|$\\)" + (regexp-quote key) remove) + (format "@%d\\$[0-9]+=.*?\\(::\\|$\\)" remove)))) + s n a) + (when remove + (while (re-search-forward re2 (point-at-eol) t) (unless (save-match-data (org-in-regexp "remote([^)]+?)")) - (setq s (match-string 1) n (string-to-number s)) - (cond - ((setq a (assoc s replace)) - (replace-match (concat key (cdr a)) t t) - (message msg)) - ((and limit (> n limit)) - (replace-match (concat key (int-to-string (+ n delta))) t t) - (message msg)))))))))) + (if (equal (char-before (match-beginning 0)) ?.) + (user-error + "Change makes TBLFM term %s invalid, use undo to recover" + (match-string 0)) + (replace-match ""))))) + (while (re-search-forward re (point-at-eol) t) + (unless (save-match-data (org-in-regexp "remote([^)]+?)")) + (setq s (match-string 1) n (string-to-number s)) + (cond + ((setq a (assoc s replace)) + (replace-match (concat key (cdr a)) t t) + (message msg)) + ((and limit (> n limit)) + (replace-match (concat key (int-to-string (+ n delta))) t t) + (message msg)))))) + (forward-line)))) (defun org-table-get-specials () "Get the column names and local parameters for this table." |