-
- if (lex_match_id ("THRU"))
- {
- double y;
-
- if (lex_match_id ("HI") || lex_match_id ("HIGHEST"))
- y = HIGHEST;
- else if (!parse_number (&y, &v[0]->print))
- goto done;
-
- if (x == LOWEST && y == HIGHEST)
- {
- msg (SE, _("LO THRU HI is an invalid range."));
- deferred_errors = true;
- }
- else if (!mv_add_num_range (&mv, x, y))
- deferred_errors = true;
- }
- else
- {
- if (x == LOWEST)
- {
- msg (SE, _("LO or LOWEST must be part of a range."));
- deferred_errors = true;
- }
- else if (!mv_add_num (&mv, x))
- deferred_errors = true;
- }
+
+ ok = (x == y
+ ? mv_add_num (&mv, x)
+ : mv_add_num_range (&mv, x, y));
+ if (!ok)
+ deferred_errors = true;