aboutsummaryrefslogtreecommitdiffstats
path: root/src/eval.c
diff options
context:
space:
mode:
authorStefan Monnier2012-06-07 22:47:26 -0400
committerStefan Monnier2012-06-07 22:47:26 -0400
commit4f18a4ed84d7268090a92a194dcda40cae1197dd (patch)
tree240fec2999a3a8338795e4e0fb4f5aea35d45058 /src/eval.c
parent0e8bbf669099d453b89e47896c8e897f390118ad (diff)
downloademacs-4f18a4ed84d7268090a92a194dcda40cae1197dd.tar.gz
emacs-4f18a4ed84d7268090a92a194dcda40cae1197dd.zip
* src/eval.c (Fmacroexpand): Stop if the macro returns the same form.
Diffstat (limited to 'src/eval.c')
-rw-r--r--src/eval.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/eval.c b/src/eval.c
index 1da841a4073..85ff3ae19e6 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -1020,7 +1020,13 @@ definitions to shadow the loaded ones for use in file byte-compilation. */)
1020 if (NILP (expander)) 1020 if (NILP (expander))
1021 break; 1021 break;
1022 } 1022 }
1023 form = apply1 (expander, XCDR (form)); 1023 {
1024 Lisp_Object newform = apply1 (expander, XCDR (form));
1025 if (EQ (form, newform))
1026 break;
1027 else
1028 form = newform;
1029 }
1024 } 1030 }
1025 return form; 1031 return form;
1026} 1032}