From: Nicolas Goaziou <mail@nicolasgoaziou.fr>
To: Daimrod <daimrod@gmail.com>
Cc: Bastien <bzg@gnu.org>, Eric Abrahamsen <eric@ericabrahamsen.net>,
emacs-orgmode@gnu.org
Subject: Re: still seeing semi-regular lockups
Date: Sun, 22 Jun 2014 09:58:46 +0200 [thread overview]
Message-ID: <87lhspv0i1.fsf@nicolasgoaziou.fr> (raw)
In-Reply-To: <87ha3n82re.fsf@tanger.home> (daimrod@gmail.com's message of "Sun, 15 Jun 2014 08:55:49 +0900")
Hello,
Daimrod <daimrod@gmail.com> writes:
> Thanks for investigating.
I made some progress. Alas I didn't find a definitive answer yet.
The problem is related to `quail-input-method', which let-binds
`inhibit-modifications-hooks' to t. This is usually done around
a function that modifies text properties in a buffer.
However, in that case, it calls `quail-start-translation',
`quail-self-insert-command', `quail-self-insert-command' and eventually
`quail-update-translation', which modifies the _contents_ of the buffer
(twice actually, with `quail-delete-region' at line 1555 in
"quail.el.gz" and with `insert' at line 1579).
Since these modifications happen when `inhibit-modifications-hooks' is
non-nil, `after-change-functions' are never called, and the cache cannot
be updated properly, ending in a corrupted state.
There is a workaround for this: if `input-method-use-echo-area' is
non-nil, these modifications happen in the minibuffer, and, thus, the
buffer is not modified.
I also tried to set `inhibit-modifications-hooks' to nil around the two
locations where the buffer is modified (see above), but something odd
happens. Indeed, in that case, `after-change-functions' are called once
too many (i.e, the same buffer modification triggers these calls twice),
corrupting again the buffer. Unfortunately, I have no explanation about
this yet.
Regards,
--
Nicolas Goaziou
next prev parent reply other threads:[~2014-06-22 7:58 UTC|newest]
Thread overview: 70+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-14 8:39 still seeing semi-regular lockups Eric Abrahamsen
2014-05-15 9:21 ` Bastien
2014-05-15 9:30 ` Daimrod
2014-05-15 9:46 ` Bastien
2014-05-15 10:31 ` Eric Abrahamsen
2014-05-15 10:37 ` Daimrod
2014-05-15 10:43 ` Eric Abrahamsen
2014-05-19 14:21 ` Daimrod
2014-05-20 8:25 ` Eric Abrahamsen
2014-05-20 8:55 ` Daimrod
2014-05-20 11:16 ` Eric Abrahamsen
2014-06-24 8:48 ` Nicolas Goaziou
2014-06-24 14:28 ` Eric Abrahamsen
2014-06-25 4:09 ` Matt Lundin
2014-06-25 5:39 ` Matt Lundin
2014-06-25 7:32 ` Sebastien Vauban
2014-06-27 13:00 ` Nicolas Goaziou
2014-06-25 7:38 ` Daimrod
2014-06-25 8:22 ` Eric Abrahamsen
2014-06-25 8:30 ` Bastien
2014-06-25 8:40 ` Eric Abrahamsen
2014-06-25 13:47 ` Matt Lundin
2014-06-26 2:58 ` Matt Lundin
2014-06-26 3:00 ` Matt Lundin
2014-06-27 12:56 ` Nicolas Goaziou
2014-06-27 13:37 ` Alan Schmitt
2014-06-27 22:31 ` Nicolas Goaziou
2014-06-28 19:27 ` Eric Abrahamsen
2014-06-29 1:39 ` York Zhao
2014-06-29 2:23 ` Eric Abrahamsen
2014-06-30 1:15 ` York Zhao
2014-06-30 1:43 ` York Zhao
2014-06-30 20:20 ` Alan Schmitt
2014-07-01 0:43 ` York Zhao
2014-07-01 7:38 ` Nicolas Goaziou
2014-07-01 17:14 ` York Zhao
2014-07-01 21:15 ` York Zhao
2014-07-02 8:01 ` Nicolas Goaziou
2014-07-03 1:03 ` York Zhao
2014-07-06 7:28 ` Nicolas Goaziou
2014-07-06 14:40 ` York Zhao
2014-07-06 21:05 ` York Zhao
2014-07-06 21:31 ` Nicolas Goaziou
2014-07-07 0:16 ` York Zhao
2014-07-07 5:27 ` Nicolas Goaziou
2014-07-25 14:33 ` Sebastien Vauban
2014-07-07 1:43 ` York Zhao
2014-07-07 5:33 ` Nicolas Goaziou
2014-07-07 15:10 ` York Zhao
2014-07-03 15:31 ` York Zhao
2014-07-03 15:55 ` York Zhao
2014-07-06 7:19 ` Nicolas Goaziou
2014-07-06 14:29 ` York Zhao
2014-07-15 2:30 ` York Zhao
2014-07-19 3:17 ` Matt Lundin
2014-07-19 14:12 ` York Zhao
2014-06-29 13:58 ` Nicolas Goaziou
2014-05-29 3:01 ` Daimrod
2014-05-30 9:17 ` Nicolas Goaziou
2014-05-30 14:35 ` Daimrod
2014-06-11 11:53 ` Daimrod
2014-06-11 21:30 ` Nicolas Goaziou
2014-06-11 22:18 ` Daimrod
2014-06-14 7:43 ` Nicolas Goaziou
2014-06-14 23:55 ` Daimrod
2014-06-22 7:58 ` Nicolas Goaziou [this message]
2014-06-04 4:47 ` Eric Abrahamsen
2014-06-05 4:29 ` Daimrod
-- strict thread matches above, loose matches on Subject: below --
2014-05-14 11:06 dieter
2014-05-15 2:29 ` Eric Abrahamsen
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.orgmode.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87lhspv0i1.fsf@nicolasgoaziou.fr \
--to=mail@nicolasgoaziou.fr \
--cc=bzg@gnu.org \
--cc=daimrod@gmail.com \
--cc=emacs-orgmode@gnu.org \
--cc=eric@ericabrahamsen.net \
/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/org-mode.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).