summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/patgen.ch
diff options
context:
space:
mode:
authorAndreas Scherer <andreas_tex@freenet.de>2020-08-01 14:27:00 +0000
committerAndreas Scherer <andreas_tex@freenet.de>2020-08-01 14:27:00 +0000
commitd15614d79be6264bf014c5d5c4713280329fcae9 (patch)
tree23720ff104acbef78d9c7dbf39b3b73ec8f5a13e /Build/source/texk/web2c/patgen.ch
parent2b48c58a3269e00f95e2769500c0230b2b7f397a (diff)
Purge more 'goto' and 'jump_out' leftovers.
Editor's note: Trying to make the WEB changefiles fully represent the actual codes as modified for Web2c/TeX Live is like opening a veritable can of worms. git-svn-id: svn://tug.org/texlive/trunk@56014 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/web2c/patgen.ch')
-rw-r--r--Build/source/texk/web2c/patgen.ch15
1 files changed, 15 insertions, 0 deletions
diff --git a/Build/source/texk/web2c/patgen.ch b/Build/source/texk/web2c/patgen.ch
index 4a8c177d2fb..3d9054a446d 100644
--- a/Build/source/texk/web2c/patgen.ch
+++ b/Build/source/texk/web2c/patgen.ch
@@ -58,7 +58,22 @@ begin
print_ln (version_string);
@z
+@x [10] Purge 'jump_out' and 'end_of_PATGEN'.
+error message about what caused the error. Such errors might be
+discovered inside of subroutines inside of subroutines, so a \.{WEB}
+macro called |jump_out| has been introduced. This macro, which transfers
+control to the label |end_of_PATGEN| at the end of the program, contains
+the only non-local |@!goto| statement in \.{PATGEN}. Some \PASCAL\
+compilers do not implement non-local |goto| statements. In such cases
+the |goto end_of_PATGEN| in the definition of |jump_out| should simply
+be replaced by a call on some system procedure that quietly terminates
+the program.
+@y
+error message about what caused the error.
+@z
@x Error handling
+@d jump_out==goto end_of_PATGEN {terminates \.{PATGEN}}
+@#
@d error(#)==begin print_ln(#); jump_out; end
@y
@d error(#)==begin write_ln(stderr, #); uexit(1); end;