diff --git a/src/cmd/acid/acid.h b/src/cmd/acid/acid.h
index 9ac983b..266175e 100644
--- a/src/cmd/acid/acid.h
+++ b/src/cmd/acid/acid.h
@@ -4,7 +4,7 @@
 enum
 {
 	Eof		= -1,
-	Strsize		= 4096,
+	Strsize		= 65536,
 	Hashsize	= 128,
 	Maxarg		= 512,
 	NFD		= 100,
diff --git a/src/cmd/acid/lex.c b/src/cmd/acid/lex.c
index f265d6c..b9b9976 100644
--- a/src/cmd/acid/lex.c
+++ b/src/cmd/acid/lex.c
@@ -348,7 +348,6 @@
 	char *p;
 	Lsym *s;
 
-	symbol[0] = 0;
 	p = symbol;
 	while((c = lexc()) != '`'){
 		if(c == Eof)
@@ -361,6 +360,7 @@
 		sysfatal("overflow in bqsymbol");
 	*p = 0;
 	
+fprint(2, "bq: %s\n", symbol);
 	s = look(symbol);
 	if(s == 0)
 		s = enter(symbol, Tid);
@@ -601,7 +601,19 @@
 			error("%d <eof> eating symbols", line);
 		if(c == '\n')
 			line++;
-		if(c != '_' && c != '$' && c <= '~' && !isalnum(c)) {	/* checking against ~ lets UTF names through */
+		/* allow :: in name */
+		if(c == ':'){
+			c = lexc();
+			if(c == ':'){
+				*p++ = ':';
+				*p++ = ':';
+				continue;
+			}
+			unlexc(c);
+			unlexc(':');
+			break;
+		}
+		if(c != '_' && c != '$' && c < Runeself && !isalnum(c)) {
 			unlexc(c);
 			break;
 		}
diff --git a/src/cmd/acid/util.c b/src/cmd/acid/util.c
index 15859db..a0ae47f 100644
--- a/src/cmd/acid/util.c
+++ b/src/cmd/acid/util.c
@@ -16,7 +16,7 @@
 	int i, renamed;
 
 	renamed = 0;
-	strcpy(buf, s->name);
+	strcpy(buf, s->xname);
 	for(;;) {
 		l = look(buf);
 		if(l == 0 || (l->lexval == Tid && l->v->set == 0))
@@ -36,9 +36,10 @@
 		}
 	}
 	if(renamed && !quiet)
-		print("\t%s=%s %c/%L\n", s->name, buf, s->type, s->loc);
+		print("\t%s=%s %c/%L\n", s->xname, buf, s->type, s->loc);
 	if(l == 0)
 		l = enter(buf, Tid);
+	s->aux = l;
 	return l;	
 }
 
@@ -116,23 +117,31 @@
 			if(l->v->store.comt == 0)
 				l->v->store.fmt = 'X';
 
-			/* Enter as list of { name, type, value, file } */
+			/* Enter as list of { name, type, value, file, xname } */
 			list = al(TSTRING);
 			tl->store.u.l = list;
 			list->store.u.string = strnode(buf);
 			list->store.fmt = 's';
+			
 			list->next = al(TINT);
 			list = list->next;
 			list->store.fmt = 'c';
 			list->store.u.ival = s.type;
+			
 			list->next = al(TINT);
 			list = list->next;
 			list->store.fmt = 'X';
 			list->store.u.ival = v;
+			
 			list->next = al(TSTRING);
 			list = list->next;
 			list->store.fmt = 's';
 			list->store.u.string = file;
+			
+			list->next = al(TSTRING);
+			list = list->next;
+			list->store.fmt = 's';
+			list->store.u.string = strnode(s.xname);
 		}
 	}
 	*tail = nil;
