[Top][All Lists]

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

Re: Number of open buffers?

From: Micah Cowan
Subject: Re: Number of open buffers?
Date: 20 Nov 2003 10:10:17 -0800
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.1

Ignoramus1904 <ignoramus1904@NOSPAM.1904.invalid> writes:

> In article <>, Eli Zaretskii 
> wrote:
> >> From: Ignoramus1904 <ignoramus1904@NOSPAM.1904.invalid>
> >> Newsgroups:
> >> Date: 20 Nov 2003 15:12:12 GMT
> >> 
> >> Sometimes though I have just one file open for quick editing. Then I
> >> do want to exit on \C-x\C-c.
> >> 
> >> I want to modify it so that if the # of open file buffers is more than
> >> one, emacs would ask YES/NO, if less, I exit. I am a very bad lisp
> >> programmer, any suggestions?
> > 
> > The expression (length (buffer-list)) will return the number of
> > buffers in your Emacs session.  You will need to make allowances for
> > the minubuffer and buffers like *Messages* and *scratch* that are
> > always present.  There are usually 6 such buffers, so subtract 6 from
> > what the expression above returns and compare it with 1.

I seem to get more than 6. YMMV, I think, so it can't be relied

> > 
> > For a more bullet-proof code, walk the buffer list returned by the
> > function buffer-list, and filter out any buffer which doesn't have a
> > file associated with it (its buffer-file-name will be nil).  What is
> > left are the buffers which visit files.
> > 
> > HTH
> > 
> > 
> > 
> Thanks Eli, sounds a little bit above my head to be honest. I do C++
> and Perl and do not know Lisp well. I just thought that there was a
> function like get-number-of-file-buffers, or something like that.

The following is what he's talking about, I think:

(defun get-number-of-file-buffers ()
  (let (num)
    (setq num 0)
    (dolist (buf (buffer-list))
      (when (buffer-file-name buf)
          (setq num (+ num 1))

Another possibility would be to have an alias to one or other
emacs that invokes emacs in the way you want (with or without the
"are you sure?" stuff): then just use one name for emacs when you
don't want to be asked, and another for when you do.

Micah J. Cowan

reply via email to

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