summaryrefslogtreecommitdiff
path: root/Build/source/extra/bibtex/bibtex.cms-changes
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/extra/bibtex/bibtex.cms-changes')
-rw-r--r--Build/source/extra/bibtex/bibtex.cms-changes253
1 files changed, 253 insertions, 0 deletions
diff --git a/Build/source/extra/bibtex/bibtex.cms-changes b/Build/source/extra/bibtex/bibtex.cms-changes
new file mode 100644
index 00000000000..5e7cdd7549e
--- /dev/null
+++ b/Build/source/extra/bibtex/bibtex.cms-changes
@@ -0,0 +1,253 @@
+This is BIBTEX.CMS-CHANGES in text format, as of June 9, 1988.
+
+BIBTEX change file for VM/CMS and MVS.
+Created by Nhut Nguyen, IBM Japan. Ltd., Tokyo, Japan. (1986).
+
+
+Mar 14, 1986 made it working
+Mar 14, 1986 changed filetype of the log file to BIBLOG
+Mar 14, 1986 eliminate the prompt for input file
+Jul 14, 1986 made the initialize routine shorter, to avoid
+ overflow during compilation
+Jul 30, 1986 Alan Spragens broke up |x_format_name| procedure; changed
+ extensions on aux and bbl files; cleaned up
+ VM/CMS declarations and procedures at end
+Oct 29, 1986 Agnes Hsu leave extensions on aux, bib, and bst as in
+ Web; add '.*' extension before opening those
+ files
+June 9, 1988 Dean Guenther Removed a few unecessary changes and did
+ some others for version .99
+ Note that all tabs (x'05') in BIBTEX.WEB
+ were replaced by two blanks (x'4040').
+
+@x banner line
+@d banner=='This is BibTeX, Version 0.99c' {printed when the program starts}
+@y
+@d banner=='This is BibTeX, VM/CMS Version 0.99c'
+@z
+
+@x term
+@d term_out == tty
+@d term_in == tty
+@y
+@d term_in==tty_in
+@d term_out==tty_out
+@z
+
+@x otherwise
+@d othercases == others: {default for cases not listed explicitly}
+@y
+@d othercases == otherwise {default for cases not listed explicitly}
+@z
+
+@x
+begin
+initialize;
+print_ln(banner);@/
+@y
+begin
+ termin(term_in); termout(term_out);
+ initialize;
+ print_ln(banner);@/
+@z
+
+@x compiler directives
+@{@&$C-,A+,D-@} {no range check, catch arithmetic overflow, no debug overhead}
+@!debug @{@&$C+,D+@}@+ gubed {but turn everything on when debugging}
+@y
+{It seems impossible to turn CHECK and DEBUG on and off easily given
+ how Tangle and VS/PASCAL work}
+@z
+
+@x
+@!ASCII_code=0..127; {seven-bit numbers}
+@y
+@!ASCII_code=packed 0..127; {seven-bit numbers}
+@z
+
+@x
+@d last_text_char=127 {ordinal number of the largest element of |text_char|}
+@y
+@d last_text_char=255 {ordinal number of the largest element of |text_char|}
+@d ccat==@=||@>
+@z
+
+@x
+@!alpha_file=packed file of text_char; {files that contain textual data}
+@y
+@!alpha_file=text; {files that contain textual data}
+@z
+
+@x
+function erstat(var f:file):integer; extern; {in the runtime library}
+@#@t\2@>
+@y
+@z
+
+@x
+begin reset(f,name_of_file,'/O'); a_open_in:=reset_OK(f);
+@y
+begin okstatus; pack_file_name;
+ reset(f,'NAME='ccat trim(str(name_of_file)));
+ a_open_in:=status;
+@z
+
+@x
+begin rewrite(f,name_of_file,'/O'); a_open_out:=rewrite_OK(f);
+@y
+begin okstatus; pack_file_name;
+ rewrite(f,'NAME='ccat trim(str(name_of_file)));
+ a_open_out:=status;
+@z
+
+
+@x
+function input_ln(var f:alpha_file) : boolean;
+@y
+@<VM/CMS stuff@>
+@#
+function input_ln(var f:alpha_file) : boolean;
+@z
+
+@x
+while (p_ptr < str_start[file_name+1]) do
+ begin
+ name_of_file[name_ptr] := chr (str_pool[p_ptr]);
+@y
+while (p_ptr < str_start[file_name+1]) do
+ begin
+ name_of_file[name_ptr] := xchr[str_pool[p_ptr]];
+@z
+
+@x
+while (p_ptr < str_start[ext+1]) do
+ begin
+ name_of_file[name_ptr] := chr (str_pool[p_ptr]);
+ incr(name_ptr); incr(p_ptr);
+@y
+while (p_ptr < str_start[ext+1]) do
+ begin
+ name_of_file[name_ptr] := xchr[str_pool[p_ptr]];
+ incr(name_ptr); incr(p_ptr);
+@z
+
+@x
+p_ptr := str_start[area];
+while (p_ptr < str_start[area+1]) do
+ begin
+ name_of_file[name_ptr] := chr (str_pool[p_ptr]);
+ incr(name_ptr); incr(p_ptr);
+@y
+p_ptr := str_start[area];
+while (p_ptr < str_start[area+1]) do
+ begin
+ name_of_file[name_ptr] := xchr[str_pool[p_ptr]];
+ incr(name_ptr); incr(p_ptr);
+@z
+
+@x
+@!s_bst_area : str_number; {\.{texinputs:}}
+@y
+@!s_aux_area : str_number; {\.{.*}}
+@!s_bst_area : str_number; {\.{texinputs:}}
+@z
+
+@x
+pre_define('.blg ',4,file_ext_ilk);
+s_log_extension := hash_text[pre_def_loc];
+pre_define('.bst ',4,file_ext_ilk);
+s_bst_extension := hash_text[pre_def_loc];
+pre_define('.bib ',4,file_ext_ilk);
+s_bib_extension := hash_text[pre_def_loc];
+pre_define('texinputs: ',10,file_area_ilk);
+s_bst_area := hash_text[pre_def_loc];
+pre_define('texbib: ',7,file_area_ilk);
+s_bib_area := hash_text[pre_def_loc];
+@y
+pre_define('.biblog ',7,file_ext_ilk);
+s_log_extension := hash_text[pre_def_loc];
+pre_define('.bst ',4,file_ext_ilk);
+s_bst_extension := hash_text[pre_def_loc];
+pre_define('.bib ',4,file_ext_ilk);
+s_bib_extension := hash_text[pre_def_loc];
+pre_define('.* ',2,file_area_ilk);
+s_aux_area := hash_text[pre_def_loc];
+pre_define('.* ',2,file_area_ilk);
+s_bst_area := hash_text[pre_def_loc];
+pre_define('.* ',2,file_area_ilk);
+s_bib_area := hash_text[pre_def_loc];
+@z
+
+@x
+ write (term_out,'Please type input file name (no extension)--');
+ if (eoln(term_in)) then {so the first |read| works}
+ read_ln (term_in);
+@y
+ get (term_in) ; {so the first |get| works to clear EOL}
+@z
+
+
+
+@x At line 2563
+@<Add extensions and open files@>=
+begin
+name_length := aux_name_length; {set to last used position}
+add_extension (s_aux_extension); {this also sets |name_length|}
+@y
+@<Add extensions and open files@>=
+begin
+name_length := aux_name_length; {set to last used position}
+add_extension (s_aux_extension); {this also sets |name_length|}
+add_extension (s_aux_area); {this also sets |name_length|}
+@z
+
+@x
+add_extension (s_bib_extension);
+@y
+add_extension (s_bib_extension);
+add_extension (s_bib_area);
+@z
+
+@x
+add_extension (s_bst_extension);
+@y
+add_extension (s_bst_extension);
+add_extension (s_bst_area);
+@z
+
+@x
+This section should be replaced, if necessary, by changes to the program
+that are necessary to make \BibTeX\ work at a particular installation.
+It is usually best to design your change file so that all changes to
+previous sections preserve the section numbering; then everybody's version
+will be consistent with the printed program. More extensive changes,
+which introduce new sections, can be inserted here; then only the index
+itself will get a new section number.
+
+@y
+This section contains procedures particular to VM/CMS.
+
+@ Here are extra global variables for VM/CMS routines
+@<Glob...@>=
+
+@!status: boolean; {did the last |reset| or |rewrite| succede?}
+
+@!tty_in, tty_out: text;
+@ @<VM/CMS...@>=
+procedure okstatus; begin status:=true; end;
+procedure pack_file_name;
+var buff : packed array[1..file_name_size] of char;
+ i, j : 1..file_name_size;
+begin j := 1;
+ for i := 1 to file_name_size do buff[i] := ' ';
+ for i := 1 to file_name_size do
+ begin
+ if name_of_file[i] <> ' ' then
+ begin
+ buff[j] := name_of_file[i];
+ incr(j);
+ end;
+ end;
+ for i := 1 to file_name_size do name_of_file[i] := buff[i];
+end;
+@z