[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: Restore minibuffer history, e.g. for compile commands, after restart
RE: Restore minibuffer history, e.g. for compile commands, after restart?
Sun, 9 Dec 2007 10:39:33 -0800
> On Dec 9, 12:22 am, "Drew Adams" <address@hidden> wrote:
> > > > How can I keep the history of minibuffer commands, e.g. the compile
> > > > commands?
> > > The package is called `savehist'.
> > > Emacs-22 bundles it so you can just add (savehist-mode 1) to
> > > your .emacs.
> > And here is the same thing (CVS from 2007-11-28), but fixed so
> > it also works with Emacs versions prior to 22.1, if you should
> > need that: http://www.emacswiki.org/cgi-bin/wiki/savehist-20%2b.el
> Thanks! I have emacs 21.3.1. I installed the package and it works!
> There is just one bug,
Never say that. ;-)
> and I thought I'd share it here, maybe others
> experience the same: If I do M-x compile and go arrow-up to get the
> most recent command it says "no preceding item", then I go "arrow-
> down" and "arrow-up" again, and there it is, the most recent compile
> command, from my last emacs run. Or, once I have several in the list
> it won't show the most recent one on "arrow-up", but the next-to-last
> one, then after pressing "arrow-down" it shows the most recent one.
Sorry, I can't reproduce that.
My guess is that it might be a problem with vanilla `savehist.el' as well,
because I don't think I changed any of the code concerning that. Or it might
be a problem with Emacs 21's treatment of `compile-history' - that is, it
might be completely unrelated to savehist.
La petite histoire : `savehist-20+.el' is only a trivially modified
`savehist.el': it just doesn't rely upon features that older Emacs versions
don't have. Emacs developers didn't want to make the trivial changes that
would let `savehist.el' play well with other versions - they don't care
about that. So I posted `savehist-20+.el' at Emacs Wiki.
Perhaps someone else can reproduce the problem you see? Either using
`savehist-20+.el' or `savehist.el' (with Emacs 22 or later).
Try testing with a .emacs that contains only (require 'save-hist-20+). And
perhap try starting over by deleting your file `savehist-file' (default:
I think you're saying that this is what you see:
1. Open Emacs, then `M-x compile RET foobar'.
2. Close and reopen Emacs.
3. `M-x compile RET <up>' shows message "no preceding item".
4. <down> shows ? (what does it show?)
5. <up> shows `foobar'.
Is that right? I don't see that. At step 3, I see `foobar'.
After step 2, visit `savehist-file'. What do you see recorded for
`compile-history'? You should see something like (setq compile-history