\def\!sjoin#1 #2 {%
\putrule from {\!hxS} {\!hyS} to {#1} {\!hyS}
\putrule from {#1} {\!hyS} to {#1} {#2}
\edef\!hxS{#1}%
\edef\!hyS{#2}%
\!ifnextchar/{\!finish}{\!sjoin}}
\def\setmsignal{%
\let\!drawcurve=\!smcurve}
\def\!smcurve #1 #2 #3 {%
\edef\!hxS{#2}%
\edef\!hyS{#3}%
\putrule from {#1} {\!hyS} to {\!hxS} {\!hyS}
\!smjoin}
\def\!smjoin#1 #2 {%
\putrule from {\!hxS} {\!hyS} to {\!hxS} {#2}
\putrule from {\!hxS} {#2} to {#1} {#2}
\edef\!hxS{#1}%
\edef\!hyS{#2}%
\!ifnextchar/{\!finish}{\!smjoin}}