forked from mirrors/org-mode
org-table.el: Fix removal of the table header
* lisp/org-table.el (org-table-header-set-header): Ensure the table header overlay is correctly deleted. Lessen the timer.
This commit is contained in:
parent
b694c2fd7a
commit
62b9b63af8
|
@ -471,25 +471,26 @@ 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))
|
||||
(when (org-at-table-p)
|
||||
(run-with-timer
|
||||
0.01 nil
|
||||
(lambda ()
|
||||
(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)))))))
|
||||
(run-with-timer
|
||||
0.001 nil
|
||||
(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))))))
|
||||
|
||||
;;;###autoload
|
||||
(defvar-local org-table-header-line-mode nil)
|
||||
|
@ -499,10 +500,10 @@ This may be useful when columns have been shrunk."
|
|||
(unless (eq major-mode 'org-mode)
|
||||
(user-error "Cannot turn org table header mode outside org-mode buffers"))
|
||||
(if org-table-header-line-mode
|
||||
(add-hook 'post-command-hook 'org-table-header-set-header nil t)
|
||||
(add-hook 'post-command-hook #'org-table-header-set-header nil t)
|
||||
(when (overlayp org-table-header-overlay)
|
||||
(delete-overlay org-table-header-overlay))
|
||||
(remove-hook 'post-command-hook 'org-table-header-set-header t)))
|
||||
(remove-hook 'post-command-hook #'org-table-header-set-header t)))
|
||||
|
||||
|
||||
;;; Regexps Constants
|
||||
|
|
Loading…
Reference in New Issue