emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Orgmode] Bug: capture with PROPERTIES [7.3 commit-972b0a58...]


From: Carsten Dominik
Subject: Re: [Orgmode] Bug: capture with PROPERTIES [7.3 commit-972b0a58...]
Date: Tue, 4 Jan 2011 13:57:24 +0100

Hi Giovanny,

you are using the property prompt in an incorrect way.

The %^{Element}p can be anywhere in the template.  It
will be removed *entirely*, and a corresponding property
will be added in the property drawer.  So you are not
supposed to put this on a line by itself inside a
property drawer, because removing the % prompt will
then leave an empty line.  In fact, supplying the
drawer is not necessary at all, it will be created
as needed.  So if you were to prompt for all
properties, you could write the template it like this:

*** %^{prompt}
%^{ID}p %^{Element}p %^{Number}p %^{Type}p %^{Feeling}p %^{Comment}p

But since you want to put some properties in later
by hand, your template should probably look like this:

*** %^{prompt}
    %^{Element}p %^{Number}p %^{Type}p
    :PROPERTIES:
    :ID: lab
    :Feeling: %?
    :Comment:
    :END:

But in this case you are not in control of the sequence in
which these properties will end up in the drawer.  For maximum
control, you might want to use a normal prompt for the values,
avoiding the property prompt interface entirely:

*** %^{prompt}
    :PROPERTIES:
    :ID: lab
    :Element: %^{Element}
    :Number: %^{Number}
    :Type: %^{Type}
    :Feeling: %?
    :Comment:
    :END:

Note the missing "p" after the %{...} prompts.

Hope this helps.  Maybe you want to suggest a patch
for the manual to make this clearer?

- Carsten


On Dec 10, 2010, at 1:10 PM, Giovanni Ridolfi wrote:


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

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

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

Emacs  : GNU Emacs 23.2.1 (i386-mingw-nt5.1.2600)
of 2010-05-08 on G41R2F1
Package: Org-mode version 7.3 commit-972b0a581eff180bcdc15883d2fe30c4cc24996a


Hello everyone,

I found a bug in the insertion of PROPERTies in capture templates.

------------------------ TEST FILE: ------------------
    -*- mode: org; -*-

(setq org-capture-templates
'(
("q" "element" entry (file+headline "test.org" "capture") "*** %^{prompt} \n :PROPERTIES:\n :ID: lab \n %^{Element}p \n %^{Number}p \n %^{Type}p \n :Feeling: %? \n :Comment: \n :END:"
)
))
* capture
:PROPERTIES:
:Element_ALL: H He Li Na Hg
:Number_ALL:  1  2  3 4  80
:Type_ALL: gas solid liquid
:END:

-----------------------------------
1. set my capture template
2. call capture template.
3. Enter headline: "first test", <RET>
  so far so good.
4. Now you are requested to insert a PROPERTY
  and the buffer appears as:

-------------------- 4th  step --------------
***  first test
:PROPERTIES:
:ID: lab

%^{Number}p
%^{Type}p
:Feeling: %?
:Comment:
:END:
----------------------
Value for Element:  ||   cursor is here
--------------------
------------------------------------------------

5. enter He <RET>

BUG: the layout of the buffer is broken:

---------------------------
*** first test
:PROPERTIES:
:ID: lab
                     -------|  a blank line is here
                            |
%^{Type}p                   |
:Feeling: %?                |
:Comment:                   |
:Element:  He       <-------|  the property is inserted here!
:END:
----------------------
Value for Number:  ||   (cursor is here)
---------------------------------------------------------

The line of the property is inserted at the end
of the Properties drawer, but before :END:.

Not where the prompt was, and where I expected to find it.

----------------------- A complete test: ----------
** second test
:PROPERTIES:
:ID: lab
  .                   I put the "." to highligh the eol
 .
 .
:Feeling: mickey mouse[1]
:Comment:
:Element:  He
:Number:   2
:Type:     gas
:END:
[1] http://www.ncbi.nlm.nih.gov/pmc/articles/PMC1117755/
----------------------------

cheers,
Giovanni

current state:
==============
(setq
org-log-done 'time
org-export-latex-after-initial-vars-hook '(org-beamer-after-initial- vars) org-speed-command-hook '(org-speed-command-default-hook org-babel- speed-command-hook)
org-blocker-hook '(org-block-todo-from-children-or-siblings-or-parent)
org-metaup-hook '(org-babel-load-in-session-maybe)
org-capture-templates '(("q" "element" entry (file+headline "test.org" "capture") "*** %^{prompt} \n :PROPERTIES:\n :ID: lab \n %^{Element}p \n %^{Number}p \n %^{Type}p \n :Feeling: %? \n :Comment: \n :END:")
                         )
org-after-todo-state-change-hook '(org-clock-out-if-current)
org-export-blocks-postblock-hook '(org-exp-res/src-name-cleanup)
org-export-latex-format-toc-function 'org-export-latex-format-toc- default
org-capture-before-finalize-hook '(org-clock-in)
org-tab-first-hook '(org-hide-block-toggle-maybe org-src-native-tab- command-maybe org-babel-hide-result-toggle-maybe) org-src-mode-hook '(org-src-babel-configure-edit-buffer org-src-mode- configure-edit-buffer)
org-finalize-agenda-hook '(my-org-agenda-to-appt)
org-confirm-shell-link-function 'yes-or-no-p
org-export-first-hook '(org-beamer-initialize-open-trackers)
org-agenda-before-write-hook '(org-agenda-add-entry-text)
org-babel-pre-tangle-hook '(save-buffer)
org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-hide- drawers org-cycle-show-empty-lines
                  org-optimize-window-after-visibility-change)
org-export-preprocess-before-normalizing-links-hook '(org-remove- file-link-modifiers)
org-mode-hook '((lambda nil
(org-add-hook (quote change-major-mode-hook) (quote org-show- block-all) (quote append) (quote local)))
                 (lambda nil
(org-add-hook (quote change-major-mode-hook) (quote org-babel- show-result-all) (quote append)
                   (quote local))
                  )
                 org-babel-result-hide-spec org-babel-hide-all-hashes)
org-ctrl-c-ctrl-c-hook '(org-babel-hash-at-point org-babel-execute- safely-maybe)
org-confirm-elisp-link-function 'yes-or-no-p
org-export-interblocks '((lob org-babel-exp-lob-one-liners) (src org- babel-exp-inline-src-blocks))
org-enforce-todo-dependencies t
org-occur-hook '(org-first-headline-recenter)
org-export-preprocess-before-selecting-backend-code-hook '(org- beamer-select-beamer-code) org-export-latex-final-hook '(org-beamer-amend-header org-beamer-fix- toc org-beamer-auto-fragile-frames
                               org-beamer-place-default-actions-for-lists)
org-metadown-hook '(org-babel-pop-to-session-maybe)
org-export-blocks '((src org-babel-exp-src-blocks nil) (comment org- export-blocks-format-comment t) (ditaa org-export-blocks-format-ditaa nil) (dot org-export- blocks-format-dot nil))
)

_______________________________________________
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
address@hidden
http://lists.gnu.org/mailman/listinfo/emacs-orgmode

- Carsten






reply via email to

[Prev in Thread] Current Thread [Next in Thread]