[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#17830: 24.4.50; smie: inners and up-list
From: |
Stefan Monnier |
Subject: |
bug#17830: 24.4.50; smie: inners and up-list |
Date: |
Sun, 22 Jun 2014 08:43:05 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.4.50 (gnu/linux) |
> I quite like the support for show-paren-mode in smie of 24.4 for
> closers. But I often also want to be able to jump to the beginning of
> the block with backward-up-list by key C-M-u.
> However, if the block has inners such as `let ... in ... end' (sml-mode)
> and point is between `in' and `end', backward-up-list always misses the
> `let' opener. Some smie grammars take the `... in ...' out of the block
> which makes backward-up-list work but show-paren-mode won't show `in' as
> the inner matching `let' any more.
> Any fix to this? Thanks.
The use of forward-sexp-function in up-list is indeed problematic,
although it does work 90% of the time.
We probably need to introduce an up-list-function hook. `transpose-sexp'
similarly fails in to do the right thing in some cases (tho for
transpose-sexp, the problem is not so much in the "jump over a sexp"
part as in the way it decides what to leave unchanged around point).
Stefan