1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-29 00:31:01 -08:00
emacs/lisp/eshell
Morgan Smith e08238cdd7 Speed up Eshell smart display module
em-smart was forcibly re-displaying the screen upwards of 500 times
per screen of output.  This caused the Eshell to feel quite slow when
the module was in use.  By using fewer hooks and never explicitly
calling 'redisplay' (which was unnecessary) the performance issues go
away (bug#57367).

lisp/eshell/em-smart.el:

(em-smart-unload-hook, eshell-smart-unload-hook): Remove
'eshell-smart-scroll' instead of the now deleted
'eshell-refresh-windows'.

(eshell-smart-displayed, eshell-currently-handling-window)
(eshell-refresh-windows): Delete.

(eshell-smart-scroll-window): Rename to 'eshell-smart-scroll-windows'
and add a bunch of logic originally from 'eshell-refresh-windows'.

(eshell-smart-initialize): Don't add a hook onto
'window-scroll-functions'.  Replace 'eshell-refresh-windows' with
'eshell-smart-scroll-windows'.

(eshell-smart-display-setup): Don't refresh windows.

(eshell-smart-redisplay): Rename to 'eshell-smart-scroll'.  Delete
'eobp' case.
2023-10-28 15:46:08 -07:00
..
em-alias.el
em-banner.el ; Don't require 'eshell' in other Eshell files 2023-02-15 15:45:50 -08:00
em-basic.el Add debug instrumentation for Eshell process management 2023-08-31 18:42:03 -07:00
em-cmpl.el Add 'eshell-special-ref-alist' to allow extending Eshell special refs 2023-10-24 11:36:27 -07:00
em-dirs.el Apply Eshell tilde expansion before glob expansion 2023-09-02 16:17:27 -07:00
em-elecslash.el
em-extpipe.el Support arbitrary Eshell arguments inside special references 2023-10-24 11:36:27 -07:00
em-glob.el Apply Eshell tilde expansion before glob expansion 2023-09-02 16:17:27 -07:00
em-hist.el Fix behavior of 'eshell-hist-ignoredups' when set to 'erase' 2023-08-23 18:27:45 -07:00
em-ls.el Don't try to set variable removed in Emacs 21 2023-08-25 01:41:47 +02:00
em-pred.el Apply Eshell tilde expansion before glob expansion 2023-09-02 16:17:27 -07:00
em-prompt.el Display the exit code if the last command failed in Eshell 2023-09-02 15:40:04 -07:00
em-rebind.el Document optional Eshell modules 2023-07-01 12:03:56 -07:00
em-script.el Don't print subjob messages when running an Eshell script in the background 2023-10-02 20:49:40 -07:00
em-smart.el Speed up Eshell smart display module 2023-10-28 15:46:08 -07:00
em-term.el Add nvim and ncmpcpp to eshell-visual-commands 2023-08-02 21:57:15 +02:00
em-tramp.el ; Don't require 'eshell' in other Eshell files 2023-02-15 15:45:50 -08:00
em-unix.el Add 'compile' builtin command for Eshell 2023-08-16 10:01:49 -07:00
em-xtra.el ; Don't require 'eshell' in other Eshell files 2023-02-15 15:45:50 -08:00
esh-arg.el Add a new Eshell special reference type for markers 2023-10-24 12:28:00 -07:00
esh-cmd.el Add 'eshell-special-ref-alist' to allow extending Eshell special refs 2023-10-24 11:36:27 -07:00
esh-ext.el Add support for explicitly-remote commands in Eshell 2023-07-10 12:27:09 -07:00
esh-io.el Support arbitrary Eshell arguments inside special references 2023-10-24 11:36:27 -07:00
esh-mode.el Fix behavior of Eshell prompt when yanking output into it 2023-10-11 12:44:31 -07:00
esh-module.el Allow unloading Eshell 2023-02-15 17:31:52 -08:00
esh-opt.el Allow unloading Eshell 2023-02-15 17:31:52 -08:00
esh-proc.el Add 'eshell-special-ref-alist' to allow extending Eshell special refs 2023-10-24 11:36:27 -07:00
esh-util.el Add 'eshell-special-ref-alist' to allow extending Eshell special refs 2023-10-24 11:36:27 -07:00
esh-var.el Fix documented Eshell behavior of ignoring leading nils in commands 2023-09-15 13:43:07 -07:00
eshell.el Support Eshell iterative evaluation in the background 2023-10-02 20:49:41 -07:00