Do not use GTK 3 if it exists but cannot be compiled.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
e6c6c8c7
PE
12013-06-30 Paul Eggert <eggert@cs.ucla.edu>
2
8f5f35cc
PE
3 Do not use GTK 3 if it exists but cannot be compiled.
4 * xmenu.c (x_menu_wait_for_event) [!USE_GTK]:
5 * xterm.c (x_error_handler) [!USE_GTK]:
6 Do not use GTK 3.
7
e6c6c8c7
PE
8 * intervals.c (get_local_map): Actually clip POSITION (Bug#14753).
9
0ba54312
EZ
102013-06-30 Eli Zaretskii <eliz@gnu.org>
11
5d1c3286
EZ
12 * intervals.c (get_local_map): Instead of aborting, clip POSITION
13 to the valid range of values. (Bug#14753)
14
0ba54312
EZ
15 * xdisp.c (Fmove_point_visually): Invalidate the cursor position
16 when moving point by using the current glyph matrix. This avoids
17 the need to force redisplay when this function is called in a
18 loop.
19
9c90cc06
PE
202013-06-29 Paul Eggert <eggert@cs.ucla.edu>
21
22 Fix minor problems found by static checking.
23 * coding.c (encode_inhibit_flag, inhibit_flag): New functions.
24 Redo the latter's body to sidestep GCC parenthesization warnings.
25 (setup_coding_system, detect_coding, detect_coding_system): Use them.
26 * coding.c (detect_coding, detect_coding_system):
27 * coding.h (struct undecided_spec):
28 Use bool for boolean.
29 * image.c (QCmax_width, QCmax_height): Now static.
30 * xdisp.c (Fmove_point_visually): Remove unused local.
31
4c672a0f
EZ
322013-06-29 Eli Zaretskii <eliz@gnu.org>
33
34 * xdisp.c (Fmove_point_visually): New function.
35
270afa77
KH
362013-06-28 Kenichi Handa <handa@gnu.org>
37
38 * coding.h (define_coding_undecided_arg_index): New enum.
39 (coding_attr_index): New members
40 coding_attr_undecided_inhibit_null_byte_detection,
41 coding_attr_undecided_inhibit_iso_escape_detection,
42 coding_attr_undecided_prefer_utf_8.
43 (undecided_spec): New struct.
671796d3 44 (struct coding_system): New member `undecided' of the member
270afa77
KH
45 `spec'.
46
47 * coding.c (setup_coding_system): Handle CODING->spec.undecided.
48 (detect_coding): Likewise.
49 (detect_coding_system): Likewise.
50 (Fdefine_coding_system_internal): New coding system properties
51 :inhibit-null-byte-detection, :inhibit-iso-escape-detection, and
52 :prefer-utf-8.
53 (syms_of_coding): Adjusted for coding_arg_undecided_max.
54
c1ea3abf
JB
552013-06-28 Kenichi Handa <handa@gnu.org>
56
57 * coding.h (define_coding_undecided_arg_index): New enum.
58 (coding_attr_index): New members
59 coding_attr_undecided_inhibit_null_byte_detection,
60 coding_attr_undecided_inhibit_iso_escape_detection,
61 coding_attr_undecided_prefer_utf_8.
62 (undecided_spec): New struct.
63 (struct coding_system): New member `undecided' of the member
64 `spec'.
65
66 * coding.c (setup_coding_system): Handle CODING->spec.undecided.
67 (detect_coding): Likewise.
68 (detect_coding_system): Likewise.
69 (Fdefine_coding_system_internal): New coding system properties
70 :inhibit-null-byte-detection, :inhibit-iso-escape-detection, and
71 :prefer-utf-8.
72 (syms_of_coding): Adjust for coding_arg_undecided_max.
73
ba3de9e6
PE
742013-06-28 Paul Eggert <eggert@cs.ucla.edu>
75
76 * image.c (x_from_xcolors): Remove unused local.
77
547c9269
YM
782013-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
79
80 Defer image data transfer between X client and server until actual
81 display happens.
82
83 * dispextern.h (struct image) [HAVE_X_WINDOWS]: New members `ximg'
84 and `mask_img'.
85
86 * image.c (Destroy_Image): Remove.
87 (x_clear_image_1): New arg `flags' instead of 3 bools `pixmap_p',
88 `mask_p', and `colors_p'. All uses changed.
89 (x_clear_image_1) [HAVE_X_WINDOWS]: Destroy `ximg' and `mask_img'.
90 (CLEAR_IMAGE_PIXMAP, CLEAR_IMAGE_MASK, CLEAR_IMAGE_COLORS): New
91 macros for `flags' arg to x_clear_image_1.
92 (postprocess_image, xpm_load_image, x_build_heuristic_mask)
93 (png_load_body): Use x_clear_image_1 instead of Free_Pixmap.
04b66ce7 94 (ZPixmap, XGetImage) [HAVE_NS]: Remove.
547c9269
YM
95 (image_get_x_image_or_dc, image_unget_x_image_or_dc)
96 (image_get_x_image, image_unget_x_image): New functions or macros.
97 (image_background, image_background_transparent, x_to_xcolors)
98 (x_build_heuristic_mask): Use image_get_x_image_or_dc instead of
99 XGetImage or CreateCompatibleDC. Use image_unget_x_image_or_dc
100 instead of Destroy_Image.
101 (image_create_x_image_and_pixmap, image_put_x_image): New functions.
102 (xpm_load_image, x_from_xcolors, x_build_heuristic_mask, pbm_load)
103 (png_load_body, jpeg_load_body, tiff_load, gif_load)
104 (imagemagick_load_image, svg_load_image): Use them instead of
105 x_create_x_image_and_pixmap, and x_put_x_image followed by
106 x_destroy_x_image, respectively.
107 (xpm_load) [HAVE_XPM && !HAVE_NTGUI]: Use XpmReadFileToImage and
108 XpmCreateImageFromBuffer instead of XpmReadFileToPixmap and
109 XpmCreatePixmapFromBuffer. Create pixmaps. Fill background and
110 background_transparent fields.
111 (image_sync_to_pixmaps) [HAVE_X_WINDOWS]: New function.
112 (prepare_image_for_display, x_disable_image) [HAVE_X_WINDOWS]: Use it.
113
dae2f5ef
PE
1142013-06-27 Paul Eggert <eggert@cs.ucla.edu>
115
116 Do not tickle glib SIGCHLD handling if Cygwin (Bug#14569).
117 This mostly consists of undoing recent changes.
118 * callproc.c (Fcall_process):
119 * process.c (create_process):
120 Do not worry about catching SIGCHLD here, undoing previous change.
121 * nsterm.m (ns_term_init): Re-catch SIGCHLD, undoing previous change.
122 * process.c, process.h (catch_child_signal):
123 No longer extern if !NS_IMPL_GNUSTEP, undoing 06-22 change.
124 * process.c (catch_child_handler): Don't worry about being called
125 lazily and do not assume caller has blocked SIGCHLD, undoing
126 previous change. Move first-time stuff back to
127 init_process_emacs, undoing 06-22 change. If CYGWIN, do not
128 tickle glib, as that causes Cygwin bootstrap to fail. Do not
129 set lib_child_handler if it's already initialized, which may
130 help avoid problems on GNUStep.
131
fa55d2aa
PE
1322013-06-23 Paul Eggert <eggert@cs.ucla.edu>
133
134 A more-conservative workaround for Cygwin SIGCHLD issues (Bug#14569).
135 * callproc.c (Fcall_process):
136 * process.c (create_process):
137 Make sure SIGCHLD is caught before we fork,
138 since Emacs startup no arranges to catch SIGCHLD.
139 * process.c (lib_child_handler): Initialize to null, not to
140 dummy_handler.
141 (catch_child_signal): Allow self to be called lazily.
142 Do nothing if it's already been called.
143 Assume caller has blocked SIGCHLD (all callers do now).
144 * emacs.c (main): Do not catch SIGCHLD here; defer it until
145 just before it's really needed.
146 * nsterm.m (ns_term_init): No need to re-catch SIGCHLD here,
147 since it hasn't been caught yet.
148
f3f9606c
LMI
1492013-06-23 Lars Magne Ingebrigtsen <larsi@gnus.org>
150
151 * image.c (compute_image_size): New function to implement
152 :max-width and :max-height.
153 (imagemagick_load_image): Use it.
154
c7041908
PE
1552013-06-23 Paul Eggert <eggert@cs.ucla.edu>
156
157 Try to avoid malloc SEGVs on Cygwin (Bug#14569).
158 * callproc.c, process.h (block_child_signal, unblock_child_signal):
159 Now extern.
160 * emacs.c (main): Catch SIGCHLD just before initializing gfilenotify.
161 * process.c (catch_child_signal): Block SIGCHLD while futzing with
162 the SIGCHLD handler, since the code is not atomic and (due to glib)
163 signals may be arriving now.
164 * sysdep.c (init_signals): Do not catch child signals here;
165 'main' now does that later, at a safer time.
166
f86852b4
PE
1672013-06-22 Paul Eggert <eggert@cs.ucla.edu>
168
0dfeed58
PE
169 Clean up SIGCHLD handling a bit (Bug#14569).
170 * process.c, process.h (catch_child_signal):
171 Now always extern, even if !NS_IMPL_GNUSTEP.
172 * process.c (catch_child_signal): Move glib tickler here from
173 init_process_emacs, so that it's done earlier in Emacs
174 initialization. Also move the noninteractive && !initialized
175 check here from init_process_emacs. This is all a bit cleaner for
176 GNUish platforms, and I hope it works around the Cygwin bug.
177 * sysdep.c (init_signals): Invoke catch_child_signal here, so
178 that glib signal handling is tickled before glib creates threads.
179
f86852b4
PE
180 * process.c (wait_reading_process_output): Avoid int overflow
181 when reading more than 2 GiB total from a process.
182
cbd6509c
PE
1832013-06-21 Paul Eggert <eggert@cs.ucla.edu>
184
185 * process.c (create_process): Handle a couple more cases,
186 i.e., work even if new_argv and wait_child_setup[i] are cached.
187 Use Fcall_process's style for volatile vars.
188
9de1114a
AS
1892013-06-21 Andreas Schwab <schwab@linux-m68k.org>
190
191 * process.c (create_process): Mark PROCESS volatile.
192
fbe9e0b9
PE
1932013-06-21 Paul Eggert <eggert@cs.ucla.edu>
194
195 Use C99-style flexible array members if available.
196 This avoids some subtle aliasing issues, which typically
197 aren't a problem with GCC but may be a problem elsewhere.
198 * alloc.c (sdata): New typedef, replacing the old struct sdata.
199 It is a struct if GC_CHECK_STRING_BYTES, a union otherwise.
200 In either case, it uses a flexible array member rather than
201 the old struct hack. All uses changed.
202 (SDATA_NBYTES, sweep_strings) [!GC_CHECK_STRING_BYTES]:
203 Adjust to sdata reorganization.
204 * alloc.c (VBLOCK_BYTES_MIN, allocate_vectorlike, Fgarbage_collect):
205 Use offsetof (struct, flex_array_member), not sizeof (struct), as
206 that ports better to pre-C99 non-GCC.
207 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
208 Use CHAR_TABLE_STANDARD_SLOTS rather than its definition,
209 as the latter has changed.
210 * conf_post.h (FLEXIBLE_ARRAY_MEMBER): Move here from w32.c,
211 and port better to pre-C99 GCC.
212 * image.c (struct xpm_cached_color):
213 * lisp.h (struct Lisp_Vector, struct Lisp_Bool_Vector)
214 (struct Lisp_Char_Table, struct Lisp_Sub_Char_Table):
215 Use FLEXIBLE_ARRAY_MEMBER.
216 * lisp.h (string_bytes) [GC_CHECK_STRING_BYTES]:
217 Move decl to top level so it gets checked against implementation.
218 (CHAR_TABLE_STANDARD_SLOTS): Adjust to struct Lisp_Char_Table change.
219 * w32.c (FLEXIBLE_ARRAY_MEMBER): Move to conf_post.h.
220
1fc71008
PE
2212013-06-20 Paul Eggert <eggert@cs.ucla.edu>
222
223 * syntax.c: Integer cleanups.
224 (SYNTAX_FLAGS_COMMENT_STYLEC): Return a boolean, not 0-or-2.
225 All uses that need 0-or-2 changed to:
226 (SYNTAX_FLAGS_COMMENT_STYLEC2): New macro, with the same semantics
227 as the old SYNTAX_FLAGS_COMMENT_STYLEC.
228 (struct lisp_parse_state, syntax_prefix_flag_p, update_syntax_table)
229 (char_quoted, prev_char_comend_first, back_comment)
230 (Finternal_describe_syntax_value, skip_chars, skip_syntaxes)
231 (in_classes, forw_comment, scan_lists, scan_sexps_forward):
232 Use bool for boolean.
233 (update_syntax_table, skip_chars, skip_syntaxes):
234 Prefer int to unsigned when either will do.
235 (back_comment): Return boolean success flag, like forw_comment,
236 instead of positive-or-minus-1 (which might have overflowed int anyway).
237 Don't stuff ptrdiff_t into int.
238 (syntax_spec_code, syntax_code_spec): Now const.
239 (Fmatching_paren, scan_lists, scan_sexps_forward):
240 Use enum syntaxcode for syntax code.
241 (Fmatching_paren): Check that arg is a character, not just an integer.
242 (Fstring_to_syntax): Don't assume 0377 fits in enum syntaxcode.
243 (Finternal_describe_syntax_value): Omit no-longer-needed
244 comparison to 0.
245 (skip_chars): Use char, not unsigned char, when the distinction
246 doesn't matter.
247 (forw_comment, scan_lists): Prefer A |= B to A = A || B when B's cheap.
248 * bytecode.c (exec_byte_code):
249 * syntax.c (syntax_spec_code, Fchar_syntax)
250 (Finternal_describe_syntax_value, skip_chars, skip_syntaxes)
251 (init_syntax_once):
252 * syntax.h (SYNTAX_WITH_FLAGS):
253 Omit unnecessary casts.
254
b932cad7
EZ
2552013-06-20 Eli Zaretskii <eliz@gnu.org>
256
257 * w32fns.c (w32_wnd_proc): Don't compute the header line and mode
258 line dimensions here, to avoid race conditions with the main
259 thread. (Bug#14062, bug#14630, bug#14669)
260
261 * w32term.c (w32_draw_window_cursor): Compute the header line and
262 mode line dimensions here.
263 <w32_system_caret_window, w32_system_caret_hdr_height>:
264 <w32_system_caret_mode_height>: New variables.
265
266 * w32term.h: Declare them.
267
89561f72
PE
2682013-06-20 Paul Eggert <eggert@cs.ucla.edu>
269
5013fc08
PE
270 * alloc.c (die): Move "assertion failed" string here ...
271 * lisp.h (eassert): ... from here. Also, suppress evaluation of
272 COND when SUPPRESS_CHECKING. This shrinks the executable text
273 size by 0.8% to 2.2% when configured with --enable-checking,
274 depending on optimization flags (GCC 4.8.1 x86-64).
275
89561f72
PE
276 * floatfns.c (Flog10): Move to Lisp (marked obsolete there).
277
2782013-06-20 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
279
280 * floatfns.c (Flog) [HAVE_LOG2]: Use log2 if available and if the
281 base is 2; this is more accurate.
282
983aeb9a
JB
2832013-06-19 Juanma Barranquero <lekktu@gmail.com>
284
285 * sound.c (string_default): Move to !WINDOWSNT section.
286 (Fplay_sound_internal) [WINDOWSNT]: Remove i_result to avoid warning.
287
178ba3e6
PE
2882013-06-19 Paul Eggert <eggert@cs.ucla.edu>
289
bbc51b15
PE
290 * sound.c: Integer cleanups.
291 Remove unnecessary forward decls.
292 (struct sound_device): The 'file' member is now a Lisp_Object, not
293 a char *, so that we needn't invoke alloca on a huge size.
294 (Fplay_sound_internal): Adjust to this.
295 (string_default): New function.
296 (vox_open, vox_init, alsa_open, alsa_configure, alsa_init):
297 Use it to adjust to the struct sound_device change.
298 (parse_sound, wav_init, au_init, alsa_init): Use bool for booleans.
299 (be2hs) [0]: Remove.
300
178ba3e6
PE
301 * syntax.c (skip_chars): Don't use uninitialized storage
302 when searching a multibyte buffer for characters that are not in a
303 unibyte string that contains non-ASCII characters.
304
69f60cdc
JD
3052013-06-18 Jan Djärv <jan.h.d@swipnet.se>
306
307 * process.c: Include xgselect.h if HAVE_GLIB. Include glib.h
308 if HAVE_GLIB && ! WINDOWSNT (Bug#14654).
309
0d6224d4
PE
3102013-06-18 Paul Eggert <eggert@cs.ucla.edu>
311
312 * conf_post.h: Add comments for INLINE, EXTERN_INLINE, etc.
313
3c542890
KH
3142013-06-18 Kenichi Handa <handa@gnu.org>
315
f7e3f7cd
KH
316 * font.c (Ffont_spec): Signal an error for an invalid font name
317 (Bug#14648).
3c542890 318
9349e5f7
PE
3192013-06-18 Paul Eggert <eggert@cs.ucla.edu>
320
321 Porting fixes for merged specpdl and backtrace stacks (Bug#14643).
322 In particular this ports to 32-bit sparc Sun cc.
323 * eval.c (init_eval_once, grow_specpdl): Allocate a specbinding
324 array with a dummy element at specpdl[-1], so that its address can
325 be taken portably.
326 (unbind_to): Do not copy the binding; not needed, now that we
327 copy old_value in the one place where the copy is needed.
328 * fileio.c (Fwrite_region): Use ptrdiff_t, not int, for specpdl count.
329 * lisp.h (BITS_PER_PTRDIFF_T): Remove; no longer needed.
330 (union specbinding): Rename from struct specbinding. Redo layout
331 to avoid the need for 'ptrdiff_t nargs : BITS_PER_PTRDIFF_T - 1;',
332 which is not portable. With Sun C 5.12 32-bit sparc, the
333 declaration causes nargs to be an unsigned bitfield, a behavior
334 that the C standard allows; but Emacs wants nargs to be signed.
335 The overall type is now a union of structures rather than a
336 structure of union of structures, and the 'kind' member is now a
337 bitfield, so that the overall type doesn't grow. All uses changed.
338 * process.c (Fmake_serial_process): Remove unnecessary initialization.
339
0a4df6a5
PE
3402013-06-17 Paul Eggert <eggert@cs.ucla.edu>
341
ec6ecaad
PE
342 * frame.c (x_report_frame_params): Cast parent_desc to uintptr_t.
343 Needed if HAVE_NTGUI. Reported by Juanma Barranquero.
344
0a4df6a5
PE
345 * nsfont.m (ns_registry_to_script): Parenthesize while expression.
346
7bfe8dbc
EZ
3472013-06-17 Eli Zaretskii <eliz@gnu.org>
348
349 * w32fns.c (w32_wnd_proc): Don't call WINDOW_HEADER_LINE_HEIGHT
350 unless we know that the window w's frame is a frame object.
351 Another attempt at solving bug#14062 and bug#14630.
352
708e05f6
LMI
3532013-06-17 Lars Magne Ingebrigtsen <larsi@gnus.org>
354
355 * textprop.c (property_set_type): New enum.
356 (add_properties): Allow appending/prepending text properties.
357 (add_text_properties_1): Factored out of Fadd_text_properties.
358 (Fadd_text_properties): Moved all the code into
359 add_text_properties_1.
360 (Fadd_face_text_property): New function that calls
361 add_text_properties_1.
362
84575e67
PE
3632013-06-17 Paul Eggert <eggert@cs.ucla.edu>
364
365 Move functions from lisp.h to individual modules when possible.
366 From a suggestion by Andreas Schwab in <http://bugs.gnu.org/11935#68>.
367 * alloc.c (XFLOAT_INIT, set_symbol_name):
368 * buffer.c (CHECK_OVERLAY):
369 * chartab.c (CHECK_CHAR_TABLE, set_char_table_ascii)
370 (set_char_table_parent):
371 * coding.c (CHECK_NATNUM_CAR, CHECK_NATNUM_CDR):
372 * data.c (BOOLFWDP, INTFWDP, KBOARD_OBJFWDP, OBJFWDP, XBOOLFWD)
373 (XKBOARD_OBJFWD, XINTFWD, XOBJFWD, CHECK_SUBR, set_blv_found)
374 (blv_value, set_blv_value, set_blv_where, set_blv_defcell)
375 (set_blv_valcell):
376 * emacs.c (setlocale) [!HAVE_SETLOCALE]:
377 * eval.c (specpdl_symbol, specpdl_old_value, specpdl_where)
378 (specpdl_arg, specpdl_func, backtrace_function, backtrace_nargs)
379 (backtrace_args, backtrace_debug_on_exit):
380 * floatfns.c (CHECK_FLOAT):
381 * fns.c (CHECK_HASH_TABLE, CHECK_LIST_END)
382 (set_hash_key_and_value, set_hash_next, set_hash_next_slot)
383 (set_hash_hash, set_hash_hash_slot, set_hash_index)
384 (set_hash_index_slot):
385 * keymap.c (CHECK_VECTOR_OR_CHAR_TABLE):
386 * marker.c (CHECK_MARKER):
387 * textprop.c (CHECK_STRING_OR_BUFFER):
388 * window.c (CHECK_WINDOW_CONFIGURATION):
389 Move here from lisp.h, and make these functions static rather than
390 extern inline.
391 * buffer.c (Qoverlayp):
392 * data.c (Qsubrp):
393 * fns.c (Qhash_table_p):
394 * window.c (Qwindow_configuration_p):
395 Now static.
396 * lisp.h: Remove the abovementioned defns and decls.
397
398 Use functions, not macros, for XINT etc. (Bug#11935).
399 In lisp.h, prefer functions to function-like macros, and
400 constants to object-like macros, when either will do. This:
401 . simplifies use, as there's no more need to worry about
402 arguments' side effects being evaluated multiple times.
403 . makes the code easier to debug on some platforms.
404 However, when using gcc -O0, keep using function-like macros
405 for a few critical operations, for performance reasons.
406 This sort of thing isn't needed with gcc -Og, but -Og
407 is a GCC 4.8 feature and isn't widely-enough available yet.
408 * alloc.c (gdb_make_enums_visible) [USE_LSB_TAG]:
409 Remove enum lsb_bits; no longer needed.
410 (allocate_misc, free_misc): Don't use XMISCTYPE as an lvalue.
411 * buffer.c (Qoverlap):
412 * data.c (Qsubrp):
413 * fns.c (Qhash_table_p):
414 Now extern, so lisp.h can use these symbols.
415 * dispextern.h: Include character.h, for MAX_CHAR etc.
416 (GLYPH, GLYPH_CHAR, GLYPH_FACE, SET_GLYPH_CHAR, SET_GLYPH_FACE)
417 (SET_GLYPH, GLYPH_CODE_CHAR, GLYPH_CODE_FACE)
418 (SET_GLYPH_FROM_GLYPH_CODE, GLYPH_MODE_LINE_FACE, GLYPH_CHAR_VALID_P)
419 (GLYPH_CODE_P): Move here from lisp.h.
420 (GLYPH_CHAR, GLYPH_FACE, GLYPH_CODE_CHAR, GLYPH_CODE_FACE)
421 (GLYPH_CHAR_VALID_P, GLYPH_CODE_P): Now functions, not macros.
422 (GLYPH_MODE_LINE_FACE): Now enums, not macros.
423 * eval.c (Fautoload): Cast XUNTAG output to intptr_t, since
424 XUNTAG now returns void *.
425 * lisp.h (lisp_h_XLI, lisp_h_XIL, lisp_h_CHECK_LIST_CONS)
426 (lisp_h_CHECK_NUMBER CHECK_SYMBOL, lisp_h_CHECK_TYPE)
427 (lisp_h_CONSP, lisp_h_EQ, lisp_h_FLOATP, lisp_h_INTEGERP)
428 (lisp_h_MARKERP, lisp_h_MISCP, lisp_h_NILP)
429 (lisp_h_SET_SYMBOL_VAL, lisp_h_SYMBOL_CONSTANT_P)
430 (lisp_h_SYMBOL_VAL, lisp_h_SYMBOLP, lisp_h_VECTORLIKEP)
431 (lisp_h_XCAR, lisp_h_XCDR, lisp_h_XCONS, lisp_h_XHASH)
432 (lisp_h_XPNTR, lisp_h_XSYMBOL):
433 New macros, renamed from their sans-lisp_h_ counterparts.
434 (XLI, XIL, CHECK_LIST_CONS, CHECK_NUMBER CHECK_SYMBOL)
435 (CHECK_TYPE, CONSP, EQ, FLOATP, INTEGERP, MARKERP)
436 (MISCP, NILP, SET_SYMBOL_VAL, SYMBOL_CONSTANT_P, SYMBOL_VAL, SYMBOLP)
437 (VECTORLIKEP, XCAR, XCDR, XCONS, XHASH, XPNTR, XSYMBOL):
438 If compiling via GCC without optimization, define these as macros
439 in addition to inline functions.
440 To disable this, compile with -DINLINING=0.
441 (LISP_MACRO_DEFUN, LISP_MACRO_DEFUN_VOID): New macros.
442 (check_cons_list) [!GC_CHECK_CONS_LIST]: Likewise.
443 (make_number, XFASTINT, XINT, XTYPE, XUNTAG): Likewise, but
444 hand-optimize only in the USE_LSB_TAG case, as GNUish hosts do that.
445 (INTMASK, VALMASK): Now macros, since static values cannot be
446 accessed from extern inline functions.
447 (VALMASK): Also a constant, for benefit of old GDB.
448 (LISP_INT_TAG_P): Remove; no longer needed as the only caller
449 is INTEGERP, which can fold it in.
450 (XLI, XIL, XHASH, XTYPE,XINT, XFASTINT, XUINT)
451 (make_number, XPNTR, XUNTAG, EQ, XCONS, XVECTOR, XSTRING, XSYMBOL)
452 (XFLOAT, XPROCESS, XWINDOW, XTERMINAL, XSUBR, XBUFFER, XCHAR_TABLE)
453 (XSUB_CHAR_TABLE, XBOOL_VECTOR, make_lisp_ptr, CHECK_TYPE)
454 (CHECK_STRING_OR_BUFFER, XCAR, XCDR, XSETCAR, XSETCDR, CAR, CDR)
455 (CAR_SAFE, CDR_SAFE, STRING_MULTIBYTE, SDATA, SSDATA, SREF, SSET)
456 (SCHARS, STRING_BYTES, SBYTES, STRING_SET_CHARS, STRING_COPYIN, AREF)
457 (ASIZE, ASET, CHAR_TABLE_REF_ASCII, CHAR_TABLE_REF)
458 (CHAR_TABLE_SET, CHAR_TABLE_EXTRA_SLOTS, SYMBOL_VAL, SYMBOL_ALIAS)
459 (SYMBOL_BLV, SYMBOL_FWD, SET_SYMBOL_VAL, SET_SYMBOL_ALIAS)
460 (SET_SYMBOL_BLV, SET_SYMBOL_FWD, SYMBOL_NAME, SYMBOL_INTERNED_P)
461 (SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P, SYMBOL_CONSTANT_P)
462 (XHASH_TABLE, HASH_TABLE_P, CHECK_HASH_TABLE, HASH_KEY, HASH_VALUE)
463 (HASH_NEXT, HASH_HASH, HASH_INDEX, HASH_TABLE_SIZE)
464 (XMISC, XMISCANY, XMARKER, XOVERLAY, XSAVE_VALUE, XFWDTYPE)
465 (XINTFWD, XBOOLFWD, XOBJFWD, XBUFFER_OBJFWD, XKBOARD_OBJFWD)
466 (XFLOAT_DATA, XFLOAT_INIT, NILP, NUMBERP, NATNUMP)
467 (RANGED_INTEGERP, CONSP, FLOATP, MISCP, STRINGP, SYMBOLP)
468 (INTEGERP, VECTORLIKEP, VECTORP, OVERLAYP)
469 (MARKERP, SAVE_VALUEP, AUTOLOADP, INTFWDP, BOOLFWDP, OBJFWDP)
470 (BUFFER_OBJFWDP, KBOARD_OBJFWDP, PSEUDOVECTOR_TYPEP)
471 (PSEUDOVECTORP, WINDOW_CONFIGURATIONP, PROCESSP, WINDOWP)
472 (TERMINALP, SUBRP, COMPILEDP, BUFFERP, CHAR_TABLE_P)
473 (SUB_CHAR_TABLE_P, BOOL_VECTOR_P, FRAMEP, IMAGEP, ARRAYP)
474 (CHECK_LIST, CHECK_LIST_CONS, CHECK_LIST_END, CHECK_STRING)
475 (CHECK_STRING_CAR, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
476 (CHECK_VECTOR, CHECK_VECTOR_OR_STRING, CHECK_ARRAY)
477 (CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER, CHECK_WINDOW)
478 (CHECK_WINDOW_CONFIGURATION, CHECK_PROCESS, CHECK_SUBR)
479 (CHECK_NUMBER, CHECK_NATNUM, CHECK_MARKER, XFLOATINT)
480 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT, CHECK_OVERLAY)
481 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR, CHECK_NATNUM_CAR)
482 (CHECK_NATNUM_CDR, FUNCTIONP, SPECPDL_INDEX, LOADHIST_ATTACH)
483 Now functions.
484 (check_cons_list) [!GC_CHECK_CONS_LIST]: New empty function.
485 (LISP_MAKE_RVALUE, TYPEMASK): Remove; no longer needed.
486 (VALMASK): Define in one place rather than in two, merging the
487 USE_LSB_TAG parts; this is simpler.
488 (aref_addr, gc_aset, MOST_POSITIVE_FIXNUM, MOST_NEGATIVE_FIXNUM)
489 (max, min, struct Lisp_String, UNSIGNED_CMP, ASCII_CHAR_P):
490 Move up, to avoid use before definition.
491 Also include "globals.h" earlier, for the same reason.
492 (make_natnum): New function.
493 (XUNTAG): Now returns void *, not intptr_t, as this means fewer casts.
494 (union Lisp_Fwd, BOOLFWDP, BOOL_VECTOR_P, BUFFER_OBJFWDP, BUFFERP)
495 (CHAR_TABLE_P, CHAR_TABLE_REF_ASCII, CONSP, FLOATP, INTEGERP, INTFWDP)
496 (KBOARD_OBJFWDP, MARKERP, MISCP, NILP, OBJFWDP, OVERLAYP, PROCESSP)
497 (PSEUDOVECTORP, SAVE_VALUEP, STRINGP, SUB_CHAR_TABLE_P, SUBRP, SYMBOLP)
498 (VECTORLIKEP, WINDOWP, Qoverlayp, char_table_ref, char_table_set)
499 (char_table_translate, Qarrayp, Qbufferp, Qbuffer_or_string_p)
500 (Qchar_table_p, Qconsp, Qfloatp, Qintegerp, Qlambda, Qlistp, Qmarkerp)
501 (Qnil, Qnumberp, Qsubrp, Qstringp, Qsymbolp, Qvectorp)
502 (Qvector_or_char_table_p, Qwholenump, Ffboundp, wrong_type_argument)
503 (initialized, Qhash_table_p, extract_float, Qprocessp, Qwindowp)
504 (Qwindow_configuration_p, Qimage): New forward declarations.
505 (XSETFASTINT): Simplify by rewriting in terms of make_natnum.
506 (STRING_COPYIN): Remove; unused.
507 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Remove these macros, replacing with ...
508 (xcar_addr, xcdr_addr): New functions. All uses changed.
509 (IEEE_FLOATING_POINT): Now a constant, not a macro.
510 (GLYPH, GLYPH_CHAR, GLYPH_FACE, SET_GLYPH_CHAR, SET_GLYPH_FACE)
511 (SET_GLYPH, GLYPH_CODE_CHAR, GLYPH_CODE_FACE)
512 (SET_GLYPH_FROM_GLYPH_CODE, GLYPH_MODE_LINE_FACE, GLYPH_CHAR_VALID_P)
513 (GLYPH_CODE_P): Move to dispextern.h, to avoid define-before-use.
514 (TYPE_RANGED_INTEGERP): Simplify.
515 (Qsubrp, Qhash_table_p, Qoverlayp): New extern decls.
516 (setlocale, fixup_locale, synchronize_system_messages_locale)
517 (synchronize_system_time_locale) [!HAVE_SETLOCALE]:
518 Now empty functions, not macros.
519 (functionp): Return bool, not int.
520 * window.c (Qwindow_configuration_p): Now extern,
521 so window.h can use it.
522 * window.h (Qwindowp): Move decl back to lisp.h.
523
9583ec36
EZ
5242013-06-15 Eli Zaretskii <eliz@gnu.org>
525
526 * xdisp.c (Fline_pixel_height): New function, required for solving
527 bug #14567.
528
210272ce
PE
5292013-06-15 Paul Eggert <eggert@cs.ucla.edu>
530
531 * fns.c (Fcopy_sequence): Simplify XTYPE calculation.
532
de0503df
SM
5332013-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
534
535 * lread.c (syms_of_lread):
536 * fns.c (Fprovide): Adjust to new format of after-load-alist.
537
afbfe143
KD
5382013-06-13 Kelly Dean <kellydeanch@yahoo.com> (tiny change)
539
540 * fileio.c (Fdo_auto_save): Trap errors in auto-save-hook. (Bug#14479)
541
d177e213
XF
5422013-06-12 Xue Fuqiao <xfq.free@gmail.com>
543
544 * fileio.c (expand_file_name): Doc fix.
545
05e3e412
PE
5462013-06-11 Paul Eggert <eggert@cs.ucla.edu>
547
f7394b12
PE
548 Tickle glib by waiting for Emacs itself, not for process 0 (Bug#14569).
549 * process.c (init_process_emacs) [HAVE_GLIB && !WINDOWSNT]:
550 Wait for self, not for 0. This can't hurt on GNU or similar
551 system, and may help with Cygwin.
552
05e3e412
PE
553 * keyboard.c: Don't use PROP (...) as an lvalue.
554 (parse_tool_bar_item) [!USE_GTK && !HAVE_NS]:
555 Use set_prop (A, B), not PROP (A) = B.
556
17dd3097
EZ
5572013-06-10 Eli Zaretskii <eliz@gnu.org>
558
559 * xdisp.c (get_it_property): Use it->window instead of generating
560 a Lisp object from it->w.
561
52fab9c9
EZ
5622013-06-09 Eli Zaretskii <eliz@gnu.org>
563
564 * xdisp.c (get_it_property): If it->object is a buffer, pass to
565 get-char-property the window that is being rendered, instead of
566 the buffer, to support window-specific overlays. (Bug#14575)
ad257d4f
EZ
567 (compute_display_string_pos): When W is NULL, use the current
568 buffer as the object to pass to get-char-property.
569 (Fcurrent_bidi_paragraph_direction): Assign NULL to the window
570 pointer member of the bidi iterator, since no window is pertinent
571 to this function.
52fab9c9 572
5bf97bfc
EZ
5732013-06-08 Eli Zaretskii <eliz@gnu.org>
574
575 * bidi.c (bidi_fetch_char): Accept additional argument, the window
576 being displayed, and pass it to compute_display_string_pos.
577 (bidi_level_of_next_char, bidi_resolve_explicit_1)
578 (bidi_paragraph_init): All callers changed.
579
580 * xdisp.c (init_from_display_pos, init_iterator)
581 (handle_single_display_spec, next_overlay_string)
582 (get_overlay_strings_1, reseat_1, reseat_to_string)
e7b41c4c
JB
583 (push_prefix_prop, Fcurrent_bidi_paragraph_direction):
584 Set bidi_it.w member from it->w.
5bf97bfc
EZ
585 (compute_display_string_pos): Accept additional argument, the
586 window being displayed, and pass it to Fget_char_property.
587 (Bug#14575)
588
589 * dispextern.h (struct bidi_it): New member w, the window being
590 displayed.
591 (compute_display_string_pos): Adjust prototype.
592
5de0e011
JD
5932013-06-08 Jan Djärv <jan.h.d@swipnet.se>
594
e7b41c4c 595 * xgselect.c: Remove unneeded include xterm.h.
b33f93ee
JD
596
597 * process.c (wait_reading_process_output): Check for NS before GLIB.
598 GLIB may be linked in due to rsvg, but ns_select must be called.
599
5de0e011
JD
600 * xgselect.c (xg_select): Remove call to window_system_available
601 and g_main_context_pending at the top, so Gdk events (i.e. file
602 notify) are processed when Emacs is started with -nw.
603
a822acff
EZ
6042013-06-07 Eli Zaretskii <eliz@gnu.org>
605
606 * Makefile.in (ctagsfiles1, ctagsfiles2): Don't include *.m files.
607 (ctagsfiles3): New variable, includes only *.m files.
608 (TAGS): Use an explicit language name in the regular expressions,
609 to avoid transformation of '/SOMETHING' by MSYS to
610 'c:\MSYS\SOMETHING'.
611
6c0a9ed1
RC
6122013-06-07 Richard Copley <rcopley@gmail.com> (tiny change)
613
614 * epaths.in: Fix commentary to PATH_SITELOADSEARCH.
615
9ef6111b
EZ
6162013-06-06 Eli Zaretskii <eliz@gnu.org>
617
618 * xdisp.c (note_mouse_highlight): When mouse-highlight is off,
619 still need to set the mouse pointer shape and activate help-echo.
620 (Bug#14558)
621
7d300d64
PE
6222013-06-06 Paul Eggert <eggert@cs.ucla.edu>
623
624 A few porting etc. fixes for the new file monitor code.
625 See the thread containing
626 <http://lists.gnu.org/archive/html/emacs-devel/2013-06/msg00109.html>.
627 * gfilenotify.c (dir_monitor_callback, Fgfile_add_watch)
628 (Fgfile_rm_watch): Don't assume EMACS_INT is the same width as a pointer.
629 (dir_monitor_callback, Fgfile_rm_watch):
630 Use assq_no_quit instead of Fassoc, for speed.
631 (dir_monitor_callback, Fgfile_rm_watch):
632 eassert that the monitor is a fixnum.
633 (dir_monitor_callback): No need for CDR_SAFE.
634 Simplify building of lisp with alternative tails.
635 (Fgfile_add_watch, Fgfile_rm_watch):
636 Do not assume glib functions set errno reliably on failure.
637 (Fgfile_add_watch): Check that the monitor survives the XIL trick,
638 and signal an error otherwise.
639 (Fgfile_rm_watch): Prefer CONSP to !NILP.
640 Use Fdelq instead of Fdelete, for speed.
641
817ebfcf
EZ
6422013-06-05 Eli Zaretskii <eliz@gnu.org>
643
644 * xdisp.c (handle_tool_bar_click): When mouse-highlight is off,
645 don't insist on being invoked on a highlighted tool-bar button.
646 Avoids losing tool-bar functionality when mouse-highlight is nil.
647 (note_tool_bar_highlight, note_mode_line_or_margin_highlight):
648 Don't highlight when mouse-highlight is nil.
649 (note_mouse_highlight): When mouse-highlight is nil, don't return
650 right away; instead, run tool-bar and mode-line highlight
651 subroutine, clear any existing highlight, and revert the mouse
652 pointer to its default shape. (Bug#14558)
653
55577e7c
SM
6542013-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
655
656 * lisp.mk (lisp): Add prog-mode.el.
657
f019a684
PE
6582013-06-05 Paul Eggert <eggert@cs.ucla.edu>
659
660 Chain glib's SIGCHLD handler from Emacs's (Bug#14474).
661 * process.c (dummy_handler): New function.
662 (lib_child_handler): New static var.
663 (handle_child_signal): Invoke it.
664 (catch_child_signal): If a library has set up a signal handler,
665 save it into lib_child_handler.
666 (init_process_emacs): If using glib and not on Windows, tickle glib's
667 child-handling code so that it initializes its private SIGCHLD handler.
668 * syssignal.h (SA_SIGINFO): Default to 0.
669 * xterm.c (x_term_init): Remove D-bus hack that I installed on May
670 31; it should no longer be needed now.
671
90db8702
MA
6722013-06-05 Michael Albinus <michael.albinus@gmx.de>
673
674 * emacs.c (main) [HAVE_GFILENOTIFY]: Call globals_of_gfilenotify.
675
676 * gfilenotify.c (globals_of_gfilenotify): New function.
677 (syms_of_gfilenotify): Move global initialization there.
678
679 * lisp.h (globals_of_gfilenotify) [HAVE_GFILENOTIFY]: Add prototype.
680
bfa3acd6
SM
6812013-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
682
683 * keymap.c (Fcurrent_active_maps, Fdescribe_buffer_bindings):
684 * keyboard.c (menu_bar_items, tool_bar_items):
685 * doc.c (Fsubstitute_command_keys): Voverriding_terminal_local_map does
686 not override local keymaps any more.
687
ba59bd80
EZ
6882013-06-04 Eli Zaretskii <eliz@gnu.org>
689
690 * window.c (Fpos_visible_in_window_p): Doc fix. (Bug#14540)
691
7f203aa1
EZ
6922013-06-03 Eli Zaretskii <eliz@gnu.org>
693
9337e206
EZ
694 * w32console.c (initialize_w32_display): Return the dimensions of
695 the console window via 2 additional arguments, not via the current
696 frame. This avoids crashes due to overrunning the bounds of
697 frame's decode_mode_spec_buffer, which is not resized following
698 the change of the frame dimensions from the initial 10x10.
699
700 * w32term.h (w32_initialize_display_info): Adjust prototype.
701
702 * term.c (init_tty): Take dimensions of the frame from the values
703 returned by initialize_w32_display.
704
7f203aa1
EZ
705 * Makefile.in (GFILENOTIFY_CFLAGS, GFILENOTIFY_LIBS): New variables.
706 (ALL_CFLAGS): Add $(GFILENOTIFY_CFLAGS).
707 (LIBES): Add $(GFILENOTIFY_LIBS).
708
709 * w32inevt.c (handle_file_notifications): Add dummy implementation
710 for !HAVE_W32NOTIFY.
711
712 * w32term.c: Wrap code with HAVE_W32NOTIFY.
713
55a87246
JD
7142013-06-03 Jan Djärv <jan.h.d@swipnet.se>
715
716 * xgselect.c: Replace #if defined ... with #ifdef HAVE_GLIB.
717
718 * process.c (wait_reading_process_output): Call xg_select if HAVE_GLIB.
719
720 * Makefile.in (XGSELOBJ): New, xgselect.o if GLib is used, or empty.
721
3d5ee10a
PE
7222013-06-03 Paul Eggert <eggert@cs.ucla.edu>
723
724 Fix minor problems found by static checking.
725 * data.c (pure_write_error):
726 Use xsignal2, not Fsignal, as Fsignal might return.
727 * eval.c (set_backtrace_debug_on_exit): Now static.
728 (backtrace_p, backtrace_top, backtrace_next, record_in_backtrace):
729 No longer inline. EXTERN_INLINE is needed only for functions
730 defined in .h files. Reindent function header as per GNU style.
731 (backtrace_p, backtrace_top, backtrace_next):
732 Mark EXTERNALLY_VISIBLE so they don't get optimized away by the
733 compiler or linker. Add extern decls to pacify gcc -Wall.
734 * frame.c, frame.h (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource):
735 Now static.
736 * frame.c (free_monitors): Define only on platforms that need it.
737 * nsterm.m (ns_term_init):
738 * process.c (catch_child_signal):
739 Don't worry about whether SIGCHLD is defined, as SIGCHLD is
740 defined on all porting targets these days.
741 * process.c, process.h (catch_child_signal):
742 Make it extern only if NS_IMPL_GNUSTEP is defined.
743
e2d8a6f0
EZ
7442013-06-03 Eli Zaretskii <eliz@gnu.org>
745
746 * w32.c (gettimeofday): Make the signature identical to prototype
747 in nt/inc/sys/time.h.
748
a8a7c5f6
SM
7492013-06-03 Stefan Monnier <monnier@iro.umontreal.ca>
750
751 * eval.c (backtrace_p, backtrace_top, backtrace_next): Export them to
752 .gdbinit.
753
754 * keyboard.c (safe_run_hooks_error): Improve error message.
755
756 * data.c (pure_write_error): Add `object' argument.
757 * puresize.h (CHECK_IMPURE): Use it.
758
c9628c79
MA
7592013-06-03 Michael Albinus <michael.albinus@gmx.de>
760
761 * Makefile.in (NOTIFY_OBJ): New variable.
762 (base_obj): Replace inotify.o by $(NOTIFY_OBJ).
763
764 * emacs.c (main): Use HAVE_W32NOTIFY to wrap respective code.
765 Call syms_of_gfilenotify.
766
767 * gfilenotify.c: New file.
768
769 * keyboard.c (Qfile_notify): New variable. Replaces Qfile_inotify
770 and Qfile_w32notify.
771 (top): Wrap respective code by HAVE_GFILENOTIFY, HAVE_INOTIFY,
772 HAVE_W32NOTIFY and USE_FILE_NOTIFY.
773
774 * lisp.h: Declare syms_of_gfilenotify.
775
776 * termhooks.h (e): Wrap enum by USE_FILE_NOTIFY.
777
2f592f95
SM
7782013-06-03 Stefan Monnier <monnier@iro.umontreal.ca>
779
780 Merge the specpdl and backtrace stacks. Make the structure of the
781 specpdl entries more obvious via a tagged union of structs.
782 * lisp.h (BITS_PER_PTRDIFF_T): New constant.
783 (enum specbind_tag): New enum.
784 (struct specbinding): Make it a tagged union of structs.
785 Add a case for backtrace records.
786 (specpdl_symbol, specpdl_old_value, specpdl_where, specpdl_arg)
787 (specpdl_func, backtrace_function, backtrace_nargs, backtrace_args)
788 (backtrace_debug_on_exit): New accessors.
789 (struct backtrace): Remove.
790 (struct catchtag): Remove backlist field.
791 * data.c (let_shadows_buffer_binding_p, let_shadows_global_binding_p):
792 Move to eval.c.
793 (Flocal_variable_p): Speed up the common case where the binding is
794 already loaded.
795 * eval.c (backtrace_list): Remove.
796 (set_specpdl_symbol, set_specpdl_old_value): Remove.
797 (set_backtrace_args, set_backtrace_nargs)
798 (set_backtrace_debug_on_exit, backtrace_p, backtrace_top)
799 (backtrace_next): New functions.
800 (Fdefvaralias, Fdefvar): Adjust to new specpdl format.
801 (unwind_to_catch, internal_lisp_condition_case)
802 (internal_condition_case, internal_condition_case_1)
803 (internal_condition_case_2, internal_condition_case_n): Don't bother
804 with backtrace_list any more.
805 (Fsignal): Adjust to new backtrace format.
806 (grow_specpdl): Move up.
807 (record_in_backtrace): New function.
808 (eval_sub, Ffuncall): Use it.
809 (apply_lambda): Adjust to new backtrace format.
810 (let_shadows_buffer_binding_p, let_shadows_global_binding_p): Move from
811 data.c.
812 (specbind): Adjust to new specpdl format. Simplify.
813 (record_unwind_protect, unbind_to): Adjust to new specpdl format.
814 (Fbacktrace_debug, Fbacktrace, Fbacktrace_frame): Adjust to new
815 backtrace format.
816 (mark_backtrace): Remove.
817 (mark_specpdl, get_backtrace, backtrace_top_function): New functions.
818 * xdisp.c (redisplay_internal): Use record_in_backtrace.
819 * alloc.c (Fgarbage_collect): Use record_in_backtrace.
820 Use mark_specpdl.
821 * profiler.c (record_backtrace): Use get_backtrace.
822 (handle_profiler_signal): Use backtrace_top_function.
823 * .gdbinit (xbacktrace, hookpost-backtrace): Use new backtrace
824 accessor functions.
825
c0342369
JD
8262013-06-02 Jan Djärv <jan.h.d@swipnet.se>
827
828 * process.h (catch_child_signal): Declare.
829
830 * process.c (catch_child_signal): New function.
831 (init_process_emacs): Call it.
832
833 * nsterm.m: Include process.h if NS_IMPL_GNUSTEP.
834 (ns_menu_bar_is_hidden, menu_will_open_state): Define only if
835 NS_IMPL_COCOA.
836 (x_set_cursor_type): Remove declaration.
837 (ns_update_begin): Only use r and bp if NS_IMPL_COCOA.
838 (ns_update_end, ns_focus, ns_unfocus): Remove GNUStep specific code.
839 (x_set_window_size): Remove 3 pixels from toolbar if NS_IMPL_GNUSTEP.
840 (ns_get_color): Use F suffix on float.
841 (ns_color_to_lisp, ns_query_color): Use EmacsCGFloat.
842 (ns_get_rgb_color): Remove.
843 (x_set_frame_alpha): Move view inside NS_IMPL_COCOA.
844 (note_mouse_movement): x and y are CGFloat.
845 (ns_draw_fringe_bitmap): Remove unused rowY.
846 Change #if to COCOA && >= 10_6.
847 (ns_draw_window_cursor): Remove unused overspill.
848 (ns_draw_underwave): width and x are EamcsCGFloat.
849 (ns_draw_box): thickness is CGFloat.
850 (ns_dumpglyphs_image): Change #if to COCOA && >= 10_6.
851 (ns_send_appdefined): When NS_IMPL_GNUSTEP, redirect to main thread
852 if not in main thread.
853 (ns_get_pending_menu_title, ns_check_menu_open)
854 (ns_check_pending_open_menu): Put inside #if COCOA && >= 10_5.
855 (ns_term_init): Call catch_child_signal if NS_IMPL_GNUSTEP && SIGCHLD.
856 (sendFromMainThread:): New method.
857 (changeFont:): size is CGFloat.
858 (keyDown:): Check for Delete when NS_IMPL_GNUSTEP.
859 Disable warning about permanent text.
860 (characterIndexForPoint:): Adjust return type depending on GNUStep
861 version.
862 (mouseDown:): delta is CGFloat.
863 (updateFrameSize): Remove unised variable f.
864 (initFrameFromEmacs): Move toggleButton inside NS_IMPL_COCOA.
865 Cast float to EmacsCGFloat.
866 (windowWillUseStandardFrame:defaultFrame:): Set maximized_height
867 also to -1 when restoring.
868 (windowDidExitFullScreen:): Put call to updateCollectionBehaviour
869 inside NS_IMPL_COCOA.
870 (toggleFullScreen:): Put call to toggleFullScreen inside
871 NS_IMPL_COCOA. Cast float to EmacsCGFloat.
872 (setPosition:portion:whole:): por is CGFloat.
873 (getMouseMotionPart:window:x:y:): Add F suffix to float.
874 (mouseDown:): Use CGFloat.
875 (mouseDragged:): Remove unised variable edge.
876 (EmacsDocument): Implement for NS_IMPL_GNUSTEP.
877
878 * nsterm.h (EmacsCGFloat): Typedef for OSX and GNUStep when the size
879 of CGFloat differs.
880 (EmacsApp): New variable nextappdefined. Declare sendFromMainThread
881 when NS_IMPL_GNUSTEP.
882 (EmacsDocument): Declare when NS_IMPL_GNUSTEP.
883 (EmacsView): Remove unlockFocusNeedsFlush, add windowDidMove.
884 (EmacsToolbar): Add clearAll. Add tag argument to
885 addDisplayItemWithImage.
886 (EmacsSavePanel, EmacsOpenPanel): Remove getFilename and getDirectory.
887
888 * nsselect.m (ns_get_local_selection): Remove unused variable type.
889
890 * nsmenu.m (ns_update_menubar): Make static.
891 (x_activate_menubar): Surround with ifdef NS_IMPL_COCOA
892 (fillWithWidgetValue:): Add cast to SEL for setAction.
893 (addSubmenuWithTitle:forFrame:): Add cast to SEL for action.
894 (update_frame_tool_bar): Update code for GNUStep.
895 (clearAll): New method.
896 (addDisplayItemWithImage:idx:tag:helpText:enabled:): Handle new tag
4f405069 897 argument. Call insertItemWithItemIdentifier when NS_IMPL_GNUSTEP.
e7b41c4c 898 Move identifierToItem setObject and activeIdentifiers addObject before
c0342369
JD
899 call to insertItemWithItemIdentifier.
900 (validateVisibleItems): Fix indentation.
901 (toolbarAllowedItemIdentifiers:): Return activeIdentifiers.
902 (initWithContentRect:styleMask:backing:defer:): Add ClosableWindow and
903 UtilityWindow to aStyle, remove call to setStyleMask.
904
905 * nsimage.m (setXBMColor:, getPixelAtX:Y:): Use EmacsCGFloat.
906
907 * nsfont.m (ns_attribute_fvalue, ns_spec_to_descriptor)
908 (ns_charset_covers, ns_get_covering_families, nsfont_open):
909 Use F suffix on floats.
910 (ns_char_width): Returns CGFloat.
911 (ns_ascii_average_width): w is CGFloat instead of float.
e7b41c4c 912 (nsfont_draw): cbuf and c are unsigned. Cast to char* in call to
c0342369
JD
913 DPSxshow.
914 (ns_glyph_metrics): CGFloat instead of float.
915
a0eb10b3
JB
916 * nsfns.m (x_set_foreground_color, x_set_background_color):
917 Use EmacsCGFloat.
918 (ns_implicitly_set_icon_type, Fx_create_frame): Make static,
919 remove unused variables.
920 (Fns_read_file_name): Keep track if panel is for save.
921 Use ns_filename_from_panel/ns_directory_from_panel.
c0342369 922 (Fns_list_services): delegate only used for COCOA.
a0eb10b3
JB
923 (Fns_convert_utf8_nfd_to_nfc): Remove warning for GNUStep.
924 Just return the input if GNUStep.
c0342369
JD
925 (x_screen_planes): Remove.
926 (Fxw_color_values): Use EmacsCGFloat
927 (Fns_display_monitor_attributes_list): Only get screen number for
928 Cocoa.
929 (getDirectory, getFilename): Removed from EmacsOpenPanel and
930 EmacsSavePanel.
931 (EmacsOpenPanel:ok:): Use ns_filename_from_panel and
932 ns_directory_from_panel.
933
da9aff11
PE
9342013-06-01 Paul Eggert <eggert@cs.ucla.edu>
935
936 * process.c (handle_child_signal): Also use WCONTINUED.
937 This is so that list-processes doesn't mistakenly list the process
938 as stopped, when the process has actually been continued and is
939 now running.
940
0e64479a
PE
9412013-05-31 Paul Eggert <eggert@cs.ucla.edu>
942
fc186a96
PE
943 Don't let D-bus autolaunch mess up SIGCHLD handling (Bug#14474).
944 * xterm.c (x_term_init): Inhibit D-Bus autolaunch if D-Bus is
945 not already configured.
946
0e64479a
PE
947 * fileio.c (Finsert_file_contents): Remove unused local (Bug#8447).
948
38b787fa
EZ
9492013-05-29 Eli Zaretskii <eliz@gnu.org>
950
951 * Makefile.in (mostlyclean): Remove *.res files.
952
22513e52
SM
9532013-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
954
955 * fileio.c (Finsert_file_contents): Preserve undo info when reverting
956 a buffer (bug#8447).
957
6ef3db10
EZ
9582013-05-27 Eli Zaretskii <eliz@gnu.org>
959
960 * xdisp.c (pos_visible_p): When CHARPOS is displayed frrom a
961 display vector, and we backtrack, handle the case that the
962 previous character position is also displayed from a display
963 vector or covered by a display string or image. (Bug#14476)
964
6799bb26
JD
9652013-05-25 Jan Djärv <jan.h.d@swipnet.se>
966
967 * xfns.c (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): Remove.
968 (struct MonitorInfo, free_monitors): Remove.
969 (x_make_monitor_attribute_list): Call make_monitor_attribute_list.
970 (Fx_display_monitor_attributes_list): Call make_monitor_attribute_list.
971 (syms_of_xfns): Remove DEFSYM for Qgeometry, Qworkarea, Qmm_size,
972 Qframes, Qsource.
973
974 * nsfns.m (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): Remove.
975 (struct MonitorInfo, free_monitors): Remove.
976 (ns_screen_name): Make static.
977 (ns_make_monitor_attribute_list): Call make_monitor_attribute_list.
978 (syms_of_nsfns): Remove DEFSYM for Qgeometry, Qworkarea, Qmm_size,
979 Qframes, Qsource.
980
981 * frame.h (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): Declare.
982 (struct MonitorInfo): New struct.
983 (free_monitors, make_monitor_attribute_list): Declare.
984
22513e52
SM
985 * frame.c (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource):
986 New Lisp_Object:s.
6799bb26
JD
987 (free_monitors, make_monitor_attribute_list): New functions.
988 (syms_of_frame): DEFSYM Qgeometry, Qworkarea, Qmm_size, Qframes,
989 Qsource.
990
38cd43eb
XF
9912013-05-25 Xue Fuqiao <xfq.free@gmail.com>
992
993 * callproc.c (call_process): Refine the doc string. (Bug#14045)
994
2af0948d
SM
9952013-05-23 Stefan Monnier <monnier@iro.umontreal.ca>
996
a7eb9b0f
SM
997 * keyboard.c: Apply keyboard decoding only to events that come directly
998 from the tty, not from unread-command-events (bug#14368).
999 (read_event_from_main_queue): New function, extracted from read_char).
1000 (read_decoded_char): Remove.
1001 (read_decoded_event_from_main_queue): New function to replace it.
1002 (read_char): Use it.
1003 (read_key_sequence): Use read_char rather than read_decoded_char.
1004
2af0948d
SM
1005 * keyboard.c (read_decoded_char): Don't decode under w32 (bug#14403).
1006
1413e9a5
BR
10072013-05-22 Barry OReilly <gundaetiapo@gmail.com> (tiny change)
1008
1009 * casetab.c (init_casetab_once): Fix last change (bug#14424).
1010
e6d2f155
KH
10112013-05-22 Kenichi Handa <handa@gnu.org>
1012
1013 The following changes are to fix the setting of
1014 buffer-file-coding-system on, for instance, C-x RET c unix RET
1015 _FILE_OF_DOS_EOL_TYPE_ RET.
1016
1017 * coding.h (struct coding_system): New member detected_utf8_chars.
1018
1019 * coding.c (detect_coding_utf_8): Count characters and check EOL
1020 format. Include CATEGORY_MASK_UTF_8_AUTO in detect_info->found if
1021 BOM is there.
1022 (setup_coding_system): Do not initialize coding->head_ascii.
1023 (check_ascii): Do not set coding->eol_seen but update it. Do not
1024 call adjust_coding_eol_type here.
1413e9a5
BR
1025 (detect_coding): Fix detection of BOM for utf-8 and utf-16.
1026 If the eol-type of CODING is already specified, adjust the eol type
e6d2f155
KH
1027 of the found coding-system.
1028 (decode_coding_gap): Cancel previous change. Utilize the
1029 character numbers counted by detect_coding_utf_8. Fix detection
1030 of BOM for utf-8.
1031
ab56a6f4 10322013-05-21 Barry OReilly <gundaetiapo@gmail.com> (tiny change)
fc30d803
SM
1033
1034 * search.c (looking_at_1): Only set last_thing_searched if the match
1035 changed the match-data (bug#14281).
1036
ecc3c6ed
DA
10372013-05-21 Dmitry Antipov <dmantipov@yandex.ru>
1038
1039 * xdisp.c (reseat_at_previous_visible_line_start):
a0eb10b3 1040 Already declared in dispextern.h, so remove it here.
ecc3c6ed
DA
1041 (move_it_vertically_backward): Likewise.
1042
5ba8bf35
YM
10432013-05-20 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1044
1045 * xfns.c (check_x_display_info): Don't use XINT for terminal object.
d6635ba2 1046 (Fx_display_pixel_width, Fx_display_pixel_height)
fc30d803
SM
1047 (Fx_display_mm_width, Fx_display_mm_height):
1048 Mention `display-monitor-attributes-list' in docstrings.
5ba8bf35 1049
91e8418b 1050 * nsfns.m (ns_get_screen): Remove function. All uses removed.
a0eb10b3 1051 (check_ns_display_info): Sync with check_x_display_info in xfns.c.
91e8418b
YM
1052 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
1053 (Fx_display_screens, Fx_display_mm_width, Fx_display_mm_height)
1054 (Fx_display_backing_store, Fx_display_visual_class)
1055 (Fx_display_save_under, Fx_close_connection, Fxw_display_color_p)
1056 (Fx_display_grayscale_p, Fx_display_pixel_width)
1057 (Fx_display_pixel_height, Fx_display_planes)
1058 (Fx_display_color_cells): Sync args and docstrings with xfns.c.
1059 (Fx_display_screens): Don't confuse X11 screens with NS screens.
1060 (Fx_display_mm_width, Fx_display_mm_height)
1061 (Fx_display_pixel_width, Fx_display_pixel_width): Return width or
1062 height for all physical monitors as in X11.
1063
fc30d803
SM
1064 * nsterm.m (x_display_pixel_width, x_display_pixel_height):
1065 Return pixel width or height for all physical monitors as in X11.
91e8418b 1066
31ff141c
PE
10672013-05-18 Paul Eggert <eggert@cs.ucla.edu>
1068
1069 Port --enable-gcc-warnings to clang.
1070 * bytecode.c (exec_byte_code):
1071 * regex.c:
1072 Redo diagnostic pragmas to pacify clang, too.
1073 * dbusbind.c (xd_retrieve_arg): Do not use uninitialized variable.
1074 * editfns.c (Fencode_time):
1075 * fileio.c (file_accessible_directory_p):
1076 * font.c (font_unparse_xlfd):
1077 Use '&"string"[index]' instead of '"string" + (index)'.
1078 * undo.c (user_error): Remove; unused.
1079
df065a0b
EZ
10802013-05-16 Eli Zaretskii <eliz@gnu.org>
1081
04d360e7
EZ
1082 * insdel.c (insert_1_both): Document the arguments, instead of
1083 referring to insert_1, which no longer exists.
1084
5bb98290
EZ
1085 * xdisp.c (message_dolog): If the *Messages* buffer is shown in
1086 some window, increment windows_or_buffers_changed, so that
1087 *Messages* display in that window is updated. (Bug#14408)
1088
df065a0b
EZ
1089 * w32.c: Include epaths.h.
1090 (init_environment): Use cmdproxy.exe without leading directories.
1091 Support emacs.exe in src; point SHELL to cmdproxy in ../nt in that
1092 case.
1093 (gettimeofday): Adjust signature and return value to Posix
1094 expectations.
1095
1096 * unexw32.c (open_output_file): Delete the existing emacs.exe
1097 before creating it, to break the hard link to the versioned
1098 executable.
1099
1100 * Makefile.in (EMACS_MANIFEST, CM_OBJ, TEMACS_POST_LINK)
1101 (ADDSECTION, EMACS_HEAPSIZE, MINGW_TEMACS_POST_LINK)
1102 (FIRSTFILE_OBJ): New variables.
1103 (W32_RES): Rename to EMACSRES. All users changed.
1104 (base_obj): Use $(CM_OBJ).
1105 (ALLOBJS): Use $(FIRSTFILE_OBJ).
1106 (emacs$(EXEEXT)): Depend on $(ADDSECTION).
1107 (temacs$(EXEEXT)): Use $(TEMACS_POST_LINK), and move
1108 $(W32_RES_LINK) before $(LIBES).
1109 (emacs.res): Depend on $(EMACS_MANIFEST). Put emacs.rc in nt.
1110
1aa8d505
SM
11112013-05-15 Stefan Monnier <monnier@iro.umontreal.ca>
1112
6e911150
SM
1113 * makefile.w32-in (DOC): Use just "DOC".
1114
1115 * Makefile.in (bootstrap-clean): DOC-* doesn't exist any more.
1116
1aa8d505
SM
1117 * process.c: Export default filters and sentinels to Elisp.
1118 (Qinternal_default_process_sentinel, Qinternal_default_process_filter):
1119 New constants.
1120 (pset_filter, pset_sentinel, make_process, Fset_process_filter)
1121 (Fset_process_sentinel, Fformat_network_address):
1122 Default to them instead of nil.
1123 (server_accept_connection): Sentinels can't be nil any more.
1124 (read_and_dispose_of_process_output): New function, extracted from
1125 read_process_output.
1126 (read_process_output): Use it; filters can't be nil.
1127 (Finternal_default_process_filter): New function, extracted from
1128 read_process_output.
1129 (exec_sentinel_unwind): Remove function.
1130 (exec_sentinel): Don't zilch sentinel while running.
1131 (status_notify): Sentinels can't be nil.
1132 (Finternal_default_process_sentinel): New function extracted from
1133 status_notify.
1134 (setup_process_coding_systems): Default filter is not nil any more.
1135 (syms_of_process): Export new Elisp functions and initialize
1136 new constants.
1137 * lisp.h (make_lisp_proc): New function.
1138
5ac2eb34
SM
11392013-05-15 Stefan Monnier <monnier@iro.umontreal.ca>
1140
1141 * regex.c (regex_compile) [\=, \>, \<]: Don't forget to set laststart.
1142
eda9c7d7
EZ
11432013-05-14 Eli Zaretskii <eliz@gnu.org>
1144
1145 * w32fns.c (w32_wnd_proc): Don't call WINDOW_HEADER_LINE_HEIGHT
5ac2eb34
SM
1146 unless we know that the window w is a leaf window.
1147 Another attempt at solving bug#14062.
eda9c7d7 1148
8fdeaad5
JD
11492013-05-14 Jan Djärv <jan.h.d@swipnet.se>
1150
1151 * nsfont.m (ns_spec_to_descriptor): Retain and autorelease
1152 fdesc (Bug#14375).
1153
44aa9ee6
PE
11542013-05-12 Paul Eggert <eggert@cs.ucla.edu>
1155
1156 * image.c (gif_load): Check that subimages fit (Bug#14345).
1157
759fd763
SM
11582013-05-09 Stefan Monnier <monnier@iro.umontreal.ca>
1159
1160 * lread.c (skip_dyn_eof): New function.
1161 (read1): Use it to skip the end of a file in response to #@00.
1162
1163 * doc.c (get_doc_string): Slightly relax the sanity checking.
1164
4465bfb4
JD
11652013-05-09 Jan Djärv <jan.h.d@swipnet.se>
1166
1167 * nsfns.m: Include IOGraphicsLib.h if Cocoa.
1168 (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): Declare.
1169 (MonitorInfo): New struct.
1170 (free_monitors, ns_screen_name, ns_make_monitor_attribute_list)
1171 (Fns_display_monitor_attributes_list): New functions.
1172 (display-usable-bounds): Remove.
1173 (syms_of_nsfns): DEFSYM Qgeometry, Qworkarea, Qmm_size, Qframes and
1174 Qsource.
1175
7583e2a0
PE
11762013-05-09 Paul Eggert <eggert@cs.ucla.edu>
1177
1178 * xterm.h (GTK_PREREQ): Remove, replacing with GTK_CHECK_VERSION.
1179 (GTK_CHECK_VERSION): New macro, if not already defined.
1180 All uses of GTK_PREREQ, GTK_MAJOR_VERSION, etc.
1181 replaced by GTK_CHECK_VERSION.
1182
ad75d77e
PE
11832013-05-08 Paul Eggert <eggert@cs.ucla.edu>
1184
1185 * xterm.h (GTK_PREREQ): New macro.
1186 All simple uses of GTK_MAJOR_VERSION and GTK_MINOR_VERSION changed
1187 to use this macro instead, for consistency and clarity.
1188
07525f77
EZ
11892013-05-08 Eli Zaretskii <eliz@gnu.org>
1190
1191 * xdisp.c (row_for_charpos_p): New function, with code of
1192 cursor_row_p, but accepts an additional argument CHARPOS instead
1193 of using a hardcoded PT.
1194 (cursor_row_p): Call row_for_charpos_p with 2nd argument PT.
1195 (row_containing_pos): Call row_for_charpos_p instead of partially
1196 doing the same. Fixes cursor positioning under longlines-mode
1197 when longlines-show-effect includes more than one newline, when
1198 moving the cursor vertically up.
1199
d901fc8d
JB
12002013-05-08 Juanma Barranquero <lekktu@gmail.com>
1201
1202 * makefile.w32-in (ACL_H): New macro.
1203 ($(BLD)/fileio.$(O)): Update dependencies.
1204
f269bc61
PE
12052013-05-07 Paul Eggert <eggert@cs.ucla.edu>
1206
e7b41c4c 1207 Use Gnulib ACL implementation, for benefit of Solaris etc. (Bug#14295)
ffdc270a
PE
1208 * Makefile.in (LIB_ACL): New macro.
1209 (LIBACL_LIBS): Remove.
1210 (LIBES): Use LIB_ACL, not LIBACL_LIBS.
1211 * fileio.c: Include <acl.h>.
1212 Use HAVE_ACL_SET_FILE rather than HAVE_POSIX_ACL.
1213 (ACL_NOT_WELL_SUPPORTED): Remove. All uses replaced by
1214 !acl_errno_valid.
1215 (Fcopy_file) [!WINDOWSNT]: Use qcopy_acl instead of rolling
1216 it ourselves.
1217
f269bc61
PE
1218 * unexelf.c: Don't assume ElfW (Half) fits in int.
1219 (entry_address, find_section, unexec): Use ptrdiff_t, not int,
1220 when dealing with ElfW (Half) values, since they can exceed 2**31
1221 on 64-bit OpenBSD hosts. Problem reported privately by Han Boetes.
1222 (entry_address): Omit unused NUM arg. All uses changed.
1223
a261c53e
JL
12242013-05-07 Juri Linkov <juri@jurta.org>
1225
1226 * callint.c (Fcall_interactively): Set `visargs[i]' for code 'n'
1227 to the string converted from number with `Fnumber_to_string'.
1228 (Bug#14254)
1229
2b66427d
PE
12302013-05-07 Paul Eggert <eggert@cs.ucla.edu>
1231
1232 * xfns.c (x_get_net_workarea): Define only if !GTK || GTK<3.4.
1233 This fixes a problem introduced by my previous change.
1234
15acfe41
GM
12352013-05-07 Glenn Morris <rgm@gnu.org>
1236
1237 * lread.c (readchar): Don't read from a dead buffer. (Bug#14280)
1238
5ea03bf5
JD
12392013-05-07 Jan Djärv <jan.h.d@swipnet.se>
1240
1241 * xfns.c: Move misplaced ifndef USE_GTK from previous checkin.
1242
e0c9d565
PE
12432013-05-07 Paul Eggert <eggert@cs.ucla.edu>
1244
1245 Static checking by GCC 4.8.0.
1246 * xfns.c (x_get_net_workarea, struct MonitorInfo, free_monitors)
1247 (x_get_monitor_for_frame, x_make_monitor_attribute_list)
1248 (x_get_monitor_attributes_fallback)
1249 (x_get_monitor_attributes_xinerama)
1250 (x_get_monitor_attributes_xrandr, x_get_monitor_attributes):
1251 Define only if USE_GTK.
1252 (free_monitors): Define only if HAVE_XINERAMA || HAVE_XRANDR.
1253 (x_get_monitor_attributes_fallback): Omit unused locals.
1254 (x_get_monitor_attributes_xinerama, Fx_display_monitor_attributes_list):
1255 Use double, not float, to avoid mixed-mode floating point arithmetic.
1256
4e3f9230
YM
12572013-05-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1258 Jan Djärv <jan.h.d@swipnet.se>
1259
1260 * Makefile.in (XRANDR_LIBS, XRANDR_CFLAGS, XINERAMA_LIBS)
1261 (XINERAMA_CFLAGS): New macros.
1262 (ALL_CFLAGS, LIBES): Use them.
1263
1264 * xfns.c: Include <X11/extensions/Xrandr.h> if HAVE_XRANDR, and
1265 include <X11/extensions/Xinerama.h> if HAVE_XINERAMA.
1266 (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): New variables.
1267 (syms_of_xfns): DEFSYM them.
1268 (struct MonitorInfo): New struct.
1269 (x_get_net_workarea, free_monitors, x_get_monitor_for_frame)
1270 (x_make_monitor_attribute_list, x_get_monitor_attributes_fallback)
1271 (x_get_monitor_attributes_xrandr, x_get_monitor_attributes)
1272 (x_get_monitor_attributes_xinerama): New functions.
1273 (Fx_display_monitor_attributes_list): New primitive.
1274 (syms_of_xfns): Defsubr it.
1275
1276 * xterm.h (x_display_info): Add Xatom_net_workarea and
1277 Xatom_net_current_desktop.
1278
1279 * xterm.c (x_term_init): Initialize dpyinfo->Xatom_net_workarea
1280 and dpyinfo->Xatom_net_current_desktop.
1281
05839b6a
EZ
12822013-05-06 Eli Zaretskii <eliz@gnu.org>
1283
1284 * xdisp.c (pos_visible_p): Use the special code for finding the
1285 beginning of a display property or overlay for any "replacing"
1286 display property, not just for display strings. This solves
1287 incorrect reporting of position by posn-at-point. (Bug#14241)
1288
dc4a2ee0
PE
12892013-05-06 Paul Eggert <eggert@cs.ucla.edu>
1290
5ee94506
PE
1291 * unexelf.c: Fix some 32-bit integer problems, notably when debugging.
1292 Include <limits.h>, <stdbool.h>, <intprops.h>, <verify.h>.
1293 Verify that ElfW (Half) fits in int.
1294 (fatal): Use same signature as lisp.h.
1295 (UNEXELF_DEBUG): New macro, replacing DEBUG, so that people can
1296 configure and build with -DUNEXELF_DEBUG without worrying about
1297 other modules that use DEBUG.
1298 (DEBUG_LOG) [UNEXELF_DEBUG]: New macro. All debug code that prints
1299 possibly-wide integers now uses it instead of plain fprintf.
1300 (entry_address): New function, which avoids problems with 32-bit
1301 overflow on 64-bit hosts.
1302 (OLD_SECTION_H, NEW_SECTION_H, NEW_PROGRAM_H): Use it.
1303 (round_up): Don't assume the remainder fits in int.
1304 (find_section): Use bool for boolean. Simplify debug code.
1305 (unexec): Don't assume file sizes fit in int or size_t.
1306 Omit unnecessary trailing newline in 'fatal' format.
1307 Use strerror rather than outputting decimal error number.
1308 Remove unused code when emacs is not defined;
1309 this file relies on Emacs now.
1310 Don't assume e_phnum and e_shnum are positive.
1311
dc4a2ee0
PE
1312 * regex.c: Fix problems when DEBUG is defined.
1313 (extract_number, extract_number_and_incr): Define regardless of
1314 whether DEBUG is defined; that's simpler and makes the code less
1315 likely to go stale in the normal case when DEBUG is not defined.
1316 Return int rather than taking an int * arg. All callers changed.
1317 (DEBUG_PRINT1, DEBUG_PRINT2, DEBUG_PRINT3, DEBUG_PRINT4):
1318 Remove, replacing with ...
1319 (DEBUG_PRINT): New macro. All callers changed.
1320 (DEBUG_COMPILES_ARGUMENTS): New macro.
1321 (print_fastmap, print_partial_compiled_pattern) [DEBUG]:
1322 (print_compiled_pattern, print_double_string) [DEBUG]:
1323 Use prototype rather than old-style definition.
1324 (print_partial_compiled_pattern, print_compiled_pattern) [DEBUG]:
1325 (ENSURE_FAIL_STACK, PUSH_FAILURE_REG) [DEBUG]:
1326 (POP_FAILURE_REG_OR_COUNT, PUSH_FAILURE_POINT) [DEBUG]:
1327 (POP_FAILURE_POINT, re_match_2_internal) [DEBUG]:
1328 Don't assume ptrdiff_t, size_t, and long are the same width as int.
1329 (POINTER_TO_OFFSET): Return ptrdiff_t, not regoff_t.
1330 This matters only when DEBUG is defined.
1331
14c7ed05
EZ
13322013-05-05 Eli Zaretskii <eliz@gnu.org>
1333
1334 * xdisp.c (set_iterator_to_next): Set the
1335 ignore_overlay_strings_at_pos_p flag only if we are _really_
1336 iterating over an overlay string, as indicated by the
1337 current.overlay_string_index member. (Bug#14306)
1338
e6076b1b
JD
13392013-05-05 Jan Djärv <jan.h.d@swipnet.se>
1340
1341 * nsmenu.m (ns_update_menubar): Move initialization of submenuTitle
1342 to where it is used, to avoid autorelease issues (Bug#14050).
1343
cbee2131
PE
13442013-05-05 Paul Eggert <eggert@cs.ucla.edu>
1345
1346 `write-region-inhibit-fsync' defaults to noninteractive (Bug#14273).
1347 * fileio.c (syms_of_fileio): Implement this.
1348 * filelock.c (create_lock_file): If symbolic links don't work, so
1349 we use a regular file as a lock file, do not fsync the lock file;
1350 it's not needed.
1351
30c7e542
SM
13522013-05-04 Stefan Monnier <monnier@iro.umontreal.ca>
1353
1354 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Move to Elisp.
1355 (syms_of_minibuf): Adjust accodingly.
1356 * lread.c (Fread):
1357 * callint.c (Fcall_interactively): Adjust calls accordingly.
1358
5bebd186
EZ
13592013-05-04 Eli Zaretskii <eliz@gnu.org>
1360
1361 * dispextern.h (WINDOW_WANTS_HEADER_LINE_P): Verify that
30c7e542
SM
1362 w->contents is a buffer before computing everything else.
1363 Use parentheses to disambiguate last part of the condition.
5bebd186
EZ
1364
1365 * w32fns.c (w32_wnd_proc): Remove temporary code used to trap
1366 assertion violations. (Bug#14062)
1367
0fb0a4f3
DR
13682013-05-01 David Reitter <david.reitter@gmail.com>
1369
1370 * nsfns.m (ns_tooltip): Initialize.
1371
9e63b4a5
EZ
13722013-04-28 Eli Zaretskii <eliz@gnu.org>
1373
1374 * coding.c (decode_coding_gap): Don't remove the character before
1375 a newline unless it's a CR character. (Bug#14287)
1376
ad60824e
DN
13772013-04-28 Dan Nicolaescu <dann@gnu.org>
1378
1379 * dispextern.h (struct face): Move enum face_underline_type
1380 earlier so that bitfields can be in the same word.
1381
edbdcec0
JD
13822013-04-28 Jan Djärv <jan.h.d@swipnet.se>
1383
1384 * nsfns.m (handlePanelKeys): New function.
1385 (EmacsOpenPanel:performKeyEquivalent:)
1386 (EmacsSavePanel:performKeyEquivalent:): Call handlePanelKeys to handle
1387 arrows/function/control and copy/paste keys (Bug#14296).
1388
0208ede7
JL
13892013-04-27 Juri Linkov <juri@jurta.org>
1390
1391 * callint.c (Fcall_interactively): Call `Qread_number' for
1392 interactive code letter `n' instead of using duplicate code.
1393 (Bug#14254)
1394
b8dd59f7
PE
13952013-04-27 Paul Eggert <eggert@cs.ucla.edu>
1396
1397 * systime.h (make_timeval): Declare as 'const'.
1398
8bd722db
KH
13992013-04-27 Kenichi Handa <handa@gnu.org>
1400
1401 * font.c (font_open_entity): Always open a font of manageable
1402 size.
1403
13d0e56f 14042013-04-26 Paul Eggert <eggert@cs.ucla.edu>
cbee2131 1405
f780d632
PE
1406 Port better to AIX (Bug#14258).
1407 * lisp.h (ENUM_BF) [__IBMC__]: Make it 'unsigned int' here, too,
1408 to pacify AIX xlc.
1409
ec509856
KH
14102013-04-24 Kenichi Handa <handa@gnu.org>
1411
1412 * coding.c (decode_coding_iso_2022): When an invalid escape
1413 sequence is encountered, reset the invocation and designation
1414 status to the safest one.
1415
84fc48e5
PE
14162013-04-22 Paul Eggert <eggert@cs.ucla.edu>
1417
1418 * Makefile.in (bootstrap-clean): Remove stamp-h1 too.
1419 Without this fix, "make distclean" leaves stamp-h1 behind.
1420
806bda47
EC
14212013-04-20 Erik Charlebois <erikcharlebois@gmail.com>
1422
1423 * w32fns.c (w32_fullscreen_rect): New function to compute the
1424 window rectangle for the given fullscreen mode.
1425 (w32_wnd_proc): When in a fullscreen mode, WM_WINDOWPOSCHANGING no
1426 longer tunes the window size. This keeps the window's edges flush
1427 with the screen and allows the taskbar to hide itself in fullboth.
1428
1429 * w32term.c (w32fullscreen_hook): 'fullboth' now shows without
1430 window decorations and uses the entire screen.
1431
1432 * w32term.h (w32_fullscreen_rect) Add prototype.
1433 (struct w32_output): Replace normal_width, normal_height,
1434 normal_top, and normal_left members with a single normal_placement
1435 struct.
1436 (FRAME_NORMAL_WIDTH, FRAME_NORMAL_HEIGHT, FRAME_NORMAL_TOP):
1437 Remove macros.
1438 (FRAME_NORMAL_PLACEMENT): New macro.
1439
9cc2810b
JB
14402013-04-16 Juanma Barranquero <lekktu@gmail.com>
1441
1442 * minibuf.c (Ftest_completion): Silence compiler warning.
1443
fd16b54c
EZ
14442013-04-15 Eli Zaretskii <eliz@gnu.org>
1445
1446 * w32fns.c (w32_wnd_proc): Add more assertions to investigate
5fbcd237 1447 bug#14062.
fd16b54c
EZ
1448
1449 * frame.h (WINDOW_FRAME): Protect macro and its argument with
1450 parentheses.
1451
1452 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
1453 (CURRENT_HEADER_LINE_HEIGHT, WINDOW_WANTS_MODELINE_P)
1454 (WINDOW_WANTS_HEADER_LINE_P): Protect macro arguments with
1455 parentheses where appropriate.
1456
9e3379a0
PE
14572013-04-14 Paul Eggert <eggert@cs.ucla.edu>
1458
1459 * keyboard.c (timer_start_idle): Remove no-longer-used local.
1460
ddd6b685
EZ
14612013-04-14 Eli Zaretskii <eliz@gnu.org>
1462
1463 * buffer.c (syms_of_buffer) <left-margin-width, right-margin-width>
1464 <left-fringe-width, right-fringe-width, fringes-outside-margins>:
1465 Mention in the doc string that setting these variables takes
1466 effect only after a call to set-window-buffer. (Bug#14200)
1467
29b79ba1
EZ
14682013-04-13 Eli Zaretskii <eliz@gnu.org>
1469
1470 * indent.c (Fvertical_motion): Don't consider display strings on
1471 overlay strings as display strings on the buffer position we
1472 started from. This prevents vertical cursor motion from jumping
1473 more than one line when there's an overlay string with a display
1474 property at end of line.
1475 Reported by Karl Chen <Karl.Chen@quarl.org> in
1476 http://lists.gnu.org/archive/html/emacs-devel/2013-04/msg00362.html.
1477
562c6ee9
SM
14782013-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
1479
1480 * window.c (select_window): `record_buffer' even if window is
1481 already selected (bug#14191).
1482
fcc1fe85
EZ
14832013-04-11 Eli Zaretskii <eliz@gnu.org>
1484
1485 * window.c (Fwindow_end): Test more flags, including the buffer's
1486 last_overlay_modified flag, to determine whether the window's
1487 display is really up-to-date. Prevents the function from
1488 returning a stale value. (Bug#14170)
1489 (Fwindow_line_height): Fix the test for up-to-date-ness of the
1490 current matrix.
1491
f009190a
EZ
14922013-04-10 Eli Zaretskii <eliz@gnu.org>
1493
1494 * frame.c (do_switch_frame): Mark the TTY frame we switch to as
562c6ee9
SM
1495 garbaged only if it is not already the top frame on its TTY.
1496 This prevents flickering due to constant redrawing of TTY frames when
f009190a
EZ
1497 there are GUI frames open in the same session. (Bug#13864)
1498
78ce603d
SM
14992013-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
1500
1501 * keyboard.c (timer_start_idle): Call internal-timer-start-idle instead
1502 of marking the idle timers directly.
1503
a8036e40
SM
15042013-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
1505
1506 * minibuf.c (Ftest_completion): Ignore non-string/symbol keys in hash
1507 tables (bug#14054).
1508
7ffe7ef6
SM
15092013-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
1510
1511 * window.c (select_window): Don't record_buffer while the invariant is
1512 temporarily broken (bug#14161).
1513
1514 * fns.c (Fdelq): Don't assume !NILP => CONSP.
1515
7d9f6883
EZ
15162013-04-07 Eli Zaretskii <eliz@gnu.org>
1517
1518 * fileio.c (ACL_NOT_WELL_SUPPORTED): Define macro for WINDOWSNT.
1519
5406cfd9
RF
15202013-04-07 Romain Francoise <romain@orebokech.com>
1521
1522 Ignore additional platform-specific ACL errors (Bug#13702).
1523 * fileio.c (ACL_NOT_WELL_SUPPORTED): New macro copied from gnulib.
1524 (Fcopy_file, Fset_file_acl) [HAVE_POSIX_ACL]: Use it.
1525
95c0e83b
JD
15262013-03-31 Jan Djärv <jan.h.d@swipnet.se>
1527
1528 * nsterm.m (ns_mouse_position): Use NS_FRAME_P instead of checking
1529 f->output_data.ns.
1530
876da980
PE
15312013-04-07 Paul Eggert <eggert@cs.ucla.edu>
1532
1533 Fix --enable-profiling bug introduced by 2013-02-25 change (Bug#13783).
1534 This bug was introduced by my 2013-02-25 change that simplified
1535 data_start configuration. Without this change, on GNU/Linux
1536 an Emacs configured with --enable-profiling fails immediately
1537 due to a profiler signal.
1538 * Makefile.in: Compile with $(PROFILING_CFLAGS), but do not link
1539 with these flags. On platforms where special flags are needed
1540 when linking temacs, the flags are now in LD_SWITCH_SYSTEM_TEMACS.
1541 (ALL_CFLAGS): Remove $(PROFILING_CFLAGS).
1542 (.c.o, .m.o): Compile with $(PROFILING_CFLAGS).
1543
7452b7bd
DA
15442013-04-07 Dmitry Antipov <dmantipov@yandex.ru>
1545
1546 Get rid of some platform-specific functions examining window
1547 system and its capabilities. This is a partial rework of the
1548 2013-04-05 change.
1549 * lisp.h (have_menus_p): Remove prototype. This function is
1550 replaced with platform-independent window_system_available.
1551 (check_window_system): Move to...
1552 * frame.h (decode_window_system_frame, window_system_available):
1553 ...here, add new prototypes.
1554 * frame.c (window_system_available, decode_window_system_frame):
1555 New functions.
1556 (check_window_system): Platform-independent now.
1557 * xterm.h (x_in_use): Remove declaration.
1558 (check_x_frame):
1559 * w32term.h (check_x_frame):
1560 * nsterm.h (check_x_frame): Remove prototypes. This function
1561 is replaced with platform-independent decode_window_system_frame.
1562 * msdos.c (have_menus_p): Remove.
1563 * nsfns.m (check_window_system, have_menus_p, check_ns_frame):
1564 Remove platform-specific functions. Use check_window_system,
1565 decode_window_system_frame and check_ns_display_info where
1566 appropriate. Minor style and comment tweaks.
1567 * w32fns.c (w32_in_use, check_window_system, have_menus_p)
1568 (check_x_frame): Likewise.
1569 * xfns.c (x_in_use, check_window_system, have_menus_p, check_x_frame):
1570 Likewise.
1571 * fileio.c, fns.c, font.c, fontset.c, image.c, menu.c, nsmenu.m:
1572 * nsselect.m, nsterm.m, w32font.c, w32menu.c, xfaces.c, xgselect.c:
1573 * xmenu.c, xselect.c: All related users changed.
1574
251e9147
KH
15752013-04-03 Kenichi Handa <handa@gnu.org>
1576
1577 The following changes is to optimize the code for reading UTF-8
1578 files.
1579
562c6ee9 1580 * coding.c (check_ascii): Rename from detect_ascii. Return value
251e9147
KH
1581 changed. Check EOL format. Do not call adjust_coding_eol_type
1582 here.
1583 (check_utf_8): New function.
1584 (adjust_coding_eol_type): Do nothing if already adjusted.
1585 (detect_coding): Compare the return value of check_ascii with
1586 coding->src_bytes. Call adjust_coding_eol_type if necessary.
1587 (decode_coding_gap): Optimize for valid UTF-8.
1588
8bc369d4
KH
15892013-03-21 Kenichi Handa <handa@gnu.org>
1590
1591 * coding.c (syms_of_coding): Cancel previous change.
1592
1593 * insdel.c (insert_from_gap): Fix previous change.
1594
73931ad1
DA
15952013-04-05 Dmitry Antipov <dmantipov@yandex.ru>
1596
1597 Consistently use platform-specific function to detect window system.
1598 * lisp.h (check_window_system): New prototype. This function is
1599 going to replace check_x, check_w32 and check_ns.
1600 (have_menus_p): Mention msdos.c in comment.
1601 * fontset.c (check_window_system_func): Remove. Adjust all users.
1602 * fontset.h (check_window_system_func): Remove prototype.
1603 * nsterm.h (check_ns):
1604 * xterm.h (check_x):
1605 * w32term.h (check_w32): Likewise.
1606 * menu.c (Fx_popup_menu): Use check_window_system.
1607 * msdos.c (check_window_system): Define for MS-DOS.
1608 * nsfns.m (check_window_system): Define for NS. Adjust all users.
1609 * w32fns.c (check_window_system): Likewise for MS-Windows.
1610 * xfns.c (check_window_system): Likewise for X.
1611 * font.c, frame.c, nsmenu.m, nsselect.m, nsterm.m, w32menu.c:
1612 * xfaces.c, xmenu.c: Use check_window_system where appropriate.
1613
7216e43b
PE
16142013-04-02 Paul Eggert <eggert@cs.ucla.edu>
1615
1616 Prefer < to > in range checks such as 0 <= i && i < N.
1617 This makes it easier to visualize quantities on a number line.
1618 This patch doesn't apply to all such range checks,
1619 only to the range checks affected by the 2013-03-24 change.
1620 This patch reverts most of the 2013-03-24 change.
1621 * alloc.c (xpalloc, Fgarbage_collect):
1622 * ccl.c (ccl_driver, resolve_symbol_ccl_program):
1623 * character.c (string_escape_byte8):
1624 * charset.c (read_hex):
1625 * data.c (cons_to_unsigned):
1626 * dispnew.c (update_frame_1):
1627 * doc.c (Fsubstitute_command_keys):
1628 * doprnt.c (doprnt):
1629 * editfns.c (hi_time, decode_time_components):
1630 * fileio.c (file_offset):
1631 * fns.c (larger_vector, make_hash_table, Fmake_hash_table):
1632 * font.c (font_intern_prop):
1633 * frame.c (x_set_alpha):
1634 * gtkutil.c (get_utf8_string):
1635 * indent.c (check_display_width):
1636 * keymap.c (Fkey_description):
1637 * lisp.h (FIXNUM_OVERFLOW_P, vcopy):
1638 * lread.c (read1):
1639 * minibuf.c (read_minibuf_noninteractive):
1640 * process.c (wait_reading_process_output):
1641 * search.c (Freplace_match):
1642 * window.c (get_phys_cursor_glyph):
1643 * xdisp.c (redisplay_internal):
1644 * xsmfns.c (smc_save_yourself_CB):
1645 Prefer < to > for range checks.
1646 * dispnew.c (sit_for): Don't mishandle NaNs.
1647 This fixes a bug introduced in the 2013-03-24 change.
1648 * editfns.c (decode_time_components): Don't hoist comparison.
1649 This fixes another bug introduced in the 2013-03-24 change.
1650
92759988
DA
16512013-03-31 Dmitry Antipov <dmantipov@yandex.ru>
1652
1653 * frame.h (struct frame): Drop scroll_bottom_vpos
1654 member becaue all real users are dead long ago.
1655 (FRAME_SCROLL_BOTTOM_VPOS): Remove.
1656 * xdisp.c (redisplay_internal): Adjust user.
1657
9a1971bb
GM
16582013-03-30 Darren Ho <darren.hoo@gmail.com> (tiny change)
1659
f38ab167
JD
1660 * nsmenu.m (showAtX:Y:for:): setLevel to
1661 NSPopUpMenuWindowLevel (Bug#13998).
1662
6d01f1fe
JD
16632013-03-30 Jan Djärv <jan.h.d@swipnet.se>
1664
1665 * nsterm.h (ns_get_pending_menu_title, ns_check_menu_open)
1666 (ns_check_pending_open_menu): Declare.
1667
1668 * nsmenu.m (ns_update_menubar): Correct NSTRACE.
1669 (x_activate_menubar): Update the menu with title that matches
1670 ns_get_pending_menu_title, and call
1671 ns_check_pending_openmenu (Bug#12698).
1672 (menuWillOpen:): New method.
1673 (menuNeedsUpdate:): Add check for ! COCOA || OSX < 10.5 (Bug#12698).
1674
1675 * nsterm.m (menu_will_open_state, menu_mouse_point)
1676 (menu_pending_title): New varaibles.
1677 (ns_get_pending_menu_title, ns_check_menu_open)
1678 (ns_check_pending_open_menu): New functions.
1679
781f4782
DA
16802013-03-29 Dmitry Antipov <dmantipov@yandex.ru>
1681
1682 * indent.c (current_column_bol_cache): Remove leftover which is not
1683 used in Fmove_to_column any more.
1684 (current_column, scan_for_column): Adjust users.
1685 * keyboard.c (last_point_position_buffer, last_point_position_window):
1686 Remove leftovers which are not used for recording undo any more.
1687 (command_loop_1, syms_of_keyboard): Adjust users.
1688 * xdisp.c (last_max_ascent): Remove leftover which is not used in
1689 redisplay_window any more.
1690 (move_it_to): Adjust user.
1691
1921c31b
JB
16922013-03-29 Juanma Barranquero <lekktu@gmail.com>
1693
1694 * makefile.w32-in ($(BLD)/filelock.$(O), $(BLD)/filelock.$(O)):
1695 Update dependencies.
1696
717b8bcd
SM
16972013-03-28 Stefan Monnier <monnier@iro.umontreal.ca>
1698
1699 * lisp.h (save_type, XSAVE_POINTER, set_save_pointer, XSAVE_INTEGER)
1700 (set_save_integer, XSAVE_OBJECT, XSAVE_VALUE): Move to avoid
1701 forward references.
1702
e74aeda8
DA
17032013-03-28 Dmitry Antipov <dmantipov@yandex.ru>
1704
1705 * window.h (struct window): Replace hchild, vchild and buffer slots
1706 with the only contents slot. This is possible because each valid
1707 window may have either the child window (in vertical or horizontal
1708 combination) or buffer to display (for the leaf window). Using that,
1709 a lof of operations to traverse and/or change window hierarchies may
1710 be simplified. New member horizontal is used to distinguish between
1711 horizontal and vertical combinations of internal windows.
1712 (WINDOW_LEAF_P, WINDOW_HORIZONTAL_COMBINATION_P)
1713 (WINDOW_VERTICAL_COMBINATION_P): New macros.
1714 (WINDOW_VALID_P, WINDOW_LIVE_P): Adjust to match struct window changes.
1715 * window.c (wset_hchild, wset_vchild): Remove. Adjust all users.
1716 Use contents slot, not buffer, where appropriate.
1717 (wset_combination): New function.
1718 (wset_buffer): Add eassert.
1719 (Fframe_first_window): Simplify the loop reaching first window.
1720 (Fwindow_buffer): Use WINDOW_LEAF_P.
1721 (Fwindow_top_child): Use WINDOW_VERTICAL_COMBINATION_P.
1722 (Fwindow_left_child): Use WINDOW_HORIZONTAL_COMBINATION_P.
1723 (unshow_buffer): Convert initial debugging check to eassert.
1724 (replace_window, recombine_windows, Fdelete_other_windows_internal)
1725 (make_parent_window, window_resize_check, window_resize_apply)
1726 (resize_frame_windows, Fsplit_window_internal, Fdelete_window_internal)
1727 (Fset_window_configuration, delete_all_child_windows, save_window_save):
1728 Adjust to match struct window changes.
1729 (window_loop): Check for broken markers in CHECK_ALL_WINDOWS.
1730 (mark_window_cursors_off, count_windows, get_leaf_windows)
1731 (foreach_window_1): Simplify the loop.
1732 * alloc.c (mark_object): Do not check for the leaf window because
1733 internal windows has no glyph matrices anyway.
1734 * dispnew.c (clear_window_matrices, showing_window_margins_p)
1735 (allocate_matrices_for_window_redisplay, fake_current_matrices)
1736 (allocate_matrices_for_frame_redisplay, free_window_matrices)
1737 (build_frame_matrix_from_window_tree, mirror_make_current)
1738 (frame_row_to_window, mirror_line_dance, check_window_matrix_pointers)
1739 (update_window_tree, set_window_update_flags): Simplify the loop.
1740 (sync_window_with_frame_matrix_rows): Enforce live window.
1741 Use contents slot, not buffer, where appropriate.
1742 * frame.c (set_menu_bar_lines_1): Use WINDOW_VERTICAL_COMBINATION_P
1743 and WINDOW_HORIZONTAL_COMBINATION_P.
1744 (make_frame_visible_1): Simplify the loop.
1745 Use contents slot, not buffer, where appropriate.
1746 * xdisp.c (hscroll_window_tree, mark_window_display_accurate)
1747 (redisplay_windows, redisplay_mode_lines, update_cursor_in_window_tree)
1748 (expose_window_tree): Likewise.
1749 Use contents slot, not buffer, where appropriate.
1750 * textprop.c (get_char_property_and_overlay): Add CHECK_LIVE_WINDOW
1751 to avoid deleted windows. Use contents slot instead of buffer.
1752 * buffer.c, dispextern.h, editfns.c, fileio.c, font.c, fringe.c:
1753 * indent.c, insdel.c, keyboard.c, keymap.c, minibuf.c, msdos.c:
1754 * nsfns.m, nsmenu.m, nsterm.m, print.c, w32fns.c, w32menu.c, xfaces.c:
1755 * xfns.c, xmenu.c: Use contents slot, not buffer, where appropriate.
1756
121ab1cd
EZ
17572013-03-28 Eli Zaretskii <eliz@gnu.org>
1758
ef454cf7
EZ
1759 * w32fns.c (w32_wnd_proc) [ENABLE_CHECKING]: Add code to help
1760 identify the reasons for assertion violations in bug#14062 and
1761 similar ones.
21e930f8
EZ
1762 (Fx_show_tip): Fix compilation error under
1763 "--enable-check-lisp-object-type". (Bug#14073)
ef454cf7 1764
121ab1cd
EZ
1765 * image.c (g_error_free) [WINDOWSNT]: Add DEF_IMGLIB_FN.
1766 Reported by <rzl24ozi@gmail.com>.
1767
5c89ca24
DA
17682013-03-28 Dmitry Antipov <dmantipov@yandex.ru>
1769
1770 * xdisp.c (with_echo_area_buffer_unwind_data): Save window
1771 start marker...
562c6ee9
SM
1772 (unwind_with_echo_area_buffer): ...to restore it here.
1773 This is needed to ensure that...
5c89ca24
DA
1774 (redisplay_window): ...both window markers are valid here,
1775 which is verified by eassert.
1776 * editfns.c (save_excursion_save): Do not assume that
1777 selected_window always displays the buffer.
c7f53895
DA
1778 * buffer.c (Fbuffer_swap_text): Adjust window start markers.
1779 Fix comment.
5c89ca24 1780
f557c1b1
SM
17812013-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
1782
1783 * casetab.c (init_casetab_once): Don't abuse the ascii eqv table for
1784 the upcase table.
1785
40693bba 17862013-03-27 rzl24ozi <rzl24ozi@gmail.com> (tiny changes)
1787
1788 * image.c [WINDOWSNT]: Fix calls to DEF_IMGLIB_FN for SVG function.
1789
c86f791f
EZ
17902013-03-27 Eli Zaretskii <eliz@gnu.org>
1791
1792 * w32proc.c (IsValidLocale) [__GNUC__]: Don't declare prototype,
1793 since MinGW's w32api headers do. This avoids compiler warnings.
1794
1795 * w32.c (FSCTL_GET_REPARSE_POINT) [_MSC_VER || _W64]: Don't define
1796 if already defined.
1797
c6e72e17
EZ
17982013-03-26 Eli Zaretskii <eliz@gnu.org>
1799
1800 * w32.c (_REPARSE_DATA_BUFFER): Condition by _MSVC and _W64.
1801
54e95010
JD
18022013-03-26 Jan Djärv <jan.h.d@swipnet.se>
1803
1804 * gtkutil.c (style_changed_cb): Check if frame is live and an
1805 X frame (Bug#14038).
1806
b88b62de
EZ
18072013-03-26 Eli Zaretskii <eliz@gnu.org>
1808
a18d7de6
EZ
1809 * w32.c (_PROCESS_MEMORY_COUNTERS_EX) [_WIN32_WINNT < 0x0500]:
1810 Define only for _WIN32_WINNT less than 0x0500.
da9dcbb8
EZ
1811 (_ANONYMOUS_UNION, _ANONYMOUS_STRUCT) [!_W64]: Don't define for
1812 MinGW64.
8f5e14c8
EZ
1813 Move inclusion of time.h before sys/time.h, so that MinGW64 could
1814 see its own definitions of 'struct timeval' and 'struct timezone'.
a18d7de6 1815
b88b62de
EZ
1816 Fix incompatibilities between MinGW.org and MinGW64 headers.
1817 * w32term.c (WCRANGE, GLYPHSET): Don't define if _W64 is defined.
1818
1819 * w32.c (REPARSE_DATA_BUFFER): Guard with
1820 MAXIMUM_REPARSE_DATA_BUFFER_SIZE being defined.
1821
c074e458
JD
18222013-03-25 Jan Djärv <jan.h.d@swipnet.se>
1823
1824 * xterm.c: Include X11/XKBlib.h
1825 (XTring_bell): Use XkbBell if HAVE_XKB (Bug#14041).
1826
908589fd
AS
18272013-03-24 Andreas Schwab <schwab@linux-m68k.org>
1828
1829 * alloc.c (xpalloc, Fgarbage_collect): Reorder conditions that are
1830 written backwards.
1831 * blockinput.h (input_blocked_p): Likewise.
1832 * bytecode.c (exec_byte_code): Likewise.
1833 * callproc.c (call_process_kill, call_process_cleanup)
1834 (Fcall_process): Likewise.
1835 * ccl.c (ccl_driver, resolve_symbol_ccl_program)
1836 (Fccl_execute_on_string): Likewise.
1837 * character.c (string_escape_byte8): Likewise.
1838 * charset.c (read_hex): Likewise.
1839 * cm.c (calccost): Likewise.
1840 * data.c (cons_to_unsigned): Likewise.
1841 * dired.c (directory_files_internal, file_name_completion):
1842 Likewise.
1843 * dispnew.c (scrolling_window, update_frame_1, Fsleep_for)
1844 (sit_for): Likewise.
1845 * doc.c (Fsubstitute_command_keys): Likewise.
1846 * doprnt.c (doprnt): Likewise.
1847 * editfns.c (hi_time, decode_time_components, Fformat): Likewise.
1848 * emacsgtkfixed.c: Likewise.
1849 * fileio.c (file_offset, Fwrite_region): Likewise.
1850 * floatfns.c (Fexpt, fmod_float): Likewise.
1851 * fns.c (larger_vector, make_hash_table, Fmake_hash_table):
1852 Likewise.
1853 * font.c (font_intern_prop): Likewise.
1854 * frame.c (x_set_alpha): Likewise.
1855 * gtkutil.c (get_utf8_string): Likewise.
1856 * indent.c (check_display_width): Likewise.
1857 * intervals.c (create_root_interval, rotate_right, rotate_left)
1858 (split_interval_right, split_interval_left)
1859 (adjust_intervals_for_insertion, delete_node)
1860 (interval_deletion_adjustment, adjust_intervals_for_deletion)
1861 (merge_interval_right, merge_interval_left, copy_intervals)
1862 (set_intervals_multibyte_1): Likewise.
1863 * keyboard.c (gobble_input, append_tool_bar_item): Likewise.
1864 * keymap.c (Fkey_description): Likewise.
1865 * lisp.h (FIXNUM_OVERFLOW_P, vcopy): Likewise.
1866 * lread.c (openp, read_integer, read1, string_to_number):
1867 Likewise.
1868 * menu.c (ensure_menu_items): Likewise.
1869 * minibuf.c (read_minibuf_noninteractive): Likewise.
1870 * print.c (printchar, strout): Likewise.
1871 * process.c (create_process, Faccept_process_output)
1872 (wait_reading_process_output, read_process_output, send_process)
1873 (wait_reading_process_output): Likewise.
1874 * profiler.c (make_log, handle_profiler_signal): Likewise.
1875 * regex.c (re_exec): Likewise.
1876 * regex.h: Likewise.
1877 * search.c (looking_at_1, Freplace_match): Likewise.
1878 * sysdep.c (get_child_status, procfs_ttyname)
1879 (procfs_get_total_memory): Likewise.
1880 * systime.h (EMACS_TIME_VALID_P): Likewise.
1881 * term.c (dissociate_if_controlling_tty): Likewise.
1882 * window.c (get_phys_cursor_glyph): Likewise.
1883 * xdisp.c (init_iterator, redisplay_internal, redisplay_window)
1884 (try_window_reusing_current_matrix, try_window_id, pint2hrstr):
1885 Likewise.
1886 * xfns.c (Fx_window_property): Likewise.
1887 * xmenu.c (set_frame_menubar): Likewise.
1888 * xselect.c (x_get_window_property, x_handle_dnd_message):
1889 Likewise.
1890 * xsmfns.c (smc_save_yourself_CB): Likewise.
1891 * xterm.c (x_scroll_bar_set_handle): Likewise.
1892
2bf7d27a
DA
18932013-03-24 Dmitry Antipov <dmantipov@yandex.ru>
1894
1895 * xfaces.c (Finternal_face_x_get_resource): Allow 3rd (frame) argument
1896 to be optional or nil. Adjust comment and convert it to docstring.
1897 * xselect.c (Fx_send_client_event): Rename to Fx_send_client_message.
1898 * frame.c (display_x_get_resource, Fx_get_resource): Break long line.
1899
a9ebfa0b
PE
19002013-03-24 Paul Eggert <eggert@cs.ucla.edu>
1901
1902 Static checking by GCC 4.8-20130319.
1903 * image.c (gif_load): Assume pass < 3 to pacify GCC.
1904 * process.c (Fset_process_datagram_address)
1905 (Fmake_network_process): Check get_lisp_to_sockaddr_size return value.
1906 * xdisp.c (get_char_face_and_encoding):
1907 (get_glyph_face_and_encoding): Ensure that *CHAR2B is initialized.
1908 (get_glyph_face_and_encoding): Prepare face before possibly using it.
1909 (get_per_char_metric): Don't use CHAR2B if it might not be initialized.
1910
4f3576ee
KB
19112013-03-24 Ken Brown <kbrown@cornell.edu>
1912
789b5e9a
KB
1913 * w32fns.c (emacs_abort) [CYGWIN]: Define `_open' as a macro to
1914 fix compilation on 64-bit Cygwin, where underscores are not
1915 automatically prepended.
1916
4f3576ee
KB
1917 * w32term.c (w32_initialize): Silence compiler warning.
1918
b5b7745f
EZ
19192013-03-23 Eli Zaretskii <eliz@gnu.org>
1920
cdc0d0bd
EZ
1921 * w32term.c (w32fullscreen_hook): Use FRAME_NORMAL_WIDTH,
1922 FRAME_NORMAL_HEIGHT, and FRAME_PREV_FSMODE, instead of static
562c6ee9
SM
1923 variables, to save and restore frame dimensions.
1924 Use FRAME_NORMAL_LEFT and FRAME_NORMAL_TOP to restore frame position
1925 after returning from a 'fullscreen' configuration.
1926 use SendMessage instead of PostMessage to send the SC_RESTORE message,
cdc0d0bd
EZ
1927 to avoid races between the main thread and the input thread.
1928
1929 * w32term.h (struct w32_output): New members normal_width,
1930 normal_height, normal_top, normal_left, and prev_fsmode.
1931 (FRAME_NORMAL_WIDTH, FRAME_NORMAL_HEIGHT, FRAME_NORMAL_TOP)
1932 (FRAME_NORMAL_LEFT, FRAME_PREV_FSMODE): New macros to access these
1933 members of a frame.
1934
b5b7745f
EZ
1935 * w32term.c (w32fullscreen_hook): Record last value of the frame's
1936 'fullscreen' parameter. Always record previous width and height
1937 of the frame, except when switching out of maximized modes, so
1938 that they could be restored correctly, instead of resetting to the
1939 default frame dimensions. Send SC_RESTORE command to the frame,
1940 unless we are going to send SC_MAXIMIZE, to restore the frame
1941 resize hints in the mouse pointer shown by the window manager.
1942 (Bug#14032)
1943
1944 * frame.c (get_frame_param): Now extern for WINDOWSNT as well.
1945
1946 * lisp.h (get_frame_param): Adjust conditions for prototype
1947 declaration.
1948
a3454eed
KB
19492013-03-22 Ken Brown <kbrown@cornell.edu>
1950
1951 * unexcw.c: Drop unneeded inclusion of w32common.h.
1952 (report_sheap_usage): Declare.
1953 (read_exe_header): Add magic numbers for x86_64.
1954 (fixup_executable): Fix printf format specifier for unsigned long
1955 argument.
1956
5a49b79c
DA
19572013-03-22 Dmitry Antipov <dmantipov@yandex.ru>
1958
1959 * frame.h (struct frame): Put menu_bar_window under #ifdef
1960 because this member is not needed when X toolkit is in use.
1961 (fset_menu_bar_window):
1962 * dispnew.c (clear_current_matrices, clear_desired_matrices)
1963 (free_glyphs, update_frame):
1964 * xdisp.c (expose_frame): Likewise.
1965 (display_menu_bar): Likewise. Remove redundant eassert.
1966 * window.h (WINDOW_MENU_BAR_P): Always define to 0 if X
1967 toolkit is in use.
1968
d6723bf7
PE
19692013-03-21 Paul Eggert <eggert@cs.ucla.edu>
1970
7b1123d8
PE
1971 Use functions and constants to manipulate Lisp_Save_Value objects.
1972 This replaces code that used macros and strings and token-pasting.
1973 The change makes the C source a bit easier to follow,
1974 and shrinks the Emacs executable a bit.
1975 * alloc.c: Verify some properties of Lisp_Save_Value's representation.
1976 (make_save_value): Change 1st arg from string to enum. All callers
1977 changed.
1978 (INTX): Remove.
1979 (mark_object): Use if, not #if, for GC_MARK_STACK.
1980 * lisp.h (SAVE_VALUEP, XSAVE_VALUE, XSAVE_POINTER, XSAVE_INTEGER)
1981 (XSAVE_OBJECT): Now functions, not macros.
1982 (STRING_BYTES_BOUND): Now just a macro, not a constant too;
1983 the constant was never used.
1984 (SAVE_SLOT_BITS, SAVE_VALUE_SLOTS, SAVE_TYPE_BITS, SAVE_TYPE_INT_INT)
1985 (SAVE_TYPE_INT_INT_INT, SAVE_TYPE_OBJ_OBJ, SAVE_TYPE_OBJ_OBJ_OBJ)
1986 (SAVE_TYPE_OBJ_OBJ_OBJ_OBJ, SAVE_TYPE_PTR_INT, SAVE_TYPE_PTR_OBJ)
1987 (SAVE_TYPE_PTR_PTR, SAVE_TYPE_PTR_PTR_OBJ, SAVE_TYPE_MEMORY):
1988 New constants.
1989 (struct Lisp_Save_Value): Replace members area, type0, type1, type2,
1990 type3 with a single member save_type. All uses changed.
1991 (save_type, set_save_pointer, set_save_integer): New functions.
1992 * print.c (PRINTX): Remove.
1993
d6723bf7
PE
1994 * alloc.c: Remove redundant static declarations.
1995
5f24fa51
DA
19962013-03-20 Dmitry Antipov <dmantipov@yandex.ru>
1997
1998 * window.h (struct window): Convert left_col, top_line, total_lines
1999 and total_cols from Lisp_Objects to integers. Adjust comments.
2000 (wset_left_col, wset_top_line, wset_total_cols, wset_total_lines):
2001 Remove.
2002 (WINDOW_TOTAL_COLS, WINDOW_TOTAL_LINES, WINDOW_LEFT_EDGE_COL)
2003 (WINDOW_TOP_EDGE_LINE): Drop Lisp_Object to integer conversion.
2004 * dispnew.c, frame.c, w32fns.c, window.c, xdisp.c, xfns.c:
2005 Adjust users where appropriate.
2006
42143acd
DA
20072013-03-20 Dmitry Antipov <dmantipov@yandex.ru>
2008
2009 * frame.h (struct frame): Drop resx and resy because the same data is
2010 available from window system-specific output context. Adjust users.
562c6ee9
SM
2011 (default_pixels_per_inch_x, default_pixels_per_inch_y):
2012 New functions to provide defaults when no window system available.
42143acd 2013 (FRAME_RES_X, FRAME_RES_Y): New macros.
562c6ee9 2014 (NUMVAL): Move from xdisp.c.
42143acd
DA
2015 * font.c (font_pixel_size, font_find_for_lface, font_open_for_lface)
2016 (Ffont_face_attributes, Fopen_font):
2017 * image.c (gs_load):
2018 * w32font.c (fill_in_logfont):
2019 * xdisp.c (calc_pixel_width_or_height):
2020 * xfaces.c (Fx_family_fonts, set_lface_from_font): Use them.
2021 * xsettings.c (apply_xft_settings): Drop frame loop and adjust comment.
2022
c0a17406
KH
20232013-03-20 Kenichi Handa <handa@gnu.org>
2024
2025 * coding.c (syms_of_coding): Initialize disable_ascii_optimization
2026 to 1 (temporary workaround until a bug related to ASCII
2027 optimization is fixed).
2028
095d384d
DA
20292013-03-19 Dmitry Antipov <dmantipov@yandex.ru>
2030
2031 * window.c (Fwindow_combination_limit, Fset_window_combination_limit):
2032 Signal error if window is not internal. Adjust docstring.
2033 (delete_all_child_windows): Use combination_limit to save the buffer.
2034 (Fset_window_configuration): Adjust accordingly.
cf4bb06d
DA
2035 * print.c (syms_of_print): Initialize debugging output not here...
2036 (init_print_once): ...but in a new function here.
2037 * lisp.h (init_print_once): Add prototype.
2038 * emacs.c (main): Add call to init_print_once. Adjust comments.
095d384d 2039
748fa866
DA
20402013-03-18 Dmitry Antipov <dmantipov@yandex.ru>
2041
2042 * window.c (window_resize_check, window_resize_apply)
2043 (window_from_coordinates, recombine_windows, set_window_buffer)
2044 (make_parent_window, Fwindow_resize_apply, resize_frame_windows)
2045 (Fsplit_window_internal, Fdelete_window_internal)
2046 (freeze_window_starts): Use bool for booleans.
2047 * window.h (window_frame_coordinates, resize_frame_windows)
2048 (freeze_window_starts, set_window_buffer): Adjust prototypes.
2049
81519fd2
SM
20502013-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
2051
2052 * dispnew.c (bitch_at_user): Use `user-error'.
2053
6db423a9
KB
20542013-03-17 Ken Brown <kbrown@cornell.edu>
2055
2056 * dispextern.h (RGB_PIXEL_COLOR): Move here from image.c. Use it
2057 as return type of image_background. (Bug#13981)
2058 * image.c (RGB_PIXEL_COLOR): Move to dispextern.h.
2059
8f2906f5
JD
20602013-03-16 Jan Djärv <jan.h.d@swipnet.se>
2061
960ce480 2062 * nsterm.m (updateFrameSize:): Change resize increments if needed.
6615748a 2063 (ns_select): Don't return with result uninitialized.
960ce480 2064
8f2906f5
JD
2065 * nsterm.h (EmacsSavePanel, EmacsOpenPanel): Add getFilename
2066 and getDirectory.
2067
81519fd2
SM
2068 * nsfns.m (ns_filename_from_panel, ns_directory_from_panel):
2069 New functions.
8f2906f5
JD
2070 (Fns_read_file_name): ret is BOOL. If ! dir_only_p, don't choose
2071 directories. If filename is nil, get directory name (Bug#13932).
2072 Use getFilename and getDirectory.
2073 (getFilename, getDirectory): New methods for EmacsSavePanel and
2074 EmacsOpenPanel.
2075 (ok:): In EmacsOpenPanel, if we can't choose directories, just return.
2076
cded56c1
PE
20772013-03-15 Paul Eggert <eggert@cs.ucla.edu>
2078
2079 * coding.c (decode_coding_gap): Fix typo caught by static checking.
2080
251e9147 20812013-03-15 Kenichi Handa <handa@gnu.org>
8a44e6d1
KH
2082
2083 * insdel.c (insert_from_gap): New arg text_at_gap_tail.
2084 (adjust_after_replace): Make it back to static. Delete the third
2085 arg text_at_gap_tail. Cancel the code for handling it.
2086
2087 * coding.h (struct coding_system): New member eol_seen.
2088
2089 * coding.c (detect_ascii): New function.
2090 (detect_coding): Set coding->head_ascii and coding->eol_seen only
2091 when the source bytes are actually scanned. On detecting for
2092 coding_category_utf_8_auto, call detect_ascii instead of scanning
2093 source bytes directly.
2094 (produce_chars): Call insert_from_gap with the new arg 0.
2095 (encode_coding): Likewise.
2096 (decode_coding_gap): Control ASCII optimization by the variable
2097 disable_ascii_optimization instead of #ifndef .. #endif.
2098 Deccode EOL format according to coding->eol_seen.
2099 (syms_of_coding): Declare disable-ascii-optimization as a Lisp
2100 variable.
2101
8a44e6d1
KH
2102 * lisp.h (adjust_after_replace): Cancel externing it.
2103 (insert_from_gap): Adjust prototype.
2104
5f795e34
EZ
21052013-03-15 Eli Zaretskii <eliz@gnu.org>
2106
2107 * w32term.c (w32fullscreen_hook): Swap FULLSCREEN_BOTH and
2108 FULLSCREEN_MAXIMIZED. (Bug#13935)
2109
f258b4be
DA
21102013-03-15 Dmitry Antipov <dmantipov@yandex.ru>
2111
2112 * region-cache.c (find_cache_boundary, move_cache_gap)
2113 (insert_cache_boundary, delete_cache_boundaries, set_cache_region):
2114 Simplify debugging check and convert to eassert. Adjust comment.
2115 (pp_cache): Put under ENABLE_CHECKING.
2116
a5cc4dde
EZ
21172013-03-14 Eli Zaretskii <eliz@gnu.org>
2118
2119 * w32term.c (w32_read_socket) <WM_WINDOWPOSCHANGED>: Remove old
2120 and incorrect code. Treat WM_WINDOWPOSCHANGED like WM_ACTIVATE
2121 and WM_ACTIVATEAPP.
2122 (w32fullscreen_hook): If the frame is visible, reset
2123 f->want_fullscreen flag after changing the frame size. If the
2124 frame is not visible, set f->want_fullscreen to FULLSCREEN_WAIT.
2125 (Bug#13953)
2126
3fc5e44a
DC
21272013-03-13 Daniel Colascione <dancol@dancol.org>
2128
2129 * emacs.c (main): Call syms_of_cygw32 on CYGWIN non-NTGUI builds
2130 too so that these builds can use Cygwin's file conversion
2131 functions. (We've been building and linking cygw32.o all along
2132 and just not using it.)
2133
47d7532e
PE
21342013-03-13 Paul Eggert <eggert@cs.ucla.edu>
2135
2136 File synchronization fixes (Bug#13944).
2137 * Makefile.in (LIB_FDATASYNC): New macro.
2138 (LIBES): Use it.
2139 * conf_post.h (BSD_SYSTEM, BSD_SYSTEM_AHB): Remove; no longer needed.
2140 * fileio.c (Fwrite_region, write_region_inhibit_fsync):
2141 Don't worry about HAVE_FSYNC, since a substitute fsync is
2142 available if the system lacks one.
2143 (Fwrite_regin): Retry fsync if interrupted.
2144
c7ffccaf
EZ
21452013-03-13 Eli Zaretskii <eliz@gnu.org>
2146
4e2df81d 2147 * w32term.c (w32_read_socket): If the Emacs frame is being
c7ffccaf
EZ
2148 activated, call w32fullscreen_hook, to make sure the new frame
2149 dimensions are in effect. (Bug#13937)
2150
8a7debc1
DA
21512013-03-13 Dmitry Antipov <dmantipov@yandex.ru>
2152
2153 * xdisp.c (init_iterator): Simplify because both character and byte
2154 positions are either specified or -1. Add eassert. Adjust comment.
ffcd945e
DA
2155 * window.c (Fscroll_other_window): Use SET_PT_BOTH because both
2156 character and byte positions can be obtained from marker.
8a7debc1 2157
7fd8c501
PE
21582013-03-13 Paul Eggert <eggert@cs.ucla.edu>
2159
d9df6f40
PE
2160 Static checking by Sun C 5.12.
2161 * alloc.c (buffer_memory_full) [REL_ALLOC]:
2162 * bytecode.c (exec_byte_code):
2163 * dispnew.c (init_display):
2164 * eval.c (error):
2165 * fileio.c (Fsubstitute_in_file_name):
2166 * keyboard.c (Fevent_convert_list):
2167 * keymap.c (Fsingle_key_description):
2168 * term.c (maybe_fatal, fatal):
2169 * xfns.c (Fx_display_backing_store, Fx_display_visual_class):
2170 * xsmfns.c (Fhandle_save_session):
2171 Omit unreachable code.
2172 * keymap.c (map_keymap_char_table_item): Cast void * to
2173 a function pointer type; the C Standard requires this.
2174
7fd8c501
PE
2175 * sysdep.c: Remove a use of BSD_SYSTEM, which I'm trying to phase out.
2176 Include <sys/param.h> unconditionally, as that works elsewhere and
2177 is simpler here. Include <sys/sysctl.h> if DARWIN_OS ||
2178 __FreeBSD__, not if BSD_SYSTEM, since it's needed only for Darwin
2179 and FreeBSD now.
2180
a020afb9 2181See ChangeLog.12 for earlier changes.
aac0c6e3
MR
2182
2183;; Local Variables:
2184;; coding: utf-8
aac0c6e3
MR
2185;; End:
2186
ab422c4d 2187 Copyright (C) 2011-2013 Free Software Foundation, Inc.
aac0c6e3
MR
2188
2189 This file is part of GNU Emacs.
2190
2191 GNU Emacs is free software: you can redistribute it and/or modify
2192 it under the terms of the GNU General Public License as published by
2193 the Free Software Foundation, either version 3 of the License, or
2194 (at your option) any later version.
2195
2196 GNU Emacs is distributed in the hope that it will be useful,
2197 but WITHOUT ANY WARRANTY; without even the implied warranty of
2198 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2199 GNU General Public License for more details.
2200
2201 You should have received a copy of the GNU General Public License
2202 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.