[elpa] externals/lin 647be28194 3/3: Update to Lin version 1.1.0

2024-08-05 Thread ELPA Syncer
branch: externals/lin
commit 647be281945185a20f37363fd335e99ad0540eff
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Update to Lin version 1.1.0
---
 CHANGELOG.org | 23 +++
 README.org|  6 ++
 lin.el|  2 +-
 3 files changed, 26 insertions(+), 5 deletions(-)

diff --git a/CHANGELOG.org b/CHANGELOG.org
index f2a2534ce5..c3b1f054af 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -6,6 +6,29 @@
 The newest release is at the top.  For further details, please consult
 the manual: .
 
+* Version 1.1.0 on 2024-08-05
+
+The package is in a stable state. These are some quality-of-life
+refinements.
+
+- Updated the colour values of all the faces defined by ~lin~. They
+  now are a bit more vivid. The colours come from my ~modus-themes~.
+
+- Defined the user option ~lin-remap-current-line-number~, which is
+  set to a non-nil value by default. What it does is to apply the
+  colour of the currently highlighted line (per ~hl-line-mode~) to the
+  line number when ~display-line-numbers-mode~ is enabled.
+
+- Used the correct symbol for the Mu4e headers hook
+  (~mu4e-headers-mode-hook~ instead of ~mu4e-headers-mode~). Thanks to
+  Simon Pugnet for the contribution. The change is small, meaning that
+  Simon does not need to assign copyright to the Free Software
+  Foundation.
+
+- Added the ~archive-mode-hook~ and ~tar-mode-hook~ to the
+  ~lin-mode-hooks~. Thanks to Nicolas De Jaeghere for the
+  contribution. It too does not require copyright assignment.
+
 * Version 1.0.0 on 2022-09-08
 
 + Clarified the doc string of the user option ~lin-mode-hooks~.  This
diff --git a/README.org b/README.org
index 7adbd1d6c3..d84da16e97 100644
--- a/README.org
+++ b/README.org
@@ -5,8 +5,8 @@
 #+options: ':t toc:nil author:t email:t num:t
 #+startup: content
 #+macro: stable-version 1.0.0
-#+macro: release-date 2022-09-08
-#+macro: development-version 1.1.0-dev
+#+macro: release-date 2024-08-05
+#+macro: development-version 1.2.0-dev
 #+export_file_name: lin.texi
 #+texinfo_filename: lin.info
 #+texinfo_dir_category: Emacs misc features
@@ -114,8 +114,6 @@ background attribute.  The Lin faces with the 
=-override-fg= suffix set
 a foreground value which replaces that of the underlying text.  Whereas
 the others only specify a background attribute.
 
-[ The ~lin-remap-current-line-number~ is part of {{{development-version}}}. ]
-
 #+vindex: lin-remap-current-line-number
 The user option ~lin-remap-current-line-number~ controls whether to
 apply the Lin style also to the currently highlighted line number.
diff --git a/lin.el b/lin.el
index d4b029a6dd..1d298929db 100644
--- a/lin.el
+++ b/lin.el
@@ -5,7 +5,7 @@
 ;; Author: Protesilaos Stavrou 
 ;; Maintainer: Protesilaos Stavrou 
 ;; URL: https://github.com/protesilaos/lin
-;; Version: 1.0.0
+;; Version: 1.1.0
 ;; Package-Requires: ((emacs "27.1"))
 ;; Keywords: convenience, faces, theme
 



[elpa] externals/lin 7c7c244362 1/3: Fix typo in the new user option's symbol

2024-08-05 Thread ELPA Syncer
branch: externals/lin
commit 7c7c2443624935df9f5a612e0c74d482edc2a615
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Fix typo in the new user option's symbol
---
 README.org | 6 +++---
 lin.el | 4 ++--
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/README.org b/README.org
index 2906bbc0ae..f723ecd935 100644
--- a/README.org
+++ b/README.org
@@ -114,10 +114,10 @@ background attribute.  The Lin faces with the 
=-override-fg= suffix set
 a foreground value which replaces that of the underlying text.  Whereas
 the others only specify a background attribute.
 
-[ The ~lin-remap-cureent-line-number~ is part of {{{development-version}}}. ]
+[ The ~lin-remap-current-line-number~ is part of {{{development-version}}}. ]
 
-#+vindex: lin-remap-cureent-line-number
-The user option ~lin-remap-cureent-line-number~ controls whether to
+#+vindex: lin-remap-current-line-number
+The user option ~lin-remap-current-line-number~ controls whether to
 apply the Lin style also to the currently highlighted line number.
 Line numbers come from the built-in ~display-line-numbers-mode~.
 
