aboutsummaryrefslogtreecommitdiffstats
path: root/src/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'src/ChangeLog')
-rw-r--r--src/ChangeLog393
1 files changed, 387 insertions, 6 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 835c550b426..37907cd555a 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,384 @@
12012-11-06 Paul Eggert <eggert@cs.ucla.edu>
2
3 Restore some duplicate definitions (Bug#12814).
4 This undoes part of the 2012-11-03 changes. Some people build
5 with plain -g rather than with -g3, and they need the duplicate
6 definitions for .gdbinit to work; see <http://bugs.gnu.org/12814#26>.
7 * lisp.h (GCTYPEBITS, ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK):
8 Define as macros, as well as as enums or as constants.
9
102012-11-06 Jan Djärv <jan.h.d@swipnet.se>
11
12 * nsterm.m (convert_ns_to_X_keysym, keyDown:): Add NSNumericPadKeyMask
13 to keypad keys (Bug#12816).
14
152012-11-06 Paul Eggert <eggert@cs.ucla.edu>
16
17 Minor adjustments of recently-changed frame functions.
18 * buffer.c (Fbuffer_list): Omit CHECK_FRAME, since arg is already
19 known to be a frame (we're in the FRAMEP branch).
20 * lisp.h (Qframep): Remove decl. frame.h declares this.
21 * window.c (quad): Args are of type EMACS_INT, not ptrdiff_t,
22 since they're meant for Lisp fixnum values.
23
242012-11-06 Dmitry Antipov <dmantipov@yandex.ru>
25
26 * window.c (Fwindow_combination_limit): Revert to the only
27 required argument and adjust docstring as suggested in
28 http://lists.gnu.org/archive/html/emacs-diffs/2012-11/msg01082.html
29 by Martin Rudalics <rudalics@gmx.at>.
30
312012-11-06 Dmitry Antipov <dmantipov@yandex.ru>
32
33 Widely used frame validity and checking functions.
34 * frame.h (decode_live_frame, decode_any_frame): Add prototypes.
35 * frame.c (decode_live_frame, decode_any_frame): New functions.
36 (delete_frame, Fredirect_frame_focus, Fframe_parameters)
37 (Fframe_parameter, Fframe_char_height, Fframe_char_width)
38 (Fframe_pixel_height, Fframe_pixel_width, Ftool_bar_pixel_width)
39 (Fframe_pointer_visible_p): Use decode_any_frame.
40 (Fmake_frame_visible, Fmake_frame_invisible, Ficonify_frame)
41 (Fraise_frame, Flower_frame, Fmodify_frame_parameters)
42 (Fset_frame_height, Fset_frame_width): Use decode_live_frame.
43 (Fframe_focus): Likewise. Allow zero number of arguments.
44 Adjust docstring.
45 (frame_buffer_list, frame_buffer_predicate): Remove.
46 * lisp.h (frame_buffer_predicate): Remove prototype.
47 * buffer.c (Fother_buffer): Use decode_any_frame.
48 * xdisp.c (Ftool_bar_lines_needed): Likewise.
49 * xfaces.c (Fcolor_gray_p, Fcolor_supported_p): Likewise.
50 * font.c (Ffont_face_attributes, Ffont_family_list, Fopen_font)
51 (Fclose_font, Ffont_info): Use decode_live_frame.
52 * fontset.c (check_fontset_name): Likewise.
53 * terminal.c (Fframe_terminal): Likewise.
54 * w32fns.c (check_x_frame): Likewise.
55 * window.c (Fminibuffer_window, Fwindow_at)
56 (Fcurrent_window_configuration): Likewise.
57 (Frun_window_configuration_change_hook, Fwindow_resize_apply):
58 Likewise. Allow zero number of arguments. Adjust docstring.
59 * dispnew.c (Fredraw_frame): Likewise.
60 * xfaces.c (frame_or_selected_frame): Remove.
61 (Fx_list_fonts, Finternal_get_lisp_face_attribute, Fface_font)
62 (Finternal_lisp_face_equal_p, Finternal_lisp_face_empty_p)
63 (Fframe_face_alist): Use decode_live_frame.
64 * xfns.c (check_x_frame): Likewise.
65
662012-11-06 Dmitry Antipov <dmantipov@yandex.ru>
67
68 * window.c (quad): New function.
69 (Fwindow_edges, Fwindow_pixel_edges, Fwindow_inside_edges)
70 (Fwindow_absolute_pixel_edges, Fwindow_inside_absolute_pixel_edges)
71 (Fwindow_inside_pixel_edges, Fpos_visible_in_window_p)
72 (Fwindow_line_height): Use it.
73 (Fwindow_fringes): Use list3.
74 (Fwindow_scroll_bars): Use list4.
75 (Fwindow_frame, Fwindow_top_child, Fwindow_left_child)
76 (Fwindow_combination_limit): Allow zero number of arguments.
77
782012-11-05 Eli Zaretskii <eliz@gnu.org>
79
80 * makefile.w32-in ($(BLD)/w32fns.$(O)): Depend on $(NT_INC)/unistd.h.
81
82 * w32fns.c: Include unistd.h, to avoid compiler warnings on Cygwin.
83 (emacs_abort) [CYGWIN]: Don't call _open_osfhandle; instead, use
84 file descriptor 2 for standard error. (Bug#12805)
85
862012-11-05 Chong Yidong <cyd@gnu.org>
87
88 * process.c (wait_reading_process_output): Revert previous change.
89
902012-11-05 Paul Eggert <eggert@cs.ucla.edu>
91
92 Assume at least POSIX.1-1988 for getpgrp, setpgid, setsid (Bug#12800).
93 This removes code that has been obsolete since around 1990.
94 * callproc.c (Fcall_process):
95 * emacs.c (main):
96 * process.c (create_process):
97 * term.c (dissociate_if_controlling_tty):
98 Assume setsid exists.
99 * callproc.c (child_setup): Assume setpgid exists and behaves as
100 per POSIX.1-1988 or later.
101 * conf_post.h (setpgid) [!HAVE_SETPGID]: Remove.
102 * emacs.c (shut_down_emacs):
103 * sysdep.c (sys_suspend, init_foreground_group):
104 Assume getpgrp behaves as per POSIX.1-1998 or later.
105 * msdos.c (setpgrp): Remove.
106 (tcgetpgrp, setpgid, setsid): New functions.
107 * systty.h (EMACS_GETPGRP): Remove. All callers now use getpgrp.
108 * term.c (no_controlling_tty): Remove; unused.
109 * w32proc.c (setpgrp): Remove.
110 (setsid, tcgetpgrp): New functions.
111
112 Simplify by assuming __fpending.
113 * dispnew.c: Include <fpending.h>, not <stdio_ext.h>.
114 (update_frame_1): Use __fpending, not PENDING_OUTPUT_COUNT.
115 Do not assume that __fpending's result fits in int.
116
1172012-11-04 Paul Eggert <eggert@cs.ucla.edu>
118
119 Remove EMACS_OUTQSIZE+sleep hack.
120 * dispnew.c (update_frame_1): Remove hack for terminals slower
121 than 2400 bps, which throttled Emacs by having it sleep. This
122 code hasn't worked since at least 2007, when the multi-tty stuff
123 was added, and anyway those old terminals are long dead.
124 * systty.h (EMACS_OUTQSIZE): Remove; unused. The macro isn't used even
125 without the dispnew.c change, as dispnew.c doesn't include systty.h.
126
127 Fix data-loss with --version (Bug#9574).
128 * emacs.c (close_output_streams): Use strerror, not emacs_strerror,
129 as we can't assume that emacs_strerror is initialized, and strerror
130 is good enough here.
131 (main): Invoke atexit earlier, to catch earlier instances of
132 sending data to stdout and exiting, e.g., "emacs --version >/dev/full".
133
1342012-11-04 Michael Marchionna <tralfaz@pacbell.net>
135
136 * nsterm.m: Add NSClearLineFunctionKey and keypad keys (Bug#8680).
137 (keyDown): Remap keypad keys to X11 virtual key codes.
138
1392012-11-03 Paul Eggert <eggert@cs.ucla.edu>
140
141 Fix data-loss with --batch (Bug#9574).
142 * emacs.c: Include <close-stream.h>.
143 (close_output_streams): New function.
144 (main): Pass it to atexit, so that Emacs closes stdout and stderr
145 and handles errors appropriately.
146 (Fkill_emacs): Don't worry about flushing, as close_output_stream
147 does that now.
148
149 Fix a race condition that causes Emacs to mess up glib (Bug#8855).
150 The symptom is a diagnostic "GLib-WARNING **: In call to
151 g_spawn_sync(), exit status of a child process was requested but
152 SIGCHLD action was set to SIG_IGN and ECHILD was received by
153 waitpid(), so exit status can't be returned." The diagnostic
154 is partly wrong, as the SIGCHLD action is not set to SIG_IGN.
155 The real bug is a race condition between Emacs and glib: Emacs
156 does a waitpid (-1, ...) and reaps glib's subprocess by mistake,
157 so that glib can't find it. Work around the bug by invoking
158 waitpid only on subprocesses that Emacs itself creates.
159 * process.c (create_process, record_child_status_change):
160 Don't use special value -1 in pid field, as the caller now must
161 know the pid rather than having the callee infer it. The
162 inference was sometimes incorrect anyway, due to another race.
163 (create_process): Set new 'alive' member if child is created.
164 (process_status_retrieved): New function.
165 (record_child_status_change): Use it.
166 Accept negative 1st argument, which means to wait for the
167 processes that Emacs already knows about. Move special-case code
168 for DOS_NT (which lacks WNOHANG) here, from caller. Keep track of
169 processes that have already been waited for, by testing and
170 clearing new 'alive' member.
171 (CAN_HANDLE_MULTIPLE_CHILDREN): Remove, as record_child_status_change
172 now does this internally.
173 (handle_child_signal): Let record_child_status_change do all
174 the work, since we do not want to reap all exited child processes,
175 only the child processes that Emacs itself created.
176 * process.h (Lisp_Process): New boolean member 'alive'.
177
178 Omit duplicate definitions no longer needed with gcc -g3.
179 * lisp.h (GCTYPEBITS, GCALIGNMENT, ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG)
180 (VALMASK, MOST_POSITIVE_FIXNUM, MOST_NEGATIVE_FIXNUM):
181 Define only as macros. There's no longer any need to also define
182 these symbols as enums or as constants, since we now assume
183 gcc -g3 when debugging.
184
1852012-11-03 Eli Zaretskii <eliz@gnu.org>
186
187 * lisp.mk: Adjust comments to the fact that term/internal is now
188 loaded from loadup.el.
189
190 * msdos.c (msdos_abort): Rename from emacs_abort, and make static.
191 (msdos_fatal_signal): New function.
192 (XMenuActivate): Adjust the call to kbd_buffer_events_waiting to
193 its argument list.
194
195 * conf_post.h (_GL_EXECINFO_INLINE) [MSDOS]: Define to "inline"
196 for GCC versions before 4.
197 (emacs_raise): Define to call msdos_fatal_signal.
198
199 * xdisp.c (init_from_display_pos): Fix initialization of the bidi
200 iterator when starting in the middle of a display or overlay
201 string. (Bug#12745)
202
2032012-11-03 Chong Yidong <cyd@gnu.org>
204
205 * process.c (wait_reading_process_output): Clean up the last
206 change.
207
2082012-11-03 Jim Paris <jim@jtan.com> (tiny change)
209
210 * process.c (wait_reading_process_output): Avoid a race condition
211 with SIGIO delivery (Bug#11536).
212
2132012-11-03 Chong Yidong <cyd@gnu.org>
214
215 * buffer.c (cursor_type): Untabify docstring.
216
2172012-11-03 Dmitry Antipov <dmantipov@yandex.ru>
218
219 * frame.h (struct frame): Drop can_have_scroll_bars member
220 which is meaningless for a long time. Adjust comments.
221 (FRAME_CAN_HAVE_SCROLL_BARS): Remove.
222 * frame.c, nsfns.m, term.c, w32fns.c, xfns.c: Adjust users.
223
2242012-11-03 Dmitry Antipov <dmantipov@yandex.ru>
225
226 * window.c (decode_next_window_args): Update window arg after
227 calling decode_live_window and so fix crash reported at
228 http://lists.gnu.org/archive/html/emacs-devel/2012-11/msg00035.html
229 by Juanma Barranquero <lekktu@gmail.com>.
230 (Fwindow_body_width, Fwindow_body_height): Simplify a bit.
231 * font.c (Ffont_at): Likewise.
232
2332012-11-01 Jan Djärv <jan.h.d@swipnet.se>
234
235 * widget.c (resize_cb): New function.
236 (EmacsFrameRealize): Add resize_cb as event handler (Bug#12733).
237 (EmacsFrameResize): Check if all is up to date before changing frame
238 size.
239
2402012-11-02 Eli Zaretskii <eliz@gnu.org>
241
242 Implement backtrace output for fatal errors on MS-Windows.
243 * w32fns.c (CaptureStackBackTrace_proc): New typedef.
244 (BACKTRACE_LIMIT_MAX): New macro.
245 (w32_backtrace): New function.
246 (emacs_abort): Use w32_backtrace when the user chooses not to
247 attach a debugger. Update the text of the abort dialog.
248
2492012-11-02 Dmitry Antipov <dmantipov@yandex.ru>
250
251 Window-related stuff cleanup here and there.
252 * dispnew.c (Finternal_show_cursor, Finternal_show_cursor_p):
253 Use decode_any_window.
254 * fringe.c (Ffringe_bitmaps_at_pos): Likewise.
255 * xdisp.c (Fformat_mode_line): Likewise.
256 * font.c (Ffont_at): Use decode_live_window.
257 * indent.c (Fcompute_motion, Fvertical_motion): Likewise.
258 * window.c (decode_next_window_args): Likewise.
259 (decode_any_window): Remove static.
260 * window.h (decode_any_window): Add prototype.
261 * lisp.h (CHECK_VALID_WINDOW, CHECK_LIVE_WINDOW): Move from here...
262 * window.h: ...to here, redefine via WINDOW_VALID_P and WINDOW_LIVE_P,
263 respectively.
264
2652012-11-02 Dmitry Antipov <dmantipov@yandex.ru>
266
267 Remove pad from struct input_event.
268 * termhooks.h (struct input_event): Remove padding field.
269 Adjust comment.
270 * keyboard.c (event_to_kboard): Simplify because frame_or_window
271 member is never cons for a long time. Adjust comment.
272 (mark_kboards): Adjust because SELECTION_REQUEST_EVENT and
273 SELECTION_CLEAR_EVENT has no Lisp_Objects to mark. Add comment.
274 * xterm.c (handle_one_xevent): Do not initialize frame_or_window
275 field of SELECTION_REQUEST_EVENT and SELECTION_CLEAR_EVENT.
276
2772012-11-01 Eli Zaretskii <eliz@gnu.org>
278
279 * w32proc.c (getpgrp, setpgid): New functions. (Bug#12776)
280
2812012-10-31 Paul Eggert <eggert@cs.ucla.edu>
282
283 Fix crash when using Emacs as commit editor for git (Bug#12697).
284 * callproc.c (setpgrp): Remove macro, as we now use setpgid
285 and it is configured in conf_post.h.
286 (Fcall_process): Don't invoke both setsid and setpgid; the former
287 is enough, if it exists.
288 * callproc.c (Fcall_process, child_setup):
289 * process.c (create_process): Use setpgid.
290 * conf_post.h (setpgid) [!HAVE_SETPGID]: New macro, which substitutes
291 for the real thing.
292 * dispnew.c (init_display): Initialize the foreground group
293 if we are running a tty display.
294 * emacs.c (main): Do not worry about setpgrp; init_display does it now.
295 * lisp.h (init_foreground_group): New decl.
296 * sysdep.c (inherited_pgroup): New static var.
297 (init_foreground_group, tcsetpgrp_without_stopping)
298 (narrow_foreground_group, widen_foreground_group): New functions.
299 (init_sys_modes): Narrow foreground group.
300 (reset_sys_modes): Widen foreground group.
301
3022012-10-31 Michael Albinus <michael.albinus@gmx.de>
303
304 * dbusbind.c: Fix cut'n'waste error. Use HAVE_DBUS_VALIDATE_INTERFACE.
305
3062012-10-31 Martin Rudalics <rudalics@gmx.at>
307
308 * minibuf.c (read_minibuf): Restore current buffer since
309 choose_minibuf_frame calling Fset_frame_selected_window may
310 change it (Bug#12766).
311
3122012-10-30 Jan Djärv <jan.h.d@swipnet.se>
313
314 * frame.c (Fframe_pixel_height): Fix documentation (Bug#12733).
315
3162012-10-30 Kenichi Handa <handa@gnu.org>
317
318 * font.c (Ffont_at): If WINDOW is specified and it is not
319 displaying the current buffer, signal an error.
320
3212012-10-29 Daniel Colascione <dancol@dancol.org>
322
323 * cygw32.h, cygw32.c (Qutf_16le, from_unicode, to_unicode): In
324 preparation for fixing bug#12739, move these functions from
325 here...
326
327 * coding.h, coding.c: ... to here, and compile them only when
328 WINDOWSNT or CYGWIN. Moving these functions out of cygw32 proper
329 lets us write cygw32-agnostic code for the HAVE_NTGUI case.
330
3312012-10-28 Eli Zaretskii <eliz@gnu.org>
332
333 * w32proc.c (TIMER_TICKS_PER_SEC): New macro.
334 (timer_loop, getitimer, setitimer): Use it instead of
335 CLOCKS_PER_SEC, which is no longer pertinent, since we don't use
336 'clock'.
337 (w32_get_timer_time): Use 10*TIMER_TICKS_PER_SEC instead of a
338 literal 10000.
339
3402012-10-28 Jan Djärv <jan.h.d@swipnet.se>
341
342 * nsterm.m (NO_APPDEFINED_DATA): New define.
343 (last_appdefined_event_data): New variable
344 (last_appdefined_event): Remove.
345 (ns_select): Initialize t from last_appdefined_event_data instead
346 of [last_appdefined_event data1].
347 (sendEvent:): Save [theEvent data1] to last_appdefined_event_data,
348 remove last_appdefined_event (Bug#12698).
349
3502012-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
351
352 * frame.c (x_set_font): Catch internal error.
353
3542012-10-27 Eli Zaretskii <eliz@gnu.org>
355
356 Avoid overflow in w32 implementation of interval timers.
357 When possible, for ITIMER_PROF count only times the main thread
358 actually executes.
359 * w32proc.c <struct itimer_data>: 'expire' and 'reload' are now
360 'volatile ULONGLONG' types. All the other data which was
361 previously clock_t is now ULONGLONG. 'terminate' is 'volatile int'.
362 (GetThreadTimes_Proc): New typedef.
363 (w32_get_timer_time): New function, returns a suitable time value
364 for the timer.
365 (timer_loop): Enter critical section when accessing ULONGLONG
366 values of the itimer_data struct, as these accesses are no longer
367 atomic. Call 'w32_get_timer_time' instead of 'clock'.
368 Remove unused variable.
369 (init_timers): Initialize s_pfn_Get_Thread_Times.
370 (start_timer_thread): Don't assign itimer->caller_thread here.
371 (getitimer): Assign itimer->caller_thread here.
372 (setitimer): Always call getitimer to get the value of ticks_now.
373 (sys_spawnve): Avoid compiler warning about format mismatch.
374
3752012-10-26 Eli Zaretskii <eliz@gnu.org>
376
377 * w32fns.c (w32_wnd_proc) <WM_MOUSEMOVE>: Don't enable tracking of
378 mouse movement events if the menu bar is active. This avoids
379 producing a busy "hour-glass" cursor by Windows if the mouse
380 pointer is positioned over a tooltip shown for some menu item.
381
12012-10-25 Paul Eggert <eggert@cs.ucla.edu> 3822012-10-25 Paul Eggert <eggert@cs.ucla.edu>
2 383
3 Don't assume process IDs fit in int. 384 Don't assume process IDs fit in int.
@@ -64,8 +445,8 @@
64 445
652012-10-19 Eli Zaretskii <eliz@gnu.org> 4462012-10-19 Eli Zaretskii <eliz@gnu.org>
66 447
67 * puresize.h (BASE_PURESIZE): Bump the base value to 1700000. See 448 * puresize.h (BASE_PURESIZE): Bump the base value to 1700000.
68 http://lists.gnu.org/archive/html/emacs-devel/2012-10/msg00593.html 449 See http://lists.gnu.org/archive/html/emacs-devel/2012-10/msg00593.html
69 for the reasons. 450 for the reasons.
70 451
71 * alloc.c (NSTATICS): Decrease to 0x800. 452 * alloc.c (NSTATICS): Decrease to 0x800.
@@ -523,7 +904,7 @@
523 now a supported configuration. 904 now a supported configuration.
524 905
525 * Makefile.in: consolidate image variables into LIBIMAGE; add 906 * Makefile.in: consolidate image variables into LIBIMAGE; add
526 W32_OBJ and W32_LIBS. Compile new files. 907 W32_OBJ and W32_LIBS. Compile new files.
527 908
528 * conf_post.h: 909 * conf_post.h:
529 (_DebPrint) declare tracing facility for W32 debugging. We need 910 (_DebPrint) declare tracing facility for W32 debugging. We need
@@ -684,8 +1065,8 @@
684 (ns_clear_frame_area): Remove resize handle code. 1065 (ns_clear_frame_area): Remove resize handle code.
685 1066
686 * nsfns.m (ns_in_resize): Remove. 1067 * nsfns.m (ns_in_resize): Remove.
687 (x_set_icon_name, ns_set_name, ns_set_name_as_filename): Remove 1068 (x_set_icon_name, ns_set_name, ns_set_name_as_filename):
688 ns_in_resize check. 1069 Remove ns_in_resize check.
689 1070
6902012-10-07 Paul Eggert <eggert@cs.ucla.edu> 10712012-10-07 Paul Eggert <eggert@cs.ucla.edu>
691 1072
@@ -6006,7 +6387,7 @@
6006 * lisp.h (make_formatted_string): New prototype. 6387 * lisp.h (make_formatted_string): New prototype.
6007 * alloc.c (make_formatted_string): New function. 6388 * alloc.c (make_formatted_string): New function.
6008 * buffer.c (Fgenerate_new_buffer_name): Use it. 6389 * buffer.c (Fgenerate_new_buffer_name): Use it.
6009 * dbus.c (syms_of_dbusbind): Likewise. 6390 * dbusbind.c (syms_of_dbusbind): Likewise.
6010 * editfns.c (Fcurrent_time_zone): Likewise. 6391 * editfns.c (Fcurrent_time_zone): Likewise.
6011 * filelock.c (get_boot_time): Likewise. 6392 * filelock.c (get_boot_time): Likewise.
6012 * frame.c (make_terminal_frame, set_term_frame_name) 6393 * frame.c (make_terminal_frame, set_term_frame_name)