all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Artur Malabarba <bruce.connor.am@gmail.com>
To: Artur Malabarba <bruce.connor.am@gmail.com>,
	emacs-devel <emacs-devel@gnu.org>
Subject: Re: [Emacs-diffs] master 188f657: Fix false negatives in tex--prettify-symbols-compose-p.
Date: Tue, 29 Sep 2015 14:14:53 +0100	[thread overview]
Message-ID: <CAAdUY-LeKaSkGnOdGQ2Qye_RoXB72=jMQHRmDaPT3KFnPHUwHQ@mail.gmail.com> (raw)
In-Reply-To: <8737xxjtkq.fsf@gnu.org>

2015-09-29 13:31 GMT+01:00 Tassilo Horn <tsdh@gnu.org>:
> Artur Malabarba <bruce.connor.am@gmail.com> writes:
>
>> Would it be possible to also use `tex--prettify-symbols-compose-p' to
>> avoid composing the symbol-at-point? (perhaps by checking window-point
>> or something). That would toggleable by a user-option, of course.
>
> You mean, when point enters a prettified symbol the original text would
> be shown?  Indeed, that sounds like a neat idea.  If I think about it, I
> don't use prettification in LaTeX exactly because there are so many
> prettified symbols which partly overlap and then editing becomes
> cumbersome, e.g., when deleting a char from the prettified integral \int
> you'll get the prettification of the set membership relation \in.

Yes. I like prettify-symbols quite a bit, but this slight
inconvenience when editing symbols prevents me from using the mode
right now.

>> Or maybe that feature should be implemented in `prettify-symbols-mode'
>> itself.
>
> Yes, I think the only thing to be done would be to change the
>
>   (if (funcall prettify-symbols-compose-predicate start end match) ...
>
> in `prettify-symbols--compose-symbol' to
>
>   (if (and (or prettify-symbols-compose-at-point
>                (< (window-point) start)
>                (> (window-point) end))
>            (funcall prettify-symbols-compose-predicate start end match)))

I was actually thinking of using `<=', so that placing point at the
edges would already be enough.

> where `prettify-symbols-compose-at-point' would be the user option.

I tried something similar, and unfortunately it's not that simple.
Firstly, (window-point) didn't seem to work as expected here, so I had
to define a variable in font-lock-mode to hold the value of (point)
before fontification started.

After doing that, the feature sort of works while you're writing. That
is, it doesn't prettify a symbol you've just written, but it does
prettify a symbol after you hit SPC, which is nice.
However, it does not work while navigating. That is, when you move
point to a prettified symbol, it doesn't get decomposed.

Then I tried adding a post-command-hook function to invalidate the
font-locking at point. This correctly decomposes a symbol when you
move the cursor to it, but it's still not perfect. When you move the
cursor *out* of the symbol, if you move far enough, the symbol doesn't
get prettified again until you edit something close to it.



  reply	other threads:[~2015-09-29 13:14 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20150925210512.18505.12538@vcs.savannah.gnu.org>
     [not found] ` <E1ZfaB6-0004p6-FL@vcs.savannah.gnu.org>
2015-09-26  4:54   ` [Emacs-diffs] master 188f657: Fix false negatives in tex--prettify-symbols-compose-p Stefan Monnier
2015-09-26  5:36     ` Tassilo Horn
2015-09-26  5:46       ` Tassilo Horn
2015-09-29 11:29   ` Artur Malabarba
2015-09-29 12:31     ` Tassilo Horn
2015-09-29 13:14       ` Artur Malabarba [this message]
2015-09-30  6:46         ` Tassilo Horn
2015-09-30  7:48           ` Artur Malabarba
     [not found]         ` <B393F5AD12955C48A84FFB08032CD04F6C218AED@ECS-EXG-P-MB01.win.lanl.gov>
2015-09-30  7:51           ` Artur Malabarba
2015-09-30  8:59             ` Tassilo Horn
2015-09-30 10:08               ` Artur Malabarba
2015-09-30 10:45                 ` Tassilo Horn
2015-09-30 11:12                   ` Artur Malabarba
2015-09-30 11:29                     ` Tassilo Horn
2015-10-01  1:17                       ` Artur Malabarba
2015-10-01 11:43                         ` Tassilo Horn
2015-10-01  1:19                   ` Artur Malabarba
2015-10-01 11:45                     ` Tassilo Horn
2015-09-29 19:46       ` Tassilo Horn

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='CAAdUY-LeKaSkGnOdGQ2Qye_RoXB72=jMQHRmDaPT3KFnPHUwHQ@mail.gmail.com' \
    --to=bruce.connor.am@gmail.com \
    --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 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.