From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Paul Pogonyshev Newsgroups: gmane.emacs.devel Subject: Re: Arbitrary function: find the number(s) of expected arguments Date: Fri, 25 Mar 2016 17:16:42 +0100 Message-ID: References: <56E8906C.5050405@lanl.gov> <83y49e731p.fsf@gnu.org> <83pouj0wx8.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=001a113e1bd475c9e1052ee1e331 X-Trace: ger.gmane.org 1458922626 9046 80.91.229.3 (25 Mar 2016 16:17:06 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 25 Mar 2016 16:17:06 +0000 (UTC) Cc: emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Mar 25 17:17:04 2016 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1ajUQ3-0005Pc-P5 for ged-emacs-devel@m.gmane.org; Fri, 25 Mar 2016 17:17:04 +0100 Original-Received: from localhost ([::1]:56965 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ajUQ3-0004Xh-0e for ged-emacs-devel@m.gmane.org; Fri, 25 Mar 2016 12:17:03 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:40195) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ajUPl-0004XU-3z for emacs-devel@gnu.org; Fri, 25 Mar 2016 12:16:46 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ajUPj-0003bG-AK for emacs-devel@gnu.org; Fri, 25 Mar 2016 12:16:45 -0400 Original-Received: from mail-oi0-x22a.google.com ([2607:f8b0:4003:c06::22a]:32886) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ajUPj-0003a9-2k; Fri, 25 Mar 2016 12:16:43 -0400 Original-Received: by mail-oi0-x22a.google.com with SMTP id d205so101769413oia.0; Fri, 25 Mar 2016 09:16:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc; bh=k3RiNZky6teAEAfInHl+5QAXgsP1tSxISjS7HPa1/qg=; b=DDe16ww8wVabMI8YpzHb5yab59v/BZfKhP6YlKO0aEm52JX960QlqBJv53KqUdl0Ds tnVM8DjBamHoCAqZLAhrtF0q1QPmgQSUB5Lt2xoOG6bU2pqYyQQKPlh0YKJcOsNZj3Xn 3emUIt3GRbEwKycbTOhYV08Z4Pgdroa19r646D0xFM7akDLNciPC1ax+ZVdaM85a2Hzo g3B0EaGrWcTCDwCp8sAoVJ+B9rUv15lm/hqXaCjTIvmoiAkWv+I5rTfKPUYP5Nj3w6da Y6w/giAXJ1T3hasFLDLIFL+Tr2gGkXc3s/p4/fpNT72ALScJKLgi5kIgR5mFW6LNKBJw fQOg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc; bh=k3RiNZky6teAEAfInHl+5QAXgsP1tSxISjS7HPa1/qg=; b=UJBOkOjVv5QqeoorO/GuqtbpgzLBj4WA/y4K9dd6LiQcbOjV19aPGEb8QCLDImCeW8 hr/CpC+f4+APQNhGo4/4DpblaWOlmBWPWX8c4OXnKabddlQEl+BmbmpIKS8LSDBEYxy1 z6ta7+prEh3wjh1hxeYMDfrIhQC6mQYz4ShG6sLwmpAeK42R37juv7XKeAn9R0/vP5AJ SasCTSbfiiO3LFnL7HKwmwWVM4H/GuDWFJUDPfvf9soz/MuiUWOxuVZmmZo+t7gGjzWz Iki7sttOh6zM+blusA3ppBzNunKJFLAVB6JAqvdH5os04Z7h54C7jQRcveWz7OYNAL+z OQrw== X-Gm-Message-State: AD7BkJJ2Xf5McVrbXVY6K0nB6C/I5lP8+YuMQLKiAyvTma+cMRn7VA+KkMlpMnRuzEQB+Jxiap7Knl3wly9VBw== X-Received: by 10.157.20.161 with SMTP id d30mr7720574ote.165.1458922602180; Fri, 25 Mar 2016 09:16:42 -0700 (PDT) Original-Received: by 10.202.71.7 with HTTP; Fri, 25 Mar 2016 09:16:42 -0700 (PDT) In-Reply-To: <83pouj0wx8.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2607:f8b0:4003:c06::22a X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:202227 Archived-At: --001a113e1bd475c9e1052ee1e331 Content-Type: multipart/alternative; boundary=001a113e1bd475c9dc052ee1e32f --001a113e1bd475c9dc052ee1e32f Content-Type: text/plain; charset=UTF-8 Eli Zaretskii wrote: > If we are going to keep sub-arity, I'd prefer if this new function > called it, instead of copying its code inline. > Done. > Also, I believe you said you'd write the documentation? Could you > please add that? Then the patch will be ready to go in, I think. > In the attached patch I modified `doc/lispref/functions.texi': text about `subr-arity' is moved to a new section above about `func-arity' and adapted as needed. `subr-arity' is still in the documentation, but I replaced its description with an advice to use `func-arity' instead. Is that enough? Do you still need changelog entries? Long time since I committed anything to Emacs, maybe you finally got rid of them (I hope)? Paul --001a113e1bd475c9dc052ee1e32f Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Eli = Zaretskii wrote:
If we are going to keep sub-arity, I'd prefer if this n= ew function
called it, instead of copying its code inline.
<= br>
Done.
=C2=A0
Also, I believe you said you'd write the documentation?=C2=A0 Could you=
please add that?=C2=A0 Then the patch will be ready to go in, I think.
<= /div>

In the attached patch I modified `doc/lispref/f= unctions.texi': text about
`subr-ar= ity' is moved to a new section above about `func-arity' and
adapted as needed. =C2=A0`subr-arity' is still= in the documentation, but I
replaced its d= escription with an advice to use `func-arity' instead. Is
that enough?

<= div class=3D"gmail_extra">Do you still need changelog entries? Long time si= nce I committed
anything to Emacs, maybe yo= u finally got rid of them (I hope)?

Paul

--001a113e1bd475c9dc052ee1e32f-- --001a113e1bd475c9e1052ee1e331 Content-Type: text/plain; charset=US-ASCII; name="func-arity.diff" Content-Disposition: attachment; filename="func-arity.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_im7wsqps0 ZGlmZiAtLWdpdCBhL2RvYy9saXNwcmVmL2Z1bmN0aW9ucy50ZXhpIGIvZG9jL2xpc3ByZWYvZnVu Y3Rpb25zLnRleGkKaW5kZXggYTJlOTRjMy4uNTU5YmYwMCAxMDA2NDQKLS0tIGEvZG9jL2xpc3By ZWYvZnVuY3Rpb25zLnRleGkKKysrIGIvZG9jL2xpc3ByZWYvZnVuY3Rpb25zLnRleGkKQEAgLTE0 Myw2ICsxNDMsMTggQEAgZnVuY3Rpb24sIGkuZS4sIGNhbiBiZSBwYXNzZWQgdG8gQGNvZGV7ZnVu Y2FsbH0uICBOb3RlIHRoYXQKIGFuZCByZXR1cm5zIEBjb2Rle25pbH0gZm9yIHNwZWNpYWwgZm9y bXMuCiBAZW5kIGRlZnVuCiAKKyAgSXQgaXMgYWxzbyBwb3NzaWJsZSB0byBmaW5kIG91dCBob3cg bWFueSBhcmd1bWVudHMgYW4gYXJiaXRyYXJ5CitmdW5jdGlvbiBleHBlY3RzOgorCitAZGVmdW4g ZnVuYy1hcml0eSBmdW5jdGlvbgorVGhpcyBmdW5jdGlvbiBwcm92aWRlcyBpbmZvcm1hdGlvbiBh Ym91dCB0aGUgYXJndW1lbnQgbGlzdCBvZiBnaXZlbgorQHZhcntmdW5jdGlvbn0uICBUaGUgcmV0 dXJuZWQgdmFsdWUgaXMgYSBwYWlyCitAY29kZXsoQHZhcnttaW59IC4gQHZhcnttYXh9KX0uICBA dmFye21pbn0gaXMgdGhlIG1pbmltdW0gbnVtYmVyIG9mCithcmdzLiAgQHZhcnttYXh9IGlzIHRo ZSBtYXhpbXVtIG51bWJlciBvciB0aGUgc3ltYm9sIEBjb2Rle21hbnl9LCBmb3IgYQorZnVuY3Rp b24gd2l0aCBAY29kZXsmcmVzdH0gYXJndW1lbnRzLCBvciB0aGUgc3ltYm9sIEBjb2Rle3VuZXZh bGxlZH0gaWYKK0B2YXJ7ZnVuY3Rpb259IGlzIGEgc3BlY2lhbCBmb3JtLgorQGVuZCBkZWZ1bgor CiBAbm9pbmRlbnQKIFVubGlrZSBAY29kZXtmdW5jdGlvbnB9LCB0aGUgbmV4dCB0aHJlZSBmdW5j dGlvbnMgZG8gQGVtcGh7bm90fSB0cmVhdAogYSBzeW1ib2wgYXMgaXRzIGZ1bmN0aW9uIGRlZmlu aXRpb24uCkBAIC0xNzYsMTIgKzE4OCw5IEBAIGZ1bmN0aW9uLiAgRm9yIGV4YW1wbGU6CiBAZW5k IGRlZnVuCiAKIEBkZWZ1biBzdWJyLWFyaXR5IHN1YnIKLVRoaXMgZnVuY3Rpb24gcHJvdmlkZXMg aW5mb3JtYXRpb24gYWJvdXQgdGhlIGFyZ3VtZW50IGxpc3Qgb2YgYQotcHJpbWl0aXZlLCBAdmFy e3N1YnJ9LiAgVGhlIHJldHVybmVkIHZhbHVlIGlzIGEgcGFpcgotQGNvZGV7KEB2YXJ7bWlufSAu IEB2YXJ7bWF4fSl9LiAgQHZhcnttaW59IGlzIHRoZSBtaW5pbXVtIG51bWJlciBvZgotYXJncy4g IEB2YXJ7bWF4fSBpcyB0aGUgbWF4aW11bSBudW1iZXIgb3IgdGhlIHN5bWJvbCBAY29kZXttYW55 fSwgZm9yIGEKLWZ1bmN0aW9uIHdpdGggQGNvZGV7JnJlc3R9IGFyZ3VtZW50cywgb3IgdGhlIHN5 bWJvbCBAY29kZXt1bmV2YWxsZWR9IGlmCi1AdmFye3N1YnJ9IGlzIGEgc3BlY2lhbCBmb3JtLgor V29ya3MgbGlrZSBAY29kZXtmdW5jLWFyaXR5fSwgYnV0IG9ubHkgZm9yIGJ1aWx0LWluIGZ1bmN0 aW9ucyBhbmQKK3dpdGhvdXQgc3ltYm9sIGluZGlyZWN0aW9uLiAgTmV3IGNvZGUgc2hvdWxkIHVz ZSBAY29kZXtmdW5jLWFyaXR5fQoraW5zdGVhZC4KIEBlbmQgZGVmdW4KIAogQG5vZGUgTGFtYmRh IEV4cHJlc3Npb25zCmRpZmYgLS1naXQgYS9zcmMvYnl0ZWNvZGUuYyBiL3NyYy9ieXRlY29kZS5j CmluZGV4IDlhZTJlODIuLjgxMDhiMTcgMTAwNjQ0Ci0tLSBhL3NyYy9ieXRlY29kZS5jCisrKyBi L3NyYy9ieXRlY29kZS5jCkBAIC0xOTg3LDYgKzE5ODcsMjMgQEAgZXhlY19ieXRlX2NvZGUgKExp c3BfT2JqZWN0IGJ5dGVzdHIsIExpc3BfT2JqZWN0IHZlY3RvciwgTGlzcF9PYmplY3QgbWF4ZGVw dGgsCiAgIHJldHVybiByZXN1bHQ7CiB9CiAKKy8qIGBhcmdzX3RlbXBsYXRlJyBoYXMgdGhlIHNh bWUgbWVhbmluZyBhcyBpbiBleGVjX2J5dGVfY29kZSgpIGFib3ZlLiAqLworTGlzcF9PYmplY3QK K2dldF9ieXRlX2NvZGVfYXJpdHkgKExpc3BfT2JqZWN0IGFyZ3NfdGVtcGxhdGUpCit7CisgIGlm IChJTlRFR0VSUCAoYXJnc190ZW1wbGF0ZSkpCisgICAgeworICAgICAgcHRyZGlmZl90IGF0ID0g WElOVCAoYXJnc190ZW1wbGF0ZSk7CisgICAgICBib29sIHJlc3QgPSAoYXQgJiAxMjgpICE9IDA7 CisgICAgICBpbnQgbWFuZGF0b3J5ID0gYXQgJiAxMjc7CisgICAgICBwdHJkaWZmX3Qgbm9ucmVz dCA9IGF0ID4+IDg7CisKKyAgICAgIHJldHVybiBGY29ucyAobWFrZV9udW1iZXIgKG1hbmRhdG9y eSksIHJlc3QgPyBRbWFueSA6IG1ha2VfbnVtYmVyIChub25yZXN0KSk7CisgICAgfQorICBlbHNl CisgICAgZXJyb3IgKCJVbmtub3duIGFyZ3MgdGVtcGxhdGUhIik7Cit9CisKIHZvaWQKIHN5bXNf b2ZfYnl0ZWNvZGUgKHZvaWQpCiB7CmRpZmYgLS1naXQgYS9zcmMvZXZhbC5jIGIvc3JjL2V2YWwu YwppbmRleCA3NGIzMGU2Li5lMDQ5M2M2IDEwMDY0NAotLS0gYS9zcmMvZXZhbC5jCisrKyBiL3Ny Yy9ldmFsLmMKQEAgLTkwLDYgKzkwLDcgQEAgdW5pb24gc3BlY2JpbmRpbmcgKmJhY2t0cmFjZV90 b3AgKHZvaWQpIEVYVEVSTkFMTFlfVklTSUJMRTsKIAogc3RhdGljIExpc3BfT2JqZWN0IGZ1bmNh bGxfbGFtYmRhIChMaXNwX09iamVjdCwgcHRyZGlmZl90LCBMaXNwX09iamVjdCAqKTsKIHN0YXRp YyBMaXNwX09iamVjdCBhcHBseV9sYW1iZGEgKExpc3BfT2JqZWN0LCBMaXNwX09iamVjdCwgcHRy ZGlmZl90KTsKK3N0YXRpYyBMaXNwX09iamVjdCBsYW1iZGFfYXJpdHkgKExpc3BfT2JqZWN0KTsK IAogc3RhdGljIExpc3BfT2JqZWN0CiBzcGVjcGRsX3N5bWJvbCAodW5pb24gc3BlY2JpbmRpbmcg KnBkbCkKQEAgLTI5MzQsNiArMjkzNSwxMTUgQEAgZnVuY2FsbF9sYW1iZGEgKExpc3BfT2JqZWN0 IGZ1biwgcHRyZGlmZl90IG5hcmdzLAogICByZXR1cm4gdW5iaW5kX3RvIChjb3VudCwgdmFsKTsK IH0KIAorREVGVU4gKCJmdW5jLWFyaXR5IiwgRmZ1bmNfYXJpdHksIFNmdW5jX2FyaXR5LCAxLCAx LCAwLAorICAgICAgIGRvYzogLyogUmV0dXJuIG1pbmltdW0gYW5kIG1heGltdW0gbnVtYmVyIG9m IGFyZ3MgYWxsb3dlZCBmb3IgRlVOQ1RJT04uCitGVU5DVElPTiBtdXN0IGJlIGEgZnVuY3Rpb24g b2Ygc29tZSBraW5kLgorVGhlIHJldHVybmVkIHZhbHVlIGlzIGEgcGFpciAoTUlOIC4gTUFYKS4g IE1JTiBpcyB0aGUgbWluaW11bSBudW1iZXIKK29mIGFyZ3MuICBNQVggaXMgdGhlIG1heGltdW0g bnVtYmVyIG9yIHRoZSBzeW1ib2wgYG1hbnknLCBmb3IgYQorZnVuY3Rpb24gd2l0aCBgJnJlc3Qn IGFyZ3MsIG9yIGB1bmV2YWxsZWQnIGZvciBhIHNwZWNpYWwgZm9ybS4gICovKQorICAoTGlzcF9P YmplY3QgZnVuY3Rpb24pCit7CisgIExpc3BfT2JqZWN0IG9yaWdpbmFsOworICBMaXNwX09iamVj dCBmdW5jYXI7CisgIExpc3BfT2JqZWN0IHJlc3VsdDsKKyAgc2hvcnQgbWluYXJncywgbWF4YXJn czsKKworICBvcmlnaW5hbCA9IGZ1bmN0aW9uOworCisgcmV0cnk6CisKKyAgLyogT3B0aW1pemUg Zm9yIG5vIGluZGlyZWN0aW9uLiAgKi8KKyAgZnVuY3Rpb24gPSBvcmlnaW5hbDsKKyAgaWYgKFNZ TUJPTFAgKGZ1bmN0aW9uKSAmJiAhTklMUCAoZnVuY3Rpb24pCisgICAgICAmJiAoZnVuY3Rpb24g PSBYU1lNQk9MIChmdW5jdGlvbiktPmZ1bmN0aW9uLCBTWU1CT0xQIChmdW5jdGlvbikpKQorICAg IGZ1bmN0aW9uID0gaW5kaXJlY3RfZnVuY3Rpb24gKGZ1bmN0aW9uKTsKKworICBpZiAoU1VCUlAg KGZ1bmN0aW9uKSkKKyAgICByZXN1bHQgPSBGc3Vicl9hcml0eSAoZnVuY3Rpb24pOworICBlbHNl IGlmIChDT01QSUxFRFAgKGZ1bmN0aW9uKSkKKyAgICByZXN1bHQgPSBsYW1iZGFfYXJpdHkgKGZ1 bmN0aW9uKTsKKyAgZWxzZQorICAgIHsKKyAgICAgIGlmIChOSUxQIChmdW5jdGlvbikpCisJeHNp Z25hbDEgKFF2b2lkX2Z1bmN0aW9uLCBvcmlnaW5hbCk7CisgICAgICBpZiAoIUNPTlNQIChmdW5j dGlvbikpCisJeHNpZ25hbDEgKFFpbnZhbGlkX2Z1bmN0aW9uLCBvcmlnaW5hbCk7CisgICAgICBm dW5jYXIgPSBYQ0FSIChmdW5jdGlvbik7CisgICAgICBpZiAoIVNZTUJPTFAgKGZ1bmNhcikpCisJ eHNpZ25hbDEgKFFpbnZhbGlkX2Z1bmN0aW9uLCBvcmlnaW5hbCk7CisgICAgICBpZiAoRVEgKGZ1 bmNhciwgUWxhbWJkYSkKKwkgIHx8IEVRIChmdW5jYXIsIFFjbG9zdXJlKSkKKwlyZXN1bHQgPSBs YW1iZGFfYXJpdHkgKGZ1bmN0aW9uKTsKKyAgICAgIGVsc2UgaWYgKEVRIChmdW5jYXIsIFFhdXRv bG9hZCkpCisJeworCSAgRmF1dG9sb2FkX2RvX2xvYWQgKGZ1bmN0aW9uLCBvcmlnaW5hbCwgUW5p bCk7CisJICBnb3RvIHJldHJ5OworCX0KKyAgICAgIGVsc2UKKwl4c2lnbmFsMSAoUWludmFsaWRf ZnVuY3Rpb24sIG9yaWdpbmFsKTsKKyAgICB9CisgIHJldHVybiByZXN1bHQ7Cit9CisKKy8qIEZV TiBtdXN0IGJlIGVpdGhlciBhIGxhbWJkYS1leHByZXNzaW9uIG9yIGEgY29tcGlsZWQtY29kZSBv YmplY3QuICAqLworc3RhdGljIExpc3BfT2JqZWN0CitsYW1iZGFfYXJpdHkgKExpc3BfT2JqZWN0 IGZ1bikKK3sKKyAgTGlzcF9PYmplY3QgdmFsLCBzeW1zX2xlZnQsIG5leHQ7CisgIHB0cmRpZmZf dCBtaW5hcmdzLCBtYXhhcmdzOworICBib29sIG9wdGlvbmFsOworCisgIGlmIChDT05TUCAoZnVu KSkKKyAgICB7CisgICAgICBpZiAoRVEgKFhDQVIgKGZ1biksIFFjbG9zdXJlKSkKKwl7CisJICBm dW4gPSBYQ0RSIChmdW4pOwkvKiBEcm9wIGBjbG9zdXJlJy4gICovCisJICBDSEVDS19MSVNUX0NP TlMgKGZ1biwgZnVuKTsKKwl9CisgICAgICBzeW1zX2xlZnQgPSBYQ0RSIChmdW4pOworICAgICAg aWYgKENPTlNQIChzeW1zX2xlZnQpKQorCXN5bXNfbGVmdCA9IFhDQVIgKHN5bXNfbGVmdCk7Cisg ICAgICBlbHNlCisJeHNpZ25hbDEgKFFpbnZhbGlkX2Z1bmN0aW9uLCBmdW4pOworICAgIH0KKyAg ZWxzZSBpZiAoQ09NUElMRURQIChmdW4pKQorICAgIHsKKyAgICAgIHB0cmRpZmZfdCBzaXplID0g QVNJWkUgKGZ1bikgJiBQU0VVRE9WRUNUT1JfU0laRV9NQVNLOworICAgICAgaWYgKHNpemUgPD0g Q09NUElMRURfU1RBQ0tfREVQVEgpCisJeHNpZ25hbDEgKFFpbnZhbGlkX2Z1bmN0aW9uLCBmdW4p OworICAgICAgc3ltc19sZWZ0ID0gQVJFRiAoZnVuLCBDT01QSUxFRF9BUkdMSVNUKTsKKyAgICAg IGlmIChJTlRFR0VSUCAoc3ltc19sZWZ0KSkKKyAgICAgICAgcmV0dXJuIGdldF9ieXRlX2NvZGVf YXJpdHkgKHN5bXNfbGVmdCk7CisgICAgfQorICBlbHNlCisgICAgZW1hY3NfYWJvcnQgKCk7CisK KyAgbWluYXJncyA9IG1heGFyZ3MgPSBvcHRpb25hbCA9IDA7CisgIGZvciAoOyBDT05TUCAoc3lt c19sZWZ0KTsgc3ltc19sZWZ0ID0gWENEUiAoc3ltc19sZWZ0KSkKKyAgICB7CisgICAgICBuZXh0 ID0gWENBUiAoc3ltc19sZWZ0KTsKKyAgICAgIGlmICghU1lNQk9MUCAobmV4dCkpCisJeHNpZ25h bDEgKFFpbnZhbGlkX2Z1bmN0aW9uLCBmdW4pOworCisgICAgICBpZiAoRVEgKG5leHQsIFFhbmRf cmVzdCkpCisJcmV0dXJuIEZjb25zIChtYWtlX251bWJlciAobWluYXJncyksIFFtYW55KTsKKyAg ICAgIGVsc2UgaWYgKEVRIChuZXh0LCBRYW5kX29wdGlvbmFsKSkKKwlvcHRpb25hbCA9IDE7Cisg ICAgICBlbHNlCisJeworICAgICAgICAgIGlmICghb3B0aW9uYWwpCisgICAgICAgICAgICBtaW5h cmdzKys7CisgICAgICAgICAgbWF4YXJncysrOworICAgICAgICB9CisgICAgfQorCisgIGlmICgh TklMUCAoc3ltc19sZWZ0KSkKKyAgICB4c2lnbmFsMSAoUWludmFsaWRfZnVuY3Rpb24sIGZ1bik7 CisKKyAgcmV0dXJuIEZjb25zIChtYWtlX251bWJlciAobWluYXJncyksIG1ha2VfbnVtYmVyICht YXhhcmdzKSk7Cit9CisKKwogREVGVU4gKCJmZXRjaC1ieXRlY29kZSIsIEZmZXRjaF9ieXRlY29k ZSwgU2ZldGNoX2J5dGVjb2RlLAogICAgICAgIDEsIDEsIDAsCiAgICAgICAgZG9jOiAvKiBJZiBi eXRlLWNvbXBpbGVkIE9CSkVDVCBpcyBsYXp5LWxvYWRlZCwgZmV0Y2ggaXQgbm93LiAgKi8pCkBA IC0zODA4LDYgKzM5MTgsNyBAQCBhbGlzdCBvZiBhY3RpdmUgbGV4aWNhbCBiaW5kaW5ncy4gICov KTsKICAgZGVmc3ViciAoJlNldmFsKTsKICAgZGVmc3ViciAoJlNhcHBseSk7CiAgIGRlZnN1YnIg KCZTZnVuY2FsbCk7CisgIGRlZnN1YnIgKCZTZnVuY19hcml0eSk7CiAgIGRlZnN1YnIgKCZTcnVu X2hvb2tzKTsKICAgZGVmc3ViciAoJlNydW5faG9va193aXRoX2FyZ3MpOwogICBkZWZzdWJyICgm U3J1bl9ob29rX3dpdGhfYXJnc191bnRpbF9zdWNjZXNzKTsKZGlmZiAtLWdpdCBhL3NyYy9saXNw LmggYi9zcmMvbGlzcC5oCmluZGV4IGU2MDZmZmEuLjdjOGI0NTIgMTAwNjQ0Ci0tLSBhL3NyYy9s aXNwLmgKKysrIGIvc3JjL2xpc3AuaApAQCAtNDIxNSw2ICs0MjE1LDcgQEAgZXh0ZXJuIHN0cnVj dCBieXRlX3N0YWNrICpieXRlX3N0YWNrX2xpc3Q7CiBleHRlcm4gdm9pZCByZWxvY2F0ZV9ieXRl X3N0YWNrICh2b2lkKTsKIGV4dGVybiBMaXNwX09iamVjdCBleGVjX2J5dGVfY29kZSAoTGlzcF9P YmplY3QsIExpc3BfT2JqZWN0LCBMaXNwX09iamVjdCwKIAkJCQkgICBMaXNwX09iamVjdCwgcHRy ZGlmZl90LCBMaXNwX09iamVjdCAqKTsKK2V4dGVybiBMaXNwX09iamVjdCBnZXRfYnl0ZV9jb2Rl X2FyaXR5IChMaXNwX09iamVjdCk7CiAKIC8qIERlZmluZWQgaW4gbWFjcm9zLmMuICAqLwogZXh0 ZXJuIHZvaWQgaW5pdF9tYWNyb3MgKHZvaWQpOwpkaWZmIC0tZ2l0IGEvdGVzdC9zcmMvZm5zLXRl c3RzLmVsIGIvdGVzdC9zcmMvZm5zLXRlc3RzLmVsCmluZGV4IDg2MTczNjkuLjU3ZmYwYzUgMTAw NjQ0Ci0tLSBhL3Rlc3Qvc3JjL2Zucy10ZXN0cy5lbAorKysgYi90ZXN0L3NyYy9mbnMtdGVzdHMu ZWwKQEAgLTIwOCwzICsyMDgsMTMgQEAKICAgKHNob3VsZCAoc3RyaW5nLXZlcnNpb24tbGVzc3Ag ImZvbzEuMjUuNS5wbmciICJmb28xLjEyNS41IikpCiAgIChzaG91bGQgKHN0cmluZy12ZXJzaW9u LWxlc3NwICIyIiAiMTI0NSIpKQogICAoc2hvdWxkIChub3QgKHN0cmluZy12ZXJzaW9uLWxlc3Nw ICIxMjQ1IiAiMiIpKSkpCisKKyhlcnQtZGVmdGVzdCBmbnMtdGVzdHMtZnVuYy1hcml0eSAoKQor ICAoc2hvdWxkIChlcXVhbCAoZnVuYy1hcml0eSAnY2FyKSAnKDEgLiAxKSkpCisgIChzaG91bGQg KGVxdWFsIChmdW5jLWFyaXR5ICdjYWFyKSAnKDEgLiAxKSkpCisgIChzaG91bGQgKGVxdWFsIChm dW5jLWFyaXR5ICdmb3JtYXQpICcoMSAuIG1hbnkpKSkKKyAgKHNob3VsZCAoZXF1YWwgKGZ1bmMt YXJpdHkgJ0luZm8tZ290by1ub2RlKSAnKDEgLiAzKSkpCisgIChzaG91bGQgKGVxdWFsIChmdW5j LWFyaXR5IChsYW1iZGEgKCZyZXN0IHgpKSkgJygwIC4gbWFueSkpKQorICAoc2hvdWxkIChlcXVh bCAoZnVuYy1hcml0eSAoZXZhbCAobGFtYmRhICh4ICZvcHRpb25hbCB5KSkgbmlsKSkgJygxIC4g MikpKQorICAoc2hvdWxkIChlcXVhbCAoZnVuYy1hcml0eSAoZXZhbCAobGFtYmRhICh4ICZvcHRp b25hbCB5KSkgdCkpICcoMSAuIDIpKSkKKyAgKHNob3VsZCAoZXF1YWwgKGZ1bmMtYXJpdHkgJ2xl dCkgJygxIC4gdW5ldmFsbGVkKSkpKQo= --001a113e1bd475c9e1052ee1e331--