diff options
Diffstat (limited to 'lisp/org/org-compat.el')
-rw-r--r-- | lisp/org/org-compat.el | 27 |
1 files changed, 24 insertions, 3 deletions
diff --git a/lisp/org/org-compat.el b/lisp/org/org-compat.el index fee0bd08cad..70c41d53cd9 100644 --- a/lisp/org/org-compat.el +++ b/lisp/org/org-compat.el @@ -260,6 +260,12 @@ ignored in this case." next (+ from (* n inc))))) (nreverse seq))))) +;; `set-transient-map' is only in Emacs >= 24.4 +(defalias 'org-set-transient-map + (if (fboundp 'set-transient-map) + 'set-transient-map + 'set-temporary-overlay-map)) + ;; Region compatibility (defvar org-ignore-region nil @@ -337,10 +343,25 @@ Works on both Emacs and XEmacs." (org-xemacs-without-invisibility (indent-line-to column)) (indent-line-to column))) -(defun org-move-to-column (column &optional force buffer ignore-invisible) - (let ((buffer-invisibility-spec ignore-invisible)) +(defun org-move-to-column (column &optional force buffer) + "Move to column COLUMN. +Pass COLUMN and FORCE to `move-to-column'. +Pass BUFFER to the XEmacs version of `move-to-column'." + (let* ((with-bracket-link + (save-excursion + (forward-line 0) + (looking-at (concat "^.*" org-bracket-link-regexp)))) + (buffer-invisibility-spec + (cond + ((or (not (derived-mode-p 'org-mode)) + (and with-bracket-link (org-invisible-p2))) + (remove '(org-link) buffer-invisibility-spec)) + (with-bracket-link + (remove t buffer-invisibility-spec)) + (t buffer-invisibility-spec)))) (if (featurep 'xemacs) - (org-xemacs-without-invisibility (move-to-column column force buffer)) + (org-xemacs-without-invisibility + (move-to-column column force buffer)) (move-to-column column force)))) (defun org-get-x-clipboard-compat (value) |