diff options
| author | Joakim Verona | 2012-09-28 10:01:27 +0200 |
|---|---|---|
| committer | Joakim Verona | 2012-09-28 10:01:27 +0200 |
| commit | 5fcc7035c884b4419a1619551222b5f28ad9906f (patch) | |
| tree | 8b85fa0b18603b47383794afd2607a2edc97dd99 /src/ChangeLog | |
| parent | be25526e5384268a6a834e701a194626ecc3ca53 (diff) | |
| parent | 5bc93c6718562a9819b4919b595281bf85689306 (diff) | |
| download | emacs-5fcc7035c884b4419a1619551222b5f28ad9906f.tar.gz emacs-5fcc7035c884b4419a1619551222b5f28ad9906f.zip | |
finally builds again
Diffstat (limited to 'src/ChangeLog')
| -rw-r--r-- | src/ChangeLog | 552 |
1 files changed, 538 insertions, 14 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index c3ce1ee1b0b..b0899d67ca8 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,527 @@ | |||
| 1 | 2012-09-27 Paul Eggert <eggert@cs.ucla.edu> | ||
| 2 | |||
| 3 | Check more robustly for timer_settime. | ||
| 4 | * Makefile.in (LIB_TIMER_TIME): New macro. | ||
| 5 | (LIBES): Add it. | ||
| 6 | * atimer.c (alarm_timer, alarm_timer_ok, set_alarm, init_atimer): | ||
| 7 | Use HAVE_TIMER_SETTIME, not SIGEV_SIGNAL, to decide whether to | ||
| 8 | call timer_settime. | ||
| 9 | |||
| 10 | 2012-09-26 Tomohiro Matsuyama <tomo@cx4a.org> | ||
| 11 | |||
| 12 | * profiler.c (Fprofiler_cpu_start): Remove unnecessary flag SA_SIGINFO. | ||
| 13 | |||
| 14 | 2012-09-26 Juanma Barranquero <lekktu@gmail.com> | ||
| 15 | |||
| 16 | * makefile.w32-in ($(BLD)/profiler.$(O)): Update dependencies. | ||
| 17 | |||
| 18 | 2012-09-26 Paul Eggert <eggert@cs.ucla.edu> | ||
| 19 | |||
| 20 | * character.h (MAYBE_UNIFY_CHAR): Remove. | ||
| 21 | * charset.c, charset.h (maybe_unify_char): Now static. | ||
| 22 | * charset.c (decode_char): Use maybe_unify_char, not MAYBE_UNIFY_CHAR. | ||
| 23 | Since this stuff is now private to charset.c, there's no need for | ||
| 24 | a public macro and no need to inline by hand. | ||
| 25 | |||
| 26 | 2012-09-26 Tomohiro Matsuyama <tomo@cx4a.org> | ||
| 27 | Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 28 | Juanma Barranquero <lekktu@gmail.com> | ||
| 29 | |||
| 30 | * profiler.c: New file. | ||
| 31 | * Makefile.in (base_obj): Add profiler.o. | ||
| 32 | * makefile.w32-in (OBJ2, GLOBAL_SOURCES): Add profiler.c. | ||
| 33 | ($(BLD)/profiler.$(O)): New target. | ||
| 34 | * emacs.c (main): Call syms_of_profiler. | ||
| 35 | * alloc.c (Qautomatic_gc): New constant. | ||
| 36 | (MALLOC_PROBE): New macro. | ||
| 37 | (xmalloc, xzalloc, xrealloc, lisp_malloc, lisp_align_malloc): Use it. | ||
| 38 | (total_bytes_of_live_objects): New function. | ||
| 39 | (Fgarbage_collect): Use it. Record itself in backtrace_list. | ||
| 40 | Call malloc_probe for the memory profiler. | ||
| 41 | (syms_of_alloc): Define Qautomatic_gc. | ||
| 42 | * eval.c (eval_sub, Ffuncall): Reorder assignments to avoid | ||
| 43 | race condition. | ||
| 44 | (struct backtrace): Move definition... | ||
| 45 | * lisp.h (struct backtrace): ..here. | ||
| 46 | (Qautomatic_gc, profiler_memory_running): Declare vars. | ||
| 47 | (malloc_probe, syms_of_profiler): Declare functions. | ||
| 48 | * xdisp.c (Qautomatic_redisplay): New constant. | ||
| 49 | (redisplay_internal): Record itself in backtrace_list. | ||
| 50 | (syms_of_xdisp): Define Qautomatic_redisplay. | ||
| 51 | |||
| 52 | 2012-09-25 Juanma Barranquero <lekktu@gmail.com> | ||
| 53 | |||
| 54 | * makefile.w32-in ($(BLD)/callproc.$(O)): Update dependencies. | ||
| 55 | |||
| 56 | 2012-09-25 Paul Eggert <eggert@cs.ucla.edu> | ||
| 57 | |||
| 58 | Prefer POSIX timers if available. | ||
| 59 | They avoid a race if the timer is too close to the current time. | ||
| 60 | * atimer.c (alarm_timer, alarm_timer_ok) [SIGEV_SIGNAL]: New static vars. | ||
| 61 | (set_alarm) [SIGEV_SIGNAL]: Use POSIX timers if available. | ||
| 62 | (init_atimer) [SIGEV_SIGNAL]: Initialize them. | ||
| 63 | |||
| 64 | 2012-09-25 Eli Zaretskii <eliz@gnu.org> | ||
| 65 | |||
| 66 | * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY): Make it an alias of | ||
| 67 | CHAR_STRING_ADVANCE. | ||
| 68 | (STRING_CHAR_ADVANCE_NO_UNIFY): Make it an alias of | ||
| 69 | STRING_CHAR_ADVANCE. | ||
| 70 | |||
| 71 | 2012-09-25 Juanma Barranquero <lekktu@gmail.com> | ||
| 72 | |||
| 73 | Move Vlibrary_cache to emacs.c and reset before dumping. | ||
| 74 | |||
| 75 | * lisp.h (reset_image_types): Declare. | ||
| 76 | [WINDOWSNT] (Vlibrary_cache): Declare. | ||
| 77 | |||
| 78 | * image.c (reset_image_types): New function. | ||
| 79 | |||
| 80 | * emacs.c [WINDOWSNT] (Vlibrary_cache): Move from w32.c. | ||
| 81 | (syms_of_emacs) [WINDOWSNT] <Vlibrary_cache>: Initialize and staticpro. | ||
| 82 | (Fdump_emacs): Reset Vlibrary_cache and image_types. | ||
| 83 | |||
| 84 | * w32.c (Vlibrary_cache): Do not define; moved to emacs.c | ||
| 85 | (globals_of_w32) <Vlibrary_cache>: Do not initialize. | ||
| 86 | |||
| 87 | * w32.h (Vlibrary_cache): Do not declare. | ||
| 88 | |||
| 89 | 2012-09-25 Eli Zaretskii <eliz@gnu.org> | ||
| 90 | |||
| 91 | * w32proc.c (sys_signal): Handle all signals defined by the | ||
| 92 | MS-Windows runtime, not just SIGCHLD. Actually install the signal | ||
| 93 | handlers for signals supported by Windows. Don't override | ||
| 94 | term_ntproc as the handler for SIGABRT. | ||
| 95 | (sigaction): Rewrite to call sys_signal instead of duplicating its | ||
| 96 | code. | ||
| 97 | (sys_kill): Improve commentary. | ||
| 98 | |||
| 99 | * w32.c (term_ntproc): Accept (and ignore) one argument, for | ||
| 100 | consistency with a signature of a signal handler. All callers | ||
| 101 | changed. | ||
| 102 | (init_ntproc): Accept an argument DUMPING. If dumping, don't | ||
| 103 | install term_ntproc as a signal handler for SIGABRT, as that | ||
| 104 | should be done by the dumped Emacs. | ||
| 105 | |||
| 106 | * w32.h (init_ntproc, term_ntproc): Adjust prototypes. | ||
| 107 | |||
| 108 | * w32select.c (term_w32select): Protect against repeated | ||
| 109 | invocation by setting clipboard_owner to NULL after calling | ||
| 110 | DestroyWindow. | ||
| 111 | |||
| 112 | * emacs.c (shut_down_emacs, main): Adapt the calls to init_ntproc | ||
| 113 | and term_ntproc to their modified signatures. | ||
| 114 | |||
| 115 | * character.c (char_string, string_char): Remove calls to | ||
| 116 | MAYBE_UNIFY_CHAR. See the discussion starting at | ||
| 117 | http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00433.html | ||
| 118 | for the details. | ||
| 119 | |||
| 120 | 2012-09-25 Chong Yidong <cyd@gnu.org> | ||
| 121 | |||
| 122 | * xdisp.c (mode_line_inverse_video): Delete obsolete variable. | ||
| 123 | |||
| 124 | 2012-09-24 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 125 | |||
| 126 | * bytecode.c (exec_byte_code): Signal an error instead of aborting, | ||
| 127 | when encountering an unknown bytecode. | ||
| 128 | |||
| 129 | 2012-09-24 Paul Eggert <eggert@cs.ucla.edu> | ||
| 130 | |||
| 131 | image.c, indent.c: Use bool for booleans. | ||
| 132 | * dispextern.h (struct image_type): Members valid_p, load, init | ||
| 133 | now return bool, not int. All uses changed. | ||
| 134 | * image.c: Omit unnecessary static decls. | ||
| 135 | (x_create_bitmap_mask, x_build_heuristic_mask): | ||
| 136 | Return void, not int, since callers don't care about the return value. | ||
| 137 | (x_create_bitmap_mask, define_image_type, valid_image_p) | ||
| 138 | (struct image_keyword, parse_image_spec, image_spec_value) | ||
| 139 | (check_image_size, image_background) | ||
| 140 | (image_background_transparent, x_clear_image_1) | ||
| 141 | (postprocess_image, lookup_image, x_check_image_size) | ||
| 142 | (x_create_x_image_and_pixmap, xbm_image_p) | ||
| 143 | (Create_Pixmap_From_Bitmap_Data, xbm_read_bitmap_data) | ||
| 144 | (xbm_load_image, xbm_file_p, xbm_load, xpm_lookup_color) | ||
| 145 | (init_xpm_functions, xpm_valid_color_symbols_p, xpm_image_p) | ||
| 146 | (xpm_load, xpm_load_image, lookup_rgb_color, lookup_pixel_color) | ||
| 147 | (x_to_xcolors, x_build_heuristic_mask, pbm_image_p, pbm_load) | ||
| 148 | (png_image_p, init_png_functions, png_load_body, png_load) | ||
| 149 | (jpeg_image_p, init_jpeg_functions, jpeg_load_body, jpeg_load) | ||
| 150 | (tiff_image_p, init_tiff_functions, tiff_load, gif_image_p) | ||
| 151 | (init_gif_functions, gif_load, imagemagick_image_p) | ||
| 152 | (imagemagick_load_image, imagemagick_load, svg_image_p) | ||
| 153 | (init_svg_functions, svg_load, svg_load_image, gs_image_p) | ||
| 154 | (gs_load): | ||
| 155 | * nsimage.m (ns_load_image): | ||
| 156 | * nsterm.m (ns_defined_color): | ||
| 157 | * xfaces.c (tty_lookup_color, tty_defined_color, defined_color): | ||
| 158 | * xfns.c (x_defined_color): | ||
| 159 | * xterm.c (x_alloc_lighter_color_for_widget) | ||
| 160 | (x_alloc_nearest_color_1, x_alloc_nearest_color) | ||
| 161 | (x_alloc_lighter_color): | ||
| 162 | * indent.c (disptab_matches_widthtab, current_column) | ||
| 163 | (scan_for_column, string_display_width, indented_beyond_p) | ||
| 164 | (compute_motion, vmotion, Fvertical_motion): | ||
| 165 | Use bool for booleans. | ||
| 166 | |||
| 167 | 2012-09-24 Chong Yidong <cyd@gnu.org> | ||
| 168 | |||
| 169 | * chartab.c (Fset_char_table_default): Obsolete function removed. | ||
| 170 | |||
| 171 | 2012-09-23 Paul Eggert <eggert@cs.ucla.edu> | ||
| 172 | |||
| 173 | Move pid_t related decls out of lisp.h. | ||
| 174 | * lisp.h, syswait.h (record_child_status_change, wait_for_termination) | ||
| 175 | (interruptible_wait_for_termination): | ||
| 176 | Move these decls from lisp.h to syswait.h, since they use pid_t. | ||
| 177 | Needed on FreeBSD; see Herbert J. Skuhra in | ||
| 178 | <http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00571.html>. | ||
| 179 | * callproc.c: Include syswait.h. | ||
| 180 | |||
| 181 | gnutls.c, gtkutil.c: Use bool for boolean. | ||
| 182 | * gnutls.c (gnutls_global_initialized, init_gnutls_functions) | ||
| 183 | (emacs_gnutls_handle_error): | ||
| 184 | * gtkutil.c (xg_check_special_colors, xg_prepare_tooltip) | ||
| 185 | (xg_hide_tooltip, xg_create_frame_widgets) | ||
| 186 | (create_dialog, xg_uses_old_file_dialog) | ||
| 187 | (xg_get_file_with_chooser, xg_get_file_with_selection) | ||
| 188 | (xg_get_file_name, xg_have_tear_offs, create_menus, xg_create_widget) | ||
| 189 | (xg_item_label_same_p, xg_update_menubar) | ||
| 190 | (xg_modify_menubar_widgets, xg_event_is_for_menubar) | ||
| 191 | (xg_ignore_gtk_scrollbar, xg_set_toolkit_scroll_bar_thumb) | ||
| 192 | (xg_event_is_for_scrollbar, xg_pack_tool_bar, xg_make_tool_item) | ||
| 193 | (is_box_type, xg_tool_item_stale_p, xg_update_tool_bar_sizes) | ||
| 194 | (update_frame_tool_bar, free_frame_tool_bar): | ||
| 195 | * gtkutil.c, w32term.c, xterm.c (x_wm_set_size_hint): | ||
| 196 | * nsmenu.m (ns_update_menubar): | ||
| 197 | * nsmenu.m, w32menu.c, xmenu.c (set_frame_menubar): | ||
| 198 | * xfns.c (Fx_show_tip) [USE_GTK]: | ||
| 199 | Use bool for boolean. | ||
| 200 | * gtkutil.c (xg_update_frame_menubar): | ||
| 201 | * xmenu.c (update_frame_menubar): | ||
| 202 | Return void, not int, since caller ignores return value. | ||
| 203 | * gtkutil.c (xg_change_toolbar_position): | ||
| 204 | Return void, not 1. | ||
| 205 | |||
| 206 | 2012-09-23 Juanma Barranquero <lekktu@gmail.com> | ||
| 207 | |||
| 208 | * makefile.w32-in (BLOCKINPUT_H): Remove. | ||
| 209 | (SYSSIGNAL_H): New macro. | ||
| 210 | ($(BLD)/alloc.$(O), $(BLD)/atimer.$(O), $(BLD)/buffer.$(O)) | ||
| 211 | ($(BLD)/callproc.$(O), $(BLD)/data.$(O), $(BLD)/dired.$(O)) | ||
| 212 | ($(BLD)/dispnew.$(O), $(BLD)/editfns.$(O), $(BLD)/emacs.$(O)) | ||
| 213 | ($(BLD)/eval.$(O), $(BLD)/fileio.$(O), $(BLD)/floatfns.$(O)) | ||
| 214 | ($(BLD)/fns.$(O), $(BLD)/fontset.$(O), $(BLD)/frame.$(O)) | ||
| 215 | ($(BLD)/fringe.$(O), $(BLD)/image.$(O), $(BLD)/insdel.$(O)) | ||
| 216 | ($(BLD)/keyboard.$(O), $(BLD)/keymap.$(O), $(BLD)/lread.$(O)) | ||
| 217 | ($(BLD)/menu.$(O), $(BLD)/w32inevt.$(O), $(BLD)/w32proc.$(O)) | ||
| 218 | ($(BLD)/print.$(O), $(BLD)/process.$(O), $(BLD)/ralloc.$(O)) | ||
| 219 | ($(BLD)/search.$(O), $(BLD)/sound.$(O), $(BLD)/sysdep.$(O)) | ||
| 220 | ($(BLD)/term.$(O), $(BLD)/window.$(O), $(BLD)/xdisp.$(O)) | ||
| 221 | ($(BLD)/xfaces.$(O), $(BLD)/w32fns.$(O), $(BLD)/w32menu.$(O)) | ||
| 222 | ($(BLD)/w32term.$(O), $(BLD)/w32select.$(O), $(BLD)/w32reg.$(O)) | ||
| 223 | ($(BLD)/w32xfns.$(O)): Update dependencies. | ||
| 224 | |||
| 225 | 2012-09-23 Eli Zaretskii <eliz@gnu.org> | ||
| 226 | |||
| 227 | * .gdbinit: Set breakpoint on terminate_due_to_signal, not on | ||
| 228 | fatal_error_backtrace. | ||
| 229 | |||
| 230 | * w32proc.c (sys_kill): Undo last change: don't do anything when | ||
| 231 | invoked to deliver SIGABRT to our own process. This is now | ||
| 232 | handled by emacs_raise. | ||
| 233 | |||
| 234 | 2012-09-23 Juanma Barranquero <lekktu@gmail.com> | ||
| 235 | |||
| 236 | * w32term.c (w32_read_socket): Remove leftover reference to | ||
| 237 | interrupt_input_pending. | ||
| 238 | |||
| 239 | 2012-09-23 Paul Eggert <eggert@cs.ucla.edu> | ||
| 240 | |||
| 241 | Do not use SA_NODEFER. | ||
| 242 | Problem reported by Dani Moncayo in | ||
| 243 | <http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00557.html>. | ||
| 244 | * alloc.c (die): | ||
| 245 | * sysdep.c (emacs_abort): Do not reset signal handler. | ||
| 246 | * emacs.c (terminate_due_to_signal): Reset signal handler here. | ||
| 247 | * sysdep.c (init_signals): Do not use SA_NODEFER. It wasn't | ||
| 248 | wanted even on POSIXish hosts, and it doesn't work on Windows. | ||
| 249 | |||
| 250 | 2012-09-23 Jan Djärv <jan.h.d@swipnet.se> | ||
| 251 | |||
| 252 | * xterm.c (x_term_init): Call fixup_locale before and after calling | ||
| 253 | gtk_init (Bug#12392). | ||
| 254 | |||
| 255 | 2012-09-23 Chong Yidong <cyd@gnu.org> | ||
| 256 | |||
| 257 | * w32.c (w32_delayed_load): Remove LIBRARIES argument; always use | ||
| 258 | Vdynamic_library_alist. | ||
| 259 | |||
| 260 | * gnutls.c (init_gnutls_functions): Caller changed; remove arg. | ||
| 261 | (Fgnutls_available_p): Caller changed. | ||
| 262 | |||
| 263 | * xml.c (init_libxml2_functions, Flibxml_parse_html_region) | ||
| 264 | (Flibxml_parse_xml_region): Likewise. | ||
| 265 | |||
| 266 | * dispextern.h (struct image_type): Remove arg from init function. | ||
| 267 | |||
| 268 | * image.c (Finit_image_library, lookup_image_type) | ||
| 269 | (define_image_type): Remove now-unneeded second arg. | ||
| 270 | (init_xpm_functions, init_png_functions, init_jpeg_functions) | ||
| 271 | (init_tiff_functions, init_gif_functions, init_svg_functions): | ||
| 272 | Arglist and w32_delayed_load calling convention changed. | ||
| 273 | (gs_type): Remove init_gs_functions; there is no such function. | ||
| 274 | (valid_image_p, make_image): Fix caller to lookup_image_type. | ||
| 275 | |||
| 276 | 2012-09-23 Paul Eggert <eggert@cs.ucla.edu> | ||
| 277 | |||
| 278 | Simplify and avoid signal-handling races (Bug#12471). | ||
| 279 | * alloc.c (die): | ||
| 280 | * sysdep.c (emacs_abort) [HAVE_NTGUI]: | ||
| 281 | Avoid recursive loop if there's a fatal error in the function itself. | ||
| 282 | * atimer.c (pending_atimers): | ||
| 283 | * blockinput.h: Don't include "atimer.h"; no longer needed. | ||
| 284 | (interrupt_input_pending): Remove. All uses removed. | ||
| 285 | pending_signals now counts both atimers and ordinary interrupts. | ||
| 286 | This is less racy than having three separate pending-signal flags. | ||
| 287 | (block_input, unblock_input, totally_unblock_input, unblock_input_to) | ||
| 288 | (input_blocked_p): | ||
| 289 | Rename from their upper-case counterparts BLOCK_INPUT, | ||
| 290 | UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT, UNBLOCK_INPUT_TO, | ||
| 291 | INPUT_BLOCKED_P, and turn into functions. All uses changed. | ||
| 292 | This makes it easier to access volatile variables more accurately. | ||
| 293 | (BLOCK_INPUT_RESIGNAL): Remove. All uses replaced by unblock_input (). | ||
| 294 | (input_blocked_p): Prefer this to 'interrupt_input_blocked', as | ||
| 295 | that's more reliable if the code is buggy and sets | ||
| 296 | interrupt_input_blocked to a negative value. All uses changed. | ||
| 297 | * atimer.c (deliver_alarm_signal): | ||
| 298 | Remove. No need to deliver this to the parent; any thread can | ||
| 299 | handle this signal now. All uses replaced by underlying handler. | ||
| 300 | * atimer.c (turn_on_atimers): | ||
| 301 | * dispnew.c (handle_window_change_signal): | ||
| 302 | * emacs.c (handle_danger_signal): | ||
| 303 | * keyboard.c (kbd_buffer_get_event): | ||
| 304 | Don't reestablish signal handler; not needed with sigaction. | ||
| 305 | * blockinput.h (UNBLOCK_INPUT_TO, TOTALLY_UNBLOCK_INPUT) | ||
| 306 | (UNBLOCK_INPUT_TO): | ||
| 307 | Rework to avoid unnecessary accesses to volatile variables. | ||
| 308 | (UNBLOCK_INPUT_TO): Now a function. | ||
| 309 | (totally_unblock_input, unblock_input): New decls. | ||
| 310 | * data.c (handle_arith_signal, deliver_arith_signal): Move to sysdep.c | ||
| 311 | (init_data): Remove. Necessary stuff now done in init_signal. | ||
| 312 | * emacs.c, xdisp.c: Include "atimer.h", since we invoke atimer functions. | ||
| 313 | * emacs.c (handle_fatal_signal, deliver_fatal_signal): Move to sysdep.c. | ||
| 314 | (fatal_error_code): Remove; no longer needed. | ||
| 315 | (terminate_due_to_signal): Rename from fatal_error_backtrace, since | ||
| 316 | it doesn't always backtrace. All uses changed. No need to reset | ||
| 317 | signal to default, since sigaction and/or die does that for us now. | ||
| 318 | Use emacs_raise (FOO), not kill (getpid (), FOO). | ||
| 319 | (main): Check more-accurately whether we're dumping. | ||
| 320 | Move fatal-error setup to sysdep.c | ||
| 321 | * floatfns.c: Do not include "syssignal.h"; no longer needed. | ||
| 322 | * gtkutil.c (xg_get_file_name, xg_get_font): | ||
| 323 | Remove no-longer-needed signal-mask manipulation. | ||
| 324 | * keyboard.c, process.c (POLL_FOR_INPUT): | ||
| 325 | Don't depend on USE_ASYNC_EVENTS, a symbol that is never defined. | ||
| 326 | * keyboard.c (read_avail_input): Remove. | ||
| 327 | All uses replaced by gobble_input. | ||
| 328 | (Ftop_level): Use TOTALLY_UNBLOCK_INPUT rather than open code. | ||
| 329 | (kbd_buffer_store_event_hold, gobble_input): | ||
| 330 | (record_asynch_buffer_change) [USABLE_SIGIO]: | ||
| 331 | (store_user_signal_events): | ||
| 332 | No need to mess with signal mask. | ||
| 333 | (gobble_input): If blocking input and there are terminals, simply | ||
| 334 | set pending_signals to 1 and return. All hooks changed to not | ||
| 335 | worry about whether input is blocked. | ||
| 336 | (process_pending_signals): Clear pending_signals before processing | ||
| 337 | them, in case a signal comes in while we're processing. | ||
| 338 | By convention callers now test pending_signals before calling us. | ||
| 339 | (UNBLOCK_INPUT_TO, unblock_input, totally_unblock_input): | ||
| 340 | New functions, to support changes to blockinput.h. | ||
| 341 | (handle_input_available_signal): Now extern. | ||
| 342 | (reinvoke_input_signal): Remove. All uses replaced by | ||
| 343 | handle_async_input. | ||
| 344 | (quit_count): Now volatile, since a signal handler uses it. | ||
| 345 | (handle_interrupt): Now takes bool IN_SIGNAL_HANDLER as arg. | ||
| 346 | All callers changed. Block SIGINT only if not already blocked. | ||
| 347 | Clear sigmask reliably, even if Fsignal returns, which it can. | ||
| 348 | Omit unnecessary accesses to volatile var. | ||
| 349 | (quit_throw_to_read_char): No need to restore sigmask. | ||
| 350 | * keyboard.c (gobble_input, handle_user_signal): | ||
| 351 | * process.c (wait_reading_process_output): | ||
| 352 | Call signal-handling code rather than killing ourselves. | ||
| 353 | * lisp.h: Include <float.h>, for... | ||
| 354 | (IEEE_FLOATING_POINT): New macro, moved here to avoid duplication. | ||
| 355 | (pending_signals): Now volatile. | ||
| 356 | (syms_of_data): Now const if IEEE floating point. | ||
| 357 | (handle_input_available_signal) [USABLE_SIGIO]: | ||
| 358 | (terminate_due_to_signal, record_child_status_change): New decls. | ||
| 359 | * process.c (create_process): Avoid disaster if memory is exhausted | ||
| 360 | while we're processing a vfork, by tightening the critical section | ||
| 361 | around the vfork. | ||
| 362 | (send_process_frame, process_sent_to, handle_pipe_signal) | ||
| 363 | (deliver_pipe_signal): Remove. No longer needed, as Emacs now | ||
| 364 | ignores SIGPIPE. | ||
| 365 | (send_process): No need for setjmp/longjmp any more, since the | ||
| 366 | SIGPIPE stuff is now gone. Instead, report an error if errno | ||
| 367 | is EPIPE. | ||
| 368 | (record_child_status_change): Now extern. PID and W are now args. | ||
| 369 | Return void, not bool. All callers changed. | ||
| 370 | * sysdep.c (wait_debugging) [(BSD_SYSTEM || HPUX) && !defined (__GNU__)]: | ||
| 371 | Remove. All uses removed. This bug should be fixed now in a | ||
| 372 | different way. | ||
| 373 | (wait_for_termination_1): Use waitpid rather than sigsuspend, | ||
| 374 | and record the child status change directly. This avoids the | ||
| 375 | need to futz with the signal mask. | ||
| 376 | (process_fatal_action): Move here from emacs.c. | ||
| 377 | (emacs_sigaction_flags): New function, containing | ||
| 378 | much of what used to be in emacs_sigaction_init. | ||
| 379 | (emacs_sigaction_init): Use it. Block nonfatal system signals that are | ||
| 380 | caught by emacs, to make races less likely. | ||
| 381 | (deliver_process_signal): Rename from handle_on_main_thread. | ||
| 382 | All uses changed. | ||
| 383 | (BACKTRACE_LIMIT_MAX): Now at top level. | ||
| 384 | (thread_backtrace_buffer, threadback_backtrace_pointers): | ||
| 385 | New static vars. | ||
| 386 | (deliver_thread_signal, deliver_fatal_thread_signal): | ||
| 387 | New functions, for more-accurate delivery of thread-specific signals. | ||
| 388 | (handle_fatal_signal, deliver_fatal_signal): Move here from emacs.c. | ||
| 389 | (deliver_arith_signal): Handle in this thread, not | ||
| 390 | in the main thread, since it's triggered by this thread. | ||
| 391 | (maybe_fatal_sig): New function. | ||
| 392 | (init_signals): New arg DUMPING so that we can be more accurate | ||
| 393 | about whether we're dumping. Caller changed. | ||
| 394 | Treat thread-specific signals differently from process-general signals. | ||
| 395 | Block all signals while handling fatal error; that's safer. | ||
| 396 | xsignal from SIGFPE only on non-IEEE hosts, treating it as fatal | ||
| 397 | on IEEE hosts. | ||
| 398 | When batch, ignore SIGHUP, SIGINT, SIGTERM if they were already ignored. | ||
| 399 | Ignore SIGPIPE unless batch. | ||
| 400 | (emacs_backtrace): Output backtrace for the appropriate thread, | ||
| 401 | which is not necessarily the main thread. | ||
| 402 | * syssignal.h: Include <stdbool.h>. | ||
| 403 | (emacs_raise): New macro. | ||
| 404 | * xterm.c (x_connection_signal): Remove; no longer needed | ||
| 405 | now that we use sigaction. | ||
| 406 | (x_connection_closed): No need to mess with sigmask now. | ||
| 407 | (x_initialize): No need to reset SIGPIPE handler here, since | ||
| 408 | init_signals does this for us now. | ||
| 409 | |||
| 410 | 2012-09-23 Jan Djärv <jan.h.d@swipnet.se> | ||
| 411 | |||
| 412 | * nsterm.m (ns_dumpglyphs_image): dr is a new rect to draw image into, | ||
| 413 | background rect may be larger (Bug#12245). | ||
| 414 | |||
| 415 | 2012-09-23 Chong Yidong <cyd@gnu.org> | ||
| 416 | |||
| 417 | * keyboard.c (timer_check): Avoid quitting during Fcopy_sequence. | ||
| 418 | |||
| 419 | 2012-09-22 Paul Eggert <eggert@cs.ucla.edu> | ||
| 420 | |||
| 421 | * .gdbinit: Just stop at fatal_error_backtrace. | ||
| 422 | See Stefan Monnier's request in | ||
| 423 | <http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00549.html>. | ||
| 424 | Remove no-longer-used query of system type. | ||
| 425 | |||
| 426 | 2012-09-22 Chong Yidong <cyd@gnu.org> | ||
| 427 | |||
| 428 | * search.c (Freplace_match): Doc fix (Bug#12325). | ||
| 429 | |||
| 430 | * minibuf.c (Finternal_complete_buffer): Doc fix (Bug#12391). | ||
| 431 | |||
| 432 | * editfns.c (Fline_beginning_position): Doc fix (Bug#12416). | ||
| 433 | (Fline_end_position): Doc fix. | ||
| 434 | |||
| 435 | * cmds.c (Fforward_char, Fbackward_char): Doc fix (Bug#12414). | ||
| 436 | |||
| 437 | 2012-09-22 Chong Yidong <cyd@gnu.org> | ||
| 438 | |||
| 439 | * dispextern.h (struct image_type): Add new slot, storing a type | ||
| 440 | initialization function. | ||
| 441 | |||
| 442 | * image.c (define_image_type): Call the image initializer function | ||
| 443 | if it is defined. Arguments and return value changed. | ||
| 444 | (valid_image_p, make_image): Callers changed. | ||
| 445 | (xbm_type, xpm_type, pbm_type, png_type, jpeg_type, tiff_type) | ||
| 446 | (gif_type, imagemagick_type, svg_type, gs_type): | ||
| 447 | Add initialization functions. | ||
| 448 | (Finit_image_library): Call lookup_image_type. | ||
| 449 | (CHECK_LIB_AVAILABLE): Macro deleted. | ||
| 450 | (lookup_image_type): Call define_image_type here, rather than via | ||
| 451 | Finit_image_library, and without using CHECK_LIB_AVAILABLE. | ||
| 452 | (syms_of_image): Move define_image_type calls for xbm_type and | ||
| 453 | pbm_type to lookup_image_type. | ||
| 454 | |||
| 455 | 2012-09-22 Eli Zaretskii <eliz@gnu.org> | ||
| 456 | |||
| 457 | * keyboard.c (timer_check_2): Move calculation of 'timers' and | ||
| 458 | 'idle_timers' from here ... | ||
| 459 | (timer_check): ... to here. Use Fcopy_sequence to copy the timer | ||
| 460 | lists, to avoid infloops when the timer does something stupid, | ||
| 461 | like reinvoke itself with the same or smaller time-out. | ||
| 462 | (Bug#12447) | ||
| 463 | |||
| 464 | 2012-09-22 Martin Rudalics <rudalics@gmx.at> | ||
| 465 | |||
| 466 | * window.c (Fsplit_window_internal): Handle only Qt value of | ||
| 467 | Vwindow_combination_limit separately. | ||
| 468 | (Qtemp_buffer_resize): New symbol. | ||
| 469 | (Vwindow_combination_limit): New default value. | ||
| 470 | Rewrite doc-string. | ||
| 471 | |||
| 472 | 2012-09-22 Eli Zaretskii <eliz@gnu.org> | ||
| 473 | |||
| 474 | * xdisp.c (next_overlay_string): Initialize it->end_charpos for | ||
| 475 | the new overlay string. (Bug#10159) | ||
| 476 | |||
| 477 | 2012-09-22 Paul Eggert <eggert@cs.ucla.edu> | ||
| 478 | |||
| 479 | * emacs.c (shut_down_emacs): Don't assume stderr is buffered, | ||
| 480 | or that fprintf is async-signal-safe. POSIX doesn't require | ||
| 481 | either assumption. | ||
| 482 | |||
| 483 | 2012-09-22 Chong Yidong <cyd@gnu.org> | ||
| 484 | |||
| 485 | * buffer.c (Fset_buffer_modified_p): Handle indirect buffers | ||
| 486 | (Bug#8207). | ||
| 487 | |||
| 488 | 2012-09-22 Kenichi Handa <handa@gnu.org> | ||
| 489 | |||
| 490 | * composite.c (composition_reseat_it): Handle the case that a | ||
| 491 | grapheme cluster is not covered by a single font (Bug#12352). | ||
| 492 | |||
| 493 | 2012-09-21 Chong Yidong <cyd@gnu.org> | ||
| 494 | |||
| 495 | * image.c (define_image_type): Avoid adding duplicate types to | ||
| 496 | image_types (Bug#12463). Suggested by Jörg Walter. | ||
| 497 | |||
| 498 | 2012-09-21 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 499 | |||
| 500 | * unexmacosx.c: Define LC_DATA_IN_CODE if not defined. | ||
| 501 | (print_load_command_name): Add case LC_DATA_IN_CODE. | ||
| 502 | (dump_it) [LC_DATA_IN_CODE]: Call copy_linkedit_data. | ||
| 503 | |||
| 504 | 2012-09-21 Glenn Morris <rgm@gnu.org> | ||
| 505 | |||
| 506 | * eval.c (Frun_hook_with_args_until_success) | ||
| 507 | (Frun_hook_with_args_until_failure): Doc fixes. (Bug#12393) | ||
| 508 | |||
| 509 | 2012-09-21 Andreas Schwab <schwab@linux-m68k.org> | ||
| 510 | |||
| 511 | * fileio.c (Ffile_selinux_context): Only call freecon when | ||
| 512 | lgetfilecon succeeded. | ||
| 513 | (Fset_file_selinux_context): Likewise. (Bug#12444) | ||
| 514 | |||
| 515 | 2012-09-21 Eli Zaretskii <eliz@gnu.org> | ||
| 516 | |||
| 517 | * xdisp.c (try_window_reusing_current_matrix): Under bidi | ||
| 518 | reordering, locate the cursor by calling set_cursor_from_row; if | ||
| 519 | that fails, clear the desired glyph matrix before returning a | ||
| 520 | failure indication to the caller. Fixes leaving garbled display | ||
| 521 | when fast scrolling with a down-key. (Bug#12403) | ||
| 522 | (compute_stop_pos_backwards): Fix a typo that caused crashes while | ||
| 523 | scrolling through multibyte text. | ||
| 524 | |||
| 1 | 2012-09-20 Stefan Monnier <monnier@iro.umontreal.ca> | 525 | 2012-09-20 Stefan Monnier <monnier@iro.umontreal.ca> |
| 2 | 526 | ||
| 3 | * alloc.c (mark_object) <PVEC_WINDOW>: Mark prev/next_buffers *after* | 527 | * alloc.c (mark_object) <PVEC_WINDOW>: Mark prev/next_buffers *after* |
| @@ -42,7 +566,7 @@ | |||
| 42 | (Fx_create_frame): Call x_set_offset to correctly interpret | 566 | (Fx_create_frame): Call x_set_offset to correctly interpret |
| 43 | top_pos in geometry. | 567 | top_pos in geometry. |
| 44 | 568 | ||
| 45 | * frame.c (read_integer, XParseGeometry): Moved from w32xfns.c. | 569 | * frame.c (read_integer, XParseGeometry): Move from w32xfns.c. |
| 46 | (Fx_parse_geometry): If there is a space in string, call | 570 | (Fx_parse_geometry): If there is a space in string, call |
| 47 | Qns_parse_geometry, otherwise do as on other terms (Bug#12368). | 571 | Qns_parse_geometry, otherwise do as on other terms (Bug#12368). |
| 48 | 572 | ||
| @@ -131,7 +655,7 @@ | |||
| 131 | (clean): Simplify nextstep entry. | 655 | (clean): Simplify nextstep entry. |
| 132 | * ns.mk: Remove file. | 656 | * ns.mk: Remove file. |
| 133 | 657 | ||
| 134 | 2012-09-16 Kenichi Handa <handa@gnu.org> | 658 | 2012-09-17 Kenichi Handa <handa@gnu.org> |
| 135 | 659 | ||
| 136 | * font.c (Ffont_shape_gstring): Fix previous change; GLYPHs may | 660 | * font.c (Ffont_shape_gstring): Fix previous change; GLYPHs may |
| 137 | not covert the last few charactes. | 661 | not covert the last few charactes. |
| @@ -143,8 +667,8 @@ | |||
| 143 | 667 | ||
| 144 | 2012-09-16 Martin Rudalics <rudalics@gmx.at> | 668 | 2012-09-16 Martin Rudalics <rudalics@gmx.at> |
| 145 | 669 | ||
| 146 | * window.c (Fwindow_parameter, Fset_window_parameter): Accept | 670 | * window.c (Fwindow_parameter, Fset_window_parameter): |
| 147 | any window as argument (Bug#12452). | 671 | Accept any window as argument (Bug#12452). |
| 148 | 672 | ||
| 149 | 2012-09-16 Jan Djärv <jan.h.d@swipnet.se> | 673 | 2012-09-16 Jan Djärv <jan.h.d@swipnet.se> |
| 150 | 674 | ||
| @@ -219,8 +743,8 @@ | |||
| 219 | 2012-09-14 Dmitry Antipov <dmantipov@yandex.ru> | 743 | 2012-09-14 Dmitry Antipov <dmantipov@yandex.ru> |
| 220 | 744 | ||
| 221 | Avoid out-of-range marker position (Bug#12426). | 745 | Avoid out-of-range marker position (Bug#12426). |
| 222 | * insdel.c (replace_range, replace_range_2): Adjust | 746 | * insdel.c (replace_range, replace_range_2): |
| 223 | markers before overlays, as suggested by comments. | 747 | Adjust markers before overlays, as suggested by comments. |
| 224 | (insert_1_both, insert_from_buffer_1, adjust_after_replace): | 748 | (insert_1_both, insert_from_buffer_1, adjust_after_replace): |
| 225 | Remove redundant check before calling offset_intervals. | 749 | Remove redundant check before calling offset_intervals. |
| 226 | 750 | ||
| @@ -519,8 +1043,8 @@ | |||
| 519 | in the internal border. | 1043 | in the internal border. |
| 520 | (x_set_window_size): Remove static variables and their usage. | 1044 | (x_set_window_size): Remove static variables and their usage. |
| 521 | (ns_redraw_scroll_bars): Fix NSTRACE arg. | 1045 | (ns_redraw_scroll_bars): Fix NSTRACE arg. |
| 522 | (ns_after_update_window_line, ns_draw_fringe_bitmap): Remove | 1046 | (ns_after_update_window_line, ns_draw_fringe_bitmap): |
| 523 | fringe/internal border adjustment (Bug#11052). | 1047 | Remove fringe/internal border adjustment (Bug#11052). |
| 524 | (ns_draw_fringe_bitmap): Make code more like other terms (xterm.c). | 1048 | (ns_draw_fringe_bitmap): Make code more like other terms (xterm.c). |
| 525 | (ns_draw_window_cursor): Remove fringe/internal border adjustment. | 1049 | (ns_draw_window_cursor): Remove fringe/internal border adjustment. |
| 526 | (ns_fix_rect_ibw): Remove. | 1050 | (ns_fix_rect_ibw): Remove. |
| @@ -737,8 +1261,8 @@ | |||
| 737 | (init_signals) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it; | 1261 | (init_signals) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it; |
| 738 | code moved here from emacs.c's main function. | 1262 | code moved here from emacs.c's main function. |
| 739 | * sysdep.c, syssignal.h (handle_on_main_thread): New function, | 1263 | * sysdep.c, syssignal.h (handle_on_main_thread): New function, |
| 740 | replacing the old SIGNAL_THREAD_CHECK. All uses changed. This | 1264 | replacing the old SIGNAL_THREAD_CHECK. All uses changed. |
| 741 | lets callers save and restore errno properly. | 1265 | This lets callers save and restore errno properly. |
| 742 | 1266 | ||
| 743 | 2012-09-05 Dmitry Antipov <dmantipov@yandex.ru> | 1267 | 2012-09-05 Dmitry Antipov <dmantipov@yandex.ru> |
| 744 | 1268 | ||
| @@ -1047,8 +1571,8 @@ | |||
| 1047 | * process.c: Include TERM_HEADER instead of listing all possible | 1571 | * process.c: Include TERM_HEADER instead of listing all possible |
| 1048 | window-system headers. | 1572 | window-system headers. |
| 1049 | 1573 | ||
| 1050 | * nsterm.h: Remove declarations now in frame.h. Define | 1574 | * nsterm.h: Remove declarations now in frame.h. |
| 1051 | FRAME_X_SCREEN, FRAME_X_VISUAL. | 1575 | Define FRAME_X_SCREEN, FRAME_X_VISUAL. |
| 1052 | 1576 | ||
| 1053 | * menu.c: Include TERM_HEADER instead of listing all possible | 1577 | * menu.c: Include TERM_HEADER instead of listing all possible |
| 1054 | window-system headers. | 1578 | window-system headers. |
| @@ -1244,8 +1768,8 @@ | |||
| 1244 | 1768 | ||
| 1245 | * nsterm.h (NSPanel): New class variable dialog_return. | 1769 | * nsterm.h (NSPanel): New class variable dialog_return. |
| 1246 | 1770 | ||
| 1247 | * nsmenu.m (initWithContentRect:styleMask:backing:defer:): Initialize | 1771 | * nsmenu.m (initWithContentRect:styleMask:backing:defer:): |
| 1248 | dialog_return. | 1772 | Initialize dialog_return. |
| 1249 | (windowShouldClose:): Use stop instead of stopModalWithCode. | 1773 | (windowShouldClose:): Use stop instead of stopModalWithCode. |
| 1250 | (clicked:): Ditto, and also set dialog_return (Bug#12258). | 1774 | (clicked:): Ditto, and also set dialog_return (Bug#12258). |
| 1251 | (timeout_handler:): Use stop instead of abortModal. Send a dummy | 1775 | (timeout_handler:): Use stop instead of abortModal. Send a dummy |