summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Breitenlohner <peb@mppmu.mpg.de>2012-01-24 13:22:01 +0000
committerPeter Breitenlohner <peb@mppmu.mpg.de>2012-01-24 13:22:01 +0000
commitc103b7963628e6ff10a1fc025aebd0bba5f72a55 (patch)
tree25e9438a01335ef3daf640e7abebc56a71b12327
parenta6e06905e901ade43945a363fc719e6ada2d3836 (diff)
pltotf, vptovf, and Co: scanning real numbers
git-svn-id: svn://tug.org/texlive/trunk@25190 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Build/source/texk/web2c/ChangeLog4
-rw-r--r--Build/source/texk/web2c/Makefile.in16
-rw-r--r--Build/source/texk/web2c/omegafonts/ChangeLog9
-rw-r--r--Build/source/texk/web2c/omegafonts/Makefile.am8
-rw-r--r--Build/source/texk/web2c/omegafonts/Makefile.in17
-rw-r--r--Build/source/texk/web2c/omegafonts/pl-lexer.c34
-rw-r--r--Build/source/texk/web2c/omegafonts/pl-lexer.l2
-rwxr-xr-xBuild/source/texk/web2c/omegafonts/realnum.test17
-rw-r--r--Build/source/texk/web2c/omegafonts/tests/realnum.opl14
-rw-r--r--Build/source/texk/web2c/omegafonts/tests/realnum.out37
-rw-r--r--Build/source/texk/web2c/omegaware/ChangeLog8
-rw-r--r--Build/source/texk/web2c/omegaware/am/omegaware.am7
-rw-r--r--Build/source/texk/web2c/omegaware/opl2ofm.web2
-rw-r--r--Build/source/texk/web2c/omegaware/ovp2ovf.web2
-rwxr-xr-xBuild/source/texk/web2c/omegaware/realnum.test19
-rw-r--r--Build/source/texk/web2c/omegaware/tests/realnum.opl14
-rw-r--r--Build/source/texk/web2c/omegaware/tests/realnum.out20
-rw-r--r--Build/source/texk/web2c/pltotf.ch6
-rw-r--r--Build/source/texk/web2c/vptovf.ch6
19 files changed, 204 insertions, 38 deletions
diff --git a/Build/source/texk/web2c/ChangeLog b/Build/source/texk/web2c/ChangeLog
index e799597795f..41f7d9c5314 100644
--- a/Build/source/texk/web2c/ChangeLog
+++ b/Build/source/texk/web2c/ChangeLog
@@ -1,3 +1,7 @@
+2012-01-24 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * pltotf.ch, vptovf.ch: Interpret "--" as "+", not "-".
+
2012-01-22 Peter Breitenlohner <peb@mppmu.mpg.de>
* tftopl.ch, vftovp.ch: Add missing space in error message.
diff --git a/Build/source/texk/web2c/Makefile.in b/Build/source/texk/web2c/Makefile.in
index e99a0823135..3f32a00385f 100644
--- a/Build/source/texk/web2c/Makefile.in
+++ b/Build/source/texk/web2c/Makefile.in
@@ -1571,6 +1571,7 @@ EXTRA_DIST = PROJECTS cftests cpascal.h help.h w2c/config.h \
omegaware/tests/ofontv5.opl omegaware/tests/ofontv5.ovp \
omegaware/tests/ofontv6.opl omegaware/tests/ofontv6.ovp \
omegaware/tests/Cherokee.pl omegaware/tests/OCherokee.ovp \
+ omegaware/tests/realnum.opl omegaware/tests/realnum.out \
omegaware/tests/repeat.opl omegaware/tests/repeated.opl \
omegaware/tests/sample.out omegaware/tests/sample.ovp \
omegaware/tests/sample0-h.opl omegaware/tests/specialhex.ovp \
@@ -1647,12 +1648,13 @@ DISTCLEANFILES = $(EXTRA_LIBRARIES) CXXLD.sh tangle.c tangle.h \
omegaware/tests/OCherokee.ofm omegaware/tests/OCherokee.opl \
omegaware/tests/OCherokee.ovf omegaware/tests/xCherokee.* \
omegaware/tests/xOCherokee.* cftest.p \
- omegaware/tests/xrepeated.* omegaware/tests/sample*.ofm \
- omegaware/tests/sample.ovf omegaware/tests/sample1-h.opl \
- omegaware/tests/xsample.out omegaware/tests/specialhex.ofm \
- omegaware/tests/specialhex.opl omegaware/tests/specialhex.ovf \
- omegaware/tests/xspecialhex.* $(nodist_aleph_SOURCES) \
- aleph.web aleph.ch aleph-web2c aleph.p aleph.pool aleph-tangle
+ omegaware/tests/xrealnum.* omegaware/tests/xrepeated.* \
+ omegaware/tests/sample*.ofm omegaware/tests/sample.ovf \
+ omegaware/tests/sample1-h.opl omegaware/tests/xsample.out \
+ omegaware/tests/specialhex.ofm omegaware/tests/specialhex.opl \
+ omegaware/tests/specialhex.ovf omegaware/tests/xspecialhex.* \
+ $(nodist_aleph_SOURCES) aleph.web aleph.ch aleph-web2c aleph.p \
+ aleph.pool aleph-tangle
CLEANFILES =
TRIPTRAP_CLEAN = $(am__append_9) $(am__append_17) $(am__append_26) \
$(am__append_31) $(am__append_37) $(am__append_43) \
@@ -2624,7 +2626,7 @@ OTANGLE_tests = omegaware/odvicopy.test omegaware/odvitype.test \
omegaware/otangle.test
OMFONTS_tests = omegaware/level1.test omegaware/ofonts.test \
- omegaware/omfonts.test omegaware/repeat.test \
+ omegaware/omfonts.test omegaware/realnum.test omegaware/repeat.test \
omegaware/selectfont.test omegaware/specialhex.test
diff --git a/Build/source/texk/web2c/omegafonts/ChangeLog b/Build/source/texk/web2c/omegafonts/ChangeLog
index 8099dcb1392..f6163e2c8eb 100644
--- a/Build/source/texk/web2c/omegafonts/ChangeLog
+++ b/Build/source/texk/web2c/omegafonts/ChangeLog
@@ -1,3 +1,12 @@
+2012-01-24 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * pl-lexer.l: 'Correctly' scan real numbers for scan_fix().
+ Reported by Tanaka Takuji <KXD02663@nifty.ne.jp>.
+
+ * realnum.test, tests/realnum.opl, tests/realnum.out (new):
+ Shell script and data for a new test.
+ * Makefile.am: Add the new test.
+
2012-01-03 Akira Kakuto <kakuto@fuk.kindai.ac.jp>
* omfonts.c: fix a typo (omfomts ---> omfonts).
diff --git a/Build/source/texk/web2c/omegafonts/Makefile.am b/Build/source/texk/web2c/omegafonts/Makefile.am
index d770627dd89..e3666fcc816 100644
--- a/Build/source/texk/web2c/omegafonts/Makefile.am
+++ b/Build/source/texk/web2c/omegafonts/Makefile.am
@@ -1,6 +1,6 @@
## Makefile.am for the TeX Live subdirectory texk/web2c/omegafonts/
##
-## Copyright (C) 2009-2011 Peter Breitenlohner <tex-live@tug.org>
+## Copyright (C) 2009-2012 Peter Breitenlohner <tex-live@tug.org>
## You may freely use, modify and/or distribute this file.
##
AM_CPPFLAGS = -I$(top_builddir)/.. -I$(top_srcdir) $(KPATHSEA_INCLUDES) -DNOT_WEB2C
@@ -102,7 +102,8 @@ endif OTANGLE
## Tests
##
-OMFONTS_tests = charwd.test level1.test omfonts.test repeat.test selectfont.test specialhex.test
+OMFONTS_tests = charwd.test level1.test omfonts.test realnum.test \
+ repeat.test selectfont.test specialhex.test
if OTANGLE
if OMFONTS
TESTS = $(OMFONTS_tests)
@@ -122,6 +123,9 @@ EXTRA_DIST += tests/Cherokee.pl tests/OCherokee.ovp
DISTCLEANFILES += tests/Cherokee.tfm tests/OCherokee.ofm \
tests/OCherokee.opl tests/OCherokee.ovf \
tests/xCherokee.* tests/xOCherokee.*
+## realnum.test
+EXTRA_DIST += tests/realnum.opl tests/realnum.out
+DISTCLEANFILES += tests/realnum.*
## repeat.test
EXTRA_DIST += tests/repeat.opl tests/repeated.opl
DISTCLEANFILES += tests/xrepeated.*
diff --git a/Build/source/texk/web2c/omegafonts/Makefile.in b/Build/source/texk/web2c/omegafonts/Makefile.in
index f8f62c70b33..85e52f65e6c 100644
--- a/Build/source/texk/web2c/omegafonts/Makefile.in
+++ b/Build/source/texk/web2c/omegafonts/Makefile.in
@@ -368,10 +368,10 @@ call_omfonts_LDADD =
DISTCLEANFILES = pl-parser.output tests/charwdr.* tests/charwdv.* \
tests/xlevel1.ofm tests/xlevel1.opl tests/Cherokee.tfm \
tests/OCherokee.ofm tests/OCherokee.opl tests/OCherokee.ovf \
- tests/xCherokee.* tests/xOCherokee.* tests/xrepeated.* \
- tests/sample*.ofm tests/sample.ovf tests/sample1-h.opl \
- tests/xsample.out tests/specialhex.ofm tests/specialhex.opl \
- tests/specialhex.ovf tests/xspecialhex.*
+ tests/xCherokee.* tests/xOCherokee.* tests/realnum.* \
+ tests/xrepeated.* tests/sample*.ofm tests/sample.ovf \
+ tests/sample1-h.opl tests/xsample.out tests/specialhex.ofm \
+ tests/specialhex.opl tests/specialhex.ovf tests/xspecialhex.*
linked_programs = ofm2opl opl2ofm ovf2ovp ovp2ovf
bin_links = \
omfonts$(EXEEXT):ofm2opl \
@@ -379,12 +379,15 @@ bin_links = \
omfonts$(EXEEXT):ovf2ovp \
omfonts$(EXEEXT):ovp2ovf
-OMFONTS_tests = charwd.test level1.test omfonts.test repeat.test selectfont.test specialhex.test
+OMFONTS_tests = charwd.test level1.test omfonts.test realnum.test \
+ repeat.test selectfont.test specialhex.test
+
@OMFONTS_TRUE@@OTANGLE_TRUE@TESTS = $(OMFONTS_tests)
EXTRA_DIST = $(OMFONTS_tests) tests/charwd-r.pl tests/charwd-v.vpl \
tests/level1.opl tests/Cherokee.pl tests/OCherokee.ovp \
- tests/repeat.opl tests/repeated.opl tests/sample.out \
- tests/sample.ovp tests/sample0-h.opl tests/specialhex.ovp
+ tests/realnum.opl tests/realnum.out tests/repeat.opl \
+ tests/repeated.opl tests/sample.out tests/sample.ovp \
+ tests/sample0-h.opl tests/specialhex.ovp
all: all-am
.SUFFIXES:
diff --git a/Build/source/texk/web2c/omegafonts/pl-lexer.c b/Build/source/texk/web2c/omegafonts/pl-lexer.c
index e75f0436d3f..f91560b9ea8 100644
--- a/Build/source/texk/web2c/omegafonts/pl-lexer.c
+++ b/Build/source/texk/web2c/omegafonts/pl-lexer.c
@@ -389,14 +389,14 @@ struct yy_trans_info
};
static yyconst flex_int16_t yy_acclist[265] =
{ 0,
- 9, 9, 206, 204, 205, 1, 204, 205, 2, 205,
- 3, 204, 205, 4, 204, 205, 204, 205, 204, 205,
+ 206, 204, 205, 1, 204, 205, 2, 205, 3, 204,
+ 205, 4, 204, 205, 204, 205, 204, 205, 204, 205,
204, 205, 204, 205, 204, 205, 204, 205, 204, 205,
204, 205, 204, 205, 204, 205, 204, 205, 204, 205,
204, 205, 204, 205, 204, 205, 204, 205, 204, 205,
204, 205, 204, 205, 204, 205, 204, 205, 204, 205,
- 204, 205, 1, 180, 42, 8, 8, 6, 179, 7,
- 31, 44, 102, 41, 5, 107, 9, 43, 40, 46,
+ 1, 180, 9, 42, 8, 8, 6, 179, 7, 31,
+ 44, 102, 41, 5, 107, 9, 9, 43, 40, 46,
171, 23, 178, 151, 45, 77, 78, 79, 106, 75,
9, 150, 33, 32, 85, 86, 82, 83, 84, 181,
@@ -422,22 +422,22 @@ static yyconst flex_int16_t yy_acclist[265] =
static yyconst flex_int16_t yy_accept[801] =
{ 0,
- 1, 2, 3, 4, 6, 9, 11, 14, 17, 19,
- 21, 23, 25, 27, 29, 31, 33, 35, 37, 39,
- 41, 43, 45, 47, 49, 51, 53, 55, 57, 59,
- 61, 63, 64, 64, 64, 64, 64, 64, 64, 64,
+ 1, 1, 1, 2, 4, 7, 9, 12, 15, 17,
+ 19, 21, 23, 25, 27, 29, 31, 33, 35, 37,
+ 39, 41, 43, 45, 47, 49, 51, 53, 55, 57,
+ 59, 61, 62, 62, 62, 62, 62, 62, 62, 62,
+ 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
+ 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
+ 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
+ 63, 63, 63, 63, 63, 63, 63, 64, 64, 64,
64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
- 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
- 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
- 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
- 65, 65, 65, 65, 65, 65, 65, 66, 66, 67,
+ 64, 64, 64, 64, 64, 64, 64, 65, 65, 66,
+ 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
- 69, 70, 70, 70, 70, 71, 71, 71, 72, 72,
- 73, 74, 75, 75, 75, 75, 75, 75, 75, 75,
- 76, 76, 76, 76, 77, 77, 77, 77, 78, 78,
+ 68, 69, 69, 69, 69, 70, 70, 70, 71, 71,
+ 72, 73, 74, 74, 74, 74, 74, 74, 74, 74,
+ 75, 75, 75, 75, 76, 76, 76, 76, 77, 78,
79, 79, 79, 79, 79, 79, 79, 79, 79, 79,
79, 79, 79, 79, 79, 80, 80, 80, 80, 80,
80, 81, 81, 81, 81, 81, 81, 81, 81, 81,
diff --git a/Build/source/texk/web2c/omegafonts/pl-lexer.l b/Build/source/texk/web2c/omegafonts/pl-lexer.l
index 7f9c719eea2..35eb0bf791f 100644
--- a/Build/source/texk/web2c/omegafonts/pl-lexer.l
+++ b/Build/source/texk/web2c/omegafonts/pl-lexer.l
@@ -69,7 +69,7 @@ ws [ \t]+
hexnumber H{ws}[A-F0-9]+
octnumber O{ws}[0-7]+
decnumber D{ws}[0-9]+
-realnumber R[ \t+-]+[0-9]*("."[0-9]*){0,1}
+realnumber R[ \t+-]+[0-9]*("."[0-9]*)?
charnumber C{ws}.
%%
diff --git a/Build/source/texk/web2c/omegafonts/realnum.test b/Build/source/texk/web2c/omegafonts/realnum.test
new file mode 100755
index 00000000000..705493de65f
--- /dev/null
+++ b/Build/source/texk/web2c/omegafonts/realnum.test
@@ -0,0 +1,17 @@
+#! /bin/sh
+
+# Copyright (C) 2012 Peter Breitenlohner <tex-live@tug.org>
+# You may freely use, modify and/or distribute this file.
+
+test -d tests || mkdir -p tests
+
+TEXMFCNF=$srcdir/../../kpathsea
+OFMFONTS=tests
+export TEXMFCNF OFMFONTS
+
+./omfonts -opl2ofm -verbose $srcdir/tests/realnum tests/xrealnum || exit 1
+
+./omfonts -ofm2opl -verbose xrealnum tests/xrealnum || exit 1
+
+diff $srcdir/tests/realnum.out tests/xrealnum.opl || exit 1
+
diff --git a/Build/source/texk/web2c/omegafonts/tests/realnum.opl b/Build/source/texk/web2c/omegafonts/tests/realnum.opl
new file mode 100644
index 00000000000..94a4ea43c69
--- /dev/null
+++ b/Build/source/texk/web2c/omegafonts/tests/realnum.opl
@@ -0,0 +1,14 @@
+(DESIGNSIZE R 10.0)
+(CHARACTER C A
+ (COMMENT the R must be followed by a space, tab, or sign)
+ (CHARWD R )
+ (CHARHT R 1.0)
+ (CHARDP R 0.1)
+ (CHARIC R+1)
+ )
+(CHARACTER C B
+ (CHARWD R .)
+ (CHARHT R 1.)
+ (CHARDP R .1)
+ (CHARIC R--1)
+ )
diff --git a/Build/source/texk/web2c/omegafonts/tests/realnum.out b/Build/source/texk/web2c/omegafonts/tests/realnum.out
new file mode 100644
index 00000000000..c6b56b6a6bf
--- /dev/null
+++ b/Build/source/texk/web2c/omegafonts/tests/realnum.out
@@ -0,0 +1,37 @@
+(FAMILY UNSPECIFIED)
+(FACE F MRR)
+(CODINGSCHEME UNSPECIFIED)
+(DESIGNSIZE R 10.0)
+(COMMENT DESIGNSIZE IS IN POINTS)
+(COMMENT OTHER SIZES ARE MULTIPLES OF DESIGNSIZE)
+(CHECKSUM H 0)
+(FONTDIMEN
+ )
+(COMMENT
+ (CHARWD_ENTRY D 0 R 0.0)
+ (CHARWD_ENTRY D 1 R 0.0)
+ )
+(COMMENT
+ (CHARHT_ENTRY D 0 R 0.0)
+ (CHARHT_ENTRY D 1 R 1.0)
+ )
+(COMMENT
+ (CHARDP_ENTRY D 0 R 0.0)
+ (CHARDP_ENTRY D 1 R 0.1)
+ )
+(COMMENT
+ (CHARIC_ENTRY D 0 R 0.0)
+ (CHARIC_ENTRY D 1 R 1.0)
+ )
+(CHARACTER H 41
+ (CHARWD R 0.0)
+ (CHARHT R 1.0)
+ (CHARDP R 0.1)
+ (CHARIC R 1.0)
+ )
+(CHARACTER H 42
+ (CHARWD R 0.0)
+ (CHARHT R 1.0)
+ (CHARDP R 0.1)
+ (CHARIC R 1.0)
+ )
diff --git a/Build/source/texk/web2c/omegaware/ChangeLog b/Build/source/texk/web2c/omegaware/ChangeLog
index 299ca6c1704..bce4803320c 100644
--- a/Build/source/texk/web2c/omegaware/ChangeLog
+++ b/Build/source/texk/web2c/omegaware/ChangeLog
@@ -1,3 +1,11 @@
+2012-01-24 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * opl2ofm.web, ovp2ovf.web: Interpret "--" as "+", not "-".
+
+ * realnum.test, tests/realnum.opl, tests/realnum.out (new):
+ Shell script and data for a new test.
+ * am/omegaware.am: Add the new test.
+
2012-01-22 Peter Breitenlohner <peb@mppmu.mpg.de>
* ofm2opl.web, ovf2ovp.web: Add missing space in error message.
diff --git a/Build/source/texk/web2c/omegaware/am/omegaware.am b/Build/source/texk/web2c/omegaware/am/omegaware.am
index a264f5bf776..484b8446c86 100644
--- a/Build/source/texk/web2c/omegaware/am/omegaware.am
+++ b/Build/source/texk/web2c/omegaware/am/omegaware.am
@@ -1,6 +1,6 @@
## texk/web2c/omegaware/am/omegaware.am: Makefile fragment for omegaware web programs.
##
-## Copyright (C) 2009-2011 Peter Breitenlohner <tex-live@tug.org>
+## Copyright (C) 2009-2012 Peter Breitenlohner <tex-live@tug.org>
## You may freely use, modify and/or distribute this file.
omegaware_tools = odvicopy odvitype otangle
@@ -101,7 +101,7 @@ DISTCLEANFILES += ovp2ovf.web
OTANGLE_tests = omegaware/odvicopy.test omegaware/odvitype.test \
omegaware/otangle.test
OMFONTS_tests = omegaware/level1.test omegaware/ofonts.test \
- omegaware/omfonts.test omegaware/repeat.test \
+ omegaware/omfonts.test omegaware/realnum.test omegaware/repeat.test \
omegaware/selectfont.test omegaware/specialhex.test
EXTRA_DIST += $(OTANGLE_tests) $(OMFONTS_tests)
@@ -146,6 +146,9 @@ DISTCLEANFILES += omegaware/tests/Cherokee.tfm omegaware/tests/OCherokee.ofm \
omegaware/tests/xCherokee.* omegaware/tests/xOCherokee.*
## omegaware/otangle.test
DISTCLEANFILES += cftest.p
+## omegaware/realnum.test
+EXTRA_DIST += omegaware/tests/realnum.opl omegaware/tests/realnum.out
+DISTCLEANFILES += omegaware/tests/xrealnum.*
## omegaware/repeat.test
EXTRA_DIST += omegaware/tests/repeat.opl omegaware/tests/repeated.opl
DISTCLEANFILES += omegaware/tests/xrepeated.*
diff --git a/Build/source/texk/web2c/omegaware/opl2ofm.web b/Build/source/texk/web2c/omegaware/opl2ofm.web
index 89a591d8666..9d0dd6f93f4 100644
--- a/Build/source/texk/web2c/omegaware/opl2ofm.web
+++ b/Build/source/texk/web2c/omegaware/opl2ofm.web
@@ -1433,7 +1433,7 @@ end;
@ @<Scan the blanks...@>=
repeat get_next;
if cur_char="-" then begin
- cur_char:=" "; negative:=true;
+ cur_char:=" "; negative:=not negative;
end
else if cur_char="+" then cur_char:=" ";
until cur_char<>" "
diff --git a/Build/source/texk/web2c/omegaware/ovp2ovf.web b/Build/source/texk/web2c/omegaware/ovp2ovf.web
index ad9def4bf73..63c2977fba2 100644
--- a/Build/source/texk/web2c/omegaware/ovp2ovf.web
+++ b/Build/source/texk/web2c/omegaware/ovp2ovf.web
@@ -1711,7 +1711,7 @@ end;
@ @<Scan the blanks...@>=
repeat get_next;
if cur_char="-" then begin
- cur_char:=" "; negative:=true;
+ cur_char:=" "; negative:=not negative;
end
else if cur_char="+" then cur_char:=" ";
until cur_char<>" "
diff --git a/Build/source/texk/web2c/omegaware/realnum.test b/Build/source/texk/web2c/omegaware/realnum.test
new file mode 100755
index 00000000000..d0ea71e6e2d
--- /dev/null
+++ b/Build/source/texk/web2c/omegaware/realnum.test
@@ -0,0 +1,19 @@
+#! /bin/sh
+
+# Copyright (C) 2012 Peter Breitenlohner <tex-live@tug.org>
+# You may freely use, modify and/or distribute this file.
+
+tests=omegaware/tests
+
+test -d $tests || mkdir -p $tests
+
+TEXMFCNF=$srcdir/../kpathsea
+OFMFONTS=./$tests
+export TEXMFCNF OFMFONTS
+
+./opl2ofm -verbose $srcdir/$tests/realnum $tests/xrealnum || exit 1
+
+./ofm2opl -verbose xrealnum $tests/xrealnum || exit 1
+
+diff $srcdir/$tests/realnum.out $tests/xrealnum.opl || exit 1
+
diff --git a/Build/source/texk/web2c/omegaware/tests/realnum.opl b/Build/source/texk/web2c/omegaware/tests/realnum.opl
new file mode 100644
index 00000000000..fbe0975ece9
--- /dev/null
+++ b/Build/source/texk/web2c/omegaware/tests/realnum.opl
@@ -0,0 +1,14 @@
+(DESIGNSIZE R 10.0)
+(CHARACTER C A
+ (COMMENT no space, tab, or sign required after R)
+ (CHARWD R)
+ (CHARHT R 1.0)
+ (CHARDP R 0.1)
+ (CHARIC R+1)
+ )
+(CHARACTER C B
+ (CHARWD R .)
+ (CHARHT R 1.)
+ (CHARDP R .1)
+ (CHARIC R--1)
+ )
diff --git a/Build/source/texk/web2c/omegaware/tests/realnum.out b/Build/source/texk/web2c/omegaware/tests/realnum.out
new file mode 100644
index 00000000000..83fdc2bf093
--- /dev/null
+++ b/Build/source/texk/web2c/omegaware/tests/realnum.out
@@ -0,0 +1,20 @@
+(FAMILY UNSPECIFIED)
+(FACE F MRR)
+(CODINGSCHEME UNSPECIFIED)
+(DESIGNSIZE R 10.0)
+(COMMENT DESIGNSIZE IS IN POINTS)
+(COMMENT OTHER SIZES ARE MULTIPLES OF DESIGNSIZE)
+(CHECKSUM H 3996EA86)
+(SEVENBITSAFEFLAG TRUE)
+(CHARACTER H 41
+ (CHARWD R 0.0)
+ (CHARHT R 1.0)
+ (CHARDP R 0.1)
+ (CHARIC R 1.0)
+ )
+(CHARACTER H 42
+ (CHARWD R 0.0)
+ (CHARHT R 1.0)
+ (CHARDP R 0.1)
+ (CHARIC R 1.0)
+ )
diff --git a/Build/source/texk/web2c/pltotf.ch b/Build/source/texk/web2c/pltotf.ch
index c75a73ddb97..100c74248b1 100644
--- a/Build/source/texk/web2c/pltotf.ch
+++ b/Build/source/texk/web2c/pltotf.ch
@@ -112,6 +112,12 @@ begin while loc=limit do fill_buffer;
begin cur_char:=xord[buffer[loc+1]];
@z
+@x [63] Interpret '--' as '+', not '-'.
+ begin cur_char:=" "; negative:=true;
+@y
+ begin cur_char:=" "; negative:=not negative;
+@z
+
@x [79] `index' might be a library routine.
|k|th element of its list.
@y
diff --git a/Build/source/texk/web2c/vptovf.ch b/Build/source/texk/web2c/vptovf.ch
index 2c859b76ee7..8c62af94142 100644
--- a/Build/source/texk/web2c/vptovf.ch
+++ b/Build/source/texk/web2c/vptovf.ch
@@ -106,6 +106,12 @@ begin while loc=limit do fill_buffer;
begin cur_char:=xord[buffer[loc+1]];
@z
+@x [73] Interpret '--' as '+', not '-'.
+ begin cur_char:=" "; negative:=true;
+@y
+ begin cur_char:=" "; negative:=not negative;
+@z
+
% [89] `index' is not a good choice for an identifier on Unix systems.
% Neither is `class', on AIX.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%