emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Titus von der Malsburg <malsburg@posteo.de>
To: "Thomas S. Dye" <tsd@tsdye.com>
Cc: emacs-orgmode@gnu.org
Subject: Re: [BUG] in last org in indentation of source blocks
Date: Thu, 28 May 2015 11:50:03 -0700	[thread overview]
Message-ID: <87mw0oy1t0.fsf@posteo.de> (raw)
In-Reply-To: <m2d21kfu0u.fsf@tsdye.com>

[-- Attachment #1: Type: text/plain, Size: 1909 bytes --]


On 2015-05-28 Thu 11:15, Thomas S. Dye wrote:
> Titus von der Malsburg <malsburg@posteo.de> writes:
>
>> I can’t reproduce the second indent but I think it’s a bug that there is
>> any indentation at all.
>>
>> The documentation of `org-edit-special' (C-x ') says:
>>
>>   Call a special editor for the element at point. …
>>
>> No mention of indentation or other reformatting of my code.
>>
>> The same goes for `org-edit-src-exit' (C-c C-c) which says:
>>
>>   Kill current sub-editing buffer and return to source buffer.
>>
>> The edit-in-buffer feature should not touch the indentation.  If the
>> syntax of the language is sensitive to indentation (e.g. Python) this
>> can break the code.  Example:
>>
>> #+BEGIN_SRC python :results output
>>   print "test"
>> #+END_SRC
>>
>> is invalid Python syntax.
>>
>> Also having one function perform two very different actions (edit code
>> in separate buffer *and* reformat the code) is poor design.  At least in
>> this special case.  When I open the code in a separate buffer but then
>> decide not to change it (C-c C-c), I'll end up with extra indentation
>> and this will create unnecessary changes when I commit the file in git.
>
> Does the variable org-src-preserve-indentation get the behavior you're
> after?

It does.  I propose two changes:

1.) The default value `org-src-preserve-indentation' should be t because
that is safer (see Python example) and more conservative.  (Don’t mess
with my code!)

2.) The documentation of `org-edit-special' and `org-edit-src-exit'
should point out that depending on `org-src-preserve-indentation' the
code may be re-indented.

Even better would be to remove `org-src-preserve-indentation' and to do
the right thing, which is to leave the code untouched.  Emacs already
has facilities for indenting code.  No need to reinvent the wheel.

  Titus



[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 472 bytes --]

  reply	other threads:[~2015-05-28 18:50 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-28 11:49 [BUG] in last org in indentation of source blocks Rainer M Krug
2015-05-28 17:02 ` Titus von der Malsburg
2015-05-28 18:15   ` Thomas S. Dye
2015-05-28 18:50     ` Titus von der Malsburg [this message]
2015-05-29  7:46     ` Rainer M Krug
2015-05-29  7:45   ` Rainer M Krug
2015-05-29  7:59 ` Nicolas Goaziou
2015-05-29  8:10   ` Rainer M Krug
2015-05-29  8:03 ` [BUG] in last org in indentation of source blocks - confirmed with emacs -Q Rainer M Krug

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87mw0oy1t0.fsf@posteo.de \
    --to=malsburg@posteo.de \
    --cc=emacs-orgmode@gnu.org \
    --cc=tsd@tsdye.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).