diff --git a/pd/src/x_interface.c b/pd/src/x_interface.c
index 11ecd48fdef03ea6157775d857e9a3e42399d4ef..3486b4ff91c062018fd9bdfddfa80461bdcfb3eb 100644
--- a/pd/src/x_interface.c
+++ b/pd/src/x_interface.c
@@ -215,10 +215,16 @@ void canvasinfo_args(t_canvasinfo *x, t_symbol *s, int argc, t_atom *argv)
         }
         else
         {
-            /* For "boxtext" have to escape semi, comma, dollar, and
-               dollsym atoms, which is what binbuf_addbinbuf does.
-               Otherwise the user could pass them around or save them
-               unescaped, which might cause trouble. */
+            /* For "boxtext" we have to convert semi, comma, dollar, and
+               dollsym atoms to symbol atoms. Otherwise we could end up
+               outputting a message containing stray semis/commas/etc. which
+               might cause trouble.
+
+               We sent the atoms through binbuf_addbinbuf which does the
+               conversion to symbols for us. That way the user will get
+               expected output-- e.g., special characters will be properly
+               escaped when printing.
+            */
             t_binbuf *escaped = binbuf_new();
             binbuf_addbinbuf(escaped, b);
             n = binbuf_getnatom(escaped);