Function: org-table-fedit-shift-reference
org-table-fedit-shift-reference is a byte-compiled function defined in
org-table.el.gz.
Signature
(org-table-fedit-shift-reference DIR)
Source Code
;; Defined in /usr/src/emacs/lisp/org/org-table.el.gz
(defun org-table-fedit-shift-reference (dir)
(cond
((org-in-regexp "\\(\\<[a-zA-Z]\\)&")
(if (memq dir '(left right))
(org-table--rematch-and-replace 1 (eq dir 'left))
(user-error "Cannot shift reference in this direction")))
((org-in-regexp "\\(\\<[a-zA-Z]\\{1,2\\}\\)\\([0-9]+\\)")
;; A B3-like reference
(if (memq dir '(up down))
(org-table--rematch-and-replace 2 (eq dir 'up))
(org-table--rematch-and-replace 1 (eq dir 'left))))
((org-in-regexp
"\\(@\\|\\.\\.\\)\\([-+]?\\(I+\\>\\|[0-9]+\\)\\)\\(\\$\\([-+]?[0-9]+\\)\\)?")
;; An internal reference
(if (memq dir '(up down))
(org-table--rematch-and-replace 2 (eq dir 'up) (match-end 3))
(org-table--rematch-and-replace 5 (eq dir 'left))))))