aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorNoam Postavsky2017-04-23 22:30:20 -0400
committerNoam Postavsky2017-05-19 18:16:38 -0400
commitacd58c9198c08c3eb631a3f036b4f95073f7fe10 (patch)
tree8b837e0c83559e249d7aee8250edeb483c8748d2 /test
parent267be4bdc28564a99f45da29e84eb98838117b50 (diff)
downloademacs-acd58c9198c08c3eb631a3f036b4f95073f7fe10.tar.gz
emacs-acd58c9198c08c3eb631a3f036b4f95073f7fe10.zip
Limit integers printed as characters (Bug#16828)
* lisp/simple.el (eval-expression-print-maximum-character): New variable. (eval-expression-print-format): Only display value as character if it's less than or equal to `eval-expression-print-maximum-character'. (eval-expression-get-print-arguments): Check eval-expression-print-maximum-character, allow negative arg to override it. (eval-expression): * lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp): (elisp--eval-last-sexp-print-value): Handle new variable. * doc/emacs/building.texi (Lisp Eval): Document new variable and behavior. * etc/NEWS: Announce it. * test/lisp/progmodes/elisp-mode-tests.el (eval-last-sexp-print-format-small-int) (eval-last-sexp-print-format-small-int-echo) (eval-last-sexp-print-format-large-int) (eval-last-sexp-print-format-large-int-echo): * test/lisp/simple-tests.el (eval-expression-print-format-small-int) (eval-expression-print-format-small-int-echo) (eval-expression-print-format-large-int) (eval-expression-print-format-large-int-echo): New tests.
Diffstat (limited to 'test')
-rw-r--r--test/lisp/progmodes/elisp-mode-tests.el48
-rw-r--r--test/lisp/simple-tests.el52
2 files changed, 100 insertions, 0 deletions
diff --git a/test/lisp/progmodes/elisp-mode-tests.el b/test/lisp/progmodes/elisp-mode-tests.el
index 5edb590b1e5..03ae8481ee5 100644
--- a/test/lisp/progmodes/elisp-mode-tests.el
+++ b/test/lisp/progmodes/elisp-mode-tests.el
@@ -132,6 +132,54 @@
132 (call-interactively #'eval-last-sexp) 132 (call-interactively #'eval-last-sexp)
133 (should (equal (current-message) "t"))))) 133 (should (equal (current-message) "t")))))
134 134
135(ert-deftest eval-last-sexp-print-format-small-int ()
136 (with-temp-buffer
137 (let ((current-prefix-arg '(4)))
138 (erase-buffer) (insert "?A")
139 (call-interactively #'eval-last-sexp)
140 (should (equal (buffer-string) "?A65")))
141 (let ((current-prefix-arg 0))
142 (erase-buffer) (insert "?A")
143 (call-interactively #'eval-last-sexp)
144 (should (equal (buffer-string) "?A65 (#o101, #x41, ?A)")))))
145
146(ert-deftest eval-last-sexp-print-format-small-int-echo ()
147 (skip-unless (not noninteractive))
148 (with-temp-buffer
149 (let ((current-prefix-arg nil))
150 (erase-buffer) (insert "?A") (message nil)
151 (call-interactively #'eval-last-sexp)
152 (should (equal (current-message) "65 (#o101, #x41, ?A)")))))
153
154(ert-deftest eval-last-sexp-print-format-large-int ()
155 (with-temp-buffer
156 (let ((eval-expression-print-maximum-character ?A))
157 (let ((current-prefix-arg '(4)))
158 (erase-buffer) (insert "?B")
159 (call-interactively #'eval-last-sexp)
160 (should (equal (buffer-string) "?B66")))
161 (let ((current-prefix-arg 0))
162 (erase-buffer) (insert "?B")
163 (call-interactively #'eval-last-sexp)
164 (should (equal (buffer-string) "?B66 (#o102, #x42)")))
165 (let ((current-prefix-arg -1))
166 (erase-buffer) (insert "?B")
167 (call-interactively #'eval-last-sexp)
168 (should (equal (buffer-string) "?B66 (#o102, #x42, ?B)"))))))
169
170(ert-deftest eval-last-sexp-print-format-large-int-echo ()
171 (skip-unless (not noninteractive))
172 (with-temp-buffer
173 (let ((eval-expression-print-maximum-character ?A))
174 (let ((current-prefix-arg nil))
175 (erase-buffer) (insert "?B") (message nil)
176 (call-interactively #'eval-last-sexp)
177 (should (equal (current-message) "66 (#o102, #x42)")))
178 (let ((current-prefix-arg '-))
179 (erase-buffer) (insert "?B") (message nil)
180 (call-interactively #'eval-last-sexp)
181 (should (equal (current-message) "66 (#o102, #x42, ?B)"))))))
182
135;;; xref 183;;; xref
136 184
137(defun xref-elisp-test-descr-to-target (xref) 185(defun xref-elisp-test-descr-to-target (xref)
diff --git a/test/lisp/simple-tests.el b/test/lisp/simple-tests.el
index b74e28ccaf1..180dcc0a209 100644
--- a/test/lisp/simple-tests.el
+++ b/test/lisp/simple-tests.el
@@ -396,5 +396,57 @@ See Bug#21722."
396 (call-interactively #'eval-expression) 396 (call-interactively #'eval-expression)
397 (should (equal (current-message) "t")))))) 397 (should (equal (current-message) "t"))))))
398 398
399(ert-deftest eval-expression-print-format-small-int ()
400 (with-temp-buffer
401 (cl-letf (((symbol-function 'read--expression) (lambda (&rest _) ?A)))
402 (let ((current-prefix-arg '(4)))
403 (erase-buffer)
404 (call-interactively #'eval-expression)
405 (should (equal (buffer-string) "65")))
406 (let ((current-prefix-arg 0))
407 (erase-buffer)
408 (call-interactively #'eval-expression)
409 (should (equal (buffer-string) "65 (#o101, #x41, ?A)"))))))
410
411(ert-deftest eval-expression-print-format-small-int-echo ()
412 (skip-unless (not noninteractive))
413 (with-temp-buffer
414 (cl-letf (((symbol-function 'read--expression) (lambda (&rest _) ?A)))
415 (let ((current-prefix-arg nil))
416 (message nil)
417 (call-interactively #'eval-expression)
418 (should (equal (current-message) "65 (#o101, #x41, ?A)"))))))
419
420(ert-deftest eval-expression-print-format-large-int ()
421 (with-temp-buffer
422 (cl-letf (((symbol-function 'read--expression) (lambda (&rest _) ?B))
423 (eval-expression-print-maximum-character ?A))
424 (let ((current-prefix-arg '(4)))
425 (erase-buffer)
426 (call-interactively #'eval-expression)
427 (should (equal (buffer-string) "66")))
428 (let ((current-prefix-arg 0))
429 (erase-buffer)
430 (call-interactively #'eval-expression)
431 (should (equal (buffer-string) "66 (#o102, #x42)")))
432 (let ((current-prefix-arg -1))
433 (erase-buffer)
434 (call-interactively #'eval-expression)
435 (should (equal (buffer-string) "66 (#o102, #x42, ?B)"))))))
436
437(ert-deftest eval-expression-print-format-large-int-echo ()
438 (skip-unless (not noninteractive))
439 (with-temp-buffer
440 (cl-letf (((symbol-function 'read--expression) (lambda (&rest _) ?B))
441 (eval-expression-print-maximum-character ?A))
442 (let ((current-prefix-arg nil))
443 (message nil)
444 (call-interactively #'eval-expression)
445 (should (equal (current-message) "66 (#o102, #x42)")))
446 (let ((current-prefix-arg '-))
447 (message nil)
448 (call-interactively #'eval-expression)
449 (should (equal (current-message) "66 (#o102, #x42, ?B)"))))))
450
399(provide 'simple-test) 451(provide 'simple-test)
400;;; simple-test.el ends here 452;;; simple-test.el ends here