From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Dmitry Antipov Newsgroups: gmane.emacs.bugs Subject: bug#13007: 24.3.50; emacs_backtrace.txt Date: Fri, 30 Nov 2012 19:50:57 +0400 Message-ID: <50B8D5E1.7090005@yandex.ru> References: <9FE4F131C0C94FC79470495A8506A387@us.oracle.com> <83k3t7xemd.fsf@gnu.org> <50B4EF28.6040905@yandex.ru> <834nkbx7if.fsf@gnu.org> <50B5BB01.2070304@yandex.ru> <50B63309.1070404@yandex.ru> <838v9lwqvn.fsf@gnu.org> <50B6FE89.20304@yandex.ru> <83txs8uzkc.fsf@gnu.org> <50B79A19.2050707@yandex.ru> <83a9tzv2m0.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------090600030603000200040403" X-Trace: ger.gmane.org 1354290730 1137 80.91.229.3 (30 Nov 2012 15:52:10 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 30 Nov 2012 15:52:10 +0000 (UTC) Cc: 13007@debbugs.gnu.org, lekktu@gmail.com To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri Nov 30 16:52:21 2012 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1TeSt0-0001uz-PB for geb-bug-gnu-emacs@m.gmane.org; Fri, 30 Nov 2012 16:52:18 +0100 Original-Received: from localhost ([::1]:36515 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TeSsp-0002eS-Ev for geb-bug-gnu-emacs@m.gmane.org; Fri, 30 Nov 2012 10:52:07 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:48291) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TeSsj-0002ds-DK for bug-gnu-emacs@gnu.org; Fri, 30 Nov 2012 10:52:05 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TeSse-0004YN-8x for bug-gnu-emacs@gnu.org; Fri, 30 Nov 2012 10:52:01 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:36937) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TeSse-0004YJ-5Y for bug-gnu-emacs@gnu.org; Fri, 30 Nov 2012 10:51:56 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.72) (envelope-from ) id 1TeSuf-0007a0-Sz for bug-gnu-emacs@gnu.org; Fri, 30 Nov 2012 10:54:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Dmitry Antipov Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 30 Nov 2012 15:54:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 13007 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 13007-submit@debbugs.gnu.org id=B13007.135429079129079 (code B ref 13007); Fri, 30 Nov 2012 15:54:01 +0000 Original-Received: (at 13007) by debbugs.gnu.org; 30 Nov 2012 15:53:11 +0000 Original-Received: from localhost ([127.0.0.1]:47188 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TeStr-0007Yx-ED for submit@debbugs.gnu.org; Fri, 30 Nov 2012 10:53:11 -0500 Original-Received: from forward3h.mail.yandex.net ([84.201.187.148]:47405) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TeStn-0007Ym-71 for 13007@debbugs.gnu.org; Fri, 30 Nov 2012 10:53:10 -0500 Original-Received: from smtp2h.mail.yandex.net (smtp2h.mail.yandex.net [84.201.187.145]) by forward3h.mail.yandex.net (Yandex) with ESMTP id 915A41361FEB; Fri, 30 Nov 2012 19:50:58 +0400 (MSK) Original-Received: from smtp2h.mail.yandex.net (localhost [127.0.0.1]) by smtp2h.mail.yandex.net (Yandex) with ESMTP id 228EA17002C0; Fri, 30 Nov 2012 19:50:58 +0400 (MSK) Original-Received: from unknown (unknown [37.139.80.10]) by smtp2h.mail.yandex.net (nwsmtp/Yandex) with ESMTP id oun4L1YL-ovnOrO55; Fri, 30 Nov 2012 19:50:57 +0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1354290658; bh=HlzOnFds5u7ADL+0aLL3dfIKOm95hrADRSw3daKfnV4=; h=Message-ID:Date:From:User-Agent:MIME-Version:To:CC:Subject: References:In-Reply-To:Content-Type; b=Vk3q0aWPuQoaSK3HDsJNHGyqlfc5Z3PxgezF3FGC//smOGwdT0FS1dlQQU6UkZEHJ rrXlmhUhEhqOE8xdtCIodX4KN7Rd3x3xoH1rRtnVXdOOQluFwqncAfGTRYUZnsjnPc Q3GTi8UVKKYOl6dAJY4uWykst+HItpJi1CklFQHw= User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/17.0 Thunderbird/17.0 In-Reply-To: <83a9tzv2m0.fsf@gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 140.186.70.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-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:67663 Archived-At: This is a multi-part message in MIME format. --------------090600030603000200040403 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 11/30/2012 01:53 PM, Eli Zaretskii wrote: > OK. So what do you suggest, in practical terms? Are you saying that > we should use BUF_MODIFF(XBUFFER (w->buffer)) instead of MODIFF and > BUF_OVERLAY_MODIFF(XBUFFER (w->buffer)) instead of OVERLAY_MODIFF > inside window_outdated? Or do you suggest something else? > > I'm okay with using BUF_* macros in window_outdated. There is one more similar thing: if we can enter redisplay_internal with different current_buffer and selected window's buffer, we can confuse reconsider_clip_changes, which comment explicitly assumes that W->buffer and B are the same buffer. What if we just delay the real redisplay action until current_buffer and selected window's buffer becomes synchronized, assuming that it happens in the very near future (when someone finally update current_buffer with selected window's buffer and then attract redisplay attention with ++windows_or_buffers_changed or similar)? > So if window_outdated is called not from redisplay_window or its > subroutines, we cannot assume that current_buffer and the selected > window's buffer are the same. Also, for minibuffer windows and > pseudo-windows, we may need more care, but I'm not sure. IIUC pseudo-windows are always non-leaf; so, selected_window can't be a pseudo-window, and pseudo-window can't be passed to redisplay_window. Attached patch illustrates all from the above. Dmitry --------------090600030603000200040403 Content-Type: text/plain; charset=UTF-8; name="3.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="3.patch" PT09IG1vZGlmaWVkIGZpbGUgJ3NyYy94ZGlzcC5jJwotLS0gc3JjL3hkaXNwLmMJMjAxMi0x MS0zMCAwOToyMzoxNSArMDAwMAorKysgc3JjL3hkaXNwLmMJMjAxMi0xMS0zMCAxNTo0NToz NiArMDAwMApAQCAtMTA5MDYsNiArMTA5MDYsNyBAQAogc3RhdGljIGludAogd2luZG93X291 dGRhdGVkIChzdHJ1Y3Qgd2luZG93ICp3KQogeworICBlYXNzZXJ0IChYQlVGRkVSICh3LT5i dWZmZXIpID09IGN1cnJlbnRfYnVmZmVyKTsKICAgcmV0dXJuICh3LT5sYXN0X21vZGlmaWVk IDwgTU9ESUZGIAogCSAgfHwgdy0+bGFzdF9vdmVybGF5X21vZGlmaWVkIDwgT1ZFUkxBWV9N T0RJRkYpOwogfQpAQCAtMTI5MTcsNiArMTI5MTgsOCBAQAogc3RhdGljIHZvaWQKIHJlY29u c2lkZXJfY2xpcF9jaGFuZ2VzIChzdHJ1Y3Qgd2luZG93ICp3LCBzdHJ1Y3QgYnVmZmVyICpi KQogeworICBlYXNzZXJ0IChYQlVGRkVSICh3LT5idWZmZXIpID09IGIpOworCiAgIGlmIChi LT5jbGlwX2NoYW5nZWQKIAkgICAmJiAhTklMUCAody0+d2luZG93X2VuZF92YWxpZCkKIAkg ICAmJiB3LT5jdXJyZW50X21hdHJpeC0+YnVmZmVyID09IGIKQEAgLTEyOTI0LDEzICsxMjky NywxMSBAQAogCSAgICYmIHctPmN1cnJlbnRfbWF0cml4LT5iZWd2ID09IEJVRl9CRUdWIChi KSkKICAgICBiLT5jbGlwX2NoYW5nZWQgPSAwOwogCi0gIC8qIElmIGRpc3BsYXkgd2Fzbid0 IHBhdXNlZCwgYW5kIFcgaXMgbm90IGEgdG9vbCBiYXIgd2luZG93LCBzZWUgaWYKLSAgICAg cG9pbnQgaGFzIGJlZW4gbW92ZWQgaW50byBvciBvdXQgb2YgYSBjb21wb3NpdGlvbi4gIElu IHRoYXQgY2FzZSwKLSAgICAgd2Ugc2V0IGItPmNsaXBfY2hhbmdlZCB0byAxIHRvIGZvcmNl IHVwZGF0aW5nIHRoZSBzY3JlZW4uICBJZgotICAgICBiLT5jbGlwX2NoYW5nZWQgaGFzIGFs cmVhZHkgYmVlbiBzZXQgdG8gMSwgd2UgY2FuIHNraXAgdGhpcwotICAgICBjaGVjay4gICov Ci0gIGlmICghYi0+Y2xpcF9jaGFuZ2VkCi0gICAgICAmJiBCVUZGRVJQICh3LT5idWZmZXIp ICYmICFOSUxQICh3LT53aW5kb3dfZW5kX3ZhbGlkKSkKKyAgLyogSWYgZGlzcGxheSB3YXNu J3QgcGF1c2VkLCBzZWUgaWYgcG9pbnQgaGFzIGJlZW4gbW92ZWQgaW50byBvcgorICAgICBv dXQgb2YgYSBjb21wb3NpdGlvbi4gIEluIHRoYXQgY2FzZSwgd2Ugc2V0IGItPmNsaXBfY2hh bmdlZAorICAgICB0byAxIHRvIGZvcmNlIHVwZGF0aW5nIHRoZSBzY3JlZW4uICBJZiBiLT5j bGlwX2NoYW5nZWQgaGFzCisgICAgIGFscmVhZHkgYmVlbiBzZXQgdG8gMSwgd2UgY2FuIHNr aXAgdGhpcyBjaGVjay4gICovCisgIGlmICghYi0+Y2xpcF9jaGFuZ2VkICYmICFOSUxQICh3 LT53aW5kb3dfZW5kX3ZhbGlkKSkKICAgICB7CiAgICAgICBwdHJkaWZmX3QgcHQ7CiAKQEAg LTEzMDc5LDYgKzEzMDgwLDEwIEBACiAgICAgIG1heSBuZWVkIHRvIHJ1biBFbGlzcCBjb2Rl ICh2aWEgcHJlcGFyZV9tZW51X2JhcnMpLiAgKi8KICAgZW5zdXJlX3NlbGVjdGVkX2ZyYW1l IChvbGRfZnJhbWUpOwogCisgIGlmIChYQlVGRkVSICh3LT5idWZmZXIpICE9IGN1cnJlbnRf YnVmZmVyKQorICAgIC8qIE91dCBvZiBzeW5jLCBkbyBub3RoaW5nLiAgKi8KKyAgICBnb3Rv IGVuZF9vZl9yZWRpc3BsYXk7CisKICAgcGVuZGluZyA9IDA7CiAgIHJlY29uc2lkZXJfY2xp cF9jaGFuZ2VzICh3LCBjdXJyZW50X2J1ZmZlcik7CiAgIGxhc3RfZXNjYXBlX2dseXBoX2Zy YW1lID0gTlVMTDsKQEAgLTEzMTM2LDEwICsxMzE0MSw3IEBACiAgIC8qIGRvX3BlbmRpbmdf d2luZG93X2NoYW5nZSBjb3VsZCBjaGFuZ2UgdGhlIHNlbGVjdGVkX3dpbmRvdyBkdWUgdG8K ICAgICAgZnJhbWUgcmVzaXppbmcgd2hpY2ggbWFrZXMgdGhlIHNlbGVjdGVkIHdpbmRvdyB0 b28gc21hbGwuICAqLwogICBpZiAoV0lORE9XUCAoc2VsZWN0ZWRfd2luZG93KSAmJiAodyA9 IFhXSU5ET1cgKHNlbGVjdGVkX3dpbmRvdykpICE9IHN3KQotICAgIHsKLSAgICAgIHN3ID0g dzsKLSAgICAgIHJlY29uc2lkZXJfY2xpcF9jaGFuZ2VzICh3LCBjdXJyZW50X2J1ZmZlcik7 Ci0gICAgfQorICAgIGdvdG8gcmV0cnk7CiAKICAgLyogQ2xlYXIgZnJhbWVzIG1hcmtlZCBh cyBnYXJiYWdlZC4gICovCiAgIGNsZWFyX2dhcmJhZ2VkX2ZyYW1lcyAoKTsKCg== --------------090600030603000200040403--