<feed xmlns='http://www.w3.org/2005/Atom'>
<title>st, branch qwd/devel</title>
<subtitle>st fork - delete keys and terminus font</subtitle>
<link rel='alternate' type='text/html' href='http://git.rgoncalves.se/_/st/'/>
<entry>
<title>patches: add spare font patch</title>
<updated>2024-05-12T19:20:51+00:00</updated>
<author>
<name>Romain Gonçalves</name>
<email>me@rgoncalves.se</email>
</author>
<published>2024-05-12T19:19:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.rgoncalves.se/_/st/commit/?id=568edcf51d216dfe1e387a7038cd191761ab299f'/>
<id>568edcf51d216dfe1e387a7038cd191761ab299f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fix buffer overflow when handling long composed input</title>
<updated>2024-05-12T19:20:51+00:00</updated>
<author>
<name>Hiltjo Posthuma</name>
<email>hiltjo@codemadness.org</email>
</author>
<published>2022-10-25T15:11:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.rgoncalves.se/_/st/commit/?id=b9d62df040a41a3b192a71932beaea5bd2136c62'/>
<id>b9d62df040a41a3b192a71932beaea5bd2136c62</id>
<content type='text'>
To reproduce the issue:

"
If you already have the multi-key enabled on your system, then add this line
to your ~/.XCompose file:

[...]
&lt;question&gt; &lt;T&gt; &lt;E&gt; &lt;S&gt; &lt;T&gt; &lt;question&gt; :
"1234567890123456789012345678901234567890123456789012345678901234567890"
"

Reported by and an initial patch by Andy Gozas &lt;andy@gozas.me&gt;, thanks!

Adapted the patch, for now st (like dmenu) handles a fixed amount of composed
characters, or otherwise ignores it. This is done for simplicity sake.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
To reproduce the issue:

"
If you already have the multi-key enabled on your system, then add this line
to your ~/.XCompose file:

[...]
&lt;question&gt; &lt;T&gt; &lt;E&gt; &lt;S&gt; &lt;T&gt; &lt;question&gt; :
"1234567890123456789012345678901234567890123456789012345678901234567890"
"

Reported by and an initial patch by Andy Gozas &lt;andy@gozas.me&gt;, thanks!

Adapted the patch, for now st (like dmenu) handles a fixed amount of composed
characters, or otherwise ignores it. This is done for simplicity sake.
</pre>
</div>
</content>
</entry>
<entry>
<title>bump version to 0.9</title>
<updated>2024-05-12T19:20:51+00:00</updated>
<author>
<name>Hiltjo Posthuma</name>
<email>hiltjo@codemadness.org</email>
</author>
<published>2022-10-04T17:40:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.rgoncalves.se/_/st/commit/?id=69eff595d492e7f25a452a4a222d7ca578cd3bdd'/>
<id>69eff595d492e7f25a452a4a222d7ca578cd3bdd</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>FAQ: document the color emojis crash issue which affected some systems is fixed</title>
<updated>2024-05-12T19:20:51+00:00</updated>
<author>
<name>Hiltjo Posthuma</name>
<email>hiltjo@codemadness.org</email>
</author>
<published>2022-09-16T21:07:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.rgoncalves.se/_/st/commit/?id=9eaed4a2d4033eaa28cf966d1cfefc8781473704'/>
<id>9eaed4a2d4033eaa28cf966d1cfefc8781473704</id>
<content type='text'>
It is fixed in libXft 2.3.6:

https://gitlab.freedesktop.org/xorg/lib/libxft/-/blob/libXft-2.3.5/NEWS
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It is fixed in libXft 2.3.6:

