[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Quick math calc on any buffer
|
From: |
Chetan |
|
Subject: |
Re: Quick math calc on any buffer |
|
Date: |
Tue, 24 Feb 2009 16:22:14 -0800 |
|
User-agent: |
Emacs Gnus |
Marc Tfardy <address@hidden> writes:
> Chetan schrieb:
>> Scott Frazer <address@hidden> writes:
>>
>>> On Feb 21, 11:42 am, Rodrigo Lazo <address@hidden> wrote:
>>>> Hi all,
>>>>
>>>> Is there a way to compute a math expression on any buffer? I mean, if I
>>>> have a buffer with the following expression
>>>>
>>>> 2 + 3
>>>>
>>>> I want to mark the region and compute the result
>>>>
>>>> 2 + 3 = 5
>>>>
>>>> It doesn't seems too hard to do, I've looked on calculator.el for a
>>>> "computing" function I can call but I didn't find it.
>>>>
>>> (defun my-calc-result (beg end)
>>> (interactive "r")
>>> (insert " = " (calc-eval (buffer-substring beg end))))
>
>> This makes me wonder, is there a rewriter of math expressions,
>> something like a macro that can rewrite the arithmetic expression as
>> regular lisp function calls?
>
> Yes. See my last post before. The call:
>
> (math-read-exprs "2 + 3")
>
> gives:
>
> ((+ 2 3))
>
> This was my attempt in my version of my-calc-result.
>
> reagrds
> Marc
I was thinking more like
(expr 2 + 3 + value) => (+ 2 3 value)
or (expr a + b * c) => (+ a (* b c))
which is, perhaps, simpler than reading from a string.