emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Ihor Radchenko <yantar92@posteo.net>
To: 倉成智久 <tomohisa.kuranari@gmail.com>
Cc: emacs-orgmode@gnu.org
Subject: Re: [PATCH] Fix org-[beginning|end]-of-line with arguments
Date: Thu, 05 Oct 2023 10:04:54 +0000	[thread overview]
Message-ID: <87edi9jsft.fsf@localhost> (raw)
In-Reply-To: <CAL-TYF4vz6t4MuOSisY8g5v-87iUzZu_Fm22dxJoujj14po0RA@mail.gmail.com>

倉成智久 <tomohisa.kuranari@gmail.com> writes:

> In the current implementation, org-special-ctrl-a/e may not operate as expected.
> For example, executing (org-beginning-of-line 2) relocates the cursor
> to the start of the line, rather than after the heading symbols even
> if org-special-ctrl-a/e is t.
> (Movements to prior lines, such as (org-beginning-of-line 0), function
> correctly.)

> This is my first patch submission. If there are any shortcomings or
> additional requirements needed, please do not hesitate to inform me. I
> am open to feedback and willing to make any necessary adjustments.

Thanks for the patch, and especially for providing tests!
See my comments below.

> Subject: [PATCH] lisp/org.el: Fix the issue with argumented function calls

The above message is not very clear. It would be better if you summarize
the commit purpose more precisely. For example,
"org-beginning/end-of-line: Fix when moving to different line"

> * lisp/org.el (org-beginning-of-line, org-end-of-line): Fix issue with org-special-ctrl-a/e not working correctly when moving with arguments

Please, quote Elisp symbols like `org-special-ctrl-a/e'. Also, we
usually limit the line width to default `fill-column'.

> -	  (when (or (> origin refpos) (= origin bol))
> +	  (when (or (> origin refpos)
> +		    (= origin bol)
> +		    (/= (line-number-at-pos origin) (line-number-at-pos bol)))

This will work, but I am not a big fan of using `line-number-at-pos' -
it is rather slow. May simply check (< origin bol)

> -	  (when (or (> origin after-bullet) (= (point) origin))
> +	  (when (or (> origin after-bullet)
> +		    (= (point) origin)
> +		    (/= (line-number-at-pos origin) (line-number-at-pos (point))))

Same here - (< origin (point))

> -	       (if (or (< origin tags) (= origin (line-end-position)))
> +	       (if (or (< origin tags)
> +		       (= origin (line-end-position))
> +		       (/= (line-number-at-pos origin) (line-number-at-pos (point))))

(> origin (line-end-position))

Finally, your patch is on the edge of legally allowed contribution we are
allowed to accept without copyright assignment. You may consider signing
the copyright form as described in
https://orgmode.org/worg/org-contribute.html#copyright. Or you can add
"TINYCHANGE" to the commit message (see
https://orgmode.org/worg/org-contribute.html#first-patch)

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


  reply	other threads:[~2023-10-05 10:04 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-26 14:38 [PATCH] Fix org-[beginning|end]-of-line with arguments 倉成智久
2023-10-05 10:04 ` Ihor Radchenko [this message]
2023-10-08 14:23   ` Tomohisa Kuranari
2023-11-07  9:50     ` Ihor Radchenko
2023-11-07 10:12       ` Bastien Guerry
2023-11-07 10:56         ` Ihor Radchenko
2023-11-07 14:38           ` Tomohisa Kuranari

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=87edi9jsft.fsf@localhost \
    --to=yantar92@posteo.net \
    --cc=emacs-orgmode@gnu.org \
    --cc=tomohisa.kuranari@gmail.com \
    /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).