emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Nicolas Goaziou <n.goaziou@gmail.com>
To: Matt Lundin <mdl@imapmail.org>
Cc: Org Mode <emacs-orgmode@gnu.org>
Subject: Re: Point jumps when changing timestamps
Date: Fri, 05 Aug 2011 10:47:27 +0200	[thread overview]
Message-ID: <87ipqcgs80.fsf@gmail.com> (raw)
In-Reply-To: <8739hh10d7.fsf@fastmail.fm> (Matt Lundin's message of "Thu, 04 Aug 2011 13:45:56 -0500")

Matt Lundin <mdl@imapmail.org> writes:

> I realize that I can change a scheduled timestamp with C-s C-s, and I
> often do. But I often find myself needing to move appointments such as
> the following back and forward a day:
>
> * An appointment
>   <2011-08-04 Thu +1w>
>
> If I am on the headline, the easiest way (for me) to navigate to the
> headline is C-n C-e. Then I can type S-left or S-right and quickly move
> through the dates; the cursor, moreover, will be in a convenient
> position for typing RET and adding a line of notes. This, for me, is a
> bit more convenient than typing C-n C-3 C-f or C-s <, etc.

Ok, it may be convenient in that specific case, but it still looks like
a hack to me. Another solution would be to implement a function to
navigate between time-stamps, similar to `org-next-link'. One can even
generalize this function to move to the next non-structural element
(time-stamp, link, footnote, latex snippet, emphasized text)[1].

> From a UI perspective, however, I would suggest that a bit looser
> behavior adds some convenience to org-mode. For instance C-c C-o will
> currently open a link if the cursor is at the point before or after
> it.
>
>   [[http://www.google.com]]
>  ^ here                    ^ here

This is different. `org-open-at-point' is an end-user function, whereas
`org-at-timestamp-p' isn't. I don't think predicates should be sloppy:
I don't want to implement `org-really-at-timestamp-p'.

Furthermore, being loose isn't always convenient. In the following
example, where will I go if I use C-c C-o on the space between the two
links?

    [[http://www.google.com][Google]] [[http://www.bing.com][Bing]]

I'd suggest to fix `org-at-timestamp-p', and allow, if it must be,
sloppiness in `org-shiftleft' and friends.

    
Regards,


Footnotes:

[1] This and a convenient paragraph motion command could be the roots
of an interesting Org parser.


-- 
Nicolas Goaziou

  reply	other threads:[~2011-08-05  8:48 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-03 14:18 Point jumps when changing timestamps Matt Lundin
2011-08-04 16:01 ` Nicolas Goaziou
2011-08-04 16:39   ` Matt Lundin
2011-08-04 18:06     ` Nicolas Goaziou
2011-08-04 18:45       ` Matt Lundin
2011-08-05  8:47         ` Nicolas Goaziou [this message]
2011-08-05 14:08           ` Matt Lundin
2011-08-15  8:22             ` Bastien
2011-08-15  8:11           ` Bastien

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=87ipqcgs80.fsf@gmail.com \
    --to=n.goaziou@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    --cc=mdl@imapmail.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).