[elpa] externals/org 24d155f148: org-ctrl-c-ctrl-c: Avoid modifying parser cache by side effect

2025-04-23 Thread ELPA Syncer
branch: externals/org
commit 24d155f148fca56b3642711faa500658cf629dc8
Author: Ihor Radchenko 
Commit: Ihor Radchenko 

org-ctrl-c-ctrl-c: Avoid modifying parser cache by side effect

* lisp/org.el (org-ctrl-c-ctrl-c): When modifying list, avoid
modifying cache by side effect.  If writing fails (e.g. read-only
buffer), the modified structure in cache will desync with actual
buffer contents.

Reported-by: Mike Kupfer 
Link: https://orgmode.org/list/120667.1742955...@alto.camomileplus.org
---
 lisp/org.el | 4 
 1 file changed, 4 insertions(+)

diff --git a/lisp/org.el b/lisp/org.el
index 78e8c06922..9dcf103215 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -17917,6 +17917,8 @@ This command does many different things, depending on 
context:
 (org-toggle-radio-button arg)
   (let* ((box (org-element-property :checkbox context))
  (struct (org-element-property :structure context))
+  ;; Avoid modifying cached structure by side effect.
+  (struct (copy-tree struct))
  (old-struct (copy-tree struct))
  (parents (org-list-parents-alist struct))
  (prevs (org-list-prevs-alist struct))
@@ -17960,6 +17962,8 @@ This command does many different things, depending on 
context:
 (org-toggle-radio-button arg)
   (let* ((begin (org-element-contents-begin context))
  (struct (org-element-property :structure context))
+  ;; Avoid modifying cached structure by side effect.
+  (struct (copy-tree struct))
  (old-struct (copy-tree struct))
  (first-box (save-excursion
   (goto-char begin)



[elpa] externals/xeft fb504c0a19 1/2: Upgrade xapian-lite

2025-04-23 Thread ELPA Syncer
branch: externals/xeft
commit fb504c0a19f19e8ae555cf934ef71aec9292cecf
Author: Yuan Fu 
Commit: Yuan Fu 

Upgrade xapian-lite
---
 xapian-lite.cc | 79 --
 1 file changed, 77 insertions(+), 2 deletions(-)

diff --git a/xapian-lite.cc b/xapian-lite.cc
index e1c9499560..d231011480 100644
--- a/xapian-lite.cc
+++ b/xapian-lite.cc
@@ -27,6 +27,7 @@ along with GNU Emacs.  If not, see 
.  */
 #include 
 #include 
 #include 
+#include 
 
 #include 
 #include 
@@ -80,12 +81,31 @@ int plugin_is_GPL_compatible;
 static const Xapian::valueno DOC_MTIME = 0;
 // The index of the document value that store the file path.
 static const Xapian::valueno DOC_FILEPATH = 1;
+// If a stretch of text contains only base64 characters and exceeds
+// this length, we consider it base64 text and skip it when indexing.
+// I chose 70 because some base64 encoding has line wrapping with 76
+// characters per line. This might cause the indexer to exclude some
+// urls from indexing too, but we probably don't want to index urls
+// anyway.
+static const size_t BASE64_LEN_THRESHOLD = 70;
 
 static Xapian::WritableDatabase database;
 static string cached_dbpath = "";
 
 class xapian_lite_cannot_open_file: public exception {};
 
+static bool
+is_base64_char (char character)
+{
+  return (character >= 'A' && character <= 'z')
+   || (character >= '0' && character <= '9')
+   || (character == '+')
+   || (character == '/')
+   || (character == '-')
+   || (character == '_')
+   || (character == '=');
+}
+
 // Return the hash of KEY.
 static uint64_t
 fingerprint (string key)
@@ -217,6 +237,8 @@ reindex_file
   ifstream infile (path);
   string content ((istreambuf_iterator(infile)),
   (istreambuf_iterator()));
+
+  std::string_view content_view = std::string_view(content);
   // Create the indexer.
   Xapian::TermGenerator indexer;
   Xapian::Stem stemmer (lang);
@@ -228,8 +250,61 @@ reindex_file
   // Index file content.
   Xapian::Document new_doc;
   indexer.set_document (new_doc);
-  indexer.index_text (content);
-  // Set doc info.
+
+ // Index the file, skipping base64 text.
+ Xapian::Utf8Iterator iter;
+ size_t unindexed_start = 0;
+ size_t base64_start = 0;
+ bool prev_char_is_base64 = false;
+ int mode = 0;
+  for (int idx = 0; idx < content.length (); idx++)
+   {
+ bool this_char_is_base64 = is_base64_char (content[idx]);
+ switch (mode)
+   {
+   // Looking for base64 start.
+   case 0:
+ if (!prev_char_is_base64 && this_char_is_base64)
+   {
+ base64_start = idx;
+ mode = 1;
+ break;
+   }
+   // Found a base64 start, keep reading and see if this is
+   // actually base64 text.
+   case 1:
+ if (!this_char_is_base64)
+   {
+ mode = 0;
+ break;
+   }
+  if (idx - base64_start > BASE64_LEN_THRESHOLD)
+   {
+ mode = 2;
+ break;
+}
+   // Detected base64, read until the end of the base64
+   // text.
+   case 2:
+  if (!this_char_is_base64)
+   {
+ iter.assign (&content[unindexed_start], 
base64_start - unindexed_start);
+ indexer.index_text (iter);
+
+ mode = 0;
+ unindexed_start = idx;
+ break;
+}
+}
+
+ prev_char_is_base64 = this_char_is_base64;
+}
+
+ // Index the remaining content.
+ iter.assign (&content[unindexed_start], content.length () - 
unindexed_start);
+ indexer.index_text (iter);
+
+ // Set doc info.
   new_doc.add_boolean_term (termID);
   // We store the path in value, no need to use set_data.
   new_doc.add_value (DOC_FILEPATH, path);



[elpa] externals/xeft 21465bba67 2/2: Update README and bump version

2025-04-23 Thread ELPA Syncer
branch: externals/xeft
commit 21465bba67c83a923b71808e1788ab1060745976
Author: Yuan Fu 
Commit: Yuan Fu 

Update README and bump version

* README.md: Update.
* xeft.el: Bump version.
---
 README.md | 19 ++-
 xeft.el   |  2 +-
 2 files changed, 15 insertions(+), 6 deletions(-)

diff --git a/README.md b/README.md
index cd123725c2..780bff6f3c 100644
--- a/README.md
+++ b/README.md
@@ -73,11 +73,20 @@ Functions you can customize to alter Xeft’s behavior:
   you ultimate control over which files to index.
 
 When Xeft reindexes a file, the changes are not immediately persisted
-to the DB file on disk. Instead Xeft periodically commit the changes
-to disk using an idle timer. The exact idle delay can be customized
-with `xeft-periodic-commit-timer-idle-delay`. But make sure to
-customize it before the first call of `xeft`, in which the idle timer
-is created.
+to the DB file on disk. Since version v3.4, Xeft periodically commit
+the changes to disk using an idle timer. The exact idle delay can be
+customized with `xeft-periodic-commit-timer-idle-delay`. But make sure
+to customize it before the first call of `xeft`, in which the idle
+timer is created.
+
+# Embedded images in text files
+
+Since version v3.5, Xeft can recognize embedded base64 encoding in the
+text, and skip them when indexing. If a stretch of text contains only
+characters used in base64 encoding, and is longer than 70 characters,
+it it considered base64 text and is skipped when indexing. This will
+cause Xeft to skip some longer urls since `/` is used in base64. The
+length threshold of 70 is hard-coded.
 
 # Building the dynamic module
 
diff --git a/xeft.el b/xeft.el
index c73528ff3c..738f4edcc6 100644
--- a/xeft.el
+++ b/xeft.el
@@ -5,7 +5,7 @@
 ;; Author: Yuan Fu 
 ;; Maintainer: Yuan Fu 
 ;; URL: https://sr.ht/~casouri/xeft
-;; Version: 3.4
+;; Version: 3.5
 ;; Keywords: Applications, Note, Searching
 ;; Package-Requires: ((emacs "26.0"))
 



[elpa] externals/xeft updated (ded5a3719b -> 21465bba67)

2025-04-23 Thread ELPA Syncer
elpasync pushed a change to branch externals/xeft.

  from  ded5a3719b Bump version
   new  fb504c0a19 Upgrade xapian-lite
   new  21465bba67 Update README and bump version


Summary of changes:
 README.md  | 19 ++
 xapian-lite.cc | 79 --
 xeft.el|  2 +-
 3 files changed, 92 insertions(+), 8 deletions(-)



[nongnu] elpa/clojure-ts-mode 61041c82be: [#16] Implement clojure-ts-align

2025-04-23 Thread ELPA Syncer
branch: elpa/clojure-ts-mode
commit 61041c82be52faf7f931b62b7b300742b04f76a3
Author: Roman Rudakov 
Commit: Bozhidar Batsov 

[#16] Implement clojure-ts-align
---
 CHANGELOG.md |   2 +
 README.md|  32 
 clojure-ts-mode.el   | 279 ---
 test/clojure-ts-mode-indentation-test.el |  68 
 test/samples/align.clj   |  32 
 5 files changed, 394 insertions(+), 19 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3ba2af96fe..41e2a140b1 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,8 @@
 
 ## main (unreleased)
 
+- [#16](https://github.com/clojure-emacs/clojure-ts-mode/issues/16): Introduce 
`clojure-ts-align`.
+
 ## 0.3.0 (2025-04-15)
 
 - [#62](https://github.com/clojure-emacs/clojure-ts-mode/issues/62): Define 
`list` "thing" to improve navigation in Emacs 31.
diff --git a/README.md b/README.md
index d5407bc09f..f44f5839c1 100644
--- a/README.md
+++ b/README.md
@@ -239,6 +239,38 @@ should look like:
 In order to apply directory-local variables to existing buffers, they must be
 reverted.
 
+### Vertical alignment
+
+You can vertically align sexps with `C-c SPC`. For instance, typing this combo
+on the following form:
+
+```clojure
+(def my-map
+  {:a-key 1
+   :other-key 2})
+```
+
+Leads to the following:
+
+```clojure
+(def my-map
+  {:a-key 1
+   :other-key 2})
+```
+
+Forms that can be aligned vertically are configured via the following 
variables:
+
+- `clojure-ts-align-reader-conditionals` - align reader conditionals as if they
+  were maps.
+- `clojure-ts-align-binding-forms` - a customizable list of forms with let-like
+  bindings that can be aligned vertically.
+- `clojure-ts-align-cond-forms` - a customizable list of forms whose body
+  elements can be aligned vertically. These forms respect the block semantic
+  indentation rule (if configured) and align only the body forms, skipping N
+  special arguments.
+- `clojure-ts-align-separator` - determines whether blank lines prevent 
vertical
+  alignment.
+
 ### Font Locking
 
 To highlight entire rich `comment` expression with the comment font face, set
diff --git a/clojure-ts-mode.el b/clojure-ts-mode.el
index 94af72e4a1..7c16c01785 100644
--- a/clojure-ts-mode.el
+++ b/clojure-ts-mode.el
@@ -56,6 +56,7 @@
 ;;; Code:
 
 (require 'treesit)
+(require 'align)
 
 (declare-function treesit-parser-create "treesit.c")
 (declare-function treesit-node-eq "treesit.c")
@@ -126,6 +127,70 @@ double quotes on the third column."
   :type 'boolean
   :package-version '(clojure-ts-mode . "0.3"))
 
+(defcustom clojure-ts-align-reader-conditionals nil
+  "Whether to align reader conditionals, as if they were maps."
+  :package-version '(clojure-ts-mode . "0.4")
+  :safe #'booleanp
+  :type 'boolean)
+
+(defcustom clojure-ts-align-binding-forms
+  '("let"
+"when-let"
+"when-some"
+"if-let"
+"if-some"
+"binding"
+"loop"
+"doseq"
+"for"
+"with-open"
+"with-local-vars"
+"with-redefs"
+"clojure.core/let"
+"clojure.core/when-let"
+"clojure.core/when-some"
+"clojure.core/if-let"
+"clojure.core/if-some"
+"clojure.core/binding"
+"clojure.core/loop"
+"clojure.core/doseq"
+"clojure.core/for"
+"clojure.core/with-open"
+"clojure.core/with-local-vars"
+"clojure.core/with-redefs")
+  "List of strings matching forms that have binding forms."
+  :package-version '(clojure-ts-mode . "0.4")
+  :safe #'listp
+  :type '(repeat string))
+
+(defconst clojure-ts--align-separator-newline-regexp "^ *$")
+
+(defcustom clojure-ts-align-separator 
clojure-ts--align-separator-newline-regexp
+  "Separator passed to `align-region' when performing vertical alignment."
+  :package-version '(clojure-ts-mode . "0.4")
+  :type `(choice (const :tag "Make blank lines prevent vertical alignment from 
happening."
+,clojure-ts--align-separator-newline-regexp)
+ (other :tag "Allow blank lines to happen within a 
vertically-aligned expression."
+entire)))
+
+(defcustom clojure-ts-align-cond-forms
+  '("condp"
+"cond"
+"cond->"
+"cond->>"
+"case"
+"are"
+"clojure.core/condp"
+"clojure.core/cond"
+"clojure.core/cond->"
+"clojure.core/cond->>"
+"clojure.core/case"
+"clojure.core/are")
+  "List of strings identifying cond-like forms."
+  :package-version '(clojure-ts-mode . "0.4")
+  :safe #'listp
+  :type '(repeat string))
+
 (defvar clojure-ts-mode-remappings
   '((clojure-mode . clojure-ts-mode)
 (clojurescript-mode . clojure-ts-clojurescript-mode)
@@ -1025,6 +1090,18 @@ If NS is defined, then the fully qualified symbol is 
passed to
(seq-sort (lambda (spec1 _spec2)
(equal (car spec1) :block)
 
+(defun clojure-ts--find-semantic-rules-for-node (node)
+  "Return a list of semantic rules 

[nongnu] elpa/helm 2da1315a2b: Add helm-limit-to-sources command

2025-04-23 Thread ELPA Syncer
branch: elpa/helm
commit 2da1315a2b64e9f4a49b8dd7f437da08bd99ff49
Author: Thierry Volpiatto 
Commit: Thierry Volpiatto 

Add helm-limit-to-sources command
---
 helm-core.el | 23 +++
 1 file changed, 23 insertions(+)

diff --git a/helm-core.el b/helm-core.el
index 710ce789f9..84db8a5780 100644
--- a/helm-core.el
+++ b/helm-core.el
@@ -438,6 +438,7 @@ i.e. the loop is not entered after running COMMAND."
 (define-key map (kbd "M-a")#'helm-mark-all)
 (define-key map (kbd "M-U")#'helm-unmark-all)
 (define-key map (kbd "C-M-a")  #'helm-show-all-candidates-in-source)
+(define-key map (kbd "C-M-f")  #'helm-limit-to-sources)
 (define-key map (kbd "C-M-e")  #'helm-display-all-sources)
 (define-key map (kbd "C-s")#'undefined)
 (define-key map (kbd "M-s")#'undefined)
@@ -2421,6 +2422,28 @@ show ARG number of candidates."
 (helm-set-source-filter nil)))
 (put 'helm-display-all-sources 'helm-only t)
 
+(defun helm-limit-to-sources ()
+  "Limit sources to display from current session.
+This is a toggle command, when hit a second time reset to all sources."
+  (interactive)
+  (with-helm-alive-p
+(with-helm-buffer
+  (if (null helm-source-filter)
+  (when (cdr helm-sources)
+(let ((headers (helm-comp-read
+"Limit to source(s): "
+(mapcar
+ (lambda (s)
+   (let* ((name (assoc-default 'name s))
+  (disp (helm-aif (assoc-default 
'header-name s)
+(funcall it name) name)))
+ (cons disp name)))
+ helm-sources)
+:marked-candidates t
+:allow-nest t
+:buffer "*helm sources*")))
+  (helm-set-source-filter headers)))
+(helm-set-source-filter nil)
 
 ;;; Source infos fns.
 ;;



[nongnu] elpa/cider b451310a26 2/2: Add a basic config file for markdownlint-cli2

2025-04-23 Thread ELPA Syncer
branch: elpa/cider
commit b451310a268e7df3f3399c2b37b9de8f55941458
Author: Bozhidar Batsov 
Commit: Bozhidar Batsov 

Add a basic config file for markdownlint-cli2
---
 .markdownlint-cli2.yaml | 14 ++
 1 file changed, 14 insertions(+)

diff --git a/.markdownlint-cli2.yaml b/.markdownlint-cli2.yaml
new file mode 100644
index 00..37a97df1f3
--- /dev/null
+++ b/.markdownlint-cli2.yaml
@@ -0,0 +1,14 @@
+config:
+  default: true
+
+  line-length:
+line_length: 100
+code_blocks: false
+tables: false
+
+  no-duplicate-heading:
+allow_different_nesting: true
+
+  no-inline-html: false
+
+  first-line-heading: false



[elpa] externals/embark a6e48a4e09 1/4: fix: limit set--this-command-keys to browse-url

2025-04-23 Thread ELPA Syncer
branch: externals/embark
commit a6e48a4e09edca1f9390d8f943b8fb266b4aa905
Author: StrawberryTea 
Commit: StrawberryTea 

fix: limit set--this-command-keys to browse-url

My view after investigating this #470 and #182 is that the underlying
cause is a bug in `browse-url-interactive-arg` itself, as it should
handle `this-command-keys` being nil. However, even if that is fixed,
older versions of Emacs will still have the issue. So I propose limiting
the use of `set--this-command-keys` to the functions with `browse-url`
in their name.
---
 embark.el | 9 ++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/embark.el b/embark.el
index a055e90875..b1a6fde8c8 100644
--- a/embark.el
+++ b/embark.el
@@ -2070,12 +2070,15 @@ minibuffer before executing the action."
 (embark--run-action-hooks embark-pre-action-hooks
   action target quit)
 (minibuffer-with-setup-hook inject
-  ;; pacify commands that use (this-command-keys)
-  (when (= (length (this-command-keys)) 0)
+  ;; HACK work around `browse-url-interactive-arg'
+  ;; expecting a non-empty `this-command-keys'
+  ;; output.
+  (when (and (eq action 'browse-url)
+ (= (length (this-command-keys)) 0))
 (set--this-command-keys
  (if (characterp last-command-event)
  (string last-command-event)
-  "\r")))
+   "\r")))
   (setq this-command action)
   (embark--run-around-action-hooks
action target quit)))



[elpa] externals/embark 3750901e7f 3/4: Merge pull request #752 from deejayem/fix-embark-dwim-remapping-issue

2025-04-23 Thread ELPA Syncer
branch: externals/embark
commit 3750901e7f1ce0ecca94c102826245dadec94a04
Merge: d5df0eff18 baf371fa89
Author: Omar Antolín Camarena 
Commit: GitHub 

Merge pull request #752 from deejayem/fix-embark-dwim-remapping-issue

Fix eval depth error when remapping to embark-dwim
---
 embark.el | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/embark.el b/embark.el
index a055e90875..58ca314387 100644
--- a/embark.el
+++ b/embark.el
@@ -2523,7 +2523,8 @@ See `embark-act' for the meaning of the prefix ARG."
targets)))
  (type (plist-get target :type))
  (default-action (embark--default-action type))
- (action (or (command-remapping default-action) default-action)))
+ (command-remapping (command-remapping default-action))
+ (action (or (unless (eq 'embark-dwim command-remapping) 
command-remapping) default-action)))
 (unless action
   (user-error "No default action for %s targets" type))
 (when (and arg (minibufferp)) (setq embark--toggle-quit t))



[elpa] externals/embark baf371fa89 2/4: Fix eval depth error when remapping to embark-dwim

2025-04-23 Thread ELPA Syncer
branch: externals/embark
commit baf371fa89acc2f9c18429d9b559a17a4e931faa
Author: David Morgan 
Commit: David Morgan 

Fix eval depth error when remapping to embark-dwim
---
 embark.el | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/embark.el b/embark.el
index a055e90875..58ca314387 100644
--- a/embark.el
+++ b/embark.el
@@ -2523,7 +2523,8 @@ See `embark-act' for the meaning of the prefix ARG."
targets)))
  (type (plist-get target :type))
  (default-action (embark--default-action type))
- (action (or (command-remapping default-action) default-action)))
+ (command-remapping (command-remapping default-action))
+ (action (or (unless (eq 'embark-dwim command-remapping) 
command-remapping) default-action)))
 (unless action
   (user-error "No default action for %s targets" type))
 (when (and arg (minibufferp)) (setq embark--toggle-quit t))



[elpa] externals/embark updated (d5df0eff18 -> 923d0ec52e)

2025-04-23 Thread ELPA Syncer
elpasync pushed a change to branch externals/embark.

  from  d5df0eff18 Merge pull request #749 from minad/fix-last-heading
   new  baf371fa89 Fix eval depth error when remapping to embark-dwim
   new  3750901e7f Merge pull request #752 from 
deejayem/fix-embark-dwim-remapping-issue
   new  a6e48a4e09 fix: limit set--this-command-keys to browse-url
   new  923d0ec52e Merge pull request #750 from 
LemonBreezes/work-around-browse-url-interactive-arg


Summary of changes:
 embark.el | 12 
 1 file changed, 8 insertions(+), 4 deletions(-)



[elpa] externals/embark 923d0ec52e 4/4: Merge pull request #750 from LemonBreezes/work-around-browse-url-interactive-arg

2025-04-23 Thread ELPA Syncer
branch: externals/embark
commit 923d0ec52e2e3e0ae44e497c31c7888e87d08a8f
Merge: 3750901e7f a6e48a4e09
Author: Omar Antolín Camarena 
Commit: GitHub 

Merge pull request #750 from 
LemonBreezes/work-around-browse-url-interactive-arg

fix: limit set--this-command-keys to browse-url
---
 embark.el | 9 ++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/embark.el b/embark.el
index 58ca314387..913f8bdd5c 100644
--- a/embark.el
+++ b/embark.el
@@ -2070,12 +2070,15 @@ minibuffer before executing the action."
 (embark--run-action-hooks embark-pre-action-hooks
   action target quit)
 (minibuffer-with-setup-hook inject
-  ;; pacify commands that use (this-command-keys)
-  (when (= (length (this-command-keys)) 0)
+  ;; HACK work around `browse-url-interactive-arg'
+  ;; expecting a non-empty `this-command-keys'
+  ;; output.
+  (when (and (eq action 'browse-url)
+ (= (length (this-command-keys)) 0))
 (set--this-command-keys
  (if (characterp last-command-event)
  (string last-command-event)
-  "\r")))
+   "\r")))
   (setq this-command action)
   (embark--run-around-action-hooks
action target quit)))



[elpa] externals/hyperbole 7d05492e1b: Add variation to WikiWord splitting (#710)

2025-04-23 Thread ELPA Syncer
branch: externals/hyperbole
commit 7d05492e1b70df006c84b9ef64f4d77c43ddec88
Author: Mats Lidell 
Commit: GitHub 

Add variation to WikiWord splitting (#710)
---
 ChangeLog| 3 +++
 test/hywiki-tests.el | 9 -
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog
index bd0698c5e2..e2c20fe292 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 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.
 
diff --git a/test/hywiki-tests.el b/test/hywiki-tests.el
index 9edb4265e2..000cbaae0a 100644
--- a/test/hywiki-tests.el
+++ b/test/hywiki-tests.el
@@ -1339,9 +1339,16 @@ the function is called."
 (("(HiHo#s" . "HiHo#s") (" " . "HiHo#s"))
 (("(HiHo#s" . "HiHo#s") (")" . "HiHo#s")) ; Delimiter part of WikiWord. 
See below too.
 (("(HiHo#s" . "HiHo#s") ("-" . "HiHo#s-") ("n" . "HiHo#s-n") (")" . 
"HiHo#s-n"))
-;; Insert and delete between WikiWords
+;; Insert and delete between WikiWords and non WikiWords
 (("HiHo" . t) (p3 . t) (" " . "Hi") (p4 . "Ho") (-1 . "HiHo"))
 (("Hiho" . t) (p3 . t) (" " . "Hi") (p4) (-1 . "Hiho"))
+(("hiHo") (p3) (" ") (p4 . "Ho") (-1))
+;; With double quotes
+(("\"HiHo\"" . t) (p4 . t) (" " . "Hi") (p5 . "Ho") (-1 . "HiHo"))
+(("\"Hiho\"" . t) (p4 . t) (" " . "Hi") (p5) (-1 . "Hiho"))
+(("\"hiHo\"") (p4) (" ") (p5 . "Ho") (-1))
+(("\"Hi\"Ho" . t) (p5 . "Ho") (" " . "Ho") (p4 . "Hi"))
+(("Hi\"Ho\"" . t) (p3 . "Hi") (" " . "Hi") (p4) (p5 . "Ho"))
 )
   "List of test cases for WikiWords.")
 



[elpa] externals/modus-themes updated (7cc3d1495d -> 51c7c4dc21)

2025-04-23 Thread ELPA Syncer
elpasync pushed a change to branch externals/modus-themes.

  from  7cc3d1495d Fix some typos in the manual
   new  d85547d58b Tweak modus-operandi-tinted mail mappings for consistency
   new  51c7c4dc21 Tweak modus-vivendi-tinted mail mappings for consistency


Summary of changes:
 modus-operandi-tinted-theme.el | 4 ++--
 modus-vivendi-tinted-theme.el  | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)



[elpa] externals/modus-themes d85547d58b 1/2: Tweak modus-operandi-tinted mail mappings for consistency

2025-04-23 Thread ELPA Syncer
branch: externals/modus-themes
commit d85547d58b6d966c025e82ac013d11d7374371c8
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Tweak modus-operandi-tinted mail mappings for consistency
---
 modus-operandi-tinted-theme.el | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/modus-operandi-tinted-theme.el b/modus-operandi-tinted-theme.el
index 11b7f38ba0..16c33a8195 100644
--- a/modus-operandi-tinted-theme.el
+++ b/modus-operandi-tinted-theme.el
@@ -332,11 +332,11 @@ which corresponds to a minimum contrast in relative 
luminance of
 
  Mail mappings
 
-  (mail-cite-0 cyan-cooler)
+  (mail-cite-0 cyan)
   (mail-cite-1 yellow)
   (mail-cite-2 green-warmer)
   (mail-cite-3 red-cooler)
-  (mail-part magenta-cooler)
+  (mail-part green-cooler)
   (mail-recipient blue-warmer)
   (mail-subject magenta-warmer)
   (mail-other magenta)



[elpa] externals/modus-themes 51c7c4dc21 2/2: Tweak modus-vivendi-tinted mail mappings for consistency

2025-04-23 Thread ELPA Syncer
branch: externals/modus-themes
commit 51c7c4dc21d879587a11f893aed20583d27f3214
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Tweak modus-vivendi-tinted mail mappings for consistency
---
 modus-vivendi-tinted-theme.el | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/modus-vivendi-tinted-theme.el b/modus-vivendi-tinted-theme.el
index ba186fc9f8..a720ede9c9 100644
--- a/modus-vivendi-tinted-theme.el
+++ b/modus-vivendi-tinted-theme.el
@@ -332,11 +332,11 @@ which corresponds to a minimum contrast in relative 
luminance of
 
  Mail mappings
 
-  (mail-cite-0 blue)
+  (mail-cite-0 blue-faint)
   (mail-cite-1 yellow-cooler)
   (mail-cite-2 cyan-cooler)
   (mail-cite-3 red-cooler)
-  (mail-part magenta-cooler)
+  (mail-part blue)
   (mail-recipient blue-warmer)
   (mail-subject magenta-warmer)
   (mail-other magenta)



[elpa] externals/org-modern 2df3b8b046: README: Link to org-modern-indent

2025-04-23 Thread ELPA Syncer
branch: externals/org-modern
commit 2df3b8b046261c15e5014159b8f394d6b2c0fde3
Author: Daniel Mendler 
Commit: Daniel Mendler 

README: Link to org-modern-indent
---
 README.org | 9 +++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/README.org b/README.org
index edb185eaaf..33a84afb2c 100644
--- a/README.org
+++ b/README.org
@@ -95,8 +95,9 @@ screenshot above after the installation of =org-modern=.
 
 * Incompatibilities
 
-- =org-indent-mode= is not compatible with the block prettification in the 
fringe.
-  If =org-indent-mode= is enabled, =org-modern= will disable the block 
prettification.
+- If =org-indent-mode= is enabled, =org-modern= will disable the block
+  prettification in the fringe. See the package 
[[https://github.com/jdtsmith/org-modern-indent][org-modern-indent]] which 
provides
+  a different mechanism for block styling, than using the fringe.
 - =org-num-mode= interferes with the =org-modern= prettification of TODO 
keywords.
 - =visual-wrap-prefix-mode= relies on the =wrap-prefix= text property which is 
also
   used by =org-modern=.
@@ -124,6 +125,10 @@ both =org-superstar= and =org-bullets=. You can disable 
styling of certain eleme
 e.g., =org-modern-timestamp=, if you only want to use the subset of 
=org-modern=
 equivalent to =org-superstar=.
 
+For an alternative source block styling technique, please take a look at the
+[[https://github.com/jdtsmith/org-modern-indent][org-modern-indent]] package. 
Org-modern-indent can even style source blocks when
+=org-indent-mode= is enabled.
+
 * Contributions
 
 Since this package is part of 
[[https://elpa.gnu.org/packages/org-modern.html][GNU ELPA]] contributions 
require a copyright



[nongnu] elpa/cider 8569592c36: [Fix: #3786] Sort dictionaries by key in nrepl-bencode

2025-04-23 Thread ELPA Syncer
branch: elpa/cider
commit 8569592c36a68b13fa76fb1294bb0559a218653b
Author: Iñaki Arenaza 
Commit: Bozhidar Batsov 

[Fix: #3786] Sort dictionaries by key in nrepl-bencode

CIDER doesn't adhere to Bencode spec which requires dictionary keys to
be sorted alphabetically. This hasn't been a problem so far because
the bencode reader on nREPL side doesn't validate the order of
keys. Still, it will be rigorous to produce correct values according
to the selected format.
---
 CHANGELOG.md|  1 +
 nrepl-client.el | 19 +++-
 nrepl-dict.el   |  4 ++-
 test/nrepl-bencode-tests.el | 44 --
 test/nrepl-server-mock.el   | 69 +++--
 test/utils/nrepl-tests-utils.el | 44 ++
 6 files changed, 159 insertions(+), 22 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 8be4f326b9..0f972f2d7a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -34,6 +34,7 @@
 ### Bugs fixed
 
 - [#3784](https://github.com/clojure-emacs/cider/issues/3784): Inspector: make 
point less erratic when navigating between inspector screens.
+- [#3786](https://github.com/clojure-emacs/cider/issues/3786): Sort 
dictionaries by key in nrepl-bencode
 
 ### Bugs fixed
 
diff --git a/nrepl-client.el b/nrepl-client.el
index 97d53503e8..b5b50ba48a 100644
--- a/nrepl-client.el
+++ b/nrepl-client.el
@@ -423,13 +423,30 @@ decoded message or nil if the strings were completely 
decoded."
   (erase-buffer)
   (cons string-q response-q
 
+(defun nrepl--bencode-dict (dict)
+  "Encode DICT with bencode.
+According to the Bittorrent protocol specification[1], when bencoding
+dictionaries, keys must be strings and appear in sorted order (sorted as
+raw strings, not alphanumerics).
+
+[1] https://www.bittorrent.org/beps/bep_0003.html#bencoding";
+  (let* ((sorted-keys (sort (nrepl-dict-keys dict)
+(lambda (a b)
+ (string< a b
+ (sorted-dict (nrepl-dict)))
+(dolist (k sorted-keys sorted-dict)
+  (nrepl-dict-put sorted-dict
+  k
+  (nrepl-dict-get dict k)))
+(mapconcat #'nrepl-bencode (cdr sorted-dict) "")))
+
 (defun nrepl-bencode (object)
   "Encode OBJECT with bencode.
 Integers, lists and nrepl-dicts are treated according to bencode
 specification.  Everything else is encoded as string."
   (cond
((integerp object) (format "i%de" object))
-   ((nrepl-dict-p object) (format "d%se" (mapconcat #'nrepl-bencode (cdr 
object) "")))
+   ((nrepl-dict-p object) (format "d%se" (nrepl--bencode-dict object)))
((listp object) (format "l%se" (mapconcat #'nrepl-bencode object "")))
(t (format "%s:%s" (string-bytes object) object
 
diff --git a/nrepl-dict.el b/nrepl-dict.el
index 09d5fabb1c..e946dacfbe 100644
--- a/nrepl-dict.el
+++ b/nrepl-dict.el
@@ -37,7 +37,9 @@
 
 (defun nrepl-dict (&rest key-vals)
   "Create nREPL dict from KEY-VALS."
-  (cons 'dict key-vals))
+  (if (cl-evenp (length key-vals))
+  (cons 'dict key-vals)
+(error "An even number of KEY-VALS is needed to build a dict object")))
 
 (defun nrepl-dict-from-hash (hash)
   "Create nREPL dict from HASH."
diff --git a/test/nrepl-bencode-tests.el b/test/nrepl-bencode-tests.el
index a4e3e59cbb..410c5f186c 100644
--- a/test/nrepl-bencode-tests.el
+++ b/test/nrepl-bencode-tests.el
@@ -327,10 +327,48 @@ If object is incomplete, return a decoded path."
   "int" 1
   "int-list" (1 2 3 4 5)
   "string" "f30dbd69-7095-40c1-8e98-7873ae71a07f"
-  "dict" (dict "k1" 1 "k2" 2 "k3" "33")
+  "unordered-dict" (dict "k3" "33" "k2" 2 "k1" 1)
   "status" ("eval-error")))
-  (expect (car (nrepl-bdecode-string (nrepl-bencode obj)))
-  :to-equal obj
+  ;; Bencoded dicts may change the order of the keys of original
+  ;; dict, as bencoding a dict MUST encode the keys in sorted
+  ;; order.  We need to compare objects taking this into account.
+  (expect (bencodable-obj-equal?
+   obj
+   (car (nrepl-bdecode-string (nrepl-bencode obj
+  :to-be t
+
+(describe "nrepl--bencode"
+  (it "encodes strings"
+(expect (nrepl-bencode "spam") :to-equal "4:spam")
+(expect (nrepl-bencode "") :to-equal "0:")
+;; Assuming we use UTF-8 encoded strings, which
+;; Clojure/Clojurescript do.
+(expect (nrepl-bencode "Божидар") :to-equal "14:Божидар"))
+
+  (it "encodes integers"
+(expect (nrepl-bencode 3) :to-equal "i3e")
+(expect (nrepl-bencode -3) :to-equal "i-3e"))
+
+  (it "encodes lists"
+(expect (nrepl-bencode '("spam" "eggs"))
+:to-equal "l4:spam4:eggse")
+(expect (nrepl-bencode '("spam" ("eggs" "salt")))
+:to-equal "l4:spaml4:eggs4:saltee")
+(expect (nrepl-bencode '(1 2 3 (4 5 (6)

[elpa] externals/denote cdb44a2d31: Remove needless helper function of denote-fontify-links

2025-04-23 Thread ELPA Syncer
branch: externals/denote
commit cdb44a2d31937052765cb8c7992fbfc26d42d342
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Remove needless helper function of denote-fontify-links

The helper was there because I was originally using it for two functions.
---
 denote.el | 65 ++-
 1 file changed, 31 insertions(+), 34 deletions(-)

diff --git a/denote.el b/denote.el
index e0677608ee..620162ab84 100644
--- a/denote.el
+++ b/denote.el
@@ -5694,42 +5694,39 @@ To be assigned to `markdown-follow-link-functions'."
   'denote-faces-link
 'denote-faces-query-link))
 
-(defun denote--fontify-links-subr (query limit)
-  "Do the work of the font-lock match for QUERY up to LIMIT.
-Implementation based on the function `org-activate-links'."
-  (catch :exit
-(while (re-search-forward query limit t)
-  (save-match-data  ; to return the matches to font-lock
-(let* ((start (match-beginning 0))
-   (end (match-end 0))
-   (visible-start (or (match-beginning 2) start))
-   (visible-end (or (match-end 2) end))
-   (query (match-string-no-properties 1)))
-  (let* ((properties `( face ,(denote-get-link-face query)
-mouse-face highlight
-keymap ,denote-link-mouse-map
-denote-link-query-part ,query
-help-echo query
-htmlize-link (:uri ,query)
-font-lock-multiline t))
- (non-sticky-props
-  '(rear-nonsticky (mouse-face highlight keymap invisible 
intangible help-echo htmlize-link)))
- (face-property 'link)
- (hidden (append '(invisible 'denote-link) properties)))
-(remove-text-properties start end '(invisible nil))
-(add-text-properties start visible-start hidden)
-(add-face-text-property start end face-property)
-(add-text-properties visible-start visible-end properties)
-(add-text-properties visible-end end hidden)
-(dolist (pos (list end visible-start visible-end))
-  (add-text-properties (1- pos) pos non-sticky-props)))
-  (throw :exit t  ; signal success
-nil))
-
+;; Implementation based on the function `org-activate-links'.
 (defun denote-fontify-links (limit)
   "Provide font-lock matcher to fontify links up to LIMIT."
-  (when-let* ((type (denote-filetype-heuristics (buffer-file-name
-(denote--fontify-links-subr (denote--link-in-context-regexp type) limit)))
+  (when-let* ((type (denote-filetype-heuristics (buffer-file-name)))
+  (query (denote--link-in-context-regexp type)))
+(catch :exit
+  (while (re-search-forward query limit t)
+(save-match-data  ; to return the matches to font-lock
+  (let* ((start (match-beginning 0))
+ (end (match-end 0))
+ (visible-start (or (match-beginning 2) start))
+ (visible-end (or (match-end 2) end))
+ (query (match-string-no-properties 1)))
+(let* ((properties `( face ,(denote-get-link-face query)
+  mouse-face highlight
+  keymap ,denote-link-mouse-map
+  denote-link-query-part ,query
+  help-echo query
+  htmlize-link (:uri ,query)
+  font-lock-multiline t))
+   (non-sticky-props
+'(rear-nonsticky (mouse-face highlight keymap invisible 
intangible help-echo htmlize-link)))
+   (face-property 'link)
+   (hidden (append '(invisible 'denote-link) properties)))
+  (remove-text-properties start end '(invisible nil))
+  (add-text-properties start visible-start hidden)
+  (add-face-text-property start end face-property)
+  (add-text-properties visible-start visible-end properties)
+  (add-text-properties visible-end end hidden)
+  (dolist (pos (list end visible-start visible-end))
+(add-text-properties (1- pos) pos non-sticky-props)))
+(throw :exit t  ; signal success
+  nil)))
 
 (define-obsolete-function-alias
   'denote-get-identifier-at-point



[elpa] externals/a68-mode 401b511f5d: Fix regexp for pr UPPER pr

2025-04-23 Thread ELPA Syncer
branch: externals/a68-mode
commit 401b511f5d65813eb9aa3f5100a89cabb08cc76f
Author: Jose E. Marchesi 
Commit: Jose E. Marchesi 

Fix regexp for pr UPPER pr
---
 a68-mode.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/a68-mode.el b/a68-mode.el
index 0da6fa14ed..973cbef032 100644
--- a/a68-mode.el
+++ b/a68-mode.el
@@ -124,7 +124,7 @@
   (save-excursion
 (goto-char (point-min))
 (if (let ((case-fold-search nil))
-  (and (re-search-forward "PR UPPER PR" nil t)
+  (and (re-search-forward "\\" nil t)
(not (a68-within-comment))
(not (a68-within-string
 'upper



[elpa] externals/vc-jj bc38fca53e: Update NEWS.org

2025-04-23 Thread ELPA Syncer
branch: externals/vc-jj
commit bc38fca53ea965587e4315c2c20c696fb1a95fbb
Author: Rudi Schlatte 
Commit: Rudi Schlatte 

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

diff --git a/NEWS.org b/NEWS.org
index e153d7f3b1..9142fc1113 100644
--- a/NEWS.org
+++ b/NEWS.org
@@ -1,5 +1,15 @@
 * Recent changes
 
+** Unreleased
+
+*** Changed
+
+- Display more information in =vc-dir= headers:
+  - Display change id, commit id, description of the current changeset
+in one line
+  - Display information about the current changeset's parent(s) in the
+same format
+
 ** [[https://codeberg.org/emacs-jj-vc/vc-jj.el/compare/v0.1...v0.2][0.2]] - 
2025-04-18
 
 *** Fixed



[nongnu] elpa/clojure-ts-mode 605adba8ba 1/5: [#11] Add regex syntax highlighting

2025-04-23 Thread ELPA Syncer
branch: elpa/clojure-ts-mode
commit 605adba8babdc82013cd9a9a9f15a8f3ae587e64
Author: Roman Rudakov 
Commit: Bozhidar Batsov 

[#11] Add regex syntax highlighting
---
 CHANGELOG.md   |   1 +
 README.md  |  19 -
 clojure-ts-mode.el | 107 -
 screenshots/markdown-syntax-dark-theme.png | Bin 0 -> 59689 bytes
 screenshots/regex-syntax-dark-theme.png| Bin 0 -> 50440 bytes
 test/samples/regex.clj |   7 ++
 6 files changed, 115 insertions(+), 19 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 41e2a140b1..8c11acd343 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,6 +3,7 @@
 ## main (unreleased)
 
 - [#16](https://github.com/clojure-emacs/clojure-ts-mode/issues/16): Introduce 
`clojure-ts-align`.
+- [#11](https://github.com/clojure-emacs/clojure-ts-mode/issues/11): Enable 
regex syntax highlighting.
 
 ## 0.3.0 (2025-04-15)
 
diff --git a/README.md b/README.md
index f44f5839c1..0c96c55c8e 100644
--- a/README.md
+++ b/README.md
@@ -293,12 +293,29 @@ 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
+`markdown-inline` grammar. To disable this feature set
 
 ``` emacs-lisp
 (setopt clojure-ts-use-markdown-inline nil)
 ```
 
+Example of syntax highlighting:
+
+
+
+### Highlight regex 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
+
+```emacs-lisp
+(setopt clojure-ts-use-regex-parser nil)
+```
+
+Example of syntax highlighting:
+
+
+
 ### Navigation and Evaluation
 
 To make forms inside of `(comment ...)` forms appear as top-level forms for 
evaluation and navigation, set
diff --git a/clojure-ts-mode.el b/clojure-ts-mode.el
index 7c16c01785..f88f342158 100644
--- a/clojure-ts-mode.el
+++ b/clojure-ts-mode.el
@@ -121,6 +121,12 @@ double quotes on the third column."
   :safe #'booleanp
   :package-version '(clojure-ts-mode . "0.2.3"))
 
+(defcustom clojure-ts-use-regex-parser t
+  "When non-nil, use separate grammar to highlight regex syntax."
+  :type 'boolean
+  :safe #'booleanp
+  :package-version '(clojure-ts-mode . "0.4"))
+
 (defcustom clojure-ts-auto-remap t
   "When non-nil, redirect all `clojure-mode' buffers to `clojure-ts-mode'."
   :safe #'booleanp
@@ -407,17 +413,37 @@ if a third argument (the value) is provided.
:*)
  (:match ,clojure-ts--interface-def-symbol-regexp @_def_symbol
 
-(defvar clojure-ts--treesit-range-settings
-  (treesit-range-rules
-   :embed 'markdown-inline
-   :host 'clojure
-   :local t
-   (clojure-ts--docstring-query '@capture)))
+(defun clojure-ts--treesit-range-settings (use-markdown-inline use-regex)
+  "Return value for `treesit-range-settings' for `clojure-ts-mode'.
 
-(defun clojure-ts--font-lock-settings (markdown-available)
+When USE-MARKDOWN-INLINE is non-nil, include range settings for
+markdown-inline parser.
+
+When USE-REGEX is non-nil, include range settings for regex parser."
+  (append
+   (when use-markdown-inline
+ (treesit-range-rules
+  :embed 'markdown-inline
+  :host 'clojure
+  :offset '(1 . -1)
+  :local t
+  (clojure-ts--docstring-query '@capture)))
+   (when use-regex
+ (treesit-range-rules
+  :embed 'regex
+  :host 'clojure
+  :offset '(2 . -1)
+  :local t
+  '((regex_lit) @capture)
+
+(defun clojure-ts--font-lock-settings (markdown-available regex-available)
   "Return font lock settings suitable for use in `treesit-font-lock-settings'.
+
 When MARKDOWN-AVAILABLE is non-nil, includes rules for highlighting docstrings
-with the markdown-inline grammar."
+with the markdown-inline grammar.
+
+When REGEX-AVAILABLE is non-nil, includes rules for highlighting regex
+literals with regex grammar."
   (append
(treesit-font-lock-rules
 :feature 'string
@@ -590,6 +616,44 @@ with the markdown-inline grammar."
  (inline_link (link_destination) @font-lock-constant-face)
  (shortcut_link (link_text) @link)])))
 
+   (when regex-available
+ ;; Queries are adapted from
+ ;; 
https://github.com/tree-sitter/tree-sitter-regex/blob/v0.24.3/queries/highlights.scm.
+ (treesit-font-lock-rules
+  :feature 'regex
+  :language 'regex
+  :override t
+  '((["("
+   ")"
+   "(?"
+   "(?:"
+   "(?<"
+   "(?P<"
+   "(?P="
+   ">"
+   "["
+   "]"
+   "{"
+   "}"
+   "[:"
+   ":]"] @font-lock-regexp-grouping-construct)
+ (["*"
+   "+"
+   "?"
+   "|"
+   "="
+   "!"] @font-lock-property-name-face)
+ ((group_name) @font-lock-variable-name-face)
+ ((count_quantifier
+  

[nongnu] elpa/cider 20d1ef7316 1/2: Tweak markdown markup here and there

2025-04-23 Thread ELPA Syncer
branch: elpa/cider
commit 20d1ef7316b2368735dc79753656830187a19695
Author: Bozhidar Batsov 
Commit: Bozhidar Batsov 

Tweak markdown markup here and there
---
 README.md | 35 ++-
 1 file changed, 18 insertions(+), 17 deletions(-)

diff --git a/README.md b/README.md
index aafbf1ac16..d25e42465f 100644
--- a/README.md
+++ b/README.md
@@ -78,8 +78,8 @@ a Clojure project, without having to visit any file in it.
 You can go to your project's directory in a terminal and type there
 (assuming you're using Leiningen that is):
 
-```
-$ lein repl
+```shell
+lein repl
 ```
 
 Alternatively you can start nREPL either manually or by the facilities provided
@@ -128,22 +128,22 @@ The direction of the project is being stewarded by the 
CIDER core team. This
 group of long-term contributors manage releases, evaluate pull-requests, and
 does a lot of the groundwork on major new features.
 
-* [Bozhidar Batsov](https://github.com/bbatsov) (author & head maintainer)
-* [Vitalie Spinu](https://github.com/vspinu)
-* [Michael Griffiths](https://github.com/cichli)
-* [Lars Andersen](https://github.com/expez)
+- [Bozhidar Batsov](https://github.com/bbatsov) (author & head maintainer)
+- [Vitalie Spinu](https://github.com/vspinu)
+- [Michael Griffiths](https://github.com/cichli)
+- [Lars Andersen](https://github.com/expez)
 
 ### CIDER Alumni
 
 In addition, we'd like to extend a special thanks the following retired CIDER
 core team members. Lovingly known as The Alumni:
 
-* [Tim King](https://github.com/kingtim) (original author)
-* [Phil Hagelberg](https://github.com/technomancy)
-* [Hugo Duncan](https://github.com/hugoduncan)
-* [Steve Purcell](https://github.com/purcell)
-* [Artur Malabarba](https://github.com/malabarba)
-* [Jeff Valk](https://github.com/jeffvalk)
+- [Tim King](https://github.com/kingtim) (original author)
+- [Phil Hagelberg](https://github.com/technomancy)
+- [Hugo Duncan](https://github.com/hugoduncan)
+- [Steve Purcell](https://github.com/purcell)
+- [Artur Malabarba](https://github.com/malabarba)
+- [Jeff Valk](https://github.com/jeffvalk)
 
 ## Release policy
 
@@ -181,11 +181,12 @@ for your preferences (although currently [Open 
Collective](https://opencollectiv
 If you're working in a company that's making significant use of CIDER we'd 
appreciate it if you suggest to your company
 to become a CIDER sponsor.
 
-You can support the development of CIDER, [clojure-mode][] and [inf-clojure][] 
via
-[Open Collective](https://opencollective.com/cider),
-[GitHub Sponsors](https://github.com/sponsors/bbatsov),
-[Patreon](https://www.patreon.com/bbatsov) and
-[PayPal](https://www.paypal.me/bbatsov).
+You can support the development of CIDER, [clojure-mode][] and [inf-clojure][] 
via:
+
+- [Open Collective](https://opencollective.com/cider)
+- [GitHub Sponsors](https://github.com/sponsors/bbatsov)
+- [Patreon](https://www.patreon.com/bbatsov)
+- [PayPal](https://www.paypal.me/bbatsov)
 
 ### Open Collective Backers
 



[nongnu] elpa/clojure-ts-mode 8aed008952 3/5: Use the spelling Tree-sitter consistently

2025-04-23 Thread ELPA Syncer
branch: elpa/clojure-ts-mode
commit 8aed0089520199706f18659bffacfa99e14bf62d
Author: Bozhidar Batsov 
Commit: Bozhidar Batsov 

Use the spelling Tree-sitter consistently

Turns out that's how the project is named officially.
---
 README.md | 20 ++--
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/README.md b/README.md
index 7571565c04..dcca8182fa 100644
--- a/README.md
+++ b/README.md
@@ -19,13 +19,13 @@ for a very long time, but it suffers from a few 
[long-standing
 problems](https://github.com/clojure-emacs/clojure-mode#caveats), related to
 Emacs limitations baked into its design. The introduction of built-in support
 for Tree-sitter in Emacs 29 presents a natural opportunity to address many of
-them. Enter `clojure-ts-mode`, which makes use of TreeSitter to provide:
+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
 
-Working with TreeSitter is significantly easier than the legacy Emacs APIs for 
font-locking and
+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.
 
 Keep in mind that the transition to `clojure-ts-mode` won't happen overnight 
for several reasons:
@@ -55,8 +55,8 @@ Those will be addressed over the time, as more and more 
people use `clojure-ts-m
 
 ### Requirements
 
-For `clojure-ts-mode` to work, you need Emacs 30+ built with TreeSitter 
support.
-To check if your Emacs supports TreeSitter run the following (e.g. by using 
`M-:`):
+For `clojure-ts-mode` to work, you need Emacs 30+ built with Tree-sitter 
support.
+To check if your Emacs supports Tree-sitter run the following (e.g. by using 
`M-:`):
 
 ``` emacs-lisp
 (treesit-available-p)
@@ -64,11 +64,11 @@ To check if your Emacs supports TreeSitter run the 
following (e.g. by using `M-:
 
 Additionally, you'll need to have Git and some C compiler (`cc`) installed and 
available
 in your `$PATH` (or Emacs's `exec-path`), for `clojure-ts-mode` to be able to 
install the required
-TreeSitter grammars automatically.
+Tree-sitter grammars automatically.
 
 > [!TIP]
 >
-> As the TreeSitter support in Emacs is still fairly new and under active 
development itself, for optimal
+> As the Tree-sitter support in Emacs is still fairly new and under active 
development itself, for optimal
 > results you should use the latest stable Emacs release or even the 
 > development version of Emacs.
 > See the "Caveats" section for more on the subject.
 
@@ -121,7 +121,7 @@ Once installed, evaluate `clojure-ts-mode.el` and you 
should be ready to go.
 > `clojure-ts-mode` install the required grammars automatically, so for most
 > people no manual actions will be required.
 
-`clojure-ts-mode` makes use of two TreeSitter grammars to work properly:
+`clojure-ts-mode` makes use of two Tree-sitter grammars to work properly:
 
 - The Clojure grammar, mentioned earlier
 - [markdown-inline](https://github.com/MDeiml/tree-sitter-markdown), which
@@ -139,7 +139,7 @@ each required grammar and make sure you're install the 
versions expected. (see
 
 ### Upgrading tree-sitter grammars
 
-To reinstall or upgrade TreeSitter grammars, you can execute:
+To reinstall or upgrade Tree-sitter grammars, you can execute:
 
 ```emacs-lisp
 M-x clojure-ts-reinstall-grammars
@@ -374,14 +374,14 @@ After installing the package do the following.
 
 ## Caveats
 
-As the TreeSitter Emacs APIs are new and keep evolving there are some
+As the Tree-sitter Emacs APIs are new and keep evolving there are some
 differences in the behavior of `clojure-ts-mode` on different Emacs versions.
 Here are some notable examples:
 
 - On Emacs 29 the parent mode is `prog-mode`, but on Emacs 30+ it's both 
`prog-mode`
 and `clojure-mode` (this is very helpful when dealing with `derived-mode-p` 
checks)
 - Navigation by sexp/lists might work differently on Emacs versions lower
-  than 31. Starting with version 31, Emacs uses TreeSitter 'things' settings, 
if
+  than 31. Starting with version 31, Emacs uses Tree-sitter 'things' settings, 
if
   available, to rebind some commands.
 - The indentation of list elements with metadata is inconsistent with other
   collections. This inconsistency stems from the grammar's interpretation of



[nongnu] elpa/clojure-ts-mode 63d863d048 4/5: Code style

2025-04-23 Thread ELPA Syncer
branch: elpa/clojure-ts-mode
commit 63d863d0482a0172fd5ba0d9140a861c3bdf7e3e
Author: Bozhidar Batsov 
Commit: Bozhidar Batsov 

Code style
---
 README.md | 1 +
 1 file changed, 1 insertion(+)

diff --git a/README.md b/README.md
index dcca8182fa..96651deff0 100644
--- a/README.md
+++ b/README.md
@@ -216,6 +216,7 @@ within the expression's body, nested `n` levels deep, is 
indented by two
 spaces. These rule definitions fully reflect the [cljfmt 
rules](https://github.com/weavejester/cljfmt/blob/0.13.0/docs/INDENTS.md).
 
 For example:
+
 - `do` has a rule `((:block 0))`.
 - `when` has a rule `((:block 1))`.
 - `defn` and `fn` have a rule `((:inner 0))`.



[nongnu] elpa/cider updated (8569592c36 -> b451310a26)

2025-04-23 Thread ELPA Syncer
elpasync pushed a change to branch elpa/cider.

  from  8569592c36 [Fix: #3786] Sort dictionaries by key in nrepl-bencode
   new  20d1ef7316 Tweak markdown markup here and there
   new  b451310a26 Add a basic config file for markdownlint-cli2


Summary of changes:
 .markdownlint-cli2.yaml | 14 ++
 README.md   | 35 ++-
 2 files changed, 32 insertions(+), 17 deletions(-)
 create mode 100644 .markdownlint-cli2.yaml



[nongnu] elpa/flycheck 5840540ea8 01/11: Add markdownlint-cli2 checker

2025-04-23 Thread ELPA Syncer
branch: elpa/flycheck
commit 5840540ea8d7dd051ca65921b859cdb6c4404f2f
Author: Bozhidar Batsov 
Commit: Bozhidar Batsov 

Add markdownlint-cli2 checker
---
 CHANGES.rst   |  1 +
 doc/languages.rst |  8 
 flycheck.el   | 29 +
 3 files changed, 38 insertions(+)

diff --git a/CHANGES.rst b/CHANGES.rst
index 324a8269ec..f64acefd32 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -18,6 +18,7 @@ New Features
   customize how error messages are to be cleared.
 - [#2075]: Add the ``flycheck-chktex-extra-flags`` option to the 
``tex-chktex`` checker.
 - [#2107]: Add ``-Xcompiler`` option for ``cuda-nvcc``.
+- Add support for ``markdownlint-cli2`` checker.
 
 ---
 Bugs fixed
diff --git a/doc/languages.rst b/doc/languages.rst
index dd7bec1b8f..46c9031342 100644
--- a/doc/languages.rst
+++ b/doc/languages.rst
@@ -853,6 +853,14 @@ to view the docstring of the syntax checker.  Likewise, 
you may use
 
  A list of enabled rules.
 
+   .. syntax-checker:: markdown-markdownlint-cli2
+
+  Check Markdown with markdownlint-cli2_.
+
+  .. _markdownlint-cli2: https://github.com/DavidAnson/markdownlint-cli2
+
+  .. syntax-checker-config-file:: 
flycheck-markdown-markdownlint-cli2-config
+
.. syntax-checker:: markdown-mdl
 
   Check Markdown with markdownlint_ (a.k.a. ``mdl``).
diff --git a/flycheck.el b/flycheck.el
index 98abb04f57..333d63acf7 100644
--- a/flycheck.el
+++ b/flycheck.el
@@ -11300,6 +11300,35 @@ See URL 
`https://github.com/igorshubovych/markdownlint-cli'."
   (url 
"https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md#%s";))
   (and error-code `(url . ,(format url error-code))
 
+(flycheck-def-config-file-var flycheck-markdown-markdownlint-cli2-config
+markdown-markdownlint-cli2
+'(".markdownlint-cli2.json" ".markdownlint-cli2.jsonc" 
".markdownlint-cli2.yaml")
+  :package-version '(flycheck . "35"))
+
+(flycheck-define-checker markdown-markdownlint-cli2
+  "Markdown checker using markdownlint-cli2.
+
+See URL `https://github.com/DavidAnson/markdownlint-cli2'."
+  :command ("markdownlint-cli2"
+(config-file "--config" flycheck-markdown-markdownlint-cli2-config)
+"--"
+source)
+  :error-patterns
+  ((error line-start
+  (file-name) ":" line
+  (? ":" column) " " (id (one-or-more (not (any space
+  " " (message) line-end))
+  :error-filter
+  (lambda (errors)
+(flycheck-sanitize-errors
+ (flycheck-remove-error-file-names "(string)" errors)))
+  :modes (markdown-mode gfm-mode)
+  :error-explainer
+  (lambda (err)
+(let ((error-code (substring (flycheck-error-id err) 0 5))
+  (url 
"https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md#%s";))
+  (and error-code `(url . ,(format url error-code))
+
 (flycheck-def-option-var flycheck-markdown-mdl-rules nil markdown-mdl
   "Rules to enable for mdl.
 



[nongnu] elpa/flycheck 53eae76917 02/11: Fix heading style

2025-04-23 Thread ELPA Syncer
branch: elpa/flycheck
commit 53eae7691769ad9bb12bffaba3450d45da3a86c0
Author: Bozhidar Batsov 
Commit: Bozhidar Batsov 

Fix heading style
---
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/README.md b/README.md
index 4e15fbb735..fbed776e56 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-# [![Flycheck][logo]](https://www.flycheck.org) #
+# [![Flycheck][logo]](https://www.flycheck.org)
 
 [![License GPL 
3](https://img.shields.io/github/license/flycheck/flycheck.svg)][COPYING]
 [![Join the 
chat](https://img.shields.io/gitter/room/flycheck/flycheck.svg)](https://gitter.im/flycheck/flycheck)



[nongnu] elpa/flycheck updated (6968280d16 -> 80dfbdd9db)

2025-04-23 Thread ELPA Syncer
elpasync pushed a change to branch elpa/flycheck.

  from  6968280d16 Update 
flycheck-add-overlay/right-position-in-narrowed-buffer output
   new  5840540ea8 Add markdownlint-cli2 checker
   new  53eae76917 Fix heading style
   new  cd6ff72ba0 Remove unused link
   new  87b9b4edd7 Add references to markdownlint-cli2 when needed
   new  197f353765 Add markdown-markdownlint-cli2 to flycheck-checkers
   new  eb10d77a4e Add a note about the various supported markdown linters
   new  b73239837a Automate the creation of GitHub releases
   new  6e43c07e83 Release Flycheck 35
   new  12b2a79cf9 fix: Warning missing lexical-binding cookie
   new  2842e237f6 [Fix #2086] Fix the name of the PyMarkdown config
   new  80dfbdd9db Remove mention of obsolete checker


Summary of changes:
 .github/workflows/github-release.yml | 27 +++
 CHANGES.rst  | 12 +++-
 Eask |  4 +++-
 README.md|  3 +--
 doc/community/extensions.rst |  6 --
 doc/languages.rst| 13 +
 doc/user/error-interaction.rst   |  1 +
 flycheck.el  | 36 +---
 test/flycheck-test.el|  8 
 9 files changed, 93 insertions(+), 17 deletions(-)
 create mode 100644 .github/workflows/github-release.yml



[nongnu] elpa/flycheck eb10d77a4e 06/11: Add a note about the various supported markdown linters

2025-04-23 Thread ELPA Syncer
branch: elpa/flycheck
commit eb10d77a4ef41940382bb84a4e5ac45bb45634c3
Author: Bozhidar Batsov 
Commit: Bozhidar Batsov 

Add a note about the various supported markdown linters
---
 doc/languages.rst | 5 +
 1 file changed, 5 insertions(+)

diff --git a/doc/languages.rst b/doc/languages.rst
index 46c9031342..22366219d5 100644
--- a/doc/languages.rst
+++ b/doc/languages.rst
@@ -837,6 +837,11 @@ to view the docstring of the syntax checker.  Likewise, 
you may use
 
 .. supported-language:: Markdown
 
+   Flycheck checks Markdown with `markdownlint-cli`, `markdownlint-cli2`,
+   `mdl` (that's the binary of the Ruby project `markdownlint`) or 
`pymarkdown`.
+   `markdownlint-cli` and `markdownlint-cli2` are different command-line 
interfaces
+   for the same `markdownlint` library (written in JavaScript).
+
.. syntax-checker:: markdown-markdownlint-cli
 
   Check Markdown with markdownlint-cli_.



[nongnu] elpa/clojure-ts-mode 1f6be8f011 5/5: Use consistent naming

2025-04-23 Thread ELPA Syncer
branch: elpa/clojure-ts-mode
commit 1f6be8f01127d5cac94e28fc9bcc7659a5b924e2
Author: Bozhidar Batsov 
Commit: Bozhidar Batsov 

Use consistent naming
---
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/README.md b/README.md
index 96651deff0..02e598a878 100644
--- a/README.md
+++ b/README.md
@@ -281,7 +281,7 @@ To highlight entire rich `comment` expression with the 
comment font face, set
 ```
 
 By default this is `nil`, so that anything within a `comment` expression is
-highlighted like regular clojure code.
+highlighted like regular Clojure code.
 
 > [!TIP]
 >



[nongnu] elpa/flycheck 87b9b4edd7 04/11: Add references to markdownlint-cli2 when needed

2025-04-23 Thread ELPA Syncer
branch: elpa/flycheck
commit 87b9b4edd7e6664261e29778174400f40a23b3d2
Author: Bozhidar Batsov 
Commit: Bozhidar Batsov 

Add references to markdownlint-cli2 when needed
---
 doc/user/error-interaction.rst | 1 +
 test/flycheck-test.el  | 8 
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/doc/user/error-interaction.rst b/doc/user/error-interaction.rst
index a54e6ccbd7..e9ed59cb84 100644
--- a/doc/user/error-interaction.rst
+++ b/doc/user/error-interaction.rst
@@ -205,6 +205,7 @@ checkers produce explanations, the majority do not.  Those 
that do are:
 * `css-stylelint`
 * `javascript-eslint`
 * `markdown-markdownlint-cli`
+* `markdown-markdownlint-cli2`
 * `nix-linter`
 * `perl-perlcritic`
 * `python-pylint`
diff --git a/test/flycheck-test.el b/test/flycheck-test.el
index bad4287686..62618ab262 100644
--- a/test/flycheck-test.el
+++ b/test/flycheck-test.el
@@ -4133,7 +4133,7 @@ Perhaps:
   ;; because Click, used by ProseLint, when running with python 3 will refuse 
to
   ;; work unless an Unicode locale is exported. See:
   ;; http://click.pocoo.org/5/python3/#python-3-surrogate-handling
-  (let ((flycheck-disabled-checkers '(markdown-markdownlint-cli markdown-mdl 
markdown-pymarkdown)))
+  (let ((flycheck-disabled-checkers '(markdown-markdownlint-cli 
markdown-markdownlint-cli2 markdown-mdl markdown-pymarkdown)))
 (flycheck-ert-with-env '(("LC_ALL" . nil))
   (flycheck-ert-should-syntax-check
"language/text/text.txt" '(text-mode markdown-mode)
@@ -4433,7 +4433,7 @@ Perhaps:
:id "MD009/no-trailing-spaces" :checker markdown-markdownlint-cli)))
 
 (flycheck-ert-def-checker-test markdown-mdl markdown nil
-  (let ((flycheck-disabled-checkers '(markdown-markdownlint-cli 
markdown-pymarkdown)))
+  (let ((flycheck-disabled-checkers '(markdown-markdownlint-cli 
markdown-markdownlint-cli2 markdown-pymarkdown)))
 (flycheck-ert-should-syntax-check
  "language/markdown.md" 'markdown-mode
  '(1 nil error "First header should be a top level header"
@@ -,7 +,7 @@ Perhaps:
  :id "MD009" :checker markdown-mdl
 
 (flycheck-ert-def-checker-test markdown-pymarkdown markdown nil
-  (let ((flycheck-disabled-checkers '(markdown-markdownlint-cli markdown-mdl)))
+  (let ((flycheck-disabled-checkers '(markdown-markdownlint-cli 
markdown-markdownlint-cli2 markdown-mdl)))
 (flycheck-ert-should-syntax-check
  "language/markdown.md" 'markdown-mode
  '(1 nil error "Headings should be surrounded by blank lines. [Expected: 
1; Actual: 2; Below] (blanks-around-headings,blanks-around-headers)"
@@ -5085,7 +5085,7 @@ The manifest path is relative to
:checker texinfo)))
 
 (flycheck-ert-def-checker-test textlint (text markdown) nil
-  (let ((flycheck-disabled-checkers '(proselint markdown-markdownlint-cli 
markdown-mdl))
+  (let ((flycheck-disabled-checkers '(proselint markdown-markdownlint-cli 
markdown-markdownlint-cli2 markdown-mdl))
 (flycheck-textlint-config "language/text/textlintrc.json"))
 (flycheck-ert-should-syntax-check
  "language/text/text.txt" '(text-mode markdown-mode)



[nongnu] elpa/flycheck 12b2a79cf9 09/11: fix: Warning missing lexical-binding cookie

2025-04-23 Thread ELPA Syncer
branch: elpa/flycheck
commit 12b2a79cf9ffceadd3fc3e164149b62675dafce2
Author: Jen-Chieh Shen 
Commit: Bozhidar Batsov 

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

diff --git a/Eask b/Eask
index 483a495c68..f9c66ca3b1 100644
--- a/Eask
+++ b/Eask
@@ -1,3 +1,5 @@
+;; -*- mode: eask; lexical-binding: t -*-
+
 (package "flycheck"
  "35.0"
  "On-the-fly syntax checking")



[nongnu] elpa/flycheck 80dfbdd9db 11/11: Remove mention of obsolete checker

2025-04-23 Thread ELPA Syncer
branch: elpa/flycheck
commit 80dfbdd9db9fc188bde76e763bed3ea985105c67
Author: Bozhidar Batsov 
Commit: Bozhidar Batsov 

Remove mention of obsolete checker
---
 doc/community/extensions.rst | 6 --
 1 file changed, 6 deletions(-)

diff --git a/doc/community/extensions.rst b/doc/community/extensions.rst
index c98ee382e2..cd0fb498a1 100644
--- a/doc/community/extensions.rst
+++ b/doc/community/extensions.rst
@@ -87,12 +87,6 @@ Deno
 .. _Deno: https://deno.land/
 .. _deno-lint: https://deno.land/manual@v1.15.2/tools/linter
 
-Elixir
---
-
-* :gh:`tomekowal/flycheck-mix` adds an Elixir syntax checker using the ``mix``
-  build tool.
-
 Emacs Lisp
 --
 



[nongnu] elpa/flycheck b73239837a 07/11: Automate the creation of GitHub releases

2025-04-23 Thread ELPA Syncer
branch: elpa/flycheck
commit b73239837a40ce7a7ebe1b67e8ff8facf7af6de6
Author: Bozhidar Batsov 
Commit: Bozhidar Batsov 

Automate the creation of GitHub releases
---
 .github/workflows/github-release.yml | 27 +++
 1 file changed, 27 insertions(+)

diff --git a/.github/workflows/github-release.yml 
b/.github/workflows/github-release.yml
new file mode 100644
index 00..e726cbdab7
--- /dev/null
+++ b/.github/workflows/github-release.yml
@@ -0,0 +1,27 @@
+name: Create GitHub Release
+
+on:
+  push:
+tags:
+  - "v*"  # Trigger when a version tag is pushed (e.g., v1.0.0)
+
+jobs:
+  create-release:
+runs-on: ubuntu-latest
+
+permissions:
+  contents: write
+
+steps:
+  - name: Checkout Code
+uses: actions/checkout@v4
+
+  - name: Create GitHub Release with Auto-Generated Notes
+uses: ncipollo/release-action@v1
+with:
+  tag: ${{ github.ref_name }}
+  name: Flycheck ${{ github.ref_name }}
+  prerelease: ${{ contains(github.ref, '-rc') || contains(github.ref, 
'-alpha') || contains(github.ref, '-beta') }}
+  generateReleaseNotes: true  # Auto-generate release notes based on 
PRs and commits
+  # TODO: Use bodyFile to get the contents from changelog
+  token: ${{ secrets.GITHUB_TOKEN }}



[nongnu] elpa/flycheck 2842e237f6 10/11: [Fix #2086] Fix the name of the PyMarkdown config

2025-04-23 Thread ELPA Syncer
branch: elpa/flycheck
commit 2842e237f6abe6602ac3b3bb1ce45bc130e0a1ec
Author: Bozhidar Batsov 
Commit: Bozhidar Batsov 

[Fix #2086] Fix the name of the PyMarkdown config
---
 CHANGES.rst | 6 ++
 flycheck.el | 2 +-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/CHANGES.rst b/CHANGES.rst
index a72ecb0ee5..bd9ad20a3e 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -1,6 +1,12 @@
 ``master`` (unreleased)
 ==
 
+---
+Bugs fixed
+---
+
+- [#2086]: Fix the name of the PyMarkdown config.
+
 35.0 (2025-04-23)
 ==
 
diff --git a/flycheck.el b/flycheck.el
index 2fb3809478..dc1c43c615 100644
--- a/flycheck.el
+++ b/flycheck.el
@@ -11391,7 +11391,7 @@ See URL `https://github.com/markdownlint/markdownlint'."
 
 See URL `https://pypi.org/project/pymarkdownlnt/'."
   :command ("pymarkdown"
-(config-file "--config" flycheck-markdown-markdownlint-cli-config)
+(config-file "--config" flycheck-markdown-pymarkdown-config)
 "scan"
 source)
   :error-patterns



[nongnu] elpa/flycheck 6e43c07e83 08/11: Release Flycheck 35

2025-04-23 Thread ELPA Syncer
branch: elpa/flycheck
commit 6e43c07e83406cdd3f75952ee988d61d7573ec11
Author: Bozhidar Batsov 
Commit: Bozhidar Batsov 

Release Flycheck 35
---
 CHANGES.rst | 7 +--
 Eask| 2 +-
 flycheck.el | 4 ++--
 3 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/CHANGES.rst b/CHANGES.rst
index f64acefd32..a72ecb0ee5 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -1,6 +1,9 @@
 ``master`` (unreleased)
 ==
 
+35.0 (2025-04-23)
+==
+
 
 New Features
 
@@ -18,13 +21,13 @@ New Features
   customize how error messages are to be cleared.
 - [#2075]: Add the ``flycheck-chktex-extra-flags`` option to the 
``tex-chktex`` checker.
 - [#2107]: Add ``-Xcompiler`` option for ``cuda-nvcc``.
-- Add support for ``markdownlint-cli2`` checker.
+- Add new ``markdownlint-cli2`` checker.
 
 ---
 Bugs fixed
 ---
 
-- [#2057]: Revert the extraction of ``flycheck-version`` with ``lm-version``.
+- [#2057]: Revert the replacement of ``flycheck-version`` with ``lm-version``.
 - [#1972]: Refine flycheck-display-errors lifecycle so error messages can be 
cleared.
 - [#2067]: Handle correctly GHC 9.6 error output format.
 - [#2079]: Fix ruff ``error-patterns`` and ``error-filter``.
diff --git a/Eask b/Eask
index 12987756e4..483a495c68 100644
--- a/Eask
+++ b/Eask
@@ -1,5 +1,5 @@
 (package "flycheck"
- "34.1"
+ "35.0"
  "On-the-fly syntax checking")
 
 (website-url "https://www.flycheck.org";)
diff --git a/flycheck.el b/flycheck.el
index 35976ec811..2fb3809478 100644
--- a/flycheck.el
+++ b/flycheck.el
@@ -10,7 +10,7 @@
 ;; Bozhidar Batsov 
 ;; URL: https://www.flycheck.org
 ;; Keywords: convenience, languages, tools
-;; Version: 35.0-snapshot
+;; Version: 35.0
 ;; Package-Requires: ((emacs "27.1"))
 
 ;; This file is not part of GNU Emacs.
@@ -1275,7 +1275,7 @@ Only has effect when variable `global-flycheck-mode' is 
non-nil."
 
 
 
-(defconst flycheck-version "35.0-snapshot"
+(defconst flycheck-version "35.0"
   "The current version of Flycheck.
 
 Should be kept in sync with the package version metadata.



[nongnu] elpa/flycheck cd6ff72ba0 03/11: Remove unused link

2025-04-23 Thread ELPA Syncer
branch: elpa/flycheck
commit cd6ff72ba0ff61bdd497fc13393f316da06e7189
Author: Bozhidar Batsov 
Commit: Bozhidar Batsov 

Remove unused link
---
 README.md | 1 -
 1 file changed, 1 deletion(-)

diff --git a/README.md b/README.md
index fbed776e56..647481b9a7 100644
--- a/README.md
+++ b/README.md
@@ -158,7 +158,6 @@ PARTICULAR PURPOSE.  See the [GNU General Public 
License][copying] for more
 details.
 
 [COPYING]: https://github.com/flycheck/flycheck/blob/master/COPYING
-[manual]: https://www.flycheck.org/en/latest/index.html#the-user-guide
 [logo]: 
https://raw.githubusercontent.com/flycheck/flycheck/master/doc/_static/logo.png
 [try it]: https://www.flycheck.org/en/latest/#try-out
 [Installation]: https://www.flycheck.org/en/latest/user/installation.html



[nongnu] elpa/flycheck 197f353765 05/11: Add markdown-markdownlint-cli2 to flycheck-checkers

2025-04-23 Thread ELPA Syncer
branch: elpa/flycheck
commit 197f353765bafb0ea0ceae263cfa8f985b28cb99
Author: Bozhidar Batsov 
Commit: Bozhidar Batsov 

Add markdown-markdownlint-cli2 to flycheck-checkers
---
 flycheck.el | 1 +
 1 file changed, 1 insertion(+)

diff --git a/flycheck.el b/flycheck.el
index 333d63acf7..35976ec811 100644
--- a/flycheck.el
+++ b/flycheck.el
@@ -179,6 +179,7 @@
 lua-luacheck
 lua
 markdown-markdownlint-cli
+markdown-markdownlint-cli2
 markdown-mdl
 markdown-pymarkdown
 nix



[elpa] externals/show-font ec5c57fbad 1/3: Make the show-font--select-preview-prompt use its history

2025-04-23 Thread ELPA Syncer
branch: externals/show-font
commit ec5c57fbad335274d29b1a1deaa89f5b3721f167
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Make the show-font--select-preview-prompt use its history
---
 show-font.el | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/show-font.el b/show-font.el
index f57b649e34..0ce06f2704 100644
--- a/show-font.el
+++ b/show-font.el
@@ -400,7 +400,8 @@ Optional REGEXP has the same meaning as in the 
aforementioned function."
   (let ((def (car show-font-select-preview-history)))
 (completing-read
  (format-prompt "Select font to preview" def)
- (show-font-get-installed-font-families regexp
+ (show-font-get-installed-font-families regexp)
+ nil t nil 'show-font-select-preview-history)))
 
 ;;;###autoload
 (defun show-font-select-preview (family)



[elpa] externals/show-font 482e07699f 2/3: Propertize the show-font-character-sample only if it is a string

2025-04-23 Thread ELPA Syncer
branch: externals/show-font
commit 482e07699f202e790f424fe7269b0797c26f5624
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Propertize the show-font-character-sample only if it is a string
---
 show-font.el | 12 +++-
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/show-font.el b/show-font.el
index 0ce06f2704..1534eb4e4a 100644
--- a/show-font.el
+++ b/show-font.el
@@ -318,16 +318,18 @@ instead of that of the file."
   (list-of-blocks nil)
   (pangram (show-font--get-pangram))
   (name (or family (show-font--get-attribute-from-file "fullname")))
-  (family (or family (show-font--get-attribute-from-file "family"
+  (family (or family (show-font--get-attribute-from-file "family")))
+  (propertize-sample-p (stringp show-font-character-sample)))
   (dolist (face faces)
 (push (propertize pangram 'face (list face :family family)) 
list-of-lines)
 (push (propertize pangram 'face (list face :family family :slant 
'italic)) list-of-lines)
 (push (propertize pangram 'face (list face :family family :weight 
'bold)) list-of-lines)
 (push (propertize pangram 'face (list face :family family :slant 
'italic :weight 'bold)) list-of-lines)
-(push (propertize show-font-character-sample 'face (list face :family 
family)) list-of-blocks)
-(push (propertize show-font-character-sample 'face (list face :family 
family :slant 'italic)) list-of-blocks)
-(push (propertize show-font-character-sample 'face (list face :family 
family :weight 'bold)) list-of-blocks)
-(push (propertize show-font-character-sample 'face (list face :family 
family :slant 'italic :weight 'bold)) list-of-blocks))
+(when propertize-sample-p
+  (push (propertize show-font-character-sample 'face (list face 
:family family)) list-of-blocks)
+  (push (propertize show-font-character-sample 'face (list face 
:family family :slant 'italic)) list-of-blocks)
+  (push (propertize show-font-character-sample 'face (list face 
:family family :weight 'bold)) list-of-blocks)
+  (push (propertize show-font-character-sample 'face (list face 
:family family :slant 'italic :weight 'bold)) list-of-blocks)))
   (concat
(propertize name 'face (list 'show-font-title :family family))
"\n"



[elpa] externals/tmr cb867cc720 3/5: Merge pull request #2 from Stebalien/steb/mode-line

2025-04-23 Thread ELPA Syncer
branch: externals/tmr
commit cb867cc72037334ee72b1eb3eab5a74dcf2e683d
Merge: 32e522b07b cc3b8db6dd
Author: Protesilaos Stavrou 
Commit: GitHub 

Merge pull request #2 from Stebalien/steb/mode-line

Add support for displaying timers in the mode-line
---
 tmr.el | 147 -
 1 file changed, 146 insertions(+), 1 deletion(-)

diff --git a/tmr.el b/tmr.el
index 5641dfafeb..0ef313ddd5 100644
--- a/tmr.el
+++ b/tmr.el
@@ -37,7 +37,10 @@
 ;;; Code:
 
 (require 'seq)
-(eval-when-compile (require 'cl-lib))
+(require 'format-spec)
+(eval-when-compile
+  (require 'cl-lib)
+  (require 'subr-x))
 
 (defgroup tmr ()
   "TMR May Ring: set timers using a simple notation."
@@ -143,6 +146,38 @@ meant for experienced users."
   :value-type ,display-buffer--action-custom-type)
   :package-version '(tmr . "1.1.0"))
 
+(defcustom tmr-mode-line-format "%r%d"
+  "Format string for displaying a timer in the mode-line.
+Available format specifiers:
+- %r: Remaining time.
+- %d: Timer description (truncated to `tmr-mode-line-max-desc-length')."
+  :type 'string
+  :group 'tmr)
+
+(defcustom tmr-mode-line-separator " | "
+  "String used to separate multiple timers in the mode-line."
+  :type 'string
+  :group 'tmr)
+
+(defcustom tmr-mode-line-max-timers 3
+  "Maximum number of timers to display in the mode-line.
+Set to nil to show all timers."
+  :type '(choice (const :tag "Show all" nil)
+ (integer :tag "Maximum number"))
+  :group 'tmr)
+
+(defcustom tmr-mode-line-max-desc-length 15
+  "Maximum length for timer descriptions in the mode-line.
+Longer descriptions will be truncated."
+  :type '(choice (const :tag "Don't truncate" nil)
+ (integer :tag "Truncate"))
+  :group 'tmr)
+
+(defcustom tmr-mode-line-prefix "⏰"
+  "Prefix string displayed before the timer list."
+  :type 'string
+  :group 'tmr)
+
  Faces
 
 (defgroup tmr-faces ()
@@ -229,6 +264,21 @@ meant for experienced users."
   :package-version '(tmr . "1.1.0")
   :group 'tmr-faces)
 
+(defface tmr-mode-line-active
+  '((t :inherit mode-line-emphasis))
+  "Face for active timers in the mode-line."
+  :group 'tmr-faces)
+
+(defface tmr-mode-line-soon
+  '((t :inherit warning))
+  "Face for timers that will expire in the next 2 minutes."
+  :group 'tmr-faces)
+
+(defface tmr-mode-line-urgent
+  '((t :inherit error))
+  "Face for timers that will expire in the next 30 seconds."
+  :group 'tmr-faces)
+
  Common helpers
 
 (cl-defstruct (tmr--timer
@@ -843,6 +893,101 @@ they are set to reasonable default values."
 (add-hook 'tmr--update-hook #'tmr-tabulated--refresh)
 (add-hook 'tmr--read-timer-hook #'tmr-tabulated--timer-at-point)
 
+ Mode-line indicator
+
+(defvar tmr-mode-line-string nil
+  "TMR mode-line string.")
+(put 'tmr-mode-line-string 'risky-local-variable t)
+
+(defvar tmr-mode-line--update-timer nil
+  "Timer to update the mode-line.")
+
+(defun tmr-mode-line--format-remaining (timer)
+  "Format remaining time for TIMER with appropriate face."
+  (let* ((secs (float-time (time-subtract (tmr--timer-end-date timer) nil)))
+ (face (cond ((and (< secs 5) (evenp (truncate secs)))
+  '((t :inherit tmr-mode-line-urgent :inverse-video t)))
+ ((< secs 30) 'tmr-mode-line-urgent)
+ ((= (truncate secs) 30)
+  '((t :inherit tmr-mode-line-urgent :inverse-video t)))
+ ((= (truncate secs) 60)
+  '((t :inherit tmr-mode-line-soon :inverse-video t)))
+ ((< secs 120) 'tmr-mode-line-soon)
+ ((= (truncate secs) 120)
+  '((t :inherit tmr-mode-line-soon :inverse-video t)))
+ (t 'tmr-mode-line-active)))
+ (formatted (format-seconds
+ (cond ((< secs 120) "%mm %ss%z")
+   ((< secs (* 24 60 60)) "%hh %mm%z")
+   (t "%dd %hh%z"))
+ secs)))
+(propertize formatted 'face face)))
+
+(defun tmr-mode-line--format-description (timer)
+  "Format description for TIMER, truncating if necessary."
+  (if-let* ((desc (tmr--timer-description timer)))
+(concat " " (if tmr-mode-line-max-desc-length
+(truncate-string-to-width
+ desc tmr-mode-line-max-desc-length
+ nil nil t)
+  desc))
+""))
+
+(defun tmr-mode-line--format-timer (timer)
+  "Format a single TIMER for display in the mode-line."
+  (propertize
+   (format-spec tmr-mode-line-format
+`((?r . ,(tmr-mode-line--format-remaining timer))
+  (?d . ,(tmr-mode-line--format-description timer
+   'help-echo (tmr--long-description timer)))
+
+(defun tmr-mode-line--get-active-timers ()
+  "Return a sorted list of active timers."
+  (thread-last tmr--timers
+   (seq-remove #'tmr--timer-finishedp)
+   

[elpa] externals/tmr 5df763d091 1/5: Add support for displaying timers in the mode-line

2025-04-23 Thread ELPA Syncer
branch: externals/tmr
commit 5df763d091559f08918b7a9276d1b4c97ad9bbc6
Author: Steven Allen 
Commit: Steven Allen 

Add support for displaying timers in the mode-line

This patch adds support for displaying active timers in the mode-line
(specifically, the global-mode-string).

- The number of timers displayed is configurable (defaults to 3).
- The max description length is also configurable.
- The timer will blink and change faces when it gets closer to expiring.
- Timers only display seconds when within 2 minutes of expiring to avoid
  being too distracting.

This package is best used when the global mode string is displayed in
the tab-bar (by enabling tab-bar-mode and adding tab-bar-format-global
to tab-bar-format).
---
 tmr-mode-line.el | 179 +++
 1 file changed, 179 insertions(+)

diff --git a/tmr-mode-line.el b/tmr-mode-line.el
new file mode 100644
index 00..c55c553a5e
--- /dev/null
+++ b/tmr-mode-line.el
@@ -0,0 +1,179 @@
+;;; tmr-mode-line.el --- Mode-line integration for tmr -*- lexical-binding: t 
-*-
+
+;; Copyright (C) 2025  Free Software Foundation, Inc.
+
+;;; Commentary:
+
+;; This package provides a mode-line component that displays active TMR May 
Ring
+;; timers with a countdown to when they fire.
+;;
+;; To use it, add the following to your init file:
+;;
+;; (require 'tmr-mode-line)
+;; (tmr-mode-line-mode 1)
+;;
+;; Customize the appearance with:
+;; - `tmr-mode-line-format': Format string for displaying each timer
+;; - `tmr-mode-line-separator': String used to separate multiple timers
+;; - `tmr-mode-line-max-timers': Maximum number of timers to display
+;; - `tmr-mode-line-max-desc-length': Max length for timer descriptions
+
+;;; Code:
+
+(require 'tmr)
+(require 'format-spec)
+(eval-when-compile (require 'subr-x))
+
+(defgroup tmr-mode-line nil
+  "Mode-line integration for TMR May Ring."
+  :link '(info-link :tag "Info Manual" "(tmr)")
+  :link '(url-link :tag "Homepage" "https://protesilaos.com/emacs/tmr";)
+  :link '(emacs-library-link :tag "Library Source" "tmr.el")
+  :group 'tmr)
+
+(defcustom tmr-mode-line-format "%r%d"
+  "Format string for displaying a timer in the mode-line.
+Available format specifiers:
+- %r: Remaining time.
+- %d: Timer description (truncated to `tmr-mode-line-max-desc-length')."
+  :type 'string
+  :group 'tmr-mode-line)
+
+(defcustom tmr-mode-line-separator " | "
+  "String used to separate multiple timers in the mode-line."
+  :type 'string
+  :group 'tmr-mode-line)
+
+(defcustom tmr-mode-line-max-timers 3
+  "Maximum number of timers to display in the mode-line.
+Set to nil to show all timers."
+  :type '(choice (const :tag "Show all" nil)
+ (integer :tag "Maximum number"))
+  :group 'tmr-mode-line)
+
+(defcustom tmr-mode-line-max-desc-length 15
+  "Maximum length for timer descriptions in the mode-line.
+Longer descriptions will be truncated."
+  :type '(choice (const :tag "Don't truncate" nil)
+ (integer :tag "Truncate"))
+  :group 'tmr-mode-line)
+
+(defcustom tmr-mode-line-prefix "⏰"
+  "Prefix string displayed before the timer list."
+  :type 'string
+  :group 'tmr-mode-line)
+
+(defface tmr-mode-line-active
+  '((t :inherit mode-line-emphasis))
+  "Face for active timers in the mode-line."
+  :group 'tmr-mode-line)
+
+(defface tmr-mode-line-soon
+  '((t :inherit warning))
+  "Face for timers that will expire in the next 2 minutes."
+  :group 'tmr-mode-line)
+
+(defface tmr-mode-line-urgent
+  '((t :inherit error))
+  "Face for timers that will expire in the next 30 seconds."
+  :group 'tmr-mode-line)
+
+(defvar tmr-mode-line-string nil
+  "TMR mode-line string.")
+(put 'tmr-mode-line-string 'risky-local-variable t)
+
+(defvar tmr-mode-line--update-timer nil
+  "Timer to update the mode-line.")
+
+(defun tmr-mode-line--format-remaining (timer)
+  "Format remaining time for TIMER with appropriate face."
+  (let* ((secs (float-time (time-subtract (tmr--timer-end-date timer) nil)))
+ (face (cond ((and (< secs 5) (evenp (truncate secs)))
+  '((t :inherit tmr-mode-line-urgent :inverse-video t)))
+ ((< secs 30) 'tmr-mode-line-urgent)
+ ((= (truncate secs) 30)
+  '((t :inherit tmr-mode-line-urgent :inverse-video t)))
+ ((= (truncate secs) 60)
+  '((t :inherit tmr-mode-line-soon :inverse-video t)))
+ ((< secs 120) 'tmr-mode-line-soon)
+ ((= (truncate secs) 120)
+  '((t :inherit tmr-mode-line-soon :inverse-video t)))
+ (t 'tmr-mode-line-active)))
+ (formatted (format-seconds
+ (cond ((< secs 120) "%mm %ss%z")
+   ((< secs (* 24 60 60)) "%hh %mm%z")
+   (t "%dd %hh%z"))
+ secs)))
+(propertize formatted 'fa

[elpa] externals/spacious-padding 8519c50f0f: Make spacious-padding-modify-frame-parameters actually accept FRAME

2025-04-23 Thread ELPA Syncer
branch: externals/spacious-padding
commit 8519c50f0f7bc36f21856c19534bf80849b70c94
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Make spacious-padding-modify-frame-parameters actually accept FRAME

Looking at the code I had there, this was the original intention.
---
 spacious-padding.el | 29 +++--
 1 file changed, 15 insertions(+), 14 deletions(-)

diff --git a/spacious-padding.el b/spacious-padding.el
index ba584277ab..0f313cf389 100644
--- a/spacious-padding.el
+++ b/spacious-padding.el
@@ -426,25 +426,26 @@ parameter value."
 (spacious-padding--define-get-frame-param "right-fringe-width" nil)
 (spacious-padding--define-get-frame-param "scroll-bar-width" 8)
 
-(defun spacious-padding-modify-frame-parameters (&optional reset)
-  "Modify all frame parameters to specify spacing.
+(defun spacious-padding-modify-frame-parameters (&optional frame reset)
+  "Modify spacing of all frames or optional FRAME.
 With optional RESET argument as non-nil, restore the default
 parameter values."
-  (modify-all-frames-parameters
-   `((internal-border-width . ,(spacious-padding--get-internal-border-width 
reset))
- (right-divider-width . ,(spacious-padding--get-right-divider-width reset))
- (left-fringe . ,(or (spacious-padding--get-left-fringe-width reset)
- (spacious-padding--get-fringe-width reset)))
- (right-fringe . ,(or (spacious-padding--get-right-fringe-width reset)
-  (spacious-padding--get-fringe-width reset)))
- (scroll-bar-width  . ,(spacious-padding--get-scroll-bar-width reset)
+  (let ((parameters `((internal-border-width . 
,(spacious-padding--get-internal-border-width reset))
+  (right-divider-width . 
,(spacious-padding--get-right-divider-width reset))
+  (left-fringe . ,(or 
(spacious-padding--get-left-fringe-width reset)
+  (spacious-padding--get-fringe-width 
reset)))
+  (right-fringe . ,(or 
(spacious-padding--get-right-fringe-width reset)
+   (spacious-padding--get-fringe-width 
reset)))
+  (scroll-bar-width  . 
,(spacious-padding--get-scroll-bar-width reset)
+   (if frame
+   (modify-frame-parameters frame parameters)
+ (modify-all-frames-parameters parameters
 
 ;;;###autoload
 (defun spacious-padding-set-parameters-of-frame (frame)
   "Set the layout parameters of FRAME and update the faces."
-  (with-selected-frame frame
-(spacious-padding-modify-frame-parameters)
-(spacious-padding-set-faces)))
+  (spacious-padding-modify-frame-parameters frame)
+  (spacious-padding-set-faces))
 
 (defun spacious-padding--enable-mode ()
   "Enable `spacious-padding-mode'."
@@ -457,7 +458,7 @@ parameter values."
 
 (defun spacious-padding--disable-mode ()
   "Disable `spacious-padding-mode'."
-  (spacious-padding-modify-frame-parameters :reset)
+  (spacious-padding-modify-frame-parameters nil :reset)
   (spacious-padding-unset-invisible-dividers)
   (remove-hook 'window-divider-mode-hook #'spacious-padding--enable-mode)
   (remove-hook 'enable-theme-functions #'spacious-padding-set-faces)



[elpa] externals/tmr updated (32e522b07b -> 133eb60db7)

2025-04-23 Thread ELPA Syncer
elpasync pushed a change to branch externals/tmr.

  from  32e522b07b Update to tmr version 1.1.0
   new  5df763d091 Add support for displaying timers in the mode-line
   new  cc3b8db6dd Merge tmr-mode-line.el into tmr.el
   new  cb867cc720 Merge pull request #2 from Stebalien/steb/mode-line
   new  131401281b Specify :app-icon in the notification we produce
   new  133eb60db7 Specify :package-version of all def{custom,face} about 
the new mode line indicator


Summary of changes:
 tmr.el | 156 -
 1 file changed, 155 insertions(+), 1 deletion(-)



[elpa] externals/tmr 131401281b 4/5: Specify :app-icon in the notification we produce

2025-04-23 Thread ELPA Syncer
branch: externals/tmr
commit 131401281b13d55c6f99ac3086fc567b10d382f9
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Specify :app-icon in the notification we produce
---
 tmr.el | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tmr.el b/tmr.el
index 0ef313ddd5..7215458041 100644
--- a/tmr.el
+++ b/tmr.el
@@ -528,6 +528,7 @@ Read: (info \"(elisp) Desktop Notifications\") for details."
  :title title
  :body body
  :app-name "GNU Emacs"
+ :app-icon 'emacs
  :urgency tmr-notification-urgency
  :sound-file tmr-sound-file))
 (warn "Emacs has no DBUS support, TMR notifications unavailable")))



[elpa] externals/show-font updated (7af59f87ce -> b17dc63e66)

2025-04-23 Thread ELPA Syncer
elpasync pushed a change to branch externals/show-font.

  from  7af59f87ce Document that show-font-title-small is obsolete per 
commit 2e463c8
   new  ec5c57fbad Make the show-font--select-preview-prompt use its history
   new  482e07699f Propertize the show-font-character-sample only if it is 
a string
   new  b17dc63e66 Tweak how we check that show-font-character-sample is a 
string


Summary of changes:
 show-font.el | 19 +--
 1 file changed, 13 insertions(+), 6 deletions(-)



[nongnu] elpa/racket-mode aca0785165: hash-lang: Use electric-pair-local-mode; fixes #747

2025-04-23 Thread ELPA Syncer
branch: elpa/racket-mode
commit aca07851659baaebb0c91e70554c45879746af9b
Author: Greg Hendershott 
Commit: Greg Hendershott 

hash-lang: Use electric-pair-local-mode; fixes #747

Ditch our custom code to handle a lang supplying multi-char
delimiters.

Use electric-pair-local-mode by default, configuring it with a lang's
paren-matches and quote-matches, provided they are single characters
-- ignore multi char delimiters.

This is much simpler. Although it doesn't handle Rhombus '( and )'
delimiters directly, for example, the user can type '( to get '() and
then type )' and it works as expected.
---
 doc/generate.el  |   1 -
 doc/racket-mode.texi |  34 +++
 racket-hash-lang.el  | 167 ---
 3 files changed, 45 insertions(+), 157 deletions(-)

diff --git a/doc/generate.el b/doc/generate.el
index ee61264be5..9cbe95fbde 100644
--- a/doc/generate.el
+++ b/doc/generate.el
@@ -202,7 +202,6 @@
 racket-expand-hiding
 "Hash lang variables"
 racket-hash-lang-token-face-alist
-racket-hash-lang-pairs
 racket-hash-lang-module-language-hook
 "REPL variables"
 racket-repl-buffer-name-function
diff --git a/doc/racket-mode.texi b/doc/racket-mode.texi
index 604518120b..ad8d19360e 100644
--- a/doc/racket-mode.texi
+++ b/doc/racket-mode.texi
@@ -225,7 +225,6 @@ General variables
 Hash lang variables
 
 * racket-hash-lang-token-face-alist::
-* racket-hash-lang-pairs::
 * racket-hash-lang-module-language-hook::
 
 REPL variables
@@ -1597,8 +1596,6 @@ A discussion of the information provided by a Racket 
language:
 @tab @ref{racket-hash-lang-C-M-q-dwim}
 @item @kbd{C-M-b} 
 @tab @ref{racket-hash-lang-backward}
-@item @kbd{DEL} 
-@tab @code{racket-hash-lang-delete-backward-char}
 @item @kbd{C-M-d} 
 @tab @ref{racket-hash-lang-down}
 @item @kbd{C-M-f} 
@@ -3347,7 +3344,6 @@ The macro hiding policy for commands like 
@ref{racket-expand-file}.
 
 @menu
 * racket-hash-lang-token-face-alist::
-* racket-hash-lang-pairs::
 * racket-hash-lang-module-language-hook::
 @end menu
 
@@ -3384,20 +3380,6 @@ face @code{parenthesis} if defined, as by the paren-face 
package.
 String tokens use @code{font-lock-string-face}. Text tokens, e.g.
 Scribble text, use the face @ref{racket-hash-lang-text}.
 
-@node racket-hash-lang-pairs
-@subsection racket-hash-lang-pairs
-
-Pairs of delimiters to insert or delete automatically.
-
-The format of each item is (cons string string).
-
-This is initialized whenever a module language changes, using
-values from the language's reported values for
-drracket:paren-matches and drracket:quote-matches.
-
-You may customize this default initialization in
-@ref{racket-hash-lang-module-language-hook}.
-
 @node racket-hash-lang-module-language-hook
 @subsection racket-hash-lang-module-language-hook
 
@@ -3432,7 +3414,7 @@ enabling ``fancy'' or ``classic'' Emacs behaviors only for
 s-expression langs.
 
 For example, maybe you want to use @code{paredit-mode} when it is
-suitable for the module language:
+suitable for the module language, else @code{electric-pair-local-mode}:
 
 @lisp
   (defun my-hook (module-language)
@@ -3440,21 +3422,19 @@ suitable for the module language:
(member module-language
(list "racket" "racket/base"
  "typed/racket" "typed/racket/base"
-  (if rackety
-  (paredit-mode 1)
-(paredit-mode -1
+  (electric-pair-local-mode (if rackety -1 1))
+  (paredit-mode (if rackety 1 -1
   (add-hook 'racket-hash-lang-module-language-hook #'my-hook)
 @end lisp
 
-A similar tactic can be used for @code{smartparens} or
-@code{electric-pair-mode}. In general, none of these
-delimiter-matching modes is likely to work well unless the
+A similar tactic can be used for @code{smartparens}. In general,
+neither of these modes is likely to work well unless the
 hash-lang uses racket for drracket:grouping-position, in which
 case @ref{racket-hash-lang-mode} uses the classic @ref{racket-mode}
 syntax-table for the buffer. Otherwise you should not enable one
 of these modes, and instead just use the simple delimiter
-matching built into @ref{racket-hash-lang-mode}; see
-@ref{racket-hash-lang-pairs}.
+matching of @code{electric-pair-local-mode}, as configured by
+@ref{racket-hash-lang-mode}.
 
 As another example, if you prefer more colors than just tokens,
 choices include:
diff --git a/racket-hash-lang.el b/racket-hash-lang.el
index b804c8a547..a4695b40e9 100644
--- a/racket-hash-lang.el
+++ b/racket-hash-lang.el
@@ -1,6 +1,6 @@
 ;;; racket-hash-lang.el -*- lexical-binding: t; -*-
 
-;; Copyright (c) 2020-2024 by Greg Hendershott.
+;; Copyright (c) 2020-2025 by Greg Hendershott.
 ;; Portions Copyright (C) 1985-1986, 1999-2013 Free Software Foundation, Inc.
 
 ;; Author: Greg Hendershott
@@ -37,7 +37,6 @@
  ("C-c C-f" racket-fold-all-tests)
  ("C-c C-u" racket-unfold-all-tests)
  

[elpa] externals/a68-mode 98617f3d17 3/9: Improve regexp for invalid string breaks.

2025-04-23 Thread ELPA Syncer
branch: externals/a68-mode
commit 98617f3d179f943c3ddc94765ad55bc59a51e97d
Author: Jose E. Marchesi 
Commit: Jose E. Marchesi 

Improve regexp for invalid string breaks.
---
 a68-mode.el | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/a68-mode.el b/a68-mode.el
index 265fec0471..f7b48f0382 100644
--- a/a68-mode.el
+++ b/a68-mode.el
@@ -179,8 +179,8 @@
  ''font-lock-constant-face)
;; String breaks.  Apostrophe is not (currently) a worthy character
;; out of strings, so for now we can just match it anywhere.
-   '("\\('[nrft']\\)\\|\\('(.*?)\\)" 0 ''a68-string-break-face prepend)
-   '("'[^nrft'(]" 0 ''font-lock-warning-face)
+   '("[^']\\('[^nrft'(]\\)" 1 ''font-lock-warning-face)
+   '("\\(''\\|[^']\\)\\('[^nrft'(]\\)" 2 ''font-lock-warning-face prepend)
;; Two or more consecutive underscore characters are always
;; illegal in this stropping regime.
(cons "_[_]+" ''font-lock-warning-face)
@@ -365,7 +365,7 @@
;; String breaks.  Apostrophe is not (currently) a worthy character
;; out of strings, so for now we can just match it anywhere.
'("\\('[nrft']\\)\\|\\('(.*?)\\)" 0 ''a68-string-break-face prepend)
-   '("'[^nrft'(]" 0 ''font-lock-warning-face prepend)
+   '("\\(''\\|[^']\\)\\('[^nrft'(]\\)" 2 ''font-lock-warning-face prepend)
;; Two or more consecutive underscore characters are always
;; illegal in this stropping regime.
(cons "_[_]+" ''font-lock-warning-face)



[elpa] externals/a68-mode aed26083fc 4/9: Factorize a68-font-lock-keywords-common

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

Factorize a68-font-lock-keywords-common
---
 a68-mode.el | 116 +++-
 1 file changed, 59 insertions(+), 57 deletions(-)

diff --git a/a68-mode.el b/a68-mode.el
index f7b48f0382..0dfcc5361a 100644
--- a/a68-mode.el
+++ b/a68-mode.el
@@ -133,6 +133,65 @@
 'upper
   'supper)))
 
+ Font-lock keywords.
+
+(defconst a68-font-lock-keywords-common
+  (list
+   ;; String breaks.  Apostrophe is not (currently) a worthy character
+   ;; out of strings, so for now we can just match it anywhere.
+   '("\\('[nrft']\\)\\|\\('(.*?)\\)" 0 ''a68-string-break-face prepend)
+   '("\\(''\\|[^']\\)\\('[^nrft'(]\\)" 2 ''font-lock-warning-face prepend)
+   ;; Two or more consecutive underscore characters are always
+   ;; illegal in this stropping regime.
+   (cons "_[_]+" ''font-lock-warning-face))
+  "Font-lock keywords expressions common to all stropping regimes. ")
+
+(defconst a68-font-lock-keywords-upper
+  (append
+   a68-font-lock-keywords-common
+   (list (cons (rx word-start
+   (eval `(or ,@a68-keywords-upper))
+   word-end)
+   ''font-lock-keyword-face)
+ (cons (rx word-start
+   (eval `(or ,@a68-std-modes-upper))
+   word-end)
+   ''font-lock-type-face)
+ (cons (rx word-start
+   (or "TRUE" "FALSE")
+   word-end)
+   ''font-lock-constant-face)
+ '("\\<\\([A-Z]+[A-Z_]*\\>\\)\\(_+\\)?"
+   (1 'font-lock-type-face)
+   (2 'font-lock-warning-face nil t))
+ (cons "\\('\\w*'\\)"
+   ''font-lock-variable-name-face)))
+   "Highlighting expressions for Algol 68 mode in UPPER stropping.")
+
+(defconst a68-font-lock-keywords-supper
+  (append
+   a68-font-lock-keywords-common
+   (list
+(cons (rx word-start
+  (eval `(or ,@a68-keywords-supper))
+  word-end)
+  ''font-lock-keyword-face)
+(cons (rx word-start
+  (eval `(or ,@a68-std-modes-supper))
+  word-end)
+  ''font-lock-type-face)
+(cons (rx word-start
+  (or "true" "false")
+  word-end)
+  ''font-lock-constant-face)
+;; Tags.
+(cons "\\<[a-z]\\([a-z]_\\)*\\>" ''font-lock-variable-name-face)
+;; By convention operators have only upper-letter names.
+(cons "\\<\\([A-Z]+\\>\\)" ''font-lock-keyword-face)
+;; Mode names use ThisCase.
+(cons "\\<\\([A-Z][A-Za-z_]*\\>\\)" ''font-lock-type-face)))
+   "Highlighting expressions for Algol 68 mode in SUPPER stropping.")
+
  UPPER stropping
 
 (eval-and-compile
@@ -163,34 +222,6 @@
   "UNSAFE" "ASSERT")
 "List of Algol 68 keywords in UPPER stropping."))
 
-(defconst a68-font-lock-keywords-upper
-  (list
-   (cons (rx word-start
- (eval `(or ,@a68-keywords-upper))
- word-end)
- ''font-lock-keyword-face)
-   (cons (rx word-start
- (eval `(or ,@a68-std-modes-upper))
- word-end)
- ''font-lock-type-face)
-   (cons (rx word-start
- (or "TRUE" "FALSE")
- word-end)
- ''font-lock-constant-face)
-   ;; String breaks.  Apostrophe is not (currently) a worthy character
-   ;; out of strings, so for now we can just match it anywhere.
-   '("[^']\\('[^nrft'(]\\)" 1 ''font-lock-warning-face)
-   '("\\(''\\|[^']\\)\\('[^nrft'(]\\)" 2 ''font-lock-warning-face prepend)
-   ;; Two or more consecutive underscore characters are always
-   ;; illegal in this stropping regime.
-   (cons "_[_]+" ''font-lock-warning-face)
-   '("\\<\\([A-Z]+[A-Z_]*\\>\\)\\(_+\\)?"
- (1 'font-lock-type-face)
-  (2 'font-lock-warning-face nil t))
-   (cons "\\('\\w*'\\)"
- ''font-lock-variable-name-face))
-  "Highlighting expressions for Algol 68 mode in UPPER stropping.")
-
 (defvar a68--smie-grammar-upper
   (smie-prec2->grammar
(smie-bnf->prec2 '((id)
@@ -348,35 +379,6 @@
   "do" "od" "unsafe" "assert")
 "List of Algol 68 keywords in SUPPER stropping."))
 
-(defconst a68-font-lock-keywords-supper
-  (list
-   (cons (rx word-start
- (eval `(or ,@a68-keywords-supper))
- word-end)
- ''font-lock-keyword-face)
-   (cons (rx word-start
- (eval `(or ,@a68-std-modes-supper))
- word-end)
- ''font-lock-type-face)
-   (cons (rx word-start
- (or "true" "false")
- word-end)
- ''font-lock-constant-face)
-   ;; String breaks.  Apostrophe is not (currently) a worthy character
-   ;; out of strings, so for now we can just match it anywhere.
-   '("\\('[nrft']\\)\\|\\('(.*?)\\)" 0 ''a68-string-break-face prepend)
-   '("\\(''\\|[^']\\)\\('[^nrft'(]\\)" 2 ''font-lock-warning-face prepend)
-   ;; Two or more consecutive underscore characters are always

[elpa] externals/a68-mode eefa1bd041 2/9: Highlight invalid string breaks.

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

Highlight invalid string breaks.
---
 a68-mode.el | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/a68-mode.el b/a68-mode.el
index 23c885831d..265fec0471 100644
--- a/a68-mode.el
+++ b/a68-mode.el
@@ -180,6 +180,7 @@
;; String breaks.  Apostrophe is not (currently) a worthy character
;; out of strings, so for now we can just match it anywhere.
'("\\('[nrft']\\)\\|\\('(.*?)\\)" 0 ''a68-string-break-face prepend)
+   '("'[^nrft'(]" 0 ''font-lock-warning-face)
;; Two or more consecutive underscore characters are always
;; illegal in this stropping regime.
(cons "_[_]+" ''font-lock-warning-face)
@@ -364,6 +365,7 @@
;; String breaks.  Apostrophe is not (currently) a worthy character
;; out of strings, so for now we can just match it anywhere.
'("\\('[nrft']\\)\\|\\('(.*?)\\)" 0 ''a68-string-break-face prepend)
+   '("'[^nrft'(]" 0 ''font-lock-warning-face prepend)
;; Two or more consecutive underscore characters are always
;; illegal in this stropping regime.
(cons "_[_]+" ''font-lock-warning-face)



[elpa] externals/a68-mode updated (401b511f5d -> 75fb848a5e)

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

  from  401b511f5d Fix regexp for pr UPPER pr
   new  93b57b169e Highlight string breaks.
   new  eefa1bd041 Highlight invalid string breaks.
   new  98617f3d17 Improve regexp for invalid string breaks.
   new  aed26083fc Factorize a68-font-lock-keywords-common
   new  f444354e30 Group list of keywords and modes together
   new  4db522fdce Group syntax-propertize functions together
   new  9a12321caa Group beginning-of-defun functions together
   new  48c8f7f647 Group SMIE functions together
   new  75fb848a5e PR and PRAGMAT are not keywords in SUPPER stropping


Summary of changes:
 a68-mode.el | 379 +++-
 1 file changed, 198 insertions(+), 181 deletions(-)



[elpa] externals/a68-mode f444354e30 5/9: Group list of keywords and modes together

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

Group list of keywords and modes together
---
 a68-mode.el | 95 +++--
 1 file changed, 49 insertions(+), 46 deletions(-)

diff --git a/a68-mode.el b/a68-mode.el
index 0dfcc5361a..b872cd 100644
--- a/a68-mode.el
+++ b/a68-mode.el
@@ -133,6 +133,55 @@
 'upper
   'supper)))
 
+ Definitions of keywords and modes.
+
+(eval-and-compile
+  ;; Those vars are used during macroexpansion (and hence compilation).
+
+  ;; UPPER stropping.
+  (defconst a68-std-modes-upper
+'("SHORT" "LONG" "INT" "REAL" "BITS" "BYTES"
+  "COMPL" "STRING" "REF" "FLEX" "VOID")
+"List of Algol 68 standard modes and shortety in UPPER stropping.")
+
+  (defconst a68-keywords-upper
+'("DECS" "PROGRAM" "CONTEXT" "USE" "KEEP"
+  "ALIEN" "RE" "IM"
+  "MODE" "OP" "PRIO" "PROC"
+  "OF" "AT" "IS" "ISNT" "EMPTY" "SKIP"
+  "PR" "PRAGMAT" "STRUCT" "UNION"
+  "CASE" "IN" "OUSE" "OUT" "ESAC"
+  "FOR" "FORALL" "FROM" "TO" "BY" "WHILE" "DO" "OD"
+  "EQ" "NE" "LT" "GT" "LE" "GE"
+  "IF" "THEN" "ELIF" "THEN" "ELSE" "FI"
+  "PAR" "BEGIN" "END" "GOTO" "GO" "TO" "EXIT"
+  "LWB" "UPB" "ELEMS" "NOT" "ABS" "BIN" "REPR" "LENG"
+  "SHORTEN" "ODD" "SIGN" "ROUND" "ENTIER" "AND" "OR" "XOR"
+  "ANDTH" "OREL"
+  "DIV" "OVER" "MOD" "ELEM" "SHL" "SHR" "OVERAB" "DIVAB" "MODAB"
+  "UP" "DOWN"
+  "NIL" "TRUE" "FALSE"
+  "MODULE" "DEF" "FED" "POSTLUDE" "ACCESS" "PUB"
+  "UNSAFE" "ASSERT")
+"List of Algol 68 keywords in UPPER stropping.")
+
+  ;; SUPPER stropping.
+  (defconst a68-std-modes-supper
+'("int" "real" "bool" "char" "format" "void"
+  "compl" "bits" "bytes" "string" "sema" "file" "channel")
+"List of Algol 68 standard modes in SUPPER stropping.")
+
+  (defconst a68-keywords-supper
+'("true" "false" "empty" "at"
+  "pr" "PR" "pragmat" "PRAGMAT"
+  "andth" "orel" "is" "isnt"
+  "long" "short" "ref" "loc" "heap" "struct" "flex" "proc"
+  "union" "op" "prio" "mode" "begin" "end" "exit" "par" "if"
+  "then" "elif" "else" "fi" "case" "in" "ouse" "out" "esac"
+  "nil" "of" "go" "goto" "skip" "for" "from" "by" "to" "while"
+  "do" "od" "unsafe" "assert")
+"List of Algol 68 keywords in SUPPER stropping."))
+
  Font-lock keywords.
 
 (defconst a68-font-lock-keywords-common
@@ -194,34 +243,6 @@
 
  UPPER stropping
 
-(eval-and-compile
-  ;; Those vars are used during macroexpansion (and hence compilation).
-  (defconst a68-std-modes-upper
-'("SHORT" "LONG" "INT" "REAL" "BITS" "BYTES"
-  "COMPL" "STRING" "REF" "FLEX" "VOID")
-"List of Algol 68 standard modes and shortety in UPPER stropping.")
-
-  (defconst a68-keywords-upper
-'("DECS" "PROGRAM" "CONTEXT" "USE" "KEEP"
-  "ALIEN" "RE" "IM"
-  "MODE" "OP" "PRIO" "PROC"
-  "OF" "AT" "IS" "ISNT" "EMPTY" "SKIP"
-  "PR" "PRAGMAT" "STRUCT" "UNION"
-  "CASE" "IN" "OUSE" "OUT" "ESAC"
-  "FOR" "FORALL" "FROM" "TO" "BY" "WHILE" "DO" "OD"
-  "EQ" "NE" "LT" "GT" "LE" "GE"
-  "IF" "THEN" "ELIF" "THEN" "ELSE" "FI"
-  "PAR" "BEGIN" "END" "GOTO" "GO" "TO" "EXIT"
-  "LWB" "UPB" "ELEMS" "NOT" "ABS" "BIN" "REPR" "LENG"
-  "SHORTEN" "ODD" "SIGN" "ROUND" "ENTIER" "AND" "OR" "XOR"
-  "ANDTH" "OREL"
-  "DIV" "OVER" "MOD" "ELEM" "SHL" "SHR" "OVERAB" "DIVAB" "MODAB"
-  "UP" "DOWN"
-  "NIL" "TRUE" "FALSE"
-  "MODULE" "DEF" "FED" "POSTLUDE" "ACCESS" "PUB"
-  "UNSAFE" "ASSERT")
-"List of Algol 68 keywords in UPPER stropping."))
-
 (defvar a68--smie-grammar-upper
   (smie-prec2->grammar
(smie-bnf->prec2 '((id)
@@ -361,24 +382,6 @@
 
  SUPPER stropping.
 
-(eval-and-compile
-  ;; Those vars are used during macroexpansion (and hence compilation).
-  (defconst a68-std-modes-supper
-'("int" "real" "bool" "char" "format" "void"
-  "compl" "bits" "bytes" "string" "sema" "file" "channel")
-"List of Algol 68 standard modes in SUPPER stropping.")
-
-  (defconst a68-keywords-supper
-'("true" "false" "empty" "at"
-  "pr" "PR" "pragmat" "PRAGMAT"
-  "andth" "orel" "is" "isnt"
-  "long" "short" "ref" "loc" "heap" "struct" "flex" "proc"
-  "union" "op" "prio" "mode" "begin" "end" "exit" "par" "if"
-  "then" "elif" "else" "fi" "case" "in" "ouse" "out" "esac"
-  "nil" "of" "go" "goto" "skip" "for" "from" "by" "to" "while"
-  "do" "od" "unsafe" "assert")
-"List of Algol 68 keywords in SUPPER stropping."))
-
 (defvar a68--smie-grammar-supper
   (smie-prec2->grammar
(smie-bnf->prec2 '((id)



[elpa] externals/a68-mode 93b57b169e 1/9: Highlight string breaks.

2025-04-23 Thread ELPA Syncer
branch: externals/a68-mode
commit 93b57b169e6da003f5326574945c2a8f61c5886f
Author: Jose E. Marchesi 
Commit: Jose E. Marchesi 

Highlight string breaks.
---
 a68-mode.el | 9 +
 1 file changed, 9 insertions(+)

diff --git a/a68-mode.el b/a68-mode.el
index 973cbef032..23c885831d 100644
--- a/a68-mode.el
+++ b/a68-mode.el
@@ -52,6 +52,9 @@
  (const "COMMENT"))
   :safe #'consp)
 
+(defface a68-string-break-face '((t :inherit font-lock-string-face))
+  "Face for printing Algol 64 string breaks.")
+
  Stuff common to all stroppings
 
 (defvar a68-mode-map
@@ -174,6 +177,9 @@
  (or "TRUE" "FALSE")
  word-end)
  ''font-lock-constant-face)
+   ;; String breaks.  Apostrophe is not (currently) a worthy character
+   ;; out of strings, so for now we can just match it anywhere.
+   '("\\('[nrft']\\)\\|\\('(.*?)\\)" 0 ''a68-string-break-face prepend)
;; Two or more consecutive underscore characters are always
;; illegal in this stropping regime.
(cons "_[_]+" ''font-lock-warning-face)
@@ -355,6 +361,9 @@
  (or "true" "false")
  word-end)
  ''font-lock-constant-face)
+   ;; String breaks.  Apostrophe is not (currently) a worthy character
+   ;; out of strings, so for now we can just match it anywhere.
+   '("\\('[nrft']\\)\\|\\('(.*?)\\)" 0 ''a68-string-break-face prepend)
;; Two or more consecutive underscore characters are always
;; illegal in this stropping regime.
(cons "_[_]+" ''font-lock-warning-face)



[elpa] externals/a68-mode 48c8f7f647 8/9: Group SMIE functions together

2025-04-23 Thread ELPA Syncer
branch: externals/a68-mode
commit 48c8f7f647ae993528469092281166540e2ac241
Author: Jose E. Marchesi 
Commit: Jose E. Marchesi 

Group SMIE functions together
---
 a68-mode.el | 65 ++---
 1 file changed, 32 insertions(+), 33 deletions(-)

diff --git a/a68-mode.el b/a68-mode.el
index 5156833780..f0f0725061 100644
--- a/a68-mode.el
+++ b/a68-mode.el
@@ -327,7 +327,7 @@
   (setq count (1- count )))
 res))
 
- UPPER stropping
+ SMIE grammar
 
 (defvar a68--smie-grammar-upper
   (smie-prec2->grammar
@@ -393,38 +393,6 @@
 '((assoc "=" "/" ":=" ":=:" ":/=:"
  "+" "-" "*" "/")
 
-(defun a68--smie-rules-upper (kind token)
-  (pcase (cons kind token)
-(`(:elem . basic) a68-indent-level)
-;; (`(,_ . ",") (smie-rule-separator kind))
-(`(,_ . ",") (smie-rule-separator kind))
-(`(,_ . ";") (when (smie-rule-parent-p)
-   (smie-rule-parent)))
-(`(:after . ":=") a68-indent-level)
-(`(:after . "=") a68-indent-level)
-(`(:before . "BEGIN")
- (when (or (smie-rule-hanging-p)
-   (or
-(and (or (smie-rule-parent-p "PROC")
- (smie-rule-parent-p "OP"))
- (smie-rule-prev-p ":"))
-(smie-rule-parent-p "PROGRAM")))
-   (smie-rule-parent)))
-(`(:before . "THEN")
- (when (or (smie-rule-hanging-p)
-   (smie-rule-parent-p "IF"))
-   (smie-rule-parent)))
-(`(:before . "(")
- (when (smie-rule-hanging-p)
-   (smie-rule-parent)))
-(`(:before . "IF")
- (and (not (smie-rule-bolp))
-  (smie-rule-prev-p "ELSE")
-  (smie-rule-parent)
-
-
- SUPPER stropping.
-
 (defvar a68--smie-grammar-supper
   (smie-prec2->grammar
(smie-bnf->prec2 '((id)
@@ -489,6 +457,37 @@
 '((assoc "=" "/" ":=" ":=:" ":/=:"
  "+" "-" "*" "/")
 
+ SMIE indentation rules.
+
+(defun a68--smie-rules-upper (kind token)
+  (pcase (cons kind token)
+(`(:elem . basic) a68-indent-level)
+;; (`(,_ . ",") (smie-rule-separator kind))
+(`(,_ . ",") (smie-rule-separator kind))
+(`(,_ . ";") (when (smie-rule-parent-p)
+   (smie-rule-parent)))
+(`(:after . ":=") a68-indent-level)
+(`(:after . "=") a68-indent-level)
+(`(:before . "BEGIN")
+ (when (or (smie-rule-hanging-p)
+   (or
+(and (or (smie-rule-parent-p "PROC")
+ (smie-rule-parent-p "OP"))
+ (smie-rule-prev-p ":"))
+(smie-rule-parent-p "PROGRAM")))
+   (smie-rule-parent)))
+(`(:before . "THEN")
+ (when (or (smie-rule-hanging-p)
+   (smie-rule-parent-p "IF"))
+   (smie-rule-parent)))
+(`(:before . "(")
+ (when (smie-rule-hanging-p)
+   (smie-rule-parent)))
+(`(:before . "IF")
+ (and (not (smie-rule-bolp))
+  (smie-rule-prev-p "ELSE")
+  (smie-rule-parent)
+
 (defun a68--smie-rules-supper (kind token)
   (pcase (cons kind token)
 (`(:elem . basic) a68-indent-level)



[nongnu] elpa/gptel 118431efea: gptel: Clear reasoning field in multi-turn request

2025-04-23 Thread ELPA Syncer
branch: elpa/gptel
commit 118431efeacf0fa995e9d908a593aea6fff927b8
Author: Karthik Chikmagalur 
Commit: Karthik Chikmagalur 

gptel: Clear reasoning field in multi-turn request

* gptel.el (gptel--handle-wait): Clear the reasoning field from
INFO when firing a request.  This field may be populated in a
multi-turn request, such as when using tool-calls with a reasoning
model. (#743)
---
 gptel.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gptel.el b/gptel.el
index e09756da9f..0115e7fea3 100644
--- a/gptel.el
+++ b/gptel.el
@@ -1979,7 +1979,7 @@ buffer."
   ;; a second network request: gptel tests for the presence of these flags to
   ;; handle state transitions.  (NOTE: Don't add :token to this.)
   (let ((info (gptel-fsm-info fsm)))
-(dolist (key '(:tool-success :tool-use :error :http-status))
+(dolist (key '(:tool-success :tool-use :error :http-status :reasoning))
   (when (plist-get info key)
 (plist-put info key nil
   (funcall



[elpa] externals/a68-mode 9a12321caa 7/9: Group beginning-of-defun functions together

2025-04-23 Thread ELPA Syncer
branch: externals/a68-mode
commit 9a12321caa64f7ea6d34d03ec3c12ad834bc62b6
Author: Jose E. Marchesi 
Commit: Jose E. Marchesi 

Group beginning-of-defun functions together
---
 a68-mode.el | 53 -
 1 file changed, 28 insertions(+), 25 deletions(-)

diff --git a/a68-mode.el b/a68-mode.el
index 2cff64086e..5156833780 100644
--- a/a68-mode.el
+++ b/a68-mode.el
@@ -299,6 +299,34 @@
  'syntax-multiline t)
  (point) end)))
 
+ Functions to move up and down a procedure.
+
+(defun a68-beginning-of-defun-upper (&optional count)
+  "Algol 68 specific `beginning-of-defun-function' for UPPER stropping."
+  (let ((count (or count 1))
+(case-fold-search nil)
+res)
+(while (> count 0)
+  (goto-char (save-excursion
+   (while (and (re-search-backward (rx bow (or "PROC" "OP") 
eow) nil t)
+   (a68-within-string-or-comment)))
+   (setq res (point
+  (setq count (1- count )))
+res))
+
+(defun a68-beginning-of-defun-supper (&optional count)
+  "Algol 68 specific `beginning-of-defun-function' for SUPPER stropping."
+  (let ((count (or count 1))
+(case-fold-search nil)
+res)
+(while (> count 0)
+  (goto-char (save-excursion
+   (while (and (re-search-backward (rx bow (or "proc" "op") 
eow) nil t)
+   (a68-within-string-or-comment)))
+   (setq res (point
+  (setq count (1- count )))
+res))
+
  UPPER stropping
 
 (defvar a68--smie-grammar-upper
@@ -394,18 +422,6 @@
   (smie-rule-prev-p "ELSE")
   (smie-rule-parent)
 
-(defun a68-beginning-of-defun-upper (&optional count)
-  "Algol 68 specific `beginning-of-defun-function'."
-  (let ((count (or count 1))
-(case-fold-search nil)
-res)
-(while (> count 0)
-  (goto-char (save-excursion
-   (while (and (re-search-backward (rx bow (or "PROC" "OP") 
eow) nil t)
-   (a68-within-string-or-comment)))
-   (setq res (point
-  (setq count (1- count )))
-res))
 
  SUPPER stropping.
 
@@ -502,19 +518,6 @@
   (smie-rule-prev-p "else")
   (smie-rule-parent)
 
-(defun a68-beginning-of-defun-supper (&optional count)
-  "Algol 68 specific `beginning-of-defun-function'."
-  (let ((count (or count 1))
-(case-fold-search nil)
-res)
-(while (> count 0)
-  (goto-char (save-excursion
-   (while (and (re-search-backward (rx bow (or "proc" "op") 
eow) nil t)
-   (a68-within-string-or-comment)))
-   (setq res (point
-  (setq count (1- count )))
-res))
-
  Stropping utilities and commands.
 
 (defun a68-supperize-buffer ()



[elpa] externals/a68-mode 75fb848a5e 9/9: PR and PRAGMAT are not keywords in SUPPER stropping

2025-04-23 Thread ELPA Syncer
branch: externals/a68-mode
commit 75fb848a5e6cc1d54348313768e839bbb441dd35
Author: Jose E. Marchesi 
Commit: Jose E. Marchesi 

PR and PRAGMAT are not keywords in SUPPER stropping
---
 a68-mode.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/a68-mode.el b/a68-mode.el
index f0f0725061..f9f1c8a878 100644
--- a/a68-mode.el
+++ b/a68-mode.el
@@ -173,7 +173,7 @@
 
   (defconst a68-keywords-supper
 '("true" "false" "empty" "at"
-  "pr" "PR" "pragmat" "PRAGMAT"
+  "pr" "pragmat"
   "andth" "orel" "is" "isnt"
   "long" "short" "ref" "loc" "heap" "struct" "flex" "proc"
   "union" "op" "prio" "mode" "begin" "end" "exit" "par" "if"



[elpa] externals/a68-mode 4db522fdce 6/9: Group syntax-propertize functions together

2025-04-23 Thread ELPA Syncer
branch: externals/a68-mode
commit 4db522fdce7b4d88e1307c94c107019a8a6c4c29
Author: Jose E. Marchesi 
Commit: Jose E. Marchesi 

Group syntax-propertize functions together
---
 a68-mode.el | 119 ++--
 1 file changed, 59 insertions(+), 60 deletions(-)

diff --git a/a68-mode.el b/a68-mode.el
index b872cd..2cff64086e 100644
--- a/a68-mode.el
+++ b/a68-mode.el
@@ -133,7 +133,7 @@
 'upper
   'supper)))
 
- Definitions of keywords and modes.
+ Lists of keywords and modes.
 
 (eval-and-compile
   ;; Those vars are used during macroexpansion (and hence compilation).
@@ -241,6 +241,64 @@
 (cons "\\<\\([A-Z][A-Za-z_]*\\>\\)" ''font-lock-type-face)))
"Highlighting expressions for Algol 68 mode in SUPPER stropping.")
 
+ Syntax-based text properties.
+
+(defun a68-syntax-propertize-function-upper (start end)
+  (let ((case-fold-search nil))
+(goto-char start)
+(funcall
+ (syntax-propertize-rules
+  ((rx (group "#")
+   (*? anychar)
+   (group "#"))
+   (1 (when (not (a68-within-string)) (string-to-syntax "<")))
+   (2 (when (not (a68-within-string)) (string-to-syntax ">")))
+   (0 (ignore (put-text-property (match-beginning 0) (match-end 0)
+ 'syntax-multiline t
+  ((rx bow (group "C") "OMMENT" eow
+   (*? anychar)
+   bow "COMMEN" (group "T") eow)
+   (1 (when (not (a68-within-string)) (string-to-syntax "< b")))
+   (2 (when (not (a68-within-string)) (string-to-syntax "> b")))
+   (0 (ignore (put-text-property (match-beginning 0) (match-end 0)
+ 'syntax-multiline t
+  ((rx bow (group "C") "O" eow
+   (*? anychar)
+   bow "C" (group "O") eow)
+   (1 (when (not (a68-within-string)) (string-to-syntax "< c")))
+   (2 (when (not (a68-within-string)) (string-to-syntax "> c")))
+   (0 (ignore (put-text-property (match-beginning 0) (match-end 0)
+ 'syntax-multiline t)
+ (point) end)))
+
+(defun a68-syntax-propertize-function-supper (start end)
+  (let ((case-fold-search nil))
+(goto-char start)
+(funcall
+ (syntax-propertize-rules
+  ((rx (group "#")
+   (*? anychar)
+   (group "#"))
+   (1 (when (not (a68-within-string)) (string-to-syntax "<")))
+   (2 (when (not (a68-within-string)) (string-to-syntax ">")))
+   (0 (ignore (put-text-property (match-beginning 0) (match-end 0)
+ 'syntax-multiline t
+  ((rx bow (group "c") "omment" eow
+   (*? anychar)
+   bow "commen" (group "t") eow)
+   (1 (when (not (a68-within-string)) (string-to-syntax "< b")))
+   (2 (when (not (a68-within-string)) (string-to-syntax "> b")))
+   (0 (ignore (put-text-property (match-beginning 0) (match-end 0)
+ 'syntax-multiline t
+  ((rx bow (group "c") "o" eow
+   (*? anychar)
+   bow "c" (group "o") eow)
+   (1 (when (not (a68-within-string)) (string-to-syntax "< c")))
+   (2 (when (not (a68-within-string)) (string-to-syntax "> c")))
+   (0 (ignore (put-text-property (match-beginning 0) (match-end 0)
+ 'syntax-multiline t)
+ (point) end)))
+
  UPPER stropping
 
 (defvar a68--smie-grammar-upper
@@ -349,37 +407,6 @@
   (setq count (1- count )))
 res))
 
-(defun a68-syntax-propertize-function-upper (start end)
-  (let ((case-fold-search nil))
-(goto-char start)
-(funcall
- (syntax-propertize-rules
-  ;; a comment is # ... #, but I don't want the
-  ;; (eventual) shebang #! to be considered the start of
-  ;; the comment.
-  ((rx (group "#" (not "!"))
-   (*? anychar)
-   (group "#"))
-   (1 (when (not (a68-within-string)) (string-to-syntax "<")))
-   (2 (when (not (a68-within-string)) (string-to-syntax ">")))
-   (0 (ignore (put-text-property (match-beginning 0) (match-end 0)
- 'syntax-multiline t
-  ((rx bow (group "C") "OMMENT" eow
-   (*? anychar)
-   bow "COMMEN" (group "T") eow)
-   (1 (when (not (a68-within-string)) (string-to-syntax "< b")))
-   (2 (when (not (a68-within-string)) (string-to-syntax "> b")))
-   (0 (ignore (put-text-property (match-beginning 0) (match-end 0)
- 'syntax-multiline t
-  ((rx bow (group "C") "O" eow
-   (*? anychar)
-   bow "C" (group "O") eow)
-   (1 (when (not (a68-within-string)) (string-to-syntax "< c")))
-   (2 (when (not (a68-within-string)) (string-to-syntax "> c")))
-   (0 (ignore (put-text-property (match-beginning 0) (match-end 0)
- 'syntax-multiline t)
- (point) end)))
-
  SUPPER stropping.
 
 (defvar a68--

[elpa] externals/show-font b17dc63e66 3/3: Tweak how we check that show-font-character-sample is a string

2025-04-23 Thread ELPA Syncer
branch: externals/show-font
commit b17dc63e66659e56622d386cb5e0150d9dd78866
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Tweak how we check that show-font-character-sample is a string

We want it to not be blank, otherwise there is no point in propertising 
anything.
---
 show-font.el | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/show-font.el b/show-font.el
index 1534eb4e4a..a7dce2ba82 100644
--- a/show-font.el
+++ b/show-font.el
@@ -302,6 +302,10 @@ FILE must be of type TTF or OTF and must not already be 
installed (per
   (show-font--install f)))
   (user-error "`%s' is not a known font file (TTF or OTF); aborting" f
 
+(defun show-font--string-p (string)
+  "Return non-nil if STRING is a string that is not empty."
+  (and (stringp string) (not (string-blank-p string
+
 (defun show-font--prepare-text (&optional family)
   "Prepare pangram text at varying font heights for the current font file.
 With optional FAMILY, prepare a preview for the given font family
@@ -319,7 +323,7 @@ instead of that of the file."
   (pangram (show-font--get-pangram))
   (name (or family (show-font--get-attribute-from-file "fullname")))
   (family (or family (show-font--get-attribute-from-file "family")))
-  (propertize-sample-p (stringp show-font-character-sample)))
+  (propertize-sample-p (show-font--string-p 
show-font-character-sample)))
   (dolist (face faces)
 (push (propertize pangram 'face (list face :family family)) 
list-of-lines)
 (push (propertize pangram 'face (list face :family family :slant 
'italic)) list-of-lines)



[elpa] externals/tmr 133eb60db7 5/5: Specify :package-version of all def{custom, face} about the new mode line indicator

2025-04-23 Thread ELPA Syncer
branch: externals/tmr
commit 133eb60db7672e8ac5e0c6f88ad3f894ec8e1d89
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Specify :package-version of all def{custom,face} about the new mode line 
indicator

The mode line support was contributed by Steven Allen in pull request
2: .

Steven has assigned copyright to the Free Software Foundation.
---
 tmr.el | 8 
 1 file changed, 8 insertions(+)

diff --git a/tmr.el b/tmr.el
index 7215458041..3d8ddf4acd 100644
--- a/tmr.el
+++ b/tmr.el
@@ -152,11 +152,13 @@ Available format specifiers:
 - %r: Remaining time.
 - %d: Timer description (truncated to `tmr-mode-line-max-desc-length')."
   :type 'string
+  :package-version '(tmr . "1.2.0")
   :group 'tmr)
 
 (defcustom tmr-mode-line-separator " | "
   "String used to separate multiple timers in the mode-line."
   :type 'string
+  :package-version '(tmr . "1.2.0")
   :group 'tmr)
 
 (defcustom tmr-mode-line-max-timers 3
@@ -164,6 +166,7 @@ Available format specifiers:
 Set to nil to show all timers."
   :type '(choice (const :tag "Show all" nil)
  (integer :tag "Maximum number"))
+  :package-version '(tmr . "1.2.0")
   :group 'tmr)
 
 (defcustom tmr-mode-line-max-desc-length 15
@@ -171,11 +174,13 @@ Set to nil to show all timers."
 Longer descriptions will be truncated."
   :type '(choice (const :tag "Don't truncate" nil)
  (integer :tag "Truncate"))
+  :package-version '(tmr . "1.2.0")
   :group 'tmr)
 
 (defcustom tmr-mode-line-prefix "⏰"
   "Prefix string displayed before the timer list."
   :type 'string
+  :package-version '(tmr . "1.2.0")
   :group 'tmr)
 
  Faces
@@ -267,16 +272,19 @@ Longer descriptions will be truncated."
 (defface tmr-mode-line-active
   '((t :inherit mode-line-emphasis))
   "Face for active timers in the mode-line."
+  :package-version '(tmr . "1.2.0")
   :group 'tmr-faces)
 
 (defface tmr-mode-line-soon
   '((t :inherit warning))
   "Face for timers that will expire in the next 2 minutes."
+  :package-version '(tmr . "1.2.0")
   :group 'tmr-faces)
 
 (defface tmr-mode-line-urgent
   '((t :inherit error))
   "Face for timers that will expire in the next 30 seconds."
+  :package-version '(tmr . "1.2.0")
   :group 'tmr-faces)
 
  Common helpers



[nongnu] elpa/clojure-ts-mode updated (61041c82be -> 1f6be8f011)

2025-04-23 Thread ELPA Syncer
elpasync pushed a change to branch elpa/clojure-ts-mode.

  from  61041c82be [#16] Implement clojure-ts-align
   new  605adba8ba [#11] Add regex syntax highlighting
   new  7d76cce565 Seems dynamic font-locking actually works
   new  8aed008952 Use the spelling Tree-sitter consistently
   new  63d863d048 Code style
   new  1f6be8f011 Use consistent naming


Summary of changes:
 CHANGELOG.md   |   1 +
 README.md  |  43 
 clojure-ts-mode.el | 107 -
 screenshots/markdown-syntax-dark-theme.png | Bin 0 -> 59689 bytes
 screenshots/regex-syntax-dark-theme.png| Bin 0 -> 50440 bytes
 test/samples/regex.clj |   7 ++
 6 files changed, 127 insertions(+), 31 deletions(-)
 create mode 100644 screenshots/markdown-syntax-dark-theme.png
 create mode 100644 screenshots/regex-syntax-dark-theme.png
 create mode 100644 test/samples/regex.clj



[elpa] externals/tmr cc3b8db6dd 2/5: Merge tmr-mode-line.el into tmr.el

2025-04-23 Thread ELPA Syncer
branch: externals/tmr
commit cc3b8db6ddba05e6c722575611355248a2a95ead
Author: Steven Allen 
Commit: Steven Allen 

Merge tmr-mode-line.el into tmr.el
---
 tmr-mode-line.el | 179 ---
 tmr.el   | 147 -
 2 files changed, 146 insertions(+), 180 deletions(-)

diff --git a/tmr-mode-line.el b/tmr-mode-line.el
deleted file mode 100644
index c55c553a5e..00
--- a/tmr-mode-line.el
+++ /dev/null
@@ -1,179 +0,0 @@
-;;; tmr-mode-line.el --- Mode-line integration for tmr -*- lexical-binding: t 
-*-
-
-;; Copyright (C) 2025  Free Software Foundation, Inc.
-
-;;; Commentary:
-
-;; This package provides a mode-line component that displays active TMR May 
Ring
-;; timers with a countdown to when they fire.
-;;
-;; To use it, add the following to your init file:
-;;
-;; (require 'tmr-mode-line)
-;; (tmr-mode-line-mode 1)
-;;
-;; Customize the appearance with:
-;; - `tmr-mode-line-format': Format string for displaying each timer
-;; - `tmr-mode-line-separator': String used to separate multiple timers
-;; - `tmr-mode-line-max-timers': Maximum number of timers to display
-;; - `tmr-mode-line-max-desc-length': Max length for timer descriptions
-
-;;; Code:
-
-(require 'tmr)
-(require 'format-spec)
-(eval-when-compile (require 'subr-x))
-
-(defgroup tmr-mode-line nil
-  "Mode-line integration for TMR May Ring."
-  :link '(info-link :tag "Info Manual" "(tmr)")
-  :link '(url-link :tag "Homepage" "https://protesilaos.com/emacs/tmr";)
-  :link '(emacs-library-link :tag "Library Source" "tmr.el")
-  :group 'tmr)
-
-(defcustom tmr-mode-line-format "%r%d"
-  "Format string for displaying a timer in the mode-line.
-Available format specifiers:
-- %r: Remaining time.
-- %d: Timer description (truncated to `tmr-mode-line-max-desc-length')."
-  :type 'string
-  :group 'tmr-mode-line)
-
-(defcustom tmr-mode-line-separator " | "
-  "String used to separate multiple timers in the mode-line."
-  :type 'string
-  :group 'tmr-mode-line)
-
-(defcustom tmr-mode-line-max-timers 3
-  "Maximum number of timers to display in the mode-line.
-Set to nil to show all timers."
-  :type '(choice (const :tag "Show all" nil)
- (integer :tag "Maximum number"))
-  :group 'tmr-mode-line)
-
-(defcustom tmr-mode-line-max-desc-length 15
-  "Maximum length for timer descriptions in the mode-line.
-Longer descriptions will be truncated."
-  :type '(choice (const :tag "Don't truncate" nil)
- (integer :tag "Truncate"))
-  :group 'tmr-mode-line)
-
-(defcustom tmr-mode-line-prefix "⏰"
-  "Prefix string displayed before the timer list."
-  :type 'string
-  :group 'tmr-mode-line)
-
-(defface tmr-mode-line-active
-  '((t :inherit mode-line-emphasis))
-  "Face for active timers in the mode-line."
-  :group 'tmr-mode-line)
-
-(defface tmr-mode-line-soon
-  '((t :inherit warning))
-  "Face for timers that will expire in the next 2 minutes."
-  :group 'tmr-mode-line)
-
-(defface tmr-mode-line-urgent
-  '((t :inherit error))
-  "Face for timers that will expire in the next 30 seconds."
-  :group 'tmr-mode-line)
-
-(defvar tmr-mode-line-string nil
-  "TMR mode-line string.")
-(put 'tmr-mode-line-string 'risky-local-variable t)
-
-(defvar tmr-mode-line--update-timer nil
-  "Timer to update the mode-line.")
-
-(defun tmr-mode-line--format-remaining (timer)
-  "Format remaining time for TIMER with appropriate face."
-  (let* ((secs (float-time (time-subtract (tmr--timer-end-date timer) nil)))
- (face (cond ((and (< secs 5) (evenp (truncate secs)))
-  '((t :inherit tmr-mode-line-urgent :inverse-video t)))
- ((< secs 30) 'tmr-mode-line-urgent)
- ((= (truncate secs) 30)
-  '((t :inherit tmr-mode-line-urgent :inverse-video t)))
- ((= (truncate secs) 60)
-  '((t :inherit tmr-mode-line-soon :inverse-video t)))
- ((< secs 120) 'tmr-mode-line-soon)
- ((= (truncate secs) 120)
-  '((t :inherit tmr-mode-line-soon :inverse-video t)))
- (t 'tmr-mode-line-active)))
- (formatted (format-seconds
- (cond ((< secs 120) "%mm %ss%z")
-   ((< secs (* 24 60 60)) "%hh %mm%z")
-   (t "%dd %hh%z"))
- secs)))
-(propertize formatted 'face face)))
-
-(defun tmr-mode-line--format-description (timer)
-  "Format description for TIMER, truncating if necessary."
-  (if-let* ((desc (tmr--timer-description timer)))
-(concat " " (if tmr-mode-line-max-desc-length
-(truncate-string-to-width
- desc tmr-mode-line-max-desc-length
- nil nil t)
-  desc))
-""))
-
-(defun tmr-mode-line--format-timer (timer)
-  "Format a single TIMER for display in the mode-line."
-  (propertize
-   (format-spec tmr

[elpa] externals/modus-themes 792ebec01a 2/2: Make small refinements to modus-vivendi-tinted bg-paren-match value

2025-04-23 Thread ELPA Syncer
branch: externals/modus-themes
commit 792ebec01a07e8428f9d78daec5ce69b9aa34c1f
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Make small refinements to modus-vivendi-tinted bg-paren-match value
---
 modus-vivendi-tinted-theme.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/modus-vivendi-tinted-theme.el b/modus-vivendi-tinted-theme.el
index 7f99329c12..5c7920b5e4 100644
--- a/modus-vivendi-tinted-theme.el
+++ b/modus-vivendi-tinted-theme.el
@@ -212,7 +212,7 @@ which corresponds to a minimum contrast in relative 
luminance of
 
 ;;; Paren match
 
-  (bg-paren-match"#5f789f")
+  (bg-paren-match"#4f7f9f")
   (fg-paren-matchfg-main)
   (bg-paren-expression   "#453040")
   (underline-paren-match unspecified)



[elpa] externals/modus-themes updated (51c7c4dc21 -> 792ebec01a)

2025-04-23 Thread ELPA Syncer
elpasync pushed a change to branch externals/modus-themes.

  from  51c7c4dc21 Tweak modus-vivendi-tinted mail mappings for consistency
   new  16fc1ed7b0 Revert "Revise all "paren" colours to be mappings"
   new  792ebec01a Make small refinements to modus-vivendi-tinted 
bg-paren-match value


Summary of changes:
 modus-operandi-deuteranopia-theme.el | 14 +++---
 modus-operandi-theme.el  | 14 +++---
 modus-operandi-tinted-theme.el   | 14 +++---
 modus-operandi-tritanopia-theme.el   | 14 +++---
 modus-vivendi-deuteranopia-theme.el  | 14 +++---
 modus-vivendi-theme.el   | 14 +++---
 modus-vivendi-tinted-theme.el| 14 +++---
 modus-vivendi-tritanopia-theme.el| 14 +++---
 8 files changed, 56 insertions(+), 56 deletions(-)



[elpa] externals/modus-themes 16fc1ed7b0 1/2: Revert "Revise all "paren" colours to be mappings"

2025-04-23 Thread ELPA Syncer
branch: externals/modus-themes
commit 16fc1ed7b09303042ade2c083e4ea750db60c332
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Revert "Revise all "paren" colours to be mappings"

This reverts commit 80b8de398f4e102e5641d401af8079b001210c95.

I wanted to put this in a separate branch for me to test things, but
did it on the main branch and then released it... Reverting as this
causes problems, such as what Morgan Willcock reported in issue 139:
.
---
 modus-operandi-deuteranopia-theme.el | 14 +++---
 modus-operandi-theme.el  | 14 +++---
 modus-operandi-tinted-theme.el   | 14 +++---
 modus-operandi-tritanopia-theme.el   | 14 +++---
 modus-vivendi-deuteranopia-theme.el  | 14 +++---
 modus-vivendi-theme.el   | 14 +++---
 modus-vivendi-tinted-theme.el| 14 +++---
 modus-vivendi-tritanopia-theme.el| 14 +++---
 8 files changed, 56 insertions(+), 56 deletions(-)

diff --git a/modus-operandi-deuteranopia-theme.el 
b/modus-operandi-deuteranopia-theme.el
index 45167dbd7d..3e464b44fb 100644
--- a/modus-operandi-deuteranopia-theme.el
+++ b/modus-operandi-deuteranopia-theme.el
@@ -212,6 +212,13 @@ standard)."
 
   (bg-diff-context"#f3f3f3")
 
+;;; Paren match
+
+  (bg-paren-match"#5fcfff")
+  (fg-paren-matchfg-main)
+  (bg-paren-expression   "#efd3f5")
+  (underline-paren-match unspecified)
+
 ;;; Mappings
 
  General mappings
@@ -264,13 +271,6 @@ standard)."
   (type cyan-cooler)
   (variable cyan)
 
- Paren match
-
-  (bg-paren-matchbg-cyan-subtle)
-  (fg-paren-matchfg-main)
-  (underline-paren-match unspecified)
-  (bg-paren-expression   bg-yellow-nuanced)
-
  Accent mappings
 
   (accent-0 blue-warmer)
diff --git a/modus-operandi-theme.el b/modus-operandi-theme.el
index 6f92f86461..0f0bc643e4 100644
--- a/modus-operandi-theme.el
+++ b/modus-operandi-theme.el
@@ -210,6 +210,13 @@ which corresponds to a minimum contrast in relative 
luminance of
 
   (bg-diff-context"#f3f3f3")
 
+;;; Paren match
+
+  (bg-paren-match"#5fcfff")
+  (fg-paren-matchfg-main)
+  (bg-paren-expression   "#efd3f5")
+  (underline-paren-match unspecified)
+
 ;;; Mappings
 
  General mappings
@@ -262,13 +269,6 @@ which corresponds to a minimum contrast in relative 
luminance of
   (type cyan-cooler)
   (variable cyan)
 
- Paren match
-
-  (bg-paren-matchbg-cyan-subtle)
-  (fg-paren-matchfg-main)
-  (underline-paren-match unspecified)
-  (bg-paren-expression   bg-yellow-nuanced)
-
  Accent mappings
 
   (accent-0 blue)
diff --git a/modus-operandi-tinted-theme.el b/modus-operandi-tinted-theme.el
index 16c33a8195..c3acb935e7 100644
--- a/modus-operandi-tinted-theme.el
+++ b/modus-operandi-tinted-theme.el
@@ -210,6 +210,13 @@ which corresponds to a minimum contrast in relative 
luminance of
 
   (bg-diff-context"#efe9df")
 
+;;; Paren match
+
+  (bg-paren-match"#7fdfcf")
+  (fg-paren-matchfg-main)
+  (bg-paren-expression   "#efd3f5")
+  (underline-paren-match unspecified)
+
 ;;; Mappings
 
  General mappings
@@ -262,13 +269,6 @@ which corresponds to a minimum contrast in relative 
luminance of
   (type green-warmer)
   (variable green-cooler)
 
- Paren match
-
-  (bg-paren-matchbg-cyan-subtle)
-  (fg-paren-matchfg-main)
-  (underline-paren-match unspecified)
-  (bg-paren-expression   bg-yellow-nuanced)
-
  Accent mappings
 
   (accent-0 red-cooler)
diff --git a/modus-operandi-tritanopia-theme.el 
b/modus-operandi-tritanopia-theme.el
index 8638d201d7..7161d71082 100644
--- a/modus-operandi-tritanopia-theme.el
+++ b/modus-operandi-tritanopia-theme.el
@@ -212,6 +212,13 @@ standard)."
 
   (bg-diff-context"#f3f3f3")
 
+;;; Paren match
+
+  (bg-paren-match"#5fcfff")
+  (fg-paren-matchfg-main)
+  (bg-paren-expression   "#efd3f5")
+  (underline-paren-match unspecified)
+
 ;;; Mappings
 
  General mappings
@@ -264,13 +271,6 @@ standard)."
   (type blue-warmer)
   (variable cyan-cooler)
 
- Paren match
-
-  (bg-paren-matchbg-cyan-subtle)
-  (fg-paren-matchfg-main)
-  (underline-paren-match unspecified)
-  (bg-paren-expression   bg-red-nuanced)
-
  Accent mappings
 
   (accent-0 cyan)
diff --git a/modus-vivendi-deuteranopia-theme.el 
b/modus-vivendi-deuteranopia-theme.el
index 676432f853..6f4878395d 100644
--- a/modus-vivendi-deuteranopia-theme.el
+++ b/modus-vivendi-deuteranopia-theme.el
@@ -212,6 +212,13 @@ standard)."
 
   (bg-diff-context"#1a1a1a")
 
+;;; Paren match
+
+  (bg-paren-match"#2f7f9f")
+  (fg-paren-matchfg-main)
+  (bg-paren-expression

[elpa] externals/tmr 318f1485ef 2/3: Merge pull request #3 from Stebalien/steb/fix-face-def

2025-04-23 Thread ELPA Syncer
branch: externals/tmr
commit 318f1485efc79ae7a60ab6d1c207eb4a1d5e7419
Merge: 133eb60db7 b68961a558
Author: Protesilaos Stavrou 
Commit: GitHub 

Merge pull request #3 from Stebalien/steb/fix-face-def

Fix face definition for expiring timers
---
 tmr.el | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/tmr.el b/tmr.el
index 3d8ddf4acd..15bd4174b0 100644
--- a/tmr.el
+++ b/tmr.el
@@ -915,15 +915,15 @@ they are set to reasonable default values."
   "Format remaining time for TIMER with appropriate face."
   (let* ((secs (float-time (time-subtract (tmr--timer-end-date timer) nil)))
  (face (cond ((and (< secs 5) (evenp (truncate secs)))
-  '((t :inherit tmr-mode-line-urgent :inverse-video t)))
+  '(tmr-mode-line-urgent (:inverse-video t)))
  ((< secs 30) 'tmr-mode-line-urgent)
  ((= (truncate secs) 30)
-  '((t :inherit tmr-mode-line-urgent :inverse-video t)))
+  '(tmr-mode-line-urgent (:inverse-video t)))
  ((= (truncate secs) 60)
-  '((t :inherit tmr-mode-line-soon :inverse-video t)))
+  '(tmr-mode-line-soon (:inverse-video t)))
  ((< secs 120) 'tmr-mode-line-soon)
  ((= (truncate secs) 120)
-  '((t :inherit tmr-mode-line-soon :inverse-video t)))
+  '(tmr-mode-line-soon (:inverse-video t)))
  (t 'tmr-mode-line-active)))
  (formatted (format-seconds
  (cond ((< secs 120) "%mm %ss%z")



[elpa] externals/tmr b68961a558 1/3: Fix face definition for expiring timers

2025-04-23 Thread ELPA Syncer
branch: externals/tmr
commit b68961a5580fa38db7855161483386efce7425b1
Author: Steven Allen 
Commit: Steven Allen 

Fix face definition for expiring timers

The face text property is either a face or a list of faces mixed with
face properties, it's NOT a regular face spec so it shouldn't have any
DISPLAY conditions.
---
 tmr.el | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/tmr.el b/tmr.el
index 3d8ddf4acd..15bd4174b0 100644
--- a/tmr.el
+++ b/tmr.el
@@ -915,15 +915,15 @@ they are set to reasonable default values."
   "Format remaining time for TIMER with appropriate face."
   (let* ((secs (float-time (time-subtract (tmr--timer-end-date timer) nil)))
  (face (cond ((and (< secs 5) (evenp (truncate secs)))
-  '((t :inherit tmr-mode-line-urgent :inverse-video t)))
+  '(tmr-mode-line-urgent (:inverse-video t)))
  ((< secs 30) 'tmr-mode-line-urgent)
  ((= (truncate secs) 30)
-  '((t :inherit tmr-mode-line-urgent :inverse-video t)))
+  '(tmr-mode-line-urgent (:inverse-video t)))
  ((= (truncate secs) 60)
-  '((t :inherit tmr-mode-line-soon :inverse-video t)))
+  '(tmr-mode-line-soon (:inverse-video t)))
  ((< secs 120) 'tmr-mode-line-soon)
  ((= (truncate secs) 120)
-  '((t :inherit tmr-mode-line-soon :inverse-video t)))
+  '(tmr-mode-line-soon (:inverse-video t)))
  (t 'tmr-mode-line-active)))
  (formatted (format-seconds
  (cond ((< secs 120) "%mm %ss%z")



[elpa] externals/tmr 68a68553f7 3/3: Acknowledge Steven Allen as a co-author of the package

2025-04-23 Thread ELPA Syncer
branch: externals/tmr
commit 68a68553f7d8b83577565151bcf0f13d647948f5
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Acknowledge Steven Allen as a co-author of the package

This is because of the major contribution that was done in pull
request 2, which adds support for displaying timers on the mode line:
.
---
 README.org | 2 +-
 tmr.el | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/README.org b/README.org
index b96577c1eb..2fa18bda4a 100644
--- a/README.org
+++ b/README.org
@@ -394,7 +394,7 @@ recognisable by Embark and registers the ~tmr-action-map~ 
in Embark.
 TMR is meant to be a collective effort.  Every bit of help matters.
 
 + Authors :: Protesilaos Stavrou (maintainer), Damien Cassou, Daniel
-  Mendler.
+  Mendler, Steven Allen.
 
 + Contributions to the code or manual :: Christian Tietze, Ed Tavinor,
   Nathan R. DeGruchy.
diff --git a/tmr.el b/tmr.el
index 15bd4174b0..40a72f8968 100644
--- a/tmr.el
+++ b/tmr.el
@@ -5,6 +5,7 @@
 ;; Author: Protesilaos Stavrou ,
 ;; Damien Cassou ,
 ;; Daniel Mendler 
+;; Steven Allen 
 ;; Maintainer: Protesilaos Stavrou 
 ;; URL: https://github.com/protesilaos/tmr
 ;; Version: 1.1.0



[elpa] externals/tmr updated (133eb60db7 -> 68a68553f7)

2025-04-23 Thread ELPA Syncer
elpasync pushed a change to branch externals/tmr.

  from  133eb60db7 Specify :package-version of all def{custom,face} about 
the new mode line indicator
   new  b68961a558 Fix face definition for expiring timers
   new  318f1485ef Merge pull request #3 from Stebalien/steb/fix-face-def
   new  68a68553f7 Acknowledge Steven Allen as a co-author of the package


Summary of changes:
 README.org | 2 +-
 tmr.el | 9 +
 2 files changed, 6 insertions(+), 5 deletions(-)