[elpa] externals/a68-mode 12808af7a8 1/2: Expand SMIE grammar to clauses, formulae and units

2025-04-27 Thread ELPA Syncer
branch: externals/a68-mode
commit 12808af7a8f4bcd0e108dc8d249637f75d314032
Author: Jose E. Marchesi 
Commit: Jose E. Marchesi 

Expand SMIE grammar to clauses, formulae and units
---
 a68-mode.el | 193 +---
 1 file changed, 147 insertions(+), 46 deletions(-)

diff --git a/a68-mode.el b/a68-mode.el
index ef05cc73a5..570ba00fe6 100644
--- a/a68-mode.el
+++ b/a68-mode.el
@@ -359,6 +359,9 @@ with the equivalent upcased form."
  ("begin" exp "end")
  ("module" exp "def" exp "fed")
  ("module" exp "def" exp "postlude" exp "fed"))
+;; Declarations:
+(declaration (type-decl)
+ (proc-decl))
 (type-decl ("mode" type-decl*))
 (type-decl* (type-decl* "," type-decl*)
 (id "=" type-decl**))
@@ -370,13 +373,117 @@ with the equivalent upcased form."
 (proc-decl (proc-decl "," proc-decl)
("op" ids "=" args ids ":" exp)
("proc" ids "=" ids ":" exp))
-;; Formulae.
+;; Units:
+;;  unit :
+;;assignation ; identity relation ; routine text ;
+;;function and ; function or ; tertiary.
+;;  tertiary :
+;;formula ; secondary.
+;;  secondary :
+;;leap generator ; selection ; primary.
+;;  primary :
+;;primary one ; other denote ; skip token ; nil token.
+;;  primary one :
+;;slice call ; cast ; string denoter ; identifier ;
+;;jump ; enclosed clause.
+(unit (id ":=" exp)
+  ; (routine-text)
+  (assignation)
+  (pseudo-operator))
+(assignation (tertiary ":=" unit))
+(tertiary (formula)
+  (secondary))
+(secondary (leap-geneator)
+   (selection)
+   (primary))
+(primary (primary-one)
+ (other-denote)
+ ("skip")
+ ("~")
+ ("nil"))
+(primary-one (slice-call)
+ (cast)
+ (string-denoter)
+ (id)
+ (jump)
+ (enclosed-clause))
+(jump ("goto" id)
+  ("go" "-to-jump-" id))
+(pseudo-operator (exp "andth" exp)
+ (exp "orel" exp)
+ (exp ":=:" exp)
+ (exp ":/=:" exp)
+ (exp "is" exp)
+ (exp "isnt" exp))
+;; Formula.
 ;; Standard operators are given their priority.
