emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* Bug: Unintended column added to table [9.4.6 (9.4.6-gab9f2a @ /home/user/.emacs.d/elpa/org-9.4.6/)]
@ 2021-08-25 14:00 spectria
  2021-08-27 15:12 ` Ihor Radchenko
  0 siblings, 1 reply; 7+ messages in thread
From: spectria @ 2021-08-25 14:00 UTC (permalink / raw)
  To: emacs-orgmode

In a preexisting org table, hitting <tab> can add a new, unintended column

To reproduce the behavior:

1) Create foo.org containing:
   
   | Type |
   | foo  |
   |      |
   
2) emacs -Q
3) M-x package-initialize
4) C-x C-f foo.org
5) Repeat:
   1) Put cursor at end of line containing foo
   2) <tab>

Bug: After the 2nd iteration, org adds a unintended new column. Further iteration adds more columns.


======================================================================

Emacs  : GNU Emacs 26.1 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.5)
 of 2021-01-30, modified by Debian
Package: Org mode version 9.4.6 (9.4.6-gab9f2a @ /home/user/.emacs.d/elpa/org-9.4.6/)

current state:
==============
(setq
 org-src-mode-hook '(org-src-babel-configure-edit-buffer org-src-mode-configure-edit-buffer)
 org-link-shell-confirm-function 'yes-or-no-p
 org-metadown-hook '(org-babel-pop-to-session-maybe)
 org-clock-out-hook '(org-clock-remove-empty-clock-drawer)
 org-reveal-start-hook '(org-decrypt-entry)
 org-mode-hook '(#[0 "\300\301\302\303\304$\207" [add-hook change-major-mode-hook org-show-all append local] 5]
		 #[0 "\300\301\302\303\304$\207" [add-hook change-major-mode-hook org-babel-show-result-all append local] 5]
		 org-babel-result-hide-spec org-babel-hide-all-hashes)
 org-archive-hook '(org-attach-archive-delete-maybe)
 org-confirm-elisp-link-function 'yes-or-no-p
 org-agenda-before-write-hook '(org-agenda-add-entry-text)
 org-metaup-hook '(org-babel-load-in-session-maybe)
 org-bibtex-headline-format-function #[257 "\300\x01\236A\207" [:title] 3 "\n\n(fn ENTRY)"]
 org-babel-pre-tangle-hook '(save-buffer)
 org-tab-first-hook '(org-babel-hide-result-toggle-maybe org-babel-header-arg-expand)
 org-agenda-loop-over-headlines-in-active-region nil
 org-occur-hook '(org-first-headline-recenter)
 org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-hide-drawers org-cycle-show-empty-lines
		  org-optimize-window-after-visibility-change)
 org-speed-command-hook '(org-speed-command-activate org-babel-speed-command-activate)
 org-export-before-parsing-hook '(org-attach-expand-links)
 org-confirm-shell-link-function 'yes-or-no-p
 org-link-parameters '(("attachment" :follow org-attach-follow :complete org-attach-complete-link) ("id" :follow org-id-open)
		       ("eww" :follow org-eww-open :store org-eww-store-link) ("rmail" :follow org-rmail-open :store org-rmail-store-link)
		       ("mhe" :follow org-mhe-open :store org-mhe-store-link)
		       ("irc" :follow org-irc-visit :store org-irc-store-link :export org-irc-export)
		       ("info" :follow org-info-open :export org-info-export :store org-info-store-link)
		       ("gnus" :follow org-gnus-open :store org-gnus-store-link)
		       ("docview" :follow org-docview-open :export org-docview-export :store org-docview-store-link)
		       ("bibtex" :follow org-bibtex-open :store org-bibtex-store-link)
		       ("bbdb" :follow org-bbdb-open :export org-bbdb-export :complete org-bbdb-complete-link :store org-bbdb-store-link)
		       ("w3m" :store org-w3m-store-link) ("file+sys") ("file+emacs") ("shell" :follow org-link--open-shell)
		       ("news" :follow #[514 "\301\300\302\x04Q\x02\"\207" ["news" browse-url ":"] 6 "\n\n(fn URL ARG)"])
		       ("mailto" :follow #[514 "\301\300\302\x04Q\x02\"\207" ["mailto" browse-url ":"] 6 "\n\n(fn URL ARG)"])
		       ("https" :follow #[514 "\301\300\302\x04Q\x02\"\207" ["https" browse-url ":"] 6 "\n\n(fn URL ARG)"])
		       ("http" :follow #[514 "\301\300\302\x04Q\x02\"\207" ["http" browse-url ":"] 6 "\n\n(fn URL ARG)"])
		       ("ftp" :follow #[514 "\301\300\302\x04Q\x02\"\207" ["ftp" browse-url ":"] 6 "\n\n(fn URL ARG)"])
		       ("help" :follow org-link--open-help) ("file" :complete org-link-complete-file) ("elisp" :follow org-link--open-elisp)
		       ("doi" :follow org-link--open-doi))
 org-link-elisp-confirm-function 'yes-or-no-p
 )






^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Bug: Unintended column added to table [9.4.6 (9.4.6-gab9f2a @ /home/user/.emacs.d/elpa/org-9.4.6/)]
  2021-08-25 14:00 Bug: Unintended column added to table [9.4.6 (9.4.6-gab9f2a @ /home/user/.emacs.d/elpa/org-9.4.6/)] spectria
@ 2021-08-27 15:12 ` Ihor Radchenko
  2021-08-31 10:12   ` Timothy
  2021-10-02  6:54   ` [PATCH] " Ihor Radchenko
  0 siblings, 2 replies; 7+ messages in thread
