From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nicolas Goaziou Subject: Re: bug in org-habits Date: Wed, 04 Nov 2015 00:43:17 +0100 Message-ID: <87ziyu1wfe.fsf@nicolasgoaziou.fr> References: <871tc83p01.fsf@flynn.nichework.com> <84io5j1k5h.fsf@gmail.com> <84611j19hk.fsf@gmail.com> <5638C2A1.2090801@iancu.ch> <87h9l32gfc.fsf@nicolasgoaziou.fr> <87d1vq3mh4.fsf@nicolasgoaziou.fr> <874mh23iw0.fsf@nicolasgoaziou.fr> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:42101) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZtlCp-00045h-EH for emacs-orgmode@gnu.org; Tue, 03 Nov 2015 18:41:36 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZtlCo-0006uP-4O for emacs-orgmode@gnu.org; Tue, 03 Nov 2015 18:41:35 -0500 Received: from relay3-d.mail.gandi.net ([2001:4b98:c:538::195]:50056) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZtlCn-0006uL-QN for emacs-orgmode@gnu.org; Tue, 03 Nov 2015 18:41:34 -0500 In-Reply-To: (John Wiegley's message of "Tue, 03 Nov 2015 15:55:20 -0500") List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Stelian Iancu Cc: emacs-orgmode@gnu.org John Wiegley writes: > Thanks for discussing this with me, Nicolas. I appreciate there may be > technical complexities involved. Could we special-case allow PROPERTIES to be > the *very last thing* in an entry? I don't need it to float anywhere else. I > just like it to be at the end. I think it's a false good idea. As a matter of fact, going to the end of an entry is not negligible, because of inlinetasks. Also, it is not really O(1) since it depends on the size of the entry. To get an idea, on my computer, moving past a 500 lines entry takes around 0.001s. I can imagine slower computers, or larger entries, neither being unheard of, having a slightly noticeable delay. Also, supporting both locations means that users will pay the full price in entries without a property drawer, even if they chose the fast path, i.e., drawer at the beginning of the entry, in the first place. This kind of defeats some of the advantages of the current state. There is also a meaner problem. Unlike to beginning of entry, end of entry is a moving target. Org sometimes automatically adds stuff there (e.g., footnotes when `org-footnote-section' is nil). So do other parts of Emacs (file local variables come to mind). Preventing insertions in this area can be tedious, if possible at all. OTOH, the mechanism protecting the beginning of the entry, i.e, `org-end-of-meta-data', is already implemented since planning lines require it anyway. Again, speed _was_ an issue, as testified by, e.g., org-use-property-inheritance's docstring. Current solution is both robust and fast, and is well worth the high price of an incompatible change, considering its central place in Org. >> If you need to end your entry with a drawer, couldn't you put any of them >> there? You can even have one there named "PROPERTIES". > > But it wouldn't be the true PROPERTIES, would it? Most of my entries look like > this (and I have many thousands of them): It wouldn't, of course. But at least you would get your "period" at the end of the entry. It doesn't matter much if it is empty since its contents are hidden anyway. > ** TODO Update auto insurance cards :Home:ATTACH: > SCHEDULED: <2016-03-11 Fri +6m> > - State "DONE" from "TODO" [2015-09-11 Fri 11:28] > - State "WAITING" from "TODO" [2015-07-22 Wed 19:48] > - State "DONE" from "STARTED" [2014-12-13 Sat 15:56] > - State "DONE" from "TODO" [2014-03-31 Mon 03:11] > - State "CANCELED" from "TODO" [2013-12-11 Wed 19:23] > - State "CANCELED" from "TODO" [2013-05-21 Tue 12:30] > - State "DONE" from "TODO" [2012-05-17 Thu 22:24] > - State "CANCELED" from "TODO" [2011-04-23 Sat 22:04] > - State "TODO" from "DONE" [2010-10-23 Sat 21:54] > - State "DONE" from "TODO" [2010-10-08 Fri 14:26] > :PROPERTIES: > :ID: B1F3D3F6-9F39-4899-9AF8-93E019E7C6BB > :CREATED: [2010-05-08 Sat 17:34] > :LAST_REPEAT: [2015-09-11 Fri 11:28] > :Attachments: AutoInsuranceIdCards.pdf > :END: The following is not ugly either ** TODO Update auto insurance cards :Home:ATTACH: SCHEDULED: <2016-03-11 Fri +6m> :PROPERTIES: :ID: B1F3D3F6-9F39-4899-9AF8-93E019E7C6BB :CREATED: [2010-05-08 Sat 17:34] :LAST_REPEAT: [2015-09-11 Fri 11:28] :Attachments: AutoInsuranceIdCards.pdf :END: - State "DONE" from "TODO" [2015-09-11 Fri 11:28] - State "WAITING" from "TODO" [2015-07-22 Wed 19:48] - State "DONE" from "STARTED" [2014-12-13 Sat 15:56] - State "DONE" from "TODO" [2014-03-31 Mon 03:11] - State "CANCELED" from "TODO" [2013-12-11 Wed 19:23] - State "CANCELED" from "TODO" [2013-05-21 Tue 12:30] - State "DONE" from "TODO" [2012-05-17 Thu 22:24] - State "CANCELED" from "TODO" [2011-04-23 Sat 22:04] - State "TODO" from "DONE" [2010-10-23 Sat 21:54] - State "DONE" from "TODO" [2010-10-08 Fri 14:26] even more so considering it really appears as ** TODO Update auto insurance cards :Home:ATTACH: SCHEDULED: <2016-03-11 Fri +6m> :PROPERTIES: - State "DONE" from "TODO" [2015-09-11 Fri 11:28] - State "WAITING" from "TODO" [2015-07-22 Wed 19:48] - State "DONE" from "STARTED" [2014-12-13 Sat 15:56] - State "DONE" from "TODO" [2014-03-31 Mon 03:11] - State "CANCELED" from "TODO" [2013-12-11 Wed 19:23] - State "CANCELED" from "TODO" [2013-05-21 Tue 12:30] - State "DONE" from "TODO" [2012-05-17 Thu 22:24] - State "CANCELED" from "TODO" [2011-04-23 Sat 22:04] - State "TODO" from "DONE" [2010-10-23 Sat 21:54] - State "DONE" from "TODO" [2010-10-08 Fri 14:26] and with a fake "THE-END" drawer ** TODO Update auto insurance cards :Home:ATTACH: SCHEDULED: <2016-03-11 Fri +6m> :PROPERTIES: - State "DONE" from "TODO" [2015-09-11 Fri 11:28] - State "WAITING" from "TODO" [2015-07-22 Wed 19:48] - State "DONE" from "STARTED" [2014-12-13 Sat 15:56] - State "DONE" from "TODO" [2014-03-31 Mon 03:11] - State "CANCELED" from "TODO" [2013-12-11 Wed 19:23] - State "CANCELED" from "TODO" [2013-05-21 Tue 12:30] - State "DONE" from "TODO" [2012-05-17 Thu 22:24] - State "CANCELED" from "TODO" [2011-04-23 Sat 22:04] - State "TODO" from "DONE" [2010-10-23 Sat 21:54] - State "DONE" from "TODO" [2010-10-08 Fri 14:26] :THE-END: Regards,