The Galvin-Prikry theorem says that Borel sets are Ramsey. This means that for every Borel set $S\subseteq[\omega]^\omega$, there is an $A\in[\omega]^\omega$ such that either $[A]^\omega \subseteq S$ or $[A]^\omega \cap S=\emptyset$.
My question is, for which $\kappa>\omega$ does the analogous statement hold (call it the $\kappa$-Galvin-Prikry theorem):
For every open set $S\subseteq [\kappa]^\omega$, there is an $A\in[\kappa]^\kappa$ such that $[A]^\omega\subseteq S$ or $[A]^\omega \cap S=\emptyset$.
With the open sets given by the usual topology on $[\kappa]^\omega$, with basic open sets $[\eta,\omega]=\{s\in[\omega]^\omega:\eta \prec s\}$, where $\prec$ denotes initial segment.
At $\omega$, the Galvin-Prikry theorem is equivalent to Nash-Williams' "every block contains a barrier". (See page 644 in http://www.cs.elte.hu/~kope/bqoint.pdf ). Ie, for every Block $B\subseteq[\omega]^{<\omega}$, there is an $A\in[\omega]^\omega$ such that $B\cap[A]^{<\omega}$ is a barrier.
The $\kappa$-version is equivalent to "every $\kappa$-block contains a $\kappa$-barrier", with the definitions given in Shelah's paper:
Better quasi-orders for uncountable cardinals
Israel Journal of Mathematics September 1982, Volume 42, Issue 3, pp 177-226 http://link.springer.com/article/10.1007%2FBF02802723
The important implication here can be seen because the $\kappa$-Galvin-Prikry theorem is equivalent to $\kappa\stackrel{\mbox{open}}{\longrightarrow}(\kappa)^\omega$ which means $\forall f:[\kappa]^\omega\rightarrow 2$ with $f$ continuous, $\exists A\in[\kappa]^\kappa$ such that $|f"[A]^\omega|=1$. Which in turn is equivalent to $\forall f:B\rightarrow 2$ with $B\subset[\kappa]^{<\omega}$ a $\kappa$-block, $\exists A\in[\kappa]^\kappa$ such that $|f"[A]^{<\omega}\cap B|=1$. From this "every $\kappa$-block contains a $\kappa$-barrier" quickly follows.
On page 2 of the quoted paper, Shelah says that for "every $\kappa$-block contains a $\kappa$-barrier" to hold, $\kappa$ must be Ramsey. But he gives no proof.
If we assume that $\kappa$ is Ramsey, then it isn't too difficult to show that every $\kappa$-block contains a $\kappa$-barrier.
So, by Shelah, $\kappa$ is Ramsey iff the $\kappa$-Galvin-Prikry theorem holds. But I haven't managed to prove what Shelah omitted.
So why does the $\kappa$-Galvin-Prikry theorem imply that $\kappa$ is Ramsey?
Or the same for any of the other equivalent versions I mentioned.