emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* [BUG] Plain capture template clocks into following headline instead of given olp [9.5.1 (release_9.5.1-15-gdb4805 @ /usr/share/emacs/29.0.50/lisp/org/)]
@ 2021-12-07 11:12 Michael Eliachevitch
  2021-12-07 12:43 ` Colin Baxter 😺
  2021-12-19 13:08 ` Ihor Radchenko
  0 siblings, 2 replies; 8+ messages in thread
From: Michael Eliachevitch @ 2021-12-07 11:12 UTC (permalink / raw)
  To: emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 6556 bytes --]

Hello,

I found  a potential bug in org which I can reproduce with a 
minimal configuration.

I added some org-capture templates purely for clocking into tasks 
via the capture-menu. These capture templates are for things I 
want to time-track but don't want to create a special entry for 
(like eating and breaks), so I used the `plain' type with an empty 
`""' template hoping it would clock into the given olp:

(setq org-capture-templates
    '(( "c" "clock into")
        ("cu" "Unintended" plain
        (file+olp "~/org/clock_test.org" "Time sinks" 
        "Unintended")
        "" :clock-in t :clock-keep t :immediate-finish t)
        ("ce" "Eating" plain
        (file+olp "~/org/clock_test.org" "Time sinks" "Eating")
        "" :clock-in t :clock-keep t :immediate-finish t)))

My `clock_test.org' has the following headings:

* Time sinks
** Unintended
** Eating

*The BUG:* When I then run `org-capture' with "cu" to clock into 
 "Unintended", emacs actually clocks into "Eating". I get the same 
 with an file+headline configuration. I can reproduce it with 
 `emacs -q' where I just load the capture-template above.

My assumption is that the clock-in function expects that a new 
entry is created with the capture template and then it 
automatically clocks into the entry, but maybe clocking into the 
the parent olp of an empty plain entry is not the intended 
purpose. In any way, even if I didn't use it according to the 
intended purpose, I still think it's a bug that it clocks into the 
following heading.

I would suggest that if in the scope of the captured entry there 
is nothing to clock into, either clock into the parent or just 
give a warning that there is nothing to clock into.

By the way, unrelated to the bug, but if you have alternative 
ideas how I should achieve my goal of easily clocking into 
non-tasks I would be happy about suggestings. Maybe I could do 
something like a hydra menu with some small elisp-code, but I just 
thought using the existing capture-functionality should be 
simplest.

Below is my emacs and org configuration from 
`org-submit-bug-report' from my `emacs -q' session. I recently 
compiled the latest version of the feature/pgtk branch  and have 
native compilation enabled, which I used to compile the latest 
version of org, but I think the behavior that I observed.

Cheers,
Michael Eliachevitch
------------------------------------------------------------------------



Emacs  : GNU Emacs 29.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ 
Version 3.24.30, cairo version 1.17.4)
 of 2021-12-06
Package: Org mode version 9.5.1 (release_9.5.1-15-gdb4805 @ 
/usr/share/emacs/29.0.50/lisp/org/)

