Commit de06ef64c4ff321258e8c7a03c9fee46b5e1be39
- Diff rendering mode:
- inline
- side by side
src/buffer.c
(2 / 0)
|   | |||
| 2666 | 2666 | { | |
| 2667 | 2667 | if (CONSP (XCAR (alist)) | |
| 2668 | 2668 | && (sym = XCAR (XCAR (alist)), SYMBOLP (sym)) | |
| 2669 | && (blocal_get_thread_data (XBUFFER_LOCAL_VALUE (SYMBOL_VALUE (sym)), | ||
| 2670 | sym), 1) | ||
| 2669 | 2671 | /* Need not do anything if some other buffer's binding is | |
| 2670 | 2672 | now encached. */ | |
| 2671 | 2673 | && EQ (BLOCAL_BUFFER (XBUFFER_LOCAL_VALUE (SYMBOL_VALUE (sym))), |
src/data.c
(10 / 1)
|   | |||
| 813 | 813 | return &XCDR_AS_LVALUE (ensure_thread_local (&(blv->realvalue))); | |
| 814 | 814 | } | |
| 815 | 815 | ||
| 816 | /* Retrieve the buffer local data for the caller thread. SYMBOL is used only | ||
| 817 | when the specified buffer local value does not have a binding for the thread | ||
| 818 | and a new one must be created. */ | ||
| 819 | |||
| 816 | 820 | Lisp_Object * | |
| 817 | 821 | blocal_get_thread_data (struct Lisp_Buffer_Local_Value *l, Lisp_Object symbol) | |
| 818 | 822 | { | |
| … | … | ||
| 825 | 825 | { | |
| 826 | 826 | Lisp_Object tem, val, len; | |
| 827 | 827 | ||
| 828 | if (NILP (symbol)) | ||
| 828 | if (NILP (symbol) || !initialized) | ||
| 829 | 829 | abort (); | |
| 830 | 830 | ||
| 831 | 831 | XSETFASTINT (len, 4); | |
| … | … | ||
| 1397 | 1397 | if (XSYMBOL (symbol)->indirect_variable) | |
| 1398 | 1398 | XSETSYMBOL (symbol, indirect_variable (XSYMBOL (symbol))); | |
| 1399 | 1399 | ||
| 1400 | blocal_get_thread_data (XBUFFER_LOCAL_VALUE (valcontents), symbol); | ||
| 1401 | |||
| 1400 | 1402 | /* What binding is loaded right now? */ | |
| 1401 | 1403 | current_alist_element | |
| 1402 | 1404 | = XCAR (BLOCAL_CDR (XBUFFER_LOCAL_VALUE (valcontents))); | |
| … | … | ||
| 1518 | 1518 | But the `realvalue' slot may be more up to date, since | |
| 1519 | 1519 | ordinary setq stores just that slot. So use that. */ | |
| 1520 | 1520 | Lisp_Object current_alist_element, alist_element_car; | |
| 1521 | |||
| 1522 | blocal_get_thread_data (XBUFFER_LOCAL_VALUE (valcontents), symbol); | ||
| 1523 | |||
| 1521 | 1524 | current_alist_element | |
| 1522 | 1525 | = XCAR (BLOCAL_CDR (XBUFFER_LOCAL_VALUE (valcontents))); | |
| 1523 | 1526 | alist_element_car = XCAR (current_alist_element); |

