aboutsummaryrefslogtreecommitdiffstats
path: root/src/ChangeLog
diff options
context:
space:
mode:
authorBill Wohler2012-12-08 17:19:00 -0800
committerBill Wohler2012-12-08 17:19:00 -0800
commite1b489df7af8f7034f8c2ef275b786e93a39df31 (patch)
tree2edc9307185e2c77b98fe75f6d7eb0476c58c7e3 /src/ChangeLog
parentce974958f93ffa2e1bd01b4dd85dcb8ec1395787 (diff)
parentc6c08d3f8fe4d2c9e588189e46d60a30ef3e8d20 (diff)
downloademacs-e1b489df7af8f7034f8c2ef275b786e93a39df31.tar.gz
emacs-e1b489df7af8f7034f8c2ef275b786e93a39df31.zip
Merge from trunk; up to 2012-12-09T01:04:43Z!rgm@gnu.org.
Diffstat (limited to 'src/ChangeLog')
-rw-r--r--src/ChangeLog377
1 files changed, 377 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index c612c4dd365..222be9575b8 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,380 @@
12012-12-08 Eli Zaretskii <eliz@gnu.org>
2
3 * w32.c (unsetenv): Return 0 if the input string is too long.
4
52012-12-08 Paul Eggert <eggert@cs.ucla.edu>
6
7 Use putenv+unsetenv instead of modifying environ directly (Bug#13070).
8 * alloc.c (xputenv): New function.
9 * dbusbind.c (Fdbus_init_bus):
10 * emacs.c (main):
11 * xterm.c (x_term_init):
12 Use xputenv instead of setenv or putenv, to detect memory exhaustion.
13 * editfns.c (initial_tz): Move static var decl up.
14 (tzvalbuf_in_environ): New static var.
15 (init_editfns): Initialize these two static vars.
16 (Fencode_time): Don't assume arbitrary limit on EMACS_INT width.
17 Save old TZ value on stack, if it's small.
18 (Fencode_time, set_time_zone_rule): Don't modify 'environ' directly;
19 instead, use xputenv+unsetenv to set and restore TZ.
20 (environbuf): Remove static var. All uses removed.
21 (Fset_time_zone_rule): Do not save TZ and environ;
22 no longer needed here.
23 (set_time_zone_rule_tz1, set_time_zone_rule_tz2) [LOCALTIME_CACHE]:
24 Move to inside set_time_zone_rule; they don't need file scope any more.
25 (set_time_zone_rule): Maintain the TZ=value string separately.
26 (syms_of_editfns): Don't initialize initial_tz;
27 init_editfns now does it.
28 * emacs.c (dump_tz) [HAVE_TZSET]: Now const.
29 * lisp.h (xputenv): New decl.
30
312012-12-08 Fabrice Popineau <fabrice.popineau@gmail.com>
32
33 * w32fns.c (emacs_abort): Don't do arithmetics on void pointers.
34
352012-12-08 Eli Zaretskii <eliz@gnu.org>
36
37 * w32.c (unsetenv, sys_putenv): New functions.
38
392012-12-08 Chong Yidong <cyd@gnu.org>
40
41 * editfns.c (Finsert_char): Make the error message more
42 informative (Bug#12992).
43
442012-12-08 Paul Eggert <eggert@cs.ucla.edu>
45
46 Simplify get_lim_data.
47 * vm-limit.c (get_lim_data): Combine RLIMIT_AS and RLIMIT_DATA methods.
48 Remove USG and vlimit methods; no longer used these days.
49 Add #error catchall just in case.
50
51 Assume POSIX 1003.1-1988 or later for signal.h (Bug#13026).
52 Exceptions: do not assume SIGCONT, SIGSTOP, SIGTSTP, SIGTTIN,
53 SIGTTOU, SIGUSR1, SIGUSR2, as Microsoft platforms lack these.
54 * process.c [subprocesses]: Include <c-ctype.h>, <sig2str.h>.
55 (deleted_pid_list, Fdelete_process, create_process)
56 (record_child_status_change, handle_child_signal, deliver_child_signal)
57 (init_process_emacs, syms_of_process):
58 Assume SIGCHLD is defined.
59 (parse_signal): Remove. All uses removed.
60 (abbr_to_signal): New static function.
61 (Fsignal_process): Use it to convert signal names to ints.
62 * sysdep.c (sys_suspend) [!DOS_NT]: Use kill (0, ...) rather than
63 kill (getpgrp (), ...).
64 (emacs_sigaction_init): Assume SIGCHLD is defined.
65 (init_signals): Assume SIGALRM, SIGCHLD, SIGHUP, SIGKILL,
66 SIGPIPE, and SIGQUIT are defined. Do not worry about SIGCLD any more.
67 * syssignal.h (EMACS_KILLPG): Remove.
68 All uses replaced by 'kill' with a negative pid.
69 (SIGCHLD): Remove definition, as we now assume SIGCHLD.
70 * w32proc.c (sys_kill): Support negative pids compatibly with POSIX.
71
722012-12-07 Paul Eggert <eggert@cs.ucla.edu>
73
74 * sysdep.c (get_child_status): Abort on internal error (Bug#13086).
75 This will cause a production Emacs to dump core instead of
76 infinite-looping.
77
782012-12-07 Dmitry Antipov <dmantipov@yandex.ru>
79
80 * frame.c (make_frame): Do not set window's buffer to t.
81 * window.c (Fsplit_window_internal): Likewise. Previously it was
82 used to indicate that the window is being set up. Now we use
83 set_window_buffer for all new windows, so the condition in ...
84 (Fset_window_buffer): ... is always true and can be removed.
85
862012-12-07 Dmitry Antipov <dmantipov@yandex.ru>
87
88 Convenient macro to check whether the buffer is hidden.
89 * buffer.h (BUFFER_HIDDEN_P): New macro.
90 * frame.c (make_frame): Use it. Adjust comment.
91 * buffer.c (candidate_buffer): New function.
92 (Fother_buffer, other_buffer_safely): Use it.
93
942012-12-06 Eli Zaretskii <eliz@gnu.org>
95
96 * w32proc.c (waitpid): Avoid busy-waiting when called with WNOHANG
97 if the child process is still running. Instead, exit the wait
98 loop and return zero. (Bug#13086)
99
1002012-12-06 Dmitry Antipov <dmantipov@yandex.ru>
101
102 * frame.h (x_char_width, x_char_height): Remove prototypes.
103 * w32term.h (x_char_width, x_char_height): Likewise.
104 * xfns.c (x_char_width, x_char_height): Remove.
105 * w32fns.c (x_char_width, x_char_height): Likewise.
106 * nsfns.c (x_char_width, x_char_height): Likewise.
107 * frame.c (Fframe_char_width): Use FRAME_COLUMN_WIDTH for
108 all window frames.
109 (Fframe_char_height): Likewise with FRAME_LINE_HEIGHT.
110 * keyboard.c (command_loop_1): Remove prototype.
111 (command_loop_2, top_level_1): Add static to match prototype.
112
1132012-12-06 Paul Eggert <eggert@cs.ucla.edu>
114
115 Fix a recently-introduced delete-process race condition.
116 * callproc.c, process.h (record_kill_process):
117 New function, containing part of the old call_process_kill.
118 (call_process_kill): Use it.
119 This does not change call_process_kill's behavior.
120 * process.c (Fdelete_process): Use record_kill_process to fix a
121 race condition that could cause Emacs to lose track of a child.
122
1232012-12-06 Dmitry Antipov <dmantipov@yandex.ru>
124
125 Avoid code duplication between prev_frame and next_frame.
126 * frame.c (candidate_frame): New function. Add comment.
127 (prev_frame, next_frame): Use it. Adjust comment.
128
1292012-12-06 Eli Zaretskii <eliz@gnu.org>
130
131 * callproc.c (Fcall_process_region) [!HAVE_MKSTEMP]: If mktemp
132 fails, signal an error instead of continuing with an empty
133 string. (Bug#13079)
134 Encode expanded temp file pattern before passing it to mkstemp or
135 mktemp.
136
137 * fileio.c (file_name_as_directory, directory_file_name) [DOS_NT]:
138 Encode the file name before passing it to dostounix_filename, in
139 case it will downcase it (under w32-downcase-file-names).
140 (Bug#12933)
141
1422012-12-05 Paul Eggert <eggert@cs.ucla.edu>
143
144 Minor call-process cleanups.
145 * callproc.c (Fcall_process): Do record-unwind-protect on MSDOS
146 at the same time as other platforms, to simplify analysis.
147 No need for fd0_volatile since we have synch_process_fd.
148 Avoid needless emacs_close; arg is always negative.
149
1502012-12-04 Andreas Schwab <schwab@linux-m68k.org>
151
152 * callproc.c (Fcall_process): Fix specpdl nesting for asynchronous
153 processes.
154
1552012-12-04 Dmitry Antipov <dmantipov@yandex.ru>
156
157 * lisp.h (Mouse_HLInfo): Remove set-but-unused mouse_face_image_state
158 member. Adjust users. Convert mouse_face_past_end, mouse_face_defer
159 and mouse_face_hidden members to a bitfields.
160 * frame.h (struct frame): Remove set-but-not-used space_width member.
161 (FRAME_SPACE_WIDTH): Remove.
162 * nsterm.m, w32term.c, xterm.c: Adjust users.
163 * termchar.h (struct tty_display_info): Remove set-but-unused se_is_so
164 member. Adjust users. Convert term_initted, delete_in_insert_mode,
165 costs_set, insert_mode, standout_mode, cursor_hidden and flow_control
166 members to a bitfields.
167
1682012-12-03 Paul Eggert <eggert@cs.ucla.edu>
169
170 Don't let call-process be a zombie factory (Bug#12980).
171 Fixing this bug required some cleanup of the signal-handling code.
172 As a side effect, this change also fixes a longstanding rare race
173 condition whereby Emacs could mistakenly kill unrelated processes,
174 and it fixes a bug where a second C-g does not kill a recalcitrant
175 synchronous process in GNU/Linux and similar platforms.
176 The patch should also fix the last vestiges of Bug#9488,
177 a bug which has mostly been fixed on the trunk by other changes.
178 * callproc.c, process.h (synch_process_alive, synch_process_death)
179 (synch_process_termsig, sync_process_retcode):
180 Remove. All uses removed, to simplify analysis and so that
181 less consing is done inside critical sections.
182 * callproc.c (call_process_exited): Remove. All uses replaced
183 with !synch_process_pid.
184 * callproc.c (synch_process_pid, synch_process_fd): New static vars.
185 These take the role of what used to be in unwind-protect arg.
186 All uses changed.
187 (block_child_signal, unblock_child_signal):
188 New functions, to avoid races that could kill innocent-victim processes.
189 (call_process_kill, call_process_cleanup, Fcall_process): Use them.
190 (call_process_kill): Record killed processes as deleted, so that
191 zombies do not clutter up the system. Do this inside a critical
192 section, to avoid a race that would allow the clutter.
193 (call_process_cleanup): Fix code so that the second C-g works again
194 on common platforms such as GNU/Linux.
195 (Fcall_process): Create the child process in a critical section,
196 to fix a race condition. If creating an asynchronous process,
197 record it as deleted so that zombies do not clutter up the system.
198 Do unwind-protect for WINDOWSNT too, as that's simpler in the
199 light of these changes. Omit unnecessary call to emacs_close
200 before failure, as the unwind-protect code does that.
201 * callproc.c (call_process_cleanup):
202 * w32proc.c (waitpid): Simplify now that synch_process_alive is gone.
203 * process.c (record_deleted_pid): New function, containing
204 code refactored out of Fdelete_process.
205 (Fdelete_process): Use it.
206 (process_status_retrieved): Remove. All callers changed to use
207 child_status_change.
208 (record_child_status_change): Remove, folding its contents into ...
209 (handle_child_signal): ... this signal handler. Now, this
210 function is purely a handler for SIGCHLD, and is not called after
211 a synchronous waitpid returns; the synchronous code is moved to
212 wait_for_termination. There is no need to worry about reaping
213 more than one child now.
214 * sysdep.c (get_child_status, child_status_changed): New functions.
215 (wait_for_termination): Now takes int * status and bool
216 interruptible arguments, too. Do not record child status change;
217 that's now the caller's responsibility. All callers changed.
218 Reimplement in terms of get_child_status.
219 (wait_for_termination_1, interruptible_wait_for_termination):
220 Remove. All callers changed to use wait_for_termination.
221 * syswait.h: Include <stdbool.h>, for bool.
222 (record_child_status_change, interruptible_wait_for_termination):
223 Remove decls.
224 (record_deleted_pid, child_status_changed): New decls.
225 (wait_for_termination): Adjust to API changes noted above.
226
227 * bytecode.c, lisp.h (Qbytecode): Remove.
228 No longer needed after 2012-11-20 interactive-p changes.
229
2302012-12-03 Eli Zaretskii <eliz@gnu.org>
231
232 * xdisp.c (redisplay_window): If the cursor is visible, but inside
233 the scroll margin, move point outside the margin. (Bug#13055)
234
2352012-12-03 Jan Djärv <jan.h.d@swipnet.se>
236
237 * gtkutil.c (my_log_handler): New function.
238 (xg_set_geometry): Set log handler to my_log_handler (Bug#11177).
239
2402012-12-03 Dmitry Antipov <dmantipov@yandex.ru>
241
242 * lisp.h (modify_region): Rename to...
243 (modify_region_1): ...new prototype.
244 * textprop.c (modify_region): Now static. Adjust users.
245 * insdel.c (modify_region): Rename to...
246 (modify_region_1): ...new function to work with current buffer.
247 Adjust comment and users. Use true and false for booleans.
248
2492012-12-03 Dmitry Antipov <dmantipov@yandex.ru>
250
251 * alloc.c (free_save_value): New function.
252 (safe_alloca_unwind): Use it.
253 * lisp.h (free_save_value): New prototype.
254 * editfns.c (save_excursion_save): Use Lisp_Misc_Save_Value.
255 Add comment.
256 (save_excursion_restore): Adjust to match saved data structure.
257 Use free_save_value to offload some work from GC. Drop obsolete
258 #if 0 code.
259
2602012-12-03 Chong Yidong <cyd@gnu.org>
261
262 * fileio.c (Vauto_save_list_file_name): Doc fix.
263
2642012-12-03 Fabrice Popineau <fabrice.popineau@gmail.com>
265
266 * w32fns.c: Remove prototype of atof.
267 (syspage_mask): Declared DWORD_PTR, for compatibility with 64-bit
268 builds.
269 (file_dialog_callback): Declared UINT_PTR.
270
271 * w32common.h (syspage_mask): Declare DWORD_PTR, for compatibility
272 with 64-bit builds.
273
274 * w32.c (FILE_DEVICE_FILE_SYSTEM, METHOD_BUFFERED)
275 (FILE_ANY_ACCESS, CTL_CODE) [_MSC_VER]: Define only if not already
276 defined.
277
2782012-12-03 Glenn Morris <rgm@gnu.org>
279
280 * data.c (Fboundp, Fsymbol_value): Doc fix re lexical-binding.
281
2822012-12-02 Paul Eggert <eggert@cs.ucla.edu>
283
284 Fix xpalloc confusion after memory is exhausted.
285 * alloc.c (xpalloc): Comment fix.
286 * charset.c (Fdefine_charset_internal): If xpalloc exhausts memory
287 and signals an error, do not clear charset_table_size, as
288 charset_table is still valid.
289 * doprnt.c (evxprintf): Clear *BUF after freeing it.
290
291 Use execve to avoid need to munge environ (Bug#13054).
292 * callproc.c (Fcall_process):
293 * process.c (create_process):
294 Don't save and restore environ; no longer needed.
295 * callproc.c (child_setup):
296 Use execve, not execvp, to preserve environ.
297
2982012-12-01 Paul Eggert <eggert@cs.ucla.edu>
299
300 * xterm.c (x_draw_image_relief): Remove unused locals (Bug#10500).
301
3022012-12-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
303
304 * xterm.c (x_draw_relief_rect, x_draw_image_relief): Fix relief
305 display for sliced images (Bug#10500).
306
307 * w32term.c (w32_draw_relief_rect, x_draw_image_relief): Likewise.
308
3092012-11-30 Juanma Barranquero <lekktu@gmail.com>
310
311 * doc.c (Fdocumentation): Re-add handling of function-documentation,
312 accidentally removed in 2012-11-09T04:10:16Z!monnier@iro.umontreal.ca (bug#13034).
313
3142012-11-29 Dmitry Antipov <dmantipov@yandex.ru>
315
316 * xdisp.c (window_outdated): Remove eassert since it hits
317 some suspicious corner cases (see Bug#13007 and Bug#13012).
318 (mode_line_update_needed): New function.
319 (redisplay_internal, redisplay_window): Use it.
320 (ensure_selected_frame): New function.
321 (redisplay_internal, unwind_redisplay): Use it.
322 (redisplay_internal): Move comment about buffer_shared...
323 (buffer_shared_and_changed): ...near to its real use.
324
3252012-11-29 Paul Eggert <eggert@cs.ucla.edu>
326
327 * callproc.c (Fcall_process): Don't misreport vfork failure.
328
3292012-11-28 Paul Eggert <eggert@cs.ucla.edu>
330
331 * callproc.c (Fcall_process): Fix vfork portability problems.
332 Do not assume that fd[0], count, filefd, and save_environ survive
333 vfork. Fix bug whereby wrong errno value could be reported for
334 pipe failure. Some minor cleanups, too, as follows. Move buf and
335 bufsize to the context where they're needed. Change new_argv to
336 be of type char **, as this is more convenient and avoids casts.
337 (CALLPROC_BUFFER_SIZE_MIN, CALLPROC_BUFFER_SIZE_MAX):
338 Now local constants, not macros.
339
3402012-11-18 Kenichi Handa <handa@gnu.org>
341
342 * font.c (font_unparse_xlfd): Fix previous change. Keep "const"
343 for the variable "f".
344
3452012-11-13 Kenichi Handa <handa@gnu.org>
346
347 * font.c (font_unparse_xlfd): Exclude special characters from the
348 generating XLFD name.
349
3502012-11-27 Paul Eggert <eggert@cs.ucla.edu>
351
352 Assume POSIX 1003.1-1988 or later for grp.h, pwd.h.
353 * dired.c (stat_uname, stat_gname):
354 * fileio.c (Fexpand_file_name): Remove no-longer-needed casts.
355
356 Assume POSIX 1003.1-1988 or later for errno.h (Bug#12968).
357 * dired.c (directory_files_internal, file_name_completion):
358 Assume EAGAIN and EINTR are defined.
359
360 * fileio.c (Fcopy_file): Assume EISDIR is defined.
361 * gmalloc.c (ENOMEM, EINVAL): Assume they're defined.
362 * gnutls.c (emacs_gnutls_write): Assume EAGAIN is defined.
363 * lread.c (readbyte_from_file): Assume EINTR is defined.
364 * process.c (wait_reading_process_output, send_process) [subprocesses]:
365 Assume EIO and EAGAIN are defined.
366 * unexcoff.c (write_segment): Assume EFAULT is defined.
367
3682012-11-27 Eli Zaretskii <eliz@gnu.org>
369
370 * fontset.c (Finternal_char_font): Return nil on non-GUI frames.
371 (Bug#11964)
372
373 * xdisp.c (draw_glyphs): Don't draw in mouse face if mouse
374 highlighting on the frame was cleared. Prevents assertion
375 violations when repeatedly clicking on the "Top" link of the
376 "bread-crumbs" in Info buffers.
377
12012-11-25 Paul Eggert <eggert@cs.ucla.edu> 3782012-11-25 Paul Eggert <eggert@cs.ucla.edu>
2 379
3 * sysdep.c (sys_subshell): Don't assume pid_t fits in int. 380 * sysdep.c (sys_subshell): Don't assume pid_t fits in int.