diff options
| author | Kenichi Handa | 2012-09-30 23:39:46 +0900 |
|---|---|---|
| committer | Kenichi Handa | 2012-09-30 23:39:46 +0900 |
| commit | c194970e15b6d6efa07697679a25dfab3aa76442 (patch) | |
| tree | 49aec8be9d2dcc74ad3c81f562e48308d8e27b75 /src/ChangeLog | |
| parent | 95402d5faa114a311cabfb8c64cf22a93787a066 (diff) | |
| parent | dd946752ab8810149a66a3eff469eb128709972d (diff) | |
| download | emacs-c194970e15b6d6efa07697679a25dfab3aa76442.tar.gz emacs-c194970e15b6d6efa07697679a25dfab3aa76442.zip | |
merge trunk
Diffstat (limited to 'src/ChangeLog')
| -rw-r--r-- | src/ChangeLog | 575 |
1 files changed, 558 insertions, 17 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 508ac9925a8..f69ab42bd90 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -3,6 +3,547 @@ | |||
| 3 | * coding.c (decode_coding_ccl, encode_coding_ccl): Pay attention | 3 | * coding.c (decode_coding_ccl, encode_coding_ccl): Pay attention |
| 4 | to the buffer relocation which may be caused by ccl_driver. | 4 | to the buffer relocation which may be caused by ccl_driver. |
| 5 | 5 | ||
| 6 | 2012-09-30 Jan Djärv <jan.h.d@swipnet.se> | ||
| 7 | |||
| 8 | * nsfns.m (ns_frame_parm_handlers): Add x_set_fullscreen. | ||
| 9 | |||
| 10 | * nsterm.m (NEW_STYLE_FS): New define. | ||
| 11 | (ns_fullscreen_hook, windowWillEnterFullScreen) | ||
| 12 | (windowDidEnterFullScreen, windowWillExitFullScreen) | ||
| 13 | (windowDidExitFullScreen, toggleFullScreen, handleFS) | ||
| 14 | (setFSValue): New functions. | ||
| 15 | (EmacsFSWindow): New implementation. | ||
| 16 | (canBecomeKeyWindow): New function for EmacsFSWindow. | ||
| 17 | (ns_create_terminal): Set fullscreen_hook to ns_fullscreen_hook. | ||
| 18 | (dealloc): Release nonfs_window if in fullscreen. | ||
| 19 | (updateFrameSize:): Call windowDidMove to update top/left. | ||
| 20 | (windowWillResize:toSize:): Check if frame is still maximized. | ||
| 21 | (initFrameFromEmacs:): Initialize fs_state, fs_before_fs, | ||
| 22 | next_maximized, maximized_width, maximized_height and nonfs_window. | ||
| 23 | Call setCollectionBehavior if NEW_STYLE_FS. Initialize bwidth and | ||
| 24 | tbar_height. | ||
| 25 | (windowWillUseStandardFrame:defaultFrame:): Update frame parameter | ||
| 26 | fullscreen. Set maximized_width/height. Act on next_maximized. | ||
| 27 | |||
| 28 | * nsterm.h (MAC_OS_X_VERSION_10_7, MAC_OS_X_VERSION_10_8): New. | ||
| 29 | (EmacsView): Add variables for fullscreen. | ||
| 30 | (handleFS, setFSValue, toggleFullScreen): New in EmacsView. | ||
| 31 | (EmacsFSWindow): New interface for fullscreen. | ||
| 32 | |||
| 33 | 2012-09-30 Juanma Barranquero <lekktu@gmail.com> | ||
| 34 | |||
| 35 | * makefile.w32-in ($(BLD)/profiler.$(O)): Update dependencies. | ||
| 36 | |||
| 37 | 2012-09-30 Chong Yidong <cyd@gnu.org> | ||
| 38 | |||
| 39 | * fns.c (Frandom): Doc fix. | ||
| 40 | |||
| 41 | 2012-09-30 Martin Rudalics <rudalics@gmx.at> | ||
| 42 | |||
| 43 | * window.c (Vwindow_combination_limit): New default value. | ||
| 44 | (Qwindow_size): New symbol replacing Qtemp_buffer_resize. | ||
| 45 | |||
| 46 | 2012-09-30 Paul Eggert <eggert@cs.ucla.edu> | ||
| 47 | |||
| 48 | * syssignal.h (PROFILER_CPU_SUPPORT): Don't define if PROFILING. | ||
| 49 | Suggested by Eli Zaretskii in | ||
| 50 | <http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00811.html>. | ||
| 51 | |||
| 52 | 2012-09-30 Eli Zaretskii <eliz@gnu.org> | ||
| 53 | |||
| 54 | * profiler.c (Fprofiler_cpu_stop): Use timer_settime only if | ||
| 55 | HAVE_TIMER_SETTIME is defined. | ||
| 56 | |||
| 57 | 2012-09-30 Paul Eggert <eggert@cs.ucla.edu> | ||
| 58 | |||
| 59 | Profiler improvements: more-accurate timers, overflow checks. | ||
| 60 | * profiler.c: Don't include stdio.h, limits.h, sys/time.h, | ||
| 61 | signal.h, setjmp.h. Include systime.h instead. | ||
| 62 | (saturated_add): New function. | ||
| 63 | (record_backtrace, current_sample_interval): Use EMACS_INT, not size_t. | ||
| 64 | (record_backtrace, handle_profiler_signal): Saturate on fixnum overflow. | ||
| 65 | (profiler_timer, profiler_timer_ok) [HAVE_TIMER_SETTIME]: | ||
| 66 | New static vars. | ||
| 67 | (enum profiler_cpu_running): New enum. | ||
| 68 | (profiler_cpu_running): Now of that enum type, not bool. | ||
| 69 | All uses changed to store the new value. | ||
| 70 | (handle_profiler_signal): Rename from sigprof_handler_1, | ||
| 71 | for consistency with other handlers. Do not check whether | ||
| 72 | cpu_log is a hash-table if garbage collecting, since it | ||
| 73 | doesn't matter in that case. | ||
| 74 | (deliver_profiler_signal): Rename from sigprof_handler, | ||
| 75 | for consistency with other handlers. | ||
| 76 | (setup_cpu_timer): New function, with much of what used to be in | ||
| 77 | Fprofiler_cpu_start. Check for out-of-range argument. | ||
| 78 | Prefer timer_settime if available, and prefer | ||
| 79 | thread cputime clocks, then process cputime clocks, then | ||
| 80 | monotonic clocks, to the old realtime clock. Use make_timeval | ||
| 81 | to round more-correctly when falling back to setitimer. | ||
| 82 | (Fprofiler_cpu_start): Use it. | ||
| 83 | (Fprofiler_cpu_stop): Prefer timer_settime if available. | ||
| 84 | Don't assume that passing NULL as the 2nd argument of setitimer | ||
| 85 | is the same as passing a pointer to all-zero storage. | ||
| 86 | Ignore SIGPROF afterwards. | ||
| 87 | (malloc_probe): Saturate at MOST_POSITIVE_FIXNUM. | ||
| 88 | * sysdep.c (emacs_sigaction_init): Also mask out SIGPROF in | ||
| 89 | non-fatal signal handlers. Ignore SIGPROF on startup. | ||
| 90 | * syssignal.h (PROFILER_CPU_SUPPORT): Define this macro here, not | ||
| 91 | in profiler.c, since sysdep.c now uses it. | ||
| 92 | |||
| 93 | * sysdep.c (handle_fatal_signal): Bump backtrace size to 40. | ||
| 94 | Suggested by Eli Zaretskii in | ||
| 95 | <http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00796.html>. | ||
| 96 | |||
| 97 | 2012-09-29 Juanma Barranquero <lekktu@gmail.com> | ||
| 98 | |||
| 99 | * makefile.w32-in ($(BLD)/profiler.$(O)): Update dependencies. | ||
| 100 | |||
| 101 | 2012-09-29 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 102 | |||
| 103 | * lisp.h (struct backtrace): Remove indirection for `function' field. | ||
| 104 | * xdisp.c (redisplay_internal): | ||
| 105 | * profiler.c (record_backtrace, sigprof_handler_1): | ||
| 106 | * alloc.c (Fgarbage_collect): | ||
| 107 | * eval.c (interactive_p, Fsignal, eval_sub, Ffuncall, Fbacktrace) | ||
| 108 | (Fbacktrace_frame): Adjust accordingly. | ||
| 109 | |||
| 110 | 2012-09-28 Glenn Morris <rgm@gnu.org> | ||
| 111 | |||
| 112 | * eval.c (Frun_hook_with_args, Frun_hook_with_args_until_success) | ||
| 113 | (Frun_hook_with_args_until_failure): Doc fixes. | ||
| 114 | |||
| 115 | 2012-09-28 Eli Zaretskii <eliz@gnu.org> | ||
| 116 | |||
| 117 | * xdisp.c (syms_of_xdisp) <Qredisplay_internal>: Rename from | ||
| 118 | Qautomatic_redisplay and change the symbol name. All users changed. | ||
| 119 | |||
| 120 | 2012-09-28 Tomohiro Matsuyama <tomo@cx4a.org> | ||
| 121 | |||
| 122 | * profiler.c (sigprof_handler): Fix race condition. | ||
| 123 | |||
| 124 | 2012-09-28 Glenn Morris <rgm@gnu.org> | ||
| 125 | |||
| 126 | * lread.c (lisp_file_lexically_bound_p): Handle #! lines. (Bug#12528) | ||
| 127 | |||
| 128 | 2012-09-27 Paul Eggert <eggert@cs.ucla.edu> | ||
| 129 | |||
| 130 | Check more robustly for timer_settime. | ||
| 131 | * Makefile.in (LIB_TIMER_TIME): New macro. | ||
| 132 | (LIBES): Add it. | ||
| 133 | * atimer.c (alarm_timer, alarm_timer_ok, set_alarm, init_atimer): | ||
| 134 | Use HAVE_TIMER_SETTIME, not SIGEV_SIGNAL, to decide whether to | ||
| 135 | call timer_settime. | ||
| 136 | |||
| 137 | 2012-09-26 Tomohiro Matsuyama <tomo@cx4a.org> | ||
| 138 | |||
| 139 | * profiler.c (Fprofiler_cpu_start): Remove unnecessary flag SA_SIGINFO. | ||
| 140 | |||
| 141 | 2012-09-26 Juanma Barranquero <lekktu@gmail.com> | ||
| 142 | |||
| 143 | * makefile.w32-in ($(BLD)/profiler.$(O)): Update dependencies. | ||
| 144 | |||
| 145 | 2012-09-26 Paul Eggert <eggert@cs.ucla.edu> | ||
| 146 | |||
| 147 | * character.h (MAYBE_UNIFY_CHAR): Remove. | ||
| 148 | * charset.c, charset.h (maybe_unify_char): Now static. | ||
| 149 | * charset.c (decode_char): Use maybe_unify_char, not MAYBE_UNIFY_CHAR. | ||
| 150 | Since this stuff is now private to charset.c, there's no need for | ||
| 151 | a public macro and no need to inline by hand. | ||
| 152 | |||
| 153 | 2012-09-26 Tomohiro Matsuyama <tomo@cx4a.org> | ||
| 154 | Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 155 | Juanma Barranquero <lekktu@gmail.com> | ||
| 156 | |||
| 157 | * profiler.c: New file. | ||
| 158 | * Makefile.in (base_obj): Add profiler.o. | ||
| 159 | * makefile.w32-in (OBJ2, GLOBAL_SOURCES): Add profiler.c. | ||
| 160 | ($(BLD)/profiler.$(O)): New target. | ||
| 161 | * emacs.c (main): Call syms_of_profiler. | ||
| 162 | * alloc.c (Qautomatic_gc): New constant. | ||
| 163 | (MALLOC_PROBE): New macro. | ||
| 164 | (xmalloc, xzalloc, xrealloc, lisp_malloc, lisp_align_malloc): Use it. | ||
| 165 | (total_bytes_of_live_objects): New function. | ||
| 166 | (Fgarbage_collect): Use it. Record itself in backtrace_list. | ||
| 167 | Call malloc_probe for the memory profiler. | ||
| 168 | (syms_of_alloc): Define Qautomatic_gc. | ||
| 169 | * eval.c (eval_sub, Ffuncall): Reorder assignments to avoid | ||
| 170 | race condition. | ||
| 171 | (struct backtrace): Move definition... | ||
| 172 | * lisp.h (struct backtrace): ..here. | ||
| 173 | (Qautomatic_gc, profiler_memory_running): Declare vars. | ||
| 174 | (malloc_probe, syms_of_profiler): Declare functions. | ||
| 175 | * xdisp.c (Qautomatic_redisplay): New constant. | ||
| 176 | (redisplay_internal): Record itself in backtrace_list. | ||
| 177 | (syms_of_xdisp): Define Qautomatic_redisplay. | ||
| 178 | |||
| 179 | 2012-09-25 Eli Zaretskii <eliz@gnu.org> | ||
| 180 | 2012-09-25 Juanma Barranquero <lekktu@gmail.com> | ||
| 181 | |||
| 182 | * makefile.w32-in ($(BLD)/callproc.$(O)): Update dependencies. | ||
| 183 | |||
| 184 | 2012-09-25 Paul Eggert <eggert@cs.ucla.edu> | ||
| 185 | |||
| 186 | Prefer POSIX timers if available. | ||
| 187 | They avoid a race if the timer is too close to the current time. | ||
| 188 | * atimer.c (alarm_timer, alarm_timer_ok) [SIGEV_SIGNAL]: New static vars. | ||
| 189 | (set_alarm) [SIGEV_SIGNAL]: Use POSIX timers if available. | ||
| 190 | (init_atimer) [SIGEV_SIGNAL]: Initialize them. | ||
| 191 | |||
| 192 | 2012-09-25 Eli Zaretskii <eliz@gnu.org> | ||
| 193 | |||
| 194 | * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY): Make it an alias of | ||
| 195 | CHAR_STRING_ADVANCE. | ||
| 196 | (STRING_CHAR_ADVANCE_NO_UNIFY): Make it an alias of | ||
| 197 | STRING_CHAR_ADVANCE. | ||
| 198 | |||
| 199 | 2012-09-25 Juanma Barranquero <lekktu@gmail.com> | ||
| 200 | |||
| 201 | Move Vlibrary_cache to emacs.c and reset before dumping. | ||
| 202 | |||
| 203 | * lisp.h (reset_image_types): Declare. | ||
| 204 | [WINDOWSNT] (Vlibrary_cache): Declare. | ||
| 205 | |||
| 206 | * image.c (reset_image_types): New function. | ||
| 207 | |||
| 208 | * emacs.c [WINDOWSNT] (Vlibrary_cache): Move from w32.c. | ||
| 209 | (syms_of_emacs) [WINDOWSNT] <Vlibrary_cache>: Initialize and staticpro. | ||
| 210 | (Fdump_emacs): Reset Vlibrary_cache and image_types. | ||
| 211 | |||
| 212 | * w32.c (Vlibrary_cache): Do not define; moved to emacs.c | ||
| 213 | (globals_of_w32) <Vlibrary_cache>: Do not initialize. | ||
| 214 | |||
| 215 | * w32.h (Vlibrary_cache): Do not declare. | ||
| 216 | |||
| 217 | 2012-09-25 Eli Zaretskii <eliz@gnu.org> | ||
| 218 | |||
| 219 | * w32proc.c (sys_signal): Handle all signals defined by the | ||
| 220 | MS-Windows runtime, not just SIGCHLD. Actually install the signal | ||
| 221 | handlers for signals supported by Windows. Don't override | ||
| 222 | term_ntproc as the handler for SIGABRT. | ||
| 223 | (sigaction): Rewrite to call sys_signal instead of duplicating its | ||
| 224 | code. | ||
| 225 | (sys_kill): Improve commentary. | ||
| 226 | |||
| 227 | * w32.c (term_ntproc): Accept (and ignore) one argument, for | ||
| 228 | consistency with a signature of a signal handler. All callers | ||
| 229 | changed. | ||
| 230 | (init_ntproc): Accept an argument DUMPING. If dumping, don't | ||
| 231 | install term_ntproc as a signal handler for SIGABRT, as that | ||
| 232 | should be done by the dumped Emacs. | ||
| 233 | |||
| 234 | * w32.h (init_ntproc, term_ntproc): Adjust prototypes. | ||
| 235 | |||
| 236 | * w32select.c (term_w32select): Protect against repeated | ||
| 237 | invocation by setting clipboard_owner to NULL after calling | ||
| 238 | DestroyWindow. | ||
| 239 | |||
| 240 | * emacs.c (shut_down_emacs, main): Adapt the calls to init_ntproc | ||
| 241 | and term_ntproc to their modified signatures. | ||
| 242 | |||
| 243 | * character.c (char_string, string_char): Remove calls to | ||
| 244 | MAYBE_UNIFY_CHAR. See the discussion starting at | ||
| 245 | http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00433.html | ||
| 246 | for the details. | ||
| 247 | |||
| 248 | 2012-09-25 Chong Yidong <cyd@gnu.org> | ||
| 249 | |||
| 250 | * xdisp.c (mode_line_inverse_video): Delete obsolete variable. | ||
| 251 | |||
| 252 | 2012-09-24 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 253 | |||
| 254 | * bytecode.c (exec_byte_code): Signal an error instead of aborting, | ||
| 255 | when encountering an unknown bytecode. | ||
| 256 | |||
| 257 | 2012-09-24 Paul Eggert <eggert@cs.ucla.edu> | ||
| 258 | |||
| 259 | image.c, indent.c: Use bool for booleans. | ||
| 260 | * dispextern.h (struct image_type): Members valid_p, load, init | ||
| 261 | now return bool, not int. All uses changed. | ||
| 262 | * image.c: Omit unnecessary static decls. | ||
| 263 | (x_create_bitmap_mask, x_build_heuristic_mask): | ||
| 264 | Return void, not int, since callers don't care about the return value. | ||
| 265 | (x_create_bitmap_mask, define_image_type, valid_image_p) | ||
| 266 | (struct image_keyword, parse_image_spec, image_spec_value) | ||
| 267 | (check_image_size, image_background) | ||
| 268 | (image_background_transparent, x_clear_image_1) | ||
| 269 | (postprocess_image, lookup_image, x_check_image_size) | ||
| 270 | (x_create_x_image_and_pixmap, xbm_image_p) | ||
| 271 | (Create_Pixmap_From_Bitmap_Data, xbm_read_bitmap_data) | ||
| 272 | (xbm_load_image, xbm_file_p, xbm_load, xpm_lookup_color) | ||
| 273 | (init_xpm_functions, xpm_valid_color_symbols_p, xpm_image_p) | ||
| 274 | (xpm_load, xpm_load_image, lookup_rgb_color, lookup_pixel_color) | ||
| 275 | (x_to_xcolors, x_build_heuristic_mask, pbm_image_p, pbm_load) | ||
| 276 | (png_image_p, init_png_functions, png_load_body, png_load) | ||
| 277 | (jpeg_image_p, init_jpeg_functions, jpeg_load_body, jpeg_load) | ||
| 278 | (tiff_image_p, init_tiff_functions, tiff_load, gif_image_p) | ||
| 279 | (init_gif_functions, gif_load, imagemagick_image_p) | ||
| 280 | (imagemagick_load_image, imagemagick_load, svg_image_p) | ||
| 281 | (init_svg_functions, svg_load, svg_load_image, gs_image_p) | ||
| 282 | (gs_load): | ||
| 283 | * nsimage.m (ns_load_image): | ||
| 284 | * nsterm.m (ns_defined_color): | ||
| 285 | * xfaces.c (tty_lookup_color, tty_defined_color, defined_color): | ||
| 286 | * xfns.c (x_defined_color): | ||
| 287 | * xterm.c (x_alloc_lighter_color_for_widget) | ||
| 288 | (x_alloc_nearest_color_1, x_alloc_nearest_color) | ||
| 289 | (x_alloc_lighter_color): | ||
| 290 | * indent.c (disptab_matches_widthtab, current_column) | ||
| 291 | (scan_for_column, string_display_width, indented_beyond_p) | ||
| 292 | (compute_motion, vmotion, Fvertical_motion): | ||
| 293 | Use bool for booleans. | ||
| 294 | |||
| 295 | 2012-09-24 Chong Yidong <cyd@gnu.org> | ||
| 296 | |||
| 297 | * chartab.c (Fset_char_table_default): Obsolete function removed. | ||
| 298 | |||
| 299 | 2012-09-23 Paul Eggert <eggert@cs.ucla.edu> | ||
| 300 | |||
| 301 | Move pid_t related decls out of lisp.h. | ||
| 302 | * lisp.h, syswait.h (record_child_status_change, wait_for_termination) | ||
| 303 | (interruptible_wait_for_termination): | ||
| 304 | Move these decls from lisp.h to syswait.h, since they use pid_t. | ||
| 305 | Needed on FreeBSD; see Herbert J. Skuhra in | ||
| 306 | <http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00571.html>. | ||
| 307 | * callproc.c: Include syswait.h. | ||
| 308 | |||
| 309 | gnutls.c, gtkutil.c: Use bool for boolean. | ||
| 310 | * gnutls.c (gnutls_global_initialized, init_gnutls_functions) | ||
| 311 | (emacs_gnutls_handle_error): | ||
| 312 | * gtkutil.c (xg_check_special_colors, xg_prepare_tooltip) | ||
| 313 | (xg_hide_tooltip, xg_create_frame_widgets) | ||
| 314 | (create_dialog, xg_uses_old_file_dialog) | ||
| 315 | (xg_get_file_with_chooser, xg_get_file_with_selection) | ||
| 316 | (xg_get_file_name, xg_have_tear_offs, create_menus, xg_create_widget) | ||
| 317 | (xg_item_label_same_p, xg_update_menubar) | ||
| 318 | (xg_modify_menubar_widgets, xg_event_is_for_menubar) | ||
| 319 | (xg_ignore_gtk_scrollbar, xg_set_toolkit_scroll_bar_thumb) | ||
| 320 | (xg_event_is_for_scrollbar, xg_pack_tool_bar, xg_make_tool_item) | ||
| 321 | (is_box_type, xg_tool_item_stale_p, xg_update_tool_bar_sizes) | ||
| 322 | (update_frame_tool_bar, free_frame_tool_bar): | ||
| 323 | * gtkutil.c, w32term.c, xterm.c (x_wm_set_size_hint): | ||
| 324 | * nsmenu.m (ns_update_menubar): | ||
| 325 | * nsmenu.m, w32menu.c, xmenu.c (set_frame_menubar): | ||
| 326 | * xfns.c (Fx_show_tip) [USE_GTK]: | ||
| 327 | Use bool for boolean. | ||
| 328 | * gtkutil.c (xg_update_frame_menubar): | ||
| 329 | * xmenu.c (update_frame_menubar): | ||
| 330 | Return void, not int, since caller ignores return value. | ||
| 331 | * gtkutil.c (xg_change_toolbar_position): | ||
| 332 | Return void, not 1. | ||
| 333 | |||
| 334 | 2012-09-23 Juanma Barranquero <lekktu@gmail.com> | ||
| 335 | |||
| 336 | * makefile.w32-in (BLOCKINPUT_H): Remove. | ||
| 337 | (SYSSIGNAL_H): New macro. | ||
| 338 | ($(BLD)/alloc.$(O), $(BLD)/atimer.$(O), $(BLD)/buffer.$(O)) | ||
| 339 | ($(BLD)/callproc.$(O), $(BLD)/data.$(O), $(BLD)/dired.$(O)) | ||
| 340 | ($(BLD)/dispnew.$(O), $(BLD)/editfns.$(O), $(BLD)/emacs.$(O)) | ||
| 341 | ($(BLD)/eval.$(O), $(BLD)/fileio.$(O), $(BLD)/floatfns.$(O)) | ||
| 342 | ($(BLD)/fns.$(O), $(BLD)/fontset.$(O), $(BLD)/frame.$(O)) | ||
| 343 | ($(BLD)/fringe.$(O), $(BLD)/image.$(O), $(BLD)/insdel.$(O)) | ||
| 344 | ($(BLD)/keyboard.$(O), $(BLD)/keymap.$(O), $(BLD)/lread.$(O)) | ||
| 345 | ($(BLD)/menu.$(O), $(BLD)/w32inevt.$(O), $(BLD)/w32proc.$(O)) | ||
| 346 | ($(BLD)/print.$(O), $(BLD)/process.$(O), $(BLD)/ralloc.$(O)) | ||
| 347 | ($(BLD)/search.$(O), $(BLD)/sound.$(O), $(BLD)/sysdep.$(O)) | ||
| 348 | ($(BLD)/term.$(O), $(BLD)/window.$(O), $(BLD)/xdisp.$(O)) | ||
| 349 | ($(BLD)/xfaces.$(O), $(BLD)/w32fns.$(O), $(BLD)/w32menu.$(O)) | ||
| 350 | ($(BLD)/w32term.$(O), $(BLD)/w32select.$(O), $(BLD)/w32reg.$(O)) | ||
| 351 | ($(BLD)/w32xfns.$(O)): Update dependencies. | ||
| 352 | |||
| 353 | 2012-09-23 Eli Zaretskii <eliz@gnu.org> | ||
| 354 | |||
| 355 | * .gdbinit: Set breakpoint on terminate_due_to_signal, not on | ||
| 356 | fatal_error_backtrace. | ||
| 357 | |||
| 358 | * w32proc.c (sys_kill): Undo last change: don't do anything when | ||
| 359 | invoked to deliver SIGABRT to our own process. This is now | ||
| 360 | handled by emacs_raise. | ||
| 361 | |||
| 362 | 2012-09-23 Juanma Barranquero <lekktu@gmail.com> | ||
| 363 | |||
| 364 | * w32term.c (w32_read_socket): Remove leftover reference to | ||
| 365 | interrupt_input_pending. | ||
| 366 | |||
| 367 | 2012-09-23 Paul Eggert <eggert@cs.ucla.edu> | ||
| 368 | |||
| 369 | Do not use SA_NODEFER. | ||
| 370 | Problem reported by Dani Moncayo in | ||
| 371 | <http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00557.html>. | ||
| 372 | * alloc.c (die): | ||
| 373 | * sysdep.c (emacs_abort): Do not reset signal handler. | ||
| 374 | * emacs.c (terminate_due_to_signal): Reset signal handler here. | ||
| 375 | * sysdep.c (init_signals): Do not use SA_NODEFER. It wasn't | ||
| 376 | wanted even on POSIXish hosts, and it doesn't work on Windows. | ||
| 377 | |||
| 378 | 2012-09-23 Jan Djärv <jan.h.d@swipnet.se> | ||
| 379 | |||
| 380 | * xterm.c (x_term_init): Call fixup_locale before and after calling | ||
| 381 | gtk_init (Bug#12392). | ||
| 382 | |||
| 383 | 2012-09-23 Chong Yidong <cyd@gnu.org> | ||
| 384 | |||
| 385 | * w32.c (w32_delayed_load): Remove LIBRARIES argument; always use | ||
| 386 | Vdynamic_library_alist. | ||
| 387 | |||
| 388 | * gnutls.c (init_gnutls_functions): Caller changed; remove arg. | ||
| 389 | (Fgnutls_available_p): Caller changed. | ||
| 390 | |||
| 391 | * xml.c (init_libxml2_functions, Flibxml_parse_html_region) | ||
| 392 | (Flibxml_parse_xml_region): Likewise. | ||
| 393 | |||
| 394 | * dispextern.h (struct image_type): Remove arg from init function. | ||
| 395 | |||
| 396 | * image.c (Finit_image_library, lookup_image_type) | ||
| 397 | (define_image_type): Remove now-unneeded second arg. | ||
| 398 | (init_xpm_functions, init_png_functions, init_jpeg_functions) | ||
| 399 | (init_tiff_functions, init_gif_functions, init_svg_functions): | ||
| 400 | Arglist and w32_delayed_load calling convention changed. | ||
| 401 | (gs_type): Remove init_gs_functions; there is no such function. | ||
| 402 | (valid_image_p, make_image): Fix caller to lookup_image_type. | ||
| 403 | |||
| 404 | 2012-09-23 Paul Eggert <eggert@cs.ucla.edu> | ||
| 405 | |||
| 406 | Simplify and avoid signal-handling races (Bug#12471). | ||
| 407 | * alloc.c (die): | ||
| 408 | * sysdep.c (emacs_abort) [HAVE_NTGUI]: | ||
| 409 | Avoid recursive loop if there's a fatal error in the function itself. | ||
| 410 | * atimer.c (pending_atimers): | ||
| 411 | * blockinput.h: Don't include "atimer.h"; no longer needed. | ||
| 412 | (interrupt_input_pending): Remove. All uses removed. | ||
| 413 | pending_signals now counts both atimers and ordinary interrupts. | ||
| 414 | This is less racy than having three separate pending-signal flags. | ||
| 415 | (block_input, unblock_input, totally_unblock_input, unblock_input_to) | ||
| 416 | (input_blocked_p): | ||
| 417 | Rename from their upper-case counterparts BLOCK_INPUT, | ||
| 418 | UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT, UNBLOCK_INPUT_TO, | ||
| 419 | INPUT_BLOCKED_P, and turn into functions. All uses changed. | ||
| 420 | This makes it easier to access volatile variables more accurately. | ||
| 421 | (BLOCK_INPUT_RESIGNAL): Remove. All uses replaced by unblock_input (). | ||
| 422 | (input_blocked_p): Prefer this to 'interrupt_input_blocked', as | ||
| 423 | that's more reliable if the code is buggy and sets | ||
| 424 | interrupt_input_blocked to a negative value. All uses changed. | ||
| 425 | * atimer.c (deliver_alarm_signal): | ||
| 426 | Remove. No need to deliver this to the parent; any thread can | ||
| 427 | handle this signal now. All uses replaced by underlying handler. | ||
| 428 | * atimer.c (turn_on_atimers): | ||
| 429 | * dispnew.c (handle_window_change_signal): | ||
| 430 | * emacs.c (handle_danger_signal): | ||
| 431 | * keyboard.c (kbd_buffer_get_event): | ||
| 432 | Don't reestablish signal handler; not needed with sigaction. | ||
| 433 | * blockinput.h (UNBLOCK_INPUT_TO, TOTALLY_UNBLOCK_INPUT) | ||
| 434 | (UNBLOCK_INPUT_TO): | ||
| 435 | Rework to avoid unnecessary accesses to volatile variables. | ||
| 436 | (UNBLOCK_INPUT_TO): Now a function. | ||
| 437 | (totally_unblock_input, unblock_input): New decls. | ||
| 438 | * data.c (handle_arith_signal, deliver_arith_signal): Move to sysdep.c | ||
| 439 | (init_data): Remove. Necessary stuff now done in init_signal. | ||
| 440 | * emacs.c, xdisp.c: Include "atimer.h", since we invoke atimer functions. | ||
| 441 | * emacs.c (handle_fatal_signal, deliver_fatal_signal): Move to sysdep.c. | ||
| 442 | (fatal_error_code): Remove; no longer needed. | ||
| 443 | (terminate_due_to_signal): Rename from fatal_error_backtrace, since | ||
| 444 | it doesn't always backtrace. All uses changed. No need to reset | ||
| 445 | signal to default, since sigaction and/or die does that for us now. | ||
| 446 | Use emacs_raise (FOO), not kill (getpid (), FOO). | ||
| 447 | (main): Check more-accurately whether we're dumping. | ||
| 448 | Move fatal-error setup to sysdep.c | ||
| 449 | * floatfns.c: Do not include "syssignal.h"; no longer needed. | ||
| 450 | * gtkutil.c (xg_get_file_name, xg_get_font): | ||
| 451 | Remove no-longer-needed signal-mask manipulation. | ||
| 452 | * keyboard.c, process.c (POLL_FOR_INPUT): | ||
| 453 | Don't depend on USE_ASYNC_EVENTS, a symbol that is never defined. | ||
| 454 | * keyboard.c (read_avail_input): Remove. | ||
| 455 | All uses replaced by gobble_input. | ||
| 456 | (Ftop_level): Use TOTALLY_UNBLOCK_INPUT rather than open code. | ||
| 457 | (kbd_buffer_store_event_hold, gobble_input): | ||
| 458 | (record_asynch_buffer_change) [USABLE_SIGIO]: | ||
| 459 | (store_user_signal_events): | ||
| 460 | No need to mess with signal mask. | ||
| 461 | (gobble_input): If blocking input and there are terminals, simply | ||
| 462 | set pending_signals to 1 and return. All hooks changed to not | ||
| 463 | worry about whether input is blocked. | ||
| 464 | (process_pending_signals): Clear pending_signals before processing | ||
| 465 | them, in case a signal comes in while we're processing. | ||
| 466 | By convention callers now test pending_signals before calling us. | ||
| 467 | (UNBLOCK_INPUT_TO, unblock_input, totally_unblock_input): | ||
| 468 | New functions, to support changes to blockinput.h. | ||
| 469 | (handle_input_available_signal): Now extern. | ||
| 470 | (reinvoke_input_signal): Remove. All uses replaced by | ||
| 471 | handle_async_input. | ||
| 472 | (quit_count): Now volatile, since a signal handler uses it. | ||
| 473 | (handle_interrupt): Now takes bool IN_SIGNAL_HANDLER as arg. | ||
| 474 | All callers changed. Block SIGINT only if not already blocked. | ||
| 475 | Clear sigmask reliably, even if Fsignal returns, which it can. | ||
| 476 | Omit unnecessary accesses to volatile var. | ||
| 477 | (quit_throw_to_read_char): No need to restore sigmask. | ||
| 478 | * keyboard.c (gobble_input, handle_user_signal): | ||
| 479 | * process.c (wait_reading_process_output): | ||
| 480 | Call signal-handling code rather than killing ourselves. | ||
| 481 | * lisp.h: Include <float.h>, for... | ||
| 482 | (IEEE_FLOATING_POINT): New macro, moved here to avoid duplication. | ||
| 483 | (pending_signals): Now volatile. | ||
| 484 | (syms_of_data): Now const if IEEE floating point. | ||
| 485 | (handle_input_available_signal) [USABLE_SIGIO]: | ||
| 486 | (terminate_due_to_signal, record_child_status_change): New decls. | ||
| 487 | * process.c (create_process): Avoid disaster if memory is exhausted | ||
| 488 | while we're processing a vfork, by tightening the critical section | ||
| 489 | around the vfork. | ||
| 490 | (send_process_frame, process_sent_to, handle_pipe_signal) | ||
| 491 | (deliver_pipe_signal): Remove. No longer needed, as Emacs now | ||
| 492 | ignores SIGPIPE. | ||
| 493 | (send_process): No need for setjmp/longjmp any more, since the | ||
| 494 | SIGPIPE stuff is now gone. Instead, report an error if errno | ||
| 495 | is EPIPE. | ||
| 496 | (record_child_status_change): Now extern. PID and W are now args. | ||
| 497 | Return void, not bool. All callers changed. | ||
| 498 | * sysdep.c (wait_debugging) [(BSD_SYSTEM || HPUX) && !defined (__GNU__)]: | ||
| 499 | Remove. All uses removed. This bug should be fixed now in a | ||
| 500 | different way. | ||
| 501 | (wait_for_termination_1): Use waitpid rather than sigsuspend, | ||
| 502 | and record the child status change directly. This avoids the | ||
| 503 | need to futz with the signal mask. | ||
| 504 | (process_fatal_action): Move here from emacs.c. | ||
| 505 | (emacs_sigaction_flags): New function, containing | ||
| 506 | much of what used to be in emacs_sigaction_init. | ||
| 507 | (emacs_sigaction_init): Use it. Block nonfatal system signals that are | ||
| 508 | caught by emacs, to make races less likely. | ||
| 509 | (deliver_process_signal): Rename from handle_on_main_thread. | ||
| 510 | All uses changed. | ||
| 511 | (BACKTRACE_LIMIT_MAX): Now at top level. | ||
| 512 | (thread_backtrace_buffer, threadback_backtrace_pointers): | ||
| 513 | New static vars. | ||
| 514 | (deliver_thread_signal, deliver_fatal_thread_signal): | ||
| 515 | New functions, for more-accurate delivery of thread-specific signals. | ||
| 516 | (handle_fatal_signal, deliver_fatal_signal): Move here from emacs.c. | ||
| 517 | (deliver_arith_signal): Handle in this thread, not | ||
| 518 | in the main thread, since it's triggered by this thread. | ||
| 519 | (maybe_fatal_sig): New function. | ||
| 520 | (init_signals): New arg DUMPING so that we can be more accurate | ||
| 521 | about whether we're dumping. Caller changed. | ||
| 522 | Treat thread-specific signals differently from process-general signals. | ||
| 523 | Block all signals while handling fatal error; that's safer. | ||
| 524 | xsignal from SIGFPE only on non-IEEE hosts, treating it as fatal | ||
| 525 | on IEEE hosts. | ||
| 526 | When batch, ignore SIGHUP, SIGINT, SIGTERM if they were already ignored. | ||
| 527 | Ignore SIGPIPE unless batch. | ||
| 528 | (emacs_backtrace): Output backtrace for the appropriate thread, | ||
| 529 | which is not necessarily the main thread. | ||
| 530 | * syssignal.h: Include <stdbool.h>. | ||
| 531 | (emacs_raise): New macro. | ||
| 532 | * xterm.c (x_connection_signal): Remove; no longer needed | ||
| 533 | now that we use sigaction. | ||
| 534 | (x_connection_closed): No need to mess with sigmask now. | ||
| 535 | (x_initialize): No need to reset SIGPIPE handler here, since | ||
| 536 | init_signals does this for us now. | ||
| 537 | |||
| 538 | 2012-09-23 Jan Djärv <jan.h.d@swipnet.se> | ||
| 539 | |||
| 540 | * nsterm.m (ns_dumpglyphs_image): dr is a new rect to draw image into, | ||
| 541 | background rect may be larger (Bug#12245). | ||
| 542 | |||
| 543 | 2012-09-23 Chong Yidong <cyd@gnu.org> | ||
| 544 | |||
| 545 | * keyboard.c (timer_check): Avoid quitting during Fcopy_sequence. | ||
| 546 | |||
| 6 | 2012-09-22 Paul Eggert <eggert@cs.ucla.edu> | 547 | 2012-09-22 Paul Eggert <eggert@cs.ucla.edu> |
| 7 | 548 | ||
| 8 | * .gdbinit: Just stop at fatal_error_backtrace. | 549 | * .gdbinit: Just stop at fatal_error_backtrace. |
| @@ -30,8 +571,8 @@ | |||
| 30 | if it is defined. Arguments and return value changed. | 571 | if it is defined. Arguments and return value changed. |
| 31 | (valid_image_p, make_image): Callers changed. | 572 | (valid_image_p, make_image): Callers changed. |
| 32 | (xbm_type, xpm_type, pbm_type, png_type, jpeg_type, tiff_type) | 573 | (xbm_type, xpm_type, pbm_type, png_type, jpeg_type, tiff_type) |
| 33 | (gif_type, imagemagick_type, svg_type, gs_type): Add | 574 | (gif_type, imagemagick_type, svg_type, gs_type): |
| 34 | initialization functions. | 575 | Add initialization functions. |
| 35 | (Finit_image_library): Call lookup_image_type. | 576 | (Finit_image_library): Call lookup_image_type. |
| 36 | (CHECK_LIB_AVAILABLE): Macro deleted. | 577 | (CHECK_LIB_AVAILABLE): Macro deleted. |
| 37 | (lookup_image_type): Call define_image_type here, rather than via | 578 | (lookup_image_type): Call define_image_type here, rather than via |
| @@ -53,8 +594,8 @@ | |||
| 53 | * window.c (Fsplit_window_internal): Handle only Qt value of | 594 | * window.c (Fsplit_window_internal): Handle only Qt value of |
| 54 | Vwindow_combination_limit separately. | 595 | Vwindow_combination_limit separately. |
| 55 | (Qtemp_buffer_resize): New symbol. | 596 | (Qtemp_buffer_resize): New symbol. |
| 56 | (Vwindow_combination_limit): New default value. Rewrite | 597 | (Vwindow_combination_limit): New default value. |
| 57 | doc-string. | 598 | Rewrite doc-string. |
| 58 | 599 | ||
| 59 | 2012-09-22 Eli Zaretskii <eliz@gnu.org> | 600 | 2012-09-22 Eli Zaretskii <eliz@gnu.org> |
| 60 | 601 | ||
| @@ -153,7 +694,7 @@ | |||
| 153 | (Fx_create_frame): Call x_set_offset to correctly interpret | 694 | (Fx_create_frame): Call x_set_offset to correctly interpret |
| 154 | top_pos in geometry. | 695 | top_pos in geometry. |
| 155 | 696 | ||
| 156 | * frame.c (read_integer, XParseGeometry): Moved from w32xfns.c. | 697 | * frame.c (read_integer, XParseGeometry): Move from w32xfns.c. |
| 157 | (Fx_parse_geometry): If there is a space in string, call | 698 | (Fx_parse_geometry): If there is a space in string, call |
| 158 | Qns_parse_geometry, otherwise do as on other terms (Bug#12368). | 699 | Qns_parse_geometry, otherwise do as on other terms (Bug#12368). |
| 159 | 700 | ||
| @@ -254,8 +795,8 @@ | |||
| 254 | 795 | ||
| 255 | 2012-09-16 Martin Rudalics <rudalics@gmx.at> | 796 | 2012-09-16 Martin Rudalics <rudalics@gmx.at> |
| 256 | 797 | ||
| 257 | * window.c (Fwindow_parameter, Fset_window_parameter): Accept | 798 | * window.c (Fwindow_parameter, Fset_window_parameter): |
| 258 | any window as argument (Bug#12452). | 799 | Accept any window as argument (Bug#12452). |
| 259 | 800 | ||
| 260 | 2012-09-16 Jan Djärv <jan.h.d@swipnet.se> | 801 | 2012-09-16 Jan Djärv <jan.h.d@swipnet.se> |
| 261 | 802 | ||
| @@ -330,8 +871,8 @@ | |||
| 330 | 2012-09-14 Dmitry Antipov <dmantipov@yandex.ru> | 871 | 2012-09-14 Dmitry Antipov <dmantipov@yandex.ru> |
| 331 | 872 | ||
| 332 | Avoid out-of-range marker position (Bug#12426). | 873 | Avoid out-of-range marker position (Bug#12426). |
| 333 | * insdel.c (replace_range, replace_range_2): Adjust | 874 | * insdel.c (replace_range, replace_range_2): |
| 334 | markers before overlays, as suggested by comments. | 875 | Adjust markers before overlays, as suggested by comments. |
| 335 | (insert_1_both, insert_from_buffer_1, adjust_after_replace): | 876 | (insert_1_both, insert_from_buffer_1, adjust_after_replace): |
| 336 | Remove redundant check before calling offset_intervals. | 877 | Remove redundant check before calling offset_intervals. |
| 337 | 878 | ||
| @@ -630,8 +1171,8 @@ | |||
| 630 | in the internal border. | 1171 | in the internal border. |
| 631 | (x_set_window_size): Remove static variables and their usage. | 1172 | (x_set_window_size): Remove static variables and their usage. |
| 632 | (ns_redraw_scroll_bars): Fix NSTRACE arg. | 1173 | (ns_redraw_scroll_bars): Fix NSTRACE arg. |
| 633 | (ns_after_update_window_line, ns_draw_fringe_bitmap): Remove | 1174 | (ns_after_update_window_line, ns_draw_fringe_bitmap): |
| 634 | fringe/internal border adjustment (Bug#11052). | 1175 | Remove fringe/internal border adjustment (Bug#11052). |
| 635 | (ns_draw_fringe_bitmap): Make code more like other terms (xterm.c). | 1176 | (ns_draw_fringe_bitmap): Make code more like other terms (xterm.c). |
| 636 | (ns_draw_window_cursor): Remove fringe/internal border adjustment. | 1177 | (ns_draw_window_cursor): Remove fringe/internal border adjustment. |
| 637 | (ns_fix_rect_ibw): Remove. | 1178 | (ns_fix_rect_ibw): Remove. |
| @@ -848,8 +1389,8 @@ | |||
| 848 | (init_signals) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it; | 1389 | (init_signals) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it; |
| 849 | code moved here from emacs.c's main function. | 1390 | code moved here from emacs.c's main function. |
| 850 | * sysdep.c, syssignal.h (handle_on_main_thread): New function, | 1391 | * sysdep.c, syssignal.h (handle_on_main_thread): New function, |
| 851 | replacing the old SIGNAL_THREAD_CHECK. All uses changed. This | 1392 | replacing the old SIGNAL_THREAD_CHECK. All uses changed. |
| 852 | lets callers save and restore errno properly. | 1393 | This lets callers save and restore errno properly. |
| 853 | 1394 | ||
| 854 | 2012-09-05 Dmitry Antipov <dmantipov@yandex.ru> | 1395 | 2012-09-05 Dmitry Antipov <dmantipov@yandex.ru> |
| 855 | 1396 | ||
| @@ -1158,8 +1699,8 @@ | |||
| 1158 | * process.c: Include TERM_HEADER instead of listing all possible | 1699 | * process.c: Include TERM_HEADER instead of listing all possible |
| 1159 | window-system headers. | 1700 | window-system headers. |
| 1160 | 1701 | ||
| 1161 | * nsterm.h: Remove declarations now in frame.h. Define | 1702 | * nsterm.h: Remove declarations now in frame.h. |
| 1162 | FRAME_X_SCREEN, FRAME_X_VISUAL. | 1703 | Define FRAME_X_SCREEN, FRAME_X_VISUAL. |
| 1163 | 1704 | ||
| 1164 | * menu.c: Include TERM_HEADER instead of listing all possible | 1705 | * menu.c: Include TERM_HEADER instead of listing all possible |
| 1165 | window-system headers. | 1706 | window-system headers. |
| @@ -1355,8 +1896,8 @@ | |||
| 1355 | 1896 | ||
| 1356 | * nsterm.h (NSPanel): New class variable dialog_return. | 1897 | * nsterm.h (NSPanel): New class variable dialog_return. |
| 1357 | 1898 | ||
| 1358 | * nsmenu.m (initWithContentRect:styleMask:backing:defer:): Initialize | 1899 | * nsmenu.m (initWithContentRect:styleMask:backing:defer:): |
| 1359 | dialog_return. | 1900 | Initialize dialog_return. |
| 1360 | (windowShouldClose:): Use stop instead of stopModalWithCode. | 1901 | (windowShouldClose:): Use stop instead of stopModalWithCode. |
| 1361 | (clicked:): Ditto, and also set dialog_return (Bug#12258). | 1902 | (clicked:): Ditto, and also set dialog_return (Bug#12258). |
| 1362 | (timeout_handler:): Use stop instead of abortModal. Send a dummy | 1903 | (timeout_handler:): Use stop instead of abortModal. Send a dummy |