emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* [BUG] Point position with org-open-at-point on a heading [9.6.6 (release_9.6.6 @ /usr/local/share/emacs/29.1/lisp/org/)]
@ 2023-09-22 18:42 Gustavo Barros
  2023-09-23  8:33 ` [FR] Should we preserve point when calling `org-open-at-point' (C-c C-o) on a heading (was: [BUG] Point position with org-open-at-point on a heading [9.6.6 (release_9.6.6 @ /usr/local/share/emacs/29.1/lisp/org/)]) Ihor Radchenko
  0 siblings, 1 reply; 6+ messages in thread
From: Gustavo Barros @ 2023-09-22 18:42 UTC (permalink / raw)
  To: org-mode list

Hi All,

When point is on a heading, `org-open-at-point' offers to open links
in the subtree. This is a very useful feature, and I use it a lot.
However, in this case, `org-open-at-point' not only opens the link,
but also moves point to said link. Perhaps there's some reason why
point is not preserved in this case. But for me at least, this is not
what I'd expect, and I find it somewhat disrupting, especially when
I'm working on a folded tree (defeats speed keys, etc.).

A simple test file to reproduce the described behavior:

#+begin_src org
,* Heading

Foo.

https://orgmode.org/

Bar.
#+end_src

How about adding a `save-excursion' for this case inside `org-open-at-point'?

Best regards,
Gustavo.


Emacs  : GNU Emacs 29.1 (build 2, x86_64-pc-linux-gnu, GTK+ Version
3.24.33, cairo version 1.16.0)
 of 2023-07-30
Package: Org mode version 9.6.6 (release_9.6.6 @
/usr/local/share/emacs/29.1/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-persist-after-read-hook '(org-element--cache-persist-after-read)
 org-export-before-parsing-hook '(org-attach-expand-links)
 org-cycle-tab-first-hook '(org-babel-hide-result-toggle-maybe
                org-babel-header-arg-expand)
 org-archive-hook '(org-attach-archive-delete-maybe)
 org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-show-empty-lines
          org-cycle-optimize-window-after-visibility-change
          org-cycle-display-inline-images)
 org-persist-before-read-hook '(org-element--cache-persist-before-read)
 org-mode-hook '(#[0 "\300\301\302\303\304$\207"
           [add-hook change-major-mode-hook org-fold-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-persist-directory "/tmp/org-persist-IhBaHK"
 org-fold-core-isearch-open-function 'org-fold--isearch-reveal
 org-persist-before-write-hook '(org-element--cache-persist-before-write)
 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 :insert-description
            org-info-description-as-command)
               ("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\302 Q \"\207"
              ["news" browse-url ":"] 6 "\n\n(fn URL ARG)"]
            )
               ("mailto" :follow
            #[514 "\301\300\302 Q \"\207"
              ["mailto" browse-url ":"] 6 "\n\n(fn URL ARG)"]
            )
               ("https" :follow
            #[514 "\301\300\302 Q \"\207"
              ["https" browse-url ":"] 6 "\n\n(fn URL ARG)"]
            )
               ("http" :follow
            #[514 "\301\300\302 Q \"\207"
              ["http" browse-url ":"] 6 "\n\n(fn URL ARG)"]
            )
               ("ftp" :follow
            #[514 "\301\300\302 Q \"\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)
 )


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

* [FR] Should we preserve point when calling `org-open-at-point' (C-c C-o) on a heading (was: [BUG] Point position with org-open-at-point on a heading [9.6.6 (release_9.6.6 @ /usr/local/share/emacs/29.1/lisp/org/)])
  2023-09-22 18:42 [BUG] Point position with org-open-at-point on a heading [9.6.6 (release_9.6.6 @ /usr/local/share/emacs/29.1/lisp/org/)] Gustavo Barros
@ 2023-09-23  8:33 ` Ihor Radchenko
  2023-09-23 10:23   ` Gustavo Barros
  2023-09-23 15:11   ` Max Nikulin
  0 siblings, 2 replies; 6+ messages in thread
From: Ihor Radchenko @ 2023-09-23  8:33 UTC (permalink / raw)
  To: Gustavo Barros; +Cc: org-mode list

Gustavo Barros <gusbrs.2016@gmail.com> writes:

> When point is on a heading, `org-open-at-point' offers to open links
> in the subtree. This is a very useful feature, and I use it a lot.
> However, in this case, `org-open-at-point' not only opens the link,
> but also moves point to said link. Perhaps there's some reason why
> point is not preserved in this case. But for me at least, this is not
> what I'd expect, and I find it somewhat disrupting, especially when
> I'm working on a folded tree (defeats speed keys, etc.).

I see no particular reason.

> How about adding a `save-excursion' for this case inside `org-open-at-point'?

+1.
But maybe others have objections.

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>


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

