Re: [O] [PATCH] [org-table] user-chosen separator in org-table-convert-region
Hi Francois, thanks for the explanation. I have checked in a modified version which does what you proposal and also allows the user to call `C-c |' with a triple prefix arg. In that case, the command will prompt the user for a regular expression that will be used. Useful, thank you! - Carsten On 3.9.2013, at 12:20, franc...@avalenn.eu wrote: Hello, I made this patch to make easier conversion to org-table from csv-like text with arbitrary separator. --- lisp/org-table.el |2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/lisp/org-table.el b/lisp/org-table.el index c7e7eb8..c8c2462 100644 --- a/lisp/org-table.el +++ b/lisp/org-table.el @@ -575,6 +575,8 @@ nil When nil, the command tries to be smart and figure out the (if ( separator 1) (user-error Number of spaces in separator must be = 1) (format ^ *\\| *\t *\\| \\{%d,\\} separator))) + ((stringp separator) +(format ^ *\\|%s separator)) (t (error This should not happen (while (re-search-forward re end t) (replace-match | t t))) -- 1.7.9 signature.asc Description: Message signed with OpenPGP using GPGMail
Re: [O] [PATCH] [org-table] user-chosen separator in org-table-convert-region
On Tue, 24 Sep 2013 15:08:10 +0200, Carsten Dominik carsten.domi...@gmail.com wrote: could you please explain what this does and show an example on how this should be used? It adds the possibility of a string argument used as a regexp for arbitrary field separator. It can be used as following : (defun my-fjd/convert (beg0 end0 arg) (interactive r\nsSeparator: ) (let* ((beg (min beg0 end0)) (end (max beg0 end0)) re) (org-table-convert-region beg0 end0 arg) )) (global-set-key (kbd f5T) 'my-fjd/convert) It permits for example to convert in place csv-like table with semi-colon separator if I pass ; as argument. I modified the patch to add correct documentation in the function. --- lisp/org-table.el |3 +++ 1 file changed, 3 insertions(+) diff --git a/lisp/org-table.el b/lisp/org-table.el index 246cf8d..4883fc6 100644 --- a/lisp/org-table.el +++ b/lisp/org-table.el @@ -548,6 +548,7 @@ (defun org-table-convert-region (beg0 end0 optional separator) '(4) Use the comma as a field separator '(16)Use a TAB as field separator integer When a number, use that many spaces as field separator +string When a string, use it as a regexp for field separator nil When nil, the command tries to be smart and figure out the separator in the following way: - when each line contains a TAB, assume TAB-separated material @@ -591,6 +592,8 @@ (defun org-table-convert-region (beg0 end0 optional separator) (if ( separator 1) (user-error Number of spaces in separator must be = 1) (format ^ *\\| *\t *\\| \\{%d,\\} separator))) + ((stringp separator) + (format ^ *\\|%s separator)) (t (error This should not happen (while (re-search-forward re end t) (replace-match | t t))) -- 1.7.10.4
Re: [O] [PATCH] [org-table] user-chosen separator in org-table-convert-region
Hi Francois, could you please explain what this does and show an example on how this should be used? Thank you. - Carsten On 3.9.2013, at 12:20, franc...@avalenn.eu wrote: Hello, I made this patch to make easier conversion to org-table from csv-like text with arbitrary separator. --- lisp/org-table.el |2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/lisp/org-table.el b/lisp/org-table.el index c7e7eb8..c8c2462 100644 --- a/lisp/org-table.el +++ b/lisp/org-table.el @@ -575,6 +575,8 @@ nil When nil, the command tries to be smart and figure out the (if ( separator 1) (user-error Number of spaces in separator must be = 1) (format ^ *\\| *\t *\\| \\{%d,\\} separator))) + ((stringp separator) +(format ^ *\\|%s separator)) (t (error This should not happen (while (re-search-forward re end t) (replace-match | t t))) -- 1.7.9 signature.asc Description: Message signed with OpenPGP using GPGMail
[O] [PATCH] [org-table] user-chosen separator in org-table-convert-region
Hello, I made this patch to make easier conversion to org-table from csv-like text with arbitrary separator. --- lisp/org-table.el |2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/lisp/org-table.el b/lisp/org-table.el index c7e7eb8..c8c2462 100644 --- a/lisp/org-table.el +++ b/lisp/org-table.el @@ -575,6 +575,8 @@ nil When nil, the command tries to be smart and figure out the (if ( separator 1) (user-error Number of spaces in separator must be = 1) (format ^ *\\| *\t *\\| \\{%d,\\} separator))) + ((stringp separator) + (format ^ *\\|%s separator)) (t (error This should not happen (while (re-search-forward re end t) (replace-match | t t))) -- 1.7.9
[O] [PATCH] [org-table] user-chosen separator in org-table-convert-region
Hello, I made this patch to make easier conversion to org-table from csv-like text with arbitrary separator. --- lisp/org-table.el |2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/lisp/org-table.el b/lisp/org-table.el index c7e7eb8..c8c2462 100644 --- a/lisp/org-table.el +++ b/lisp/org-table.el @@ -575,6 +575,8 @@ nil When nil, the command tries to be smart and figure out the (if ( separator 1) (user-error Number of spaces in separator must be = 1) (format ^ *\\| *\t *\\| \\{%d,\\} separator))) + ((stringp separator) + (format ^ *\\|%s separator)) (t (error This should not happen (while (re-search-forward re end t) (replace-match | t t))) -- 1.7.9