Skip to content
Commits on Source (9)
Overview of changes in gnome-calculator 42.1
* Updated translations
* Fixed broken undo/redo #266 (Robert Roth)
* Removed automatic closing brace addition #271 (Robert Roth)
* Fixed incorrect percentage symbol precedence handling #236, #275 (Robert Roth)
Overview of changes in gnome-calculator 42.0
* Updated translations
......
......@@ -71,6 +71,17 @@
<translation type="gettext">gnome-calculator</translation>
<content_rating type="oars-1.1" />
<releases>
<release version="42.1" date="2022-05-27" type="stable">
<description>
<p>Overview of changes in gnome-calculator 42.1</p>
<ul>
<li>Updated Translations</li>
<li>Fixed broken undo/redo #266 (Robert Roth)</li>
<li>Removed automatic closing brace addition #271 (Robert Roth)</li>
<li>Fixed incorrect percentage symbol precedence handling #236, #275 (Robert Roth)</li>
</ul>
</description>
</release>
<release version="42.0" date="2022-03-19" type="stable">
<description>
<p>Overview of changes in gnome-calculator 42.0</p>
......
......@@ -1177,6 +1177,8 @@ public class Parser
return Precedence.CONVERT;
if (type == LexerTokenType.SHIFT_LEFT || type == LexerTokenType.SHIFT_RIGHT)
return Precedence.SHIFT;
if (type == LexerTokenType.L_R_BRACKET || type == LexerTokenType.R_R_BRACKET)
return Precedence.DEPTH;
return Precedence.TOP;
}
......@@ -1889,7 +1891,7 @@ public class Parser
return true;
}
node.precedence = Precedence.PERCENTAGE;
node.precedence = make_precedence_p (Precedence.PERCENTAGE);
node.do_percentage = true;
return true;
}
......@@ -1932,7 +1934,7 @@ public class Parser
return true;
}
node.precedence = Precedence.PERCENTAGE;
node.precedence = make_precedence_p (Precedence.PERCENTAGE);
node.do_percentage = true;
return true;
}
......
......@@ -535,7 +535,7 @@ public class MathEquation : GtkSource.Buffer
insert (text.delimit ("\n", ' '));
}
public override void undo ()
public new void undo ()
{
if (undo_stack == null)
{
......@@ -556,7 +556,7 @@ public class MathEquation : GtkSource.Buffer
apply_state (state);
}
public override void redo ()
public new void redo ()
{
if (redo_stack == null)
{
......@@ -1025,20 +1025,6 @@ public class MathEquation : GtkSource.Buffer
var solvedata = new SolveData ();
var text = equation;
/* Count the number of brackets and automatically add missing closing brackets */
var n_brackets = 0;
for (var i = 0; text[i] != '\0'; i++)
{
if (text[i] == '(')
n_brackets++;
else if (text[i] == ')')
n_brackets--;
}
while (n_brackets > 0)
{
text += ")";
n_brackets--;
}
ErrorCode error_code;
string error_token;
......
project('gnome-calculator', ['c', 'vala'],
version: '42.0',
version: '42.1',
meson_version: '>= 0.57.0',
license: 'GPLv3+',
)
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -422,6 +422,11 @@ private void test_equations ()
test ("100−1%", "99", 0);
test ("100×1%", "1", 0);
test ("100÷1%", "10000", 0);
test ("1+100%", "2", 0);
test ("(1+100%)", "2", 0);
test ("(1+100%)^2", "4", 0);
test ("(1+100%)^2", "4", 0);
test ("(((100−20)−50%)+20)", "60", 0);
/* Factorial */
test ("0!", "1", 0);
......