emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* org-plot/gnuplot: question and feature suggestions
@ 2021-03-25 11:58 Eric S Fraga
  2021-03-25 12:18 ` Eric S Fraga
                   ` (3 more replies)
  0 siblings, 4 replies; 28+ messages in thread
From: Eric S Fraga @ 2021-03-25 11:58 UTC (permalink / raw)
  To: Emacs Org mode mailing list

Hello all,

I normally use gnuplot directly with src blocks but sometimes it's
useful to use the #+PLOT for some quick and dirty plots.  I have one
problem: I wish to set the format for axes labels to %T.  Normally, in
gnuplot, this would be simply a line

  format "%T"
  
In a #+PLOT line, I would set this using

  #+PLOT: ... set:"format \"%T\""
  
or some similar way but I cannot figure out how to do it.

I also have two feature requests should anybody be able to help:

1. it would be consistent and useful if "C-c C-c" executed
   org-plot/gnuplot when on such a #+PLOT line.

2. why does point move to the next line when I do execute the command?
   This is somewhat annoying when playing around with the settings.  It
   would be nice to have point remain where it is.

Thank you all!

-- 
: Eric S Fraga via Emacs 28.0.50, Org release_9.4.4-254-g37749c


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

* Re: org-plot/gnuplot: question and feature suggestions
  2021-03-25 11:58 org-plot/gnuplot: question and feature suggestions Eric S Fraga
@ 2021-03-25 12:18 ` Eric S Fraga
  2021-03-25 12:31 ` Timothy
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 28+ messages in thread
From: Eric S Fraga @ 2021-03-25 12:18 UTC (permalink / raw)
  To: Emacs Org mode mailing list

On Thursday, 25 Mar 2021 at 11:58, Eric S Fraga wrote:
> In a #+PLOT line, I would set this using
>
>   #+PLOT: ... set:"format \"%T\""

Solved it.  I had forgotten that gnuplot is quite relaxed about the
quotes used so this works:

   #+PLOT: ... set:"format '%T'"  
   
My feature requests stand, mine you. :-)

Thank you,
eric

-- 
: Eric S Fraga via Emacs 28.0.50, Org release_9.4.4-254-g37749c


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

* Re: org-plot/gnuplot: question and feature suggestions
  2021-03-25 11:58 org-plot/gnuplot: question and feature suggestions Eric S Fraga
  2021-03-25 12:18 ` Eric S Fraga
@ 2021-03-25 12:31 ` Timothy
  2021-03-25 14:02   ` Eric S Fraga
  2021-04-26 16:24 ` [PATCH] Have C-c C-c recognise #+plot lines Timothy
       [not found] ` <88f6c54a01f345d785492c4d5b3b82d3@VI1PR0102MB3327.eurprd01.prod.exchangelabs.com>
  3 siblings, 1 reply; 28+ messages in thread
From: Timothy @ 2021-03-25 12:31 UTC (permalink / raw)
  To: emacs-orgmode


Eric S Fraga <e.fraga@ucl.ac.uk> writes:

> or some similar way but I cannot figure out how to do it.

[ Update: He figured it out :P ]

> I also have two feature requests should anybody be able to help:
>
> 1. it would be consistent and useful if "C-c C-c" executed
>    org-plot/gnuplot when on such a #+PLOT line.
>
> 2. why does point move to the next line when I do execute the command?
>    This is somewhat annoying when playing around with the settings.  It
>    would be nice to have point remain where it is.

If no-one else takes care of these, I'll take a look in a bit* :)

--
Timothy

*a bit = several weeks


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

* Re: org-plot/gnuplot: question and feature suggestions
  2021-03-25 12:31 ` Timothy
@ 2021-03-25 14:02   ` Eric S Fraga
  0 siblings, 0 replies; 28+ messages in thread
From: Eric S Fraga @ 2021-03-25 14:02 UTC (permalink / raw)
  To: Timothy; +Cc: emacs-orgmode

On Thursday, 25 Mar 2021 at 20:31, Timothy wrote:
> Eric S Fraga <e.fraga@ucl.ac.uk> writes:
>
>> or some similar way but I cannot figure out how to do it.
>
> [ Update: He figured it out :P ]

;-)

> If no-one else takes care of these, I'll take a look in a bit* :)

Thank you!  And no pressure, of course.

-- 
: Eric S Fraga via Emacs 28.0.50, Org release_9.4.4-254-g37749c


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

* [PATCH] Have C-c C-c recognise #+plot lines
  2021-03-25 11:58 org-plot/gnuplot: question and feature suggestions Eric S Fraga
  2021-03-25 12:18 ` Eric S Fraga
  2021-03-25 12:31 ` Timothy
@ 2021-04-26 16:24 ` Timothy
  2021-04-26 17:01   ` Nicolas Goaziou
       [not found] ` <88f6c54a01f345d785492c4d5b3b82d3@VI1PR0102MB3327.eurprd01.prod.exchangelabs.com>
  3 siblings, 1 reply; 28+ messages in thread
From: Timothy @ 2021-04-26 16:24 UTC (permalink / raw)
  To: emacs-orgmode

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


A while ago Eric raised two nice suggestions. (2) has just been
implemented as Bastien reminded me that I can now just push straight to
Org for org-plot.el without going through a patch-review process.

This patch resolves (1).

Eric S Fraga <e.fraga@ucl.ac.uk> writes:

> 1. it would be consistent and useful if "C-c C-c" executed
>    org-plot/gnuplot when on such a #+PLOT line.
>
> 2. why does point move to the next line when I do execute the command?
>    This is somewhat annoying when playing around with the settings.  It
>    would be nice to have point remain where it is.
>
> Thank you all!

--
Timothy


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-org-Enable-plotting-with-C-c-C-c.patch --]
[-- Type: text/x-patch, Size: 2964 bytes --]

From fccd5f2c66fe8342da2a8eb405240f5247958597 Mon Sep 17 00:00:00 2001
From: TEC <tec@tecosaur.com>
Date: Tue, 27 Apr 2021 00:05:37 +0800
Subject: [PATCH] org: Enable plotting with C-c C-c

* lisp/org.el (org-ctrl-c-ctrl-c): When at a table, check if the current
line starts with "#+plot", and if so call `org-plot/gnuplot'.
As I think 4-deep nested if statements are bad for readability, I
refactored the nested if statements to use `cond' while I was at it.
---
 lisp/org.el | 40 ++++++++++++++++++++++------------------
 1 file changed, 22 insertions(+), 18 deletions(-)

