[elpa] externals/tramp 03ee1a30d5: Tramp ELPA version 2.7.2.2 released

2025-02-27 Thread ELPA Syncer
branch: externals/tramp
commit 03ee1a30d526613dbfd970ddbc2ca6c657e8d865
Author: Michael Albinus 
Commit: Michael Albinus 

Tramp ELPA version 2.7.2.2 released
---
 README  |  6 ++---
 test/tramp-tests.el |  3 ++-
 texi/tramp.texi | 75 +++
 texi/trampver.texi  |  2 +-
 tramp-cache.el  | 15 ---
 tramp-sh.el | 78 ++---
 tramp.el|  4 +--
 trampver.el |  6 ++---
 8 files changed, 125 insertions(+), 64 deletions(-)

diff --git a/README b/README
index 01f5412e84..8ce4391156 100644
--- a/README
+++ b/README
@@ -32,11 +32,11 @@ Emacs 28 or older
 
• Remove all byte-compiled Tramp files
 
-  $ rm -f ~/.emacs.d/elpa/tramp-2.7.2.1/tramp*.elc
+  $ rm -f ~/.emacs.d/elpa/tramp-2.7.2.2/tramp*.elc
 
• Start Emacs with Tramp's source files
 
-  $ emacs -L ~/.emacs.d/elpa/tramp-2.7.2.1 -l tramp
+  $ emacs -L ~/.emacs.d/elpa/tramp-2.7.2.2 -l tramp
 
  This should not give you the error.
 
@@ -50,7 +50,7 @@ Mitigation of a bug in Emacs 29.1
 -
 
 Due to a bug in Emacs 29.1, you must apply the following change prior
-installation or upgrading Tramp 2.7.2.1 from GNU ELPA:
+installation or upgrading Tramp 2.7.2.2 from GNU ELPA:
 
  (when (string-equal emacs-version "29.1")
(with-current-buffer
diff --git a/test/tramp-tests.el b/test/tramp-tests.el
index 25ac02d619..c1ef88937f 100644
--- a/test/tramp-tests.el
+++ b/test/tramp-tests.el
@@ -189,7 +189,8 @@ A resource file is in the resource directory as per
   tramp-copy-size-limit nil
   tramp-error-show-message-timeout nil
   tramp-persistency-file-name nil
-  tramp-verbose 0)
+  tramp-verbose 0
+  vc-handled-backends nil)
 
 (defvar tramp--test-enabled-checked nil
   "Cached result of `tramp--test-enabled'.
diff --git a/texi/tramp.texi b/texi/tramp.texi
index 7a6a1568ef..4f6b1743ea 100644
--- a/texi/tramp.texi
+++ b/texi/tramp.texi
@@ -1113,7 +1113,8 @@ command to transfer is similar to the @option{scp} method.
 
 @command{rsync} performs much better than @command{scp} when
 transferring files that exist on both hosts.  However, this advantage
-is lost if the file exists only on one side of the connection.
+is lost if the file exists only on one side of the connection, during
+the first file transfer.
 
 This method supports the @samp{-p} argument.
 
@@ -3327,8 +3328,8 @@ Another option is to create better backup file naming 
with user and
 host names prefixed to the file name.  For example, transforming
 @file{/etc/secretfile} to
 @file{~/.emacs.d/backups/!su:root@@localhost:!etc!secretfile}, set the
-@value{tramp} user option @code{tramp-backup-directory-alist} from
-the existing user option @code{backup-directory-alist}.
+@value{tramp} user option @code{tramp-backup-directory-alist} from the
+existing user option @code{backup-directory-alist}.
 
 Then @value{tramp} backs up to a file name that is transformed with a
 prefix consisting of the DIRECTORY name.  This file name prefixing
@@ -3350,10 +3351,12 @@ Example:
 The backup file name of
 @file{@trampfn{su,root@@localhost,/etc/secretfile}} would be
 @ifset unified
-@file{@trampfn{su,root@@localhost,~/.emacs.d/backups/!su:root@@localhost:!etc!secretfile~}}.
+@file{@trampfn{su,root@@localhost,~/.emacs.d/backups/@c
+!su:root@@localhost:!etc!secretfile~}}.
 @end ifset
 @ifset separate
-@file{@trampfn{su,root@@localhost,~/.emacs.d/backups/![su!root@@localhost]!etc!secretfile~}}.
+@file{@trampfn{su,root@@localhost,~/.emacs.d/backups/@c
+![su!root@@localhost]!etc!secretfile~}}.
 @end ifset
 
 @vindex auto-save-file-name-transforms
@@ -3798,15 +3801,21 @@ 
ssh@value{postfixhop}you@@remotehost@value{postfix}/path @key{RET}}
 
 Each involved method must be an inline method (@pxref{Inline methods}).
 
-@value{tramp} adds the ad-hoc definitions on the fly to
-@code{tramp-default-proxies-alist} and is available for reuse during
-that Emacs session.  Subsequent @value{tramp} connections to the same
-remote host can then use the shortcut form:
-@samp{@trampfn{ssh,you@@remotehost,/path}}.
+@value{tramp} adds the ad-hoc definitions as an ephemeral record to
+@code{tramp-default-proxies-alist}, which are available for reuse
+during that Emacs session.  Subsequent @value{tramp} connections to
+the same remote host can then use the abbreviated form
+@file{@trampfn{ssh,you@@remotehost,/path}}.
 
+@anchor{tramp-show-ad-hoc-proxies}
 @defopt tramp-show-ad-hoc-proxies
 If this user option is non-@code{nil}, ad-hoc definitions are kept in
-remote file names instead of showing the shortcuts.
+remote file names instead of showing the abbreviations.  This is
+useful if the ad-hoc proxy definition shall be used in further Emacs
+sessions, kept in configuration files of recentf and other packages.
+
+A non-@code{nil} setting of this option has effect only if set before
+the connection is esta

[nongnu] elpa/dirvish updated (3a4edf669a -> 8a2aafdc37)

2025-02-27 Thread ELPA Syncer
elpasync pushed a change to branch elpa/dirvish.

  from  3a4edf669a docs: mention new options in `dirvish-side`
   new  6f0b2ce126 refactor: make `dirvish--attrs-expand` handle essential 
