[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/ws-butler 11311538f6 50/64: fix up tests, simplify predica
From: |
Stefan Kangas |
Subject: |
[nongnu] elpa/ws-butler 11311538f6 50/64: fix up tests, simplify predicate code a bit. |
Date: |
Fri, 31 Dec 2021 11:09:33 -0500 (EST) |
branch: elpa/ws-butler
commit 11311538f6e16b25461d4a11d3038d27a50ab9ed
Author: Le Wang <l26wang@gmail.com>
Commit: Le Wang <l26wang@gmail.com>
fix up tests, simplify predicate code a bit.
---
tests/ws-butler-tests.el | 21 ++++++++++++---------
ws-butler.el | 9 +++++----
2 files changed, 17 insertions(+), 13 deletions(-)
diff --git a/tests/ws-butler-tests.el b/tests/ws-butler-tests.el
index 5784a4aeb7..f49c1d614c 100644
--- a/tests/ws-butler-tests.el
+++ b/tests/ws-butler-tests.el
@@ -14,6 +14,7 @@
(when (get-buffer test-buffer-name)
(kill-buffer test-buffer-name))
(switch-to-buffer (get-buffer-create test-buffer-name))
+ (ws-butler-mode t)
,@body)))
(defmacro ws-butler-test-with-common-setup (&rest body)
@@ -33,12 +34,14 @@
(ert-deftest ws-butler-test-trim-predicate ()
"Tests `ws-butler-trim-predicate'."
(ws-butler-test-with-common-setup
- (let ((ws-butler-trim-predicate (lambda (_beg _end) false)))
- (insert "a b c. \n")
- (ws-butler-before-save)
- (should (string-equal (buffer-string) "a b c. \n")))
- (let (ws-butler-trim-predicate)
- (erase-buffer)
- (insert "a b c. \n")
- (ws-butler-before-save)
- (should (string-equal (buffer-string) "a b c.\n")))))
+ (setq-local ws-butler-trim-predicate (lambda (_beg _end) nil))
+ (insert "a b c. \n")
+ (ws-butler-before-save)
+ (should (string-equal (buffer-string) "a b c. \n"))))
+
+(ert-deftest ws-butler-test-trim-predicate-nil ()
+ "Tests `ws-butler-trim-predicate' is nil."
+ (ws-butler-test-with-common-setup
+ (insert "a b c. \n")
+ (ws-butler-before-save)
+ (should (string-equal (buffer-string) "a b c.\n"))))
diff --git a/ws-butler.el b/ws-butler.el
index 4ef08be6fd..5a00f1bb33 100644
--- a/ws-butler.el
+++ b/ws-butler.el
@@ -72,7 +72,7 @@ i.e. only the \"virtual\" space is preserved in the buffer."
:group 'ws-butler)
(defcustom ws-butler-trim-predicate
- nil
+ (lambda (_beg _end) t)
"Return true for regions that should be trimmed.
Expects 2 arguments - beginning and end of a region.
@@ -135,7 +135,8 @@ Also see `require-final-newline'."
(goto-char (point-max))
(skip-chars-backward " \t\n\v")
(let ((printable-point-max (point)))
- (when (>= last-modified-pos printable-point-max)
+ (when (and (funcall ws-butler-trim-predicate printable-point-max
(point-max))
+ (>= last-modified-pos printable-point-max))
(ws-butler-trim-eob-lines))))))
;; clean return code for hooks
nil)
@@ -193,6 +194,7 @@ in place."
Setting `ws-butler-keep-whitespace-before-point' will also
ensure point doesn't jump due to white space trimming."
+
;; save data to restore later
(when ws-butler-keep-whitespace-before-point
(ws-butler-with-save
@@ -210,8 +212,7 @@ ensure point doesn't jump due to white space trimming."
;; always expand to end of line anyway, this should be OK.
end (progn (goto-char (1- end))
(point-at-eol))))
- (unless (and (functionp ws-butler-trim-predicate)
- (not (funcall ws-butler-trim-predicate beg end)))
+ (when (funcall ws-butler-trim-predicate beg end)
(ws-butler-clean-region beg end))
(setq last-end end)))
(ws-butler-maybe-trim-eob-lines last-end)))
- [nongnu] elpa/ws-butler fe08e8770b 08/64: update lighter, (continued)
- [nongnu] elpa/ws-butler fe08e8770b 08/64: update lighter, Stefan Kangas, 2021/12/31
- [nongnu] elpa/ws-butler 8ca373047a 24/64: Fix point moving if after blanks., Stefan Kangas, 2021/12/31
- [nongnu] elpa/ws-butler 4154816145 27/64: Clean up end marker., Stefan Kangas, 2021/12/31
- [nongnu] elpa/ws-butler 106d313c0d 30/64: Fix package problems; bump version to 0.3., Stefan Kangas, 2021/12/31
- [nongnu] elpa/ws-butler 34393f1aaa 07/64: add install instructions, Stefan Kangas, 2021/12/31
- [nongnu] elpa/ws-butler 75deadecb9 35/64: Remove dependency on highlight-changes-mode., Stefan Kangas, 2021/12/31
- [nongnu] elpa/ws-butler ee0fc31020 52/64: Merge branch 'xificurC-master', Stefan Kangas, 2021/12/31
- [nongnu] elpa/ws-butler 76265d11f8 44/64: Debian and Ubuntu installation instructions, Stefan Kangas, 2021/12/31
- [nongnu] elpa/ws-butler 7553d6392a 36/64: Handle adding back text during undo correctly., Stefan Kangas, 2021/12/31
- [nongnu] elpa/ws-butler aa1935f150 37/64: update documentation re: highlight-changes-mode, Stefan Kangas, 2021/12/31
- [nongnu] elpa/ws-butler 11311538f6 50/64: fix up tests, simplify predicate code a bit.,
Stefan Kangas <=
- [nongnu] elpa/ws-butler a998a23ee8 41/64: Clarify ws-butler-keep-whitespace-before-point docs., Stefan Kangas, 2021/12/31
- [nongnu] elpa/ws-butler 9b40da8428 46/64: add exemptions to ws-butler-global-mode, Stefan Kangas, 2021/12/31
- [nongnu] elpa/ws-butler e5fc878904 54/64: disable changing leading whitespace by default, Stefan Kangas, 2021/12/31
- [nongnu] elpa/ws-butler 52321b99be 59/64: Merge pull request #29 from alevy03/master, Stefan Kangas, 2021/12/31
- [nongnu] elpa/ws-butler 323b651dd7 55/64: bump version, Stefan Kangas, 2021/12/31
- [nongnu] elpa/ws-butler a02607ef63 33/64: Some minor grammatical fixes, Stefan Kangas, 2021/12/31
- [nongnu] elpa/ws-butler f6ac856b82 13/64: clean up newlines at EOB when appropriate, Stefan Kangas, 2021/12/31
- [nongnu] elpa/ws-butler 81143ac737 25/64: Add customization for virtual space preservation., Stefan Kangas, 2021/12/31
- [nongnu] elpa/ws-butler 93409c1ca7 51/64: polyfill for setq-local, Stefan Kangas, 2021/12/31
- [nongnu] elpa/ws-butler a5add4ea85 39/64: Merge branch 'remove-highlight-changes-mode', Stefan Kangas, 2021/12/31