/* Handle ,gate completer for new syntax branches.  */
            case 'g':
-             if (*s == ',' && strcasecmp (s + 1, "gate") == 0)
+             if (*s == ',' && strncasecmp (s + 1, "gate", 4) == 0)
                s += 5;
              else
                break;
 
            /* Handle ,l completer for new syntax branches.  */
            case 'l':
-             if (*s == ',' && strcasecmp (s + 1, "l") == 0)
+             if (*s == ',' && strncasecmp (s + 1, "l", 1) == 0)
                s += 2;
              else
                break;
 
            /* Handle ,push completer for new syntax branches.  */
            case 'M':
-             if (*s == ',' && strcasecmp (s + 1, "push") == 0)
+             if (*s == ',' && strncasecmp (s + 1, "push", 4) == 0)
                s += 5;
              else
                break;
 
            /* Handle ,pop completer for new syntax branches.  */
            case 'B':
-             if (*s == ',' && strcasecmp (s + 1, "pop") == 0)
+             if (*s == ',' && strncasecmp (s + 1, "pop", 3) == 0)
                s += 4;
              else
                break;
 
            /* Handle ,%r2 completer for new syntax branches.  */
            case 'L':
-             if (*s == ',' && strcasecmp (s + 1, "%r2") == 0)
+             if (*s == ',' && strncasecmp (s + 1, "%r2", 3) == 0)
                s += 4;
-             else if (*s == ',' && strcasecmp (s + 1, "%rp") == 0)
+             else if (*s == ',' && strncasecmp (s + 1, "%rp", 3) == 0)
                s += 4;
              else
                break;