From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: hugo@heagren.com Newsgroups: gmane.emacs.bugs Subject: bug#62606: [PATCH] function to align mode-line elements to right Date: Mon, 19 Jun 2023 20:06:58 +0100 Message-ID: References: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=_ab35e48d8ee9137f38f97ecb8611e218" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="39411"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Roundcube Webmail/1.6.0 Cc: 62606@debbugs.gnu.org To: Stefan Monnier Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Mon Jun 19 21:08:16 2023 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qBKEa-000A4A-9L for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 19 Jun 2023 21:08:16 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qBKEQ-00071r-K3; Mon, 19 Jun 2023 15:08:06 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qBKEM-00071d-NF for bug-gnu-emacs@gnu.org; Mon, 19 Jun 2023 15:08:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qBKEM-0006WU-Dv for bug-gnu-emacs@gnu.org; Mon, 19 Jun 2023 15:08:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qBKEM-0000aH-9E for bug-gnu-emacs@gnu.org; Mon, 19 Jun 2023 15:08:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: hugo@heagren.com Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 19 Jun 2023 19:08:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62606 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 62606-submit@debbugs.gnu.org id=B62606.16872016302174 (code B ref 62606); Mon, 19 Jun 2023 19:08:02 +0000 Original-Received: (at 62606) by debbugs.gnu.org; 19 Jun 2023 19:07:10 +0000 Original-Received: from localhost ([127.0.0.1]:57305 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qBKDV-0000Z0-OU for submit@debbugs.gnu.org; Mon, 19 Jun 2023 15:07:10 -0400 Original-Received: from whuk14.whukhost.com ([5.77.41.174]:48586) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qBKDT-0000YU-9s for 62606@debbugs.gnu.org; Mon, 19 Jun 2023 15:07:08 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=heagren.com ; s=default; h=Content-Type:Message-ID:References:In-Reply-To:Subject:Cc:To: From:Date:MIME-Version:Sender:Reply-To:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=Tjoss81kQeTyHaNOCJ9r5Kme9gFNkrRqAoqrPNPMUC8=; b=cA/DBJXqv3A5GlsmmCJgw0HmuH N1IBStptrLWhY5yG10EO/C5I+Q7InV621pfxg/sxK9OW8FecIbiaPdm2quNF14DcP00U2JFXpWwOb tjF/HwdIoj9gM2QMRIZzxu97288pJoRFNaUpnXXZe7LZLznZj769oOscWY+oBCBV1HVtoQgTWZgT5 IcB4RX6yoCnoaj9ZI6RvvUngnNAj/h725BUNw+ulrCNc44nXdlXKe+eKLUaKAjrMEgIkO+avcjusZ 23iSzuHSWT9WsEee5ddgDzetLNMzFb8lsJSWUnhQhdimcv1JIeEAuJwwJC+hVQemYv/vO610Fd1iN W2coE8Ew==; Original-Received: from [::1] (port=43444 helo=whuk14.whukhost.com) by whuk14.whukhost.com with esmtpa (Exim 4.96) (envelope-from ) id 1qBKDL-00FBxr-2U; Mon, 19 Jun 2023 20:06:59 +0100 In-Reply-To: X-Sender: hugo@heagren.com X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - whuk14.whukhost.com X-AntiAbuse: Original Domain - debbugs.gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - heagren.com X-Get-Message-Sender-Via: whuk14.whukhost.com: authenticated_id: hugo@heagren.com X-Authenticated-Sender: whuk14.whukhost.com: hugo@heagren.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list 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-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:263709 Archived-At: --=_ab35e48d8ee9137f38f97ecb8611e218 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; format=flowed On 2023-06-09 17:03, Stefan Monnier wrote: > Also, the code is fairly simple and self-contained, so I don't see > a good reason not to include that. Thanks :) > I think symbols like `right-fringe` should be enclosed in `...' > in docstrings. Fixed in new patch, attached. > Also, I see no reason to encourage the use of an alias, > so I'd drop either `right-margin` or `right` from the doc (especially > since it doesn't really come for free in the code). Fixed. Dropped `right', as it was the less descriptive version. > As a user I'd wonder if "align to right-fringe" means to align to > the beginning (i.e. left side) or end (i.e. right side) of the > right fringe. Documented (and included a link to relevant info node). > AFAICT, this function is internal to the implementation of the > `mode-line-format-right-align` mode-line spec. So maybe it should use > "--" in its name. You're right -- Done. > This is the ugly part of the implementation Yes, I agree :( > an alternative is to use > > (..LEFT.. (:eval (mode-line-format-right-align ..RIGHT..))) I share your technical worries about this. I worry too that this might end up being more confusing for users, because it invites such constructions as: (..LEFT.. (:eval (mode-line-format-right-align ..RIGHT..)) ..WHAT..) Where the behaviour of ..WHAT.. is at best to be completely hidden, and at worst undefined. If we use a single symbol, this can't happen. I also think that, as a user, it's good to have consistent interfaces for this sort of thing, and my proposed function is intended to work just like `tab-bar-format-align-right', which is included as a symbol, not a more complex construction. > should also be usable in `header-line-format` and friends. This would good though. Hugo --=_ab35e48d8ee9137f38f97ecb8611e218 Content-Transfer-Encoding: base64 Content-Type: text/x-diff; name=0001-Support-right-align-in-mode-line.patch Content-Disposition: attachment; filename=0001-Support-right-align-in-mode-line.patch; size=4483 RnJvbSBiOWZiNjM5OWYzOGYyNTBlOTYyOWU4MzUwMTA4ZWE5MzRkNGNmZDk3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBIdWdvIEhlYWdyZW4gPGh1Z29AaGVhZ3Jlbi5jb20+CkRhdGU6 IFNhdCwgMSBBcHIgMjAyMyAyMjoyNzoyNSArMDEwMApTdWJqZWN0OiBbUEFUQ0hdIFN1cHBvcnQg cmlnaHQtYWxpZ24gaW4gbW9kZS1saW5lCgoqIGxpc3AvYmluZGluZ3MuZWwgKG1vZGUtbGluZS1y aWdodC1hbGlnbi1lZGdlKTogIE5ldyBjdXN0b20gdmFyaWFibGUuCkNvbnRyb2xzIHdoZXJlIGBt b2RlLWxpbmUtZm9ybWF0LXJpZ2h0LWFsaWduJyBzaG91bGQgYWxpZ24gdG8uCihtb2RlLWxpbmUt Zm9ybWF0LXJpZ2h0LWFsaWduKTogIE5ldyBmdW5jdGlvbi4gIElmIHRoZSBzeW1ib2wKYG1vZGUt bGluZS1mb3JtYXQtcmlnaHQtYWxpZ24nIGFwcGVhcnMgaW4gYG1vZGUtbGluZS1mb3JtYXQnLCB0 aGVuCnJldHVybiByZXR1cm4gYSBwYWRkaW5nIHN0cmluZyB3aGljaCBhbGlnbnMgZXZlcnl0aGlu ZyBhZnRlciB0aGF0CnN5bWJvbCB0byB0aGUgcmlnaHQuICBQYWRkaW5nIHdpZHRoIGlzIGFsdGVy ZWQgd2l0aCB0aGUgZGlzcGxheQpwcm9wZXJ0eSBhbmQgZGVwZW5kcyBvbiB0aGUgdmFsdWUgb2Yg YG1vZGUtbGluZS1yaWdodC1hbGlnbi1lZGdlJy4KKG1vZGUtbGluZS1mb3JtYXQtcmlnaHQtYWxp Z24pOiAgTmV3IHZhcmlhYmxlLiAgQ29udmVuaWVuY2UgZGVmaW5pdGlvbgpmb3IgaW5jbHVkaW5n IHJpZ2h0IGFsaWdubWVudCBpbiBgbW9kZS1saW5lLWZvcm1hdCcuCi0tLQogbGlzcC9iaW5kaW5n cy5lbCB8IDYzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KwogMSBmaWxlIGNoYW5nZWQsIDYzIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9saXNwL2Jp bmRpbmdzLmVsIGIvbGlzcC9iaW5kaW5ncy5lbAppbmRleCAzNGFhODM5OWE5Ni4uZDZmMTJlNjQz OTkgMTAwNjQ0Ci0tLSBhL2xpc3AvYmluZGluZ3MuZWwKKysrIGIvbGlzcC9iaW5kaW5ncy5lbApA QCAtMzA0LDYgKzMwNCw2OSBAQCBtb2RlLWxpbmUtcHJvY2VzcwogOzs7IyMjYXV0b2xvYWQKIChw dXQgJ21vZGUtbGluZS1wcm9jZXNzICdyaXNreS1sb2NhbC12YXJpYWJsZSB0KQogCisoZGVmY3Vz dG9tIG1vZGUtbGluZS1yaWdodC1hbGlnbi1lZGdlICd3aW5kb3cKKyAgIldoZXJlIGZ1bmN0aW9u IGBtb2RlLWxpbmUtZm9ybWF0LXJpZ2h0LWFsaWduJyBzaG91bGQgYWxpZ24gdG8uCitJbnRlcm5h bGx5LCB0aGF0IGZ1bmN0aW9uIHVzZXMgYDphbGlnbi10bycgaW4gZGlzcGxheSBwcm9wZXJ0eSwK K3NvIGFsaWducyB0byB0aGUgbGVmdCBlZGdlIG9mIHRoZSBnaXZlbiBhcmVhLiAgU2VlIGluZm8g bm9kZQorYChlbGlzcClQaXhlbCBTcGVjaWZpY2F0aW9uJy4KKworTXVzdCBiZSBzZXQgdG8gYSBz eW1ib2wuICBBY2NlcHRhYmxlIHZhbHVlcyBhcmU6CistIGB3aW5kb3cnOiBhbGlnbiB0byBleHRy ZW1lIHJpZ2h0IG9mIHdpbmRvdywgcmVnYXJkbGVzcyBvZiBtYXJnaW5zCisgIG9yIGZyaW5nZXMK Ky0gYHJpZ2h0LWZyaW5nZSc6IGFsaWduIHRvIHJpZ2h0LWZyaW5nZQorLSBgcmlnaHQtbWFyZ2lu JzogYWxpZ24gdG8gcmlnaHQtbWFyZ2luIgorICA6dHlwZSAnKGNob2ljZSAoY29uc3QgcmlnaHQt bWFyZ2luKQorICAgICAgICAgICAgICAgICAoY29uc3QgcmlnaHQtZnJpbmdlKQorICAgICAgICAg ICAgICAgICAoY29uc3Qgd2luZG93KSkKKyAgOmdyb3VwICdtb2RlLWxpbmUpCisKKyhkZWZ1biBt b2RlLS1saW5lLWZvcm1hdC1yaWdodC1hbGlnbiAoKQorICAiUmlnaHQtYWxpZ24gYWxsIGZvbGxv d2luZyBtb2RlLWxpbmUgY29uc3RydWN0cy4KKworV2hlbiB0aGUgc3ltYm9sIGBtb2RlLWxpbmUt Zm9ybWF0LXJpZ2h0LWFsaWduJyBhcHBlYXJzIGluCitgbW9kZS1saW5lLWZvcm1hdCcsIHJldHVy biBhIHN0cmluZyBvZiBvbmUgc3BhY2UsIHdpdGggYSBkaXNwbGF5Citwcm9wZXJ0eSB0byBtYWtl IGl0IGFwcGVhciBsb25nIGVub3VnaCB0byBhbGlnbiBhbnl0aGluZyBhZnRlcgordGhhdCBzeW1i b2wgdG8gdGhlIHJpZ2h0IG9mIHRoZSByZW5kZXJlZCBtb2RlIGxpbmUuICBFeGFjdGx5IGhvdwor ZmFyIHRvIHRoZSByaWdodCBpcyBjb250cm9sbGVkIGJ5IGBtb2RlLWxpbmUtcmlnaHQtYWxpZ24t ZWRnZScuCisKK0l0IGlzIGltcG9ydGFudCB0aGF0IHRoZSBzeW1ib2wgYG1vZGUtbGluZS1mb3Jt YXQtcmlnaHQtYWxpZ24nIGJlCitpbmNsdWRlZCBpbiBgbW9kZS1saW5lLWZvcm1hdCcgKGFuZCBu b3QgYW5vdGhlciBzaW1pbGFyIGNvbnN0cnVjdAorc3VjaCBhcyBgKDpldmFsIChtb2RlLWxpbmUt Zm9ybWF0LXJpZ2h0LWFsaWduKScpLiAgVGhpcyBpcyBiZWNhdXNlCit0aGUgc3ltYm9sIGBtb2Rl LWxpbmUtZm9ybWF0LXJpZ2h0LWFsaWduJyBpcyBwcm9jZXNzZWQgYnkKK2Bmb3JtYXQtbW9kZS1s aW5lJyBhcyBhIHZhcmlhYmxlLiIKKyAgKGxldCogKChyZXN0IChjZHIgKG1lbXEgJ21vZGUtbGlu ZS1mb3JtYXQtcmlnaHQtYWxpZ24KKwkJCSAgbW9kZS1saW5lLWZvcm1hdCkpKQorCSAocmVzdC1z dHIgKGZvcm1hdC1tb2RlLWxpbmUgYCgiIiAsQHJlc3QpKSkKKwkgKHJlc3Qtd2lkdGggKHN0cmlu Zy1waXhlbC13aWR0aCByZXN0LXN0cikpKQorICAgIChwcm9wZXJ0aXplICIgIiAnZGlzcGxheQor CQk7OyBUaGUgYHJpZ2h0JyBzcGVjIGRvZXNuJ3Qgd29yayBvbiBUVFkgZnJhbWVzCisJCTs7IHdo ZW4gd2luZG93cyBhcmUgc3BsaXQgaG9yaXpvbnRhbGx5IChidWcjNTk2MjApCisJCShpZiAoYW5k IChkaXNwbGF5LWdyYXBoaWMtcCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAobm90IChlcSBt b2RlLWxpbmUtcmlnaHQtYWxpZ24tZWRnZSAnd2luZG93KSkpCisJCSAgICBgKHNwYWNlIDphbGln bi10byAoLSAsbW9kZS1saW5lLXJpZ2h0LWFsaWduLWVkZ2UKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKCxyZXN0LXdpZHRoKSkpCisJCSAgYChzcGFjZSA6YWxpZ24t dG8gKCwoLSAod2luZG93LXBpeGVsLXdpZHRoKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAod2luZG93LXNjcm9sbC1iYXItd2lkdGgpCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICh3aW5kb3ctcmlnaHQtZGl2aWRlci13aWR0aCkKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCogKG9yIChjZHIgKHdpbmRv dy1tYXJnaW5zKSkgMSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKGZyYW1lLWNoYXItd2lkdGgpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICA7OyBNYW51YWxseSBhY2NvdW50IGZvciB2YWx1ZSBvZgorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICA7OyBgbW9kZS1saW5lLXJpZ2h0LWFsaWduLWVkZ2Un IGV2ZW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOzsgd2hlbiBk aXNwbGF5IGlzIG5vbi1ncmFwaGljYWwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKHBjYXNlIG1vZGUtbGluZS1yaWdodC1hbGlnbi1lZGdlCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCdyaWdodC1tYXJnaW4KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9yIChjZHIgKHdpbmRvdy1tYXJnaW5z KSkgMCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCdyaWdo dC1mcmluZ2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOzsg d2hhdCBoZXJlPworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo b3IgKGNhZHIgKHdpbmRvdy1mcmluZ2VzKSkgMCkpCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKF8gMCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHJlc3Qtd2lkdGgpKSkpKSkpCisKKyhkZWZ2YXIgbW9kZS1saW5lLWZvcm1hdC1y aWdodC1hbGlnbiAnKDpldmFsIChtb2RlLS1saW5lLWZvcm1hdC1yaWdodC1hbGlnbikpCisgICJN b2RlIGxpbmUgY29uc3RydWN0IHRvIHJpZ2h0IGFsaWduIGFsbCBmb2xsb3dpbmcgY29uc3RydWN0 cy4iKQorOzs7IyMjYXV0b2xvYWQKKyhwdXQgJ21vZGUtbGluZS1mb3JtYXQtcmlnaHQtYWxpZ24g J3Jpc2t5LWxvY2FsLXZhcmlhYmxlIHQpCisKIChkZWZ1biBiaW5kaW5ncy0tZGVmaW5lLWtleSAo bWFwIGtleSBpdGVtKQogICAiRGVmaW5lIEtFWSBpbiBrZXltYXAgTUFQIGFjY29yZGluZyB0byBJ VEVNIGZyb20gYSBtZW51LgogVGhpcyBpcyBsaWtlIGBkZWZpbmUta2V5JywgYnV0IGl0IHRha2Vz IHRoZSBkZWZpbml0aW9uIGZyb20gdGhlCi0tIAoyLjIwLjEKCg== --=_ab35e48d8ee9137f38f97ecb8611e218--