Subject: Re: bug#12118: Windows build crashes compiling macroexp.el during bootstrap of r109394

From: Juanma Barranquero <[email-masked]>
Date: Thu, 2 Aug 2012 14:36:34 +0200

The assert failure disappears after reverting this change.

------------------------------------------------------------
revno: 109381
committer: Paul Eggert <[email-masked]>
branch nick: trunk
timestamp: Wed 2012-08-01 13:51:44 -0700
message:
  Use "ASET (a, i, v)" rather than "AREF (a, i) = v".

  This how ASET and AREF are supposed to work, and makes
  it easier to think about future improvements.  See
  <http://lists.gnu.org/archive/html/emacs-devel/2012-08/msg00026.html>.
  * charset.h (set_charset_attr): New function.
  All lvalue-style uses of CHARSET_DECODER etc. changed to use it.
  * lisp.h (ASET): Rewrite so as not to use AREF in an lvalue style.
  (aref_addr): New function.  All uses of &AREF(...) changed.
  (set_hash_key, set_hash_value, set_hash_next, set_hash_hash)
  (set_hash_index): New functions.  All lvalue-style uses of
  HASH_KEY etc. changed.
  * keyboard.c (set_prop): New function.  All lvalue-style uses
  of PROP changed.