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

Reply via email to