emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Emacs-diffs] master 29c360e: Ensure redisplay after "C-x C-e"


From: Eli Zaretskii
Subject: Re: [Emacs-diffs] master 29c360e: Ensure redisplay after "C-x C-e"
Date: Fri, 06 Nov 2015 16:31:52 +0200

> From: Stefan Monnier <address@hidden>
> Cc: Eli Zaretskii <address@hidden>
> Date: Fri, 06 Nov 2015 09:18:41 -0500
> 
> > +      ;; If we are going to display the result in the echo area, force
> > +      ;; a more thorough redisplay, in case the sexp we evaluated
> > +      ;; changes something that should affect the display of the
> > +      ;; current window.  Otherwise, Emacs might decide that only the
> > +      ;; echo area needs to be redisplayed.
> > +      (if (eq standard-output t)
> > +          (force-mode-line-update 'all)))))
>  
> What does this have to do with elisp--eval-last-sexp?

"C-x C-e"

> Some changes aren't immediately reflected on screen (e.g. toggling
> a minor-mode variable) unless one explicitly requests a redisplay or
> call force-mode-line-update.

It's IMO confusing and unexpected to have this when you evaluate that.

> That's always been the case for setting line-spacing.

No, it worked correctly before Emacs 24.4, according to my testing.
Probably because we used to trigger thorough redisplay "for other
reasons".

> So I think the above change is a bad idea.  If we want to "fix it
> right", then we should look for ways to automatically react to changes
> to line-spacing, rather than doing (force-mode-line-update 'all) in
> elisp--eval-last-sexp, which only catches this problem when it goes
> through elisp--eval-last-sexp, and which causes unnecessary redisplay
> work in the 99.9% of the cases where elisp--eval-last-sexp does
> something else.

Why should we care about performance of "C-x C-e"?



reply via email to

[Prev in Thread] Current Thread [Next in Thread]