From: Paul Eggert Date: Thu, 23 Jun 2011 05:35:51 +0000 (-0700) Subject: * lisp.h (DEFVAR_KBOARD): Use offsetof instead of char * finagling. X-Git-Tag: emacs-pretest-24.0.90~104^2~152^2~434 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=437b2cb453cedf1a9033b2082879f1964c67ed23;p=emacs.git * lisp.h (DEFVAR_KBOARD): Use offsetof instead of char * finagling. --- diff --git a/src/ChangeLog b/src/ChangeLog index 8ec648e71cf..6cf45e5d2aa 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,7 @@ 2011-06-23 Paul Eggert + * lisp.h (DEFVAR_KBOARD): Use offsetof instead of char * finagling. + * lread.c: Integer overflow fixes. (read_integer): Radix is now EMACS_INT, not int, to improve quality of diagnostics for out-of-range radices. diff --git a/src/lisp.h b/src/lisp.h index 4c9543bdfe8..289ed2caa7c 100644 --- a/src/lisp.h +++ b/src/lisp.h @@ -1980,10 +1980,7 @@ extern void defvar_kboard (struct Lisp_Kboard_Objfwd *, const char *, int); #define DEFVAR_KBOARD(lname, vname, doc) \ do { \ static struct Lisp_Kboard_Objfwd ko_fwd; \ - defvar_kboard (&ko_fwd, \ - lname, \ - (int)((char *)(¤t_kboard->vname ## _) \ - - (char *)current_kboard)); \ + defvar_kboard (&ko_fwd, lname, offsetof (KBOARD, vname ## _)); \ } while (0)