515414f4cb5b0f71fc8f3c853c686fa5f10cd9b6
kent
  Tue Aug 20 10:04:53 2019 -0700
Making symbol built in return empty result on empty input.

diff --git src/lib/strex.c src/lib/strex.c
index e77ee86..dcc0584 100644
--- src/lib/strex.c
+++ src/lib/strex.c
@@ -1457,30 +1457,32 @@
 }
 
 static char *stripAll(char *in, char *toRemove, struct lm *lm)
 /* Remove every occurrence of any of the chars in toRemove from in. */
 {
 char *result = lmCloneString(lm, in);  // Move to local memory
 char c, *s = toRemove;
 while ((c = *s++) != 0)
     stripChar(result, c);
 return result;
 }
 
 static char *symbolify(char *prefix, char *original, struct lm *lm)
 /* Convert original to something could use as a C language symbol with dots maybe. */
 {
+if (isEmpty(original))
+    return original;
 int prefixSize = strlen(prefix);
 int originalSize = strlen(original);
 int allocSize = prefixSize + 2*originalSize + 1;    // worse case all hexed
 char *result = lmAlloc(lm, allocSize);  // Move to local memory
 strcpy(result, prefix);
 char *in = skipLeadingSpaces(original); 
 char *out = result + prefixSize;
 unsigned char c;
 while ((c = *in++) != 0)
      {
      if (isspace(c) || c == '-' || c == '.')
 	 *out++ = '_';
      else if (isalnum(c) || c == '_')
          *out++ = c;
      else