diff --git a/lisp/org.el b/lisp/org.el
index 3f9c9a284..950509bfd 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -17693,24 +17693,28 @@ (defun org-ctrl-c-ctrl-c (&optional arg)
 	 ;; send the table if necessary.  If the table has
 	 ;; a `table.el' type, just give up.  At a table row or cell,
 	 ;; maybe recalculate line but always align table.
-	 (if (eq (org-element-property :type context) 'table.el)
-	     (message "%s" (substitute-command-keys "\\<org-mode-map>\
-Use `\\[org-edit-special]' to edit table.el tables"))
-	   (if (or (eq type 'table)
-		   ;; Check if point is at a TBLFM line.
-		   (and (eq type 'table-row)
-			(= (point) (org-element-property :end context))))
-	       (save-excursion
-		 (if (org-at-TBLFM-p)
-		     (progn (require 'org-table)
-			    (org-table-calc-current-TBLFM))
-		   (goto-char (org-element-property :contents-begin context))
-		   (org-call-with-arg 'org-table-recalculate (or arg t))
-		   (orgtbl-send-table 'maybe)))
-	     (org-table-maybe-eval-formula)
-	     (cond (arg (call-interactively #'org-table-recalculate))
-		   ((org-table-maybe-recalculate-line))
-		   (t (org-table-align))))))
+         (cond
+          ((string-match-p "#\\+plot" (thing-at-point 'line t))
+           (org-plot/gnuplot))
+          ((eq (org-element-property :type context) 'table.el)
+           (message "%s" (substitute-command-keys "\\<org-mode-map>\
+Use `\\[org-edit-special]' to edit table.el tables")))
+          ((or (eq type 'table)
+               ;; Check if point is at a TBLFM line.
+               (and (eq type 'table-row)
+                    (= (point) (org-element-property :end context))))
+           (save-excursion
+             (if (org-at-TBLFM-p)
+                 (progn (require 'org-table)
+                        (org-table-calc-current-TBLFM))
+               (goto-char (org-element-property :contents-begin context))
+               (org-call-with-arg 'org-table-recalculate (or arg t))
+               (orgtbl-send-table 'maybe))))
+          (t
+           (org-table-maybe-eval-formula)
+           (cond (arg (call-interactively #'org-table-recalculate))
+                 ((org-table-maybe-recalculate-line))
+                 (t (org-table-align))))))
 	((or `timestamp (and `planning (guard (org-at-timestamp-p 'lax))))
 	 (org-timestamp-change 0 'day))
 	((and `nil (guard (org-at-heading-p)))
-- 
2.31.1


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

* Re: [PATCH] Have C-c C-c recognise #+plot lines
  2021-04-26 16:24 ` [PATCH] Have C-c C-c recognise #+plot lines Timothy
@ 2021-04-26 17:01   ` Nicolas Goaziou
  0 siblings, 0 replies; 28+ messages in thread
From: Nicolas Goaziou @ 2021-04-26 17:01 UTC (permalink / raw)
  To: Timothy; +Cc: emacs-orgmode

Hello,

Timothy <tecosaur@gmail.com> writes:

> +         (cond
> +          ((string-match-p "#\\+plot" (thing-at-point 'line t))

The whole `org-ctrl-c-ctrl-c' function relies on the parser. It would be
nice to use it for this case too.

Here a more accurate check would be:

                                                                                (and (< (point) (org-element-property :post-affiliated context))
                                                                                     (org-match-line (rx (zero-or-more (any " " "\t")) "#+plot:")))

Regards,
-- 
Nicolas Goaziou


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

* Re: [PATCH] Have C-c C-c recognise #+plot lines
       [not found] ` <88f6c54a01f345d785492c4d5b3b82d3@VI1PR0102MB3327.eurprd01.prod.exchangelabs.com>
@ 2021-04-26 17:05   ` Eric S Fraga
  2021-04-26 17:11     ` Timothy
       [not found]     ` <cd035f196ec74353b613018fd4ff86eb@VI1PR0102MB3327.eurprd01.prod.exchangelabs.com>
  0 siblings, 2 replies; 28+ messages in thread
From: Eric S Fraga @ 2021-04-26 17:05 UTC (permalink / raw)
  To: Timothy; +Cc: emacs-orgmode@gnu.org

On Monday, 26 Apr 2021 at 16:24, Timothy wrote:
> A while ago Eric raised two nice suggestions. (2) has just been
> implemented as Bastien reminded me that I can now just push straight to
> Org for org-plot.el without going through a patch-review process.
>
> This patch resolves (1).

Timothy,

I've updated org and applied the patch.  Both aspects seem to work just
fine.  I haven't done much testing, however, as it's beer time...  I'll
update tomorrow should I run into any strange behaviour.

thank you,
eric

-- 
: Eric S Fraga via Emacs 28.0.50, Org release_9.4.5-335-gac3148.dirty


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

* Re: [PATCH] Have C-c C-c recognise #+plot lines
  2021-04-26 17:05   ` Eric S Fraga
@ 2021-04-26 17:11     ` Timothy
  2021-04-26 17:13       ` Timothy
       [not found]     ` <cd035f196ec74353b613018fd4ff86eb@VI1PR0102MB3327.eurprd01.prod.exchangelabs.com>
  1 sibling, 1 reply; 28+ messages in thread
From: Timothy @ 2021-04-26 17:11 UTC (permalink / raw)
  To: Eric S Fraga; +Cc: emacs-orgmode@gnu.org

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


Since you don't seem to have pushed yet, here's an updated patche that
takes into account Nicolas' comments.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-org-Enable-plotting-with-C-c-C-c.patch --]
[-- Type: text/x-patch, Size: 3028 bytes --]

From 04270b64315fed399748509f1c09428557b7742d Mon Sep 17 00:00:00 2001
From: TEC <tec@tecosaur.com>
Date: Tue, 27 Apr 2021 00:05:37 +0800
Subject: [PATCH] org: Enable plotting with C-c C-c

* lisp/org.el (org-ctrl-c-ctrl-c): When at a table, check if the current
line starts with "#+plot", and if so call `org-plot/gnuplot'.
As I think 4-deep nested if statements are bad for readability, I
refactored the nested if statements to use `cond' while I was at it.
---
 lisp/org.el | 41 +++++++++++++++++++++++------------------
 1 file changed, 23 insertions(+), 18 deletions(-)

diff --git a/lisp/org.el b/lisp/org.el
index 3f9c9a284..c4e2e132f 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -17693,24 +17693,29 @@ (defun org-ctrl-c-ctrl-c (&optional arg)
 	 ;; send the table if necessary.  If the table has
 	 ;; a `table.el' type, just give up.  At a table row or cell,
 	 ;; maybe recalculate line but always align table.
-	 (if (eq (org-element-property :type context) 'table.el)
-	     (message "%s" (substitute-command-keys "\\<org-mode-map>\
-Use `\\[org-edit-special]' to edit table.el tables"))
-	   (if (or (eq type 'table)
-		   ;; Check if point is at a TBLFM line.
-		   (and (eq type 'table-row)
-			(= (point) (org-element-property :end context))))
-	       (save-excursion
-		 (if (org-at-TBLFM-p)
-		     (progn (require 'org-table)
-			    (org-table-calc-current-TBLFM))
-		   (goto-char (org-element-property :contents-begin context))
-		   (org-call-with-arg 'org-table-recalculate (or arg t))
-		   (orgtbl-send-table 'maybe)))
-	     (org-table-maybe-eval-formula)
-	     (cond (arg (call-interactively #'org-table-recalculate))
-		   ((org-table-maybe-recalculate-line))
-		   (t (org-table-align))))))
+         (cond
+          ((and (< (point) (org-element-property :post-affiliated context))
+                (org-match-line "[ \t]*#+plot:"))
+           (org-plot/gnuplot))
+          ((eq (org-element-property :type context) 'table.el)
+           (message "%s" (substitute-command-keys "\\<org-mode-map>\
+Use `\\[org-edit-special]' to edit table.el tables")))
+          ((or (eq type 'table)
+               ;; Check if point is at a TBLFM line.
+               (and (eq type 'table-row)
+                    (= (point) (org-element-property :end context))))
+           (save-excursion
+             (if (org-at-TBLFM-p)
+                 (progn (require 'org-table)
+                        (org-table-calc-current-TBLFM))
+               (goto-char (org-element-property :contents-begin context))
+               (org-call-with-arg 'org-table-recalculate (or arg t))
+               (orgtbl-send-table 'maybe))))
+          (t
+           (org-table-maybe-eval-formula)
+           (cond (arg (call-interactively #'org-table-recalculate))
+                 ((org-table-maybe-recalculate-line))
+                 (t (org-table-align))))))
 	((or `timestamp (and `planning (guard (org-at-timestamp-p 'lax))))
 	 (org-timestamp-change 0 'day))
 	((and `nil (guard (org-at-heading-p)))
-- 
2.31.1


[-- Attachment #3: Type: text/plain, Size: 579 bytes --]


Eric S Fraga <e.fraga@ucl.ac.uk> writes:

> On Monday, 26 Apr 2021 at 16:24, Timothy wrote:
>> A while ago Eric raised two nice suggestions. (2) has just been
>> implemented as Bastien reminded me that I can now just push straight to
>> Org for org-plot.el without going through a patch-review process.
>>
>> This patch resolves (1).
>
> Timothy,
>
> I've updated org and applied the patch.  Both aspects seem to work just
> fine.  I haven't done much testing, however, as it's beer time...  I'll
> update tomorrow should I run into any strange behaviour.
>
> thank you,
> eric

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

* Re: [PATCH] Have C-c C-c recognise #+plot lines
  2021-04-26 17:11     ` Timothy
@ 2021-04-26 17:13       ` Timothy
  2021-04-26 17:17         ` Timothy
  0 siblings, 1 reply; 28+ messages in thread
From: Timothy @ 2021-04-26 17:13 UTC (permalink / raw)
  To: Eric S Fraga; +Cc: emacs-orgmode@gnu.org

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


Timothy <tecosaur@gmail.com> writes:

> Since you don't seem to have pushed yet, here's an updated patch that
> takes into account Nicolas' comments.

... and that patch didn't take into account the need to escape "+" in
the regex.
Take 3.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-org-Enable-plotting-with-C-c-C-c.patch --]
[-- Type: text/x-patch, Size: 3030 bytes --]

From 4e5fcb4726711ff356656cb6fccf6e341656443d Mon Sep 17 00:00:00 2001
From: TEC <tec@tecosaur.com>
Date: Tue, 27 Apr 2021 00:05:37 +0800
Subject: [PATCH] org: Enable plotting with C-c C-c

* lisp/org.el (org-ctrl-c-ctrl-c): When at a table, check if the current
line starts with "#+plot", and if so call `org-plot/gnuplot'.
As I think 4-deep nested if statements are bad for readability, I
refactored the nested if statements to use `cond' while I was at it.
---
 lisp/org.el | 41 +++++++++++++++++++++++------------------
 1 file changed, 23 insertions(+), 18 deletions(-)

diff --git a/lisp/org.el b/lisp/org.el
index 3f9c9a284..94ef9660d 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -17693,24 +17693,29 @@ (defun org-ctrl-c-ctrl-c (&optional arg)
 	 ;; send the table if necessary.  If the table has
 	 ;; a `table.el' type, just give up.  At a table row or cell,
 	 ;; maybe recalculate line but always align table.
-	 (if (eq (org-element-property :type context) 'table.el)
-	     (message "%s" (substitute-command-keys "\\<org-mode-map>\
-Use `\\[org-edit-special]' to edit table.el tables"))
-	   (if (or (eq type 'table)
-		   ;; Check if point is at a TBLFM line.
-		   (and (eq type 'table-row)
-			(= (point) (org-element-property :end context))))
-	       (save-excursion
-		 (if (org-at-TBLFM-p)
-		     (progn (require 'org-table)
-			    (org-table-calc-current-TBLFM))
-		   (goto-char (org-element-property :contents-begin context))
-		   (org-call-with-arg 'org-table-recalculate (or arg t))
-		   (orgtbl-send-table 'maybe)))
-	     (org-table-maybe-eval-formula)
-	     (cond (arg (call-interactively #'org-table-recalculate))
-		   ((org-table-maybe-recalculate-line))
-		   (t (org-table-align))))))
+         (cond
+          ((and (< (point) (org-element-property :post-affiliated context))
+                (org-match-line "[ \t]*#\\+plot:"))
+           (org-plot/gnuplot))
+          ((eq (org-element-property :type context) 'table.el)
+           (message "%s" (substitute-command-keys "\\<org-mode-map>\
+Use `\\[org-edit-special]' to edit table.el tables")))
+          ((or (eq type 'table)
+               ;; Check if point is at a TBLFM line.
+               (and (eq type 'table-row)
+                    (= (point) (org-element-property :end context))))
+           (save-excursion
+             (if (org-at-TBLFM-p)
+                 (progn (require 'org-table)
+                        (org-table-calc-current-TBLFM))
+               (goto-char (org-element-property :contents-begin context))
+               (org-call-with-arg 'org-table-recalculate (or arg t))
+               (orgtbl-send-table 'maybe))))
+          (t
+           (org-table-maybe-eval-formula)
+           (cond (arg (call-interactively #'org-table-recalculate))
+                 ((org-table-maybe-recalculate-line))
+                 (t (org-table-align))))))
 	((or `timestamp (and `planning (guard (org-at-timestamp-p 'lax))))
 	 (org-timestamp-change 0 'day))
 	((and `nil (guard (org-at-heading-p)))
-- 
2.31.1


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

* Re: [PATCH] Have C-c C-c recognise #+plot lines
  2021-04-26 17:13       ` Timothy
@ 2021-04-26 17:17         ` Timothy
  2021-04-28 18:04           ` Timothy
  2021-04-30  7:06           ` Timothy
  0 siblings, 2 replies; 28+ messages in thread
From: Timothy @ 2021-04-26 17:17 UTC (permalink / raw)
  To: Eric S Fraga; +Cc: emacs-orgmode@gnu.org

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


... I didn't regenerate the patch after amending the commit.

:big sigh: Take 4


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-org-Enable-plotting-with-C-c-C-c.patch --]
[-- Type: text/x-patch, Size: 3030 bytes --]

From 4e5fcb4726711ff356656cb6fccf6e341656443d Mon Sep 17 00:00:00 2001
From: TEC <tec@tecosaur.com>
Date: Tue, 27 Apr 2021 00:05:37 +0800
Subject: [PATCH] org: Enable plotting with C-c C-c

* lisp/org.el (org-ctrl-c-ctrl-c): When at a table, check if the current
line starts with "#+plot", and if so call `org-plot/gnuplot'.
As I think 4-deep nested if statements are bad for readability, I
refactored the nested if statements to use `cond' while I was at it.
---
 lisp/org.el | 41 +++++++++++++++++++++++------------------
 1 file changed, 23 insertions(+), 18 deletions(-)

diff --git a/lisp/org.el b/lisp/org.el
index 3f9c9a284..94ef9660d 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -17693,24 +17693,29 @@ (defun org-ctrl-c-ctrl-c (&optional arg)
 	 ;; send the table if necessary.  If the table has
 	 ;; a `table.el' type, just give up.  At a table row or cell,
 	 ;; maybe recalculate line but always align table.
-	 (if (eq (org-element-property :type context) 'table.el)
-	     (message "%s" (substitute-command-keys "\\<org-mode-map>\
-Use `\\[org-edit-special]' to edit table.el tables"))
-	   (if (or (eq type 'table)
-		   ;; Check if point is at a TBLFM line.
-		   (and (eq type 'table-row)
-			(= (point) (org-element-property :end context))))
-	       (save-excursion
-		 (if (org-at-TBLFM-p)
-		     (progn (require 'org-table)
-			    (org-table-calc-current-TBLFM))
-		   (goto-char (org-element-property :contents-begin context))
-		   (org-call-with-arg 'org-table-recalculate (or arg t))
-		   (orgtbl-send-table 'maybe)))
-	     (org-table-maybe-eval-formula)
-	     (cond (arg (call-interactively #'org-table-recalculate))
-		   ((org-table-maybe-recalculate-line))
-		   (t (org-table-align))))))
+         (cond
+          ((and (< (point) (org-element-property :post-affiliated context))
+                (org-match-line "[ \t]*#\\+plot:"))
+           (org-plot/gnuplot))
+          ((eq (org-element-property :type context) 'table.el)
+           (message "%s" (substitute-command-keys "\\<org-mode-map>\
+Use `\\[org-edit-special]' to edit table.el tables")))
+          ((or (eq type 'table)
+               ;; Check if point is at a TBLFM line.
+               (and (eq type 'table-row)
+                    (= (point) (org-element-property :end context))))
+           (save-excursion
+             (if (org-at-TBLFM-p)
+                 (progn (require 'org-table)
+                        (org-table-calc-current-TBLFM))
+               (goto-char (org-element-property :contents-begin context))
+               (org-call-with-arg 'org-table-recalculate (or arg t))
+               (orgtbl-send-table 'maybe))))
+          (t
+           (org-table-maybe-eval-formula)
+           (cond (arg (call-interactively #'org-table-recalculate))
+                 ((org-table-maybe-recalculate-line))
+                 (t (org-table-align))))))
 	((or `timestamp (and `planning (guard (org-at-timestamp-p 'lax))))
 	 (org-timestamp-change 0 'day))
 	((and `nil (guard (org-at-heading-p)))
-- 
2.31.1


[-- Attachment #3: Type: text/plain, Size: 31 bytes --]


Sorry for the noise,

Timothy

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

* Re: [PATCH] Have C-c C-c recognise #+plot lines
       [not found]     ` <cd035f196ec74353b613018fd4ff86eb@VI1PR0102MB3327.eurprd01.prod.exchangelabs.com>
@ 2021-04-26 21:32       ` Eric S Fraga
  2021-04-26 21:33       ` Eric S Fraga
  1 sibling, 0 replies; 28+ messages in thread
From: Eric S Fraga @ 2021-04-26 21:32 UTC (permalink / raw)
  To: Timothy; +Cc: emacs-orgmode@gnu.org

On Monday, 26 Apr 2021 at 17:11, Timothy wrote:
> Since you don't seem to have pushed yet, here's an updated patche that
> takes into account Nicolas' comments.

Thank you.  I've incorporated that patch and will test out tomorrow.

-- 
: Eric S Fraga via Emacs 28.0.50, Org release_9.4.5-337-g29d4cc.dirty


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

* Re: [PATCH] Have C-c C-c recognise #+plot lines
       [not found]     ` <cd035f196ec74353b613018fd4ff86eb@VI1PR0102MB3327.eurprd01.prod.exchangelabs.com>
  2021-04-26 21:32       ` Eric S Fraga
@ 2021-04-26 21:33       ` Eric S Fraga
  2021-04-27  5:18         ` Bastien
  1 sibling, 1 reply; 28+ messages in thread
From: Eric S Fraga @ 2021-04-26 21:33 UTC (permalink / raw)
  To: Timothy; +Cc: emacs-orgmode@gnu.org

On Monday, 26 Apr 2021 at 17:11, Timothy wrote:
> Since you don't seem to have pushed yet, here's an updated patche that
> takes into account Nicolas' comments.

Oh, and to clarify: I don't have push access; I can only do testing but
not installation!

-- 
: Eric S Fraga via Emacs 28.0.50, Org release_9.4.5-337-g29d4cc.dirty


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

* Re: [PATCH] Have C-c C-c recognise #+plot lines
  2021-04-26 21:33       ` Eric S Fraga
@ 2021-04-27  5:18         ` Bastien
  0 siblings, 0 replies; 28+ messages in thread
From: Bastien @ 2021-04-27  5:18 UTC (permalink / raw)
  To: Eric S Fraga; +Cc: emacs-orgmode@gnu.org, Timothy

Hi Eric,

Eric S Fraga <e.fraga@ucl.ac.uk> writes:

> On Monday, 26 Apr 2021 at 17:11, Timothy wrote:
>> Since you don't seem to have pushed yet, here's an updated patche that
>> takes into account Nicolas' comments.
>
> Oh, and to clarify: I don't have push access; I can only do testing but
> not installation!

If you need push access for areas you want to maintain, just let us
know.  Thanks!


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

* Re: [PATCH] Have C-c C-c recognise #+plot lines
  2021-04-26 17:17         ` Timothy
@ 2021-04-28 18:04           ` Timothy
  2021-04-29 11:23             ` Eric S Fraga
  2021-04-30  8:17             ` Eric S Fraga
  2021-04-30  7:06           ` Timothy
  1 sibling, 2 replies; 28+ messages in thread
From: Timothy @ 2021-04-28 18:04 UTC (permalink / raw)
  To: Eric S Fraga; +Cc: emacs-orgmode@gnu.org


Hi Eric,

Have you had a chance to test this out?

--
Timothy


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

* Re: [PATCH] Have C-c C-c recognise #+plot lines
  2021-04-28 18:04           ` Timothy
@ 2021-04-29 11:23             ` Eric S Fraga
  2021-04-30  8:17             ` Eric S Fraga
  1 sibling, 0 replies; 28+ messages in thread
From: Eric S Fraga @ 2021-04-29 11:23 UTC (permalink / raw)
  To: Timothy; +Cc: emacs-orgmode@gnu.org

Hi Timothy,

On Thursday, 29 Apr 2021 at 02:04, Timothy wrote:
> Have you had a chance to test this out?

Yes, sorry for the delay; work pressures...  C-c C-c seems to work fine
on #+plot lines and the point does not move.

thank you,
eric

-- 
: Eric S Fraga via Emacs 28.0.50, Org release_9.4.5-381-g17ef1b.dirty


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

* Re: [PATCH] Have C-c C-c recognise #+plot lines
  2021-04-26 17:17         ` Timothy
  2021-04-28 18:04           ` Timothy
@ 2021-04-30  7:06           ` Timothy
  2021-04-30  7:14             ` Bastien
  1 sibling, 1 reply; 28+ messages in thread
From: Timothy @ 2021-04-30  7:06 UTC (permalink / raw)
  To: Eric S Fraga; +Cc: emacs-orgmode@gnu.org


Now that Eric and I have both tested this, and Nicolas' comments have
been taken into account, it would be great if a core maintainer could
consider applying this patch :)

--
Timothy

p.s. I'm specifically making a new reply to the version of the patch
that should be looked at, in the hope that this might help with clarity
when there are 4 different patches in this thread.


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

* Re: [PATCH] Have C-c C-c recognise #+plot lines
  2021-04-30  7:06           ` Timothy
@ 2021-04-30  7:14             ` Bastien
  0 siblings, 0 replies; 28+ messages in thread
From: Bastien @ 2021-04-30  7:14 UTC (permalink / raw)
  To: Timothy; +Cc: emacs-orgmode@gnu.org, Eric S Fraga

Hi Timothy,

Timothy <tecosaur@gmail.com> writes:

> Now that Eric and I have both tested this, and Nicolas' comments have
> been taken into account, it would be great if a core maintainer could
> consider applying this patch :)

Done with commit aea31b065 in master, thanks to everyone in this thread.

I allowed myself to shortene the commit message a little bit, avoiding
personal statements ("as I think").

Also note that this patch did not land on updates.orgmode.org because
it was sent as a reply - I'll try to fix Woof! here.

Thanks,

-- 
 Bastien


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

* Re: [PATCH] Have C-c C-c recognise #+plot lines
  2021-04-28 18:04           ` Timothy
  2021-04-29 11:23             ` Eric S Fraga
@ 2021-04-30  8:17             ` Eric S Fraga
  2021-04-30  8:22               ` Bastien
  2021-05-01  6:56               ` Bastien
  1 sibling, 2 replies; 28+ messages in thread
From: Eric S Fraga @ 2021-04-30  8:17 UTC (permalink / raw)
  To: Timothy; +Cc: emacs-orgmode@gnu.org

On Thursday, 29 Apr 2021 at 02:04, Timothy wrote:
> Have you had a chance to test this out?

Further on this, I don't have time to debug right now but the patch
seems to have broken org table recalculation, specifically C-u C-c C-c
on a table.

Have to run to a meeting but will try to check this out later today if I
have time.

-- 
: Eric S Fraga via Emacs 28.0.50, Org release_9.4.5-381-g17ef1b.dirty


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

* Re: [PATCH] Have C-c C-c recognise #+plot lines
  2021-04-30  8:17             ` Eric S Fraga
@ 2021-04-30  8:22               ` Bastien
  2021-04-30  8:52                 ` Timothy
  2021-05-01  6:56               ` Bastien
  1 sibling, 1 reply; 28+ messages in thread
From: Bastien @ 2021-04-30  8:22 UTC (permalink / raw)
  To: Eric S Fraga; +Cc: emacs-orgmode@gnu.org, Timothy

Eric S Fraga <e.fraga@ucl.ac.uk> writes:

> On Thursday, 29 Apr 2021 at 02:04, Timothy wrote:
>> Have you had a chance to test this out?
>
> Further on this, I don't have time to debug right now but the patch
> seems to have broken org table recalculation, specifically C-u C-c C-c
> on a table.

Thanks for reporting - Tim can you double-check this?

-- 
 Bastien


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

* Re: [PATCH] Have C-c C-c recognise #+plot lines
  2021-04-30  8:22               ` Bastien
@ 2021-04-30  8:52                 ` Timothy
  2021-04-30 10:55                   ` Eric S Fraga
  2021-04-30 10:59                   ` Eric S Fraga
  0 siblings, 2 replies; 28+ messages in thread
From: Timothy @ 2021-04-30  8:52 UTC (permalink / raw)
  To: Bastien; +Cc: emacs-orgmode@gnu.org, Eric S Fraga


Bastien <bzg@gnu.org> writes:

> Eric S Fraga <e.fraga@ucl.ac.uk> writes:
>
>> Further on this, I don't have time to debug right now but the patch
>> seems to have broken org table recalculation, specifically C-u C-c C-c
>> on a table.
>
> Thanks for reporting - Tim can you double-check this?

I checked the docs for `org-table-recalculate' and based on manually
calling it compared the behaviour to C-u C-c C-c on a table and noticed
no difference, but I'm not familiar with the intended functionality so
an example from Eric (or someone else) of what should happen would be
very helpful.

--
Timothy


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

* Re: [PATCH] Have C-c C-c recognise #+plot lines
  2021-04-30  8:52                 ` Timothy
@ 2021-04-30 10:55                   ` Eric S Fraga
  2021-04-30 12:24                     ` Bastien
  2021-04-30 10:59                   ` Eric S Fraga
  1 sibling, 1 reply; 28+ messages in thread
From: Eric S Fraga @ 2021-04-30 10:55 UTC (permalink / raw)
  To: Timothy; +Cc: Bastien, emacs-orgmode@gnu.org

On Friday, 30 Apr 2021 at 16:52, Timothy wrote:
> I checked the docs for `org-table-recalculate' and based on manually
> calling it compared the behaviour to C-u C-c C-c on a table and noticed
> no difference, but I'm not familiar with the intended functionality so
> an example from Eric (or someone else) of what should happen would be
> very helpful.

I get this when I try:

Debugger entered--Lisp error: (wrong-type-argument number-or-marker-p nil)
  org-ctrl-c-ctrl-c((4))
  funcall-interactively(org-ctrl-c-ctrl-c (4))
  command-execute(org-ctrl-c-ctrl-c)

I will update org (noting that the patch has been incorporated) and will report back with a proper backtrace.
-- 
: Eric S Fraga via Emacs 28.0.50, Org release_9.4.5-381-g17ef1b.dirty


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

* Re: [PATCH] Have C-c C-c recognise #+plot lines
  2021-04-30  8:52                 ` Timothy
  2021-04-30 10:55                   ` Eric S Fraga
@ 2021-04-30 10:59                   ` Eric S Fraga
  2021-04-30 12:16                     ` Timothy
  1 sibling, 1 reply; 28+ messages in thread
From: Eric S Fraga @ 2021-04-30 10:59 UTC (permalink / raw)
  To: Timothy; +Cc: Bastien, emacs-orgmode@gnu.org

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

I have updated org.  Problem persists.

Attached is a full backtrace after hitting C-u C-c C-c on a table.  The
document itself has 2 headings and a small table.

I unfortunately cannot spend more time on this at the moment as I have a
presentation to make this afternoon and it's not quite ready...

-- 
: Eric S Fraga via Emacs 28.0.50, Org release_9.4.5-394-g7fc090

[-- Attachment #2: backtrace.txt --]
[-- Type: text/plain, Size: 16363 bytes --]

Debugger entered--Lisp error: (wrong-type-argument number-or-marker-p nil)
  <(240 nil)
  (and (< (point) (org-element-property :post-affiliated context)) (org-match-line "[ \11]*#\\+plot:"))
  (cond ((and (< (point) (org-element-property :post-affiliated context)) (org-match-line "[ \11]*#\\+plot:")) (org-plot/gnuplot)) ((eq (org-element-property :type context) 'table\.el) (message "%s" (substitute-command-keys "\\<org-mode-map>Use `\\[org-edit-special]' to edit t..."))) ((or (eq type 'table) (and (eq type 'table-row) (= (point) (org-element-property :end context)))) (save-excursion (if (org-at-TBLFM-p) (progn (require 'org-table) (org-table-calc-current-TBLFM)) (goto-char (org-element-property :contents-begin context)) (org-call-with-arg 'org-table-recalculate (or arg t)) (orgtbl-send-table 'maybe)))) (t (org-table-maybe-eval-formula) (cond (arg (call-interactively #'org-table-recalculate)) ((org-table-maybe-recalculate-line)) (t (org-table-align)))))
  (let nil (cond ((and (< (point) (org-element-property :post-affiliated context)) (org-match-line "[ \11]*#\\+plot:")) (org-plot/gnuplot)) ((eq (org-element-property :type context) 'table\.el) (message "%s" (substitute-command-keys "\\<org-mode-map>Use `\\[org-edit-special]' to edit t..."))) ((or (eq type 'table) (and (eq type 'table-row) (= (point) (org-element-property :end context)))) (save-excursion (if (org-at-TBLFM-p) (progn (require 'org-table) (org-table-calc-current-TBLFM)) (goto-char (org-element-property :contents-begin context)) (org-call-with-arg 'org-table-recalculate (or arg t)) (orgtbl-send-table 'maybe)))) (t (org-table-maybe-eval-formula) (cond (arg (call-interactively #'org-table-recalculate)) ((org-table-maybe-recalculate-line)) (t (org-table-align))))))
  (cond ((memq type '(src-block inline-src-block)) (let nil (if org-babel-no-eval-on-ctrl-c-ctrl-c nil (org-babel-eval-wipe-error-buffer) (org-babel-execute-src-block current-prefix-arg (org-babel-get-src-block-info nil context))))) ((org-match-line "[ \11]*$") (let nil (or (run-hook-with-args-until-success 'org-ctrl-c-ctrl-c-final-hook) (user-error (substitute-command-keys "`\\[org-ctrl-c-ctrl-c]' can do nothing useful here"))))) ((memq type '(inline-babel-call babel-call)) (let nil (let ((info (org-babel-lob-get-info context))) (if info (progn (org-babel-execute-src-block nil info)))))) ((eq type 'clock) (let nil (org-clock-update-time-maybe))) ((eq type 'dynamic-block) (let nil (save-excursion (goto-char (org-element-property :post-affiliated context)) (org-update-dblock)))) ((eq type 'footnote-definition) (let nil (goto-char (org-element-property :post-affiliated context)) (call-interactively 'org-footnote-action))) ((eq type 'footnote-reference) (let nil (call-interactively #'org-footnote-action))) ((memq type '(inlinetask headline)) (let nil (save-excursion (goto-char (org-element-property :begin context)) (call-interactively #'org-set-tags-command)))) ((eq type 'item) (let nil (if (or radio-list-p (and (boundp org-list-checkbox-radio-mode) org-list-checkbox-radio-mode)) (org-toggle-radio-button arg) (let* ((box (org-element-property :checkbox context)) (struct (org-element-property :structure context)) (old-struct (copy-tree struct)) (parents (org-list-parents-alist struct)) (prevs (org-list-prevs-alist struct)) (orderedp (org-not-nil ...))) (org-list-set-checkbox (org-element-property :begin context) struct (cond (... "[-]") (... "[ ]") (... nil) (... "[ ]") (t "[X]"))) (org-list-struct-fix-ind struct parents 2) (org-list-struct-fix-item-end struct) (org-list-struct-fix-bul struct prevs) (org-list-struct-fix-ind struct parents) (let ((block-item ...)) (if (and box ...) (if ... ... ...) (org-list-struct-apply-struct struct old-struct) (org-update-checkbox-count-maybe)) (if block-item (progn ...))))))) ((eq type 'plain-list) (let nil (if (or radio-list-p (and (boundp org-list-checkbox-radio-mode) org-list-checkbox-radio-mode)) (org-toggle-radio-button arg) (let* ((begin (org-element-property :contents-begin context)) (struct (org-element-property :structure context)) (old-struct (copy-tree struct)) (first-box (save-excursion ... ... ...)) (new-box (cond ... ... ... ...))) (cond (arg (let ... ...)) ((and first-box ...) (org-list-set-checkbox begin struct new-box))) (if (equal (org-list-write-struct struct ... old-struct) old-struct) (progn (message "Cannot update this checkbox"))) (org-update-checkbox-count-maybe))))) ((eq type 'keyword) (let nil (let ((org-inhibit-startup-visibility-stuff t) (org-startup-align-all-tables nil)) (if (boundp 'org-table-coordinate-overlays) (progn (mapc #'delete-overlay org-table-coordinate-overlays) (setq org-table-coordinate-overlays nil))) (let* ((--invisible-types '...) (--markers\? 'use-markers) (--data (mapcar ... ...))) (unwind-protect (progn (org-mode-restart)) (save-excursion (save-restriction ... ... ...))))) (message "Local setup has been refreshed"))) ((memq type '(node-property property-drawer)) (let nil (call-interactively #'org-property-action))) ((eq type 'radio-target) (let nil (call-interactively #'org-update-radio-target-regexp))) ((eq type 'statistics-cookie) (let nil (call-interactively #'org-update-statistics-cookies))) ((memq type '(table-row table-cell table)) (let nil (cond ((and (< (point) (org-element-property :post-affiliated context)) (org-match-line "[ \11]*#\\+plot:")) (org-plot/gnuplot)) ((eq (org-element-property :type context) 'table\.el) (message "%s" (substitute-command-keys "\\<org-mode-map>Use `\\[org-edit-special]' to edit t..."))) ((or (eq type 'table) (and (eq type ...) (= ... ...))) (save-excursion (if (org-at-TBLFM-p) (progn ... ...) (goto-char ...) (org-call-with-arg ... ...) (orgtbl-send-table ...)))) (t (org-table-maybe-eval-formula) (cond (arg (call-interactively ...)) ((org-table-maybe-recalculate-line)) (t (org-table-align))))))) ((eq type 'timestamp) (funcall pcase-1)) ((eq type 'planning) (cond ((org-at-timestamp-p 'lax) (funcall pcase-1)) ((run-hook-with-args-until-success 'org-ctrl-c-ctrl-c-final-hook) 'nil) (t (funcall pcase-0)))) ((null type) (cond ((org-at-heading-p) (let nil (call-interactively #'org-set-tags-command))) ((run-hook-with-args-until-success 'org-ctrl-c-ctrl-c-final-hook) 'nil) (t (funcall pcase-0)))) ((run-hook-with-args-until-success 'org-ctrl-c-ctrl-c-final-hook) 'nil) (t (funcall pcase-0)))
  (let* ((pcase-1 #'(lambda nil (org-timestamp-change 0 'day))) (pcase-0 #'(lambda nil (user-error (substitute-command-keys "`\\[org-ctrl-c-ctrl-c]' can do nothing useful here"))))) (cond ((memq type '(src-block inline-src-block)) (let nil (if org-babel-no-eval-on-ctrl-c-ctrl-c nil (org-babel-eval-wipe-error-buffer) (org-babel-execute-src-block current-prefix-arg (org-babel-get-src-block-info nil context))))) ((org-match-line "[ \11]*$") (let nil (or (run-hook-with-args-until-success 'org-ctrl-c-ctrl-c-final-hook) (user-error (substitute-command-keys "`\\[org-ctrl-c-ctrl-c]' can do nothing useful here"))))) ((memq type '(inline-babel-call babel-call)) (let nil (let ((info (org-babel-lob-get-info context))) (if info (progn (org-babel-execute-src-block nil info)))))) ((eq type 'clock) (let nil (org-clock-update-time-maybe))) ((eq type 'dynamic-block) (let nil (save-excursion (goto-char (org-element-property :post-affiliated context)) (org-update-dblock)))) ((eq type 'footnote-definition) (let nil (goto-char (org-element-property :post-affiliated context)) (call-interactively 'org-footnote-action))) ((eq type 'footnote-reference) (let nil (call-interactively #'org-footnote-action))) ((memq type '(inlinetask headline)) (let nil (save-excursion (goto-char (org-element-property :begin context)) (call-interactively #'org-set-tags-command)))) ((eq type 'item) (let nil (if (or radio-list-p (and (boundp org-list-checkbox-radio-mode) org-list-checkbox-radio-mode)) (org-toggle-radio-button arg) (let* ((box ...) (struct ...) (old-struct ...) (parents ...) (prevs ...) (orderedp ...)) (org-list-set-checkbox (org-element-property :begin context) struct (cond ... ... ... ... ...)) (org-list-struct-fix-ind struct parents 2) (org-list-struct-fix-item-end struct) (org-list-struct-fix-bul struct prevs) (org-list-struct-fix-ind struct parents) (let (...) (if ... ... ... ...) (if block-item ...)))))) ((eq type 'plain-list) (let nil (if (or radio-list-p (and (boundp org-list-checkbox-radio-mode) org-list-checkbox-radio-mode)) (org-toggle-radio-button arg) (let* ((begin ...) (struct ...) (old-struct ...) (first-box ...) (new-box ...)) (cond (arg ...) (... ...)) (if (equal ... old-struct) (progn ...)) (org-update-checkbox-count-maybe))))) ((eq type 'keyword) (let nil (let ((org-inhibit-startup-visibility-stuff t) (org-startup-align-all-tables nil)) (if (boundp 'org-table-coordinate-overlays) (progn (mapc ... org-table-coordinate-overlays) (setq org-table-coordinate-overlays nil))) (let* ((--invisible-types ...) (--markers\? ...) (--data ...)) (unwind-protect (progn ...) (save-excursion ...)))) (message "Local setup has been refreshed"))) ((memq type '(node-property property-drawer)) (let nil (call-interactively #'org-property-action))) ((eq type 'radio-target) (let nil (call-interactively #'org-update-radio-target-regexp))) ((eq type 'statistics-cookie) (let nil (call-interactively #'org-update-statistics-cookies))) ((memq type '(table-row table-cell table)) (let nil (cond ((and (< ... ...) (org-match-line "[ \11]*#\\+plot:")) (org-plot/gnuplot)) ((eq (org-element-property :type context) 'table\.el) (message "%s" (substitute-command-keys "\\<org-mode-map>Use `\\[org-edit-special]' to edit t..."))) ((or (eq type ...) (and ... ...)) (save-excursion (if ... ... ... ... ...))) (t (org-table-maybe-eval-formula) (cond (arg ...) (...) (t ...)))))) ((eq type 'timestamp) (funcall pcase-1)) ((eq type 'planning) (cond ((org-at-timestamp-p 'lax) (funcall pcase-1)) ((run-hook-with-args-until-success 'org-ctrl-c-ctrl-c-final-hook) 'nil) (t (funcall pcase-0)))) ((null type) (cond ((org-at-heading-p) (let nil (call-interactively #'org-set-tags-command))) ((run-hook-with-args-until-success 'org-ctrl-c-ctrl-c-final-hook) 'nil) (t (funcall pcase-0)))) ((run-hook-with-args-until-success 'org-ctrl-c-ctrl-c-final-hook) 'nil) (t (funcall pcase-0))))
  (let* ((context (org-element-lineage (org-element-context) '(babel-call clock dynamic-block footnote-definition footnote-reference inline-babel-call inline-src-block inlinetask item keyword node-property paragraph plain-list planning property-drawer radio-target src-block statistics-cookie table table-cell table-row timestamp) t)) (radio-list-p (org-at-radio-list-p)) (type (org-element-type context))) (if (eq type 'paragraph) (progn (let ((parent (org-element-property :parent context))) (if (and (eq (org-element-type parent) 'item) (= (line-beginning-position) (org-element-property :begin parent))) (progn (setq context parent) (setq type 'item)))))) (let* ((pcase-1 #'(lambda nil (org-timestamp-change 0 'day))) (pcase-0 #'(lambda nil (user-error (substitute-command-keys "`\\[org-ctrl-c-ctrl-c]' can do nothing useful here"))))) (cond ((memq type '(src-block inline-src-block)) (let nil (if org-babel-no-eval-on-ctrl-c-ctrl-c nil (org-babel-eval-wipe-error-buffer) (org-babel-execute-src-block current-prefix-arg (org-babel-get-src-block-info nil context))))) ((org-match-line "[ \11]*$") (let nil (or (run-hook-with-args-until-success 'org-ctrl-c-ctrl-c-final-hook) (user-error (substitute-command-keys "`\\[org-ctrl-c-ctrl-c]' can do nothing useful here"))))) ((memq type '(inline-babel-call babel-call)) (let nil (let ((info ...)) (if info (progn ...))))) ((eq type 'clock) (let nil (org-clock-update-time-maybe))) ((eq type 'dynamic-block) (let nil (save-excursion (goto-char (org-element-property :post-affiliated context)) (org-update-dblock)))) ((eq type 'footnote-definition) (let nil (goto-char (org-element-property :post-affiliated context)) (call-interactively 'org-footnote-action))) ((eq type 'footnote-reference) (let nil (call-interactively #'org-footnote-action))) ((memq type '(inlinetask headline)) (let nil (save-excursion (goto-char (org-element-property :begin context)) (call-interactively #'org-set-tags-command)))) ((eq type 'item) (let nil (if (or radio-list-p (and ... org-list-checkbox-radio-mode)) (org-toggle-radio-button arg) (let* (... ... ... ... ... ...) (org-list-set-checkbox ... struct ...) (org-list-struct-fix-ind struct parents 2) (org-list-struct-fix-item-end struct) (org-list-struct-fix-bul struct prevs) (org-list-struct-fix-ind struct parents) (let ... ... ...))))) ((eq type 'plain-list) (let nil (if (or radio-list-p (and ... org-list-checkbox-radio-mode)) (org-toggle-radio-button arg) (let* (... ... ... ... ...) (cond ... ...) (if ... ...) (org-update-checkbox-count-maybe))))) ((eq type 'keyword) (let nil (let ((org-inhibit-startup-visibility-stuff t) (org-startup-align-all-tables nil)) (if (boundp ...) (progn ... ...)) (let* (... ... ...) (unwind-protect ... ...))) (message "Local setup has been refreshed"))) ((memq type '(node-property property-drawer)) (let nil (call-interactively #'org-property-action))) ((eq type 'radio-target) (let nil (call-interactively #'org-update-radio-target-regexp))) ((eq type 'statistics-cookie) (let nil (call-interactively #'org-update-statistics-cookies))) ((memq type '(table-row table-cell table)) (let nil (cond ((and ... ...) (org-plot/gnuplot)) ((eq ... ...) (message "%s" ...)) ((or ... ...) (save-excursion ...)) (t (org-table-maybe-eval-formula) (cond ... ... ...))))) ((eq type 'timestamp) (funcall pcase-1)) ((eq type 'planning) (cond ((org-at-timestamp-p 'lax) (funcall pcase-1)) ((run-hook-with-args-until-success 'org-ctrl-c-ctrl-c-final-hook) 'nil) (t (funcall pcase-0)))) ((null type) (cond ((org-at-heading-p) (let nil (call-interactively ...))) ((run-hook-with-args-until-success 'org-ctrl-c-ctrl-c-final-hook) 'nil) (t (funcall pcase-0)))) ((run-hook-with-args-until-success 'org-ctrl-c-ctrl-c-final-hook) 'nil) (t (funcall pcase-0)))))
  (cond ((and (boundp 'org-columns-overlays) org-columns-overlays) (org-columns-quit)) ((or (and (boundp 'org-clock-overlays) org-clock-overlays) org-occur-highlights) (if (boundp 'org-clock-overlays) (progn (org-clock-remove-overlays))) (org-remove-occur-highlights) (message "Temporary highlights/overlays removed from current...")) ((and (local-variable-p 'org-finish-function) (fboundp org-finish-function)) (funcall org-finish-function)) ((org-babel-hash-at-point)) ((run-hook-with-args-until-success 'org-ctrl-c-ctrl-c-hook)) (t (let* ((context (org-element-lineage (org-element-context) '(babel-call clock dynamic-block footnote-definition footnote-reference inline-babel-call inline-src-block inlinetask item keyword node-property paragraph plain-list planning property-drawer radio-target src-block statistics-cookie table table-cell table-row timestamp) t)) (radio-list-p (org-at-radio-list-p)) (type (org-element-type context))) (if (eq type 'paragraph) (progn (let ((parent ...)) (if (and ... ...) (progn ... ...))))) (let* ((pcase-1 #'(lambda nil ...)) (pcase-0 #'(lambda nil ...))) (cond ((memq type '...) (let nil (if org-babel-no-eval-on-ctrl-c-ctrl-c nil ... ...))) ((org-match-line "[ \11]*$") (let nil (or ... ...))) ((memq type '...) (let nil (let ... ...))) ((eq type 'clock) (let nil (org-clock-update-time-maybe))) ((eq type 'dynamic-block) (let nil (save-excursion ... ...))) ((eq type 'footnote-definition) (let nil (goto-char ...) (call-interactively ...))) ((eq type 'footnote-reference) (let nil (call-interactively ...))) ((memq type '...) (let nil (save-excursion ... ...))) ((eq type 'item) (let nil (if ... ... ...))) ((eq type 'plain-list) (let nil (if ... ... ...))) ((eq type 'keyword) (let nil (let ... ... ...) (message "Local setup has been refreshed"))) ((memq type '...) (let nil (call-interactively ...))) ((eq type 'radio-target) (let nil (call-interactively ...))) ((eq type 'statistics-cookie) (let nil (call-interactively ...))) ((memq type '...) (let nil (cond ... ... ... ...))) ((eq type 'timestamp) (funcall pcase-1)) ((eq type 'planning) (cond (... ...) (... ...) (t ...))) ((null type) (cond (... ...) (... ...) (t ...))) ((run-hook-with-args-until-success 'org-ctrl-c-ctrl-c-final-hook) 'nil) (t (funcall pcase-0)))))))
  org-ctrl-c-ctrl-c((4))
  funcall-interactively(org-ctrl-c-ctrl-c (4))
  command-execute(org-ctrl-c-ctrl-c)

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

* Re: [PATCH] Have C-c C-c recognise #+plot lines
  2021-04-30 10:59                   ` Eric S Fraga
@ 2021-04-30 12:16                     ` Timothy
  2021-04-30 12:20                       ` Eric S Fraga
  0 siblings, 1 reply; 28+ messages in thread
From: Timothy @ 2021-04-30 12:16 UTC (permalink / raw)
  To: Eric S Fraga; +Cc: Bastien, emacs-orgmode@gnu.org


Eric S Fraga <e.fraga@ucl.ac.uk> writes:

> I have updated org.  Problem persists.
>
> Attached is a full backtrace after hitting C-u C-c C-c on a table.  The
> document itself has 2 headings and a small table.
>
> I unfortunately cannot spend more time on this at the moment as I have a
> presentation to make this afternoon and it's not quite ready...

Thank you for taking the time to check this in what sounds like a busy
day, and the backtrace. It's much appreciated :)

It seems like for you (org-element-property :post-affiliated context)
was unexpectedly nil. (or 0 ...) would be a quick-fix, but I find it odd
that this is a issue, and am yet to be able to reproduce this myself.

Is anybody else willing to try this and weigh in?

--
Timothy

p.s. Good luck with the presentation!


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

* Re: [PATCH] Have C-c C-c recognise #+plot lines
  2021-04-30 12:16                     ` Timothy
@ 2021-04-30 12:20                       ` Eric S Fraga
  0 siblings, 0 replies; 28+ messages in thread
From: Eric S Fraga @ 2021-04-30 12:20 UTC (permalink / raw)
  To: Timothy; +Cc: Bastien, emacs-orgmode@gnu.org

On Friday, 30 Apr 2021 at 20:16, Timothy wrote:
> Thank you for taking the time to check this in what sounds like a busy
> day, and the backtrace. It's much appreciated :)

Thank you.  All days are busy (for all/most of us, I'm sure) but org is
a major part of my day's work so always happy to try to contribute in
some way.

> It seems like for you (org-element-property :post-affiliated context)
> was unexpectedly nil. (or 0 ...) would be a quick-fix, but I find it odd
> that this is a issue, and am yet to be able to reproduce this myself.

It could very well be something I have done (inadvertently, but not
surprisingly).  I don't know what the above means so please suggest what
I can do.  It seems that C-c C-c on a table (no C-u) also fails
sometimes.  So it's probably (likely) me doing something wrong.

> p.s. Good luck with the presentation!

Thank you! :-)

-- 
: Eric S Fraga via Emacs 28.0.50, Org release_9.4.5-394-g7fc090


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

* Re: [PATCH] Have C-c C-c recognise #+plot lines
  2021-04-30 10:55                   ` Eric S Fraga
@ 2021-04-30 12:24                     ` Bastien
  0 siblings, 0 replies; 28+ messages in thread
From: Bastien @ 2021-04-30 12:24 UTC (permalink / raw)
  To: Eric S Fraga; +Cc: emacs-orgmode@gnu.org, Timothy

Eric S Fraga <e.fraga@ucl.ac.uk> writes:

> I get this when I try:

Thanks - I see what's wrong, I'll fix it.

-- 
 Bastien


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

* Re: [PATCH] Have C-c C-c recognise #+plot lines
  2021-04-30  8:17             ` Eric S Fraga
  2021-04-30  8:22               ` Bastien
@ 2021-05-01  6:56               ` Bastien
  2021-05-01  8:40                 ` Eric S Fraga
  1 sibling, 1 reply; 28+ messages in thread
From: Bastien @ 2021-05-01  6:56 UTC (permalink / raw)
  To: Eric S Fraga; +Cc: emacs-orgmode@gnu.org, Timothy

Hi Eric,

Eric S Fraga <e.fraga@ucl.ac.uk> writes:

> On Thursday, 29 Apr 2021 at 02:04, Timothy wrote:
>> Have you had a chance to test this out?
>
> Further on this, I don't have time to debug right now but the patch
> seems to have broken org table recalculation, specifically C-u C-c C-c
> on a table.

I have fixed this with commit ee507de47, can you confirm?

Thanks,

-- 
 Bastien


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

* Re: [PATCH] Have C-c C-c recognise #+plot lines
  2021-05-01  6:56               ` Bastien
@ 2021-05-01  8:40                 ` Eric S Fraga
  2021-05-01  8:52                   ` Bastien
  0 siblings, 1 reply; 28+ messages in thread
From: Eric S Fraga @ 2021-05-01  8:40 UTC (permalink / raw)
  To: Bastien; +Cc: emacs-orgmode@gnu.org, Timothy

Hi Bastien,

On Saturday,  1 May 2021 at 08:56, Bastien wrote:
> I have fixed this with commit ee507de47, can you confirm?

Seems to work just fine now.  Thank you.

-- 
: Eric S Fraga via Emacs 28.0.50, Org release_9.4.5-405-g0a689b


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

* Re: [PATCH] Have C-c C-c recognise #+plot lines
  2021-05-01  8:40                 ` Eric S Fraga
@ 2021-05-01  8:52                   ` Bastien
  0 siblings, 0 replies; 28+ messages in thread
From: Bastien @ 2021-05-01  8:52 UTC (permalink / raw)
  To: Eric S Fraga; +Cc: emacs-orgmode@gnu.org, Timothy

Eric S Fraga <e.fraga@ucl.ac.uk> writes:

> On Saturday,  1 May 2021 at 08:56, Bastien wrote:
>> I have fixed this with commit ee507de47, can you confirm?
>
> Seems to work just fine now.  Thank you.

Thanks for confirming!

-- 
 Bastien


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

end of thread, other threads:[~2021-05-01  8:53 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-25 11:58 org-plot/gnuplot: question and feature suggestions Eric S Fraga
2021-03-25 12:18 ` Eric S Fraga
2021-03-25 12:31 ` Timothy
2021-03-25 14:02   ` Eric S Fraga
2021-04-26 16:24 ` [PATCH] Have C-c C-c recognise #+plot lines Timothy
2021-04-26 17:01   ` Nicolas Goaziou
     [not found] ` <88f6c54a01f345d785492c4d5b3b82d3@VI1PR0102MB3327.eurprd01.prod.exchangelabs.com>
2021-04-26 17:05   ` Eric S Fraga
2021-04-26 17:11     ` Timothy
2021-04-26 17:13       ` Timothy
2021-04-26 17:17         ` Timothy
2021-04-28 18:04           ` Timothy
2021-04-29 11:23             ` Eric S Fraga
2021-04-30  8:17             ` Eric S Fraga
2021-04-30  8:22               ` Bastien
2021-04-30  8:52                 ` Timothy
2021-04-30 10:55                   ` Eric S Fraga
2021-04-30 12:24                     ` Bastien
2021-04-30 10:59                   ` Eric S Fraga
2021-04-30 12:16                     ` Timothy
2021-04-30 12:20                       ` Eric S Fraga
2021-05-01  6:56               ` Bastien
2021-05-01  8:40                 ` Eric S Fraga
2021-05-01  8:52                   ` Bastien
2021-04-30  7:06           ` Timothy
2021-04-30  7:14             ` Bastien
     [not found]     ` <cd035f196ec74353b613018fd4ff86eb@VI1PR0102MB3327.eurprd01.prod.exchangelabs.com>
2021-04-26 21:32       ` Eric S Fraga
2021-04-26 21:33       ` Eric S Fraga
2021-04-27  5:18         ` Bastien

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).