diff --git a/lisp/term.el b/lisp/term.el index 631d22c6006..6ef057f3e39 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) @@ -1414,6 +1417,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." 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."