<feed xmlns='http://www.w3.org/2005/Atom'>
<title>st, branch 0.9</title>
<subtitle>a modified version of st (simple terminal)</subtitle>
<link rel='alternate' type='text/html' href='http://git.yctct.com/st/'/>
<entry>
<title>bump version to 0.9</title>
<updated>2022-10-04T17:40:30+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.yctct.com/st/commit/?id=68d1ad9b54e952e3079356aeab8ab37e44c56c2c'/>
<id>68d1ad9b54e952e3079356aeab8ab37e44c56c2c</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>2022-09-16T21:07:09+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.yctct.com/st/commit/?id=00085199039ee63acc7b1ecb7e3774a9c3552b2a'/>
<id>00085199039ee63acc7b1ecb7e3774a9c3552b2a</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>2022-08-18T15:14:10+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.yctct.com/st/commit/?id=72fd32736a612edec43596c14148322122a5544d'/>
<id>72fd32736a612edec43596c14148322122a5544d</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>2022-05-01T16:38:40+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.yctct.com/st/commit/?id=baa9357e96d2478baa52a3301e70ac80a229b726'/>
<id>baa9357e96d2478baa52a3301e70ac80a229b726</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>2022-04-19T09:43:37+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.yctct.com/st/commit/?id=8629d9a1da72cc18568a8f146307b0e939b77ebf'/>
<id>8629d9a1da72cc18568a8f146307b0e939b77ebf</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>2022-03-18T11:20:27+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.yctct.com/st/commit/?id=ef0551932fb162f907b40185d2f48c3b497708ee'/>
<id>ef0551932fb162f907b40185d2f48c3b497708ee</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>2022-03-18T11:11:27+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.yctct.com/st/commit/?id=af3bb68add1c40d19d0dee382009e21b0870a38f'/>
<id>af3bb68add1c40d19d0dee382009e21b0870a38f</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>2022-03-13T09:45:34+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.yctct.com/st/commit/?id=2aefa348baf4b702fdce98eb105bcba175d8283f'/>
<id>2aefa348baf4b702fdce98eb105bcba175d8283f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Delay redrawals on palette changes</title>
<updated>2022-02-18T12:03:37+00:00</updated>
<author>
<name>Santtu Lakkala</name>
<email>inz@inz.fi</email>
</author>
<published>2022-02-17T14:00:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.yctct.com/st/commit/?id=e823e2308f2a99023032a3966ebb7036a31d305f'/>
<id>e823e2308f2a99023032a3966ebb7036a31d305f</id>
<content type='text'>
Build on auto-sync and only mark window dirty on palette changes and let
the event handler do the actual draw.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Build on auto-sync and only mark window dirty on palette changes and let
the event handler do the actual draw.
</pre>
</div>
</content>
</entry>
<entry>
<title>X10/SGR mouse: use alt as meta key instead of super/windows key</title>
<updated>2022-01-12T08:44:27+00:00</updated>
<author>
<name>Hiltjo Posthuma</name>
<email>hiltjo@codemadness.org</email>
</author>
<published>2022-01-12T08:44:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.yctct.com/st/commit/?id=2c5edf28ec851907305d73c6218ce75d39f1767f'/>
<id>2c5edf28ec851907305d73c6218ce75d39f1767f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
