* [PATCH] Translate refs to rc also in remote references
@ 2012-07-10 12:55 Jose E. Marchesi
2012-07-10 20:01 ` Bastien
0 siblings, 1 reply; 7+ messages in thread
From: Jose E. Marchesi @ 2012-07-10 12:55 UTC (permalink / raw)
To: emacs-orgmode
Hi all.
Just a tiny patch making org-table-convert-refs-to-rc to transform the
coordinates found in remote references into "normalised" @n$y. This is
part of some work I am doing with remotes and which I will be sending to
the list soon: namely to update the remotes when the structure of
some referred table changes.
diff --git a/lisp/org-table.el b/lisp/org-table.el
index 16f2520..f3cce91 100644
--- a/lisp/org-table.el
+++ b/lisp/org-table.el
@@ -3229,7 +3229,7 @@ Parameters get priority."
Works for single references, but also for entire formulas and even the
full TBLFM line."
(let ((start 0))
- (while (string-match "\\<\\([a-zA-Z]+\\)\\([0-9]+\\>\\|&\\)\\|\\(;[^\r\n:]+\\|\\<remote([^)]*)\\)" s start)
+ (while (string-match "\\<\\([a-zA-Z]+\\)\\([0-9]+\\>\\|&\\)\\|\\(;[^\r\n:]+\\|\\<remote([^,]*[ \t]*\\|)\\)" s start)
(cond
((match-end 3)
;; format match, just advance
--
Jose E. Marchesi http://www.jemarch.net
GNU Project http://www.gnu.org
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH] Translate refs to rc also in remote references
2012-07-10 12:55 [PATCH] Translate refs to rc also in remote references Jose E. Marchesi
@ 2012-07-10 20:01 ` Bastien
2012-07-11 8:17 ` Jose E. Marchesi
0 siblings, 1 reply; 7+ messages in thread
From: Bastien @ 2012-07-10 20:01 UTC (permalink / raw)
To: Jose E. Marchesi; +Cc: emacs-orgmode
Hi Jose,
jemarch@gnu.org (Jose E. Marchesi) writes:
> Just a tiny patch making org-table-convert-refs-to-rc to transform the
> coordinates found in remote references into "normalised" @n$y. This is
> part of some work I am doing with remotes and which I will be sending to
> the list soon: namely to update the remotes when the structure of
> some referred table changes.
Looks good. Can you provide the patch with a ChangeLog and with
git format-patch ?
Thanks!
--
Bastien
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] Translate refs to rc also in remote references
2012-07-10 20:01 ` Bastien
@ 2012-07-11 8:17 ` Jose E. Marchesi
2012-08-08 12:23 ` Bastien
0 siblings, 1 reply; 7+ messages in thread
From: Jose E. Marchesi @ 2012-07-11 8:17 UTC (permalink / raw)
To: Bastien; +Cc: emacs-orgmode
> Just a tiny patch making org-table-convert-refs-to-rc to transform the
> coordinates found in remote references into "normalised" @n$y. This is
> part of some work I am doing with remotes and which I will be sending to
> the list soon: namely to update the remotes when the structure of
> some referred table changes.
Looks good. Can you provide the patch with a ChangeLog and with
git format-patch ?
Sure. Here is it.
From 37cc07cb5acd84c15216f0107936fe9367c53dca Mon Sep 17 00:00:00 2001
From: "Jose E. Marchesi" <jemarch@gnu.org>
Date: Wed, 11 Jul 2012 10:10:02 +0200
Subject: [PATCH] Transform the coordinates found in remote references into
"normalised" @n$y.
To: emacs-orgmode@gnu.org
* org-table.el (org-table-convert-refs-to-rc): Convert references in
remote(..) directives.
---
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 16f2520..f3cce91 100644
--- a/lisp/org-table.el
+++ b/lisp/org-table.el
@@ -3229,7 +3229,7 @@ Parameters get priority."
Works for single references, but also for entire formulas and even the
full TBLFM line."
(let ((start 0))
- (while (string-match "\\<\\([a-zA-Z]+\\)\\([0-9]+\\>\\|&\\)\\|\\(;[^\r\n:]+\\|\\<remote([^)]*)\\)" s start)
+ (while (string-match "\\<\\([a-zA-Z]+\\)\\([0-9]+\\>\\|&\\)\\|\\(;[^\r\n:]+\\|\\<remote([^,]*[ \t]*\\|)\\)" s start)
(cond
((match-end 3)
;; format match, just advance
--
1.7.10
--
Jose E. Marchesi http://www.jemarch.net
GNU Project http://www.gnu.org
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH] Translate refs to rc also in remote references
2012-07-11 8:17 ` Jose E. Marchesi
@ 2012-08-08 12:23 ` Bastien
2012-08-09 18:00 ` Jose E. Marchesi
0 siblings, 1 reply; 7+ messages in thread
From: Bastien @ 2012-08-08 12:23 UTC (permalink / raw)
To: Jose E. Marchesi; +Cc: emacs-orgmode
Hi Jose,
jemarch@gnu.org (Jose E. Marchesi) writes:
> Sure. Here is it.
Coming back to this.
> From 37cc07cb5acd84c15216f0107936fe9367c53dca Mon Sep 17 00:00:00 2001
> From: "Jose E. Marchesi" <jemarch@gnu.org>
> Date: Wed, 11 Jul 2012 10:10:02 +0200
> Subject: [PATCH] Transform the coordinates found in remote references into
> "normalised" @n$y.
> To: emacs-orgmode@gnu.org
>
> * org-table.el (org-table-convert-refs-to-rc): Convert references in
> remote(..) directives.
> ---
> 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 16f2520..f3cce91 100644
> --- a/lisp/org-table.el
> +++ b/lisp/org-table.el
> @@ -3229,7 +3229,7 @@ Parameters get priority."
> Works for single references, but also for entire formulas and even the
> full TBLFM line."
> (let ((start 0))
> - (while (string-match "\\<\\([a-zA-Z]+\\)\\([0-9]+\\>\\|&\\)\\|\\(;[^\r\n:]+\\|\\<remote([^)]*)\\)" s start)
> + (while (string-match "\\<\\([a-zA-Z]+\\)\\([0-9]+\\>\\|&\\)\\|\\(;[^\r\n:]+\\|\\<remote([^,]*[ \t]*\\|)\\)" s start)
I fail to see the meaning of ([^,]*[ \t]*\\|) replacing ([^)]*)
The \\| is wrong, right?
I think I need an example with such a remote reference, the way
org-table-convert-refs-to-rc would have converted it, and the way
it does with your patch.
Thanks in advance!
--
Bastien
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] Translate refs to rc also in remote references
2012-08-08 12:23 ` Bastien
@ 2012-08-09 18:00 ` Jose E. Marchesi
2012-08-10 9:02 ` Bastien
0 siblings, 1 reply; 7+ messages in thread
From: Jose E. Marchesi @ 2012-08-09 18:00 UTC (permalink / raw)
To: Bastien; +Cc: emacs-orgmode
Hi Bastien.
> - (while (string-match "\\<\\([a-zA-Z]+\\)\\([0-9]+\\>\\|&\\)\\|\\(;[^\r\n:]+\\|\\<remote([^)]*)\\)" s start)
> + (while (string-match "\\<\\([a-zA-Z]+\\)\\([0-9]+\\>\\|&\\)\\|\\(;[^\r\n:]+\\|\\<remote([^,]*[ \t]*\\|)\\)" s start)
I fail to see the meaning of ([^,]*[ \t]*\\|) replacing ([^)]*)
The \\| is wrong, right?
Yep, you can remove the \\|.
I think I need an example with such a remote reference, the way
org-table-convert-refs-to-rc would have converted it, and the way
it does with your patch.
Real example from a formula in a table of mine:
B3=(B2*remote(Factors,F10))/remote(Factors,G10)
The old org-table-convert-refs-to-rc would have converted it to:
"@3$2=(@2$2*remote(Factors,F10))/remote(Factors,G10)"
The new version to:
"@3$2=(@2$2*remote(Factors,@10$6))/remote(Factors,@10$7)"
i.e. the old version was not converting the A0 coordinates to rc
coordinates.
--
Jose E. Marchesi http://www.jemarch.net
GNU Project http://www.gnu.org
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] Translate refs to rc also in remote references
2012-08-09 18:00 ` Jose E. Marchesi
@ 2012-08-10 9:02 ` Bastien
2012-08-10 9:23 ` Jose E. Marchesi
0 siblings, 1 reply; 7+ messages in thread
From: Bastien @ 2012-08-10 9:02 UTC (permalink / raw)
To: Jose E. Marchesi; +Cc: emacs-orgmode
Hi Jose,
jemarch@gnu.org (Jose E. Marchesi) writes:
> i.e. the old version was not converting the A0 coordinates to rc
> coordinates.
thanks a lot for the detailed explanations.
I've just pushed a minimal fix for this:
diff --git a/lisp/org-table.el b/lisp/org-table.el
index d8aba8b..b6bc54a 100644
--- a/lisp/org-table.el
+++ b/lisp/org-table.el
@@ -3236,7 +3236,7 @@ Parameters get priority."
Works for single references, but also for entire formulas and even the
full TBLFM line."
(let ((start 0))
- (while (string-match "\\<\\([a-zA-Z]+\\)\\([0-9]+\\>\\|&\\)\\|\\(;[^\r\n:]+\\|\\<remote([^)]*)\\)" s start)
+ (while (string-match "\\<\\([a-zA-Z]+\\)\\([0-9]+\\>\\|&\\)\\|\\(;[^\r\n:]+\\|\\<remote([^,)]*)\\)" s start)
(cond
((match-end 3)
;; format match, just advance
--
Bastien
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH] Translate refs to rc also in remote references
2012-08-10 9:02 ` Bastien
@ 2012-08-10 9:23 ` Jose E. Marchesi
0 siblings, 0 replies; 7+ messages in thread
From: Jose E. Marchesi @ 2012-08-10 9:23 UTC (permalink / raw)
To: Bastien; +Cc: emacs-orgmode
> i.e. the old version was not converting the A0 coordinates to rc
> coordinates.
thanks a lot for the detailed explanations.
I've just pushed a minimal fix for this:
Great, thanks :)
--
Jose E. Marchesi http://www.jemarch.net
GNU Project http://www.gnu.org
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2012-08-10 11:38 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-07-10 12:55 [PATCH] Translate refs to rc also in remote references Jose E. Marchesi
2012-07-10 20:01 ` Bastien
2012-07-11 8:17 ` Jose E. Marchesi
2012-08-08 12:23 ` Bastien
2012-08-09 18:00 ` Jose E. Marchesi
2012-08-10 9:02 ` Bastien
2012-08-10 9:23 ` Jose E. Marchesi
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).