Dear list,
I'd like to report a bug. It seems that setting
org-src-preserve-indentation to true doesn't work if it's set buffer
local.
To reproduce, save the following as an org file:
#+BEGIN_SRC python :tangle preserve-indent.py
class Foo:
bar = 5
#+END_SRC
Here is some interstitial text!
#+BEGIN_SRC python :tangle preserve-indent.py
def __init__(self):
self.bar = 7
#+END_SRC
Then:
1) (setq org-src-preserve-indentation nil) and tangle the file. Open
preserve-indent.py and note that def __init__ has no leading whitespace,
which means python will not recognize it as a member of Foo
2) (setq org-src-preserve-indentation t) and tangle the file. Open
preserve-indent.py and note that now def __init__ is properly
indented. This is the expected behavior.
3) (setq org-src-perserve-indentation nil), then M-x
make-variable-buffer-local and set org-src-preserve-indentation to
t. Tangle the file and open preserve-indent.py. Note that def __init__
is back to being not-indented. The expected behavior is that the
indentation would be respected, as in #2.
David