<feed xmlns='http://www.w3.org/2005/Atom'>
<title>transient.git/docs/transient.texi, branch v0.10.0</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='http://git.tews.dev/cgit/transient.git/'/>
<entry>
<title>Release version 0.10.0</title>
<updated>2025-09-01T21:16:29+00:00</updated>
<author>
<name>Jonas Bernoulli</name>
<email>jonas@bernoul.li</email>
</author>
<published>2025-09-01T21:16:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.tews.dev/cgit/transient.git/commit/?id=1d109f34b7c6af7af830c141bb0a3b4d33803e75'/>
<id>1d109f34b7c6af7af830c141bb0a3b4d33803e75</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Support automatically remembering the prefix value</title>
<updated>2025-08-16T18:30:54+00:00</updated>
<author>
<name>Jonas Bernoulli</name>
<email>jonas@bernoul.li</email>
</author>
<published>2025-08-16T18:30:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.tews.dev/cgit/transient.git/commit/?id=07a104aa73b5d5e3168ba6e202ebfb60188af6ed'/>
<id>07a104aa73b5d5e3168ba6e202ebfb60188af6ed</id>
<content type='text'>
Closes #287.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Closes #287.
</pre>
</div>
</content>
</entry>
<entry>
<title>transient-get-value: Replace with three functions</title>
<updated>2025-08-16T12:07:20+00:00</updated>
<author>
<name>Jonas Bernoulli</name>
<email>jonas@bernoul.li</email>
</author>
<published>2025-08-16T12:07:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.tews.dev/cgit/transient.git/commit/?id=b4edb633488fc251df0883b69b1eb350cb2e94ec'/>
<id>b4edb633488fc251df0883b69b1eb350cb2e94ec</id>
<content type='text'>
`transient-get-value' was added in [1: d33fe5ab].  At this time it was
only used by commands that save the value.  We didn't make a distinction
between `transient--suffixes' and `transient-current-suffixes' at this
time.

