The options proposed so far: 1) Leave it as it is (DEPM)
Advantages: no coding Disadvantages: very hard to mantain code, bad ui (non const cursor movement), useability flaws (annoying to cut & paste sometimes) 2) Do not forbid anything. Double empty newlines will be aliminated on export/save. Advantages: easy coding, easy to maintain Disadvantages: can confuse new users, it is bad ui (the ui allows you to do things that are useless, save/load is not const) 3) Option 2) + visual feedback. (that can be: special marks on empty pars, message on minibuffer, ?) Advantages += less likely to confuse new users 4) Horizontal cursor. Enter places the cursor between pars. New pars are added only on user typing, no empty par in the document at all times. Advantages: ui ok (const cursor movement, ui and core agree) Disadvantages: can be confusing, coding difficulty unknown (to me). Hard to maintain code (the need of mantaining the empty par count == 0) 5) Empty par count <= 1 (Martin Vermeer's proposal) Advantages: ui ok (const cursor movement, no useability issues) Maybe not so hard to code. Disadvantages: disturbing visual (activity is produced on two different spots at the same time). hard to maintain code (empty par count <= 1), 6) No two sucessive empty pars, empty pars are eliminated on save (John's patch) Advantages: almost already coded, no useability issues, const cursor movemenent Disadvantages: not so good ui (save/load not so const, empty pars are allowed but then not saved), can confuse new users (althoug less than 2), hard to maintain code (not two sucessive empty pars). Of course, advantages and disadvantages are only qualitative here (there are different code maintaining hardness, ui badness, etc). And this is my opinion, please correct my if I'm wrong. John, did I forgot or messed up something? Regards, Alfredo