Re: [O] Bug: Operator associativity problem [9.1.9 (release_9.1.9-65-g5e4542 @ /usr/share/emacs/26.1/lisp/org/)]

2019-09-26 Thread Robert Pluim
> On Wed, 25 Sep 2019 20:16:26 +0200, Justus Winter 
>  said:

Justus> "Fraga, Eric"  writes:
>> On Wednesday, 25 Sep 2019 at 11:50, Justus Winter wrote:
>>> I noticed a operator associativity problem when evaluating formulas in
>>> tables.  To reproduce, enter:
>>> 
>>> | :=6/2*3 |
>>> 
>>> And evaluate the formula.  This results in:
>>> 
>>> | 1 |
>>> #+TBLFM: @1$1=6/2*3
>> 
>> Yes, this is a property (feature, ?) of Emacs Calc.

Justus> Wow!  Re-reading the org-mode documentation I see that it is 
prominently
Justus> mentioned indeed, and that it is an precedence thing, not an
Justus> associativity one.

See 'calc-multiplication-has-precedence'

Robert


signature.asc
Description: PGP signature


Re: [O] Bug: Operator associativity problem [9.1.9 (release_9.1.9-65-g5e4542 @ /usr/share/emacs/26.1/lisp/org/)]

2019-09-25 Thread Fraga, Eric
On Wednesday, 25 Sep 2019 at 20:16, Justus Winter wrote:
> However, I cannot fathom the rationale behind this property, and for a
> spreadsheet-like application I consider it borderline negligent.

Not my place to defend (or otherwise) the decisions that went into defining the 
grammar for Calc.  However, there is no single universal precedence definition 
for algebraic expressions.  People do write, e.g. in heat transfer 
applications, W/m^2 K to mean W/(m^2 K) which is not the precedence you believe 
should be implemented.  Just because Excel, say, implements something does not 
make it negligent for others to implement something different.

As a mathematician, I always write my expressions as, for instance, W m^{-2} 
K^{-1} both in practice and when teaching to avoid all doubt.

-- 
Eric S Fraga via Emacs 27.0.50, Org release_9.2.4-401-gfabd6d



Re: [O] Bug: Operator associativity problem [9.1.9 (release_9.1.9-65-g5e4542 @ /usr/share/emacs/26.1/lisp/org/)]

2019-09-25 Thread Justus Winter
"Fraga, Eric"  writes:

> On Wednesday, 25 Sep 2019 at 11:50, Justus Winter wrote:
>> I noticed a operator associativity problem when evaluating formulas in
>> tables.  To reproduce, enter:
>>
>> | :=6/2*3 |
>>
>> And evaluate the formula.  This results in:
>>
>> | 1 |
>> #+TBLFM: @1$1=6/2*3
>
> Yes, this is a property (feature, ?) of Emacs Calc.

Wow!  Re-reading the org-mode documentation I see that it is prominently
mentioned indeed, and that it is an precedence thing, not an
associativity one.

However, I cannot fathom the rationale behind this property, and for a
spreadsheet-like application I consider it borderline negligent.

Thanks,
Justus


signature.asc
Description: PGP signature


Re: [O] Bug: Operator associativity problem [9.1.9 (release_9.1.9-65-g5e4542 @ /usr/share/emacs/26.1/lisp/org/)]

2019-09-25 Thread Fraga, Eric
On Wednesday, 25 Sep 2019 at 11:50, Justus Winter wrote:
> I noticed a operator associativity problem when evaluating formulas in
> tables.  To reproduce, enter:
>
> | :=6/2*3 |
>
> And evaluate the formula.  This results in:
>
> | 1 |
> #+TBLFM: @1$1=6/2*3

Yes, this is a property (feature, ?) of Emacs Calc.

-- 
Eric S Fraga via Emacs 27.0.50, Org release_9.2.4-401-gfabd6d



[O] Bug: Operator associativity problem [9.1.9 (release_9.1.9-65-g5e4542 @ /usr/share/emacs/26.1/lisp/org/)]

