Commit a442d743b0f3479e256dfbf70ead51c3d7aaeed6
- Diff rendering mode:
- inline
- side by side
src/data.c
(13 / 8)
|   | |||
| 839 | 839 | ||
| 840 | 840 | break; | |
| 841 | 841 | } | |
| 842 | |||
| 843 | 842 | } | |
| 844 | 843 | ||
| 844 | if (EQ (parent, Qnil)) | ||
| 845 | val = XTHREADLOCAL (l->realvalue)->global; | ||
| 846 | |||
| 845 | 847 | XSETFASTINT (len, 4); | |
| 846 | 848 | ret = Fmake_vector (len, Qnil); | |
| 847 | 849 | ||
| … | … | ||
| 928 | 928 | Lisp_Object cons = assq_no_quit (get_current_thread (), | |
| 929 | 929 | thr->thread_alist); | |
| 930 | 930 | if (!EQ (cons, Qnil)) | |
| 931 | return &XCDR_AS_LVALUE (cons); | ||
| 931 | return &XCDR_AS_LVALUE (cons); | ||
| 932 | 932 | ||
| 933 | 933 | return &thr->global; | |
| 934 | 934 | } | |
| … | … | ||
| 958 | 958 | if (NILP (cons)) | |
| 959 | 959 | { | |
| 960 | 960 | struct Lisp_ThreadLocal *local = XTHREADLOCAL (*root); | |
| 961 | cons = Fcons (get_current_thread (), XTHREADLOCAL (*root)->global); | ||
| 961 | cons = Fcons (get_current_thread (), Qthread_local_mark); | ||
| 962 | 962 | local->thread_alist = Fcons (cons, local->thread_alist); | |
| 963 | 963 | } | |
| 964 | 964 | ||
| … | … | ||
| 1193 | 1193 | !NILP (it); it = XCDR (it)) | |
| 1194 | 1194 | { | |
| 1195 | 1195 | Lisp_Object head = XCDR (XCAR (it)); | |
| 1196 | if (EQ (BLOCAL_BUFFER (XBUFFER_LOCAL_VALUE (valcontents)), | ||
| 1196 | if (1 || EQ (BLOCAL_BUFFER (XBUFFER_LOCAL_VALUE (valcontents)), | ||
| 1197 | 1197 | BLOCAL_BUFFER_VEC (head)) | |
| 1198 | 1198 | && (! XBUFFER_LOCAL_VALUE (valcontents)->check_frame | |
| 1199 | 1199 | || EQ (selected_frame, BLOCAL_FRAME_VEC (head)))) | |
| … | … | ||
| 1202 | 1202 | = XBUFFER_LOCAL_VALUE (valcontents)->realvalue; | |
| 1203 | 1203 | ||
| 1204 | 1204 | if (EQ (BLOCAL_CDR_VEC (head), | |
| 1205 | XCAR (BLOCAL_CDR_VEC (head)))) | ||
| 1205 | XCAR (BLOCAL_CDR_VEC (head)))) | ||
| 1206 | 1206 | Fsetcdr (assq_no_quit (XCAR (XCAR (it)), | |
| 1207 | 1207 | XTHREADLOCAL (rv)->thread_alist), | |
| 1208 | 1208 | newval); | |
| 1209 | |||
| 1209 | 1210 | XSETCDR (XCAR (BLOCAL_CDR_VEC (head)), newval); | |
| 1210 | 1211 | } | |
| 1211 | 1212 | } | |
| 1212 | 1213 | } | |
| 1213 | BLOCAL_REALVALUE (XBUFFER_LOCAL_VALUE (valcontents)) = newval; | ||
| 1214 | BLOCAL_REALVALUE (XBUFFER_LOCAL_VALUE (valcontents)) = newval; | ||
| 1214 | 1215 | } | |
| 1215 | 1216 | else if (THREADLOCALP (valcontents)) | |
| 1216 | 1217 | { | |
| … | … | ||
| 1812 | 1812 | XBUFFER_LOCAL_VALUE (newval)->realvalue = allocate_misc (); | |
| 1813 | 1813 | XMISCTYPE (XBUFFER_LOCAL_VALUE (newval)->realvalue) | |
| 1814 | 1814 | = Lisp_Misc_ThreadLocal; | |
| 1815 | XTHREADLOCAL (XBUFFER_LOCAL_VALUE (newval)->realvalue)->global = Qnil; | ||
| 1815 | XTHREADLOCAL (XBUFFER_LOCAL_VALUE (newval)->realvalue)->global | ||
| 1816 | = valcontents; | ||
| 1816 | 1817 | XTHREADLOCAL (XBUFFER_LOCAL_VALUE (newval)->realvalue)->thread_alist | |
| 1817 | 1818 | = Fcons (Fcons (get_current_thread (), Qnil), Qnil); | |
| 1818 | 1819 | BLOCAL_REALVALUE (XBUFFER_LOCAL_VALUE (newval)) = sym->value; | |
| … | … | ||
| 1980 | 1980 | XBUFFER_LOCAL_VALUE (newval)->realvalue = allocate_misc (); | |
| 1981 | 1981 | XMISCTYPE (XBUFFER_LOCAL_VALUE (newval)->realvalue) | |
| 1982 | 1982 | = Lisp_Misc_ThreadLocal; | |
| 1983 | XTHREADLOCAL (XBUFFER_LOCAL_VALUE (newval)->realvalue)->global = Qnil; | ||
| 1983 | XTHREADLOCAL (XBUFFER_LOCAL_VALUE (newval)->realvalue)->global | ||
| 1984 | = valcontents; | ||
| 1984 | 1985 | XTHREADLOCAL (XBUFFER_LOCAL_VALUE (newval)->realvalue)->thread_alist | |
| 1985 | 1986 | = Fcons (Fcons (get_current_thread (), Qnil), Qnil); | |
| 1986 | 1987 | BLOCAL_REALVALUE (XBUFFER_LOCAL_VALUE (newval)) = sym->value; |

