[nongnu] elpa/helm b4d7331b90 1/2: Update documentation

2025-02-17 Thread ELPA Syncer
branch: elpa/helm
commit b4d7331b906f0421b29fe95bac24b502131f147c
Author: Thierry Volpiatto 
Commit: Thierry Volpiatto 

Update documentation
---
 helm-help.el | 1 +
 1 file changed, 1 insertion(+)

diff --git a/helm-help.el b/helm-help.el
index c24e624826..f36d8bf321 100644
--- a/helm-help.el
+++ b/helm-help.el
@@ -208,6 +208,7 @@ Indianred2 => Buffer exists but its file has been deleted.
 Orange => Buffer is modified and not saved to disk.
 Italic => A non-file buffer.
 Yellow => Tramp archive buffer.
+DimGray=> Indirect buffer.
 
 ** Commands
 \\



[nongnu] elpa/helm updated (6e29695814 -> 4dd221e506)

2025-02-17 Thread ELPA Syncer
elpasync pushed a change to branch elpa/helm.

  from  6e29695814 Handle indirect buffers in helm-buffers
   new  b4d7331b90 Update documentation
   new  4dd221e506 Fix *-window-side-state


Summary of changes:
 helm-core.el | 2 +-
 helm-help.el | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)



[nongnu] elpa/cider updated (45699c0ee9 -> 41c77310a2)

2025-02-17 Thread ELPA Syncer
elpasync pushed a change to branch elpa/cider.

  from  45699c0ee9 [Docs] Update the instructions for building and 
deploying the docs
   new  371729b371 Release CIDER 1.17 ("Cologne")
   new  41c77310a2 Reset the docs version


Summary of changes:
 CHANGELOG.md | 2 ++
 cider.el | 6 +++---
 2 files changed, 5 insertions(+), 3 deletions(-)



[nongnu] elpa/cider 41c77310a2 2/2: Reset the docs version

2025-02-17 Thread ELPA Syncer
branch: elpa/cider
commit 41c77310a2404a778643532a0c434096e7294caa
Author: Bozhidar Batsov 
Commit: Bozhidar Batsov 

Reset the docs version
---
 doc/antora.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/doc/antora.yml b/doc/antora.yml
index 256d7ea172..fd9dacd593 100644
--- a/doc/antora.yml
+++ b/doc/antora.yml
@@ -2,6 +2,6 @@ name: cider
 title: CIDER
 # We always provide version without patch here (e.g. 1.1),
 # as patch versions should not appear in the docs.
-version: "1.17"
+version: ~
 nav:
 - modules/ROOT/nav.adoc



[nongnu] elpa/cider 371729b371 1/2: Release CIDER 1.17 ("Cologne")

2025-02-17 Thread ELPA Syncer
branch: elpa/cider
commit 371729b371f88fe9eb24419b0a9fecab312fa348
Author: Bozhidar Batsov 
Commit: Bozhidar Batsov 

Release CIDER 1.17 ("Cologne")
---
 CHANGELOG.md   | 2 ++
 cider.el   | 6 +++---
 doc/antora.yml | 2 +-
 3 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 54819aefeb..fbbd59bcc0 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,8 @@
 
 ## master (unreleased)
 
+## 1.17.0 (2025-02-17)
+
 ### New features
 
 - Automatic downloading of third-party Java sources for better Java 
