all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Tassilo Horn <tsdh@gnu.org>
To: "Andreas Röhler" <andreas.roehler@online.de>
Cc: emacs-devel@gnu.org, rms@gnu.org,
	Stefan Monnier <monnier@iro.umontreal.ca>
Subject: Re: fill-paragraph ill designed
Date: Wed, 26 Aug 2015 09:08:41 +0200	[thread overview]
Message-ID: <87bndule6e.fsf@gnu.org> (raw)
In-Reply-To: <55DD5D02.9090407@online.de> ("Andreas \=\?utf-8\?Q\?R\=C3\=B6hler\?\= \=\?utf-8\?Q\?\=22's\?\= message of "Wed, 26 Aug 2015 08:30:26 +0200")

Andreas Röhler <andreas.roehler@online.de> writes:

>> There is a lot of ugliness in the way fill-paragraph works, but
>> developing a replacement that works ok in practice is harder than it
>> looks.  I recall a time that we tried.
>
> What would prevent switching the clauses as suggested?

IMO, it makes completely sense that `fill-paragraph' delegates to
`fill-region' if the region is active so that not every mode-specific
`fill-paragraph-function' has to do that on its own.

What I think is wrong is the way `fill-region' works right now.  Why
doesn't it move over the paragraphs in the active region using
`fill-forward-paragraph' (which can be defined mode-specific using
`fill-forward-paragraph-function'), and then call
`fill-paragraph-function' on each paragraph?

The current behavior is ok when there is no `fill-paragraph-function',
but if there is, then it should be used.

That would allow mode authors to define a custom
`fill-paragraph-function' (and a `fill-forward-paragraph-function' if
needed), and then multi-paragraph filling would just work.

If there are good reasons for the way it is currently implemented, then
the docs should at least document how a mode author should implement
region/multi-paragraph filling.  The function
`LaTeX-fill-forward-paragraph' in my previous mail seems to work, but it
relies on completely undocumented behavior:

  (1) `fill-forward-paragraph-function' only speaks of moving over
      paragraphs, but `LaTeX-fill-forward-paragraph' fills while moving.
  (2) `LaTeX-fill-forward-paragraph' also moves point one char more than
      required in order not to trap into the last `fill-region'
      condition which would call `fill-region-as-paragraph' and then
      destroy the correct filling again.

Bye,
Tassilo



  reply	other threads:[~2015-08-26  7:08 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-25  8:24 fill-paragraph ill designed Andreas Röhler
2015-08-25  9:05 ` Tassilo Horn
2015-08-25  9:50   ` Andreas Röhler
2015-08-25 12:18     ` Tassilo Horn
2015-08-25 14:53       ` Stefan Monnier
2015-08-26  7:15         ` Tassilo Horn
2015-08-25 14:51 ` Stefan Monnier
2015-08-25 22:14   ` Richard Stallman
2015-08-26  6:30     ` Andreas Röhler
2015-08-26  7:08       ` Tassilo Horn [this message]
2015-08-26 12:22         ` Andreas Röhler
2015-08-26 12:40           ` Tassilo Horn
2015-08-26 16:45             ` Andreas Röhler
2015-08-26 17:03               ` Tassilo Horn
2015-08-27 16:35               ` Stefan Monnier
2015-08-27 17:48                 ` Andreas Röhler
2015-08-28  6:30                 ` Tassilo Horn
2015-08-28  6:41                   ` Andreas Röhler
2015-08-28  8:26                     ` Tassilo Horn
2015-08-29 19:47                       ` Andreas Röhler
2015-08-30  7:30                         ` Andreas Röhler
2015-08-31  1:21                           ` Stefan Monnier
2015-08-28 16:27                   ` 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:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87bndule6e.fsf@gnu.org \
    --to=tsdh@gnu.org \
    --cc=andreas.roehler@online.de \
    --cc=emacs-devel@gnu.org \
    --cc=monnier@iro.umontreal.ca \
    --cc=rms@gnu.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 external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.