Thank you for the review, Kyle. Another updated patch set is attached. Cheers, Dan On 24/11/2020 06:35, Kyle Meyer wrote: > Daniele Nicolodi writes: > >> Subject: [PATCH 1/3] org-table: Remove unused org-tbl-calc-modes variable >> declaration > > Looks good. > >> Subject: [PATCH 2/3] org-table: Simplify mode string parsing >> and reduce scope of local variables. > [...] >> - (if (string-match ";" formula) >> - (let ((tmp (org-split-string formula ";"))) >> - (setq formula (car tmp) >> - fmt (concat (cdr (assoc "%" org-table-local-parameters)) >> - (nth 1 tmp))) >> + (if (string-match "\\(.*\\);\\(.*\\)" formula) >> + (progn >> + (setq fmt (concat (match-string-no-properties 2 formula) >> + (cdr (assoc "%" org-table-local-parameters)))) > > Hmm, the concat arguments are getting swapped. Intentional? > > The rest looks good. > >> Subject: [PATCH 3/3] org-table: Add mode flag to enable Calc units >> simplification mode >> >> * org-table.el (org-table-eval-formula): Add the `u` mode flag to >> enable Calc's units simplification mode. >> >> * test-org-table.el (test-org-table/mode-string-u): Add Unit test for >> the new mode flag. >> >> * org-manual.org: Document new mode flag. >> --- >> doc/org-manual.org | 8 ++++++++ >> etc/ORG-NEWS | 7 ++++++- >> lisp/org-table.el | 5 +++-- >> testing/lisp/test-org-table.el | 12 ++++++++++++ >> 4 files changed, 29 insertions(+), 3 deletions(-) > > Thanks for the additions. > >> diff --git a/doc/org-manual.org b/doc/org-manual.org >> index be69996d5..70b748fc7 100644 >> --- a/doc/org-manual.org >> +++ b/doc/org-manual.org >> @@ -2075,6 +2075,14 @@ variable ~org-calc-default-modes~. >> >> Fraction and symbolic modes of Calc. >> >> +- =u= :: >> + >> + Units simplification mode of Calc. Calc is also a symbolic > > convention nit: two spaces after a period > >> + calculator and is capable of working with values having an unit >> + (numerals followed by an unit string in Org table cells). This mode >> + instructs Calc to simplify the units in the computed expression >> + before returning the result. >> + >> - =T=, =t=, =U= :: >> >> Duration computations in Calc or Lisp, [[*Durations and time values]]. >> diff --git a/etc/ORG-NEWS b/etc/ORG-NEWS >> index 889eb4aab..6f6db8e43 100644 >> --- a/etc/ORG-NEWS >> +++ b/etc/ORG-NEWS >> @@ -60,7 +60,7 @@ relative links within a project as follows: >> #+end_src >> >> ** New features >> -*** =ob-python= improvements to =:return= header argument >> +*** =ob-python= improvements to =:return= header argument > > unrelated space change > >> The =:return= header argument in =ob-python= now works for session >> blocks as well as non-session blocks. Also, it now works with the >> @@ -112,6 +112,11 @@ package, to convert pandas Dataframes into orgmode tables: >> | 2 | 3 | 6 | >> #+end_src >> >> +*** New =u= table formula flag to enable Calc units simplification mode >> + >> +A new =u= mode flat for Calc formulas in Org tables has been added to >> +enable Calc units simplification mode. > > s/flat/flag/ >