Move table-related variables and functions into "org-table"
Slightly re-organize file.
This commit is contained in:
parent
7fcd14945a
commit
98475b32d8
|
@ -51,6 +51,7 @@
|
|||
(require 'org)
|
||||
|
||||
(declare-function org-at-encrypted-entry-p "org-crypt" ())
|
||||
(declare-function org-at-table-p "org-table" (&optional table-type))
|
||||
(declare-function org-clock-update-mode-line "org-clock" (&optional refresh))
|
||||
(declare-function org-datetree-find-date-create "org-datetree" (date &optional keep-restriction))
|
||||
(declare-function org-decrypt-entry "org-crypt" ())
|
||||
|
@ -72,7 +73,9 @@
|
|||
(defvar org-store-link-plist)
|
||||
(defvar org-table-border-regexp)
|
||||
(defvar org-table-current-begin-pos)
|
||||
(defvar org-table-dataline-regexp)
|
||||
(defvar org-table-fix-formulas-confirm)
|
||||
(defvar org-table-hline-regexp)
|
||||
(defvar org-table-hlines)
|
||||
|
||||
(defvar org-capture-clock-was-started nil
|
||||
|
|
|
@ -316,7 +316,7 @@ See `org-link-parameters' for documentation on the other parameters."
|
|||
;;;; Functions unused in Org core.
|
||||
(defun org-table-recognize-table.el ()
|
||||
"If there is a table.el table nearby, recognize it and move into it."
|
||||
(when (and org-table-tab-recognizes-table.el (org-at-table.el-p))
|
||||
(when (org-at-table.el-p)
|
||||
(beginning-of-line)
|
||||
(unless (or (looking-at org-table-dataline-regexp)
|
||||
(not (looking-at org-table1-hline-regexp)))
|
||||
|
|
|
@ -209,17 +209,6 @@ because otherwise all these markers will point to nowhere."
|
|||
`(let (pop-up-frames display-buffer-alist)
|
||||
,@body))
|
||||
|
||||
(defmacro org-table-with-shrunk-field (&rest body)
|
||||
"Save field shrunk state, execute BODY and restore state."
|
||||
(declare (debug (body)))
|
||||
(org-with-gensyms (end shrunk size)
|
||||
`(let* ((,shrunk (save-match-data (org-table--shrunk-field)))
|
||||
(,end (and ,shrunk (copy-marker (overlay-end ,shrunk) t)))
|
||||
(,size (and ,shrunk (- ,end (overlay-start ,shrunk)))))
|
||||
(when ,shrunk (delete-overlay ,shrunk))
|
||||
(unwind-protect (progn ,@body)
|
||||
(when ,shrunk (move-overlay ,shrunk (- ,end ,size) ,end))))))
|
||||
|
||||
|
||||
;;; Buffer and windows
|
||||
|
||||
|
|
2902
lisp/org-table.el
2902
lisp/org-table.el
File diff suppressed because it is too large
Load Diff
144
lisp/org.el
144
lisp/org.el
|
@ -65,8 +65,6 @@
|
|||
;;; Code:
|
||||
|
||||
(defvar org-inhibit-highlight-removal nil) ; dynamically scoped param
|
||||
(defvar-local org-table-formula-constants-local nil
|
||||
"Local version of `org-table-formula-constants'.")
|
||||
(defvar org-inlinetask-min-level)
|
||||
|
||||
;;;; Require other packages
|
||||
|
@ -94,6 +92,7 @@
|
|||
(require 'org-compat)
|
||||
(require 'org-keys)
|
||||
(require 'ol)
|
||||
(require 'org-table)
|
||||
|
||||
;; `org-outline-regexp' ought to be a defconst but is let-bound in
|
||||
;; some places -- e.g. see the macro `org-with-limited-levels'.
|
||||
|
@ -164,56 +163,17 @@ Stars are put in group 1 and the trimmed body in group 2.")
|
|||
(declare-function org-element-type "org-element" (element))
|
||||
(declare-function org-export-dispatch "ox" (&optional arg))
|
||||
(declare-function org-export-get-backend "ox" (name))
|
||||
(declare-function org-export-get-backend "ox" (name))
|
||||
(declare-function org-export-get-environment "ox" (&optional backend subtreep ext-plist))
|
||||
(declare-function org-export-get-environment "ox" (&optional backend subtreep ext-plist))
|
||||
(declare-function org-feed-goto-inbox "org-feed" (feed))
|
||||
(declare-function org-feed-update-all "org-feed" ())
|
||||
(declare-function org-goto "org-goto" (&optional alternative-interface))
|
||||
(declare-function org-goto "org-goto" (&optional alternative-interface))
|
||||
(declare-function org-id-find-id-file "org-id" (id))
|
||||
(declare-function org-id-get-create "org-id" (&optional force))
|
||||
(declare-function org-inlinetask-at-task-p "org-inlinetask" ())
|
||||
(declare-function org-inlinetask-outline-regexp "org-inlinetask" ())
|
||||
(declare-function org-inlinetask-toggle-visibility "org-inlinetask" ())
|
||||
(declare-function org-latex-make-preamble "ox-latex" (info &optional template snippet?))
|
||||
(declare-function org-latex-make-preamble "ox-latex" (info &optional template snippet?))
|
||||
(declare-function org-plot/gnuplot "org-plot" (&optional params))
|
||||
(declare-function org-table--shrunk-field "org-table" ()) ;; For `org-table-with-shrunk-field'.
|
||||
(declare-function org-table-align "org-table" ())
|
||||
(declare-function org-table-begin "org-table" (&optional table-type))
|
||||
(declare-function org-table-beginning-of-field "org-table" (&optional n))
|
||||
(declare-function org-table-blank-field "org-table" ())
|
||||
(declare-function org-table-calc-current-TBLFM "org-table" (&optional arg))
|
||||
(declare-function org-table-copy-down "org-table" (N))
|
||||
(declare-function org-table-copy-region "org-table" (beg end &optional cut))
|
||||
(declare-function org-table-create-or-convert-from-region "org-table" (arg))
|
||||
(declare-function org-table-create-with-table.el "org-table" ())
|
||||
(declare-function org-table-cut-region "org-table" (beg end))
|
||||
(declare-function org-table-edit-field "org-table" (arg))
|
||||
(declare-function org-table-end "org-table" (&optional table-type))
|
||||
(declare-function org-table-end-of-field "org-table" (&optional n))
|
||||
(declare-function org-table-eval-formula "org-table" (&optional arg equation suppress-align suppress-const suppress-store suppress-analysis))
|
||||
(declare-function org-table-field-info "org-table" (arg))
|
||||
(declare-function org-table-insert-row "org-table" (&optional arg))
|
||||
(declare-function org-table-justify-field-maybe "org-table" (&optional new))
|
||||
(declare-function org-table-maybe-eval-formula "org-table" ())
|
||||
(declare-function org-table-maybe-recalculate-line "org-table" ())
|
||||
(declare-function org-table-move-cell-up "org-table" ())
|
||||
(declare-function org-table-move-cell-down "org-table" ())
|
||||
(declare-function org-table-move-cell-right "org-table" ())
|
||||
(declare-function org-table-move-cell-left "org-table" ())
|
||||
(declare-function org-table-next-row "org-table" ())
|
||||
(declare-function org-table-paste-rectangle "org-table" ())
|
||||
(declare-function org-table-recalculate "org-table" (&optional all noalign))
|
||||
(declare-function org-table-rotate-recalc-marks "org-table" (&optional newchar))
|
||||
(declare-function org-table-shrink "org-table" (&optional begin end))
|
||||
(declare-function org-table-sort-lines "org-table" (&optional with-case sorting-type getkey-func compare-func interactive?))
|
||||
(declare-function org-table-sum "org-table" (&optional beg end nlast))
|
||||
(declare-function org-table-toggle-column-width "org-table" (&optional arg))
|
||||
(declare-function org-table-toggle-coordinate-overlays "org-table" ())
|
||||
(declare-function org-table-toggle-formula-debugger "org-table" ())
|
||||
(declare-function org-table-wrap-region "org-table" (arg))
|
||||
(declare-function org-tags-view "org-agenda" (&optional todo-only match))
|
||||
(declare-function org-timer "org-timer" (&optional restart no-insert))
|
||||
(declare-function org-timer-item "org-timer" (&optional arg))
|
||||
|
@ -225,14 +185,11 @@ Stars are put in group 1 and the trimmed body in group 2.")
|
|||
(declare-function org-timer-stop "org-timer" ())
|
||||
(declare-function org-toggle-archive-tag "org-archive" (&optional find-done))
|
||||
(declare-function org-update-radio-target-regexp "ol" ())
|
||||
(declare-function orgtbl-ascii-plot "org-table" (&optional ask))
|
||||
(declare-function orgtbl-mode "org-table" (&optional arg))
|
||||
|
||||
(defvar ffap-url-regexp)
|
||||
(defvar org-element-paragraph-separate)
|
||||
(defvar org-indent-indentation-per-level)
|
||||
(defvar org-radio-target-regexp)
|
||||
(defvar org-table-auto-blank-field)
|
||||
(defvar org-target-link-regexp)
|
||||
(defvar org-target-regexp)
|
||||
|
||||
|
@ -608,30 +565,6 @@ An entry can be toggled between COMMENT and normal with
|
|||
"The property that is being used to keep track of effort estimates.
|
||||
Effort estimates given in this property need to have the format H:MM.")
|
||||
|
||||
;;;; Table
|
||||
|
||||
(defconst org-table-any-line-regexp "^[ \t]*\\(|\\|\\+-[-+]\\)"
|
||||
"Detect an org-type or table-type table.")
|
||||
|
||||
(defconst org-table-line-regexp "^[ \t]*|"
|
||||
"Detect an org-type table line.")
|
||||
|
||||
(defconst org-table-dataline-regexp "^[ \t]*|[^-]"
|
||||
"Detect an org-type table line.")
|
||||
|
||||
(defconst org-table-hline-regexp "^[ \t]*|-"
|
||||
"Detect an org-type table hline.")
|
||||
|
||||
(defconst org-table1-hline-regexp "^[ \t]*\\+-[-+]"
|
||||
"Detect a table-type table hline.")
|
||||
|
||||
(defconst org-table-any-border-regexp "^[ \t]*[^|+ \t]"
|
||||
"Detect the first line outside a table when searching from within it.
|
||||
This works for both table types.")
|
||||
|
||||
(defconst org-TBLFM-regexp "^[ \t]*#\\+TBLFM: "
|
||||
"Detect a #+TBLFM line.")
|
||||
|
||||
;;;; Timestamp
|
||||
|
||||
(defconst org-ts-regexp "<\\([0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\} ?[^\r\n>]*?\\)>"
|
||||
|
@ -1817,11 +1750,6 @@ as possible."
|
|||
:group 'org-sparse-trees
|
||||
:type 'hook)
|
||||
|
||||
(defgroup org-table nil
|
||||
"Options concerning tables in Org mode."
|
||||
:tag "Org Table"
|
||||
:group 'org)
|
||||
|
||||
(defcustom org-self-insert-cluster-for-undo nil
|
||||
"Non-nil means cluster self-insert commands for undo when possible.
|
||||
If this is set, then, like in the Emacs command loop, 20 consecutive
|
||||
|
@ -1830,13 +1758,6 @@ This is configurable, because there is some impact on typing performance."
|
|||
:group 'org-table
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom org-table-tab-recognizes-table.el t
|
||||
"Non-nil means TAB will automatically notice a table.el table.
|
||||
When it sees such a table, it moves point into it and - if necessary -
|
||||
calls `table-recognize-table'."
|
||||
:group 'org-table-editing
|
||||
:type 'boolean)
|
||||
|
||||
(defvaralias 'org-activate-links 'org-highlight-links)
|
||||
(defcustom org-highlight-links '(bracket angle plain radio tag date footnote)
|
||||
"Types of links that should be highlighted in Org files.
|
||||
|
@ -3935,7 +3856,6 @@ This is needed for font-lock setup.")
|
|||
(declare-function org-inlinetask-goto-end "org-inlinetask" ())
|
||||
(declare-function org-inlinetask-in-task-p "org-inlinetask" ())
|
||||
(declare-function org-inlinetask-remove-END-maybe "org-inlinetask" ())
|
||||
(declare-function orgtbl-send-table "org-table" (&optional maybe))
|
||||
(declare-function parse-time-string "parse-time" (string))
|
||||
|
||||
(defvar align-mode-rules-list)
|
||||
|
@ -3948,64 +3868,11 @@ This is needed for font-lock setup.")
|
|||
(defvar remember-data-file)
|
||||
(defvar texmathp-why)
|
||||
|
||||
;;;###autoload
|
||||
(defun turn-on-orgtbl ()
|
||||
"Unconditionally turn on `orgtbl-mode'."
|
||||
(require 'org-table)
|
||||
(orgtbl-mode 1))
|
||||
|
||||
(defun org-at-table-p (&optional table-type)
|
||||
"Non-nil if the cursor is inside an Org table.
|
||||
If TABLE-TYPE is non-nil, also check for table.el-type tables."
|
||||
(and (org-match-line (if table-type "[ \t]*[|+]" "[ \t]*|"))
|
||||
(or (not (derived-mode-p 'org-mode))
|
||||
(let ((e (org-element-lineage (org-element-at-point) '(table) t)))
|
||||
(and e (or table-type
|
||||
(eq 'org (org-element-property :type e))))))))
|
||||
|
||||
(defun org-at-table.el-p ()
|
||||
"Non-nil when point is at a table.el table."
|
||||
(and (org-match-line "[ \t]*[|+]")
|
||||
(let ((element (org-element-at-point)))
|
||||
(and (eq (org-element-type element) 'table)
|
||||
(eq (org-element-property :type element) 'table.el)))))
|
||||
|
||||
(defun org-at-table-hline-p ()
|
||||
"Non-nil when point is inside a hline in a table.
|
||||
Assume point is already in a table."
|
||||
(org-match-line org-table-hline-regexp))
|
||||
|
||||
(defun org-table-map-tables (function &optional quietly)
|
||||
"Apply FUNCTION to the start of all tables in the buffer."
|
||||
(org-with-wide-buffer
|
||||
(goto-char (point-min))
|
||||
(while (re-search-forward org-table-any-line-regexp nil t)
|
||||
(unless quietly
|
||||
(message "Mapping tables: %d%%"
|
||||
(floor (* 100.0 (point)) (buffer-size))))
|
||||
(beginning-of-line 1)
|
||||
(when (and (looking-at org-table-line-regexp)
|
||||
;; Exclude tables in src/example/verbatim/clocktable blocks
|
||||
(not (org-in-block-p '("src" "example" "verbatim" "clocktable"))))
|
||||
(save-excursion (funcall function))
|
||||
(or (looking-at org-table-line-regexp)
|
||||
(forward-char 1)))
|
||||
(re-search-forward org-table-any-border-regexp nil 1)))
|
||||
(unless quietly (message "Mapping tables: done")))
|
||||
|
||||
(declare-function org-clock-save-markers-for-cut-and-paste "org-clock" (beg end))
|
||||
(declare-function org-clock-update-mode-line "org-clock" (&optional refresh))
|
||||
(declare-function org-resolve-clocks "org-clock"
|
||||
(&optional also-non-dangling-p prompt last-valid))
|
||||
|
||||
(defun org-at-TBLFM-p (&optional pos)
|
||||
"Non-nil when point (or POS) is in #+TBLFM line."
|
||||
(save-excursion
|
||||
(goto-char (or pos (point)))
|
||||
(beginning-of-line)
|
||||
(and (let ((case-fold-search t)) (looking-at org-TBLFM-regexp))
|
||||
(eq (org-element-type (org-element-at-point)) 'table))))
|
||||
|
||||
(defvar org-clock-start-time)
|
||||
(defvar org-clock-marker (make-marker)
|
||||
"Marker recording the last clock-in.")
|
||||
|
@ -4892,12 +4759,6 @@ This is for getting out of special buffers like capture.")
|
|||
|
||||
;;;; Define the Org mode
|
||||
|
||||
;; We use a before-change function to check if a table might need
|
||||
;; an update.
|
||||
(defvar org-table-may-need-update t
|
||||
"Indicates that a table might need an update.
|
||||
This variable is set by `org-before-change-function'.
|
||||
`org-table-align' sets it back to nil.")
|
||||
(defun org-before-change-function (_beg _end)
|
||||
"Every change indicates that a table might need an update."
|
||||
(setq org-table-may-need-update t))
|
||||
|
@ -4906,7 +4767,6 @@ This variable is set by `org-before-change-function'.
|
|||
(defvar org-agenda-keep-modes nil) ; Dynamically-scoped param.
|
||||
(defvar org-inhibit-logging nil) ; Dynamically-scoped param.
|
||||
(defvar org-inhibit-blocking nil) ; Dynamically-scoped param.
|
||||
(defvar org-table-buffer-is-an nil)
|
||||
|
||||
(defvar bidi-paragraph-direction)
|
||||
(defvar buffer-face-mode-face)
|
||||
|
@ -17794,7 +17654,6 @@ Otherwise, return a user error."
|
|||
(`link (call-interactively #'ffap))
|
||||
(_ (user-error "No special environment to edit here"))))))))
|
||||
|
||||
(defvar org-table-coordinate-overlays) ; defined in org-table.el
|
||||
(defun org-ctrl-c-ctrl-c (&optional arg)
|
||||
"Set tags in headline, or update according to changed information at point.
|
||||
|
||||
|
@ -19515,7 +19374,6 @@ assumed to be significant there."
|
|||
;; parenthesis can end up being parsed as a new list item.
|
||||
(looking-at-p "[ \t]*{{{n\\(?:([^\n)]*)\\)?}}}[.)]\\(?:$\\| \\)"))
|
||||
|
||||
(defvar orgtbl-line-start-regexp) ; From org-table.el
|
||||
(defun org-adaptive-fill-function ()
|
||||
"Compute a fill prefix for the current line.
|
||||
Return fill prefix, as a string, or nil if current line isn't
|
||||
|
|
Loading…
Reference in New Issue