%#!uptex
\newcount\fuga\newcount\dflt
\iffalse
  \global\let\prebreakpenalty=\inhibitxspcode
  \fuga="30D3 \dflt=3
\else
  \fuga="3090 \dflt=0
\fi

\scrollmode
\newcount\hoge\hoge="3000
\loop\ifnum\hoge<\fuga
  \message{\the\hoge}\prebreakpenalty\hoge=2
  \advance\hoge 1\relax \repeat

\message{<\the\prebreakpenalty"3001, \the\prebreakpenalty"4000>}% 2, D
{
  \prebreakpenalty"3001=\dflt\relax
  \global\prebreakpenalty"4000=1\relax% error
\message{<\the\prebreakpenalty"3001, \the\prebreakpenalty"4000>}% D, D
}

\message{<\the\prebreakpenalty"3001, \the\prebreakpenalty"4000>}% 2, D

{
  \global\prebreakpenalty"3001=\dflt\relax
  \prebreakpenalty"4000=1\relax% no error
\message{<\the\prebreakpenalty"3001, \the\prebreakpenalty"4000>}% D, 1
}
\message{<\the\prebreakpenalty"3001, \the\prebreakpenalty"4000>}% D, D

\prebreakpenalty"4000=1\relax% no error

\message{<\the\prebreakpenalty"3001, \the\prebreakpenalty"4000,
  \the\prebreakpenalty"3549>}% D, 1, D

\prebreakpenalty"4000=\dflt\relax

\prebreakpenalty"3549=1\relax% no error

\message{<\the\prebreakpenalty"3001, \the\prebreakpenalty"4000,
  \the\prebreakpenalty"3549>}% D, D, 1


\end

