aboutsummaryrefslogtreecommitdiffstats
path: root/src/ChangeLog
diff options
context:
space:
mode:
authorJoakim Verona2013-07-14 11:04:49 +0200
committerJoakim Verona2013-07-14 11:04:49 +0200
commit0bb9bb0841d89fff09820a57369df4cb01b16b43 (patch)
tree832bf9fa8415eef0ce464d22b3ee1300cfa90bb1 /src/ChangeLog
parent3718127221fbbc31f8ebd027ab7c95403dbe9118 (diff)
parent3af1c8684ed6e48fbc21481d129e9aa164752c6e (diff)
downloademacs-0bb9bb0841d89fff09820a57369df4cb01b16b43.tar.gz
emacs-0bb9bb0841d89fff09820a57369df4cb01b16b43.zip
Merge branch 'trunk' into xwidget
Conflicts: src/xdisp.c
Diffstat (limited to 'src/ChangeLog')
-rw-r--r--src/ChangeLog475
1 files changed, 474 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 322b8271f14..6ee0cacb520 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,476 @@
12013-07-14 Paul Eggert <eggert@cs.ucla.edu>
2
3 * callproc.c (child_setup, relocate_fd) [!DOS_NT]:
4 * process.c (create_process) [!DOS_NT]:
5 Remove now-unnecessary calls to emacs_close.
6
72013-07-13 Eli Zaretskii <eliz@gnu.org>
8
9 * w32term.c (x_draw_hollow_cursor): Delete the brush object when
10 returning early. (Bug#14850)
11
12 * coding.c (syms_of_coding): Set up inhibit-null-byte-detection
13 and inhibit-iso-escape-detection attributes of 'undecided'.
14 (Bug#14822)
15
162013-07-13 Paul Eggert <eggert@cs.ucla.edu>
17
18 * deps.mk (sysdep.o): Remove dependency on ../lib/ignore-value.h.
19 Reported by Herbert J. Skuhra in
20 <http://lists.gnu.org/archive/html/emacs-devel/2013-07/msg00455.html>.
21
22 Don't lose top specpdl entry when memory is exhausted.
23 * eval.c (grow_specpdl): Increment specpdl top by 1 and check for
24 specpdl overflow here, to simplify callers; all callers changed.
25 Always reserve an unused entry at the stack top; this avoids
26 losing the top entry's information when memory is exhausted.
27
282013-07-12 Paul Eggert <eggert@cs.ucla.edu>
29
30 Clean up errno reporting and fix some errno-reporting bugs.
31 * callproc.c (Fcall_process):
32 * fileio.c (Fcopy_file, Finsert_file_contents, Fwrite_region):
33 * process.c (create_process, Fmake_network_process):
34 * unexaix.c (report_error):
35 * unexcoff.c (report_error):
36 Be more careful about reporting the errno of failed operations.
37 The code previously reported the wrong errno sometimes.
38 Also, prefer report_file_errno to setting errno + report_file_error.
39 (Fcall_process): Look at openp return value rather than at path,
40 as that's a bit faster and clearer when there's a numeric predicate.
41 * fileio.c (report_file_errno): New function, with most of the
42 old contents of report_file_error.
43 (report_file_error): Use it.
44 (Ffile_exists_p, Ffile_accessible_directory_p):
45 Set errno to 0 when it is junk.
46 * fileio.c (Faccess_file):
47 * image.c (x_create_bitmap_from_file):
48 Use faccessat rather than opening the file, to avoid the hassle of
49 having a file descriptor open.
50 * lisp.h (report_file_errno): New decl.
51 * lread.c (Flocate_file_internal): File descriptor 0 is valid, too.
52
53 Minor EBADF fixes.
54 * process.c (create_process, wait_reading_process_output) [AIX]:
55 Remove obsolete SIGHUP-related code, as Emacs no longer disables
56 SIGHUP, so EBADF is no longer acceptable here (it wouldn't work in
57 a multithreaded environment anyway).
58 * sysdep.c (emacs_close): It's not dangerous to invoke emacs_close (-1).
59
602013-07-12 Andreas Schwab <schwab@linux-m68k.org>
61
62 * image.c (x_find_image_file): Don't close a remote file handle.
63
642013-07-12 Paul Eggert <eggert@cs.ucla.edu>
65
66 Fix races with threads and file descriptors.
67 * callproc.c (Fcall_process_region):
68 * dired.c (open_directory):
69 * emacs.c (main, Fdaemon_initialized):
70 * image.c (x_find_image_file):
71 * inotify.c (Finotify_rm_watch):
72 * lread.c (Flocate_file_internal):
73 * process.c (Fnetwork_interface_list, Fnetwork_interface_info):
74 * term.c (term_mouse_moveto, init_tty):
75 * termcap.c (tgetent):
76 * unexaix.c, unexcoff.c (report_error, report_error_1, adjust_lnnoptrs)
77 * unexaix.c, unexcoff.c, unexcw.c, unexelf.c (unexec):
78 * unexhp9k800.c, unexmacosx.c (unexec):
79 * callproc.c (Fcall_process_region):
80 Use emacs_close, not close.
81 * sysdep.c (POSIX_CLOSE_RESTART, posix_close) [!POSIX_CLOSE_RESTART]:
82 New macro and function, which emulates the POSIX_CLOSE_RESTART macro
83 and posix_close function on current platforms (which all lack them).
84 (emacs_close): Use it. This should fix the races on GNU/Linux and
85 on AIX and on future platforms that support POSIX_CLOSE_RESTART,
86 and it should avoid closing random victim file descriptors on
87 other platforms.
88
892013-07-11 Paul Eggert <eggert@cs.ucla.edu>
90
91 * inotify.c (uninitialized): Remove. All uses replaced by -1.
92 (Finotify_add_watch): Simplify, since -1 means uninitialized now.
93 Touch up doc a bit.
94
95 * eval.c (backtrace_function, backtrace_args): Now EXTERNALLY_VISIBLE.
96 This is for .gdbinit xbacktrace.
97
98 * sysdep.c, term.c, termcap.c, terminal.c: Integer-related minor fixes.
99 * sysdep.c (emacs_get_tty): Return void, since nobody uses the value.
100 (emacs_set_tty): Now static.
101 * sysdep.c (emacs_set_tty, tabs_safe_p, emacs_close):
102 * term.c (tty_capable_p, tty_default_color_capabilities)
103 (get_tty_terminal, term_mouse_movement)
104 (handle_one_term_event, init_tty, maybe_fatal):
105 * termcap.c (tgetst1, struct termcap_buffer, valid_filename_p)
106 (tgetent, scan_file, name_match, compare_contin):
107 * terminal.c (get_terminal):
108 Use bool for boolean.
109 * sysdep.c (init_system_name): Don't overflow stack on huge hostname.
110 Prefer char to unsigned char if either will do.
111 * term.c (OUTPUT, turn_on_face): Omit unnecessary casts to int.
112 (tty_write_glyphs): Prefer int to unsigned.
113 (produce_glyphless_glyph): Remove 2nd (unused) int arg.
114 All callers changed.
115 * termcap.c (tprint, main) [TEST]: Remove non-working test.
116
1172013-07-10 Paul Eggert <eggert@cs.ucla.edu>
118
119 Port to C89.
120 * bytecode.c (BYTE_CODE_THREADED): Do not define if __STRICT_ANSI__.
121 (B__dummy__): New dummy symbol, to pacify C89.
122 * dbusbind.c (XD_DEBUG_MESSAGE): Omit debugging on C89 hosts, since
123 they can't grok varargs macros.
124 * dispnew.c (add_window_display_history)
125 (add_frame_display_history):
126 * print.c (print_object):
127 * xdisp.c (debug_method_add):
128 Use %p printf format only for void pointers.
129 * emacs.c (usage_message): New constant, replacing ...
130 (USAGE1, USAGE2, USAGE3): Remove; they were too long for C89.
131 (main): Adjust to usage reorg.
132 * fns.c (syms_of_fns):
133 * profiler.c (syms_of_profiler):
134 Don't use non-constant struct initializers.
135 * gnutls.h (gnutls_initstage_t):
136 * lisp.h (enum Lisp_Fwd_Type):
137 * lread.c (lisp_file_lexically_bound_p):
138 * xsettings.c (anonymous enum):
139 Remove trailing comma.
140 * xsettings.c (apply_xft_settings): Use %f, not %lf; %lf is a C99ism.
141 * lisp.h (ENUM_BF): Use unsigned if pedantic.
142 (DEFUN_FUNCTION_INIT): New macro, that falls back on a cast if pre-C99.
143 (DEFUN): Use it.
144 * regex.c (const_re_char): New type, to pacify strict C89.
145 All uses of 'const re_char' replaced to use it.
146 * regex.h (_Restrict_): Rename from __restrict, to avoid clash
147 with glibc when strict C89. This change is imported from gnulib.
148 All uses changed.
149 (_Restrict_arr_): Rename from __restrict_arr, similarly.
150 * sysdep.c (time_from_jiffies) [!HAVE_LONG_LONG_INT]:
151 Omit GNU_LINUX implementation, since it requires long long.
152 * xterm.c (x_draw_underwave):
153 Do not assume the traditional order of struct's members.
154 (x_term_init): Rewrite to avoid the need for non-constant structure
155 initializers.
156
157 Syntax cleanup, mostly replacing macros with functions.
158` This removes the need for the syntax_temp hack.
159 * search.c: Include syntax.h after buffer.h, since syntax.h uses BVAR.
160 * syntax.c (SYNTAX_INLINE): New macro.
161 (SYNTAX_FLAGS_COMSTART_FIRST, SYNTAX_FLAGS_COMSTART_SECOND)
162 (SYNTAX_FLAGS_COMEND_FIRST, SYNTAX_FLAGS_COMEND_SECOND)
163 (SYNTAX_FLAGS_PREFIX, SYNTAX_FLAGS_COMMENT_STYLEB)
164 (SYNTAX_FLAGS_COMMENT_STYLEC, SYNTAX_FLAGS_COMMENT_STYLEC2)
165 (SYNTAX_FLAGS_COMMENT_NESTED, SYNTAX_FLAGS_COMMENT_STYLE)
166 (SYNTAX_COMEND_FIRST): Now functions, not macros.
167 (ST_COMMENT_STYLE, ST_STRING_STYLE, INTERVALS_AT_ONCE):
168 Now constants, not macros.
169 (syntax_temp) [!__GNUC__]: Remove.
170 (SYNTAX_PREFIX): Remove; all uses replaced by syntax_prefix_flag_p.
171 (syntax_prefix_flag_p): Move implementation of SYNTAX_PREFIX here.
172 (SET_RAW_SYNTAX_ENTRY, SET_RAW_SYNTAX_ENTRY_RANGE, SYNTAX_MATCH)
173 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT):
174 Move here from syntax.h; now functions, not macros. Except for the
175 last function, these are static since only syntax.c uses them.
176 (syntax_multibyte): Rename from SYNTAX_WITH_MULTIBYTE_CHECK.
177 All uses changed. Now a function, not a macro; use this fact
178 to simplify the code.
179 (scan_lists, scan_sexps_forward): Remove workarounds for ancient
180 compiler bugs; no longer relevant.
181 * syntax.h: Use INLINE_HEADER_BEGIN, INLINE_HEADER_END.
182 (SYNTAX_INLINE): New macro.
183 (struct gl_state_s, gl_state): Move earlier, so that it's in scope
184 for the new functions. Use bool for boolean member.
185 (SYNTAX_ENTRY, SYNTAX, SYNTAX_WITH_FLAGS, SYNTAX_MATCH)
186 (SYNTAX_TABLE_BYTE_TO_CHAR, UPDATE_SYNTAX_TABLE_FORWARD)
187 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
188 (SETUP_BUFFER_SYNTAX_TABLE):
189 Now extern inline functions, not macros.
190 (CURRENT_SYNTAX_TABLE, SYNTAX_ENTRY_INT):
191 Remove; all uses replaced by implementation.
192 (syntax_temp) [!__GNUC__]: Remove decl.
193 (SETUP_SYNTAX_TABLE_FOR_OBJECT): New decl.
194
1952013-07-10 Jan Djärv <jan.h.d@swipnet.se>
196
197 * emacs.c (main): Fix syntax error.
198
1992013-07-10 Paul Eggert <eggert@cs.ucla.edu>
200
201 Timestamp fixes for undo (Bug#14824).
202 * atimer.c (schedule_atimer):
203 * fileio.c (Ffile_newer_than_file_p):
204 Minor cleanup: use EMACS_TIME_LT so that we can remove EMACS_TIME_GT.
205 * buffer.c (buffer-undo-list): Document (t . 0) and (t . -1).
206 * fileio.c (Fclear_visited_file_modtime): Move to lisp/files.el.
207 (syms_of_fileio): Remove Sclear_visited_file_name.
208 (Fvisited_file_modtime): Return -1, not (-1 ...), when the visited
209 file doesn't exist; this avoids an ambiguity with negative timestamps.
210 (Fset_visited_file_modtime): Accept -1 and 0 as time-list arg.
211 * systime.h (make_emacs_time, invalid_emacs_time):
212 Don't assume struct timespec layout; POSIX doesn't guarantee it.
213 (EMACS_TIME_NE, EMACS_TIME_GT, EMACS_TIME_GE): Remove.
214 * undo.c (record_first_change): Push (visited-file-modtime) onto
215 undo list rather than reimplementing it by hand, incorrectly.
216
2172013-07-09 Ken Brown <kbrown@cornell.edu>
218
219 * sheap.c (STATIC_HEAP_SIZE) [__x86_64__]: Increase to 18MB.
220
2212013-07-09 Juanma Barranquero <lekktu@gmail.com>
222
223 * makefile.w32-in ($(BLD)/emacs.$(O), $(BLD)/sysdep.$(O)): Update.
224
2252013-07-09 Paul Eggert <eggert@cs.ucla.edu>
226
227 Handle errno and exit status a bit more carefully.
228 * callproc.c (child_setup) [!DOS_NT]: Don't try to stuff an error
229 number into an exit status. Instead, use EXIT_CANCELED.
230 (child_setup) [!MSDOS]: Avoid possible deadlock with vfork.
231 * callproc.c (relocate_fd):
232 * emacs.c (close_output_streams, main):
233 * process.c (create_process):
234 * sysdep.c (sys_subshell) [!DOS_NT || !WINDOWSNT]:
235 Use emacs_perror for simplicity.
236 * callproc.c (relocate_fd, main):
237 * sysdep.c (sys_subshell):
238 Exit with EXIT_CANCELED etc., not 1, when exec setup fails.
239 (shut_down_emacs): Use emacs_write, not write.
240 * emacs.c, sysdep.c: Don't include <ignore-value.h>.
241 * fileio.c (Fcopy_file, e_write):
242 * nsterm.m (ns_select):
243 * process.c (send_process):
244 * sound.c (vox_write):
245 Use emacs_write_sig, not emacs_write.
246 * lisp.h (emacs_write_sig, emacs_perror): New decls.
247 * process.h (EXIT_CANCELED), EXIT_CANNOT_INVOKE, EXIT_ENOENT):
248 New constants.
249 * sysdep.c (emacs_backtrace): Use emacs_write, not ignore_value
250 of write.
251 (emacs_full_write): New function.
252 (emacs_write): Rewrite to use it.
253 (emacswrite_sig, emacs_perror): New functions.
254 * xrdb.c (fatal): Don't invoke perror, since errno might be garbage.
255
2562013-07-08 Magnus Henoch <magnus.henoch@gmail.com> (tiny change).
257
258 * image.c (imagemagick_load_image): Do not use MagickExportImagePixels
259 on NS even if it is present. Pixmap on NS is a void*.
260
2612013-07-07 Paul Eggert <eggert@cs.ucla.edu>
262
263 Port to Ubuntu 10 (Bug#14803).
264 Problem reported by T.V. Raman.
265 * process.c (close_on_exec, accept4, process_socket):
266 Define these if !HAVE_ACCEPT4, not if !SOCK_CLOEXEC.
267
2682013-07-07 Eli Zaretskii <eliz@gnu.org>
269
270 * w32.c (sys_dup): Declare prototype.
271
272 * filelock.c:
273 * emacs.c:
274 * callproc.c [WINDOWSNT]: Include sys/socket.h.
275
2762013-07-07 Paul Eggert <eggert@cs.ucla.edu>
277
278 Make file descriptors close-on-exec when possible (Bug#14803).
279 This simplifies Emacs a bit, since it no longer needs to worry
280 about closing file descriptors by hand in some cases.
281 It also fixes some unlikely races. Not all such races, as
282 libraries often open files internally without setting
283 close-on-exec, but it's an improvement.
284 * alloc.c (valid_pointer_p) [!WINDOWSNT]:
285 * callproc.c (Fcall_process) [!MSDOS]:
286 * emacs.c (main) [!DOS_NT]:
287 * nsterm.m (ns_term_init):
288 * process.c (create_process):
289 Use 'pipe2' with O_CLOEXEC instead of 'pipe'.
290 * emacs.c (Fcall_process_region) [HAVE_MKOSTEMP]:
291 * filelock.c (create_lock_file) [HAVE_MKOSTEMP]:
292 Prefer mkostemp with O_CLOEXEC to mkstemp.
293 * callproc.c (relocate_fd) [!WINDOWSNT]:
294 * emacs.c (main): Use F_DUPFD_CLOEXEC, not plain F_DUPFD.
295 No need to use fcntl (..., F_SETFD, FD_CLOEXEC), since we're
296 now using pipe2.
297 * filelock.c (create_lock_file) [! HAVE_MKOSTEMP]:
298 Make the resulting file descriptor close-on-exec.
299 * lisp.h, lread.c, process.c (close_load_descs, close_process_descs):
300 * lread.c (load_descriptor_list, load_descriptor_unwind):
301 Remove; no longer needed. All uses removed.
302 * process.c (SOCK_CLOEXEC): Define to 0 if not supplied by system.
303 (close_on_exec, accept4, process_socket) [!SOCK_CLOEXEC]:
304 New functions.
305 (socket) [!SOCK_CLOEXEC]: Supply a substitute.
306 (Fmake_network_process, Fnetwork_interface_list):
307 (Fnetwork_interface_info, server_accept_connection):
308 Make newly-created socket close-on-exec.
309 * sysdep.c (emacs_open, emacs_fopen):
310 Make new-created descriptor close-on-exec.
311 * w32.c (fcntl): Support F_DUPFD_CLOEXEC well enough for Emacs.
312 * w32.c, w32.h (pipe2): Rename from 'pipe', with new flags arg.
313
3142013-07-07 Jan Djärv <jan.h.d@swipnet.se>
315
316 * nsterm.m (sendEvent:): Propagate keyboard events to modal windows
317 for NS_IMPL_GNUSTEP.
318
3192013-07-07 Paul Eggert <eggert@cs.ucla.edu>
320
321 Fix openp errno handling.
322 * callproc.c (Fcall_process): Preserve openp errno around close.
323 * lread.c (openp): Set errno when returning -1, as some callers
324 expect this.
325
3262013-07-06 Jan Djärv <jan.h.d@swipnet.se>
327
328 * nsterm.m (sendEvent:): Handle NSAPP_DATA2_RUNFILEDIALOG.
329
330 * nsterm.h (NSSavePanel): Update comment.
331 (NSAPP_DATA2_RUNFILEDIALOG): Define.
332 (ns_run_file_dialog): Declare.
333
334 * nsfns.m: Remove panelOK.
335 (ns_fd_data): New.
336 (ns_run_file_dialog): New function.
337 (Fns_read_file_name): Fill in ns_fd_data, post an event and start the
338 event loop, so file dialog is popped up by ns_run_file_dialog, called
339 by sendEvent (Bug#14578).
340 (EmacsSavePanel, EmacsOpenPanel): Remove ok and cancel methods.
341
3422013-07-06 Eli Zaretskii <eliz@gnu.org>
343
344 * xdisp.c (default_line_pixel_height): New function.
345 (pos_visible_p, move_it_vertically_backward, try_scrolling)
346 (try_cursor_movement, redisplay_window, try_window)
347 (try_window_id): Use it instead of FRAME_LINE_HEIGHT. (Bug#14771)
348
349 * window.c (window_scroll_pixel_based): use
350 default_line_pixel_height.
351
352 * dispextern.h (default_line_pixel_height): Add prototype.
353
354 * frame.c (x_set_line_spacing): Accept a float value for
355 line-spacing parameter, per the documentation.
356
357 * data.c (Fmultibyte_string_p): Doc fix.
358
3592013-07-05 Paul Eggert <eggert@cs.ucla.edu>
360
361 Use emacs_open more consistently when opening files.
362 This handles EINTR more consistently now, and makes it easier
363 to introduce other uniform changes to file descriptor handling.
364 * src/systdio.h: New file.
365 * src/buffer.c (mmap_init):
366 * cygw32.c (chdir_to_default_directory):
367 * dispnew.c (Fopen_termscript):
368 * emacs.c (Fdaemon_initialized):
369 * fileio.c (Fdo_auto_save):
370 * image.c (slurp_file, png_load_body, jpeg_load_body):
371 * keyboard.c (Fopen_dribble_file):
372 * lread.c (Fload):
373 * print.c (Fredirect_debugging_output):
374 * sysdep.c (get_up_time, procfs_ttyname, procfs_get_total_memory):
375 * termcap.c (tgetent):
376 * unexaix.c, unexcoff.c (unexec, adjust_lnnoptrs):
377 * unexcw.c, unexelf.c, unexhp9k800.c, unexmacosx.c (unexec):
378 * w32term.c (w32_initialize) [CYGWIN]:
379 * xfaces.c (Fx_load_color_file):
380 Use emacs_open instead of plain open, and emacs_fopen instead of
381 plain fopen.
382 * dispnew.c, fileio.c, image.c, keyboard.c, lread.c, print.c, sysdep.c:
383 * xfaces.c: Include sysstdio.h rather than stdio.h, for emacs_fopen.
384 * callproc.c (default_output_mode): New constant.
385 (Fcall_process): Use it to call emacs_open instead of plain creat.
386 * dispnew.c (Fopen_termscript): Fix minor race in opening termscript.
387 * sysdep.c (emacs_open): Add commentary and don't call file name "path".
388 (emacs_fopen): New function.
389 * unexaix.c, unexcoff.c, unexelf.c, unexhp9k800.c, unexmacosx.c:
390 Include <lisp.h>, for emacs_open.
391 * unexelf.c (fatal): Remove decl; not needed with <lisp.h> included.
392
393 Remove duplicate #include directives.
394 * alloc.c [GC_MARK_STACK == GC_USE_GCPROS_CHECK_ZOMBIES]:
395 * xfaces.c:
396 Don't include stdio.h twice.
397 * buffer.c [USE_MMAP_FOR_BUFFERS]:
398 Don't include sys/types.h or stdio.h twice.
399 * fileio.c [WINDOWSNT | MSDOS]: Don't include fcntl.h twice.
400 * lread.c: Don't include coding.h twice.
401 * nsfont.m: Don't include frame.h twice.
402 * process.c [HAVE_RES_INIT]: Don't include <netinet/in.h> twice.
403 * ralloc.c: Don't include <unistd.h> twice.
404 * xdisp.c: Don't include font.h twice.
405 * xterm.c: Don't include fontset.h twice.
406 * xterm.h [USE_X_TOOLKIT]: Don't include X11/StringDefs.h twice.
407
4082013-07-04 Paul Eggert <eggert@cs.ucla.edu>
409
410 Scale ImageMagick images more carefully.
411 * image.c (scale_image_size) [HAVE_IMAGEMAGICK]: New function.
412 (compute_image_size): Use it. Define only if HAVE_IMAGEMAGICK.
413 Be more careful about avoiding undefined behavior after
414 integer overflow and division by zero.
415
4162013-07-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
417
418 * w32fns.c (Qgeometry, Qworkarea, Qmm_size, Qframes): New variables.
419 (syms_of_w32fns): DEFSYM them.
420 (MONITORINFOF_PRIMARY, SM_XVIRTUALSCREEN, SM_YVIRTUALSCREEN)
421 (CCHDEVICENAME): Define macros if not defined.
422 (struct MONITOR_INFO_EX): New struct.
423 (MonitorEnum_Proc, EnumDisplayMonitors_Proc): New prototypes.
424 (enum_display_monitors_fn): New variable.
425 (globals_of_w32fns): Initialize it.
426 (Fx_display_pixel_width, Fx_display_pixel_height)
427 (Fx_display_mm_height, Fx_display_mm_width): Mention behavior on
428 multi-monitor setups in docstrings.
429 (Fx_display_mm_height, Fx_display_mm_width): Approximate whole
430 screen size by primary monitor's millimeter per pixel.
431 (w32_monitor_enum, w32_display_monitor_attributes_list)
432 (w32_display_monitor_attributes_list_fallback)
433 (Fw32_display_monitor_attributes_list): New functions.
434 (syms_of_w32fns): Defsubr Sw32_display_monitor_attributes_list.
435
436 * w32term.c (SM_CXVIRTUALSCREEN, SM_CYVIRTUALSCREEN): Define macros
437 if not defined.
438 (x_display_pixel_height, x_display_pixel_width): Use GetSystemMetrics.
439
4402013-07-04 Michael Albinus <michael.albinus@gmx.de>
441
442 * fileio.c (Qfile_notify_error): New error symbol.
443
444 * gfilenotify.c (Fgfile_add_watch, Fgfile_rm_watch):
445 * inotify.c (inotify_callback, symbol_to_inotifymask)
446 (Finotify_add_watch, Finotify_rm_watch): Use it.
447 (inotifyevent_to_event): Exchange order of cookie and file name.
448 (Finotify_add_watch): Adapt docstring.
449
450 * lisp.h (Qfile_notify_error): Declare.
451
4522013-07-04 Paul Eggert <eggert@cs.ucla.edu>
453
454 Try again to fix FreeBSD bug re multithreaded memory alloc (Bug#14569).
455 * emacs.c (main) [HAVE_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
456 Do not clear _malloc_thread_enabled_p, undoing the previous change,
457 which did not work (see <http://bugs.gnu.org/14569#307>).
458 (main): Do not invoke malloc_enable_thread if (! CANNOT_DUMP
459 && (!noninteractive || initialized)). This attempts to thread
460 the needle between the Scylla of FreeBSD and the Charybdis of Cygwin.
461
4622013-07-04 Juanma Barranquero <lekktu@gmail.com>
463
464 * image.c (x_to_xcolors) [HAVE_NTGUI]: Remove unused var `hdc'.
465 (x_build_heuristic_mask) [HAVE_NTGUI]: Remove unused var `frame_dc'.
466
4672013-07-04 Paul Eggert <eggert@cs.ucla.edu>
468
469 Try to fix FreeBSD bug re multithreaded memory allocation (Bug#14569).
470 * emacs.c (main) [HAVE_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
471 Clear _malloc_thread_enabled_p at startup. Reported by Ashish SHUKLA in
472 <http://lists.gnu.org/archive/html/emacs-devel/2013-07/msg00088.html>.
473
12013-07-02 Paul Eggert <eggert@cs.ucla.edu> 4742013-07-02 Paul Eggert <eggert@cs.ucla.edu>
2 475
3 * sysdep.c (sys_siglist) [HAVE_DECL___SYS_SIGLIST]: 476 * sysdep.c (sys_siglist) [HAVE_DECL___SYS_SIGLIST]:
@@ -507,7 +980,7 @@
507 (VALMASK): Also a constant, for benefit of old GDB. 980 (VALMASK): Also a constant, for benefit of old GDB.
508 (LISP_INT_TAG_P): Remove; no longer needed as the only caller 981 (LISP_INT_TAG_P): Remove; no longer needed as the only caller
509 is INTEGERP, which can fold it in. 982 is INTEGERP, which can fold it in.
510 (XLI, XIL, XHASH, XTYPE,XINT, XFASTINT, XUINT) 983 (XLI, XIL, XHASH, XTYPE, XINT, XFASTINT, XUINT)
511 (make_number, XPNTR, XUNTAG, EQ, XCONS, XVECTOR, XSTRING, XSYMBOL) 984 (make_number, XPNTR, XUNTAG, EQ, XCONS, XVECTOR, XSTRING, XSYMBOL)
512 (XFLOAT, XPROCESS, XWINDOW, XTERMINAL, XSUBR, XBUFFER, XCHAR_TABLE) 985 (XFLOAT, XPROCESS, XWINDOW, XTERMINAL, XSUBR, XBUFFER, XCHAR_TABLE)
513 (XSUB_CHAR_TABLE, XBOOL_VECTOR, make_lisp_ptr, CHECK_TYPE) 986 (XSUB_CHAR_TABLE, XBOOL_VECTOR, make_lisp_ptr, CHECK_TYPE)