GNU logs - #31601, boring messages


Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#31601: Dired/Wdired: Play nicely with recursive list of files and directories.
Resent-From: Keith David Bershatsky <esq@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sat, 26 May 2018 04:38:02 +0000
Resent-Message-ID: <handler.31601.B.15273094262434 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: report 31601
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: 31601 <at> debbugs.gnu.org
X-Debbugs-Original-To: Emacs Bug Reports <bug-gnu-emacs@HIDDEN>
Received: via spool by submit <at> debbugs.gnu.org id=B.15273094262434
          (code B ref -1); Sat, 26 May 2018 04:38:02 +0000
Received: (at submit) by debbugs.gnu.org; 26 May 2018 04:37:06 +0000
Received: from localhost ([127.0.0.1]:48917 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1fMQwz-0000dC-VQ
	for submit <at> debbugs.gnu.org; Sat, 26 May 2018 00:37:06 -0400
Received: from eggs.gnu.org ([208.118.235.92]:38152)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <esq@HIDDEN>) id 1fMQwx-0000ce-Cy
 for submit <at> debbugs.gnu.org; Sat, 26 May 2018 00:37:04 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <esq@HIDDEN>) id 1fMQwq-0007vu-DT
 for submit <at> debbugs.gnu.org; Sat, 26 May 2018 00:36:57 -0400
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,T_DKIM_INVALID
 autolearn=disabled version=3.3.2
Received: from lists.gnu.org ([2001:4830:134:3::11]:55837)
 by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32)
 (Exim 4.71) (envelope-from <esq@HIDDEN>) id 1fMQwq-0007vm-9W
 for submit <at> debbugs.gnu.org; Sat, 26 May 2018 00:36:56 -0400
Received: from eggs.gnu.org ([2001:4830:134:3::10]:57344)
 by lists.gnu.org with esmtp (Exim 4.71)
 (envelope-from <esq@HIDDEN>) id 1fMQwo-0006GG-Oe
 for bug-gnu-emacs@HIDDEN; Sat, 26 May 2018 00:36:56 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <esq@HIDDEN>) id 1fMQwl-0007mb-I8
 for bug-gnu-emacs@HIDDEN; Sat, 26 May 2018 00:36:54 -0400
Received: from gateway30.websitewelcome.com ([192.185.198.26]:45033)
 by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32)
 (Exim 4.71) (envelope-from <esq@HIDDEN>) id 1fMQwl-0007Y1-8F
 for bug-gnu-emacs@HIDDEN; Sat, 26 May 2018 00:36:51 -0400
Received: from cm10.websitewelcome.com (cm10.websitewelcome.com [100.42.49.4])
 by gateway30.websitewelcome.com (Postfix) with ESMTP id E274ACEA
 for <bug-gnu-emacs@HIDDEN>; Fri, 25 May 2018 23:36:38 -0500 (CDT)
Received: from gator3053.hostgator.com ([50.87.144.69]) by cmsmtp with SMTP
 id MQwYfkqJhBcCXMQwYfeVum; Fri, 25 May 2018 23:36:38 -0500
X-Authority-Reason: nr=8
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lawlist.com
 ; s=default;
 h=Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:To
 :From:Message-ID:Date:Sender:Reply-To:Cc:Content-ID:Content-Description:
 Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
 In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe:
 List-Post:List-Owner:List-Archive;
 bh=QKQhYJDH6sfSQiJ91xYDY8u8rbSM3kCslFxXiNUkFOs=; b=DaluByGt3lmfKsxj341OPQSEfa
 tZPjqam9RRAT25R80GbpXKlFAuW0gSI5GqVuAi6FE0QMLkTXQQYUApgO2ufUhApsZNgyngFgDjVRN
 EavAcsd7XWGpOD2gWCZCkpsvOE047fhdQExaBE7Lg9ZoKUO8dHcaQlUwKkEaZYfZfpX1pJ0xdajcN
 D4WxMyzL8xMa0wxCcbL7TYlNf34CBJ2HdbAgytwV3QtUAoXRIi0MisKP2uSJUYdjVB5A3ssyjuayB
 JJtxQkyq5gjOlxKlEQGffHEHK7VBu0DnUzWe/DPRaOssUfJXM3u8iIs2qXSKttY6l+L4edFOhbylj
 l+3ffaOQ==;
Received: from cpe-45-48-239-195.socal.res.rr.com ([45.48.239.195]:49903
 helo=server.local)
 by gator3053.hostgator.com with esmtpsa (TLSv1:DHE-RSA-AES256-SHA:256)
 (Exim 4.89_1) (envelope-from <esq@HIDDEN>)
 id 1fMQwY-002tAV-0W; Fri, 25 May 2018 23:36:38 -0500
Date: Fri, 25 May 2018 21:36:37 -0700
Message-ID: <m21sdzghii.wl%esq@HIDDEN>
From: Keith David Bershatsky <esq@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
X-AntiAbuse: This header was added to track abuse,
 please include it with any abuse report
X-AntiAbuse: Primary Hostname - gator3053.hostgator.com
X-AntiAbuse: Original Domain - gnu.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - lawlist.com
X-BWhitelist: no
X-Source-IP: 45.48.239.195
X-Source-L: No
X-Exim-ID: 1fMQwY-002tAV-0W
X-Source: 
X-Source-Args: 
X-Source-Dir: 
X-Source-Sender: cpe-45-48-239-195.socal.res.rr.com (server.local)
 [45.48.239.195]:49903
X-Source-Auth: lawlist
X-Email-Count: 2
X-Source-Cap: bGF3bGlzdDtsYXdsaXN0O2dhdG9yMzA1My5ob3N0Z2F0b3IuY29t
X-Local-Domain: yes
Content-Transfer-Encoding: quoted-printable
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
 [fuzzy]
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x
X-Received-From: 2001:4830:134:3::11
X-Spam-Score: -5.0 (-----)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -6.0 (------)

I occasionally have the need to rename files and directories that are rec=
ursively located.  I create a dired-mode buffer as follows:

    (dired (directory-files-recursively "/path/to/directory" "" 'include-=
directories))

