You can find the answer by typing
C-h l
(that's a little "L"). This runs view-lossage
, which shows the last 100 characters typed.For instance, this morning I was suddenly staring at a blank buffer called "ChangeLog". What is that thing? To find out, I typed
C-h l
. A *Help* buffer opened with a few lines of symbols. Here are the last couple lines: C-s F I X M E C-a C-n C-n C-n C-n C-n C-n C-n C-n C-x 2 C-x o C-x V a r C-x u C-h l
You start reading the lossage at the end. So, at the end I can see the
C-h l
from invoking view-lossage
. Right before that, an undo (C-x u
) to get rid of the typing I had just done into the unknown ChangeLog buffer. Right before that, C-x V a r
. Ah, I meant to search for "Var", but I must have hit C-x
instead of C-s
. This is the culprit.So what do those keys do? It opened a new buffer, but did it have some other harmful side-effect I want to know about? Hit
C-h k
to start the describe-key
function, and start typing C-x
, v
, a.
Before I could type the 'r', the *Help* buffer showed up and explained that I had entered the keystroke for vc-update-change-log
, a function that seems like it was more useful back in the days of RCS than today, but which doesn't harm anything else. Anyway, mystery solved!There tend to be two situations in which I call
view-lossage
. Number one is where I think, "Hmm, I don't know what I did, but it might be useful." For that case, view-lossage lets you explore that functionality. That was the case this morning with ChangeLog; I was curious about it but it turned out not to be useful to me. Number two is where I think "I don't ever want that to happen again". In that case, figure out the offending keystroke, and then disable it in your .emacs file, like this:(global-unset-key "\C-[\C-[") ;; prefix-command (global-unset-key "\C-x\C-p") ;; mark-page (global-unset-key "\C-x\C-n") ;; set-goal-column
Those are typos I've made before that have annoying effects, so I just completely disable those keystrokes (
mark-page
is especially nasty: it sets the mark at the end of the file, and moves the point to the beginning of the file, so there's not always an easy way to jump back to where you were in the file).