TiddlyWiki5/editions
Jeremy Ruston 5d1c1eaf87
Introduce multi-valued variables and let filter run prefix (#8972)
* Introduce let filter run prefix for assigning filter run result to a variable

* Get rid of the special behaviour for all[]

Not needed because the input to the filter run is available

* Fix tests

* Fix tests

* Cleanup

* Support for saving result lists in a variable

Extend let filter run prefix to store list of results, and add varlist operator for accessing variables as a list.

We already had partial support for variables returning a list of values in order for functions to work, now we extend it so that any variable can be used to store a list

We should extend the set widget so that it returns a result list that can be accessed with the varlist operator

* Docs update

* Introduce letlist widget for assigning lists to variables

Terrible name. Annoyingly, we can't overload the existing let or set widgets.

* Docs update

* Update DefaultTiddlers to highlight the new docs

* Fixed varlist crash with empty parameter

* Switch to triple brace syntax for assigning filtered lists

* Docs update

* Test for multivalued functions

* varlist operator: fixed crash accessing non-existent variable

See https://github.com/TiddlyWiki/TiddlyWiki5/pull/8972#issuecomment-2712068743

* Dispense with the letlist widget

What this PR actually does is rename the letlist widget to "let". The result is the same as using the letlist widget, but it is backwards compatible by virtue of the fact that all existing ways to access variables will only see the single value for the variable.

* Refactor the let filter run prefix to assign the input list to the variable named by the filter run

These semantics are much simpler, and allow the variable name to be computed.

* Missed off 211b135265

* Docs update

* Bug fix

* Introduce round brackets for multi-valued filter operands

Allowing us to drop the varlist operator

* Introduce => as a shortcut syntax for the let filter run prefix

Also relax the requirement for a filter run prefix to be followed by an opening square bracket

* Fix bug exposed in "Filter Operators" tiddler

See https://github.com/TiddlyWiki/TiddlyWiki5/pull/8972#issuecomment-2740003414

* Fix bug with missing variable attributes

See https://github.com/TiddlyWiki/TiddlyWiki5/pull/8972#issuecomment-2752792329

* Fix bug with round brackets for 2nd parameter onwards

* Allow functions to take multivalued parameters

* Simplify title operator

* Extend title operator to allow negated form to use multi-valued variables

* Remove duplicate test

* Update action-log widget to log multi-valued attributes

* Docs updates

* Fix typos

* Happy linter happy life

* Fix version numbers of from-version procedures

* Another incorrect version number

* Add change note

* Fix filenames of tests

* Typo

* Update let.js

* Docs updates
2025-11-22 12:29:42 +00:00
..
aws Add first release of AWS plugin 2017-07-03 20:34:58 +01:00
classicparserdemo Make plugin editions use external core (#8952) 2025-03-10 17:28:55 +00:00
codemirrordemo Bump codemirror 5 plugin version to 5.65.19 (#9114) 2025-06-28 16:18:42 +01:00
de-AT Fix reference to PNG version of new release banner 2025-11-05 12:11:20 +00:00
de-AT-server Change favicon format from ICO to PNG, fix #7665 (#7671) 2023-10-04 22:15:23 +01:00
de-DE Clean up build errors 2023-01-17 23:13:58 +00:00
dev Fix link 2025-11-11 11:41:27 +00:00
dynaviewdemo Make plugin editions use external core (#8952) 2025-03-10 17:28:55 +00:00
empty Fix broken render commands 2023-09-30 13:30:31 +01:00
es-ES [v5.4.0] Offload server components from browser builds of TiddlyWiki (#9183) 2025-09-12 15:21:34 +01:00
es-ES-server Change favicon format from ICO to PNG, fix #7665 (#7671) 2023-10-04 22:15:23 +01:00
fr-FR Merge branch 'tiddlywiki-com' 2025-10-21 15:45:21 +01:00
fr-FR-server Change favicon format from ICO to PNG, fix #7665 (#7671) 2023-10-04 22:15:23 +01:00
full Small fix for en-PH language (#8676) 2024-10-11 13:40:35 +01:00
geospatialdemo Fix error in geospatial edition tiddlywiki.info file (#8977) 2025-03-17 16:15:28 +00:00
highlightdemo Make plugin editions use external core (#8952) 2025-03-10 17:28:55 +00:00
innerwikidemo Make plugin editions use external core (#8952) 2025-03-10 17:28:55 +00:00
introduction Remove flags in language plugins (#8837) 2025-02-21 12:17:53 +00:00
ja-JP [v5.4.0] Offload server components from browser builds of TiddlyWiki (#9183) 2025-09-12 15:21:34 +01:00
katexdemo Make plugin editions use external core (#8952) 2025-03-10 17:28:55 +00:00
ko-KR [v5.4.0] Offload server components from browser builds of TiddlyWiki (#9183) 2025-09-12 15:21:34 +01:00
ko-KR-server Change favicon format from ICO to PNG, fix #7665 (#7671) 2023-10-04 22:15:23 +01:00
markdowndemo Merge branch 'tiddlywiki-com' 2025-04-07 17:44:50 +01:00
pluginlibrary Make pluginlibrary edition consistent with all other editions (#8265) 2024-08-20 16:30:28 +01:00
prerelease Introduce multi-valued variables and let filter run prefix (#8972) 2025-11-22 12:29:42 +00:00
resumebuilder Fix edition file formatting inconsistencies (#7738) 2023-09-13 15:12:49 +01:00
server Fix broken render commands 2023-09-30 13:30:31 +01:00
server-external-js Fix broken render commands 2023-09-30 13:30:31 +01:00
share Fix accidental changes in 41a7d98e17 2020-06-07 10:30:39 +01:00
test Introduce multi-valued variables and let filter run prefix (#8972) 2025-11-22 12:29:42 +00:00
testcommonjs
text-slicer Make plugin editions use external core (#8952) 2025-03-10 17:28:55 +00:00
tiddlywiki-surveys Remove inadvertently committed files 2025-09-25 16:48:22 +01:00
tour Make plugin editions use external core (#8952) 2025-03-10 17:28:55 +00:00
translators Remove flags in language plugins (#8837) 2025-02-21 12:17:53 +00:00
tw.org Force a rebuild 2025-05-29 11:17:24 +01:00
tw5.com Introduce multi-valued variables and let filter run prefix (#8972) 2025-11-22 12:29:42 +00:00
tw5.com-docs Make plugin editions use external core (#8952) 2025-03-10 17:28:55 +00:00
tw5.com-server Remove obsolete mobiledragdrop plugin 2024-10-03 16:41:19 +01:00
tw5tank Enable the internals plugin by default in docs (#4335) 2020-04-07 20:41:00 +01:00
tw5tiddlyweb Typos 2014-12-05 10:20:32 +00:00
twitter-archivist Convert Rendertiddler(s) Command in Sever TiddlyWIki.info (#7124) 2022-12-23 22:42:25 +00:00
upgrade
xlsx-utils Make plugin editions use external core (#8952) 2025-03-10 17:28:55 +00:00
xlsx-utils-server Add first pass at XLSX Utilities plugin 2016-10-23 22:49:59 +01:00
zh-Hans [v5.4.0] Offload server components from browser builds of TiddlyWiki (#9183) 2025-09-12 15:21:34 +01:00
zh-Hant [v5.4.0] Offload server components from browser builds of TiddlyWiki (#9183) 2025-09-12 15:21:34 +01:00