diff options
| author | Stefan Monnier | 2007-11-19 07:42:25 +0000 |
|---|---|---|
| committer | Stefan Monnier | 2007-11-19 07:42:25 +0000 |
| commit | 136eb6ed3f689a6348e5e1c23beef2563d70d6f1 (patch) | |
| tree | cf7f465716b328887984e90d11a8d7f7b2cc1c3c | |
| parent | bae72c12b51affc4dbe7284857af5be9cee83c81 (diff) | |
| download | emacs-136eb6ed3f689a6348e5e1c23beef2563d70d6f1.tar.gz emacs-136eb6ed3f689a6348e5e1c23beef2563d70d6f1.zip | |
* data.c (store_symval_forwarding, set_internal):
* eval.c (specbind): Remove dead code.
| -rw-r--r-- | src/ChangeLog | 3 | ||||
| -rw-r--r-- | src/data.c | 13 | ||||
| -rw-r--r-- | src/eval.c | 17 |
3 files changed, 19 insertions, 14 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index d05ccc44b3d..e38d997c405 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,5 +1,8 @@ | |||
| 1 | 2007-11-19 Stefan Monnier <monnier@iro.umontreal.ca> | 1 | 2007-11-19 Stefan Monnier <monnier@iro.umontreal.ca> |
| 2 | 2 | ||
| 3 | * data.c (store_symval_forwarding, set_internal): | ||
| 4 | * eval.c (specbind): Remove dead code. | ||
| 5 | |||
| 3 | * coding.c (detect_coding, Fupdate_coding_systems_internal): | 6 | * coding.c (detect_coding, Fupdate_coding_systems_internal): |
| 4 | * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE | 7 | * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE |
| 5 | Since we do not want to see internal Lisp_*fwd objects here. | 8 | Since we do not want to see internal Lisp_*fwd objects here. |
diff --git a/src/data.c b/src/data.c index 070d5a0c7ce..2ee84f01a14 100644 --- a/src/data.c +++ b/src/data.c | |||
| @@ -922,9 +922,11 @@ store_symval_forwarding (symbol, valcontents, newval, buf) | |||
| 922 | case Lisp_Misc_Intfwd: | 922 | case Lisp_Misc_Intfwd: |
| 923 | CHECK_NUMBER (newval); | 923 | CHECK_NUMBER (newval); |
| 924 | *XINTFWD (valcontents)->intvar = XINT (newval); | 924 | *XINTFWD (valcontents)->intvar = XINT (newval); |
| 925 | if (*XINTFWD (valcontents)->intvar != XINT (newval)) | 925 | /* This can never happen since intvar points to an EMACS_INT |
| 926 | error ("Value out of range for variable `%s'", | 926 | which is at least large enough to hold a Lisp_Object. |
| 927 | SDATA (SYMBOL_NAME (symbol))); | 927 | if (*XINTFWD (valcontents)->intvar != XINT (newval)) |
| 928 | error ("Value out of range for variable `%s'", | ||
| 929 | SDATA (SYMBOL_NAME (symbol))); */ | ||
| 928 | break; | 930 | break; |
| 929 | 931 | ||
| 930 | case Lisp_Misc_Boolfwd: | 932 | case Lisp_Misc_Boolfwd: |
| @@ -1237,9 +1239,8 @@ set_internal (symbol, newval, buf, bindflag) | |||
| 1237 | || buf != XBUFFER (XBUFFER_LOCAL_VALUE (valcontents)->buffer) | 1239 | || buf != XBUFFER (XBUFFER_LOCAL_VALUE (valcontents)->buffer) |
| 1238 | || (XBUFFER_LOCAL_VALUE (valcontents)->check_frame | 1240 | || (XBUFFER_LOCAL_VALUE (valcontents)->check_frame |
| 1239 | && !EQ (selected_frame, XBUFFER_LOCAL_VALUE (valcontents)->frame)) | 1241 | && !EQ (selected_frame, XBUFFER_LOCAL_VALUE (valcontents)->frame)) |
| 1240 | || (BUFFER_LOCAL_VALUEP (valcontents) | 1242 | || (EQ (XCAR (current_alist_element), |
| 1241 | && EQ (XCAR (current_alist_element), | 1243 | current_alist_element))) |
| 1242 | current_alist_element))) | ||
| 1243 | { | 1244 | { |
| 1244 | /* The currently loaded binding is not necessarily valid. | 1245 | /* The currently loaded binding is not necessarily valid. |
| 1245 | We need to unload it, and choose a new binding. */ | 1246 | We need to unload it, and choose a new binding. */ |
diff --git a/src/eval.c b/src/eval.c index 7f5f58a2e81..74ebb0c90b6 100644 --- a/src/eval.c +++ b/src/eval.c | |||
| @@ -3263,7 +3263,6 @@ void | |||
| 3263 | specbind (symbol, value) | 3263 | specbind (symbol, value) |
| 3264 | Lisp_Object symbol, value; | 3264 | Lisp_Object symbol, value; |
| 3265 | { | 3265 | { |
| 3266 | Lisp_Object ovalue; | ||
| 3267 | Lisp_Object valcontents; | 3266 | Lisp_Object valcontents; |
| 3268 | 3267 | ||
| 3269 | CHECK_SYMBOL (symbol); | 3268 | CHECK_SYMBOL (symbol); |
| @@ -3283,9 +3282,7 @@ specbind (symbol, value) | |||
| 3283 | } | 3282 | } |
| 3284 | else | 3283 | else |
| 3285 | { | 3284 | { |
| 3286 | Lisp_Object valcontents; | 3285 | Lisp_Object ovalue = find_symbol_value (symbol); |
| 3287 | |||
| 3288 | ovalue = find_symbol_value (symbol); | ||
| 3289 | specpdl_ptr->func = 0; | 3286 | specpdl_ptr->func = 0; |
| 3290 | specpdl_ptr->old_value = ovalue; | 3287 | specpdl_ptr->old_value = ovalue; |
| 3291 | 3288 | ||
| @@ -3330,10 +3327,14 @@ specbind (symbol, value) | |||
| 3330 | specpdl_ptr->symbol = symbol; | 3327 | specpdl_ptr->symbol = symbol; |
| 3331 | 3328 | ||
| 3332 | specpdl_ptr++; | 3329 | specpdl_ptr++; |
| 3333 | if (BUFFER_OBJFWDP (ovalue) || KBOARD_OBJFWDP (ovalue)) | 3330 | /* We used to do |
| 3334 | store_symval_forwarding (symbol, ovalue, value, NULL); | 3331 | if (BUFFER_OBJFWDP (ovalue) || KBOARD_OBJFWDP (ovalue)) |
| 3335 | else | 3332 | store_symval_forwarding (symbol, ovalue, value, NULL); |
| 3336 | set_internal (symbol, value, 0, 1); | 3333 | else |
| 3334 | but ovalue comes from find_symbol_value which should never return | ||
| 3335 | such an internal value. */ | ||
| 3336 | eassert (!(BUFFER_OBJFWDP (ovalue) || KBOARD_OBJFWDP (ovalue))); | ||
| 3337 | set_internal (symbol, value, 0, 1); | ||
| 3337 | } | 3338 | } |
| 3338 | } | 3339 | } |
| 3339 | 3340 | ||