<feed xmlns='http://www.w3.org/2005/Atom'>
<title>transient.git, branch builtin</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>[patch 10/10] The version in Emacs's "master" branches</title>
<updated>2026-04-22T16:50:23+00:00</updated>
<author>
<name>Jonas Bernoulli</name>
<email>jonas@bernoul.li</email>
</author>
<published>2026-04-22T16:50:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.tews.dev/cgit/transient.git/commit/?id=5b2ff26f15ea2961f0665326860a46d0820a91ba'/>
<id>5b2ff26f15ea2961f0665326860a46d0820a91ba</id>
<content type='text'>
To update:

0. At times backport changes from Emacs' "emacs-NN" to Transient.

1. Backport changes from Emacs' "master" to Transient's "main", while
   making them backward compatible with released Emacs versions.

   Make sure to look at the history of not only "lisp/transient.el",
   but also "doc/misc/transient.texi".

2. In Transient, rebase "builtin" onto "main".

   Now we have to DISCARD the changes that revert modifications that
   have happened in Transient since the last round.

   Most changes happen in separate commits.  Their messages describe
   the changes that should be preserved.

=&gt; Look at each of these commits, even if they do not conflict.  Some
   contain additional instructions.  In particular, do not forget to
   fuck up newly added instances of `if-let' et al.

3. In this commit, append "-builtin" to `transient-version'.  This
   is not the version string the will ultimately be used, see (4)
   and (6).  This is the only difference between Transient's "builtin"
   branch and the actually built-in library.

4. In Transient, sign and update date ("r S"), and run "git describe"
   to get "DESC", used below.

5. Copy from Transient's "builtin" to Emacs' "master".

   cp ~/.config/emacs/lib/transient/lisp/transient.el \
      ~/src/emacs/emacs/master/lisp/
   cp ~/.config/emacs/lib/transient/docs/transient.texi \
      ~/src/emacs/emacs/master/doc/misc/

6. In Emacs, set the value of `transient-version' to "DESC-builtin".

7. In Emacs, stage and commit using "Update to Transient DESC" as
   message.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
To update:

0. At times backport changes from Emacs' "emacs-NN" to Transient.

1. Backport changes from Emacs' "master" to Transient's "main", while
   making them backward compatible with released Emacs versions.

   Make sure to look at the history of not only "lisp/transient.el",
   but also "doc/misc/transient.texi".

2. In Transient, rebase "builtin" onto "main".

   Now we have to DISCARD the changes that revert modifications that
   have happened in Transient since the last round.

   Most changes happen in separate commits.  Their messages describe
   the changes that should be preserved.

=&gt; Look at each of these commits, even if they do not conflict.  Some
   contain additional instructions.  In particular, do not forget to
   fuck up newly added instances of `if-let' et al.

3. In this commit, append "-builtin" to `transient-version'.  This
   is not the version string the will ultimately be used, see (4)
   and (6).  This is the only difference between Transient's "builtin"
   branch and the actually built-in library.

4. In Transient, sign and update date ("r S"), and run "git describe"
   to get "DESC", used below.

5. Copy from Transient's "builtin" to Emacs' "master".

   cp ~/.config/emacs/lib/transient/lisp/transient.el \
      ~/src/emacs/emacs/master/lisp/
   cp ~/.config/emacs/lib/transient/docs/transient.texi \
      ~/src/emacs/emacs/master/doc/misc/

6. In Emacs, set the value of `transient-version' to "DESC-builtin".

7. In Emacs, stage and commit using "Update to Transient DESC" as
   message.
</pre>
</div>
</content>
</entry>
<entry>
<title>[patch 9/10] lisp: Adjust package metadata</title>
<updated>2026-04-22T16:50:21+00:00</updated>
<author>
<name>Jonas Bernoulli</name>
<email>jonas@bernoul.li</email>
</author>
<published>2026-04-22T16:50:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.tews.dev/cgit/transient.git/commit/?id=ead59c3fbca28e36b83c9077b320a512bd62803e'/>
<id>ead59c3fbca28e36b83c9077b320a512bd62803e</id>
<content type='text'>
- Use my main email address.
- Use "URL" instead of "Homepage".
  I consistently use "Homepage" for all my packages and they
  consistently use "URL".