Wdired:  The first problem is that `wdired-get-filename' needs to be modi=
fied so that it handles absolute paths differently than relative filename=
s.  Here is an example that works -- using `file-name-absolute-p`:

(defun wdired-get-filename (&optional no-dir old)
  "Return the filename at line.
Similar to `dired-get-filename' but it doesn't rely on regexps.  It
relies on WDired buffer's properties.  Optional arg NO-DIR with value
non-nil means don't include directory.  Optional arg OLD with value
non-nil means return old filename."
  ;; FIXME: Use dired-get-filename's new properties.
  (let (beg end file)
    (save-excursion
      (setq end (line-end-position))
      (beginning-of-line)
      (setq beg (next-single-property-change (point) 'old-name nil end))
      (unless (eq beg end)
  (if old
      (setq file (get-text-property beg 'old-name))
    ;; In the following form changed `(1+ beg)' to `beg' so that
    ;; the filename end is found even when the filename is empty.
    ;; Fixes error and spurious newlines when marking files for
    ;; deletion.
    (if (=3D (point-at-eol) (point-max))
      (setq end (point-max)) ;; fix for @lawlist eliminating final new li=
ne at eob.
      (setq end (next-single-property-change beg 'end-name)))
    (setq file (buffer-substring-no-properties (1+ beg) end)))
  (and file (setq file (wdired-normalize-filename file))))
      (if (or no-dir old)
        file
        (cond
          ;;; When FILE is relative, concatenate default-directory to beg=
inning.
          ((and file
                (> (length file) 0)
                (not (file-name-absolute-p file))
                (concat (dired-current-directory) file)))
          ;;; When FILE is absolute, no need to concatenate the default-d=
irectory.
          ((and file
                (> (length file) 0)
                (file-name-absolute-p file)
                file)))))))

Dired:  The second problem is a dired-mode problem in that the `dired-dir=
ectory' variable is not updated when renaming a file.  I haven't tested d=
eleting a file, but that probably suffers the same problem.  Absent updat=
ing the `dired-directory` with the renamed filename, the `revert-buffer` =
will encounter errors because `ls` or `gls` will try to find files that n=
o longer exist, and that errors will be inserted into the dired- buffer. =
 A quick solution for renaming the file is to modify `dired-rename-file` =
as follows:

;;; (setq mylist '("apple" "pear" "peach" "nectarine" "watermelon"))
;;; (ar-replace--in-list "apple" "cherry" mylist)
;;; Written by @Andreas R=C3=B6hler:  https://emacs.stackexchange.com/a/4=
1631/2287
(defun ar-replace--in-list (elem replacement list)
  "Expects a LIST of strings.
ELEM: element to replace by arg REPLACEMENT"
  (let (newlist)
    (dolist (ele list)
      (if (string=3D ele elem)
      (push replacement newlist)
    (push ele newlist)))
    (nreverse newlist)))

(defun dired-rename-file (file newname ok-if-already-exists)
  (dired-handle-overwrite newname)
  (rename-file file newname ok-if-already-exists) ; error is caught in -c=
reate-files
  ;;; Update the `dired-directory'
  (when (and (listp dired-directory)
             (member file dired-directory))
    (setq dired-directory
      (ar-replace--in-list file newname dired-directory)))
  ;; Silently rename the visited file of any buffer visiting this file.
  (and (get-file-buffer file)
       (with-current-buffer (get-file-buffer file)
   (set-visited-file-name newname nil t)))
  (dired-remove-file file)
  ;; See if it's an inserted subdir, and rename that, too.
  (dired-rename-subdir file newname))

However, this is understandably slow if there are a lot of files.  Perhap=
s a hash-table system would be better suited to keep track of files and d=
irectories instead of just a plain old list with file/directory names.

I haven't yet figured out the best approach to modify a wdired-mode buffe=
r that has a combination of directories and files.  Presumably some porti=
on of the absolute filename/directory-name will need read-only attributes=
 ....  But, that is as far as my thinking has gone on this issue.

There may be many other situations that I haven't thought of because I've=
 never used all of the features of dired-mode and/or wdired-mode.

Thanks,

Keith




Message sent:


Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Mailer: MIME-tools 5.505 (Entity 5.505)
Content-Type: text/plain; charset=utf-8
X-Loop: help-debbugs@HIDDEN
From: help-debbugs@HIDDEN (GNU bug Tracking System)
To: Keith David Bershatsky <esq@HIDDEN>
Subject: bug#31601: Acknowledgement (Dired/Wdired: Play nicely with
 recursive list of files and directories.)
Message-ID: <handler.31601.B.15273094262434.ack <at> debbugs.gnu.org>
References: <m21sdzghii.wl%esq@HIDDEN>
X-Gnu-PR-Message: ack 31601
X-Gnu-PR-Package: emacs
Reply-To: 31601 <at> debbugs.gnu.org
Date: Sat, 26 May 2018 04:38:02 +0000

Thank you for filing a new bug report with debbugs.gnu.org.

This is an automatically generated reply to let you know your message
has been received.

Your message is being forwarded to the package maintainers and other
interested parties for their attention; they will reply in due course.

Your message has been sent to the package maintainer(s):
 bug-gnu-emacs@HIDDEN

If you wish to submit further information on this problem, please
send it to 31601 <at> debbugs.gnu.org.

Please do not send mail to help-debbugs@HIDDEN unless you wish
to report a problem with the Bug-tracking system.

--=20
31601: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D31601
GNU Bug Tracking System
Contact help-debbugs@HIDDEN with problems


Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#31601: Dired/Wdired: Play nicely with recursive list of files and directories.
Resent-From: Tino Calancha <tino.calancha@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sat, 26 May 2018 09:03:01 +0000
Resent-Message-ID: <handler.31601.B31601.15273253631518 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 31601
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Keith David Bershatsky <esq@HIDDEN>
Cc: 31601 <at> debbugs.gnu.org, tino.calancha@HIDDEN
Received: via spool by 31601-submit <at> debbugs.gnu.org id=B31601.15273253631518
          (code B ref 31601); Sat, 26 May 2018 09:03:01 +0000
Received: (at 31601) by debbugs.gnu.org; 26 May 2018 09:02:43 +0000
Received: from localhost ([127.0.0.1]:49017 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1fMV63-0000OQ-AS
	for submit <at> debbugs.gnu.org; Sat, 26 May 2018 05:02:43 -0400
Received: from mail-pl0-f46.google.com ([209.85.160.46]:41922)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <tino.calancha@HIDDEN>) id 1fMV60-0000O8-M4
 for 31601 <at> debbugs.gnu.org; Sat, 26 May 2018 05:02:41 -0400
Received: by mail-pl0-f46.google.com with SMTP id az12-v6so4467198plb.8
 for <31601 <at> debbugs.gnu.org>; Sat, 26 May 2018 02:02:40 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:to:cc:subject:references:date:in-reply-to:message-id
 :user-agent:mime-version;
 bh=vhJQzPTl3/l/pfr/ZAfVLz2hxwuL4DTTyS44aXLWVQo=;
 b=ipGsxuhQJml2P4jfcMHmbFcGfOfhkrjgtR9YbxwJkd2b90924cx5eTSSZaB5Kfdf+g
 nW7pI12363B/kryBrt/k9zyNCM6gOxmwYNSehc5zRx4nXA2dL7wa64Fl366Fl+QGCB+G
 rIKRiG97kHz23VicDO9tuSUkhY21CVli2IGcHSDqXWjdlAUMmXTt9FV8kqi+OZ/kIe82
 2E0ej7R870ktCKo3cQsCluXVWLfMN9v5XSS4W3BN1pLciChIuXq+hLElxiSYZw3DvtAg
 AQ5SjbVevkmeA+aOOSXtn7neZDaWNrfU1XisDcC1HEETDDuH4Zlr9+88HKy6Oy4wySuV
 y6FQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to
 :message-id:user-agent:mime-version;
 bh=vhJQzPTl3/l/pfr/ZAfVLz2hxwuL4DTTyS44aXLWVQo=;
 b=XD/M0YSwf+yrSGX1KaskkiZ6wi0O75loN3lp7or4E7rWFDXU4cpSnUWJu98s8adAsm
 sXxTnccGcCSa5SMYAEKs2FNtC28Tg2ti6HACs7lMU8IOPo1rNeCt/VYW2BiViNlNNXXI
 TKSYvrPFCUCXGlgBb6hP+N4Fn4dbo6NnbEK3kf0y5GIn4tQYE/qzkrW7uGG7uivR3RJ/
 Ma74QECy7FXVUld+CHqOYPaSxhv/DASdq4KI/4zIBMeANgXKtWPnCwSDVvOvB2n2+Cf8
 marhYP2IfjJbqK6qNUQertlFd+3ryP0JQuVK8RQsKIt4M4jkswH61OZq2ato0A7zyykm
 a0+g==
X-Gm-Message-State: ALKqPwd4K4FF53oayI0laVmofrPr2R83Giw/b9GulRMp8A7/t9v7huav
 o+3RLnwfxYcpqMAz6XyFHMo=
X-Google-Smtp-Source: AB8JxZqEDq1qQ6LKcDYtxr9Qffjm2+Y0DY4x4gg/jM5yQ4W7wR9j5UQeZYuFwVSOZk10UHxPgDG5Ng==
X-Received: by 2002:a17:902:6b04:: with SMTP id
 o4-v6mr5843721plk.101.1527325354666; 
 Sat, 26 May 2018 02:02:34 -0700 (PDT)
Received: from calancha-pc ([240f:6e:ee9a:1:adc4:139f:709c:10b])
 by smtp.gmail.com with ESMTPSA id x2-v6sm35894756pgc.53.2018.05.26.02.02.32
 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256);
 Sat, 26 May 2018 02:02:33 -0700 (PDT)
From: Tino Calancha <tino.calancha@HIDDEN>
References: <m21sdzghii.wl%esq@HIDDEN>
Date: Sat, 26 May 2018 18:02:26 +0900
In-Reply-To: <m21sdzghii.wl%esq@HIDDEN> (Keith David Bershatsky's message
 of "Fri, 25 May 2018 21:36:37 -0700")
Message-ID: <87zi0m6b8d.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Keith David Bershatsky <esq@HIDDEN> writes:

> I occasionally have the need to rename files and directories that are recursively located.  I create a dired-mode buffer as follows:
>
>     (dired (directory-files-recursively "/path/to/directory" "" 'include-directories))
>
> Wdired:  The first problem is that `wdired-get-filename' needs to be modified so that it handles absolute paths differently than relative filenames.

> Dired:  The second problem is a dired-mode problem in that the `dired-directory' variable is not updated when renaming a file

Thank you for your report Keith!
You are right, it looks annoying.

Though I haven't arrived with an ideal solution, following
are two ways how I would try to perform a similar task.

I)
If you are lucky and "sh" points to a shell that
supports globstar (zsh, fish), or if you are using dired
via `em-ls', then you can do:
M-x dired /path/to/directory/**/* RET
;; Now both, wdired and `dired-do-rename' works fine.

[If you are using bash or ksh, that support globstar but
disable it by default, then you might be interestd in my
proposal in Bug#31495: it gives the chance to enable such
feature on dired via an user option.]

II)
Another way could be to use a command of the `find-dired' family:
M-x find-name-dired /path/to/directory/ RET * RET
;; I just noticed that wdired resets `revert-buffer-function' also for
;; these dired buffers.  IMO it shouldn't, so I would propose
;; something like this:
--8<-----------------------------cut here---------------start------------->8---
commit 58842a20f570d32f5d3f90aced8f0e8c1b1535a7
Author: Tino Calancha <tino.calancha@HIDDEN>
Date:   Sat May 26 17:39:29 2018 +0900

    Preserve revert-buffer-function on find-dired buffers
    
    * lisp/wdired.el (wdired-find-dired-buffer-p): New predicate.
    (wdired-change-to-wdired-mode, wdired-change-to-dired-mode):
    Preserve `revert-buffer-function' on dired buffers created
    with `find-dired' commands.

diff --git a/lisp/wdired.el b/lisp/wdired.el
index bb60e77776..de5b327d75 100644
--- a/lisp/wdired.el
+++ b/lisp/wdired.el
@@ -228,6 +228,12 @@ wdired-mode
   (error "This mode can be enabled only by `wdired-change-to-wdired-mode'"))
 (put 'wdired-mode 'mode-class 'special)
 
+(defun wdired-find-dired-buffer-p ()
+  "Return non-nil if the dired buffer comes from a `find-dired' command."
+  (save-excursion
+    (goto-char (point-min))
+    (forward-line 1)
+    (re-search-forward (format "^\\s-*%s " find-program) nil t)))
 
 ;;;###autoload
 (defun wdired-change-to-wdired-mode ()
@@ -257,7 +263,8 @@ wdired-change-to-wdired-mode
   (add-hook 'kill-buffer-hook 'wdired-check-kill-buffer nil t)
   (setq major-mode 'wdired-mode)
   (setq mode-name "Editable Dired")
-  (setq revert-buffer-function 'wdired-revert)
+  (unless (wdired-find-dired-buffer-p)
+    (setq revert-buffer-function 'wdired-revert))
   ;; I temp disable undo for performance: since I'm going to clear the
   ;; undo list, it can save more than a 9% of time with big
   ;; directories because setting properties modify the undo-list.
@@ -363,7 +370,8 @@ wdired-change-to-dired-mode
   (setq mode-name "Dired")
   (dired-advertise)
   (remove-hook 'kill-buffer-hook 'wdired-check-kill-buffer t)
-  (set (make-local-variable 'revert-buffer-function) 'dired-revert))
+  (unless (wdired-find-dired-buffer-p)
+    (set (make-local-variable 'revert-buffer-function) 'dired-revert)))
 
 
 (defun wdired-abort-changes ()
--8<-----------------------------cut here---------------end--------------->8---
In GNU Emacs 27.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.22.11)
 of 2018-05-26 built on calancha-pc
Repository revision: 66c9ab90d5f8b566467549bf1d48c936bc6d296b





Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#31601: Dired/Wdired: Play nicely with recursive list of files and directories.
References: <m21sdzghii.wl%esq@HIDDEN>
In-Reply-To: <m21sdzghii.wl%esq@HIDDEN>
Resent-From: Keith David Bershatsky <esq@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sat, 26 May 2018 18:52:02 +0000
Resent-Message-ID: <handler.31601.B31601.15273607006341 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 31601
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Tino Calancha <tino.calancha@HIDDEN>
Cc: 31601 <at> debbugs.gnu.org
Received: via spool by 31601-submit <at> debbugs.gnu.org id=B31601.15273607006341
          (code B ref 31601); Sat, 26 May 2018 18:52:02 +0000
Received: (at 31601) by debbugs.gnu.org; 26 May 2018 18:51:40 +0000
Received: from localhost ([127.0.0.1]:49898 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1fMeHz-0001eC-PW
	for submit <at> debbugs.gnu.org; Sat, 26 May 2018 14:51:39 -0400
Received: from gateway36.websitewelcome.com ([192.185.193.12]:34114)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <esq@HIDDEN>) id 1fMeHx-0001e4-Ny
 for 31601 <at> debbugs.gnu.org; Sat, 26 May 2018 14:51:38 -0400
Received: from cm15.websitewelcome.com (cm15.websitewelcome.com [100.42.49.9])
 by gateway36.websitewelcome.com (Postfix) with ESMTP id B8892400E9F63
 for <31601 <at> debbugs.gnu.org>; Sat, 26 May 2018 13:51:36 -0500 (CDT)
Received: from gator3053.hostgator.com ([50.87.144.69]) by cmsmtp with SMTP
 id MeHwfB2f5bXuJMeHwfS48h; Sat, 26 May 2018 13:51:36 -0500
X-Authority-Reason: nr=8
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lawlist.com
 ; s=default;
 h=Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Cc
 :To:From:Message-ID:Date:Sender:Reply-To:Content-ID:Content-Description:
 Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
 In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe:
 List-Post:List-Owner:List-Archive;
 bh=dfxYY8qM5/sTv6+4FllPxlLLJEe1d0uduvFktrVD0Ts=; b=kdGF9MtBy62no0Cyc4uPJxHadL
 DrSiVDSVeSVpjOVX5Divpj1XNvsqNg4ilJWrQOsiOCiARiiB0v/A/3g0zIBfm8eOgPMguSH7RDn/3
 64NcNZPOSvtEOCOyTAysUJfbUYcM8bJNK7Ixlp71kBmGyMgc5Hb3hdJb74wNZXFPTtCioHvZi/lE6
 ORnnqs7N0hsq2+W4ycp3hNATZW/X0X8kgLE7trCHRgUCPXNgNU7oCbzfIeA0DbJWj97JsODvbnGe3
 UKyx3S6uX12qgUpWXw8JxqT0uHG2upwQ6W1iTj44Xdq9x4Wsl0MLczrgOdwo6HKW7iiMrxOIzULPO
 p4N2Qpmw==;
Received: from cpe-45-48-239-195.socal.res.rr.com ([45.48.239.195]:51193
 helo=server.local)
 by gator3053.hostgator.com with esmtpsa (TLSv1:DHE-RSA-AES256-SHA:256)
 (Exim 4.89_1) (envelope-from <esq@HIDDEN>)
 id 1fMeHv-003Zfe-TX; Sat, 26 May 2018 13:51:35 -0500
Date: Sat, 26 May 2018 11:51:35 -0700
Message-ID: <m2k1rqp7wo.wl%esq@HIDDEN>
From: Keith David Bershatsky <esq@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-AntiAbuse: This header was added to track abuse,
 please include it with any abuse report
X-AntiAbuse: Primary Hostname - gator3053.hostgator.com
X-AntiAbuse: Original Domain - debbugs.gnu.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - lawlist.com
X-BWhitelist: no
X-Source-IP: 45.48.239.195
X-Source-L: No
X-Exim-ID: 1fMeHv-003Zfe-TX
X-Source: 
X-Source-Args: 
X-Source-Dir: 
X-Source-Sender: cpe-45-48-239-195.socal.res.rr.com (server.local)
 [45.48.239.195]:51193
X-Source-Auth: lawlist
X-Email-Count: 1
X-Source-Cap: bGF3bGlzdDtsYXdsaXN0O2dhdG9yMzA1My5ob3N0Z2F0b3IuY29t
X-Local-Domain: yes
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Thank you for the alternative approaches.  I applied the new diff and was able to successfully use the second option with `find-dired`.

As to the first option, however, I would need to spend time learning about zsh, fish and em-ls.  So, that exploration would need to wait for a rainy day.

Oh, by the way, please consider adding a `nil` to the end of `(defvar wdired-old-marks)` so that the user does not experience this:

funcall-interactively: Symbol’s value as variable is void: wdired-old-marks

In my spare time, I will most likely continue implementing functionality for wdired playing nice with:

(dired (directory-files-recursively "/path/to/directory" "" 'include-directories))

That will entail:  (1) placing read-only text properties over areas that cannot be changed; (2) when I modify a directory, I will need to propagate that change throughout the applicable entries of `dired-directory'; (3) I will consider implementing a hash-table approach with `dired-directory` entries for increased speed.

Keith

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

DATE:  [05-26-2018 02:02:26] <26 May 2018 18:02:26 +0900>
FROM:  Tino Calancha <tino.calancha@HIDDEN>
> 
> * * *

> I)
> If you are lucky and "sh" points to a shell that
> supports globstar (zsh, fish), or if you are using dired
> via `em-ls', then you can do:
> M-x dired /path/to/directory/**/* RET
> ;; Now both, wdired and `dired-do-rename' works fine.
> 
> [If you are using bash or ksh, that support globstar but
> disable it by default, then you might be interestd in my
> proposal in Bug#31495: it gives the chance to enable such
> feature on dired via an user option.]
> 
> II)
> Another way could be to use a command of the `find-dired' family:
> M-x find-name-dired /path/to/directory/ RET * RET

* * *




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#31601: Dired/Wdired: Play nicely with recursive list of files and directories.
References: <m21sdzghii.wl%esq@HIDDEN>
In-Reply-To: <m21sdzghii.wl%esq@HIDDEN>
Resent-From: Keith David Bershatsky <esq@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Mon, 28 May 2018 23:12:02 +0000
Resent-Message-ID: <handler.31601.B31601.15275491047940 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 31601
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Tino Calancha <tino.calancha@HIDDEN>
Cc: 31601 <at> debbugs.gnu.org
Received: via spool by 31601-submit <at> debbugs.gnu.org id=B31601.15275491047940
          (code B ref 31601); Mon, 28 May 2018 23:12:02 +0000
Received: (at 31601) by debbugs.gnu.org; 28 May 2018 23:11:44 +0000
Received: from localhost ([127.0.0.1]:52901 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1fNRIm-000240-Bd
	for submit <at> debbugs.gnu.org; Mon, 28 May 2018 19:11:44 -0400
Received: from gateway31.websitewelcome.com ([192.185.143.52]:12458)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <esq@HIDDEN>) id 1fNRIj-00023p-0I
 for 31601 <at> debbugs.gnu.org; Mon, 28 May 2018 19:11:42 -0400
Received: from cm11.websitewelcome.com (cm11.websitewelcome.com [100.42.49.5])
 by gateway31.websitewelcome.com (Postfix) with ESMTP id 552D5FCE2
 for <31601 <at> debbugs.gnu.org>; Mon, 28 May 2018 18:11:40 -0500 (CDT)
Received: from gator3053.hostgator.com ([50.87.144.69]) by cmsmtp with SMTP
 id NRIhfGFHQRPojNRIifxXid; Mon, 28 May 2018 18:11:40 -0500
X-Authority-Reason: nr=8
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lawlist.com
 ; s=default;
 h=Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Cc
 :To:From:Message-ID:Date:Sender:Reply-To:Content-ID:Content-Description:
 Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
 In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe:
 List-Post:List-Owner:List-Archive;
 bh=3xI9YFan3hXVVEPg/DQbmA05uvahihdJ9VUvkL0OEo8=; b=KnF4ciS6VvXv9aHEYX++vgg7Iv
 9qt54UVyt3+NaC6IcZh3+jYeO9TDr5s1gzPnkq3js0eqKzglUt6n7n0eO28R73UEVDhJ5Qi4ZQM2M
 8U5HOgF5SOj2NmvA3j6thWvzu+OB/CUxenD6hHPGzykSt9n3TMF6cJhmUJ42om0fVV3j4oYcI4MEC
 gGMpWLSTNN1aNQZVfWy6lLHAOwIZIk/N6daiSQO2BWMsAQ8HVAoQIrHDjnhGorubm4x6TIzGaOkdh
 bnTYwZcGXV9eGysmE8pYkzQcbq/x+TAWcAB/OVVn8euslZj39aEcK9Um7L/2i0B4G9n2nPDJaoXPV
 aaKS2dsg==;
Received: from cpe-45-48-239-195.socal.res.rr.com ([45.48.239.195]:53964
 helo=server.local)
 by gator3053.hostgator.com with esmtpsa (TLSv1:DHE-RSA-AES256-SHA:256)
 (Exim 4.89_1) (envelope-from <esq@HIDDEN>)
 id 1fNRIh-002zJX-7l; Mon, 28 May 2018 18:11:39 -0500
Date: Mon, 28 May 2018 16:11:38 -0700
Message-ID: <m2h8mr2x5h.wl%esq@HIDDEN>
From: Keith David Bershatsky <esq@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="Multipart_Mon_May_28_16:11:38_2018-1"
Content-Transfer-Encoding: 8bit
X-AntiAbuse: This header was added to track abuse,
 please include it with any abuse report
X-AntiAbuse: Primary Hostname - gator3053.hostgator.com
X-AntiAbuse: Original Domain - debbugs.gnu.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - lawlist.com
X-BWhitelist: no
X-Source-IP: 45.48.239.195
X-Source-L: No
X-Exim-ID: 1fNRIh-002zJX-7l
X-Source: 
X-Source-Args: 
X-Source-Dir: 
X-Source-Sender: cpe-45-48-239-195.socal.res.rr.com (server.local)
 [45.48.239.195]:53964
X-Source-Auth: lawlist
X-Email-Count: 1
X-Source-Cap: bGF3bGlzdDtsYXdsaXN0O2dhdG9yMzA1My5ob3N0Z2F0b3IuY29t
X-Local-Domain: yes
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--Multipart_Mon_May_28_16:11:38_2018-1
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Attached is a draft/proof-concept patch.diff of my ideas regarding how to make dired/wdired play nicely with an arbitrary list of files and folders, including a recursive list.  I asked for some help on emacs.stackexchange.com to implement these new approaches, and used the answers by @Drew, @Tobias and @Andreas Röhler.  Citations to their answers are included in the draft/proof-concept patch.  I would need some help regarding how to update the dired-directory variable when deleting a file in a regular dired-mode buffer, and I have added a FIXME notation in the likely spot of `dired.el` -- the approach would be similar to renaming a file (already implemented in the attached draft patch), but is a bit more complicated due to potential recursive deletions.

The file-name-nondirectory components in wdired-mode now have read-only attributes so that a user no longer erroneously believes that he/she can modify them, and only latter see an error message when trying to commit the changes:  file-error Renaming No such file or directory ....

I have only done some basic renaming of files and directories in wdired mode using both `find-name-dired` and `dired-list-files-folders' to populate the dired- buffer.  I did not spend any time implementing hash-tables to speed up the modification of the dired-directory variable, as that would likely involve modifying a few or more aspects of dired-mode.

Thanks,

Keith


--Multipart_Mon_May_28_16:11:38_2018-1
Content-Type: application/diff; type=patch
Content-Disposition: attachment; filename="patch.diff"
Content-Transfer-Encoding: base64

ZGlmZiAtLWdpdCBhL2xpc3AvZGlyZWQtYXV4LmVsIGIvbGlzcC9kaXJlZC1hdXguZWwKaW5kZXgg
ODIxYjdkNy4uYjk4YzAwOCAxMDA2NDQKLS0tIGEvbGlzcC9kaXJlZC1hdXguZWwKKysrIGIvbGlz
cC9kaXJlZC1hdXguZWwKQEAgLTE1OTAsMTEgKzE1OTAsNjggQEAgSWYgYGFzaycsIGFzayBmb3Ig
dXNlciBjb25maXJtYXRpb24uIgogCSAgICAgICBkaXJlZC1jcmVhdGUtZmlsZXMtZmFpbHVyZXMp
CiAJIChkaXJlZC1sb2cgIkNhbid0IHNldCBkYXRlIG9uICVzOlxuJXNcbiIgZnJvbSBlcnIpKSkp
KSkKIAorOzs7IChzZXRxIG15bGlzdCAnKCJhcHBsZSIgInBlYXIiICJwZWFjaCIgIm5lY3Rhcmlu
ZSIgIndhdGVybWVsb24iKSkKKzs7OyAoYXItcmVwbGFjZS0taW4tbGlzdCAiYXBwbGUiICJjaGVy
cnkiIG15bGlzdCkKKzs7OyBXcml0dGVuIGJ5IEBBbmRyZWFzIFLDtmhsZXI6ICBodHRwczovL2Vt
YWNzLnN0YWNrZXhjaGFuZ2UuY29tL2EvNDE2MzEvMjI4NworKGRlZnVuIGFyLXJlcGxhY2UtLWlu
LWxpc3QgKGVsZW0gcmVwbGFjZW1lbnQgbGlzdCkKKyAgIkV4cGVjdHMgYSBMSVNUIG9mIHN0cmlu
Z3MuCitFTEVNOiBlbGVtZW50IHRvIHJlcGxhY2UgYnkgYXJnIFJFUExBQ0VNRU5UIgorICAobGV0
IChuZXdsaXN0KQorICAgIChkb2xpc3QgKGVsZSBsaXN0KQorICAgICAgKGlmIChzdHJpbmc9IGVs
ZSBlbGVtKQorICAgICAgICAocHVzaCByZXBsYWNlbWVudCBuZXdsaXN0KQorICAgICAgICAocHVz
aCBlbGUgbmV3bGlzdCkpKQorICAgIChucmV2ZXJzZSBuZXdsaXN0KSkpCisKKyhkZWZ1biByZXBs
YWNlLWRpcmVjdG9yeS1uYW1lLWluLWZpbGVzIChvbGQgbmV3IGxpc3QpCisiUmVwbGFjZSBpbiBm
aWxlLW5hbWVzL2RpcmVjdG9yeS1uYW1lcyBhbGwgb2NjdXJyZW5jZXMgb2YgT0xEIGRpcmVjdG9y
eSBuYW1lCit3aXRoIE5FVyBkaXJlY3RvcnkgbmFtZSBpbiB0aGUgTElTVC4iCisgIChsZXQgKChy
ZWdleHAtb2xkIChjb25jYXQgIl4iIChyZWdleHAtcXVvdGUgb2xkKSkpCisgICAgICAgIG5ld2xp
c3QpCisgICAgKGRvbGlzdCAoZmlsZSBsaXN0KQorICAgICAgOzs7IGBkaXJlZC1ub3NlbGVjdCcg
bWF5IHNldCB0aGUgZmlyc3QgZWxlbWVudCBvZiBgZGlyZWQtZGlyZWN0b3J5JyB3aXRoIGEgbGVh
ZGluZyB+CisgICAgICA7OzsgICAoYWJicmV2aWF0ZS1maWxlLW5hbWUgKGV4cGFuZC1maWxlLW5h
bWUgKGRpcmVjdG9yeS1maWxlLW5hbWUgIi9Vc2Vycy9Ib21lL2ZvbyIpKSkgPT4gIn4vZm9vIgor
ICAgICAgOzs7CisgICAgICA7OzsgV2UgdXNlIE5FVyB0byB0ZXN0IGZvciBgZmlsZS1kaXJlY3Rv
cnktcCcgYmVjYXVzZSB0aGUgZGlyZWN0b3J5CisgICAgICA7OzsgaGFzIGFscmVhZHkgYmVlbiBy
ZW5hbWVkIGJ5IHRoZSB0aW1lIHdlIGdldCBoZXJlLiAgQWx0ZXJuYXRpdmVseSwKKyAgICAgIDs7
OyB3ZSBjb3VsZCB0ZXN0IHRoZSBPTEQgZmlsZW5hbWUgdG8gc2VlIGlmIGl0IGlzIGEgZGlyZWN0
b3J5IGF0IHRoZQorICAgICAgOzs7IHRoZSBvdXRzZXQgb2YgYGRpcmVkLXJlbmFtZS1maWxlJyBh
bmQgc2F2ZSB0aGUgcmVzdWx0LgorICAgICAgOzs7CisgICAgICA7OzsgRklYTUU6ICBXZSBuZWVk
IGFuIGFkZGl0aW9uYWwgdGVzdCBhbmQgdGhlbiBkZWFsIHdpdGggYSBob21lIGRpcmVjdG9yeSB+
LgorICAgICAgOzs7IFRoZSBjb2RlIGRvZXMgbm90IHByZXNlbnRseSBkZWFsIHdpdGggYSAifi9m
b28vYmFyIiBmaWxlIHdoZW4gdGhlCisgICAgICA7OzsgZGlyZWN0b3J5IGBmb29gIGlzIHJlbmFt
ZWQuICBgcmVuYW1lLWZpbGUnIHdpbGwgZXJyb3IuCisgICAgICAoaWYgKGFuZCAoZmlsZS1kaXJl
Y3RvcnktcCBuZXcpCisgICAgICAgICAgICAgICAoc3RyaW5nLW1hdGNoIHJlZ2V4cC1vbGQgZmls
ZSkKKyAgICAgICAgICAgICAgIDs7OyBCZWNhdXNlIHdlIGhhdmUgYWxyZWFkeSBwcm9jZXNzZWQg
YGFyLXJlcGxhY2UtLWluLWxpc3QnLAorICAgICAgICAgICAgICAgOzs7IHRoZSBORVcgbmFtZSBp
cyBhbHJlYWR5IGluIGBkaXJlZC1kaXJlY3RvcnknLgorICAgICAgICAgICAgICAgKG5vdCAoZXF1
YWwgbmV3IGZpbGUpKSkKKyAgICAgICAgIChwdXNoIChyZXBsYWNlLXJlZ2V4cC1pbi1zdHJpbmcg
cmVnZXhwLW9sZCBuZXcgZmlsZSkgbmV3bGlzdCkKKyAgICAgICAgIChwdXNoIGZpbGUgbmV3bGlz
dCkpKQorICAgIChucmV2ZXJzZSBuZXdsaXN0KSkpCisKIDs7OyMjI2F1dG9sb2FkCiAoZGVmdW4g
ZGlyZWQtcmVuYW1lLWZpbGUgKGZpbGUgbmV3bmFtZSBvay1pZi1hbHJlYWR5LWV4aXN0cykKICAg
KGRpcmVkLWhhbmRsZS1vdmVyd3JpdGUgbmV3bmFtZSkKICAgKGRpcmVkLW1heWJlLWNyZWF0ZS1k
aXJzIChmaWxlLW5hbWUtZGlyZWN0b3J5IG5ld25hbWUpKQogICAocmVuYW1lLWZpbGUgZmlsZSBu
ZXduYW1lIG9rLWlmLWFscmVhZHktZXhpc3RzKSA7IGVycm9yIGlzIGNhdWdodCBpbiAtY3JlYXRl
LWZpbGVzCisgIDs7OyBJbiB0aGUgY29udGV4dCBvZiBgd2RpcmVkLWZpbmlzaC1lZGl0JywgaXQg
Y2FsbHMgYHdkaXJlZC1kby1yZW5hbWVzJyBhbmQKKyAgOzs7IHRoYXQgZnVuY3Rpb24gY29udGFp
bnMgYSBgY29uZGl0aW9uLWNhc2UnIHNlY3Rpb24gdGhhdCBjb3VudHMgdGhlIG51bWJlciBvZiBl
cnJvcnMuCisgIDs7OyBGb3IgcHVycG9zZXMgb2YgYGRpcmVkLXJlbmFtZS1maWxlJywgdGhlIGZ1
bmN0aW9uIGV4aXN0cyBhcyBzb29uIGFzIGByZW5hbWUtZmlsZScKKyAgOzs7IHRocm93cyBhbiBl
cnJvciwgc28gd2UgbmV2ZXIgZ2V0IHRvIHRoZSByZXN0IG9mIHRoaXMgZnVuY3Rpb24gYmVsb3cg
d2hlbiBhIHJlbmFtaW5nIGVycm9yIG9jY3Vycy4KKyAgOzs7CisgIDs7OyBVcGRhdGUgdGhlIGBk
aXJlZC1kaXJlY3RvcnknIGJ5IHJlcGxhY2luZyBGSUxFIHdpdGggTkVXTkFNRS4KKyAgKHdoZW4g
KGFuZCAobGlzdHAgZGlyZWQtZGlyZWN0b3J5KQorICAgICAgICAgICAgIChtZW1iZXIgZmlsZSBk
aXJlZC1kaXJlY3RvcnkpKQorICAgIChzZXRxIGRpcmVkLWRpcmVjdG9yeQorICAgICAgKGFyLXJl
cGxhY2UtLWluLWxpc3QgZmlsZSBuZXduYW1lIGRpcmVkLWRpcmVjdG9yeSkpKQorICA7OzsgSWYg
RklMRSBpcyBhIGRpcmVjdG9yeSwgdGhlbiB1cGRhdGUgdGhlIGBkaXJlZC1kaXJlY3RvcnknIGJ5
CisgIDs7OyByZXBsYWNpbmcgYWxsIG9jY3VycmVuY2VzIG9mIHRoYXQgZGlyZWN0b3J5IG5hbWUg
d2l0aGluIGFueSBmaWxlbmFtZXMuCisgICh3aGVuIChhbmQgKGxpc3RwIGRpcmVkLWRpcmVjdG9y
eSkKKyAgICAgICAgICAgICAgIDs7OyBCZWNhdXNlIHdlIGhhdmUgYWxyZWFkeSBwcm9jZXNzZWQg
YGFyLXJlcGxhY2UtLWluLWxpc3QnLAorICAgICAgICAgICAgICAgOzs7IHRoZSBORVdOQU1FIGlz
IGFscmVhZHkgaW4gYGRpcmVkLWRpcmVjdG9yeScuCisgICAgICAgICAgICAgKG1lbWJlciBuZXdu
YW1lIGRpcmVkLWRpcmVjdG9yeSkpCisgICAgKHNldHEgZGlyZWQtZGlyZWN0b3J5CisgICAgICAg
ICAgIChyZXBsYWNlLWRpcmVjdG9yeS1uYW1lLWluLWZpbGVzIGZpbGUgbmV3bmFtZSBkaXJlZC1k
aXJlY3RvcnkpKSkKICAgOzsgU2lsZW50bHkgcmVuYW1lIHRoZSB2aXNpdGVkIGZpbGUgb2YgYW55
IGJ1ZmZlciB2aXNpdGluZyB0aGlzIGZpbGUuCiAgIChhbmQgKGdldC1maWxlLWJ1ZmZlciBmaWxl
KQogICAgICAgICh3aXRoLWN1cnJlbnQtYnVmZmVyIChnZXQtZmlsZS1idWZmZXIgZmlsZSkKZGlm
ZiAtLWdpdCBhL2xpc3AvZGlyZWQuZWwgYi9saXNwL2RpcmVkLmVsCmluZGV4IDEzNDhkZjYuLjVj
NDU3NjQgMTAwNjQ0Ci0tLSBhL2xpc3AvZGlyZWQuZWwKKysrIGIvbGlzcC9kaXJlZC5lbApAQCAt
MzExOSw2ICszMTE5LDExIEBAIG5vbi1lbXB0eSBkaXJlY3RvcmllcyBpcyBhbGxvd2VkLiIKIAkg
ICAgICAobGV0ICgoaW5oaWJpdC1yZWFkLW9ubHkgdCkpCiAJCShjb25kaXRpb24tY2FzZSBlcnIK
IAkJICAgIChsZXQgKChmbiAoY2FyIChjYXIgbCkpKSkKKwkJICAgICAgOzs7IGh0dHA6Ly9kZWJi
dWdzLmdudS5vcmcvY2dpL2J1Z3JlcG9ydC5jZ2k/YnVnPTMxNjAxCisJCSAgICAgIDs7OyBGSVhN
RTogIEBsYXdsaXN0IGNvdWxkIHVzZSBzb21lIGhlbHAgZmlndXJpbmcgb3V0IGhvdy93aGVuIHRv
CisJCSAgICAgIDs7OyB1cGRhdGUgdGhlIGBsYXdsaXN0LWRpcmVkLWRpcmVjdG9yeScgd2hlbiBp
dCBpcyBhIGxpc3QuICBUaGVyZSBhcmUKKwkJICAgICAgOzs7IGEgZmV3IGRpZmZlcmVudCBvcHRp
b25zIHRoYXQgQGxhd2xpc3QgZG9lcyBub3QgZnVsbHkgdW5kZXJzdGFuZAorCQkgICAgICA7Ozsg
c3VjaCBhcyBSRUNVUlNJVkUgZGVsZXRpb25zLgogCQkgICAgICAoZGlyZWQtZGVsZXRlLWZpbGUg
Zm4gZGlyZWQtcmVjdXJzaXZlLWRlbGV0ZXMgdHJhc2gpCiAJCSAgICAgIDs7IGlmIHdlIGdldCBo
ZXJlLCByZW1vdmluZyB3b3JrZWQKIAkJICAgICAgKHNldHEgc3VjYyAoMSsgc3VjYykpCmRpZmYg
LS1naXQgYS9saXNwL3dkaXJlZC5lbCBiL2xpc3Avd2RpcmVkLmVsCmluZGV4IGJiNjBlNzcuLmVk
NzVhOGYgMTAwNjQ0Ci0tLSBhL2xpc3Avd2RpcmVkLmVsCisrKyBiL2xpc3Avd2RpcmVkLmVsCkBA
IC03Niw2ICs3Niw2NyBAQAogKHJlcXVpcmUgJ2RpcmVkKQogKGF1dG9sb2FkICdkaXJlZC1kby1j
cmVhdGUtZmlsZXMtcmVnZXhwICJkaXJlZC1hdXgiKQogCis7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7
Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7
OzsKKzs7OyBodHRwOi8vZGViYnVncy5nbnUub3JnL2NnaS9idWdyZXBvcnQuY2dpP2J1Zz0zMTYw
MQorCis7OzsgV3JpdHRlbiBieSBUaW5vIENhbGFuY2hhCis7OzsgaHR0cHM6Ly9kZWJidWdzLmdu
dS5vcmcvY2dpL2J1Z3JlcG9ydC5jZ2k/YnVnPTMxNjAxIzgKKyhkZWZ1biB3ZGlyZWQtZmluZC1k
aXJlZC1idWZmZXItcCAoKQorICAiUmV0dXJuIG5vbi1uaWwgaWYgdGhlIGRpcmVkIGJ1ZmZlciBj
b21lcyBmcm9tIGEgYGZpbmQtZGlyZWQnIGNvbW1hbmQuIgorICAoc2F2ZS1leGN1cnNpb24KKyAg
ICAoZ290by1jaGFyIChwb2ludC1taW4pKQorICAgIChmb3J3YXJkLWxpbmUgMSkKKyAgICA7Ozsg
VGhlIGxpbmUgd2UgYXJlIGxvb2tpbmcgZm9yIGlzOiAgICAvdXNyL2Jpbi9maW5kIC4gXCggLWlu
YW1lIFwqIFwpIC1scworICAgIChyZS1zZWFyY2gtZm9yd2FyZCAoZm9ybWF0ICJeXFxzLSolcyAi
IGZpbmQtcHJvZ3JhbSkgbmlsIHQpKSkKKworKGRlZnVuIGRpcmVkLWxpc3QtZmlsZXMtZm9sZGVy
cyAoKQorIlByb2R1Y2UgYSBkaXJlZC1tb2RlIGJ1ZmZlciBvZiBhbGwgZmlsZXMvZm9sZGVycyBy
ZWN1cnNpdmVseS4iCisoaW50ZXJhY3RpdmUpCisgIChsZXQqICgocGF0aCAocmVhZC1kaXJlY3Rv
cnktbmFtZSAiRGlyZWN0b3J5OiAgIikpCisgICAgICAgICAoZGlyZWN0b3J5IChmaWxlLW5hbWUt
YXMtZGlyZWN0b3J5IHBhdGgpKSkKKyAgICAodW5sZXNzIChmaWxlLWRpcmVjdG9yeS1wIHBhdGgp
CisgICAgICAobGV0ICgoZGVidWctb24tcXVpdCBuaWwpCisgICAgICAgICAgICAobXNnIChmb3Jt
YXQgIk5vdCBhIGRpcmVjdG9yeTogJXMiIHBhdGgpKSkKKyAgICAgICAgKHNpZ25hbCAncXVpdCBg
KCxtc2cpKSkpCisgICAgKGxldCogKChkZWZhdWx0LWRpcmVjdG9yeSBkaXJlY3RvcnkpCisgICAg
ICAgICAgIChpbmNsdWRlLWRpcmVjdG9yaWVzICh3aGVuICh5LW9yLW4tcCAiSW5jbHVkZSBkaXJl
Y3Rvcmllcz8iKSB0KSkKKyAgICAgICAgICAgKGxzdCAoZGlyZWN0b3J5LWZpbGVzLXJlY3Vyc2l2
ZWx5IGRlZmF1bHQtZGlyZWN0b3J5ICIiIGluY2x1ZGUtZGlyZWN0b3JpZXMpKSkKKyAgICAgIDs7
OyBUaGUgZmlyc3QgZWxlbWVudCBpcyB0YWtlbiBhcyB0aGUgZGlyZWN0b3J5IG5hbWUuCisgICAg
ICAocHVzaCBkZWZhdWx0LWRpcmVjdG9yeSBsc3QpCisgICAgICAoZGlyZWQgbHN0KSkpKQorCis7
OzsgV3JpdHRlbiBieSBEcmV3IEFkYW1zIGZyb20gaGlzIGRpcmVkKyBsaWJyYXJ5OyBzZWUgYWxz
byB0aGUgZXhhbXBsZSBwb3N0ZWQgdG8KKzs7OyBodHRwczovL2VtYWNzLnN0YWNrZXhjaGFuZ2Uu
Y29tL2EvNDE2NjkvMjI4NworKGRlZnVuIGRpcmVkcC1yb290LWRpcmVjdG9yeS1wIChmaWxlKQor
ICAiUmV0dXJuIG5vbi1uaWwgaWYgRklMRSBpcyBhIHJvb3QgZGlyZWN0b3J5LiIKKyAgKGlmIChm
Ym91bmRwICdhbmdlLWZ0cC1yb290LWRpci1wKQorICAgICAgKGFuZ2UtZnRwLXJvb3QtZGlyLXAg
KGZpbGUtbmFtZS1hcy1kaXJlY3RvcnkgZmlsZSkpCisgICAgOzsgVGhpcyBpcyBlc3NlbnRpYWxs
eSBgYW5nZS1mdHAtcm9vdC1kaXItcCcgYXBwbGllZCB0byBgZmlsZS1uYW1lLWFzLWRpcmVjdG9y
eScuCisgICAgOzsgSWYgYGFuZ2UtZnRwLXJvb3QtZGlyLXAnIGNoYW5nZXMsIHVwZGF0ZSB0aGlz
IGNvZGUuCisgICAgKG9yIChhbmQgKGVxIHN5c3RlbS10eXBlICd3aW5kb3dzLW50KQorICAgICAg
ICAgICAgIChzdHJpbmctbWF0Y2gtcCAiXFxgW2EtekEtWl06Wy9cXF1cXCciIChmaWxlLW5hbWUt
YXMtZGlyZWN0b3J5IGZpbGUpKSkKKyAgICAgICAgKHN0cmluZz0gIi8iIGZpbGUpKSkpCisKKzs7
OyBXcml0dGVuIGJ5IERyZXcgQWRhbXMgZnJvbSBoaXMgZGlyZWQrIGxpYnJhcnk7IHNlZSBhbHNv
IHRoZSBleGFtcGxlIHBvc3RlZCB0bworOzs7IGh0dHBzOi8vZW1hY3Muc3RhY2tleGNoYW5nZS5j
b20vYS80MTY2OS8yMjg3CisoZGVmdW4gZGlyZWRwLXBhcmVudC1kaXIgKGZpbGUgJm9wdGlvbmFs
IHJlbGF0aXZlcCkKKyAgIlJldHVybiB0aGUgcGFyZW50IGRpcmVjdG9yeSBvZiBGSUxFLCBvciBu
aWwgaWYgbm9uZS4KK09wdGlvbmFsIGFyZyBSRUxBVElWRVAgbm9uLW5pbCBtZWFucyByZXR1cm4g
YSByZWxhdGl2ZSBuYW1lLCB0aGF0IGlzLAoranVzdCB0aGUgcGFyZW50IGNvbXBvbmVudC4iCisg
IChsZXQgKChwYXJlbnQgIChmaWxlLW5hbWUtZGlyZWN0b3J5IChkaXJlY3RvcnktZmlsZS1uYW1l
IChleHBhbmQtZmlsZS1uYW1lIGZpbGUpKSkpCisgICAgICAgIHJlbHBhcmVudCkKKyAgICAod2hl
biByZWxhdGl2ZXAKKyAgICAgIChzZXRxIHJlbHBhcmVudCAgKGZpbGUtbmFtZS1ub25kaXJlY3Rv
cnkgKGRpcmVjdG9yeS1maWxlLW5hbWUgcGFyZW50KSkpKQorICAgIChhbmQgKG5vdCAoZXF1YWwg
cGFyZW50IGZpbGUpKSAgKG9yIHJlbHBhcmVudCAgcGFyZW50KSkpKQorCisoZGVmaW5lLWtleSBk
aXJlZC1tb2RlLW1hcCAiciIgJ3dkaXJlZC1jaGFuZ2UtdG8td2RpcmVkLW1vZGUpCisKKyhkZWZp
bmUta2V5IGN0bC14LW1hcCAiZiIgJ2RpcmVkLWxpc3QtZmlsZXMtZm9sZGVycykKKworKGRlZmlu
ZS1rZXkgY3RsLXgtbWFwICJGIiAnZmluZC1uYW1lLWRpcmVkKQorCis7Ozs7Ozs7Ozs7Ozs7Ozs7
Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7
Ozs7Ozs7OzsKKwogKGRlZmdyb3VwIHdkaXJlZCBuaWwKICAgIk1vZGUgdG8gcmVuYW1lIGZpbGVz
IGJ5IGVkaXRpbmcgdGhlaXIgbmFtZXMgaW4gZGlyZWQgYnVmZmVycy4iCiAgIDpncm91cCAnZGly
ZWQpCkBAIC0yMDMsNyArMjY0LDcgQEAgbm9uZXhpc3RlbnQgZGlyZWN0b3J5IHdpbGwgZmFpbC4i
CiAoZGVmdmFyIHdkaXJlZC1jb2wtcGVybSkgOzsgQ29sdW1uIHdoZXJlIHRoZSBwZXJtaXNzaW9u
IGJpdHMgc3RhcnQKIChkZWZ2YXIgd2RpcmVkLW9sZC1jb250ZW50KQogKGRlZnZhciB3ZGlyZWQt
b2xkLXBvaW50KQotKGRlZnZhciB3ZGlyZWQtb2xkLW1hcmtzKQorKGRlZnZhciB3ZGlyZWQtb2xk
LW1hcmtzIG5pbCkKIAogKGRlZnVuIHdkaXJlZC1tb2RlICgpCiAgICJXcml0YWJsZSBEaXJlZCAo
V0RpcmVkKSBtb2RlLgpAQCAtMjU3LDcgKzMxOCw4IEBAIFNlZSBgd2RpcmVkLW1vZGUnLiIKICAg
KGFkZC1ob29rICdraWxsLWJ1ZmZlci1ob29rICd3ZGlyZWQtY2hlY2sta2lsbC1idWZmZXIgbmls
IHQpCiAgIChzZXRxIG1ham9yLW1vZGUgJ3dkaXJlZC1tb2RlKQogICAoc2V0cSBtb2RlLW5hbWUg
IkVkaXRhYmxlIERpcmVkIikKLSAgKHNldHEgcmV2ZXJ0LWJ1ZmZlci1mdW5jdGlvbiAnd2RpcmVk
LXJldmVydCkKKyAgKHVubGVzcyAod2RpcmVkLWZpbmQtZGlyZWQtYnVmZmVyLXApCisgICAgKHNl
dHEgcmV2ZXJ0LWJ1ZmZlci1mdW5jdGlvbiAnd2RpcmVkLXJldmVydCkpCiAgIDs7IEkgdGVtcCBk
aXNhYmxlIHVuZG8gZm9yIHBlcmZvcm1hbmNlOiBzaW5jZSBJJ20gZ29pbmcgdG8gY2xlYXIgdGhl
CiAgIDs7IHVuZG8gbGlzdCwgaXQgY2FuIHNhdmUgbW9yZSB0aGFuIGEgOSUgb2YgdGltZSB3aXRo
IGJpZwogICA7OyBkaXJlY3RvcmllcyBiZWNhdXNlIHNldHRpbmcgcHJvcGVydGllcyBtb2RpZnkg
dGhlIHVuZG8tbGlzdC4KQEAgLTI4NywxOSArMzQ5LDc5IEBAIG9yIFxcW3dkaXJlZC1hYm9ydC1j
aGFuZ2VzXSB0byBhYm9ydCBjaGFuZ2VzIikpKQogICAoc2F2ZS1leGN1cnNpb24KICAgICAoZ290
by1jaGFyIChwb2ludC1taW4pKQogICAgIChsZXQgKChiLXByb3RlY3Rpb24gKHBvaW50KSkKLQkg
IGZpbGVuYW1lKQorICAgICAgICAgIGZpbGVuYW1lIHAxIHAyIHAzIGZpbGUgYWJzb2x1dGUtcCkK
ICAgICAgICh3aGlsZSAobm90IChlb2JwKSkKIAkoc2V0cSBmaWxlbmFtZSAoZGlyZWQtZ2V0LWZp
bGVuYW1lIG5pbCB0KSkKICAgICAgICAgKHdoZW4gKGFuZCBmaWxlbmFtZQotCQkgICAobm90ICht
ZW1iZXIgKGZpbGUtbmFtZS1ub25kaXJlY3RvcnkgZmlsZW5hbWUpICcoIi4iICIuLiIpKSkpCi0J
ICAoZGlyZWQtbW92ZS10by1maWxlbmFtZSkKLQkgIDs7IFRoZSByZWFyLW5vbnN0aWNreSBwcm9w
ZXJ0eSBiZWxvdyBzaGFsbCBlbnN1cmUgdGhhdCB0ZXh0IHByZWNlZGluZwotCSAgOzsgdGhlIGZp
bGVuYW1lIGNhbid0IGJlIG1vZGlmaWVkLgotCSAgKGFkZC10ZXh0LXByb3BlcnRpZXMKLQkgICAo
MS0gKHBvaW50KSkgKHBvaW50KSBgKG9sZC1uYW1lICxmaWxlbmFtZSByZWFyLW5vbnN0aWNreSAo
cmVhZC1vbmx5KSkpCi0JICAocHV0LXRleHQtcHJvcGVydHkgYi1wcm90ZWN0aW9uIChwb2ludCkg
J3JlYWQtb25seSB0KQotCSAgKHNldHEgYi1wcm90ZWN0aW9uIChkaXJlZC1tb3ZlLXRvLWVuZC1v
Zi1maWxlbmFtZSB0KSkKLQkgIChwdXQtdGV4dC1wcm9wZXJ0eSAocG9pbnQpICgxKyAocG9pbnQp
KSAnZW5kLW5hbWUgdCkpCisgICAgICAgICAgICAgICAgICAgKG5vdCAobWVtYmVyIChmaWxlLW5h
bWUtbm9uZGlyZWN0b3J5IGZpbGVuYW1lKSAnKCIuIiAiLi4iKSkpKQorICAgICAgICAgIChzZXRx
IHAxIChkaXJlZC1tb3ZlLXRvLWZpbGVuYW1lKQorICAgICAgICAgICAgICAgIHAzIChkaXJlZC1t
b3ZlLXRvLWVuZC1vZi1maWxlbmFtZSAnbm8tZXJyb3IpCisgICAgICAgICAgICAgICAgZmlsZSAo
YnVmZmVyLXN1YnN0cmluZyBwMSBwMykpCisgICAgICAgICAgOzs7IEJFR0lOIGNvZGUgYm9ycm93
ZWQgZnJvbSBgZGlyZWQtZ2V0LWZpbGVuYW1lJy4KKyAgICAgICAgICA7OyBVbnF1b3RlIG5hbWVz
IHF1b3RlZCBieSBscyBvciBieSBkaXJlZC1pbnNlcnQtZGlyZWN0b3J5LgorICAgICAgICAgIDs7
IFRoaXMgY29kZSB3YXMgd3JpdHRlbiB1c2luZyBgcmVhZCcgdG8gdW5xdW90ZSwgYmVjYXVzZQor
ICAgICAgICAgIDs7IGl0J3MgZmFzdGVyIHRoYW4gc3Vic3RpdHV0aW5nIFwwMDcgKDQgY2hhcnMp
IC0+IF5HICgxCisgICAgICAgICAgOzsgY2hhcikgZXRjLiBpbiBhIGxpc3AgbG9vcC4gIFVuZm9y
dHVuYXRlbHksIHRoaXMgZGVjaXNpb24KKyAgICAgICAgICA7OyBoYXMgbmVjZXNzaXRhdGVkIGhh
Y2tzIHN1Y2ggYXMgZGVhbGluZyB3aXRoIGZpbGVuYW1lcworICAgICAgICAgIDs7IHdpdGggcXVv
dGF0aW9uIG1hcmtzIGluIHRoZWlyIG5hbWVzLgorICAgICAgICAgICh3aGlsZSAoc3RyaW5nLW1h
dGNoICJcXCg/OlteXFxdXFx8XFxgXFwpXFwoXCJcXCkiIGZpbGUpCisgICAgICAgICAgICAoc2V0
cSBmaWxlIChyZXBsYWNlLW1hdGNoICJcXFwiIiBuaWwgdCBmaWxlIDEpKSkKKyAgICAgICAgICA7
OyBVbmVzY2FwZSBhbnkgc3BhY2VzIGVzY2FwZWQgYnkgbHMgLWIgKGJ1ZyMxMDQ2OSkuCisgICAg
ICAgICAgOzsgT3RoZXIgLWIgcXVvdGVzLCBlZyBcdCwgXG4sIHdvcmsgdHJhbnNwYXJlbnRseS4K
KyAgICAgICAgICAoaWYgKGRpcmVkLXN3aXRjaGVzLWVzY2FwZS1wIGRpcmVkLWFjdHVhbC1zd2l0
Y2hlcykKKyAgICAgICAgICAgIChsZXQgKChzdGFydCAwKQorICAgICAgICAgICAgICAgICAgKHJl
cCAiIikKKyAgICAgICAgICAgICAgICAgIChzaGlmdCAtMSkpCisgICAgICAgICAgICAgIDs7IChp
ZiAoZXEgbG9jYWxwICd2ZXJiYXRpbSkKKyAgICAgICAgICAgICAgOzsgICAgIChzZXRxIHJlcCAi
XFxcXCIKKyAgICAgICAgICAgICAgOzsgICAgICAgICAgIHNoaWZ0ICsxKSkKKyAgICAgICAgICAg
ICAgKHdoaWxlIChzdHJpbmctbWF0Y2ggIlxcKFxcXFxcXCkgIiBmaWxlIHN0YXJ0KQorICAgICAg
ICAgICAgICAgIChzZXRxIGZpbGUgKHJlcGxhY2UtbWF0Y2ggcmVwIG5pbCB0IGZpbGUgMSkKKyAg
ICAgICAgICAgICAgICAgICAgICBzdGFydCAoKyBzaGlmdCAobWF0Y2gtZW5kIDApKSkpKSkKKyAg
ICAgICAgICAod2hlbiAoZXEgc3lzdGVtLXR5cGUgJ3dpbmRvd3MtbnQpCisgICAgICAgICAgICAo
c2F2ZS1tYXRjaC1kYXRhCisgICAgICAgICAgICAgIChsZXQgKChzdGFydCAwKSkKKyAgICAgICAg
ICAgICAgICAod2hpbGUgKHN0cmluZy1tYXRjaCAiXFxcXCIgZmlsZSBzdGFydCkKKyAgICAgICAg
ICAgICAgICAgIChhc2V0IGZpbGUgKG1hdGNoLWJlZ2lubmluZyAwKSA/LykKKyAgICAgICAgICAg
ICAgICAgIChzZXRxIHN0YXJ0IChtYXRjaC1lbmQgMCkpKSkpKQorICAgICAgICAgIDs7IEhlbmNl
IHdlIGRvbid0IG5lZWQgdG8gd29ycnkgYWJvdXQgY29udmVydGluZyBgXFwnIGJhY2sgdG8gYFwn
LgorICAgICAgICAgIChzZXRxIGZpbGUgKHJlYWQgKGNvbmNhdCAiXCIiIGZpbGUgIlwiIikpKQor
ICAgICAgICAgIDs7IFRoZSBhYm92ZSBgcmVhZCcgd2lsbCByZXR1cm4gYSB1bmlieXRlIHN0cmlu
ZyBpZiBGSUxFCisgICAgICAgICAgOzsgY29udGFpbnMgZWlnaHQtYml0LWNvbnRyb2wvZ3JhcGhp
YyBjaGFyYWN0ZXJzLgorICAgICAgICAgIChpZiAoYW5kIGVuYWJsZS1tdWx0aWJ5dGUtY2hhcmFj
dGVycworICAgICAgICAgICAgICAgICAgIChub3QgKG11bHRpYnl0ZS1zdHJpbmctcCBmaWxlKSkp
CisgICAgICAgICAgICAoc2V0cSBmaWxlIChzdHJpbmctdG8tbXVsdGlieXRlIGZpbGUpKSkKKyAg
ICAgICAgICAoYW5kIGZpbGUKKyAgICAgICAgICAgICAgIChmaWxlLW5hbWUtYWJzb2x1dGUtcCBm
aWxlKQorICAgICAgICAgICAgICAgOzsgQSByZWxhdGl2ZSBmaWxlIG5hbWUgY2FuIHN0YXJ0IHdp
dGggfi4KKyAgICAgICAgICAgICAgIDs7IERvbid0IHRyZWF0IGl0IGFzIGFic29sdXRlIGluIHRo
aXMgY29udGV4dC4KKyAgICAgICAgICAgICAgIChub3QgKGVxIChhcmVmIGZpbGUgMCkgP34pKQor
ICAgICAgICAgICAgICAgKHNldHEgYWJzb2x1dGUtcCB0KSkKKyAgICAgICAgICA7OzsgRU5EIGNv
ZGUgYm9ycm93ZWQgZnJvbSBgZGlyZWQtZ2V0LWZpbGVuYW1lJy4KKyAgICAgICAgICAoaWYgKGFu
ZCBhYnNvbHV0ZS1wCisgICAgICAgICAgICAgICAgICAgOzsgVGVzdCB3aGV0aGVyIGFic29sdXRl
IGZpbGUvZGlyZWN0b3J5IGlzIGluIHRoZSByb290IG9mIHRoZSBoYXJkIGRyaXZlLgorICAgICAg
ICAgICAgICAgICAgIChub3QgKGRpcmVkcC1yb290LWRpcmVjdG9yeS1wIChkaXJlZHAtcGFyZW50
LWRpciBmaWxlKSkpKQorICAgICAgICAgICAgKHNldHEgcDIgKC0gcDMgKGxlbmd0aCAoZmlsZS1u
YW1lLW5vbmRpcmVjdG9yeSBmaWxlKSkpKQorICAgICAgICAgICAgOzs7IEZJWE1FOiAgRmlyc3Qg
YXR0ZW1wdCBhdCBkZWFsaW5nIHdpdGggcmVsYXRpdmUgcGF0aHMKKyAgICAgICAgICAgIDs7OyBX
aWxsIHRoaXMgYWx3YXlzIGJlIHRoZSBzYW1lIGFzIHdoZW4gZGVhbGluZyB3aXRoIGFuIGFic29s
dXRlIHBhdGggKGFib3ZlKT8KKyAgICAgICAgICAgIChzZXRxIHAyICgtIHAzIChsZW5ndGggKGZp
bGUtbmFtZS1ub25kaXJlY3RvcnkgZmlsZSkpKSkpCisgICAgICAgICAgOzs7IGB3ZGlyZWQtZ2V0
LWZpbGVuYW1lJyByZWxpZXMgdXBvbiB0aGUgb3JpZ2luYWwgbG9jYXRpb24gb2YgdGhlCisgICAg
ICAgICAgOzs7IG9mIHRoZSBPTEQtTkFNRSBhbmQgRklMRU5BTUUgdGV4dCBwcm9wZXJ0aWVzLgor
ICAgICAgICAgIChhZGQtdGV4dC1wcm9wZXJ0aWVzICgxLSBwMSkgcDEgYChvbGQtbmFtZSAsZmls
ZW5hbWUpKQorICAgICAgICAgIDs7OyBNYWtlIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGBmaWxlLW5h
bWUtbm9uZGlyZWN0b3J5JyB0aGUgcmVhZC1vbmx5IGJvdW5kYXJ5LgorICAgICAgICAgIDs7IFRo
ZSByZWFyLW5vbnN0aWNreSBwcm9wZXJ0eSBiZWxvdyBzaGFsbCBlbnN1cmUgdGhhdCB0ZXh0IHBy
ZWNlZGluZworICAgICAgICAgIDs7IHRoZSBmaWxlbmFtZSBjYW4ndCBiZSBtb2RpZmllZC4KKyAg
ICAgICAgICAoYWRkLXRleHQtcHJvcGVydGllcyAoMS0gcDIpIHAyIGAocmVhci1ub25zdGlja3kg
KHJlYWQtb25seSkpKQorICAgICAgICAgIDs7OyBFeGNlcHQgZm9yIHRoZSBpbml0aWFsIGxvb3Ag
d2hlcmUgQi1QUk9URUNUSU9OIGlzIHNldCB0byBgcG9pbnQtbWluJywKKyAgICAgICAgICA7Ozsg
Qi1QUk9URUNUSU9OIGlzIHRoZSBlbmQgb2YgdGhlIHByZWNlZGluZyBmaWxlbmFtZSBmcm9tIHRo
ZSBwcmV2aW91cyBsb29wLgorICAgICAgICAgIChwdXQtdGV4dC1wcm9wZXJ0eSBiLXByb3RlY3Rp
b24gcDIgJ3JlYWQtb25seSB0KQorICAgICAgICAgIChpZiAoPSAocG9pbnQpIChwb2ludC1tYXgp
KQorICAgICAgICAgICAgKHB1dC10ZXh0LXByb3BlcnR5ICgxLSBwMykgcDMgJ2VuZC1uYW1lIHQp
CisgICAgICAgICAgICAocHV0LXRleHQtcHJvcGVydHkgcDMgKDErIHAzKSAnZW5kLW5hbWUgdCkp
KQorICAgICAgICA7OzsgRXhjZXB0IGZvciB0aGUgaW5pdGlhbCBsb29wIHdoZXJlIEItUFJPVEVD
VElPTiBpcyBzZXQgdG8gYHBvaW50LW1pbicsCisgICAgICAgIDs7OyBCLVBST1RFQ1RJT04gaXMg
dGhlIGVuZCBvZiB0aGUgcHJlY2VkaW5nIGZpbGVuYW1lIGZyb20gdGhlIHByZXZpb3VzIGxvb3Au
CisgICAgICAgICh3aGVuIHAzCisgICAgICAgICAgKHNldHEgYi1wcm90ZWN0aW9uIHAzKSkKICAg
ICAgICAgKGZvcndhcmQtbGluZSkpCiAgICAgICAocHV0LXRleHQtcHJvcGVydHkgYi1wcm90ZWN0
aW9uIChwb2ludC1tYXgpICdyZWFkLW9ubHkgdCkpKSkKIApAQCAtMzQ0LDkgKzQ2NiwxNyBAQCBu
b24tbmlsIG1lYW5zIHJldHVybiBvbGQgZmlsZW5hbWUuIgogICAgICAgICAoYW5kIGZpbGUgKHNl
dHEgZmlsZSAod2RpcmVkLW5vcm1hbGl6ZS1maWxlbmFtZSBmaWxlIChub3Qgb2xkKSkpKSkKICAg
ICAgIChpZiAob3Igbm8tZGlyIG9sZCkKIAkgIGZpbGUKLQkoYW5kIGZpbGUgKD4gKGxlbmd0aCBm
aWxlKSAwKQotICAgICAgICAgICAgIChjb25jYXQgKGRpcmVkLWN1cnJlbnQtZGlyZWN0b3J5KSBm
aWxlKSkpKSkpCi0KKyAgICAgICAgKGNvbmQKKyAgICAgICAgICA7OzsgV2hlbiBGSUxFIGlzIHJl
bGF0aXZlLCBjb25jYXRlbmF0ZSBkZWZhdWx0LWRpcmVjdG9yeSB0byBiZWdpbm5pbmcuCisgICAg
ICAgICAgKChhbmQgZmlsZQorICAgICAgICAgICAgICAgICg+IChsZW5ndGggZmlsZSkgMCkKKyAg
ICAgICAgICAgICAgICAobm90IChmaWxlLW5hbWUtYWJzb2x1dGUtcCBmaWxlKSkKKyAgICAgICAg
ICAgICAgICAoY29uY2F0IChkaXJlZC1jdXJyZW50LWRpcmVjdG9yeSkgZmlsZSkpKQorICAgICAg
ICAgIDs7OyBXaGVuIEZJTEUgaXMgYWJzb2x1dGUsIG5vIG5lZWQgdG8gY29uY2F0ZW5hdGUgdGhl
IGRlZmF1bHQtZGlyZWN0b3J5LgorICAgICAgICAgICgoYW5kIGZpbGUKKyAgICAgICAgICAgICAg
ICAoPiAobGVuZ3RoIGZpbGUpIDApCisgICAgICAgICAgICAgICAgKGZpbGUtbmFtZS1hYnNvbHV0
ZS1wIGZpbGUpCisgICAgICAgICAgICAgICAgZmlsZSkpKSkpKSkKIAogKGRlZnVuIHdkaXJlZC1j
aGFuZ2UtdG8tZGlyZWQtbW9kZSAoKQogICAiQ2hhbmdlIHRoZSBtb2RlIGJhY2sgdG8gZGlyZWQu
IgpAQCAtMzYzLDcgKzQ5Myw4IEBAIG5vbi1uaWwgbWVhbnMgcmV0dXJuIG9sZCBmaWxlbmFtZS4i
CiAgIChzZXRxIG1vZGUtbmFtZSAiRGlyZWQiKQogICAoZGlyZWQtYWR2ZXJ0aXNlKQogICAocmVt
b3ZlLWhvb2sgJ2tpbGwtYnVmZmVyLWhvb2sgJ3dkaXJlZC1jaGVjay1raWxsLWJ1ZmZlciB0KQot
ICAoc2V0IChtYWtlLWxvY2FsLXZhcmlhYmxlICdyZXZlcnQtYnVmZmVyLWZ1bmN0aW9uKSAnZGly
ZWQtcmV2ZXJ0KSkKKyAgKHVubGVzcyAod2RpcmVkLWZpbmQtZGlyZWQtYnVmZmVyLXApCisgICAg
KHNldCAobWFrZS1sb2NhbC12YXJpYWJsZSAncmV2ZXJ0LWJ1ZmZlci1mdW5jdGlvbikgJ2RpcmVk
LXJldmVydCkpKQogCiAKIChkZWZ1biB3ZGlyZWQtYWJvcnQtY2hhbmdlcyAoKQpAQCAtNDU3LDYg
KzU4OCwxNiBAQCBub24tbmlsIG1lYW5zIHJldHVybiBvbGQgZmlsZW5hbWUuIgogICAgICAgICAo
cHJvZ3Jlc3MgbmlsKQogICAgICAgICAoZXJyb3JzIDApCiAgICAgICAgIChvdmVyd3JpdGUgKG9y
IChub3Qgd2RpcmVkLWNvbmZpcm0tb3ZlcndyaXRlKSAxKSkpCisgICAgOzs7IFdlIG11c3QgcHJv
Y2VzcyB0aGUgZGVlcGVzdCBkaXJlY3RvcmllcyBmaXJzdCBpbiB0aW1lLCBhbmQgZ3JhZHVhbGx5
CisgICAgOzs7IHdvcmsgb3VyIHdheSBiYWNrd2FyZHMuICBTZWU6ICBodHRwczovL2VtYWNzLnN0
YWNrZXhjaGFuZ2UuY29tL2EvNDE2ODIvMjI4NworICAgIDs7OyBTb3J0aW5nIGZ1bmN0aW9uIHdy
aXR0ZW4gYnkgQFRvYmlhcyBvbiBlbWFjcy5zdGFja2V4Y2hhbmdlLmNvbSAoc3VwcmEpCisgICAg
Ozs7IFJFTkFNRVMgYXJlIGluIHRoZSBmb3JtYXQgb2YgKGNvbnMgZmlsZS1vbGQgKHN1YnN0aXR1
dGUtaW4tZmlsZS1uYW1lIGZpbGUtbmV3KSkKKyAgICA7OzsgRmlsZXMvZGlyZWN0b3JpZXMgd2l0
aCB0aGUgZ3JlYXRlc3QgZGVwdGggYXJlIHNvcnRlZCBmaXJzdCBpbiB0aW1lLgorICAgIDs7OyBU
aGUgZnVuY3Rpb24gYHBvcCcgKHVzZWQgaGVyZWluYmVsb3cpIHVzZXMgdGhlIGZpcnN0IGVsZW1l
bnQgb2YgdGhlIGxpc3QuCisgICAgKHJlcXVpcmUgJ2NsLXNlcSkKKyAgICAoc2V0cSByZW5hbWVz
IChjbC1zdGFibGUtc29ydCByZW5hbWVzIChsYW1iZGEgKHBhdGgxIHBhdGgyKQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKD4gKGNsLWNvdW50ID8vIChjYXIg
cGF0aDEpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
KGNsLWNvdW50ID8vIChjYXIgcGF0aDIpKSkpKSkKICAgICAod2hpbGUgKG9yIHJlbmFtZXMKICAg
ICAgICAgICAgICAgIDs7IFdlJ3ZlIGRvbmUgb25lIHJvdW5kIHRocm91Z2ggdGhlIHJlbmFtZXMs
IHdlIGhhdmUgZm91bmQKICAgICAgICAgICAgICAgIDs7IHNvbWUgcmVzaWR1ZSwgYnV0IHdlIGFs
c28gbWFkZSBzb21lIHByb2dyZXNzLCBzbyBtYXliZQo=
--Multipart_Mon_May_28_16:11:38_2018-1--





Last modified: Mon, 25 Nov 2019 12:00:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.