summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien <bzg@gnu.org>2020-02-11 21:42:54 +0100
committerBastien <bzg@gnu.org>2020-02-11 21:42:54 +0100
commit99f5f0ce1e0b77a84b8add5b754b3cb8c30cb4ba (patch)
treebcc297155fe74f0d5ca7ef873fdd9753b7a17f10
parentfa707c4cf1100e5613dd452a5dffd15984d05601 (diff)
downloadorg-mode-99f5f0ce1e0b77a84b8add5b754b3cb8c30cb4ba.tar.gz
org-table.el: Don't run table header mode with a timer
* lisp/org-table.el (org-table-header-set-header): Don't run with a timer.
-rw-r--r--lisp/org-table.el42
1 files changed, 19 insertions, 23 deletions
diff --git a/lisp/org-table.el b/lisp/org-table.el
index e564620..c422f83 100644
--- a/lisp/org-table.el
+++ b/lisp/org-table.el
@@ -471,30 +471,25 @@ This may be useful when columns have been shrunk."
"Display the header of the table at point."
(when (overlayp org-table-header-overlay)
(delete-overlay org-table-header-overlay))
- (run-with-timer
- 0.01 nil
- (lambda ()
- (if (not (org-at-table-p))
- (when (overlayp org-table-header-overlay)
- (delete-overlay org-table-header-overlay))
- (let* ((ws (window-start))
- (beg (save-excursion
- (goto-char (org-table-begin))
- (while (or (org-at-table-hline-p)
- (looking-at-p ".*|\\s-+<[rcl]?\\([0-9]+\\)?>"))
- (move-beginning-of-line 2))
- (point)))
- (end (save-excursion (goto-char beg) (point-at-eol))))
- (when (not (pos-visible-in-window-p beg))
- (setq org-table-header-overlay
- (make-overlay ws (+ ws (- end beg))))
- (org-overlay-display
- org-table-header-overlay
- (org-table-row-get-visible-string beg)
- 'org-table-header)))))))
+ (let* ((ws (window-start))
+ (beg (save-excursion
+ (goto-char (org-table-begin))
+ (while (or (org-at-table-hline-p)
+ (looking-at-p ".*|\\s-+<[rcl]?\\([0-9]+\\)?>"))
+ (move-beginning-of-line 2))
+ (point)))
+ (end (save-excursion (goto-char beg) (point-at-eol))))
+ (if (pos-visible-in-window-p beg)
+ (when (overlayp org-table-header-overlay)
+ (delete-overlay org-table-header-overlay))
+ (setq org-table-header-overlay
+ (make-overlay ws (+ ws (- end beg))))
+ (org-overlay-display
+ org-table-header-overlay
+ (org-table-row-get-visible-string beg)
+ 'org-table-header))))
;;;###autoload
-(defvar-local org-table-header-line-mode nil)
(define-minor-mode org-table-header-line-mode
"Display the first row of the table at point in the header line."
nil " TblHeader" nil
@@ -503,7 +498,8 @@ This may be useful when columns have been shrunk."
(if org-table-header-line-mode
(add-hook 'post-command-hook #'org-table-header-set-header nil t)
(when (overlayp org-table-header-overlay)
- (delete-overlay org-table-header-overlay))
+ (delete-overlay org-table-header-overlay)
+ (setq org-table-header-overlay nil))
(remove-hook 'post-command-hook #'org-table-header-set-header t)))