branch: elpa/casual
commit 659028acf0115b44c70ca9341210022ee8d319f4
Merge: 8c8bf40999 54533cee18
Author: Charles Choi <[email protected]>
Commit: GitHub <[email protected]>
Merge pull request #53 from
kickingvegas/merge-development-to-main-20241024_112541
Merge development to main 20241024_112541
---
README.org | 4 +++-
docs/images/casual-isearch-tmenu.png | Bin 403315 -> 388019 bytes
lisp/Makefile-agenda.make | 2 +-
lisp/Makefile-bookmarks.make | 2 +-
lisp/Makefile-calc.make | 2 +-
lisp/Makefile-dired.make | 2 +-
lisp/Makefile-editkit.make | 2 +-
lisp/Makefile-ibuffer.make | 2 +-
lisp/Makefile-info.make | 2 +-
lisp/Makefile-isearch.make | 2 +-
lisp/Makefile-re-builder.make | 2 +-
lisp/casual-isearch-utils.el | 4 +++-
lisp/casual-isearch.el | 6 ++++++
lisp/casual.el | 40 +++++++++++++++++++++++++++++------
tests/test-casual-isearch-utils.el | 8 +++++--
tests/test-casual-isearch.el | 2 ++
16 files changed, 63 insertions(+), 19 deletions(-)
diff --git a/README.org b/README.org
index a5aff5dd75..528f1a7a0b 100644
--- a/README.org
+++ b/README.org
@@ -97,12 +97,14 @@ If you have been using an earlier version 1.x of Casual,
thank you. Please use t
*** If you do not use ~use-package~ to configure Casual
Before installing Casual, you should update all of your existing Casual
packages. This is most easily done via the
[[https://www.gnu.org/software/emacs/manual/html_node/emacs/Package-Menu.html][package
menu buffer]]. After updating your packages, install the ~casual~ package.
+Migrate your existing Casual packages from 1.x to 2.x by running the following
commands:
+
#+BEGIN_SRC elisp
M-x load-library casual
M-x casual-upgrade-base-to-version-2
#+END_SRC
-This command will uninstall any Casual v1.x packages that have been superseded
by this package.
+Any Casual v1.x packages that have been superseded by this package will be
uninstalled.
While not necessary, it is recommended to run ~M-x package-autoremove~ to
purge any dangling dependent packages. Cautious readers can choose to audit any
packages that are targeted to be removed.
diff --git a/docs/images/casual-isearch-tmenu.png
b/docs/images/casual-isearch-tmenu.png
index 3e313a229d..92c7746265 100644
Binary files a/docs/images/casual-isearch-tmenu.png and
b/docs/images/casual-isearch-tmenu.png differ
diff --git a/lisp/Makefile-agenda.make b/lisp/Makefile-agenda.make
index c717e6d0d3..d026754ed4 100644
--- a/lisp/Makefile-agenda.make
+++ b/lisp/Makefile-agenda.make
@@ -31,7 +31,7 @@ casual-agenda-settings.el
ELISP_PACKAGES=
ELISP_TEST_INCLUDES=casual-agenda-test-utils.el
CASUAL_BASE_DIR=$(HOME)/Projects/elisp
-CASUAL_LIB_DIR=$(CASUAL_BASE_DIR)/casual-lib
+CASUAL_LIB_DIR=$(CASUAL_BASE_DIR)/casual
CASUAL_LIB_LISP_DIR=$(CASUAL_LIB_DIR)/lisp
CASUAL_LIB_TEST_INCLUDES=$(CASUAL_LIB_DIR)/tests/casual-lib-test-utils.el
EMACS_ELPA_DIR=$(HOME)/.config/emacs/elpa
diff --git a/lisp/Makefile-bookmarks.make b/lisp/Makefile-bookmarks.make
index 44b6084312..b3c07754f5 100644
--- a/lisp/Makefile-bookmarks.make
+++ b/lisp/Makefile-bookmarks.make
@@ -31,7 +31,7 @@ casual-bookmarks-settings.el
ELISP_PACKAGES=
ELISP_TEST_INCLUDES=casual-bookmarks-test-utils.el
CASUAL_BASE_DIR=$(HOME)/Projects/elisp
-CASUAL_LIB_DIR=$(CASUAL_BASE_DIR)/casual-lib
+CASUAL_LIB_DIR=$(CASUAL_BASE_DIR)/casual
CASUAL_LIB_LISP_DIR=$(CASUAL_LIB_DIR)/lisp
CASUAL_LIB_TEST_INCLUDES=$(CASUAL_LIB_DIR)/tests/casual-lib-test-utils.el
EMACS_ELPA_DIR=$(HOME)/.config/emacs/elpa
diff --git a/lisp/Makefile-calc.make b/lisp/Makefile-calc.make
index 7d07e4264c..1731acf6f0 100644
--- a/lisp/Makefile-calc.make
+++ b/lisp/Makefile-calc.make
@@ -59,7 +59,7 @@ casual-calc-symbolic.el
ELISP_TEST_INCLUDES=casual-calc-test-utils.el
CASUAL_BASE_DIR=$(HOME)/Projects/elisp
-CASUAL_LIB_DIR=$(CASUAL_BASE_DIR)/casual-lib
+CASUAL_LIB_DIR=$(CASUAL_BASE_DIR)/casual
CASUAL_LIB_LISP_DIR=$(CASUAL_LIB_DIR)/lisp
CASUAL_LIB_TEST_INCLUDES=$(CASUAL_LIB_DIR)/tests/casual-lib-test-utils.el
EMACS_CONFIG_DIR=$(HOME)/.config/emacs
diff --git a/lisp/Makefile-dired.make b/lisp/Makefile-dired.make
index 73755cfb1a..882a7b565e 100644
--- a/lisp/Makefile-dired.make
+++ b/lisp/Makefile-dired.make
@@ -30,7 +30,7 @@ ELISP_INCLUDES=casual-dired-variables.el casual-dired-utils.el
ELISP_PACKAGES=casual-dired-settings.el casual-dired-sort-by.el
ELISP_TEST_INCLUDES=casual-dired-test-utils.el
CASUAL_BASE_DIR=$(HOME)/Projects/elisp
-CASUAL_LIB_DIR=$(CASUAL_BASE_DIR)/casual-lib
+CASUAL_LIB_DIR=$(CASUAL_BASE_DIR)/casual
CASUAL_LIB_LISP_DIR=$(CASUAL_LIB_DIR)/lisp
CASUAL_LIB_TEST_INCLUDES=$(CASUAL_LIB_DIR)/tests/casual-lib-test-utils.el
EMACS_CONFIG_DIR=$(HOME)/.config/emacs
diff --git a/lisp/Makefile-editkit.make b/lisp/Makefile-editkit.make
index d0432a88f7..39bf592ae4 100644
--- a/lisp/Makefile-editkit.make
+++ b/lisp/Makefile-editkit.make
@@ -32,7 +32,7 @@ casual-editkit-settings.el
ELISP_PACKAGES=
ELISP_TEST_INCLUDES=casual-editkit-test-utils.el
CASUAL_BASE_DIR=$(HOME)/Projects/elisp
-CASUAL_LIB_DIR=$(CASUAL_BASE_DIR)/casual-lib
+CASUAL_LIB_DIR=$(CASUAL_BASE_DIR)/casual
CASUAL_LIB_LISP_DIR=$(CASUAL_LIB_DIR)/lisp
CASUAL_LIB_TEST_INCLUDES=$(CASUAL_LIB_DIR)/tests/casual-lib-test-utils.el
EMACS_ELPA_DIR=$(HOME)/.config/emacs/elpa
diff --git a/lisp/Makefile-ibuffer.make b/lisp/Makefile-ibuffer.make
index 668b062184..4f3315b31e 100644
--- a/lisp/Makefile-ibuffer.make
+++ b/lisp/Makefile-ibuffer.make
@@ -31,7 +31,7 @@ casual-ibuffer-settings.el
ELISP_PACKAGES=casual-ibuffer-filter.el
ELISP_TEST_INCLUDES=casual-ibuffer-test-utils.el
CASUAL_BASE_DIR=$(HOME)/Projects/elisp
-CASUAL_LIB_DIR=$(CASUAL_BASE_DIR)/casual-lib
+CASUAL_LIB_DIR=$(CASUAL_BASE_DIR)/casual
CASUAL_LIB_LISP_DIR=$(CASUAL_LIB_DIR)/lisp
CASUAL_LIB_TEST_INCLUDES=$(CASUAL_LIB_DIR)/tests/casual-lib-test-utils.el
EMACS_ELPA_DIR=$(HOME)/.config/emacs/elpa
diff --git a/lisp/Makefile-info.make b/lisp/Makefile-info.make
index 673fbe8819..4ca43576b1 100644
--- a/lisp/Makefile-info.make
+++ b/lisp/Makefile-info.make
@@ -30,7 +30,7 @@ ELISP_INCLUDES=casual-info-variables.el casual-info-utils.el
ELISP_PACKAGES=casual-info-settings.el
ELISP_TEST_INCLUDES=casual-info-test-utils.el
CASUAL_BASE_DIR=$(HOME)/Projects/elisp
-CASUAL_LIB_DIR=$(CASUAL_BASE_DIR)/casual-lib
+CASUAL_LIB_DIR=$(CASUAL_BASE_DIR)/casual
CASUAL_LIB_LISP_DIR=$(CASUAL_LIB_DIR)/lisp
CASUAL_LIB_TEST_INCLUDES=$(CASUAL_LIB_DIR)/tests/casual-lib-test-utils.el
EMACS_CONFIG_DIR=$(HOME)/.config/emacs
diff --git a/lisp/Makefile-isearch.make b/lisp/Makefile-isearch.make
index 846f18250a..aa00ad3832 100644
--- a/lisp/Makefile-isearch.make
+++ b/lisp/Makefile-isearch.make
@@ -31,7 +31,7 @@ casual-isearch-settings.el
ELISP_PACKAGES=
ELISP_TEST_INCLUDES=casual-isearch-test-utils.el
CASUAL_BASE_DIR=$(HOME)/Projects/elisp
-CASUAL_LIB_DIR=$(CASUAL_BASE_DIR)/casual-lib
+CASUAL_LIB_DIR=$(CASUAL_BASE_DIR)/casual
CASUAL_LIB_LISP_DIR=$(CASUAL_LIB_DIR)/lisp
CASUAL_LIB_TEST_INCLUDES=$(CASUAL_LIB_DIR)/tests/casual-lib-test-utils.el
EMACS_ELPA_DIR=$(HOME)/.config/emacs/elpa
diff --git a/lisp/Makefile-re-builder.make b/lisp/Makefile-re-builder.make
index ebab15cd4d..9bc39005b4 100644
--- a/lisp/Makefile-re-builder.make
+++ b/lisp/Makefile-re-builder.make
@@ -31,7 +31,7 @@ casual-re-builder-settings.el
ELISP_PACKAGES=
ELISP_TEST_INCLUDES=casual-re-builder-test-utils.el
CASUAL_BASE_DIR=$(HOME)/Projects/elisp
-CASUAL_LIB_DIR=$(CASUAL_BASE_DIR)/casual-lib
+CASUAL_LIB_DIR=$(CASUAL_BASE_DIR)/casual
CASUAL_LIB_LISP_DIR=$(CASUAL_LIB_DIR)/lisp
CASUAL_LIB_TEST_INCLUDES=$(CASUAL_LIB_DIR)/tests/casual-lib-test-utils.el
EMACS_ELPA_DIR=$(HOME)/.config/emacs/elpa
diff --git a/lisp/casual-isearch-utils.el b/lisp/casual-isearch-utils.el
index 539e5dbd8a..e37f23da3a 100644
--- a/lisp/casual-isearch-utils.el
+++ b/lisp/casual-isearch-utils.el
@@ -27,7 +27,9 @@
(require 'casual-lib)
(defconst casual-isearch-unicode-db
- '((:previous . '("↑" "Previous"))
+ '((:first . '("⤒" "First"))
+ (:last . '("⤓" "Last"))
+ (:previous . '("↑" "Previous"))
(:next . '("↓" "Next")))
"Unicode symbol DB to use for RE-Builder Transient menus.")
diff --git a/lisp/casual-isearch.el b/lisp/casual-isearch.el
index e4be1f1cac..7961b47a4f 100644
--- a/lisp/casual-isearch.el
+++ b/lisp/casual-isearch.el
@@ -112,6 +112,12 @@
:transient t)
("n" "Next" isearch-repeat-forward
:description (lambda () (casual-isearch-unicode-get :next))
+ :transient t)
+ ("<" "First" isearch-beginning-of-buffer
+ :description (lambda () (casual-isearch-unicode-get :first))
+ :transient t)
+ (">" "Last" isearch-end-of-buffer
+ :description (lambda () (casual-isearch-unicode-get :last))
:transient t)]]
[:class transient-row
diff --git a/lisp/casual.el b/lisp/casual.el
index c827207503..520325104b 100644
--- a/lisp/casual.el
+++ b/lisp/casual.el
@@ -5,7 +5,7 @@
;; Author: Charles Choi <[email protected]>
;; URL: https://github.com/kickingvegas/casual
;; Keywords: tools, wp
-;; Version: 2.0.6
+;; Version: 2.0.7-rc.1
;; Package-Requires: ((emacs "29.1") (transient "0.6.0"))
;; This program is free software; you can redistribute it and/or modify
@@ -72,14 +72,42 @@
;; UPGRADING to Casual 2.x
-;; If you have installed any Casual package that is version 1.x, you should
-;; immediately run the following commands upon installation of casual.
+;; If you have been using an earlier version 1.x of Casual, thank you. Please
+;; use the following guidance:
-;; M-x load-libary casual
+;; * If you do not use `use-package' to configure Casual
+
+;; Before installing Casual, you should update all of your existing Casual
+;; packages. This is most easily done via the package menu buffer described in
+;; info node `(emacs) Package Menu'. After updating your packages, install the
+;; `casual' package.
+
+;; Migrate your existing Casual packages from 1.x to 2.x by running the
+;; following commands:
+
+;; M-x load-library casual
;; M-x casual-upgrade-base-to-version-2
-;; This command will uninstall any Casual v1.x packages that have been
-;; superseded by this package.
+;; Any Casual v1.x packages that have been superseded by this package will be
+;; uninstalled.
+
+;; While not necessary, it is recommended to run `package-autoremove' to purge
+;; any dangling dependent packages. Cautious readers can choose to audit any
+;; packages that are targeted to be removed.
+
+;; * If you have used `use-package' to configure Casual
+
+;; For version 2.x going forward, I (Charles Choi) have decided to not offer
any
+;; documented guidance on using `use-package' to configure Casual due my lack
of
+;; expertise in using it. I leave it to more skilled readers to determine how
to
+;; best use it (described in info node `(use-package) Top') for their
+;; configuration. Please also note that this is not a prohibition on using
+;; `use-package' with Casual. I am simply admitting that I don't know how to
use
+;; it.
+
+;; That said, if you have used :ensure t to install a superseded package, you
+;; must remove that configuration. After doing so, please follow the above
+;; instructions for installing `casual'.
;; If you are using Emacs ≤ 30.0, you will need to update the built-in package
;; `transient'. By default, `package.el' will not upgrade a built-in package.
diff --git a/tests/test-casual-isearch-utils.el
b/tests/test-casual-isearch-utils.el
index 5057d38377..48382692f1 100644
--- a/tests/test-casual-isearch-utils.el
+++ b/tests/test-casual-isearch-utils.el
@@ -30,11 +30,15 @@
(ert-deftest test-casual-isearch-unicode-get ()
(let ((casual-lib-use-unicode nil))
(should (string-equal (casual-isearch-unicode-get :previous) "Previous"))
- (should (string-equal (casual-isearch-unicode-get :next) "Next")))
+ (should (string-equal (casual-isearch-unicode-get :next) "Next"))
+ (should (string-equal (casual-isearch-unicode-get :first) "First"))
+ (should (string-equal (casual-isearch-unicode-get :last) "Last")))
(let ((casual-lib-use-unicode t))
(should (string-equal (casual-isearch-unicode-get :previous) "↑"))
- (should (string-equal (casual-isearch-unicode-get :next) "↓"))))
+ (should (string-equal (casual-isearch-unicode-get :next) "↓"))
+ (should (string-equal (casual-isearch-unicode-get :first) "⤒"))
+ (should (string-equal (casual-isearch-unicode-get :last) "⤓"))))
(provide 'test-casual-isearch-utils)
;;; test-casual-isearch-utils.el ends here
diff --git a/tests/test-casual-isearch.el b/tests/test-casual-isearch.el
index 50fc2386bc..baa6645786 100644
--- a/tests/test-casual-isearch.el
+++ b/tests/test-casual-isearch.el
@@ -70,6 +70,8 @@
(:binding "H" :command isearch-highlight-lines-matching-regexp)
(:binding "n" :command isearch-repeat-forward)
(:binding "p" :command isearch-repeat-backward)
+ (:binding ">" :command isearch-end-of-buffer)
+ (:binding "<" :command isearch-beginning-of-buffer)
(:binding "RET" :command isearch-exit))))
(casualt-suffix-testcase-runner test-vectors