So it turns out the policy.xml files are different between the two versions and removing the restrictions on @ in /etc/ImageMagick-6/policy.xml almost works. Well, it does work to read from files, but not from stdin.
Interesting. I went back and downloaded the source tarball that the armhf deb package was built from. If I compile that, caption:@- operates as expected:
pi@raspberrypi:~/src/ImageMagick-6.8.9-9 $ ./utilities/convert -background lightblue -fill blue -pointsize 12 -size 320x caption:@- caption_file.gif
Test
pi@raspberrypi:~/src/ImageMagick-6.8.9-9 $
After a make install to /usr/local/bin/ the previous weird no prompt behaviour returns:
pi@raspberrypi:~/src/ImageMagick-6.8.9-9 $ /usr/local/bin/convert -background lightblue -fill blue -pointsize 12 -size 320x caption:@- caption_file.gif
pi@raspberrypi:~/src/ImageMagick-6.8.9-9 $
Digging a bit, the system version of the libs is being used. Setting LD_LIBRARY_PATH so that the libraries in /usr/local/lib/ are used and correct behaviour returns, even when using the system version of convert:
pi@raspberrypi:~/src/ImageMagick-6.8.9-9 $ export LD_LIBRARY_PATH=/usr/local/lib
pi@raspberrypi:~/src/ImageMagick-6.8.9-9 $ /usr/local/bin/convert -background lightblue -fill blue -pointsize 12 -size 320x caption:@- caption_file.gif
This is a test
pi@raspberrypi:~/src/ImageMagick-6.8.9-9 $ /usr/bin/convert -background lightblue -fill blue -pointsize 12 -size 320x caption:@- caption_file.gif
This is a test
pi@raspberrypi:~/src/ImageMagick-6.8.9-9 $
So the issue is coming from a library. Removing /usr/local/lib/libMagickCore-6.Q16.so.2 so that the system version starts getting used again and the problem resurfaces.
Does it sound like this is most likely a bug introduced by the Debian or Raspian maintainer then?