On Wed, 25 May 2011 15:46:40 -0700, Carl Worth <cworth@cworth.org> wrote: > On Thu, 26 May 2011 02:34:28 +0400, Dmitry Kurochkin <dmitry.kurochkin@gmail.com> wrote: > > I am not sure how it is best to test this. The common `printc' method > > for emacs tests does not work, because it prints invisible parts as > > well. We need either to find a way to print only visible text on the > > console, or test it inside emacs somehow. Any suggestions? > > Unfortunately, I don't have a good plan here. I delayed implementing any > automated testing at all of the emacs interface precisely because of > this problem. It's seems to me that surely emacs must have some built-in > mechanism for copying the visible portion of a block of text, but I've > not been able to find it. > Me too. > We could do something cheesy (and slow) by marching through the buffer > character-by-character in elisp and testing for visibility, but the > emacs tests are already the slowest part of "make test"[*] so that would > be obnoxious. > Indeed. > > Note that this is exactly the patch that hits the isearch emacs bug. Do > > I understand correctly that you are ready to push the series despite of > > it (given that we have a test)? > > Breaking isearch would be really unfortunate. That's a really nice > feature of the emacs frontend currently. > > So I would notice that breakage, (while I've apparently never before > noticed the breakage of having visible citations in a hidden message). > > So no, I'm not saying I'm ready to push the series while emacs is broken. > Well, emacs trunk is not broken :) The bug is in lisp code, so you can fix it in .emacs by redefining `isearch-range-invisible' function. I do that now. I do not think I will make myself work on the test until it is likely to be pushed. I will try to not to forget about it, so sometime later I may be back to it :) Please consider pushing other patches from the series. They do not fix any bug, but do simplify the code. The last patch uses list for invisible overlay property as well. But it does not break isearch because we do not search in hidden messages. BTW would be nice to have a set of known-to-fail tests, i.e. bugs that are not fixed yet. If we had it, the above test could be implemented and committed before we have the fix pushed. > -Carl > > [*] Maybe the performance of the emacs testing could be significantly > improved by sharing a single invocation of emacs? Perhaps this wouldn't > even be hard by just using emacsclient? > This is possible as long as tests do not affect each other. Would be a nice improvement. Regards, Dmitry