diff options
| author | Stefan Monnier | 2008-05-20 00:13:37 +0000 |
|---|---|---|
| committer | Stefan Monnier | 2008-05-20 00:13:37 +0000 |
| commit | 40a69fac46d1c66275912ed98beb4b34a64164bb (patch) | |
| tree | c837c8b298dfc6705b0494283dc11ecb91106123 /src | |
| parent | 12a28ea34cf170499991df5ac70abedb3884137f (diff) | |
| download | emacs-40a69fac46d1c66275912ed98beb4b34a64164bb.tar.gz emacs-40a69fac46d1c66275912ed98beb4b34a64164bb.zip | |
* xdisp.c (select_frame_for_redisplay): Adjust for last change to
indirect_variable.
* eval.c (lisp_indirect_variable): New fun.
(Fuser_variable_p): Use it.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 7 | ||||
| -rw-r--r-- | src/eval.c | 9 | ||||
| -rw-r--r-- | src/xdisp.c | 13 |
3 files changed, 22 insertions, 7 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 0232ce4a1ca..9eb5f95b5fb 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,10 @@ | |||
| 1 | 2008-05-20 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 2 | |||
| 3 | * xdisp.c (select_frame_for_redisplay): Adjust for last change to | ||
| 4 | indirect_variable. | ||
| 5 | * eval.c (lisp_indirect_variable): New fun. | ||
| 6 | (Fuser_variable_p): Use it. | ||
| 7 | |||
| 1 | 2008-05-19 Stefan Monnier <monnier@iro.umontreal.ca> | 8 | 2008-05-19 Stefan Monnier <monnier@iro.umontreal.ca> |
| 2 | 9 | ||
| 3 | * lisp.h (indirect_variable): | 10 | * lisp.h (indirect_variable): |
diff --git a/src/eval.c b/src/eval.c index 2652064e064..076ac91cb6f 100644 --- a/src/eval.c +++ b/src/eval.c | |||
| @@ -934,6 +934,13 @@ user_variable_p_eh (ignore) | |||
| 934 | return Qnil; | 934 | return Qnil; |
| 935 | } | 935 | } |
| 936 | 936 | ||
| 937 | static Lisp_Object | ||
| 938 | lisp_indirect_variable (Lisp_Object sym) | ||
| 939 | { | ||
| 940 | XSETSYMBOL (sym, indirect_variable (XSYMBOL (sym))); | ||
| 941 | return sym; | ||
| 942 | } | ||
| 943 | |||
| 937 | DEFUN ("user-variable-p", Fuser_variable_p, Suser_variable_p, 1, 1, 0, | 944 | DEFUN ("user-variable-p", Fuser_variable_p, Suser_variable_p, 1, 1, 0, |
| 938 | doc: /* Return t if VARIABLE is intended to be set and modified by users. | 945 | doc: /* Return t if VARIABLE is intended to be set and modified by users. |
| 939 | \(The alternative is a variable used internally in a Lisp program.) | 946 | \(The alternative is a variable used internally in a Lisp program.) |
| @@ -954,7 +961,7 @@ chain of symbols. */) | |||
| 954 | 961 | ||
| 955 | /* If indirect and there's an alias loop, don't check anything else. */ | 962 | /* If indirect and there's an alias loop, don't check anything else. */ |
| 956 | if (XSYMBOL (variable)->indirect_variable | 963 | if (XSYMBOL (variable)->indirect_variable |
| 957 | && NILP (internal_condition_case_1 (indirect_variable, variable, | 964 | && NILP (internal_condition_case_1 (lisp_indirect_variable, variable, |
| 958 | Qt, user_variable_p_eh))) | 965 | Qt, user_variable_p_eh))) |
| 959 | return Qnil; | 966 | return Qnil; |
| 960 | 967 | ||
diff --git a/src/xdisp.c b/src/xdisp.c index 9f0c173d5b7..83e84861425 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -11033,8 +11033,9 @@ static void | |||
| 11033 | select_frame_for_redisplay (frame) | 11033 | select_frame_for_redisplay (frame) |
| 11034 | Lisp_Object frame; | 11034 | Lisp_Object frame; |
| 11035 | { | 11035 | { |
| 11036 | Lisp_Object tail, sym, val; | 11036 | Lisp_Object tail, symbol, val; |
| 11037 | Lisp_Object old = selected_frame; | 11037 | Lisp_Object old = selected_frame; |
| 11038 | struct Lisp_Symbol *sym; | ||
| 11038 | 11039 | ||
| 11039 | xassert (FRAMEP (frame) && FRAME_LIVE_P (XFRAME (frame))); | 11040 | xassert (FRAMEP (frame) && FRAME_LIVE_P (XFRAME (frame))); |
| 11040 | 11041 | ||
| @@ -11044,15 +11045,15 @@ select_frame_for_redisplay (frame) | |||
| 11044 | { | 11045 | { |
| 11045 | for (tail = XFRAME (frame)->param_alist; CONSP (tail); tail = XCDR (tail)) | 11046 | for (tail = XFRAME (frame)->param_alist; CONSP (tail); tail = XCDR (tail)) |
| 11046 | if (CONSP (XCAR (tail)) | 11047 | if (CONSP (XCAR (tail)) |
| 11047 | && (sym = XCAR (XCAR (tail)), | 11048 | && (symbol = XCAR (XCAR (tail)), |
| 11048 | SYMBOLP (sym)) | 11049 | SYMBOLP (symbol)) |
| 11049 | && (sym = indirect_variable (sym), | 11050 | && (sym = indirect_variable (XSYMBOL (symbol)), |
| 11050 | val = SYMBOL_VALUE (sym), | 11051 | val = sym->value, |
| 11051 | (BUFFER_LOCAL_VALUEP (val))) | 11052 | (BUFFER_LOCAL_VALUEP (val))) |
| 11052 | && XBUFFER_LOCAL_VALUE (val)->check_frame) | 11053 | && XBUFFER_LOCAL_VALUE (val)->check_frame) |
| 11053 | /* Use find_symbol_value rather than Fsymbol_value | 11054 | /* Use find_symbol_value rather than Fsymbol_value |
| 11054 | to avoid an error if it is void. */ | 11055 | to avoid an error if it is void. */ |
| 11055 | find_symbol_value (sym); | 11056 | find_symbol_value (symbol); |
| 11056 | } while (!EQ (frame, old) && (frame = old, 1)); | 11057 | } while (!EQ (frame, old) && (frame = old, 1)); |
| 11057 | } | 11058 | } |
| 11058 | 11059 | ||