From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp-3.sys.kth.se (smtp-3.sys.kth.se [130.237.48.192]); by fantadrom.bsd.lv (OpenSMTPD) with ESMTP id 9ce5dc55; for ; Sun, 8 Mar 2015 11:12:46 -0500 (EST) Received: from smtp-3.sys.kth.se (localhost.localdomain [127.0.0.1]) by smtp-3.sys.kth.se (Postfix) with ESMTP id F01342009 for ; Sun, 8 Mar 2015 17:12:44 +0100 (CET) X-Virus-Scanned: by amavisd-new at kth.se Received: from smtp-3.sys.kth.se ([127.0.0.1]) by smtp-3.sys.kth.se (smtp-3.sys.kth.se [127.0.0.1]) (amavisd-new, port 10024) with LMTP id DCw5JyO18nsa for ; Sun, 8 Mar 2015 17:12:43 +0100 (CET) X-KTH-Auth: kristaps [92.136.205.40] X-KTH-mail-from: kristaps@bsd.lv X-KTH-rcpt-to: discuss@mdocml.bsd.lv Received: from pc3.home (AToulouse-651-1-38-40.w92-136.abo.wanadoo.fr [92.136.205.40]) by smtp-3.sys.kth.se (Postfix) with ESMTPSA id B8BDA1FB2 for ; Sun, 8 Mar 2015 17:12:33 +0100 (CET) Message-ID: <54FC74F4.9090200@bsd.lv> Date: Sun, 08 Mar 2015 17:12:36 +0100 From: Kristaps Dzonsons User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 X-Mailinglist: mdocml-discuss Reply-To: discuss@mdocml.bsd.lv MIME-Version: 1.0 To: discuss@mdocml.bsd.lv Subject: Linking in mdoc(7) Content-Type: multipart/mixed; boundary="------------050701010003070805090705" This is a multi-part message in MIME format. --------------050701010003070805090705 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Hi folks, Summary: mdoc(7) has linking, but it's very restrictive. You can link to `Sh' and `Ss' macros by using the `Sx' macro. I propose adding another macro, `Ix', that creates an invisible anchor that `Sx' can jump to. Thus, `Sh' and `Ss' work as they always did and `Sx' works as it always did, but we can also jump to arbitrary locations from `Sx' as defined with `Ix', which is otherwise silent. Obviously, this is only useful in -Thtml. On the console, nothing happens at all. I also propose an `Lkx', which is like `Lk' but for inter-page links. This is when the argument to `Sx' should be different from the index name. I've put together a patch that does this. Enclosed. Obviously, this only works in -Thtml mode; otherwise, it's ignored. The story is that texi2mdoc(1) is coming along nicely but I hate hate hate throwing away all the linkage. docbook2mdoc(1) has the same issue. Both of these formats encourage lots of linking. Texinfo, for example, allows you to create index entries along the way, then generate indices later that jump back to these areas. It's handy if you've ever used larger manuals. Moreover, there's also lots of menu generation that jumps forward to chapters (sections), sections (subsections), and so forth. I can do the first two, but I lose anything under a section. Sad face. I started implementing indices in mdoc(7) by remembering the section in which the index was invoked and jumping to it, but most larger manuals have not just sections and subsections, but subsubsections, etc. Moreover, the menus are all but useless, as they all point to the same thing. By having just one extra macro, `Ix', we can get all of that indexing goodness. By having `Lkx' as well, we can fully generalise jumping to those indices. While here, I also updated the ID-generation function to be clearer. Now instead of linking to "foo.htm#x1234124312341" or whatever, it's a much clearer "foo.html#index-NAME" or whatnot. Basically, "index-" followed by the link identifier, with spaces made to underscores and otherwise non-alnums replaced by a two-digit hex code. Thoughts? Best, Kristaps -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQIcBAEBCgAGBQJU/HT0AAoJEMT2SUY9XBESgU4QAL038BszrWMlN1HWTi4DX3gC IdxXWCLZUR9LZfcCsFC6er3xzJojB3nJhaZydPjdTlX8QZLzlbdG3Xx2B8fgklwl 1Yw0zGef+a2GQ46oZm3+Sva7ZYIOIiBYhQBjcLlhp5leokCQKRIXCGqnoFgq6Agf Q0o8qMEL7R6YF/ACytQP9XNVlxfd5XighbMfjs4BbbEKtJY8Hos192i7mojCtDXT 6r0BhigARbfgktHiVfSfjLlMHsAjmc6Vf0LIk55pk1zRHKeXUzunRSoAuwKUxLnl b6QMDMpb67VsKCCUhXahBWeHrZuRUfNSkXGo020fKVnzIKCaRzZkONUdjAIP5iDj ImISWoLjX9EqCj2UOOEaO51iRIhP7fqWwEM7yBK9KHb0LhOGly3WdLBQjSN9l8ia 8bW5jr7MvFp5gryx2NV/QOajDXKB9I0G/vHwyZdZkaJEagB8yc9Z8JxbOFxo8LVP FYiSmb2krVok4106QXhQZT0rCOM9a99OyNc2w7lNo5gzzIk0J+3li314pCtboe+M znpWM8TX560yqc5rBr8dyfLfzVJKbDlFCAI1ICGCC2T3tGIzE/02S8qYpQyofdOx HrcxTDD05cMK3zlnWjjyyOPl/aYk6kdOmgDwvHwL99e6OGssWdPwOHTgeMS5XKFN P5swW6zPpVinfRYOj71c =VCLw -----END PGP SIGNATURE----- --------------050701010003070805090705 Content-Type: text/plain; charset=UTF-8; x-mac-type="0"; x-mac-creator="0"; name="linking.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="linking.patch" PyAuRFNfU3RvcmUKPyBNYWtlZmlsZS5sb2NhbAo/IGNnaS5oCj8gY29uZmlnLmgKPyBjb25m aWcubG9nCj8gY29uZmlndXJlLmxvY2FsCj8gZGVtYW5kb2MKPyBmb28uNwo/IGZvby43Lmh0 bWwKPyBsaW5raW5nLnBhdGNoCj8gbWFjaGluZS5kaWZmCj8gbWFuZG9jCj8gbWFuZG9jLmRT WU0KPyB0YmwucGF0Y2gKPyB0YmwyLnBhdGNoCkluZGV4OiBodG1sLmMKPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQpSQ1MgZmlsZTogL2hvbWUvY3ZzL21kb2NtbC9tZG9jbWwvaHRtbC5jLHYKcmV0cmlldmlu ZyByZXZpc2lvbiAxLjE4NQpkaWZmIC11IC1wIC1yMS4xODUgaHRtbC5jCi0tLSBodG1sLmMJ MjEgSmFuIDIwMTUgMjA6MzM6MjUgLTAwMDAJMS4xODUKKysrIGh0bWwuYwk4IE1hciAyMDE1 IDE2OjEwOjIxIC0wMDAwCkBAIC03NTIsNyArNzUyLDEyIEBAIGJ1ZmNhdF9pZChzdHJ1Y3Qg aHRtbCAqaCwgY29uc3QgY2hhciAqc3IKIHsKIAogCS8qIENmLiA8aHR0cDovL3d3dy53My5v cmcvVFIvaHRtbDQvdHlwZXMuaHRtbCNoLTYuMj4uICovCi0KLQl3aGlsZSAoJ1wwJyAhPSAq c3JjKQotCQlidWZjYXRfZm10KGgsICIlLjJ4IiwgKnNyYysrKTsKKwlmb3IgKCA7ICdcMCcg IT0gKnNyYzsgc3JjKyspIHsKKwkJaWYgKGlzYWxudW0oKHVuc2lnbmVkIGludCkqc3JjKSkK KwkJCWJ1Zm5jYXQoaCwgc3JjLCAxKTsKKwkJZWxzZSBpZiAoJyAnID09ICpzcmMpCisJCQli dWZuY2F0KGgsICJfIiwgMSk7CisJCWVsc2UKKwkJCWJ1ZmNhdF9mbXQoaCwgIiUuMngiLCAq c3JjKTsKKwl9CiB9CkluZGV4OiBtZG9jLjcKPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2hv bWUvY3ZzL21kb2NtbC9tZG9jbWwvbWRvYy43LHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjI1 MgpkaWZmIC11IC1wIC1yMS4yNTIgbWRvYy43Ci0tLSBtZG9jLjcJMjMgRmViIDIwMTUgMTM6 MzE6MDQgLTAwMDAJMS4yNTIKKysrIG1kb2MuNwk4IE1hciAyMDE1IDE2OjEwOjIyIC0wMDAw CkBAIC00NDAsNiArNDQwLDggQEAgaW4gdGhlIGFscGhhYmV0aWNhbAogLkVsCiAuU3MgU2Vj dGlvbnMgYW5kIGNyb3NzIHJlZmVyZW5jZXMKIC5CbCAtY29sdW1uICJCcnEsIEJybywgQnJj IiBkZXNjcmlwdGlvbgorLkl0IFN4IFwmSXggVGEgaW5kZXggYW5jaG9yIChvbmUgbGluZSkK Ky5JdCBTeCBcJkxreCBUYSBpbnRlcm5hbCBjcm9zcyByZWZlcmVuY2UgdG8gYW4gaW5kZXgK IC5JdCBTeCBcJlNoIFRhIHNlY3Rpb24gaGVhZGVyIChvbmUgbGluZSkKIC5JdCBTeCBcJlNz IFRhIHN1YnNlY3Rpb24gaGVhZGVyIChvbmUgbGluZSkKIC5JdCBTeCBcJlN4IFRhIGludGVy bmFsIGNyb3NzIHJlZmVyZW5jZSB0byBhIHNlY3Rpb24gb3Igc3Vic2VjdGlvbgpAQCAtNTEw LDYgKzUxMiw3IEBAIGluIHRoZSBhbHBoYWJldGljYWwKIC5CbCAtY29sdW1uICJCcnEsIEJy bywgQnJjIiBkZXNjcmlwdGlvbgogLkl0IFN4IFwmQW4gVGEgYXV0aG9yIG5hbWUgKD4wIGFy Z3VtZW50cykKIC5JdCBTeCBcJkxrIFRhIGh5cGVybGluazogQXIgdXJpIE9wIEFyIG5hbWUK Ky5JdCBTeCBcJkxreCBUYSBpbmRleDogQXIgaW5kZXggT3AgQXIgbmFtZQogLkl0IFN4IFwm TXQgVGEgRG8gbWFpbHRvIERjIGh5cGVybGluazogQXIgYWRkcmVzcwogLkl0IFN4IFwmQ2Qg VGEga2VybmVsIGNvbmZpZ3VyYXRpb24gZGVjbGFyYXRpb24gKD4wIGFyZ3VtZW50cykKIC5J dCBTeCBcJkFkIFRhIG1lbW9yeSBhZGRyZXNzICg+MCBhcmd1bWVudHMpCkBAIC0xODU0LDYg KzE4NTcsMTggQEAgd2lsbCBwcmVzZXJ2ZSB0aGUgc2VtaWNvbG9uIHdoaXRlc3BhY2UgZQog LlBwCiBTZWUgYWxzbwogLlN4IFwmQmwgLgorLlNzIFwmSXgKK1NwZWNpZnkgYW4gaW5kZXgg cG9pbnQgd2l0aCBhbiBhcmJpdHJhcnkgbmFtZS4KK1RoZSBhcmd1bWVudCBpcyBub3QgcHJp bnRlZC4KK0l0cyBzeW50YXggaXMgYXMgZm9sbG93czoKKy5QcAorLkRsIFBmIFwuIEl4IEFy IGluZGV4CisuUHAKK0FuIGluZGV4IGlzIGFuIGFuY2hvciB3aXRoaW4gYSBkb2N1bWVudC4K K0l0IGNhbiBiZSBhY2Nlc3NlZCB3aXRoCisuU3ggXCZMa3gKK2FuZAorLlN4IFwmU3ggLgog LlNzIFwmTGIKIFNwZWNpZnkgYSBsaWJyYXJ5LgogVGhlIHN5bnRheCBpcyBhcyBmb2xsb3dz OgpAQCAtMTkwNSw2ICsxOTIwLDI1IEBAIEV4YW1wbGVzOgogLlBwCiBTZWUgYWxzbwogLlN4 IFwmTXQgLgorLlNzIFwmTGt4CitGb3JtYXRzIGFuIGluZGV4IGxpbmsuCitJZiBpbnZva2Vk IHdpdGhvdXQgYXJndW1lbnRzLCBpcyB0aGUgc2FtZSBhcworLlN4IFwmU3ggLgorSXRzIHN5 bnRheCBpcyBhcyBmb2xsb3dzOgorLlBwCisuRGwgUGYgXC4gU3ggXCZMa3ggQXIgaW5kZXgg T3AgQXIgbmFtZQorLlBwCitFeGFtcGxlczoKKy5CZCAtbGl0ZXJhbCAtb2Zmc2V0IGluZGVu dAorXCYuSXggZm9vYmFyCitTb21lIHRleHQgaGVyZS4KK1wmLkxreCBmb29iYXIgXChkcUdv IHRvIHRoZSBhYm92ZSBsaW5rXChkcQorLkVkCisuUHAKK1NlZSBhbHNvCisuU3ggXCZJeAor YW5kCisuU3ggXCZTeCAuCiAuU3MgXCZMcAogU3lub255bSBmb3IKIC5TeCBcJlBwIC4KSW5k ZXg6IG1kb2MuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvaG9tZS9jdnMvbWRvY21sL21k b2NtbC9tZG9jLmMsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMjM4CmRpZmYgLXUgLXAgLXIx LjIzOCBtZG9jLmMKLS0tIG1kb2MuYwkxMiBGZWIgMjAxNSAxMzowMDo1MiAtMDAwMAkxLjIz OAorKysgbWRvYy5jCTggTWFyIDIwMTUgMTY6MTA6MjIgLTAwMDAKQEAgLTYxLDEwICs2MSwx MiBAQCBjb25zdAljaGFyICpjb25zdCBfX21kb2NfbWFjcm9uYW1lc1tNRE9DCiAJIkZvIiwJ CSJGYyIsCQkiT28iLAkJIk9jIiwKIAkiQmsiLAkJIkVrIiwJCSJCdCIsCQkiSGYiLAogCSJG ciIsCQkiVWQiLAkJIkxiIiwJCSJMcCIsCi0JIkxrIiwJCSJNdCIsCQkiQnJxIiwJCSJCcm8i LAorCSJMayIsCQkiTGt4IiwJCQorCSJNdCIsCQkiQnJxIiwJCSJCcm8iLAogCSJCcmMiLAkJ IiVDIiwJCSJFcyIsCQkiRW4iLAogCSJEeCIsCQkiJVEiLAkJImJyIiwJCSJzcCIsCi0JIiVV IiwJCSJUYSIsCQkibGwiLAkJInRleHQiLAorCSIlVSIsCQkiVGEiLAkJImxsIiwJCSJJeCIs CisJInRleHQiLAogCX07CiAKIGNvbnN0CWNoYXIgKmNvbnN0IF9fbWRvY19hcmduYW1lc1tN RE9DX0FSR19NQVhdID0gewpJbmRleDogbWRvYy5oCj09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6 IC9ob21lL2N2cy9tZG9jbWwvbWRvY21sL21kb2MuaCx2CnJldHJpZXZpbmcgcmV2aXNpb24g MS4xMzYKZGlmZiAtdSAtcCAtcjEuMTM2IG1kb2MuaAotLS0gbWRvYy5oCTEyIEZlYiAyMDE1 IDEyOjI0OjMzIC0wMDAwCTEuMTM2CisrKyBtZG9jLmgJOCBNYXIgMjAxNSAxNjoxMDoyMiAt MDAwMApAQCAtMTI2LDYgKzEyNiw3IEBAIGVudW0JbWRvY3QgewogCU1ET0NfTGIsCiAJTURP Q19McCwKIAlNRE9DX0xrLAorCU1ET0NfTGt4LAogCU1ET0NfTXQsCiAJTURPQ19CcnEsCiAJ TURPQ19Ccm8sCkBAIC0xNDAsNiArMTQxLDcgQEAgZW51bQltZG9jdCB7CiAJTURPQ19fVSwK IAlNRE9DX1RhLAogCU1ET0NfbGwsCisJTURPQ19JeCwKIAlNRE9DX01BWAogfTsKIApJbmRl eDogbWRvY19odG1sLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2hvbWUvY3ZzL21kb2Nt bC9tZG9jbWwvbWRvY19odG1sLmMsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMjI2CmRpZmYg LXUgLXAgLXIxLjIyNiBtZG9jX2h0bWwuYwotLS0gbWRvY19odG1sLmMJMyBNYXIgMjAxNSAy MToxMTozNCAtMDAwMAkxLjIyNgorKysgbWRvY19odG1sLmMJOCBNYXIgMjAxNSAxNjoxMDoy MiAtMDAwMApAQCAtOTIsNiArOTIsNyBAQCBzdGF0aWMJaW50CQkgIG1kb2NfaWNfcHJlKE1E T0NfQVJHUyk7CiBzdGF0aWMJaW50CQkgIG1kb2NfaWduZGVsaW1fcHJlKE1ET0NfQVJHUyk7 CiBzdGF0aWMJaW50CQkgIG1kb2NfaW5fcHJlKE1ET0NfQVJHUyk7CiBzdGF0aWMJaW50CQkg IG1kb2NfaXRfcHJlKE1ET0NfQVJHUyk7CitzdGF0aWMJaW50CQkgIG1kb2NfaXhfcHJlKE1E T0NfQVJHUyk7CiBzdGF0aWMJaW50CQkgIG1kb2NfbGJfcHJlKE1ET0NfQVJHUyk7CiBzdGF0 aWMJaW50CQkgIG1kb2NfbGlfcHJlKE1ET0NfQVJHUyk7CiBzdGF0aWMJaW50CQkgIG1kb2Nf bGtfcHJlKE1ET0NfQVJHUyk7CkBAIC0yMzEsNiArMjMyLDcgQEAgc3RhdGljCWNvbnN0IHN0 cnVjdCBodG1sbWRvYyBtZG9jc1tNRE9DXwogCXttZG9jX2xiX3ByZSwgTlVMTH0sIC8qIExi ICovCiAJe21kb2NfcHBfcHJlLCBOVUxMfSwgLyogTHAgKi8KIAl7bWRvY19sa19wcmUsIE5V TEx9LCAvKiBMayAqLworCXttZG9jX2xrX3ByZSwgTlVMTH0sIC8qIExreCAqLwogCXttZG9j X210X3ByZSwgTlVMTH0sIC8qIE10ICovCiAJe21kb2NfcXVvdGVfcHJlLCBtZG9jX3F1b3Rl X3Bvc3R9LCAvKiBCcnEgKi8KIAl7bWRvY19xdW90ZV9wcmUsIG1kb2NfcXVvdGVfcG9zdH0s IC8qIEJybyAqLwpAQCAtMjQ1LDYgKzI0Nyw3IEBAIHN0YXRpYwljb25zdCBzdHJ1Y3QgaHRt bG1kb2MgbWRvY3NbTURPQ18KIAl7bWRvY19feF9wcmUsIG1kb2NfX3hfcG9zdH0sIC8qICVV ICovCiAJe05VTEwsIE5VTEx9LCAvKiBUYSAqLwogCXttZG9jX3NraXBfcHJlLCBOVUxMfSwg LyogbGwgKi8KKwl7bWRvY19peF9wcmUsIE5VTEx9LCAvKiBJeCAqLwogfTsKIAogc3RhdGlj CWNvbnN0IGNoYXIgKiBjb25zdCBsaXN0c1tMSVNUX01BWF0gPSB7CkBAIC01MzgsNiArNTQx LDI1IEBAIG1kb2Nfcm9vdF9wcmUoTURPQ19BUkdTKQogfQogCiBzdGF0aWMgaW50CittZG9j X2l4X3ByZShNRE9DX0FSR1MpCit7CisJc3RydWN0IGh0bWxwYWlyCSB0YWc7CisKKwlidWZp bml0KGgpOworCWJ1ZmNhdChoLCAiaW5kZXgtIik7CisKKwlmb3IgKG4gPSBuLT5jaGlsZDsg biAmJiBNRE9DX1RFWFQgPT0gbi0+dHlwZTsgKSB7CisJCWJ1ZmNhdF9pZChoLCBuLT5zdHJp bmcpOworCQlpZiAoTlVMTCAhPSAobiA9IG4tPm5leHQpKQorCQkJYnVmY2F0X2lkKGgsICIg Iik7CisJfQorCisJUEFJUl9JRF9JTklUKCZ0YWcsIGgtPmJ1Zik7CisJcHJpbnRfb3RhZyho LCBUQUdfQSwgMSwgJnRhZyk7CisJcmV0dXJuKDApOworfQorCitzdGF0aWMgaW50CiBtZG9j X3NoX3ByZShNRE9DX0FSR1MpCiB7CiAJc3RydWN0IGh0bWxwYWlyCSB0YWc7CkBAIC01NTYs NyArNTc4LDcgQEAgbWRvY19zaF9wcmUoTURPQ19BUkdTKQogCX0KIAogCWJ1ZmluaXQoaCk7 Ci0JYnVmY2F0KGgsICJ4Iik7CisJYnVmY2F0KGgsICJpbmRleC0iKTsKIAogCWZvciAobiA9 IG4tPmNoaWxkOyBuICYmIE1ET0NfVEVYVCA9PSBuLT50eXBlOyApIHsKIAkJYnVmY2F0X2lk KGgsIG4tPnN0cmluZyk7CkBAIC01ODYsNyArNjA4LDcgQEAgbWRvY19zc19wcmUoTURPQ19B UkdTKQogCQlyZXR1cm4oMSk7CiAKIAlidWZpbml0KGgpOwotCWJ1ZmNhdChoLCAieCIpOwor CWJ1ZmNhdChoLCAiaW5kZXgtIik7CiAKIAlmb3IgKG4gPSBuLT5jaGlsZDsgbiAmJiBNRE9D X1RFWFQgPT0gbi0+dHlwZTsgKSB7CiAJCWJ1ZmNhdF9pZChoLCBuLT5zdHJpbmcpOwpAQCAt MTEwNCw3ICsxMTI2LDcgQEAgbWRvY19zeF9wcmUoTURPQ19BUkdTKQogCXN0cnVjdCBodG1s cGFpcgkgdGFnWzJdOwogCiAJYnVmaW5pdChoKTsKLQlidWZjYXQoaCwgIiN4Iik7CisJYnVm Y2F0KGgsICIjaW5kZXgtIik7CiAKIAlmb3IgKG4gPSBuLT5jaGlsZDsgbjsgKSB7CiAJCWJ1 ZmNhdF9pZChoLCBuLT5zdHJpbmcpOwpAQCAtMTU5MiwxNCArMTYxNCwyMyBAQCBzdGF0aWMg aW50CiBtZG9jX2xrX3ByZShNRE9DX0FSR1MpCiB7CiAJc3RydWN0IGh0bWxwYWlyCSB0YWdb Ml07CisJZW51bSBtZG9jdAkgdHlwZSA9IG4tPnRvazsKIAogCWlmIChOVUxMID09IChuID0g bi0+Y2hpbGQpKQogCQlyZXR1cm4oMCk7CiAKIAlhc3NlcnQoTURPQ19URVhUID09IG4tPnR5 cGUpOwogCi0JUEFJUl9DTEFTU19JTklUKCZ0YWdbMF0sICJsaW5rLWV4dCIpOwotCVBBSVJf SFJFRl9JTklUKCZ0YWdbMV0sIG4tPnN0cmluZyk7CisJaWYgKE1ET0NfTGt4ID09IHR5cGUp IHsKKwkJUEFJUl9DTEFTU19JTklUKCZ0YWdbMF0sICJsaW5rLWludCIpOworCQlidWZpbml0 KGgpOworCQlidWZjYXQoaCwgIiNpbmRleC0iKTsKKwkJYnVmY2F0X2lkKGgsIG4tPnN0cmlu Zyk7CisJCVBBSVJfSFJFRl9JTklUKCZ0YWdbMV0sIGgtPmJ1Zik7CisJfSBlbHNlICB7CisJ CVBBSVJfQ0xBU1NfSU5JVCgmdGFnWzBdLCAibGluay1leHQiKTsKKwkJUEFJUl9IUkVGX0lO SVQoJnRhZ1sxXSwgbi0+c3RyaW5nKTsKKwl9CiAKIAlwcmludF9vdGFnKGgsIFRBR19BLCAy LCB0YWcpOwogCkluZGV4OiBtZG9jX21hY3JvLmMKPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTog L2hvbWUvY3ZzL21kb2NtbC9tZG9jbWwvbWRvY19tYWNyby5jLHYKcmV0cmlldmluZyByZXZp c2lvbiAxLjE4MwpkaWZmIC11IC1wIC1yMS4xODMgbWRvY19tYWNyby5jCi0tLSBtZG9jX21h Y3JvLmMJMTIgRmViIDIwMTUgMTI6MjQ6MzMgLTAwMDAJMS4xODMKKysrIG1kb2NfbWFjcm8u Ywk4IE1hciAyMDE1IDE2OjEwOjIzIC0wMDAwCkBAIC0xODAsNiArMTgwLDcgQEAgY29uc3QJ c3RydWN0IG1kb2NfbWFjcm8gX19tZG9jX21hY3Jvc1tNRAogCXsgaW5fbGluZSwgMCB9LCAv KiBMYiAqLwogCXsgaW5fbGluZV9lb2xuLCAwIH0sIC8qIExwICovCiAJeyBpbl9saW5lLCBN RE9DX0NBTExBQkxFIHwgTURPQ19QQVJTRUQgfSwgLyogTGsgKi8KKwl7IGluX2xpbmUsIE1E T0NfQ0FMTEFCTEUgfCBNRE9DX1BBUlNFRCB9LCAvKiBMa3ggKi8KIAl7IGluX2xpbmUsIE1E T0NfQ0FMTEFCTEUgfCBNRE9DX1BBUlNFRCB9LCAvKiBNdCAqLwogCXsgYmxrX3BhcnRfaW1w LCBNRE9DX0NBTExBQkxFIHwgTURPQ19QQVJTRUQgfCBNRE9DX0pPSU4gfSwgLyogQnJxICov CiAJeyBibGtfcGFydF9leHAsIE1ET0NfQ0FMTEFCTEUgfCBNRE9DX1BBUlNFRCB8CkBAIC0x OTYsNiArMTk3LDcgQEAgY29uc3QJc3RydWN0IG1kb2NfbWFjcm8gX19tZG9jX21hY3Jvc1tN RAogCXsgaW5fbGluZV9lb2xuLCAwIH0sIC8qICVVICovCiAJeyBwaHJhc2VfdGEsIE1ET0Nf Q0FMTEFCTEUgfCBNRE9DX1BBUlNFRCB8IE1ET0NfSk9JTiB9LCAvKiBUYSAqLwogCXsgaW5f bGluZV9lb2xuLCBNRE9DX1BST0xPR1VFIH0sIC8qIGxsICovCisJeyBpbl9saW5lX2VvbG4s IE1ET0NfSk9JTiB9LCAvKiBJeCAqLwogfTsKIAogY29uc3QJc3RydWN0IG1kb2NfbWFjcm8g KiBjb25zdCBtZG9jX21hY3JvcyA9IF9fbWRvY19tYWNyb3M7CkluZGV4OiBtZG9jX3Rlcm0u Ywo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvaG9tZS9jdnMvbWRvY21sL21kb2NtbC9tZG9j X3Rlcm0uYyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4zMTMKZGlmZiAtdSAtcCAtcjEuMzEz IG1kb2NfdGVybS5jCi0tLSBtZG9jX3Rlcm0uYwk2IE1hciAyMDE1IDE1OjQ4OjUyIC0wMDAw CTEuMzEzCisrKyBtZG9jX3Rlcm0uYwk4IE1hciAyMDE1IDE2OjEwOjIzIC0wMDAwCkBAIC0y MzIsNiArMjMyLDcgQEAgc3RhdGljCWNvbnN0IHN0cnVjdCB0ZXJtYWN0IHRlcm1hY3RzW01E TwogCXsgTlVMTCwgdGVybXBfbGJfcG9zdCB9LCAvKiBMYiAqLwogCXsgdGVybXBfc3BfcHJl LCBOVUxMIH0sIC8qIExwICovCiAJeyB0ZXJtcF9sa19wcmUsIE5VTEwgfSwgLyogTGsgKi8K Kwl7IHRlcm1wX2xrX3ByZSwgTlVMTCB9LCAvKiBMa3ggKi8KIAl7IHRlcm1wX3VuZGVyX3By ZSwgTlVMTCB9LCAvKiBNdCAqLwogCXsgdGVybXBfcXVvdGVfcHJlLCB0ZXJtcF9xdW90ZV9w b3N0IH0sIC8qIEJycSAqLwogCXsgdGVybXBfcXVvdGVfcHJlLCB0ZXJtcF9xdW90ZV9wb3N0 IH0sIC8qIEJybyAqLwpAQCAtMjQ2LDYgKzI0Nyw3IEBAIHN0YXRpYwljb25zdCBzdHJ1Y3Qg dGVybWFjdCB0ZXJtYWN0c1tNRE8KIAl7IE5VTEwsIHRlcm1wX19fX3Bvc3QgfSwgLyogJVUg Ki8KIAl7IE5VTEwsIE5VTEwgfSwgLyogVGEgKi8KIAl7IHRlcm1wX2xsX3ByZSwgTlVMTCB9 LCAvKiBsbCAqLworCXsgdGVybXBfc2tpcF9wcmUsIE5VTEwgfSwgLyogSXggKi8KIH07CiAK IAo= --------------050701010003070805090705-- -- To unsubscribe send an email to discuss+unsubscribe@mdocml.bsd.lv