all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* 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

* bug#27752: Custom mode-line face + smart eshell triggers interesting freeze
  2017-07-18 16:24   ` Eli Zaretskii
@ 2017-07-19  2:31     ` Eli Zaretskii
  0 siblings, 0 replies; 5+ messages in thread
From: Eli Zaretskii @ 2017-07-19  2:31 UTC (permalink / raw
  To: 27752-done

> Date: Tue, 18 Jul 2017 19:24:08 +0300
> From: Eli Zaretskii <eliz@gnu.org>
> Cc: 27752@debbugs.gnu.org
> 
> Should be fixed now.

The OP notified me privately that the fix was verified, so I'm closing
the bug.





^ 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 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.