diff options
author | Andreas Scherer <andreas_tex@freenet.de> | 2020-08-01 14:27:00 +0000 |
---|---|---|
committer | Andreas Scherer <andreas_tex@freenet.de> | 2020-08-01 14:27:00 +0000 |
commit | d15614d79be6264bf014c5d5c4713280329fcae9 (patch) | |
tree | 23720ff104acbef78d9c7dbf39b3b73ec8f5a13e /Build/source/texk/web2c/tex.ch | |
parent | 2b48c58a3269e00f95e2769500c0230b2b7f397a (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/tex.ch')
-rw-r--r-- | Build/source/texk/web2c/tex.ch | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/Build/source/texk/web2c/tex.ch b/Build/source/texk/web2c/tex.ch index 5b549168236..c07f9948e9e 100644 --- a/Build/source/texk/web2c/tex.ch +++ b/Build/source/texk/web2c/tex.ch @@ -822,11 +822,29 @@ else % under Unix. We call it `uexit' because there's a WEB symbol called % `exit' already. We use a C macro to change `uexit' back to `exit'. @x [6.81] l.1852 - Eliminate nonlocal goto, since C doesn't have them. +@ The |jump_out| procedure just cuts across all active procedure levels and +goes to |end_of_TEX|. This is the only nontrivial |@!goto| statement in the +whole program. It is used when there is no recovery from a particular error. + +Some \PASCAL\ compilers do not implement non-local |goto| statements. +@^system dependencies@> +In such cases the body of |jump_out| should simply be +`|close_files_and_terminate|;\thinspace' followed by a call on some system +procedure that quietly terminates the program. + @<Error hand...@>= procedure jump_out; begin goto end_of_TEX; end; @y +@ The |jump_out| procedure just cuts across all active procedure levels. +The body of |jump_out| simply calls +`|close_files_and_terminate|;\thinspace' followed by a call on some system +procedure that quietly terminates the program. +@^system dependencies@> + +@f noreturn==procedure + @d do_final_end==begin update_terminal; ready_already:=0; |