aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/eval.c20
1 files changed, 8 insertions, 12 deletions
diff --git a/src/eval.c b/src/eval.c
index cc131844428..8721f00389a 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -741,43 +741,39 @@ Internal use only. */)
741static union specbinding * 741static union specbinding *
742default_toplevel_binding (Lisp_Object symbol) 742default_toplevel_binding (Lisp_Object symbol)
743{ 743{
744 union specbinding *binding = NULL; 744 for (union specbinding *pdl = specpdl; pdl < specpdl_ptr; ++pdl)
745 union specbinding *pdl = specpdl_ptr;
746 while (pdl > specpdl)
747 { 745 {
748 switch ((--pdl)->kind) 746 switch (pdl->kind)
749 { 747 {
750 case SPECPDL_LET_DEFAULT: 748 case SPECPDL_LET_DEFAULT:
751 case SPECPDL_LET: 749 case SPECPDL_LET:
752 if (EQ (specpdl_symbol (pdl), symbol)) 750 if (EQ (specpdl_symbol (pdl), symbol))
753 binding = pdl; 751 return pdl;
754 break; 752 break;
755 753
756 default: break; 754 default: break;
757 } 755 }
758 } 756 }
759 return binding; 757 return NULL;
760} 758}
761 759
762static union specbinding * 760static union specbinding *
763local_toplevel_binding (Lisp_Object symbol, Lisp_Object buf) 761local_toplevel_binding (Lisp_Object symbol, Lisp_Object buf)
764{ 762{
765 union specbinding *binding = NULL; 763 for (union specbinding *pdl = specpdl; pdl < specpdl_ptr; ++pdl)
766 union specbinding *pdl = specpdl_ptr;
767 while (pdl > specpdl)
768 { 764 {
769 switch ((--pdl)->kind) 765 switch (pdl->kind)
770 { 766 {
771 case SPECPDL_LET_LOCAL: 767 case SPECPDL_LET_LOCAL:
772 if (BASE_EQ (specpdl_where (pdl), buf) 768 if (BASE_EQ (specpdl_where (pdl), buf)
773 && EQ (specpdl_symbol (pdl), symbol)) 769 && EQ (specpdl_symbol (pdl), symbol))
774 binding = pdl; 770 return pdl;
775 break; 771 break;
776 772
777 default: break; 773 default: break;
778 } 774 }
779 } 775 }
780 return binding; 776 return NULL;
781} 777}
782 778
783/* Look for a lexical-binding of SYMBOL somewhere up the stack. 779/* Look for a lexical-binding of SYMBOL somewhere up the stack.