Psionic K <psionik@positron.solutions> writes:

> When cleaning up hard indentation, I found my source blocks remaining 
> indented.
>
> The way that org-do-remove-indentation is sensitive to invisible text.
> This occurs for source blocks whenever using org-modern-mode, where it
> makes the source blocks align left.

Thanks for the patch!
Would you also be able to create a reproducer, so that we can replicate
the problem and write a test?

> By swapping out the arithmetic and expressions that relied on
> current-column, the behavior is fixed.
>
> There are several behaviors I only just found, so I don't expect a lot
> of precision in my fix, but the patch I came up with follows:
>
> From 858077f0d2a7f4cd8699948229c2965f0c6bb0a1 Mon Sep 17 00:00:00 2001
> From: Psionik K <73710933+psioni...@users.noreply.github.com>
> Date: Wed, 10 Jan 2024 18:05:53 +0900
> Subject: [PATCH] when removing indentation, take into account invisible text

It looks like you did not send the patch with git send-email (this email
patch does not apply with git). It might be easier if you simply attach
the patch to email.

> One behavioral difference is that the point is no longer moved
> forward.  Therefore, arithmetic is used instead of (current-column)
> based math.  (current-column) is inaccurate when moving the point
> through invisible text.

If you can, please add changelog entries to the commit message. See
https://orgmode.org/worg/org-contribute.html#org77afce2

> -                                    (progn (move-to-column n t)
> -                                           (point)))))
> +                                    (+ (line-beginning-position) n))))

This math is not accurate when tabs are present.

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>

Reply via email to