From d46a2fa319808963bbe8d3a90e7dbb13fcd844f5 Mon Sep 17 00:00:00 2001 From: Al Petrofsky Date: Fri, 16 Jun 2023 20:06:57 -0400 Subject: [PATCH 1/2] Make C-SPC work in "M-x term" * lisp/term.el (term-raw-map): Add bindings for C-SPC, C-M-SPC, and C-M-/. (term-send-C-@, term-send-C-M-_, term-send-C-M-@): New commands. (Bug#64121) --- lisp/term.el | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lisp/term.el b/lisp/term.el index e1392908b90..73f583ff718 100644 --- a/lisp/term.el +++ b/lisp/term.el @@ -948,6 +948,9 @@ underlying shell." (define-key map [next] 'term-send-next) (define-key map [xterm-paste] #'term--xterm-paste) (define-key map [?\C-/] #'term-send-C-_) + (define-key map [?\C- ] #'term-send-C-@) + (define-key map [?\C-\M-/] #'term-send-C-M-_) + (define-key map [?\C-\M- ] #'term-send-C-M-@) (when term-bind-function-keys (dotimes (key 21) @@ -1411,6 +1414,9 @@ Entry to this mode runs the hooks on `term-mode-hook'." (defun term-send-del () (interactive) (term-send-raw-string "\e[3~")) (defun term-send-backspace () (interactive) (term-send-raw-string "\C-?")) (defun term-send-C-_ () (interactive) (term-send-raw-string "\C-_")) +(defun term-send-C-@ () (interactive) (term-send-raw-string "\C-@")) +(defun term-send-C-M-_ () (interactive) (term-send-raw-string "\e\C-_")) +(defun term-send-C-M-@ () (interactive) (term-send-raw-string "\e\C-@")) (defun term-send-function-key () "If bound to a function key, this will send that key to the underlying shell." From edb0862f5e69240de90c30b8914af51778f26d31 Mon Sep 17 00:00:00 2001 From: Jim Porter Date: Sun, 18 Jun 2023 14:35:01 -0700 Subject: [PATCH 2/2] ; Fix test failure from 2f181d60323 (new 'pp' implementation) * test/lisp/eshell/esh-util-tests.el (esh-util-test/eshell-stringify/list): Be more flexible when checking stringification of nested lists. --- test/lisp/eshell/esh-util-tests.el | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/test/lisp/eshell/esh-util-tests.el b/test/lisp/eshell/esh-util-tests.el index ed841e96c7e..52b42fe915c 100644 --- a/test/lisp/eshell/esh-util-tests.el +++ b/test/lisp/eshell/esh-util-tests.el @@ -46,9 +46,15 @@ (ert-deftest esh-util-test/eshell-stringify/list () "Test that `eshell-stringify' correctly stringifies lists." + ;; These tests depend on the particulars of how Emacs pretty-prints + ;; lists; changes to the pretty-printer could result in different + ;; whitespace. We don't care about that, except to ensure there's + ;; no leading/trailing whitespace. (should (equal (eshell-stringify '(1 2 3)) "(1 2 3)")) - (should (equal (eshell-stringify '((1 2) (3 . 4))) - "((1 2)\n (3 . 4))"))) + (should (equal (replace-regexp-in-string + (rx (+ (or space "\n"))) " " + (eshell-stringify '((1 2) (3 . 4)))) + "((1 2) (3 . 4))"))) (ert-deftest esh-util-test/eshell-stringify/complex () "Test that `eshell-stringify' correctly stringifies complex objects."