In [2: 1b9929ec] the `unsavable' suffix slot was added and this function
started to drop the values of unsavable suffixes.

In [3: 8db5f0fd] we started to also use it to preserve the value across
refreshes.  That made it necessary to use `transient--suffixes'.  It
would have made sense to only use that variable.  Instead we started
to use it, if non-nil, and fall back to `transient-current-suffixes'
otherwise (which previously was used exclusively).

Sometime along the way, package authors started to need the value of
the prefix or of another suffix while setting up the menu and its
suffixes.  `transient-args' is not intended for that purpose and I
started to tell them to use `transient-get-value'.

So now `transient-get-value' is being used for at least three distinct
purposes.  They have in common that they deal with the value of the
extant prefix (so `transient-args' is not appropriate); but they need
different subsets of that value.

We could deal with that by adding arguments to `transient-get-value'.
Instead we use three different functions, and give them names that
make these differences obvious.

- New `transient--get-savable-value' obviously filters out the non-
  savable parts of the value and is obviously used when saving the
  value.

- New `transient--get-extended-value' returns the full value.  This
  includes the parts that are currently inactive, but have to be
  preserved because they may become active again.  This is used to
  preserve the value across refreshes.  This also includes unsavable
  parts of the value, since we still want to use those parts.

- `transient-get-value' now returns the "effective" value.  This
  includes the "unsavable" (but "intend for use") parts.  It does
  not include the "inactive" parts.  Keep the current name of this
  function because that is being used in third-party package.

  Note that while this now filters out the value of suffixes whose
  `inapt' slot is non-nil, that doesn't make a difference just yet.
  Such suffixes are not being added to `transient--suffixes' yet,
  but we will start doing that in a few commits.

  In other words, there effectively is no change in how this deals
  with inapt parts of the value.

  However, the behavior changes with regards to unsavable parts of
  the value.  Those are no longer dropped.  That is a bugfix.

1: 2019-08-12 d33fe5abaf5d0de2a8e80e7e52555d725ebdc6e5
   Split new transient-get-value from transient-args

2: 2020-10-20 1b9929eca9b1076fb04794b6736d42a1d394fadb
   Add new `unsavable' infix slot

3: 2024-06-22 8db5f0fd4469f3b2af34e07a283372ca273fa685
   transient--refresh-transient: Preserve value
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
`transient-get-value' was added in [1: d33fe5ab].  At this time it was
only used by commands that save the value.  We didn't make a distinction
between `transient--suffixes' and `transient-current-suffixes' at this
time.

In [2: 1b9929ec] the `unsavable' suffix slot was added and this function
started to drop the values of unsavable suffixes.

In [3: 8db5f0fd] we started to also use it to preserve the value across
refreshes.  That made it necessary to use `transient--suffixes'.  It
would have made sense to only use that variable.  Instead we started
to use it, if non-nil, and fall back to `transient-current-suffixes'
otherwise (which previously was used exclusively).

Sometime along the way, package authors started to need the value of
the prefix or of another suffix while setting up the menu and its
suffixes.  `transient-args' is not intended for that purpose and I
started to tell them to use `transient-get-value'.

So now `transient-get-value' is being used for at least three distinct
purposes.  They have in common that they deal with the value of the
extant prefix (so `transient-args' is not appropriate); but they need
different subsets of that value.

We could deal with that by adding arguments to `transient-get-value'.
Instead we use three different functions, and give them names that
make these differences obvious.

- New `transient--get-savable-value' obviously filters out the non-
  savable parts of the value and is obviously used when saving the
  value.

- New `transient--get-extended-value' returns the full value.  This
  includes the parts that are currently inactive, but have to be
  preserved because they may become active again.  This is used to
  preserve the value across refreshes.  This also includes unsavable
  parts of the value, since we still want to use those parts.

- `transient-get-value' now returns the "effective" value.  This
  includes the "unsavable" (but "intend for use") parts.  It does
  not include the "inactive" parts.  Keep the current name of this
  function because that is being used in third-party package.

  Note that while this now filters out the value of suffixes whose
  `inapt' slot is non-nil, that doesn't make a difference just yet.
  Such suffixes are not being added to `transient--suffixes' yet,
  but we will start doing that in a few commits.

  In other words, there effectively is no change in how this deals
  with inapt parts of the value.

  However, the behavior changes with regards to unsavable parts of
  the value.  Those are no longer dropped.  That is a bugfix.

1: 2019-08-12 d33fe5abaf5d0de2a8e80e7e52555d725ebdc6e5
   Split new transient-get-value from transient-args

2: 2020-10-20 1b9929eca9b1076fb04794b6736d42a1d394fadb
   Add new `unsavable' infix slot

3: 2024-06-22 8db5f0fd4469f3b2af34e07a283372ca273fa685
   transient--refresh-transient: Preserve value
</pre>
</div>
</content>
</entry>
<entry>
<title>transient-prefix-value: Clarify documentation</title>
<updated>2025-08-16T12:07:16+00:00</updated>
<author>
<name>Jonas Bernoulli</name>
<email>jonas@bernoul.li</email>
</author>
<published>2025-08-16T12:07:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.tews.dev/cgit/transient.git/commit/?id=b3ad3e3b1bff42369125606662c20c08f508551b'/>
<id>b3ad3e3b1bff42369125606662c20c08f508551b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Release version 0.9.4</title>
<updated>2025-08-01T11:49:42+00:00</updated>
<author>
<name>Jonas Bernoulli</name>
<email>jonas@bernoul.li</email>
</author>
<published>2025-08-01T11:49:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.tews.dev/cgit/transient.git/commit/?id=aa32e0d66cc389befed7a8e8df9439d92a729daa'/>
<id>aa32e0d66cc389befed7a8e8df9439d92a729daa</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Release version 0.9.3</title>
<updated>2025-07-01T12:23:32+00:00</updated>
<author>
<name>Jonas Bernoulli</name>
<email>jonas@bernoul.li</email>
</author>
<published>2025-07-01T12:23:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.tews.dev/cgit/transient.git/commit/?id=49bbb29fd34b807948d4f2b91f61587c12a595f0'/>
<id>49bbb29fd34b807948d4f2b91f61587c12a595f0</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Release version 0.9.2</title>
<updated>2025-06-09T16:09:16+00:00</updated>
<author>
<name>Jonas Bernoulli</name>
<email>jonas@bernoul.li</email>
</author>
<published>2025-06-09T16:09:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.tews.dev/cgit/transient.git/commit/?id=f3f498aa155f88c7e2ab6d1d01d1361813059db8'/>
<id>f3f498aa155f88c7e2ab6d1d01d1361813059db8</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>manual: Mention transient-copy-menu-text in relevant FAQ</title>
<updated>2025-06-06T21:07:38+00:00</updated>
<author>
<name>Jonas Bernoulli</name>
<email>jonas@bernoul.li</email>
</author>
<published>2025-06-06T21:07:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.tews.dev/cgit/transient.git/commit/?id=13daf473d5080b91bc37f40e0f3b566738707914'/>
<id>13daf473d5080b91bc37f40e0f3b566738707914</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Release version 0.9.1</title>
<updated>2025-06-03T09:18:35+00:00</updated>
<author>
<name>Jonas Bernoulli</name>
<email>jonas@bernoul.li</email>
</author>
<published>2025-06-03T09:18:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.tews.dev/cgit/transient.git/commit/?id=7937e57e29b5f3ee6f871e67e69a1fb20f353c38'/>
<id>7937e57e29b5f3ee6f871e67e69a1fb20f353c38</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Release version 0.9.0</title>
<updated>2025-06-01T10:19:46+00:00</updated>
<author>
<name>Jonas Bernoulli</name>
<email>jonas@bernoul.li</email>
</author>
<published>2025-06-01T10:19:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.tews.dev/cgit/transient.git/commit/?id=ef28fbe24d43760925f0143e009bc81a20b025e3'/>
<id>ef28fbe24d43760925f0143e009bc81a20b025e3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
