summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ChangeLog2
-rw-r--r--src/puresize.h4
2 files changed, 6 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 312951457e4..cc6c01a4360 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -556,6 +556,8 @@
(conv_lisp_to_sockaddr): Don't assume fixnums fit into int.
(Faccept_process_output): Use duration_to_sec_usec to do proper
overflow checking on durations.
+ * puresize.h (PURESIZE_RATIO): Shrink this to 8/6 on 32-bit hosts
+ configured --with-wide-int.
* scroll.c (calculate_scrolling, calculate_direct_scrolling)
(line_ins_del): Use int, not EMACS_INT, where int is wide enough.
* search.c (looking_at_1, string_match_1):
diff --git a/src/puresize.h b/src/puresize.h
index c26c496a757..a1b7007805b 100644
--- a/src/puresize.h
+++ b/src/puresize.h
@@ -46,8 +46,12 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
/* Increase BASE_PURESIZE by a ratio depending on the machine's word size. */
#ifndef PURESIZE_RATIO
#if BITS_PER_EMACS_INT > 32
+#if PTRDIFF_MAX >> 31 != 0
#define PURESIZE_RATIO 10/6 /* Don't surround with `()'. */
#else
+#define PURESIZE_RATIO 8/6 /* Don't surround with `()'. */
+#endif
+#else
#define PURESIZE_RATIO 1
#endif
#endif