2019-09-25 Thread Justus Winter



Remember to cover the basics, that is, what you expected to happen and
what in fact did happen.  You don't know how to make a good report?  See

 https://orgmode.org/manual/Feedback.html#Feedback

Your bug report will be posted to the Org mailing list.


I noticed a operator associativity problem when evaluating formulas in
tables.  To reproduce, enter:

| :=6/2*3 |

And evaluate the formula.  This results in:

| 1 |
#+TBLFM: @1$1=6/2*3

Whereas AIUI it should be 9:

% gcc -x c - <<< 'int main() { return 6/2*3; }' && ./a.out ; echo $?
9
% python -c 'print(6/2*3)'
9

Emacs  : GNU Emacs 26.1 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.4)
 of 2019-02-03, modified by Debian
Package: Org mode version 9.1.9 (release_9.1.9-65-g5e4542 @ 
/usr/share/emacs/26.1/lisp/org/)

current state:
==
(setq
 org-src-mode-hook '(org-src-babel-configure-edit-buffer
 org-src-mode-configure-edit-buffer)
 org-after-todo-state-change-hook '(org-clock-out-if-current)
 org-metadown-hook '(org-babel-pop-to-session-maybe)
 org-clock-out-hook '(org-clock-remove-empty-clock-drawer)
 org-mode-hook '(#[0 "\300\301\302\303\304$\207"
   [add-hook change-major-mode-hook org-show-block-all append
local]
   5]
 #[0 "\300\301\302\303\304$\207"
   [add-hook change-major-mode-hook org-babel-show-result-all
append local]
   5]
 org-babel-result-hide-spec org-babel-hide-all-hashes)
 org-archive-hook '(org-attach-archive-delete-maybe)
 org-confirm-elisp-link-function 'yes-or-no-p
 org-agenda-before-write-hook '(org-agenda-add-entry-text)
 org-metaup-hook '(org-babel-load-in-session-maybe)
 org-bibtex-headline-format-function #[257 "\300\236A\207" [:title] 3 "\n\n(fn 
ENTRY)"]
 org-babel-pre-tangle-hook '(save-buffer)
 org-tab-first-hook '(org-babel-hide-result-toggle-maybe
  org-babel-header-arg-expand)
 org-occur-hook '(org-first-headline-recenter)
 org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-hide-drawers
  org-cycle-show-empty-lines
  org-optimize-window-after-visibility-change)
 org-speed-command-hook '(org-speed-command-activate
  org-babel-speed-command-activate)
 org-confirm-shell-link-function 'yes-or-no-p
 org-link-parameters '(("id" :follow org-id-open)
   ("rmail" :follow org-rmail-open :store
org-rmail-store-link)
   ("mhe" :follow org-mhe-open :store org-mhe-store-link)
   ("irc" :follow org-irc-visit :store org-irc-store-link)
   ("info" :follow org-info-open :export org-info-export
:store org-info-store-link)
   ("gnus" :follow org-gnus-open :store
org-gnus-store-link)
   ("docview" :follow org-docview-open :export
org-docview-export :store org-docview-store-link)
   ("bibtex" :follow org-bibtex-open :store
org-bibtex-store-link)
   ("bbdb" :follow org-bbdb-open :export org-bbdb-export
:complete org-bbdb-complete-link :store
org-bbdb-store-link)
   ("w3m" :store org-w3m-store-link) ("file+sys")
   ("file+emacs") ("doi" :follow org--open-doi-link)
   ("elisp" :follow org--open-elisp-link)
   ("file" :complete org-file-complete-link)
   ("ftp" :follow
(lambda (path) (browse-url (concat "ftp:" path
   ("help" :follow org--open-help-link)
   ("http" :follow
(lambda (path) (browse-url (concat "http:" path
   ("https" :follow
(lambda (path) (browse-url (concat "https:" path
   ("mailto" :follow
(lambda (path) (browse-url (concat "mailto:; path
   ("news" :follow
(lambda (path) (browse-url (concat "news:; path
   ("shell" :follow org--open-shell-link))
 )