Starting from emacs -Q: 1. C-x C-f test.org 2. Write something like the following: Here is a table: |Data1|Data2 3. Make sure to leave the last column without the "|" 4. C-o, with point at the table row. 5. I expected to get a clean row: Here is a table: | | | | Data1 | Data2 |
but I got: Here is a table: | | Data2 | | Data1 | Data2 | I realize this might be a corner-case, but I'm used to leave the last column without "|", because TAB is smart enough to add it for me. So the "Data2" repetition becomes a little annoying. If I put point at the row | Data1 | Data2 the following: (org-table-clean-line (buffer-substring (line-beginning-position) (line-end-position))) evaluates to a string that has characters other than "|" and space, but org-table-clean-line says it returns a string with only "|" and space. I've tweaked the relevant regexp in org-table-clean-line to "|\\([ \t]*?[^ \t\r\n|][^\r\n|]*\\)|?" and that fixes it for me. Best regards, Mauro. Emacs : GNU Emacs 28.0.50 (build 5, i686-pc-linux-gnu, GTK+ Version 2.24.33, cairo version 1.16.0) of 2021-05-19 Package: Org mode version 9.4.4 (release_9.4.4 @ /home/tbb/code/emacs/emacs/lisp/org/)