current state:
==============
(setq
 org-link-elisp-confirm-function 'yes-or-no-p
 org-bibtex-headline-format-function #[257 "\300\236A\207" 
 [:title] 3 "\n\n(fn ENTRY)"]
 org-capture-templates '(("c" "clock into")
			 ("cu" "Unintended" plain (file+olp 
			 "~/org/clock_test.org" "Time sinks" 
			 "Unintended") ""
			  :clock-in t :clock-keep t 
			  :immediate-finish t)
			 ("ce" "Eating" plain (file+olp 
			 "~/org/clock_test.org" "Time sinks" 
			 "Eating") "" :clock-in
			  t :clock-keep t :immediate-finish t)
			 )
 org-export-before-parsing-hook '(org-attach-expand-links)
 org-archive-hook '(org-attach-archive-delete-maybe)
 org-cycle-hook '(org-cycle-hide-archived-subtrees 
 org-cycle-hide-drawers org-cycle-show-empty-lines
		  org-optimize-window-after-visibility-change)
 org-mode-hook '(#[0 "\300\301\302\303\304$\207" [add-hook 
 change-major-mode-hook org-show-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-confirm-shell-link-function 'yes-or-no-p
 outline-isearch-open-invisible-function 
 'outline-isearch-open-invisible
 org-agenda-before-write-hook '(org-agenda-add-entry-text)
 org-src-mode-hook '(org-src-babel-configure-edit-buffer 
 org-src-mode-configure-edit-buffer)
 org-confirm-elisp-link-function 'yes-or-no-p
 org-speed-command-hook '(org-speed-command-activate 
 org-babel-speed-command-activate)
 org-tab-first-hook '(org-babel-hide-result-toggle-maybe 
 org-babel-header-arg-expand)
 org-link-shell-confirm-function 'yes-or-no-p
 org-babel-pre-tangle-hook '(save-buffer)
 org-agenda-loop-over-headlines-in-active-region nil
 org-occur-hook '(org-first-headline-recenter)
 org-metadown-hook '(org-babel-pop-to-session-maybe)
 org-link-parameters '(("attachment" :follow org-attach-follow 
 :complete org-attach-complete-link)
		       ("id" :follow org-id-open) ("eww" :follow 
		       org-eww-open :store org-eww-store-link)
		       ("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 :export org-irc-export)
		       ("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)
		       ("doi" :follow org-link-doi-open :export 
		       org-link-doi-export) ("file+sys") 
		       ("file+emacs")
		       ("shell" :follow org-link--open-shell)
		       ("news" :follow
			#[514 "\301\300\302Q\"\207" ["news" 
                         browse-url ":"] 6 "\n\n(fn URL ARG)"])
		       ("mailto" :follow
			#[514 "\301\300\302Q\"\207" ["mailto" 
                         browse-url ":"] 6 "\n\n(fn URL ARG)"])
		       ("https" :follow
			#[514 "\301\300\302Q\"\207" ["https" 
                         browse-url ":"] 6 "\n\n(fn URL ARG)"])
		       ("http" :follow
			#[514 "\301\300\302Q\"\207" ["http" 
                         browse-url ":"] 6 "\n\n(fn URL ARG)"])
		       ("ftp" :follow #[514 "\301\300\302Q\"\207" 
		       ["ftp" browse-url ":"] 6 "\n\n(fn URL 
		       ARG)"])
		       ("help" :follow org-link--open-help :store 
		       org-link--store-help)
		       ("file" :complete org-link-complete-file) 
		       ("elisp" :follow org-link--open-elisp))
 org-metaup-hook '(org-babel-load-in-session-maybe)
 )

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 519 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [BUG] Plain capture template clocks into following headline instead of given olp [9.5.1 (release_9.5.1-15-gdb4805 @ /usr/share/emacs/29.0.50/lisp/org/)]
  2021-12-07 11:12 [BUG] Plain capture template clocks into following headline instead of given olp [9.5.1 (release_9.5.1-15-gdb4805 @ /usr/share/emacs/29.0.50/lisp/org/)] Michael Eliachevitch
@ 2021-12-07 12:43 ` Colin Baxter 😺
  2021-12-07 18:54   ` Michael Eliachevitch
  2021-12-19 13:08 ` Ihor Radchenko
  1 sibling, 1 reply; 8+ messages in thread
From: Colin Baxter 😺 @ 2021-12-07 12:43 UTC (permalink / raw)
  To: Michael Eliachevitch; +Cc: emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 1173 bytes --]


Hello Michael,
>>>>> Michael Eliachevitch <m.eliachevitch@posteo.de> writes:

    > Hello, I found a potential bug in org which I can reproduce with a
    > minimal configuration.

    > I added some org-capture templates purely for clocking into tasks
    > via the capture-menu. These capture templates are for things I
    > want to time-track but don't want to create a special entry for
    > (like eating and breaks), so I used the `plain' type with an empty
    > `""' template hoping it would clock into the given olp:

    > (setq org-capture-templates '(( "c" "clock into") ("cu"
    > "Unintended" plain (file+olp "~/org/clock_test.org" "Time sinks"
    > "Unintended") "" :clock-in t :clock-keep t :immediate-finish t)
    > ("ce" "Eating" plain (file+olp "~/org/clock_test.org" "Time sinks"
    > "Eating") "" :clock-in t :clock-keep t :immediate-finish t)))

    > My `clock_test.org' has the following headings:

    > * Time sinks ** Unintended ** Eating

This is amazing. I have run into exactly the same problem. I was
wondering whether to report it!

Oh, and I can reproduce the bug with your ECM.

Thanks for reporting it.

Best wishes,

