From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Dmitry Antipov Newsgroups: gmane.emacs.devel Subject: Re: 'struct window' cleanup #3 Date: Sun, 01 Jul 2012 19:05:31 +0400 Message-ID: <4FF0673B.9010002@yandex.ru> References: <4FE827B6.6020306@yandex.ru> <4FE89369.2000708@gmx.at> <4FE896A9.3090002@yandex.ru> <4FE9643C.1090201@gmx.at> <83a9zq9jhp.fsf@gnu.org> <83lij98nhj.fsf@gnu.org> <4FEAB1EA.3000307@yandex.ru> <83ehp08y8f.fsf@gnu.org> <4FEB4A1E.5060203@yandex.ru> <838vf88s3i.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------080602040708000206010302" X-Trace: dough.gmane.org 1341155010 12754 80.91.229.3 (1 Jul 2012 15:03:30 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sun, 1 Jul 2012 15:03:30 +0000 (UTC) Cc: emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Jul 01 17:03:28 2012 Return-path: Envelope-to: ged-emacs-devel@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 1SlLgJ-0007ah-Vt for ged-emacs-devel@m.gmane.org; Sun, 01 Jul 2012 17:03:24 +0200 Original-Received: from localhost ([::1]:47344 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SlLgI-0004bY-Uz for ged-emacs-devel@m.gmane.org; Sun, 01 Jul 2012 11:03:22 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:53273) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SlLgE-0004Yl-8z for emacs-devel@gnu.org; Sun, 01 Jul 2012 11:03:19 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SlLgC-0001Yo-Fz for emacs-devel@gnu.org; Sun, 01 Jul 2012 11:03:17 -0400 Original-Received: from forward11.mail.yandex.net ([95.108.130.93]:49277) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SlLg9-0001XM-E5; Sun, 01 Jul 2012 11:03:13 -0400 Original-Received: from smtp12.mail.yandex.net (smtp12.mail.yandex.net [95.108.131.191]) by forward11.mail.yandex.net (Yandex) with ESMTP id E35B7E815EC; Sun, 1 Jul 2012 19:03:10 +0400 (MSK) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1341154990; bh=cFEIhtYfylca7VRg1/iPS0iLg1K9us6ajhKvPZ2n9S4=; h=Message-ID:Date:From:MIME-Version:To:CC:Subject:References: In-Reply-To:Content-Type; b=dhHei6kJzAheIvlbaWtTfLKWmg8QW3UEuR9oqKRwA2zz6GJtIc8y40CaXeNYHitWd yX17y6TLrWsROVkhrG/9IJnX7UHS4UeNN358/hsMEaq4IVzv81Ll1WTh+3uwC4yVs7 zUitlWy64BLCI/9iGk5YGPBGrdyNYM1DCWMZE464= Original-Received: from smtp12.mail.yandex.net (localhost [127.0.0.1]) by smtp12.mail.yandex.net (Yandex) with ESMTP id C414616A05D5; Sun, 1 Jul 2012 19:03:10 +0400 (MSK) Original-Received: from 35.gprs.mts.ru (35.gprs.mts.ru [213.87.132.35]) by smtp12.mail.yandex.net (nwsmtp/Yandex) with ESMTP id 38O82M3W-39Oul37j; Sun, 1 Jul 2012 19:03:10 +0400 X-Yandex-Rcpt-Suid: eliz@gnu.org X-Yandex-Rcpt-Suid: emacs-devel@gnu.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1341154990; bh=cFEIhtYfylca7VRg1/iPS0iLg1K9us6ajhKvPZ2n9S4=; h=Message-ID:Date:From:User-Agent:MIME-Version:To:CC:Subject: References:In-Reply-To:Content-Type; b=YWcEky9+AQkWcfReMEsdcAslboANXQylnbGPqxunyvgk6ee6io5iBIwfTnSrHv3u7 nL2SLQIzJWbfvZuLtq4IUsa2r+f3aDYPRiaLSgMJfyknBY00iQIWWSZY54Vi6s1F09 k9Eop4GEz3qJH4a1YGItDH0CpmcpJ/1mvp62VsJg= User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:13.0) Gecko/20120614 Thunderbird/13.0.1 In-Reply-To: <838vf88s3i.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 95.108.130.93 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:151333 Archived-At: This is a multi-part message in MIME format. --------------080602040708000206010302 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit One more minor simplification: W->region_showing may be only nil or t, so it may be reduced to a bitfield. Hard case: if (((!NILP (Vtransient_mark_mode) && !NILP (BVAR (XBUFFER (w->buffer), mark_active))) != !NILP (w->region_showing)) || (!NILP (w->region_showing) && !EQ (w->region_showing, Fmarker_position (BVAR (XBUFFER (w->buffer), mark))))) There are two possible cases: - both w->region_showing and Fmarker_position (BVAR (XBUFFER (w->buffer), mark)) are nil; - w->region_showing is t and Fmarker_position (BVAR (XBUFFER (w->buffer), mark)) is a number, so !EQ (...) is always non-zero. So if-statement may be simplified to: if (((!NILP (Vtransient_mark_mode) && !NILP (BVAR (XBUFFER (w->buffer), mark_active))) != w->region_showing) || w->region_showing) Dmitry --------------080602040708000206010302 Content-Type: text/plain; charset=UTF-8; name="region_showing.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="region_showing.patch" PT09IG1vZGlmaWVkIGZpbGUgJ3NyYy93aW5kb3cuaCcKLS0tIHNyYy93aW5kb3cuaAkyMDEy LTA2LTI5IDExOjQ4OjA4ICswMDAwCisrKyBzcmMvd2luZG93LmgJMjAxMi0wNy0wMSAwOTo1 NTo0NCArMDAwMApAQCAtMTk4LDEwICsxOTgsNiBAQAogICAgICAgIGFzIGxvbmcgYXMgdGhl IHdpbmRvdyBzaG93cyB0aGF0IGJ1ZmZlci4gICovCiAgICAgTGlzcF9PYmplY3QgYmFzZV9s aW5lX3BvczsKIAotICAgIC8qIElmIHdlIGhhdmUgaGlnaGxpZ2h0ZWQgdGhlIHJlZ2lvbiAo b3IgYW55IHBhcnQgb2YgaXQpLAotICAgICAgIHRoaXMgaXMgdGhlIG1hcmsgcG9zaXRpb24g dGhhdCB3ZSB1c2VkLCBhcyBhbiBpbnRlZ2VyLiAgKi8KLSAgICBMaXNwX09iamVjdCByZWdp b25fc2hvd2luZzsKLQogICAgIC8qIFRoZSBjb2x1bW4gbnVtYmVyIGN1cnJlbnRseSBkaXNw bGF5ZWQgaW4gdGhpcyB3aW5kb3cncyBtb2RlIGxpbmUsCiAgICAgICAgb3IgbmlsIGlmIGNv bHVtbiBudW1iZXJzIGFyZSBub3QgYmVpbmcgZGlzcGxheWVkLiAgKi8KICAgICBMaXNwX09i amVjdCBjb2x1bW5fbnVtYmVyX2Rpc3BsYXllZDsKQEAgLTI4OSw2ICsyODUsOSBAQAogICAg ICAgIHdhcyBsYXN0IHVwZGF0ZWQuICAqLwogICAgIHVuc2lnbmVkIGxhc3RfaGFkX3N0YXIg OiAxOwogCisgICAgLyogTm9uLXplcm8gaWYgd2UgaGF2ZSBoaWdobGlnaHRlZCB0aGUgcmVn aW9uIChvciBhbnkgcGFydCBvZiBpdCkuICAqLworICAgIHVuc2lnbmVkIHJlZ2lvbl9zaG93 aW5nIDogMTsKKwogICAgIC8qIE5vbi16ZXJvIG1lYW5zIGN1cnJlbnQgdmFsdWUgb2YgYHN0 YXJ0JwogICAgICAgIHdhcyB0aGUgYmVnaW5uaW5nIG9mIGEgbGluZSB3aGVuIGl0IHdhcyBj aG9zZW4uICAqLwogICAgIHVuc2lnbmVkIHN0YXJ0X2F0X2xpbmVfYmVnIDogMTsKCj09PSBt b2RpZmllZCBmaWxlICdzcmMveGRpc3AuYycKLS0tIHNyYy94ZGlzcC5jCTIwMTItMDYtMjkg MTg6NTI6NTQgKzAwMDAKKysrIHNyYy94ZGlzcC5jCTIwMTItMDctMDEgMTQ6NTY6MjQgKzAw MDAKQEAgLTExMjAyLDcgKzExMjAyLDcgQEAKIAkgICAgICAhPSB3LT5sYXN0X2hhZF9zdGFy KQogCSAgfHwgKCghTklMUCAoVnRyYW5zaWVudF9tYXJrX21vZGUpCiAJICAgICAgICYmICFO SUxQIChCVkFSIChYQlVGRkVSICh3LT5idWZmZXIpLCBtYXJrX2FjdGl2ZSkpKQotCSAgICAg ICE9ICFOSUxQICh3LT5yZWdpb25fc2hvd2luZykpKQorCSAgICAgICE9IHctPnJlZ2lvbl9z aG93aW5nKSkKIAl7CiAJICBzdHJ1Y3QgYnVmZmVyICpwcmV2ID0gY3VycmVudF9idWZmZXI7 CiAJICBwdHJkaWZmX3QgY291bnQgPSBTUEVDUERMX0lOREVYICgpOwpAQCAtMTE0MDAsNyAr MTE0MDAsNyBAQAogCSAgICAgICE9IHctPmxhc3RfaGFkX3N0YXIpCiAJICB8fCAoKCFOSUxQ IChWdHJhbnNpZW50X21hcmtfbW9kZSkKIAkgICAgICAgJiYgIU5JTFAgKEJWQVIgKFhCVUZG RVIgKHctPmJ1ZmZlciksIG1hcmtfYWN0aXZlKSkpCi0JICAgICAgIT0gIU5JTFAgKHctPnJl Z2lvbl9zaG93aW5nKSkpCisJICAgICAgIT0gdy0+cmVnaW9uX3Nob3dpbmcpKQogCXsKIAkg IHN0cnVjdCBidWZmZXIgKnByZXYgPSBjdXJyZW50X2J1ZmZlcjsKIAkgIHB0cmRpZmZfdCBj b3VudCA9IFNQRUNQRExfSU5ERVggKCk7CkBAIC0xMzEwNSwxMCArMTMxMDUsNyBAQAogICAg ICB0aGUgb3B0aW1pemF0aW9uIGRpcmVjdGx5IGJlbG93IHRoaXMgaWYtc3RhdGVtZW50LiAg Ki8KICAgaWYgKCgoIU5JTFAgKFZ0cmFuc2llbnRfbWFya19tb2RlKQogCSYmICFOSUxQIChC VkFSIChYQlVGRkVSICh3LT5idWZmZXIpLCBtYXJrX2FjdGl2ZSkpKQotICAgICAgICE9ICFO SUxQICh3LT5yZWdpb25fc2hvd2luZykpCi0gICAgICB8fCAoIU5JTFAgKHctPnJlZ2lvbl9z aG93aW5nKQotCSAgJiYgIUVRICh3LT5yZWdpb25fc2hvd2luZywKLQkJICBGbWFya2VyX3Bv c2l0aW9uIChCVkFSIChYQlVGRkVSICh3LT5idWZmZXIpLCBtYXJrKSkpKSkKKyAgICAgICAh PSB3LT5yZWdpb25fc2hvd2luZykgfHwgdy0+cmVnaW9uX3Nob3dpbmcpCiAgICAgQ0hBUlBP UyAodGhpc19saW5lX3N0YXJ0X3BvcykgPSAwOwogCiAgIC8qIE9wdGltaXplIHRoZSBjYXNl IHRoYXQgb25seSB0aGUgbGluZSBjb250YWluaW5nIHRoZSBjdXJzb3IgaW4gdGhlCkBAIC0x MzI3Niw3ICsxMzI3Myw3IEBACiAJICAgICAgICYmIChFUSAoc2VsZWN0ZWRfd2luZG93LAog CQkgICAgICAgQlZBUiAoY3VycmVudF9idWZmZXIsIGxhc3Rfc2VsZWN0ZWRfd2luZG93KSkK IAkJICAgfHwgaGlnaGxpZ2h0X25vbnNlbGVjdGVkX3dpbmRvd3MpCi0JICAgICAgICYmIE5J TFAgKHctPnJlZ2lvbl9zaG93aW5nKQorCSAgICAgICAmJiAhdy0+cmVnaW9uX3Nob3dpbmcK IAkgICAgICAgJiYgTklMUCAoVnNob3dfdHJhaWxpbmdfd2hpdGVzcGFjZSkKIAkgICAgICAg JiYgIWN1cnNvcl9pbl9lY2hvX2FyZWEpCiAJewpAQCAtMTQ5NTMsNyArMTQ5NTAsNyBAQAog ICAgICAgICAgc2V0IHRoZSBjdXJzb3IuICAqLwogICAgICAgJiYgISghTklMUCAoVnRyYW5z aWVudF9tYXJrX21vZGUpCiAJICAgJiYgIU5JTFAgKEJWQVIgKGN1cnJlbnRfYnVmZmVyLCBt YXJrX2FjdGl2ZSkpKQotICAgICAgJiYgTklMUCAody0+cmVnaW9uX3Nob3dpbmcpCisgICAg ICAmJiAhdy0+cmVnaW9uX3Nob3dpbmcKICAgICAgICYmIE5JTFAgKFZzaG93X3RyYWlsaW5n X3doaXRlc3BhY2UpCiAgICAgICAvKiBUaGlzIGNvZGUgaXMgbm90IHVzZWQgZm9yIG1pbmkt YnVmZmVyIGZvciB0aGUgc2FrZSBvZiB0aGUgY2FzZQogCSBvZiByZWRpc3BsYXlpbmcgdG8g cmVwbGFjZSBhbiBlY2hvIGFyZWEgbWVzc2FnZTsgc2luY2UgaW4KQEAgLTE2MzI0LDcgKzE2 MzIxLDcgQEAKICAgLyogQ2FuJ3QgZG8gdGhpcyBpZiByZWdpb24gbWF5IGhhdmUgY2hhbmdl ZC4gICovCiAgIGlmICgoIU5JTFAgKFZ0cmFuc2llbnRfbWFya19tb2RlKQogICAgICAgICYm ICFOSUxQIChCVkFSIChjdXJyZW50X2J1ZmZlciwgbWFya19hY3RpdmUpKSkKLSAgICAgIHx8 ICFOSUxQICh3LT5yZWdpb25fc2hvd2luZykKKyAgICAgIHx8IHctPnJlZ2lvbl9zaG93aW5n CiAgICAgICB8fCAhTklMUCAoVnNob3dfdHJhaWxpbmdfd2hpdGVzcGFjZSkpCiAgICAgcmV0 dXJuIDA7CiAKQEAgLTE3MTU2LDcgKzE3MTUzLDcgQEAKICAgICBHSVZFX1VQICgxMSk7CiAK ICAgLyogTGlrZXdpc2UgaWYgc2hvd2luZyBhIHJlZ2lvbi4gICovCi0gIGlmICghTklMUCAo dy0+cmVnaW9uX3Nob3dpbmcpKQorICBpZiAody0+cmVnaW9uX3Nob3dpbmcpCiAgICAgR0lW RV9VUCAoMTApOwogCiAgIC8qIENhbid0IHVzZSB0aGlzIGlmIG92ZXJsYXkgYXJyb3cgcG9z aXRpb24gYW5kL29yIHN0cmluZyBoYXZlCkBAIC0xOTEzNCw3ICsxOTEzMSw3IEBACiAgICAg fQogCiAgIC8qIElzIElULT53IHNob3dpbmcgdGhlIHJlZ2lvbj8gICovCi0gIGl0LT53LT5y ZWdpb25fc2hvd2luZyA9IGl0LT5yZWdpb25fYmVnX2NoYXJwb3MgPiAwID8gUXQgOiBRbmls OworICBpdC0+dy0+cmVnaW9uX3Nob3dpbmcgPSBpdC0+cmVnaW9uX2JlZ19jaGFycG9zID4g MDsKIAogICAvKiBDbGVhciB0aGUgcmVzdWx0IGdseXBoIHJvdyBhbmQgZW5hYmxlIGl0LiAg Ki8KICAgcHJlcGFyZV9kZXNpcmVkX3JvdyAocm93KTsKCg== --------------080602040708000206010302--