[nongnu] elpa/helm-core updated (b6c85e81fe -> 7e554e3384)

2024-08-18 Thread ELPA Syncer
elpasync pushed a change to branch elpa/helm-core.

  from  b6c85e81fe Make helm-popup-tip-mode working with any sources
  adds  d27b5315e1 Update docstring
  adds  842ba6d822 Update NEWS
  adds  3c7b251f3c Add xz extension to helm-ff-file-compressed-list
  adds  36a6b50f32 Generalize popup-info to helm-source
  adds  d733debbe1 Remove user var helm-sources-using-help-echo-popup
  adds  57a54d4b2c Update NEWS
  adds  273763f0cd Allow using popup-info from metadata
  adds  7e554e3384 Prevent displaying an empty space as popup-info

No new revisions were added by this update.

Summary of changes:
 NEWS.org |  3 +++
 helm-files.el|  2 +-
 helm-grep.el |  6 ++
 helm-id-utils.el |  1 +
 helm-man.el  | 14 +++---
 helm-mode.el | 31 +++
 helm-source.el   | 10 +-
 helm-utils.el| 31 ++-
 8 files changed, 64 insertions(+), 34 deletions(-)



[nongnu] elpa/helm d733debbe1 5/8: Remove user var helm-sources-using-help-echo-popup

2024-08-18 Thread ELPA Syncer
branch: elpa/helm
commit d733debbe1144122e464f164707e5ff2717e2d9a
Author: Thierry Volpiatto 
Commit: Thierry Volpiatto 

Remove user var helm-sources-using-help-echo-popup

Now only sources that have the popup-info attributes will work with
helm-popup-tip-mode.
---
 helm-grep.el  |  6 ++
 helm-utils.el | 28 
 2 files changed, 14 insertions(+), 20 deletions(-)

