diff --git a/lisp/textmodes/string-edit.el b/lisp/textmodes/string-edit.el index ab0b3b3bd7..d3f614ca94 100644 --- a/lisp/textmodes/string-edit.el +++ b/lisp/textmodes/string-edit.el @@ -47,7 +47,10 @@ string-edit PROMPT will be inserted at the start of the buffer, but won't be included in the resulting string. If PROMPT is nil, no help text will be inserted." - (pop-to-buffer-same-window (generate-new-buffer "*edit string*")) + (pop-to-buffer (generate-new-buffer "*edit string*") + '(display-buffer-below-selected + (window-height . (lambda (window) + (fit-window-to-buffer window nil 10))))) (when prompt (let ((inhibit-read-only t)) (insert prompt) @@ -113,14 +116,14 @@ string-edit-done (goto-char (prop-match-beginning match))) (let ((string (buffer-substring (point) (point-max))) (callback string-edit--success-callback)) - (kill-buffer (current-buffer)) + (quit-window 'kill) (funcall callback string))) (defun string-edit-abort () "Abort editing the current string." (interactive) (let ((callback string-edit--abort-callback)) - (kill-buffer (current-buffer)) + (quit-window 'kill) (when callback (funcall callback))))