Browse Source

Merge branch 'maint'

Nicolas Goaziou 10 years ago
parent
commit
3d45b4285b
1 changed files with 16 additions and 21 deletions
  1. 16 21
      lisp/org-src.el

+ 16 - 21
lisp/org-src.el

@@ -376,23 +376,21 @@ the display of windows containing the Org buffer and the code buffer."
 	  (when (fboundp edit-prep-func)
 	    (funcall edit-prep-func full-info)))
 	(or org-edit-src-code-timer
+	    (zerop org-edit-src-auto-save-idle-delay)
 	    (setq org-edit-src-code-timer
-		  (unless (zerop org-edit-src-auto-save-idle-delay)
-		    (run-with-idle-timer
-		     org-edit-src-auto-save-idle-delay t
-		     (lambda ()
-		       (cond
-			((and (string-match "\*Org Src" (buffer-name))
-			      (buffer-modified-p))
-			 (org-edit-src-save))
-			((not
-			  (delq nil (mapcar
-				     (lambda (b)
-				       (string-match "\*Org Src" (buffer-name b)))
-				     (buffer-list))))
-			 (cancel-timer org-edit-src-code-timer)
-			 (setq org-edit-src-code-timer)))))))))
-	t)))
+		  (run-with-idle-timer
+		   org-edit-src-auto-save-idle-delay t
+		   (lambda ()
+		     (cond
+		      ((org-string-match-p "\\`\\*Org Src" (buffer-name))
+		       (when (buffer-modified-p) (org-edit-src-save)))
+		      ((not (org-some (lambda (b)
+					(org-string-match-p "\\`\\*Org Src"
+							    (buffer-name b)))
+				      (buffer-list)))
+		       (cancel-timer org-edit-src-code-timer)
+		       (setq org-edit-src-code-timer nil))))))))
+      t)))
 
 (defun org-edit-src-continue (e)
   "Continue editing source blocks." ;; Fixme: be more accurate
@@ -750,8 +748,8 @@ with \",*\", \",#+\", \",,*\" and \",,#+\"."
       (delete-region beg (max beg end))
       (unless (string-match "\\`[ \t]*\\'" code)
 	(insert code))
-      	;; Make sure the overlay stays in place
-	(when (eq context 'save) (move-overlay ovl beg (point)))
+      ;; Make sure the overlay stays in place
+      (when (eq context 'save) (move-overlay ovl beg (point)))
       (goto-char beg)
       (if single (just-one-space)))
     (if (memq t (mapcar (lambda (overlay)
@@ -767,9 +765,6 @@ with \",*\", \",#+\", \",,*\" and \",,#+\"."
     (unless (eq context 'save)
       (move-marker beg nil)
       (move-marker end nil)))
-  (when org-edit-src-code-timer
-    (cancel-timer org-edit-src-code-timer)
-    (setq org-edit-src-code-timer nil))
   (unless (eq context 'save)
     (when org-edit-src-saved-temp-window-config
       (set-window-configuration org-edit-src-saved-temp-window-config)