------ art_4127_17562134.1211663195286 Content-Type: multipart/alternative; boundary --- art_4128_20829610.1211663195287" ------ art_4128_20829610.1211663195287 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline On Fri, May 23, 2008 at 7:18 AM, ts <decoux / moulon.inra.fr> wrote: > Eric Mahurin wrote: > > Is there any reason this idea couldn't be applied to head? > > Try it on your personal version. > > Guy Decoux Here is a patch for handling optional args for blocks using this simple idea - use a "primary_value" instead of "arg_value" for the default values. I simply did some cutting and pasting for the argument definitions for "def" and changed "arg_value" to "primary_value". It worked on the first try! Spent more time writing tests (included) than adding the new functionality. Matz, any chance this could be integrated for a trial period at least? It shouldn't cause any compatibility issues. ------ art_4128_20829610.1211663195287 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline On Fri, May 23, 2008 at 7:18 AM, ts <<a href ailto:decoux / moulon.inra.fr">decoux / moulon.inra.fr</a>> wrote:<br><div class mail_quote"><blockquote class mail_quote" styleorder-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> <div class h2E3d">Eric Mahurin wrote:<br> > Is there any reason this idea couldn't be applied to head?<br> <br> </div> Try it on your personal version.<br> <br> Guy Decoux</blockquote><div><br>Here is a patch for handling optional args for blocks using this simple idea - use a "primary_value" instead of "arg_value" for the default values. I simply did some cutting and pasting for the argument definitions for "def" and changed "arg_value" to "primary_value". It worked on the first try! Spent more time writing tests (included) than adding the new functionality.<br> <br>Matz, any chance this could be integrated for a trial period at least? It shouldn't cause any compatibility issues.<br><br></div></div> ------ art_4128_20829610.1211663195287-- ------ art_4127_17562134.1211663195286 Content-Type: text/x-diff; name=block_optarg.patch Content-Transfer-Encoding: base64 X-Attachment-Id: f_fgmop6rj0 Content-Disposition: attachment; filename=block_optarg.patch SW5kZXg6IHNhbXBsZS90ZXN0LnJiCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHNhbXBsZS90ZXN0LnJiCShyZXZp c2lvbiAxNjU2OCkKKysrIHNhbXBsZS90ZXN0LnJiCSh3b3JraW5nIGNvcHkpCkBAIC0yOTYsNiAr Mjk2LDY0IEBACiB0ZXN0X29rKGYuY2FsbChbNDIsNTVdKSA9PSBbWzQyLDU1XV0pCiB0ZXN0X29r KGYuY2FsbCg0Miw1NSkgPT0gWzQyLDU1XSkKIAorZiA9IGxhbWJkYSB7IHxhLCBiPTQyLCAqY3wg W2EsYixjXSB9Cit0ZXN0X29rKGYuY2FsbCgxICAgICAgKSA9PSBbMSw0MixbICBdXSApCit0ZXN0 X29rKGYuY2FsbCgxLDQzICAgKSA9PSBbMSw0MyxbICBdXSApCit0ZXN0X29rKGYuY2FsbCgxLDQz LDQ0KSA9PSBbMSw0MyxbNDRdXSApCisKK2YgPSBsYW1iZGEgeyB8YSwgYj0oYXwxNiksICpjLCAm YmxvY2t8IFthLGIsYyxibG9jayYmYmxvY2tbXV0gfQordGVzdF9vayhmLmNhbGwoOCAgICAgICkg ICAgID09IFs4LDI0LFsgIF0sbmlsXSApCit0ZXN0X29rKGYuY2FsbCg4LDQzICAgKSAgICAgPT0g WzgsNDMsWyAgXSxuaWxdICkKK3Rlc3Rfb2soZi5jYWxsKDgsNDMsNDQpICAgICA9PSBbOCw0Myxb NDRdLG5pbF0gKQordGVzdF9vayhmLmNhbGwoOCAgICAgICl7NDV9ID09IFs4LDI0LFsgIF0sNDUg XSApCit0ZXN0X29rKGYuY2FsbCg4LDQzICAgKXs0NX0gPT0gWzgsNDMsWyAgXSw0NSBdICkKK3Rl c3Rfb2soZi5jYWxsKDgsNDMsNDQpezQ1fSA9PSBbOCw0MyxbNDRdLDQ1IF0gKQorCitmID0gbGFt YmRhIHsgfGEsIGI9NDIsICpjLCBkfCBbYSxiLGMsZF0gfQordGVzdF9vayhmLmNhbGwoMSAgICAg ICw5OSkgPT0gWzEsNDIsWyAgXSw5OV0gKQordGVzdF9vayhmLmNhbGwoMSw0MyAgICw5OSkgPT0g WzEsNDMsWyAgXSw5OV0gKQordGVzdF9vayhmLmNhbGwoMSw0Myw0NCw5OSkgPT0gWzEsNDMsWzQ0 XSw5OV0gKQorCitmID0gbGFtYmRhIHsgfGEsIGI9KGF8MTYpLCAmYmxvY2t8IFthLGIsYmxvY2sm JmJsb2NrW11dIH0KK3Rlc3Rfb2soZi5jYWxsKDggICApICAgICA9PSBbOCwyNCxuaWxdICkKK3Rl c3Rfb2soZi5jYWxsKDgsNDMpICAgICA9PSBbOCw0MyxuaWxdICkKK3Rlc3Rfb2soZi5jYWxsKDgs NDMpICAgICA9PSBbOCw0MyxuaWxdICkKK3Rlc3Rfb2soZi5jYWxsKDggICApezQ1fSA9PSBbOCwy NCw0NSBdICkKK3Rlc3Rfb2soZi5jYWxsKDgsNDMpezQ1fSA9PSBbOCw0Myw0NSBdICkKK3Rlc3Rf b2soZi5jYWxsKDgsNDMpezQ1fSA9PSBbOCw0Myw0NSBdICkKKworZiA9IGxhbWJkYSB7IHxhLCBi PTQyLCBkfCBbYSxiLGRdIH0KK3Rlc3Rfb2soZi5jYWxsKDEgICAsOTkpID09IFsxLDQyLDk5XSAp Cit0ZXN0X29rKGYuY2FsbCgxLDQzLDk5KSA9PSBbMSw0Myw5OV0gKQordGVzdF9vayhmLmNhbGwo MSw0Myw5OSkgPT0gWzEsNDMsOTldICkKKworZiA9IGxhbWJkYSB7IHxiPTQyLCAqYywgJmJsb2Nr fCBbYixjLGJsb2NrJiZibG9ja1tdXSB9Cit0ZXN0X29rKGYuY2FsbCggICAgICkgICAgID09IFs0 MixbICBdLG5pbF0gKQordGVzdF9vayhmLmNhbGwoNDMgICApICAgICA9PSBbNDMsWyAgXSxuaWxd ICkKK3Rlc3Rfb2soZi5jYWxsKDQzLDQ0KSAgICAgPT0gWzQzLFs0NF0sbmlsXSApCit0ZXN0X29r KGYuY2FsbCggICAgICl7NDV9ID09IFs0MixbICBdLDQ1IF0gKQordGVzdF9vayhmLmNhbGwoNDMg ICApezQ1fSA9PSBbNDMsWyAgXSw0NSBdICkKK3Rlc3Rfb2soZi5jYWxsKDQzLDQ0KXs0NX0gPT0g WzQzLFs0NF0sNDUgXSApCisKK2YgPSBsYW1iZGEgeyB8Yj00MiwgKmMsIGR8IFtiLGMsZF0gfQor dGVzdF9vayhmLmNhbGwoICAgICAgOTkpID09IFs0MixbICBdLDk5XSApCit0ZXN0X29rKGYuY2Fs bCg0MyAgICw5OSkgPT0gWzQzLFsgIF0sOTldICkKK3Rlc3Rfb2soZi5jYWxsKDQzLDQ0LDk5KSA9 PSBbNDMsWzQ0XSw5OV0gKQorCitmID0gbGFtYmRhIHsgfGI9NDIsICZibG9ja3wgW2IsYmxvY2sm JmJsb2NrW11dIH0KK3Rlc3Rfb2soZi5jYWxsKCAgKSAgICAgPT0gWzQyLG5pbF0gKQordGVzdF9v ayhmLmNhbGwoNDMpICAgICA9PSBbNDMsbmlsXSApCit0ZXN0X29rKGYuY2FsbCg0MykgICAgID09 IFs0MyxuaWxdICkKK3Rlc3Rfb2soZi5jYWxsKCAgKXs0NX0gPT0gWzQyLDQ1IF0gKQordGVzdF9v ayhmLmNhbGwoNDMpezQ1fSA9PSBbNDMsNDUgXSApCit0ZXN0X29rKGYuY2FsbCg0Myl7NDV9ID09 IFs0Myw0NSBdICkKKworZiA9IGxhbWJkYSB7IHxiPTQyLCBkfCBbYixkXSB9Cit0ZXN0X29rKGYu Y2FsbCggICA5OSkgPT0gWzQyLDk5XSApCit0ZXN0X29rKGYuY2FsbCg0Myw5OSkgPT0gWzQzLDk5 XSApCit0ZXN0X29rKGYuY2FsbCg0Myw5OSkgPT0gWzQzLDk5XSApCisKKwogYSw9KlsxXQogdGVz dF9vayhhID09IDEpCiBhLD0qW1sxXV0KSW5kZXg6IHBhcnNlLnkKPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcGFy c2UueQkocmV2aXNpb24gMTY1NjgpCisrKyBwYXJzZS55CSh3b3JraW5nIGNvcHkpCkBAIC02NjYs NiArNjY2LDcgQEAKICV0eXBlIDxub2RlPiBvcGVuX2FyZ3MgcGFyZW5fYXJncyBvcHRfcGFyZW5f YXJncwogJXR5cGUgPG5vZGU+IGNvbW1hbmRfYXJncyBhcmVmX2FyZ3Mgb3B0X2Jsb2NrX2FyZyBi bG9ja19hcmcgdmFyX3JlZiB2YXJfbGhzCiAldHlwZSA8bm9kZT4gbXJocyBzdXBlcmNsYXNzIGJs b2NrX2NhbGwgYmxvY2tfY29tbWFuZAorJXR5cGUgPG5vZGU+IGZfYmxvY2tfb3B0YXJnIGZfYmxv Y2tfb3B0CiAldHlwZSA8bm9kZT4gZl9hcmdsaXN0IGZfYXJncyBmX2FyZyBmX2FyZ19pdGVtIGZf b3B0YXJnIGZfbWFyZyBmX21hcmdfbGlzdCBmX21hcmdzCiAldHlwZSA8bm9kZT4gYXNzb2NfbGlz dCBhc3NvY3MgYXNzb2MgdW5kZWZfbGlzdCBiYWNrcmVmIHN0cmluZ19kdmFyIGZvcl92YXIKICV0 eXBlIDxub2RlPiBibG9ja19wYXJhbSBvcHRfYmxvY2tfcGFyYW0gYmxvY2tfcGFyYW1fZGVmIGZf b3B0CkBAIC0zMTY5LDkgKzMxNzAsNDEgQEAKIAkJICAgIH0KIAkJOwogCi1ibG9ja19wYXJhbQk6 IGZfYXJnICcsJyBmX3Jlc3RfYXJnIG9wdF9mX2Jsb2NrX2FyZworYmxvY2tfcGFyYW0JOiBmX2Fy ZyAnLCcgZl9ibG9ja19vcHRhcmcgJywnIGZfcmVzdF9hcmcgb3B0X2ZfYmxvY2tfYXJnCiAJCSAg ICB7CiAJCSAgICAvKiUlJSovCisJCQkkJCA9IG5ld19hcmdzKCQxLCAkMywgJDUsIDAsICQ2KTsK KwkJICAgIC8qJQorCQkJJCQgPSBwYXJhbXNfbmV3KCQxLCAkMywgJDUsIFFuaWwsIGVzY2FwZV9R dW5kZWYoJDYpKTsKKwkJICAgICUqLworCQkgICAgfQorCQl8IGZfYXJnICcsJyBmX2Jsb2NrX29w dGFyZyAnLCcgZl9yZXN0X2FyZyAnLCcgZl9hcmcgb3B0X2ZfYmxvY2tfYXJnCisJCSAgICB7CisJ CSAgICAvKiUlJSovCisJCQkkJCA9IG5ld19hcmdzKCQxLCAkMywgJDUsICQ3LCAkOCk7CisJCSAg ICAvKiUKKwkJCSQkID0gcGFyYW1zX25ldygkMSwgJDMsICQ1LCAkNywgZXNjYXBlX1F1bmRlZigk OCkpOworCQkgICAgJSovCisJCSAgICB9CisJCXwgZl9hcmcgJywnIGZfYmxvY2tfb3B0YXJnIG9w dF9mX2Jsb2NrX2FyZworCQkgICAgeworCQkgICAgLyolJSUqLworCQkJJCQgPSBuZXdfYXJncygk MSwgJDMsIDAsIDAsICQ0KTsKKwkJICAgIC8qJQorCQkJJCQgPSBwYXJhbXNfbmV3KCQxLCAkMywg UW5pbCwgUW5pbCwgZXNjYXBlX1F1bmRlZigkNCkpOworCQkgICAgJSovCisJCSAgICB9CisJCXwg Zl9hcmcgJywnIGZfYmxvY2tfb3B0YXJnICcsJyBmX2FyZyBvcHRfZl9ibG9ja19hcmcKKwkJICAg IHsKKwkJICAgIC8qJSUlKi8KKwkJCSQkID0gbmV3X2FyZ3MoJDEsICQzLCAwLCAkNSwgJDYpOwor CQkgICAgLyolCisJCQkkJCA9IHBhcmFtc19uZXcoJDEsICQzLCBRbmlsLCAkNSwgZXNjYXBlX1F1 bmRlZigkNikpOworCQkgICAgJSovCisJCSAgICB9CisgICAgICAgICAgICAgICAgfCBmX2FyZyAn LCcgZl9yZXN0X2FyZyBvcHRfZl9ibG9ja19hcmcKKwkJICAgIHsKKwkJICAgIC8qJSUlKi8KIAkJ CSQkID0gbmV3X2FyZ3MoJDEsIDAsICQzLCAwLCAkNCk7CiAJCSAgICAvKiUKIAkJCSQkID0gcGFy YW1zX25ldygkMSwgUW5pbCwgJDMsIFFuaWwsIGVzY2FwZV9RdW5kZWYoJDQpKTsKQEAgLTMyMDIs NiArMzIzNSwzOCBAQAogCQkJJCQgPSBwYXJhbXNfbmV3KCQxLCBRbmlsLFFuaWwsIFFuaWwsIGVz Y2FwZV9RdW5kZWYoJDIpKTsKIAkJICAgICUqLwogCQkgICAgfQorCQl8IGZfYmxvY2tfb3B0YXJn ICcsJyBmX3Jlc3RfYXJnIG9wdF9mX2Jsb2NrX2FyZworCQkgICAgeworCQkgICAgLyolJSUqLwor CQkJJCQgPSBuZXdfYXJncygwLCAkMSwgJDMsIDAsICQ0KTsKKwkJICAgIC8qJQorCQkJJCQgPSBw YXJhbXNfbmV3KFFuaWwsICQxLCAkMywgUW5pbCwgZXNjYXBlX1F1bmRlZigkNCkpOworCQkgICAg JSovCisJCSAgICB9CisJCXwgZl9ibG9ja19vcHRhcmcgJywnIGZfcmVzdF9hcmcgJywnIGZfYXJn IG9wdF9mX2Jsb2NrX2FyZworCQkgICAgeworCQkgICAgLyolJSUqLworCQkJJCQgPSBuZXdfYXJn cygwLCAkMSwgJDMsICQ1LCAkNik7CisJCSAgICAvKiUKKwkJCSQkID0gcGFyYW1zX25ldyhRbmls LCAkMSwgJDMsICQ1LCBlc2NhcGVfUXVuZGVmKCQ2KSk7CisJCSAgICAlKi8KKwkJICAgIH0KKwkJ fCBmX2Jsb2NrX29wdGFyZyBvcHRfZl9ibG9ja19hcmcKKwkJICAgIHsKKwkJICAgIC8qJSUlKi8K KwkJCSQkID0gbmV3X2FyZ3MoMCwgJDEsIDAsIDAsICQyKTsKKwkJICAgIC8qJQorCQkJJCQgPSBw YXJhbXNfbmV3KFFuaWwsICQxLCBRbmlsLCBRbmlsLGVzY2FwZV9RdW5kZWYoJDIpKTsKKwkJICAg ICUqLworCQkgICAgfQorCQl8IGZfYmxvY2tfb3B0YXJnICcsJyBmX2FyZyBvcHRfZl9ibG9ja19h cmcKKwkJICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJCSQkID0gbmV3X2FyZ3MoMCwgJDEsIDAsICQz LCAkNCk7CisJCSAgICAvKiUKKwkJCSQkID0gcGFyYW1zX25ldyhRbmlsLCAkMSwgUW5pbCwgJDMs IGVzY2FwZV9RdW5kZWYoJDQpKTsKKwkJICAgICUqLworCQkgICAgfQogCQl8IGZfcmVzdF9hcmcg b3B0X2ZfYmxvY2tfYXJnCiAJCSAgICB7CiAJCSAgICAvKiUlJSovCkBAIC00MzAyLDYgKzQzNjcs NDQgQEAKIAkJICAgIH0KIAkJOwogCitmX2Jsb2NrX29wdAk6IHRJREVOVElGSUVSICc9JyBwcmlt YXJ5X3ZhbHVlCisJCSAgICB7CisJCSAgICAvKiUlJSovCisJCQlpZiAoIWlzX2xvY2FsX2lkKCQx KSkKKwkJCSAgICB5eWVycm9yKCJmb3JtYWwgYXJndW1lbnQgbXVzdCBiZSBsb2NhbCB2YXJpYWJs ZSIpOworCQkJc2hhZG93aW5nX2x2YXIoJDEpOworCQkJYXJnX3ZhcigkMSk7CisJCQkkJCA9IE5F V19PUFRfQVJHKDAsIGFzc2lnbmFibGUoJDEsICQzKSk7CisJCSAgICAvKiUKKwkJCSQkID0gcmJf YXNzb2NfbmV3KCQxLCAkMyk7CisJCSAgICAlKi8KKwkJICAgIH0KKwkJOworCitmX2Jsb2NrX29w dGFyZwk6IGZfYmxvY2tfb3B0CisJCSAgICB7CisJCSAgICAvKiUlJSovCisJCQkkJCA9ICQxOwor CQkgICAgLyolCisJCQkkJCA9IHJiX2FyeV9uZXczKDEsICQxKTsKKwkJICAgICUqLworCQkgICAg fQorCQl8IGZfYmxvY2tfb3B0YXJnICcsJyBmX2Jsb2NrX29wdAorCQkgICAgeworCQkgICAgLyol JSUqLworCQkJTk9ERSAqb3B0cyA9ICQxOworCisJCQl3aGlsZSAob3B0cy0+bmRfbmV4dCkgewor CQkJICAgIG9wdHMgPSBvcHRzLT5uZF9uZXh0OworCQkJfQorCQkJb3B0cy0+bmRfbmV4dCA9ICQz OworCQkJJCQgPSAkMTsKKwkJICAgIC8qJQorCQkJJCQgPSByYl9hcnlfcHVzaCgkMSwgJDMpOwor CQkgICAgJSovCisJCSAgICB9CisJCTsKKwogZl9vcHRhcmcJOiBmX29wdAogCQkgICAgewogCQkg ICAgLyolJSUqLwo------ art_4127_17562134.1211663195286--