aboutsummaryrefslogtreecommitdiffstats
path: root/src/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'src/ChangeLog')
-rw-r--r--src/ChangeLog83
1 files changed, 83 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 3eaf1e326b5..6d300875518 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,86 @@
12011-04-10 Paul Eggert <eggert@cs.ucla.edu>
2
3 Fix more problems found by GCC 4.6.0's static checks.
4
5 * xdisp.c (vmessage): Use a better test for character truncation.
6
7 * charset.c (load_charset_map): <, not <=, for optimization,
8 and to avoid potential problems with integer overflow.
9 * chartab.c (sub_char_table_set_range, char_table_set_range): Likewise.
10 * casetab.c (set_identity, shuffle): Likewise.
11 * editfns.c (Fformat): Likewise.
12 * syntax.c (skip_chars): Likewise.
13
14 * xmenu.c (set_frame_menubar): Allocate smaller local vectors.
15 This also lets GCC 4.6.0 generate slightly better loop code.
16
17 * callint.c (Fcall_interactively): <, not <=, for optimization.
18 (Fcall_interactively): Count the number of arguments produced,
19 not the number of arguments given. This is simpler and lets GCC
20 4.6.0 generate slightly better code.
21
22 * ftfont.c: Distingish more carefully between FcChar8 and char.
23 The previous code passed unsigned char * to a functions like
24 strlen and xstrcasecmp that expect char *, which does not
25 conform to the C standard.
26 (get_adstyle_property, ftfont_pattern_entity): Use FcChar8 for
27 arguments to FcPatternGetString, and explicitly cast FcChar8 * to
28 char * when the C standard requires it.
29
30 * keyboard.c (read_char): Remove unused var.
31
32 * eval.c: Port to Windows vsnprintf (Bug#8435).
33 Include <limits.h>.
34 (SIZE_MAX): Define if the headers do not.
35 (verror): Do not give up if vsnprintf returns a negative count.
36 Instead, grow the buffer. This ports to Windows vsnprintf, which
37 does not conform to C99. Problem reported by Eli Zaretskii.
38 Also, simplify the allocation scheme, by avoiding the need for
39 calling realloc, and removing the ALLOCATED variable.
40
41 * eval.c (verror): Initial buffer size is 4000 (not 200) bytes.
42
43 Remove invocations of doprnt, as Emacs now uses vsnprintf.
44 But keep the doprint source code for now, as we might revamp it
45 and use it again (Bug#8435).
46 * lisp.h (doprnt): Remove.
47 * Makefile.in (base_obj): Remove doprnt.o.
48 * deps.mk (doprnt.o): Remove.
49
50 error: Print 32- and 64-bit integers portably (Bug#8435).
51 Without this change, on typical 64-bit hosts error ("...%d...", N)
52 was used to print both 32- and 64-bit integers N, which relied on
53 undefined behavior.
54 * lisp.h, src/m/amdx86-64.h, src/m/ia64.h, src/m/ibms390x.h (pEd):
55 New macro.
56 * lisp.h (error, verror): Mark as printf-like functions.
57 * eval.c (verror): Use vsnprintf, not doprnt, to do the real work.
58 Report overflow in size calculations when allocating printf buffer.
59 Do not truncate output string at its first null byte.
60 * xdisp.c (vmessage): Use vsnprintf, not doprnt, to do the real work.
61 Truncate the output at a character boundary, since vsnprintf does not
62 do that.
63 * charset.c (check_iso_charset_parameter): Convert internal
64 character to string before calling 'error', since %c now has the
65 printf meaning.
66 * coding.c (Fdecode_sjis_char, Fdecode_big5_char): Avoid int
67 overflow when computing char to be passed to 'error'. Do not
68 pass Lisp_Object to 'error'; pass the integer instead.
69 * nsfns.m (Fns_do_applescript): Use int, not long, since it's
70 formatted with plain %d.
71
72 * eval.c (internal_lisp_condition_case): Don't pass spurious arg.
73
74 * keyboard.c (access_keymap_keyremap): Print func name, not garbage.
75
76 * coding.c (Fdecode_sjis_char): Don't assume CODE fits in int.
77
78 * xterm.c (x_catch_errors): Remove duplicate declaration.
79
80 * term.c (maybe_fatal): Mark its 3rd arg as a printf format, too.
81
82 * xdisp.c, lisp.h (message_nolog): Remove; unused.
83
12011-04-10 Jim Meyering <meyering@redhat.com> 842011-04-10 Jim Meyering <meyering@redhat.com>
2 85
3 use ssize_t and size_t for read- and write-like emacs_gnutls_* functions 86 use ssize_t and size_t for read- and write-like emacs_gnutls_* functions