documentation and jump-to-definition functionality. See [Obtaining source 
JARs](https://docs.cider.mx/cider/usage/working_with_documentation.html#obtaining-source-jars).
diff --git a/cider.el b/cider.el
index 80cdb402b9..532a3d615d 100644
--- a/cider.el
+++ b/cider.el
@@ -11,7 +11,7 @@
 ;; Steve Purcell 
 ;; Maintainer: Bozhidar Batsov 
 ;; URL: https://www.github.com/clojure-emacs/cider
-;; Version: 1.17.0-snapshot
+;; Version: 1.17.0
 ;; Package-Requires: ((emacs "26") (clojure-mode "5.19") (parseedn "1.2.1") 
(queue "0.2") (spinner "1.7") (seq "2.22") (sesman "0.3.2") (transient "0.4.1"))
 ;; Keywords: languages, clojure, cider
 
@@ -93,10 +93,10 @@
 (require 'sesman)
 (require 'package)
 
-(defconst cider-version "1.17.0-snapshot"
+(defconst cider-version "1.17.0"
   "The current version of CIDER.")
 
-(defconst cider-codename "Kherson"
+(defconst cider-codename "Cologne"
   "Codename used to denote stable releases.")
 
 (defcustom cider-lein-command
diff --git a/doc/antora.yml b/doc/antora.yml
index fd9dacd593..256d7ea172 100644
--- a/doc/antora.yml
+++ b/doc/antora.yml
@@ -2,6 +2,6 @@ name: cider
 title: CIDER
 # We always provide version without patch here (e.g. 1.1),
 # as patch versions should not appear in the docs.
-version: ~
+version: "1.17"
 nav:
 - modules/ROOT/nav.adoc



[nongnu] elpa/radio 831ec8a270: radio.el: bump Version to 0.3.0

2025-02-17 Thread ELPA Syncer
branch: elpa/radio
commit 831ec8a27064e1590075c18e4857f6d86514e0da
Author: Roi Martin 
Commit: Roi Martin 

radio.el: bump Version to 0.3.0
---
 radio.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/radio.el b/radio.el
index bb98ccffde..3670c881c2 100644
--- a/radio.el
+++ b/radio.el
@@ -5,7 +5,7 @@
 ;; Author: Roi Martin 
 ;; Maintainer: Roi Martin 
 ;; URL: https://github.com/jroimartin/radio
-;; Version: 0.2.1
+;; Version: 0.3.0
 ;; Package-Requires: ((emacs "29.1"))
 ;; Keywords: multimedia
 



[nongnu] elpa/ws-butler 721ac3e178 07/19: Standardise file trailer

2025-02-17 Thread Sean Whitton
branch: elpa/ws-butler
commit 721ac3e1783892b1077b6c57bb8e6cb772206ed8
Author: Sean Whitton 
Commit: Sean Whitton 

Standardise file trailer
---
 ws-butler.el | 1 -
 1 file changed, 1 deletion(-)

diff --git a/ws-butler.el b/ws-butler.el
index a7283c9168..36b2c4254e 100644
--- a/ws-butler.el
+++ b/ws-butler.el
@@ -298,5 +298,4 @@ only for lines modified by you."
 
 (provide 'ws-butler)
 
-;
 ;;; ws-butler.el ends here



[nongnu] elpa/ws-butler 33a87ff615 15/19: Update copyright years for Le Wang

2025-02-17 Thread Sean Whitton
branch: elpa/ws-butler
commit 33a87ff61575a1d7c05da1590a0f4c8d7f87c105
Author: Sean Whitton 
Commit: Sean Whitton 

Update copyright years for Le Wang
---
 ws-butler.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ws-butler.el b/ws-butler.el
index 50d14b8aef..c2b0991c1f 100644
--- a/ws-butler.el
+++ b/ws-butler.el
@@ -1,6 +1,6 @@
 ;;; ws-butler.el --- Unobtrusively remove trailing whitespace  -*- 
lexical-binding:t -*-
 
-;; Copyright (C) 2013  Le Wang 
+;; Copyright (C) 2012-2016  Le Wang 
 ;; Copyright (C) 2025  Sean Whitton 
 
 ;; Author: Le Wang 



[elpa] externals/company 99b69a569b: Fix the use of company-abort-manual-when-too-short

2025-02-17 Thread ELPA Syncer
branch: externals/company
commit 99b69a569be685a7f184e64029d81a5ae5ef2424
Author: Dmitry Gutov 
Commit: Dmitry Gutov 

Fix the use of company-abort-manual-when-too-short

Resolves #1510
---
 company.el | 10 +++---
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/company.el b/company.el
index 2a945c22d9..864bd26304 100644
--- a/company.el
+++ b/company.el
@@ -1,6 +1,6 @@
 ;;; company.el --- Modular text completion framework  -*- lexical-binding: t 
-*-
 
-;; Copyright (C) 2009-2024  Free Software Foundation, Inc.
+;; Copyright (C) 2009-2025  Free Software Foundation, Inc.
 
 ;; Author: Nikolaj Schumacher
 ;; Maintainer: Dmitry Gutov 
@@ -2438,11 +2438,7 @@ For more details see `company-insertion-on-trigger' and
   (if company-abort-manual-when-too-short
   ;; Must not be less than minimum or initial length.
   (min company-minimum-prefix-length
-   (if-let* ((mp-len-override (cdr-safe company--manual-prefix)))
-   (if (numberp mp-len-override)
-   mp-len-override
- (length (car-safe company--manual-prefix)))
- (length company--manual-prefix)))
+   (company--prefix-len company--manual-prefix))
 0)
 company-minimum-prefix-length))
 
@@ -2607,7 +2603,7 @@ For more details see `company-insertion-on-trigger' and
   (when (= (buffer-chars-modified-tick) tick)
 (let (company-require-match)
   (setq company-backend backend
-company--manual-prefix 0)
+company--manual-prefix "")
   (company--begin-new))
 (unless (and company-candidates
  (equal (company--boundaries) '("" . "")))



[nongnu] elpa/ws-butler ff2d5930a7 14/19: Exempt message-mode from ws-butler-global-mode by default

2025-02-17 Thread Sean Whitton
branch: elpa/ws-butler
commit ff2d5930a775f4a8589dae17c4d6171571d43a2a
Author: Sean Whitton 
Commit: Sean Whitton 

Exempt message-mode from ws-butler-global-mode by default

Liam Hupfer points out that e-mail can contain whitespace-sensitive patches.

There are also signature dashes and empty headers, and maybe more.
---
 ws-butler.el | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/ws-butler.el b/ws-butler.el
index 36424142c1..50d14b8aef 100644
--- a/ws-butler.el
+++ b/ws-butler.el
@@ -38,6 +38,7 @@
 ;; Move customisation group from `convenience' to `text'.
 ;; Rewrite docstrings.
 ;; Fix accidental change `point-at-bol'->`line-end-position'.
+;; Exempt `message-mode' from `ws-butler-global-mode' by default.
 
 ;;; Code:
 
@@ -70,6 +71,7 @@ If `smart-tabs-mode' is enabled, these conversions are 
suppressed."
 eshell-mode
 
 diff-mode
+message-mode
 markdown-mode)
   "Trailing whitespace-significant major modes.
 `ws-butler-mode' will not activate in these modes or in their derivatives."



[nongnu] main 4e77d3c980: ; * elpa-packages (ws-butler): Fix spelling.

2025-02-17 Thread Sean Whitton
branch: main
commit 4e77d3c980bd99b4f259918cfeba52cdd5eccdc9
Author: Sean Whitton 
Commit: Sean Whitton 

; * elpa-packages (ws-butler): Fix spelling.
---
 elpa-packages | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/elpa-packages b/elpa-packages
index 7cf807084c..5d4269dd81 100644
--- a/elpa-packages
+++ b/elpa-packages
@@ -969,7 +969,7 @@
 
  (ws-butler:url nil
   ;; As discussed on emacs-devel: This package was in need of some work and I
-  ;; requested to take over maintainance from the original author, who is
+  ;; requested to take over maintaining from the original author, who is
   ;; largely inactive.  He never responded to repeated enquiries, so I opted
   ;; to take it over without his blessing.  The package is now maintained out
   ;; of the elpa/ws-butler branch of this repository.  --spwhitton



[nongnu] elpa/helm 4dd221e506 2/2: Fix *-window-side-state

2025-02-17 Thread ELPA Syncer
branch: elpa/helm
commit 4dd221e506be3856d69fba1c6185eb0c7f5fa194
Author: Thierry Volpiatto 
Commit: Thierry Volpiatto 

Fix *-window-side-state
---
 helm-core.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/helm-core.el b/helm-core.el
index dba4b0cd8c..6a9fa70d30 100644
--- a/helm-core.el
+++ b/helm-core.el
@@ -3469,7 +3469,7 @@ The function used to display `helm-buffer' by calling
   helm-reuse-last-window-split-state)
  (helm-acase helm-split-window-default-side
((same other) it) ; take precedence on *-window-side-state.
-   ((guard* helm--window-side-state) guard)
+   ((guard* (progn helm--window-side-state)) guard)
(t it))
helm-split-window-default-side))
 (disp-fn (with-current-buffer buffer



[elpa] externals/ellama da2063e49f 7/8: Bump version

2025-02-17 Thread ELPA Syncer
branch: externals/ellama
commit da2063e49f3c6081c07370f862fac1faeab515f8
Author: Sergey Kostyaev 
Commit: Sergey Kostyaev 

Bump version
---
 NEWS.org  | 2 ++
 ellama.el | 2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/NEWS.org b/NEWS.org
index 00d30a1822..4e456291cc 100644
--- a/NEWS.org
+++ b/NEWS.org
@@ -1,3 +1,5 @@
+* Version 1.1.7
+- Added transient suffix to load model from the current session.
 * Version 1.1.6
 - Add system message support to ~ellama-stream~, ~ellama-chat~ and
   ~ellama-instant~.
diff --git a/ellama.el b/ellama.el
index 2deb4bbfc6..5858552902 100644
--- a/ellama.el
+++ b/ellama.el
@@ -6,7 +6,7 @@
 ;; URL: http://github.com/s-kostyaev/ellama
 ;; Keywords: help local tools
 ;; Package-Requires: ((emacs "28.1") (llm "0.22.0") (spinner "1.7.4") 
(transient "0.7") (compat "29.1") (posframe "1.4.0"))
-;; Version: 1.1.6
+;; Version: 1.1.7
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;; Created: 8th Oct 2023
 



[elpa] externals/ellama 2063c412db 4/8: Bump version

2025-02-17 Thread ELPA Syncer
branch: externals/ellama
commit 2063c412db53ed2a9a476d0deee2f6aed1f5ff8a
Author: Sergey Kostyaev 
Commit: Sergey Kostyaev 

Bump version
---
 NEWS.org  | 6 ++
 ellama.el | 2 +-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/NEWS.org b/NEWS.org
index f1535d5721..00d30a1822 100644
--- a/NEWS.org
+++ b/NEWS.org
@@ -1,3 +1,9 @@
+* Version 1.1.6
+- Add system message support to ~ellama-stream~, ~ellama-chat~ and
+  ~ellama-instant~.
+- Fix think tag handling for some models.
+- Provide buffer to all ~kill-buffer~ calls. Tried to fix an
+  unreproducible in my environment bug.
 * Version 1.1.5
 - Fix cancel current stream by pressing ~C-g~ in buffer with active
   streaming.
diff --git a/ellama.el b/ellama.el
index 42f92946a9..2b3c258f5d 100644
--- a/ellama.el
+++ b/ellama.el
@@ -6,7 +6,7 @@
 ;; URL: http://github.com/s-kostyaev/ellama
 ;; Keywords: help local tools
 ;; Package-Requires: ((emacs "28.1") (llm "0.22.0") (spinner "1.7.4") 
(transient "0.7") (compat "29.1") (posframe "1.4.0"))
-;; Version: 1.1.5
+;; Version: 1.1.6
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;; Created: 8th Oct 2023
 



[elpa] externals/ellama 8128ca3e6d 1/8: Fix buffer management

2025-02-17 Thread ELPA Syncer
branch: externals/ellama
commit 8128ca3e6d4003765140ac70bc94ae71f9ae6b7a
Author: Sergey Kostyaev 
Commit: Sergey Kostyaev 

Fix buffer management

Fixed buffer management by explicitly passing the current buffer to
`kill-buffer` in several places. This ensures that the correct buffer
is killed, preventing potential issues with unintended buffer closure.
---
 ellama.el | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/ellama.el b/ellama.el
index 6e8a6321ac..f47d556207 100644
--- a/ellama.el
+++ b/ellama.el
@@ -629,7 +629,7 @@ Skip code blocks and math environments."
   (ellama--apply-transformations prev-point (point-max)))
 (prog1
(buffer-substring-no-properties (point-min) (point-max))
-  (kill-buffer
+  (kill-buffer (current-buffer)
 
 (defun ellama--translate-markdown-to-org-filter (text)
   "Filter to translate code blocks from markdown syntax to org syntax in TEXT.
@@ -1944,7 +1944,7 @@ Extract profession from this message. Be short and 
concise."
 (with-current-buffer buf
   (prog1
  (string-trim (buffer-substring-no-properties (point-min) (point-max)))
-   (kill-buffer)
+   (kill-buffer buf)
 
 (defun ellama-get-last-user-message ()
   "Return last not sent user message in current session buffer."



[elpa] externals/ellama 8b6db08f89 8/8: Merge pull request #222 from s-kostyaev/add-fill-provider-from-current-session

2025-02-17 Thread ELPA Syncer
branch: externals/ellama
commit 8b6db08f89349ea56e17a04c01afcb3641f781be
Merge: 76b8287006 da2063e49f
Author: Sergey Kostyaev 
Commit: GitHub 

Merge pull request #222 from 
s-kostyaev/add-fill-provider-from-current-session

Add transient suffix for loading model from current session
---
 NEWS.org  |  2 ++
 ellama.el | 12 +++-
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/NEWS.org b/NEWS.org
index 00d30a1822..4e456291cc 100644
--- a/NEWS.org
+++ b/NEWS.org
@@ -1,3 +1,5 @@
+* Version 1.1.7
+- Added transient suffix to load model from the current session.
 * Version 1.1.6
 - Add system message support to ~ellama-stream~, ~ellama-chat~ and
   ~ellama-instant~.
diff --git a/ellama.el b/ellama.el
index 2b3c258f5d..5858552902 100644
--- a/ellama.el
+++ b/ellama.el
@@ -6,7 +6,7 @@
 ;; URL: http://github.com/s-kostyaev/ellama
 ;; Keywords: help local tools
 ;; Package-Requires: ((emacs "28.1") (llm "0.22.0") (spinner "1.7.4") 
(transient "0.7") (compat "29.1") (posframe "1.4.0"))
-;; Version: 1.1.6
+;; Version: 1.1.7
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;; Created: 8th Oct 2023
 
@@ -2694,6 +2694,14 @@ Call CALLBACK on result list of strings.  ARGS contains 
keys for fine control.
  (completing-read "Select provider: "
   (mapcar #'prin1-to-string ellama-provider-list))
 
+(transient-define-suffix ellama-transient-model-get-from-current-session ()
+  "Fill transient model from current session."
+  (interactive)
+  (when ellama--current-session-id
+(ellama-fill-transient-ollama-model
+ (with-current-buffer (ellama-get-session-buffer 
ellama--current-session-id)
+   (ellama-session-provider ellama--current-session)
+
 (transient-define-suffix ellama-transient-set-provider ()
   "Set transient model to provider."
   (interactive)
@@ -2711,6 +2719,8 @@ Call CALLBACK on result list of strings.  ARGS contains 
keys for fine control.
   [["Model"
 ("f" "Load from provider" ellama-transient-model-get-from-provider
  :transient t)
+("F" "Load from current session" 
ellama-transient-model-get-from-current-session
+ :transient t)
 ("m" "Set Model" ellama-transient-set-ollama-model
  :transient t
  :description (lambda () (format "Model (%s)" 
ellama-transient-ollama-model-name)))



[elpa] externals/ellama 76b8287006 5/8: Merge pull request #221 from s-kostyaev/add-system-message

2025-02-17 Thread ELPA Syncer
branch: externals/ellama
commit 76b8287006dc7f97a5b60e258c79847dc1e87b16
Merge: 1fd599f3a7 2063c412db
Author: Sergey Kostyaev 
Commit: GitHub 

Merge pull request #221 from s-kostyaev/add-system-message

Add system message
---
 NEWS.org  |  6 ++
 ellama.el | 25 -
 2 files changed, 26 insertions(+), 5 deletions(-)

diff --git a/NEWS.org b/NEWS.org
index f1535d5721..00d30a1822 100644
--- a/NEWS.org
+++ b/NEWS.org
@@ -1,3 +1,9 @@
+* Version 1.1.6
+- Add system message support to ~ellama-stream~, ~ellama-chat~ and
+  ~ellama-instant~.
+- Fix think tag handling for some models.
+- Provide buffer to all ~kill-buffer~ calls. Tried to fix an
+  unreproducible in my environment bug.
 * Version 1.1.5
 - Fix cancel current stream by pressing ~C-g~ in buffer with active
   streaming.
diff --git a/ellama.el b/ellama.el
index 6e8a6321ac..2b3c258f5d 100644
--- a/ellama.el
+++ b/ellama.el
@@ -6,7 +6,7 @@
 ;; URL: http://github.com/s-kostyaev/ellama
 ;; Keywords: help local tools
 ;; Package-Requires: ((emacs "28.1") (llm "0.22.0") (spinner "1.7.4") 
(transient "0.7") (compat "29.1") (posframe "1.4.0"))
-;; Version: 1.1.5
+;; Version: 1.1.6
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;; Created: 8th Oct 2023
 
@@ -629,7 +629,7 @@ Skip code blocks and math environments."
   (ellama--apply-transformations prev-point (point-max)))
 (prog1
(buffer-substring-no-properties (point-min) (point-max))
-  (kill-buffer
+  (kill-buffer (current-buffer)
 
 (defun ellama--translate-markdown-to-org-filter (text)
   "Filter to translate code blocks from markdown syntax to org syntax in TEXT.
@@ -644,7 +644,7 @@ This filter contains only subset of markdown syntax to be 
good enough."
 (replace-regexp-in-string "^[[:space:]]*```" "#+END_SRC\n")
 (replace-regexp-in-string "```" "\n#+END_SRC\n")
 (replace-regexp-in-string "[\n]?" "#+BEGIN_QUOTE\n")
-(replace-regexp-in-string "[\n]?" "#+END_QUOTE\n")
+(replace-regexp-in-string "[\n]?[\n]?" "\n#+END_QUOTE\n")
 (ellama--replace-bad-code-blocks)
 (ellama--replace-outside-of-code-blocks)))
 
@@ -1694,6 +1694,8 @@ strings before they're inserted into the BUFFER.
 :ephemeral-session BOOL -- if BOOL is set session will not be saved to named
 file by default.
 
+:system STR -- send STR to model as system message.
+
 :on-error ON-ERROR -- ON-ERROR a function that's called with an error message 
on
 failure (with BUFFER current).
 
@@ -1719,15 +1721,20 @@ failure (with BUFFER current).
  (error "Error calling the LLM: %s" msg
 (donecb (or (plist-get args :on-done) #'ignore))
 (prompt-with-ctx (ellama--prompt-with-context prompt))
+(system (plist-get args :system))
 (llm-prompt (if session
 (if (llm-chat-prompt-p (ellama-session-prompt session))
 (progn
   (llm-chat-prompt-append-response
(ellama-session-prompt session)
prompt-with-ctx)
+  (when system
+(llm-chat-prompt-append-response
+ (ellama-session-prompt session)
+ system 'system))
   (ellama-session-prompt session))
   (setf (ellama-session-prompt session)
-(llm-make-simple-chat-prompt prompt-with-ctx)))
+(llm-make-chat-prompt prompt-with-ctx :context 
system)))
   (llm-make-simple-chat-prompt prompt-with-ctx
 (with-current-buffer buffer
   (ellama-request-mode +1)
@@ -1944,7 +1951,7 @@ Extract profession from this message. Be short and 
concise."
 (with-current-buffer buf
   (prog1
  (string-trim (buffer-substring-no-properties (point-min) (point-max)))
-   (kill-buffer)
+   (kill-buffer buf)
 
 (defun ellama-get-last-user-message ()
   "Return last not sent user message in current session buffer."
@@ -2044,6 +2051,8 @@ ARGS contains keys for fine control.
 
 :session-id ID -- ID is a ellama session unique identifier.
 
+:system STR -- send STR to model as system message.
+
 :on-done ON-DONE -- ON-DONE a function that's called with
 the full response text when the request completes (with BUFFER current)."
   (interactive "sAsk ellama: ")
@@ -2055,6 +2064,7 @@ the full response text when the request completes (with 
BUFFER current)."
'("ollama model" . 
(ellama-get-ollama-local-model
  ellama-providers))
 (variants (mapcar #'car providers))
+(system (plist-get args :system))
 (donecb (plist-get args :on-done))
 (provider (if current-prefix-arg
   (eval (alist-get
@@ -2106,6 +2116,7 @@ the full response text when the request completes (with 
BUFFER cur

[elpa] externals/ellama ac9b35e693 3/8: Add system message support to ellama.el

2025-02-17 Thread ELPA Syncer
branch: externals/ellama
commit ac9b35e6934091f64f2edd35d8d3b069cd9c84f1
Author: Sergey Kostyaev 
Commit: Sergey Kostyaev 

Add system message support to ellama.el

Added support for sending a system message to the model in various
functions, including `ellama-instant`, `ellama-chat`, and
`ellama-stream`. The `:system` parameter can be used to specify a
string that will be sent as a system message together with the actual
prompt.
---
 ellama.el | 17 -
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/ellama.el b/ellama.el
index dba16b9146..42f92946a9 100644
--- a/ellama.el
+++ b/ellama.el
@@ -1694,6 +1694,8 @@ strings before they're inserted into the BUFFER.
 :ephemeral-session BOOL -- if BOOL is set session will not be saved to named
 file by default.
 
+:system STR -- send STR to model as system message.
+
 :on-error ON-ERROR -- ON-ERROR a function that's called with an error message 
on
 failure (with BUFFER current).
 
@@ -1719,15 +1721,20 @@ failure (with BUFFER current).
  (error "Error calling the LLM: %s" msg
 (donecb (or (plist-get args :on-done) #'ignore))
 (prompt-with-ctx (ellama--prompt-with-context prompt))
+(system (plist-get args :system))
 (llm-prompt (if session
 (if (llm-chat-prompt-p (ellama-session-prompt session))
 (progn
   (llm-chat-prompt-append-response
(ellama-session-prompt session)
prompt-with-ctx)
+  (when system
+(llm-chat-prompt-append-response
+ (ellama-session-prompt session)
+ system 'system))
   (ellama-session-prompt session))
   (setf (ellama-session-prompt session)
-(llm-make-simple-chat-prompt prompt-with-ctx)))
+(llm-make-chat-prompt prompt-with-ctx :context 
system)))
   (llm-make-simple-chat-prompt prompt-with-ctx
 (with-current-buffer buffer
   (ellama-request-mode +1)
@@ -2044,6 +2051,8 @@ ARGS contains keys for fine control.
 
 :session-id ID -- ID is a ellama session unique identifier.
 
+:system STR -- send STR to model as system message.
+
 :on-done ON-DONE -- ON-DONE a function that's called with
 the full response text when the request completes (with BUFFER current)."
   (interactive "sAsk ellama: ")
@@ -2055,6 +2064,7 @@ the full response text when the request completes (with 
BUFFER current)."
'("ollama model" . 
(ellama-get-ollama-local-model
  ellama-providers))
 (variants (mapcar #'car providers))
+(system (plist-get args :system))
 (donecb (plist-get args :on-done))
 (provider (if current-prefix-arg
   (eval (alist-get
@@ -2106,6 +2116,7 @@ the full response text when the request completes (with 
BUFFER current)."
(ellama-get-nick-prefix-for-mode) " " ellama-assistant-nick 
":\n"))
  (ellama-stream prompt
 :session session
+:system system
 :on-done (if donecb (list 'ellama-chat-done donecb)
'ellama-chat-done)
 :filter (when (derived-mode-p 'org-mode)
@@ -2244,6 +2255,8 @@ ARGS contains keys for fine control.
 
 :provider PROVIDER -- PROVIDER is an llm provider for generation.
 
+:system STR -- send STR to model as system message.
+
 :on-done ON-DONE -- ON-DONE a function or list of functions that's called with
  the full response text when the request completes (with BUFFER current)."
   (let* ((provider (or (plist-get args :provider)
@@ -2252,6 +2265,7 @@ ARGS contains keys for fine control.
 (buffer (get-buffer-create (if (get-buffer buffer-name)
(make-temp-name (concat buffer-name " 
"))
  buffer-name)))
+(system (plist-get args :system))
 (donecb (plist-get args :on-done))
 filter)
 (with-current-buffer buffer
@@ -2261,6 +2275,7 @@ ARGS contains keys for fine control.
 (display-buffer buffer (when ellama-instant-display-action-function
 `((ignore . 
(,ellama-instant-display-action-function)
 (ellama-stream prompt
+  :system system
   :buffer buffer
   :filter filter
   :provider provider



[elpa] externals/ellama b1eb3578bf 6/8: Add transient suffix for loading model from current session

2025-02-17 Thread ELPA Syncer
branch: externals/ellama
commit b1eb3578bf1601c0e1a5de6babc6043c470a6921
Author: Sergey Kostyaev 
Commit: Sergey Kostyaev 

Add transient suffix for loading model from current session

It can be useful to continue some previous conversation.
---
 ellama.el | 10 ++
 1 file changed, 10 insertions(+)

diff --git a/ellama.el b/ellama.el
index 2b3c258f5d..2deb4bbfc6 100644
--- a/ellama.el
+++ b/ellama.el
@@ -2694,6 +2694,14 @@ Call CALLBACK on result list of strings.  ARGS contains 
keys for fine control.
  (completing-read "Select provider: "
   (mapcar #'prin1-to-string ellama-provider-list))
 
+(transient-define-suffix ellama-transient-model-get-from-current-session ()
+  "Fill transient model from current session."
+  (interactive)
+  (when ellama--current-session-id
+(ellama-fill-transient-ollama-model
+ (with-current-buffer (ellama-get-session-buffer 
ellama--current-session-id)
+   (ellama-session-provider ellama--current-session)
+
 (transient-define-suffix ellama-transient-set-provider ()
   "Set transient model to provider."
   (interactive)
@@ -2711,6 +2719,8 @@ Call CALLBACK on result list of strings.  ARGS contains 
keys for fine control.
   [["Model"
 ("f" "Load from provider" ellama-transient-model-get-from-provider
  :transient t)
+("F" "Load from current session" 
ellama-transient-model-get-from-current-session
+ :transient t)
 ("m" "Set Model" ellama-transient-set-ollama-model
  :transient t
  :description (lambda () (format "Model (%s)" 
ellama-transient-ollama-model-name)))



[elpa] externals/ellama updated (1fd599f3a7 -> 8b6db08f89)

2025-02-17 Thread ELPA Syncer
elpasync pushed a change to branch externals/ellama.

  from  1fd599f3a7 Merge pull request #220 from 
s-kostyaev/fix-cancel-current-request
   new  8128ca3e6d Fix buffer management
   new  6167833f8a Fix think tag handling
   new  ac9b35e693 Add system message support to ellama.el
   new  2063c412db Bump version
   new  76b8287006 Merge pull request #221 from 
s-kostyaev/add-system-message
   new  b1eb3578bf Add transient suffix for loading model from current 
session
   new  da2063e49f Bump version
   new  8b6db08f89 Merge pull request #222 from 
s-kostyaev/add-fill-provider-from-current-session


Summary of changes:
 NEWS.org  |  8 
 ellama.el | 35 ++-
 2 files changed, 38 insertions(+), 5 deletions(-)



[nongnu] elpa/flycheck d0a3b8154a 2/3: Change the docs theme with furo

2025-02-17 Thread ELPA Syncer
branch: elpa/flycheck
commit d0a3b8154adf47357325c02881664c1731e880c5
Author: Bozhidar Batsov 
Commit: Bozhidar Batsov 

Change the docs theme with furo
---
 doc/conf.py  | 2 +-
 doc/requirements.txt | 3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/doc/conf.py b/doc/conf.py
index cfaa491900..bd8b360a18 100644
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -119,7 +119,7 @@ nitpick_ignore = [
 ]
 
 # HTML settings
-html_theme = 'alabaster'
+html_theme = 'furo'
 html_theme_options = {
 'logo': 'logo.png',
 'logo_name': False,
diff --git a/doc/requirements.txt b/doc/requirements.txt
index 7c02c404f9..24a5e21601 100644
--- a/doc/requirements.txt
+++ b/doc/requirements.txt
@@ -3,7 +3,8 @@ Sphinx~=5.3
 # Automatically build documentation on changes
 sphinx-autobuild
 # Sphinx theme
-alabaster>=0.7.8
+furo>=2024.8.6
+# alabaster>=0.7.8
 # Syntax highlighting
 Pygments>=2.1
 # Network access



[nongnu] elpa/flycheck ed7cd00cf2 3/3: Relax the version of the theme

2025-02-17 Thread ELPA Syncer
branch: elpa/flycheck
commit ed7cd00cf2174956a4c3278004bad1e2ead739d1
Author: Bozhidar Batsov 
Commit: Bozhidar Batsov 

Relax the version of the theme
---
 doc/requirements.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/doc/requirements.txt b/doc/requirements.txt
index 24a5e21601..b038981609 100644
--- a/doc/requirements.txt
+++ b/doc/requirements.txt
@@ -3,7 +3,7 @@ Sphinx~=5.3
 # Automatically build documentation on changes
 sphinx-autobuild
 # Sphinx theme
-furo>=2024.8.6
+furo
 # alabaster>=0.7.8
 # Syntax highlighting
 Pygments>=2.1



[nongnu] elpa/flycheck updated (af1e8ca725 -> ed7cd00cf2)

2025-02-17 Thread ELPA Syncer
elpasync pushed a change to branch elpa/flycheck.

  from  af1e8ca725 Ruby 3.4 compatibility
   new  f1277dc93b Tweak some markup
   new  d0a3b8154a Change the docs theme with furo
   new  ed7cd00cf2 Relax the version of the theme


Summary of changes:
 doc/conf.py  |  2 +-
 doc/languages.rst| 14 +-
 doc/requirements.txt |  3 ++-
 3 files changed, 12 insertions(+), 7 deletions(-)



[nongnu] elpa/helm 5697235f85: Fix docstring

2025-02-17 Thread ELPA Syncer
branch: elpa/helm
commit 5697235f858782c042a6f4225adc4a2c44f8c29c
Author: Thierry Volpiatto 
Commit: Thierry Volpiatto 

Fix docstring
---
 helm-lib.el | 7 +--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/helm-lib.el b/helm-lib.el
index 5ff68bfca7..ea3d59ff2f 100644
--- a/helm-lib.el
+++ b/helm-lib.el
@@ -558,8 +558,11 @@ KEYLIST can be any object that will be compared with 
`equal' or
 an expression starting with special symbol `guard*' which is then
 evaluated.  Once evaluated the symbol `guard' is bound to the
 returned value that can be used in the cdr of clause.  When
-KEYLIST match EXPR or `guard*' sexp evaluation is non-nil, BODY is
-executed and `helm-acase' exits with its value.
+KEYLIST match EXPR or `guard*' sexp evaluation is non-nil, BODY
+is executed and `helm-acase' exits with its value.
+Note:
+`guard*' sexp should not be a single symbol to eval, e.g. (guard* foo)
+in such cases you should use (guard* (progn foo)).
 
 KEYLIST can also be a list starting with special symbol `dst*'
 followed by an expression suitable for `cl-destructuring-bind'.



[nongnu] elpa/flycheck 86715c0f29: Go back to alabaster

2025-02-17 Thread ELPA Syncer
branch: elpa/flycheck
commit 86715c0f293738623f632d6f54a7d1be78b1c48f
Author: Bozhidar Batsov 
Commit: Bozhidar Batsov 

Go back to alabaster

For some reason furo doesn't get installed.
---
 doc/conf.py  | 2 +-
 doc/requirements.txt | 3 +--
 2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/doc/conf.py b/doc/conf.py
index bd8b360a18..cfaa491900 100644
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -119,7 +119,7 @@ nitpick_ignore = [
 ]
 
 # HTML settings
-html_theme = 'furo'
+html_theme = 'alabaster'
 html_theme_options = {
 'logo': 'logo.png',
 'logo_name': False,
diff --git a/doc/requirements.txt b/doc/requirements.txt
index b038981609..7c02c404f9 100644
--- a/doc/requirements.txt
+++ b/doc/requirements.txt
@@ -3,8 +3,7 @@ Sphinx~=5.3
 # Automatically build documentation on changes
 sphinx-autobuild
 # Sphinx theme
-furo
-# alabaster>=0.7.8
+alabaster>=0.7.8
 # Syntax highlighting
 Pygments>=2.1
 # Network access



[nongnu] elpa/ws-butler d259538066 04/19: Rewrite docstrings, reformat default values

2025-02-17 Thread Sean Whitton
branch: elpa/ws-butler
commit d25953806615f8523c7544f6d14369dbae3c2758
Author: Sean Whitton 
Commit: Sean Whitton 

Rewrite docstrings, reformat default values
---
 ws-butler.el | 88 +---
 1 file changed, 37 insertions(+), 51 deletions(-)

diff --git a/ws-butler.el b/ws-butler.el
index db4b00c1a6..7f1d0af1be 100644
--- a/ws-butler.el
+++ b/ws-butler.el
@@ -1,6 +1,7 @@
 ;;; ws-butler.el --- Unobtrusively remove trailing whitespace  -*- 
lexical-binding:t -*-
 
 ;; Copyright (C) 2013  Le Wang 
+;; Copyright (C) 2025  Sean Whitton 
 
 ;; Author: Le Wang 
 ;; Maintainer: Sean Whitton 
@@ -35,6 +36,7 @@
 ;; Ver 1.0 /MM/DD Sean Whitton
 ;; Bump to version 1.0: core functionality not expected to change.
 ;; Move customisation group from `convenience' to `text'.
+;; Rewrite docstrings.
 
 ;;; Code:
 
@@ -42,62 +44,54 @@
   (require 'cl-lib))
 
 (defgroup ws-butler nil
-  "Unobtrusively whitespace deletion like a butler."
+  "Unobtrusive whitespace deletion, like a butler."
   :group 'text)
 
-(defcustom ws-butler-keep-whitespace-before-point
-  t
-  "Keep whitespace at current point after save.
-
-That is to say, if whitespace around is trimmed, perform the
-cleanup only on disk, don't move the point in the buffer.
-
-i.e. only the \"virtual\" space is preserved in the buffer."
+(defcustom ws-butler-keep-whitespace-before-point t
+  "If non-nil, restore to the buffer trimmed whitespace right before point.
+The effect is that cleanup of whitespace right before point is performed
+on only the visited file on disk, while point in the buffer does not move.
+This means that point does not jump when whitespace is trimmed."
   :type 'boolean
   :group 'ws-butler)
 
-(defcustom ws-butler-convert-leading-tabs-or-spaces
-  nil
-  "Make leading whitespace be tabs or spaces.
-
-If `indent-tabs-mode' is non-nil, call `tabify', else call
-`untabify'. Do neither if `smart-tabs-mode' is enabled for this
-buffer. This is off by default because it's unwanted if you
-occasionally edit files where leading whitespace should not be
-changed in this specific way."
-
+(defcustom ws-butler-convert-leading-tabs-or-spaces nil
+  "If non-nil, apply `indent-tabs-mode' to leading indentation when saving.
+If `indent-tabs-mode' is non-nil, convert leading indentation to use tabs,
+like `tabify'.  Otherwise, replace all tabs with spaces, like `untabify'.
+If `smart-tabs-mode' is enabled, these conversions are suppressed."
   :type 'boolean
   :group 'ws-butler)
 
 (defcustom ws-butler-global-exempt-modes
   '(special-mode
 minibuffer-mode
+
 comint-mode
 term-mode
 eshell-mode
+
 diff-mode
 markdown-mode)
-  "Don't enable ws-butler in modes that inherit from these.
-
-This should be a list of trailing whitespace significant major-modes."
+  "Trailing whitespace-significant major modes.
+`ws-butler-mode' will not activate in these modes or in their derivatives."
   :type '(repeat (symbol :tag "Major mode"))
   :group 'ws-butler)
 
 (defcustom ws-butler-trim-predicate
   (lambda (_beg _end) t)
-  "Return true for regions that should be trimmed.
-
-Expects 2 arguments - beginning and end of a region.
-Should return a truthy value for regions that should
-have their trailing whitespace trimmed.
-When not defined all regions are trimmed."
+  "Function to exclude regions from whitespace trimming.
+Called with two arguments delimiting a region of the current buffer.
+If the function returns non-nil, trailing whitespace in that region will be
+trimmed.  The default is to trim everywhere."
   :type 'function
   :group 'ws-butler)
 
 (defvar ws-butler-saved)
 
 (defmacro ws-butler-with-save (&rest forms)
-  "Run FORMS with restriction and excursion saved once."
+  "Like `save-excursion' and `save-restriction', but only once.
+If within the scope of another use of this macro, just evaluate FORMS."
   (declare (debug (body)))
   `(if (and (boundp 'ws-butler-saved)
 ws-butler-saved)
@@ -109,8 +103,8 @@ When not defined all regions are trimmed."
,@forms)
 
 (defun ws-butler-trim-eob-lines ()
-  "Trim lines at EOB in efficient manner.
-Also see `require-final-newline'."
+  "Efficiently trim blank lines at end-of-buffer.
+Affected by `require-final-newline', which see."
   (ws-butler-with-save
(widen)
;; we need to clean up multiple blank lines at EOF to just one.  Or if
@@ -133,7 +127,7 @@ Also see `require-final-newline'."
  (replace-match ""
 
 (defun ws-butler-maybe-trim-eob-lines (last-modified-pos)
-  "Trim newlines at EOB if LAST-MODIFIED-POS is inside the excess newlines."
+  "Trim empty lines at end-of-buffer if LAST-MODIFIED-POS is within them."
   (interactive (list nil))
   (unless buffer-read-only
 (unless last-modified-pos
@@ -154,10 +148,8 @@ Also see `require-final-newline'."
   nil)
 
 (defun ws-butler-clean-region (beg end)
-  "Delete trailing blanks in region BEG END.
-
-If `indent-tabs-mode' is n

[nongnu] elpa/ws-butler a04b51ab3d 13/19: Fix accidental change point-at-bol -> line-end-position

2025-02-17 Thread Sean Whitton
branch: elpa/ws-butler
commit a04b51ab3d208a1bde424d57b81da3508f49ac2e
Author: Sean Whitton 
Commit: Sean Whitton 

Fix accidental change point-at-bol -> line-end-position
---
 ws-butler.el | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/ws-butler.el b/ws-butler.el
index 0099b2e9c5..36424142c1 100644
--- a/ws-butler.el
+++ b/ws-butler.el
@@ -37,6 +37,7 @@
 ;; Bump to version 1.0: core functionality not expected to change.
 ;; Move customisation group from `convenience' to `text'.
 ;; Rewrite docstrings.
+;; Fix accidental change `point-at-bol'->`line-end-position'.
 
 ;;; Code:
 
@@ -210,7 +211,7 @@ Respects `ws-butler-keep-whitespace-before-point', which 
see."
  (lambda (_prop beg end)
(save-excursion
  (setq beg (progn (goto-char beg)
-  (line-end-position))
+  (line-beginning-position))
;; Subtract one from end to overcome Emacs bug #17784, since we
;; always expand to end of line anyway, this should be OK.
end (progn (goto-char (1- end))



[nongnu] elpa/ws-butler ffbf227751 05/19: Abbreviate default value of ws-butler-trim-predicate

2025-02-17 Thread Sean Whitton
branch: elpa/ws-butler
commit ffbf22775145840c8f50b47151ff544be1386236
Author: Sean Whitton 
Commit: Sean Whitton 

Abbreviate default value of ws-butler-trim-predicate
---
 ws-butler.el | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/ws-butler.el b/ws-butler.el
index 7f1d0af1be..8b3de1c39a 100644
--- a/ws-butler.el
+++ b/ws-butler.el
@@ -78,8 +78,7 @@ If `smart-tabs-mode' is enabled, these conversions are 
suppressed."
   :type '(repeat (symbol :tag "Major mode"))
   :group 'ws-butler)
 
-(defcustom ws-butler-trim-predicate
-  (lambda (_beg _end) t)
+(defcustom ws-butler-trim-predicate #'always
   "Function to exclude regions from whitespace trimming.
 Called with two arguments delimiting a region of the current buffer.
 If the function returns non-nil, trailing whitespace in that region will be



[nongnu] elpa/ws-butler 82b7d688db 19/19: Release 1.0 to nongnu-elpa.git

2025-02-17 Thread Sean Whitton
branch: elpa/ws-butler
commit 82b7d688db77c9e6f2f0bf41e8b4cdf13567dda1
Author: Sean Whitton 
Commit: Sean Whitton 

Release 1.0 to nongnu-elpa.git
---
 ws-butler.el | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/ws-butler.el b/ws-butler.el
index 885846ebd4..302041a03d 100644
--- a/ws-butler.el
+++ b/ws-butler.el
@@ -6,7 +6,7 @@
 ;; Author: Le Wang 
 ;; Maintainer: Sean Whitton 
 ;; Package-Requires: ((emacs "24.1"))
-;; Version: 1.0pre
+;; Version: 1.0
 ;; URL: https://elpa.nongnu.org/nongnu/ws-butler.html
 ;; Keywords: text
 
@@ -33,12 +33,14 @@
 
 ;;; News:
 
-;; Ver 1.0 /MM/DD Sean Whitton
+;; Ver 1.0 2025/02/18 Sean Whitton
+;; Take over maintenance; maintain out of nongnu-elpa.git.
 ;; Bump to version 1.0: core functionality not expected to change.
 ;; Move customisation group from `convenience' to `text'.
 ;; Rewrite docstrings.
 ;; Fix accidental change `point-at-bol'->`line-end-position'.
 ;; Exempt `message-mode' from `ws-butler-global-mode' by default.
+;; Other tidying.
 
 ;;; Code:
 



[nongnu] elpa/ws-butler 4cf0855cd5 11/19: More explicitly enable mode in ws-butler-global-mode TURN-ON

2025-02-17 Thread Sean Whitton
branch: elpa/ws-butler
commit 4cf0855cd5861f3fa144c6acb51d97db7289e0b8
Author: Sean Whitton 
Commit: Sean Whitton 

More explicitly enable mode in ws-butler-global-mode TURN-ON
---
 ws-butler.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ws-butler.el b/ws-butler.el
index 86fd933928..0099b2e9c5 100644
--- a/ws-butler.el
+++ b/ws-butler.el
@@ -291,7 +291,7 @@ only for lines modified by you."
   (lambda ()
 "Enable `ws-butler-mode' unless current major mode is exempt."
 (unless (apply #'derived-mode-p ws-butler-global-exempt-modes)
-  (ws-butler-mode
+  (ws-butler-mode 1
 
 (provide 'ws-butler)
 



[nongnu] elpa/ws-butler 399c739a98 06/19: Fix overlong lines, drop a superfluous blank line

2025-02-17 Thread Sean Whitton
branch: elpa/ws-butler
commit 399c739a980b3deda2a8150ac32bdd3bc7986fca
Author: Sean Whitton 
Commit: Sean Whitton 

Fix overlong lines, drop a superfluous blank line
---
 ws-butler.el | 12 +++-
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/ws-butler.el b/ws-butler.el
index 8b3de1c39a..a7283c9168 100644
--- a/ws-butler.el
+++ b/ws-butler.el
@@ -140,7 +140,8 @@ Affected by `require-final-newline', which see."
(goto-char (point-max))
(skip-chars-backward " \t\n\v")
(let ((printable-point-max (point)))
- (when (and (funcall ws-butler-trim-predicate printable-point-max 
(point-max))
+ (when (and (funcall ws-butler-trim-predicate
+printable-point-max (point-max))
   (>= last-modified-pos printable-point-max))
(ws-butler-trim-eob-lines))
   ;; clean return code for hooks
@@ -225,8 +226,9 @@ Respects `ws-butler-keep-whitespace-before-point', which 
see."
 (defun ws-butler-clear-properties ()
   "Clear all `ws-butler-mode' text properties in the buffer."
   (with-silent-modifications
-(ws-butler-map-changes (lambda (_prop start end)
- (remove-list-of-text-properties start end 
'(ws-butler-chg))
+(ws-butler-map-changes
+ (lambda (_prop start end)
+   (remove-list-of-text-properties start end '(ws-butler-chg))
 
 (defun ws-butler-after-change (beg end length-before)
   "Update ws-butler text properties.
@@ -247,7 +249,6 @@ The arguments are as to members of 
`after-change-functions', which see."
 
 (defun ws-butler-after-save ()
   "Restore trimmed whitespace before point."
-
   (ws-butler-clear-properties)
   ;; go to saved line+col
   (when ws-butler-presave-coord
@@ -255,7 +256,8 @@ The arguments are as to members of 
`after-change-functions', which see."
   (ws-butler-with-save
(widen)
(goto-char (point-min))
-   (setq remaining-lines (forward-line (1- (car 
ws-butler-presave-coord)
+   (setq remaining-lines
+(forward-line (1- (car ws-butler-presave-coord)
   (unless (eq remaining-lines 0)
 (insert (make-string remaining-lines ?\n
 (move-to-column (cadr ws-butler-presave-coord) t)



[nongnu] main b890949b1b: Take over maintenance of ws-butler

2025-02-17 Thread Sean Whitton
branch: main
commit b890949b1becb098bb0ab166d6f944b1b220ba1b
Author: Sean Whitton 
Commit: Sean Whitton 

Take over maintenance of ws-butler
---
 elpa-packages | 7 ++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/elpa-packages b/elpa-packages
index 818e8d0b9d..7cf807084c 100644
--- a/elpa-packages
+++ b/elpa-packages
@@ -967,7 +967,12 @@
  (writegood-mode   :url "https://github.com/bnbeckwith/writegood-mode";
   :readme "README.org")
 
- (ws-butler:url "https://github.com/lewang/ws-butler";
+ (ws-butler:url nil
+  ;; As discussed on emacs-devel: This package was in need of some work and I
+  ;; requested to take over maintainance from the original author, who is
+  ;; largely inactive.  He never responded to repeated enquiries, so I opted
+  ;; to take it over without his blessing.  The package is now maintained out
+  ;; of the elpa/ws-butler branch of this repository.  --spwhitton
   :readme "README.md"
   :ignored-files ("COPYING" "tests" "Makefile" ".travis.yml"))
 



[nongnu] elpa/ws-butler 9d36459902 02/19: Drop definition of setq-local macro

2025-02-17 Thread Sean Whitton
branch: elpa/ws-butler
commit 9d364599020fcd6e388f47f840dbcc318e929f3c
Author: Sean Whitton 
Commit: Sean Whitton 

Drop definition of setq-local macro

We already require Emacs 24, in which setq-local is available.
---
 ws-butler.el | 7 ---
 1 file changed, 7 deletions(-)

diff --git a/ws-butler.el b/ws-butler.el
index 0586351acd..feefd2d1a1 100644
--- a/ws-butler.el
+++ b/ws-butler.el
@@ -40,13 +40,6 @@
 (eval-when-compile
   (require 'cl-lib))
 
-(eval-and-compile
-  (unless (fboundp 'setq-local)
-(defmacro setq-local (var val)
-  "Set variable VAR to value VAL in current buffer."
-  ;; Can't use backquote here, it's too early in the bootstrap.
-  (list 'set (list 'make-local-variable (list 'quote var)) val
-
 (defgroup ws-butler nil
   "Unobtrusively whitespace deletion like a butler."
   :group 'convenience)



[nongnu] elpa/ws-butler 2215029a3a 01/19: Take over maintainance, tidy up header, enable lexical binding

2025-02-17 Thread Sean Whitton
branch: elpa/ws-butler
commit 2215029a3a3b74647f3d9f4944f12814dcd25fec
Author: Sean Whitton 
Commit: Sean Whitton 

Take over maintainance, tidy up header, enable lexical binding
---
 ws-butler.el | 66 +++-
 1 file changed, 25 insertions(+), 41 deletions(-)

diff --git a/ws-butler.el b/ws-butler.el
index 4e208ee925..0586351acd 100644
--- a/ws-butler.el
+++ b/ws-butler.el
@@ -1,55 +1,39 @@
-;;; ws-butler.el --- Unobtrusively remove trailing whitespace.
+;;; ws-butler.el --- Unobtrusively remove trailing whitespace  -*- 
lexical-binding:t -*-
 
-;; this file is not part of Emacs
+;; Copyright (C) 2013  Le Wang 
 
-;; Copyright (C) 2013 Le Wang
-;; Author: Le Wang
-;; Maintainer: Le Wang
-;; Description: unobtrusively remove trailing whitespace
-;; Author: Le Wang
-;; Maintainer: Le Wang
+;; Author: Le Wang 
+;; Maintainer: Sean Whitton 
+;; Package-Requires: ((emacs "24.1"))
+;; Version: 1.0pre
+;; URL: https://elpa.nongnu.org/nongnu/ws-butler.html
+;; Keywords: text
 
-;; Created: Sat Jan  5 16:49:23 2013 (+0800)
-;; Version: 0.7
-;; Last-Updated:
-;;   By:
-;; URL: https://github.com/lewang/ws-butler
-;; Keywords:
-;; Compatibility: Emacs 24
+;; This file is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
 
-;;; Installation:
+;; This file is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
 
-;;
-;; To enable for all ruby-mode buffers, add to .emacs.el:
-;;
-;;  (require 'ws-butler)
-;;  (add-hook 'ruby-mode-hook 'ws-butler-mode)
-;;
+;; You should have received a copy of the GNU General Public License
+;; along with this file.  If not, see .
 
 ;;; Commentary:
 
+;; To enable for, e.g., all ruby-mode buffers, add to your init.el:
 ;;
-;;
+;;  (require 'ws-butler)
+;;  (add-hook 'ruby-mode-hook 'ws-butler-mode)
 ;;
 
-;;
-;;
-;; This program is free software; you can redistribute it and/or
-;; modify it under the terms of the GNU General Public License as
-;; published by the Free Software Foundation; either version 3, or
-;; (at your option) any later version.
-;;
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-;; General Public License for more details.
-;;
-;; You should have received a copy of the GNU General Public License
-;; along with this program; see the file COPYING.  If not, write to
-;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth
-;; Floor, Boston, MA 02110-1301, USA.
-;;
-;;
+;;; News:
+
+;; Ver 1.0 /MM/DD Sean Whitton
+;; Bump to version 1.0: core functionality not expected to change.
 
 ;;; Code:
 



[nongnu] elpa/ws-butler cc9cbb9618 10/19: Mark unused lexical variable in ws-butler-maybe-trim-eob-lines

2025-02-17 Thread Sean Whitton
branch: elpa/ws-butler
commit cc9cbb9618f08dff8b12a0e031d8131091c5bba2
Author: Sean Whitton 
Commit: Sean Whitton 

Mark unused lexical variable in ws-butler-maybe-trim-eob-lines
---
 ws-butler.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ws-butler.el b/ws-butler.el
index f40a43f485..86fd933928 100644
--- a/ws-butler.el
+++ b/ws-butler.el
@@ -128,7 +128,7 @@ Affected by `require-final-newline', which see."
   (unless buffer-read-only
 (unless last-modified-pos
   (ws-butler-map-changes
-   (lambda (_prop beg end)
+   (lambda (_prop _beg end)
  (setq last-modified-pos end
 ;; trim EOF newlines if required
 (when last-modified-pos



[nongnu] elpa/ws-butler updated (d3927f6131 -> 82b7d688db)

2025-02-17 Thread Sean Whitton
spwhitton pushed a change to branch elpa/ws-butler.

  from  d3927f6131 tag 0.7
   new  2215029a3a Take over maintainance, tidy up header, enable lexical 
binding
   new  9d36459902 Drop definition of setq-local macro
   new  12200393e9 Move customisation group from `convenience' to `text'
   new  d259538066 Rewrite docstrings, reformat default values
   new  ffbf227751 Abbreviate default value of ws-butler-trim-predicate
   new  399c739a98 Fix overlong lines, drop a superfluous blank line
   new  721ac3e178 Standardise file trailer
   new  7d0ffb7a8b Use '\s' in ws-butler-clean-region, drop a superfluous 
blank
   new  56295ccef2 Drop superfluous (require 'cl-lib)
   new  cc9cbb9618 Mark unused lexical variable in 
ws-butler-maybe-trim-eob-lines
   new  4cf0855cd5 More explicitly enable mode in ws-butler-global-mode 
TURN-ON
   new  506bd8fe5e ws-butler-test.el: Tidy up calls to require
   new  a04b51ab3d Fix accidental change point-at-bol -> line-end-position
   new  ff2d5930a7 Exempt message-mode from ws-butler-global-mode by default
   new  33a87ff615 Update copyright years for Le Wang
   new  441f7913ce Enable lexical binding in tests/*.el
   new  80d4790aa9 Add function declaration for the byte-compiler to 
ws-butler-tests.el
   new  35daeb8673 Refactor ws-butler-global-mode to prevent byte-compiler 
warning
   new  82b7d688db Release 1.0 to nongnu-elpa.git


Summary of changes:
 tests/run-test.el|   2 +
 tests/ws-butler-tests.el |  10 +--
 ws-butler.el | 214 ---
 3 files changed, 98 insertions(+), 128 deletions(-)



[nongnu] elpa/ws-butler 7d0ffb7a8b 08/19: Use '\s' in ws-butler-clean-region, drop a superfluous blank

2025-02-17 Thread Sean Whitton
branch: elpa/ws-butler
commit 7d0ffb7a8b47e5c188d9fdfac77c711379304736
Author: Sean Whitton 
Commit: Sean Whitton 

Use '\s' in ws-butler-clean-region, drop a superfluous blank
---
 ws-butler.el | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/ws-butler.el b/ws-butler.el
index 36b2c4254e..f2b3647ae4 100644
--- a/ws-butler.el
+++ b/ws-butler.el
@@ -163,12 +163,12 @@ Respects `ws-butler-convert-leading-tabs-or-spaces', 
which see."
  (if indent-tabs-mode
  (progn
(skip-chars-forward "\t" eol)
-   (when (eq (char-after) ?\ )
- (tabify (point) (progn (skip-chars-forward " \t" eol)
+   (when (eq (char-after) ?\s)
+ (tabify (point) (progn (skip-chars-forward "\s\t" eol)
 (point)
(skip-chars-forward " " eol)
-   (when (eq (char-after) ?\t )
- (untabify (point) (progn (skip-chars-forward " \t" eol)
+   (when (eq (char-after) ?\t)
+ (untabify (point) (progn (skip-chars-forward "\s\t" eol)
   (point)))
  (end-of-line)
  (delete-horizontal-space)



[nongnu] elpa/ws-butler 56295ccef2 09/19: Drop superfluous (require 'cl-lib)

2025-02-17 Thread Sean Whitton
branch: elpa/ws-butler
commit 56295ccef25fe91ee5106c0f1ad8ca07a41c7200
Author: Sean Whitton 
Commit: Sean Whitton 

Drop superfluous (require 'cl-lib)
---
 ws-butler.el | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/ws-butler.el b/ws-butler.el
index f2b3647ae4..f40a43f485 100644
--- a/ws-butler.el
+++ b/ws-butler.el
@@ -40,9 +40,6 @@
 
 ;;; Code:
 
-(eval-when-compile
-  (require 'cl-lib))
-
 (defgroup ws-butler nil
   "Unobtrusive whitespace deletion, like a butler."
   :group 'text)



[nongnu] elpa/ws-butler 441f7913ce 16/19: Enable lexical binding in tests/*.el

2025-02-17 Thread Sean Whitton
branch: elpa/ws-butler
commit 441f7913ce2ef15c3a62e914a0d6738c6677bc34
Author: Sean Whitton 
Commit: Sean Whitton 

Enable lexical binding in tests/*.el
---
 tests/run-test.el| 2 ++
 tests/ws-butler-tests.el | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/tests/run-test.el b/tests/run-test.el
index d992424e24..6d40054904 100644
--- a/tests/run-test.el
+++ b/tests/run-test.el
@@ -1,3 +1,5 @@
+;; -*- lexical-binding: t -*-
+
 ;; Usage:
 ;;
 ;;   emacs -Q -l tests/run-test.el   # interactive mode
diff --git a/tests/ws-butler-tests.el b/tests/ws-butler-tests.el
index 2adfe73217..1693aab6c0 100644
--- a/tests/ws-butler-tests.el
+++ b/tests/ws-butler-tests.el
@@ -1,3 +1,5 @@
+;; -*- lexical-binding: t -*-
+
 (require 'ert)
 (require 'cl-lib)
 



[nongnu] elpa/ws-butler 506bd8fe5e 12/19: ws-butler-test.el: Tidy up calls to require

2025-02-17 Thread Sean Whitton
branch: elpa/ws-butler
commit 506bd8fe5ec538056fdcff4d45c7fc3ba76d4851
Author: Sean Whitton 
Commit: Sean Whitton 

ws-butler-test.el: Tidy up calls to require
---
 tests/ws-butler-tests.el | 8 ++--
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/tests/ws-butler-tests.el b/tests/ws-butler-tests.el
index f49c1d614c..2adfe73217 100644
--- a/tests/ws-butler-tests.el
+++ b/tests/ws-butler-tests.el
@@ -1,10 +1,6 @@
-
 (require 'ert)
+(require 'cl-lib)
 
-;; (require 'popup)
-
-;; for "every" function
-(require 'cl)
 (load-file "ws-butler.el")
 
 (defmacro ws-butler-test-with-test-buffer (&rest body)
@@ -28,7 +24,7 @@
   (ws-butler-test-with-common-setup
 (insert "a b c")
 (execute-kbd-macro (read-kbd-macro "M-DEL"))
-(should (every #'identity (list 1 2 3)))
+(should (cl-every #'identity (list 1 2 3)))
 (should (string-equal (buffer-string) "a b "
 
 (ert-deftest ws-butler-test-trim-predicate ()



[nongnu] elpa/ws-butler 35daeb8673 18/19: Refactor ws-butler-global-mode to prevent byte-compiler warning

2025-02-17 Thread Sean Whitton
branch: elpa/ws-butler
commit 35daeb8673f33d8c96b2837d885e0b4623e8e708
Author: Sean Whitton 
Commit: Sean Whitton 

Refactor ws-butler-global-mode to prevent byte-compiler warning
---
 ws-butler.el | 12 +++-
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/ws-butler.el b/ws-butler.el
index c2b0991c1f..885846ebd4 100644
--- a/ws-butler.el
+++ b/ws-butler.el
@@ -289,12 +289,14 @@ only for lines modified by you."
 (remove-hook 'after-revert-hook #'ws-butler-after-save t)
 (remove-hook 'edit-server-done-hook #'ws-butler-before-save t)))
 
+(defun ws-butler--global-mode-turn-on ()
+  "Enable `ws-butler-mode' unless current major mode is exempt."
+  (unless (apply #'derived-mode-p ws-butler-global-exempt-modes)
+(ws-butler-mode 1)))
+
 ;;;###autoload
-(define-globalized-minor-mode ws-butler-global-mode ws-butler-mode
-  (lambda ()
-"Enable `ws-butler-mode' unless current major mode is exempt."
-(unless (apply #'derived-mode-p ws-butler-global-exempt-modes)
-  (ws-butler-mode 1
+(define-globalized-minor-mode ws-butler-global-mode
+  ws-butler-mode ws-butler--global-mode-turn-on)
 
 (provide 'ws-butler)
 



[nongnu] elpa/ws-butler 80d4790aa9 17/19: Add function declaration for the byte-compiler to ws-butler-tests.el

2025-02-17 Thread Sean Whitton
branch: elpa/ws-butler
commit 80d4790aa975d13e2991becb92e8a6e43e4905ee
Author: Sean Whitton 
Commit: Sean Whitton 

Add function declaration for the byte-compiler to ws-butler-tests.el
---
 tests/ws-butler-tests.el | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/tests/ws-butler-tests.el b/tests/ws-butler-tests.el
index 1693aab6c0..a95b54386a 100644
--- a/tests/ws-butler-tests.el
+++ b/tests/ws-butler-tests.el
@@ -29,6 +29,8 @@
 (should (cl-every #'identity (list 1 2 3)))
 (should (string-equal (buffer-string) "a b "
 
+(declare-function ws-butler-before-save "ws-butler")
+
 (ert-deftest ws-butler-test-trim-predicate ()
   "Tests `ws-butler-trim-predicate'."
   (ws-butler-test-with-common-setup



[nongnu] elpa/ws-butler 12200393e9 03/19: Move customisation group from `convenience' to `text'

2025-02-17 Thread Sean Whitton
branch: elpa/ws-butler
commit 12200393e9ac596f65c9e7168d2b8241d3cc8801
Author: Sean Whitton 
Commit: Sean Whitton 

Move customisation group from `convenience' to `text'
---
 ws-butler.el | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/ws-butler.el b/ws-butler.el
index feefd2d1a1..db4b00c1a6 100644
--- a/ws-butler.el
+++ b/ws-butler.el
@@ -34,6 +34,7 @@
 
 ;; Ver 1.0 /MM/DD Sean Whitton
 ;; Bump to version 1.0: core functionality not expected to change.
+;; Move customisation group from `convenience' to `text'.
 
 ;;; Code:
 
@@ -42,7 +43,7 @@
 
 (defgroup ws-butler nil
   "Unobtrusively whitespace deletion like a butler."
-  :group 'convenience)
+  :group 'text)
 
 (defcustom ws-butler-keep-whitespace-before-point
   t



[nongnu] main 6d43236add: ; * elpa-packages (ws-butler): Actually fix spelling.

2025-02-17 Thread Sean Whitton
branch: main
commit 6d43236add010f85b0c1833307cbbbf3e1265cc8
Author: Sean Whitton 
Commit: Sean Whitton 

; * elpa-packages (ws-butler): Actually fix spelling.
---
 elpa-packages | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/elpa-packages b/elpa-packages
index 5d4269dd81..0c0a68d51a 100644
--- a/elpa-packages
+++ b/elpa-packages
@@ -969,7 +969,7 @@
 
  (ws-butler:url nil
   ;; As discussed on emacs-devel: This package was in need of some work and I
-  ;; requested to take over maintaining from the original author, who is
+  ;; requested to take over maintenance from the original author, who is
   ;; largely inactive.  He never responded to repeated enquiries, so I opted
   ;; to take it over without his blessing.  The package is now maintained out
   ;; of the elpa/ws-butler branch of this repository.  --spwhitton



[elpa] externals/ellama 6167833f8a 2/8: Fix think tag handling

2025-02-17 Thread ELPA Syncer
branch: externals/ellama
commit 6167833f8a6be74a42c7e903f4518ac8684d7c41
Author: Sergey Kostyaev 
Commit: Sergey Kostyaev 

Fix think tag handling

Adjusted the regex for closing  tag to ensure proper handling
of optional newline characters, ensuring consistent markdown to org
conversion.
---
 ellama.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ellama.el b/ellama.el
index f47d556207..dba16b9146 100644
--- a/ellama.el
+++ b/ellama.el
@@ -644,7 +644,7 @@ This filter contains only subset of markdown syntax to be 
good enough."
 (replace-regexp-in-string "^[[:space:]]*```" "#+END_SRC\n")
 (replace-regexp-in-string "```" "\n#+END_SRC\n")
 (replace-regexp-in-string "[\n]?" "#+BEGIN_QUOTE\n")
-(replace-regexp-in-string "[\n]?" "#+END_QUOTE\n")
+(replace-regexp-in-string "[\n]?[\n]?" "\n#+END_QUOTE\n")
 (ellama--replace-bad-code-blocks)
 (ellama--replace-outside-of-code-blocks)))
 



[nongnu] elpa/flycheck f1277dc93b 1/3: Tweak some markup

2025-02-17 Thread ELPA Syncer
branch: elpa/flycheck
commit f1277dc93bdae82c35f4db7e9bd2f6221ec9bb28
Author: Bozhidar Batsov 
Commit: Bozhidar Batsov 

Tweak some markup
---
 doc/languages.rst | 14 +-
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/doc/languages.rst b/doc/languages.rst
index 5fcb3656f0..dd7bec1b8f 100644
--- a/doc/languages.rst
+++ b/doc/languages.rst
@@ -839,8 +839,9 @@ to view the docstring of the syntax checker.  Likewise, you 
may use
 
.. syntax-checker:: markdown-markdownlint-cli
 
-  Check Markdown with `markdownlint-cli
-  `_.
+  Check Markdown with markdownlint-cli_.
+
+  .. _markdownlint-cli: https://github.com/igorshubovych/markdownlint-cli
 
   .. syntax-checker-config-file:: flycheck-markdown-markdownlint-cli-config
 
@@ -854,7 +855,9 @@ to view the docstring of the syntax checker.  Likewise, you 
may use
 
.. syntax-checker:: markdown-mdl
 
-  Check Markdown with `markdownlint 
`_.
+  Check Markdown with markdownlint_ (a.k.a. ``mdl``).
+
+  .. _markdownlint: https://github.com/markdownlint/markdownlint/
 
   .. defcustom:: flycheck-markdown-mdl-rules
 
@@ -868,8 +871,9 @@ to view the docstring of the syntax checker.  Likewise, you 
may use
 
.. syntax-checker:: markdown-pymarkdown
 
-  Check Markdown with `PyMarkdown
-  `_.
+  Check Markdown with PyMarkdown_.
+
+  .. _PyMarkdown: https://pypi.org/project/pymarkdownlnt/
 
   .. syntax-checker-config-file:: flycheck-markdown-pymarkdown-config
 



[nongnu] elpa/dirvish a22021d05e: fix(widgets): image/video preview on MS-Windows (closes #214)

2025-02-17 Thread ELPA Syncer
branch: elpa/dirvish
commit a22021d05e7457232bd560161761cf61b6f4cfe0
Author: Alex Lu 
Commit: Alex Lu 

fix(widgets): image/video preview on MS-Windows (closes #214)

Thanks to @samb233!

Ref: https://emacs-china.org/t/dirvish-dired/20189/256
---
 README.org   |  6 --
 dirvish-widgets.el   | 23 +++
 dirvish.el   |  6 --
 docs/CUSTOMIZING.org | 10 ++
 4 files changed, 33 insertions(+), 12 deletions(-)

diff --git a/README.org b/README.org
index 4611c1f181..6a98c8e4a0 100644
--- a/README.org
+++ b/README.org
@@ -37,7 +37,7 @@ This package requires =GNU ls= (~gls~ on macOS), and 
/optionally/:
 + =fd= as a faster alternative to =find=
 + =imagemagick= for image preview
 + =poppler= | =pdf-tools= for pdf preview
-+ =ffmpegthumbnailer= for video preview
++ =ffmpegthumbnailer= (Linux/macOS) | =mtn= (Windows) for video preview
 + =mediainfo= for audio/video metadata generation
 + =tar= and =unzip= for archive files preview
 
@@ -64,12 +64,14 @@ This package requires =GNU ls= (~gls~ on macOS), and 
/optionally/:
   pkg install gnuls fd-find poppler ffmpegthumbnailer ImageMagick7 gtar
 #+end_src
 
-@@html:@@Windows (untested)@@html:@@
+@@html:@@Windows@@html:@@
 #+begin_src bash
   # install via Scoop: https://scoop.sh/
   scoop install coreutils fd poppler imagemagick unzip
 #+end_src
 
+You might also want to install 
[[https://gitlab.com/movie_thumbnailer/mtn][mtn]] for video preview.
+
 @@html:@@
 
 * Installation
diff --git a/dirvish-widgets.el b/dirvish-widgets.el
index e3164a0827..bf73a6c08e 100644
--- a/dirvish-widgets.el
+++ b/dirvish-widgets.el
@@ -61,7 +61,7 @@ variable is nil, the auto caching is disabled."
  (run-with-timer 0 0.25 #'dirvish-media--autocache)
 
 (defcustom dirvish-show-media-properties
-  (and (executable-find "mediainfo") (executable-find "pdfinfo") t)
+  (and (executable-find "mediainfo") t)
   "Show media properties automatically in preview window."
   :group 'dirvish :type 'boolean)
 
@@ -562,8 +562,8 @@ Require: `mediainfo' (executable)"
 
 (dirvish-define-preview image (file ext preview-window)
   "Preview image files.
-Require: `convert' (executable from `imagemagick' suite)"
-  :require ("convert")
+Require: `magick' (executable from `imagemagick' suite)"
+  :require ("magick")
   (when (member ext dirvish-image-exts)
 (let* ((w (dirvish-media--img-size preview-window))
(h (dirvish-media--img-size preview-window 'height))
@@ -573,7 +573,7 @@ Require: `convert' (executable from `imagemagick' suite)"
 ((and (< (file-attribute-size (file-attributes file)) 25)
   (member ext '("jpg" "jpeg" "png" "ico" "icns" "bmp" "svg")))
  `(img . ,(create-image file nil nil :max-width w :max-height h)))
-(t `(cache . ("convert" ,file "-define" "jpeg:extent=300kb" 
"-resize"
+(t `(cache . ("magick" ,file "-define" "jpeg:extent=300kb" 
"-resize"
   ,(number-to-string w) ,cache)))
 
 (dirvish-define-preview gif (file ext)
@@ -600,6 +600,21 @@ Require: `ffmpegthumbnailer' (executable)"
  ,(number-to-string width)
  ,(if dirvish-media--embedded-video-thumb "-m" 
"")))
 
+(dirvish-define-preview video-mtn (file ext preview-window)
+  "Preview video files on MS-Windows.
+Require: `mtn' (executable)"
+  :require ("mtn")
+  (when (member ext dirvish-video-exts)
+(let* ((width (dirvish-media--img-size preview-window))
+   (height (dirvish-media--img-size preview-window 'height))
+   (cache (dirvish-media--cache-path file (format "images/%s" width) 
".jpg"))
+   (path (dirvish--get-parent-path cache)))
+  (if (file-exists-p cache)
+  `(img . ,(create-image cache nil nil :max-width width :max-height 
height))
+`(cache . ("mtn" "-P" "-i" "-c" "1" "-r" "1" "-O" ,path ,file "-o"
+   ,(format ".%s.jpg" ext) "-w"
+   ,(number-to-string width)))
+
 (dirvish-define-preview epub (file preview-window)
   "Preview epub files.
 Require: `epub-thumbnailer' (executable)"
diff --git a/dirvish.el b/dirvish.el
index d9a276b515..5d54b2355e 100644
--- a/dirvish.el
+++ b/dirvish.el
@@ -49,7 +49,8 @@ Dirvish ships with these attributes:
   :group 'dirvish :type '(repeat (symbol :tag "Dirvish attribute")))
 
 (defcustom dirvish-preview-dispatchers
-  '(image gif video audio epub archive pdf dired)
+  `(,(if (memq system-type '(ms-dos windows-nt)) 'video-mtn 'video)
+image gif audio epub archive pdf dired)
   "List of preview dispatchers.
 Each dispatcher in this list handles the validation and preview
 content generation for the corresponding filetype.
@@ -58,7 +59,8 @@ The default value contains:
 
 - image: preview image files, requires `imagemagick'.
 - gif: preview GIF image files with animation.
-- video: preview videos files with thumbnail, requires `ffmpegthumbnailer'.
+- video: previ