From: Stefan Monnier <monnier@iro.umontreal.ca>
To: Alan Mackenzie <acm@muc.de>
Cc: emacs-devel@gnu.org
Subject: Re: Proposed extension of show-paren-mode: Highlight parens when point is in L or R margin.
Date: Thu, 16 Oct 2014 08:59:40 -0400 [thread overview]
Message-ID: <jwv61fkuqmb.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <20141016095326.GC3421@acm.acm> (Alan Mackenzie's message of "Thu, 16 Oct 2014 09:53:26 +0000")
> How about the following model:
> foo = /* */ bar; /* comment */
> PPPPPPPPPPPP P
> CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
> ?
Sounds fine, yes.
foo = /* */ bar; /* comment */
PPPPPPPPPPPP P P
CCCCCCCCCCCCCCCC CCCCCCCCCCCCC
would be OK as well, I think.
>> >> This would make it clear that the behavior is unchanged when
>> >> show-paren-when-point-in-periphery is nil, and also makes it clear what
>> >> is the effect of setting show-paren-when-point-in-periphery to non-nil.
>> > That's neat. But it wouldn't be quite the same. It would be a quite
>> > restricted version of what I'm proposing: e.g. point in the LH periphery
>> > wouldn't then trigger a paren at "end of core",
>> I don't understand which case you're referring to. Can you give an
>> example of such a "point in the LH periphery; paren at end of core"?
> (defface show-paren-mismatch
> '((((class color)) (:foreground "white" :background "purple"))
> (t (:inverse-video t)))
> "Face used for a mismatching paren."
> :group 'paren-showing-faces) <-------- paren
> ^
> |
> point
Ah, so now your periphery extends to the next line. That means you get
an ambiguity for
(defun foo ()
(do one thing)
(do another)
^
|
point
where both the close paren on the previous line and the open paren on
the same line could be chosen.
>> > nor even a close paren at "beginning of core" (which happens a little
>> > in lisp, a lot in C).
>> So you also want to highlight the matching opening paren in the case
>> <point> }
> Yes.
>> ? If so, I guess we should also do it in cases such as:
>> foo(blabla<point>);
> Hmmm. Maybe.
OK, sounds good. There have already been requests for that kind of feature.
> But this whole idea was meant just to be a simple extension.
It's actually simpler to make it apply "everywhere" than only in a few
particular cases.
>> > Maybe `show-paren-data-function' should be, too.
>> Why? It was introduced for the benefit of smie.el, so it's typically
>> set buffer-locally by major-modes, which makes it a poor fit for
>> a defcustom.
> OK.
> So, to sum up, I'll remove comments from the definition of "periphery",
> and make that variable a defcustom. I don't think you need to see
> another amended patch.
To tell you the truth, I didn't like much the last show-paren--default
you showed me. I think this new feature should be
"completely" external and mostly keep the old code untouched.
Stefan
next prev parent reply other threads:[~2014-10-16 12:59 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-11 13:43 Proposed extension of show-paren-mode: Highlight parens when point is in L or R margin Alan Mackenzie
2014-10-11 14:21 ` Eli Zaretskii
2014-10-12 8:39 ` Alan Mackenzie
2014-10-12 8:55 ` David Kastrup
2014-10-12 9:25 ` Alan Mackenzie
2014-10-12 9:01 ` Eli Zaretskii
2014-10-12 10:18 ` Alan Mackenzie
2014-10-12 4:12 ` Stefan Monnier
2014-10-12 10:04 ` Alan Mackenzie
2014-10-14 17:49 ` Stefan Monnier
2014-10-14 18:32 ` John Yates
2014-10-15 9:12 ` Alan Mackenzie
2014-10-15 22:38 ` Andy Moreton
2014-10-16 2:43 ` Stefan Monnier
2014-10-16 9:53 ` Alan Mackenzie
2014-10-16 12:59 ` Stefan Monnier [this message]
2014-10-16 13:31 ` Alan Mackenzie
2014-10-16 14:37 ` Stefan Monnier
2014-10-16 15:46 ` Alan Mackenzie
2014-10-16 17:40 ` Stefan Monnier
2014-10-16 21:26 ` Alan Mackenzie
2014-10-17 0:14 ` Stefan Monnier
2014-10-14 21:50 ` João Távora
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=jwv61fkuqmb.fsf-monnier+emacs@gnu.org \
--to=monnier@iro.umontreal.ca \
--cc=acm@muc.de \
--cc=emacs-devel@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).