Subject: bug#14724: closed (Re: bug#14724: 24.3.50; `isearch-open-necessary-overlays' handling of overlay property 'isearch-open-invisible')

From: [email-masked] (GNU bug Tracking System)
Date: Thu, 27 Jun 2013 03:01:03 +0000

Your bug report

#14724: 24.3.50; `isearch-open-necessary-overlays' handling of overlay property 'isearch-open-invisible'

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 [email-masked].

-- 
14724: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=14724
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#14724: 24.3.50; `isearch-open-necessary-overlays' handling of overlay property 'isearch-open-invisible'
From: Stefan Monnier <[email-masked]>
To: Drew Adams <[email-masked]>
Cc: [email-masked]
Date: Wed, 26 Jun 2013 23:00:18 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

tags 14724 notabug
thanks

> An error is raised; that's all - Isearch is not broken by it.  Yes,

Then there's no point adding a with-demoted-error.

        Stefan

Subject: 24.3.50; `isearch-open-necessary-overlays' handling of overlay property 'isearch-open-invisible'
From: Drew Adams <[email-masked]>
To: [email-masked]
Date: Wed, 26 Jun 2013 09:24:53 -0700 (PDT)
List-Id: <debbugs-submit.debbugs.gnu.org>

The code would be more robust if it would gracefully handle (1) an
non-functional value and perhaps also (2) a functional value where
invoking the function raises an error.  Here is the problematic code:

(funcall (overlay-get ov 'isearch-open-invisible)  ov)

For (1), the code could be like this:

(when (functionp (overlay-get ov 'isearch-open-invisible))
  (funcall (overlay-get ov 'isearch-open-invisible) ov))

For (1+2), that could be wrapped in `ignore-errors'.  Dunno whether (2)
is an important case to handle or whether it is really advisable to
ignore such an error.

Handling (1) seems to me reasonable, and with no downside.  The behavior
is to just do nothing additional with the overlay - e.g., leave the text
invisible.

Dunno know whether similar considerations apply to
`isearch-open-invisible-temporary'.  I'm guessing no - its value seems
to be provided only by the Isearch code (whereas code far from Isearch
sets the `isearch-open-invisible' overlay property).

In GNU Emacs 24.3.50.1 (i686-pc-mingw32)
 of 2013-06-20 on ODIEONE
Bzr revision: 113100 [email-masked]
Windowing system distributor `Microsoft Corp.', version 6.1.7601
Configured using:
 `configure --prefix=/c/Devel/emacs/binary --enable-checking=yes,glyphs
 CFLAGS=-O0 -g3 LDFLAGS=-Lc:/Devel/emacs/lib
 CPPFLAGS=-Ic:/Devel/emacs/include'