attributes
   new  8a2aafdc37 BREAKING: preview text file using proxy buffer (#184 
#195 #270 #295)


Summary of changes:
 dirvish-extras.el|   3 +-
 dirvish-widgets.el   |  16 ++---
 dirvish.el   | 200 ---
 docs/CUSTOMIZING.org |  31 +---
 4 files changed, 159 insertions(+), 91 deletions(-)



[nongnu] elpa/dirvish 8a2aafdc37 2/2: BREAKING: preview text file using proxy buffer (#184 #195 #270 #295)

2025-02-27 Thread ELPA Syncer
branch: elpa/dirvish
commit 8a2aafdc377453d8d5b92db6009a8ec4a131834d
Author: Alex Lu 
Commit: Alex Lu 

BREAKING: preview text file using proxy buffer (#184 #195 #270 #295)

This commit addresses:

1. make preview window read only (#270)
2. add back `dirvish-preview-setup-hook` (#184)
3. add hook `dirvish-util-buffer-init-hook` (#195)
4. prevent focus competition when preview window is focused (#295)

As of now, all of the preview buffers are just read-only "proxy" buffer 
(meaning
although they can be edited directly, but it's not recommended to do so 
since
these buffers is not fully initialized and should be only used as preview, 
you
can navigate through the file contents, but do not attempt to edit them in 
that
buffer.  More commands relates to the preview buffer might be added in the
future.
---
 dirvish-widgets.el   |  16 +++--
 dirvish.el   | 172 ++-
 docs/CUSTOMIZING.org |  27 +---
 3 files changed, 141 insertions(+), 74 deletions(-)

diff --git a/dirvish-widgets.el b/dirvish-widgets.el
index d9c0f6032c..168845bcfc 100644
--- a/dirvish-widgets.el
+++ b/dirvish-widgets.el
@@ -568,12 +568,9 @@ GROUP-TITLES is a list of group titles."
 
 (cl-defmethod dirvish-preview-dispatch ((recipe (head img)) dv)
   "Insert RECIPE as an image at preview window of DV."
-  (let ((buf (dirvish--util-buffer 'preview dv nil t))
-(img (cdr recipe)))
-(with-current-buffer buf
-  (erase-buffer) (remove-overlays)
-  (font-lock-mode -1)
-  (insert " ")
+  (with-current-buffer (dirvish--util-buffer 'preview dv nil t)
+(let ((img (cdr recipe)) buffer-read-only)
+  (erase-buffer) (remove-overlays) (insert " ")
   (add-text-properties 1 2 `(display ,img rear-nonsticky t keymap 
,image-map))
   (pcase-let ((`(,iw . ,ih) (image-size img)))
 (let* ((p-window (dv-preview-window dv))
@@ -599,7 +596,7 @@ GROUP-TITLES is a list of group titles."
   (make-string (* h-pad 2) ?\n))
   (align-regexp beg (point) "\\(\\\t\\)[^\\\t\\\n]+" 1 4 t)
   (goto-char 1)
-  buf)))
+  (current-buffer
 
 (cl-defmethod dirvish-preview-dispatch ((recipe (head cache)) dv)
   "Generate cache image according to RECIPE and session DV."
@@ -616,8 +613,9 @@ GROUP-TITLES is a list of group titles."
 (process-put proc 'path path)
 (set-process-sentinel proc #'dirvish-media--cache-sentinel)))
 (with-current-buffer buf
-  (erase-buffer) (remove-overlays)
-  (insert " [Dirvish] Generating image cache...") buf)))
+  (let (buffer-read-only)
+(erase-buffer) (remove-overlays) (insert "\n Generating image..."))
+  buf)))
 
 (defun dirvish-media--img-size (window &optional height)
   "Get corresponding image width or HEIGHT in WINDOW."
diff --git a/dirvish.el b/dirvish.el
index 511b4c387e..66b5832309 100644
--- a/dirvish.el
+++ b/dirvish.el
@@ -200,6 +200,14 @@ Works all the same as `dirvish-hide-details' but for 
cursor."
 Notice that it only take effects on the built-in `dired' preview dispatcher."
   :group 'dirvish :type 'boolean)
 
+(defcustom dirvish-preview-large-file-threshold 1048576 ; 1mb
+  "Text files larger than this byte limit are previewed partially."
+  :group 'dirvish :type '(natnum :tag "File size in bytes"))
+
+(defcustom dirvish-preview-buffers-max-count 5
+  "Number of file buffers to keep open temporarily during preview."
+  :group 'dirvish :type '(natnum :tag "Number of buffers"))
+
 (defconst dirvish-emacs-bin
   (cond
((and invocation-directory invocation-name)
@@ -261,6 +269,16 @@ input for `dirvish-redisplay-debounce' seconds."
   "Executed after finding a entry."
   :group 'dirvish :type 'hook)
 
+(defcustom dirvish-preview-setup-hook nil
+  "Functions called after a preview buffer gets placed in the preview window.
+The value should be a list of functions take no argument, and they are
+called with the preview window temporarily selected."
+  :group 'dirvish :type 'hook)
+
+(defcustom dirvish-util-buffer-init-hook nil
+  "Functions called in the mode-line / header-line buffer upon initialization."
+  :group 'dirvish :type 'hook)
+
  Internal variables
 
 (defvar dirvish-scopes
@@ -281,10 +299,8 @@ input for `dirvish-redisplay-debounce' seconds."
 (defvar dirvish--reset-keywords '(:free-space :content-begin))
 (defvar dirvish--selected-window nil)
 (defvar dirvish--session-hash (make-hash-table :test #'equal))
-(defvar dirvish--parent-hash (make-hash-table :test #'equal))
 (defvar dirvish--available-attrs '())
 (defvar dirvish--available-preview-dispatchers '())
-(defvar image-dired-thumbnail-buffer)
 (defvar server-buffer-clients)
 (defvar-local dirvish--props '())
 (defvar-local dirvish--attrs-hash nil)
@@ -399,6 +415,10 @@ A dirvish preview dispatcher is a function consumed by
   "Return Dirvish session attached to current buffer, if there is any."
   (gethash (di

[nongnu] elpa/dirvish 6f0b2ce126 1/2: refactor: make `dirvish--attrs-expand` handle essential attributes

2025-02-27 Thread ELPA Syncer
branch: elpa/dirvish
commit 6f0b2ce12679afedb6cb940e30e4ac063215ab55
Author: Alex Lu 
Commit: Alex Lu 

refactor: make `dirvish--attrs-expand` handle essential attributes
---
 dirvish-extras.el|  3 +--
 dirvish.el   | 30 +++---
 docs/CUSTOMIZING.org |  4 +++-
 3 files changed, 19 insertions(+), 18 deletions(-)

diff --git a/dirvish-extras.el b/dirvish-extras.el
index cb84852688..34296197ab 100644
--- a/dirvish-extras.el
+++ b/dirvish-extras.el
@@ -83,8 +83,7 @@ RECIPE has the same form as `dirvish-default-layout'."
 (remq item old-val
 (mapc #'require '(dirvish-widgets dirvish-vc dirvish-collapse))
 (dirvish--render-attrs 'clear)
-(dirvish-prop :attrs
-  (dirvish--attrs-expand (append '(hl-line symlink-target) new-val)))
+(dirvish-prop :attrs (dirvish--attrs-expand new-val))
 (dirvish--render-attrs)))
 
 ;;;###autoload (autoload 'dirvish-setup-menu "dirvish-extras" nil t)
diff --git a/dirvish.el b/dirvish.el
index 3066a37d2e..511b4c387e 100644
--- a/dirvish.el
+++ b/dirvish.el
@@ -600,7 +600,7 @@ FROM-QUIT is used to signify the calling command."
 
 (defun dirvish--attrs-expand (attrs)
   "Expand ATTRS from `dirvish--available-attrs'."
-  (sort (cl-loop for attr in attrs
+  (sort (cl-loop for attr in (append '(hl-line symlink-target) attrs)
  for lst = (alist-get attr dirvish--available-attrs)
  for (idx width pred render ov _) = lst
  collect (list idx (eval width) pred render ov))
@@ -609,11 +609,11 @@ FROM-QUIT is used to signify the calling command."
 (defun dirvish--check-dependencies (dv)
   "Require necessary extensions for DV, raise warnings for missing 
executables."
   (cl-loop
+   with (dps . attrs) = (cons dirvish-preview-dispatchers dirvish-attributes)
with (m . h) = (cons dirvish-mode-line-format dirvish-header-line-format)
with (ml . mr) = (cons (plist-get m :left) (plist-get m :right))
with (hl . hr) = (cons (plist-get h :left) (plist-get h :right))
-   with attrs = (append '(hl-line symlink-target) dirvish-attributes)
-   with feat-reqs = (append dirvish-preview-dispatchers attrs ml mr hl hr)
+   with feat-reqs = (append dps attrs ml mr hl hr)
when feat-reqs do (require 'dirvish-widgets)
for (lib . feat) in dirvish--libraries do
(when (cl-intersection feat feat-reqs) (require lib))
@@ -1165,17 +1165,17 @@ Dirvish sets `revert-buffer-function' to this function."
 (defun dirvish--create-parent-buffer (dv dir index level)
   "Create parent buffer at DIR in DV selecting file INDEX.
 LEVEL is the depth of current window."
-  (let ((index (directory-file-name index))
-(buf (dirvish--util-buffer (format "parent-%s" level) dv nil t))
-(str (or (gethash dir dirvish--parent-hash)
- (let ((flags dired-actual-switches))
-   (with-temp-buffer (dired-insert-directory dir flags)
- (buffer-string)
-(attrs (append
-'(hl-line symlink-target)
-(cond ((memq 'all-the-icons dirvish-attributes) 
'(all-the-icons))
-  ((memq 'nerd-icons dirvish-attributes) '(nerd-icons))
-  ((memq 'vscode-icon dirvish-attributes) 
'(vscode-icon))
+  (let* ((index (directory-file-name index))
+ (buf (dirvish--util-buffer (format "parent-%s" level) dv nil t))
+ (str (or (gethash dir dirvish--parent-hash)
+  (let ((flags dired-actual-switches))
+(with-temp-buffer (dired-insert-directory dir flags)
+  (buffer-string)
+ (attrs (if (not (eq (dv-type dv) 'side)) dirvish-attributes
+  (bound-and-true-p dirvish-side-attributes)))
+ (icon (cond ((memq 'all-the-icons attrs) '(all-the-icons))
+ ((memq 'nerd-icons attrs) '(nerd-icons))
+ ((memq 'vscode-icon attrs) '(vscode-icon)
 (with-current-buffer buf
   (dirvish-directory-view-mode)
   (dirvish-prop :dv (dv-id dv))
@@ -1190,7 +1190,7 @@ LEVEL is the depth of current window."
   (font-lock-mode 1)
   (dired-goto-file-1 (file-name-nondirectory index) index (point-max))
   (dirvish--maybe-toggle-cursor '(box . 0)) ; always hide cursor in parents
-  (dirvish-prop :attrs (dirvish--attrs-expand attrs))
+  (dirvish-prop :attrs (dirvish--attrs-expand icon))
   (setq-local dirvish--attrs-hash (make-hash-table :test #'equal))
   (dirvish--render-attrs) buf)))
 
diff --git a/docs/CUSTOMIZING.org b/docs/CUSTOMIZING.org
index 7c1eb429ac..bcd314ba49 100644
--- a/docs/CUSTOMIZING.org
+++ b/docs/CUSTOMIZING.org
@@ -304,7 +304,9 @@ you don't have to require them explicitly if you installed 
dirvish from MELPA or
   (setq dirvish-mode-line-format
 '(:left (sort symlink) :right (omit yank index)))
   (setq dirvish-attributes
-'(nerd-icons file-time file-size coll

[elpa] externals/bicep-ts-mode 87ef5c1d64 8/9: Merge pull request #5 from josteink/renovate/actions-checkout-4.x

2025-02-27 Thread ELPA Syncer
branch: externals/bicep-ts-mode
commit 87ef5c1d64f4479cf6a3cd98db4d5b0a554984bd
Merge: e705bddf55 ac8d5970f8
Author: Jostein Kjønigsen 
Commit: GitHub 

Merge pull request #5 from josteink/renovate/actions-checkout-4.x

Update actions/checkout action to v4
---
 .github/workflows/ci.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index cb4ceae9dd..15f1becbde 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -16,7 +16,7 @@ jobs:
   - 30.1
   - snapshot
 steps:
-- uses: actions/checkout@v2
+- uses: actions/checkout@v4
   with:
 node-version: '22'
 - uses: actions/setup-python@v2



[elpa] externals/bicep-ts-mode ffccb664c3 7/9: Update actions/setup-python action to v5

2025-02-27 Thread ELPA Syncer
branch: externals/bicep-ts-mode
commit ffccb664c399122a03748f9af510961f6a0bc064
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Commit: GitHub 

Update actions/setup-python action to v5
---
 .github/workflows/ci.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index cb4ceae9dd..6880fb3ea9 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -19,7 +19,7 @@ jobs:
 - uses: actions/checkout@v2
   with:
 node-version: '22'
-- uses: actions/setup-python@v2
+- uses: actions/setup-python@v5
 - uses: purcell/setup-emacs@master
   with:
 version: ${{ matrix.emacs_version }}



[elpa] externals/bicep-ts-mode 29a27c5987 4/9: Add build-badge.

2025-02-27 Thread ELPA Syncer
branch: externals/bicep-ts-mode
commit 29a27c5987d64d4bb93d8c7730ed2d473339c11d
Author: Jostein Kjønigsen 
Commit: Jostein Kjønigsen 

Add build-badge.
---
 README.md | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/README.md b/README.md
index 73c5506fcd..0d9800bc7d 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,7 @@
 # bicep-ts-mode
 
+[![CI](https://github.com/josteink/bicep-ts-mode/actions/workflows/ci.yml/badge.svg)](https://github.com/josteink/bicep-ts-mode/actions/workflows/ci.yml)
+
 [Bicep](https://github.com/Azure/bicep)-support for [GNU
 Emacs](https://www.gnu.org/software/emacs/), powered by the
 [tree-sitter](https://tree-sitter.github.io/tree-sitter/) parser library.



[nongnu] elpa/gptel ce042d692a: gptel: Use "model" instead of "GPT model" (#635)

2025-02-27 Thread ELPA Syncer
branch: elpa/gptel
commit ce042d692a5d31bb1aadcf5ad96817547b1b3045
Author: Henrik Ahlgren 
Commit: GitHub 

gptel: Use "model" instead of "GPT model" (#635)

GPT, or Generative Pre-trained Transformer, is a designation
originally used by OpenAI to describe their language models. Other
companies or researchers might develop models with similar
architectures, but "GPT" primarily associates with OpenAI's series.

* gptel.el (gptel-model, gptel-mode): Use "model" instead of "GPT
model".
* README.md: Ditto.
* gptel-transient.el (gptel--infix-provider): Ditto.
---
 README.org | 2 +-
 gptel-transient.el | 2 +-
 gptel.el   | 4 ++--
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/README.org b/README.org
index 5f6ba6b5eb..f0b518df5e 100644
--- a/README.org
+++ b/README.org
@@ -887,7 +887,7 @@ gptel provides a few powerful, general purpose and flexible 
commands.  You can d
 2. If a region is selected, the conversation will be limited to its contents.
 
 3. Call =M-x gptel-send= with a prefix argument (~C-u~)
-   - to set chat parameters (GPT model, backend, system message etc) for this 
buffer,
+   - to set chat parameters (model, backend, system message etc) for this 
buffer,
- include quick instructions for the next request only,
- to add additional context -- regions, buffers or files -- to gptel,
- to read the prompt from or redirect the response elsewhere,
diff --git a/gptel-transient.el b/gptel-transient.el
index 3dbd97e311..14f2297eb5 100644
--- a/gptel-transient.el
+++ b/gptel-transient.el
@@ -909,7 +909,7 @@ responses."
 
 (transient-define-infix gptel--infix-provider ()
   "AI Provider for Chat."
-  :description "GPT Model"
+  :description "Model"
   :class 'gptel-provider-variable
   :prompt "Model: "
   :variable 'gptel-backend
diff --git a/gptel.el b/gptel.el
index 9525475125..e6eb36425f 100644
--- a/gptel.el
+++ b/gptel.el
@@ -617,7 +617,7 @@ sources:
 
 (defcustom gptel-model 'gpt-4o-mini
   (concat
-   "GPT Model for chat.
+   "Model for chat.
 
 The name of the model, as a symbol.  This is the name as expected
 by the LLM provider's API.
@@ -1282,7 +1282,7 @@ file."
(buttonize (concat "[" model "]")
 (lambda (&rest _) (gptel-menu)))
'mouse-face 'highlight
-   'help-echo "GPT model in use"))
+   'help-echo "Model in use"))
   (setq mode-line-process
 '(:eval (concat " "
  (buttonize (gptel--model-name gptel-model)



[elpa] externals/bicep-ts-mode ac8d5970f8 6/9: Update actions/checkout action to v4

2025-02-27 Thread ELPA Syncer
branch: externals/bicep-ts-mode
commit ac8d5970f8bd377beb30a08ca5fc7d660e09a326
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Commit: GitHub 

Update actions/checkout action to v4
---
 .github/workflows/ci.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index cb4ceae9dd..15f1becbde 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -16,7 +16,7 @@ jobs:
   - 30.1
   - snapshot
 steps:
-- uses: actions/checkout@v2
+- uses: actions/checkout@v4
   with:
 node-version: '22'
 - uses: actions/setup-python@v2



[elpa] externals/bicep-ts-mode d2e85801fb 9/9: Merge pull request #6 from josteink/renovate/actions-setup-python-5.x

2025-02-27 Thread ELPA Syncer
branch: externals/bicep-ts-mode
commit d2e85801fbbd73361c7304f378525406b980a2b9
Merge: 87ef5c1d64 ffccb664c3
Author: Jostein Kjønigsen 
Commit: GitHub 

Merge pull request #6 from josteink/renovate/actions-setup-python-5.x

Update actions/setup-python action to v5
---
 .github/workflows/ci.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 15f1becbde..013d46770a 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -19,7 +19,7 @@ jobs:
 - uses: actions/checkout@v4
   with:
 node-version: '22'
-- uses: actions/setup-python@v2
+- uses: actions/setup-python@v5
 - uses: purcell/setup-emacs@master
   with:
 version: ${{ matrix.emacs_version }}



[elpa] externals/bicep-ts-mode updated (5ca1392096 -> d2e85801fb)

2025-02-27 Thread ELPA Syncer
elpasync pushed a change to branch externals/bicep-ts-mode.

  from  5ca1392096 Replace recursionc with named-let.
   new  946eb74f55 Add makefile to build using Cask.
   new  511d47a4ff Add CI build
   new  29a27c5987 Add build-badge.
   new  d94679acce Add renovate.json
   new  e705bddf55 Merge pull request #4 from josteink/renovate/configure
   new  ac8d5970f8 Update actions/checkout action to v4
   new  87ef5c1d64 Merge pull request #5 from 
josteink/renovate/actions-checkout-4.x
   new  ffccb664c3 Update actions/setup-python action to v5
   new  d2e85801fb Merge pull request #6 from 
josteink/renovate/actions-setup-python-5.x


Summary of changes:
 .github/workflows/ci.yml | 29 +
 Cask |  4 
 README.md|  2 ++
 makefile | 17 +
 renovate.json|  6 ++
 5 files changed, 58 insertions(+)
 create mode 100644 .github/workflows/ci.yml
 create mode 100644 Cask
 create mode 100644 makefile
 create mode 100644 renovate.json



[elpa] externals/bicep-ts-mode 946eb74f55 1/9: Add makefile to build using Cask.

2025-02-27 Thread ELPA Syncer
branch: externals/bicep-ts-mode
commit 946eb74f55ceaf1902497b6c2f5917990ba5bb0b
Author: Jostein Kjønigsen 
Commit: Jostein Kjønigsen 

Add makefile to build using Cask.
---
 Cask |  4 
 makefile | 17 +
 2 files changed, 21 insertions(+)

diff --git a/Cask b/Cask
new file mode 100644
index 00..0562a45e27
--- /dev/null
+++ b/Cask
@@ -0,0 +1,4 @@
+(source gnu)
+
+(files "*.el")
+(package-file "bicep-ts-mode.el")
\ No newline at end of file
diff --git a/makefile b/makefile
new file mode 100644
index 00..c361851e2c
--- /dev/null
+++ b/makefile
@@ -0,0 +1,17 @@
+EMACS=$(shell which emacs) -Q -batch -L .
+WORKDIR=/tmp/bicep-ts-mode
+export HOME := $(WORKDIR)
+
+# all: test build
+all: build
+
+build:
+   cask build
+
+#test: build
+#  mkdir -p $(WORKDIR)
+#  + $(EMACS) -l bmx-mode-tests.el -f ert-run-tests-batch-and-exit
+
+clean:
+   rm -rf *.elc
+   rm -rf $(WORKDIR)



[elpa] externals/bicep-ts-mode d94679acce 3/9: Add renovate.json

2025-02-27 Thread ELPA Syncer
branch: externals/bicep-ts-mode
commit d94679acce212d1bbe52a403b6b707f4aabfd8b2
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Commit: GitHub 

Add renovate.json
---
 renovate.json | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/renovate.json b/renovate.json
new file mode 100644
index 00..5db72dd6a9
--- /dev/null
+++ b/renovate.json
@@ -0,0 +1,6 @@
+{
+  "$schema": "https://docs.renovatebot.com/renovate-schema.json";,
+  "extends": [
+"config:recommended"
+  ]
+}



[elpa] externals/bicep-ts-mode e705bddf55 5/9: Merge pull request #4 from josteink/renovate/configure

2025-02-27 Thread ELPA Syncer
branch: externals/bicep-ts-mode
commit e705bddf555e31f920f20eaeb34aca7399a4f624
Merge: 29a27c5987 d94679acce
Author: Jostein Kjønigsen 
Commit: GitHub 

Merge pull request #4 from josteink/renovate/configure

Configure Renovate
---
 renovate.json | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/renovate.json b/renovate.json
new file mode 100644
index 00..5db72dd6a9
--- /dev/null
+++ b/renovate.json
@@ -0,0 +1,6 @@
+{
+  "$schema": "https://docs.renovatebot.com/renovate-schema.json";,
+  "extends": [
+"config:recommended"
+  ]
+}



[elpa] externals/bicep-ts-mode 511d47a4ff 2/9: Add CI build

2025-02-27 Thread ELPA Syncer
branch: externals/bicep-ts-mode
commit 511d47a4ff1ab45d2e467edf1696bc453f1593dd
Author: Jostein Kjønigsen 
Commit: GitHub 

Add CI build
---
 .github/workflows/ci.yml | 29 +
 1 file changed, 29 insertions(+)

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
new file mode 100644
index 00..cb4ceae9dd
--- /dev/null
+++ b/.github/workflows/ci.yml
@@ -0,0 +1,29 @@
+name: CI
+
+on:
+  pull_request:
+  push:
+paths-ignore:
+- '**.md'
+
+jobs:
+  build:
+runs-on: ubuntu-latest
+strategy:
+  matrix:
+emacs_version:
+  - 29.1
+  - 30.1
+  - snapshot
+steps:
+- uses: actions/checkout@v2
+  with:
+node-version: '22'
+- uses: actions/setup-python@v2
+- uses: purcell/setup-emacs@master
+  with:
+version: ${{ matrix.emacs_version }}
+- uses: conao3/setup-cask@master
+
+- name: Run build
+  run: make all



[elpa] externals/denote-search ac701b674d 08/18: Allow searching in files referenced in a region (!!)

2025-02-27 Thread ELPA Syncer
branch: externals/denote-search
commit ac701b674dd0075e5732d31a3e5c3c832f7f7308
Author: Lucas Quintana 
Commit: Lucas Quintana 

Allow searching in files referenced in a region (!!)

This is actually pretty awesome.  Just mark a region with links to
other notes and `denote-search-files-referenced-in-region` will be able
to search in them.  But this works in every place where a Denote ID is
found, including ls outputs!
---
 README.md|   6 ++-
 README.org   | 112 ---
 denote-search.el |  47 ++-
 3 files changed, 147 insertions(+), 18 deletions(-)

diff --git a/README.md b/README.md
index 05ce416ff0..8fd5ee619c 100644
--- a/README.md
+++ b/README.md
@@ -39,8 +39,10 @@ in the sample configuration:
   :vc (:url "https://github.com/lmq-10/denote-search";
:rev :newest)
   :bind
-  ;; Start search with C-c s
-  ("C-c s" . denote-search)
+  ;; Customize keybindings to your liking
+  (("C-c s s" . denote-search)
+   ("C-c s d" . denote-search-marked-dired-files)
+   ("C-c s r" . denote-search-files-referenced-in-region))
   :custom
   ;; Disable help string (set it once you learn the commands)
   ;; (denote-search-help-string "")
diff --git a/README.org b/README.org
index 03c7bbde68..48deb3624e 100644
--- a/README.org
+++ b/README.org
@@ -4,8 +4,8 @@
 #+language: en
 #+options: ':t toc:nil author:t email:t num:t
 #+startup: content
-#+macro: stable-version 0.2.0
-#+macro: release-date 2024-12-28
+#+macro: stable-version 0.3.0
+#+macro: release-date 2024-12-31
 #+export_file_name: denote-search.texi
 #+texinfo_filename: denote-search.info
 #+texinfo_dir_category: Emacs misc features
@@ -32,7 +32,7 @@ The documentation furnished herein corresponds to stable 
version
 :COPYING: t
 :END:
 
-Copyright (C) 2024  Lucas Quintana
+Copyright (C) 2024-2025  Lucas Quintana
 
 #+begin_quote
 Permission is granted to copy, distribute and/or modify this document
@@ -63,6 +63,13 @@ info:emacs#Xref).
 - It allows to search in the files matched by a previous search, which
   as far as I know is not possible with other similar packages.
 
+- It allows to search in the files referenced in a region, with the
+  command ~denote-search-files-referenced-in-region~.  That is great
+  for metanotes, shell outputs of =ls=, and more.
+
+- It also allows to search in marked Dired files, with the command
+  ~denote-search-marked-dired-files~.
+
 - It doesn't rely on the minibuffer to output results, and it thus
   doesn't need a completion stack in order to work (~helm~,
   ~vertico+consult~, etc.).
@@ -101,15 +108,15 @@ is.  Howm has thus powerful search facilities built-in, 
some of which
 * Points of entry
 
 #+findex: denote-search
-The main (and in practical terms, only) point of entry of this package
-is the ~denote-search~ command.  This command will prompt for a
-string.  You should input a valid regular expression, as understood by
-the tool which will actually perform the search.  Which program that
-is depends on the value of ~xref-search-program~, and its arguments
-are taken from ~xref-search-program-alist~.  Note that ~denote-search~
-is really just a wrapper for Xref, albeit an useful one, so anything
-related to the actual search results is the matter (for bad or for
-good) of that library and/or the program it calls.
+The main point of entry of this package is the ~denote-search~
+command.  This command will prompt for a string.  You should input a
+valid regular expression, as understood by the tool which will
+actually perform the search.  Which program that is depends on the
+value of ~xref-search-program~, and its arguments are taken from
+~xref-search-program-alist~.  Note that ~denote-search~ is really just
+a wrapper for Xref, albeit an useful one, so anything related to the
+actual search results is the matter (for bad or for good) of that
+library and/or the program it calls.
 
 Once the (synchronous) search is over, a new buffer populated with the
 results, if any, will be made current.  On that buffer, the user will
@@ -120,6 +127,81 @@ in the matched files (see [[*focused search][focused 
search]]).
 History is available when searching.  Press ~M-p~
 (~previous-history-element~) to view past queries.
 
+There are two additional commands that can start a search:
+~denote-search-marked-dired-files~ and
+~denote-search-files-referenced-in-region~.  They allow searching a
+restricted subset of files and are described in the next sections.
+
+** Searching in marked Dired files
+
+#+findex: denote-search-marked-dired-files
+The command ~denote-search-marked-dired-files~ acts just like
+~denote-search~, but it restricts the search to the files marked in
+current Dired buffer (see [[info:emacs#Dired][Marks vs Flags]]).  This is 
useful if you only
+want to search some files, though depending on the case maybe you'd
+be better served by our built-in filtering capabilities; see
+[[*filtering the search results][f

[elpa] externals/denote-search efc1b2e8ee 15/18: Add a simple command to clean filters

2025-02-27 Thread ELPA Syncer
branch: externals/denote-search
commit efc1b2e8ee30fcfaeb3bb6d9dafec0ef2e17edcc
Author: Lucas Quintana 
Commit: Lucas Quintana 

Add a simple command to clean filters
---
 denote-search.el | 12 +++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/denote-search.el b/denote-search.el
index a85a2d95c4..daf0abd9b6 100644
--- a/denote-search.el
+++ b/denote-search.el
@@ -418,6 +418,15 @@ See `denote-search-exclude-files-with-keywords' for 
details."
   (denote-search-only-include-files
(mapcar (lambda (kw) (concat "_" kw)) keywords)))
 
+(defun denote-search-clean-all-filters ()
+  "Run the last search with the full set of files in `denote-directory'.
+
+This effectively gets ride of any interactive filter applied (by the
+means of e.g. `denote-search-exclude-files')."
+  (interactive)
+  (denote-search denote-search--last-query)
+  (message "Cleaned all filters"))
+
  Keymap and mode definition:
 
 (defvar-keymap denote-search-mode-map
@@ -432,7 +441,8 @@ See `denote-search-exclude-files-with-keywords' for 
details."
   "x" #'denote-search-exclude-files
   "i" #'denote-search-only-include-files
   "X" #'denote-search-exclude-files-with-keywords
-  "I" #'denote-search-only-include-files-with-keywords)
+  "I" #'denote-search-only-include-files-with-keywords
+  "G" #'denote-search-clean-all-filters)
 
 (define-minor-mode denote-search-mode
   "Minor mode enabled in the buffer generated by `denote-search'.



[elpa] externals/company 8d599ebc8a: company-capf--post-completion: Improve eshell compatibility

2025-02-27 Thread ELPA Syncer
branch: externals/company
commit 8d599ebc8a9aca27c0a6157aeb31c5b7f05ed0a3
Author: Dmitry Gutov 
Commit: Dmitry Gutov 

company-capf--post-completion: Improve eshell compatibility

It (as opposed to 'M-x shell' already) really needs the full prefix string, 
not
just up to the closest boundary.

Disables the insertion of space, fixes restarting after directory 
completion.
---
 company-capf.el | 7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/company-capf.el b/company-capf.el
index baeacaa283..8d159608c9 100644
--- a/company-capf.el
+++ b/company-capf.el
@@ -238,7 +238,8 @@ so we can't just use the preceding variable instead.")
 (defun company-capf--post-completion (arg)
   (let* ((res company-capf--current-completion-data)
  (exit-function (plist-get (nthcdr 4 res) :exit-function))
- (table (nth 3 res)))
+ (table (nth 3 res))
+ (prefix (nth 0 (company-capf--prefix
 (if exit-function
 ;; Follow the example of `completion--done'.
 (funcall exit-function arg
@@ -247,8 +248,8 @@ so we can't just use the preceding variable instead.")
  ;; particular candidate explicitly (it only checks whether
  ;; further completions exist). Whereas company user can press
  ;; RET (or use implicit completion with company-tng).
- (if (= (car (completion-boundaries arg table nil ""))
-(length arg))
+ (if (= (car (completion-boundaries prefix table nil ""))
+(length prefix))
  'exact
'finished)
 



[nongnu] elpa/dirvish 2781c59ecb: fix(core): ensure all preview buffers get killed on clear stage

2025-02-27 Thread ELPA Syncer
branch: elpa/dirvish
commit 2781c59ecbbe6aeb75f68129e1ae6d374305f3b1
Author: Alex Lu 
Commit: Alex Lu 

fix(core): ensure all preview buffers get killed on clear stage
---
 dirvish.el | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/dirvish.el b/dirvish.el
index 3ce350b143..0d862002f7 100644
--- a/dirvish.el
+++ b/dirvish.el
@@ -964,7 +964,6 @@ When PROC finishes, fill preview buffer with process 
result."
   "Update preview content of INDEX for DV."
   (when-let* ((window (dv-preview-window dv))
   ((window-live-p window))
-  (orig-bufs (buffer-list))
   (ext (downcase (or (file-name-extension index) "")))
   (fns (with-current-buffer (window-buffer (dv-root-window dv))
  (dirvish-prop :preview-dps)))
@@ -972,8 +971,8 @@ When PROC finishes, fill preview buffer with process 
result."
 for rcp = (funcall fn index ext window dv) thereis
 (and rcp (dirvish-preview-dispatch rcp dv)
 (setq-local other-window-scroll-buffer buf)
-(set-window-buffer window buf)
-(unless (memq buf orig-bufs) (push buf (dv-preview-buffers dv)
+(cl-pushnew buf (dv-preview-buffers dv))
+(set-window-buffer window buf)))
 
  Attributes
 



[elpa] externals/denote-search 7b398fd5fb 09/18: Add support for handling `denote-directory-files' returning nil

2025-02-27 Thread ELPA Syncer
branch: externals/denote-search
commit 7b398fd5fbc82c47c17c4eec40568e39ce155fe5
Author: Grant Rettke 
Commit: Grant Rettke 

Add support for handling `denote-directory-files' returning nil

When calling `denote-search', if the `denote-directory' contains no text 
files, Xref previously failed silently. This update improves user experience by 
providing a clear explanation when no valid files are found.
---
 denote-search.el | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/denote-search.el b/denote-search.el
index 28334d3644..4c59dd1d8b 100644
--- a/denote-search.el
+++ b/denote-search.el
@@ -238,7 +238,8 @@ The results are populated in a buffer whose major mode is
  (xref--analyze
   (xref-matches-in-files
query
-   (or set (denote-directory-files nil nil :text-only))
+   (or set (denote-directory-files nil nil :text-only)
+   (user-error "Sorry, the directory `%s' doesn't have any text 
files to search." denote-directory))
 (or xref-alist (user-error "No matches for `%s'" query))
 ;; Set internal variables for last set of files and last query
 (setq denote-search--last-files nil)



[nongnu] elpa/evil ad3e95f6e3: Fix g$ putting cursor on start of next visual line

2025-02-27 Thread ELPA Syncer
branch: elpa/evil
commit ad3e95f6e3253ddf2d33377ebbff7c82082ab75a
Author: Axel Forsman 
Commit: Axel Forsman 

Fix g$ putting cursor on start of next visual line

Normal mode "g$" put the cursor on the start of the next visual line
instead of the end of the current one.

Fixes #1244, fixes #1963
---
 evil-commands.el | 3 ++-
 evil-common.el   | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/evil-commands.el b/evil-commands.el
index 0d0a1e85b7..9b350ee9db 100644
--- a/evil-commands.el
+++ b/evil-commands.el
@@ -176,7 +176,8 @@ If COUNT is given, move COUNT - 1 lines downward first."
   "Move the cursor to the last character of the current screen line.
 If COUNT is given, move COUNT - 1 screen lines downward first."
   :type inclusive
-  (end-of-visual-line count))
+  (end-of-visual-line count)
+  (evil-move-cursor-back t))
 
 (evil-define-motion evil-end-of-line-or-visual-line (count)
   "Move the cursor to the last character of the current screen
diff --git a/evil-common.el b/evil-common.el
index f7df526c45..aaeb8e1b72 100644
--- a/evil-common.el
+++ b/evil-common.el
@@ -1237,6 +1237,7 @@ If STATE is given it used a parsing state at point."
 ;; further, those motions move point to the beginning resp. the end of
 ;; the line (we never want point to leave its column). The code here
 ;; comes from simple.el, and I hope it will work in future.
+(declare-function evil-end-of-visual-line "evil-commands")
 (defun evil-line-move (count &optional noerror)
   "Like `line-move' but conserves the column.
 Signal an error at buffer boundaries unless NOERROR is non-nil."
@@ -1250,7 +1251,7 @@ Signal an error at buffer boundaries unless NOERROR is 
non-nil."
 (if (and line-move-visual
  (eq temporary-goal-column most-positive-fixnum)
  (memq last-command '(next-line previous-line)))
-(let (temporary-goal-column) (end-of-visual-line (1+ count)))
+(let (temporary-goal-column) (evil-end-of-visual-line (1+ count)))
   (condition-case err
   (line-move count)
 ((beginning-of-buffer end-of-buffer)



[nongnu] elpa/treesit-fold 6216c9d4f5: chore: Update copyright info

2025-02-27 Thread ELPA Syncer
branch: elpa/treesit-fold
commit 6216c9d4f57c15ac7b30663d40c84f25bd9d89dd
Author: JenChieh 
Commit: JenChieh 

chore: Update copyright info
---
 treesit-fold-indicators.el | 3 ++-
 treesit-fold-parsers.el| 3 ++-
 treesit-fold-summary.el| 3 ++-
 treesit-fold-util.el   | 3 ++-
 treesit-fold.el| 3 +--
 5 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/treesit-fold-indicators.el b/treesit-fold-indicators.el
index 5334b7b2b9..dce783ce2a 100644
--- a/treesit-fold-indicators.el
+++ b/treesit-fold-indicators.el
@@ -1,6 +1,7 @@
 ;;; treesit-fold-indicators.el --- Display indicators for folding range  -*- 
lexical-binding: t; -*-
 
-;; Copyright (C) 2021-2025  Shen, Jen-Chieh
+;; Copyright (C) 2021-2025  emacs-tree-sitter maintainers
+
 ;; Created date 2021-10-04 20:03:12
 
 ;; This file is NOT part of GNU Emacs.
diff --git a/treesit-fold-parsers.el b/treesit-fold-parsers.el
index fe3af605ad..4c5981bd83 100644
--- a/treesit-fold-parsers.el
+++ b/treesit-fold-parsers.el
@@ -1,6 +1,7 @@
 ;;; treesit-fold-parsers.el --- Adapter layer to Tree-Sitter  -*- 
lexical-binding: t; -*-
 
-;; Copyright (C) 2021-2025  Shen, Jen-Chieh
+;; Copyright (C) 2021-2025  emacs-tree-sitter maintainers
+
 ;; Created date 2021-10-04 17:45:48
 
 ;; This file is NOT part of GNU Emacs.
diff --git a/treesit-fold-summary.el b/treesit-fold-summary.el
index d9e6efb988..06c35a8879 100644
--- a/treesit-fold-summary.el
+++ b/treesit-fold-summary.el
@@ -1,6 +1,7 @@
 ;;; treesit-fold-summary.el --- Extract summary from fold region  -*- 
lexical-binding: t; -*-
 
-;; Copyright (C) 2021-2025  Shen, Jen-Chieh
+;; Copyright (C) 2021-2025  emacs-tree-sitter maintainers
+
 ;; Created date 2021-10-04 16:59:22
 
 ;; This file is NOT part of GNU Emacs.
diff --git a/treesit-fold-util.el b/treesit-fold-util.el
index db633aae65..df38d4513e 100644
--- a/treesit-fold-util.el
+++ b/treesit-fold-util.el
@@ -1,6 +1,7 @@
 ;;; treesit-fold-util.el --- Utility module  -*- lexical-binding: t; -*-
 
-;; Copyright (C) 2021-2025  Shen, Jen-Chieh
+;; Copyright (C) 2021-2025  emacs-tree-sitter maintainers
+
 ;; Created date 2021-10-04 20:19:42
 
 ;; This file is NOT part of GNU Emacs.
diff --git a/treesit-fold.el b/treesit-fold.el
index 9ccf61c172..ec19cc5b69 100644
--- a/treesit-fold.el
+++ b/treesit-fold.el
@@ -1,7 +1,6 @@
 ;;; treesit-fold.el --- Code folding using treesit  -*- lexical-binding: t; -*-
 
-;; Copyright (C) 2021  Junyi Hou
-;; Copyright (C) 2021-2025  Shen, Jen-Chieh
+;; Copyright (C) 2021-2025  emacs-tree-sitter maintainers
 
 ;; Created date 2021-08-11 14:12:37
 



[elpa] externals/transient 4498fec575 21/27: transient--preserve-window-p: New function

2025-02-27 Thread Jonas Bernoulli via
branch: externals/transient
commit 4498fec575e1aedb672b04f7525254de3f4bc553
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

transient--preserve-window-p: New function
---
 lisp/transient.el | 18 +++---
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/lisp/transient.el b/lisp/transient.el
index ff405c3a0a..aa4cbe84ce 100644
--- a/lisp/transient.el
+++ b/lisp/transient.el
@@ -2580,13 +2580,7 @@ value.  Otherwise return CHILDREN as is.")
 (defun transient--suspend-override (&optional nohide)
   (transient--debug 'suspend-override)
   (transient--timer-cancel)
-  (let ((show (if nohide 'fixed transient-show-during-minibuffer-read)))
-(when (and (integerp show)
-   (window-live-p transient--window)
-   (< (frame-height (window-frame transient--window))
-  (+ (abs show)
- (window-height transient--window
-  (setq show (natnump show)))
+  (let ((show (transient--preserve-window-p nohide)))
 (cond ((not show)
(transient--delete-window))
   ((and transient--prefix transient--redisplay-key)
@@ -4152,6 +4146,16 @@ have a history of their own.")
 (kill-buffer transient--buffer))
   (setq transient--buffer nil))
 
+(defun transient--preserve-window-p (nohide)
+  (let ((show (if nohide 'fixed transient-show-during-minibuffer-read)))
+(when (and (integerp show)
+   (window-live-p transient--window)
+   (< (frame-height (window-frame transient--window))
+  (+ (abs show)
+ (window-height transient--window
+  (setq show (natnump show)))
+show))
+
 ;;; Format
 
 (defun transient--format-hint ()



[elpa] externals/denote-search 1ff3b2e06d 02/18: Fix wording

2025-02-27 Thread ELPA Syncer
branch: externals/denote-search
commit 1ff3b2e06d1c1d46ea7bddd3d240416b8223dc49
Author: Lucas Quintana 
Commit: Lucas Quintana 

Fix wording
---
 README.md| 17 -
 README.org   |  2 +-
 denote-search.el |  4 ++--
 3 files changed, 11 insertions(+), 12 deletions(-)

diff --git a/README.md b/README.md
index c544bef480..f5c1c17fff 100644
--- a/README.md
+++ b/README.md
@@ -1,19 +1,18 @@
 # denote-search: A simple search utility for Denote
 
-This package provides a search functionality for Denote, the
-simple-to-use, focused-in-scope, and effective note-taking tool for
-Emacs.
+This package provides a search utility for Denote, the simple-to-use,
+focused-in-scope, and effective note-taking tool for Emacs.
 
-The command `denote-search` is the main point of entry. It accepts a
+The command `denote-search` is the main point of entry.  It accepts a
 query, which should be a regular expression, and then searches the
-contents of all the notes stored in `denote-directory` for it. The
+contents of all the notes stored in `denote-directory` for it.  The
 results are put in a buffer which allows folding and further
-filtering; all standard commands offered by xref are available as
+filtering; all standard commands offered by Xref are available as
 well.
 
 This package has the same code principles as Denote: to be
-simple-to-use, focused-in-scope, and effective.  We build upon Xref
-to be good Emacs citizens, and don't use any dependencies other
-than Denote and built-in libraries.
+simple-to-use, focused-in-scope, and effective.  We build upon Xref to
+be good Emacs citizens, and don't use any dependencies other than
+Denote and built-in libraries.
 
 See the `README.org` file for a comprehensive manual.
diff --git a/README.org b/README.org
index c3145337be..a3469b05ab 100644
--- a/README.org
+++ b/README.org
@@ -205,7 +205,7 @@ notes with the "science" keyword, without the "personal" 
keyword, and
 which mention "Maxwell" somewhere in the text. The procedure is as
 follows:
 
-- =M-x denote-search RET maxwell RET=[fn:3]
+- =M-x denote-search RET maxwell RET= [fn:3]
 - =i _science RET=
 - =x _personal RET=
 - =f quantum mechanics RET=
diff --git a/denote-search.el b/denote-search.el
index b86fd3fba6..e0b52e8f66 100644
--- a/denote-search.el
+++ b/denote-search.el
@@ -26,7 +26,7 @@
 
 ;;; Commentary:
 
-;; This package provides a search functionality for Denote, the
+;; This package provides a search utility for Denote, the
 ;; simple-to-use, focused-in-scope, and effective note-taking tool for
 ;; Emacs.
 ;;
@@ -38,7 +38,7 @@
 ;; well.
 ;;
 ;; This package has the same code principles as Denote: to be
-;; simple-to-use, focused-in-scope, and effective.  We build upon xref
+;; simple-to-use, focused-in-scope, and effective.  We build upon Xref
 ;; to be good Emacs citizens, and don't use any dependencies other
 ;; than Denote and built-in libraries.
 



[nongnu] elpa/tuareg updated (f661844ba9 -> 1600fdad28)

2025-02-27 Thread ELPA Syncer
elpasync pushed a change to branch elpa/tuareg.

  from  f661844ba9 Merge pull request #319 from ocaml/scratch/sync
   new  f5906fa81a Indent parenthesized if and match expressions properly
   new  10bfb614ba Fix typo and respond to code review
   new  1600fdad28 Merge pull request #317 from DemiMarie/patch-1


Summary of changes:
 tuareg.el | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)



[nongnu] elpa/tuareg f5906fa81a 1/3: Indent parenthesized if and match expressions properly

2025-02-27 Thread ELPA Syncer
branch: elpa/tuareg
commit f5906fa81aea7d930a8033f6a7ae51887dcc2068
Author: Demi Marie Obenour 
Commit: GitHub 

Indent parenthesized if and match expressions properly

This extends the approach used for `begin match ... end` to also cover 
`(match ... )` and `(if ...)`.
---
 tuareg.el | 7 +--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/tuareg.el b/tuareg.el
index 4d199279e8..f38a445e16 100644
--- a/tuareg.el
+++ b/tuareg.el
@@ -2210,10 +2210,13 @@ Return values can be
  (and (not (smie-rule-bolp))
   (cond ((smie-rule-prev-p "d=")
  (smie-rule-parent tuareg-default-indent))
-((smie-rule-prev-p "begin") (smie-rule-parent)
+((or (smie-rule-prev-p "begin") (smi-rule-prev-p "("))
+ (smie-rule-parent)
 ((equal token "then") (smie-rule-parent))
 ((equal token "if") (if (and (not (smie-rule-bolp))
- (smie-rule-prev-p "else"))
+ (or (smie-rule-prev-p "else")
+ (smie-rule-prev-p "(")
+ (smie-rule-prev-p "begin")))
 (smie-rule-parent)))
 ((and (equal token "with") (smie-rule-parent-p "{"))
  (smie-rule-parent))



[nongnu] elpa/tuareg 10bfb614ba 2/3: Fix typo and respond to code review

2025-02-27 Thread ELPA Syncer
branch: elpa/tuareg
commit 10bfb614bad5a6a3ad4f81c7d3ae93bfd28a0867
Author: Demi Marie Obenour 
Commit: GitHub 

Fix typo and respond to code review

This prevents the code from crashing and makes it simpler.
---
 tuareg.el | 6 ++
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/tuareg.el b/tuareg.el
index f38a445e16..cd98c86a21 100644
--- a/tuareg.el
+++ b/tuareg.el
@@ -2210,13 +2210,11 @@ Return values can be
  (and (not (smie-rule-bolp))
   (cond ((smie-rule-prev-p "d=")
  (smie-rule-parent tuareg-default-indent))
-((or (smie-rule-prev-p "begin") (smi-rule-prev-p "("))
+((smie-rule-prev-p "begin" "(")
  (smie-rule-parent)
 ((equal token "then") (smie-rule-parent))
 ((equal token "if") (if (and (not (smie-rule-bolp))
- (or (smie-rule-prev-p "else")
- (smie-rule-prev-p "(")
- (smie-rule-prev-p "begin")))
+ (smie-rule-prev-p "else" "(" "begin"))
 (smie-rule-parent)))
 ((and (equal token "with") (smie-rule-parent-p "{"))
  (smie-rule-parent))



[elpa] externals/transient dbf8d69b9e 09/27: Use term "menu" in face docstrings

2025-02-27 Thread Jonas Bernoulli via
branch: externals/transient
commit dbf8d69b9e4260674a8bd146acb5c08704e5ef02
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

Use term "menu" in face docstrings
---
 lisp/transient.el | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/lisp/transient.el b/lisp/transient.el
index a7834724e4..00f92f067f 100644
--- a/lisp/transient.el
+++ b/lisp/transient.el
@@ -613,7 +613,7 @@ character used to separate possible values from each other."
 (((class color) (background dark))
  :inherit transient-key
  :foreground "#ddffdd"))
-  "Face used for keys of suffixes that don't exit transient state."
+  "Face used for keys of suffixes that don't exit the menu."
   :group 'transient-faces)
 
 (defface transient-key-noop
@@ -633,7 +633,7 @@ character used to separate possible values from each other."
 (((class color) (background dark))
  :inherit transient-key
  :foreground "#cc"))
-  "Face used for keys of suffixes that return to the parent transient."
+  "Face used for keys of suffixes that return to the parent menu."
   :group 'transient-faces)
 
 (defface transient-key-exit
@@ -643,7 +643,7 @@ character used to separate possible values from each other."
 (((class color) (background dark))
  :inherit transient-key
  :foreground "#ff"))
-  "Face used for keys of suffixes that exit transient state."
+  "Face used for keys of suffixes that exit the menu."
   :group 'transient-faces)
 
 (defface transient-unreachable-key



[elpa] externals/transient e3644faf15 27/27: transient-maybe-save-history: Demote error

2025-02-27 Thread Jonas Bernoulli via
branch: externals/transient
commit e3644faf15644630e1e234d23c5be3b9f90a8b8e
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

transient-maybe-save-history: Demote error

Since this function is added to `kill-emacs-hook', an error here makes
it impossible to close Emacs.  In normal use errors are very unlikely,
but due to a backward incompatible change in `generate-new-buffer' it
does happen when I quickly use an older Emacs without recompiling this
library.
---
 lisp/transient.el | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lisp/transient.el b/lisp/transient.el
index c3941b5ed8..c45b869962 100644
--- a/lisp/transient.el
+++ b/lisp/transient.el
@@ -747,7 +747,8 @@ should not change it manually.")
   "Save the value of `transient-history'.
 If `transient-save-history' is nil, then do nothing."
   (when transient-save-history
-(transient-save-history)))
+(with-demoted-errors "Error saving transient history: %S"
+  (transient-save-history
 
 (unless noninteractive
   (add-hook 'kill-emacs-hook #'transient-maybe-save-history))



[elpa] externals/transient d88cacfc69 07/27: Fix setting up return to outer prefix

2025-02-27 Thread Jonas Bernoulli via
branch: externals/transient
commit d88cacfc6919c5642be7f3c343e12861f7e683b7
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

Fix setting up return to outer prefix

We need a separate prefix slot, `return', to store the return behavior;
re-purposing the `transient-suffix' slot, as we did before, was
ambiguous.

When the `transient-suffix' prefix slot is t, that means that suffixes,
that do not specify their own transient behavior, should be called
without the prefix being exited.

In [1: 784887b7] we tried to overload that meaning of that value in the
case of sub-prefixes:

> When the prefix's `transient-suffix' is t, and the current prefix
> is a sub-prefix, then suffixes have to use `transient--do-return',
> to exit the sub-prefix but not the outer prefix.

If a suffixes `transient' slot is nil, that works, but merely because
the ambiguous value t of `transient-suffix' does not enter the picture.

However if a suffix leaves `transient' undefined, then we relied on the
same boolean to encode the three possible behaviors `call', `exit' and
`return'.  I.e., it was not possible to chose between `exit' and
`return', and we always used `exit'.

Closes #352.

1: 2023-10-31 784887b78160e0c820b44924d12b2e2e0bf90ef0
   Account for t as transient-suffix for nested prefixes
---
 lisp/transient.el | 37 -
 1 file changed, 20 insertions(+), 17 deletions(-)

diff --git a/lisp/transient.el b/lisp/transient.el
index 6f1d5f3331..846890b7a2 100644
--- a/lisp/transient.el
+++ b/lisp/transient.el
@@ -736,6 +736,7 @@ If `transient-save-history' is nil, then do nothing."
(level   :initarg :level)
(init-value  :initarg :init-value)
(value) (default-value :initarg :value)
+   (return  :initarg :return  :initform nil)
(scope   :initarg :scope   :initform nil)
(history :initarg :history :initform nil)
(history-pos :initarg :history-pos :initform 0)
@@ -2097,7 +2098,7 @@ of the corresponding object."
 (defun transient--make-predicate-map ()
   (let* ((default (transient--resolve-pre-command
(oref transient--prefix transient-suffix)))
- (return (and transient--stack (eq default t)))
+ (return (and transient--stack (oref transient--prefix return)))
  (map (make-sparse-keymap)))
 (set-keymap-parent map transient-predicate-map)
 (when (or (and (slot-boundp transient--prefix 'transient-switch-frame)
@@ -2274,9 +2275,9 @@ value.  Otherwise return CHILDREN as is.")
   :level (or (alist-get t (alist-get name 
transient-levels))
  transient-default-level)
   params
-(transient--setup-recursion obj)
-(transient-init-scope obj)
-(transient-init-value obj)
+(transient-init-value  obj)
+(transient-init-return obj)
+(transient-init-scope  obj)
 obj))
 
 (defun transient--init-suffixes (name)
@@ -2828,9 +2829,9 @@ value.  Otherwise return CHILDREN as is.")
   (push (list (oref transient--prefix command)
   transient--layout
   transient--editp
-  :transient-suffix (oref transient--prefix transient-suffix)
-  :scope (oref transient--prefix scope)
-  :value (transient-get-value))
+  :value  (transient-get-value)
+  :return (oref transient--prefix return)
+  :scope  (oref transient--prefix scope))
 transient--stack))
 
 (defun transient--stack-pop ()
@@ -3010,16 +3011,6 @@ Use that command's pre-command to determine transient 
behavior."
 If there is no parent prefix, then just call the command."
   (transient--do-stack))
 
-(defun transient--setup-recursion (prefix-obj)
-  (when-let* ((transient--stack)
-  (command (oref prefix-obj command))
-  (suffix-obj (transient-suffix-object command))
-  ((memq (if (slot-boundp suffix-obj 'transient)
- (oref suffix-obj transient)
-   (oref transient-current-prefix transient-suffix))
- (list t 'recurse #'transient--do-recurse
-(oset prefix-obj transient-suffix t)))
-
 (defun transient--do-stack ()
   "Call the transient prefix command, stacking the active transient.
 Push the active transient to the transient stack."
@@ -3932,6 +3923,18 @@ Append \"=\ to ARG to indicate that it is an option."
   (or (match-string 1 match) "")))
 (and (member arg args) t)))
 
+;;; Return
+
+(defun transient-init-return (obj)
+  (when-let* ((transient--stack)
+  (command (oref obj command))
+  (suffix-obj (transient-suffix-object command))
+  ((memq (if (slot-boundp suffix-obj 'transient)
+ (oref suffix-obj transient)
+   (oref transient-current-prefix transient-suffix))
+ 

[elpa] externals/transient be09fcb5f1 06/27: transient--make-predicate-map: Clarify a pcase case

2025-02-27 Thread Jonas Bernoulli via
branch: externals/transient
commit be09fcb5f1dffb8a519a92ea0e9a36e0b0a10be0
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

transient--make-predicate-map: Clarify a pcase case

The first two elements are fixed and the only other valid value for the
third element was covered by the previous case.  Explicitly mention the
only remaining value for the third element, instead of matching any one
of the exactly one possible values.
---
 lisp/transient.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lisp/transient.el b/lisp/transient.el
index f1458cb6d1..6f1d5f3331 100644
--- a/lisp/transient.el
+++ b/lisp/transient.el
@@ -2136,7 +2136,7 @@ of the corresponding object."
   (`(infix   ,_  ,_) #'transient--do-stay)
   (`(suffix   t  ,_) #'transient--do-call)
   ('(suffix nil   t) #'transient--do-return)
-  (`(suffix nil  ,_) #'transient--do-exit)
+  (`(suffix nil nil) #'transient--do-exit)
   (`(suffix ,do  ,_) do))
 (when pre
   (if-let ((alt (lookup-key map id)))



[elpa] externals/transient 3cd02ec21c 18/27: transient--suspend-override: Assert transient--window is still live

2025-02-27 Thread Jonas Bernoulli via
branch: externals/transient
commit 3cd02ec21cedb70ce1ed8e87b6c5cf1557a59cbe
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

transient--suspend-override: Assert transient--window is still live

It should be, but something else might mess with it.

Helm's completing-read function does mess with it.  It *appears*
(I haven't investigated further) that it tries to use our window,
but because we prevent that, it instead deletes that window and
creates its own window.  It does however bring back our buffer,
when done.  Still, we cannot assume here that our window is live.

Closes the second coming of #656.
---
 lisp/transient.el | 1 +
 1 file changed, 1 insertion(+)

diff --git a/lisp/transient.el b/lisp/transient.el
index 3032f7c6e2..7610b3e43e 100644
--- a/lisp/transient.el
+++ b/lisp/transient.el
@@ -2604,6 +2604,7 @@ value.  Otherwise return CHILDREN as is.")
   (transient--timer-cancel)
   (let ((show (if nohide 'fixed transient-show-during-minibuffer-read)))
 (when (and (integerp show)
+   (window-live-p transient--window)
(< (frame-height (window-frame transient--window))
   (+ (abs show)
  (window-height transient--window



[elpa] externals/transient 58e22554ab 10/27: transient-key-{recurse, stack}: New faces

2025-02-27 Thread Jonas Bernoulli via
branch: externals/transient
commit 58e22554ab85e3bed6dd84b9821a7e9760dc9775
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

transient-key-{recurse,stack}: New faces
---
 lisp/transient.el | 24 ++--
 1 file changed, 22 insertions(+), 2 deletions(-)

diff --git a/lisp/transient.el b/lisp/transient.el
index 00f92f067f..4ceef83a22 100644
--- a/lisp/transient.el
+++ b/lisp/transient.el
@@ -636,6 +636,26 @@ character used to separate possible values from each 
other."
   "Face used for keys of suffixes that return to the parent menu."
   :group 'transient-faces)
 
+(defface transient-key-recurse
+  `class color) (background light))
+ :inherit transient-key
+ :foreground "#2266ff")
+(((class color) (background dark))
+ :inherit transient-key
+ :foreground "#2299ff"))
+  "Face used for keys of sub-menus whose suffixes return to the parent menu."
+  :group 'transient-faces)
+
+(defface transient-key-stack
+  `class color) (background light))
+ :inherit transient-key
+ :foreground "#dd4488")
+(((class color) (background dark))
+ :inherit transient-key
+ :foreground "#ff6699"))
+  "Face used for keys of sub-menus that exit the parent menu."
+  :group 'transient-faces)
+
 (defface transient-key-exit
   `class color) (background light))
  :inherit transient-key
@@ -3083,8 +3103,8 @@ prefix argument and pivot to `transient-update'."
 (put 'transient--do-exit   'transient-face 'transient-key-exit)
 (put 'transient--do-leave  'transient-face 'transient-key-exit)
 
-(put 'transient--do-recurse'transient-face 'transient-key-stay)
-(put 'transient--do-stack  'transient-face 'transient-key-stay)
+(put 'transient--do-recurse'transient-face 'transient-key-recurse)
+(put 'transient--do-stack  'transient-face 'transient-key-stack)
 (put 'transient--do-replace'transient-face 'transient-key-exit)
 (put 'transient--do-suspend'transient-face 'transient-key-exit)
 



[elpa] externals/transient 2fb9ec7802 04/27: transient--setup-recursion: Cosmetics

2025-02-27 Thread Jonas Bernoulli via
branch: externals/transient
commit 2fb9ec7802449cab3eed7724a2632aef85ac7a3e
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

transient--setup-recursion: Cosmetics
---
 lisp/transient.el | 16 
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/lisp/transient.el b/lisp/transient.el
index 4ea8b776ff..2f730811bd 100644
--- a/lisp/transient.el
+++ b/lisp/transient.el
@@ -3011,14 +3011,14 @@ If there is no parent prefix, then just call the 
command."
   (transient--do-stack))
 
 (defun transient--setup-recursion (prefix-obj)
-  (when transient--stack
-(let ((command (oref prefix-obj command)))
-  (when-let ((suffix-obj (transient-suffix-object command)))
-(when (memq (if (slot-boundp suffix-obj 'transient)
-(oref suffix-obj transient)
-  (oref transient-current-prefix transient-suffix))
-(list t 'recurse #'transient--do-recurse))
-  (oset prefix-obj transient-suffix t))
+  (when-let* ((transient--stack)
+  (command (oref prefix-obj command))
+  (suffix-obj (transient-suffix-object command))
+  ((memq (if (slot-boundp suffix-obj 'transient)
+ (oref suffix-obj transient)
+   (oref transient-current-prefix transient-suffix))
+ (list t 'recurse #'transient--do-recurse
+(oset prefix-obj transient-suffix t)))
 
 (defun transient--do-stack ()
   "Call the transient prefix command, stacking the active transient.



[elpa] externals/transient updated (e5cb1fd7e8 -> e3644faf15)

2025-02-27 Thread Jonas Bernoulli via
tarsius pushed a change to branch externals/transient.

  from  e5cb1fd7e8 Release version 0.8.4
   new  32a7e256aa transient--setup-recursion: Recognize recurse shorthand
   new  0439eb80d8 transient--init-suffix: Always store parent group in 
object
   new  08b56f3ad9 transient--do-recurse: Tweak documentation
   new  2fb9ec7802 transient--setup-recursion: Cosmetics
   new  643458374c transient--make-predicate-map: Increase spacing in pcase 
patterns
   new  be09fcb5f1 transient--make-predicate-map: Clarify a pcase case
   new  d88cacfc69 Fix setting up return to outer prefix
   new  e88005d276 Replace transient--do-return when there is no outer 
prefix
   new  dbf8d69b9e Use term "menu" in face docstrings
   new  58e22554ab transient-key-{recurse,stack}: New faces
   new  8b1cad251c Regenerate manual
   new  3e22fdf611 transient--insert-suffix: Support forcing to keep other 
bindings
   new  73178e00b6 manual: Update how to prevent C-g from returning to the 
parent prefix
   new  04dab99dc9 transient-display-buffer-action: Discourage dropping 
alist elements
   new  823f24a490 transient-higher-level: Use face-attribute on default
   new  b4a9a45dde Use appropriate key binding markup in docstrings
   new  3c6efe8a06 Make checkdoc happy
   new  3cd02ec21c transient--suspend-override: Assert transient--window is 
still live
   new  e1e503a613 Split "Draw" section in two
   new  af85f69760 Create "Delete" section
   new  4498fec575 transient--preserve-window-p: New function
   new  abb71675b5 transient--show-hint: Renamed function
   new  40f0a2dd6f transient--preserve-window-p: Make argument optional
   new  d3500a804e transient--wrap-command: Rename internal variable
   new  aea527ed93 transient--wrap-command: Use add-function and 
remove-function
   new  f486f03cb9 transient--wrap-command: Fix precedence of suffix/group 
advice slots
   new  e3644faf15 transient-maybe-save-history: Demote error


Summary of changes:
 docs/transient.org  |  26 ++--
 docs/transient.texi |  21 ++-
 lisp/transient.el   | 391 ++--
 3 files changed, 246 insertions(+), 192 deletions(-)



[elpa] externals/transient af85f69760 20/27: Create "Delete" section

2025-02-27 Thread Jonas Bernoulli via
branch: externals/transient
commit af85f697606eee9888af87691a53c1415abbdf4d
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

Create "Delete" section

Place it after the "Display" section, which is concerned with the other
end of the window's live.  By contrast, deleting the window has little
to do with "Flow-Control", so despite being used by a function in that
section, the function that handles the deletion, should not be defined
there.
---
 lisp/transient.el | 46 --
 1 file changed, 24 insertions(+), 22 deletions(-)

diff --git a/lisp/transient.el b/lisp/transient.el
index ff699e6ec9..ff405c3a0a 100644
--- a/lisp/transient.el
+++ b/lisp/transient.el
@@ -2571,28 +2571,6 @@ value.  Otherwise return CHILDREN as is.")
   (setq transient--original-buffer nil)
   (setq transient--window nil))
 
-(defun transient--delete-window ()
-  (when (window-live-p transient--window)
-(let ((win transient--window)
-  (remain-in-minibuffer-window
-   (and (minibuffer-selected-window)
-(selected-window
-  (cond
-   ((eq (car (window-parameter win 'quit-restore)) 'other)
-;; Window used to display another buffer.
-(set-window-parameter win 'no-other-window
-  (window-parameter win 'prev--no-other-window))
-(set-window-parameter win 'prev--no-other-window nil))
-   ((with-demoted-errors "Error while exiting transient: %S"
-  (if (window-parent win)
-  (delete-window win)
-(delete-frame (window-frame win) t)
-  (when remain-in-minibuffer-window
-(select-window remain-in-minibuffer-window
-  (when (buffer-live-p transient--buffer)
-(kill-buffer transient--buffer))
-  (setq transient--buffer nil))
-
 (defun transient--export ()
   (setq transient-current-prefix transient--prefix)
   (setq transient-current-command (oref transient--prefix command))
@@ -4150,6 +4128,30 @@ have a history of their own.")
   (window-body-width window t)
   (window-body-height window t
 
+;;; Delete
+
+(defun transient--delete-window ()
+  (when (window-live-p transient--window)
+(let ((win transient--window)
+  (remain-in-minibuffer-window
+   (and (minibuffer-selected-window)
+(selected-window
+  (cond
+   ((eq (car (window-parameter win 'quit-restore)) 'other)
+;; Window used to display another buffer.
+(set-window-parameter win 'no-other-window
+  (window-parameter win 'prev--no-other-window))
+(set-window-parameter win 'prev--no-other-window nil))
+   ((with-demoted-errors "Error while exiting transient: %S"
+  (if (window-parent win)
+  (delete-window win)
+(delete-frame (window-frame win) t)
+  (when remain-in-minibuffer-window
+(select-window remain-in-minibuffer-window
+  (when (buffer-live-p transient--buffer)
+(kill-buffer transient--buffer))
+  (setq transient--buffer nil))
+
 ;;; Format
 
 (defun transient--format-hint ()



[elpa] externals/transient e1e503a613 19/27: Split "Draw" section in two

2025-02-27 Thread Jonas Bernoulli via
branch: externals/transient
commit e1e503a61372cb49bb54a586af183b55f45bf500
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

Split "Draw" section in two

Replace the "Draw" section with two new sections "Display" and "Format".
The two tasks are closely related (when it comes to the part that deals
with the window), but they are still distinct.

`transient--show', located in the new "Display" section, still concerns
itself with formatting/inserting the menu.  A subsequent commit tackles
that.
---
 lisp/transient.el | 110 +-
 1 file changed, 59 insertions(+), 51 deletions(-)

diff --git a/lisp/transient.el b/lisp/transient.el
index 7610b3e43e..ff699e6ec9 100644
--- a/lisp/transient.el
+++ b/lisp/transient.el
@@ -4076,38 +4076,11 @@ have a history of their own.")
   (cons val (delete val (alist-get (transient--history-key obj)
transient-history))
 
-;;; Draw
+;;; Display
 
 (defun transient--show-brief ()
   (let ((message-log-max nil))
-(if (and transient-show-popup (<= transient-show-popup 0))
-(message "%s-" (key-description (this-command-keys)))
-  (message
-   "%s- [%s] %s"
-   (key-description (this-command-keys))
-   (oref transient--prefix command)
-   (mapconcat
-#'identity
-(sort
- (mapcan
-  (lambda (suffix)
-(let ((key (kbd (oref suffix key
-  ;; Don't list any common commands.
-  (and (not (memq (oref suffix command)
-  `(,(lookup-key transient-map key)
-,(lookup-key transient-sticky-map key)
-;; From transient-common-commands:
-transient-set
-transient-save
-transient-history-prev
-transient-history-next
-transient-quit-one
-transient-toggle-common
-transient-set-level)))
-   (list (propertize (oref suffix key) 'face 
'transient-key)
-  transient--suffixes)
- #'string<)
-(propertize "|" 'face 'transient-delimiter))
+(message "%s" (transient--format-hint
 
 (defun transient--show ()
   (transient--timer-cancel)
@@ -4123,28 +4096,7 @@ have a history of their own.")
  (button-get (1- (point)) 'command))
 (transient--heading-at-point
   (erase-buffer)
-  (when setup
-(when transient-force-fixed-pitch
-  (transient--force-fixed-pitch))
-(when (bound-and-true-p tab-line-format)
-  (setq tab-line-format nil))
-(setq header-line-format nil)
-(setq mode-line-format
-  (let ((format (transient--mode-line-format)))
-(if (or (natnump format) (eq format 'line)) nil format)))
-(setq mode-line-buffer-identification
-  (symbol-name (oref transient--prefix command)))
-(if transient-enable-popup-navigation
-(setq-local cursor-in-non-selected-windows 'box)
-  (setq cursor-type nil))
-(setq display-line-numbers nil)
-(setq show-trailing-whitespace nil)
-(run-hooks 'transient-setup-buffer-hook))
-  (transient--insert-groups)
-  (when (or transient--helpp transient--editp)
-(transient--insert-help))
-  (when-let ((line (transient--separator-line)))
-(insert line)))
+  (transient--insert-menu setup))
 (unless (window-live-p transient--window)
   (setq transient--window
 (display-buffer transient--buffer
@@ -4198,6 +4150,62 @@ have a history of their own.")
   (window-body-width window t)
   (window-body-height window t
 
+;;; Format
+
+(defun transient--format-hint ()
+  (if (and transient-show-popup (<= transient-show-popup 0))
+  (format "%s-" (key-description (this-command-keys)))
+(format
+ "%s- [%s] %s"
+ (key-description (this-command-keys))
+ (oref transient--prefix command)
+ (mapconcat
+  #'identity
+  (sort
+   (mapcan
+(lambda (suffix)
+  (let ((key (kbd (oref suffix key
+;; Don't list any common commands.
+(and (not (memq (oref suffix command)
+`(,(lookup-key transient-map key)
+  ,(lookup-key transient-sticky-map key)
+  ;; From transient-common-commands:
+  transient-set
+  transient-save
+  transient-history-prev
+  transient-history-next
+  transient-quit-one
+

[elpa] externals/transient 823f24a490 15/27: transient-higher-level: Use face-attribute on default

2025-02-27 Thread Jonas Bernoulli via
branch: externals/transient
commit 823f24a4901c78f9e45138991c7a2137b7c98e88
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

transient-higher-level: Use face-attribute on default

Previously we queried the selected frame, which doesn't make sense and
leads to an error when `transient' is loaded before the first frame is
created.

Closes #359.
---
 lisp/transient.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lisp/transient.el b/lisp/transient.el
index cc468511b9..517b6c36cb 100644
--- a/lisp/transient.el
+++ b/lisp/transient.el
@@ -594,7 +594,7 @@ See info node `(transient)Enabling and Disabling Suffixes'."
 
 (defface transient-higher-level
   `((t :box ( :line-width ,(if (>= emacs-major-version 28) (cons -1 -1) -1)
-  :color ,(let ((color (face-attribute 'shadow :foreground nil t)))
+  :color ,(let ((color (face-attribute 'shadow :foreground t t)))
 (or (and (not (eq color 'unspecified)) color)
 "grey60")
   "Face optionally used to highlight suffixes on higher levels.



[elpa] externals/transient 32a7e256aa 01/27: transient--setup-recursion: Recognize recurse shorthand

2025-02-27 Thread Jonas Bernoulli via
branch: externals/transient
commit 32a7e256aab281bada5db8569e0871c8c3ad2115
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

transient--setup-recursion: Recognize recurse shorthand
---
 lisp/transient.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lisp/transient.el b/lisp/transient.el
index 141068a82c..46b2a695c9 100644
--- a/lisp/transient.el
+++ b/lisp/transient.el
@@ -3017,7 +3017,7 @@ If there is no parent prefix, then just call the command."
 (when (memq (if (slot-boundp suffix-obj 'transient)
 (oref suffix-obj transient)
   (oref transient-current-prefix transient-suffix))
-(list t #'transient--do-recurse))
+(list t 'recurse #'transient--do-recurse))
   (oset prefix-obj transient-suffix t))
 
 (defun transient--do-stack ()



[elpa] externals/transient abb71675b5 22/27: transient--show-hint: Renamed function

2025-02-27 Thread Jonas Bernoulli via
branch: externals/transient
commit abb71675b5b538c91c838207385b913b58e29718
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

transient--show-hint: Renamed function

Finally make the switch from flip-flopping between using either "OLD:
Rename function" or "NEW: Rename function" to "NEW: Renamed function".
Note that I am still consistently using present tense — "renamed" is
an adjective.  (Though maybe the phase I am entering now is one during
which I rotate through *three* possible approaches.)  oO
---
 lisp/transient.el | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lisp/transient.el b/lisp/transient.el
index aa4cbe84ce..3a6393c8de 100644
--- a/lisp/transient.el
+++ b/lisp/transient.el
@@ -2861,7 +2861,7 @@ value.  Otherwise return CHILDREN as is.")
(not (zerop transient-show-popup))
(not transient--timer))
   (transient--timer-start))
-(transient--show-brief)))
+(transient--show-hint)))
 
 (defun transient--timer-start ()
   (setq transient--timer
@@ -4050,7 +4050,7 @@ have a history of their own.")
 
 ;;; Display
 
-(defun transient--show-brief ()
+(defun transient--show-hint ()
   (let ((message-log-max nil))
 (message "%s" (transient--format-hint
 



[elpa] externals/transient 08b56f3ad9 03/27: transient--do-recurse: Tweak documentation

2025-02-27 Thread Jonas Bernoulli via
branch: externals/transient
commit 08b56f3ad9ad56c0ce6da8ac88007b64e23d3e9f
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

transient--do-recurse: Tweak documentation
---
 docs/transient.org | 2 +-
 lisp/transient.el  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/docs/transient.org b/docs/transient.org
index 7e30a740d9..cfcf8b92e0 100644
--- a/docs/transient.org
+++ b/docs/transient.org
@@ -1712,7 +1712,7 @@ slot for the sub-prefix itself.
 
 - Function: transient--do-recurse ::
 
-  Call the transient prefix command, preparing for return to active
+  Call the transient prefix command, preparing for return to outer
   transient.
 
   Whether we actually return to the parent transient is ultimately
diff --git a/lisp/transient.el b/lisp/transient.el
index 6fac557708..4ea8b776ff 100644
--- a/lisp/transient.el
+++ b/lisp/transient.el
@@ -3006,7 +3006,7 @@ Use that command's pre-command to determine transient 
behavior."
 (transient--call-pre-command)))
 
 (defun transient--do-recurse ()
-  "Call the transient prefix command, preparing for return to active transient.
+  "Call the transient prefix command, preparing for return to outer transient.
 If there is no parent prefix, then just call the command."
   (transient--do-stack))
 



[elpa] externals/transient e88005d276 08/27: Replace transient--do-return when there is no outer prefix

2025-02-27 Thread Jonas Bernoulli via
branch: externals/transient
commit e88005d27634eb2bf6b57009c68820f67e90745c
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

Replace transient--do-return when there is no outer prefix

A suffix may explicitly be configured to return to the outer prefix
even if there is no outer prefix.  This may happen, for example, if
a prefix is invoked directly, even though it usually is invoked via
an outer prefix.

`transient--do-return' itself already takes care to fall back to
`transient--do-exit' behavior in this situation, but that does not
affect to color used for the binding.  By detecting this situation
in `transient--make-predicate-map', we can also correct the color.
---
 lisp/transient.el | 23 ++-
 1 file changed, 14 insertions(+), 9 deletions(-)

diff --git a/lisp/transient.el b/lisp/transient.el
index 846890b7a2..a7834724e4 100644
--- a/lisp/transient.el
+++ b/lisp/transient.el
@@ -2119,7 +2119,7 @@ of the corresponding object."
((slot-boundp obj 'transient)
 (pcase (list kind
  (transient--resolve-pre-command
-  (oref obj transient))
+  (oref obj transient) nil t)
  return)
   (`(prefix   t  ,_) #'transient--do-recurse)
   (`(prefix nil  ,_) #'transient--do-stack)
@@ -2939,14 +2939,19 @@ exit."
 (oref transient--prefix transient-non-suffix)
 t
 
-(defun transient--resolve-pre-command (pre &optional resolve-boolean)
-  (cond ((booleanp pre)
- (if resolve-boolean
- (if pre #'transient--do-stay #'transient--do-warn)
-   pre))
-((string-match-p "--do-" (symbol-name pre)) pre)
-((let ((sym (intern (format "transient--do-%s" pre
-   (if (functionp sym) sym pre)
+(defun transient--resolve-pre-command (pre &optional resolve-boolean correct)
+  (setq pre (cond ((booleanp pre)
+   (if resolve-boolean
+   (if pre #'transient--do-stay #'transient--do-warn)
+ pre))
+  ((string-match-p "--do-" (symbol-name pre)) pre)
+  ((let ((sym (intern (format "transient--do-%s" pre
+ (if (functionp sym) sym pre)
+  (cond ((not correct) pre)
+((and (eq pre 'transient--do-return)
+  (not transient--stack))
+ 'transient--do-exit)
+(pre)))
 
 (defun transient--do-stay ()
   "Call the command without exporting variables and stay transient."



[elpa] externals/transient 3e22fdf611 12/27: transient--insert-suffix: Support forcing to keep other bindings

2025-02-27 Thread Jonas Bernoulli via
branch: externals/transient
commit 3e22fdf61120cd4e504c85ecd9171d871cd7d900
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

transient--insert-suffix: Support forcing to keep other bindings

Closes #355.
---
 docs/transient.org  |  6 --
 docs/transient.texi |  6 --
 lisp/transient.el   | 11 ---
 3 files changed, 16 insertions(+), 7 deletions(-)

diff --git a/docs/transient.org b/docs/transient.org
index cfcf8b92e0..c32822cc13 100644
--- a/docs/transient.org
+++ b/docs/transient.org
@@ -864,8 +864,10 @@ that tree are not objects but have the form 
{{{codevar((LEVEL CLASS PLIST))}}},
   they are never active at the same time, see [[*Predicate Slots]].
 
   Unfortunately both false-positives and false-negatives are possible.
-  To deal with the former use non-~nil~ {{{var(KEEP-OTHER.)}}}  To deal with 
the
-  latter remove the conflicting binding explicitly.
+  To deal with the former use non-~nil~ {{{var(KEEP-OTHER.)}}}  The symbol 
~always~
+  prevents the removal of a false-positive in some cases where other
+  non-~nil~ values would fail.  To deal with false-negatives remove the
+  conflicting binding separately, using ~transient-remove-suffix~.
 
 - Function: transient-replace-suffix prefix loc suffix ::
 
diff --git a/docs/transient.texi b/docs/transient.texi
index 4ecb592547..80dc4511e3 100644
--- a/docs/transient.texi
+++ b/docs/transient.texi
@@ -1019,8 +1019,10 @@ that multiple suffix commands can be bound to the same 
key, provided
 they are never active at the same time, see @ref{Predicate Slots}.
 
 Unfortunately both false-positives and false-negatives are possible.
-To deal with the former use non-@code{nil} @var{KEEP-OTHER@.}  To deal with the
-latter remove the conflicting binding explicitly.
+To deal with the former use non-@code{nil} @var{KEEP-OTHER@.}  The symbol 
@code{always}
+prevents the removal of a false-positive in some cases where other
+non-@code{nil} values would fail.  To deal with false-negatives remove the
+conflicting binding separately, using @code{transient-remove-suffix}.
 @end defun
 
 @defun transient-replace-suffix prefix loc suffix
diff --git a/lisp/transient.el b/lisp/transient.el
index 4ceef83a22..d368c8b957 100644
--- a/lisp/transient.el
+++ b/lisp/transient.el
@@ -1459,7 +1459,8 @@ Intended for use in a group's `:setup-children' function."
suffix prefix loc
"suffixes and groups cannot be siblings"))
  (t
-  (when-let* ((bindingp (listp suf))
+  (when-let* (((not (eq keep-other 'always)))
+  (bindingp (listp suf))
   (key (transient--spec-key suf))
   (conflict (car (transient--layout-member key prefix)))
   (conflictp
@@ -1487,7 +1488,9 @@ LOC is a command, a key vector, a key description (a 
string
   as returned by `key-description'), or a coordination list
   (whose last element may also be a command or key).
 Remove a conflicting binding unless optional KEEP-OTHER is
-  non-nil.
+  non-nil.  When the conflict appears to be a false-positive,
+  non-nil KEEP-OTHER may be ignored, which can be prevented
+  by using `always'.
 See info node `(transient)Modifying Existing Transients'."
   (declare (indent defun))
   (transient--insert-suffix prefix loc suffix 'insert keep-other))
@@ -1502,7 +1505,9 @@ LOC is a command, a key vector, a key description (a 
string
   as returned by `key-description'), or a coordination list
   (whose last element may also be a command or key).
 Remove a conflicting binding unless optional KEEP-OTHER is
-  non-nil.
+  non-nil.  When the conflict appears to be a false-positive,
+  non-nil KEEP-OTHER may be ignored, which can be prevented
+  by using `always'.
 See info node `(transient)Modifying Existing Transients'."
   (declare (indent defun))
   (transient--insert-suffix prefix loc suffix 'append keep-other))



[elpa] externals/transient 3c6efe8a06 17/27: Make checkdoc happy

2025-02-27 Thread Jonas Bernoulli via
branch: externals/transient
commit 3c6efe8a067366ec97819a079d7771ef522fa886
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

Make checkdoc happy
---
 lisp/transient.el | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lisp/transient.el b/lisp/transient.el
index 449fb2b087..3032f7c6e2 100644
--- a/lisp/transient.el
+++ b/lisp/transient.el
@@ -3233,7 +3233,8 @@ transient is active."
  Help
 
 (defun transient-help (&optional interactive)
-  "Show help for the active transient or one of its suffixes.\n\n(fn)"
+  "Show help for the active transient or one of its suffixes.
+\n(fn)"
   (interactive (list t))
   (if interactive
   (setq transient--helpp t)



[elpa] externals/transient d3500a804e 24/27: transient--wrap-command: Rename internal variable

2025-02-27 Thread Jonas Bernoulli via
branch: externals/transient
commit d3500a804e41e4e4f58a534019518e4fcd18f6bf
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

transient--wrap-command: Rename internal variable

`suffix' is not appropriate because when the prefix allows invocation
of non-suffixes, then this can be a non-suffix.

We cannot just us `this-command' directly because the command may
change the value of that and then we would fail to remove our advice.
---
 lisp/transient.el | 36 ++--
 1 file changed, 18 insertions(+), 18 deletions(-)

diff --git a/lisp/transient.el b/lisp/transient.el
index 4b06514afd..4f760af67f 100644
--- a/lisp/transient.el
+++ b/lisp/transient.el
@@ -2655,8 +2655,8 @@ value.  Otherwise return CHILDREN as is.")
 (defun transient--wrap-command ()
   (static-if (>= emacs-major-version 30)
   (letrec
-  ((prefix transient--prefix)
-   (suffix this-command)
+  ((cmd this-command)
+   (prefix transient--prefix)
(advice
 (lambda (fn &rest args)
   (interactive
@@ -2664,7 +2664,7 @@ value.  Otherwise return CHILDREN as is.")
  (let ((abort t))
(unwind-protect
(prog1 (let ((debugger #'transient--exit-and-debug))
-(if-let* ((obj (transient-suffix-object 
suffix))
+(if-let* ((obj (transient-suffix-object cmd))
   (grp (oref obj parent))
   (adv (or (oref obj advice*)
(oref grp advice*
@@ -2675,12 +2675,12 @@ value.  Otherwise return CHILDREN as is.")
  (when abort
(when-let ((unwind (oref prefix unwind-suffix)))
  (transient--debug 'unwind-interactive)
- (funcall unwind suffix))
-   (advice-remove suffix advice)
+ (funcall unwind cmd))
+   (advice-remove cmd advice)
(oset prefix unwind-suffix nil))
   (unwind-protect
   (let ((debugger #'transient--exit-and-debug))
-(if-let* ((obj (transient-suffix-object suffix))
+(if-let* ((obj (transient-suffix-object cmd))
   (grp (oref obj parent))
   (adv (or (oref obj advice)
(oref grp advice)
@@ -2690,24 +2690,24 @@ value.  Otherwise return CHILDREN as is.")
   (apply fn args)))
 (when-let ((unwind (oref prefix unwind-suffix)))
   (transient--debug 'unwind-command)
-  (funcall unwind suffix))
-(advice-remove suffix advice)
+  (funcall unwind cmd))
+(advice-remove cmd advice)
 (oset prefix unwind-suffix nil)
 (when (symbolp this-command)
-  (advice-add suffix :around advice '((depth . -99
+  (advice-add cmd :around advice '((depth . -99
 (cl-assert
  (>= emacs-major-version 30) nil
  "Emacs was downgraded, making it necessary to recompile Transient"))
 ;; (< emacs-major-version 30)
-(let* ((prefix transient--prefix)
-   (suffix this-command)
+(let* ((cmd this-command)
+   (prefix transient--prefix)
(advice nil)
(advice-interactive
 (lambda (spec)
   (let ((abort t))
 (unwind-protect
 (prog1 (let ((debugger #'transient--exit-and-debug))
- (if-let* ((obj (transient-suffix-object suffix))
+ (if-let* ((obj (transient-suffix-object cmd))
(grp (oref obj parent))
(adv (or (oref obj advice*)
 (oref grp advice*
@@ -2718,14 +2718,14 @@ value.  Otherwise return CHILDREN as is.")
   (when abort
 (when-let ((unwind (oref prefix unwind-suffix)))
   (transient--debug 'unwind-interactive)
-  (funcall unwind suffix))
-(advice-remove suffix advice)
+  (funcall unwind cmd))
+(advice-remove cmd advice)
 (oset prefix unwind-suffix nil))
(advice-body
 (lambda (fn &rest args)
   (unwind-protect
   (let ((debugger #'transient--exit-and-debug))
-(if-let* ((obj (transient-suffix-object suffix))
+(if-let* ((obj (transient-suffix-object cmd))
   (grp (oref obj parent))
   (adv (or (oref obj advic

[elpa] externals/transient 04dab99dc9 14/27: transient-display-buffer-action: Discourage dropping alist elements

2025-02-27 Thread Jonas Bernoulli via
branch: externals/transient
commit 04dab99dc9bc8788ed17473118421e6ee291091d
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

transient-display-buffer-action: Discourage dropping alist elements

Re #358, but others have made the same mistake before.
---
 docs/transient.org | 5 +
 lisp/transient.el  | 5 +
 2 files changed, 10 insertions(+)

diff --git a/docs/transient.org b/docs/transient.org
index 64e546db70..5eba758949 100644
--- a/docs/transient.org
+++ b/docs/transient.org
@@ -621,6 +621,11 @@ Also see [[* Common Suffix Commands]].
   For alternatives see [[info:elisp#Buffer Display Action Functions]],
   and [[info:elisp#Buffer Display Action Alists]].
 
+  When you switch to a different ACTION, you should keep the ALIST
+  entries for ~dedicated~ and ~inhibit-same-window~ in most cases.
+  Do not drop them because you are unsure whether they are needed;
+  if you are unsure, then keep them.
+
   Note that the buffer that was current before the transient buffer
   is shown should remain the current buffer.  Many suffix commands
   act on the thing at point, if appropriate, and if the transient
diff --git a/lisp/transient.el b/lisp/transient.el
index d368c8b957..cc468511b9 100644
--- a/lisp/transient.el
+++ b/lisp/transient.el
@@ -213,6 +213,11 @@ This displays the window at the bottom of the selected 
frame.
 For alternatives see info node `(elisp)Display Action Functions'
 and info node `(elisp)Buffer Display Action Alists'.
 
+When you switch to a different ACTION, you should keep the ALIST
+entries for `dedicated' and `inhibit-same-window' in most cases.
+Do not drop them because you are unsure whether they are needed;
+if you are unsure, then keep them.
+
 Note that the buffer that was current before the transient buffer
 is shown should remain the current buffer.  Many suffix commands
 act on the thing at point, if appropriate, and if the transient



[elpa] externals/transient f486f03cb9 26/27: transient--wrap-command: Fix precedence of suffix/group advice slots

2025-02-27 Thread Jonas Bernoulli via
branch: externals/transient
commit f486f03cb985475f3b94eaee5d375fdbade7f725
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

transient--wrap-command: Fix precedence of suffix/group advice slots
---
 lisp/transient.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lisp/transient.el b/lisp/transient.el
index ed1c565a7c..c3941b5ed8 100644
--- a/lisp/transient.el
+++ b/lisp/transient.el
@@ -2731,8 +2731,8 @@ value.  Otherwise return CHILDREN as is.")
 (if-let* ((obj (transient-suffix-object cmd))
   (grp (oref obj parent))
   (adv (or (oref obj advice)
-   (oref grp advice)
(oref obj advice*)
+   (oref grp advice)
(oref grp advice*
 (apply adv fn args)
   (apply fn args)))



[elpa] externals/transient 0439eb80d8 02/27: transient--init-suffix: Always store parent group in object

2025-02-27 Thread Jonas Bernoulli via
branch: externals/transient
commit 0439eb80d89e51b71e71faac689b1136f180ec46
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

transient--init-suffix: Always store parent group in object

Fixes #354.
Fixes [1: 184d0074], which overlooked a highly visible code-path.

1: 2024-12-19 184d0074e852af4967e386f0fc4fcfd94588d17e
   Store parent group in suffix and subgroup objects
---
 lisp/transient.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lisp/transient.el b/lisp/transient.el
index 46b2a695c9..6fac557708 100644
--- a/lisp/transient.el
+++ b/lisp/transient.el
@@ -2341,7 +2341,7 @@ value.  Otherwise return CHILDREN as is.")
(unless (and cmd (symbolp cmd))
  (error "BUG: Non-symbolic suffix command: %s" cmd))
(if proto
-   (apply #'clone proto :level level args)
+   (apply #'clone proto :parent parent :level level args)
  (apply class :command cmd :parent parent :level level
 args)
 (cond ((not cmd))



[elpa] externals/transient 40f0a2dd6f 23/27: transient--preserve-window-p: Make argument optional

2025-02-27 Thread Jonas Bernoulli via
branch: externals/transient
commit 40f0a2dd6f545d6144c45f25633ae37c5b5608ff
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

transient--preserve-window-p: Make argument optional
---
 lisp/transient.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lisp/transient.el b/lisp/transient.el
index 3a6393c8de..4b06514afd 100644
--- a/lisp/transient.el
+++ b/lisp/transient.el
@@ -4146,7 +4146,7 @@ have a history of their own.")
 (kill-buffer transient--buffer))
   (setq transient--buffer nil))
 
-(defun transient--preserve-window-p (nohide)
+(defun transient--preserve-window-p (&optional nohide)
   (let ((show (if nohide 'fixed transient-show-during-minibuffer-read)))
 (when (and (integerp show)
(window-live-p transient--window)



[nongnu] elpa/magit ec036ccdcf 2/2: Consistently begin custom choice tags with capital letter

2025-02-27 Thread Jonas Bernoulli via
branch: elpa/magit
commit ec036ccdcf00a91f531c7bb1fda93425e713ee07
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

Consistently begin custom choice tags with capital letter
---
 lisp/magit-base.el| 16 
 lisp/magit-branch.el  | 14 +++---
 lisp/magit-clone.el   | 12 ++--
 lisp/magit-diff.el| 14 +++---
 lisp/magit-log.el |  8 
 lisp/magit-mode.el| 16 
 lisp/magit-patch.el   |  6 +++---
 lisp/magit-process.el |  6 +++---
 lisp/magit-remote.el  |  8 
 lisp/magit-status.el  | 14 +++---
 10 files changed, 57 insertions(+), 57 deletions(-)

diff --git a/lisp/magit-base.el b/lisp/magit-base.el
index 96aba336a9..91b592651e 100644
--- a/lisp/magit-base.el
+++ b/lisp/magit-base.el
@@ -129,11 +129,11 @@ The value has the form ((COMMAND nil|PROMPT DEFAULT)...).
   :group 'magit-commands
   :type '(repeat
   (list (symbol :tag "Command") ; It might not be fboundp yet.
-(choice (const  :tag "for all prompts" nil)
-(regexp :tag "for prompts matching regexp"))
-(choice (const  :tag "offer other choices" nil)
-(const  :tag "require confirmation" ask)
-(const  :tag "use default without confirmation" t)
+(choice (const  :tag "For all prompts" nil)
+(regexp :tag "For prompts matching regexp"))
+(choice (const  :tag "Offer other choices" nil)
+(const  :tag "Require confirmation" ask)
+(const  :tag "Use default without confirmation" t)
 
 (defconst magit--confirm-actions
   '((const discard)
@@ -467,9 +467,9 @@ and delay of your graphical environment or operating 
system."
 `woman' View the respective man-page using the `woman' package."
   :package-version '(magit . "2.9.0")
   :group 'magit-miscellaneous
-  :type '(choice (const :tag "view info manual" info)
- (const :tag "view manpage using `man'" man)
- (const :tag "view manpage using `woman'" woman)))
+  :type '(choice (const :tag "View info manual" info)
+ (const :tag "View manpage using `man'" man)
+ (const :tag "View manpage using `woman'" woman)))
 
 ;;; Section Classes
 
diff --git a/lisp/magit-branch.el b/lisp/magit-branch.el
index 3411046d62..e373c28124 100644
--- a/lisp/magit-branch.el
+++ b/lisp/magit-branch.el
@@ -46,9 +46,9 @@
new branch and continue by reading the upstream next."
   :package-version '(magit . "2.2.0")
   :group 'magit-commands
-  :type '(choice (const :tag "read branch name first" nil)
- (const :tag "read upstream first" t)
- (const :tag "read upstream first, with fallback" fallback)))
+  :type '(choice (const :tag "Read branch name first" nil)
+ (const :tag "Read upstream first" t)
+ (const :tag "Read upstream first, with fallback" fallback)))
 
 (defcustom magit-branch-prefer-remote-upstream nil
   "Whether to favor remote upstreams when creating new branches.
@@ -154,10 +154,10 @@ However, I recommend that you use local branches as 
UPSTREAM."
   :package-version '(magit . "2.9.0")
   :group 'magit-commands
   :type '(repeat (cons (string :tag "Use upstream")
-   (choice :tag "for branches"
-   (regexp :tag "matching")
-   (repeat :tag "except"
-   (string :tag "branch"))
+   (choice :tag "For branches" ;???
+   (regexp :tag "Matching")
+   (repeat :tag "Except"
+   (string :tag "Branch"))
 
 (defcustom magit-branch-rename-push-target t
   "Whether the push-remote setup is preserved when renaming a branch.
diff --git a/lisp/magit-clone.el b/lisp/magit-clone.el
index f7704369b9..42187eb3c6 100644
--- a/lisp/magit-clone.el
+++ b/lisp/magit-clone.el
@@ -43,9 +43,9 @@ If t, then set without asking.  If nil, then don't set.  If
 `ask', then ask."
   :package-version '(magit . "2.4.0")
   :group 'magit-commands
-  :type '(choice (const :tag "set" t)
- (const :tag "ask" ask)
- (const :tag "don't set" nil)))
+  :type '(choice (const :tag "Set" t)
+ (const :tag "Ask" ask)
+ (const :tag "Don't set" nil)))
 
 (defcustom magit-clone-default-directory nil
   "Default directory to use when `magit-clone' reads destination.
@@ -54,9 +54,9 @@ If a directory, then use that.  If a function, then call that
 with the remote url as only argument and use the returned value."
   :package-version '(magit . "2.90.0")
   :group 'magit-commands
-  :type '(choice (const :tag "value of default-directory")
- (directory :tag "constant directory")
- (function  :tag "function's value")))
+  :t

[nongnu] elpa/magit updated (ea811b143b -> ec036ccdcf)

2025-02-27 Thread Jonas Bernoulli via
tarsius pushed a change to branch elpa/magit.

  from  ea811b143b Symbol-quote booleans even in docstrings
   new  330819de3e Symbol-quote booleans in more docstrings
   new  ec036ccdcf Consistently begin custom choice tags with capital letter


Summary of changes:
 lisp/magit-base.el| 16 
 lisp/magit-branch.el  | 14 +++---
 lisp/magit-clone.el   | 12 ++--
 lisp/magit-diff.el| 42 +-
 lisp/magit-log.el |  8 
 lisp/magit-mode.el| 16 
 lisp/magit-patch.el   |  6 +++---
 lisp/magit-process.el |  6 +++---
 lisp/magit-remote.el  |  8 
 lisp/magit-status.el  | 14 +++---
 10 files changed, 71 insertions(+), 71 deletions(-)



[elpa] externals/transient 73178e00b6 13/27: manual: Update how to prevent C-g from returning to the parent prefix

2025-02-27 Thread Jonas Bernoulli via
branch: externals/transient
commit 73178e00b645be29c9282aafc0b8e7a6c4851ec6
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

manual: Update how to prevent C-g from returning to the parent prefix

Nowadays we have more explicit pre-commands for prefixes we can
choose from, and don't have to rely on `transient' being unbound.
The documented behavior no longer worked; nil has been a shorthand
for `stack' (itself a shorthand for `transient--do-stack') for a
long time, and leaving the slot unbound meant that the default was
used, which is also `transient--do-stack'.

Now `replace' prevents even "C-g" from returning to the parent, and
`recurse' makes all suffixes of the sub-prefix default to returning
to the parent, not just "C-g".

Closes #356.
---
 docs/transient.org  | 13 +++--
 docs/transient.texi | 13 +++--
 2 files changed, 6 insertions(+), 20 deletions(-)

diff --git a/docs/transient.org b/docs/transient.org
index c32822cc13..64e546db70 100644
--- a/docs/transient.org
+++ b/docs/transient.org
@@ -1657,16 +1657,9 @@ For completeness sake, some notes about complications:
 
 - While a sub-prefix is active we nearly always want {{{kbd(C-g)}}} to take the
   user back to the “super-prefix”, even when the other suffixes don't
-  do that.  However, in rare cases this may not be desirable, and that
-  makes the following complication necessary:
-
-  For ~transient-suffix~ objects the ~transient~ slot is unbound.  We can
-  ignore that for the most part because ~nil~ and the slot being unbound
-  are treated as equivalent, and mean “do exit”.  That isn't actually
-  true for suffixes that are sub-prefixes though.  For such suffixes
-  unbound means “do exit but allow going back”, which is the default,
-  while ~nil~ means “do exit permanently”, which requires that slot to
-  be explicitly set to that value.
+  do that.  However, in rare cases this may not be desirable, in which
+  case ~replace~ can be used as the value of the sub-prefix's ~transient~
+  slot.
 
 *** Pre-commands for Infixes
 :PROPERTIES:
diff --git a/docs/transient.texi b/docs/transient.texi
index 80dc4511e3..12d18cd162 100644
--- a/docs/transient.texi
+++ b/docs/transient.texi
@@ -1875,16 +1875,9 @@ the suffix's @code{transient} slot.
 @item
 While a sub-prefix is active we nearly always want @kbd{C-g} to take the
 user back to the ``super-prefix'', even when the other suffixes don't
-do that.  However, in rare cases this may not be desirable, and that
-makes the following complication necessary:
-
-For @code{transient-suffix} objects the @code{transient} slot is unbound.  We 
can
-ignore that for the most part because @code{nil} and the slot being unbound
-are treated as equivalent, and mean ``do exit''.  That isn't actually
-true for suffixes that are sub-prefixes though.  For such suffixes
-unbound means ``do exit but allow going back'', which is the default,
-while @code{nil} means ``do exit permanently'', which requires that slot to
-be explicitly set to that value.
+do that.  However, in rare cases this may not be desirable, in which
+case @code{replace} can be used as the value of the sub-prefix's 
@code{transient}
+slot.
 @end itemize
 
 @anchor{Pre-commands for Infixes}



[elpa] main abb7856052 2/2: Merge branch 'main' of git+ssh://git.sv.gnu.org/srv/git/emacs/elpa

2025-02-27 Thread Stefan Monnier via
branch: main
commit abb7856052e90d4c60652588597595db2dbcdd0f
Merge: 84fe2fd0bb 40a8188c8c
Author: Stefan Monnier 
Commit: Stefan Monnier 

Merge branch 'main' of git+ssh://git.sv.gnu.org/srv/git/emacs/elpa
---
 elpa-packages | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/elpa-packages b/elpa-packages
index 184a16cb82..766e865ae2 100644
--- a/elpa-packages
+++ b/elpa-packages
@@ -555,7 +555,7 @@
  (ob-haxe  :url "https://github.com/ianxm/ob-haxe.el";)
  (objed:url "https://github.com/clemera/objed";)
  (omn-mode :url "https://github.com/phillord/omn-mode";)
- (on-screen:url 
"https://github.com/michael-heerdegen/on-screen.el.git";)
+ (on-screen:url nil) ;;Was 
"https://github.com/michael-heerdegen/on-screen.el";
  (openpgp   :url "https://codeberg.org/pkal/openpgp.el";)
  (orderless:url "https://github.com/oantolin/orderless";
   :doc "orderless.texi"
@@ -897,7 +897,8 @@
   :ignored-files ("Makefile" ".github" "*-test.el*"))
  (xref :core "lisp/progmodes/xref.el")
  (xref-union:url "https://codeberg.org/pkal/xref-union.el";)
- (yaml :url "https://github.com/zkry/yaml.el";)
+ (yaml :url "https://github.com/zkry/yaml.el";
+  :ignored-files "LICENSE")
  (yasnippet:url "https://github.com/joaotavora/yasnippet";)
  (yasnippet-classic-snippets :url nil)
  (zones:url nil)  
;https://www.emacswiki.org/emacs/zones.el



[elpa] branch externals/denote-search created (now a19cc608b9)

2025-02-27 Thread ELPA Syncer
elpasync pushed a change to branch externals/denote-search.

at  a19cc608b9 Incorporate some minor changes suggested by Philip 
Kaludercic

This branch includes the following new commits:

   new  d477f6fdb9 Initial commit
   new  1ff3b2e06d Fix wording
   new  0fa936f597 Add installation instructions
   new  5fce9b3594 Fix spelling
   new  6b7818cf83 Fix wording
   new  eb86199583 Add repo link
   new  4b0d619fad Add denote-search-marked-dired-files
   new  ac701b674d Allow searching in files referenced in a region (!!)
   new  7b398fd5fb Add support for handling `denote-directory-files' 
returning nil
   new  4f94a80cf7 Merge pull request #1 from grettke/main
   new  90be23e1dc Acknowledge Grant Rettke for commit 7b398fd
   new  ef84b0f9c6 Add commands for filtering by keyword (bound to 'X' and 
'I')
   new  7fab6fc6fb Documentation fixes
   new  988ac9d7a8 Allow filtering by multiple keywords at once
   new  efc1b2e8ee Add a simple command to clean filters
   new  bd49c5ea77 Bind recent-current-error by default
   new  2a24f275d9 Prepare everything for submitting the package to GNU ELPA
   new  a19cc608b9 Incorporate some minor changes suggested by Philip 
Kaludercic




[elpa] externals/denote-search 988ac9d7a8 14/18: Allow filtering by multiple keywords at once

2025-02-27 Thread ELPA Syncer
branch: externals/denote-search
commit 988ac9d7a8525b520832d98c764a18b6d53d8122
Author: Lucas Quintana 
Commit: Lucas Quintana 

Allow filtering by multiple keywords at once
---
 README.org   | 14 +-
 denote-search.el | 80 
 2 files changed, 59 insertions(+), 35 deletions(-)

diff --git a/README.org b/README.org
index f066572f9d..32ed713f4b 100644
--- a/README.org
+++ b/README.org
@@ -261,17 +261,19 @@ It's possible that you don't want to start a new search, 
but rather to
 search something on the curated file list you got.  See [[*focused 
search][focused
 search]].
 
-#+findex: denote-search-exclude-files-with-keyword
-#+findex: denote-search-only-include-files-with-keyword
-Filtering by keyword is such a common operation that two special
+#+findex: denote-search-exclude-files-with-keywords
+#+findex: denote-search-only-include-files-with-keywords
+Filtering by keywords is such a common operation that two special
 commands exist just for that: ~X~
-(~denote-search-exclude-files-with-keyword~) and ~I~
-(~denote-search-only-include-files-with-keyword~).  They are
+(~denote-search-exclude-files-with-keywords~) and ~I~
+(~denote-search-only-include-files-with-keywords~).  They are
 equivalent to calling its regular counterparts and issuing a word with
 a leading underscore; however, they also offer completion for
 available keywords (using ~denote-keywords~, so its actual behaviour
 is governed by the variables ~denote-infer-keywords~ and
-~denote-known-keywords~).
+~denote-known-keywords~).  But the main advantage is that they allow
+issuing multiple keywords at once, separated by commas (or whatever
+the value of ~crm-separator~ is, which should be a comma).
 
 History is available when filtering.  Press ~M-p~
 (~previous-history-element~) to view past queries.  This history is
diff --git a/denote-search.el b/denote-search.el
index 30126d97ea..a85a2d95c4 100644
--- a/denote-search.el
+++ b/denote-search.el
@@ -136,16 +136,20 @@ non-nil."
"Only include file names matching: ")
  nil 'denote-search-file-regexp-history)))
 
-(defun denote-search-keyword-prompt (&optional include)
-  "Prompt for a keyword in the minibuffer, with completion.
+(defun denote-search-keywords-prompt (&optional include)
+  "Prompt for keywords in the minibuffer, with completion.
 
-The prompt assumes the user wants to exclude the keyword, unless INCLUDE
-is non-nil."
-  (list (completing-read
- (if (not include)
- "Exclude files with keyword: "
-   "Only include files with keyword: ")
- (denote-keywords) nil t nil 'denote-keyword-history)))
+Keywords are read using `completing-read-multiple'.
+
+The prompt assumes the user wants to exclude the keywords, unless
+INCLUDE is non-nil."
+  (list
+   (delete-dups
+(completing-read-multiple
+ (if (not include)
+ "Exclude files with keywords: "
+   "Only include files with keywords: ")
+ (denote-keywords) nil t nil 'denote-keyword-history
 
 (defun denote-search-query-prompt (&optional type)
   "Prompt for a search query in the minibuffer.
@@ -355,11 +359,22 @@ RET’.
 
 Internally, this works by generating a new call to `denote-search' with
 the same QUERY as the last one, but with a restricted SET gotten from
-checking REGEXP against last matched files."
+checking REGEXP against last matched files.
+
+When called from Lisp, REGEXP can be a list; in that case, it should be
+a list of fixed strings (NOT regexps) to check against last matched
+files.  Files that match any of the strings get excluded.  Internally,
+the list is processed using `regexp-opt', which see.  For an example of
+this usage, see `denote-search-exclude-files-with-keywords'."
   (interactive (denote-search-file-regexp-prompt))
   (let (final-files)
 (dolist (file denote-search--last-files)
-  (unless (string-match regexp file)
+  (unless (string-match
+   ;; Support list of strings as REGEXP
+   (if (listp regexp)
+   (regexp-opt regexp)
+ regexp)
+   file)
 (push file final-files)))
 (if final-files
 (denote-search denote-search--last-query final-files)
@@ -368,33 +383,40 @@ checking REGEXP against last matched files."
 (defun denote-search-only-include-files (regexp)
   "Exclude file names not matching REGEXP from current `denote-search' buffer.
 
-See also `denote-search-exlude-files'."
+See `denote-search-exlude-files' for details, including the behaviour
+when REGEXP is a list."
   (interactive (denote-search-file-regexp-prompt :include))
   (let (final-files)
 (dolist (file denote-search--last-files)
-  (when (string-match regexp file)
+  (when (string-match
+ ;; Support list of strings as REGEXP
+ (if (listp regexp)
+ (regexp-opt regexp)
+   regexp)
+ file)
 (push file final-files))

[elpa] externals/denote-search a19cc608b9 18/18: Incorporate some minor changes suggested by Philip Kaludercic

2025-02-27 Thread ELPA Syncer
branch: externals/denote-search
commit a19cc608b9ba7b07456cf006736d6a6a24fbbeb3
Author: Lucas Quintana 
Commit: Lucas Quintana 

Incorporate some minor changes suggested by Philip Kaludercic
---
 README.org   |  2 +-
 denote-search.el | 48 ++--
 2 files changed, 23 insertions(+), 27 deletions(-)

diff --git a/README.org b/README.org
index bb591ffb40..85142ab16c 100644
--- a/README.org
+++ b/README.org
@@ -4,7 +4,7 @@
 #+language: en
 #+options: ':t toc:nil author:t email:t num:t
 #+startup: content
-#+macro: stable-version 1.0.0
+#+macro: stable-version 1.0.1
 #+macro: release-date 2025-02-27
 #+export_file_name: denote-search.texi
 #+texinfo_filename: denote-search.info
diff --git a/denote-search.el b/denote-search.el
index 524416752e..e9399b6d20 100644
--- a/denote-search.el
+++ b/denote-search.el
@@ -7,7 +7,7 @@
 ;; URL: https://github.com/lmq-10/denote-search
 ;; Created: 2024-12-28
 ;; Keywords: matching
-;; Version: 1.0.0
+;; Version: 1.0.1
 ;; Package-Requires: ((emacs "29.1") (denote "3.0"))
 
 ;; This program is NOT part of GNU Emacs.
@@ -60,12 +60,11 @@
 
 (defgroup denote-search ()
   "A simple search utility for Denote."
-  :group 'matching
+  :group 'denote
   :link '(info-link "(denote-search) Top"))
 
 (defcustom denote-search-buffer-name "*denote-search*"
   "Name of the buffer created by `denote-search'."
-  :group 'denote-search
   :type 'string)
 
 (defcustom denote-search-format-heading-function #'denote-search-extract-title
@@ -79,7 +78,8 @@ should always return a string."
   "String to use as heading for untitled notes."
   :type 'string)
 
-(defcustom denote-search-help-string "\\Refine with \
+(defcustom denote-search-help-string
+  "\\Refine with \
 `\\[denote-search-refine]', exclude files with \
 `\\[denote-search-exclude-files]', (only) include certain files \
 with `\\[denote-search-only-include-files]'."
@@ -168,8 +168,7 @@ TYPE only affects the prompt, not the returned value."
 "Search (only marked dired files): ")
((eq type :region)
 "Search (only files referenced in region): ")
-   (:else
-"Search (all Denote files): "))
+   (t "Search (all Denote files): "))
  nil 'denote-search-query-history)))
 
 (defun denote-search-format-heading-with-keywords (file)
@@ -187,7 +186,7 @@ This function is intended to be used as the
 title
   (format
"%s  [%s]"
-   title (string-join (string-split keywords "_") ", ")
+   title (replace-regexp-in-string "_" ", " keywords)
 
 (defun denote-search-set-header-line (query number-of-files time)
   "Set header line for `denote-search' buffer.
@@ -232,8 +231,8 @@ Returned value is a list with the absoulte path of 
referenced files."
 (narrow-to-region start end)
 (goto-char (point-min))
 (while (re-search-forward denote-id-regexp nil t)
-  (push (match-string 0) id-list
-(and id-list (mapcar #'denote-get-path-by-id id-list
+  (push (denote-get-path-by-id (match-string 0)) id-list
+id-list))
 
 ;;;###autoload
 (defun denote-search (query &optional set)
@@ -266,22 +265,20 @@ The results are populated in a buffer whose major mode is
 ;; Set internal variables for last set of files and last query
 (setq denote-search--last-files nil)
 (setq denote-search--last-query query)
-(mapc
- (lambda (x)
-   (let* ((file-xref (car x))
-  (file
-   ;; NOTE: Unfortunately, the car of the xref construct is
-   ;; not reliable; sometimes it's absolute, sometimes it
-   ;; is not
-   (if (file-name-absolute-p file-xref)
-   file-xref
- (xref-location-group
-  (xref-match-item-location (car (last x)))
- ;; Add to current set of files
- (push file denote-search--last-files)
- ;; Format heading
- (setf (car x) (funcall denote-search-format-heading-function file
- xref-alist)
+(dolist (x xref-alist)
+  (let* ((file-xref (car x))
+ (file
+  ;; NOTE: Unfortunately, the car of the xref construct is
+  ;; not reliable; sometimes it's absolute, sometimes it
+  ;; is not
+  (if (file-name-absolute-p file-xref)
+  file-xref
+(xref-location-group
+ (xref-match-item-location (car (last x)))
+;; Add to current set of files
+(push file denote-search--last-files)
+;; Format heading
+(setf (car x) (funcall denote-search-format-heading-function file
 (delete-dups denote-search--last-files)
 (with-current-buffer (get-buffer-create denote-search-buffer-name)
   (erase-buffer)
@@ -455,6 +452,5 @@ relevant keymap (`denote-search-mode-map')."
 (setq-local outline-minor-mode-use-buttons 'in-margins)
 (out

[elpa] externals/denote-search 4f94a80cf7 10/18: Merge pull request #1 from grettke/main

2025-02-27 Thread ELPA Syncer
branch: externals/denote-search
commit 4f94a80cf74a2b9a2c615b29700d84f1d7d289e6
Merge: ac701b674d 7b398fd5fb
Author: Lucas Quintana 
Commit: GitHub 

Merge pull request #1 from grettke/main

Add support for handling `denote-directory-files' returning nil
---
 denote-search.el | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/denote-search.el b/denote-search.el
index 28334d3644..4c59dd1d8b 100644
--- a/denote-search.el
+++ b/denote-search.el
@@ -238,7 +238,8 @@ The results are populated in a buffer whose major mode is
  (xref--analyze
   (xref-matches-in-files
query
-   (or set (denote-directory-files nil nil :text-only))
+   (or set (denote-directory-files nil nil :text-only)
+   (user-error "Sorry, the directory `%s' doesn't have any text 
files to search." denote-directory))
 (or xref-alist (user-error "No matches for `%s'" query))
 ;; Set internal variables for last set of files and last query
 (setq denote-search--last-files nil)



[elpa] externals/denote-search d477f6fdb9 01/18: Initial commit

2025-02-27 Thread ELPA Syncer
branch: externals/denote-search
commit d477f6fdb92eddd813a219ae2e046a799a3b194c
Author: Lucas Quintana 
Commit: Lucas Quintana 

Initial commit
---
 COPYING  | 674 +
 README.md|  19 ++
 README.org   | 816 +++
 denote-search.el | 323 ++
 doclicense.texi  | 505 ++
 5 files changed, 2337 insertions(+)

diff --git a/COPYING b/COPYING
new file mode 100644
index 00..f288702d2f
--- /dev/null
+++ b/COPYING
@@ -0,0 +1,674 @@
+GNU GENERAL PUBLIC LICENSE
+   Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. 
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+Preamble
+
+  The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+  The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works.  By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users.  We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors.  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+  To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights.  Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received.  You must make sure that they, too, receive
+or can get the source code.  And you must show them these terms so they
+know their rights.
+
+  Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+  For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software.  For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+  Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so.  This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software.  The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable.  Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products.  If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+  Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary.  To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+   TERMS AND CONDITIONS
+
+  0. Definitions.
+
+  "This License" refers to version 3 of the GNU General Public License.
+
+  "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+  "The Program" refers to any copyrightable work licensed under this
+License.  Each licensee is addressed as "you".  "Licensees" and
+"recipients" may be individuals or organizations.
+
+  To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy.  The resulting work is called a "modified version" of the
+earlier work or a work "based on" the

[elpa] externals/denote-search 6b7818cf83 05/18: Fix wording

2025-02-27 Thread ELPA Syncer
branch: externals/denote-search
commit 6b7818cf831887fffa0679b1338519ea287fc803
Author: Lucas Quintana 
Commit: Lucas Quintana 

Fix wording
---
 README.org | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/README.org b/README.org
index 930e532fe3..03c7bbde68 100644
--- a/README.org
+++ b/README.org
@@ -138,8 +138,7 @@ navigate all the files using ~imenu~ or an enhanced 
front-end such as
 You can press ~a~ (~outline-cycle-buffer~) to fold all files.  This
 can give you a quick overlook of all the files that matched the
 search.  If there are many, you can proceed to filter the output 
-(see [[*filtering the search
- results][filtering the search results]]).
+(see [[*filtering the search results][filtering the search results]]).
 
 * Filtering the search results
 
@@ -164,7 +163,7 @@ These commands always act as if the files matched by the 
last search
 were all the Denote files in existence.  This has a great advantage;
 you can chain them in any way you want.  You can, for example, press
 ~i~ and input =_emacs=, and then press ~x~ and input =_philosophy=.
-The resulting buffer will have all notes which have the keyword
+The resulting buffer will have all the notes which have the keyword
 "emacs" but not the keyword "philosophy", and will then display the
 matches for the search query you made originally only for those
 specific files.  You can of course keep filtering further.



[elpa] externals/denote-search 0fa936f597 03/18: Add installation instructions

2025-02-27 Thread ELPA Syncer
branch: externals/denote-search
commit 0fa936f597dadd401c39d7a6dd73cc206bfac441
Author: Lucas Quintana 
Commit: Lucas Quintana 

Add installation instructions
---
 README.md  | 34 ++
 README.org | 49 +
 2 files changed, 83 insertions(+)

diff --git a/README.md b/README.md
index f5c1c17fff..05ce416ff0 100644
--- a/README.md
+++ b/README.md
@@ -16,3 +16,37 @@ be good Emacs citizens, and don't use any dependencies other 
than
 Denote and built-in libraries.
 
 See the `README.org` file for a comprehensive manual.
+
+## Installation
+
+If you are using Emacs 29.1 onwards, you can install the package by
+evaluating the following code:
+
+```elisp
+(package-vc-install
+ '(denote-search
+   :url "https://github.com/lmq-10/denote-search";
+   :doc "README.org"))
+```
+
+Alternatively, you can use the :vc keyword from use-package, as shown
+in the sample configuration:
+
+```elisp
+(use-package denote-search
+  :ensure t
+  ;; Installation with VC
+  :vc (:url "https://github.com/lmq-10/denote-search";
+   :rev :newest)
+  :bind
+  ;; Start search with C-c s
+  ("C-c s" . denote-search)
+  :custom
+  ;; Disable help string (set it once you learn the commands)
+  ;; (denote-search-help-string "")
+  ;; Display keywords in results buffer
+  (denote-search-format-heading-function 
#'denote-search-format-heading-with-keywords))
+```
+
+Of course, you can also install it manually or use an alternative
+package manager such as quelpa.
diff --git a/README.org b/README.org
index a3469b05ab..0cbe58471c 100644
--- a/README.org
+++ b/README.org
@@ -287,10 +287,59 @@ value for ~denote-directory~), then ~denote-search~ 
should correctly
 search in the contents of the silo when inside of it, without
 additional configuration.
 
+* Installation
+
+If you are using Emacs 29.1 onwards, you can install the package by
+evaluating the following code:
+
+#+begin_src elisp
+(package-vc-install
+ '(denote-search
+   :url "https://github.com/lmq-10/denote-search";
+   :doc "README.org"))
+#+end_src
+
+Alternatively, you can use the :vc keyword from use-package, as shown
+in the [[*sample configuration][sample configuration]].
+
+Of course, you can also [[*manual installation][install it manually]] or use 
an alternative
+package manager such as quelpa.
+
+** Manual installation
+
+Assuming your Emacs files are found in =~/.emacs.d/=, execute the
+following commands in a shell prompt:
+
+#+begin_src sh
+cd ~/.emacs.d
+
+# Create a directory for manually-installed packages
+mkdir manual-packages
+
+# Go to the new directory
+cd manual-packages
+
+# Clone this repo, naming it "denote-search"
+git clone https://github.com/lmq-10/denote-search denote-search
+#+end_src
+
+Finally, in your =init.el= (or equivalent) evaluate this:
+
+#+begin_src emacs-lisp
+;; Make Elisp files in that directory available to the user.
+(add-to-list 'load-path "~/.emacs.d/manual-packages/denote-search")
+#+end_src
+
+Everything is in place to set up the package.
+
 * Sample configuration
 
 #+begin_src elisp
 (use-package denote-search
+  :ensure t
+  ;; Installation with VC
+  :vc (:url "https://github.com/lmq-10/denote-search";
+   :rev :newest)
   :bind
   ;; Start search with C-c s
   ("C-c s" . denote-search)



[elpa] externals/denote-search 7fab6fc6fb 13/18: Documentation fixes

2025-02-27 Thread ELPA Syncer
branch: externals/denote-search
commit 7fab6fc6fb9fc058acc2d8df12dfd3df25f2bd45
Author: Lucas Quintana 
Commit: Lucas Quintana 

Documentation fixes
---
 README.org   | 4 +++-
 denote-search.el | 5 +
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/README.org b/README.org
index dca5bd0f24..f066572f9d 100644
--- a/README.org
+++ b/README.org
@@ -137,7 +137,7 @@ restricted subset of files and are described in the next 
sections.
 #+findex: denote-search-marked-dired-files
 The command ~denote-search-marked-dired-files~ acts just like
 ~denote-search~, but it restricts the search to the files marked in
-current Dired buffer (see [[info:emacs#Dired][Marks vs Flags]]).  This is 
useful if you only
+current Dired buffer (see [[info:emacs#Marks vs Flags][Marks vs Flags]]).  
This is useful if you only
 want to search some files, though depending on the case maybe you'd
 be better served by our built-in filtering capabilities; see
 [[*filtering the search results][filtering the search results]].
@@ -261,6 +261,8 @@ It's possible that you don't want to start a new search, 
but rather to
 search something on the curated file list you got.  See [[*focused 
search][focused
 search]].
 
+#+findex: denote-search-exclude-files-with-keyword
+#+findex: denote-search-only-include-files-with-keyword
 Filtering by keyword is such a common operation that two special
 commands exist just for that: ~X~
 (~denote-search-exclude-files-with-keyword~) and ~I~
diff --git a/denote-search.el b/denote-search.el
index 66ee720188..30126d97ea 100644
--- a/denote-search.el
+++ b/denote-search.el
@@ -38,6 +38,11 @@
 ;; filtering; all standard commands offered by Xref are available as
 ;; well.
 ;;
+;; Other relevant points of entry are
+;; `denote-search-marked-dired-files' and
+;; `denote-search-files-referenced-in-region'.  See the documentation
+;; for details.
+;;
 ;; This package has the same code principles as Denote: to be
 ;; simple-to-use, focused-in-scope, and effective.  We build upon Xref
 ;; to be good Emacs citizens, and don't use any dependencies other



[elpa] externals/denote-search eb86199583 06/18: Add repo link

2025-02-27 Thread ELPA Syncer
branch: externals/denote-search
commit eb8619958316557366f19689fb7ab754168928ae
Author: Lucas Quintana 
Commit: Lucas Quintana 

Add repo link
---
 denote-search.el | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/denote-search.el b/denote-search.el
index e0b52e8f66..c172ae5ff8 100644
--- a/denote-search.el
+++ b/denote-search.el
@@ -4,6 +4,7 @@
 
 ;; Author: Lucas Quintana 
 ;; Maintainer: Lucas Quintana 
+;; URL: https://github.com/lmq-10/denote-search
 ;; Created: 2024-12-28
 ;; Keywords: matching
 ;; Version: 0.2.0
@@ -195,7 +196,7 @@ with a non-nil TEXT-ONLY argument.  When calling the 
function from Lisp,
 however, SET can be a list of files to search instead.  This is mostly
 useful for filtering output; see e.g. `denote-search-refine'.
 
-The results are populated in a buffer whose major is
+The results are populated in a buffer whose major mode is
 `xref--xref-buffer-mode' and where `denote-search-mode-map' is active."
   ;; Some of this is based on `denote-link--prepare-backlinks'
   (interactive (denote-search-query-prompt))



[elpa] externals/denote-search ef84b0f9c6 12/18: Add commands for filtering by keyword (bound to 'X' and 'I')

2025-02-27 Thread ELPA Syncer
branch: externals/denote-search
commit ef84b0f9c610f2a0c327cf5691f3ef9f8314d898
Author: Lucas Quintana 
Commit: Lucas Quintana 

Add commands for filtering by keyword (bound to 'X' and 'I')

The manual has been updated with details.
---
 README.org   | 19 +--
 denote-search.el | 37 +++--
 2 files changed, 52 insertions(+), 4 deletions(-)

diff --git a/README.org b/README.org
index ca86ad03c7..dca5bd0f24 100644
--- a/README.org
+++ b/README.org
@@ -222,6 +222,9 @@ can give you a quick overlook of all the files that matched 
the
 search.  If there are many, you can proceed to filter the output 
 (see [[*filtering the search results][filtering the search results]]).
 
+Press ~o~ (~delete-other-windows~) to close other windows displayed in
+the frame.
+
 * Filtering the search results
 
 #+findex: denote-search-exclude-files
@@ -251,16 +254,28 @@ matches for the search query you made originally only for 
those
 specific files.  You can of course keep filtering further.
 
 To "break the chain" and start a totally new search, you can simply
-call ~denote-search~, which is bound to =s= in the results buffer for
+call ~denote-search~, which is bound to ~s~ in the results buffer for
 convenience.
 
 It's possible that you don't want to start a new search, but rather to
 search something on the curated file list you got.  See [[*focused 
search][focused
 search]].
 
+Filtering by keyword is such a common operation that two special
+commands exist just for that: ~X~
+(~denote-search-exclude-files-with-keyword~) and ~I~
+(~denote-search-only-include-files-with-keyword~).  They are
+equivalent to calling its regular counterparts and issuing a word with
+a leading underscore; however, they also offer completion for
+available keywords (using ~denote-keywords~, so its actual behaviour
+is governed by the variables ~denote-infer-keywords~ and
+~denote-known-keywords~).
+
 History is available when filtering.  Press ~M-p~
 (~previous-history-element~) to view past queries.  This history is
-kept separately from that available when searching.
+kept separately from that available when searching.  In the case of
+keyword filtering, history is shared with other Denote keyword
+prompts.
 
 * Focused search
 
diff --git a/denote-search.el b/denote-search.el
index 4c59dd1d8b..66ee720188 100644
--- a/denote-search.el
+++ b/denote-search.el
@@ -131,6 +131,17 @@ non-nil."
"Only include file names matching: ")
  nil 'denote-search-file-regexp-history)))
 
+(defun denote-search-keyword-prompt (&optional include)
+  "Prompt for a keyword in the minibuffer, with completion.
+
+The prompt assumes the user wants to exclude the keyword, unless INCLUDE
+is non-nil."
+  (list (completing-read
+ (if (not include)
+ "Exclude files with keyword: "
+   "Only include files with keyword: ")
+ (denote-keywords) nil t nil 'denote-keyword-history)))
+
 (defun denote-search-query-prompt (&optional type)
   "Prompt for a search query in the minibuffer.
 
@@ -239,7 +250,9 @@ The results are populated in a buffer whose major mode is
   (xref-matches-in-files
query
(or set (denote-directory-files nil nil :text-only)
-   (user-error "Sorry, the directory `%s' doesn't have any text 
files to search." denote-directory))
+   (user-error
+"Directory `%s' doesn't have any text files to search"
+denote-directory))
 (or xref-alist (user-error "No matches for `%s'" query))
 ;; Set internal variables for last set of files and last query
 (setq denote-search--last-files nil)
@@ -360,6 +373,24 @@ See also `denote-search-exlude-files'."
 (denote-search denote-search--last-query final-files)
   (user-error "No remaining files when applying that filter"
 
+(defun denote-search-exclude-files-with-keyword (keyword)
+  "Exclude files with KEYWORD from current `denote-search' buffer.
+
+This is equivalent to passing the argument \"_KEYWORD\" to
+`denote-search-exclude-files'.  This command, however, offers completion
+for available keywords."
+  (interactive (denote-search-keyword-prompt))
+  (denote-search-exclude-files (concat "_" keyword)))
+
+(defun denote-search-only-include-files-with-keyword (keyword)
+  "Exclude files without KEYWORD from current `denote-search' buffer.
+
+This is equivalent to passing the argument \"_KEYWORD\" to
+`denote-search-only-include-files'.  This command, however, offers
+completion for available keywords."
+  (interactive (denote-search-keyword-prompt :include))
+  (denote-search-only-include-files (concat "_" keyword)))
+
  Keymap and mode definition:
 
 (defvar-keymap denote-search-mode-map
@@ -372,7 +403,9 @@ See also `denote-search-exlude-files'."
   "s" #'denote-search
   "v" #'outline-cycle
   "x" #'denote-search-exclude-files
-  "i" #'denote-search-only-include-files)
+  "i" #'denote-sear

[elpa] externals/denote-search bd49c5ea77 16/18: Bind recent-current-error by default

2025-02-27 Thread ELPA Syncer
branch: externals/denote-search
commit bd49c5ea7776e6a86e1b5371379d6ba49e9a6ff1
Author: Lucas Quintana 
Commit: Lucas Quintana 

Bind recent-current-error by default
---
 README.org   | 5 +++--
 denote-search.el | 1 +
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/README.org b/README.org
index 32ed713f4b..6e5a3a1eb0 100644
--- a/README.org
+++ b/README.org
@@ -222,8 +222,9 @@ can give you a quick overlook of all the files that matched 
the
 search.  If there are many, you can proceed to filter the output 
 (see [[*filtering the search results][filtering the search results]]).
 
-Press ~o~ (~delete-other-windows~) to close other windows displayed in
-the frame.
+Press ~l~ (~recenter-current-error~) to recenter current search focus
+shown in the other window.  Press ~o~ (~delete-other-windows~) to
+close other windows displayed in the frame.
 
 * Filtering the search results
 
diff --git a/denote-search.el b/denote-search.el
index daf0abd9b6..c24bf6d412 100644
--- a/denote-search.el
+++ b/denote-search.el
@@ -440,6 +440,7 @@ means of e.g. `denote-search-exclude-files')."
   "v" #'outline-cycle
   "x" #'denote-search-exclude-files
   "i" #'denote-search-only-include-files
+  "l" #'recenter-current-error
   "X" #'denote-search-exclude-files-with-keywords
   "I" #'denote-search-only-include-files-with-keywords
   "G" #'denote-search-clean-all-filters)



[elpa] externals/denote-search 4b0d619fad 07/18: Add denote-search-marked-dired-files

2025-02-27 Thread ELPA Syncer
branch: externals/denote-search
commit 4b0d619fad05f8748db7f72b3e9fe35c1abbf549
Author: Lucas Quintana 
Commit: Lucas Quintana 

Add denote-search-marked-dired-files

I still need to update the manual
---
 denote-search.el | 31 ++-
 1 file changed, 26 insertions(+), 5 deletions(-)

diff --git a/denote-search.el b/denote-search.el
index c172ae5ff8..eea9a1c549 100644
--- a/denote-search.el
+++ b/denote-search.el
@@ -46,6 +46,7 @@
 ;;; Code:
 
 (require 'denote)
+(require 'dired)
 (require 'outline)
 (require 'time-date)
 (require 'xref)
@@ -130,14 +131,23 @@ non-nil."
"Only include file names matching: ")
  nil 'denote-search-file-regexp-history)))
 
-(defun denote-search-query-prompt (&optional focused)
+(defun denote-search-query-prompt (&optional type)
   "Prompt for a search query in the minibuffer.
 
-The prompt assumes a search in all files, unless FOCUSED is non-nil."
+The prompt assumes a search in all files, unless TYPE is non-nil.
+
+TYPE can be one of :focused (for a focused search, see
+`denote-search-refine') or :dired (for a search in marked dired files,
+see `denote-search-marked-dired-files').
+
+TYPE only affects the prompt, not the returned value."
   (list (read-string
- (if (not focused)
- "Search (all Denote files): "
-   "Search (only files matched last): ")
+ (cond ((eq type :focused)
+"Search (only files matched last): ")
+   ((eq type :dired)
+"Search (only marked dired files): ")
+   (:else
+"Search (all Denote files): "))
  nil 'denote-search-query-history)))
 
 (defun denote-search-format-heading-with-keywords (file)
@@ -244,6 +254,17 @@ The results are populated in a buffer whose major mode is
 (pop-to-buffer-same-window denote-search-buffer-name)
 (run-hooks 'denote-search-hook)))
 
+;;;###autoload
+(defun denote-search-marked-dired-files (query)
+  "Search QUERY in the content of marked dired files.
+
+Internally, this works by passing the list of marked files as the SET
+parameter of `denote-search'."
+  (interactive (denote-search-query-prompt :dired))
+  (if-let* ((files (dired-get-marked-files)))
+  (denote-search query files)
+(user-error "No marked files")))
+
 (defun denote-search-refine (query)
   "Search QUERY in the content of files which matched the last `denote-search'.
 



[elpa] externals/denote-search 5fce9b3594 04/18: Fix spelling

2025-02-27 Thread ELPA Syncer
branch: externals/denote-search
commit 5fce9b3594e5a466a7e482912942be4102e81fa0
Author: Lucas Quintana 
Commit: Lucas Quintana 

Fix spelling
---
 README.org | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/README.org b/README.org
index 0cbe58471c..930e532fe3 100644
--- a/README.org
+++ b/README.org
@@ -362,7 +362,7 @@ installing it of course) can improve the speed.
 
 * Acknowledgements
 
-If ~denote-search~ exists it's because Protesilaos Stevrou developed
+If ~denote-search~ exists it's because Protesilaos Stavrou developed
 the incredible Denote package.  Please consider donating to him.[fn:2]
 
 I also want to thank Richard Stallman (creator of GNU Emacs), Po Lu



[elpa] externals/denote-search 2a24f275d9 17/18: Prepare everything for submitting the package to GNU ELPA

2025-02-27 Thread ELPA Syncer
branch: externals/denote-search
commit 2a24f275d965ccd6ae565e1316765eca6bbd53d4
Author: Lucas Quintana 
Commit: Lucas Quintana 

Prepare everything for submitting the package to GNU ELPA
---
 README.org   | 15 +--
 denote-search.el |  4 ++--
 2 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/README.org b/README.org
index 6e5a3a1eb0..bb591ffb40 100644
--- a/README.org
+++ b/README.org
@@ -4,8 +4,8 @@
 #+language: en
 #+options: ':t toc:nil author:t email:t num:t
 #+startup: content
-#+macro: stable-version 0.3.0
-#+macro: release-date 2024-12-31
+#+macro: stable-version 1.0.0
+#+macro: release-date 2025-02-27
 #+export_file_name: denote-search.texi
 #+texinfo_filename: denote-search.info
 #+texinfo_dir_category: Emacs misc features
@@ -32,15 +32,18 @@ The documentation furnished herein corresponds to stable 
version
 :COPYING: t
 :END:
 
-Copyright (C) 2024-2025  Lucas Quintana
+Copyright (C) 2024-2025  Free Software Foundation, Inc.
 
 #+begin_quote
 Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.3 or
 any later version published by the Free Software Foundation; with no
-Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.  A
-copy of the license is included in the section entitled “GNU Free
-Documentation License.”
+Invariant Sections, with the Front-Cover Texts being “A GNU Manual,” and
+with the Back-Cover Texts as in (a) below.  A copy of the license is
+included in the section entitled “GNU Free Documentation License.”
+
+(a) The FSF’s Back-Cover Text is: “You have the freedom to copy and
+modify this GNU manual.”
 #+end_quote
 
 * Overview
diff --git a/denote-search.el b/denote-search.el
index c24bf6d412..524416752e 100644
--- a/denote-search.el
+++ b/denote-search.el
@@ -1,13 +1,13 @@
 ;;; denote-search.el --- Search the contents of your notes -*- 
lexical-binding: t; -*-
 
-;; Copyright (C) 2024-2025  Lucas Quintana
+;; Copyright (C) 2024-2025  Free Software Foundation, Inc.
 
 ;; Author: Lucas Quintana 
 ;; Maintainer: Lucas Quintana 
 ;; URL: https://github.com/lmq-10/denote-search
 ;; Created: 2024-12-28
 ;; Keywords: matching
-;; Version: 0.3.0
+;; Version: 1.0.0
 ;; Package-Requires: ((emacs "29.1") (denote "3.0"))
 
 ;; This program is NOT part of GNU Emacs.



[elpa] externals/denote-search 90be23e1dc 11/18: Acknowledge Grant Rettke for commit 7b398fd

2025-02-27 Thread ELPA Syncer
branch: externals/denote-search
commit 90be23e1dcd271ddef11539e0032ddfe27f9c451
Author: Lucas Quintana 
Commit: Lucas Quintana 

Acknowledge Grant Rettke for commit 7b398fd

This was done in pull request 1: <#1>.

Although denote-search is not on ELPA yet, and as such copyright
assignment is not needed for contributing, I plan to publish it there
eventually, so I have to add: the change is small, meaning that Grant
does not need to assign copyright to the Free Software Foundation.
---
 README.org | 7 +++
 1 file changed, 7 insertions(+)

diff --git a/README.org b/README.org
index 48deb3624e..ca86ad03c7 100644
--- a/README.org
+++ b/README.org
@@ -445,6 +445,13 @@ installing it of course) can improve the speed.
 
 * Acknowledgements
 
+~denote-search~, just like Denote itself, is meant to be a collective
+effort.  Every bit of help matters.
+
++ Author/maintainer :: Lucas Quintana.
+
++ Contributions to code :: Grant Rettke.
+
 If ~denote-search~ exists it's because Protesilaos Stavrou developed
 the incredible Denote package.  Please consider donating to him.[fn:2]
 



[elpa] externals/transient 643458374c 05/27: transient--make-predicate-map: Increase spacing in pcase patterns

2025-02-27 Thread Jonas Bernoulli via
branch: externals/transient
commit 643458374c466c3ddfb6e7bb2d18f7a2233a63b4
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

transient--make-predicate-map: Increase spacing in pcase patterns
---
 lisp/transient.el | 28 ++--
 1 file changed, 14 insertions(+), 14 deletions(-)

diff --git a/lisp/transient.el b/lisp/transient.el
index 2f730811bd..f1458cb6d1 100644
--- a/lisp/transient.el
+++ b/lisp/transient.el
@@ -2120,24 +2120,24 @@ of the corresponding object."
  (transient--resolve-pre-command
   (oref obj transient))
  return)
-  (`(prefix   t ,_) #'transient--do-recurse)
-  (`(prefix nil ,_) #'transient--do-stack)
-  (`(infixt ,_) #'transient--do-stay)
-  (`(suffix   t ,_) #'transient--do-call)
-  ('(suffix nil  t) #'transient--do-return)
-  (`(,_ nil ,_) #'transient--do-exit)
-  (`(,_ ,do ,_) do)))
+  (`(prefix   t  ,_) #'transient--do-recurse)
+  (`(prefix nil  ,_) #'transient--do-stack)
+  (`(infixt  ,_) #'transient--do-stay)
+  (`(suffix   t  ,_) #'transient--do-call)
+  ('(suffix nil   t) #'transient--do-return)
+  (`(,_ nil  ,_) #'transient--do-exit)
+  (`(,_ ,do  ,_) do)))
((not (lookup-key transient-predicate-map id))
 (pcase (list kind default return)
   (`(prefix ,(or 'transient--do-stay 'transient--do-call) 
,_)
#'transient--do-recurse)
-  (`(prefix   t ,_) #'transient--do-recurse)
-  (`(prefix  ,_ ,_) #'transient--do-stack)
-  (`(infix   ,_ ,_) #'transient--do-stay)
-  (`(suffix   t ,_) #'transient--do-call)
-  ('(suffix nil  t) #'transient--do-return)
-  (`(suffix nil ,_) #'transient--do-exit)
-  (`(suffix ,do ,_) do))
+  (`(prefix   t  ,_) #'transient--do-recurse)
+  (`(prefix  ,_  ,_) #'transient--do-stack)
+  (`(infix   ,_  ,_) #'transient--do-stay)
+  (`(suffix   t  ,_) #'transient--do-call)
+  ('(suffix nil   t) #'transient--do-return)
+  (`(suffix nil  ,_) #'transient--do-exit)
+  (`(suffix ,do  ,_) do))
 (when pre
   (if-let ((alt (lookup-key map id)))
   (unless (eq alt pre)



[elpa] externals/transient 8b1cad251c 11/27: Regenerate manual

2025-02-27 Thread Jonas Bernoulli via
branch: externals/transient
commit 8b1cad251ce32040d48fe4072f6f77ae1b2e38b0
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

Regenerate manual
---
 docs/transient.texi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/transient.texi b/docs/transient.texi
index 7cfea92dbd..4ecb592547 100644
--- a/docs/transient.texi
+++ b/docs/transient.texi
@@ -1926,7 +1926,7 @@ predicate is automatically picked based on the value of 
the @code{transient}
 slot for the sub-prefix itself.
 
 @defun transient--do-recurse
-Call the transient prefix command, preparing for return to active
+Call the transient prefix command, preparing for return to outer
 transient.
 
 Whether we actually return to the parent transient is ultimately



[elpa] externals/transient aea527ed93 25/27: transient--wrap-command: Use add-function and remove-function

2025-02-27 Thread Jonas Bernoulli via
branch: externals/transient
commit aea527ed938de32a96ec138b844b5d0c9643dada
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

transient--wrap-command: Use add-function and remove-function

While suffixes are guaranteed to be function-bound symbols, the same
isn't necessarily true of non-suffixes.  Non-suffixes may also use
the minibuffer or signal an error, so they have to be wrapped as well.

Furthermore when `advice-add' is used on a function whose doc-string
is stored in its `function-documentation' property, then the original
doc-string is lost once `advice-remove' is used.

Re debbugs#76528.
---
 lisp/transient.el | 20 
 1 file changed, 12 insertions(+), 8 deletions(-)

diff --git a/lisp/transient.el b/lisp/transient.el
index 4f760af67f..ed1c565a7c 100644
--- a/lisp/transient.el
+++ b/lisp/transient.el
@@ -2676,7 +2676,8 @@ value.  Otherwise return CHILDREN as is.")
(when-let ((unwind (oref prefix unwind-suffix)))
  (transient--debug 'unwind-interactive)
  (funcall unwind cmd))
-   (advice-remove cmd advice)
+   (remove-function
+(if (symbolp cmd) (symbol-function cmd) cmd) advice)
(oset prefix unwind-suffix nil))
   (unwind-protect
   (let ((debugger #'transient--exit-and-debug))
@@ -2691,10 +2692,11 @@ value.  Otherwise return CHILDREN as is.")
 (when-let ((unwind (oref prefix unwind-suffix)))
   (transient--debug 'unwind-command)
   (funcall unwind cmd))
-(advice-remove cmd advice)
+(remove-function
+ (if (symbolp cmd) (symbol-function cmd) cmd) advice)
 (oset prefix unwind-suffix nil)
-(when (symbolp this-command)
-  (advice-add cmd :around advice '((depth . -99
+(add-function :around (if (symbolp cmd) (symbol-function cmd) cmd)
+  advice '((depth . -99)))
 (cl-assert
  (>= emacs-major-version 30) nil
  "Emacs was downgraded, making it necessary to recompile Transient"))
@@ -2719,7 +2721,8 @@ value.  Otherwise return CHILDREN as is.")
 (when-let ((unwind (oref prefix unwind-suffix)))
   (transient--debug 'unwind-interactive)
   (funcall unwind cmd))
-(advice-remove cmd advice)
+(remove-function
+ (if (symbolp cmd) (symbol-function cmd) cmd) advice)
 (oset prefix unwind-suffix nil))
(advice-body
 (lambda (fn &rest args)
@@ -2736,13 +2739,14 @@ value.  Otherwise return CHILDREN as is.")
 (when-let ((unwind (oref prefix unwind-suffix)))
   (transient--debug 'unwind-command)
   (funcall unwind cmd))
-(advice-remove cmd advice)
+(remove-function
+ (if (symbolp cmd) (symbol-function cmd) cmd) advice)
 (oset prefix unwind-suffix nil)
   (setq advice `(lambda (fn &rest args)
   (interactive ,advice-interactive)
   (apply ',advice-body fn args)))
-  (when (symbolp this-command)
-(advice-add cmd :around advice '((depth . -99)))
+  (add-function :around (if (symbolp cmd) (symbol-function cmd) cmd)
+advice '((depth . -99))
 
 (defun transient--premature-post-command ()
   (and (equal (this-command-keys-vector) [])



[nongnu] elpa/caml 744333dc4c: camldebug.el: Partially sync with Tuareg's `ocamldebug.el`

2025-02-27 Thread ELPA Syncer
branch: elpa/caml
commit 744333dc4c4bd8b93e037efa8f7362b0903b96a2
Author: Stefan Monnier 
Commit: Stefan Monnier 

camldebug.el: Partially sync with Tuareg's `ocamldebug.el`

Use standard formatting for first and last lines.
Mention `ocamldebug` in the title since that's what we run by default.
Align license version with that of `caml.el`.
Add copyright for my contributions.
Group historical info together.
Add new commands for `open` and `close`.
(camldebug-overlay-event, camldebug-overlay-under): Improve docstring
and disconnect from the current buffer.
(camldebug-event, camldebug-underline): Add docstring.
(camldebug-prefix-map): New map.
(def-camldebug): Add entries to it.
(caml-mode-map): Add it under the `C-x C-a` prefix here, so
`def-camldebug` doesn't need to touch `caml-mode-map` any more.
(camldebug-mode-map): Define it explicitly.
(comint-input-sentinel): Delete, this was an XEmacs-ism.
(camldebug-mode): Use `setq-local`.
Hook into `comint-input-filter-functions` rather than
`comint-input-sentinel`.
(current-camldebug-buffer): Rename to `camldebug-current-buffer` to
obey the prefix naming convention.
(camldebug-goto-filter): Use `when`.
(camldebug-goto): Use `unless`.
(camldebug-capf): Simplify a bit.
(camldebug--get-completions): Rename arg `command-word` to `str`.
(camldebug-command-name): Don't autoload.
(camldebug-marker-filter): Use `unless`.
(camldebug-filter): Prefer `let` over `setq`.  Use `when`.
(camldebug-display-line): Use `filepos-to-bufferpos` when available.
(camldebug-set-current-event): Use `1-`.
(camldebug-module-name): Prefer \' to match end of string.
(camldebug-format-command): Prefer `let` over `setq`.
Use `bufferpos-to-filepos` when available.
(camldebug-call-1): Use `save-excursion` to avoid "point jumping in
ocamldebug completion".
(camldebug-event): Use `:invert-video` to avoid compiler warning.
---
 camldebug.el | 375 ++-
 1 file changed, 191 insertions(+), 184 deletions(-)

diff --git a/camldebug.el b/camldebug.el
index 3cf8fd61ac..c0ac4c5c43 100644
--- a/camldebug.el
+++ b/camldebug.el
@@ -1,29 +1,25 @@
-;** -*- lexical-binding: t; -*- ***
-;**
-;* OCaml  *
-;**
-;* Jacques Garrigue and Ian T Zimmerman   *
-;**
-;*   Copyright 1997 Institut National de Recherche en Informatique et *
-;* en Automatique.*
-;**
-;*   All rights reserved.  This file is distributed under the terms of*
-;*   the GNU General Public License.  *
-;**
-;**
-
-;; Run camldebug under Emacs
-;; Derived from gdb.el.
-;; gdb.el is Copyright (C) 1988 Free Software Foundation, Inc, and is part
-;; of GNU Emacs
-;; Modified by Jerome Vouillon, 1994.
-;; Modified by Ian T. Zimmerman, 1996.
-;; Modified by Xavier Leroy, 1997.
+;;; camldebug.el --- Run ocamldebug / camldebug under Emacs  -*- 
lexical-binding:t -*-
+
+;;**
+;;**
+;;* OCaml  *
+;;**
+;;* Jacques Garrigue and Ian T Zimmerman   *
+;;**
+;;*   Copyright 1997 Institut National de Recherche en Informatique et *
+;;* en Automatique.*
+;;**
+;;*   All rights reserved.  This file is distributed under the terms of*
+;;*   the GNU General Public License.  *
+;;**
+;;**
+
+;; Copyright (C) 2021-2025  Free Software Foundation, Inc.
 
 ;; This file is free software; you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 1, or (at your option)
-;; any later version.
+;; the Free Software Foundation; either ver

[nongnu] elpa/dirvish 5ec7c66a4e: feat: add `dirvish-special-preview-mode` and `dirvish-misc-mode`

2025-02-27 Thread ELPA Syncer
branch: elpa/dirvish
commit 5ec7c66a4e8389be8712abd7b8e83d8b43f9a09d
Author: Alex Lu 
Commit: Alex Lu 

feat: add `dirvish-special-preview-mode` and `dirvish-misc-mode`

Closes #184
Closes #195
---
 dirvish-widgets.el   |   5 +-
 dirvish.el   |  78 +-
 docs/CUSTOMIZING.org | 155 +++
 3 files changed, 135 insertions(+), 103 deletions(-)

diff --git a/dirvish-widgets.el b/dirvish-widgets.el
index 168845bcfc..464365e2d6 100644
--- a/dirvish-widgets.el
+++ b/dirvish-widgets.el
@@ -727,9 +727,8 @@ Require: `zipinfo' (executable)
 Require: `tar' (executable)"
   :require (dirvish-zipinfo-program dirvish-tar-program)
   (cond ((equal ext "zip") `(shell . (,dirvish-zipinfo-program ,file)))
-;; Emacs source code files
-((string-suffix-p ".el.gz" file)
- (dirvish--find-file-temporarily file))
+;; Emacs source code files, let `fallback' handles it
+((string-suffix-p ".el.gz" file))
 ((member ext '("tar" "zst" "bz2" "bz" "gz" "xz" "tgz"))
  `(shell . (,dirvish-tar-program "-tvf" ,file)
 
diff --git a/dirvish.el b/dirvish.el
index 1b6d9156e3..3ce350b143 100644
--- a/dirvish.el
+++ b/dirvish.el
@@ -258,25 +258,19 @@ input for `dirvish-redisplay-debounce' seconds."
 (cl-defgeneric dirvish-build-cache () "Build cache for current directory." nil)
 
 (defcustom dirvish-after-revert-hook '(dirvish-clean-cache)
-  "Executed after `revert-buffer'."
+  "Functions called after running `revert-buffer' command."
   :group 'dirvish :type 'hook)
 
 (defcustom dirvish-setup-hook '(dirvish-build-cache)
-  "Executed after the Dired buffer is showed up."
+  "Functions called when directory data for the root buffer is ready."
   :group 'dirvish :type 'hook)
 
 (defcustom dirvish-find-entry-hook '(dirvish-insert-entry-h)
-  "Executed after finding a entry."
+  "Functions called before a Dired buffer is displayed."
   :group 'dirvish :type 'hook)
 
 (defcustom dirvish-preview-setup-hook nil
-  "Functions called after a preview buffer gets placed in the preview window.
-The value should be a list of functions take no argument, and they are
-called with the preview window temporarily selected."
-  :group 'dirvish :type 'hook)
-
-(defcustom dirvish-util-buffer-init-hook nil
-  "Functions called in the mode-line / header-line buffer upon initialization."
+  "Functions called in the file preview buffer."
   :group 'dirvish :type 'hook)
 
  Internal variables
@@ -838,6 +832,7 @@ buffer, it defaults to filename under the cursor when it is 
nil."
   (with-current-buffer (dirvish--util-buffer "temp")
 (let ((text (gethash file (dv-preview-hash dv))) info)
   (with-silent-modifications
+(setq buffer-read-only t)
 (if text (insert text)
   (insert-file-contents
file nil 0 dirvish-preview-large-file-threshold)
@@ -859,6 +854,7 @@ buffer, it defaults to filename under the cursor when it is 
nil."
 (error (setq info (error-message-string err
   (set-frame-parameter nil 'dv-preview-last (current-buffer))
   (if info (prog1 `(info . ,info) (dirvish--kill-buffer (current-buffer)))
+(run-hooks 'dirvish-preview-setup-hook)
 (unless text (puthash file (buffer-string) (dv-preview-hash dv)))
 `(buffer . ,(current-buffer))
 
@@ -937,18 +933,12 @@ When PROC finishes, fill preview buffer with process 
result."
   (str (with-current-buffer (process-buffer proc) 
(buffer-string
 (if (eq cmd-type 'shell)
 (with-current-buffer (dirvish--util-buffer 'shell dv nil t)
-  (fundamental-mode) (setq mode-line-format nil header-line-format nil)
   (let (buffer-read-only) (erase-buffer) (remove-overlays) (insert 
str))
-  (add-hook 'window-scroll-functions #'dirvish-apply-ansicolor-h nil t)
   (dirvish-apply-ansicolor-h nil (point-min)))
   (with-current-buffer (dirvish--util-buffer 'dired dv nil t)
-(dirvish-directory-view-mode)
-(setq mode-line-format nil header-line-format nil) (font-lock-mode 1)
 (let (buffer-read-only) (erase-buffer) (remove-overlays) (insert str))
 (setq-local dired-subdir-alist
-(list (cons (car (dv-index dv)) (point-min-marker)))
-font-lock-defaults
-'(dired-font-lock-keywords t nil nil beginning-of-line
+(list (cons (car (dv-index dv)) (point-min-marker))
 (kill-buffer (process-buffer proc
 
 (defun dirvish--run-shell-for-preview (dv recipe)
@@ -981,10 +971,8 @@ When PROC finishes, fill preview buffer with process 
result."
   (buf (cl-loop for fn in fns
 for rcp = (funcall fn index ext window dv) thereis
 (and rcp (dirvish-preview-dispatch rcp dv)
-(with-current-buffer buf (setq buffer-read-only t))
 (setq-local other-window-scroll-buff

[nongnu] elpa/helm 4cb39d6757: Add autoload cookie for helm-dynamic-completion

2025-02-27 Thread ELPA Syncer
branch: elpa/helm
commit 4cb39d6757fc2350ca2827172ca90a3e628b5289
Author: Thierry Volpiatto 
Commit: Thierry Volpiatto 

Add autoload cookie for helm-dynamic-completion
---
 helm-mode.el | 1 +
 1 file changed, 1 insertion(+)

diff --git a/helm-mode.el b/helm-mode.el
index 884ece89ca..74a45bfe94 100644
--- a/helm-mode.el
+++ b/helm-mode.el
@@ -2467,6 +2467,7 @@ When AFUN, AFIX are nil and CATEGORY is not file return 
COMPS unmodified."
  comps))
 (t comps)))
 
+;;;###autoload
 (defun helm-dynamic-completion (collection predicate &optional point metadata 
nomode styles)
   "Build a completion function for `helm-pattern' in COLLECTION.
 



[nongnu] elpa/tuareg f661844ba9 2/2: Merge pull request #319 from ocaml/scratch/sync

2025-02-27 Thread ELPA Syncer
branch: elpa/tuareg
commit f661844ba91a1942d17d83aee5b6b1818a6204c1
Merge: 4c107dd37f 92c7a97185
Author: monnier 
Commit: GitHub 

Merge pull request #319 from ocaml/scratch/sync

ocamldebug.el: Try and partially sync with `camldebug.el` (#227)
---
 ocamldebug.el | 148 --
 1 file changed, 81 insertions(+), 67 deletions(-)

diff --git a/ocamldebug.el b/ocamldebug.el
index 66815ecb93..d7c1256e1d 100644
--- a/ocamldebug.el
+++ b/ocamldebug.el
@@ -1,22 +1,24 @@
 ;;; ocamldebug.el --- Run ocamldebug / camldebug under Emacs  -*- 
lexical-binding:t -*-
-;; Derived from gdb.el.
 
 ;;;
 ;; Copying is covered by the GNU General Public License.
 ;;
-;;This program is free software; you can redistribute it and/or modify
-;;it under the terms of the GNU General Public License as published by
-;;the Free Software Foundation; either version 2 of the License, or
-;;(at your option) any later version.
+;; This program is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 3 of the License, or
+;; (at your option) any later version.
 ;;
-;;This program is distributed in the hope that it will be useful,
-;;but WITHOUT ANY WARRANTY; without even the implied warranty of
-;;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;;GNU General Public License for more details.
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
 
 ;;;
 ;;; History:
 ;;
+;; This is based on the `camldebug.el' by Jacques Garrigue
+;; and Ian T Zimmerman, that's in the `caml' package.
+;;
 ;;itz 04-06-96 I pondered basing this on gud. The potential advantages
 ;;were: automatic bugfix , keymaps and menus propagation.
 ;;Disadvantages: gud is not so clean itself, there is little common
@@ -27,21 +29,36 @@
 ;;assume that a sane person doesn't use gdb and dbx at the same time,
 ;;it's not so OK (IMHO) for gdb and ocamldebug.
 
+;; Derived from gdb.el.
+;; gdb.el is Copyright (C) 1988, 2025 Free Software Foundation, Inc, and is 
part
+;; of GNU Emacs
+;; Modified by Jerome Vouillon, 1994.
+;; Modified by Ian T. Zimmerman, 1996.
+;; Modified by Xavier Leroy, 1997.
+
+;; Xavier Leroy, 21/02/97: adaptation to ocamldebug.
+
 ;;Albert Cohen 04-97: Patch for Tuareg support.
 ;;Albert Cohen 05-98: A few patches and OCaml customization.
 ;;Albert Cohen 09-98: XEmacs support and some improvements.
 ;;Erwan Jahier and Albert Cohen 11-05: support for ocamldebug 3.09.
+;; Copyright (C) 2011-2025  Free Software Foundation, Inc.
 
 ;;; Commentary:
 
 ;;; Code:
 
+;; FIXME: Sync with `camldebug.el', or even merge them back!
+
 (require 'comint)
 (require 'shell)
-(require 'tuareg (expand-file-name "tuareg" (file-name-directory
- (or load-file-name
- byte-compile-current-file
- buffer-file-name
+(require 'tuareg (expand-file-name "tuareg"
+   (file-name-directory
+(if (fboundp 'macroexp-file-name) ;Emacs≥28
+(macroexp-file-name)
+  (or load-file-name
+  byte-compile-current-file
+  buffer-file-name)
 (require 'derived)
 (require 'seq)
 
@@ -79,8 +96,8 @@
 (defvar ocamldebug-event-marker (make-marker)
   "Marker for displaying the current event.")
 
-(defvar ocamldebug-track-frame t
-  "If non-nil, always display current frame position in another window.")
+(defvar ocamldebug-track-frame t;FIXME: Make it a `defcustom'?
+  "*If non-nil, always display current frame position in another window.")
 
 (defface ocamldebug-event
   '((t :inverse-video t))
@@ -106,11 +123,10 @@
 (define-key map "\C-c" ocamldebug-prefix-map)
 (define-key map "\C-l" #'ocamldebug-refresh)
 ;; This is already the default anyway!
-;;(define-key map "\t" 'comint-dynamic-complete)
-(define-key map "\M-?"
-  ;; FIXME: This binding is wrong since comint-dynamic-list-completions
-  ;; is a function, not a command.
-  #'comint-dynamic-list-completions)
+;;(define-key map "\t" #'comint-dynamic-complete)
+;; FIXME: This binding is wrong since comint-dynamic-list-completions
+;; is a function, not a command.
+;;(define-key map "\M-?" #'comint-dynamic-list-completions)
 map))
 
 (define-derived-mode ocamldebug

[nongnu] elpa/tuareg 92c7a97185 1/2: ocamldebug.el: Try and partially sync with `camldebug.el` (#227)

2025-02-27 Thread ELPA Syncer
branch: elpa/tuareg
commit 92c7a97185b37435c0dddf4097fc506166f009a9
Author: Stefan Monnier 
Commit: Stefan Monnier 

ocamldebug.el: Try and partially sync with `camldebug.el` (#227)

Align GPL version with that of `tuareg.el`.
Use `macroexp-file-name` when available.
Add `backstep` (C-k) and `display` (C-d) commands.
(ocamldebug-track-frame): Mark it as a user option.
(ocamldebug-mode-map): Comment out broken `M-?` binding.
(ocamldebug-mode): Make sure \\[..] refs are resolved relative to the
mode map rather than the current map.
(def-ocamldebug): Prefer `when`.
(ocamldebug-complete-filter): Use `push`.
(ocamldebug-complete): Use `declare`.
(ocamldebug): Rename arg to `file`, to match the docstring.
Try and behave a bit better when `make-comint` returns another buffer
than the one we expected.
(ocamldebug-set-current-event): Remove `pos` argument.
Use `before` instead (in the tty case) to decide whether to use `spos`
or `epos`, like we already did in the GUI case.  Also, set
`overlay-arrow-position` in the current buffer only.
(ocamldebug-display-line): Adjust caller accordingly.
---
 ocamldebug.el | 148 --
 1 file changed, 81 insertions(+), 67 deletions(-)

diff --git a/ocamldebug.el b/ocamldebug.el
index 66815ecb93..d7c1256e1d 100644
--- a/ocamldebug.el
+++ b/ocamldebug.el
@@ -1,22 +1,24 @@
 ;;; ocamldebug.el --- Run ocamldebug / camldebug under Emacs  -*- 
lexical-binding:t -*-
-;; Derived from gdb.el.
 
 ;;;
 ;; Copying is covered by the GNU General Public License.
 ;;
-;;This program is free software; you can redistribute it and/or modify
-;;it under the terms of the GNU General Public License as published by
-;;the Free Software Foundation; either version 2 of the License, or
-;;(at your option) any later version.
+;; This program is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 3 of the License, or
+;; (at your option) any later version.
 ;;
-;;This program is distributed in the hope that it will be useful,
-;;but WITHOUT ANY WARRANTY; without even the implied warranty of
-;;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;;GNU General Public License for more details.
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
 
 ;;;
 ;;; History:
 ;;
+;; This is based on the `camldebug.el' by Jacques Garrigue
+;; and Ian T Zimmerman, that's in the `caml' package.
+;;
 ;;itz 04-06-96 I pondered basing this on gud. The potential advantages
 ;;were: automatic bugfix , keymaps and menus propagation.
 ;;Disadvantages: gud is not so clean itself, there is little common
@@ -27,21 +29,36 @@
 ;;assume that a sane person doesn't use gdb and dbx at the same time,
 ;;it's not so OK (IMHO) for gdb and ocamldebug.
 
+;; Derived from gdb.el.
+;; gdb.el is Copyright (C) 1988, 2025 Free Software Foundation, Inc, and is 
part
+;; of GNU Emacs
+;; Modified by Jerome Vouillon, 1994.
+;; Modified by Ian T. Zimmerman, 1996.
+;; Modified by Xavier Leroy, 1997.
+
+;; Xavier Leroy, 21/02/97: adaptation to ocamldebug.
+
 ;;Albert Cohen 04-97: Patch for Tuareg support.
 ;;Albert Cohen 05-98: A few patches and OCaml customization.
 ;;Albert Cohen 09-98: XEmacs support and some improvements.
 ;;Erwan Jahier and Albert Cohen 11-05: support for ocamldebug 3.09.
+;; Copyright (C) 2011-2025  Free Software Foundation, Inc.
 
 ;;; Commentary:
 
 ;;; Code:
 
+;; FIXME: Sync with `camldebug.el', or even merge them back!
+
 (require 'comint)
 (require 'shell)
-(require 'tuareg (expand-file-name "tuareg" (file-name-directory
- (or load-file-name
- byte-compile-current-file
- buffer-file-name
+(require 'tuareg (expand-file-name "tuareg"
+   (file-name-directory
+(if (fboundp 'macroexp-file-name) ;Emacs≥28
+(macroexp-file-name)
+  (or load-file-name
+  byte-compile-current-file
+  buffer-file-name)
 (require 'derived)
 (require 'seq)
 
@@ -79,8 +96,8 @@
 (defvar ocamldebug-event-marker (make-marker)
   "Marker for displaying the current event.")
 
-(defvar ocamldebug-track-frame t
-  "If non-nil, always display current frame 

[nongnu] elpa/org-contrib f1f6b6ec81: lisp/org-collector.el (org-dblock-write:propview): Add support for the :tblfm keyword.

2025-02-27 Thread ELPA Syncer
branch: elpa/org-contrib
commit f1f6b6ec812803ff9969325a82960fb3545a
Author: Slava Barinov 
Commit: Ihor Radchenko 

lisp/org-collector.el (org-dblock-write:propview): Add support for the 
:tblfm keyword.
---
 lisp/org-collector.el | 9 -
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/lisp/org-collector.el b/lisp/org-collector.el
index b645d3a0dd..d5b97ac27a 100644
--- a/lisp/org-collector.el
+++ b/lisp/org-collector.el
@@ -122,6 +122,7 @@ preceding the dblock, then update the contents of the 
dblock."
(noquote (plist-get params :noquote))
(colnames (plist-get params :colnames))
(defaultval (plist-get params :defaultval))
+   (tblfm (plist-get params :tblfm))
(content-lines (org-split-string (plist-get params :content) "\n"))
id table line pos idpos stringformat)
(save-excursion
@@ -147,7 +148,13 @@ preceding the dblock, then update the contents of the 
dblock."
(message (format "point-%d" pos))
(while (setq line (pop content-lines))
  (when (string-match "^#" line)
-   (insert "\n" line)))
+   (unless (and tblfm
+(string-match "^#\\+TBLFM:" line))
+ (insert "\n" line
+   (when tblfm
+ (unless (eq (char-before) ?\n)
+   (insert "\n"))
+ (insert (concat "#+TBLFM:" tblfm)))
(goto-char pos)
(org-table-recalculate 'all))
 (org-collector-error (widen) (error "%s" er))



[nongnu] elpa/magit 330819de3e 1/2: Symbol-quote booleans in more docstrings

2025-02-27 Thread Jonas Bernoulli via
branch: elpa/magit
commit 330819de3e9c1f8f902a8816d1d53021474f6d30
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

Symbol-quote booleans in more docstrings

This was forbidden until recently, and I'll need some time to develop
my personal preference, now that the dogma is gone.  For now I symbol-
quote booleans in docstrings, if they appear in a list of symbols,
which include non-booleans.  For local consistency, I quote all
appearances within a docstring, not just those in the list.

Don't quote "nil" in "non-nil".  And if booleans appear in a docstring
but never within some kind of listing, then I don't quote them either.

This is a follow up to [1: ea811b143b].

1: 2025-02-25 ea811b143b41a217cffe5d980d150437dddc4cef
   Symbol-quote booleans even in docstrings
---
 lisp/magit-diff.el | 28 ++--
 1 file changed, 14 insertions(+), 14 deletions(-)

diff --git a/lisp/magit-diff.el b/lisp/magit-diff.el
index cd36b63053..886877080e 100644
--- a/lisp/magit-diff.el
+++ b/lisp/magit-diff.el
@@ -193,8 +193,8 @@ keep their distinct foreground colors."
 (defcustom magit-diff-refine-hunk nil
   "Whether to show word-granularity differences within diff hunks.
 
-nilNever show fine differences.
-t  Show fine differences for the current diff hunk only.
+`nil'  Never show fine differences.
+`t'Show fine differences for the current diff hunk only.
 `all'  Show fine differences for all displayed diff hunks."
   :group 'magit-diff
   :safe (lambda (val) (memq val '(nil t all)))
@@ -217,13 +217,13 @@ t  Show fine differences for the current diff hunk 
only.
 
 Determining the correct width can be expensive if it requires
 opening large and/or many files, so the widths are cached in
-the variable `magit-diff--tab-width-cache'.  Set that to nil
+the variable `magit-diff--tab-width-cache'.  Set that to `nil'
 to invalidate the cache.
 
-nil   Never adjust tab width.  Use `tab-width's value from
+`nil' Never adjust tab width.  Use `tab-width's value from
   the Magit buffer itself instead.
 
-t If the corresponding file-visiting buffer exits, then
+`t'   If the corresponding file-visiting buffer exits, then
   use `tab-width's value from that buffer.  Doing this is
   cheap, so this value is used even if a corresponding
   cache entry exists.
@@ -243,8 +243,8 @@ NUMBERLike `always', but don't visit files larger than 
NUMBER
 (defcustom magit-diff-paint-whitespace t
   "Specify where to highlight whitespace errors.
 
-nilNever highlight whitespace errors.
-t  Highlight whitespace errors everywhere.
+`nil'  Never highlight whitespace errors.
+`t'Highlight whitespace errors everywhere.
 `uncommitted'  Only highlight whitespace errors in diffs
showing uncommitted changes.
 
@@ -266,7 +266,7 @@ whitespace errors are highlighted."
 (defcustom magit-diff-paint-whitespace-lines t
   "Specify in what kind of lines to highlight whitespace errors.
 
-t Highlight only in added lines.
+`t'   Highlight only in added lines.
 `both'Highlight in added and removed lines.
 `all' Highlight in added, removed and context lines."
   :package-version '(magit . "3.0.0")
@@ -437,7 +437,7 @@ and the supported values for each key being:
 `t' Show these related branches.
 
 Keys which are not present in the alist have an implicit value `t'
-\(so the default alist value of nil means all related branch types
+\(so the default alist value of `nil' means all related branch types
 will be shown.)
 
 The types to be shown are additionally subject to user option
@@ -465,7 +465,7 @@ performance and reliability:
   long and which contain at least one number as well as at least
   one letter.
 
-If nil, then no hashes are turned into sections, but you can
+If `nil', then no hashes are turned into sections, but you can
 still visit the commit at point using \"RET\"."
   :package-version '(magit . "2.12.0")
   :group 'magit-revision
@@ -478,9 +478,9 @@ still visit the commit at point using \"RET\"."
 (defcustom magit-revision-show-gravatars nil
   "Whether to show gravatar images in revision buffers.
 
-If nil, then don't insert any gravatar images.  If t, then insert
-both images.  If `author' or `committer', then insert only the
-respective image.
+If `nil', then don't insert any gravatar images.  If `t', then
+insert both images.  If `author' or `committer', then insert
+only the respective image.
 
 If you have customized the option `magit-revision-header-format'
 and want to insert the images then you might also have to specify
@@ -489,7 +489,7 @@ two regular expressions.  The car specifies where to insert 
the
 author's image.  The top half of the image is inserted right
 after the matched text, the bottom half on the next line in the
 same column.  The cdr specifies where to insert the committer's
-image, accordingly.  Eithe

[elpa] externals/transient b4a9a45dde 16/27: Use appropriate key binding markup in docstrings

2025-02-27 Thread Jonas Bernoulli via
branch: externals/transient
commit b4a9a45ddebe78e911ecadfc92c0bb27dca04d5e
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

Use appropriate key binding markup in docstrings
---
 lisp/transient.el | 22 +++---
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/lisp/transient.el b/lisp/transient.el
index 517b6c36cb..449fb2b087 100644
--- a/lisp/transient.el
+++ b/lisp/transient.el
@@ -286,8 +286,8 @@ See `mode-line-format' for details."
   "Whether to show common transient suffixes in the popup buffer.
 
 These commands are always shown after typing the prefix key
-\"C-x\" when a transient command is active.  To toggle the value
-of this variable use \"C-x t\" when a transient is active."
+\\`C-x' when a transient command is active.  To toggle the value
+of this variable use \\`C-x t' when a transient is active."
   :package-version '(transient . "0.1.0")
   :group 'transient
   :type 'boolean)
@@ -485,7 +485,7 @@ Integers between 1 and 7 (inclusive) are valid levels.
 
 The levels of individual transients and/or their individual
 suffixes can be changed individually, by invoking the prefix and
-then pressing \"C-x l\".
+then pressing \\`C-x l'.
 
 The default level for both transients and their suffixes is 4.
 This option only controls the default for transients.  The default
@@ -5018,22 +5018,22 @@ search instead."
 (remove-hook 'transient-exit-hook #'transient--resume-which-key-mode)))
 
 (defun transient-bind-q-to-quit ()
-  "Modify some keymaps to bind \"q\" to the appropriate quit command.
+  "Modify some keymaps to bind \\`q' to the appropriate quit command.
 
-\"C-g\" is the default binding for such commands now, but Transient's
-predecessor Magit-Popup used \"q\" instead.  If you would like to get
+\\`C-g' is the default binding for such commands now, but Transient's
+predecessor Magit-Popup used \\`q' instead.  If you would like to get
 that binding back, then call this function in your init file like so:
 
   (with-eval-after-load \\='transient
 (transient-bind-q-to-quit))
 
-Individual transients may already bind \"q\" to something else
+Individual transients may already bind \\`q' to something else
 and such a binding would shadow the quit binding.  If that is the
-case then \"Q\" is bound to whatever \"q\" would have been bound
+case then \\`Q' is bound to whatever \\`q' would have been bound
 to by setting `transient-substitute-key-function' to a function
-that does that.  Of course \"Q\" may already be bound to something
-else, so that function binds \"M-q\" to that command instead.
-Of course \"M-q\" may already be bound to something else, but
+that does that.  Of course \\`Q' may already be bound to something
+else, so that function binds \\`M-q' to that command instead.
+Of course \\`M-q' may already be bound to something else, but
 we stop there."
   (keymap-set transient-base-map   "q" #'transient-quit-one)
   (keymap-set transient-sticky-map "q" #'transient-quit-seq)



[elpa] main 84fe2fd0bb 1/2: elpa-packages (denote-search): New package

2025-02-27 Thread Stefan Monnier via
branch: main
commit 84fe2fd0bb43f2851aba5aa2aba5d40901a7f4d9
Author: Stefan Monnier 
Commit: Stefan Monnier 

elpa-packages (denote-search): New package
---
 elpa-packages | 8 +++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/elpa-packages b/elpa-packages
index eb374b4fb8..184a16cb82 100644
--- a/elpa-packages
+++ b/elpa-packages
@@ -232,6 +232,10 @@
  (denote-menu  :url "https://github.com/namilus/denote-menu";
   :readme "README.org"
   :ignored-files ("COPYING"))
+ (denote-search:url "https://github.com/lmq-10/denote-search";
+  :ignored-files ("COPYING" "doclicense.texi")
+  :readme "README.md"
+  :doc "README.org")
  (detached :url "https://git.sr.ht/~niklaseklund/detached.el";
   :news "CHANGELOG.org"
   :readme "README.md")
@@ -599,10 +603,10 @@
   :ignored-files ("LICENSE"))
  (other-frame-window   :url nil)
  (pabbrev  :url "https://github.com/phillord/pabbrev.git";)
- (package-x :url nil)
  (paced:url 
"bzr::bzr://bzr.savannah.nongnu.org/paced-el/trunk"
   ;; The Bzr<->Git bridge wasn't working well enough last time I tried.
   :manual-sync t)
+ (package-x :url nil)
  ;; `package-fixes` is obsolete and was never released.
  ;; (package-fixes :url nil)
  (parsec   :url "https://github.com/cute-jumper/parsec.el.git";)
@@ -846,6 +850,8 @@
   ;; Mirror: https://github.com/omar-polo/vc-got/
   :ignored-files ("targets" "LICENSE"))
  (vc-hgcmd :url "https://github.com/muffinmad/emacs-vc-hgcmd";)
+ ;; FIXME: Waiting for copyright paperwork.
+ ;;(vc-jj  :url 
"https://codeberg.org/emacs-jj-vc/vc-jj.el";)
  (vcard:url nil)
  (vcl-mode :url "https://git.gnu.org.ua/vcl-mode.git";)
  (vdiff:url "https://github.com/justbur/emacs-vdiff";)



[elpa] externals/org-modern ab52b6d728: Check that org-modern-label-border is an integer

2025-02-27 Thread ELPA Syncer
branch: externals/org-modern
commit ab52b6d728a5123b4a5aa55fe3340cf42981a362
Author: Daniel Mendler 
Commit: Daniel Mendler 

Check that org-modern-label-border is an integer
---
 org-modern.el | 16 
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/org-modern.el b/org-modern.el
index 259baf33a7..81c53ebaae 100644
--- a/org-modern.el
+++ b/org-modern.el
@@ -674,14 +674,14 @@ whole buffer; otherwise, for the line at point."
'org-modern-label nil
:box
(when org-modern-label-border
- (let ((border (if (eq org-modern-label-border 'auto)
-   (max 2 (cond
-   ((integerp line-spacing)
-line-spacing)
-   ((floatp line-spacing)
-(ceiling (* line-spacing (frame-char-height
-   (t (/ (frame-char-height) 10
- org-modern-label-border)))
+ (let ((border (if (integerp org-modern-label-border)
+   org-modern-label-border
+ (max 2 (cond
+ ((integerp line-spacing)
+  line-spacing)
+ ((floatp line-spacing)
+  (ceiling (* line-spacing (frame-char-height
+ (t (/ (frame-char-height) 10)))
(list :color (face-attribute 'default :background nil t)
  :line-width (cons -1 (- border)))
 



[nongnu] elpa/dirvish 3c41c40875: fix: `ansi-color-apply-on-region` requires writeable buffer

2025-02-27 Thread ELPA Syncer
branch: elpa/dirvish
commit 3c41c40875e3eea98d7d2a647d4a0ef920f4f939
Author: Alex Lu 
Commit: Alex Lu 

fix: `ansi-color-apply-on-region` requires writeable buffer
---
 dirvish.el | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/dirvish.el b/dirvish.el
index 66b5832309..1b6d9156e3 100644
--- a/dirvish.el
+++ b/dirvish.el
@@ -740,8 +740,10 @@ buffer, it defaults to filename under the cursor when it 
is nil."
 
 (defun dirvish-apply-ansicolor-h (_win pos)
   "Update dirvish ansicolor in preview window from POS."
-  (ansi-color-apply-on-region
-   (goto-char pos) (progn (forward-line (frame-height)) (point
+  (let (buffer-read-only)
+(ansi-color-apply-on-region
+ (goto-char pos) (progn (forward-line (frame-height)) (point)
+
 
 (defun dirvish-update-body-h ()
   "Update UI of Dirvish."



[elpa] main 40a8188c8c: elpa-packages (on-screen): Upstream is now in-house

2025-02-27 Thread Stefan Monnier via
branch: main
commit 40a8188c8c30ec4451dc25cdb3dbfde1c110ebac
Author: Stefan Monnier 
Commit: Stefan Monnier 

elpa-packages (on-screen): Upstream is now in-house

Also, ignore `LICENSE` file in `yaml`.
---
 elpa-packages | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/elpa-packages b/elpa-packages
index eb374b4fb8..aefbd3c3d4 100644
--- a/elpa-packages
+++ b/elpa-packages
@@ -551,7 +551,7 @@
  (ob-haxe  :url "https://github.com/ianxm/ob-haxe.el";)
  (objed:url "https://github.com/clemera/objed";)
  (omn-mode :url "https://github.com/phillord/omn-mode";)
- (on-screen:url 
"https://github.com/michael-heerdegen/on-screen.el.git";)
+ (on-screen:url nil) ;;Was 
"https://github.com/michael-heerdegen/on-screen.el";
  (openpgp   :url "https://codeberg.org/pkal/openpgp.el";)
  (orderless:url "https://github.com/oantolin/orderless";
   :doc "orderless.texi"
@@ -891,7 +891,8 @@
   :ignored-files ("Makefile" ".github" "*-test.el*"))
  (xref :core "lisp/progmodes/xref.el")
  (xref-union:url "https://codeberg.org/pkal/xref-union.el";)
- (yaml :url "https://github.com/zkry/yaml.el";)
+ (yaml :url "https://github.com/zkry/yaml.el";
+  :ignored-files "LICENSE")
  (yasnippet:url "https://github.com/joaotavora/yasnippet";)
  (yasnippet-classic-snippets :url nil)
  (zones:url nil)  
;https://www.emacswiki.org/emacs/zones.el