aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorArslaan Pathan <[email protected]>2026-01-21 21:11:14 +1300
committerArslaan Pathan <[email protected]>2026-01-21 21:11:14 +1300
commit1205f476a04327530e2e532e201da5bbb9917d9d (patch)
tree681811c89c3203a9ab8582b7269cd1d2f505f444 /src
parent2ccc6ba64ca26c627d3c8127d09b64e69ccbc977 (diff)
downloadpython-0.9.1-patched-QoL-1205f476a04327530e2e532e201da5bbb9917d9d.tar.xz
python-0.9.1-patched-QoL-1205f476a04327530e2e532e201da5bbb9917d9d.zip
Add QoL improvements and improve the README
Diffstat (limited to 'src')
-rw-r--r--src/Makefile32
-rw-r--r--src/intobject.c7
2 files changed, 37 insertions, 2 deletions
diff --git a/src/Makefile b/src/Makefile
index e1f21cc..6308b45 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -180,7 +180,6 @@ DEFPYTHONPATH= .:/usr/local/lib/python:/ufs/guido/lib/python:../lib
#RL_LIBS= $(LIBREADLINE) $(LIBALLOCA) $(LIBTERMCAP)
#RL_LIBDEPS= $(LIBREADLINE) $(LIBALLOCA)
-
# STDWIN Option
# =============
#
@@ -378,6 +377,9 @@ GENSOURCES= acceler.c fgetsintr.c grammar1.c \
firstsets.c grammar.c metagrammar.c pgen.c \
pgenmain.c printgrammar.c
+# patched by Arslaan Pathan 2026-01-21
+# use -std=c89 so it compiles with modern cc/gcc
+CFLAGS="-std=c89"
# Main Targets
# ============
@@ -505,3 +507,31 @@ glmodule.c: cstubs cgen
#graminit.c graminit.h: Grammar python_gen
# python_gen Grammar
+
+
+# ALL CODE PAST HERE IS NOT WRITTEN NOR ENDORSED
+# BY THE PYTHON SOFTWARE FOUNDATION,
+# THE STICHTING MATHEMATISCH CENTRUM,
+# THE CWI,
+# OR ANY OF IT'S/THEIR SUBSIDIARIES
+
+# make install target added by Arslaan Pathan
+# 2026-01-21
+# installs into /opt/python091 by default
+
+INSTALL_DIR = /opt/python091
+
+install: python
+ install -d $(INSTALL_DIR)
+ install -d $(INSTALL_DIR)/bin
+ install -d $(INSTALL_DIR)/lib
+ install -m 755 python $(INSTALL_DIR)/bin/py091
+ install -m 644 ../lib/* $(INSTALL_DIR)/lib
+ @echo
+ @echo "----- Python 0.9.1 (patched, QoL improvements) -----"
+ @echo "----- by Arslaan Pathan -----"
+ @echo "Installed python 0.9.1 to $(INSTALL_DIR)"
+ @echo "Note: you may need to add $(INSTALL_DIR)/bin to your PATH"
+ @echo "Run the py091 command to get started!"
+
+
diff --git a/src/intobject.c b/src/intobject.c
index 6c700e8..e4ae02b 100644
--- a/src/intobject.c
+++ b/src/intobject.c
@@ -183,6 +183,8 @@ int_sub(v, w)
return newintobject(x);
}
+/* int_mul patched by Arslaan Pathan on 2026-01-21
+ to fix integer overflow on 64-bit systems */
static object *
int_mul(v, w)
intobject *v;
@@ -197,7 +199,10 @@ int_mul(v, w)
a = v->ob_ival;
b = ((intobject *)w) -> ob_ival;
x = (double)a * (double)b;
- if (x > 0x7fffffff || x < (double) (long) 0x80000000)
+ /* hardcode 32-bit integer limit as an integer
+ instead of using integer-width dependent
+ constants such as 0x7fffffff and 0x80000000 */
+ if (x > 2147483647 || x < (double) (long) -2147483648)
return err_ovf();
return newintobject(a * b);
}