branch: elpa/lua-mode
commit fd0f6ba36b2219b58c572fd759a63cd23bae217d
Merge: 1d804f6 9abad67
Author: immerrr again <[email protected]>
Commit: immerrr again <[email protected]>
Merge pull request #69 from atomontage/master
Bug fixes for show/hide process buffer
---
lua-mode.el | 13 ++++++++-----
test/inferior-test.el | 14 ++++++++------
2 files changed, 16 insertions(+), 11 deletions(-)
diff --git a/lua-mode.el b/lua-mode.el
index 7ec4bde..0106b1e 100644
--- a/lua-mode.el
+++ b/lua-mode.el
@@ -1668,8 +1668,8 @@ When called interactively, switch to the process buffer."
(defun lua-kill-process ()
"Kill Lua subprocess and its buffer."
(interactive)
- (if lua-process-buffer
- (kill-buffer lua-process-buffer)))
+ (when (buffer-live-p lua-process-buffer)
+ (kill-buffer lua-process-buffer)))
(defun lua-set-lua-region-start (&optional arg)
"Set start of region for use with `lua-send-lua-region'."
@@ -1773,14 +1773,17 @@ Otherwise, return START."
(lua-send-buffer))
(defun lua-show-process-buffer ()
- "Make sure `lua-process-buffer' is being displayed."
+ "Make sure `lua-process-buffer' is being displayed.
+Create a Lua process if one doesn't already exist."
(interactive)
- (display-buffer lua-process-buffer))
+ (display-buffer (process-buffer (lua-get-create-process))))
+
(defun lua-hide-process-buffer ()
"Delete all windows that display `lua-process-buffer'."
(interactive)
- (delete-windows-on lua-process-buffer))
+ (when (buffer-live-p lua-process-buffer)
+ (delete-windows-on lua-process-buffer)))
(defun lua-funcname-at-point ()
"Get current Name { '.' Name } sequence."
diff --git a/test/inferior-test.el b/test/inferior-test.el
index ba29585..8d3bd80 100644
--- a/test/inferior-test.el
+++ b/test/inferior-test.el
@@ -6,26 +6,28 @@
(ert-deftest lua-hide-process-buffer-doesnt-switch-current-window ()
- :expected-result :failed
-
(with-lua-buffer
(let ((cur-buf (current-buffer)))
(should (get-buffer-window cur-buf))
-
+ (lua-start-process)
(lua-hide-process-buffer)
(should (get-buffer-window cur-buf)))))
(ert-deftest lua-hide-process-buffer-doesnt-signal-on-killed-process ()
- :expected-result :failed
(with-lua-buffer
(let ((cur-buf (current-buffer)))
(lua-start-process)
(lua-kill-process)
-
(lua-hide-process-buffer)
(should (get-buffer-window cur-buf)))))
-
+(ert-deftest lua-hide-process-buffer-standalone ()
+ (with-lua-buffer
+ (let ((cur-buf (current-buffer)))
+ ;; lua-process-buffer should be nil
+ (lua-hide-process-buffer)
+ (should (get-buffer-window cur-buf)))))
+
(ert-deftest lua-runtime-error-msg-is-fontified ()
:expected-result (if (eq 23 emacs-major-version) :failed :passed)
(with-lua-buffer