786 |
{ |
{ |
787 |
if (NILP (tem)) |
if (NILP (tem)) |
788 |
Fset_default (sym, Feval (Fcar (tail))); |
Fset_default (sym, Feval (Fcar (tail))); |
789 |
|
else |
790 |
|
{ /* Check if there is really a global binding rather than just a let |
791 |
|
binding that shadows the global unboundness of the var. */ |
792 |
|
struct specbinding *pdl = specpdl_ptr; |
793 |
|
while (--pdl >= specpdl) |
794 |
|
{ |
795 |
|
if (EQ (pdl->symbol, sym) && !pdl->func |
796 |
|
&& EQ (pdl->old_value, Qunbound)) |
797 |
|
{ |
798 |
|
message_with_string ("Warning: defvar ignored because %s is let-bound", |
799 |
|
SYMBOL_NAME (sym), 1); |
800 |
|
break; |
801 |
|
} |
802 |
|
} |
803 |
|
} |
804 |
tail = Fcdr (tail); |
tail = Fcdr (tail); |
805 |
tem = Fcar (tail); |
tem = Fcar (tail); |
806 |
if (!NILP (tem)) |
if (!NILP (tem)) |