From: Ihor Radchenko @ 2021-08-27 15:12 UTC (permalink / raw)
  To: spectria; +Cc: emacs-orgmode

spectria@mail.com writes:

> In a preexisting org table, hitting <tab> can add a new, unintended column
>
> Bug: After the 2nd iteration, org adds a unintended new column. Further iteration adds more columns.

Confirmed

The problem appears somewhere inside org-table-justify-field-maybe

Best,
Ihor


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Bug: Unintended column added to table [9.4.6 (9.4.6-gab9f2a @ /home/user/.emacs.d/elpa/org-9.4.6/)]
  2021-08-27 15:12 ` Ihor Radchenko
@ 2021-08-31 10:12   ` Timothy
  2021-10-02  6:54   ` [PATCH] " Ihor Radchenko
  1 sibling, 0 replies; 7+ messages in thread
From: Timothy @ 2021-08-31 10:12 UTC (permalink / raw)
  To: Ihor Radchenko; +Cc: emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 44 bytes --]

Confirming as a Bug on updates.orgmode.org.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH] Bug: Unintended column added to table [9.4.6 (9.4.6-gab9f2a @ /home/user/.emacs.d/elpa/org-9.4.6/)]
  2021-08-27 15:12 ` Ihor Radchenko
  2021-08-31 10:12   ` Timothy
@ 2021-10-02  6:54   ` Ihor Radchenko
  2021-11-09 12:49     ` Spectira Chiando
  1 sibling, 1 reply; 7+ messages in thread
From: Ihor Radchenko @ 2021-10-02  6:54 UTC (permalink / raw)
  To: spectria; +Cc: emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 458 bytes --]

Ihor Radchenko <yantar92@gmail.com> writes:

> spectria@mail.com writes:
>
>> In a preexisting org table, hitting <tab> can add a new, unintended column
>>
>> Bug: After the 2nd iteration, org adds a unintended new column. Further iteration adds more columns.
>
> Confirmed
>
> The problem appears somewhere inside org-table-justify-field-maybe

And here is the fix.

I am not familiar with org-table codebase, so feedback would be
appreciated.

Best,
Ihor


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-org-table.el-Do-not-create-new-field-when-at-EOL-aft.patch --]
[-- Type: text/x-diff, Size: 1221 bytes --]

From 36485b234d607be16cc06912dc85b9984a0142af Mon Sep 17 00:00:00 2001
Message-Id: <36485b234d607be16cc06912dc85b9984a0142af.1633157571.git.yantar92@gmail.com>
From: Ihor Radchenko <yantar92@gmail.com>
Date: Sat, 2 Oct 2021 14:44:30 +0800
Subject: [PATCH] org-table.el: Do not create new field when at EOL after table
 line

* lisp/org-table.el (org-table-justify-field-maybe): Do not treat "|$"
as unclosed table field.

Fixes https://orgmode.org/list/trinity-2561db57-1561-470b-982f-0d91ddf4f145-1629900012884@3c-app-mailcom-lxa06
---
 lisp/org-table.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lisp/org-table.el b/lisp/org-table.el
index 89c57fb06..e34872fb4 100644
--- a/lisp/org-table.el
+++ b/lisp/org-table.el
@@ -4436,7 +4436,7 @@ (defun org-table-justify-field-maybe (&optional new)
 	  (col (org-table-current-column)))
       (when (> col 0)
 	(skip-chars-backward "^|")
-	(if (not (looking-at " *\\([^|\n]*?\\) *\\(|\\|$\\)"))
+	(if (not (looking-at " *\\(?:\\([^|\n]*?\\) *\\(|\\)\\|\\([^|\n]+?\\) *\\($\\)\\)"))
 	    (setq org-table-may-need-update t)
 	  (let* ((align (nth (1- col) org-table-last-alignment))
 		 (width (nth (1- col) org-table-last-column-widths))
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH] Bug: Unintended column added to table [9.4.6 (9.4.6-gab9f2a @ /home/user/.emacs.d/elpa/org-9.4.6/)]
  2021-10-02  6:54   ` [PATCH] " Ihor Radchenko
