aboutsummaryrefslogtreecommitdiffstats
path: root/src/ChangeLog
diff options
context:
space:
mode:
authorKenichi Handa2012-09-30 23:39:46 +0900
committerKenichi Handa2012-09-30 23:39:46 +0900
commitc194970e15b6d6efa07697679a25dfab3aa76442 (patch)
tree49aec8be9d2dcc74ad3c81f562e48308d8e27b75 /src/ChangeLog
parent95402d5faa114a311cabfb8c64cf22a93787a066 (diff)
parentdd946752ab8810149a66a3eff469eb128709972d (diff)
downloademacs-c194970e15b6d6efa07697679a25dfab3aa76442.tar.gz
emacs-c194970e15b6d6efa07697679a25dfab3aa76442.zip
merge trunk
Diffstat (limited to 'src/ChangeLog')
-rw-r--r--src/ChangeLog575
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
62012-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
332012-09-30 Juanma Barranquero <lekktu@gmail.com>
34
35 * makefile.w32-in ($(BLD)/profiler.$(O)): Update dependencies.
36
372012-09-30 Chong Yidong <cyd@gnu.org>
38
39 * fns.c (Frandom): Doc fix.
40
412012-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
462012-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
522012-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
572012-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
972012-09-29 Juanma Barranquero <lekktu@gmail.com>
98
99 * makefile.w32-in ($(BLD)/profiler.$(O)): Update dependencies.
100
1012012-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
1102012-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
1152012-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
1202012-09-28 Tomohiro Matsuyama <tomo@cx4a.org>
121
122 * profiler.c (sigprof_handler): Fix race condition.
123
1242012-09-28 Glenn Morris <rgm@gnu.org>
125
126 * lread.c (lisp_file_lexically_bound_p): Handle #! lines. (Bug#12528)
127
1282012-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
1372012-09-26 Tomohiro Matsuyama <tomo@cx4a.org>
138
139 * profiler.c (Fprofiler_cpu_start): Remove unnecessary flag SA_SIGINFO.
140
1412012-09-26 Juanma Barranquero <lekktu@gmail.com>
142
143 * makefile.w32-in ($(BLD)/profiler.$(O)): Update dependencies.
144
1452012-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
1532012-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
1792012-09-25 Eli Zaretskii <eliz@gnu.org>
1802012-09-25 Juanma Barranquero <lekktu@gmail.com>
181
182 * makefile.w32-in ($(BLD)/callproc.$(O)): Update dependencies.
183
1842012-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
1922012-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
1992012-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
2172012-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
2482012-09-25 Chong Yidong <cyd@gnu.org>
249
250 * xdisp.c (mode_line_inverse_video): Delete obsolete variable.
251
2522012-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
2572012-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
2952012-09-24 Chong Yidong <cyd@gnu.org>
296
297 * chartab.c (Fset_char_table_default): Obsolete function removed.
298
2992012-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
3342012-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
3532012-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
3622012-09-23 Juanma Barranquero <lekktu@gmail.com>
363
364 * w32term.c (w32_read_socket): Remove leftover reference to
365 interrupt_input_pending.
366
3672012-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
3782012-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
3832012-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
4042012-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
5382012-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
5432012-09-23 Chong Yidong <cyd@gnu.org>
544
545 * keyboard.c (timer_check): Avoid quitting during Fcopy_sequence.
546
62012-09-22 Paul Eggert <eggert@cs.ucla.edu> 5472012-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
592012-09-22 Eli Zaretskii <eliz@gnu.org> 6002012-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
2552012-09-16 Martin Rudalics <rudalics@gmx.at> 7962012-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
2602012-09-16 Jan Djärv <jan.h.d@swipnet.se> 8012012-09-16 Jan Djärv <jan.h.d@swipnet.se>
261 802
@@ -330,8 +871,8 @@
3302012-09-14 Dmitry Antipov <dmantipov@yandex.ru> 8712012-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
8542012-09-05 Dmitry Antipov <dmantipov@yandex.ru> 13952012-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