summaryrefslogtreecommitdiff
path: root/src/lread.c
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2012-08-01 13:51:44 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2012-08-01 13:51:44 -0700
commit4939150cb43137980c49b318bc70119b9d8ff6f7 (patch)
treebcee8eb23f3a6388789bd808a5539dae6e2fc854 /src/lread.c
parent947b2afddc9f54a999125aa7e8c9a705ecb51e18 (diff)
downloademacs-4939150cb43137980c49b318bc70119b9d8ff6f7.tar.gz
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.
Diffstat (limited to 'src/lread.c')
-rw-r--r--src/lread.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/lread.c b/src/lread.c
index 8a9547ee579..d1549a34264 100644
--- a/src/lread.c
+++ b/src/lread.c
@@ -3715,7 +3715,7 @@ it defaults to the value of `obarray'. */)
SET_SYMBOL_VAL (XSYMBOL (sym), sym);
}
- ptr = &AREF (obarray, XINT(tem));
+ ptr = aref_addr (obarray, XINT(tem));
if (SYMBOLP (*ptr))
XSYMBOL (sym)->next = XSYMBOL (*ptr);
else
@@ -3797,9 +3797,13 @@ OBARRAY defaults to the value of the variable `obarray'. */)
if (EQ (AREF (obarray, hash), tem))
{
if (XSYMBOL (tem)->next)
- XSETSYMBOL (AREF (obarray, hash), XSYMBOL (tem)->next);
+ {
+ Lisp_Object sym;
+ XSETSYMBOL (sym, XSYMBOL (tem)->next);
+ ASET (obarray, hash, sym);
+ }
else
- XSETINT (AREF (obarray, hash), 0);
+ ASET (obarray, hash, make_number (0));
}
else
{