emacs-devel
[Top][All Lists]
Advanced

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

Re: Buffer size limitation in insdel.c


From: Eli Zaretskii
Subject: Re: Buffer size limitation in insdel.c
Date: Thu, 23 Sep 2010 16:13:55 +0200

> From: Lars Magne Ingebrigtsen <address@hidden>
> Date: Thu, 23 Sep 2010 15:37:35 +0200
> 
> Eli Zaretskii <address@hidden> writes:
> 
> > And I don't see how you could possibly get it, since
> > window_left_edge_col is an int, whereas WINDOW_LEFT_EDGE_COL is
> > defined like this:
> >
> >     #define WINDOW_LEFT_EDGE_COL(W) \
> >       (XFASTINT ((W)->left_col))
> >
> > So it already extracts the integer from a Lisp_Object.  What am I
> > missing?
> 
> Hm.  What version of XFASTINT is being used by default?  If it's this
> one, I can perhaps understand the warning.  I think.  
> 
> #define XFASTINT(a) ((a) + 0)

Use "gcc -E" to see.  In my case, the result is this:

   matrix->window_left_col = (((((long) ((w)->left_col)) >> (3 - 1))));

which looks correct, unless I'm totally confused.

So I think the definition used, at least in my case, is this:

  #ifndef XFASTINT
  # define XFASTINT(a) (XINT (a))

because XINT has this definition:

  # define XINT(a) (((EMACS_INT) (a)) >> (GCTYPEBITS - 1))



reply via email to

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