add \guilabel macro to mark labels that occur in user interfaces
diff --git a/Doc/doc/doc.tex b/Doc/doc/doc.tex
index aacce2f..de6390a 100644
--- a/Doc/doc/doc.tex
+++ b/Doc/doc/doc.tex
@@ -1654,6 +1654,16 @@
   The components of graphical interfaces will be assigned markup, but
   most of the specifics have not been determined.
 
+  \begin{macrodesc}{guilabel}{\p{label}}
+    Labels presented as part of an interactive user interface should
+    be marked using \macro{guilabel}.  This includes labels from
+    text-based interfaces such as those created using \code{curses} or
+    other text-based libraries.  Any label used in the interface
+    should be marked with this macro, including button labels, window
+    titles, field names, menu and menu selection names, and even
+    values in selection lists.
+  \end{macrodesc}
+
   \begin{macrodesc}{menuselection}{\p{menupath}}
     Menu selections should be marked using a combination of
     \macro{menuselection} and \macro{sub}.  This macro is used to mark
@@ -1673,6 +1683,10 @@
     such as the ellipsis some operating systems use to indicate that
     the command opens a dialog, the indicator should be omitted from
     the selection name.
+
+    Individual selection names within the \macro{menuselection} should
+    not be marked using \macro{guilabel} since that's implied by using
+    \macro{menuselection}.
   \end{macrodesc}
 
   \begin{macrodesc}{sub}{}
diff --git a/Doc/html/style.css b/Doc/html/style.css
index f585744..33a1380 100644
--- a/Doc/html/style.css
+++ b/Doc/html/style.css
@@ -123,7 +123,7 @@
 .newsgroup              { font-family: avantgarde, sans-serif; }
 .url                    { font-family: avantgarde, sans-serif; }
 .file                   { font-family: avantgarde, sans-serif; }
-.menuselection          { font-family: avantgarde, sans-serif; }
+.guilabel               { font-family: avantgarde, sans-serif; }
 
 .tableheader            { background-color: #99ccff;
                           font-family: avantgarde, sans-serif; }
diff --git a/Doc/perl/python.perl b/Doc/perl/python.perl
index 89e12d5..d5d000f 100644
--- a/Doc/perl/python.perl
+++ b/Doc/perl/python.perl
@@ -95,9 +95,12 @@
 sub do_cmd_textunderscore{ '_' . $_[0]; }
 sub do_cmd_infinity{ '∞' . $_[0]; }
 sub do_cmd_plusminus{ '±' . $_[0]; }
+sub do_cmd_guilabel{
+    return use_wrappers($_[0]. '<span class="guilabel">', '</span>'); }
 sub do_cmd_menuselection{
-    return use_wrappers($_[0], '<span class="menuselection">', '</span>'); }
-sub do_cmd_sub{ ' > ' . $_[0]; }
+    return use_wrappers($_[0], '<span class="guilabel">', '</span>'); }
+sub do_cmd_sub{
+    return '</span> &gt; <span class="guilabel">' . $_[0]; }
 
 
 # words typeset in a special way (not in HTML though)
diff --git a/Doc/texinputs/python.sty b/Doc/texinputs/python.sty
index ff37ad9..0e69587e 100644
--- a/Doc/texinputs/python.sty
+++ b/Doc/texinputs/python.sty
@@ -821,8 +821,11 @@
 \newcommand{\NULL}{\constant{NULL}}
 \newcommand{\infinity}{\ensuremath{\infty}}
 \newcommand{\plusminus}{\ensuremath{\pm}}
+
+% \guilabel{Start}
+\newcommand{\guilabel}[1]{\textsf{#1}}
 % \menuselection{Start \sub Programs \sub Python}
-\newcommand{\menuselection}[1]{\textsf{\def\sub{ \ensuremath{>} }#1}}
+\newcommand{\menuselection}[1]{\guilabel{{\def\sub{ \ensuremath{>} }#1}}}
 
 % Also for consistency: spell Python "Python", not "python"!