소스 검색

org-compat.el (org-move-to-column): Fix bug

* org-compat.el (org-move-to-column): Temporarily set
`buffer-invisibility-spec' more accurately.

Thanks to Samuel Wales for reporting this.
Bastien Guerry 11 년 전
부모
커밋
0e344ae04a
1개의 변경된 파일12개의 추가작업 그리고 12개의 파일을 삭제
  1. 12 12
      lisp/org-compat.el

+ 12 - 12
lisp/org-compat.el

@@ -347,18 +347,18 @@ Works on both Emacs and XEmacs."
   "Move to column COLUMN.
 Pass COLUMN and FORCE to `move-to-column'.
 Pass BUFFER to the XEmacs version of `move-to-column'."
-  (let ((buffer-invisibility-spec
-	 (if (or
-	      ;; Ignore all visibility spec in agenda
-	      (not (derived-mode-p 'org-mode))
-	      ;; Ignore bracket links elsewere
-	      (and (save-excursion
-		     (forward-line 0)
-		     (looking-at (concat "^.*" org-bracket-link-regexp)))
-		   (member '(org-link)
-			   buffer-invisibility-spec)))
-	     t
-	   buffer-invisibility-spec)))
+  (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))