[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/realgud 5b0ed08 58/72: Merge pull request #277 from 813
From: |
Stefan Monnier |
Subject: |
[elpa] externals/realgud 5b0ed08 58/72: Merge pull request #277 from 813gan/fix_gh275 |
Date: |
Fri, 26 Mar 2021 22:49:13 -0400 (EDT) |
branch: externals/realgud
commit 5b0ed08364b1f5e2df2f3f7d5a6e7a2fedb5189a
Merge: de31e77 d496bcd
Author: R. Bernstein <rocky@users.noreply.github.com>
Commit: GitHub <noreply@github.com>
Merge pull request #277 from 813gan/fix_gh275
Fix #275. Add srcbuf-mode to allow cleaning up shortcuts at quit.
---
realgud/common/buffer/source.el | 18 +++++++++++++-----
realgud/common/core.el | 1 +
test/test-keymap-cleanup.el | 34 ++++++++++++++++++++++++++++++++++
3 files changed, 48 insertions(+), 5 deletions(-)
diff --git a/realgud/common/buffer/source.el b/realgud/common/buffer/source.el
index 108593f..489ef1d 100644
--- a/realgud/common/buffer/source.el
+++ b/realgud/common/buffer/source.el
@@ -132,6 +132,17 @@ current buffer."
;; which might be active.
(make-variable-buffer-local 'realgud-srcbuf-info)
+(defvar realgud:srcbuf-mode-map
+ (make-sparse-keymap) )
+
+(define-minor-mode realgud-srcbuf-mode
+ "Minor mode for source buffers for the `realgud' debugger."
+ :group 'realgud
+ :global nil
+ :init-value nil
+ :keymap realgud:srcbuf-mode-map
+)
+
(defun realgud-srcbuf-init
(src-buffer cmdproc-buffer)
"Initialize SRC-BUFFER as a source-code buffer for a debugger.
@@ -153,11 +164,8 @@ debugger."
in it with those from CMDPROC-BUFFER"
(realgud-cmdbuf-add-srcbuf src-buffer cmdproc-buffer)
(with-current-buffer-safe src-buffer
- (realgud-populate-common-keys
- ;; use-local-map returns nil so e have to call (current-local-map)
- ;; again in this case.
- (or (current-local-map) (use-local-map (make-sparse-keymap))
- (current-local-map)))
+ (realgud-srcbuf-mode)
+ (realgud-populate-common-keys realgud:srcbuf-mode-map)
(if (realgud-srcbuf-info? realgud-srcbuf-info)
(realgud-srcbuf-info-cmdproc= cmdproc-buffer)
(realgud-srcbuf-init src-buffer cmdproc-buffer))))
diff --git a/realgud/common/core.el b/realgud/common/core.el
index 916f8a0..af23eb7 100644
--- a/realgud/common/core.el
+++ b/realgud/common/core.el
@@ -147,6 +147,7 @@ return the first argument is always removed.
(redisplay)
)
(loc-changes-clear-buffer)
+ (realgud-srcbuf-mode -1)
))
(defun realgud:terminate (&optional buf)
diff --git a/test/test-keymap-cleanup.el b/test/test-keymap-cleanup.el
new file mode 100644
index 0000000..d5b8145
--- /dev/null
+++ b/test/test-keymap-cleanup.el
@@ -0,0 +1,34 @@
+;; Regression test for https://github.com/realgud/realgud/issues/275
+
+;; Press C-x C-e at the end of the next line to run this file test
non-interactively
+;; (test-simple-run "emacs -batch -L %s -L %s -L %s -l %s"
(file-name-directory (locate-library "load-relative.elc")) (file-name-directory
(locate-library "test-simple.elc")) (file-name-directory (locate-library
"loc-changes.elc")) buffer-file-name)
+
+(require 'test-simple)
+
+(test-simple-start)
+
+(note "realgud-keymap-cleanup")
+
+(setq temp-procbuf (generate-new-buffer "*procbuf-test*"))
+(setq temp-srcbuf (generate-new-buffer "*srcbuf-test*"))
+(with-current-buffer temp-srcbuf
+ (python-mode) )
+(setq debugger-name "pdb")
+(load-file "../realgud/debugger/pdb/pdb.el")
+
+(realgud-cmdbuf-init temp-procbuf debugger-name
+ (gethash debugger-name realgud-pat-hash))
+(realgud-srcbuf-init-or-update temp-srcbuf temp-procbuf)
+
+(note "Realgud keys present in srcbuf")
+(with-current-buffer temp-srcbuf
+ (assert-t (equal 'realgud:cmd-step (key-binding (kbd "<f11>")))) )
+
+(realgud:terminate-srcbuf temp-srcbuf)
+
+(note "Realgud keys not present in srcbuf after quit")
+(with-current-buffer temp-srcbuf
+ (python-mode)
+ (assert-nil (equal 'realgud:cmd-step (key-binding (kbd "<f11>")))) )
+
+(end-tests)
- [elpa] externals/realgud 74c2780 39/72: Add a missing require-relative in gdb.el, (continued)
- [elpa] externals/realgud 74c2780 39/72: Add a missing require-relative in gdb.el, Stefan Monnier, 2021/03/26
- [elpa] externals/realgud f70405f 38/72: Correct some declare-function locations, Stefan Monnier, 2021/03/26
- [elpa] externals/realgud 7e940af 40/72: debbugers: Fix void realgud:run-process error in gdb and gub., Stefan Monnier, 2021/03/26
- [elpa] externals/realgud 493a4da 41/72: Merge pull request #270 from Apteryks/fix-unbound-realgud-run-process, Stefan Monnier, 2021/03/26
- [elpa] externals/realgud f23d0c8 49/72: allow displaying multi-line values, Stefan Monnier, 2021/03/26
- [elpa] externals/realgud 6acb987 50/72: Add comments, Stefan Monnier, 2021/03/26
- [elpa] externals/realgud 843885c 52/72: fix function declaration to calm down travis, Stefan Monnier, 2021/03/26
- [elpa] externals/realgud de31e77 55/72: Merge pull request #276 from 813gan/locals-window-v2.1, Stefan Monnier, 2021/03/26
- [elpa] externals/realgud 75a6e60 56/72: Fix #275. Add srcbuf-mode to allow cleaning up shortcuts at quit., Stefan Monnier, 2021/03/26
- [elpa] externals/realgud d496bcd 57/72: add test/test-keymap-cleanup.el for #275, Stefan Monnier, 2021/03/26
- [elpa] externals/realgud 5b0ed08 58/72: Merge pull request #277 from 813gan/fix_gh275,
Stefan Monnier <=
- [elpa] externals/realgud 858b902 66/72: Merge pull request #286 from 813gan/fix_locales_reload, Stefan Monnier, 2021/03/26
- [elpa] externals/realgud 72cb88d 68/72: fix issue: failed to load file realgud/common/helper., Stefan Monnier, 2021/03/26