From unknown Thu Jun 19 14:03:48 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#61449 <61449@debbugs.gnu.org> To: bug#61449 <61449@debbugs.gnu.org> Subject: Status: 30.0.50; diff-hl-dired: Consider adding a cookie to diff-hl-dired overlay Reply-To: bug#61449 <61449@debbugs.gnu.org> Date: Thu, 19 Jun 2025 21:03:48 +0000 retitle 61449 30.0.50; diff-hl-dired: Consider adding a cookie to diff-hl-d= ired overlay reassign 61449 emacs submitter 61449 Ramesh Nedunchezian severity 61449 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Sun Feb 12 00:37:41 2023 Received: (at submit) by debbugs.gnu.org; 12 Feb 2023 05:37:41 +0000 Received: from localhost ([127.0.0.1]:43829 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pR53V-0002hQ-Mc for submit@debbugs.gnu.org; Sun, 12 Feb 2023 00:37:41 -0500 Received: from lists.gnu.org ([209.51.188.17]:37850) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pR53T-0002hG-HB for submit@debbugs.gnu.org; Sun, 12 Feb 2023 00:37:39 -0500 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 1pR53R-00041I-Dc for bug-gnu-emacs@gnu.org; Sun, 12 Feb 2023 00:37:37 -0500 Received: from mail-sgaapc01olkn20825.outbound.protection.outlook.com ([2a01:111:f400:feab::825] helo=APC01-SG2-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pR53O-0004tu-9Z for bug-gnu-emacs@gnu.org; Sun, 12 Feb 2023 00:37:37 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GboDwq+KiSajJ5EEwHJEy3/o7fCaVtxlAXF9YM46mE2sdXlUvKaxJN53HH5ZpFBiGDLaEQphNe81G13Wve6twOr50MG36ozOKArFVA7U89UFQcxoJJ/FSX4G8P6FsPTiYqEBkO0OO4L+0aCuq1kWBKUgUJ2wAqeC2m08gzC7/jlp2gNxG8rKnnzrBeYe298iY0A+ChfXNBEVl20ku0UM7F2vnrOVu4oCM57uIpVqIu5xUoDmv5UPETfr0KrTlpD22/iR/QzT1koyuEI5RFM8yjAoziK8fSSqrrU6c+yvn8ZSvQWOVcmGYkZeIlAt3B1xSpF6oYYWR4Dhj0osCajPYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=/cN3Z7kzqeO7PHiEm0B+0bHwuVXPRIaTjz+78bSDJLQ=; b=R9y2PEkhIRslamOxk1UTMT1fDuOqJQ3jQBTCZ1paySzcA+FWj9J7GoYZEWSLjg4oh+nqOAqUfDcs/RDEi15MRZVlxMo3vRYCRX0gRgstEmMmnjBxFuGQ0XpE5s2ot1XGyGw8didqnsy/MdsCMGuNhiFhTjRwjmlKjV4qfEssRPlzHVWs1Jfmtl6VLCxhvf+++YqfhjFnLeoZHavCcMYgQZeRfxDjEAaiLavF6dkDUZPfI5QfNlXqLggCX/KWLDfJN4WHrCwzmUWyaYYwMwCoLYbTKkUf9hB84SOaE0pNONHeBl9HnAUInL1St7zaaNKAiOgTIIAmB63cqoOKUP7maQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/cN3Z7kzqeO7PHiEm0B+0bHwuVXPRIaTjz+78bSDJLQ=; b=aQ2mWiAScTcZhCorTe10859turvQ9ANqf9gFDNd3fZmAFRVIaI7Xmi+VWZuz1axBAi9Z2UrdsJ0EWoxgJOG9qPd5xN4nNIXMpqcwdLRCwz3fFLiY88GFErHItpNMVF7FBSKmd3sPmHT3QE4MdxnHaDKwl5RAHsrGdOdD+MDSZePz2qjg91Z2EXNyORXWJHl3quPnkYt6YsH8usV1+dHS+ZfTZbjwbQVUQFoF1wff3gwxAPEozmcxX0P9J+NwQkCTo3Var56U9eQBJA4bcE4tjGJxJbdsKYyCj/yVs8rsSsUZV6Cg0Ek0K3v5E2O4YDD77F4dKmrVcj5MjwyCchZTRg== Received: from TY2PR0101MB3693.apcprd01.prod.exchangelabs.com (2603:1096:404:800f::16) by TY0PR0101MB4144.apcprd01.prod.exchangelabs.com (2603:1096:400:1bc::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.29; Sun, 12 Feb 2023 05:32:24 +0000 Received: from TY2PR0101MB3693.apcprd01.prod.exchangelabs.com ([fe80::7d05:20af:9fed:2935]) by TY2PR0101MB3693.apcprd01.prod.exchangelabs.com ([fe80::7d05:20af:9fed:2935%5]) with mapi id 15.20.6086.022; Sun, 12 Feb 2023 05:32:23 +0000 Content-Type: multipart/mixed; boundary="------------sW6XTlfx03T0EO5PPcUiuKTf" Message-ID: Date: Sun, 12 Feb 2023 11:02:16 +0530 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.6.0 Content-Language: en-US To: bug-gnu-emacs@gnu.org, ", dgutov"@yandex.ru From: Ramesh Nedunchezian Subject: 30.0.50; diff-hl-dired: Consider adding a cookie to diff-hl-dired overlay X-TMN: [RxTfTOb3l4T6XIkpOfVEkeCB6wuOWvrk] X-ClientProxiedBy: MA1PR01CA0149.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a00:71::19) To TY2PR0101MB3693.apcprd01.prod.exchangelabs.com (2603:1096:404:800f::16) X-Microsoft-Original-Message-ID: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: TY2PR0101MB3693:EE_|TY0PR0101MB4144:EE_ X-MS-Office365-Filtering-Correlation-Id: 16748f16-5361-4d88-a3c0-08db0cba84bf X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 0WCl/G+0UYToGhixbSd5Xw/DxygC6Z+//KW1RPTEWZiYF//a0hxeW701AQIzMob8Q9tVXw9l14wq1P5qkC36FOFE1wh3mkn6AJLQitkH+uD/A6Bwh1/CQESBO2kqmmtrgxusRjtIdHkot0PCu56j4xYsjQjGOclHrpYHQW44SwFHd/BRIoULBex7+Xw7/L+yGn4TRJhcdeb5xIW57KvCnMcp3SzkH9+7t8mOhPzyZIuJYlyld9GUhkDlsTWO6ATK9Q4vOAdlDWMyyP7s7Tbcqpj1Prt1xjLINw5tiveBcQ86QG/Wzu6t1VuTLLVNjv9Pg8JUzqlbnrWFy7Qn5FuTs2Zio0jSI7OslBekfJZIYmmGbX2ahLMkaCq01PWjJUVbFSHVm+BZ7czJY0dUJkafPVYwKI+RccjpBppcMGFdfSWJNnjrUfIB7sa0ptFMLcSASBBaQ7Iry7Z+E+UK+BWXX8+FtFWjTGKTd/8z55OaFVNrRHlISaNTE4Zo5lnFS7F3gSWSV7O4XQnaqlH7SPOE84sm4A2KiC6TBNjQ3fKP1ecfaKsRZwi01WbaiOVJ0mbkPQoAeC8WhEEmzGUevzswV8wQWmno06o4Xb8FDmRW54o= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Z1ZDRHNTUnpRakRqQzVrbHNET2ovelhNT1p3Mk1RYnZGNlI2WWhqWFhEQTdx?= =?utf-8?B?ZE1CTm96SXdEMTNwdFZnMWZ2YnF1N2VVbkduL1dNMk8rYWVKWUx6c1lqSUdu?= =?utf-8?B?eWVOeFg2a2hycjJpdFlEdTZpRFZiVUQxRmhxbnIveVFHOGZGQ2R1UWRjUlJa?= =?utf-8?B?MVBWcVpxak1EUHdDQnVaTWQweURuNkVLdmFZWDMySEJYOGkzc0ExY0VOYk1X?= =?utf-8?B?b3ZObVZvRGpZQ1lqVVh4TTVYWWI5V01jT0JkTitVTCtIVU9iTWN5UFY3Q1lN?= =?utf-8?B?VXJOeDBEaFd2dEovN1hoVGg2QWRpY1pLRW12VFc4bDVkQlROeE1FQ0dmSmR5?= =?utf-8?B?UnMyNCtwaGhLUWYzYVFoNnJRdU9MNThqaFFnTXJvVE94M2FZYkhKYVhJbHBM?= =?utf-8?B?QllBVTN5VnB3RkQyZlhNRVQvWVJ4ekZ1L2xRYnMvemVnS2FWZmI5L1V0OUdQ?= =?utf-8?B?UDRYLzhTcTFvSXI1aXJkdG5kNGhQNlNUQnBUbGdnanBGWnRCN1VjTnU4c0Qy?= =?utf-8?B?MzFtTFI4anU2S0JVYWZoU0ROWGxBS3ZYUUtNeVRYc1l0OTNrTmE3MU5UaERs?= =?utf-8?B?UDh6bWpHUk9TNjJERFRoYVZPR2dNbjhOVzdvOWR1RHpyV1h3NEpuS2orblN3?= =?utf-8?B?L2U4YUR6SUVScWkvL3FOQzZ3Zndrd3RzcFkzeUZtVVZmU3FaT2hobHZNK3pt?= =?utf-8?B?OHRScUY5dENpd0oweXZRaHQwY05VUElhZXF6WExHOC9Ycm9ZbGx5ZFh1R212?= =?utf-8?B?bHRld3JzR0NLNlFHamtESHVMMUNVcHh3My9lRXdRVlpac2I5M3Y2RXdOWnpV?= =?utf-8?B?c3NXZVRGM3JjRk5IRlhaZUFWRytVSVE4WDFGLzk2YWN5T3ozZXB2UVZuT2lj?= =?utf-8?B?YW9hYmt3a0M5U1Z5WkZueWx3S3NDVzgyODNDTHhVTTQybFZIYVJnb1VFN2dv?= =?utf-8?B?K2ZqakNndnNLKy8ybndsVWV5cEpGb25QWnE1eitRUHVyUW1vWkM1SzlwcjNE?= =?utf-8?B?dm9pQU5WRmNhWnlQUFMxN09ROEVTTGlaY1BZd2xMV0U2eVNGN0JIQU5ZSnF1?= =?utf-8?B?NDBxM2JsMEdTYnBzK3BNWmROSEcwTnJiUk5ONVg1TUdPYXFLMFR0aERyVEh6?= =?utf-8?B?VEJCc080K0FtdVBiT3dNTGdUNlZCcjNOdWc0OGNiQ2NmR3BXa3dJemMvZENy?= =?utf-8?B?azlKM080ZHh4bWxBYW9qaTk1c3ZvWUt5aUtrVlEzUFBJZ2hramdGNklJU05L?= =?utf-8?B?VURwREZvWkUvQmkrelg1YVVZQmdwMzQxcmNySzBDOS90SEVvRHFXd3JOdjJi?= =?utf-8?B?dXlGdzhKM013a1NPNCtwUjJkU2JWeGRKSzcrdThGbVdGdmViRzVEcnpUSG0y?= =?utf-8?B?ZDhZLzQ4QWFXTENDZTVPZlQvMXJDc0FpQkZnRFpSKzlHQWV3bjRlSCtwREFQ?= =?utf-8?B?K3pvWlgxNmNnT09qV2hQZzRWbk9FV1kwTSt3NU5pK2lxM2xVOHFPdGhFQUdM?= =?utf-8?B?TEhMMERBSUJvbWxOUSsyOU84QnJnM29KaHJicE1RdGErWkpUa2VWQ1VQamVZ?= =?utf-8?B?MlRSV3oxNlRIZHJVdTVZYjZVK1lnNFFSNlRINUhXeUZXL001WkFJU1FYY1gv?= =?utf-8?B?M1FHbDA0R0c3L2pxZnY1c0Z0R2M0QzdjcXNtbVYveVRqT1RBNUhmQ0c0dTJj?= =?utf-8?B?MmNaYUU0OG4wTWZ0T1J0N3ZuYXBVTHAzeHBnOFFPOWVTSnJzVWJaNW9KZDNo?= =?utf-8?Q?jT/Zf9uu2D7V9DPW8Y=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 16748f16-5361-4d88-a3c0-08db0cba84bf X-MS-Exchange-CrossTenant-AuthSource: TY2PR0101MB3693.apcprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Feb 2023 05:32:23.8345 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY0PR0101MB4144 Received-SPF: pass client-ip=2a01:111:f400:feab::825; envelope-from=rameshnedunchezian@outlook.com; helo=APC01-SG2-obe.outbound.protection.outlook.com X-Spam_score_int: 2 X-Spam_score: 0.2 X-Spam_bar: / X-Spam_report: (0.2 / 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, FORGED_MUA_MOZILLA=2.309, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" --------------sW6XTlfx03T0EO5PPcUiuKTf Content-Type: multipart/alternative; boundary="------------0md7jVIHgj0iLBR0O60CXN69" --------------0md7jVIHgj0iLBR0O60CXN69 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Would you mind adding a cookie to the overlay in `diff-hl-dired-highlight-items`. (overlay-put o 'diff-hl-dired-cookie type) If this cookie is available, I can use it in the following ways. 1. Mark the files based on vc state. See command `diff-hl-dired-mark-vc-states` and the associated screenshot `M-x diff-hl-dired-mark-vc-states.png`. 2. Fontify the file names based on vc state. See command `diff-hl-dired-fontify` and the associated screenshot `M-x diff-hl-dired-fontify.png`. In a sense, (1) is a GOOD---this is subjective, ofcourse---one other way of fontifying a dired lines on vc state. - diff-hl-dired-mode :: Put the vc state in indicator in fringe - diff-hl-margin-mode :: Put the vc state in margin - diff-hl-inline-mode(?) :: Put the vc state right on the file name or the dired line. I only need the cookie, and NOT the commands that I have attached. Bonus points if you introduce some variation of my custom command in the library. ---------------- Backstory: Yesterday, I was cleaning up a repo which I had been working on-and-off for the last few years. Even though it was version controlled, there were lots of artifacts which were never checked in. I was apprehensive that could be some interesting titbits in the "unknown" file. And there were quite a good number of "unknown" files .... and I found `M-x vc-dired` too wordy, and distracting. ---------------- Remarks, and possible areas of improvement: 1. `diff-hl-dired-mode` kicks of an async process, and I wanted some visual indication that the async process has finished, and I am seeing ALL OF the unknown files. I would have appreciated an echo area message, or a mode line indicator that the process has finished. 2. `C-x v d` recursively lists all "unregistered" files, but `diff-hl-dired-mode` lists only the entries in current directory. I would have appreciated an option to do a recursive listing of files .... ---------------- (require 'dash) (require 'diff-hl-dired) (add-hook 'dired-mode-hook 'diff-hl-dired-mode) (add-hook 'dired-mode-hook 'dired-hide-details-mode) (custom-set-faces '(diff-hl-dired-change ((t (:foreground "orange")))) '(diff-hl-dired-delete ((t (:foreground "red")))) '(diff-hl-dired-ignored ((t (:inherit dired-ignored :foreground "grey50")))) '(diff-hl-dired-insert ((t (:foreground "green")))) '(diff-hl-dired-unknown ((t (:inherit dired-ignored :foreground "grey75"))))) (defvar diff-hl-dired-types (->> (my-get-faces-matching-regexp "^diff-hl-dired-") (--map (->> it symbol-name (replace-regexp-in-string "^diff-hl-dired-" "") intern)) (cons nil))) (defun diff-hl-dired-mark-vc-states (types) (interactive (->> (completing-read-multiple "VC State: " diff-hl-dired-types nil t) (-map #'intern) list)) (when types (dired-mark-if (memq (when-let* ((diff-hl-overlay (->> (overlays-in (line-beginning-position) (line-end-position)) (--filter (overlay-get it 'diff-hl)) car))) (overlay-get diff-hl-overlay 'diff-hl-dired-cookie)) types) (format "files in vc-states `%s'" (string-join (mapcar #'symbol-name types) ","))))) (defun dired-walk (f) (let ((beg (point-min)) (end (point-max))) (save-excursion (goto-char beg) (while (< (point) end) (funcall f) (forward-line 1))))) (defun diff-hl-dired-fontify () (interactive) (dired-walk (lambda () (when-let* ((diff-hl-overlay (->> (overlays-in (line-beginning-position) (line-end-position)) (--filter (overlay-get it 'diff-hl)) car)) (cookie (overlay-get diff-hl-overlay 'diff-hl-dired-cookie))) (overlay-put (make-overlay (line-beginning-position) (line-end-position)) 'face (diff-hl-dired-face-from-type cookie 'ignored)))))) --------------0md7jVIHgj0iLBR0O60CXN69 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit
Would you mind adding a cookie to the overlay in
`diff-hl-dired-highlight-items`.

    (overlay-put o 'diff-hl-dired-cookie type)

If this cookie is available, I can use it in the following ways.

1. Mark the files based on vc state.  See command
   `diff-hl-dired-mark-vc-states` and the associated screenshot `M-x
   diff-hl-dired-mark-vc-states.png`.

2. Fontify the file names based on vc state.  See command
   `diff-hl-dired-fontify` and the associated screenshot `M-x
   diff-hl-dired-fontify.png`.

   
In a sense, (1) is a GOOD---this is subjective, ofcourse---one other
way of fontifying a dired lines on vc state.

- diff-hl-dired-mode :: Put the vc state in indicator in fringe
- diff-hl-margin-mode ::  Put the vc state in margin
- diff-hl-inline-mode(?) :: Put the vc state right on the file name or
  the dired line.  


I only need the cookie, and NOT the commands that I have attached.
Bonus points if you introduce some variation of my custom command in
the library.

----------------

Backstory: Yesterday, I was cleaning up a repo which I had been
working on-and-off for the last few years.  Even though it was version
controlled, there were lots of artifacts which were never checked in.
I was apprehensive that could be some interesting titbits in the
"unknown" file.  And there were quite a good number of "unknown" files
.... and I found `M-x vc-dired` too wordy, and distracting.

----------------

Remarks, and possible areas of improvement:

1. `diff-hl-dired-mode` kicks of an async process, and I wanted some
   visual indication that the async process has finished, and I am
   seeing ALL OF the unknown files.  I would have appreciated an echo
   area message, or a mode line indicator that the process has
   finished.

2. `C-x v d` recursively lists all "unregistered" files, but
   `diff-hl-dired-mode` lists only the entries in current directory.

    I would have appreciated an option to do a recursive listing of
   files ....

----------------

(require 'dash)
(require 'diff-hl-dired)

(add-hook 'dired-mode-hook
          'diff-hl-dired-mode)

(add-hook 'dired-mode-hook
          'dired-hide-details-mode)

(custom-set-faces
 '(diff-hl-dired-change ((t (:foreground "orange"))))
 '(diff-hl-dired-delete ((t (:foreground "red"))))
 '(diff-hl-dired-ignored ((t (:inherit dired-ignored :foreground "grey50"))))
 '(diff-hl-dired-insert ((t (:foreground "green"))))
 '(diff-hl-dired-unknown ((t (:inherit dired-ignored :foreground "grey75")))))

(defvar diff-hl-dired-types
  (->> (my-get-faces-matching-regexp "^diff-hl-dired-")
       (--map (->> it
                   symbol-name
                   (replace-regexp-in-string "^diff-hl-dired-" "")
                   intern))
       (cons nil)))

(defun diff-hl-dired-mark-vc-states (types)
  (interactive
   (->> (completing-read-multiple "VC State: "
                                  diff-hl-dired-types
                                  nil t)
        (-map #'intern)
        list))
  (when types
    (dired-mark-if
     (memq
      (when-let* ((diff-hl-overlay
                   (->> (overlays-in
                         (line-beginning-position)
                         (line-end-position))
                        (--filter (overlay-get it 'diff-hl))
                        car)))
        (overlay-get diff-hl-overlay 'diff-hl-dired-cookie))
      types)
     (format "files in vc-states `%s'"
             (string-join (mapcar #'symbol-name types) ",")))))

(defun dired-walk (f)
  (let ((beg (point-min))
        (end (point-max)))
    (save-excursion
      (goto-char beg)
      (while (< (point) end)
        (funcall f)
        (forward-line 1)))))

(defun diff-hl-dired-fontify ()
  (interactive)
  (dired-walk
   (lambda ()
     (when-let* ((diff-hl-overlay
                  (->> (overlays-in
                        (line-beginning-position)
                        (line-end-position))
                       (--filter (overlay-get it 'diff-hl))
                       car))
                 (cookie (overlay-get diff-hl-overlay 'diff-hl-dired-cookie)))
       (overlay-put (make-overlay (line-beginning-position) (line-end-position))
                    'face (diff-hl-dired-face-from-type cookie 'ignored))))))




--------------0md7jVIHgj0iLBR0O60CXN69-- --------------sW6XTlfx03T0EO5PPcUiuKTf Content-Type: image/png; name="M-x diff-hl-dired-mark-vc-states.png" Content-Disposition: attachment; filename="M-x diff-hl-dired-mark-vc-states.png" Content-Transfer-Encoding: base64 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 --------------sW6XTlfx03T0EO5PPcUiuKTf Content-Type: image/png; name="M-x diff-hl-dired-fontify.png" Content-Disposition: attachment; filename="M-x diff-hl-dired-fontify.png" Content-Transfer-Encoding: base64 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 MG4RRPnAuEUQ5QPjFkGUD4xbBFE+MG4RRPkYbn2pzMzMixcvvvfee9QrKgfJ/fv3jx8/vnLlSltb 2yHJsCfnz5+/desWeTxt2rRFixYpqCAEkRPUhesfNzc38kfh2LFjI+0LggBg3MqDnp7eUI0OEGRI 6J7fRkREREREjKArCILIicL7W4FAkJSUVF5ezmQyHR0dZZTW2tvbr127Vlpa+uTJE4lEwuPx7O3t Z8+eTVeiEYlEV69eLSoqam5uZrPZBgYGnp6eU6ZMoefT1dWVmpqam5srkUjMzMx8fX0H9Hx1Z2dn RkZGXl5eQ0MDh8OxtLScP3++pqbmgGra0NCQlpZWWlra0tKipaVlaWk5Z84cfMwbUQTd4bF169Yh z721tTUuLk4ikbi5uampqeXk5LS2ttINRCJRRkYGKSzO4XD4fH5aWlpdXR19q11CQsKDBw/c3NzG jx/f0tJSUVFRVlYmE7dpaWnq6uoeHh719fU5OTmnTp0KDAyU08murq4TJ06UlZU5OTm5ubkJhcKb N2/y+fygoCAWiyVnJrW1tbGxsZ2dnS4uLnp6ek+fPi0uLq6srFTc3TJkLNMdt+QgeWijNysrq7m5 edWqVTY2NgDg7OwcGRlJN1BXVw8LC6M64enTpzOZzFu3bjU0NIwbNw4A2tvbS0tLnZycqF11np6e PTfNq6qqrl+/nlTVkEgk+fn5zc3NcnaYubm5paWlvr6+Li4uZMqUKVPi4uJycnJIkTp5OH/+vEQi 2bhxo6GhIZnyxhtviEQiOb+OIANCseu3Dx484HA41Es61NTUZF7YwWQyqaDt7Ozs6OgwMTEBAIFA QCaqqKioqKhUVVU1Nzd3O82Qddve3p5KJDXinj59KqeTd+7cYbPZDg4OHc8xNjZWV1eXkdTpA6FQ WFFRYWtrSwUt6STKLyMKQrHz26dPn3K5XLoQlLa2toxNfn7+zZs3q6ur29vbqURKxonBYHh7eycl JX3xxRcGBgZGRkbW1taWlpYymdCnkeTgtrOzU04nBQJBW1ubjNAcAND1cfrmyZMnAEAJyiKIohnh daDbt2+fOXNm8uTJixcv5nK5DAajrKwsJSWFbuPq6mplZVVSUlJeXl5YWJidnT179mwvLy+6Tc8e eEDo6OgsW7ZMJlH+yS2CDDOKjVsej1dfXy+VSqkut7GxkW6Qm5urpaW1bt26Fwk+knC5XBcXFxcX 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 AAAASUVORK5CYII= --------------sW6XTlfx03T0EO5PPcUiuKTf-- From debbugs-submit-bounces@debbugs.gnu.org Sun Feb 12 00:42:03 2023 Received: (at 61449) by debbugs.gnu.org; 12 Feb 2023 05:42:03 +0000 Received: from localhost ([127.0.0.1]:43837 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pR57i-0002pN-U3 for submit@debbugs.gnu.org; Sun, 12 Feb 2023 00:42:03 -0500 Received: from mail-sgaapc01olkn2057.outbound.protection.outlook.com ([40.92.53.57]:43233 helo=APC01-SG2-obe.outbound.protection.outlook.com) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pR57d-0002op-Dg for 61449@debbugs.gnu.org; Sun, 12 Feb 2023 00:42:01 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bnoWa9LwAoLHwED51bUQxmtGatKDK9Uq5nh1jxIgH9Fw+Bt/RRVARTV4EOOMssPh5MxxNB76fyRRtyzB6M3tGkX4WRqaBeZA+giS/UUrsxIGKEDNOxUBcD7T4HXSNAGnPV3N1XyJkgSN45NpRkMkddo6XAwWyAGu2fCWGFrfo5QY5pExwistJm3vIi3UYdPNo/kOSAOwBZXKBQra/OvcMcVBVU4HPYJJDYDMt9yD/wmlyBtuKCOeTQTwNzpQ47OoaHuI4Wb7deKPQU9ctIfF6v7eg29ZG6047opJUCyFQ6HOt4Tv+5L2cP4W0Lcook657G56rbHfTpgpX26d9sFY4g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=mNYp2+6jfpXl4RUyfL440Q+qVZ6O07y2a/8FYGbm46E=; b=lxbzv+Fikawo3B77DeYkjN+pHHgOnp910RuBPtBoHkmI8FJpkURH3iIhDWM0Jw1eAunDMXguM+KiyGEYg2nVJmHwi/gIdsbGytCdLJ+SUK+G5bsYMXIxliWofxzY9YE18LBZ8KFeKIJr1cjZ+8MAIXnc6QfJp9UySVrQTuEUpfwqgAb4KJFUq3hR5IRGnJfTFTRbD/NFWAz5GsVx0YG8W5uGU7Qcn8JqFIS1/yAZIFbcsBjVO9H2A2uHje3LytrJp3uA2m+V7P61unmgNGxrhZ3nE2xDNz1hm1cQCGgeNz1Pp4S4Rrj+1y3+v6wS1N/JLTG/OSLE78NvA26Kq7pdsg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=mNYp2+6jfpXl4RUyfL440Q+qVZ6O07y2a/8FYGbm46E=; b=L7AeXTNqqKNN7qHh6ShH8db+YZuE28VXKv+NCsfqyUTgZF2Pal/8Hf9H52ukbhoe0MjEIR0fJFjnhFbK8UVE2M7PULJq1ptAdNiQqjDOIPGMl8/AulePHikzVBXm4Fe+A/Hr7SY2uDQ3K0Pdc24+XOyTKbOvglcOxsAkSwPpip+8c7vvvrc2+OppO3QnpwY4k8Pl37nPR0zKTUVFPjky3JGZfk5hKMC/FK0bAzSkJWFC8koJy4yXaAilHNinCZUIxR8E/vC1vh21lVB6geAGjBYcX/AYiRn8+DQQ3E4bH+RnV10qxSB0wsTUX6QGqXEpmvEA7VKUPP6uZFMShX0VxA== Received: from TY2PR0101MB3693.apcprd01.prod.exchangelabs.com (2603:1096:404:800f::16) by TY0PR0101MB4144.apcprd01.prod.exchangelabs.com (2603:1096:400:1bc::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.29; Sun, 12 Feb 2023 05:41:47 +0000 Received: from TY2PR0101MB3693.apcprd01.prod.exchangelabs.com ([fe80::7d05:20af:9fed:2935]) by TY2PR0101MB3693.apcprd01.prod.exchangelabs.com ([fe80::7d05:20af:9fed:2935%5]) with mapi id 15.20.6086.022; Sun, 12 Feb 2023 05:41:47 +0000 Message-ID: Date: Sun, 12 Feb 2023 11:11:37 +0530 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.6.0 Subject: Re: bug#61449: Acknowledgement (30.0.50; diff-hl-dired: Consider adding a cookie to diff-hl-dired overlay) Content-Language: en-US To: 61449@debbugs.gnu.org References: From: Ramesh Nedunchezian In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-TMN: [zVCqrJQ0Hr4wCAX7jH+/8daA2SSirYTG] X-ClientProxiedBy: MA1PR01CA0167.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a01:d::15) To TY2PR0101MB3693.apcprd01.prod.exchangelabs.com (2603:1096:404:800f::16) X-Microsoft-Original-Message-ID: <38044c0e-3acb-c7c6-f1ef-e5d5ffdf0d1a@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: TY2PR0101MB3693:EE_|TY0PR0101MB4144:EE_ X-MS-Office365-Filtering-Correlation-Id: bd260cfe-0b32-4162-cb11-08db0cbbd4a2 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: zDda7WJm+oZMZr3RQ72IKr2y1XBdEyFsL4olfFrdF0OiHuMEgDdFaiM1ATfSXmCfJCmbfoynvxmshcBLCBYab+g0dkx202bDYHULcYoyYpi5zJxqvrcjCrvM2KwTGGySZNUXUmyNa2plNn6oGyaJxD/vFF7USEGr0J1uAUA810jkqCZYMGLI7WWJpSs0iUHjPmByv3btKgH4XFPiURgC9QR4XfulKxC/29t84kjGcLAVrjLXZZztgCJ65VuVU4dFRZKlZF4rWRYxT3FdMZ0kZvg+iqRaH2nbz41gfy+uBALQlGG59ws4xs27Ay7ocxU2yzdIR/8VBTQG3Hj7ju+RBgMGkw7nfujKl1zk/GpvQuq3gJVVb9kOYSYtlZq4cHqYxwmXquMVaNLbbu9Fpc7CqKW0XgLa7m6wmpjQOHzWgzKLskM9pmXCbn1CDuMbH7SPK0WzxPGkd1WZU4SuWPQsjylTHR63ZdEow4zU9ozLXtduJao83DOM3KxGnPj6i4a4P5q2iMXK1tqh+yxOn7NrshOr8g3KV1Fz0Eec3o8V7VHK8RfMpBKhtPn9e+PdTcBfO/27u6nX2UjFviNbc8T/QCx6WbK1nRQqU1kPU+DqkS7aGpj+Twu+X/fKI2djF2mul1Ht0Mq/Gnk7zN9D7v3QOw== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?V0JMVXJPLzhOa01VZVpVeHNsbEJFUkYwN254TERxdW9VVGNzSk8vbHdtUXR3?= =?utf-8?B?SkMxWTA3M3ZET0FPN0lJVjVxR2hQN0kzSllrSmR4OWNuemJOSWFwZTdMaUhj?= =?utf-8?B?RFhlMXR3WE1kYXRha1c5RCt3YzNXWEFYRXFXTFlTVmxVVmN4SC82aS9FMzVs?= =?utf-8?B?MGlGeXlkVDZjY0RIYkV6UzY1TDJLODRmaXFoOHdIZ0t1MG9QU3RMb1hYQzZv?= =?utf-8?B?eVM2bkxpUjhwSWJVMEp6OVVQRXdZTTFzUHNYQ1V2bGtWTEZpdzlvajI4elhm?= =?utf-8?B?a1UvZndpTStibkZuYWtUODNCYnFteXZUL0lmVXNuQjlLdHFFSktyWnFQTUNp?= =?utf-8?B?ciswY3AwT21zSEp3aFVqbUVYZ3dubG5oRHBEUERWMmZDMGlaWTlDZHZnLzF4?= =?utf-8?B?WERndjZjZTY4YzJaYlZVbUNPZ2NyK00wemZwdWtHc2gzTDgrWkc5WkNUREMz?= =?utf-8?B?NTBuL1N4TlJONlphWWM0dGNKcjNTRXozSERkR0tqMHcwSFE2bVVYQzBOT0F6?= =?utf-8?B?S3pwTHI2SytvWHk4TGFDcnFOczg5eS9wTXdZamdocVZiTVJ4Ky9icGpqZDBV?= =?utf-8?B?ZVE5TW5DbVprbWRzOTd2dU9ZdTYwcWVrYkUyNmRTQWpld0o2eFU2WGJpVDRi?= =?utf-8?B?Z3RkcGhmYzAwWVRxWStCTWV4U2NuUHR4Z2wyNXJxOFR2bTdLRS84OXc1RTJI?= =?utf-8?B?S0thRjJxM1k0eGdHc2UzZzBrdDk3UG5qazJJaCsrRUlYMnRtMkxWMzdNVnkz?= =?utf-8?B?OS9pWnBMUjg1QWoxMGtweHBPUVdiSEdJNGVhTzJ5K0N5Y3R2b29mcXFhS3pj?= =?utf-8?B?eTJqM2JSclkzaXdoSjZBSmNIOCt3NFhHYzFnbGxOSXlUZThkR1dnVWlqWFk0?= =?utf-8?B?QTF3eWpMTGZPSGNrb0JJWStyUmpYRzFYa1l1ek9PemJ6eWI4bkVUZWFYNkxq?= =?utf-8?B?VVB0bStldWZYWUZLa3E2MHppUlZlWlFZekd4RFBBcUZLWm02dW43ay9TQktQ?= =?utf-8?B?d0dQakwwNjBJd3YwSC9ZdzZXckZHUUZuY2hyaDdXMVlxTlBwczl3NVVXUTVS?= =?utf-8?B?VkgwSmVJUE9SK3BSbHhjanM5WHlWWklIa2k1YUwrZXUydFViUm5DWjNPcC9T?= =?utf-8?B?dVFKdnhPNVBySmMyak5lUWt0c1lOZXBBeTRrNHd4ZjFsUm5PM2ExQjA0VVQy?= =?utf-8?B?OUpNYmhKRVdCUTJzT1J1Vk1MZS9jQnQ2OWVSV1c3Z3lOL1pwQk4vNnhndWQw?= =?utf-8?B?NDNESkNhcFNCaDZ1amd6SjVQU2xzNHpKLzY0SjhoeENLcFFtczdIZXh2Q0lj?= =?utf-8?B?VHFvWkVScnZjbW81M3cya2ticEg0eTYySkFNaE90K1FIQUgrRXh5N2JvNFpa?= =?utf-8?B?Z2x4UzZDb3J0YmtMMWhKVisyVUM5VW03OUlteXZpVHIxVzBxY3ZWaXh6cGpZ?= =?utf-8?B?ejRWY0Y0ZGFoQmI2ZTdnb295bnFoTDR0T3dFUkZUbUh4ZVR3NG5udEVNWko0?= =?utf-8?B?UmhET3NGMnZsSlNwZDNIaTJsbEJYUktDQ2pLRGlYY09qelBnU01UUGF2Y3RL?= =?utf-8?B?UWdlMTNuQ1BHU3RWaDJ0bnVpWW5uOUJXYnZxZVNGNmU3amhmZTVLbkhtc1VF?= =?utf-8?B?aXdIUlkwSmxLSTY1TTFWTEhlQXN1M0ZJS3lOT0ZjNWhSUUpvbTJ3anZJUXls?= =?utf-8?B?eEJ5ZDI5VlVKNHdHMVVhWnlrMjVxNGtvTGplT09ZVGtHNVRZRlo5VW5jL0JR?= =?utf-8?Q?p2RPTl5msd9ksh4NyE=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: bd260cfe-0b32-4162-cb11-08db0cbbd4a2 X-MS-Exchange-CrossTenant-AuthSource: TY2PR0101MB3693.apcprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Feb 2023 05:41:47.1882 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY0PR0101MB4144 X-Spam-Score: 0.4 (/) X-Debbugs-Envelope-To: 61449 Cc: dgutov@yandex.ru X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.6 (/) Courtesy copy to the author of `diff-hl` From debbugs-submit-bounces@debbugs.gnu.org Sun Feb 12 01:34:30 2023 Received: (at submit) by debbugs.gnu.org; 12 Feb 2023 06:34:30 +0000 Received: from localhost ([127.0.0.1]:43901 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pR5wU-0004TA-3M for submit@debbugs.gnu.org; Sun, 12 Feb 2023 01:34:30 -0500 Received: from lists.gnu.org ([209.51.188.17]:52244) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pR5wS-0004T1-1t for submit@debbugs.gnu.org; Sun, 12 Feb 2023 01:34:28 -0500 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 1pR5wR-00044t-ML for bug-gnu-emacs@gnu.org; Sun, 12 Feb 2023 01:34:27 -0500 Received: from mail-psaapc01olkn2031.outbound.protection.outlook.com ([40.92.52.31] helo=APC01-PSA-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pR5wP-0001yK-4w for bug-gnu-emacs@gnu.org; Sun, 12 Feb 2023 01:34:27 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YJOkYBZX9rLNdPNfNmu6+hOtOeEDA4YmaDHlUVtzLMcDqVQbpM6ZnCnnN85QeqGLX67MkHxrgwoJmpgTZ+QAgwjGWFKnZPgOYHBLGFo/LT7QJhieCvUv3tnh3GayrSdOj2rjHcxbwpiZWdCJNm/OtU8mFUNfTaf6WxosmH5Xc9zjDTQKsLsPNvj12YwZgzn1u5XFCLsouTM5wsfogx8WcipgYbAsC6EyNQi+5HmPVsNicVJCdR83X57364GmcvT5eTLmK9lOIwQWn5bc2RbzeRtP3TOzu4nEkzESroUoKcc+T717TtED9PpegzgTM+cV/NrHE/JoFO1gqMl8sg0+WQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=L2VQPiNEYwFC6lQXwhfX9Uhe8EZlRizMGY0h+nz7mzQ=; b=mSrMuV54crMb5KQA04dCqQ5Diwy5EJioxS8TkL2cvf1XEJtyUzoQrGxsOTCcUWJpia/GLclueopl3+lKVpc90oNbmGIz4lJ7F2DMxhg/EFMxKIuhQuP+q1vJXyBdcwnvziYA77Xan1glH1kEnwFnR2SqnBcKdxHfWDjwOww1ljX2zTO7B9yI0Wh4aTplD+6F5Vgn7LAiL2e/D7IXqM46HZL63Aykn7wfHOuUn+DWG48/xtlgX7Squ3d/9DoCc2wCb1IowKbP66iQVDMvqaSDs46ZGc/EwGCX6HHBXoTVl+PBpyFxsMfLlvxew8E4xRkAIrSQ1Rj4wxB0wnkRVd5kOA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=L2VQPiNEYwFC6lQXwhfX9Uhe8EZlRizMGY0h+nz7mzQ=; b=KcSzDCbEst4MBKDmKo4hi7Q3yLi6EzqumCJnRgOkliyhjm0erAQ4ONDzEZnEn1rJJGccUvbWvKpkgP72n+jC/btYIdNCxhcTLTFmW6T9g70h5MXTDhPiQi8lCOHRPaz2LT9a0n1Sx54decpjVOzVNvZSaXM/4Jh0SmVLR618ozuQc3j5ru/h/Rg9Ybc7OVAjAgCbH6/4tJIPPEr+zBbZHNfrRxgIgni/Db6B1NpedAV50aEODOkkepQZdWYdotPOAPwM6MYAwSq5NbeNQjrf2Y0BfMDSPv7d7/tQtCLlRabglxU8C6gs9n1J2ao/+F/dMpUPejbKWdYnPklmEjwYwA== Received: from PSBPR01MB3685.apcprd01.prod.exchangelabs.com (2603:1096:301:1::14) by TYUPR01MB5059.apcprd01.prod.exchangelabs.com (2603:1096:400:35a::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6086.22; Sun, 12 Feb 2023 06:34:20 +0000 Received: from PSBPR01MB3685.apcprd01.prod.exchangelabs.com ([fe80::39fa:5001:e26e:8b16]) by PSBPR01MB3685.apcprd01.prod.exchangelabs.com ([fe80::39fa:5001:e26e:8b16%5]) with mapi id 15.20.6086.023; Sun, 12 Feb 2023 06:34:20 +0000 Content-Type: multipart/alternative; boundary="------------SyaxML0m0SpQzQX0N1bI80Kh" Message-ID: Date: Sun, 12 Feb 2023 12:04:09 +0530 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.6.0 Subject: Re: 30.0.50; diff-hl-dired: Consider adding a cookie to diff-hl-dired overlay Content-Language: en-US From: Ramesh Nedunchezian To: bug-gnu-emacs@gnu.org References: In-Reply-To: X-TMN: [YSXxtyUGlBYw/NIekD/fBBIujWcG10R7] X-ClientProxiedBy: MA0PR01CA0049.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a01:ac::10) To PSBPR01MB3685.apcprd01.prod.exchangelabs.com (2603:1096:301:1::14) X-Microsoft-Original-Message-ID: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PSBPR01MB3685:EE_|TYUPR01MB5059:EE_ X-MS-Office365-Filtering-Correlation-Id: 888dbe22-f9b1-4ccb-cd6b-08db0cc32b1b X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: H7EQ8nEEbJEUJytclt/5Pk6ffIXoolUtgYcgtsWBTjV56+7UmH46q1AqhYD50ViViWS6UtoXH4p3aNVP+4/d029mzEqbo9/9UFmXKEK20usDW4BVDlpDX67cSHeJbZjNt0NTixcGg7wdFezGKE+fM1Py2hF/0EWNu5lECj3Z/S+bW2sI0JgEL289pLAYCOt+GotJ0q9Q1o4oB7fufyiFlQF+4rj4Gp/Ao/bL6mr4/YO9+OE+Jxa2sGEjz2hoTZKBG8EaADnBew/6UTHffM0OE6NuInht+BYiS245kyAylK/qi9JCZGTD3jilmt2Fer9Rtytyei3gjwGiemC4eiv2R6X9pLdhWFm3ZCzSxXpfS8Bb4+pI4/2DZUwyjRCDC6xRjp+JoZAjirHTG0Y0XlDmtwNXq9WxgWvPsfThKXTlHQ7Af8mukfatHxeUpnaAK3hxHkWqLIrawLFvihQWw7cN4hQmIR49/M39ECrqEHWS4aR7fpKG9VVaiCR1jFwgHjV6nXFYDsf7VqACeTCggY8cni/6m2lXTi+L4C/qHj/K8wGLzVVVR69815EpEcv+AOjTy34piuO/wOR4csESwru17CYfplyufMQP64WHno9asHmnzNjYEq0YVE9nS818dHej8c6hynPSZJROiK7ak4/fGvQn2av/SkucFnhFEt5iyw4= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?WjEzdHFQYkNUQm9rV2pJOCtEYXdoNWdTSGhMcDU0MjlEeUpIYUUwU0tlRVNk?= =?utf-8?B?SGRaQmdvMVRPUDZjZEpqNUVOb0trcC9XZERmQ05ZMWMzcXBSeEtTTDhyMjQy?= =?utf-8?B?aGxKaGgwUkdzMENoUHZsOXV6YVdsYnBxSVZKZ0FkY1g1a0w2bUxrQkhRNlJw?= =?utf-8?B?a0tZKzJ6YlA4TU1Ncy96WkdUKzkza3hZNHkwK0VHN3R2eDc4QUtDWnRXaUZk?= =?utf-8?B?ZTFoUHBLdnhqQlZiQXpKZEFiN2ljY0p5aHlhN0pWK0xtMmtSMytjVVZWUm8v?= =?utf-8?B?Y0xlUGxhSVBsK2Ywb0FUNHFXVlh4UHpIN3FIZk1DYlRQb29FOW9reDhrRGZv?= =?utf-8?B?Z3RvZ2lyZFlvcjJIbE5heG1QS1ZlaXNFREROUWU1T2wwOEdSQVVONk9pSDVh?= =?utf-8?B?emFtUUZQbnl5Q3lpMjJLaHJ2OWVhaVBraEhhTStZeUJYV01KK2tYYWdLYUwy?= =?utf-8?B?MFIydUxNZkQvbFc4dXl1T3pKWDhsVHVQRnk0ckhRbU1yRFZSMThQNkVvaFZL?= =?utf-8?B?eFJyemtUaE0vY2w5MlFxNERPMDdhcC9xTkJMQXhPSk82aSsrc0tKZGRmc0R4?= =?utf-8?B?VyswYnFhVjJHblhJcGtmOUtyZDMzemgrWTRUdmVUNnFLYy9TWTFxSW5ZWkdZ?= =?utf-8?B?K2hRN0dRRDR2RnNkY0VUaSt6UzdTbkwwdFZ2UmJ1a2tud2w4WnJvMmZySVlh?= =?utf-8?B?SFo4UHNVSitWdVlpYTQ5dVFuaWx0VGoreHVvdTladGRiYVdRV3QzNkNIcmdr?= =?utf-8?B?RkZUOXpRQkl3K0NETjNHZVNLQUl2eHFPWWZyREZyWmtaSFd6ajEyWURiQXNE?= =?utf-8?B?N25lbS90aHh4NVBUbnR0b2tHNlc1V1dKMlNGSWpMSEQ5WDRCSW5YY0JlMjFi?= =?utf-8?B?Y1ZWak1yOTllR0R0VnZQQUNub29jM1NRbmR2VTI1d0ZFTEtSNDF4aGUxRUZt?= =?utf-8?B?RkFvc29Kd2hoMzB4bVRFNnl4WWhtSldnb3pjbFI2M00vM2RIZ0Evb1dIS0dS?= =?utf-8?B?N0JSclRiQUcwVXFDbDk0ci94NkU4bjlmd2R5d3lncnF5TEpTenRVK2tvamkx?= =?utf-8?B?OEVvY1d1aGhqK2JzTUp2VzVBRTFNN0dQOFYvUVE1L1hQLy9nMHIzazMrKzdL?= =?utf-8?B?MFNDVU9ZQ0dUbExoL08yNVJsL25Xd04wbHVHRHN2SWcrUzIrVldVd1BsSEZr?= =?utf-8?B?SVIyZU1BUjdrQmU4RmdjZUFWZm0zNWFFVFRnUGZaSDk5cjI1WDhqMUQzai82?= =?utf-8?B?SndidkJyM3ExVHVpdmRUam1tejdQQmtWNHpyQ3VSWFFIUW9MRWkzZkRaaDU4?= =?utf-8?B?YTFjbmlncUJjQ0gyOGJUMDdLbC9CemtwUUc3K0s3MDU3ZkhMVVF2WU9laFBX?= =?utf-8?B?UFNQWFlqR1RncnR4bWJNcmJXWFFhOGJoT2t4cElQa1llNEU5cStaczJ6aTFq?= =?utf-8?B?Z2F6TGZOM2dsLzVLWGZuVyttN3JlZEhHUVFQVkRtc1RZdG5UMVFGNmYzZ0Zu?= =?utf-8?B?NHVDNU95S2tHV0RGSjY0ZWgwYWdJNUMwZmw0VW5mak9nNytSQU1BR2R6cUxv?= =?utf-8?B?TFVlWlU3dkVLN25BbUlVWjJDRXNQWnJlODdyR3FvYlNxU2l0MDhlTzZHVmJX?= =?utf-8?B?Q0JGamJtR0FrNndtbXNENS9YQ3ZZeFhIeHNUd3hCTDhWbGM5WkIvWFNjV2FS?= =?utf-8?B?N255VExnRkR3QncwaWVGVHJrVi9GY0kwbWVDakEzdHIwZ0VVQUswZjIvSzFY?= =?utf-8?Q?ezZRD9PhR7vr7jjR00=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 888dbe22-f9b1-4ccb-cd6b-08db0cc32b1b X-MS-Exchange-CrossTenant-AuthSource: PSBPR01MB3685.apcprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Feb 2023 06:34:20.2570 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYUPR01MB5059 Received-SPF: pass client-ip=40.92.52.31; envelope-from=rameshnedunchezian@outlook.com; helo=APC01-PSA-obe.outbound.protection.outlook.com X-Spam_score_int: -8 X-Spam_score: -0.9 X-Spam_bar: / X-Spam_report: (-0.9 / 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, FORGED_MUA_MOZILLA=2.309, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, NICE_REPLY_A=-1.148, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-Spam-Score: -0.9 (/) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.9 (-) --------------SyaxML0m0SpQzQX0N1bI80Kh Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit On 12/02/23 11:02, Ramesh Nedunchezian wrote: > (defvar diff-hl-dired-types > (->> (my-get-faces-matching-regexp "^diff-hl-dired-") > (--map (->> it > symbol-name > (replace-regexp-in-string "^diff-hl-dired-" "") > intern)) > (cons nil))) > I forgot this fragment (defun my-get-faces-matching-regexp (regexp) (cl-loop for sym being the symbols when (facep sym) when (string-match-p regexp (format "%s" sym)) collect sym)) or you can do this (setq diff-hl-dired-types '(nil insert delete unknown ignored change)) --------------SyaxML0m0SpQzQX0N1bI80Kh Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit
On 12/02/23 11:02, Ramesh Nedunchezian wrote:
(defvar diff-hl-dired-types
  (->> (my-get-faces-matching-regexp "^diff-hl-dired-")
       (--map (->> it
                   symbol-name
                   (replace-regexp-in-string "^diff-hl-dired-" "")
                   intern))
       (cons nil)))

I forgot this fragment

    (defun my-get-faces-matching-regexp (regexp)
      (cl-loop for sym being the symbols
               when (facep sym)
               when (string-match-p regexp (format "%s" sym))
               collect sym))

or you can do this

    (setq diff-hl-dired-types
          '(nil insert delete unknown ignored change))




--------------SyaxML0m0SpQzQX0N1bI80Kh-- From debbugs-submit-bounces@debbugs.gnu.org Sun Feb 12 08:12:37 2023 Received: (at 61449) by debbugs.gnu.org; 12 Feb 2023 13:12:37 +0000 Received: from localhost ([127.0.0.1]:44355 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pRC9k-0003mq-Pa for submit@debbugs.gnu.org; Sun, 12 Feb 2023 08:12:37 -0500 Received: from mail-wr1-f45.google.com ([209.85.221.45]:40721) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pRC9j-0003md-Ep for 61449@debbugs.gnu.org; Sun, 12 Feb 2023 08:12:35 -0500 Received: by mail-wr1-f45.google.com with SMTP id r2so9693971wrv.7 for <61449@debbugs.gnu.org>; Sun, 12 Feb 2023 05:12:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:user-agent:mime-version:date:message-id :sender:from:to:cc:subject:date:message-id:reply-to; bh=0wI1CgWvSTHcaOW7QJewjWcpHpH+QmH2UFGFsQd4fvg=; b=QEnQgLRLUrVhq578/LxCl4pUd1i1F36K8DuzrVyUBXsweVP3Rw8Augu1tgGgJBg6oP v/brdZIOh56N+Mts/6LuRbE06ziDeWCioOXKDM++tigoW+nd0He+SIH6bbplAqYYOuTH dPLKJyHHkbr154n7hKJhk4ZLapIsQkN0m2BVz37LdnXLM5eoY17iv0ZU/JThMFo9sQSH Wmpdn/d17LgCQX0vf74m3AIePaYo3aPXW1Ju+UQrCerssr9ilnue2P0BecIU/OMSR3xg r7T6KxYw0Pjs4GU3c7Eff2heJix2EgbJBddEqiU4E4fHHelbxlS098upUAa0G2B1PyeH rLtw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:user-agent:mime-version:date:message-id :sender:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=0wI1CgWvSTHcaOW7QJewjWcpHpH+QmH2UFGFsQd4fvg=; b=NBSUCd/+zih3zSwhBUBG4jHDy8Lv9p4Yqm43ETvX00iwDlKq2rFFE06BL3FqBcqWj0 ArZ+wo7oRGd2MDMaRRTaY3cug51525flAdf7tatYLWvuHNtneXvX9X0UFaMZEaFq6CSd E7LVu+sKq61AKLxpv0brgkC1p1/NL61rOgkC7wjNg3ACrK7QZ+Zgr4IUFyIVH/RGXKX2 TEZgLy+FAEOeqj2rluocupIPhAGlO7VIWdEzZOf2znBH7FkpLlloiWznvLZI3+6H1nYO X+YiYUUAdz+CtBJ8xpvxhIvzHCpAlUPi4ehuFF+UVInmrt3oPl/TusoDXo+reHjyDdMq dQiA== X-Gm-Message-State: AO0yUKXiZwXBO3xJknoF6WiI+S9zrip0SLrjb18HgQz1ZTsBEjfNiIJM JG1zfRsXkuZm1Ti2uDjS7zk= X-Google-Smtp-Source: AK7set/MosIM9hPCqXks+/eeQgvStpTDF2y6eFiVN0AbtW9It9y78itfOxH/+cqOd3m0p+IKIcO4yQ== X-Received: by 2002:a5d:5267:0:b0:2c5:5234:a89f with SMTP id l7-20020a5d5267000000b002c55234a89fmr2859160wrc.26.1676207549397; Sun, 12 Feb 2023 05:12:29 -0800 (PST) Received: from [192.168.0.2] ([46.251.119.176]) by smtp.googlemail.com with ESMTPSA id l18-20020a5d6752000000b002c5503a8d21sm3334061wrw.70.2023.02.12.05.12.28 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Feb 2023 05:12:29 -0800 (PST) Message-ID: <76d0d86a-8e43-6534-0ad0-016ef1fe62c8@yandex.ru> Date: Sun, 12 Feb 2023 15:12:27 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 Subject: Re: bug#61449: 30.0.50; diff-hl-dired: Consider adding a cookie to diff-hl-dired overlay Content-Language: en-US To: Ramesh Nedunchezian , 61449@debbugs.gnu.org References: From: Dmitry Gutov In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.9 (/) X-Debbugs-Envelope-To: 61449 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.9 (-) On 12/02/2023 07:32, Ramesh Nedunchezian wrote: > 1. `diff-hl-dired-mode` kicks of an async process, and I wanted some > visual indication that the async process has finished, and I am > seeing ALL OF the unknown files. I would have appreciated an echo > area message, or a mode line indicator that the process has > finished. I was worried it could be too distracting, to show that every time one enters a directory. Perhaps a user option could be added. > 2. `C-x v d` recursively lists all "unregistered" files, but > `diff-hl-dired-mode` lists only the entries in current directory. > > I would have appreciated an option to do a recursive listing of > files .... I'm pretty sure the unregistered files are mentioned recursively. But the indicator is put on the containing directory. How else would we do that? From debbugs-submit-bounces@debbugs.gnu.org Sun Feb 12 08:12:46 2023 Received: (at 61449) by debbugs.gnu.org; 12 Feb 2023 13:12:46 +0000 Received: from localhost ([127.0.0.1]:44358 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pRC9u-0003nE-4s for submit@debbugs.gnu.org; Sun, 12 Feb 2023 08:12:46 -0500 Received: from mail-wr1-f41.google.com ([209.85.221.41]:46018) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pRC9s-0003n2-Fr for 61449@debbugs.gnu.org; Sun, 12 Feb 2023 08:12:45 -0500 Received: by mail-wr1-f41.google.com with SMTP id h16so9673972wrz.12 for <61449@debbugs.gnu.org>; Sun, 12 Feb 2023 05:12:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:user-agent:mime-version:date:message-id :sender:from:to:cc:subject:date:message-id:reply-to; bh=DMv1gNPgDF5nufcXlbib1ILAaBmSHciwduQ6qYVLow8=; b=V5FgcUP1BydunkfErk8UYzMH8UFQAJb4buPmOnmxRNCa2lSa2f/R/EIMwjCMkc9oCv xu6OfkMe/wdmE8hG9jlEyiERjh5gVIpLfBUVffViVKmATDicWB8PjbSXgVpjnjtzPfhH ZsHX+eMo1byBb9npWXFRmc959yrNKIzd5kt5u/WvjdUOAl6Yz4kV9J5xp8hpPfHyuen2 pP8xaByWce501spMbjZlAaWRBcQyWjc5vFl5LRJlTdDl6jr8nlidj7KOK8HprWWg56Bd tm7ezJIymspUMfiBJyZHKlgcbgfz6O6md7g5m1Htnoy7mEEdBO9wkLxqVidYX6XA/cwM mS0A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:user-agent:mime-version:date:message-id :sender:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=DMv1gNPgDF5nufcXlbib1ILAaBmSHciwduQ6qYVLow8=; b=JlXy5oDCMzxY7Id9yJK1NDbG6KZVvxBIujIOTXxKH2uUxlgs9cfuSHbpsZdxHAkQk6 YHahCkd514Hd9+N6/PHXq8RfZffD/8wwamFY8vWoZtVq/agRKmhCBWHPAzJiwhXFNMU4 A04xREqlwL0pxtkUcFvP3WCTEtIDMIj2RfdMD1CY6d4p/goM+ASDThJehG7mCWxLP3hY E57Q3xdqRyqXH/hBVEsCRzo1zdqzy8oa/YxFn/1Tk4kAw+pM5Z3a5FjfqDVBtpWxl39y TLDvVtFHyYURQe+VeRKOIboADiRQGfxznpUKLdWHmsYSwcgCVG4Q8KLiuA/dLz8QYyO3 ZonA== X-Gm-Message-State: AO0yUKXsuUMm/2EIEqCq3JONXM+d3viI9UWqdnt7pFp9zmTn1Y5FlqUx Tq9MpGRhXYOKSeUgXF6YAMI= X-Google-Smtp-Source: AK7set+k7QAVHubrPoGztAxism3x16WS7Zgj9Marmjm1b8l3/JZVDQZq0GRR6f++WbVwpALMykhuIA== X-Received: by 2002:a5d:5948:0:b0:2c5:5881:be0f with SMTP id e8-20020a5d5948000000b002c55881be0fmr464640wri.25.1676207558967; Sun, 12 Feb 2023 05:12:38 -0800 (PST) Received: from [192.168.0.2] ([46.251.119.176]) by smtp.googlemail.com with ESMTPSA id w13-20020a5d608d000000b002c54b6382c8sm5670509wrt.82.2023.02.12.05.12.38 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Feb 2023 05:12:38 -0800 (PST) Message-ID: <8e8703e8-b41b-3fb1-edf1-8764fe725488@yandex.ru> Date: Sun, 12 Feb 2023 15:12:37 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 Subject: Re: bug#61449: 30.0.50; diff-hl-dired: Consider adding a cookie to diff-hl-dired overlay Content-Language: en-US To: Ramesh Nedunchezian , 61449@debbugs.gnu.org References: From: Dmitry Gutov In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.9 (/) X-Debbugs-Envelope-To: 61449 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.9 (-) Hi! On 12/02/2023 07:32, Ramesh Nedunchezian wrote: > (when-let* ((diff-hl-overlay > (->> (overlays-in > (line-beginning-position) > (line-end-position)) > (--filter (overlay-get it 'diff-hl)) > car))) > (overlay-get diff-hl-overlay 'diff-hl-dired-cookie)) Why do you need a cookie here? IIUC all such overlays (with 'diff-hl' property) inside Dired buffers are relevant. From debbugs-submit-bounces@debbugs.gnu.org Mon Feb 13 06:19:52 2023 Received: (at 61449) by debbugs.gnu.org; 13 Feb 2023 11:19:53 +0000 Received: from localhost ([127.0.0.1]:47806 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pRWsC-0003ps-Dg for submit@debbugs.gnu.org; Mon, 13 Feb 2023 06:19:52 -0500 Received: from mail-psaapc01olkn2103.outbound.protection.outlook.com ([40.92.52.103]:39072 helo=APC01-PSA-obe.outbound.protection.outlook.com) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pRWsA-0003pd-4g for 61449@debbugs.gnu.org; Mon, 13 Feb 2023 06:19:51 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EUcGHtCGf3iKvoPZyji4myiS3NTksKuQIvOwaKhDy+8olIy2y5dDuFZ0L+QL5onJ5dxKByyVeDBMLbvvUF4k0Kd/jZzG2QQVwM9Fg+j7YRDCg0K9mhEfkv9iQO7h9syYduhCzzd9/zbkSL74JmmUe/9ZQP/QbAlmyPPSMf94h6k3kxNd5blCW8lzSVU0QMP4nzNdCJEgJGMLPRAoOYiHKiwzsMsUp8/MMhFZckU+bpMI/p77VuWYWIvD+km163MOcIWmFvJCuWqYAqPWSVLpKKF+wn/chXXICp97HABgR4blK/W8f4tqpSGOZVKTTg5Bev53uJW6rkkf3UQwXSeKaA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=wQ62omkireqqoxqa8nOsO51gLw7PHIl5sTx+NwrneYQ=; b=Ys2+4tESMfcf038VlIIaRIkZdojQT+BTVRtVIJakbHwMfjd4pUxTy+3dlpl4XgdZEwrf37TQsVDPjhnHWEQktynrxaDgOslr0GDf241+xZoZ3PNxkBS5974M4ljfdY4I5tmRxuZcLOFY8zHzDSm6WkA7b7p1wwdrVKbYP54bOG9SwWci7xvaIu1vlI2NBZ8d3kdUbTRqmLMt2UlPSZok2CO+1gfCb72+NqqQ1113MhJV4Vp0vyKJXOcxb2Xae3xtojzpsvT4EHCwSjb+JIq3UCeF6CzBDvubq6LXvbRDzm26gJTh6VzAX6RxmVkN9d+sCkM1tqcHPyVZ2PZOZ7wYfw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wQ62omkireqqoxqa8nOsO51gLw7PHIl5sTx+NwrneYQ=; b=B/Fhu+Q88ubpR4UCuZJcB6KKWSXElJpFsyUfX3bw9Ostzev7RzZtFZzK3wqyMLcRbbz9ClgohavqOwJHRWmF7BeUqPPUUtfhT/27pxpYylC7pXwH2OVV8oNf3EOwjdJqHmWQJJ9YA19CBeVQ2dBllMTJbUEuty0Rvz3EnUkCEBz4tnLmP9l4GPjUA7JNJheek5V8EHLUldRsFI4hW0MQdvd8Nbl0QS/UEaw7MN34OpslSSG8491wCoTXOt0pERedR6I72fzyY60OxFU7VGRGa4qTNWPitUIYe8tnnwmOyvVyX7sFyPPL/2XB3zWhSaF2KxurCWxXYgXSB+h4ytth8A== Received: from TY2PR0101MB3693.apcprd01.prod.exchangelabs.com (2603:1096:404:800f::16) by SG2PR01MB4100.apcprd01.prod.exchangelabs.com (2603:1096:4:1c3::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6086.22; Mon, 13 Feb 2023 11:19:40 +0000 Received: from TY2PR0101MB3693.apcprd01.prod.exchangelabs.com ([fe80::7d05:20af:9fed:2935]) by TY2PR0101MB3693.apcprd01.prod.exchangelabs.com ([fe80::7d05:20af:9fed:2935%5]) with mapi id 15.20.6086.023; Mon, 13 Feb 2023 11:19:40 +0000 Content-Type: multipart/alternative; boundary="------------20i7DwrOkGBOs5Oso7E38Qe0" Message-ID: Date: Mon, 13 Feb 2023 16:49:35 +0530 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.6.0 Subject: Re: bug#61449: 30.0.50; diff-hl-dired: Consider adding a cookie to diff-hl-dired overlay To: Dmitry Gutov , 61449@debbugs.gnu.org References: <8e8703e8-b41b-3fb1-edf1-8764fe725488@yandex.ru> Content-Language: en-US From: Ramesh Nedunchezian In-Reply-To: <8e8703e8-b41b-3fb1-edf1-8764fe725488@yandex.ru> X-TMN: [Nwgj3j097uz0cRnksZxqsVjqXDXKJ3Tct4+4z7QMA2zLrd8cGCzZfbDYkCq9v98SNF+YCbL2WS8=] X-ClientProxiedBy: MA0PR01CA0067.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a01:ad::13) To TY2PR0101MB3693.apcprd01.prod.exchangelabs.com (2603:1096:404:800f::16) X-Microsoft-Original-Message-ID: <4651d35a-89ac-cdf5-91b6-6d8d9dee6ca4@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: TY2PR0101MB3693:EE_|SG2PR01MB4100:EE_ X-MS-Office365-Filtering-Correlation-Id: ee6cbe06-1161-459b-fede-08db0db432cf X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Yg5VAeIowWuAgz9b/gNizp0DG4VT2o1QfJ62H+fllxZeNCmrf1kMUr18Vldt+ZZJOuu1j7cAX0A/eh5+CLcbSKO78H0Zu4m5WfSAOOmTVXfCrjOJxW+0T3bOnGSUrizX8Z2MQ2tiQ6+WYoK/WJ9zjkV6k5t/3FIPPMkgWbuh0DK34vZ3t8V27+ZWR5hz5KZVVPSqUOJTtozPz9R5HmWn2fCZdQ7nD5GtEIZk03hpzkqpe620c9N23i+r2rTDv3kMdLAU/h+26rW+rcGn65ompj4nncYZmslEK/YAiFmfHKEf/A0dpZSp1yRFYLc09+XADzpHa3tzCNiMPEKCnuWvouhAh5cHUW3izUHfiFJJ+K4tCmlFt2bH7eeRwg2XRNv3vZIxMjTUB3nms2fJ09FDtcNAVeu99h4+7uvUee9UkFlrNfJU8pPd4HieFeZZEyGxrCpjLTSKDD1ewrIJ9fB3sDCD2gEtwWy4GahCZhY3k8NaZsgjFLyjzAAq1bpVKmom6icTrEr8SmOFWbSnVL6pqXFj1rCGMPaxt6FT18xPi3nFBrD+XCt4jFBpWXfcP3088pn6Vc9syec+xHVvu7t2vU5aqqvm8PnuFWEcdQWdjAy6TDHIBCCmd4c6CI++6ETyGi2xOf+DftCXDlTWnnF/T4np8ENKn2wkB9r386zt45Y= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?QXREK2cxK0ZCLzhZUDBXS2wwVkRNZTBRenJEOHZQWUpPNm1QaDAyRDZBYWU1?= =?utf-8?B?M2VsdzZVNjRzU1MvZDQzalExK0JUZWl1Mkc2akorTFFzMno0ZVBxUzY5YTRG?= =?utf-8?B?WVpPQWNKb0V5MUhhbFJVcDl4a2hnR21iVHozYjBkb1pqd3BDbG4wY252TXlF?= =?utf-8?B?U3J0QWVzZ2hJNVVvZW83dzA4MG41NWZiZDZxcmJ2YWd0aTJFb2NyZnd5aUpK?= =?utf-8?B?MmdWY3JTUlFlVkRDS2U4ZklISnNaUm9CUDNGbUZBKzlKNnNEYWNSRllkN1pt?= =?utf-8?B?aVI3VE9qOXdEYjg0dTh2UGJuTUg5bUFFSUpkcTc0Y2hPazB1b1lMS1E1R0lX?= =?utf-8?B?aGhFdUxuN3lmcWd0MExsR1M1RTBrU2NDRnpPUERPWGN5WEVHR2NtU2RsUHhj?= =?utf-8?B?ZzNCS3loTXhxbWp3MUZJZDJxVVlLK3UzYUErM2dqcERYVEVvdjFwNU5aT0hZ?= =?utf-8?B?Z0JDNG4vY2x2MGp1YjVhTytOazdnRFI0OThmNHNLQWNrUm5VS0d4NU44UlE2?= =?utf-8?B?eXNjYjVIMTVheDM4RElBTndrQkJ1WG5nS21NeVdDdUUvQlRlOUd6OHJEM1Nl?= =?utf-8?B?U090QnVnRlhxVHpmZi9BRXl2OE9DL1V5ZDlFQWg2VSt2OUFWNDBUTnpINDlR?= =?utf-8?B?Z0FMSE81WWZxem9kVXJHd1FrYVloV1ZydXJXbkovNzdLbGc2Y0UzU0F6YlBx?= =?utf-8?B?Uks3S3pYdVhhR2dhK1h3aVNNMGZiZWlDSEZJK3dNTWd5Myt5M3Y0SElMWWNL?= =?utf-8?B?K2Y5YjdZSkdWWEwzTFVrVG1uV1hORllibzRVb2Q2UkQvS0UvK056S1JQVHh4?= =?utf-8?B?VDgvV0hVbWkrRWtBaHpnVVR5SElYQVAwbTh0QTZ4OXE4bGF6MWpHTU1XT2d6?= =?utf-8?B?TktmRGZtRmRLcWxiWFMwdENnUm1VYkZCSkJYU2xYNVZnOC9pRmJLZ0JpaHFR?= =?utf-8?B?aWdkTVBLSzJEaUxlWENSa1hDYnpWd2Z0YjMxRTg4Q0hQVE1vN1VQS3ZjaUJ5?= =?utf-8?B?ZlVDN09saVhvR094b0k5aWUvNVRwckpDanFUZWRrZmttaXM4c3pFRW11VmNY?= =?utf-8?B?T2hkWGJmQjV6N0R0RkVKVUd6TTFhdEloOXYycWl2TXc2Nmp2WVJIbjhQYWZO?= =?utf-8?B?NUdnS0hYYnZ1WXJ5ZHladUovWWw0UG1uVWZ6Rm1aUitTT050MXVZS3JEeTJV?= =?utf-8?B?L2grc1lGMUx0UzF0cnNKVGZ0VG52RnFGbE5vYjZWSjczWlpGL25RRHk1cEt4?= =?utf-8?B?dyttUklBc3ltQ3N0bVhLcFMwWlFxTk95T2dTYkl5S3I3SDJNYXRZbm56VWZu?= =?utf-8?B?c2l5ZG0xVGdWWVpQbXdXeEtqTVI0MnFwVm5yUStPVWJaNkZjeUV4ZjRRQklm?= =?utf-8?B?NjBjdFFNbHdGc3d3NmpSK0ErS2lxNnNnbzhteWJLNVBiQWEzcVg0Mk5lOEJ2?= =?utf-8?B?SWJ6ZnFkVlltSVdlSHd3R2RWQnlmZW5nMkx4bm1ZUmoxTFRTd2IxMnlSR1dU?= =?utf-8?B?Y0FhSjhndGl3SWpWU0liMEU1dkRseFByNUNHQ1hvTVo5QnFrTzd6VHVlMVRN?= =?utf-8?B?K3hRenBMSXBkcVJROFlDVCtEZkNJNTJDK1IxeVdzeVNoMWlNd3ZVWGI1V0dq?= =?utf-8?B?WG1CQzJvR1c1ZmxmUlFOci9vVUltS2l3czF3dE9lNDZJVUQzK1EzSHNVQmt1?= =?utf-8?B?RGN2THE2dmxFbkthcEo0aHpnNEFUQmFTYkZkN29VQWx0SkFGQitlbDVkYTk4?= =?utf-8?B?bTBnOXVlZUhGaVg5RnhjV3doUkdpUzBodlZjVnQveWx5RDhGS3RldGZkUjBt?= =?utf-8?B?bjA1YUpzazFmNmQ2L3doM3ovMHF1ZG53VU9kYmJCbEFzMXNqZFpub0ViSFZt?= =?utf-8?Q?re2dTzOnUA0PT?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ee6cbe06-1161-459b-fede-08db0db432cf X-MS-Exchange-CrossTenant-AuthSource: TY2PR0101MB3693.apcprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Feb 2023 11:19:40.5368 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: SG2PR01MB4100 X-Spam-Score: 0.4 (/) X-Debbugs-Envelope-To: 61449 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.6 (/) --------------20i7DwrOkGBOs5Oso7E38Qe0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On 12/02/23 18:42, Dmitry Gutov wrote: > Hi! > > On 12/02/2023 07:32, Ramesh Nedunchezian wrote: >>        (when-let* ((diff-hl-overlay >>                     (->> (overlays-in >>                           (line-beginning-position) >>                           (line-end-position)) >>                          (--filter (overlay-get it 'diff-hl)) >>                          car))) >>          (overlay-get diff-hl-overlay 'diff-hl-dired-cookie)) > > Why do you need a cookie here? > > IIUC all such overlays (with 'diff-hl' property) inside Dired buffers are relevant. I have attached screenshots on what I could achieve with the cookie. I have also provided recipes for how the cookie could be used. ---------------- The information I am looking for is vc state, and it is buried too deep inside. Let me elaborate ... if I eval the form you have quoted above, I would get (setq x '(modification-hooks (diff-hl-overlay-modified) diff-hl-dired-cookie change before-string #(" " 0 1 (display ((left-fringe exclamation-mark diff-hl-dired-change)))) diff-hl t)) Note that the `diff-hl-dired-cookie` is added by me, and `diff-hl-dired` adds the follwing properties - `diff-hl-dired-cookie` :: This is added by me, and contains the vc state. - `diff-hl` :: This is added by `diff-hl-dired`, and `t` isn't much useful for the task I have hand. - `before-string` :: This is added by `diff-hl-dired`, and the vc state is avaiable as a face property. If I have to get to that property, this is the kind of manoeuvre I need to do (->> x (memq 'before-string) cadr (get-text-property 0 'display) car (-filter 'facep) car) If you add a cookie, I can do whatever with it. Mind you ... I am not saying the relevant information is /not/ there; I am only saying that it is buried too deep, and not readily accessible. --------------20i7DwrOkGBOs5Oso7E38Qe0 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit


On 12/02/23 18:42, Dmitry Gutov wrote:
Hi!

On 12/02/2023 07:32, Ramesh Nedunchezian wrote:
       (when-let* ((diff-hl-overlay
                    (->> (overlays-in
                          (line-beginning-position)
                          (line-end-position))
                         (--filter (overlay-get it 'diff-hl))
                         car)))
         (overlay-get diff-hl-overlay 'diff-hl-dired-cookie))

Why do you need a cookie here?

IIUC all such overlays (with 'diff-hl' property) inside Dired buffers are relevant.


I have attached screenshots on what I could achieve with the cookie.
I have also provided recipes for how the cookie could be used.

----------------

The information I am looking for is vc state, and it is buried too
deep inside.

Let me elaborate ... if I eval the form you have quoted above, I would
get

    (setq x '(modification-hooks
              (diff-hl-overlay-modified)
              diff-hl-dired-cookie change before-string
              #(" " 0 1
                (display
                 ((left-fringe exclamation-mark diff-hl-dired-change))))
              diff-hl t))


Note that the `diff-hl-dired-cookie` is added by me, and
`diff-hl-dired` adds the follwing properties
          

- `diff-hl-dired-cookie` :: This is added by me, and contains the vc
  state.
- `diff-hl` :: This is added by `diff-hl-dired`, and `t` isn't much
  useful for the task I have hand.
- `before-string` :: This is added by `diff-hl-dired`, and the vc
  state is avaiable as a face property.

  If I have to get to that property, this is the kind of manoeuvre I
  need to do

    (->> x
         (memq 'before-string)
         cadr
         (get-text-property 0 'display)
         car
         (-filter 'facep)
         car)

If you add a cookie, I can do whatever with it. 

Mind you ... I am not saying the relevant information is /not/ there; 
I am only saying that it is buried too deep, and not readily accessible.
--------------20i7DwrOkGBOs5Oso7E38Qe0-- From debbugs-submit-bounces@debbugs.gnu.org Mon Feb 13 06:32:41 2023 Received: (at 61449) by debbugs.gnu.org; 13 Feb 2023 11:32:41 +0000 Received: from localhost ([127.0.0.1]:47842 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pRX4a-0004Lp-Ig for submit@debbugs.gnu.org; Mon, 13 Feb 2023 06:32:41 -0500 Received: from mail-sgaapc01olkn2082.outbound.protection.outlook.com ([40.92.53.82]:39169 helo=APC01-SG2-obe.outbound.protection.outlook.com) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pRX4W-0004LY-2T for 61449@debbugs.gnu.org; Mon, 13 Feb 2023 06:32:40 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Eyzw2T6oQtoNvVyqne2S8uNWsNnfJ/nv6RknBGpDHPwKrtuAQSVD8Zly6KFYPjiRskeEp0vCiiWhdB2GU3DElN3kKyUn9yhvxN9zKcFiV75ljTLTs5j0siPREh2deWb0CDLBXwuSss1c08KwqfJgzsdxlDaZovyxfAhWImP8rkf6qnK6sYscKU8NnWIta9cPoZe2EWqGIX9rJ2dBT5IbPpCDs5PGtJFtQFYXlNNYe9uMMUWX+CN8oWyZAiP3jedLYCn79vyF7WPP1XRnS5+kPTEJ9jK7t2M4AUXmm7dv0r3zqgDskZE2BtkJ1VHCQ9EtNH/kq5D+ovoO9viVlTkW2g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=tOLXRt7mH8vbEywOaIFmB5L/Swq1uw0J8KFCu1nh+aQ=; b=CRemvbH9a4oh9ZakvUdlMOtyfWFeYsiNEk3eZGieQKICyUamK25v/rvh/2A8wc6A9WDgL0u+0Va7NqbZlvacpHN8OqAiNfUPvHEgcB9bpJM6FJNU/B4/RZnzmwz3Vhg4xgdQyql7SpAyC40bQRRFDWLTtU0zeP3KimMsAomPdBkB1mQzJRDdgD14pxmuJDQPdTClBmAfWLIGebbpRGVkKLziOr+dSTFAlsrwHN1hQyw6nv4pU6/4mRr1PxJbIYGI1tcwTM6Ec71yrO6LNNKCR8fHnVY4O1oC+UmQ4YNn8PYkBNQKeyaDL5QFZf/KaUIzuLPtOyA3sHnBnNVnsCfxMQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=tOLXRt7mH8vbEywOaIFmB5L/Swq1uw0J8KFCu1nh+aQ=; b=NLVBD1cDzBO8Spi6hbS1OUHA/QH0uYLXXEsNYkA+luD9mbcQwfXr64oIeOxdNGduN/mMwbCm/UBcIWocA/HkhBYco/ftWg+KyYFeVya0hks9AAgctHtuUtZeVwseRq2/MqBOXqZbaAiN9+qXOP01hXq47fytuOZhrLIK0B8mPJEeAC7gE+IYLad+BbCTbm1XPROnxT5BtLWdx8rf2kUHGEuWfApZD9RukobTF21XajlRCjrEpq5mjR5Nd0m08bca5+a8eq9H1yZgTpzGsUXXcJBlr/MQW55gP3YqkHd5pNajYvQC2vjt+jkW7bgiw4KBfH5l5E+3nv27otqJmCMwLw== Received: from TY2PR0101MB3693.apcprd01.prod.exchangelabs.com (2603:1096:404:800f::16) by SG2PR01MB3609.apcprd01.prod.exchangelabs.com (2603:1096:0:5::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6086.23; Mon, 13 Feb 2023 11:32:24 +0000 Received: from TY2PR0101MB3693.apcprd01.prod.exchangelabs.com ([fe80::7d05:20af:9fed:2935]) by TY2PR0101MB3693.apcprd01.prod.exchangelabs.com ([fe80::7d05:20af:9fed:2935%5]) with mapi id 15.20.6086.023; Mon, 13 Feb 2023 11:32:24 +0000 Message-ID: Date: Mon, 13 Feb 2023 17:02:19 +0530 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.6.0 Subject: Re: bug#61449: 30.0.50; diff-hl-dired: Consider adding a cookie to diff-hl-dired overlay Content-Language: en-US To: Dmitry Gutov , 61449@debbugs.gnu.org References: <76d0d86a-8e43-6534-0ad0-016ef1fe62c8@yandex.ru> From: Ramesh Nedunchezian In-Reply-To: <76d0d86a-8e43-6534-0ad0-016ef1fe62c8@yandex.ru> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-TMN: [PVUuEQDzvUJnQXisLSTU7vFeCKxhdRCJtPC3JKcPrspHKNwSP+utrTuzK7HQQIW8] X-ClientProxiedBy: MA0PR01CA0045.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a01:81::20) To TY2PR0101MB3693.apcprd01.prod.exchangelabs.com (2603:1096:404:800f::16) X-Microsoft-Original-Message-ID: <29df46a5-2ef2-977c-68ff-3e577b539ee2@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: TY2PR0101MB3693:EE_|SG2PR01MB3609:EE_ X-MS-Office365-Filtering-Correlation-Id: ea9a485b-ce35-406b-b22f-08db0db5fa7b X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: CNWQyZXnafl98vrsM0qJV+dmn61xMstcjTL1ERnM5bR2AwyKlqCfkXQ3DDFNMpl6/wjbtD7yEkMKZrqJ1zpukczQYFtwZSGq4JlezTh+v6VF/t5OlqmQ3S5l7uFgB+GkfgIgXm0g7uuMayjKnPDjMWF601lSDFKzNvvDTohR3WpZtf5GiRF61Qc6ybAuLyfi8hJwVdWEa43EzayIi7L/qim+cL1H3b8UCTjZbcX9ht0H0CnBvFNcVbVtS0CFp0JVw+IY+xGbL3tlwAoaiFDXFBdDMHMKioWxL8aZum1Qi9fHKQZ+RN+kcfgXKM05Svqs3Ln8ssf/fDCa8s6g/+K0M0y9OPSE6pKQH76DV9xTMtQk5N47J9AyIQKeq0ttqbARUOgvfG/B0VbpQhbeh3gObGRYT1xYwKjSldvGFeN7XLJYwN1lJIZ2uM2rOBvkfchuEmMxTe8Lzq77LEqpxQVh/1FnELPVmj4wmcWrFPLePAr+ZALEnthZVyk9D051Jfv9zkeFOIPjxsjCOZYetesF0/AoSKO4vUAzbq93CeJI8LNVUjTO5jkfA67mYU47lPt7kEeWfs9kapdcN4tUwNAfmLx7zbW48zMGTpn+k5wHL0gS1bwQv2t7oCD1Nb54ZBh3msuuZBcKw2y1cTELZ+3xynu5m1E+cKTk5bqY8aY7ZJc= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NTNkeWgyYWVHOFJrMk5nZjlXQS81K0ZRcFZYU3cwNnNCbDdrZjgrQmJTLzNK?= =?utf-8?B?V05sN3FJNWFCRUFZT3RJWUduWVVTMDYwVnI3RDVUUFpLZ3FjYWlkMmtMV1Q3?= =?utf-8?B?QmJnbnNyZS9iRnowZS9NaVg4cldjSkFNcXRTZWxzQmRaQTlsUjhabXpYMWQr?= =?utf-8?B?VEVhTGdodmpTQ0o4Qy91dllnS2tnbGowMDRPZXNjMGdKdm5KRjJvMFE3VDZz?= =?utf-8?B?bjlGbm1SUzFxdTFpNGN0S1dqcXRXbGRBQnkwTW5wU3BhMytCZWpqaGpqTG1q?= =?utf-8?B?dUxHM2ptNzJrZXBickh2RmxEZDdVRVJXcUZvM2pMdmVKMDRvWXRBOWppL0h3?= =?utf-8?B?aTZ2RmloRjhMSXptOGxSOWlvWTFUMUthR0tFNmgwQmtjWjJSNU9lZ255ZE9j?= =?utf-8?B?SDlMY3ZCR01ORktOSjFMVTJIZE1qMnhDejZ5c21IZDNhYXpadmltS2MxK0NJ?= =?utf-8?B?Kzh5RTFuMXh6My9jUVZaeW1WN3I1b2JLVzJsbklsWjVqcFUzRXhDK2orcFB0?= =?utf-8?B?QStPNm80VTR4TmlPZG5GdnNMYXQzUkx3SUovTTNvdHpBUEdUa01wM2lYZVps?= =?utf-8?B?cmxFTWJTN0huQUhmSFZvZGMwWGo4SER5Z3Q1UHBhRUcwTFNXcVNxR0RVdzdL?= =?utf-8?B?RkIrK3NXY3JmbFhhNkNGZGRraWZ6Z0kzejQvcUFGTnlqbUhKck9RajRNZDVs?= =?utf-8?B?NHBadTNpdUd5VTI0ejVqZ2hNYU05TkY3RVBEa3IwUlBjK29VemVqT0RnQ0VQ?= =?utf-8?B?RkU0UzJCWjVPcForeE0vS3hSK2JBRlFmTUFaVDAweS9XRDMycDdvNlc0Sk45?= =?utf-8?B?SzN3TXIxM3BRM25wRlZzMVkvMlBNMFhSMHVvY3FWc0JLL3RRWXFLNzJ6QlBC?= =?utf-8?B?cU1WbGcyMVZNdzViYzNLeUJySjRLNzhEZGVLZ0hHejZGUzFNeDhDOFY4dXhk?= =?utf-8?B?STBIbld6djlFZnpESFo2SjZ3WGt2QjN1WG5CRjlNVGNDYUthdUlRbEsxN3cv?= =?utf-8?B?ekovRDFvZWFEZXVBMTFEV1hmRzZMS2IwZmo0d3lkMWVZeVRSQk4rQTJuU0Jl?= =?utf-8?B?aWE4a1NQZDFMUW8yNjJCR1VEU0hJdC9Vb0ZzT045M0RVSThtWllqMFg4QmUx?= =?utf-8?B?RE9QTHpVOEpWRGhBUW5KMVlUbUdzNHU1UWZMOTlpOGQ0dTloZktHVWw3enlN?= =?utf-8?B?NjhabHp0VjVMd0NaYlFmRlFyTUZNN0toMmt2Ty9mSnE5b3BUeXlzaklaNHhO?= =?utf-8?B?RmVzNk51VEtRY05UVkJibW9zK0FmcHhiSW9FOE02Zmd6bUdZY1FiOFFZVFo4?= =?utf-8?B?RndxVmg0VmkxVHAvempNMThLTXY2Q2VqWERjV1ZRMjM4M3dxU0J5NTZwVkYr?= =?utf-8?B?eVllWUxiVVUwSWl5Qm1OMUtJWG1Bb1BEY3VjWlVTRjhJMGgwTFhldkdobWt1?= =?utf-8?B?aFBleXZLWmlneXBuZ0twR3ViaDZqRk1NR2JJMm03dC9qM1JhRkt4YVZYMFFo?= =?utf-8?B?WXVNNllXRS9CTjZxa1VjZ1VFUENTeHZ6UHZqU2IvU3dYbWZSVlVwSkpheEtG?= =?utf-8?B?cVFhZnJRbzNTY0l5M0g5VGhBMCtDSXZQVzMrM3pJem0yZHRhcExkMHVTK1ZE?= =?utf-8?B?U01NTGdSUG1rUHloK1dOdkphNnlvbW8rVGFDRmtSbkRkRVloUkg4bFM0aVU3?= =?utf-8?B?K0V1dnVncHo5ZXErcWErVWg0bjl5d1h4Y1F0K0cyditnY2FDZHpGejR4WDJS?= =?utf-8?B?NlFGT1lDN1FHYm1FekJNYWpPbjZnclU5T203VlJUdjB3WmdsNkRLRWpEY3Na?= =?utf-8?B?TlZBV0JQZDYyb09qTExpaUFZQmJZNHNTb3hDRlhVRTBPS29hR0Z4YlZqSit2?= =?utf-8?Q?hd08wpbM5FKI4?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ea9a485b-ce35-406b-b22f-08db0db5fa7b X-MS-Exchange-CrossTenant-AuthSource: TY2PR0101MB3693.apcprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Feb 2023 11:32:24.8377 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: SG2PR01MB3609 X-Spam-Score: 1.5 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: On 12/02/23 18:42, Dmitry Gutov wrote: > On 12/02/2023 07:32, Ramesh Nedunchezian wrote: >> 1. `diff-hl-dired-mode` kicks of an async process, and I wanted some >>     visual indication that the as [...] Content analysis details: (1.5 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (rameshnedunchezian[at]outlook.com) -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [40.92.53.82 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [40.92.53.82 listed in list.dnswl.org] -0.0 SPF_HELO_PASS SPF: HELO matches SPF record 0.0 T_SPF_TEMPERROR SPF: test of record failed (temperror) 1.0 FORGED_SPF_HELO No description available. -1.1 NICE_REPLY_A Looks like a legit reply (A) 1.6 FORGED_MUA_MOZILLA Forged mail pretending to be from Mozilla X-Debbugs-Envelope-To: 61449 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.6 (/) On 12/02/23 18:42, Dmitry Gutov wrote: > On 12/02/2023 07:32, Ramesh Nedunchezian wrote: >> 1. `diff-hl-dired-mode` kicks of an async process, and I wanted some >>     visual indication that the async process has finished, and I am >>     seeing ALL OF the unknown files.  I would have appreciated an echo >>     area message, or a mode line indicator that the process has >>     finished. > > I was worried it could be too distracting, to show that every time one enters a directory. Perhaps a user option could be added. > >> 2. `C-x v d` recursively lists all "unregistered" files, but >>     `diff-hl-dired-mode` lists only the entries in current directory. >> >>      I would have appreciated an option to do a recursive listing of >>     files .... > > I'm pretty sure the unregistered files are mentioned recursively. But the indicator is put on the containing directory. How else would we do that? `vc-dired` does what I want, but the annotation added by `vc-dired` `unregistered` etc were too distracting.  If you look at the screenshots  I shared, you will see that the file names are fontified based on their vc state. There is also a command to mark files by their state, and I can bulk delete, move or commit the files. So, task I had is already accomplished with recipes I shared ... and I felt that enhancing `diff-hl-dired` could be generally useful. From debbugs-submit-bounces@debbugs.gnu.org Sat Feb 18 18:26:00 2023 Received: (at 61449) by debbugs.gnu.org; 18 Feb 2023 23:26:00 +0000 Received: from localhost ([127.0.0.1]:45158 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pTWad-00069X-Uv for submit@debbugs.gnu.org; Sat, 18 Feb 2023 18:26:00 -0500 Received: from mail-wr1-f52.google.com ([209.85.221.52]:35444) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pTWac-00069J-Ti for 61449@debbugs.gnu.org; Sat, 18 Feb 2023 18:25:59 -0500 Received: by mail-wr1-f52.google.com with SMTP id a11so1358012wro.2 for <61449@debbugs.gnu.org>; Sat, 18 Feb 2023 15:25:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:user-agent:mime-version:date:message-id :sender:from:to:cc:subject:date:message-id:reply-to; bh=M1XCez2Yfp20jW0ZD9KHQXHnNPZBbn/ytLrBR9cgCVU=; b=SyvPg7jCaVpytfQgilw52XMkCsbi7QG2z42zgSrIGnFUlGA2HTQSR43arYpA62yUew s1D+IY8KBEFBXoNqSI5UkV4gm14AHN7r+foPww29Mf35PTO0O8bJXy29AGvwm5ngkHB6 wsXyzcNxqEH/qMFBMH8IAcdNgbcIIcqrW+xnV8aD2fCJsFeJEr3CGb0fQzrYT0bsRUvf JS1EYLO+2nEJgQr7x+p9YO8fh3iTTeeZ2v+c/49bDsGlqv7fbylTPmYo/CcZVkGvwjaj RNXXoE4T7R5bOfgSWomBbLmnKp0RBPwBPvA4ce07QQPCVSSmerWS4O13/3U95DeT/wh9 6CUg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:user-agent:mime-version:date:message-id :sender:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=M1XCez2Yfp20jW0ZD9KHQXHnNPZBbn/ytLrBR9cgCVU=; b=oUZLl0cz/RMmZEowSLB4vmZLnAWYChJ68fERU1+9j11/eG0R2TJvtbG8p6cWmJm6Yl UOO9SMO8uXQsT/xaBi3mg5a6i4MWF2jZ2PBDF+fJptvkGR3oCOgQRJ+Duh054GFGRXfk XCnpN9IO47yITA0wEaAxzMYh/sxIe1/l+m8hObAPCk4nxxK3kG+aFkI3c8TmE+ThlnEb 4P4qdrxYlQOXKQjKtqvfMhhKfZ3ic+FJWJvTdCB6+QMBOFvz6Ujaf3pi44035zRXGBku MCt5ZDQEyGVEXb4M3tAKzGTASrhjMsCNPiqrenFFlCxf4qqcSpAfGbBoI32DKPKASBWs CCWA== X-Gm-Message-State: AO0yUKXeW6qZE3ScAOp7oSdRJw5+FiESPbeO3RioI9VzK3RiNNnOHOZg TRwf53224PZfJUVf7cEi+aw= X-Google-Smtp-Source: AK7set8FA4s0U+5Nb4cqiSBmKlJjqOJEemu1TVUAkvVR2aM4pAktF6T/HPEzIrwHjInXOocVuWriWQ== X-Received: by 2002:a05:6000:136e:b0:2c3:f8b8:87 with SMTP id q14-20020a056000136e00b002c3f8b80087mr3630617wrz.25.1676762752948; Sat, 18 Feb 2023 15:25:52 -0800 (PST) Received: from [192.168.0.2] ([46.251.119.176]) by smtp.googlemail.com with ESMTPSA id a18-20020adffb92000000b002bfd524255esm205460wrr.43.2023.02.18.15.25.51 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 18 Feb 2023 15:25:52 -0800 (PST) Message-ID: Date: Sun, 19 Feb 2023 01:25:50 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 Subject: Re: bug#61449: 30.0.50; diff-hl-dired: Consider adding a cookie to diff-hl-dired overlay Content-Language: en-US To: Ramesh Nedunchezian , 61449@debbugs.gnu.org References: <8e8703e8-b41b-3fb1-edf1-8764fe725488@yandex.ru> From: Dmitry Gutov In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.9 (/) X-Debbugs-Envelope-To: 61449 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.9 (-) Hi again! On 13/02/2023 13:19, Ramesh Nedunchezian wrote: > - `diff-hl-dired-cookie` :: This is added by me, and contains the vc > state. > - `diff-hl` :: This is added by `diff-hl-dired`, and `t` isn't much > useful for the task I have hand. > - `before-string` :: This is added by `diff-hl-dired`, and the vc > state is avaiable as a face property. > > If I have to get to that property, this is the kind of manoeuvre I > need to do > > (->> x > (memq 'before-string) > cadr > (get-text-property 0 'display) > car > (-filter 'facep) > car) > > If you add a cookie, I can do whatever with it. > > Mind you ... I am not saying the relevant information is /not/ there; > I am only saying that it is buried too deep, and not readily accessible. Thank you for the extra clarification. I've added a new overlay property 'diff-hl-dired-type' in https://github.com/dgutov/diff-hl/commit/d20f16bf5eadd66e775f215e800f25caddae8cb5. It the same as you asked, I think, except with a different name. Due to the version bump, it should be out soon in diff-hl 1.9.2.