summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix hyphen-replacement loop.Kristaps Dzonsons2011-07-271-3/+5
|
* Critical fix to avoid looping forever.Kristaps Dzonsons2011-07-271-1/+3
|
* Clean up roff_getstrn() function.Kristaps Dzonsons2011-07-271-4/+5
|
* Simply word allocation in libmdoc and libman.Kristaps Dzonsons2011-07-272-16/+2
|
* Disable in-line eqn processing for a bit.Kristaps Dzonsons2011-07-273-3/+13
|
* Move mandoc_hyph() into roff_parsetext() as a single conditional. WhileKristaps Dzonsons2011-07-273-59/+31
| | | | | here, do some function renames for clarity and make all function prototypes be in one place.
* First, roff_res() has no need to invoke ROFF_RERUN: since it's executedKristaps Dzonsons2011-07-272-20/+46
| | | | | | | | | | | before any other roff processing occurs, it's Ok to just let it do its thing and pass through. Also, make sure this function is ALWAYS called, not just when first_string is defined. Second, add a new function, roff_parsetext(), that post-processes non-macro lines. This, for the time being, amounts to detecting soft hyphens. This fixes a long-standing bug in that -man now has proper hyphen breaking!
* Update mandoc_hyph() to the extent that numbers on either side of theKristaps Dzonsons2011-07-271-9/+20
| | | | hyphen make for a non-breakable hyphen. Found by random testing.
* Use correct column of warning messages and make sure this function isKristaps Dzonsons2011-07-261-10/+16
| | | | run even when `first_string' isn't defined.
* Move checking of escapes into roff.c, where we're already steppingKristaps Dzonsons2011-07-263-68/+24
| | | | | through looking for user-defined escapes. This clears up a nice bit of validation code.
* Implement the first steps of equation parsing from within libmdoc.Kristaps Dzonsons2011-07-257-20/+113
| | | | | | This consists of a shim around the text parser that calls out to libroff if equation components exist on the line. Right now this will do nothing, as the equation delimiter always returns nil.
* Slip in a typo.VERSION.1.11.5Kristaps Dzonsons2011-07-241-1/+1
|
* We're officially no longer UNIX-specific; make this clear.Kristaps Dzonsons2011-07-242-10/+32
|
* Scary-looking but otherwise harmless changes allow me to build for Windows.Kristaps Dzonsons2011-07-2414-70/+264
| | | | | | | | | | | | That is to say, with mingw32. This amounts to the following: (1) break compat.c into compat_strlcpy.c and compat_strlcat.c (2) add compat_getsubopt.c (from OpenBSD) and test-getsubopt.c (3) add test-strptime.c for HAVE_STRPTIME (4) add ifdef bits here and there, where necessary (5) remove some harmless unportable stuff (u_char, localtime_r) I've added the appropriate mdocml.zip target to the Makefile, too.
* Tuned the initial eqn output, making it completely simple. ThisKristaps Dzonsons2011-07-244-63/+49
| | | | completes a full initial eqn system, so I'm tagging a release on it.
* Flip on equation printing for -T[x]html.Kristaps Dzonsons2011-07-236-14/+101
|
* Clarify what eqn actually is.Kristaps Dzonsons2011-07-231-0/+3
|
* Note GNU extensions in eqn.7. Also add `col' and `pile', which areKristaps Dzonsons2011-07-233-2/+8
| | | | | mentioned briefly in the eqn User's Manual, but otherwise are unspecified.
* Add support for tdefine and ndefine. Consolidate some error messages. AddKristaps Dzonsons2011-07-237-32/+75
| | | | somem more version notes (getting there). Have the equation nanme be captured.
* Raise a warning when text follows the `EN'.Kristaps Dzonsons2011-07-231-1/+7
|
* Add `fat' font. This pretty much brings us in line with the secondKristaps Dzonsons2011-07-233-1/+3
| | | | edition of eqn.
* Ignore `back', `fwd', `up', `down', `mark', and `lineup'.Kristaps Dzonsons2011-07-232-3/+45
|
* Add matrix support. Also remove "above" notion, as all elements in aKristaps Dzonsons2011-07-235-32/+81
| | | | list are delimited by their "aboveness" and it's superfluous.
* The circumflex is also a special space character.Kristaps Dzonsons2011-07-233-24/+37
| | | | | Note this and clean up some documentation in eqn.7. Also add some version notes, although I'm not ready for a release yet.
* Check for and throw away `gfont' eqn macros.Kristaps Dzonsons2011-07-222-3/+26
|
* Add support for `gsize' eqn token (introduced in second-edition troff).Kristaps Dzonsons2011-07-225-13/+42
|
* Add all rendered symbols used by eqn. I use the Second-Edition User'sKristaps Dzonsons2011-07-222-47/+100
| | | | | Manual (1978) for this, so it should catch most of them. They just map into the mandoc_char escaped characters.
* Add support for 1/2, 1/4, and 3/4 (needed by eqn).Kristaps Dzonsons2011-07-223-1/+7
|
* Clearer documentation of grammar in eqn.7 and addition of Greek symbols.Kristaps Dzonsons2011-07-221-29/+22
|
* Support translating Greek characters in eqn.Kristaps Dzonsons2011-07-221-0/+94
|
* Fix left/right nesting in eqn.Kristaps Dzonsons2011-07-222-4/+8
|
* Add character output (-Tpdf, -Tps, -Tascii) for equations. This is theKristaps Dzonsons2011-07-225-4/+96
| | | | minimum: unseparated terms.
* Protect macro expansion.Kristaps Dzonsons2011-07-221-1/+1
|
* Use a macro instead of doing a string-fragment compare. I just getKristaps Dzonsons2011-07-221-28/+23
| | | | | | worried that I'm going to write the wrong size on both sides of the equality (I've already done it a few times). This cleans up the code readability a bit.
* Give lists their own eqn function.Kristaps Dzonsons2011-07-223-36/+61
|
* Accomodate for hard-spaces with tildes. For now, consider them regularKristaps Dzonsons2011-07-221-4/+16
| | | | | | 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.
* Fix eqn handling of PILE clauses (multiple ABOVE statements may beKristaps Dzonsons2011-07-211-17/+14
| | | | specified for each PILE).
* Complete eqn.7 parsing. Features all productions from the original 1975Kristaps Dzonsons2011-07-217-124/+279
| | | | | | | | CACM paper in an LR(1) parse (1 -> eqn_rewind()). Right now the code is a little jungly, but will clear up as I consolidate parse components. The AST structure will also be cleaned up, as right now it's pretty ad hoc (this won't change the parse itself). I added the mandoc_strndup() function will here.
* Support `size' constructs in eqn.7. Generalise mandoc_strontou to thisKristaps Dzonsons2011-07-218-15/+31
| | | | effect.
* Full support for eqn positionals (above, over, sup, sub, etc.).Kristaps Dzonsons2011-07-214-8/+49
|
* Add eqn subexpression fonts.Kristaps Dzonsons2011-07-214-17/+52
|
* Add support for markers. These decorate the last box: see eqn.7.Kristaps Dzonsons2011-07-214-9/+60
|
* Document `{, }' subexpressions in eqn.7.Kristaps Dzonsons2011-07-211-0/+1
|
* Support nested `{, }' subexpressions in eqn. Document in code.Kristaps Dzonsons2011-07-214-20/+73
|
* Make `undef' not expand its argument before undefining it. DocumentKristaps Dzonsons2011-07-212-15/+34
| | | | this and have the same behaviour apply to `set' and `define'.
* Flip eqn into using parsed nodes. I've temporarily disabled printingKristaps Dzonsons2011-07-218-63/+128
| | | | | | | these in the front-ends except for -Ttree, which will display the parsed tree. While here, fix that quoted strings aren't scanned for replacement parts.
* Finish the eqn syntactic parser. This correctly parses terms and doesKristaps Dzonsons2011-07-217-213/+253
| | | | | | | the proper `define' dance, which amounts to pure word-replace (you can, say, define `foo' as `define' then define `define' as something else). eqn.c is now ready for some semantic parsing of `box' and `eqn' productions as defined by the grammar.
* Forgot to add these bits to the last commit.Kristaps Dzonsons2011-07-182-0/+2
|
* Note that equation definitions are nestable.Kristaps Dzonsons2011-07-181-1/+5
|
* Definitions in eqn.7 are actually recursive. Do this and add crudeKristaps Dzonsons2011-07-181-7/+29
| | | | protection that we don't nest back to ourselves.