I have a weird problem to which I cannot figure out the answer. When defining two functions and then using them inside ParametricPlot in a Manipulate, no graph is produced. Pasting the functions directly into ParametricPlot creates the Plot. I tried to use Evaluate, but no success. What am I not getting? Attached is a notebook that shows what works and what does not. 
Thanks for any explanation as to what isgoing on. 
 x[t_] := R Cos[t] + r Cos[k t]
 y[t_] := R Sin[t] + r Sin[k t]
 
 Manipulate[
  ParametricPlot[{x[t], y[t]}, {t, 0, 2 \[Pi]}, Axes -> True, 
   PlotRange -> {{-4, 4}, {-4, 4}}, 
   PlotStyle -> {Thick, Red}], {{R, 1}, 1, 2}, {{r, .5}, -1, 
   2}, {{k, 7}, 1, 11}]
 
(* this one did not work*)
Manipulate[
 ParametricPlot[{R Cos[t] + r Cos[k t], R Sin[t] + r Sin[k t]}, {t, 0,
    2 \[Pi]}, Axes -> False, PlotRange -> {{-4, 4}, {-4, 4}}, 
  PlotStyle -> {Thick, Red}], {{R, 1}, 1, 2}, {{r, .5}, -1, 
  2}, {{k, 7}, 1, 11}]
(* This one work s perfectly *)
xx[t_] = R Cos[t] + r Cos[k t];
yy[t_] = R Sin[t] + r Sin[k t];
Manipulate[
 ParametricPlot[{xx[t], yy[t]}, {t, 0, 2 \[Pi]}, Axes -> True, 
  PlotRange -> {{-4, 4}, {-4, 4}}, 
  PlotStyle -> {Thick, Red}], {{R, 1}, 1, 2}, {{r, .5}, -1, 
  2}, {{k, 7}, 1, 11}]
(*Tried with = instead of := function assignment, but that did not change anything *)