unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
* killing an indirect buffer
@ 2010-03-01 18:09 Erik Iverson
  0 siblings, 0 replies; 2+ messages in thread
From: Erik Iverson @ 2010-03-01 18:09 UTC (permalink / raw)
  To: help-gnu-emacs

I am working with indirect buffers. According to the GNU Emacs manual,

"Killing the base buffer effectively kills the indirect buffer, but 
killing an indirect buffer has no effect on its base buffer."

But I do want the base-buffer killed when a user kills the indirect 
buffer in my specific application. Can anyone think of a way to have the 
base-buffer killed when an indirect buffer is killed?  I first thought 
of something like the following hook, made buffer-local in my indirect 
buffer:

   (add-hook 'kill-buffer-hook 'my-kill-buffer-hook-fun)

   (defun my-kill-buffer-hook-fun ()
      (kill-buffer (buffer-base-buffer)))

but then killing the indirect buffer will attempt to kill the 
base-buffer which will attempt to kill the indirect buffer, which will 
attempt ...


and I get "not: Lisp nesting exceeds `max-lisp-eval-depth'"


Thanks!
Erik Iverson




^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: killing an indirect buffer
       [not found] <mailman.2100.1267466997.14305.help-gnu-emacs@gnu.org>
@ 2010-03-01 21:43 ` Stefan Monnier
  0 siblings, 0 replies; 2+ messages in thread
From: Stefan Monnier @ 2010-03-01 21:43 UTC (permalink / raw)
  To: help-gnu-emacs

> But I do want the base-buffer killed when a user kills the indirect buffer
> in my specific application. Can anyone think of a way to have the
> base-buffer killed when an indirect buffer is killed?  I first thought of
> something like the following hook, made buffer-local in my indirect buffer:

>   (add-hook 'kill-buffer-hook 'my-kill-buffer-hook-fun)

>   (defun my-kill-buffer-hook-fun ()
>      (kill-buffer (buffer-base-buffer)))

You can try:

  (defun my-kill-buffer-hook-fun ()
    (let ((kill-buffer-hook nil))
     (kill-buffer (buffer-base-buffer))))

You'll also want to try and make sure that your my-kill-buffer-hook-fun
is run last in kill-buffer-hook.


        Stefan


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2010-03-01 21:43 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-03-01 18:09 killing an indirect buffer Erik Iverson
     [not found] <mailman.2100.1267466997.14305.help-gnu-emacs@gnu.org>
2010-03-01 21:43 ` Stefan Monnier

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).