help-gnu-emacs
[Top][All Lists]
Advanced

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

RE: *Buffer List* column resizing for emacs >= 24.2.50.1


From: Drew Adams
Subject: RE: *Buffer List* column resizing for emacs >= 24.2.50.1
Date: Wed, 17 Apr 2013 20:16:33 -0700

> How to get *Buffer List* column resizing on a recent GNU Emacs?
> GNU Emacs 24.2.50.1

BTW, be aware that that is an old development snapshot, not a release.  You are
likely better off with Emacs 24.2 or 24.3 - more stable.

> I tried installing Buffer Menu Plus
> http://www.emacswiki.org/BufferMenuPlus

> 4. byte-compile-file'ing init.el

(You probably do not need to byte-compile your init file, but that should be
irrelevant here.  It is generally not recommended to byte-compile it - see
(emacs) `Init File'.)

> This failed... I assumed this was due to incompatibility
> with later buff-menu.el as discussed @ tail of
> http://www.emacswiki.org/BufferMenuPlus

Yes.  Emacs Dev rewrote buff-menu.el in Emacs 24.2 to use tabulated list mode.
I have not yet updated buff-menu+.el (and might never get around to it) to adapt
to that change.

> I attempted to solve as also discussed there
...
> $ mv ./lisp/buff-menu.el ~/.emacs.d/site-lisp/

While that's not necessarily bad to do, you can also just put the Emacs 23
buff-menu.el in some other directory that is in your `load-path' - it need not
be site-lisp.  The important thing is that wherever it is, it be in your
`load-path' before any other buff-menu.el[c].

> and then byte-compile-file'd ~/.emacs.d/site-lisp/buff-menu.el and
> ~/.emacs.d/init.el, getting no errors. I then restarted emacs: no
> change, same startup error in *Backtrace*.

What you describe should have worked.  My guess is that the Emacs 24.2+
buff-menu.el[c] is being picked up, not the Emacs 23 buff-menu.el[c].

You can check whether that is the case using any of these commands:

 `locate-library'
 `list-load-path-shadows'
 `find-library buff-menu'

Whichever buff-menu.el[c] is loaded first, based on your `load-path', will
prevent the other from ever being loaded and thus used.

If that is in fact the problem, then either change your `load-path' order or put
the Emacs 23 buff-menu.el[c] in the right directory, so it gets picked up first.

The simplest, and probably the best, approach is to put files that you gather
here and there in your own Lisp directory somewhere, and put that first in your
`load-path'.

E.g., put the Emacs 23 buff-menu.el and buff-menu+.el files in directory
/some/where/my-lisp/, and do this in your init file:

(add-to-list 'load-path "/some/where/my-lisp/")
(require 'buff-menu+)

That should be all you need.  That `add-to-list' sexp puts your directory first.

> I then tried changing my init.el from (require 'buff-menu+)
> to (load (concat LOCAL-EMACS-LISP-DIR "/buff-menu.elc"))
>    (load (concat LOCAL-EMACS-LISP-DIR "/buff-menu+.elc"))

Don't bother with absolute file names for this.  Try to rely on `load-path' and
`require'.  (Anyway, it is better to use `expand-file-name' than `concat' when
fiddling with file names.)

> This still fails, but with a shorter error :-)
> So I'm wondering: how can I get a *Buffer List* with 
> resizeable columns?

See above.  My guess is that you just have to help Emacs find the right
buff-menu.el[c].  And the answer to that is `load-path'.

You can follow up with me off list, if you like.




reply via email to

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