<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to tickets</title><link>https://sourceforge.net/p/clipsrules/tickets/</link><description>Recent changes to tickets</description><atom:link href="https://sourceforge.net/p/clipsrules/tickets/feed.rss" rel="self"/><language>en</language><lastBuildDate>Fri, 21 Nov 2025 00:03:24 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/clipsrules/tickets/feed.rss" rel="self" type="application/rss+xml"/><item><title>#34 problems getting the clips iOS download to start the interpreter</title><link>https://sourceforge.net/p/clipsrules/tickets/34/?limit=25#c3e4</link><description>&lt;div class="markdown_content"&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;status&lt;/strong&gt;: reopened --&amp;gt; closed&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;assigned_to&lt;/strong&gt;: Gary Riley&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Gary Riley</dc:creator><pubDate>Fri, 21 Nov 2025 00:03:24 -0000</pubDate><guid>https://sourceforge.net6109a8363aabaebedf48239625f56f24fbb36cf0</guid></item><item><title>#76 CLIPS crashes when global variable modified</title><link>https://sourceforge.net/p/clipsrules/tickets/76/?limit=25#03bd</link><description>&lt;div class="markdown_content"&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;status&lt;/strong&gt;: new --&amp;gt; closed&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;assigned_to&lt;/strong&gt;: Gary Riley&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Gary Riley</dc:creator><pubDate>Thu, 20 Nov 2025 23:55:52 -0000</pubDate><guid>https://sourceforge.net2cca80c08b25225d826f2ca353e05a42e08b0acb</guid></item><item><title>#76 CLIPS crashes when global variable modified</title><link>https://sourceforge.net/p/clipsrules/tickets/76/?limit=25#0d94/b073/a43f/c11f/f024/20bc</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;It all works fine. Thanks.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">xyando</dc:creator><pubDate>Wed, 24 Jul 2024 14:49:32 -0000</pubDate><guid>https://sourceforge.net29ac665921f037b72ce65570de6f2c4ec31b036c</guid></item><item><title>#76 CLIPS crashes when global variable modified</title><link>https://sourceforge.net/p/clipsrules/tickets/76/?limit=25#0d94/b073/a43f/c11f/f024</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;I checked in a fix. I forgot to test the original issue.  There are multiple ways to generate a bug with this issue and just modifying QSetDefglobalValue won't fix all of them.  Here's an example which globalbind-3.patch will still generate an error:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;(defglobal ?*foo* = (create$ 0.0))

(deffunction test (?foo)
   (bind ?*foo* ?foo)
   (println ?foo)
   (bind ?*foo* (create$ 3.0))
   (println ?foo))
(test ?*foo*)
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;What I did to resolve the issue is modify the routines which return the value of the global variable to return a copy of the multifield value instead of the value stored directly in the global. This preserves the multifield until garbage collection kicks in at the appropriate  time. &lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Gary Riley</dc:creator><pubDate>Mon, 22 Jul 2024 03:49:44 -0000</pubDate><guid>https://sourceforge.net6fed9d5334fb478584b4c968498df5fe2265e381</guid></item><item><title>#76 CLIPS crashes when global variable modified</title><link>https://sourceforge.net/p/clipsrules/tickets/76/?limit=25#0d94/b073/a43f/c11f</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Thanks Gary,&lt;br/&gt;
The endless looping is resolved. But the globalbind.bat fails again.&lt;/p&gt;
&lt;p&gt;I think the equality checking once you have added is still necessary&lt;br/&gt;
(but after NormalizeMultifield(), but before displaying watch info)&lt;br/&gt;
to avoid premature release.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">xyando</dc:creator><pubDate>Sun, 21 Jul 2024 13:05:27 -0000</pubDate><guid>https://sourceforge.net9d833f4f4d8d09e14721474165647c38a0a4f84d</guid></item><item><title>#76 CLIPS crashes when global variable modified</title><link>https://sourceforge.net/p/clipsrules/tickets/76/?limit=25#0d94/b073/a43f</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Nice catch. I checked in an update.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Gary Riley</dc:creator><pubDate>Wed, 17 Jul 2024 22:05:47 -0000</pubDate><guid>https://sourceforge.net1033bac6a56e5109740f2dae25578389a35b4e18</guid></item><item><title>#76 CLIPS crashes when global variable modified</title><link>https://sourceforge.net/p/clipsrules/tickets/76/?limit=25#0d94/b073</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Thanks Gary, &lt;br/&gt;
but I think an additional modification is necessary(see attached patch)&lt;br/&gt;
because the following program results an endless looping.&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;(defglobal ?*x* = (create$ 1 2 3))
(deffunction test()
  (while TRUE do
    (bind ?*x* (rest$ ?*x*))
    (printout t ?*x* crlf)
    (if (= (length$ ?*x*) 0) then
      (break)
    )
  )
)
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">xyando</dc:creator><pubDate>Wed, 17 Jul 2024 14:29:45 -0000</pubDate><guid>https://sourceforge.nete1631e49e7442b28fa3e7e957591a51e3e7b44fc</guid></item><item><title>#76 CLIPS crashes when global variable modified</title><link>https://sourceforge.net/p/clipsrules/tickets/76/?limit=25#0d94</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;A fix has been checked into the svn repository.  The issue occurs  when setting the current value of a  defglobal to its current value. This can cause the value to be prematurely released. The bug can occur outside the body of a deffunction, so the proposed patch won't fix the issue for all cases.&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="w"&gt;         &lt;/span&gt;&lt;span class="n"&gt;CLIPS&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mf"&gt;6.4.1&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="mi"&gt;23&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;CLIPS&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;defglobal&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="vm"&gt;?&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;foo&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;create&lt;/span&gt;&lt;span class="err"&gt;$&lt;/span&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="mf"&gt;0.0&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;span class="n"&gt;CLIPS&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;loop&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nf"&gt;count&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;do&lt;/span&gt;
&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;bind&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="vm"&gt;?&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;foo&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="vm"&gt;?&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;foo&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="n"&gt;ARGACCES2&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;Function&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;'loop-for-count'&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;expected&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;argument&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;#3&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;to&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;be&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;of&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;type&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;integer&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nc"&gt;float&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;symbol&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;string&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;instance&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;instance&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;address&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;fact&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;address&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;external&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;address&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="ow"&gt;or&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;multifield&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;
&lt;span class="k"&gt;FALSE&lt;/span&gt;
&lt;span class="n"&gt;CLIPS&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Gary Riley</dc:creator><pubDate>Tue, 16 Jul 2024 17:27:26 -0000</pubDate><guid>https://sourceforge.net148fdb1ef096cd77b75a990a19a0ac3ef6795958</guid></item><item><title>#76 CLIPS crashes when global variable modified</title><link>https://sourceforge.net/p/clipsrules/tickets/76/?limit=25#0e18</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;The revised patch is attached because the elder patch fails CLIPS test_suite.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">xyando</dc:creator><pubDate>Sun, 14 Jul 2024 17:24:57 -0000</pubDate><guid>https://sourceforge.net46eb1127b21a399c3e7c7aba66594eae9d5b99d9</guid></item><item><title>#76 CLIPS crashes when global variable modified</title><link>https://sourceforge.net/p/clipsrules/tickets/76/?limit=25#1b32</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;The posted comment is erroneous because the asterisks are missing.&lt;br/&gt;
Please refer the attached file.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">xyando</dc:creator><pubDate>Sat, 13 Jul 2024 14:14:45 -0000</pubDate><guid>https://sourceforge.netdf3c5f96d1a444f3cbf6afb60b965f1ac1255d09</guid></item></channel></rss>