Colin Baxter.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 511 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [BUG] Plain capture template clocks into following headline instead of given olp [9.5.1 (release_9.5.1-15-gdb4805 @ /usr/share/emacs/29.0.50/lisp/org/)]
  2021-12-07 12:43 ` Colin Baxter 😺
@ 2021-12-07 18:54   ` Michael Eliachevitch
  2021-12-08  7:28     ` Colin Baxter 😺
  0 siblings, 1 reply; 8+ messages in thread
From: Michael Eliachevitch @ 2021-12-07 18:54 UTC (permalink / raw)
  To: Colin Baxter 😺; +Cc: emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 825 bytes --]

Hello Colin,

> This is amazing. I have run into exactly the same problem. I was
> wondering whether to report it!
>
> Oh, and I can reproduce the bug with your ECM.

Glad that I'm not alone. When you say you ran into this, is this 
something that appeared to you in a recent org-version for 
existing capture templates which worked in older versions? Or is 
this a behavior that has been always there for capture-templates 
with :clock-in?

When I have time I might try if I can hack something to fix this, 
but not sure if I have time as I'm quite busy with my PhD 
currently. Btw, I'm not sure what the procedure following the bug 
report will be, as I'm quite new here on the mailing list and am 
still more used to working with github-issues etc, but I guess 
patience is key in an open source project.

Cheers, Michael

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 519 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [BUG] Plain capture template clocks into following headline instead of given olp [9.5.1 (release_9.5.1-15-gdb4805 @ /usr/share/emacs/29.0.50/lisp/org/)]
  2021-12-07 18:54   ` Michael Eliachevitch
@ 2021-12-08  7:28     ` Colin Baxter 😺
  2021-12-08  7:48       ` Ihor Radchenko
  0 siblings, 1 reply; 8+ messages in thread
From: Colin Baxter 😺 @ 2021-12-08  7:28 UTC (permalink / raw)
  To: Michael Eliachevitch; +Cc: emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 1589 bytes --]

Hello Michael,

>>>>> Michael Eliachevitch <m.eliachevitch@posteo.de> writes:

    > Hello Colin,
    >> This is amazing. I have run into exactly the same problem. I was
    >> wondering whether to report it!
    >> 
    >> Oh, and I can reproduce the bug with your ECM.

    > Glad that I'm not alone. When you say you ran into this, is this
    > something that appeared to you in a recent org-version for
    > existing capture templates which worked in older versions? Or is
    > this a behavior that has been always there for capture-templates
    > with :clock-in?

A couple of night ago, I thought I'd try experimenting with my
org-capture setup. I normally have a menu with single letter choices and
no hierarchy. I wrote a couple of lines, very similar to yours, but
couldn't get it to work. I thought it simply indicative of my ignorance
of lisp (which is profound!) and abandoned the experiment. I use org-mode
version 9.5.1 and I got the same results with emacs-28.0.90, 29.0.50 and
(I think) 27.2.

    > When I have time I might try if I can hack something to fix this,
    > but not sure if I have time as I'm quite busy with my PhD
    > currently. Btw, I'm not sure what the procedure following the bug
    > report will be, as I'm quite new here on the mailing list and am
    > still more used to working with github-issues etc, but I guess
    > patience is key in an open source project.

If you get no response on this org-mode list, perhaps re-submit it as a
normal emacs bug (M-x report-emacs-bug <RET>).

Best wishes,

Colin.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 511 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [BUG] Plain capture template clocks into following headline instead of given olp [9.5.1 (release_9.5.1-15-gdb4805 @ /usr/share/emacs/29.0.50/lisp/org/)]
  2021-12-08  7:28     ` Colin Baxter 😺
@ 2021-12-08  7:48       ` Ihor Radchenko
  2021-12-08  8:17         ` Colin Baxter 😺
  0 siblings, 1 reply; 8+ messages in thread
From: Ihor Radchenko @ 2021-12-08  7:48 UTC (permalink / raw)
  To: Colin Baxter 😺; +Cc: emacs-orgmode, Michael Eliachevitch

Colin Baxter 😺 <m43cap@yandex.com> writes:

> If you get no response on this org-mode list, perhaps re-submit it as a
> normal emacs bug (M-x report-emacs-bug <RET>).

That's not a good idea. org-mode related staff is just forwarded back to
this list (but not even always).

Just wait a bit until someone get free time to look into your report.

Best,
Ihor


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [BUG] Plain capture template clocks into following headline instead of given olp [9.5.1 (release_9.5.1-15-gdb4805 @ /usr/share/emacs/29.0.50/lisp/org/)]
  2021-12-08  7:48       ` Ihor Radchenko
