Mercurial > emacs
comparison src/data.c @ 85594:237166b2d28f
(Fmake_variable_buffer_local, Fmake_local_variable)
(Fmake_variable_frame_local): Just check the variable's const-ness
rather than checking nil or t.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Tue, 23 Oct 2007 20:56:27 +0000 |
parents | d0d527210b0c |
children | 8743273c407c 4bc33ffdda1a |
comparison
equal
deleted
inserted
replaced
85593:f51a2276e8b3 | 85594:237166b2d28f |
---|---|
1519 | 1519 |
1520 CHECK_SYMBOL (variable); | 1520 CHECK_SYMBOL (variable); |
1521 variable = indirect_variable (variable); | 1521 variable = indirect_variable (variable); |
1522 | 1522 |
1523 valcontents = SYMBOL_VALUE (variable); | 1523 valcontents = SYMBOL_VALUE (variable); |
1524 if (EQ (variable, Qnil) || EQ (variable, Qt) || KBOARD_OBJFWDP (valcontents)) | 1524 if (XSYMBOL (variable)->constant || KBOARD_OBJFWDP (valcontents)) |
1525 error ("Symbol %s may not be buffer-local", SDATA (SYMBOL_NAME (variable))); | 1525 error ("Symbol %s may not be buffer-local", SDATA (SYMBOL_NAME (variable))); |
1526 | 1526 |
1527 if (BUFFER_OBJFWDP (valcontents)) | 1527 if (BUFFER_OBJFWDP (valcontents)) |
1528 return variable; | 1528 return variable; |
1529 else if (BUFFER_LOCAL_VALUEP (valcontents)) | 1529 else if (BUFFER_LOCAL_VALUEP (valcontents)) |
1576 | 1576 |
1577 CHECK_SYMBOL (variable); | 1577 CHECK_SYMBOL (variable); |
1578 variable = indirect_variable (variable); | 1578 variable = indirect_variable (variable); |
1579 | 1579 |
1580 valcontents = SYMBOL_VALUE (variable); | 1580 valcontents = SYMBOL_VALUE (variable); |
1581 if (EQ (variable, Qnil) || EQ (variable, Qt) || KBOARD_OBJFWDP (valcontents)) | 1581 if (XSYMBOL (variable)->constant || KBOARD_OBJFWDP (valcontents)) |
1582 error ("Symbol %s may not be buffer-local", SDATA (SYMBOL_NAME (variable))); | 1582 error ("Symbol %s may not be buffer-local", SDATA (SYMBOL_NAME (variable))); |
1583 | 1583 |
1584 if ((BUFFER_LOCAL_VALUEP (valcontents) | 1584 if ((BUFFER_LOCAL_VALUEP (valcontents) |
1585 && XBUFFER_LOCAL_VALUE (valcontents)->local_if_set) | 1585 && XBUFFER_LOCAL_VALUE (valcontents)->local_if_set) |
1586 || BUFFER_OBJFWDP (valcontents)) | 1586 || BUFFER_OBJFWDP (valcontents)) |
1731 | 1731 |
1732 CHECK_SYMBOL (variable); | 1732 CHECK_SYMBOL (variable); |
1733 variable = indirect_variable (variable); | 1733 variable = indirect_variable (variable); |
1734 | 1734 |
1735 valcontents = SYMBOL_VALUE (variable); | 1735 valcontents = SYMBOL_VALUE (variable); |
1736 if (EQ (variable, Qnil) || EQ (variable, Qt) || KBOARD_OBJFWDP (valcontents) | 1736 if (XSYMBOL (variable)->constant || KBOARD_OBJFWDP (valcontents) |
1737 || BUFFER_OBJFWDP (valcontents)) | 1737 || BUFFER_OBJFWDP (valcontents)) |
1738 error ("Symbol %s may not be frame-local", SDATA (SYMBOL_NAME (variable))); | 1738 error ("Symbol %s may not be frame-local", SDATA (SYMBOL_NAME (variable))); |
1739 | 1739 |
1740 if (BUFFER_LOCAL_VALUEP (valcontents)) | 1740 if (BUFFER_LOCAL_VALUEP (valcontents)) |
1741 { | 1741 { |