简体   繁体   中英

message display behavior changed in emacs 24

I typically use emacs with a single frame split into 2 windows stacked vertically.

In emacs 23 (and before), when i happen upon a line with a compiler warning, the echo area/minibuffer will expand to show the entire text of the message (if the message is more than one line), but the 2 main windows will be otherwise unaffected (so the bottom window may lose a line or 2 of display temporarily).

In emacs 24, however, the whole bottom window (above the minibuffer) shifts upwards so that the top window ends up losing a line or 2 of display temporarily. I find it very visually disconcerting that the whole bottom window shifts and would like to go back to the emacs 23 (and earlier) behavior.

I've looked through the emacs manual (windows, frames, minibuffer, echo area) and the version 24 NEWS and have not been able to find any mention of a change that might cause this behavior or a variable which might be able to control this behavior. Any pointers would be greatly appreciated.

UPDATE:

to reproduce the behavior:

  1. open emacs 24, split frame into 2 windows, one above the other
  2. open some buffer full of text in top window
  3. open "*scratch*" buffer in bottom window
  4. add this snippet to your scratch buffer and execute it from the cursor (using eval-last-sexp , Cx Ce ), make sure that the test message is long enough that it wraps in the window

(message "this is a very long message that will cause the minibuffer window to show more than one line of text and cause the whole bottom window to shift as a result in emacs 24")

this should cause the "*scratch*" buffer window to shift up when the minibuffer displays the message, and back down when the message goes away. if you try the same test in emacs 23, the "*scratch*" buffer window will not move .

UPDATE 2:

To clarify further (maybe my description is confusing to some), but problem is not with the minibuffer behavior. the behavior of the minibuffer is just fine and has not changed (it temporarily resizes to display all the text). the behavior i am referring to is that of the window above the minibuffer (the lower window of the 2 main buffer windows). in emacs 23 this window did not move at all (so the lower lines were temporarily obscured). in emacs 24, all the text in this window shifts up as the minibuffer resizes. this is the new, problematic behavior.

虽然我不知道是什么原因导致了您所使用的版本中行为的确切变化,但似乎已在24.2.50.1和更高版本中恢复了该行为。

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM