Dear Nicolas! Thank you for your fast reply! I now use a custom =org-unfill-toggle= which does the same as =unfill-toggle= but uses =org-fill-paragraph=. It just took me a while to see where the problem lies! For cases like these, it would be advantageous if major modes could redefine certain functions. Like =fill-paragraph= in this case. Instead, they usually (have to?) rebind the keys...
Kind regards, Dominik Nicolas Goaziou <m...@nicolasgoaziou.fr> writes: > Hello, > > Dominik Schrempf <dominik.schre...@gmail.com> writes: > >> I am using a global keybinding for =M-q=, so that I can fill and unfill >> paragraphs with one key stroke (unfill.el): >> >> : (global-set-key (kbd "s-q") 'unfill-toggle) >> >> For a long time, I thought that =fill-paragraph= was broken in Org mode, >> because >> it doesn't work well on code blocks, on lists, and on many other things [1]. >> Just now, I realized that Org mode uses a specialized version of >> `fill-paragraph`, called `org-fill-paragraph`. >> >> Hence, the aforementioned global key binding breaks behavior in Org mode, >> although the function =unfill-toggle= is just a wrapper around >> =fill-paragraph=. > > You could detect if you're in an Org document beforehand. > `org-fill-paragraph' obeys to `fill-column'. > >> Is it necessary to have the specialized function =org-fill-paragraph=? Is it >> possible to use the canonical =fill-paragraph=? > > There is `fill-paragraph-function', but it only kicks when no region is > selected. Using it would break region filling. There is also > `fill-forward-paragraph-function', but I think it is too limited. > > In a nutshell, I didn't find any way to fill correctly Org documents > using `fill-paragraph' mechanism. So I wrote the current implementation > of `org-fill-paragraph', which is a wrapper around `org-fill-element'. > > Regards,