unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: martin rudalics <rudalics@gmx.at>
To: rms@gnu.org
Cc: dmantipov@yandex.ru, Stefan Monnier <monnier@iro.umontreal.ca>,
	emacs-devel@gnu.org
Subject: Re: get-live-buffer primitive
Date: Fri, 14 Sep 2012 11:00:59 +0200	[thread overview]
Message-ID: <5052F24B.9070304@gmx.at> (raw)
In-Reply-To: <E1TCGI9-00039W-OA@fencepost.gnu.org>

 > Meanwhile, `get-buffer' will not find a dead buffer by name.
 > So I don't see a need to create a `get-live-buffer' function.
 > Unless the purpose were only to get an error if the argument
 > is a dead buffer.

Just a few examples that could benefit from such a function:

Fset_window_buffer has

   buffer = Fget_buffer (buffer_or_name);
   CHECK_BUFFER (buffer);
   if (NILP (BVAR (XBUFFER (buffer), name)))
     error ("Attempt to display deleted buffer");

Finsert_buffer_substring

   buf = Fget_buffer (buffer);
   if (NILP (buf))
     nsberror (buffer);
   bp = XBUFFER (buf);
   if (!BUFFER_LIVE_P (bp))
     error ("Selecting deleted buffer");

Fcompare_buffer_substrings

       buf1 = Fget_buffer (buffer1);
       if (NILP (buf1))
	nsberror (buffer1);
       bp1 = XBUFFER (buf1);
       if (!BUFFER_LIVE_P (bp1))
	error ("Selecting deleted buffer");

       ...

       buf2 = Fget_buffer (buffer2);
       if (NILP (buf2))
	nsberror (buffer2);
       bp2 = XBUFFER (buf2);
       if (!BUFFER_LIVE_P (bp2))
	error ("Selecting deleted buffer");

Fset_buffer

   buffer = Fget_buffer (buffer_or_name);
   if (NILP (buffer))
     nsberror (buffer_or_name);
   if (!BUFFER_LIVE_P (XBUFFER (buffer)))
     error ("Selecting deleted buffer");

martin



  reply	other threads:[~2012-09-14  9:00 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-13  7:52 get-live-buffer primitive Dmitry Antipov
2012-09-13 12:44 ` Richard Stallman
2012-09-13 13:42   ` Stefan Monnier
2012-09-13 16:50     ` martin rudalics
2012-09-13 17:00       ` martin rudalics
2012-09-13 17:30         ` martin rudalics
2012-09-13 20:45     ` Richard Stallman
2012-09-14  9:00       ` martin rudalics [this message]
2012-09-13 12:58 ` Stefan Monnier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5052F24B.9070304@gmx.at \
    --to=rudalics@gmx.at \
    --cc=dmantipov@yandex.ru \
    --cc=emacs-devel@gnu.org \
    --cc=monnier@iro.umontreal.ca \
    --cc=rms@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).