From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: martin rudalics Newsgroups: gmane.emacs.bugs Subject: bug#27427: 26.0.50; Native line numbers lead to display error in company-mode popup Date: Wed, 28 Jun 2017 20:35:50 +0200 Message-ID: <5953F706.7080405@gmx.at> References: <611468a0-3115-813a-7347-d0c06e155831@web.de> <83vanrx5uo.fsf@gnu.org> <362a7d18-7f05-2e99-f8b3-41c353cf234f@yandex.ru> <83h8zawvih.fsf@gnu.org> <00f59a24-2d80-ca47-b6f3-3d219aa5aa3f@yandex.ru> <8360fqvz9x.fsf@gnu.org> <6aa4616d-79f7-db1b-c048-076a9a48596f@yandex.ru> <83tw39urzq.fsf@gnu.org> <4c4b873b-2bec-1c12-82f5-325b558bea93@yandex.ru> <83o9tgul6h.fsf@gnu.org> <49b431fd-aaa4-e7ca-06fc-7146a0a5692c@yandex.ru> <83a84zul0d.fsf@gnu.org> <513eca6f-998a-a937-76c4-7cf2fb0ff787@yandex.ru> <83wp81u8rz.fsf@gnu.org> <8ec1b301-79dc-7d11-b3f9-85ae2e925785@yandex.ru> <594FDDC5.6040009@gmx.at> <83zicwrkmu.fsf@gnu.org> <5950C342.7010908@gmx.at> <83mv8ussb6.fsf@gnu.org> <595203DE.1040608@gmx.at> <837ezxsd02.fsf@gnu.org> <59527971.5000205@gmx.at> <83y3sdqtto.fsf@gnu.org> <59536CA6.10608@gmx.at> <83r2y4qcs1.fsf@gnu.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-Trace: blaine.gmane.org 1498675040 15331 195.159.176.226 (28 Jun 2017 18:37:20 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Wed, 28 Jun 2017 18:37:20 +0000 (UTC) Cc: alexanderm@web.de, 27427@debbugs.gnu.org, dgutov@yandex.ru To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Wed Jun 28 20:37:13 2017 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dQHps-0003Op-V2 for geb-bug-gnu-emacs@m.gmane.org; Wed, 28 Jun 2017 20:37:09 +0200 Original-Received: from localhost ([::1]:35132 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dQHpx-0000Re-O2 for geb-bug-gnu-emacs@m.gmane.org; Wed, 28 Jun 2017 14:37:13 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:33248) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dQHpp-0000RW-Ee for bug-gnu-emacs@gnu.org; Wed, 28 Jun 2017 14:37:06 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dQHpm-0002yK-CS for bug-gnu-emacs@gnu.org; Wed, 28 Jun 2017 14:37:05 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:40314) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dQHpm-0002y1-96 for bug-gnu-emacs@gnu.org; Wed, 28 Jun 2017 14:37:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1dQHpl-0002PF-TM for bug-gnu-emacs@gnu.org; Wed, 28 Jun 2017 14:37:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: martin rudalics Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 28 Jun 2017 18:37:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 27427 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 27427-submit@debbugs.gnu.org id=B27427.14986749709180 (code B ref 27427); Wed, 28 Jun 2017 18:37:01 +0000 Original-Received: (at 27427) by debbugs.gnu.org; 28 Jun 2017 18:36:10 +0000 Original-Received: from localhost ([127.0.0.1]:42991 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dQHow-0002O0-H1 for submit@debbugs.gnu.org; Wed, 28 Jun 2017 14:36:10 -0400 Original-Received: from mout.gmx.net ([212.227.15.18]:64751) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dQHou-0002Nl-IQ for 27427@debbugs.gnu.org; Wed, 28 Jun 2017 14:36:09 -0400 Original-Received: from [192.168.1.100] ([46.125.250.117]) by mail.gmx.com (mrgmx002 [212.227.17.190]) with ESMTPSA (Nemesis) id 0Meg8W-1d6PW52JTM-00OHu6; Wed, 28 Jun 2017 20:36:01 +0200 In-Reply-To: <83r2y4qcs1.fsf@gnu.org> X-Provags-ID: V03:K0:6BixdlUYXQcTClpaKJhs4aqkNJEOzsSBAhDVQSxTZZCdJlVHR5U pTKc3EpEcrQzmVO7tqBCfpZj6xYUcY+6w72JfKzupH71dMfottiGdNaY43SgWmrksPUxQdt X/ZN1DIXHn3F8dhU8JFV+JPtFK910QKfDB9isjIjrrLXBC4CMEDLO4hd1V0/IP9fkp2wDmt ufLxMAw1rR2iAhWio240Q== X-UI-Out-Filterresults: notjunk:1;V01:K0:vjBfGdbsOFA=:1/6ddXSfNSSkxobcjYMa3E fkLwJk8vnxTXPqAtn3xrb2EvvpGFk5nara22lCdowitlbcIzTu+FoK/80Vjv7s1ELkES0h+bO xDgRQgOkTPOLIg5Uxw2DeeugzVkRyCGza32DUoDZVaqSBunLl4e5J0n/KzoUqSgtEfoaJabOk AoWceyS3QcQ1bBdHSyom6hJwkqzahE5iaz48KROJDlbNEBJq4tOFo44X6dIXTd8KCIXPBLHyN uCJpjOxbh0eJ0Jr0H60Tlpw4P94veQzYg9VGR1QHSyQ+I6IhzHAhnxRf2LimV3vjF+Vexo3LE 0JbdO4dZJRKX/Go6Kjaeb8c0Aku4L9Ejr/VvhrRbTEIysrfweWpaS5Hunbr4QF0pEEgMoISpd uaWxEghScaS4dtiTYECQ13hnBD3J0FXrWqpuxqF3e1Posf+NE9NlhyDj7zFHyatJXAwTxYpak jx3AgwGBpBEUTzwEH6oVOk3HoN+s+k/HNTb7ZiwHbvi7ldIuIKIscX7uFS73ReiOLu8ZQJOAN wp3NMc/VNIeQiCM8fRps7lDXd4wTWJF3Pff2U5YEnhlga9XnhRXvffjZD8WXvJaulf48ZlzqY uTQmM2GEmAKfd6M2It6pHa8101+gZU03h425vOUBr1PFedyV3t65CC0GGEFyH9qVKTAkCKLY6 28aHFd5fMvqwjQyb1EV86T3cEqmmENr5vI4ScMVd5ww+6Np2sZYwf6f+j2wYC+a/onIskeV0M bH4vZrI5rX2bPXQsnMZWmgYjrGKIkomeNMBrck4/zGreNY1N8dJS5NPC93a2CKmfwUI1eUZF X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:133997 Archived-At: > Alas, that is not how redisplay works. For starters, you seem to > assume that it always traverses all the screen lines of a window (thus= > "on the next buffer line" etc.). But that is only so when a window > needs a complete redisplay, and the display engine tries very hard to > avoid that. Many times it only redraws some of the lines, sometimes > just one line. If that line is not the first line of the popup, how > will the display engine know that at some previous buffer position > there is an overlay? Because an application would include that very line in the 'tty-popup' overlay BEG...END range and the display engine has to know how to handle an overlay that spans multiple lines. Right? > Moreover, the same low-level display code is invoked by the move_it_* > functions which simulate display without drawing anything, and those > are very often invoked to traverse small portions of a buffer, > typically a small number of lines. These will be in trouble as well, > for the same reason. And still would have to be able to handle multiline overlays as described above. > So we need a different solution, one that doesn't break due to > redisplay optimizations. Then consider the =E2=80=98tty-popup-frames=E2=80=99 list approach: It wo= uld have to remember the start and end glyph matrix positions of the popup frame as drawn the last time and if these intersect with what has been redrawn in an optimized way then it would have to (1) restore the old contents of the popup frame by the real buffer text, if necessary and (2) rewrite popup frame parts, if necessary. martin