Re: [O] [PATCH] [org-table] user-chosen separator in org-table-convert-region

2013-09-29 Thread Carsten Dominik
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

2013-09-27 Thread francois
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

2013-09-24 Thread Carsten Dominik
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

2013-09-03 Thread francois

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

2013-09-03 Thread francois

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