- Use "Version" instead of "Package-Version" because that's
  all finder understands, dropping the empty line before it.
- Drop "Package-Requires".

Do NOT change the value of `transient-version'.  That is done
in the next commit.  I.e., use the same version string as on
the "main" branch, onto which we are rebasing.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Use my main email address.
- Use "URL" instead of "Homepage".
  I consistently use "Homepage" for all my packages and they
  consistently use "URL".
- Use "Version" instead of "Package-Version" because that's
  all finder understands, dropping the empty line before it.
- Drop "Package-Requires".

Do NOT change the value of `transient-version'.  That is done
in the next commit.  I.e., use the same version string as on
the "main" branch, onto which we are rebasing.
</pre>
</div>
</content>
</entry>
<entry>
<title>[patch 8/10] lisp: Remove backward compatibility and external-only kludges</title>
<updated>2026-04-22T16:50:20+00:00</updated>
<author>
<name>Jonas Bernoulli</name>
<email>jonas@bernoul.li</email>
</author>
<published>2026-04-22T16:50:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.tews.dev/cgit/transient.git/commit/?id=ad855d4e7642eadcaac675f51eebdca4fdef3c0a'/>
<id>ad855d4e7642eadcaac675f51eebdca4fdef3c0a</id>
<content type='text'>
- Drop require for `compat'.
- Drop `seq' kludge.
- Drop `pp-default-function' declaration.
- Drop `signal' backward compatibility.
- Make use of `pcase-setq'.
- Drop backward compatibility in `transient--wrap-command'.
- Expect `string-edit' to exist.
- Expect `string-pixel-width' to exist.
- Expect `overriding-text-conversion-style' to exist.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Drop require for `compat'.
- Drop `seq' kludge.
- Drop `pp-default-function' declaration.
- Drop `signal' backward compatibility.
- Make use of `pcase-setq'.
- Drop backward compatibility in `transient--wrap-command'.
- Expect `string-edit' to exist.
- Expect `string-pixel-width' to exist.
- Expect `overriding-text-conversion-style' to exist.
</pre>
</div>
</content>
</entry>
<entry>
<title>[patch 7/10] lisp: Stop using and-let, if-let, when-let and while-let*</title>
<updated>2026-04-22T16:50:18+00:00</updated>
<author>
<name>Jonas Bernoulli</name>
<email>jonas@bernoul.li</email>
</author>
<published>2026-04-22T16:50:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.tews.dev/cgit/transient.git/commit/?id=1f21d1f2eb0f32beeff3e51768d2eadb9a78d631'/>
<id>1f21d1f2eb0f32beeff3e51768d2eadb9a78d631</id>
<content type='text'>
This ports the unfortunate Emacs commit [1: 4704dd39de0],
but I refuse to damage the stand-alone version the same way.

[TODO] After every rebase, check for new instances of `and-let',
       `if-let', `when-let' and `while-let*', and fuck them up too.

       (occur "(\\(\\(and\\|if\\|when\\)-let\\_&gt;\\|while-let\\*\\)")

1: 2024-10-27 4704dd39de0427466ca3585ab284b7302b0ef2d7
   transient.el: Replace use of obsolete if-let and when-let
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This ports the unfortunate Emacs commit [1: 4704dd39de0],
but I refuse to damage the stand-alone version the same way.

[TODO] After every rebase, check for new instances of `and-let',
       `if-let', `when-let' and `while-let*', and fuck them up too.

       (occur "(\\(\\(and\\|if\\|when\\)-let\\_&gt;\\|while-let\\*\\)")

1: 2024-10-27 4704dd39de0427466ca3585ab284b7302b0ef2d7
   transient.el: Replace use of obsolete if-let and when-let
