
\documentclass[pstricks,border=12pt]{standalone}
\usepackage{pstricks-add}
\begin{document}
\multido{\i=0+30}{12}{%
\begin{pspicture}(-2,-2)(2,2)
\pscircle{1}
\pnode(1;\i){R}
\psset{arrows=->}
\psline(R)
\psline[linecolor=blue](R|0,0)
\psline[linecolor=red](0,0|R)
\psset{linecolor=gray,linestyle=dashed,linewidth=0.5\pslinewidth,arrows=-,dash=2pt 2pt}
\psline(R)(R|0,0)
\psline(R)(0,0|R)
\end{pspicture}}
\end{document}
Does a zero-length line with an arrow make sense? Is it a bug? I hope it is a bug. If it is not a bug, what is the best way to handle this case using a conditional macro in either TeX or PS level?
Apparently, this feature is also adopted by TikZ.

\documentclass[tikz,border=0pt]{standalone}
\usepackage{tikz}
\begin{document}
\tikzpicture
\fill[yellow] (-1,-1) -- (-1,1) -- (1,1) -- (1,-1) -- cycle;
\draw[->] (0,0)--(0,0);
\endtikzpicture
\end{document}


\draw[->] (0,0);draws the arrow, even it is just a move-to. A more complicated case will be\draw[->] (0,0) -- (.2,.2) (.5,.5);(also, try<->). I guess someone has to test somehow if the last operation on a path is a move-to and disable the “start arrow”. Simple..? – Qrrbrbirlbel Oct 05 '13 at 19:46\draw [->] (0,0) -- (0,0);also shouldn't result in an arrow head. – Jake Oct 06 '13 at 10:04arrows.metalibrary) and such strange paths have even more interesting results (there is a non-non-zero-length path added). – Qrrbrbirlbel Nov 23 '13 at 00:48