* bug#27752: Custom mode-line face + smart eshell triggers interesting freeze
@ 2017-07-18 10:46 Yegor Timoshenko
2017-07-18 13:40 ` Yegor Timoshenko
2017-07-18 15:58 ` Eli Zaretskii
0 siblings, 2 replies; 5+ messages in thread
From: Yegor Timoshenko @ 2017-07-18 10:46 UTC (permalink / raw)
To: 27752
GNU Emacs 25.2.1 (x86_64-apple-darwin15.0.0, NS appkit-1404.13 Version 10.11.1 (Build 15B42)) of 2017-07-03
Emacs config required to reproduce this bug:
(custom-set-faces
'(mode-line ((t (:box 1)))))
(require 'em-smart)
(add-hook 'eshell-mode-hook 'eshell-smart-initialize)
Instructions:
M-x eshell, M-x split-window-horizontally, type "find-file foo" in the eshell buffer and hit ENTER.
Emacs freezes, CPU consumption is around 100%.
Video: https://www.youtube.com/watch?v=_lUyUkNiy4g
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#27752: Custom mode-line face + smart eshell triggers interesting freeze
2017-07-18 10:46 bug#27752: Custom mode-line face + smart eshell triggers interesting freeze Yegor Timoshenko
@ 2017-07-18 13:40 ` Yegor Timoshenko
2017-07-18 15:58 ` Eli Zaretskii
1 sibling, 0 replies; 5+ messages in thread
From: Yegor Timoshenko @ 2017-07-18 13:40 UTC (permalink / raw)
To: 27752
Just so that you know, this is not specific to this particular style of using smart eshell.
This configuration will also trigger the bug:
(custom-set-faces
'(mode-line ((t (:box 1)))))
(custom-set-variables
'(eshell-modules-list '(eshell-smart)))
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#27752: Custom mode-line face + smart eshell triggers interesting freeze
2017-07-18 10:46 bug#27752: Custom mode-line face + smart eshell triggers interesting freeze Yegor Timoshenko
2017-07-18 13:40 ` Yegor Timoshenko
@ 2017-07-18 15:58 ` Eli Zaretskii
2017-07-18 16:24 ` Eli Zaretskii
1 sibling, 1 reply; 5+ messages in thread
From: Eli Zaretskii @ 2017-07-18 15:58 UTC (permalink / raw)
To: Yegor Timoshenko; +Cc: 27752
> From: Yegor Timoshenko <yegortimoshenko@gmail.com>
> Date: Tue, 18 Jul 2017 13:46:54 +0300
>
> Emacs config required to reproduce this bug:
>
> (custom-set-faces
> '(mode-line ((t (:box 1)))))
>
> (require 'em-smart)
> (add-hook 'eshell-mode-hook 'eshell-smart-initialize)
>
> Instructions:
>
> M-x eshell, M-x split-window-horizontally, type "find-file foo" in the eshell buffer and hit ENTER.
> Emacs freezes, CPU consumption is around 100%.
This happens because Eshell abuses window-scroll-functions. I'm
working on a fix.
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#27752: Custom mode-line face + smart eshell triggers interesting freeze
2017-07-18 15:58 ` Eli Zaretskii
@ 2017-07-18 16:24 ` Eli Zaretskii
2017-07-19 2:31 ` Eli Zaretskii
0 siblings, 1 reply; 5+ messages in thread
From: Eli Zaretskii @ 2017-07-18 16:24 UTC (permalink / raw)
To: yegortimoshenko; +Cc: 27752
> Date: Tue, 18 Jul 2017 18:58:01 +0300
> From: Eli Zaretskii <eliz@gnu.org>
> Cc: 27752@debbugs.gnu.org
>
> > From: Yegor Timoshenko <yegortimoshenko@gmail.com>
> > Date: Tue, 18 Jul 2017 13:46:54 +0300
> >
> > Emacs config required to reproduce this bug:
> >
> > (custom-set-faces
> > '(mode-line ((t (:box 1)))))
> >
> > (require 'em-smart)
> > (add-hook 'eshell-mode-hook 'eshell-smart-initialize)
> >
> > Instructions:
> >
> > M-x eshell, M-x split-window-horizontally, type "find-file foo" in the eshell buffer and hit ENTER.
> > Emacs freezes, CPU consumption is around 100%.
>
> This happens because Eshell abuses window-scroll-functions. I'm
> working on a fix.
Should be fixed now.
eshell-smart-redisplay called pos-visible-in-window-p, which is not a
very "smart" thing to do from a function that runs in the middle of
redisplay: how can the caller expect to get a reliable result, if the
window is being scrolled, and no one yet knows what will be inside the
window when redisplay ends. And there are other atrocities in
eshell-smart-redisplay.
Emacs now tries to protect itself against that, so that it won't
infloop.
Btw, I think this is the same bug as 26980, it's just that there I
never could have a reproducer.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2017-07-19 2:31 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-07-18 10:46 bug#27752: Custom mode-line face + smart eshell triggers interesting freeze Yegor Timoshenko
2017-07-18 13:40 ` Yegor Timoshenko
2017-07-18 15:58 ` Eli Zaretskii
2017-07-18 16:24 ` Eli Zaretskii
2017-07-19 2:31 ` Eli Zaretskii
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).