https://gitlab.freedesktop.org/xorg/lib/libxft/-/blob/libXft-2.3.5/NEWS
</pre>
</div>
</content>
</entry>
<entry>
<title>st: use `void' to indicate an empty parameter list</title>
<updated>2024-05-12T19:20:51+00:00</updated>
<author>
<name>Tom Schwindl</name>
<email>schwindl@posteo.de</email>
</author>
<published>2022-08-18T14:55:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.rgoncalves.se/_/st/commit/?id=08978f8b41a1969479813f5dff922a3dee724178'/>
<id>08978f8b41a1969479813f5dff922a3dee724178</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Makefile: add manual path for OpenBSD</title>
<updated>2024-05-12T19:20:51+00:00</updated>
<author>
<name>Hiltjo Posthuma</name>
<email>hiltjo@codemadness.org</email>
</author>
<published>2022-05-01T16:38:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.rgoncalves.se/_/st/commit/?id=cdac29252cdbcc494525fdaba3cbb57f774c6f5c'/>
<id>cdac29252cdbcc494525fdaba3cbb57f774c6f5c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>code-golfing: cleanup osc color related code</title>
<updated>2024-05-12T19:20:51+00:00</updated>
<author>
<name>NRK</name>
<email>nrk@disroot.org</email>
</author>
<published>2022-01-07T17:21:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.rgoncalves.se/_/st/commit/?id=0cac720473d81e7a6fcf7295bb757f709a67cc2f'/>
<id>0cac720473d81e7a6fcf7295bb757f709a67cc2f</id>
<content type='text'>
* adds missing function prototype
* move xgetcolor() prototype to win.h (that's where all the other x.c
  func prototype seems to be declared at)
* check for snprintf error/truncation
* reduces code duplication for osc 10/11/12
* unify osc_color_response() and osc4_color_response() into a single function

the latter two was suggested by Quentin Rameau in his patch review on
the hackers list.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* adds missing function prototype
* move xgetcolor() prototype to win.h (that's where all the other x.c
  func prototype seems to be declared at)
* check for snprintf error/truncation
* reduces code duplication for osc 10/11/12
* unify osc_color_response() and osc4_color_response() into a single function

the latter two was suggested by Quentin Rameau in his patch review on
the hackers list.
</pre>
</div>
</content>
</entry>
<entry>
<title>base64_digits: reduce scope, implicit zero, +1 size</title>
<updated>2024-05-12T19:20:50+00:00</updated>
<author>
<name>NRK</name>
<email>nrk@disroot.org</email>
</author>
<published>2022-03-18T11:03:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.rgoncalves.se/_/st/commit/?id=1b784902affee2f6112f60cf1d8a815ed4f7e73e'/>
<id>1b784902affee2f6112f60cf1d8a815ed4f7e73e</id>
<content type='text'>
the array is not accessed outside of base64dec() so it makes sense to
limit it's scope to the related function. the static-storage duration of
the array is kept intact.

this also removes unnecessary explicit zeroing from the start and end of
the array. anything that wasn't explicitly zero-ed will now be
implicitly zero-ed instead.

the validity of the new array can be easily confirmed via running this
trivial loop:

	for (int i = 0; i &lt; 255; ++i)
		assert(base64_digits[i] == base64_digits_old[i]);

lastly, as pointed out by Roberto, the array needs to have 256 elements
in order to able access it as any unsigned char as an index; the
previous array had 255.

however, this array will only be accessed at indexes which are
isprint() || '=' (see `base64dec_getc()`), so reducing the size of the
array to the highest printable ascii char (127 AFAIK) + 1 might also be
a valid strategy.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
the array is not accessed outside of base64dec() so it makes sense to
limit it's scope to the related function. the static-storage duration of
the array is kept intact.

this also removes unnecessary explicit zeroing from the start and end of
the array. anything that wasn't explicitly zero-ed will now be
implicitly zero-ed instead.

the validity of the new array can be easily confirmed via running this
trivial loop:

	for (int i = 0; i &lt; 255; ++i)
		assert(base64_digits[i] == base64_digits_old[i]);

lastly, as pointed out by Roberto, the array needs to have 256 elements
in order to able access it as any unsigned char as an index; the
previous array had 255.

however, this array will only be accessed at indexes which are
isprint() || '=' (see `base64dec_getc()`), so reducing the size of the
array to the highest printable ascii char (127 AFAIK) + 1 might also be
a valid strategy.
</pre>
</div>
</content>
</entry>
<entry>
<title>avoid potential UB when using isprint()</title>
<updated>2024-05-12T19:20:50+00:00</updated>
<author>
<name>NRK</name>
<email>nrk@disroot.org</email>
</author>
<published>2022-03-18T10:20:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.rgoncalves.se/_/st/commit/?id=3136763c15b67606c5181341b56513e25e744ab3'/>
<id>3136763c15b67606c5181341b56513e25e744ab3</id>
<content type='text'>
all the ctype.h functions' argument must be representable as an unsigned
char or as EOF, otherwise the behavior is undefined.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
all the ctype.h functions' argument must be representable as an unsigned
char or as EOF, otherwise the behavior is undefined.
</pre>
</div>
</content>
</entry>
<entry>
<title>make underlines and strikethroughs respect `chscale`</title>
<updated>2024-05-12T19:20:50+00:00</updated>
<author>
<name>Zacchary Dempsey-Plante</name>
<email>zacc@ztdp.ca</email>
</author>
<published>2022-03-13T09:44:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.rgoncalves.se/_/st/commit/?id=cc55a688f096adaf959798517ba66eb9a3e40137'/>
<id>cc55a688f096adaf959798517ba66eb9a3e40137</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
