emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Stefan Monnier <monnier@iro.umontreal.ca>
To: "Vincent Belaïche" <vincent.b.1@hotmail.fr>
Cc: emacs-devel@gnu.org, Org mode <emacs-orgmode@gnu.org>,
	Karl Berry <karl@freefriends.org>
Subject: Re: Alinea filling (hanlding of explicit line-breaks)
Date: Sat, 12 Mar 2011 22:59:00 -0500	[thread overview]
Message-ID: <jwvk4g3oeyc.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <801v2cnizz.fsf@gmail.com> ("Vincent =?iso-8859-1?Q?Bela=EFch?= =?iso-8859-1?Q?e=22's?= message of "Sat, 12 Mar 2011 22:09:36 +0100")

>> Actually, no, because paragraph-separate would cause the whole line
>> that ends with \\ to be treated as not being part of a paragraph, and
>> paragraph-start wouldn't be appropriate either.  Hence the "good"
>> above :-(
> I have implemented the thing locally on my machine.  It works well but
> there is still something missing: the line containing the `\\' alinea
> separtor is not filled.

As you can see above, I'm not surprised.
Just don't use paragraph-separate.  What I'd do is to use
a fill-forward-paragraph-function which calls forward-paragraph, then
searches for a "\\\\\\\\$" between the start and end point, and if found
adjust the end result accordingly.

If/when you come up with this function, please submit for inclusion in
tex-mode.el where it will come in handy as well.

> So, after more thinking about it the problem is the following: the
> fill-forward-paragraph has only one parameter which is the paragraph
> number --- with n = 0 => current --- but for finding the paragraph
> boundary we need *two* parameter

> => 1st argument: paragraph number
> => 2nd argument: whether we want to point at the beginning the
> paragraph or to the end of the paragraph. 

AFAIK the sign of the argument gives you this information.

> => maybe paragraph-separate could be a list of 3 items (REGEXP BEG END)
>    where REGEXP is the usual regexp matching the separator, and BEG and
>    END when non nil are function to go the the beginning of next or to
>    the end of previous assuming that the match data corresponds to a
>    match of REGEXP. This way would be really the most flexible.

Could be, but once you're in fill-forward-paragraph-function, you can do
it by hand with Elisp code, so it's not that important.  If/when we have
enough fill-forward-paragraph-functions we may revisit this opinion, but
I don't think we have enough experience yet to make a good design.


  reply	other threads:[~2011-03-13  3:59 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-12 21:09 Alinea filling (hanlding of explicit line-breaks) Vincent Belaïche
2011-03-13  3:59 ` Stefan Monnier [this message]
  -- strict thread matches above, loose matches on Subject: below --
2011-03-13 15:48 Alinea filling (hanlding of explicit line-breaks)‏ Vincent Belaïche
2011-03-13 21:34 ` Stefan Monnier
2011-03-13 13:49 Alinea filling (hanlding of explicit line-breaks) Vincent Belaïche
2011-02-16  6:42 Vincent Belaïche
2011-02-16 15:02 ` Stefan Monnier
2011-02-14 21:30 Vincent Belaïche
2011-02-15 17:22 ` Stefan Monnier
2011-02-13  8:47 Vincent Belaïche
2011-02-14 18:16 ` Stefan Monnier

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:

  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=jwvk4g3oeyc.fsf-monnier+emacs@gnu.org \
    --to=monnier@iro.umontreal.ca \
    --cc=emacs-devel@gnu.org \
    --cc=emacs-orgmode@gnu.org \
    --cc=karl@freefriends.org \
    --cc=vincent.b.1@hotmail.fr \


* 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


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