forked from mirrors/org-mode
Properly save source blocks with `save-some-buffers'
* lisp/org-src.el (org-src-mode-configure-edit-buffer): Set `write-contents-functions' so that saving a remote editing buffer always call `org-edit-src-save'. (org-edit-src-save): Return a non-nil value explicitly. Reported-by: Thibault Polge <thibault@thb.lt> <http://permalink.gmane.org/gmane.emacs.orgmode/112201>
This commit is contained in:
parent
7ca2e027a6
commit
bf601016dc
|
@ -646,7 +646,8 @@ See also `org-src-mode-hook'."
|
|||
(setq buffer-offer-save t)
|
||||
(setq buffer-file-name
|
||||
(concat (buffer-file-name (marker-buffer org-src--beg-marker))
|
||||
"[" (buffer-name) "]")))
|
||||
"[" (buffer-name) "]"))
|
||||
(setq-local write-contents-functions '(org-edit-src-save)))
|
||||
(setq buffer-read-only t))))
|
||||
|
||||
(add-hook 'org-src-mode-hook #'org-src-mode-configure-edit-buffer)
|
||||
|
@ -1032,7 +1033,10 @@ Throw an error if there is no such buffer."
|
|||
(insert edited-code)
|
||||
(when (and expecting-bol (not (bolp))) (insert "\n")))
|
||||
(save-buffer)
|
||||
(move-overlay overlay beg (point)))))
|
||||
(move-overlay overlay beg (point))))
|
||||
;; `write-contents-functions' require the function to return
|
||||
;; a non-nil value so that other functions are not called.
|
||||
t)
|
||||
|
||||
(defun org-edit-src-exit ()
|
||||
"Kill current sub-editing buffer and return to source buffer."
|
||||
|
|
Loading…
Reference in New Issue