<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to patches</title><link>https://sourceforge.net/p/blt/patches/</link><description>Recent changes to patches</description><atom:link href="https://sourceforge.net/p/blt/patches/feed.rss" rel="self"/><language>en</language><lastBuildDate>Thu, 02 Apr 2026 10:08:52 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/blt/patches/feed.rss" rel="self" type="application/rss+xml"/><item><title>#41 Compliling fails using GCC-15</title><link>https://sourceforge.net/p/blt/patches/41/?limit=25#813e</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Hi!&lt;/p&gt;
&lt;p&gt;In newer GCC another issue emerges: there are two variables named true and false, which is not acceptable as for now. I've modified the patch and renamed them into truev and falsev.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sergei Golovan</dc:creator><pubDate>Thu, 02 Apr 2026 10:08:52 -0000</pubDate><guid>https://sourceforge.net2f0966918e8b6680108bcc2e03401865287a38e3</guid></item><item><title>#46 Blt_TclInit() and Blt_TkInit() are declared only if USE_BLT_STUBS is defined</title><link>https://sourceforge.net/p/blt/patches/46/?limit=25#1e48</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Hi!&lt;/p&gt;
&lt;p&gt;My patch seems to be incomplete. The way it is, including blt.h withou prior tcl.h leads to compile errors because Tcl_AppInitProc is undefined. This will break configure scripts which try to find blt.h by compiling simple files with #include &amp;lt;blt.h&amp;gt; in them. Here is one possible fix - included tcl.h inside blt.h.&amp;lt;/blt.h&amp;gt;&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sergei Golovan</dc:creator><pubDate>Thu, 03 Jul 2025 15:54:13 -0000</pubDate><guid>https://sourceforge.netd4da9e14588598a4d6d07728ffaec5dd28e0a108</guid></item><item><title>A few fixes and changes in blt::vector</title><link>https://sourceforge.net/p/blt/patches/47/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Hi!&lt;/p&gt;
&lt;p&gt;1) It looks like two vector operations have bugs in BLT 3:&lt;br/&gt;
  * skew(x) is defined incorrectly as a normalized mean of the absolute value of x^3, there shouldn't be an absolute value (Ex^3/s^3, not E|x|^3/s^3). This bug is present in BLT 2 as well.&lt;br/&gt;
  * q2(x) is defined as mean(x), but should be median(x). There's no q2() in BLT 2.&lt;br/&gt;