@ 2021-12-08  8:17         ` Colin Baxter 😺
  0 siblings, 0 replies; 8+ messages in thread
From: Colin Baxter 😺 @ 2021-12-08  8:17 UTC (permalink / raw)
  To: Ihor Radchenko; +Cc: emacs-orgmode, Michael Eliachevitch

>>>>> Ihor Radchenko <yantar92@gmail.com> writes:

    > Colin Baxter 😺 <m43cap@yandex.com> writes:
    >> If you get no response on this org-mode list, perhaps re-submit
    >> it as a normal emacs bug (M-x report-emacs-bug <RET>).

    > That's not a good idea. org-mode related staff is just forwarded
    > back to this list (but not even always).

Ah, I didn't know that - thanks.

    > Just wait a bit until someone get free time to look into your
    > report.


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [BUG] Plain capture template clocks into following headline instead of given olp [9.5.1 (release_9.5.1-15-gdb4805 @ /usr/share/emacs/29.0.50/lisp/org/)]
  2021-12-07 11:12 [BUG] Plain capture template clocks into following headline instead of given olp [9.5.1 (release_9.5.1-15-gdb4805 @ /usr/share/emacs/29.0.50/lisp/org/)] Michael Eliachevitch
  2021-12-07 12:43 ` Colin Baxter 😺
@ 2021-12-19 13:08 ` Ihor Radchenko
  2022-05-15  6:18   ` Ihor Radchenko
  1 sibling, 1 reply; 8+ messages in thread
From: Ihor Radchenko @ 2021-12-19 13:08 UTC (permalink / raw)
  To: Michael Eliachevitch; +Cc: emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 192 bytes --]

Michael Eliachevitch <m.eliachevitch@posteo.de> writes:

> I found  a potential bug in org which I can reproduce with a 
> minimal configuration.

Can you try the attached patch?

Best,
Ihor


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-org-clock.el-Consider-clocking-in-in-an-empty-narrow.patch --]
[-- Type: text/x-diff, Size: 1057 bytes --]

From c0e5f708a2b027ca701267bca383d367b7fee51f Mon Sep 17 00:00:00 2001
Message-Id: <c0e5f708a2b027ca701267bca383d367b7fee51f.1639919253.git.yantar92@gmail.com>
From: Ihor Radchenko <yantar92@gmail.com>
Date: Sun, 19 Dec 2021 21:05:37 +0800
Subject: [PATCH] org-clock.el: Consider clocking-in in an empty narrowed
 buffer

* lisp/org-clock.el (org-clock-in): Fix wrong calculation of
TARGET-POS when we are inside an empty narrowing.

Fixes https://orgmode.org/list/87tufktz5z.fsf@posteo.de
---
 lisp/org-clock.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lisp/org-clock.el b/lisp/org-clock.el
index e6c7568a6..51a2019d0 100644
--- a/lisp/org-clock.el
+++ b/lisp/org-clock.el
@@ -1322,7 +1322,7 @@ (defun org-clock-in (&optional select start-time)
       ;; Clock in at which position?
       (setq target-pos
 	    (if (and (eobp) (not (org-at-heading-p)))
-		(point-at-bol 0)
+		(org-with-wide-buffer (point-at-bol 0))
 	      (point)))
       (save-excursion
 	(when (and selected-task (marker-buffer selected-task))
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [BUG] Plain capture template clocks into following headline instead of given olp [9.5.1 (release_9.5.1-15-gdb4805 @ /usr/share/emacs/29.0.50/lisp/org/)]
  2021-12-19 13:08 ` Ihor Radchenko
@ 2022-05-15  6:18   ` Ihor Radchenko
  0 siblings, 0 replies; 8+ messages in thread
From: Ihor Radchenko @ 2022-05-15  6:18 UTC (permalink / raw)
  To: Michael Eliachevitch; +Cc: emacs-orgmode

Ihor Radchenko <yantar92@gmail.com> writes:

> Michael Eliachevitch <m.eliachevitch@posteo.de> writes:
>
>> I found  a potential bug in org which I can reproduce with a 
>> minimal configuration.
>
> Can you try the attached patch?

Since the patch fixes the problem on my side, I just applied it
upstream.

Fixed.
Applied onto main via 5c14a1734.

Best,
Ihor


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2022-05-15  6:19 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-07 11:12 [BUG] Plain capture template clocks into following headline instead of given olp [9.5.1 (release_9.5.1-15-gdb4805 @ /usr/share/emacs/29.0.50/lisp/org/)] Michael Eliachevitch
2021-12-07 12:43 ` Colin Baxter 😺
2021-12-07 18:54   ` Michael Eliachevitch
2021-12-08  7:28     ` Colin Baxter 😺
2021-12-08  7:48       ` Ihor Radchenko
2021-12-08  8:17         ` Colin Baxter 😺
2021-12-19 13:08 ` Ihor Radchenko
2022-05-15  6:18   ` Ihor Radchenko

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).