-;; XXX
+(formula (dyadic-formula)
+ (monadic-formula))
+(monadic-formula ("-monadic~-" monadic-operand)
+ (-monadic+- monadic-operand)
+ ("-monadic--" monadic-operand))
+(dyadic-formula (operand "-oper-" monadic-operand)
+(operand "+:=" monadic-operand)
+(operand "-:=" monadic-operand)
+(operand "*:=" monadic-operand)
+(operand "/:=" monadic-operand)
+(operand "%:=" monadic-operand)
+(operand "%*:=" monadic-operand)
+(operand "+=:" monadic-operand)
+(operand "PLUSAB" monadic-operand)
+(operand "MINUSAB" monadic-operand)
+(operand "TIMESAB" monadic-operand)
+(operand "DIVAB" monadic-operand)
+(operand "OVERAB" monadic-operand)
+(operand "MODAB" monadic-operand)
+(operand "PLUSTO" monadic-operand)
+(operand "OR" monadic-operand)
+(operand "AND" monadic-operand)
+(operand "XOR" monadic-operand)
+(operand "=" monadic-operand)
+(operand "/=" monadic-operand)
+(operand "<" monadic-operand)
+(operand "<=" monadic-operand)
+(operand ">" monadic-operand)
+(operand ">=" monadic-operand)
+(operand "EQ" monadic-operand)
+(operand "NE" monadic-operand)
+(operand "LT" monadic-operand)
+(operand "LE" monadic-operand)
+(operand "GT" monadic-operand)
+(operand "GE" monadic-operand)
+(operand "+" monadic-operand)
+(operand "-" monadic-operand)
+(operand "*" monadic-operand)
+(operand "/" monadic-operand)
+(operand "OVER" monadic-operand)
+(operand "%" monadic-operand)
+(operand "MOD" monadic-operand)
+(operand "%*" monadic-operand)
+(operand "ELEM" monadic-operand)
+(operand "**" monadic-operand)
+(operand "SHL" monadic-operand)
+(operand "SHR" monadic-operand)
+(operand "UP" monadic-operand)
+(operand "DOWN" monadic-o

[elpa] externals/a68-mode updated (0135287d6c -> f86ee85b0c)

2025-04-27 Thread ELPA Syncer
elpasync pushed a change to branch externals/a68-mode.

  from  0135287d6c Syntax and indentation support for pragmats
   new  12808af7a8 Expand SMIE grammar to clauses, formulae and units
   new  f86ee85b0c Expand SMIE grammar: selections


Summary of changes:
 a68-mode.el | 193 +---
 1 file changed, 147 insertions(+), 46 deletions(-)



[nongnu] elpa/vm 9cbccaa5e5 2/2: Merge branch 'main' into 'main'

2025-04-27 Thread ELPA Syncer
branch: elpa/vm
commit 9cbccaa5e559241b384f52750181871f3f26976b
Merge: 7df08867c2 d563c6e814
Author: Mark Diekhans 
Commit: Mark Diekhans 

Merge branch 'main' into 'main'

Fixed regression in vm-submit-bug-report and improve bug submission 
documentation a bit

See merge request emacs-vm/vm!42
---
 README.md  | 12 
 lisp/vm.el | 18 --
 2 files changed, 20 insertions(+), 10 deletions(-)

diff --git a/README.md b/README.md
index 4dc06aee40..f05ab3c8fb 100644
--- a/README.md
+++ b/README.md
@@ -30,18 +30,22 @@ in _info_ format.
 The preferred way to report bugs is to file issues at
 https://gitlab.com/emacs-vm/vm/-/issues.
 
-Alternatively, bugs can be reported report in VM using the VM function
+Alternatively, bugs can be reported report in VM using the VM function.
 
 ```
 M-x vm-submit-bug-report
 ```
 
+This function create a mail message that includes your VM configuration
+information. If you are creating an issue, this information maybe pasted
+into the GitLab issue instead of sending.
+
 However, this function currently sends an e-mail to a mailing list,
-which makes the issue hard to track, why the Gitlab issue tracker
-normally is a better option
+which makes the issue hard to track, hence the Gitlab issue tracker
+normally is a better option.
 
 Please include information about how to reproduce the problem. Please
-report any problems or bugs otherwise they cannot be fixed!
+report any problems or bugs, otherwise they cannot be fixed!
 
 If you are not sure that the problem is a bug or that it could be of
 general importance to other users, you are welcome to discuss it on
diff --git a/lisp/vm.el b/lisp/vm.el
index 9c2a098eba..910b71808a 100644
--- a/lisp/vm.el
+++ b/lisp/vm.el
@@ -1480,14 +1480,21 @@ summary buffer to select a folder."
   (reporter-submit-bug-report
vm-maintainer-address   ; address
(concat "VM " (vm-version)  ; pkgname
-   " commit: " (vm-commit-version))
+   " commit: " (vm-version-commit))
varlist ; varlist
pre-hooks   ; pre-hooks
post-hooks  ; post-hooks
(concat ; salutation
"INSTRUCTIONS:
 
-- You are using Emacs default messaging here.  *** NOT vm-mail-mode!
+- The preferd way submit a bug report is at:
+
+   https://gitlab.com/emacs-vm/vm/-/issues
+
+  The content of this mail maybe pasted into the issues to understand your
+  configuration.
+
+- You are using Emacs default messaging here.  *** NOT vm-mail-mode ***
 
 - Please change the Subject header to a concise bug description.
 
@@ -1505,10 +1512,9 @@ summary buffer to select a folder."
 "
(if (> errors 0)
"
-- The raw definitions for some of the mail configurations are included
-  below because there were errors in cleaning them.  Please replace any
-  sensitive information by ."))
-   )
+- The below defintions should be scrubbed of sensitive information.
+  However, please verify this is the case."
+  )))
   (goto-char (point-min))
   (mail-position-on-field "Subject"
 



[nongnu] elpa/vm d563c6e814 1/2: Fixed regression in vm-submit-bug-report and improve bug submission documentation a bit

2025-04-27 Thread ELPA Syncer
branch: elpa/vm
commit d563c6e814be319a15ee35275fbfd818c125447f
Author: Mark Diekhans 
Commit: Mark Diekhans 

Fixed regression in vm-submit-bug-report and improve bug submission 
documentation a bit
---
 README.md  | 12 
 lisp/vm.el | 18 --
 2 files changed, 20 insertions(+), 10 deletions(-)

diff --git a/README.md b/README.md
index 4dc06aee40..f05ab3c8fb 100644
--- a/README.md
+++ b/README.md
@@ -30,18 +30,22 @@ in _info_ format.
 The preferred way to report bugs is to file issues at
 https://gitlab.com/emacs-vm/vm/-/issues.
 
-Alternatively, bugs can be reported report in VM using the VM function
+Alternatively, bugs can be reported report in VM using the VM function.
 
 ```
 M-x vm-submit-bug-report
 ```
 
+This function create a mail message that includes your VM configuration
+information. If you are creating an issue, this information maybe pasted
+into the GitLab issue instead of sending.
+
 However, this function currently sends an e-mail to a mailing list,
-which makes the issue hard to track, why the Gitlab issue tracker
-normally is a better option
+which makes the issue hard to track, hence the Gitlab issue tracker
+normally is a better option.
 
 Please include information about how to reproduce the problem. Please
-report any problems or bugs otherwise they cannot be fixed!
+report any problems or bugs, otherwise they cannot be fixed!
 
 If you are not sure that the problem is a bug or that it could be of
 general importance to other users, you are welcome to discuss it on
diff --git a/lisp/vm.el b/lisp/vm.el
index 9c2a098eba..910b71808a 100644
--- a/lisp/vm.el
+++ b/lisp/vm.el
@@ -1480,14 +1480,21 @@ summary buffer to select a folder."
   (reporter-submit-bug-report
vm-maintainer-address   ; address
(concat "VM " (vm-version)  ; pkgname
-   " commit: " (vm-commit-version))
+   " commit: " (vm-version-commit))
varlist ; varlist
pre-hooks   ; pre-hooks
post-hooks  ; post-hooks
(concat ; salutation
"INSTRUCTIONS:
 
-- You are using Emacs default messaging here.  *** NOT vm-mail-mode!
+- The preferd way submit a bug report is at:
+
+   https://gitlab.com/emacs-vm/vm/-/issues
+
+  The content of this mail maybe pasted into the issues to understand your
+  configuration.
+
+- You are using Emacs default messaging here.  *** NOT vm-mail-mode ***
 
 - Please change the Subject header to a concise bug description.
 
@@ -1505,10 +1512,9 @@ summary buffer to select a folder."
 "
(if (> errors 0)
"
-- The raw definitions for some of the mail configurations are included
-  below because there were errors in cleaning them.  Please replace any
-  sensitive information by ."))
-   )
+- The below defintions should be scrubbed of sensitive information.
+  However, please verify this is the case."
+  )))
   (goto-char (point-min))
   (mail-position-on-field "Subject"
 



[elpa] externals/phps-mode c0e03fef95 04/19: Updated language production comments

2025-04-27 Thread Christian Johansson
branch: externals/phps-mode
commit c0e03fef95adb53496a02eddcc50983f8a79d3ac
Author: Christian Johansson 
Commit: Christian Johansson 

Updated language production comments
---
 phps-mode-parser-sdt.el | 1051 ---
 1 file changed, 536 insertions(+), 515 deletions(-)

diff --git a/phps-mode-parser-sdt.el b/phps-mode-parser-sdt.el
index d9f96ac2e9..aee7621480 100644
--- a/phps-mode-parser-sdt.el
+++ b/phps-mode-parser-sdt.el
@@ -6,7 +6,7 @@
 ;;; Commentary:
 
 
-;; Productions PHP 8.3 grammar:
+;; Productions PHP 8.4 grammar:
 
 ;; Production 0: ((start) (top_statement_list))
 ;; Production 1: ((reserved_non_modifiers) (T_INCLUDE))
@@ -79,520 +79,541 @@
 ;; Production 68: ((reserved_non_modifiers) (T_FN))
 ;; Production 69: ((reserved_non_modifiers) (T_MATCH))
 ;; Production 70: ((reserved_non_modifiers) (T_ENUM))
-;; Production 71: ((semi_reserved) (reserved_non_modifiers))
-;; Production 72: ((semi_reserved) (T_STATIC))
-;; Production 73: ((semi_reserved) (T_ABSTRACT))
-;; Production 74: ((semi_reserved) (T_FINAL))
-;; Production 75: ((semi_reserved) (T_PRIVATE))
-;; Production 76: ((semi_reserved) (T_PROTECTED))
-;; Production 77: ((semi_reserved) (T_PUBLIC))
-;; Production 78: ((semi_reserved) (T_READONLY))
-;; Production 79: ((ampersand) (T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG))
-;; Production 80: ((ampersand) (T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG))
-;; Production 81: ((identifier) (T_STRING))
-;; Production 82: ((identifier) (semi_reserved))
-;; Production 83: ((top_statement_list) (top_statement_list top_statement))
-;; Production 84: ((top_statement_list) (%empty))
-;; Production 85: ((namespace_declaration_name) (identifier))
-;; Production 86: ((namespace_declaration_name) (T_NAME_QUALIFIED))
-;; Production 87: ((namespace_name) (T_STRING))
-;; Production 88: ((namespace_name) (T_NAME_QUALIFIED))
-;; Production 89: ((legacy_namespace_name) (namespace_name))
-;; Production 90: ((legacy_namespace_name) (T_NAME_FULLY_QUALIFIED))
-;; Production 91: ((name) (T_STRING))
-;; Production 92: ((name) (T_NAME_QUALIFIED))
-;; Production 93: ((name) (T_NAME_FULLY_QUALIFIED))
-;; Production 94: ((name) (T_NAME_RELATIVE))
-;; Production 95: ((attribute_decl) (class_name))
-;; Production 96: ((attribute_decl) (class_name argument_list))
-;; Production 97: ((attribute_group) (attribute_decl))
-;; Production 98: ((attribute_group) (attribute_group "," attribute_decl))
-;; Production 99: ((attribute) (T_ATTRIBUTE attribute_group possible_comma 
"]"))
-;; Production 100: ((attributes) (attribute))
-;; Production 101: ((attributes) (attributes attribute))
-;; Production 102: ((attributed_statement) (function_declaration_statement))
-;; Production 103: ((attributed_statement) (class_declaration_statement))
-;; Production 104: ((attributed_statement) (trait_declaration_statement))
-;; Production 105: ((attributed_statement) (interface_declaration_statement))
-;; Production 106: ((attributed_statement) (enum_declaration_statement))
-;; Production 107: ((top_statement) (statement))
-;; Production 108: ((top_statement) (attributed_statement))
-;; Production 109: ((top_statement) (attributes attributed_statement))
-;; Production 110: ((top_statement) (T_HALT_COMPILER "(" ")" ";"))
-;; Production 111: ((top_statement) (T_NAMESPACE namespace_declaration_name 
";"))
-;; Production 112: ((top_statement) (T_NAMESPACE namespace_declaration_name 
"{" top_statement_list "}"))
-;; Production 113: ((top_statement) (T_NAMESPACE "{" top_statement_list "}"))
-;; Production 114: ((top_statement) (T_USE mixed_group_use_declaration ";"))
-;; Production 115: ((top_statement) (T_USE use_type group_use_declaration ";"))
-;; Production 116: ((top_statement) (T_USE use_declarations ";"))
-;; Production 117: ((top_statement) (T_USE use_type use_declarations ";"))
-;; Production 118: ((top_statement) (T_CONST const_list ";"))
-;; Production 119: ((use_type) (T_FUNCTION))
-;; Production 120: ((use_type) (T_CONST))
-;; Production 121: ((group_use_declaration) (legacy_namespace_name 
T_NS_SEPARATOR "{" unprefixed_use_declarations possible_comma "}"))
-;; Production 122: ((mixed_group_use_declaration) (legacy_namespace_name 
T_NS_SEPARATOR "{" inline_use_declarations possible_comma "}"))
-;; Production 123: ((possible_comma) (%empty))
-;; Production 124: ((possible_comma) (","))
-;; Production 125: ((inline_use_declarations) (inline_use_declarations "," 
inline_use_declaration))
-;; Production 126: ((inline_use_declarations) (inline_use_declaration))
-;; Production 127: ((unprefixed_use_declarations) (unprefixed_use_declarations 
"," unprefixed_use_declaration))
-;; Production 128: ((unprefixed_use_declarations) (unprefixed_use_declaration))
-;; Production 129: ((use_declarations) (use_declarations "," use_declaration))
-;; Production 130: ((use_declarations) (use_declaration))
-;; Production 131: ((inline_use_declaration) (unprefixed_use_declaration))
-;; Production 132: ((inline_use_declaration) (use

[elpa] externals/phps-mode f43ca2938b 13/19: SDT to 355

2025-04-27 Thread Christian Johansson
branch: externals/phps-mode
commit f43ca2938b966de277f79be5a17eaa591b0c7b12
Author: Christian Johansson 
Commit: Christian Johansson 

SDT to 355
---
 phps-mode-parser-sdt.el | 222 
 phps-mode-syntax-color-generator.el |   3 +
 2 files changed, 127 insertions(+), 98 deletions(-)

diff --git a/phps-mode-parser-sdt.el b/phps-mode-parser-sdt.el
index 1a491496bb..574143b9f4 100644
--- a/phps-mode-parser-sdt.el
+++ b/phps-mode-parser-sdt.el
@@ -4515,23 +4515,21 @@
  ,(cdr (cdr (nth 0 terminals)
  phps-mode-parser--table-translations)
 
-;; TODO WAS HERE
-
-;; 303 ((class_statement_list) (class_statement_list class_statement))
+;; 304 ((class_statement_list) (class_statement_list class_statement))
 (puthash
- 303
+ 304
  (lambda(args _terminals)
(if (car args)
(append (car args) (cdr args))
  (cdr args)))
  phps-mode-parser--table-translations)
 
-;; 304 ((class_statement_list) (%empty))
-(puthash 304 (lambda(_args _terminals) nil) 
phps-mode-parser--table-translations)
+;; 305 ((class_statement_list) (%empty))
+(puthash 305 (lambda(_args _terminals) nil) 
phps-mode-parser--table-translations)
 
-;; 305 ((attributed_class_statement) (variable_modifiers 
optional_type_without_static property_list ";"))
+;; 306 ((attributed_class_statement) (property_modifiers 
optional_type_without_static property_list ";"))
 (puthash
-305
+306
  (lambda(args _terminals)
`(
  ast-type
@@ -4545,9 +4543,26 @@
  ))
  phps-mode-parser--table-translations)
 
-;; 306 ((attributed_class_statement) (method_modifiers T_CONST 
class_const_list ";"))
+;; NOTE New rule PHP 8.4
+;; 307 ((attributed_class_statement) (property_modifiers 
optional_type_without_static hooked_property))
+(puthash
+307
+ (lambda(args _terminals)
+   `(
+ ast-type
+ property
+ modifiers
+ ,(nth 0 args)
+ type
+ ,(nth 1 args)
+ hooked-property
+ ,(nth 2 args)
+ ))
+ phps-mode-parser--table-translations)
+
+;; 308 ((attributed_class_statement) (class_const_modifiers T_CONST 
class_const_list ";"))
 (puthash
- 306
+ 308
  (lambda(args terminals)
(when-let (const-list (nth 2 args))
  (let ((const-count (length const-list))
@@ -4583,9 +4598,9 @@
  ,(cdr (cdr (car (nth 2 terminals))
  phps-mode-parser--table-translations)
 
-;; 307 ((attributed_class_statement) (class_const_modifiers T_CONST type_expr 
class_const_list ";"))
+;; 309 ((attributed_class_statement) (class_const_modifiers T_CONST type_expr 
class_const_list ";"))
 (puthash
- 307
+ 309
  (lambda(args terminals)
(when-let (const-list (nth 3 args))
  (let ((const-count (length const-list))
@@ -4621,9 +4636,9 @@
  ,(cdr (cdr (car (nth 3 terminals))
  phps-mode-parser--table-translations)
 
-;; 308 ((attributed_class_statement) (method_modifiers function returns_ref 
identifier backup_doc_comment "(" parameter_list ")" return_type 
backup_fn_flags method_body backup_fn_flags))
+;; 310 ((attributed_class_statement) (method_modifiers function returns_ref 
identifier backup_doc_comment "(" parameter_list ")" return_type 
backup_fn_flags method_body backup_fn_flags))
 (puthash
- 308
+ 310
  (lambda(args terminals)
`(
  ast-type
@@ -4655,9 +4670,9 @@
  nil))
  phps-mode-parser--table-translations)
 
-;; 309 ((attributed_class_statement) (enum_case))
+;; 311 ((attributed_class_statement) (enum_case))
 (puthash
- 309
+ 311
  (lambda(args _terminals)
`(
  ast-type
@@ -4668,9 +4683,9 @@
)
  phps-mode-parser--table-translations)
 
-;; 310 ((class_statement) (attributed_class_statement))
+;; 312 ((class_statement) (attributed_class_statement))
 (puthash
- 310
+ 312
  (lambda(args _terminals)
(let* ((attributed-class-statement
args)
@@ -4896,9 +4911,9 @@
  ,args))
  phps-mode-parser--table-translations)
 
-;; 311 ((class_statement) (attributes attributed_class_statement))
+;; 313 ((class_statement) (attributes attributed_class_statement))
 (puthash
- 311
+ 313
  (lambda(args _terminals)
(let* ((attributed-class-statement
(nth 1 args))
@@ -4938,9 +4953,9 @@
  ,(nth 1 args)))
  phps-mode-parser--table-translations)
 
-;; 312 ((class_statement) (T_USE class_name_list trait_adaptations))
+;; 314 ((class_statement) (T_USE class_name_list trait_adaptations))
 (puthash
- 312
+ 314
  (lambda(args _terminals)
`(
  ast-type
@@ -4951,36 +4966,36 @@
  ,(nth 2 args)))
  phps-mode-parser--table-translations)
 
-;; 313 ((class_name_list) (class_name))
-(puthash 313 (lambda(args _terminals) (list args)) 
phps-mode-parser--table-translations)
+;; 315 ((class_name_list) (class_name))
+(puthash 315 (lambda(args _terminals) (list args)) 
phps-mode-parser--table-translations)
 
-;; 314 ((class_name_list) (class_name_list "," class_name))
-(puthash 314 (lambda(args _terminals) (append (nth 0 args) (nth 2 args))) 
phps-mode-parser--table-translations)
+;; 316 ((class_name_list) (class_name_list "," class_name))
+(puthash

[elpa] externals/phps-mode 72e05256f1 15/19: More Parser SDT to 444

2025-04-27 Thread Christian Johansson
branch: externals/phps-mode
commit 72e05256f18abd3a34378aae42005269c86e4c81
Author: Christian Johansson 
Commit: Christian Johansson 

More Parser SDT to 444
---
 phps-mode-parser-sdt.el | 262 +---
 1 file changed, 137 insertions(+), 125 deletions(-)

diff --git a/phps-mode-parser-sdt.el b/phps-mode-parser-sdt.el
index ae53eac6bc..9e3505d5bc 100644
--- a/phps-mode-parser-sdt.el
+++ b/phps-mode-parser-sdt.el
@@ -5388,41 +5388,39 @@
  ))
  phps-mode-parser--table-translations)
 
-;; 384 ((new_expr) (T_NEW class_name_reference ctor_arguments))
+;; 384 ((new_dereferenceable) (T_NEW class_name_reference argument_list))
 (puthash
  384
  (lambda(args _terminals)
`(
  ast-type
- new-expr-class
- class-name
+ new-dereferenceable
+ class-name-reference
  ,(nth 1 args)
- ctor-arguments
+ argument-list
  ,(nth 2 args)
  ))
  phps-mode-parser--table-translations)
 
-;; 385 ((new_expr) (T_NEW anonymous_class))
+;; 385 ((new_dereferenceable) (T_NEW anonymous_class))
 (puthash
  385
  (lambda(args _terminals)
`(
  ast-type
- new-expr-anonymous-class
+ new-dereferenceable
  anonymous-class
  ,(nth 1 args)
  ))
  phps-mode-parser--table-translations)
 
-;; TODO WAS HERE
-
-;; 366 ((new_expr) (T_NEW attributes anonymous_class))
+;; 386 ((new_dereferenceable) (T_NEW attributes anonymous_class))
 (puthash
- 366
+ 386
  (lambda(args _terminals)
`(
  ast-type
- new-expr-attributed-anonymous-class
+ new-dereferenceable
  attributes
  ,(nth 1 args)
  anonymous-class
@@ -5430,9 +5428,21 @@
  ))
  phps-mode-parser--table-translations)
 
-;; 367 ((expr) (variable))
+;; 387 ((new_non_dereferenceable) (T_NEW class_name_reference))
 (puthash
- 367
+ 387
+ (lambda(args _terminals)
+   `(
+ ast-type
+ new-non-dereferenceable
+ class-name-reference
+ ,(nth 1 args)
+ ))
+ phps-mode-parser--table-translations)
+
+;; 388 ((expr) (variable))
+(puthash
+ 388
  (lambda(args _terminals)
`(
  ast-type
@@ -5441,9 +5451,9 @@
  ,args))
  phps-mode-parser--table-translations)
 
-;; 368 ((expr) (T_LIST "(" array_pair_list ")" "=" expr))
+;; 389 ((expr) (T_LIST "(" array_pair_list ")" "=" expr))
 (puthash
- 368
+ 389
  (lambda(args _terminals)
(let ((array-pair-list (nth 2 args)))
  (dolist (array-item array-pair-list)
@@ -5486,9 +5496,9 @@
  ))
  phps-mode-parser--table-translations)
 
-;; 369 ((expr) ("[" array_pair_list "]" "=" expr))
+;; 390 ((expr) ("[" array_pair_list "]" "=" expr))
 (puthash
- 369
+ 390
  (lambda(args _terminals)
(let ((array-pair-list (nth 1 args)))
  (dolist (array-item array-pair-list)
@@ -5532,9 +5542,9 @@
  ))
  phps-mode-parser--table-translations)
 
-;; 370 ((expr) (variable "=" expr))
+;; 391 ((expr) (variable "=" expr))
 (puthash
- 370
+ 391
  (lambda(args terminals)
;; Save variable declaration in bookkeeping buffer
(let ((variable-type (plist-get (nth 0 args) 'ast-type)))
@@ -5590,9 +5600,9 @@
  ,(cdr (cdr (nth 0 terminals)
  phps-mode-parser--table-translations)
 
-;; 371 ((expr) (variable "=" ampersand variable))
+;; 392 ((expr) (variable "=" ampersand variable))
 (puthash
- 371
+ 392
  (lambda(args terminals)
;; Save variable declaration in bookkeeping buffer
(let ((variable-type1 (plist-get (nth 0 args) 'ast-type)))
@@ -5648,9 +5658,9 @@
  ))
  phps-mode-parser--table-translations)
 
-;; 372 ((expr) (T_CLONE expr))
+;; 393 ((expr) (T_CLONE expr))
 (puthash
- 372
+ 393
  (lambda(args _terminals)
`(
  ast-type
@@ -5660,9 +5670,9 @@
  ))
  phps-mode-parser--table-translations)
 
-;; 373 ((expr) (variable T_PLUS_EQUAL expr))
+;; 394 ((expr) (variable T_PLUS_EQUAL expr))
 (puthash
- 373
+ 394
  (lambda(args _terminals)
`(
  ast-type
@@ -5674,9 +5684,9 @@
  ))
  phps-mode-parser--table-translations)
 
-;; 374 ((expr) (variable T_MINUS_EQUAL expr))
+;; 395 ((expr) (variable T_MINUS_EQUAL expr))
 (puthash
- 374
+ 395
  (lambda(args _terminals)
`(
  ast-type
@@ -5688,9 +5698,9 @@
  ))
  phps-mode-parser--table-translations)
 
-;; 375 ((expr) (variable T_MUL_EQUAL expr))
+;; 396 ((expr) (variable T_MUL_EQUAL expr))
 (puthash
- 375
+ 396
  (lambda(args _terminals)
`(
  ast-type
@@ -5702,9 +5712,9 @@
  ))
  phps-mode-parser--table-translations)
 
-;; 376 ((expr) (variable T_POW_EQUAL expr))
+;; 397 ((expr) (variable T_POW_EQUAL expr))
 (puthash
- 376
+ 397
  (lambda(args _terminals)
`(
  ast-type
@@ -5716,9 +5726,9 @@
  ))
  phps-mode-parser--table-translations)
 
-;; 377 ((expr) (variable T_DIV_EQUAL expr))
+;; 398 ((expr) (variable T_DIV_EQUAL expr))
 (puthash
- 377
+ 398
  (lambda(args _terminals)
`(
  ast-type
@@ -5730,9 +5740,9 @@
  ))
  phps-mode-parser--table-translations)
 
-;; 378 ((expr) (variable T_CONCAT_EQUAL expr))
+;; 399 ((expr) (variable T_CONCAT_EQUAL expr))
 (puthash
- 378
+ 399
  (lambda(args _termin

[elpa] externals/phps-mode 08589687eb 18/19: Implemented new unit tests for PHP 8.4

2025-04-27 Thread Christian Johansson
branch: externals/phps-mode
commit 08589687eb02c25122ad3422562998b4bf0a613c
Author: Christian Johansson 
Commit: Christian Johansson 

Implemented new unit tests for PHP 8.4
---
 test/phps-mode-test-parser.el | 85 ++-
 1 file changed, 83 insertions(+), 2 deletions(-)

diff --git a/test/phps-mode-test-parser.el b/test/phps-mode-test-parser.el
index 8144e1637b..e762adc9a2 100644
--- a/test/phps-mode-test-parser.el
+++ b/test/phps-mode-test-parser.el
@@ -195,9 +195,90 @@
   (phps-mode-test-parser--buffer-contents
"countryCode = strtoupper($countryCode);
+}
+}
+
+public string $combinedCode
+{
+get => \sprintf(\"%s_%s\", $this->languageCode, $this->countryCode);
+set (string $value) {
+[$this->languageCode, $this->countryCode] = explode('_', $value, 
2);
+}
+}
+
+public function __construct(string $languageCode, string $countryCode)
+{
+$this->languageCode = $languageCode;
+$this->countryCode = $countryCode;
+}
+}
+
+$brazilianPortuguese = new Locale('pt', 'br');
+var_dump($brazilianPortuguese->countryCode); // BR
+var_dump($brazilianPortuguese->combinedCode); // pt_BR"
+  "PHP 8.4 Property hooks"
+  (lambda() (phps-mode-parser-parse)))
+
+  (phps-mode-test-parser--buffer-contents
+  "version);
+$minor++;
+$this->version = \"{$major}.{$minor}\";
+}
+}"
+  "PHP 8.4 Asymmetric Visibility"
+  (lambda() (phps-mode-parser-parse)))
+
+  (phps-mode-test-parser--buffer-contents
+   "getVersion();
+}
+
+public function getVersion(): string
+{
+return '8.4';
+}
+}
+$phpVersion = new PhpVersion();
+// Deprecated: Method PhpVersion::getPhpVersion() is deprecated since 8.4, use 
PhpVersion::getVersion() instead
+echo $phpVersion->getPhpVersion();"
+   "PHP 8.4 #[\\Deprecated] Attribute"
+   (lambda() (phps-mode-parser-parse)))
+
+  (phps-mode-test-parser--buffer-contents
+   "getVersion());"
+   "PHP 8.4 new MyClass()->method() without parentheses"
+   (lambda() (phps-mode-parser-parse)))
 
   (message "\n-- Ran tests for parser parse. --"))
 



[elpa] externals/phps-mode ff5fbd617d 19/19: Updated modified date, version and documentation

2025-04-27 Thread Christian Johansson
branch: externals/phps-mode
commit ff5fbd617d8e67f14f8928fd21f4de56bead987a
Author: Christian Johansson 
Commit: Christian Johansson 

Updated modified date, version and documentation
---
 README.md| 4 ++--
 phps-mode.el | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/README.md b/README.md
index bdb00d347b..b622f90118 100644
--- a/README.md
+++ b/README.md
@@ -11,8 +11,8 @@ This mode does not require PHP installed on your computer 
because it has a built
 
 * GPLv3 license
 * Flycheck support with `(phps-mode-flycheck-setup)`
-* Lexer based on official PHP 8.3 re2c generated lexer
-* Canonical LR(1) Parser automatically generated from the official PHP 8.3 
LALR(1) YACC grammar
+* Lexer based on official PHP 8.4 re2c generated lexer
+* Canonical LR(1) Parser automatically generated from the official PHP 8.4 
LALR(1) YACC grammar
 * Syntax coloring based on lexer tokens, makes it easier to spot invalid code
 * PSR-1, PSR-2 and PSR-12 indentation
 * PSR-1, PSR-2 and PSR-12 supported white-space
diff --git a/phps-mode.el b/phps-mode.el
index 397e8d10a4..0aaa9f81f3 100644
--- a/phps-mode.el
+++ b/phps-mode.el
@@ -5,8 +5,8 @@
 ;; Author: Christian Johansson 
 ;; Maintainer: Christian Johansson 
 ;; Created: 3 Mar 2018
-;; Modified: 3 Mar 2025
-;; Version: 0.4.50
+;; Modified: 28 Apr 2025
+;; Version: 0.4.51
 ;; Keywords: tools, convenience
 ;; URL: https://github.com/cjohansson/emacs-phps-mode
 



[elpa] externals/phps-mode 458a6e97d1 16/19: Review all SDT rules first run

2025-04-27 Thread Christian Johansson
branch: externals/phps-mode
commit 458a6e97d1fd5e91751987870961de892e1734ea
Author: Christian Johansson 
Commit: Christian Johansson 

Review all SDT rules first run
---
 phps-mode-parser-sdt.el | 719 
 1 file changed, 356 insertions(+), 363 deletions(-)

diff --git a/phps-mode-parser-sdt.el b/phps-mode-parser-sdt.el
index 9e3505d5bc..d2a2b39692 100644
--- a/phps-mode-parser-sdt.el
+++ b/phps-mode-parser-sdt.el
@@ -6347,22 +6347,30 @@
(nth 1 args))
  phps-mode-parser--table-translations)
 
-;; TODO WAS HERE
-
-;; 444 ((expr) (new_expr))
+;; 444 ((expr) (new_dereferenceable))
 (puthash
  444
  (lambda(args _terminals)
`(
  ast-type
- expr-new-expr
+ expr-new-dereferenceable
  expr
  ,args))
  phps-mode-parser--table-translations)
 
-;; 424 ((expr) (expr "?" expr ":" expr))
 (puthash
- 424
+ 445
+ (lambda(args _terminals)
+   `(
+ ast-type
+ expr-new-non-dereferenceable
+ expr
+ ,args))
+ phps-mode-parser--table-translations)
+
+;; 446 ((expr) (expr "?" expr ":" expr))
+(puthash
+ 446
  (lambda(args _terminals)
`(
  ast-type
@@ -6375,9 +6383,9 @@
  ,(nth 4 args)))
  phps-mode-parser--table-translations)
 
-;; 425 ((expr) (expr "?" ":" expr))
+;; 447 ((expr) (expr "?" ":" expr))
 (puthash
- 425
+ 447
  (lambda(args _terminals)
`(
  ast-type
@@ -6390,9 +6398,9 @@
  ,(nth 3 args)))
  phps-mode-parser--table-translations)
 
-;; 426 ((expr) (expr T_COALESCE expr))
+;; 448 ((expr) (expr T_COALESCE expr))
 (puthash
- 426
+ 448
  (lambda(args _terminals)
`(
  ast-type
@@ -6403,9 +6411,9 @@
  ,(nth 2 args)))
  phps-mode-parser--table-translations)
 
-;; 427 ((expr) (internal_functions_in_yacc))
+;; 449 ((expr) (internal_functions_in_yacc))
 (puthash
- 427
+ 449
  (lambda(args _terminals)
`(
  ast-type
@@ -6414,9 +6422,9 @@
  ,args))
  phps-mode-parser--table-translations)
 
-;; 428 ((expr) (T_INT_CAST expr))
+;; 450 ((expr) (T_INT_CAST expr))
 (puthash
- 428
+ 450
  (lambda(args _terminals)
`(
  ast-type
@@ -6425,9 +6433,9 @@
  ,(nth 1 args)))
  phps-mode-parser--table-translations)
 
-;; 429 ((expr) (T_DOUBLE_CAST expr))
+;; 451 ((expr) (T_DOUBLE_CAST expr))
 (puthash
- 429
+ 451
  (lambda(args _terminals)
`(
  ast-type
@@ -6436,9 +6444,9 @@
  ,(nth 1 args)))
  phps-mode-parser--table-translations)
 
-;; 430 ((expr) (T_STRING_CAST expr))
+;; 452 ((expr) (T_STRING_CAST expr))
 (puthash
- 430
+ 452
  (lambda(args _terminals)
`(
  ast-type
@@ -6447,9 +6455,9 @@
  ,(nth 1 args)))
  phps-mode-parser--table-translations)
 
-;; 431 ((expr) (T_ARRAY_CAST expr))
+;; 453 ((expr) (T_ARRAY_CAST expr))
 (puthash
- 431
+ 453
  (lambda(args _terminals)
`(
  ast-type
@@ -6458,9 +6466,9 @@
  ,(nth 1 args)))
  phps-mode-parser--table-translations)
 
-;; 432 ((expr) (T_OBJECT_CAST expr))
+;; 454 ((expr) (T_OBJECT_CAST expr))
 (puthash
- 432
+ 454
  (lambda(args _terminals)
`(
  ast-type
@@ -6469,9 +6477,9 @@
  ,(nth 1 args)))
  phps-mode-parser--table-translations)
 
-;; 433 ((expr) (T_BOOL_CAST expr))
+;; 455 ((expr) (T_BOOL_CAST expr))
 (puthash
- 433
+ 455
  (lambda(args _terminals)
`(
  ast-type
@@ -6480,9 +6488,9 @@
  ,(nth 1 args)))
  phps-mode-parser--table-translations)
 
-;; 434 ((expr) (T_UNSET_CAST expr))
+;; 456 ((expr) (T_UNSET_CAST expr))
 (puthash
- 434
+ 456
  (lambda(args _terminals)
`(
  ast-type
@@ -6491,20 +6499,20 @@
  ,(nth 1 args)))
  phps-mode-parser--table-translations)
 
-;; 435 ((expr) (T_EXIT exit_expr))
+;; 457 ((expr) (T_EXIT ctor_arguments))
 (puthash
- 435
+ 457
  (lambda(args _terminals)
`(
  ast-type
  expr-exit
- exit-expr
+ ctor_arguments
  ,(nth 1 args)))
  phps-mode-parser--table-translations)
 
-;; 436 ((expr) ("@" expr))
+;; 458 ((expr) ("@" expr))
 (puthash
- 436
+ 458
  (lambda(args _terminals)
`(
  ast-type
@@ -6513,9 +6521,9 @@
  ,(nth 1 args)))
  phps-mode-parser--table-translations)
 
-;; 437 ((expr) (scalar))
+;; 459 ((expr) (scalar))
 (puthash
- 437
+ 459
  (lambda(args _terminals)
`(
  ast-type
@@ -6524,9 +6532,9 @@
  ,args))
  phps-mode-parser--table-translations)
 
-;; 438 ((expr) ("`" backticks_expr "`"))
+;; 460 ((expr) ("`" backticks_expr "`"))
 (puthash
- 438
+ 460
  (lambda(args _terminals)
`(
  ast-type
@@ -6535,9 +6543,9 @@
  ,(nth 1 args)))
  phps-mode-parser--table-translations)
 
-;; 439 ((expr) (T_PRINT expr))
+;; 461 ((expr) (T_PRINT expr))
 (puthash
- 439
+ 461
  (lambda(args _terminals)
`(
  ast-type
@@ -6546,18 +6554,18 @@
  ,(nth 1 args)))
  phps-mode-parser--table-translations)
 
-;; 440 ((expr) (T_YIELD))
+;; 462 ((expr) (T_YIELD))
 (puthash
- 440
+ 462
  (lambda(_args _terminals)
`(
  ast-type
  expr-yield))
  phps-mode-parser--table-translations)
 
-;; 441 ((expr) (T_YIELD expr))
+;; 463 ((expr) (T_YIELD expr))
 (puthash
- 441
+ 463
  (lambda(args _terminals)

[elpa] externals/phps-mode 789942bfc1 10/19: More work on PHP 8.4 SDT rules

2025-04-27 Thread Christian Johansson
branch: externals/phps-mode
commit 789942bfc1244fc8d2f9939a3c8183bcc4d8351d
Author: Christian Johansson 
Commit: Christian Johansson 

More work on PHP 8.4 SDT rules
---
 phps-mode-parser-sdt.el | 772 
 1 file changed, 387 insertions(+), 385 deletions(-)

diff --git a/phps-mode-parser-sdt.el b/phps-mode-parser-sdt.el
index f51d0dc39d..72dea7acd9 100644
--- a/phps-mode-parser-sdt.el
+++ b/phps-mode-parser-sdt.el
@@ -1970,55 +1970,58 @@
 ;; 70 ((reserved_non_modifiers) (T_ENUM))
 (puthash 70 (lambda(_args _terminals) 'T_ENUM) 
phps-mode-parser--table-translations)
 
-;; 71 ((semi_reserved) (reserved_non_modifiers))
-(puthash 71 (lambda(args _terminals) args) 
phps-mode-parser--table-translations)
+;; 71 ((reserved_non_modifiers) (T_PROPERTY_C))
+(puthash 71 (lambda(_args _terminals) 'T_PROPERTY_C) 
phps-mode-parser--table-translations)
 
-;; 72 ((semi_reserved) (T_STATIC))
-(puthash 72 (lambda(_args _terminals) 'T_STATIC) 
phps-mode-parser--table-translations)
+;; 72 ((semi_reserved) (reserved_non_modifiers))
+(puthash 72 (lambda(args _terminals) args) 
phps-mode-parser--table-translations)
 
-;; 73 ((semi_reserved) (T_ABSTRACT))
-(puthash 73 (lambda(_args _terminals) 'T_ABSTRACT) 
phps-mode-parser--table-translations)
+;; 73 ((semi_reserved) (T_STATIC))
+(puthash 73 (lambda(_args _terminals) 'T_STATIC) 
phps-mode-parser--table-translations)
 
-;; 74 ((semi_reserved) (T_FINAL))
-(puthash 74 (lambda(_args _terminals) 'T_FINAL) 
phps-mode-parser--table-translations)
+;; 74 ((semi_reserved) (T_ABSTRACT))
+(puthash 74 (lambda(_args _terminals) 'T_ABSTRACT) 
phps-mode-parser--table-translations)
 
-;; 75 ((semi_reserved) (T_PRIVATE))
-(puthash 75 (lambda(_args _terminals) 'T_PRIVATE) 
phps-mode-parser--table-translations)
+;; 75 ((semi_reserved) (T_FINAL))
+(puthash 75 (lambda(_args _terminals) 'T_FINAL) 
phps-mode-parser--table-translations)
 
-;; 76 ((semi_reserved) (T_PROTECTED))
-(puthash 76 (lambda(_args _terminals) 'T_PROTECTED) 
phps-mode-parser--table-translations)
+;; 76 ((semi_reserved) (T_PRIVATE))
+(puthash 76 (lambda(_args _terminals) 'T_PRIVATE) 
phps-mode-parser--table-translations)
 
-;; 77 ((semi_reserved) (T_PUBLIC))
-(puthash 77 (lambda(_args _terminals) 'T_PUBLIC) 
phps-mode-parser--table-translations)
+;; 77 ((semi_reserved) (T_PROTECTED))
+(puthash 77 (lambda(_args _terminals) 'T_PROTECTED) 
phps-mode-parser--table-translations)
 
-;; 78 ((semi_reserved) (T_READONLY))
-(puthash 78 (lambda(_args _terminals) 'T_READONLY) 
phps-mode-parser--table-translations)
+;; 78 ((semi_reserved) (T_PUBLIC))
+(puthash 78 (lambda(_args _terminals) 'T_PUBLIC) 
phps-mode-parser--table-translations)
 
-;; 79 ((ampersand) (T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG))
-(puthash 79 (lambda(_args _terminals) 'T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG) 
phps-mode-parser--table-translations)
+;; 79 ((semi_reserved) (T_READONLY))
+(puthash 79 (lambda(_args _terminals) 'T_READONLY) 
phps-mode-parser--table-translations)
 
-;; 80 ((ampersand) (T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG))
-(puthash 80 (lambda(_args _terminals) 
'T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG) 
phps-mode-parser--table-translations)
+;; 80 ((ampersand) (T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG))
+(puthash 80 (lambda(_args _terminals) 'T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG) 
phps-mode-parser--table-translations)
 
-;; 81 ((identifier) (T_STRING))
-(puthash 81 (lambda(args _terminals) args) 
phps-mode-parser--table-translations)
+;; 81 ((ampersand) (T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG))
+(puthash 81 (lambda(_args _terminals) 
'T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG) 
phps-mode-parser--table-translations)
 
-;; 82 ((identifier) (semi_reserved))
+;; 82 ((identifier) (T_STRING))
 (puthash 82 (lambda(args _terminals) args) 
phps-mode-parser--table-translations)
 
-;; 83 ((top_statement_list) (top_statement_list top_statement))
+;; 83 ((identifier) (semi_reserved))
+(puthash 83 (lambda(args _terminals) args) 
phps-mode-parser--table-translations)
+
+;; 84 ((top_statement_list) (top_statement_list top_statement))
 (puthash
- 83
+ 84
  (lambda(args _terminals)
(if (car args) (append (car args) (cdr args)) (cdr args)))
  phps-mode-parser--table-translations)
 
-;; 84 ((top_statement_list) (%empty))
-(puthash 84 (lambda(_args _terminals) nil) 
phps-mode-parser--table-translations)
+;; 85 ((top_statement_list) (%empty))
+(puthash 85 (lambda(_args _terminals) nil) 
phps-mode-parser--table-translations)
 
-;; 85 ((namespace_declaration_name) (identifier))
+;; 86 ((namespace_declaration_name) (identifier))
 (puthash
- 85
+ 86
  (lambda(args terminals)
(let ((name args)
  (index (car (cdr terminals
@@ -2048,9 +2051,9 @@
  args))
  phps-mode-parser--table-translations)
 
-;; 86 ((namespace_declaration_name) (T_NAME_QUALIFIED))
+;; 87 ((namespace_declaration_name) (T_NAME_QUALIFIED))
 (puthash
- 86
+ 87
  (lambda(args terminals)
(let ((name args)
  (index (car (cdr terminals

[elpa] externals/phps-mode 9c3eec3425 01/19: Started on generation of PHP 8.4 grammar

2025-04-27 Thread Christian Johansson
branch: externals/phps-mode
commit 9c3eec3425bade766581f777416a36edc0f07853
Author: Christian Johansson 
Commit: Christian Johansson 

Started on generation of PHP 8.4 grammar
---
 Makefile | 4 ++--
 phps-mode-automation-parser-generator.el | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/Makefile b/Makefile
index 5c34a9488a..9db60c72d6 100644
--- a/Makefile
+++ b/Makefile
@@ -10,11 +10,11 @@ clean:
 
 .PHONY: parser
 parser:
-   rm phps-mode-automation-grammar.elc; $(EMACS_CMD) -L 
~/.emacs.d/elpa/parser-generator-0.2.0/ -l phps-mode-lexer.el -l 
admin/phps-mode-automation.el -eval "(progn (require 
'parser-generator-lr-export)(setq debug-on-error t)(phps-mode-automation))"
+   rm phps-mode-automation-grammar.elc; $(EMACS_CMD) -L 
~/.emacs.d/elpa/parser-generator-0.2.4/ -l phps-mode-lexer.el -l 
admin/phps-mode-automation.el -eval "(progn (require 
'parser-generator-lr-export)(setq debug-on-error t)(phps-mode-automation))"
 
 .PHONY: parser-resumed
 parser-resumed:
-   rm phps-mode-automation-grammar.elc; $(EMACS_CMD) -L 
~/.emacs.d/elpa/parser-generator-0.2.0/ -l phps-mode-lexer.el -l 
admin/phps-mode-automation.el -l resume.el -eval "(progn (require 
'parser-generator-lr-export)(setq debug-on-error t)(phps-mode-automation))"
+   rm phps-mode-automation-grammar.elc; $(EMACS_CMD) -L 
~/.emacs.d/elpa/parser-generator-0.2.4/ -l phps-mode-lexer.el -l 
admin/phps-mode-automation.el -l resume.el -eval "(progn (require 
'parser-generator-lr-export)(setq debug-on-error t)(phps-mode-automation))"
 
 .PHONY: compile
 compile:
diff --git a/phps-mode-automation-parser-generator.el 
b/phps-mode-automation-parser-generator.el
index 72ba2e0d02..e8e8892ffb 100644
--- a/phps-mode-automation-parser-generator.el
+++ b/phps-mode-automation-parser-generator.el
@@ -56,7 +56,7 @@
 (defun phps-mode-automation-parser-generator--ensure-yacc-grammar-is-available 
()
   "If grammar is not available, download it."
   (let ((php-yacc-url
- 
"https://raw.githubusercontent.com/php/php-src/PHP-8.3/Zend/zend_language_parser.y";)
+ 
"https://raw.githubusercontent.com/php/php-src/refs/heads/PHP-8.4/Zend/zend_language_parser.y";)
 (php-yacc-file
  (expand-file-name "zend_language_parser.y")))
 



[elpa] externals/phps-mode updated (6a44501e58 -> ff5fbd617d)

2025-04-27 Thread Christian Johansson
cjohansson pushed a change to branch externals/phps-mode.

  from  6a44501e58 Updated Copyright years and version
   new  9c3eec3425 Started on generation of PHP 8.4 grammar
   new  9eedde785e Improved the resume data output to avoid OS to kill 
process
   new  648d390ad4 Updated parser to PHP 8.4
   new  c0e03fef95 Updated language production comments
   new  9e24e2121d Started new lexer
   new  03c89be14f Ignoring files
   new  c5b38cde25 Merge branch 'master' into feature/php-8.4
   new  5d0764e69e Finished reviewing lexer for PHP 8.4
   new  884c66f1bc Added lexer initial state to parser and also better 
error descriptions when SDT fails
   new  789942bfc1 More work on PHP 8.4 SDT rules
   new  511a1926ec More parser sdt rules
   new  f1c1bf1658 Parser SDT to 303 of 605 rules
   new  f43ca2938b SDT to 355
   new  7522a1fa37 More SDT work
   new  72e05256f1 More Parser SDT to 444
   new  458a6e97d1 Review all SDT rules first run
   new  fb1fd26193 Passing all old unit tests
   new  08589687eb Implemented new unit tests for PHP 8.4
   new  ff5fbd617d Updated modified date, version and documentation


Summary of changes:
 .gitignore   |3 +
 Makefile |4 +-
 README.md|4 +-
 admin/phps-mode-automation.el|   80 +-
 phps-mode-automation-parser-generator.el |2 +-
 phps-mode-lexer-generator.el |   47 +-
 phps-mode-parser-sdt.el  | 3303 --
 phps-mode-parser.el  |  124 +-
 phps-mode-syntax-color-generator.el  |4 +
 phps-mode.el |4 +-
 test/phps-mode-test-parser.el|   85 +-
 11 files changed, 1962 insertions(+), 1698 deletions(-)



[elpa] externals/phps-mode c5b38cde25 07/19: Merge branch 'master' into feature/php-8.4

2025-04-27 Thread Christian Johansson
branch: externals/phps-mode
commit c5b38cde25422e4ddabd8345e58e6c82accd305a
Merge: 9e24e2121d 03c89be14f
Author: Christian Johansson 
Commit: Christian Johansson 

Merge branch 'master' into feature/php-8.4
---
 .gitignore   | 3 +++
 admin/phps-mode-automation.el| 2 +-
 phps-mode-ast.el | 2 +-
 phps-mode-automation-grammar.el  | 4 ++--
 phps-mode-automation-parser-generator.el | 2 +-
 phps-mode-cache.el   | 2 +-
 phps-mode-flymake.el | 2 +-
 phps-mode-indent.el  | 2 +-
 phps-mode-lex-analyzer.el| 2 +-
 phps-mode-lexer-generator.el | 6 +++---
 phps-mode-lexer.el   | 2 +-
 phps-mode-macros.el  | 2 +-
 phps-mode-parser-sdt.el  | 2 +-
 phps-mode-parser.el  | 2 +-
 phps-mode-serial.el  | 6 --
 phps-mode-syntax-color-generator.el  | 2 +-
 phps-mode-syntax-color.el| 2 +-
 phps-mode-syntax-table.el| 2 +-
 phps-mode-test.el| 2 +-
 phps-mode.el | 6 +++---
 test/phps-mode-test-ast.el   | 2 +-
 test/phps-mode-test-cache.el | 2 +-
 test/phps-mode-test-indent.el| 2 +-
 test/phps-mode-test-integration.el   | 2 +-
 test/phps-mode-test-lex-analyzer.el  | 2 +-
 test/phps-mode-test-lexer.el | 2 +-
 test/phps-mode-test-parser.el| 2 +-
 test/phps-mode-test-syntax-table.el  | 2 +-
 28 files changed, 38 insertions(+), 33 deletions(-)

diff --git a/.gitignore b/.gitignore
index 034d56c76d..f2ccac532d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,5 @@
 *.elc
 admin/zend_language_parser.y
+output.txt
+zend_*
+*.el~
\ No newline at end of file
diff --git a/admin/phps-mode-automation.el b/admin/phps-mode-automation.el
index 767080e56e..c303191c7d 100644
--- a/admin/phps-mode-automation.el
+++ b/admin/phps-mode-automation.el
@@ -1,6 +1,6 @@
 ;;; phps-mode-automation --- Generate a parser file -*- lexical-binding: t -*-
 
-;; Copyright (C) 2018-2024  Free Software Foundation, Inc.
+;; Copyright (C) 2018-2025  Free Software Foundation, Inc.
 
 
 ;;; Commentary:
diff --git a/phps-mode-ast.el b/phps-mode-ast.el
index cc218bd7f3..c7b89fa816 100644
--- a/phps-mode-ast.el
+++ b/phps-mode-ast.el
@@ -1,6 +1,6 @@
 ;;; phps-mode-ast.el --- Abstract Syntax Tree functions -*- lexical-binding: t 
-*-
 
-;; Copyright (C) 2018-2024  Free Software Foundation, Inc.
+;; Copyright (C) 2018-2025  Free Software Foundation, Inc.
 
 
 ;;; Commentary:
diff --git a/phps-mode-automation-grammar.el b/phps-mode-automation-grammar.el
index bedf847ee6..274353d145 100644
--- a/phps-mode-automation-grammar.el
+++ b/phps-mode-automation-grammar.el
@@ -1,6 +1,6 @@
 ;;; phps-mode-automation-grammar --- Grammar -*- lexical-binding: t -*-
 
-;; Copyright (C) 2018-2024  Free Software Foundation, Inc.
+;; Copyright (C) 2018-2025  Free Software Foundation, Inc.
 
 
 ;;; Commentary:
@@ -28,7 +28,7 @@
 
 (defvar
   phps-mode-automation-grammar--copyright
-  ";; Copyright (C) 2018-2024  Free Software Foundation, Inc.\n\n;; This file 
is not part of GNU Emacs.\n\n\n"
+  ";; Copyright (C) 2018-2025  Free Software Foundation, Inc.\n\n;; This file 
is not part of GNU Emacs.\n\n\n"
   "Copyright contents for parser.")
 
 (defvar
diff --git a/phps-mode-automation-parser-generator.el 
b/phps-mode-automation-parser-generator.el
index e8e8892ffb..8beeb4d8a2 100644
--- a/phps-mode-automation-parser-generator.el
+++ b/phps-mode-automation-parser-generator.el
@@ -1,6 +1,6 @@
 ;;; phps-mode-automation-parser-generator --- Generate a parser for PHP YACC 
grammar -*- lexical-binding: t -*-
 
-;; Copyright (C) 2018-2024  Free Software Foundation, Inc.
+;; Copyright (C) 2018-2025  Free Software Foundation, Inc.
 
 
 ;;; Commentary:
diff --git a/phps-mode-cache.el b/phps-mode-cache.el
index 4782ccc313..c67802824e 100644
--- a/phps-mode-cache.el
+++ b/phps-mode-cache.el
@@ -1,6 +1,6 @@
 ;;; phps-mode-cache.el -- Cache for phps-mode -*- lexical-binding: t -*-
 
-;; Copyright (C) 2018-2024  Free Software Foundation, Inc.
+;; Copyright (C) 2018-2025  Free Software Foundation, Inc.
 
 
 ;;; Commentary:
diff --git a/phps-mode-flymake.el b/phps-mode-flymake.el
index 01c8770a2d..4a84f5d7c2 100644
--- a/phps-mode-flymake.el
+++ b/phps-mode-flymake.el
@@ -1,6 +1,6 @@
 ;;; phps-mode-flymake.el --- Flymake support for PHPs -*- lexical-binding: t 
-*-
 
-;; Copyright (C) 2018-2024  Free Software Foundation, Inc.
+;; Copyright (C) 2018-2025  Free Software Foundation, Inc.
 
 
 ;;; Commentary:
diff --git a/phps-mode-indent.el b/phps-mode-indent.el
index 44e1153f18..a0786c0549 100644
--- a/phps-mode-indent.el
+++ b/phps-mode-indent.el
@@ -1,6 +1,6 @@
 ;;; phps-mode-indent.el -- Indentation for phps-mode -*- lexical-binding: t -*-
 
-;; Copyright (C) 2018-2024  Free Software Foundation, Inc

[elpa] externals/phps-mode 884c66f1bc 09/19: Added lexer initial state to parser and also better error descriptions when SDT fails

2025-04-27 Thread Christian Johansson
branch: externals/phps-mode
commit 884c66f1bcfd837aa2a02240fd39f0cfd68b5c7b
Author: Christian Johansson 
Commit: Christian Johansson 

Added lexer initial state to parser and also better error descriptions when 
SDT fails
---
 phps-mode-parser.el | 64 +++--
 1 file changed, 37 insertions(+), 27 deletions(-)

diff --git a/phps-mode-parser.el b/phps-mode-parser.el
index 2536f3deec..f89b8254b0 100644
--- a/phps-mode-parser.el
+++ b/phps-mode-parser.el
@@ -88,7 +88,7 @@
 
 (defvar
   phps-mode-parser-lex-analyzer--state-init
-  nil
+  (list 'ST_INITIAL)
   "Initial value of state.")
 
 
@@ -669,32 +669,42 @@
   (if
   
(phps-mode-parser--get-grammar-translation-by-number
production-number)
-  (let ((partial-translation
- (funcall
-  
(phps-mode-parser--get-grammar-translation-by-number
-   production-number)
-  popped-items-meta-contents
-  popped-items-terminals)))
-(let ((temp-hash-key
-   (format
-"%S"
-production-lhs)))
-  (let ((symbol-translations
- (gethash
-  temp-hash-key
-  translation-symbol-table)))
-(push
-  (list
-   partial-translation
-   popped-items-terminals)
-   symbol-translations)
-(puthash
- temp-hash-key
- symbol-translations
- translation-symbol-table)
-(setq
- translation
- partial-translation
+  (progn
+(condition-case conditions
+(let ((partial-translation
+   (funcall
+
(phps-mode-parser--get-grammar-translation-by-number
+ production-number)
+popped-items-meta-contents
+popped-items-terminals)))
+  (let ((temp-hash-key
+ (format
+  "%S"
+  production-lhs)))
+(let ((symbol-translations
+   (gethash
+temp-hash-key
+translation-symbol-table)))
+  (push
+   (list
+partial-translation
+popped-items-terminals)
+   symbol-translations)
+  (puthash
+   temp-hash-key
+   symbol-translations
+   translation-symbol-table)
+  (setq
+   translation
+   partial-translation
+  (error
+   (signal
+'error
+(list
+ (format
+  "Failed AST translation for 
production %S with error: %S"
+  production-number
+  conditions))
 
 ;; When no translation is specified just use 
popped contents as translation
 (let ((partial-translation



[elpa] externals/phps-mode 03c89be14f 06/19: Ignoring files

2025-04-27 Thread Christian Johansson
branch: externals/phps-mode
commit 03c89be14f59a672ae54cd198eef3e5559691a3a
Author: Christian Johansson 
Commit: Christian Johansson 

Ignoring files
---
 .gitignore | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/.gitignore b/.gitignore
index 034d56c76d..f2ccac532d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,5 @@
 *.elc
 admin/zend_language_parser.y
+output.txt
+zend_*
+*.el~
\ No newline at end of file



[elpa] externals/phps-mode 9e24e2121d 05/19: Started new lexer

2025-04-27 Thread Christian Johansson
branch: externals/phps-mode
commit 9e24e2121ddcc54839ba178e2139eb4baf84360b
Author: Christian Johansson 
Commit: Christian Johansson 

Started new lexer
---
 phps-mode-lexer-generator.el | 28 
 1 file changed, 20 insertions(+), 8 deletions(-)

diff --git a/phps-mode-lexer-generator.el b/phps-mode-lexer-generator.el
index fdba516223..fb7a39541e 100644
--- a/phps-mode-lexer-generator.el
+++ b/phps-mode-lexer-generator.el
@@ -476,14 +476,6 @@
(lambda() (phps-mode-lexer--yy-pop-state)
  (phps-mode-lexer--return-token-with-str 'T_STRING 0)))
 
-  (phps-mode-lexer-generator--add-rule
-   phps-mode-lexer-generator--table
-   'ST_LOOKING_FOR_PROPERTY
-   (lambda() (looking-at phps-mode-lexer--any-char))
-   (lambda() (phps-mode-lexer--yyless 0)
- (phps-mode-lexer--yy-pop-state)
- (phps-mode-lexer--restart)))
-
   (phps-mode-lexer-generator--add-rule
phps-mode-lexer-generator--table
'ST_IN_SCRIPTING
@@ -735,6 +727,24 @@
(lambda() (looking-at "protected"))
(lambda() (phps-mode-lexer--return-token-with-indent 'T_PROTECTED)))
 
+  (phps-mode-lexer-generator--add-rule
+   phps-mode-lexer-generator--table
+   'ST_IN_SCRIPTING
+   (lambda() (looking-at "public(set)"))
+   (lambda() (phps-mode-lexer--return-token-with-indent 'T_PUBLIC_SET)))
+
+  (phps-mode-lexer-generator--add-rule
+   phps-mode-lexer-generator--table
+   'ST_IN_SCRIPTING
+   (lambda() (looking-at "protected(set)"))
+   (lambda() (phps-mode-lexer--return-token-with-indent 'T_PROTECTED_SET)))
+
+  (phps-mode-lexer-generator--add-rule
+   phps-mode-lexer-generator--table
+   'ST_IN_SCRIPTING
+   (lambda() (looking-at "private(set)"))
+   (lambda() (phps-mode-lexer--return-token-with-indent 'T_PRIVATE_SET)))
+
   (phps-mode-lexer-generator--add-rule
phps-mode-lexer-generator--table
'ST_IN_SCRIPTING
@@ -957,6 +967,8 @@
(lambda() (looking-at ">>"))
(lambda() (phps-mode-lexer--return-token 'T_SR)))
 
+  ;; TODO WAS HERE
+
   (phps-mode-lexer-generator--add-rule
phps-mode-lexer-generator--table
'ST_IN_SCRIPTING



[elpa] externals/phps-mode 648d390ad4 03/19: Updated parser to PHP 8.4

2025-04-27 Thread Christian Johansson
branch: externals/phps-mode
commit 648d390ad40d12bdfc8d097064898a32deca1058
Author: Christian Johansson 
Commit: Christian Johansson 

Updated parser to PHP 8.4
---
 phps-mode-parser.el | 66 +++--
 1 file changed, 13 insertions(+), 53 deletions(-)

diff --git a/phps-mode-parser.el b/phps-mode-parser.el
index 637f0161c1..8c28514343 100644
--- a/phps-mode-parser.el
+++ b/phps-mode-parser.el
@@ -23,42 +23,42 @@
 
 (defvar
   phps-mode-parser--action-tables
-  #s(hash-table size 42072 test equal rehash-size 1.5 rehash-threshold 0.8125 
data (0 0 1 1 2 2 3 3 4 4 5 2 6 2 7 2 8 8 9 2 10 10 11 11 12 2 13 13 14 2 15 15 
16 16 17 17 18 2 19 16 20 20 21 15 22 22 23 11 24 24 25 25 26 26 27 2 28 2 29 
11 30 16 31 11 32 32 33 33 34 34 35 35 36 11 37 11 38 38 39 39 40 40 41 16 42 
11 43 11 44 22 45 2 46 2 47 47 48 16 49 2 50 11 51 51 52 11 53 53 54 11 55 55 
56 56 57 57 58 58 59 59 60 60 61 61 62 2 63 2 64 64 65 2 66 2 67 15 68 68 69 69 
70 70 71 2 72 11 73  [...]
+  #s(hash-table size 42072 test equal rehash-size 1.5 rehash-threshold 0.8125 
data (0 0 1 1 2 2 3 3 4 4 5 2 6 2 7 2 8 8 9 2 10 10 11 11 12 2 13 13 14 2 15 15 
16 16 17 17 18 2 19 16 20 20 21 15 22 22 23 11 24 24 25 25 26 26 27 2 28 2 29 
11 30 16 31 11 32 32 33 33 34 34 35 35 36 11 37 11 38 38 39 39 40 40 41 16 42 
11 43 11 44 22 45 2 46 2 47 47 48 16 49 2 50 11 51 51 52 11 53 53 54 11 55 55 
56 56 57 57 58 58 59 59 60 60 61 61 62 2 63 2 64 64 65 65 66 2 67 2 68 15 69 69 
70 70 71 71 72 2 73  [...]
   "The generated action-tables.")
 
 (defvar
   phps-mode-parser--distinct-action-tables
-  #s(hash-table size 12466 test equal rehash-size 1.5 rehash-threshold 0.8125 
data (0 ((("!") reduce 84) (("\"") reduce 84) (($) reduce 84) (("$") reduce 84) 
(("(") reduce 84) (("+") reduce 84) (("-") reduce 84) ((";") reduce 84) (("@") 
reduce 84) ((T_ABSTRACT) reduce 84) ((T_ARRAY) reduce 84) ((T_ARRAY_CAST) 
reduce 84) ((T_ATTRIBUTE) reduce 84) ((T_BOOL_CAST) reduce 84) ((T_BREAK) 
reduce 84) ((T_CLASS) reduce 84) ((T_CLASS_C) reduce 84) ((T_CLONE) reduce 84) 
((T_CONST) reduce 84) ((T_CO [...]
+  #s(hash-table size 12466 test equal rehash-size 1.5 rehash-threshold 0.8125 
data (0 ((("!") reduce 85) (("\"") reduce 85) (($) reduce 85) (("$") reduce 85) 
(("(") reduce 85) (("+") reduce 85) (("-") reduce 85) ((";") reduce 85) (("@") 
reduce 85) ((T_ABSTRACT) reduce 85) ((T_ARRAY) reduce 85) ((T_ARRAY_CAST) 
reduce 85) ((T_ATTRIBUTE) reduce 85) ((T_BOOL_CAST) reduce 85) ((T_BREAK) 
reduce 85) ((T_CLASS) reduce 85) ((T_CLASS_C) reduce 85) ((T_CLONE) reduce 85) 
((T_CONST) reduce 85) ((T_CO [...]
   "The generated distinct action-tables.")
 
 (defvar
   phps-mode-parser--goto-tables
-  #s(hash-table size 42072 test equal rehash-size 1.5 rehash-threshold 0.8125 
data (0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 8 11 10 12 11 13 12 14 13 15 
14 16 15 17 8 18 16 19 17 20 8 21 18 22 19 23 20 24 8 25 8 26 21 27 22 28 23 29 
24 30 25 31 26 32 27 33 8 34 8 35 8 36 28 37 29 38 8 39 8 40 30 41 31 42 32 43 
33 44 34 45 35 46 36 47 8 48 37 49 38 50 39 51 8 52 40 53 8 54 41 55 8 56 42 57 
8 58 8 59 8 60 43 61 8 62 44 63 45 64 46 65 47 66 48 67 49 68 50 69 51 70 52 71 
53 72 54 73 55 74 [...]
+  #s(hash-table size 42072 test equal rehash-size 1.5 rehash-threshold 0.8125 
data (0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 8 11 10 12 11 13 12 14 13 15 
14 16 15 17 8 18 16 19 17 20 8 21 18 22 19 23 20 24 8 25 8 26 21 27 22 28 23 29 
24 30 25 31 26 32 27 33 8 34 8 35 8 36 28 37 29 38 8 39 8 40 30 41 31 42 32 43 
33 44 34 45 35 46 36 47 8 48 37 49 38 50 39 51 8 52 40 53 8 54 41 55 8 56 42 57 
8 58 8 59 8 60 43 61 8 62 44 63 45 64 8 65 46 66 47 67 48 68 49 69 50 70 51 71 
52 72 53 73 54 74  [...]
   "The generated goto-tables.")
 
 (defvar
   phps-mode-parser--distinct-goto-tables
-  #s(hash-table size 18699 test equal rehash-size 1.5 rehash-threshold 0.8125 
data (0 ((top_statement_list 1)) 1 (("!" 2) ("\"" 3) ("$" 4) ("(" 5) ("+" 6) 
("-" 7) (";" 8) ("@" 9) (T_ABSTRACT 10) (T_ARRAY 11) (T_ARRAY_CAST 12) 
(T_ATTRIBUTE 13) (T_BOOL_CAST 14) (T_BREAK 15) (T_CLASS 16) (T_CLASS_C 17) 
(T_CLONE 18) (T_CONST 19) (T_CONSTANT_ENCAPSED_STRING 20) (T_CONTINUE 21) 
(T_DEC 22) (T_DECLARE 23) (T_DIR 24) (T_DNUMBER 25) (T_DO 26) (T_DOUBLE_CAST 
27) (T_ECHO 28) (T_EMPTY 29) (T_ENUM 30) [...]
+  #s(hash-table size 18699 test equal rehash-size 1.5 rehash-threshold 0.8125 
data (0 ((top_statement_list 1)) 1 (("!" 2) ("\"" 3) ("$" 4) ("(" 5) ("+" 6) 
("-" 7) (";" 8) ("@" 9) (T_ABSTRACT 10) (T_ARRAY 11) (T_ARRAY_CAST 12) 
(T_ATTRIBUTE 13) (T_BOOL_CAST 14) (T_BREAK 15) (T_CLASS 16) (T_CLASS_C 17) 
(T_CLONE 18) (T_CONST 19) (T_CONSTANT_ENCAPSED_STRING 20) (T_CONTINUE 21) 
(T_DEC 22) (T_DECLARE 23) (T_DIR 24) (T_DNUMBER 25) (T_DO 26) (T_DOUBLE_CAST 
27) (T_ECHO 28) (T_EMPTY 29) (T_ENUM 30) [...]
   "The generated distinct goto-tables.")
 
 (defvar
   phps-mode-parser--table-productions-number-reverse
-  #s(hash-table size 730 test equal rehash-size 1.5 rehash-threshold 

[elpa] externals/phps-mode fb1fd26193 17/19: Passing all old unit tests

2025-04-27 Thread Christian Johansson
branch: externals/phps-mode
commit fb1fd2619306a4b055b7c210fd35f77a38a1441d
Author: Christian Johansson 
Commit: Christian Johansson 

Passing all old unit tests
---
 phps-mode-parser-sdt.el | 88 +++--
 1 file changed, 71 insertions(+), 17 deletions(-)

diff --git a/phps-mode-parser-sdt.el b/phps-mode-parser-sdt.el
index d2a2b39692..364badb64b 100644
--- a/phps-mode-parser-sdt.el
+++ b/phps-mode-parser-sdt.el
@@ -5208,24 +5208,78 @@
  ,(cdr (cdr (nth 0 terminals)
  phps-mode-parser--table-translations)
 
-;; TODO WAS HERE
-
-;; TODO 356
-;; TODO 357
-;; TODO 358
-;; TODO 359
-;; TODO 360
-;; TODO 361
-;; TODO 362
-;; TODO 363
-;; TODO 364
-;; TODO 365
-;; TODO 366
-;; TODO 367
-;; TODO 368
-;; TODO 369
-;; TODO 370
+;; 356 ((hooked_property) (T_VARIABLE backup_doc_comment "{" 
property_hook_list "}"))
+(puthash
+ 356
+ (lambda(args _terminals)
+   `(
+ ast-type
+ hooked-property
+ variable
+ ,(nth 0 args)
+ property-hook-list
+ ,(nth 3 args)))
+ phps-mode-parser--table-translations)
+
+;; 357 ((hooked_property) (T_VARIABLE "=" expr backup_doc_comment "{" 
property_hook_list "}"))
+(puthash
+ 357
+ (lambda(args _terminals)
+   `(
+ ast-type
+ hooked-property
+ variable
+ ,(nth 0 args)
+ expr
+ ,(nth 2 args)
+ property-hook-list
+ ,(nth 5 args)))
+ phps-mode-parser--table-translations)
+
+;; 358 ((property_hook_list) (%empty))
+(puthash 358 (lambda(_args _terminals) nil) 
phps-mode-parser--table-translations)
+
+;; 359 ((property_hook_list) (property_hook_list property_hook))
+(puthash
+ 359
+ (lambda(args _terminals)
+   (append (nth args 0) (list (nth args 1
+ phps-mode-parser--table-translations)
+
+;; 360 ((property_hook_list) (property_hook_list attributes property_hook))
+(puthash
+ 360
+ (lambda(args _terminals)
+   (append (nth args 0) (list (nth args 2
+ phps-mode-parser--table-translations)
+
+;; 361 ((optional_property_hook_list) (%empty))
+
+;; 362 ((optional_property_hook_list) ("{" property_hook_list "}"))
+(puthash
+ 362
+ (lambda(args _terminals)
+   `(
+ ast-type
+ property-hook-list
+ ,(nth 1 args)))
+ phps-mode-parser--table-translations)
+
+;; 363 ((property_hook_modifiers) (%empty))
+
+;; 364 ((property_hook_modifiers) (non_empty_member_modifiers))
+
+;; 365 ((property_hook) (property_hook_modifiers returns_ref T_STRING 
backup_doc_comment optional_parameter_list backup_fn_flags property_hook_body 
backup_fn_flags))
+
+;; 366 ((property_hook_body) (";"))
+
+;; 367 ((property_hook_body) ("{" inner_statement_list "}"))
+
+;; 368 ((property_hook_body) (T_DOUBLE_ARROW expr ";"))
+
+;; 369 ((optional_parameter_list) (%empty))
 
+;; 370 ((optional_parameter_list) ("(" parameter_list ")"))
 
 ;; 371 ((class_const_list) (class_const_list "," class_const_decl))
 (puthash



[elpa] externals/phps-mode 5d0764e69e 08/19: Finished reviewing lexer for PHP 8.4

2025-04-27 Thread Christian Johansson
branch: externals/phps-mode
commit 5d0764e69e9036028c7ca5d24e406b0aaab0016e
Author: Christian Johansson 
Commit: Christian Johansson 

Finished reviewing lexer for PHP 8.4
---
 phps-mode-lexer-generator.el| 23 +--
 phps-mode-syntax-color-generator.el |  1 +
 2 files changed, 18 insertions(+), 6 deletions(-)

diff --git a/phps-mode-lexer-generator.el b/phps-mode-lexer-generator.el
index f654f15c6e..559ac6f871 100644
--- a/phps-mode-lexer-generator.el
+++ b/phps-mode-lexer-generator.el
@@ -967,8 +967,6 @@
(lambda() (looking-at ">>"))
(lambda() (phps-mode-lexer--return-token 'T_SR)))
 
-  ;; TODO WAS HERE
-
   (phps-mode-lexer-generator--add-rule
phps-mode-lexer-generator--table
'ST_IN_SCRIPTING
@@ -1174,6 +1172,12 @@
(lambda() (looking-at "__FUNCTION__"))
(lambda() (phps-mode-lexer--return-token-with-indent 'T_FUNC_C)))
 
+  (phps-mode-lexer-generator--add-rule
+   phps-mode-lexer-generator--table
+   'ST_IN_SCRIPTING
+   (lambda() (looking-at "__PROPERTY__"))
+   (lambda() (phps-mode-lexer--return-token-with-indent 'T_PROPERTY_C)))
+
   (phps-mode-lexer-generator--add-rule
phps-mode-lexer-generator--table
'ST_IN_SCRIPTING
@@ -1383,7 +1387,7 @@
(lambda()
  (looking-at
   (concat "\\(" phps-mode-lexer--tokens
-  "\\|[{}\"`]\\)")))
+  "\\|[(){}\"`]\\)")))
(lambda()
  (let* ((start (match-beginning 0))
 (end (match-end 0))
@@ -1513,6 +1517,15 @@
 start)
start
 
+  (phps-mode-lexer-generator--add-rule
+   phps-mode-lexer-generator--table
+   'ST_LOOKING_FOR_PROPERTY
+   (lambda() (looking-at phps-mode-lexer--any-char))
+   (lambda()
+ (phps-mode-lexer--yyless 0)
+ (phps-mode-lexer--yy-pop-state)
+ (phps-mode-lexer--restart)))
+  
   (phps-mode-lexer-generator--add-rule
phps-mode-lexer-generator--table
'ST_IN_SCRIPTING
@@ -1702,9 +1715,7 @@
   (phps-mode-lexer-generator--add-rule
phps-mode-lexer-generator--table
'ST_END_HEREDOC
-   (lambda()
- (looking-at
-  (concat phps-mode-lexer--any-char)))
+   (lambda() (looking-at phps-mode-lexer--any-char))
(lambda()
  (let* ((start (match-beginning 0))
 (end (+ start
diff --git a/phps-mode-syntax-color-generator.el 
b/phps-mode-syntax-color-generator.el
index 263cc7e8fa..df1209ff5e 100644
--- a/phps-mode-syntax-color-generator.el
+++ b/phps-mode-syntax-color-generator.el
@@ -129,6 +129,7 @@
   (T_POW_EQUAL font-lock-constant-face table)
   (T_PRINT font-lock-keyword-face table)
   (T_PRIVATE font-lock-keyword-face table)
+  (T_PROPERTY_C font-lock-constant-face table)
   (T_PROTECTED font-lock-keyword-face table)
   (T_PUBLIC font-lock-keyword-face table)
   (T_READONLY font-lock-keyword-face table)



[elpa] externals/phps-mode 511a1926ec 11/19: More parser sdt rules

2025-04-27 Thread Christian Johansson
branch: externals/phps-mode
commit 511a1926ecef1827933065499b1a6f93e46718ef
Author: Christian Johansson 
Commit: Christian Johansson 

More parser sdt rules
---
 phps-mode-parser-sdt.el | 92 -
 1 file changed, 46 insertions(+), 46 deletions(-)

diff --git a/phps-mode-parser-sdt.el b/phps-mode-parser-sdt.el
index 72dea7acd9..ee46e4a26d 100644
--- a/phps-mode-parser-sdt.el
+++ b/phps-mode-parser-sdt.el
@@ -4207,11 +4207,9 @@
 ;; 257 ((optional_cpp_modifiers) (non_empty_member_modifiers))
 (puthash 257 (lambda(args _terminals) args) 
phps-mode-parser--table-translations)
 
-;; TODO WAS HERE
-
-;; 257 ((parameter) (optional_property_modifiers optional_type_without_static 
is_reference is_variadic T_VARIABLE backup_doc_comment))
+;; 258 ((parameter) (optional_property_modifiers optional_type_without_static 
is_reference is_variadic T_VARIABLE backup_doc_comment))
 (puthash
- 257
+ 258
  (lambda(args terminals)
`(
  ast-type
@@ -4233,9 +4231,9 @@
  ))
  phps-mode-parser--table-translations)
 
-;; 258 ((parameter) (optional_property_modifiers optional_type_without_static 
is_reference is_variadic T_VARIABLE backup_doc_comment "=" expr))
+;; 259 ((parameter) (optional_property_modifiers optional_type_without_static 
is_reference is_variadic T_VARIABLE backup_doc_comment "=" expr))
 (puthash
- 258
+ 259
  (lambda(args terminals)
`(
  ast-type
@@ -4261,15 +4259,15 @@
  ))
  phps-mode-parser--table-translations)
 
-;; 259 ((optional_type_without_static) (%empty))
-(puthash 259 (lambda(_args _terminals) nil) 
phps-mode-parser--table-translations)
+;; 260 ((optional_type_without_static) (%empty))
+(puthash 260 (lambda(_args _terminals) nil) 
phps-mode-parser--table-translations)
 
-;; 260 ((optional_type_without_static) (type_expr_without_static))
-(puthash 260 (lambda(args _terminals) args) 
phps-mode-parser--table-translations)
+;; 261 ((optional_type_without_static) (type_expr_without_static))
+(puthash 261 (lambda(args _terminals) args) 
phps-mode-parser--table-translations)
 
-;; 261 ((type_expr) (type))
+;; 262 ((type_expr) (type))
 (puthash
- 261
+ 262
  (lambda(args _terminals)
`(
  ast-type
@@ -4279,9 +4277,9 @@
  ))
  phps-mode-parser--table-translations)
 
-;; 262 ((type_expr) ("?" type))
+;; 263 ((type_expr) ("?" type))
 (puthash
- 262
+ 263
  (lambda(args _terminals)
`(
  ast-type
@@ -4291,9 +4289,9 @@
  ))
  phps-mode-parser--table-translations)
 
-;; 263 ((type_expr) (union_type))
+;; 264 ((type_expr) (union_type))
 (puthash
- 263
+ 264
  (lambda(args _terminals)
`(
  ast-type
@@ -4303,9 +4301,9 @@
  ))
  phps-mode-parser--table-translations)
 
-;; 264 ((type_expr) (intersection_type))
+;; 265 ((type_expr) (intersection_type))
 (puthash
- 264
+ 265
  (lambda(args _terminals)
`(
  ast-type
@@ -4315,15 +4313,15 @@
  ))
  phps-mode-parser--table-translations)
 
-;; 265 ((type) (type_without_static))
-(puthash 265 (lambda(args _terminals) args) 
phps-mode-parser--table-translations)
+;; 266 ((type) (type_without_static))
+(puthash 266 (lambda(args _terminals) args) 
phps-mode-parser--table-translations)
 
-;; 266 ((type) (T_STATIC))
-(puthash 266 (lambda(_args _terminals) 'T_STATIC) 
phps-mode-parser--table-translations)
+;; 267 ((type) (T_STATIC))
+(puthash 267 (lambda(_args _terminals) 'T_STATIC) 
phps-mode-parser--table-translations)
 
-;; 267 ((union_type_element) (type))
+;; 268 ((union_type_element) (type))
 (puthash
- 267
+ 268
  (lambda(args _terminals)
`(
  ast-type
@@ -4333,9 +4331,9 @@
  ))
  phps-mode-parser--table-translations)
 
-;; 268 ((union_type_element) ("(" intersection_type ")"))
+;; 269 ((union_type_element) ("(" intersection_type ")"))
 (puthash
- 268
+ 269
  (lambda(args _terminals)
`(
  ast-type
@@ -4344,46 +4342,48 @@
  ,(nth 1 args)))
  phps-mode-parser--table-translations)
 
-;; 269 ((union_type) (union_type_element "|" union_type_element))
+;; 270 ((union_type) (union_type_element "|" union_type_element))
 (puthash
- 269
+ 270
  (lambda(args _terminals)
(list (nth 0 args) (nth 2 args)))
  phps-mode-parser--table-translations)
 
-;; 270 ((union_type) (union_type "|" union_type_element))
+;; 271 ((union_type) (union_type "|" union_type_element))
 (puthash
- 270
+ 271
  (lambda(args _terminals)
(append (nth 0 args) (list (nth 2 args
  phps-mode-parser--table-translations)
 
-;; 271 ((intersection_type) (type T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG 
type))
-(puthash 271 (lambda(args _terminals) (list (nth 0 args) (nth 2 args))) 
phps-mode-parser--table-translations)
+;; 272 ((intersection_type) (type T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG 
type))
+(puthash 272 (lambda(args _terminals) (list (nth 0 args) (nth 2 args))) 
phps-mode-parser--table-translations)
 
-;; 272 ((intersection_type) (intersection_type 
T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG type))
-(puthash 272 (lambda(args _terminals) (append (nth 0 args) (list (n

[elpa] externals/phps-mode 9eedde785e 02/19: Improved the resume data output to avoid OS to kill process

2025-04-27 Thread Christian Johansson
branch: externals/phps-mode
commit 9eedde785ee2671ee0b6d6a35d742339cd63c564
Author: Christian Johansson 
Commit: Christian Johansson 

Improved the resume data output to avoid OS to kill process
---
 admin/phps-mode-automation.el | 80 ---
 1 file changed, 68 insertions(+), 12 deletions(-)

diff --git a/admin/phps-mode-automation.el b/admin/phps-mode-automation.el
index ab7618c535..767080e56e 100644
--- a/admin/phps-mode-automation.el
+++ b/admin/phps-mode-automation.el
@@ -28,9 +28,11 @@
 ;; Emacs 29.1
 ;; Batch jobs that are supposed to run for a long time should
 ;; adjust the limit back down to 0.1
-(setq
- gc-cons-percentage
- 0.1)
+(when (>= (string-to-number emacs-version) 29.1)
+  (message ";; Adjusting gc-cons-percentage to 0.1 since Emacs version 
is 29.1 or newer")
+  (setq
+   gc-cons-percentage
+   0.1))
 
 (let* ((global-declaration
 (phps-mode-automation-parser-generator--global-declaration))
@@ -178,29 +180,83 @@
 (progn
   (message ";; Parser tables are not defined - generating..")
   (when (fboundp 'parser-generator-lr--generate-goto-tables)
+
 (let ((table-lr-items
(parser-generator-lr--generate-goto-tables)))
+
+  ;; Output LR-items sets to-enable resuming
   (message
-   ";; table-lr-items: %S"
+   "%s"
+   "(setq table-lr-items-resume (make-hash-table :test 
'equal))")
+  (maphash
+   (lambda (key value)
+ (message
+  "%s"
+  (format
+   "(puthash %S '%S table-lr-items-resume)" key value)))
table-lr-items)
+  (message "")
+
+  ;; Output GOTO-tables to enable resuming
   (when (boundp 'parser-generator-lr--goto-tables)
 (message
- "(setq parser-generator-lr--goto-tables-resume %S)"
- parser-generator-lr--goto-tables))
+ "%s"
+ "(setq parser-generator-lr--goto-tables-resume 
(make-hash-table :test 'equal))")
+(maphash
+ (lambda (key value)
+   (message
+"%s"
+(format
+"(puthash %S %S 
parser-generator-lr--goto-tables-resume)" key value)))
+ parser-generator-lr--goto-tables)
+(message ""))
+
+  ;; Output distinct GOTO-tables to enable resuming
   (when (boundp 'parser-generator-lr--distinct-goto-tables)
 (message
- "(setq parser-generator-lr--distinct-goto-tables-resume 
%S)"
- parser-generator-lr--distinct-goto-tables))
+ "%s"
+ "(setq parser-generator-lr--distinct-goto-tables-resume 
(make-hash-table :test 'equal))")
+(maphash
+ (lambda (key value)
+   (message
+"%s"
+(format
+"(puthash %S '%S 
parser-generator-lr--distinct-goto-tables-resume)" key value)))
+ parser-generator-lr--distinct-goto-tables)
+(message ""))
+
+  ;; Generate ACTION-tables
   (when (fboundp 'parser-generator-lr--generate-action-tables)
 (parser-generator-lr--generate-action-tables 
table-lr-items)
+
+;; Output ACTION-tables to enable resuming
 (when (boundp 'parser-generator-lr--action-tables)
   (message
-   "(setq parser-generator-lr--action-tables-resume %S)"
-   parser-generator-lr--action-tables))
+   "%s"
+   "(setq parser-generator-lr--action-tables-resume 
(make-hash-table :test 'equal))")
+  (maphash
+   (lambda (key value)
+ (message
+  "%s"
+  (format
+  "(puthash %S %S 
parser-generator-lr--action-tables-resume)" key value)))
+   parser-generator-lr--action-tables)
+  (message ""))
+
+;; Output distinct ACTION-tables to enable resuming
 (when (boundp 'parser-generator-lr--distinct-action-tables)
   (message
-   "(setq 
parser-generator-lr--distinct-action-tables-resume %S)"
-   parser-generator-lr--distinct-action-tables
+   "%s"
+   "(setq 
parser

[elpa] externals/phps-mode 7522a1fa37 14/19: More SDT work

2025-04-27 Thread Christian Johansson
branch: externals/phps-mode
commit 7522a1fa37e26837a827ae0f0430744298ded1be
Author: Christian Johansson 
Commit: Christian Johansson 

More SDT work
---
 phps-mode-parser-sdt.el | 79 ++---
 1 file changed, 49 insertions(+), 30 deletions(-)

diff --git a/phps-mode-parser-sdt.el b/phps-mode-parser-sdt.el
index 574143b9f4..ae53eac6bc 100644
--- a/phps-mode-parser-sdt.el
+++ b/phps-mode-parser-sdt.el
@@ -5210,23 +5210,40 @@
 
 ;; TODO WAS HERE
 
-;; 351 ((class_const_list) (class_const_list "," class_const_decl))
+;; TODO 356
+;; TODO 357
+;; TODO 358
+;; TODO 359
+;; TODO 360
+;; TODO 361
+;; TODO 362
+;; TODO 363
+;; TODO 364
+;; TODO 365
+;; TODO 366
+;; TODO 367
+;; TODO 368
+;; TODO 369
+;; TODO 370
+
+
+;; 371 ((class_const_list) (class_const_list "," class_const_decl))
 (puthash
- 351
+ 371
  (lambda(args _terminals)
`(append ,(nth 1 args) ,(nth 3 args)))
  phps-mode-parser--table-translations)
 
-;; 352 ((class_const_list) (class_const_decl))
+;; 372 ((class_const_list) (class_const_decl))
 (puthash
- 352
+ 372
  (lambda(args _terminals)
(list args))
  phps-mode-parser--table-translations)
 
-;; 353 ((class_const_decl) (T_STRING "=" expr backup_doc_comment))
+;; 373 ((class_const_decl) (T_STRING "=" expr backup_doc_comment))
 (puthash
- 353
+ 373
  (lambda(args _terminals)
`(
  ast-type
@@ -5239,9 +5256,9 @@
  ,(nth 3 args)))
  phps-mode-parser--table-translations)
 
-;; 354 ((class_const_decl) (semi_reserved "=" expr backup_doc_comment))
+;; 374 ((class_const_decl) (semi_reserved "=" expr backup_doc_comment))
 (puthash
- 354
+ 374
  (lambda(args _terminals)
`(
  ast-type
@@ -5254,9 +5271,9 @@
  ,(nth 3 args)))
  phps-mode-parser--table-translations)
 
-;; 355 ((const_decl) (T_STRING "=" expr backup_doc_comment))
+;; 375 ((const_decl) (T_STRING "=" expr backup_doc_comment))
 (puthash
- 355
+ 375
  (lambda(args _terminals)
`(
  ast-type
@@ -5269,9 +5286,9 @@
  ,(nth 3 args)))
  phps-mode-parser--table-translations)
 
-;; 356 ((echo_expr_list) (echo_expr_list "," echo_expr))
+;; 376 ((echo_expr_list) (echo_expr_list "," echo_expr))
 (puthash
- 356
+ 376
  (lambda(args _terminals)
`(
  ast-type
@@ -5282,9 +5299,9 @@
  ,(nth 2 args)))
  phps-mode-parser--table-translations)
 
-;; 357 ((echo_expr_list) (echo_expr))
+;; 377 ((echo_expr_list) (echo_expr))
 (puthash
- 357
+ 377
  (lambda(args _terminals)
`(
  ast-type
@@ -5293,9 +5310,9 @@
  ,args))
  phps-mode-parser--table-translations)
 
-;; 358 ((echo_expr) (expr))
+;; 378 ((echo_expr) (expr))
 (puthash
- 358
+ 378
  (lambda(args _terminals)
`(
  ast-type
@@ -5304,18 +5321,18 @@
  ,args))
  phps-mode-parser--table-translations)
 
-;; 359 ((for_exprs) (%empty))
+;; 379 ((for_exprs) (%empty))
 (puthash
- 359
+ 379
  (lambda(_args _terminals)
`(
  ast-type
  empty-for-exprs))
  phps-mode-parser--table-translations)
 
-;; 360 ((for_exprs) (non_empty_for_exprs))
+;; 380 ((for_exprs) (non_empty_for_exprs))
 (puthash
- 360
+ 380
  (lambda(args _terminals)
`(
  ast-type
@@ -5325,9 +5342,9 @@
  ))
  phps-mode-parser--table-translations)
 
-;; 361 ((non_empty_for_exprs) (non_empty_for_exprs "," expr))
+;; 381 ((non_empty_for_exprs) (non_empty_for_exprs "," expr))
 (puthash
- 361
+ 381
  (lambda(args _terminals)
`(
  ast-type
@@ -5339,9 +5356,9 @@
  ))
  phps-mode-parser--table-translations)
 
-;; 362 ((non_empty_for_exprs) (expr))
+;; 382 ((non_empty_for_exprs) (expr))
 (puthash
- 362
+ 382
  (lambda(args _terminals)
`(
  ast-type
@@ -5351,9 +5368,9 @@
  ))
  phps-mode-parser--table-translations)
 
-;; 363 ((anonymous_class) (T_CLASS ctor_arguments extends_from implements_list 
backup_doc_comment "{" class_statement_list "}"))
+;; 383 ((anonymous_class) (T_CLASS ctor_arguments extends_from implements_list 
backup_doc_comment "{" class_statement_list "}"))
 (puthash
- 363
+ 383
  (lambda(args _terminals)
`(
  ast-type
@@ -5371,9 +5388,9 @@
  ))
  phps-mode-parser--table-translations)
 
-;; 364 ((new_expr) (T_NEW class_name_reference ctor_arguments))
+;; 384 ((new_expr) (T_NEW class_name_reference ctor_arguments))
 (puthash
- 364
+ 384
  (lambda(args _terminals)
`(
  ast-type
@@ -5385,9 +5402,9 @@
  ))
  phps-mode-parser--table-translations)
 
-;; 365 ((new_expr) (T_NEW anonymous_class))
+;; 385 ((new_expr) (T_NEW anonymous_class))
 (puthash
- 365
+ 385
  (lambda(args _terminals)
`(
  ast-type
@@ -5397,6 +5414,8 @@
  ))
  phps-mode-parser--table-translations)
 
+;; TODO WAS HERE
+
 ;; 366 ((new_expr) (T_NEW attributes anonymous_class))
 (puthash
  366



[elpa] externals/phps-mode f1c1bf1658 12/19: Parser SDT to 303 of 605 rules

2025-04-27 Thread Christian Johansson
branch: externals/phps-mode
commit f1c1bf1658c39c9a9e1f8a19e611c0fdc6a06c0b
Author: Christian Johansson 
Commit: Christian Johansson 

Parser SDT to 303 of 605 rules
---
 phps-mode-parser-sdt.el | 92 -
 1 file changed, 46 insertions(+), 46 deletions(-)

diff --git a/phps-mode-parser-sdt.el b/phps-mode-parser-sdt.el
index ee46e4a26d..1a491496bb 100644
--- a/phps-mode-parser-sdt.el
+++ b/phps-mode-parser-sdt.el
@@ -4383,50 +4383,48 @@
 ;; 280 ((type_without_static) (name))
 (puthash 280 (lambda(args _terminals) args) 
phps-mode-parser--table-translations)
 
-;; TODO WAS HERE
-
-;; 280 ((union_type_without_static_element) (type_without_static))
-(puthash 280 (lambda(args _terminals) args) 
phps-mode-parser--table-translations)
-
-;; 281 ((union_type_without_static_element) ("(" 
intersection_type_without_static ")"))
-(puthash 281 (lambda(args _terminals) (nth 1 args)) 
phps-mode-parser--table-translations)
+;; 281 ((union_type_without_static_element) (type_without_static))
+(puthash 281 (lambda(args _terminals) args) 
phps-mode-parser--table-translations)
 
-;; 282 ((union_type_without_static) (union_type_without_static_element "|" 
union_type_without_static_element))
-(puthash 282 (lambda(args _terminals) (list (nth 0 args) (nth 2 args))) 
phps-mode-parser--table-translations)
+;; 282 ((union_type_without_static_element) ("(" 
intersection_type_without_static ")"))
+(puthash 282 (lambda(args _terminals) (nth 1 args)) 
phps-mode-parser--table-translations)
 
-;; 283 ((union_type_without_static) (union_type_without_static "|" 
union_type_without_static_element))
+;; 283 ((union_type_without_static) (union_type_without_static_element "|" 
union_type_without_static_element))
 (puthash 283 (lambda(args _terminals) (list (nth 0 args) (nth 2 args))) 
phps-mode-parser--table-translations)
 
-;; 284 ((intersection_type_without_static) (type_without_static 
T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG type_without_static))
+;; 284 ((union_type_without_static) (union_type_without_static "|" 
union_type_without_static_element))
 (puthash 284 (lambda(args _terminals) (list (nth 0 args) (nth 2 args))) 
phps-mode-parser--table-translations)
 
-;; 285 ((intersection_type_without_static) (intersection_type_without_static 
T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG type_without_static))
+;; 285 ((intersection_type_without_static) (type_without_static 
T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG type_without_static))
 (puthash 285 (lambda(args _terminals) (list (nth 0 args) (nth 2 args))) 
phps-mode-parser--table-translations)
 
-;; 286 ((return_type) (%empty))
-(puthash 286 (lambda(_args _terminals) nil) 
phps-mode-parser--table-translations)
+;; 286 ((intersection_type_without_static) (intersection_type_without_static 
T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG type_without_static))
+(puthash 286 (lambda(args _terminals) (list (nth 0 args) (nth 2 args))) 
phps-mode-parser--table-translations)
 
-;; 287 ((return_type) (":" type_expr))
-(puthash 287 (lambda(args _terminals) (nth 1 args)) 
phps-mode-parser--table-translations)
+;; 287 ((return_type) (%empty))
+(puthash 287 (lambda(_args _terminals) nil) 
phps-mode-parser--table-translations)
 
-;; 288 ((argument_list) ("(" ")"))
-(puthash 288 (lambda(_args _terminals) nil) 
phps-mode-parser--table-translations)
+;; 288 ((return_type) (":" type_expr))
+(puthash 288 (lambda(args _terminals) (nth 1 args)) 
phps-mode-parser--table-translations)
 
-;; 289 ((argument_list) ("(" non_empty_argument_list possible_comma ")"))
-(puthash 289 (lambda(args _terminals) (nth 1 args)) 
phps-mode-parser--table-translations)
+;; 289 ((argument_list) ("(" ")"))
+(puthash 289 (lambda(_args _terminals) nil) 
phps-mode-parser--table-translations)
 
-;; 290 ((argument_list) ("(" T_ELLIPSIS ")"))
-(puthash 290 (lambda(_args _terminals) 'T_ELLIPSIS) 
phps-mode-parser--table-translations)
+;; 290 ((argument_list) ("(" non_empty_argument_list possible_comma ")"))
+(puthash 290 (lambda(args _terminals) (nth 1 args)) 
phps-mode-parser--table-translations)
 
-;; 291 ((non_empty_argument_list) (argument))
-(puthash 291 (lambda(args _terminals) (list (nth 0 args))) 
phps-mode-parser--table-translations)
+;; 291 ((argument_list) ("(" T_ELLIPSIS ")"))
+(puthash 291 (lambda(_args _terminals) 'T_ELLIPSIS) 
phps-mode-parser--table-translations)
 
-;; 292 ((non_empty_argument_list) (non_empty_argument_list "," argument))
-(puthash 292 (lambda(args _terminals) (append (nth 0 args) (list (nth 2 
args phps-mode-parser--table-translations)
+;; 292 ((non_empty_argument_list) (argument))
+(puthash 292 (lambda(args _terminals) (list (nth 0 args))) 
phps-mode-parser--table-translations)
 
-;; 293 ((argument) (expr))
+;; 293 ((non_empty_argument_list) (non_empty_argument_list "," argument))
+(puthash 293 (lambda(args _terminals) (append (nth 0 args) (list (nth 2 
args phps-mode-parser--table-translations)
+
+;; 294 ((argument) (expr))
 (puthash
- 293
+ 294
  (lambda(args 

[elpa] externals/marginalia 0308ea0439: elpaignore .elpaignore

2025-04-27 Thread ELPA Syncer
branch: externals/marginalia
commit 0308ea04390c86152b5e6f1cee19a41a15e9775b
Author: Daniel Mendler 
Commit: Daniel Mendler 

elpaignore .elpaignore
---
 .elpaignore | 1 +
 1 file changed, 1 insertion(+)

diff --git a/.elpaignore b/.elpaignore
index c9805fa766..aa9d275b8a 100644
--- a/.elpaignore
+++ b/.elpaignore
@@ -1,2 +1,3 @@
 LICENSE
+.elpaignore
 .github
\ No newline at end of file



[nongnu] elpa/dirvish e8ec5765da 2/2: refactor(core): remove redundant `revert-buffer` during selecting

2025-04-27 Thread ELPA Syncer
branch: elpa/dirvish
commit e8ec5765da1284be88b0cbf190362205a31fb19a
Author: Alex Lu 
Commit: Alex Lu 

refactor(core): remove redundant `revert-buffer` during selecting

This is redundant now as we are keeping track of `dired-buffers`, Dired 
takes
care of the buffer refreshing.
---
 dirvish.el | 6 --
 1 file changed, 6 deletions(-)

diff --git a/dirvish.el b/dirvish.el
index 8a00695d9f..9ce9cf6c64 100644
--- a/dirvish.el
+++ b/dirvish.el
@@ -1499,12 +1499,6 @@ With optional NOSELECT just find files but do not select 
them."
 (setcdr (assoc (car hist) dired-buffers) buffer)
 (with-current-buffer buffer
   (dirvish--setup-dired)
-  (cond (new? nil)
-((and (not remote) (not (equal flags dired-actual-switches)))
- (dired-sort-other flags))
-((eq dired-auto-revert-buffer t) (revert-buffer))
-((functionp dired-auto-revert-buffer)
- (when (funcall dired-auto-revert-buffer dir) (revert-buffer
   (funcall (dv-root-conf dv) buffer)
   (dirvish-prop :dv (dv-id dv))
   (dirvish-prop :gui (display-graphic-p))



[nongnu] elpa/editorconfig d2beb3ec2e: fix: Warning missing lexical-binding cookie (#370)

2025-04-27 Thread ELPA Syncer
branch: elpa/editorconfig
commit d2beb3ec2e7f84505818594124a7202d5d6d0185
Author: Jen-Chieh Shen 
Commit: GitHub 

fix: Warning missing lexical-binding cookie (#370)
---
 Eask | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Eask b/Eask
index aa38436820..7ec8503387 100644
--- a/Eask
+++ b/Eask
@@ -1,3 +1,5 @@
+;; -*- mode: eask; lexical-binding: t -*-
+
 (package "editorconfig"
  "0.11.0"
  "EditorConfig Emacs Plugin")



[nongnu] elpa/clojure-ts-mode 91b243141a: Small README tweaks

2025-04-27 Thread ELPA Syncer
branch: elpa/clojure-ts-mode
commit 91b243141a1828b9ee3a3b9e9125b57a90240a06
Author: Bozhidar Batsov 
Commit: Bozhidar Batsov 

Small README tweaks
---
 README.md | 36 ++--
 1 file changed, 22 insertions(+), 14 deletions(-)

diff --git a/README.md b/README.md
index da73c1ef40..68812ce31a 100644
--- a/README.md
+++ b/README.md
@@ -23,7 +23,9 @@ them. Enter `clojure-ts-mode`, which makes use of Tree-sitter 
to provide:
 
 - fast, accurate and more granular font-locking
 - fast indentation
-- common Emacs functionality like structured navigation, `imenu` (an outline 
of a source buffer), current form inference (used internally by various Emacs 
modes and utilities), etc
+- common Emacs functionality like structured navigation, `imenu` (an outline of
+  a source buffer), current form inference (used internally by various Emacs
+  modes and utilities), etc
 
 Working with Tree-sitter is significantly easier than the legacy Emacs APIs 
for font-locking and
 indentation, which makes it easier to contribute to `clojure-ts-mode`, and to 
improve it in general.
@@ -156,13 +158,16 @@ Most configuration changes will require reverting any 
active `clojure-ts-mode` b
 
 ### Remapping of `clojure-mode` buffers
 
-By default, `clojure-ts-mode` assumes command over all buffers and file 
extensions previously associated with `clojure-mode` (and derived major modes 
like `clojurescript-mode`). To disable this remapping, set
+By default, `clojure-ts-mode` assumes command over all buffers and file
+extensions previously associated with `clojure-mode` (and derived major modes
+like `clojurescript-mode`). To disable this remapping, set
 
 ``` emacs-lisp
 (setopt clojure-ts-auto-remap nil)
 ```
 
-You can also use the commands `clojure-ts-activate` / `clojure-ts-deactivate` 
to interactively change this behavior.
+You can also use the commands `clojure-ts-activate` / `clojure-ts-deactivate` 
to
+interactively change this behavior.
 
 ### Indentation
 
@@ -297,27 +302,28 @@ highlighted like regular Clojure code.
 
 ### Highlight markdown syntax in docstrings
 
-By default markdown syntax is highlighted in the docstrings using
-`markdown-inline` grammar. To disable this feature set
+By default Markdown syntax is highlighted in the docstrings using
+`markdown-inline` grammar. To disable this feature use:
 
 ``` emacs-lisp
 (setopt clojure-ts-use-markdown-inline nil)
 ```
 
-Example of syntax highlighting:
+Example of Markdown syntax highlighting:
 
 
 
-### Highlight regex syntax
+### Highlight regular expression syntax
 
-By default syntax inside regex literals is highlighted using 
[regex](https://github.com/tree-sitter/tree-sitter-regex) grammar. To
-disable this feature set
+By default syntax inside regex literals is highlighted using
+[regex](https://github.com/tree-sitter/tree-sitter-regex) grammar. To disable
+this feature use:
 
 ```emacs-lisp
 (setopt clojure-ts-use-regex-parser nil)
 ```
 
-Example of syntax highlighting:
+Example of regex syntax highlighting:
 
 
 
@@ -368,9 +374,10 @@ following customization:
 
 ## Migrating to clojure-ts-mode
 
-If you are migrating to `clojure-ts-mode` note that `clojure-mode` is still 
required for cider and clj-refactor packages to work properly.
+If you are migrating to `clojure-ts-mode` note that `clojure-mode` is still
+required for cider and clj-refactor packages to work properly.
 
-After installing the package do the following.
+After installing the package do the following:
 
 - Check the value of `clojure-mode-hook` and copy all relevant hooks to 
`clojure-ts-mode-hook`.
 
@@ -381,7 +388,8 @@ After installing the package do the following.
 (add-hook 'clojure-ts-mode-hook #'clj-refactor-mode)
 ```
 
-- Update `.dir-locals.el` in all of your Clojure projects to activate 
directory local variables in `clojure-ts-mode`.
+- Update `.dir-locals.el` in all of your Clojure projects to activate directory
+  local variables in `clojure-ts-mode`.
 
 ``` emacs-lisp
 ((clojure-mode
@@ -411,7 +419,7 @@ and `clojure-mode` (this is very helpful when dealing with 
`derived-mode-p` chec
 
 ### What `clojure-mode` features are currently missing?
 
-As of version 0.2.x, the most obvious missing feature are the various
+As of version 0.4.x, the most obvious missing feature are the various
 refactoring commands in `clojure-mode`.
 
 ### Does `clojure-ts-mode` work with CIDER?



[nongnu] elpa/dirvish b17fdcb239 1/2: fix(core): ensure preview initialization

2025-04-27 Thread ELPA Syncer
branch: elpa/dirvish
commit b17fdcb23947f2512d80b693da3d74f93f24f0ff
Author: Alex Lu 
Commit: Alex Lu 

fix(core): ensure preview initialization
---
 dirvish.el | 1 +
 1 file changed, 1 insertion(+)

diff --git a/dirvish.el b/dirvish.el
index 7f5f905bcb..8a00695d9f 100644
--- a/dirvish.el
+++ b/dirvish.el
@@ -1416,6 +1416,7 @@ Dirvish sets `revert-buffer-function' to this function."
 (unless (eq pane 'preview) (set-window-dedicated-p win t))
 (set-window-buffer win buf)))
 (dirvish--create-parent-windows dv)
+(dirvish--run-with-delay 'reset) ; preview initialization
 (dirvish--maybe-toggle-cursor)
 (dirvish--maybe-toggle-details)))
 



[nongnu] elpa/dirvish updated (cd235f87ec -> e8ec5765da)

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

  from  cd235f87ec chore: update changelog
   new  b17fdcb239 fix(core): ensure preview initialization
   new  e8ec5765da refactor(core): remove redundant `revert-buffer` during 
selecting


Summary of changes:
 dirvish.el | 7 +--
 1 file changed, 1 insertion(+), 6 deletions(-)



[nongnu] elpa/aidermacs 9eef7a26e5: Bump to v1.3

2025-04-27 Thread ELPA Syncer
branch: elpa/aidermacs
commit 9eef7a26e50669b5fea16ede7bbf9a11848dba4d
Author: Mingde (Matthew) Zeng 
Commit: Mingde (Matthew) Zeng 

Bump to v1.3

Signed-off-by: Mingde (Matthew) Zeng 
---
 CHANGELOG.md| 35 +++
 aidermacs-backend-comint.el |  2 +-
 aidermacs-backend-vterm.el  |  2 +-
 aidermacs-backends.el   |  2 +-
 aidermacs-models.el |  2 +-
 aidermacs-output.el |  2 +-
 aidermacs.el|  2 +-
 7 files changed, 41 insertions(+), 6 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0e2020410d..4672e6c526 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,40 @@
 # CHANGELOG
 
+# Aidermacs 1.3
+
+## What's Changed
+* Fix the part about the "AI" comments in the README.md by @Martinsos in 
https://github.com/MatthewZMD/aidermacs/pull/106
+* aidermacs--form-prompt: Always use prompt-prefix and context. by @thanhvg in 
https://github.com/MatthewZMD/aidermacs/pull/108
+* Use `display-warning` when warning user about font-lock position by 
@benthamite in https://github.com/MatthewZMD/aidermacs/pull/113
+* Fix aidermacs typos by @Dima-369 in 
https://github.com/MatthewZMD/aidermacs/pull/114
+* feat: add web content fetching function to aidermacs by @ArthurHeymans in 
https://github.com/MatthewZMD/aidermacs/pull/115
+* feat: add auto-commit command to Magit transient menu by @ArthurHeymans in 
https://github.com/MatthewZMD/aidermacs/pull/116
+* Change syntax highlighting to use a state based approach by @CeleritasCelery 
in https://github.com/MatthewZMD/aidermacs/pull/118
+* Add markdown formatting to the aider session by @CeleritasCelery in 
https://github.com/MatthewZMD/aidermacs/pull/119
+
+## New Contributors
+* @Martinsos made their first contribution in 
https://github.com/MatthewZMD/aidermacs/pull/106
+* @thanhvg made their first contribution in 
https://github.com/MatthewZMD/aidermacs/pull/108
+* @benthamite made their first contribution in 
https://github.com/MatthewZMD/aidermacs/pull/113
+* @Dima-369 made their first contribution in 
https://github.com/MatthewZMD/aidermacs/pull/114
+
+**Full Changelog**: https://github.com/MatthewZMD/aidermacs/compare/v1.2...v1.3
+
+# Aidermacs 1.2
+
+## What's Changed
+* Use uv install aider. by @manateelazycat in 
https://github.com/MatthewZMD/aidermacs/pull/89
+* Doc : fix uv aider proxy error by @ymfsing in 
https://github.com/MatthewZMD/aidermacs/pull/90
+* Fix model inheritance to dynamically use default model values by @u-yuta in 
https://github.com/MatthewZMD/aidermacs/pull/91
+* Handle errors in insert hooks by @CeleritasCelery in 
https://github.com/MatthewZMD/aidermacs/pull/95
+* readme: add spacemacs example by @paralin in 
https://github.com/MatthewZMD/aidermacs/pull/100
+* readme: add back steps 4 and 5 to getting started by @paralin in 
https://github.com/MatthewZMD/aidermacs/pull/101
+
+## New Contributors
+* @manateelazycat made their first contribution in 
https://github.com/MatthewZMD/aidermacs/pull/89
+* @ymfsing made their first contribution in 
https://github.com/MatthewZMD/aidermacs/pull/90
+* @paralin made their first contribution in 
https://github.com/MatthewZMD/aidermacs/pull/100
+
 # Aidermacs 1.1
 
 **What's New in Aidermacs 1.1?**
diff --git a/aidermacs-backend-comint.el b/aidermacs-backend-comint.el
index 528ba13d7a..7968c51d7e 100644
--- a/aidermacs-backend-comint.el
+++ b/aidermacs-backend-comint.el
@@ -1,6 +1,6 @@
 ;;; aidermacs-backend-comint.el --- Comint backend for aidermacs -*- 
lexical-binding: t; -*-
 ;; Author: Mingde (Matthew) Zeng 
-;; Version: 1.1
+;; Version: 1.3
 ;; Keywords: ai emacs llm aider ai-pair-programming tools
 ;; URL: https://github.com/MatthewZMD/aidermacs
 ;; SPDX-License-Identifier: Apache-2.0
diff --git a/aidermacs-backend-vterm.el b/aidermacs-backend-vterm.el
index a947918c55..a7dbc53f5b 100644
--- a/aidermacs-backend-vterm.el
+++ b/aidermacs-backend-vterm.el
@@ -1,6 +1,6 @@
 ;;; aidermacs-backend-vterm.el --- VTerm backend for aidermacs -*- 
lexical-binding: t; -*-
 ;; Author: Mingde (Matthew) Zeng 
-;; Version: 1.1
+;; Version: 1.3
 ;; Keywords: ai emacs llm aider ai-pair-programming tools
 ;; URL: https://github.com/MatthewZMD/aidermacs
 ;; SPDX-License-Identifier: Apache-2.0
diff --git a/aidermacs-backends.el b/aidermacs-backends.el
index 55c09735a4..8fb6ba5900 100644
--- a/aidermacs-backends.el
+++ b/aidermacs-backends.el
@@ -1,6 +1,6 @@
 ;;; aidermacs-backends.el --- Backend dispatcher for aidermacs -*- 
lexical-binding: t; -*-
 ;; Author: Mingde (Matthew) Zeng 
-;; Version: 1.1
+;; Version: 1.3
 ;; Keywords: ai emacs llm aider ai-pair-programming tools
 ;; URL: https://github.com/MatthewZMD/aidermacs
 ;; SPDX-License-Identifier: Apache-2.0
diff --git a/aidermacs-models.el b/aidermacs-models.el
index d3c99fce3c..8ee8ce6d0e 100644
--- a/aidermacs-models.el
+++ b/aidermacs-models.el
@@ -1,6 +1,6 @@
 ;;; aidermacs-models.el --- Model selection for aidermacs -*- lexical-binding: 
t; -*-
 ;; Author: M

[nongnu] elpa/vm 7df08867c2 2/2: Merge branch 'main' into 'main'

2025-04-27 Thread ELPA Syncer
branch: elpa/vm
commit 7df08867c2a2992263ebcf779e026bdbce349d01
Merge: 6ada98940a a627df13ed
Author: Mark Diekhans 
Commit: Mark Diekhans 

Merge branch 'main' into 'main'

Handle cases where vm-version variable is nil. vm-version funcion will 
return "unknown"

See merge request emacs-vm/vm!41
---
 lisp/vm-vars.el| 2 +-
 lisp/vm-version.el | 8 
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/lisp/vm-vars.el b/lisp/vm-vars.el
index 464fe04974..8b5422d774 100644
--- a/lisp/vm-vars.el
+++ b/lisp/vm-vars.el
@@ -6851,7 +6851,7 @@ append a space to words that complete unambiguously.")
   (vm-ml-labels ("; " vm-ml-labels)) " %] ")
  (" %[%] "))
 "%p"
-" (VM " vm-version ")"
+" (VM " (vm-version) ")"
 global-mode-string
 "%-"))
 (defconst vm-mode-line-format-classic
diff --git a/lisp/vm-version.el b/lisp/vm-version.el
index 03632f9b40..a6be94ee7e 100644
--- a/lisp/vm-version.el
+++ b/lisp/vm-version.el
@@ -65,8 +65,8 @@
   (when (vm-interactive-p)
 (if vm-version
 (message "VM version is: %s" vm-version)
-  (message "VM version was not discovered when VM was loaded"))
-  vm-version))
+  (message "VM version was not discovered when VM was loaded")))
+  (or vm-version "unknown"))
 
 (defun vm-version-commit ()
   "Display and the value of the variable `vm-version-commit'."
@@ -74,8 +74,8 @@
   (when (vm-interactive-p)
 (if vm-version-commit
 (message "VM commit is: %s" vm-version-commit)
-  (message "VM commit was not discovered when VM was loaded"))
-  vm-version-commit))
+  (message "VM commit was not discovered when VM was loaded")))
+   (or vm-version-commit "unknown"))
 
 (defun vm-menu-can-eval-item-name ()
   (and (featurep 'xemacs)



[nongnu] elpa/vm a627df13ed 1/2: Handle cases where vm-version variable is nil. vm-version funcion will return "unknown"

2025-04-27 Thread ELPA Syncer
branch: elpa/vm
commit a627df13ed7cf7d4284ef55d662b36ff8b22735d
Author: Mark Diekhans 
Commit: Mark Diekhans 

Handle cases where vm-version variable is nil. vm-version funcion will 
return "unknown"
---
 lisp/vm-vars.el| 2 +-
 lisp/vm-version.el | 8 
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/lisp/vm-vars.el b/lisp/vm-vars.el
index 464fe04974..8b5422d774 100644
--- a/lisp/vm-vars.el
+++ b/lisp/vm-vars.el
@@ -6851,7 +6851,7 @@ append a space to words that complete unambiguously.")
   (vm-ml-labels ("; " vm-ml-labels)) " %] ")
  (" %[%] "))
 "%p"
-" (VM " vm-version ")"
+" (VM " (vm-version) ")"
 global-mode-string
 "%-"))
 (defconst vm-mode-line-format-classic
diff --git a/lisp/vm-version.el b/lisp/vm-version.el
index 03632f9b40..a6be94ee7e 100644
--- a/lisp/vm-version.el
+++ b/lisp/vm-version.el
@@ -65,8 +65,8 @@
   (when (vm-interactive-p)
 (if vm-version
 (message "VM version is: %s" vm-version)
-  (message "VM version was not discovered when VM was loaded"))
-  vm-version))
+  (message "VM version was not discovered when VM was loaded")))
+  (or vm-version "unknown"))
 
 (defun vm-version-commit ()
   "Display and the value of the variable `vm-version-commit'."
@@ -74,8 +74,8 @@
   (when (vm-interactive-p)
 (if vm-version-commit
 (message "VM commit is: %s" vm-version-commit)
-  (message "VM commit was not discovered when VM was loaded"))
-  vm-version-commit))
+  (message "VM commit was not discovered when VM was loaded")))
+   (or vm-version-commit "unknown"))
 
 (defun vm-menu-can-eval-item-name ()
   (and (featurep 'xemacs)



[elpa] externals/hyperbole 0619ec03a8 3/4: hywiki-add-bookmark - Fix to add bookmark properly

2025-04-27 Thread ELPA Syncer
branch: externals/hyperbole
commit 0619ec03a898a6561b881008cf5aa3533487c755
Author: bw 
Commit: bw 

hywiki-add-bookmark - Fix to add bookmark properly

hywiki-word-at - With :range arg, ensure existing HyWikiWord at point
is highlighted properly.

hywiki-tests--save-referent-bookmark-use-menu - Remove this unstable
test.

hywiki-tests--verify-face-property-when-editing-wikiword - Rewrite
and eliminate false wikiword highlighting.

hywiki-referent-exists-p - Fix to stop using global which could be
overwritten and cause failures; use let of `save-input-word' instead.

test/hywiki-tests.el (hywiki-tests--save-referent-keyseries-use-menu -
Rewrite and enable this test.
---
 ChangeLog| 30 
 hibtypes.el  |  5 +--
 hproperty.el |  4 +--
 hywiki.el| 62 ++--
 test/hywiki-tests.el | 99 +++-
 5 files changed, 122 insertions(+), 78 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index a1434134c1..b465218c40 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,35 @@
+2025-04-27  Bob Weiner  
+
+* test/hywiki-tests.el (hywiki-tests--save-referent-keyseries-use-menu): 
Rewrite
+and enable this test.
+
+* hywiki.el (hywiki-referent-exists-p): Fix to stop using global which could be
+overwritten and cause failures; use let of 'save-input-word' instead.
+
 2025-04-26  Bob Weiner  
 
+* test/hywiki-tests.el 
(hywiki-tests--verify-face-property-when-editing-wikiword):
+Rewrite and eliminate false wikiword highlighting.
+
+   (hywiki-tests--save-referent-bookmark-use-menu): This
+test was unstable and unneeded (could not read the Hyperbole minibuffer
+menu prompts properly), so I removed it.  
'hywiki-tests--save-referent-bookmark'
+is enough of a test.
+
+* hywiki.el (hywiki-word-at): When called with :range flag, ensure any
+existing HyWikiWord reference is highlighted before returning.  This
+helps with wikiword highlighting taking precedence over 'font-lock-mode'.
+
+* hywiki.el (hywiki-add-bookmark): Fix to actually create the bookmark
+and to not prompt for a bookmark name when called non-interactively.
+  test/hywiki-tests.el (hywiki-tests--add-bookmark): Fix
+   (hywiki-tests--save-referent-bookmark): Fix to
+use 'wiki-referent' from 'hywiki-tests--referent-test' call.
+   (hywiki-tests--referent-test): Fix to return buffer
+string with no properties to simplify comparisons.
+   (hywiki-add-referent): This may create a new HyWikiWord
+so highlight any occurrences of it in all windows across all frames.
+
 * hbut.el (ibut:insert-text): Remove duplicate 'actypes::link-to-file' clause.
 
 * hpath.el (hpath:file-position-to-line-and-column): Fix to shorten path
diff --git a/hibtypes.el b/hibtypes.el
index 83f8e8e5be..58788c669f 100644
--- a/hibtypes.el
+++ b/hibtypes.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date:19-Sep-91 at 20:45:31
-;; Last-Mod: 26-Apr-25 at 10:19:22 by Mats Lidell
+;; Last-Mod: 27-Apr-25 at 00:40:38 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -1755,8 +1755,9 @@ If a boolean function or variable, display its value."
   ((looking-at smerge-lower-re)
(setq op 'smerge-keep-all
   (when op
+  (save-excursion
 (ibut:label-set (match-string-no-properties 0) (match-beginning 0) 
(match-end 0))
-(hact op)
+(hact op))
 
 (run-hooks 'hibtypes-end-load-hook)
 (provide 'hibtypes)
diff --git a/hproperty.el b/hproperty.el
index c7fcc9e364..17ccdfb894 100644
--- a/hproperty.el
+++ b/hproperty.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date:21-Aug-92
-;; Last-Mod: 27-Feb-25 at 22:50:13 by Bob Weiner
+;; Last-Mod: 26-Apr-25 at 20:25:33 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -258,7 +258,7 @@ matching button."
  (overlays-in start end)
 
 (defun hproperty:but-get-first-in-region (start end property value)
-  "Return first button in current buf between START & END with PROPERTY & 
VALUE.
+  "Return list of first button between START & END with PROPERTY & VALUE.
 Return nil if none."
   (catch 'first
 (mapc (lambda (overlay)
diff --git a/hywiki.el b/hywiki.el
index 8d91089d45..80442df403 100644
--- a/hywiki.el
+++ b/hywiki.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date:21-Acpr-24 at 22:41:13
-;; Last-Mod: 20-Apr-25 at 22:27:39 by Mats Lidell
+;; Last-Mod: 27-Apr-25 at 01:21:36 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -916,7 +916,8 @@ an error is triggered."
  (hywiki-get-referent-hasht)))
 (setq hywiki--any-wikiword-regexp-list nil)
 (unless (hyperb:stack-frame '(hywiki-maybe-highlight-wikiwords-in-frame))
-

[elpa] externals/hyperbole 06608abdf9 1/4: hpath:file-position-to-line-and-column: Fix shorten path default-dir

2025-04-27 Thread ELPA Syncer
branch: externals/hyperbole
commit 06608abdf9d069a14579f950bf909f15506fc5f8
Author: bw 
Commit: bw 

hpath:file-position-to-line-and-column: Fix shorten path default-dir

hbut.el (ibut:insert-text): Remove duplicate 'actypes::link-to-file'
clause.
---
 ChangeLog |  7 +++
 hbut.el   | 23 +--
 hpath.el  | 26 ++
 3 files changed, 30 insertions(+), 26 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index ff85eac283..ca85afc522 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2025-04-26  Bob Weiner  
+
+* hbut.el (ibut:insert-text): Remove duplicate 'actypes::link-to-file' clause.
+
+* hpath.el (hpath:file-position-to-line-and-column): Fix to shorten path
+in the current directory, not within the buffer of path.
+
 2025-04-20  Bob Weiner  
 
 * test/hui-tests.el (hui--link-possible-types): Change Outline Heading
diff --git a/hbut.el b/hbut.el
index 4b4b45525d..fbe82677d0 100644
--- a/hbut.el
+++ b/hbut.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date:18-Sep-91 at 02:57:09
-;; Last-Mod: 20-Apr-25 at 15:16:34 by Bob Weiner
+;; Last-Mod: 26-Apr-25 at 10:12:23 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -2700,13 +2700,6 @@ Summary of operations based on inputs (name arg from 
\\='hbut:current attrs):
   ('actypes::link-to-ebut (progn (insert "")))
-  ('actypes::link-to-file
-   ;; arg2 when given is a buffer position
-   (insert "\""
-  (if arg2
-  (hpath:file-position-to-line-and-column arg1 arg2)
-(hpath:shorten arg1))
-  "\""))
   ('actypes::link-to-ibut (progn (insert "")))
@@ -2735,12 +2728,14 @@ Summary of operations based on inputs (name arg from 
\\='hbut:current attrs):
(format "\"%s:%d\"" (hpath:shorten arg1) arg2)
  (format "\"%s:%d:%d\"" (hpath:shorten arg1) arg2 arg3
   ('actypes::link-to-file
-   (insert (format "\"%s\""
-  (if (/= (length args) 2)
-  ;; filename only
-  (hpath:shorten arg1)
-;; includes buffer pos that we translate to line:col
-(hpath:file-position-to-line-and-column arg1 arg2)
+   ;; arg2 when given is a buffer position
+   (insert "\""
+  (if arg2
+  ;; includes buffer pos that we translate to line:col
+  (hpath:file-position-to-line-and-column arg1 arg2)
+;; filename only
+(hpath:shorten arg1))
+  "\""))
   ('actypes::link-to-string-match
(insert (format "\"%s#%s%s\"" (hpath:shorten arg3) arg1
   (if (<= arg2 1) "" (concat ":I" (number-to-string 
arg2))
diff --git a/hpath.el b/hpath.el
index 89e1bd60a9..3c0b863b94 100644
--- a/hpath.el
+++ b/hpath.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date: 1-Nov-91 at 00:44:23
-;; Last-Mod: 13-Apr-25 at 01:06:44 by Bob Weiner
+;; Last-Mod: 26-Apr-25 at 10:22:42 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -1401,17 +1401,19 @@ Parse out the parts and return a list, else nil."
  (list file))
 
 (defun hpath:file-position-to-line-and-column (path position)
-  "Return \"path:line-num:col-num\" given PATH and character POSITION.
-The path in the result is abbreviated when possible."
-  (with-current-buffer (find-file-noselect path)
-(save-excursion
-  (goto-char position)
-  (if (zerop (current-column))
- (format "%s:L%d" (hpath:shorten path) (line-number-at-pos (point) t))
-   (format "%s:L%d:C%d"
-   (hpath:shorten path)
-   (line-number-at-pos (point) t)
-   (current-column))
+  "Return \"path:L:C\" given PATH and character POSITION.
+If col-num is 0, the :C is excluded.  The path in the
+result is abbreviated relative to the caller's buffer directory."
+  (let ((shortened-path (hpath:shorten path)))
+(with-current-buffer (find-file-noselect path)
+  (save-excursion
+   (goto-char position)
+   (if (zerop (current-column))
+   (format "%s:L%d" shortened-path (line-number-at-pos (point) t))
+ (format "%s:L%d:C%d"
+ shortened-path
+ (line-number-at-pos (point) t)
+ (current-column)))
 
 (defun hpath:find-noselect (filename)
   "Find but don't display FILENAME.



[elpa] externals/hyperbole updated (540c4a3d74 -> 430afa38fd)

2025-04-27 Thread ELPA Syncer
elpasync pushed a change to branch externals/hyperbole.

  from  540c4a3d74 add hypb smerge (#716)
   new  06608abdf9 hpath:file-position-to-line-and-column: Fix shorten path 
default-dir
   new  384b76d906 Merge branch 'master' into rsw
   new  0619ec03a8 hywiki-add-bookmark - Fix to add bookmark properly
   new  430afa38fd Merge pull request #718 from rswgnu/rsw


Summary of changes:
 ChangeLog| 37 
 hbut.el  | 18 +-
 hibtypes.el  |  5 +--
 hpath.el | 26 +++---
 hproperty.el |  4 +--
 hywiki.el| 62 ++--
 test/hywiki-tests.el | 99 +++-
 7 files changed, 153 insertions(+), 98 deletions(-)



[nongnu] elpa/haskell-ts-mode c0282099bf: Moving readme from org to markdown

2025-04-27 Thread ELPA Syncer
branch: elpa/haskell-ts-mode
commit c0282099bffa8e3584baeed4327aadb1fd934018
Author: Pranshu Sharma 
Commit: Pranshu Sharma 

Moving readme from org to markdown

We don't need that org functionality, plus it will make it easier for
devleoprs and less buggy for users to mirror it on their own website
---
 README.md  | 145 +++
 README.org | 150 -
 2 files changed, 145 insertions(+), 150 deletions(-)

diff --git a/README.md b/README.md
new file mode 100644
index 00..b30138e6bb
--- /dev/null
+++ b/README.md
@@ -0,0 +1,145 @@
+
+# haskell-ts-mode
+
+A [Haskell](https://www.haskell.org/) mode that uses 
[Tree-sitter](https://tree-sitter.github.io/tree-sitter/).
+
+![img](./ss.png)
+
+The above screenshot is indented and coloured using `haskell-ts-mode`, with
+`prettify-symbols-mode` enabled.
+
+# Usage
+
+-   `C-c C-r` Open REPL
+-   `C-c C-c` Send code to REPL
+-   `M-q`   Indent the function
+
+# Features
+
+Say it with me: Indentation does not change the syntax tree. This means that 
the
+indentation is a lot more predictable, but sometimes you must manually press
+`M-i` to indent.
+
+Overview of features:
+
+-   Syntax highlighting
+-   Structural navigation
+-   Indentation
+-   Imenu support
+-   REPL (`C-c C-r` in the mode to run)
+-   Prettify Symbols mode support
+
+# Comparison with `haskell-mode`
+
+The more interesting features are:
+
+-   Logical syntax highlighting:
+-   Only arguments that can be used in functions are highlighted, e.g., in 
`f
+(_:(a:[]))` only `a` is highlighted, as it is the only variable 
that is
+captured, and that can be used in the body of the function.
+-   The return type of a function is highlighted.
+-   All new variabels are (or should be) highlighted, this includes 
generators,
+lambda arguments.
+-   Highlighting the `=` operator in guarded matches correctly, this would 
be
+stupidly hard in regexp based syntax.
+-   More performant, this is especially seen in longer files.
+-   Much, much less code, `haskell-mode` has accumlated 30,000 lines of code 
and
+features to do with all things Haskell related. `haskell-ts-mode` just 
keeps
+the scope to basic major mode stuff, and leaves other stuff to external
+packages.
+
+# Motivation
+
+`haskell-mode` contains nearly 30k lines of code, and is about 30 years old. A
+lot of features implemented by `haskell-mode` are now also available in 
standard
+Emacs, and have thus become obsolete.
+
+In 2018, a mode called 
[`haskell-tng-mode`](https://elpa.nongnu.org/nongnu/haskell-tng-mode.html) was 
made to solve some of these
+problems. However, because of Haskell's syntax, it too became very complex and
+required a web of dependencies.
+
+Both these modes ended up practically parsing Haskell's syntax to implement
+indentation, so I thought why not use Tree-sitter?
+
+# Structural navigation
+
+This mode provides strucural navigation, for Emacs 30+.
+
+combs (x:xs) = map (x:) c ++ c
+  where c = combs xs
+
+In the above code, if the pointer is right in front of the function
+definition `combs`, and you press `C-M-f` (`forward-sexp`), it will take you to
+the end of the second line.
+
+# Installation
+
+Add this into your init.el:
+```lisp
+(use-package haskell-ts-mode
+  :ensure t
+  :custom
+  (haskell-ts-font-lock-level 4)
+  (haskell-ts-use-indent t)
+  (haskell-ts-ghci "ghci")
+  (haskell-ts-use-indent t)
+  :config
+  (add-to-list 'treesit-language-source-alist
+   '(haskell . ("https://github.com/tree-sitter/tree-sitter-haskell"; 
"v0.23.1")))
+  (unless (treesit-grammar-location 'haskell)
+   (treesit-install-language-grammar 'haskell)))
+```
+
+That is all.  This will install the grammars if not already installed.
+However, you might need to update the grammar version in the future.
+
+# Customization
+
+## How to disable `haskell-ts-mode` indentation
+
+(setq haskell-ts-use-indent nil)
+
+
+
+## Pretify Symbols mode
+
+`prettify-symbols-mode` can be used to replace common symbols with
+unicode alternatives.
+
+(add-hook 'haskell-ts-mode 'prettify-symbols-mode)
+
+## Adjusting font lock level
+
+Set `haskell-ts-font-lock-level` accordingly.  Default value is 4, so if
+you suffer from contagious dehydration, you can lower it.
+
+## Language server
+
+`haskell-ts-mode` works with `lsp-mode` and, since Emacs 30, with
+`eglot`.
+
+To add `eglot` support on Emacs 29 and earlier, add the following code
+to your `init.el`:
+
+(with-eval-after-load 'eglot
+  (defvar eglot-server-programs)
+  (add-to-list 'eglot-server-programs
+   '(haskell-ts-mode . ("haskell-language-server-wrapper" 
"--lsp"
+
+## Prettify sybmols mode
+
+Turning on `prettify-symbols-mode` does stuff like turn `->` to `→`. If you
+want to prettify words, set `haskell-ts-prettify-words` to non-nil.
+This will do stu

[elpa] externals/hyperbole 430afa38fd 4/4: Merge pull request #718 from rswgnu/rsw

2025-04-27 Thread ELPA Syncer
branch: externals/hyperbole
commit 430afa38fd7d14c19700b4bc788a227984bea80c
Merge: 540c4a3d74 0619ec03a8
Author: Robert Weiner 
Commit: GitHub 

Merge pull request #718 from rswgnu/rsw

hywiki-add-bookmark - Fix to add bookmark properly @rswgnu
---
 ChangeLog| 37 
 hbut.el  | 18 +-
 hibtypes.el  |  5 +--
 hpath.el | 26 +++---
 hproperty.el |  4 +--
 hywiki.el| 62 ++--
 test/hywiki-tests.el | 99 +++-
 7 files changed, 153 insertions(+), 98 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 97b151a159..b465218c40 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,40 @@
+2025-04-27  Bob Weiner  
+
+* test/hywiki-tests.el (hywiki-tests--save-referent-keyseries-use-menu): 
Rewrite
+and enable this test.
+
+* hywiki.el (hywiki-referent-exists-p): Fix to stop using global which could be
+overwritten and cause failures; use let of 'save-input-word' instead.
+
+2025-04-26  Bob Weiner  
+
+* test/hywiki-tests.el 
(hywiki-tests--verify-face-property-when-editing-wikiword):
+Rewrite and eliminate false wikiword highlighting.
+
+   (hywiki-tests--save-referent-bookmark-use-menu): This
+test was unstable and unneeded (could not read the Hyperbole minibuffer
+menu prompts properly), so I removed it.  
'hywiki-tests--save-referent-bookmark'
+is enough of a test.
+
+* hywiki.el (hywiki-word-at): When called with :range flag, ensure any
+existing HyWikiWord reference is highlighted before returning.  This
+helps with wikiword highlighting taking precedence over 'font-lock-mode'.
+
+* hywiki.el (hywiki-add-bookmark): Fix to actually create the bookmark
+and to not prompt for a bookmark name when called non-interactively.
+  test/hywiki-tests.el (hywiki-tests--add-bookmark): Fix
+   (hywiki-tests--save-referent-bookmark): Fix to
+use 'wiki-referent' from 'hywiki-tests--referent-test' call.
+   (hywiki-tests--referent-test): Fix to return buffer
+string with no properties to simplify comparisons.
+   (hywiki-add-referent): This may create a new HyWikiWord
+so highlight any occurrences of it in all windows across all frames.
+
+* hbut.el (ibut:insert-text): Remove duplicate 'actypes::link-to-file' clause.
+
+* hpath.el (hpath:file-position-to-line-and-column): Fix to shorten path
+in the current directory, not within the buffer of path.
+
 2025-04-26  Mats Lidell  
 
 * hibtypes.el (smerge): Add ibut smerge.
diff --git a/hbut.el b/hbut.el
index 349ef7f423..fbe82677d0 100644
--- a/hbut.el
+++ b/hbut.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date:18-Sep-91 at 02:57:09
-;; Last-Mod: 20-Apr-25 at 22:19:05 by Mats Lidell
+;; Last-Mod: 26-Apr-25 at 10:12:23 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -2700,13 +2700,6 @@ Summary of operations based on inputs (name arg from 
\\='hbut:current attrs):
   ('actypes::link-to-ebut (progn (insert "")))
-  ('actypes::link-to-file
-   ;; arg2 when given is a buffer position
-   (insert "\""
-  (if arg2
-  (hpath:file-position-to-line-and-column arg1 arg2)
-(hpath:shorten arg1))
-  "\""))
   ('actypes::link-to-ibut (progn (insert "")))
@@ -2734,6 +2727,15 @@ Summary of operations based on inputs (name arg from 
\\='hbut:current attrs):
(if (eq arg3 0)
(format "\"%s:%d\"" (hpath:shorten arg1) arg2)
  (format "\"%s:%d:%d\"" (hpath:shorten arg1) arg2 arg3
+  ('actypes::link-to-file
+   ;; arg2 when given is a buffer position
+   (insert "\""
+  (if arg2
+  ;; includes buffer pos that we translate to line:col
+  (hpath:file-position-to-line-and-column arg1 arg2)
+;; filename only
+(hpath:shorten arg1))
+  "\""))
   ('actypes::link-to-string-match
(insert (format "\"%s#%s%s\"" (hpath:shorten arg3) arg1
   (if (<= arg2 1) "" (concat ":I" (number-to-string 
arg2))
diff --git a/hibtypes.el b/hibtypes.el
index 83f8e8e5be..58788c669f 100644
--- a/hibtypes.el
+++ b/hibtypes.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date:19-Sep-91 at 20:45:31
-;; Last-Mod: 26-Apr-25 at 10:19:22 by Mats Lidell
+;; Last-Mod: 27-Apr-25 at 00:40:38 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -1755,8 +1755,9 @@ If a boolean function or variable, display its value."
   ((looking-at smerge-lower-re)
(setq op 'smerge-keep-all
   (when op
+  (save-excursion
 (ibut:label-set (match-string-no-properties 0) (match-beginning 0) 
(match-end 0))
-(hact op)
+(hact op))
 
 (run-hooks 'hibtypes-end-l

[elpa] externals-release/org 79781bac69: Update version number for the 9.7.29 release

2025-04-27 Thread ELPA Syncer
branch: externals-release/org
commit 79781bac69896150fd617e5fde65905fa4822b72
Author: Ihor Radchenko 
Commit: Ihor Radchenko 

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

diff --git a/lisp/org.el b/lisp/org.el
index 084e02497b..9e8bf8c750 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.28
+;; Version: 9.7.29
 
 ;; This file is part of GNU Emacs.
 ;;



[elpa] externals/org 829b3556d7: Improve support for weekday-less timestamps

2025-04-27 Thread ELPA Syncer
branch: externals/org
commit 829b3556d725d6417c27504589a4431d6e4ef4ac
Author: Jens Schmidt 
Commit: Ihor Radchenko 

Improve support for weekday-less timestamps

* lisp/org.el (org-ts-regexp1, org-timestamp-formats): Doc fixes.
(org-timestamp-change): Test for presence of optional groups before
accessing them.
* testing/lisp/test-org.el (test-org/at-timestamp-p): Add tests for
timestamps with time and without weekday name.
(test-org/org-timestamp-change): New test.

Link: 
https://list.orgmode.org/5bfeb020-821b-49a4-9380-1927adc05...@vodafonemail.de/
---
 lisp/org.el  | 28 ++---
 testing/lisp/test-org.el | 64 
 2 files changed, 88 insertions(+), 4 deletions(-)

diff --git a/lisp/org.el b/lisp/org.el
index 9dcf103215..ee1e4b4b7e 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -448,7 +448,16 @@ This one does not require the space after the date, so it 
can be used
 on a string that terminates immediately after the date.")
 
 (defconst org-ts-regexp1 
"\\(\\([0-9]\\{4\\}\\)-\\([0-9]\\{2\\}\\)-\\([0-9]\\{2\\}\\)\\(?: 
*\\([^]+0-9>\r\n -]+\\)\\)?\\( \\([0-9]\\{1,2\\}\\):\\([0-9]\\{2\\}\\)\\)?\\)"
-  "Regular expression matching time strings for analysis.")
+  "Regular expression matching time strings for analysis.
+This regular expression provides the following groups:
+  1:   everything (required for embedding)
+   2:  year
+   3:  month
+   4:  day
+   5:  weekday name (optional)
+   6:  time part (optional)
+7: hour
+8: minute")
 
 (defconst org-ts-regexp2 (concat "<" org-ts-regexp1 "[^>\n]\\{0,16\\}>")
   "Regular expression matching time stamps, with groups.")
@@ -479,6 +488,13 @@ The time stamps may be either active or inactive.")
   "Regular expression for specifying repeated events.
 After a match, group 1 contains the repeat expression.")
 
+;; The weekday name "%a" is considered semi-optional in these formats,
+;; see https://list.orgmode.org/87fricxatw.fsf@localhost/.  It is
+;; "optional" because the `org-timestamp-*' functions work alright on
+;; weekday-less timestamps in paragraphs when one omits the "%a".  But
+;; it is only "semi"-optional since Org cannot process properly
+;; timestamps in CLOCK, DEADLINE, and SCHEDULED lines when one omits
+;; the "%a".
 (defvaralias 'org-time-stamp-formats 'org-timestamp-formats)
 (defconst org-timestamp-formats '("%Y-%m-%d %a" . "%Y-%m-%d %a %H:%M")
   "Formats for `format-time-string' which are used for time stamps.
@@ -15472,9 +15488,13 @@ When SUPPRESS-TMP-DELAY is non-nil, suppress delays 
like
(looking-at org-ts-regexp3)
(goto-char
 (pcase origin-cat
-  ;; `day' category ends before `hour' if any, or at the end
-  ;; of the day name.
-  (`day (min (or (match-beginning 7) (1- (match-end 5))) origin))
+  ;; `day' category ends at the end of the weekday name if
+  ;; any (group 5), or before `hour' if any (group 7), or at
+  ;; the end of the timestamp (group 1).
+  (`day (min (cond ((match-end 5) (1- (match-end 5)))
+((match-beginning 7))
+(t (1- (match-end 1
+  origin))
   (`hour (min (match-end 7) origin))
   (`minute (min (1- (match-end 8)) origin))
   ((pred integerp) (min (1- (match-end 0)) origin))
diff --git a/testing/lisp/test-org.el b/testing/lisp/test-org.el
index eefc9b6922..af307f70be 100644
--- a/testing/lisp/test-org.el
+++ b/testing/lisp/test-org.el
@@ -8993,6 +8993,14 @@ CLOSED: %s
(eq 'day
(org-test-with-temp-text "<2012-03-29 Thu>"
 (org-at-timestamp-p
+  (should
+   (eq 'hour
+   (org-test-with-temp-text "<2012-03-29 Thu 12:34>"
+(org-at-timestamp-p
+  (should
+   (eq 'minute
+   (org-test-with-temp-text "<2012-03-29 Thu 12:34>"
+(org-at-timestamp-p
   (should
(wholenump
 (org-test-with-temp-text "<2012-03-29 Thu +2y>"
@@ -9005,6 +9013,23 @@ CLOSED: %s
(eq 'after
(org-test-with-temp-text "<2012-03-29 Thu>»"
 (org-at-timestamp-p
+  ;; Test optional weekday name.
+  (should
+   (eq 'day
+   (org-test-with-temp-text "<2012-03-29>"
+(org-at-timestamp-p
+  (should
+   (eq 'day
+   (org-test-with-temp-text "<2012-03-29 12:34>"
+(org-at-timestamp-p
+  (should
+   (eq 'hour
+   (org-test-with-temp-text "<2012-03-29 12:34>"
+(org-at-timestamp-p
+  (should
+   (eq 'minute
+   (org-test-with-temp-text "<2012-03-29 12:34>"
+(org-at-timestamp-p
   ;; Test `inactive' optional argument.
   (should
(org-test-with-temp-text "[2012-03-29 Thu]"
@@ -9067,6 +9092,45 @@ CLOSED: %s
(org-test-with-temp-text "# [2012-03-29 Thu]"
  (org-at-timestamp-p 'lax
 
+(ert-deftest test-org/org-timestamp-change ()
+  "Test `org-timestamp-change' specifications."
+  (let ((now (current-time)) now-ts point)

[elpa] externals/hyperbole 384b76d906 2/4: Merge branch 'master' into rsw

2025-04-27 Thread ELPA Syncer
branch: externals/hyperbole
commit 384b76d90689673b5c156d5d4ca8c470cd568273
Merge: 06608abdf9 540c4a3d74
Author: bw 
Commit: bw 

Merge branch 'master' into rsw
---
 ChangeLog  | 77 ++
 hibtypes.el| 23 +++-
 hsys-org.el| 10 ++--
 hui-mouse.el   | 28 +++---
 hywiki.el  | 12 +++--
 test/MANIFEST  |  4 ++
 test/hargs-tests.el| 20 +++
 test/hibtypes-resources/TAGS   |  3 ++
 test/hibtypes-resources/test-data.el   | 21 
 test/hibtypes-tests.el | 47 
 test/hmouse-drv-resources/TAGS |  3 ++
 test/hmouse-drv-resources/test-data.el | 21 
 test/hmouse-drv-tests.el   | 52 --
 test/hmouse-info-tests.el  | 13 ++---
 test/hpath-tests.el|  4 +-
 test/hui-tests.el  | 44 +++
 test/hy-test-dependencies.el   |  4 +-
 test/hy-test-helpers.el| 10 
 test/hywiki-tests.el   | 99 --
 19 files changed, 359 insertions(+), 136 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index ca85afc522..a1434134c1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,6 +5,83 @@
 * hpath.el (hpath:file-position-to-line-and-column): Fix to shorten path
 in the current directory, not within the buffer of path.
 
+2025-04-26  Mats Lidell  
+
+* hibtypes.el (smerge): Add ibut smerge.
+
+* hui-mouse.el (smart-magit): Add smerge support in magit-status-mode.
+
+* hywiki.el (hywiki-word-face-at-p): Add optional pos to enable reuse.
+
+* test/hy-test-helpers.el (hy-test-word-face-at-region): Simplify by
+reusing hywiki-word-face-at-p.
+
+* test/hywiki-tests.el
+(hywiki-tests--wikiword-step-check-verification-with-faces): Add
+missing WikiWord, Hiho, required by the test. Enable the test for CI.
+
+* test/hywiki-tests.el:
+* test/hui-tests.el:
+* test/hmouse-info-tests.el:
+* test/hmouse-drv-tests.el:
+* test/hargs-tests.el: Use ert-simulate-keys. Replaces external dependency
+on with-simulated-input.
+
+* test/hy-test-dependencies.el: Remove dependency on with-simulated-input.
+
+2025-04-25  Mats Lidell  
+
+* hsys-org.el: Require 'warnings to get definition of variables
+`warning-minimum-level' and `warning-suppress-log-types' else causing
+byte compilation warnings.
+
+* test/MANIFEST: Add resource folders.
+
+* test/hmouse-drv-resources/test-data.el:
+  test/hmouse-drv-resources/TAGS:
+  test/hibtypes-resources/test-data.el:
+  test/hibtypes-resources/TAGS: Test resources.
+
+* test/hmouse-drv-tests.el (hbut-ctags-vgrind-test, hbut-etags-test): Use
+test resources.
+
+* test/hibtypes-tests.el (ibtypes::ctags-vgrind-test)
+(ibtypes::etags-test): Use test resources.
+
+2025-04-23  Mats Lidell  
+
+* test/hywiki-tests.el (hywiki-tests--word-n-face-at): Verify that point
+is at a WikiWord where WikiWord has hywiki--word-face set.
+(hywiki-tests--with-face-test): Control type of WikiWord check.
+(hywiki-tests--word-at): Use either hywiki-word-at or
+hywiki-tests--word-n-face-at controlled by
+hywiki-tests--with-face-test.
+(hywiki-tests--verify-hywiki-word): Use hywiki-tests--word-at.
+(hywiki-tests--wikiword-step-check-verification-with-faces): Run the
+step-check test verifying WikiWords and faces. Test is behind failure
+flag.
+
+* test/hy-test-helpers.el (hy-test-word-face-at-point): Check if
+hywiki--word-face is set at point.
+(hy-test-word-face-at-region): Check that region has hywiki--word-face set.
+
+2025-04-21  Mats Lidell  
+
+* test/hywiki-tests.el (hywiki-tests--wikiword-step-check): Update test
+sequence.
+
+* hywiki.el (ibtypes::pathname, ibtypes::pathname-line-and-column):
+Declare functions from hpath.
+
+* hsys-org.el (hsys-org-link-at-p): Reinsert let binding of label-start-end.
+
+* hbut.el (ibut:insert-text): Remove shadowed pcase.
+
+2025-04-20  Mats Lidell  
+
+* test/hywiki-tests.el (hywiki-tests--filename-same-as-wiki-word): Add
+test for filename being the same as a WikiWord.
+
 2025-04-20  Bob Weiner  
 
 * test/hui-tests.el (hui--link-possible-types): Change Outline Heading
diff --git a/hibtypes.el b/hibtypes.el
index 3d9be82144..83f8e8e5be 100644
--- a/hibtypes.el
+++ b/hibtypes.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date:19-Sep-91 at 20:45:31
-;; Last-Mod: 19-Apr-25 at 17:51:14 by Bob Weiner
+;; Last-Mod: 26-Apr-25 at 10:19:22 by Mats Lidell
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -45,6 +45,7 @@
 (require 'org-macs) ;; for org-uuid-regexp
 (require 'subr-x) ;; for string-trim
 (require 'thingatpt)
+(eval-when-compile (require 'smerge-mode))
 
 ;;; 
 ;;; Public declarations
@@ -17

[elpa] externals/doc-view-follow 0393bfc9cd 2/2: * doc-view-follow.el: Bump version to 0.3.2

2025-04-27 Thread ELPA Syncer
branch: externals/doc-view-follow
commit 0393bfc9cdbec698201c9c69c247b201558f8511
Author: Paul Nelson 
Commit: Paul Nelson 

* doc-view-follow.el: Bump version to 0.3.2
---
 doc-view-follow.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/doc-view-follow.el b/doc-view-follow.el
index 4570194070..2d709bfca3 100644
--- a/doc-view-follow.el
+++ b/doc-view-follow.el
@@ -3,7 +3,7 @@
 ;; Copyright (C) 2024-2025  Free Software Foundation, Inc.
 
 ;; Author: Paul D. Nelson 
-;; Version: 0.3.1
+;; Version: 0.3.2
 ;; URL: https://github.com/ultronozm/doc-view-follow.el
 ;; Package-Requires: ((emacs "29.1"))
 ;; Keywords: convenience



[elpa] externals/hyperbole updated (430afa38fd -> 1b449389ab)

2025-04-27 Thread ELPA Syncer
elpasync pushed a change to branch externals/hyperbole.

  from  430afa38fd Merge pull request #718 from rswgnu/rsw
   new  936198bb71 Add texi docs for smerge and smart magit ibtype (#717)
   new  f66c215da1 Use or (#719)
   new  d9f0782392 hyrolo.el - disable hywiki-mode; hypb:in-string-p - save 
match data
   new  1b449389ab Merge pull request #720 from rswgnu/rsw


Summary of changes:
 ChangeLog| 17 +
 hibtypes.el  | 28 +---
 hui-mouse.el |  8 +---
 hypb.el  |  9 +
 hyrolo.el|  4 +++-
 hywiki.el|  6 ++
 man/hyperbole.texi   | 35 +--
 test/hywiki-tests.el |  8 
 8 files changed, 74 insertions(+), 41 deletions(-)



[elpa] externals/hyperbole 936198bb71 1/4: Add texi docs for smerge and smart magit ibtype (#717)

2025-04-27 Thread ELPA Syncer
branch: externals/hyperbole
commit 936198bb718ebd443c0fca717280355df5df56c5
Author: Mats Lidell 
Commit: GitHub 

Add texi docs for smerge and smart magit ibtype (#717)
---
 ChangeLog  |  5 +
 hibtypes.el| 12 +++-
 hui-mouse.el   |  8 +---
 man/hyperbole.texi | 35 +--
 4 files changed, 42 insertions(+), 18 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index b465218c40..929f858511 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2025-04-27  Mats Lidell  
+
+* man/hyperbole.texi (Implicit Button Types): smerge ibut.
+(Smart Key - Magit Mode): Merge conflict lines.
+
 2025-04-27  Bob Weiner  
 
 * test/hywiki-tests.el (hywiki-tests--save-referent-keyseries-use-menu): 
Rewrite
diff --git a/hibtypes.el b/hibtypes.el
index 58788c669f..304b0d70e5 100644
--- a/hibtypes.el
+++ b/hibtypes.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date:19-Sep-91 at 20:45:31
-;; Last-Mod: 27-Apr-25 at 00:40:38 by Bob Weiner
+;; Last-Mod: 27-Apr-25 at 17:09:24 by Mats Lidell
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -1743,7 +1743,9 @@ If a boolean function or variable, display its value."
 ;;; 
 
 (defib smerge ()
-  "Act on conflicts in merge buffers, i.e. when smerge-mode is active."
+  "Act on `smerge-mode' buffer conflicts.
+On a merge conflict marker, keep either the upper, both or the lower
+version of the conflict."
   (when (bound-and-true-p smerge-mode)
 (let (op)
   (save-excursion
@@ -1755,9 +1757,9 @@ If a boolean function or variable, display its value."
   ((looking-at smerge-lower-re)
(setq op 'smerge-keep-all
   (when op
-  (save-excursion
-(ibut:label-set (match-string-no-properties 0) (match-beginning 0) 
(match-end 0))
-(hact op))
+(save-excursion
+  (ibut:label-set (match-string-no-properties 0) (match-beginning 0) 
(match-end 0))
+  (hact op))
 
 (run-hooks 'hibtypes-end-load-hook)
 (provide 'hibtypes)
diff --git a/hui-mouse.el b/hui-mouse.el
index 075b88a9a5..6b926a0103 100644
--- a/hui-mouse.el
+++ b/hui-mouse.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date:04-Feb-89
-;; Last-Mod: 25-Apr-25 at 23:35:04 by Mats Lidell
+;; Last-Mod: 27-Apr-25 at 16:49:19 by Mats Lidell
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -1569,8 +1569,10 @@ selected buffer.
 If key is pressed:
  (1) on the last line, quit from the magit mode (\"q\" key binding);
  (2) at the end of a line, scroll up a windowful;
- (3) on an initial read-only header line, cycle visibility of diff sections;
- (4) anywhere else, hide/show the thing at point (\"TAB\" key binding)
+ (3) in a `magit-status-mode' buffer on a merge conflict marker, keep
+ either the upper, both or the lower version of the conflict.
+ (4) on an initial read-only header line, cycle visibility of diff sections;
+ (5) anywhere else, hide/show the thing at point (\"TAB\" key binding)
  unless that does nothing in the mode, then jump to the thing at
  point (\"RET\" key binding) but display based on the value of
  `hpath:display-where'."
diff --git a/man/hyperbole.texi b/man/hyperbole.texi
index c0a1cc3361..63b2e40a18 100644
--- a/man/hyperbole.texi
+++ b/man/hyperbole.texi
@@ -7,7 +7,7 @@
 @c Author:   Bob Weiner
 @c
 @c Orig-Date: 6-Nov-91 at 11:18:03
-@c Last-Mod: 20-Apr-25 at 15:14:53 by Bob Weiner
+@c Last-Mod: 27-Apr-25 at 17:00:36 by Mats Lidell
 
 @c %**start of header (This is for running Texinfo on a region.)
 @setfilename hyperbole.info
@@ -171,7 +171,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
 
 Edition 9.0.2pre
-Printed April 20, 2025.
+Printed April 27, 2025.
 
   Published by the Free Software Foundation, Inc.
   Author:Bob Weiner
@@ -213,7 +213,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
 @example
 Edition 9.0.2pre
-April 20, 2025
+April 27, 2025
 
   Published by the Free Software Foundation, Inc.
   Author:Bob Weiner
@@ -2502,11 +2502,17 @@ not installed by default.  You must manually configure 
it and load it from
 the file, @file{@code{$@{hyperb:dir@}}/hib-doc-id.el}).  See the commentary
 at the top of that file for more information.
 
-@findex ibtypes hywiki-existing-word
-@cindex hywiki existing word
-@item hywiki-existing-word
-When on a HyWiki word with an existing page, display its page and
-optional section.
+@findex ibtypes smerge
+@cindex smerge
+@anchor{smerge}
+@item smerge
+Within a merge conflict buffer, with @code{smerge-mode} active, make
+the conflict marker lines into buttons that select what version to
+keep. The upper, center and lower conflict marker lines keep the upper
+conflict, both conflicts or the lower conflict, respectively.
+
+@xref{Smart Key - Magit Mode} for similar buttons for conflict
+resolution from within the @code{magit-sta

[elpa] externals/hyperbole f66c215da1 2/4: Use or (#719)

2025-04-27 Thread ELPA Syncer
branch: externals/hyperbole
commit f66c215da1447c7437467621195e6bda22ed623d
Author: Mats Lidell 
Commit: GitHub 

Use or (#719)
---
 ChangeLog   |  4 
 hibtypes.el | 18 +++---
 hywiki.el   |  6 ++
 3 files changed, 13 insertions(+), 15 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 929f858511..ad211c5cb9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2025-04-27  Mats Lidell  
 
+* hywiki.el (hywiki-word-face-at-p):
+* hibtypes.el (smerge): Use or instead of setq. Thanks Stefan Monnier for
+the suggestion.
+
 * man/hyperbole.texi (Implicit Button Types): smerge ibut.
 (Smart Key - Magit Mode): Merge conflict lines.
 
diff --git a/hibtypes.el b/hibtypes.el
index 304b0d70e5..02dfa855e9 100644
--- a/hibtypes.el
+++ b/hibtypes.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date:19-Sep-91 at 20:45:31
-;; Last-Mod: 27-Apr-25 at 17:09:24 by Mats Lidell
+;; Last-Mod: 27-Apr-25 at 17:30:02 by Mats Lidell
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -45,7 +45,7 @@
 (require 'org-macs) ;; for org-uuid-regexp
 (require 'subr-x) ;; for string-trim
 (require 'thingatpt)
-(eval-when-compile (require 'smerge-mode))
+(require 'smerge-mode) ;; for smerge-keep-{all, upper, lower}
 
 ;;; 
 ;;; Public declarations
@@ -1747,15 +1747,11 @@ If a boolean function or variable, display its value."
 On a merge conflict marker, keep either the upper, both or the lower
 version of the conflict."
   (when (bound-and-true-p smerge-mode)
-(let (op)
-  (save-excursion
-(beginning-of-line)
-(cond ((looking-at smerge-end-re)
-   (setq op 'smerge-keep-lower))
-  ((looking-at smerge-begin-re)
-   (setq op 'smerge-keep-upper))
-  ((looking-at smerge-lower-re)
-   (setq op 'smerge-keep-all
+(let ((op (save-excursion
+(beginning-of-line)
+(cond ((looking-at smerge-end-re) #'smerge-keep-lower)
+  ((looking-at smerge-begin-re) #'smerge-keep-upper)
+  ((looking-at smerge-lower-re) #'smerge-keep-all)
   (when op
 (save-excursion
   (ibut:label-set (match-string-no-properties 0) (match-beginning 0) 
(match-end 0))
diff --git a/hywiki.el b/hywiki.el
index 80442df403..8d4c53c70d 100644
--- a/hywiki.el
+++ b/hywiki.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date:21-Acpr-24 at 22:41:13
-;; Last-Mod: 27-Apr-25 at 01:21:36 by Bob Weiner
+;; Last-Mod: 27-Apr-25 at 14:35:33 by Mats Lidell
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -3181,11 +3181,9 @@ a HyWikiWord at point."
 
 (defun hywiki-word-face-at-p (&optional pos)
   "Non-nil if but at point or optional POS has `hywiki-word-face' property."
-  (unless pos
-(setq pos (point)))
   ;; Sometimes this can return a left over button/overlay that points
   ;; to no buffer.  Ignore this case.
-  (hproperty:but-get pos 'face hywiki-word-face))
+  (hproperty:but-get (or pos (point)) 'face hywiki-word-face))
 
 ;;;###autoload
 (defun hywiki-word-consult-grep (word)



[elpa] externals/hyperbole 1b449389ab 4/4: Merge pull request #720 from rswgnu/rsw

2025-04-27 Thread ELPA Syncer
branch: externals/hyperbole
commit 1b449389ab9099bc2cde75f2071e851c1c97bd0b
Merge: f66c215da1 d9f0782392
Author: Robert Weiner 
Commit: GitHub 

Merge pull request #720 from rswgnu/rsw

hyrolo.el - disable hywiki-mode; hypb:in-string-p - save match data
---
 ChangeLog| 8 
 hypb.el  | 9 +
 hyrolo.el| 4 +++-
 hywiki.el| 2 +-
 test/hywiki-tests.el | 8 
 5 files changed, 21 insertions(+), 10 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index ad211c5cb9..e19aeca325 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -9,6 +9,14 @@
 
 2025-04-27  Bob Weiner  
 
+* hypb.el (hypb:in-string-p): Add missing 'save-match-data' so when used with
+another search, this does not overwrite the matches.  This fixes 
HyWikiWords
+in yanked regions not highlighting.
+
+* hyrolo.el (hyrolo-grep-file): Disable 'hywiki-mode' highlighting when reading
+in HyRolo search buffers to maintain speed and not have all the HyWikiWords
+distracting from matches found in the *HyRolo* match buffer.
+
 * test/hywiki-tests.el (hywiki-tests--save-referent-keyseries-use-menu): 
Rewrite
 and enable this test.
 
diff --git a/hypb.el b/hypb.el
index 80aab6ae5d..af1dc10cb8 100644
--- a/hypb.el
+++ b/hypb.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date: 6-Oct-91 at 03:42:38
-;; Last-Mod: 18-Apr-25 at 21:38:23 by Bob Weiner
+;; Last-Mod: 27-Apr-25 at 12:03:07 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -672,9 +672,10 @@ This will this install the Emacs helm package when needed."
 ;; Don't use `syntax-ppss' here as it fails to ignore backquoted
 ;; double quote characters in strings and doesn't work in
 ;; `change-log-mode' due to its syntax-table.
-(and (cl-oddp (count-matches "\\(^\\|[^\\]\\)\"" (point-min) (point)))
-(save-excursion (re-search-forward "\\(^\\|[^\\]\\)\"" nil t))
-t)))
+(save-match-data
+  (and (cl-oddp (count-matches "\\(^\\|[^\\]\\)\"" (point-min) (point)))
+  (save-excursion (re-search-forward "\\(^\\|[^\\]\\)\"" nil t))
+  t
 
 (defun hypb:indirect-function (obj)
   "Return the function at the end of OBJ's function chain.
diff --git a/hyrolo.el b/hyrolo.el
index 8a692451b5..ee39928599 100644
--- a/hyrolo.el
+++ b/hyrolo.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date: 7-Jun-89 at 22:08:29
-;; Last-Mod: 19-Feb-25 at 21:41:13 by Bob Weiner
+;; Last-Mod: 27-Apr-25 at 11:12:58 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -1984,6 +1984,8 @@ Return number of matching entries found."
   (setq hyrolo-match-regexp pattern)
   ;;
   (let ((actual-buf)
+   ;; Temporarily disable hywiki-mode for speed
+   (hywiki-mode)
;; Temporarily disable magit-auto-revert-mode-enable-in-buffers for 
hyrolo
;; buffers; not needed and can slow/hang file loading
(after-change-major-mode-hook
diff --git a/hywiki.el b/hywiki.el
index 8d4c53c70d..d3989eced4 100644
--- a/hywiki.el
+++ b/hywiki.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date:21-Acpr-24 at 22:41:13
-;; Last-Mod: 27-Apr-25 at 14:35:33 by Mats Lidell
+;; Last-Mod: 27-Apr-25 at 12:19:38 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
diff --git a/test/hywiki-tests.el b/test/hywiki-tests.el
index ab452ea9d2..abb3edf385 100644
--- a/test/hywiki-tests.el
+++ b/test/hywiki-tests.el
@@ -3,7 +3,7 @@
 ;; Author:   Mats Lidell
 ;;
 ;; Orig-Date:18-May-24 at 23:59:48
-;; Last-Mod: 27-Apr-25 at 02:47:39 by Bob Weiner
+;; Last-Mod: 27-Apr-25 at 10:11:50 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -781,9 +781,9 @@ body B
 (save-buffer))
   (with-current-buffer (find-file-noselect wikipage)
 (insert "\
-WikiWord
-WikiWord#Asection
-WikiWord#Bsection-subsection
+* WikiWord
+* WikiWord#Asection
+* WikiWord#Bsection-subsection
 ")
 (save-buffer))
 



[elpa] externals/hyperbole d9f0782392 3/4: hyrolo.el - disable hywiki-mode; hypb:in-string-p - save match data

2025-04-27 Thread ELPA Syncer
branch: externals/hyperbole
commit d9f07823920620cf748286f30a6e6bea830e27b4
Author: bw 
Commit: bw 

hyrolo.el - disable hywiki-mode; hypb:in-string-p - save match data
---
 ChangeLog| 8 
 hypb.el  | 9 +
 hyrolo.el| 4 +++-
 hywiki.el| 2 +-
 test/hywiki-tests.el | 8 
 5 files changed, 21 insertions(+), 10 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index ad211c5cb9..e19aeca325 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -9,6 +9,14 @@
 
 2025-04-27  Bob Weiner  
 
+* hypb.el (hypb:in-string-p): Add missing 'save-match-data' so when used with
+another search, this does not overwrite the matches.  This fixes 
HyWikiWords
+in yanked regions not highlighting.
+
+* hyrolo.el (hyrolo-grep-file): Disable 'hywiki-mode' highlighting when reading
+in HyRolo search buffers to maintain speed and not have all the HyWikiWords
+distracting from matches found in the *HyRolo* match buffer.
+
 * test/hywiki-tests.el (hywiki-tests--save-referent-keyseries-use-menu): 
Rewrite
 and enable this test.
 
diff --git a/hypb.el b/hypb.el
index 80aab6ae5d..af1dc10cb8 100644
--- a/hypb.el
+++ b/hypb.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date: 6-Oct-91 at 03:42:38
-;; Last-Mod: 18-Apr-25 at 21:38:23 by Bob Weiner
+;; Last-Mod: 27-Apr-25 at 12:03:07 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -672,9 +672,10 @@ This will this install the Emacs helm package when needed."
 ;; Don't use `syntax-ppss' here as it fails to ignore backquoted
 ;; double quote characters in strings and doesn't work in
 ;; `change-log-mode' due to its syntax-table.
-(and (cl-oddp (count-matches "\\(^\\|[^\\]\\)\"" (point-min) (point)))
-(save-excursion (re-search-forward "\\(^\\|[^\\]\\)\"" nil t))
-t)))
+(save-match-data
+  (and (cl-oddp (count-matches "\\(^\\|[^\\]\\)\"" (point-min) (point)))
+  (save-excursion (re-search-forward "\\(^\\|[^\\]\\)\"" nil t))
+  t
 
 (defun hypb:indirect-function (obj)
   "Return the function at the end of OBJ's function chain.
diff --git a/hyrolo.el b/hyrolo.el
index 8a692451b5..ee39928599 100644
--- a/hyrolo.el
+++ b/hyrolo.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date: 7-Jun-89 at 22:08:29
-;; Last-Mod: 19-Feb-25 at 21:41:13 by Bob Weiner
+;; Last-Mod: 27-Apr-25 at 11:12:58 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -1984,6 +1984,8 @@ Return number of matching entries found."
   (setq hyrolo-match-regexp pattern)
   ;;
   (let ((actual-buf)
+   ;; Temporarily disable hywiki-mode for speed
+   (hywiki-mode)
;; Temporarily disable magit-auto-revert-mode-enable-in-buffers for 
hyrolo
;; buffers; not needed and can slow/hang file loading
(after-change-major-mode-hook
diff --git a/hywiki.el b/hywiki.el
index 8d4c53c70d..d3989eced4 100644
--- a/hywiki.el
+++ b/hywiki.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date:21-Acpr-24 at 22:41:13
-;; Last-Mod: 27-Apr-25 at 14:35:33 by Mats Lidell
+;; Last-Mod: 27-Apr-25 at 12:19:38 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
diff --git a/test/hywiki-tests.el b/test/hywiki-tests.el
index ab452ea9d2..abb3edf385 100644
--- a/test/hywiki-tests.el
+++ b/test/hywiki-tests.el
@@ -3,7 +3,7 @@
 ;; Author:   Mats Lidell
 ;;
 ;; Orig-Date:18-May-24 at 23:59:48
-;; Last-Mod: 27-Apr-25 at 02:47:39 by Bob Weiner
+;; Last-Mod: 27-Apr-25 at 10:11:50 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -781,9 +781,9 @@ body B
 (save-buffer))
   (with-current-buffer (find-file-noselect wikipage)
 (insert "\
-WikiWord
-WikiWord#Asection
-WikiWord#Bsection-subsection
+* WikiWord
+* WikiWord#Asection
+* WikiWord#Bsection-subsection
 ")
 (save-buffer))
 



[elpa] externals/doc-view-follow 692b5f436f 1/2: Fix compatibility issue with follow-mode-prefix-key

2025-04-27 Thread ELPA Syncer
branch: externals/doc-view-follow
commit 692b5f436feebb74e1e69c96f9931d6a9eb8aace
Author: Paul Nelson 
Commit: Paul Nelson 

Fix compatibility issue with follow-mode-prefix-key

* doc-view-follow.el (doc-view-follow-mode-prefix-key)
(doc-view-follow--update-prefix-key): Use follow-mode-prefix-key if
available (Emacs 31+), else fall back to follow-mode-prefix.
---
 doc-view-follow.el | 32 +---
 1 file changed, 25 insertions(+), 7 deletions(-)

diff --git a/doc-view-follow.el b/doc-view-follow.el
index 9b78cc03ea..4570194070 100644
--- a/doc-view-follow.el
+++ b/doc-view-follow.el
@@ -69,20 +69,38 @@
   "n"   #'follow-next-window
   "p"   #'follow-previous-window)
 
-(defvar doc-view-follow-mode-prefix-key follow-mode-prefix-key
+(defvar doc-view-follow-mode-prefix-key
+  (cond ((boundp 'follow-mode-prefix-key)
+ (symbol-value 'follow-mode-prefix-key))
+((boundp 'follow-mode-prefix)
+ (key-description
+  (symbol-value 'follow-mode-prefix)))
+(t
+ nil))
   "Prefix key to use for follow commands in Doc View Follow mode.
-By default, this matches `follow-mode-prefix-key'.")
+By default, this matches `follow-mode-prefix-key' (Emacs 31+) or
+`follow-mode-prefix' (earlier Emacs versions).")
 
-(defun doc-view-follow--update-prefix-key (_sym newval op _where)
+(defun doc-view-follow--update-prefix-key (sym newval op _where)
   "Update doc-view-follow mode keymap when the prefix key changes.
-Called when `follow-mode-prefix-key' is customized."
+Called when `follow-mode-prefix-key' is customized.
+SYM is the symbol being changed, NEWVAL is the new value, and OP is
+the operation being performed."
   (when (and (eq op 'set) (boundp 'doc-view-follow-mode-map))
 (keymap-unset doc-view-follow-mode-map doc-view-follow-mode-prefix-key t)
-(setq doc-view-follow-mode-prefix-key newval)
-(keymap-set doc-view-follow-mode-map newval doc-view-follow-mode-submap)))
+(setq doc-view-follow-mode-prefix-key
+  (if (eq sym 'follow-mode-prefix)
+  (key-description newval)
+newval))
+(keymap-set doc-view-follow-mode-map
+doc-view-follow-mode-prefix-key
+doc-view-follow-mode-submap)))
 
 (add-variable-watcher
- 'follow-mode-prefix-key #'doc-view-follow--update-prefix-key)
+ (if (boundp 'follow-mode-prefix-key)
+ 'follow-mode-prefix-key
+   'follow-mode-prefix)
+ #'doc-view-follow--update-prefix-key)
 
 (defvar-keymap doc-view-follow-mode-map
   " " #'doc-view-follow-beginning-of-buffer



[elpa] externals/doc-view-follow updated (78f18efb3d -> 0393bfc9cd)

2025-04-27 Thread ELPA Syncer
elpasync pushed a change to branch externals/doc-view-follow.

  from  78f18efb3d Bump version to 0.3.1
   new  692b5f436f Fix compatibility issue with follow-mode-prefix-key
   new  0393bfc9cd * doc-view-follow.el: Bump version to 0.3.2


Summary of changes:
 doc-view-follow.el | 34 ++
 1 file changed, 26 insertions(+), 8 deletions(-)



[elpa] externals/org fefc6711b3 2/2: org-src-font-lock-fontify-block: Gracefully recover from fontification failure

2025-04-27 Thread ELPA Syncer
branch: externals/org
commit fefc6711b30e20b067432483977161f91b66e12a
Author: Ihor Radchenko 
Commit: Ihor Radchenko 

org-src-font-lock-fontify-block: Gracefully recover from fontification 
failure

* lisp/org-src.el (org-src-font-lock-fontify-block): When native
fontification fails for any reason (it may depend on user
configuration, for example), do not abort fontifying the Org buffer,
but just drop a message and skip fontifying a given src block.

Reported-by: Jordan Ellis Coppard 
Link: https://orgmode.org/list/m234dy2b18@wz.ht
---
 lisp/org-src.el | 137 +---
 1 file changed, 72 insertions(+), 65 deletions(-)

diff --git a/lisp/org-src.el b/lisp/org-src.el
index a39a4066bd..2b2dab7725 100644
--- a/lisp/org-src.el
+++ b/lisp/org-src.el
@@ -669,71 +669,78 @@ as `org-src-fontify-natively' is non-nil."
 (remove-text-properties start end '(face nil))
 (let ((lang-mode (org-src-get-lang-mode lang)))
   (when (fboundp lang-mode)
-(let ((string (buffer-substring-no-properties start end))
- (org-buffer (current-buffer)))
- (with-current-buffer
- (get-buffer-create
-  (format " *org-src-fontification:%s*" lang-mode))
-   (let ((inhibit-modification-hooks nil))
- (erase-buffer)
- ;; Add string and a final space to ensure property change.
- (insert string " "))
-   (unless (eq major-mode lang-mode) (funcall lang-mode))
-(setq native-tab-width tab-width)
-(font-lock-ensure)
-   (let ((pos (point-min)) next
- ;; Difference between positions here and in org-buffer.
- (offset (- start (point-min
- (while (setq next (next-property-change pos))
-   ;; Handle additional properties from font-lock, so as to
-   ;; preserve, e.g., composition.
-;; FIXME: We copy 'font-lock-face property explicitly because
-;; `font-lock-mode' is not enabled in the buffers starting from
-;; space and the remapping between 'font-lock-face and 'face
-;; text properties may thus not be set.  See commit
-;; 453d634bc.
-   (dolist (prop (append '(font-lock-face face) 
font-lock-extra-managed-props))
- (let ((new-prop (get-text-property pos prop)))
-(when new-prop
-  (if (not (eq prop 'invisible))
- (put-text-property
-  (+ offset pos) (+ offset next) prop new-prop
-  org-buffer)
-;; Special case.  `invisible' text property may
-;; clash with Org folding.  Do not assign
-;; `invisible' text property directly.  Use
-;; property alias instead.
-(let ((invisibility-spec
-   (or
-;; ATOM spec.
-(and (memq new-prop buffer-invisibility-spec)
- new-prop)
-;; (ATOM . ELLIPSIS) spec.
-(assq new-prop buffer-invisibility-spec
-  (with-current-buffer org-buffer
-;; Add new property alias.
-(unless (memq 'org-src-invisible
-  (cdr (assq 'invisible 
char-property-alias-alist)))
-  (setq-local
-   char-property-alias-alist
-   (cons (cons 'invisible
-  (nconc (cdr (assq 'invisible 
char-property-alias-alist))
-  '(org-src-invisible)))
-(remove (assq 'invisible 
char-property-alias-alist)
-char-property-alias-alist
-;; Carry over the invisibility spec, unless
-;; already present.  Note that there might
-;; be conflicting invisibility specs from
-;; different major modes.  We cannot do much
-;; about this then.
-(when invisibility-spec
-  (add-to-invisibility-spec invisibility-spec))
-(put-text-property
-(+ offset pos) (+ offset next)
- 'org-src-invisible new-prop
-org-buffer)))
-   (setq pos next)))
-(set-buffer-modified-p nil)
+(condition-case nil
+(let ((string (buffer-substring-no-properties start end))
+ 

[elpa] externals/org-modern 032201b591: org-modern-hide-stars: Do not hide stars when org-indent-mode is enabled

2025-04-27 Thread ELPA Syncer
branch: externals/org-modern
commit 032201b5916297f20e254e78993676d8bb41066d
Author: Daniel Mendler 
Commit: Daniel Mendler 

org-modern-hide-stars: Do not hide stars when org-indent-mode is enabled
---
 CHANGELOG.org |  3 ++-
 org-modern.el | 29 ++---
 2 files changed, 20 insertions(+), 12 deletions(-)

diff --git a/CHANGELOG.org b/CHANGELOG.org
index 59f4d9acf3..244b5642b1 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -4,7 +4,8 @@
 
 * Development
 
-- Add ~org-modern-habit~ face to improve habit progress fontification.
+- ~org-modern-habit~: New face to improve habit progress fontification.
+- ~org-modern-hide-stars~: Automatically disable if ~org-indent-mode~ is 
enabled.
 
 * Version 1.7 (2025-03-11)
 
diff --git a/org-modern.el b/org-modern.el
index 1ce6688771..9af0c9924c 100644
--- a/org-modern.el
+++ b/org-modern.el
@@ -75,8 +75,9 @@ tree is folded or expanded."
 
 (defcustom org-modern-hide-stars 'leading
   "Changes the displays of the stars.
-Can be leading, t, or a string/character replacement for each
-leading star.  Set to nil to disable."
+Can be leading, t, or a string/character replacement for each leading
+star.  Set to nil to disable.  This feature is automatically disabled if
+`org-indent-mode' is enabled."
   :type '(choice
   (string :tag "Replacement string for leading stars")
   (character :tag "Replacement character for leading stars")
@@ -220,9 +221,10 @@ all other blocks."
 
 (defcustom org-modern-block-fringe 2
   "Add a border to the blocks in the fringe.
-This variable can also be set to an integer between 0 and 16,
-which specifies the offset of the block border from the edge of
-the window."
+This variable can also be set to an integer between 0 and 16, which
+specifies the offset of the block border from the edge of the
+window.  This feature is automatically disabled if `org-indent-mode' is
+enabled."
   :type '(choice boolean natnum))
 
 (defcustom org-modern-keyword t
@@ -531,17 +533,19 @@ the font.")
   "Prettify headline stars."
   (let* ((beg (match-beginning 1))
  (end (match-end 1))
- (level (- end beg)))
+ (level (- end beg))
+ (hide-leading (and (eq org-modern-hide-stars 'leading)
+(not (bound-and-true-p org-indent-mode)
 (when (and org-modern--hide-stars-cache (not (eq beg end)))
   (cl-loop for i from beg below end do
(put-text-property i (1+ i) 'display
   (nth (logand i 1)
org-modern--hide-stars-cache
 (when org-modern-star
-  (when (and (eq org-modern-hide-stars 'leading) org-hide-leading-stars)
+  (when (and hide-leading org-hide-leading-stars)
 (put-text-property beg (1+ end) 'face (get-text-property end 'face)))
   (put-text-property
-   (if (eq org-modern-hide-stars 'leading) beg end)
+   (if hide-leading beg end)
(1+ end) 'display
(let ((cache (if (and org-modern--folded-star-cache
  (org-invisible-p (pos-eol)))
@@ -727,9 +731,11 @@ whole buffer; otherwise, for the line at point."
(when org-modern-checkbox
  `((,org-list-full-item-re
 (3 (org-modern--checkbox) nil t
-   (when (or org-modern-star org-modern-hide-stars)
+   (when (or org-modern-star (and org-modern-hide-stars
+  (not (bound-and-true-p org-indent-mode
  `(("^\\(\\**\\)\\* "
-(0 ,(if (eq org-modern-hide-stars t)
+(0 ,(if (and (eq org-modern-hide-stars t)
+ (not (bound-and-true-p org-indent-mode)))
 ''(face nil invisible org-modern)
   '(org-modern--star))
(when org-modern-horizontal-rule
@@ -842,7 +848,8 @@ whole buffer; otherwise, for the line at point."
 (mapcar #'cdr 
org-modern-fold-stars)
   org-modern-replace-stars
  org-modern--hide-stars-cache
- (and (char-or-string-p org-modern-hide-stars)
+ (and (and (char-or-string-p org-modern-hide-stars)
+   (not (bound-and-true-p org-indent-mode)))
   (list (org-modern--symbol org-modern-hide-stars)
 (org-modern--symbol org-modern-hide-stars)))
  org-modern--checkbox-cache



[elpa] externals/org 231a81f4b6 1/2: org-fontify-meta-lines-and-block: Do not use `condition-case-unless-debug'

2025-04-27 Thread ELPA Syncer
branch: externals/org
commit 231a81f4b66722385ea491f07423c5fe6c0b825a
Author: Ihor Radchenko 
Commit: Ihor Radchenko 

org-fontify-meta-lines-and-block: Do not use `condition-case-unless-debug'

* lisp/org.el (org-fontify-meta-lines-and-blocks): Revert previous
change from `condition-case' to `condition-case-unless-debug'.  During
fontification, all the error are anyway showed away, so users who are
permanently running with `debug-on-error' may experience more severe
breakdown of the fontification - it may be completely stopped
vs. failing just for blocks.
---
 lisp/org.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lisp/org.el b/lisp/org.el
index ee1e4b4b7e..49f5c00c6d 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -5512,7 +5512,7 @@ by a #."
   :group 'org-appearance)
 
 (defun org-fontify-meta-lines-and-blocks (limit)
-  (condition-case-unless-debug nil
+  (condition-case nil
   (org-fontify-meta-lines-and-blocks-1 limit)
 (error (message "Org mode fontification error in %S at %d"
(current-buffer)



[elpa] externals/org updated (829b3556d7 -> fefc6711b3)

2025-04-27 Thread ELPA Syncer
elpasync pushed a change to branch externals/org.

  from  829b3556d7 Improve support for weekday-less timestamps
   new  231a81f4b6 org-fontify-meta-lines-and-block: Do not use 
`condition-case-unless-debug'
   new  fefc6711b3 org-src-font-lock-fontify-block: Gracefully recover from 
fontification failure


Summary of changes:
 lisp/org-src.el | 137 +---
 lisp/org.el |   2 +-
 2 files changed, 73 insertions(+), 66 deletions(-)



[nongnu] elpa/helm d8f260235b: Change default value of helm-M-x-exclude-unusable-commands-in-mode

2025-04-27 Thread ELPA Syncer
branch: elpa/helm
commit d8f260235bad16a496c0f54cb22edd24c75944c3
Author: Thierry Volpiatto 
Commit: Thierry Volpiatto 

Change default value of helm-M-x-exclude-unusable-commands-in-mode

It is now enabled by default.
---
 helm-command.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/helm-command.el b/helm-command.el
index 4def7f198f..ae276a13b5 100644
--- a/helm-command.el
+++ b/helm-command.el
@@ -59,7 +59,7 @@ This value can be toggled with
   "When nil, do not sort helm-M-x's commands history."
   :type 'boolean)
 
-(defcustom helm-M-x-exclude-unusable-commands-in-mode nil
+(defcustom helm-M-x-exclude-unusable-commands-in-mode t
   "When non nil exclude commands not usable in current buffer.
 This will exclude only commands defined with `interactive' MODES argument, for
 other commands, they will be displayed even if unusable as long as they 
satisfies



[nongnu] elpa/vm 6ada98940a 8/8: Merge branch 'main' into 'main'

2025-04-27 Thread ELPA Syncer
branch: elpa/vm
commit 6ada98940a73108744e7bbfc8831eda7eb5ec64a
Merge: 1e96a3c67b b845c4b1d4
Author: Mark Diekhans 
Commit: Mark Diekhans 

Merge branch 'main' into 'main'

switch to storing version and commit in a generate .el instead of text 
files...

Closes #312

See merge request emacs-vm/vm!40
---
 .gitignore |  12 +-
 .../design}/elp-stuff-folder-data.txt  |   0
 {design => dev-docs/design}/passwords.org  |   0
 {design => dev-docs/design}/threading.txt  |   0
 {design => dev-docs/design}/virtual-revolution.txt |   0
 dev-docs/releasing.org |   3 +
 dev-tools/autoloads.py | 123 
 getversion.sh  |  26 -
 lisp/Makefile.in   |  31 ++---
 lisp/autoloads.py  | 126 -
 lisp/vm-version.el |  75 ++--
 lisp/vm.el |   8 +-
 12 files changed, 190 insertions(+), 214 deletions(-)

diff --git a/.gitignore b/.gitignore
index a82fb359c3..af79030249 100644
--- a/.gitignore
+++ b/.gitignore
@@ -12,7 +12,6 @@ qp-decode.exe
 qp-encode.exe
 *.info*
 *.diff
-*.patch
 *.log
 *.aux
 *.cp*
@@ -37,12 +36,6 @@ config.status
 configure
 release
 snapshot
-info/version.texinfo
-lisp/version.txt
-/lisp/vm-autoloads.el
-/vm-autoloads.el
-/vm-pkg.el
-lisp/vm-cus-load.el
 *.orig
 *.rej
 *.saved
@@ -50,4 +43,9 @@ package-info
 _pkg.el
 commit.msg
 
+/info/version.texinfo
+/lisp/vm-autoloads.el
+/lisp/vm-version-conf.el
+/lisp/vm-cus-load.el
+
 .emacs.bak/
diff --git a/design/elp-stuff-folder-data.txt 
b/dev-docs/design/elp-stuff-folder-data.txt
similarity index 100%
rename from design/elp-stuff-folder-data.txt
rename to dev-docs/design/elp-stuff-folder-data.txt
diff --git a/design/passwords.org b/dev-docs/design/passwords.org
similarity index 100%
rename from design/passwords.org
rename to dev-docs/design/passwords.org
diff --git a/design/threading.txt b/dev-docs/design/threading.txt
similarity index 100%
rename from design/threading.txt
rename to dev-docs/design/threading.txt
diff --git a/design/virtual-revolution.txt 
b/dev-docs/design/virtual-revolution.txt
similarity index 100%
rename from design/virtual-revolution.txt
rename to dev-docs/design/virtual-revolution.txt
diff --git a/dev-docs/releasing.org b/dev-docs/releasing.org
new file mode 100644
index 00..f74ac2c40f
--- /dev/null
+++ b/dev-docs/releasing.org
@@ -0,0 +1,3 @@
+Releasing VM
+
+
diff --git a/dev-tools/autoloads.py b/dev-tools/autoloads.py
new file mode 100755
index 00..34a06f28b3
--- /dev/null
+++ b/dev-tools/autoloads.py
@@ -0,0 +1,123 @@
+#!/usr/bin/env python3
+# -*- python -*-
+
+##
+# program to find missing autoload tokens.
+##
+
+import sys
+
+def identifier_start(string, startpos=0):
+# print string, startpos
+while (startpos < len(string) and
+   ("() \t\r\n.,".find(string[startpos]) != -1)):
+startpos = startpos + 1
+return startpos
+
+def identifier_end(string, startpos=0):
+# print string, startpos
+while (startpos < len(string) and
+   ("() \t\r\n.,".find(string[startpos]) == -1)):
+startpos = startpos + 1
+return startpos
+
+class Def:
+def __init__(self, filename, lineno, autoload, symbol):
+self.filename = filename
+self.lineno = lineno
+self.autoload = autoload
+self.symbol = symbol
+
+def __str__(self):
+return ("%s:%d %s %s" % (self.filename,
+ self.lineno,
+ self.symbol,
+ self.autoload))
+
+def find_defs(filename, pattern="(defun", pos=0):
+"""Find definitions of pattern in the given file.
+Returns defined symbols."""
+symbols = []
+
+fd = open(filename)
+lineno = 0
+autoload = False
+for l in fd:
+lineno = lineno + 1
+if l.startswith(";;;###autoload"):
+autoload = True
+continue
+s = l.find(pattern)
+if s == -1 or s != pos:
+continue
+s = identifier_start(l, s + len(pattern))
+while "() \t\r\n.,".find(l[s]) != -1:
+s = s + 1
+e = identifier_end(l, s)
+if s == e:
+raise "Could not find identifier end in " + repr(l)
+continue
+symbols.append(Def(filename, lineno, autoload, l[s: e]))
+autoload = False
+fd.close()
+return symbols
+
+preloaded = ["vm-version.el", "vm-misc.el", "vm-macro.el", "vm-folder.el",
+ "vm-summary.el", "vm-minibuf.el", "vm-motion.el", "vm-page.el",
+ "vm-mouse.el", "vm-window.el", "vm-menu.el", "vm-message.el",
+ "vm-toolbar.el", "vm.el", "vm-undo.el", "vm-mime.el",
+ "vm-vars.el"]
+
+def check_calls(filename, fu

[nongnu] elpa/vm 11eac8b74f 1/8: a bit of reorg for developer doc and tools

2025-04-27 Thread ELPA Syncer
branch: elpa/vm
commit 11eac8b74f8af3793743286e82b5c200dd708e17
Author: Mark Diekhans 
Commit: Mark Diekhans 

a bit of reorg for developer doc and tools
---
 .gitignore|  3 +--
 {design => dev-docs/design}/elp-stuff-folder-data.txt |  0
 {design => dev-docs/design}/passwords.org |  0
 {design => dev-docs/design}/threading.txt |  0
 {design => dev-docs/design}/virtual-revolution.txt|  0
 dev-docs/releasing.org|  3 +++
 {lisp => dev-tools}/autoloads.py  | 16 +---
 7 files changed, 13 insertions(+), 9 deletions(-)

diff --git a/.gitignore b/.gitignore
index a82fb359c3..104bfff898 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,4 @@
-*.elc
+s*.elc
 TAGS
 configure.lineno
 ChangeLog
@@ -12,7 +12,6 @@ qp-decode.exe
 qp-encode.exe
 *.info*
 *.diff
-*.patch
 *.log
 *.aux
 *.cp*
diff --git a/design/elp-stuff-folder-data.txt 
b/dev-docs/design/elp-stuff-folder-data.txt
similarity index 100%
rename from design/elp-stuff-folder-data.txt
rename to dev-docs/design/elp-stuff-folder-data.txt
diff --git a/design/passwords.org b/dev-docs/design/passwords.org
similarity index 100%
rename from design/passwords.org
rename to dev-docs/design/passwords.org
diff --git a/design/threading.txt b/dev-docs/design/threading.txt
similarity index 100%
rename from design/threading.txt
rename to dev-docs/design/threading.txt
diff --git a/design/virtual-revolution.txt 
b/dev-docs/design/virtual-revolution.txt
similarity index 100%
rename from design/virtual-revolution.txt
rename to dev-docs/design/virtual-revolution.txt
diff --git a/dev-docs/releasing.org b/dev-docs/releasing.org
new file mode 100644
index 00..f74ac2c40f
--- /dev/null
+++ b/dev-docs/releasing.org
@@ -0,0 +1,3 @@
+Releasing VM
+
+
diff --git a/lisp/autoloads.py b/dev-tools/autoloads.py
similarity index 96%
rename from lisp/autoloads.py
rename to dev-tools/autoloads.py
index b7ebec2611..8c779a0e2d 100755
--- a/lisp/autoloads.py
+++ b/dev-tools/autoloads.py
@@ -1,6 +1,10 @@
 #!/usr/bin/python
 # -*- python -*-
 
+##
+# program to find missing autoload tokens.
+##
+
 import sys
 
 def identifier_start(string, startpos=0):
@@ -48,7 +52,7 @@ def find_defs(filename, pattern="(defun", pos=0):
s = identifier_start(l, s + len(pattern))
while "() \t\r\n.,".find(l[s]) != -1:
s = s + 1
-   e = identifier_end(l, s) 
+   e = identifier_end(l, s)
if s == e:
raise "Could not find identifier end in " + repr(l)
continue
@@ -79,12 +83,12 @@ def check_calls(filename, funs, missing):
required.append(l[s:e] + ".el")
#print required
continue
-  
+
# check for calls to external function without autoloads or require
for c in l.split("("):
s = identifier_start(c, 0)
e = identifier_end(c, s)
-   
+
#print repr(c)
s = identifier_start(c, 0)
e = identifier_end(c, s)
@@ -104,9 +108,9 @@ def check_calls(filename, funs, missing):
if f not in  missing[d.filename]:
missing[d.filename].append(f)
 fd.close()
-
 
-# emit cross references with missing autoloads 
+
+# emit cross references with missing autoloads
 if __name__ == '__main__':
 funs = {}
 for filename in sys.argv[3:]:
@@ -122,5 +126,3 @@ if __name__ == '__main__':
print f
for m in missing[f]:
print "\t", m
-   
-



[nongnu] elpa/vm c0243a1903 5/8: switch to storing version and commit in a generate .el instead of text files to parse. Includes untest code to get version from package manager if installed as a packa

2025-04-27 Thread ELPA Syncer
branch: elpa/vm
commit c0243a1903a48ab85d2ad2c3a9e0c3ec0f350485
Author: Mark Diekhans 
Commit: Mark Diekhans 

switch to storing version and commit in a generate .el instead of text 
files to parse.  Includes untest code to get version from package manager if 
installed as a package
---
 .gitignore | 13 ++-
 lisp/Makefile.in   | 19 
 lisp/vm-version.el | 63 +++---
 lisp/vm.el |  8 ++-
 4 files changed, 58 insertions(+), 45 deletions(-)

diff --git a/.gitignore b/.gitignore
index 104bfff898..af79030249 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,4 @@
-s*.elc
+*.elc
 TAGS
 configure.lineno
 ChangeLog
@@ -36,12 +36,6 @@ config.status
 configure
 release
 snapshot
-info/version.texinfo
-lisp/version.txt
-/lisp/vm-autoloads.el
-/vm-autoloads.el
-/vm-pkg.el
-lisp/vm-cus-load.el
 *.orig
 *.rej
 *.saved
@@ -49,4 +43,9 @@ package-info
 _pkg.el
 commit.msg
 
+/info/version.texinfo
+/lisp/vm-autoloads.el
+/lisp/vm-version-conf.el
+/lisp/vm-cus-load.el
+
 .emacs.bak/
diff --git a/lisp/Makefile.in b/lisp/Makefile.in
index c4dcdbc257..1c3e0cc4ec 100644
--- a/lisp/Makefile.in
+++ b/lisp/Makefile.in
@@ -59,6 +59,7 @@ SOURCES += vm-virtual.el
 SOURCES += vm-window.el
 SOURCES += vm-w3m.el
 SOURCES += vm-w3.el
+SOURCES += vm-version-conf.el
 
 SOURCES += vcard.el
 SOURCES += tapestry.el
@@ -127,14 +128,15 @@ $(OBJECTS): $(AUTOLOADS)
 install: install-el install-elc install-aux
 
 ##
-vm-version.elc: vm-version.el version.txt
-
-version.txt:
-   echo "$(PACKAGE_VERSION)" > $@.tmp
+# Create file with version and commit
+vm-version-conf.el: Makefile
+   echo ";;; Generated file do not commit " > $@.tmp
+   echo '(defconst vm-version-config "'"$(PACKAGE_VERSION)"'")' >> $@.tmp
if [ -d "$(GIT_DIR)" ]; then \
-   $(GIT) --git-dir="$(GIT_DIR)" rev-parse HEAD >> $@.tmp; \
+   commit=`$(GIT) --git-dir="$(GIT_DIR)" rev-parse HEAD`; \
+   echo '(defconst vm-version-commit-config "'"$${commit}"'")' >> 
$@.tmp ; \
else \
-   echo "unknown" >> $@.tp; \
+   echo '(defconst vm-version-commit-config "unknown")' >> $@.tmp 
; \
fi
mv -f $@.tmp $@
 
@@ -169,9 +171,6 @@ vm-cus-load.el: $(SOURCES:%=@srcdir@/%)
 # XEmacs#s auto-autoloads and custom-load file
 auto-autoloads.el: $(SOURCES:%=@srcdir@/%)
-$(RM) -f $@
-#  (build_dir=`pwd`; cd "@srcdir@"; \
-#   $(EMACS_PROG) $(FLAGS) -l autoload \
-#  -f vm-built-autoloads "@abs_builddir@/$@" "`pwd`")
$(EMACS_COMP) \
 -eval "$(AUTOLOAD_PACKAGE_NAME)" \
 -eval "$(AUTOLOAD_FILE)" \
@@ -255,7 +254,7 @@ Makefile: @srcdir@/Makefile.in
 
 ##
 clean:
-   -$(RM) -f version.txt *.elc vm-autoloads.el auto-autoloads.el 
custom-load.el
+   -$(RM) -f vm-version-conf.el *.elc vm-autoloads.el auto-autoloads.el 
custom-load.el
 
 distclean: clean
-$(RM) -f Makefile vm-cus-load.el
diff --git a/lisp/vm-version.el b/lisp/vm-version.el
index 0fece92b4f..dd28db7643 100644
--- a/lisp/vm-version.el
+++ b/lisp/vm-version.el
@@ -21,50 +21,59 @@
 ;;; Code:
 
 (require 'vm-macro)
+(require 'package)
 
 ;; Don't use vm-device-type here because it may not not be loaded yet.
 (declare-function device-type "vm-xemacs" ())
 (declare-function device-matching-specifier-tag-list "vm-xemacs" ())
 
-(defun vm-read-version-file (file-name line-number)
-  "Read the a line from of FILE-NAME, remove all whitespace, and return it as 
a string.
-Returns \"undefined\" if the file cannot be read."
-  (let ((file-path (expand-file-name
-file-name
-(and load-file-name (file-name-directory 
load-file-name)
-(condition-case nil
-(with-temp-buffer
-  (insert-file-contents-literally file-path)
-  (goto-char (point-min))
-  (forward-line (1- line-number))
-  (replace-regexp-in-string "\\s-" "" ; Remove all whitespace
-(buffer-substring-no-properties
-  (line-beginning-position) 
(line-end-position
-  (file-error "undefined"
-
-(defconst vm-version (vm-read-version-file "version.txt" 1)
-  "Version number of VM.")
+(defun vm--version-info-from-conf ()
+  "Return version and commit from vm-version-conf.el if it exists."
+  (when (ignore-errors (load "vm-version-conf"))
+(list vm-version-config vm-version-commit-config)))
+
+(defun vm--commit-from-package (pkg)
+  "Get commit hash from PKG, whether VC-installed or archive-installed."
+  (let ((desc (package-get-descriptor pkg)))
+(or (when (package-vc-p desc)
+  (package-vc-commit desc))
+(alist-get :commit (package-desc-extras desc)
+
+(defun vm--version-info-from-package

[nongnu] elpa/vm updated (1e96a3c67b -> 6ada98940a)

2025-04-27 Thread ELPA Syncer
elpasync pushed a change to branch elpa/vm.

  from  1e96a3c67b Merge branch 'main' into 'main'
   new  11eac8b74f a bit of reorg for developer doc and tools
   new  e4f13c0d36 convert autoload find program to python3
   new  82a005ce9d Merge branch vm:main into main
   new  8803391d81 remove old shell script to get bzr version
   new  c0243a1903 switch to storing version and commit in a generate .el 
instead of text files to parse.  Includes untest code to get version from 
package manager if installed as a package
   new  913ae6ed4b fixed regression in install
   new  b845c4b1d4 use a message rather than an warn if version or commit 
is not avaliable
   new  6ada98940a Merge branch 'main' into 'main'


Summary of changes:
 .gitignore |  12 +-
 .../design}/elp-stuff-folder-data.txt  |   0
 {design => dev-docs/design}/passwords.org  |   0
 {design => dev-docs/design}/threading.txt  |   0
 {design => dev-docs/design}/virtual-revolution.txt |   0
 dev-docs/releasing.org |   3 +
 dev-tools/autoloads.py | 123 
 getversion.sh  |  26 -
 lisp/Makefile.in   |  31 ++---
 lisp/autoloads.py  | 126 -
 lisp/vm-version.el |  75 ++--
 lisp/vm.el |   8 +-
 12 files changed, 190 insertions(+), 214 deletions(-)
 rename {design => dev-docs/design}/elp-stuff-folder-data.txt (100%)
 rename {design => dev-docs/design}/passwords.org (100%)
 rename {design => dev-docs/design}/threading.txt (100%)
 rename {design => dev-docs/design}/virtual-revolution.txt (100%)
 create mode 100644 dev-docs/releasing.org
 create mode 100755 dev-tools/autoloads.py
 delete mode 100755 getversion.sh
 delete mode 100755 lisp/autoloads.py



[nongnu] elpa/vm e4f13c0d36 2/8: convert autoload find program to python3

2025-04-27 Thread ELPA Syncer
branch: elpa/vm
commit e4f13c0d36ae209eea0cf02ca11b234b4ee2d017
Author: Mark Diekhans 
Commit: Mark Diekhans 

convert autoload find program to python3
---
 dev-tools/autoloads.py | 155 -
 1 file changed, 75 insertions(+), 80 deletions(-)

diff --git a/dev-tools/autoloads.py b/dev-tools/autoloads.py
index 8c779a0e2d..34a06f28b3 100755
--- a/dev-tools/autoloads.py
+++ b/dev-tools/autoloads.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/env python3
 # -*- python -*-
 
 ##
@@ -8,30 +8,31 @@
 import sys
 
 def identifier_start(string, startpos=0):
-#print string, startpos
+# print string, startpos
 while (startpos < len(string) and
-  ("() \t\r\n.,".find(string[startpos]) != -1)):
-   startpos = startpos + 1
+   ("() \t\r\n.,".find(string[startpos]) != -1)):
+startpos = startpos + 1
 return startpos
 
 def identifier_end(string, startpos=0):
-#print string, startpos
+# print string, startpos
 while (startpos < len(string) and
-  ("() \t\r\n.,".find(string[startpos]) == -1)):
-   startpos = startpos + 1
+   ("() \t\r\n.,".find(string[startpos]) == -1)):
+startpos = startpos + 1
 return startpos
 
 class Def:
 def __init__(self, filename, lineno, autoload, symbol):
-   self.filename = filename
-   self.lineno = lineno
-   self.autoload = autoload
-   self.symbol = symbol
+self.filename = filename
+self.lineno = lineno
+self.autoload = autoload
+self.symbol = symbol
+
 def __str__(self):
-   return ("%s:%d %s %s" % (self.filename,
-self.lineno,
-self.symbol,
-self.autoload))
+return ("%s:%d %s %s" % (self.filename,
+ self.lineno,
+ self.symbol,
+ self.autoload))
 
 def find_defs(filename, pattern="(defun", pos=0):
 """Find definitions of pattern in the given file.
@@ -42,87 +43,81 @@ def find_defs(filename, pattern="(defun", pos=0):
 lineno = 0
 autoload = False
 for l in fd:
-   lineno = lineno + 1
-   if l.startswith(";;;###autoload"):
-   autoload = True
-   continue
-   s = l.find(pattern)
-   if s == -1 or s != pos:
-   continue
-   s = identifier_start(l, s + len(pattern))
-   while "() \t\r\n.,".find(l[s]) != -1:
-   s = s + 1
-   e = identifier_end(l, s)
-   if s == e:
-   raise "Could not find identifier end in " + repr(l)
-   continue
-   #print s, e
-   #print l[s : e]
-   symbols.append(Def(filename, lineno, autoload, l[s : e]))
-   autoload = False
+lineno = lineno + 1
+if l.startswith(";;;###autoload"):
+autoload = True
+continue
+s = l.find(pattern)
+if s == -1 or s != pos:
+continue
+s = identifier_start(l, s + len(pattern))
+while "() \t\r\n.,".find(l[s]) != -1:
+s = s + 1
+e = identifier_end(l, s)
+if s == e:
+raise "Could not find identifier end in " + repr(l)
+continue
+symbols.append(Def(filename, lineno, autoload, l[s: e]))
+autoload = False
 fd.close()
 return symbols
 
 preloaded = ["vm-version.el", "vm-misc.el", "vm-macro.el", "vm-folder.el",
-"vm-summary.el", "vm-minibuf.el", "vm-motion.el", "vm-page.el",
-"vm-mouse.el", "vm-window.el", "vm-menu.el", "vm-message.el",
-"vm-toolbar.el", "vm.el", "vm-undo.el", "vm-mime.el",
-"vm-vars.el"]
+ "vm-summary.el", "vm-minibuf.el", "vm-motion.el", "vm-page.el",
+ "vm-mouse.el", "vm-window.el", "vm-menu.el", "vm-message.el",
+ "vm-toolbar.el", "vm.el", "vm-undo.el", "vm-mime.el",
+ "vm-vars.el"]
 
 def check_calls(filename, funs, missing):
-#print "-" * 50
-#print filename
 fd = open(filename)
 required = []
 for l in fd:
-   s = l.find("(require")
-   if s != -1:
-   s = identifier_start(l, s + len("(require '" ))
-   e = identifier_end(l, s)
-   #print l[s:e], "*" * 50
-   required.append(l[s:e] + ".el")
-   #print required
-   continue
+s = l.find("(require")
+if s != -1:
+s = identifier_start(l, s + len("(require '"))
+e = identifier_end(l, s)
+required.append(l[s:e] + ".el")
+continue
 
-   # check for calls to external function without autoloads or require
-   for c in l.split("("):
-   s = identifier_start(c, 0)
-   e = identifier_end(c, s)
+# check for calls to external function without autoloads or require
+for c in l.split("("):
+s = identifier_start(c, 0)
+e = identifier_end(c, s)
 

[nongnu] elpa/vm 8803391d81 4/8: remove old shell script to get bzr version

2025-04-27 Thread ELPA Syncer
branch: elpa/vm
commit 8803391d81a00b40e8050cdb4717811045632f2f
Author: Mark Diekhans 
Commit: Mark Diekhans 

remove old shell script to get bzr version
---
 getversion.sh | 26 --
 1 file changed, 26 deletions(-)

diff --git a/getversion.sh b/getversion.sh
deleted file mode 100755
index 277bf7e037..00
--- a/getversion.sh
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/usr/bin/env bash
-# -*- shell-script -*-
-
-bzr="bzr --no-plugins --no-aliases"
-$bzr rocks > /dev/null || (echo "ERROR: cannot run bzr." && exit 1)
-nick=`$bzr nick`
-news=NEWS
-#news=`$bzr root`/NEWS
-tag=vm-`head -1 $news | cut -c 4-`
-devo=`head -1 $news | fgrep -s devo > /dev/null && echo devo`
-revno=`$bzr revno`
-
-if [ "$devo" = "devo" ] ; then
-  rdir=$tag-$revno
-  version=$rdir
-else
-  tag=(`$bzr tags --sort=time | tail -1`)
-  if [ "${tag[1]}" != "$revno" ]; then
-echo "ERROR: No tag present at the head revision."
-echo "ERROR: First you must create a release tag!"
-exit -1
-  fi
-  tag=${tag[0]}
-  rdir=$tag
-  version=$tag
-fi



[nongnu] elpa/vm 913ae6ed4b 6/8: fixed regression in install

2025-04-27 Thread ELPA Syncer
branch: elpa/vm
commit 913ae6ed4b4f026e77f1772d36e18e2deb4924cb
Author: Mark Diekhans 
Commit: Mark Diekhans 

fixed regression in install
---
 lisp/Makefile.in | 12 +---
 1 file changed, 1 insertion(+), 11 deletions(-)

diff --git a/lisp/Makefile.in b/lisp/Makefile.in
index 1c3e0cc4ec..aea42e8409 100644
--- a/lisp/Makefile.in
+++ b/lisp/Makefile.in
@@ -76,10 +76,7 @@ xemacs_OBJECTS = auto-autoloads.elc custom-load.elc
 
 OBJECTS = ${@EMACS_FLAVOR@_OBJECTS} $(SOURCES:.el=.elc)
 
-AUX_FILES = version.txt
-
 INSTALL_FILES += $(OBJECTS:.elc=.el) $(OBJECTS)
-INSTALL_FILES += $(AUX_FILES)
 
 # for autoload generation
 AUTOLOAD_PACKAGE_NAME = (setq autoload-package-name \"vm\")
@@ -125,7 +122,7 @@ all: $(OBJECTS)
 
 $(OBJECTS): $(AUTOLOADS)
 
-install: install-el install-elc install-aux
+install: install-el install-elc
 
 ##
 # Create file with version and commit
@@ -241,13 +238,6 @@ install-elc: all $(INSTALL_FILES)
done;\
fi;
 
-install-aux: $(AUX_FILES)
-   $(INSTALL) -d -m 0755 "$(DESTDIR)$(lispdir)/"
-   for i in $(AUX_FILES); do \
-   echo "Install $$i in $(DESTDIR)$(lispdir)/";   \
-   $(INSTALL_DATA) $$i "$(DESTDIR)$(lispdir)/";   \
-done;
-
 ##
 Makefile: @srcdir@/Makefile.in
cd .. ; ./config.status



[nongnu] elpa/vm 82a005ce9d 3/8: Merge branch vm:main into main

2025-04-27 Thread ELPA Syncer
branch: elpa/vm
commit 82a005ce9d158d767d0ccc5f16900a03e53d506a
Merge: e4f13c0d36 1e96a3c67b
Author: Mark Diekhans 
Commit: Mark Diekhans 

Merge branch vm:main into main



[nongnu] elpa/vm b845c4b1d4 7/8: use a message rather than an warn if version or commit is not avaliable

2025-04-27 Thread ELPA Syncer
branch: elpa/vm
commit b845c4b1d40d6c358e2337e62fbf4cef1b3af2ad
Author: Mark Diekhans 
Commit: Mark Diekhans 

use a message rather than an warn if version or commit is not avaliable
---
 lisp/vm-version.el | 20 ++--
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/lisp/vm-version.el b/lisp/vm-version.el
index dd28db7643..03632f9b40 100644
--- a/lisp/vm-version.el
+++ b/lisp/vm-version.el
@@ -60,22 +60,22 @@
 (warn "Can't obtain vm-version-commit from package or 
vm-version-conf.el")))
 
 (defun vm-version ()
-  "Return the value of the variable `vm-version'."
+  "Display and return the value of the variable `vm-version'."
   (interactive)
   (when (vm-interactive-p)
-(unless vm-version
-  (warn "VM version was not discovered when VM was loaded"))
-(message "VM version is: %s" vm-version))
-  vm-version)
+(if vm-version
+(message "VM version is: %s" vm-version)
+  (message "VM version was not discovered when VM was loaded"))
+  vm-version))
 
 (defun vm-version-commit ()
-  "Return the value of the variable `vm-version-commit'."
+  "Display and the value of the variable `vm-version-commit'."
   (interactive)
   (when (vm-interactive-p)
-(unless vm-version-commit
-  (warn "VM commit was not discovered when VM was loaded"))
-(message "VM commit is: %s" vm-version-commit))
-  vm-version-commit)
+(if vm-version-commit
+(message "VM commit is: %s" vm-version-commit)
+  (message "VM commit was not discovered when VM was loaded"))
+  vm-version-commit))
 
 (defun vm-menu-can-eval-item-name ()
   (and (featurep 'xemacs)



[elpa] externals/a68-mode f86ee85b0c 2/2: Expand SMIE grammar: selections

2025-04-27 Thread ELPA Syncer
branch: externals/a68-mode
commit f86ee85b0cd2d19b0f72b069cf1012970f73831c
Author: Jose E. Marchesi 
Commit: Jose E. Marchesi 

Expand SMIE grammar: selections
---
 a68-mode.el | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/a68-mode.el b/a68-mode.el
index 570ba00fe6..befb22d96c 100644
--- a/a68-mode.el
+++ b/a68-mode.el
@@ -415,12 +415,13 @@ with the equivalent upcased form."
  (exp ":/=:" exp)
  (exp "is" exp)
  (exp "isnt" exp))
+(selection (id "of" secondary))
 ;; Formula.
 ;; Standard operators are given their priority.
 (formula (dyadic-formula)
  (monadic-formula))
 (monadic-formula ("-monadic~-" monadic-operand)
- (-monadic+- monadic-operand)
+ ("-monadic+-" monadic-operand)
  ("-monadic--" monadic-operand))
 (dyadic-formula (operand "-oper-" monadic-operand)
 (operand "+:=" monadic-operand)
@@ -474,7 +475,6 @@ with the equivalent upcased form."
 (operand "ELEMS" monadic-operand))
 (operand (formula)
  (secondary))
-(monadic-formula (secondary))
 (monadic-operand (monadic-formula)
  (secondary))
 ;; Enquiry clause:



[elpa] externals/a68-mode 6550773410: Fix logic in a68-at-post-unit

2025-04-27 Thread ELPA Syncer
branch: externals/a68-mode
commit 655077341012552fa400f6e82349eb736773e39d
Author: Jose E. Marchesi 
Commit: Jose E. Marchesi 

Fix logic in a68-at-post-unit
---
 a68-mode.el | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/a68-mode.el b/a68-mode.el
index befb22d96c..cf639b722b 100644
--- a/a68-mode.el
+++ b/a68-mode.el
@@ -651,10 +651,10 @@ with the equivalent upcased form."
 ;; mode-indication consists of the symbols "loc" and "heap",
 ;; plus those symbols which may immediately precede a
 ;; mode-indication in an actual-MODE-declarer.
-(and (looking-back "[A-Z][A-Za-z_]+")
- (looking-back (regexp-opt '("loc" "heap"
- "ref" ")" "]"
- "proc" "flex")))
+(or (looking-back "[A-Z][A-Za-z_]+")
+(looking-back (regexp-opt '("loc" "heap"
+"ref" ")" "]"
+"proc" "flex")))
 
 (defun a68--smie-forward-token ()
   (forward-comment (point-max))



[elpa] externals/diff-hl bf92de54a7 2/7: [ci skip] Fix name

2025-04-27 Thread ELPA Syncer
branch: externals/diff-hl
commit bf92de54a7a0deda56c9555866d506084b353cca
Author: Dmitry Gutov 
Commit: Dmitry Gutov 

[ci skip] Fix name
---
 .github/workflows/ci.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 62d037d611..45a82fb167 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -32,7 +32,7 @@ jobs:
 with:
   version: ${{ matrix.emacs_version }}
 
-  - name: Checkout Company
+  - name: Checkout Code
 uses: actions/checkout@v3
 
   - name: Run tests



[elpa] externals/diff-hl 22710e8c07 1/7: Add GH action to run the tests

2025-04-27 Thread ELPA Syncer
branch: externals/diff-hl
commit 22710e8c0765cfb016cde49a68e43087dcc5b424
Author: Dmitry Gutov 
Commit: Dmitry Gutov 

Add GH action to run the tests
---
 .github/workflows/ci.yml | 39 +++
 1 file changed, 39 insertions(+)

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
new file mode 100644
index 00..62d037d611
--- /dev/null
+++ b/.github/workflows/ci.yml
@@ -0,0 +1,39 @@
+name: CI
+
+on:
+  push:
+paths:
+  - '**.el'
+  - '**ci.yml'
+  - 'Makefile'
+branches:
+  - master
+
+  pull_request:
+paths:
+  - '**.el'
+  - '**ci.yml'
+  - 'Makefile'
+branches:
+  - master
+
+jobs:
+  check:
+runs-on: ubuntu-latest
+
+strategy:
+  fail-fast: false
+  matrix:
+emacs_version: [26.1, 26.3, 27.2, 28.2, 29.4, snapshot]
+
+steps:
+  - name: Setup Emacs
+uses: purcell/setup-emacs@master
+with:
+  version: ${{ matrix.emacs_version }}
+
+  - name: Checkout Company
+uses: actions/checkout@v3
+
+  - name: Run tests
+run: make test



[elpa] externals/diff-hl 424d3b7cef 5/7: Skip a test in Emacs 26

2025-04-27 Thread ELPA Syncer
branch: externals/diff-hl
commit 424d3b7cef3f92566f5058b467c5db786b74babe
Author: Dmitry Gutov 
Commit: Dmitry Gutov 

Skip a test in Emacs 26
---
 test/diff-hl-test.el | 1 +
 1 file changed, 1 insertion(+)

diff --git a/test/diff-hl-test.el b/test/diff-hl-test.el
index 5aada2727a..231f6d4a5a 100644
--- a/test/diff-hl-test.el
+++ b/test/diff-hl-test.el
@@ -127,6 +127,7 @@
 (should-error (diff-hl-next-hunk) :type 'user-error)))
 
 (diff-hl-deftest diff-hl-indirect-buffer-move-async ()
+  (skip-when (< emacs-major-version 27)) ;No `main-thread'.
   (diff-hl-test-in-source
(let ((diff-hl-update-async t))
  (narrow-to-region (point-min) (point-max))



[elpa] externals/diff-hl a45d2650f7 4/7: Fix Emacs < 28 compat

2025-04-27 Thread ELPA Syncer
branch: externals/diff-hl
commit a45d2650f7e8faf899edd7d0ef0a0f8abb13250c
Author: Dmitry Gutov 
Commit: Dmitry Gutov 

Fix Emacs < 28 compat
---
 diff-hl.el | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/diff-hl.el b/diff-hl.el
index 99c79718d7..0f73c5883b 100644
--- a/diff-hl.el
+++ b/diff-hl.el
@@ -421,7 +421,10 @@ It can be a relative expression as well, such as \"HEAD^\" 
with Git, or
   default-directory)))
   ;; TODO: debounce if a thread is already running.
   (let ((buf (current-buffer))
-(temp-buffer (generate-new-buffer " *temp*" t)))
+(temp-buffer
+ (if (< emacs-major-version 28)
+ (generate-new-buffer " *temp*")
+   (generate-new-buffer " *temp*" t
 ;; Switch buffer temporarily, to "unlock" it for other threads.
 (with-current-buffer temp-buffer
   (make-thread



[elpa] externals/diff-hl 6cc23ae06a 6/7: Use skip-unless

2025-04-27 Thread ELPA Syncer
branch: externals/diff-hl
commit 6cc23ae06aee6cb96698c047d96eb9a09efd82c1
Author: Dmitry Gutov 
Commit: Dmitry Gutov 

Use skip-unless
---
 test/diff-hl-test.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/test/diff-hl-test.el b/test/diff-hl-test.el
index 231f6d4a5a..f6caf93100 100644
--- a/test/diff-hl-test.el
+++ b/test/diff-hl-test.el
@@ -127,7 +127,7 @@
 (should-error (diff-hl-next-hunk) :type 'user-error)))
 
 (diff-hl-deftest diff-hl-indirect-buffer-move-async ()
-  (skip-when (< emacs-major-version 27)) ;No `main-thread'.
+  (skip-unless (>= emacs-major-version 27)) ;No `main-thread'.
   (diff-hl-test-in-source
(let ((diff-hl-update-async t))
  (narrow-to-region (point-min) (point-max))



[elpa] externals/diff-hl ed47dc1812 7/7: Add CI bade

2025-04-27 Thread ELPA Syncer
branch: externals/diff-hl
commit ed47dc181224c0c6225886b191cd071dc6d29f73
Author: Dmitry Gutov 
Commit: Dmitry Gutov 

Add CI bade
---
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/README.md b/README.md
index 21b9d87157..5d090f9266 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-About
+About [![Build 
Status](https://github.com/dgutov/diff-hl/actions/workflows/ci.yml/badge.svg)](https://github.com/dgutov/diff-hl/actions/workflows/ci.yml)
 =
 
 `diff-hl-mode` highlights uncommitted changes on the side of the window (area



[elpa] externals/diff-hl updated (7440baa9b1 -> ed47dc1812)

2025-04-27 Thread ELPA Syncer
elpasync pushed a change to branch externals/diff-hl.

  from  7440baa9b1 diff-hl-stage-current-hunk: Force reference revision to 
last commit
   new  22710e8c07 Add GH action to run the tests
   new  bf92de54a7 [ci skip] Fix name
   new  6a9eca24c1 Make sure to exit 2 when tests fail
   new  a45d2650f7 Fix Emacs < 28 compat
   new  424d3b7cef Skip a test in Emacs 26
   new  6cc23ae06a Use skip-unless
   new  ed47dc1812 Add CI bade


Summary of changes:
 .github/workflows/ci.yml | 39 +++
 Makefile |  2 +-
 README.md|  2 +-
 diff-hl.el   |  5 -
 test/diff-hl-test.el |  4 +---
 5 files changed, 46 insertions(+), 6 deletions(-)
 create mode 100644 .github/workflows/ci.yml



[elpa] externals/diff-hl 6a9eca24c1 3/7: Make sure to exit 2 when tests fail

2025-04-27 Thread ELPA Syncer
branch: externals/diff-hl
commit 6a9eca24c1d0d0a8042002e6372e928216057947
Author: Dmitry Gutov 
Commit: Dmitry Gutov 

Make sure to exit 2 when tests fail
---
 Makefile | 2 +-
 test/diff-hl-test.el | 3 ---
 2 files changed, 1 insertion(+), 4 deletions(-)

diff --git a/Makefile b/Makefile
index 4b7da8243a..c35b4bd5f7 100644
--- a/Makefile
+++ b/Makefile
@@ -15,7 +15,7 @@ RM ?= rm -f
 all: compile test
 
 test:
-   $(EMACS) -batch -L . -l test/diff-hl-test.el -f diff-hl-run-tests
+   $(EMACS) -batch -L . -l test/diff-hl-test.el -f 
ert-run-tests-batch-and-exit
 
 compile:
$(EMACS) -batch -L . -f batch-byte-compile $(SOURCES)
diff --git a/test/diff-hl-test.el b/test/diff-hl-test.el
index 412532f01a..5aada2727a 100644
--- a/test/diff-hl-test.el
+++ b/test/diff-hl-test.el
@@ -215,9 +215,6 @@
 
 "))
 
-(defun diff-hl-run-tests ()
-  (ert-run-tests-batch))
-
 (provide 'diff-hl-test)
 
 ;;; diff-hl-test.el ends here