source@mandoc.bsd.lv
 help / color / mirror / Atom feed
* mdocml: Accomodate for hard-spaces with tildes.
@ 2011-07-22  0:16 kristaps
  0 siblings, 0 replies; only message in thread
From: kristaps @ 2011-07-22  0:16 UTC (permalink / raw)
  To: source

Log Message:
-----------
Accomodate for hard-spaces with tildes.  For now, consider them regular
spaces.  Also allow for tabs.  Finally, have the parser correctly handle
open and close brackets smooshed against other terms.  All of these
handle "details" noted in the CACM paper.

Modified Files:
--------------
    mdocml:
        eqn.c

Revision Data
-------------
Index: eqn.c
===================================================================
RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/mdocml/eqn.c,v
retrieving revision 1.21
retrieving revision 1.22
diff -Leqn.c -Leqn.c -u -p -r1.21 -r1.22
--- eqn.c
+++ eqn.c
@@ -453,11 +453,11 @@ eqn_next(struct eqn_node *ep, char quote
 {
 	char		*start, *next;
 	int		 q, diff, lim;
-	size_t		 ssz;
+	size_t		 ssz, dummy;
 	struct eqn_def	*def;
 
 	if (NULL == sz)
-		sz = &ssz;
+		sz = &dummy;
 
 	lim = 0;
 	ep->rew = ep->cur;
@@ -482,14 +482,26 @@ again:
 	}
 
 	start = &ep->data[(int)ep->cur];
-	next = q ? strchr(start, quote) : strchr(start, ' ');
+
+	if ( ! q) {
+		if ('{' == *start || '}' == *start)
+			ssz = 1;
+		else
+			ssz = strcspn(start + 1, " ~\"{}\t") + 1;
+		next = start + (int)ssz;
+		if ('\0' == *next)
+			next = NULL;
+	} else
+		next = strchr(start, quote);
 
 	if (NULL != next) {
 		*sz = (size_t)(next - start);
 		ep->cur += *sz;
 		if (q)
 			ep->cur++;
-		while (' ' == ep->data[(int)ep->cur])
+		while (' ' == ep->data[(int)ep->cur] ||
+				'\t' == ep->data[(int)ep->cur] ||
+				'~' == ep->data[(int)ep->cur])
 			ep->cur++;
 	} else {
 		if (q)
--
 To unsubscribe send an email to source+unsubscribe@mdocml.bsd.lv

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2011-07-22  0:16 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-07-22  0:16 mdocml: Accomodate for hard-spaces with tildes kristaps

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).