emacs-orgmode
[Top][All Lists]
Advanced

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

[BUG] defaults make it hard to edit Elisp blocks in org buffers


From: gerard . vermeulen
Subject: [BUG] defaults make it hard to edit Elisp blocks in org buffers
Date: Wed, 17 Jan 2024 18:34:20 +0000

* Why I do (setopt org-src-preserve-indention t)

Sometimes, I want to do small Elisp edits without calling
org-edit-source-code.  Below, I describe a long standing bug
(several years) that is also present in main.
I use smartparens, but it reproduces also in a clean
environment (minimal init.el) using main.

#+begin_src emacs-lisp :results silent
(setopt org-edit-src-content-indentation 4 ;; to amplify the effect
        org-src-preserve-indentation nil)
#+end_src
Place point after the first open parenthesis below and type return.
#+begin_src emacs-lisp
    (())
#+end_src
This moves the code 4 spaces to the right.  Place point after the first
open parenthesis of the lowest line below and type return.
#+begin_src emacs-lisp
            (
             (
              ))
#+end_src
This moves the code again 4 spaces to the right. It does not matter
whether the the parentheses contain for instance a function definition.

* Therefore, I work with those settings breaking the default.
#+begin_src emacs-lisp :results silent
(setopt org-edit-src-content-indentation 2
        org-src-preserve-indentation t)
#+end_src
Place point after the first open parenthesis below and type return.
#+begin_src emacs-lisp
(())
#+end_src
The parentheses remain left-shifted.  Place point after the first
open parenthis of the lowest line below and type return.
#+begin_src emacs-lisp
(
 ())
#+end_src
Again, the parentheses remain left-shifted.
#+begin_src emacs-lisp
(
 (
  ))
#+end_src
The parentheses remain left-shifted.  I prefer this over the default.

I have only seen it with Elisp blocks.

Regards -- Gerard




reply via email to

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