From unknown Sun Aug 17 10:24:35 2025 X-Loop: help-debbugs@gnu.org Subject: bug#8721: isearch does not handle list values for `invisible' property Resent-From: Dmitry Kurochkin Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-To: owner@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 23 May 2011 23:53:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 8721 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: 8721@debbugs.gnu.org X-Debbugs-Original-To: submit@debbugs.gnu.org Received: via spool by submit@debbugs.gnu.org id=B.130619477232237 (code B ref -1); Mon, 23 May 2011 23:53:01 +0000 Received: (at submit) by debbugs.gnu.org; 23 May 2011 23:52:52 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QOevb-0008Nu-Vo for submit@debbugs.gnu.org; Mon, 23 May 2011 19:52:52 -0400 Received: from mail-fx0-f44.google.com ([209.85.161.44]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QOepb-0008Dr-MK for submit@debbugs.gnu.org; Mon, 23 May 2011 19:46:40 -0400 Received: by fxm15 with SMTP id 15so4274999fxm.3 for ; Mon, 23 May 2011 16:46:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:from:to:subject:user-agent:date:message-id :mime-version:content-type; bh=T44CXumZmgNgT97PgkhXF+WBm2Teum1DByH9wLN1UbM=; b=bFQNkSWrfNXIc7otIQ2nLtAV4/+KQ+Dyf6xVPxTmXDtMf4eyqFi+wzSiI7i+7ZcV09 TfiQtdqVAqGLRLkRpuUsjLRFWR9jeGYrGapNPJEKN9MZZm5hEF9FMTMcT92H0sug5Tfe RiHJp3bdYOxg0nYO+kNQ9sV/K8H67ONUXGlQs= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:to:subject:user-agent:date:message-id:mime-version :content-type; b=cdvnBlGodkBLn8gFRWQNTrj5VioH/+fQlKhEjnRQeYbPnpTZasTu5XX/OJUMsW1jsR ewNMcCs8mqGfqtDjRnww9N9c+FDWE4PV6l3uLBCGjpucEjNUuErpHNsC6Rfq61eqoKwl 4L+JEUNoUXRkgu3hQyZppNyPWGjZ6LYU0r4uo= Received: by 10.223.156.67 with SMTP id v3mr3047273faw.34.1306194393925; Mon, 23 May 2011 16:46:33 -0700 (PDT) Received: from localhost ([91.144.186.21]) by mx.google.com with ESMTPS id j18sm2507154faa.42.2011.05.23.16.46.32 (version=TLSv1/SSLv3 cipher=OTHER); Mon, 23 May 2011 16:46:33 -0700 (PDT) From: Dmitry Kurochkin User-Agent: Notmuch/0.5-216-g0104e23 (http://notmuchmail.org) Emacs/23.3.1 (x86_64-pc-linux-gnu) Date: Tue, 24 May 2011 03:46:56 +0400 Message-ID: <87mxidq8sv.fsf@gmail.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -3.6 (---) X-Mailman-Approved-At: Mon, 23 May 2011 19:52:51 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -3.6 (---) --=-=-= Package: emacs Version: 24.0.50 Tags: patch Isearch allows searching in hidden text by showing invisible overlays. But it does not work with overlays which have a list value for `invisible' property. Attached patch fixes the issue by using `invalid-p' function instead of custom checks. The second patch fixes another related issue. Regards, Dmitry --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=1-use-invisible-p-in-isearch-range-invisible.patch isearch.el (isearch-range-invisible): use `invisible-p' instead of custom checks Isearch allows searching in hidden text by showing invisible overlays. The `isearch-range-invisible' function needs to check if a character is visible and which overlays make it invisible. Before the change, this was done using direct checks of properties and `buffer-invisibility-spec' variable. Besides making code more complex, the checks were not complete: it did not handle case when `invisible' property is a list. The patch replaces the custom checks with `invisible-p' function. === modified file 'lisp/isearch.el' --- lisp/isearch.el 2011-05-03 03:34:26 +0000 +++ lisp/isearch.el 2011-05-23 23:20:05 +0000 @@ -2417,66 +2417,57 @@ update the match data, and return point. (overlay-put ov 'intangible (overlay-get ov 'isearch-intangible)) (overlay-put ov 'isearch-invisible nil) (overlay-put ov 'isearch-intangible nil))))))) (defun isearch-range-invisible (beg end) "Return t if all the text from BEG to END is invisible." (when (/= beg end) ;; Check that invisibility runs up to END. (save-excursion (goto-char beg) (let (;; can-be-opened keeps track if we can open some overlays. (can-be-opened (eq search-invisible 'open)) ;; the list of overlays that could be opened (crt-overlays nil)) (when (and can-be-opened isearch-hide-immediately) (isearch-close-unnecessary-overlays beg end)) ;; If the following character is currently invisible, ;; skip all characters with that same `invisible' property value. ;; Do that over and over. - (while (and (< (point) end) - (let ((prop - (get-char-property (point) 'invisible))) - (if (eq buffer-invisibility-spec t) - prop - (or (memq prop buffer-invisibility-spec) - (assq prop buffer-invisibility-spec))))) + (while (and (< (point) end) (invisible-p (point))) (if (get-text-property (point) 'invisible) (progn (goto-char (next-single-property-change (point) 'invisible nil end)) ;; if text is hidden by an `invisible' text property ;; we cannot open it at all. (setq can-be-opened nil)) (when can-be-opened (let ((overlays (overlays-at (point))) ov-list o invis-prop) (while overlays (setq o (car overlays) invis-prop (overlay-get o 'invisible)) - (if (if (eq buffer-invisibility-spec t) - invis-prop - (or (memq invis-prop buffer-invisibility-spec) - (assq invis-prop buffer-invisibility-spec))) + (if (invisible-p invis-prop) (if (overlay-get o 'isearch-open-invisible) (setq ov-list (cons o ov-list)) ;; We found one overlay that cannot be ;; opened, that means the whole chunk ;; cannot be opened. (setq can-be-opened nil))) (setq overlays (cdr overlays))) (if can-be-opened ;; It makes sense to append to the open ;; overlays list only if we know that this is ;; t. (setq crt-overlays (append ov-list crt-overlays))))) (goto-char (next-overlay-change (point))))) ;; See if invisibility reaches up thru END. (if (>= (point) end) (if (and can-be-opened (consp crt-overlays)) (progn (setq isearch-opened-overlays (append isearch-opened-overlays crt-overlays)) (mapc 'isearch-open-overlay-temporary crt-overlays) --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename*0*=us-ascii''2-improve-invisible-text-propery-check-in-isearch-r; filename*1*=ange-invisible.patch isearch.el (isearch-range-invisible): improve `invisible' text property check Isearch does not search in text hidden with `invisible' text property. Before the change, `isearch-range-invisible' function checked if `invisible' text property is set. But it did not check if the text property really makes the text invisible. This results in isearch not searching a visible text in some cases. The patch uses `invisible-p' function to check if the `invisible' text property really makes the text invisible. === modified file 'lisp/isearch.el' --- lisp/isearch.el 2011-05-23 23:20:05 +0000 +++ lisp/isearch.el 2011-05-23 23:44:16 +0000 @@ -2418,41 +2418,41 @@ update the match data, and return point. (overlay-put ov 'isearch-invisible nil) (overlay-put ov 'isearch-intangible nil))))))) (defun isearch-range-invisible (beg end) "Return t if all the text from BEG to END is invisible." (when (/= beg end) ;; Check that invisibility runs up to END. (save-excursion (goto-char beg) (let (;; can-be-opened keeps track if we can open some overlays. (can-be-opened (eq search-invisible 'open)) ;; the list of overlays that could be opened (crt-overlays nil)) (when (and can-be-opened isearch-hide-immediately) (isearch-close-unnecessary-overlays beg end)) ;; If the following character is currently invisible, ;; skip all characters with that same `invisible' property value. ;; Do that over and over. (while (and (< (point) end) (invisible-p (point))) - (if (get-text-property (point) 'invisible) + (if (invisible-p (get-text-property (point) 'invisible)) (progn (goto-char (next-single-property-change (point) 'invisible nil end)) ;; if text is hidden by an `invisible' text property ;; we cannot open it at all. (setq can-be-opened nil)) (when can-be-opened (let ((overlays (overlays-at (point))) ov-list o invis-prop) (while overlays (setq o (car overlays) invis-prop (overlay-get o 'invisible)) (if (invisible-p invis-prop) (if (overlay-get o 'isearch-open-invisible) (setq ov-list (cons o ov-list)) ;; We found one overlay that cannot be ;; opened, that means the whole chunk ;; cannot be opened. --=-=-=-- From unknown Sun Aug 17 10:24:35 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.427 (Entity 5.427) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Dmitry Kurochkin Subject: bug#8721: closed (Re: bug#8721: isearch does not handle list values for `invisible' property) Message-ID: References: <87mxidq8sv.fsf@gmail.com> X-Gnu-PR-Message: they-closed 8721 X-Gnu-PR-Package: emacs X-Gnu-PR-Keywords: patch Reply-To: 8721@debbugs.gnu.org Date: Tue, 24 May 2011 18:16:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1306260962-4251-1" This is a multi-part message in MIME format... ------------=_1306260962-4251-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #8721: isearch does not handle list values for `invisible' property which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 8721@debbugs.gnu.org. --=20 8721: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D8721 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1306260962-4251-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 8721-done) by debbugs.gnu.org; 24 May 2011 18:16:01 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QOw9B-00016L-Dy for submit@debbugs.gnu.org; Tue, 24 May 2011 14:16:01 -0400 Received: from fencepost.gnu.org ([140.186.70.10]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QOw99-000169-04 for 8721-done@debbugs.gnu.org; Tue, 24 May 2011 14:15:59 -0400 Received: from 213-159-126-200.fibertel.com.ar ([200.126.159.213]:42138 helo=ceviche.home) by fencepost.gnu.org with esmtpsa (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1QOw93-0001HW-Bz; Tue, 24 May 2011 14:15:53 -0400 Received: by ceviche.home (Postfix, from userid 20848) id F2794662FB; Tue, 24 May 2011 15:15:50 -0300 (ART) From: Stefan Monnier To: Dmitry Kurochkin Subject: Re: bug#8721: isearch does not handle list values for `invisible' property Message-ID: References: <87mxidq8sv.fsf@gmail.com> Date: Tue, 24 May 2011 15:15:50 -0300 In-Reply-To: <87mxidq8sv.fsf@gmail.com> (Dmitry Kurochkin's message of "Tue, 24 May 2011 03:46:56 +0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -6.0 (------) X-Debbugs-Envelope-To: 8721-done Cc: 8721-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -6.0 (------) > Attached patch fixes the issue by using `invisible-p' function instead of > custom checks. Thanks for catching this. I installed your very nice patch on the trunk, Stefan ------------=_1306260962-4251-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 23 May 2011 23:52:52 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QOevb-0008Nu-Vo for submit@debbugs.gnu.org; Mon, 23 May 2011 19:52:52 -0400 Received: from mail-fx0-f44.google.com ([209.85.161.44]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QOepb-0008Dr-MK for submit@debbugs.gnu.org; Mon, 23 May 2011 19:46:40 -0400 Received: by fxm15 with SMTP id 15so4274999fxm.3 for ; Mon, 23 May 2011 16:46:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:from:to:subject:user-agent:date:message-id :mime-version:content-type; bh=T44CXumZmgNgT97PgkhXF+WBm2Teum1DByH9wLN1UbM=; b=bFQNkSWrfNXIc7otIQ2nLtAV4/+KQ+Dyf6xVPxTmXDtMf4eyqFi+wzSiI7i+7ZcV09 TfiQtdqVAqGLRLkRpuUsjLRFWR9jeGYrGapNPJEKN9MZZm5hEF9FMTMcT92H0sug5Tfe RiHJp3bdYOxg0nYO+kNQ9sV/K8H67ONUXGlQs= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:to:subject:user-agent:date:message-id:mime-version :content-type; b=cdvnBlGodkBLn8gFRWQNTrj5VioH/+fQlKhEjnRQeYbPnpTZasTu5XX/OJUMsW1jsR ewNMcCs8mqGfqtDjRnww9N9c+FDWE4PV6l3uLBCGjpucEjNUuErpHNsC6Rfq61eqoKwl 4L+JEUNoUXRkgu3hQyZppNyPWGjZ6LYU0r4uo= Received: by 10.223.156.67 with SMTP id v3mr3047273faw.34.1306194393925; Mon, 23 May 2011 16:46:33 -0700 (PDT) Received: from localhost ([91.144.186.21]) by mx.google.com with ESMTPS id j18sm2507154faa.42.2011.05.23.16.46.32 (version=TLSv1/SSLv3 cipher=OTHER); Mon, 23 May 2011 16:46:33 -0700 (PDT) From: Dmitry Kurochkin To: submit@debbugs.gnu.org Subject: isearch does not handle list values for `invisible' property User-Agent: Notmuch/0.5-216-g0104e23 (http://notmuchmail.org) Emacs/23.3.1 (x86_64-pc-linux-gnu) Date: Tue, 24 May 2011 03:46:56 +0400 Message-ID: <87mxidq8sv.fsf@gmail.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -3.6 (---) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Mon, 23 May 2011 19:52:51 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -3.6 (---) --=-=-= Package: emacs Version: 24.0.50 Tags: patch Isearch allows searching in hidden text by showing invisible overlays. But it does not work with overlays which have a list value for `invisible' property. Attached patch fixes the issue by using `invalid-p' function instead of custom checks. The second patch fixes another related issue. Regards, Dmitry --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=1-use-invisible-p-in-isearch-range-invisible.patch isearch.el (isearch-range-invisible): use `invisible-p' instead of custom checks Isearch allows searching in hidden text by showing invisible overlays. The `isearch-range-invisible' function needs to check if a character is visible and which overlays make it invisible. Before the change, this was done using direct checks of properties and `buffer-invisibility-spec' variable. Besides making code more complex, the checks were not complete: it did not handle case when `invisible' property is a list. The patch replaces the custom checks with `invisible-p' function. === modified file 'lisp/isearch.el' --- lisp/isearch.el 2011-05-03 03:34:26 +0000 +++ lisp/isearch.el 2011-05-23 23:20:05 +0000 @@ -2417,66 +2417,57 @@ update the match data, and return point. (overlay-put ov 'intangible (overlay-get ov 'isearch-intangible)) (overlay-put ov 'isearch-invisible nil) (overlay-put ov 'isearch-intangible nil))))))) (defun isearch-range-invisible (beg end) "Return t if all the text from BEG to END is invisible." (when (/= beg end) ;; Check that invisibility runs up to END. (save-excursion (goto-char beg) (let (;; can-be-opened keeps track if we can open some overlays. (can-be-opened (eq search-invisible 'open)) ;; the list of overlays that could be opened (crt-overlays nil)) (when (and can-be-opened isearch-hide-immediately) (isearch-close-unnecessary-overlays beg end)) ;; If the following character is currently invisible, ;; skip all characters with that same `invisible' property value. ;; Do that over and over. - (while (and (< (point) end) - (let ((prop - (get-char-property (point) 'invisible))) - (if (eq buffer-invisibility-spec t) - prop - (or (memq prop buffer-invisibility-spec) - (assq prop buffer-invisibility-spec))))) + (while (and (< (point) end) (invisible-p (point))) (if (get-text-property (point) 'invisible) (progn (goto-char (next-single-property-change (point) 'invisible nil end)) ;; if text is hidden by an `invisible' text property ;; we cannot open it at all. (setq can-be-opened nil)) (when can-be-opened (let ((overlays (overlays-at (point))) ov-list o invis-prop) (while overlays (setq o (car overlays) invis-prop (overlay-get o 'invisible)) - (if (if (eq buffer-invisibility-spec t) - invis-prop - (or (memq invis-prop buffer-invisibility-spec) - (assq invis-prop buffer-invisibility-spec))) + (if (invisible-p invis-prop) (if (overlay-get o 'isearch-open-invisible) (setq ov-list (cons o ov-list)) ;; We found one overlay that cannot be ;; opened, that means the whole chunk ;; cannot be opened. (setq can-be-opened nil))) (setq overlays (cdr overlays))) (if can-be-opened ;; It makes sense to append to the open ;; overlays list only if we know that this is ;; t. (setq crt-overlays (append ov-list crt-overlays))))) (goto-char (next-overlay-change (point))))) ;; See if invisibility reaches up thru END. (if (>= (point) end) (if (and can-be-opened (consp crt-overlays)) (progn (setq isearch-opened-overlays (append isearch-opened-overlays crt-overlays)) (mapc 'isearch-open-overlay-temporary crt-overlays) --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename*0*=us-ascii''2-improve-invisible-text-propery-check-in-isearch-r; filename*1*=ange-invisible.patch isearch.el (isearch-range-invisible): improve `invisible' text property check Isearch does not search in text hidden with `invisible' text property. Before the change, `isearch-range-invisible' function checked if `invisible' text property is set. But it did not check if the text property really makes the text invisible. This results in isearch not searching a visible text in some cases. The patch uses `invisible-p' function to check if the `invisible' text property really makes the text invisible. === modified file 'lisp/isearch.el' --- lisp/isearch.el 2011-05-23 23:20:05 +0000 +++ lisp/isearch.el 2011-05-23 23:44:16 +0000 @@ -2418,41 +2418,41 @@ update the match data, and return point. (overlay-put ov 'isearch-invisible nil) (overlay-put ov 'isearch-intangible nil))))))) (defun isearch-range-invisible (beg end) "Return t if all the text from BEG to END is invisible." (when (/= beg end) ;; Check that invisibility runs up to END. (save-excursion (goto-char beg) (let (;; can-be-opened keeps track if we can open some overlays. (can-be-opened (eq search-invisible 'open)) ;; the list of overlays that could be opened (crt-overlays nil)) (when (and can-be-opened isearch-hide-immediately) (isearch-close-unnecessary-overlays beg end)) ;; If the following character is currently invisible, ;; skip all characters with that same `invisible' property value. ;; Do that over and over. (while (and (< (point) end) (invisible-p (point))) - (if (get-text-property (point) 'invisible) + (if (invisible-p (get-text-property (point) 'invisible)) (progn (goto-char (next-single-property-change (point) 'invisible nil end)) ;; if text is hidden by an `invisible' text property ;; we cannot open it at all. (setq can-be-opened nil)) (when can-be-opened (let ((overlays (overlays-at (point))) ov-list o invis-prop) (while overlays (setq o (car overlays) invis-prop (overlay-get o 'invisible)) (if (invisible-p invis-prop) (if (overlay-get o 'isearch-open-invisible) (setq ov-list (cons o ov-list)) ;; We found one overlay that cannot be ;; opened, that means the whole chunk ;; cannot be opened. --=-=-=-- ------------=_1306260962-4251-1-- From unknown Sun Aug 17 10:24:35 2025 X-Loop: help-debbugs@gnu.org Subject: bug#8721: isearch does not handle list values for `invisible' property Resent-From: Dmitry Kurochkin Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-To: owner@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 24 May 2011 18:26:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 8721 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Stefan Monnier Cc: 8721@debbugs.gnu.org Received: via spool by 8721-submit@debbugs.gnu.org id=B8721.13062615565079 (code B ref 8721); Tue, 24 May 2011 18:26:01 +0000 Received: (at 8721) by debbugs.gnu.org; 24 May 2011 18:25:56 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QOwIl-0001Js-Kz for submit@debbugs.gnu.org; Tue, 24 May 2011 14:25:56 -0400 Received: from mail-fx0-f44.google.com ([209.85.161.44]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QOwIb-0001JN-93 for 8721@debbugs.gnu.org; Tue, 24 May 2011 14:25:54 -0400 Received: by fxm15 with SMTP id 15so4824453fxm.3 for <8721@debbugs.gnu.org>; Tue, 24 May 2011 11:25:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:from:to:cc:subject:in-reply-to:references :user-agent:date:message-id:mime-version:content-type; bh=nBdFHA2T2fvVAgzqGMcfUvcRH4c8WdkX/MfcvldBhK4=; b=Ub0xUHufgXPDXiGkfM5TeUko9HJbWj2K/mXvLzMMTG6NG2QUwfA6lyLbmeWp2ZjEGO svGYHdo9Wfk1Z13aFcQ8hfn4sxVQUXk1OW0E9WfHNsHuPlUwSfO25T1bgl8pt/gy8E7/ dRfb+NmSpLKcY57ZyFBZAD2FMoNS/n2HKP8JU= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:to:cc:subject:in-reply-to:references:user-agent:date :message-id:mime-version:content-type; b=gKzMnUBSItNEE4Y9U13HCD7H3kJzQ1LNwDBUOSJhPV+Nn+IAalqmxxVAwIo6coUPTO Iocad3bGM6FenCHm+q5WAaFc0UYMjW8i8GAZqYobyJ81BJtgq8koZ+wUJP9eahE76rTi QeNzqI2So6BUB5Hqd1llKrZFIs38xcPdfq32Q= Received: by 10.223.38.149 with SMTP id b21mr1183979fae.18.1306261539317; Tue, 24 May 2011 11:25:39 -0700 (PDT) Received: from localhost ([91.144.186.21]) by mx.google.com with ESMTPS id b22sm766595fab.4.2011.05.24.11.25.37 (version=TLSv1/SSLv3 cipher=OTHER); Tue, 24 May 2011 11:25:38 -0700 (PDT) From: Dmitry Kurochkin In-Reply-To: References: <87mxidq8sv.fsf@gmail.com> User-Agent: Notmuch/0.5-216-g0104e23 (http://notmuchmail.org) Emacs/23.3.1 (x86_64-pc-linux-gnu) Date: Tue, 24 May 2011 22:26:01 +0400 Message-ID: <87boysq7k6.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Spam-Score: -3.6 (---) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -3.6 (---) On Tue, 24 May 2011 15:15:50 -0300, Stefan Monnier wrote: > > Attached patch fixes the issue by using `invisible-p' function instead of > > custom checks. > > Thanks for catching this. I installed your very nice patch on the trunk, > Thank you. Please consider pushing the second patch to the trunk as well. Regards, Dmitry > > Stefan