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))))))