[elpa] externals/phpinspect c0c9e2992e 26/30: Remove debug statements

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

Remove debug statements
---
 test/test-buffer.el | 4 
 1 file changed, 4 deletions(-)

diff --git a/test/test-buffer.el b/test/test-buffer.el
index eb2474c6e5..b77119130c 100644
--- a/test/test-buffer.el
+++ b/test/test-buffer.el
@@ -765,20 +765,16 @@ class Bar {
(result (phpinspect-buffer-parse buffer 'no-interrupt)))
 
(should result)
-   (pp result)
(should (equal expected result))
 
(goto-char 17)
(delete-backward-char 1)
-   (message (buffer-string))
(setq result (phpinspect-buffer-parse buffer 'no-interrupt))
-   (pp result)
(should result)
(should (equal expected result))
 
(backward-char)
(insert " ")
-   (message (buffer-string))
(setq result (phpinspect-buffer-parse buffer 'no-interrupt))
(should result)
(should (equal expected result))



[elpa] externals/denote 3ae863f108 3/3: Reword the sections about Org dynamic blocks for clarity

2024-08-31 Thread ELPA Syncer
branch: externals/denote
commit 3ae863f108c6a4a7b6a379d4a9aedaf05012def2
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Reword the sections about Org dynamic blocks for clarity

I repeat some statemenents because I know how a manual is read: the
user checks only the paragraphs of immediate interest.
---
 README.org | 98 --
 1 file changed, 70 insertions(+), 28 deletions(-)

diff --git a/README.org b/README.org
index 0888f09423..4855bc3127 100644
--- a/README.org
+++ b/README.org
@@ -3244,7 +3244,7 @@ Evaluate:
 (info "(org) Dynamic Blocks")
 #+end_src
 
-** Org dynamic blocks to insert links or backlinks
+** Org dynamic blocks to insert links
 :PROPERTIES:
 :CUSTOM_ID: h:50160fae-6515-4d7d-9737-995ad925e64b
 :END:
@@ -3263,10 +3263,12 @@ The =denote-links= block can be inserted at point with 
the command
 ~denote-org-extras-dblock-insert-links~ or by manually including the
 following in an Org file:
 
-: #+BEGIN: denote-links :regexp "YOUR REGEXP HERE" :sort-by-component nil 
:reverse-sort nil :id-only nil
+: #+BEGIN: denote-links :regexp "YOUR REGEXP HERE" :excluded-dirs-regexp nil 
:sort-by-component nil :reverse-sort nil :id-only nil :include-date nil
 :
 : #+END:
 
+All the parameters except for =:regexp= are optional.
+
 The =denote-links= block is also registered as an option for the
 command ~org-dynamic-block-insert-dblock~.
 
@@ -3318,44 +3320,78 @@ line to update the block.
   with the identifier of the given file. This has the same meaning as
   with the ~denote-link~ command and related facilities 
([[#h:fc913d54-26c8-4c41-be86-999839e8ad31][Linking notes]]).
 
-- The =:this-heading-only= parameter determines if the backlinks are
-  about the file or the heading under which the dynamic block is
-  ([[#h:604bf92a-908a-485c-98b8-37ccae559afd][Backlinks for Org headings]]). 
When this parameter is omitted or nil
-  (the default), then the backlinks are about the whole file, but if
-  this parameter has a ~t~ value then the backlinks are specifically
-  for the heading ([[#h:fc1ad245-ec08-41be-8d1e-7153d99daf02][Insert link to 
an Org file with a further pointer to a heading]]).
-
-  [ The =:this-heading-only= parameter is part of {{{development-version}}}. ]
+- The =:include-date= parameter controls whether to display the date
+  of the file name after the title. This is done when its value is
+  ~t~. By default (a nil value), no date is shown. [ Part of 
{{{development-version}}}. ]
 
 - An optional =:block-name= parameter can be specified with a string
   value to add a =#+name= to the results. This is useful for further
   processing using Org facilities (a feature that is outside Denote's
   purview).
 
-#+findex: denote-org-extras-dblock-insert-backlinks
-The same as above except for the =:regexp= parameter are true for the
-=denote-backlinks= block. The block can be inserted at point with the
-command ~denote-org-extras-dblock-insert-backlinks~ or by manually writing
-this in an Org file:
+In some workflows, users may want to have a separate block to see what
+other links they are missing since they last updated the dynamic
+block. We cover that case as well 
([[#h:1a81e255-0510-4ee0-bc3a-374de048ef46][The Org dynamic block to insert 
missing links only]]).
+
+** The Org dynamic block to insert missing links only
+:PROPERTIES:
+:CUSTOM_ID: h:1a81e255-0510-4ee0-bc3a-374de048ef46
+:END:
 
-: #+BEGIN: denote-backlinks :sort-by-component nil :reverse-sort nil :id-only 
nil
+#+findex: denote-org-extras-dblock-insert-missing-links
+The =denote-missing-links= block is available with the command
+~denote-org-extras-dblock-insert-missing-links~. It is like the
+aforementioned =denote-links= block, except it only lists links to
+files that are not present in the current buffer 
([[#h:50160fae-6515-4d7d-9737-995ad925e64b][Org dynamic blocks to insert 
links]]).
+The parameters are otherwise the same and are all optional except for
+=:regexp=:
+
+: #+BEGIN: denote-missing-links :regexp "YOUR REGEXP HERE" 
:excluded-dirs-regexp nil :sort-by-component nil :reverse-sort nil :id-only nil 
:include-date nil
 :
 : #+END:
 
-#+findex: denote-org-extras-dblock-insert-missing-links
-Finally, the =denote-missing-links= block is available with the
-command ~denote-org-extras-dblock-insert-missing-links~. It is like
-the aforementioned =denote-links= block, except it only lists links to
-files that are not present in the current buffer. The parameters are
-otherwise the same:
+The =denote-missing-links= block is also registered as an option for the
+command ~org-dynamic-block-insert-dblock~.
+
+Remember to type =C-c C-x C-u= (~org-dblock-update~) with point on the
+=#+BEGIN= line to update the block.
+
+** The Org dynamic block to insert backlinks
+:PROPERTIES:
+:CUSTOM_ID: h:f9a97859-1deb-47dd-bdae-52f8b424ff46
+:END:
+
+#+findex: denote-org-extras-dblock-insert-backlinks
+Apart from links to files matching a regular expression

[elpa] externals/transient 9b6fbe6816 1/2: Update changelog

2024-08-31 Thread Jonas Bernoulli via
branch: externals/transient
commit 9b6fbe68169b2bab28ee9e1be67351e7b263508c
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

Update changelog
---
 CHANGELOG | 15 +++
 1 file changed, 15 insertions(+)

diff --git a/CHANGELOG b/CHANGELOG
index 871312da4c..1da8383efc 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,4 +1,19 @@
 # -*- mode: org -*-
+* v0.7.5UNRELEASED
+
+- Updated tooling.
+
+Bug fixes:
+
+- ~static-if~ is now used correctly.  0e35673e
+
+- When an existing window ends up being used to display the transient
+  buffer, then the previous value of the ~no-other-window~ parameter is
+  now restored, when the transient is exited.  #302
+
+- The names assigned to suffixes, which are defined using lambdas in
+  the prefix definition, are now guaranteed to be unique.  #304
+
 * v0.7.42024-08-05
 
 - Added new function ~transient-active-prefix~.



[elpa] externals/phpinspect 41d5d2dc55 19/30: Memoize type display name

2024-08-31 Thread ELPA Syncer
branch: externals/phpinspect
commit 41d5d2dc5560b5f3116efd6023a46a69a5ac0815
Author: Hugo Thunnissen 
Commit: Hugo Thunnissen 

Memoize type display name
---
 phpinspect-type.el | 21 +++--
 1 file changed, 15 insertions(+), 6 deletions(-)

diff --git a/phpinspect-type.el b/phpinspect-type.el
index 7a1610a5dd..adf7238a89 100644
--- a/phpinspect-type.el
+++ b/phpinspect-type.el
@@ -47,6 +47,7 @@
 "When the type is a collection, this attribute is set to the type
 that the collection is expected to contain")
   (-bare-name-sym-slot nil)
+  (-display-name-slot nil)
   (category nil
 :documentation
 "A symbol declaring whether this type is a class,
@@ -252,13 +253,21 @@ NAMESPACE may be nil, or a string with a namespace FQN."
 (cl-defmethod phpinspect--display-format-type-name ((name string))
   (propertize (phpinspect--format-type-name name) 'face 'font-lock-type-face))
 
+(define-inline phpinspect--type-format-display-name (type)
+  (inline-letevals (type)
+(inline-quote
+ (if (phpinspect--type-fully-qualified ,type)
+ ;; Save display name when name is fully qualified, as it won't change
+ ;; again.
+ (with-memoization (phpinspect--type--display-name-slot ,type)
+   (phpinspect--display-format-type-name (phpinspect--type-name 
,type)))
+   (phpinspect--display-format-type-name (phpinspect--type-name ,type))
+
 (cl-defmethod phpinspect--display-format-type-name ((type phpinspect--type))
-  (let ((self (phpinspect--format-type-name type)))
-(propertize
- (if (phpinspect--type-contains type)
-(concat self "<" (phpinspect--format-type-name 
(phpinspect--type-contains type)) ">")
-   self)
- 'face 'font-lock-type-face)))
+  (let ((self (phpinspect--type-format-display-name type)))
+(if (phpinspect--type-contains type)
+(concat self "<" (phpinspect--format-type-name 
(phpinspect--type-format-display-name type)) ">")
+  self)))
 
 (cl-defmethod phpinspect--display-format-type-name (type)
   (cl-assert (not type))



[nongnu] elpa/magit 0aa26864e3 3/3: Release version 4.1.0

2024-08-31 Thread Jonas Bernoulli via
branch: elpa/magit
commit 0aa26864e3fc4e6949711a4821caf6819e7ab171
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

Release version 4.1.0
---
 CHANGELOG   | 2 +-
 docs/magit-section.org  | 4 ++--
 docs/magit-section.texi | 4 ++--
 docs/magit.org  | 4 ++--
 docs/magit.texi | 4 ++--
 lisp/magit-section.el   | 2 +-
 lisp/magit.el   | 8 
 7 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
index 9a08fca2e6..99eabfa8cc 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,5 +1,5 @@
 # -*- mode: org -*-
-* v4.1.0UNRELEASED
+* v4.1.02024-09-01
 
 - The library ~git-commit.el~ is no longer distributed as a separate
   package, ~git-commit~, but as part of the ~magit~ package.
diff --git a/docs/magit-section.org b/docs/magit-section.org
index cd5356bcd3..e58250d85b 100644
--- a/docs/magit-section.org
+++ b/docs/magit-section.org
@@ -7,7 +7,7 @@
 #+texinfo_dir_category: Emacs
 #+texinfo_dir_title: Magit-Section: (magit-section).
 #+texinfo_dir_desc: Use Magit sections in your own packages.
-#+subtitle: for version 4.0.0
+#+subtitle: for version 4.1.0
 
 #+setupfile: .orgconfig
 
@@ -21,7 +21,7 @@ user options see [[info:magit#Sections]].  This manual 
documents how you
 can use sections in your own packages.
 
 #+texinfo: @noindent
-This manual is for Magit-Section version 4.0.0.
+This manual is for Magit-Section version 4.1.0.
 
 #+texinfo: @insertcopying
 :END:
diff --git a/docs/magit-section.texi b/docs/magit-section.texi
index e7253b3293..8c7c57af96 100644
--- a/docs/magit-section.texi
+++ b/docs/magit-section.texi
@@ -31,7 +31,7 @@ General Public License for more details.
 @finalout
 @titlepage
 @title Magit-Section Developer Manual
-@subtitle for version 4.0.0
+@subtitle for version 4.1.0
 @author Jonas Bernoulli
 @page
 @vskip 0pt plus 1filll
@@ -54,7 +54,7 @@ user options see @ref{Sections,,,magit,}.  This manual 
documents how you
 can use sections in your own packages.
 
 @noindent
-This manual is for Magit-Section version 4.0.0.
+This manual is for Magit-Section version 4.1.0.
 
 @insertcopying
 @end ifnottex
diff --git a/docs/magit.org b/docs/magit.org
index e0d3358a3f..e75e6b06ac 100644
--- a/docs/magit.org
+++ b/docs/magit.org
@@ -7,7 +7,7 @@
 #+texinfo_dir_category: Emacs
 #+texinfo_dir_title: Magit: (magit).
 #+texinfo_dir_desc: Using Git from Emacs with Magit.
-#+subtitle: for version 4.0.0
+#+subtitle: for version 4.1.0
 
 #+setupfile: .orgconfig
 
@@ -24,7 +24,7 @@ directly from within Emacs.  While many fine Git clients 
exist, only
 Magit and Git itself deserve to be called porcelains.
 
 #+texinfo: @noindent
-This manual is for Magit version 4.0.0.
+This manual is for Magit version 4.1.0.
 
 #+texinfo: @insertcopying
 :END:
diff --git a/docs/magit.texi b/docs/magit.texi
index 02f9e38a79..bf8a184a02 100644
--- a/docs/magit.texi
+++ b/docs/magit.texi
@@ -31,7 +31,7 @@ General Public License for more details.
 @finalout
 @titlepage
 @title Magit User Manual
-@subtitle for version 4.0.0
+@subtitle for version 4.1.0
 @author Jonas Bernoulli
 @page
 @vskip 0pt plus 1filll
@@ -53,7 +53,7 @@ directly from within Emacs.  While many fine Git clients 
exist, only
 Magit and Git itself deserve to be called porcelains.
 
 @noindent
-This manual is for Magit version 4.0.0.
+This manual is for Magit version 4.1.0.
 
 @insertcopying
 @end ifnottex
diff --git a/lisp/magit-section.el b/lisp/magit-section.el
index 52c44de93d..ba2dbf1484 100644
--- a/lisp/magit-section.el
+++ b/lisp/magit-section.el
@@ -8,7 +8,7 @@
 ;; Homepage: https://github.com/magit/magit
 ;; Keywords: tools
 
-;; Package-Version: 4.0.0
+;; Package-Version: 4.1.0
 ;; Package-Requires: (
 ;; (emacs "26.1")
 ;; (compat "30.0.0.0")
diff --git a/lisp/magit.el b/lisp/magit.el
index 2b87820795..bc3e6f024c 100644
--- a/lisp/magit.el
+++ b/lisp/magit.el
@@ -17,15 +17,15 @@
 ;; Homepage: https://github.com/magit/magit
 ;; Keywords: git tools vc
 
-;; Package-Version: 4.0.0
+;; Package-Version: 4.1.0
 ;; Package-Requires: (
 ;; (emacs "26.1")
 ;; (compat "30.0.0.0")
 ;; (dash "2.19.1")
-;; (magit-section "4.0.0")
+;; (magit-section "4.1.0")
 ;; (seq "2.24")
-;; (transient "0.7.4")
-;; (with-editor "3.4.1"))
+;; (transient "0.7.5")
+;; (with-editor "3.4.2"))
 
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 



[nongnu] elpa/hyperdrive 41646669a9 1/7: Fix: (h/stop) Set h//gateway-starting-timer to nil

2024-08-31 Thread ELPA Syncer
branch: elpa/hyperdrive
commit 41646669a921a56f6674b9ec1a94a093bd420f31
Author: Joseph Turner 
Commit: Joseph Turner 

Fix: (h/stop) Set h//gateway-starting-timer to nil

In addition to canceling the timer, we need to set the variable to nil
so that other predicates work as expected.
---
 hyperdrive.el | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/hyperdrive.el b/hyperdrive.el
index 01b47b71fc..f5919f2a4d 100644
--- a/hyperdrive.el
+++ b/hyperdrive.el
@@ -132,7 +132,8 @@ which see."
   ;; Cancel starting timer after calling h/gateway-stop-function since
   ;; h/gateway-ready-hook should still run if h/gateway-stop-function fails.
   (when (timerp h//gateway-starting-timer)
-(cancel-timer h//gateway-starting-timer))
+(cancel-timer h//gateway-starting-timer)
+(setf h//gateway-starting-timer nil))
   (h//gateway-wait-for-dead))
 
 ;;;###autoload



[elpa] externals/phpinspect b6978105e5 25/30: Fix: Don't discard first char after opening brace of class block

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

Fix: Don't discard first char after opening brace of class block
---
 phpinspect-parser.el |  1 -
 test/test-buffer.el  | 44 
 2 files changed, 44 insertions(+), 1 deletion(-)

diff --git a/phpinspect-parser.el b/phpinspect-parser.el
index 728e546c2f..9e818e120a 100644
--- a/phpinspect-parser.el
+++ b/phpinspect-parser.el
@@ -716,7 +716,6 @@ static keywords with the same meaning as in a class block."
 (phpinspect-defhandler class-block (start-token max-point)
   "Handler for code blocks that cannot contain classes"
   ((regexp . "{"))
-  (forward-char (length start-token))
   (let* ((complete-block nil)
  (continue-condition (lambda ()
(not (and (char-equal (char-after) ?})
diff --git a/test/test-buffer.el b/test/test-buffer.el
index e5bfa16c10..eb2474c6e5 100644
--- a/test/test-buffer.el
+++ b/test/test-buffer.el
@@ -738,3 +738,47 @@ class Bar {
 (phpinspect-buffer-update-project-index buffer)
 
 (should (= 1 (length (phpi-typedef-get-methods class
+
+
+(ert-deftest phpinspect-buffer-parse-incrementally-class-block-scope ()
+  (with-temp-buffer
+(let* ((project (phpinspect--make-dummy-composer-project-with-code))
+   (buffer (phpinspect-make-buffer :-project project :buffer 
(current-buffer
+
+  (insert "

[elpa] externals/transient 3430943eaa 2/2: Release version 0.7.5

2024-08-31 Thread Jonas Bernoulli via
branch: externals/transient
commit 3430943eaa3222cd2a487d4c102ec51e10e7e3c9
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

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

diff --git a/CHANGELOG b/CHANGELOG
index 1da8383efc..ae5379ddc6 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,5 +1,5 @@
 # -*- mode: org -*-
-* v0.7.5UNRELEASED
+* v0.7.52024-09-01
 
 - Updated tooling.
 
diff --git a/docs/transient.org b/docs/transient.org
index e77cceeda5..7698930432 100644
--- a/docs/transient.org
+++ b/docs/transient.org
@@ -7,7 +7,7 @@
 #+texinfo_dir_category: Emacs misc features
 #+texinfo_dir_title: Transient: (transient).
 #+texinfo_dir_desc: Transient Commands
-#+subtitle: for version 0.7.4
+#+subtitle: for version 0.7.5
 
 #+setupfile: .orgconfig
 
@@ -20,7 +20,7 @@ resource to get over that hurdle is Psionic K's interactive 
tutorial,
 available at https://github.com/positron-solutions/transient-showcase.
 
 #+texinfo: @noindent
-This manual is for Transient version 0.7.4.
+This manual is for Transient version 0.7.5.
 
 #+texinfo: @insertcopying
 :END:
diff --git a/lisp/transient.el b/lisp/transient.el
index a62d749f86..fc786fe85d 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.4
+;; Package-Version: 0.7.5
 ;; Package-Requires: ((emacs "26.1") (compat "30.0.0.0") (seq "2.24"))
 
 ;; SPDX-License-Identifier: GPL-3.0-or-later



[elpa] externals/phpinspect 223ca2bf54 12/30: Implement use of traits in live-edited buffers

2024-08-31 Thread ELPA Syncer
branch: externals/phpinspect
commit 223ca2bf542f09e6e10d20c76d9db48dd90b4508
Author: Hugo Thunnissen 
Commit: Hugo Thunnissen 

Implement use of traits in live-edited buffers
---
 phpinspect-bmap.el |  8 +++-
 phpinspect-buffer.el   | 93 --
 phpinspect-method-cell.el  |  2 +-
 phpinspect-parser.el   | 30 ++
 phpinspect-token-predicates.el | 10 -
 phpinspect-typedef.el  |  5 ++-
 test/phpinspect-test-env.el| 40 ++
 test/test-buffer.el| 44 
 test/test-parser.el|  8 ++--
 test/test-project.el   | 43 ---
 10 files changed, 221 insertions(+), 62 deletions(-)

diff --git a/phpinspect-bmap.el b/phpinspect-bmap.el
index b8bfd7d0a0..953d6d4825 100644
--- a/phpinspect-bmap.el
+++ b/phpinspect-bmap.el
@@ -59,6 +59,9 @@
   (imports (phpinspect-make-splayt)
:type phpinspect-splayt
:documentation "The import statements encountered.")
+  (used-traits (phpinspect-make-splayt)
+   :type phpinspect-splayt
+   :documentation "The trait use statements encountered.")
   (functions (phpinspect-make-splayt)
  :type phpinspect-splayt
  :documentation "The function definitions encountered.")
@@ -146,9 +149,12 @@
 (puthash start token-meta starts)
 
 (cond
- ((phpinspect-use-p (phpinspect-meta-token token-meta))
+ ((phpinspect-use-import-p (phpinspect-meta-token token-meta))
   (phpinspect-splayt-insert
(phpinspect-bmap-imports bmap) (phpinspect-meta-start token-meta) 
token-meta))
+ ((phpinspect-use-trait-p (phpinspect-meta-token token-meta))
+  (phpinspect-splayt-insert
+   (phpinspect-bmap-used-traits bmap) (phpinspect-meta-start token-meta) 
token-meta))
  ((phpinspect-class-p (phpinspect-meta-token token-meta))
   (phpinspect-splayt-insert
(phpinspect-bmap-classes bmap) (phpinspect-meta-start token-meta) 
token-meta))
diff --git a/phpinspect-buffer.el b/phpinspect-buffer.el
index 2dafc97e59..e7bb71091d 100644
--- a/phpinspect-buffer.el
+++ b/phpinspect-buffer.el
@@ -54,6 +54,8 @@ emacs buffer."
   (-last-indexed-bmap nil)
   (imports nil
:type phpinspect-toc)
+  (used-traits nil
+   :type phpinspect-toc)
   (namespaces nil
   :type phpinspect-toc)
   (classes nil
@@ -185,6 +187,74 @@ linked with."
 point)))
 (and namespace (phpinspect-meta-overlaps-point namespace point) 
namespace)))
 
+(defun phpinspect-buffer-get-type-resolver-for-class (buffer class-token)
+  (pcase-let* ((`(,imports ,namespace-name)
+(phpinspect-get-token-index-context
+ (phpinspect-buffer-namespaces buffer)
+ (phpinspect-buffer-imports buffer)
+ class-token)))
+(phpinspect--make-type-resolver
+ imports
+ (phpinspect-class-block (phpinspect-meta-token class-token))
+ namespace-name)))
+
+(defun phpinspect-buffer-apply-use-trait-config (buffer class-token uses)
+  (pcase-let* ((`(,imports ,namespace-name)
+(phpinspect-get-token-index-context
+ (phpinspect-buffer-namespaces buffer)
+ (phpinspect-buffer-imports buffer)
+ class-token))
+   (type-resolver (phpinspect--make-type-resolver
+   imports
+   (phpinspect-class-block (phpinspect-meta-token 
class-token))
+   namespace-name))
+   (config))
+
+(dolist (use uses)
+  (setq config
+(nconc config
+   (phpinspect--index-trait-use
+(phpinspect-meta-token use) type-resolver nil
+
+(when-let ((typedef (phpinspect-buffer-get-index-for-token buffer 
(phpinspect-meta-token class-token
+  (let ((new-extensions (seq-uniq (append 
(phpi-typedef-subscribed-to-types typedef)
+  (phpi-typedef-set-trait-config 
typedef config))
+  #'phpinspect--type=)))
+(phpi-typedef-update-extensions typedef new-extensions)
+
+(cl-defmethod phpinspect-buffer-index-used-traits ((buffer phpinspect-buffer) 
(uses (head phpinspect-splayt)))
+  (let ((update t))
+(if (phpinspect-buffer-used-traits buffer)
+(pcase-let ((`(,new ,deleted)
+ (phpinspect-toc-update
+  (phpinspect-buffer-used-traits buffer) uses 
(phpinspect-buffer-root-meta buffer
+  (unless (or new deleted)
+;; Nothing changed, don't update
+(setq update nil)))
+  (setf (phpinspect-buffer-used-traits buffer) (phpinspect-make-toc uses)))
+
+(when update
+  (let ((class-toc (phpinspect-buffer-classes buffer)))
+(phpinspect-splayt-traverse-lr (class (phpinspect-toc-tree class-toc))
+  (let 

[elpa] externals/triples updated (79365099c1 -> cf7f9c8dd7)

2024-08-31 Thread ELPA Syncer
elpasync pushed a change to branch externals/triples.

  from  79365099c1 Merge pull request #8 from ahyatt/delete-type
   new  35c711e32c Add eldev and fix lint issues
   new  d0c43faed8 Fix lint issues
   new  ed22395fb1 Remove testing for Emacs 28, add dependencies for eldev 
emacs
   new  068a69ed10 Merge pull request #9 from ahyatt/eldev
   new  cf7f9c8dd7 Set version to 0.4.0 (#10)


Summary of changes:
 .github/workflows/ci.yaml | 39 ++
 Eldev | 13 
 triples-backups.el| 18 +++
 triples-upgrade.el|  9 +++---
 triples.el| 82 +--
 5 files changed, 118 insertions(+), 43 deletions(-)
 create mode 100644 .github/workflows/ci.yaml
 create mode 100644 Eldev



[nongnu] elpa/hyperdrive d80f83006d 5/7: Add: (hyperdrive-gateway) Customization group

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

Add: (hyperdrive-gateway) Customization group

Previously, the gateway defcustoms were in the hyperdrive-faces group.
---
 hyperdrive-vars.el | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/hyperdrive-vars.el b/hyperdrive-vars.el
index e3fd7df359..35bd11e65d 100644
--- a/hyperdrive-vars.el
+++ b/hyperdrive-vars.el
@@ -439,6 +439,12 @@ Keys are regexps matched against MIME types.")
:desc "Name"))
   "Fields for sorting hyperdrive directory buffer columns.")
 
+;; Gateway configuration
+
+(defgroup hyperdrive-gateway nil
+  "Starting and stopping the gateway."
+  :group 'hyperdrive)
+
 (declare-function h//gateway-start-default "hyperdrive-lib")
 (defcustom h/gateway-start-function #'h//gateway-start-default
   "Function called to start the gateway.



[nongnu] main f6c211cdfa: * elpa-packages (git-commit): Remove package

2024-08-31 Thread Jonas Bernoulli via
branch: main
commit f6c211cdfafdc2f000589edb604c6e166de1216b
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

* elpa-packages (git-commit): Remove package

* elpa-packages (magit): Add git-commit.el to package
---
 elpa-packages | 16 +---
 1 file changed, 1 insertion(+), 15 deletions(-)

diff --git a/elpa-packages b/elpa-packages
index 06eb2e9c22..45d7056225 100644
--- a/elpa-packages
+++ b/elpa-packages
@@ -300,20 +300,6 @@
  (geiser-racket:url 
"https://gitlab.com/emacs-geiser/racket.git";)
  (geiser-stklos:url 
"https://gitlab.com/emacs-geiser/stklos.git";)
 
- (git-commit   :url "https://github.com/magit/magit";
-  ;; The author of this package views its branch in the NonGNU ELPA
-  ;; repository as nothing but a distribution mechanism, and requests
-  ;; that you make no changes whatsoever to that branch, and instead
-  ;; open a pull-request in the above upstream repository, even for
-  ;; the most trivial of changes.
-  :manual-sync t ;Author prefers manual control.
-  :lisp-dir "lisp"
-  :ignored-files
-  ("docs" "test" ".github"
-   ".mailmap" "LICENSE" "README.md" "CHANGELOG"
-   "default.mk" "Makefile" "lisp/Makefile"
-   "lisp/git-rebase.el" "lisp/magit-*.el" "lisp/magit.el"))
-
  (git-modes:url "https://github.com/magit/git-modes";
   ;; The author of this package views its branch in the NonGNU ELPA
   ;; repository as nothing but a distribution mechanism, and requests
@@ -477,7 +463,7 @@
   ("docs" "test" ".github"
".mailmap" "LICENSE"
"default.mk" "Makefile" "lisp/Makefile"
-   "lisp/git-commit.el" "lisp/magit-section.el"))
+   "lisp/magit-section.el"))
 
  (magit-section:url "https://github.com/magit/magit";
   ;; The author of this package views its branch in the NonGNU ELPA



[nongnu] elpa/hyperdrive 9e7ebe32ba 7/7: Tidy: Put internals at same section level as configuration

2024-08-31 Thread ELPA Syncer
branch: elpa/hyperdrive
commit 9e7ebe32bac4558a7a8cf908e6af464bcb55c049
Author: Joseph Turner 
Commit: Joseph Turner 

Tidy: Put internals at same section level as configuration

Also move regular expressions and persisted variables into internals
section.
---
 hyperdrive-vars.el | 76 +++---
 1 file changed, 38 insertions(+), 38 deletions(-)

diff --git a/hyperdrive-vars.el b/hyperdrive-vars.el
index 741e499c03..a03a929b69 100644
--- a/hyperdrive-vars.el
+++ b/hyperdrive-vars.el
@@ -394,44 +394,7 @@ This hook is called by `hyperdrive--gateway-wait-for-dead' 
after
 (defface h/history-unknown '((t :inherit warning))
   "Marker for entries with unknown existence in `hyperdrive-history' buffers.")
 
-; Regular expressions
-
-(eval-and-compile
-  (defconst h//hyper-prefix "hyper://"
-"Hyperdrive URL prefix."))
-
-(defconst h//public-key-re
-  (rx (eval h//hyper-prefix) (group (= 52 alphanumeric)))
-  "Regexp to match \"hyper://\" + public key.
-
-Capture group matches public key.")
-
-(defconst h//version-re
-  (rx (eval h//hyper-prefix)
-  (one-or-more alnum)
-  (group "+" (one-or-more num)))
-  "Regexp to match \"hyper://\" + public key or seed + version number.
-
-Capture group matches version number.")
-
-; Persisted variables
-
-(persist-defvar h/hyperdrives (make-hash-table :test #'equal)
-  "List of known hyperdrives."
-  h/persist-location)
-
-(persist-defvar h/version-ranges (make-hash-table :test #'equal)
-  "Hash table of hyperdrive version ranges.
-Keys are generated by `hyperdrive--entry-version-range-key', and
-values are alists mapping version range starts to plists with
-`:existsp' and `:range-end' keys."
-  h/persist-location)
-
-;; TODO: Flesh out the persist hook.
-;; (defvar hyperdrive-persist-hook nil
-;;   :type 'hook)
-
-; Internals
+ Internals
 
 (defvar h/gateway-version-expected
   '(:name "hyper-gateway-ushin" :version "3.12.0"))
@@ -483,6 +446,43 @@ Keys are regexps matched against MIME types.")
:desc "Name"))
   "Fields for sorting hyperdrive directory buffer columns.")
 
+; Regular expressions
+
+(eval-and-compile
+  (defconst h//hyper-prefix "hyper://"
+"Hyperdrive URL prefix."))
+
+(defconst h//public-key-re
+  (rx (eval h//hyper-prefix) (group (= 52 alphanumeric)))
+  "Regexp to match \"hyper://\" + public key.
+
+Capture group matches public key.")
+
+(defconst h//version-re
+  (rx (eval h//hyper-prefix)
+  (one-or-more alnum)
+  (group "+" (one-or-more num)))
+  "Regexp to match \"hyper://\" + public key or seed + version number.
+
+Capture group matches version number.")
+
+; Persisted variables
+
+(persist-defvar h/hyperdrives (make-hash-table :test #'equal)
+  "List of known hyperdrives."
+  h/persist-location)
+
+(persist-defvar h/version-ranges (make-hash-table :test #'equal)
+  "Hash table of hyperdrive version ranges.
+Keys are generated by `hyperdrive--entry-version-range-key', and
+values are alists mapping version range starts to plists with
+`:existsp' and `:range-end' keys."
+  h/persist-location)
+
+;; TODO: Flesh out the persist hook.
+;; (defvar hyperdrive-persist-hook nil
+;;   :type 'hook)
+
  Footer
 
 (provide 'hyperdrive-vars)



[elpa] externals/triples updated (18b66a953b -> 79365099c1)

2024-08-31 Thread ELPA Syncer
elpasync pushed a change to branch externals/triples.

  from  18b66a953b Merge pull request #7 from ahyatt/whitespace-fixes
   new  762387f22b Add triples-db-count and triples-remove-schema-type
   new  9bbe7d7641 Fixed incorrect require and test for data & schema w/ 
same subject
   new  2145927734 Update NEWS.org
   new  79365099c1 Merge pull request #8 from ahyatt/delete-type


Summary of changes:
 NEWS.org|  3 +++
 README.org  |  1 +
 triples-test.el | 41 +
 triples.el  | 38 --
 4 files changed, 61 insertions(+), 22 deletions(-)



[elpa] externals/denote 4651362642 1/3: Make denote--file-type-org-extra-p handle cases like org-tree-to-indirect-buffer

2024-08-31 Thread ELPA Syncer
branch: externals/denote
commit 4651362642d813d7747ad0b286a59beff1139016
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Make denote--file-type-org-extra-p handle cases like 
org-tree-to-indirect-buffer

Now we can add Denote links in those buffers as well. Whereas before
it would not work, as Denote would not recognise the file type.

Thanks to coherentstate for bringing this matter to my attention in
issue 418: .
---
 README.org | 2 +-
 denote.el  | 3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/README.org b/README.org
index 43364719af..e302a08a4e 100644
--- a/README.org
+++ b/README.org
@@ -6195,7 +6195,7 @@ Denote is meant to be a collective effort.  Every bit of 
help matters.
   Samuel W. Flint, Suhail Singh, Shreyas Ragavan, Stefan Thesing,
   Summer Emacs, Sven Seebeck, Taoufik, TJ Stankus, Vick (VicZz),
   Viktor Haag, Wade Mealing, Yi Liu, Ypot, atanasj, azegas, babusri,
-  doolio, duli, drcxd, elge70, fingerknight, hpgisler,
+  coherentstate, doolio, duli, drcxd, elge70, fingerknight, hpgisler,
   mentalisttraceur, pRot0ta1p, rbenit68, relict007, sienic, skissue,
   sundar bp, yetanotherfossman, zadca123
 
diff --git a/denote.el b/denote.el
index 3cf331feed..c01d22db34 100644
--- a/denote.el
+++ b/denote.el
@@ -2670,7 +2670,8 @@ See the format of `denote-file-types'."
   (and (derived-mode-p 'org-mode)
(or (and (bound-and-true-p org-capture-mode)
 (string-match-p "\\`CAPTURE-.*" (buffer-name)))
-   (string-match-p "\\`\\*Org Note\\*" (buffer-name)
+   (string-match-p "\\`\\*Org Note\\*" (buffer-name))
+   (null buffer-file-name
 
 (defun denote-filetype-heuristics (file)
   "Return likely file type of FILE.



[elpa] externals/phpinspect b11d017702 01/30: Correctly index the name by which a function return type was referenced as used type

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

Correctly index the name by which a function return type was referenced as 
used type
---
 phpinspect-imports.el |  2 +-
 phpinspect-index.el   |  7 ---
 test/test-imports.el  | 31 +++
 3 files changed, 36 insertions(+), 4 deletions(-)

diff --git a/phpinspect-imports.el b/phpinspect-imports.el
index 82998ff0e0..64eb782490 100644
--- a/phpinspect-imports.el
+++ b/phpinspect-imports.el
@@ -103,7 +103,7 @@ buffer position to insert the use statement at."
   ((> (length fqns) 1)
(phpinspect-add-use (completing-read "Class: " 
(phpinspect-names-to-alist fqns))
buffer namespace-token))
-  (t (phpinspect-message "No import found for type %s" typename)
+  (t (phpinspect-message "No import found for type %s" 
(phpinspect-name-string typename))
 
 (defun phpinspect-namespace-part-of-typename (typename)
   (string-trim-right typename "?[^\\]+"))
diff --git a/phpinspect-index.el b/phpinspect-index.el
index 71788cd1d9..f85ed7f60e 100644
--- a/phpinspect-index.el
+++ b/phpinspect-index.el
@@ -89,6 +89,7 @@ of TYPE, if available."
   type-resolver current add-used-types comment-before))
 
(when (setq return-type (seq-find #'phpinspect-word-p 
declaration))
+ (funcall add-used-types (list (cadr return-type)))
  (setq return-type (funcall type-resolver
 (phpinspect--make-type :name (cadr 
return-type)
 
@@ -144,9 +145,10 @@ function (think \"new\" statements, return types etc.)."
 (phpinspect--index-function-declaration
  declaration type-resolver add-used-types comment-before))
 
-;; FIXME: Anonymous functions should not be indexed! (or if they are, they
+;; Note: Anonymous functions should not be indexed! (or if they are, they
 ;; should at least not be visible from various UIs unless assigned to a
-;; variable as a closure).
+;; variable as a closure). It is up to the caller of this function to
+;; determine the right behavior.
 (unless name (setq name "anonymous"))
 
 (phpinspect--log "Checking function return annotations")
@@ -170,7 +172,6 @@ function (think \"new\" statements, return types etc.)."
   (setq used-types (nconc used-types
   (phpinspect--find-used-types-in-tokens
`(,(seq-find #'phpinspect-block-p php-func)
-  (when type (push (phpinspect--type-bare-name type) used-types))
   (funcall add-used-types used-types))
 
 (phpinspect--log "Creating function object")
diff --git a/test/test-imports.el b/test/test-imports.el
index 353c497ce6..3fa4cff74c 100644
--- a/test/test-imports.el
+++ b/test/test-imports.el
@@ -211,3 +211,34 @@ class Baz {
 private Foo $notAliased;
 }"
  (buffer-string)))
+
+(ert-deftest phpinspect-fix-imports-fully-qualified-names ()
+  (let ((project (phpinspect--make-dummy-composer-project)))
+(with-temp-buffer
+  (let* ((buffer (phpinspect-make-buffer :buffer (current-buffer)
+ :-project project)))
+
+(insert "

[nongnu] elpa/hyperdrive 5f9e66ea03 6/7: Change: (h/start) Check h//gateway-starting-timer

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

Change: (h/start) Check h//gateway-starting-timer

If the user has customized h/gateway-live-p, it may be that the
gateway is already starting, i.e., the user has run h/start, but that
h/gateway-live-p still returns nil.  However,
h//gateway-starting-timer should always be non-nil immediately after
running h/start.

This change makes the error handling of h/start match that of h/stop.
---
 hyperdrive.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hyperdrive.el b/hyperdrive.el
index 6041c1209e..2172df0c18 100644
--- a/hyperdrive.el
+++ b/hyperdrive.el
@@ -102,7 +102,7 @@ which see."
(h/user-error "Gateway already running outside of Emacs."))
   (h//gateway-stopping-timer
(h/user-error "Wait for gateway to stop before restarting"))
-  ((h/gateway-live-p)
+  (h//gateway-starting-timer
(h/user-error "Gateway already starting"))
   ((and (not gateway-installed-p) (h/gateway-installing-p))
(h/user-error "Gateway installation in-progress"))



[elpa] externals/phpinspect fe4f73661c 21/30: Make import removal configurable

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

Make import removal configurable
---
 phpinspect-imports.el | 24 ++--
 1 file changed, 18 insertions(+), 6 deletions(-)

diff --git a/phpinspect-imports.el b/phpinspect-imports.el
index f481c8ca00..b485de130a 100644
--- a/phpinspect-imports.el
+++ b/phpinspect-imports.el
@@ -33,6 +33,16 @@
 (require 'phpinspect-util)
 (require 'phpinspect-type)
 
+(defcustom phpinspect-imports-remove-unused nil
+  "Set to `t' to automatically remove unused imports.
+
+A value of `t' makes `phpinspect-fix-imports' automatically
+remove imports for unused types.  This is an experimental feature
+that may sometimes fail in identifying use of an import,
+resulting in an unjust removal."
+  :type 'boolean
+  :group 'phpinspect)
+
 (defun phpinspect-insert-at-point (point data)
   (save-excursion
 (goto-char point)
@@ -357,8 +367,9 @@ that there are import (\"use\") statements for them."
 (phpinspect-add-use-statements-for-missing-types
  used-types buffer imports project (phpinspect-buffer-root-meta 
buffer))
 
-(phpinspect-remove-unneeded-use-statements
- used-types buffer imports (phpinspect-buffer-root-meta buffer))
+(when phpinspect-imports-remove-unused
+ (phpinspect-remove-unneeded-use-statements
+   used-types buffer imports (phpinspect-buffer-root-meta buffer)))
 
 (phpinspect-format-use-statements
  buffer (phpinspect-find-first-use (phpinspect-buffer-root-meta 
buffer)))
@@ -375,11 +386,12 @@ that there are import (\"use\") statements for them."
 (unless token-meta
   (error "Unable to find token for namespace %s" namespace-name))
 
-(phpinspect-add-use-statements-for-missing-types
- used-types buffer (append imports namespace-imports) project 
token-meta)
+   (when phpinspect-imports-remove-unused
+  (phpinspect-add-use-statements-for-missing-types
+   used-types buffer (append imports namespace-imports) project 
token-meta))
 
-(phpinspect-remove-unneeded-use-statements
- used-types buffer (append imports namespace-imports) token-meta)
+;; (phpinspect-remove-unneeded-use-statements
+;;  used-types buffer (append imports namespace-imports) 
token-meta)
 
 (let ((parent (phpinspect-meta-find-parent-matching-token
token-meta #'phpinspect-namespace-or-root-p)))



[nongnu] elpa/with-editor updated (a4ef93d3df -> 77cb240315)

2024-08-31 Thread ELPA Syncer
elpasync pushed a change to branch elpa/with-editor.

  from  a4ef93d3df Update changelog
   new  80586626de with-editor*: Fix documentation
   new  535a0b19b0 Fix shell-command-with-editor-mode for remote processes
   new  77cb240315 Release version 3.4.2


Summary of changes:
 CHANGELOG |  4 +++-
 docs/with-editor.org  |  6 ++---
 docs/with-editor.texi |  2 +-
 lisp/with-editor.el   | 62 ++-
 4 files changed, 39 insertions(+), 35 deletions(-)



[nongnu] elpa/hyperdrive e3d22082cf 6/7: Tidy: Move gateway configuration into configuration section

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

Tidy: Move gateway configuration into configuration section
---
 hyperdrive-vars.el | 88 +++---
 1 file changed, 44 insertions(+), 44 deletions(-)

diff --git a/hyperdrive-vars.el b/hyperdrive-vars.el
index 35bd11e65d..741e499c03 100644
--- a/hyperdrive-vars.el
+++ b/hyperdrive-vars.el
@@ -271,6 +271,50 @@ value (and should only be present once in the string).  
Used in
(cons :tag "Hyperdrive domains" (const domains)
  (string :tag "Format string"
 
+;; Gateway configuration
+
+(defgroup hyperdrive-gateway nil
+  "Starting and stopping the gateway."
+  :group 'hyperdrive)
+
+(declare-function h//gateway-start-default "hyperdrive-lib")
+(defcustom h/gateway-start-function #'h//gateway-start-default
+  "Function called to start the gateway.
+If this function signals an error, the `h/gateway-ready-hook'
+will not be run; otherwise, the hook will be run when the gateway
+appears to be ready."
+  :type 'function)
+
+(declare-function h//gateway-stop-default "hyperdrive-lib")
+(defcustom h/gateway-stop-function #'h//gateway-stop-default
+  "Function called to stop the gateway.
+This function should signal an error if it fails to stop the
+gateway process."
+  :type 'function)
+
+(declare-function h/gateway-live-p-default "hyperdrive-lib")
+(defcustom h/gateway-live-predicate #'h/gateway-live-p-default
+  "Predicate function which returns non-nil if the gateway process is live."
+  :type 'function)
+
+(defcustom h/gateway-ready-hook
+  '( h/check-gateway-version
+ h/announce-gateway-ready
+ h/menu-refresh)
+  "Hook called when gateway is ready after starting it.
+This hook is called by `hyperdrive--gateway-wait-for-ready' after
+`hyperdrive-start'."
+  :type 'hook)
+
+(defcustom h/gateway-dead-hook
+  '( h//gateway-cleanup-default
+ h/announce-gateway-stopped
+ h/menu-refresh)
+  "Hook called when gateway is ready after stopping it.
+This hook is called by `hyperdrive--gateway-wait-for-dead' after
+`hyperdrive-stop'."
+  :type 'hook)
+
 ; Faces
 
 (defgroup hyperdrive-faces nil
@@ -439,50 +483,6 @@ Keys are regexps matched against MIME types.")
:desc "Name"))
   "Fields for sorting hyperdrive directory buffer columns.")
 
-;; Gateway configuration
-
-(defgroup hyperdrive-gateway nil
-  "Starting and stopping the gateway."
-  :group 'hyperdrive)
-
-(declare-function h//gateway-start-default "hyperdrive-lib")
-(defcustom h/gateway-start-function #'h//gateway-start-default
-  "Function called to start the gateway.
-If this function signals an error, the `h/gateway-ready-hook'
-will not be run; otherwise, the hook will be run when the gateway
-appears to be ready."
-  :type 'function)
-
-(declare-function h//gateway-stop-default "hyperdrive-lib")
-(defcustom h/gateway-stop-function #'h//gateway-stop-default
-  "Function called to stop the gateway.
-This function should signal an error if it fails to stop the
-gateway process."
-  :type 'function)
-
-(declare-function h/gateway-live-p-default "hyperdrive-lib")
-(defcustom h/gateway-live-predicate #'h/gateway-live-p-default
-  "Predicate function which returns non-nil if the gateway process is live."
-  :type 'function)
-
-(defcustom h/gateway-ready-hook
-  '( h/check-gateway-version
- h/announce-gateway-ready
- h/menu-refresh)
-  "Hook called when gateway is ready after starting it.
-This hook is called by `hyperdrive--gateway-wait-for-ready' after
-`hyperdrive-start'."
-  :type 'hook)
-
-(defcustom h/gateway-dead-hook
-  '( h//gateway-cleanup-default
- h/announce-gateway-stopped
- h/menu-refresh)
-  "Hook called when gateway is ready after stopping it.
-This hook is called by `hyperdrive--gateway-wait-for-dead' after
-`hyperdrive-stop'."
-  :type 'hook)
-
  Footer
 
 (provide 'hyperdrive-vars)



[elpa] externals/triples 35c711e32c 1/5: Add eldev and fix lint issues

2024-08-31 Thread ELPA Syncer
branch: externals/triples
commit 35c711e32c7d49a2af497dc503c7a1cf2bc9805f
Author: Andrew Hyatt 
Commit: Andrew Hyatt 

Add eldev and fix lint issues
---
 .github/workflows/ci.yaml | 39 +++
 Eldev |  6 ++
 2 files changed, 45 insertions(+)

diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
new file mode 100644
index 00..d40082469a
--- /dev/null
+++ b/.github/workflows/ci.yaml
@@ -0,0 +1,39 @@
+name: CI
+
+on:
+  push:
+branches: [ "main" ]
+  pull_request:
+branches: [ "*" ]
+
+jobs:
+  test:
+runs-on: ubuntu-latest
+environment: Continuous Integration
+strategy:
+  matrix:
+emacs_version:
+  # Add more lines like this if you want to test on different Emacs 
versions.
+  - 28.1
+  - 28.2
+  - 29.1
+  - 29.2
+steps:
+- name: Set up Emacs
+  uses: jcs090218/setup-emacs@master
+  with:
+version: ${{matrix.emacs_version}}
+
+- name: Install Eldev
+  uses: emacs-eldev/setup-eldev@v1
+
+- name: Check out the source code
+  uses: actions/checkout@v4
+
+- name: Lint the project
+  run: |
+eldev -p -dtT lint
+
+- name: Test the project
+  run: |
+eldev -p -dtT test
diff --git a/Eldev b/Eldev
new file mode 100644
index 00..eee02cb91e
--- /dev/null
+++ b/Eldev
@@ -0,0 +1,6 @@
+; -*- mode: emacs-lisp; lexical-binding: t -*-
+
+(eldev-use-package-archive 'melpa)
+(eldev-use-plugin 'maintainer)
+(eldev-add-extra-dependencies 'test '(:package emacsql))
+(eldev-add-extra-dependencies 'test '(:package kv))



[nongnu] elpa/emacsql 07699353a4: Release version 4.0.2

2024-08-31 Thread ELPA Syncer
branch: elpa/emacsql
commit 07699353a43f629848c66c0949e7170e8f29e299
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

Release version 4.0.2
---
 emacsql.el | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/emacsql.el b/emacsql.el
index af1c94c6f5..3cefe4a4c7 100644
--- a/emacsql.el
+++ b/emacsql.el
@@ -6,7 +6,7 @@
 ;; Maintainer: Jonas Bernoulli 
 ;; Homepage: https://github.com/magit/emacsql
 
-;; Package-Version: 4.0.1
+;; Package-Version: 4.0.2
 ;; Package-Requires: ((emacs "25.1"))
 
 ;; SPDX-License-Identifier: Unlicense
@@ -32,7 +32,7 @@
   "The EmacSQL SQL database front-end."
   :group 'comm)
 
-(defconst emacsql-version "4.0.1")
+(defconst emacsql-version "4.0.2")
 
 (defvar emacsql-global-timeout 30
   "Maximum number of seconds to wait before bailing out on a SQL command.



[elpa] externals/phpinspect 5f00c9ad8b 22/30: Fix compilation errors and fix tests for phpinspect-imports.el

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

Fix compilation errors and fix tests for phpinspect-imports.el
---
 phpinspect-eldoc.el | 4 ++--
 phpinspect-typedef.el   | 5 +++--
 test/phpinspect-test-env.el | 4 
 3 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/phpinspect-eldoc.el b/phpinspect-eldoc.el
index 91b3215a84..65e17409b9 100644
--- a/phpinspect-eldoc.el
+++ b/phpinspect-eldoc.el
@@ -102,7 +102,7 @@ be implemented for return values of 
`phpinspect-eld-strategy-execute'")
(when method
  (setq result (phpinspect-make-function-doc :fn method)
 ((phpinspect-object-attrib-p attrib)
- (setq variable (phpi-typedef-get-variable class 
attribute-name))
+ (setq variable (phpi-typedef-get-property class 
attribute-name))
 
  (if (and variable
   (phpi-prop-vanilla-p variable))
@@ -219,7 +219,7 @@ be implemented for return values of 
`phpinspect-eld-strategy-execute'")
   (when func
 (phpinspect-make-function-doc :fn func :arg-pos arg-pos
 
-(defun phpinspect-var-eldoc-string (prop-or-var)
+(defun phpinspect-var-eldoc-string (var)
   (concat (truncate-string-to-width
(propertize (concat (if (phpi-var-vanilla-p var) "$" "")
(phpi-var-name var))
diff --git a/phpinspect-typedef.el b/phpinspect-typedef.el
index 58bce5cfd2..69904655d6 100644
--- a/phpinspect-typedef.el
+++ b/phpinspect-typedef.el
@@ -475,13 +475,14 @@ them, which are then incorporated into DEF's properties."
 
 (cl-defmethod phpi-typedef-delete-property ((def phpinspect-typedef)
 (var phpinspect--variable))
-  (phpi-typedef-delete-property def (phpinspect-intern-name 
(phpi-variable-name
+  (phpi-typedef-delete-property
+   def (phpinspect-intern-name (phpinspect--variable-name var
 
 (cl-defmethod phpi-typedef-get-properties ((def phpinspect-typedef))
   (seq-filter #'phpi-prop-vanilla-p
  (phpi-pcol-list-active (phpi-typedef-properties def
 
-(cl-defmethod phpi-typedef-get-static-properties ((class phpinspect-typedef))
+(cl-defmethod phpi-typedef-get-static-properties ((def phpinspect-typedef))
   (seq-filter #'phpi-prop-static-p
  (phpi-pcol-list-active (phpi-typedef-properties def
 
diff --git a/test/phpinspect-test-env.el b/test/phpinspect-test-env.el
index c360bd4991..02f981627a 100644
--- a/test/phpinspect-test-env.el
+++ b/test/phpinspect-test-env.el
@@ -4,6 +4,10 @@
 (require 'phpinspect-cache)
 (require 'phpinspect-parser)
 
+(require 'phpinspect-imports)
+;; Always enable experimental features in the test suite
+(setq phpinspect-imports-remove-unused t)
+
 ;; Make sure that the worker is running. TODO: fully encapsulate the worker the
 ;; data types that are used in tests so that we don't depend on some global
 ;; worker object for tests.



[elpa] externals/triples 2145927734 3/4: Update NEWS.org

2024-08-31 Thread ELPA Syncer
branch: externals/triples
commit 21459277348d6a416898031ec276a89789b4bc0a
Author: Andrew Hyatt 
Commit: Andrew Hyatt 

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

diff --git a/NEWS.org b/NEWS.org
index 4e383c7e05..3f6bb59e86 100644
--- a/NEWS.org
+++ b/NEWS.org
@@ -1,5 +1,8 @@
 TITLE: Changelog for the triples module for GNU Emacs.
 
+* 0.4.0
+- Add =triples-count=, to return a count of all triples.
+- Add =triples-remove-schema-type=, to delete schema and all its associated 
data.
 * 0.3.5
 - Compilation issues, and fixing an issue with not being able to use 
triples-with-transaction in some cases.
 * 0.3.4



[nongnu] elpa/hyperdrive 5e34cc22d0 7/7: Comment: (h/stop) Explain order of cancelling timer

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

Comment: (h/stop) Explain order of cancelling timer
---
 hyperdrive.el | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/hyperdrive.el b/hyperdrive.el
index 2172df0c18..01b47b71fc 100644
--- a/hyperdrive.el
+++ b/hyperdrive.el
@@ -129,6 +129,8 @@ which see."
 (h/user-error "Gateway already stopping"))
(t
 (funcall h/gateway-stop-function)))
+  ;; Cancel starting timer after calling h/gateway-stop-function since
+  ;; h/gateway-ready-hook should still run if h/gateway-stop-function fails.
   (when (timerp h//gateway-starting-timer)
 (cancel-timer h//gateway-starting-timer))
   (h//gateway-wait-for-dead))



[elpa] externals/phpinspect 870fdb519d 14/30: Optimize process of checking for/loading type dependencies

2024-08-31 Thread ELPA Syncer
branch: externals/phpinspect
commit 870fdb519de9efff9cc54d7f25bc57c68d2c4cd4
Author: Hugo Thunnissen 
Commit: Hugo Thunnissen 

Optimize process of checking for/loading type dependencies
---
 phpinspect-project.el |  23 +
 phpinspect-type.el|  20 +++-
 phpinspect-typedef.el | 126 ++
 3 files changed, 108 insertions(+), 61 deletions(-)

diff --git a/phpinspect-project.el b/phpinspect-project.el
index 0aaf24c592..bff03e7b41 100644
--- a/phpinspect-project.el
+++ b/phpinspect-project.el
@@ -254,16 +254,19 @@ indexation, but indexed synchronously before returning."
  project
  (phpinspect-project-index-type-file project (phpi-typedef-name typedef
 
-  (dolist (dep (phpi-typedef-get-dependencies typedef))
-(unless (phpi-typedef-initial-index
- (phpinspect-project-get-typedef-create project dep))
-  (phpinspect-project-add-index
-   project
-   (phpinspect-project-index-type-file project dep
-
-  (dolist (extended (phpi-typedef-subscribed-to-types typedef))
-(phpinspect-project-ensure-index-typedef-and-dependencies
- project (phpinspect-project-get-typedef-create project extended
+  (unless (phpi-typedef--dependencies-loaded typedef)
+(dolist (dep (phpi-typedef-get-dependencies typedef))
+  (unless (phpi-typedef-initial-index
+   (phpinspect-project-get-typedef-create project dep))
+(phpinspect-project-add-index
+ project
+ (phpinspect-project-index-type-file project dep
+
+(dolist (extended (phpi-typedef-subscribed-to-types typedef))
+  (phpinspect-project-ensure-index-typedef-and-dependencies
+   project (phpinspect-project-get-typedef-create project extended)))
+
+(setf (phpi-typedef--dependencies-loaded typedef) t)))
 
 (cl-defmethod phpinspect-project-get-typedef
   ((project phpinspect-project) (typedef-fqn phpinspect--type) &optional index)
diff --git a/phpinspect-type.el b/phpinspect-type.el
index 304b8ee626..7a1610a5dd 100644
--- a/phpinspect-type.el
+++ b/phpinspect-type.el
@@ -85,7 +85,7 @@ that the collection is expected to contain")
 (defvar phpinspect--self-type (phpinspect--make-type :name "\\self" 
:fully-qualified t))
 (defvar phpinspect--this-type (phpinspect--make-type :name "\\this" 
:fully-qualified t))
 (defvar phpinspect--null-type (phpinspect--make-type :name "\\null" 
:fully-qualified t))
-(defvar phpinspect--unknown-type (phpinspect--make-type :name "unknown-type"))
+(defvar phpinspect--unknown-type (phpinspect--make-type :name "unknown-type" 
:fully-qualified t))
 
 (defun phpinspect-define-standard-types ()
   (setq phpinspect-native-types
@@ -144,9 +144,25 @@ See https://wiki.php.net/rfc/static_return_type ."
  (with-memoization (phpinspect--type--bare-name-sym-slot ,type)
(phpinspect-intern-name (phpinspect--type-bare-name ,type))
 
-(cl-defmethod phpinspect--type= ((type1 phpinspect--type) (type2 
phpinspect--type))
+(defun phpinspect--type= (type1 type2)
   (eq (phpinspect--type-name-symbol type1) (phpinspect--type-name-symbol 
type2)))
 
+(defun phpinspect--types-uniq (types)
+  "Optimized seq-uniq for types."
+  (let* (table
+ (filtered (cons nil nil))
+ (filtered-rear filtered))
+(dolist (type types)
+  (let ((name (phpinspect--type-name-symbol type)))
+(unless (memq name table)
+  (setq filtered-rear (setcdr filtered-rear (cons type nil)))
+  (push name table
+
+(cdr filtered)))
+
+
+
+
 (defun phpinspect--resolve-type-name (types namespace type)
   "Get the FQN for TYPE, using TYPES and NAMESPACE as context.
 
diff --git a/phpinspect-typedef.el b/phpinspect-typedef.el
index a6f4a659d2..5106b2a0a7 100644
--- a/phpinspect-typedef.el
+++ b/phpinspect-typedef.el
@@ -52,6 +52,11 @@ non-nil value.")
   (trait-config nil
 :documentation
 "The configuration of traits that are used in this type")
+  (-dependencies nil
+ :documentation "cache for dependencies")
+  (-dependencies-loaded nil
+:documentation "Whether dependencies have
+ been loaded or not. This slot is externally mutated by projects.")
   (method-adder nil
 :type phpinspect-method-adder)
   (subscribed-types nil
@@ -88,8 +93,23 @@ non-nil value.")
 Conditionally executes BODY depending on
 `phpi-typedef-read-only-p' value."
   (declare (indent 1))
-  `(unless (phpi-typedef-read-only-p ,typedef)
- ,@body))
+  (let ((typedef-sym (gensym))
+(return-sym (gensym)))
+`(let ((,typedef-sym ,typedef)
+   ,return-sym)
+
+   (cl-assert
+(phpinspect-typedef-p ,typedef-sym) t
+"First argument of `phpi--typedef-edit' must be of type 
`phpinspect-typedef'")
+
+   (unless (phpi-typedef-read-only-p ,typedef-sym)
+ (setq ,return-sym (progn ,@body))
+
+ ;; Clear cache and unset dependencies loaded.
+ (setf (phpi-typedef--depende

[elpa] externals/phpinspect updated (85399a6b1d -> 95a29a3982)

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

  from  85399a6b1d Wrap ELPA build badge in a link to the package page
   new  b11d017702 Correctly index the name by which a function return type 
was referenced as used type
   new  9029072bc9 Fix bug in indexation of live edited buffer (function 
with preceding bareword in scope)
   new  dd77e3c67b Bump version to 1.2.1
   new  87b86812ff Implement initial algorithm for indexation of traits
   new  96ee3c4d2a WIP: (method-cell) Basic infrastructure for nuanced 
method inheritance
   new  25f706077a Add license header and `provide' statement
   new  355b6be79a Fix typo
   new  96dd700be5 Replace phpinspect--class with new phpinspect-typedef 
structure
   new  a66e35f57c Test and improve typedef index reactivity and lazy 
loading + fix a bunch of bugs
   new  42ccef5493 Explicitly test application of trait configuration + fix 
bugs
   new  9c0959a0df Add some docstrings + a license header to 
phpinspect-typedef.el
   new  223ca2bf54 Implement use of traits in live-edited buffers
   new  11ecfdf314 Fix bug in parsing of interfaces
   new  870fdb519d Optimize process of checking for/loading type 
dependencies
   new  2e6b0e9d2f Make handling of corrupt index more robust + convert 
regexp to constant
   new  5f44a51a75 Re-use last completion list when possible
   new  bf03a87c7f Remove obsolete class test
   new  52626b7091 Remove unused defun
   new  41d5d2dc55 Memoize type display name
   new  692711e34d Implement property cells for more reliable property 
inheritance modeling
   new  fe4f73661c Make import removal configurable
   new  5f00c9ad8b Fix compilation errors and fix tests for 
phpinspect-imports.el
   new  4f85ef04a5 Remove debug statement
   new  967917ceb9 Update completion FIXME comment with current state of 
things
   new  b6978105e5 Fix: Don't discard first char after opening brace of 
class block
   new  c0c9e2992e Remove debug statements
   new  77bd3ebe90 Use `delete-char' instead of `delete-backward-char'
   new  eec48eb6ea Add test for update of method names in buffers + fix bug 
in completion
   new  f1066c3c7f Remove debug statements
   new  95a29a3982 Bump version to 2.0.0


Summary of changes:
 phpinspect-autoload.el|   2 +-
 phpinspect-bmap.el|  10 +-
 phpinspect-buffer.el  | 121 ++--
 phpinspect-cache.el   |   6 +-
 phpinspect-changeset.el   |   2 +-
 phpinspect-class-struct.el|  78 -
 phpinspect-class.el   | 291 ---
 phpinspect-completion.el  | 188 +---
 phpinspect-edtrack.el |   2 +-
 phpinspect-eldoc.el   |  47 +--
 phpinspect-fs.el  |   2 +-
 phpinspect-imports.el |  33 ++-
 phpinspect-index.el   |  96 ++-
 phpinspect-meta.el|   2 +-
 phpinspect-method-cell.el | 311 
 phpinspect-parse-context.el   |   2 +-
 phpinspect-parser.el  |  52 ++--
 phpinspect-pipeline.el|   6 +-
 phpinspect-project-struct.el  |  16 +-
 phpinspect-project.el | 211 +++---
 phpinspect-property-cell.el   | 210 ++
 phpinspect-queue.el   |   2 +-
 phpinspect-resolve.el |  71 ++---
 phpinspect-resolvecontext.el  |   6 +-
 phpinspect-serialize.el   |   6 +-
 phpinspect-splayt.el  |   2 +-
 phpinspect-suggest.el |  30 +-
 phpinspect-toc.el |   2 +-
 phpinspect-token-predicates.el|  17 +-
 phpinspect-type.el|  76 +++--
 phpinspect-typedef.el | 521 ++
 phpinspect-util.el|   5 +-
 phpinspect-worker.el  |   4 +-
 phpinspect.el |  19 +-
 test/fixtures/IndexClass1-indexed.eld |   2 +-
 test/fixtures/IndexClass2-indexed.eld |   2 +-
 test/phpinspect-test-env.el   |  44 +++
 test/phpinspect-test.el   |   2 +-
 test/test-autoload.el |   2 +-
 test/test-buffer.el   | 250 
 test/test-class.el| 113 
 test/test-eldoc.el|   2 +-
 test/test-imports.el  |  31 ++
 test/test-index.el| 116 
 test/test-parser.el   |  51 
 test/test-project.el  |  58 
 test/test-typedef.el  | 327 +
 47 files changed, 2532 insertions(+), 917 deletions(-)
 delete mode 100644 phpinspect-class-struct.el
 delete mode 100644 phpinspect-class.el
 create mode 100644 phpinspect-method-cell.el
 create mode 100644 phpinspect-property-c

[elpa] externals/phpinspect 95a29a3982 30/30: Bump version to 2.0.0

2024-08-31 Thread ELPA Syncer
branch: externals/phpinspect
commit 95a29a39828e5122a13ebdec21734db5a46312d5
Author: Hugo Thunnissen 
Commit: Hugo Thunnissen 

Bump version to 2.0.0
---
 phpinspect-autoload.el |  2 +-
 phpinspect-bmap.el |  2 +-
 phpinspect-buffer.el   |  2 +-
 phpinspect-cache.el|  2 +-
 phpinspect-changeset.el|  2 +-
 phpinspect-completion.el   |  2 +-
 phpinspect-edtrack.el  |  2 +-
 phpinspect-eldoc.el|  2 +-
 phpinspect-fs.el   |  2 +-
 phpinspect-imports.el  |  2 +-
 phpinspect-index.el|  2 +-
 phpinspect-meta.el |  2 +-
 phpinspect-method-cell.el  |  2 +-
 phpinspect-parse-context.el|  2 +-
 phpinspect-parser.el   |  2 +-
 phpinspect-pipeline.el |  2 +-
 phpinspect-project-struct.el   |  2 +-
 phpinspect-project.el  |  2 +-
 phpinspect-property-cell.el|  2 +-
 phpinspect-queue.el|  2 +-
 phpinspect-resolve.el  |  2 +-
 phpinspect-resolvecontext.el   |  2 +-
 phpinspect-serialize.el|  2 +-
 phpinspect-splayt.el   |  2 +-
 phpinspect-suggest.el  |  2 +-
 phpinspect-toc.el  |  2 +-
 phpinspect-token-predicates.el |  2 +-
 phpinspect-type.el |  2 +-
 phpinspect-typedef.el  |  2 +-
 phpinspect-util.el |  2 +-
 phpinspect-worker.el   |  2 +-
 phpinspect.el  | 17 -
 32 files changed, 47 insertions(+), 32 deletions(-)

diff --git a/phpinspect-autoload.el b/phpinspect-autoload.el
index 16ef66f715..c23fcf8ac8 100644
--- a/phpinspect-autoload.el
+++ b/phpinspect-autoload.el
@@ -4,7 +4,7 @@
 
 ;; Author: Hugo Thunnissen 
 ;; Keywords: php, languages, tools, convenience
-;; Version: 1.2.1
+;; Version: 2.0.0
 
 ;; This program is free software; you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
diff --git a/phpinspect-bmap.el b/phpinspect-bmap.el
index 953d6d4825..d73f69428a 100644
--- a/phpinspect-bmap.el
+++ b/phpinspect-bmap.el
@@ -4,7 +4,7 @@
 
 ;; Author: Hugo Thunnissen 
 ;; Keywords: php, languages, tools, convenience
-;; Version: 1.2.1
+;; Version: 2.0.0
 
 ;; This program is free software; you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
diff --git a/phpinspect-buffer.el b/phpinspect-buffer.el
index 925bb16331..297f35976e 100644
--- a/phpinspect-buffer.el
+++ b/phpinspect-buffer.el
@@ -4,7 +4,7 @@
 
 ;; Author: Hugo Thunnissen 
 ;; Keywords: php, languages, tools, convenience
-;; Version: 1.2.1
+;; Version: 2.0.0
 
 ;; This program is free software; you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
diff --git a/phpinspect-cache.el b/phpinspect-cache.el
index 643872300e..c2b561116c 100644
--- a/phpinspect-cache.el
+++ b/phpinspect-cache.el
@@ -4,7 +4,7 @@
 
 ;; Author: Hugo Thunnissen 
 ;; Keywords: php, languages, tools, convenience
-;; Version: 1.2.1
+;; Version: 2.0.0
 
 ;; This program is free software; you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
diff --git a/phpinspect-changeset.el b/phpinspect-changeset.el
index cdcda5fe87..9f143a7b2e 100644
--- a/phpinspect-changeset.el
+++ b/phpinspect-changeset.el
@@ -4,7 +4,7 @@
 
 ;; Author: Hugo Thunnissen 
 ;; Keywords: php, languages, tools, convenience
-;; Version: 1.2.1
+;; Version: 2.0.0
 
 ;; This program is free software; you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
diff --git a/phpinspect-completion.el b/phpinspect-completion.el
index cd7ba0b4dc..e5a5672b9f 100644
--- a/phpinspect-completion.el
+++ b/phpinspect-completion.el
@@ -4,7 +4,7 @@
 
 ;; Author: Hugo Thunnissen 
 ;; Keywords: php, languages, tools, convenience
-;; Version: 1.2.1
+;; Version: 2.0.0
 
 ;; This program is free software; you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
diff --git a/phpinspect-edtrack.el b/phpinspect-edtrack.el
index 9c4ddb31cd..7f88d18663 100644
--- a/phpinspect-edtrack.el
+++ b/phpinspect-edtrack.el
@@ -4,7 +4,7 @@
 
 ;; Author: Hugo Thunnissen 
 ;; Keywords: php, languages, tools, convenience
-;; Version: 1.2.1
+;; Version: 2.0.0
 
 ;; This program is free software; you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
diff --git a/phpinspect-eldoc.el b/phpinspect-eldoc.el
index 65e17409b9..2365961dfe 100644
--- a/phpinspect-eldoc.el
+++ b/phpinspect-eldoc.el
@@ -4,7 +4,7 @@
 
 ;; Author: Hugo Thunnissen 
 ;; Keywords: php, languages, tools, convenience
-;; Version: 1.2.1
+;; Version: 2.0.0
 
 ;; This program is free software; you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
diff --git a/phpinspect-fs.el b/phpi

[nongnu] elpa/with-editor 77cb240315 3/3: Release version 3.4.2

2024-08-31 Thread ELPA Syncer
branch: elpa/with-editor
commit 77cb2403158cfea9d8bfb8adad81b84d1d6d7c6a
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

Release version 3.4.2
---
 CHANGELOG| 2 +-
 docs/with-editor.org | 4 ++--
 lisp/with-editor.el  | 2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
index 1ef6ac2df0..bb0e1a2b40 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,5 +1,5 @@
 # -*- mode: org -*-
-* v3.4.2UNRELEASED
+* v3.4.22024-09-01
 
 - Fix ~shell-command-with-editor-mode~ for remote processes.  #129
 
diff --git a/docs/with-editor.org b/docs/with-editor.org
index 29f8f75843..238f3c09b5 100644
--- a/docs/with-editor.org
+++ b/docs/with-editor.org
@@ -7,7 +7,7 @@
 #+texinfo_dir_category: Emacs
 #+texinfo_dir_title: With-Editor: (with-editor).
 #+texinfo_dir_desc: Using the Emacsclient as $EDITOR
-#+subtitle: for version 3.4.1
+#+subtitle: for version 3.4.2
 
 #+setupfile: .orgconfig
 
@@ -27,7 +27,7 @@ additional functionality which makes it useful even for 
end-users, who
 don't use Magit or another package which uses it internally.
 
 #+texinfo: @noindent
-This manual is for With-Editor version 3.4.1.
+This manual is for With-Editor version 3.4.2.
 
 #+texinfo: @insertcopying
 :END:
diff --git a/lisp/with-editor.el b/lisp/with-editor.el
index 48b9126a07..a43e48a18e 100644
--- a/lisp/with-editor.el
+++ b/lisp/with-editor.el
@@ -6,7 +6,7 @@
 ;; Homepage: https://github.com/magit/with-editor
 ;; Keywords: processes terminals
 
-;; Package-Version: 3.4.1
+;; Package-Version: 3.4.2
 ;; Package-Requires: ((emacs "26.1") (compat "30.0.0.0"))
 
 ;; SPDX-License-Identifier: GPL-3.0-or-later



[nongnu] elpa/magit c170fcf399 2/3: Distribute git-commit.el as part of magit

2024-08-31 Thread Jonas Bernoulli via
branch: elpa/magit
commit c170fcf39918e567948fec43b70a592765ed5fe7
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

Distribute git-commit.el as part of magit
---
 CHANGELOG  |   3 +
 lisp/git-commit.el | 181 ++---
 lisp/magit.el  |   1 -
 3 files changed, 50 insertions(+), 135 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
index 40f8864a48..9a08fca2e6 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,9 @@
 # -*- mode: org -*-
 * v4.1.0UNRELEASED
 
+- The library ~git-commit.el~ is no longer distributed as a separate
+  package, ~git-commit~, but as part of the ~magit~ package.
+
 - Improved ~magit-tag-release~'s consistency and handling of arguments.
   #5102
 
diff --git a/lisp/git-commit.el b/lisp/git-commit.el
index 308e9c7513..a2578efcdc 100644
--- a/lisp/git-commit.el
+++ b/lisp/git-commit.el
@@ -8,17 +8,6 @@
 ;; Marius Vollmer 
 ;; Maintainer: Jonas Bernoulli 
 
-;; Homepage: https://github.com/magit/magit
-;; Keywords: git tools vc
-
-;; Package-Version: 4.0.0
-;; Package-Requires: (
-;; (emacs "26.1")
-;; (compat "30.0.0.0")
-;; (seq "2.24")
-;; (transient "0.7.4")
-;; (with-editor "3.4.1"))
-
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 
 ;; Magit is free software: you can redistribute it and/or modify
@@ -111,13 +100,7 @@
 
 ;;; Code:
 
-(require 'compat)
-(require 'subr-x)
-
-(when (and (featurep 'seq)
-   (not (fboundp 'seq-keep)))
-  (unload-feature 'seq 'force))
-(require 'seq)
+(require 'magit-mode)
 
 (require 'log-edit)
 (require 'ring)
@@ -125,17 +108,6 @@
 (require 'transient)
 (require 'with-editor)
 
-;; For historic reasons Magit isn't a hard dependency.
-(require 'magit-base nil t)
-(require 'magit-git nil t)
-(declare-function magit-completing-read "magit-base"
-  ( prompt collection &optional predicate require-match
-initial-input hist def fallback))
-(declare-function magit-expand-git-file-name "magit-git" (filename))
-(declare-function magit-git-lines "magit-git" (&rest args))
-(declare-function magit-hook-custom-get "magit-base" (symbol))
-(declare-function magit-list-local-branch-names "magit-git" ())
-
 (defvar diff-default-read-only)
 (defvar flyspell-generic-check-word-predicate)
 (defvar font-lock-beg)
@@ -229,7 +201,7 @@ Also note that `git-commit-mode' (which see) is not a 
major-mode.")
   "Hook run at the end of `git-commit-setup'."
   :group 'git-commit
   :type 'hook
-  :get (and (featurep 'magit-base) #'magit-hook-custom-get)
+  :get #'magit-hook-custom-get
   :options '(git-commit-ensure-comment-gap
  git-commit-save-message
  git-commit-setup-changelog-support
@@ -254,12 +226,10 @@ seconds, then this hook isn't run at all.  For certain 
commands
 such as `magit-rebase-continue' this hook is never run because
 doing so would lead to a race condition.
 
-This hook is only run if `magit' is available.
-
 Also see `magit-post-commit-hook'."
   :group 'git-commit
   :type 'hook
-  :get (and (featurep 'magit-base) #'magit-hook-custom-get))
+  :get #'magit-hook-custom-get)
 
 (defcustom git-commit-post-finish-hook-timeout 1
   "Time in seconds to wait for git to create a commit.
@@ -335,9 +305,7 @@ serves as a good introduction."
   "Whether to use a local message ring instead of the global one.
 
 This can be set globally, in which case every repository gets its
-own commit message ring, or locally for a single repository.  If
-Magit isn't available, then setting this to a non-nil value has
-no effect."
+own commit message ring, or locally for a single repository."
   :group 'git-commit
   :safe 'booleanp
   :type 'boolean)
@@ -402,18 +370,13 @@ In this context a \"keyword\" is text surrounded by 
brackets."
   :group 'git-commit-faces)
 
 (defface git-commit-comment-branch-local
-  (if (featurep 'magit)
-  '((t :inherit magit-branch-local))
-'((t :inherit font-lock-variable-name-face)))
+  '((t :inherit magit-branch-local))
   "Face used for names of local branches in commit message comments."
   :group 'git-commit-faces)
 
 (defface git-commit-comment-branch-remote
-  (if (featurep 'magit)
-  '((t :inherit magit-branch-remote))
-'((t :inherit font-lock-variable-name-face)))
-  "Face used for names of remote branches in commit message comments.
-This is only used if Magit is available."
+  '((t :inherit magit-branch-remote))
+  "Face used for names of remote branches in commit message comments."
   :group 'git-commit-faces)
 
 (defface git-commit-comment-detached
@@ -532,16 +495,7 @@ the redundant bindings, then set this to nil, before 
loading
buffer-file-name)))
   (not (file-accessible-directory-p
 (file-name-directory buffer-file-name)))
-  (if (require 'magit-git nil t)
-  ;; Emacs prepends a "c:".
-  (magit-expand-git-file-name
-   

[elpa] externals/phpinspect 5f44a51a75 16/30: Re-use last completion list when possible

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

Re-use last completion list when possible
---
 phpinspect-completion.el | 151 +++
 1 file changed, 125 insertions(+), 26 deletions(-)

diff --git a/phpinspect-completion.el b/phpinspect-completion.el
index a5c0821e57..d8c7960475 100644
--- a/phpinspect-completion.el
+++ b/phpinspect-completion.el
@@ -70,10 +70,9 @@ candidate. Candidates can be indexed functions and 
variables.")
 
 (cl-defmethod phpinspect--completion-list-add
   ((comp-list phpinspect--completion-list) (completion phpinspect--completion))
-  (setf (phpinspect--completion-list-has-candidates comp-list) t)
-
   ;; Ignore completions in an invalid state (nil values)
   (when (phpinspect--completion-value completion)
+(setf (phpinspect--completion-list-has-candidates comp-list) t)
 (unless (intern-soft (phpinspect--completion-value completion)
  (phpinspect--completion-list-completions comp-list))
   (set (intern (phpinspect--completion-value completion)
@@ -218,34 +217,134 @@ belonging to a token that conforms with 
`phpinspect-attrib-p'"
:completion-point (phpinspect--determine-completion-point)
:point (point)))
 
+(defun phpinspect--find-atoms-start (point)
+  "Determine the start of a sequence of atoms before POINT."
+  (save-excursion
+(goto-char point)
+(if (looking-back (phpinspect--atom-regexp) nil t)
+(- point (length (match-string 0)))
+  point)))
+
+(defun phpinspect--completion-query-maybe-should-cache (last-query query)
+  (and last-query
+   (eq (phpinspect-completion-query-buffer last-query)
+   (phpinspect-completion-query-buffer query))
+   (let ((taints (phpinspect-edtrack-taint-pool
+  (phpinspect-buffer-edit-tracker
+   (phpinspect-completion-query-buffer query
+ (atoms-start
+  (phpinspect-with-current-buffer 
(phpinspect-completion-query-buffer query)
+(phpinspect--find-atoms-start 
(phpinspect-completion-query-point query)
+ (or (length= taints 0)
+ (and (length= taints 1)
+  (<= atoms-start
+  (phpinspect-completion-query-point last-query))
+  (>= (phpinspect-taint-end (car taints))
+  (phpinspect-completion-query-point last-query))
+  (>= 1 (abs (- (phpinspect-completion-query-point query)
+(phpinspect-taint-end (car taints))
+
+(cl-defstruct (phpinspect--completion-parameters
+   (:constructor phpinspect--make-completion-parameters))
+  "Parameters used for completion. Used to detect caching possibilities."
+  (query nil)
+  (subject nil)
+  (strategy nil))
+
+(defvar phpinspect--last-completion-parameters nil
+  "Used internally to probe for opportunities to re-use the last
+completion result.")
+
 (cl-defmethod phpinspect-completion-query-execute ((query 
phpinspect-completion-query))
   "Execute QUERY.
 
 Returns list of `phpinspect--completion'."
-  (let* ((buffer (phpinspect-completion-query-buffer query))
- (point (phpinspect-completion-query-point query))
- (buffer-map (phpinspect-buffer-parse-map buffer))
- (rctx (phpinspect-get-resolvecontext
-(phpinspect-buffer-project buffer) buffer-map point))
- (completion-list (phpinspect--make-completion-list)))
-(phpinspect-buffer-update-project-index buffer)
-
-(dolist (strategy phpinspect-completion-strategies)
-  (when-let (region (phpinspect-comp-strategy-supports strategy query 
rctx))
-(setf (phpinspect--completion-list-completion-start completion-list)
-  (car region)
-  (phpinspect--completion-list-completion-end completion-list)
-  (cadr region))
-
-(phpinspect--log "Found matching completion strategy. Executing...")
-(dolist (candidate (phpinspect-comp-strategy-execute strategy query 
rctx))
-  (phpinspect--completion-list-add
-   completion-list (phpinspect--make-completion candidate)
-
-(phpinspect--log "Returning completion list %s" completion-list)
-(setq phpinspect--last-completion-list completion-list)))
-
-
+  (let* ((last-parameters phpinspect--last-completion-parameters)
+ ;; Check if caching is at all possible, before parsing the buffer. 
This
+ ;; needs to happen now, as tainted regions are removed from the taint
+ ;; pool after a buffer parse. We need the tainted region to determine
+ ;; if the only edit is one performed during completion.
+ (maybe-cache? (and
+last-parameters
+(phpinspect--completion-query-maybe-should-cache
+ (phpinspect--completion-parameters-query 
last-parameters)
+  

[elpa] externals/triples 9bbe7d7641 2/4: Fixed incorrect require and test for data & schema w/ same subject

2024-08-31 Thread ELPA Syncer
branch: externals/triples
commit 9bbe7d764135192459969415644d3bb76e20d083
Author: Andrew Hyatt 
Commit: Andrew Hyatt 

Fixed incorrect require and test for data & schema w/ same subject
---
 triples-test.el | 17 +++--
 1 file changed, 7 insertions(+), 10 deletions(-)

diff --git a/triples-test.el b/triples-test.el
index a476ccfcce..96b8673f0a 100644
--- a/triples-test.el
+++ b/triples-test.el
@@ -27,7 +27,7 @@
 
 (require 'triples)
 (require 'seq)
-(require 'kv nil t) ;; May be absent.
+(require 'kv)
 (require 'emacsql nil t);; May be absent.
 (require 'emacsql-sqlite nil t) ;; May be absent.
 
@@ -48,11 +48,9 @@ easily debug into it.")
  (triples-close db)))
(delete-file db-file
 
-(defun triples-test-connect-db ()
+(defun triples-test-open-db ()
   (interactive)
-  (defvar sql-database)
-  (let ((sql-database triples-test-db-file))
-(sql-sqlite (format "*schema test db SQL %s*" triples-test-db-file
+  (sqlite-mode-open-file triples-test-db-file))
 
 (defmacro triples-deftest (name _ &rest body)
   "Create a test exercising variants of `triples-sqlite-interface'."
@@ -483,11 +481,10 @@ easily debug into it.")
 
 (ert-deftest triples-test-schema-and-data-with-same-subject ()
   (triples-test-with-temp-db
-(triples-add-schema db 'foo '(bar))
-(triples-set-subject db 'foo '(foo :bar "baz"))
-(should (equal "baz" (plist-get (triples-get-subject db 'foo) :foo/bar)))
-(triples-add-schema db 'foo '(bar))
-(should (equal "baz" (plist-get (triples-get-subject db 'foo) :foo/bar)
+(triples-add-schema db 'foo '(bar :base/unique t))
+(triples-add-schema db 'baz '(boo :base/unique t))
+(triples-set-subject db 'foo '(baz :boo "bwa"))
+(should (equal "bwa" (plist-get (triples-get-subject db 'foo) :baz/boo)
 
 (ert-deftest triples-test-remove-schema-type ()
   (triples-test-with-temp-db



[elpa] externals/phpinspect 77bd3ebe90 27/30: Use `delete-char' instead of `delete-backward-char'

2024-08-31 Thread ELPA Syncer
branch: externals/phpinspect
commit 77bd3ebe9001c2e8d09cc1c02e01beb5753a9c93
Author: Hugo Thunnissen 
Commit: Hugo Thunnissen 

Use `delete-char' instead of `delete-backward-char'
---
 test/test-buffer.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/test/test-buffer.el b/test/test-buffer.el
index b77119130c..33229e71d8 100644
--- a/test/test-buffer.el
+++ b/test/test-buffer.el
@@ -768,7 +768,7 @@ class Bar {
(should (equal expected result))
 
(goto-char 17)
-   (delete-backward-char 1)
+   (delete-char -1)
(setq result (phpinspect-buffer-parse buffer 'no-interrupt))
(should result)
(should (equal expected result))



[elpa] externals/phpinspect 87b86812ff 04/30: Implement initial algorithm for indexation of traits

2024-08-31 Thread ELPA Syncer
branch: externals/phpinspect
commit 87b86812ff75dc9b67c78dd267ec3923dfef5c5f
Author: Hugo Thunnissen 
Commit: Hugo Thunnissen 

Implement initial algorithm for indexation of traits

This just add a function, it is not in use for anything yet
---
 phpinspect-index.el| 59 ++
 phpinspect-parser.el   |  2 +-
 phpinspect-token-predicates.el |  5 +++-
 test/test-index.el | 14 ++
 test/test-parser.el| 13 ++
 5 files changed, 91 insertions(+), 2 deletions(-)

diff --git a/phpinspect-index.el b/phpinspect-index.el
index ffa0689d82..12b226241b 100644
--- a/phpinspect-index.el
+++ b/phpinspect-index.el
@@ -707,5 +707,64 @@ Returns a list of type name strings."
   "Index a PHP file for classes and the methods they have"
   (phpinspect--index-tokens (phpinspect-parse-current-buffer)))
 
+
+(defun phpinspect--index-trait-use (token type-resolver add-used-types)
+  (cl-assert (phpinspect-use-p token))
+  (setq token (cddr (seq-filter #'phpinspect-not-comment-p token)))
+
+  (let ((block? (car (last token)))
+used-types config match)
+(when (phpinspect-end-of-statement-p block?)
+  (setq token (butlast token)))
+
+(setq token (seq-filter #'phpinspect-not-comma-p token))
+
+(dolist (word token)
+  (when (phpinspect-word-p word)
+(push (cadr token) used-types)
+(push `(,(funcall type-resolver (phpinspect--make-type :name (cadr 
word
+  config)))
+
+(when (phpinspect-block-p block?)
+  (setq block? (cdr (seq-filter #'phpinspect-not-comment-p block?)))
+
+  (while block?
+(cond ((phpinspect-comma-p (car block?))
+   (pop block?))
+  ;; Override
+  ((phpinspect--match-sequence block?
+ :f #'phpinspect-word-p
+ :f #'phpinspect-static-attrib-p
+ :m '(:word "insteadof")
+ :f #'phpinspect-word-p
+ :rest *)
+   (let* ((type (funcall type-resolver (phpinspect--make-type 
:name (cadr (nth 3 block?)
+  (t-config (assoc type config #'phpinspect--type=)))
+ (when t-config
+   (push `(override ,(cadadr (cadr block?))
+,(funcall type-resolver
+  (phpinspect--make-type :name 
(cadar block?
+ (cdr t-config
+
+   (setq block? (nthcdr 4 block?)))
+
+  ;; alias
+  ((phpinspect--match-sequence block?
+ :f #'phpinspect-word-p
+ :f #'phpinspect-static-attrib-p
+ :m '(:word "as")
+ :f #'phpinspect-word-p
+ :rest *)
+   (let* ((type (funcall type-resolver (phpinspect--make-type 
:name (cadar block?
+  (t-config (assoc type config #'phpinspect--type=)))
+
+ (when t-config
+   (push `(alias ,(cadadr (cadr block?)) ,(cadr (nth 3 
block?)))
+ (cdr t-config
+
+   (setq block? (nthcdr 4 block?)
+
+  config)))
+
 (provide 'phpinspect-index)
 ;;; phpinspect-index.el ends here
diff --git a/phpinspect-parser.el b/phpinspect-parser.el
index 948fc38470..d5c7a96d0f 100644
--- a/phpinspect-parser.el
+++ b/phpinspect-parser.el
@@ -599,7 +599,7 @@ nature like argument lists"
 
 (phpinspect-defparser use
   :tree-keyword "use"
-  :handlers '(word tag block-without-scopes terminator)
+  :handlers '(comment word tag block-without-scopes comma terminator)
   :delimiter-predicate #'phpinspect-end-of-use-p)
 
 (phpinspect-defhandler use-keyword (start-token max-point)
diff --git a/phpinspect-token-predicates.el b/phpinspect-token-predicates.el
index 76acb8425c..29690f0bcc 100644
--- a/phpinspect-token-predicates.el
+++ b/phpinspect-token-predicates.el
@@ -51,6 +51,9 @@ Type can be any of the token types returned by
 (defun phpinspect-comma-p (token)
   (phpinspect-token-type-p token :comma))
 
+(defun phpinspect-not-comma-p (token)
+  (not (phpinspect-comma-p token)))
+
 (defsubst phpinspect-terminator-p (token)
   (phpinspect-token-type-p token :terminator))
 
@@ -72,7 +75,7 @@ Type can be any of the token types returned by
 
 (defun phpinspect-end-of-use-p (token)
   (or (phpinspect-block-p token)
-  (phpinspect-end-of-token-p token)))
+  (phpinspect-terminator-p token)))
 
 (defun phpinspect-static-p (token)
   (phpinspect-token-type-p token :static))
diff --git a/test/test-index.el b/test/test-index.el
index 718ffeb2ef..9244fef669 100644
--- a/test/test-index.el
+++ b/test/test-index.el
@@ -439,3 +439,17 @@ if (something()) {
 (conditional (cadr functions)))
 (should (string= "conditional" (phpinspect--function-name 
conditional)))
 (should (string= "nestedConditional" (phpinspect--function-name 
nestedConditional)))
+
+

[nongnu] elpa/hyperdrive ee98e49ffb 3/7: Tidy: (h/restart) Use with-demoted-errors

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

Tidy: (h/restart) Use with-demoted-errors
---
 hyperdrive.el | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/hyperdrive.el b/hyperdrive.el
index 386f46e202..6876cc2ac0 100644
--- a/hyperdrive.el
+++ b/hyperdrive.el
@@ -1586,8 +1586,7 @@ If FORCEP, don't prompt for confirmation before 
downloading."
   "Restart the gateway."
   (interactive)
   (h/message "Restarting gateway...")
-  (when (or (h/gateway-live-p) (h//gateway-ready-p))
-(h/stop))
+  (with-demoted-errors (h/stop))
   (with-timeout (5 (h/message "Timed out waiting for gateway to stop"))
 (cl-loop while (h/gateway-live-p)
  do (sleep-for 0.2)))



[elpa] externals/phpinspect 2e6b0e9d2f 15/30: Make handling of corrupt index more robust + convert regexp to constant

2024-08-31 Thread ELPA Syncer
branch: externals/phpinspect
commit 2e6b0e9d2f53247c38318cc178de08b387b95834
Author: Hugo Thunnissen 
Commit: Hugo Thunnissen 

Make handling of corrupt index more robust + convert regexp to constant
---
 phpinspect-buffer.el | 18 --
 1 file changed, 16 insertions(+), 2 deletions(-)

diff --git a/phpinspect-buffer.el b/phpinspect-buffer.el
index e7bb71091d..115cf687a7 100644
--- a/phpinspect-buffer.el
+++ b/phpinspect-buffer.el
@@ -178,7 +178,9 @@ linked with."
  (phpinspect-buffer-project buffer)
  (car func
 (phpi-typedef-delete-method class (cdr func
- (t (error "Invalid index location")
+ (t (phpinspect-message "Invalid index location, reindexing 
buffer")
+(phpinspect-buffer-reindex buffer)
+(error "invalid index location")
 (t (error "Cannot delete index for token %s" token
 
 (cl-defmethod phpinspect-buffer-namespace-at-point ((buffer phpinspect-buffer) 
(point integer))
@@ -582,6 +584,10 @@ continuing execution."
   (phpinspect-buffer-parse buffer)
   (phpinspect-buffer-map buffer))
 
+(define-inline phpinspect--atom-regexp ()
+  "A regular expression that matches (sequences of) atomic tokens."
+  (inline-quote "\\(\\$\\|->\\|::\\)?[^][)(}{[:blank:]\n;'\"]+"))
+
 (cl-defmethod phpinspect-buffer-register-edit
   ((buffer phpinspect-buffer) (start integer) (end integer) (pre-change-length 
integer))
   "Mark a region of the buffer as edited."
@@ -591,7 +597,7 @@ continuing execution."
   ;; they grow or shrink, so their full regions need to be marked for a 
reparse).
   (save-excursion
 (goto-char start)
-(when (looking-back "\\(\\$\\|->\\|::\\)?[^][)(}{[:blank:]\n;'\"]+" nil t)
+(when (looking-back (phpinspect--atom-regexp) nil t)
   (setq start (- start (length (match-string 0
   (setq pre-change-length (+ pre-change-length (length (match-string 
0))
 
@@ -639,4 +645,12 @@ use."
   (when phpinspect-current-buffer
 (phpinspect-buffer-register-edit phpinspect-current-buffer start end 
pre-change-length)))
 
+(define-inline phpinspect-with-current-buffer (buffer &rest body)
+  (declare (indent 1))
+  (inline-letevals (buffer)
+(push 'progn body)
+(inline-quote
+ (with-current-buffer (phpinspect-buffer-buffer ,buffer)
+   ,body
+
 (provide 'phpinspect-buffer)



[elpa] externals/phpinspect 9029072bc9 02/30: Fix bug in indexation of live edited buffer (function with preceding bareword in scope)

2024-08-31 Thread ELPA Syncer
branch: externals/phpinspect
commit 9029072bc9661a9e133941ad1090c6d3b58bb09d
Author: Hugo Thunnissen 
Commit: Hugo Thunnissen 

Fix bug in indexation of live edited buffer (function with preceding 
bareword in scope)

Bug caused an error when inserting "private Foo" before an unscoped class
method.
---
 phpinspect-index.el |  5 +++--
 test/test-buffer.el | 35 +++
 2 files changed, 38 insertions(+), 2 deletions(-)

diff --git a/phpinspect-index.el b/phpinspect-index.el
index f85ed7f60e..e7af78c339 100644
--- a/phpinspect-index.el
+++ b/phpinspect-index.el
@@ -89,7 +89,8 @@ of TYPE, if available."
   type-resolver current add-used-types comment-before))
 
(when (setq return-type (seq-find #'phpinspect-word-p 
declaration))
- (funcall add-used-types (list (cadr return-type)))
+ (when add-used-types
+   (funcall add-used-types (list (cadr return-type
  (setq return-type (funcall type-resolver
 (phpinspect--make-type :name (cadr 
return-type)
 
@@ -137,7 +138,7 @@ If ADD-USED-TYPES is set, it must be a function and will be
 called with a list of the types that are used within the
 function (think \"new\" statements, return types etc.)."
   (phpinspect--log "Indexing function")
-  (let* ((php-func (cadr scope))
+  (let* ((php-func (seq-find #'phpinspect-function-p scope))
  (declaration (cadr php-func))
  name type arguments throws used-types)
 
diff --git a/test/test-buffer.el b/test/test-buffer.el
index 8f8c45a2f5..3a06e06cc5 100644
--- a/test/test-buffer.el
+++ b/test/test-buffer.el
@@ -656,3 +656,38 @@ class AccountStatisticsController {
 (should (phpinspect--type=
  relation-type
  (phpinspect--type-contains (phpinspect--variable-type 
relations))
+
+
+(ert-deftest phpinspect-buffer-parse-incrementally-unfinished-variable-scope ()
+  (with-temp-buffer
+  (let* ((buffer (phpinspect-make-buffer
+  :buffer (current-buffer)
+  :-project (phpinspect--make-dummy-project
+
+
+(setq-local phpinspect-current-buffer buffer)
+(insert
+ "

[elpa] externals/phpinspect 96dd700be5 08/30: Replace phpinspect--class with new phpinspect-typedef structure

2024-08-31 Thread ELPA Syncer
branch: externals/phpinspect
commit 96dd700be53a400d547e9a99e994e03e608045eb
Author: Hugo Thunnissen 
Commit: Hugo Thunnissen 

Replace phpinspect--class with new phpinspect-typedef structure

Typedef is more flexible and allows for more finegrained management of 
methods
and their origins.
---
 phpinspect-buffer.el  |  38 ++--
 phpinspect-cache.el   |   4 +-
 phpinspect-class-struct.el|  78 
 phpinspect-class.el   | 291 
 phpinspect-completion.el  |  26 ++-
 phpinspect-eldoc.el   |  25 +--
 phpinspect-imports.el |   5 -
 phpinspect-index.el   |  27 +--
 phpinspect-method-cell.el | 158 ++-
 phpinspect-project-struct.el  |  14 +-
 phpinspect-project.el | 171 
 phpinspect-resolve.el |  63 +++---
 phpinspect-resolvecontext.el  |   4 +-
 phpinspect-serialize.el   |   4 +-
 phpinspect-suggest.el |  21 +-
 phpinspect-type.el|  24 ++-
 phpinspect-typedef.el | 355 ++
 phpinspect-worker.el  |   2 +-
 phpinspect.el |   2 +-
 test/fixtures/IndexClass1-indexed.eld |   2 +-
 test/fixtures/IndexClass2-indexed.eld |   2 +-
 test/phpinspect-test.el   |   2 +-
 test/test-autoload.el |   2 +-
 test/test-buffer.el   |  62 +++---
 test/test-class.el| 176 -
 test/test-eldoc.el|   2 +-
 test/test-index.el|  88 +
 test/test-typedef.el  |  75 +++
 28 files changed, 976 insertions(+), 747 deletions(-)

diff --git a/phpinspect-buffer.el b/phpinspect-buffer.el
index a056807776..2dafc97e59 100644
--- a/phpinspect-buffer.el
+++ b/phpinspect-buffer.el
@@ -23,7 +23,6 @@
 
 ;;; Code:
 
-(require 'phpinspect-class)
 (require 'phpinspect-parser)
 (require 'phpinspect-bmap)
 (require 'phpinspect-edtrack)
@@ -32,6 +31,7 @@
 (require 'phpinspect-resolvecontext)
 (require 'phpinspect-resolve)
 (require 'phpinspect-util)
+(require 'phpinspect-typedef)
 
 (phpinspect--declare-log-group 'buffer)
 
@@ -158,24 +158,24 @@ linked with."
   (cond ((phpinspect-class-p token)
  (when-let ((class (gethash token (phpinspect-buffer-token-index 
buffer
(remhash token (phpinspect-buffer-token-index buffer))
-   (phpinspect-project-delete-class (phpinspect-buffer-project buffer) 
class)))
+   (phpinspect-project-delete-typedef (phpinspect-buffer-project 
buffer) class)))
 ((or (phpinspect-const-p token) (phpinspect-variable-p token))
  (when-let ((var (gethash token (phpinspect-buffer-token-index 
buffer
(remhash token (phpinspect-buffer-token-index buffer))
-   (when-let ((class (phpinspect-project-get-class
+   (when-let ((class (phpinspect-project-get-typedef
   (phpinspect-buffer-project buffer)
   (car var
- (phpinspect--class-delete-variable class (cdr var)
+ (phpi-typedef-delete-variable class (cdr var)
 ((phpinspect-function-p token)
  (when-let ((func (gethash token (phpinspect-buffer-token-index 
buffer
(remhash token (phpinspect-buffer-token-index buffer))
(cond ((phpinspect-project-p (car func))
   (phpinspect-project-delete-function 
(phpinspect-buffer-project buffer) (phpinspect--function-name-symbol (cdr 
func
  ((phpinspect--type-p (car func))
-  (when-let ((class (phpinspect-project-get-class
+  (when-let ((class (phpinspect-project-get-typedef
  (phpinspect-buffer-project buffer)
  (car func
-(phpinspect--class-delete-method class (cdr func
+(phpi-typedef-delete-method class (cdr func
  (t (error "Invalid index location")
 (t (error "Cannot delete index for token %s" token
 
@@ -241,11 +241,11 @@ linked with."
   (dolist (deleted deleted-classes)
 (if (and (setq class (phpinspect-buffer-get-index-for-token
   buffer (phpinspect-meta-token deleted)))
- (setq replaced (assoc (phpinspect--class-declaration 
class) new-declarations #'equal)))
+ (setq replaced (assoc (phpi-typedef-declaration class) 
new-declarations #'equal)))
 (pcase-let ((`(,imports ,namespace-name) 
(phpinspect-get-token-index-context namespaces buffer-imports (cdr replaced
   (phpinspect-buffer-update-index-reference-for-token
buffer (phpinspect-meta-token 

[elpa] externals/phpinspect dd77e3c67b 03/30: Bump version to 1.2.1

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

Bump version to 1.2.1
---
 phpinspect-autoload.el | 2 +-
 phpinspect-bmap.el | 2 +-
 phpinspect-buffer.el   | 2 +-
 phpinspect-cache.el| 2 +-
 phpinspect-changeset.el| 2 +-
 phpinspect-class-struct.el | 2 +-
 phpinspect-class.el| 2 +-
 phpinspect-completion.el   | 2 +-
 phpinspect-edtrack.el  | 2 +-
 phpinspect-eldoc.el| 2 +-
 phpinspect-fs.el   | 2 +-
 phpinspect-imports.el  | 2 +-
 phpinspect-index.el| 2 +-
 phpinspect-meta.el | 2 +-
 phpinspect-parse-context.el| 2 +-
 phpinspect-parser.el   | 2 +-
 phpinspect-pipeline.el | 2 +-
 phpinspect-project-struct.el   | 2 +-
 phpinspect-project.el  | 2 +-
 phpinspect-queue.el| 2 +-
 phpinspect-resolve.el  | 2 +-
 phpinspect-resolvecontext.el   | 2 +-
 phpinspect-serialize.el| 2 +-
 phpinspect-splayt.el   | 2 +-
 phpinspect-suggest.el  | 2 +-
 phpinspect-toc.el  | 2 +-
 phpinspect-token-predicates.el | 2 +-
 phpinspect-type.el | 2 +-
 phpinspect-util.el | 2 +-
 phpinspect-worker.el   | 2 +-
 phpinspect.el  | 2 +-
 31 files changed, 31 insertions(+), 31 deletions(-)

diff --git a/phpinspect-autoload.el b/phpinspect-autoload.el
index 3e818c7058..16ef66f715 100644
--- a/phpinspect-autoload.el
+++ b/phpinspect-autoload.el
@@ -4,7 +4,7 @@
 
 ;; Author: Hugo Thunnissen 
 ;; Keywords: php, languages, tools, convenience
-;; Version: 1.2.0
+;; Version: 1.2.1
 
 ;; This program is free software; you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
diff --git a/phpinspect-bmap.el b/phpinspect-bmap.el
index 92fef9fc97..b8bfd7d0a0 100644
--- a/phpinspect-bmap.el
+++ b/phpinspect-bmap.el
@@ -4,7 +4,7 @@
 
 ;; Author: Hugo Thunnissen 
 ;; Keywords: php, languages, tools, convenience
-;; Version: 1.2.0
+;; Version: 1.2.1
 
 ;; This program is free software; you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
diff --git a/phpinspect-buffer.el b/phpinspect-buffer.el
index 32af73eb5a..a056807776 100644
--- a/phpinspect-buffer.el
+++ b/phpinspect-buffer.el
@@ -4,7 +4,7 @@
 
 ;; Author: Hugo Thunnissen 
 ;; Keywords: php, languages, tools, convenience
-;; Version: 1.2.0
+;; Version: 1.2.1
 
 ;; This program is free software; you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
diff --git a/phpinspect-cache.el b/phpinspect-cache.el
index 43cefe8feb..d8f2d1265f 100644
--- a/phpinspect-cache.el
+++ b/phpinspect-cache.el
@@ -4,7 +4,7 @@
 
 ;; Author: Hugo Thunnissen 
 ;; Keywords: php, languages, tools, convenience
-;; Version: 1.2.0
+;; Version: 1.2.1
 
 ;; This program is free software; you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
diff --git a/phpinspect-changeset.el b/phpinspect-changeset.el
index 308d4daf06..cdcda5fe87 100644
--- a/phpinspect-changeset.el
+++ b/phpinspect-changeset.el
@@ -4,7 +4,7 @@
 
 ;; Author: Hugo Thunnissen 
 ;; Keywords: php, languages, tools, convenience
-;; Version: 1.2.0
+;; Version: 1.2.1
 
 ;; This program is free software; you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
diff --git a/phpinspect-class-struct.el b/phpinspect-class-struct.el
index 89a811459c..9b7131c1ad 100644
--- a/phpinspect-class-struct.el
+++ b/phpinspect-class-struct.el
@@ -4,7 +4,7 @@
 
 ;; Author: Hugo Thunnissen 
 ;; Keywords: php, languages, tools, convenience
-;; Version: 1.2.0
+;; Version: 1.2.1
 
 ;; This program is free software; you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
diff --git a/phpinspect-class.el b/phpinspect-class.el
index f7ac95d421..21c06ba69b 100644
--- a/phpinspect-class.el
+++ b/phpinspect-class.el
@@ -4,7 +4,7 @@
 
 ;; Author: Hugo Thunnissen 
 ;; Keywords: php, languages, tools, convenience
-;; Version: 1.2.0
+;; Version: 1.2.1
 
 ;; This program is free software; you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
diff --git a/phpinspect-completion.el b/phpinspect-completion.el
index 9c222cdec6..d0c4675888 100644
--- a/phpinspect-completion.el
+++ b/phpinspect-completion.el
@@ -4,7 +4,7 @@
 
 ;; Author: Hugo Thunnissen 
 ;; Keywords: php, languages, tools, convenience
-;; Version: 1.2.0
+;; Version: 1.2.1
 
 ;; This program is free software; you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
diff --git a/phpinspect-edtrack.el b/phpinspect-edtrack.el
index 5cbe37ce81..9c4ddb31cd 100644
--- a/p

[elpa] externals/phpinspect f1066c3c7f 29/30: Remove debug statements

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

Remove debug statements
---
 test/test-buffer.el | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/test/test-buffer.el b/test/test-buffer.el
index 89d44950b9..2c35464362 100644
--- a/test/test-buffer.el
+++ b/test/test-buffer.el
@@ -802,14 +802,11 @@ class TestClass
 
   (phpinspect-buffer-parse buffer 'no-interrupt)
   (phpinspect-buffer-update-project-index buffer)
-  (pp (phpinspect-buffer-tree buffer))
 
   (let ((typedef (phpinspect-project-get-typedef project class-type)))
(should typedef)
 
(should (length= (phpi-typedef-get-methods typedef) 1 ))
 
-   (pp (phpi-typedef-get-methods typedef))
-
(let ((method (phpi-typedef-get-method typedef "testMethod")))
  (should method))



[elpa] externals/phpinspect eec48eb6ea 28/30: Add test for update of method names in buffers + fix bug in completion

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

Add test for update of method names in buffers + fix bug in completion
---
 phpinspect-completion.el |  3 +++
 test/test-buffer.el  | 37 -
 2 files changed, 39 insertions(+), 1 deletion(-)

diff --git a/phpinspect-completion.el b/phpinspect-completion.el
index 2b63db9ef4..cd7ba0b4dc 100644
--- a/phpinspect-completion.el
+++ b/phpinspect-completion.el
@@ -378,6 +378,9 @@ Returns list of `phpinspect--completion'."
   "Create a `phpinspect--completion` for COMPLETION-CANDIDATE."
   (phpinspect-make-fn-completion completion-candidate))
 
+(cl-defmethod phpinspect--make-completion ((completion-candidate 
phpinspect-property))
+  (phpinspect--make-completion (phpi-prop-definition completion-candidate)))
+
 (cl-defmethod phpinspect--make-completion
   ((completion-candidate phpinspect--variable))
   (phpinspect--construct-completion
diff --git a/test/test-buffer.el b/test/test-buffer.el
index 33229e71d8..89d44950b9 100644
--- a/test/test-buffer.el
+++ b/test/test-buffer.el
@@ -755,7 +755,9 @@ class Bar {
  (:word "class")
  (:word "A"))
 (:block
- (:public
+ (:public ;; This test explicitly tests that the
+  ;; "public" word doesn't lose its first
+  ;; character after edits.
   (:function
(:declaration
 (:word "function")
@@ -778,3 +780,36 @@ class Bar {
(setq result (phpinspect-buffer-parse buffer 'no-interrupt))
(should result)
(should (equal expected result))
+
+(ert-deftest phpinspect-buffer-index-update-method-name ()
+(with-temp-buffer
+  (let* ((project (phpinspect--make-project :autoload 
(phpinspect-make-autoloader)))
+(buffer (phpinspect-make-buffer :buffer (current-buffer) :-project 
project))
+(class-type (phpinspect--make-type :name "\\NS\\TestClass" 
:fully-qualified t)))
+  (insert "

[nongnu] elpa/hyperdrive updated (5e34cc22d0 -> 9e7ebe32ba)

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

  from  5e34cc22d0 Comment: (h/stop) Explain order of cancelling timer
   new  41646669a9 Fix: (h/stop) Set h//gateway-starting-timer to nil
   new  3d70849484 Tidy: (hyperdrive-start) Error phrasing
   new  ee98e49ffb Tidy: (h/restart) Use with-demoted-errors
   new  ed23b13af3 Docs: Document h/gateway-dead-hook
   new  d80f83006d Add: (hyperdrive-gateway) Customization group
   new  e3d22082cf Tidy: Move gateway configuration into configuration 
section
   new  9e7ebe32ba Tidy: Put internals at same section level as 
configuration


Summary of changes:
 doc/hyperdrive.org  |   4 ++
 doc/hyperdrive.texi |   4 ++
 hyperdrive-vars.el  | 148 +++-
 hyperdrive.el   |   8 +--
 4 files changed, 89 insertions(+), 75 deletions(-)



[elpa] externals/phpinspect 4f85ef04a5 23/30: Remove debug statement

2024-08-31 Thread ELPA Syncer
branch: externals/phpinspect
commit 4f85ef04a51faff7b2ad315bec501f0ccd410bdc
Author: Hugo Thunnissen 
Commit: Hugo Thunnissen 

Remove debug statement
---
 phpinspect-completion.el | 1 -
 1 file changed, 1 deletion(-)

diff --git a/phpinspect-completion.el b/phpinspect-completion.el
index d8c7960475..5102d92156 100644
--- a/phpinspect-completion.el
+++ b/phpinspect-completion.el
@@ -302,7 +302,6 @@ Returns list of `phpinspect--completion'."
   ;; We can safely use the cached list: All parameters used
   ;; for the last completion seem to match the current one.
   (progn
-(message "using cached list")
 ;; Update the region, this is necessary for
 ;; completion-at-point to determine what is being
 ;; completed.



[nongnu] elpa/gptel 3f1026ecff: gptel: Set prompt-end correctly when creating prompts

2024-08-31 Thread ELPA Syncer
branch: elpa/gptel
commit 3f1026ecff8ebf1862af28d589d77231ead5cfa8
Author: Karthik Chikmagalur 
Commit: Karthik Chikmagalur 

gptel: Set prompt-end correctly when creating prompts

* gptel.el (gptel--create-prompt): Set the prompt end correctly
before parsing the buffer to create the prompt.  This fixes the
error where Org buffers were scanned from the beginning up to the
cursor instead of to a point specified to `gptel--create-prompt`.
---
 gptel.el | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/gptel.el b/gptel.el
index e642c00cf6..9f947dd282 100644
--- a/gptel.el
+++ b/gptel.el
@@ -1130,6 +1130,7 @@ there."
 (save-restriction
   (let* ((max-entries (and gptel--num-messages-to-send
(* 2 gptel--num-messages-to-send)))
+ (prompt-end (or prompt-end (point-max)))
  (prompts
   (cond
((use-region-p)
@@ -1139,8 +1140,9 @@ there."
 (gptel--parse-buffer gptel-backend max-entries))
((derived-mode-p 'org-mode)
 (require 'gptel-org)
-(gptel-org--create-prompt (or prompt-end (point-max
-   (t (goto-char (or prompt-end (point-max)))
+(goto-char prompt-end)
+(gptel-org--create-prompt prompt-end))
+   (t (goto-char prompt-end)
   (gptel--parse-buffer gptel-backend max-entries)
 ;; Inject context chunks into the last user prompt if required
 ;; NOTE: prompts is modified in place



[nongnu] elpa/magit updated (fbcd6d67a6 -> 0aa26864e3)

2024-08-31 Thread Jonas Bernoulli via
tarsius pushed a change to branch elpa/magit.

  from  fbcd6d67a6 git-commit-setup: Cosmetics
   new  8d1a355b61 Update changelog
   new  c170fcf399 Distribute git-commit.el as part of magit
   new  0aa26864e3 Release version 4.1.0


Summary of changes:
 CHANGELOG   |  20 +-
 docs/magit-section.org  |   4 +-
 docs/magit-section.texi |   4 +-
 docs/magit.org  |   4 +-
 docs/magit.texi |   4 +-
 lisp/git-commit.el  | 181 +---
 lisp/magit-section.el   |   2 +-
 lisp/magit.el   |   9 ++-
 8 files changed, 79 insertions(+), 149 deletions(-)



[nongnu] elpa/hyperdrive 0333750f78 2/7: Change: (h/start) Error if gateway is stopping

2024-08-31 Thread ELPA Syncer
branch: elpa/hyperdrive
commit 0333750f78d7caaad5debf1fbcd22deb42d0fe21
Author: Joseph Turner 
Commit: Joseph Turner 

Change: (h/start) Error if gateway is stopping
---
 hyperdrive.el | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/hyperdrive.el b/hyperdrive.el
index 42959f21f6..2f92403eb2 100644
--- a/hyperdrive.el
+++ b/hyperdrive.el
@@ -100,6 +100,8 @@ which see."
(h/message "Gateway already running."))
   ((h//gateway-ready-p)
(h/message "Gateway already running outside of Emacs."))
+  (h//gateway-stopping-timer
+   (h/user-error "Wait for gateway to stop before restarting"))
   ((h/gateway-live-p)
(h/message "Gateway already starting."))
   ((and (not gateway-installed-p) (h/gateway-installing-p))



[elpa] externals/triples d0c43faed8 2/5: Fix lint issues

2024-08-31 Thread ELPA Syncer
branch: externals/triples
commit d0c43faed85ed7e12a32733dba4bf027960a09f6
Author: Andrew Hyatt 
Commit: Andrew Hyatt 

Fix lint issues
---
 Eldev  |  7 -
 triples-backups.el | 18 +++-
 triples-upgrade.el |  9 +++---
 triples.el | 80 +-
 4 files changed, 71 insertions(+), 43 deletions(-)

diff --git a/Eldev b/Eldev
index eee02cb91e..d20e829b46 100644
--- a/Eldev
+++ b/Eldev
@@ -1,6 +1,11 @@
-; -*- mode: emacs-lisp; lexical-binding: t -*-
+; -*- mode: emacs-lisp; 
lexical-binding: t -*-
 
 (eldev-use-package-archive 'melpa)
 (eldev-use-plugin 'maintainer)
 (eldev-add-extra-dependencies 'test '(:package emacsql))
 (eldev-add-extra-dependencies 'test '(:package kv))
+
+;; To both deal with emacsql and built-in sqlite in various versions, we need 
to
+;; weird things that package linting doesn't like.  So we disable this specific
+;; kind of linting.
+(add-to-list 'eldev-lint-disabled 'package)
diff --git a/triples-backups.el b/triples-backups.el
index e382f5f9da..de69353525 100644
--- a/triples-backups.el
+++ b/triples-backups.el
@@ -19,16 +19,18 @@
 ;; along with GNU Emacs.  If not, see .
 
 ;;; Commentary:
-;; This provides backup functionality. The information about how and when to do
+;; This provides backup functionality.  The information about how and when to 
do
 ;; backups lives in the database itself, on a special entity `database'.
 
 (require 'triples)
 
+;;; Code:
+
 (defun triples-backups-setup (db num-to-keep strategy)
   "Set DB's backup strategy.
-NUM-TO-KEEP is the number of backup files to keep. Older ones are
-removed. STRATEGY is a symbol that corresponds to a function
-`triples-backups-strategy-STRATEGY'. This function must always be
+NUM-TO-KEEP is the number of backup files to keep.  Older ones
+are removed.  STRATEGY is a symbol that corresponds to a function
+`triples-backups-strategy-STRATEGY'.  This function must always be
 loaded before any client of this db calls
 `triples-backups-maybe-backup', so adding your own may not always
 be appropriate."
@@ -40,8 +42,10 @@ be appropriate."
   :strategy strategy 
:last-update-time (time-convert (current-time) 'integer
 
 (defun triples-backups-configuration (db)
-  "Returns the backup configuration set by `triples-backups-setup'.
-If no one has ever run that on this database, `nil' is returned."
+  "Return the backup configuration set by `triples-backups-setup'.
+If no one has ever run that on this database, nil is returned.
+
+DB is the database to get the configuration for."
   (triples-get-type db 'database 'backup))
 
 (defun triples-backups-last-update-time (db)
@@ -57,7 +61,7 @@ default to the standard triple database given in
  (strategy-func (intern (format "triples-backups-strategy-%s"
 (plist-get backup-info :strategy)
 (unless backup-info
-  (error "`triples-backups-setup' needs to be called on this database 
before trying to back up."))
+  (error "`triples-backups-setup' needs to be called on this database 
before trying to back up"))
 (unless (fboundp strategy-func)
   (display-warning
'triples
diff --git a/triples-upgrade.el b/triples-upgrade.el
index 4a144c0ed2..62d262166e 100644
--- a/triples-upgrade.el
+++ b/triples-upgrade.el
@@ -20,7 +20,7 @@
 
 ;;; Commentary:
 ;; Occasionally, changes in the triples library are not backwards-compatible,
-;; and require upgrading the database. This file contains functions to do those
+;; and require upgrading the database.  This file contains functions to do 
those
 ;; ugprades, along with instructions an how and when to use them.
 
 ;;; Code:
@@ -32,10 +32,10 @@
 (defun triples-upgrade-to-0.3 (db)
   "Upgrade the DB to version 0.3.
 This will convert all stringified integers stored with sqlite to
-actual integers. On emacs version before 29, it will not do
+actual integers.  On Emacs version before 29, it will not do
 anything, since only the built-in sqlite data needs upgrading.
 Callers should force a backup to happen before calling this,
-with `(triples-backup db file most-positive-fixnum)'.
+by calling triples-backup with `most-positive-fixnum'.
 
 This function only handles the case where users transition from
 emacsql to sqlite, it is assumed that users don't transition from
@@ -83,4 +83,5 @@ be correct by default."
   (message "Upgraded all stringified integers in triple database to actual 
integers"
 
 (provide 'triples-upgrade)
-;; triples-upgrade ends here
+
+;;; triples-upgrade.el ends here
diff --git a/triples.el b/triples.el
index 31db47a55c..2295e98d7d 100644
--- a/triples.el
+++ b/triples.el
@@ -22,11 +22,11 @@
 
 ;;; Commentary:
 ;; Triples is a library implementing a data storage based on the idea of
-;; triples: subject, predicate, objects, plus some extra metadata. This data
+;; 

[nongnu] elpa/hyperdrive ac70ecfaa1 1/7: Change: (h/stop) Error if gateway already stopped

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

Change: (h/stop) Error if gateway already stopped
---
 hyperdrive.el | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/hyperdrive.el b/hyperdrive.el
index 71b8e87ede..42959f21f6 100644
--- a/hyperdrive.el
+++ b/hyperdrive.el
@@ -120,7 +120,11 @@ which see."
 Calls function set in option `hyperdrive-gateway-stop-function',
 which see."
   (interactive)
-  (funcall h/gateway-stop-function)
+  (cond
+   ((and (not (h//gateway-ready-p)) (not (h/gateway-live-p)))
+(h/user-error "Gateway already stopped"))
+   (t
+(funcall h/gateway-stop-function)))
   (when (timerp h//gateway-starting-timer)
 (cancel-timer h//gateway-starting-timer))
   (h//gateway-wait-for-dead))



[elpa] externals/org 07dd3bcae6: org-columns-compile-format: Fix regexp

2024-08-31 Thread ELPA Syncer
branch: externals/org
commit 07dd3bcae6b7b5e0692fc40dd307a7e841179b52
Author: Slawomir Grochowski 
Commit: Ihor Radchenko 

org-columns-compile-format: Fix regexp

* lisp/org-colview.el (org-columns-compile-format): Refactor
string-based regexp to `rx' form.  Fix regexp: When an empty
parentheses () is in the column format string then the regexp
can't capture the operator which is in curly brackets {}.
(org-columns-new): prevent adding empty parantheses '()' to 'column
format string' when 'column title' is empty.
* testing/lisp.test-org-colview.el (test-org-colview/compile-format):
New test case: check if operator will be captured when there is
empty parantheses '()' in 'column format string'.

Reported-by: Sławomir Grochowski 
Link: https://list.orgmode.org/orgmode/877ccczt83@gmail.com/
---
 lisp/org-colview.el  | 20 +---
 testing/lisp/test-org-colview.el |  7 ++-
 2 files changed, 19 insertions(+), 8 deletions(-)

diff --git a/lisp/org-colview.el b/lisp/org-colview.el
index bc93941e47..a9eb2e0b63 100644
--- a/lisp/org-colview.el
+++ b/lisp/org-colview.el
@@ -935,8 +935,10 @@ details."
 (mapcar #'list (org-buffer-property-keys t nil t))
 nil nil (nth 0 spec
   (list prop
-(read-string (format "Column title [%s]: " prop)
- (nth 1 spec))
+ ;; Discard useless whitespace-only titles.
+(org-string-nw-p
+  (read-string (format "Column title [%s]: " prop)
+  (nth 1 spec)))
 ;; Use `read-string' instead of `read-number'
 ;; to allow empty width.
 (let ((w (read-string
@@ -1183,14 +1185,18 @@ This function updates 
`org-columns-current-fmt-compiled'."
   (setq org-columns-current-fmt-compiled nil)
   (let ((start 0))
 (while (string-match
-   "%\\([0-9]+\\)?\\([[:alnum:]_-]+\\)\\(?:(\\([^)]+\\))\\)?\
-\\(?:{\\([^}]+\\)}\\)?\\s-*"
-   fmt start)
+(rx "%"
+(optional (group (+ digit)))
+(group (one-or-more (in alnum "_-")))
+(optional "(" (group (zero-or-more (not (any ")" ")")
+(optional "{" (group (zero-or-more (not (any "}" "}")
+(zero-or-more space))
+   fmt start)
   (setq start (match-end 0))
   (let* ((width (and (match-end 1) (string-to-number (match-string 1 
fmt
 (prop (match-string-no-properties 2 fmt))
-(title (or (match-string-no-properties 3 fmt) prop))
-(operator (match-string-no-properties 4 fmt)))
+(title (or (org-string-nw-p (match-string-no-properties 3 fmt)) 
prop))
+(operator (org-string-nw-p (match-string-no-properties 4 fmt
(push (if (not operator) (list (upcase prop) title width nil nil)
(let (printf)
  (when (string-match ";" operator)
diff --git a/testing/lisp/test-org-colview.el b/testing/lisp/test-org-colview.el
index 6b603c31b7..623ee62838 100644
--- a/testing/lisp/test-org-colview.el
+++ b/testing/lisp/test-org-colview.el
@@ -90,7 +90,12 @@
   (should
(equal `(("ITEM" "ITEM" nil "+" "%.1f"))
   (org-columns-compile-format
-   "%ITEM{+;%.1f}"
+   "%ITEM{+;%.1f}")))
+  (should
+   ;; Bug https://list.orgmode.org/orgmode/877ccczt83@gmail.com/
+   (equal '(("ITEM" "ITEM" nil "X" nil))
+  (org-columns-compile-format
+   "%ITEM(){X}"
 
 (ert-deftest test-org-colview/substring-below-width ()
   "Test `org-columns--truncate-below-width'."



[elpa] externals/phpinspect bf03a87c7f 17/30: Remove obsolete class test

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

Remove obsolete class test
---
 test/test-class.el | 113 -
 1 file changed, 113 deletions(-)

diff --git a/test/test-class.el b/test/test-class.el
deleted file mode 100644
index dbf03762dd..00
--- a/test/test-class.el
+++ /dev/null
@@ -1,113 +0,0 @@
-;; test-class.el --- Unit tests for phpinspect.el  -*- lexical-binding: t; -*-
-
-;; Copyright (C) 2021-2023 Free Software Foundation, Inc.
-
-;; Author: Hugo Thunnissen 
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program.  If not, see .
-
-;;; Commentary:
-
-;;
-
-;;; Code:
-
-;; (require 'ert)
-;; (require 'phpinspect-typedef)
-;; (require 'phpinspect-project)
-;; (require 'subr-x)
-;; (require 'phpinspect-worker)
-
-;; (phpinspect-ensure-worker)
-
-;; (ert-deftest phpinspect--merge-method-return-type ()
-;;   (let* ((class-name (phpinspect--make-type :name "\\Something"))
-;;  (method1 (phpinspect--make-function
-;;   :name "fun"
-;;   :return-type (phpinspect--make-type :name "\\array")))
-;;  (method2 (phpinspect--make-function
-;;:name "fun"
-;;:return-type (phpinspect--make-type :name "\\bool")))
-;;  (result (phpinspect--merge-method class-name method1 method2)))
-
-;; (should (phpinspect--type= (phpinspect--make-type :name "\\bool")
-;;(phpinspect--function-return-type result)))
-;; (should (phpinspect--type= (phpinspect--make-type :name "\\bool")
-;;(phpinspect--function-return-type 
method1)
-
-;; (ert-deftest phpinspect-class-incorporate ()
-;;   (let ((class (phpinspect--make-class-generated))
-;; (other-class (phpinspect--make-class-generated)))
-;; (phpinspect--class-set-index class `(phpinspect--indexed-class 
(class-name . ,(phpinspect--make-type :name "Class"
-;; (phpinspect--class-set-index other-class `(phpinspect--indexed-class 
(class-name . ,(phpinspect--make-type :name "OtherClass"
-;; (phpinspect--class-update-method
-;;  class (phpinspect--make-function :scope '(:private) :name "test" 
:return-type phpinspect--null-type))
-
-;; (phpinspect--class-update-method
-;;  other-class (phpinspect--make-function :scope '(:protected) :name 
"other-test" :return-type phpinspect--null-type))
-
-;; (phpinspect--class-incorporate class other-class)
-
-;; (should (= 2 (length (hash-table-values (phpinspect--class-methods 
class)
-;; (should (= 1 (length (hash-table-values 
(phpinspect--class-subscriptions other-class)
-
-;; (phpinspect--class-set-index
-;;  class
-;;  `(phpinspect--indexed-class
-;;(complete . t)
-;;(class-name . ,(phpinspect--make-type :name "Class"))
-;;(methods . ,(list (phpinspect--make-function :name "test" 
:return-type phpinspect--null-type)
-;;  (phpinspect--make-function :name "foobar" 
:return-type phpinspect--null-type)
-
-;; (should (= 3 (length (hash-table-values (phpinspect--class-methods 
class)
-
-;; (phpinspect--class-incorporate class other-class)
-;; (should (= 3 (length (hash-table-values (phpinspect--class-methods 
class)
-
-;; (phpinspect--class-set-index
-;;  class
-;;  `(phpinspect--indexed-class
-;;(complete . t)
-;;(class-name . ,(phpinspect--make-type :name "Class"))
-;;(methods . ,(list (phpinspect--make-function :name "foobar" 
:return-type phpinspect--null-type)
-
-;; (should (= 2 (length (hash-table-values (phpinspect--class-methods 
class)
-;; (should (phpinspect--class-get-method class (phpinspect-intern-name 
"other-test")))
-;; (should (phpinspect--class-get-method class (phpinspect-intern-name 
"foobar")))
-
-;; (phpinspect--class-set-index
-;;  class
-;;  `(phpinspect--indexed-class
-;;(complete . t)
-;;(class-name . ,(phpinspect--make-type :name "Class"))
-;;(methods)))
-
-;; (should (= 1 (length (hash-table-values (phpinspect--class-methods 
class)
-;; (should (phpinspect--class-get-method class (phpinspect-intern-name 
"other-test")))
-
-;; (phpinspect--class-incorporate class other-class)
-;; (should (= 1 

[elpa] externals/triples 068a69ed10 4/5: Merge pull request #9 from ahyatt/eldev

2024-08-31 Thread ELPA Syncer
branch: externals/triples
commit 068a69ed10941e5a1d8742d80d916161abe413cf
Merge: 79365099c1 ed22395fb1
Author: Andrew Hyatt 
Commit: GitHub 

Merge pull request #9 from ahyatt/eldev

Add eldev and fix lint issues
---
 .github/workflows/ci.yaml | 39 +++
 Eldev | 13 
 triples-backups.el| 18 ++-
 triples-upgrade.el|  9 +++---
 triples.el| 80 +--
 5 files changed, 117 insertions(+), 42 deletions(-)

diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
new file mode 100644
index 00..c8706347fe
--- /dev/null
+++ b/.github/workflows/ci.yaml
@@ -0,0 +1,39 @@
+name: CI
+
+on:
+  push:
+branches: [ "main" ]
+  pull_request:
+branches: [ "*" ]
+
+jobs:
+  test:
+runs-on: ubuntu-latest
+environment: Continuous Integration
+strategy:
+  matrix:
+emacs_version:
+  # 28.1 and 28.2 should be tested, but they are not working for 
reasons
+  # I haven't figured out yet, and I haven't been able to test manually
+  # for other reasons I haven't figured out yet.
+  - 29.1
+  - 29.2
+steps:
+- name: Set up Emacs
+  uses: jcs090218/setup-emacs@master
+  with:
+version: ${{matrix.emacs_version}}
+
+- name: Install Eldev
+  uses: emacs-eldev/setup-eldev@v1
+
+- name: Check out the source code
+  uses: actions/checkout@v4
+
+- name: Lint the project
+  run: |
+eldev -p -dtT lint
+
+- name: Test the project
+  run: |
+eldev -p -dtT test
diff --git a/Eldev b/Eldev
new file mode 100644
index 00..f55d1a37b1
--- /dev/null
+++ b/Eldev
@@ -0,0 +1,13 @@
+; -*- mode: emacs-lisp; 
lexical-binding: t -*-
+
+(eldev-use-package-archive 'melpa)
+(eldev-use-plugin 'maintainer)
+(eldev-add-extra-dependencies 'test '(:package emacsql))
+(eldev-add-extra-dependencies 'test '(:package kv))
+(eldev-add-extra-dependencies 'emacs '(:package emacsql))
+(eldev-add-extra-dependencies 'emacs '(:package kv))
+
+;; To both deal with emacsql and built-in sqlite in various versions, we need 
to
+;; weird things that package linting doesn't like.  So we disable this specific
+;; kind of linting.
+(add-to-list 'eldev-lint-disabled 'package)
diff --git a/triples-backups.el b/triples-backups.el
index e382f5f9da..de69353525 100644
--- a/triples-backups.el
+++ b/triples-backups.el
@@ -19,16 +19,18 @@
 ;; along with GNU Emacs.  If not, see .
 
 ;;; Commentary:
-;; This provides backup functionality. The information about how and when to do
+;; This provides backup functionality.  The information about how and when to 
do
 ;; backups lives in the database itself, on a special entity `database'.
 
 (require 'triples)
 
+;;; Code:
+
 (defun triples-backups-setup (db num-to-keep strategy)
   "Set DB's backup strategy.
-NUM-TO-KEEP is the number of backup files to keep. Older ones are
-removed. STRATEGY is a symbol that corresponds to a function
-`triples-backups-strategy-STRATEGY'. This function must always be
+NUM-TO-KEEP is the number of backup files to keep.  Older ones
+are removed.  STRATEGY is a symbol that corresponds to a function
+`triples-backups-strategy-STRATEGY'.  This function must always be
 loaded before any client of this db calls
 `triples-backups-maybe-backup', so adding your own may not always
 be appropriate."
@@ -40,8 +42,10 @@ be appropriate."
   :strategy strategy 
:last-update-time (time-convert (current-time) 'integer
 
 (defun triples-backups-configuration (db)
-  "Returns the backup configuration set by `triples-backups-setup'.
-If no one has ever run that on this database, `nil' is returned."
+  "Return the backup configuration set by `triples-backups-setup'.
+If no one has ever run that on this database, nil is returned.
+
+DB is the database to get the configuration for."
   (triples-get-type db 'database 'backup))
 
 (defun triples-backups-last-update-time (db)
@@ -57,7 +61,7 @@ default to the standard triple database given in
  (strategy-func (intern (format "triples-backups-strategy-%s"
 (plist-get backup-info :strategy)
 (unless backup-info
-  (error "`triples-backups-setup' needs to be called on this database 
before trying to back up."))
+  (error "`triples-backups-setup' needs to be called on this database 
before trying to back up"))
 (unless (fboundp strategy-func)
   (display-warning
'triples
diff --git a/triples-upgrade.el b/triples-upgrade.el
index 4a144c0ed2..62d262166e 100644
--- a/triples-upgrade.el
+++ b/triples-upgrade.el
@@ -20,7 +20,7 @@
 
 ;;; Commentary:
 ;; Occasionally, changes in the triples library are not backwards-compatible,
-;; and require upgrading the database. This file contains functions to do those
+;;

[elpa] externals/triples cf95922d9a 1/2: Fix whitespace to conform to a standard auto-formatting

2024-08-31 Thread ELPA Syncer
branch: externals/triples
commit cf95922d9a537bfc08bdd527bffd88c463b5432d
Author: Andrew Hyatt 
Commit: Andrew Hyatt 

Fix whitespace to conform to a standard auto-formatting
---
 triples-backups.el |  10 +--
 triples-test.el| 203 ++---
 triples-upgrade.el |  62 
 triples.el | 136 +--
 4 files changed, 205 insertions(+), 206 deletions(-)

diff --git a/triples-backups.el b/triples-backups.el
index 2e8036b4ab..e382f5f9da 100644
--- a/triples-backups.el
+++ b/triples-backups.el
@@ -33,11 +33,11 @@ loaded before any client of this db calls
 `triples-backups-maybe-backup', so adding your own may not always
 be appropriate."
   (triples-with-transaction db
-(triples-add-schema db 'backup '(num-to-keep :base/unique t :base/type 
integer)
-'(strategy :base/unique t :base/type symbol)
-'(last-update-time :base/unique t :base/type integer))
-(triples-set-type db 'database 'backup :num-to-keep num-to-keep
-  :strategy strategy :last-update-time (time-convert 
(current-time) 'integer
+(triples-add-schema db 'backup '(num-to-keep 
:base/unique t :base/type integer)
+'(strategy :base/unique t 
:base/type symbol)
+'(last-update-time 
:base/unique t :base/type integer))
+(triples-set-type db 'database 'backup 
:num-to-keep num-to-keep
+  :strategy strategy 
:last-update-time (time-convert (current-time) 'integer
 
 (defun triples-backups-configuration (db)
   "Returns the backup configuration set by `triples-backups-setup'.
diff --git a/triples-test.el b/triples-test.el
index 039aa74d18..ca637a9a8d 100644
--- a/triples-test.el
+++ b/triples-test.el
@@ -195,38 +195,38 @@ easily debug into it.")
(let ((triples-sqlite-interface 'builtin))
  (triples-test-with-temp-db
(triples-add-schema db 'person
- '(name :base/unique t :base/type string)
- '(age :base/unique t :base/type integer))
- (triples-set-type db subject 'person :name "Alice Aardvark" 
:age 41)
+   '(name :base/unique t :base/type string)
+   '(age :base/unique t :base/type integer))
+   (triples-set-type db subject 'person :name "Alice Aardvark" 
:age 41)
+   (should (equal (triples-get-type db subject 'person)
+  '(:age 41 :name "Alice Aardvark")))
+   (triples-close db)
+   (let* ((triples-sqlite-interface 'emacsql)
+  (db (triples-connect db-file)))
  (should (equal (triples-get-type db subject 'person)
 '(:age 41 :name "Alice Aardvark")))
- (triples-close db)
- (let* ((triples-sqlite-interface 'emacsql)
-(db (triples-connect db-file)))
-   (should (equal (triples-get-type db subject 'person)
-  '(:age 41 :name "Alice Aardvark")))
-   (triples-close db))
- ;; Just so the last close will work.
- (setq db (triples-connect db-file))
+ (triples-close db))
+   ;; Just so the last close will work.
+   (setq db (triples-connect db-file))
 
 (ert-deftest triples-test-emacsql-builtin-compat ()
   (cl-loop for subject in '(1 a "a") do
(let ((triples-sqlite-interface 'emacsql))
  (triples-test-with-temp-db
(triples-add-schema db 'person
- '(name :base/unique t :base/type string)
- '(age :base/unique t :base/type integer))
- (triples-set-type db subject 'person :name "Alice Aardvark" 
:age 41)
+   '(name :base/unique t :base/type string)
+   '(age :base/unique t :base/type integer))
+   (triples-set-type db subject 'person :name "Alice Aardvark" 
:age 41)
+   (should (equal (triples-get-type db subject 'person)
+  '(:age 41 :name "Alice Aardvark")))
+   (triples-close db)
+   (let* ((triples-sqlite-interface 'builtin)
+  (db (triples-connect db-file)))
  (should (equal (triples-get-type db subject 'person)
 '(:age 41 :name "Alice Aardvark")))
- (triples-close db)
- (let* ((triples-sqlite-interface 'builtin)
-(db (triples-connect db-file)))
-   (should (equal (trip

[elpa] externals/phpinspect a66e35f57c 09/30: Test and improve typedef index reactivity and lazy loading + fix a bunch of bugs

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

Test and improve typedef index reactivity and lazy loading + fix a bunch of 
bugs
---
 phpinspect-completion.el  |   3 +-
 phpinspect-index.el   |  12 ++--
 phpinspect-method-cell.el |  64 ++
 phpinspect-pipeline.el|   4 +-
 phpinspect-project.el |  69 +++
 phpinspect-resolve.el |   4 +-
 phpinspect-suggest.el |   2 +-
 phpinspect-type.el|   7 +++
 phpinspect-typedef.el |  81 ++-
 test/test-project.el  | 101 ++
 test/test-typedef.el  | 136 ++
 11 files changed, 400 insertions(+), 83 deletions(-)

diff --git a/phpinspect-completion.el b/phpinspect-completion.el
index 15a585ec64..a5c0821e57 100644
--- a/phpinspect-completion.el
+++ b/phpinspect-completion.el
@@ -180,7 +180,8 @@ belonging to a token that conforms with 
`phpinspect-attrib-p'"
(phpinspect-completion-query-buffer q)
(phpinspect-completion-query-point q)
#'phpinspect-static-attrib-p)))
-(phpinspect--log "Returning region for attribute access subject %s" 
(phpinspect-meta-string subject))
+(phpinspect--log "[comp-static-attribute] Returning region for attribute 
access subject %s"
+ (phpinspect-meta-string subject))
 (list (phpinspect-attrib-start subject) (phpinspect-meta-end subject
 
 (cl-defmethod phpinspect-comp-strategy-execute
diff --git a/phpinspect-index.el b/phpinspect-index.el
index 59f55aa374..60a5e45411 100644
--- a/phpinspect-index.el
+++ b/phpinspect-index.el
@@ -160,7 +160,8 @@ function (think \"new\" statements, return types etc.)."
  (cadadr (seq-find #'phpinspect-return-annotation-p 
comment-before
   (if type
   (phpinspect--apply-annotation-type return-annotation-type type 
type-resolver)
-(setq type (funcall type-resolver (phpinspect--make-type :name 
return-annotation-type)
+(when (stringp return-annotation-type)
+  (setq type (funcall type-resolver (phpinspect--make-type :name 
return-annotation-type))
 
 (when-let ((throw-annotations (seq-filter #'phpinspect-throws-annotation-p 
comment-before)))
   (dolist (tr throw-annotations)
@@ -410,7 +411,6 @@ SCOPE should be a scope token (`phpinspect-scope-p')."
   add-used-types)
methods))
 ((phpinspect-doc-block-p token)
- (phpinspect--log "setting comment-before %s" token)
  (setq comment-before token))
 
 ;; Prevent comments from sticking around too long
@@ -420,7 +420,6 @@ SCOPE should be a scope token (`phpinspect-scope-p')."
(nconc trait-config
   (phpinspect--index-trait-use token type-resolver 
add-used-types
 (t
- (phpinspect--log "Unsetting comment-before")
  (setq comment-before nil
 
 ;; Dirty hack that assumes the constructor argument names to be the same 
as the object
@@ -437,7 +436,7 @@ SCOPE should be a scope token (`phpinspect-scope-p')."
 constructor-sym))
   methods)))
   (when constructor
-(phpinspect--log "Constructor was found")
+(phpinspect--log "Constructor was found for %s" class-name)
 (dolist (variable variables)
   (when (not (phpinspect--variable-type variable))
 (phpinspect--log "Looking for variable type in constructor 
arguments (%s)"
@@ -460,7 +459,7 @@ SCOPE should be a scope token (`phpinspect-scope-p')."
 `(,class-name .
   (phpinspect--indexed-class
(complete . ,(not (phpinspect-incomplete-class-p class)))
-   (trait-confg . ,trait-config)
+   (trait-config . ,trait-config)
(class-name . ,class-name)
(declaration . ,(seq-find #'phpinspect-declaration-p class))
(location . ,(funcall location-resolver class))
@@ -765,7 +764,8 @@ Returns a list of type name strings."
(push `(alias ,(cadadr (cadr block?)) ,(cadr (nth 3 
block?)))
  (cdr t-config
 
-   (setq block? (nthcdr 4 block?))
+   (setq block? (nthcdr 4 block?)))
+  (t (pop block?)
 
 (when add-used-types
   (funcall add-used-types used-types))
diff --git a/phpinspect-method-cell.el b/phpinspect-method-cell.el
index 0fe412fe24..59c06aa799 100644
--- a/phpinspect-method-cell.el
+++ b/phpinspect-method-cell.el
@@ -37,6 +37,8 @@
 :type phpinspect-name)
   (origin-type nil
:type phpinspect--type)
+  (-return-type nil
+  

[elpa] externals/phpinspect 42ccef5493 10/30: Explicitly test application of trait configuration + fix bugs

2024-08-31 Thread ELPA Syncer
branch: externals/phpinspect
commit 42ccef5493b3f2bae491da17fa03bf9c61afdb31
Author: Hugo Thunnissen 
Commit: Hugo Thunnissen 

Explicitly test application of trait configuration + fix bugs
---
 phpinspect-typedef.el | 51 +--
 test/test-typedef.el  | 44 +---
 2 files changed, 70 insertions(+), 25 deletions(-)

diff --git a/phpinspect-typedef.el b/phpinspect-typedef.el
index a3f827c539..db57c3e815 100644
--- a/phpinspect-typedef.el
+++ b/phpinspect-typedef.el
@@ -107,22 +107,25 @@ structure returned by `phpinspect--index-trait-use'."
   (push (cons type overrides) (phpi-ma-overrides ma)
 
 (defun phpi-ma-add (ma mcol method &optional overwrite)
-  (if-let ((overrides (phpi-ma-get-overrides ma (phpi-method-origin-type 
method)))
-   (aliases (phpi-ma-get-aliases ma (phpi-method-origin-type method
-  (progn
-(if-let ((override (alist-get (phpi-method-name method) overrides)))
-;; Override basically just means insert and overwrite without 
checking
-(phpi-mcol-add mcol method 'overwrite)
-  ;; Can't alias if overriding, can't override if aliasing
-  (when-let ((alias (alist-get (phpi-method-name method) aliases))
- (copy (phpi-copy-method method)))
-;; Rename method to alias, record original name in aliased-from 
slot
-(setf (phpi-method-aliased-from method) (phpi-method-name method)
-  (phpi-method-name method) alias
-
-;; Not dealing with aliases or overrides, just add the methods (unless they
-;; already exist)
-(phpi-mcol-add mcol method overwrite)))
+
+  (let ((overrides (phpi-ma-get-overrides ma (phpi-method-origin-type method)))
+(aliases (phpi-ma-get-aliases ma (phpi-method-origin-type method)))
+alias override)
+
+;; Can't alias if overriding, can't override if aliasing
+(cond ((and overrides (setq override (alist-get (phpi-method-name method) 
overrides)))
+   ;; Override basically just means insert and overwrite without 
checking
+   (phpi-mcol-add mcol method 'overwrite))
+  ((and aliases (setq alias (alist-get (phpi-method-name method) 
aliases)))
+   (let ((copy (phpi-copy-method method)))
+ ;; Rename method to alias, record original name in aliased-from 
slot
+ (setf (phpi-method-aliased-from copy) (phpi-method-name method)
+   (phpi-method-name copy) alias)
+ (phpi-mcol-add mcol copy overwrite)))
+  (t
+   ;; Not dealing with aliases or overrides, just add the methods,
+   ;; respecting `overwrite'.
+   (phpi-mcol-add mcol method overwrite)
 
 (defun phpi-typedef-get-methods (def)
   (phpi-mcol-list-active (phpi-typedef-methods def)))
@@ -185,17 +188,21 @@ structure returned by `phpinspect--index-trait-use'."
   (phpi--typedef-edit def
 (let ((existing-config (phpi-typedef-trait-config def))
   types)
-  (if existing-config
+  ;; A configuration that is exactly the same doesn't need to be applied 
twice
+  (unless (equal config existing-config)
+(when existing-config
   ;; This can probably be made more sophisticated by only applying the
   ;; difference, but just deleting all incorporated methods will do for
   ;; an initial implementation.
   (dolist (use existing-config)
-(phpi-mcol-delete-for-type (phpi-typedef-methods def) (car use)))
+(when-let ((fd (phpi--typedef-get-foreign-type def (car use
+  (phpi-typedef-unsubscribe-from-foreign-typedef def fd
 ;; Apply new config
-(progn
-  (phpi-ma-set-config (phpi-typedef-method-adder def) config)
-  (dolist (cons config)
-(push (car cons) types
+(phpi-ma-set-config (phpi-typedef-method-adder def) config))
+  (dolist (cons config)
+(push (car cons) types))
+
+  (setf (phpi-typedef-trait-config def) config)
   ;; return all types that were in config
   types)))
 
diff --git a/test/test-typedef.el b/test/test-typedef.el
index 63344ed89c..86687a78df 100644
--- a/test/test-typedef.el
+++ b/test/test-typedef.el
@@ -158,9 +158,6 @@
 
   (should-not method
 
-
-
-
 (ert-deftest phpinspect-typedef-variables ()
   (let ((def (phpinspect-make-typedef (phpinspect--make-type :name "\\test"
 
@@ -209,3 +206,44 @@
   (should static-method)
   (should (eq (phpinspect-intern-name "test")
   (phpi-method-name static-method))
+
+(ert-deftest phpinspect-typedef-set-index-trait-config ()
+  (let* ((code "class A { use \\AAA; function B(): C {} }")
+ (index (phpinspect--index-tokens (phpinspect-parse-string code)))
+ (class (cdar (alist-get 'classes index)))
+ (def1 (phpinspect-make-typedef (alist-get 'class-name class)))
+ (def2 (phpi

[elpa] externals/triples cf7f9c8dd7 5/5: Set version to 0.4.0 (#10)

2024-08-31 Thread ELPA Syncer
branch: externals/triples
commit cf7f9c8dd77e47a1c32e0d0026df86a0eac4e2a5
Author: Andrew Hyatt 
Commit: GitHub 

Set version to 0.4.0 (#10)
---
 triples.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/triples.el b/triples.el
index 2295e98d7d..042c16a3bd 100644
--- a/triples.el
+++ b/triples.el
@@ -6,7 +6,7 @@
 ;; Homepage: https://github.com/ahyatt/triples
 ;; Package-Requires: ((seq "2.0") (emacs "28.1"))
 ;; Keywords: triples, kg, data, sqlite
-;; Version: 0.3.5
+;; Version: 0.4.0
 ;; This program is free software; you can redistribute it and/or
 ;; modify it under the terms of the GNU General Public License as
 ;; published by the Free Software Foundation; either version 2 of the



[elpa] externals/phpinspect 692711e34d 20/30: Implement property cells for more reliable property inheritance modeling

2024-08-31 Thread ELPA Syncer
branch: externals/phpinspect
commit 692711e34dadda142bfc3649abdbec06c02f9e82
Author: Hugo Thunnissen 
Commit: Hugo Thunnissen 

Implement property cells for more reliable property inheritance modeling
---
 phpinspect-buffer.el|   4 +-
 phpinspect-eldoc.el |  22 +++--
 phpinspect-method-cell.el   |   3 +
 phpinspect-property-cell.el | 210 
 phpinspect-resolve.el   |   4 +-
 phpinspect-suggest.el   |  11 ++-
 phpinspect-typedef.el   | 140 +
 test/test-buffer.el |  36 
 test/test-index.el  |  24 ++---
 test/test-typedef.el|  92 +--
 10 files changed, 437 insertions(+), 109 deletions(-)

diff --git a/phpinspect-buffer.el b/phpinspect-buffer.el
index dddb76b708..925bb16331 100644
--- a/phpinspect-buffer.el
+++ b/phpinspect-buffer.el
@@ -167,7 +167,7 @@ linked with."
(when-let ((class (phpinspect-project-get-typedef
   (phpinspect-buffer-project buffer)
   (car var
- (phpi-typedef-delete-variable class (cdr var)
+ (phpi-typedef-delete-property class (cdr var)
 ((phpinspect-function-p token)
  (when-let ((func (gethash token (phpinspect-buffer-token-index 
buffer
(remhash token (phpinspect-buffer-token-index buffer))
@@ -498,7 +498,7 @@ linked with."
class-obj (phpinspect-buffer-project buffer)
(cadr (phpinspect-meta-token var)) type-resolver class)))
 
-  (phpi-typedef-set-variable class-obj indexed)
+  (phpi-typedef-set-property class-obj indexed)
 
   (phpinspect-buffer-set-index-reference-for-token
buffer (phpinspect-meta-token var)
diff --git a/phpinspect-eldoc.el b/phpinspect-eldoc.el
index 7974f3496d..91b3215a84 100644
--- a/phpinspect-eldoc.el
+++ b/phpinspect-eldoc.el
@@ -91,11 +91,11 @@ be implemented for return values of 
`phpinspect-eld-strategy-execute'")
 variable method result)
 (when attribute-name
   (cond ((phpinspect-static-attrib-p attrib)
- (setq variable (phpi-typedef-get-variable class 
attribute-name))
+ (setq variable (phpi-typedef-get-property class 
attribute-name))
 
  (if (and variable
-  (or (phpinspect--variable-static-p variable)
-  (phpinspect--variable-const-p variable)))
+  (or (phpi-prop-static-p variable)
+  (phpi-prop-const-p variable)))
  (setq result variable)
(setq method (phpi-typedef-get-static-method
  class (phpinspect-intern-name 
attribute-name)))
@@ -105,7 +105,7 @@ be implemented for return values of 
`phpinspect-eld-strategy-execute'")
  (setq variable (phpi-typedef-get-variable class 
attribute-name))
 
  (if (and variable
-  (phpinspect--variable-vanilla-p variable))
+  (phpi-prop-vanilla-p variable))
  (setq result variable)
(setq method (phpi-typedef-get-method
  class (phpinspect-intern-name 
attribute-name)))
@@ -219,14 +219,20 @@ be implemented for return values of 
`phpinspect-eld-strategy-execute'")
   (when func
 (phpinspect-make-function-doc :fn func :arg-pos arg-pos
 
-(cl-defmethod phpinspect-eldoc-string ((var phpinspect--variable))
+(defun phpinspect-var-eldoc-string (prop-or-var)
   (concat (truncate-string-to-width
-   (propertize (concat (if (phpinspect--variable-vanilla-p var) "$" "")
-   (phpinspect--variable-name var))
+   (propertize (concat (if (phpi-var-vanilla-p var) "$" "")
+   (phpi-var-name var))
'face 'font-lock-variable-name-face)
phpinspect-eldoc-word-width)
   ": "
-  (phpinspect--display-format-type-name (phpinspect--variable-type 
var
+  (phpinspect--display-format-type-name (phpi-var-type var
+
+(cl-defmethod phpinspect-eldoc-string ((var phpinspect--variable))
+  (phpinspect-var-eldoc-string var))
+
+(cl-defmethod phpinspect-eldoc-string ((prop phpinspect-property))
+  (phpinspect-var-eldoc-string prop))
 
 (cl-defstruct (phpinspect-function-doc (:constructor 
phpinspect-make-function-doc))
   (fn nil
diff --git a/phpinspect-method-cell.el b/phpinspect-method-cell.el
index d52ef1ef83..f460eb8582 100644
--- a/phpinspect-method-cell.el
+++ b/phpinspect-method-cell.el
@@ -21,6 +21,9 @@
 
 ;;; Commentary:
 
+;; This file contains struct definitions and logic for the management of
+;; (collections of) methods associated with a specific type.
+
 ;;; Code:
 
 (require 'cl-macs)
diff --git a/phpinspect-property-cell.el

[elpa] externals/triples 79365099c1 4/4: Merge pull request #8 from ahyatt/delete-type

2024-08-31 Thread ELPA Syncer
branch: externals/triples
commit 79365099c13375a47cf734bdb5b43c0bcc058729
Merge: 18b66a953b 2145927734
Author: Andrew Hyatt 
Commit: GitHub 

Merge pull request #8 from ahyatt/delete-type

Add triples-remove-schema-type, triples-count
---
 NEWS.org|  3 +++
 README.org  |  1 +
 triples-test.el | 41 +
 triples.el  | 38 --
 4 files changed, 61 insertions(+), 22 deletions(-)

diff --git a/NEWS.org b/NEWS.org
index 4e383c7e05..3f6bb59e86 100644
--- a/NEWS.org
+++ b/NEWS.org
@@ -1,5 +1,8 @@
 TITLE: Changelog for the triples module for GNU Emacs.
 
+* 0.4.0
+- Add =triples-count=, to return a count of all triples.
+- Add =triples-remove-schema-type=, to delete schema and all its associated 
data.
 * 0.3.5
 - Compilation issues, and fixing an issue with not being able to use 
triples-with-transaction in some cases.
 * 0.3.4
diff --git a/README.org b/README.org
index b08f6de3cf..ec0d07d44a 100644
--- a/README.org
+++ b/README.org
@@ -91,6 +91,7 @@ There are other useful functions, including:
 - =triples-with-predicate=, gets all triples that is about a specific property,
 - =triples-subject-with-predicate-object=, get all subjects whose predicate is 
equal to /object/,
 - =triples-subjects-of-type=, get all subjects which have a particular type.
+- =triples-remove-schema-type= , remove a type and all associated data from 
the schema (should be rarely used).
 ** Predicates, with type and without
 Sometimes the triples library will require predicates that are without type, 
and sometimes with type, or "combined predicates".  The rule is that if the 
type is already specified in the function, it does not need to be respecified.  
If the type is not specified, it is included in the combined predicate.
 
diff --git a/triples-test.el b/triples-test.el
index ca637a9a8d..96b8673f0a 100644
--- a/triples-test.el
+++ b/triples-test.el
@@ -27,7 +27,7 @@
 
 (require 'triples)
 (require 'seq)
-(require 'kv nil t) ;; May be absent.
+(require 'kv)
 (require 'emacsql nil t);; May be absent.
 (require 'emacsql-sqlite nil t) ;; May be absent.
 
@@ -48,11 +48,9 @@ easily debug into it.")
  (triples-close db)))
(delete-file db-file
 
-(defun triples-test-connect-db ()
+(defun triples-test-open-db ()
   (interactive)
-  (defvar sql-database)
-  (let ((sql-database triples-test-db-file))
-(sql-sqlite (format "*schema test db SQL %s*" triples-test-db-file
+  (sqlite-mode-open-file triples-test-db-file))
 
 (defmacro triples-deftest (name _ &rest body)
   "Create a test exercising variants of `triples-sqlite-interface'."
@@ -88,7 +86,7 @@ easily debug into it.")
  '(("\"sub\"" "pred" "\"obj\"" "()")
 ;; Test that it replaces - this shouldn't result in two rows.
 (triples-db-insert db "sub" 'pred "obj")
-(should (= (length (triples-db-select db)) 1))
+(should (= (triples-count db) 1))
 ;; Test that colons in the predicate are stripped away when stored.
 (triples-db-insert db "sub" :test/pred "obj")
 (should (= (length (triples-db-select db nil 'test/pred)) 1))
@@ -103,7 +101,7 @@ easily debug into it.")
  '((sub pred obj
 ;; Test that properties aren't strings. They happen to be stored
 ;; differently for each system due to differences in how the inserting
-;; interface works.
+;; face works.
 (should (plistp (nth 3 (car (triples-db-select db 'sub)))
 
 (triples-deftest triples-test-delete ()
@@ -111,24 +109,24 @@ easily debug into it.")
 (triples-db-insert db 1 'pred 2)
 (triples-db-insert db 2 'pred 1)
 (triples-db-delete db 1)
-(should (= 1 (length (triples-db-select db
+(should (= 1 (triples-count db)))
 (should (= 0 (length (triples-db-select db 1
 (triples-db-insert db 1 'pred 2)
 (triples-db-delete db nil nil 2)
 (should (= 0 (length (triples-db-select db nil nil 2
 (triples-db-insert db 1 'pred 2)
 (triples-db-delete db nil 'pred nil)
-(should (= 0 (length (triples-db-select db))
+(should (= 0 (triples-count db)
 
 (triples-deftest triples-test-delete-subject-predicate-prefix ()
   (triples-test-with-temp-db
 (triples-db-insert db 1 'test/foo 2)
 (triples-db-insert db 1 'bar/bar 1)
 (triples-db-delete-subject-predicate-prefix db 1 'test)
-(should (= 1 (length (triples-db-select db
+(should (= 1 (triples-count db)))
 ;; Make sure colons are stripped.
 (triples-db-delete-subject-predicate-prefix db 1 :bar)
-(should (= 0 (length (triples-db-select db))
+(should (= 0 (triples-count db)
 
 (triples-deftest triples-test-select ()
   (triples-test-with-temp-db
@@ -483,11 +481,22 @@ easily debug into it.")
 
 (ert-deftest triples-test-schema-and-data-with-same-subject ()
   (triples-test-with-temp-db
-(triples-add-schema db 'foo '(bar))
-(triples-s

[elpa] externals/triples ed22395fb1 3/5: Remove testing for Emacs 28, add dependencies for eldev emacs

2024-08-31 Thread ELPA Syncer
branch: externals/triples
commit ed22395fb1701ed8f3d7eb44aa3dc9bb5a4d6a7a
Author: Andrew Hyatt 
Commit: Andrew Hyatt 

Remove testing for Emacs 28, add dependencies for eldev emacs
---
 .github/workflows/ci.yaml | 6 +++---
 Eldev | 2 ++
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index d40082469a..c8706347fe 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -13,9 +13,9 @@ jobs:
 strategy:
   matrix:
 emacs_version:
-  # Add more lines like this if you want to test on different Emacs 
versions.
-  - 28.1
-  - 28.2
+  # 28.1 and 28.2 should be tested, but they are not working for 
reasons
+  # I haven't figured out yet, and I haven't been able to test manually
+  # for other reasons I haven't figured out yet.
   - 29.1
   - 29.2
 steps:
diff --git a/Eldev b/Eldev
index d20e829b46..f55d1a37b1 100644
--- a/Eldev
+++ b/Eldev
@@ -4,6 +4,8 @@
 (eldev-use-plugin 'maintainer)
 (eldev-add-extra-dependencies 'test '(:package emacsql))
 (eldev-add-extra-dependencies 'test '(:package kv))
+(eldev-add-extra-dependencies 'emacs '(:package emacsql))
+(eldev-add-extra-dependencies 'emacs '(:package kv))
 
 ;; To both deal with emacsql and built-in sqlite in various versions, we need 
to
 ;; weird things that package linting doesn't like.  So we disable this specific



[nongnu] elpa/magit 8d1a355b61 1/3: Update changelog

2024-08-31 Thread Jonas Bernoulli via
branch: elpa/magit
commit 8d1a355b61845a852356c035063b47ee0efd4af6
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

Update changelog
---
 CHANGELOG | 15 +++
 1 file changed, 15 insertions(+)

diff --git a/CHANGELOG b/CHANGELOG
index fa6922c891..40f8864a48 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,21 @@
 # -*- mode: org -*-
 * v4.1.0UNRELEASED
 
+- Improved ~magit-tag-release~'s consistency and handling of arguments.
+  #5102
+
+- Updated tooling and other housekeeping.
+
+Bug fixes:
+
+- Only use an explicit range in ~magit-insert-recent-commits~, when also
+  using ~--graph~.  With ~--graph~ it increases performance noticeably,
+  but without it decreases performance somewhat.  #5075
+
+- ~magit-completing-read-multiple~ now shows the default choice in the
+  prompt, if a completion framework is used, for which that is useful.
+  #5205.
+
 * Older releases
 
 See ~docs/RelNotes/~.



[nongnu] elpa/hyperdrive 6be7398ca1 3/7: Change: (h/start) Skip h//gateway-wait-for-ready when ready or live

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

Change: (h/start) Skip h//gateway-wait-for-ready when ready or live

This change prevents h/gateway-ready-hook from running more than once.
If the gateway is already ready, then we should run the hook at all.
If the gateway is already live, then the hook should be run by the
timer set in the prior call to h/start.
---
 hyperdrive.el | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/hyperdrive.el b/hyperdrive.el
index 2f92403eb2..32332681cb 100644
--- a/hyperdrive.el
+++ b/hyperdrive.el
@@ -97,13 +97,13 @@ which see."
   (interactive)
   (let ((gateway-installed-p (h/gateway-installed-p)))
 (cond ((and (h//gateway-ready-p) (h/gateway-live-p))
-   (h/message "Gateway already running."))
+   (h/user-error "Gateway already running"))
   ((h//gateway-ready-p)
-   (h/message "Gateway already running outside of Emacs."))
+   (h/user-error "Gateway already running outside of Emacs."))
   (h//gateway-stopping-timer
(h/user-error "Wait for gateway to stop before restarting"))
   ((h/gateway-live-p)
-   (h/message "Gateway already starting."))
+   (h/user-error "Gateway already starting"))
   ((and (not gateway-installed-p) (h/gateway-installing-p))
(h/user-error "Gateway installation in-progress"))
   ((not gateway-installed-p)



[nongnu] elpa/with-editor 80586626de 1/3: with-editor*: Fix documentation

2024-08-31 Thread ELPA Syncer
branch: elpa/with-editor
commit 80586626de3fec29926f6b4b9f73f1fc04dba254
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

with-editor*: Fix documentation
---
 docs/with-editor.org  | 2 +-
 docs/with-editor.texi | 2 +-
 lisp/with-editor.el   | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/docs/with-editor.org b/docs/with-editor.org
index 9b747daac1..29f8f75843 100644
--- a/docs/with-editor.org
+++ b/docs/with-editor.org
@@ -243,7 +243,7 @@ package]].
 
 - Macro: with-editor* envvar &rest body ::
 
-  This macro is like ~with-editor~ instead that the ENVVAR argument is
+  This macro is like ~with-editor~, except that the ENVVAR argument is
   required and that it is evaluated at run-time.
 
 - Function: with-editor-set-process-filter process filter ::
diff --git a/docs/with-editor.texi b/docs/with-editor.texi
index 98b20c0e59..18ed32d2f8 100644
--- a/docs/with-editor.texi
+++ b/docs/with-editor.texi
@@ -302,7 +302,7 @@ instead of @code{EDITOR}.
 @end defmac
 
 @defmac with-editor* envvar &rest body
-This macro is like @code{with-editor} instead that the ENVVAR argument is
+This macro is like @code{with-editor}, except that the ENVVAR argument is
 required and that it is evaluated at run-time.
 @end defmac
 
diff --git a/lisp/with-editor.el b/lisp/with-editor.el
index b96b9f3f2f..4835f51542 100644
--- a/lisp/with-editor.el
+++ b/lisp/with-editor.el
@@ -488,7 +488,7 @@ Modify the `process-environment' for processes started in 
BODY,
 instructing them to use the Emacsclient as editor.  ENVVAR is the
 environment variable that is exported to do so, it is evaluated
 at run-time.
-\n(fn [ENVVAR] BODY...)"
+\n(fn ENVVAR BODY...)"
   (declare (indent defun) (debug (sexp body)))
   `(let ((with-editor--envvar ,envvar)
  (process-environment process-environment))



[nongnu] elpa/with-editor 535a0b19b0 2/3: Fix shell-command-with-editor-mode for remote processes

2024-08-31 Thread ELPA Syncer
branch: elpa/with-editor
commit 535a0b19b0ad00b32e00f0a71b43566c0cce2a84
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

Fix shell-command-with-editor-mode for remote processes

Closes #129.
---
 CHANGELOG   |  2 ++
 lisp/with-editor.el | 58 +++--
 2 files changed, 32 insertions(+), 28 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
index 1b65f18cab..1ef6ac2df0 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,8 @@
 # -*- mode: org -*-
 * v3.4.2UNRELEASED
 
+- Fix ~shell-command-with-editor-mode~ for remote processes.  #129
+
 - ~with-editor-export-editor~ now waits longer for the terminal to get
   ready.  #130
 
diff --git a/lisp/with-editor.el b/lisp/with-editor.el
index 4835f51542..48b9126a07 100644
--- a/lisp/with-editor.el
+++ b/lisp/with-editor.el
@@ -882,35 +882,37 @@ else like the former."
 (define-advice shell-command
 (:around (fn command &optional output-buffer error-buffer)
  shell-command-with-editor-mode)
-  "`shell-mode' and its hook are intended for buffers in which an
-interactive shell is running, but `shell-command' also turns on
-that mode, even though it only runs the shell to run a single
-command.  The `with-editor-export-editor' hook function is only
-intended to be used in buffers in which an interactive shell is
-running, so it has to be removed here."
+  "Set editor envvar, if `shell-command-with-editor-mode' is enabled.
+Also take care of that for `with-editor-[async-]shell-command'."
+  ;; `shell-mode' and its hook are intended for buffers in which an
+  ;; interactive shell is running, but `shell-command' also turns on
+  ;; that mode, even though it only runs the shell to run a single
+  ;; command.  The `with-editor-export-editor' hook function is only
+  ;; intended to be used in buffers in which an interactive shell is
+  ;; running, so it has to be removed here.
   (let ((shell-mode-hook (remove 'with-editor-export-editor shell-mode-hook)))
-(cond ((or (not (or with-editor--envvar shell-command-with-editor-mode))
-   (not (string-suffix-p "&" command)))
-   (funcall fn command output-buffer error-buffer))
-  ((and with-editor-shell-command-use-emacsclient
-with-editor-emacsclient-executable
-(not (file-remote-p default-directory)))
-   (with-editor (funcall fn command output-buffer error-buffer)))
-  (t
-   (funcall fn (format "%s=%s %s"
-   (or with-editor--envvar "EDITOR")
-   (shell-quote-argument 
with-editor-sleeping-editor)
-   command)
-output-buffer error-buffer)
-   (ignore-errors
- (let ((process (get-buffer-process
- (or output-buffer
- (get-buffer "*Async Shell Command*")
-   (set-process-filter
-process (lambda (proc str)
-  (comint-output-filter proc str)
-  (with-editor-process-filter proc str t)))
-   process))
+(cond
+ ;; If `with-editor-async-shell-command' was used, then `with-editor'
+ ;; was used, and `with-editor--envvar'.  `with-editor-shell-command'
+ ;; only goes down that path if the command ends with "&".  We might
+ ;; still have to use `with-editor' here, for `async-shell-command'
+ ;; or `shell-command', if the mode is enabled.
+ ((and (string-suffix-p "&" command)
+   (or with-editor--envvar
+   shell-command-with-editor-mode))
+  (if with-editor--envvar
+  (funcall fn command output-buffer error-buffer)
+(with-editor (funcall fn command output-buffer error-buffer)))
+  ;; The comint filter was overridden with our filter.  Use both.
+  (and-let* ((process (get-buffer-process
+   (or output-buffer
+   (get-buffer "*Async Shell Command*")
+(prog1 process
+  (set-process-filter process
+  (lambda (proc str)
+(comint-output-filter proc str)
+(with-editor-process-filter proc str t))
+ ((funcall fn command output-buffer error-buffer)
 
 ;;; _
 



[elpa] externals/triples 762387f22b 1/4: Add triples-db-count and triples-remove-schema-type

2024-08-31 Thread ELPA Syncer
branch: externals/triples
commit 762387f22b25206038278947105650fc22404025
Author: Andrew Hyatt 
Commit: Andrew Hyatt 

Add triples-db-count and triples-remove-schema-type
---
 README.org  |  1 +
 triples-test.el | 24 ++--
 triples.el  | 38 --
 3 files changed, 51 insertions(+), 12 deletions(-)

diff --git a/README.org b/README.org
index b08f6de3cf..ec0d07d44a 100644
--- a/README.org
+++ b/README.org
@@ -91,6 +91,7 @@ There are other useful functions, including:
 - =triples-with-predicate=, gets all triples that is about a specific property,
 - =triples-subject-with-predicate-object=, get all subjects whose predicate is 
equal to /object/,
 - =triples-subjects-of-type=, get all subjects which have a particular type.
+- =triples-remove-schema-type= , remove a type and all associated data from 
the schema (should be rarely used).
 ** Predicates, with type and without
 Sometimes the triples library will require predicates that are without type, 
and sometimes with type, or "combined predicates".  The rule is that if the 
type is already specified in the function, it does not need to be respecified.  
If the type is not specified, it is included in the combined predicate.
 
diff --git a/triples-test.el b/triples-test.el
index ca637a9a8d..a476ccfcce 100644
--- a/triples-test.el
+++ b/triples-test.el
@@ -88,7 +88,7 @@ easily debug into it.")
  '(("\"sub\"" "pred" "\"obj\"" "()")
 ;; Test that it replaces - this shouldn't result in two rows.
 (triples-db-insert db "sub" 'pred "obj")
-(should (= (length (triples-db-select db)) 1))
+(should (= (triples-count db) 1))
 ;; Test that colons in the predicate are stripped away when stored.
 (triples-db-insert db "sub" :test/pred "obj")
 (should (= (length (triples-db-select db nil 'test/pred)) 1))
@@ -103,7 +103,7 @@ easily debug into it.")
  '((sub pred obj
 ;; Test that properties aren't strings. They happen to be stored
 ;; differently for each system due to differences in how the inserting
-;; interface works.
+;; face works.
 (should (plistp (nth 3 (car (triples-db-select db 'sub)))
 
 (triples-deftest triples-test-delete ()
@@ -111,24 +111,24 @@ easily debug into it.")
 (triples-db-insert db 1 'pred 2)
 (triples-db-insert db 2 'pred 1)
 (triples-db-delete db 1)
-(should (= 1 (length (triples-db-select db
+(should (= 1 (triples-count db)))
 (should (= 0 (length (triples-db-select db 1
 (triples-db-insert db 1 'pred 2)
 (triples-db-delete db nil nil 2)
 (should (= 0 (length (triples-db-select db nil nil 2
 (triples-db-insert db 1 'pred 2)
 (triples-db-delete db nil 'pred nil)
-(should (= 0 (length (triples-db-select db))
+(should (= 0 (triples-count db)
 
 (triples-deftest triples-test-delete-subject-predicate-prefix ()
   (triples-test-with-temp-db
 (triples-db-insert db 1 'test/foo 2)
 (triples-db-insert db 1 'bar/bar 1)
 (triples-db-delete-subject-predicate-prefix db 1 'test)
-(should (= 1 (length (triples-db-select db
+(should (= 1 (triples-count db)))
 ;; Make sure colons are stripped.
 (triples-db-delete-subject-predicate-prefix db 1 :bar)
-(should (= 0 (length (triples-db-select db))
+(should (= 0 (triples-count db)
 
 (triples-deftest triples-test-select ()
   (triples-test-with-temp-db
@@ -489,6 +489,18 @@ easily debug into it.")
 (triples-add-schema db 'foo '(bar))
 (should (equal "baz" (plist-get (triples-get-subject db 'foo) :foo/bar)
 
+(ert-deftest triples-test-remove-schema-type ()
+  (triples-test-with-temp-db
+(should (= 0 (triples-count db)))
+(triples-add-schema db 'named '(name))
+(triples-set-type db "foo" 'named :name "My Name Is Fred Foo")
+(triples-remove-schema-type db 'named)
+(should-not (triples-get-type db 'named 'base/type))
+(should-not (triples-get-type db "foo" 'named))
+(should-error (triples-set-type db "foo" 'named :name "My Name Is Fred 
Foo"))
+(ert-info ((format "Triples: %s" (triples-db-select db)))
+  (should (= 0 (triples-count db))
+
 (ert-deftest triples-readme ()
   (triples-test-with-temp-db
 (triples-add-schema db 'person
diff --git a/triples.el b/triples.el
index 25364d04c0..31db47a55c 100644
--- a/triples.el
+++ b/triples.el
@@ -393,6 +393,12 @@ object, properties to retrieve or nil for *."
  (when properties `((= properties ,(intern 
(format "$s%d" (cl-incf n)))
   (seq-filter #'identity (list subject predicate object 
properties)))
 
+(defun triples-db-count (db)
+  "Return the number of triples in DB."
+  (pcase triples-sqlite-interface
+('builtin (caar (sqlite-select db "SELECT COUNT(*) FROM triples")))
+('emacsql (caar (emacsql db [:select (funcall count *) :from triples])
+
 (defun triples-move-subject (db old-subject

[nongnu] elpa/hyperdrive updated (c05904f585 -> 5e34cc22d0)

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

  from  c05904f585 Change: Hook up new gateway-stopping code
   new  ac70ecfaa1 Change: (h/stop) Error if gateway already stopped
   new  0333750f78 Change: (h/start) Error if gateway is stopping
   new  6be7398ca1 Change: (h/start) Skip h//gateway-wait-for-ready when 
ready or live
   new  e5538e547d Fix: (h/gateway-dead-hook) Typos
   new  cc220dfaff Fix: (hyperdrive-stop) Error when gateway already 
stopping
   new  5f9e66ea03 Change: (h/start) Check h//gateway-starting-timer
   new  5e34cc22d0 Comment: (h/stop) Explain order of cancelling timer


Summary of changes:
 hyperdrive-vars.el |  6 +++---
 hyperdrive.el  | 20 +++-
 2 files changed, 18 insertions(+), 8 deletions(-)



[elpa] externals/phpinspect 967917ceb9 24/30: Update completion FIXME comment with current state of things

2024-08-31 Thread ELPA Syncer
branch: externals/phpinspect
commit 967917ceb95eec4cea1064114e136db35680d302
Author: Hugo Thunnissen 
Commit: Hugo Thunnissen 

Update completion FIXME comment with current state of things
---
 phpinspect-completion.el | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/phpinspect-completion.el b/phpinspect-completion.el
index 5102d92156..2b63db9ef4 100644
--- a/phpinspect-completion.el
+++ b/phpinspect-completion.el
@@ -344,6 +344,12 @@ Returns list of `phpinspect--completion'."
 ;; for each completion causes hiccups due to the sheer number of completion in
 ;; some cases. This probably also causes the GC to kick in, making matters
 ;; worse.
+
+;; [2024-08-30 12:19] => A significant part of the performance problem seems to
+;; be mitigated by the memoization of `phpinspect--type-format-display-name',
+;; which is used to format/propertize return- and parameter types for
+;; completions. If performance is still problematic at a later date, for 
example
+;; on less powerful machines, consider implementing an LRU.
 (defun phpinspect-make-fn-completion (completion-candidate)
   (phpinspect--construct-completion
:value (phpi-fn-name completion-candidate)



[elpa] externals/denote updated (51cb3855e3 -> 3ae863f108)

2024-08-31 Thread ELPA Syncer
elpasync pushed a change to branch externals/denote.

  from  51cb3855e3 Merge pull request #419 from 
jeanphilippegg/denote-link-return-links
   new  4651362642 Make denote--file-type-org-extra-p handle cases like 
org-tree-to-indirect-buffer
   new  75374dc5dd Add optional :include-date parameter to Org dynamic 
blocks that show links to files
   new  3ae863f108 Reword the sections about Org dynamic blocks for clarity


Summary of changes:
 README.org   | 110 +++
 denote-org-extras.el |  18 ++---
 denote.el|  63 ++---
 3 files changed, 129 insertions(+), 62 deletions(-)



[nongnu] elpa/hyperdrive e5538e547d 4/7: Fix: (h/gateway-dead-hook) Typos

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

Fix: (h/gateway-dead-hook) Typos
---
 hyperdrive-vars.el | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/hyperdrive-vars.el b/hyperdrive-vars.el
index 027d31746c..e3fd7df359 100644
--- a/hyperdrive-vars.el
+++ b/hyperdrive-vars.el
@@ -472,9 +472,9 @@ This hook is called by `hyperdrive--gateway-wait-for-ready' 
after
   '( h//gateway-cleanup-default
  h/announce-gateway-stopped
  h/menu-refresh)
-  "Hook called when gateway is ready after starting it.
-This hook is called by `hyperdrive--gateway-wait-for-ready' after
-`hyperdrive-start'."
+  "Hook called when gateway is ready after stopping it.
+This hook is called by `hyperdrive--gateway-wait-for-dead' after
+`hyperdrive-stop'."
   :type 'hook)
 
  Footer



[elpa] externals/phpinspect 9c0959a0df 11/30: Add some docstrings + a license header to phpinspect-typedef.el

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

Add some docstrings + a license header to phpinspect-typedef.el
---
 phpinspect-typedef.el | 59 ++-
 1 file changed, 58 insertions(+), 1 deletion(-)

diff --git a/phpinspect-typedef.el b/phpinspect-typedef.el
index db57c3e815..1a59bc979a 100644
--- a/phpinspect-typedef.el
+++ b/phpinspect-typedef.el
@@ -1,10 +1,34 @@
+;;; phpinspect-typedef.el --- Models for PHP type definitions  -*- 
lexical-binding: t; -*-
 
+;; Copyright (C) 2021-2023  Free Software Foundation, Inc
 
+;; Author: Hugo Thunnissen 
+;; Keywords: php, languages, tools, convenience
+;; Version: 1.2.1
+
+;; This program is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with this program.  If not, see .
+
+;;; Commentary:
+
+;;; Code:
 (require 'phpinspect-method-cell)
 
 (cl-defstruct (phpinspect-typedef
(:constructor phpinspect-make-typedef-generated)
(:conc-name phpi-typedef-))
+  "A typedef represents the definition of a PHP type, be it class,
+interface, trait or enum."
   (read-only-p nil
:type boolean
:documentation
@@ -185,6 +209,9 @@ structure returned by `phpinspect--index-trait-use'."
   (phpi-typedef-delete-method def (phpinspect--function-name-symbol fn)))
 
 (defun phpi-typedef-set-trait-config (def config)
+  "Configures CONFIG for typedef DEF.
+
+Note: this function returns all types found in CONFIG."
   (phpi--typedef-edit def
 (let ((existing-config (phpi-typedef-trait-config def))
   types)
@@ -250,6 +277,9 @@ extended classes, used traits or implemented interfaces."
   (phpi-typedef-trigger-subscriber-update foreign-def
 
 (defun phpi-typedef-trigger-subscriber-method-update (def method &optional 
static)
+  "Update downstream subscribers of DEF by setting METHOD.
+
+If STATIC is non-nil, updates static method."
   (dolist (type (phpi-typedef-subscribed-types def))
 (when-let ((foreign-def (phpi--typedef-get-foreign-type def type)))
   (if static
@@ -257,6 +287,7 @@ extended classes, used traits or implemented interfaces."
 (phpi-typedef-set-method foreign-def method)
 
 (defun phpi-typedef-trigger-subscriber-method-delete (def type method-name 
&optional static)
+  "Update subscribers of DEF by deleting METHOD-NAME of origin TYPE."
   (dolist (subtype (phpi-typedef-subscribed-types def))
 (when-let ((foreign-def (phpi--typedef-get-foreign-type def subtype)))
   (phpi-mcol-delete-for-type
@@ -280,6 +311,18 @@ TYPE must be a structure of type `phpinspect--type'."
 (phpi-mcol-set-home-type (phpi-typedef-static-methods def) type)
 
 (defun phpi-typedef-update-declaration (def declaration imports namespace-name 
trait-config)
+  "Update declaration of DEF.
+
+DECLARATION must be a token of type `phpinspect-declaration-p`.
+
+IMPORTS must be an alist of imported types as returned by
+`phpinspect--uses-to-types'.
+
+NAMESPACE-NAME must be a string containing the name of the
+namespace enclosing DEF.
+
+TRAIT-CONFIG must be a trait configuration as returned by
+`phpinspect--index-trait-use'."
   (phpi--typedef-edit def
 (pcase-let ((`(,type ,extends ,implements ,_used-types)
  (phpinspect--index-class-declaration
@@ -291,6 +334,11 @@ TYPE must be a structure of type `phpinspect--type'."
def `(,@extends ,@implements ,@(phpi-typedef-set-trait-config def 
trait-config))
 
 (defun phpi-typedef-update-extensions (def extensions)
+  "Sets extended types of DEF to EXTENSIONS.
+
+EXTENSIONS must be a list of structures of the type
+`phpinspect--type'. These are used to fetch typedefs belonging to
+them, which are then incorporated into DEF's properties."
   (phpi--typedef-edit def
 (when-let ((subscriptions (phpi-typedef-subscribed-to-types def)))
   (dolist (sub subscriptions)
@@ -318,6 +366,7 @@ TYPE must be a structure of type `phpinspect--type'."
 
 (cl-defmethod phpi-typedef-set-index ((def phpinspect-typedef)
   (index (head phpinspect--indexed-class)))
+  "Update all of DEF's properties using the contents of INDEX."
   (phpi--typedef-edit def
 (setf (phpi-typedef-declaration def) (alist-get 'declaration index))
 
@@ -329,7 +378,11 @@ TYPE must be a structure of type `phpinspect--type'."
 ;; Override methods 

[nongnu] elpa/hyperdrive ed23b13af3 4/7: Docs: Document h/gateway-dead-hook

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

Docs: Document h/gateway-dead-hook
---
 doc/hyperdrive.org  | 4 
 doc/hyperdrive.texi | 4 
 2 files changed, 8 insertions(+)

diff --git a/doc/hyperdrive.org b/doc/hyperdrive.org
index 58226c6958..ecb6ee5a4a 100644
--- a/doc/hyperdrive.org
+++ b/doc/hyperdrive.org
@@ -177,6 +177,10 @@ and in the "Hyperdrive" menu bar (see [[*Menu bar 
support]]).
 
   Stop the gateway.
 
+- User Option: hyperdrive-gateway-dead-hook ::
+
+  Hook run when the gateway is no longer live after ~hyperdrive-stop~.
+
 - Command: hyperdrive-restart ::
 
   Restart the gateway.
diff --git a/doc/hyperdrive.texi b/doc/hyperdrive.texi
index 52cb949141..def47c8534 100644
--- a/doc/hyperdrive.texi
+++ b/doc/hyperdrive.texi
@@ -392,6 +392,10 @@ warn you if you're running an outdated version of the 
gateway.
 Stop the gateway.
 @end deffn
 
+@defopt hyperdrive-gateway-dead-hook
+Hook run when the gateway is no longer live after @code{hyperdrive-stop}.
+@end defopt
+
 @deffn Command hyperdrive-restart
 Restart the gateway.
 @end deffn



[elpa] externals/phpinspect 11ecfdf314 13/30: Fix bug in parsing of interfaces

2024-08-31 Thread ELPA Syncer
branch: externals/phpinspect
commit 11ecfdf314c067c36f7af90958aba3a2bfe3d407
Author: Hugo Thunnissen 
Commit: Hugo Thunnissen 

Fix bug in parsing of interfaces
---
 phpinspect-parser.el  | 17 -
 phpinspect-typedef.el | 17 -
 test/test-buffer.el   | 15 +--
 test/test-parser.el   | 40 +++-
 4 files changed, 56 insertions(+), 33 deletions(-)

diff --git a/phpinspect-parser.el b/phpinspect-parser.el
index 5ef32de767..728e546c2f 100644
--- a/phpinspect-parser.el
+++ b/phpinspect-parser.el
@@ -790,23 +790,13 @@ Returns the consumed text string without face properties."
   :handlers '(comment word list terminator tag)
   :delimiter-predicate #'phpinspect-end-of-token-p)
 
-;; TODO: Look into using different names for function and class :declaration 
tokens. They
-;; don't necessarily require the same handlers to parse.
-(define-inline phpinspect-parse-declaration (buffer max-point &optional 
continue-condition root)
-  (inline-quote
- (let ((result (phpinspect--parse-declaration ,buffer ,max-point nil 
,continue-condition ,root)))
-   (if (phpinspect-terminator-p (car (last result)))
-   (butlast result)
- result
-
 (phpinspect-defhandler function-keyword (start-token max-point)
   "Handler for the function keyword and tokens that follow to give it meaning"
   ((regexp . (concat "function" (phpinspect--word-end-regex
   (setq start-token (phpinspect--strip-word-end-space start-token))
   (let* ((continue-condition (lambda () (not (or (char-equal (char-after) ?{)
- (char-equal (char-after) 
?})
- (declaration (phpinspect-parse-declaration (current-buffer) max-point 
continue-condition 'root)))
-
+   (char-equal 
(char-after) ?})
+ (declaration (phpinspect--parse-declaration (current-buffer) 
max-point nil continue-condition 'root)))
 (if (phpinspect-end-of-token-p (car (last declaration)))
 ;; Abstract function?
 (list :function declaration)
@@ -904,9 +894,10 @@ the properties of the class"
   ((regexp . (concat 
"\\(abstract\\|final\\|class\\|interface\\|trait\\|enum\\)"
  (phpinspect--word-end-regex
   (setq start-token (phpinspect--strip-word-end-space start-token))
-  `(:class ,(phpinspect-parse-declaration
+  `(:class ,(phpinspect--parse-declaration
 (current-buffer)
 max-point
+nil
 (lambda () (not (char-equal (char-after) ?{)))
 'root)
,@(cdr (phpinspect--parse-class-body (current-buffer) max-point 
nil
diff --git a/phpinspect-typedef.el b/phpinspect-typedef.el
index 2081483b0f..a6f4a659d2 100644
--- a/phpinspect-typedef.el
+++ b/phpinspect-typedef.el
@@ -131,13 +131,12 @@ structure returned by `phpinspect--index-trait-use'."
   (push (cons type overrides) (phpi-ma-overrides ma)
 
 (defun phpi-ma-add (ma mcol method &optional overwrite)
-
   (let ((overrides (phpi-ma-get-overrides ma (phpi-method-origin-type method)))
 (aliases (phpi-ma-get-aliases ma (phpi-method-origin-type method)))
-alias override)
+alias)
 
 ;; Can't alias if overriding, can't override if aliasing
-(cond ((and overrides (setq override (alist-get (phpi-method-name method) 
overrides)))
+(cond ((and overrides (alist-get (phpi-method-name method) overrides))
;; Override basically just means insert and overwrite without 
checking
(phpi-mcol-add mcol method 'overwrite))
   ((and aliases (setq alias (alist-get (phpi-method-name method) 
aliases)))
@@ -175,7 +174,7 @@ structure returned by `phpinspect--index-trait-use'."
 (phpi-typedef-trigger-subscriber-method-update def m)))
 
 (cl-defmethod phpi-typedef-set-method ((def phpinspect-typedef) (fn 
phpinspect--function) &optional no-propagate)
-  (phpi-typedef-set-method def (phpinspect-make-method (phpi-typedef-name def) 
fn)))
+  (phpi-typedef-set-method def (phpinspect-make-method (phpi-typedef-name def) 
fn) no-propagate))
 
 (cl-defmethod phpi-typedef-set-static-method ((def phpinspect-typedef) (m 
phpinspect-method) &optional no-propagate)
   (phpi-ma-add (phpi-typedef-method-adder def) (phpi-typedef-static-methods 
def) m 'overwrite)
@@ -183,15 +182,7 @@ structure returned by `phpinspect--index-trait-use'."
 (phpi-typedef-trigger-subscriber-method-update def m 'static)))
 
 (cl-defmethod phpi-typedef-set-static-method ((def phpinspect-typedef) (fn 
phpinspect--function) &optional no-propagate)
-  (phpi-typedef-set-static-method def (phpinspect-make-method 
(phpi-typedef-name def) fn)))
-
-
-(cl-defmethod phpi-typedef-set-static-method ((def phpinspect-typedef) (fn 
phpinspect--function) &optional no-propagate)
-  (let ((method (phpinspect-make-method (phpi-typedef-name def) fn)))
-(phpi-ma-add (phpi-typedef-method-adder de

[elpa] externals/debbugs 0c42004727: Use threads

2024-08-31 Thread Michael Albinus via
branch: externals/debbugs
commit 0c42004727833e9d84bae0b6590262169acdfac7
Author: Michael Albinus 
Commit: Michael Albinus 

Use threads

* debbugs-gnu.el (debbugs-gnu-current-buffer)
(debbugs-gnu-current-message): New defvars.
(debbugs-gnu-search, debbugs-gnu-bugs):
Set `debbugs-gnu-current-message'.
(debbugs-gnu-default-show-reports-function): New defconst.
(debbugs-gnu-show-reports-function): Use it.
(debbugs-gnu-use-threads, debbugs-gnu-use-threads-lower-limit):
New defcustom.
(debbugs-gnu): Use a thread.
(debbugs-gnu-show-last-result): New defun.
(debbugs-gnu-get-bugs): Implement MAX and SKIP.
(debbugs-gnu-show-reports): Adapt for the thread case.
(debbugs-gnu-branch-directory): Adapt.

* debbugs-guix.el (debbugs-org-guix-search):
* debbugs-org.el (debbugs-org-search, debbugs-org-patches)
(debbugs-org-tagged, debbugs-org)
(debbugs-org-emacs-release-blocking-reports, debbugs-org-bugs)
(debbugs-org-my-open-bugs): Use `setq' for global
variables, let-binding doesn't work in threads.
(debbugs-org-show-reports): Use a thread.

* debbugs-ug.texi (Retrieving Bugs): New section "Asynchronous
Work".  Explain effect of debbugs-gnu-use-threads-lower-limit for
selected commands.  No progress report in the asnyhronous case.
(Searching Bugs): Fix HyperEstraier URL.
---
 debbugs-gnu.el  | 213 +++-
 debbugs-guix.el |   6 +-
 debbugs-org.el  |  37 ++
 debbugs-ug.texi |  63 +++--
 4 files changed, 231 insertions(+), 88 deletions(-)

diff --git a/debbugs-gnu.el b/debbugs-gnu.el
index 68599cff7f..c713bfa889 100644
--- a/debbugs-gnu.el
+++ b/debbugs-gnu.el
@@ -457,6 +457,12 @@ a date, value is the cons cell (BEFORE . AFTER).")
 The specification which bugs shall be suppressed is taken from
   `debbugs-gnu-default-suppress-bugs'.")
 
+(defvar debbugs-gnu-current-buffer nil
+  "The current buffer results are presented in.")
+
+(defvar debbugs-gnu-current-message nil
+  "The message to be shown after getting the bugs.")
+
 (defvar debbugs-gnu-current-print-function #'tabulated-list-print
   "Which function to apply printing the tabulated list..
 See `debbugs-gnu-package' for an alternative.")
@@ -680,8 +686,8 @@ depend on PHRASE being a string, or nil.  See Info node
  elt))
 
   ;; Do the search.
-  (debbugs-gnu severities packages archivedp)
-  (message "Search finished"))
+  (setq debbugs-gnu-current-message "Search finished")
+  (debbugs-gnu severities packages archivedp))
 
 ;;;###autoload
 (defun debbugs-gnu-patches ()
@@ -777,10 +783,27 @@ depend on PHRASE being a string, or nil.  See Info node
   (format "GNU bug reports: package(s) %s\n" (string-join packages ","))
   'face 'debbugs-gnu-title
 
-(defvar debbugs-gnu-show-reports-function #'debbugs-gnu-show-reports
+(defconst debbugs-gnu-default-show-reports-function #'debbugs-gnu-show-reports
+  "Which function to apply showing bug reports.")
+
+(defvar debbugs-gnu-show-reports-function
+  debbugs-gnu-default-show-reports-function
   "Which function to apply showing bug reports.
 Shall be bound in `debbugs-org-*' functions.")
 
+(defcustom debbugs-gnu-use-threads (and main-thread t)
+  "Whether to use threads when retrieving bugs.
+This doesn't when Emacs is compiled without threading support."
+  :type 'boolean
+  :version "30.1")
+
+(defcustom debbugs-gnu-use-threads-lower-limit 100
+  "Lower limit of bugs to be expected when using threads.
+This is taken into account only when the number of bugs is a fixed
+value, like in `debbugs-gnu-get-bugs' or `debbubgs-gnu-tagged'."
+  :type 'integer
+  :version "30.1")
+
 ;;;###autoload
 (defun debbugs-gnu (severities &optional packages archivedp suppress tags)
   "List all outstanding bugs."
@@ -805,48 +828,87 @@ Shall be bound in `debbugs-org-*' functions.")
   (when (member "tagged" severities)
(split-string (read-string "User tag(s): ") "," t)
 
-  (unwind-protect
-  (progn
-   ;; Initialize variables.
-   (when (and (file-exists-p debbugs-gnu-persistency-file)
-  (not debbugs-gnu-local-tags))
- (with-temp-buffer
-   (insert-file-contents debbugs-gnu-persistency-file)
-   (eval (read (current-buffer)) t)))
-   ;; Per default, we suppress retrieved unwanted bugs.
-   (when (and (called-interactively-p 'any)
-  debbugs-gnu-suppress-closed)
- (setq debbugs-gnu-current-suppress t))
-
-   ;; Add queries.
-   (dolist (severity (if (consp severities) severities (list severities)))
- (when (not (zerop (length severity)))
-   (when (string-equal severity "tagged")
- (setq debbugs-gnu-current-suppress nil))
-   (add-to-list 'debbugs-gnu-current-query (cons 'severity severity
-   (dolist (package (if (consp packages) packages (list packages)))
- (when (not (zerop (length package

[elpa] externals-release/org 6a5d0ed342: Update version number for the 9.7.11 release

2024-08-31 Thread ELPA Syncer
branch: externals-release/org
commit 6a5d0ed342efeb3a4c402672fbe9bfebd80af8b6
Author: Ihor Radchenko 
Commit: Ihor Radchenko 

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

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



[elpa] externals/phpinspect 96ee3c4d2a 05/30: WIP: (method-cell) Basic infrastructure for nuanced method inheritance

2024-08-31 Thread ELPA Syncer
branch: externals/phpinspect
commit 96ee3c4d2a5b2d0619cd2954bb636dee68a16da1
Author: Hugo Thunnissen 
Commit: Hugo Thunnissen 

WIP: (method-cell) Basic infrastructure for nuanced method inheritance

- New types: method, method-cell, method-collection
---
 phpinspect-method-cell.el | 122 ++
 phpinspect-type.el|   4 ++
 phpinspect-util.el|   3 ++
 3 files changed, 129 insertions(+)

diff --git a/phpinspect-method-cell.el b/phpinspect-method-cell.el
new file mode 100644
index 00..31f41795f6
--- /dev/null
+++ b/phpinspect-method-cell.el
@@ -0,0 +1,122 @@
+
+
+(cl-defstruct (phpinspect-method
+   (:constructor phpinspect-make-method)
+   (:conc-name phpi-method-))
+  (name nil
+:type phpinspect-name)
+  (origin-type nil
+   :type phpinspect--type)
+  (definition  nil
+   :type phpinspect--function))
+
+(cl-defstruct (phpinspect-method-cell
+   (:constructor phpinspect-make-method-cell)
+   (:conc-name phpi-mc-))
+  (name nil
+:type phpinspect-name)
+  (own nil
+   :type phpinspect-method)
+  (trait nil
+ :type phpinspect-method)
+  (inherited nil
+ :type phpinspect-method)
+  (interface nil
+ :type phpinspect-method))
+
+(cl-defstruct (phpinspect-method-collection
+   (:constructor phpinspect-make-method-collection)
+   (:conc-name phpi-mcol-))
+  (home-type nil
+ :type phpinspect--type)
+  (cells nil
+ :type alist
+ :documentation ""))
+
+(defun phpi-mcol-find-cell (mcol method-name &optional remove)
+  (cl-assert (phpinspect-name-p method-name))
+
+  (alist-get method-name (phpi-mcol-cells mcol) nil remove #'eq))
+
+(defun phpi-mcol-find-cell-create (mcol method-name)
+  (let ((cell (phpi-mcol-find-cell mcol method-name)))
+(unless cell
+  (setq cell (phpinspect-make-method-cell
+  :name method-name))
+  (push (cons method-name cell) (phpi-mcol-cells mcol)))
+
+cell))
+
+(defun phpi-mcol-add (mcol method)
+  (let ((cell (phpi-mcol-find-cell-create mcol (phpi-method-name method
+(phpi-mc-set cell (phpi-mcol-home-type mcol) (phpi-method-origin-type 
method) method)
+cell))
+
+
+(defun phpi-mc-set (cell home-type origin-type method)
+  (if (phpinspect--type= home-type
+ origin-type)
+  ;; Method belongs to home type
+  (setf (phpi-mc-own cell) method)
+;; Method is from a trait, interface or inherited
+(pcase (phpinspect--type-category (phpi-method-origin-type method))
+  ('trait (setf (phpi-mc-trait cell) method))
+  ('interface (setf (phpi-mc-interface cell) method))
+  ;; class or abstract class
+  (_ (setf (phpi-mc-inherited cell) method)
+
+(defun phpi-method-origin-type= (method type)
+  (phpinspect--type= (phpi-method-origin-type method) type))
+
+(defun phpi-mc-get-for-type (cell type)
+  (catch 'phpinspect--break
+(dolist (method (list (phpi-mc-own cell) (phpi-mc-trait cell)
+  (phpi-mc-inherited cell) (phpi-mc-interface cell)))
+  (when (and method (phpi-method-origin-type= method type))
+(throw 'phpinspect--break method)))
+nil))
+
+(defun phpi-mcol-delete (mcol method-name)
+  (phpi-mcol-find-cell mcol method-name 'remove))
+
+(defun phpi-mc-emtpy-p (cell)
+  "CELL is empty when it contains no methods."
+  (not (phpi-mc-get-active cell)))
+
+(defun phpi-mc-get-active (cell)
+  "Get active method from CELL, according to PHP precendence order.
+
+PHP's precendence order is described in the documentation for
+traits, located at:
+https://www.php.net/manual/en/language.oop5.traits.php";
+  (or (phpi-mc-own cell)
+  (phpi-mc-trait cell)
+  (phpi-mc-inherited cell)
+  (phpi-mc-interface cell)))
+
+(defun phpi-mcol-delete-for-type (mcol type &optional name)
+  "Delete from MCOL all methods that originate from TYPE.
+
+When NAME is provided, only method with NAME is deleted."
+  (if name
+  ;; Name is provided, only delete method with NAME.
+  (let ((cell (phpi-mcol-find-cell mcol name)))
+(when (phpi-mc-get-for-type cell type)
+  (phpi-mc-set cell (phpi-mcol-home-type mcol) type nil))
+
+(when (phpi-mc-empty-p cell)
+  (phpi-mcol-delete mcol name)))
+
+(let ((cells (phpi-mcol-cells mcol)))
+  (dolist (cons cells)
+(let ((cell (cdr cons)))
+  (when (phpi-mc-get-for-type cell type)
+(phpi-mc-set cell (phpi-mcol-home-type mcol) type nil))
+
+  ;; mark cell for deletion by setting car and cdr of alist member to
+  ;; nil
+  (when (phpi-mc-empty-p cell)
+(setcar cons nil)
+(setcdr cons nil
+  ;; Delete all empty cells
+  (setf (phpi-mcol-cells mcol) (delete (cons nil nil) cells)
diff --git a/phpinspect-type.el b/phpinspect-type.el
index 57a8047a39..e4dea22951 100644

[elpa] externals/phpinspect 25f706077a 06/30: Add license header and `provide' statement

2024-08-31 Thread ELPA Syncer
branch: externals/phpinspect
commit 25f706077a34cae69fc638d79ea882a2d8b80625
Author: Hugo Thunnissen 
Commit: Hugo Thunnissen 

Add license header and `provide' statement
---
 phpinspect-class.el   |  2 +-
 phpinspect-method-cell.el | 28 
 2 files changed, 29 insertions(+), 1 deletion(-)

diff --git a/phpinspect-class.el b/phpinspect-class.el
index 21c06ba69b..012dc7cbbf 100644
--- a/phpinspect-class.el
+++ b/phpinspect-class.el
@@ -1,4 +1,4 @@
-;;; phpinspect-class.el --- PHP parsing module  -*- lexical-binding: t; -*-
+;;; phpinspect-class.el --- A model for php type definitions  -*- 
lexical-binding: t; -*-
 
 ;; Copyright (C) 2021-2023  Free Software Foundation, Inc
 
diff --git a/phpinspect-method-cell.el b/phpinspect-method-cell.el
index 31f41795f6..093200624f 100644
--- a/phpinspect-method-cell.el
+++ b/phpinspect-method-cell.el
@@ -1,4 +1,29 @@
+;;; phpinspect-method-cell.el --- Models for PHP method definitions  -*- 
lexical-binding: t; -*-
 
+;; Copyright (C) 2021-2023  Free Software Foundation, Inc
+
+;; Author: Hugo Thunnissen 
+;; Keywords: php, languages, tools, convenience
+;; Version: 1.2.1
+
+;; This program is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with this program.  If not, see .
+
+;;; Commentary:
+
+;;; Code:
+
+(require 'cl-macs)
 
 (cl-defstruct (phpinspect-method
(:constructor phpinspect-make-method)
@@ -120,3 +145,6 @@ When NAME is provided, only method with NAME is deleted."
 (setcdr cons nil
   ;; Delete all empty cells
   (setf (phpi-mcol-cells mcol) (delete (cons nil nil) cells)
+
+(provide 'phpinspect-method-cell)
+;;; phpinspect-method-cell.el ends here



[elpa] externals/phpinspect 355b6be79a 07/30: Fix typo

2024-08-31 Thread ELPA Syncer
branch: externals/phpinspect
commit 355b6be79a7347e29e3ff3f0144bf82a20dc7820
Author: Hugo Thunnissen 
Commit: Hugo Thunnissen 

Fix typo
---
 phpinspect-method-cell.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/phpinspect-method-cell.el b/phpinspect-method-cell.el
index 093200624f..1b7b81823f 100644
--- a/phpinspect-method-cell.el
+++ b/phpinspect-method-cell.el
@@ -104,7 +104,7 @@
 (defun phpi-mcol-delete (mcol method-name)
   (phpi-mcol-find-cell mcol method-name 'remove))
 
-(defun phpi-mc-emtpy-p (cell)
+(defun phpi-mc-empty-p (cell)
   "CELL is empty when it contains no methods."
   (not (phpi-mc-get-active cell)))
 



[elpa] externals/phpinspect 52626b7091 18/30: Remove unused defun

2024-08-31 Thread ELPA Syncer
branch: externals/phpinspect
commit 52626b709114a8f051aa11cc80b762eeca57
Author: Hugo Thunnissen 
Commit: Hugo Thunnissen 

Remove unused defun
---
 phpinspect-buffer.el | 24 
 1 file changed, 24 deletions(-)

diff --git a/phpinspect-buffer.el b/phpinspect-buffer.el
index 115cf687a7..dddb76b708 100644
--- a/phpinspect-buffer.el
+++ b/phpinspect-buffer.el
@@ -200,30 +200,6 @@ linked with."
  (phpinspect-class-block (phpinspect-meta-token class-token))
  namespace-name)))
 
-(defun phpinspect-buffer-apply-use-trait-config (buffer class-token uses)
-  (pcase-let* ((`(,imports ,namespace-name)
-(phpinspect-get-token-index-context
- (phpinspect-buffer-namespaces buffer)
- (phpinspect-buffer-imports buffer)
- class-token))
-   (type-resolver (phpinspect--make-type-resolver
-   imports
-   (phpinspect-class-block (phpinspect-meta-token 
class-token))
-   namespace-name))
-   (config))
-
-(dolist (use uses)
-  (setq config
-(nconc config
-   (phpinspect--index-trait-use
-(phpinspect-meta-token use) type-resolver nil
-
-(when-let ((typedef (phpinspect-buffer-get-index-for-token buffer 
(phpinspect-meta-token class-token
-  (let ((new-extensions (seq-uniq (append 
(phpi-typedef-subscribed-to-types typedef)
-  (phpi-typedef-set-trait-config 
typedef config))
-  #'phpinspect--type=)))
-(phpi-typedef-update-extensions typedef new-extensions)
-
 (cl-defmethod phpinspect-buffer-index-used-traits ((buffer phpinspect-buffer) 
(uses (head phpinspect-splayt)))
   (let ((update t))
 (if (phpinspect-buffer-used-traits buffer)



[nongnu] elpa/hyperdrive 3d70849484 2/7: Tidy: (hyperdrive-start) Error phrasing

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

Tidy: (hyperdrive-start) Error phrasing
---
 hyperdrive.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hyperdrive.el b/hyperdrive.el
index f5919f2a4d..386f46e202 100644
--- a/hyperdrive.el
+++ b/hyperdrive.el
@@ -101,7 +101,7 @@ which see."
   ((h//gateway-ready-p)
(h/user-error "Gateway already running outside of Emacs."))
   (h//gateway-stopping-timer
-   (h/user-error "Wait for gateway to stop before restarting"))
+   (h/user-error "Wait for gateway to stop before starting"))
   (h//gateway-starting-timer
(h/user-error "Gateway already starting"))
   ((and (not gateway-installed-p) (h/gateway-installing-p))



[elpa] externals/llm b9f27d238a: Fix bug involving multiple function calls with Claude (#73)

2024-08-31 Thread ELPA Syncer
branch: externals/llm
commit b9f27d238a3e36f7a7161d5d39517cb9013506c9
Author: Paul Nelson <63298781+ultron...@users.noreply.github.com>
Commit: GitHub 

Fix bug involving multiple function calls with Claude (#73)

* llm-claude.el (llm-claude--postprocess-messages): New function
(llm-provider-chat-request): Use it.
---
 llm-claude.el | 105 +-
 1 file changed, 90 insertions(+), 15 deletions(-)

diff --git a/llm-claude.el b/llm-claude.el
index d95d6c3cd9..c4c6cc19c1 100644
--- a/llm-claude.el
+++ b/llm-claude.el
@@ -50,27 +50,102 @@
 ("input_schema" . ,(llm-provider-utils-openai-arguments
 (llm-function-call-args call)
 
+(defun llm-claude--postprocess-messages (messages)
+  "Post-process MESSAGES, as in `llm-provider-chat-request'.
+
+Currently this flattens consecutive user tool results, for reasons
+explained in the final couple sentences of URL
+`https://docs.anthropic.com/en/docs/build-with-claude/\
+tool-use#multiple-tool-example'
+
+Example input:
+
+ (((\"role\" . user) (\"content\" . \"Compute 2+3 and 4+5.\"))
+  ((\"role\" . assistant)
+   (\"content\"
+((type . \"tool_use\") (id . \"toolu_017epyv32yDx5zwhNPVprRrQ\")
+ (name . \"add\") (input (a . 2) (b . 3)))
+((type . \"tool_use\") (id . \"toolu_01EPALH8MdwuWVxzX8ErNKWM\")
+ (name . \"add\") (input (a . 4) (b . 5)
+  ((\"role\" . user)
+   (\"content\"
+((\"type\" . \"tool_result\")
+ (\"tool_use_id\" . \"toolu_017epyv32yDx5zwhNPVprRrQ\")
+ (\"content\" . \"5\"
+  ((\"role\" . user)
+   (\"content\"
+((\"type\" . \"tool_result\")
+ (\"tool_use_id\" . \"toolu_01EPALH8MdwuWVxzX8ErNKWM\")
+ (\"content\" . \"9\")
+
+Example output:
+
+ (((\"role\" . user) (\"content\" . \"Compute 2+3 and 4+5.\"))
+  ((\"role\" . assistant)
+   (\"content\"
+((type . \"tool_use\") (id . \"toolu_017epyv32yDx5zwhNPVprRrQ\")
+ (name . \"add\") (input (a . 2) (b . 3)))
+((type . \"tool_use\") (id . \"toolu_01EPALH8MdwuWVxzX8ErNKWM\")
+ (name . \"add\") (input (a . 4) (b . 5)
+  ((\"role\" . \"user\")
+   (\"content\"
+((\"type\" . \"tool_result\")
+ (\"tool_use_id\" . \"toolu_017epyv32yDx5zwhNPVprRrQ\")
+ (\"content\" . \"5\"))
+((\"type\" . \"tool_result\")
+ (\"tool_use_id\" . \"toolu_01EPALH8MdwuWVxzX8ErNKWM\")
+ (\"content\" . \"9\")"
+  (let ((result '())
+(tool-results '()))
+(dolist (message messages)
+  (let* ((role (alist-get "role" message nil nil #'equal))
+ (content (alist-get "content" message nil nil #'equal))
+ (is-tool-result
+  (and (equal role 'user)
+   (listp content)
+   (let ((type
+  (alist-get "type" (car content) nil nil #'equal)))
+ (equal type "tool_result")
+(cond
+ (is-tool-result
+  (setq tool-results (append tool-results content)))
+
+ ;; End of segment of user tool-results
+ ((and (null is-tool-result) tool-results)
+  (push `(("role" . "user") ("content" . ,tool-results)) result)
+  (setq tool-results '())
+  (push message result))
+
+ (t
+  (push message result)
+
+(when tool-results
+  (push `(("role" . "user") ("content" . ,tool-results)) result))
+
+(nreverse result)))
+
 (cl-defmethod llm-provider-chat-request ((provider llm-claude) prompt stream)
   (let ((request `(("model" . ,(llm-claude-chat-model provider))
("stream" . ,(if stream t :json-false))
;; Claude requires max_tokens
("max_tokens" . ,(or (llm-chat-prompt-max-tokens prompt) 
4096))
("messages" .
-,(mapcar (lambda (interaction)
-   `(("role" . ,(pcase 
(llm-chat-prompt-interaction-role interaction)
-  ('function 'user)
-  ('assistant 'assistant)
-  ('user 'user)))
- ("content" .
-  ,(if 
(llm-chat-prompt-interaction-function-call-result interaction)
-   `((("type" . "tool_result")
-  ("tool_use_id" .
-   
,(llm-chat-prompt-function-call-result-call-id
- 
(llm-chat-prompt-interaction-function-call-result interaction)))
-  ("content" .
-   
,(llm-chat-prompt-interaction-content interaction
- (llm-chat-prompt-interaction-content 
interaction)
- (llm-chat-prompt-interactions prompt)
+,(llm-claude--postproce

[elpa] externals/triples 18b66a953b 2/2: Merge pull request #7 from ahyatt/whitespace-fixes

2024-08-31 Thread ELPA Syncer
branch: externals/triples
commit 18b66a953ba268910157a01cf1afe33b2bb1b637
Merge: 1112c57419 cf95922d9a
Author: Andrew Hyatt 
Commit: GitHub 

Merge pull request #7 from ahyatt/whitespace-fixes

Fix whitespace to conform to a standard auto-formatting
---
 triples-backups.el |  10 +--
 triples-test.el| 203 ++---
 triples-upgrade.el |  62 
 triples.el | 136 +--
 4 files changed, 205 insertions(+), 206 deletions(-)

diff --git a/triples-backups.el b/triples-backups.el
index 2e8036b4ab..e382f5f9da 100644
--- a/triples-backups.el
+++ b/triples-backups.el
@@ -33,11 +33,11 @@ loaded before any client of this db calls
 `triples-backups-maybe-backup', so adding your own may not always
 be appropriate."
   (triples-with-transaction db
-(triples-add-schema db 'backup '(num-to-keep :base/unique t :base/type 
integer)
-'(strategy :base/unique t :base/type symbol)
-'(last-update-time :base/unique t :base/type integer))
-(triples-set-type db 'database 'backup :num-to-keep num-to-keep
-  :strategy strategy :last-update-time (time-convert 
(current-time) 'integer
+(triples-add-schema db 'backup '(num-to-keep 
:base/unique t :base/type integer)
+'(strategy :base/unique t 
:base/type symbol)
+'(last-update-time 
:base/unique t :base/type integer))
+(triples-set-type db 'database 'backup 
:num-to-keep num-to-keep
+  :strategy strategy 
:last-update-time (time-convert (current-time) 'integer
 
 (defun triples-backups-configuration (db)
   "Returns the backup configuration set by `triples-backups-setup'.
diff --git a/triples-test.el b/triples-test.el
index 039aa74d18..ca637a9a8d 100644
--- a/triples-test.el
+++ b/triples-test.el
@@ -195,38 +195,38 @@ easily debug into it.")
(let ((triples-sqlite-interface 'builtin))
  (triples-test-with-temp-db
(triples-add-schema db 'person
- '(name :base/unique t :base/type string)
- '(age :base/unique t :base/type integer))
- (triples-set-type db subject 'person :name "Alice Aardvark" 
:age 41)
+   '(name :base/unique t :base/type string)
+   '(age :base/unique t :base/type integer))
+   (triples-set-type db subject 'person :name "Alice Aardvark" 
:age 41)
+   (should (equal (triples-get-type db subject 'person)
+  '(:age 41 :name "Alice Aardvark")))
+   (triples-close db)
+   (let* ((triples-sqlite-interface 'emacsql)
+  (db (triples-connect db-file)))
  (should (equal (triples-get-type db subject 'person)
 '(:age 41 :name "Alice Aardvark")))
- (triples-close db)
- (let* ((triples-sqlite-interface 'emacsql)
-(db (triples-connect db-file)))
-   (should (equal (triples-get-type db subject 'person)
-  '(:age 41 :name "Alice Aardvark")))
-   (triples-close db))
- ;; Just so the last close will work.
- (setq db (triples-connect db-file))
+ (triples-close db))
+   ;; Just so the last close will work.
+   (setq db (triples-connect db-file))
 
 (ert-deftest triples-test-emacsql-builtin-compat ()
   (cl-loop for subject in '(1 a "a") do
(let ((triples-sqlite-interface 'emacsql))
  (triples-test-with-temp-db
(triples-add-schema db 'person
- '(name :base/unique t :base/type string)
- '(age :base/unique t :base/type integer))
- (triples-set-type db subject 'person :name "Alice Aardvark" 
:age 41)
+   '(name :base/unique t :base/type string)
+   '(age :base/unique t :base/type integer))
+   (triples-set-type db subject 'person :name "Alice Aardvark" 
:age 41)
+   (should (equal (triples-get-type db subject 'person)
+  '(:age 41 :name "Alice Aardvark")))
+   (triples-close db)
+   (let* ((triples-sqlite-interface 'builtin)
+  (db (triples-connect db-file)))
  (should (equal (triples-get-type db subject 'person)
 '(:age 41 :name "Alice Aardvark")))
- (triples-close db)
- (let* ((triples-sqlite-interface 'builtin)
- 

[elpa] externals/transient updated (dd8c2999b1 -> 3430943eaa)

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

  from  dd8c2999b1 transient--parse-suffix: Fix b54af9e4
   new  9b6fbe6816 Update changelog
   new  3430943eaa Release version 0.7.5


Summary of changes:
 CHANGELOG  | 15 +++
 docs/transient.org |  4 ++--
 lisp/transient.el  |  2 +-
 3 files changed, 18 insertions(+), 3 deletions(-)



[nongnu] elpa/hyperdrive cc220dfaff 5/7: Fix: (hyperdrive-stop) Error when gateway already stopping

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

Fix: (hyperdrive-stop) Error when gateway already stopping

This avoids the following error when the gateway is live and the
h/stop is invoked repeatedly in rapid succession.:

Error running timer: (wrong-type-argument processp nil)
---
 hyperdrive.el | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/hyperdrive.el b/hyperdrive.el
index 32332681cb..6041c1209e 100644
--- a/hyperdrive.el
+++ b/hyperdrive.el
@@ -125,6 +125,8 @@ which see."
   (cond
((and (not (h//gateway-ready-p)) (not (h/gateway-live-p)))
 (h/user-error "Gateway already stopped"))
+   (h//gateway-stopping-timer
+(h/user-error "Gateway already stopping"))
(t
 (funcall h/gateway-stop-function)))
   (when (timerp h//gateway-starting-timer)



[elpa] externals/denote 75374dc5dd 2/3: Add optional :include-date parameter to Org dynamic blocks that show links to files

2024-08-31 Thread ELPA Syncer
branch: externals/denote
commit 75374dc5dd97e3b1315667df4a85008fdaad829c
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Add optional :include-date parameter to Org dynamic blocks that show links 
to files

Thanks to Sergio Rey for describing this idea to me. This was done via
a private channel and this information is shared with permission.
---
 README.org   | 12 +--
 denote-org-extras.el | 18 ++--
 denote.el| 60 ++--
 3 files changed, 57 insertions(+), 33 deletions(-)

diff --git a/README.org b/README.org
index e302a08a4e..0888f09423 100644
--- a/README.org
+++ b/README.org
@@ -6192,12 +6192,12 @@ Denote is meant to be a collective effort.  Every bit 
of help matters.
   Jousimies, Juanjo Presa, Julian Hoch, Kai von Fintel, Kaushal Modi,
   Kolmas, M. Hadi Timachi, Maikol Solis, Mark Olson, Mirko Hernandez,
   Niall Dooley, Nick Bell, Paul van Gelder, Peter Prevos, Peter Smith,
-  Samuel W. Flint, Suhail Singh, Shreyas Ragavan, Stefan Thesing,
-  Summer Emacs, Sven Seebeck, Taoufik, TJ Stankus, Vick (VicZz),
-  Viktor Haag, Wade Mealing, Yi Liu, Ypot, atanasj, azegas, babusri,
-  coherentstate, doolio, duli, drcxd, elge70, fingerknight, hpgisler,
-  mentalisttraceur, pRot0ta1p, rbenit68, relict007, sienic, skissue,
-  sundar bp, yetanotherfossman, zadca123
+  Samuel W. Flint, Sergio Rey, Suhail Singh, Shreyas Ragavan, Stefan
+  Thesing, Summer Emacs, Sven Seebeck, Taoufik, TJ Stankus, Vick
+  (VicZz), Viktor Haag, Wade Mealing, Yi Liu, Ypot, atanasj, azegas,
+  babusri, coherentstate, doolio, duli, drcxd, elge70, fingerknight,
+  hpgisler, mentalisttraceur, pRot0ta1p, rbenit68, relict007, sienic,
+  skissue, sundar bp, yetanotherfossman, zadca123
 
 Special thanks to Peter Povinec who helped refine the file-naming
 scheme, which is the cornerstone of this project.
diff --git a/denote-org-extras.el b/denote-org-extras.el
index f89c8b4465..9ce6f0f3b8 100644
--- a/denote-org-extras.el
+++ b/denote-org-extras.el
@@ -384,7 +384,8 @@ Also see `denote-org-extras-dblock--files'."
:excluded-dirs-regexp nil
:sort-by-component nil
:reverse-sort nil
-   :id-only nil))
+   :id-only nil
+   :include-date nil))
   (org-update-dblock))
 
 ;; NOTE 2024-03-30: This is how the autoload is done in org.el.
@@ -401,12 +402,13 @@ Used by `org-dblock-update' with PARAMS provided by the 
dynamic block."
  (rx (if (listp regexp) (macroexpand `(rx ,regexp)) regexp))
  (sort (plist-get params :sort-by-component))
  (reverse (plist-get params :reverse-sort))
+ (include-date (plist-get params :include-date))
  (block-name (plist-get params :block-name))
  (denote-excluded-directories-regexp (or (plist-get params 
:excluded-dirs-regexp)
  
denote-excluded-directories-regexp))
  (files (denote-org-extras-dblock--files rx sort reverse)))
 (when block-name (insert "#+name: " block-name "\n"))
-(denote-link--insert-links files 'org (plist-get params :id-only) 
:no-other-sorting)
+(denote-link--insert-links files 'org (plist-get params :id-only) 
:no-other-sorting include-date)
 (join-line))) ; remove trailing empty line
 
 ; Dynamic block to insert missing links
@@ -423,7 +425,8 @@ Used by `org-dblock-update' with PARAMS provided by the 
dynamic block."
:excluded-dirs-regexp nil
:sort-by-component nil
:reverse-sort nil
-   :id-only nil))
+   :id-only nil
+   :include-date nil))
   (org-update-dblock))
 
 ;; NOTE 2024-03-30: This is how the autoload is done in org.el.
@@ -440,12 +443,13 @@ Used by `org-dblock-update' with PARAMS provided by the 
dynamic block."
  (rx (if (listp regexp) (macroexpand `(rx ,regexp)) regexp))
  (sort (plist-get params :sort-by-component))
  (reverse (plist-get params :reverse-sort))
+ (include-date (plist-get params :include-date))
  (block-name (plist-get params :block-name))
  (denote-excluded-directories-regexp (or (plist-get params 
:excluded-dirs-regexp)
  
denote-excluded-directories-regexp))
  (files (denote-org-extras-dblock--files-missing-only rx sort 
reverse)))
 (when block-name (insert "#+name: " block-name "\n"))
-(denote-link--insert-links files 'org (plist-get params :id-only) 
:no-other-sorting)
+(denote-link--insert-links files 'org (plist-get params :id-only) 
:no-other-sorting include-date)
 (join-line))) ; remove trailing empty line
 
 ; Dynamic block to insert backlinks
@@ -471,7 +475,8 @@ Used by `org-dblock-update' with PARAM