Paul Eggert
35016e9a4e
* callproc.c (child_setup): Rewrite to avoid two strlen calls.
2011-06-19 11:40:02 -07:00
Paul Eggert
3d1e65a18a
* process.c (Fformat_network_address): Use EMACS_INT, not EMACS_UINT.
...
We prefer signed integers, even for size calculations.
2011-06-19 11:38:58 -07:00
Paul Eggert
0b963a931c
* emacs.c: Don't assume string length fits in 'int'.
...
(DEFINE_DUMMY_FUNCTION, sort_args): Use ptrdiff_t, not int.
(main): Don't invoke strlen when not needed.
2011-06-19 11:37:51 -07:00
Paul Eggert
573f4b5407
* dbusbind.c (XD_ERROR): Don't arbitrarily truncate string.
...
(XD_DEBUG_MESSAGE): Don't waste a byte.
2011-06-19 11:32:55 -07:00
Paul Eggert
989f33ba6b
* callproc.c: Don't assume string length fits in 'int.'
2011-06-19 11:30:19 -07:00
Paul Eggert
965d34ebb3
* buffer.c (init_buffer): Don't assume string length fits in 'int'.
2011-06-19 11:27:58 -07:00
Paul Eggert
f14ed477b8
* lread.c (string_to_number): Simplify the 2011-04-26 change by invoking xsignal1.
2011-06-18 18:35:03 -07:00
Paul Eggert
e4d29b3382
* lread.c (invalid_syntax): Omit length argument.
...
All uses changed. This doesn't fix a bug, but it simplifies the
code away from its former Hollerith-constant appearance, and it's
one less 'int' to worry about when looking at integer-overflow issues.
2011-06-18 18:31:41 -07:00
Paul Eggert
cbeff735d2
* lisp.h (make_fixnum_or_float): Remove unnecessary cast to EMACS_INT.
2011-06-18 17:11:45 -07:00
Paul Eggert
9f62aeb185
* lisp.h (LIST_END_P): Remove unused macro and its bogus comment.
2011-06-18 17:09:24 -07:00
Paul Eggert
eb49b13608
* lisp.h (DEFUN): Remove bogus use of sizeof (struct Lisp_Subr).
...
This didn't break anything, but it didn't help either.
It's confusing to put a bogus integer in a place where the actual
value does not matter.
2011-06-18 17:06:17 -07:00
Paul Eggert
9a8e8d9b22
* lisp.h (XSET) [USE_LISP_UNION_TYPE]: Use uintptr_t and intptr_t,
...
not EMACS_UINT and EMACS_INT, when converting pointer to integer.
This avoids a GCC warning when WIDE_EMACS_INT.
2011-06-18 12:13:46 -07:00
Paul Eggert
b61cc01c06
* lisp.h (struct Lisp_Bool_Vector.size): EMACS_INT, not EMACS_UINT.
...
We prefer signed types, and the value cannot exceed the EMACS_INT
range anyway (because otherwise the length would not be representable).
2011-06-18 12:08:22 -07:00
Paul Eggert
15375a22fb
* lisp.h (union Lisp_Object.i): EMACS_INT, not EMACS_UINT.
...
This is for consistency with the ordinary, non-USE_LISP_UNION_TYPE,
implementation.
2011-06-18 11:32:22 -07:00
Paul Eggert
8fcaf9cc81
* indent.c (Fcompute_motion): Don't assume hscroll and tab offset fit in int.
2011-06-18 11:29:19 -07:00
Paul Eggert
abe80cc6c1
* insdel.c: Omit unnecessary forward decls, to simplify future changes.
2011-06-18 11:28:32 -07:00
Paul Eggert
53b2623dc0
* indent.c (sane_tab_width): New function.
...
(current_column, scan_for_column, Findent_to, position_indentation)
(compute_motion): Use it. This is just for clarity.
2011-06-18 11:24:12 -07:00
Paul Eggert
45aebb6455
* image.c (xbm_image_p): Don't assume stated width and height fit in int.
2011-06-18 11:12:25 -07:00
Paul Eggert
f2ed8a7095
* lisp.h (lint_assume): New macro.
...
* composite.c (composition_gstring_put_cache):
* ftfont.c (ftfont_shape_by_flt): Use it to pacify GCC 4.6.0.
2011-06-18 11:09:17 -07:00
Paul Eggert
e1528d010f
* fns.c (Ffillarray): Don't shadow a local.
2011-06-18 09:45:23 -07:00
Paul Eggert
a9e860e1fd
* editfns.c: Omit unnecessary forward decls, to simplify future changes.
2011-06-18 09:20:05 -07:00
Paul Eggert
b02c740e9d
* ftfont.c (ftfont_shape_by_flt): Use signed integers for lengths.
2011-06-18 09:19:18 -07:00
Paul Eggert
ebc96716ca
* font.c (Ffont_shape_gstring): Don't assume glyph len fits in 'int'.
2011-06-18 09:15:19 -07:00
Paul Eggert
85461888af
* fns.c (mapcar1): Declare byte as byte, for clarity.
2011-06-18 09:10:16 -07:00
Paul Eggert
436b4815ed
* fns.c (Ffillarray): Use same idx as rest of code here.
2011-06-18 09:07:41 -07:00
Paul Eggert
a4cf38e4ba
* fns.c: Check that character arg fits in 'int'.
2011-06-18 09:04:07 -07:00
Paul Eggert
311d5d7cc6
* fns.c: Don't assume string byte-length fits in 'int'.
2011-06-18 09:02:03 -07:00
Paul Eggert
f03dc6ef9f
* fns.c: Use much-faster test for byte-length change.
2011-06-18 09:01:08 -07:00
Paul Eggert
b4e50fa0d0
* fns.c (Ffillarray): Don't assume bool vector size fits in 'int'.
2011-06-18 08:57:22 -07:00
Paul Eggert
c0c1ee9f77
* alloc.c (Fmake_bool_vector): Avoid unnecessary multiplication.
2011-06-18 08:39:24 -07:00
Paul Eggert
a498d7f4f8
* fns.c (concat): Catch string overflow earlier.
...
Do not rely on integer wraparound.
2011-06-18 08:08:31 -07:00
Paul Eggert
e39e811eb8
* dispextern.h (struct it.overlay_strings_charpos): EMACS_INT, not int.
2011-06-17 22:51:59 -07:00
Paul Eggert
8783097475
* dispextern.h (struct it.selective): Now EMACS_INT, not int.
...
* xdisp.c (forward_to_next_line_start)
(back_to_previous_visible_line_start)
(reseat_at_next_visible_line_start, next_element_from_buffer):
Don't arbitrarily truncate the value of 'selective' to int.
2011-06-17 12:55:19 -07:00
Paul Eggert
76031fad32
* xdisp.c (init_iterator): Use XINT, not XFASTINT; it might be < 0.
2011-06-17 12:49:04 -07:00
Paul Eggert
7d100a81b7
* composite.c (get_composition_id, composition_gstring_put_cache): Use EMACS_INT,
...
not EMACS_UINT, for indexes.
2011-06-17 12:45:29 -07:00
Paul Eggert
5eb55db987
* composite.c: Don't truncate sizes to 'int'.
...
(composition_gstring_p, composition_reseat_it)
(composition_adjust_point): Use EMACS_INT, not int.
2011-06-17 01:27:36 -07:00
Paul Eggert
0703a71782
* category.h (CATEGORY_SET_P): Remove unnecessary cast to EMACS_INT.
2011-06-17 01:17:29 -07:00
Paul Eggert
d6202519ae
* buffer.c: Include <verify.h>.
...
(init_buffer_once): Check at compile-time, not run-time.
2011-06-17 01:14:30 -07:00
Paul Eggert
67c36fce59
* buffer.c (record_overlay_string): Check for size-calculation overflow.
...
(struct sortstrlist.size, struct sortlist.used): Don't truncate size to int.
2011-06-17 01:10:34 -07:00
Paul Eggert
93cb6be35e
* buffer.c (struct sortstr.size, record_overlay_string): Don't truncate size to int.
2011-06-17 00:57:42 -07:00
Paul Eggert
c20998a717
* buffer.c (compare_overlays, cmp_for_strings): Avoid subtraction overflow.
2011-06-17 00:52:35 -07:00
Paul Eggert
8961a454e1
* buffer.c (struct sortstr.priority): Now EMACS_INT, not int.
2011-06-17 00:49:50 -07:00
Paul Eggert
fadf4e3008
* buffer.c (struct sortvec.priority): Now EMACS_INT, not int.
2011-06-17 00:47:18 -07:00
Martin Rudalics
dbad4f694d
Fix two typos in same-window-p.
...
* window.el (same-window-p): Fix two typos introduced when
adding with-no-warnings.
2011-06-17 08:04:44 +02:00
Paul Eggert
bf4846e712
* m4/lstat.m4: Merge from gnulib (Bug#8878).
2011-06-16 16:10:17 -07:00
Paul Eggert
dd3482fe59
* lisp.h: Include <limits.h>, for INT_MAX, LONG_MAX, LLONG_MAX.
...
Without this, prin1 mishandles Lisp_Misc_Save_Value printing on
hosts with pre-C99 libraries, because pD is wrongly defined to "t".
2011-06-16 15:50:46 -07:00
Paul Eggert
393d71f34c
Improve buffer-overflow checking (Bug#8873).
2011-06-16 14:25:42 -07:00
Paul Eggert
4847e3f0a9
Merge from trunk.
2011-06-16 14:19:55 -07:00
Paul Eggert
1c8e352f7e
Improve buffer-overflow checking.
...
* fileio.c (Finsert_file_contents):
* insdel.c (insert_from_buffer_1, replace_range, replace_range_2):
Remove the old (too-loose) buffer overflow checks.
They weren't needed, since make_gap checks for buffer overflow.
* insdel.c (make_gap_larger): Catch buffer overflows that were missed.
The old code merely checked for Emacs fixnum overflow, and relied
on undefined (wraparound) behavior. The new code avoids undefined
behavior, and also checks for ptrdiff_t and/or size_t overflow.
2011-06-16 14:18:12 -07:00
Miles Bader
0cca0a78a4
configure.in: Try to determine CRT_DIR automatically when using gcc
2011-06-17 02:50:21 +09:00