aboutsummaryrefslogtreecommitdiffstats
path: root/src/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'src/ChangeLog')
-rw-r--r--src/ChangeLog567
1 files changed, 564 insertions, 3 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 60e7e376729..38fa72b0506 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,566 @@
12013-07-26 Eli Zaretskii <eliz@gnu.org>
2
3 * process.c (Fprocess_list): Doc fix.
4
5 * w32term.c (w32_read_socket) <WM_EMACS_PAINT>: Warn about frame
6 being re-exposed only if it didn't ask to become visible.
7 <WM_SIZE>: Under SIZE_RESTORED, only set the frame visible if it
8 was previously iconified. (Bug#14841)
9 (x_iconify_frame): Mark the frame iconified.
10
112013-07-26 Paul Eggert <eggert@cs.ucla.edu>
12
13 Fix minor problems found by static checking.
14 * eval.c (get_backtrace_frame, backtrace_eval_unrewind): Now static.
15 (backtrace_eval_unrewind): ';' -> '{}' to pacify GCC.
16
172013-07-26 Stefan Monnier <monnier@iro.umontreal.ca>
18
19 * eval.c (set_specpdl_old_value): New function.
20 (unbind_to): Minor simplification.
21 (get_backtrace_frame): New function.
22 (Fbacktrace_frame): Use it. Add `base' argument.
23 (backtrace_eval_unrewind, Fbacktrace_eval): New functions.
24 (syms_of_eval): Export backtrace-eval.
25 * xterm.c (x_focus_changed): Simplify.
26
272013-07-25 Paul Eggert <eggert@cs.ucla.edu>
28
29 * fileio.c (Finsert_file_contents): Avoid double-close (Bug#14936).
30
312013-07-24 Eli Zaretskii <eliz@gnu.org>
32
33 * xdisp.c (redisplay_window): Instead of moving point out of
34 scroll margin, reject the force_start method, and try scrolling
35 instead. (Bug#14780)
36
372013-07-24 Ken Brown <kbrown@cornell.edu>
38
39 * alloc.c (make_save_ptr): Define if HAVE_NTGUI is defined
40 (Bug#14944).
41
422013-07-24 Paul Eggert <eggert@cs.ucla.edu>
43
44 * eval.c (Fprogn): Do not check that BODY is a proper list.
45 This undoes the previous change. The check slows down the
46 interpreter, and is not needed to prevent a crash. See
47 <http://lists.gnu.org/archive/html/emacs-devel/2013-07/msg00693.html>.
48
492013-07-23 Glenn Morris <rgm@gnu.org>
50
51 * Makefile.in ($(etc)/DOC, temacs$(EXEEXT)): Ensure etc/ exists.
52
532013-07-23 Paul Eggert <eggert@cs.ucla.edu>
54
55 Port to GNU/Linux systems with tinfo but not ncurses.
56 * dispnew.c (init_display): Depend on USE_NCURSES, not GNU_LINUX,
57 to decide whether ncurses is being used. Without this change,
58 GCC complains about tgetent not being declared, on a system
59 that has tinfo installed but ncurses not installed.
60
61 * eval.c (Fprogn): Check that BODY is a proper list.
62
63 Tune UNEVALLED functions by using XCAR instead of Fcar, etc.
64 * data.c (Fsetq_default):
65 * eval.c (Fif, Fcond, Fprog1, Fsetq, Fquote, Ffunction, Fdefvar)
66 (Fdefconst, FletX, Flet, Fwhile, Fcatch, Funwind_protect)
67 (Fcondition_case):
68 Tune by taking advantage of the fact that ARGS is always a list
69 when a function is declared to have UNEVALLED args.
70
71 * emacsgtkfixed.c: Port to GCC 4.6.
72 GCC 4.6 complains about -Wunused-local-typedefs, introduced in 4.7.
73
742013-07-23 Juanma Barranquero <lekktu@gmail.com>
75
76 * callproc.c (child_setup)[!WINDOWSNT]: Move exec_errno and pid
77 here to silence compiler warnings.
78
792013-07-22 Paul Eggert <eggert@cs.ucla.edu>
80
81 * sysdep.c (frame) [__FreeBSD__]: #define to freebsd_frame
82 when including <sys/user.h>, to prevent Sparc/ARM machine/frame.h
83 from messing up Emacs's 'struct frame' (Bug#14923).
84
852013-07-21 Paul Eggert <eggert@cs.ucla.edu>
86
87 * alloc.c (make_save_ptr_ptr): Define this function.
88 It was inadvertently omitted. It's needed only if
89 HAVE_MENUS && ! (USE_X_TOOLKIT || USE_GTK).
90
912013-07-21 Jan Djärv <jan.h.d@swipnet.se>
92
93 * nsterm.m (sendEvent:): Skip mouse moved if no dialog and no Emacs
94 frame have focus (Bug#14895).
95
962013-07-21 Paul Eggert <eggert@cs.ucla.edu>
97
98 Avoid vfork-related deadlock more cleanly.
99 * callproc.c (child_setup): When the child's exec fails, output
100 the program name, as that's more useful. Use O_NONBLOCK to avoid
101 deadlock.
102 * process.c (create_process_1): Remove; no longer needed.
103 (create_process): Remove timer hack; no longer needed, now that
104 the child avoids deadlock.
105
1062013-07-20 Glenn Morris <rgm@gnu.org>
107
108 * image.c (Fimage_flush): Fix doc typo.
109
1102013-07-20 Paul Eggert <eggert@cs.ucla.edu>
111
112 Fix array bounds violation when pty allocation fails.
113 * process.c (PTY_NAME_SIZE): New constant.
114 (pty_name): Remove static variable; it's now auto.
115 (allocate_pty): Define even if !HAVE_PTYS; that's simpler.
116 Take pty_name as an arg rather than using a static variable.
117 All callers changed.
118 (create_process): Recover pty_flag from process, not from volatile local.
119 (create_pty): Stay inside array even when pty allocation fails.
120 (Fmake_serial_process): Omit unnecessary initializaiton of pty_flag.
121
122 * lread.c (Fload): Avoid initialization only when lint checking.
123 Mention that it's needed only for older GCCs.
124
1252013-07-20 Kenichi Handa <handa@gnu.org>
126
127 * coding.c (CODING_ISO_FLAG_LEVEL_4): New macro.
128 (decode_coding_iso_2022): Check the single-shift area. (Bug#8522)
129
1302013-07-20 Andreas Schwab <schwab@linux-m68k.org>
131
132 * lread.c (Fload): Avoid uninitialized warning.
133
1342013-07-19 Paul Eggert <eggert@cs.ucla.edu>
135
136 Fix some minor file descriptor leaks and related glitches.
137 * filelock.c (create_lock_file) [!O_CLOEXEC]: Use fcntl with FD_CLOEXEC.
138 (create_lock_file): Use write, not emacs_write.
139 * image.c (slurp_file, png_load_body):
140 * process.c (Fnetwork_interface_list, Fnetwork_interface_info)
141 (server_accept_connection):
142 Don't leak an fd on memory allocation failure.
143 * image.c (slurp_file): Add a cheap heuristic for growing files.
144 * xfaces.c (Fx_load_color_file): Block input around the fopen too,
145 as that's what the other routines do. Maybe input need not be
146 blocked at all, but it's better to be consistent.
147 Avoid undefined behavior when strlen is zero.
148
149 * alloc.c (staticpro): Avoid buffer overrun on repeated calls.
150 (NSTATICS): Now a constant; doesn't need to be a macro.
151
1522013-07-19 Richard Stallman <rms@gnu.org>
153
154 * coding.c (decode_coding_utf_8): Add simple loop for fast
155 processing of ASCII characters.
156
1572013-07-19 Paul Eggert <eggert@cs.ucla.edu>
158
159 * conf_post.h (RE_TRANSLATE_P) [emacs]: Remove obsolete optimization.
160
1612013-07-19 Eli Zaretskii <eliz@gnu.org>
162
163 * keyboard.c (kbd_buffer_get_event): Use Display_Info instead of
164 unportable 'struct x_display_info'.
165 (DISPLAY_LIST_INFO): Delete macro: not needed, since Display_Info
166 is a portable type.
167
1682013-07-19 Paul Eggert <eggert@cs.ucla.edu>
169
170 * sysdep.c [GNU_LINUX]: Fix fd and memory leaks and similar issues.
171 (procfs_ttyname): Don't use uninitialized storage if emacs_fopen
172 or fscanf fails.
173 (system_process_attributes): Prefer plain char to unsigned char
174 when either will do. Clean up properly if interrupted or if
175 memory allocations fail. Don't assume sscanf succeeds. Remove
176 no-longer-needed workaround to stop GCC from whining. Read
177 command-line once, instead of multiple times. Check read status a
178 bit more carefully.
179
180 Fix obscure porting bug with varargs functions.
181 The code assumed that int is treated like ptrdiff_t in a vararg
182 function, which is not a portable assumption. There was a similar
183 -- though these days less likely -- porting problem with various
184 assumptions that pointers of different types all smell the same as
185 far as vararg functions is conserved. To make this problem less
186 likely in the future, redo the API to use varargs functions.
187 * alloc.c (make_save_value): Remove this vararg function.
188 All uses changed to ...
189 (make_save_int_int_int, make_save_obj_obj_obj_obj)
190 (make_save_ptr_int, make_save_funcptr_ptr_obj, make_save_memory):
191 New functions.
192 (make_save_ptr): Rename from make_save_pointer, for consistency with
193 the above. Define only on platforms that need it. All uses changed.
194
1952013-07-18 Paul Eggert <eggert@cs.ucla.edu>
196
197 * keyboard.c: Try to fix typos in previous change.
198 (DISPLAY_LIST_INFO): New macro.
199 (kbd_buffer_get_event): Do not access members that are not present
200 in X11. Revert inadvertent change of "!=" to "=".
201
2022013-07-18 Juanma Barranquero <lekktu@gmail.com>
203
204 * keyboard.c (kbd_buffer_get_event):
205 * w32term.c (x_focus_changed): Port FOCUS_(IN|OUT)_EVENT changes to W32.
206 Followup to 2013-07-16T11:41:06Z!jan.h.d@swipnet.se.
207
2082013-07-18 Paul Eggert <eggert@cs.ucla.edu>
209
210 * filelock.c: Fix unlikely file descriptor leaks.
211 (get_boot_time_1): Rework to avoid using emacs_open.
212 This doesn't actually fix a leak, but is better anyway.
213 (read_lock_data): Use read, not emacs_read.
214
215 * doc.c: Fix minor memory and file descriptor leaks.
216 * doc.c (get_doc_string): Fix memory leak when doc file absent.
217 (get_doc_string, Fsnarf_documentation):
218 Fix file descriptor leak on error.
219
220 * term.c: Fix minor fdopen-related file descriptor leaks.
221 * term.c (Fresume_tty) [!MSDOS]: Close fd if fdopen (fd) fails.
222 (init_tty) [!DOS_NT]: Likewise. Also close fd if isatty (fd) fails.
223
224 * charset.c: Fix file descriptor leaks and errno issues.
225 Include <errno.h>.
226 (load_charset_map_from_file): Don't leak file descriptor on error.
227 Use plain record_xmalloc since the allocation is larger than
228 MAX_ALLOCA; that's simpler here. Simplify test for exhaustion
229 of entries.
230 * eval.c (record_unwind_protect_nothing):
231 * fileio.c (fclose_unwind):
232 New functions.
233 * lread.c (load_unwind): Remove. All uses replaced by fclose_unwind.
234 The replacement doesn't block input, but that no longer seems
235 necessary.
236
2372013-07-17 Paul Eggert <eggert@cs.ucla.edu>
238
239 * lread.c: Fix file descriptor leaks and errno issues.
240 (Fload): Close some races that leaked fds or streams when 'load'
241 was interrupted.
242 (Fload, openp): Report error number of last nontrivial failure to open.
243 ENOENT counts as trivial.
244 * eval.c (do_nothing, clear_unwind_protect, set_unwind_protect_ptr):
245 New functions.
246 * fileio.c (close_file_unwind): No need to test whether FD is nonnegative,
247 now that the function is always called with a nonnegative arg.
248 * lisp.h (set_unwind_protect_ptr, set_unwind_protect_int): Remove.
249 All uses replaced with ...
250 (clear_unwind_protect, set_unwind_protect_ptr): New decls.
251
252 A few more minor file errno-reporting bugs.
253 * callproc.c (Fcall_process):
254 * doc.c (Fsnarf_documentation):
255 * fileio.c (Frename_file, Fadd_name_to_file, Fmake_symbolic_link):
256 * process.c (set_socket_option):
257 Don't let a constructor trash errno.
258 * doc.c: Include <errno.h>.
259
2602013-07-16 Juanma Barranquero <lekktu@gmail.com>
261
262 * w32fns.c (unwind_create_tip_frame): Fix declaration.
263
2642013-07-16 Paul Eggert <eggert@cs.ucla.edu>
265
266 Fix w32 bug with call-process-region (Bug#14885).
267 * callproc.c (Fcall_process_region): Pass nil, not "/dev/null",
268 to Fcall_process when the input is empty. This simplifies the
269 code a bit. It makes no difference on POSIXish platforms but
270 apparently it fixes a bug on w32.
271
272 Fix bug where insert-file-contents closes a file twice. (Bug#14839).
273 * fileio.c (close_file_unwind): Don't close if FD is negative;
274 this can happen when unwinding a zapped file descriptor.
275 (Finsert_file_contents): Unwind-protect the fd before the point marker,
276 in case Emacs runs out of memory between the two unwind-protects.
277 Don't trash errno when closing FD.
278 Zap the FD in the specpdl when closing it, instead of deferring
279 the removal of the unwind-protect; this fixes a bug where a child
280 function unwinds the stack past us.
281
282 New unwind-protect flavors to better type-check C callbacks.
283 This also lessens the need to write wrappers for callbacks,
284 and the need for make_save_pointer.
285 * alloca.c (free_save_value):
286 * atimer.c (run_all_atimers):
287 Now extern.
288 * alloc.c (safe_alloca_unwind):
289 * atimer.c (unwind_stop_other_atimers):
290 * keyboard.c (cancel_hourglass_unwind) [HAVE_WINDOW_SYSTEM]:
291 * menu.c (cleanup_popup_menu) [HAVE_NS]:
292 * minibuf.c (choose_minibuf_frame_1):
293 * process.c (make_serial_process_unwind):
294 * xdisp.h (pop_message_unwind):
295 * xselect.c (queue_selection_requests_unwind):
296 Remove no-longer-needed wrapper. All uses replaced by the wrappee.
297 * alloca.c (record_xmalloc):
298 Prefer record_unwind_protect_ptr to record_unwind_protect with
299 make_save_pointer.
300 * alloca.c (Fgarbage_collect):
301 Prefer record_unwind_protect_void to passing a dummy.
302 * buffer.c (restore_buffer):
303 * window.c (restore_window_configuration):
304 * xfns.c, w32fns.c (do_unwind_create_frame)
305 New wrapper. All record-unwind uses of wrappee changed.
306 * buffer.c (set_buffer_if_live):
307 * callproc.c (call_process_cleanup, delete_temp_file):
308 * coding.c (code_conversion_restore):
309 * dired.c (directory_files_internal_w32_unwind) [WINDOWSNT]:
310 * editfns.c (save_excursion_restore)
311 (subst_char_in_region_unwind, subst_char_in_region_unwind_1)
312 (save_restriction_restore):
313 * eval.c (restore_stack_limits, un_autoload):
314 * fns.c (require_unwind):
315 * keyboard.c (recursive_edit_unwind, tracking_off):
316 * lread.c (record_load_unwind, load_warn_old_style_backquotes):
317 * macros.c (pop_kbd_macro, restore_menu_items):
318 * nsfns.m (unwind_create_frame):
319 * print.c (print_unwind):
320 * process.c (start_process_unwind):
321 * search.c (unwind_set_match_data):
322 * window.c (select_window_norecord, select_frame_norecord):
323 * xdisp.c (unwind_with_echo_area_buffer, unwind_format_mode_line)
324 (fast_set_selected_frame):
325 * xfns.c, w32fns.c (unwind_create_tip_frame):
326 Return void, not a dummy Lisp_Object. All uses changed.
327 * buffer.h (set_buffer_if_live): Move decl here from lisp.h.
328 * callproc.c (call_process_kill):
329 * fileio.c (restore_point_unwind, decide_coding_unwind)
330 (build_annotations_unwind):
331 * insdel.c (Fcombine_after_change_execute_1):
332 * keyboard.c (read_char_help_form_unwind):
333 * menu.c (unuse_menu_items):
334 * minibuf.c (run_exit_minibuf_hook, read_minibuf_unwind):
335 * sound.c (sound_cleanup):
336 * xdisp.c (unwind_redisplay):
337 * xfns.c (clean_up_dialog):
338 * xselect.c (x_selection_request_lisp_error, x_catch_errors_unwind):
339 Accept no args and return void, instead of accepting and returning
340 a dummy Lisp_Object. All uses changed.
341 * cygw32.c (fchdir_unwind):
342 * fileio.c (close_file_unwind):
343 * keyboard.c (restore_kboard_configuration):
344 * lread.c (readevalllop_1):
345 * process.c (wait_reading_process_output_unwind):
346 Accept int and return void, rather than accepting an Emacs integer
347 and returning a dummy object. In some cases this fixes an
348 unlikely bug when the corresponding int is outside Emacs integer
349 range. All uses changed.
350 * dired.c (directory_files_internal_unwind):
351 * fileio.c (do_auto_save_unwind):
352 * gtkutil.c (pop_down_dialog):
353 * insdel.c (reset_var_on_error):
354 * lread.c (load_unwind):
355 * xfns.c (clean_up_file_dialog):
356 * xmenu.c, nsmenu.m (pop_down_menu):
357 * xmenu.c (cleanup_widget_value_tree):
358 * xselect.c (wait_for_property_change_unwind):
359 Accept pointer and return void, rather than accepting an Emacs
360 save value encapsulating the pointer and returning a dummy object.
361 All uses changed.
362 * editfns.c (Fformat): Update the saved pointer directly via
363 set_unwind_protect_ptr rather than indirectly via make_save_pointer.
364 * eval.c (specpdl_func): Remove. All uses replaced by definiens.
365 (unwind_body): New function.
366 (record_unwind_protect): First arg is now a function returning void,
367 not a dummy Lisp_Object.
368 (record_unwind_protect_ptr, record_unwind_protect_int)
369 (record_unwind_protect_void): New functions.
370 (unbind_to): Support SPECPDL_UNWIND_PTR etc.
371 * fileio.c (struct auto_save_unwind): New type.
372 (do_auto_save_unwind): Use it.
373 (do_auto_save_unwind_1): Remove; subsumed by new do_auto_save_unwind.
374 * insdel.c (struct rvoe_arg): New type.
375 (reset_var_on_error): Use it.
376 * lisp.h (SPECPDL_UNWIND_PTR, SPECPDL_UNWIND_INT, SPECPDL_UNWIND_VOID):
377 New constants.
378 (specbinding_func): Remove; there are now several such functions.
379 (union specbinding): New members unwind_ptr, unwind_int, unwind_void.
380 (set_unwind_protect_ptr): New function.
381 * xselect.c: Remove unnecessary forward decls, to simplify maintenance.
382
383 Be simpler and more consistent about reporting I/O errors.
384 * fileio.c (Fcopy_file, Finsert_file_contents, Fwrite_region):
385 Say "Read error" and "Write error", rather than "I/O error", or
386 "IO error reading", or "IO error writing", when a read or write
387 error occurs.
388 * process.c (Fmake_network_process, wait_reading_process_output)
389 (send_process, Fprocess_send_eof, wait_reading_process_output):
390 Capitalize diagnostics consistently. Put "failed foo" at the
391 start of the diagnostic, so that we don't capitalize the
392 function name "foo". Consistently say "failed" for such
393 diagnostics.
394 * sysdep.c, w32.c (serial_open): Now accepts Lisp string, not C string.
395 All callers changed. This is so it can use report_file_error.
396 * sysdep.c (serial_open, serial_configure): Capitalize I/O
397 diagnostics consistently as above.
398
399 * fileio.c (report_file_errno): Fix errno reporting bug.
400 If the file name is neither null nor a pair, package it up as a
401 singleton list. All callers changed, both to this function and to
402 report_file_error. This fixes a bug where the memory allocator
403 invoked by list1 set errno so that the immediately following
404 report_file_error reported the wrong errno value.
405
406 Fix minor problems found by --enable-gcc-warnings.
407 * frame.c (Fhandle_focus_in, Fhandle_focus_out): Return a value.
408 * keyboard.c (kbd_buffer_get_event): Remove unused local.
409
4102013-07-16 Jan Djärv <jan.h.d@swipnet.se>
411
412 * xterm.c (x_focus_changed): Always generate FOCUS_IN_EVENT.
413 Set event->arg to Qt if switch-event shall be generated.
414 Generate FOCUS_OUT_EVENT for FocusOut if this is the focused frame.
415
416 * termhooks.h (enum event_kind): Add FOCUS_OUT_EVENT.
417
418 * nsterm.m (windowDidResignKey): If this is the focused frame, generate
419 FOCUS_OUT_EVENT.
420
421 * keyboard.c (Qfocus_in, Qfocus_out): New static objects.
422 (make_lispy_focus_in, make_lispy_focus_out): Declare and define.
423 (kbd_buffer_get_event): For FOCUS_IN, make a focus_in event if no
424 switch frame event is made. Check ! NILP (event->arg) if X11 (moved
425 from xterm.c). Make focus_out event for FOCUS_OUT_EVENT if NS or X11
426 and there is a focused frame.
427 (head_table): Add focus-in and focus-out.
428 (keys_of_keyboard): Add focus-in and focus-out to Vspecial_event_map,
429 bind to handle-focus-in/out.
430
431 * frame.c (Fhandle_focus_in, Fhandle_focus_out): New functions.
432 (Fhandle_switch_frame): Call Fhandle_focus_in.
433 (syms_of_frame): defsubr handle-focus-in/out.
434
4352013-07-16 Paul Eggert <eggert@cs.ucla.edu>
436
437 Fix porting bug to older POSIXish platforms (Bug#14862).
438 * sysdep.c (emacs_pipe): New function, that implements
439 pipe2 (fd, O_CLOEXEC) even on hosts that lack O_CLOEXEC.
440 This should port better to CentOS 5 and to Mac OS X 10.6.
441 All calls to pipe2 changed.
442
443 Prefer list1 (X) to Fcons (X, Qnil) when building lists.
444 This makes the code easier to read and the executable a bit smaller.
445 Do not replace all calls to Fcons that happen to create lists,
446 just calls that are intended to create lists. For example, when
447 creating an alist that maps FOO to nil, use list1 (Fcons (FOO, Qnil))
448 rather than list1 (list1 (FOO)) or Fcons (Fcons (FOO, Qnil), Qnil).
449 Similarly for list2 through list5.
450 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
451 * bytecode.c (exec_byte_code):
452 * callint.c (quotify_arg, Fcall_interactively):
453 * callproc.c (Fcall_process, create_temp_file):
454 * charset.c (load_charset_map_from_file)
455 (Fdefine_charset_internal, init_charset):
456 * coding.c (get_translation_table, detect_coding_system)
457 (Fcheck_coding_systems_region)
458 (Fset_terminal_coding_system_internal)
459 (Fdefine_coding_system_internal, Fdefine_coding_system_alias):
460 * composite.c (update_compositions, Ffind_composition_internal):
461 * dired.c (directory_files_internal, file_name_completion)
462 (Fsystem_users):
463 * dispnew.c (Fopen_termscript, bitch_at_user, init_display):
464 * doc.c (Fsnarf_documentation):
465 * editfns.c (Fmessage_box):
466 * emacs.c (main):
467 * eval.c (do_debug_on_call, signal_error, maybe_call_debugger)
468 (Feval, eval_sub, Ffuncall, apply_lambda):
469 * fileio.c (make_temp_name, Fcopy_file, Faccess_file)
470 (Fset_file_selinux_context, Fset_file_acl, Fset_file_modes)
471 (Fset_file_times, Finsert_file_contents)
472 (Fchoose_write_coding_system, Fwrite_region):
473 * fns.c (Flax_plist_put, Fyes_or_no_p, syms_of_fns):
474 * font.c (font_registry_charsets, font_parse_fcname)
475 (font_prepare_cache, font_update_drivers, Flist_fonts):
476 * fontset.c (Fset_fontset_font, Ffontset_info, syms_of_fontset):
477 * frame.c (make_frame, Fmake_terminal_frame)
478 (x_set_frame_parameters, x_report_frame_params)
479 (x_default_parameter, Fx_parse_geometry):
480 * ftfont.c (syms_of_ftfont):
481 * image.c (gif_load):
482 * keyboard.c (command_loop_1):
483 * keymap.c (Fmake_keymap, Fmake_sparse_keymap, access_keymap_1)
484 (Fcopy_keymap, append_key, Fcurrent_active_maps)
485 (Fminor_mode_key_binding, accessible_keymaps_1)
486 (Faccessible_keymaps, Fwhere_is_internal):
487 * lread.c (read_emacs_mule_char):
488 * menu.c (find_and_return_menu_selection):
489 * minibuf.c (get_minibuffer):
490 * nsfns.m (Fns_perform_service):
491 * nsfont.m (ns_script_to_charset):
492 * nsmenu.m (ns_popup_dialog):
493 * nsselect.m (ns_get_local_selection, ns_string_from_pasteboard)
494 (Fx_own_selection_internal):
495 * nsterm.m (append2):
496 * print.c (Fredirect_debugging_output)
497 (print_prune_string_charset):
498 * process.c (Fdelete_process, Fprocess_contact)
499 (Fformat_network_address, set_socket_option)
500 (read_and_dispose_of_process_output, write_queue_push)
501 (send_process, exec_sentinel):
502 * sound.c (Fplay_sound_internal):
503 * textprop.c (validate_plist, add_properties)
504 (Fput_text_property, Fadd_face_text_property)
505 (copy_text_properties, text_property_list, syms_of_textprop):
506 * unexaix.c (report_error):
507 * unexcoff.c (report_error):
508 * unexsol.c (unexec):
509 * xdisp.c (redisplay_tool_bar, store_mode_line_string)
510 (Fformat_mode_line, syms_of_xdisp):
511 * xfaces.c (set_font_frame_param)
512 (Finternal_lisp_face_attribute_values)
513 (Finternal_merge_in_global_face, syms_of_xfaces):
514 * xfns.c (x_default_scroll_bar_color_parameter)
515 (x_default_font_parameter, x_create_tip_frame):
516 * xfont.c (xfont_supported_scripts):
517 * xmenu.c (Fx_popup_dialog, xmenu_show, xdialog_show)
518 (menu_help_callback, xmenu_show):
519 * xml.c (make_dom):
520 * xterm.c (set_wm_state):
521 Prefer list1 (FOO) to Fcons (FOO, Qnil) when creating a list,
522 and similarly for list2 through list5.
523
5242013-07-15 Paul Eggert <eggert@cs.ucla.edu>
525
526 * callproc.c (Fcall_process_region): Fix minor race and tune.
527 (create_temp_file): New function, with the temp-file-creation part
528 of the old Fcall_process_region. Use Fcopy_sequence to create the
529 temp file name, rather than alloca + build_string, for simplicity.
530 Don't bother to block input around the temp file creation;
531 shouldn't be needed. Simplify use of mktemp. Use
532 record_unwind_protect immediately after creating the temp file;
533 this closes an unlikely race where the temp file was not removed.
534 Use memcpy rather than an open-coded loop.
535 (Fcall_process_region): Use the new function. If the input is
536 empty, redirect from /dev/null rather than from a newly created
537 empty temp file; this avoids unnecessary file system traffic.
538
5392013-07-14 Paul Eggert <eggert@cs.ucla.edu>
540
541 * filelock.c (create_lock_file) [!HAVE_MKOSTEMP && !HAVE_MKSTEMP]:
542 Simplify by making this case like the other two. This is a bit
543 slower on obsolete hosts, but the extra complexity isn't worth it.
544
545 * callproc.c (child_setup, relocate_fd) [!DOS_NT]:
546 * process.c (create_process) [!DOS_NT]:
547 Remove now-unnecessary calls to emacs_close.
548
5492013-07-13 Eli Zaretskii <eliz@gnu.org>
550
551 * w32term.c (x_draw_hollow_cursor): Delete the brush object when
552 returning early. (Bug#14850)
553
554 * coding.c (syms_of_coding): Set up inhibit-null-byte-detection
555 and inhibit-iso-escape-detection attributes of 'undecided'.
556 (Bug#14822)
557
12013-07-13 Paul Eggert <eggert@cs.ucla.edu> 5582013-07-13 Paul Eggert <eggert@cs.ucla.edu>
2 559
560 * deps.mk (sysdep.o): Remove dependency on ../lib/ignore-value.h.
561 Reported by Herbert J. Skuhra in
562 <http://lists.gnu.org/archive/html/emacs-devel/2013-07/msg00455.html>.
563
3 Don't lose top specpdl entry when memory is exhausted. 564 Don't lose top specpdl entry when memory is exhausted.
4 * eval.c (grow_specpdl): Increment specpdl top by 1 and check for 565 * eval.c (grow_specpdl): Increment specpdl top by 1 and check for
5 specpdl overflow here, to simplify callers; all callers changed. 566 specpdl overflow here, to simplify callers; all callers changed.
@@ -136,7 +697,7 @@
136 initializers. 697 initializers.
137 698
138 Syntax cleanup, mostly replacing macros with functions. 699 Syntax cleanup, mostly replacing macros with functions.
139` This removes the need for the syntax_temp hack. 700 This removes the need for the syntax_temp hack.
140 * search.c: Include syntax.h after buffer.h, since syntax.h uses BVAR. 701 * search.c: Include syntax.h after buffer.h, since syntax.h uses BVAR.
141 * syntax.c (SYNTAX_INLINE): New macro. 702 * syntax.c (SYNTAX_INLINE): New macro.
142 (SYNTAX_FLAGS_COMSTART_FIRST, SYNTAX_FLAGS_COMSTART_SECOND) 703 (SYNTAX_FLAGS_COMSTART_FIRST, SYNTAX_FLAGS_COMSTART_SECOND)
@@ -234,7 +795,7 @@
234 (emacswrite_sig, emacs_perror): New functions. 795 (emacswrite_sig, emacs_perror): New functions.
235 * xrdb.c (fatal): Don't invoke perror, since errno might be garbage. 796 * xrdb.c (fatal): Don't invoke perror, since errno might be garbage.
236 797
2372013-07-08 Magnus Henoch <magnus.henoch@gmail.com> (tiny change). 7982013-07-08 Magnus Henoch <magnus.henoch@gmail.com> (tiny change).
238 799
239 * image.c (imagemagick_load_image): Do not use MagickExportImagePixels 800 * image.c (imagemagick_load_image): Do not use MagickExportImagePixels
240 on NS even if it is present. Pixmap on NS is a void*. 801 on NS even if it is present. Pixmap on NS is a void*.
@@ -789,7 +1350,7 @@
789 1350
790 * floatfns.c (Flog10): Move to Lisp (marked obsolete there). 1351 * floatfns.c (Flog10): Move to Lisp (marked obsolete there).
791 1352
7922013-06-20 Rüdiger Sonderfeld <ruediger@c-plusplus.de> 13532013-06-20 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
793 1354
794 * floatfns.c (Flog) [HAVE_LOG2]: Use log2 if available and if the 1355 * floatfns.c (Flog) [HAVE_LOG2]: Use log2 if available and if the
795 base is 2; this is more accurate. 1356 base is 2; this is more accurate.