Looks like this bug has been fixed in Pike 7.5.
2004-03-18 12:46:
Subject: Problem in Parser.HTML() with mixed_mode [3624]
Product: Pike
Version: 7.2
Component: Modules
Reporter: wellhard@roxen.com
URL: https://community.roxen.com/crunch/show_bug.cgi?id=3624
Mixed mode in Parser.HTML() does not work for more then 32 nodes.
Reported in RT#4969
Test program below:
Pike v7.2 release 421 running Hilfe v2.0 (Incremental Pike Frontend)
object p = Parser.HTML();
p->mixed_mode (1);
p->add_container ("land", lambda (object p, mapping args, string content)
{return ({ p->tag_content() }); });
Works
p->feed(""\n <land>1</land>\n <land>2</land>\n <land>3</land>\n
<land>4</land>\n <land>5</land>\n <land>6</land>\n <land>7</land>\n
<land>8</land>\n <land>9</land>\n <land>10</land>\n
<land>11</land>\n <land>12</land>\n <land>13</land>\n
<land>14</land>\n <land>15</land>")->read();
Result: ({ /* 30 elements */
""\n ",
"1",
"\n ",
"2",
"\n ",
"3",
"\n ",
"4",
"\n ",
"5",
"\n ",
"6",
"\n ",
"7",
"\n ",
"8",
"\n ",
"9",
"\n ",
"10",
"\n ",
"11",
"\n ",
"12",
"\n ",
"13",
"\n ",
"14",
"\n ",
"15"
})
Does not work
p->feed(""\n <land>1</land>\n <land>2</land>\n <land>3</land>\n
<land>4</land>\n <land>5</land>\n <land>6</land>\n <land>7</land>\n
<land>8</land>\n <land>9</land>\n <land>10</land>\n
<land>11</land>\n <land>12</land>\n <land>13</land>\n
<land>14</land>\n <land>15</land>\n <land>16</land>")->read();
Result: ({ })
/ Brevbäraren