@ 2021-11-09 12:49     ` Spectira Chiando
  2021-11-09 17:38       ` Jude DaShiell
  2021-11-23 13:18       ` Ihor Radchenko
  0 siblings, 2 replies; 7+ messages in thread
From: Spectira Chiando @ 2021-11-09 12:49 UTC (permalink / raw)
  To: Ihor Radchenko; +Cc: emacs-orgmode

[-- Attachment #1: Type: text/html, Size: 1581 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] Bug: Unintended column added to table [9.4.6 (9.4.6-gab9f2a @ /home/user/.emacs.d/elpa/org-9.4.6/)]
  2021-11-09 12:49     ` Spectira Chiando
@ 2021-11-09 17:38       ` Jude DaShiell
  2021-11-23 13:18       ` Ihor Radchenko
  1 sibling, 0 replies; 7+ messages in thread
From: Jude DaShiell @ 2021-11-09 17:38 UTC (permalink / raw)
  To: Spectira Chiando, Ihor Radchenko; +Cc: emacs-orgmode

I've had this happen in an earlier version of org and found if I get on
the last record in a table at the beginning of the line and tab the number
of columns in the table plus 1 I get a blank new record added to the table
and the extra unintended column does not appear.  In the earlier version
of orgmode I use if I go down to the last record then tab once to get into
the first column of the table and then start entering data and finish the
data entry in that record or add more records, then the extra unintended
column does appear.  I only mention this behavior as confirmation of this
behavior.


On Tue, 9 Nov 2021, Spectira Chiando wrote:

> Ihor,
>  
> Patch is working great, have been using it heavily for the past month. Thanks very much!
>  
> Spectria
>  
>     Sent: Saturday, October 02, 2021 at 1:54 AM
> From: "Ihor Radchenko" <yantar92@gmail.com>
> To: spectria@mail.com
> Cc: emacs-orgmode@gnu.org
> Subject: [PATCH] Bug: Unintended column added to table [9.4.6 (9.4.6-gab9f2a @ /home/user/.emacs.d/elpa/org-9.4.6/)]
> Ihor Radchenko <yantar92@gmail.com> writes:
>
> > spectria@mail.com writes:
> >
> >> In a preexisting org table, hitting <tab> can add a new, unintended column
> >>
> >> Bug: After the 2nd iteration, org adds a unintended new column. Further iteration adds more columns.
> >
> > Confirmed
> >
> > The problem appears somewhere inside org-table-justify-field-maybe
>
> And here is the fix.
>
> I am not familiar with org-table codebase, so feedback would be
> appreciated.
>
> Best,
> Ihor
>  
>
>


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] Bug: Unintended column added to table [9.4.6 (9.4.6-gab9f2a @ /home/user/.emacs.d/elpa/org-9.4.6/)]
  2021-11-09 12:49     ` Spectira Chiando
  2021-11-09 17:38       ` Jude DaShiell
@ 2021-11-23 13:18       ` Ihor Radchenko
  1 sibling, 0 replies; 7+ messages in thread
From: Ihor Radchenko @ 2021-11-23 13:18 UTC (permalink / raw)
  To: Spectira Chiando; +Cc: emacs-orgmode

Spectira Chiando <spectria@mail.com> writes:

> Patch is working great, have been using it heavily for the past month. Thanks very much!

Applied.

I took a freedom to push the patch to main.

Best,
Ihor



^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2021-11-23 13:18 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-25 14:00 Bug: Unintended column added to table [9.4.6 (9.4.6-gab9f2a @ /home/user/.emacs.d/elpa/org-9.4.6/)] spectria
2021-08-27 15:12 ` Ihor Radchenko
2021-08-31 10:12   ` Timothy
2021-10-02  6:54   ` [PATCH] " Ihor Radchenko
2021-11-09 12:49     ` Spectira Chiando
2021-11-09 17:38       ` Jude DaShiell
2021-11-23 13:18       ` Ihor Radchenko

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).