From a729d5a42af307cc44adba7da8f03958b0271d7c Mon Sep 17 00:00:00 2001 From: J0J0 Todos Date: Mon, 29 Sep 2025 11:46:48 +0200 Subject: [PATCH 1/2] smartplaylist: Space delimited unmatched list output --- beetsplug/smartplaylist.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/beetsplug/smartplaylist.py b/beetsplug/smartplaylist.py index ff5e25612d..0b1f6fcc04 100644 --- a/beetsplug/smartplaylist.py +++ b/beetsplug/smartplaylist.py @@ -152,8 +152,9 @@ def update_cmd(self, lib: Library, opts: Any, args: list[str]) -> None: } if not playlists: unmatched = [name for name, _, _ in self._unmatched_playlists] + unmatched.sort() raise ui.UserError( - f"No playlist matching any of {unmatched} found" + f"No playlist matching any of {' '.join(unmatched)} found" ) self._matched_playlists = playlists From d9b9a6696fa586186db29d884fb7e7d2b988096b Mon Sep 17 00:00:00 2001 From: J0J0 Todos Date: Mon, 2 Mar 2026 08:12:23 +0100 Subject: [PATCH 2/2] Changelog for smpartplaylist copy-paste fix --- docs/changelog.rst | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/changelog.rst b/docs/changelog.rst index 6cd8d7623e..48ea68112b 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -35,6 +35,11 @@ New features 2. Semicolon followed by a space 3. Comma followed by a space 4. Slash wrapped by spaces +- :doc:`plugins/smartplaylist`: The list of available playlists shown when an + unknown playlist name is passed as an argument is now sorted alphabetically + and printed as a space-delimited list instead of the default Python dict + representation. This makes it easier to copy and paste multiple playlists for + further use in the shell. .. Bug fixes