discuss@mandoc.bsd.lv
 help / color / mirror / Atom feed
* mdocml version 1.11.5 available
@ 2011-07-24 19:18 Kristaps Dzonsons
  0 siblings, 0 replies; only message in thread
From: Kristaps Dzonsons @ 2011-07-24 19:18 UTC (permalink / raw)
  To: discuss

[-- Attachment #1: Type: text/plain, Size: 650 bytes --]

Hello,

I'm pleased to announce mdocml 1.11.5, now at http://mdocml.bsd.lv/. 
This release features full eqn parsing (as of the Second Edition Eqn 
User's Guide, 1978).  The mandocdb (nee makewhatis) utility is also 
significantly improved and brought in line with other makewhatis 
invocations.

This is also the first release distributed with a win32 binary!

For a full list of changes, see the attached ChangeLog. An abbreviated 
list of changes is on the NEWS section of the web-site.

As usual, sources are at http://mdocml.bsd.lv/snapshots/mdocml.tar.gz. 
Binaries are at http://mdocml.bsd.lv/binaries/mdocml-win32.zip.

Thanks,

Kristaps





[-- Attachment #2: ChangeLog --]
[-- Type: text/plain, Size: 10774 bytes --]

2011-07-24 15:08  kristaps

	* index.sgml: Slip in a typo.

2011-07-24 15:03  kristaps

	* Makefile, index.sgml: We're officially no longer UNIX-specific;
	  make this clear.

2011-07-24 14:15  kristaps

	* Makefile, compat.c, compat_getsubopt.c, compat_strlcat.c,
	  compat_strlcpy.c, config.h.post, man_hash.c, man_validate.c,
	  mandoc.c, mdoc_hash.c, mdoc_validate.c, out.c, preconv.c,
	  test-getsubopt.c, test-strptime.c: Scary-looking but otherwise
	  harmless changes allow me to build for Windows.  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.

2011-07-24 06:09  kristaps

	* Makefile, eqn_html.c, eqn_term.c, index.sgml: Tuned the initial
	  eqn output, making it completely simple.  This completes a full
	  initial eqn system, so I'm tagging a release on it.

2011-07-23 18:57  kristaps

	* Makefile, eqn_html.c, eqn_term.c, html.h, man_html.c,
	  mdoc_html.c: Flip on equation printing for -T[x]html.

2011-07-23 15:04  kristaps

	* eqn.7: Clarify what eqn actually is.

2011-07-23 14:44  kristaps

	* eqn.7, eqn.c, mandoc.h: Note GNU extensions in eqn.7.  Also add
	  `col' and `pile', which are mentioned briefly in the eqn User's
	  Manual, but otherwise are unspecified.

2011-07-23 14:41  kristaps

	* eqn.7, eqn.c, index.sgml, libroff.h, mandoc.h, read.c, roff.c:
	  Add support for tdefine and ndefine.	Consolidate some error
	  messages.  Add somem more version notes (getting there).  Have
	  the equation nanme be captured.

2011-07-23 09:31  kristaps

	* eqn.c: Raise a warning when text follows the `EN'.

2011-07-23 08:10  kristaps

	* eqn.7, eqn.c, mandoc.h: Add `fat' font.  This pretty much brings
	  us in line with the second edition of eqn.

2011-07-23 08:08  kristaps

	* eqn.7, eqn.c: Ignore `back', `fwd', `up', `down', `mark', and
	  `lineup'.

2011-07-23 08:01  kristaps

	* eqn.7, eqn.c, eqn_term.c, mandoc.h, tree.c: Add matrix support.
	  Also remove "above" notion, as all elements in a list are
	  delimited by their "aboveness" and it's superfluous.

2011-07-23 05:47  kristaps

	* eqn.7, eqn.c, index.sgml: The circumflex is also a special space
	  character.  Note this and clean up some documentation in eqn.7.
	  Also add some version notes, although I'm not ready for a release
	  yet.

2011-07-22 10:59  kristaps

	* eqn.7, eqn.c: Check for and throw away `gfont' eqn macros.

2011-07-22 10:55  kristaps

	* eqn.7, eqn.c, libroff.h, mandoc.h, read.c: Add support for
	  `gsize' eqn token (introduced in second-edition troff).

2011-07-22 10:26  kristaps

	* eqn.7, eqn.c: Add all rendered symbols used by eqn.  I use the
	  Second-Edition User's Manual (1978) for this, so it should catch
	  most of them.  They just map into the mandoc_char escaped
	  characters.

2011-07-22 10:15  kristaps

	* chars.c, chars.in, mandoc_char.7: Add support for 1/2, 1/4, and
	  3/4 (needed by eqn).

2011-07-22 09:48  kristaps

	* eqn.7: Clearer documentation of grammar in eqn.7 and addition of
	  Greek symbols.

2011-07-22 09:40  kristaps

	* eqn.c: Support translating Greek characters in eqn.

2011-07-22 08:55  kristaps

	* eqn.7, eqn.c: Fix left/right nesting in eqn.

2011-07-22 06:50  kristaps

	* Makefile, eqn_term.c, man_term.c, mdoc_term.c, term.h: Add
	  character output (-Tpdf, -Tps, -Tascii) for equations.  This is
	  the minimum: unseparated terms.

2011-07-22 06:36  kristaps

	* eqn.c: Protect macro expansion.

2011-07-22 06:22  kristaps

	* eqn.c: Use a macro instead of doing a string-fragment compare.  I
	  just get 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.

2011-07-22 05:57  kristaps

	* eqn.c, mandoc.h, tree.c: Give lists their own eqn function.

2011-07-21 20:16  kristaps

	* eqn.c: 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.

2011-07-21 19:42  kristaps

	* eqn.c: Fix eqn handling of PILE clauses (multiple ABOVE
	  statements may be specified for each PILE).

2011-07-21 19:30  kristaps

	* eqn.7, eqn.c, libroff.h, mandoc.c, mandoc.h, read.c, tree.c:
	  Complete eqn.7 parsing.  Features all productions from the
	  original 1975 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.

2011-07-21 11:21  kristaps

	* chars.c, eqn.7, eqn.c, libmandoc.h, mandoc.c, mandoc.h, roff.c,
	  tree.c: Support `size' constructs in eqn.7.  Generalise
	  mandoc_strontou to this effect.

2011-07-21 10:13  kristaps

	* eqn.7, eqn.c, mandoc.h, tree.c: Full support for eqn positionals
	  (above, over, sup, sub, etc.).

2011-07-21 09:37  kristaps

	* eqn.7, eqn.c, mandoc.h, tree.c: Add eqn subexpression fonts.

2011-07-21 09:18  kristaps

	* eqn.7, eqn.c, mandoc.h, tree.c: Add support for markers.  These
	  decorate the last box: see eqn.7.

2011-07-21 08:34  kristaps

	* eqn.7: Document `{, }' subexpressions in eqn.7.

2011-07-21 08:30  kristaps

	* eqn.c, mandoc.h, read.c, tree.c: Support nested `{, }'
	  subexpressions in eqn.  Document in code.

2011-07-21 07:57  kristaps

	* eqn.7, eqn.c: Make `undef' not expand its argument before
	  undefining it.  Document this and have the same behaviour apply
	  to `set' and `define'.

2011-07-21 07:34  kristaps

	* eqn.7, eqn.c, man_html.c, man_term.c, mandoc.h, mdoc_html.c,
	  mdoc_term.c, tree.c: Flip eqn into using parsed nodes.  I've
	  temporarily disabled printing 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.

2011-07-21 06:24  kristaps

	* eqn.7, eqn.c, libroff.h, man.c, mandoc.h, mdoc.c, roff.c: Finish
	  the eqn syntactic parser.  This correctly parses terms and does
	  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.

2011-07-18 10:30  kristaps

	* mandoc.h, read.c: Forgot to add these bits to the last commit.

2011-07-18 09:47  kristaps

	* eqn.7: Note that equation definitions are nestable.

2011-07-18 09:35  kristaps

	* eqn.c: Definitions in eqn.7 are actually recursive.  Do this and
	  add crude protection that we don't nest back to ourselves.

2011-07-18 06:23  kristaps

	* mdoc.7: Clarify up `Rv' and `Ex' documentation.

2011-07-18 03:48  kristaps

	* libman.h, libmdoc.h: Follow-up: forgot to remove useless regset
	  structs.

2011-07-18 03:46  kristaps

	* Makefile, libman.h, libmandoc.h, libmdoc.h, man.c, mdoc.c,
	  mdoc_validate.c, read.c, roff.c: Make `struct roff' be passed
	  into libmdoc and libman upon creation.  This is required for
	  supporting in-line equations.  While here, push registers
	  properly into roff and add an set/get/mod interface.

2011-07-17 11:43  kristaps

	* tbl_html.c, tbl_term.c: Fix copyright email.

2011-07-17 11:24  kristaps

	* out.c, out.h: Remove unused function.

2011-07-17 10:15  kristaps

	* eqn.c: Fix lost allocation.

2011-07-17 10:11  kristaps

	* Makefile, eqn.c: Remember to NULL-ify new keys/vals.

2011-07-17 10:08  kristaps

	* eqn.7, eqn.c, mandoc.h, read.c: Provide implementations of
	  `define', `set', and `unset'.  Tie them into the stream of data.
	  Document these appropriate, bringing in the grammar as defined by
	  the original eqn manual (Kernighan/Richie).

2011-07-17 08:52  kristaps

	* eqn.c, mandoc.h, read.c: Warn if equation `define' key is quoted
	  (groff-ism).

2011-07-17 08:13  kristaps

	* eqn.c, libroff.h, roff.c: Add initial `define' support for
	  eqn(7).  This works by iterating over a simple list.	It's a
	  slow, auditable early implementation.  Data is read (the reading
	  function will be reused) then parsed, then the line re-run if
	  remaining stuff exists.  Note this function isn't the same as
	  mandoc_getarg(), as eqn(7) uses a different system for reading
	  quoted strings.  This doesn't actually use the defines.

2011-07-17 07:14  kristaps

	* libmandoc.h: Remove prototype since moved into mandoc.h.

2011-07-15 16:40  schwarze

	* mdoc.7: improve documentation of .Bl -column .It Ta using
	  feedback from kristaps@, ok jmc@

2011-07-15 13:59  kristaps

	* mandocdb.8, mandocdb.c: Big step forward in bringing mandocdb in
	  line with most makewhatis-type systems.

2011-07-15 06:15  kristaps

	* mandocdb.8, mandocdb.c: First step of making mandocdb a true
	  makewhatis/mandb replacement: accept a set of directories on the
	  command line ("manpaths") that are recursed for files.  The
	  databases are created in each manpath root.  This temporarily
	  removes OP_UPDATE and OP_DELETE functionality, which will be
	  added back in.

2011-07-15 06:14  kristaps

	* mandoc.h: Expose mandoc_strdup() to the outside world.

2011-07-15 05:06  kristaps

	* mandocdb.c: Move parts of mandocdb that "do stuff" to the
	  databases into their own functions.  This will make it easier to
	  call repeatedly (for different directoreis) as must be done with
	  the new interfaces being developed.

2011-07-14 13:32  kristaps

	* makewhatis.1, makewhatis.c: Apparently these weren't removed
	  properly...

2011-07-14 10:36  schwarze

	* Makefile, index.sgml, mandocdb.1, mandocdb.8, mandocdb.c: move
	  mandocdb(1) to mandocdb(8) "please make this change" kristaps@

2011-07-14 06:57  kristaps

	* Makefile, index.sgml, mandocdb.1, mandocdb.c: Rename makewhatis
	  [back] into mandocdb.  This is to maintain consistency with
	  OpenBSD, which is sandboxing the code for merge.  It makes sense
	  because it doesn't really make a `makewhatis' file in the
	  traditional sense, so it may be confusing.

2011-07-12 17:32  kristaps

	* eqn.c, libroff.h, roff.c: Have equation be allocated with mparse.
	  Will be needed for logging of messages.

2011-07-12 11:26  kristaps

	* makewhatis.c: Re-ordered logic in makewhatis to iterate over the
	  index file only once.  This is much more efficient.


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

only message in thread, other threads:[~2011-07-24 19:18 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-07-24 19:18 mdocml version 1.11.5 available Kristaps Dzonsons

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).