📄 changelog
字号:
Sat Jan 2 17:03:11 1993 James Clark (jjc at jclark) * pars1.c (checkdtd): Check for undefined short reference maps if -u flag is used. * md2.c (mdsrmdef): Don't free the map on error if it was previously used in a USEMAP declaration.Fri Jan 1 19:37:38 1993 James Clark (jjc at jclark) * entgen.c (sysidgen): Return 0 if no non-empty filenames were found.Thu Dec 31 02:52:38 1992 James Clark (jjc at jclark) * pars2.c (charrefn): Split last part off into... (datachar): New function. (charrefa): Split part off into... (setcurchar): New function. (parse): In case NON_, call datachar(). * sgmlfnsm.h: Declare new functions. * sgmls.h: Use separate length for pi. * sgmls.c (sgmls_next): Handle this. * rast.c (output_processing_instruction): Add length argument. (do_file): Change caller. * sgmlsasp.c (output_pi): Add length argument. (do_file): Change caller. * pars2.c (parse): In case NSC_, give an error. * pcbrf.c (pcblitc, pcbmds, pcblitv): Use SYS_ action for NSC. (pcbmsi): Get rid of NS4 state. Handle NSC like NON. * pars2.c (charrefn): Only potentially confusing characters need to be prefixed with DELNONCH. * msg.h: Change message 4 so as not to say `in markup'. * pars2.c (parse): When handling SYS_, if non-SGML character was DELNONCH skip another character.Wed Dec 30 11:00:15 1992 James Clark (jjc at jclark) * lextoke.h: Add SP class for SPACE. SEP is now just SEPCHAR. * pcbrf.c (pcbval): Change accordingly. Don't allow RS, RE or SEPCHAR during tokenization. * lextaba.c (lextoke): Change code for space to SP. * pars2.c (parseseq): Test that it's not a space in addition to testing that its code is not SEP. * sgmldecl.c (sdnaming): Check that class is SP or SEP. * sgmlmsg.c: Define HDREE string. (printit): Use HDREE string when the current character is EOS. * pars2.c (charrefa): Rewrite. If reading from an internal entity, need to copy the entity before changing it. * source.h (struct source): Add copied member. (COPIEDSW): New macro. * sgml2.c (entopen): Initialize COPIEDSW. (entget): If internal entity was copied, free copy before popping SCB stack. * entity.h (SHIFTNON, UNSHIFTNON): Move definitions to latin1.h * ebcdic.h (SHIFTNON, UNSHIFTNON): Provide appropriate definitions. * appl.h: Move DELNONCH, DELCDATA, DELSDATA to latin1.h and ebcdic.h. * ebcdic.c: Use these. * entity.h (struct switches): Remove delnonch, delcdata and delsdata members. * main.c (swinit): Don't initialize delnonch. * sgmlio.c (ioinit): Don't save swp->delnonch. (ioread): Use DELNONCH constant. * sgmlmsg.c (swdelcdata, swdelsdata, swdelnonch): Deleted. (msginit): Don't initialize these. (printit): Use DELNONCH constant. Can now use switch statement. (transparm): Use constants for delimiters. * sgmldecl.c (sdinit): Use DEL* constants. * sgmldecl.c (sdnaming): Use DELNONCH constant. * pars2.c (tokdata): Likewise. (parselit): Likewise. * sgml1.c (sgmlset): Don't initialize nonchbuf. Don't change lexical codes for sw.delnonch. * sgmlxtrn.c (nonchbuf): Initialize first character. * lextaba.c (lexcnm, lexcon, lexlms): Make code for DELNONCH be NSC. * synxtrn.h (struct lexcode): Delete lmnsc member. * lexrf.c (lex): Change initialization accordingly. * lexcode.h: Move definition of NSC to lextaba.c. * Get rid of BADCHAR hack by having entity escape magic characters with delnonch just as happens in internal entities. * sgmldecl.c (sdinit): Don't make BADCHAR a magic character. * pars2.c (parse): When handling NON_ don't check if character is BADCHAR. When handling NSC_, give an error if at file level. * latin.h, ebcdic.h (BADCHAR): Deleted. * ebcdic.c: Don't use BADCHAR. * sgmlio.c (ioinit): Don't make BADCHAR bad. Remember swp->delnonch in delnonch. (iocont): Count a bad character as 2 characters. (ioread): Prefix bad character with delnonch. Make sure there's always room for two characters plus end of buffer. * source.h (struct source): Add nextchar member. (NEXTC): New macro. * sgml2.c (scbset): Update NEXTC. * sgmlaux.h (struct location): Add nextchar member. * sgml1.c (get_location): Update nextchar. * sgmlmsg.c (IS_MAGIC): Deleted. (printit): Print the real next character if curchar is delnonch. * sgmlio.c (isbad): Rename to ismagic. * msg.h: Delete message 152. * appl.h (ADDNONCH): Move to entity.h. * entity.h (struct switches): Delete addnonch member. (UNSHIFTNON, SHIFTNON): New macro. * main.c (swinit): Don't initialize addnonch. * lineout.c (print_string): Use UNSHIFTNON. * sgmlmsg.c (transparm): Likewise. * sgmldecl.c (sdnaming): Likewise. * pars2.c (shiftnon): Deleted. * sgmlfnsm.h: Delete prototype. * pars2.c (parse, charrefn): Use SHIFTNON macro instead of shiftnon function. * action.h (NSC_): New action. * pars2.c (parse): Handle NSC_. * pcbrf.c: Undo change of Jun 10, except to pcbmsi. For parse modes which use NON_ action, handle NSC class by using NSC_ action and transforming state as for NON class.Tue Dec 15 10:31:43 1992 James Clark (jjc at jclark) * lineout.c (process_document); Don't define subdoc if suppsw is set. * Makefile (OBJS3): Add getopt.o. * sgmlio.c (ioclose): Don't call closefile if fp is 0.Thu Dec 3 09:46:41 1992 James Clark (jjc at jclark) * md1.c (mdattdef): Check that normalized length of CDATA default value does not exceed LITLEN. * entity.h (struct switches): Add die member. * main.c (die): New function. (swinit): Initialize die. * sgmlmsg.c (msginit): Initialize die. (msgprint): Call die for EXITERR errors. * main.c (OPTIONS): Rename to options. Rewrite as an array of char so as to avoid duplication.Tue Dec 1 07:19:47 1992 James Clark (jjc at jclark) * Makefile.bcc: rast needs getopt.obj.Mon Nov 30 15:52:03 1992 James Clark (jjc at jclark) * sgmldecl.c (charset_map, capset_map, sdfeatures): Fully bracket initializer. * sgml1.c (sgmltab): Likewise. * sgmlxtrn.c (dctab, deftab, dvtab, enttab, exttab, extettab, funtab, mstab, pubcltab): Likewise.Thu Nov 26 11:44:40 1992 James Clark (jjc at jclark) * md2.c (mdentity): Check for duplicate definition and earlier usage of default entity after parsing complete definition.Fri Nov 20 05:19:07 1992 James Clark (jjc at jclark) * sgmlsasp.c: Delete definitions of RECHAR and RSCHAR. Use definitions from config.h. * rast.c (output_char): Use definitions of RECHAR, RSCHAR and TABCHAR from config.h. * lexrf.c (lex): Use GENRECHAR rather than '\b' for genre field. * sgmldecl.h (CANON_NONSGML, CANON_DATACHAR): Move definitions into ascii.h and ebcdic.h. * genlex.c (main): Characters that aren't special in some way need to be treated as NONSGML or DATACHAR depending on whether they are the number of a shunned character.Thu Nov 19 06:32:37 1992 James Clark (jjc at jclark) * ecbdic.h: Use a better formal public identifier. * cms.cfg (DEFAULT_PATH, PATH_FILE_SEP, SYSID_FILE_SEP, MIN_DAT_SUBS_FROM, MIN_DAT_SUBS_TO): Fix definitions. * ebcdic.c: Include ebcdic.h and use character definitions that it provides.Tue Nov 17 05:46:34 1992 James Clark (jjc at jclark) * cms.cfg: New file. * ebcdic.h: New file. * Makefile.cms: New file. * genlex.c: New file. * ebcdic.c: New file. * Makefile (lextabe.c, genlex): New targets. * Makefile: Add new files to distribution. * lexrf.c: Separate out character set dependent parts into... * lextaba.c: New file. * lexcode.h: New file. Move definitions needed by lextaba.c and lexrf.c here. * sgmldecl.c (asciicharset): Move definition into lextaba.c. Move definitions of UNKNOWN etc constants into sgmldecl.h. * sgmldecl.h: Declare asciicharset. * entity.h: Separate character set dependent parts into... * latin1.h: New file. * *.cfg: Include latin1.h. * lexrf.c (lex): Rewrite short reference delimiter strings that use RS, RE or TAB so as to use RSCHAR, RECHAR and TABCHAR definitions. * lexrf.c (lextran): Don't use character constants. * lexrf.c (lextran): Fix entry for character number 172.Mon Nov 16 12:39:41 1992 James Clark (jjc at jclark) * arc*.c: Rename to *.c. * mod*.c: Rename to *.c. * Makefile, Makefile.vms, Makefile.bcc: Corresponding changes. * msg.h: Make message 58 a warning. Rewrite message.Sun Nov 15 11:41:04 1992 James Clark (jjc at jclark) * main.c (munge_program_name): Use isupper() and tolower(). * main.c (main): Don't allow -a option.Sat Nov 14 10:34:47 1992 James Clark (jjc at jclark) * lineout.c (attribute_type_string): Don't distinguish ID and IDREF attributes from tokenized attributes. * sgmls.h (sgmls_attribute_type): Delete SGMLS_ATTR_ID and SGMLS_ATTR_IDREF. * sgmls.c (parse_attribute, sgmls_free_attribute): Don't handle ID and IDREF attribute types. * sgmlsasp.c (output_attribute): Don't handle SGMLS_ATTR_ID and SGMLS_ATTR_IDREF. * rast.c (output_attribute): Likewise. * main.c (store_sgmldecl): Handle possibility that SIGTERM is not defined.Thu Nov 5 11:01:35 1992 James Clark (jjc at jclark) * msg.h: In message 3, change `NAMELEN' to `NAMELEN or LITLEN'. * modmd1.c (mdattdef): Handle CDR action when parsing default value.Thu Oct 29 17:19:13 1992 James Clark (jjc at jclark) * lineout.c (output_conforming): Only generate output if !suppsw.Wed Oct 28 10:29:28 1992 James Clark (jjc at jclark) * rast.c (main): Add -o option to specify output file. Avoid use of temporary file when -o specified. (usage): New function.Sun Oct 25 10:30:18 1992 James Clark (jjc at jclark) * modmd1.c (adlfree): New function. (mdadl, mdnadl, mdattdef): Fix some leaks. * sgmlfnsm.h: Declare adlfree. * main.c (OPTIONS): Correct definitions that apply when CANT_REDIRECT_STDERR is defined. * Makefile (dist): Fix up the compilation options in the Makefile.Sat Oct 24 14:02:35 1992 James Clark (jjc at jclark) * entity.h: Define STDINNAME. * main.c (main): Don't require an argument. (make_docent): Treat no arguments as equivalent to `-'. * entgen.c (entgen): Don't search for `-'. * modsgml2.c (filepend): Pass buffer as argument to iopend(). * sgmlaux.h (iopend): Fix declaration. * sgmlio.c (openfile, closefile, isreg): New functions. (ioopen): Use openfile. Initialize pendbuf. (ioclose): Use closefile. (iopend, iocont): Handle unseekable files. (ioread): Return the contents of pendbuf if pendbuf is non-NULL. Handle the case where fgetpos fails. Use openfile and closefile. * unix.cfg, dos.cfg: Add HAVE_SYS_STAT_H configuration option. * configure: Handle HAVE_SYS_STAT_H.Fri Oct 23 11:38:06 1992 James Clark (jjc at jclark) * Makefile.bcc: Handle rast. * Makefile (install): Rewrite. * sgmls/sgmls.c (unescape1, parse_data): Cast value of escape sequence. * lineout.h (CONFORMING_CODE): New output command. * lineout.c (output_conforming): New function. * appl.h: Declare it. * main.c (main): Call output_conforming() if appropriate. * sgmls.h: New event SGMLS_EVENT_CONFORMING. * sgmls.c (sgmls_next): Handle CONFORMING_CODE. * sgmlsasp.c (do_file): Handle SGMLS_EVENT_CONFORMING. * CHANGES: Rename to * NEWS. * Makefile: Change definition of MISC accordingly. * rast.c: New file. * rast.man: New file. * Makefile: Handle rast. (install.man): Rewrite. * main.c (print_caps): Deleted. (make_argv): Use -c rather than -z. Always pass -c to subprocesses. (main): Delete -c option. Rename -z to -c. (OPTIONS, usage): Change accordingly. (capsw): Deleted.Wed Oct 21 20:13:02 1992 James Clark (jjc at jclark) * modpars2.c (attval): Decrement already tokenized value before comparing it to a FIXED value.Tue Oct 20 16:45:34 1992 James Clark (jjc at jclark) * modsgml2.c (filepend): Don't suspend the file if it's already suspended.Sun Oct 18 15:24:13 1992 James Clark (jjc at jclark) * sgmls.pl: Handle f, p, s commands. Fix handling of S, E, and N commands. (esc, esc_data): Don't handle \s. Ignore \012.Sat Oct 17 12:48:56 1992 James Clark (jjc at jclark) * sgmls.c (parse_data): Translate \n into '\015'. (unescape_file): New function. (sgmls_next, parse_location): Use unescape_file. * sgmlsasp.c (output_data_char): New function. (output_data, output_pi): Use output_data_char. * sgmls.c (parse_data): Don't support \s. (unescape1): Likewise. * lineout.c (print_string): Don't strip RSs. * sgmls.c (add_attribute): New function. (sgmls_next): Use add_attribute. * lineout.c (process_subdoc): Handle the possibility that `id' is 0. * appl.h (E_SUBDOC): Declare it. * main.c (errlist): Add error message for E_SUBDOC. * modsgml2.c (entopen): Handle the possibility that etx.x is 0 for external entities. * modmd1.c (mddtds): If entgen fails, behave as if there was no external DTD. * modmd2.c (mdentity): Don't give up if entgen fails. * msg.h: New message 149, 229. Make errors 147 and 148 warnings. * entgen.c (field): Fix typo in handling of field 'D' for subdocs.Fri Oct 16 09:55:40 1992 James Clark (jjc at jclark) * sgmls.h (struct sgmls_event): Delete `subdoc' from union. (struct sgmls_external_entity): Add pubid and sysid members. * sgmls.c (parse_filenames): Deleted. (parse_external_entity, parse_subdoc_entity): Don't call parse_filenames. (parse_notation): Don't parse pubid and sysid. (define_external_entity): Fill in pubid, sysid and filenames fields from stored values in sp. (define_notation): Fill in pubid and sysid fields from stored values in sp. (sgmls_next): Handle SYSID_CODE, PUBID_CODE and FILE_CODE. For {START,END}_SUBDOC_CODE look up the subdoc entity. (sgmls_free): Free the pubid, sysid and files members of sp. Free the pubid and sysid fields of external entities. (struct sgmls): Add files, nfiles, sysid and pubid members. (sgmls_create): Initialize them.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -