anchor.diff:              {Exp,St1} = exp_arith(Es, '/', St0),
               {yes,Exp,St1}
       end;
  +%% Logical operators.
  +exp_predef([Op|Es], _, St0)
  +  when Op =:= 'and'; Op =:= 'or'; Op =:= 'xor' ->
  +    {Exp,St1} = exp_logical(Es, Op, St0),
  +    {yes,Exp,St1};
   %% Comparison operators.
   exp_predef(['!='|Es], Env, St) -> exp_predef(['/='|Es], Env, St);
   exp_predef(['==='|Es], Env, St) -> exp_predef(['=:='|Es], Env, St);
  
positive.code: exp_meta([Doc|Rest], Meta) ->
      %% The untagged doc string but not at the end.
      ?IF(lfe_lib:is_doc_string(Doc) and (Rest =/= []),
  	exp_meta(Rest, Meta ++ [[doc,Doc]]),
  	{Meta,[Doc|Rest]});
  exp_meta([], Meta) -> {Meta,[]}.
  
  %% exp_defmacro(Rest) -> {Meta,MatchLambda}.
  
negative.code: 
  defspec_arity([[Args|_]|_]) ->
      case lfe_lib:is_proper_list(Args) of
          true -> length(Args);
          false -> 0
      end;
  defspec_arity(_) -> 0.
  
  