aboutsummaryrefslogtreecommitdiffstats
path: root/src/ChangeLog
diff options
context:
space:
mode:
authorEli Zaretskii2012-11-13 16:17:18 +0200
committerEli Zaretskii2012-11-13 16:17:18 +0200
commit3c4ca7155293ffc2d04708007131bcbc882d8913 (patch)
tree61787be8cd43b6fb3d5159852fbd186eea404de7 /src/ChangeLog
parent5ade42a5114255c43117065494b96d480c1e1588 (diff)
parentc708524567662c8911c5ab2695acc7bda0383705 (diff)
downloademacs-3c4ca7155293ffc2d04708007131bcbc882d8913.tar.gz
emacs-3c4ca7155293ffc2d04708007131bcbc882d8913.zip
Merge from trunk.
Diffstat (limited to 'src/ChangeLog')
-rw-r--r--src/ChangeLog557
1 files changed, 554 insertions, 3 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 87f669c5c6e..e3be3f9149d 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,554 @@
12012-11-13 Dmitry Antipov <dmantipov@yandex.ru>
2
3 Omit glyphs initialization at startup.
4 * dispnew.c (glyphs_initialized_initially_p): Remove.
5 (adjust_frame_glyphs_initially): Likewise. Adjust users.
6 (Fredraw_frame): Move actual code from here...
7 (redraw_frame): ...to here. Add eassert. Adjust comment.
8 (Fredraw_display): Use redraw_frame.
9 * xdisp.c (clear_garbaged_frames): Likewise.
10
112012-11-13 Eli Zaretskii <eliz@gnu.org>
12
13 * xdisp.c (decode_mode_spec): Limit the value of WIDTH argument
14 passed to pint2str and pint2hrstr to be at most the size of the
15 frame's decode_mode_spec_buffer. This avoids crashes with very
16 large values of FIELD_WIDTH argument to decode_mode_spec.
17 (Bug#12867)
18
192012-11-13 Paul Eggert <eggert@cs.ucla.edu>
20
21 Fix a race with verify-visited-file-modtime (Bug#12863).
22 Since at least 1991 Emacs has ignored an mtime difference of no
23 more than one second, but my guess is that this was to work around
24 file system bugs that were fixed long ago. Since the race is
25 causing problems now, let's remove that code.
26 * fileio.c (Fverify_visited_file_modtime): Do not accept a file
27 whose time stamp is off by no more than a second. Insist that the
28 file time stamps match exactly.
29
302012-11-12 Dmitry Antipov <dmantipov@yandex.ru>
31
32 * frame.h (struct frame): Convert external_tool_bar member to
33 1-bit unsigned bitfield.
34 * termhooks.h (struct terminal): Remove mouse_moved member since
35 all users are long dead. Adjust comment on mouse_position_hook.
36
372012-11-12 Dmitry Antipov <dmantipov@yandex.ru>
38
39 Simplify by using FOR_EACH_FRAME here and there.
40 * frame.c (next_frame, prev_frame, other_visible_frames)
41 (delete_frame, visible-frame-list): Use FOR_EACH_FRAME.
42 * w32term.c (x_window_to_scroll_bar): Likewise.
43 * window.c (window_list): Likewise.
44 * xdisp.c (x_consider_frame_title): Likewise.
45 * xfaces.c ( Fdisplay_supports_face_attributes_p): Likewise.
46 * xfns.c (x_window_to_frame, x_any_window_to_frame)
47 (x_menubar_window_to_frame, x_top_window_to_frame): Likewise.
48 * xmenu.c (menubar_id_to_frame): Likewise.
49 * xselect.c (frame_for_x_selection): Likewise.
50 * xterm.c (x_frame_of_widget, x_window_to_scroll_bar)
51 (x_window_to_menu_bar): Likewise.
52 * w32fns.c (x_window_to_frame): Likewise. Adjust comment.
53
542012-11-12 Paul Eggert <eggert@cs.ucla.edu>
55
56 * data.c (Qdefalias_fset_function): Now static.
57
58 Another tweak to vectorlike_header change.
59 * alloc.c (struct Lisp_Vectorlike_Free, NEXT_IN_FREE_LIST):
60 Remove, and replace all uses with ...
61 (next_in_free_list, set_next_in_free_list):
62 New functions, which respect C's aliasing rules better.
63
642012-11-11 Paul Eggert <eggert@cs.ucla.edu>
65
66 * window.c (list4i): Rename from 'quad'. All uses changed.
67 Needed because <sys/types.h> defines 'quad' on Solaris 10.
68
692012-11-11 Juanma Barranquero <lekktu@gmail.com>
70
71 * xdisp.c (start_hourglass) [HAVE_NTGUI]: Add block to silence
72 warning about mixing declarations and code in ISO C90.
73
742012-11-10 Martin Rudalics <rudalics@gmx.at>
75
76 * window.c (Fsplit_window_internal): Set combination limit of
77 new parent window to t iff Vwindow_combination_limit is t;
78 fixing a regression introduced with the change from 2012-09-22.
79 (Fset_window_combination_limit): Fix doc-string.
80
812012-11-10 Eli Zaretskii <eliz@gnu.org>
82
83 * xdisp.c (try_scrolling): Fix correction of aggressive-scroll
84 amount when the scroll margins are too large. When scrolling
85 backwards in the buffer, give up if cannot reach point or the
86 scroll margin within a reasonable number of screen lines. Fixes
87 point position in window under scroll-up/down-aggressively when
88 point is positioned many lines beyond the window top/bottom.
89 (Bug#12811)
90
91 * ralloc.c (relinquish): If real_morecore fails to return memory
92 to the system, don't crash; instead, leave the last heap
93 unchanged and return. (Bug#12774)
94
952012-11-09 Stefan Monnier <monnier@iro.umontreal.ca>
96
97 * lisp.h (AUTOLOADP): New macro.
98 * eval.c (Fautoload): Don't attach to loadhist, call Fdefalias instead.
99 * data.c (Ffset): Remove special ad-advice-info handling.
100 (Fdefalias): Handle autoload definitions and new Qdefalias_fset_function.
101 (Fsubr_arity): CSE.
102 (Finteractive_form): Simplify.
103 (Fquo): Don't insist on having at least 2 arguments.
104 (Qdefalias_fset_function): New var.
105
1062012-11-09 Jan Djärv <jan.h.d@swipnet.se>
107
108 * image.c (xpm_make_color_table_h): Change to hashtest_equal.
109
110 * nsfont.m (Qcondensed, Qexpanded): New variables.
111 (ns_descriptor_to_entity): Restore Qcondensed, Qexpanded setting.
112 (syms_of_nsfont): Defsym Qcondensed, Qexpanded.
113
1142012-11-09 Dmitry Antipov <dmantipov@yandex.ru>
115
116 Fix recently introduced crash on MS-Windows (Bug#12839).
117 * w32term.h (struct scroll_bar): Use convenient header.
118 (SCROLL_BAR_VEC_SIZE): Remove.
119 * w32term.c (x_scroll_bar_create): Use VECSIZE.
120
1212012-11-09 Dmitry Antipov <dmantipov@yandex.ru>
122
123 Tweak last vectorlike_header change.
124 * alloc.c (struct Lisp_Vectorlike_Free): Special type to represent
125 vectorlike object on the free list. This is introduced to avoid
126 some (but not all) pointer casting and aliasing problems, see
127 http://lists.gnu.org/archive/html/emacs-devel/2012-11/msg00105.html.
128 * .gdbinit (pvectype, pvecsize): New commands to examine vectorlike
129 objects.
130 (xvectype, xvecsize): Use them to examine Lisp_Object values.
131
1322012-11-09 Jan Djärv <jan.h.d@swipnet.se>
133
134 * nsfont.m (ns_descriptor_to_entity): Qcondensed and Qexpanded has
135 been removed, so remove them here also.
136
1372012-11-09 Stefan Monnier <monnier@iro.umontreal.ca>
138
139 * doc.c (Fdocumentation): Handle new property
140 dynamic-docstring-function to replace the old ad-advice-info.
141
1422012-11-09 Paul Eggert <eggert@cs.ucla.edu>
143
144 * fns.c (Qeql, hashtest_eq): Now static.
145
1462012-11-08 Stefan Monnier <monnier@iro.umontreal.ca>
147
148 * lisp.h (XHASH): Redefine to be imperfect and fit in a Lisp int.
149 * fns.c (hashfn_eq, hashfn_eql, sxhash):
150 * profiler.c (hashfn_profiler): Don't use XUINT on non-integers.
151 * buffer.c (compare_overlays): Use XLI rather than XHASH.
152
1532012-11-08 Paul Eggert <eggert@cs.ucla.edu>
154
155 Use same hash function for hashfn_profiler as for hash_string etc.
156 * fns.c (SXHASH_COMBINE): Remove. All uses replaced by sxhash_combine.
157 * lisp.h (sxhash_combine): New inline function, with the contents
158 of the old SXHASH_COMBINE.
159 * profiler.c (hashfn_profiler): Use it, instead of having a
160 special hash function containing a comparison that always yields 1.
161
1622012-11-08 Stefan Monnier <monnier@iro.umontreal.ca>
163
164 * xfaces.c (Qultra_light, Qreverse_oblique, Qreverse_italic)
165 (Qultra_condensed, Qextra_condensed, Qcondensed, Qsemi_condensed)
166 (Qsemi_expanded, Qextra_expanded, Qexpanded, Qultra_expanded):
167 Remove unused vars.
168
1692012-11-08 Jan Djärv <jan.h.d@swipnet.se>
170
171 * image.c (xpm_make_color_table_h): Fix compiler error because
172 make_hash_table changed.
173
1742012-11-08 Thomas Kappler <tkappler@gmail.com> (tiny change)
175
176 * nsfont.m (ns_findfonts): Handle empty matchingDescs (Bug#11541).
177
1782012-11-08 Stefan Monnier <monnier@iro.umontreal.ca>
179
180 Use ad-hoc comparison function for the profiler's hash-tables.
181 * profiler.c (Qprofiler_backtrace_equal, hashtest_profiler): New vars.
182 (make_log): Use them.
183 (handle_profiler_signal): Don't inhibit quit any longer since we don't
184 call Fequal any more.
185 (Ffunction_equal): New function.
186 (cmpfn_profiler, hashfn_profiler): New functions.
187 (syms_of_profiler): Initialize them.
188 * lisp.h (struct hash_table_test): New struct.
189 (struct Lisp_Hash_Table): Use it.
190 * alloc.c (mark_object): Mark hash_table_test fields of hash tables.
191 * fns.c (make_hash_table): Take a struct to describe the test.
192 (cmpfn_eql, cmpfn_equal, cmpfn_user_defined, hashfn_eq, hashfn_eql)
193 (hashfn_equal, hashfn_user_defined): Adjust to new calling convention.
194 (hash_lookup, hash_remove_from_table): Move assertion checking of
195 hashfn result here. Check hash-equality before calling cmpfn.
196 (Fmake_hash_table): Adjust call to make_hash_table.
197 (hashtest_eq, hashtest_eql, hashtest_equal): New structs.
198 (syms_of_fns): Initialize them.
199 * emacs.c (main): Move syms_of_fns earlier.
200 * xterm.c (syms_of_xterm):
201 * category.c (hash_get_category_set): Adjust call to make_hash_table.
202 * print.c (print_object): Adjust to new hash-table struct.
203 * composite.c (composition_gstring_put_cache): Adjust to new hashfn.
204
2052012-11-08 Eli Zaretskii <eliz@gnu.org>
206
207 * w32fns.c (modifier_set): Fix handling of Scroll Lock when the
208 value of w32-scroll-lock-modifier is neither nil nor one of the
209 known key modifiers. (Bug#12806)
210
2112012-11-08 Dmitry Antipov <dmantipov@yandex.ru>
212
213 Shrink struct vectorlike_header to the only size field.
214 * lisp.h (enum pvec_type): Avoid explicit enum member values.
215 Adjust comment.
216 (enum More_Lisp_Bits): Change PSEUDOVECTOR_SIZE_BITS and
217 PVEC_TYPE_MASK to arrange new bitfield in the vector header.
218 (PSEUDOVECTOR_REST_BITS, PSEUDOVECTOR_REST_MASK): New members.
219 (PSEUDOVECTOR_AREA_BITS): New member used to extract subtype
220 information from the vector header. Adjust comment.
221 (XSETPVECTYPE, XSETPVECTYPESIZE, XSETTYPED_PSEUDOVECTOR)
222 (PSEUDOVECTOR_TYPEP, DEFUN): Adjust to match new vector header
223 layout.
224 (XSETSUBR, SUBRP): Adjust to match new Lisp_Subr layout.
225 (struct vectorlike_header): Remove next member. Adjust comment.
226 (struct Lisp_Subr): Add convenient header. Adjust comment.
227 (allocate_pseudovector): Adjust prototype.
228 * alloc.c (mark_glyph_matrix, mark_face_cache, allocate_string)
229 (sweep_string, lisp_malloc): Remove useless prototypes.
230 (enum mem_type): Adjust comment.
231 (NEXT_IN_FREE_LIST): New macro.
232 (SETUP_ON_FREE_LIST): Adjust XSETPVECTYPESIZE usage.
233 (Fmake_bool_vector): Likewise.
234 (struct large_vector): New type to represent allocation unit for
235 the vectors with the memory footprint more than VBLOOCK_BYTES_MAX.
236 (large_vectors): Change type to struct large_vector.
237 (allocate_vector_from_block): Simplify.
238 (PSEUDOVECTOR_NBYTES): Replace with...
239 (vector_nbytes): ...new function. Adjust users.
240 (sweep_vectors): Adjust processing of large vectors.
241 (allocate_vectorlike): Likewise.
242 (allocate_pseudovector): Change type of 3rd arg to enum pvec_type.
243 Add easserts. Adjust XSETPVECTYPESIZE usage.
244 (allocate_buffer): Use BUFFER_PVEC_INIT.
245 (live_vector_p): Adjust to match large vector.
246 * buffer.c (init_buffer_once): Use BUFFER_PVEC_INIT.
247 * buffer.h (struct buffer): Add next member.
248 (BUFFER_LISP_SIZE, BUFFER_REST_SIZE, BUFFER_PVEC_INIT):
249 New macros.
250 (FOR_EACH_BUFFER): Adjust to match struct buffer change.
251 * fns.c (internal_equal): Adjust to match enum pvec_type change.
252 (copy_hash_table): Adjust to match vector header change.
253 * lread.c (defsubr): Use XSETPVECTYPE.
254 * .gdbinit (xpr, xbacktrace): Adjust to match vector header change.
255 (xvectype): Likewise. Print PVEC_NORMAL_VECTOR for regular vectors.
256 (xvecsize): New command.
257
2582012-11-08 Dmitry Antipov <dmantipov@yandex.ru>
259
260 * keyboard.c (event_to_kboard): Do not dereference
261 frame_or_window field of SELECTION_REQUEST_EVENT
262 and SELECTION_CLEAR_EVENT events (Bug#12814).
263 * xterm.h (struct selection_input_event): Adjust comment.
264
2652012-11-07 Eli Zaretskii <eliz@gnu.org>
266
267 * w32fns.c (modifier_set): Don't report modifiers from toggle key,
268 such as Scroll Lock, if the respective keys are treated as
269 function keys, not as modifiers. This avoids destroying non-ASCII
270 keyboard input when Scroll Lock is toggled ON. (Bug#12806)
271
2722012-11-07 Dmitry Antipov <dmantipov@yandex.ru>
273
274 * xfns.c (Fx_wm_set_size_hint): Use check_x_frame. Adjust docstring.
275
2762012-11-06 Paul Eggert <eggert@cs.ucla.edu>
277
278 Restore some duplicate definitions (Bug#12814).
279 This undoes part of the 2012-11-03 changes. Some people build
280 with plain -g rather than with -g3, and they need the duplicate
281 definitions for .gdbinit to work; see <http://bugs.gnu.org/12814#26>.
282 * lisp.h (GCTYPEBITS, ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK):
283 Define as macros, as well as as enums or as constants.
284
2852012-11-06 Jan Djärv <jan.h.d@swipnet.se>
286
287 * nsterm.m (convert_ns_to_X_keysym, keyDown:): Add NSNumericPadKeyMask
288 to keypad keys (Bug#12816).
289
2902012-11-06 Paul Eggert <eggert@cs.ucla.edu>
291
292 Minor adjustments of recently-changed frame functions.
293 * buffer.c (Fbuffer_list): Omit CHECK_FRAME, since arg is already
294 known to be a frame (we're in the FRAMEP branch).
295 * lisp.h (Qframep): Remove decl. frame.h declares this.
296 * window.c (quad): Args are of type EMACS_INT, not ptrdiff_t,
297 since they're meant for Lisp fixnum values.
298
2992012-11-06 Dmitry Antipov <dmantipov@yandex.ru>
300
301 * window.c (Fwindow_combination_limit): Revert to the only
302 required argument and adjust docstring as suggested in
303 http://lists.gnu.org/archive/html/emacs-diffs/2012-11/msg01082.html
304 by Martin Rudalics <rudalics@gmx.at>.
305
3062012-11-06 Dmitry Antipov <dmantipov@yandex.ru>
307
308 Widely used frame validity and checking functions.
309 * frame.h (decode_live_frame, decode_any_frame): Add prototypes.
310 * frame.c (decode_live_frame, decode_any_frame): New functions.
311 (delete_frame, Fredirect_frame_focus, Fframe_parameters)
312 (Fframe_parameter, Fframe_char_height, Fframe_char_width)
313 (Fframe_pixel_height, Fframe_pixel_width, Ftool_bar_pixel_width)
314 (Fframe_pointer_visible_p): Use decode_any_frame.
315 (Fmake_frame_visible, Fmake_frame_invisible, Ficonify_frame)
316 (Fraise_frame, Flower_frame, Fmodify_frame_parameters)
317 (Fset_frame_height, Fset_frame_width): Use decode_live_frame.
318 (Fframe_focus): Likewise. Allow zero number of arguments.
319 Adjust docstring.
320 (frame_buffer_list, frame_buffer_predicate): Remove.
321 * lisp.h (frame_buffer_predicate): Remove prototype.
322 * buffer.c (Fother_buffer): Use decode_any_frame.
323 * xdisp.c (Ftool_bar_lines_needed): Likewise.
324 * xfaces.c (Fcolor_gray_p, Fcolor_supported_p): Likewise.
325 * font.c (Ffont_face_attributes, Ffont_family_list, Fopen_font)
326 (Fclose_font, Ffont_info): Use decode_live_frame.
327 * fontset.c (check_fontset_name): Likewise.
328 * terminal.c (Fframe_terminal): Likewise.
329 * w32fns.c (check_x_frame): Likewise.
330 * window.c (Fminibuffer_window, Fwindow_at)
331 (Fcurrent_window_configuration): Likewise.
332 (Frun_window_configuration_change_hook, Fwindow_resize_apply):
333 Likewise. Allow zero number of arguments. Adjust docstring.
334 * dispnew.c (Fredraw_frame): Likewise.
335 * xfaces.c (frame_or_selected_frame): Remove.
336 (Fx_list_fonts, Finternal_get_lisp_face_attribute, Fface_font)
337 (Finternal_lisp_face_equal_p, Finternal_lisp_face_empty_p)
338 (Fframe_face_alist): Use decode_live_frame.
339 * xfns.c (check_x_frame): Likewise.
340
3412012-11-06 Dmitry Antipov <dmantipov@yandex.ru>
342
343 * window.c (quad): New function.
344 (Fwindow_edges, Fwindow_pixel_edges, Fwindow_inside_edges)
345 (Fwindow_absolute_pixel_edges, Fwindow_inside_absolute_pixel_edges)
346 (Fwindow_inside_pixel_edges, Fpos_visible_in_window_p)
347 (Fwindow_line_height): Use it.
348 (Fwindow_fringes): Use list3.
349 (Fwindow_scroll_bars): Use list4.
350 (Fwindow_frame, Fwindow_top_child, Fwindow_left_child)
351 (Fwindow_combination_limit): Allow zero number of arguments.
352
3532012-11-05 Eli Zaretskii <eliz@gnu.org>
354
355 * makefile.w32-in ($(BLD)/w32fns.$(O)): Depend on $(NT_INC)/unistd.h.
356
357 * w32fns.c: Include unistd.h, to avoid compiler warnings on Cygwin.
358 (emacs_abort) [CYGWIN]: Don't call _open_osfhandle; instead, use
359 file descriptor 2 for standard error. (Bug#12805)
360
3612012-11-05 Chong Yidong <cyd@gnu.org>
362
363 * process.c (wait_reading_process_output): Revert previous change.
364
3652012-11-05 Paul Eggert <eggert@cs.ucla.edu>
366
367 Assume at least POSIX.1-1988 for getpgrp, setpgid, setsid (Bug#12800).
368 This removes code that has been obsolete since around 1990.
369 * callproc.c (Fcall_process):
370 * emacs.c (main):
371 * process.c (create_process):
372 * term.c (dissociate_if_controlling_tty):
373 Assume setsid exists.
374 * callproc.c (child_setup): Assume setpgid exists and behaves as
375 per POSIX.1-1988 or later.
376 * conf_post.h (setpgid) [!HAVE_SETPGID]: Remove.
377 * emacs.c (shut_down_emacs):
378 * sysdep.c (sys_suspend, init_foreground_group):
379 Assume getpgrp behaves as per POSIX.1-1998 or later.
380 * msdos.c (setpgrp): Remove.
381 (tcgetpgrp, setpgid, setsid): New functions.
382 * systty.h (EMACS_GETPGRP): Remove. All callers now use getpgrp.
383 * term.c (no_controlling_tty): Remove; unused.
384 * w32proc.c (setpgrp): Remove.
385 (setsid, tcgetpgrp): New functions.
386
387 Simplify by assuming __fpending.
388 * dispnew.c: Include <fpending.h>, not <stdio_ext.h>.
389 (update_frame_1): Use __fpending, not PENDING_OUTPUT_COUNT.
390 Do not assume that __fpending's result fits in int.
391
3922012-11-04 Paul Eggert <eggert@cs.ucla.edu>
393
394 Remove EMACS_OUTQSIZE+sleep hack.
395 * dispnew.c (update_frame_1): Remove hack for terminals slower
396 than 2400 bps, which throttled Emacs by having it sleep.
397 This code hasn't worked since at least 2007, when the multi-tty stuff
398 was added, and anyway those old terminals are long dead.
399 * systty.h (EMACS_OUTQSIZE): Remove; unused. The macro isn't used even
400 without the dispnew.c change, as dispnew.c doesn't include systty.h.
401
402 Fix data-loss with --version (Bug#9574).
403 * emacs.c (close_output_streams): Use strerror, not emacs_strerror,
404 as we can't assume that emacs_strerror is initialized, and strerror
405 is good enough here.
406 (main): Invoke atexit earlier, to catch earlier instances of
407 sending data to stdout and exiting, e.g., "emacs --version >/dev/full".
408
4092012-11-04 Michael Marchionna <tralfaz@pacbell.net>
410
411 * nsterm.m: Add NSClearLineFunctionKey and keypad keys (Bug#8680).
412 (keyDown): Remap keypad keys to X11 virtual key codes.
413
4142012-11-03 Paul Eggert <eggert@cs.ucla.edu>
415
416 Fix data-loss with --batch (Bug#9574).
417 * emacs.c: Include <close-stream.h>.
418 (close_output_streams): New function.
419 (main): Pass it to atexit, so that Emacs closes stdout and stderr
420 and handles errors appropriately.
421 (Fkill_emacs): Don't worry about flushing, as close_output_stream
422 does that now.
423
424 Fix a race condition that causes Emacs to mess up glib (Bug#8855).
425 The symptom is a diagnostic "GLib-WARNING **: In call to
426 g_spawn_sync(), exit status of a child process was requested but
427 SIGCHLD action was set to SIG_IGN and ECHILD was received by
428 waitpid(), so exit status can't be returned." The diagnostic
429 is partly wrong, as the SIGCHLD action is not set to SIG_IGN.
430 The real bug is a race condition between Emacs and glib: Emacs
431 does a waitpid (-1, ...) and reaps glib's subprocess by mistake,
432 so that glib can't find it. Work around the bug by invoking
433 waitpid only on subprocesses that Emacs itself creates.
434 * process.c (create_process, record_child_status_change):
435 Don't use special value -1 in pid field, as the caller now must
436 know the pid rather than having the callee infer it.
437 The inference was sometimes incorrect anyway, due to another race.
438 (create_process): Set new 'alive' member if child is created.
439 (process_status_retrieved): New function.
440 (record_child_status_change): Use it.
441 Accept negative 1st argument, which means to wait for the
442 processes that Emacs already knows about. Move special-case code
443 for DOS_NT (which lacks WNOHANG) here, from caller. Keep track of
444 processes that have already been waited for, by testing and
445 clearing new 'alive' member.
446 (CAN_HANDLE_MULTIPLE_CHILDREN): Remove, as record_child_status_change
447 now does this internally.
448 (handle_child_signal): Let record_child_status_change do all
449 the work, since we do not want to reap all exited child processes,
450 only the child processes that Emacs itself created.
451 * process.h (Lisp_Process): New boolean member 'alive'.
452
453 Omit duplicate definitions no longer needed with gcc -g3.
454 * lisp.h (GCTYPEBITS, GCALIGNMENT, ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG)
455 (VALMASK, MOST_POSITIVE_FIXNUM, MOST_NEGATIVE_FIXNUM):
456 Define only as macros. There's no longer any need to also define
457 these symbols as enums or as constants, since we now assume
458 gcc -g3 when debugging.
459
4602012-11-03 Eli Zaretskii <eliz@gnu.org>
461
462 * lisp.mk: Adjust comments to the fact that term/internal is now
463 loaded from loadup.el.
464
465 * msdos.c (msdos_abort): Rename from emacs_abort, and make static.
466 (msdos_fatal_signal): New function.
467 (XMenuActivate): Adjust the call to kbd_buffer_events_waiting to
468 its argument list.
469
470 * conf_post.h (_GL_EXECINFO_INLINE) [MSDOS]: Define to "inline"
471 for GCC versions before 4.
472 (emacs_raise): Define to call msdos_fatal_signal.
473
474 * xdisp.c (init_from_display_pos): Fix initialization of the bidi
475 iterator when starting in the middle of a display or overlay
476 string. (Bug#12745)
477
4782012-11-03 Chong Yidong <cyd@gnu.org>
479
480 * process.c (wait_reading_process_output): Clean up the last
481 change.
482
4832012-11-03 Jim Paris <jim@jtan.com> (tiny change)
484
485 * process.c (wait_reading_process_output): Avoid a race condition
486 with SIGIO delivery (Bug#11536).
487
4882012-11-03 Chong Yidong <cyd@gnu.org>
489
490 * buffer.c (cursor_type): Untabify docstring.
491
4922012-11-03 Dmitry Antipov <dmantipov@yandex.ru>
493
494 * frame.h (struct frame): Drop can_have_scroll_bars member
495 which is meaningless for a long time. Adjust comments.
496 (FRAME_CAN_HAVE_SCROLL_BARS): Remove.
497 * frame.c, nsfns.m, term.c, w32fns.c, xfns.c: Adjust users.
498
4992012-11-03 Dmitry Antipov <dmantipov@yandex.ru>
500
501 * window.c (decode_next_window_args): Update window arg after
502 calling decode_live_window and so fix crash reported at
503 http://lists.gnu.org/archive/html/emacs-devel/2012-11/msg00035.html
504 by Juanma Barranquero <lekktu@gmail.com>.
505 (Fwindow_body_width, Fwindow_body_height): Simplify a bit.
506 * font.c (Ffont_at): Likewise.
507
5082012-11-01 Jan Djärv <jan.h.d@swipnet.se>
509
510 * widget.c (resize_cb): New function.
511 (EmacsFrameRealize): Add resize_cb as event handler (Bug#12733).
512 (EmacsFrameResize): Check if all is up to date before changing frame
513 size.
514
5152012-11-02 Eli Zaretskii <eliz@gnu.org>
516
517 Implement backtrace output for fatal errors on MS-Windows.
518 * w32fns.c (CaptureStackBackTrace_proc): New typedef.
519 (BACKTRACE_LIMIT_MAX): New macro.
520 (w32_backtrace): New function.
521 (emacs_abort): Use w32_backtrace when the user chooses not to
522 attach a debugger. Update the text of the abort dialog.
523
5242012-11-02 Dmitry Antipov <dmantipov@yandex.ru>
525
526 Window-related stuff cleanup here and there.
527 * dispnew.c (Finternal_show_cursor, Finternal_show_cursor_p):
528 Use decode_any_window.
529 * fringe.c (Ffringe_bitmaps_at_pos): Likewise.
530 * xdisp.c (Fformat_mode_line): Likewise.
531 * font.c (Ffont_at): Use decode_live_window.
532 * indent.c (Fcompute_motion, Fvertical_motion): Likewise.
533 * window.c (decode_next_window_args): Likewise.
534 (decode_any_window): Remove static.
535 * window.h (decode_any_window): Add prototype.
536 * lisp.h (CHECK_VALID_WINDOW, CHECK_LIVE_WINDOW): Move from here...
537 * window.h: ...to here, redefine via WINDOW_VALID_P and WINDOW_LIVE_P,
538 respectively.
539
5402012-11-02 Dmitry Antipov <dmantipov@yandex.ru>
541
542 Remove pad from struct input_event.
543 * termhooks.h (struct input_event): Remove padding field.
544 Adjust comment.
545 * keyboard.c (event_to_kboard): Simplify because frame_or_window
546 member is never cons for a long time. Adjust comment.
547 (mark_kboards): Adjust because SELECTION_REQUEST_EVENT and
548 SELECTION_CLEAR_EVENT has no Lisp_Objects to mark. Add comment.
549 * xterm.c (handle_one_xevent): Do not initialize frame_or_window
550 field of SELECTION_REQUEST_EVENT and SELECTION_CLEAR_EVENT.
551
12012-11-01 Eli Zaretskii <eliz@gnu.org> 5522012-11-01 Eli Zaretskii <eliz@gnu.org>
2 553
3 * w32proc.c (getpgrp, setpgid): New functions. (Bug#12776) 554 * w32proc.c (getpgrp, setpgid): New functions. (Bug#12776)
@@ -44,8 +595,8 @@
44 595
452012-10-29 Daniel Colascione <dancol@dancol.org> 5962012-10-29 Daniel Colascione <dancol@dancol.org>
46 597
47 * cygw32.h, cygw32.c (Qutf_16le, from_unicode, to_unicode): In 598 * cygw32.h, cygw32.c (Qutf_16le, from_unicode, to_unicode):
48 preparation for fixing bug#12739, move these functions from 599 In preparation for fixing bug#12739, move these functions from
49 here... 600 here...
50 601
51 * coding.h, coding.c: ... to here, and compile them only when 602 * coding.h, coding.c: ... to here, and compile them only when
@@ -628,7 +1179,7 @@
628 now a supported configuration. 1179 now a supported configuration.
629 1180
630 * Makefile.in: consolidate image variables into LIBIMAGE; add 1181 * Makefile.in: consolidate image variables into LIBIMAGE; add
631 W32_OBJ and W32_LIBS. Compile new files. 1182 W32_OBJ and W32_LIBS. Compile new files.
632 1183
633 * conf_post.h: 1184 * conf_post.h:
634 (_DebPrint) declare tracing facility for W32 debugging. We need 1185 (_DebPrint) declare tracing facility for W32 debugging. We need