emacs-devel
[Top][All Lists]
Advanced

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

Re: How do I tell when the current buffer is the minibuffer?


From: Alan Mackenzie
Subject: Re: How do I tell when the current buffer is the minibuffer?
Date: Sat, 5 Mar 2016 22:51:26 +0000
User-agent: Mutt/1.5.24 (2015-08-30)

Hello, Andreas.

On Sat, Mar 05, 2016 at 11:40:15PM +0100, Andreas Schwab wrote:
> Alan Mackenzie <address@hidden> writes:

> > How does one correctly create a buffer local variable in C?  What I have
> > at the moment is:

> >     DEFSYM (Qcomment_depth_hwm, "comment-depth-hwm");
> >     DEFVAR_LISP ("comment-depth-hwm", Vcomment_depth_hwm,
> >                  doc: /* Buffer position below which the `comment-depth' 
> > property is valid.  */);
> >     Vcomment_depth_hwm = make_number (1);
> >     Fmake_variable_buffer_local (Qcomment_depth_hwm);

> > This is clearly inadequate, of itself, to create a buffer local variable.

> In which way?

Until a `setq' (or the like) is done on the variable for a particular
buffer, C code reading/writing from Vcomment_depth_hwm reads and writes
the same piece of RAM that all other buffers do.

In the mean time, I've been looking around, and it might well be that
the correct way to create a buffer local variable in C is to use the
macro DEFVAR_PER_BUFFER in buffer.c.  It's doesn't seem documented
(outside of buffer.c), though.

> Andreas.

> -- 
> Andreas Schwab, address@hidden
> GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
> "And now for something completely different."

-- 
Alan Mackenzie (Nuremberg, Germany).



reply via email to

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