* files.el (require-final-newline): Allow safe local value.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
d74647c3
KB
12013-07-09 Ken Brown <kbrown@cornell.edu>
2
3 * sheap.c (STATIC_HEAP_SIZE) [__x86_64__]: Increase to 18MB.
4
3c51b96b
JB
52013-07-09 Juanma Barranquero <lekktu@gmail.com>
6
7 * makefile.w32-in ($(BLD)/emacs.$(O), $(BLD)/sysdep.$(O)): Update.
8
4ebbdd67
PE
92013-07-09 Paul Eggert <eggert@cs.ucla.edu>
10
11 Handle errno and exit status a bit more carefully.
12 * callproc.c (child_setup) [!DOS_NT]: Don't try to stuff an error
13 number into an exit status. Instead, use EXIT_CANCELED.
14 (child_setup) [!MSDOS]: Avoid possible deadlock with vfork.
15 * callproc.c (relocate_fd):
16 * emacs.c (close_output_streams, main):
17 * process.c (create_process):
18 * sysdep.c (sys_subshell) [!DOS_NT || !WINDOWSNT]:
19 Use emacs_perror for simplicity.
20 * callproc.c (relocate_fd, main):
21 * sysdep.c (sys_subshell):
22 Exit with EXIT_CANCELED etc., not 1, when exec setup fails.
23 (shut_down_emacs): Use emacs_write, not write.
24 * emacs.c, sysdep.c: Don't include <ignore-value.h>.
25 * fileio.c (Fcopy_file, e_write):
26 * nsterm.m (ns_select):
27 * process.c (send_process):
28 * sound.c (vox_write):
29 Use emacs_write_sig, not emacs_write.
30 * lisp.h (emacs_write_sig, emacs_perror): New decls.
31 * process.h (EXIT_CANCELED), EXIT_CANNOT_INVOKE, EXIT_ENOENT):
32 New constants.
33 * sysdep.c (emacs_backtrace): Use emacs_write, not ignore_value
34 of write.
35 (emacs_full_write): New function.
36 (emacs_write): Rewrite to use it.
37 (emacswrite_sig, emacs_perror): New functions.
38 * xrdb.c (fatal): Don't invoke perror, since errno might be garbage.
39
e4b1e5af
JD
402013-07-08 Magnus Henoch <magnus.henoch@gmail.com> (tiny change).
41
42 * image.c (imagemagick_load_image): Do not use MagickExportImagePixels
43 on NS even if it is present. Pixmap on NS is a void*.
44
9caab067
PE
452013-07-07 Paul Eggert <eggert@cs.ucla.edu>
46
47 Port to Ubuntu 10 (Bug#14803).
48 Problem reported by T.V. Raman.
49 * process.c (close_on_exec, accept4, process_socket):
50 Define these if !HAVE_ACCEPT4, not if !SOCK_CLOEXEC.
51
1d442672
EZ
522013-07-07 Eli Zaretskii <eliz@gnu.org>
53
54 * w32.c (sys_dup): Declare prototype.
55
56 * filelock.c:
57 * emacs.c:
58 * callproc.c [WINDOWSNT]: Include sys/socket.h.
59
067428c1
PE
602013-07-07 Paul Eggert <eggert@cs.ucla.edu>
61
62 Make file descriptors close-on-exec when possible (Bug#14803).
63 This simplifies Emacs a bit, since it no longer needs to worry
64 about closing file descriptors by hand in some cases.
65 It also fixes some unlikely races. Not all such races, as
66 libraries often open files internally without setting
67 close-on-exec, but it's an improvement.
68 * alloc.c (valid_pointer_p) [!WINDOWSNT]:
69 * callproc.c (Fcall_process) [!MSDOS]:
70 * emacs.c (main) [!DOS_NT]:
71 * nsterm.m (ns_term_init):
72 * process.c (create_process):
73 Use 'pipe2' with O_CLOEXEC instead of 'pipe'.
74 * emacs.c (Fcall_process_region) [HAVE_MKOSTEMP]:
75 * filelock.c (create_lock_file) [HAVE_MKOSTEMP]:
76 Prefer mkostemp with O_CLOEXEC to mkstemp.
77 * callproc.c (relocate_fd) [!WINDOWSNT]:
78 * emacs.c (main): Use F_DUPFD_CLOEXEC, not plain F_DUPFD.
79 No need to use fcntl (..., F_SETFD, FD_CLOEXEC), since we're
80 now using pipe2.
81 * filelock.c (create_lock_file) [! HAVE_MKOSTEMP]:
82 Make the resulting file descriptor close-on-exec.
83 * lisp.h, lread.c, process.c (close_load_descs, close_process_descs):
84 * lread.c (load_descriptor_list, load_descriptor_unwind):
85 Remove; no longer needed. All uses removed.
86 * process.c (SOCK_CLOEXEC): Define to 0 if not supplied by system.
87 (close_on_exec, accept4, process_socket) [!SOCK_CLOEXEC]:
88 New functions.
89 (socket) [!SOCK_CLOEXEC]: Supply a substitute.
90 (Fmake_network_process, Fnetwork_interface_list):
91 (Fnetwork_interface_info, server_accept_connection):
92 Make newly-created socket close-on-exec.
93 * sysdep.c (emacs_open, emacs_fopen):
94 Make new-created descriptor close-on-exec.
95 * w32.c (fcntl): Support F_DUPFD_CLOEXEC well enough for Emacs.
96 * w32.c, w32.h (pipe2): Rename from 'pipe', with new flags arg.
97
0da857dd
JD
982013-07-07 Jan Djärv <jan.h.d@swipnet.se>
99
100 * nsterm.m (sendEvent:): Propagate keyboard events to modal windows
101 for NS_IMPL_GNUSTEP.
102
5f86adcd
PE
1032013-07-07 Paul Eggert <eggert@cs.ucla.edu>
104
105 Fix openp errno handling.
106 * callproc.c (Fcall_process): Preserve openp errno around close.
107 * lread.c (openp): Set errno when returning -1, as some callers
108 expect this.
109
1afb1d07
JD
1102013-07-06 Jan Djärv <jan.h.d@swipnet.se>
111
112 * nsterm.m (sendEvent:): Handle NSAPP_DATA2_RUNFILEDIALOG.
113
114 * nsterm.h (NSSavePanel): Update comment.
115 (NSAPP_DATA2_RUNFILEDIALOG): Define.
116 (ns_run_file_dialog): Declare.
117
118 * nsfns.m: Remove panelOK.
119 (ns_fd_data): New.
120 (ns_run_file_dialog): New function.
121 (Fns_read_file_name): Fill in ns_fd_data, post an event and start the
122 event loop, so file dialog is popped up by ns_run_file_dialog, called
123 by sendEvent (Bug#14578).
124 (EmacsSavePanel, EmacsOpenPanel): Remove ok and cancel methods.
125
3323c263
EZ
1262013-07-06 Eli Zaretskii <eliz@gnu.org>
127
fdda0220
EZ
128 * xdisp.c (default_line_pixel_height): New function.
129 (pos_visible_p, move_it_vertically_backward, try_scrolling)
130 (try_cursor_movement, redisplay_window, try_window)
131 (try_window_id): Use it instead of FRAME_LINE_HEIGHT. (Bug#14771)
132
133 * window.c (window_scroll_pixel_based): use
134 default_line_pixel_height.
135
136 * dispextern.h (default_line_pixel_height): Add prototype.
137
138 * frame.c (x_set_line_spacing): Accept a float value for
139 line-spacing parameter, per the documentation.
140
3323c263
EZ
141 * data.c (Fmultibyte_string_p): Doc fix.
142
47ba6d43
PE
1432013-07-05 Paul Eggert <eggert@cs.ucla.edu>
144
406af475
PE
145 Use emacs_open more consistently when opening files.
146 This handles EINTR more consistently now, and makes it easier
147 to introduce other uniform changes to file descriptor handling.
148 * src/systdio.h: New file.
149 * src/buffer.c (mmap_init):
150 * cygw32.c (chdir_to_default_directory):
151 * dispnew.c (Fopen_termscript):
152 * emacs.c (Fdaemon_initialized):
153 * fileio.c (Fdo_auto_save):
154 * image.c (slurp_file, png_load_body, jpeg_load_body):
155 * keyboard.c (Fopen_dribble_file):
156 * lread.c (Fload):
157 * print.c (Fredirect_debugging_output):
158 * sysdep.c (get_up_time, procfs_ttyname, procfs_get_total_memory):
159 * termcap.c (tgetent):
160 * unexaix.c, unexcoff.c (unexec, adjust_lnnoptrs):
161 * unexcw.c, unexelf.c, unexhp9k800.c, unexmacosx.c (unexec):
162 * w32term.c (w32_initialize) [CYGWIN]:
163 * xfaces.c (Fx_load_color_file):
164 Use emacs_open instead of plain open, and emacs_fopen instead of
165 plain fopen.
166 * dispnew.c, fileio.c, image.c, keyboard.c, lread.c, print.c, sysdep.c:
167 * xfaces.c: Include sysstdio.h rather than stdio.h, for emacs_fopen.
168 * callproc.c (default_output_mode): New constant.
169 (Fcall_process): Use it to call emacs_open instead of plain creat.
170 * dispnew.c (Fopen_termscript): Fix minor race in opening termscript.
171 * sysdep.c (emacs_open): Add commentary and don't call file name "path".
172 (emacs_fopen): New function.
173 * unexaix.c, unexcoff.c, unexelf.c, unexhp9k800.c, unexmacosx.c:
174 Include <lisp.h>, for emacs_open.
175 * unexelf.c (fatal): Remove decl; not needed with <lisp.h> included.
176
47ba6d43
PE
177 Remove duplicate #include directives.
178 * alloc.c [GC_MARK_STACK == GC_USE_GCPROS_CHECK_ZOMBIES]:
179 * xfaces.c:
180 Don't include stdio.h twice.
181 * buffer.c [USE_MMAP_FOR_BUFFERS]:
182 Don't include sys/types.h or stdio.h twice.
183 * fileio.c [WINDOWSNT | MSDOS]: Don't include fcntl.h twice.
184 * lread.c: Don't include coding.h twice.
185 * nsfont.m: Don't include frame.h twice.
186 * process.c [HAVE_RES_INIT]: Don't include <netinet/in.h> twice.
187 * ralloc.c: Don't include <unistd.h> twice.
188 * xdisp.c: Don't include font.h twice.
189 * xterm.c: Don't include fontset.h twice.
190 * xterm.h [USE_X_TOOLKIT]: Don't include X11/StringDefs.h twice.
191
b9ed53d5
PE
1922013-07-04 Paul Eggert <eggert@cs.ucla.edu>
193
194 Scale ImageMagick images more carefully.
195 * image.c (scale_image_size) [HAVE_IMAGEMAGICK]: New function.
196 (compute_image_size): Use it. Define only if HAVE_IMAGEMAGICK.
197 Be more careful about avoiding undefined behavior after
198 integer overflow and division by zero.
199
cf13177e
YM
2002013-07-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
201
202 * w32fns.c (Qgeometry, Qworkarea, Qmm_size, Qframes): New variables.
203 (syms_of_w32fns): DEFSYM them.
204 (MONITORINFOF_PRIMARY, SM_XVIRTUALSCREEN, SM_YVIRTUALSCREEN)
205 (CCHDEVICENAME): Define macros if not defined.
206 (struct MONITOR_INFO_EX): New struct.
207 (MonitorEnum_Proc, EnumDisplayMonitors_Proc): New prototypes.
208 (enum_display_monitors_fn): New variable.
209 (globals_of_w32fns): Initialize it.
210 (Fx_display_pixel_width, Fx_display_pixel_height)
211 (Fx_display_mm_height, Fx_display_mm_width): Mention behavior on
212 multi-monitor setups in docstrings.
213 (Fx_display_mm_height, Fx_display_mm_width): Approximate whole
214 screen size by primary monitor's millimeter per pixel.
215 (w32_monitor_enum, w32_display_monitor_attributes_list)
216 (w32_display_monitor_attributes_list_fallback)
217 (Fw32_display_monitor_attributes_list): New functions.
218 (syms_of_w32fns): Defsubr Sw32_display_monitor_attributes_list.
219
220 * w32term.c (SM_CXVIRTUALSCREEN, SM_CYVIRTUALSCREEN): Define macros
221 if not defined.
222 (x_display_pixel_height, x_display_pixel_width): Use GetSystemMetrics.
223
86dfb7a8
MA
2242013-07-04 Michael Albinus <michael.albinus@gmx.de>
225
226 * fileio.c (Qfile_notify_error): New error symbol.
227
228 * gfilenotify.c (Fgfile_add_watch, Fgfile_rm_watch):
229 * inotify.c (inotify_callback, symbol_to_inotifymask)
230 (Finotify_add_watch, Finotify_rm_watch): Use it.
231 (inotifyevent_to_event): Exchange order of cookie and file name.
232 (Finotify_add_watch): Adapt docstring.
233
234 * lisp.h (Qfile_notify_error): Declare.
235
2c1c974b
PE
2362013-07-04 Paul Eggert <eggert@cs.ucla.edu>
237
238 Try again to fix FreeBSD bug re multithreaded memory alloc (Bug#14569).
239 * emacs.c (main) [HAVE_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
240 Do not clear _malloc_thread_enabled_p, undoing the previous change,
241 which did not work (see <http://bugs.gnu.org/14569#307>).
242 (main): Do not invoke malloc_enable_thread if (! CANNOT_DUMP
243 && (!noninteractive || initialized)). This attempts to thread
244 the needle between the Scylla of FreeBSD and the Charybdis of Cygwin.
245
7a35b20f
JB
2462013-07-04 Juanma Barranquero <lekktu@gmail.com>
247
248 * image.c (x_to_xcolors) [HAVE_NTGUI]: Remove unused var `hdc'.
249 (x_build_heuristic_mask) [HAVE_NTGUI]: Remove unused var `frame_dc'.
250
1ce5cd04
PE
2512013-07-04 Paul Eggert <eggert@cs.ucla.edu>
252
253 Try to fix FreeBSD bug re multithreaded memory allocation (Bug#14569).
254 * emacs.c (main) [HAVE_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
255 Clear _malloc_thread_enabled_p at startup. Reported by Ashish SHUKLA in
256 <http://lists.gnu.org/archive/html/emacs-devel/2013-07/msg00088.html>.
257
57f8c490
PE
2582013-07-02 Paul Eggert <eggert@cs.ucla.edu>
259
260 * sysdep.c (sys_siglist) [HAVE_DECL___SYS_SIGLIST]:
261 Define to __sys_siglist.
262
bcffb5ca
EZ
2632013-07-02 Eli Zaretskii <eliz@gnu.org>
264
265 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Don't disallow
266 word-wrap, so that overflow-newline-into-fringe would work in
267 visual-line-mode. (Bug#2749)
268 (move_it_in_display_line_to): When the last scanned display
269 element fits exactly on the display line, and
270 overflow-newline-into-fringe is non-nil, but wrap_it is valid,
271 don't return MOVE_NEWLINE_OR_CR, but instead back up to the last
272 wrap point and return MOVE_LINE_CONTINUED. Fixes problems with
273 finding buffer position that corresponds to pixel coordinates,
274 e.g. in buffer_posn_from_coords.
275
2c41e781
JD
2762013-07-02 Jan Djärv <jan.h.d@swipnet.se>
277
278 * process.c (handle_child_signal): Call catch_child_signal if
279 NS_IMPL_GNUSTEP.
280
c2418359
PE
2812013-07-02 Paul Eggert <eggert@cs.ucla.edu>
282
52a9bcae
PE
283 Don't convert function pointers to void * and back.
284 It isn't portable C, and it's easy enough to avoid.
285 * alloc.c: Verify SAVE_FUNCPOINTER bits, too.
286 (make_save_value): Add support for SAVE_FUNCPOINTER.
287 * keymap.c (map_keymap_char_table_item, map_keymap_internal):
288 * print.c (print_object):
289 Distinguish function from object pointers.
290 * lisp.h (SAVE_FUNCPOINTER): New constant.
291 (SAVE_SLOT_BITS): Adjust to it.
292 (SAVE_TYPE_FUNCPTR_PTR_OBJ): New constant, replacing
293 SAVE_TYPE_PTR_PTR_OBJ. Change the only use.
294 (voidfuncptr): New typedef.
295 (struct Lisp_Save_Value): New member data[0].funcpointer.
296 (XSAVE_FUNCPOINTER): New function.
297
c2418359
PE
298 Simplify buildobj processing.
299 * Makefile.in (buildobj.h): Make it a sequence of strings each
300 followed by comma, rather than a single string. Put it into a
301 .tmp file in case there's an error while generating it.
302 (gl-stamp): Use .tmp for temp files.
303 (mostlyclean): Clean .tmp files.
304 * doc.c (buildobj): Move to just the routine that needs it.
305 It's now an array of strings, so processing is simpler.
306
8f43ce49
PE
3072013-07-01 Paul Eggert <eggert@cs.ucla.edu>
308
309 Fix bug re noninteractive multithreaded memory allocation (Bug#14569).
310 * emacs.c (malloc_enable_thread): Hoist extern decl to top level.
311 (main) [HAVE_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
312 Invoke malloc_enable_thread even when not interactive.
313 Problem reported by Ken Brown in <http://bugs.gnu.org/14569#275>.
314 * process.c (init_process_emacs) [CYGWIN]: Tickle glib even
315 in this case, since the underlying bug has now been fixed.
316
24827db9
JB
3172013-07-01 Juanma Barranquero <lekktu@gmail.com>
318
319 * emacs.c (Fkill_emacs): Expand Vauto_save_list_file_name before
320 unlinking it (bug#14691).
321
ef099a94
MN
3222013-06-30 Michal Nazarewicz <mina86@mina86.com>
323
324 * buffer.c (FKill_buffer): Run `kill-buffer-query-functions'
325 before checking whether buffer is modified. This lets
326 `kill-buffer-query-functions' cancel killing of the buffer or save
327 its content before `kill-buffer' asks user the "Buffer %s
328 modified; kill anyway?" question.
329
9d3f2fc2
JD
3302013-06-30 Jan Djärv <jan.h.d@swipnet.se>
331
332 * nsfns.m (handlePanelKeys): Don't process Command+Function keys.
333 Let the super performKeyEquivalent deal with them (Bug#14747).
334
e6c6c8c7
PE
3352013-06-30 Paul Eggert <eggert@cs.ucla.edu>
336
1d71c1d9
PE
337 * widget.c (resize_cb): Remove unused local.
338
8f5f35cc
PE
339 Do not use GTK 3 if it exists but cannot be compiled.
340 * xmenu.c (x_menu_wait_for_event) [!USE_GTK]:
341 * xterm.c (x_error_handler) [!USE_GTK]:
342 Do not use GTK 3.
343
e6c6c8c7
PE
344 * intervals.c (get_local_map): Actually clip POSITION (Bug#14753).
345
0ba54312
EZ
3462013-06-30 Eli Zaretskii <eliz@gnu.org>
347
5d1c3286
EZ
348 * intervals.c (get_local_map): Instead of aborting, clip POSITION
349 to the valid range of values. (Bug#14753)
350
0ba54312
EZ
351 * xdisp.c (Fmove_point_visually): Invalidate the cursor position
352 when moving point by using the current glyph matrix. This avoids
353 the need to force redisplay when this function is called in a
354 loop.
355
9c90cc06
PE
3562013-06-29 Paul Eggert <eggert@cs.ucla.edu>
357
358 Fix minor problems found by static checking.
359 * coding.c (encode_inhibit_flag, inhibit_flag): New functions.
360 Redo the latter's body to sidestep GCC parenthesization warnings.
361 (setup_coding_system, detect_coding, detect_coding_system): Use them.
362 * coding.c (detect_coding, detect_coding_system):
363 * coding.h (struct undecided_spec):
364 Use bool for boolean.
365 * image.c (QCmax_width, QCmax_height): Now static.
366 * xdisp.c (Fmove_point_visually): Remove unused local.
367
4c672a0f
EZ
3682013-06-29 Eli Zaretskii <eliz@gnu.org>
369
370 * xdisp.c (Fmove_point_visually): New function.
371
c1ea3abf
JB
3722013-06-28 Kenichi Handa <handa@gnu.org>
373
374 * coding.h (define_coding_undecided_arg_index): New enum.
375 (coding_attr_index): New members
376 coding_attr_undecided_inhibit_null_byte_detection,
377 coding_attr_undecided_inhibit_iso_escape_detection,
378 coding_attr_undecided_prefer_utf_8.
379 (undecided_spec): New struct.
380 (struct coding_system): New member `undecided' of the member
381 `spec'.
382
383 * coding.c (setup_coding_system): Handle CODING->spec.undecided.
384 (detect_coding): Likewise.
385 (detect_coding_system): Likewise.
386 (Fdefine_coding_system_internal): New coding system properties
387 :inhibit-null-byte-detection, :inhibit-iso-escape-detection, and
388 :prefer-utf-8.
389 (syms_of_coding): Adjust for coding_arg_undecided_max.
390
ba3de9e6
PE
3912013-06-28 Paul Eggert <eggert@cs.ucla.edu>
392
393 * image.c (x_from_xcolors): Remove unused local.
394
547c9269
YM
3952013-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
396
397 Defer image data transfer between X client and server until actual
398 display happens.
399
400 * dispextern.h (struct image) [HAVE_X_WINDOWS]: New members `ximg'
401 and `mask_img'.
402
403 * image.c (Destroy_Image): Remove.
404 (x_clear_image_1): New arg `flags' instead of 3 bools `pixmap_p',
405 `mask_p', and `colors_p'. All uses changed.
406 (x_clear_image_1) [HAVE_X_WINDOWS]: Destroy `ximg' and `mask_img'.
ef099a94
MN
407 (CLEAR_IMAGE_PIXMAP, CLEAR_IMAGE_MASK, CLEAR_IMAGE_COLORS):
408 New macros for `flags' arg to x_clear_image_1.
547c9269
YM
409 (postprocess_image, xpm_load_image, x_build_heuristic_mask)
410 (png_load_body): Use x_clear_image_1 instead of Free_Pixmap.
04b66ce7 411 (ZPixmap, XGetImage) [HAVE_NS]: Remove.
547c9269
YM
412 (image_get_x_image_or_dc, image_unget_x_image_or_dc)
413 (image_get_x_image, image_unget_x_image): New functions or macros.
414 (image_background, image_background_transparent, x_to_xcolors)
415 (x_build_heuristic_mask): Use image_get_x_image_or_dc instead of
416 XGetImage or CreateCompatibleDC. Use image_unget_x_image_or_dc
417 instead of Destroy_Image.
418 (image_create_x_image_and_pixmap, image_put_x_image): New functions.
419 (xpm_load_image, x_from_xcolors, x_build_heuristic_mask, pbm_load)
420 (png_load_body, jpeg_load_body, tiff_load, gif_load)
421 (imagemagick_load_image, svg_load_image): Use them instead of
422 x_create_x_image_and_pixmap, and x_put_x_image followed by
423 x_destroy_x_image, respectively.
424 (xpm_load) [HAVE_XPM && !HAVE_NTGUI]: Use XpmReadFileToImage and
425 XpmCreateImageFromBuffer instead of XpmReadFileToPixmap and
426 XpmCreatePixmapFromBuffer. Create pixmaps. Fill background and
427 background_transparent fields.
428 (image_sync_to_pixmaps) [HAVE_X_WINDOWS]: New function.
429 (prepare_image_for_display, x_disable_image) [HAVE_X_WINDOWS]: Use it.
430
dae2f5ef
PE
4312013-06-27 Paul Eggert <eggert@cs.ucla.edu>
432
433 Do not tickle glib SIGCHLD handling if Cygwin (Bug#14569).
434 This mostly consists of undoing recent changes.
435 * callproc.c (Fcall_process):
436 * process.c (create_process):
437 Do not worry about catching SIGCHLD here, undoing previous change.
438 * nsterm.m (ns_term_init): Re-catch SIGCHLD, undoing previous change.
439 * process.c, process.h (catch_child_signal):
440 No longer extern if !NS_IMPL_GNUSTEP, undoing 06-22 change.
441 * process.c (catch_child_handler): Don't worry about being called
442 lazily and do not assume caller has blocked SIGCHLD, undoing
443 previous change. Move first-time stuff back to
444 init_process_emacs, undoing 06-22 change. If CYGWIN, do not
445 tickle glib, as that causes Cygwin bootstrap to fail. Do not
446 set lib_child_handler if it's already initialized, which may
447 help avoid problems on GNUStep.
448
fa55d2aa
PE
4492013-06-23 Paul Eggert <eggert@cs.ucla.edu>
450
451 A more-conservative workaround for Cygwin SIGCHLD issues (Bug#14569).
452 * callproc.c (Fcall_process):
453 * process.c (create_process):
454 Make sure SIGCHLD is caught before we fork,
455 since Emacs startup no arranges to catch SIGCHLD.
456 * process.c (lib_child_handler): Initialize to null, not to
457 dummy_handler.
458 (catch_child_signal): Allow self to be called lazily.
459 Do nothing if it's already been called.
460 Assume caller has blocked SIGCHLD (all callers do now).
461 * emacs.c (main): Do not catch SIGCHLD here; defer it until
462 just before it's really needed.
463 * nsterm.m (ns_term_init): No need to re-catch SIGCHLD here,
464 since it hasn't been caught yet.
465
f3f9606c
LMI
4662013-06-23 Lars Magne Ingebrigtsen <larsi@gnus.org>
467
468 * image.c (compute_image_size): New function to implement
469 :max-width and :max-height.
470 (imagemagick_load_image): Use it.
471
c7041908
PE
4722013-06-23 Paul Eggert <eggert@cs.ucla.edu>
473
474 Try to avoid malloc SEGVs on Cygwin (Bug#14569).
475 * callproc.c, process.h (block_child_signal, unblock_child_signal):
476 Now extern.
477 * emacs.c (main): Catch SIGCHLD just before initializing gfilenotify.
478 * process.c (catch_child_signal): Block SIGCHLD while futzing with
479 the SIGCHLD handler, since the code is not atomic and (due to glib)
480 signals may be arriving now.
481 * sysdep.c (init_signals): Do not catch child signals here;
482 'main' now does that later, at a safer time.
483
f86852b4
PE
4842013-06-22 Paul Eggert <eggert@cs.ucla.edu>
485
0dfeed58
PE
486 Clean up SIGCHLD handling a bit (Bug#14569).
487 * process.c, process.h (catch_child_signal):
488 Now always extern, even if !NS_IMPL_GNUSTEP.
489 * process.c (catch_child_signal): Move glib tickler here from
490 init_process_emacs, so that it's done earlier in Emacs
491 initialization. Also move the noninteractive && !initialized
492 check here from init_process_emacs. This is all a bit cleaner for
493 GNUish platforms, and I hope it works around the Cygwin bug.
494 * sysdep.c (init_signals): Invoke catch_child_signal here, so
495 that glib signal handling is tickled before glib creates threads.
496
f86852b4
PE
497 * process.c (wait_reading_process_output): Avoid int overflow
498 when reading more than 2 GiB total from a process.
499
cbd6509c
PE
5002013-06-21 Paul Eggert <eggert@cs.ucla.edu>
501
502 * process.c (create_process): Handle a couple more cases,
503 i.e., work even if new_argv and wait_child_setup[i] are cached.
504 Use Fcall_process's style for volatile vars.
505
9de1114a
AS
5062013-06-21 Andreas Schwab <schwab@linux-m68k.org>
507
508 * process.c (create_process): Mark PROCESS volatile.
509
fbe9e0b9
PE
5102013-06-21 Paul Eggert <eggert@cs.ucla.edu>
511
512 Use C99-style flexible array members if available.
513 This avoids some subtle aliasing issues, which typically
514 aren't a problem with GCC but may be a problem elsewhere.
515 * alloc.c (sdata): New typedef, replacing the old struct sdata.
516 It is a struct if GC_CHECK_STRING_BYTES, a union otherwise.
517 In either case, it uses a flexible array member rather than
518 the old struct hack. All uses changed.
519 (SDATA_NBYTES, sweep_strings) [!GC_CHECK_STRING_BYTES]:
520 Adjust to sdata reorganization.
521 * alloc.c (VBLOCK_BYTES_MIN, allocate_vectorlike, Fgarbage_collect):
522 Use offsetof (struct, flex_array_member), not sizeof (struct), as
523 that ports better to pre-C99 non-GCC.
524 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
525 Use CHAR_TABLE_STANDARD_SLOTS rather than its definition,
526 as the latter has changed.
527 * conf_post.h (FLEXIBLE_ARRAY_MEMBER): Move here from w32.c,
528 and port better to pre-C99 GCC.
529 * image.c (struct xpm_cached_color):
530 * lisp.h (struct Lisp_Vector, struct Lisp_Bool_Vector)
531 (struct Lisp_Char_Table, struct Lisp_Sub_Char_Table):
532 Use FLEXIBLE_ARRAY_MEMBER.
533 * lisp.h (string_bytes) [GC_CHECK_STRING_BYTES]:
534 Move decl to top level so it gets checked against implementation.
535 (CHAR_TABLE_STANDARD_SLOTS): Adjust to struct Lisp_Char_Table change.
536 * w32.c (FLEXIBLE_ARRAY_MEMBER): Move to conf_post.h.
537
1fc71008
PE
5382013-06-20 Paul Eggert <eggert@cs.ucla.edu>
539
540 * syntax.c: Integer cleanups.
541 (SYNTAX_FLAGS_COMMENT_STYLEC): Return a boolean, not 0-or-2.
542 All uses that need 0-or-2 changed to:
543 (SYNTAX_FLAGS_COMMENT_STYLEC2): New macro, with the same semantics
544 as the old SYNTAX_FLAGS_COMMENT_STYLEC.
545 (struct lisp_parse_state, syntax_prefix_flag_p, update_syntax_table)
546 (char_quoted, prev_char_comend_first, back_comment)
547 (Finternal_describe_syntax_value, skip_chars, skip_syntaxes)
548 (in_classes, forw_comment, scan_lists, scan_sexps_forward):
549 Use bool for boolean.
550 (update_syntax_table, skip_chars, skip_syntaxes):
551 Prefer int to unsigned when either will do.
552 (back_comment): Return boolean success flag, like forw_comment,
553 instead of positive-or-minus-1 (which might have overflowed int anyway).
554 Don't stuff ptrdiff_t into int.
555 (syntax_spec_code, syntax_code_spec): Now const.
556 (Fmatching_paren, scan_lists, scan_sexps_forward):
557 Use enum syntaxcode for syntax code.
558 (Fmatching_paren): Check that arg is a character, not just an integer.
559 (Fstring_to_syntax): Don't assume 0377 fits in enum syntaxcode.
560 (Finternal_describe_syntax_value): Omit no-longer-needed
561 comparison to 0.
562 (skip_chars): Use char, not unsigned char, when the distinction
563 doesn't matter.
564 (forw_comment, scan_lists): Prefer A |= B to A = A || B when B's cheap.
565 * bytecode.c (exec_byte_code):
566 * syntax.c (syntax_spec_code, Fchar_syntax)
567 (Finternal_describe_syntax_value, skip_chars, skip_syntaxes)
568 (init_syntax_once):
569 * syntax.h (SYNTAX_WITH_FLAGS):
570 Omit unnecessary casts.
571
b932cad7
EZ
5722013-06-20 Eli Zaretskii <eliz@gnu.org>
573
574 * w32fns.c (w32_wnd_proc): Don't compute the header line and mode
575 line dimensions here, to avoid race conditions with the main
576 thread. (Bug#14062, bug#14630, bug#14669)
577
578 * w32term.c (w32_draw_window_cursor): Compute the header line and
579 mode line dimensions here.
580 <w32_system_caret_window, w32_system_caret_hdr_height>:
581 <w32_system_caret_mode_height>: New variables.
582
583 * w32term.h: Declare them.
584
89561f72
PE
5852013-06-20 Paul Eggert <eggert@cs.ucla.edu>
586
5013fc08
PE
587 * alloc.c (die): Move "assertion failed" string here ...
588 * lisp.h (eassert): ... from here. Also, suppress evaluation of
589 COND when SUPPRESS_CHECKING. This shrinks the executable text
590 size by 0.8% to 2.2% when configured with --enable-checking,
591 depending on optimization flags (GCC 4.8.1 x86-64).
592
89561f72
PE
593 * floatfns.c (Flog10): Move to Lisp (marked obsolete there).
594
5952013-06-20 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
596
597 * floatfns.c (Flog) [HAVE_LOG2]: Use log2 if available and if the
598 base is 2; this is more accurate.
599
983aeb9a
JB
6002013-06-19 Juanma Barranquero <lekktu@gmail.com>
601
602 * sound.c (string_default): Move to !WINDOWSNT section.
603 (Fplay_sound_internal) [WINDOWSNT]: Remove i_result to avoid warning.
604
178ba3e6
PE
6052013-06-19 Paul Eggert <eggert@cs.ucla.edu>
606
bbc51b15
PE
607 * sound.c: Integer cleanups.
608 Remove unnecessary forward decls.
609 (struct sound_device): The 'file' member is now a Lisp_Object, not
610 a char *, so that we needn't invoke alloca on a huge size.
611 (Fplay_sound_internal): Adjust to this.
612 (string_default): New function.
613 (vox_open, vox_init, alsa_open, alsa_configure, alsa_init):
614 Use it to adjust to the struct sound_device change.
615 (parse_sound, wav_init, au_init, alsa_init): Use bool for booleans.
616 (be2hs) [0]: Remove.
617
178ba3e6
PE
618 * syntax.c (skip_chars): Don't use uninitialized storage
619 when searching a multibyte buffer for characters that are not in a
620 unibyte string that contains non-ASCII characters.
621
69f60cdc
JD
6222013-06-18 Jan Djärv <jan.h.d@swipnet.se>
623
624 * process.c: Include xgselect.h if HAVE_GLIB. Include glib.h
625 if HAVE_GLIB && ! WINDOWSNT (Bug#14654).
626
0d6224d4
PE
6272013-06-18 Paul Eggert <eggert@cs.ucla.edu>
628
629 * conf_post.h: Add comments for INLINE, EXTERN_INLINE, etc.
630
3c542890
KH
6312013-06-18 Kenichi Handa <handa@gnu.org>
632
f7e3f7cd
KH
633 * font.c (Ffont_spec): Signal an error for an invalid font name
634 (Bug#14648).
3c542890 635
9349e5f7
PE
6362013-06-18 Paul Eggert <eggert@cs.ucla.edu>
637
638 Porting fixes for merged specpdl and backtrace stacks (Bug#14643).
639 In particular this ports to 32-bit sparc Sun cc.
640 * eval.c (init_eval_once, grow_specpdl): Allocate a specbinding
641 array with a dummy element at specpdl[-1], so that its address can
642 be taken portably.
643 (unbind_to): Do not copy the binding; not needed, now that we
644 copy old_value in the one place where the copy is needed.
645 * fileio.c (Fwrite_region): Use ptrdiff_t, not int, for specpdl count.
646 * lisp.h (BITS_PER_PTRDIFF_T): Remove; no longer needed.
647 (union specbinding): Rename from struct specbinding. Redo layout
648 to avoid the need for 'ptrdiff_t nargs : BITS_PER_PTRDIFF_T - 1;',
649 which is not portable. With Sun C 5.12 32-bit sparc, the
650 declaration causes nargs to be an unsigned bitfield, a behavior
651 that the C standard allows; but Emacs wants nargs to be signed.
652 The overall type is now a union of structures rather than a
653 structure of union of structures, and the 'kind' member is now a
654 bitfield, so that the overall type doesn't grow. All uses changed.
655 * process.c (Fmake_serial_process): Remove unnecessary initialization.
656
0a4df6a5
PE
6572013-06-17 Paul Eggert <eggert@cs.ucla.edu>
658
ec6ecaad
PE
659 * frame.c (x_report_frame_params): Cast parent_desc to uintptr_t.
660 Needed if HAVE_NTGUI. Reported by Juanma Barranquero.
661
0a4df6a5
PE
662 * nsfont.m (ns_registry_to_script): Parenthesize while expression.
663
7bfe8dbc
EZ
6642013-06-17 Eli Zaretskii <eliz@gnu.org>
665
666 * w32fns.c (w32_wnd_proc): Don't call WINDOW_HEADER_LINE_HEIGHT
667 unless we know that the window w's frame is a frame object.
668 Another attempt at solving bug#14062 and bug#14630.
669
708e05f6
LMI
6702013-06-17 Lars Magne Ingebrigtsen <larsi@gnus.org>
671
672 * textprop.c (property_set_type): New enum.
673 (add_properties): Allow appending/prepending text properties.
674 (add_text_properties_1): Factored out of Fadd_text_properties.
ef099a94 675 (Fadd_text_properties): Move all the code into
708e05f6
LMI
676 add_text_properties_1.
677 (Fadd_face_text_property): New function that calls
678 add_text_properties_1.
679
84575e67
PE
6802013-06-17 Paul Eggert <eggert@cs.ucla.edu>
681
682 Move functions from lisp.h to individual modules when possible.
683 From a suggestion by Andreas Schwab in <http://bugs.gnu.org/11935#68>.
684 * alloc.c (XFLOAT_INIT, set_symbol_name):
685 * buffer.c (CHECK_OVERLAY):
686 * chartab.c (CHECK_CHAR_TABLE, set_char_table_ascii)
687 (set_char_table_parent):
688 * coding.c (CHECK_NATNUM_CAR, CHECK_NATNUM_CDR):
689 * data.c (BOOLFWDP, INTFWDP, KBOARD_OBJFWDP, OBJFWDP, XBOOLFWD)
690 (XKBOARD_OBJFWD, XINTFWD, XOBJFWD, CHECK_SUBR, set_blv_found)
691 (blv_value, set_blv_value, set_blv_where, set_blv_defcell)
692 (set_blv_valcell):
693 * emacs.c (setlocale) [!HAVE_SETLOCALE]:
694 * eval.c (specpdl_symbol, specpdl_old_value, specpdl_where)
695 (specpdl_arg, specpdl_func, backtrace_function, backtrace_nargs)
696 (backtrace_args, backtrace_debug_on_exit):
697 * floatfns.c (CHECK_FLOAT):
698 * fns.c (CHECK_HASH_TABLE, CHECK_LIST_END)
699 (set_hash_key_and_value, set_hash_next, set_hash_next_slot)
700 (set_hash_hash, set_hash_hash_slot, set_hash_index)
701 (set_hash_index_slot):
702 * keymap.c (CHECK_VECTOR_OR_CHAR_TABLE):
703 * marker.c (CHECK_MARKER):
704 * textprop.c (CHECK_STRING_OR_BUFFER):
705 * window.c (CHECK_WINDOW_CONFIGURATION):
706 Move here from lisp.h, and make these functions static rather than
707 extern inline.
708 * buffer.c (Qoverlayp):
709 * data.c (Qsubrp):
710 * fns.c (Qhash_table_p):
711 * window.c (Qwindow_configuration_p):
712 Now static.
713 * lisp.h: Remove the abovementioned defns and decls.
714
715 Use functions, not macros, for XINT etc. (Bug#11935).
716 In lisp.h, prefer functions to function-like macros, and
717 constants to object-like macros, when either will do. This:
718 . simplifies use, as there's no more need to worry about
719 arguments' side effects being evaluated multiple times.
720 . makes the code easier to debug on some platforms.
721 However, when using gcc -O0, keep using function-like macros
722 for a few critical operations, for performance reasons.
723 This sort of thing isn't needed with gcc -Og, but -Og
724 is a GCC 4.8 feature and isn't widely-enough available yet.
725 * alloc.c (gdb_make_enums_visible) [USE_LSB_TAG]:
726 Remove enum lsb_bits; no longer needed.
727 (allocate_misc, free_misc): Don't use XMISCTYPE as an lvalue.
728 * buffer.c (Qoverlap):
729 * data.c (Qsubrp):
730 * fns.c (Qhash_table_p):
731 Now extern, so lisp.h can use these symbols.
732 * dispextern.h: Include character.h, for MAX_CHAR etc.
733 (GLYPH, GLYPH_CHAR, GLYPH_FACE, SET_GLYPH_CHAR, SET_GLYPH_FACE)
734 (SET_GLYPH, GLYPH_CODE_CHAR, GLYPH_CODE_FACE)
735 (SET_GLYPH_FROM_GLYPH_CODE, GLYPH_MODE_LINE_FACE, GLYPH_CHAR_VALID_P)
736 (GLYPH_CODE_P): Move here from lisp.h.
737 (GLYPH_CHAR, GLYPH_FACE, GLYPH_CODE_CHAR, GLYPH_CODE_FACE)
738 (GLYPH_CHAR_VALID_P, GLYPH_CODE_P): Now functions, not macros.
739 (GLYPH_MODE_LINE_FACE): Now enums, not macros.
740 * eval.c (Fautoload): Cast XUNTAG output to intptr_t, since
741 XUNTAG now returns void *.
742 * lisp.h (lisp_h_XLI, lisp_h_XIL, lisp_h_CHECK_LIST_CONS)
743 (lisp_h_CHECK_NUMBER CHECK_SYMBOL, lisp_h_CHECK_TYPE)
744 (lisp_h_CONSP, lisp_h_EQ, lisp_h_FLOATP, lisp_h_INTEGERP)
745 (lisp_h_MARKERP, lisp_h_MISCP, lisp_h_NILP)
746 (lisp_h_SET_SYMBOL_VAL, lisp_h_SYMBOL_CONSTANT_P)
747 (lisp_h_SYMBOL_VAL, lisp_h_SYMBOLP, lisp_h_VECTORLIKEP)
748 (lisp_h_XCAR, lisp_h_XCDR, lisp_h_XCONS, lisp_h_XHASH)
749 (lisp_h_XPNTR, lisp_h_XSYMBOL):
750 New macros, renamed from their sans-lisp_h_ counterparts.
751 (XLI, XIL, CHECK_LIST_CONS, CHECK_NUMBER CHECK_SYMBOL)
752 (CHECK_TYPE, CONSP, EQ, FLOATP, INTEGERP, MARKERP)
753 (MISCP, NILP, SET_SYMBOL_VAL, SYMBOL_CONSTANT_P, SYMBOL_VAL, SYMBOLP)
754 (VECTORLIKEP, XCAR, XCDR, XCONS, XHASH, XPNTR, XSYMBOL):
755 If compiling via GCC without optimization, define these as macros
756 in addition to inline functions.
757 To disable this, compile with -DINLINING=0.
758 (LISP_MACRO_DEFUN, LISP_MACRO_DEFUN_VOID): New macros.
759 (check_cons_list) [!GC_CHECK_CONS_LIST]: Likewise.
760 (make_number, XFASTINT, XINT, XTYPE, XUNTAG): Likewise, but
761 hand-optimize only in the USE_LSB_TAG case, as GNUish hosts do that.
762 (INTMASK, VALMASK): Now macros, since static values cannot be
763 accessed from extern inline functions.
764 (VALMASK): Also a constant, for benefit of old GDB.
765 (LISP_INT_TAG_P): Remove; no longer needed as the only caller
766 is INTEGERP, which can fold it in.
5165d44a 767 (XLI, XIL, XHASH, XTYPE, XINT, XFASTINT, XUINT)
84575e67
PE
768 (make_number, XPNTR, XUNTAG, EQ, XCONS, XVECTOR, XSTRING, XSYMBOL)
769 (XFLOAT, XPROCESS, XWINDOW, XTERMINAL, XSUBR, XBUFFER, XCHAR_TABLE)
770 (XSUB_CHAR_TABLE, XBOOL_VECTOR, make_lisp_ptr, CHECK_TYPE)
771 (CHECK_STRING_OR_BUFFER, XCAR, XCDR, XSETCAR, XSETCDR, CAR, CDR)
772 (CAR_SAFE, CDR_SAFE, STRING_MULTIBYTE, SDATA, SSDATA, SREF, SSET)
773 (SCHARS, STRING_BYTES, SBYTES, STRING_SET_CHARS, STRING_COPYIN, AREF)
774 (ASIZE, ASET, CHAR_TABLE_REF_ASCII, CHAR_TABLE_REF)
775 (CHAR_TABLE_SET, CHAR_TABLE_EXTRA_SLOTS, SYMBOL_VAL, SYMBOL_ALIAS)
776 (SYMBOL_BLV, SYMBOL_FWD, SET_SYMBOL_VAL, SET_SYMBOL_ALIAS)
777 (SET_SYMBOL_BLV, SET_SYMBOL_FWD, SYMBOL_NAME, SYMBOL_INTERNED_P)
778 (SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P, SYMBOL_CONSTANT_P)
779 (XHASH_TABLE, HASH_TABLE_P, CHECK_HASH_TABLE, HASH_KEY, HASH_VALUE)
780 (HASH_NEXT, HASH_HASH, HASH_INDEX, HASH_TABLE_SIZE)
781 (XMISC, XMISCANY, XMARKER, XOVERLAY, XSAVE_VALUE, XFWDTYPE)
782 (XINTFWD, XBOOLFWD, XOBJFWD, XBUFFER_OBJFWD, XKBOARD_OBJFWD)
783 (XFLOAT_DATA, XFLOAT_INIT, NILP, NUMBERP, NATNUMP)
784 (RANGED_INTEGERP, CONSP, FLOATP, MISCP, STRINGP, SYMBOLP)
785 (INTEGERP, VECTORLIKEP, VECTORP, OVERLAYP)
786 (MARKERP, SAVE_VALUEP, AUTOLOADP, INTFWDP, BOOLFWDP, OBJFWDP)
787 (BUFFER_OBJFWDP, KBOARD_OBJFWDP, PSEUDOVECTOR_TYPEP)
788 (PSEUDOVECTORP, WINDOW_CONFIGURATIONP, PROCESSP, WINDOWP)
789 (TERMINALP, SUBRP, COMPILEDP, BUFFERP, CHAR_TABLE_P)
790 (SUB_CHAR_TABLE_P, BOOL_VECTOR_P, FRAMEP, IMAGEP, ARRAYP)
791 (CHECK_LIST, CHECK_LIST_CONS, CHECK_LIST_END, CHECK_STRING)
792 (CHECK_STRING_CAR, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
793 (CHECK_VECTOR, CHECK_VECTOR_OR_STRING, CHECK_ARRAY)
794 (CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER, CHECK_WINDOW)
795 (CHECK_WINDOW_CONFIGURATION, CHECK_PROCESS, CHECK_SUBR)
796 (CHECK_NUMBER, CHECK_NATNUM, CHECK_MARKER, XFLOATINT)
797 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT, CHECK_OVERLAY)
798 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR, CHECK_NATNUM_CAR)
799 (CHECK_NATNUM_CDR, FUNCTIONP, SPECPDL_INDEX, LOADHIST_ATTACH)
800 Now functions.
801 (check_cons_list) [!GC_CHECK_CONS_LIST]: New empty function.
802 (LISP_MAKE_RVALUE, TYPEMASK): Remove; no longer needed.
803 (VALMASK): Define in one place rather than in two, merging the
804 USE_LSB_TAG parts; this is simpler.
805 (aref_addr, gc_aset, MOST_POSITIVE_FIXNUM, MOST_NEGATIVE_FIXNUM)
806 (max, min, struct Lisp_String, UNSIGNED_CMP, ASCII_CHAR_P):
807 Move up, to avoid use before definition.
808 Also include "globals.h" earlier, for the same reason.
809 (make_natnum): New function.
810 (XUNTAG): Now returns void *, not intptr_t, as this means fewer casts.
811 (union Lisp_Fwd, BOOLFWDP, BOOL_VECTOR_P, BUFFER_OBJFWDP, BUFFERP)
812 (CHAR_TABLE_P, CHAR_TABLE_REF_ASCII, CONSP, FLOATP, INTEGERP, INTFWDP)
813 (KBOARD_OBJFWDP, MARKERP, MISCP, NILP, OBJFWDP, OVERLAYP, PROCESSP)
814 (PSEUDOVECTORP, SAVE_VALUEP, STRINGP, SUB_CHAR_TABLE_P, SUBRP, SYMBOLP)
815 (VECTORLIKEP, WINDOWP, Qoverlayp, char_table_ref, char_table_set)
816 (char_table_translate, Qarrayp, Qbufferp, Qbuffer_or_string_p)
817 (Qchar_table_p, Qconsp, Qfloatp, Qintegerp, Qlambda, Qlistp, Qmarkerp)
818 (Qnil, Qnumberp, Qsubrp, Qstringp, Qsymbolp, Qvectorp)
819 (Qvector_or_char_table_p, Qwholenump, Ffboundp, wrong_type_argument)
820 (initialized, Qhash_table_p, extract_float, Qprocessp, Qwindowp)
821 (Qwindow_configuration_p, Qimage): New forward declarations.
822 (XSETFASTINT): Simplify by rewriting in terms of make_natnum.
823 (STRING_COPYIN): Remove; unused.
824 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Remove these macros, replacing with ...
825 (xcar_addr, xcdr_addr): New functions. All uses changed.
826 (IEEE_FLOATING_POINT): Now a constant, not a macro.
827 (GLYPH, GLYPH_CHAR, GLYPH_FACE, SET_GLYPH_CHAR, SET_GLYPH_FACE)
828 (SET_GLYPH, GLYPH_CODE_CHAR, GLYPH_CODE_FACE)
829 (SET_GLYPH_FROM_GLYPH_CODE, GLYPH_MODE_LINE_FACE, GLYPH_CHAR_VALID_P)
830 (GLYPH_CODE_P): Move to dispextern.h, to avoid define-before-use.
831 (TYPE_RANGED_INTEGERP): Simplify.
832 (Qsubrp, Qhash_table_p, Qoverlayp): New extern decls.
833 (setlocale, fixup_locale, synchronize_system_messages_locale)
834 (synchronize_system_time_locale) [!HAVE_SETLOCALE]:
835 Now empty functions, not macros.
836 (functionp): Return bool, not int.
837 * window.c (Qwindow_configuration_p): Now extern,
838 so window.h can use it.
839 * window.h (Qwindowp): Move decl back to lisp.h.
840
9583ec36
EZ
8412013-06-15 Eli Zaretskii <eliz@gnu.org>
842
843 * xdisp.c (Fline_pixel_height): New function, required for solving
844 bug #14567.
845
210272ce
PE
8462013-06-15 Paul Eggert <eggert@cs.ucla.edu>
847
848 * fns.c (Fcopy_sequence): Simplify XTYPE calculation.
849
de0503df
SM
8502013-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
851
852 * lread.c (syms_of_lread):
853 * fns.c (Fprovide): Adjust to new format of after-load-alist.
854
afbfe143
KD
8552013-06-13 Kelly Dean <kellydeanch@yahoo.com> (tiny change)
856
857 * fileio.c (Fdo_auto_save): Trap errors in auto-save-hook. (Bug#14479)
858
d177e213
XF
8592013-06-12 Xue Fuqiao <xfq.free@gmail.com>
860
861 * fileio.c (expand_file_name): Doc fix.
862
05e3e412
PE
8632013-06-11 Paul Eggert <eggert@cs.ucla.edu>
864
f7394b12
PE
865 Tickle glib by waiting for Emacs itself, not for process 0 (Bug#14569).
866 * process.c (init_process_emacs) [HAVE_GLIB && !WINDOWSNT]:
867 Wait for self, not for 0. This can't hurt on GNU or similar
868 system, and may help with Cygwin.
869
05e3e412
PE
870 * keyboard.c: Don't use PROP (...) as an lvalue.
871 (parse_tool_bar_item) [!USE_GTK && !HAVE_NS]:
872 Use set_prop (A, B), not PROP (A) = B.
873
17dd3097
EZ
8742013-06-10 Eli Zaretskii <eliz@gnu.org>
875
876 * xdisp.c (get_it_property): Use it->window instead of generating
877 a Lisp object from it->w.
878
52fab9c9
EZ
8792013-06-09 Eli Zaretskii <eliz@gnu.org>
880
881 * xdisp.c (get_it_property): If it->object is a buffer, pass to
882 get-char-property the window that is being rendered, instead of
883 the buffer, to support window-specific overlays. (Bug#14575)
ad257d4f
EZ
884 (compute_display_string_pos): When W is NULL, use the current
885 buffer as the object to pass to get-char-property.
886 (Fcurrent_bidi_paragraph_direction): Assign NULL to the window
887 pointer member of the bidi iterator, since no window is pertinent
888 to this function.
52fab9c9 889
5bf97bfc
EZ
8902013-06-08 Eli Zaretskii <eliz@gnu.org>
891
892 * bidi.c (bidi_fetch_char): Accept additional argument, the window
893 being displayed, and pass it to compute_display_string_pos.
894 (bidi_level_of_next_char, bidi_resolve_explicit_1)
895 (bidi_paragraph_init): All callers changed.
896
897 * xdisp.c (init_from_display_pos, init_iterator)
898 (handle_single_display_spec, next_overlay_string)
899 (get_overlay_strings_1, reseat_1, reseat_to_string)
e7b41c4c
JB
900 (push_prefix_prop, Fcurrent_bidi_paragraph_direction):
901 Set bidi_it.w member from it->w.
5bf97bfc
EZ
902 (compute_display_string_pos): Accept additional argument, the
903 window being displayed, and pass it to Fget_char_property.
904 (Bug#14575)
905
906 * dispextern.h (struct bidi_it): New member w, the window being
907 displayed.
908 (compute_display_string_pos): Adjust prototype.
909
5de0e011
JD
9102013-06-08 Jan Djärv <jan.h.d@swipnet.se>
911
e7b41c4c 912 * xgselect.c: Remove unneeded include xterm.h.
b33f93ee
JD
913
914 * process.c (wait_reading_process_output): Check for NS before GLIB.
915 GLIB may be linked in due to rsvg, but ns_select must be called.
916
5de0e011
JD
917 * xgselect.c (xg_select): Remove call to window_system_available
918 and g_main_context_pending at the top, so Gdk events (i.e. file
919 notify) are processed when Emacs is started with -nw.
920
a822acff
EZ
9212013-06-07 Eli Zaretskii <eliz@gnu.org>
922
923 * Makefile.in (ctagsfiles1, ctagsfiles2): Don't include *.m files.
924 (ctagsfiles3): New variable, includes only *.m files.
925 (TAGS): Use an explicit language name in the regular expressions,
926 to avoid transformation of '/SOMETHING' by MSYS to
927 'c:\MSYS\SOMETHING'.
928
6c0a9ed1
RC
9292013-06-07 Richard Copley <rcopley@gmail.com> (tiny change)
930
931 * epaths.in: Fix commentary to PATH_SITELOADSEARCH.
932
9ef6111b
EZ
9332013-06-06 Eli Zaretskii <eliz@gnu.org>
934
935 * xdisp.c (note_mouse_highlight): When mouse-highlight is off,
936 still need to set the mouse pointer shape and activate help-echo.
937 (Bug#14558)
938
7d300d64
PE
9392013-06-06 Paul Eggert <eggert@cs.ucla.edu>
940
941 A few porting etc. fixes for the new file monitor code.
942 See the thread containing
943 <http://lists.gnu.org/archive/html/emacs-devel/2013-06/msg00109.html>.
944 * gfilenotify.c (dir_monitor_callback, Fgfile_add_watch)
945 (Fgfile_rm_watch): Don't assume EMACS_INT is the same width as a pointer.
946 (dir_monitor_callback, Fgfile_rm_watch):
947 Use assq_no_quit instead of Fassoc, for speed.
948 (dir_monitor_callback, Fgfile_rm_watch):
949 eassert that the monitor is a fixnum.
950 (dir_monitor_callback): No need for CDR_SAFE.
951 Simplify building of lisp with alternative tails.
952 (Fgfile_add_watch, Fgfile_rm_watch):
953 Do not assume glib functions set errno reliably on failure.
954 (Fgfile_add_watch): Check that the monitor survives the XIL trick,
955 and signal an error otherwise.
956 (Fgfile_rm_watch): Prefer CONSP to !NILP.
957 Use Fdelq instead of Fdelete, for speed.
958
817ebfcf
EZ
9592013-06-05 Eli Zaretskii <eliz@gnu.org>
960
961 * xdisp.c (handle_tool_bar_click): When mouse-highlight is off,
962 don't insist on being invoked on a highlighted tool-bar button.
963 Avoids losing tool-bar functionality when mouse-highlight is nil.
964 (note_tool_bar_highlight, note_mode_line_or_margin_highlight):
965 Don't highlight when mouse-highlight is nil.
966 (note_mouse_highlight): When mouse-highlight is nil, don't return
967 right away; instead, run tool-bar and mode-line highlight
968 subroutine, clear any existing highlight, and revert the mouse
969 pointer to its default shape. (Bug#14558)
970
55577e7c
SM
9712013-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
972
973 * lisp.mk (lisp): Add prog-mode.el.
974
f019a684
PE
9752013-06-05 Paul Eggert <eggert@cs.ucla.edu>
976
977 Chain glib's SIGCHLD handler from Emacs's (Bug#14474).
978 * process.c (dummy_handler): New function.
979 (lib_child_handler): New static var.
980 (handle_child_signal): Invoke it.
981 (catch_child_signal): If a library has set up a signal handler,
982 save it into lib_child_handler.
983 (init_process_emacs): If using glib and not on Windows, tickle glib's
984 child-handling code so that it initializes its private SIGCHLD handler.
985 * syssignal.h (SA_SIGINFO): Default to 0.
986 * xterm.c (x_term_init): Remove D-bus hack that I installed on May
987 31; it should no longer be needed now.
988
90db8702
MA
9892013-06-05 Michael Albinus <michael.albinus@gmx.de>
990
991 * emacs.c (main) [HAVE_GFILENOTIFY]: Call globals_of_gfilenotify.
992
993 * gfilenotify.c (globals_of_gfilenotify): New function.
994 (syms_of_gfilenotify): Move global initialization there.
995
996 * lisp.h (globals_of_gfilenotify) [HAVE_GFILENOTIFY]: Add prototype.
997
bfa3acd6
SM
9982013-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
999
1000 * keymap.c (Fcurrent_active_maps, Fdescribe_buffer_bindings):
1001 * keyboard.c (menu_bar_items, tool_bar_items):
1002 * doc.c (Fsubstitute_command_keys): Voverriding_terminal_local_map does
1003 not override local keymaps any more.
1004
ba59bd80
EZ
10052013-06-04 Eli Zaretskii <eliz@gnu.org>
1006
1007 * window.c (Fpos_visible_in_window_p): Doc fix. (Bug#14540)
1008
7f203aa1
EZ
10092013-06-03 Eli Zaretskii <eliz@gnu.org>
1010
9337e206
EZ
1011 * w32console.c (initialize_w32_display): Return the dimensions of
1012 the console window via 2 additional arguments, not via the current
1013 frame. This avoids crashes due to overrunning the bounds of
1014 frame's decode_mode_spec_buffer, which is not resized following
1015 the change of the frame dimensions from the initial 10x10.
1016
1017 * w32term.h (w32_initialize_display_info): Adjust prototype.
1018
1019 * term.c (init_tty): Take dimensions of the frame from the values
1020 returned by initialize_w32_display.
1021
7f203aa1
EZ
1022 * Makefile.in (GFILENOTIFY_CFLAGS, GFILENOTIFY_LIBS): New variables.
1023 (ALL_CFLAGS): Add $(GFILENOTIFY_CFLAGS).
1024 (LIBES): Add $(GFILENOTIFY_LIBS).
1025
1026 * w32inevt.c (handle_file_notifications): Add dummy implementation
1027 for !HAVE_W32NOTIFY.
1028
1029 * w32term.c: Wrap code with HAVE_W32NOTIFY.
1030
55a87246
JD
10312013-06-03 Jan Djärv <jan.h.d@swipnet.se>
1032
1033 * xgselect.c: Replace #if defined ... with #ifdef HAVE_GLIB.
1034
1035 * process.c (wait_reading_process_output): Call xg_select if HAVE_GLIB.
1036
1037 * Makefile.in (XGSELOBJ): New, xgselect.o if GLib is used, or empty.
1038
3d5ee10a
PE
10392013-06-03 Paul Eggert <eggert@cs.ucla.edu>
1040
1041 Fix minor problems found by static checking.
1042 * data.c (pure_write_error):
1043 Use xsignal2, not Fsignal, as Fsignal might return.
1044 * eval.c (set_backtrace_debug_on_exit): Now static.
1045 (backtrace_p, backtrace_top, backtrace_next, record_in_backtrace):
1046 No longer inline. EXTERN_INLINE is needed only for functions
1047 defined in .h files. Reindent function header as per GNU style.
1048 (backtrace_p, backtrace_top, backtrace_next):
1049 Mark EXTERNALLY_VISIBLE so they don't get optimized away by the
1050 compiler or linker. Add extern decls to pacify gcc -Wall.
1051 * frame.c, frame.h (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource):
1052 Now static.
1053 * frame.c (free_monitors): Define only on platforms that need it.
1054 * nsterm.m (ns_term_init):
1055 * process.c (catch_child_signal):
1056 Don't worry about whether SIGCHLD is defined, as SIGCHLD is
1057 defined on all porting targets these days.
1058 * process.c, process.h (catch_child_signal):
1059 Make it extern only if NS_IMPL_GNUSTEP is defined.
1060
e2d8a6f0
EZ
10612013-06-03 Eli Zaretskii <eliz@gnu.org>
1062
1063 * w32.c (gettimeofday): Make the signature identical to prototype
1064 in nt/inc/sys/time.h.
1065
a8a7c5f6
SM
10662013-06-03 Stefan Monnier <monnier@iro.umontreal.ca>
1067
1068 * eval.c (backtrace_p, backtrace_top, backtrace_next): Export them to
1069 .gdbinit.
1070
1071 * keyboard.c (safe_run_hooks_error): Improve error message.
1072
1073 * data.c (pure_write_error): Add `object' argument.
1074 * puresize.h (CHECK_IMPURE): Use it.
1075
c9628c79
MA
10762013-06-03 Michael Albinus <michael.albinus@gmx.de>
1077
1078 * Makefile.in (NOTIFY_OBJ): New variable.
1079 (base_obj): Replace inotify.o by $(NOTIFY_OBJ).
1080
1081 * emacs.c (main): Use HAVE_W32NOTIFY to wrap respective code.
1082 Call syms_of_gfilenotify.
1083
1084 * gfilenotify.c: New file.
1085
1086 * keyboard.c (Qfile_notify): New variable. Replaces Qfile_inotify
1087 and Qfile_w32notify.
1088 (top): Wrap respective code by HAVE_GFILENOTIFY, HAVE_INOTIFY,
1089 HAVE_W32NOTIFY and USE_FILE_NOTIFY.
1090
1091 * lisp.h: Declare syms_of_gfilenotify.
1092
1093 * termhooks.h (e): Wrap enum by USE_FILE_NOTIFY.
1094
2f592f95
SM
10952013-06-03 Stefan Monnier <monnier@iro.umontreal.ca>
1096
1097 Merge the specpdl and backtrace stacks. Make the structure of the
1098 specpdl entries more obvious via a tagged union of structs.
1099 * lisp.h (BITS_PER_PTRDIFF_T): New constant.
1100 (enum specbind_tag): New enum.
1101 (struct specbinding): Make it a tagged union of structs.
1102 Add a case for backtrace records.
1103 (specpdl_symbol, specpdl_old_value, specpdl_where, specpdl_arg)
1104 (specpdl_func, backtrace_function, backtrace_nargs, backtrace_args)
1105 (backtrace_debug_on_exit): New accessors.
1106 (struct backtrace): Remove.
1107 (struct catchtag): Remove backlist field.
1108 * data.c (let_shadows_buffer_binding_p, let_shadows_global_binding_p):
1109 Move to eval.c.
1110 (Flocal_variable_p): Speed up the common case where the binding is
1111 already loaded.
1112 * eval.c (backtrace_list): Remove.
1113 (set_specpdl_symbol, set_specpdl_old_value): Remove.
1114 (set_backtrace_args, set_backtrace_nargs)
1115 (set_backtrace_debug_on_exit, backtrace_p, backtrace_top)
1116 (backtrace_next): New functions.
1117 (Fdefvaralias, Fdefvar): Adjust to new specpdl format.
1118 (unwind_to_catch, internal_lisp_condition_case)
1119 (internal_condition_case, internal_condition_case_1)
1120 (internal_condition_case_2, internal_condition_case_n): Don't bother
1121 with backtrace_list any more.
1122 (Fsignal): Adjust to new backtrace format.
1123 (grow_specpdl): Move up.
1124 (record_in_backtrace): New function.
1125 (eval_sub, Ffuncall): Use it.
1126 (apply_lambda): Adjust to new backtrace format.
1127 (let_shadows_buffer_binding_p, let_shadows_global_binding_p): Move from
1128 data.c.
1129 (specbind): Adjust to new specpdl format. Simplify.
1130 (record_unwind_protect, unbind_to): Adjust to new specpdl format.
1131 (Fbacktrace_debug, Fbacktrace, Fbacktrace_frame): Adjust to new
1132 backtrace format.
1133 (mark_backtrace): Remove.
1134 (mark_specpdl, get_backtrace, backtrace_top_function): New functions.
1135 * xdisp.c (redisplay_internal): Use record_in_backtrace.
1136 * alloc.c (Fgarbage_collect): Use record_in_backtrace.
1137 Use mark_specpdl.
1138 * profiler.c (record_backtrace): Use get_backtrace.
1139 (handle_profiler_signal): Use backtrace_top_function.
1140 * .gdbinit (xbacktrace, hookpost-backtrace): Use new backtrace
1141 accessor functions.
1142
c0342369
JD
11432013-06-02 Jan Djärv <jan.h.d@swipnet.se>
1144
1145 * process.h (catch_child_signal): Declare.
1146
1147 * process.c (catch_child_signal): New function.
1148 (init_process_emacs): Call it.
1149
1150 * nsterm.m: Include process.h if NS_IMPL_GNUSTEP.
1151 (ns_menu_bar_is_hidden, menu_will_open_state): Define only if
1152 NS_IMPL_COCOA.
1153 (x_set_cursor_type): Remove declaration.
1154 (ns_update_begin): Only use r and bp if NS_IMPL_COCOA.
1155 (ns_update_end, ns_focus, ns_unfocus): Remove GNUStep specific code.
1156 (x_set_window_size): Remove 3 pixels from toolbar if NS_IMPL_GNUSTEP.
1157 (ns_get_color): Use F suffix on float.
1158 (ns_color_to_lisp, ns_query_color): Use EmacsCGFloat.
1159 (ns_get_rgb_color): Remove.
1160 (x_set_frame_alpha): Move view inside NS_IMPL_COCOA.
1161 (note_mouse_movement): x and y are CGFloat.
1162 (ns_draw_fringe_bitmap): Remove unused rowY.
1163 Change #if to COCOA && >= 10_6.
1164 (ns_draw_window_cursor): Remove unused overspill.
1165 (ns_draw_underwave): width and x are EamcsCGFloat.
1166 (ns_draw_box): thickness is CGFloat.
1167 (ns_dumpglyphs_image): Change #if to COCOA && >= 10_6.
1168 (ns_send_appdefined): When NS_IMPL_GNUSTEP, redirect to main thread
1169 if not in main thread.
1170 (ns_get_pending_menu_title, ns_check_menu_open)
1171 (ns_check_pending_open_menu): Put inside #if COCOA && >= 10_5.
1172 (ns_term_init): Call catch_child_signal if NS_IMPL_GNUSTEP && SIGCHLD.
1173 (sendFromMainThread:): New method.
1174 (changeFont:): size is CGFloat.
1175 (keyDown:): Check for Delete when NS_IMPL_GNUSTEP.
1176 Disable warning about permanent text.
1177 (characterIndexForPoint:): Adjust return type depending on GNUStep
1178 version.
1179 (mouseDown:): delta is CGFloat.
1180 (updateFrameSize): Remove unised variable f.
1181 (initFrameFromEmacs): Move toggleButton inside NS_IMPL_COCOA.
1182 Cast float to EmacsCGFloat.
1183 (windowWillUseStandardFrame:defaultFrame:): Set maximized_height
1184 also to -1 when restoring.
1185 (windowDidExitFullScreen:): Put call to updateCollectionBehaviour
1186 inside NS_IMPL_COCOA.
1187 (toggleFullScreen:): Put call to toggleFullScreen inside
1188 NS_IMPL_COCOA. Cast float to EmacsCGFloat.
1189 (setPosition:portion:whole:): por is CGFloat.
1190 (getMouseMotionPart:window:x:y:): Add F suffix to float.
1191 (mouseDown:): Use CGFloat.
1192 (mouseDragged:): Remove unised variable edge.
1193 (EmacsDocument): Implement for NS_IMPL_GNUSTEP.
1194
1195 * nsterm.h (EmacsCGFloat): Typedef for OSX and GNUStep when the size
1196 of CGFloat differs.
1197 (EmacsApp): New variable nextappdefined. Declare sendFromMainThread
1198 when NS_IMPL_GNUSTEP.
1199 (EmacsDocument): Declare when NS_IMPL_GNUSTEP.
1200 (EmacsView): Remove unlockFocusNeedsFlush, add windowDidMove.
1201 (EmacsToolbar): Add clearAll. Add tag argument to
1202 addDisplayItemWithImage.
1203 (EmacsSavePanel, EmacsOpenPanel): Remove getFilename and getDirectory.
1204
1205 * nsselect.m (ns_get_local_selection): Remove unused variable type.
1206
1207 * nsmenu.m (ns_update_menubar): Make static.
1208 (x_activate_menubar): Surround with ifdef NS_IMPL_COCOA
1209 (fillWithWidgetValue:): Add cast to SEL for setAction.
1210 (addSubmenuWithTitle:forFrame:): Add cast to SEL for action.
1211 (update_frame_tool_bar): Update code for GNUStep.
1212 (clearAll): New method.
1213 (addDisplayItemWithImage:idx:tag:helpText:enabled:): Handle new tag
4f405069 1214 argument. Call insertItemWithItemIdentifier when NS_IMPL_GNUSTEP.
e7b41c4c 1215 Move identifierToItem setObject and activeIdentifiers addObject before
c0342369
JD
1216 call to insertItemWithItemIdentifier.
1217 (validateVisibleItems): Fix indentation.
1218 (toolbarAllowedItemIdentifiers:): Return activeIdentifiers.
1219 (initWithContentRect:styleMask:backing:defer:): Add ClosableWindow and
1220 UtilityWindow to aStyle, remove call to setStyleMask.
1221
1222 * nsimage.m (setXBMColor:, getPixelAtX:Y:): Use EmacsCGFloat.
1223
1224 * nsfont.m (ns_attribute_fvalue, ns_spec_to_descriptor)
1225 (ns_charset_covers, ns_get_covering_families, nsfont_open):
1226 Use F suffix on floats.
1227 (ns_char_width): Returns CGFloat.
1228 (ns_ascii_average_width): w is CGFloat instead of float.
e7b41c4c 1229 (nsfont_draw): cbuf and c are unsigned. Cast to char* in call to
c0342369
JD
1230 DPSxshow.
1231 (ns_glyph_metrics): CGFloat instead of float.
1232
a0eb10b3
JB
1233 * nsfns.m (x_set_foreground_color, x_set_background_color):
1234 Use EmacsCGFloat.
1235 (ns_implicitly_set_icon_type, Fx_create_frame): Make static,
1236 remove unused variables.
1237 (Fns_read_file_name): Keep track if panel is for save.
1238 Use ns_filename_from_panel/ns_directory_from_panel.
c0342369 1239 (Fns_list_services): delegate only used for COCOA.
a0eb10b3
JB
1240 (Fns_convert_utf8_nfd_to_nfc): Remove warning for GNUStep.
1241 Just return the input if GNUStep.
c0342369
JD
1242 (x_screen_planes): Remove.
1243 (Fxw_color_values): Use EmacsCGFloat
1244 (Fns_display_monitor_attributes_list): Only get screen number for
1245 Cocoa.
ef099a94 1246 (getDirectory, getFilename): Remove from EmacsOpenPanel and
c0342369
JD
1247 EmacsSavePanel.
1248 (EmacsOpenPanel:ok:): Use ns_filename_from_panel and
1249 ns_directory_from_panel.
1250
da9aff11
PE
12512013-06-01 Paul Eggert <eggert@cs.ucla.edu>
1252
1253 * process.c (handle_child_signal): Also use WCONTINUED.
1254 This is so that list-processes doesn't mistakenly list the process
1255 as stopped, when the process has actually been continued and is
1256 now running.
1257
0e64479a
PE
12582013-05-31 Paul Eggert <eggert@cs.ucla.edu>
1259
fc186a96
PE
1260 Don't let D-bus autolaunch mess up SIGCHLD handling (Bug#14474).
1261 * xterm.c (x_term_init): Inhibit D-Bus autolaunch if D-Bus is
1262 not already configured.
1263
0e64479a
PE
1264 * fileio.c (Finsert_file_contents): Remove unused local (Bug#8447).
1265
38b787fa
EZ
12662013-05-29 Eli Zaretskii <eliz@gnu.org>
1267
1268 * Makefile.in (mostlyclean): Remove *.res files.
1269
22513e52
SM
12702013-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
1271
1272 * fileio.c (Finsert_file_contents): Preserve undo info when reverting
1273 a buffer (bug#8447).
1274
6ef3db10
EZ
12752013-05-27 Eli Zaretskii <eliz@gnu.org>
1276
1277 * xdisp.c (pos_visible_p): When CHARPOS is displayed frrom a
1278 display vector, and we backtrack, handle the case that the
1279 previous character position is also displayed from a display
1280 vector or covered by a display string or image. (Bug#14476)
1281
6799bb26
JD
12822013-05-25 Jan Djärv <jan.h.d@swipnet.se>
1283
1284 * xfns.c (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): Remove.
1285 (struct MonitorInfo, free_monitors): Remove.
1286 (x_make_monitor_attribute_list): Call make_monitor_attribute_list.
1287 (Fx_display_monitor_attributes_list): Call make_monitor_attribute_list.
1288 (syms_of_xfns): Remove DEFSYM for Qgeometry, Qworkarea, Qmm_size,
1289 Qframes, Qsource.
1290
1291 * nsfns.m (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): Remove.
1292 (struct MonitorInfo, free_monitors): Remove.
1293 (ns_screen_name): Make static.
1294 (ns_make_monitor_attribute_list): Call make_monitor_attribute_list.
1295 (syms_of_nsfns): Remove DEFSYM for Qgeometry, Qworkarea, Qmm_size,
1296 Qframes, Qsource.
1297
1298 * frame.h (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): Declare.
1299 (struct MonitorInfo): New struct.
1300 (free_monitors, make_monitor_attribute_list): Declare.
1301
22513e52
SM
1302 * frame.c (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource):
1303 New Lisp_Object:s.
6799bb26
JD
1304 (free_monitors, make_monitor_attribute_list): New functions.
1305 (syms_of_frame): DEFSYM Qgeometry, Qworkarea, Qmm_size, Qframes,
1306 Qsource.
1307
38cd43eb
XF
13082013-05-25 Xue Fuqiao <xfq.free@gmail.com>
1309
1310 * callproc.c (call_process): Refine the doc string. (Bug#14045)
1311
2af0948d
SM
13122013-05-23 Stefan Monnier <monnier@iro.umontreal.ca>
1313
a7eb9b0f
SM
1314 * keyboard.c: Apply keyboard decoding only to events that come directly
1315 from the tty, not from unread-command-events (bug#14368).
1316 (read_event_from_main_queue): New function, extracted from read_char).
1317 (read_decoded_char): Remove.
1318 (read_decoded_event_from_main_queue): New function to replace it.
1319 (read_char): Use it.
1320 (read_key_sequence): Use read_char rather than read_decoded_char.
1321
2af0948d
SM
1322 * keyboard.c (read_decoded_char): Don't decode under w32 (bug#14403).
1323
1413e9a5
BR
13242013-05-22 Barry OReilly <gundaetiapo@gmail.com> (tiny change)
1325
1326 * casetab.c (init_casetab_once): Fix last change (bug#14424).
1327
e6d2f155
KH
13282013-05-22 Kenichi Handa <handa@gnu.org>
1329
1330 The following changes are to fix the setting of
1331 buffer-file-coding-system on, for instance, C-x RET c unix RET
1332 _FILE_OF_DOS_EOL_TYPE_ RET.
1333
1334 * coding.h (struct coding_system): New member detected_utf8_chars.
1335
1336 * coding.c (detect_coding_utf_8): Count characters and check EOL
1337 format. Include CATEGORY_MASK_UTF_8_AUTO in detect_info->found if
1338 BOM is there.
1339 (setup_coding_system): Do not initialize coding->head_ascii.
1340 (check_ascii): Do not set coding->eol_seen but update it. Do not
1341 call adjust_coding_eol_type here.
1413e9a5
BR
1342 (detect_coding): Fix detection of BOM for utf-8 and utf-16.
1343 If the eol-type of CODING is already specified, adjust the eol type
e6d2f155
KH
1344 of the found coding-system.
1345 (decode_coding_gap): Cancel previous change. Utilize the
1346 character numbers counted by detect_coding_utf_8. Fix detection
1347 of BOM for utf-8.
1348
ab56a6f4 13492013-05-21 Barry OReilly <gundaetiapo@gmail.com> (tiny change)
fc30d803
SM
1350
1351 * search.c (looking_at_1): Only set last_thing_searched if the match
1352 changed the match-data (bug#14281).
1353
ecc3c6ed
DA
13542013-05-21 Dmitry Antipov <dmantipov@yandex.ru>
1355
1356 * xdisp.c (reseat_at_previous_visible_line_start):
a0eb10b3 1357 Already declared in dispextern.h, so remove it here.
ecc3c6ed
DA
1358 (move_it_vertically_backward): Likewise.
1359
5ba8bf35
YM
13602013-05-20 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1361
1362 * xfns.c (check_x_display_info): Don't use XINT for terminal object.
d6635ba2 1363 (Fx_display_pixel_width, Fx_display_pixel_height)
fc30d803
SM
1364 (Fx_display_mm_width, Fx_display_mm_height):
1365 Mention `display-monitor-attributes-list' in docstrings.
5ba8bf35 1366
91e8418b 1367 * nsfns.m (ns_get_screen): Remove function. All uses removed.
a0eb10b3 1368 (check_ns_display_info): Sync with check_x_display_info in xfns.c.
91e8418b
YM
1369 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
1370 (Fx_display_screens, Fx_display_mm_width, Fx_display_mm_height)
1371 (Fx_display_backing_store, Fx_display_visual_class)
1372 (Fx_display_save_under, Fx_close_connection, Fxw_display_color_p)
1373 (Fx_display_grayscale_p, Fx_display_pixel_width)
1374 (Fx_display_pixel_height, Fx_display_planes)
1375 (Fx_display_color_cells): Sync args and docstrings with xfns.c.
1376 (Fx_display_screens): Don't confuse X11 screens with NS screens.
1377 (Fx_display_mm_width, Fx_display_mm_height)
1378 (Fx_display_pixel_width, Fx_display_pixel_width): Return width or
1379 height for all physical monitors as in X11.
1380
fc30d803
SM
1381 * nsterm.m (x_display_pixel_width, x_display_pixel_height):
1382 Return pixel width or height for all physical monitors as in X11.
91e8418b 1383
31ff141c
PE
13842013-05-18 Paul Eggert <eggert@cs.ucla.edu>
1385
1386 Port --enable-gcc-warnings to clang.
1387 * bytecode.c (exec_byte_code):
1388 * regex.c:
1389 Redo diagnostic pragmas to pacify clang, too.
1390 * dbusbind.c (xd_retrieve_arg): Do not use uninitialized variable.
1391 * editfns.c (Fencode_time):
1392 * fileio.c (file_accessible_directory_p):
1393 * font.c (font_unparse_xlfd):
1394 Use '&"string"[index]' instead of '"string" + (index)'.
1395 * undo.c (user_error): Remove; unused.
1396
df065a0b
EZ
13972013-05-16 Eli Zaretskii <eliz@gnu.org>
1398
04d360e7
EZ
1399 * insdel.c (insert_1_both): Document the arguments, instead of
1400 referring to insert_1, which no longer exists.
1401
5bb98290
EZ
1402 * xdisp.c (message_dolog): If the *Messages* buffer is shown in
1403 some window, increment windows_or_buffers_changed, so that
1404 *Messages* display in that window is updated. (Bug#14408)
1405
df065a0b
EZ
1406 * w32.c: Include epaths.h.
1407 (init_environment): Use cmdproxy.exe without leading directories.
1408 Support emacs.exe in src; point SHELL to cmdproxy in ../nt in that
1409 case.
1410 (gettimeofday): Adjust signature and return value to Posix
1411 expectations.
1412
1413 * unexw32.c (open_output_file): Delete the existing emacs.exe
1414 before creating it, to break the hard link to the versioned
1415 executable.
1416
1417 * Makefile.in (EMACS_MANIFEST, CM_OBJ, TEMACS_POST_LINK)
1418 (ADDSECTION, EMACS_HEAPSIZE, MINGW_TEMACS_POST_LINK)
1419 (FIRSTFILE_OBJ): New variables.
1420 (W32_RES): Rename to EMACSRES. All users changed.
1421 (base_obj): Use $(CM_OBJ).
1422 (ALLOBJS): Use $(FIRSTFILE_OBJ).
1423 (emacs$(EXEEXT)): Depend on $(ADDSECTION).
1424 (temacs$(EXEEXT)): Use $(TEMACS_POST_LINK), and move
1425 $(W32_RES_LINK) before $(LIBES).
1426 (emacs.res): Depend on $(EMACS_MANIFEST). Put emacs.rc in nt.
1427
1aa8d505
SM
14282013-05-15 Stefan Monnier <monnier@iro.umontreal.ca>
1429
6e911150
SM
1430 * makefile.w32-in (DOC): Use just "DOC".
1431
1432 * Makefile.in (bootstrap-clean): DOC-* doesn't exist any more.
1433
1aa8d505
SM
1434 * process.c: Export default filters and sentinels to Elisp.
1435 (Qinternal_default_process_sentinel, Qinternal_default_process_filter):
1436 New constants.
1437 (pset_filter, pset_sentinel, make_process, Fset_process_filter)
1438 (Fset_process_sentinel, Fformat_network_address):
1439 Default to them instead of nil.
1440 (server_accept_connection): Sentinels can't be nil any more.
1441 (read_and_dispose_of_process_output): New function, extracted from
1442 read_process_output.
1443 (read_process_output): Use it; filters can't be nil.
1444 (Finternal_default_process_filter): New function, extracted from
1445 read_process_output.
1446 (exec_sentinel_unwind): Remove function.
1447 (exec_sentinel): Don't zilch sentinel while running.
1448 (status_notify): Sentinels can't be nil.
1449 (Finternal_default_process_sentinel): New function extracted from
1450 status_notify.
1451 (setup_process_coding_systems): Default filter is not nil any more.
1452 (syms_of_process): Export new Elisp functions and initialize
1453 new constants.
1454 * lisp.h (make_lisp_proc): New function.
1455
5ac2eb34
SM
14562013-05-15 Stefan Monnier <monnier@iro.umontreal.ca>
1457
1458 * regex.c (regex_compile) [\=, \>, \<]: Don't forget to set laststart.
1459
eda9c7d7
EZ
14602013-05-14 Eli Zaretskii <eliz@gnu.org>
1461
1462 * w32fns.c (w32_wnd_proc): Don't call WINDOW_HEADER_LINE_HEIGHT
5ac2eb34
SM
1463 unless we know that the window w is a leaf window.
1464 Another attempt at solving bug#14062.
eda9c7d7 1465
8fdeaad5
JD
14662013-05-14 Jan Djärv <jan.h.d@swipnet.se>
1467
1468 * nsfont.m (ns_spec_to_descriptor): Retain and autorelease
1469 fdesc (Bug#14375).
1470
44aa9ee6
PE
14712013-05-12 Paul Eggert <eggert@cs.ucla.edu>
1472
1473 * image.c (gif_load): Check that subimages fit (Bug#14345).
1474
759fd763
SM
14752013-05-09 Stefan Monnier <monnier@iro.umontreal.ca>
1476
1477 * lread.c (skip_dyn_eof): New function.
1478 (read1): Use it to skip the end of a file in response to #@00.
1479
1480 * doc.c (get_doc_string): Slightly relax the sanity checking.
1481
4465bfb4
JD
14822013-05-09 Jan Djärv <jan.h.d@swipnet.se>
1483
1484 * nsfns.m: Include IOGraphicsLib.h if Cocoa.
1485 (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): Declare.
1486 (MonitorInfo): New struct.
1487 (free_monitors, ns_screen_name, ns_make_monitor_attribute_list)
1488 (Fns_display_monitor_attributes_list): New functions.
1489 (display-usable-bounds): Remove.
1490 (syms_of_nsfns): DEFSYM Qgeometry, Qworkarea, Qmm_size, Qframes and
1491 Qsource.
1492
7583e2a0
PE
14932013-05-09 Paul Eggert <eggert@cs.ucla.edu>
1494
1495 * xterm.h (GTK_PREREQ): Remove, replacing with GTK_CHECK_VERSION.
1496 (GTK_CHECK_VERSION): New macro, if not already defined.
1497 All uses of GTK_PREREQ, GTK_MAJOR_VERSION, etc.
1498 replaced by GTK_CHECK_VERSION.
1499
ad75d77e
PE
15002013-05-08 Paul Eggert <eggert@cs.ucla.edu>
1501
1502 * xterm.h (GTK_PREREQ): New macro.
1503 All simple uses of GTK_MAJOR_VERSION and GTK_MINOR_VERSION changed
1504 to use this macro instead, for consistency and clarity.
1505
07525f77
EZ
15062013-05-08 Eli Zaretskii <eliz@gnu.org>
1507
1508 * xdisp.c (row_for_charpos_p): New function, with code of
1509 cursor_row_p, but accepts an additional argument CHARPOS instead
1510 of using a hardcoded PT.
1511 (cursor_row_p): Call row_for_charpos_p with 2nd argument PT.
1512 (row_containing_pos): Call row_for_charpos_p instead of partially
1513 doing the same. Fixes cursor positioning under longlines-mode
1514 when longlines-show-effect includes more than one newline, when
1515 moving the cursor vertically up.
1516
d901fc8d
JB
15172013-05-08 Juanma Barranquero <lekktu@gmail.com>
1518
1519 * makefile.w32-in (ACL_H): New macro.
1520 ($(BLD)/fileio.$(O)): Update dependencies.
1521
f269bc61
PE
15222013-05-07 Paul Eggert <eggert@cs.ucla.edu>
1523
e7b41c4c 1524 Use Gnulib ACL implementation, for benefit of Solaris etc. (Bug#14295)
ffdc270a
PE
1525 * Makefile.in (LIB_ACL): New macro.
1526 (LIBACL_LIBS): Remove.
1527 (LIBES): Use LIB_ACL, not LIBACL_LIBS.
1528 * fileio.c: Include <acl.h>.
1529 Use HAVE_ACL_SET_FILE rather than HAVE_POSIX_ACL.
1530 (ACL_NOT_WELL_SUPPORTED): Remove. All uses replaced by
1531 !acl_errno_valid.
1532 (Fcopy_file) [!WINDOWSNT]: Use qcopy_acl instead of rolling
1533 it ourselves.
1534
f269bc61
PE
1535 * unexelf.c: Don't assume ElfW (Half) fits in int.
1536 (entry_address, find_section, unexec): Use ptrdiff_t, not int,
1537 when dealing with ElfW (Half) values, since they can exceed 2**31
1538 on 64-bit OpenBSD hosts. Problem reported privately by Han Boetes.
1539 (entry_address): Omit unused NUM arg. All uses changed.
1540
a261c53e
JL
15412013-05-07 Juri Linkov <juri@jurta.org>
1542
1543 * callint.c (Fcall_interactively): Set `visargs[i]' for code 'n'
1544 to the string converted from number with `Fnumber_to_string'.
1545 (Bug#14254)
1546
2b66427d
PE
15472013-05-07 Paul Eggert <eggert@cs.ucla.edu>
1548
1549 * xfns.c (x_get_net_workarea): Define only if !GTK || GTK<3.4.
1550 This fixes a problem introduced by my previous change.
1551
15acfe41
GM
15522013-05-07 Glenn Morris <rgm@gnu.org>
1553
1554 * lread.c (readchar): Don't read from a dead buffer. (Bug#14280)
1555
5ea03bf5
JD
15562013-05-07 Jan Djärv <jan.h.d@swipnet.se>
1557
1558 * xfns.c: Move misplaced ifndef USE_GTK from previous checkin.
1559
e0c9d565
PE
15602013-05-07 Paul Eggert <eggert@cs.ucla.edu>
1561
1562 Static checking by GCC 4.8.0.
1563 * xfns.c (x_get_net_workarea, struct MonitorInfo, free_monitors)
1564 (x_get_monitor_for_frame, x_make_monitor_attribute_list)
1565 (x_get_monitor_attributes_fallback)
1566 (x_get_monitor_attributes_xinerama)
1567 (x_get_monitor_attributes_xrandr, x_get_monitor_attributes):
1568 Define only if USE_GTK.
1569 (free_monitors): Define only if HAVE_XINERAMA || HAVE_XRANDR.
1570 (x_get_monitor_attributes_fallback): Omit unused locals.
1571 (x_get_monitor_attributes_xinerama, Fx_display_monitor_attributes_list):
1572 Use double, not float, to avoid mixed-mode floating point arithmetic.
1573
4e3f9230
YM
15742013-05-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1575 Jan Djärv <jan.h.d@swipnet.se>
1576
1577 * Makefile.in (XRANDR_LIBS, XRANDR_CFLAGS, XINERAMA_LIBS)
1578 (XINERAMA_CFLAGS): New macros.
1579 (ALL_CFLAGS, LIBES): Use them.
1580
1581 * xfns.c: Include <X11/extensions/Xrandr.h> if HAVE_XRANDR, and
1582 include <X11/extensions/Xinerama.h> if HAVE_XINERAMA.
1583 (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): New variables.
1584 (syms_of_xfns): DEFSYM them.
1585 (struct MonitorInfo): New struct.
1586 (x_get_net_workarea, free_monitors, x_get_monitor_for_frame)
1587 (x_make_monitor_attribute_list, x_get_monitor_attributes_fallback)
1588 (x_get_monitor_attributes_xrandr, x_get_monitor_attributes)
1589 (x_get_monitor_attributes_xinerama): New functions.
1590 (Fx_display_monitor_attributes_list): New primitive.
1591 (syms_of_xfns): Defsubr it.
1592
1593 * xterm.h (x_display_info): Add Xatom_net_workarea and
1594 Xatom_net_current_desktop.
1595
1596 * xterm.c (x_term_init): Initialize dpyinfo->Xatom_net_workarea
1597 and dpyinfo->Xatom_net_current_desktop.
1598
05839b6a
EZ
15992013-05-06 Eli Zaretskii <eliz@gnu.org>
1600
1601 * xdisp.c (pos_visible_p): Use the special code for finding the
1602 beginning of a display property or overlay for any "replacing"
1603 display property, not just for display strings. This solves
1604 incorrect reporting of position by posn-at-point. (Bug#14241)
1605
dc4a2ee0
PE
16062013-05-06 Paul Eggert <eggert@cs.ucla.edu>
1607
5ee94506
PE
1608 * unexelf.c: Fix some 32-bit integer problems, notably when debugging.
1609 Include <limits.h>, <stdbool.h>, <intprops.h>, <verify.h>.
1610 Verify that ElfW (Half) fits in int.
1611 (fatal): Use same signature as lisp.h.
1612 (UNEXELF_DEBUG): New macro, replacing DEBUG, so that people can
1613 configure and build with -DUNEXELF_DEBUG without worrying about
1614 other modules that use DEBUG.
1615 (DEBUG_LOG) [UNEXELF_DEBUG]: New macro. All debug code that prints
1616 possibly-wide integers now uses it instead of plain fprintf.
1617 (entry_address): New function, which avoids problems with 32-bit
1618 overflow on 64-bit hosts.
1619 (OLD_SECTION_H, NEW_SECTION_H, NEW_PROGRAM_H): Use it.
1620 (round_up): Don't assume the remainder fits in int.
1621 (find_section): Use bool for boolean. Simplify debug code.
1622 (unexec): Don't assume file sizes fit in int or size_t.
1623 Omit unnecessary trailing newline in 'fatal' format.
1624 Use strerror rather than outputting decimal error number.
1625 Remove unused code when emacs is not defined;
1626 this file relies on Emacs now.
1627 Don't assume e_phnum and e_shnum are positive.
1628
dc4a2ee0
PE
1629 * regex.c: Fix problems when DEBUG is defined.
1630 (extract_number, extract_number_and_incr): Define regardless of
1631 whether DEBUG is defined; that's simpler and makes the code less
1632 likely to go stale in the normal case when DEBUG is not defined.
1633 Return int rather than taking an int * arg. All callers changed.
1634 (DEBUG_PRINT1, DEBUG_PRINT2, DEBUG_PRINT3, DEBUG_PRINT4):
1635 Remove, replacing with ...
1636 (DEBUG_PRINT): New macro. All callers changed.
1637 (DEBUG_COMPILES_ARGUMENTS): New macro.
1638 (print_fastmap, print_partial_compiled_pattern) [DEBUG]:
1639 (print_compiled_pattern, print_double_string) [DEBUG]:
1640 Use prototype rather than old-style definition.
1641 (print_partial_compiled_pattern, print_compiled_pattern) [DEBUG]:
1642 (ENSURE_FAIL_STACK, PUSH_FAILURE_REG) [DEBUG]:
1643 (POP_FAILURE_REG_OR_COUNT, PUSH_FAILURE_POINT) [DEBUG]:
1644 (POP_FAILURE_POINT, re_match_2_internal) [DEBUG]:
1645 Don't assume ptrdiff_t, size_t, and long are the same width as int.
1646 (POINTER_TO_OFFSET): Return ptrdiff_t, not regoff_t.
1647 This matters only when DEBUG is defined.
1648
14c7ed05
EZ
16492013-05-05 Eli Zaretskii <eliz@gnu.org>
1650
1651 * xdisp.c (set_iterator_to_next): Set the
1652 ignore_overlay_strings_at_pos_p flag only if we are _really_
1653 iterating over an overlay string, as indicated by the
1654 current.overlay_string_index member. (Bug#14306)
1655
e6076b1b
JD
16562013-05-05 Jan Djärv <jan.h.d@swipnet.se>
1657
1658 * nsmenu.m (ns_update_menubar): Move initialization of submenuTitle
1659 to where it is used, to avoid autorelease issues (Bug#14050).
1660
cbee2131
PE
16612013-05-05 Paul Eggert <eggert@cs.ucla.edu>
1662
1663 `write-region-inhibit-fsync' defaults to noninteractive (Bug#14273).
1664 * fileio.c (syms_of_fileio): Implement this.
1665 * filelock.c (create_lock_file): If symbolic links don't work, so
1666 we use a regular file as a lock file, do not fsync the lock file;
1667 it's not needed.
1668
30c7e542
SM
16692013-05-04 Stefan Monnier <monnier@iro.umontreal.ca>
1670
1671 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Move to Elisp.
1672 (syms_of_minibuf): Adjust accodingly.
1673 * lread.c (Fread):
1674 * callint.c (Fcall_interactively): Adjust calls accordingly.
1675
5bebd186
EZ
16762013-05-04 Eli Zaretskii <eliz@gnu.org>
1677
1678 * dispextern.h (WINDOW_WANTS_HEADER_LINE_P): Verify that
30c7e542
SM
1679 w->contents is a buffer before computing everything else.
1680 Use parentheses to disambiguate last part of the condition.
5bebd186
EZ
1681
1682 * w32fns.c (w32_wnd_proc): Remove temporary code used to trap
1683 assertion violations. (Bug#14062)
1684
0fb0a4f3
DR
16852013-05-01 David Reitter <david.reitter@gmail.com>
1686
1687 * nsfns.m (ns_tooltip): Initialize.
1688
9e63b4a5
EZ
16892013-04-28 Eli Zaretskii <eliz@gnu.org>
1690
1691 * coding.c (decode_coding_gap): Don't remove the character before
1692 a newline unless it's a CR character. (Bug#14287)
1693
ad60824e
DN
16942013-04-28 Dan Nicolaescu <dann@gnu.org>
1695
1696 * dispextern.h (struct face): Move enum face_underline_type
1697 earlier so that bitfields can be in the same word.
1698
edbdcec0
JD
16992013-04-28 Jan Djärv <jan.h.d@swipnet.se>
1700
1701 * nsfns.m (handlePanelKeys): New function.
1702 (EmacsOpenPanel:performKeyEquivalent:)
1703 (EmacsSavePanel:performKeyEquivalent:): Call handlePanelKeys to handle
1704 arrows/function/control and copy/paste keys (Bug#14296).
1705
0208ede7
JL
17062013-04-27 Juri Linkov <juri@jurta.org>
1707
1708 * callint.c (Fcall_interactively): Call `Qread_number' for
1709 interactive code letter `n' instead of using duplicate code.
1710 (Bug#14254)
1711
b8dd59f7
PE
17122013-04-27 Paul Eggert <eggert@cs.ucla.edu>
1713
1714 * systime.h (make_timeval): Declare as 'const'.
1715
8bd722db
KH
17162013-04-27 Kenichi Handa <handa@gnu.org>
1717
1718 * font.c (font_open_entity): Always open a font of manageable
1719 size.
1720
13d0e56f 17212013-04-26 Paul Eggert <eggert@cs.ucla.edu>
cbee2131 1722
f780d632
PE
1723 Port better to AIX (Bug#14258).
1724 * lisp.h (ENUM_BF) [__IBMC__]: Make it 'unsigned int' here, too,
1725 to pacify AIX xlc.
1726
ec509856
KH
17272013-04-24 Kenichi Handa <handa@gnu.org>
1728
1729 * coding.c (decode_coding_iso_2022): When an invalid escape
1730 sequence is encountered, reset the invocation and designation
1731 status to the safest one.
1732
84fc48e5
PE
17332013-04-22 Paul Eggert <eggert@cs.ucla.edu>
1734
1735 * Makefile.in (bootstrap-clean): Remove stamp-h1 too.
1736 Without this fix, "make distclean" leaves stamp-h1 behind.
1737
806bda47
EC
17382013-04-20 Erik Charlebois <erikcharlebois@gmail.com>
1739
1740 * w32fns.c (w32_fullscreen_rect): New function to compute the
1741 window rectangle for the given fullscreen mode.
1742 (w32_wnd_proc): When in a fullscreen mode, WM_WINDOWPOSCHANGING no
1743 longer tunes the window size. This keeps the window's edges flush
1744 with the screen and allows the taskbar to hide itself in fullboth.
1745
1746 * w32term.c (w32fullscreen_hook): 'fullboth' now shows without
1747 window decorations and uses the entire screen.
1748
1749 * w32term.h (w32_fullscreen_rect) Add prototype.
1750 (struct w32_output): Replace normal_width, normal_height,
1751 normal_top, and normal_left members with a single normal_placement
1752 struct.
1753 (FRAME_NORMAL_WIDTH, FRAME_NORMAL_HEIGHT, FRAME_NORMAL_TOP):
1754 Remove macros.
1755 (FRAME_NORMAL_PLACEMENT): New macro.
1756
9cc2810b
JB
17572013-04-16 Juanma Barranquero <lekktu@gmail.com>
1758
1759 * minibuf.c (Ftest_completion): Silence compiler warning.
1760
fd16b54c
EZ
17612013-04-15 Eli Zaretskii <eliz@gnu.org>
1762
1763 * w32fns.c (w32_wnd_proc): Add more assertions to investigate
5fbcd237 1764 bug#14062.
fd16b54c
EZ
1765
1766 * frame.h (WINDOW_FRAME): Protect macro and its argument with
1767 parentheses.
1768
1769 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
1770 (CURRENT_HEADER_LINE_HEIGHT, WINDOW_WANTS_MODELINE_P)
1771 (WINDOW_WANTS_HEADER_LINE_P): Protect macro arguments with
1772 parentheses where appropriate.
1773
9e3379a0
PE
17742013-04-14 Paul Eggert <eggert@cs.ucla.edu>
1775
1776 * keyboard.c (timer_start_idle): Remove no-longer-used local.
1777
ddd6b685
EZ
17782013-04-14 Eli Zaretskii <eliz@gnu.org>
1779
1780 * buffer.c (syms_of_buffer) <left-margin-width, right-margin-width>
1781 <left-fringe-width, right-fringe-width, fringes-outside-margins>:
1782 Mention in the doc string that setting these variables takes
1783 effect only after a call to set-window-buffer. (Bug#14200)
1784
29b79ba1
EZ
17852013-04-13 Eli Zaretskii <eliz@gnu.org>
1786
1787 * indent.c (Fvertical_motion): Don't consider display strings on
1788 overlay strings as display strings on the buffer position we
1789 started from. This prevents vertical cursor motion from jumping
1790 more than one line when there's an overlay string with a display
1791 property at end of line.
1792 Reported by Karl Chen <Karl.Chen@quarl.org> in
1793 http://lists.gnu.org/archive/html/emacs-devel/2013-04/msg00362.html.
1794
562c6ee9
SM
17952013-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
1796
1797 * window.c (select_window): `record_buffer' even if window is
1798 already selected (bug#14191).
1799
fcc1fe85
EZ
18002013-04-11 Eli Zaretskii <eliz@gnu.org>
1801
1802 * window.c (Fwindow_end): Test more flags, including the buffer's
1803 last_overlay_modified flag, to determine whether the window's
1804 display is really up-to-date. Prevents the function from
1805 returning a stale value. (Bug#14170)
1806 (Fwindow_line_height): Fix the test for up-to-date-ness of the
1807 current matrix.
1808
f009190a
EZ
18092013-04-10 Eli Zaretskii <eliz@gnu.org>
1810
1811 * frame.c (do_switch_frame): Mark the TTY frame we switch to as
562c6ee9
SM
1812 garbaged only if it is not already the top frame on its TTY.
1813 This prevents flickering due to constant redrawing of TTY frames when
f009190a
EZ
1814 there are GUI frames open in the same session. (Bug#13864)
1815
78ce603d
SM
18162013-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
1817
1818 * keyboard.c (timer_start_idle): Call internal-timer-start-idle instead
1819 of marking the idle timers directly.
1820
a8036e40
SM
18212013-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
1822
1823 * minibuf.c (Ftest_completion): Ignore non-string/symbol keys in hash
1824 tables (bug#14054).
1825
7ffe7ef6
SM
18262013-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
1827
1828 * window.c (select_window): Don't record_buffer while the invariant is
1829 temporarily broken (bug#14161).
1830
1831 * fns.c (Fdelq): Don't assume !NILP => CONSP.
1832
7d9f6883
EZ
18332013-04-07 Eli Zaretskii <eliz@gnu.org>
1834
1835 * fileio.c (ACL_NOT_WELL_SUPPORTED): Define macro for WINDOWSNT.
1836
5406cfd9
RF
18372013-04-07 Romain Francoise <romain@orebokech.com>
1838
1839 Ignore additional platform-specific ACL errors (Bug#13702).
1840 * fileio.c (ACL_NOT_WELL_SUPPORTED): New macro copied from gnulib.
1841 (Fcopy_file, Fset_file_acl) [HAVE_POSIX_ACL]: Use it.
1842
95c0e83b
JD
18432013-03-31 Jan Djärv <jan.h.d@swipnet.se>
1844
1845 * nsterm.m (ns_mouse_position): Use NS_FRAME_P instead of checking
1846 f->output_data.ns.
1847
876da980
PE
18482013-04-07 Paul Eggert <eggert@cs.ucla.edu>
1849
1850 Fix --enable-profiling bug introduced by 2013-02-25 change (Bug#13783).
1851 This bug was introduced by my 2013-02-25 change that simplified
1852 data_start configuration. Without this change, on GNU/Linux
1853 an Emacs configured with --enable-profiling fails immediately
1854 due to a profiler signal.
1855 * Makefile.in: Compile with $(PROFILING_CFLAGS), but do not link
1856 with these flags. On platforms where special flags are needed
1857 when linking temacs, the flags are now in LD_SWITCH_SYSTEM_TEMACS.
1858 (ALL_CFLAGS): Remove $(PROFILING_CFLAGS).
1859 (.c.o, .m.o): Compile with $(PROFILING_CFLAGS).
1860
7452b7bd
DA
18612013-04-07 Dmitry Antipov <dmantipov@yandex.ru>
1862
1863 Get rid of some platform-specific functions examining window
1864 system and its capabilities. This is a partial rework of the
1865 2013-04-05 change.
1866 * lisp.h (have_menus_p): Remove prototype. This function is
1867 replaced with platform-independent window_system_available.
1868 (check_window_system): Move to...
1869 * frame.h (decode_window_system_frame, window_system_available):
1870 ...here, add new prototypes.
1871 * frame.c (window_system_available, decode_window_system_frame):
1872 New functions.
1873 (check_window_system): Platform-independent now.
1874 * xterm.h (x_in_use): Remove declaration.
1875 (check_x_frame):
1876 * w32term.h (check_x_frame):
1877 * nsterm.h (check_x_frame): Remove prototypes. This function
1878 is replaced with platform-independent decode_window_system_frame.
1879 * msdos.c (have_menus_p): Remove.
1880 * nsfns.m (check_window_system, have_menus_p, check_ns_frame):
1881 Remove platform-specific functions. Use check_window_system,
1882 decode_window_system_frame and check_ns_display_info where
1883 appropriate. Minor style and comment tweaks.
1884 * w32fns.c (w32_in_use, check_window_system, have_menus_p)
1885 (check_x_frame): Likewise.
1886 * xfns.c (x_in_use, check_window_system, have_menus_p, check_x_frame):
1887 Likewise.
1888 * fileio.c, fns.c, font.c, fontset.c, image.c, menu.c, nsmenu.m:
1889 * nsselect.m, nsterm.m, w32font.c, w32menu.c, xfaces.c, xgselect.c:
1890 * xmenu.c, xselect.c: All related users changed.
1891
251e9147
KH
18922013-04-03 Kenichi Handa <handa@gnu.org>
1893
1894 The following changes is to optimize the code for reading UTF-8
1895 files.
1896
562c6ee9 1897 * coding.c (check_ascii): Rename from detect_ascii. Return value
251e9147
KH
1898 changed. Check EOL format. Do not call adjust_coding_eol_type
1899 here.
1900 (check_utf_8): New function.
1901 (adjust_coding_eol_type): Do nothing if already adjusted.
1902 (detect_coding): Compare the return value of check_ascii with
1903 coding->src_bytes. Call adjust_coding_eol_type if necessary.
1904 (decode_coding_gap): Optimize for valid UTF-8.
1905
8bc369d4
KH
19062013-03-21 Kenichi Handa <handa@gnu.org>
1907
1908 * coding.c (syms_of_coding): Cancel previous change.
1909
1910 * insdel.c (insert_from_gap): Fix previous change.
1911
73931ad1
DA
19122013-04-05 Dmitry Antipov <dmantipov@yandex.ru>
1913
1914 Consistently use platform-specific function to detect window system.
1915 * lisp.h (check_window_system): New prototype. This function is
1916 going to replace check_x, check_w32 and check_ns.
1917 (have_menus_p): Mention msdos.c in comment.
1918 * fontset.c (check_window_system_func): Remove. Adjust all users.
1919 * fontset.h (check_window_system_func): Remove prototype.
1920 * nsterm.h (check_ns):
1921 * xterm.h (check_x):
1922 * w32term.h (check_w32): Likewise.
1923 * menu.c (Fx_popup_menu): Use check_window_system.
1924 * msdos.c (check_window_system): Define for MS-DOS.
1925 * nsfns.m (check_window_system): Define for NS. Adjust all users.
1926 * w32fns.c (check_window_system): Likewise for MS-Windows.
1927 * xfns.c (check_window_system): Likewise for X.
1928 * font.c, frame.c, nsmenu.m, nsselect.m, nsterm.m, w32menu.c:
1929 * xfaces.c, xmenu.c: Use check_window_system where appropriate.
1930
7216e43b
PE
19312013-04-02 Paul Eggert <eggert@cs.ucla.edu>
1932
1933 Prefer < to > in range checks such as 0 <= i && i < N.
1934 This makes it easier to visualize quantities on a number line.
1935 This patch doesn't apply to all such range checks,
1936 only to the range checks affected by the 2013-03-24 change.
1937 This patch reverts most of the 2013-03-24 change.
1938 * alloc.c (xpalloc, Fgarbage_collect):
1939 * ccl.c (ccl_driver, resolve_symbol_ccl_program):
1940 * character.c (string_escape_byte8):
1941 * charset.c (read_hex):
1942 * data.c (cons_to_unsigned):
1943 * dispnew.c (update_frame_1):
1944 * doc.c (Fsubstitute_command_keys):
1945 * doprnt.c (doprnt):
1946 * editfns.c (hi_time, decode_time_components):
1947 * fileio.c (file_offset):
1948 * fns.c (larger_vector, make_hash_table, Fmake_hash_table):
1949 * font.c (font_intern_prop):
1950 * frame.c (x_set_alpha):
1951 * gtkutil.c (get_utf8_string):
1952 * indent.c (check_display_width):
1953 * keymap.c (Fkey_description):
1954 * lisp.h (FIXNUM_OVERFLOW_P, vcopy):
1955 * lread.c (read1):
1956 * minibuf.c (read_minibuf_noninteractive):
1957 * process.c (wait_reading_process_output):
1958 * search.c (Freplace_match):
1959 * window.c (get_phys_cursor_glyph):
1960 * xdisp.c (redisplay_internal):
1961 * xsmfns.c (smc_save_yourself_CB):
1962 Prefer < to > for range checks.
1963 * dispnew.c (sit_for): Don't mishandle NaNs.
1964 This fixes a bug introduced in the 2013-03-24 change.
1965 * editfns.c (decode_time_components): Don't hoist comparison.
1966 This fixes another bug introduced in the 2013-03-24 change.
1967
92759988
DA
19682013-03-31 Dmitry Antipov <dmantipov@yandex.ru>
1969
1970 * frame.h (struct frame): Drop scroll_bottom_vpos
1971 member becaue all real users are dead long ago.
1972 (FRAME_SCROLL_BOTTOM_VPOS): Remove.
1973 * xdisp.c (redisplay_internal): Adjust user.
1974
9a1971bb
GM
19752013-03-30 Darren Ho <darren.hoo@gmail.com> (tiny change)
1976
f38ab167
JD
1977 * nsmenu.m (showAtX:Y:for:): setLevel to
1978 NSPopUpMenuWindowLevel (Bug#13998).
1979
6d01f1fe
JD
19802013-03-30 Jan Djärv <jan.h.d@swipnet.se>
1981
1982 * nsterm.h (ns_get_pending_menu_title, ns_check_menu_open)
1983 (ns_check_pending_open_menu): Declare.
1984
1985 * nsmenu.m (ns_update_menubar): Correct NSTRACE.
1986 (x_activate_menubar): Update the menu with title that matches
1987 ns_get_pending_menu_title, and call
1988 ns_check_pending_openmenu (Bug#12698).
1989 (menuWillOpen:): New method.
1990 (menuNeedsUpdate:): Add check for ! COCOA || OSX < 10.5 (Bug#12698).
1991
1992 * nsterm.m (menu_will_open_state, menu_mouse_point)
1993 (menu_pending_title): New varaibles.
1994 (ns_get_pending_menu_title, ns_check_menu_open)
1995 (ns_check_pending_open_menu): New functions.
1996
781f4782
DA
19972013-03-29 Dmitry Antipov <dmantipov@yandex.ru>
1998
1999 * indent.c (current_column_bol_cache): Remove leftover which is not
2000 used in Fmove_to_column any more.
2001 (current_column, scan_for_column): Adjust users.
2002 * keyboard.c (last_point_position_buffer, last_point_position_window):
2003 Remove leftovers which are not used for recording undo any more.
2004 (command_loop_1, syms_of_keyboard): Adjust users.
2005 * xdisp.c (last_max_ascent): Remove leftover which is not used in
2006 redisplay_window any more.
2007 (move_it_to): Adjust user.
2008
1921c31b
JB
20092013-03-29 Juanma Barranquero <lekktu@gmail.com>
2010
2011 * makefile.w32-in ($(BLD)/filelock.$(O), $(BLD)/filelock.$(O)):
2012 Update dependencies.
2013
717b8bcd
SM
20142013-03-28 Stefan Monnier <monnier@iro.umontreal.ca>
2015
2016 * lisp.h (save_type, XSAVE_POINTER, set_save_pointer, XSAVE_INTEGER)
2017 (set_save_integer, XSAVE_OBJECT, XSAVE_VALUE): Move to avoid
2018 forward references.
2019
e74aeda8
DA
20202013-03-28 Dmitry Antipov <dmantipov@yandex.ru>
2021
2022 * window.h (struct window): Replace hchild, vchild and buffer slots
2023 with the only contents slot. This is possible because each valid
2024 window may have either the child window (in vertical or horizontal
2025 combination) or buffer to display (for the leaf window). Using that,
2026 a lof of operations to traverse and/or change window hierarchies may
2027 be simplified. New member horizontal is used to distinguish between
2028 horizontal and vertical combinations of internal windows.
2029 (WINDOW_LEAF_P, WINDOW_HORIZONTAL_COMBINATION_P)
2030 (WINDOW_VERTICAL_COMBINATION_P): New macros.
2031 (WINDOW_VALID_P, WINDOW_LIVE_P): Adjust to match struct window changes.
2032 * window.c (wset_hchild, wset_vchild): Remove. Adjust all users.
2033 Use contents slot, not buffer, where appropriate.
2034 (wset_combination): New function.
2035 (wset_buffer): Add eassert.
2036 (Fframe_first_window): Simplify the loop reaching first window.
2037 (Fwindow_buffer): Use WINDOW_LEAF_P.
2038 (Fwindow_top_child): Use WINDOW_VERTICAL_COMBINATION_P.
2039 (Fwindow_left_child): Use WINDOW_HORIZONTAL_COMBINATION_P.
2040 (unshow_buffer): Convert initial debugging check to eassert.
2041 (replace_window, recombine_windows, Fdelete_other_windows_internal)
2042 (make_parent_window, window_resize_check, window_resize_apply)
2043 (resize_frame_windows, Fsplit_window_internal, Fdelete_window_internal)
2044 (Fset_window_configuration, delete_all_child_windows, save_window_save):
2045 Adjust to match struct window changes.
2046 (window_loop): Check for broken markers in CHECK_ALL_WINDOWS.
2047 (mark_window_cursors_off, count_windows, get_leaf_windows)
2048 (foreach_window_1): Simplify the loop.
2049 * alloc.c (mark_object): Do not check for the leaf window because
2050 internal windows has no glyph matrices anyway.
2051 * dispnew.c (clear_window_matrices, showing_window_margins_p)
2052 (allocate_matrices_for_window_redisplay, fake_current_matrices)
2053 (allocate_matrices_for_frame_redisplay, free_window_matrices)
2054 (build_frame_matrix_from_window_tree, mirror_make_current)
2055 (frame_row_to_window, mirror_line_dance, check_window_matrix_pointers)
2056 (update_window_tree, set_window_update_flags): Simplify the loop.
2057 (sync_window_with_frame_matrix_rows): Enforce live window.
2058 Use contents slot, not buffer, where appropriate.
2059 * frame.c (set_menu_bar_lines_1): Use WINDOW_VERTICAL_COMBINATION_P
2060 and WINDOW_HORIZONTAL_COMBINATION_P.
2061 (make_frame_visible_1): Simplify the loop.
2062 Use contents slot, not buffer, where appropriate.
2063 * xdisp.c (hscroll_window_tree, mark_window_display_accurate)
2064 (redisplay_windows, redisplay_mode_lines, update_cursor_in_window_tree)
2065 (expose_window_tree): Likewise.
2066 Use contents slot, not buffer, where appropriate.
2067 * textprop.c (get_char_property_and_overlay): Add CHECK_LIVE_WINDOW
2068 to avoid deleted windows. Use contents slot instead of buffer.
2069 * buffer.c, dispextern.h, editfns.c, fileio.c, font.c, fringe.c:
2070 * indent.c, insdel.c, keyboard.c, keymap.c, minibuf.c, msdos.c:
2071 * nsfns.m, nsmenu.m, nsterm.m, print.c, w32fns.c, w32menu.c, xfaces.c:
2072 * xfns.c, xmenu.c: Use contents slot, not buffer, where appropriate.
2073
121ab1cd
EZ
20742013-03-28 Eli Zaretskii <eliz@gnu.org>
2075
ef454cf7
EZ
2076 * w32fns.c (w32_wnd_proc) [ENABLE_CHECKING]: Add code to help
2077 identify the reasons for assertion violations in bug#14062 and
2078 similar ones.
21e930f8
EZ
2079 (Fx_show_tip): Fix compilation error under
2080 "--enable-check-lisp-object-type". (Bug#14073)
ef454cf7 2081
121ab1cd
EZ
2082 * image.c (g_error_free) [WINDOWSNT]: Add DEF_IMGLIB_FN.
2083 Reported by <rzl24ozi@gmail.com>.
2084
5c89ca24
DA
20852013-03-28 Dmitry Antipov <dmantipov@yandex.ru>
2086
2087 * xdisp.c (with_echo_area_buffer_unwind_data): Save window
2088 start marker...
562c6ee9
SM
2089 (unwind_with_echo_area_buffer): ...to restore it here.
2090 This is needed to ensure that...
5c89ca24
DA
2091 (redisplay_window): ...both window markers are valid here,
2092 which is verified by eassert.
2093 * editfns.c (save_excursion_save): Do not assume that
2094 selected_window always displays the buffer.
c7f53895
DA
2095 * buffer.c (Fbuffer_swap_text): Adjust window start markers.
2096 Fix comment.
5c89ca24 2097
f557c1b1
SM
20982013-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
2099
2100 * casetab.c (init_casetab_once): Don't abuse the ascii eqv table for
2101 the upcase table.
2102
40693bba 21032013-03-27 rzl24ozi <rzl24ozi@gmail.com> (tiny changes)
2104
2105 * image.c [WINDOWSNT]: Fix calls to DEF_IMGLIB_FN for SVG function.
2106
c86f791f
EZ
21072013-03-27 Eli Zaretskii <eliz@gnu.org>
2108
2109 * w32proc.c (IsValidLocale) [__GNUC__]: Don't declare prototype,
2110 since MinGW's w32api headers do. This avoids compiler warnings.
2111
2112 * w32.c (FSCTL_GET_REPARSE_POINT) [_MSC_VER || _W64]: Don't define
2113 if already defined.
2114
c6e72e17
EZ
21152013-03-26 Eli Zaretskii <eliz@gnu.org>
2116
2117 * w32.c (_REPARSE_DATA_BUFFER): Condition by _MSVC and _W64.
2118
54e95010
JD
21192013-03-26 Jan Djärv <jan.h.d@swipnet.se>
2120
2121 * gtkutil.c (style_changed_cb): Check if frame is live and an
2122 X frame (Bug#14038).
2123
b88b62de
EZ
21242013-03-26 Eli Zaretskii <eliz@gnu.org>
2125
a18d7de6
EZ
2126 * w32.c (_PROCESS_MEMORY_COUNTERS_EX) [_WIN32_WINNT < 0x0500]:
2127 Define only for _WIN32_WINNT less than 0x0500.
da9dcbb8
EZ
2128 (_ANONYMOUS_UNION, _ANONYMOUS_STRUCT) [!_W64]: Don't define for
2129 MinGW64.
8f5e14c8
EZ
2130 Move inclusion of time.h before sys/time.h, so that MinGW64 could
2131 see its own definitions of 'struct timeval' and 'struct timezone'.
a18d7de6 2132
b88b62de
EZ
2133 Fix incompatibilities between MinGW.org and MinGW64 headers.
2134 * w32term.c (WCRANGE, GLYPHSET): Don't define if _W64 is defined.
2135
2136 * w32.c (REPARSE_DATA_BUFFER): Guard with
2137 MAXIMUM_REPARSE_DATA_BUFFER_SIZE being defined.
2138
c074e458
JD
21392013-03-25 Jan Djärv <jan.h.d@swipnet.se>
2140
2141 * xterm.c: Include X11/XKBlib.h
2142 (XTring_bell): Use XkbBell if HAVE_XKB (Bug#14041).
2143
908589fd
AS
21442013-03-24 Andreas Schwab <schwab@linux-m68k.org>
2145
2146 * alloc.c (xpalloc, Fgarbage_collect): Reorder conditions that are
2147 written backwards.
2148 * blockinput.h (input_blocked_p): Likewise.
2149 * bytecode.c (exec_byte_code): Likewise.
2150 * callproc.c (call_process_kill, call_process_cleanup)
2151 (Fcall_process): Likewise.
2152 * ccl.c (ccl_driver, resolve_symbol_ccl_program)
2153 (Fccl_execute_on_string): Likewise.
2154 * character.c (string_escape_byte8): Likewise.
2155 * charset.c (read_hex): Likewise.
2156 * cm.c (calccost): Likewise.
2157 * data.c (cons_to_unsigned): Likewise.
2158 * dired.c (directory_files_internal, file_name_completion):
2159 Likewise.
2160 * dispnew.c (scrolling_window, update_frame_1, Fsleep_for)
2161 (sit_for): Likewise.
2162 * doc.c (Fsubstitute_command_keys): Likewise.
2163 * doprnt.c (doprnt): Likewise.
2164 * editfns.c (hi_time, decode_time_components, Fformat): Likewise.
2165 * emacsgtkfixed.c: Likewise.
2166 * fileio.c (file_offset, Fwrite_region): Likewise.
2167 * floatfns.c (Fexpt, fmod_float): Likewise.
2168 * fns.c (larger_vector, make_hash_table, Fmake_hash_table):
2169 Likewise.
2170 * font.c (font_intern_prop): Likewise.
2171 * frame.c (x_set_alpha): Likewise.
2172 * gtkutil.c (get_utf8_string): Likewise.
2173 * indent.c (check_display_width): Likewise.
2174 * intervals.c (create_root_interval, rotate_right, rotate_left)
2175 (split_interval_right, split_interval_left)
2176 (adjust_intervals_for_insertion, delete_node)
2177 (interval_deletion_adjustment, adjust_intervals_for_deletion)
2178 (merge_interval_right, merge_interval_left, copy_intervals)
2179 (set_intervals_multibyte_1): Likewise.
2180 * keyboard.c (gobble_input, append_tool_bar_item): Likewise.
2181 * keymap.c (Fkey_description): Likewise.
2182 * lisp.h (FIXNUM_OVERFLOW_P, vcopy): Likewise.
2183 * lread.c (openp, read_integer, read1, string_to_number):
2184 Likewise.
2185 * menu.c (ensure_menu_items): Likewise.
2186 * minibuf.c (read_minibuf_noninteractive): Likewise.
2187 * print.c (printchar, strout): Likewise.
2188 * process.c (create_process, Faccept_process_output)
2189 (wait_reading_process_output, read_process_output, send_process)
2190 (wait_reading_process_output): Likewise.
2191 * profiler.c (make_log, handle_profiler_signal): Likewise.
2192 * regex.c (re_exec): Likewise.
2193 * regex.h: Likewise.
2194 * search.c (looking_at_1, Freplace_match): Likewise.
2195 * sysdep.c (get_child_status, procfs_ttyname)
2196 (procfs_get_total_memory): Likewise.
2197 * systime.h (EMACS_TIME_VALID_P): Likewise.
2198 * term.c (dissociate_if_controlling_tty): Likewise.
2199 * window.c (get_phys_cursor_glyph): Likewise.
2200 * xdisp.c (init_iterator, redisplay_internal, redisplay_window)
2201 (try_window_reusing_current_matrix, try_window_id, pint2hrstr):
2202 Likewise.
2203 * xfns.c (Fx_window_property): Likewise.
2204 * xmenu.c (set_frame_menubar): Likewise.
2205 * xselect.c (x_get_window_property, x_handle_dnd_message):
2206 Likewise.
2207 * xsmfns.c (smc_save_yourself_CB): Likewise.
2208 * xterm.c (x_scroll_bar_set_handle): Likewise.
2209
2bf7d27a
DA
22102013-03-24 Dmitry Antipov <dmantipov@yandex.ru>
2211
2212 * xfaces.c (Finternal_face_x_get_resource): Allow 3rd (frame) argument
2213 to be optional or nil. Adjust comment and convert it to docstring.
2214 * xselect.c (Fx_send_client_event): Rename to Fx_send_client_message.
2215 * frame.c (display_x_get_resource, Fx_get_resource): Break long line.
2216
a9ebfa0b
PE
22172013-03-24 Paul Eggert <eggert@cs.ucla.edu>
2218
2219 Static checking by GCC 4.8-20130319.
2220 * image.c (gif_load): Assume pass < 3 to pacify GCC.
2221 * process.c (Fset_process_datagram_address)
2222 (Fmake_network_process): Check get_lisp_to_sockaddr_size return value.
2223 * xdisp.c (get_char_face_and_encoding):
2224 (get_glyph_face_and_encoding): Ensure that *CHAR2B is initialized.
2225 (get_glyph_face_and_encoding): Prepare face before possibly using it.
2226 (get_per_char_metric): Don't use CHAR2B if it might not be initialized.
2227
4f3576ee
KB
22282013-03-24 Ken Brown <kbrown@cornell.edu>
2229
789b5e9a
KB
2230 * w32fns.c (emacs_abort) [CYGWIN]: Define `_open' as a macro to
2231 fix compilation on 64-bit Cygwin, where underscores are not
2232 automatically prepended.
2233
4f3576ee
KB
2234 * w32term.c (w32_initialize): Silence compiler warning.
2235
b5b7745f
EZ
22362013-03-23 Eli Zaretskii <eliz@gnu.org>
2237
cdc0d0bd
EZ
2238 * w32term.c (w32fullscreen_hook): Use FRAME_NORMAL_WIDTH,
2239 FRAME_NORMAL_HEIGHT, and FRAME_PREV_FSMODE, instead of static
562c6ee9
SM
2240 variables, to save and restore frame dimensions.
2241 Use FRAME_NORMAL_LEFT and FRAME_NORMAL_TOP to restore frame position
2242 after returning from a 'fullscreen' configuration.
2243 use SendMessage instead of PostMessage to send the SC_RESTORE message,
cdc0d0bd
EZ
2244 to avoid races between the main thread and the input thread.
2245
2246 * w32term.h (struct w32_output): New members normal_width,
2247 normal_height, normal_top, normal_left, and prev_fsmode.
2248 (FRAME_NORMAL_WIDTH, FRAME_NORMAL_HEIGHT, FRAME_NORMAL_TOP)
2249 (FRAME_NORMAL_LEFT, FRAME_PREV_FSMODE): New macros to access these
2250 members of a frame.
2251
b5b7745f
EZ
2252 * w32term.c (w32fullscreen_hook): Record last value of the frame's
2253 'fullscreen' parameter. Always record previous width and height
2254 of the frame, except when switching out of maximized modes, so
2255 that they could be restored correctly, instead of resetting to the
2256 default frame dimensions. Send SC_RESTORE command to the frame,
2257 unless we are going to send SC_MAXIMIZE, to restore the frame
2258 resize hints in the mouse pointer shown by the window manager.
2259 (Bug#14032)
2260
2261 * frame.c (get_frame_param): Now extern for WINDOWSNT as well.
2262
2263 * lisp.h (get_frame_param): Adjust conditions for prototype
2264 declaration.
2265
a3454eed
KB
22662013-03-22 Ken Brown <kbrown@cornell.edu>
2267
2268 * unexcw.c: Drop unneeded inclusion of w32common.h.
2269 (report_sheap_usage): Declare.
2270 (read_exe_header): Add magic numbers for x86_64.
2271 (fixup_executable): Fix printf format specifier for unsigned long
2272 argument.
2273
5a49b79c
DA
22742013-03-22 Dmitry Antipov <dmantipov@yandex.ru>
2275
2276 * frame.h (struct frame): Put menu_bar_window under #ifdef
2277 because this member is not needed when X toolkit is in use.
2278 (fset_menu_bar_window):
2279 * dispnew.c (clear_current_matrices, clear_desired_matrices)
2280 (free_glyphs, update_frame):
2281 * xdisp.c (expose_frame): Likewise.
2282 (display_menu_bar): Likewise. Remove redundant eassert.
2283 * window.h (WINDOW_MENU_BAR_P): Always define to 0 if X
2284 toolkit is in use.
2285
d6723bf7
PE
22862013-03-21 Paul Eggert <eggert@cs.ucla.edu>
2287
7b1123d8
PE
2288 Use functions and constants to manipulate Lisp_Save_Value objects.
2289 This replaces code that used macros and strings and token-pasting.
2290 The change makes the C source a bit easier to follow,
2291 and shrinks the Emacs executable a bit.
2292 * alloc.c: Verify some properties of Lisp_Save_Value's representation.
2293 (make_save_value): Change 1st arg from string to enum. All callers
2294 changed.
2295 (INTX): Remove.
2296 (mark_object): Use if, not #if, for GC_MARK_STACK.
2297 * lisp.h (SAVE_VALUEP, XSAVE_VALUE, XSAVE_POINTER, XSAVE_INTEGER)
2298 (XSAVE_OBJECT): Now functions, not macros.
2299 (STRING_BYTES_BOUND): Now just a macro, not a constant too;
2300 the constant was never used.
2301 (SAVE_SLOT_BITS, SAVE_VALUE_SLOTS, SAVE_TYPE_BITS, SAVE_TYPE_INT_INT)
2302 (SAVE_TYPE_INT_INT_INT, SAVE_TYPE_OBJ_OBJ, SAVE_TYPE_OBJ_OBJ_OBJ)
2303 (SAVE_TYPE_OBJ_OBJ_OBJ_OBJ, SAVE_TYPE_PTR_INT, SAVE_TYPE_PTR_OBJ)
2304 (SAVE_TYPE_PTR_PTR, SAVE_TYPE_PTR_PTR_OBJ, SAVE_TYPE_MEMORY):
2305 New constants.
2306 (struct Lisp_Save_Value): Replace members area, type0, type1, type2,
2307 type3 with a single member save_type. All uses changed.
2308 (save_type, set_save_pointer, set_save_integer): New functions.
2309 * print.c (PRINTX): Remove.
2310
d6723bf7
PE
2311 * alloc.c: Remove redundant static declarations.
2312
5f24fa51
DA
23132013-03-20 Dmitry Antipov <dmantipov@yandex.ru>
2314
2315 * window.h (struct window): Convert left_col, top_line, total_lines
2316 and total_cols from Lisp_Objects to integers. Adjust comments.
2317 (wset_left_col, wset_top_line, wset_total_cols, wset_total_lines):
2318 Remove.
2319 (WINDOW_TOTAL_COLS, WINDOW_TOTAL_LINES, WINDOW_LEFT_EDGE_COL)
2320 (WINDOW_TOP_EDGE_LINE): Drop Lisp_Object to integer conversion.
2321 * dispnew.c, frame.c, w32fns.c, window.c, xdisp.c, xfns.c:
2322 Adjust users where appropriate.
2323
42143acd
DA
23242013-03-20 Dmitry Antipov <dmantipov@yandex.ru>
2325
2326 * frame.h (struct frame): Drop resx and resy because the same data is
2327 available from window system-specific output context. Adjust users.
562c6ee9
SM
2328 (default_pixels_per_inch_x, default_pixels_per_inch_y):
2329 New functions to provide defaults when no window system available.
42143acd 2330 (FRAME_RES_X, FRAME_RES_Y): New macros.
562c6ee9 2331 (NUMVAL): Move from xdisp.c.
42143acd
DA
2332 * font.c (font_pixel_size, font_find_for_lface, font_open_for_lface)
2333 (Ffont_face_attributes, Fopen_font):
2334 * image.c (gs_load):
2335 * w32font.c (fill_in_logfont):
2336 * xdisp.c (calc_pixel_width_or_height):
2337 * xfaces.c (Fx_family_fonts, set_lface_from_font): Use them.
2338 * xsettings.c (apply_xft_settings): Drop frame loop and adjust comment.
2339
c0a17406
KH
23402013-03-20 Kenichi Handa <handa@gnu.org>
2341
2342 * coding.c (syms_of_coding): Initialize disable_ascii_optimization
2343 to 1 (temporary workaround until a bug related to ASCII
2344 optimization is fixed).
2345
095d384d
DA
23462013-03-19 Dmitry Antipov <dmantipov@yandex.ru>
2347
2348 * window.c (Fwindow_combination_limit, Fset_window_combination_limit):
2349 Signal error if window is not internal. Adjust docstring.
2350 (delete_all_child_windows): Use combination_limit to save the buffer.
2351 (Fset_window_configuration): Adjust accordingly.
cf4bb06d
DA
2352 * print.c (syms_of_print): Initialize debugging output not here...
2353 (init_print_once): ...but in a new function here.
2354 * lisp.h (init_print_once): Add prototype.
2355 * emacs.c (main): Add call to init_print_once. Adjust comments.
095d384d 2356
748fa866
DA
23572013-03-18 Dmitry Antipov <dmantipov@yandex.ru>
2358
2359 * window.c (window_resize_check, window_resize_apply)
2360 (window_from_coordinates, recombine_windows, set_window_buffer)
2361 (make_parent_window, Fwindow_resize_apply, resize_frame_windows)
2362 (Fsplit_window_internal, Fdelete_window_internal)
2363 (freeze_window_starts): Use bool for booleans.
2364 * window.h (window_frame_coordinates, resize_frame_windows)
2365 (freeze_window_starts, set_window_buffer): Adjust prototypes.
2366
81519fd2
SM
23672013-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
2368
2369 * dispnew.c (bitch_at_user): Use `user-error'.
2370
6db423a9
KB
23712013-03-17 Ken Brown <kbrown@cornell.edu>
2372
2373 * dispextern.h (RGB_PIXEL_COLOR): Move here from image.c. Use it
2374 as return type of image_background. (Bug#13981)
2375 * image.c (RGB_PIXEL_COLOR): Move to dispextern.h.
2376
8f2906f5
JD
23772013-03-16 Jan Djärv <jan.h.d@swipnet.se>
2378
960ce480 2379 * nsterm.m (updateFrameSize:): Change resize increments if needed.
6615748a 2380 (ns_select): Don't return with result uninitialized.
960ce480 2381
8f2906f5
JD
2382 * nsterm.h (EmacsSavePanel, EmacsOpenPanel): Add getFilename
2383 and getDirectory.
2384
81519fd2
SM
2385 * nsfns.m (ns_filename_from_panel, ns_directory_from_panel):
2386 New functions.
8f2906f5
JD
2387 (Fns_read_file_name): ret is BOOL. If ! dir_only_p, don't choose
2388 directories. If filename is nil, get directory name (Bug#13932).
2389 Use getFilename and getDirectory.
2390 (getFilename, getDirectory): New methods for EmacsSavePanel and
2391 EmacsOpenPanel.
2392 (ok:): In EmacsOpenPanel, if we can't choose directories, just return.
2393
cded56c1
PE
23942013-03-15 Paul Eggert <eggert@cs.ucla.edu>
2395
2396 * coding.c (decode_coding_gap): Fix typo caught by static checking.
2397
251e9147 23982013-03-15 Kenichi Handa <handa@gnu.org>
8a44e6d1
KH
2399
2400 * insdel.c (insert_from_gap): New arg text_at_gap_tail.
2401 (adjust_after_replace): Make it back to static. Delete the third
2402 arg text_at_gap_tail. Cancel the code for handling it.
2403
2404 * coding.h (struct coding_system): New member eol_seen.
2405
2406 * coding.c (detect_ascii): New function.
2407 (detect_coding): Set coding->head_ascii and coding->eol_seen only
2408 when the source bytes are actually scanned. On detecting for
2409 coding_category_utf_8_auto, call detect_ascii instead of scanning
2410 source bytes directly.
2411 (produce_chars): Call insert_from_gap with the new arg 0.
2412 (encode_coding): Likewise.
2413 (decode_coding_gap): Control ASCII optimization by the variable
2414 disable_ascii_optimization instead of #ifndef .. #endif.
2415 Deccode EOL format according to coding->eol_seen.
2416 (syms_of_coding): Declare disable-ascii-optimization as a Lisp
2417 variable.
2418
8a44e6d1
KH
2419 * lisp.h (adjust_after_replace): Cancel externing it.
2420 (insert_from_gap): Adjust prototype.
2421
5f795e34
EZ
24222013-03-15 Eli Zaretskii <eliz@gnu.org>
2423
2424 * w32term.c (w32fullscreen_hook): Swap FULLSCREEN_BOTH and
2425 FULLSCREEN_MAXIMIZED. (Bug#13935)
2426
f258b4be
DA
24272013-03-15 Dmitry Antipov <dmantipov@yandex.ru>
2428
2429 * region-cache.c (find_cache_boundary, move_cache_gap)
2430 (insert_cache_boundary, delete_cache_boundaries, set_cache_region):
2431 Simplify debugging check and convert to eassert. Adjust comment.
2432 (pp_cache): Put under ENABLE_CHECKING.
2433
a5cc4dde
EZ
24342013-03-14 Eli Zaretskii <eliz@gnu.org>
2435
2436 * w32term.c (w32_read_socket) <WM_WINDOWPOSCHANGED>: Remove old
2437 and incorrect code. Treat WM_WINDOWPOSCHANGED like WM_ACTIVATE
2438 and WM_ACTIVATEAPP.
2439 (w32fullscreen_hook): If the frame is visible, reset
2440 f->want_fullscreen flag after changing the frame size. If the
2441 frame is not visible, set f->want_fullscreen to FULLSCREEN_WAIT.
2442 (Bug#13953)
2443
3fc5e44a
DC
24442013-03-13 Daniel Colascione <dancol@dancol.org>
2445
2446 * emacs.c (main): Call syms_of_cygw32 on CYGWIN non-NTGUI builds
2447 too so that these builds can use Cygwin's file conversion
2448 functions. (We've been building and linking cygw32.o all along
2449 and just not using it.)
2450
47d7532e
PE
24512013-03-13 Paul Eggert <eggert@cs.ucla.edu>
2452
2453 File synchronization fixes (Bug#13944).
2454 * Makefile.in (LIB_FDATASYNC): New macro.
2455 (LIBES): Use it.
2456 * conf_post.h (BSD_SYSTEM, BSD_SYSTEM_AHB): Remove; no longer needed.
2457 * fileio.c (Fwrite_region, write_region_inhibit_fsync):
2458 Don't worry about HAVE_FSYNC, since a substitute fsync is
2459 available if the system lacks one.
2460 (Fwrite_regin): Retry fsync if interrupted.
2461
c7ffccaf
EZ
24622013-03-13 Eli Zaretskii <eliz@gnu.org>
2463
4e2df81d 2464 * w32term.c (w32_read_socket): If the Emacs frame is being
c7ffccaf
EZ
2465 activated, call w32fullscreen_hook, to make sure the new frame
2466 dimensions are in effect. (Bug#13937)
2467
8a7debc1
DA
24682013-03-13 Dmitry Antipov <dmantipov@yandex.ru>
2469
2470 * xdisp.c (init_iterator): Simplify because both character and byte
2471 positions are either specified or -1. Add eassert. Adjust comment.
ffcd945e
DA
2472 * window.c (Fscroll_other_window): Use SET_PT_BOTH because both
2473 character and byte positions can be obtained from marker.
8a7debc1 2474
7fd8c501
PE
24752013-03-13 Paul Eggert <eggert@cs.ucla.edu>
2476
d9df6f40
PE
2477 Static checking by Sun C 5.12.
2478 * alloc.c (buffer_memory_full) [REL_ALLOC]:
2479 * bytecode.c (exec_byte_code):
2480 * dispnew.c (init_display):
2481 * eval.c (error):
2482 * fileio.c (Fsubstitute_in_file_name):
2483 * keyboard.c (Fevent_convert_list):
2484 * keymap.c (Fsingle_key_description):
2485 * term.c (maybe_fatal, fatal):
2486 * xfns.c (Fx_display_backing_store, Fx_display_visual_class):
2487 * xsmfns.c (Fhandle_save_session):
2488 Omit unreachable code.
2489 * keymap.c (map_keymap_char_table_item): Cast void * to
2490 a function pointer type; the C Standard requires this.
2491
7fd8c501
PE
2492 * sysdep.c: Remove a use of BSD_SYSTEM, which I'm trying to phase out.
2493 Include <sys/param.h> unconditionally, as that works elsewhere and
2494 is simpler here. Include <sys/sysctl.h> if DARWIN_OS ||
2495 __FreeBSD__, not if BSD_SYSTEM, since it's needed only for Darwin
2496 and FreeBSD now.
2497
a020afb9 2498See ChangeLog.12 for earlier changes.
aac0c6e3
MR
2499
2500;; Local Variables:
2501;; coding: utf-8
aac0c6e3
MR
2502;; End:
2503
ab422c4d 2504 Copyright (C) 2011-2013 Free Software Foundation, Inc.
aac0c6e3
MR
2505
2506 This file is part of GNU Emacs.
2507
2508 GNU Emacs is free software: you can redistribute it and/or modify
2509 it under the terms of the GNU General Public License as published by
2510 the Free Software Foundation, either version 3 of the License, or
2511 (at your option) any later version.
2512
2513 GNU Emacs is distributed in the hope that it will be useful,
2514 but WITHOUT ANY WARRANTY; without even the implied warranty of
2515 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2516 GNU General Public License for more details.
2517
2518 You should have received a copy of the GNU General Public License
2519 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.