* Re: [FR] Should we preserve point when calling `org-open-at-point' (C-c C-o) on a heading (was: [BUG] Point position with org-open-at-point on a heading [9.6.6 (release_9.6.6 @ /usr/local/share/emacs/29.1/lisp/org/)])
  2023-09-23  8:33 ` [FR] Should we preserve point when calling `org-open-at-point' (C-c C-o) on a heading (was: [BUG] Point position with org-open-at-point on a heading [9.6.6 (release_9.6.6 @ /usr/local/share/emacs/29.1/lisp/org/)]) Ihor Radchenko
@ 2023-09-23 10:23   ` Gustavo Barros
  2023-09-23 15:11   ` Max Nikulin
  1 sibling, 0 replies; 6+ messages in thread
From: Gustavo Barros @ 2023-09-23 10:23 UTC (permalink / raw)
  To: Ihor Radchenko; +Cc: org-mode list

Hi Ihor,

On Sat, 23 Sept 2023 at 05:32, Ihor Radchenko <yantar92@posteo.net> wrote:
>
> I see no particular reason.
>

Thanks for the reply.

> +1.
> But maybe others have objections.

And for the support. :-)

Best,
Gustavo.


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

* Re: [FR] Should we preserve point when calling `org-open-at-point' (C-c C-o) on a heading (was: [BUG] Point position with org-open-at-point on a heading [9.6.6 (release_9.6.6 @ /usr/local/share/emacs/29.1/lisp/org/)])
  2023-09-23  8:33 ` [FR] Should we preserve point when calling `org-open-at-point' (C-c C-o) on a heading (was: [BUG] Point position with org-open-at-point on a heading [9.6.6 (release_9.6.6 @ /usr/local/share/emacs/29.1/lisp/org/)]) Ihor Radchenko
  2023-09-23 10:23   ` Gustavo Barros
@ 2023-09-23 15:11   ` Max Nikulin
  2023-09-24 11:00     ` Ihor Radchenko
  1 sibling, 1 reply; 6+ messages in thread
From: Max Nikulin @ 2023-09-23 15:11 UTC (permalink / raw)
  To: emacs-orgmode

On 23/09/2023 15:33, Ihor Radchenko wrote:
> Gustavo Barros writes:
>> Perhaps there's some reason why
>> point is not preserved in this case. But for me at least, this is not
>> what I'd expect, and I find it somewhat disrupting, especially when
>> I'm working on a folded tree (defeats speed keys, etc.).
> 
> I see no particular reason.

Maybe the following is a false alarm. I hope `save-excursion' will not 
break the "RET to open all" option, `org-open-at-point' is called 
recursively this case.

I am not an active user of this feature. I tried it likely in the 
context of another discussion and faced some issues. Perhaps that 
heading had several links to other locations in the same file and I did 
not get a window per link.




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

* Re: [FR] Should we preserve point when calling `org-open-at-point' (C-c C-o) on a heading (was: [BUG] Point position with org-open-at-point on a heading [9.6.6 (release_9.6.6 @ /usr/local/share/emacs/29.1/lisp/org/)])
  2023-09-23 15:11   ` Max Nikulin
@ 2023-09-24 11:00     ` Ihor Radchenko
  2023-10-23 11:32       ` Ihor Radchenko
  0 siblings, 1 reply; 6+ messages in thread
From: Ihor Radchenko @ 2023-09-24 11:00 UTC (permalink / raw)
  To: Max Nikulin; +Cc: emacs-orgmode

Max Nikulin <manikulin@gmail.com> writes:

> On 23/09/2023 15:33, Ihor Radchenko wrote:
>> Gustavo Barros writes:
>>> Perhaps there's some reason why
>>> point is not preserved in this case. But for me at least, this is not
>>> what I'd expect, and I find it somewhat disrupting, especially when
>>> I'm working on a folded tree (defeats speed keys, etc.).
>> 
>> I see no particular reason.
>
> Maybe the following is a false alarm. I hope `save-excursion' will not 
> break the "RET to open all" option, `org-open-at-point' is called 
> recursively this case.

"Open all" is broken now.

That said, your concern is valid - if we open internal link, it will be
expected the point jumps to that link rather than staying on the
heading.

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>


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

* Re: [FR] Should we preserve point when calling `org-open-at-point' (C-c C-o) on a heading (was: [BUG] Point position with org-open-at-point on a heading [9.6.6 (release_9.6.6 @ /usr/local/share/emacs/29.1/lisp/org/)])
  2023-09-24 11:00     ` Ihor Radchenko
@ 2023-10-23 11:32       ` Ihor Radchenko
  0 siblings, 0 replies; 6+ messages in thread
From: Ihor Radchenko @ 2023-10-23 11:32 UTC (permalink / raw)
  To: Max Nikulin; +Cc: emacs-orgmode

Ihor Radchenko <yantar92@posteo.net> writes:

>>>> Perhaps there's some reason why
>>>> point is not preserved in this case. But for me at least, this is not
>>>> what I'd expect, and I find it somewhat disrupting, especially when
>>>> I'm working on a folded tree (defeats speed keys, etc.).
>>> 
>>> I see no particular reason.
>>
>> Maybe the following is a false alarm. I hope `save-excursion' will not 
>> break the "RET to open all" option, `org-open-at-point' is called 
>> recursively this case.
>
> "Open all" is broken now.
>
> That said, your concern is valid - if we open internal link, it will be
> expected the point jumps to that link rather than staying on the
> heading.

I believe that I now addressed all the concerns:
1. Point position is not preserved by default.
2. When a link being open moved point in current buffer, we do allow
   changing the position.
3. When multiple links are open, things should not be broken.
4. When multiple links are open and some of them (more than 1) also move
   point, we move point to the position defined by the last of such
   links.

Fixed, on main.
https://git.savannah.gnu.org/cgit/emacs/org-mode.git/commit/?id=098f08159

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>


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

end of thread, other threads:[~2023-10-23 11:32 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-09-22 18:42 [BUG] Point position with org-open-at-point on a heading [9.6.6 (release_9.6.6 @ /usr/local/share/emacs/29.1/lisp/org/)] Gustavo Barros
2023-09-23  8:33 ` [FR] Should we preserve point when calling `org-open-at-point' (C-c C-o) on a heading (was: [BUG] Point position with org-open-at-point on a heading [9.6.6 (release_9.6.6 @ /usr/local/share/emacs/29.1/lisp/org/)]) Ihor Radchenko
2023-09-23 10:23   ` Gustavo Barros
2023-09-23 15:11   ` Max Nikulin
2023-09-24 11:00     ` Ihor Radchenko
2023-10-23 11:32       ` 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).