From: Nicolas Goaziou <mail@nicolasgoaziou.fr>
To: Rasmus <rasmus@gmx.us>
Cc: emacs-orgmode@gnu.org
Subject: Re: A Microsoftesque detail in org
Date: Sat, 16 May 2015 10:05:35 +0200 [thread overview]
Message-ID: <87k2w99cc0.fsf@nicolasgoaziou.fr> (raw)
In-Reply-To: <87lhgqxeq0.fsf@gmx.us> (rasmus@gmx.us's message of "Fri, 15 May 2015 13:27:51 +0200")
Hello,
Rasmus <rasmus@gmx.us> writes:
> The attached patch re-enables breaks in region four of
> org-complex-heading-regexp, i.e. from the cookie up to tags. A quick test
> suggests it works nicely.
Thank you.
> WDYT?
Some comments follow.
> Subject: [PATCH 2/2] org.el: RET works in headline text
>
> * org.el (org-return): RET works in headline text.
"RET breaks headline text" may be more accurate.
> + (let* ((context (if org-return-follows-link (org-element-context)
> + (org-element-at-point)))
> + (type (org-element-type context)))
> + (cond
> + ;; At a headline
> + ((and (eq type 'headline) (not (bolp)))
You are removing an optimization here.
Checking if point is on a headline/inlinetask doesn't require to use
`org-element-at-point'/`org-element-context'. It is faster to simply
check for `org-outline-regexp' (or derived) at bol.
This optimization is less important than it used to be, now that
properties drawers are at a fixed location. Nevertheless, it might be
worth keeping it in mind.
> + (org-show-entry)
> + (let ((string ""))
> + (unless (and (save-excursion
> + (beginning-of-line)
> + (looking-at org-complex-heading-regexp))
> + (or (and (match-beginning 3)
> + (< (point)
> + (save-excursion
> + (goto-char (match-beginning 4))
> + (skip-chars-backward " \t")
> + (point))))
> + (and (match-beginning 5)
> + (>= (point) (match-beginning 5)))))
> + ;; Point is on headline keywords, tags or cookies. Do not break
> + ;; them: add a newline after the headline instead.
> + (setq string (delete-and-extract-region
> + (point) (or (match-beginning 5)
> + (line-end-position))))
The `setq' is not necessary here. Bind it within `let' instead.
> + (when (match-beginning 5)
> + (insert (make-string (length string) ?\ ))))
?\ -> ?\s
If you add this feature, please augment `test-org/return' from
"test-org.el" accordingly.
Regards,
--
Nicolas Goaziou
next prev parent reply other threads:[~2015-05-16 8:04 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-15 9:35 A Microsoftesque detail in org Jarmo Hurri
2015-05-15 9:57 ` Rainer M Krug
2015-05-15 11:16 ` Doug Lewan
2015-05-15 11:27 ` Rasmus
2015-05-16 8:05 ` Nicolas Goaziou [this message]
2015-05-16 15:28 ` Rasmus
2015-05-16 17:26 ` Titus von der Malsburg
2015-05-16 19:00 ` Rasmus
2015-05-16 21:43 ` Titus von der Malsburg
2015-05-17 13:25 ` Rasmus
2015-05-17 20:24 ` Jarmo Hurri
2015-05-17 21:15 ` Rasmus
2015-05-18 0:39 ` Titus von der Malsburg
2015-05-18 3:40 ` Thomas S. Dye
2015-05-18 12:15 ` Jarmo Hurri
2015-05-18 8:33 ` Brett Witty
2015-05-18 9:02 ` Rainer M Krug
2015-05-18 9:48 ` Rasmus
2015-05-18 11:29 ` Rainer M Krug
2015-05-18 13:07 ` William Denton
2015-05-18 14:37 ` Suvayu Ali
2015-05-18 15:39 ` Rasmus
2015-05-19 9:39 ` Suvayu Ali
2015-05-20 23:04 ` Rasmus
2015-05-15 19:29 ` Titus von der Malsburg
2015-05-15 20:27 ` Thomas S. Dye
2015-05-16 3:43 ` Bob Newell
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=87k2w99cc0.fsf@nicolasgoaziou.fr \
--to=mail@nicolasgoaziou.fr \
--cc=emacs-orgmode@gnu.org \
--cc=rasmus@gmx.us \
/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).