Commit eacba1de authored by pknaggs's avatar pknaggs
Browse files

Remvoed 13.1 markup and added RC2 pagination

parent 9655f24e
Loading
Loading
Loading
Loading
+49 −54
Original line number Original line Diff line number Diff line
@@ -117,6 +117,7 @@
\end{worddef}
\end{worddef}




\pagebreak
\begin{worddef}{0070}{'}[tick]
\begin{worddef}{0070}{'}[tick]
\item \stack{"<spaces>name"}{xt}
\item \stack{"<spaces>name"}{xt}


@@ -247,6 +248,7 @@
\end{worddef}
\end{worddef}




\pagebreak
\begin{worddef}{0110}{*/MOD}[star-slash-mod]
\begin{worddef}{0110}{*/MOD}[star-slash-mod]
\item \stack{n_1 n_2 n_3}{n_4 n_5}
\item \stack{n_1 n_2 n_3}{n_4 n_5}


@@ -427,6 +429,7 @@
\end{worddef}
\end{worddef}




\pagebreak
\begin{worddef}{0150}{,}[comma]
\begin{worddef}{0150}{,}[comma]
\item \stack{x}{}
\item \stack{x}{}


@@ -553,6 +556,7 @@
\end{worddef}
\end{worddef}




\enlargethispage{4ex}
\begin{worddef}{0230}{/}[slash]
\begin{worddef}{0230}{/}[slash]
\item \stack{n_1 n_2}{n_3}
\item \stack{n_1 n_2}{n_3}


@@ -1130,6 +1134,7 @@
\end{worddef}
\end{worddef}




\enlargethispage{6ex}
\begin{worddef}[toR]{0580}{>R}[to-r]
\begin{worddef}[toR]{0580}{>R}[to-r]
\interpret
\interpret
	Interpretation semantics for this word are undefined.
	Interpretation semantics for this word are undefined.
@@ -1269,7 +1274,7 @@
		special behavior. Insofar as such behavior is outside the
		special behavior. Insofar as such behavior is outside the
		standard, Standard Programs cannot depend upon it, but the
		standard, Standard Programs cannot depend upon it, but the
		committee doesn't wish to preclude it unnecessarily.
		committee doesn't wish to preclude it unnecessarily.
		\replace{ed13}{Since}{ Because} actual values are almost always small integers, no
		Because actual values are almost always small integers, no
		functionality is impaired by this restriction.
		functionality is impaired by this restriction.


		It is recommended that all non-graphic characters be reserved
		It is recommended that all non-graphic characters be reserved
@@ -1465,6 +1470,7 @@
\end{worddef}
\end{worddef}




\enlargethispage{6ex}
\begin{worddef}{0770}{BL}[b-l]
\begin{worddef}{0770}{BL}[b-l]
\item \stack{}{char}
\item \stack{}{char}


@@ -1725,6 +1731,7 @@
\end{worddef}
\end{worddef}




\vspace*{-0.5ex}
\begin{worddef}{1000}{CREATE}
\begin{worddef}{1000}{CREATE}
\item \stack{"<spaces>name"}{}
\item \stack{"<spaces>name"}{}


@@ -1766,6 +1773,7 @@
\end{worddef}
\end{worddef}




\vspace*{-0.5ex}
\begin{worddef}{1170}{DECIMAL}
\begin{worddef}{1170}{DECIMAL}
\item \stack{}{}
\item \stack{}{}


@@ -1777,6 +1785,7 @@
\end{worddef}
\end{worddef}




\vspace*{-0.5ex}
\begin{worddef}{1200}{DEPTH}
\begin{worddef}{1200}{DEPTH}
\item \stack{}{+n}
\item \stack{}{+n}


@@ -1790,7 +1799,8 @@
	\end{testing}
	\end{testing}
\end{worddef}
\end{worddef}



\vspace*{-0.5ex}
\enlargethispage{10ex}
\begin{worddef}{1240}{DO}
\begin{worddef}{1240}{DO}
\interpret
\interpret
	Interpretation semantics for this word are undefined.
	Interpretation semantics for this word are undefined.
@@ -1803,6 +1813,7 @@
	semantics are incomplete until resolved by a consumer of
	semantics are incomplete until resolved by a consumer of
	\param{do-sys} such as \word{LOOP}.
	\param{do-sys} such as \word{LOOP}.


%\pagebreak
\runtime
\runtime
	\stack{n_1|u_1 n_2|u_2}{}
	\stack{n_1|u_1 n_2|u_2}{}
	\stack[R]{}{loop-sys}
	\stack[R]{}{loop-sys}
@@ -1951,6 +1962,7 @@
\end{worddef}
\end{worddef}




\pagebreak
\begin{worddef}{1310}{ELSE}
\begin{worddef}{1310}{ELSE}
\interpret
\interpret
	Interpretation semantics for this word are undefined.
	Interpretation semantics for this word are undefined.
@@ -2073,6 +2085,7 @@
\end{worddef}
\end{worddef}




\pagebreak
\begin{worddef}{1360}{EVALUATE}
\begin{worddef}{1360}{EVALUATE}
\item \stack{i*x c-addr u}{j*x}
\item \stack{i*x c-addr u}{j*x}


@@ -2173,6 +2186,7 @@
\end{worddef}
\end{worddef}




\enlargethispage{10ex}
\begin{worddef}{1550}{FIND}
\begin{worddef}{1550}{FIND}
\item \stack{c-addr}{c-addr 0 | xt 1 | xt -1}
\item \stack{c-addr}{c-addr 0 | xt 1 | xt -1}


@@ -2356,6 +2370,7 @@
\end{worddef}
\end{worddef}




\enlargethispage{4ex}
\begin{worddef}{1650}{HERE}
\begin{worddef}{1650}{HERE}
\item \stack{}{addr}
\item \stack{}{addr}


@@ -2649,7 +2664,7 @@
\end{worddef}
\end{worddef}





\pagebreak
\begin{worddef}{1760}{LEAVE}
\begin{worddef}{1760}{LEAVE}
\interpret
\interpret
	Interpretation semantics for this word are undefined.
	Interpretation semantics for this word are undefined.
@@ -2691,6 +2706,7 @@
\end{worddef}
\end{worddef}




\enlargethispage{4ex}
\begin{worddef}{1780}{LITERAL}
\begin{worddef}{1780}{LITERAL}
\interpret
\interpret
	Interpretation semantics for this word are undefined.
	Interpretation semantics for this word are undefined.
@@ -2977,6 +2993,7 @@
\end{worddef}
\end{worddef}




\enlargethispage{8ex}
\begin{worddef}{1910}{NEGATE}
\begin{worddef}{1910}{NEGATE}
\item \stack{n_1}{n_2}
\item \stack{n_1}{n_2}


@@ -3139,6 +3156,7 @@
\end{worddef}
\end{worddef}




\enlargethispage{8ex}
\begin{worddef}[Rfrom]{2060}{R>}[r-from]
\begin{worddef}[Rfrom]{2060}{R>}[r-from]
\interpret
\interpret
	Interpretation semantics for this word are undefined.
	Interpretation semantics for this word are undefined.
@@ -3334,6 +3352,7 @@
\end{worddef}
\end{worddef}




\enlargethispage{4ex}
\begin{worddef}[Sq]{2165}{S"}[s-quote]
\begin{worddef}[Sq]{2165}{S"}[s-quote]
\interpret
\interpret
	Interpretation semantics for this word are undefined.
	Interpretation semantics for this word are undefined.
@@ -3782,6 +3801,7 @@
\end{worddef}
\end{worddef}




\pagebreak
\begin{worddef}{2380}{UNLOOP}
\begin{worddef}{2380}{UNLOOP}
\interpret
\interpret
	Interpretation semantics for this word are undefined.
	Interpretation semantics for this word are undefined.
@@ -3899,6 +3919,7 @@
\end{worddef}
\end{worddef}




\pagebreak
\begin{worddef}{2430}{WHILE}
\begin{worddef}{2430}{WHILE}
\interpret
\interpret
	Interpretation semantics for this word are undefined.
	Interpretation semantics for this word are undefined.
@@ -4163,6 +4184,7 @@
%\end{worddef}
%\end{worddef}




\enlargethispage{6ex}
\begin{worddef}[.p]{0200}{.(}[dot-paren]
\begin{worddef}[.p]{0200}{.(}[dot-paren]
\compile
\compile
	Perform the execution semantics given below.
	Perform the execution semantics given below.
@@ -4272,6 +4294,7 @@
\end{worddef}
\end{worddef}




\pagebreak
\begin{worddef}{0415}{2R@}[two-r-fetch]
\begin{worddef}{0415}{2R@}[two-r-fetch]
\interpret
\interpret
	Interpretation semantics for this word are undefined.
	Interpretation semantics for this word are undefined.
@@ -4394,7 +4417,7 @@
	\begin{rationale} % A.6.2.0620 ?DO
	\begin{rationale} % A.6.2.0620 ?DO
		Typical use:
		Typical use:


		\tab \place{ed13}{\word{:} \texttt{X} {\ldots}} \word{qDO} {\ldots} \word{LOOP} \place{ed13}{{\ldots} \word{;}}
		\tab \word{:} \texttt{X} {\ldots} \word{qDO} {\ldots} \word{LOOP} {\ldots} \word{;}
	\end{rationale}
	\end{rationale}


	\begin{testing}\ttfamily
	\begin{testing}\ttfamily
@@ -4552,7 +4575,7 @@


% -------------------------------------------------------------------
% -------------------------------------------------------------------



\enlargethispage{6ex}
\begin{worddef}{0825}{BUFFER:}[buffer-colon][x:buffer]
\begin{worddef}{0825}{BUFFER:}[buffer-colon][x:buffer]
\item \stack{u "<spaces>name"}{}
\item \stack{u "<spaces>name"}{}


@@ -4755,6 +4778,7 @@
\end{worddef}
\end{worddef}




\pagebreak
\begin{worddef}{0945}{COMPILE,}[compile-comma]
\begin{worddef}{0945}{COMPILE,}[compile-comma]
\interpret
\interpret
	Interpretation semantics for this word are undefined.
	Interpretation semantics for this word are undefined.
@@ -4769,18 +4793,13 @@
\see \rref{core:COMPILE,}{}.
\see \rref{core:COMPILE,}{}.


	\begin{rationale} % A.6.2.0945 COMPILE,
	\begin{rationale} % A.6.2.0945 COMPILE,
\cbstart\patch{ed13}
		\word{COMPILE,} is the compilation equivalent of \word{EXECUTE}.
		\uline{\word{COMPILE,} is the compilation equivalent of
		\word{EXECUTE}.}


\uline{%
		In traditional threaded-code implementations, compilation is
		In traditional threaded-code implementations, compilation is
		performed by \word{,} (comma). This usage is not portable; it
		performed by \word{,} (comma). This usage is not portable; it
		doesn't work for subroutine-threaded, native code, or
		doesn't work for subroutine-threaded, native code, or
		relocatable implementations. Use of \word{COMPILE,} is portable.
		relocatable implementations. Use of \word{COMPILE,} is portable.
}


\uline{%
		In most systems it is possible to implement \word{COMPILE,} so
		In most systems it is possible to implement \word{COMPILE,} so
		it will generate code that is optimized to the same extent as
		it will generate code that is optimized to the same extent as
		code that is generated by the normal compilation process.
		code that is generated by the normal compilation process.
@@ -4792,7 +4811,6 @@
		the compilation token from the execution token. In these
		the compilation token from the execution token. In these
		implementations, \word{COMPILE,} might not generate code that
		implementations, \word{COMPILE,} might not generate code that
		is as efficient as normally compiled code.
		is as efficient as normally compiled code.
}


		The intention is that \word{COMPILE,} can be used as follows to write
		The intention is that \word{COMPILE,} can be used as follows to write
		the classic interpreter/com\-piler loop:
		the classic interpreter/com\-piler loop:
@@ -4817,28 +4835,6 @@


		Thus the interpretation semantics are left undefined, as \word{COMPILE,}
		Thus the interpretation semantics are left undefined, as \word{COMPILE,}
		will not be executed during interpretation.
		will not be executed during interpretation.

\sout{%
		In traditional threaded-code implementations, compilation is
		performed by \word{,} (comma). This usage is not portable; it
		doesn't work for subroutine-threaded, native code, or
		relocatable implementations. Use of \word{COMPILE,} is portable.
}

\sout{%
		In most systems it is possible to implement \word{COMPILE,} so
		it will generate code that is optimized to the same extent as
		code that is generated by the normal compilation process.
		However, in some implementations there are two different
		``tokens'' corresponding to a particular definition name:
		the normal ``execution token'' that is used while interpreting
		or with \word{EXECUTE}, and another ``compilation token'' that
		is used while compiling. It is not always possible to obtain
		the compilation token from the execution token. In these
		implementations, \word{COMPILE,} might not generate code that
		is as efficient as normally compiled code.
}
\cbend
	\end{rationale}
	\end{rationale}


	\begin{testing}\ttfamily
	\begin{testing}\ttfamily
@@ -4977,6 +4973,7 @@
\end{worddef}
\end{worddef}




\pagebreak
\begin{worddef}{1342}{ENDCASE}[end-case]
\begin{worddef}{1342}{ENDCASE}[end-case]
\interpret
\interpret
	Interpretation semantics for this word are undefined.
	Interpretation semantics for this word are undefined.
@@ -5155,6 +5152,7 @@


% ===================================================================
% ===================================================================


\enlargethispage{2ex}
\begin{worddef}{1725}{IS}[][X:deferred]
\begin{worddef}{1725}{IS}[][X:deferred]
\interpret
\interpret
	\stack{xt "<spaces>name"}{}
	\stack{xt "<spaces>name"}{}
@@ -5239,6 +5237,7 @@
		system to remember ``landmark information'' in advance that
		system to remember ``landmark information'' in advance that
		specifically marks the spots where the dictionary may at some
		specifically marks the spots where the dictionary may at some
		future time have to be rearranged.
		future time have to be rearranged.
\pagebreak
	\end{rationale}
	\end{rationale}
\end{worddef}
\end{worddef}


@@ -5400,12 +5399,6 @@


			\item The temporary buffer is typically overwritten by the
			\item The temporary buffer is typically overwritten by the
				next use of \word{WORD}.
				next use of \word{WORD}.
\remove{ed13}{This introduces a temporal
				dependency; the value returned by \word{WORD} is only
				valid for a limited duration. \word{PARSE} has a
				temporal dependency, too, related to the lifetime of
				the input buffer, but that is less severe in most
				cases than \word{WORD}'s temporal dependency.}
			\end{enumerate}
			\end{enumerate}


			The need for \word{WORD} has largely been eliminated by
			The need for \word{WORD} has largely been eliminated by
@@ -5750,6 +5743,7 @@
		These are examples only; a Standard Program may not assume any
		These are examples only; a Standard Program may not assume any
		particular meaning for the individual stack items returned by
		particular meaning for the individual stack items returned by
		\word{SAVE-INPUT}.
		\word{SAVE-INPUT}.
\pagebreak
	\end{rationale}
	\end{rationale}


	\begin{testing}\ttfamily
	\begin{testing}\ttfamily
@@ -5911,7 +5905,7 @@
		a mode flag that is tested by the subsequent execution of
		a mode flag that is tested by the subsequent execution of
		\param{name}.  Standard programs must use \word{TO} as if it
		\param{name}.  Standard programs must use \word{TO} as if it
		parses.  Therefore \word{TO} and \param{name} must be
		parses.  Therefore \word{TO} and \param{name} must be
		contiguous \replace{ed13}{,}{ and} on the same line\remove{ed13}{,} in the source text.
		contiguous and on the same line in the source text.
	\end{rationale}
	\end{rationale}


	\begin{testing} % T.6.2.2295 TO
	\begin{testing} % T.6.2.2295 TO
@@ -5920,6 +5914,7 @@
\end{worddef}
\end{worddef}




\enlargethispage{6ex}
\begin{worddef}{2298}{TRUE}
\begin{worddef}{2298}{TRUE}
\item \stack{}{true}
\item \stack{}{true}


+138 −178

File changed.

Preview size limit exceeded, changes collapsed.

+1 −0
Original line number Original line Diff line number Diff line
@@ -664,6 +664,7 @@ Extensions word sets.
\end{worddef}
\end{worddef}




\pagebreak
\subsection{Double-Number extension words} % 8.6.2
\subsection{Double-Number extension words} % 8.6.2
\extended
\extended


+2 −8
Original line number Original line Diff line number Diff line
@@ -16,14 +16,6 @@ The \word{THROW} values \{-255{\ldots}-1\} shall be used only as
assigned by this standard. The values \{-4095{\ldots}-256\}
assigned by this standard. The values \{-4095{\ldots}-256\}
shall be used only as assigned by a system.
shall be used only as assigned by a system.


\remove{x:throw-iors}{%
If the File-Access or Memory-Allocation word sets are implemented,
it is recommended that the non-zero values of \emph{ior} lie within
the range of system \word{THROW} values, as defined above. In an
operating-system environment, this can sometimes be accomplished
by ``biasing'' the range of operating-system exception codes to fall
within the \word{THROW} range.}

Programs shall not define values for use with \word{THROW} in the
Programs shall not define values for use with \word{THROW} in the
range \{-4095{\ldots}-1\}.
range \{-4095{\ldots}-1\}.


@@ -244,6 +236,7 @@ The phrase ``Requiring the Exception Extensions word set'' shall be
appended to the label of Standard Programs that require the system
appended to the label of Standard Programs that require the system
to provide all of the Exception and Exception Extensions word sets.
to provide all of the Exception and Exception Extensions word sets.


\pagebreak
\section{Glossary} % 9.6
\section{Glossary} % 9.6


\subsection{Exception words} % 9.6.1
\subsection{Exception words} % 9.6.1
@@ -450,6 +443,7 @@ to provide all of the Exception and Exception Extensions word sets.
\end{worddef}
\end{worddef}




\pagebreak
\subsection{Exception extension words} % 9.6.2
\subsection{Exception extension words} % 9.6.2
\extended
\extended


+34 −95
Original line number Original line Diff line number Diff line
@@ -173,6 +173,7 @@ to provide all of the Facility and Facility Extensions word sets.
		the application must use \word{KEYq} and \word[core]{KEY} only
		the application must use \word{KEYq} and \word[core]{KEY} only
		when it wishes to discard non-character events until a valid
		when it wishes to discard non-character events until a valid
		character is received.
		character is received.
\pagebreak
	\end{rationale}
	\end{rationale}
\end{worddef}
\end{worddef}


@@ -399,7 +400,7 @@ to provide all of the Facility and Facility Extensions word sets.
	\stack{addr_1}{addr_2}
	\stack{addr_1}{addr_2}


	Add the \param{offset} calculated during the compile time action to
	Add the \param{offset} calculated during the compile time action to
	\param{addr_1} giving the \remove{ed13}{character aligned} address \param{addr_2}.
	\param{addr_1} giving the address \param{addr_2}.


\see \wref{facility:+FIELD}{+FIELD},
\see \wref{facility:+FIELD}{+FIELD},
	\wref{facility:BEGIN-STRUCTURE}{BEGIN-STRUCTURE}, \\
	\wref{facility:BEGIN-STRUCTURE}{BEGIN-STRUCTURE}, \\
@@ -473,7 +474,7 @@ to provide all of the Facility and Facility Extensions word sets.


% -------------------------------------------------------------------
% -------------------------------------------------------------------



\pagebreak
\begin{worddef}[EKEYtoFKEY]{1306}[40]{EKEY>FKEY}[e-key-to-f-key][X:ekeys]
\begin{worddef}[EKEYtoFKEY]{1306}[40]{EKEY>FKEY}[e-key-to-f-key][X:ekeys]
\item \stack{x}{u flag}
\item \stack{x}{u flag}


@@ -519,45 +520,15 @@ to provide all of the Facility and Facility Extensions word sets.




	\begin{rationale} % A.10.6.2.---- EKEY>FKEY
	\begin{rationale} % A.10.6.2.---- EKEY>FKEY
\cbstart\patch{ed13}
\sout{%
		This words has been provided to allow for systems which may not
		be able to interpret the value returned from \word{EKEY}
		directly. A simple implementation for a system which is capable
		of interpreting the value returned from \word{EKEY} would be:}


		\begin{quote}
			\ttfamily
\sout{\word{:} \word{EKEYtoFKEY} \word{p} u1 -{}- u2 flag )} \\
			\tab \sout{\word{DUP} \word{EKEYtoCHAR} \word{NIP} \word{0=} \word{;}}
		\end{quote}


\sout{%
		\word{EKEY} produces an abstract cell type for a keyboard
		The value returned from \word{EKEYtoFKEY} can be interpreted
		event (e.g., a keyboard scan code).  \word{EKEYtoFKEY} checks
		via a set of pre-defined constants and masks. This provides
		if such an event corresponds to a special (non-graphic) key
		the application programmer with the ability to process the
		press, and if so, returns a code for the special key press.
		non-ASCII keys in a standard way. Note however, that not all
		The encoding of special keys (returned by \word{EKEYtoFKEY})
		keyboards provide these keys. Indeed, some devices will not
		may be different from the encoding of these keys as keyboard
		have a keyboard. A standard program should be written in such
		events (input to \word{EKEYtoFKEY}).
		a way that they will continue to work without these additional
		keys. Albeit with a limited or reduced functionality.}

\sout{%
		The \texttt{K-}{\ldots} words produce the same values that the
		sequence \word{EKEY} \word{EKEYtoFKEY} may produce when the
		user presses the corresponding keys. Note that some systems
		may lack some of the keys, or the system the capability to
		report them. Programs should be written such that they continue
		to work (although less conveniently or with less functionality)
		if these key combinations cannot be produced.}

	\uline{%
		\word{EKEY} produces an abstract cell type for a keyboard event (e.g., a
		keyboard scan code).  \word{EKEYtoFKEY} checks if such an event
		corresponds to a special (non-graphic) key press, and if so, returns
		a code for the special key press.  The encoding of special keys (returned
		by \word{EKEYtoFKEY}) may be different from the encoding of these
		keys as keyboard events (input to \word{EKEYtoFKEY}).}


		Typical Use:
		Typical Use:


@@ -576,83 +547,50 @@ to provide all of the Facility and Facility Extensions word sets.
			\word{THEN}
			\word{THEN}
		\end{quote}
		\end{quote}


\uline{%
		The codes for the special keys are system-dependent, but this
		The codes for the special keys are system-dependent, but this
		standard provides words for getting the key codes for a number
		standard provides words for getting the key codes for a number
		of keys:}
		of keys:



	\begin{center}
	\begin{center}
		\begin{tabular}{llcll}
		\begin{tabular}{llcll}
		\hline
		\hline
		\uline{Word} & \uline{Key} & \hspace{2em} & \uline{Word} & \uline{Key} \\ \hline\hline
		Word & Key & \hspace{2em} & Word & Key \\ \hline\hline
		\uline{\word{K-F1}}	& \uline{F1}		& & \uline{\word{K-LEFT}}	& \uline{cursor left}		\\
		\word{K-F1}		& F1	& & \word{K-LEFT}	& cursor left	\\
		\uline{\word{K-F2}}	& \uline{F2}		& & \uline{\word{K-RIGHT}}	& \uline{cursor right}		\\
		\word{K-F2}		& F2	& & \word{K-RIGHT}	& cursor right	\\
		\uline{\word{K-F3}}	& \uline{F3}		& & \uline{\word{K-UP}}		& \uline{cursor up}		\\
		\word{K-F3}		& F3	& & \word{K-UP}		& cursor up		\\
		\uline{\word{K-F4}}	& \uline{F4}		& & \uline{\word{K-DOWN}}	& \uline{cursor down}	\\
		\word{K-F4}		& F4	& & \word{K-DOWN}	& cursor down	\\
		\uline{\word{K-F5}}	& \uline{F5}		& & \uline{\word{K-HOME}}	& \uline{home or Pos1}	\\
		\word{K-F5}		& F5	& & \word{K-HOME}	& home or Pos1	\\
		\uline{\word{K-F6}}	& \uline{F6}		& & \uline{\word{K-END}}		& \uline{End}			\\
		\word{K-F6}		& F6	& & \word{K-END}	& End			\\
		\uline{\word{K-F7}}	& \uline{F7}		& & \uline{\word{K-PRIOR}}	& \uline{PgUp or Prior}	\\
		\word{K-F7}		& F7	& & \word{K-PRIOR}	& PgUp or Prior	\\
		\uline{\word{K-F8}}	& \uline{F8}		& & \uline{\word{K-NEXT}	}	& \uline{PgDn or Next}	\\
		\word{K-F8}		& F8	& & \word{K-NEXT}	& PgDn or Next	\\
		\uline{\word{K-F9}}	& \uline{F9}		& & \uline{\word{K-INSERT}}	& \uline{Insert}			\\
		\word{K-F9}		& F9	& & \word{K-INSERT}	& Insert		\\
		\uline{\word{K-F10}}	& \uline{F10}	& & \uline{\word{K-DELETE}}	& \uline{Delete}			\\
		\word{K-F10}	& F10	& & \word{K-DELETE}	& Delete		\\
		\uline{\word{K-F11}}	& \uline{F11}	\\
		\word{K-F11}	& F11	\\
		\uline{\word{K-F12}}	& \uline{F12}	\\ \hline
		\word{K-F12}	& F12	\\ \hline
		\end{tabular}
		\end{tabular}
	\end{center}
	\end{center}


\uline{% 
		In addition, you can get codes for shifted variants of these
		In addition, you can get codes for shifted variants of these keys by
		keys by \word{OR}ing with \word{K-SHIFT-MASK}, \word{K-CTRL-MASK}
		\word{OR}ing with \word{K-SHIFT-MASK}, \word{K-CTRL-MASK}
		and/or \word{K-ALT-MASK}, e.g. \word{K-CTRL-MASK}
		and/or \word{K-ALT-MASK}, e.g. \word{K-CTRL-MASK}
		\word{K-ALT-MASK} \word{OR} \word{K-DELETE} \word{OR}.
		\word{K-ALT-MASK} \word{OR} \word{K-DELETE} \word{OR}.
		The masks for the shift keys are:
		The masks for the shift keys are:
}


	\begin{center}
	\begin{center}
		\begin{tabular}{ll}
		\begin{tabular}{ll}
		\hline
		\hline
		\uline{Word} & \uline{Key} \\ \hline\hline
		Word 				& Key	\\ \hline\hline
		\uline{\word{K-SHIFT-MASK}}	& \uline{Shift} \\
		\word{K-SHIFT-MASK}	& Shift	\\
		\uline{\word{K-CTRL-MASK}}		& \uline{Ctrl} \\
		\word{K-CTRL-MASK}	& Ctrl	\\
		\uline{\word{K-ALT-MASK}}		& \uline{Alt} \\ \hline
		\word{K-ALT-MASK}	& Alt	\\ \hline
		\end{tabular}
		\end{tabular}
	\end{center}
	\end{center}


\uline{%
		Note that not all of these keys are available on all systems, and not
		Note that not all of these keys are available on all systems, and not
		all combinations of keys and shift keys are available.  Therefore
		all combinations of keys and shift keys are available.  Therefore
		programs should be written such that they continue to work (although
		programs should be written such that they continue to work (although
		less conveniently or with less functionality) if these key combinations
		less conveniently or with less functionality) if these key combinations
		cannot be produced.}
		cannot be produced.

	\item[\sout{\word{EKEY} return values}] ~\\
\sout{		The intention behind \word{EKEY} was that it would return the
		implementation defined keyboard scan code. The implementation
		defined nature of the value means that a standard program may
		not use the value in any way, other than passing it on to
		\word{EKEYtoCHAR} to convert it into an ASCII character.}

\sout{%
		\word{EKEYtoFKEY} has been designed to be used in a similar
		manner. It provides an implementation defined value which
		corresponds to non-ASCII keys, or a combination thereof. A
		standard program may check which key combination has been used
		via a set of pre-defined constants.}

	\item[\sout{Shift keys}] ~\\
\sout{Note that, as defined, the shift key masks
		(\wref{facility:K-SHIFT-MASK}{K-SHIFT-MASK},
		 \linebreak
		 \wref{facility:K-CTRL-MASK}{K-CTRL-MASK} and
		 \wref{facility:K-ALT-MASK}{K-ALT-MASK})
		are only useful for recognizing shifted cursor and function
		keys, because these are the only values defined for use with
		\word{EKEYtoFKEY}.
		E.g., a standard program cannot recognize \textsc{Alt-T},
		because no \word{EKEY} return value for \texttt{T} has been
		defined.}
\cbend
	\end{rationale}
	\end{rationale}


	\begin{implement} % I.10.6.2.--- EKEY>FKEY
	\begin{implement} % I.10.6.2.--- EKEY>FKEY
@@ -730,7 +668,7 @@ to provide all of the Facility and Facility Extensions word sets.
\end{worddef}
\end{worddef}


% -------------------------------------
% -------------------------------------

\enlargethispage{2ex}
\begin{worddef}{1336}{END-STRUCTURE}[][X:structures]
\begin{worddef}{1336}{END-STRUCTURE}[][X:structures]
\item \stack{struct-sys +n}{}
\item \stack{struct-sys +n}{}


@@ -749,6 +687,7 @@ to provide all of the Facility and Facility Extensions word sets.
\end{worddef}
\end{worddef}




\pagebreak
\begin{worddef}{1518}{FIELD:}[field-colon][X:structures]
\begin{worddef}{1518}{FIELD:}[field-colon][X:structures]
\item \stack{n_1 "<spaces>name"}{n_2}
\item \stack{n_1 "<spaces>name"}{n_2}


@@ -763,7 +702,7 @@ to provide all of the Facility and Facility Extensions word sets.
	\stack{addr_1}{addr_2}
	\stack{addr_1}{addr_2}


	Add the \param{offset} calculated during the compile time action
	Add the \param{offset} calculated during the compile time action
	to \param{addr_1} giving the \remove{ed13}{cell aligned} address \param{addr_2}.
	to \param{addr_1} giving the address \param{addr_2}.


\see \wref{facility:+FIELD}{+FIELD},
\see \wref{facility:+FIELD}{+FIELD},
	\wref{facility:BEGIN-STRUCTURE}{BEGIN-STRUCTURE}, \\
	\wref{facility:BEGIN-STRUCTURE}{BEGIN-STRUCTURE}, \\
Loading