home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / Tools / linuxdoc-sgml-1.1 / sgmls-1.1 / ChangeLog < prev    next >
Encoding:
Text File  |  1995-05-03  |  59.0 KB  |  1,818 lines

  1. Mon Feb 22 09:59:16 1993  James Clark  (jjc at jclark)
  2.  
  3.     * Version 1.1 released.
  4.  
  5.     * md1.c (fixdatt): New function.
  6.     (mdnadl): For attlist #notation that occurs after an entity with
  7.     the specified notation has been declared, call fixdatt rather
  8.     that giving an error.
  9.     * sgmlfnsm.h: Declare fixdatt.
  10.     * md2.c (storedatt): Remove call to adlval.
  11.     (mdextid): Precede calls to storedatt with call to adlval.
  12.     * msg.h: Change message 218.
  13.  
  14.     * sgmls.c (read_line): Cast UINT_MAX to unsigned.
  15.  
  16.     * Makefile.bcc: Add optimization flags for Borland C++ 3.1.
  17.  
  18.     * stklen.c: Increase to 14k.
  19.  
  20. Sat Feb  6 19:29:01 1993  James Clark  (jjc at jclark)
  21.  
  22.     * etype.h (EMM): New etdmin flag.
  23.     * md1.c (mdelem): Set EMM flag if minus was explicitly specified
  24.     for end tag minimization.
  25.     (etdadl): Give an error if there's a CONREF element and the EMM
  26.     flag was set, instead of checking OMITTAG and the EMO flag.
  27.     (mdelem): Likewise for declared content of EMPTY.
  28.  
  29. Wed Feb  3 11:08:02 1993  James Clark  (jjc at jclark)
  30.  
  31.     * unix.cfg: Add LIMITS_H_MISSING define.
  32.     * configure: Handle LIMITS_H_MISSING.
  33.     * std.h: Don't include <limits.h> is LIMITS_H_MISSING is defined.
  34.     In this case guess UINT_MAX, based on sizeof(unsigned int).
  35.  
  36. Mon Feb  1 21:49:52 1993  James Clark  (jjc at jclark)
  37.  
  38.     * sgmls.c (read_line): Don't allow buffer length to exceed
  39.     UINT_MAX.
  40.     (E_LINELENGTH): New error.
  41.     * std.h: Include <limits.h>
  42.  
  43. Sun Jan 31 23:58:55 1993  James Clark  (jjc at jclark)
  44.  
  45.     * pars1.c (destack): Don't give error message if conrefsw is set.
  46.  
  47. Sat Jan 30 21:36:36 1993  James Clark  (jjc at jclark)
  48.  
  49.     * lineout.c (process_document): Add argument that says whether
  50.     document is subdocument.  Don't output appinfo if document is
  51.     subdocument.
  52.     * appl.h: Change declaration.
  53.     * main.c (main): Change caller.
  54.  
  55. Fri Jan 15 04:30:17 1993  James Clark  (jjc at jclark)
  56.  
  57.     * Makefile: Add formatted man pages to distribution.  Include
  58.     rules to build them.
  59.  
  60.     * sgmls.c (RECHAR): Delete definition.
  61.  
  62.     * appl.h: Delete comma after last enumerator.
  63.  
  64. Mon Jan 11 09:51:43 1993  James Clark  (jjc at jclark)
  65.  
  66.     * sgmldecl.c (sdnames): Size of temp buffer should be
  67.     REFNAMELEN+1.
  68.  
  69. Sun Jan 10 22:37:20 1993  James Clark  (jjc at jclark)
  70.  
  71.     * rast.c (do_file): Add default case to switch.
  72.  
  73. Fri Jan  8 09:57:07 1993  James Clark  (jjc at jclark)
  74.  
  75.     * synrf.c: Delete NONSGML. Add POSTLINK.
  76.     * synxtrn.h: Corresponding changes.
  77.  
  78. Thu Jan  7 20:00:07 1993  James Clark  (jjc at jclark)
  79.  
  80.     * rast.c (do_file): Free attributes when skipping subdocument.
  81.  
  82.     * sgmls.c (sgmls_free): Free entity.u.external.filenames.
  83.  
  84.     * latin1.c, ebcdic.h (SHIFTNON, UNSHIFTNON): Use simpler
  85.     definitions.
  86.  
  87. Wed Jan  6 17:36:50 1993  James Clark  (jjc at jclark)
  88.  
  89.     * pcbrf.c (et0a): Change action for spcr to DAS_.
  90.  
  91.     * pars2.c (parse): In case ERX_ catch references to entities that
  92.     are not allowed in replaceable character data.
  93.     (parselit): Delete case PIE_. In case DEF_ don't catch references
  94.     to external data entities.
  95.  
  96.     * md1.c (mdelem): Test for length of rank stem and rank suffix was
  97.     off by 2.
  98.  
  99.     * pars2.c (parsemd): For case NUM, use NU not NUM for lexical class.
  100.  
  101.     * md1.c (mdattdef): Uncomment check for ID attribute with default
  102.     value.
  103.  
  104. Sun Jan  3 20:30:34 1993  James Clark  (jjc at jclark)
  105.  
  106.     * sgmldecl.h: Delete declaration of appinfo[].
  107.  
  108.     * sgmldecl.c (sdnames): Return if keyword unrecognized.
  109.  
  110.     * synxtrn.h: Delete KDTD. Renumber K*.
  111.     * synrf.c: Delete "DTD".
  112.  
  113.     * sgmldecl.c: Move definition of REFLITLEN to...
  114.     * entity.h:
  115.     * md2.c (mdextid): Length of minimum literal must not exceed
  116.     REFLITLEN.
  117.  
  118. Sat Jan  2 17:03:11 1993  James Clark  (jjc at jclark)
  119.  
  120.     * pars1.c (checkdtd): Check for undefined short reference maps if
  121.     -u flag is used.
  122.  
  123.     * md2.c (mdsrmdef): Don't free the map on error if it was
  124.     previously used in a USEMAP declaration.
  125.  
  126. Fri Jan  1 19:37:38 1993  James Clark  (jjc at jclark)
  127.  
  128.     * entgen.c (sysidgen): Return 0 if no non-empty filenames were found.
  129.  
  130. Thu Dec 31 02:52:38 1992  James Clark  (jjc at jclark)
  131.  
  132.     * pars2.c (charrefn): Split last part off into...
  133.     (datachar): New function.
  134.     (charrefa): Split part off into...
  135.     (setcurchar): New function.
  136.     (parse): In case NON_, call datachar().
  137.     * sgmlfnsm.h: Declare new functions.
  138.  
  139.     * sgmls.h: Use separate length for pi.
  140.     * sgmls.c (sgmls_next): Handle this.
  141.     * rast.c (output_processing_instruction): Add length argument.
  142.     (do_file): Change caller.
  143.     * sgmlsasp.c (output_pi): Add length argument.
  144.     (do_file): Change caller.
  145.  
  146.     * pars2.c (parse): In case NSC_, give an error.
  147.     * pcbrf.c (pcblitc, pcbmds, pcblitv): Use SYS_ action for NSC.
  148.     (pcbmsi): Get rid of NS4 state.  Handle NSC like NON.
  149.     * pars2.c (charrefn): Only potentially confusing characters need
  150.     to be prefixed with DELNONCH.
  151.     * msg.h: Change message 4 so as not to say `in markup'.
  152.     * pars2.c (parse): When handling SYS_, if non-SGML character was
  153.     DELNONCH skip another character.
  154.  
  155. Wed Dec 30 11:00:15 1992  James Clark  (jjc at jclark)
  156.  
  157.     * lextoke.h: Add SP class for SPACE.  SEP is now just SEPCHAR.
  158.     * pcbrf.c (pcbval): Change accordingly.  Don't allow RS, RE or SEPCHAR
  159.     during tokenization.
  160.     * lextaba.c (lextoke): Change code for space to SP.
  161.     * pars2.c (parseseq): Test that it's not a space in addition to
  162.     testing that its code is not SEP.
  163.     * sgmldecl.c (sdnaming): Check that class is SP or SEP.
  164.  
  165.     * sgmlmsg.c: Define HDREE string.
  166.     (printit): Use HDREE string when the current character is EOS.  
  167.  
  168.     * pars2.c (charrefa): Rewrite. If reading from an internal entity,
  169.     need to copy the entity before changing it.
  170.     * source.h (struct source): Add copied member.
  171.     (COPIEDSW): New macro.
  172.     * sgml2.c (entopen): Initialize COPIEDSW.
  173.     (entget): If internal entity was copied, free copy before popping
  174.     SCB stack.
  175.  
  176.     * entity.h (SHIFTNON, UNSHIFTNON): Move definitions to latin1.h
  177.     * ebcdic.h (SHIFTNON, UNSHIFTNON): Provide appropriate
  178.     definitions.
  179.  
  180.     * appl.h: Move DELNONCH, DELCDATA, DELSDATA to latin1.h and ebcdic.h.
  181.     * ebcdic.c: Use these.
  182.     * entity.h (struct switches): Remove delnonch, delcdata and
  183.     delsdata members.
  184.     * main.c (swinit): Don't initialize delnonch.
  185.     * sgmlio.c (ioinit): Don't save swp->delnonch.
  186.     (ioread): Use DELNONCH constant.
  187.     * sgmlmsg.c (swdelcdata, swdelsdata, swdelnonch): Deleted.
  188.     (msginit): Don't initialize these.
  189.     (printit): Use DELNONCH constant.  Can now use switch statement.
  190.     (transparm): Use constants for delimiters.
  191.     * sgmldecl.c (sdinit): Use DEL* constants.
  192.     * sgmldecl.c (sdnaming): Use DELNONCH constant.
  193.     * pars2.c (tokdata): Likewise.
  194.     (parselit): Likewise.
  195.     * sgml1.c (sgmlset): Don't initialize nonchbuf.  Don't change
  196.     lexical codes for sw.delnonch.
  197.     * sgmlxtrn.c (nonchbuf): Initialize first character.
  198.     * lextaba.c (lexcnm, lexcon, lexlms): Make code for DELNONCH be
  199.     NSC.
  200.     * synxtrn.h (struct lexcode): Delete lmnsc member.
  201.     * lexrf.c (lex): Change initialization accordingly.
  202.     * lexcode.h: Move definition of NSC to lextaba.c.
  203.  
  204.     * Get rid of BADCHAR hack by having entity escape magic characters
  205.     with delnonch just as happens in internal entities.
  206.     * sgmldecl.c (sdinit): Don't make BADCHAR a magic character.
  207.     * pars2.c (parse): When handling NON_ don't check if character is
  208.     BADCHAR.  When handling NSC_, give an error if at file level.
  209.     * latin.h, ebcdic.h (BADCHAR): Deleted.
  210.     * ebcdic.c: Don't use BADCHAR.
  211.     * sgmlio.c (ioinit): Don't make BADCHAR bad. Remember
  212.     swp->delnonch in delnonch.
  213.     (iocont): Count a bad character as 2 characters.
  214.     (ioread): Prefix bad character with delnonch.  Make sure there's
  215.     always room for two characters plus end of buffer.
  216.     * source.h (struct source): Add nextchar member.
  217.     (NEXTC): New macro.
  218.     * sgml2.c (scbset): Update NEXTC.
  219.     * sgmlaux.h (struct location): Add nextchar member.
  220.     * sgml1.c (get_location): Update nextchar.
  221.     * sgmlmsg.c (IS_MAGIC): Deleted.
  222.     (printit): Print the real next character if curchar is delnonch.
  223.     * sgmlio.c (isbad): Rename to ismagic.
  224.     * msg.h: Delete message 152.
  225.  
  226.     * appl.h (ADDNONCH): Move to entity.h.
  227.     * entity.h (struct switches): Delete addnonch member.
  228.     (UNSHIFTNON, SHIFTNON): New macro.
  229.     * main.c (swinit): Don't initialize addnonch.
  230.     * lineout.c (print_string): Use UNSHIFTNON.
  231.     * sgmlmsg.c (transparm): Likewise.
  232.     * sgmldecl.c (sdnaming): Likewise.
  233.     * pars2.c (shiftnon): Deleted.
  234.     * sgmlfnsm.h: Delete prototype.
  235.     * pars2.c (parse, charrefn): Use SHIFTNON macro instead of
  236.     shiftnon function.
  237.     * action.h (NSC_): New action.
  238.     * pars2.c (parse): Handle NSC_.
  239.     * pcbrf.c: Undo change of Jun 10, except to pcbmsi.
  240.     For parse modes which use NON_ action, handle NSC class by using
  241.     NSC_ action and transforming state as for NON class.
  242.  
  243. Tue Dec 15 10:31:43 1992  James Clark  (jjc at jclark)
  244.  
  245.     * lineout.c (process_document); Don't define subdoc if suppsw is set.
  246.  
  247.     * Makefile (OBJS3): Add getopt.o.
  248.  
  249.     * sgmlio.c (ioclose): Don't call closefile if fp is 0.
  250.  
  251. Thu Dec  3 09:46:41 1992  James Clark  (jjc at jclark)
  252.  
  253.     * md1.c (mdattdef): Check that normalized length of CDATA default
  254.     value does not exceed LITLEN.
  255.  
  256.     * entity.h (struct switches): Add die member.
  257.     * main.c (die): New function.
  258.     (swinit): Initialize die.
  259.     * sgmlmsg.c (msginit): Initialize die.
  260.     (msgprint): Call die for EXITERR errors.
  261.  
  262.     * main.c (OPTIONS): Rename to options.  Rewrite as an array of
  263.     char so as to avoid duplication.
  264.  
  265. Tue Dec  1 07:19:47 1992  James Clark  (jjc at jclark)
  266.  
  267.     * Makefile.bcc: rast needs getopt.obj.
  268.  
  269. Mon Nov 30 15:52:03 1992  James Clark  (jjc at jclark)
  270.  
  271.     * sgmldecl.c (charset_map, capset_map, sdfeatures): Fully bracket
  272.     initializer.
  273.     * sgml1.c (sgmltab): Likewise.
  274.     * sgmlxtrn.c (dctab, deftab, dvtab, enttab, exttab, extettab,
  275.     funtab, mstab, pubcltab): Likewise.
  276.  
  277. Thu Nov 26 11:44:40 1992  James Clark  (jjc at jclark)
  278.  
  279.     * md2.c (mdentity): Check for duplicate definition and earlier
  280.     usage of default entity after parsing complete definition.
  281.  
  282. Fri Nov 20 05:19:07 1992  James Clark  (jjc at jclark)
  283.  
  284.     * sgmlsasp.c: Delete definitions of RECHAR and RSCHAR.  Use
  285.     definitions from config.h.
  286.  
  287.     * rast.c (output_char): Use definitions of RECHAR, RSCHAR and
  288.     TABCHAR from config.h.
  289.  
  290.     * lexrf.c (lex): Use GENRECHAR rather than '\b' for genre field.
  291.  
  292.     * sgmldecl.h (CANON_NONSGML, CANON_DATACHAR): Move definitions
  293.     into ascii.h and ebcdic.h.
  294.     * genlex.c (main): Characters that aren't special in some way need
  295.     to be treated as NONSGML or DATACHAR depending on whether they are
  296.     the number of a shunned character.
  297.  
  298. Thu Nov 19 06:32:37 1992  James Clark  (jjc at jclark)
  299.  
  300.     * ecbdic.h: Use a better formal public identifier.
  301.  
  302.     * cms.cfg (DEFAULT_PATH, PATH_FILE_SEP, SYSID_FILE_SEP,
  303.     MIN_DAT_SUBS_FROM, MIN_DAT_SUBS_TO): Fix definitions.
  304.  
  305.     * ebcdic.c: Include ebcdic.h and use character definitions that it
  306.     provides.
  307.  
  308. Tue Nov 17 05:46:34 1992  James Clark  (jjc at jclark)
  309.  
  310.     * cms.cfg: New file.
  311.     * ebcdic.h: New file.
  312.     * Makefile.cms: New file.
  313.     * genlex.c: New file.
  314.     * ebcdic.c: New file.
  315.     * Makefile (lextabe.c, genlex): New targets.
  316.     * Makefile: Add new files to distribution.
  317.  
  318.     * lexrf.c: Separate out character set dependent parts into...
  319.     * lextaba.c: New file.
  320.     * lexcode.h: New file. Move definitions needed by lextaba.c and
  321.     lexrf.c here.
  322.     * sgmldecl.c (asciicharset): Move definition into lextaba.c.
  323.     Move definitions of UNKNOWN etc constants into sgmldecl.h.
  324.     * sgmldecl.h: Declare asciicharset.
  325.  
  326.     * entity.h: Separate character set dependent parts into...
  327.     * latin1.h: New file.
  328.     * *.cfg: Include latin1.h.
  329.  
  330.     * lexrf.c (lex): Rewrite short reference delimiter strings that use
  331.     RS, RE or TAB so as to use RSCHAR, RECHAR and TABCHAR definitions.
  332.  
  333.     * lexrf.c (lextran): Don't use character constants.
  334.  
  335.     * lexrf.c (lextran): Fix entry for character number 172.
  336.  
  337. Mon Nov 16 12:39:41 1992  James Clark  (jjc at jclark)
  338.  
  339.     * arc*.c: Rename to *.c.
  340.     * mod*.c: Rename to *.c.
  341.     * Makefile, Makefile.vms, Makefile.bcc: Corresponding changes.
  342.  
  343.     * msg.h: Make message 58 a warning.  Rewrite message.
  344.  
  345. Sun Nov 15 11:41:04 1992  James Clark  (jjc at jclark)
  346.  
  347.     * main.c (munge_program_name): Use isupper() and tolower().
  348.  
  349.     * main.c (main): Don't allow -a option.
  350.  
  351. Sat Nov 14 10:34:47 1992  James Clark  (jjc at jclark)
  352.  
  353.     * lineout.c (attribute_type_string): Don't distinguish ID and
  354.     IDREF attributes from tokenized attributes.
  355.     * sgmls.h (sgmls_attribute_type): Delete SGMLS_ATTR_ID and
  356.     SGMLS_ATTR_IDREF.
  357.     * sgmls.c (parse_attribute, sgmls_free_attribute): Don't handle ID
  358.     and IDREF attribute types.
  359.     * sgmlsasp.c (output_attribute): Don't handle SGMLS_ATTR_ID and
  360.     SGMLS_ATTR_IDREF.
  361.     * rast.c (output_attribute): Likewise.
  362.  
  363.     * main.c (store_sgmldecl): Handle possibility that SIGTERM is not
  364.     defined.
  365.  
  366. Thu Nov  5 11:01:35 1992  James Clark  (jjc at jclark)
  367.  
  368.     * msg.h: In message 3, change `NAMELEN' to  `NAMELEN or LITLEN'.
  369.  
  370.     * modmd1.c (mdattdef): Handle CDR action when parsing default
  371.     value.
  372.  
  373. Thu Oct 29 17:19:13 1992  James Clark  (jjc at jclark)
  374.  
  375.     * lineout.c (output_conforming): Only generate output if !suppsw.
  376.  
  377. Wed Oct 28 10:29:28 1992  James Clark  (jjc at jclark)
  378.  
  379.     * rast.c (main): Add -o option to specify output file.  Avoid use of
  380.     temporary file when -o specified.
  381.     (usage): New function.
  382.  
  383. Sun Oct 25 10:30:18 1992  James Clark  (jjc at jclark)
  384.  
  385.     * modmd1.c (adlfree): New function.
  386.     (mdadl, mdnadl, mdattdef): Fix some leaks.
  387.     * sgmlfnsm.h: Declare adlfree.
  388.  
  389.     * main.c (OPTIONS): Correct definitions that apply when
  390.     CANT_REDIRECT_STDERR is defined.
  391.  
  392.     * Makefile (dist): Fix up the compilation options in
  393.     the Makefile.
  394.  
  395. Sat Oct 24 14:02:35 1992  James Clark  (jjc at jclark)
  396.  
  397.     * entity.h: Define STDINNAME.
  398.     * main.c (main): Don't require an argument.
  399.     (make_docent): Treat no arguments as equivalent to `-'.
  400.     * entgen.c (entgen): Don't search for `-'.
  401.     * modsgml2.c (filepend): Pass buffer as argument to
  402.     iopend().
  403.     * sgmlaux.h (iopend): Fix declaration.
  404.     * sgmlio.c (openfile, closefile, isreg): New functions.
  405.     (ioopen): Use openfile. Initialize pendbuf.
  406.     (ioclose): Use closefile.
  407.     (iopend, iocont): Handle unseekable files.
  408.     (ioread): Return the contents of pendbuf if pendbuf is
  409.     non-NULL.  Handle the case where fgetpos fails.
  410.     Use openfile and closefile.
  411.     * unix.cfg, dos.cfg: Add HAVE_SYS_STAT_H configuration option.
  412.     * configure: Handle HAVE_SYS_STAT_H.
  413.  
  414. Fri Oct 23 11:38:06 1992  James Clark  (jjc at jclark)
  415.  
  416.     * Makefile.bcc: Handle rast.
  417.  
  418.     * Makefile (install): Rewrite.
  419.  
  420.     * sgmls/sgmls.c (unescape1, parse_data): Cast value of escape
  421.     sequence.
  422.  
  423.     * lineout.h (CONFORMING_CODE): New output command.
  424.     * lineout.c (output_conforming): New function.
  425.     * appl.h: Declare it.
  426.     * main.c (main): Call output_conforming() if appropriate.
  427.     * sgmls.h: New event SGMLS_EVENT_CONFORMING.
  428.     * sgmls.c (sgmls_next): Handle CONFORMING_CODE.
  429.     * sgmlsasp.c (do_file): Handle SGMLS_EVENT_CONFORMING.
  430.  
  431.     * CHANGES: Rename to
  432.     * NEWS.
  433.     * Makefile: Change definition of MISC accordingly.
  434.  
  435.     * rast.c: New file.
  436.     * rast.man: New file.
  437.     * Makefile: Handle rast.
  438.     (install.man): Rewrite.
  439.  
  440.     * main.c (print_caps): Deleted.
  441.     (make_argv): Use -c rather than -z.  Always pass -c to
  442.     subprocesses.
  443.     (main): Delete -c option. Rename -z to -c.
  444.     (OPTIONS, usage): Change accordingly.
  445.     (capsw): Deleted.
  446.  
  447. Wed Oct 21 20:13:02 1992  James Clark  (jjc at jclark)
  448.  
  449.     * modpars2.c (attval): Decrement already tokenized value before
  450.     comparing it to a FIXED value.
  451.  
  452. Tue Oct 20 16:45:34 1992  James Clark  (jjc at jclark)
  453.  
  454.     * modsgml2.c (filepend): Don't suspend the file if it's already
  455.     suspended.
  456.  
  457. Sun Oct 18 15:24:13 1992  James Clark  (jjc at jclark)
  458.  
  459.     * sgmls.pl: Handle f, p, s commands.  Fix handling of S, E, and N
  460.     commands.
  461.     (esc, esc_data): Don't handle \s. Ignore \012.
  462.  
  463. Sat Oct 17 12:48:56 1992  James Clark  (jjc at jclark)
  464.  
  465.     * sgmls.c (parse_data): Translate \n into '\015'.
  466.     (unescape_file): New function.
  467.     (sgmls_next, parse_location): Use unescape_file.
  468.     * sgmlsasp.c (output_data_char): New function.
  469.     (output_data, output_pi): Use output_data_char.
  470.  
  471.     * sgmls.c (parse_data): Don't support \s.
  472.     (unescape1): Likewise.
  473.  
  474.     * lineout.c (print_string): Don't strip RSs.
  475.  
  476.     * sgmls.c (add_attribute): New function.
  477.     (sgmls_next): Use add_attribute.
  478.  
  479.     * lineout.c (process_subdoc): Handle the possibility that `id' is
  480.     0.
  481.     * appl.h (E_SUBDOC): Declare it.
  482.     * main.c (errlist): Add error message for E_SUBDOC.
  483.     * modsgml2.c (entopen): Handle the possibility that etx.x is 0 for
  484.     external entities.
  485.     * modmd1.c (mddtds): If entgen fails, behave as if there was no
  486.     external DTD.
  487.     * modmd2.c (mdentity): Don't give up if entgen fails.
  488.     * msg.h: New message 149, 229.  Make errors 147 and 148 warnings.
  489.  
  490.     * entgen.c (field): Fix typo in handling of field 'D' for subdocs.
  491.  
  492. Fri Oct 16 09:55:40 1992  James Clark  (jjc at jclark)
  493.  
  494.     * sgmls.h (struct sgmls_event): Delete `subdoc' from union.
  495.     (struct sgmls_external_entity): Add pubid and sysid members.
  496.     * sgmls.c (parse_filenames): Deleted.
  497.     (parse_external_entity, parse_subdoc_entity): Don't call
  498.     parse_filenames.
  499.     (parse_notation): Don't parse pubid and sysid.
  500.     (define_external_entity): Fill in pubid, sysid and filenames
  501.     fields from stored values in sp.
  502.     (define_notation): Fill in pubid and sysid fields from stored
  503.     values in sp.
  504.     (sgmls_next): Handle SYSID_CODE, PUBID_CODE and FILE_CODE.
  505.     For {START,END}_SUBDOC_CODE look up the subdoc entity.
  506.     (sgmls_free): Free the pubid, sysid and files members of sp.
  507.     Free the pubid and sysid fields of external entities.
  508.     (struct sgmls): Add files, nfiles, sysid and pubid members.
  509.     (sgmls_create): Initialize them.
  510.  
  511. Thu Oct 15 10:53:33 1992  James Clark  (jjc at jclark)
  512.  
  513.     * adl.h (struct ne): Add nepubid and nesysid members.
  514.     (NEPUBID, NESYSID): New macros.
  515.     (NEDCNPUBID, NEDCNSYSID, NEDCNDEFINED): New macros.
  516.     * msg.h: Deleted message 149.
  517.     * entity.h (struct dcncb): Delete dcnid member.  Add sysid and
  518.     pubid members.
  519.     * modmd2.c (mdentity): Fill in nepubid and nesysid.
  520.     (mdnot): Don't call entgen. Fill in sysid, pubid and defined
  521.     members of dcb.
  522.     * entgen.c (nentgen): Deleted.
  523.     (entgen): Don't call nentgen.
  524.     (field): When checking for Y substitution storage class must be <=
  525.     * lineout.h (PUBID_CODE, SYSID_CODE, FILE_CODE): New codes.
  526.     * lineout.c (process_document): Output a definition for a
  527.     subdocument entity before processing it.
  528.     (print_id): Rewrite.
  529.     (output_external_entity, output_subdoc): Add two additional
  530.     arguments.  Change printing of external identifiers.
  531.     (output_notation): Delete `id' argument. Add two additional
  532.     arguments.  Change printing of external identifiers.
  533.     (define_external_entity, handle_single_token): Change callers.
  534.     (print_filename): Don't use \s.
  535.     * modpars2.c (aenttst): Use NEDCNDEFINED rather than NEDCNID.
  536.     * modsgml2.c (entopen): Likewise.
  537.     * modpars1.c (checkdtd): Use `defined' member of dcncb in place of
  538.     `dcnid'.
  539.     * traceset.c (tracedcn): Don't use `dcnid' member.
  540.  
  541.     * modsgml1.c (sgmlend): Merge loops. Divide maxsubcap values by
  542.     cappoints values.
  543.     * main.c (write_caps): Use RACT format.
  544.     (get_subcaps): Read new format.
  545.  
  546. Wed Oct 14 09:54:19 1992  James Clark  (jjc at jclark)
  547.  
  548.     * modmd2.c (mdentity): Free pne after errors 147 or 148.
  549.  
  550.     * modmd2.c (mdnot): Free ntx on error.
  551.  
  552. Mon Sep 28 13:05:35 1992  James Clark  (jjc at jclark)
  553.  
  554.     * Version 1.0 released.
  555.  
  556. Fri Sep 25 11:17:34 1992  James Clark  (jjc at jclark)
  557.  
  558.     * Makefile.vms: New file.
  559.  
  560.     * modpars1.c (parsepro): Set rc for STE_ case.
  561.  
  562.     * modmd2.c (mdentity): For the default entity copy the system and
  563.     public identifiers.
  564.  
  565.     * modmd2.c (mdentity): Free pne if estore != ESN.
  566.  
  567. Thu Sep 24 13:39:01 1992  James Clark  (jjc at jclark)
  568.  
  569.     * source.h (struct entity): Add dflt member.
  570.     * modsgml2.c (usedef): Set ecb->dflt.
  571.     * modmd2.c (mdentity): Check whether earlier existing definition
  572.     of entity was defaulted. If so, give a warning and remove this
  573.     definition.
  574.     * msg.h: New message 228.
  575.  
  576. Wed Sep 23 12:14:44 1992  James Clark  (jjc at jclark)
  577.  
  578.     * modpars2.c (attval): Don't pass attribute value as argument to
  579.     error 67.
  580.     * msg.h: Don't use attribute value in error message.
  581.  
  582. Fri Sep 11 15:32:30 1992  James Clark  (jjc at jclark)
  583.  
  584.     * sgmlio.c (ioread): Set f->fp to 0 after closing it if there is
  585.     no next file.
  586.     (iopend): Don't call fclose if f->fp is 0.
  587.  
  588. Mon Aug 31 11:06:57 1992  James Clark  (jjc at jclark)
  589.  
  590.     * Makefile (config.h): Don't use `export'.
  591.  
  592. Fri Aug 21 15:12:48 1992  James Clark  (jjc at jclark)
  593.  
  594.     * modsgml2.c (entopen): For ESX and ESC return ENTDATA even if
  595.     entity is empty.
  596.     * lineout.c (print_data): If n == 0, don't ignore it if it's sdata.
  597.  
  598. Tue Aug 18 11:30:38 1992  James Clark  (jjc at jclark)
  599.  
  600.     * modsgml2.c (entref): Use error 35 if it's a parameter entity.
  601.  
  602. Mon Aug 17 12:53:48 1992  James Clark  (jjc at jclark)
  603.  
  604.     * source.h (union etext): Delete etd member.
  605.  
  606.     * Makefile: Include sgml-mode.el.
  607.  
  608. Thu Aug 13 15:04:47 1992  James Clark  (jjc at jclark)
  609.  
  610.     * sgmldecl.c (sdcsdesc): Give a warning for an unknown designating
  611.     escape sequence.
  612.     (sgmlwrsd): Use the system character set as the document character
  613.     set.
  614.     (DUMMY_CHARSET): Deleted.
  615.     * msg.h: New message 227.
  616.  
  617.     * test: Put out and err files in separate directories.
  618.  
  619.     * main.c (main): Ignore -a.
  620.     (usage): Don't mention -a.
  621.     (swinit): Set swambig to 1.
  622.     (build_subargv): Don't pass -a.
  623.  
  624. Wed Aug 12 22:02:24 1992  James Clark  (jjc at jclark)
  625.  
  626.     * action.h (STE_): New action.
  627.     * arcpcbrf.c (es7a): Change action for nms and tagc from PEP_ to STE_.
  628.     * modpars1.c (parsepro): Handle STE_.
  629.     * modsgml1.c (sgmlnext): Start the document element for DCE_ or MSS_.
  630.  
  631. Thu Aug  6 16:42:37 1992  James Clark  (jjc at jclark)
  632.  
  633.     * modpars2.c (parseval): If a number token is terminated by a name
  634.     character, give error 17.
  635.  
  636. Wed Jul 29 01:49:20 1992  James Clark  (jjc at jclark)
  637.  
  638.     * modpars1.c (startdtd): Allocate an extra character for nmbuf.
  639.     * modmd2.c (mdentity): Check that length of parameter entity name
  640.     does not exceed NAMELEN - 1.  Pass NAMELEN to parsemd when
  641.     parsing parameter entity name.
  642.  
  643.     * msg.h: New message 225.
  644.     * modserv.c (sandwich): Move to...
  645.     * modmd2.c (sandwich): Return 0 if the result is too long.
  646.     * modmd2.c (mdentity): Give an error if the result was too long
  647.     after adding bracketing delimiters.
  648.  
  649.     * msg.h: New message 224.
  650.     * modmd1.c (mdattdef): It is an error if the value returned by
  651.     vallen exceeds LITLEN.
  652.     * modpars2.c (attval): Likewise.
  653.  
  654.     * sgmls.c (unescape1): If s does not contain a backslash, return
  655.     the length of s.
  656.  
  657. Tue Jul 28 18:35:54 1992  James Clark  (jjc at jclark)
  658.  
  659.     * action.h (PENR): New action.
  660.     * modpars2.c (parsemd): Handle PENR.
  661.     * arcpcbrf.c (pr21a): Change actions for ee, com, pero from PCI_
  662.     to PENR.
  663.     (sp21, tk21): After ee, state is TK1.
  664.  
  665.     * modpars2.c (parsegrp, parsengrp): Detect duplicates.
  666.  
  667.     * modpars1.c (parsepro): Handle EE_.
  668.  
  669. Thu Jul 23 12:50:34 1992  James Clark  (jjc at jclark)
  670.  
  671.     * modmd1.c (mdattdef): If anmtgrp returns an error and adlim <
  672.     GRPCNT, report that ATTCNT not GRPCNT was exceeded.
  673.  
  674. Mon Jun 29 00:46:09 1992  James Clark  (jjc at jclark)
  675.  
  676.     * sgmldecl.c (systemcharset): New charset.
  677.     (charset_map): By default assume the system character set is ISO
  678.     Latin-1.
  679.     (nlextoke, nlextran): New variables.
  680.     (setnonsgml): Rename to...
  681.     (setlexical): Handle characters made significant by NAMING
  682.     section.  Use nlextoke and nlextran to munge lexical tables.
  683.     (sgmldecl): Call setlexical.
  684.     (sdpubsyntax): Delete call to setnonsgml().
  685.     (sdshunchar): Delete calls to setnonsgml().
  686.     (sdnaming): Redo parsing of naming classes.
  687.     (sgmlwrsd): Generate NAMING section from lextoke and lextran.
  688.     Use system character set as syntax reference character set.
  689.  
  690.     * msg.h: Remove trailing period from message 218.
  691.  
  692. Sun Jun 28 15:59:25 1992  James Clark  (jjc at jclark)
  693.  
  694.     * modpars2.c (tokdata): Insert missing parentheses around
  695.     `parmlen -= 2'.
  696.  
  697. Sat Jun 20 10:09:39 1992  James Clark  (jjc at jclark)
  698.  
  699.     * Makefile (depend): Use sed { command.
  700.  
  701.     * Makefile: Pass PREFIX to configure.
  702.     * configure: Edit DEFAULT_PATH using PREFIX.
  703.  
  704. Mon Jun 15 19:41:55 1992  James Clark  (jjc at jclark)
  705.  
  706.     * configure: More elaborate test for HAVE_EXTENDED_PRINTF.
  707.  
  708. Fri Jun 12 13:20:49 1992  James Clark  (jjc at jclark)
  709.  
  710.     * context.c (testend): Set andoptsw to 1 after ending a group.
  711.  
  712. Wed Jun 10 16:49:50 1992  James Clark  (jjc at jclark)
  713.  
  714.     * arcpcbrf.c (pcbconm): New state NS0.
  715.     (et0, da0, da1): After NSC state changes to NS0.
  716.     (pcbmsrc): New state NS0.
  717.     (et30, da30): After NSC state changes to NS0.
  718.     (pcbmsc): New state NS2.
  719.     (et32, da32): After NSC state changes to NS2.
  720.     (pcbmsi): New state NS4.
  721.     (et34, me34, me35, es34, md34): After NSC state changes to NS4.
  722.  
  723.     * lineout.c (print_string): Don't recognize character preceded by
  724.     DELNONCH as DELCDATA or DELSDATA.
  725.  
  726. Tue Jun  9 21:17:15 1992  James Clark  (jjc at jclark)
  727.  
  728.     * modpars1.c (parsepro): Call setdtype() when EOD_ encountered.
  729.     Don't call setdtype() or checkdtd() if we gave an error message
  730.     for the EOD_.
  731.  
  732. Sun Jun  7 09:57:32 1992  James Clark  (jjc at jclark)
  733.  
  734.     * configure: When determining void_ret, use a typedef in order to
  735.     catch compilers that can't handle this typedef.
  736.  
  737.     * replace.c (hash): Cast enumeration type to int.
  738.     * sgmls.c (error): Likewise.
  739.     * sgmldecl.h: Use #define rather than enum to define *CAP and Q*
  740.     constants.
  741.     * sgmlmsg.c: Likewise for HDR*.
  742.  
  743. Fri May 22 13:31:58 1992  James Clark  (jjc at jclark)
  744.  
  745.     * sgmldecl.c (bufsalloc, bufsrealloc): Allocate entbuf here.
  746.     * modpars1.c (commbufs): Don't allocate entbuf here.
  747.  
  748. Wed May 20 11:55:42 1992  James Clark  (jjc at jclark)
  749.  
  750.     * Makefile (config.h): Depends on configure and unix.cfg.
  751.  
  752.     * configure: Pipe yes into man.
  753.  
  754.     * arclexrf.c: Don't include stdio.h.  Use 0 instead of NULL.
  755.  
  756.     * unixproc.c: Include standard header files before std.h.
  757.  
  758.     * std.h: Reorder definitions so that all standard headers are
  759.     included before conditional definitions of SEEK_SET etc.
  760.  
  761. Mon May 18 15:38:35 1992  James Clark  (jjc at jclark)
  762.  
  763.     * modpars2.c (charrefn): Return DAF_ instead of DAS_.
  764.  
  765. Mon May 18 08:37:23 1992  James Clark  (jjc at jclark)
  766.  
  767.     * configure: Catch signals when testing for extended printf.
  768.  
  769. Sun May 17 09:49:14 1992  James Clark  (jjc at jclark)
  770.  
  771.     * modmd1.c (mdadl, mdelem): Don't dereference nmgrp[0] if it is NULL.
  772.  
  773.     * replace.c (parse_error): Declare as NO_RETURN.
  774.  
  775.     * context.c (copypos): Cast unsigned char to int in comparison.
  776.     * modmd1.c (mdelem): Likewise.
  777.     * modmd2.c (storedatt): Likewise.
  778.     * modpars2.c (parsenm): Likewise.
  779.     (s2valnm): Likewise.
  780.     * sgmlxtrn.[ch]: Make Tstart an int.
  781.     * context.c: Don't cast Tstart to int.
  782.     * modpars2.c (shiftnon): Cast unsigned char to unsigned in modulus
  783.     expression.
  784.     * context.c (HITSET, HITOFF): Cast `n' to unsigned in shift
  785.     expression.
  786.  
  787.     * arclexrf.c: Avoid use within comments of character sequences
  788.     that will be interpreted as trigraphs.
  789.  
  790.     * std.h: Don't include getopt.h.
  791.     * configure: Don't handle HAVE_GETOPT_H.
  792.     * *.cfg: Delete HAVE_GETOPT_H.
  793.     * getopt.c, main.c, sgmlsasp.c: Include getopt.h.
  794.     * getopt.h: Don't use prototypes.
  795.  
  796.     * msgcat.h: Don't use prototypes.
  797.  
  798. Sat May 16 12:15:43 1992  James Clark  (jjc at jclark)
  799.  
  800.     * entgen.c (nentgen): Treat empty system/public identifiers as
  801.     missing.
  802.  
  803. Fri May 15 23:51:10 1992  James Clark  (jjc at jclark)
  804.  
  805.     * std.h: Declare errno in case <errno.h> doesn't.
  806.  
  807. Tue May 12 18:58:54 1992  James Clark  (jjc at jclark)
  808.  
  809.     * *.cfg (HAVE_GETOPT_H): New define.
  810.     * configure: Handle HAVE_GETOPT_H.
  811.     * std.h: Include getopt.h.
  812.     * getopt.c, main.c, sgmlsasp.c: Don't include getopt.h.
  813.  
  814.     * configure: Fixes for Ultrix.
  815.  
  816.     * entgen.c (entgen): Cast f->fpisysis to char * in argument to
  817.     strchr.
  818.  
  819.     * sgmlsasp.c (error): Define as NO_RETURN.
  820.  
  821. Mon May 11 08:54:06 1992  James Clark  (jjc at jclark)
  822.  
  823.     * Version 0.8 released.
  824.  
  825.     * Makefile.bcc (OBJS1): Add exclude.obj.
  826.  
  827. Sat May  9 10:26:16 1992  James Clark  (jjc at jclark)
  828.  
  829.     * dos.cfg: Add CANT_REDIRECT_STDERR.
  830.     * main.c: Add -f option if CANT_REDIRECT_STDERR is defined.
  831.  
  832.     * adl.h (NEDCNADL): Change dcnadl to adl.
  833.  
  834.     * entity.h (struct dcncb): Add entsw member.
  835.     * modmd1.c (mdnadl): Check that an entity with this notation has
  836.     not already been declared.
  837.     * modmd2.c (mdextid): Set the entsw field of the notation.
  838.     * msg.h: New message 218.
  839.  
  840.     * msg.h: Improve message 192.
  841.  
  842.     * msg.h: Improve message 78.
  843.  
  844.     * modpars1.c (checkdtd): Check for undefined notations even if
  845.     sw.undef not specified.
  846.     * msg.h: Change type of 192 to 'W'.
  847.  
  848.     * modmd2.c (mdextid): Separate copying of attribute list into
  849.     storedatt.  Call this also if there was no data attribute
  850.     specification list but this notation does have an attribute list.
  851.     (storedatt): New function.  Don't increase ds.attgcnt.
  852.     * modpars2.c (parseatt): Separate initialization of ad into
  853.     initatt.  No need to copy al: this is done in storedatt.
  854.     (initatt): New function.
  855.     * sgmlfnsm.h: Declare storedatt and initatt.
  856.  
  857. Fri May  8 13:00:56 1992  James Clark  (jjc at jclark)
  858.  
  859.     * sgmldecl.c: Use ISO 8879:1986 instead of ISO 8879-1986.
  860.     Also recognize the latter but give an error message.
  861.     (sdfixcolon): Rename to sdfixstandard.
  862.     * msg.h: Change message 163 accordingly.
  863.  
  864.     * modpars2.c (adlval): Don't dereference newetd if it's NULL.
  865.  
  866.     * entgen.c (entgen): Initialize sysidsrch.  Don't always call
  867.     sysidgen() if there's a system identifier.
  868.     (field): Use %E for escape sequence. %S gives system identifier.
  869.  
  870. Wed May  6 21:40:25 1992  James Clark  (jjc at jclark)
  871.  
  872.     * sgmldecl.c (sdtranschar): Cast arguments to ltous to long.
  873.  
  874.     * msgcat.c: Conditionalize use of prototypes on USE_PROTOTYPES not
  875.     __STDC__.
  876.  
  877. Tue May  5 00:24:39 1992  James Clark  (jjc at jclark)
  878.  
  879.     * lineout.c (process_subdoc): Only call get_subcaps() if
  880.     subprocess exited successfully.
  881.  
  882.     * msg.h: New message 217.
  883.     * exclude.c (excktok): Use message 217 instead of 41. Second
  884.     parameter is current gi not gi that does excluding.
  885.  
  886.     * modpars1.c (iopend): Save offset into line.  Don't seek to
  887.     middle of line.
  888.     (iocont): Seek to beginning of line, then skip to middle of line
  889.     using saved offset.
  890.     (struct iofcb): Delete penderr and sverrno.  New pendoff member.
  891.  
  892.     * modpars1.c (parsecon): An RE that would be ignored can force a
  893.     start tag.
  894.  
  895. Mon May  4 23:26:21 1992  James Clark  (jjc at jclark)
  896.  
  897.     * unix.cfg (FPOS_MISSING): New define.
  898.     * configure: Handle FPOS_MISSING.
  899.     * std.h: Provide fpos_t, fgetpos, fsetpos if FPOS_MISSING.
  900.     * sgmlio.c (iopend, iocont, ioread): Use fsetpos/fgetpos rather
  901.     than fseek/ftell. Use penderr to indicate that iopend() failed.
  902.     (struct iofcb): Make off an fpos_t. Add penderr member.
  903.  
  904. Sun May  3 09:41:05 1992  James Clark  (jjc at jclark)
  905.  
  906.     * sgmlmsg.c (printit): Don't rely on return value of fprintf.
  907.  
  908. Wed Apr 29 00:03:42 1992  James Clark  (jjc at jclark)
  909.  
  910.     * modpars1.c (destack): Undo Apr 26 change.
  911.     * exclude.c: New file.
  912.     * msg.h: New message 216.
  913.     * Makefile: Add exclude.c.
  914.     * modpars1.c (stack): Call exclude().
  915.     * sgmlfnsm.h: Declare exclude().
  916.     * modpars1.c (stag): Don't give errors here for invalid exclusions.
  917.  
  918.     * ambig.c (listambig): Clear marks afterwards.
  919.  
  920.     * synxtrn.h: Don't use an enum for the key indices.
  921.  
  922. Tue Apr 28 09:22:43 1992  James Clark  (jjc at jclark)
  923.  
  924.     * vms.cfg: New file.
  925.     * Makefile (MISC): Include vms.cfg.
  926.  
  927.     * portproc.c (run_process): Free the right thing.
  928.  
  929.     * Makefile (OBJS2): Add getopt.o.
  930.  
  931.     * modsgml1.c (sgmltab): Undo change of April 13. When pending RE
  932.     is followed by another RE that is ignored, output the first RE
  933.     immediately.
  934.  
  935. Sun Apr 26 11:36:49 1992  James Clark  (jjc at jclark)
  936.  
  937.     * modpars1.c (destack): When element ends without required element,
  938.     check whether required element has been excluded.
  939.  
  940. Tue Apr 21 12:39:42 1992  James Clark  (jjc at jclark)
  941.  
  942.     * entity.h (struct switches): Add swundef member.
  943.     * main.c (swinit): Initialize swundef.
  944.     (OPTIONS): Add u.
  945.     (main): Support -u.
  946.     (usage): Mention -u.
  947.     * modpars1.c (checkdtd): New function.
  948.     (parsepro): Call checkdtd.
  949.     * msg.h: New messages 142 and 190.
  950.  
  951. Mon Apr 20 15:09:40 1992  James Clark  (jjc at jclark)
  952.  
  953.     * modmd1.c (mdadl): Only call etdadl if the element has already
  954.     been defined.
  955.     (etdadl): No need to check that p->etdmod is non-NULL.
  956.  
  957. Thu Apr 16 12:56:15 1992  James Clark  (jjc at jclark)
  958.  
  959.     * main.c (main): Implement -i.
  960.     (swinit): Initialize includes.
  961.     * entity.h (struct switches): New includes member.
  962.     * modpars1.c (pentname, doincludes): New functions.
  963.     (startdtd): Call doincludes.
  964.     (endprolog): Call doincludes if there was no DTD.
  965.     * msg.h: New message 138.
  966.  
  967. Wed Apr 15 15:58:53 1992  James Clark  (jjc at jclark)
  968.  
  969.     * traceset.c (tracemap): Deleted.
  970.     * trace.h (TRACEMAP): Deleted.
  971.     * modserv.c (mapsrch): Don't use TRACEMAP.
  972.     * modsgml2.c (ptrsrch): Likewise.
  973.  
  974.     * trace.h, traceset.c *.cfg: Include tracing is TRACE is defined,
  975.     rather than if FINAL is not defined.
  976.     * entity.h: Include trace and ptrace in struct switched only if
  977.     TRACE is defined.
  978.     * main.c (main, swinit, build_subargv): Support -x and -y only if
  979.     TRACE is defined.
  980.     (xrealloc): New function.
  981.     * appl.h: Declare xrealloc.
  982.  
  983.     * traceset.c (tracemod): Calculate size of pg correctly.
  984.  
  985. Tue Apr 14 13:47:21 1992  James Clark  (jjc at jclark)
  986.  
  987.     * action.h: Get rid ETGP_. Renumber accordingly.
  988.     * modsgml1.c (sgmltab): Get rid of column for ETGP_.
  989.  
  990.     * modpars2.c (parseseq): Rewrite.
  991.  
  992.     * modpars2.c (s2valnm): Cosmetic changes.
  993.  
  994.     * modpars2.c (parsetkn): Rewrite.  Don't store length ahead of
  995.     name.
  996.     (parseatt): Don't call dellen.
  997.     (mdattdef): Likewise.
  998.     (charrefn): Number doesn't have length byte.
  999.     * modmd1.c (mdelem): ranksuff doesn't have length byte.
  1000.     * modserv.c (dellen): Deleted.
  1001.     * sgmlfnsm.h (dellen): Delete declaration.
  1002.     * sgmldecl.c: Numbers no longer have length bytes.
  1003.  
  1004.     * modpars2.c (parse): Use NAMELEN rather than 8 when parsing
  1005.     number in numeric character reference.
  1006.  
  1007. Mon Apr 13 23:21:45 1992  James Clark  (jjc at jclark)
  1008.  
  1009.     * modsgml1.c (sgmltab): Add two new states to handle the case
  1010.     where the pending RE has been followed by an RE that was ignored.
  1011.  
  1012. Wed Apr  8 10:59:48 1992  James Clark  (jjc at jclark)
  1013.  
  1014.     * modsgml1.c (sgmltab): In state NR1, hold on to REF_ as in state
  1015.     DA1.
  1016.  
  1017.     * Makefile (install, install.man): New targets.
  1018.  
  1019.     * modsgml1.c (sgmlact): When popping the pcbsgml stack, change the
  1020.     state of the new top of stack pcb as if there had been a
  1021.     processing instruction or markup declaration.
  1022.  
  1023. Tue Apr  7 13:55:17 1992  James Clark  (jjc at jclark)
  1024.  
  1025.     * configure: New file.
  1026.     * Makefile: Add configure to distribution.
  1027.     (config.h): Build using configure.
  1028.     * unix.cfg: Some minor cleanup to work better with configure.
  1029.     Move things that can't be auto-configured to top.
  1030.  
  1031. Sun Apr  5 20:53:42 1992  James Clark  (jjc at jclark)
  1032.  
  1033.     * main.c (main): Call MAIN_HOOK if it's defined.
  1034.  
  1035.     * Makefile: Add thinkc.cfg to MISC.
  1036.  
  1037.     * getopt.c: Include getopt.h.
  1038.  
  1039.     * sgmlio.c (nextstr): Make declaration a prototype.
  1040.  
  1041. Wed Apr  1 09:30:33 1992  James Clark  (jjc at jclark)
  1042.  
  1043.     * main.c (usage): Mention -p.
  1044.  
  1045. Sun Mar 29 15:47:44 1992  James Clark  (jjc at jclark)
  1046.  
  1047.     * sgmldecl.c (sgmldecl): Use separate buffer to parse closing >.
  1048.     Return non-zero if there was some appinfo.
  1049.     (sdappinfo): Don't save appinfo.  Delete appinfo array.
  1050.     (sgmlappinfo): Deleted.
  1051.     (sgmlwrsd): Always write out APPINFO NONE.    
  1052.     * sgmlmain.g (sgmlappinfo): Delete declaration.
  1053.     * sgmlfnsm.h (sgmldecl): Change return type to int.
  1054.     * action.h (APP_): New action.
  1055.     * modpars1.c (parsepro): Return APP_ after parsing SGML
  1056.     declaration if there was some appinfo.
  1057.     * sgmlmain.h (SGMLAPP): New event.
  1058.     (ADATA, ADATALEN): New macros.
  1059.     * modsgml1.c (sgmlnext): Return SGMLAPP for APP_.
  1060.     * lineout.h: Define APPINFO_CODE.
  1061.     * lineout.c (process_document): Handle SGMLAPP.
  1062.     (output_appinfo): New function.
  1063.     * sgmls.c (sgmls_next): Handle APPINFO_CODE.
  1064.     * sgmls.h (sgmls_event_type): Add SGMLS_EVENT_APPINFO.
  1065.     (sgmls_event): Add appinfo field to union.
  1066.     * sgmlsasp.c (do_file): Ignore SGMLS_APPINFO.
  1067.  
  1068. Fri Mar 27 11:18:06 1992  James Clark  (jjc at jclark)
  1069.  
  1070.     * Version 0.7 released.
  1071.  
  1072.     * modsgml2.c (scbset): Check that es >= 0.
  1073.  
  1074.     * sgmldecl.c (sgmlappinfo): New function.
  1075.     * sgmlmain.h: Declare it.
  1076.  
  1077.     * lineout.c (output_internal_entity): Distinguish CDATA and SDATA
  1078.     entities with a keyword rather than with \|.
  1079.     * sgmls.c (parse_internal_entity): Grok this.
  1080.     Rename E_ENTITYTYPE to E_BADEXTERNAL.
  1081.     Change error message for E_BADINTERNAL.
  1082.     (unescape): Split off part into
  1083.     (unescape1): New function.
  1084.     * sgmls.pl: Grok new I format.
  1085.  
  1086.     * sgmlio.c (nifopen): New function.
  1087.     (FOPENR): Define as nifopen if HAVE_O_NOINHERIT is defined.
  1088.     * dos.cfg: Define HAVE_NO_INHERIT.
  1089.  
  1090.     * stklen.c: New file.
  1091.     * Makefile.bcc: Compile stklen.c.
  1092.     * Makefile: Include stklen.c in distribution.
  1093.  
  1094.     * main.c (main): New -p option.
  1095.  
  1096.     * modpars1.c (parsepro): Give an error for R/CDATA marked section
  1097.     in the DTD subset.
  1098.     * msg.h: Use message 135 for this.
  1099.  
  1100.     * modpars1.c (common): Rename to commbufs. Change callers.
  1101.     * sgmlfnsm.h: Change declaration.
  1102.  
  1103.     * sgmlsasp.c (main): New -n option.
  1104.     (fold_general_names): New variable.
  1105.     * sgmlsasp.h (fold_general_names): Declare it.
  1106.     * replace.c (scan_name): Fold name to upper case only if
  1107.     fold_general_names is non-zero.
  1108.  
  1109. Thu Mar 26 12:39:24 1992  James Clark  (jjc at jclark)
  1110.  
  1111.     * modpars1.c (setdtype): Don't give message about the document
  1112.     type element's not being declared if we already gave an error
  1113.     message about there not being a doctype declaration.
  1114.     (parsepro): In onlypro mode, call setdtype.
  1115.  
  1116. Wed Mar 25 11:13:18 1992  James Clark  (jjc at jclark)
  1117.  
  1118.     * sgmldecl.c (sdquantity): Eliminate unnecessary inner
  1119.     redeclaration of i.
  1120.  
  1121.     * sgmldecl.c (sdnaming): Eliminate unnecessary assignment to i.
  1122.  
  1123.     * sgmls.c (parse_data): Eliminate unnecessary assignment to start.
  1124.  
  1125.     * main.c (make_argv): Eliminate unnecessary increment of i.
  1126.  
  1127.     * entgen.c (entgen): Eliminate unnecessary assignment to buf.
  1128.  
  1129.     * modpars2.c (antvget): Make advn local to block in which it is
  1130.     used. Eliminate unnecessary assignment.
  1131.  
  1132.     * modpars2.c (alperm): Eliminate unnecessary assignment to alperm.
  1133.  
  1134.     * modpars1.c (parsecon): Eliminate unnecessary assignment to pcb.
  1135.  
  1136.     * context.c (newtoken): Make Psave and rc local to block in which
  1137.     it is used. Eliminate unnecessary assignments.
  1138.  
  1139.     * Cast some arguments of xrealloc, memcpy, MEMZERO to UNIV.
  1140.  
  1141.     * tools.c (VP): New macro.
  1142.     * sgmlsasp.h (VP): New macro.
  1143.     * appl.h (appl_error): 
  1144.     * main.c (fatal):
  1145.     * replace.c (parse_error):
  1146.     * sgmlmsg.c (xfprintf): Use VP for prototypes of varargs functions.
  1147.  
  1148. Mon Mar 23 13:57:55 1992  James Clark  (jjc at jclark)
  1149.  
  1150.     * sgmlxtrn.c (savedpos): New variable.
  1151.     * sgmlxtrn.h: Declare it.
  1152.     * modpars1.c (endprolog): Separate allocation of struct mpos's
  1153.     into...
  1154.     (newmpos): New function.
  1155.     (endprolog): Allocate savedpos.
  1156.     * context.c (context): If there's an applicable inclusion, save
  1157.     the current position in savedpos.  Don't return RCPEX unless the
  1158.     element is valid in this model only as an inclusion; in this case,
  1159.     restore the saved position.
  1160.  
  1161. Sun Mar 22 10:34:54 1992  James Clark  (jjc at jclark)
  1162.  
  1163.     * entity.h (struct switches): Add onlypro member.
  1164.     * main.c (swinit): Initialize onlypro.
  1165.     * modpars1.c (parsepro): If onlypro switch is set, don't give an
  1166.     error for EOD after DTD subset is finished, and also return EOD at
  1167.     end of prolog.
  1168.  
  1169. Sat Mar 21 19:27:59 1992  James Clark  (jjc at jclark)
  1170.  
  1171.     * etype.h (TXOPT, TXREP, TXOREP): New ttype flags to support dump.c.
  1172.     * modpars2.c (parsemod, parsegcm): Set TX* flags when occurrence
  1173.     indicator is specified explicitly.
  1174.  
  1175.     * modmd2.c (mdentity): Build the entity text for ESS and ESE
  1176.     types. Handle ESS and ESE like other internal entity types.
  1177.     (tagtext, entfix): Deleted.
  1178.     * sgmlxtrn.c (tagtext, entfix): Delete declarations.
  1179.     * modpars1.c (shortref): Don't handle ENTEGI, ENTSGI. Delete
  1180.     stagrc variable.
  1181.     * modpars2.c (parse): Likewise. Delete stagrc variable.
  1182.     * modsgml2.c (entopen): Handle ESS and ESE normally.
  1183.     * traceset.c (traceecb): Likewise.
  1184.     * source.h (ENTEGI, ENTSGI): Deleted.
  1185.     (ENTDATA, ENTPI): Renumber.
  1186.  
  1187. Mon Feb 24 16:12:59 1992  James Clark  (jjc at jclark)
  1188.  
  1189.     * context.c (testend): Insert brackets around && within || to keep
  1190.     gcc 2 quiet.
  1191.  
  1192.     * traceset.c: Add some casts to keep gcc 2's -Wformat happy.
  1193.  
  1194. Fri Feb 21 12:21:05 1992  James Clark  (jjc at jclark)
  1195.  
  1196.     * lineout.c (process_subdoc): Forget the current filename after
  1197.     processing subdoc.
  1198.  
  1199.     * main.c (build_subargv): Pass on -l.
  1200.  
  1201. Thu Feb 20 11:48:06 1992  James Clark  (jjc at jclark)
  1202.  
  1203.     * action.h (MSP_): New action.
  1204.     * arcpcbrf.c (md7a): Change action for MSO from LAF_ to MSP_.
  1205.     * modpars1.c (parsepro): Handle MSP_.  For MSS_ return DCE_.
  1206.     * modsgml1.c (sgmlnext): Change handling of MSS_ in the prolog.
  1207.  
  1208.     * modserv.c (hout): Use a struct hash **.  Had bug when removing
  1209.     first element in chain.
  1210.  
  1211. Tue Feb 18 11:11:35 1992  James Clark  (jjc at jclark)
  1212.  
  1213.     * sgmlxtrn.c: Don't declare array sizes unnecessarily. Insert
  1214.     newlines in license.
  1215.  
  1216.     * msg.h: Give errors about unsupported features a `U' type code.
  1217.     * sgmlsmsg.c: Use a different header for `U' type messages.
  1218.  
  1219. Fri Feb 14 11:41:51 1992  James Clark  (jjc at jclark)
  1220.  
  1221.     * sgmls.c (parse_data): Don't use strchr.
  1222.  
  1223.     * replace.c (hash): Change hashing function. Do modulus in hash().
  1224.     Make return type int.  Change callers.
  1225.  
  1226.     * sgmls.h, sgmls.c, sgmlsasp.c: Redo error handling so as not to use
  1227.     setjmp.
  1228.     * std.h: Don't include <setjmp.h>.    
  1229.  
  1230.     * source.h (ENTHASH):
  1231.     * etype.h (ETDHASH):
  1232.     * adl.h (IDHASH): Bump up values.
  1233.  
  1234.     * modserv.c (hash): Use better hashing function.
  1235.  
  1236.     * modserv.c (idget): Deleted.
  1237.     * sgmlfnsm.h: Delete declaration.
  1238.  
  1239.     * momd11.c (mdelem, mdadl):
  1240.     * modmd2.c (mdsrmuse): Don't allocate nmgrp
  1241.     * modmd1.c (mdnadl, mdelem): Don't allocate nnmgrp.
  1242.     * modpars2.c (parsemod): Don't allocate gbuf.
  1243.     * modmd2.c (mdelem): Don't allocate nmbuf
  1244.     * modmd2.c (mdextid): Don't allocate sysibuf, pubibuf.
  1245.     * sgmldecl.c (bufsalloc, bufsrealloc): Handle only scbs and tbuf.
  1246.     * modpars1.c (parsepro): Call startdtd() before mddtds.
  1247.     (startdtd): New function. Allocate nmgrp, nnmgrp, gbuf, nmbuf,
  1248.     pubibuf, sysibuf.
  1249.     (common): New function.  Allocate al, lbuf, entbuf.
  1250.     (endprolog): Free buffers allocated in startdtd().  Call common()
  1251.     if it hasn't already been called.
  1252.  
  1253. Thu Feb 13 10:42:26 1992  James Clark  (jjc at jclark)
  1254.  
  1255.     * modsgml2.c (entref): Handle the case where the entity has been
  1256.     used in a shortref mapping declaration, but has not been defined.
  1257.  
  1258.     * Redo tracing code.
  1259.  
  1260.     * traceset.c (traceecb): Return if p is NULL.
  1261.     * modsgml2.c (entfind): Call traceecb even if p is NULL.
  1262.  
  1263.     * sgmlincl.h: Always include trace.h.
  1264.  
  1265.     * traceset.c (estype1, estype2): Make them local static variables
  1266.     in traceecb.
  1267.     * trace.h (estype1, estype2): Declarations deleted.
  1268.  
  1269.     * sgmlxtrn.[ch] (pifldlen): Deleted.
  1270.     * modmd2.c (pubfield): Additional argument that gets length of
  1271.     field.
  1272.     (parsefpi): Change callers.  Don't use pifldlen.
  1273.  
  1274.     * modpars2.c (antvget): Pass pointer which receives value.
  1275.     (parseatt): Pass pointer to antvget() to receive value.
  1276.     * sgmlxtrn.[ch]: Delete antvptr.
  1277.  
  1278.     * sgmlxtrn.[ch] (pvalptr): Deleted.
  1279.     * modpars2.c (parseval): Don't set pvalptr.
  1280.     (attval):
  1281.     * modmd1.c (mdattdef):
  1282.     * modmd2.c (tagtext): Use last argument passed to parseval
  1283.     instead of pvalptr.
  1284.  
  1285. Tue Feb 11 13:23:03 1992  James Clark  (jjc at jclark)
  1286.  
  1287.     * modpars1.c (endprolog): tag::tpos needs to be GRPLVL+2 long.
  1288.  
  1289.     * entity.h (MAXNAMELEN): Move into sgmldecl.c.
  1290.  
  1291.     * modmd1.c (mdelem): Use lbuf for rank suffix. Use tbuf for
  1292.     comgibuf.
  1293.  
  1294.     * modmd2.c (mdsrmuse): Store short reference name in lbuf.
  1295.     Simplify accordingly.
  1296.  
  1297.     * modmd2.c (mdentity): Use external nmbuf instead of ename.
  1298.     Allocate nmbuf if necessary.  Only needs to be NAMELEN+2 bytes
  1299.     long.
  1300.     * sgmlxtrn.[ch]: Declare nmbuf.
  1301.     * modpars1.c (endprolog): Free nmbuf.
  1302.  
  1303.     * modmd2.c (mdentity): Get rid of pname.
  1304.  
  1305.     * modsgml2.c (usedef):
  1306.     * modmd2.c (mdentity, mdnot):
  1307.     * modmd1.c (mddtds):
  1308.     * entgen.c (nentgen, field): Don't include length byte in fpinm.
  1309.     * modmd2.c (mdextid):
  1310.     * modmd2.c (field): Don't include length byte in fpinedcn.
  1311.  
  1312.     * ambig.c (ambig, ambigfree): Don't allocate memory all in one chunk.
  1313.  
  1314.     * modmd2.c (mdsrmuse): Point subdcl to somewhere that won't get
  1315.     overwritten.
  1316.  
  1317.     * sgmldecl.c (newkey): Make size of names REFNAMELEN+1,
  1318.     (sdnames): Don't allow name to be specified as parameter literal.
  1319.     Install names at end.
  1320.     (sdxsyntax): Don't install names.
  1321.     (sgmlwrsd): Output new names as names not literals.
  1322.     * synxtrn.h (key):
  1323.     * arcsynrf.c (key): Make size of names REFNAMELEN+1.
  1324.     * sgmldecl.c (REFNAMELEN): Move to entity.h.
  1325.  
  1326.     * sgmldecl.c (bufsrealloc): Handle the possibility that NAMELEN >=
  1327.     LITLEN.
  1328.  
  1329.     * namelen.h: Deleted.
  1330.     * entity.h: Define MAXNAMELEN explicitly.  Don't include namelen.h.
  1331.  
  1332.     * sgmls.c, sgmls.h, sgmlsasp.c, sgmlsasp.h, replace.c, replace.h:
  1333.     Avoid depending on any upper limit to NAMELEN.
  1334.  
  1335. Mon Feb 10 11:07:24 1992  James Clark  (jjc at jclark)
  1336.  
  1337.     * lineout.c (define_entity): Have single argument including length
  1338.     and EOS.
  1339.     (handle_single_token): Change accordingly.
  1340.     (handle_token_list): Temporarily make the token look like a name.
  1341.  
  1342.     * sgmlxtrn.[ch] (entbuf): Change to a pointer.
  1343.     * sgmldecl.c (bufsalloc, bufsrealloc): Allocate entbuf.
  1344.  
  1345.     * sgmlxtrn.[ch] (dtype): Change to a pointer.
  1346.     * modmd1.c (mddtds): Dynamically allocate dtype.
  1347.     * modpars1.c (setdtype): If dtype is NULL, point it to indefetd.
  1348.  
  1349.     * modmd1.c (mdelem): Use nnmgrp for holding exception name group
  1350.     lists.  Allocate nnmgrp if necessary.
  1351.     * modpars2.c (parsegrp): Additional tbuf argument. Use this as
  1352.     name buffer rather than local array.
  1353.     * modparse2.c (parsengrp): Similarily.
  1354.     * Change callers.
  1355.  
  1356.     * modmd2.c (mdsrmdef): Avoid use of sname buffer. Free srhptr when
  1357.     cleaning up.
  1358.  
  1359.     * modpars2.c (parsegcm): Use tbuf instead of local array.
  1360.  
  1361.     * modserv.c (savenm): New function.
  1362.     * adl.h (struct ad): Make adname a pointer.
  1363.     * modmd1.c (mdadl, mdnadl, anmtgrp): Don't parse names directly
  1364.     into adname.  Parse into a buffer and then save with savenm.
  1365.  
  1366.     * entity.h (struct hash, struct dcncb):
  1367.     * adl.h (struct id):
  1368.     * etype.h (struct etd):
  1369.     * source.h (struct entity, struct srh):
  1370.     * modserv.c (hin):
  1371.  
  1372.     * sgmlaux.h (struct error): Make subdcl a pointer.
  1373.     * modsgml2.c (mderr, errorinit): Corresponding changes.
  1374.     * sgmlmsg.c (printit): Pass empty string if e->subdcl is NULL.
  1375.  
  1376.     * sgmlmain.h (struct rcbtag): Make curgi a pointer.
  1377.     * modsgml1.c (sgmlnext): Corresponding changes.
  1378.  
  1379.         * entity.h (struct fpi): Make fpinm a pointer. Delete fpinml.
  1380.     * modmd2.c (mdextid): Don't copy ename.
  1381.     * modsgml2.c (usedef): Likewise.
  1382.     * entgen.c (field): Don't use fpinml.
  1383.  
  1384.     * entity.h (struct fpi): Make fpinedcn a pointer.
  1385.     * modmd2.c (mdextid):
  1386.     * entgen.c (field): Corresponding changes.
  1387.  
  1388.     * lineout.c (process_document): Fix so that it compiles if
  1389.     !SUPPORT_SUBDOC.
  1390.  
  1391.     * sgmls.c: Don't include setjmp.h.
  1392.  
  1393.     * sgmlmsg.c: Avoid use of printf("%*s").
  1394.  
  1395. Sun Feb  9 13:18:10 1992  James Clark  (jjc at jclark)
  1396.  
  1397.     * ambig.c (struct contoken): Change type of size to UNCH.
  1398.  
  1399.     * sgmldecl.c (sdquantity): If specified quantity limit is too big
  1400.     use biggest allowed.
  1401.  
  1402.     * modmd1.c (mdadl, mdelem, mdsrmuse): Make nmgrp external
  1403.     variable.  Allocate if necessary.
  1404.     (mdnadl): Rename nmgrp to nnmgrp. Make it an external variable.
  1405.     Allocate if necessary.
  1406.     * sgmlxtrn.c (nmgrp, nnmgrp): New variables.
  1407.     * entity.h (MAXGRPCNT): Move into sgmldecl.c.
  1408.     * modpars1.c (endprolog): Free nmgrp, nnmgrp, gbuf.
  1409.     * sgmldecl.h (GRPCNT): Get it from sd.
  1410.     * context.h: New file.
  1411.     * traceset.c, context.c: Move common macros into context.h.
  1412.     * Makefile: Include context.h in HDRS.
  1413.     * etype.h (struct mpos): Make h a unsigned long *.
  1414.     (HITCLEAR): New macro.
  1415.     * context.c (ANYHIT, HITSET, HITON, HITOFF): New macros.
  1416.     Fix operations on H to use these macros.
  1417.     (offbit, allhit): Change long to unsigned long *.
  1418.     (anyhit): New function.
  1419.     * traceset.c (tracehits): New function.
  1420.     (tracegi, traceend): Use tracehits.
  1421.     * modpars1.c (stack): Use HITCLEAR to clear hit bits.
  1422.     (endprolog): Allocate space for hit bits. Set grplongs.
  1423.     * sgmlxtrn.c (grplongs): New variable.
  1424.  
  1425.     * modpars1.c (endprolog): New function.
  1426.     (parsepro): Call endprolog.
  1427.     * ambig.c (ambigfree): New function.
  1428.     * modpars1.c (stack): Move allocation of tags and scbsgml into
  1429.     endprolog.
  1430.  
  1431.     * ambig.c: Dynamically allocate struct contoken's.
  1432.     (struct contoken): Use pointers rather than arrays for first and
  1433.     last.
  1434.     (newcontoken, freecontoken): New functions.
  1435.     (andgroup): Dynamically allocate nullablefirst.
  1436.     (MAXSTATES): Use GRPGTCNT rather than MAXGRPGTCNT.
  1437.     * entity.h (MAXGRPGTCNT): Move to sgmldecl.c.
  1438.     * ambig.c (listmerge): Use mergebuf.
  1439.     (follow): Make it an UNCH **.
  1440.     (ambig): Allocate follow and mergebuf if necessary.
  1441.     * sgmlxtrn.[ch] (gbuf): Make it a pointer.
  1442.     * modpars2.c (parsemod): Allocate gbuf if necessary.
  1443.  
  1444.     * etype.h (struct tag): Make tpos a pointer.
  1445.     * modpars1.c (stack): Allocate tpos members.
  1446.     * entity.h (MAXGRPLVL): Move to sgmldecl.c.  Increase to MAXGRPGTCNT.
  1447.  
  1448.     * context.c (TOKENHIT): Don't use intermediate variable.
  1449.  
  1450. Fri Feb  7 09:14:02 1992  James Clark  (jjc at jclark)
  1451.  
  1452.     * Version 0.6 released.
  1453.  
  1454. Thu Feb  6 10:16:57 1992  James Clark  (jjc at jclark)
  1455.  
  1456.     * Add casts so that it compiles with `typedef char *UNIV;'.
  1457.  
  1458.     * action.h (GTR_): New action.
  1459.     * modpars1.c (parsecon): Handle GTR_.
  1460.     * arcpcbrf.c (sp0a): Change action for EOB from GET_ to GTR_.
  1461.  
  1462.     * modpars1.c (parsepro): Increment sgmlsw in MDC_ and PIS_ actions.
  1463.  
  1464.     * Remove unnecessary #undefs.
  1465.  
  1466.     * Use (UNCH *)0 instead of NULL.    
  1467.  
  1468.     * Delete multiple pass support.
  1469.  
  1470.     * process.c: Rename to ...
  1471.     * unixproc.c: New file.
  1472.     * dosproc.c, portproc.c: New files.
  1473.  
  1474.     * sgmldecl.c (sdcolon): Don't give an error for 8879:1986.
  1475.  
  1476. Wed Feb  5 10:59:21 1992  James Clark  (jjc at jclark)
  1477.  
  1478.     * modserv.c (rmalloc): Change return type to UNIV.
  1479.  
  1480. Mon Feb  3 13:27:29 1992  James Clark  (jjc at jclark)
  1481.  
  1482.     * arcpcbrf.c (et32a): Change action for msc from DAS_ to LAS_.
  1483.  
  1484.     * lextoke.h:
  1485.     * modsgml1.c (sgmlset):
  1486.     * modpars2.c (s2valnm):
  1487.     * arcpcbrf.c (pcbval):  Remove DEL class.
  1488.     * modmd1.c (mdattdef): 
  1489.     * modpars2.c (parseatt):
  1490.     * sgmlmsg.c (parms):
  1491.     * modsgml2.c (pcbtab):
  1492.     * synxtrn.h:
  1493.     * arcpcbrf.c (pcblitt): Use new pcb for tokenized attributes.
  1494.     * modpars2.c (parselit): Handle DEF_ differently for tokenized
  1495.     attributes.
  1496.     * modpars2.c (tokdata): New function.
  1497.     * sgmlfnsm.h: Declare it.
  1498.  
  1499. Sun Feb  2 17:49:47 1992  James Clark  (jjc at jclark)
  1500.  
  1501.     * lineout.c (print_string): Fix bug in DELNONCH handling.
  1502.  
  1503. Fri Jan 31 17:51:15 1992  James Clark  (jjc at jclark)
  1504.  
  1505.     * entgen.c (nsysidgen): Deleted.
  1506.     (nentgen): New function.
  1507.     (entgen): Use nentgen for notation identifiers.
  1508.     (genext, ext): Omit entries for notations.
  1509.     (field): Change calculation for accessing genext.
  1510.     * sgmls.h (struct sgmls_notation): Delete id field. Add sysid and
  1511.     pubid fields.
  1512.     * sgmls.c (parse_notation): Support new N syntax.
  1513.  
  1514. Thu Jan 30 13:28:33 1992  James Clark  (jjc at jclark)
  1515.  
  1516.     * entgen.c: Include sgmlaux.h after unistd.h.
  1517.  
  1518.     * modmd2.c (mdextid): Increase ds.attdef by sum of normalized
  1519.     lengths of explicitly specified data attributes.
  1520.  
  1521.     * entity.h (struct switches): New nopen member.
  1522.     * modsgml2.c (entopen): Use nopen to check that maximum allowed
  1523.     number of open subdocument entities is not exceeded.
  1524.     * main.c (main): Support -o.
  1525.     (swinit): Initialize nopen.
  1526.     (build_subargv): Pass on incremented -o option.
  1527.  
  1528. Wed Jan 29 12:53:39 1992  James Clark  (jjc at jclark)
  1529.  
  1530.     * unix.cfg, entgen.c (DEFAULT_PATH): Don't use %L.
  1531.  
  1532.     * replace.c (load_replacement_file): Split off allocation into...
  1533.     (make_replacement_table): New function.
  1534.     (define_replacement): Ignore duplicates.
  1535.     * replace.h: Change declarations.
  1536.     * sgmlsasp.c (main): Use this to support multiple replacement
  1537.     files.
  1538.  
  1539. Mon Jan 27 16:35:03 1992  James Clark  (jjc at jclark)
  1540.  
  1541.     * context.c (newtoken): Fix computation of nextand.
  1542.  
  1543. Sun Jan 26 23:11:23 1992  James Clark  (jjc at jclark)
  1544.  
  1545.     * main.c: Cleanup temporary files on exit or signal.
  1546.  
  1547.     * main.c: Pass -z option to subdoc processes. Read capacity usage
  1548.     after process completes. Write capacity usage to file if specified
  1549.     by -z option.
  1550.     * modsgml1.c (sgmlsubcap): New function.
  1551.     (sgmlend): Take account of subdocument capacity usage.
  1552.  
  1553.     * sgmldecl.c: Remove support for passing SGML declarations through
  1554.     the environment.
  1555.     * main.c, lineout.c: Remove support for outputting environment.
  1556.     * sgmls.c, sgmls.h: Delete support for V command.
  1557.  
  1558.     * main.c: Write SGML declaration to temporary file. Pass this as
  1559.     first file to subdoc processes.
  1560.     * sgmldecl.c (sgmlwrsd): New function.
  1561.  
  1562.     * Rename RESOLVE_SUBDOC to SUPPORT_SUBDOC.
  1563.     * lineout.c: Always resolve subdoc references.
  1564.     * sgmldecl.c: Initialize SUBDOC to NO if !SUBDOC_SUPPORT.
  1565.     * main.c, appl.h (subdocsw): Deleted.
  1566.  
  1567.     * lineout.c: Resolve subdocuments even if suppsw.
  1568.  
  1569.     * momd1.c (anmtgrp): Make adn a UNS *.
  1570.     * sgmlfns.h: Change declaration.
  1571.     * adl.h (struct ad): Make adnum a UNS.
  1572.     * adl.h (struct ad): Make adlen a UNS.
  1573.  
  1574.     * entity.h (struct fpi): Use UNS rather than UNCH for lengths.
  1575.  
  1576.     * Use MAXNAMELEN rather than NAMELEN for size of arrays.
  1577.     * namelen.h: New file.
  1578.     * Use MAXGRPCNT rather than GRPCNT for size of arrays.
  1579.     * etype.h (struct tag): Use MAXGRPLVL instead of GRPLVL for size
  1580.     of tpos array.
  1581.     * entity.h: Remove definitions of ENTCASE, NAMECASE, and most
  1582.     quantity limits.
  1583.     * sgmldecl.h: Redefine thse to pick up values specified in SGML
  1584.     declaration.
  1585.     * entity.h (MAXGRPCNT, MAXGRPLVL, MAXGRPGTCNT, MAXNAMELEN): New
  1586.     definitions.
  1587.     * modpars1.c (parsecon):
  1588.     * modpars2.c (parseatt): Don't pass tbuflim.
  1589.     * sgmldecl.c: Implement parsing of non-public syntax sections.
  1590.  
  1591.     * modserv.c (ntoa): Use sprintf.
  1592.     * sgmlxtrn.[ch] (ntoabuf): Deleted.    
  1593.  
  1594.     * sgmldecl.c: Remove extended reference syntax.
  1595.     
  1596. Sun Jan 19 13:38:24 1992  James Clark  (jjc at jclark)
  1597.  
  1598.         * modpars1.c (parsepro): Don't take tbuf as an argument.
  1599.         Change callers and declaration.
  1600.     * sgmldecl.c (sgmldecl): Don't take tbuf as an argument. Change
  1601.     callers and declaration.
  1602.  
  1603.     * modmd2.c (mdextid):
  1604.     * entity.h (struct fpi): Use pointers for fpisysis and fpipubis.
  1605.     No need for fpipubsw and fpisyssw.
  1606.     * entgen.c (field, entgen): Corresponding changes.
  1607.     * sgmlxtrn.h (sysibuf, pubibuf): Declare.
  1608.     * sgmlxtrn.[ch] (sysibuf, pubibuf): Define.
  1609.     * modmd2.c (mdexitid): Initialize these if necessary.
  1610.  
  1611.     * entgen.c (field, entgen, mindatcpy): Avoid using static buffer
  1612.         in field.
  1613.      
  1614.         * sgmlmsg.c (elttrace): Avoid using buffer.  Change HDRELT string
  1615.     accordingly.
  1616.  
  1617.     * sgmlxtrn.c: Change big arrays into pointers.
  1618.     * sgmlxtrn.h: Change declarations accordingly.
  1619.     * sgmldecl.c (sdinit, bufsalloc, bufsrealloc): New functions.
  1620.     * modpars1.c (stack): Allocate scbsgml and tags if necessary.
  1621.  
  1622.     * sgmlaux.h: Include sgmldecl.h.
  1623.     * sgmlincl.h: Don't include sgmldecl.h.
  1624.     * entgen.c (field, entgen): Use ENTCASE and NAMECASE to determine
  1625.     folding of names.
  1626.  
  1627. Fri Jan 17 18:30:07 1992  James Clark  (jjc at jclark)
  1628.  
  1629.     * msg.h: Avoid dependencies on reference quantity set.
  1630.  
  1631. Thu Jan 16 10:12:17 1992  James Clark  (jjc at jclark)
  1632.  
  1633.     * Rename strlsave to savestr.
  1634.  
  1635.     * modpars2.c (parselit, parseval, adlval, vallen, attval, parseatt):
  1636.     * modserv.c (replace, strlsave, sandwich):
  1637.     * sgmldecl.h (struct sgmldecl):
  1638.     * sgmldecl.c (sdversion, sdappinfo, sdfixcolon, sdpubcapacity,
  1639.     sdpubsyntax, sdcharset):
  1640.     * lineout.c (define_entity, handle_token_list,
  1641.     handle_single_token):
  1642.     * modsgml1.c (sgmlnext):
  1643.     * modsgml2.c (entopen):
  1644.     * modmd2.c (mdsrmdef, parsefpi, tagtext, entfix, mdextid):
  1645.     * entity.h (struct fpi):
  1646.     * entgen.c (entgen, field):
  1647.     * adl.h (struct ad):
  1648.     * modserv.c (dellen):
  1649.     * modmd1.c (mdattdef): Change representation of literals not to
  1650.     have initial length byte.  Change representation of token list or
  1651.     CDATA attributes (but not single token attributes) not to have
  1652.     initial length byte.
  1653.  
  1654. Mon Jan 13 10:38:18 1992  James Clark  (jjc at jclark)
  1655.  
  1656.     * sgmlxtrn.h (gbuf): Make size GRPGTCNT+3.
  1657.     * modpars2.c (parsemod): Don't count outermost model in
  1658.     gbuf[0].tu.tnum.
  1659.     * modmd1.c (mdelem): Change calculation of size of cmod and of
  1660.     modcnt accordingly.
  1661.     * ambig.c (MAXSTATES): Change to GRPGTCNT+2.
  1662.  
  1663.     * Version 0.5 released.
  1664.  
  1665.     * modmd1.c (mdelem): Outermost group doesn't count towards modcnt.
  1666.  
  1667. Sun Jan  5 10:51:05 1992  James Clark  (jjc at jclark)
  1668.  
  1669.     * ambig.c: New file.
  1670.     * etype.h (struct etd): Add mark field.
  1671.     * modpars2.c (parsemod): Possibly call ambig().
  1672.     * entity.h (struct switches): Add swambig member.
  1673.     * main.c (main, usage, build_subargv): Handle -a option.
  1674.     (swinit): Initialize swambig.
  1675.  
  1676. Wed Dec 11 14:01:06 1991  James Clark  (jjc at jclark)
  1677.  
  1678.     * modmd1.c (mdadl): Don't call etdadl() if alperm is 0.
  1679.  
  1680.     * context.c, modpars1.c: Move definitions of RC* into ...
  1681.     * etype.h
  1682.  
  1683.     * context.c (newtoken): Make sure Tstart is unhit.
  1684.  
  1685. Thu Dec  5 10:30:16 1991  James Clark  (jjc at jclark)
  1686.  
  1687.     * process.c (run_process): Use vfork() if available. Call buildenv
  1688.     before forking and then cleanup in parent.  Use _exit() if execvp
  1689.     fails.
  1690.     * unix.cfg: Add HAVE_VFORK and HAVE_VFORK_H.
  1691.  
  1692.     * std.h: Delete definition of isascii.
  1693.  
  1694. Tue Nov 19 08:42:41 1991  James Clark  (jjc at jclark)
  1695.  
  1696.     * lineout.c (print_data): Don't split up data.
  1697.     (data_count): Rename to have_data.
  1698.  
  1699.     * context.c (context): Handle the case where there's a hit in a
  1700.     plus group, but the current element has ended.
  1701.  
  1702. Thu Nov  7 09:38:14 1991  James Clark  (jjc at jclark)
  1703.  
  1704.     * source.h, sgmlaux.h, sgmlmain.h, modsgml1.c, lineout.c: Use
  1705.     unsigned long to hold line number.
  1706.  
  1707. Wed Nov  6 11:28:50 1991  James Clark  (jjc at jclark)
  1708.  
  1709.     * std.h: Add declaration of strerror.
  1710.     * sgmlmsg.c: Delete declaration of strerror.
  1711.  
  1712.     * msg.h: Improve message 134. Delete messages 135 and 137.
  1713.  
  1714. Tue Nov  5 10:13:54 1991  James Clark  (jjc at jclark)
  1715.  
  1716.     * arcpcbrf.c (et0a): Change action for sep (TAB) from NOP_ to DAS_.
  1717.  
  1718. Mon Nov  4 15:28:40 1991  James Clark  (jjc at jclark)
  1719.  
  1720.     * sgmls.h: Rename to lineout.h.
  1721.  
  1722. Sat Nov  2 09:06:09 1991  James Clark  (jjc at jclark)
  1723.  
  1724.     * msg.h: In message 133, s/comment/markup declaration/. 
  1725.  
  1726.     * arcpcbrf.c (et7a): Use EE_ rather than EOF_ on EE.
  1727.     * modpars1.c (parsepro): Give an error message on EOD_.
  1728.     * msg.h: Use message 127 for this.
  1729.  
  1730.     * modpars2.c (charrefa): Decrement RCNT if the character is RS.
  1731.  
  1732.     * modpars1.c (parsepro): Give an error if the DTE_ is not at level
  1733.     0, and do not terminate the DTD.
  1734.     * msg.h: Use message 143 for this.
  1735.  
  1736.     * msg.h: Delete message 143.
  1737.  
  1738. Fri Nov  1 08:58:26 1991  James Clark  (jjc at jclark)
  1739.  
  1740.     * modmd2.c (mdsruse): Use message number 142 when an associated
  1741.     element type is specified and the declaration is not in the DTD.
  1742.     Use message 28 if an associated element type is not specified and
  1743.     the declaration is in the DTD. Use message 126 if something other
  1744.     than an associated element or MDC is specified and the declaration
  1745.     is not in the DTD.
  1746.  
  1747.     * msg.h: Delete message 138. This error is caught in parsefpi().
  1748.  
  1749.     * msg.h: Delete message 140.  Not used anywhere.
  1750.  
  1751.     * modpars2.c (parsegcm): When GRPGTCNT is exceeded use message
  1752.     number 114.
  1753.  
  1754.     * msg.h: Don't abbreviate attribute as att in messages 72 and 151.
  1755.  
  1756.     * msg.h: s/not declared minimizable/not minimizable/
  1757.  
  1758.     * modmd2.c (mdsrmdef): Give an error if concrete syntax does not
  1759.     support short references.
  1760.     * msg.h: New message 198.
  1761.  
  1762.     * modpars2.c (adlval): If SHORTTAG is NO and OMITTAG is NO, do not
  1763.     allow an unimpliable attribute value specification to be omitted.
  1764.     * msg.h: New message 197.
  1765.  
  1766.     * msg.h: Improve message number 84.
  1767.  
  1768.     * modpars2.c (parseatt): If SHORTTAG is NO, do not allow an
  1769.     undelimited attribute value (ie an attribute value specification
  1770.     that is not an attribute value literal).
  1771.     * msg.h: New message 196.
  1772.  
  1773.     * modpars2.c (parseatt): If SHORTTAG is NO, do not allow
  1774.     attribute name to be omitted.
  1775.     * msg.h: New message 195.
  1776.  
  1777.     * modpars2.c (parseatt): No need to have prototype definition.
  1778.  
  1779.     * modpars1.c (parsetag): If SHORTTAG is NO, do not allow
  1780.     unclosed tag or null start tag.
  1781.     * msg.h: New messages 193 and 194.
  1782.  
  1783. Thu Oct 31 10:51:54 1991  James Clark  (jjc at jclark)
  1784.  
  1785.     * sgmldecl.c (noemptytag): New function.
  1786.     (sdimply, sdfeatures): Call noemptytag() if the SHORTTAG feature
  1787.     is NO.
  1788.  
  1789.     * sgmldecl.c (sdimply): Store value of SHORTTAG environment
  1790.     variable in sd.shorttag.
  1791.  
  1792.     * modmd1.c (mdattdef): Declared value of data attribute cannot be
  1793.     ID.
  1794.     * msg.h: Use message 144 for this.
  1795.  
  1796.     * msg.h: Delete message 144.
  1797.  
  1798.     * modpars1.c (parsecon): Handle DCE_ action by switching to
  1799.     pcbconm and repeating current character.  Move code that was
  1800.     target of goto.
  1801.  
  1802.     * Makefile: Add ChangeLog to the list of files to go in the
  1803.     distribution.
  1804.  
  1805.     * unix.cfg: Mention that defining HAVE_CAT requires use of
  1806.     /usr/xpg2bin/cc on a Sun.
  1807.  
  1808.     * modpars1.c (destack): Don't give an error when a required tag
  1809.     was not specified if conrefsw is set.
  1810.     (parsecon): Clear conrefsw only after calling destack().
  1811.  
  1812.     * sgmldecl.c (envcharset): Skip any white space before digits
  1813.     after doing sscanf.
  1814.  
  1815.     * main.c (subdocsw): Initialize to 1.
  1816.  
  1817.     * Started using ChangeLog at version 0.3.
  1818.