emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] demoting a heading inserts spaces in column-0 text


From: Nicolas Goaziou
Subject: Re: [O] demoting a heading inserts spaces in column-0 text
Date: Sat, 13 Dec 2014 15:10:32 +0100

Daniel Clemente <address@hidden> writes:

>   No need to teach the user the differences of a :CLOCK: vs
>   a :PROPERTIES: or drawer vs. metadata.

The difference is important, e.g., wrt export.

> Users who type can do a simpler distinction:
>   1. things you type yourself
>   2. things that appear/change/disappear after invoking org functions
>   (C-something, S-something, M-something). E.g.: the words SCHEDULED,
>   TODO, CLOCK, PROPERTIES, EFFORT, checkboxes [ ], timestamps, … 
>
>   I speak for myself, but I expect class 1 not to be changed by org,
> and class 2 to be handled only by org (I can always edit manually, but
> I shouldn't need to do it). I know that you can actually type
> everything in class 2, but you shouldn't NEED to.
>   Any other opinions are welcome.

You are free to make any distinction you want. Unfortunately, Org does
a different one. In particular, as you noticed, there are some areas
where things are not as clear. For example, Org cannot be sure that
a given drawer wasn't inserted manually, so altering its indentation may
or may not be a good choice.

>   Indentation is for me as important as the other letters I type. I don't 
> want it changed.
>   It's a personal preference. Emacs respects it to great extents.

I understand. Simply set `org-adapt-indentation' to nil.

>   Maybe I should clarify that I see the text inside my org files as
> a tree of knowledge. The position inside the tree of a particular item
> does not affect how I write the text (e.g. how many indentation
> spaces). I can move nodes freely from one place to another and I have
> no indentations to fix. „Tree structure“ and „item content“ are
> disconnected.
>   If you really need other sources, you can see how tree operations in
> other contexts don't modify the contents of each node:
> http://pythonhosted.org/ete2/tutorial/tutorial_trees.html#concatenating-trees
>   I wouldn't want titles, clocks, IDs, indentations, properties, priorities 
> etc. changed when the tree structure changes.
>   Maybe other people think the same; you can survey the list.

So, what's wrong with `org-adapt-indentation' set to nil?

>   The only one: indentation is added:
>
>
> After demoting, it changes from this:
>
> **** some
>         :CLOCK:
>         CLOCK: [2013-11-12 Sel 10:45]--[2013-11-12 Sel 11:40] =>  0:55
>         :END:
> Text
>
>
>
>   to this:
>   
> ***** some
>          :CLOCK:
>          CLOCK: [2013-11-12 Sel 10:45]--[2013-11-12 Sel 11:40] =>  0:55
>          :END:
>  Text

See above.

>   That's similar to a not-so-bad old behaviour. But it's still a bit better 
> (it avoids the problem described in 
> http://permalink.gmane.org/gmane.emacs.orgmode/92450)

The problem described there is different: the OP wants some changes when
tree structure is modified (e.g., planning info moved). You claim to
want no change at all, which is easier, and already implemented.

>> AFAICT, you erroneously think regular drawers are an Org internal
>> artifact whereas they are really meant for users. They should be
>> indented like their contents, no like planning info.
>
>   I do the typed-by-me/not-typed-by-me distinction.

See above.

> Ok, make it:
>
> 2. With org-adapt-indentation = 'partial, new lines added by org
> (:CLOCK: drawer, CLOCK lines etc) are indented at the same level as
> the element above.

This is better, but there is still the hack about text at column 0.

Also, this only makes sense if these lines are also moved when headline
is promoted or demoted. But, then, contents will change along with tree,
which you don't like, and it could break section structure (some lines
being moved and not others), which cannot happen currently.

Another option would be to have another option to indent only planning
info, properties drawer, and every drawer located right after it, à la
`org-log-state-notes-insert-after-drawers'. At least, it couldn't break
structure.


Regards,



reply via email to

[Prev in Thread] Current Thread [Next in Thread]