Two path names inside intersections are not working. Only one macro seems to work. I have tries all the combinations of macro expansion but in vain. In the following 'h\x and \vy' is not working. It is weard that the first parameter 'h\x' cannot include any macro. Is there any flaw in intersections? Thanks in advance.
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{intersections}
\begin{document}
\begin{tikzpicture}
\draw[name path=h1] (0,1) -- ++(3,0);
\draw[name path=h2] (0,2) -- ++(3,0);
\draw[name path=v1] (1,0) -- ++(0,3);
\draw[name path=v2] (2,0) -- ++(0,3);
\foreach \x in {1,2}
\foreach \y in {1,2}
\draw[fill,red,name intersections={of= h1 and v\y}] (intersection-1) circle (2pt);
%\draw[fill,red,name intersections={of= h\x and v\y}] (intersection-1) circle (2pt);% macro h\x doesn't work, why?
\end{tikzpicture}
\end{document}