</pre>
</div>
</content>
</entry>
<entry>
<title>[patch 6/10] lisp: Stop using cond-let and cond-let*</title>
<updated>2026-04-22T16:50:17+00:00</updated>
<author>
<name>Jonas Bernoulli</name>
<email>jonas@bernoul.li</email>
</author>
<published>2026-04-22T16:50:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.tews.dev/cgit/transient.git/commit/?id=d61821bbcaad7f3ebd1e993e1794f38040af3833'/>
<id>d61821bbcaad7f3ebd1e993e1794f38040af3833</id>
<content type='text'>
No comment.

[TODO] After every rebase, check for new instances of `cond-let'
       and `cond-let*', and fuck them up too.

       (occur "(cond-let")
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
No comment.

[TODO] After every rebase, check for new instances of `cond-let'
       and `cond-let*', and fuck them up too.

       (occur "(cond-let")
</pre>
</div>
</content>
</entry>
<entry>
<title>[patch 5/10] lisp: Stop using and$ and when$</title>
<updated>2026-04-22T16:50:15+00:00</updated>
<author>
<name>Jonas Bernoulli</name>
<email>jonas@bernoul.li</email>
</author>
<published>2026-04-22T16:50:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.tews.dev/cgit/transient.git/commit/?id=b3af86dcd0bd9c491ef4aa6f6f1f248e2116686f'/>
<id>b3af86dcd0bd9c491ef4aa6f6f1f248e2116686f</id>
<content type='text'>
That's fair.

[TODO] After every rebase, check for new instances of `and$' and
       `when$', and replace them too.

       (occur "(\\(and\\|when\\)\\$")
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
That's fair.

[TODO] After every rebase, check for new instances of `and$' and
       `when$', and replace them too.

       (occur "(\\(and\\|when\\)\\$")
</pre>
</div>
</content>
</entry>
<entry>
<title>[patch 4/10] lisp: Add inconvenient outline section nesting</title>
<updated>2026-04-22T16:50:13+00:00</updated>
<author>
<name>Jonas Bernoulli</name>
<email>jonas@bernoul.li</email>
</author>
<published>2026-04-22T16:50:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.tews.dev/cgit/transient.git/commit/?id=04985ac04fbb04421b923cd5f504f3e37fe39317'/>
<id>04985ac04fbb04421b923cd5f504f3e37fe39317</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[patch 3/10] texi: Add more whitespace in @direntry</title>
<updated>2026-04-22T16:50:12+00:00</updated>
<author>
<name>Jonas Bernoulli</name>
<email>jonas@bernoul.li</email>
</author>
<published>2026-04-22T16:50:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.tews.dev/cgit/transient.git/commit/?id=d172fe8bbf65d7e110302a24fe9adcf4bf081703'/>
<id>d172fe8bbf65d7e110302a24fe9adcf4bf081703</id>
<content type='text'>
I'm not sure whether whitespace in this location is actually
significant, but ox-texinfo does not put it there, while Eli does.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I'm not sure whether whitespace in this location is actually
significant, but ox-texinfo does not put it there, while Eli does.
</pre>
</div>
</content>
</entry>
<entry>
<title>[patch 2/10] texi: Use @var in two code snippets</title>
<updated>2026-04-22T16:50:10+00:00</updated>
<author>
<name>Jonas Bernoulli</name>
<email>jonas@bernoul.li</email>
</author>
<published>2026-04-22T16:50:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.tews.dev/cgit/transient.git/commit/?id=f0be990ba7d9608d632cbcf04a410ebeaca4ff03'/>
<id>f0be990ba7d9608d632cbcf04a410ebeaca4ff03</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[patch 1/10] texi: Use @xref and @pxref instead of @ref</title>
<updated>2026-04-22T16:50:09+00:00</updated>
<author>
<name>Jonas Bernoulli</name>
<email>jonas@bernoul.li</email>
</author>
<published>2026-04-22T16:50:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.tews.dev/cgit/transient.git/commit/?id=fee7a6ec5852cd2275e891b7fcbe4fa4b0ce6559'/>
<id>fee7a6ec5852cd2275e891b7fcbe4fa4b0ce6559</id>
<content type='text'>
Ox-Texinfo uses @ref, but other link types are preferred in Emacs.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Ox-Texinfo uses @ref, but other link types are preferred in Emacs.
</pre>
</div>
</content>
</entry>
</feed>
