Hi Nicolas,
thank you for
looking into this.
To reproduce the
error I have to use file+function target. There is no error if I
use file+headline target.
Here is an ECM:
#+begin_src org
* Setup
#+begin_src emacs-lisp
(setq org-capture-template nil)
(setq
org-capture-templates
'(("x" "Testing" table-line (file+function
"~/tmp/capture-bug/ecm.org" th:test-capture)
"| | | %^{Arzt/Apotheke} |"
:table-line-pos "III-1" :immediate-finish t)))
(defun th:test-capture ()
"Sets point to headline"
(interactive)
(goto-char (point-min))
(org-speed-move-safe (quote org-next-visible-heading)))
#+end_src
* testing capture
|---+-----------------+------|
| ! | Datum | Arzt |
|---+-----------------+------|
| | | |
|---+-----------------+------|
| # | | |
|---+-----------------+------|
#+end_src
The function "th:test-capture" sets
point to beginning of headline "testing capture".
I experimented with several point
positions (end of the headline, line below headline). But none
worked. The error stayed the same.
And here is the backtrace:
Debugger entered--Lisp error: (error "Capture template ‘hr’:
integer-or-marker-p")
signal(error ("Capture template ‘hr’: integer-or-marker-p"))
error("Capture template `%s': %s" "hr" integer-or-marker-p)
(condition-case error (org-capture-place-template (eq (car
(org-capture-get :target)) (quote function))) ((error quit)
(if (and (buffer-base-buffer (current-buffer))
(string-prefix-p "CAPTURE-" (buffer-name))) (kill-buffer
(current-buffer))) (set-window-configuration (org-capture-get
:return-to-wconf)) (error "Capture template `%s': %s"
(org-capture-get :key) (nth 1 error))))
(if (equal goto 0) (org-capture-insert-template-here)
(condition-case error (org-capture-place-template (eq (car
(org-capture-get :target)) (quote function))) ((error quit)
(if (and (buffer-base-buffer (current-buffer))
(string-prefix-p "CAPTURE-" (buffer-name))) (kill-buffer
(current-buffer))) (set-window-configuration (org-capture-get
:return-to-wconf)) (error "Capture template `%s': %s"
(org-capture-get :key) (nth 1 error)))) (if (and
(derived-mode-p (quote org-mode)) (org-capture-get :clock-in))
(condition-case nil (progn (if (org-clock-is-active)
(org-capture-put :interrupted-clock (copy-marker
org-clock-marker))) (org-clock-in) (set (make-local-variable
(quote org-capture-clock-was-started)) t)) (error "Could not
start the clock in this capture buffer"))) (if
(org-capture-get :immediate-finish) (org-capture-finalize)))
(cond ((equal entry "C") (customize-variable (quote
org-capture-templates))) ((equal entry "q") (user-error
"Abort")) (t (org-capture-set-plist entry)
(org-capture-get-template) (org-capture-put :original-buffer
orig-buf :original-file (or (buffer-file-name orig-buf) (and
(featurep (quote dired)) (car (rassq orig-buf
dired-buffers)))) :original-file-nondirectory (and
(buffer-file-name orig-buf) (file-name-nondirectory
(buffer-file-name orig-buf))) :annotation annotation :initial
initial :return-to-wconf (current-window-configuration)
:default-time (or org-overriding-default-time
(org-current-time))) (org-capture-set-target-location)
(condition-case error (org-capture-put :template
(org-capture-fill-template)) ((error quit) (if (get-buffer
"*Capture*") (kill-buffer "*Capture*")) (error "Capture abort:
%s" error))) (setq org-capture-clock-keep (org-capture-get
:clock-keep)) (if (equal goto 0)
(org-capture-insert-template-here) (condition-case error
(org-capture-place-template (eq (car (org-capture-get
:target)) (quote function))) ((error quit) (if (and
(buffer-base-buffer ...) (string-prefix-p "CAPTURE-" ...))
(kill-buffer (current-buffer))) (set-window-configuration
(org-capture-get :return-to-wconf)) (error "Capture template
`%s': %s" (org-capture-get :key) (nth 1 error)))) (if (and
(derived-mode-p (quote org-mode)) (org-capture-get :clock-in))
(condition-case nil (progn (if (org-clock-is-active)
(org-capture-put :interrupted-clock ...)) (org-clock-in) (set
(make-local-variable ...) t)) (error "Could not start the
clock in this capture buffer"))) (if (org-capture-get
:immediate-finish) (org-capture-finalize)))))
(let* ((orig-buf (current-buffer)) (annotation (if (and
(boundp (quote org-capture-link-is-already-stored))
org-capture-link-is-already-stored) (plist-get
org-store-link-plist :annotation) (condition-case nil (progn
(org-store-link nil)) (error nil)))) (entry (or
org-capture-entry (org-capture-select-template keys)))
initial) (setq initial (or org-capture-initial (and
(org-region-active-p) (buffer-substring (point) (mark))))) (if
(stringp initial) (progn (remove-text-properties 0 (length
initial) (quote (read-only t)) initial))) (if (stringp
annotation) (progn (remove-text-properties 0 (length
annotation) (quote (read-only t)) annotation))) (cond ((equal
entry "C") (customize-variable (quote org-capture-templates)))
((equal entry "q") (user-error "Abort")) (t
(org-capture-set-plist entry) (org-capture-get-template)
(org-capture-put :original-buffer orig-buf :original-file (or
(buffer-file-name orig-buf) (and (featurep (quote dired)) (car
(rassq orig-buf dired-buffers)))) :original-file-nondirectory
(and (buffer-file-name orig-buf) (file-name-nondirectory
(buffer-file-name orig-buf))) :annotation annotation :initial
initial :return-to-wconf (current-window-configuration)
:default-time (or org-overriding-default-time
(org-current-time))) (org-capture-set-target-location)
(condition-case error (org-capture-put :template
(org-capture-fill-template)) ((error quit) (if (get-buffer
"*Capture*") (kill-buffer "*Capture*")) (error "Capture abort:
%s" error))) (setq org-capture-clock-keep (org-capture-get
:clock-keep)) (if (equal goto 0)
(org-capture-insert-template-here) (condition-case error
(org-capture-place-template (eq (car ...) (quote function)))
((error quit) (if (and ... ...) (kill-buffer ...))
(set-window-configuration (org-capture-get :return-to-wconf))
(error "Capture template `%s': %s" (org-capture-get :key) (nth
1 error)))) (if (and (derived-mode-p (quote org-mode))
(org-capture-get :clock-in)) (condition-case nil (progn (if
... ...) (org-clock-in) (set ... t)) (error "Could not start
the clock in this capture buffer"))) (if (org-capture-get
:immediate-finish) (org-capture-finalize))))))
(cond ((equal goto (quote (4))) (org-capture-goto-target))
((equal goto (quote (16))) (org-capture-goto-last-stored)) (t
(let* ((orig-buf (current-buffer)) (annotation (if (and
(boundp ...) org-capture-link-is-already-stored) (plist-get
org-store-link-plist :annotation) (condition-case nil (progn
...) (error nil)))) (entry (or org-capture-entry
(org-capture-select-template keys))) initial) (setq initial
(or org-capture-initial (and (org-region-active-p)
(buffer-substring (point) (mark))))) (if (stringp initial)
(progn (remove-text-properties 0 (length initial) (quote
(read-only t)) initial))) (if (stringp annotation) (progn
(remove-text-properties 0 (length annotation) (quote
(read-only t)) annotation))) (cond ((equal entry "C")
(customize-variable (quote org-capture-templates))) ((equal
entry "q") (user-error "Abort")) (t (org-capture-set-plist
entry) (org-capture-get-template) (org-capture-put
:original-buffer orig-buf :original-file (or (buffer-file-name
orig-buf) (and ... ...)) :original-file-nondirectory (and
(buffer-file-name orig-buf) (file-name-nondirectory ...))
:annotation annotation :initial initial :return-to-wconf
(current-window-configuration) :default-time (or
org-overriding-default-time (org-current-time)))
(org-capture-set-target-location) (condition-case error
(org-capture-put :template (org-capture-fill-template))
((error quit) (if ... ...) (error "Capture abort: %s" error)))
(setq org-capture-clock-keep (org-capture-get :clock-keep))
(if (equal goto 0) (org-capture-insert-template-here)
(condition-case error (org-capture-place-template ...) (...
... ... ...)) (if (and ... ...) (condition-case nil ... ...))
(if (org-capture-get :immediate-finish)
(org-capture-finalize))))))))
org-capture(nil)
funcall-interactively(org-capture nil)
#<subr call-interactively>(org-capture nil nil)
apply(#<subr call-interactively> org-capture (nil
nil))
address@hidden(#<subr
call-interactively> org-capture nil nil)
apply(address@hidden
#<subr call-interactively> (org-capture nil nil))
call-interactively(org-capture nil nil)
command-execute(org-capture)
--
Thomas
Am 16.05.2018 um 21:55 schrieb Nicolas
Goaziou:
Hello,
Thomas Holst <address@hidden> writes:
I have among other the following template:
#+begin_src emacs-lisp
("hr" "Rechnung erfassen" table-line
� (file+function "~/git/org-priv/Univ_Beih.org"
th:capure-find-open-vers-regn)
� "| # | %^u | %^{Arzt/Apotheke} | %^{fr wen|Lida|Oleg|Victor|Simon}
| %^{Betrag} | %^u | | [[file:%c][link Beleg]] |"
� :table-line-pos "III-1" :immediate-finish t)
#+end_src
With org-mode from git I get an error when using this template:
: condition-case: Capture template ‘hr’: integer-or-marker-p
I have too little information to reproduce the problem.
Could you provide a minimal example, i.e., no custom function like
`th:capure-find-open-vers-regn' and a minimal document where this table
line is going to be inserted.
Also, I would need the backtrace.
Thank you.
Was there a change in the syntax I missed?
No, there wasn't.
Regards,