In src/extension/internal/cairo-render-context.cpp there's a call to the function feed_pathvector_to_cairo() with two parameters. This function is defined in src/display/inkscape-cairo.cpp, and calls cairo_close_path(). And the documentation for cairo_close_path() - http://cairographics.org/manual/cairo-paths.html#cairo-close-path - says "any call to cairo_close_path() will place an explicit MOVE_TO element into the path immediately after the CLOSE_PATH element".
So I think that Cairo needs to supply an alternative to cairo_close_path() that doesn't include the MOVE_TO, and Inkscape needs to use this alternative function when writing PostScript. (To complicate matters, there are rare cases for which the MOVE_TO is actually required.)
I think I've tracked this down.
In src/extension/ internal/ cairo-render- context. cpp there's a call to the function feed_pathvector _to_cairo( ) with two parameters. This function is defined in src/display/ inkscape- cairo.cpp, and calls cairo_close_path(). And the documentation for cairo_close_path() - http:// cairographics. org/manual/ cairo-paths. html#cairo- close-path - says "any call to cairo_close_path() will place an explicit MOVE_TO element into the path immediately after the CLOSE_PATH element".
So I think that Cairo needs to supply an alternative to cairo_close_path() that doesn't include the MOVE_TO, and Inkscape needs to use this alternative function when writing PostScript. (To complicate matters, there are rare cases for which the MOVE_TO is actually required.)