emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Carsten Dominik <carsten.dominik@gmail.com>
To: Eddward DeVilla <eddward@gmail.com>
Cc: org-mode list <emacs-orgmode@gnu.org>
Subject: Re: property constants in elisp formulas
Date: Tue, 23 Oct 2007 07:10:54 +0200	[thread overview]
Message-ID: <0B360E2E-8D16-4FDA-883E-8A245EEB9848@science.uva.nl> (raw)
In-Reply-To: <b71b18520710191332w1f7fbc38m68d0d74860dfb7a7@mail.gmail.com>

I believe you can, yes.  Why don;y you just try and watch the effect
by turning on formula debugging?

BTW, 5.13d omits the parenthesis in Lisp formula interpolation...

- Carsten

On Oct 19, 2007, at 10:32 PM, Eddward DeVilla wrote:

> Now, just as a stupid question, if I put a lisp expression into a
> property, can I use it in a formula?
>
> ===== sample ========
> * top
>   :PROPERTIES:
>   :fives:    (0  8  16)
>   :fours:    (2  18 58)
>   :threes:   (6  11 33)
>   :twos:     (3  13 36)
>   :ones:     (0  13 59)
>   :zeros:    (0  6  23)
>   :null:     (17 8  59)
>   :END:
>
> *** test 1
>     |   | day | hour | minute |
>     |---+-----+------+--------|
>     | # |   0 |    8 |     16 |
>     | # |   2 |   18 |     58 |
>     | # |   6 |   11 |     33 |
>     | # |   3 |   13 |     36 |
>     | # |   0 |   13 |     59 |
>     | # |   0 |    6 |     23 |
>     | # |  17 |    8 |     59 |
> #+TBLFM: @2$2='(car   '$PROP_fives)::@2$3='(cadr
> '$PROP_fives)::@2$4='(caddr '$PROP_fives)::@3$2='(car
> '$PROP_fours)::@3$3='(cadr  '$PROP_fours)::@3$4='(caddr
> '$PROP_fours)::@4$2='(car   '$PROP_threes)::@4$3='(cadr
> '$PROP_threes)::@4$4='(caddr '$PROP_threes)::@5$2='(car
> '$PROP_twos)::@5$3='(cadr  '$PROP_twos)::@5$4='(caddr
> '$PROP_twos)::@6$2='(car   '$PROP_ones)::@6$3='(cadr
> '$PROP_ones)::@6$4='(caddr '$PROP_ones)::@7$2='(car
> '$PROP_zeros)::@7$3='(cadr  '$PROP_zeros)::@7$4='(caddr
> '$PROP_zeros)::@8$2='(car   '$PROP_null)::@8$3='(cadr
> '$PROP_null)::@8$4='(caddr '$PROP_null)
>
> ==========================
>
> Also, in the above example, the property values were aligned for me.
> In my previous example, that didn't happen.  It seems that the
> alignment code does like underscores in names
>
> ===== sample ======
> * top
>   :PROPERTIES:
>   :fives:    0  8  16
>   :d_5: 0
>   :fours:    2  18 58
>   :END:
>
> =================
>
> Lastly, since I'm whining, there's a bug in the formula editor that
> I'm not sure if I've mentioned before.  Edit the table below with C-c
> '.  The '(@-I$2..$2) will become '(@-I$2..B&) which causes #ERRORs.
>
> ====== sample =======
> * top
>   :PROPERTIES:
>   :fives:    0  8  16
>   :fours:    2  18 58
>   :threes:   6  11 33
>   :twos:     3  13 36
>   :ones:     0  13 59
>   :zeros:    0  6  23
>   :null:     17 8  59
>   :END:
>
> *** test 2
>     |   | day |    |
>     |---+-----+----|
>     | # |   0 |  0 |
>     | # |   2 |  2 |
>     | # |   6 |  8 |
>     | # |   3 | 11 |
>     | # |   0 | 11 |
>     | # |   0 | 11 |
>     | # |  17 | 28 |
> #+TBLFM: $3='(apply '+ '(@-I$2..$2));N::@2$2='(car
> '$PROP_fives)::@3$2='(car   '$PROP_fours)::@4$2='(car
> '$PROP_threes)::@5$2='(car   '$PROP_twos)::@6$2='(car
> '$PROP_ones)::@7$2='(car   '$PROP_zeros)::@8$2='(car   '$PROP_null)
>
> ====================
>
> Edd
>
> On 10/19/07, Carsten Dominik <dominik@science.uva.nl> wrote:
>> You are right, there should be no parenthesis in Lisp interpolation.
>> Will be fixed in 5.14.
>>
>> - Carsten
>>
>> On Oct 19, 2007, at 0:06, Eddward DeVilla wrote:
>>
>>> Hi,
>>>
>>>     Is there a better way to do this?
>>>
>>> ===== sample file =====
>>> * top
>>>   :PROPERTIES:
>>>   :d_5: 0
>>>   :h_5: 8
>>>   :m_5: 16
>>>   :d_4: 2
>>>   :h_4: 18
>>>   :m_4: 58
>>>   :d_3: 6
>>>   :h_3: 11
>>>   :m_3: 33
>>>   :d_2: 3
>>>   :h_2: 13
>>>   :m_2: 36
>>>   :d_1: 0
>>>   :h_1: 13
>>>   :m_1: 59
>>>   :d_0: 0
>>>   :h_0: 6
>>>   :m_0: 23
>>>   :d_n: 17
>>>   :h_n: 8
>>>   :m_n: 59
>>>   :END:
>>>
>>> *** test
>>> |   | day | hour | minute |
>>> |---+-----+------+--------|
>>> | # |   0 |    8 |     16 |
>>> | # |   2 |   18 |     58 |
>>> | # |   6 |   11 |     33 |
>>> | # |   3 |   13 |     36 |
>>> | # |   0 |   13 |     59 |
>>> | # |   0 |    6 |     23 |
>>> | # |  17 |    8 |     59 |
>>> #+TBLFM: @2$2='(car '$PROP_d_5)::@2$3='(car '$PROP_h_5)::@2$4='(car
>>> '$PROP_m_5)::@3$2='(car '$PROP_d_4)::@3$3='(car
>>> '$PROP_h_4)::@3$4='(car '$PROP_m_4)::@4$2='(car
>>> '$PROP_d_3)::@4$3='(car '$PROP_h_3)::@4$4='(car
>>> '$PROP_m_3)::@5$2='(car '$PROP_d_2)::@5$3='(car
>>> '$PROP_h_2)::@5$4='(car '$PROP_m_2)::@6$2='(car
>>> '$PROP_d_1)::@6$3='(car '$PROP_h_1)::@6$4='(car
>>> '$PROP_m_1)::@7$2='(car '$PROP_d_0)::@7$3='(car
>>> '$PROP_h_0)::@7$4='(car '$PROP_m_0)::@8$2='(car
>>> '$PROP_d_n)::@8$3='(car '$PROP_h_n)::@8$4='(car '$PROP_m_n)
>>>
>>> ====================
>>>
>>> Specifically, is there a better way to get at a property constant  
>>> with
>>> an elisp formula?  It seems the value is automatically put in parens
>>> such that $h_3 is (11) which is a little awkward.  On the other  
>>> hand,
>>> maybe I can use that to store a list in a property.
>>>
>>> Edd
>>>
>>>
>>> _______________________________________________
>>> Emacs-orgmode mailing list
>>> Remember: use `Reply All' to send replies to the list.
>>> Emacs-orgmode@gnu.org
>>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
>>>
>>>
>>
>> --
>> Carsten Dominik
>> Sterrenkundig Instituut "Anton Pannekoek"
>> Universiteit van Amsterdam
>> Kruislaan 403
>> NL-1098SJ Amsterdam
>> phone: +31 20 525 7477
>>
>>
>

  reply	other threads:[~2007-10-23  6:12 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-10-18 22:06 property constants in elisp formulas Eddward DeVilla
2007-10-19 16:11 ` Carsten Dominik
2007-10-19 20:32   ` Eddward DeVilla
2007-10-23  5:10     ` Carsten Dominik [this message]
2007-10-23 15:06       ` Eddward DeVilla
2007-11-01  8:36         ` Carsten Dominik
2007-11-03  0:37           ` Eddward DeVilla
2007-11-05 18:20             ` Eddward DeVilla

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=0B360E2E-8D16-4FDA-883E-8A245EEB9848@science.uva.nl \
    --to=carsten.dominik@gmail.com \
    --cc=eddward@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).