From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Liu Hui Newsgroups: gmane.emacs.bugs Subject: bug#62413: 29.0.60; [PATCH] save-place-mode cannot restore saved position Date: Tue, 4 Apr 2023 09:37:26 +0800 Message-ID: References: <83tty9caku.fsf@gnu.org> <83y1nkc3vc.fsf@gnu.org> <83zg809jgv.fsf@gnu.org> <83cz4t84mv.fsf@gnu.org> <83v8ii6bw4.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="0000000000007e259805f878b8fb" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="37128"; mail-complaints-to="usenet@ciao.gmane.io" Cc: eliz@gnu.org, 62413@debbugs.gnu.org To: Ruijie Yu Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Tue Apr 04 03:38:20 2023 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pjVco-0009Rx-Uh for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 04 Apr 2023 03:38:19 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pjVcd-0007K9-Bz; Mon, 03 Apr 2023 21:38:07 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pjVcZ-0007IT-Cc for bug-gnu-emacs@gnu.org; Mon, 03 Apr 2023 21:38:05 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pjVcY-0006gF-PN for bug-gnu-emacs@gnu.org; Mon, 03 Apr 2023 21:38:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pjVcY-0006R9-7S for bug-gnu-emacs@gnu.org; Mon, 03 Apr 2023 21:38:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Liu Hui Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 04 Apr 2023 01:38:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62413 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch X-Debbugs-Original-Cc: Eli Zaretskii , 62413@debbugs.gnu.org, bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.168057227024721 (code B ref -1); Tue, 04 Apr 2023 01:38:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 4 Apr 2023 01:37:50 +0000 Original-Received: from localhost ([127.0.0.1]:45520 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pjVcL-0006Qe-Fz for submit@debbugs.gnu.org; Mon, 03 Apr 2023 21:37:50 -0400 Original-Received: from lists.gnu.org ([209.51.188.17]:39358) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pjVcI-0006QO-DE for submit@debbugs.gnu.org; Mon, 03 Apr 2023 21:37:47 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pjVcI-0007DR-0d for bug-gnu-emacs@gnu.org; Mon, 03 Apr 2023 21:37:46 -0400 Original-Received: from mail-oi1-x230.google.com ([2607:f8b0:4864:20::230]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pjVcC-0006bi-P8; Mon, 03 Apr 2023 21:37:45 -0400 Original-Received: by mail-oi1-x230.google.com with SMTP id y184so23208894oiy.8; Mon, 03 Apr 2023 18:37:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1680572258; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=ErOk+4ySR97s9ueSztsnr5wXaiKdryDj0NP3WjTnGMI=; b=P+lDU8UNlxmp0QQcblpuNDgl4M5/RWTutw9fzzApLrOB+t6uImdnqElPc4gNnqbRX7 YDWTIaLU393wAleybymuvLvWOzOmZQvqaKL/zyXNstDYavoH728UWW3+iaLr7ASPC1LT Y0EdAHwYLt1i4Zp1kn4N6YfB7cjIFN1cRwmLoCUt/RH3Nw/xSY4iFtyolY4MIJNvvIuZ ja/aeqm+EQbbklX9AntrRQvmI6qxCz+1E76f+GjkE32pOGl6/Mv03IaKsUTbNgNEIOp0 uLzMN+UJE4aqHzcQfjjLjALW4y9T+9AGkwfkg+ljOQR2kYaWjuMrqCEnfi293QOV9MYI cCDA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680572258; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=ErOk+4ySR97s9ueSztsnr5wXaiKdryDj0NP3WjTnGMI=; b=m+W9OgmLrUyTOMWBGu1o66E+Nojm1ioRT7zJyNTvovzqfdMQ2yl3yk4Mn20vyq82ql IKKbKZkyclgamZPEJRUFhceeXT1V5CatPw7GECJ3P3airldWEePXQxDTW63vnU9fD5zv iQmaN6m6GG5fiUqgYVAF9zlVv2G0Pziw7+u2u35WlpYfE6p2D1Y8EdxrySbOekdLuY6s MAEe+F1i1J5gCpr/IzAk3CWuB5vmlqe5M5SWzRHYZyQLlWZLe8SltmP0ANSUzzKB8YW9 IhbrZnRn98A358NgsVkzmO4JiGVSdiUg8JJT3TEizbrfOBthi1gfRZwmmQgy1pclvMef 96tQ== X-Gm-Message-State: AAQBX9dHmTIcNNaPAVs7JxdKYZtU3JLtp0HNcfxMYZxKec9XCzjOHNZK 2/VX77q9Q5Vfqdj0WwjXKV3K14SfUmkrHRgYwu0= X-Google-Smtp-Source: AKy350ZPcJ6qf+5r/orc7Ep2lNI4jbX0TckRKoFJVX7A5rXYHSdR03etsS0AA7pHAIwkrDP3dBycBl5E5S1JhjSr+N0= X-Received: by 2002:a05:6808:485:b0:384:893:a924 with SMTP id z5-20020a056808048500b003840893a924mr393218oid.3.1680572258573; Mon, 03 Apr 2023 18:37:38 -0700 (PDT) In-Reply-To: Received-SPF: pass client-ip=2607:f8b0:4864:20::230; envelope-from=liuhui1610@gmail.com; helo=mail-oi1-x230.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:259211 Archived-At: --0000000000007e259805f878b8fb Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Ruijie Yu =E4=BA=8E2023=E5=B9=B44=E6=9C=883=E6=97=A5=E5= =91=A8=E4=B8=80 11:06=E5=86=99=E9=81=93=EF=BC=9A > Two minor comments below. > > > @@ -90,8 +92,32 @@ save-place-forget-unreadable-files > > (defcustom save-place-abbreviate-file-names nil > > [...] > > + :set (lambda (sym val) > > + (set-default sym val) > > + (let ((fun (if val 'abbreviate-file-name 'expand-file-name))) > > I believe function quotes "#'" are preferred over simple quotes "'" when > dealing with functions. OK > > @@ -214,7 +241,11 @@ save-place-to-alist > > ((and (derived-mode-p 'dired-mode) directory) > > (let ((filename (dired-get-filename nil t))) > > (if filename > > - `((dired-filename . ,filename)) > > + (list > > + (cons 'dired-filename > > + (if save-place-abbreviate-fi= le-names > > + (abbreviate-file-name fi= lename) > > + filename))) > > It seems that you rewrote the quote-backquote thing with regular > list-cons construct -- no comments on that. I noticed that here, and in > a few other places, you are reusing the exact `if' construct multiple > times. Does that warrant defining a helper function? I feel such a function is too short. > Also, while I was about to send the mail, regarding the docstring of > `save-place-abbreviate-file-names', instead of letting the user enable > `save-place-mode', would it be better if you directly call facilities in > saveplace to load `save-place-alist' from file system, within your :set > function? Thanks for the suggestion. I have added `save-place-load-alist-from-file' to the :set function in the new patch. --0000000000007e259805f878b8fb Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Restore-positions-reliably-for-abbreviated-file-name.patch" Content-Disposition: attachment; filename="0001-Restore-positions-reliably-for-abbreviated-file-name.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lg1lagjf0 RnJvbSBmYjExN2UxNjQ5YjNiZGRlOTgyODgxNjg1MmM2MTJkOWIwZTE0ZWI1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBMaXUgSHVpIDxsaXVodWkxNjEwQGdtYWlsLmNvbT4KRGF0ZTog VHVlLCA0IEFwciAyMDIzIDA5OjEzOjMyICswODAwClN1YmplY3Q6IFtQQVRDSF0gUmVzdG9yZSBw b3NpdGlvbnMgcmVsaWFibHkgZm9yIGFiYnJldmlhdGVkIGZpbGUgbmFtZXMgaW4KIHNhdmVwbGFj ZS5lbAoKKiBsaXNwL3NhdmVwbGFjZS5lbCAoc2F2ZS1wbGFjZS1hYmJyZXZpYXRlLWZpbGUtbmFt ZXMpOiBBZGQgc2V0dGVyCmZ1bmN0aW9uIGZvciByZXdyaXRpbmcgYHNhdmUtcGxhY2UtYWxpc3Qn LiAgVXBkYXRlIGRvY3N0cmluZy4KKHNhdmUtcGxhY2UtdG8tYWxpc3QpOiBTYXZlIEFiYnJldmlh dGVkIGRpcmVkLWZpbGVuYW1lLgooc2F2ZS1wbGFjZS1sb2FkLWFsaXN0LWZyb20tZmlsZSk6IE1v dmUgdGhpcyBmdW5jdGlvbiBhYm92ZQpgc2F2ZS1wbGFjZS1hYmJyZXZpYXRlLWZpbGUtbmFtZXMn IHNpbmNlIGl0IGlzIHVzZWQgaW4gdGhlIDpzZXQKZnVuY3Rpb24uCihzYXZlLXBsYWNlLWZpbmQt ZmlsZS1ob29rKToKKHNhdmUtcGxhY2UtZGlyZWQtaG9vayk6IFVzZSBhYmJyZXZpYXRlZCBmaWxl IG5hbWUgd2hlbgpgc2F2ZS1wbGFjZS1hYmJyZXZpYXRlLWZpbGUtbmFtZXMnIGlzIG5vbi1uaWwu Ci0tLQogbGlzcC9zYXZlcGxhY2UuZWwgfCAxNjMgKysrKysrKysrKysrKysrKysrKysrKysrKysr Ky0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDk4IGluc2VydGlvbnMoKyksIDY1 IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpc3Avc2F2ZXBsYWNlLmVsIGIvbGlzcC9zYXZl cGxhY2UuZWwKaW5kZXggNzUxMmZjODdjNWQuLjE4ZDI5NmJhMmQ5IDEwMDY0NAotLS0gYS9saXNw L3NhdmVwbGFjZS5lbAorKysgYi9saXNwL3NhdmVwbGFjZS5lbApAQCAtMzUsNiArMzUsOCBAQAog CiA7OzsgQ29kZToKIAorKHJlcXVpcmUgJ2NsLWxpYikKKwogOzsgdGhpcyBpcyB3aGF0IEkgd2Fz IHVzaW5nIGR1cmluZyB0ZXN0aW5nOgogOzsgKGRlZmluZS1rZXkgY3RsLXgtbWFwICJwIiAndG9n Z2xlLXNhdmUtcGxhY2UtZ2xvYmFsbHkpCiAKQEAgLTg3LDExICs4OSw3NyBAQCBzYXZlLXBsYWNl LWZvcmdldC11bnJlYWRhYmxlLWZpbGVzCiBgc2F2ZS1wbGFjZS1maWxlJy4iCiAgIDp0eXBlICdi b29sZWFuKQogCisoZGVmdW4gc2F2ZS1wbGFjZS1sb2FkLWFsaXN0LWZyb20tZmlsZSAoKQorICAo aWYgKG5vdCBzYXZlLXBsYWNlLWxvYWRlZCkKKyAgICAgIChwcm9nbgorICAgICAgICAoc2V0cSBz YXZlLXBsYWNlLWxvYWRlZCB0KQorICAgICAgICAobGV0ICgoZmlsZSAoZXhwYW5kLWZpbGUtbmFt ZSBzYXZlLXBsYWNlLWZpbGUpKSkKKyAgICAgICAgICA7OyBtYWtlIHN1cmUgdGhhdCB0aGUgYWxp c3QgZG9lcyBub3QgZ2V0IG92ZXJ3cml0dGVuLCBhbmQgdGhlbgorICAgICAgICAgIDs7IGxvYWQg aXQgaWYgaXQgZXhpc3RzOgorICAgICAgICAgIChpZiAoZmlsZS1yZWFkYWJsZS1wIGZpbGUpCisg ICAgICAgICAgICAgIDs7IGRvbid0IHdhbnQgdG8gdXNlIGZpbmQtZmlsZSBiZWNhdXNlIHdlIGhh dmUgYmVlbgorICAgICAgICAgICAgICA7OyBhZGRpbmcgaG9va3MgdG8gaXQuCisgICAgICAgICAg ICAgICh3aXRoLWN1cnJlbnQtYnVmZmVyIChnZXQtYnVmZmVyLWNyZWF0ZSAiICpTYXZlZCBQbGFj ZXMqIikKKyAgICAgICAgICAgICAgICAoZGVsZXRlLXJlZ2lvbiAocG9pbnQtbWluKSAocG9pbnQt bWF4KSkKKyAgICAgICAgICAgICAgICA7OyBNYWtlIHN1cmUgb3VyICdjb2Rpbmc6JyBjb29raWUg aW4gdGhlIHNhdmUtcGxhY2UKKyAgICAgICAgICAgICAgICA7OyBmaWxlIHdpbGwgdGFrZSBlZmZl Y3QsIGluIGNhc2UgdGhlIGNhbGxlciBiaW5kcworICAgICAgICAgICAgICAgIDs7IGNvZGluZy1z eXN0ZW0tZm9yLXJlYWQuCisgICAgICAgICAgICAgICAgKGxldCAoY29kaW5nLXN5c3RlbS1mb3It cmVhZCkKKyAgICAgICAgICAgICAgICAgIChpbnNlcnQtZmlsZS1jb250ZW50cyBmaWxlKSkKKyAg ICAgICAgICAgICAgICAoZ290by1jaGFyIChwb2ludC1taW4pKQorICAgICAgICAgICAgICAgIChz ZXRxIHNhdmUtcGxhY2UtYWxpc3QKKyAgICAgICAgICAgICAgICAgICAgICAod2l0aC1kZW1vdGVk LWVycm9ycyAiRXJyb3IgcmVhZGluZyBzYXZlLXBsYWNlLWZpbGU6ICVTIgorICAgICAgICAgICAg ICAgICAgICAgICAgKGNhciAocmVhZC1mcm9tLXN0cmluZworICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKGJ1ZmZlci1zdWJzdHJpbmcgKHBvaW50LW1pbikgKHBvaW50LW1heCkpKSkpKQor CisgICAgICAgICAgICAgICAgOzsgSWYgdGhlcmUgaXMgYSBsaW1pdCwgYW5kIHdlJ3JlIG92ZXIg aXQsIHRoZW4gd2UnbGwKKyAgICAgICAgICAgICAgICA7OyBoYXZlIHRvIHRydW5jYXRlIHRoZSBl bmQgb2YgdGhlIGxpc3Q6CisgICAgICAgICAgICAgICAgKGlmIHNhdmUtcGxhY2UtbGltaXQKKyAg ICAgICAgICAgICAgICAgICAgKGlmICg8PSBzYXZlLXBsYWNlLWxpbWl0IDApCisgICAgICAgICAg ICAgICAgICAgICAgICA7OyBaZXJvIGdldHMgc3BlY2lhbCBjYXNlZC4gIEknbSBub3QgdGhyaWxs ZWQKKyAgICAgICAgICAgICAgICAgICAgICAgIDs7IHdpdGggdGhpcywgYnV0IHRoZSBsb29wIGZv ciA+PSAxIGlzIHRpZ2h0LgorICAgICAgICAgICAgICAgICAgICAgICAgKHNldHEgc2F2ZS1wbGFj ZS1hbGlzdCBuaWwpCisgICAgICAgICAgICAgICAgICAgICAgOzsgRWxzZSB0aGUgbGltaXQgaXMg Pj0gMSwgc28gZW5mb3JjZSBpdCBieQorICAgICAgICAgICAgICAgICAgICAgIDs7IGNvdW50aW5n IGFuZCB0aGVuIGBzZXRjZHInaW5nLgorICAgICAgICAgICAgICAgICAgICAgIChsZXQgKChzIHNh dmUtcGxhY2UtYWxpc3QpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvdW50IDEpKQor ICAgICAgICAgICAgICAgICAgICAgICAgKHdoaWxlIHMKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgKGlmICg+PSBjb3VudCBzYXZlLXBsYWNlLWxpbWl0KQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKHNldGNkciBzIG5pbCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2V0 cSBjb3VudCAoMSsgY291bnQpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKHNldHEgcyAo Y2RyIHMpKSkpKSkKKworICAgICAgICAgICAgICAgIChraWxsLWJ1ZmZlciAoY3VycmVudC1idWZm ZXIpKSkpCisgICAgICAgICAgbmlsKSkpKQorCiAoZGVmY3VzdG9tIHNhdmUtcGxhY2UtYWJicmV2 aWF0ZS1maWxlLW5hbWVzIG5pbAogICAiSWYgbm9uLW5pbCwgYWJicmV2aWF0ZSBmaWxlIG5hbWVz IGJlZm9yZSBzYXZpbmcgdGhlbS4KIFRoaXMgY2FuIHNpbXBsaWZ5IHNoYXJpbmcgdGhlIGBzYXZl LXBsYWNlLWZpbGUnIGZpbGUgYWNyb3NzCi1kaWZmZXJlbnQgaG9zdHMuIgorZGlmZmVyZW50IGhv c3RzLgorCitDaGFuZ2luZyB0aGlzIG9wdGlvbiByZXF1aXJlcyByZXdyaXRpbmcgYHNhdmUtcGxh Y2UtYWxpc3QnIHdpdGgKK2NvcnJlc3BvbmRpbmcgZmlsZSBuYW1lIGZvcm1hdCwgdGhlcmVmb3Jl IHNldHRpbmcgdGhpcyBvcHRpb24KK2p1c3QgdXNpbmcgYHNldHEnIG1heSBjYXVzZSBvdXQtb2Yt c3luYyBwcm9ibGVtcy4gIFlvdSBzaG91bGQgdXNlCitlaXRoZXIgYHNldG9wdCcgb3IgTS14IGN1 c3RvbWl6ZS12YXJpYWJsZSB0byBzZXQgdGhpcyBvcHRpb24uIgogICA6dHlwZSAnYm9vbGVhbgor ICA6c2V0IChsYW1iZGEgKHN5bSB2YWwpCisgICAgICAgICAoc2V0LWRlZmF1bHQgc3ltIHZhbCkK KyAgICAgICAgIChvciBzYXZlLXBsYWNlLWxvYWRlZCAoc2F2ZS1wbGFjZS1sb2FkLWFsaXN0LWZy b20tZmlsZSkpCisgICAgICAgICAobGV0ICgoZnVuIChpZiB2YWwgIydhYmJyZXZpYXRlLWZpbGUt bmFtZSAjJ2V4cGFuZC1maWxlLW5hbWUpKSkKKyAgICAgICAgICAgKHNldHEgc2F2ZS1wbGFjZS1h bGlzdAorICAgICAgICAgICAgICAgICAoY2wtZGVsZXRlLWR1cGxpY2F0ZXMKKyAgICAgICAgICAg ICAgICAgIChjbC1sb29wIGZvciAoayAuIHYpIGluIHNhdmUtcGxhY2UtYWxpc3QKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNvbGxlY3QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIChj b25zIChmdW5jYWxsIGZ1biBrKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlm IChsaXN0cCB2KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbC1sb29w IGZvciAoazEgLiB2MSkgaW4gdgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGNvbGxlY3QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAoY29ucyBrMSAoZnVuY2FsbCBmdW4gdjEpKSkKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdikpKQorICAgICAgICAgICAgICAgICAgOmtleSAjJ2NhcgorICAgICAg ICAgICAgICAgICAgOmZyb20tZW5kIHQKKyAgICAgICAgICAgICAgICAgIDp0ZXN0ICMnZXF1YWwp KSkKKyAgICAgICAgIHZhbCkKICAgOnZlcnNpb24gIjI4LjEiKQogCiAoZGVmY3VzdG9tIHNhdmUt cGxhY2Utc2F2ZS1za2lwcGVkIHQKQEAgLTIxNCw3ICsyODIsMTEgQEAgc2F2ZS1wbGFjZS10by1h bGlzdAogCQkJICAgICgoYW5kIChkZXJpdmVkLW1vZGUtcCAnZGlyZWQtbW9kZSkgZGlyZWN0b3J5 KQogCQkJICAgICAobGV0ICgoZmlsZW5hbWUgKGRpcmVkLWdldC1maWxlbmFtZSBuaWwgdCkpKQog CQkJICAgICAgIChpZiBmaWxlbmFtZQotCQkJCSAgIGAoKGRpcmVkLWZpbGVuYW1lIC4gLGZpbGVu YW1lKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxpc3QKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb25zICdkaXJlZC1maWxlbmFtZQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlmIHNhdmUtcGxhY2UtYWJicmV2 aWF0ZS1maWxlLW5hbWVzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKGFiYnJldmlhdGUtZmlsZS1uYW1lIGZpbGVuYW1lKQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlbmFtZSkpKQogCQkJCSAocG9pbnQpKSkpCiAJ CQkgICAgKHQgKHBvaW50KSkpKSkKICAgICAgICAgKGlmIGNlbGwKQEAgLTI3OCw0OSArMzUwLDYg QEAgc2F2ZS1wbGFjZS1hbGlzdC10by1maWxlCiAJICAoZmlsZS1lcnJvciAobWVzc2FnZSAiU2F2 aW5nIHBsYWNlczogY2FuJ3Qgd3JpdGUgJXMiIGZpbGUpKSkKICAgICAgICAgKGtpbGwtYnVmZmVy IChjdXJyZW50LWJ1ZmZlcikpKSkpKQogCi0oZGVmdW4gc2F2ZS1wbGFjZS1sb2FkLWFsaXN0LWZy b20tZmlsZSAoKQotICAoaWYgKG5vdCBzYXZlLXBsYWNlLWxvYWRlZCkKLSAgICAgIChwcm9nbgot ICAgICAgICAoc2V0cSBzYXZlLXBsYWNlLWxvYWRlZCB0KQotICAgICAgICAobGV0ICgoZmlsZSAo ZXhwYW5kLWZpbGUtbmFtZSBzYXZlLXBsYWNlLWZpbGUpKSkKLSAgICAgICAgICA7OyBtYWtlIHN1 cmUgdGhhdCB0aGUgYWxpc3QgZG9lcyBub3QgZ2V0IG92ZXJ3cml0dGVuLCBhbmQgdGhlbgotICAg ICAgICAgIDs7IGxvYWQgaXQgaWYgaXQgZXhpc3RzOgotICAgICAgICAgIChpZiAoZmlsZS1yZWFk YWJsZS1wIGZpbGUpCi0gICAgICAgICAgICAgIDs7IGRvbid0IHdhbnQgdG8gdXNlIGZpbmQtZmls ZSBiZWNhdXNlIHdlIGhhdmUgYmVlbgotICAgICAgICAgICAgICA7OyBhZGRpbmcgaG9va3MgdG8g aXQuCi0gICAgICAgICAgICAgICh3aXRoLWN1cnJlbnQtYnVmZmVyIChnZXQtYnVmZmVyLWNyZWF0 ZSAiICpTYXZlZCBQbGFjZXMqIikKLSAgICAgICAgICAgICAgICAoZGVsZXRlLXJlZ2lvbiAocG9p bnQtbWluKSAocG9pbnQtbWF4KSkKLSAgICAgICAgICAgICAgICA7OyBNYWtlIHN1cmUgb3VyICdj b2Rpbmc6JyBjb29raWUgaW4gdGhlIHNhdmUtcGxhY2UKLSAgICAgICAgICAgICAgICA7OyBmaWxl IHdpbGwgdGFrZSBlZmZlY3QsIGluIGNhc2UgdGhlIGNhbGxlciBiaW5kcwotICAgICAgICAgICAg ICAgIDs7IGNvZGluZy1zeXN0ZW0tZm9yLXJlYWQuCi0gICAgICAgICAgICAgICAgKGxldCAoY29k aW5nLXN5c3RlbS1mb3ItcmVhZCkKLSAgICAgICAgICAgICAgICAgIChpbnNlcnQtZmlsZS1jb250 ZW50cyBmaWxlKSkKLSAgICAgICAgICAgICAgICAoZ290by1jaGFyIChwb2ludC1taW4pKQotICAg ICAgICAgICAgICAgIChzZXRxIHNhdmUtcGxhY2UtYWxpc3QKLSAgICAgICAgICAgICAgICAgICAg ICAod2l0aC1kZW1vdGVkLWVycm9ycyAiRXJyb3IgcmVhZGluZyBzYXZlLXBsYWNlLWZpbGU6ICVT IgotICAgICAgICAgICAgICAgICAgICAgICAgKGNhciAocmVhZC1mcm9tLXN0cmluZwotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKGJ1ZmZlci1zdWJzdHJpbmcgKHBvaW50LW1pbikgKHBv aW50LW1heCkpKSkpKQotCi0gICAgICAgICAgICAgICAgOzsgSWYgdGhlcmUgaXMgYSBsaW1pdCwg YW5kIHdlJ3JlIG92ZXIgaXQsIHRoZW4gd2UnbGwKLSAgICAgICAgICAgICAgICA7OyBoYXZlIHRv IHRydW5jYXRlIHRoZSBlbmQgb2YgdGhlIGxpc3Q6Ci0gICAgICAgICAgICAgICAgKGlmIHNhdmUt cGxhY2UtbGltaXQKLSAgICAgICAgICAgICAgICAgICAgKGlmICg8PSBzYXZlLXBsYWNlLWxpbWl0 IDApCi0gICAgICAgICAgICAgICAgICAgICAgICA7OyBaZXJvIGdldHMgc3BlY2lhbCBjYXNlZC4g IEknbSBub3QgdGhyaWxsZWQKLSAgICAgICAgICAgICAgICAgICAgICAgIDs7IHdpdGggdGhpcywg YnV0IHRoZSBsb29wIGZvciA+PSAxIGlzIHRpZ2h0LgotICAgICAgICAgICAgICAgICAgICAgICAg KHNldHEgc2F2ZS1wbGFjZS1hbGlzdCBuaWwpCi0gICAgICAgICAgICAgICAgICAgICAgOzsgRWxz ZSB0aGUgbGltaXQgaXMgPj0gMSwgc28gZW5mb3JjZSBpdCBieQotICAgICAgICAgICAgICAgICAg ICAgIDs7IGNvdW50aW5nIGFuZCB0aGVuIGBzZXRjZHInaW5nLgotICAgICAgICAgICAgICAgICAg ICAgIChsZXQgKChzIHNhdmUtcGxhY2UtYWxpc3QpCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgKGNvdW50IDEpKQotICAgICAgICAgICAgICAgICAgICAgICAgKHdoaWxlIHMKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgKGlmICg+PSBjb3VudCBzYXZlLXBsYWNlLWxpbWl0KQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKHNldGNkciBzIG5pbCkKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAoc2V0cSBjb3VudCAoMSsgY291bnQpKSkKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgKHNldHEgcyAoY2RyIHMpKSkpKSkKLQotICAgICAgICAgICAgICAgIChraWxsLWJ1ZmZl ciAoY3VycmVudC1idWZmZXIpKSkpCi0gICAgICAgICAgbmlsKSkpKQotCiAoZGVmdW4gc2F2ZS1w bGFjZXMtdG8tYWxpc3QgKCkKICAgOzsgZ28gdGhyb3VnaCBidWZmZXItbGlzdCwgc2F2aW5nIHBs YWNlcyB0byBhbGlzdCBpZiBzYXZlLXBsYWNlLW1vZGUKICAgOzsgaXMgbm9uLW5pbCwgZGVsZXRp bmcgdGhlbSBmcm9tIGFsaXN0IGlmIGl0IGlzIG5pbC4KQEAgLTM1Myw3ICszODIsMTEgQEAgc2F2 ZS1wbGFjZS1maW5kLWZpbGUtaG9vawogICAiRnVuY3Rpb24gYWRkZWQgdG8gYGZpbmQtZmlsZS1o b29rJyBieSBgc2F2ZS1wbGFjZS1tb2RlJy4KIEl0IHJ1bnMgdGhlIGhvb2sgYHNhdmUtcGxhY2Ut YWZ0ZXItZmluZC1maWxlLWhvb2snLiIKICAgKG9yIHNhdmUtcGxhY2UtbG9hZGVkIChzYXZlLXBs YWNlLWxvYWQtYWxpc3QtZnJvbS1maWxlKSkKLSAgKGxldCAoKGNlbGwgKGFzc29jIGJ1ZmZlci1m aWxlLW5hbWUgc2F2ZS1wbGFjZS1hbGlzdCkpKQorICAobGV0ICgoY2VsbCAoYW5kIChzdHJpbmdw IGJ1ZmZlci1maWxlLW5hbWUpCisgICAgICAgICAgICAgICAgICAgKGFzc29jIChpZiBzYXZlLXBs YWNlLWFiYnJldmlhdGUtZmlsZS1uYW1lcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KGFiYnJldmlhdGUtZmlsZS1uYW1lIGJ1ZmZlci1maWxlLW5hbWUpCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgYnVmZmVyLWZpbGUtbmFtZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAg c2F2ZS1wbGFjZS1hbGlzdCkpKSkKICAgICAoaWYgY2VsbAogCShwcm9nbgogCSAgKG9yIHJldmVy dC1idWZmZXItaW4tcHJvZ3Jlc3MtcApAQCAtMzY4LDI1ICs0MDEsMjUgQEAgc2F2ZS1wbGFjZS1m aW5kLWZpbGUtaG9vawogKGRlZnVuIHNhdmUtcGxhY2UtZGlyZWQtaG9vayAoKQogICAiUG9zaXRp b24gdGhlIHBvaW50IGluIGEgRGlyZWQgYnVmZmVyLiIKICAgKG9yIHNhdmUtcGxhY2UtbG9hZGVk IChzYXZlLXBsYWNlLWxvYWQtYWxpc3QtZnJvbS1maWxlKSkKLSAgKGxldCogKChkaXJlY3Rvcnkg KGFuZCAoZGVyaXZlZC1tb2RlLXAgJ2RpcmVkLW1vZGUpCi0gICAgICAgICAgICAgICAgICAgICAg ICAgKGJvdW5kcCAnZGlyZWQtc3ViZGlyLWFsaXN0KQotCQkJIGRpcmVkLXN1YmRpci1hbGlzdAot CQkJIChkaXJlZC1jdXJyZW50LWRpcmVjdG9yeSkpKQotCSAoY2VsbCAoYXNzb2MgKGFuZCBkaXJl Y3RvcnkKLQkJCSAgIChleHBhbmQtZmlsZS1uYW1lIChpZiAoY29uc3AgZGlyZWN0b3J5KQotCQkJ CQkJIChjYXIgZGlyZWN0b3J5KQotCQkJCQkgICAgICAgZGlyZWN0b3J5KSkpCi0JCSAgICAgIHNh dmUtcGxhY2UtYWxpc3QpKSkKLSAgICAoaWYgY2VsbAotICAgICAgICAocHJvZ24KLSAgICAgICAg ICAob3IgcmV2ZXJ0LWJ1ZmZlci1pbi1wcm9ncmVzcy1wCi0gICAgICAgICAgICAgIChjb25kCi0J ICAgICAgICgoaW50ZWdlcnAgKGNkciBjZWxsKSkKLQkJKGdvdG8tY2hhciAoY2RyIGNlbGwpKSkK LQkgICAgICAgKChhbmQgKGxpc3RwIChjZHIgY2VsbCkpIChhc3NxICdkaXJlZC1maWxlbmFtZSAo Y2RyIGNlbGwpKSkKLQkJKGRpcmVkLWdvdG8tZmlsZSAoY2RyIChhc3NxICdkaXJlZC1maWxlbmFt ZSAoY2RyIGNlbGwpKSkpKSkpCi0gICAgICAgICAgOzsgYW5kIG1ha2Ugc3VyZSBpdCB3aWxsIGJl IHNhdmVkIGFnYWluIGZvciBsYXRlcgotICAgICAgICAgIChzZXRxIHNhdmUtcGxhY2UtbW9kZSB0 KSkpKSkKKyAgKHdoZW4tbGV0ICgoZGlyZWN0b3J5IChhbmQgKGRlcml2ZWQtbW9kZS1wICdkaXJl ZC1tb2RlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYm91bmRwICdkaXJlZC1zdWJk aXItYWxpc3QpCisJCQkgICAgIGRpcmVkLXN1YmRpci1hbGlzdAorCQkJICAgICAoZGlyZWQtY3Vy cmVudC1kaXJlY3RvcnkpKSkKKyAgICAgICAgICAgICAoaXRlbSAoZXhwYW5kLWZpbGUtbmFtZSAo aWYgKGNvbnNwIGRpcmVjdG9yeSkKKwkJCQkJIChjYXIgZGlyZWN0b3J5KQorCQkJCSAgICAgICBk aXJlY3RvcnkpKSkKKwkgICAgIChjZWxsIChhc3NvYyAoaWYgc2F2ZS1wbGFjZS1hYmJyZXZpYXRl LWZpbGUtbmFtZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhYmJyZXZpYXRlLWZp bGUtbmFtZSBpdGVtKSBpdGVtKQorCQkgICAgICAgICAgc2F2ZS1wbGFjZS1hbGlzdCkpKQorICAg IChvciByZXZlcnQtYnVmZmVyLWluLXByb2dyZXNzLXAKKyAgICAgICAgKGNvbmQKKwkgKChpbnRl Z2VycCAoY2RyIGNlbGwpKQorCSAgKGdvdG8tY2hhciAoY2RyIGNlbGwpKSkKKwkgKChsaXN0cCAo Y2RyIGNlbGwpKQorICAgICAgICAgICh3aGVuLWxldCAoKGVsdCAoYXNzcSAnZGlyZWQtZmlsZW5h bWUgKGNkciBjZWxsKSkpKQorICAgICAgICAgICAgKGRpcmVkLWdvdG8tZmlsZSAoZXhwYW5kLWZp bGUtbmFtZSAoY2RyIGVsdCkpKSkpKSkKKyAgICA7OyBhbmQgbWFrZSBzdXJlIGl0IHdpbGwgYmUg c2F2ZWQgYWdhaW4gZm9yIGxhdGVyCisgICAgKHNldHEgc2F2ZS1wbGFjZS1tb2RlIHQpKSkKIAog KGRlZnVuIHNhdmUtcGxhY2Uta2lsbC1lbWFjcy1ob29rICgpCiAgIDs7IEZpcnN0IHVwZGF0ZSB0 aGUgYWxpc3QuICBUaGlzIGxvYWRzIHRoZSBvbGQgc2F2ZS1wbGFjZS1maWxlIGlmIG5lYy4KLS0g CjIuMjUuMQoK --0000000000007e259805f878b8fb--