diff --git a/lin.el b/lin.el
index 30ae528738..d4b029a6dd 100644
--- a/lin.el
+++ b/lin.el
@@ -145,7 +145,7 @@ updates the face.  Users who prefer to use `setq' must run
   :package-version '(lin . "0.3.0")
   :group 'lin)
 
-(defcustom lin-remap-cureent-line-number t
+(defcustom lin-remap-current-line-number t
   "When non-nil, apply `lin-face' also to the current line number.
 Line numbers come from the `display-line-numbers-mode'."
   :type 'boolean
@@ -334,7 +334,7 @@ Line numbers come from the `display-line-numbers-mode'."
   (if lin-mode
   (progn
 (setq lin--hl-line-cookie (face-remap-add-relative 
(lin--hl-line-source-face) lin-face))
-(when lin-remap-cureent-line-number
+(when lin-remap-current-line-number
   (setq lin--line-number-current-line-cookie (face-remap-add-relative 
'line-number-current-line lin-face)))
 (hl-line-mode 1))
 (face-remap-remove-relative lin--hl-line-cookie)



[elpa] externals/lin 568597e761 2/3: Remove needless indentation from the manual's front matter

2024-08-05 Thread ELPA Syncer
branch: externals/lin
commit 568597e7614c07c75c977577c273e05fbe5b9535
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Remove needless indentation from the manual's front matter
---
 README.org | 36 ++--
 1 file changed, 18 insertions(+), 18 deletions(-)

diff --git a/README.org b/README.org
index f723ecd935..7adbd1d6c3 100644
--- a/README.org
+++ b/README.org
@@ -1,21 +1,21 @@
-#+title: LIN Is Noticeable (lin.el)
-#+author:Protesilaos Stavrou
-#+email: i...@protesilaos.com
-#+language:  en
-#+options:   ':t toc:nil author:t email:t num:t
-#+startup:   content
-#+macro: stable-version 1.0.0
-#+macro: release-date 2022-09-08
-#+macro: development-version 1.1.0-dev
-#+export_file_name:  lin.texi
-#+texinfo_filename:  lin.info
-#+texinfo_dir_category:  Emacs misc features
-#+texinfo_dir_title: LIN Is Noticeable: (lin)
-#+texinfo_dir_desc:  Make 'hl-line-mode' more suitable for selection UIs
-#+texinfo_header:@set MAINTAINERSITE 
@uref{https://protesilaos.com,maintainer webpage}
-#+texinfo_header:@set MAINTAINER Protesilaos Stavrou
-#+texinfo_header:@set MAINTAINEREMAIL @email{i...@protesilaos.com}
-#+texinfo_header:@set MAINTAINERCONTACT 
@uref{mailto:i...@protesilaos.com,contact the maintainer}
+#+title: LIN Is Noticeable (lin.el)
+#+author: Protesilaos Stavrou
+#+email: i...@protesilaos.com
+#+language: en
+#+options: ':t toc:nil author:t email:t num:t
+#+startup: content
+#+macro: stable-version 1.0.0
+#+macro: release-date 2022-09-08
+#+macro: development-version 1.1.0-dev
+#+export_file_name: lin.texi
+#+texinfo_filename: lin.info
+#+texinfo_dir_category: Emacs misc features
+#+texinfo_dir_title: LIN Is Noticeable: (lin)
+#+texinfo_dir_desc: Make 'hl-line-mode' more suitable for selection UIs
+#+texinfo_header: @set MAINTAINERSITE @uref{https://protesilaos.com,maintainer 
webpage}
+#+texinfo_header: @set MAINTAINER Protesilaos Stavrou
+#+texinfo_header: @set MAINTAINEREMAIL @email{i...@protesilaos.com}
+#+texinfo_header: @set MAINTAINERCONTACT 
@uref{mailto:i...@protesilaos.com,contact the maintainer}
 
 #+texinfo: @insertcopying
 



[elpa] externals/lin updated (ede49730af -> 647be28194)

2024-08-05 Thread ELPA Syncer
elpasync pushed a change to branch externals/lin.

  from  ede49730af Add user option lin-remap-cureent-line-number
   new  7c7c244362 Fix typo in the new user option's symbol
   new  568597e761 Remove needless indentation from the manual's front 
matter
   new  647be28194 Update to Lin version 1.1.0


Summary of changes:
 CHANGELOG.org | 23 +++
 README.org| 42 --
 lin.el|  6 +++---
 3 files changed, 46 insertions(+), 25 deletions(-)



[elpa] externals/phpinspect 9a317473b7 2/3: Synchronously index classes when fetching for eldoc hints

2024-08-05 Thread ELPA Syncer
branch: externals/phpinspect
commit 9a317473b72c97fc3d9022bd9f677d28ec7fd96b
Author: Hugo Thunnissen 
Commit: Hugo Thunnissen 

Synchronously index classes when fetching for eldoc hints
---
 phpinspect-eldoc.el | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/phpinspect-eldoc.el b/phpinspect-eldoc.el
index d8a85ec2c6..613c1c4df0 100644
--- a/phpinspect-eldoc.el
+++ b/phpinspect-eldoc.el
@@ -70,7 +70,7 @@ be implemented for return values of 
`phpinspect-eld-strategy-execute'")
 (when type-before
   (let ((class (phpinspect-project-get-class-extra-or-create
 (phpinspect--resolvecontext-project rctx)
-type-before))
+type-before 'no-enqueue))
 (attribute-name (cadadr attrib))
 variable method result)
 (when attribute-name
@@ -177,7 +177,8 @@ be implemented for return values of 
`phpinspect-eld-strategy-execute'")
 (method-name-sym (phpinspect-intern-name (cadadr 
(phpinspect-meta-token (car match-result)
 (class (phpinspect-project-get-class-extra-or-create
 (phpinspect--resolvecontext-project rctx)
-type-of-previous-statement))
+type-of-previous-statement
+'no-enqueue))
 (method (if static
 (phpinspect--class-get-static-method class 
method-name-sym)
   (phpinspect--class-get-method class 
method-name-sym



[elpa] externals/phpinspect f7f43332b2 1/3: Synchronously index classes when listing methods/properties for completion

2024-08-05 Thread ELPA Syncer
branch: externals/phpinspect
commit f7f43332b226443f9c9f245a57dd1c9386339db5
Author: Hugo Thunnissen 
Commit: Hugo Thunnissen 

Synchronously index classes when listing methods/properties for completion
---
 phpinspect-cache.el   |  4 ++--
 phpinspect-project.el | 17 -
 phpinspect-suggest.el |  6 --
 3 files changed, 22 insertions(+), 5 deletions(-)

diff --git a/phpinspect-cache.el b/phpinspect-cache.el
index 3e4bbea395..281ff75f64 100644
--- a/phpinspect-cache.el
+++ b/phpinspect-cache.el
@@ -163,12 +163,12 @@ currently opened projects."
 
 project))
 
-(defun phpinspect-get-or-create-cached-project-class (project-root class-fqn)
+(defun phpinspect-get-or-create-cached-project-class (project-root class-fqn 
&optional no-enqueue)
   (when project-root
 (let ((project (phpinspect--cache-get-project-create
 (phpinspect--get-or-create-global-cache)
 project-root)))
-  (phpinspect-project-get-class-extra-or-create project class-fqn
+  (phpinspect-project-get-class-extra-or-create project class-fqn 
no-enqueue
 
 (cl-defmethod phpinspect--cache-get-project-create
   ((cache phpinspect--cache) (project-root string))
diff --git a/phpinspect-project.el b/phpinspect-project.el
index a5b3764927..685990fe07 100644
--- a/phpinspect-project.el
+++ b/phpinspect-project.el
@@ -220,12 +220,28 @@ serious performance hits. Enable at your own risk (:")
 
 (cl-defmethod phpinspect-project-get-class-create
   ((project phpinspect-project) (class-fqn phpinspect--type) &optional 
no-enqueue)
+  "Get class object belonging to CLASS-FQN from PROJECT.
+
+If the class does exist on the filesystem but has not yet been
+indexed, it will be queued for indexation and an empty class
+object (awaiting indedaxation) is returned.
+
+If NO-ENQUEUE is non-nil, the class will not be queued for
+indexation, but indexed synchronously before returning."
   (let ((class (phpinspect-project-get-class project class-fqn)))
 (unless class
   (phpinspect-project-edit project
 (setq class (phpinspect-project-create-class project class-fqn))
 (unless no-enqueue
   (phpinspect-project-enqueue-if-not-present project class-fqn
+
+(phpinspect--log "Got project class, no-index is set to: %s, initial-index 
is: %s"
+ no-index (phpinspect--class-initial-index class))
+
+(phpinspect-project-edit project
+  (when  (and no-enqueue (phpinspect--class-initial-index class))
+(phpinspect--log "Indexing type file for %s" class-fqn)
+(phpinspect-project-index-type-file project class-fqn)))
 class))
 
 (cl-defmethod phpinspect-project-get-class-extra-or-create
@@ -233,7 +249,6 @@ serious performance hits. Enable at your own risk (:")
   (or (phpinspect-project-get-class-or-extra project class-fqn)
   (phpinspect-project-get-class-create project class-fqn no-enqueue)))
 
-(defalias 'phpinspect-project-add-class-if-missing 
#'phpinspect-project-get-class-create)
 
 (cl-defmethod phpinspect-project-get-class
   ((project phpinspect-project) (class-fqn phpinspect--type))
diff --git a/phpinspect-suggest.el b/phpinspect-suggest.el
index e6e87dff24..d705811786 100644
--- a/phpinspect-suggest.el
+++ b/phpinspect-suggest.el
@@ -71,7 +71,7 @@
 (when project-root
   (let ((class (phpinspect-get-or-create-cached-project-class
 project-root
-class-fqn)))
+class-fqn 'no-enqueue)))
 (phpinspect--log (if class
  "Retrieved class index, starting method 
collection %s (%s)"
"No class index found in %s for %s")
@@ -93,7 +93,7 @@
 (defun phpinspect--get-variables-for-class (class-name &optional static)
   (let ((class (phpinspect-get-or-create-cached-project-class
 (phpinspect-current-project-root)
-class-name)))
+class-name 'no-enqueue)))
 (when class
   (if static
   (append (phpinspect--class-get-static-variables class) 
(phpinspect--class-get-constants class))
@@ -113,6 +113,7 @@ resolved to provide completion candidates.
 
 If STATIC is non-nil, candidates are provided for constants,
 static variables and static methods."
+  (phpinspect--log "Suggesting attributes at point")
   ;; Strip away the existing (incomplete) attribute token. Otherwise, resolving
   ;; a type from this context while the user has already typed part of an
   ;; attribute name could return the type of an existing attribute that matches
@@ -134,6 +135,7 @@ static variables and static methods."
 (let ((statement-type (phpinspect-resolve-type-from-context
resolvecontext
type-resolver)))
+  (phpinspect--log "Statement type: %s" statement-type)
   (when statement-type
 (let ((type (funcall type-resolver statement-type)))
   (append (phpinspect--get-variables-for-clas

[elpa] externals/phpinspect updated (62bfc7830a -> 9877166986)

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

  from  62bfc7830a Fix namespace resolution bug in phpinspect-fix-imports
   new  f7f43332b2 Synchronously index classes when listing 
methods/properties for completion
   new  9a317473b7 Synchronously index classes when fetching for eldoc hints
   new  9877166986 Fix reference to free variable


Summary of changes:
 phpinspect-cache.el   |  4 ++--
 phpinspect-eldoc.el   |  5 +++--
 phpinspect-project.el | 17 -
 phpinspect-suggest.el |  6 --
 4 files changed, 25 insertions(+), 7 deletions(-)



[elpa] externals/phpinspect 9877166986 3/3: Fix reference to free variable

2024-08-05 Thread ELPA Syncer
branch: externals/phpinspect
commit 9877166986a6f9e728102fb613517f9a469b1550
Author: Hugo Thunnissen 
Commit: Hugo Thunnissen 

Fix reference to free variable
---
 phpinspect-project.el | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/phpinspect-project.el b/phpinspect-project.el
index 685990fe07..01c8f12fdb 100644
--- a/phpinspect-project.el
+++ b/phpinspect-project.el
@@ -235,8 +235,8 @@ indexation, but indexed synchronously before returning."
 (unless no-enqueue
   (phpinspect-project-enqueue-if-not-present project class-fqn
 
-(phpinspect--log "Got project class, no-index is set to: %s, initial-index 
is: %s"
- no-index (phpinspect--class-initial-index class))
+(phpinspect--log "Got project class, no-enqueue is set to: %s, 
initial-index is: %s"
+ no-enqueue (phpinspect--class-initial-index class))
 
 (phpinspect-project-edit project
   (when  (and no-enqueue (phpinspect--class-initial-index class))



[elpa] externals/dired-preview 411a6fd360: CHANGE dired-preview-display-action-alist-function to dired-preview-display-action-alist

2024-08-05 Thread ELPA Syncer
branch: externals/dired-preview
commit 411a6fd3608a42a5cb5a166ed9613366f426b664
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

CHANGE dired-preview-display-action-alist-function to 
dired-preview-display-action-alist
---
 README.org   |  6 +++---
 dired-preview.el | 37 +++--
 2 files changed, 30 insertions(+), 13 deletions(-)

diff --git a/README.org b/README.org
index 7b7ecf9ec6..f4163e97ff 100644
--- a/README.org
+++ b/README.org
@@ -153,8 +153,8 @@ This key map binds the following commands:
 :CUSTOM_ID: h:25135eb2-04a9-403e-bc3a-8ee287ac36cf
 :END:
 
-#+vindex: dired-preview-display-action-alist-function
-The user option ~dired-preview-display-action-alist-function~
+#+vindex: dired-preview-display-action-alist
+The user option ~dired-preview-display-action-alist~
 speficies a function to handle the display of the preview.  The
 default value will place the preview either to the right or the
 bottom side window, depending on the available width.
@@ -168,7 +168,7 @@ Users can specify their own conditions with something like 
this:
 (side . right)
 (width . 0.3)))
 
-(setq dired-preview-display-action-alist-function 
#'my-dired-preview-to-the-right)
+(setq dired-preview-display-action-alist #'my-dired-preview-to-the-right)
 #+end_src
 
 Note that the ~display-buffer~ mechanism is inherently complex and
diff --git a/dired-preview.el b/dired-preview.el
index 6c8e138e2c..f47a708a51 100644
--- a/dired-preview.el
+++ b/dired-preview.el
@@ -103,14 +103,28 @@ user option."
   :group 'dired-preview
   :type 'natnum)
 
-(defcustom dired-preview-display-action-alist-function
+(define-obsolete-variable-alias
+  'dired-preview-display-action-alist-function
+  'dired-preview-display-action-alist
+  "0.3.0")
+
+(defcustom dired-preview-display-action-alist
   #'dired-preview-display-action-alist-dwim
-  "Function to return the `display-buffer' action for the preview.
+  "The `display-buffer' action alist for the preview window.
 This is the same data that is passed to `display-buffer-alist'.
 Read Info node `(elisp) Displaying Buffers'.  As such, it is
-meant for experienced users.  See the reference function
-`dired-preview-display-action-alist-dwim' for the implementation
-details."
+meant for experienced users.
+
+Example of a valid value:
+
+\\='((display-buffer-in-side-window)
+  (side . bottom)
+  (window-height . 0.2)
+  (preserve-size . (t . t)))
+
+The value may also be a function, which returns a `display-buffer'
+action alist.  See `dired-preview-display-action-alist-dwim' for the
+implementation details."
   :group 'dired-preview
   :type 'function)
 
@@ -498,7 +512,7 @@ checked against `split-width-threshold' or
 `(:side bottom :dimension window-height :size 
,(dired-preview-get-window-size :height
 
 (defun dired-preview-display-action-alist-dwim ()
-  "Reference function for `dired-preview-display-action-alist-function'.
+  "Reference function for `dired-preview-display-action-alist'.
 Return a `display-buffer' action alist, as described in the
 aforementioned user option."
   (let ((properties (dired-preview-display-action-side)))
@@ -546,10 +560,13 @@ aforementioned user option."
 (defun dired-preview--display-buffer (buffer)
   "Call `display-buffer' for BUFFER.
 Only do it with the current major mode is Dired."
-  (display-buffer
-   buffer
-   (funcall (or dired-preview-display-action-alist-function
-#'dired-preview-display-action-alist-dwim
+  (let ((action-alist (cond
+   ((functionp dired-preview-display-action-alist)
+(funcall dired-preview-display-action-alist))
+   (dired-preview-display-action-alist)
+   (t
+(dired-preview-display-action-alist-dwim)
+(display-buffer buffer action-alist)))
 
 (defun dired-preview-display-file (file)
   "Display preview of FILE if appropriate."



[elpa] externals/transient b2cb4e578f 5/5: Release version 0.7.4

2024-08-05 Thread Jonas Bernoulli via
branch: externals/transient
commit b2cb4e578f2362a0354c4a31a6bd89d6c4b63d63
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

Release version 0.7.4
---
 CHANGELOG   | 2 +-
 docs/transient.org  | 4 ++--
 docs/transient.texi | 4 ++--
 lisp/transient.el   | 2 +-
 4 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
index 85f22d14ee..871312da4c 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,5 +1,5 @@
 # -*- mode: org -*-
-* v0.7.4UNRELEASED
+* v0.7.42024-08-05
 
 - Added new function ~transient-active-prefix~.
 
diff --git a/docs/transient.org b/docs/transient.org
index bbb0f6c85b..e77cceeda5 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.3
+#+subtitle: for version 0.7.4
 
 #+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.3.
+This manual is for Transient version 0.7.4.
 
 #+texinfo: @insertcopying
 :END:
diff --git a/docs/transient.texi b/docs/transient.texi
index 7e0225..5ec765351a 100644
--- a/docs/transient.texi
+++ b/docs/transient.texi
@@ -31,7 +31,7 @@ General Public License for more details.
 @finalout
 @titlepage
 @title Transient User and Developer Manual
-@subtitle for version 0.7.3
+@subtitle for version 0.7.4
 @author Jonas Bernoulli
 @page
 @vskip 0pt plus 1filll
@@ -53,7 +53,7 @@ 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.3.
+This manual is for Transient version 0.7.4.
 
 @insertcopying
 @end ifnottex
diff --git a/lisp/transient.el b/lisp/transient.el
index 0658db4bb4..238f6f4f5e 100644
--- a/lisp/transient.el
+++ b/lisp/transient.el
@@ -6,7 +6,7 @@
 ;; Homepage: https://github.com/magit/transient
 ;; Keywords: extensions
 
-;; Package-Version: 0.7.3
+;; Package-Version: 0.7.4
 ;; Package-Requires: ((emacs "26.1") (compat "30.0.0.0") (seq "2.24"))
 
 ;; SPDX-License-Identifier: GPL-3.0-or-later



[elpa] externals/transient 27fbe66648 4/5: Apply commit 00adee897ac from Emacs

2024-08-05 Thread Jonas Bernoulli via
branch: externals/transient
commit 27fbe666484f1b355aecc6ca6ab1645d7256b4cc
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

Apply commit 00adee897ac from Emacs
---
 docs/transient.org  | 12 ++--
 docs/transient.texi | 12 ++--
 2 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/docs/transient.org b/docs/transient.org
index 2f258c0ee3..bbb0f6c85b 100644
--- a/docs/transient.org
+++ b/docs/transient.org
@@ -65,9 +65,9 @@ commands even have so many options that they introduce 
/subcommands/
 :UNNUMBERED: notoc
 :END:
 
-What about Emacs commands used interactively? How do these handle
+What about Emacs commands used interactively?  How do these handle
 options?  One solution is to make many versions of the same command,
-so you don't need to! Consider: =delete-other-windows= vs.
+so you don't need to!  Consider: =delete-other-windows= vs.
 =delete-other-windows-vertically= (among many similar examples).
 
 Some Emacs commands will simply prompt you for the next "argument"
@@ -840,7 +840,7 @@ independently.  See [[*Using History]].
 After a transient prefix command is invoked, {{{kbdvar(C-h )}}} can be 
used to
 show the documentation for the infix or suffix command that 
{{{kbdvar()}}} is
 bound to (see [[*Getting Help for Suffix Commands]]), and infixes and
-suffixes can be removed from the transient using {{{kbdvar(C-x l )}}}. 
Infixes
+suffixes can be removed from the transient using {{{kbdvar(C-x l )}}}.  
Infixes
 and suffixes that are disabled by default can be enabled the same way.
 See [[*Enabling and Disabling Suffixes]].
 
@@ -1088,7 +1088,7 @@ The same form is also used when later binding additional 
commands
 using functions such as ~transient-insert-suffix~, see [[*Modifying
 Existing Transients]].
 
-Note that an infix is a special kind of suffix. Depending on context
+Note that an infix is a special kind of suffix.  Depending on context
 “suffixes” means “suffixes (including infixes)” or “non-infix
 suffixes”.  Here it means the former.
 
@@ -1171,7 +1171,7 @@ Slots]].
 #+cindex: defining suffix commands
 #+cindex: defining infix commands
 
-Note that an infix is a special kind of suffix. Depending on context
+Note that an infix is a special kind of suffix.  Depending on context
 “suffixes” means “suffixes (including infixes)” or “non-infix
 suffixes”.
 
@@ -1246,7 +1246,7 @@ When returning to the command-loop after calling the 
suffix command,
 the arguments are reset to ~nil~ (which causes the function to return
 ~nil~ too).
 
-Like for Emacs' prefix arguments, it is advisable, but not mandatory,
+Like for Emacs's prefix arguments, it is advisable, but not mandatory,
 to access the infix arguments inside the command's ~interactive~ form.
 The preferred way of doing that is to call the ~transient-args~
 function, which for infix arguments serves about the same purpose as
diff --git a/docs/transient.texi b/docs/transient.texi
index fb5500c095..7e0225 100644
--- a/docs/transient.texi
+++ b/docs/transient.texi
@@ -165,9 +165,9 @@ commands even have so many options that they introduce 
@emph{subcommands}
 @anchor{Using Transient for composing interactive commands}
 @heading Using Transient for composing interactive commands
 
-What about Emacs commands used interactively? How do these handle
+What about Emacs commands used interactively?  How do these handle
 options?  One solution is to make many versions of the same command,
-so you don't need to! Consider: @samp{delete-other-windows} vs.
+so you don't need to!  Consider: @samp{delete-other-windows} vs.
 @samp{delete-other-windows-vertically} (among many similar examples).
 
 Some Emacs commands will simply prompt you for the next "argument"
@@ -1017,7 +1017,7 @@ independently.  See @ref{Using History}.
 After a transient prefix command is invoked, @kbd{C-h @var{KEY}} can be used to
 show the documentation for the infix or suffix command that @kbd{@var{KEY}} is
 bound to (see @ref{Getting Help for Suffix Commands}), and infixes and
-suffixes can be removed from the transient using @kbd{C-x l @var{KEY}}. Infixes
+suffixes can be removed from the transient using @kbd{C-x l @var{KEY}}.  
Infixes
 and suffixes that are disabled by default can be enabled the same way.
 See @ref{Enabling and Disabling Suffixes}.
 
@@ -1280,7 +1280,7 @@ individual suffix command.
 The same form is also used when later binding additional commands
 using functions such as @code{transient-insert-suffix}, see @ref{Modifying 
Existing Transients}.
 
-Note that an infix is a special kind of suffix. Depending on context
+Note that an infix is a special kind of suffix.  Depending on context
 ``suffixes'' means ``suffixes (including infixes)'' or ``non-infix
 suffixes''.  Here it means the former.
 
@@ -1373,7 +1373,7 @@ argument supported by the constructor of that class.  See 
@ref{Suffix Slots}.
 @cindex defining suffix commands
 @cindex defining infix commands
 
-Note that an infix is a special kind of suffix. Depending on context
+No

[elpa] externals/transient 7b2a05bcad 2/5: Apply commit e3bba63ecb9 from Emacs

2024-08-05 Thread Jonas Bernoulli via
branch: externals/transient
commit 7b2a05bcad3b025bd82c5664caea4ab5615a59a6
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

Apply commit e3bba63ecb9 from Emacs
---
 lisp/transient.el | 14 +++---
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/lisp/transient.el b/lisp/transient.el
index 9630be66fc..31373b8f51 100644
--- a/lisp/transient.el
+++ b/lisp/transient.el
@@ -3989,9 +3989,9 @@ and its value is returned to the caller."
 set " ")
 
 (cl-defmethod transient-format-description ((obj transient-group))
-  "Format the description by calling the next method.  If the result
-doesn't use the `face' property at all, then apply the face
-`transient-heading' to the complete string."
+  "Format the description by calling the next method.
+If the result doesn't use the `face' property at all, then apply the
+face `transient-heading' to the complete string."
   (and-let* ((desc (transient--get-description obj)))
 (cond ((oref obj inapt)
(propertize desc 'face 'transient-inapt-suffix))
@@ -4000,10 +4000,10 @@ doesn't use the `face' property at all, then apply the 
face
   ((propertize desc 'face 'transient-heading)
 
 (cl-defmethod transient-format-description :around ((obj transient-suffix))
-  "Format the description by calling the next method.  If the result
-is nil, then use \"(BUG: no description)\" as the description.
-If the OBJ's `key' is currently unreachable, then apply the face
-`transient-unreachable' to the complete string."
+  "Format the description by calling the next method.
+If the result is nil, then use \"(BUG: no description)\" as the
+description.  If the OBJ's `key' is currently unreachable, then
+apply the face `transient-unreachable' to the complete string."
   (let ((desc (or (cl-call-next-method obj)
   (and (slot-boundp transient--prefix 'suffix-description)
(funcall (oref transient--prefix suffix-description)



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

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

  from  2a680c21e2 Release version 0.7.3
   new  6543000d5a transient-active-prefix: New function
   new  7b2a05bcad Apply commit e3bba63ecb9 from Emacs
   new  7ff6baa245 Apply commit a7996615663 from Emacs
   new  27fbe66648 Apply commit 00adee897ac from Emacs
   new  b2cb4e578f Release version 0.7.4


Summary of changes:
 CHANGELOG   |  4 
 docs/transient.org  | 38 +++---
 docs/transient.texi | 38 +++---
 lisp/transient.el   | 43 ++-
 4 files changed, 92 insertions(+), 31 deletions(-)



[elpa] externals/transient 6543000d5a 1/5: transient-active-prefix: New function

2024-08-05 Thread Jonas Bernoulli via
branch: externals/transient
commit 6543000d5a509096f0f98eb4b814d7f6f2114ce3
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

transient-active-prefix: New function
---
 CHANGELOG   |  4 
 docs/transient.org  | 22 +++---
 docs/transient.texi | 22 +++---
 lisp/transient.el   | 25 +
 4 files changed, 67 insertions(+), 6 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
index 40eeef6b63..85f22d14ee 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,4 +1,8 @@
 # -*- mode: org -*-
+* v0.7.4UNRELEASED
+
+- Added new function ~transient-active-prefix~.
+
 * v0.7.32024-07-13
 
 - Refactored code responsible for inserting columns.
diff --git a/docs/transient.org b/docs/transient.org
index 1845ae4e4c..2f258c0ee3 100644
--- a/docs/transient.org
+++ b/docs/transient.org
@@ -1285,16 +1285,32 @@ function, which for infix arguments serves about the 
same purpose as
   values.  In complex cases it might be necessary to use this variable
   instead, i.e., if you need access to information beside the value.
 
+- Variable: transient-current-command ::
+
+  The transient from which this suffix command was invoked.  The
+  returned value is a symbol, the transient prefix command.
+
 - Variable: transient-current-prefix ::
 
   The transient from which this suffix command was invoked.  The
   returned value is a ~transient-prefix~ object, which holds information
   associated with the transient prefix command.
 
-- Variable: transient-current-command ::
+- Variable: transient-active-prefix ::
 
-  The transient from which this suffix command was invoked.  The
-  returned value is a symbol, the transient prefix command.
+  This function returns the active transient object.  Return ~nil~ if
+  there is no active transient, if the transient buffer isn't shown,
+  and while the active transient is suspended (e.g., while the
+  minibuffer is in use).
+
+  Unlike ~transient-current-prefix~, which is only ever non-~nil~ in code
+  that is run directly by a command that is invoked while a transient
+  is current, this function is also suitable for use in asynchronous
+  code, such as timers and callbacks (this function's main use-case).
+
+  If optional PREFIXES is non-~nil~, it must be a list of prefix command
+  symbols, in which case the active transient object is only returned
+  if it matches one of the PREFIXES."
 
 ** Transient State
 #+cindex: transient state
diff --git a/docs/transient.texi b/docs/transient.texi
index 0ef12e08a5..fb5500c095 100644
--- a/docs/transient.texi
+++ b/docs/transient.texi
@@ -1488,15 +1488,31 @@ values.  In complex cases it might be necessary to use 
this variable
 instead, i.e., if you need access to information beside the value.
 @end defvar
 
+@defvar transient-current-command
+The transient from which this suffix command was invoked.  The
+returned value is a symbol, the transient prefix command.
+@end defvar
+
 @defvar transient-current-prefix
 The transient from which this suffix command was invoked.  The
 returned value is a @code{transient-prefix} object, which holds information
 associated with the transient prefix command.
 @end defvar
 
-@defvar transient-current-command
-The transient from which this suffix command was invoked.  The
-returned value is a symbol, the transient prefix command.
+@defvar transient-active-prefix
+This function returns the active transient object.  Return @code{nil} if
+there is no active transient, if the transient buffer isn't shown,
+and while the active transient is suspended (e.g., while the
+minibuffer is in use).
+
+Unlike @code{transient-current-prefix}, which is only ever non-@code{nil} in 
code
+that is run directly by a command that is invoked while a transient
+is current, this function is also suitable for use in asynchronous
+code, such as timers and callbacks (this function's main use-case).
+
+If optional PREFIXES is non-@code{nil}, it must be a list of prefix command
+symbols, in which case the active transient object is only returned
+if it matches one of the PREFIXES."
 @end defvar
 
 @node Transient State
diff --git a/lisp/transient.el b/lisp/transient.el
index b276988613..9630be66fc 100644
--- a/lisp/transient.el
+++ b/lisp/transient.el
@@ -1591,6 +1591,31 @@ This is bound while the suffixes are drawn in the 
transient buffer.")
 
 ;;; Identities
 
+(defun transient-active-prefix (&optional prefixes)
+  "Return the active transient object.
+
+Return nil if there is no active transient, if the transient buffer
+isn't shown, and while the active transient is suspended (e.g., while
+the minibuffer is in use).
+
+Unlike `transient-current-prefix', which is only ever non-nil in code
+that is run directly by a command that is invoked while a transient
+is current, this function is also suitable for use in asynchronous
+code, such as timers and callbacks (this function's main use-case).
+
+If optional PREFIXES is non-nil, it must be a list of prefix command
+symbols, in which 

[elpa] externals/transient 7ff6baa245 3/5: Apply commit a7996615663 from Emacs

2024-08-05 Thread Jonas Bernoulli via
branch: externals/transient
commit 7ff6baa24553a615ce61fac85a55d5f8e7368e4f
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

Apply commit a7996615663 from Emacs
---
 lisp/transient.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lisp/transient.el b/lisp/transient.el
index 31373b8f51..0658db4bb4 100644
--- a/lisp/transient.el
+++ b/lisp/transient.el
@@ -48,7 +48,7 @@
 (unless (fboundp 'seq-keep)
   (display-warning 'transient (substitute-command-keys "\
 Transient requires `seq' >= 2.24,
-but due to bad defaults, Emacs' package manager, refuses to
+but due to bad defaults, Emacs's package manager, refuses to
 upgrade this and other built-in packages to higher releases
 from GNU Elpa, when a package specifies that this is needed.
 



[nongnu] elpa/git-modes 2b4fd54b9c 1/2: Depend on Emacs 26.1

2024-08-05 Thread ELPA Syncer
branch: elpa/git-modes
commit 2b4fd54b9c3dae75a8d9226898b31eaee32b65a4
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

Depend on Emacs 26.1
---
 git-modes.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/git-modes.el b/git-modes.el
index f37d8d0489..5e412f0478 100644
--- a/git-modes.el
+++ b/git-modes.el
@@ -12,7 +12,7 @@
 ;; Keywords: convenience vc git
 
 ;; Package-Version: 1.4.3
-;; Package-Requires: ((emacs "25.1") (compat "30.0.0.0"))
+;; Package-Requires: ((emacs "26.1") (compat "30.0.0.0"))
 
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 



[nongnu] elpa/git-modes f99010bbeb 2/2: Release version 1.4.4

2024-08-05 Thread ELPA Syncer
branch: elpa/git-modes
commit f99010bbeb8b6d8a0819fac0195a2ef0159d08f0
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

Release version 1.4.4
---
 git-modes.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/git-modes.el b/git-modes.el
index 5e412f0478..5edaa1f899 100644
--- a/git-modes.el
+++ b/git-modes.el
@@ -11,7 +11,7 @@
 ;; Homepage: https://github.com/magit/git-modes
 ;; Keywords: convenience vc git
 
-;; Package-Version: 1.4.3
+;; Package-Version: 1.4.4
 ;; Package-Requires: ((emacs "26.1") (compat "30.0.0.0"))
 
 ;; SPDX-License-Identifier: GPL-3.0-or-later



[nongnu] elpa/git-modes updated (d96fa7a3c7 -> f99010bbeb)

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

  from  d96fa7a3c7 Bump compat dependency
   new  2b4fd54b9c Depend on Emacs 26.1
   new  f99010bbeb Release version 1.4.4


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



[nongnu] elpa/keycast updated (82affc7bb8 -> c44618d286)

2024-08-05 Thread ELPA Syncer
elpasync pushed a change to branch elpa/keycast.

  from  82affc7bb8 keycast-mode-line-mode: Handle being enabled twice
   new  76df5fd807 Depend on Emacs 26.1
   new  c44618d286 Release version 1.4.1


Summary of changes:
 keycast.el | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)



[nongnu] elpa/keycast c44618d286 2/2: Release version 1.4.1

2024-08-05 Thread ELPA Syncer
branch: elpa/keycast
commit c44618d2867fc2410e5061fef2a805e974198cf2
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

Release version 1.4.1
---
 keycast.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/keycast.el b/keycast.el
index 1c40ff3c39..1b2551f988 100644
--- a/keycast.el
+++ b/keycast.el
@@ -6,8 +6,8 @@
 ;; Homepage: https://github.com/tarsius/keycast
 ;; Keywords: multimedia
 
+;; Package-Version: 1.4.1
 ;; Package-Requires: ((emacs "26.1") (compat "30.0.0.0"))
-;; Package-Version: 1.4.0
 
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 



[nongnu] elpa/keycast 76df5fd807 1/2: Depend on Emacs 26.1

2024-08-05 Thread ELPA Syncer
branch: elpa/keycast
commit 76df5fd80724242acc2f64b5263949df7e95e308
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

Depend on Emacs 26.1
---
 keycast.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/keycast.el b/keycast.el
index a5255f44b3..1c40ff3c39 100644
--- a/keycast.el
+++ b/keycast.el
@@ -6,7 +6,7 @@
 ;; Homepage: https://github.com/tarsius/keycast
 ;; Keywords: multimedia
 
-;; Package-Requires: ((emacs "25.3") (compat "30.0.0.0"))
+;; Package-Requires: ((emacs "26.1") (compat "30.0.0.0"))
 ;; Package-Version: 1.4.0
 
 ;; SPDX-License-Identifier: GPL-3.0-or-later



[elpa] externals/org b62f1b142c 4/4: org-babel-sh-prompt: Use cuneiform "break" 𒆸 symbol as unique prompt

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

org-babel-sh-prompt: Use cuneiform "break" 𒆸 symbol as unique prompt

* lisp/ob-shell.el (org-babel-sh-prompt): Change the value of unique
prompt from long prompt string to a much shorter, but still unlikely
to appear in output, single-char prompt.

Cuneiform because Sumerian, Babylon, Tower ob Babel :)
---
 lisp/ob-shell.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lisp/ob-shell.el b/lisp/ob-shell.el
index f148fead7c..76908315f2 100644
--- a/lisp/ob-shell.el
+++ b/lisp/ob-shell.el
@@ -273,7 +273,7 @@ var of the same value."
   "String to indicate that evaluation has completed.")
 (defvar org-babel-sh-eoe-output "org_babel_sh_eoe"
   "String to indicate that evaluation has completed.")
-(defvar org-babel-sh-prompt "org_babel_sh_prompt> "
+(defvar org-babel-sh-prompt "𒆸 "
   "String to set prompt in session shell.")
 
 (defvar-local org-babel-sh--prompt-initialized nil



[elpa] externals/org updated (433fbdbc63 -> b62f1b142c)

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

  from  433fbdbc63 org-agenda-write: Remove redundant `set-buffer'
   new  5ebe761ae4 Rename `org-babel-comint-prompt-regexp-old' to 
`...-fallback'
   new  76c5f2238f ob-shell: Arrange unique prompt in manually started 
shell buffers
   new  149973da2f org-babel-sh-initiate-session: Fix setting non-standard 
prompt
   new  b62f1b142c org-babel-sh-prompt: Use cuneiform "break" 𒆸 symbol as 
unique prompt


Summary of changes:
 lisp/ob-clojure.el |  4 ++--
 lisp/ob-comint.el  | 19 ++-
 lisp/ob-haskell.el |  2 +-
 lisp/ob-ruby.el|  2 +-
 lisp/ob-shell.el   | 30 --
 5 files changed, 34 insertions(+), 23 deletions(-)



[elpa] externals/org 149973da2f 3/4: org-babel-sh-initiate-session: Fix setting non-standard prompt

2024-08-05 Thread ELPA Syncer
branch: externals/org
commit 149973da2f4796f376007cbfcbc965437f2c0076
Author: Ihor Radchenko 
Commit: Ihor Radchenko 

org-babel-sh-initiate-session: Fix setting non-standard prompt

* lisp/ob-shell.el (org-babel-sh-initiate-session): Set
`comint-prompt-regexp' early, _before_ evaluating prompt change.  This
way, we make sure that comint is not stuck trying to search for the
old prompt if the new prompt no longer matches `comint-prompt-regexp'.
---
 lisp/ob-shell.el | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/lisp/ob-shell.el b/lisp/ob-shell.el
index 7b0d6ddab0..f148fead7c 100644
--- a/lisp/ob-shell.el
+++ b/lisp/ob-shell.el
@@ -295,6 +295,11 @@ var of the same value."
  (shell session)
   ;; Set unique prompt for easier analysis of the output.
   (org-babel-comint-wait-for-output (current-buffer)))
+(setq-local
+ org-babel-comint-prompt-regexp-fallback comint-prompt-regexp
+ comint-prompt-regexp
+ (concat "^" (regexp-quote org-babel-sh-prompt)
+ " *"))
 (org-babel-comint-input-command
  (current-buffer)
  (format
@@ -302,11 +307,6 @@ var of the same value."
   org-babel-shell-set-prompt-commands))
   (alist-get t org-babel-shell-set-prompt-commands))
   org-babel-sh-prompt))
-(setq-local
- org-babel-comint-prompt-regexp-fallback comint-prompt-regexp
- comint-prompt-regexp
- (concat "^" (regexp-quote org-babel-sh-prompt)
- " *"))
 (setq org-babel-sh--prompt-initialized t)
;; Needed for Emacs 23 since the marker is initially
;; undefined and the filter functions try to use it without



[elpa] externals-release/org 2f572779e5 1/2: doc/org-guide.org (Visibility Cycling): Fix incorrect statement

2024-08-05 Thread ELPA Syncer
branch: externals-release/org
commit 2f572779e53d8f0dc4df2dda9ec44b56d932dd47
Author: Ihor Radchenko 
Commit: Ihor Radchenko 

doc/org-guide.org (Visibility Cycling): Fix incorrect statement

Fix incorrect assertion that initial visibility is overview.  It is
showeverything.

Reported-by: Matt M 
Link: 
https://orgmode.org/list/waxLE927Qoblcy_1hGRBGaOJjKgQ2K7NTFS9wFnEqHuW0BHAZYDkpGndbubOWtvpcJ06R378Mod8GsfA1UnuqLyT9QbQZFM8uaDxKHGPJhc=@protonmail.com
---
 doc/org-guide.org | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/doc/org-guide.org b/doc/org-guide.org
index b526f55ede..599707c15b 100644
--- a/doc/org-guide.org
+++ b/doc/org-guide.org
@@ -167,7 +167,7 @@ visibility in the buffer.
   Show all, including drawers.
 
 When Emacs first visits an Org file, the global state is set to
-OVERVIEW, i.e., only the top level headlines are visible.  This can be
+~showeverything~, i.e., all file content is visible.  This can be
 configured through the variable ~org-startup-folded~, or on a per-file
 basis by adding a =STARTUP= keyword to =overview=, =content=,
 =showall=, =showeverything= or =showlevels= (n = 2..5) like this:



[elpa] externals/org 5ebe761ae4 1/4: Rename `org-babel-comint-prompt-regexp-old' to `...-fallback'

2024-08-05 Thread ELPA Syncer
branch: externals/org
commit 5ebe761ae40c95062b00e3b01a6295774d7a018a
Author: Ihor Radchenko 
Commit: Ihor Radchenko 

Rename `org-babel-comint-prompt-regexp-old' to `...-fallback'

* lisp/ob-comint.el (org-babel-comint-prompt-regexp-fallback): Rename
to more accurate name.  Leave the old name as an alias.
(org-babel-comint--set-fallback-prompt): Use the new name.
(org-babel-comint-with-output):
(org-babel-comint-wait-for-output):
* lisp/ob-clojure.el (ob-clojure-eval-with-inf-clojure):
* lisp/ob-haskell.el (org-babel-interpret-haskell):
* lisp/ob-ruby.el (org-babel-ruby-initiate-session):
* lisp/ob-shell.el (org-babel-sh-initiate-session):
---
 lisp/ob-clojure.el |  4 ++--
 lisp/ob-comint.el  | 19 ++-
 lisp/ob-haskell.el |  2 +-
 lisp/ob-ruby.el|  2 +-
 lisp/ob-shell.el   |  2 +-
 5 files changed, 15 insertions(+), 14 deletions(-)

diff --git a/lisp/ob-clojure.el b/lisp/ob-clojure.el
index c7e95e..98a66d1ec5 100644
--- a/lisp/ob-clojure.el
+++ b/lisp/ob-clojure.el
@@ -237,8 +237,8 @@ or set the `:backend' header argument"
 "clojure" (format "clojure -A%s" alias)
 cmd0)
cmd0)))
-   (setq
- org-babel-comint-prompt-regexp-old comint-prompt-regexp
+   (setq-local
+ org-babel-comint-prompt-regexp-fallback comint-prompt-regexp
  comint-prompt-regexp inf-clojure-comint-prompt-regexp)
(funcall-interactively #'inf-clojure cmd)
(goto-char (point-max
diff --git a/lisp/ob-comint.el b/lisp/ob-comint.el
index 764927af74..b88ac445a5 100644
--- a/lisp/ob-comint.el
+++ b/lisp/ob-comint.el
@@ -58,7 +58,8 @@ executed inside the protection of `save-excursion' and
   (let ((comint-input-filter (lambda (_input) nil)))
 ,@body))
 
-(defvar-local org-babel-comint-prompt-regexp-old nil
+(defvaralias 'org-babel-comint-prompt-regexp-old 
'org-babel-comint-prompt-regexp-fallback)
+(defvar org-babel-comint-prompt-regexp-fallback nil
   "Fallback regexp used to detect prompt.")
 
 (defcustom org-babel-comint-fallback-regexp-threshold 5.0
@@ -69,11 +70,11 @@ This is useful when prompt unexpectedly changes."
   :package-version '(Org . "9.7"))
 
 (defun org-babel-comint--set-fallback-prompt ()
-  "Swap `comint-prompt-regexp' and `org-babel-comint-prompt-regexp-old'."
-  (when org-babel-comint-prompt-regexp-old
+  "Swap `comint-prompt-regexp' and `org-babel-comint-prompt-regexp-fallback'."
+  (when org-babel-comint-prompt-regexp-fallback
 (let ((tmp comint-prompt-regexp))
-  (setq comint-prompt-regexp org-babel-comint-prompt-regexp-old
-org-babel-comint-prompt-regexp-old tmp
+  (setq comint-prompt-regexp org-babel-comint-prompt-regexp-fallback
+org-babel-comint-prompt-regexp-fallback tmp
 
 (defun org-babel-comint--prompt-filter (string &optional prompt-regexp)
   "Remove PROMPT-REGEXP from STRING.
@@ -144,7 +145,7 @@ or user `keyboard-quit' during execution of body."
 (accept-process-output
   (get-buffer-process (current-buffer))
   org-babel-comint-fallback-regexp-threshold)
- (when (and org-babel-comint-prompt-regexp-old
+ (when (and org-babel-comint-prompt-regexp-fallback
 (> (float-time (time-since start-time))
org-babel-comint-fallback-regexp-threshold)
 (progn
@@ -154,7 +155,7 @@ or user `keyboard-quit' during execution of body."
  (re-search-forward
  (regexp-quote ,eoe-indicator) nil t)
 (re-search-forward
-  org-babel-comint-prompt-regexp-old nil t)
+  org-babel-comint-prompt-regexp-fallback nil 
t)
(org-babel-comint--set-fallback-prompt
 ;; replace cut dangling text
 (goto-char (process-mark (get-buffer-process (current-buffer
@@ -189,14 +190,14 @@ statement (not large blocks of code)."
 (accept-process-output
  (get-buffer-process buffer)
  org-babel-comint-fallback-regexp-threshold)
-(when (and org-babel-comint-prompt-regexp-old
+(when (and org-babel-comint-prompt-regexp-fallback
(> (float-time (time-since start-time))
   org-babel-comint-fallback-regexp-threshold)
(progn
 (goto-char comint-last-input-end)
 (save-excursion
   (re-search-forward
-org-babel-comint-prompt-regexp-old nil t
+org-babel-comint-prompt-regexp-fallback nil t
   (org-babel-comint--set-fallback-prompt))
 
 (defun org-babel-comint-eval-invisibly-and-wait-for-file
diff --git a/lisp/ob-haskell.el b/lisp/ob-haskell.el
index 05f340fa0f..a96a28b6b1 10064

[elpa] externals-release/org updated (233a0ced97 -> b7026cf3e8)

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

  from  233a0ced97 Update version number for the 9.7.9 release
   new  2f572779e5 doc/org-guide.org (Visibility Cycling): Fix incorrect 
statement
   new  b7026cf3e8 lisp/ox-html.el (org-html-fontify-code): Improve warning 
text


Summary of changes:
 doc/org-guide.org | 2 +-
 lisp/ox-html.el   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)



[elpa] externals/org 76c5f2238f 2/4: ob-shell: Arrange unique prompt in manually started shell buffers

2024-08-05 Thread ELPA Syncer
branch: externals/org
commit 76c5f2238fcd33c35d0a2c71e489c205067ec42c
Author: Ihor Radchenko 
Commit: Ihor Radchenko 

ob-shell: Arrange unique prompt in manually started shell buffers

* lisp/ob-shell.el (org-babel-sh--prompt-initialized): New variable
flag that indicates whether ob-shell changed the prompt in current
comint buffer.
(org-babel-sh-initiate-session): Set unique prompt in existing
sessions if it is not yet done.

Link: https://orgmode.org/list/87o782gx7o.fsf@localhost
---
 lisp/ob-shell.el | 18 ++
 1 file changed, 14 insertions(+), 4 deletions(-)

diff --git a/lisp/ob-shell.el b/lisp/ob-shell.el
index 9222379a3f..7b0d6ddab0 100644
--- a/lisp/ob-shell.el
+++ b/lisp/ob-shell.el
@@ -276,16 +276,25 @@ var of the same value."
 (defvar org-babel-sh-prompt "org_babel_sh_prompt> "
   "String to set prompt in session shell.")
 
+(defvar-local org-babel-sh--prompt-initialized nil
+  "When non-nil, ob-shell already initialized the prompt in current buffer.")
+
 (defalias 'org-babel-shell-initiate-session #'org-babel-sh-initiate-session)
 (defun org-babel-sh-initiate-session (&optional session _params)
   "Initiate a session named SESSION according to PARAMS."
   (when (and session (not (string= session "none")))
 (save-window-excursion
-  (or (org-babel-comint-buffer-livep session)
+  (or (and (org-babel-comint-buffer-livep session)
+   (buffer-local-value
+'org-babel-sh--prompt-initialized
+(get-buffer session))
+   session)
   (progn
-   (shell session)
-;; Set unique prompt for easier analysis of the output.
-(org-babel-comint-wait-for-output (current-buffer))
+(if (org-babel-comint-buffer-livep session)
+(set-buffer session)
+ (shell session)
+  ;; Set unique prompt for easier analysis of the output.
+  (org-babel-comint-wait-for-output (current-buffer)))
 (org-babel-comint-input-command
  (current-buffer)
  (format
@@ -298,6 +307,7 @@ var of the same value."
  comint-prompt-regexp
  (concat "^" (regexp-quote org-babel-sh-prompt)
  " *"))
+(setq org-babel-sh--prompt-initialized t)
;; Needed for Emacs 23 since the marker is initially
;; undefined and the filter functions try to use it without
;; checking.



[elpa] externals-release/org b7026cf3e8 2/2: lisp/ox-html.el (org-html-fontify-code): Improve warning text

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

lisp/ox-html.el (org-html-fontify-code): Improve warning text

The old text may be confusing because it sounds like an error, except
that it is not.  Make it more clear and also mention relevant
customization.

Reported-by: Angelo Graziosi 
Link: 
https://yhetil.org/emacs-devel/cd5649e9-0e4f-41e9-8c2f-1a060d721...@libero.it
---
 lisp/ox-html.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lisp/ox-html.el b/lisp/ox-html.el
index d1687cf5a8..446698758c 100644
--- a/lisp/ox-html.el
+++ b/lisp/ox-html.el
@@ -2351,7 +2351,7 @@ is the language used for CODE, as a string, or nil."
  ((not (progn (require 'htmlize nil t)
(fboundp 'htmlize-region-for-paste)))
   ;; Emit a warning.
-  (warn "Cannot fontify source block (htmlize.el >= 1.34 required)")
+  (warn "Cannot fontify source block (htmlize.el >= 1.34 required).  
Falling back to plain text.  (see `org-html-htmlize-output-type')")
   (org-html-encode-plain-text code))
  (t
   ;; Map language



[nongnu] elpa/git-commit eb0b81e71d: Remove obsolete advice for Tramp

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

Remove obsolete advice for Tramp

Since Emacs 25.1 [1: cd22fd754b7] Tramp respects let-bound additions to
`process-environment' on its own.  It uses "env" for that purpose, like
our advice did.  This could result in two calls to "env" being used.

(`tramp-sh-handle-start-file-process' was replace with
`tramp-handle-start-file-process' in Emacs 27.1 [2: a94ac604d8c], so
in that case our advice for the former didn't do anything anymore.)

Closes #5109.

1: 2014-11-22 cd22fd754b71ff64bbabd05bb6df2df8fa5a8915
   Propagate remote process environment.

2: 2018-12-24 a94ac604d8c9848b0414ade80a1920b345161656
   Provide tramp-sh-handle-make-process
---
 lisp/magit-git.el | 11 ++-
 lisp/magit-process.el | 22 +-
 2 files changed, 3 insertions(+), 30 deletions(-)

diff --git a/lisp/magit-git.el b/lisp/magit-git.el
index 580043043b..b8c07d0d6b 100644
--- a/lisp/magit-git.el
+++ b/lisp/magit-git.el
@@ -2421,8 +2421,6 @@ and this option only controls what face is used.")
 (point-min) (point-max) buffer-file-name t nil nil t)
,@body)))
 
-(defvar magit-tramp-process-environment nil)
-
 (defmacro magit-with-temp-index (tree arg &rest body)
   (declare (indent 2) (debug (form form body)))
   (let ((file (cl-gensym "file")))
@@ -2436,13 +2434,8 @@ and this option only controls what face is used.")
(unless (magit-git-success "read-tree" ,arg tree
   (concat "--index-output=" ,file))
  (error "Cannot read tree %s" tree)))
- (if (file-remote-p default-directory)
- (let ((magit-tramp-process-environment
-(cons (concat "GIT_INDEX_FILE=" ,file)
-  magit-tramp-process-environment)))
-   ,@body)
-   (with-environment-variables (("GIT_INDEX_FILE" ,file))
- ,@body)))
+ (with-environment-variables (("GIT_INDEX_FILE" ,file))
+   ,@body))
  (ignore-errors
(delete-file (concat (file-remote-p default-directory) ,file)))
 
diff --git a/lisp/magit-process.el b/lisp/magit-process.el
index ae2bf1fb22..e80d9926e4 100644
--- a/lisp/magit-process.el
+++ b/lisp/magit-process.el
@@ -451,8 +451,7 @@ conversion."
 (defun magit-process-environment ()
   ;; The various w32 hacks are only applicable when running on the local
   ;; machine.  A local binding of process-environment different from the
-  ;; top-level value affects the environment used in
-  ;; tramp-sh-handle-{start-file-process,process-file}.
+  ;; top-level value affects the environment used by Tramp.
   (let ((local (not (file-remote-p default-directory
 (append magit-git-environment
 (and local
@@ -1019,25 +1018,6 @@ as argument."
 
 (add-hook 'magit-credential-hook #'magit-maybe-start-credential-cache-daemon)
 
-(define-advice tramp-sh-handle-start-file-process
-(:around (fn name buffer program &rest args)
- magit-tramp-process-environment)
-  (if magit-tramp-process-environment
-  (apply fn name buffer
- (car magit-tramp-process-environment)
- (append (cdr magit-tramp-process-environment)
- (cons program args)))
-(apply fn name buffer program args)))
-
-(define-advice tramp-sh-handle-process-file
-(:around (fn program &optional infile destination display &rest args)
- magit-tramp-process-environment)
-  (if magit-tramp-process-environment
-  (apply fn "env" infile destination display
- (append magit-tramp-process-environment
- (cons program args)))
-(apply fn program infile destination display args)))
-
 (defvar-keymap magit-mode-line-process-map
   :doc "Keymap for `mode-line-process'."
   " " 'magit-process-buffer)



[nongnu] elpa/magit updated (87fe66662a -> eb0b81e71d)

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

  from  87fe2a magit-diff-working-tree: Change diff type to committed
  adds  eb0b81e71d Remove obsolete advice for Tramp

No new revisions were added by this update.

Summary of changes:
 lisp/magit-git.el | 11 ++-
 lisp/magit-process.el | 22 +-
 2 files changed, 3 insertions(+), 30 deletions(-)



[nongnu] elpa/magit-section updated (87fe66662a -> eb0b81e71d)

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

  from  87fe2a magit-diff-working-tree: Change diff type to committed
  adds  eb0b81e71d Remove obsolete advice for Tramp

No new revisions were added by this update.

Summary of changes:
 lisp/magit-git.el | 11 ++-
 lisp/magit-process.el | 22 +-
 2 files changed, 3 insertions(+), 30 deletions(-)



[nongnu] elpa/orgit 7159e23719: Depend on Emacs 26.1

2024-08-05 Thread ELPA Syncer
branch: elpa/orgit
commit 7159e237191c35b1ee19a417a9824db89eb2d39d
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

Depend on Emacs 26.1
---
 orgit.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/orgit.el b/orgit.el
index ea3e63d5ce..428ae1afa6 100644
--- a/orgit.el
+++ b/orgit.el
@@ -8,7 +8,7 @@
 
 ;; Package-Version: 1.9.0
 ;; Package-Requires: (
-;; (emacs "25.1")
+;; (emacs "26.1")
 ;; (compat "30.0.0.0")
 ;; (magit "3.3.0")
 ;; (org "9.6.5"))



[nongnu] elpa/with-editor 75a1d615db: Depend on Emacs 26.1

2024-08-05 Thread ELPA Syncer
branch: elpa/with-editor
commit 75a1d615db0d08a4a79f356da7978dbc1c91382a
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

Depend on Emacs 26.1
---
 lisp/with-editor.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lisp/with-editor.el b/lisp/with-editor.el
index bef3de9246..02f4c9c97b 100644
--- a/lisp/with-editor.el
+++ b/lisp/with-editor.el
@@ -7,7 +7,7 @@
 ;; Keywords: processes terminals
 
 ;; Package-Version: 3.4.0
-;; Package-Requires: ((emacs "25.1") (compat "30.0.0.0"))
+;; Package-Requires: ((emacs "26.1") (compat "30.0.0.0"))
 
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 



[elpa] externals/org 7fd80991c3: org-persist: Fix regression after 95f77669e0

2024-08-05 Thread ELPA Syncer
branch: externals/org
commit 7fd80991c3d67acd05b3c18d51d99c2a6d135dfb
Author: Ihor Radchenko 
Commit: Ihor Radchenko 

org-persist: Fix regression after 95f77669e0

* lisp/org-persist.el (org-persist--find-index):
(org-persist--add-to-index):
(org-persist--remove-from-index): Do not assume that every container
is a list of other containers.
---
 lisp/org-persist.el | 15 ---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/lisp/org-persist.el b/lisp/org-persist.el
index 7ff6c07310..4128260d5e 100644
--- a/lisp/org-persist.el
+++ b/lisp/org-persist.el
@@ -533,7 +533,10 @@ FORMAT and ARGS are passed to `message'."
 (org-persist-collection-let collection
   (and org-persist--index-hash
(catch :found
- (dolist (cont (cons container container))
+ (dolist (cont
+  (if (listp (car container)) ; container group
+  (cons container container)
+(list container)))
(let (r)
  (setq r (or (gethash (cons cont associated) 
org-persist--index-hash)
  (and path (gethash (cons cont (list :file path)) 
org-persist--index-hash))
@@ -566,7 +569,10 @@ Return PLIST."
 existing)
 (unless hash-only (push collection org-persist--index))
 (unless org-persist--index-hash (setq org-persist--index-hash 
(make-hash-table :test 'equal)))
-(dolist (cont (cons container container))
+(dolist (cont
+ (if (listp (car container)) ; container group
+ (cons container container)
+   (list container)))
   (puthash (cons cont associated) collection org-persist--index-hash)
   (when path (puthash (cons cont (list :file path)) collection 
org-persist--index-hash))
   (when inode (puthash (cons cont (list :inode inode)) collection 
org-persist--index-hash))
@@ -579,7 +585,10 @@ Return PLIST."
   (let ((existing (org-persist--find-index collection)))
 (when existing
   (org-persist-collection-let collection
-(dolist (cont (cons container container))
+(dolist (cont
+ (if (listp (car container)) ; container group
+ (cons container container)
+   (list container)))
   (unless (listp (car container))
 (org-persist-gc:generic cont collection)
 (dolist (afile (org-persist-associated-files:generic cont 
collection))



[nongnu] elpa/hyperdrive fef7847707 06/20: Change: (h/forget-file) Invalidate EWOC node to refresh size face

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

Change: (h/forget-file) Invalidate EWOC node to refresh size face
---
 hyperdrive.el | 18 --
 1 file changed, 16 insertions(+), 2 deletions(-)

diff --git a/hyperdrive.el b/hyperdrive.el
index a29d43727b..a0cb2590d3 100644
--- a/hyperdrive.el
+++ b/hyperdrive.el
@@ -201,8 +201,22 @@ modified; file blobs may be recoverable from other peers."
   :headers '(("Cache-Control" . "no-store"))
   :else (lambda (err)
   (h/error "Unable to clear cache for `%s': %S" (he/url entry) 
err))
-  :then (lambda (_response)
-  (h/message "Cleared `%s'" (h//format-entry entry))
+  :then (lambda (response)
+  (he//fill entry (plz-response-headers response))
+  ;; Update the face showing the file size in any directory buffer.
+  (when-let* ((buffer (hyperdrive--find-buffer-visiting
+   (hyperdrive-parent entry)))
+  (ewoc (buffer-local-value 'h/ewoc buffer))
+  (node (h/ewoc-find-node ewoc entry
+  :predicate #'he/equal-p)))
+(ewoc-set-data node entry)
+;; NOTE: Ensure that the buffer's window is selected,
+;; if it has one.  (Workaround a possible bug in EWOC.)
+(if-let ((buffer-window (get-buffer-window (ewoc-buffer 
ewoc
+(with-selected-window buffer-window
+  (with-silent-modifications (ewoc-invalidate ewoc node)))
+  (with-current-buffer (ewoc-buffer ewoc)
+(with-silent-modifications (ewoc-invalidate ewoc 
node)
 
 ;;;###autoload
 (defun hyperdrive-purge (hyperdrive)



[nongnu] elpa/hyperdrive 83bc480440 03/20: Change: (he//fill) Fill etc slot: blocks, blocks-downloaded

2024-08-05 Thread ELPA Syncer
branch: elpa/hyperdrive
commit 83bc48044021206fcec7055b2cdb9e2fb01a2e55
Author: Joseph Turner 
Commit: Joseph Turner 

Change: (he//fill) Fill etc slot: blocks, blocks-downloaded
---
 hyperdrive-lib.el | 15 ++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/hyperdrive-lib.el b/hyperdrive-lib.el
index 83704d2d25..b12b800785 100644
--- a/hyperdrive-lib.el
+++ b/hyperdrive-lib.el
@@ -715,12 +715,17 @@ the given `plz-queue'"
 - \\+`type'
 - \\+`mtime'
 - \\+`size'
+- \\+`etc'
+  - \\+`block-length'
+  - \\+`block-length-downloaded'
 
 Also fills existent range in `hyperdrive-version-ranges'.
 
 Returns filled ENTRY."
   (pcase-let*
-  (((map content-length content-type etag last-modified) headers))
+  (((map content-length content-type etag last-modified
+ x-file-block-length x-file-block-length-downloaded)
+headers))
 (when last-modified
   (setf last-modified (encode-time (parse-time-string last-modified
 (setf (he/size entry) (and content-length
@@ -731,6 +736,14 @@ Returns filled ENTRY."
 (when (and etag (not (h//entry-directory-p entry)))
   ;; Directory version ranges are not supported.
   (h/update-existent-version-range entry (string-to-number etag)))
+(when x-file-block-length
+  (setf (map-elt (he/etc entry) 'block-length)
+(ignore-errors
+  (cl-parse-integer x-file-block-length
+(when x-file-block-length-downloaded
+  (setf (map-elt (he/etc entry) 'block-length-downloaded)
+(ignore-errors
+  (cl-parse-integer x-file-block-length-downloaded
 entry))
 
 (defun h//fill-listing-entries (listing hyperdrive version)



[nongnu] elpa/hyperdrive d4bbc14823 05/20: Change: (h//history--format-range-entry) Faces for download state

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

Change: (h//history--format-range-entry) Faces for download state
---
 hyperdrive-history.el | 13 ++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/hyperdrive-history.el b/hyperdrive-history.el
index b6caaeeeff..0cb074ea79 100644
--- a/hyperdrive-history.el
+++ b/hyperdrive-history.el
@@ -61,7 +61,7 @@ value \\+`unknown', and whose cdr is a hyperdrive entry."
   (pcase-let*
   ((`(,range . ,entry) range-entry)
(`(,range-start . ,(map :range-end :existsp)) range)
-   ((cl-struct hyperdrive-entry size mtime) entry)
+   ((cl-struct hyperdrive-entry size mtime etc) entry)
(formatted-range (if (eq range-start range-end)
 (format "%d" range-start)
   (format "%d-%d" range-start range-end)))
@@ -72,7 +72,8 @@ value \\+`unknown', and whose cdr is a hyperdrive entry."
(size (and size (file-size-human-readable size)))
(timestamp (if mtime
   (format-time-string h/timestamp-format mtime)
-(propertize " " 'display '(space :width 
h/timestamp-width)
+(propertize " " 'display '(space :width 
h/timestamp-width
+   ((map block-length block-length-downloaded) etc))
 ;; FIXME: Use dynamic width of range column equal to 2N+1, where N
 ;; is the width of the hyperdrive's latest version
 (format
@@ -91,7 +92,13 @@ value \\+`unknown', and whose cdr is a hyperdrive entry."
   ('unknown "Load history at version %s"))
 range-start))
  (propertize (or size "")
- 'face 'h/size)
+ 'face (and block-length-downloaded block-length
+(pcase block-length-downloaded
+  (0 'h/size-not-downloaded)
+  ((pred (= block-length)) 
'h/size-fully-downloaded)
+  (_ 'h/size-partially-downloaded)))
+ 'help-echo (format "%s of %s blocks downloaded"
+block-length-downloaded block-length))
  (propertize (or timestamp "")
  'face 'h/timestamp
 



[nongnu] elpa/hyperdrive 5291373a40 02/20: Change: (h//fill-listing-entries) Fill blocks, blocks-downloaded

2024-08-05 Thread ELPA Syncer
branch: elpa/hyperdrive
commit 5291373a40cc55e1c3c60bae5386eaea6fbffc23
Author: Joseph Turner 
Commit: Joseph Turner 

Change: (h//fill-listing-entries) Fill blocks, blocks-downloaded
---
 hyperdrive-lib.el | 8 +++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/hyperdrive-lib.el b/hyperdrive-lib.el
index 5b0419f690..83704d2d25 100644
--- a/hyperdrive-lib.el
+++ b/hyperdrive-lib.el
@@ -740,15 +740,21 @@ LISTING should be an alist based on the JSON retrieved 
in, e.g.,
 `hyperdrive-dir-handler'.  Fills existent version ranges for each
 entry as a side-effect."
   (mapcar
-   (pcase-lambda ((map seq key value))
+   (pcase-lambda ((map seq key value blockLengthDownloaded))
  (let* ((mtime (map-elt (map-elt value 'metadata) 'mtime))
 (size (map-elt (map-elt value 'blob) 'byteLength))
+(block-length (map-elt (map-elt value 'blob) 'blockLength))
 (entry (he/create
 :hyperdrive hyperdrive :path key :version version)))
(when mtime ; mtime is milliseconds since epoch
  (setf (he/mtime entry) (seconds-to-time (/ mtime 1000.0
(when size
  (setf (he/size entry) size))
+   (when block-length
+ (setf (map-elt (he/etc entry) 'block-length) block-length))
+   (when blockLengthDownloaded
+ (setf (map-elt (he/etc entry) 'block-length-downloaded)
+   blockLengthDownloaded))
(when seq
  ;; seq is the hyperdrive version *before* the entry was added/modified
  (hyperdrive-update-existent-version-range entry (1+ seq)))



[nongnu] elpa/hyperdrive fcd07bbe46 10/20: Change: (hyperdrive-dir-handler) Remove call to he//fill

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

Change: (hyperdrive-dir-handler) Remove call to he//fill

At this point, he//fill only updates version range data which is not
relevant to directory entries.
---
 hyperdrive-dir.el | 1 -
 1 file changed, 1 deletion(-)

diff --git a/hyperdrive-dir.el b/hyperdrive-dir.el
index 09679b503a..70397ada21 100644
--- a/hyperdrive-dir.el
+++ b/hyperdrive-dir.el
@@ -72,7 +72,6 @@ If THEN, call it in the directory buffer with no arguments."
(json-read-from-string body)
hyperdrive version))
  (parent-entry (h/parent directory-entry)))
-  (setf directory-entry (he//fill directory-entry headers))
   (when parent-entry
 (setf (alist-get 'display-name (he/etc parent-entry)) 
"../")
 (push parent-entry entries))



[nongnu] elpa/hyperdrive 8bf9c94886 04/20: Change: (h/dir--format-entry) Faces for download state

2024-08-05 Thread ELPA Syncer
branch: elpa/hyperdrive
commit 8bf9c94886d0912f8e52db909de64f8a877d3b97
Author: Joseph Turner 
Commit: Joseph Turner 

Change: (h/dir--format-entry) Faces for download state
---
 hyperdrive-dir.el  | 16 
 hyperdrive-vars.el |  9 +
 2 files changed, 21 insertions(+), 4 deletions(-)

diff --git a/hyperdrive-dir.el b/hyperdrive-dir.el
index 2dd6b622d8..09679b503a 100644
--- a/hyperdrive-dir.el
+++ b/hyperdrive-dir.el
@@ -160,16 +160,24 @@ To be used as the pretty-printer for `ewoc-create'."
 (defun h/dir--format-entry (entry)
   "Return ENTRY formatted as a string."
   (pcase-let*
-  (((cl-struct hyperdrive-entry size mtime) entry)
+  (((cl-struct hyperdrive-entry size mtime etc) entry)
(size (and size (file-size-human-readable size)))
(directoryp (h//entry-directory-p entry))
(face (if directoryp 'h/directory 'default))
(timestamp (if mtime
   (format-time-string h/timestamp-format mtime)
-(propertize " " 'display '(space :width 
h/timestamp-width)
+(propertize " " 'display '(space :width 
h/timestamp-width
+   ((map block-length block-length-downloaded) etc))
 (format "%6s  %s  %s"
-(propertize (or size "")
-'face 'h/size)
+(propertize
+ (or size "")
+ 'face (and block-length-downloaded block-length
+(pcase block-length-downloaded
+  (0 'h/size-not-downloaded)
+  ((pred (= block-length)) 'h/size-fully-downloaded)
+  (_ 'h/size-partially-downloaded)))
+ 'help-echo (format "%s of %s blocks downloaded"
+block-length-downloaded block-length))
 (propertize timestamp
 'face 'h/timestamp)
 (propertize (or (alist-get 'display-name (he/etc entry))
diff --git a/hyperdrive-vars.el b/hyperdrive-vars.el
index 8102ffdb74..12daf19ac6 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/size-fully-downloaded '((t (:inherit success)))
+  "File sizes for entries which have been fully downloaded.")
+
+(defface h/size-not-downloaded '((t (:inherit error)))
+  "File sizes for entries which have not been downloaded.")
+
+(defface h/size-partially-downloaded '((t (:inherit warning)))
+  "File sizes for entries which have been partially downloaded.")
+
 (defface h/timestamp '((t (:inherit default)))
   "Entry timestamp.")
 



[nongnu] elpa/hyperdrive 3fff771e5c 16/20: Meta: Update changelog

2024-08-05 Thread ELPA Syncer
branch: elpa/hyperdrive
commit 3fff771e5c15083be81520c41b4c16756d08d663
Author: Joseph Turner 
Commit: Joseph Turner 

Meta: Update changelog
---
 CHANGELOG.org | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/CHANGELOG.org b/CHANGELOG.org
index 8367842cce..a151fb59ad 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -31,6 +31,8 @@ space by "forgetting" your copy of a file 
(~hyperdrive-forget-file~)!
 - View hyperdrive disk usage with ~hyperdrive-describe~ and ~hyperdrive-menu~.
 - Delete the local copy of a file or directory with
   ~hyperdrive-forget-file~, also bound in ~hyperdrive-menu~ and menu bar.
+- Indicate how much of a file has already been downloaded based on the
+  color of its file size in the directory view.
 
 ** Changed
 



[nongnu] elpa/hyperdrive 047abe89e2 17/20: Merge: Show how much of a file is downloaded in directory view

2024-08-05 Thread ELPA Syncer
branch: elpa/hyperdrive
commit 047abe89e265ac8e52ddb8a20c11ebc92c00b76d
Merge: 4c5fc6ca76 3fff771e5c
Author: Joseph Turner 
Commit: Joseph Turner 

Merge: Show how much of a file is downloaded in directory view

Also, move entry filling logic into he//api-then to avoid having to
invoke h//fill in the callback of all requests which download a file
or clear its blob from the local cache.
---
 CHANGELOG.org |  2 ++
 doc/hyperdrive.org| 22 ++
 doc/hyperdrive.texi   | 28 +++
 hyperdrive-dir.el | 17 +-
 hyperdrive-ewoc.el| 18 +++
 hyperdrive-history.el | 13 ---
 hyperdrive-lib.el | 62 ++-
 hyperdrive-vars.el| 11 -
 hyperdrive.el | 31 --
 9 files changed, 149 insertions(+), 55 deletions(-)

diff --git a/CHANGELOG.org b/CHANGELOG.org
index 8367842cce..a151fb59ad 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -31,6 +31,8 @@ space by "forgetting" your copy of a file 
(~hyperdrive-forget-file~)!
 - View hyperdrive disk usage with ~hyperdrive-describe~ and ~hyperdrive-menu~.
 - Delete the local copy of a file or directory with
   ~hyperdrive-forget-file~, also bound in ~hyperdrive-menu~ and menu bar.
+- Indicate how much of a file has already been downloaded based on the
+  color of its file size in the directory view.
 
 ** Changed
 
diff --git a/doc/hyperdrive.org b/doc/hyperdrive.org
index 320fe36026..3d2bc7bfcf 100644
--- a/doc/hyperdrive.org
+++ b/doc/hyperdrive.org
@@ -221,9 +221,18 @@ hyperdrives you've already created or visited:
 
 *** Directory view
 
-~hyperdrive.el~ offers a Dired-like (see [[info:emacs#Dired]]) interface for
-exploring hyperdrive directories.  The following keybindings are
-available inside the directory view by default:
+~hyperdrive.el~ offers a Dired-like (see [[info:emacs#Dired]]) interface
+for exploring hyperdrive directories.  In the directory view, the file
+size color indicates how much of a file you have already downloaded:
+
+- green :: fully downloaded (~hyperdrive-size-fully-downloaded~)
+- yellow :: partially downloaded (~hyperdrive-size-partially-downloaded~)
+- red :: not downloaded (~hyperdrive-size-not-downloaded~)
+
+Mouse over the file size to see exactly how many blocks make up the
+file and how many of them you have downloaded.
+
+The following bindings are available in the directory view by default:
 
 #+attr_texinfo: :compact t
 - Key: n (hyperdrive-ewoc-next) ::
@@ -463,6 +472,9 @@ This command also has a keybinding in the directory view 
(see
 
 ** Forget a hyperdrive file
 
+*Please note that forgetting a file may result in data loss if it
+cannot be loaded from another peer on the network.*
+
 It is possible to "forget" your local copy of a hyperdrive file in
 order to save disk space.  "Forgetting" a file does not delete the
 file from the hyperdrive and does not increment the hyperdrive's
@@ -473,7 +485,9 @@ version number.
   Delete your local copy of the file for the current buffer.
 
 This command also has a keybinding in the directory view (see
-[[*Directory view]]).
+[[*Directory view]]).  When you forget a file, the file size of its
+directory listing will turn red, indicating that you no longer have a
+copy of the file.
 
 ** View the hyperdrive version history
 
diff --git a/doc/hyperdrive.texi b/doc/hyperdrive.texi
index f787d9c931..73dceeb4d2 100644
--- a/doc/hyperdrive.texi
+++ b/doc/hyperdrive.texi
@@ -46,6 +46,7 @@ Repository: @uref{https://git.sr.ht/~ushin/hyperdrive.el}
 @end itemize
 
 This manual is for @code{hyperdrive.el} version 0.4-pre.
+
 @end ifnottex
 
 @menu
@@ -444,9 +445,23 @@ Like @code{hyperdrive-find-file}, but open the file in 
@ref{View Mode,view-mode,
 @node Directory view
 @subsection Directory view
 
-@code{hyperdrive.el} offers a Dired-like (see @ref{Dired,,,emacs,}) interface 
for
-exploring hyperdrive directories.  The following keybindings are
-available inside the directory view by default:
+@code{hyperdrive.el} offers a Dired-like (see @ref{Dired,,,emacs,}) interface
+for exploring hyperdrive directories.  In the directory view, the file
+size color indicates how much of a file you have already downloaded:
+
+@table @asis
+@item green
+fully downloaded (@code{hyperdrive-size-fully-downloaded})
+@item yellow
+partially downloaded (@code{hyperdrive-size-partially-downloaded})
+@item red
+not downloaded (@code{hyperdrive-size-not-downloaded})
+@end table
+
+Mouse over the file size to see exactly how many blocks make up the
+file and how many of them you have downloaded.
+
+The following bindings are available in the directory view by default:
 
 @table @asis
 @item @kbd{n} (@code{hyperdrive-ewoc-next})
@@ -737,6 +752,9 @@ This command also has a keybinding in the directory view 
(see
 @node Forget a hyperdrive file
 @section Forget a hyperdrive file
 
+@strong{Please note that forgetting a file may result in data loss 

[nongnu] elpa/hyperdrive 6cf8c74290 13/20: Comment: Remove TODO

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

Comment: Remove TODO

It appears that SourceHut builds are working again!
---
 hyperdrive.el | 2 --
 1 file changed, 2 deletions(-)

diff --git a/hyperdrive.el b/hyperdrive.el
index ba7fc76be0..d5d98e665f 100644
--- a/hyperdrive.el
+++ b/hyperdrive.el
@@ -1384,8 +1384,6 @@ Intended for relative (i.e. non-full) URLs."
 ; Installation
 
 (defvar h/gateway-urls-and-hashes
-  ;; TODO: sr.ht build ()
-  ;; fail due to a kernel issue: https://github.com/nodejs/node/issues/53051
   '((gnu/linux
  ( :url 
"https://codeberg.org/USHIN/hyper-gateway-ushin/releases/download/v3.11.0/hyper-gateway-ushin-linux";
:sha256 
"2074ec69c3e699105e132e774996c15ba3d9f14019f0cf5bc1bd15c35f7524c7")



[nongnu] elpa/hyperdrive 4768ce0640 18/20: Fix: (he//api-then) Only fill h/latest-version with latest version

2024-08-05 Thread ELPA Syncer
branch: elpa/hyperdrive
commit 4768ce06401320f96ad58f4b95049273a6d6224e
Author: Joseph Turner 
Commit: Joseph Turner 

Fix: (he//api-then) Only fill h/latest-version with latest version
---
 hyperdrive-lib.el | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/hyperdrive-lib.el b/hyperdrive-lib.el
index 1c3eac480c..5202629417 100644
--- a/hyperdrive-lib.el
+++ b/hyperdrive-lib.el
@@ -262,7 +262,9 @@ version.  Finally, persists ENTRY's hyperdrive."
 (when x-drive-size
   (setf (map-elt (h/etc (he/hyperdrive entry)) 'disk-usage)
 (cl-parse-integer x-drive-size)))
-(when x-drive-version
+(when (and x-drive-version
+   ;; If version is specified, x-drive-size will be equal to it.
+   (null (he/version entry)))
   (setf (h/latest-version (he/hyperdrive entry))
 (string-to-number x-drive-version)))
 ;; TODO: Update buffers like h/describe-hyperdrive after updating drive.



[nongnu] elpa/hyperdrive dbc2f2075c 19/20: Remove spurious NOTES.org file

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

Remove spurious NOTES.org file
---
 NOTES.org | 1 -
 1 file changed, 1 deletion(-)

diff --git a/NOTES.org b/NOTES.org
deleted file mode 100644
index feac7cec30..00
--- a/NOTES.org
+++ /dev/null
@@ -1 +0,0 @@
-The notes file is in the "meta/notes" branch.
\ No newline at end of file



[nongnu] elpa/hyperdrive updated (4c5fc6ca76 -> e2803b2290)

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

  from  4c5fc6ca76 Merge: Download monitor fixes/improvements
   new  af85d6a79b Change: (h/entry) Note blocks, blocks-downloaded in etc 
slot
   new  5291373a40 Change: (h//fill-listing-entries) Fill blocks, 
blocks-downloaded
   new  83bc480440 Change: (he//fill) Fill etc slot: blocks, 
blocks-downloaded
   new  8bf9c94886 Change: (h/dir--format-entry) Faces for download state
   new  d4bbc14823 Change: (h//history--format-range-entry) Faces for 
download state
   new  fef7847707 Change: (h/forget-file) Invalidate EWOC node to refresh 
size face
   new  1d719631f0 Fix: (he//fill) Don't set nil values
   new  14f0bd4aeb Add: (he//invalidate) Move into separate function
   new  8f44b09e9f Change: (he//api-then) Fill entry metadata
   new  fcd07bbe46 Change: (hyperdrive-dir-handler) Remove call to he//fill
   new  b10d5da0e2 Change: (he//api-then) Invalidate entry after filling 
metadata
   new  e9eb705e85 Meta: Bump hyper-gateway-ushin to 3.11.0: 
Block-Length{,-Downloaded}
   new  6cf8c74290 Comment: Remove TODO
   new  a26e5e5b0a Docs: Document meaning of directory view file size color
   new  d3c6d26dab Docs: Add warning about forgetting files
   new  3fff771e5c Meta: Update changelog
   new  047abe89e2 Merge: Show how much of a file is downloaded in 
directory view
   new  4768ce0640 Fix: (he//api-then) Only fill h/latest-version with 
latest version
   new  dbc2f2075c Remove spurious NOTES.org file
   new  e2803b2290 Docs: Typo


Summary of changes:
 CHANGELOG.org |  2 ++
 NOTES.org |  1 -
 doc/hyperdrive.org| 22 ++---
 doc/hyperdrive.texi   | 28 ++---
 hyperdrive-dir.el | 17 +
 hyperdrive-ewoc.el| 18 ++
 hyperdrive-history.el | 13 +++---
 hyperdrive-lib.el | 68 ++-
 hyperdrive-vars.el| 11 -
 hyperdrive.el | 31 +++
 10 files changed, 153 insertions(+), 58 deletions(-)
 delete mode 100644 NOTES.org



[nongnu] elpa/hyperdrive 1d719631f0 07/20: Fix: (he//fill) Don't set nil values

2024-08-05 Thread ELPA Syncer
branch: elpa/hyperdrive
commit 1d719631f0ba53fc1a39c7f5ca6fff450f422076
Author: Joseph Turner 
Commit: Joseph Turner 

Fix: (he//fill) Don't set nil values

The POST request to clear the cache has neither Content-Length nor
Last-Modified headers, and so we should not overwrite an entry's
existing size or mtime slots if the current response headers are nil.
---
 hyperdrive-lib.el | 12 +++-
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/hyperdrive-lib.el b/hyperdrive-lib.el
index b12b800785..1794821e49 100644
--- a/hyperdrive-lib.el
+++ b/hyperdrive-lib.el
@@ -728,11 +728,13 @@ Returns filled ENTRY."
 headers))
 (when last-modified
   (setf last-modified (encode-time (parse-time-string last-modified
-(setf (he/size entry) (and content-length
-   (ignore-errors
- (cl-parse-integer content-length
-(setf (he/type entry) content-type)
-(setf (he/mtime entry) last-modified)
+(when content-length
+  (setf (he/size entry)
+(ignore-errors (cl-parse-integer content-length
+(when content-type
+  (setf (he/type entry) content-type))
+(when last-modified
+  (setf (he/mtime entry) last-modified))
 (when (and etag (not (h//entry-directory-p entry)))
   ;; Directory version ranges are not supported.
   (h/update-existent-version-range entry (string-to-number etag)))



[nongnu] elpa/hyperdrive a26e5e5b0a 14/20: Docs: Document meaning of directory view file size color

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

Docs: Document meaning of directory view file size color
---
 doc/hyperdrive.org  | 19 +++
 doc/hyperdrive.texi | 25 +
 2 files changed, 36 insertions(+), 8 deletions(-)

diff --git a/doc/hyperdrive.org b/doc/hyperdrive.org
index 320fe36026..ff9bce7c2f 100644
--- a/doc/hyperdrive.org
+++ b/doc/hyperdrive.org
@@ -221,9 +221,18 @@ hyperdrives you've already created or visited:
 
 *** Directory view
 
-~hyperdrive.el~ offers a Dired-like (see [[info:emacs#Dired]]) interface for
-exploring hyperdrive directories.  The following keybindings are
-available inside the directory view by default:
+~hyperdrive.el~ offers a Dired-like (see [[info:emacs#Dired]]) interface
+for exploring hyperdrive directories.  In the directory view, the file
+size color indicates how much of a file you have already downloaded:
+
+- green :: fully downloaded (~hyperdrive-size-fully-downloaded~)
+- yellow :: partially downloaded (~hyperdrive-size-partially-downloaded~)
+- red :: not downloaded (~hyperdrive-size-not-downloaded~)
+
+Mouse over the file size to see exactly how many blocks make up the
+file and how many of them you have downloaded.
+
+The following bindings are available in the directory view by default:
 
 #+attr_texinfo: :compact t
 - Key: n (hyperdrive-ewoc-next) ::
@@ -473,7 +482,9 @@ version number.
   Delete your local copy of the file for the current buffer.
 
 This command also has a keybinding in the directory view (see
-[[*Directory view]]).
+[[*Directory view]]).  When you forget a file, the file size of its
+directory listing will turn red, indicating that you no longer have a
+copy of the file.
 
 ** View the hyperdrive version history
 
diff --git a/doc/hyperdrive.texi b/doc/hyperdrive.texi
index f787d9c931..1e1f2653a4 100644
--- a/doc/hyperdrive.texi
+++ b/doc/hyperdrive.texi
@@ -46,6 +46,7 @@ Repository: @uref{https://git.sr.ht/~ushin/hyperdrive.el}
 @end itemize
 
 This manual is for @code{hyperdrive.el} version 0.4-pre.
+
 @end ifnottex
 
 @menu
@@ -444,9 +445,23 @@ Like @code{hyperdrive-find-file}, but open the file in 
@ref{View Mode,view-mode,
 @node Directory view
 @subsection Directory view
 
-@code{hyperdrive.el} offers a Dired-like (see @ref{Dired,,,emacs,}) interface 
for
-exploring hyperdrive directories.  The following keybindings are
-available inside the directory view by default:
+@code{hyperdrive.el} offers a Dired-like (see @ref{Dired,,,emacs,}) interface
+for exploring hyperdrive directories.  In the directory view, the file
+size color indicates how much of a file you have already downloaded:
+
+@table @asis
+@item green
+fully downloaded (@code{hyperdrive-size-fully-downloaded})
+@item yellow
+partially downloaded (@code{hyperdrive-size-partially-downloaded})
+@item red
+not downloaded (@code{hyperdrive-size-not-downloaded})
+@end table
+
+Mouse over the file size to see exactly how many blocks make up the
+file and how many of them you have downloaded.
+
+The following bindings are available in the directory view by default:
 
 @table @asis
 @item @kbd{n} (@code{hyperdrive-ewoc-next})
@@ -747,7 +762,9 @@ Delete your local copy of the file for the current buffer.
 @end deffn
 
 This command also has a keybinding in the directory view (see
-@ref{Directory view}).
+@ref{Directory view}).  When you forget a file, the file size of its
+directory listing will turn red, indicating that you no longer have a
+copy of the file.
 
 @node View the hyperdrive version history
 @section View the hyperdrive version history



[nongnu] elpa/hyperdrive b10d5da0e2 11/20: Change: (he//api-then) Invalidate entry after filling metadata

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

Change: (he//api-then) Invalidate entry after filling metadata
---
 hyperdrive-lib.el | 8 +++-
 hyperdrive.el | 5 ++---
 2 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/hyperdrive-lib.el b/hyperdrive-lib.el
index 86ea998347..1c3eac480c 100644
--- a/hyperdrive-lib.el
+++ b/hyperdrive-lib.el
@@ -284,7 +284,13 @@ version.  Finally, persists ENTRY's hyperdrive."
 (when x-file-block-length-downloaded
   (setf (map-elt (he/etc entry) 'block-length-downloaded)
 (ignore-errors
-  (cl-parse-integer x-file-block-length-downloaded))
+  (cl-parse-integer x-file-block-length-downloaded
+
+;; Redisplay entry.
+(unless (h//entry-directory-p entry)
+  ;; There's currently never a reason to redisplay directory entries since
+  ;; they don't have block-length{,-downloaded} metadata.
+  (he//invalidate entry
 
 (defun h/gateway-needs-upgrade-p ()
   "Return non-nil if the gateway is responsive and needs upgraded."
diff --git a/hyperdrive.el b/hyperdrive.el
index 8c28db6e60..4950283034 100644
--- a/hyperdrive.el
+++ b/hyperdrive.el
@@ -201,9 +201,8 @@ modified; file blobs may be recoverable from other peers."
   :headers '(("Cache-Control" . "no-store"))
   :else (lambda (err)
   (h/error "Unable to clear cache for `%s': %S" (he/url entry) 
err))
-  :then (lambda (response)
-  (he//fill entry (plz-response-headers response))
-  (he//invalidate entry)
+  ;; Make async; `he//api-then' will call `he//invalidate'.
+  :then #'ignore)))
 
 ;;;###autoload
 (defun hyperdrive-purge (hyperdrive)



[nongnu] elpa/hyperdrive 8f44b09e9f 09/20: Change: (he//api-then) Fill entry metadata

2024-08-05 Thread ELPA Syncer
branch: elpa/hyperdrive
commit 8f44b09e9fe008ab1495db86b0ec94b7c3e1aea6
Author: Joseph Turner 
Commit: Joseph Turner 

Change: (he//api-then) Fill entry metadata

Moving logic for filling entry metadata into he//api-then lets us
consolidate calls to `hyperdrive-invalidate-entry` as well as logic
for filling entry etc slot values for block-length and
block-length-downloaded.
---
 hyperdrive-lib.el | 59 +++
 1 file changed, 25 insertions(+), 34 deletions(-)

diff --git a/hyperdrive-lib.el b/hyperdrive-lib.el
index 1794821e49..86ea998347 100644
--- a/hyperdrive-lib.el
+++ b/hyperdrive-lib.el
@@ -230,8 +230,11 @@ Sets ENTRY's hyperdrive to the persisted version of the 
drive if
 it exists.  Updates ENTRY's hyperdrive's disk usage and latest
 version.  Finally, persists ENTRY's hyperdrive."
   (pcase-let*
-  (((cl-struct plz-response
-   (headers (map link allow x-drive-size x-drive-version)))
+  (((cl-struct
+ plz-response
+ (headers (map link allow content-length content-type last-modified
+   x-drive-size x-drive-version
+   x-file-block-length x-file-block-length-downloaded)))
 response)
;; RESPONSE is guaranteed to have a "Link" header with the public key,
;; while ENTRY may have a DNSLink domain but no public key yet.
@@ -264,7 +267,24 @@ version.  Finally, persists ENTRY's hyperdrive."
 (string-to-number x-drive-version)))
 ;; TODO: Update buffers like h/describe-hyperdrive after updating drive.
 ;; TODO: Consider debouncing or something for hyperdrive-persist to 
minimize I/O.
-(h/persist (he/hyperdrive entry
+(h/persist (he/hyperdrive entry))
+
+;; Fill entry.
+(when content-length
+  (setf (he/size entry)
+(ignore-errors (cl-parse-integer content-length
+(when content-type
+  (setf (he/type entry) content-type))
+(when last-modified
+  (setf (he/mtime entry) (encode-time (parse-time-string last-modified
+(when x-file-block-length
+  (setf (map-elt (he/etc entry) 'block-length)
+(ignore-errors
+  (cl-parse-integer x-file-block-length
+(when x-file-block-length-downloaded
+  (setf (map-elt (he/etc entry) 'block-length-downloaded)
+(ignore-errors
+  (cl-parse-integer x-file-block-length-downloaded))
 
 (defun h/gateway-needs-upgrade-p ()
   "Return non-nil if the gateway is responsive and needs upgraded."
@@ -710,42 +730,13 @@ the given `plz-queue'"
  :noquery t
 
 (defun he//fill (entry headers)
-  "Fill ENTRY slots from HEADERS.
-
-- \\+`type'
-- \\+`mtime'
-- \\+`size'
-- \\+`etc'
-  - \\+`block-length'
-  - \\+`block-length-downloaded'
-
-Also fills existent range in `hyperdrive-version-ranges'.
+  "Fill existent range for ENTRY in `hyperdrive-version-ranges' from HEADERS.
 
 Returns filled ENTRY."
-  (pcase-let*
-  (((map content-length content-type etag last-modified
- x-file-block-length x-file-block-length-downloaded)
-headers))
-(when last-modified
-  (setf last-modified (encode-time (parse-time-string last-modified
-(when content-length
-  (setf (he/size entry)
-(ignore-errors (cl-parse-integer content-length
-(when content-type
-  (setf (he/type entry) content-type))
-(when last-modified
-  (setf (he/mtime entry) last-modified))
+  (pcase-let (((map etag) headers))
 (when (and etag (not (h//entry-directory-p entry)))
   ;; Directory version ranges are not supported.
   (h/update-existent-version-range entry (string-to-number etag)))
-(when x-file-block-length
-  (setf (map-elt (he/etc entry) 'block-length)
-(ignore-errors
-  (cl-parse-integer x-file-block-length
-(when x-file-block-length-downloaded
-  (setf (map-elt (he/etc entry) 'block-length-downloaded)
-(ignore-errors
-  (cl-parse-integer x-file-block-length-downloaded
 entry))
 
 (defun h//fill-listing-entries (listing hyperdrive version)



[nongnu] elpa/hyperdrive d3c6d26dab 15/20: Docs: Add warning about forgetting files

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

Docs: Add warning about forgetting files
---
 doc/hyperdrive.org  | 3 +++
 doc/hyperdrive.texi | 3 +++
 2 files changed, 6 insertions(+)

diff --git a/doc/hyperdrive.org b/doc/hyperdrive.org
index ff9bce7c2f..3d2bc7bfcf 100644
--- a/doc/hyperdrive.org
+++ b/doc/hyperdrive.org
@@ -472,6 +472,9 @@ This command also has a keybinding in the directory view 
(see
 
 ** Forget a hyperdrive file
 
+*Please note that forgetting a file may result in data loss if it
+cannot be loaded from another peer on the network.*
+
 It is possible to "forget" your local copy of a hyperdrive file in
 order to save disk space.  "Forgetting" a file does not delete the
 file from the hyperdrive and does not increment the hyperdrive's
diff --git a/doc/hyperdrive.texi b/doc/hyperdrive.texi
index 1e1f2653a4..73dceeb4d2 100644
--- a/doc/hyperdrive.texi
+++ b/doc/hyperdrive.texi
@@ -752,6 +752,9 @@ This command also has a keybinding in the directory view 
(see
 @node Forget a hyperdrive file
 @section Forget a hyperdrive file
 
+@strong{Please note that forgetting a file may result in data loss if it
+cannot be loaded from another peer on the network.}
+
 It is possible to ``forget'' your local copy of a hyperdrive file in
 order to save disk space.  ``Forgetting'' a file does not delete the
 file from the hyperdrive and does not increment the hyperdrive's



[nongnu] elpa/hyperdrive e9eb705e85 12/20: Meta: Bump hyper-gateway-ushin to 3.11.0: Block-Length{, -Downloaded}

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

Meta: Bump hyper-gateway-ushin to 3.11.0: Block-Length{,-Downloaded}
---
 hyperdrive-vars.el |  2 +-
 hyperdrive.el  | 25 -
 2 files changed, 13 insertions(+), 14 deletions(-)

diff --git a/hyperdrive-vars.el b/hyperdrive-vars.el
index 12daf19ac6..fc2ede7c43 100644
--- a/hyperdrive-vars.el
+++ b/hyperdrive-vars.el
@@ -381,7 +381,7 @@ values are alists mapping version range starts to plists 
with
 ; Internals
 
 (defvar h/gateway-version-expected
-  '(:name "hyper-gateway-ushin" :version "3.10.2"))
+  '(:name "hyper-gateway-ushin" :version "3.11.0"))
 
 (defvar h/gateway-version-checked-p nil
   "Non-nil if the gateway's version has been checked.
diff --git a/hyperdrive.el b/hyperdrive.el
index 4950283034..ba7fc76be0 100644
--- a/hyperdrive.el
+++ b/hyperdrive.el
@@ -1387,21 +1387,20 @@ Intended for relative (i.e. non-full) URLs."
   ;; TODO: sr.ht build ()
   ;; fail due to a kernel issue: https://github.com/nodejs/node/issues/53051
   '((gnu/linux
- ( :url 
"https://codeberg.org/USHIN/hyper-gateway-ushin/releases/download/v3.10.2/hyper-gateway-ushin-linux";
-   :sha256 
"4a79a406ab8e6f8f9c4e47bd7f001c6673c81e1357c3977e0dddfac777a57204")
- ( :url 
"https://git.sr.ht/~ushin/hyper-gateway-ushin/refs/download/v3.10.2/hyper-gateway-linux-v3.10.2";
-   :sha256 
"4a79a406ab8e6f8f9c4e47bd7f001c6673c81e1357c3977e0dddfac777a57204"))
+ ( :url 
"https://codeberg.org/USHIN/hyper-gateway-ushin/releases/download/v3.11.0/hyper-gateway-ushin-linux";
+   :sha256 
"2074ec69c3e699105e132e774996c15ba3d9f14019f0cf5bc1bd15c35f7524c7")
+ ( :url 
"https://git.sr.ht/~ushin/hyper-gateway-ushin/refs/download/v3.11.0/hyper-gateway-linux-v3.11.0";
+   :sha256 
"69d8ee0bc6442de9e57962bcf151febee6b93607907e846ba8ec5d2ad2605d38"))
 (darwin
- ( :url 
"https://codeberg.org/USHIN/hyper-gateway-ushin/releases/download/v3.10.2/hyper-gateway-ushin-macos";
-   :sha256 
"84ee621756dce98597f43b45942af812c9f3b200f31f769a53d077bf7e8b1156")
- ( :url 
"https://git.sr.ht/~ushin/hyper-gateway-ushin/refs/download/v3.10.2/hyper-gateway-macos-v3.10.2";
-   :sha256 
"84ee621756dce98597f43b45942af812c9f3b200f31f769a53d077bf7e8b1156"))
+ ( :url 
"https://codeberg.org/USHIN/hyper-gateway-ushin/releases/download/v3.11.0/hyper-gateway-ushin-macos";
+   :sha256 
"219d673ea28dbc69f7cb5fbd5a01ed2b69f3f281f1e22f0d20e871c755eb02cf")
+ ( :url 
"https://git.sr.ht/~ushin/hyper-gateway-ushin/refs/download/v3.11.0/hyper-gateway-macos-v3.11.0";
+   :sha256 
"c7dd08005037e6b27aafffe79d70255179a1c95a4699ba227d4b79f18badf38b"))
 (windows-nt
- ( :url 
"https://codeberg.org/USHIN/hyper-gateway-ushin/releases/download/v3.10.2/hyper-gateway-ushin-windows.exe";
-   :sha256 
"691105d1657627d2ac5e56b6b598ce3572beaa601663a55a86135b8cd1c6657d")
- ;; ( :url 
"https://git.sr.ht/~ushin/hyper-gateway-ushin/refs/download/v3.10.2/hyper-gateway-windows-v3.10.2.exe";
- ;;   :sha256 "")
- ))
+ ( :url 
"https://codeberg.org/USHIN/hyper-gateway-ushin/releases/download/v3.11.0/hyper-gateway-ushin-windows.exe";
+   :sha256 
"1e4e303766e1043355d27387e487e4296c03a3d6877d5920c6ae4c12d80f7bd4")
+ ( :url 
"https://git.sr.ht/~ushin/hyper-gateway-ushin/refs/download/v3.11.0/hyper-gateway-windows-v3.11.0.exe";
+   :sha256 
"69277b1748d16d274644151a1c7dbcaa7290689ae44f79ffba94a29f77978f4b")))
   "Alist mapping `system-type' to URLs where the gateway can be downloaded.")
 
 ;;;###autoload



[nongnu] elpa/hyperdrive af85d6a79b 01/20: Change: (h/entry) Note blocks, blocks-downloaded in etc slot

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

Change: (h/entry) Note blocks, blocks-downloaded in etc slot
---
 hyperdrive-lib.el | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/hyperdrive-lib.el b/hyperdrive-lib.el
index c750dbf0b4..5b0419f690 100644
--- a/hyperdrive-lib.el
+++ b/hyperdrive-lib.el
@@ -74,7 +74,9 @@ Passes ARGS to `format-message'."
   ;; TODO: Consider adding gv-setters for etc slot keys
   (etc nil :documentation "Alist for extra data about the entry.
 - display-name :: Displayed in directory view instead of name.
-- target :: Link fragment to jump to."))
+- target :: Link fragment to jump to.
+- block-length :: Number of blocks file blob takes up.
+- block-length-downloaded :: Number of blocks downloaded for file."))
 
 (cl-defstruct (hyperdrive (:constructor h/create)
   (:copier nil))



[nongnu] elpa/hyperdrive e2803b2290 20/20: Docs: Typo

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

Docs: Typo
---
 hyperdrive-lib.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hyperdrive-lib.el b/hyperdrive-lib.el
index 5202629417..d0d22f4888 100644
--- a/hyperdrive-lib.el
+++ b/hyperdrive-lib.el
@@ -1604,7 +1604,7 @@ both point to the same content."
 (generate-new-buffer-name buffer-name)))
 
 (defun h//find-buffer-visiting (entry &optional any-version-p)
-  "Return a buffer visiting ENTRY, or nil if none exist.
+  "Return a buffer visiting ENTRY, or nil if none exists.
 If ANY-VERSION-P, return the first buffer showing ENTRY at any
 version."
   ;; If `match-buffers' returns more than one buffer, we ignore the others.



[nongnu] elpa/hyperdrive 14f0bd4aeb 08/20: Add: (he//invalidate) Move into separate function

2024-08-05 Thread ELPA Syncer
branch: elpa/hyperdrive
commit 14f0bd4aeb3683bc1b392515b7b5d27ea102916d
Author: Joseph Turner 
Commit: Joseph Turner 

Add: (he//invalidate) Move into separate function
---
 hyperdrive-ewoc.el | 18 ++
 hyperdrive.el  | 15 +--
 2 files changed, 19 insertions(+), 14 deletions(-)

diff --git a/hyperdrive-ewoc.el b/hyperdrive-ewoc.el
index 10cc500663..d58e18e5ee 100644
--- a/hyperdrive-ewoc.el
+++ b/hyperdrive-ewoc.el
@@ -51,6 +51,24 @@ last node."
return node
do (setf node (ewoc-prev ewoc node
 
+(defun he//invalidate (entry)
+  "Invalidate the ewoc node for ENTRY in directory buffers."
+  (when-let* ((buffer (hyperdrive--find-buffer-visiting
+   (hyperdrive-parent entry)))
+  (ewoc (buffer-local-value 'h/ewoc buffer))
+  (node (and ewoc
+ (h/ewoc-find-node ewoc entry
+   :predicate #'he/equal-p
+(when node
+  (ewoc-set-data node entry)
+  ;; NOTE: Ensure that the buffer's window is selected,
+  ;; if it has one.  (Workaround a possible bug in EWOC.)
+  (if-let ((buffer-window (get-buffer-window (ewoc-buffer ewoc
+  (with-selected-window buffer-window
+(with-silent-modifications (ewoc-invalidate ewoc node)))
+(with-current-buffer (ewoc-buffer ewoc)
+  (with-silent-modifications (ewoc-invalidate ewoc node)))
+
  Mode
 
 (defvar-keymap h/ewoc-mode-map
diff --git a/hyperdrive.el b/hyperdrive.el
index a0cb2590d3..8c28db6e60 100644
--- a/hyperdrive.el
+++ b/hyperdrive.el
@@ -203,20 +203,7 @@ modified; file blobs may be recoverable from other peers."
   (h/error "Unable to clear cache for `%s': %S" (he/url entry) 
err))
   :then (lambda (response)
   (he//fill entry (plz-response-headers response))
-  ;; Update the face showing the file size in any directory buffer.
-  (when-let* ((buffer (hyperdrive--find-buffer-visiting
-   (hyperdrive-parent entry)))
-  (ewoc (buffer-local-value 'h/ewoc buffer))
-  (node (h/ewoc-find-node ewoc entry
-  :predicate #'he/equal-p)))
-(ewoc-set-data node entry)
-;; NOTE: Ensure that the buffer's window is selected,
-;; if it has one.  (Workaround a possible bug in EWOC.)
-(if-let ((buffer-window (get-buffer-window (ewoc-buffer 
ewoc
-(with-selected-window buffer-window
-  (with-silent-modifications (ewoc-invalidate ewoc node)))
-  (with-current-buffer (ewoc-buffer ewoc)
-(with-silent-modifications (ewoc-invalidate ewoc 
node)
+  (he//invalidate entry)
 
 ;;;###autoload
 (defun hyperdrive-purge (hyperdrive)