From: Colin Walters <walters@gnu.org>
Subject: Re: kill ring menu
Date: 06 May 2002 23:55:34 -0400 [thread overview]
Message-ID: <1020743734.5288.153.camel@space-ghost> (raw)
In-Reply-To: <buog014yc22.fsf@mcspd15.ucom.lsi.nec.co.jp>
On Mon, 2002-05-06 at 21:35, Miles Bader wrote:
> You're assuming such `consistency' is a win. Usually consistency is,
> but several people have said on this thread that they _like_ the current
> `inconsistency.' The rules people follow are not always as simple as
> you might wish. Perhaps in this case people see a distinction between
> fontifying existing `text files' (like program source) and buffers that
> are created by emacs to display some information.
I think that distinction is arbitrary; I don't see it at all.
Especially when one considers that these "special" buffers could quite
legitimately later be extended to be real modes; in that case, are we
going to tell our users, "Oh, you have to set `foo-mode-fontification'
to be non-nil to get special highlighting"? I don't think so; it's
better to make the *interface* via font-lock from the start.
> In any case, if it's _really_ desirable to have the single concept of
> font-locking control all fontification in buffers (and obviously this is
> not clear), then it still seems a bit silly to have font-lock following
> non-face properties in the buffer; you could just as easily arrange for
> the font-lock `user interface' (e.g., toggling font-lock mode) to be
> separate from the font-lock `mechanism' (the part that adds face
> properties), and have whatever ad-hoc fontification code you wish follow
> the dictates of the former without using the latter.
This is *exactly* the way things already work. font-lock in this case
just calls the `font-lock-fontify-region' function to do the
fontification. Thus, font-lock becomes the "user interface", as you
say, and the mode author implements the mechanism.
> This is only true if you use `real' font-locking -- e.g., regexps that
> match the buffer text -- instead of making font-lock follow text
> properties to do its locking.
And why is the former "real" font-locking? Fontification based on
regular expressions is unreliable when we are dealing with a non-regular
language. This is why (or at least I think a major reason why) the
maintainers of font-lock added the ability for the major mode author to
perform fontification themselves.
> You could have _both_ of course, but that
> seems silly; if you really want to dynamically update user added text,
> you may as well just use traditional font-locking from the start.
By "traditional" you mean "based on regexps"? Again, regexp-based
font-lock is not reliable. I personally will always try to avoid
regexp-based fontification in modes I write. And implementing your own
`font-lock-fontify-region' function doesn't mean it has to search for
existing text properties; you can perform arbitrary computation.
But this is a digression. Again, my point is very simple: I think we
should move towards making M-x font-lock-mode, as much as possible, the
standard *interface* for enabling and disabling fontification. Whether
or not is based on regexps is irrelevant.
One other important point; if resource consumption is an issue, we could
quite easily split font-lock.el into font-lock-core.el and font-lock.el,
or whatever.
next prev parent reply other threads:[~2002-05-07 3:55 UTC|newest]
Thread overview: 82+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-04-28 19:41 kill ring menu Colin Walters
2002-04-28 20:06 ` Colin Walters
2002-04-29 5:05 ` Richard Stallman
2002-04-29 18:40 ` Richard Stallman
2002-04-28 22:53 ` Miles Bader
2002-04-28 23:36 ` Stefan Monnier
2002-04-28 23:42 ` Miles Bader
2002-04-29 4:34 ` Colin Walters
2002-04-30 4:49 ` Eli Zaretskii
2002-04-29 3:35 ` Miles Bader
2002-04-29 4:37 ` Colin Walters
2002-04-29 4:56 ` Miles Bader
2002-04-29 5:37 ` Colin Walters
2002-04-29 7:09 ` Miles Bader
2002-04-30 5:18 ` Richard Stallman
2002-04-30 10:18 ` Per Abrahamsen
2002-04-29 9:22 ` CC (was: Re: kill ring menu) Per Abrahamsen
2002-04-29 15:11 ` Benjamin Rutt
2002-04-29 15:31 ` Miles Bader
2002-04-30 5:19 ` Richard Stallman
2002-04-30 10:14 ` Per Abrahamsen
2002-04-30 11:08 ` Simon Josefsson
2002-04-29 10:10 ` Addressing email (was: " Eli Zaretskii
2002-04-29 13:13 ` kill ring menu Stefan Monnier
2002-04-29 18:40 ` Richard Stallman
[not found] ` <200204290505.g3T55t006146@aztec.santafe.edu>
[not found] ` <1020059236.31789.358.camel@space-ghost>
[not found] ` <200204300519.g3U5Js306727@aztec.santafe.edu>
[not found] ` <1020212569.27106.2246.camel@space-ghost>
[not found] ` <200205011926.g41JQBC07690@aztec.santafe.edu>
[not found] ` <1020284783.27106.3417.camel@space-ghost>
2002-05-03 18:25 ` Richard Stallman
2002-05-03 18:46 ` Miles Bader
2002-05-03 19:05 ` Miles Bader
2002-05-03 20:20 ` Colin Walters
2002-05-04 1:34 ` Miles Bader
2002-05-04 3:36 ` Richard Stallman
2002-05-04 3:49 ` Miles Bader
2002-05-05 5:34 ` Richard Stallman
2002-05-04 6:04 ` Eli Zaretskii
[not found] ` <1020320725.27616.54.camel@space-ghost>
[not found] ` <200205031825.g43IPuD00768@aztec.santafe.edu>
[not found] ` <1020502030.5286.25.camel@space-ghost>
2002-05-05 17:46 ` Richard Stallman
2002-05-06 5:15 ` Colin Walters
2002-05-06 6:39 ` Miles Bader
2002-05-06 22:55 ` Colin Walters
2002-05-07 1:35 ` Miles Bader
2002-05-07 3:55 ` Colin Walters [this message]
2002-05-07 4:18 ` Miles Bader
2002-05-07 20:07 ` Richard Stallman
2002-05-07 20:38 ` Colin Walters
2002-05-08 0:20 ` Miles Bader
2002-05-08 6:05 ` Colin Walters
2002-05-08 6:50 ` Miles Bader
2002-05-08 7:36 ` Colin Walters
2002-05-08 7:48 ` Miles Bader
2002-05-08 8:57 ` Colin Walters
2002-05-08 13:14 ` Stefan Monnier
2002-05-09 4:29 ` Colin Walters
2002-05-09 10:08 ` Kim F. Storm
2002-05-09 2:45 ` Richard Stallman
2002-05-09 4:28 ` Colin Walters
2002-05-10 0:30 ` Richard Stallman
2002-05-16 18:47 ` Colin Walters
2002-05-16 19:12 ` Miles Bader
2002-05-16 19:20 ` Colin Walters
2002-05-16 19:36 ` Miles Bader
2002-05-16 19:45 ` Miles Bader
2002-05-16 19:54 ` Colin Walters
2002-05-16 20:12 ` Miles Bader
2002-05-16 20:17 ` Colin Walters
2002-05-16 20:23 ` Miles Bader
2002-05-16 21:47 ` Colin Walters
2002-05-16 21:54 ` Kim F. Storm
2002-05-16 21:15 ` Miles Bader
2002-05-17 19:29 ` Richard Stallman
2002-05-07 19:22 ` Alex Schroeder
2002-05-09 20:09 ` Colin Walters
2002-05-11 6:30 ` Richard Stallman
2002-05-13 22:17 ` Colin Walters
2002-05-14 8:36 ` Miles Bader
2002-05-14 12:49 ` Emacs 21.4 (was: kill ring menu) Eli Zaretskii
2002-05-15 7:01 ` kill ring menu Richard Stallman
2002-05-06 6:46 ` Stephen J. Turnbull
2002-05-06 22:46 ` Colin Walters
2002-05-08 10:06 ` Francesco Potorti`
2002-05-08 10:20 ` Eli Zaretskii
2002-05-06 19:32 ` Richard Stallman
2002-05-07 4:03 ` Colin Walters
2002-05-07 5:27 ` Eli Zaretskii
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.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1020743734.5288.153.camel@space-ghost \
--to=walters@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 public inbox
https://git.savannah.gnu.org/cgit/emacs.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).