[elpa] externals/a68-mode 12808af7a8 1/2: Expand SMIE grammar to clauses, formulae and units
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)
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'
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
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
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
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
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
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
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
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
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
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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)
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
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
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)
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
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'
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"
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
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
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)
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
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/). + + + +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
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
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
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
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
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)
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)
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)
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
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
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
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)
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
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
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'
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)
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
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'
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
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
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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 [](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)
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
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