2) Looking into tests/vector.tcl, I've found the following failing test &lt;code&gt;[blt::vector create z_values(50)]&lt;/code&gt;. Since specifying vector length as (50) or first/last indices as (1:50) was the intended way of creating preallocated vectors in BLT 2, I've tried to reimplement it for BLT 3 as well. Also, I've added options &lt;code&gt;-first&lt;/code&gt; and &lt;code&gt;-last&lt;/code&gt; (they were listed in the comments in bltVectors.c, so I assume that it's the new way to specify the range of indices).&lt;/p&gt;
&lt;p&gt;Please, consider the attached patch with the following changes:&lt;br/&gt;
1) src/bltVecMath.c: fixes bugs with skew() and q2().&lt;br/&gt;
2) src/bltVectors.c: adds &lt;code&gt;-first&lt;/code&gt; and &lt;code&gt;-last&lt;/code&gt; options for vector creation. Also, changes the type of &lt;code&gt;-length&lt;/code&gt; to &lt;code&gt;BLT_SWITCH_INT_POS&lt;/code&gt; because the &lt;code&gt;size&lt;/code&gt; have type &lt;code&gt;int&lt;/code&gt; (so &lt;code&gt;BLT_SWITCH_LONG_POS&lt;/code&gt; overwrites &lt;code&gt;switches.first&lt;/code&gt;).&lt;br/&gt;
3) src/bltVectors.c: Moves parsing &lt;code&gt;name(12)&lt;/code&gt; and &lt;code&gt;name(1:10)&lt;/code&gt; to a separate function, which is called both from &lt;code&gt;VectorCreateOp()&lt;/code&gt; and &lt;code&gt;OldVectorCreate()&lt;/code&gt;.&lt;br/&gt;
4) src/bltVectors.c: changes &lt;code&gt;size = last - first&lt;/code&gt; to  &lt;code&gt;size = last - first + 1&lt;/code&gt; on vector creation. Probably, you wanted ranges like &lt;code&gt;1:3&lt;/code&gt; mean &lt;code&gt;1 2&lt;/code&gt;, but this would require the respective changes in other places where ranges are acceptable (like &lt;code&gt;::vector value set 1:3 1&lt;/code&gt; which currently sets values for 3 elements, and not for 2. Clearly, this change can be discussed further.&lt;br/&gt;
5) src/bltVectors.c: implements defining vector size and offset in &lt;code&gt;[blt::vector create]&lt;/code&gt; by both  &lt;code&gt;(23:42)&lt;/code&gt; and &lt;code&gt;-first 23 -last 42'.
6) src/bltVectors.c: implements&lt;/code&gt;v(:)&lt;code&gt;as a synonym to&lt;/code&gt;v(all)&lt;code&gt;. It didn't work as it was before for the case of an empty vector.
7) tests/vector.tcl: fixes all the existing tests and adds a few tests for&lt;/code&gt;&lt;span&gt;[blt::vector create]&lt;/span&gt;`.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sergei Golovan</dc:creator><pubDate>Mon, 30 Jun 2025 16:25:06 -0000</pubDate><guid>https://sourceforge.netc9bc66d447b8927d066814fa696c2ddcc6ec37d1</guid></item><item><title>Blt_TclInit() and Blt_TkInit() are declared only if USE_BLT_STUBS is defined</title><link>https://sourceforge.net/p/blt/patches/46/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Hi!&lt;/p&gt;
&lt;p&gt;Appears that Blt_TclInit() and Blt_TkInit() are declared in blt.h only if USE_BLT_STUBS is defined. As far as I understand, they should be called even if BLT stubs aren't in use (but say, Tcl/Tk stubs are used by BLT).&lt;/p&gt;
&lt;p&gt;Please, consider the attached patch, which moves #endif higher and declares these init functions unconditionally.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sergei Golovan</dc:creator><pubDate>Mon, 30 Jun 2025 15:58:23 -0000</pubDate><guid>https://sourceforge.net730fd3353281bf83f713615b1fc3b36d8389cc49</guid></item><item><title>tabset uses wrong padding for windows in its tabs</title><link>https://sourceforge.net/p/blt/patches/45/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Hi!&lt;/p&gt;
&lt;p&gt;There's a bug in BLT 3 tabset widget: it doubles left and top paddings when drawing windows inside tabs. The attached demo (taken from the Python's PMW library and rewritten in Tcl) shows this in the Helpers panel (there is a lone button with huge paddings, it should be centered in the tab, but it's shifted down and to the right). Appears that subtracting the paddings from the cavity width and height is missing in bltTabset.c (it is there in version 2). The attached patch re-adds the code.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sergei Golovan</dc:creator><pubDate>Tue, 17 Jun 2025 14:03:59 -0000</pubDate><guid>https://sourceforge.netab3cc4e0ddab2fce64582a33f29b594a9168e979</guid></item><item><title>tabset closes tab when it loses its window</title><link>https://sourceforge.net/p/blt/patches/44/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Hi!&lt;/p&gt;
&lt;p&gt;BLT 3 has a change with respect to BLT 2, which I'd call a bug: When a tab in a tabset widget loses its window (in the attached example it is stealed by another tab) it deletes the tab itself. In BLT 2 the tab stays empty. The attached example is taken from Python's library PMW and is rewritten to Tcl. Here two tabs (Appearance and Images) steal a window (label .tabset.ap) from each other on tab selection. I think that not deleting the tab is more reasonable behavior, hence the attached patch (taken from the corresponding part of bltTabset.c of version 2).&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sergei Golovan</dc:creator><pubDate>Tue, 17 Jun 2025 13:58:02 -0000</pubDate><guid>https://sourceforge.neta5efae43294855a86733e77d42d2c9cc2c7bb39f</guid></item><item><title>Typos in bltParseargs.c</title><link>https://sourceforge.net/p/blt/patches/43/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Hi!&lt;/p&gt;
&lt;p&gt;There are two typos in bltParseargc.c which make $args set and $args restore treat the argument names as agument values. The attached patch fixes that (and parseargs demo starts working after that.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sergei Golovan</dc:creator><pubDate>Mon, 09 Jun 2025 07:01:10 -0000</pubDate><guid>https://sourceforge.netdcacbda1dfbf61bacbad299220182c8408d44861</guid></item><item><title>Fix segfault in the htext widget</title><link>https://sourceforge.net/p/blt/patches/42/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Hi!&lt;/p&gt;
&lt;p&gt;Currently, in BLT 3.0 from Got's HEAD, htext segfaults when I'm trying to select the text inside it. Looks like a typo in its config specs for the selection background (uses BLT_CONFIG_BORDER type instead of BLT_CONFIG_BACKGROUND). The attached patch fixes the segfault.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sergei Golovan</dc:creator><pubDate>Thu, 05 Jun 2025 09:55:27 -0000</pubDate><guid>https://sourceforge.neta9daa765a0f026db71bf50a5cd96569be5c48171</guid></item><item><title>#39 Missing declarations and symbols when linking with stubs enabled</title><link>https://sourceforge.net/p/blt/patches/39/?limit=25#3337</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;I'm sorry, the second patch is incomplete. It misses adding the two functions to the bltTkProcs structure. Here is the corrected patch.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sergei Golovan</dc:creator><pubDate>Wed, 04 Jun 2025 18:47:20 -0000</pubDate><guid>https://sourceforge.net8badf9a9e8ca96866d6e89e308b113468a7d3cd6</guid></item><item><title>Compliling fails using GCC-15</title><link>https://sourceforge.net/p/blt/patches/41/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Hi!&lt;/p&gt;
&lt;p&gt;GCC 15 adds the new bool type, which makes BLT failing to build because it has some variables named bool in the sources. Also, gcc 15 complains about incorrect prototype in one case. The attached patch defines the "bool" macro to make BLT compilable, but maybe it's not the baest way of fixing the bug. I think it'd be better to rename the variables. The secont part of the patch fixes a function prototype.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sergei Golovan</dc:creator><pubDate>Fri, 30 May 2025 14:03:20 -0000</pubDate><guid>https://sourceforge.net51199f251d36960615d0460f45559b62194cfe7b</guid></item></channel></rss>