diff --git a/helm-grep.el b/helm-grep.el
index 13657a05d1..bbc5dfc84e 100644
--- a/helm-grep.el
+++ b/helm-grep.el
@@ -1186,6 +1186,7 @@ of grep."
 (defclass helm-grep-class (helm-source-async)
   ((candidates-process :initform 'helm-grep-collect-candidates)
(filtered-candidate-transformer :initform #'helm-grep-fc-transformer)
+   (popup-info :initform #'helm-grep-popup-info-fn)
(keymap :initform 'helm-grep-map)
(pcre :initarg :pcre :initform nil
  :documentation
@@ -1396,6 +1397,10 @@ matching `helm-zgrep-file-extension-regexp' only."
 (and (stringp candidate)
  (helm-grep--filter-candidate-1 candidate nil pcre)
 
+(defun helm-grep-popup-info-fn (_candidate)
+  (helm-aif (get-text-property (pos-bol) 'helm-grep-fname)
+(abbreviate-file-name it)))
+
 (defun helm-grep-fc-transformer (candidates source)
   (let ((helm-grep-default-directory-fn
  (or helm-grep-default-directory-fn
@@ -1742,6 +1747,7 @@ continuing calling grep ag."
(history :initform 'helm-grep-ag-history)
(help-message :initform 'helm-grep-help-message)
(filtered-candidate-transformer :initform #'helm-grep-fc-transformer)
+   (popup-info :initform #'helm-grep-popup-info-fn)
(persistent-action :initform 'helm-grep-persistent-action)
(persistent-help :initform "Jump to line (`C-u' Record in mark ring)")
(candidate-number-limit :initform 9)
diff --git a/helm-utils.el b/helm-utils.el
index 923ce8885d..22bef0bbb7 100644
--- a/helm-utils.el
+++ b/helm-utils.el
@@ -104,11 +104,6 @@ Where PA means persistent action."
   :group 'helm-utils
   :type 'integer)
 
-(defcustom helm-sources-using-help-echo-popup '("Ack-Grep" "AG" "RG" "Gid" 
"Git-Grep")
-  "Show the buffer name or the filename in a popup at selection."
-  :group 'helm-utils
-  :type '(repeat (choice string)))
-
 (defcustom helm-html-decode-entities-function 
#'helm-html-decode-entities-string
   "Function used to decode HTML entities in HTML bookmarks.
 Helm comes by default with `helm-html-decode-entities-string', if
@@ -1042,9 +1037,7 @@ Assume regexp is a pcre based regexp."
  (popup-info-fn (assoc-default 'popup-info src)))
 (when (and helm-alive-p
helm-popup-tip-mode
-   (or (member (assoc-default 'name src)
-   helm-sources-using-help-echo-popup)
-   popup-info-fn))
+   popup-info-fn)
   (setq helm--show-help-echo-timer
 (run-with-idle-timer
  1 nil
@@ -1054,23 +1047,18 @@ Assume regexp is a pcre based regexp."
;; Use helm-grep-fname prop instead of help-echo as 
help-echo
;; maybe used by mouse overlay after resume.
(let ((pos (save-excursion (end-of-visual-line) (point
- (helm-acond ((get-text-property (pos-bol) 
'helm-grep-fname)
-  (helm-tooltip-show
-   (concat " " (abbreviate-file-name it))
-   pos))
- (popup-info-fn
-  (helm-tooltip-show
-   (concat " " (funcall it 
(helm-get-selection)))
-   pos
+ (when popup-info-fn
+   (helm-tooltip-show
+(concat " " (funcall popup-info-fn 
(helm-get-selection)))
+pos)))
 
 ;;;###autoload
 (define-minor-mode helm-popup-tip-mode
 "Show additional informations in a popup tip at end of line.
 
-When the mode is enabled, popup showup either when the source is one of
-`helm-sources-using-help-echo-popup' or the source has a `popup-info'
-attribute which define a specific function for this source to fetch infos on
-candidate."
+When the mode is enabled, popup showup when the source the source
+has a `popup-info' attribute which define a specific function for
+this source to fetch infos on candidate."
   :global t
   (if helm-popup-tip-mode
   (progn



[nongnu] elpa/helm updated (b6c85e81fe -> 7e554e3384)

2024-08-18 Thread ELPA Syncer
elpasync pushed a change to branch elpa/helm.

  from  b6c85e81fe Make helm-popup-tip-mode working with any sources
   new  d27b5315e1 Update docstring
   new  842ba6d822 Update NEWS
   new  3c7b251f3c Add xz extension to helm-ff-file-compressed-list
   new  36a6b50f32 Generalize popup-info to helm-source
   new  d733debbe1 Remove user var helm-sources-using-help-echo-popup
   new  57a54d4b2c Update NEWS
   new  273763f0cd Allow using popup-info from metadata
   new  7e554e3384 Prevent displaying an empty space as popup-info


Summary of changes:
 NEWS.org |  3 +++
 helm-files.el|  2 +-
 helm-grep.el |  6 ++
 helm-id-utils.el |  1 +
 helm-man.el  | 14 +++---
 helm-mode.el | 31 +++
 helm-source.el   | 10 +-
 helm-utils.el| 31 ++-
 8 files changed, 64 insertions(+), 34 deletions(-)



[nongnu] elpa/helm 57a54d4b2c 6/8: Update NEWS

2024-08-18 Thread ELPA Syncer
branch: elpa/helm
commit 57a54d4b2c89aa272deeea4e07ff26ca4eac147b
Author: Thierry Volpiatto 
Commit: Thierry Volpiatto 

Update NEWS
---
 NEWS.org | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/NEWS.org b/NEWS.org
index 9b28a53133..3c767e7075 100644
--- a/NEWS.org
+++ b/NEWS.org
@@ -2,7 +2,7 @@
 
 * NEWS
 ** Version 4.0-pre
-*** helm-popup-tip-mode is now usable in any source
+*** helm-popup-tip-mode is now usable in any source having the popup-info 
attribute
 In addition of the various helm-grep-* now =helm-man-woman= can benefit
 of this mode.
 *** New command helm-outline to navigate buffers according to outline-regexp



[nongnu] elpa/helm d27b5315e1 1/8: Update docstring

2024-08-18 Thread ELPA Syncer
branch: elpa/helm
commit d27b5315e122e82c2d7fca1586718ca4c4251242
Author: Thierry Volpiatto 
Commit: Thierry Volpiatto 

Update docstring
---
 helm-man.el | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/helm-man.el b/helm-man.el
index 39c37e2b69..07fc1024e5 100644
--- a/helm-man.el
+++ b/helm-man.el
@@ -106,7 +106,9 @@ source.")
 ;;;###autoload
 (defun helm-man-woman (arg)
   "Preconfigured `helm' for Man and Woman pages.
-With a prefix arg reinitialize the cache."
+With a prefix ARG reinitialize the cache.  To have a popup
+showing a basic description of selected candidate, turn on
+`helm-popup-tip-mode'."
   (interactive "P")
   (when arg (setq helm-man--pages nil))
   (unless helm-source-man-pages



[nongnu] elpa/helm 36a6b50f32 4/8: Generalize popup-info to helm-source

2024-08-18 Thread ELPA Syncer
branch: elpa/helm
commit 36a6b50f325be94f30c6cf699ede042fa907c6b1
Author: Thierry Volpiatto 
Commit: Thierry Volpiatto 

Generalize popup-info to helm-source
---
 helm-id-utils.el |  1 +
 helm-man.el  | 10 --
 helm-source.el   | 10 +-
 helm-utils.el|  4 ++--
 4 files changed, 16 insertions(+), 9 deletions(-)

diff --git a/helm-id-utils.el b/helm-id-utils.el
index 215092b608..315ef22c8e 100644
--- a/helm-id-utils.el
+++ b/helm-id-utils.el
@@ -87,6 +87,7 @@ MacPorts to install id-utils, it should be `gid32'."
(candidates-process :initform #'helm-gid-candidates-process)
(filtered-candidate-transformer
 :initform #'helm-gid-filtered-candidate-transformer)
+   (popup-info :initform #'helm-grep-popup-info-fn)
(candidate-number-limit :initform 9)
(action :initform (helm-make-actions
   "Find File" 'helm-grep-action
diff --git a/helm-man.el b/helm-man.el
index 07fc1024e5..6d20314d18 100644
--- a/helm-man.el
+++ b/helm-man.el
@@ -92,16 +92,14 @@ source.")
 (setq helm-man--pages (mapcar 'car woman-topic-all-completions)))
   (helm-init-candidates-in-buffer 'global helm-man--pages))
 
-(defun helm-man-popup-info (name)
-  (let ((output (shell-command-to-string (format "man -f '%s'" name
-(when (string-match (format "\\(%s ?([^(]+)\\) *- ?\\(.*\\)\n" name)
+(defun helm-man-popup-info (candidate)
+  (let ((output (shell-command-to-string (format "man -f '%s'" candidate
+(when (string-match (format "\\(%s ?([^(]+)\\) *- ?\\(.*\\)\n" candidate)
 output)
   (match-string 2 output
 
 (defclass helm-man-pages-class (helm-source-in-buffer)
-  ((helm-popup-info
-:initarg :helm-popup-info
-:initform #'helm-man-popup-info)))
+  ((popup-info :initform #'helm-man-popup-info)))
 
 ;;;###autoload
 (defun helm-man-woman (arg)
diff --git a/helm-source.el b/helm-source.el
index d5586dc46e..ca0072f68d 100644
--- a/helm-source.el
+++ b/helm-source.el
@@ -718,7 +718,15 @@
 :initform 'helm
 :custom symbol
 :documentation
-"  The current source group, default to `helm' when not specified."))
+"  The current source group, default to `helm' when not specified.")
+   (popup-info
+:initarg :popup-info
+:initform nil
+:custom function
+:documentation
+"  A function that show infos in a popup on the selected candidate.
+  This happen when `helm-popup-tip-mode' is enabled.
+  The function is called on candidate."))
 
   "Main interface to define helm sources."
   :abstract t)
diff --git a/helm-utils.el b/helm-utils.el
index 936a81db37..923ce8885d 100644
--- a/helm-utils.el
+++ b/helm-utils.el
@@ -1039,7 +1039,7 @@ Assume regexp is a pcre based regexp."
   (when helm--maybe-show-help-echo-overlay
 (delete-overlay helm--maybe-show-help-echo-overlay))
   (let* ((src (helm-get-current-source))
- (popup-info-fn (assoc-default 'helm-popup-info src)))
+ (popup-info-fn (assoc-default 'popup-info src)))
 (when (and helm-alive-p
helm-popup-tip-mode
(or (member (assoc-default 'name src)
@@ -1068,7 +1068,7 @@ Assume regexp is a pcre based regexp."
 "Show additional informations in a popup tip at end of line.
 
 When the mode is enabled, popup showup either when the source is one of
-`helm-sources-using-help-echo-popup' or the source has a `helm-popup-info'
+`helm-sources-using-help-echo-popup' or the source has a `popup-info'
 attribute which define a specific function for this source to fetch infos on
 candidate."
   :global t



[nongnu] elpa/helm 3c7b251f3c 3/8: Add xz extension to helm-ff-file-compressed-list

2024-08-18 Thread ELPA Syncer
branch: elpa/helm
commit 3c7b251f3ca7856224acf427b4eb8e90c529a370
Author: Thierry Volpiatto 
Commit: Thierry Volpiatto 

Add xz extension to helm-ff-file-compressed-list
---
 helm-files.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/helm-files.el b/helm-files.el
index 75debaed1e..f34e3ded23 100644
--- a/helm-files.el
+++ b/helm-files.el
@@ -363,7 +363,7 @@ with `C-j' inside an avfs directory mounted with mountavfs.
 See ."
   :type  'string)
 
-(defcustom helm-ff-file-compressed-list '("gz" "bz2" "zip" "7z")
+(defcustom helm-ff-file-compressed-list '("gz" "bz2" "zip" "7z" "xz")
   "Minimal list of compressed files extension."
   :type  '(repeat (choice string)))
 



[nongnu] elpa/helm 273763f0cd 7/8: Allow using popup-info from metadata

2024-08-18 Thread ELPA Syncer
branch: elpa/helm
commit 273763f0cd6e06318dc6705b7a75d680543e7d98
Author: Thierry Volpiatto 
Commit: Thierry Volpiatto 

Allow using popup-info from metadata

like this popup-info can be used in helm-mode.
---
 helm-mode.el | 31 +++
 1 file changed, 27 insertions(+), 4 deletions(-)

diff --git a/helm-mode.el b/helm-mode.el
index 89835f9a37..07f63709b1 100644
--- a/helm-mode.el
+++ b/helm-mode.el
@@ -646,7 +646,8 @@ If COLLECTION is an `obarray', a TEST should be needed. See 
`obarray'."
 allow-nest
 coerce
 raw-candidate
-(group 'helm))
+(group 'helm)
+popup-info)
   "Read a string in the minibuffer, with helm completion.
 
 It is helm `completing-read' equivalent.
@@ -863,6 +864,7 @@ that use `helm-comp-read'.  See `helm-M-x' for example."
:keymap keymap
:must-match must-match
:group group
+   :popup-info popup-info
:coerce coerce
:mode-line mode-line
:help-message help-message
@@ -883,6 +885,7 @@ that use `helm-comp-read'.  See `helm-M-x' for example."
 :action action-fn))
(src (helm-build-sync-source name
   :candidates get-candidates
+  :popup-info popup-info
   :match-part match-part
   :multiline multiline
   :header-name header-name
@@ -916,6 +919,7 @@ that use `helm-comp-read'.  See `helm-M-x' for example."
   (append transformers
   (unless (member 'helm-cr-default-transformer 
transformers)
 '(helm-cr-default-transformer
+:popup-info popup-info
 :requires-pattern requires-pattern
 :persistent-action persistent-action
 :fuzzy-match fuzzy
@@ -1049,7 +1053,10 @@ that use `helm-comp-read'.  See `helm-M-x' for example."
 (category . library)))
 (charset . (metadata
 (affixation-function . helm-completion-charset-affixation)
-(category . charset
+(category . charset)))
+(man . (metadata
+(popup-info-function . helm-completion-man-popup-info)
+(category . man
   "Extra metadatas for completing-read.
 
 It is used to add `affixation-function' or `annotation-function' if original
@@ -1071,7 +1078,8 @@ Categories for a specific commands are stored in
 FLAGS is a list of variables to renitialize to nil when exiting or quitting.")
 
 (defvar helm-completing-read-command-categories
-  '(("customize-variable" . symbol-help)
+  '(("man" . man)
+("customize-variable" . symbol-help)
 ("customize-set-variable" . symbol-help)
 ("customize-set-value" . symbol-help)
 ("customize-save-variable" . symbol-help)
@@ -1122,6 +1130,19 @@ specified in metadata, we allow here specifying the 
category of
 the completion provided by a specific command.  The command
 should be specified as a string and the category as a symbol.")
 
+;; We can't reuse the function from helm-man.el because the candidates are here
+;; differents e.g. apt vs apt(8).
+(defun helm-completion-man-popup-info (candidate)
+  ;; Man has the stupid habit to use symbol at point as default, try to not
+  ;; match it.
+  (let* ((com (if (string-match "\\(.*\\) ?([^()]+)" candidate)
+  (match-string 1 candidate)
+candidate))
+ (output (shell-command-to-string (format "man -f '%s'" com
+(when (string-match (format "\\(%s ?([^(]+)\\) *- ?\\(.*\\)\n" com)
+output)
+  (match-string 2 output
+
 (defvar helm-completing-read--buffer-lgst-mode nil)
 (defun helm-completing-read-buffer-affixation (completions)
   (let ((len-mode (or helm-completing-read--buffer-lgst-mode
@@ -1426,7 +1447,7 @@ dynamically otherwise use 
`helm-completing-read-default-2'."
   metadata 'display-sort-function)
  (lambda (candidates)
(sort candidates #'helm-generic-sort-fn)
- flags)
+ popup-info flags)
 (helm-aif (and (null category)
(assoc-default name 
helm-completing-read-command-categories))
 (setq metadata `(metadata (category . ,it))
@@ -1438,6 +1459,7 @@ dynamically otherwise use 
`helm-completing-read-default-2'."
   (setq metadata it)
   (setq afun (completion-metadata-get metadata 'annotation-function)
 afix (completion-metadata-get metadata 'affixation-function)
+popup-info (completion-metadata-get metadata 
'popup-info-function)
 flags (completion-metadata-get metadata 

[nongnu] elpa/helm 7e554e3384 8/8: Prevent displaying an empty space as popup-info

2024-08-18 Thread ELPA Syncer
branch: elpa/helm
commit 7e554e338438cb7ed01dca933c179b544b15ed3b
Author: Thierry Volpiatto 
Commit: Thierry Volpiatto 

Prevent displaying an empty space as popup-info

when the function return nil.
---
 helm-utils.el | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/helm-utils.el b/helm-utils.el
index 22bef0bbb7..b116e1c3da 100644
--- a/helm-utils.el
+++ b/helm-utils.el
@@ -1047,9 +1047,10 @@ Assume regexp is a pcre based regexp."
;; Use helm-grep-fname prop instead of help-echo as 
help-echo
;; maybe used by mouse overlay after resume.
(let ((pos (save-excursion (end-of-visual-line) (point
- (when popup-info-fn
+ (helm-aif (and popup-info-fn
+(funcall popup-info-fn 
(helm-get-selection)))
(helm-tooltip-show
-(concat " " (funcall popup-info-fn 
(helm-get-selection)))
+(concat " " it)
 pos)))
 
 ;;;###autoload



[nongnu] elpa/helm 842ba6d822 2/8: Update NEWS

2024-08-18 Thread ELPA Syncer
branch: elpa/helm
commit 842ba6d822abb62d0c965c32196785a355432d66
Author: Thierry Volpiatto 
Commit: Thierry Volpiatto 

Update NEWS
---
 NEWS.org | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/NEWS.org b/NEWS.org
index fc38ed2a75..9b28a53133 100644
--- a/NEWS.org
+++ b/NEWS.org
@@ -2,6 +2,9 @@
 
 * NEWS
 ** Version 4.0-pre
+*** helm-popup-tip-mode is now usable in any source
+In addition of the various helm-grep-* now =helm-man-woman= can benefit
+of this mode.
 *** New command helm-outline to navigate buffers according to outline-regexp
 *** New helm grep ag action to search results from the helm ag/rg session
 This allows filtering the current results to another pattern or to



[elpa] externals/cape 37e96afde0 1/4: cape-elisp-symbol: Only insert wrappers when not already there (Fix #126)

2024-08-18 Thread ELPA Syncer
branch: externals/cape
commit 37e96afde051ce9648b46b358d9c1f5fa7a7932f
Author: Daniel Mendler 
Commit: Daniel Mendler 

cape-elisp-symbol: Only insert wrappers when not already there (Fix #126)
---
 cape.el | 18 --
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/cape.el b/cape.el
index 9ba2ce37fe..c92e99e51d 100644
--- a/cape.el
+++ b/cape.el
@@ -465,16 +465,22 @@ If INTERACTIVE is nil the function acts like a Capf."
   "Return t if SYM is bound, fbound or propertized."
   (or (fboundp sym) (boundp sym) (symbol-plist sym)))
 
-(defun cape--symbol-exit (name status)
-  "Wrap symbol NAME with `cape-elisp-symbol-wrapper' buffers.
+(defun cape--symbol-exit (sym status)
+  "Wrap symbol SYM with `cape-elisp-symbol-wrapper' buffers.
 STATUS is the exit status."
   (when-let (((not (eq status 'exact)))
  (c (cl-loop for (m . c) in cape-elisp-symbol-wrapper
- if (derived-mode-p m) return c)))
+ if (derived-mode-p m) return c))
+ (x (if (stringp (car c)) (car c) (string (car c
+ (y (if (stringp (cadr c)) (cadr c) (string (cadr c)
 (save-excursion
-  (backward-char (length name))
-  (insert (car c)))
-(insert (cadr c
+  (backward-char (length sym))
+  (unless (save-excursion
+(and (ignore-errors (or (backward-char (length x)) t))
+ (looking-at-p (regexp-quote x
+(insert x)))
+(unless (looking-at-p (regexp-quote y))
+  (insert y
 
 (defun cape--symbol-annotation (sym)
   "Return kind of SYM."



[elpa] externals/cape 9476f6c383 4/4: cape-dabbrev-check-other-buffers: More defensive function check (Fix #127)

2024-08-18 Thread ELPA Syncer
branch: externals/cape
commit 9476f6c38318bd762e749b0a33bdd4bf2073790c
Author: Daniel Mendler 
Commit: Daniel Mendler 

cape-dabbrev-check-other-buffers: More defensive function check (Fix #127)
---
 cape.el | 13 ++---
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/cape.el b/cape.el
index cfdbfc8589..f202e33514 100644
--- a/cape.el
+++ b/cape.el
@@ -567,14 +567,13 @@ If INTERACTIVE is nil the function acts like a Capf."
 (defun cape--dabbrev-list (input)
   "Find all Dabbrev expansions for INPUT."
   (cape--silent
-(dlet ((dabbrev-check-other-buffers
-(and cape-dabbrev-check-other-buffers
- (not (functionp cape-dabbrev-check-other-buffers
-   (dabbrev-check-all-buffers
-(eq cape-dabbrev-check-other-buffers t))
+(dlet ((fun-p (and (not (memq cape-dabbrev-check-other-buffers '(nil t 
some)))
+   (functionp cape-dabbrev-check-other-buffers)))
+   (dabbrev-check-other-buffers
+(and cape-dabbrev-check-other-buffers (not fun-p)))
+   (dabbrev-check-all-buffers (eq cape-dabbrev-check-other-buffers t))
(dabbrev-search-these-buffers-only
-(and (functionp cape-dabbrev-check-other-buffers)
- (funcall cape-dabbrev-check-other-buffers
+(and fun-p (funcall cape-dabbrev-check-other-buffers
   (dabbrev--reset-global-variables)
   (cons
(apply-partially #'string-prefix-p input)



[elpa] externals/corfu e0b7936c21 1/2: README: Use keymap-set

2024-08-18 Thread ELPA Syncer
branch: externals/corfu
commit e0b7936c21121158628bc2b392fc7a42e26ae536
Author: Daniel Mendler 
Commit: Daniel Mendler 

README: Use keymap-set
---
 README.org | 18 +-
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/README.org b/README.org
index d0e05f3435..dd93cb27ca 100644
--- a/README.org
+++ b/README.org
@@ -406,17 +406,17 @@ modes using a menu-item filter.
   (corfu-auto t)   ;; Enable auto completion
   (corfu-preselect 'directory) ;; Select the first candidate, except for 
directories
 
+  :init
+
   ;; Free the RET key for less intrusive behavior.
-  :bind
-  (:map corfu-map
-;; Option 1: Unbind RET completely
-;;; ("RET" . nil)
-;; Option 2: Use RET only in shell modes
-:filter
-(or (derived-mode-p 'eshell-mode) (derived-mode-p 'comint-mode))
-("RET" . corfu-send))
+  ;; Option 1: Unbind RET completely
+  ;; (keymap-unset corfu-map "RET")
+  ;; Option 2: Use RET only in shell modes
+  (keymap-set corfu-map "RET" `( menu-item "" nil :filter
+ ,(lambda (&optional _)
+(and (derived-mode-p 'eshell-mode 
'comint-mode)
+ #'corfu-send
 
-  :init
   (global-corfu-mode))
 #+end_src
 



[elpa] externals/cape e7b0b19ae3 3/4: Update changelog

2024-08-18 Thread ELPA Syncer
branch: externals/cape
commit e7b0b19ae3d46d61c2f96c6fc91150d7e6d0193c
Author: Daniel Mendler 
Commit: Daniel Mendler 

Update changelog
---
 CHANGELOG.org | 5 +
 1 file changed, 5 insertions(+)

diff --git a/CHANGELOG.org b/CHANGELOG.org
index 1de263c76b..d065b7f6c6 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -2,6 +2,11 @@
 #+author: Daniel Mendler
 #+language: en
 
+* Development
+
+- ~cape-elisp-symbol~: Add wrappers only if not yet there.
+- ~cape-elisp-symbol~: Add wrappers in ~emacs-lisp-mode~ inside 
strings/comments.
+
 * Version 1.6 (2024-07-23)
 
 - Add ~cape-prefix-map~ for simplified configuration.



[elpa] externals/corfu 921dd7c97e 2/2: README: Use :config block

2024-08-18 Thread ELPA Syncer
branch: externals/corfu
commit 921dd7c97ec41fe8ef81dd5f5a08b0f717586c86
Author: Daniel Mendler 
Commit: Daniel Mendler 

README: Use :config block
---
 README.org | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/README.org b/README.org
index dd93cb27ca..9f838a4b1f 100644
--- a/README.org
+++ b/README.org
@@ -407,7 +407,9 @@ modes using a menu-item filter.
   (corfu-preselect 'directory) ;; Select the first candidate, except for 
directories
 
   :init
+  (global-corfu-mode)
 
+  :config
   ;; Free the RET key for less intrusive behavior.
   ;; Option 1: Unbind RET completely
   ;; (keymap-unset corfu-map "RET")
@@ -415,9 +417,7 @@ modes using a menu-item filter.
   (keymap-set corfu-map "RET" `( menu-item "" nil :filter
  ,(lambda (&optional _)
 (and (derived-mode-p 'eshell-mode 
'comint-mode)
- #'corfu-send
-
-  (global-corfu-mode))
+ #'corfu-send)
 #+end_src
 
 ** TAB-and-Go completion



[elpa] externals/corfu updated (fac0d67ead -> 921dd7c97e)

2024-08-18 Thread ELPA Syncer
elpasync pushed a change to branch externals/corfu.

  from  fac0d67ead README: Minor cleanup
   new  e0b7936c21 README: Use keymap-set
   new  921dd7c97e README: Use :config block


Summary of changes:
 README.org | 22 +++---
 1 file changed, 11 insertions(+), 11 deletions(-)



[elpa] externals/cape a40c06a259 2/4: cape-elisp-symbol: Insert wrappers in emacs-lisp-mode in strings and comments

2024-08-18 Thread ELPA Syncer
branch: externals/cape
commit a40c06a259f3dd59eb5f5d7a397a781c09865681
Author: Daniel Mendler 
Commit: Daniel Mendler 

cape-elisp-symbol: Insert wrappers in emacs-lisp-mode in strings and 
comments
---
 cape.el | 4 
 1 file changed, 4 insertions(+)

diff --git a/cape.el b/cape.el
index c92e99e51d..cfdbfc8589 100644
--- a/cape.el
+++ b/cape.el
@@ -133,6 +133,7 @@ The buffers are scanned for completion candidates by 
`cape-line'."
 (defcustom cape-elisp-symbol-wrapper
   '((org-mode ?~ ?~)
 (markdown-mode ?` ?`)
+(emacs-lisp-mode ?` ?')
 (rst-mode "``" "``")
 (log-edit-mode "`" "'")
 (change-log-mode "`" "'")
@@ -471,6 +472,9 @@ STATUS is the exit status."
   (when-let (((not (eq status 'exact)))
  (c (cl-loop for (m . c) in cape-elisp-symbol-wrapper
  if (derived-mode-p m) return c))
+ ((or (not (derived-mode-p 'emacs-lisp-mode))
+  ;; Inside comment or string
+  (let ((s (syntax-ppss))) (or (nth 3 s) (nth 4 s)
  (x (if (stringp (car c)) (car c) (string (car c
  (y (if (stringp (cadr c)) (cadr c) (string (cadr c)
 (save-excursion



[elpa] externals/cape updated (5c468d6d65 -> 9476f6c383)

2024-08-18 Thread ELPA Syncer
elpasync pushed a change to branch externals/cape.

  from  5c468d6d65 Bump version
   new  37e96afde0 cape-elisp-symbol: Only insert wrappers when not already 
there (Fix #126)
   new  a40c06a259 cape-elisp-symbol: Insert wrappers in emacs-lisp-mode in 
strings and comments
   new  e7b0b19ae3 Update changelog
   new  9476f6c383 cape-dabbrev-check-other-buffers: More defensive 
function check (Fix #127)


Summary of changes:
 CHANGELOG.org |  5 +
 cape.el   | 35 ++-
 2 files changed, 27 insertions(+), 13 deletions(-)



[elpa] externals/listen f9d95497cd 04/12: Tidy: (listen--send MPV)

2024-08-18 Thread ELPA Syncer
branch: externals/listen
commit f9d95497cd8287b8ecde98caa36f7036be9af87b
Author: Adam Porter 
Commit: Adam Porter 

Tidy: (listen--send MPV)
---
 listen-mpv.el | 7 ++-
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/listen-mpv.el b/listen-mpv.el
index 7562df46c6..0ad1c84f1f 100755
--- a/listen-mpv.el
+++ b/listen-mpv.el
@@ -118,15 +118,12 @@ Stops playing, clears playlist, adds FILE, and plays it."
   (pcase-let* (((cl-struct listen-player (etc (map :network-process))) player)
(request-id (cl-incf (map-elt (listen-player-etc player) 
:request-id
 (with-current-buffer (process-buffer network-process)
-  (let ((pos (marker-position (process-mark network-process)))
-(json (json-encode
-   `(("command" ,command ,@args)
- ("request_id" . ,request-id)
+  (let ((json (json-encode `(("command" ,command ,@args)
+ ("request_id" . ,request-id)
 (process-send-string network-process json)
 (process-send-string network-process "\n")
 (with-local-quit
   (accept-process-output network-process 2))
-;; TODO: Consider using `json-read', etc.
 (goto-char (point-min))
 (let ((json-false nil))
   (prog1 (cl-loop for result = (json-read)



[elpa] externals/listen updated (d97f308f34 -> c5b7f0b524)

2024-08-18 Thread ELPA Syncer
elpasync pushed a change to branch externals/listen.

  from  d97f308f34 Tidy: (listen--volume) Use error, not user-error
   new  ffb0a91371 Add: (listen-mpv) MPV support
   new  193e04b3aa Merge: MPV support
   new  40adfdeffa Fix: (listen--status MPV) Variable
   new  f9d95497cd Tidy: (listen--send MPV)
   new  35e6b832e5 Tidy: Indentation
   new  d75248f11c Tidy: Compilation warning
   new  94c0432a21 Docs: Update player mentions
   new  eedac8822b Docs: Clarify
   new  9d64fd574b Docs: Add ELPA-devel badge
   new  be91375f7e Docs: Update another player mention
   new  748a148188 Fix: (listen-current-player)
   new  c5b7f0b524 Docs: Mention MPV-MPRIS


Summary of changes:
 README.org  |  14 ++---
 docs/README.org |  14 ++---
 listen-info.el  |  30 +++
 listen-lib.el   |   5 +-
 listen-mpd.el   |   2 +-
 listen-mpv.el   | 165 
 listen.el   |  10 
 7 files changed, 202 insertions(+), 38 deletions(-)
 create mode 100755 listen-mpv.el



[elpa] externals/listen 9d64fd574b 09/12: Docs: Add ELPA-devel badge

2024-08-18 Thread ELPA Syncer
branch: externals/listen
commit 9d64fd574b257303aa1dc376b6cc21de634fd999
Author: Adam Porter 
Commit: Adam Porter 

Docs: Add ELPA-devel badge

Technically it's "GNU-devel ELPA", but who's to say.
---
 README.org  | 2 +-
 docs/README.org | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/README.org b/README.org
index 149060c7d9..f634ebd270 100644
--- a/README.org
+++ b/README.org
@@ -5,7 +5,7 @@
 #+texinfo_dir_title: Listen: (listen)
 #+texinfo_dir_desc: Audio/Music player
 
-[[https://elpa.gnu.org/packages/listen.html][file:https://elpa.gnu.org/packages/listen.svg]]
+[[https://elpa.gnu.org/packages/listen.html][file:https://elpa.gnu.org/packages/listen.svg]]
 
[[https://elpa.gnu.org/devel/listen.html][file:https://elpa.gnu.org/devel/listen.svg]]
 
 This package aims to provide a simple audio/music player for Emacs.  It should 
"just work," with little-to-no configuration, have intuitive commands, and be 
easily extended and customized.  (Contrast to setting up EMMS, or having to 
configure external players like MPD.)  A Transient menu, under the command 
~listen~, is the primary entry point.
 
diff --git a/docs/README.org b/docs/README.org
index 731d93fe78..f6168e4420 100644
--- a/docs/README.org
+++ b/docs/README.org
@@ -10,7 +10,7 @@
 #+TEXINFO_DIR_DESC: Audio/Music player
 
 # ELPA badge image.
-[[https://elpa.gnu.org/packages/listen.html][file:https://elpa.gnu.org/packages/listen.svg]]
+[[https://elpa.gnu.org/packages/listen.html][file:https://elpa.gnu.org/packages/listen.svg]]
 
[[https://elpa.gnu.org/devel/listen.html][file:https://elpa.gnu.org/devel/listen.svg]]
 
 This package aims to provide a simple audio/music player for Emacs.  It should 
"just work," with little-to-no configuration, have intuitive commands, and be 
easily extended and customized.  (Contrast to setting up EMMS, or having to 
configure external players like MPD.)  A Transient menu, under the command 
~listen~, is the primary entry point.
 



[elpa] externals/marginalia 50a51c69f0: Update README: Recommended icon package

2024-08-18 Thread ELPA Syncer
branch: externals/marginalia
commit 50a51c69f006ec8b3ba1c570555d279d4cff6d99
Author: Daniel Mendler 
Commit: Daniel Mendler 

Update README: Recommended icon package
---
 README.org | 13 -
 1 file changed, 4 insertions(+), 9 deletions(-)

diff --git a/README.org b/README.org
index 4f0ec6220b..255eaa0541 100644
--- a/README.org
+++ b/README.org
@@ -199,15 +199,10 @@ configuration. This can be achieved using an advice which 
calls
 
 * Icons in the minibuffer
 
-Marginalia focuses on text annotations. The following packages are compatible
-with Marginalia and use special fonts to add icons in front of completion
-candidates. There also exist related packages to enhance Dired, Ibuffer, Corfu
-and other modes with icons consistently.
-
-- 
[[https://github.com/rainstormstudio/nerd-icons-completion][nerd-icons-completion]]:
 Uses the NerdFonts. It can even work even in the
-  terminal where only a single font can be used.
-- 
[[https://github.com/iyefrat/all-the-icons-completion][all-the-icons-completion]]:
 Uses the =all-the-icons.el= package which configures
-  multiple icon fonts.
+Marginalia focuses on text annotations. The 
[[https://github.com/rainstormstudio/nerd-icons-completion][nerd-icons-completion]]
 package is
+compatible with Marginalia and uses the special NerdFonts to add icons in front
+of minibuffer completion candidates. There exist related packages to enhance
+Dired, Ibuffer, Corfu and other modes with icons consistently.
 
 * Contributions
 



[elpa] externals/listen 193e04b3aa 02/12: Merge: MPV support

2024-08-18 Thread ELPA Syncer
branch: externals/listen
commit 193e04b3aa289605eeedc743e5969d746783c4bf
Merge: d97f308f34 ffb0a91371
Author: Adam Porter 
Commit: Adam Porter 

Merge: MPV support
---
 README.org  |   2 +
 docs/README.org |   2 +
 listen-lib.el   |   4 +-
 listen-mpv.el   | 168 
 listen.el   |  10 
 5 files changed, 183 insertions(+), 3 deletions(-)

diff --git a/README.org b/README.org
index d742680b8d..d1df928a03 100644
--- a/README.org
+++ b/README.org
@@ -226,6 +226,8 @@ The ~listen-mode~ minor mode runs a timer which plays the 
next track in the curr
 ** v0.10-pre
 
 *Additions*
+- [[https://mpv.io/][MPV]] support.
+- Option ~listen-backend~, which sets the backend to use: MPV or VLC.  (The 
default is to auto-detect which is available at load time, with MPV being 
preferred due to more robust IPC support.)
 - Faces for parts of mode line lighter.
 
 *Fixes*
diff --git a/docs/README.org b/docs/README.org
index 63db70a7fb..398978af09 100644
--- a/docs/README.org
+++ b/docs/README.org
@@ -238,6 +238,8 @@ The ~listen-mode~ minor mode runs a timer which plays the 
next track in the curr
 ** v0.10-pre
 
 *Additions*
++ [[https://mpv.io/][MPV]] support.
++ Option ~listen-backend~, which sets the backend to use: MPV or VLC.  (The 
default is to auto-detect which is available at load time, with MPV being 
preferred due to more robust IPC support.)
 + Faces for parts of mode line lighter.
 
 *Fixes*
diff --git a/listen-lib.el b/listen-lib.el
index 600afc5056..7287e774f4 100644
--- a/listen-lib.el
+++ b/listen-lib.el
@@ -139,12 +139,10 @@ return a list of values; otherwise return the sole value."
 
  Functions
 
-;; FIXME: Declare this differently or something.
-(declare-function make-listen-player-vlc "listen-vlc")
 (defun listen-current-player ()
   "Return variable `listen-player' or a newly set one if nil."
   (or listen-player
-  (setf listen-player (make-listen-player-vlc
+  (setf listen-player (funcall (defvar listen-backend)
 
 (cl-defun listen-current-track (&optional (player listen-player))
   "Return track playing on PLAYER, if any."
diff --git a/listen-mpv.el b/listen-mpv.el
new file mode 100755
index 00..ecdb7c0638
--- /dev/null
+++ b/listen-mpv.el
@@ -0,0 +1,168 @@
+;;; listen-mpv.el --- MPV support for Emacs Music Player
-*- lexical-binding: t; -*-
+
+;; Copyright (C) 2024  Free Software Foundation, Inc.
+
+;; Author: Adam Porter 
+
+;; 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.
+
+;; You should have received a copy of the GNU General Public License
+;; along with this program.  If not, see .
+
+;;; Commentary:
+
+;; 
+
+;;; Code:
+
+ Requirements
+
+(require 'cl-lib)
+(require 'map)
+
+(require 'listen-lib)
+
+ Types
+
+(cl-defstruct
+(listen-player-mpv
+ (:include listen-player
+   (command "mpv")
+   (args '("--no-msg-color" "--idle"))
+   (max-volume 100)
+   (etc '((:request-id . 0))
+
+ Functions
+
+(cl-defmethod listen--info ((player listen-player-mpv))
+  (map-apply (lambda (key value)
+   ;; TODO: Consider using symbols as keys (VLC returns strings, 
MPV's decodes as
+   ;; symbols).
+   (cons (downcase (symbol-name key)) value))
+ (listen-mpv--get-property player "metadata")))
+
+(cl-defmethod listen--filename ((player listen-player-mpv))
+  "Return filename of PLAYER's current track."
+  (let ((status (listen-mpv--get-property player "path" )))
+(when (string-match (rx bol "( new input: file://" (group (1+ nonl)) " )" 
) status)
+  (match-string 1 status
+
+(cl-defmethod listen--title ((player listen-player-mpv))
+  (listen-mpv--get-property player "media-title" ))
+
+(cl-defmethod listen--ensure ((player listen-player-mpv))
+  "Ensure PLAYER is ready."
+  (pcase-let* (((cl-struct listen-player command args process) player)
+   (socket (make-temp-name (expand-file-name "listen-mpv-socket-" 
temporary-file-directory)))
+   (args (append args (list (format "--input-ipc-server=%s" 
socket)
+(unless (process-live-p process)
+  (setf (listen-player-process player)
+(apply #'start-process "listen-player-mpv" (generate-new-buffer " 
*listen-player-mpv*")
+   command args))
+  (sleep-for 1)
+  (setf (map-elt (listen-player-etc player) :network-process)
+(make-network-process :name "listen-player-m

[elpa] externals/listen 94c0432a21 07/12: Docs: Update player mentions

2024-08-18 Thread ELPA Syncer
branch: externals/listen
commit 94c0432a213b6da80e30d1be961b5daf27cb26df
Author: Adam Porter 
Commit: Adam Porter 

Docs: Update player mentions
---
 README.org  | 4 ++--
 docs/README.org | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/README.org b/README.org
index d1df928a03..642b81acc6 100644
--- a/README.org
+++ b/README.org
@@ -9,7 +9,7 @@
 
 This package aims to provide a simple audio/music player for Emacs.  It should 
"just work," with little-to-no configuration, have intuitive commands, and be 
easily extended and customized.  (Contrast to setting up EMMS, or having to 
configure external players like MPD.)  A Transient menu, under the command 
~listen~, is the primary entry point.
 
-The only external dependency is VLC, which is currently the only player 
backend that is supported.  (Other backends may easily be added; see library 
~listen-vlc~ for example.)  Track metadata is read using EMMS's native Elisp 
metadata library, which has been imported into this package.
+The only external dependency is either [[https://mpv.io/][MPV]] or 
[[https://www.videolan.org/vlc/][VLC]], which are the supported player 
backends.  Track metadata is read using EMMS's native Elisp metadata library, 
which has been imported into this package.
 
 Queues are provided as the means to play consecutive tracks, and they are 
shown in a ~vtable~-based view buffer.  They are persisted between sessions 
using the ~persist~ library, and they may be bookmarked.
 
@@ -37,7 +37,7 @@ Note a silly limitation: a track may be present in a queue 
only once (but who wo
 
 *Requirements:*
 - Emacs version 29.1 or later.
-- [[https://www.videolan.org/vlc/][VLC]]: used to play audio.
+- [[https://mpv.io/][MPV]] or [[https://www.videolan.org/vlc/][VLC]]: used to 
play audio.
 - Optional: ~ffprobe~ (part of [[https://ffmpeg.org/ffprobe.html][FFmpeg]]) is 
used to read tracks' duration when available.
 
 ** GNU ELPA
diff --git a/docs/README.org b/docs/README.org
index 398978af09..648d77d9f4 100644
--- a/docs/README.org
+++ b/docs/README.org
@@ -14,7 +14,7 @@
 
 This package aims to provide a simple audio/music player for Emacs.  It should 
"just work," with little-to-no configuration, have intuitive commands, and be 
easily extended and customized.  (Contrast to setting up EMMS, or having to 
configure external players like MPD.)  A Transient menu, under the command 
~listen~, is the primary entry point.
 
-The only external dependency is VLC, which is currently the only player 
backend that is supported.  (Other backends may easily be added; see library 
~listen-vlc~ for example.)  Track metadata is read using EMMS's native Elisp 
metadata library, which has been imported into this package.
+The only external dependency is either [[https://mpv.io/][MPV]] or 
[[https://www.videolan.org/vlc/][VLC]], which are the supported player 
backends.  Track metadata is read using EMMS's native Elisp metadata library, 
which has been imported into this package.
 
 Queues are provided as the means to play consecutive tracks, and they are 
shown in a ~vtable~-based view buffer.  They are persisted between sessions 
using the ~persist~ library, and they may be bookmarked.
 
@@ -45,7 +45,7 @@ Note a silly limitation: a track may be present in a queue 
only once (but who wo
 
 *Requirements:*
 + Emacs version 29.1 or later.
-+ [[https://www.videolan.org/vlc/][VLC]]: used to play audio.
++ [[https://mpv.io/][MPV]] or [[https://www.videolan.org/vlc/][VLC]]: used to 
play audio.
 + Optional: ~ffprobe~ (part of [[https://ffmpeg.org/ffprobe.html][FFmpeg]]) is 
used to read tracks' duration when available.
 
 ** GNU ELPA



[elpa] externals/listen 40adfdeffa 03/12: Fix: (listen--status MPV) Variable

2024-08-18 Thread ELPA Syncer
branch: externals/listen
commit 40adfdeffaacc937992ac6edb69b836a0e2fa750
Author: Adam Porter 
Commit: Adam Porter 

Fix: (listen--status MPV) Variable
---
 listen-mpv.el | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/listen-mpv.el b/listen-mpv.el
index ecdb7c0638..7562df46c6 100755
--- a/listen-mpv.el
+++ b/listen-mpv.el
@@ -94,9 +94,9 @@ Stops playing, clears playlist, adds FILE, and plays it."
 
 (cl-defmethod listen--pause ((player listen-player-mpv))
   "Pause playing with PLAYER."
-  (if (listen-mpv--get-property listen-player "pause")
-  (listen-mpv--set-property listen-player "pause" "no")
-(listen-mpv--set-property listen-player "pause" "yes")))
+  (if (listen-mpv--get-property player "pause")
+  (listen-mpv--set-property player "pause" "no")
+(listen-mpv--set-property player "pause" "yes")))
 
 (cl-defmethod listen--playing-p ((player listen-player-mpv))
   "Return non-nil if PLAYER is playing."



[elpa] externals/listen 35e6b832e5 05/12: Tidy: Indentation

2024-08-18 Thread ELPA Syncer
branch: externals/listen
commit 35e6b832e522a01efef9943d99f3b61cb2928366
Author: Adam Porter 
Commit: Adam Porter 

Tidy: Indentation

Not sure what happened there.
---
 listen-info.el | 30 --
 1 file changed, 8 insertions(+), 22 deletions(-)

diff --git a/listen-info.el b/listen-info.el
index 75eea5d697..c149987522 100644
--- a/listen-info.el
+++ b/listen-info.el
@@ -337,7 +337,7 @@ Return comments in a list of (FIELD . VALUE) cons cells.  
See
 `listen-info--split-vorbis-comment' for details."
   (let* ((packets (listen-info--decode-ogg-packets filename 2))
  (headers (listen-info--decode-ogg-headers packets
-stream-type))
+   stream-type))
  (comments (bindat-get-field headers
  'comment-header
  'user-comments)))
@@ -362,8 +362,7 @@ different streams will be mixed together without an error."
 (offset 0)
 (stream (vector)))
 (while (< num-packets packets)
-  (let ((page (listen-info--decode-ogg-page filename
- offset)))
+  (let ((page (listen-info--decode-ogg-page filename offset)))
 (cl-incf num-packets (or (plist-get page :num-packets) 0))
 (cl-incf offset (plist-get page :num-bytes))
 (setq stream (vconcat stream (plist-get page :stream)))
@@ -746,10 +745,7 @@ fields."
   ;; Skip the extended header.
   (cl-incf offset
(listen-info--checked-id3v2-ext-header-size filename)))
-(listen-info--decode-id3v2-frames filename
-   offset
-   (+ tag-size 10)
-   unsync))
+(listen-info--decode-id3v2-frames filename offset (+ tag-size 10) 
unsync))
 (error nil)))
 
 (defun listen-info--decode-id3v2-header (filename)
@@ -782,9 +778,7 @@ Return metadata in a list of (FIELD . VALUE) cons cells."
 comments)
 (condition-case nil
 (while (< offset limit)
-  (let* ((frame-data (listen-info--decode-id3v2-frame filename
-   offset
-   unsync))
+  (let* ((frame-data (listen-info--decode-id3v2-frame filename offset 
unsync))
  (next-frame-offset (car frame-data))
  (comment (cdr frame-data)))
 (when comment (push comment comments))
@@ -797,21 +791,16 @@ Return metadata in a list of (FIELD . VALUE) cons cells."
   (if (= listen-info--id3v2-version 2) 6 10))
 
 (defun listen-info--decode-id3v2-frame (filename offset unsync)
-  (let* ((header (listen-info--decode-id3v2-frame-header filename
-  offset))
+  (let* ((header (listen-info--decode-id3v2-frame-header filename offset))
  (info-id (listen-info--id3v2-frame-info-id header))
  (data-offset (car header))
  (size (bindat-get-field (cdr header) 'size)))
 (if (or info-id unsync)
 ;; Note that if unsync is t, we have to always read the frame
 ;; to determine next-frame-offset.
-(let* ((data (listen-info--read-id3v2-frame-data filename
-  data-offset
-  size
-  unsync))
+(let* ((data (listen-info--read-id3v2-frame-data filename data-offset 
size unsync))
(next-frame-offset (car data))
-   (value (listen-info--decode-id3v2-frame-data (cdr data)
- info-id)))
+   (value (listen-info--decode-id3v2-frame-data (cdr data) 
info-id)))
   (cons next-frame-offset value))
   ;; Skip the frame.
   (cons (+ data-offset size) nil
@@ -835,10 +824,7 @@ If there is no such identifier, return nil."
   (cdr (assoc (bindat-get-field frame 'id)
   listen-info--id3v2-frame-to-info)))
 
-(defun listen-info--read-id3v2-frame-data (filename
-begin
-num-bytes
-unsync)
+(defun listen-info--read-id3v2-frame-data (filename begin num-bytes unsync)
   "Read NUM-BYTES of raw id3v2 frame data from FILENAME.
 Start reading from offset BEGIN.  If UNSYNC is t, all 'FF 00'
 byte combinations are replaced by 'FF'.  Replaced byte pairs are



[elpa] externals/listen eedac8822b 08/12: Docs: Clarify

2024-08-18 Thread ELPA Syncer
branch: externals/listen
commit eedac8822b3632619b6cfeffd10ce568883b7ff0
Author: Adam Porter 
Commit: Adam Porter 

Docs: Clarify
---
 README.org  | 2 +-
 docs/README.org | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/README.org b/README.org
index 642b81acc6..149060c7d9 100644
--- a/README.org
+++ b/README.org
@@ -50,7 +50,7 @@ The latest development build may be installed from 
[[https://elpa.gnu.org/devel/
 
 The ~master~ branch of the Git repository is intended to be usable at all 
times; only minor bugs are expected to be found in it before a new stable 
release is made.
 
-To install, it is recommended to use 
[[https://github.com/quelpa/quelpa-use-package][quelpa-use-package]], like this 
(using 
[[https://github.com/alphapapa/unpackaged.el#upgrade-a-quelpa-use-package-forms-package][this
 helpful command]] for upgrading versions):
+To install from Git, it is recommended to use 
[[https://github.com/quelpa/quelpa-use-package][quelpa-use-package]], like this 
(using 
[[https://github.com/alphapapa/unpackaged.el#upgrade-a-quelpa-use-package-forms-package][this
 helpful command]] for upgrading versions):
 
 #+begin_src elisp
   ;; Install and load `quelpa-use-package'.
diff --git a/docs/README.org b/docs/README.org
index 648d77d9f4..731d93fe78 100644
--- a/docs/README.org
+++ b/docs/README.org
@@ -58,7 +58,7 @@ The latest development build may be installed from 
[[https://elpa.gnu.org/devel/
 
 The ~master~ branch of the Git repository is intended to be usable at all 
times; only minor bugs are expected to be found in it before a new stable 
release is made.
 
-To install, it is recommended to use 
[[https://github.com/quelpa/quelpa-use-package][quelpa-use-package]], like this 
(using 
[[https://github.com/alphapapa/unpackaged.el#upgrade-a-quelpa-use-package-forms-package][this
 helpful command]] for upgrading versions):
+To install from Git, it is recommended to use 
[[https://github.com/quelpa/quelpa-use-package][quelpa-use-package]], like this 
(using 
[[https://github.com/alphapapa/unpackaged.el#upgrade-a-quelpa-use-package-forms-package][this
 helpful command]] for upgrading versions):
 
 #+BEGIN_SRC elisp
   ;; Install and load `quelpa-use-package'.



[elpa] externals/listen ffb0a91371 01/12: Add: (listen-mpv) MPV support

2024-08-18 Thread ELPA Syncer
branch: externals/listen
commit ffb0a91371beed804db67e168320859aac8ea81d
Author: Adam Porter 
Commit: Adam Porter 

Add: (listen-mpv) MPV support

Seems to work well so far.
---
 README.org  |   2 +
 docs/README.org |   2 +
 listen-lib.el   |   4 +-
 listen-mpv.el   | 168 
 listen.el   |  10 
 5 files changed, 183 insertions(+), 3 deletions(-)

diff --git a/README.org b/README.org
index d742680b8d..d1df928a03 100644
--- a/README.org
+++ b/README.org
@@ -226,6 +226,8 @@ The ~listen-mode~ minor mode runs a timer which plays the 
next track in the curr
 ** v0.10-pre
 
 *Additions*
+- [[https://mpv.io/][MPV]] support.
+- Option ~listen-backend~, which sets the backend to use: MPV or VLC.  (The 
default is to auto-detect which is available at load time, with MPV being 
preferred due to more robust IPC support.)
 - Faces for parts of mode line lighter.
 
 *Fixes*
diff --git a/docs/README.org b/docs/README.org
index 63db70a7fb..398978af09 100644
--- a/docs/README.org
+++ b/docs/README.org
@@ -238,6 +238,8 @@ The ~listen-mode~ minor mode runs a timer which plays the 
next track in the curr
 ** v0.10-pre
 
 *Additions*
++ [[https://mpv.io/][MPV]] support.
++ Option ~listen-backend~, which sets the backend to use: MPV or VLC.  (The 
default is to auto-detect which is available at load time, with MPV being 
preferred due to more robust IPC support.)
 + Faces for parts of mode line lighter.
 
 *Fixes*
diff --git a/listen-lib.el b/listen-lib.el
index 600afc5056..7287e774f4 100644
--- a/listen-lib.el
+++ b/listen-lib.el
@@ -139,12 +139,10 @@ return a list of values; otherwise return the sole value."
 
  Functions
 
-;; FIXME: Declare this differently or something.
-(declare-function make-listen-player-vlc "listen-vlc")
 (defun listen-current-player ()
   "Return variable `listen-player' or a newly set one if nil."
   (or listen-player
-  (setf listen-player (make-listen-player-vlc
+  (setf listen-player (funcall (defvar listen-backend)
 
 (cl-defun listen-current-track (&optional (player listen-player))
   "Return track playing on PLAYER, if any."
diff --git a/listen-mpv.el b/listen-mpv.el
new file mode 100755
index 00..ecdb7c0638
--- /dev/null
+++ b/listen-mpv.el
@@ -0,0 +1,168 @@
+;;; listen-mpv.el --- MPV support for Emacs Music Player
-*- lexical-binding: t; -*-
+
+;; Copyright (C) 2024  Free Software Foundation, Inc.
+
+;; Author: Adam Porter 
+
+;; 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.
+
+;; You should have received a copy of the GNU General Public License
+;; along with this program.  If not, see .
+
+;;; Commentary:
+
+;; 
+
+;;; Code:
+
+ Requirements
+
+(require 'cl-lib)
+(require 'map)
+
+(require 'listen-lib)
+
+ Types
+
+(cl-defstruct
+(listen-player-mpv
+ (:include listen-player
+   (command "mpv")
+   (args '("--no-msg-color" "--idle"))
+   (max-volume 100)
+   (etc '((:request-id . 0))
+
+ Functions
+
+(cl-defmethod listen--info ((player listen-player-mpv))
+  (map-apply (lambda (key value)
+   ;; TODO: Consider using symbols as keys (VLC returns strings, 
MPV's decodes as
+   ;; symbols).
+   (cons (downcase (symbol-name key)) value))
+ (listen-mpv--get-property player "metadata")))
+
+(cl-defmethod listen--filename ((player listen-player-mpv))
+  "Return filename of PLAYER's current track."
+  (let ((status (listen-mpv--get-property player "path" )))
+(when (string-match (rx bol "( new input: file://" (group (1+ nonl)) " )" 
) status)
+  (match-string 1 status
+
+(cl-defmethod listen--title ((player listen-player-mpv))
+  (listen-mpv--get-property player "media-title" ))
+
+(cl-defmethod listen--ensure ((player listen-player-mpv))
+  "Ensure PLAYER is ready."
+  (pcase-let* (((cl-struct listen-player command args process) player)
+   (socket (make-temp-name (expand-file-name "listen-mpv-socket-" 
temporary-file-directory)))
+   (args (append args (list (format "--input-ipc-server=%s" 
socket)
+(unless (process-live-p process)
+  (setf (listen-player-process player)
+(apply #'start-process "listen-player-mpv" (generate-new-buffer " 
*listen-player-mpv*")
+   command args))
+  (sleep-for 1)
+  (setf (map-elt (listen-player-etc player) :network-process)
+(make-network-process :nam

[elpa] externals/listen d75248f11c 06/12: Tidy: Compilation warning

2024-08-18 Thread ELPA Syncer
branch: externals/listen
commit d75248f11c83f85647188f964cdc505c97ee24b8
Author: Adam Porter 
Commit: Adam Porter 

Tidy: Compilation warning
---
 listen-mpd.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/listen-mpd.el b/listen-mpd.el
index 26ce171a6e..a0b87259dc 100644
--- a/listen-mpd.el
+++ b/listen-mpd.el
@@ -57,7 +57,7 @@ applied to the buffer."
   (listen-library tracks :name name))
 
 (declare-function listen-queue-add-files "listen-queue")
-(declare-function listen-queue-complete "listen-queue-complete")
+(declare-function listen-queue-complete "listen-queue")
 ;;;###autoload
 (cl-defun listen-queue-add-from-mpd (tracks queue)
   "Add TRACKS (selected from MPD library) to QUEUE."



[elpa] externals/listen c5b7f0b524 12/12: Docs: Mention MPV-MPRIS

2024-08-18 Thread ELPA Syncer
branch: externals/listen
commit c5b7f0b524f605917371b8932c4548ca0243b8ce
Author: Adam Porter 
Commit: Adam Porter 

Docs: Mention MPV-MPRIS
---
 README.org  | 2 +-
 docs/README.org | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/README.org b/README.org
index 87a35a47e9..3b2cd74a8c 100644
--- a/README.org
+++ b/README.org
@@ -218,7 +218,7 @@ The ~listen-mode~ minor mode runs a timer which plays the 
next track in the curr
 
 ** Tips
 
-- Since VLC is used as a backend, 
[[https://www.freedesktop.org/wiki/Specifications/mpris-spec/][MPRIS]]-based 
player info and controls "just work", so you can use things like media hotkeys 
and various widgets to control ~listen~'s playback.
+- When using VLC as a backend, 
[[https://www.freedesktop.org/wiki/Specifications/mpris-spec/][MPRIS]]-based 
player info and controls "just work", so you can use things like media hotkeys 
and various widgets to control ~listen~'s playback.  When using MPV as a 
backend, see the [[https://github.com/hoyon/mpv-mpris][mpv-mpris]] package.
 - Similarly, you might even see an icon in your task switcher indicating that 
Emacs is playing sound (e.g. with KDE Plasma).
 
 * Changelog
diff --git a/docs/README.org b/docs/README.org
index afd84946cb..8e91e78aca 100644
--- a/docs/README.org
+++ b/docs/README.org
@@ -230,7 +230,7 @@ The ~listen-mode~ minor mode runs a timer which plays the 
next track in the curr
 
 ** Tips
 
-+ Since VLC is used as a backend, 
[[https://www.freedesktop.org/wiki/Specifications/mpris-spec/][MPRIS]]-based 
player info and controls "just work", so you can use things like media hotkeys 
and various widgets to control ~listen~'s playback.
++ When using VLC as a backend, 
[[https://www.freedesktop.org/wiki/Specifications/mpris-spec/][MPRIS]]-based 
player info and controls "just work", so you can use things like media hotkeys 
and various widgets to control ~listen~'s playback.  When using MPV as a 
backend, see the [[https://github.com/hoyon/mpv-mpris][mpv-mpris]] package.
 + Similarly, you might even see an icon in your task switcher indicating that 
Emacs is playing sound (e.g. with KDE Plasma).
   
 * Changelog



[elpa] externals/listen 748a148188 11/12: Fix: (listen-current-player)

2024-08-18 Thread ELPA Syncer
branch: externals/listen
commit 748a148188fbcd5a5777e79663225638633ab192
Author: Adam Porter 
Commit: Adam Porter 

Fix: (listen-current-player)

I thought that DEFVAR could be used there, but apparently not.
---
 listen-lib.el | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/listen-lib.el b/listen-lib.el
index 7287e774f4..85d400f09e 100644
--- a/listen-lib.el
+++ b/listen-lib.el
@@ -141,8 +141,9 @@ return a list of values; otherwise return the sole value."
 
 (defun listen-current-player ()
   "Return variable `listen-player' or a newly set one if nil."
+  (defvar listen-backend)
   (or listen-player
-  (setf listen-player (funcall (defvar listen-backend)
+  (setf listen-player (funcall listen-backend
 
 (cl-defun listen-current-track (&optional (player listen-player))
   "Return track playing on PLAYER, if any."



[elpa] externals/listen be91375f7e 10/12: Docs: Update another player mention

2024-08-18 Thread ELPA Syncer
branch: externals/listen
commit be91375f7e028f6899815541d37bbe64959a8cb9
Author: Adam Porter 
Commit: Adam Porter 

Docs: Update another player mention
---
 README.org  | 2 +-
 docs/README.org | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/README.org b/README.org
index f634ebd270..87a35a47e9 100644
--- a/README.org
+++ b/README.org
@@ -188,7 +188,7 @@ Library buffers may be bookmarked with ~bookmark-set~ (~C-x 
r m~).  The bookmark
 
 ** Players
 
-~listen~ currently supports audio playback via the VLC backend.  Internally, 
any number of simultaneous player instances could be controlled, but ~listen~'s 
UI provides the means to control one at a time.
+~listen~ supports audio playback via MPV or VLC backends.  Internally, any 
number of simultaneous player instances could be controlled, but ~listen~'s UI 
provides the means to control one at a time.
 
 Controlling the player is mainly done through the main 
[[info:transient#Top][Transient]] menu, through the command ~listen~.  However, 
all of the commands provided in it are also available as interactive commands, 
which could be bound by the user in any keymap (see, e.g. 
[[elisp:(apropos-command "^listen-")][M-x apropos-command RET ^listen- RET]]).
 
diff --git a/docs/README.org b/docs/README.org
index f6168e4420..afd84946cb 100644
--- a/docs/README.org
+++ b/docs/README.org
@@ -200,7 +200,7 @@ Library buffers may be bookmarked with 
{{{command-binding(bookmark-set,C-x r m)}
 
 ** Players
 
-~listen~ currently supports audio playback via the VLC backend.  Internally, 
any number of simultaneous player instances could be controlled, but ~listen~'s 
UI provides the means to control one at a time.
+~listen~ supports audio playback via MPV or VLC backends.  Internally, any 
number of simultaneous player instances could be controlled, but ~listen~'s UI 
provides the means to control one at a time.
 
 Controlling the player is mainly done through the main 
[[info:transient#Top][Transient]] menu, through the command ~listen~.  However, 
all of the commands provided in it are also available as interactive commands, 
which could be bound by the user in any keymap (see, e.g. 
[[elisp:(apropos-command "^listen-")][M-x apropos-command RET ^listen- RET]]).
 



[elpa] externals/org 6bf748e0d9 2/3: etc/ORG-NEWS: Add reference to undocumented feature added in Org 9.7

2024-08-18 Thread ELPA Syncer
branch: externals/org
commit 6bf748e0d9bbe5852d37f6c1de61b3e4026d4fb8
Author: Ihor Radchenko 
Commit: Ihor Radchenko 

etc/ORG-NEWS: Add reference to undocumented feature added in Org 9.7
---
 etc/ORG-NEWS | 8 
 1 file changed, 8 insertions(+)

diff --git a/etc/ORG-NEWS b/etc/ORG-NEWS
index b0c8340b78..798c4c42d4 100644
--- a/etc/ORG-NEWS
+++ b/etc/ORG-NEWS
@@ -31,6 +31,11 @@ batch scripts.
 # We list the most important features, and the features that may
 # require user action to be used.
 
+*** Alignment of image previews can be customized
+
+This is not a new feature.  It has been added in Org 9.7, but not
+documented in the news.  See [[#preview-align][restrospectively added news 
entry]].
+
 *** Beamer export supports setting frame subtitles
 If a headline is exported as a frame, and has its =BEAMER_SUBTITLE=
 property set, the value is used as the subtitle.
@@ -461,6 +466,9 @@ Images dropped also respect the value of 
~org-yank-image-save-method~
 when ~org-yank-dnd-method~ is =attach=.
 
 *** Alignment of image previews can be customized
+:PROPERTIES:
+:CUSTOM_ID: preview-align
+:END:
 
 Previously, all the image previews where always left-aligned.
 



[elpa] externals-release/org b128d2be81 2/2: etc/ORG-NEWS (Alignment of image previews can be customized): Add missing entry

2024-08-18 Thread ELPA Syncer
branch: externals-release/org
commit b128d2be817b15748c1e4b47d3eedd91daf70fbd
Author: Ihor Radchenko 
Commit: Ihor Radchenko 

etc/ORG-NEWS (Alignment of image previews can be customized): Add missing 
entry
---
 etc/ORG-NEWS | 20 
 1 file changed, 20 insertions(+)

diff --git a/etc/ORG-NEWS b/etc/ORG-NEWS
index 22212fa6d0..eeab970e3e 100644
--- a/etc/ORG-NEWS
+++ b/etc/ORG-NEWS
@@ -284,6 +284,26 @@ respected.
 Images dropped also respect the value of ~org-yank-image-save-method~
 when ~org-yank-dnd-method~ is =attach=.
 
+*** Alignment of image previews can be customized
+
+Previously, all the image previews where always left-aligned.
+
+Now, you can customize image previews to be left-aligned, centered, or 
right-aligned.
+
+The customization can be done globally, via ~org-image-align~, or per
+image, using =#+attr_...:=.  Example:
+
+: #+attr_org: :align center
+: [[/path/to/image/file/png]]
+:
+: or
+:
+: #+attr_org: :center t
+: [[/path/to/image/file/png]]
+
+When =#+attr_org= is not present, ~:align~ and ~:center~ attributes
+from other =#+attr_...:= keywords will be used.
+
 *** =id:= links support search options; ~org-id-store-link~ adds search option 
by default
 
 Adding search option by ~org-id-store-link~ can be disabled by setting



[elpa] externals-release/org 5ebd973e09 1/2: Update version number for the 9.7.10 release

2024-08-18 Thread ELPA Syncer
branch: externals-release/org
commit 5ebd973e09d7a46d056f1cd9b5efc44e878cce9c
Author: Ihor Radchenko 
Commit: Ihor Radchenko 

Update version number for the 9.7.10 release
---
 lisp/org.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lisp/org.el b/lisp/org.el
index 0b3566121d..26812bbfb2 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -9,7 +9,7 @@
 ;; URL: https://orgmode.org
 ;; Package-Requires: ((emacs "26.1"))
 
-;; Version: 9.7.9
+;; Version: 9.7.10
 
 ;; This file is part of GNU Emacs.
 ;;



[elpa] externals/org 19440a8bc2 1/3: Merge branch 'bugfix'

2024-08-18 Thread ELPA Syncer
branch: externals/org
commit 19440a8bc2c1307fb12711fd50fd49a01b5ef9b4
Merge: 38d1bc67b2 b128d2be81
Author: Ihor Radchenko 
Commit: Ihor Radchenko 

Merge branch 'bugfix'
---
 etc/ORG-NEWS | 20 
 1 file changed, 20 insertions(+)

diff --git a/etc/ORG-NEWS b/etc/ORG-NEWS
index 6f858f3ca7..b0c8340b78 100644
--- a/etc/ORG-NEWS
+++ b/etc/ORG-NEWS
@@ -460,6 +460,26 @@ respected.
 Images dropped also respect the value of ~org-yank-image-save-method~
 when ~org-yank-dnd-method~ is =attach=.
 
+*** Alignment of image previews can be customized
+
+Previously, all the image previews where always left-aligned.
+
+Now, you can customize image previews to be left-aligned, centered, or 
right-aligned.
+
+The customization can be done globally, via ~org-image-align~, or per
+image, using =#+attr_...:=.  Example:
+
+: #+attr_org: :align center
+: [[/path/to/image/file/png]]
+:
+: or
+:
+: #+attr_org: :center t
+: [[/path/to/image/file/png]]
+
+When =#+attr_org= is not present, ~:align~ and ~:center~ attributes
+from other =#+attr_...:= keywords will be used.
+
 *** =id:= links support search options; ~org-id-store-link~ adds search option 
by default
 
 Adding search option by ~org-id-store-link~ can be disabled by setting



[elpa] externals-release/org updated (e52858fdb4 -> b128d2be81)

2024-08-18 Thread ELPA Syncer
elpasync pushed a change to branch externals-release/org.

  from  e52858fdb4 lisp/ox.el: Fix handling attachment: links
   new  5ebd973e09 Update version number for the 9.7.10 release
   new  b128d2be81 etc/ORG-NEWS (Alignment of image previews can be 
customized): Add missing entry


Summary of changes:
 etc/ORG-NEWS | 20 
 lisp/org.el  |  2 +-
 2 files changed, 21 insertions(+), 1 deletion(-)



[elpa] externals/org updated (38d1bc67b2 -> d51dc4aa29)

2024-08-18 Thread ELPA Syncer
elpasync pushed a change to branch externals/org.

  from  38d1bc67b2 lisp/ox-publish.el: Use publish time in publish cache
   new  5ebd973e09 Update version number for the 9.7.10 release
   new  b128d2be81 etc/ORG-NEWS (Alignment of image previews can be 
customized): Add missing entry
   new  19440a8bc2 Merge branch 'bugfix'
   new  6bf748e0d9 etc/ORG-NEWS: Add reference to undocumented feature 
added in Org 9.7
   new  d51dc4aa29 org-toggle-inline-images-command: New command for C-c 
C-x C-v binding


Summary of changes:
 doc/org-manual.org | 17 +++
 etc/ORG-NEWS   | 59 +++
 lisp/org-keys.el   |  4 +--
 lisp/org.el| 82 +-
 4 files changed, 154 insertions(+), 8 deletions(-)



[elpa] externals/org d51dc4aa29 3/3: org-toggle-inline-images-command: New command for C-c C-x C-v binding

2024-08-18 Thread ELPA Syncer
branch: externals/org
commit d51dc4aa29f793f598a258c4dcbe8b05ae975605
Author: Ihor Radchenko 
Commit: Ihor Radchenko 

org-toggle-inline-images-command: New command for C-c C-x C-v binding

* lisp/org.el (org-toggle-inline-images-command): New command to
toggle images.  Unlike the old `org-toggle-inline-image', it is more
flexible and default to toggling images at point/current entry.
* lisp/org-keys.el (org-mode-map): Bind C-c C-x C-v to the new
command.
* doc/org-manual.org (Images): Update the manual describing the new
command behaviour.
* etc/ORG-NEWS (=C-c C-x C-v= command toggling inline image display
has been reworked): Document the breaking change.

Link: https://list.orgmode.org/6461a84b.a70a0220.b6d36.5...@mx.google.com/
---
 doc/org-manual.org | 17 +++
 etc/ORG-NEWS   | 31 +
 lisp/org-keys.el   |  4 +--
 lisp/org.el| 82 +-
 4 files changed, 126 insertions(+), 8 deletions(-)

diff --git a/doc/org-manual.org b/doc/org-manual.org
index 6cf51ebcac..9365c66b10 100644
--- a/doc/org-manual.org
+++ b/doc/org-manual.org
@@ -11806,14 +11806,21 @@ make sure that the link is on a line by itself and 
precede it with
 Such images can be displayed within the buffer with the following
 command:
 
-- {{{kbd(C-c C-x C-v)}}} (~org-toggle-inline-images~) ::
+- {{{kbd(C-c C-x C-v)}}} (~org-toggle-inline-images-command~) ::
 
   #+kindex: C-c C-x C-v
-  #+findex: org-toggle-inline-images
+  #+findex: org-toggle-inline-images-command
+  Toggle the inline display of linked images in current section or at
+  point.  With a prefix argument, toggle inline images in the whole
+  buffer.  With double prefix argument, hide all the images in buffer.
+
+  By default, only the image links without description are displayed.
+  You can force displaying all the images using numeric argument to
+  toggle all the images in current section (~1~ argument) or the whole
+  buffer (~11~ argument).
+
   #+vindex: org-startup-with-inline-images
-  Toggle the inline display of linked images.  When called with a
-  prefix argument, also display images that do have a link
-  description.  You can ask for inline images to be displayed at
+  You can ask for inline images to be displayed at
   startup by configuring the variable
   ~org-startup-with-inline-images~[fn:: The variable
   ~org-startup-with-inline-images~ can be set within a buffer with the
diff --git a/etc/ORG-NEWS b/etc/ORG-NEWS
index 798c4c42d4..392788055b 100644
--- a/etc/ORG-NEWS
+++ b/etc/ORG-NEWS
@@ -18,6 +18,37 @@ Please send Org bug reports to mailto:emacs-orgm...@gnu.org.
 # require user action for most Org mode users.
 # Sorted from most important to least important.
 
+*** =C-c C-x C-v= command toggling inline image display has been reworked
+
+Previously, =C-c C-x C-v= always toggled image display in the whole
+buffer (or narrowed part of the buffer).  With prefix argument, it
+also forced displaying image links with description.
+
+Now, =C-c C-x C-v= is bound to a new command
+~org-toggle-inline-images-command~, which uses different defaults:
+
+1. By default, it toggles image at point or, if there is no image at
+   point, images in current entry
+
+2. When region is active, it is honored
+
+3. =C-u= argument changed its meaning.  Now, it forces toggling images
+   in the whole buffer
+
+4. =C-u C-u= argument unconditionally hides all the images in buffer
+
+5. Displaying images over links with description can be forced using
+   numeric argument:
+   - ~C-u 1~ for toggling all images at point/current entry
+   - ~C-u 11~ for toggling all images in buffer
+
+The old ~org-toggle-inline-images~ command is still available.  You
+can bind it back to =C-c C-x C-v= by adding the following to you config:
+#+begin_src emacs-lisp
+(eval-after-load 'org-keys
+  (org-defkey org-mode-map (kbd "C-c C-x C-v") #'org-toggle-inline-images))
+#+end_src
+
 *** Org mode may throw an error when attempting to include remote unsafe 
resource noninteractively
 
 Previously, when ~org-resource-download-policy~ is ~ask~ (default),
diff --git a/lisp/org-keys.el b/lisp/org-keys.el
index edd4059fc6..1daedaae8c 100644
--- a/lisp/org-keys.el
+++ b/lisp/org-keys.el
@@ -218,7 +218,7 @@
 (declare-function org-toggle-radio-button "org" (&optional arg))
 (declare-function org-toggle-comment "org" ())
 (declare-function org-toggle-fixed-width "org" ())
-(declare-function org-toggle-inline-images "org" (&optional include-linked beg 
end))
+(declare-function org-toggle-inline-images-command "org" (&optional arg beg 
end))
 (declare-function org-latex-preview "org" (&optional arg))
 (declare-function org-toggle-narrow-to-subtree "org" ())
 (declare-function org-toggle-ordered-property "org" ())
@@ -618,7 +618,7 @@ COMMANDS is a list of alternating OLDDEF NEWDEF command 
names."
 (org-defkey org-mode-map (kbd "C-c C-x x") #'org-dynamic-block-insert-dblock)
 (org-defke

[nongnu] elpa/magit updated (fecfa11e40 -> 85bffbbfaf)

2024-08-18 Thread ELPA Syncer
elpasync pushed a change to branch elpa/magit.

  from  fecfa11e40 No longer track generated %.texi
  adds  85bffbbfaf Actually no longer track generated %.texi

No new revisions were added by this update.

Summary of changes:
 docs/magit-section.texi |   331 --
 docs/magit.texi | 11450 --
 2 files changed, 11781 deletions(-)
 delete mode 100644 docs/magit-section.texi
 delete mode 100644 docs/magit.texi



[nongnu] elpa/magit-section updated (fecfa11e40 -> 85bffbbfaf)

2024-08-18 Thread ELPA Syncer
elpasync pushed a change to branch elpa/magit-section.

  from  fecfa11e40 No longer track generated %.texi
  adds  85bffbbfaf Actually no longer track generated %.texi

No new revisions were added by this update.

Summary of changes:
 docs/magit-section.texi |   331 --
 docs/magit.texi | 11450 --
 2 files changed, 11781 deletions(-)
 delete mode 100644 docs/magit-section.texi
 delete mode 100644 docs/magit.texi



[elpa] externals/consult d403b8bd1b 2/3: consult-grep: Update docstring

2024-08-18 Thread ELPA Syncer
branch: externals/consult
commit d403b8bd1b49922de5a8060e79f647db7988ace6
Author: Daniel Mendler 
Commit: Daniel Mendler 

consult-grep: Update docstring
---
 consult.el | 55 +++
 1 file changed, 27 insertions(+), 28 deletions(-)

diff --git a/consult.el b/consult.el
index c17d041f9b..07fe2dbfc3 100644
--- a/consult.el
+++ b/consult.el
@@ -4867,36 +4867,35 @@ input."
 (defun consult-grep (&optional dir initial)
   "Search with `grep' for files in DIR where the content matches a regexp.
 
-The initial input is given by the INITIAL argument.  DIR can be
-nil, a directory string or a list of file/directory paths.  If
-`consult-grep' is called interactively with a prefix argument,
-the user can specify the directories or files to search in.
-Multiple directories must be separated by comma in the
-minibuffer, since they are read via `completing-read-multiple'.
-By default the project directory is used if
-`consult-project-function' is defined and returns non-nil.
-Otherwise the `default-directory' is searched.
-
-The input string is split, the first part of the string (grep
-input) is passed to the asynchronous grep process and the second
-part of the string is passed to the completion-style filtering.
-
-The input string is split at a punctuation character, which is
-given as the first character of the input string.  The format is
-similar to Perl-style regular expressions, e.g., /regexp/.
-Furthermore command line options can be passed to grep, specified
-behind --.  The overall prompt input has the form
-`#async-input -- grep-opts#filter-string'.
+The initial input is given by the INITIAL argument.  DIR can be nil, a
+directory string or a list of file/directory paths.  If `consult-grep'
+is called interactively with a prefix argument, the user can specify the
+directories or files to search in.  Multiple directories or files must
+be separated by comma in the minibuffer, since they are read via
+`completing-read-multiple'.  By default the project directory is used if
+`consult-project-function' is defined and returns non-nil.  Otherwise
+the `default-directory' is searched.  If the command is invoked with a
+double prefix argument (twice `C-u') the user is asked for a project, if
+not yet inside a project, or the current project is searched.
+
+The input string is split, the first part of the string (grep input) is
+passed to the asynchronous grep process and the second part of the
+string is passed to the completion-style filtering.
+
+The input string is split at a punctuation character, which is given as
+the first character of the input string.  The format is similar to
+Perl-style regular expressions, e.g., /regexp/.  Furthermore command
+line options can be passed to grep, specified behind --.  The overall
+prompt input has the form `#async-input -- grep-opts#filter-string'.
 
 Note that the grep input string is transformed from Emacs regular
-expressions to Posix regular expressions.  Always enter Emacs
-regular expressions at the prompt.  `consult-grep' behaves like
-builtin Emacs search commands, e.g., Isearch, which take Emacs
-regular expressions.  Furthermore the asynchronous input split
-into words, each word must match separately and in any order.
-See `consult--regexp-compiler' for the inner workings.  In order
-to disable transformations of the grep input, adjust
-`consult--regexp-compiler' accordingly.
+expressions to Posix regular expressions.  Always enter Emacs regular
+expressions at the prompt.  `consult-grep' behaves like builtin Emacs
+search commands, e.g., Isearch, which take Emacs regular expressions.
+Furthermore the asynchronous input split into words, each word must
+match separately and in any order.  See `consult--regexp-compiler' for
+the inner workings.  In order to disable transformations of the grep
+input, adjust `consult--regexp-compiler' accordingly.
 
 Here we give a few example inputs:
 



[elpa] externals/consult updated (3d0fc6a8c6 -> 027d1f624e)

2024-08-18 Thread ELPA Syncer
elpasync pushed a change to branch externals/consult.

  from  3d0fc6a8c6 consult--directory-prompt: Support shadowed paths (Fix 
#1064)
   new  28d60a2227 consult-grep, consult-find: Ask for project first when 
invoked with C-u C-u
   new  d403b8bd1b consult-grep: Update docstring
   new  027d1f624e README update


Summary of changes:
 CHANGELOG.org |  7 +++
 README.org|  4 +++-
 consult.el| 57 -
 3 files changed, 38 insertions(+), 30 deletions(-)



[elpa] externals/consult 28d60a2227 1/3: consult-grep, consult-find: Ask for project first when invoked with C-u C-u

2024-08-18 Thread ELPA Syncer
branch: externals/consult
commit 28d60a222784515d2982be4f3aa287a789c84244
Author: Daniel Mendler 
Commit: Daniel Mendler 

consult-grep, consult-find: Ask for project first when invoked with C-u C-u

Fix #1069
---
 CHANGELOG.org | 7 +++
 consult.el| 2 +-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/CHANGELOG.org b/CHANGELOG.org
index 87055ea578..6e31ad7ac3 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -2,6 +2,13 @@
 #+author: Daniel Mendler
 #+language: en
 
+* Development
+
+- ~consult-grep~, ~consult-find~ and similar commands: Ask for project first, 
when
+  invoked with double prefix argument ~C-u C-u~.
+- ~consult-grep~, ~consult-find~ and similar commands: Support shadowed paths 
when
+  querying for search directory.
+
 * Version 1.8 (2024-07-25)
 
 - =consult-preview-excluded-buffers=: New customization variable.
diff --git a/consult.el b/consult.el
index d517e68a15..c17d041f9b 100644
--- a/consult.el
+++ b/consult.el
@@ -800,7 +800,7 @@ asked for the directories or files to search via
  (dir
   (pcase dir
 ((pred stringp) dir)
-('nil (or (consult--project-root) default-directory))
+((or 'nil '(16)) (or (consult--project-root dir) 
default-directory))
 (_
(pcase (if (stringp (car-safe dir))
   dir



[elpa] externals/consult 027d1f624e 3/3: README update

2024-08-18 Thread ELPA Syncer
branch: externals/consult
commit 027d1f624e63fff37361ddfb934097397b567ff2
Author: Daniel Mendler 
Commit: Daniel Mendler 

README update
---
 README.org | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/README.org b/README.org
index 036bf1ed3a..44f0754088 100644
--- a/README.org
+++ b/README.org
@@ -261,7 +261,9 @@ their descriptions.
   orderless. =consult-grep= supports preview. =consult-grep= searches the 
current
   [[#project-support][project directory]] if a project is found. Otherwise the 
=default-directory= is
   searched. If =consult-grep= is invoked with prefix argument =C-u M-s g=, you 
can
-  specify one or more comma-separated files and directories manually.
+  specify one or more comma-separated files and directories manually. If 
invoked
+  with two prefix arguments =C-u C-u M-s g=, you can first select a project if 
you
+  are not yet inside a project.
 - =consult-find=, =consult-fd=, =consult-locate=: Find file by matching the 
path
   against a regexp. Like for =consult-grep=, either the project root or the
   current directory is the root directory for the search. The input string is



[elpa] externals/preview-auto d5cda9ac4d: Update docstrings

2024-08-18 Thread ELPA Syncer
branch: externals/preview-auto
commit d5cda9ac4d7dce78dcfcfdd893477bf4b055f2ef
Author: Paul Nelson 
Commit: Paul Nelson 

Update docstrings

* preview-auto.el (preview-auto-refresh-after-compilation):
(preview-auto--already-previewed-at):
---
 preview-auto.el | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/preview-auto.el b/preview-auto.el
index 13dafd4ed1..333a769967 100644
--- a/preview-auto.el
+++ b/preview-auto.el
@@ -151,9 +151,9 @@ returns nil."
 
 (defcustom preview-auto-refresh-after-compilation t
   "If non-nil, refresh previews after each compilation.
-This plays well with the packages `tex-numbers' and `tex-continuous':
-the result is that preview equation numbers are updated automatically to
-the correct form."
+This plays well with the packages `auctex-label-numbers' and
+`auctex-cont-latexmk': the result is that preview equation numbers are
+updated automatically to the correct form."
   :type 'boolean)
 
 (defconst preview-auto--refresh-delay '(0 1)
@@ -174,8 +174,8 @@ A preview is considered non-disabled if it is active or 
inactive
 according to `preview.el'.  If `preview-auto-refresh-after-compilation'
 is non-nil, then we further require that the preview has been generated
 more recently than the aux file.  This last requirement, when combined
-with the `tex-numbers' and `tex-continuous' packages, ensures that
-preview equation numbers are updated automatically."
+with the `auctex-label-numbers' and `auctex-cont-latexmk' packages,
+ensures that preview equation numbers are updated automatically."
   (seq-some
(lambda (ov)
  (and



[elpa] externals/cursor-undo e82084c3d4: Fix read-only buffer undo operations on end of undo list

2024-08-18 Thread Luke Lee
branch: externals/cursor-undo
commit e82084c3d491ff7199e14cc8da69c250b9bda492
Author: Luke Lee 
Commit: Luke Lee 

Fix read-only buffer undo operations on end of undo list

(cundo-is-cursor-undo-entry, cundo-is-undo-boundary): New functions
for boundary conditions.
(cundo-track-screen-start, undo): fix for cleaner code and boundary.
---
 cursor-undo.el | 48 +++-
 1 file changed, 35 insertions(+), 13 deletions(-)

diff --git a/cursor-undo.el b/cursor-undo.el
index cd10f20c46..12c5443cc7 100644
--- a/cursor-undo.el
+++ b/cursor-undo.el
@@ -5,7 +5,7 @@
 ;; Author:   Luke Lee 
 ;; Maintainer:   Luke Lee 
 ;; Keywords: undo, cursor
-;; Version:  1.1.4
+;; Version:  1.1.5
 
 ;; GNU Emacs is free software: you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
@@ -138,7 +138,7 @@
 (defun cundo-track-screen-start (prv-screen-start)
   (let ((entry (list 'apply 'cundo-restore-win prv-screen-start)))
 (if (eq buffer-undo-list 't)
-(setq buffer-undo-list entry)
+(setq buffer-undo-list (list entry))
   (push entry buffer-undo-list
 
 (defun cundo-track-prev-point (prev-point)
@@ -288,23 +288,45 @@ relative screen position (screen-pos=NIL) nor `point' 
position (no-move=t)."))
 ;;   then safely set `buffer-read-only' back to NIL and continue your
 ;;   editing.
 ;;
+
+(defun cundo-is-cursor-undo-entry (undolist)
+  (if (listp undolist)
+  (let ((uitem (if (null (car undolist))
+   (cadr undolist)
+ (car undolist
+(or (numberp uitem) ;; point marker
+;; Cursor-undo created undo entry
+(and (eq #'apply (nth 0 uitem))
+ (eq #'cundo-restore-win (nth 1 uitem)
+(eq undolist 't)))
+
+(defun cundo-is-undo-boundary ()
+  (let ((undolist (if (eq last-command 'undo)
+  pending-undo-list
+buffer-undo-list)))
+(if (listp undolist)
+(equal '(apply cdr nil) ;; undo boundary
+   (if (null (car undolist))
+   (cadr undolist)
+ (car undolist)))
+  (eq undolist 't
+
 (define-advice undo (:around (orig-func &rest args)
  undo-cursor-in-read-only-buffer)
   (interactive "P") ;; Change the behavior from "*P" to "P"
   (if (if (eq last-command 'undo)
   ;; last-command is undo, check pending undo list if the first command
-  ;; is cursor movement or not
-  (and (listp pending-undo-list)
-   (numberp (car pending-undo-list)))
+  ;; is a cursor movement or not
+  (cundo-is-cursor-undo-entry pending-undo-list)
 ;; not a continuous undo, check first command is cursor movement or not
-(and (listp buffer-undo-list)
- (null (car buffer-undo-list))
- (numberp (cadr buffer-undo-list
-  (apply orig-func args)
-(if buffer-read-only
-(if (listp pending-undo-list)
-(user-error "Buffer is read-only: cannot undo an editing command!")
-  (apply orig-func args))
+(cundo-is-cursor-undo-entry buffer-undo-list))
+  ;; if it's a cursor undo, go `undo' regardless of read-only settings
+  (let ((buffer-read-only nil)) ;; temp dynamically binding
+(apply orig-func args))
+;; Not cursor undo
+(if (and buffer-read-only
+ (not (cundo-is-undo-boundary)))
+(user-error "Buffer is read-only: cannot undo an editing command")
   (apply orig-func args
 
 ;;;



[elpa] externals/cape 944c60cc3f 3/3: Resolve some checkdoc warnings

2024-08-18 Thread ELPA Syncer
branch: externals/cape
commit 944c60cc3ff81ceceeb239746f7dd9d8e7d0a663
Author: Daniel Mendler 
Commit: Daniel Mendler 

Resolve some checkdoc warnings
---
 cape.el | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/cape.el b/cape.el
index a8c0478e78..f8109b3a4a 100644
--- a/cape.el
+++ b/cape.el
@@ -933,7 +933,7 @@ multiple super Capfs in the `completion-at-point-functions':
 :company-doc-buffer :company-deprecated
 :annotation-function :exit-function)))
   (cl-loop for (main beg2 end2 table . plist) in results do
-   ;; TODO `cape-capf-super' currently cannot merge Capfs which
+   ;; Note: `cape-capf-super' currently cannot merge Capfs which
;; trigger at different beginning positions.  In order to 
support
;; this, take the smallest BEG value and then normalize all
;; candidates by prefixing them such that they all start at the
@@ -1160,13 +1160,13 @@ This function can be used as an advice around an 
existing Capf."
  `(,beg ,end ,(cape--silent-table table) ,@plist
 
 ;;;###autoload
-(defun cape-wrap-case-fold (capf &optional dont-fold)
+(defun cape-wrap-case-fold (capf &optional nofold)
   "Call CAPF and return a case-insensitive completion table.
-If DONT-FOLD is non-nil return a case sensitive table instead.
-This function can be used as an advice around an existing Capf."
+If NOFOLD is non-nil return a case sensitive table instead.  This
+function can be used as an advice around an existing Capf."
   (pcase (funcall capf)
 (`(,beg ,end ,table . ,plist)
- `(,beg ,end ,(completion-table-case-fold table dont-fold) ,@plist
+ `(,beg ,end ,(completion-table-case-fold table nofold) ,@plist
 
 ;;;###autoload
 (defun cape-wrap-noninterruptible (capf)



[elpa] externals/cape 49e2fe56f7 2/3: cape-dabbrev-check-other-buffers: More defensive function check (Fix #127)

2024-08-18 Thread ELPA Syncer
branch: externals/cape
commit 49e2fe56f7e6c8dba5fbe13a277e22b63d083fc6
Author: Daniel Mendler 
Commit: Daniel Mendler 

cape-dabbrev-check-other-buffers: More defensive function check (Fix #127)
---
 cape.el | 29 +
 1 file changed, 13 insertions(+), 16 deletions(-)

diff --git a/cape.el b/cape.el
index cfdbfc8589..a8c0478e78 100644
--- a/cape.el
+++ b/cape.el
@@ -567,22 +567,19 @@ If INTERACTIVE is nil the function acts like a Capf."
 (defun cape--dabbrev-list (input)
   "Find all Dabbrev expansions for INPUT."
   (cape--silent
-(dlet ((dabbrev-check-other-buffers
-(and cape-dabbrev-check-other-buffers
- (not (functionp cape-dabbrev-check-other-buffers
-   (dabbrev-check-all-buffers
-(eq cape-dabbrev-check-other-buffers t))
-   (dabbrev-search-these-buffers-only
-(and (functionp cape-dabbrev-check-other-buffers)
- (funcall cape-dabbrev-check-other-buffers
-  (dabbrev--reset-global-variables)
-  (cons
-   (apply-partially #'string-prefix-p input)
-   (cl-loop with min-len = (+ cape-dabbrev-min-length (length input))
-with ic = (cape--case-fold-p dabbrev-case-fold-search)
-for w in (dabbrev--find-all-expansions input ic)
-if (>= (length w) min-len) collect
-(cape--case-replace (and ic dabbrev-case-replace) input w))
+(let* ((chk cape-dabbrev-check-other-buffers)
+   (funp (and (not (memq chk '(nil t some))) (functionp chk
+  (dlet ((dabbrev-check-other-buffers (and chk (not funp)))
+ (dabbrev-check-all-buffers (eq chk t))
+ (dabbrev-search-these-buffers-only (and funp (funcall chk
+(dabbrev--reset-global-variables)
+(cons
+ (apply-partially #'string-prefix-p input)
+ (cl-loop with min-len = (+ cape-dabbrev-min-length (length input))
+  with ic = (cape--case-fold-p dabbrev-case-fold-search)
+  for w in (dabbrev--find-all-expansions input ic)
+  if (>= (length w) min-len) collect
+  (cape--case-replace (and ic dabbrev-case-replace) input 
w)))
 
 (defun cape--dabbrev-bounds ()
   "Return bounds of abbreviation."



[elpa] externals/cape updated (9476f6c383 -> 944c60cc3f)

2024-08-18 Thread ELPA Syncer
elpasync pushed a change to branch externals/cape.

  from  9476f6c383 cape-dabbrev-check-other-buffers: More defensive 
function check (Fix #127)
   new  de5adc124f Revert "cape-dabbrev-check-other-buffers: More defensive 
function check (Fix #127)"
   new  49e2fe56f7 cape-dabbrev-check-other-buffers: More defensive 
function check (Fix #127)
   new  944c60cc3f Resolve some checkdoc warnings


Summary of changes:
 cape.el | 38 ++
 1 file changed, 18 insertions(+), 20 deletions(-)



[elpa] externals/cape de5adc124f 1/3: Revert "cape-dabbrev-check-other-buffers: More defensive function check (Fix #127)"

2024-08-18 Thread ELPA Syncer
branch: externals/cape
commit de5adc124faf09ad4d3c18441db2da09d409bc73
Author: Daniel Mendler 
Commit: Daniel Mendler 

Revert "cape-dabbrev-check-other-buffers: More defensive function check 
(Fix #127)"

This reverts commit 9476f6c38318bd762e749b0a33bdd4bf2073790c.
---
 cape.el | 13 +++--
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/cape.el b/cape.el
index f202e33514..cfdbfc8589 100644
--- a/cape.el
+++ b/cape.el
@@ -567,13 +567,14 @@ If INTERACTIVE is nil the function acts like a Capf."
 (defun cape--dabbrev-list (input)
   "Find all Dabbrev expansions for INPUT."
   (cape--silent
-(dlet ((fun-p (and (not (memq cape-dabbrev-check-other-buffers '(nil t 
some)))
-   (functionp cape-dabbrev-check-other-buffers)))
-   (dabbrev-check-other-buffers
-(and cape-dabbrev-check-other-buffers (not fun-p)))
-   (dabbrev-check-all-buffers (eq cape-dabbrev-check-other-buffers t))
+(dlet ((dabbrev-check-other-buffers
+(and cape-dabbrev-check-other-buffers
+ (not (functionp cape-dabbrev-check-other-buffers
+   (dabbrev-check-all-buffers
+(eq cape-dabbrev-check-other-buffers t))
(dabbrev-search-these-buffers-only
-(and fun-p (funcall cape-dabbrev-check-other-buffers
+(and (functionp cape-dabbrev-check-other-buffers)
+ (funcall cape-dabbrev-check-other-buffers
   (dabbrev--reset-global-variables)
   (cons
(apply-partially #'string-prefix-p input)



[elpa] externals/exwm 2f4e6fea7e 1/3: Don't leave the inner window behind when moving floating windows (#73)

2024-08-18 Thread ELPA Syncer
branch: externals/exwm
commit 2f4e6fea7e3bb609cdc88dbff0bd74cf00b9b630
Author: Steven Allen 
Commit: GitHub 

Don't leave the inner window behind when moving floating windows (#73)

Previously, EXWM would leave the inner window behind when dragging
around floating windows until the mouse was released. Now, the inner
window will be dragged along without any lag.

* exwm-floating.el (exwm-floating--do-moveresize): drag the inner window
along with the outer window.
---
 exwm-floating.el | 21 -
 1 file changed, 16 insertions(+), 5 deletions(-)

diff --git a/exwm-floating.el b/exwm-floating.el
index 9d31f9276c..70b4377600 100644
--- a/exwm-floating.el
+++ b/exwm-floating.el
@@ -710,17 +710,28 @@ Float resizing is stopped when TYPE is nil."
  :height height))
   (when (bufferp buffer-or-id)
 ;; Managed.
-(setq value-mask (logand value-mask (logior xcb:ConfigWindow:Width
-xcb:ConfigWindow:Height)))
-(when (/= 0 value-mask)
-  (with-current-buffer buffer-or-id
+(with-current-buffer buffer-or-id
+  (let ((resize-value-mask
+ (logand value-mask (logior xcb:ConfigWindow:Width
+xcb:ConfigWindow:Height)))
+(move-value-mask
+ (logand value-mask (logior xcb:ConfigWindow:X
+xcb:ConfigWindow:Y
+  (when (/= 0 resize-value-mask)
 (xcb:+request exwm--connection
 (make-instance 'xcb:ConfigureWindow
:window (frame-parameter exwm--floating-frame
 'exwm-outer-id)
:value-mask value-mask
:width width
-   :height height)
+   :height height)))
+  (when (/= 0 move-value-mask)
+(xcb:+request exwm--connection
+(make-instance 'xcb:ConfigureWindow
+   :window exwm--id
+   :value-mask value-mask
+   :x (+ x exwm-floating-border-width)
+   :y (+ y exwm-floating-border-width)))
   (xcb:flush exwm--connection
 
 (defun exwm-floating-move (&optional delta-x delta-y)



[elpa] externals/exwm updated (f00b5ca655 -> 3179085c29)

2024-08-18 Thread ELPA Syncer
elpasync pushed a change to branch externals/exwm.

  from  f00b5ca655 Fix on-Notify (#71)
   new  2f4e6fea7e Don't leave the inner window behind when moving floating 
windows (#73)
   new  8c61f7ef2c Transfer surrogate minibuffers to the next workspace on 
delete (#74)
   new  3179085c29 Use the correct value masks when resizing/moving (#75)


Summary of changes:
 exwm-floating.el  | 23 +--
 exwm-workspace.el |  9 +++--
 2 files changed, 24 insertions(+), 8 deletions(-)



[elpa] externals/exwm 8c61f7ef2c 2/3: Transfer surrogate minibuffers to the next workspace on delete (#74)

2024-08-18 Thread ELPA Syncer
branch: externals/exwm
commit 8c61f7ef2c0810837fcb4a4dbd2cc21ea61760e4
Author: Steven Allen 
Commit: GitHub 

Transfer surrogate minibuffers to the next workspace on delete (#74)

Othewise, we won't be able to delete the frame (frames with surrogate
minibuffers cannot be deleted).

* exwm-workspace.el
(exwm-workspace-delete): Transfer surrogate minibuffers to the next
workspace before attempting to delete a workspace (part of #64).
(exwm-workspace--prompt-delete): Use `exwm-workspace-delete' instead of
directly calling `delete-frame'.
---
 exwm-workspace.el | 9 +++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/exwm-workspace.el b/exwm-workspace.el
index 9337dc08ab..c86051c8e4 100644
--- a/exwm-workspace.el
+++ b/exwm-workspace.el
@@ -258,9 +258,9 @@ Show PROMPT to the user if non-nil."
   (if (eq frame exwm-workspace--current)
   ;; Abort the recursive minibuffer if deleting the current workspace.
   (progn
-(exwm--defer 0 #'delete-frame frame)
+(exwm--defer 0 #'exwm-workspace-delete frame)
 (abort-recursive-edit))
-(delete-frame frame)
+(exwm-workspace-delete frame)
 (exwm-workspace--update-switch-history)
 (goto-history-element (min minibuffer-history-position
(exwm-workspace--count)))
@@ -824,6 +824,11 @@ INDEX must not exceed the current number of workspaces."
  (exwm-workspace--workspace-from-frame-or-index
   frame-or-index)
exwm-workspace--current)))
+  ;; Transfer over any surrogate minibuffers before trying to delete the 
workspace.
+  (let ((minibuf (minibuffer-window frame))
+(newminibuf (minibuffer-window (exwm-workspace--get-next-workspace 
frame
+(dolist (f (filtered-frame-list (lambda (f) (eq (frame-parameter f 
'minibuffer) minibuf
+  (set-frame-parameter f 'minibuffer newminibuf)))
   (delete-frame frame
 
 (defun exwm-workspace--set-desktop (id)



[elpa] externals/exwm 3179085c29 3/3: Use the correct value masks when resizing/moving (#75)

2024-08-18 Thread ELPA Syncer
branch: externals/exwm
commit 3179085c2962b73eefe515b3599e87575fbe6a13
Author: Steven Allen 
Commit: GitHub 

Use the correct value masks when resizing/moving (#75)

* exwm-floating.el (exwm-floating--do-moveresize): use the correct value
  masks when resizing/moving floating windows.
---
 exwm-floating.el | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/exwm-floating.el b/exwm-floating.el
index 70b4377600..9a7a92d3f6 100644
--- a/exwm-floating.el
+++ b/exwm-floating.el
@@ -722,14 +722,14 @@ Float resizing is stopped when TYPE is nil."
 (make-instance 'xcb:ConfigureWindow
:window (frame-parameter exwm--floating-frame
 'exwm-outer-id)
-   :value-mask value-mask
+   :value-mask resize-value-mask
:width width
:height height)))
   (when (/= 0 move-value-mask)
 (xcb:+request exwm--connection
 (make-instance 'xcb:ConfigureWindow
:window exwm--id
-   :value-mask value-mask
+   :value-mask move-value-mask
:x (+ x exwm-floating-border-width)
:y (+ y exwm-floating-border-width)))
   (xcb:flush exwm--connection



[nongnu] elpa/git-commit updated (85bffbbfaf -> 5a4950db71)

2024-08-18 Thread ELPA Syncer
elpasync pushed a change to branch elpa/git-commit.

  from  85bffbbfaf Actually no longer track generated %.texi
   new  bc5149c8de Remove *-pkg.el
   new  7208042745 make: Clean clean target
   new  5a4950db71 Remove "It's Magit!" section from relnotes


Summary of changes:
 Makefile  |  4 
 docs/RelNotes/2.10.0.txt  | 16 
 docs/RelNotes/2.11.0.txt  | 21 -
 docs/RelNotes/2.12.0.txt  | 17 -
 docs/RelNotes/2.13.0.txt  | 17 -
 docs/RelNotes/2.9.0.txt   | 16 
 docs/RelNotes/2.90.0.org  | 15 ---
 docs/RelNotes/3.0.0.org   | 15 ---
 docs/RelNotes/3.1.0.org   | 15 ---
 docs/RelNotes/3.2.0.org   | 15 ---
 docs/RelNotes/3.2.1.org   | 15 ---
 docs/RelNotes/3.3.0.org   | 15 ---
 docs/RelNotes/4.0.0.org   | 15 ---
 lisp/Makefile |  1 +
 lisp/git-commit-pkg.el|  8 
 lisp/magit-pkg.el | 12 
 lisp/magit-section-pkg.el |  7 ---
 17 files changed, 1 insertion(+), 223 deletions(-)
 delete mode 100644 lisp/git-commit-pkg.el
 delete mode 100644 lisp/magit-pkg.el
 delete mode 100644 lisp/magit-section-pkg.el



[nongnu] elpa/helm eb5edc60be: Add a popup-info in HFF

2024-08-18 Thread ELPA Syncer
branch: elpa/helm
commit eb5edc60be7294f9fa623c208bfdb681fbe2a3f1
Author: Thierry Volpiatto 
Commit: Thierry Volpiatto 

Add a popup-info in HFF
---
 helm-files.el | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/helm-files.el b/helm-files.el
index f34e3ded23..c024645fc1 100644
--- a/helm-files.el
+++ b/helm-files.el
@@ -1136,6 +1136,9 @@ want to use it, helm is still providing
 helm-ff-directories-only
 helm-ff-files-only
 helm-ff-sort-candidates))
+   (popup-info :initform (lambda (candidate)
+   (unless (helm-ff-dot-file-p candidate)
+ (helm-file-attributes candidate :dired t 
:human-size t
(persistent-action-if :initform 'helm-find-files-persistent-action-if)
(persistent-help :initform "Hit1 Expand Candidate, Hit2 or (C-u) Find file")
(help-message :initform 'helm-ff-help-message)



[nongnu] elpa/git-commit 7208042745 2/3: make: Clean clean target

2024-08-18 Thread ELPA Syncer
branch: elpa/git-commit
commit 720804274576dda1a773fe4c279642dbbc97380b
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

make: Clean clean target

Or, remove temporary kludge before it celebrates its tenth birthday.
---
 Makefile  | 4 
 lisp/Makefile | 1 +
 2 files changed, 1 insertion(+), 4 deletions(-)

diff --git a/Makefile b/Makefile
index a12b8e77f1..2c62475a84 100644
--- a/Makefile
+++ b/Makefile
@@ -133,10 +133,6 @@ check-declare:
 ## Clean #
 
 clean: clean-lisp clean-docs clean-archives
-   @printf "Cleaning...\n"
-   @$(RM) *.elc $(ELGS) # temporary cleanup kludge
-   @$(RM) docs/*.texi~ docs/*.info-1 docs/*.info-2
-   @$(RM) test/magit-tests.elc
 
 clean-lisp:
@$(MAKE) -C lisp clean
diff --git a/lisp/Makefile b/lisp/Makefile
index 9a16e39a60..28bd99fbb2 100644
--- a/lisp/Makefile
+++ b/lisp/Makefile
@@ -109,6 +109,7 @@ install: lisp versionlib
 clean:
@printf " Cleaning lisp/*...\n"
@$(RM) *.elc $(ELGS)
+   @$(RM) ../test/magit-tests.elc
 
 ## Templates #
 



[nongnu] elpa/git-commit 5a4950db71 3/3: Remove "It's Magit!" section from relnotes

2024-08-18 Thread ELPA Syncer
branch: elpa/git-commit
commit 5a4950db712e17f0768bfc99cd608a4682d8c933
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

Remove "It's Magit!" section from relnotes
---
 docs/RelNotes/2.10.0.txt | 16 
 docs/RelNotes/2.11.0.txt | 21 -
 docs/RelNotes/2.12.0.txt | 17 -
 docs/RelNotes/2.13.0.txt | 17 -
 docs/RelNotes/2.9.0.txt  | 16 
 docs/RelNotes/2.90.0.org | 15 ---
 docs/RelNotes/3.0.0.org  | 15 ---
 docs/RelNotes/3.1.0.org  | 15 ---
 docs/RelNotes/3.2.0.org  | 15 ---
 docs/RelNotes/3.2.1.org  | 15 ---
 docs/RelNotes/3.3.0.org  | 15 ---
 docs/RelNotes/4.0.0.org  | 15 ---
 12 files changed, 192 deletions(-)

diff --git a/docs/RelNotes/2.10.0.txt b/docs/RelNotes/2.10.0.txt
index 6b6e5ac162..bb42609460 100644
--- a/docs/RelNotes/2.10.0.txt
+++ b/docs/RelNotes/2.10.0.txt
@@ -1,19 +1,3 @@
-It's Magit!  A Git Porcelain inside Emacs
-=
-
-Magit is an interface to the version control system Git, implemented
-as an Emacs package.  Magit aspires to be a complete Git porcelain.
-While we cannot (yet) claim that Magit wraps and improves upon each
-and every Git command, it is complete enough to allow even experienced
-Git users to perform almost all of their daily version control tasks
-directly from within Emacs.  While many fine Git clients exist, only
-Magit and Git itself deserve to be called porcelains.
-
-For more information about Magit, see https://magit.vc.
-
-If Magit helps you be more productive, then please consider donating
-at https://magit.vc/donate/.
-
 Magit v2.10.0 Release Notes
 ===
 
diff --git a/docs/RelNotes/2.11.0.txt b/docs/RelNotes/2.11.0.txt
index d43b8b2c5d..8440129962 100644
--- a/docs/RelNotes/2.11.0.txt
+++ b/docs/RelNotes/2.11.0.txt
@@ -1,24 +1,3 @@
-It's Magit!  A Git Porcelain inside Emacs
-=
-
-Magit is an interface to the version control system Git, implemented
-as an Emacs package.  Magit aspires to be a complete Git porcelain.
-While we cannot (yet) claim that Magit wraps and improves upon each
-and every Git command, it is complete enough to allow even experienced
-Git users to perform almost all of their daily version control tasks
-directly from within Emacs.  While many fine Git clients exist, only
-Magit and Git itself deserve to be called porcelains.
-
-For more information about Magit, see https://magit.vc.
-
-Magit needs your help
-=
-
-If Magit helps you be more productive, then please consider backing
-the fundraising campaign on Kickstarter.  Thanks! <3
-
-https://www.kickstarter.com/projects/1681258897/its-magit-the-magical-git-client?ref=ej621y
-
 Magit v2.11.0 Release Notes
 ===
 
diff --git a/docs/RelNotes/2.12.0.txt b/docs/RelNotes/2.12.0.txt
index d87173220c..5f1980bfe5 100644
--- a/docs/RelNotes/2.12.0.txt
+++ b/docs/RelNotes/2.12.0.txt
@@ -1,20 +1,3 @@
-It's Magit!  A Git Porcelain inside Emacs
-=
-
-Magit is a text-based Git user interface that puts an unmatched focus
-on streamlining workflows. Commands are invoked using short mnemonic
-key sequences that take the cursor’s position in the highly actionable
-interface into account to provide context-sensitive behavior.
-
-With Magit you can do nearly everything that you can do when using Git
-on the command-line, but at greater speed and while taking advantage
-of advanced features that previously seemed too daunting to use on a
-daily basis. Many users will find that by using Magit they can become
-more effective Git user.
-
-For more information about Magit, see https://magit.vc
-and https://emacsair.me/2017/09/01/campaign-articles.
-
 Magit v2.12.0 Release Notes
 ===
 
diff --git a/docs/RelNotes/2.13.0.txt b/docs/RelNotes/2.13.0.txt
index cbb07c7b53..9b9381320d 100644
--- a/docs/RelNotes/2.13.0.txt
+++ b/docs/RelNotes/2.13.0.txt
@@ -1,20 +1,3 @@
-It's Magit!  A Git Porcelain inside Emacs
-=
-
-Magit is a text-based Git user interface that puts an unmatched focus
-on streamlining workflows. Commands are invoked using short mnemonic
-key sequences that take the cursor’s position in the highly actionable
-interface into account to provide context-sensitive behavior.
-
-With Magit you can do nearly everything that you can do when using Git
-on the command-line, but at greater speed and while taking advantage
-of advanced features that previously seemed too daunting to use on a
-daily basis. Many users will find that by using Magit they can become
-more effective Git user.
-
-For more information about Magit, see https://magit.vc
-and https://emacsair.me/2017/09/01/campaign-articles.
-
 Magit v2.13.0 Release Notes
 ===
 
diff --git a/docs/RelNotes/2.9.0.txt b/docs/RelNotes/2

[nongnu] elpa/helm-core updated (7e554e3384 -> eb5edc60be)

2024-08-18 Thread ELPA Syncer
elpasync pushed a change to branch elpa/helm-core.

  from  7e554e3384 Prevent displaying an empty space as popup-info
  adds  eb5edc60be Add a popup-info in HFF

No new revisions were added by this update.

Summary of changes:
 helm-files.el | 3 +++
 1 file changed, 3 insertions(+)



[nongnu] elpa/git-commit bc5149c8de 1/3: Remove *-pkg.el

2024-08-18 Thread ELPA Syncer
branch: elpa/git-commit
commit bc5149c8de010e9d469e0b324a207b0e86297792
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

Remove *-pkg.el
---
 Makefile  |  2 +-
 lisp/git-commit-pkg.el|  8 
 lisp/magit-pkg.el | 12 
 lisp/magit-section-pkg.el |  7 ---
 4 files changed, 1 insertion(+), 28 deletions(-)

diff --git a/Makefile b/Makefile
index 313fa36f93..a12b8e77f1 100644
--- a/Makefile
+++ b/Makefile
@@ -136,7 +136,7 @@ clean: clean-lisp clean-docs clean-archives
@printf "Cleaning...\n"
@$(RM) *.elc $(ELGS) # temporary cleanup kludge
@$(RM) docs/*.texi~ docs/*.info-1 docs/*.info-2
-   @$(RM) magit-pkg.el test/magit-tests.elc
+   @$(RM) test/magit-tests.elc
 
 clean-lisp:
@$(MAKE) -C lisp clean
diff --git a/lisp/git-commit-pkg.el b/lisp/git-commit-pkg.el
deleted file mode 100644
index d728138fc0..00
--- a/lisp/git-commit-pkg.el
+++ /dev/null
@@ -1,8 +0,0 @@
-(define-package "git-commit" "4.0.0"
-  "Edit Git commit messages."
-  '((emacs   "26.1")
-(compat  "30.0.0.0")
-(transient   "20240805")
-(with-editor "20240806"))
-  :homepage "https://magit.vc";
-  :keywords '("git" "tools" "vc"))
diff --git a/lisp/magit-pkg.el b/lisp/magit-pkg.el
deleted file mode 100644
index 5d1ba89bfc..00
--- a/lisp/magit-pkg.el
+++ /dev/null
@@ -1,12 +0,0 @@
-(define-package "magit" "4.0.0"
-  "A Git porcelain inside Emacs."
-  '((emacs "26.1")
-(compat"30.0.0.0")
-(dash  "20240510")
-(git-commit"20240808")
-(magit-section "20240808")
-(seq   "2.24")
-(transient "20240805")
-(with-editor   "20240806"))
-  :homepage "https://magit.vc";
-  :keywords '("git" "tools" "vc"))
diff --git a/lisp/magit-section-pkg.el b/lisp/magit-section-pkg.el
deleted file mode 100644
index 93ef8de28f..00
--- a/lisp/magit-section-pkg.el
+++ /dev/null
@@ -1,7 +0,0 @@
-(define-package "magit-section" "4.0.0"
-  "Sections for read-only buffers."
-  '((emacs  "26.1")
-(compat "30.0.0.0")
-(dash   "20240510"))
-  :homepage "https://magit.vc";
-  :keywords '("tools"))



[nongnu] elpa/magit updated (85bffbbfaf -> 5a4950db71)

2024-08-18 Thread ELPA Syncer
elpasync pushed a change to branch elpa/magit.

  from  85bffbbfaf Actually no longer track generated %.texi
  adds  bc5149c8de Remove *-pkg.el
  adds  7208042745 make: Clean clean target
  adds  5a4950db71 Remove "It's Magit!" section from relnotes

No new revisions were added by this update.

Summary of changes:
 Makefile  |  4 
 docs/RelNotes/2.10.0.txt  | 16 
 docs/RelNotes/2.11.0.txt  | 21 -
 docs/RelNotes/2.12.0.txt  | 17 -
 docs/RelNotes/2.13.0.txt  | 17 -
 docs/RelNotes/2.9.0.txt   | 16 
 docs/RelNotes/2.90.0.org  | 15 ---
 docs/RelNotes/3.0.0.org   | 15 ---
 docs/RelNotes/3.1.0.org   | 15 ---
 docs/RelNotes/3.2.0.org   | 15 ---
 docs/RelNotes/3.2.1.org   | 15 ---
 docs/RelNotes/3.3.0.org   | 15 ---
 docs/RelNotes/4.0.0.org   | 15 ---
 lisp/Makefile |  1 +
 lisp/git-commit-pkg.el|  8 
 lisp/magit-pkg.el | 12 
 lisp/magit-section-pkg.el |  7 ---
 17 files changed, 1 insertion(+), 223 deletions(-)
 delete mode 100644 lisp/git-commit-pkg.el
 delete mode 100644 lisp/magit-pkg.el
 delete mode 100644 lisp/magit-section-pkg.el



[nongnu] elpa/magit-section updated (85bffbbfaf -> 5a4950db71)

2024-08-18 Thread ELPA Syncer
elpasync pushed a change to branch elpa/magit-section.

  from  85bffbbfaf Actually no longer track generated %.texi
  adds  bc5149c8de Remove *-pkg.el
  adds  7208042745 make: Clean clean target
  adds  5a4950db71 Remove "It's Magit!" section from relnotes

No new revisions were added by this update.

Summary of changes:
 Makefile  |  4 
 docs/RelNotes/2.10.0.txt  | 16 
 docs/RelNotes/2.11.0.txt  | 21 -
 docs/RelNotes/2.12.0.txt  | 17 -
 docs/RelNotes/2.13.0.txt  | 17 -
 docs/RelNotes/2.9.0.txt   | 16 
 docs/RelNotes/2.90.0.org  | 15 ---
 docs/RelNotes/3.0.0.org   | 15 ---
 docs/RelNotes/3.1.0.org   | 15 ---
 docs/RelNotes/3.2.0.org   | 15 ---
 docs/RelNotes/3.2.1.org   | 15 ---
 docs/RelNotes/3.3.0.org   | 15 ---
 docs/RelNotes/4.0.0.org   | 15 ---
 lisp/Makefile |  1 +
 lisp/git-commit-pkg.el|  8 
 lisp/magit-pkg.el | 12 
 lisp/magit-section-pkg.el |  7 ---
 17 files changed, 1 insertion(+), 223 deletions(-)
 delete mode 100644 lisp/git-commit-pkg.el
 delete mode 100644 lisp/magit-pkg.el
 delete mode 100644 lisp/magit-section-pkg.el



[elpa] externals/dape 49260071c2: Add OCaml support with ocamlearlybird

2024-08-18 Thread ELPA Syncer
branch: externals/dape
commit 49260071c2e7fd83bfe70b4b7f42d796c9e6240b
Author: Daniel Pettersson 
Commit: Daniel Pettersson 

Add OCaml support with ocamlearlybird
---
 README.org |  6 ++
 dape.el| 16 
 2 files changed, 22 insertions(+)

diff --git a/README.org b/README.org
index 7c60d343f2..2ed364d04f 100644
--- a/README.org
+++ b/README.org
@@ -174,6 +174,12 @@ Extend ~eglot-server-programs~ as follows to have JDTLS 
load the plugin:
 3. Download latest =vsix= 
[[https://github.com/xdebug/vscode-php-debug/releases][release]] of DAP adapter 
for =Xdebug= =php-debug-.vsix=
 4. Unpack ~mkdir -p ~/.emacs.d/debug-adapters && unzip 
php-debug-.vsix -d ~/.emacs.d/debug-adapters/php-debug~
 
+** OCaml - ocamlearlybird
+Install with ~opam install earlybird~.
+1. Point =:program= to bytecode file
+2. Place breakpoints inside of =_build/default/*=
+
+See [[https://github.com/hackwaly/ocamlearlybird][ocamlearlybird]] for more 
information.
 ** Other untested adapters
 If you find a working configuration for any other debug adapter please submit 
a PR.
 
diff --git a/dape.el b/dape.el
index cda9d7e56f..3fe390dcf5 100644
--- a/dape.el
+++ b/dape.el
@@ -306,6 +306,22 @@
 ".dll"
 (dape-cwd
  :stopAtEntry nil)
+(ocamlearlybird
+ ensure dape-ensure-command
+ modes (tuareg-mode caml-mode)
+ command "ocamlearlybird"
+ command-args ("debug")
+ :type "ocaml"
+ :program (lambda ()
+(file-name-concat
+ (dape-cwd)
+ "_build" "default" "bin"
+ (concat
+  (file-name-base (dape-buffer-default))
+  ".bc")))
+ :console "internalConsole"
+ :stopOnEntry nil
+ :arguments [])
 (rdbg
  modes (ruby-mode ruby-ts-mode)
  ensure dape-ensure-command



[elpa] externals/exwm updated (3179085c29 -> 423850fe83)

2024-08-18 Thread ELPA Syncer
elpasync pushed a change to branch externals/exwm.

  from  3179085c29 Use the correct value masks when resizing/moving (#75)
   new  fa3393806c Drop obsolete xinitrc
   new  423850fe83 Drop obsolete exwm-config.el


Summary of changes:
 exwm-config.el | 145 -
 exwm.el|   5 +-
 xinitrc|  26 ---
 3 files changed, 4 insertions(+), 172 deletions(-)
 delete mode 100644 exwm-config.el
 delete mode 100644 xinitrc



[elpa] externals/exwm fa3393806c 1/2: Drop obsolete xinitrc

2024-08-18 Thread ELPA Syncer
branch: externals/exwm
commit fa3393806c3e7e3d6dc767cd7c0e29b8d4d0a716
Author: Daniel Mendler 
Commit: Daniel Mendler 

Drop obsolete xinitrc

* xinitrc: Drop obsolete file.
* exwm.el: Update commentary.
---
 exwm.el |  5 -
 xinitrc | 26 --
 2 files changed, 4 insertions(+), 27 deletions(-)

diff --git a/exwm.el b/exwm.el
index 7bb2ebc718..8421a355ed 100644
--- a/exwm.el
+++ b/exwm.el
@@ -52,7 +52,10 @@
 ;;(setq exwm-input-global-keys `(([?\s-r] . exwm-reset)))
 ;;(exwm-enable)
 ;;
-;; 3. Link or copy the file 'xinitrc' to '~/.xinitrc'.
+;; 3. Add the following lines to '~/.xinitrc':
+;;
+;;exec emacs
+;;
 ;; 4. Launch EXWM in a console (e.g. tty1) with
 ;;
 ;;xinit -- vt01
diff --git a/xinitrc b/xinitrc
deleted file mode 100644
index 4726ac95f2..00
--- a/xinitrc
+++ /dev/null
@@ -1,26 +0,0 @@
-echo "The xinitrc file has been deprecated. We do not recommend using
-xinitrc directly as is. Instead copy the relevant settings to your
-xsession or xinitrc file and modify them as needed. The code from here
-will be moved out of the source repository to the manual after the
-next release. See https://github.com/emacs-exwm/exwm/issues/57.";
-
-# Disable access control for the current user.
-xhost +SI:localuser:$USER
-
-# Make Java applications aware this is a non-reparenting window manager.
-export _JAVA_AWT_WM_NONREPARENTING=1
-
-# Set default cursor.
-xsetroot -cursor_name left_ptr
-
-# Set keyboard repeat rate.
-xset r rate 200 60
-
-# Uncomment the following block to use the exwm-xim module.
-#export XMODIFIERS=@im=exwm-xim
-#export GTK_IM_MODULE=xim
-#export QT_IM_MODULE=xim
-#export CLUTTER_IM_MODULE=xim
-
-# Finally start Emacs
-exec emacs



[elpa] externals/exwm 423850fe83 2/2: Drop obsolete exwm-config.el

2024-08-18 Thread ELPA Syncer
branch: externals/exwm
commit 423850fe8315acb050afeeaf6594a090571e23da
Author: Daniel Mendler 
Commit: Daniel Mendler 

Drop obsolete exwm-config.el

Instead of using the obsolete exwm-config in your init.el, we recommend to
create a custom configuration tailored to your needs. The old exwm-config 
file
and the EXWM wiki serve as starting points. The minimal configuration to get
EXWM working is as follows:

(require 'exwm)
(setq exwm-input-global-keys `(([?\s-r] . exwm-reset)))
(exwm-enable)

In addition you may want to customize `exwm-workspace-number',
`exwm-input-global-keys' and `exwm-input-simulation-keys'. In order to 
rename
EXWM buffers, such that they match the window class or window title, add 
custom
hooks to `exwm-update-title-hook' and `exwm-update-class-hook', for example:

(add-hook 'exwm-update-class-hook
  (lambda () (exwm-workspace-rename-buffer exwm-class-name)))

* exwm-config.el: Drop obsolete file.
---
 exwm-config.el | 145 -
 1 file changed, 145 deletions(-)

diff --git a/exwm-config.el b/exwm-config.el
deleted file mode 100644
index a0dd994893..00
--- a/exwm-config.el
+++ /dev/null
@@ -1,145 +0,0 @@
-;;; exwm-config.el --- Predefined configurations  -*- lexical-binding: t -*-
-
-;; Copyright (C) 2015-2024 Free Software Foundation, Inc.
-
-;; Author: Chris Feng 
-
-;; This file is part of GNU Emacs.
-
-;; GNU Emacs 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.
-
-;; GNU Emacs 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.
-
-;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs.  If not, see .
-
-;;; Commentary:
-
-;; This module contains an example configuration of EXWM.  Do not require this
-;; file directly in your user configuration.  Instead take it as inspiration 
and
-;; copy the relevant settings to your user configuration.
-
-;;; Code:
-
-(require 'exwm)
-
-(defun exwm-config--warn ()
-  "Print obsoletion warning."
-  (fset #'exwm-config--warn #'ignore)
-  (warn "The `exwm-config' file has been deprecated. We do not recommend 
requiring
-`exwm-config' directly in your Emacs configuration. Instead copy the relevant
-settings to your configuration and modify them as needed. The code from here
-will be moved out of the source repository to the manual after the next
-release. See https://github.com/emacs-exwm/exwm/issues/57.";))
-
-(defun exwm-config-example ()
-  "Default configuration of EXWM."
-  (exwm-config--warn)
-  ;; Set the initial workspace number.
-  (unless (get 'exwm-workspace-number 'saved-value)
-(setq exwm-workspace-number 4))
-  ;; Make class name the buffer name
-  (add-hook 'exwm-update-class-hook
-(lambda ()
-  (exwm-workspace-rename-buffer exwm-class-name)))
-  ;; Global keybindings.
-  (unless (get 'exwm-input-global-keys 'saved-value)
-(setq exwm-input-global-keys
-  `(
-;; 's-r': Reset (to line-mode).
-([?\s-r] . exwm-reset)
-;; 's-w': Switch workspace.
-([?\s-w] . exwm-workspace-switch)
-;; 's-&': Launch application.
-([?\s-&] . (lambda (command)
- (interactive (list (read-shell-command "$ ")))
- (start-process-shell-command command nil command)))
-;; 's-N': Switch to certain workspace.
-,@(mapcar (lambda (i)
-`(,(kbd (format "s-%d" i)) .
-  (lambda ()
-(interactive)
-(exwm-workspace-switch-create ,i
-  (number-sequence 0 9)
-  ;; Line-editing shortcuts
-  (unless (get 'exwm-input-simulation-keys 'saved-value)
-(setq exwm-input-simulation-keys
-  '(([?\C-b] . [left])
-([?\C-f] . [right])
-([?\C-p] . [up])
-([?\C-n] . [down])
-([?\C-a] . [home])
-([?\C-e] . [end])
-([?\M-v] . [prior])
-([?\C-v] . [next])
-([?\C-d] . [delete])
-([?\C-k] . [S-end delete]
-  ;; Enable EXWM
-  (exwm-enable)
-  ;; Configure Ido
-  (with-no-warnings (exwm-config-ido))
-  ;; Other configurations
-  (with-no-warnings (exwm-config-misc)))
-(make-obsolete 'exwm-config-example "Copy the relevant settings to your 
configuration." "0.30")
-
-(defun exwm-config--fix/ido-buffer-window-other-frame ()
-  "Fix `ido-buffer-window-other-frame'."
-  (defalias 'exwm-config-ido-buf

[elpa] externals/hyperbole 12c4a31a82: Add tree-sitter "programming modes" supported by Hyperbole (#576)

2024-08-18 Thread ELPA Syncer
branch: externals/hyperbole
commit 12c4a31a8212f9bc59fed80abb52865078934e7b
Author: Mats Lidell 
Commit: GitHub 

Add tree-sitter "programming modes" supported by Hyperbole (#576)
---
 ChangeLog | 10 ++
 hibtypes.el   |  6 --
 hmouse-tag.el |  4 ++--
 hui-mouse.el  | 12 ++--
 hui-select.el | 11 ++-
 kotl/klink.el |  7 ---
 6 files changed, 32 insertions(+), 18 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 3b682e3b32..de7e3b4d12 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2024-08-18  Mats Lidell  
+
+* kotl/klink.el (klink:ignore-modes, klink:c-style-modes):
+* hui-select.el (hui-select-brace-modes)
+(hui-select-brace-def-or-declaration):
+* hui-mouse.el (hkey-alist):
+* hmouse-tag.el (smart-java-cross-reference):
+* hibtypes.el (annot-bib): Add corresponding tree-sitter modes for the
+modes supported by Hyperbole.
+
 2024-08-17  Bob Weiner  
 
 * hui-mini.el (hui:menus): Org-M-RET/ Customization menu, add doc to items
diff --git a/hibtypes.el b/hibtypes.el
index 78742fa0da..11f6338543 100644
--- a/hibtypes.el
+++ b/hibtypes.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date:19-Sep-91 at 20:45:31
-;; Last-Mod: 31-Jul-24 at 01:31:32 by Bob Weiner
+;; Last-Mod: 18-Aug-24 at 09:14:53 by Mats Lidell
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -376,7 +376,9 @@ attached file."
buffer-file-name
(let ((chr (aref (buffer-name) 0)))
  (not (or (eq chr ?\ ) (eq chr ?*
-   (not (apply #'derived-mode-p '(prog-mode c-mode objc-mode c++-mode 
java-mode markdown-mode org-mode)))
+   (not (apply #'derived-mode-p
+   '(c++-mode c++-ts-mode c-mode c-ts-mode java-mode 
java-ts-mode
+  markdown-mode objc-mode org-mode prog-mode)))
(unless (ibut:label-p t "[[" "]]" t) ;; Org link
 (let ((ref (hattr:get 'hbut:current 'lbl-key))
   (lbl-start (hattr:get 'hbut:current 'lbl-start))
diff --git a/hmouse-tag.el b/hmouse-tag.el
index c44cdc917c..c003267d5e 100644
--- a/hmouse-tag.el
+++ b/hmouse-tag.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date:24-Aug-91
-;; Last-Mod: 14-Jul-24 at 11:55:33 by Bob Weiner
+;; Last-Mod: 16-Aug-24 at 22:30:09 by Mats Lidell
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -1319,7 +1319,7 @@ package for class and feature lookups."
   ;; fairly bad form anyway.
   ;;
   (let ((opoint (point)))
-(if (and (eq major-mode 'java-mode) buffer-file-name
+(if (and (memq major-mode '(java-mode java-ts-mode)) buffer-file-name
 (fboundp 'br-env-load)
 (or (looking-at "@see[ \t]+")
 (and (re-search-backward "[@\n\r\f]" nil t)
diff --git a/hui-mouse.el b/hui-mouse.el
index e7ce7e5ccc..be78372ec8 100644
--- a/hui-mouse.el
+++ b/hui-mouse.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date:04-Feb-89
-;; Last-Mod: 12-Jul-24 at 20:48:37 by Mats Lidell
+;; Last-Mod: 18-Aug-24 at 09:35:51 by Mats Lidell
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -444,7 +444,7 @@ Its default value is `smart-scroll-down'.  To disable it, 
set it to
 ;;
 ;; Python files - ensure this comes before Imenu for more advanced
 ;; definition lookups
-((and (or (and (derived-mode-p 'python-mode) buffer-file-name)
+((and (or (and (derived-mode-p '(python-mode python-ts-mode)) 
buffer-file-name)
  (and (featurep 'hsys-org) (hsys-org-mode-p)
   (equal (hsys-org-get-value :language) "python"))
  (let ((case-fold-search))
@@ -452,11 +452,11 @@ Its default value is `smart-scroll-down'.  To disable it, 
set it to
  (setq hkey-value (smart-python-at-tag-p)))
  . ((smart-python hkey-value) . (smart-python hkey-value 'next-tag)))
 ;;
-((and (eq major-mode 'c-mode)
+((and (memq major-mode '(c-mode c-ts-mode))
  buffer-file-name (smart-c-at-tag-p))
  . ((smart-c) . (smart-c nil 'next-tag)))
 ;;
-((and (eq major-mode 'c++-mode) buffer-file-name
+((and (memq major-mode '(c++-mode c++-ts-mode)) buffer-file-name
  ;; Don't use smart-c++-at-tag-p here since it will prevent #include
  ;; lines from matching.
  (smart-c-at-tag-p))
@@ -479,7 +479,7 @@ Its default value is `smart-scroll-down'.  To disable it, 
set it to
  . ((smart-lisp) . (smart-lisp 'show-doc)))
 ;;
 ;;
-((and (eq major-mode 'java-mode) buffer-file-name
+((and (memq major-mode '(java-mode java-ts-mode)) buffer-file-name
  (or (smart-java-at-tag-p)
  ;; Also handle Java @see cross-references.
  (looking-at "@see[ \t]+")
@@ -488,7 +488,7 @@ Its default value is `smart-scroll-down'.  To disable it, 
set it to
 (looking-at "@see[ \t]+")
  . ((smart-java) . (smart-java nil 'next-tag)))
 ;;
-((and (memq major-mode '(js2-mode js-mode js3-mode javascript-mode 

[nongnu] elpa/git-commit 55656a31cc: magit-get{, -all, -boolean}: Get values from included files

2024-08-18 Thread ELPA Syncer
branch: elpa/git-commit
commit 55656a31cc4fe6c8996c621f4cf14aa4a1bfe47d
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

magit-get{,-all,-boolean}: Get values from included files

When `magit--refresh-cache' is non-nil, a different code-path is taken,
which did already respect values set in included files.  But when not
using a cache, then we have to use "--include".  This only matters when
also using arguments such as "--global" and "--file".  It seems like a
bad default that git defaults to "--no-include" when such an argument
is used.
---
 lisp/magit-git.el | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lisp/magit-git.el b/lisp/magit-git.el
index a8ed69ec9d..8e14df4dea 100644
--- a/lisp/magit-git.el
+++ b/lisp/magit-git.el
@@ -740,7 +740,7 @@ See info node `(magit)Debugging Tools' for more 
information."
 (key (string-join keys ".")))
 (if (and magit--refresh-cache (not arg))
 (magit-config-get-from-cached-list key)
-  (magit-git-items "config" arg "-z" "--get-all" key
+  (magit-git-items "config" arg "-z" "--get-all" "--include" key
 
 (defun magit-get-boolean (&rest keys)
   "Return the boolean value of the Git variable specified by KEYS.
@@ -751,7 +751,7 @@ Also see `magit-git-config-p'."
 (key (string-join keys ".")))
 (equal (if magit--refresh-cache
(car (last (magit-config-get-from-cached-list key)))
- (magit-git-str "config" arg "--bool" key))
+ (magit-git-str "config" arg "--bool" "--include" key))
"true")))
 
 (defun magit-set (value &rest keys)



[nongnu] elpa/hyperdrive updated (43fec5b95a -> 4cd3643f6e)

2024-08-18 Thread ELPA Syncer
elpasync pushed a change to branch elpa/hyperdrive.

  from  43fec5b95a Change: (-downloaded faces) Set :weight normal
   new  33881a506e Tidy: (h/insert-button) Remove unused function
   new  4cd3643f6e Fix: (hyperdrive-mirror) Use correct keyword argument


Summary of changes:
 hyperdrive-lib.el| 10 --
 hyperdrive-mirror.el |  6 +++---
 2 files changed, 3 insertions(+), 13 deletions(-)



[nongnu] elpa/hyperdrive 4cd3643f6e 2/2: Fix: (hyperdrive-mirror) Use correct keyword argument

2024-08-18 Thread ELPA Syncer
branch: elpa/hyperdrive
commit 4cd3643f6e4db7e14b70a2351465e42f28ffb8ed
Author: Joseph Turner 
Commit: Joseph Turner 

Fix: (hyperdrive-mirror) Use correct keyword argument
---
 hyperdrive-mirror.el | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/hyperdrive-mirror.el b/hyperdrive-mirror.el
index 1dbd3ae93c..6e48471750 100644
--- a/hyperdrive-mirror.el
+++ b/hyperdrive-mirror.el
@@ -248,8 +248,8 @@ filter and set NO-CONFIRM to t."
 (if no-confirm
 (let ((reporter (make-progress-reporter "Checking files" 0 num-of)))
   (h/mirror--check-items source files hyperdrive target-dir
- :progress-fn (lambda ()
-(progress-reporter-update 
reporter (cl-incf num-filled)))
+ :progress-fun (lambda ()
+ (progress-reporter-update 
reporter (cl-incf num-filled)))
  :then (lambda (items)
  (progress-reporter-done reporter)
  (h//mirror items parent-entry
@@ -271,7 +271,7 @@ filter and set NO-CONFIRM to t."
 ;; TODO: Add command to clear plz queue.
 (h/mirror--check-items
  source files hyperdrive target-dir
- :progress-fn #'update-progress
+ :progress-fun #'update-progress
  :then (lambda (items)
  (h/mirror--metadata-finally
   buffer



[nongnu] elpa/hyperdrive 33881a506e 1/2: Tidy: (h/insert-button) Remove unused function

2024-08-18 Thread ELPA Syncer
branch: elpa/hyperdrive
commit 33881a506eb896215d227c536eec2c71ceaba5d2
Author: Joseph Turner 
Commit: Joseph Turner 

Tidy: (h/insert-button) Remove unused function
---
 hyperdrive-lib.el | 10 --
 1 file changed, 10 deletions(-)

diff --git a/hyperdrive-lib.el b/hyperdrive-lib.el
index cdaec1da96..113dccca43 100644
--- a/hyperdrive-lib.el
+++ b/hyperdrive-lib.el
@@ -1661,16 +1661,6 @@ according to FORMATS, by default `hyperdrive-formats', 
which see."
   (apply #'user-error
  (concat "Hyperdrive: " (substitute-command-keys format)) args))
 
-(defun h/insert-button (text &rest properties)
-  "Insert button labeled TEXT with button PROPERTIES at point.
-PROPERTIES are passed to `insert-text-button', for which this
-function is a convenience wrapper used by `describe-package-1'."
-  ;; Inspired by package.el's `package-make-button'.
-  (let ((button-text (if (display-graphic-p) text (concat "[" text "]")))
-(button-face (if (display-graphic-p) 'hyperdrive-button 'link)))
-(apply #'insert-text-button button-text 'face button-face 'follow-link t
-   properties)))
-
 (cl-defun h//format-path (path &key directoryp)
   "Return PATH with a leading slash if it lacks one.
 When DIRECTORYP, also add a trailing slash to PATH if it lacks one.



[nongnu] elpa/magit updated (5a4950db71 -> 55656a31cc)

2024-08-18 Thread ELPA Syncer
elpasync pushed a change to branch elpa/magit.

  from  5a4950db71 Remove "It's Magit!" section from relnotes
  adds  55656a31cc magit-get{,-all,-boolean}: Get values from included files

No new revisions were added by this update.

Summary of changes:
 lisp/magit-git.el | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)



[nongnu] elpa/meow 60860ca313: colemak: delete duplicate meow-delete binding (#629)

2024-08-18 Thread ELPA Syncer
branch: elpa/meow
commit 60860ca313f3a795691f49b4e076bd9a4a7f5c5d
Author: Will Bush 
Commit: GitHub 

colemak: delete duplicate meow-delete binding (#629)
---
 KEYBINDING_COLEMAK.org | 1 -
 1 file changed, 1 deletion(-)

diff --git a/KEYBINDING_COLEMAK.org b/KEYBINDING_COLEMAK.org
index ceb1d3a982..fe8b5ae54c 100644
--- a/KEYBINDING_COLEMAK.org
+++ b/KEYBINDING_COLEMAK.org
@@ -55,7 +55,6 @@ Add it to your configuration and call it before 
~(meow-global-mode 1)~.
  '("b" . meow-back-word)
  '("B" . meow-back-symbol)
  '("c" . meow-change)
- '("d" . meow-delete)
  '("e" . meow-prev)
  '("E" . meow-prev-expand)
  '("f" . meow-find)



[nongnu] elpa/magit-section updated (5a4950db71 -> 55656a31cc)

2024-08-18 Thread ELPA Syncer
elpasync pushed a change to branch elpa/magit-section.

  from  5a4950db71 Remove "It's Magit!" section from relnotes
  adds  55656a31cc magit-get{,-all,-boolean}: Get values from included files

No new revisions were added by this update.

Summary of changes:
 lisp/magit-git.el | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)



[elpa] externals/transient f8a5f7ca50 4/6: make release: Don't pass along $VERSION

2024-08-18 Thread Jonas Bernoulli via
branch: externals/transient
commit f8a5f7ca50e549988b7e66b8fa5841b0bc33eac3
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

make release: Don't pass along $VERSION

This currently isn't being used.
---
 Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index 865b143f40..bdcd56733e 100644
--- a/Makefile
+++ b/Makefile
@@ -46,7 +46,7 @@ pdf:
 publish:
@$(MAKE) -C docs publish
 release:
-   @$(MAKE) VERSION=$(VERSION) -C docs release
+   @$(MAKE) -C docs release
 
 stats:
@$(MAKE) -C docs stats



[elpa] externals/transient 3915d727f8 2/6: ci: Publish manual for tagged releases

2024-08-18 Thread Jonas Bernoulli via
branch: externals/transient
commit 3915d727f80e8b8ce137b701bbdc00b28ce463d8
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

ci: Publish manual for tagged releases
---
 .github/workflows/manual.yml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/.github/workflows/manual.yml b/.github/workflows/manual.yml
index ccf5900f60..3b02f40e39 100644
--- a/.github/workflows/manual.yml
+++ b/.github/workflows/manual.yml
@@ -2,6 +2,7 @@ name: Manual
 on:
   push:
 branches: main
+tags: "v[0-9]+.[0-9]+.[0-9]+"
 jobs:
   manual:
 name: Manual



[elpa] externals/transient 0e35673ef5 1/6: No longer use static-if at top-level

2024-08-18 Thread Jonas Bernoulli via
branch: externals/transient
commit 0e35673ef5cfb4ae9ec8047a34d652b2f9986db6
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

No longer use static-if at top-level

I have found used of `static-if' at the top-level in other packages, but
most uses are within a top-level form, not as a top-level form.  Using
`static-if' inside the definition, instead of around two alternative
definitions, also happens to be what is appropriate here.
---
 lisp/transient.el | 15 +++
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/lisp/transient.el b/lisp/transient.el
index 238f6f4f5e..099da26aa2 100644
--- a/lisp/transient.el
+++ b/lisp/transient.el
@@ -2460,11 +2460,8 @@ value.  Otherwise return CHILDREN as is."
  (remove-hook 'minibuffer-exit-hook ,exit)))
,@body)))
 
-(static-if (>= emacs-major-version 30) ;transient--wrap-command
-(defun transient--wrap-command ()
-  (cl-assert
-   (>= emacs-major-version 30) nil
-   "Emacs was downgraded, making it necessary to recompile Transient")
+(defun transient--wrap-command ()
+  (static-if (>= emacs-major-version 30)
   (letrec
   ((prefix transient--prefix)
(suffix this-command)
@@ -2492,9 +2489,11 @@ value.  Otherwise return CHILDREN as is."
 (advice-remove suffix advice)
 (oset prefix unwind-suffix nil)
 (when (symbolp this-command)
-  (advice-add suffix :around advice '((depth . -99))
-
-  (defun transient--wrap-command ()
+  (advice-add suffix :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)
(advice nil)



[elpa] externals/transient f4aac8443c 6/6: No longer track generated transient.texi

2024-08-18 Thread Jonas Bernoulli via
branch: externals/transient
commit f4aac8443c63ac47795fba12db193ff4da0279f0
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

No longer track generated transient.texi

That also means that we can use the (updated) {{{version}}} macro again.
---
 docs/.orgconfig |2 +-
 docs/transient.org  |4 +-
 docs/transient.texi | 2521 ---
 3 files changed, 3 insertions(+), 2524 deletions(-)

diff --git a/docs/.orgconfig b/docs/.orgconfig
index ec583bb199..cba8e54ce0 100644
--- a/docs/.orgconfig
+++ b/docs/.orgconfig
@@ -5,7 +5,7 @@
 
 #+macro: kbd (eval (let ((case-fold-search nil) (regexp (regexp-opt '("SPC" 
"RET" "LFD" "TAB" "BS" "ESC" "DELETE" "SHIFT" "Ctrl" "Meta" "Alt" "Cmd" "Super" 
"UP" "LEFT" "RIGHT" "DOWN") 'words))) (format 
"@@texinfo:@kbd{@@%s@@texinfo:}@@" (replace-regexp-in-string regexp 
"@@texinfo:@key{@@\\&@@texinfo:}@@" $1 t
 #+macro: year (eval (format-time-string "%Y"))
-#+macro: version (eval (or (getenv "PACKAGE_REVDESC") (getenv 
"PACKAGE_VERSION") (ignore-errors (car (process-lines "git" "describe" 
"--exact"))) (ignore-errors (concat (car (process-lines "git" "describe" (if 
(getenv "AMEND") "HEAD~" "HEAD"))) "+1"
+#+macro: version (eval (if-let ((tag (ignore-errors (car (process-lines "git" 
"describe" "--exact-match") (concat "version " (substring tag 1)) (or 
(ignore-errors (car (process-lines "git" "describe"))) "version (unknown)")))
 
 #+macro: var @@texinfo:@var{@@$1@@texinfo:}@@
 #+macro: kbdvar (eval (format "@@texinfo:@kbd{@@%s@@texinfo:}@@" (let 
(case-fold-search) (replace-regexp-in-string "<\\([a-zA-Z-]+\\)>" 
"@@texinfo:@var{@@\\1@@texinfo:}@@" (replace-regexp-in-string 
org-texinfo--quoted-keys-regexp "@@texinfo:@key{@@\\&@@texinfo:}@@" $1 t) t
diff --git a/docs/transient.org b/docs/transient.org
index e77cceeda5..8dadc66966 100644
--- a/docs/transient.org
+++ b/docs/transient.org
@@ -7,7 +7,7 @@
 #+texinfo_dir_category: Emacs misc features
 #+texinfo_dir_title: Transient: (transient).
 #+texinfo_dir_desc: Transient Commands
-#+subtitle: for version 0.7.4
+#+subtitle: for {{{version}}}
 
 #+setupfile: .orgconfig
 
@@ -20,7 +20,7 @@ resource to get over that hurdle is Psionic K's interactive 
tutorial,
 available at https://github.com/positron-solutions/transient-showcase.
 
 #+texinfo: @noindent
-This manual is for Transient version 0.7.4.
+This manual is for Transient {{{version}}}.
 
 #+texinfo: @insertcopying
 :END:
diff --git a/docs/transient.texi b/docs/transient.texi
deleted file mode 100644
index 5ec765351a..00
--- a/docs/transient.texi
+++ /dev/null
@@ -1,2521 +0,0 @@
-\input texinfo@c -*- texinfo -*-
-@c %**start of header
-@setfilename transient.info
-@settitle Transient User and Developer Manual
-@documentencoding UTF-8
-@documentlanguage en
-@c %**end of header
-
-@copying
-@quotation
-Copyright (C) 2018--2024 Free Software Foundation, Inc.
-
-You can redistribute this document 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 document 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.
-
-@end quotation
-@end copying
-
-@dircategory Emacs misc features
-@direntry
-* Transient: (transient). Transient Commands.
-@end direntry
-
-@finalout
-@titlepage
-@title Transient User and Developer Manual
-@subtitle for version 0.7.4
-@author Jonas Bernoulli
-@page
-@vskip 0pt plus 1filll
-@insertcopying
-@end titlepage
-
-@contents
-
-@ifnottex
-@node Top
-@top Transient User and Developer Manual
-
-Transient is the library used to implement the keyboard-driven ``menus''
-in Magit.  It is distributed as a separate package, so that it can be
-used to implement similar menus in other packages.
-
-This manual can be bit hard to digest when getting started.  A useful
-resource to get over that hurdle is Psionic K's interactive tutorial,
-available at @uref{https://github.com/positron-solutions/transient-showcase}.
-
-@noindent
-This manual is for Transient version 0.7.4.
-
-@insertcopying
-@end ifnottex
-
-@menu
-* Introduction::
-* Usage::
-* Modifying Existing Transients::
-* Defining New Commands::
-* Classes and Methods::
-* FAQ::
-* Keystroke Index::
-* Command and Function Index::
-* Variable Index::
-* Concept Index::
-* GNU General Public License::
-
-@detailmenu
 The Detailed Node Listing ---
-
-Usage
-
-* Invoking Transients::
-* Aborting and Resuming Transients::
-* Common Suffix Commands::
-* Saving Values::
-* Using History::
-* Getting Help for Suffix Commands::
-* Enabling and Disabling Suffixes::
-* Other Commands::
-* Configuration::
-
-Defining New Commands
-
-* Technical Introduction::
-* Defining Transients::
-* Binding Suffix and Infix Commands::

[elpa] externals/transient updated (b2cb4e578f -> f4aac8443c)

2024-08-18 Thread Jonas Bernoulli via
tarsius pushed a change to branch externals/transient.

  from  b2cb4e578f Release version 0.7.4
   new  0e35673ef5 No longer use static-if at top-level
   new  3915d727f8 ci: Publish manual for tagged releases
   new  e412e32535 make: Ensure documentation is cleaned up and regenerated 
when needed
   new  f8a5f7ca50 make release: Don't pass along $VERSION
   new  3dcd648fa6 make: Re-generate %.texi if HEAD changed since previous 
run
   new  f4aac8443c No longer track generated transient.texi


Summary of changes:
 .github/workflows/manual.yml |1 +
 .gitignore   |1 +
 Makefile |   11 +-
 default.mk   |1 +
 docs/.orgconfig  |2 +-
 docs/Makefile|   26 +-
 docs/transient.org   |4 +-
 docs/transient.texi  | 2521 --
 lisp/transient.el|   15 +-
 9 files changed, 38 insertions(+), 2544 deletions(-)
 delete mode 100644 docs/transient.texi



[elpa] externals/transient 3dcd648fa6 5/6: make: Re-generate %.texi if HEAD changed since previous run

2024-08-18 Thread Jonas Bernoulli via
branch: externals/transient
commit 3dcd648fa67e59ee140b5e00ce06bcf55295351e
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

make: Re-generate %.texi if HEAD changed since previous run
---
 .gitignore| 1 +
 default.mk| 1 +
 docs/Makefile | 6 +-
 3 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/.gitignore b/.gitignore
index 07644fb0a7..8997981370 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,6 +3,7 @@
 /docs/*.info
 /docs/*.pdf
 /docs/*.texi
+/docs/.revdesc
 /docs/dir
 /docs/stats/
 /lisp/*-autoloads.el
diff --git a/default.mk b/default.mk
index 3d23abba75..b753ae26a7 100644
--- a/default.mk
+++ b/default.mk
@@ -14,6 +14,7 @@ DOMAIN  ?= magit.vc
 CFRONT_DIST ?= E2LUHBKU1FBV02
 
 VERSION ?= $(shell test -e $(TOP).git && git describe --tags --abbrev=0 | cut 
-c2-)
+REVDESC := $(shell test -e $(TOP).git && git describe --tags)
 
 EMACS  ?= emacs
 EMACS_ARGS ?=
diff --git a/docs/Makefile b/docs/Makefile
index f50e192d16..cc8cddefe2 100644
--- a/docs/Makefile
+++ b/docs/Makefile
@@ -18,7 +18,11 @@ redo-docs:
@touch $(PKG).org
@make docs
 
-%.texi: %.org
+.revdesc: ;
+_:= $(shell test "$(REVDESC)" = "$$(cat .revdesc 2> /dev/null)" ||\
+echo "$(REVDESC)" > .revdesc)
+
+%.texi: %.org .revdesc
@printf "Generating $@\n"
@$(EMACS) $(ORG_ARGS) $< $(ORG_EVAL)
@sed -i -e 's/“/``/g' -e "s/”/''/g" -e '$$a\' $(PKG).texi #'



[elpa] externals/transient e412e32535 3/6: make: Ensure documentation is cleaned up and regenerated when needed

2024-08-18 Thread Jonas Bernoulli via
branch: externals/transient
commit e412e32535698d8a29f9a1821b2f2e90855d0ea9
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

make: Ensure documentation is cleaned up and regenerated when needed

- Files are not the only inputs to `texi', so we cannot rely on their
  modification times alone, to determine whether a rebuild is required.
  The new `redo-docs' always regenerates the texi file and thus all
  other formats.  Use that target before publishing the manual.

- Teach `html-dir' to only regenerate if the texi file has actually
  been touched.

- However when `html-dir' does regenerate, we must first remove all
  existing html files, to avoid files that used to be generated but
  are not being generated anymore, from sticking around.
---
 Makefile  |  9 ++---
 docs/Makefile | 20 +---
 2 files changed, 19 insertions(+), 10 deletions(-)

diff --git a/Makefile b/Makefile
index f5cf0d58e1..865b143f40 100644
--- a/Makefile
+++ b/Makefile
@@ -9,7 +9,8 @@ help:
$(info make all  - generate lisp and manual)
$(info make lisp - generate byte-code and autoloads)
$(info make redo - re-generate byte-code and autoloads)
-   $(info make docs - generate most manual formats)
+   $(info make docs - generate all manual formats)
+   $(info make redo-docs- re-generate all manual formats)
$(info make texi - generate texi manual)
$(info make info - generate info manual)
$(info make html - generate html manual file)
@@ -22,13 +23,15 @@ help:
$(info make clean- remove most generated files)
@printf "\n"
 
-redo:
-   @$(MAKE) -C lisp clean lisp
 lisp:
@$(MAKE) -C lisp lisp
+redo:
+   @$(MAKE) -C lisp clean lisp
 
 docs:
@$(MAKE) -C docs docs
+redo-docs:
+   @$(MAKE) -C docs redo-docs
 texi:
@$(MAKE) -C docs texi
 info:
diff --git a/docs/Makefile b/docs/Makefile
index 1266b047a6..f50e192d16 100644
--- a/docs/Makefile
+++ b/docs/Makefile
@@ -3,16 +3,21 @@ include ../default.mk
 
 docs: texi info html html-dir pdf
 
-texi: $(PKG).texi
-info: $(PKG).info dir
-html: $(PKG).html
-pdf:  $(PKG).pdf
+texi: $(PKG).texi
+info: $(PKG).info dir
+html: $(PKG).html
+html-dir: $(PKG)/index.html
+pdf:  $(PKG).pdf
 
 ORG_ARGS  = --batch -Q $(ORG_LOAD_PATH)
 ORG_EVAL += --eval "(setq indent-tabs-mode nil)"
 ORG_EVAL += --eval "(setq org-src-preserve-indentation nil)"
 ORG_EVAL += --funcall org-texinfo-export-to-texinfo
 
+redo-docs:
+   @touch $(PKG).org
+   @make docs
+
 %.texi: %.org
@printf "Generating $@\n"
@$(EMACS) $(ORG_ARGS) $< $(ORG_EVAL)
@@ -41,8 +46,9 @@ HTML_FIXUP_MENU   = '/<\/body>/i<\/div>'
@$(MAKEINFO) --html --no-split $(MANUAL_HTML_ARGS) $<
@sed -i -e $(HTML_FIXUP_CSS) -e $(HTML_FIXUP_ONLOAD) -e 
$(HTML_FIXUP_MENU) $@
 
-html-dir: $(PKG).texi
+%/index.html: %.texi
@printf "Generating $(PKG)/*.html\n"
+   @rm -rf $(PKG)
@$(MAKEINFO) --html -o $(PKG)/ $(MANUAL_HTML_ARGS) $<
@for f in $$(find $(PKG) -name '*.html') ; do \
sed -i -e $(HTML_FIXUP_CSS) -e $(HTML_FIXUP_ONLOAD) -e 
$(HTML_FIXUP_MENU) $$f ; \
@@ -63,7 +69,7 @@ comma := ,
 empty :=
 space := $(empty) $(empty)
 
-publish: html html-dir pdf
+publish: redo-docs
@aws s3 cp $(PKG).html $(PUBLISH_TARGET)
@aws s3 cp $(PKG).pdf  $(PUBLISH_TARGET)
@aws s3 sync $(PKG)$(PUBLISH_TARGET)$(PKG)/
@@ -71,7 +77,7 @@ publish: html html-dir pdf
@aws cloudfront create-invalidation --distribution-id $(CFRONT_DIST) 
--paths \
"$(subst $(space),$(comma),$(addprefix 
$(PUBLISH_PATH),$(CFRONT_PATHS)))" > /dev/null
 
-release: html html-dir pdf
+release: redo-docs
@aws s3 cp $(PKG).html $(RELEASE_TARGET)
@aws s3 cp $(PKG).pdf  $(RELEASE_TARGET)
@aws s3 sync $(PKG)$(RELEASE_TARGET)$(PKG)/



[elpa] externals/phpinspect 8a96383407 1/2: Implement resolving variable types through inline @var annotations

2024-08-18 Thread ELPA Syncer
branch: externals/phpinspect
commit 8a963834075fedb92b4f5cd4de99a11db92ccf8f
Author: Hugo Thunnissen 
Commit: Hugo Thunnissen 

Implement resolving variable types through inline @var annotations
---
 phpinspect-index.el   | 16 
 phpinspect-resolve.el | 40 
 test/test-resolve.el  | 24 
 3 files changed, 72 insertions(+), 8 deletions(-)

diff --git a/phpinspect-index.el b/phpinspect-index.el
index 6484c5fb49..faa28ec04c 100644
--- a/phpinspect-index.el
+++ b/phpinspect-index.el
@@ -172,6 +172,22 @@ function (think \"new\" statements, return types etc.)."
 (defun phpinspect--var-annotations-from-token (token)
   (seq-filter #'phpinspect-var-annotation-p token))
 
+(define-inline phpinspect-var-annotation-variable (annotation)
+  (inline-quote (cadr (caddr ,annotation
+
+(define-inline phpinspect-var-annotation-type (annotation)
+  (inline-quote (cadadr ,annotation)))
+
+(defun phpinspect--find-var-annotation-for-variable (annotation-list variable)
+  (catch 'return
+(dolist (annotation annotation-list)
+  (when (and (phpinspect-var-annotation-p annotation)
+ (phpinspect-var-annotation-variable annotation)
+ (string= (phpinspect-var-annotation-variable annotation)
+  variable))
+(throw 'return annotation)))
+nil))
+
 (defun phpinspect--variable-type-string-from-comment (comment variable-name)
   (let* ((var-annotations (phpinspect--var-annotations-from-token comment))
  (type (if var-annotations
diff --git a/phpinspect-resolve.el b/phpinspect-resolve.el
index 46b24adbcd..785a8bb77a 100644
--- a/phpinspect-resolve.el
+++ b/phpinspect-resolve.el
@@ -60,33 +60,48 @@
 (cl-defstruct (phpinspect--assignment-context
(:constructor phpinspect--make-assignment-context)
(:conc-name phpinspect--actx-))
+  (annotations nil
+   :type list
+   :documentation "List of var annotations available in context")
   (tokens nil
   :type list)
   (preceding-assignments nil
  :type list))
 
-(defun phpinspect--find-assignment-ctxs-in-token (token &optional 
assignments-before)
+(defun phpinspect--find-assignment-ctxs-in-token (token &optional 
assignments-before var-annotations)
   (when (keywordp (car token))
 (setq token (cdr token)))
 
-  (let ((assignments)
-(blocks-or-lists)
-(statements (phpinspect--split-statements token)))
+  (setq var-annotations (or var-annotations (cons nil nil)))
+
+  (let ((statements (phpinspect--split-statements token))
+assignments blocks-or-lists)
 (dolist (statement statements)
   (phpinspect--log "Finding assignment in statement '%s'" statement)
   (when (seq-find #'phpinspect-maybe-assignment-p statement)
 (phpinspect--log "Found assignment statement")
 (push (phpinspect--make-assignment-context
+   :annotations var-annotations
:tokens statement
:preceding-assignments assignments-before)
   assignments)
 (setq assignments-before assignments))
 
+  ;; Find all var annotations in statement.
+  (when-let* ((comments (seq-filter #'phpinspect-comment-p statement)))
+(dolist (comment comments)
+  (dolist (token comment)
+(when (phpinspect-var-annotation-p token)
+  ;; Intentionally destructively modify annotation list so that all
+  ;; assignments have the same annotations available to them.
+  (push token (cdr var-annotations))
+
   (when (setq blocks-or-lists (seq-filter #'phpinspect-block-or-list-p 
statement))
 (dolist (block-or-list blocks-or-lists)
   (phpinspect--log "Found block or list %s" block-or-list)
   (let ((local-assignments
- (phpinspect--find-assignment-ctxs-in-token block-or-list 
assignments-before)))
+ (phpinspect--find-assignment-ctxs-in-token
+  block-or-list assignments-before var-annotations)))
 (dolist (local-assignment (nreverse local-assignments))
   (push local-assignment assignments))
 (setq assignments-before assignments)
@@ -133,8 +148,6 @@ Destructively removes tokens from the end of 
ASSIGNMENT-TOKENS."
   :to 
left-of-assignment
   :ctx actx)))
   nil))
-;; (phpinspect--log "Returning the thing %s" variable-assignments)
-;; (nreverse variable-assignments)))
 
 (defsubst phpinspect-drop-preceding-barewords (statement)
   (while (and statement (phpinspect-word-p (cadr statement)))
@@ -385,6 +398,18 @@ resolve types of function argument variables."
 (phpinspect--log "Type interpreted from last assignment expression of 
pattern %s: %s"
  pattern-code result)
 
+  

[elpa] externals/phpinspect updated (99e628847c -> 5c61d4b293)

2024-08-18 Thread ELPA Syncer
elpasync pushed a change to branch externals/phpinspect.

  from  99e628847c Wrap buffer edit logic in `save-excursion'
   new  8a96383407 Implement resolving variable types through inline @var 
annotations
   new  5c61d4b293 Implement resolving types from typecasted statements


Summary of changes:
 phpinspect-index.el   | 16 
 phpinspect-resolve.el | 52 +--
 test/test-resolve.el  | 48 +++
 3 files changed, 106 insertions(+), 10 deletions(-)



[elpa] externals/phpinspect 5c61d4b293 2/2: Implement resolving types from typecasted statements

2024-08-18 Thread ELPA Syncer
branch: externals/phpinspect
commit 5c61d4b2935bb59f4c7ef0892a98b4ce1fdb50d1
Author: Hugo Thunnissen 
Commit: Hugo Thunnissen 

Implement resolving types from typecasted statements
---
 phpinspect-resolve.el | 12 ++--
 test/test-resolve.el  | 24 
 2 files changed, 34 insertions(+), 2 deletions(-)

diff --git a/phpinspect-resolve.el b/phpinspect-resolve.el
index 785a8bb77a..a2263b6afe 100644
--- a/phpinspect-resolve.el
+++ b/phpinspect-resolve.el
@@ -503,6 +503,14 @@ value/type."
   (string= (cadar expression) "new"))
  (funcall
   type-resolver (phpinspect--make-type :name (cadadr expression
+
+((and (phpinspect-list-p (car expression))
+  (= 1 (length (cdar expression)))
+  (phpinspect-word-p (cadar expression)))
+ ;; expression starts with "(word)", so it is a type cast. Return the
+ ;; type of the cast.
+ (funcall type-resolver (phpinspect--make-type :name (car (cdadar 
expression)
+
 ((and (> (length expression) 1)
   (seq-find (lambda (part) (or (phpinspect-attrib-p part)
(phpinspect-array-p part)))
@@ -514,8 +522,8 @@ value/type."
 
 ((phpinspect-list-p (car expression))
  (phpinspect--interpret-expression-type-in-context
-  resolvecontext php-block type-resolver (cdar expression) 
function-arg-list assignments))
-
+  resolvecontext php-block type-resolver (cdar expression)
+  function-arg-list assignments))
 ;; Expression is a (chain of) assignments. The right-most subexpression
 ;; is the type it evaluates to.
 ((seq-find #'phpinspect-assignment-p expression)
diff --git a/test/test-resolve.el b/test/test-resolve.el
index 7acdd452a5..4db7892fd6 100644
--- a/test/test-resolve.el
+++ b/test/test-resolve.el
@@ -143,3 +143,27 @@
 (should result)
 (should (phpinspect--type= (phpinspect--make-type :name "\\string")
result))
+
+
+(ert-deftest phpinspect-get-variable-type-in-block-typecast ()
+  (let ((base-code "$foo = new \\DateTime();")
+(paths (list "$foo = (string) $foo; $foo"
+ "((Foo) $foo)->bar"
+ "$baz = (string) $foo; $baz"
+ "if ($baz = (string) $banana->bar) { $baz"))
+(project (phpinspect--make-dummy-project)))
+
+(phpinspect-project-add-index
+ project
+ (phpinspect--index-tokens
+  (phpinspect-parse-string "class Foo { public string $bar; }")))
+
+(dolist (path paths)
+  (let* ((code (concat base-code path))
+ (bmap (phpinspect-parse-string-to-bmap code))
+ (context (phpinspect-get-resolvecontext project bmap (length 
code)))
+ (result (phpinspect-resolve-type-from-context context)))
+
+(should result)
+(should (phpinspect--type= (phpinspect--make-type :name "\\string")
+   result))



[nongnu] elpa/gnosis 89c440d0b6 1/4: Packaging: Use emacsql 4.0.0

2024-08-18 Thread ELPA Syncer
branch: elpa/gnosis
commit 89c440d0b65c182cfae10c3559e4079782ff0917
Author: Thanos Apollo 
Commit: Thanos Apollo 

Packaging: Use emacsql 4.0.0

* Use new emacsql version 4.0.0.
---
 gnosis.el | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gnosis.el b/gnosis.el
index e29f32d0f0..2334ce7d16 100644
--- a/gnosis.el
+++ b/gnosis.el
@@ -7,7 +7,7 @@
 ;; URL: https://thanosapollo.org/projects/gnosis
 ;; Version: 0.4.0
 
-;; Package-Requires: ((emacs "27.2") (emacsql "20240124") (compat "29.1.4.2") 
(transient "0.7.2"))
+;; Package-Requires: ((emacs "27.2") (emacsql "4.0.0") (compat "29.1.4.2") 
(transient "0.7.2"))
 
 ;; 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
@@ -1713,6 +1713,7 @@ DATE: Date to log the note review on the activity-log."
   (let ((default-directory dir))
 (vc-push)))
 
+;; FIXME: Fix sync issue delay.
 ;;;###autoload
 (cl-defun gnosis-vc-pull (&optional (dir gnosis-dir))
   "Run `vc-pull' in DIR."



[nongnu] elpa/gnosis 4fe415d702 4/4: Version bump: 0.4.1

2024-08-18 Thread ELPA Syncer
branch: elpa/gnosis
commit 4fe415d70277046f6b81a00e8e012634e4f0ac05
Author: Thanos Apollo 
Commit: Thanos Apollo 

Version bump: 0.4.1

* No changes except for packaging.
* Use emacsql-4.0.0

Version bump to mark a new build for nongnu elpa.
---
 gnosis.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnosis.el b/gnosis.el
index 337efc3ddb..0e76e02e5a 100644
--- a/gnosis.el
+++ b/gnosis.el
@@ -5,7 +5,7 @@
 ;; Author: Thanos Apollo 
 ;; Keywords: extensions
 ;; URL: https://thanosapollo.org/projects/gnosis
-;; Version: 0.4.0
+;; Version: 0.4.1
 
 ;; Package-Requires: ((emacs "27.2") (emacsql "4.0.0") (compat "29.1.4.2") 
(transient "0.7.2"))
 



[nongnu] elpa/gnosis 13d8547a4d 2/4: Update docstrings.

2024-08-18 Thread ELPA Syncer
branch: elpa/gnosis
commit 13d8547a4d984f1db43f850472d22248d5c1541c
Author: Thanos Apollo 
Commit: Thanos Apollo 

Update docstrings.
---
 gnosis.el | 36 +++-
 1 file changed, 27 insertions(+), 9 deletions(-)

diff --git a/gnosis.el b/gnosis.el
index 2334ce7d16..337efc3ddb 100644
--- a/gnosis.el
+++ b/gnosis.el
@@ -2079,8 +2079,9 @@ Optionally, use CUSTOM-DECK and CUSTOM-VALUES."
 
 Note amnesia should be hte MINIMUM value of deck's & tags' amnesia.
 
-CUSTOM-TAGS: Specify tags for note id.
-CUSTOM-VALUES: Specify values for tags."
+CUSTOM-DECK: Specify custom deck.
+CUSTOM-TAGS: Specify custom tags for note id.
+CUSTOM-VALUES: Specify custom values."
   (let* ((deck-amnesia (gnosis-get-note-deck-amnesia id custom-deck 
custom-values))
  (tags-amnesia (gnosis-get-note-tag-amnesia id custom-tags 
custom-values))
 (note-amnesia (or tags-amnesia deck-amnesia)))
@@ -2091,19 +2092,26 @@ CUSTOM-VALUES: Specify values for tags."
 (defun gnosis-get-note-tag-epignosis (id &optional custom-tags custom-values)
   "Return tag epignosis for note ID.
 
-CUSTOM-TAGS: Specify tags for note id.
-CUSTOM-VALUES: Specify values for tags."
+CUSTOM-TAGS: Specify custom tags for note id.
+CUSTOM-VALUES: Specify custom values."
   (let* ((epignosis-values (gnosis-get-custom-tag-values id :epignosis 
custom-tags custom-values)))
 (and epignosis-values (apply #'max epignosis-values
 
 (defun gnosis-get-note-deck-epignosis (id &optional custom-deck custom-values)
-  "Return deck epignosis for note ID."
+  "Return deck epignosis for note ID.
+
+CUSTOM-DECK: Specify custom deck.
+CUSTOM-VALUES: Specify custom values."
   (let ((deck (or (gnosis-get-note-deck-name id) custom-deck)))
 (or (gnosis-get-custom-deck-value deck :epignosis custom-values)
gnosis-algorithm-epignosis-value)))
 
 (defun gnosis-get-note-epignosis (id &optional custom-deck custom-tags 
custom-values)
-  "Return epignosis value for note ID."
+  "Return epignosis value for note ID.
+
+CUSTOM-DECK: Specify custom deck.
+CUSTOM-TAGS: Specify custom tags for note id.
+CUSTOM-VALUES: Specify custom values."
   (let* ((deck-epignosis (gnosis-get-note-deck-epignosis id custom-deck 
custom-values))
  (tag-epignosis (gnosis-get-note-tag-epignosis id custom-tags 
custom-values))
 (note-epignosis (or tag-epignosis deck-epignosis)))
@@ -2112,18 +2120,28 @@ CUSTOM-VALUES: Specify values for tags."
   note-epignosis)))
 
 (defun gnosis-get-note-tag-agnoia (id &optional custom-tags custom-values)
-  "Return agnoia value for note ID."
+  "Return agnoia value for note ID.
+
+CUSTOM-TAGS: Specify custom tags for note id.
+CUSTOM-VALUES: Specify custom values."
   (let ((agnoia-values (gnosis-get-custom-tag-values id :agnoia custom-tags 
custom-values)))
 (and agnoia-values (apply #'max agnoia-values
 
 (defun gnosis-get-note-deck-agnoia (id &optional custom-deck custom-values)
-  "Return agnoia value for note ID."
+  "Return agnoia value for note ID.
+
+CUSTOM-DECK: Specify custom deck.
+CUSTOM-VALUES: Specify custom values."
   (let ((deck (or (gnosis-get-note-deck-name id) custom-deck)))
 (or (gnosis-get-custom-deck-value deck :agnoia custom-values)
gnosis-algorithm-agnoia-value)))
 
 (defun gnosis-get-note-agnoia (id &optional custom-deck custom-tags 
custom-values)
-  "Return agnoia value for note ID."
+  "Return agnoia value for note ID.
+
+CUSTOM-DECK: Specify custom deck.
+CUSTOM-TAGS: Specify custom tags for note id.
+CUSTOM-VALUES: Specify custom values."
   (let* ((deck-agnoia (gnosis-get-note-deck-agnoia id custom-deck 
custom-values))
  (tag-agnoia (gnosis-get-note-tag-agnoia id custom-tags custom-values))
 (note-agnoia (or tag-agnoia deck-agnoia)))



[nongnu] elpa/gnosis updated (fe019d58f2 -> 4fe415d702)

2024-08-18 Thread ELPA Syncer
elpasync pushed a change to branch elpa/gnosis.

  from  fe019d58f2 dashboard: Display overdue notes.
   new  89c440d0b6 Packaging: Use emacsql 4.0.0
   new  13d8547a4d Update docstrings.
   new  d0aecd35d0 Add .elpaignore.
   new  4fe415d702 Version bump: 0.4.1


Summary of changes:
 .elpaignore |  3 +++
 gnosis.el   | 41 ++---
 2 files changed, 33 insertions(+), 11 deletions(-)
 create mode 100644 .elpaignore



[nongnu] elpa/hyperdrive f57c9086dd 05/14: Add: (h/safe-string) New function

2024-08-18 Thread ELPA Syncer
branch: elpa/hyperdrive
commit f57c9086dd5659037dde6ec9d9fdab8533527f98
Author: Joseph Turner 
Commit: Joseph Turner 

Add: (h/safe-string) New function
---
 hyperdrive-lib.el | 7 +++
 1 file changed, 7 insertions(+)

diff --git a/hyperdrive-lib.el b/hyperdrive-lib.el
index 615884b0d6..dd3bd02b4f 100644
--- a/hyperdrive-lib.el
+++ b/hyperdrive-lib.el
@@ -1734,6 +1734,13 @@ Potential return values are t, nil, or \\+`unknown'.  If 
ETC slot
 has no value for \\+`safep', return \\+`unknown'."
   (map-elt (h/etc hyperdrive) 'safep 'unknown))
 
+(defun h/safe-string (hyperdrive)
+  "Return propertized string describing HYPERDRIVE safety."
+  (pcase-exhaustive (h/safe-p hyperdrive)
+('t (propertize "safe" 'face 'success))
+('nil (propertize "unsafe" 'face 'error))
+('unknown (propertize "unknown" 'face 'warning
+
 (defun h//ensure-dot-slash-prefix-path (path)
   "Return PATH, ensuring it begins with the correct prefix.
 Unless PATH starts with \"/\" \"./\" or \"../\", add \"./\"."



[nongnu] elpa/gnosis d0aecd35d0 3/4: Add .elpaignore.

2024-08-18 Thread ELPA Syncer
branch: elpa/gnosis
commit d0aecd35d01786730b67ef6259b347a3876aedac
Author: Thanos Apollo 
Commit: Thanos Apollo 

Add .elpaignore.

* Ignore files for nongnu elpa packaging.
---
 .elpaignore | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/.elpaignore b/.elpaignore
new file mode 100644
index 00..d8ed22f052
--- /dev/null
+++ b/.elpaignore
@@ -0,0 +1,3 @@
+CONTRIBUTING.org
+LICENSE
+Makefile



[nongnu] elpa/hyperdrive e7cb936587 01/14: Tidy: (hyperdrive-mark-as-safe) Capitalization

2024-08-18 Thread ELPA Syncer
branch: elpa/hyperdrive
commit e7cb936587863db5be8d25ca49d27f956caaa48b
Author: Joseph Turner 
Commit: Joseph Turner 

Tidy: (hyperdrive-mark-as-safe) Capitalization
---
 hyperdrive.el | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/hyperdrive.el b/hyperdrive.el
index 531a6bfaff..e2269e1a1f 100644
--- a/hyperdrive.el
+++ b/hyperdrive.el
@@ -164,8 +164,8 @@ Interactively, prompt for hyperdrive and action."
  (if safep
  (propertize "safe" 'face 'success)
(propertize "unsafe" 'face 'error)))
- '(("safe" ?S "Mark as safe")
-   ("unsafe" ?u "Mark as unsafe")
+ '(("safe" ?S "mark as safe")
+   ("unsafe" ?u "mark as unsafe")
("info" ?i "show Info manual section about safety")
("quit" ?q "quit")))
((or ?S "safe") t)



[nongnu] elpa/hyperdrive 65d6204dd0 09/14: Change: (h/menu-mark-as-safe) Prompt to mark as safe/unsafe/unknown

2024-08-18 Thread ELPA Syncer
branch: elpa/hyperdrive
commit 65d6204dd0b945db943b96da5c2aa81bd03aa735
Author: Joseph Turner 
Commit: Joseph Turner 

Change: (h/menu-mark-as-safe) Prompt to mark as safe/unsafe/unknown

This change also offers a chance to read about this decision.
---
 hyperdrive-menu.el | 13 -
 1 file changed, 4 insertions(+), 9 deletions(-)

diff --git a/hyperdrive-menu.el b/hyperdrive-menu.el
index 818cfd5b27..63d4ac5c64 100644
--- a/hyperdrive-menu.el
+++ b/hyperdrive-menu.el
@@ -468,16 +468,11 @@
  (h/menu--scope)))
   (h/set-nickname nickname hyperdrive))
 
-(transient-define-suffix h/menu-mark-as-safe (hyperdrive safep)
+(transient-define-suffix h/menu-mark-as-safe ()
   :description
-  (lambda ()
-(format "Safe: %s"
-(if (alist-get 'safep (h/etc (h/menu--scope)))
-(propertize "Yes" 'face 'success)
-  (propertize "No" 'face 'error
-  (interactive
-   (list (h/menu--scope) (not (alist-get 'safep (h/etc (h/menu--scope))
-  (h/mark-as-safe hyperdrive safep))
+  (lambda () (format "Safe: %s" (h/safe-string (h/menu--scope
+  (interactive)
+  (call-interactively #'h/mark-as-safe))
 
  Menu Utilities
 



[nongnu] elpa/hyperdrive 5aba07372b 11/14: Add: (h/safe, h/unsafe, h/safe-unknown) Faces; Use in h/safe-p

2024-08-18 Thread ELPA Syncer
branch: elpa/hyperdrive
commit 5aba07372ba12a57615b4f54b06d623f0ffe5707
Author: Joseph Turner 
Commit: Joseph Turner 

Add: (h/safe, h/unsafe, h/safe-unknown) Faces; Use in h/safe-p
---
 hyperdrive-lib.el  | 6 +++---
 hyperdrive-vars.el | 9 +
 2 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/hyperdrive-lib.el b/hyperdrive-lib.el
index dd3bd02b4f..67d6dba23f 100644
--- a/hyperdrive-lib.el
+++ b/hyperdrive-lib.el
@@ -1737,9 +1737,9 @@ has no value for \\+`safep', return \\+`unknown'."
 (defun h/safe-string (hyperdrive)
   "Return propertized string describing HYPERDRIVE safety."
   (pcase-exhaustive (h/safe-p hyperdrive)
-('t (propertize "safe" 'face 'success))
-('nil (propertize "unsafe" 'face 'error))
-('unknown (propertize "unknown" 'face 'warning
+('t (propertize "safe" 'face 'h/safe))
+('nil (propertize "unsafe" 'face 'h/unsafe))
+('unknown (propertize "unknown" 'face 'h/safe-unknown
 
 (defun h//ensure-dot-slash-prefix-path (path)
   "Return PATH, ensuring it begins with the correct prefix.
diff --git a/hyperdrive-vars.el b/hyperdrive-vars.el
index ac0ac62ddb..343cc6be24 100644
--- a/hyperdrive-vars.el
+++ b/hyperdrive-vars.el
@@ -314,6 +314,15 @@ value (and should only be present once in the string).  
Used in
 (defface h/size '((t (:inherit font-lock-doc-face)))
   "File sizes.")
 
+(defface h/safe '((t (:inherit success)))
+  "File sizes for entries which have been fully downloaded.")
+
+(defface h/unsafe '((t (:inherit error)))
+  "File sizes for entries which have not been downloaded.")
+
+(defface h/safe-unknown '((t (:inherit warning)))
+  "File sizes for entries which have been partially downloaded.")
+
 (defface h/size-fully-downloaded '((t (:inherit success :weight normal)))
   "File sizes for entries which have been fully downloaded.")
 



[nongnu] elpa/hyperdrive updated (4cd3643f6e -> bcfc7adaf7)

2024-08-18 Thread ELPA Syncer
elpasync pushed a change to branch elpa/hyperdrive.

  from  4cd3643f6e Fix: (hyperdrive-mirror) Use correct keyword argument
   new  e7cb936587 Tidy: (hyperdrive-mark-as-safe) Capitalization
   new  188438e59d Change: (h/mark-as-safe) Allow marking as 'unknown
   new  b4ea005fdb Add: (h/safe-p) New function
   new  44ddb430de Change: (h/handler-default) Prompt to mark safe when 
loading file
   new  f57c9086dd Add: (h/safe-string) New function
   new  6ef425d194 Change: (h/menu-bar-menu) Use h/safe-string
   new  ff828ee988 Change: (h/mark-as-safe) Use h/safe-string
   new  43b0704dcf Change: (h/describe-hyperdrive) Use h/safe-string
   new  65d6204dd0 Change: (h/menu-mark-as-safe) Prompt to mark as 
safe/unsafe/unknown
   new  dd0a28b1f7 Change: (h/write-buffer) Prompt to mark as safe when 
writing
   new  5aba07372b Add: (h/safe, h/unsafe, h/safe-unknown) Faces; Use in 
h/safe-p
   new  9ee220d67e Fix: (h/handler-default, h/write-buffer) Keep major mode 
if same
   new  708fa6096e Docs: (hyperdrive-mark-as-safe) Document changes
   new  bcfc7adaf7 Merge: Mark hyperdrive as "safe", "unsafe", or "unknown"


Summary of changes:
 doc/hyperdrive.org | 16 ++--
 doc/hyperdrive.texi| 16 ++--
 hyperdrive-describe.el |  4 ++--
 hyperdrive-lib.el  | 30 --
 hyperdrive-menu.el | 13 -
 hyperdrive-vars.el |  9 +
 hyperdrive.el  | 33 ++---
 7 files changed, 73 insertions(+), 48 deletions(-)



[nongnu] elpa/hyperdrive 44ddb430de 04/14: Change: (h/handler-default) Prompt to mark safe when loading file

2024-08-18 Thread ELPA Syncer
branch: elpa/hyperdrive
commit 44ddb430deeed841f1e6a0523767f5a750c6a546
Author: Joseph Turner 
Commit: Joseph Turner 

Change: (h/handler-default) Prompt to mark safe when loading file
---
 hyperdrive-lib.el | 12 +++-
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/hyperdrive-lib.el b/hyperdrive-lib.el
index 87d7cc88c7..615884b0d6 100644
--- a/hyperdrive-lib.el
+++ b/hyperdrive-lib.el
@@ -1369,6 +1369,7 @@ Otherwise, return nil.  SLOT may be one of
 
 (declare-function h/org--link-goto "hyperdrive-org")
 (declare-function h/blob-mode "hyperdrive")
+(declare-function h/mark-as-safe "hyperdrive")
 (cl-defun h/handler-default (entry &key then)
   "Load ENTRY's file into an Emacs buffer.
 If then, then call THEN with no arguments.  Default handler."
@@ -1393,11 +1394,12 @@ If then, then call THEN with no arguments.  Default 
handler."
 (or (not (h/writablep hyperdrive)) version))
   (set-buffer-modified-p nil)
   (set-visited-file-modtime (current-time
-  (if (map-elt (hyperdrive-etc hyperdrive) 'safep)
-  (let ((buffer-file-name (he/name entry)))
-(set-auto-mode))
-(h/message "Mark hyperdrive `%s' as safe to auto-enable major mode."
-   (h//format-hyperdrive hyperdrive)))
+  (when (eq 'unknown (h/safe-p hyperdrive))
+(call-interactively #'h/mark-as-safe))
+  ;; Check safe-p again after potential call to `h/mark-as-safe'.
+  (when (eq t (h/safe-p hyperdrive))
+(let ((buffer-file-name (he/name entry)))
+  (set-auto-mode)))
   (when target
 (pcase major-mode
   ('org-mode



[nongnu] elpa/hyperdrive 708fa6096e 13/14: Docs: (hyperdrive-mark-as-safe) Document changes

2024-08-18 Thread ELPA Syncer
branch: elpa/hyperdrive
commit 708fa6096e57542622cc13189fe25ee38efef71f
Author: Joseph Turner 
Commit: Joseph Turner 

Docs: (hyperdrive-mark-as-safe) Document changes
---
 doc/hyperdrive.org  | 16 ++--
 doc/hyperdrive.texi | 16 ++--
 2 files changed, 20 insertions(+), 12 deletions(-)

diff --git a/doc/hyperdrive.org b/doc/hyperdrive.org
index 7ba5486314..e519061501 100644
--- a/doc/hyperdrive.org
+++ b/doc/hyperdrive.org
@@ -741,15 +741,19 @@ The following keybindings are available in 
~hyperdrive-mirror-mode~:
 
 ** Mark a hyperdrive as safe
 
-For security reasons, ~hyperdrive.el~ does not enable major modes based
-on file extension unless the hyperdrive has been marked as "safe."
+For security reasons, ~hyperdrive.el~ does not enable major modes
+based on file extension unless the hyperdrive has been marked as
+"safe."  When opening a file in a hyperdrive marked as "unknown" (the
+default), ~hyperdrive.el~ will prompt you to mark the drive as "safe",
+"unsafe", or "unknown".  Files in hyperdrives which are marked as
+"safe" are always opened in the appropriate major mode with
+~set-auto-mode~.  Files in hyperdrives which are marked as "unsafe"
+are opened in ~fundamental-mode~ (no major mode).
 
 - Command: hyperdrive-mark-as-safe ::
 
-  Mark a hyperdrive as "safe," which will cause major modes to be
-  automatically be enabled based on file extension when opening files
-  within that hyperdrive.  Files in hyperdrives which are "unsafe"
-  (the default) are opened in ~fundamental-mode~.
+  Mark a hyperdrive as "safe", "unsafe", or "unknown".  This command
+  can also be invoked from ~hyperdrive-menu-hyperdrive~ and the menu bar.
 
 ** Purge a hyperdrive
 
diff --git a/doc/hyperdrive.texi b/doc/hyperdrive.texi
index 575656c44a..fe8a4298e7 100644
--- a/doc/hyperdrive.texi
+++ b/doc/hyperdrive.texi
@@ -1068,14 +1068,18 @@ Fold or unfold the section at point.
 @node Mark a hyperdrive as safe
 @section Mark a hyperdrive as safe
 
-For security reasons, @code{hyperdrive.el} does not enable major modes based
-on file extension unless the hyperdrive has been marked as ``safe.''
+For security reasons, @code{hyperdrive.el} does not enable major modes
+based on file extension unless the hyperdrive has been marked as
+``safe.''  When opening a file in a hyperdrive marked as ``unknown'' (the
+default), @code{hyperdrive.el} will prompt you to mark the drive as ``safe'',
+``unsafe'', or ``unknown''.  Files in hyperdrives which are marked as
+``safe'' are always opened in the appropriate major mode with
+@code{set-auto-mode}.  Files in hyperdrives which are marked as ``unsafe''
+are opened in @code{fundamental-mode} (no major mode).
 
 @deffn Command hyperdrive-mark-as-safe
-Mark a hyperdrive as ``safe,'' which will cause major modes to be
-automatically be enabled based on file extension when opening files
-within that hyperdrive.  Files in hyperdrives which are ``unsafe''
-(the default) are opened in @code{fundamental-mode}.
+Mark a hyperdrive as ``safe'', ``unsafe'', or ``unknown''.  This command
+can also be invoked from @code{hyperdrive-menu-hyperdrive} and the menu bar.
 @end deffn
 
 @node Purge a hyperdrive



[nongnu] elpa/hyperdrive 188438e59d 02/14: Change: (h/mark-as-safe) Allow marking as 'unknown

2024-08-18 Thread ELPA Syncer
branch: elpa/hyperdrive
commit 188438e59df651e562d2dace1c95cc15623e968e
Author: Joseph Turner 
Commit: Joseph Turner 

Change: (h/mark-as-safe) Allow marking as 'unknown
---
 hyperdrive-lib.el |  5 -
 hyperdrive.el | 20 
 2 files changed, 16 insertions(+), 9 deletions(-)

diff --git a/hyperdrive-lib.el b/hyperdrive-lib.el
index 113dccca43..51c7737bd6 100644
--- a/hyperdrive-lib.el
+++ b/hyperdrive-lib.el
@@ -94,7 +94,10 @@ Passes ARGS to `format-message'."
   ;; TODO: Consider adding gv-setters for etc slot keys
   (etc nil :documentation "Alist of extra data.
 - disk-usage :: Number of bytes occupied locally by the drive.
-- safep :: Whether or not to treat this hyperdrive as safe."))
+- safep :: Whether or not to treat this hyperdrive as safe.
+  + t :: safe
+  + nil :: unsafe
+  + \\+`unknown' (or unset) :: unknown"))
 
 (defun h/url (hyperdrive)
   "Return a \"hyper://\"-prefixed URL from a HYPERDRIVE struct.
diff --git a/hyperdrive.el b/hyperdrive.el
index e2269e1a1f..8e4345cfca 100644
--- a/hyperdrive.el
+++ b/hyperdrive.el
@@ -161,15 +161,18 @@ Interactively, prompt for hyperdrive and action."
  (pcase (read-answer
  (format "Mark hyperdrive `%s' as: (currently: %s) "
  (h//format-hyperdrive hyperdrive)
- (if safep
- (propertize "safe" 'face 'success)
-   (propertize "unsafe" 'face 'error)))
+ (pcase-exhaustive safep
+   ('t (propertize "safe" 'face 'success))
+   ('nil (propertize "unsafe" 'face 'error))
+   ('unknown (propertize "unknown" 'face 
'warning
  '(("safe" ?S "mark as safe")
-   ("unsafe" ?u "mark as unsafe")
+   ("unsafe" ?U "mark as unsafe")
+   ("unknown" ?u "ask again later")
("info" ?i "show Info manual section about safety")
("quit" ?q "quit")))
((or ?S "safe") t)
-   ((or ?u "unsafe") nil)
+   ((or ?U "unsafe") nil)
+   ((or ?u "unknown") 'unknown)
((or ?i "info") :info)
(_ :quit
  (list hyperdrive mark-safe-p)))
@@ -180,9 +183,10 @@ Interactively, prompt for hyperdrive and action."
(h/persist hyperdrive)
(message "Marked hyperdrive `%s' as %s."
 (h//format-hyperdrive hyperdrive)
-(if safep
-(propertize "safe" 'face 'success)
-  (propertize "unsafe" 'face 'error))
+(pcase-exhaustive safep
+  ('t (propertize "safe" 'face 'success))
+  ('nil (propertize "unsafe" 'face 'error))
+  ('unknown (propertize "unknown" 'face 'warning)))
 
 (defun h/forget-file (entry)
   "Delete local copy of the file or directory contents of ENTRY.



[nongnu] elpa/hyperdrive ff828ee988 07/14: Change: (h/mark-as-safe) Use h/safe-string

2024-08-18 Thread ELPA Syncer
branch: elpa/hyperdrive
commit ff828ee9882e101db27bcd5b4b73953be16ad67b
Author: Joseph Turner 
Commit: Joseph Turner 

Change: (h/mark-as-safe) Use h/safe-string
---
 hyperdrive.el | 11 ++-
 1 file changed, 2 insertions(+), 9 deletions(-)

diff --git a/hyperdrive.el b/hyperdrive.el
index 4d9bf93758..42e1b7a4c6 100644
--- a/hyperdrive.el
+++ b/hyperdrive.el
@@ -156,15 +156,11 @@ hyperdrive, the new hyperdrive's petname will be set to 
SEED."
 Interactively, prompt for hyperdrive and action."
   (interactive
(pcase-let* ((hyperdrive (h/complete-hyperdrive))
-((cl-struct hyperdrive (etc (map safep))) hyperdrive)
 (mark-safe-p
  (pcase (read-answer
  (format "Mark hyperdrive `%s' as: (currently: %s) "
  (h//format-hyperdrive hyperdrive)
- (pcase-exhaustive safep
-   ('t (propertize "safe" 'face 'success))
-   ('nil (propertize "unsafe" 'face 'error))
-   ('unknown (propertize "unknown" 'face 
'warning
+ (h/safe-string hyperdrive))
  '(("safe" ?S "mark as safe")
("unsafe" ?U "mark as unsafe")
("unknown" ?u "ask again later")
@@ -183,10 +179,7 @@ Interactively, prompt for hyperdrive and action."
(h/persist hyperdrive)
(message "Marked hyperdrive `%s' as %s."
 (h//format-hyperdrive hyperdrive)
-(pcase-exhaustive safep
-  ('t (propertize "safe" 'face 'success))
-  ('nil (propertize "unsafe" 'face 'error))
-  ('unknown (propertize "unknown" 'face 'warning)))
+(h/safe-string hyperdrive)
 
 (defun h/forget-file (entry)
   "Delete local copy of the file or directory contents of ENTRY.



[nongnu] elpa/hyperdrive 6ef425d194 06/14: Change: (h/menu-bar-menu) Use h/safe-string

2024-08-18 Thread ELPA Syncer
branch: elpa/hyperdrive
commit 6ef425d194c79c15a29bf7455bee1816ca25c54c
Author: Joseph Turner 
Commit: Joseph Turner 

Change: (h/menu-bar-menu) Use h/safe-string
---
 hyperdrive.el | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/hyperdrive.el b/hyperdrive.el
index 8e4345cfca..4d9bf93758 100644
--- a/hyperdrive.el
+++ b/hyperdrive.el
@@ -1022,9 +1022,7 @@ The return value of this function is the retrieval 
buffer."
 :help "Mark hyperdrive as safe or not"
 :label
 (format-message "Mark as Safe: `%s'"
-(if (alist-get 'safep (h/etc drive))
-"safe"
-  "unsafe")))
+(h/safe-string drive)))
 "---"
 (vector "Purge"
 `(lambda ()



  1   2   >