If specifying file names starting with "-" (example "-folder.gif") to photo commands read and write gives error:
unrecognized option "-folder.gif": must be -format, -from, -shrink, or -to
    while executing
"$img2 read "-folder.gif""

Same problem when having image data for command "put" starting with "-" (i.e. integer 45):
unrecognized option "--..." must be -format, or -to
    while executing
"$img2 put [binary format "cu*" $rowList]

Attached is a patch which works for me. It may break existing code, which does not conform to the documentation. Documentation says:
read fileName options
while read options filename does work with current implementation.
Bug seems to be present in 8.5, too.