diff options
Diffstat (limited to 'src/ChangeLog')
| -rw-r--r-- | src/ChangeLog | 567 |
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 @@ | |||
| 1 | 2013-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 | |||
| 11 | 2013-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 | |||
| 17 | 2013-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 | |||
| 27 | 2013-07-25 Paul Eggert <eggert@cs.ucla.edu> | ||
| 28 | |||
| 29 | * fileio.c (Finsert_file_contents): Avoid double-close (Bug#14936). | ||
| 30 | |||
| 31 | 2013-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 | |||
| 37 | 2013-07-24 Ken Brown <kbrown@cornell.edu> | ||
| 38 | |||
| 39 | * alloc.c (make_save_ptr): Define if HAVE_NTGUI is defined | ||
| 40 | (Bug#14944). | ||
| 41 | |||
| 42 | 2013-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 | |||
| 49 | 2013-07-23 Glenn Morris <rgm@gnu.org> | ||
| 50 | |||
| 51 | * Makefile.in ($(etc)/DOC, temacs$(EXEEXT)): Ensure etc/ exists. | ||
| 52 | |||
| 53 | 2013-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 | |||
| 74 | 2013-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 | |||
| 79 | 2013-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 | |||
| 85 | 2013-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 | |||
| 91 | 2013-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 | |||
| 96 | 2013-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 | |||
| 106 | 2013-07-20 Glenn Morris <rgm@gnu.org> | ||
| 107 | |||
| 108 | * image.c (Fimage_flush): Fix doc typo. | ||
| 109 | |||
| 110 | 2013-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 | |||
| 125 | 2013-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 | |||
| 130 | 2013-07-20 Andreas Schwab <schwab@linux-m68k.org> | ||
| 131 | |||
| 132 | * lread.c (Fload): Avoid uninitialized warning. | ||
| 133 | |||
| 134 | 2013-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 | |||
| 152 | 2013-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 | |||
| 157 | 2013-07-19 Paul Eggert <eggert@cs.ucla.edu> | ||
| 158 | |||
| 159 | * conf_post.h (RE_TRANSLATE_P) [emacs]: Remove obsolete optimization. | ||
| 160 | |||
| 161 | 2013-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 | |||
| 168 | 2013-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 | |||
| 195 | 2013-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 | |||
| 202 | 2013-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 | |||
| 208 | 2013-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 | |||
| 237 | 2013-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 | |||
| 260 | 2013-07-16 Juanma Barranquero <lekktu@gmail.com> | ||
| 261 | |||
| 262 | * w32fns.c (unwind_create_tip_frame): Fix declaration. | ||
| 263 | |||
| 264 | 2013-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 | |||
| 410 | 2013-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 | |||
| 435 | 2013-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 | |||
| 524 | 2013-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 | |||
| 539 | 2013-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 | |||
| 549 | 2013-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 | |||
| 1 | 2013-07-13 Paul Eggert <eggert@cs.ucla.edu> | 558 | 2013-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 | ||
| 237 | 2013-07-08 Magnus Henoch <magnus.henoch@gmail.com> (tiny change). | 798 | 2013-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 | ||
| 792 | 2013-06-20 Rüdiger Sonderfeld <ruediger@c-plusplus.de> | 1353 | 2013-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. |