Applied icalendar patches from Niels Giesen.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
f61f41d7
PE
12011-04-27 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
2
3 * buffer.c (init_buffer) [USE_MMAP_FOR_BUFFERS]: Adjust to aliasing
4 change.
5
96fb4434
PE
62011-04-27 Paul Eggert <eggert@cs.ucla.edu>
7
8 * nsmenu.m: Replace all uses of XVECTOR with ASIZE and AREF.
9 This makes this file independent of the recent pseudovector change.
10
671875da 112011-04-26 Paul Eggert <eggert@cs.ucla.edu>
eab3844f 12
69e9b5a3
PE
13 * keyboard.c (handle_user_signal): Fix pointer signedness problem.
14
b5f869a7 15 * gnutls.c (emacs_gnutls_handle_error): Remove unused local.
7754e151 16 (Fgnutls_boot): gnutls_certificate_verify_peers2 wants unsigned *.
8d4c3955 17 Remove unused local.
c8926152 18 (emacs_gnutls_write): Don't use uninitialized rtnval if nbyte <= 0.
080e5a8d 19
847ab9d1 20 lisp.h: Fix a problem with aliasing and vector headers. (Bug#8546)
eab3844f
PE
21 GCC 4.6.0 optimizes based on type-based alias analysis. For
22 example, if b is of type struct buffer * and v of type struct
23 Lisp_Vector *, then gcc -O2 was incorrectly assuming that &b->size
24 != &v->size, and therefore "v->size = 1; b->size = 2; return
25 v->size;" must therefore return 1. This assumption is incorrect
26 for Emacs, since it type-puns struct Lisp_Vector * with many other
27 types. To fix this problem, this patch adds a new type struct
f904488f 28 vectorlike_header that documents the constraints on layout of vectors
eab3844f
PE
29 and pseudovectors, and helps optimizing compilers not get fooled
30 by Emacs's type punning. It also adds the macros XSETTYPED_PVECTYPE
31 XSETTYPED_PSEUDOVECTOR, TYPED_PSEUDOVECTORP, for similar reasons.
f904488f
PE
32 * lisp.h (XSETTYPED_PVECTYPE): New macro, specifying the name of
33 the size member.
eab3844f
PE
34 (XSETPVECTYPE): Rewrite in terms of new macro.
35 (XSETPVECTYPESIZE): New macro, specifying both type and size.
36 This is a bit clearer, and further avoids the possibility of
37 undesirable aliasing.
38 (XSETTYPED_PSEUDOVECTOR): New macro, specifying the size.
f904488f 39 (XSETPSEUDOVECTOR): Rewrite in terms of XSETTYPED_PSEUDOVECTOR.
eab3844f
PE
40 (XSETSUBR): Rewrite in terms of XSETTYPED_PSEUDOVECTOR and XSIZE,
41 since Lisp_Subr is a special case (no "next" field).
f904488f
PE
42 (ASIZE): Now uses header.size rather than size. All
43 previous uses of XVECTOR (foo)->size replaced to use this macro,
44 to avoid the hassle of writing XVECTOR (foo)->header.size.
45 (struct vectorlike_header): New type.
eab3844f
PE
46 (TYPED_PSEUDOVECTORP): New macro, also specifying the C type of the
47 object, to help avoid aliasing.
48 (PSEUDOVECTORP): Rewrite in terms of TYPED_PSEUDOVECTORP.
49 (SUBRP): Likewise, since Lisp_Subr is a special case.
50 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table):
51 (struct Lisp_Sub_Char_Table, struct Lisp_Bool_Vector):
52 (struct Lisp_Hash_Table): Combine first two members into a single
f904488f 53 struct vectorlike_header member. All uses of "size" and "next" members
eab3844f
PE
54 changed to be "header.size" and "header.next".
55 * buffer.h (struct buffer): Likewise.
56 * font.h (struct font_spec, struct font_entity, struct font): Likewise.
57 * frame.h (struct frame): Likewise.
58 * process.h (struct Lisp_Process): Likewise.
59 * termhooks.h (struct terminal): Likewise.
60 * window.c (struct save_window_data, struct saved_window): Likewise.
61 * window.h (struct window): Likewise.
62 * alloc.c (allocate_buffer, Fmake_bool_vector, allocate_pseudovector):
63 Use XSETPVECTYPESIZE, not XSETPVECTYPE, to avoid aliasing problems.
64 * buffer.c (init_buffer_once): Likewise.
65 * lread.c (defsubr): Use XSETTYPED_PVECTYPE, since Lisp_Subr is a
66 special case.
67 * process.c (Fformat_network_address): Use local var for size,
68 for brevity.
69
0df1eac5
PE
70 * bytecode.c (exec_byte_code): Don't use XVECTOR before CHECK_VECTOR.
71
847ab9d1 72 Make the Lisp reader and string-to-float more consistent (Bug#8525)
452f4150
PE
73 * data.c (atof): Remove decl; no longer used or needed.
74 (digit_to_number): Move to lread.c.
75 (Fstring_to_number): Use new string_to_number function, to be
76 consistent with how the Lisp reader treats infinities and NaNs.
77 Do not assume that floating-point numbers represent EMACS_INT
78 without losing information; this is not true on most 64-bit hosts.
79 Avoid double-rounding errors, by insisting on integers when
80 parsing non-base-10 numbers, as the documentation specifies.
81 * lisp.h (string_to_number): New decl, replacing ...
82 (isfloat_string): Remove.
bc0a5c13 83 * lread.c: Include <inttypes.h>, for uintmax_t and strtoumax.
d78050d6 84 (read1): Do not accept +. and -. as integers; this
452f4150
PE
85 appears to have been a coding error. Similarly, do not accept
86 strings like +-1e0 as floating point numbers. Do not report
87 overflow for integer overflows unless the base is not 10 which
88 means we have no simple and reliable way to continue.
89 Break out the floating-point parsing into a new
90 function string_to_number, so that Fstring_to_number parses
91 floating point numbers consistently with the Lisp reader.
92 (digit_to_number): Moved here from data.c. Make it static inline.
93 (E_CHAR, EXP_INT): Remove, replacing with ...
94 (E_EXP): New macro, to solve the "1.0e+" problem mentioned below.
95 (string_to_number): New function, replacing isfloat_string.
96 This function checks for valid syntax and produces the resulting
97 Lisp float number too. Rework it so that string-to-number
bc0a5c13 98 no longer mishandles examples like "1.0e+". Use strtoumax,
d78050d6
PE
99 so that overflow for non-base-10 numbers is reported only when
100 there's no portable and simple way to convert to floating point.
452f4150 101
67769ffc
PE
102 * textprop.c (set_text_properties_1): Rewrite for clarity,
103 and to avoid GCC warning about integer overflow.
104
c20db43f
PE
105 * intervals.h (struct interval): Use EMACS_INT for members
106 where EMACS_UINT might cause problems. See
107 <http://lists.gnu.org/archive/html/emacs-devel/2011-04/msg00514.html>.
108 (CHECK_TOTAL_LENGTH): Remove cast to EMACS_INT; no longer needed.
109 * intervals.c (interval_deletion_adjustment): Now returns EMACS_INT.
110 All uses changed.
37aa2f85
PE
111 (offset_intervals): Tell GCC not to worry about length overflow
112 when negating a negative length.
c20db43f 113
2538aa2f
PE
114 * alloc.c (overrun_check_malloc, overrun_check_realloc): Now static.
115 (overrun_check_free): Likewise.
116
f2d3008d
PE
117 * alloc.c (SDATA_SIZE) [!GC_CHECK_STRING_BYTES]: Avoid runtime check
118 in the common case where SDATA_DATA_OFFSET is a multiple of Emacs
119 word size.
120
ec8df744
PE
121 * gnutls.c: Fix problems found by GCC 4.6.0 on Ubuntu 10.10.
122 (gnutls_make_error): Rename local to avoid shadowing.
123 (gnutls_emacs_global_deinit): ifdef out; not used.
124 (Fgnutls_boot): Use const for pointer to readonly storage.
125 Comment out unused local. Fix pointer signedness problems.
126
640ee02d
PE
127 * lread.c (openp): Don't stuff size_t into an 'int'.
128 Use <= on length, not < on length + 1, to avoid GCC 4.6.0 warning
129 about possible signed overflow.
130
6048fb2a
PE
131 * gtkutil.c: Fix problems found by GCC 4.6.0 on Ubuntu 10.10.
132 (GDK_KEY_g): Don't define if already defined.
133 (xg_prepare_tooltip): Avoid pointer signedness problem.
134 (xg_set_toolkit_scroll_bar_thumb): Redo to avoid two casts.
135
fa3c87e1
PE
136 * process.c (Fnetwork_interface_info): Avoid left-shift undefined
137 behavior with 1 << 31. GCC 4.6.0 warns about this on 32-bit hosts.
138
2172544b
PE
139 * xfns.c (Fx_window_property): Simplify a bit,
140 to make a bit faster and to avoid GCC 4.6.0 warning.
141 * xselect.c (x_get_window_property, x_handle_dnd_message): Likewise.
142
9b821a21
PE
143 * fns.c (internal_equal): Don't assume size_t fits in int.
144
3c616cfa
PE
145 * alloc.c (compact_small_strings): Tighten assertion a little.
146
c2982e87
PE
147 Replace pEd with more-general pI, and fix some printf arg casts.
148 * lisp.h (pI): New macro, generalizing old pEd macro to other
149 conversion specifiers. For example, use "...%"pI"d..." rather
150 than "...%"pEd"...".
151 (pEd): Remove. All uses replaced with similar uses of pI.
152 * src/m/amdx86-64.h, src/m/ia64.h, src/m/ibms390x.h: Likewise.
153 * alloc.c (check_pure_size): Don't overflow by converting size to int.
154 * bidi.c (bidi_dump_cached_states): Use pI to avoid cast.
155 * data.c (Fnumber_to_string): Use pI instead of if-then-else-abort.
156 * dbusbind.c (xd_append_arg): Use pI to avoid cast.
157 (Fdbus_method_return_internal, Fdbus_method_error_internal): Likewise.
158 * font.c (font_unparse_xlfd): Avoid potential buffer overrun on
159 64-bit hosts.
160 (font_unparse_xlfd, font_unparse_fcname): Use pI to avoid casts.
161 * keyboard.c (record_char, modify_event_symbol): Use pI to avoid casts.
162 * print.c (safe_debug_print, print_object): Likewise.
163 (print_object): Don't overflow by converting EMACS_INT or EMACS_UINT
164 to int.
6f04d126
PE
165 Use pI instead of if-then-else-abort. Use %p to avoid casts,
166 avoiding the 0 flag, which is not portable.
c2982e87
PE
167 * process.c (Fmake_network_process): Use pI to avoid cast.
168 * region-cache.c (pp_cache): Likewise.
169 * xdisp.c (decode_mode_spec): Likewise.
170 * xrdb.c (x_load_resources) [USE_MOTIF]: Use pI to avoid undefined
171 behavior on 64-bit hosts with printf arg.
6f04d126 172 * xselect.c (x_queue_event): Use %p to avoid casts, avoiding 0 flag.
c2982e87
PE
173 (x_stop_queuing_selection_requests): Likewise.
174 (x_get_window_property): Don't truncate byte count to an 'int'
175 when tracing.
0b432f21 176
5e073ec7
PE
177 * frame.c (frame_name_fnn_p): Get rid of strtol, which isn't right
178 here, since it parses constructs like leading '-' and spaces,
179 which are not wanted; and it overflows with large numbers.
180 Instead, simply match F[0-9]+, which is what is wanted anyway.
181
36372bf9
PE
182 * alloc.c: Remove unportable assumptions about struct layout.
183 (SDATA_SELECTOR, SDATA_DATA_OFFSET): New macros.
184 (SDATA_OF_STRING, SDATA_SIZE, allocate_string_data):
185 (allocate_vectorlike, make_pure_vector): Use the new macros,
186 plus offsetof, to remove unportable assumptions about struct layout.
187 These assumptions hold on all porting targets that I know of, but
188 they are not guaranteed, they're easy to remove, and removing them
189 makes further changes easier.
190
0b432f21
PE
191 * alloc.c (BLOCK BYTES): Fix typo by changing "ablock" to "ablocks".
192 This doesn't fix a bug but makes the code clearer.
bfd1c781
PE
193 (string_overrun_cookie): Now const. Use initializers that
194 don't formally overflow signed char, to avoid warnings.
000098c1
PE
195 (allocate_string_data) [GC_CHECK_STRING_OVERRUN]: Fix typo that
196 can cause Emacs to crash when string overrun checking is enabled.
c7bda33c
PE
197 (allocate_buffer): Don't assume sizeof (struct buffer) is a
198 multiple of sizeof (EMACS_INT); it need not be, if
199 alignof(EMACS_INT) < sizeof (EMACS_INT).
d0f4e1f5 200 (check_sblock, check_string_bytes, check_string_free_list): Protoize.
0b432f21 201
895009e1
JB
2022011-04-26 Juanma Barranquero <lekktu@gmail.com>
203
204 * keyboard.c (QCrtl): Rename from Qrtl. All uses changed.
205
6a7a1b0b
TZ
2062011-04-26 Teodor Zlatanov <tzz@lifelogs.com>
207
208 * gnutls.c (emacs_gnutls_handshake): Return an error if we're not
b5f869a7 209 supposed to be handshaking. (Bug#8556)
6a7a1b0b
TZ
210 Reported by Paul Eggert <eggert@cs.ucla.edu>.
211
0438ce91
DC
2122011-04-26 Daniel Colascione <dan.colascione@gmail.com>
213
214 * lisp.h (Qdebug): List symbol.
895009e1 215 * eval.c (Qdebug): Restore global linkage.
0438ce91
DC
216 * keyboard.c (debug-on-event): New variable.
217 (handle_user_signal): Break into debugger when debug-on-event
218 matches the current signal symbol.
219
f2d3ba6f
DN
2202011-04-25 Dan Nicolaescu <dann@ics.uci.edu>
221
222 * alloc.c (check_sblock, check_string_bytes)
223 (check_string_free_list): Convert to standard C.
224
42ce4c63
TZ
2252011-04-25 Teodor Zlatanov <tzz@lifelogs.com>
226
227 * w32.c (emacs_gnutls_push): Fix typo.
228
825cd63c
EZ
2292011-04-25 Eli Zaretskii <eliz@gnu.org>
230
fb11d64d
EZ
231 * gnutls.c (emacs_gnutls_handshake): Avoid compiler warnings about
232 "cast to pointer from integer of different size".
233
825cd63c
EZ
234 Improve doprnt and its use in verror. (Bug#8545)
235 * doprnt.c (doprnt): Document the set of format control sequences
236 supported by the function. Use SAFE_ALLOCA instead of always
237 using `alloca'.
238
239 * eval.c (verror): Don't limit the buffer size at size_max-1, that
240 is one byte too soon. Don't use xrealloc; instead xfree and
241 xmalloc anew.
242
e061a11b
TZ
2432011-04-24 Teodor Zlatanov <tzz@lifelogs.com>
244
245 * gnutls.h: Add GNUTLS_STAGE_CALLBACKS enum to denote we're in the
246 callbacks stage.
247
248 * gnutls.c: Renamed global_initialized to
249 gnutls_global_initialized. Added internals for the
250 :verify-hostname-error, :verify-error, and :verify-flags
251 parameters of `gnutls-boot' and documented those parameters in the
252 docstring. Start callback support.
253 (emacs_gnutls_handshake): Add Woe32 support. Retry handshake
254 unless a fatal error occured. Call gnutls_alert_send_appropriate
255 on error. Return error code.
256 (emacs_gnutls_write): Call emacs_gnutls_handle_error.
257 (emacs_gnutls_read): Likewise.
258 (Fgnutls_boot): Return handshake error code.
259 (emacs_gnutls_handle_error): New function.
260 (wsaerror_to_errno): Likewise.
261
262 * w32.h (emacs_gnutls_pull): Add prototype.
263 (emacs_gnutls_push): Likewise.
264
265 * w32.c (emacs_gnutls_pull): New function for GnuTLS on Woe32.
266 (emacs_gnutls_push): Likewise.
267
2682011-04-24 Claudio Bley <claudio.bley@gmail.com> (tiny change)
269
270 * process.c (wait_reading_process_output): Check if GnuTLS
271 buffered some data internally if no FDs are set for TLS
272 connections.
273
274 * makefile.w32-in (OBJ2): Add gnutls.$(O).
275 (LIBS): Link to USER_LIBS.
276 ($(BLD)/gnutls.$(0)): New target.
277
fa6996bc
EZ
2782011-04-24 Eli Zaretskii <eliz@gnu.org>
279
eb35682e
EZ
280 * xdisp.c (handle_single_display_spec): Rename the
281 display_replaced_before_p argument into display_replaced_p, to
282 make it consistent with the commentary. Fix typos in the
283 commentary.
284
e2ad650c
EZ
285 * textprop.c (syms_of_textprop): Remove dead code.
286 (copy_text_properties): Delete obsolete commentary about an
287 interface that was deleted long ago. Fix typos in the description
288 of arguments.
289
1b2de274
EZ
290 * msdos.c (XMenuActivate, XMenuAddSelection): Adjust argument list
291 to changes in oldXMenu/XMenu.h from 2011-04-16.
292 <menu_help_message, prev_menu_help_message>: Constify.
293 (IT_menu_make_room): menu->help_text is now `const char **';
294 adjust.
295
296 * msdos.h (XMenuActivate, XMenuAddSelection): Adjust prototypes
297 to changes in oldXMenu/XMenu.h from 2011-04-16.
298 (struct XMenu): Declare `help_text' `const char **'.
299
300 * xfaces.c <Qunspecified>: Make extern again.
301
302 * syntax.c: Include sys/types.h before including regex.h, as
303 required by Posix.
304
762b15be
EZ
305 * doc.c (get_doc_string): Improve the format passed to `error'.
306
307 * doprnt.c (doprnt): Improve commentary.
308
309 * term.c (init_tty) [MSDOS]: Fix 1st argument to maybe_fatal.
310
311 * Makefile.in (TAGS): Depend on $(M_FILE) and $(S_FILE), and scan
312 them with etags.
313
f1052e5d
EZ
314 * makefile.w32-in (globals.h): Add a dummy recipe, to make any
315 changes in globals.h immediately force recompilation.
762b15be
EZ
316 (TAGS): Depend on $(CURDIR)/m/intel386.h and
317 $(CURDIR)/s/ms-w32.h.
318 (TAGS-gmake): Scan $(CURDIR)/m/intel386.h and $(CURDIR)/s/ms-w32.h.
f1052e5d 319
fa6996bc
EZ
320 * character.c (Fchar_direction): Function deleted.
321 (syms_of_character): Don't defsubr it.
322 <char-direction-table>: Deleted.
323
e6c3da20
EZ
3242011-04-23 Eli Zaretskii <eliz@gnu.org>
325
326 Fix doprnt so it could be used again safely in `verror'. (Bug#8435)
327 * doprnt.c: Include limits.h.
328 (SIZE_MAX): New macro.
329 (doprnt): Return a size_t value. 2nd arg is now size_t. Many
330 local variables are now size_t instead of int or unsigned.
331 Improve overflow protection. Support `l' modifier for integer
332 conversions. Support %l conversion. Don't assume an EMACS_INT
333 argument for integer conversions and for %c.
334
335 * lisp.h (doprnt): Restore prototype.
336
337 * makefile.w32-in ($(BLD)/callint.$(O)): Depend on
338 $(SRC)/character.h.
339
340 * Makefile.in (base_obj): Add back doprnt.o.
341
342 * deps.mk (doprnt.o): Add back prerequisites.
343 (callint.o): Depend on character.h.
344
345 * eval.c (internal_lisp_condition_case): Include the handler
346 representation in the error message.
347 (verror): Call doprnt instead of vsnprintf. Fix an off-by-one bug
348 when breaking from the loop.
349
350 * xdisp.c (vmessage): Call doprnt instead of vsnprintf.
351
352 * callint.c (Fcall_interactively): When displaying error message
353 about invalid control letter, pass the character's codepoint, not
354 a pointer to its multibyte form. Improve display of the character
355 in octal and display also its hex code.
356
357 * character.c (char_string): Use %x to display the (unsigned)
358 codepoint of an invalid character, to avoid displaying a bogus
359 negative value.
360
361 * font.c (check_otf_features): Pass SDATA of SYMBOL_NAME to
362 `error', not SYMBOL_NAME itself.
363
364 * coding.c (Fencode_sjis_char, Fencode_big5_char): Use %c for
365 character arguments to `error'.
366
367 * charset.c (check_iso_charset_parameter): Fix incorrect argument
368 to `error' in error message about FINAL_CHAR argument. Make sure
369 FINAL_CHAR is a character, and use %c when it is passed as
370 argument to `error'.
371
4ffd0d6b 3722011-04-23 Eli Zaretskii <eliz@gnu.org>
97a93095
EZ
373
374 * s/ms-w32.h (localtime): Redirect to sys_localtime.
375
376 * w32.c: Include <time.h>.
377 (sys_localtime): New function.
378
4ffd0d6b 3792011-04-23 Chong Yidong <cyd@stupidchicken.com>
c17819f4
CY
380
381 * xdisp.c (init_xdisp): Initialize echo_area_window (Bug#6451).
382
4ffd0d6b 383 * buffer.c (syms_of_buffer): Doc fix (Bug#6902).
aac0c6e3 384
4ffd0d6b 3852011-04-23 Samuel Thibault <sthibault@debian.org> (tiny change)
aac0c6e3 386
4ffd0d6b
GM
387 * sysdep.c (wait_for_termination): On GNU Hurd, kill returns -1 on
388 zombies (Bug#8467).
aac0c6e3 389
04c56954
EZ
3902011-04-19 Eli Zaretskii <eliz@gnu.org>
391
392 * syntax.h (SETUP_SYNTAX_TABLE_FOR_OBJECT): Fix setting of
393 gl_state.e_property when gl_state.object is Qt.
394
395 * insdel.c (make_gap_larger): Remove limitation of buffer size
396 to <= INT_MAX.
397
16a43933
CY
3982011-04-18 Chong Yidong <cyd@stupidchicken.com>
399
400 * xdisp.c (lookup_glyphless_char_display)
401 (produce_glyphless_glyph): Handle cons cell entry in
402 glyphless-char-display.
403 (Vglyphless_char_display): Document it.
404
405 * term.c (produce_glyphless_glyph): Handle cons cell entry in
406 glyphless-char-display.
407
4581706e
CY
4082011-04-17 Chong Yidong <cyd@stupidchicken.com>
409
410 * xdisp.c (get_next_display_element): Remove unnecessary ifdefs.
411
412 * termhooks.h (FRAME_WINDOW_P): Remove duplicated definitions.
413
414 * dispextern.h (FACE_SUITABLE_FOR_ASCII_CHAR_P): Add missing
415 definition for no-X builds.
416
4887c6e2 4172011-04-16 Paul Eggert <eggert@cs.ucla.edu>
764430a3 418
fd35b6f9
PE
419 Static checks with GCC 4.6.0 and non-default toolkits.
420
5c1ccb01
PE
421 * s/sol2-6.h, s/unixware.h (PTY_TTY_NAME_SPRINTF): Protoize decl.
422
006c5daa
PE
423 * process.c (keyboard_bit_set): Define only if SIGIO.
424 (send_process_trap): Mark it with NO_RETURN if it doesn't return.
425 (send_process): Repair possible setjmp clobbering.
426
efc736d3
PE
427 * s/usg5-4-common.h (SETUP_SLAVE_PTY): Don't pass extra arg to 'fatal'.
428
4e2fe2e6
PE
429 * eval.c: Include <stdio.h>, for vsnprintf on non-GNU/Linux hosts.
430
f97334a2
PE
431 * data.c (arith_error): Mark with NO_RETURN if it doesn't return.
432
4e75f29d
PE
433 * alloc.c (bytes_used_when_full, SPARE_MEMORY, BYTES_USED):
434 Define only if needed.
435
90efadd1
PE
436 * sysdep.c (_FILE_OFFSET_BITS): Make this hack even uglier
437 by pacifying GCC about it. Maybe it's time to retire it?
875975e9 438 * xfaces.c (USG, __TIMEVAL__): Likewise.
90efadd1 439
3c647824
PE
440 * dispextern.h (struct redisplay_interface): Rename param
441 to avoid shadowing.
e264f262 442 * termhooks.h (struct terminal): Likewise.
761383f4 443 * xterm.c (xembed_send_message): Likewise.
3c647824 444
b58c5c4a
PE
445 * insdel.c (make_gap_smaller): Define only if
446 USE_MMAP_FOR_BUFFERS || REL_ALLOC || DOUG_LEA_MALLOC.
447
cad59032
PE
448 * keyboard.c (read_char): Make a var volatile so longjmp won't clobber
449 it.
450
c339dc2e
PE
451 * emacs.c (MAX_HEAP_BSS_DIFF, my_edata): Move to where they're used,
452 so that we aren't warned about unused symbols.
453
91a3e27b
PE
454 * xfns.c (Fx_file_dialog): Rename local to avoid shadowing.
455
399c71d3 456 * xdisp.c (x_produce_glyphs): Mark var as initialized (Bug#8512).
7a3fb125 457
8ffc96f5
PE
458 * xfns.c (x_real_positions): Mark locals as initialized.
459
eef9bc79
PE
460 * xmenu.c (xmenu_show): Don't use uninitialized vars.
461
098db9dd
PE
462 * xterm.c: Fix problems found by static analysis with other toolkits.
463 (toolkit_scroll_bar_interaction): Define and use only if USE_X_TOOLKIT.
dda3aedd
PE
464 (x_dispatch_event): Declare static if USE_GTK, and
465 define if USE_GTK || USE_X_TOOLKIT.
098db9dd 466 (SET_SAVED_BUTTON_EVENT): Define only if USE_X_TOOLKIT || USE_GTK.
dda3aedd 467 * xterm.h (x_dispatch_event): Extern only if USE_X_TOOLKIT.
098db9dd
PE
468 * xterm.c, xterm.h (x_mouse_leave): Bring this function back, but only if
469 defined HAVE_MENUS && !defined USE_X_TOOLKIT && !defined USE_GTK.
470
eb18f6cc
PE
471 * xmenu.c (menu_help_callback): Pointer type fixes.
472 Use const pointers when pointing at readonly data. Avoid pointer
473 signedness clashes.
474 (FALSE): Remove unused macro.
475 (update_frame_menubar): Remove unused decl.
476
1fe72bf8
PE
477 * xfns.c (Fx_hide_tip): Move locals to avoid shadowing.
478
60d9e1db
PE
479 * menu.c (push_submenu_start, push_submenu_end): Do not define unless
480 USE_X_TOOLKIT || USE_GTK || HAVE_NS || defined HAVE_NTGUI.
481 (single_menu_item): Rename local to avoid shadowing.
482
39261c26
PE
483 * keyboard.c (make_lispy_event): Remove unused local var.
484
018c5e19
PE
485 * frame.c, frame.h (x_get_resource_string): Bring this back, but
486 only if HAVE_X_WINDOWS && !USE_X_TOOLKIT.
487
63d2b86e
PE
488 * bitmaps: Change bitmaps from unsigned char back to the X11
489 compatible char. Avoid the old compiler warnings about
490 out-of-range initializers by using, for example, '\xab' rather
491 than 0xab.
492
aefd87e1
PE
493 * xgselect.c (xgselect_initialize): Check vs interface
494 even if ! (defined (USE_GTK) || defined (HAVE_GCONF)).
495
bf501fb9
PE
496 * xmenu.c (xmenu_show): Rename parm to avoid shadowing.
497
e9829fdf
PE
498 * xterm.c (x_create_toolkit_scroll_bar): Use const * for pointers
499 to read-only memory.
500
1086c095
PE
501 * fns.c (vector): Remove; this old hack is no longer needed.
502
2baccd04 503 * xsmfns.c (create_client_leader_window): Rename shadowing arg.
401f10cb 504 Remove unused var.
dde42981 505 (gdk_x11_set_sm_client_id) [!USE_GTK]: Don't define.
2baccd04 506
72391843 507 * xrdb.c (x_load_resources): Omit unused local.
3565b346 508
436c16df 509 * xfns.c (free_frame_menubar, atof): Remove duplicate decls.
8a94ea33 510 (x_window): Rename locals to avoid shadowing.
dc5ddd85 511 (USG): Use the kludged USG macro, to pacify gcc.
436c16df 512
92bb796d 513 * xterm.c (x_alloc_nearest_color_for_widget): Remove; unused.
bbbef9e1 514 (x_term_init): Remove local to avoid shadowing.
92bb796d 515
764430a3 516 * xfns.c, xterm.c (_XEditResCheckMessages): Protoize decl.
4887c6e2
PE
517
518 * xdisp.c, dispextern.h (set_vertical_scroll_bar): Now extern if
519 USE_TOOLKIT_SCROLL_BARS && !USE_GTK, as xterm.c needs it then.
520
d1dfb56c
EZ
5212011-04-16 Eli Zaretskii <eliz@gnu.org>
522
c4354cb4
EZ
523 * gnutls.c (Fgnutls_boot): Don't pass Lisp_Object to `error'.
524
d1dfb56c
EZ
525 Fix regex.c, syntax.c and friends for buffers > 2GB.
526 * syntax.h (struct gl_state_s): Declare character position members
527 EMACS_INT.
528
529 * syntax.c (update_syntax_table): Declare 2nd argument EMACS_INT.
530
531 * textprop.c (verify_interval_modification, interval_of): Declare
532 arguments EMACS_INT.
533
534 * intervals.c (adjust_intervals_for_insertion): Declare arguments
535 EMACS_INT.
536
537 * intervals.h (CHECK_TOTAL_LENGTH): Cast to EMACS_INT, not `int'.
538
539 * indent.c (Fvertical_motion): Local variable it_start is now
540 EMACS_INT.
541
542 * regex.c (re_match, re_match_2, re_match_2_internal)
543 (bcmp_translate, regcomp, regexec, print_double_string)
544 (group_in_compile_stack, re_search, re_search_2, regex_compile)
545 (re_compile_pattern, re_exec): Declare arguments and local
546 variables `size_t' and `ssize_t' and return values `regoff_t', as
547 appropriate.
548 (POP_FAILURE_REG_OR_COUNT) <pfreg>: Declare `long'.
549 (CHECK_INFINITE_LOOP) <failure>: Declare `ssize_t'.
550 <compile_stack_type>: `size' and `avail' are now `size_t'.
551
552 * regex.h <regoff_t>: Use ssize_t, not int.
553 (re_search, re_search_2, re_match, re_match_2): Arguments that
554 specify buffer/string position and length are now ssize_t and
555 size_t. Return type is regoff_t.
556
613052cd
BK
5572011-04-16 Ben Key <bkey76@gmail.com>
558
559 * nsfont.m: Fixed bugs in ns_get_family and
560 ns_descriptor_to_entity that were caused by using free to
561 deallocate memory blocks that were allocated by xmalloc (via
562 xstrdup). This caused Emacs to crash when compiled with
563 XMALLOC_OVERRUN_CHECK defined (when Emacs was configured with
564 --enable-checking=xmallocoverrun). xfree is now used to
565 deallocate these memory blocks.
566
4170f62f 5672011-04-15 Paul Eggert <eggert@cs.ucla.edu>
3e047f51 568
71b41406
PE
569 * sysdep.c (emacs_read): Remove unnecessary check vs MAX_RW_COUNT.
570
9587a89d
PE
571 emacs_write: Accept and return EMACS_INT for sizes.
572 See http://lists.gnu.org/archive/html/emacs-devel/2011-04/msg00514.html
573 et seq.
574 * gnutls.c, gnutls.h (emacs_gnutls_read, emacs_gnutls_write):
575 Accept and return EMACS_INT.
576 (emacs_gnutls_write): Return the number of bytes written on
577 partial writes.
578 * sysdep.c, lisp.h (emacs_read, emacs_write): Likewise.
273a5f82
PE
579 (emacs_read, emacs_write): Remove check for negative size, as the
580 Emacs source code has been audited now.
9587a89d
PE
581 * sysdep.c (MAX_RW_COUNT): New macro, to work around kernel bugs.
582 (emacs_read, emacs_write): Use it.
273a5f82
PE
583 * process.c (send_process): Adjust to the new signatures of
584 emacs_write and emacs_gnutls_write. Do not attempt to store
585 a byte offset into an 'int'; it might overflow.
9587a89d 586 See http://lists.gnu.org/archive/html/emacs-devel/2011-04/msg00483.html
273a5f82 587
3e047f51
PE
588 * sound.c: Don't assume sizes fit in 'int'.
589 (struct sound_device.period_size, alsa_period_size):
9c3c56a7 590 Return EMACS_INT, not int.
3e047f51 591 (struct sound_device.write, vox_write, alsa_write):
9c3c56a7
PE
592 Accept EMACS_INT, not int.
593 (wav_play, au_play): Use EMACS_INT to store sizes and to
3e047f51
PE
594 record read return values.
595
cc39a9db
BK
5962011-04-15 Ben Key <bkey76@gmail.com>
597
c9d0ec6d
JB
598 * keyboard.c (Qundefined): Don't declare static since it is used
599 in nsfns.m.
600 * xfaces.c (Qbold, Qexpanded, Qitalic, Qcondensed): Don't declare
601 static since they are used in nsfont.m.
cc39a9db 602
6c60eb9f
SM
6032011-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
604
605 * process.c (Qprocessp): Don't declare static.
606 * lisp.h (Qprocessp): Declare again.
607
7990b61a
JB
6082011-04-15 Juanma Barranquero <lekktu@gmail.com>
609
610 * font.c (Qopentype): Don't make static (used from w32uniscribe.c).
611
5d4cb038
PE
6122011-04-14 Paul Eggert <eggert@cs.ucla.edu>
613
8bd7b830 614 Improve C-level modularity by making more things 'static'.
cd64ea1d 615
e3b27b31
PE
616 Don't publish debugger-only interfaces to other modules.
617 * lisp.h (safe_debug_print, debug_output_compilation_hack):
618 (verify_bytepos, count_markers): Move decls to the only modules
619 that need them.
620 * region-cache.h (pp_cache): Likewise.
621 * window.h (check_all_windows): Likewise.
622 * marker.c, print.c, region-cache.c, window.c: Decls moved here.
623
5d4cb038
PE
624 * sysdep.c (croak): Now static, if
625 defined TIOCNOTTY || defined USG5 || defined CYGWIN.
626 * syssignal.h (croak): Declare only if not static.
69003fd8
PE
627
628 * alloc.c (refill_memory_reserve): Now static if
629 !defined REL_ALLOC || defined SYSTEM_MALLOC.
630 * lisp.h (refill_memory_reserve): Declare only if not static.
93ea6e8f 631
e87b6180
PE
632 * xsettings.c, xsettings.h (xsettings_get_system_normal_font):
633 Define only if USE_LUCID.
634
ac64929e
PE
635 * xrdb.c (x_customization_string, x_rm_string): Now static.
636
6f37259d
PE
637 * xmenu.c (x_menu_wait_for_event): Export only if USE_MOTIF.
638 * xterm.h (x_menu_wait_for_event): Declare only if USE_MOTIF.
639
1683e3ab
PE
640 * xdisp.c (draw_row_with_mouse_face): Now static.
641 * dispextern.h (draw_row_with_mouse_fave): Remove decl.
642
de9c2632
PE
643 * window.h (check_all_windows): Mark externally visible.
644
2b96acb7
PE
645 * window.c (window_deletion_count): Now static.
646
647 * undo.c: Make symbols static if they're not exported.
648 (last_undo_buffer, last_boundary_position, pending_boundary):
649 Now static.
650
50436f33
PE
651 * textprop.c (interval_insert_behind_hooks): Now static.
652 (interval_insert_in_front_hooks): Likewise.
653
64520e5c
PE
654 * term.c: Make symbols static if they're not exported.
655 (tty_turn_off_highlight, get_tty_terminal, max_frame_cols):
656 (max_frame_lines, tty_set_terminal_modes):
657 (tty_reset_terminal_modes, tty_turn_off_highlight):
658 (get_tty_terminal): Now static.
659 (term_mouse_moveto): Do not define if HAVE_WINDOW_SYSTEM.
660 * termhooks.h (term_mouse_moveto): Do not declare if
8bd7b830 661 HAVE_WINDOW_SYSTEM.
64520e5c
PE
662 * dispextern.h (tty_set_terminal_modes, tty_reset_terminal_modes):
663 (tty_turn_off_highlight, get_tty_terminal): Remove decls.
664
1fa53021
PE
665 * sysdep.c: Make symbols static if they're not exported.
666 (emacs_get_tty, emacs_set_tty, old_fcntl_flags, old_fcntl_owner):
667 Now static.
668 (sigprocmask_set, full_mask): Remove; unused.
669 (wait_debugging): Mark as visible.
670 * syssignal.h (SIGFULLMASK, full_mask): Remove decls.
671 * systty.h (emacs_get_tty, emacs_set_tty): Remove decls.
672
d4b43b22
PE
673 * syntax.c (syntax_temp): Define only if !__GNUC__.
674
b7c513d0
PE
675 * sound.c (current_sound_device, current_sound): Now static.
676
989b29ad
PE
677 * search.c (searchbufs, searchbuf_head): Now static.
678
13a55a78
PE
679 * scroll.c (scroll_cost): Remove; unused.
680 * dispextern.h (scroll_cost): Remove decl.
681
de68a1fc
PE
682 * region-cache.h (pp_cache): Mark as externally visible.
683
40ccffa6
PE
684 * process.c: Make symbols static if they're not exported.
685 (process_tick, update_tick, create_process, chan_process):
686 (Vprocess_alist, proc_buffered_char, datagram_access):
687 (fd_callback_data, send_process_frame, process_sent_to): Now static.
688 (deactivate_process): Mark defn as static, as well as decl.
689 * lisp.h (create_process): Remove decl.
690 * process.h (chan_process, Vprocess_alist): Remove decls.
691
ad64fc97
PE
692 * print.c: Make symbols static if they're not exported.
693 (print_depth, new_backquote_output, being_printed, print_buffer):
694 (print_buffer_size, print_buffer_pos, print_buffer_pos_byte):
695 (print_interval, print_number_index, initial_stderr_stream):
696 Now static.
697 * lisp.h (Fprinc): Remove decl.
698 (debug_output_compilation_hack): Mark as externally visible.
699
adddb265
PE
700 * sysdep.c (croak): Move decl from here to syssignal.h.
701 * syssignal.h (croak): Put it here, so the API can be checked when
702 'croak' is called from dissociate_if_controlling_tty.
703
1717ede2
PE
704 * minibuf.c: Make symbols static if they're not exported.
705 (minibuf_save_list, choose_minibuf_frame): Now static.
706 * lisp.h (choose_minibuf_frame): Remove decl.
707
fa5fb2bc
PE
708 * lisp.h (verify_bytepos, count_markers): Mark as externally visible.
709
1e3890d1
PE
710 * lread.c: Make symbols static if they're not exported.
711 (read_objects, initial_obarray, oblookup_last_bucket_number):
712 Now static.
713 (make_symbol): Remove; unused.
714 * lisp.h (initial_obarray, make_symbol): Remove decls.
715
8a1414fa
PE
716 * keyboard.c: Make symbols static if they're not exported.
717 (single_kboard, recent_keys_index, total_keys, recent_keys):
718 (this_command_key_count_reset, raw_keybuf, raw_keybuf_count):
719 (this_single_command_key_start, echoing, last_auto_save):
720 (read_key_sequence_cmd, dribble, recursive_edit_unwind):
721 (command_loop, echo_now, keyboard_init_hook, help_char_p):
722 (quit_throw_to_read_char, command_loop_2, top_level_1, poll_timer):
723 (Vlispy_mouse_stem, double_click_count):
724 Now static.
725 (force_auto_save_soon): Define only if SIGDANGER.
726 (ignore_mouse_drag_p): Now static if
727 !defined HAVE_WINDOW_SYSTEM || defined USE_GTK || defined HAVE_NS.
728 (print_help): Remove; unused.
729 (stop_character, last_timer_event): Mark as externally visible.
730 * keyboard.h (ignore_mouse_drag_p): Declare only if
731 defined HAVE_WINDOW_SYSTEM && !defined USE_GTK && !defined HAVE_NS.
732 (echo_now, help_char_p, quit_throw_to_read_char): Remove decls.
733 * lisp.h (echoing): Remove decl.
734 (force_auto_save_soon): Declare only if SIGDANGER.
735 * xdisp.c (redisplay_window): Simplify code, to make it more
736 obvious that ignore_mouse_drag_p is not accessed if !defined
737 USE_GTK && !defined HAVE_NS.
738
93ea6e8f
PE
739 * intervals.c: Make symbols static if they're not exported.
740 (merge_properties_sticky, merge_interval_right, delete_interval):
741 Now static.
742 * intervals.h (merge_interval_right, delete_interval): Remove decls.
743
77382fcc
PE
744 * insdel.c: Make symbols static if they're not exported.
745 However, leave prepare_to_modify_buffer alone. It's never
746 called from outside this function, but that appears to be a bug.
747 (combine_after_change_list, combine_after_change_buffer):
4889fc82 748 (adjust_after_replace, signal_before_change): Now static.
77382fcc
PE
749 (adjust_after_replace_noundo): Remove; unused.
750 * lisp.h (adjust_after_replace, adjust_after_replace_noundo):
4889fc82 751 (signal_before_change): Remove decls.
77382fcc 752
9306c32e
PE
753 * indent.c (val_compute_motion, val_vmotion): Now static.
754
cd44d2eb
PE
755 * image.c: Make symbols static if they're not exported.
756 * dispextern.h (x_create_bitmap_from_xpm_data): Do not declare
757 if USE_GTK.
758 * image.c (x_create_bitmap_from_xpm_data): Do not define if USE_GTK.
759 (xpm_color_cache, ct_table, ct_colors_allocated): Now static.
760
ad9a7a06
PE
761 * fringe.c (standard_bitmaps): Now static.
762 (max_used_fringe_bitmap): Now static, unless HAVE_NS.
763
81626931
PE
764 * frame.c: Make symbols static if they're not exported.
765 (x_report_frame_params, make_terminal_frame): Now static.
766 (get_frame_param): Now static, unless HAVE_NS.
767 (x_fullscreen_adjust): Define if WINDOWSNT, not if HAVE_WINDOW_SYSTEM.
768 (x_get_resource_string): Remove; not used.
769 * frame.h (make_terminal_frame, x_report_frame_params):
770 (x_get_resource_string); Remove decls.
771 (x_fullscreen_adjust): Declare only if WINDOWSNT.
772 * lisp.h (get_frame_param): Declare only if HAVE_NS.
773
239f9db9
PE
774 * font.c, fontset.c: Make symbols static if they're not exported.
775 * dispextern.h (FACE_SUITABLE_FOR_ASCII_CHAR_P): New macro.
776 (FACE_SUITABLE_FOR_CHAR_P): Use it.
777 * font.c (font_close_object): Now static.
778 * font.h (font_close_object): Remove.
779 * fontset.c (FONTSET_OBJLIST): Remove.
780 (free_realized_fontset) #if-0 the body, which does nothing.
781 (face_suitable_for_char_p): #if-0, as it's never called.
782 * fontset.h (face_suitable_for_char_p): Remove decl.
783 * xfaces.c (face_at_string_position): Use
784 FACE_SUITABLE_FOR_ASCII_CHAR_P, not FACE_SUITABLE_FOR_CHAR_P,
785 since 0 is always ASCII.
786
dfcf3579
PE
787 * fns.c (weak_hash_tables): Now static.
788
5045092b
PE
789 * fileio.c: Make symbols static if they're not exported.
790 (auto_saving, auto_save_mode_bits, auto_save_error_occurred):
791 (Vwrite_region_annotation_buffers): Now static.
792
57a96f5c
PE
793 * eval.c: Make symbols static if they're not exported.
794 (backtrace_list, lisp_eval_depth, when_entered_debugger): Now static.
795 * lisp.h (backtrace_list): Remove decl.
796
35f08c38
PE
797 * emacs.c: Make symbols static if they're not exported.
798 (malloc_state_ptr, malloc_using_checking, syms_of_emacs):
799 (fatal_error_code, fatal_error_signal_hook, standard_args):
800 Now static.
801 (fatal_error_signal): Now static, unless FLOAT_CATCH_SIGKILL.
802 (DEFINE_DUMMY_FUNCTION): Mark function as externally visible.
803 (__CTOR_LIST__, __DTOR_LIST__): Now externally visible.
804 * lisp.h (fatal_error_signal_hook): Remove decl.
805 (fatal_error_signal): Declare only if FLOAT_CATCH_SIGKILL.
806
f44bd759
PE
807 * editfns.c: Move a (normally-unused) function to its only use.
808 * editfns.c, lisp.h (get_operating_system_release): Remove.
809 * process.c (init_process) [DARWIN_OS]: Do it inline, as it is not
810 worth the hassle of breaking this out.
811
b532497d
PE
812 * xterm.c: Make symbols static if they're not exported.
813 (x_raise_frame, x_lower_frame, x_wm_set_window_state):
814 (x_wm_set_icon_pixmap, x_initialize, XTread_socket_fake_io_error):
815 (x_destroy_window, x_delete_display):
816 Now static.
817 (x_dispatch_event): Now static if ! (USE_MOTIF || USE_X_TOOLKIT).
818 (x_mouse_leave): Remove; unused.
819 * xterm.h (x_display_info_for_name, x_raise_frame, x_lower_frame):
820 (x_destroy_window, x_wm_set_window_state, x_wm_set_icon_pixmap):
821 (x_delete_display, x_initialize, x_set_border_pixel, x_screen_planes):
822 Remove decls.
823 (x_mouse_leave): Declare only if WINDOWSNT.
824 (x_dispatch_event): Declare only if USE_MOTIF or USE_X_TOOLKIT.
825 (xic_create_fontsetname): Declare only if HAVE_X_WINDOWS &&
826 USE_X_TOOLKIT.
827
1675728f
PE
828 * ftxfont.c: Make symbols static if they're not exported.
829 (ftxfont_driver): Export only if !defined HAVE_XFT && def8ined
830 HAVE_FREETYPE.
831 * font.h (ftxfont_driver): Likewise.
832
e4cebfca
PE
833 * xfns.c: Make symbols static if they're not exported.
834 (x_last_font_name, x_display_info_for_name):
835 (x_set_foreground_color, x_set_background_color, x_set_mouse_color):
836 (x_set_cursor_color, x_set_border_pixel, x_set_border_color):
837 (x_set_cursor_type, x_set_icon_type, x_set_icon_name):
838 (x_set_scroll_bar_foreground, x_set_scroll_bar_background):
839 (x_explicitly_set_name, x_set_title, xic_defaut_fontset, tip_timer):
840 (last_show_tip_args): Now static.
841 (xic_defaut_fontset, xic_create_fontsetname): Define only if
842 defined HAVE_X_WINDOWS && defined USE_X_TOOLKIT
843 (x_screen_planes): Remove; unused.
844 * dispextern.h (x_screen_planes): Remove decl.
845
5bf46f05
PE
846 * dispnew.c: Make symbols static if they're not exported.
847 * dispextern.h (redraw_garbaged_frames, scrolling):
848 (increment_row_positions): Remove.
849 * dispnew.c (new_glyph_matrix, increment_row_positions, scrolling):
850 (delayed_size_change, glyph_matrix_count, glyph_pool_count):
851 Now static.
852 (redraw_garbaged_frames): Remove; unused.
853
435f4c28
PE
854 * xfaces.c: Make symbols static if they're not exported.
855 * dispextern.h (ascii_face_of_lisp_face, free_realized_face):
856 Remove decls.
857 * xterm.h (defined_color): Remove decls.
858 (x_free_dpy_colors): Declare only if USE_X_TOOLKIT.
859 * xfaces.c (tty_suppress_bold_inverse_default_colors_p):
860 (menu_face_changed_default, defined_color, free_realized_face):
861 (x_free_dpy_colors): Define only if USE_X_TOOLKIT.
862 (ascii_face_of_lisp_face): Remove; unused.
863
8524aef3
PE
864 * xdisp.c: Make symbols static if they're not exported.
865 * dispextern.h (scratch_glyph_row, window_box_edges):
866 (glyph_to_pixel_coords, set_cursor_from_row):
867 (get_next_display_element, set_iterator_to_next):
868 (highlight_trailing_whitespace, frame_to_window_pixel_xy):
869 (show_mouse_face): Remove decls
870 * frame.h (message_buf_print): Likewise.
871 * lisp.h (pop_message, set_message, check_point_in_composition):
872 Likewise.
873 * xterm.h (set_vertical_scroll_bar): Likewise.
874 * xdisp.c (list_of_error, Vmessage_stack, line_number_displayed):
875 (message_buf_print, scratch_glyph_row, displayed_buffer):
876 (set_iterator_to_next, pop_message, set_message, set_cursor_from_row):
877 (get_next_display_element, show_mouse_face, window_box_edges):
878 (frame_to_window_pixel_xy, check_point_in_composition):
879 (set_vertical_scroll_bar, highlight_trailing_whitespace): Now static.
880 (glyph_to_pixel_coords): Remove; unused.
881
16390cd2
PE
882 * dired.c (file_name_completion): Now static.
883
884 * dbusbind.c (xd_in_read_queued_messages): Now static.
885
a25f4dfa
PE
886 * lisp.h (circular_list_error, FOREACH): Remove; unused.
887 * data.c (circular_list_error): Remove.
888
14a9c8df
PE
889 * commands.h (last_point_position, last_point_position_buffer):
890 (last_point_position_window): Remove decls.
891 * keyboard.c: Make these variables static.
892
74ab6df5
PE
893 * coding.h (coding, code_convert_region, encode_coding_gap): Remove
894 decls.
895 * coding.c (Vsjis_coding_system, Vbig5_coding_system):
896 (iso_code_class, detect_coding, code_convert_region): Now static.
897 (encode_coding_gap): Remove; unused.
898
38dfbee1
PE
899 * chartab.c (chartab_chars, chartab_bits): Now static.
900
a2cb4e63
PE
901 * charset.h (charset_iso_8859_1): Remove decl.
902 * charset.c (charset_iso_8859_1, charset_emacs, map_charset_for_dump):
903 Now static.
904
127198fd
PE
905 * ccl.h (check_ccl_update, Vccl_program_table): Remove decls.
906 * ccl.c (Vccl_program_table): Now static.
907 (check_ccl_update): Remove; unused.
908
d85b608f
PE
909 * category.c (SET_CATEGORY_SET, set_category_set): Move here.
910 * category.h: ... from here.
911 * category.c (check_category_table, set_category_set): Now static.
912
31cd66f3
PE
913 * casetab.c (Vascii_upcase_table, Vascii_eqv_table): Now static.
914 * lisp.h: Remove these decls.
915
c358e587
PE
916 * buffer.c (buffer_count): Remove unused var.
917
e78aecca
PE
918 * bidi.c (bidi_dump_cached_states): Mark as externally visible,
919 so that it's not optimized away.
920 (bidi_ignore_explicit_marks_for_paragraph_level): Likewise.
921 * dispextern.h (bidi_dump_cached_states): Remove, since it's
922 exported only to the debugger.
923
e192d7d3
PE
924 * atimer.c (alarm_signal_handler, run_all_atimers): Now static.
925 * atimer.h (run_all_atimers): Removed; not exported.
926
92470028
PE
927 font.c: Make copy_font_spec and merge_font_spec ordinary C functions.
928 * font.c (copy_font_spec): Rename from Fcopy_font_spec, since it
929 was inaccessible from Lisp.
930 (merge_font_spec): Likewise, renaming from Fmerge_font_spec.
931 * font.c, font.h, fontset.c, xfaces.c, xfont.c: Change all uses.
932
244ed907
PE
933 alloc.c: Import and export fewer symbols, and remove unused items.
934 * lisp.h (suppress_checking, die): Declare only if ENABLE_CHECKING
935 is defined.
936 (suppress_checking): Add EXTERNALLY_VISIBLE attribute, so that
937 it's not optimized away by whole-program optimization.
938 (message_enable_multibyte, free_misc): Remove.
939 (catchlist, handlerlist, mark_backtrace):
940 Declare only if BYTE_MARK_STACK.
941 (mark_byte_stack): Likewise, fixing a ifdef-vs-if typo.
942 * alloc.c (pure): Export only if VIRT_ADDR_VARIES is defined.
943 (message_enable_multibyte): Remove decl.
944 (free_misc, interval_free_list, float_block, float_block_index):
945 (n_float_blocks, float_free_list, cons_block, cons_block_index):
946 (cons_free_list, last_marked_index):
947 Now static.
948 (suppress_checking, die): Define only if ENABLE_CHECKING is defined.
949 * eval.c (catchlist, handlerlist): Export only if BYTE_MARK_STACK.
950 (mark_backtrace): Define only if BYTE_MARK_STACK.
951 * xdisp.c (message_enable_multibyte): Now static.
952
61c2b50e 953 Declare Lisp_Object Q* variables to be 'static' if not exported.
955cbe7b
PE
954 This makes it easier for human readers (and static analyzers)
955 to see whether these variables are used from other modules.
956 * alloc.c, buffer.c, bytecode.c, callint.c, casetab.c, category.c:
957 * ccl.c, character.c, charset.c, cmds.c, coding.c, composite.c:
958 * data.c, dbusbind.c, dired.c, editfns.c, eval.c, fileio.c, fns.c:
959 * font.c, frame.c, fringe.c, ftfont.c, image.c, keyboard.c, keymap.c:
960 * lread.c, macros.c, minibuf.c, print.c, process.c, search.c:
961 * sound.c, syntax.c, textprop.c, window.c, xdisp.c, xfaces.c, xfns.c:
962 * xmenu.c, xselect.c:
963 Declare Q* vars static if they are not used in other modules.
964 * ccl.h, character.h, charset.h, coding.h, composite.h, font.h:
965 * frame.h, intervals.h, keyboard.h, lisp.h, process.h, syntax.h:
966 Remove decls of unexported vars.
967 * keyboard.h (EVENT_HEAD_UNMODIFIED): Remove now-unused macro.
968
95c82688
PE
969 * lisp.h (DEFINE_FUNC): Make sname 'static'.
970
16a97296
PE
971 Make Emacs functions such as Fatom 'static' by default.
972 This makes it easier for human readers (and static analyzers)
973 to see whether these functions can be called from other modules.
974 DEFUN now defines a static function. To make the function external
975 so that it can be used in other C modules, use the new macro DEFUE.
8bd7b830
PE
976 * lisp.h (Funibyte_char_to_multibyte, Fsyntax_table_p):
977 (Finit_image_library):
16a97296
PE
978 (Feval_region, Fbacktrace, Ffetch_bytecode, Fswitch_to_buffer):
979 (Ffile_executable_p, Fmake_symbolic_link, Fcommand_execute):
980 (Fget_process, Fdocumentation_property, Fbyte_code, Ffile_attributes):
981 Remove decls, since these functions are now static.
982 (Funintern, Fget_internal_run_time): New decls, since these functions
983 were already external.
95c82688 984
16a97296
PE
985 * alloc.c, buffer.c, callint.c, callproc.c, casefiddle.c, casetab.c:
986 * ccl.c, character.c, chartab.c, cmds.c, coding.c, data.c, dispnew.c:
987 * doc.c, editfns.c, emacs.c, eval.c, fileio.c, filelock.c, floatfns.c:
988 * fns.c, font.c, fontset.c, frame.c, image.c, indent.c:
989 * keyboard.c, keymap.c, lread.c:
990 * macros.c, marker.c, menu.c, minibuf.c, print.c, process.c, search.c:
991 * syntax.c, term.c, terminal.c, textprop.c, undo.c:
992 * window.c, xdisp.c, xfaces.c, xfns.c, xmenu.c, xsettings.c:
993 Mark functions with DEFUE instead of DEFUN,
994 if they are used in other modules.
995 * buffer.c (Fset_buffer_major_mode, Fdelete_overlay): New forward
996 decls for now-static functions.
997 * buffer.h (Fdelete_overlay): Remove decl.
998 * callproc.c (Fgetenv_internal): Mark as internal.
999 * composite.c (Fremove_list_of_text_properties): Remove decl.
1000 (Fcomposition_get_gstring): New forward static decl.
1001 * composite.h (Fcomposite_get_gstring): Remove decl.
1002 * dired.c (Ffile_attributes): New forward static decl.
1003 * doc.c (Fdocumntation_property): New forward static decl.
1004 * eval.c (Ffetch_bytecode): New forward static decl.
1005 (Funintern): Remove extern decl; now in .h file where it belongs.
1006 * fileio.c (Fmake_symbolic_link): New forward static decl.
1007 * image.c (Finit_image_library): New forward static decl.
1008 * insdel.c (Fcombine_after_change_execute): Make forward decl static.
1009 * intervals.h (Fprevious_property_change):
1010 (Fremove_list_of_text_properties): Remove decls.
1011 * keyboard.c (Fthis_command_keys): Remove decl.
1012 (Fcommand_execute): New forward static decl.
1013 * keymap.c (Flookup_key): New forward static decl.
1014 (Fcopy_keymap): Now static.
1015 * keymap.h (Flookup_key): Remove decl.
1016 * process.c (Fget_process): New forward static decl.
1017 (Fprocess_datagram_address): Mark as internal.
1018 * syntax.c (Fsyntax_table_p): New forward static decl.
1019 (skip_chars): Remove duplicate decl.
1020 * textprop.c (Fprevious_property_change): New forward static decl.
1021 * window.c (Fset_window_fringes, Fset_window_scroll_bars):
1022 Now internal.
1023 (Fset_window_margins, Fset_window_vscroll): New forward static decls.
1024 * window.h (Fset_window_vscroll, Fset_window_margins): Remove decls.
1025
785bbd42
PE
1026 * editfns.c (Fformat): Remove unreachable code.
1027
8b913b57
AS
10282011-04-14 Andreas Schwab <schwab@linux-m68k.org>
1029
1030 * fileio.c (Finsert_file_contents): Fix typo in 2005-05-13
1031 change. (Bug#8496)
1032
a6744a35
EZ
10332011-04-13 Eli Zaretskii <eliz@gnu.org>
1034
1035 * xdisp.c (handle_invisible_prop): Don't call bidi_paragraph_init
1036 when at ZV. (Bug#8487)
1037
e7974947
AS
10382011-04-12 Andreas Schwab <schwab@linux-m68k.org>
1039
baad03f0
AS
1040 * charset.c (Fclear_charset_maps): Use xfree instead of free.
1041 (Bug#8437)
1042 * keyboard.c (parse_tool_bar_item): Likewise.
1043 * sound.c (sound_cleanup, alsa_close): Likewise.
1044 * termcap.c (tgetent): Likewise.
1045 * xfns.c (x_default_font_parameter): Likewise.
1046 * xsettings.c (read_and_apply_settings): Likewise.
1047
e7974947
AS
1048 * alloc.c (overrun_check_malloc, overrun_check_realloc)
1049 (overrun_check_free): Protoize.
1050
28272684
PE
10512011-04-12 Paul Eggert <eggert@cs.ucla.edu>
1052
1053 * sysdep.c (emacs_read, emacs_write): Check for negative sizes
1054 since callers should never pass a negative size.
1055 Change the signature to match that of plain 'read' and 'write'; see
1056 <http://lists.gnu.org/archive/html/emacs-devel/2011-04/msg00397.html>.
1057 * lisp.h: Update prototypes of emacs_write and emacs_read.
1058
11997c76
EZ
10592011-04-11 Eli Zaretskii <eliz@gnu.org>
1060
1061 * xdisp.c (redisplay_window): Don't try to determine the character
1062 position of the scroll margin if the window start point w->startp
e896f03c 1063 is outside the buffer's accessible region. (Bug#8468)
11997c76 1064
8a2cbd72
EZ
10652011-04-10 Eli Zaretskii <eliz@gnu.org>
1066
1067 Fix write-region and its subroutines for buffers > 2GB.
1068 * fileio.c (a_write, e_write): Modify declaration of arguments and
1069 local variables to support buffers larger than 2GB.
1070 (Fcopy_file): Use EMACS_INT for return value of emacs_read.
1071
1072 * sysdep.c (emacs_write, emacs_read): Use ssize_t for last
1073 argument, local variables, and return value.
1074
1075 * lisp.h: Update prototypes of emacs_write and emacs_read.
1076
1077 * sound.c (vox_write): Use ssize_t for return value of emacs_write.
1078
4073e537 10792011-04-10 Paul Eggert <eggert@cs.ucla.edu>
eb3f1cc8 1080
1ebfdcb6
PE
1081 * xdisp.c (vmessage): Use memchr, not strnlen, which some hosts lack.
1082
b2ded58d
PE
1083 Fix more problems found by GCC 4.6.0's static checks.
1084
7d66342c
PE
1085 * xdisp.c (vmessage): Use a better test for character truncation.
1086
bbf47d44
PE
1087 * charset.c (load_charset_map): <, not <=, for optimization,
1088 and to avoid potential problems with integer overflow.
9248994d 1089 * chartab.c (sub_char_table_set_range, char_table_set_range): Likewise.
f9a68bc5 1090 * casetab.c (set_identity, shuffle): Likewise.
3ab1c7ce 1091 * editfns.c (Fformat): Likewise.
1e69125e 1092 * syntax.c (skip_chars): Likewise.
3befa583 1093
e3019616
PE
1094 * xmenu.c (set_frame_menubar): Allocate smaller local vectors.
1095 This also lets GCC 4.6.0 generate slightly better loop code.
1096
becfa255
PE
1097 * callint.c (Fcall_interactively): <, not <=, for optimization.
1098 (Fcall_interactively): Count the number of arguments produced,
1099 not the number of arguments given. This is simpler and lets GCC
1100 4.6.0 generate slightly better code.
1101
dae0cd48
PE
1102 * ftfont.c: Distingish more carefully between FcChar8 and char.
1103 The previous code passed unsigned char * to a functions like
1104 strlen and xstrcasecmp that expect char *, which does not
1105 conform to the C standard.
1106 (get_adstyle_property, ftfont_pattern_entity): Use FcChar8 for
1107 arguments to FcPatternGetString, and explicitly cast FcChar8 * to
1108 char * when the C standard requires it.
1109
76032d70
PE
1110 * keyboard.c (read_char): Remove unused var.
1111
eb3f1cc8
PE
1112 * eval.c: Port to Windows vsnprintf (Bug#8435).
1113 Include <limits.h>.
1114 (SIZE_MAX): Define if the headers do not.
1115 (verror): Do not give up if vsnprintf returns a negative count.
1116 Instead, grow the buffer. This ports to Windows vsnprintf, which
1117 does not conform to C99. Problem reported by Eli Zaretskii.
1118 Also, simplify the allocation scheme, by avoiding the need for
1119 calling realloc, and removing the ALLOCATED variable.
1120
70476b54
PE
1121 * eval.c (verror): Initial buffer size is 4000 (not 200) bytes.
1122
12020a9e
PE
1123 Remove invocations of doprnt, as Emacs now uses vsnprintf.
1124 But keep the doprint source code for now, as we might revamp it
1125 and use it again (Bug#8435).
ea6c7ae6
PE
1126 * lisp.h (doprnt): Remove.
1127 * Makefile.in (base_obj): Remove doprnt.o.
1128 * deps.mk (doprnt.o): Remove.
1129
5fdb398c
PE
1130 error: Print 32- and 64-bit integers portably (Bug#8435).
1131 Without this change, on typical 64-bit hosts error ("...%d...", N)
1132 was used to print both 32- and 64-bit integers N, which relied on
1133 undefined behavior.
1134 * lisp.h, src/m/amdx86-64.h, src/m/ia64.h, src/m/ibms390x.h (pEd):
1135 New macro.
1136 * lisp.h (error, verror): Mark as printf-like functions.
1137 * eval.c (verror): Use vsnprintf, not doprnt, to do the real work.
1138 Report overflow in size calculations when allocating printf buffer.
1139 Do not truncate output string at its first null byte.
1140 * xdisp.c (vmessage): Use vsnprintf, not doprnt, to do the real work.
1141 Truncate the output at a character boundary, since vsnprintf does not
1142 do that.
1143 * charset.c (check_iso_charset_parameter): Convert internal
1144 character to string before calling 'error', since %c now has the
1145 printf meaning.
1146 * coding.c (Fdecode_sjis_char, Fdecode_big5_char): Avoid int
1147 overflow when computing char to be passed to 'error'. Do not
1148 pass Lisp_Object to 'error'; pass the integer instead.
1149 * nsfns.m (Fns_do_applescript): Use int, not long, since it's
1150 formatted with plain %d.
1151
b189fa66
PE
1152 * eval.c (internal_lisp_condition_case): Don't pass spurious arg.
1153
bff87ef0
PE
1154 * keyboard.c (access_keymap_keyremap): Print func name, not garbage.
1155
7e2cac20
PE
1156 * coding.c (Fdecode_sjis_char): Don't assume CODE fits in int.
1157
ce4d90b5
PE
1158 * xterm.c (x_catch_errors): Remove duplicate declaration.
1159
266c9547
PE
1160 * term.c (maybe_fatal): Mark its 3rd arg as a printf format, too.
1161
79c49ad2
PE
1162 * xdisp.c, lisp.h (message_nolog): Remove; unused.
1163
368f4090
JM
11642011-04-10 Jim Meyering <meyering@redhat.com>
1165
1166 use ssize_t and size_t for read- and write-like emacs_gnutls_* functions
1167 * gnutls.c (emacs_gnutls_read): Adjust signature to be more read-like:
1168 return ssize_t not "int", and use size_t as the buffer length.
1169 (emacs_gnutls_write): Likewise, and make the buffer pointer "const".
1170 * gnutls.h: Update declarations.
1171 * process.c (read_process_output): Use ssize_t, to match.
1172 (send_process): Likewise.
1173
a32d4040
CY
11742011-04-09 Chong Yidong <cyd@stupidchicken.com>
1175
1176 * image.c (Fimagemagick_types): Doc fix, and comment cleanup.
1177
8546720e 11782011-04-09 Chong Yidong <cyd@stupidchicken.com>
aac0c6e3 1179
8546720e
GM
1180 * ftfont.c (get_adstyle_property, ftfont_pattern_entity): Use
1181 unsigned char, to match FcChar8 type definition.
aac0c6e3 1182
8546720e
GM
1183 * xterm.c (handle_one_xevent):
1184 * xmenu.c (create_and_show_popup_menu):
1185 * xselect.c (x_decline_selection_request)
1186 (x_reply_selection_request): Avoid type-punned deref of X events.
aac0c6e3 1187
0a2f5c1a 11882011-04-09 Eli Zaretskii <eliz@gnu.org>
a53e2e89
EZ
1189
1190 Fix some uses of `int' instead of EMACS_INT.
1191 * search.c (string_match_1, fast_string_match)
1192 (fast_c_string_match_ignore_case, fast_string_match_ignore_case)
1193 (scan_buffer, find_next_newline_no_quit)
1194 (find_before_next_newline, search_command, Freplace_match)
1195 (Fmatch_data): Make some `int' variables be EMACS_INT.
1196
1197 * xdisp.c (display_count_lines): 3rd argument and return value now
1198 EMACS_INT. All callers changed.
1199 (pint2hrstr): Last argument is now EMACS_INT.
1200
1201 * coding.c (detect_coding_utf_8, detect_coding_emacs_mule)
1202 (detect_coding_iso_2022, detect_coding_sjis, detect_coding_big5)
1203 (detect_coding_ccl, detect_coding_charset, decode_coding_utf_8)
1204 (decode_coding_utf_16, decode_coding_emacs_mule)
1205 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
1206 (decode_coding_ccl, decode_coding_charset)
1207 <consumed_chars, consumed_chars_base>: Declare EMACS_INT.
1208 (decode_coding_iso_2022, decode_coding_emacs_mule)
1209 (decode_coding_sjis, decode_coding_big5, decode_coding_charset)
1210 <char_offset, last_offset>: Declare EMACS_INT.
1211 (encode_coding_utf_8, encode_coding_utf_16)
1212 (encode_coding_emacs_mule, encode_invocation_designation)
1213 (encode_designation_at_bol, encode_coding_iso_2022)
1214 (encode_coding_sjis, encode_coding_big5, encode_coding_ccl)
1215 (encode_coding_raw_text, encode_coding_charset) <produced_chars>:
1216 Declare EMACS_INT.
1217 (ASSURE_DESTINATION): Declare more_bytes EMACS_INT.
1218 (encode_invocation_designation): Last argument P_NCHARS is now
1219 EMACS_INT.
1220 (decode_eol): Declare pos_byte, pos, and pos_end EMACS_INT.
1221 (produce_chars): from_nchars and to_nchars are now EMACS_INT.
1222
1223 * coding.h (struct coding_system) <head_ascii>: Declare EMACS_INT.
1224 All users changed.
1225
1226 * ccl.c (Fccl_execute_on_string): Declare some variables
1227 EMACS_INT.
1228
8546720e 12292011-04-08 Samuel Thibault <sthibault@debian.org> (tiny change)
0080dc6b
SS
1230
1231 * term.c (init_tty): Fix incorrect ifdef placement (Bug#8450).
1232
4e19a977
CS
12332011-03-19 Christoph Scholtes <cschol2112@googlemail.com>
1234
1235 * process.c (Fformat_network_address): Doc fix.
1236
87302331
R
12372011-04-08 T.V. Raman <tv.raman.tv@gmail.com> (tiny change)
1238
1239 * xml.c (parse_region): Avoid creating spurious whiespace nodes.
1240
cbb59342
CY
12412011-04-08 Chong Yidong <cyd@stupidchicken.com>
1242
1243 * keyboard.c (read_char): Call Lisp function help-form-show,
1244 instead of using internal_with_output_to_temp_buffer.
1245 (Qhelp_form_show): New var.
e0d38eeb 1246 (syms_of_keyboard): Use DEFSYM macro.
cbb59342
CY
1247
1248 * print.c (internal_with_output_to_temp_buffer): Function deleted.
1249
1250 * lisp.h (internal_with_output_to_temp_buffer): Remove prototype.
1251
e67a13ab
CY
12522011-04-06 Chong Yidong <cyd@stupidchicken.com>
1253
1254 * process.c (Flist_processes): Removed to Lisp.
1255 (list_processes_1): Deleted.
1256
973f782d
EZ
12572011-04-06 Eli Zaretskii <eliz@gnu.org>
1258
7c106b1e
EZ
1259 * msdos.c (careadlinkat, careadlinkatcwd): MS-DOS replacements.
1260
973f782d
EZ
1261 * w32.c (careadlinkat, careadlinkatcwd): New always-fail stubs.
1262
41cf7d1a 12632011-04-06 Paul Eggert <eggert@cs.ucla.edu>
27ccc379 1264
ca23cc88
PE
1265 Fix more problems found by GCC 4.6.0's static checks.
1266
f390e2d5
PE
1267 * xmenu.c (Fx_popup_dialog): Don't assume string is free of formats.
1268
42eea0d0
PE
1269 * menu.c (Fx_popup_menu): Don't assume error_name lacks printf formats.
1270
b69769da 1271 * lisp.h (message, message_nolog, fatal): Mark as printf-like.
1e973bc7 1272
f9541e84
PE
1273 * xdisp.c (vmessage): Mark as a printf-like function.
1274
13841b55
PE
1275 * term.c (vfatal, maybe_fatal): Mark as printf-like functions.
1276
c136c10f
PE
1277 * sound.c (sound_warning): Don't crash if arg contains a printf format.
1278
5e2d4a30
PE
1279 * image.c (tiff_error_handler, tiff_warning_handler): Mark as
1280 printf-like functions.
1281 (tiff_load): Add casts to remove these marks before passing them
1282 to system-supplied API.
1283
583f48b9
PE
1284 * eval.c (Fsignal): Remove excess argument to 'fatal'.
1285
b25d760e
PE
1286 * coding.c (EMIT_ONE_BYTE, EMIT_TWO_BYTES): Use unsigned, not int.
1287 This avoids several warnings with gcc -Wstrict-overflow.
d5efd1d1
PE
1288 (DECODE_COMPOSITION_RULE): If the rule is invalid, goto invalid_code
1289 directly, rather than having caller test rule sign. This avoids
1290 some unnecessary tests.
1291 * composite.h (COMPOSITION_ENCODE_RULE_VALID): New macro.
1292 (COMPOSITION_ENCODE_RULE): Arguments now must be valid. This
1293 affects only one use, in DECODE_COMPOSITION_RULE, which is changed.
b25d760e 1294
bc7b6697 1295 * xfont.c (xfont_text_extents): Remove var that was set but not used.
625a3eb1 1296 (xfont_open): Avoid unnecessary tests.
bc7b6697 1297
27ccc379
PE
1298 * composite.c (composition_gstring_put_cache): Use unsigned integer.
1299
dcd5c89a
PE
1300 * composite.h, composite.c (composition_gstring_put_cache):
1301 Use EMACS_INT, not int, for length.
1302
b13a45c6
PE
1303 * composite.h (COMPOSITION_DECODE_REFS): New macro,
1304 breaking out part of COMPOSITION_DECODE_RULE.
1305 (COMPOSITION_DECODE_RULE): Use it.
1306 * composite.c (get_composition_id): Remove unused local vars,
1307 by using the new macro.
1308
1e792e4d
PE
1309 * textprop.c (set_text_properties_1): Change while to do-while,
1310 since the condition is always true at first.
1311
dc6c6455 1312 * intervals.c (graft_intervals_into_buffer): Mark var as used.
aa86731f
PE
1313 (interval_deletion_adjustment): Return unsigned value.
1314 All uses changed.
dc6c6455 1315
aba7731a
PE
1316 * process.c (list_processes_1, create_pty, read_process_output):
1317 (exec_sentinel): Remove vars that were set but not used.
afd4052b 1318 (create_pty): Remove unnecessary "volatile"s.
bc57d757 1319 (Fnetwork_interface_info): Avoid possibility of int overflow.
82eaa333 1320 (read_process_output): Do adaptive read buffering even if carryover.
fe07cdfa 1321 (read_process_output): Simplify nbytes computation if buffered.
aba7731a 1322
fdfc4bf3
PE
1323 * bytecode.c (exec_byte_code): Rename local to avoid shadowing.
1324
fca8fe46 1325 * syntax.c (scan_words): Remove var that was set but not used.
12cbf13f 1326 (update_syntax_table): Use unsigned instead of int.
fca8fe46 1327
06a0259a 1328 * lread.c (lisp_file_lexically_bound_p): Use ints rather than endptrs.
3c346cc3 1329 (lisp_file_lexically_bound_p, read1): Use unsigned instead of int.
e6eb4e9e 1330 (safe_to_load_p): Make the end-of-loop test the inverse of the in-loop.
06a0259a 1331
e7b9e80f
PE
1332 * print.c (print_error_message): Avoid int overflow.
1333
56201685
PE
1334 * font.c (font_list_entities): Redo for clarity,
1335 so that reader need not know FONT_DPI_INDEX + 1 == FONT_SPACING_INDEX.
1336
78834453 1337 * font.c (font_find_for_lface, Ffont_get_glyphs): Remove unused vars.
790771b1 1338 (font_score): Avoid potential overflow in diff calculation.
78834453 1339
0bc0b309 1340 * fns.c (substring_both): Remove var that is set but not used.
8cd55cb4 1341 (sxhash): Redo loop for clarity and to avoid wraparound warning.
0bc0b309 1342
e610eaca
PE
1343 * eval.c (funcall_lambda): Rename local to avoid shadowing.
1344
b895abce
PE
1345 * alloc.c (mark_object_loop_halt, mark_object): Use size_t, not int.
1346 Otherwise, GCC 4.6.0 optimizes the loop check away since the check
1347 can always succeed if overflow has undefined behavior.
1348
1f1d9321 1349 * search.c (boyer_moore, wordify): Remove vars set but not used.
6f076cc7 1350 (wordify): Omit three unnecessary tests.
1f1d9321 1351
c59478bc
PE
1352 * indent.c (MULTIBYTE_BYTES_WIDTH): Don't compute wide_column.
1353 All callers changed. This avoids the need for an unused var.
1354
79b73827
PE
1355 * casefiddle.c (casify_region): Remove var that is set but not used.
1356
a4db5dfe
PE
1357 * dired.c (file_name_completion): Remove var that is set but not used.
1358
43aae36e
PE
1359 * fileio.c (Finsert_file_contents): Make EOF condition clearer.
1360
2a47c44d 1361 * fileio.c (Finsert_file_contents): Avoid signed integer overflow.
163c5f32 1362 (Finsert_file_contents): Remove unnecessary code checking fd.
2a47c44d 1363
a37c69bf
PE
1364 * minibuf.c (read_minibuf_noninteractive): Use size_t for sizes.
1365 Check for integer overflow on size calculations.
1366
328ab8e7
PE
1367 * buffer.c (Fprevious_overlay_change): Remove var that is set
1368 but not used.
1369
e5a2a5cb
PE
1370 * keyboard.c (menu_bar_items, read_char_minibuf_menu_prompt):
1371 Remove vars that are set but not used.
8d84a6eb 1372 (timer_check_2): Don't assume timer-list and idle-timer-list are lists.
6b043475 1373 (timer_check_2): Mark vars as initialized.
e5a2a5cb 1374
a60e5f68
PE
1375 * gtkutil.c (xg_get_file_with_chooser): Mark var as initialized.
1376
f661cb61 1377 * image.c (lookup_image): Remove var that is set but not used.
35fa624f 1378 (xbm_load): Use parse_p, for gcc -Werror=unused-but-set-variable.
f661cb61 1379
f0397f5a
PE
1380 * fontset.c (Finternal_char_font, Ffontset_info): Remove vars
1381 that are set but not used.
1382
8664db06 1383 * xfns.c (make_invisible_cursor): Don't return garbage
03733ee7 1384 if XCreateBitmapFromData fails (Bug#8410).
8664db06 1385
6abdaa4a
PE
1386 * xselect.c (x_get_local_selection, x_handle_property_notify):
1387 Remove vars that are set but not used.
1388
0ce7538d 1389 * xfns.c (x_create_tip_frame): Remove var that is set but not used.
6abdaa4a 1390 (make_invisible_cursor): Initialize a possibly-uninitialized variable.
0ce7538d 1391
9ae848fc
PE
1392 * xterm.c (x_scroll_bar_to_input_event) [!USE_GTK]:
1393 Remove var that is set but not used.
0b918413
PE
1394 (scroll_bar_windows_size): Now size_t, not int.
1395 (x_send_scroll_bar_event): Use size_t, not int, for sizes.
1396 Check for overflow.
9ae848fc 1397
a5a62657
PE
1398 * xfaces.c (realize_named_face): Remove vars that are set but not used.
1399 (map_tty_color) [!defined MSDOS]: Likewise.
1400
5c5cdd39
PE
1401 * term.c (tty_write_glyphs): Use size_t; this avoids overflow warning.
1402
66ebf983
PE
1403 * coding.c: Remove vars that are set but not used.
1404 (DECODE_COMPOSITION_RULE): Remove 2nd arg, which is unused.
1405 All callers changed.
1406 (decode_coding_utf_8, decode_coding_utf_16 decode_coding_emacs_mule):
1407 (decode_coding_iso_2022, encode_coding_sjis, encode_coding_big5):
1408 (decode_coding_charset): Remove vars that are set but not used.
1409
1be4d761
PE
1410 * bytecode.c (Fbyte_code) [!defined BYTE_CODE_SAFE]: Remove var
1411 that is set but not used.
1412
47553fa8
PE
1413 * print.c (print_object): Remove var that is set but not used.
1414
1f7196bf 1415 Replace 2 copies of readlink code with 1 gnulib version (Bug#8401).
d1fdcab7
PE
1416 The gnulib version avoids calling malloc in the usual case,
1417 and on 64-bit hosts doesn't have some arbitrary 32-bit limits.
1418 * fileio.c (Ffile_symlink_p): Use emacs_readlink.
1419 * filelock.c (current_lock_owner): Likewise.
1420 * lisp.h (READLINK_BUFSIZE, emacs_readlink): New function.
1421 * sysdep.c: Include allocator.h, careadlinkat.h.
1422 (emacs_no_realloc_allocator): New static constant.
1423 (emacs_readlink): New function.
fdb61804
PE
1424 * deps.mk (sysdep.o): Depend on ../lib/allocator.h and on
1425 ../lib/careadlinkat.h.
d1fdcab7 1426
f84c17c7
SM
14272011-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
1428
1429 * keyboard.c (safe_run_hook_funcall): Fix last change (don't stop at the
1430 first non-nil return value).
1431
ef3862ad
JD
14322011-04-03 Jan Djärv <jan.h.d@swipnet.se>
1433
1434 * nsterm.m (ns_update_auto_hide_menu_bar): Define MAC_OS_X_VERSION_10_6
1435 if not defined (Bug#8403).
1436
376a7006
JB
14372011-04-02 Juanma Barranquero <lekktu@gmail.com>
1438
1439 * xdisp.c (display_count_lines): Remove parameter `start',
1440 unused since 1998-01-01T02:27:27Z!rms@gnu.org. All callers changed.
1441 (get_char_face_and_encoding): Remove parameter `multibyte_p',
1442 unused since 2008-05-14T01:40:23Z!handa@m17n.org. All callers changed.
1443 (fill_stretch_glyph_string): Remove parameters `row' and `area',
1444 unused at least since Kim's GUI unification at 2003-03-16T20:45:46Z!storm@cua.dk
1445 and thereabouts. All callers changed.
1446 (get_per_char_metric): Remove parameter `f', unused since
1447 2008-05-14T01:40:23Z!handa@m17n.org. All callers changed.
1448
6ca3801d
JM
14492011-04-02 Jim Meyering <meyering@redhat.com>
1450
1451 do not dereference NULL upon failed strdup
1452 * nsfont.m (ns_descriptor_to_entity): Use xstrdup, not strdup.
1453 (ns_get_family): Likewise.
1454
d8e2b5ba
JB
14552011-04-02 Juanma Barranquero <lekktu@gmail.com>
1456
1457 * eval.c (unwind_to_catch) [DEBUG_GCPRO]: Remove redundant assignment.
1458
8c74fcbd
JD
14592011-04-02 Jan Djärv <jan.h.d@swipnet.se>
1460
1461 * nsterm.m (ns_update_auto_hide_menu_bar): Only for OSX 10.6 or
1462 later (Bug#8403).
1463
7200d79c
SM
14642011-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
1465
03408648 1466 Add lexical binding.
7200d79c 1467
03408648
SM
1468 * window.c (Ftemp_output_buffer_show): New fun.
1469 (Fsave_window_excursion):
1470 * print.c (Fwith_output_to_temp_buffer): Move to subr.el.
1471
1472 * lread.c (lisp_file_lexically_bound_p): New function.
1473 (Fload): Bind Qlexical_binding.
1474 (readevalloop): Remove `evalfun' arg.
1475 Bind Qinternal_interpreter_environment.
1476 (Feval_buffer): Bind Qlexical_binding.
1477 (defvar_int, defvar_bool, defvar_lisp_nopro, defvar_kboard):
1478 Mark as dynamic.
1479 (syms_of_lread): Declare `lexical-binding'.
1480
1481 * lisp.h (struct Lisp_Symbol): New field `declared_special'.
1482
1483 * keyboard.c (eval_dyn): New fun.
1484 (menu_item_eval_property): Use it.
ca105506
SM
1485
1486 * image.c (parse_image_spec): Use Ffunctionp.
ca105506 1487
03408648
SM
1488 * fns.c (concat, mapcar1): Accept byte-code-functions.
1489
1490 * eval.c (Fsetq): Handle lexical vars.
1491 (Fdefun, Fdefmacro, Ffunction): Make closures when needed.
1492 (Fdefconst, Fdefvaralias, Fdefvar): Mark as dynamic.
1493 (FletX, Flet): Obey lexical binding.
1494 (Fcommandp): Handle closures.
1495 (Feval): New `lexical' arg.
1496 (eval_sub): New function extracted from Feval. Use it almost
1497 everywhere where Feval was used. Look up vars in lexical env.
1498 Handle closures.
1499 (Ffunctionp): Move from subr.el.
1500 (Ffuncall): Handle closures.
1501 (apply_lambda): Remove `eval_flags'.
1502 (funcall_lambda): Handle closures and new byte-code-functions.
1503 (Fspecial_variable_p): New function.
1504 (syms_of_eval): Initialize the Vinternal_interpreter_environment var,
1505 but without exporting it to Lisp.
23aba0ea 1506
23aba0ea 1507 * doc.c (Fdocumentation, store_function_docstring):
03408648 1508 * data.c (Finteractive_form): Handle closures.
23aba0ea 1509
03408648
SM
1510 * callint.c (Fcall_interactively): Preserve lexical-binding mode for
1511 interactive spec.
ba83908c 1512
03408648
SM
1513 * bytecode.c (Bstack_ref, Bstack_set, Bstack_set2, BdiscardN): New
1514 byte-codes.
1515 (exec_byte_code): New function extracted from Fbyte_code to handle new
1516 calling convention for byte-code-functions. Add new byte-codes.
ba83908c 1517
03408648 1518 * buffer.c (defvar_per_buffer): Set new `declared_special' field.
e2abe5a1 1519
03408648 1520 * alloc.c (Fmake_symbol): Init new `declared_special' field.
e2abe5a1 1521
e2abce01
JB
15222011-03-31 Juanma Barranquero <lekktu@gmail.com>
1523
1524 * xdisp.c (redisplay_internal): Fix prototype.
1525
63696a73 15262011-03-31 Eli Zaretskii <eliz@gnu.org>
09725d26 1527
63696a73
EZ
1528 * xdisp.c (SCROLL_LIMIT): New macro.
1529 (try_scrolling): Use it when setting scroll_limit. Limit
1530 scrolling to 100 screen lines.
1531 (redisplay_window): Even when falling back on "recentering",
1532 position point in the window according to scroll-conservatively,
1533 scroll-margin, and scroll-*-aggressively variables. (Bug#6671)
1534
1535 (try_scrolling): When point is above the window, allow searching
1536 as far as scroll_max, or one screenful, to compute vertical
1537 distance from PT to the scroll margin position. This prevents
1538 try_scrolling from unnecessarily failing when
1539 scroll-conservatively is set to a value slightly larger than the
1540 window height. Clean up the case of PT below the margin at bottom
1541 of window: scroll_max can no longer be INT_MAX. When aggressive
1542 scrolling is in use, don't let point enter the opposite scroll
1543 margin as result of the scroll.
1544 (syms_of_xdisp) <scroll-conservatively>: Document the
09725d26
EZ
1545 threshold of 100 lines for never-recentering scrolling.
1546
e4cc2dfc
JB
15472011-03-31 Juanma Barranquero <lekktu@gmail.com>
1548
1549 * dispextern.h (move_it_by_lines):
1550 * xdisp.c (move_it_by_lines): Remove parameter `need_y_p', unused
1551 since 2000-12-29T14:24:09Z!gerd@gnu.org. All callers changed.
1552 (message_log_check_duplicate): Remove parameters `prev_bol' and
1553 `this_bol', unused since 1998-01-01T02:27:27Z!rms@gnu.org. All callers changed.
1554 (redisplay_internal): Remove parameter `preserve_echo_area',
1555 unused since 1999-07-21T21:43:52Z!gerd@gnu.org. All callers changed.
1556
1557 * indent.c (Fvertical_motion):
1558 * window.c (window_scroll_pixel_based, Frecenter):
1559 Don't pass `need_y_p' to `move_it_by_lines'.
1560
1c470562
SM
15612011-03-30 Stefan Monnier <monnier@iro.umontreal.ca>
1562
44f230aa
SM
1563 * eval.c (struct backtrace): Don't cheat with negative numbers, but do
1564 steal a few bits to be more compact.
1565 (interactive_p, Fbacktrace, Fbacktrace_frame, mark_backtrace):
1566 Remove unneeded casts.
1567
1c470562
SM
1568 * bytecode.c (Fbyte_code): CAR and CDR can GC.
1569
888adce9
ZK
15702011-03-30 Zachary Kanfer <zkanfer@gmail.com> (tiny change)
1571
1572 * keyboard.c (Fexecute_extended_command): Do log the "suggest key
1573 binding" message (bug#7967).
1574
f838ed7b
PE
15752011-03-30 Paul Eggert <eggert@cs.ucla.edu>
1576
77861b95
PE
1577 Fix more problems found by GCC 4.6.0's static checks.
1578
de6dbc14
PE
1579 * unexelf.c (unexec) [! (defined _SYSTYPE_SYSV || defined __sgi)]:
1580 Remove unused local var.
1581
f838ed7b
PE
1582 * editfns.c (Fmessage_box): Remove unused local var.
1583
792c7b2b
PE
1584 * xdisp.c (try_window_reusing_current_matrix, x_produce_glyphs):
1585 (note_mode_line_or_margin_highlight, note_mouse_highlight):
1586 Omit unused local vars.
c499e557 1587 * window.c (shrink_windows): Omit unused local var.
b01a1c29 1588 * menu.c (digest_single_submenu): Omit unused local var.
0bc32927
PE
1589 * dispnew.c (update_window) [PERIODIC_PREEMPTION_CHECKING]:
1590 Omit unused local var.
1591
ba0165e1
PE
1592 * keyboard.c (parse_modifiers_uncached, parse_modifiers):
1593 Don't assume string length fits in int.
32ad8845 1594 (keyremap_step, read_key_sequence): Use size_t for sizes.
48011560 1595 (read_key_sequence): Don't check last_real_key_start redundantly.
ba0165e1 1596
3c59b4c9
PE
1597 * callproc.c (Fcall_process, Fcall_process_region): Use SAFE_ALLOCA
1598 instead of alloca (Bug#8344).
1599
a3eed478 1600 * eval.c (Fbacktrace): Don't assume nargs fits in int.
5d5d959d 1601 (Fbacktrace_frame): Don't assume nframes fits in int.
a3eed478 1602
eb4d412d
PE
1603 * syntax.c (scan_sexps_forward): Avoid pointer wraparound.
1604
1658b401
PE
1605 * xterm.c (x_make_frame_visible, same_x_server): Redo to avoid overflow
1606 concerns.
1607
1608 * term.c (produce_glyphless_glyph): Remove unnecessary test.
1609
1610 * cm.c (calccost): Turn while-do into do-while, for clarity.
44f730c8 1611
9a2c6e05
PE
1612 * keyboard.c (syms_of_keyboard): Use the same style as later
1613 in this function when indexing through an array. This also
1614 works around GCC bug 48267.
1615
03d0a109
PE
1616 * image.c (tiff_load): Fix off-by-one image count (Bug#8336).
1617
44f730c8
PE
1618 * xselect.c (x_check_property_data): Return correct size (Bug#8335).
1619
fe75f926
PE
1620 * chartab.c (sub_char_table_ref_and_range): Redo for slight
1621 efficiency gain, and to bypass a gcc -Wstrict-overflow warning.
1622
ffa8c828
PE
1623 * keyboard.c, keyboard.h (num_input_events): Now size_t.
1624 This avoids undefined behavior on integer overflow, and is a bit
1625 more convenient anyway since it is compared to a size_t variable.
1626
c5101a77
PE
1627 Variadic C functions now count arguments with size_t, not int.
1628 This avoids an unnecessary limitation on 64-bit machines, which
1629 caused (substring ...) to crash on large vectors (Bug#8344).
1630 * lisp.h (struct Lisp_Subr.function.aMANY): Now takes size_t, not int.
1631 (DEFUN_ARGS_MANY, internal_condition_case_n, safe_call): Likewise.
77861b95 1632 All variadic functions and their callers changed accordingly.
c5101a77
PE
1633 (struct gcpro.nvars): Now size_t, not int. All uses changed.
1634 * data.c (arith_driver, float_arith_driver): Likewise.
1635 * editfns.c (general_insert_function): Likewise.
1636 * eval.c (struct backtrace.nargs, interactive_p)
1637 (internal_condition_case_n, run_hook_with_args, apply_lambda)
1638 (funcall_lambda, mark_backtrace): Likewise.
1639 * fns.c (concat): Likewise.
1640 * frame.c (x_set_frame_parameters): Likewise.
1641 * fns.c (get_key_arg): Now accepts and returns size_t, and returns
1642 0 if not found, not -1. All callers changed.
1643
dd3f25f7
PE
1644 * alloc.c (garbage_collect): Don't assume stack size fits in int.
1645 (stack_copy_size): Now size_t, not int.
1646 (stack_copy, stack_copy_size): Define only if MAX_SAVE_STACK > 0.
1647
461c2ab9
JB
16482011-03-28 Juanma Barranquero <lekktu@gmail.com>
1649
1650 * coding.c (encode_designation_at_bol): Remove parameter `charbuf_end',
1651 unused since 2002-03-01T01:17:24Z!handa@m17n.org and 2008-02-01T16:01:31Z!miles@gnu.org.
1652 All callers changed.
1653
1654 * lisp.h (multibyte_char_to_unibyte):
1655 * character.c (multibyte_char_to_unibyte): Remove parameter `rev_tbl',
1656 unused since 2002-03-01T01:16:34Z!handa@m17n.org and 2008-02-01T16:01:31Z!miles@gnu.org.
1657 * character.h (CHAR_TO_BYTE8):
1658 * cmds.c (internal_self_insert):
1659 * editfns.c (general_insert_function):
1660 * keymap.c (push_key_description):
1661 * search.c (Freplace_match):
1662 * xdisp.c (message_dolog, set_message_1): All callers changed.
1663
f6d62986
SM
16642011-03-28 Stefan Monnier <monnier@iro.umontreal.ca>
1665
1666 * keyboard.c (safe_run_hook_funcall): New function.
1667 (safe_run_hooks_1, safe_run_hooks_error, safe_run_hooks): On error,
1668 don't set the hook to nil, but remove the offending function instead.
1669 (Qcommand_hook_internal): Remove, unused.
1670 (syms_of_keyboard): Don't initialize Qcommand_hook_internal nor define
1671 Vcommand_hook_internal.
1672
1673 * eval.c (enum run_hooks_condition): Remove.
1674 (funcall_nil, funcall_not): New functions.
1675 (run_hook_with_args): Call each function through a `funcall' argument.
1676 Remove `cond' argument, now redundant.
1677 (Frun_hooks, Frun_hook_with_args, Frun_hook_with_args_until_success)
1678 (Frun_hook_with_args_until_failure): Adjust accordingly.
1679 (run_hook_wrapped_funcall, Frun_hook_wrapped): New functions.
1680
1db5b1ad
JB
16812011-03-28 Juanma Barranquero <lekktu@gmail.com>
1682
1683 * dispextern.h (string_buffer_position): Remove declaration.
1684
1685 * print.c (strout): Remove parameter `multibyte', unused since
1686 1999-08-21T19:30:21Z!gerd@gnu.org. All callers changed.
1687
1688 * search.c (boyer_moore): Remove parameters `len', `pos' and `lim',
1689 never used since function introduction in 1998-02-08T21:33:56Z!rms@gnu.org.
1690 All callers changed.
1691
1692 * w32.c (_wsa_errlist): Use braces for struct initializers.
1693
1694 * xdisp.c (string_buffer_position_lim): Remove parameter `w',
1695 never used since function introduction in 2001-03-09T18:41:50Z!gerd@gnu.org.
1696 All callers changed.
1697 (string_buffer_position): Likewise. Also, make static (it's never
1698 used outside xdisp.c).
1699 (cursor_row_p): Remove parameter `w', unused since
1700 2000-10-17T16:08:57Z!gerd@gnu.org. All callers changed.
1701 (decode_mode_spec): Remove parameter `precision', introduced during
1702 Gerd Moellmann's rewrite at 1999-07-21T21:43:52Z!gerd@gnu.org, but never used.
1703 All callers changed.
1704
5ffb62aa
JD
17052011-03-27 Jan Djärv <jan.h.d@swipnet.se>
1706
1707 * nsterm.m (syms_of_nsterm): Use doc: for ns-auto-hide-menu-bar.
1708
461c2ab9 17092011-03-27 Anders Lindgren <andlind@gmail.com>
f0a1382a
JD
1710
1711 * nsterm.m (ns_menu_bar_is_hidden): New variable.
1712 (ns_constrain_all_frames, ns_menu_bar_should_be_hidden)
1713 (ns_update_auto_hide_menu_bar): New functions.
1714 (ns_update_begin): Call ns_update_auto_hide_menu_bar.
1715 (applicationDidBecomeActive): Call ns_update_auto_hide_menu_bar and
1716 ns_constrain_all_frames.
1717 (constrainFrameRect): Return at once if ns_menu_bar_should_be_hidden.
1718 (syms_of_nsterm): DEFVAR ns-auto-hide-menu-bar, init to Qnil.
1719
5c380ffb
JD
17202011-03-27 Jan Djärv <jan.h.d@swipnet.se>
1721
1722 * nsmenu.m (runDialogAt): Remove argument to timer_check.
1723
9af30bdf
GM
17242011-03-27 Glenn Morris <rgm@gnu.org>
1725
1726 * syssignal.h: Replace RETSIGTYPE with void.
1727 * atimer.c, data.c, dispnew.c, emacs.c, floatfns.c, keyboard.c:
1728 * keyboard.h, lisp.h, process.c, sysdep.c, xterm.c:
1729 Replace SIGTYPE with void everywhere.
1730 * s/usg5-4-common.h (SIGTYPE): Remove definition.
1731 * s/template.h (SIGTYPE): Remove commented out definition.
1732
e2abce01
JB
17332011-03-26 Eli Zaretskii <eliz@gnu.org>
1734
1735 * xdisp.c (redisplay_window): Don't check buffer's clip_changed
1736 flag as a prerequisite for invoking try_scrolling. (Bug#6671)
1737
f868cd8a
JB
17382011-03-26 Juanma Barranquero <lekktu@gmail.com>
1739
59eb0929
JB
1740 * w32.c (read_unc_volume): Use parameter `henum', instead of
1741 global variable `wget_enum_handle'.
1742
1743 * keymap.c (describe_vector): Remove parameters `indices' and
1744 `char_table_depth', unused since 2002-03-01T01:43:26Z!handa@m17n.org.
1745 (describe_map, Fdescribe_vector): Adjust calls to `describe_vector'.
1746
f868cd8a
JB
1747 * keyboard.h (timer_check, show_help_echo): Remove unused parameters.
1748
1749 * keyboard.c (timer_check): Remove parameter `do_it_now',
1750 unused since 1996-04-12T06:01:29Z!rms@gnu.org.
1751 (show_help_echo): Remove parameter `ok_to_overwrite_keystroke_echo',
1752 unused since 2008-04-19T19:30:53Z!monnier@iro.umontreal.ca.
1753
1754 * keyboard.c (read_char):
1755 * w32menu.c (w32_menu_display_help):
1756 * xmenu.c (show_help_event, menu_help_callback):
1757 Adjust calls to `show_help_echo'.
1758
1759 * gtkutil.c (xg_maybe_add_timer):
1760 * keyboard.c (readable_events):
1761 * process.c (wait_reading_process_output):
1762 * xmenu.c (x_menu_wait_for_event): Adjust calls to `timer_check'.
1763
1764 * insdel.c (adjust_markers_gap_motion):
1765 Remove; no-op since 1998-01-02T21:29:48Z!rms@gnu.org.
1766 (gap_left, gap_right): Don't call it.
1767
2ecf6fdb
CY
17682011-03-25 Chong Yidong <cyd@stupidchicken.com>
1769
1770 * xdisp.c (handle_fontified_prop): Discard changes to clip_changed
1771 incurred during fontification.
1772
6b1f9ba4
JB
17732011-03-25 Juanma Barranquero <lekktu@gmail.com>
1774
1775 * buffer.c (defvar_per_buffer): Remove unused parameter `doc'.
1776 (DEFVAR_PER_BUFFER): Don't pass it.
1777
1778 * dispnew.c (row_equal_p, add_row_entry): Remove unused parameter `w'.
1779 (scrolling_window): Don't pass it.
1780
0f4a96b5
JB
17812011-03-25 Juanma Barranquero <lekktu@gmail.com>
1782
1783 * dispextern.h (glyph_matric): Use #if GLYPH_DEBUG, not #ifdef.
1784
1785 * fileio.c (check_executable) [DOS_NT]: Remove unused variables `len'
1786 and `suffix'.
1787 (Fset_file_selinux_context) [HAVE_LIBSELINUX]: Move here declaration
1788 of variables specific to SELinux and computation of `encoded_absname'.
1789
1790 * image.c (XPutPixel): Remove unused variable `height'.
1791
1792 * keyboard.c (make_lispy_event): Remove unused variable `hpos'.
1793
1794 * unexw32.c (get_section_info): Remove unused variable `section'.
1795
1796 * w32.c (stat): Remove unused variables `drive_root' and `devtype'.
1797 (system_process_attributes): Remove unused variable `sess'.
1798 (sys_read): Remove unused variable `err'.
1799
1800 * w32fns.c (top): Wrap variables with #if GLYPH_DEBUG, not #ifdef.
1801 (w32_wnd_proc): Remove unused variable `isdead'.
1802 (unwind_create_frame): Use #if GLYPH_DEBUG, not #ifdef.
1803 (Fx_server_max_request_size): Remove unused variable `dpyinfo'.
1804 (x_create_tip_frame): Remove unused variable `tem'.
1805
1806 * w32inevt.c (w32_console_read_socket):
1807 Remove unused variable `no_events'.
1808
1809 * w32term.c (x_draw_composite_glyph_string_foreground):
1810 Remove unused variable `width'.
1811
1149507c
JB
18122011-03-24 Juanma Barranquero <lekktu@gmail.com>
1813
1814 * w32term.c (x_set_glyph_string_clipping):
1815 Don't pass uninitialized region to CombineRgn.
1816
9c88f339
JB
18172011-03-23 Juanma Barranquero <lekktu@gmail.com>
1818
1819 * w32fns.c (x_set_menu_bar_lines): Remove unused variable `olines'.
1820 (w32_wnd_proc): Pass NULL to Windows API, not uninitialized buffer.
1821 (Fx_close_connection): Remove unused variable `i'.
1822
1823 * w32font.c (w32font_draw): Return number of glyphs.
1824 (w32font_open_internal): Remove unused variable `i'.
1825 (w32font_driver): Add missing initializer.
1826
1827 * w32menu.c (utf8to16): Remove unused variable `utf16'.
1828 (fill_in_menu): Remove unused variable `items_added'.
1829
1830 * w32term.c (last_mouse_press_frame): Remove static global variable.
1831 (w32_clip_to_row): Remove unused variable `f'.
1832 (x_delete_terminal): Remove unused variable `i'.
1833
1834 * w32uniscribe.c (uniscribe_shape): Remove unused variable `nclusters'.
1835 (NOTHING): Remove unused static global variable.
1836 (uniscribe_check_otf): Remove unused variable `table'.
1837 (uniscribe_font_driver): Add missing initializers.
1838
dee091a3
JD
18392011-03-23 Julien Danjou <julien@danjou.info>
1840
1841 * term.c (Fsuspend_tty, Fresume_tty):
1842 * minibuf.c (read_minibuf, run_exit_minibuf_hook):
1843 * window.c (temp_output_buffer_show):
1844 * insdel.c (signal_before_change):
1845 * frame.c (Fhandle_switch_frame):
1846 * fileio.c (Fdo_auto_save):
1847 * emacs.c (Fkill_emacs):
1848 * editfns.c (save_excursion_restore):
1849 * cmds.c (internal_self_insert):
1850 * callint.c (Fcall_interactively):
1851 * buffer.c (Fkill_all_local_variables):
1852 * keyboard.c (Fcommand_execute, Fsuspend_emacs, safe_run_hooks_1):
1853 Use Frun_hooks.
0f4a96b5 1854 (command_loop_1): Use Frun_hooks. Call safe_run_hooks
dee091a3
JD
1855 unconditionnaly since it does the check itself.
1856
2c520ab5 18572011-03-23 Paul Eggert <eggert@cs.ucla.edu>
f0641eff 1858
c9c49752
PE
1859 Fix more problems found by GCC 4.5.2's static checks.
1860
8abc3f12
PE
1861 * coding.c (encode_coding_raw_text): Avoid unnecessary test
1862 the first time through the loop, since we know p0 < p1 then.
1863 This also avoids a gcc -Wstrict-overflow warning.
1864
a2d26660
PE
1865 * lisp.h (SAFE_ALLOCA, SAFE_ALLOCA_LISP): Avoid 'int' overflow
1866 leading to a memory leak, possible in functions like
1867 load_charset_map_from_file that can allocate an unbounded number
b12ef411 1868 of objects (Bug#8318).
a2d26660 1869
916c72e9
PE
1870 * xmenu.c (set_frame_menubar): Use EMACS_UINT, not int, for indexes
1871 that could (at least in theory) be that large.
1872
19ab8a18
PE
1873 * xdisp.c (message_log_check_duplicate): Return unsigned long, not int.
1874 This is less likely to overflow, and avoids undefined behavior if
1875 overflow does occur. All callers changed. Use strtoul to scan
1876 for the unsigned long integer.
b7cbbd6f
PE
1877 (pint2hrstr): Simplify and tune code slightly.
1878 This also avoids a (bogus) GCC warning with gcc -Wstrict-overflow.
19ab8a18 1879
f0641eff
PE
1880 * scroll.c (do_scrolling): Work around GCC bug 48228.
1881 See <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48228>.
1882
7f650bb9
PE
1883 * frame.c (Fmodify_frame_parameters): Simplify loop counter.
1884 This also avoids a warning with gcc -Wstrict-overflow.
39f5e519
PE
1885 (validate_x_resource_name): Simplify count usage.
1886 This also avoids a warning with gcc -Wstrict-overflow.
7f650bb9 1887
37dd57d1
PE
1888 * fileio.c (Fcopy_file): Report error if fchown or fchmod
1889 fail (Bug#8306).
81e56e61 1890
699979fc 1891 * emacs.c (Fdaemon_initialized): Do not ignore I/O errors (Bug#8303).
dc1ca6a8 1892
401bf9b4
PE
1893 * process.c (Fmake_network_process): Use socklen_t, not int,
1894 where POSIX says socklen_t is required in portable programs.
1895 This fixes a porting bug on hosts like 64-bit HP-UX, where
591b2973 1896 socklen_t is wider than int (Bug#8277).
401bf9b4
PE
1897 (Fmake_network_process, server_accept_connection):
1898 (wait_reading_process_output, read_process_output):
1899 Likewise.
1900
b93aacde
PE
1901 * process.c: Rename or move locals to avoid shadowing.
1902 (list_processes_1, Fmake_network_process):
1903 (read_process_output_error_handler, exec_sentinel_error_handler):
1904 Rename or move locals.
4dc343ee 1905 (Fmake_network_process): Define label "retry_connect" only if needed.
0da49335 1906 (Fnetwork_interface_info): Fix pointer signedness.
f990b4e5 1907 (process_send_signal): Add cast to avoid pointer signedness problem.
7b808126 1908 (FIRST_PROC_DESC, IF_NON_BLOCKING_CONNECT): Remove unused macros.
c939f91b 1909 (create_process): Use 'volatile' to avoid vfork clobbering (Bug#8298).
b93aacde 1910
af8a867c 1911 Make tparam.h and terminfo.c consistent.
44f230aa
SM
1912 * cm.c (tputs, tgoto, BC, UP): Remove extern decls.
1913 Include tparam.h instead, since it declares them.
af8a867c
PE
1914 * cm.h (PC): Remove extern decl; tparam.h now does this.
1915 * deps.mk (cm.o, terminfo.o): Depend on tparam.h.
1916 * terminfo.c: Include tparam.h, to check interfaces.
1917 (tparm): Make 1st arg a const pointer in decl. Put it at top level.
1918 (tparam): Adjust signature to match interface in tparam.h;
1919 this removes some undefined behavior. Check that outstring and len
1920 are zero, which they always are with Emacs.
1921 * tparam.h (PC, BC, UP): New extern decls.
1922
0248044d 1923 * xftfont.c (xftfont_shape): Now static, and defined only if needed.
001a7ab4 1924 (xftfont_open): Rename locals to avoid shadowing.
0248044d 1925
8ff096c1 1926 * ftfont.c (ftfont_resolve_generic_family): Fix pointer signedness.
a00924bb
PE
1927 (ftfont_otf_capability, ftfont_shape): Omit decls if not needed.
1928 (OTF_TAG_SYM): Omit macro if not needed.
e932860f 1929 (ftfont_list): Remove unused local.
49eaafba
PE
1930 (get_adstyle_property, ftfont_pattern_entity):
1931 (ftfont_lookup_cache, ftfont_open, ftfont_anchor_point):
1932 Rename locals to avoid shadowing.
8ff096c1 1933
e2be39f6
PE
1934 * xfont.c (xfont_list_family): Mark var as initialized.
1935
c9735e30
PE
1936 * xml.c (make_dom): Now static.
1937
8f5201ae
PE
1938 * composite.c (composition_compute_stop_pos): Rename local to
1939 avoid shadowing.
b246f932
PE
1940 (composition_reseat_it): Remove unused locals.
1941 (find_automatic_composition, composition_adjust_point): Likewise.
80e079b2 1942 (composition_update_it): Mark var as initialized.
11b61122
PE
1943 (find_automatic_composition): Mark vars as initialized,
1944 with a FIXME (Bug#8290).
8f5201ae 1945
760fbc2c
PE
1946 character.h: Rename locals to avoid shadowing.
1947 * character.h (PREV_CHAR_BOUNDARY, FETCH_STRING_CHAR_ADVANCE):
1948 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE, FETCH_CHAR_ADVANCE):
1949 (FETCH_CHAR_ADVANCE_NO_CHECK, INC_POS, DEC_POS, BUF_INC_POS):
1950 (BUF_DEC_POS): Be more systematic about renaming local temporaries
1951 to avoid shadowing.
1952
ff08eb85
PE
1953 * textprop.c (property_change_between_p): Remove; unused.
1954
fc7bf025
PE
1955 * intervals.c (interval_start_pos): Now static.
1956
235d7abc
PE
1957 * intervals.h (CHECK_TOTAL_LENGTH): Avoid empty "else".
1958
44f230aa
SM
1959 * atimer.c (start_atimer, append_atimer_lists, set_alarm):
1960 Rename locals to avoid shadowing.
3e7d6594 1961
50060332
PE
1962 * sound.c (wav_play, au_play, Fplay_sound_internal):
1963 Fix pointer signedness.
d01f234b 1964 (alsa_choose_format): Remove unused local var.
c83b8872
PE
1965 (wav_play): Initialize a variable to 0, to prevent undefined
1966 behavior (Bug#8278).
50060332 1967
c4fc4e30
PE
1968 * region-cache.c (insert_cache_boundary): Redo var to avoid shadowing.
1969
918436ed
PE
1970 * region-cache.h (pp_cache): New decl, for gcc -Wmissing-prototypes.
1971
c939f91b
PE
1972 * callproc.c (Fcall_process): Use 'volatile' to avoid vfork
1973 clobbering (Bug#8298).
b9c7f648
PE
1974 * sysdep.c (sys_subshell): Likewise.
1975 Previously, the sys_subshell 'volatile' was incorrectly IF_LINTted out.
7e9123a2 1976
6bd8c144
PE
1977 * lisp.h (child_setup): Now NO_RETURN unless DOS_NT.
1978 This should get cleaned up, so that child_setup has the
1979 same signature on all platforms.
1980
7710357c 1981 * callproc.c (call_process_cleanup): Now static.
cb1d0ef7 1982 (relocate_fd): Rename locals to avoid shadowing.
7710357c 1983
c59da222
CY
19842011-03-22 Chong Yidong <cyd@stupidchicken.com>
1985
1986 * xterm.c (x_clear_frame): Remove XClearWindow call. This appears
1987 not to be necessary, and produces flickering.
1988
66b87493
GM
19892011-03-20 Glenn Morris <rgm@gnu.org>
1990
1991 * config.in: Remove file.
1992
45b6f6d5
JB
19932011-03-20 Juanma Barranquero <lekktu@gmail.com>
1994
1995 * minibuf.c (Vcompleting_read_function): Don't declare, global variables
1996 are now in src/globals.h.
1997 (syms_of_minibuf): Remove spurious & from previous change.
1998
3ec03f7e
LL
19992011-03-20 Leo <sdl.web@gmail.com>
2000
2001 * minibuf.c (completing-read-function): New variable.
2002 (completing-read-default): Rename from completing-read.
2003 (completing-read): Call completing-read-function.
2004
b14e3e21
CY
20052011-03-19 Juanma Barranquero <lekktu@gmail.com>
2006
2007 * xfaces.c (Fx_load_color_file):
2008 Read color file from absolute filename (bug#8250).
2009
f2b726e6
JB
20102011-03-19 Juanma Barranquero <lekktu@gmail.com>
2011
2012 * makefile.w32-in: Update dependencies.
2013
09f6ff02
EZ
20142011-03-17 Eli Zaretskii <eliz@gnu.org>
2015
2016 * makefile.w32-in ($(BLD)/unexw32.$(O)): Depend on $(SRC)/unexec.h.
2017
29a6015a
PE
20182011-03-17 Paul Eggert <eggert@cs.ucla.edu>
2019
a3a6c54e
PE
2020 Fix more problems found by GCC 4.5.2's static checks.
2021
b766f867
PE
2022 * process.c (make_serial_process_unwind, send_process_trap):
2023 (sigchld_handler): Now static.
2024
be02381c
PE
2025 * process.c (allocate_pty): Let PTY_ITERATION declare iteration vars.
2026 That way, the code declares only the vars that it needs.
2027 * s/aix4-2.h (PTY_ITERATION): Declare iteration vars.
2028 * s/cygwin.h (PTY_ITERATION): Likewise.
2029 * s/darwin.h (PTY_ITERATION): Likewise.
2030 * s/gnu-linux.h (PTY_ITERATION): Likewise.
2031
57048744
PE
2032 * s/irix6-5.h (PTY_OPEN): Declare stb, to loosen coupling.
2033 * process.c (allocate_pty): Don't declare stb unless it's needed.
2034
7914961c 2035 * bytecode.c (MAYBE_GC): Rewrite so as not to use empty "else".
615f2d59
PE
2036 (CONSTANTLIM): Remove; unused.
2037 (METER_CODE, Bscan_buffer, Bread_char, Bset_mark):
2038 Define only if needed.
7914961c 2039
b3967b18
PE
2040 * unexelf.c (unexec): Name an expression,
2041 to avoid gcc -Wbad-function-cast warning.
9ae71512
PE
2042 Use a different way to cause a compilation error if anyone uses
2043 n rather than nn, a way that does not involve shadowing.
73366a00 2044 (ELF_BSS_SECTION_NAME, OLD_PROGRAM_H): Remove; unused.
b3967b18 2045
29a6015a
PE
2046 * deps.mk (unexalpha.o): Remove; unused.
2047
43cfc33e 2048 New file unexec.h, the (simple) interface for unexec (Bug#8267).
7feda0d2 2049 * unexec.h: New file.
ce701a33
PE
2050 * deps.mk (emacs.o, unexaix.o, unexcw.o, unexcoff.o, unexelf.o):
2051 (unexhp9k800.o, unexmacosx.o, unexsol.o, unexw32.o):
2052 Depend on unexec.h.
2053 * emacs.c [!defined CANNOT_DUMP]: Include unexec.h.
2054 * unexaix.c, unexcoff.c, unexcw.c, unexelf.c, unexhp9k800.c:
2055 * unexmacosx.c, unexsol.c, unexw32.c: Include unexec.h.
381259ef 2056 Change as necessary to match prototype in unexec.h.
ce701a33 2057
01f44d5a
PE
2058 * syntax.c (Fforward_comment, scan_lists): Rename locals to avoid
2059 shadowing.
4f63c6bb 2060 (back_comment, skip_chars): Mark vars as initialized.
01f44d5a 2061
a6670b0b
PE
2062 * character.h (FETCH_STRING_CHAR_ADVANCE_NO_CHECK, BUF_INC_POS):
2063 Rename locals to avoid shadowing.
2064
cef2010d 2065 * lread.c (read1): Rewrite so as not to use empty "else".
0902fe45 2066 (Fload, readevalloop, read1): Rename locals to avoid shadowing.
cef2010d 2067
d4d7173a
PE
2068 * print.c (Fredirect_debugging_output): Fix pointer signedess.
2069
f08b802a
PE
2070 * lisp.h (debug_output_compilation_hack): Add decl here, to avoid
2071 warning when compiling print.c.
2072
3ddb0639
PE
2073 * font.c (font_unparse_fcname): Abort in an "impossible" situation
2074 instead of using an uninitialized var.
5ad03b97 2075 (font_sort_entities): Mark var as initialized.
3ddb0639 2076
170a2692
PE
2077 * character.h (FETCH_CHAR_ADVANCE): Rename locals to avoid shadowing.
2078
e663c700
PE
2079 * font.c (font_unparse_xlfd): Don't mix pointers to variables with
2080 pointers to constants.
89bc529a 2081 (font_parse_fcname): Remove unused vars.
7b81e2d0 2082 (font_delete_unmatched): Now static.
ea838e10 2083 (font_get_spec): Remove; unused.
13a547c6
PE
2084 (font_style_to_value, font_prop_validate_style, font_unparse_fcname):
2085 (font_update_drivers, Ffont_get_glyphs, font_add_log):
2086 Rename or move locals to avoid shadowing.
e663c700 2087
2a80c887 2088 * fns.c (require_nesting_list, require_unwind): Now static.
612f56df 2089 (Ffillarray): Rename locals to avoid shadowing.
2a80c887 2090
1384fa33 2091 * floatfns.c (domain_error2): Define only if needed.
a885e2ed 2092 (Ffrexp, Fldexp): Rename locals to avoid shadowing.
1384fa33 2093
8b2c52e9
PE
2094 * alloc.c (mark_backtrace): Move decl from here ...
2095 * lisp.h: ... to here, so that it can be checked.
2096
475545b5 2097 * eval.c (call_debugger, do_debug_on_call, grow_specpdl): Now static.
d28a2170 2098 (Fdefvar): Rewrite so as not to use empty "else".
cfcbfb1a
PE
2099 (lisp_indirect_variable): Name an expression,
2100 to avoid gcc -Wbad-function-cast warning.
1faed8ae 2101 (Fdefvar): Rename locals to avoid shadowing.
475545b5 2102
b1349114 2103 * callint.c (quotify_arg, quotify_args): Now static.
a3e8cbda 2104 (Fcall_interactively): Rename locals to avoid shadowing.
b0e80955 2105 Use const pointer when appropriate.
b1349114 2106
a2928364
PE
2107 * lisp.h (get_system_name, get_operating_system_release):
2108 Move decls here, to check interfaces.
2109 * process.c (get_operating_system_release): Move decl to lisp.h.
2110 * xrdb.c (get_system_name): Likewise.
63c5d10b
PE
2111 * editfns.c (init_editfns, Fuser_login_name, Fuser_uid):
2112 (Fuser_real_uid, Fuser_full_name): Remove unnecessary casts,
2113 some of which prompt warnings from gcc -Wbad-function-cast.
545b49b4
PE
2114 (Fformat_time_string, Fencode_time, Finsert_char):
2115 (Ftranslate_region_internal, Fformat):
2116 Rename or remove local vars to avoid shadowing.
9710023e 2117 (Ftranslate_region_internal): Mark var as initialized.
63c5d10b 2118
a415e694
PE
2119 * doc.c (Fdocumentation, Fsnarf_documentation): Move locals to
2120 avoid shadowing.
2121
8ef4622d
PE
2122 * lisp.h (eassert): Check that the argument compiles, even if
2123 ENABLE_CHECKING is not defined.
2124
946f9a5b
PE
2125 * data.c (Findirect_variable): Name an expression, to avoid
2126 gcc -Wbad-function-cast warning.
112396d6 2127 (default_value, arithcompare, arith_driver, arith_error): Now static.
b9b84fa9 2128 (store_symval_forwarding): Rename local to avoid shadowing.
44f230aa
SM
2129 (Fmake_variable_buffer_local, Fmake_local_variable):
2130 Mark variables as initialized.
52746918 2131 (do_blv_forwarding, do_symval_forwarding): Remove; unused.
946f9a5b 2132
e5aab7e7 2133 * alloc.c (check_cons_list): Do not define unless GC_CHECK_CONS_LIST.
ae35e756
PE
2134 (Fmake_vector, Fvector, Fmake_byte_code, Fgarbage_collect):
2135 Rename locals to avoid shadowing.
dff45157
PE
2136 (mark_stack): Move local variables into the #ifdef region where
2137 they're used.
7bc26fdb
PE
2138 (BLOCK_INPUT_ALLOC, UNBLOCK_INPUT_ALLOC): Define only if
2139 ! defined SYSTEM_MALLOC && ! defined SYNC_INPUT, as they are not
2140 needed otherwise.
2141 (CHECK_ALLOCATED): Define only if GC_CHECK_MARKED_OBJECTS.
2142 (GC_STRING_CHARS): Remove; not used.
d40d4be1 2143 (Fmemory_limit): Cast sbrk's returned value to char *.
ae35e756 2144
e5aab7e7
PE
2145 * lisp.h (check_cons_list): Declare if GC_CHECK_CONS_LIST; this
2146 avoids undefined behavior in theory.
2147
4da60324
PE
2148 * regex.c (IF_LINT): Add defn, for benefit of ../lib-src.
2149
88043301
PE
2150 Use functions, not macros, for up- and down-casing (Bug#8254).
2151 * buffer.h (DOWNCASE_TABLE, UPCASE_TABLE, DOWNCASE, UPPERCASEP):
2152 (NOCASEP, LOWERCASEP, UPCASE, UPCASE1): Remove. All callers changed
2153 to use the following functions instead of these macros.
2154 (downcase): Adjust to lack of DOWNCASE_TABLE. Return int, not
2155 EMACS_INT, since callers assume the returned value fits in int.
2156 (upcase1): Likewise, for UPCASE_TABLE.
2157 (uppercasep, lowercasep, upcase): New static inline functions.
0da09c43 2158 * editfns.c (Fchar_equal): Remove no-longer-needed workaround for
db69b0cd 2159 the race-condition problem in the old DOWNCASE.
88043301 2160
19ed5445
PE
2161 * regex.c (CHARSET_LOOKUP_RANGE_TABLE_RAW, POP_FAILURE_REG_OR_COUNT):
2162 Rename locals to avoid shadowing.
2163 (regex_compile, re_match_2_internal): Move locals to avoid shadowing.
abbd1bcf
PE
2164 (regex_compile, re_search_2, re_match_2_internal):
2165 Remove unused local vars.
952db0d7
PE
2166 (FREE_VAR): Rewrite so as not to use empty "else",
2167 which gcc can warn about.
da053e48 2168 (regex_compile, re_match_2_internal): Mark locals as initialized.
b313f9d8
PE
2169 (RETALLOC_IF): Define only if needed.
2170 (WORDCHAR_P): Likewise. This one is never needed, but is used
2171 only in a comment talking about a compiler bug, so put inside
2172 the #if 0 of that comment.
2173 (CHARSET_LOOKUP_BITMAP, FAIL_STACK_FULL, RESET_FAIL_STACK):
2174 (PUSH_FAILURE_ELT, BUF_PUSH_3, STOP_ADDR_VSTRING):
2175 Remove; unused.
19ed5445 2176
1f3561e4 2177 * search.c (boyer_moore): Rename locals to avoid shadowing.
76ef09b7
PE
2178 * character.h (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE):
2179 (PREV_CHAR_BOUNDARY): Likewise.
1f3561e4 2180
ded6f8f7
PE
2181 * search.c (simple_search): Remove unused var.
2182
dbd37a95
PE
2183 * dired.c (compile_pattern): Move decl from here ...
2184 * lisp.h: ... to here, so that it can be checked.
2185 (struct re_registers): New forward decl.
2186
7e47afad
PE
2187 * character.h (INC_POS, DEC_POS): Rename locals to avoid shadowing.
2188
85f24f61
PE
2189 * indent.c (MULTIBYTE_BYTES_WIDTH): New args bytes, width.
2190 All uses changed.
2191 (MULTIBYTE_BYTES_WIDTH, scan_for_column, compute_motion):
2192 Rename locals to avoid shadowing.
5671df8f 2193 (Fvertical_motion): Mark locals as initialized.
85f24f61 2194
181aa2be 2195 * casefiddle.c (casify_object, casify_region): Now static.
e45a141a 2196 (casify_region): Mark local as initialized.
181aa2be 2197
930d429c
PE
2198 * cmds.c (internal_self_insert): Rename local to avoid shadowing.
2199
7082eac6
PE
2200 * lisp.h (GCPRO2_VAR, GCPRO3_VAR, GCPRO4_VAR, GCPRO5_VAR, GCPRO6_VAR):
2201 New macros, so that the caller can use some names other than
2202 gcpro1, gcpro2, etc.
2203 (GCPRO2, GCPRO3, GCPRO4, GCPRO5, GCPRO6): Reimplement in terms
2204 of the new macros.
2205 (GCPRO1_VAR, UNGCPRO_VAR): Change the meaning of the second
2206 argument, for consistency with GCPRO2_VAR, etc: it is now the
2207 prefix of the variable, not the variable itself. All uses
2208 changed.
38b2c076
PE
2209 * dired.c (directory_files_internal, file_name_completion):
2210 Rename locals to avoid shadowing.
2211
15206ed9
PE
2212 Fix a race condition diagnosed by gcc -Wsequence-point (Bug#8254).
2213 An expression of the form (DOWNCASE (x) == DOWNCASE (y)), found in
2214 dired.c's scmp function, had undefined behavior.
2215 * lisp.h (DOWNCASE_TABLE, UPCASE_TABLE, DOWNCASE, UPPERCASEP):
2216 (NOCASEP, LOWERCASEP, UPCASE, UPCASE1): Move from here ...
2217 * buffer.h: ... to here, because these macros use current_buffer,
2218 and the new implementation with inline functions needs to have
2219 current_buffer in scope now, rather than later when the macros
2220 are used.
2221 (downcase, upcase1): New static inline functions.
2222 (DOWNCASE, UPCASE1): Reimplement using these functions.
2223 This avoids undefined behavior in expressions like
2224 DOWNCASE (x) == DOWNCASE (y), which previously suffered
2225 from race conditions in accessing the global variables
2226 case_temp1 and case_temp2.
2227 * casetab.c (case_temp1, case_temp2): Remove; no longer needed.
2228 * lisp.h (case_temp1, case_temp2): Remove their decls.
2229 * character.h (ASCII_CHAR_P): Move from here ...
2230 * lisp.h: ... to here, so that the inline functions mentioned
2231 above can use them.
2232
4a6bea26
PE
2233 * dired.c (directory_files_internal_unwind): Now static.
2234
f14b7e14
PE
2235 * fileio.c (file_name_as_directory, directory_file_name):
2236 (barf_or_query_if_file_exists, auto_save_error, auto_save_1):
2237 Now static.
2893f146
PE
2238 (file_name_as_directory): Use const pointers when appropriate.
2239 (Fexpand_file_name): Likewise. In particular, newdir might
2240 point at constant storage, so make it a const pointer.
fd4ead52 2241 (Fmake_directory_internal, Fread_file_name): Remove unused vars.
b14aac08
PE
2242 (Ffile_selinux_context, Fset_file_selinux_context): Fix pointer
2243 signedness issues.
f839df0c
PE
2244 (Fset_file_times, Finsert_file_contents, auto_save_error):
2245 Rename locals to avoid shadowing.
f14b7e14 2246
5716756e 2247 * minibuf.c (choose_minibuf_frame_1): Now static.
62137a95
PE
2248 (Ftry_completion, Fall_completions): Rename or remove locals
2249 to avoid shadowing.
5716756e 2250
b4c3046a
PE
2251 * marker.c (bytepos_to_charpos): Remove; unused.
2252
b45db522
PE
2253 * lisp.h (verify_bytepos, count_markers): New decls,
2254 so that gcc does not warn that these functions aren't declared.
2255
85876d07
PE
2256 * insdel.c (check_markers, make_gap_larger, make_gap_smaller):
2257 (reset_var_on_error, Fcombine_after_change_execute_1): Now static.
f0cb4a60 2258 (CHECK_MARKERS): Redo to avoid gcc -Wempty-body diagnostic.
40ef059e 2259 (copy_text): Remove unused local var.
85876d07 2260
03d78a21 2261 * filelock.c (within_one_second): Now static.
b3dd38ab 2262 (lock_file_1): Rename local to avoid shadowing.
03d78a21 2263
5df8f01b
PE
2264 * buffer.c (fix_overlays_before): Mark locals as initialized.
2265 (fix_start_end_in_overlays): Likewise. This function should be
2266 simplified by using pointers-to-pointers, but that's a different
2267 matter.
b1d876f1 2268 (switch_to_buffer_1): Now static.
8f54f30a
PE
2269 (Fkill_buffer, record_buffer, Fbury_buffer, Fset_buffer_multibyte):
2270 (report_overlay_modification): Rename locals to avoid shadowing.
c3bd59b5 2271
a70072c9 2272 * sysdep.c (system_process_attributes): Rename vars to avoid shadowing.
fbd02d7b 2273 Fix pointer signedness issue.
edced198
PE
2274 (sys_subshell): Mark local as volatile if checking for lint,
2275 to suppress a gcc -Wclobbered warning that does not seem to be right.
15dfd3d9 2276 (MAXPATHLEN): Define only if needed.
a70072c9 2277
a0977c44
PE
2278 * process.c (serial_open, serial_configure): Move decls from here ...
2279 * systty.h: ... to here, so that they can be checked.
2280
a884fdcc
PE
2281 * fns.c (get_random, seed_random): Move extern decls from here ...
2282 * lisp.h: ... to here, so that they can be checked.
2283
604efe86 2284 * sysdep.c (reset_io): Now static.
b8950c94 2285 (wait_for_termination_signal): Remove; unused.
604efe86 2286
38fc62d9
PE
2287 * keymap.c (keymap_parent, keymap_memberp, map_keymap_internal):
2288 (copy_keymap_item, append_key, push_text_char_description):
2289 Now static.
1004a21a 2290 (Fwhere_is_internal): Don't test CONSP (sequences) unnecessarily.
dbbb8427 2291 (DENSE_TABLE_SIZE): Remove; unused.
c1141155
PE
2292 (get_keymap, access_keymap, Fdefine_key, Fwhere_is_internal):
2293 (describe_map_tree):
2294 Rename locals to avoid shadowing.
38fc62d9 2295
2f2650da
PE
2296 * keyboard.c: Declare functions static if they are not used elsewhere.
2297 (echo_char, echo_dash, cmd_error, top_level_2):
2298 (poll_for_input, handle_async_input): Now static.
69a058fa
PE
2299 (read_char, kbd_buffer_get_event, make_lispy_position):
2300 (make_lispy_event, make_lispy_movement, apply_modifiers):
2301 (decode_keyboard_code, tty_read_avail_input, menu_bar_items):
2302 (parse_tool_bar_item, read_key_sequence, Fread_key_sequence):
2303 (Fread_key_sequence_vector): Rename locals to avoid shadowing.
c8a06054 2304 (read_key_sequence, read_char): Mark locals as initialized.
3ac94672 2305 (Fexit_recursive_edit, Fabort_recursive_edit): Mark with NO_RETURN.
2f2650da 2306
a053e86c 2307 * keyboard.h (make_ctrl_char): New decl.
da2f2dd9
PE
2308 (mark_kboards): Move decl here ...
2309 * alloc.c (mark_kboards): ... from here.
a053e86c 2310
4752793e
PE
2311 * lisp.h (force_auto_save_soon): New decl.
2312
74f10ca7 2313 * emacs.c (init_cmdargs): Rename local to avoid shadowing.
244fc23d
PE
2314 (DEFINE_DUMMY_FUNCTION): New macro.
2315 (__do_global_ctors, __do_global_ctors_aux, __do_global_dtors, __main):
2316 Use it.
c03cd23f
PE
2317 (main): Add casts to avoid warnings
2318 if GCC considers string literals to be constants.
74f10ca7 2319
022e70d4
PE
2320 * lisp.h (fatal_error_signal): Add decl, since it's exported.
2321
59d6fe83
PE
2322 * dbusbind.c: Pointer signedness fixes.
2323 (xd_signature, xd_append_arg, xd_initialize):
2324 (Fdbus_call_method, Fdbus_call_method_asynchronously):
2325 (Fdbus_method_return_internal, Fdbus_method_error_internal):
2326 (Fdbus_send_signal, xd_read_message_1, Fdbus_register_service):
2327 (Fdbus_register_signal): Use SSDATA when the context wants char *.
2328
78320123
PE
2329 * dbusbind.c (Fdbus_init_bus): Add cast to avoid warning
2330 if GCC considers string literals to be constants.
49cebcca 2331 (Fdbus_register_service, Fdbus_register_method): Remove unused vars.
78320123 2332
35ac2a97
SM
23332011-03-16 Stefan Monnier <monnier@iro.umontreal.ca>
2334
fb103ca9
SM
2335 * print.c (PRINT_CIRCLE_CANDIDATE_P): New macro.
2336 (print_preprocess, print_object): New macro to fix last change.
2337
35ac2a97
SM
2338 * print.c (print_preprocess): Don't forget font objects.
2339
62973b41
JB
23402011-03-16 Juanma Barranquero <lekktu@gmail.com>
2341
2342 * emacs.c (USAGE3): Doc fixes.
2343
0e48bb22
AS
23442011-03-15 Andreas Schwab <schwab@linux-m68k.org>
2345
2346 * coding.c (detect_coding_iso_2022): Reorganize code to clarify
2347 structure.
2348
7684e57b
JB
23492011-03-14 Juanma Barranquero <lekktu@gmail.com>
2350
2351 * lisp.h (VWindow_system, Qfile_name_history):
2352 * keyboard.h (lispy_function_keys) [WINDOWSNT]:
2353 * w32term.h (w32_system_caret_hwnd, w32_system_caret_height)
2354 (w32_system_caret_x, w32_system_caret_y): Declare extern.
2355
2356 * w32select.c: Don't #include "keyboard.h".
c96bbc66 2357 (run_protected): Add extern declaration for waiting_for_input.
7684e57b
JB
2358
2359 * w32.c (Qlocal, noninteractive1, inhibit_window_system):
2360 * w32console.c (detect_input_pending, read_input_pending)
2361 (encode_terminal_code):
2362 * w32fns.c (quit_char, lispy_function_keys, Qtooltip)
2363 (w32_system_caret_hwnd, w32_system_caret_height, w32_system_caret_x)
2364 (w32_system_caret_y, Qfile_name_history):
2365 * w32font.c (w32font_driver, QCantialias, QCotf, QClang):
2366 * w32inevt.c (reinvoke_input_signal, lispy_function_keys):
2367 * w32menu.c (Qmenu_bar, QCtoggle, QCradio, Qoverriding_local_map)
2368 (Qoverriding_terminal_local_map, Qmenu_bar_update_hook):
2369 * w32proc.c (Qlocal, report_file_error):
2370 * w32term.c (Vwindow_system, updating_frame):
2371 * w32uniscribe.c (initialized, uniscribe_font_driver):
2372 Remove unneeded extern declarations.
2373
2aa46d6c
CY
23742011-03-14 Chong Yidong <cyd@stupidchicken.com>
2375
c96bbc66 2376 * buffer.c (Fmake_indirect_buffer): Fix incorrect assertions.
2aa46d6c 2377
cffc6f3b
CY
23782011-03-13 Chong Yidong <cyd@stupidchicken.com>
2379
2380 * buffer.h (BUF_BEGV, BUF_BEGV_BYTE, BUF_ZV, BUF_ZV_BYTE, BUF_PT)
2381 (BUF_PT_BYTE): Rewrite to handle indirect buffers (Bug#8219).
2382 These macros can no longer be used for assignment.
2383
44f230aa
SM
2384 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
2385 Assign struct members directly, instead of using BUF_BEGV etc.
cffc6f3b
CY
2386 (record_buffer_markers, fetch_buffer_markers): New functions for
2387 recording and fetching special buffer markers.
2388 (set_buffer_internal_1, set_buffer_temp): Use them.
2389
2390 * lread.c (unreadchar): Use SET_BUF_PT_BOTH.
2391
2392 * insdel.c (adjust_point): Use SET_BUF_PT_BOTH.
2393
2394 * intervals.c (temp_set_point_both): Use SET_BUF_PT_BOTH.
2395 (get_local_map): Use SET_BUF_BEGV_BOTH and SET_BUF_ZV_BOTH.
2396
2397 * xdisp.c (hscroll_window_tree):
2398 (reconsider_clip_changes): Use PT instead of BUF_PT.
2399
d251f04b
EZ
24002011-03-13 Eli Zaretskii <eliz@gnu.org>
2401
2402 * makefile.w32-in ($(BLD)/editfns.$(O)): Depend on
2403 $(EMACS_ROOT)/lib/intprops.h.
2404
f0c77cd1
PE
24052011-03-13 Paul Eggert <eggert@cs.ucla.edu>
2406
3eca4629
PE
2407 Fix more problems found by GCC 4.5.2's static checks.
2408
7c86ee98
PE
2409 * gtkutil.c (xg_get_pixbuf_from_pixmap): Add cast from char *
2410 to unsigned char * to avoid compiler diagnostic.
b0afc268
PE
2411 (xg_free_frame_widgets): Make it clear that a local variable is
2412 needed only if USE_GTK_TOOLTIP.
01e0b5ad
PE
2413 (gdk_window_get_screen): Make it clear that this macro is needed
2414 only if USE_GTK_TOOLTIP.
1e5524e7
PE
2415 (int_gtk_range_get_value): New function, which avoids a diagnostic
2416 from gcc -Wbad-function-cast.
2417 (xg_set_toolkit_scroll_bar_thumb): Use it.
2418 (xg_tool_bar_callback, xg_tool_item_stale_p): Rewrite to avoid
2419 diagnostic from gcc -Wbad-function-cast.
65dc836c
PE
2420 (get_utf8_string, xg_get_file_with_chooser):
2421 Rename locals to avoid shadowing.
2422 (create_dialog): Move locals to avoid shadowing.
7c86ee98 2423
41729b81
PE
2424 * xgselect.c (xg_select): Remove unused var.
2425
f0c77cd1
PE
2426 * image.c (four_corners_best): Mark locals as initialized.
2427 (gif_load): Initialize transparent_p to zero (Bug#8238).
2428 Mark another local as initialized.
ec6cf4c6 2429 (my_png_error, my_error_exit): Mark with NO_RETURN.
f0c77cd1 2430
ce0ad53d 2431 * image.c (clear_image_cache): Now static.
d5d5a617 2432 (DIM, HAVE_STDLIB_H_1): Remove unused macros.
e22cffbc 2433 (xpm_load): Redo to avoid "discards qualifiers" gcc warning.
77a765fd
PE
2434 (x_edge_detection): Remove unnecessary cast that
2435 gcc -Wbad-function-cast diagnoses.
2037898d 2436 (gif_load): Fix pointer signedness.
6ae141d6
PE
2437 (clear_image_cache, xbm_read_bitmap_data, x_detect_edges):
2438 (jpeg_load, gif_load): Rename locals to avoid shadowing.
ce0ad53d 2439
33383987 24402011-03-12 Paul Eggert <eggert@cs.ucla.edu>
3eca4629 2441
d32df629
PE
2442 Improve quality of tests for time stamp overflow.
2443 For example, without this patch (encode-time 0 0 0 1 1
2444 1152921504606846976) returns the obviously-bogus value (-948597
2445 62170) on my RHEL 5.5 x86-64 host. With the patch, it correctly
2446 reports time overflow. See
2447 <http://lists.gnu.org/archive/html/emacs-devel/2011-03/msg00470.html>.
b8d9bd41
PE
2448 * deps.mk (editfns.o): Depend on ../lib/intprops.h.
2449 * editfns.c: Include limits.h and intprops.h.
2450 (TIME_T_MIN, TIME_T_MAX): New macros.
2451 (time_overflow): Move earlier, to before first use.
2452 (hi_time, lo_time): New functions, for an accurate test for
2453 out-of-range times.
2454 (Fcurrent_time, Fget_internal_run_time, make_time): Use them.
2455 (Fget_internal_run_time): Don't assume time_t fits in int.
2456 (make_time): Use list2 instead of Fcons twice.
2457 (Fdecode_time): More accurate test for out-of-range times.
2458 (check_tm_member): New function.
2459 (Fencode_time): Use it, to test for out-of-range times.
d32df629
PE
2460 (lisp_time_argument): Don't rely on undefined left-shift and
2461 right-shift behavior when checking for time stamp overflow.
8be6f318 2462
fe31d94c
PE
2463 * editfns.c (time_overflow): New function, refactoring common code.
2464 (Fformat_time_string, Fdecode_time, Fencode_time):
2465 (Fcurrent_time_string): Use it.
2466
8be6f318
PE
2467 Move 'make_time' to be next to its inverse 'lisp_time_argument'.
2468 * dired.c (make_time): Move to ...
2469 * editfns.c (make_time): ... here.
2470 * systime.h: Note the move.
2471
09d9db2c 24722011-03-12 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
c47cbdfd 2473
126bc0dc
YM
2474 * fringe.c (update_window_fringes): Remove unused variables.
2475
c47cbdfd
YM
2476 * unexmacosx.c (copy_data_segment): Also copy __got section.
2477 (Bug#8223)
2478
7ac80be9
EZ
24792011-03-12 Eli Zaretskii <eliz@gnu.org>
2480
c96bbc66 2481 * termcap.c [MSDOS]: Include "msdos.h".
058e5dad
EZ
2482 (find_capability, tgetnum, tgetflag, tgetstr, tputs, tgetent):
2483 Constify `char *' arguments and their references according to
2484 prototypes in tparam.h.
2485
ecb0f94d 2486 * deps.mk (termcap.o): Depend on tparam.h and msdos.h.
058e5dad 2487
7ac80be9
EZ
2488 * msdos.c (XMenuAddPane): 3rd argument is `const char *' now.
2489 Adapt all references accordingly.
2490
2491 * msdos.h (XMenuAddPane): 3rd argument is `const char *' now.
2492
ef1fd07e
TT
24932011-03-11 Tom Tromey <tromey@redhat.com>
2494
2495 * buffer.c (syms_of_buffer): Remove obsolete comment.
2496
7ef4b50c
EZ
24972011-03-11 Eli Zaretskii <eliz@gnu.org>
2498
2499 * termhooks.h (encode_terminal_code): Declare prototype.
2500
2501 * msdos.c (encode_terminal_code): Don't declare prototype.
2502
2503 * term.c (encode_terminal_code): Now external again, used by
2504 w32console.c and msdos.c.
2505
44f230aa
SM
2506 * makefile.w32-in ($(BLD)/term.$(O), ($(BLD)/tparam.$(O)):
2507 Depend on $(SRC)/tparam.h, see 2011-03-11T07:24:21Z!eggert@cs.ucla.edu.
7ef4b50c 2508
4b1ec863 25092011-03-11 Paul Eggert <eggert@cs.ucla.edu>
f78faa98 2510
1714f52b 2511 Fix some minor problems found by GCC 4.5.2's static checks.
83316bf4 2512
4b1ec863
PE
2513 * fringe.c (update_window_fringes): Mark locals as initialized
2514 (Bug#8227).
2515 (destroy_fringe_bitmap, init_fringe_bitmap): Now static.
bf60f616 2516
524c7aa6
PE
2517 * alloc.c (mark_fringe_data): Move decl from here ...
2518 * lisp.h (mark_fringe_data) [HAVE_WINDOW_SYSTEM]: ... to here,
2519 to check its interface.
2520 (init_fringe_once): Do not declare unless HAVE_WINDOW_SYSTEM.
2521
a5c0af81 2522 * fontset.c (free_realized_fontset): Now static.
7519b8cd 2523 (Fset_fontset_font): Rename local to avoid shadowing.
cc6e5db1 2524 (fontset_font): Mark local as initialized.
a9a06e0b 2525 (FONTSET_SPEC, FONTSET_REPERTORY, RFONT_DEF_REPERTORY): Remove; unused.
a5c0af81 2526
b4716021
PE
2527 * xrdb.c: Include "xterm.h", to check x_load_resources's interface.
2528
811e9bac 2529 * xselect.c (x_disown_buffer_selections): Remove; not used.
7b83e2f1 2530 (TRACE3) [!defined TRACE_SELECTION]: Remove; not used.
aa0daa9f
PE
2531 (x_own_selection, Fx_disown_selection_internal): Rename locals
2532 to avoid shadowing.
2533 (x_handle_dnd_message): Remove local to avoid shadowing.
811e9bac 2534
7e3ab302
PE
2535 * lisp.h (GCPRO1_VAR, UNGCPRO_VAR): New macros,
2536 so that the caller can use some name other than gcpro1.
2537 (GCPRO1, UNGCPRO): Reimplement in terms of the new macros.
58d2d479
PE
2538 * xfns.c (Fx_create_frame, x_create_tip_frame, Fx_show_tip):
2539 (Fx_backspace_delete_keys_p):
2540 Use them to avoid shadowing, and rename vars to avoid shadowing.
2541 (x_decode_color, x_set_name, x_window): Now static.
6b437900 2542 (Fx_create_frame): Add braces to silence GCC warning.
c0951e53 2543 (Fx_file_dialog, Fx_select_font): Fix pointer signedness.
06b0c8a0
PE
2544 (x_real_positions, xg_set_icon_from_xpm_data, x_create_tip_frame):
2545 Remove unused locals.
7e3ab302
PE
2546 (Fx_create_frame, x_create_tip_frame, Fx_show_tip):
2547 (Fx_backspace_delete_keys_p): Rename locals to avoid shadowing.
2548 Some of these renamings use the new GCPRO1_VAR and UNGCPRO_VAR
2549 macros.
f78faa98 2550
e2b13473
PE
2551 * xterm.h (x_mouse_leave): New decl.
2552
77f23912
PE
2553 * xterm.c (x_copy_dpy_color, x_focus_on_frame, x_unfocus_frame):
2554 Remove unused functions.
cdf4ba58
PE
2555 (x_shift_glyphs_for_insert, XTflash, XTring_bell):
2556 (x_calc_absolute_position): Now static.
7411c686 2557 (XTread_socket): Don't define label "out" unless it's used.
2b07bcff 2558 Don't declare local "event" unless it's used.
ed7bf3a5
PE
2559 (x_iconify_frame, x_free_frame_resources): Don't declare locals
2560 unless they are used.
38d0b34a
PE
2561 (XEMBED_VERSION, xembed_set_info): Don't define unless needed.
2562 (x_fatal_error_signal): Remove; not used.
a6067996
PE
2563 (x_draw_image_foreground, redo_mouse_highlight, XTmouse_position):
2564 (x_scroll_bar_report_motion, handle_one_xevent, x_draw_bar_cursor):
2565 (x_error_catcher, x_connection_closed, x_error_handler):
2566 (x_error_quitter, xembed_send_message, x_iconify_frame):
2567 (my_log_handler): Rename locals to avoid shadowing.
28f1c698 2568 (x_delete_glyphs, x_ins_del_lines): Mark with NO_RETURN.
2a8fade0 2569 (x_connection_closed): Tell GCC not to suggest NO_RETURN.
77f23912 2570
44f230aa
SM
2571 * xfaces.c (clear_face_cache, Fx_list_fonts, Fface_font):
2572 Rename or move locals to avoid shadowing.
6b463e58 2573 (tty_defined_color, merge_face_heights): Now static.
5967d051 2574 (free_realized_faces_for_fontset): Remove; not used.
1e9966ea
PE
2575 (Fx_list_fonts): Mark variable that gcc -Wuninitialized
2576 does not deduce is never used uninitialized.
73719eba
PE
2577 (STRDUPA, LSTRDUPA, FONT_POINT_SIZE_QUANTUM): Remove; not used.
2578 (LFACEP): Define only if XASSERTS, as it's not needed otherwise.
071048a3 2579
426994c3 2580 * terminal.c (store_terminal_param): Now static.
5489860b 2581
032f1620 2582 * xmenu.c (menu_highlight_callback): Now static.
9d66f88e 2583 (set_frame_menubar): Remove unused local.
d4323972 2584 (xmenu_show): Rename parameter to avoid shadowing.
6d1f7fee
PE
2585 (xmenu_show, xdialog_show, xmenu_show): Make local pointers "const"
2586 since they might point to immutable storage.
281585b0
PE
2587 (next_menubar_widget_id): Declare only if USE_X_TOOLKIT,
2588 since it's unused otherwise.
032f1620 2589
367c19e5 2590 * xdisp.c (produce_glyphless_glyph): Initialize lower_xoff.
53df7c11 2591 Add a FIXME, since the code still doesn't look right. (Bug#8215)
9f36b9fd
PE
2592 (Fcurrent_bidi_paragraph_direction): Simplify slightly; this
2593 avoids a gcc -Wuninitialized diagnostic.
0e086e8f 2594 (display_line, BUILD_COMPOSITE_GLYPH_STRING, draw_glyphs):
44a3a108
PE
2595 (note_mouse_highlight): Mark variables that gcc -Wuninitialized
2596 does not deduce are never used uninitialized.
70739cbe 2597
07b48fa9
PE
2598 * lisp.h (IF_LINT): New macro, copied from ../lib-src/emacsclient.c.
2599
8868a238 2600 * xdisp.c (redisplay_window): Rename local to avoid shadowing.
4554d213
PE
2601 * window.c (window_loop, size_window):
2602 (run_window_configuration_change_hook, enlarge_window): Likewise.
8868a238 2603
7e5cf297 2604 * window.c (display_buffer): Now static.
d6550a9f
PE
2605 (size_window): Mark variables that gcc -Wuninitialized
2606 does not deduce are never used uninitialized.
a586633d
PE
2607 * window.h (check_all_windows): New decl, to forestall
2608 gcc -Wmissing-prototypes diagnostic.
5b555da1 2609 * dispextern.h (bidi_dump_cached_states): Likewise.
7e5cf297 2610
f6095868
PE
2611 * charset.h (CHECK_CHARSET_GET_CHARSET): Rename locals to avoid
2612 shadowing.
2613 * charset.c (map_charset_for_dump, Fchar_charset): Likewise.
726929c4
PE
2614 Include <limits.h>.
2615 (Fsort_charsets): Redo min/max calculation to shorten the code a bit
2616 and to avoid gcc -Wuninitialized warning.
89ef49df
PE
2617 (load_charset_map): Mark variables that gcc -Wuninitialized
2618 does not deduce are never used uninitialized.
53df7c11 2619 (load_charset): Abort instead of using uninitialized var (Bug#8229).
f6095868 2620
f38b440c
PE
2621 * coding.c (coding_set_source, coding_set_destination):
2622 Use "else { /* comment */ }" rather than "else /* comment */;"
2623 for clarity, and to avoid gcc -Wempty-body warning.
2735d060
PE
2624 (Fdefine_coding_system_internal): Don't redeclare 'i' inside
2625 a block, when the outer 'i' will do.
2626 (decode_coding_utf_8, decode_coding_utf_16, detect_coding_emacs_mule):
2627 (emacs_mule_char, decode_coding_emacs_mule, detect_coding_iso_2022):
2628 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5):
2629 (decode_coding_raw_text, decode_coding_charset, get_translation_table):
2630 (Fdecode_sjis_char, Fdefine_coding_system_internal):
2631 Rename locals to avoid shadowing.
2632 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
e2f1bab9
PE
2633 * coding.c (emacs_mule_char, encode_invocation_designation):
2634 Now static, since they're not used elsewhere.
413bb2db 2635 (decode_coding_iso_2022): Add "default: abort ();" as a safety check.
c4a63b12 2636 (decode_coding_object, encode_coding_object, detect_coding_system):
ee05f961
PE
2637 (decode_coding_emacs_mule): Mark variables that gcc
2638 -Wuninitialized does not deduce are never used uninitialized.
160b01f6
PE
2639 (detect_coding_iso_2022): Initialize a local variable that might
2640 be used uninitialized. Leave a FIXME because it's not clear that
53df7c11 2641 this initialization is needed. (Bug#8211)
5f58e762
PE
2642 (ISO_CODE_LF, ISO_CODE_CR, CODING_ISO_FLAG_EUC_TW_SHIFT):
2643 (ONE_MORE_BYTE_NO_CHECK, UTF_BOM, UTF_16_INVALID_P):
2644 (SHIFT_OUT_OK, ENCODE_CONTROL_SEQUENCE_INTRODUCER):
2645 (ENCODE_DIRECTION_R2L, ENCODE_DIRECTION_L2R):
2646 Remove unused macros.
f38b440c 2647
232b38b9 2648 * category.c (hash_get_category_set): Remove unused local var.
9f3b5e69 2649 (copy_category_table): Now static, since it's not used elsewhere.
d0891610 2650 * character.c (string_count_byte8): Likewise.
232b38b9 2651
fb90da1b
PE
2652 * ccl.c (CCL_WRITE_STRING, CCL_ENCODE_CHAR, Fccl_execute_on_string):
2653 (Fregister_code_conversion_map): Rename locals to avoid shadowing.
2654
fb93dbc2
PE
2655 * chartab.c (copy_sub_char_table): Now static, since it's not used
2656 elsewhere.
5c156ace
PE
2657 (sub_char_table_ref_and_range, char_table_ref_and_range):
2658 Rename locals to avoid shadowing.
bbcd0949 2659 (ASET_RANGE, GET_SUB_CHAR_TABLE): Remove unused macros.
fb93dbc2 2660
7d3b3862 2661 * bidi.c (bidi_check_type): Now static, since it's not used elsewhere.
630d6892 2662 (BIDI_BOB): Remove unused macro.
7d3b3862 2663
6be7d3da
PE
2664 * cm.c (cmgoto): Mark variables that gcc -Wuninitialized does not
2665 deduce are never used uninitialized.
c2ed9c8b 2666 * term.c (encode_terminal_code): Likewise.
6be7d3da 2667
75f8807f 2668 * term.c (encode_terminal_code): Now static. Remove unused local.
72abad34 2669
50938595
PE
2670 * tparam.h: New file.
2671 * term.c, tparam.h: Include it.
2672 * deps.mk (term.o, tparam.o): Depend on tparam.h.
2673 * term.c (tputs, tgetent, tgetflag, tgetnum, tparam, tgetstr):
2674 Move these decls to tparam.h, and make them agree with what
2675 is actually in tparam.c. The previous trick of using incompatible
2676 decls in different modules does not conform to the C standard.
2677 All callers of tparam changed to use tparam's actual API.
2678 * tparam.c (tparam1, tparam, tgoto):
2679 Use const pointers where appropriate.
2680
fbceeba2
PE
2681 * cm.c (calccost, cmgoto): Use const pointers where appropriate.
2682 * cm.h (struct cm): Likewise.
2683 * dispextern.h (do_line_insertion_deletion_costs): Likewise.
2684 * scroll.c (ins_del_costs, do_line_insertion_deletion_costs): Likewise.
2685 * term.c (tty_ins_del_lines, calculate_costs, struct fkey_table):
2686 (term_get_fkeys_1, append_glyphless_glyph, produce_glyphless_glyph):
2687 (turn_on_face, init_tty): Likewise.
2688 * termchar.h (struct tty_display_info): Likewise.
fbceeba2 2689
7f3f1250
PE
2690 * term.c (term_mouse_position): Rename local to avoid shadowing.
2691
e6ca6543
PE
2692 * alloc.c (mark_ttys): Move decl from here ...
2693 * lisp.h (mark_ttys): ... to here, so that it's checked against defn.
2694
c40f8d15
AS
26952011-03-11 Andreas Schwab <schwab@linux-m68k.org>
2696
2697 * .gdbinit (pwinx, xbuffer): Fix access to buffer name.
2698
cfe0661d
JB
26992011-03-09 Juanma Barranquero <lekktu@gmail.com>
2700
2701 * search.c (compile_pattern_1): Remove argument regp, unused since
2702 revid:rms@gnu.org-19941211082627-3x1g1wyqkjmwloig.
2703 (compile_pattern): Don't pass it.
2704
0afb4571
J
27052011-03-08 Jan Djärv <jan.h.d@swipnet.se>
2706
2707 * xterm.h (DEFAULT_GDK_DISPLAY): New define.
2708 (GDK_WINDOW_XID, gtk_widget_get_preferred_size): New defines
2709 for ! HAVE_GTK3.
2710 (GTK_WIDGET_TO_X_WIN): Use GDK_WINDOW_XID.
2711
2712 * xmenu.c (menu_position_func): Call gtk_widget_get_preferred_size.
2713
2714 * gtkutil.c: Include gtkx.h if HAVE_GTK3. If ! HAVE_GTK3, define
2715 gdk_window_get_screen, gdk_window_get_geometry,
2716 gdk_x11_window_lookup_for_display and GDK_KEY_g.
2717 (xg_set_screen): Use DEFAULT_GDK_DISPLAY.
2718 (xg_get_pixbuf_from_pixmap): New function.
2719 (xg_get_pixbuf_from_pix_and_mask): Change parameters from GdkPixmap
2720 to Pixmap, take frame as parameter, remove GdkColormap parameter.
2721 Call xg_get_pixbuf_from_pixmap instead of
2722 gdk_pixbuf_get_from_drawable.
2723 (xg_get_image_for_pixmap): Do not make GdkPixmaps, call
2724 xg_get_pixbuf_from_pix_and_mask with Pixmap parameters instead.
2725 (xg_check_special_colors): Use GtkStyleContext and its functions
2726 for HAVE_GTK3.
2727 (xg_prepare_tooltip, xg_hide_tooltip): Call gdk_window_get_screen.
2728 (xg_prepare_tooltip, create_dialog, menubar_map_cb)
2729 (xg_update_frame_menubar, xg_tool_bar_detach_callback)
44f230aa
SM
2730 (xg_tool_bar_attach_callback, xg_update_tool_bar_sizes):
2731 Call gtk_widget_get_preferred_size.
0afb4571
J
2732 (xg_frame_resized): gdk_window_get_geometry only takes 5
2733 parameters.
44f230aa
SM
2734 (xg_win_to_widget, xg_event_is_for_menubar):
2735 Call gdk_x11_window_lookup_for_display.
0afb4571
J
2736 (xg_set_widget_bg): New function.
2737 (delete_cb): New function.
895009e1 2738 (xg_create_frame_widgets): Connect delete-event to delete_cb.
0afb4571
J
2739 Call xg_set_widget_bg. Only set backgrund pixmap for ! HAVE_GTK3
2740 (xg_set_background_color): Call xg_set_widget_bg.
2741 (xg_set_frame_icon): Call xg_get_pixbuf_from_pix_and_mask.
2742 (xg_create_scroll_bar): vadj is a GtkAdjustment for HAVE_GTK3.
2743 Only call gtk_range_set_update_policy if ! HAVE_GTK3.
2744 (xg_make_tool_item): Only connect xg_tool_bar_item_expose_callback
2745 if ! HAVE_GTK3.
2746 (update_frame_tool_bar): Call gtk_widget_hide.
2747 (xg_initialize): Use GDK_KEY_g.
2748
2749 * xsmfns.c (gdk_set_sm_client_id): Define to gdk_set_sm_client_id
2750 if ! HAVE_GTK3
2751 (x_session_initialize): Call gdk_x11_set_sm_client_id.
2752
2753 * xterm.c (XFillRectangle): Use cairo routines for HAVE_GTK3.
2754 (x_term_init): Disable Xinput(2) with GDK_CORE_DEVICE_EVENTS.
2755 Load ~/emacs.d/gtkrc only for ! HAVE_GTK3.
2756
1c2cc4ef
JB
27572011-03-08 Juanma Barranquero <lekktu@gmail.com>
2758
2759 * w32xfns.c (select_palette): Check success of RealizePalette against
2760 GDI_ERROR, not zero.
2761
33383987 2762See ChangeLog.11 for earlier changes.
aac0c6e3
MR
2763
2764;; Local Variables:
2765;; coding: utf-8
aac0c6e3
MR
2766;; End:
2767
33383987 2768 Copyright (C) 2011 Free Software Foundation, Inc.
aac0c6e3
MR
2769
2770 This file is part of GNU Emacs.
2771
2772 GNU Emacs is free software: you can redistribute it and/or modify
2773 it under the terms of the GNU General Public License as published by
2774 the Free Software Foundation, either version 3 of the License, or
2775 (at your option) any later version.
2776
2777 GNU Emacs is distributed in the hope that it will be useful,
2778 but WITHOUT ANY WARRANTY; without even the implied warranty of
2779 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2780 GNU General Public License for more details.
2781
2782 You should have received a copy of the GNU General Public License
2783 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.