From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id SDxNBpofrWKDJgEAbAwnHQ (envelope-from ) for ; Sat, 18 Jun 2022 02:43:06 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id EARQBZofrWIDSAAAG6o9tA (envelope-from ) for ; Sat, 18 Jun 2022 02:43:06 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 8D6EE2934C for ; Sat, 18 Jun 2022 02:43:05 +0200 (CEST) Received: from localhost ([::1]:51510 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o2MYK-0000mK-CT for larch@yhetil.org; Fri, 17 Jun 2022 20:43:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:41352) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o2MXV-0000m0-U3 for emacs-orgmode@gnu.org; Fri, 17 Jun 2022 20:42:14 -0400 Received: from mail-pj1-x102e.google.com ([2607:f8b0:4864:20::102e]:38313) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o2MXU-0003fb-4E for emacs-orgmode@gnu.org; Fri, 17 Jun 2022 20:42:13 -0400 Received: by mail-pj1-x102e.google.com with SMTP id p3-20020a17090a428300b001ec865eb4a2so798474pjg.3 for ; Fri, 17 Jun 2022 17:42:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=references:user-agent:from:to:subject:date:in-reply-to:message-id :mime-version:content-transfer-encoding; bh=PqeWCGv041uUdK1kh556ey3sIKppM/6kkkc9Z6KOFBE=; b=IXT6VWo9qpG6v5VHx1COMGrP/I7BQEhdg8QHx7x9mSWlho0AP71N8ZzJ0aPgazfsJC LS22lEUvPXA8jYFxLKZILuD1Ms/XXyJnWtYFeTieVAnrip6JthKK99rk8bevVAAzD9l7 uofTOE4PEmOpGC1/EJAyvAXWmrO6TjxPgwkggvJFeyOA5a0f8nERI9tWE0K3D1NCJEXn s8HAjKx4iyjiCFWry3j4+r7+OZKYUNS1gvgKc2av4EkFY7GiSwy/p9AgzBCwO8RHxlkQ la2b70+nkSrTHeYuitej3iIJNjXeZcQL0HyiRAWxJL3YEimdQkAnPpz6L3jBV2Fv0EAR w2qA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:references:user-agent:from:to:subject:date :in-reply-to:message-id:mime-version:content-transfer-encoding; bh=PqeWCGv041uUdK1kh556ey3sIKppM/6kkkc9Z6KOFBE=; b=3XhhkuX5qOTb26cdn7NwJi/dECfS0nfqzjvhbcIeEFI30nuMEcsD49bNRzsk3MwCRf FNmthvorZs9firkpoQFVbvPyvBKN9x8SqzpUsuROQNmTlVRoKOtKxrDl1LBIGhtaPfYs MFtnvP+o7h/TjwqRpnbN0D8zby+9EVh8WQTdpR5ZhuH4I8Id/1hwnyETRu6ZBK1S3LKZ UiRZ0MDBs1b6fIyDRUJP8C8ekvTSVkYejGYWgQa/zE/+OYw5BbZedk9u5Yg7YhwnGoPr YNn9qcYLakMi3DI9RXCgl2wiS73eKPc1YCfraTs2/sAuuh+T1PnitZBca5BcLxHvw0Cg /4Vw== X-Gm-Message-State: AJIora8o0k87mnDPEh8cw5Gz546tpW77XaDJK5G6Wh2UXzfIlk6UaRk8 5WVFZtCthUAFhwTKyuA16SG8ynN62m4= X-Google-Smtp-Source: AGRyM1tIfAPNo2jCCdOhU1ygFCYQApb4ejn+sK1OwAWKtdZq/nHJrXRvvSvAfkfd+50vrPk3jNgvBQ== X-Received: by 2002:a17:903:2012:b0:16a:856:96a7 with SMTP id s18-20020a170903201200b0016a085696a7mr4631240pla.109.1655512929896; Fri, 17 Jun 2022 17:42:09 -0700 (PDT) Received: from dingbat (2001-44b8-31f2-bb00-2f2e-7695-ea73-2470.static.ipv6.internode.on.net. [2001:44b8:31f2:bb00:2f2e:7695:ea73:2470]) by smtp.gmail.com with ESMTPSA id w5-20020aa79545000000b005184fe6cc99sm4305795pfq.29.2022.06.17.17.42.08 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Jun 2022 17:42:09 -0700 (PDT) References: <87wndiv988.fsf@localhost> <87edznjyji.fsf@localhost> User-agent: mu4e 1.7.27; emacs 28.1.50 From: Tim Cross To: emacs-orgmode@gnu.org Subject: Re: Orgmode plain list bullet : change automatically with list depth Date: Sat, 18 Jun 2022 10:17:40 +1000 In-reply-to: Message-ID: <87iloyree8.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=2607:f8b0:4864:20::102e; envelope-from=theophilusx@gmail.com; helo=mail-pj1-x102e.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: "Emacs-orgmode" X-Migadu-Flow: FLOW_IN X-Migadu-To: larch@yhetil.org X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1655512985; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=PqeWCGv041uUdK1kh556ey3sIKppM/6kkkc9Z6KOFBE=; b=Nx9iAUcTbrOYTWhgXVwzQs74x0ys2e6kgDNO/iWh5m0CawfbmV8AHjkdW+57qhmouw6k3E NT4HUVoPvyccc7dzm6/xMg7RfF+17G6i87Aa430akJinQC9uVByKAXVNd9KDEWbZt6tc69 SSPnKBzOrmW7FNhFiyz7l4y8UjuHph2EG8OpsAo8+loHZuMlb4ffcomT2wqeNyYrJ30VXF 9hDw1p3MOcibUW/COs8LzDU1PcJXG7mu0L9fq2wdTYx32Ct1wI5+vijjY45dXwwNyl8KXk zs952fGIQCGpgG2PfqUsNQKqXRr+dnQ2q7XHOaUXLsN4mG5RQJxQ4Ie54V4hDw== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1655512985; a=rsa-sha256; cv=none; b=njzT2Mz4rcql7XPkImWk3CdfnARxBRCA+vgLdfF4oJr0bkbXP8Xt1zGuqWIMkAmg4KMNXZ xwmltCZdCC//l/H9vFTHuaubRlfL0GRDdC4jfJViO/XcZWdfJi5t0QF87QZ8+AKP71G7wA x3pZ8QMhYv5CyOJBUVSFTXqhdhMuonTqfZajPJTkoU3TyOoDpeeVDJs9Z1eMQWu2yt+Wi/ dr2rN+4EwttAcwUi1+V6ON/DZUqA4OFm8+5vXWimcFC9o/IQJxk06jKe99sJDdufFO5G5g EYMPhPBoJ+lLB2Hqj1epJ8eX8IC9vutlqEcRx5THir6kUSYvfKfJBfWl8UXMPg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=IXT6VWo9; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: -5.79 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=IXT6VWo9; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 8D6EE2934C X-Spam-Score: -5.79 X-Migadu-Scanner: scn0.migadu.com X-TUID: DkfvAsENCPJS Samuel Wales writes: > sure. > > iiuc i think op wants 2 things: > > 1] graphical bullets. i.e. not the - + etc. that are in the org > plain text as saved to disk. > 2] each level of a list to have the same bullet style > > > examples of 2]: > > a conforming list: > > - this is level 1. for this list, we always want level 1 to > use the - bullet style in the org plain text. > + this is level 2. for this list, we always want level 2 > to use the + bullet style in the org plain text. > + another level 2 > - another level 1 > + another level 2 > + the + is CONSISTENT with the + in the level 2 of the > previous list item > > > a non-conforming list: > > > - this is level 1. for this list, we always want level 1 to > use the - bullet style in the org plain text. > + this is level 2. for this list, we always want level 2 > to use the + bullet style in the org plain text. > + another level 2 > - another level 1 > * another level 2 > * these * markers are INCONSISTENT with the + markers in > the level 2 previous list item. > > > the idea is for org [as opposed to fontification] to enforce this > level correspondence. whenever we do a bullet style change at any > level, org could change ALL BULLETS AT THE SAME LEVEL. this keeps the > list conforming. > > currently, org does not do this. instead, it allows you to > say that /demotion/ makes a + when you have a -. but > without enforcement, the list can quickly become > non-conforming after the user edits it. > > this idea is independent (orthogonal) to fontification / > displayed graphical glyph. i think op's 2] idea can make > sense. and then fontification / displayed graphical glyph > can be done perhaps with a fontification package. > > in any case, fontification can merely say that + looks > like =F0=9F=98=BA or so. orthogonal to levels. > > Sorry, but I think this idea is misguided.=20 The 'bullets' in lists are largely irrelevant to org. Lists are determined by the indentation level. I don't think org actually cares about wither an item starts with '-', '+', or '*'. I also don't think it matters (from an org perspective) if a list has a mix of different bullets. This might be 'offensive' for users, but is largely irrelevant for org.=20 This means the questions now becomes "Do we add the additional complexity and possible performance hit to enforce bullet consistency?" and "Are there any use cases where people might want different bullets at the same level in a list?".=20 As having mixed bullets does not impact on org export, I'm inclined to leave this as a user issue i.e. if you want things to be consistent, then be consistent. The current behaviour I think is pretty good i.e. if you start using a different bullet, new items at the same level will use that bullet and when you shift an item to be at the parent level, it will change the bullet to be the same as the parents. If you indent an item, it will use the same bullet as the parent, but you can change it and then all additional items at that level will use the same bullet.=20 As the bullet type has no baring on org's processing of lists, I think this is a purely presentation issue and therefore anything we want to do wrt enforcement should in fact occur at the font-lock layer. e.g. allow code which will just set the bullet to some preferred mapping based on level. As the user won't see which 'real' character is being used, it won't matter if it uses mixed bullet styles. This also has the advantage that the user can just use the one bullet 'type' and see different bullet rendering based on level, so you won't have any 'inconsistency' anyway as all entries just use the same bullet.=20