pike issueshttps://git.lysator.liu.se/pikelang/pike/-/issues2009-04-16T14:11:39Zhttps://git.lysator.liu.se/pikelang/pike/-/issues/3064The int type might leak2009-04-16T14:11:39ZPeter BortasThe int type might leakImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=3064
Reported by Martin Stjernholm <mast@roxen.com>
Running mkpeep.pike in a pike with debug-malloc shows the attached leak.Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=3064
Reported by Martin Stjernholm <mast@roxen.com>
Running mkpeep.pike in a pike with debug-malloc shows the attached leak.Pike 7.4Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/3060Line number problem with machine code and PIKE_FRAME_RETURN_INTERNAL2009-04-16T14:11:39ZPeter BortasLine number problem with machine code and PIKE_FRAME_RETURN_INTERNALImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=3060
Reported by Martin Stjernholm <mast@roxen.com>
void x (mixed val)
{
}
class X
{
void create() {error ("foo\n");}
}
object rx = class ...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=3060
Reported by Martin Stjernholm <mast@roxen.com>
void x (mixed val)
{
}
class X
{
void create() {error ("foo\n");}
}
object rx = class {}(); // Line 10
```
int main()
{
x (rx->x);
rx = X(); // Line 15
}
```
When using machine code (at least on ia32), the backtrace generated in the
program above says the line for the X call in main() is 10, which is
clearly wrong.
The reason for the bogus line numbers is that the opcodes in
interpret_functions.h that use PIKE_FRAME_RETURN_INTERNAL change
Pike_fp->pc. That doesn't work well together with machine code that
increments it relatively.
Afaics it's either necessary to add FLUSH_CODE_GENERATOR_STATE after those
opcodes, or use another place than Pike_fp->pc to store the return address.
A testsuite test has been added.Pike 7.4Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/3056Hilfe dies of some widestring errors.2009-04-16T14:11:39ZPeter BortasHilfe dies of some widestring errors.Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=3056
Reported by @grubba
```
Pike v7.3 release 31 running Hilfe v3.3 (Incremental Pike Frontend)
> object o = compile_string("void foo(){ error(\"Foo!\\n\");
}","\x4141")...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=3056
Reported by @grubba
```
Pike v7.3 release 31 running Hilfe v3.3 (Incremental Pike Frontend)
> object o = compile_string("void foo(){ error(\"Foo!\\n\");
}","\x4141")();
> o->foo();
Stdio.File->write(): cannot output wide strings.
module.c:57.files.Fd: write("Foo!\n\40501:1: foo()\n")
/home/grubba/src/Pike/7.3/lib/modules/Tools.pmod/Hilfe.pmod:1684:
HilfeEvaluator->evaluate("mixed ___HilfeWrapper() { return (___hilfe->
o)->foo(); ; }",1)
/home/grubba/src/Pike/7.3/lib/modules/Tools.pmod/Hilfe.pmod:1458:
HilfeEvaluator->parse_expression(Expression(({ /* 6 elements */
"(___hilfe->o)",
"->",
"foo",
"(",
")",
";"
})))
/home/grubba/src/Pike/7.3/lib/modules/Tools.pmod/Hilfe.pmod:1092:
HilfeEvaluator->add_buffer("o->foo();")
/home/grubba/src/Pike/7.3/lib/modules/Tools.pmod/Hilfe.pmod:1047:
HilfeEvaluator->add_input_line("o->foo();")
/home/grubba/src/Pike/7.3/lib/modules/Tools.pmod/Hilfe.pmod:1791:
HilfeEvaluator->create()
Hilfe: StdinHilfe()
```Pike 7.4https://git.lysator.liu.se/pikelang/pike/-/issues/3030Unicode test 1332 fails.2009-04-16T14:11:39ZPeter BortasUnicode test 1332 fails.Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=3030
Reported by Martin Nilsson, IDA <nilsson@pike.ida.liu.se>
Part0: Specific cases
Done. 138 tests.
Part1: Character by character test
Test 1332/NFC failed:
expected:...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=3030
Reported by Martin Nilsson, IDA <nilsson@pike.ida.liu.se>
Part0: Specific cases
Done. 138 tests.
Part1: Character by character test
Test 1332/NFC failed:
expected: 2ADD 0338
got: 2ADC
input: 2ADC
Test 1332/NFC failed:
expected: 2ADD 0338
got: 2ADC
input: 2ADD 0338
Test 1332/NFKC failed:
expected: 2ADD 0338
got: 2ADC
input: 2ADC
Done. 97890 tests.
Part2: Canonical Order Test
Done. 3924 tests.
Summary: 3/101952 tests failedPike 7.4Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/3024Hilfe parse error on function invocation with array literal2009-04-16T14:11:39ZPeter BortasHilfe parse error on function invocation with array literalImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=3024
Reported by Johan H Sundström, IDA <jhs@pike.ida.liu.se>
```
Pike v7.3 release 31 running Hilfe v3.3 (Incremental Pike Frontend)
> void nop(mixed m){};
> nop(({}));
...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=3024
Reported by Johan H Sundström, IDA <jhs@pike.ida.liu.se>
```
Pike v7.3 release 31 running Hilfe v3.3 (Incremental Pike Frontend)
> void nop(mixed m){};
> nop(({}));
Compiler Error: 1:parse error
Compiler Error: 1:Missing ';'.
Compiler Error: 2:parse error
Compiler Error: 2:Missing ')'.
Compiler Error: 3:Missing ';'.
Compiler Error: 3:Unexpected end of file.
Compiler Error: 3:Missing '}'.
Compiler Error: 3:Unexpected end of file.
```Pike 7.4https://git.lysator.liu.se/pikelang/pike/-/issues/3023Hilfe says a defined variable is undefined.2009-04-16T14:11:39ZPeter BortasHilfe says a defined variable is undefined.Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=3023
Reported by Mikael Brandström <mikael@brandstrom.org>
```
Pike v7.3 release 31 running Hilfe v3.3 (Incremental Pike Frontend)
> int n=0; foreach(({1,2}), int m){n+=m...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=3023
Reported by Mikael Brandström <mikael@brandstrom.org>
```
Pike v7.3 release 31 running Hilfe v3.3 (Incremental Pike Frontend)
> int n=0; foreach(({1,2}), int m){n+=m;}
Ok.
> int n=0; foreach(({1,2,3}), int m){n+=m;}
Compiler Error: 1:'n' undefined.
>
```Pike 7.4https://git.lysator.liu.se/pikelang/pike/-/issues/3014Dumping test fail (Need to port the new encode_value() from Pike 7.2)2009-04-16T14:11:39ZPeter BortasDumping test fail (Need to port the new encode_value() from Pike 7.2)Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=3014
Reported by Martin Nilsson, IDA <nilsson@pike.ida.liu.se>
```
testsuite: Test 570 (shift 0) (CRNL) failed.
1: mixed a() {
2: class Test
3: {
4: class Cod...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=3014
Reported by Martin Nilsson, IDA <nilsson@pike.ida.liu.se>
```
testsuite: Test 570 (shift 0) (CRNL) failed.
1: mixed a() {
2: class Test
3: {
4: class Codec
5: {
6: mixed nameof (mixed what)
7: {
8: return ([])[0];
9: }
10: }
11:
12: int main()
13: {
14: object o = compile_string (#"
15: constant x = ({0});
16: int f() {return 17;}
17: int g() {return x[0]();}
18: ")();
19: o->x[0] = o->f;
20: function e=encode_value;
21: function d=decode_value;
22: o = d (e (o, Codec()), Codec());
23: return function_object (o->x[0]) == o;
24: }
25: };
26: return Test()->main();
27: ; }
28: mixed b() { return 1; }
Error: Failed to encode object.
testsuite: Test 570 (shift 0) (CRNL):22: main()
```Pike 7.4Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/3013Dumping test fail2009-04-16T14:11:39ZPeter BortasDumping test failImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=3013
Reported by Martin Nilsson, IDA <nilsson@pike.ida.liu.se>
```
testsuite: Test 569 (shift 2) failed.
1: mixed a() {
2: class Test
3: {
4: class Resolver (...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=3013
Reported by Martin Nilsson, IDA <nilsson@pike.ida.liu.se>
```
testsuite: Test 569 (shift 2) failed.
1: mixed a() {
2: class Test
3: {
4: class Resolver (array c)
5: {
6: mixed resolv (string id)
7: {
8: if (id == "c") return c;
9: }
10: }
11:
12: class Codec
13: {
14: mixed fooof (string name) {return all_constants()[name];}
15: function objectof = fooof;
16: function functionof = fooof;
17: function programof = fooof;
18:
19: string nameof (mixed what)
20: {
21: if (string name = search (all_constants(), what)) return name;
22: return ([])[0];
23: }
24: }
25:
26: mixed main()
27: {
28: array c = ({"subres"});
29: object o = compile (
30: #"string res() {return `+(@c());}
31: string subres() {return \"foo\";}",
32: Resolver (c))();
33: for (int i = 0; i < sizeof (c); i++)
34: if (stringp (c[i])) c[i] = o[c[i] ];
35: #ifdef DEBUG
36: #define D ,1
37: #else
38: #define D
39: #endif
40: function e=encode_value;
41: function d=decode_value;
42: return d (e (o, Codec() D), Codec() D)->res();
43: }
44: };
45: return Test()->main();
46: ; }
47: mixed b() { return "foo"; }
Error: Failed to encode object.
testsuite: Test 569 (shift 2):42: main()
```Pike 7.4Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/3006FUTURE: Constant evaluation needs on-demand resolving2022-11-19T13:16:40ZPeter BortasFUTURE: Constant evaluation needs on-demand resolvingImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=3006
Reported by Martin Nilsson, IDA <nilsson@pike.ida.liu.se>
From testsuite:
```
testsuite: Test 433 (shift 1) (CRNL):7:Illegal program identifier
(type:int).
testsuit...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=3006
Reported by Martin Nilsson, IDA <nilsson@pike.ida.liu.se>
From testsuite:
```
testsuite: Test 433 (shift 1) (CRNL):7:Illegal program identifier
(type:int).
testsuite: Test 433 (shift 1) (CRNL):9:Class definition failed.
testsuite: Test 433 (shift 1) (CRNL) failed.
1: mixed a() {
2: class X {
3: constant foo = Foo;
4: class Foo {}
5: void bar()
6: {
7: foo f = Foo();
8: }
9: };
10: ; }
```Pike NextHenrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/3005Line number error on Sparc2009-04-16T14:11:39ZPeter BortasLine number error on SparcImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=3005
Reported by Martin Nilsson, IDA <nilsson@pike.ida.liu.se>
The line numbers are not working on the sparc platform.Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=3005
Reported by Martin Nilsson, IDA <nilsson@pike.ida.liu.se>
The line numbers are not working on the sparc platform.Pike 7.4Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/3004Line number error on IA322009-04-16T14:11:39ZPeter BortasLine number error on IA32Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=3004
Reported by Martin Nilsson, IDA <nilsson@pike.ida.liu.se>
From the testsuite:
```
testsuite: Test 9971 (shift 2) Line numbering failed.
1: object(LR.parser) p=LR...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=3004
Reported by Martin Nilsson, IDA <nilsson@pike.ida.liu.se>
From the testsuite:
```
testsuite: Test 9971 (shift 2) Line numbering failed.
1: object(LR.parser) p=LR.Grammar_parser.make_parser("foo : bar;foo :
foo bar;bar : \"a\";"); int pos; array(string) data="aaaaaaaaa"/""; string
scan() { if (pos < sizeof(data)) return(data[pos++]); else return ""; } int
a() { return(p->parse(scan) == "a"); }
2: int __cpp_line=__LINE__; int __rtl_line=[int]backtrace()[-1][1];
CPP lines: 2
RTL lines: 1
Actual lines: 2
```Pike 7.4https://git.lysator.liu.se/pikelang/pike/-/issues/2997Oracle LONG limitation bug.2009-04-16T14:11:39ZPeter BortasOracle LONG limitation bug.Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2997
Reported by @grubba
```
From: eric lindvall <eric@5stops.com>
To: "pike@roxen.com" <pike@roxen.com>
Date: Thu, 11 Apr 2002 08:50:43 +0200 (MEST)
Subject: oracle patc...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2997
Reported by @grubba
```
From: eric lindvall <eric@5stops.com>
To: "pike@roxen.com" <pike@roxen.com>
Date: Thu, 11 Apr 2002 08:50:43 +0200 (MEST)
Subject: oracle patch
```
the oracle module assumes that all strings should be converted to LONGs.
unfortunatly, you can't have more than one LONG in a given row, or in a
select.
this fixes the problems with having more than one bind variable that is a
string. it also manifested itself in spitting out:
Oracle:code=-1:ORA-01460: unimplemented or unreasonable conversion
requested
when using more than one bind variable or more than one escaped entry.
hope this helps.
e.
-----------
```
Index: src/modules/Oracle/oracle.c
===================================================================
RCS file: /cvs/Pike/7.2/src/modules/Oracle/oracle.c,v
retrieving revision 1.59
diff -u -u -r1.59 oracle.c
--- src/modules/Oracle/oracle.c 2002/02/07 16:55:19 1.59
+++ src/modules/Oracle/oracle.c 2002/04/11 06:32:10
@@ -1735,7 +1735,13 @@
case T_STRING:
addr = (ub1 *)value->u.string->str;
len = value->u.string->len;
- fty = SQLT_LNG;
+ if (len < 4000)
+ {
+ rlen = 4000;
+ fty = SQLT_CHR;
+ }
+ else
+ fty = SQLT_LNG;
break;
```
case T_FLOAT:Pike 7.0https://git.lysator.liu.se/pikelang/pike/-/issues/2995Calendar.parse doesn't parse 1999-03-28 23:00:00 through 23:59:592009-04-16T14:11:39ZPeter BortasCalendar.parse doesn't parse 1999-03-28 23:00:00 through 23:59:59Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2995
Reported by Johan H Sundström, IDA <jhs@pike.ida.liu.se>
```
Pike v7.3 release 16 running Hilfe v3.1 (Incremental Pike Frontend)
> Calendar.parse("%Y-%M-%D %h:%m:%s"...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2995
Reported by Johan H Sundström, IDA <jhs@pike.ida.liu.se>
```
Pike v7.3 release 16 running Hilfe v3.1 (Incremental Pike Frontend)
> Calendar.parse("%Y-%M-%D %h:%m:%s", "1999-03-28 22:59:59");
Result 1: Second(Sun 28 Mar 1999 22:59:59 MEST)
> Calendar.parse("%Y-%M-%D %h:%m:%s", "1999-03-28 23:00:00");
Result 2: 0
> Calendar.parse("%Y-%M-%D %h:%m:%s", "1999-03-28 23:59:59");
Result 3: 0
> Calendar.parse("%Y-%M-%D %h:%m:%s", "1999-03-29 00:00:00");
Result 4: Second(Mon 29 Mar 1999 0:00:00 MEST)
```
Calendar.dwim_time, by implication, doesn't either.Pike 7.4Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/2987"Edit external visibility" wizard skews time2009-04-16T14:11:39ZPeter Bortas"Edit external visibility" wizard skews timeImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2987
Reported by Fredrik Noring, Roxen Internet Software <noring@roxen.com>
Using the "Edit external visibility" wizard to set a given time
does not work properly. Settin...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2987
Reported by Fredrik Noring, Roxen Internet Software <noring@roxen.com>
Using the "Edit external visibility" wizard to set a given time
does not work properly. Setting e.g. 15:15 gives 16:15, i.e. a
one hour skew. It may have something to do with daylight saving
time.Pike 7.2Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/2976Hilfe history bug2009-04-16T14:11:39ZPeter BortasHilfe history bugImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2976
Reported by Leif Stensson <leif@roxen.com>
Doing "set history 0" in Hilfe gives the following error message when
trying to evaluate the next expression:
```
Attempt...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2976
Reported by Leif Stensson <leif@roxen.com>
Doing "set history 0" in Hilfe gives the following error message when
trying to evaluate the next expression:
```
Attempt to index the empty array with 0.
installed/megalon/pike/7.3.18/lib/modules/ADT.pmod/History.pike:41:
HilfeHistory(0/10)->push(1)
installed/megalon/pike/7.3.18/lib/modules/Tools.pmod/Hilfe.pmod:1396:
HilfeEvaluator->evaluate("1",1)
installed/megalon/pike/7.3.18/lib/modules/Tools.pmod/Hilfe.pmod:1163:
HilfeEvaluator->parse_expression(Expression(({ /* 2 elements
*/
```
"1",
";"
```
})))
installed/megalon/pike/7.3.18/lib/modules/Tools.pmod/Hilfe.pmod:874:
HilfeEvaluator->add_buffer("1;")
installed/megalon/pike/7.3.18/lib/modules/Tools.pmod/Hilfe.pmod:829:
HilfeEvaluator->add_input_line("1;")
installed/megalon/pike/7.3.18/lib/modules/Tools.pmod/Hilfe.pmod:1496:
```
HilfeEvaluator->create()
Hilfe: StdinHilfe()
With "set history 1", a different but similar error occurs:
```
Attempt to index the empty array with 9.
installed/megalon/pike/7.3.18/lib/modules/Tools.pmod/Hilfe.pmod:724:
HilfeHistory(1/10)->`[](-1)
installed/megalon/pike/7.3.18/lib/modules/Tools.pmod/Hilfe.pmod:1303:
HilfeEvaluator->hilfe_compile("mixed ___HilfeWrapper() { return 0; ;
}",0)
installed/megalon/pike/7.3.18/lib/modules/Tools.pmod/Hilfe.pmod:1362:
HilfeEvaluator->evaluate("mixed ___HilfeWrapper() { return 0; ;
}",1)
installed/megalon/pike/7.3.18/lib/modules/Tools.pmod/Hilfe.pmod:1163:
HilfeEvaluator->parse_expression(Expression(({ /* 2 elements
*/
```
"0",
";"
```
})))
installed/megalon/pike/7.3.18/lib/modules/Tools.pmod/Hilfe.pmod:874:
HilfeEvaluator->add_buffer("0;")
installed/megalon/pike/7.3.18/lib/modules/Tools.pmod/Hilfe.pmod:829:
HilfeEvaluator->add_input_line("0;")
installed/megalon/pike/7.3.18/lib/modules/Tools.pmod/Hilfe.pmod:1496:
```
HilfeEvaluator->create()
Hilfe: StdinHilfe()Pike 7.4https://git.lysator.liu.se/pikelang/pike/-/issues/2941Back-referencing single-statement declarations don't work in Hilfe2009-04-16T14:11:39ZPeter BortasBack-referencing single-statement declarations don't work in HilfeImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2941
Reported by Johan H Sundström, IDA <jhs@pike.ida.liu.se>
```
Pike v7.3 release 18 running Hilfe v3.2 (Incremental Pike Frontend)
> int i=5, j=2*i;
Compiler Error: 1:...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2941
Reported by Johan H Sundström, IDA <jhs@pike.ida.liu.se>
```
Pike v7.3 release 18 running Hilfe v3.2 (Incremental Pike Frontend)
> int i=5, j=2*i;
Compiler Error: 1:'i' undefined.
>
```Pike 7.4https://git.lysator.liu.se/pikelang/pike/-/issues/2873LDAP search can't handle binary data2022-08-28T15:48:14ZPeter BortasLDAP search can't handle binary dataImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2873
Reported by David Israelsson, Roxen IS <david@roxen.com>
Search operations in Protocols.LDAP.client fail in utf8_to_string when a
record contains base64 encoded bina...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2873
Reported by David Israelsson, Roxen IS <david@roxen.com>
Search operations in Protocols.LDAP.client fail in utf8_to_string when a
record contains base64 encoded binary data.
Detected in pf 2.2.253 / Pike 7.2.259.Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/2861One hour offset in If-Modified-Since header.2020-03-01T13:52:24ZPeter BortasOne hour offset in If-Modified-Since header.Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2861
Reported by Arjan van Staalduijnen, RTL iMedia <arjanvanstaalduijnen@rtlimedia.nl>
The If-Modified-Since header does not use the correct time to determine
of the pag...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2861
Reported by Arjan van Staalduijnen, RTL iMedia <arjanvanstaalduijnen@rtlimedia.nl>
The If-Modified-Since header does not use the correct time to determine
of the page has been modified.
If for a page a Last-Modified header is reported like
Last-Modified: Thu, 14 Mar 2002 14:50:59 GMT
and a request for this page is done with a header
If-Modified-Since: Thu, 14 Mar 2002 14:50:59 GMT
a 304 result should be returned. Instead a 200 result is returned. If a
request is done for the same page, where the If-Modified-Since header
states a time, one hour later (so, Thu, Mar 14 2002 15:50:59 GMT) a 304
is indeed returned. Anything earlier than that one hour offset returns a
200 result.Pike 7.0Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/2858String.Buffer appears to hang under some circumstances2009-04-16T14:11:39ZPeter BortasString.Buffer appears to hang under some circumstancesImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2858
Reported by Martin Nilsson, IDA <nilsson@pike.ida.liu.se>
It appears that `+= on a String.Buffer object sometimes hangs Pike.
Replacing all += operations with the ad...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2858
Reported by Martin Nilsson, IDA <nilsson@pike.ida.liu.se>
It appears that `+= on a String.Buffer object sometimes hangs Pike.
Replacing all += operations with the add method solves the problem. I have
only encountered this in complex code, so I have no minimized test case. A
huge testcase is to rewrite the render_xml method in Parser.XML.Tree to use
String.Buffer instead of string concatenation (about 8 lines need to be
changed) and build a refdoc manual with the new Parser.XML.Tree.Pike 7.4Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/2846Hilfe v3 fails to access global variables from functions2009-04-16T14:11:39ZPeter BortasHilfe v3 fails to access global variables from functionsImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2846
Reported by Marcus Agehall <agehall@roxen.com>
```
In hilfe v2.0 the code below works:
> int i=0;
Result: 0
> void foo() { i++; };
> foo();
Result: 0
> i;
Result: 1
...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2846
Reported by Marcus Agehall <agehall@roxen.com>
```
In hilfe v2.0 the code below works:
> int i=0;
Result: 0
> void foo() { i++; };
> foo();
Result: 0
> i;
Result: 1
```
However, when the same code is run in hilfe v3, i is not incremented when
foo() is executed.Pike 7.4