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: Daniel Clemente
Subject: Re: [O] demoting a heading inserts spaces in column-0 text
Date: Sat, 13 Dec 2014 20:38:01 +0700
User-agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM/1.14.9 (Gojō) APEL/10.8 EasyPG/1.0.0 Emacs/24.4 (i586-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO)

El Sat, 13 Dec 2014 12:33:16 +0100 Nicolas Goaziou va escriure:
> >   But these are technical details, not relevant to a non-programmer.
> 
> Which basically means nothing, because everything ultimately boils down
> to technical details.
> 

  That's always true. But UIs still need to be simple.
  No need to teach the user the differences of a :CLOCK: vs a :PROPERTIES: or 
drawer vs. metadata. 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.


> > - he writes a new tree and some text inside
> > - he clocks in
> > - he demotes the tree (shift+right) because he wants to change the tree 
> > structure. Result: his text also is modified
> 
> FUD. Neither the text nor its structure are modified. Only indentation
> is. How it is done is explained in `org-adapt-indentation' docstring.
> 

  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.


> > because in a logical tree of nodes, demoting does not mean „shift
> > contents“.
> 
> Huh? "Citation needed".

  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.
  

> >   I also lose controllability because I have no way to rearrange nodes
> >   without side effects.
> 
> We might fix them. What are exactly these side-effects?
> 
  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


This will happen in all subtrees.


> >   I suggest:
> >
> > 1. New default for org-adapt-indentation = 'partial, which shifts
> > every line until the first line which starts at column 0. This may not
> > shift all drawers in complex cases where you have them in the bottom
> > of the tree; therefore it's called partial.
> 
> I'm not really against it, but this is really hackish and probably
> surprising.

  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)


> 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.
 
> 
> > 2. With org-adapt-indentation = 'partial, new lines added by org
> > (:CLOCK: drawer, CLOCK lines etc) appear at the same column as the
> > heading, not at column 0
> 
> This would be plain wrong. Indentation is relative to the element above.
> Heading indentation is but the fallback value.
> 

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.



--
Daniel



reply via email to

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