Commit | Line | Data |
---|---|---|
65b02bb9 DA |
1 | 2013-08-02 Dmitry Antipov <dmantipov@yandex.ru> |
2 | ||
3 | * xterm.h (struct x_output) [HAVE_X_I18N]: Remove xic_base_fontname | |
4 | member which is not really used any more. | |
5 | (FRAME_XIC_BASE_FONTNAME): Remove. | |
6 | * xfns.c (xic_free_fontset): Adjust user. | |
7 | * xmenu.c (mouse_position_for_popup, x_activate_menubar) | |
8 | (update_frame_menubar, set_frame_menubar, free_frame_menubar) | |
9 | (create_and_show_popup_menu, xmenu_show, create_and_show_dialog) | |
10 | (xdialog_show): Use eassert for debugging check. | |
7ee0f047 | 11 | * w32term.c (x_unfocus_frame): Remove unused dummy function. |
65b02bb9 | 12 | |
6318cde0 PE |
13 | 2013-08-01 Paul Eggert <eggert@cs.ucla.edu> |
14 | ||
15 | * fileio.c, fns.c (merge): Move extern decl from here ... | |
16 | * lisp.h (merge): ... to here. | |
17 | ||
6c1a09ba DA |
18 | 2013-08-01 Dmitry Antipov <dmantipov@yandex.ru> |
19 | ||
20 | Fix last font-related change. | |
21 | * w32font.h (w32font_list_internal, w32font_match_internal): | |
22 | Fix prototype. | |
23 | * w32uniscribe.c (uniscribe_list, uniscribe_match): | |
24 | (uniscribe_list_family): Adjust to match font API change. | |
25 | MS-Windows breakage reported by Juanma Barranquero <lekktu@gmail.com> | |
26 | at http://lists.gnu.org/archive/html/emacs-devel/2013-08/msg00006.html. | |
27 | ||
f8c20208 DA |
28 | 2013-08-01 Dmitry Antipov <dmantipov@yandex.ru> |
29 | ||
30 | * frame.h (FRAME_MOUSE_UPDATE): | |
31 | * nsterm.m (ns_frame_up_to_date): Omit redundant check | |
32 | whether hlinfo->mouse_face_mouse_frame is non-NULL. | |
33 | ||
fdb396e2 DA |
34 | 2013-08-01 Dmitry Antipov <dmantipov@yandex.ru> |
35 | ||
36 | Avoid redundant Lisp_Object <-> struct frame conversions in font API. | |
37 | * font.h (struct font_driver): Change list, match, and list_family | |
38 | functions to accept struct frame * as first arg. | |
39 | * font.c (font_score, font_compare, font_sort_entities): Remove | |
40 | prototypes. | |
41 | (font_sort_entities, font_list_entities, font_select_entity): | |
42 | (font_find_for_lface, Flist_fonts, Ffont_family_list): Adjust to | |
43 | match font API change. | |
44 | * xfont.c (xfont_list, xfont_match, xfont_list_family): | |
45 | * ftfont.c (ftfont_list, ftfont_match, ftfont_list_family): | |
46 | * ftxfont.c (ftxfont_list, ftxfont_match): | |
47 | * xftfont.c (xftfont_list, xftfont_match): | |
48 | * nsfont.m (nsfont_list, nsfont_match, nsfont_list_family): | |
49 | * w32font.c (w32font_list, w32font_match, w32font_list): | |
50 | (w32font_list_internal, w32_font_match_internal): Likewise. | |
51 | * xfaces.c (Fx_family_fonts): Adjust user. | |
52 | ||
52b8a085 DA |
53 | 2013-08-01 Dmitry Antipov <dmantipov@yandex.ru> |
54 | ||
55 | Do not use pure Xism x_wm_set_icon_position in non-X ports. | |
56 | * frame.c (x_set_frame_parameters): Call to x_wm_set_icon_position | |
57 | only if HAVE_X_WINDOWS is in use. | |
58 | * frame.h (x_set_frame_parameters): Move under HAVE_X_WINDOWS. | |
59 | * nsterm.m (x_wm_set_icon_position): Remove no-op. | |
60 | * w32term.c (x_wm_set_icon_position): Likewise. | |
61 | * w32fns.c (x_icon): Adjust user. | |
62 | ||
c791c18e DA |
63 | 2013-08-01 Dmitry Antipov <dmantipov@yandex.ru> |
64 | ||
65 | * xterm.c (last_mouse_press_frame): Remove the | |
66 | leftover which is not really used any more. | |
67 | (handle_one_xevent, syms_of_xterm): Adjust users. | |
1ca6cc28 DA |
68 | (x_flush): Call XFlush once per each X display, not frame. |
69 | This is better because this code always unconditionally skips | |
70 | non-X frames in Vframe_list and issues the only XFlush if we | |
71 | have more than one X frame on the same X display. | |
2f935d86 DA |
72 | (any_help_event_p, x_draw_glyph_string_background, x_display_ok): |
73 | Use bool for booleans. | |
74 | (x_draw_glyph_string_background, cvt_string_to_pixel): | |
75 | (cvt_pixel_dtor): Drop unnecessary prototypes. | |
76 | * xterm.h (x_display_ok): Adjust prototype. | |
c791c18e | 77 | |
f435830e DA |
78 | 2013-07-31 Dmitry Antipov <dmantipov@yandex.ru> |
79 | ||
80 | Drop unnecessary functions that deals with frame pixel size. | |
81 | * frame.h, msdos.h, w32term.h, xterm.h (x_pixel_width) | |
82 | (x_pixel_height): Drop prototypes. | |
83 | * msdos.c, nsfns.m, w32fns.c, xfns.c (x_pixel_width) | |
84 | (x_pixel_height): Drop implementations. | |
85 | * frame.c (Fframe_pixel_height): Use FRAME_PIXEL_HEIGHT | |
86 | which should be always valid for window frame. | |
87 | (Frame_pixel_width): Likewise with FRAME_PIXEL_WIDTH. | |
88 | * w32menu.c (Fx_popup_dialog): | |
89 | * xmenu.c (Fx_popup_dialog): Likewise for both. | |
90 | ||
84231434 DA |
91 | 2013-07-31 Dmitry Antipov <dmantipov@yandex.ru> |
92 | ||
93 | * frame.c (Fmake_terminal_frame): Use store_in_alist to setup | |
94 | frame parameters and call to Fmodify_frame_parameters just once. | |
4c131798 DA |
95 | (Fset_frame_height, Fset_frame_width): Mention nil frame in docstring. |
96 | (Fset_frame_size, Fset_frame_position): Use decode_live_frame | |
97 | and mention nil frame in docstring. | |
84231434 | 98 | |
959067a1 DA |
99 | 2013-07-31 Dmitry Antipov <dmantipov@yandex.ru> |
100 | ||
101 | * frame.c (make_frame, x_set_frame_parameters): Use bool for boolean. | |
102 | (x_figure_window_size): Likewise. Adjust to return long. | |
103 | (syms_of_frame): Do not DEFSYM Qterminal_live_p. | |
104 | (toplevel): Move Qterminal_live_p to... | |
105 | * terminal.c (toplevel): ...here, make it static, and... | |
106 | (syms_of_terminal): ...DEFSYM here. | |
107 | * frame.h (Qterminal_live_p): Remove declaration. | |
108 | (make_frame, x_figure_window_size): Adjust prototype. | |
109 | * nsfns.m (Fx_create_frame): Use long for window flags. | |
110 | ||
f4b169ce PE |
111 | 2013-07-30 Paul Eggert <eggert@cs.ucla.edu> |
112 | ||
113 | Fix tempfile bug on platforms lacking mkostemp and mkstemp (Bug#14986). | |
114 | * callproc.c (create_temp_file) [! (HAVE_MKOSTEMP || HAVE_MKSTEMP)]: | |
115 | Do not assume that emacs_close (INT_MAX) is a no-op. | |
116 | ||
bee6a2c7 DA |
117 | 2013-07-30 Dmitry Antipov <dmantipov@yandex.ru> |
118 | ||
119 | * xfaces.c (make_face_cache): For struct face_cache, prefer | |
120 | xmalloc to xzalloc and so avoid redundant call to memset. | |
121 | (Finternal_set_lisp_face_attribute): Fix comment typo and style. | |
122 | ||
d7e6881a DA |
123 | 2013-07-30 Dmitry Antipov <dmantipov@yandex.ru> |
124 | ||
125 | * fringe.c (draw_window_fringes, update_window_fringes) | |
126 | (compute_fringe_widths): | |
127 | * w32term.c (x_draw_glyph_string): | |
128 | * window.c (candidate_window_p, Frecenter): | |
129 | * xfaces.c (realize_basic_faces, realize_default_face) | |
130 | (Fbitmap_space_p, Finternal_set_lisp_face_attribute) | |
131 | (x_update_menu_appearance, face_attr_equal_p, lface_equal_p): | |
132 | * xfns.c (x_set_cursor_color, xic_free_xfontset): | |
133 | * xmenu.c (Fx_menu_bar_open_internal): | |
134 | * xselect.c (x_reply_selection_request, Fx_get_atom_name): | |
135 | * xsettings.c (xft_settings_event): | |
136 | * xterm.c (x_draw_glyph_string, x_had_errors_p): | |
137 | Use bool for booleans. Adjust style and comments where | |
138 | appropriate. | |
139 | * dispextern.h (draw_window_fringes, update_window_fringes) | |
140 | (compute_fringe_widths): | |
141 | * xterm.h (x_had_errors_p): Adjust prototype. | |
142 | ||
ec3058af DA |
143 | 2013-07-30 Dmitry Antipov <dmantipov@yandex.ru> |
144 | ||
145 | * frame.c (Fmodify_frame_parameters): Always check 2nd arg with | |
146 | CHECK_LIST. Rewrite the loop to avoid useless local variable. | |
147 | ||
218e0637 DA |
148 | 2013-07-29 Dmitry Antipov <dmantipov@yandex.ru> |
149 | ||
150 | * fns.c (toplevel): Remove comment before Fsafe_length because | |
151 | it checks for QUIT. | |
152 | ||
e560aba9 PE |
153 | 2013-07-28 Paul Eggert <eggert@cs.ucla.edu> |
154 | ||
155 | * frame.c (delete_frame): Avoid unnecessary 'this_f' test (Bug#14970). | |
156 | ||
2e5ce5de EZ |
157 | 2013-07-28 Eli Zaretskii <eliz@gnu.org> |
158 | ||
159 | * w32fns.c (w32_wnd_proc) <WM_IME_STARTCOMPOSITION>: Make sure the | |
160 | frame which got the message is still alive, before dereferencing | |
161 | its pointer. (Bug#14970) | |
162 | ||
163 | * frame.c (delete_frame): Test "this" frame's minibuffer window to | |
164 | be a live window, before using it as such. (Bug#14970) | |
165 | ||
e95da6d3 EZ |
166 | 2013-07-27 Eli Zaretskii <eliz@gnu.org> |
167 | ||
168 | * w32term.c (w32_read_socket) <WM_KILLFOCUS>: Call | |
169 | w32_detect_focus_change instead of doing part of its job by hand. | |
170 | This fixes the problem whereby FOCUS_OUT events were not sent to | |
171 | the event queue. | |
172 | ||
a8f93651 EZ |
173 | 2013-07-26 Eli Zaretskii <eliz@gnu.org> |
174 | ||
fec92060 EZ |
175 | * process.c (Fprocess_list): Doc fix. |
176 | ||
a8f93651 EZ |
177 | * w32term.c (w32_read_socket) <WM_EMACS_PAINT>: Warn about frame |
178 | being re-exposed only if it didn't ask to become visible. | |
179 | <WM_SIZE>: Under SIZE_RESTORED, only set the frame visible if it | |
180 | was previously iconified. (Bug#14841) | |
181 | (x_iconify_frame): Mark the frame iconified. | |
182 | ||
d5a7a9d9 PE |
183 | 2013-07-26 Paul Eggert <eggert@cs.ucla.edu> |
184 | ||
185 | Fix minor problems found by static checking. | |
186 | * eval.c (get_backtrace_frame, backtrace_eval_unrewind): Now static. | |
187 | (backtrace_eval_unrewind): ';' -> '{}' to pacify GCC. | |
188 | ||
56ea7291 SM |
189 | 2013-07-26 Stefan Monnier <monnier@iro.umontreal.ca> |
190 | ||
191 | * eval.c (set_specpdl_old_value): New function. | |
192 | (unbind_to): Minor simplification. | |
193 | (get_backtrace_frame): New function. | |
194 | (Fbacktrace_frame): Use it. Add `base' argument. | |
195 | (backtrace_eval_unrewind, Fbacktrace_eval): New functions. | |
196 | (syms_of_eval): Export backtrace-eval. | |
197 | * xterm.c (x_focus_changed): Simplify. | |
198 | ||
9d611ffe PE |
199 | 2013-07-25 Paul Eggert <eggert@cs.ucla.edu> |
200 | ||
201 | * fileio.c (Finsert_file_contents): Avoid double-close (Bug#14936). | |
202 | ||
999c74e3 EZ |
203 | 2013-07-24 Eli Zaretskii <eliz@gnu.org> |
204 | ||
205 | * xdisp.c (redisplay_window): Instead of moving point out of | |
206 | scroll margin, reject the force_start method, and try scrolling | |
207 | instead. (Bug#14780) | |
208 | ||
198fa217 KB |
209 | 2013-07-24 Ken Brown <kbrown@cornell.edu> |
210 | ||
211 | * alloc.c (make_save_ptr): Define if HAVE_NTGUI is defined | |
212 | (Bug#14944). | |
213 | ||
53840e55 PE |
214 | 2013-07-24 Paul Eggert <eggert@cs.ucla.edu> |
215 | ||
216 | * eval.c (Fprogn): Do not check that BODY is a proper list. | |
217 | This undoes the previous change. The check slows down the | |
218 | interpreter, and is not needed to prevent a crash. See | |
219 | <http://lists.gnu.org/archive/html/emacs-devel/2013-07/msg00693.html>. | |
220 | ||
60967f56 GM |
221 | 2013-07-23 Glenn Morris <rgm@gnu.org> |
222 | ||
223 | * Makefile.in ($(etc)/DOC, temacs$(EXEEXT)): Ensure etc/ exists. | |
224 | ||
9ca960e2 PE |
225 | 2013-07-23 Paul Eggert <eggert@cs.ucla.edu> |
226 | ||
a29c3e6d PE |
227 | Port to GNU/Linux systems with tinfo but not ncurses. |
228 | * dispnew.c (init_display): Depend on USE_NCURSES, not GNU_LINUX, | |
229 | to decide whether ncurses is being used. Without this change, | |
230 | GCC complains about tgetent not being declared, on a system | |
231 | that has tinfo installed but ncurses not installed. | |
232 | ||
f274311c PE |
233 | * eval.c (Fprogn): Check that BODY is a proper list. |
234 | ||
16b0520a PE |
235 | Tune UNEVALLED functions by using XCAR instead of Fcar, etc. |
236 | * data.c (Fsetq_default): | |
237 | * eval.c (Fif, Fcond, Fprog1, Fsetq, Fquote, Ffunction, Fdefvar) | |
238 | (Fdefconst, FletX, Flet, Fwhile, Fcatch, Funwind_protect) | |
239 | (Fcondition_case): | |
240 | Tune by taking advantage of the fact that ARGS is always a list | |
241 | when a function is declared to have UNEVALLED args. | |
242 | ||
9ca960e2 PE |
243 | * emacsgtkfixed.c: Port to GCC 4.6. |
244 | GCC 4.6 complains about -Wunused-local-typedefs, introduced in 4.7. | |
245 | ||
afacaa1b JB |
246 | 2013-07-23 Juanma Barranquero <lekktu@gmail.com> |
247 | ||
248 | * callproc.c (child_setup)[!WINDOWSNT]: Move exec_errno and pid | |
249 | here to silence compiler warnings. | |
250 | ||
368a85a4 PE |
251 | 2013-07-22 Paul Eggert <eggert@cs.ucla.edu> |
252 | ||
253 | * sysdep.c (frame) [__FreeBSD__]: #define to freebsd_frame | |
254 | when including <sys/user.h>, to prevent Sparc/ARM machine/frame.h | |
255 | from messing up Emacs's 'struct frame' (Bug#14923). | |
256 | ||
f4e891b5 PE |
257 | 2013-07-21 Paul Eggert <eggert@cs.ucla.edu> |
258 | ||
259 | * alloc.c (make_save_ptr_ptr): Define this function. | |
260 | It was inadvertently omitted. It's needed only if | |
261 | HAVE_MENUS && ! (USE_X_TOOLKIT || USE_GTK). | |
262 | ||
96c8b65e JD |
263 | 2013-07-21 Jan Djärv <jan.h.d@swipnet.se> |
264 | ||
265 | * nsterm.m (sendEvent:): Skip mouse moved if no dialog and no Emacs | |
266 | frame have focus (Bug#14895). | |
267 | ||
ee010797 PE |
268 | 2013-07-21 Paul Eggert <eggert@cs.ucla.edu> |
269 | ||
270 | Avoid vfork-related deadlock more cleanly. | |
271 | * callproc.c (child_setup): When the child's exec fails, output | |
272 | the program name, as that's more useful. Use O_NONBLOCK to avoid | |
273 | deadlock. | |
274 | * process.c (create_process_1): Remove; no longer needed. | |
275 | (create_process): Remove timer hack; no longer needed, now that | |
276 | the child avoids deadlock. | |
277 | ||
f0398ec1 | 278 | 2013-07-20 Glenn Morris <rgm@gnu.org> |
8bfcc21a GM |
279 | |
280 | * image.c (Fimage_flush): Fix doc typo. | |
281 | ||
b2a069c2 PE |
282 | 2013-07-20 Paul Eggert <eggert@cs.ucla.edu> |
283 | ||
6496aec9 PE |
284 | Fix array bounds violation when pty allocation fails. |
285 | * process.c (PTY_NAME_SIZE): New constant. | |
286 | (pty_name): Remove static variable; it's now auto. | |
287 | (allocate_pty): Define even if !HAVE_PTYS; that's simpler. | |
288 | Take pty_name as an arg rather than using a static variable. | |
289 | All callers changed. | |
290 | (create_process): Recover pty_flag from process, not from volatile local. | |
291 | (create_pty): Stay inside array even when pty allocation fails. | |
292 | (Fmake_serial_process): Omit unnecessary initializaiton of pty_flag. | |
293 | ||
b2a069c2 PE |
294 | * lread.c (Fload): Avoid initialization only when lint checking. |
295 | Mention that it's needed only for older GCCs. | |
296 | ||
99107004 KH |
297 | 2013-07-20 Kenichi Handa <handa@gnu.org> |
298 | ||
299 | * coding.c (CODING_ISO_FLAG_LEVEL_4): New macro. | |
300 | (decode_coding_iso_2022): Check the single-shift area. (Bug#8522) | |
301 | ||
6b1b199d AS |
302 | 2013-07-20 Andreas Schwab <schwab@linux-m68k.org> |
303 | ||
304 | * lread.c (Fload): Avoid uninitialized warning. | |
305 | ||
4195afc3 PE |
306 | 2013-07-19 Paul Eggert <eggert@cs.ucla.edu> |
307 | ||
3f5bef16 PE |
308 | Fix some minor file descriptor leaks and related glitches. |
309 | * filelock.c (create_lock_file) [!O_CLOEXEC]: Use fcntl with FD_CLOEXEC. | |
310 | (create_lock_file): Use write, not emacs_write. | |
311 | * image.c (slurp_file, png_load_body): | |
312 | * process.c (Fnetwork_interface_list, Fnetwork_interface_info) | |
313 | (server_accept_connection): | |
314 | Don't leak an fd on memory allocation failure. | |
315 | * image.c (slurp_file): Add a cheap heuristic for growing files. | |
316 | * xfaces.c (Fx_load_color_file): Block input around the fopen too, | |
317 | as that's what the other routines do. Maybe input need not be | |
318 | blocked at all, but it's better to be consistent. | |
319 | Avoid undefined behavior when strlen is zero. | |
320 | ||
4195afc3 PE |
321 | * alloc.c (staticpro): Avoid buffer overrun on repeated calls. |
322 | (NSTATICS): Now a constant; doesn't need to be a macro. | |
323 | ||
a1aeeffe RS |
324 | 2013-07-19 Richard Stallman <rms@gnu.org> |
325 | ||
326 | * coding.c (decode_coding_utf_8): Add simple loop for fast | |
327 | processing of ASCII characters. | |
328 | ||
63b34baa PE |
329 | 2013-07-19 Paul Eggert <eggert@cs.ucla.edu> |
330 | ||
331 | * conf_post.h (RE_TRANSLATE_P) [emacs]: Remove obsolete optimization. | |
332 | ||
621dd9ac EZ |
333 | 2013-07-19 Eli Zaretskii <eliz@gnu.org> |
334 | ||
335 | * keyboard.c (kbd_buffer_get_event): Use Display_Info instead of | |
336 | unportable 'struct x_display_info'. | |
337 | (DISPLAY_LIST_INFO): Delete macro: not needed, since Display_Info | |
338 | is a portable type. | |
339 | ||
1396ac86 PE |
340 | 2013-07-19 Paul Eggert <eggert@cs.ucla.edu> |
341 | ||
ab9980cd PE |
342 | * sysdep.c [GNU_LINUX]: Fix fd and memory leaks and similar issues. |
343 | (procfs_ttyname): Don't use uninitialized storage if emacs_fopen | |
344 | or fscanf fails. | |
345 | (system_process_attributes): Prefer plain char to unsigned char | |
346 | when either will do. Clean up properly if interrupted or if | |
347 | memory allocations fail. Don't assume sscanf succeeds. Remove | |
348 | no-longer-needed workaround to stop GCC from whining. Read | |
349 | command-line once, instead of multiple times. Check read status a | |
350 | bit more carefully. | |
351 | ||
1396ac86 PE |
352 | Fix obscure porting bug with varargs functions. |
353 | The code assumed that int is treated like ptrdiff_t in a vararg | |
354 | function, which is not a portable assumption. There was a similar | |
355 | -- though these days less likely -- porting problem with various | |
356 | assumptions that pointers of different types all smell the same as | |
357 | far as vararg functions is conserved. To make this problem less | |
358 | likely in the future, redo the API to use varargs functions. | |
359 | * alloc.c (make_save_value): Remove this vararg function. | |
360 | All uses changed to ... | |
361 | (make_save_int_int_int, make_save_obj_obj_obj_obj) | |
362 | (make_save_ptr_int, make_save_funcptr_ptr_obj, make_save_memory): | |
363 | New functions. | |
364 | (make_save_ptr): Rename from make_save_pointer, for consistency with | |
365 | the above. Define only on platforms that need it. All uses changed. | |
366 | ||
4d19d194 PE |
367 | 2013-07-18 Paul Eggert <eggert@cs.ucla.edu> |
368 | ||
369 | * keyboard.c: Try to fix typos in previous change. | |
370 | (DISPLAY_LIST_INFO): New macro. | |
371 | (kbd_buffer_get_event): Do not access members that are not present | |
c7064f05 | 372 | in X11. Revert inadvertent change of "!=" to "=". |
4d19d194 | 373 | |
945c5bb1 JB |
374 | 2013-07-18 Juanma Barranquero <lekktu@gmail.com> |
375 | ||
376 | * keyboard.c (kbd_buffer_get_event): | |
377 | * w32term.c (x_focus_changed): Port FOCUS_(IN|OUT)_EVENT changes to W32. | |
378 | Followup to 2013-07-16T11:41:06Z!jan.h.d@swipnet.se. | |
379 | ||
f4b1eb36 PE |
380 | 2013-07-18 Paul Eggert <eggert@cs.ucla.edu> |
381 | ||
5e679a2c PE |
382 | * filelock.c: Fix unlikely file descriptor leaks. |
383 | (get_boot_time_1): Rework to avoid using emacs_open. | |
384 | This doesn't actually fix a leak, but is better anyway. | |
385 | (read_lock_data): Use read, not emacs_read. | |
386 | ||
a8cd4836 PE |
387 | * doc.c: Fix minor memory and file descriptor leaks. |
388 | * doc.c (get_doc_string): Fix memory leak when doc file absent. | |
389 | (get_doc_string, Fsnarf_documentation): | |
390 | Fix file descriptor leak on error. | |
391 | ||
ef30e638 PE |
392 | * term.c: Fix minor fdopen-related file descriptor leaks. |
393 | * term.c (Fresume_tty) [!MSDOS]: Close fd if fdopen (fd) fails. | |
394 | (init_tty) [!DOS_NT]: Likewise. Also close fd if isatty (fd) fails. | |
395 | ||
f4b1eb36 PE |
396 | * charset.c: Fix file descriptor leaks and errno issues. |
397 | Include <errno.h>. | |
398 | (load_charset_map_from_file): Don't leak file descriptor on error. | |
399 | Use plain record_xmalloc since the allocation is larger than | |
400 | MAX_ALLOCA; that's simpler here. Simplify test for exhaustion | |
401 | of entries. | |
402 | * eval.c (record_unwind_protect_nothing): | |
403 | * fileio.c (fclose_unwind): | |
404 | New functions. | |
405 | * lread.c (load_unwind): Remove. All uses replaced by fclose_unwind. | |
406 | The replacement doesn't block input, but that no longer seems | |
407 | necessary. | |
408 | ||
b648c163 PE |
409 | 2013-07-17 Paul Eggert <eggert@cs.ucla.edu> |
410 | ||
a0931322 PE |
411 | * lread.c: Fix file descriptor leaks and errno issues. |
412 | (Fload): Close some races that leaked fds or streams when 'load' | |
413 | was interrupted. | |
414 | (Fload, openp): Report error number of last nontrivial failure to open. | |
415 | ENOENT counts as trivial. | |
416 | * eval.c (do_nothing, clear_unwind_protect, set_unwind_protect_ptr): | |
417 | New functions. | |
418 | * fileio.c (close_file_unwind): No need to test whether FD is nonnegative, | |
419 | now that the function is always called with a nonnegative arg. | |
420 | * lisp.h (set_unwind_protect_ptr, set_unwind_protect_int): Remove. | |
421 | All uses replaced with ... | |
422 | (clear_unwind_protect, set_unwind_protect_ptr): New decls. | |
423 | ||
b648c163 PE |
424 | A few more minor file errno-reporting bugs. |
425 | * callproc.c (Fcall_process): | |
426 | * doc.c (Fsnarf_documentation): | |
427 | * fileio.c (Frename_file, Fadd_name_to_file, Fmake_symbolic_link): | |
428 | * process.c (set_socket_option): | |
429 | Don't let a constructor trash errno. | |
430 | * doc.c: Include <errno.h>. | |
431 | ||
b1dc4084 JB |
432 | 2013-07-16 Juanma Barranquero <lekktu@gmail.com> |
433 | ||
434 | * w32fns.c (unwind_create_tip_frame): Fix declaration. | |
435 | ||
c43843aa PE |
436 | 2013-07-16 Paul Eggert <eggert@cs.ucla.edu> |
437 | ||
50a30cce PE |
438 | Fix w32 bug with call-process-region (Bug#14885). |
439 | * callproc.c (Fcall_process_region): Pass nil, not "/dev/null", | |
440 | to Fcall_process when the input is empty. This simplifies the | |
441 | code a bit. It makes no difference on POSIXish platforms but | |
442 | apparently it fixes a bug on w32. | |
443 | ||
44e18199 | 444 | Fix bug where insert-file-contents closes a file twice (Bug#14839). |
41d48a42 PE |
445 | * fileio.c (close_file_unwind): Don't close if FD is negative; |
446 | this can happen when unwinding a zapped file descriptor. | |
447 | (Finsert_file_contents): Unwind-protect the fd before the point marker, | |
448 | in case Emacs runs out of memory between the two unwind-protects. | |
449 | Don't trash errno when closing FD. | |
450 | Zap the FD in the specpdl when closing it, instead of deferring | |
451 | the removal of the unwind-protect; this fixes a bug where a child | |
452 | function unwinds the stack past us. | |
453 | ||
27e498e6 PE |
454 | New unwind-protect flavors to better type-check C callbacks. |
455 | This also lessens the need to write wrappers for callbacks, | |
456 | and the need for make_save_pointer. | |
457 | * alloca.c (free_save_value): | |
458 | * atimer.c (run_all_atimers): | |
459 | Now extern. | |
460 | * alloc.c (safe_alloca_unwind): | |
461 | * atimer.c (unwind_stop_other_atimers): | |
462 | * keyboard.c (cancel_hourglass_unwind) [HAVE_WINDOW_SYSTEM]: | |
463 | * menu.c (cleanup_popup_menu) [HAVE_NS]: | |
464 | * minibuf.c (choose_minibuf_frame_1): | |
465 | * process.c (make_serial_process_unwind): | |
466 | * xdisp.h (pop_message_unwind): | |
467 | * xselect.c (queue_selection_requests_unwind): | |
468 | Remove no-longer-needed wrapper. All uses replaced by the wrappee. | |
469 | * alloca.c (record_xmalloc): | |
470 | Prefer record_unwind_protect_ptr to record_unwind_protect with | |
471 | make_save_pointer. | |
472 | * alloca.c (Fgarbage_collect): | |
473 | Prefer record_unwind_protect_void to passing a dummy. | |
474 | * buffer.c (restore_buffer): | |
475 | * window.c (restore_window_configuration): | |
476 | * xfns.c, w32fns.c (do_unwind_create_frame) | |
477 | New wrapper. All record-unwind uses of wrappee changed. | |
478 | * buffer.c (set_buffer_if_live): | |
479 | * callproc.c (call_process_cleanup, delete_temp_file): | |
480 | * coding.c (code_conversion_restore): | |
481 | * dired.c (directory_files_internal_w32_unwind) [WINDOWSNT]: | |
482 | * editfns.c (save_excursion_restore) | |
483 | (subst_char_in_region_unwind, subst_char_in_region_unwind_1) | |
484 | (save_restriction_restore): | |
485 | * eval.c (restore_stack_limits, un_autoload): | |
486 | * fns.c (require_unwind): | |
487 | * keyboard.c (recursive_edit_unwind, tracking_off): | |
488 | * lread.c (record_load_unwind, load_warn_old_style_backquotes): | |
489 | * macros.c (pop_kbd_macro, restore_menu_items): | |
490 | * nsfns.m (unwind_create_frame): | |
491 | * print.c (print_unwind): | |
492 | * process.c (start_process_unwind): | |
493 | * search.c (unwind_set_match_data): | |
494 | * window.c (select_window_norecord, select_frame_norecord): | |
495 | * xdisp.c (unwind_with_echo_area_buffer, unwind_format_mode_line) | |
496 | (fast_set_selected_frame): | |
497 | * xfns.c, w32fns.c (unwind_create_tip_frame): | |
498 | Return void, not a dummy Lisp_Object. All uses changed. | |
499 | * buffer.h (set_buffer_if_live): Move decl here from lisp.h. | |
500 | * callproc.c (call_process_kill): | |
501 | * fileio.c (restore_point_unwind, decide_coding_unwind) | |
502 | (build_annotations_unwind): | |
503 | * insdel.c (Fcombine_after_change_execute_1): | |
504 | * keyboard.c (read_char_help_form_unwind): | |
505 | * menu.c (unuse_menu_items): | |
506 | * minibuf.c (run_exit_minibuf_hook, read_minibuf_unwind): | |
507 | * sound.c (sound_cleanup): | |
508 | * xdisp.c (unwind_redisplay): | |
509 | * xfns.c (clean_up_dialog): | |
510 | * xselect.c (x_selection_request_lisp_error, x_catch_errors_unwind): | |
511 | Accept no args and return void, instead of accepting and returning | |
512 | a dummy Lisp_Object. All uses changed. | |
513 | * cygw32.c (fchdir_unwind): | |
514 | * fileio.c (close_file_unwind): | |
515 | * keyboard.c (restore_kboard_configuration): | |
516 | * lread.c (readevalllop_1): | |
517 | * process.c (wait_reading_process_output_unwind): | |
518 | Accept int and return void, rather than accepting an Emacs integer | |
519 | and returning a dummy object. In some cases this fixes an | |
520 | unlikely bug when the corresponding int is outside Emacs integer | |
521 | range. All uses changed. | |
522 | * dired.c (directory_files_internal_unwind): | |
523 | * fileio.c (do_auto_save_unwind): | |
524 | * gtkutil.c (pop_down_dialog): | |
525 | * insdel.c (reset_var_on_error): | |
526 | * lread.c (load_unwind): | |
527 | * xfns.c (clean_up_file_dialog): | |
528 | * xmenu.c, nsmenu.m (pop_down_menu): | |
529 | * xmenu.c (cleanup_widget_value_tree): | |
530 | * xselect.c (wait_for_property_change_unwind): | |
531 | Accept pointer and return void, rather than accepting an Emacs | |
532 | save value encapsulating the pointer and returning a dummy object. | |
533 | All uses changed. | |
534 | * editfns.c (Fformat): Update the saved pointer directly via | |
535 | set_unwind_protect_ptr rather than indirectly via make_save_pointer. | |
536 | * eval.c (specpdl_func): Remove. All uses replaced by definiens. | |
537 | (unwind_body): New function. | |
538 | (record_unwind_protect): First arg is now a function returning void, | |
539 | not a dummy Lisp_Object. | |
540 | (record_unwind_protect_ptr, record_unwind_protect_int) | |
541 | (record_unwind_protect_void): New functions. | |
542 | (unbind_to): Support SPECPDL_UNWIND_PTR etc. | |
543 | * fileio.c (struct auto_save_unwind): New type. | |
544 | (do_auto_save_unwind): Use it. | |
545 | (do_auto_save_unwind_1): Remove; subsumed by new do_auto_save_unwind. | |
546 | * insdel.c (struct rvoe_arg): New type. | |
547 | (reset_var_on_error): Use it. | |
548 | * lisp.h (SPECPDL_UNWIND_PTR, SPECPDL_UNWIND_INT, SPECPDL_UNWIND_VOID): | |
549 | New constants. | |
550 | (specbinding_func): Remove; there are now several such functions. | |
551 | (union specbinding): New members unwind_ptr, unwind_int, unwind_void. | |
552 | (set_unwind_protect_ptr): New function. | |
553 | * xselect.c: Remove unnecessary forward decls, to simplify maintenance. | |
554 | ||
4e604a5d PE |
555 | Be simpler and more consistent about reporting I/O errors. |
556 | * fileio.c (Fcopy_file, Finsert_file_contents, Fwrite_region): | |
557 | Say "Read error" and "Write error", rather than "I/O error", or | |
558 | "IO error reading", or "IO error writing", when a read or write | |
559 | error occurs. | |
560 | * process.c (Fmake_network_process, wait_reading_process_output) | |
561 | (send_process, Fprocess_send_eof, wait_reading_process_output): | |
562 | Capitalize diagnostics consistently. Put "failed foo" at the | |
563 | start of the diagnostic, so that we don't capitalize the | |
564 | function name "foo". Consistently say "failed" for such | |
565 | diagnostics. | |
566 | * sysdep.c, w32.c (serial_open): Now accepts Lisp string, not C string. | |
567 | All callers changed. This is so it can use report_file_error. | |
568 | * sysdep.c (serial_open, serial_configure): Capitalize I/O | |
569 | diagnostics consistently as above. | |
570 | ||
a9757f6a PE |
571 | * fileio.c (report_file_errno): Fix errno reporting bug. |
572 | If the file name is neither null nor a pair, package it up as a | |
573 | singleton list. All callers changed, both to this function and to | |
574 | report_file_error. This fixes a bug where the memory allocator | |
575 | invoked by list1 set errno so that the immediately following | |
576 | report_file_error reported the wrong errno value. | |
577 | ||
c43843aa PE |
578 | Fix minor problems found by --enable-gcc-warnings. |
579 | * frame.c (Fhandle_focus_in, Fhandle_focus_out): Return a value. | |
580 | * keyboard.c (kbd_buffer_get_event): Remove unused local. | |
581 | ||
18c26d81 JD |
582 | 2013-07-16 Jan Djärv <jan.h.d@swipnet.se> |
583 | ||
584 | * xterm.c (x_focus_changed): Always generate FOCUS_IN_EVENT. | |
585 | Set event->arg to Qt if switch-event shall be generated. | |
586 | Generate FOCUS_OUT_EVENT for FocusOut if this is the focused frame. | |
587 | ||
588 | * termhooks.h (enum event_kind): Add FOCUS_OUT_EVENT. | |
589 | ||
590 | * nsterm.m (windowDidResignKey): If this is the focused frame, generate | |
591 | FOCUS_OUT_EVENT. | |
592 | ||
593 | * keyboard.c (Qfocus_in, Qfocus_out): New static objects. | |
594 | (make_lispy_focus_in, make_lispy_focus_out): Declare and define. | |
595 | (kbd_buffer_get_event): For FOCUS_IN, make a focus_in event if no | |
596 | switch frame event is made. Check ! NILP (event->arg) if X11 (moved | |
44e18199 | 597 | from xterm.c). Make focus_out event for FOCUS_OUT_EVENT if NS or X11 |
18c26d81 JD |
598 | and there is a focused frame. |
599 | (head_table): Add focus-in and focus-out. | |
600 | (keys_of_keyboard): Add focus-in and focus-out to Vspecial_event_map, | |
601 | bind to handle-focus-in/out. | |
602 | ||
603 | * frame.c (Fhandle_focus_in, Fhandle_focus_out): New functions. | |
604 | (Fhandle_switch_frame): Call Fhandle_focus_in. | |
605 | (syms_of_frame): defsubr handle-focus-in/out. | |
606 | ||
6c6f1994 PE |
607 | 2013-07-16 Paul Eggert <eggert@cs.ucla.edu> |
608 | ||
c7ddc792 PE |
609 | Fix porting bug to older POSIXish platforms (Bug#14862). |
610 | * sysdep.c (emacs_pipe): New function, that implements | |
611 | pipe2 (fd, O_CLOEXEC) even on hosts that lack O_CLOEXEC. | |
612 | This should port better to CentOS 5 and to Mac OS X 10.6. | |
613 | All calls to pipe2 changed. | |
614 | ||
6c6f1994 PE |
615 | Prefer list1 (X) to Fcons (X, Qnil) when building lists. |
616 | This makes the code easier to read and the executable a bit smaller. | |
617 | Do not replace all calls to Fcons that happen to create lists, | |
618 | just calls that are intended to create lists. For example, when | |
619 | creating an alist that maps FOO to nil, use list1 (Fcons (FOO, Qnil)) | |
620 | rather than list1 (list1 (FOO)) or Fcons (Fcons (FOO, Qnil), Qnil). | |
621 | Similarly for list2 through list5. | |
622 | * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): | |
623 | * bytecode.c (exec_byte_code): | |
624 | * callint.c (quotify_arg, Fcall_interactively): | |
625 | * callproc.c (Fcall_process, create_temp_file): | |
626 | * charset.c (load_charset_map_from_file) | |
627 | (Fdefine_charset_internal, init_charset): | |
628 | * coding.c (get_translation_table, detect_coding_system) | |
629 | (Fcheck_coding_systems_region) | |
630 | (Fset_terminal_coding_system_internal) | |
631 | (Fdefine_coding_system_internal, Fdefine_coding_system_alias): | |
632 | * composite.c (update_compositions, Ffind_composition_internal): | |
633 | * dired.c (directory_files_internal, file_name_completion) | |
634 | (Fsystem_users): | |
635 | * dispnew.c (Fopen_termscript, bitch_at_user, init_display): | |
636 | * doc.c (Fsnarf_documentation): | |
637 | * editfns.c (Fmessage_box): | |
638 | * emacs.c (main): | |
639 | * eval.c (do_debug_on_call, signal_error, maybe_call_debugger) | |
640 | (Feval, eval_sub, Ffuncall, apply_lambda): | |
641 | * fileio.c (make_temp_name, Fcopy_file, Faccess_file) | |
642 | (Fset_file_selinux_context, Fset_file_acl, Fset_file_modes) | |
643 | (Fset_file_times, Finsert_file_contents) | |
644 | (Fchoose_write_coding_system, Fwrite_region): | |
645 | * fns.c (Flax_plist_put, Fyes_or_no_p, syms_of_fns): | |
646 | * font.c (font_registry_charsets, font_parse_fcname) | |
647 | (font_prepare_cache, font_update_drivers, Flist_fonts): | |
648 | * fontset.c (Fset_fontset_font, Ffontset_info, syms_of_fontset): | |
649 | * frame.c (make_frame, Fmake_terminal_frame) | |
650 | (x_set_frame_parameters, x_report_frame_params) | |
651 | (x_default_parameter, Fx_parse_geometry): | |
652 | * ftfont.c (syms_of_ftfont): | |
653 | * image.c (gif_load): | |
654 | * keyboard.c (command_loop_1): | |
655 | * keymap.c (Fmake_keymap, Fmake_sparse_keymap, access_keymap_1) | |
656 | (Fcopy_keymap, append_key, Fcurrent_active_maps) | |
657 | (Fminor_mode_key_binding, accessible_keymaps_1) | |
658 | (Faccessible_keymaps, Fwhere_is_internal): | |
659 | * lread.c (read_emacs_mule_char): | |
660 | * menu.c (find_and_return_menu_selection): | |
661 | * minibuf.c (get_minibuffer): | |
662 | * nsfns.m (Fns_perform_service): | |
663 | * nsfont.m (ns_script_to_charset): | |
664 | * nsmenu.m (ns_popup_dialog): | |
665 | * nsselect.m (ns_get_local_selection, ns_string_from_pasteboard) | |
666 | (Fx_own_selection_internal): | |
667 | * nsterm.m (append2): | |
668 | * print.c (Fredirect_debugging_output) | |
669 | (print_prune_string_charset): | |
670 | * process.c (Fdelete_process, Fprocess_contact) | |
671 | (Fformat_network_address, set_socket_option) | |
672 | (read_and_dispose_of_process_output, write_queue_push) | |
673 | (send_process, exec_sentinel): | |
674 | * sound.c (Fplay_sound_internal): | |
675 | * textprop.c (validate_plist, add_properties) | |
676 | (Fput_text_property, Fadd_face_text_property) | |
677 | (copy_text_properties, text_property_list, syms_of_textprop): | |
678 | * unexaix.c (report_error): | |
679 | * unexcoff.c (report_error): | |
680 | * unexsol.c (unexec): | |
681 | * xdisp.c (redisplay_tool_bar, store_mode_line_string) | |
682 | (Fformat_mode_line, syms_of_xdisp): | |
683 | * xfaces.c (set_font_frame_param) | |
684 | (Finternal_lisp_face_attribute_values) | |
685 | (Finternal_merge_in_global_face, syms_of_xfaces): | |
686 | * xfns.c (x_default_scroll_bar_color_parameter) | |
687 | (x_default_font_parameter, x_create_tip_frame): | |
688 | * xfont.c (xfont_supported_scripts): | |
689 | * xmenu.c (Fx_popup_dialog, xmenu_show, xdialog_show) | |
690 | (menu_help_callback, xmenu_show): | |
691 | * xml.c (make_dom): | |
692 | * xterm.c (set_wm_state): | |
693 | Prefer list1 (FOO) to Fcons (FOO, Qnil) when creating a list, | |
694 | and similarly for list2 through list5. | |
695 | ||
bafe80ce PE |
696 | 2013-07-15 Paul Eggert <eggert@cs.ucla.edu> |
697 | ||
698 | * callproc.c (Fcall_process_region): Fix minor race and tune. | |
699 | (create_temp_file): New function, with the temp-file-creation part | |
700 | of the old Fcall_process_region. Use Fcopy_sequence to create the | |
701 | temp file name, rather than alloca + build_string, for simplicity. | |
702 | Don't bother to block input around the temp file creation; | |
703 | shouldn't be needed. Simplify use of mktemp. Use | |
704 | record_unwind_protect immediately after creating the temp file; | |
705 | this closes an unlikely race where the temp file was not removed. | |
706 | Use memcpy rather than an open-coded loop. | |
707 | (Fcall_process_region): Use the new function. If the input is | |
708 | empty, redirect from /dev/null rather than from a newly created | |
709 | empty temp file; this avoids unnecessary file system traffic. | |
710 | ||
4700b5a5 PE |
711 | 2013-07-14 Paul Eggert <eggert@cs.ucla.edu> |
712 | ||
5c97beae PE |
713 | * filelock.c (create_lock_file) [!HAVE_MKOSTEMP && !HAVE_MKSTEMP]: |
714 | Simplify by making this case like the other two. This is a bit | |
715 | slower on obsolete hosts, but the extra complexity isn't worth it. | |
716 | ||
4700b5a5 PE |
717 | * callproc.c (child_setup, relocate_fd) [!DOS_NT]: |
718 | * process.c (create_process) [!DOS_NT]: | |
719 | Remove now-unnecessary calls to emacs_close. | |
720 | ||
f9a74c4c EZ |
721 | 2013-07-13 Eli Zaretskii <eliz@gnu.org> |
722 | ||
922ae7ee EZ |
723 | * w32term.c (x_draw_hollow_cursor): Delete the brush object when |
724 | returning early. (Bug#14850) | |
725 | ||
f9a74c4c EZ |
726 | * coding.c (syms_of_coding): Set up inhibit-null-byte-detection |
727 | and inhibit-iso-escape-detection attributes of 'undecided'. | |
728 | (Bug#14822) | |
729 | ||
5e301d76 PE |
730 | 2013-07-13 Paul Eggert <eggert@cs.ucla.edu> |
731 | ||
69e0e5ee PE |
732 | * deps.mk (sysdep.o): Remove dependency on ../lib/ignore-value.h. |
733 | Reported by Herbert J. Skuhra in | |
734 | <http://lists.gnu.org/archive/html/emacs-devel/2013-07/msg00455.html>. | |
735 | ||
5e301d76 PE |
736 | Don't lose top specpdl entry when memory is exhausted. |
737 | * eval.c (grow_specpdl): Increment specpdl top by 1 and check for | |
738 | specpdl overflow here, to simplify callers; all callers changed. | |
739 | Always reserve an unused entry at the stack top; this avoids | |
740 | losing the top entry's information when memory is exhausted. | |
741 | ||
7e649856 PE |
742 | 2013-07-12 Paul Eggert <eggert@cs.ucla.edu> |
743 | ||
a773ed9a PE |
744 | Clean up errno reporting and fix some errno-reporting bugs. |
745 | * callproc.c (Fcall_process): | |
746 | * fileio.c (Fcopy_file, Finsert_file_contents, Fwrite_region): | |
747 | * process.c (create_process, Fmake_network_process): | |
748 | * unexaix.c (report_error): | |
749 | * unexcoff.c (report_error): | |
750 | Be more careful about reporting the errno of failed operations. | |
751 | The code previously reported the wrong errno sometimes. | |
752 | Also, prefer report_file_errno to setting errno + report_file_error. | |
753 | (Fcall_process): Look at openp return value rather than at path, | |
754 | as that's a bit faster and clearer when there's a numeric predicate. | |
755 | * fileio.c (report_file_errno): New function, with most of the | |
756 | old contents of report_file_error. | |
757 | (report_file_error): Use it. | |
758 | (Ffile_exists_p, Ffile_accessible_directory_p): | |
759 | Set errno to 0 when it is junk. | |
760 | * fileio.c (Faccess_file): | |
761 | * image.c (x_create_bitmap_from_file): | |
762 | Use faccessat rather than opening the file, to avoid the hassle of | |
763 | having a file descriptor open. | |
764 | * lisp.h (report_file_errno): New decl. | |
765 | * lread.c (Flocate_file_internal): File descriptor 0 is valid, too. | |
766 | ||
7e649856 PE |
767 | Minor EBADF fixes. |
768 | * process.c (create_process, wait_reading_process_output) [AIX]: | |
769 | Remove obsolete SIGHUP-related code, as Emacs no longer disables | |
770 | SIGHUP, so EBADF is no longer acceptable here (it wouldn't work in | |
771 | a multithreaded environment anyway). | |
772 | * sysdep.c (emacs_close): It's not dangerous to invoke emacs_close (-1). | |
773 | ||
f6774c1a AS |
774 | 2013-07-12 Andreas Schwab <schwab@linux-m68k.org> |
775 | ||
776 | * image.c (x_find_image_file): Don't close a remote file handle. | |
777 | ||
bacba3c2 PE |
778 | 2013-07-12 Paul Eggert <eggert@cs.ucla.edu> |
779 | ||
780 | Fix races with threads and file descriptors. | |
781 | * callproc.c (Fcall_process_region): | |
782 | * dired.c (open_directory): | |
783 | * emacs.c (main, Fdaemon_initialized): | |
784 | * image.c (x_find_image_file): | |
785 | * inotify.c (Finotify_rm_watch): | |
786 | * lread.c (Flocate_file_internal): | |
787 | * process.c (Fnetwork_interface_list, Fnetwork_interface_info): | |
788 | * term.c (term_mouse_moveto, init_tty): | |
789 | * termcap.c (tgetent): | |
790 | * unexaix.c, unexcoff.c (report_error, report_error_1, adjust_lnnoptrs) | |
791 | * unexaix.c, unexcoff.c, unexcw.c, unexelf.c (unexec): | |
792 | * unexhp9k800.c, unexmacosx.c (unexec): | |
793 | * callproc.c (Fcall_process_region): | |
794 | Use emacs_close, not close. | |
795 | * sysdep.c (POSIX_CLOSE_RESTART, posix_close) [!POSIX_CLOSE_RESTART]: | |
796 | New macro and function, which emulates the POSIX_CLOSE_RESTART macro | |
797 | and posix_close function on current platforms (which all lack them). | |
798 | (emacs_close): Use it. This should fix the races on GNU/Linux and | |
799 | on AIX and on future platforms that support POSIX_CLOSE_RESTART, | |
800 | and it should avoid closing random victim file descriptors on | |
801 | other platforms. | |
802 | ||
653d4f43 PE |
803 | 2013-07-11 Paul Eggert <eggert@cs.ucla.edu> |
804 | ||
c8536ec4 PE |
805 | * inotify.c (uninitialized): Remove. All uses replaced by -1. |
806 | (Finotify_add_watch): Simplify, since -1 means uninitialized now. | |
807 | Touch up doc a bit. | |
808 | ||
9c203066 PE |
809 | * eval.c (backtrace_function, backtrace_args): Now EXTERNALLY_VISIBLE. |
810 | This is for .gdbinit xbacktrace. | |
811 | ||
653d4f43 PE |
812 | * sysdep.c, term.c, termcap.c, terminal.c: Integer-related minor fixes. |
813 | * sysdep.c (emacs_get_tty): Return void, since nobody uses the value. | |
814 | (emacs_set_tty): Now static. | |
815 | * sysdep.c (emacs_set_tty, tabs_safe_p, emacs_close): | |
816 | * term.c (tty_capable_p, tty_default_color_capabilities) | |
817 | (get_tty_terminal, term_mouse_movement) | |
818 | (handle_one_term_event, init_tty, maybe_fatal): | |
819 | * termcap.c (tgetst1, struct termcap_buffer, valid_filename_p) | |
820 | (tgetent, scan_file, name_match, compare_contin): | |
821 | * terminal.c (get_terminal): | |
822 | Use bool for boolean. | |
823 | * sysdep.c (init_system_name): Don't overflow stack on huge hostname. | |
824 | Prefer char to unsigned char if either will do. | |
825 | * term.c (OUTPUT, turn_on_face): Omit unnecessary casts to int. | |
826 | (tty_write_glyphs): Prefer int to unsigned. | |
827 | (produce_glyphless_glyph): Remove 2nd (unused) int arg. | |
828 | All callers changed. | |
829 | * termcap.c (tprint, main) [TEST]: Remove non-working test. | |
830 | ||
45b683a1 PE |
831 | 2013-07-10 Paul Eggert <eggert@cs.ucla.edu> |
832 | ||
29abe551 PE |
833 | Port to C89. |
834 | * bytecode.c (BYTE_CODE_THREADED): Do not define if __STRICT_ANSI__. | |
835 | (B__dummy__): New dummy symbol, to pacify C89. | |
836 | * dbusbind.c (XD_DEBUG_MESSAGE): Omit debugging on C89 hosts, since | |
837 | they can't grok varargs macros. | |
838 | * dispnew.c (add_window_display_history) | |
839 | (add_frame_display_history): | |
840 | * print.c (print_object): | |
841 | * xdisp.c (debug_method_add): | |
842 | Use %p printf format only for void pointers. | |
843 | * emacs.c (usage_message): New constant, replacing ... | |
844 | (USAGE1, USAGE2, USAGE3): Remove; they were too long for C89. | |
845 | (main): Adjust to usage reorg. | |
846 | * fns.c (syms_of_fns): | |
847 | * profiler.c (syms_of_profiler): | |
848 | Don't use non-constant struct initializers. | |
849 | * gnutls.h (gnutls_initstage_t): | |
850 | * lisp.h (enum Lisp_Fwd_Type): | |
851 | * lread.c (lisp_file_lexically_bound_p): | |
852 | * xsettings.c (anonymous enum): | |
853 | Remove trailing comma. | |
854 | * xsettings.c (apply_xft_settings): Use %f, not %lf; %lf is a C99ism. | |
855 | * lisp.h (ENUM_BF): Use unsigned if pedantic. | |
856 | (DEFUN_FUNCTION_INIT): New macro, that falls back on a cast if pre-C99. | |
857 | (DEFUN): Use it. | |
858 | * regex.c (const_re_char): New type, to pacify strict C89. | |
859 | All uses of 'const re_char' replaced to use it. | |
860 | * regex.h (_Restrict_): Rename from __restrict, to avoid clash | |
861 | with glibc when strict C89. This change is imported from gnulib. | |
862 | All uses changed. | |
863 | (_Restrict_arr_): Rename from __restrict_arr, similarly. | |
864 | * sysdep.c (time_from_jiffies) [!HAVE_LONG_LONG_INT]: | |
865 | Omit GNU_LINUX implementation, since it requires long long. | |
866 | * xterm.c (x_draw_underwave): | |
867 | Do not assume the traditional order of struct's members. | |
868 | (x_term_init): Rewrite to avoid the need for non-constant structure | |
869 | initializers. | |
870 | ||
45b683a1 | 871 | Syntax cleanup, mostly replacing macros with functions. |
763a086d | 872 | This removes the need for the syntax_temp hack. |
45b683a1 PE |
873 | * search.c: Include syntax.h after buffer.h, since syntax.h uses BVAR. |
874 | * syntax.c (SYNTAX_INLINE): New macro. | |
875 | (SYNTAX_FLAGS_COMSTART_FIRST, SYNTAX_FLAGS_COMSTART_SECOND) | |
876 | (SYNTAX_FLAGS_COMEND_FIRST, SYNTAX_FLAGS_COMEND_SECOND) | |
877 | (SYNTAX_FLAGS_PREFIX, SYNTAX_FLAGS_COMMENT_STYLEB) | |
878 | (SYNTAX_FLAGS_COMMENT_STYLEC, SYNTAX_FLAGS_COMMENT_STYLEC2) | |
879 | (SYNTAX_FLAGS_COMMENT_NESTED, SYNTAX_FLAGS_COMMENT_STYLE) | |
880 | (SYNTAX_COMEND_FIRST): Now functions, not macros. | |
881 | (ST_COMMENT_STYLE, ST_STRING_STYLE, INTERVALS_AT_ONCE): | |
882 | Now constants, not macros. | |
883 | (syntax_temp) [!__GNUC__]: Remove. | |
884 | (SYNTAX_PREFIX): Remove; all uses replaced by syntax_prefix_flag_p. | |
885 | (syntax_prefix_flag_p): Move implementation of SYNTAX_PREFIX here. | |
886 | (SET_RAW_SYNTAX_ENTRY, SET_RAW_SYNTAX_ENTRY_RANGE, SYNTAX_MATCH) | |
887 | (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): | |
888 | Move here from syntax.h; now functions, not macros. Except for the | |
889 | last function, these are static since only syntax.c uses them. | |
890 | (syntax_multibyte): Rename from SYNTAX_WITH_MULTIBYTE_CHECK. | |
891 | All uses changed. Now a function, not a macro; use this fact | |
892 | to simplify the code. | |
893 | (scan_lists, scan_sexps_forward): Remove workarounds for ancient | |
894 | compiler bugs; no longer relevant. | |
895 | * syntax.h: Use INLINE_HEADER_BEGIN, INLINE_HEADER_END. | |
896 | (SYNTAX_INLINE): New macro. | |
897 | (struct gl_state_s, gl_state): Move earlier, so that it's in scope | |
898 | for the new functions. Use bool for boolean member. | |
899 | (SYNTAX_ENTRY, SYNTAX, SYNTAX_WITH_FLAGS, SYNTAX_MATCH) | |
900 | (SYNTAX_TABLE_BYTE_TO_CHAR, UPDATE_SYNTAX_TABLE_FORWARD) | |
901 | (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE) | |
902 | (SETUP_BUFFER_SYNTAX_TABLE): | |
903 | Now extern inline functions, not macros. | |
904 | (CURRENT_SYNTAX_TABLE, SYNTAX_ENTRY_INT): | |
905 | Remove; all uses replaced by implementation. | |
906 | (syntax_temp) [!__GNUC__]: Remove decl. | |
907 | (SETUP_SYNTAX_TABLE_FOR_OBJECT): New decl. | |
908 | ||
29be4a50 JD |
909 | 2013-07-10 Jan Djärv <jan.h.d@swipnet.se> |
910 | ||
911 | * emacs.c (main): Fix syntax error. | |
912 | ||
954b166e PE |
913 | 2013-07-10 Paul Eggert <eggert@cs.ucla.edu> |
914 | ||
915 | Timestamp fixes for undo (Bug#14824). | |
916 | * atimer.c (schedule_atimer): | |
917 | * fileio.c (Ffile_newer_than_file_p): | |
918 | Minor cleanup: use EMACS_TIME_LT so that we can remove EMACS_TIME_GT. | |
919 | * buffer.c (buffer-undo-list): Document (t . 0) and (t . -1). | |
920 | * fileio.c (Fclear_visited_file_modtime): Move to lisp/files.el. | |
921 | (syms_of_fileio): Remove Sclear_visited_file_name. | |
922 | (Fvisited_file_modtime): Return -1, not (-1 ...), when the visited | |
923 | file doesn't exist; this avoids an ambiguity with negative timestamps. | |
924 | (Fset_visited_file_modtime): Accept -1 and 0 as time-list arg. | |
925 | * systime.h (make_emacs_time, invalid_emacs_time): | |
926 | Don't assume struct timespec layout; POSIX doesn't guarantee it. | |
927 | (EMACS_TIME_NE, EMACS_TIME_GT, EMACS_TIME_GE): Remove. | |
928 | * undo.c (record_first_change): Push (visited-file-modtime) onto | |
929 | undo list rather than reimplementing it by hand, incorrectly. | |
930 | ||
d74647c3 KB |
931 | 2013-07-09 Ken Brown <kbrown@cornell.edu> |
932 | ||
933 | * sheap.c (STATIC_HEAP_SIZE) [__x86_64__]: Increase to 18MB. | |
934 | ||
3c51b96b JB |
935 | 2013-07-09 Juanma Barranquero <lekktu@gmail.com> |
936 | ||
937 | * makefile.w32-in ($(BLD)/emacs.$(O), $(BLD)/sysdep.$(O)): Update. | |
938 | ||
4ebbdd67 PE |
939 | 2013-07-09 Paul Eggert <eggert@cs.ucla.edu> |
940 | ||
941 | Handle errno and exit status a bit more carefully. | |
942 | * callproc.c (child_setup) [!DOS_NT]: Don't try to stuff an error | |
943 | number into an exit status. Instead, use EXIT_CANCELED. | |
944 | (child_setup) [!MSDOS]: Avoid possible deadlock with vfork. | |
945 | * callproc.c (relocate_fd): | |
946 | * emacs.c (close_output_streams, main): | |
947 | * process.c (create_process): | |
948 | * sysdep.c (sys_subshell) [!DOS_NT || !WINDOWSNT]: | |
949 | Use emacs_perror for simplicity. | |
950 | * callproc.c (relocate_fd, main): | |
951 | * sysdep.c (sys_subshell): | |
952 | Exit with EXIT_CANCELED etc., not 1, when exec setup fails. | |
953 | (shut_down_emacs): Use emacs_write, not write. | |
954 | * emacs.c, sysdep.c: Don't include <ignore-value.h>. | |
955 | * fileio.c (Fcopy_file, e_write): | |
956 | * nsterm.m (ns_select): | |
957 | * process.c (send_process): | |
958 | * sound.c (vox_write): | |
959 | Use emacs_write_sig, not emacs_write. | |
960 | * lisp.h (emacs_write_sig, emacs_perror): New decls. | |
961 | * process.h (EXIT_CANCELED), EXIT_CANNOT_INVOKE, EXIT_ENOENT): | |
962 | New constants. | |
963 | * sysdep.c (emacs_backtrace): Use emacs_write, not ignore_value | |
964 | of write. | |
965 | (emacs_full_write): New function. | |
966 | (emacs_write): Rewrite to use it. | |
967 | (emacswrite_sig, emacs_perror): New functions. | |
968 | * xrdb.c (fatal): Don't invoke perror, since errno might be garbage. | |
969 | ||
44e18199 | 970 | 2013-07-08 Magnus Henoch <magnus.henoch@gmail.com> (tiny change) |
e4b1e5af JD |
971 | |
972 | * image.c (imagemagick_load_image): Do not use MagickExportImagePixels | |
973 | on NS even if it is present. Pixmap on NS is a void*. | |
974 | ||
9caab067 PE |
975 | 2013-07-07 Paul Eggert <eggert@cs.ucla.edu> |
976 | ||
977 | Port to Ubuntu 10 (Bug#14803). | |
978 | Problem reported by T.V. Raman. | |
979 | * process.c (close_on_exec, accept4, process_socket): | |
980 | Define these if !HAVE_ACCEPT4, not if !SOCK_CLOEXEC. | |
981 | ||
1d442672 EZ |
982 | 2013-07-07 Eli Zaretskii <eliz@gnu.org> |
983 | ||
984 | * w32.c (sys_dup): Declare prototype. | |
985 | ||
986 | * filelock.c: | |
987 | * emacs.c: | |
988 | * callproc.c [WINDOWSNT]: Include sys/socket.h. | |
989 | ||
067428c1 PE |
990 | 2013-07-07 Paul Eggert <eggert@cs.ucla.edu> |
991 | ||
992 | Make file descriptors close-on-exec when possible (Bug#14803). | |
993 | This simplifies Emacs a bit, since it no longer needs to worry | |
994 | about closing file descriptors by hand in some cases. | |
995 | It also fixes some unlikely races. Not all such races, as | |
996 | libraries often open files internally without setting | |
997 | close-on-exec, but it's an improvement. | |
998 | * alloc.c (valid_pointer_p) [!WINDOWSNT]: | |
999 | * callproc.c (Fcall_process) [!MSDOS]: | |
1000 | * emacs.c (main) [!DOS_NT]: | |
1001 | * nsterm.m (ns_term_init): | |
1002 | * process.c (create_process): | |
1003 | Use 'pipe2' with O_CLOEXEC instead of 'pipe'. | |
1004 | * emacs.c (Fcall_process_region) [HAVE_MKOSTEMP]: | |
1005 | * filelock.c (create_lock_file) [HAVE_MKOSTEMP]: | |
1006 | Prefer mkostemp with O_CLOEXEC to mkstemp. | |
1007 | * callproc.c (relocate_fd) [!WINDOWSNT]: | |
1008 | * emacs.c (main): Use F_DUPFD_CLOEXEC, not plain F_DUPFD. | |
1009 | No need to use fcntl (..., F_SETFD, FD_CLOEXEC), since we're | |
1010 | now using pipe2. | |
1011 | * filelock.c (create_lock_file) [! HAVE_MKOSTEMP]: | |
1012 | Make the resulting file descriptor close-on-exec. | |
1013 | * lisp.h, lread.c, process.c (close_load_descs, close_process_descs): | |
1014 | * lread.c (load_descriptor_list, load_descriptor_unwind): | |
1015 | Remove; no longer needed. All uses removed. | |
1016 | * process.c (SOCK_CLOEXEC): Define to 0 if not supplied by system. | |
1017 | (close_on_exec, accept4, process_socket) [!SOCK_CLOEXEC]: | |
1018 | New functions. | |
1019 | (socket) [!SOCK_CLOEXEC]: Supply a substitute. | |
1020 | (Fmake_network_process, Fnetwork_interface_list): | |
1021 | (Fnetwork_interface_info, server_accept_connection): | |
1022 | Make newly-created socket close-on-exec. | |
1023 | * sysdep.c (emacs_open, emacs_fopen): | |
1024 | Make new-created descriptor close-on-exec. | |
1025 | * w32.c (fcntl): Support F_DUPFD_CLOEXEC well enough for Emacs. | |
1026 | * w32.c, w32.h (pipe2): Rename from 'pipe', with new flags arg. | |
1027 | ||
0da857dd JD |
1028 | 2013-07-07 Jan Djärv <jan.h.d@swipnet.se> |
1029 | ||
1030 | * nsterm.m (sendEvent:): Propagate keyboard events to modal windows | |
1031 | for NS_IMPL_GNUSTEP. | |
1032 | ||
5f86adcd PE |
1033 | 2013-07-07 Paul Eggert <eggert@cs.ucla.edu> |
1034 | ||
1035 | Fix openp errno handling. | |
1036 | * callproc.c (Fcall_process): Preserve openp errno around close. | |
1037 | * lread.c (openp): Set errno when returning -1, as some callers | |
1038 | expect this. | |
1039 | ||
1afb1d07 JD |
1040 | 2013-07-06 Jan Djärv <jan.h.d@swipnet.se> |
1041 | ||
1042 | * nsterm.m (sendEvent:): Handle NSAPP_DATA2_RUNFILEDIALOG. | |
1043 | ||
1044 | * nsterm.h (NSSavePanel): Update comment. | |
1045 | (NSAPP_DATA2_RUNFILEDIALOG): Define. | |
1046 | (ns_run_file_dialog): Declare. | |
1047 | ||
1048 | * nsfns.m: Remove panelOK. | |
1049 | (ns_fd_data): New. | |
1050 | (ns_run_file_dialog): New function. | |
1051 | (Fns_read_file_name): Fill in ns_fd_data, post an event and start the | |
1052 | event loop, so file dialog is popped up by ns_run_file_dialog, called | |
1053 | by sendEvent (Bug#14578). | |
1054 | (EmacsSavePanel, EmacsOpenPanel): Remove ok and cancel methods. | |
1055 | ||
3323c263 EZ |
1056 | 2013-07-06 Eli Zaretskii <eliz@gnu.org> |
1057 | ||
fdda0220 EZ |
1058 | * xdisp.c (default_line_pixel_height): New function. |
1059 | (pos_visible_p, move_it_vertically_backward, try_scrolling) | |
1060 | (try_cursor_movement, redisplay_window, try_window) | |
1061 | (try_window_id): Use it instead of FRAME_LINE_HEIGHT. (Bug#14771) | |
1062 | ||
1063 | * window.c (window_scroll_pixel_based): use | |
1064 | default_line_pixel_height. | |
1065 | ||
1066 | * dispextern.h (default_line_pixel_height): Add prototype. | |
1067 | ||
1068 | * frame.c (x_set_line_spacing): Accept a float value for | |
1069 | line-spacing parameter, per the documentation. | |
1070 | ||
3323c263 EZ |
1071 | * data.c (Fmultibyte_string_p): Doc fix. |
1072 | ||
47ba6d43 PE |
1073 | 2013-07-05 Paul Eggert <eggert@cs.ucla.edu> |
1074 | ||
406af475 PE |
1075 | Use emacs_open more consistently when opening files. |
1076 | This handles EINTR more consistently now, and makes it easier | |
1077 | to introduce other uniform changes to file descriptor handling. | |
1078 | * src/systdio.h: New file. | |
1079 | * src/buffer.c (mmap_init): | |
1080 | * cygw32.c (chdir_to_default_directory): | |
1081 | * dispnew.c (Fopen_termscript): | |
1082 | * emacs.c (Fdaemon_initialized): | |
1083 | * fileio.c (Fdo_auto_save): | |
1084 | * image.c (slurp_file, png_load_body, jpeg_load_body): | |
1085 | * keyboard.c (Fopen_dribble_file): | |
1086 | * lread.c (Fload): | |
1087 | * print.c (Fredirect_debugging_output): | |
1088 | * sysdep.c (get_up_time, procfs_ttyname, procfs_get_total_memory): | |
1089 | * termcap.c (tgetent): | |
1090 | * unexaix.c, unexcoff.c (unexec, adjust_lnnoptrs): | |
1091 | * unexcw.c, unexelf.c, unexhp9k800.c, unexmacosx.c (unexec): | |
1092 | * w32term.c (w32_initialize) [CYGWIN]: | |
1093 | * xfaces.c (Fx_load_color_file): | |
1094 | Use emacs_open instead of plain open, and emacs_fopen instead of | |
1095 | plain fopen. | |
1096 | * dispnew.c, fileio.c, image.c, keyboard.c, lread.c, print.c, sysdep.c: | |
1097 | * xfaces.c: Include sysstdio.h rather than stdio.h, for emacs_fopen. | |
1098 | * callproc.c (default_output_mode): New constant. | |
1099 | (Fcall_process): Use it to call emacs_open instead of plain creat. | |
1100 | * dispnew.c (Fopen_termscript): Fix minor race in opening termscript. | |
1101 | * sysdep.c (emacs_open): Add commentary and don't call file name "path". | |
1102 | (emacs_fopen): New function. | |
1103 | * unexaix.c, unexcoff.c, unexelf.c, unexhp9k800.c, unexmacosx.c: | |
1104 | Include <lisp.h>, for emacs_open. | |
1105 | * unexelf.c (fatal): Remove decl; not needed with <lisp.h> included. | |
1106 | ||
47ba6d43 PE |
1107 | Remove duplicate #include directives. |
1108 | * alloc.c [GC_MARK_STACK == GC_USE_GCPROS_CHECK_ZOMBIES]: | |
1109 | * xfaces.c: | |
1110 | Don't include stdio.h twice. | |
1111 | * buffer.c [USE_MMAP_FOR_BUFFERS]: | |
1112 | Don't include sys/types.h or stdio.h twice. | |
1113 | * fileio.c [WINDOWSNT | MSDOS]: Don't include fcntl.h twice. | |
1114 | * lread.c: Don't include coding.h twice. | |
1115 | * nsfont.m: Don't include frame.h twice. | |
1116 | * process.c [HAVE_RES_INIT]: Don't include <netinet/in.h> twice. | |
1117 | * ralloc.c: Don't include <unistd.h> twice. | |
1118 | * xdisp.c: Don't include font.h twice. | |
1119 | * xterm.c: Don't include fontset.h twice. | |
1120 | * xterm.h [USE_X_TOOLKIT]: Don't include X11/StringDefs.h twice. | |
1121 | ||
b9ed53d5 PE |
1122 | 2013-07-04 Paul Eggert <eggert@cs.ucla.edu> |
1123 | ||
1124 | Scale ImageMagick images more carefully. | |
1125 | * image.c (scale_image_size) [HAVE_IMAGEMAGICK]: New function. | |
1126 | (compute_image_size): Use it. Define only if HAVE_IMAGEMAGICK. | |
1127 | Be more careful about avoiding undefined behavior after | |
1128 | integer overflow and division by zero. | |
1129 | ||
cf13177e YM |
1130 | 2013-07-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> |
1131 | ||
1132 | * w32fns.c (Qgeometry, Qworkarea, Qmm_size, Qframes): New variables. | |
1133 | (syms_of_w32fns): DEFSYM them. | |
1134 | (MONITORINFOF_PRIMARY, SM_XVIRTUALSCREEN, SM_YVIRTUALSCREEN) | |
1135 | (CCHDEVICENAME): Define macros if not defined. | |
1136 | (struct MONITOR_INFO_EX): New struct. | |
1137 | (MonitorEnum_Proc, EnumDisplayMonitors_Proc): New prototypes. | |
1138 | (enum_display_monitors_fn): New variable. | |
1139 | (globals_of_w32fns): Initialize it. | |
1140 | (Fx_display_pixel_width, Fx_display_pixel_height) | |
1141 | (Fx_display_mm_height, Fx_display_mm_width): Mention behavior on | |
1142 | multi-monitor setups in docstrings. | |
1143 | (Fx_display_mm_height, Fx_display_mm_width): Approximate whole | |
1144 | screen size by primary monitor's millimeter per pixel. | |
1145 | (w32_monitor_enum, w32_display_monitor_attributes_list) | |
1146 | (w32_display_monitor_attributes_list_fallback) | |
1147 | (Fw32_display_monitor_attributes_list): New functions. | |
1148 | (syms_of_w32fns): Defsubr Sw32_display_monitor_attributes_list. | |
1149 | ||
1150 | * w32term.c (SM_CXVIRTUALSCREEN, SM_CYVIRTUALSCREEN): Define macros | |
1151 | if not defined. | |
1152 | (x_display_pixel_height, x_display_pixel_width): Use GetSystemMetrics. | |
1153 | ||
86dfb7a8 MA |
1154 | 2013-07-04 Michael Albinus <michael.albinus@gmx.de> |
1155 | ||
1156 | * fileio.c (Qfile_notify_error): New error symbol. | |
1157 | ||
1158 | * gfilenotify.c (Fgfile_add_watch, Fgfile_rm_watch): | |
1159 | * inotify.c (inotify_callback, symbol_to_inotifymask) | |
1160 | (Finotify_add_watch, Finotify_rm_watch): Use it. | |
1161 | (inotifyevent_to_event): Exchange order of cookie and file name. | |
1162 | (Finotify_add_watch): Adapt docstring. | |
1163 | ||
1164 | * lisp.h (Qfile_notify_error): Declare. | |
1165 | ||
2c1c974b PE |
1166 | 2013-07-04 Paul Eggert <eggert@cs.ucla.edu> |
1167 | ||
1168 | Try again to fix FreeBSD bug re multithreaded memory alloc (Bug#14569). | |
1169 | * emacs.c (main) [HAVE_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]: | |
1170 | Do not clear _malloc_thread_enabled_p, undoing the previous change, | |
1171 | which did not work (see <http://bugs.gnu.org/14569#307>). | |
1172 | (main): Do not invoke malloc_enable_thread if (! CANNOT_DUMP | |
1173 | && (!noninteractive || initialized)). This attempts to thread | |
1174 | the needle between the Scylla of FreeBSD and the Charybdis of Cygwin. | |
1175 | ||
7a35b20f JB |
1176 | 2013-07-04 Juanma Barranquero <lekktu@gmail.com> |
1177 | ||
1178 | * image.c (x_to_xcolors) [HAVE_NTGUI]: Remove unused var `hdc'. | |
1179 | (x_build_heuristic_mask) [HAVE_NTGUI]: Remove unused var `frame_dc'. | |
1180 | ||
1ce5cd04 PE |
1181 | 2013-07-04 Paul Eggert <eggert@cs.ucla.edu> |
1182 | ||
1183 | Try to fix FreeBSD bug re multithreaded memory allocation (Bug#14569). | |
1184 | * emacs.c (main) [HAVE_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]: | |
1185 | Clear _malloc_thread_enabled_p at startup. Reported by Ashish SHUKLA in | |
1186 | <http://lists.gnu.org/archive/html/emacs-devel/2013-07/msg00088.html>. | |
1187 | ||
57f8c490 PE |
1188 | 2013-07-02 Paul Eggert <eggert@cs.ucla.edu> |
1189 | ||
1190 | * sysdep.c (sys_siglist) [HAVE_DECL___SYS_SIGLIST]: | |
1191 | Define to __sys_siglist. | |
1192 | ||
bcffb5ca EZ |
1193 | 2013-07-02 Eli Zaretskii <eliz@gnu.org> |
1194 | ||
1195 | * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Don't disallow | |
1196 | word-wrap, so that overflow-newline-into-fringe would work in | |
1197 | visual-line-mode. (Bug#2749) | |
1198 | (move_it_in_display_line_to): When the last scanned display | |
1199 | element fits exactly on the display line, and | |
1200 | overflow-newline-into-fringe is non-nil, but wrap_it is valid, | |
1201 | don't return MOVE_NEWLINE_OR_CR, but instead back up to the last | |
1202 | wrap point and return MOVE_LINE_CONTINUED. Fixes problems with | |
1203 | finding buffer position that corresponds to pixel coordinates, | |
1204 | e.g. in buffer_posn_from_coords. | |
1205 | ||
2c41e781 JD |
1206 | 2013-07-02 Jan Djärv <jan.h.d@swipnet.se> |
1207 | ||
1208 | * process.c (handle_child_signal): Call catch_child_signal if | |
1209 | NS_IMPL_GNUSTEP. | |
1210 | ||
c2418359 PE |
1211 | 2013-07-02 Paul Eggert <eggert@cs.ucla.edu> |
1212 | ||
52a9bcae PE |
1213 | Don't convert function pointers to void * and back. |
1214 | It isn't portable C, and it's easy enough to avoid. | |
1215 | * alloc.c: Verify SAVE_FUNCPOINTER bits, too. | |
1216 | (make_save_value): Add support for SAVE_FUNCPOINTER. | |
1217 | * keymap.c (map_keymap_char_table_item, map_keymap_internal): | |
1218 | * print.c (print_object): | |
1219 | Distinguish function from object pointers. | |
1220 | * lisp.h (SAVE_FUNCPOINTER): New constant. | |
1221 | (SAVE_SLOT_BITS): Adjust to it. | |
1222 | (SAVE_TYPE_FUNCPTR_PTR_OBJ): New constant, replacing | |
1223 | SAVE_TYPE_PTR_PTR_OBJ. Change the only use. | |
1224 | (voidfuncptr): New typedef. | |
1225 | (struct Lisp_Save_Value): New member data[0].funcpointer. | |
1226 | (XSAVE_FUNCPOINTER): New function. | |
1227 | ||
c2418359 PE |
1228 | Simplify buildobj processing. |
1229 | * Makefile.in (buildobj.h): Make it a sequence of strings each | |
1230 | followed by comma, rather than a single string. Put it into a | |
1231 | .tmp file in case there's an error while generating it. | |
1232 | (gl-stamp): Use .tmp for temp files. | |
1233 | (mostlyclean): Clean .tmp files. | |
1234 | * doc.c (buildobj): Move to just the routine that needs it. | |
1235 | It's now an array of strings, so processing is simpler. | |
1236 | ||
8f43ce49 PE |
1237 | 2013-07-01 Paul Eggert <eggert@cs.ucla.edu> |
1238 | ||
1239 | Fix bug re noninteractive multithreaded memory allocation (Bug#14569). | |
1240 | * emacs.c (malloc_enable_thread): Hoist extern decl to top level. | |
1241 | (main) [HAVE_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]: | |
1242 | Invoke malloc_enable_thread even when not interactive. | |
1243 | Problem reported by Ken Brown in <http://bugs.gnu.org/14569#275>. | |
1244 | * process.c (init_process_emacs) [CYGWIN]: Tickle glib even | |
1245 | in this case, since the underlying bug has now been fixed. | |
1246 | ||
24827db9 JB |
1247 | 2013-07-01 Juanma Barranquero <lekktu@gmail.com> |
1248 | ||
1249 | * emacs.c (Fkill_emacs): Expand Vauto_save_list_file_name before | |
1250 | unlinking it (bug#14691). | |
1251 | ||
ef099a94 MN |
1252 | 2013-06-30 Michal Nazarewicz <mina86@mina86.com> |
1253 | ||
1254 | * buffer.c (FKill_buffer): Run `kill-buffer-query-functions' | |
1255 | before checking whether buffer is modified. This lets | |
1256 | `kill-buffer-query-functions' cancel killing of the buffer or save | |
1257 | its content before `kill-buffer' asks user the "Buffer %s | |
1258 | modified; kill anyway?" question. | |
1259 | ||
9d3f2fc2 JD |
1260 | 2013-06-30 Jan Djärv <jan.h.d@swipnet.se> |
1261 | ||
1262 | * nsfns.m (handlePanelKeys): Don't process Command+Function keys. | |
1263 | Let the super performKeyEquivalent deal with them (Bug#14747). | |
1264 | ||
e6c6c8c7 PE |
1265 | 2013-06-30 Paul Eggert <eggert@cs.ucla.edu> |
1266 | ||
1d71c1d9 PE |
1267 | * widget.c (resize_cb): Remove unused local. |
1268 | ||
8f5f35cc PE |
1269 | Do not use GTK 3 if it exists but cannot be compiled. |
1270 | * xmenu.c (x_menu_wait_for_event) [!USE_GTK]: | |
1271 | * xterm.c (x_error_handler) [!USE_GTK]: | |
1272 | Do not use GTK 3. | |
1273 | ||
e6c6c8c7 PE |
1274 | * intervals.c (get_local_map): Actually clip POSITION (Bug#14753). |
1275 | ||
0ba54312 EZ |
1276 | 2013-06-30 Eli Zaretskii <eliz@gnu.org> |
1277 | ||
5d1c3286 EZ |
1278 | * intervals.c (get_local_map): Instead of aborting, clip POSITION |
1279 | to the valid range of values. (Bug#14753) | |
1280 | ||
0ba54312 EZ |
1281 | * xdisp.c (Fmove_point_visually): Invalidate the cursor position |
1282 | when moving point by using the current glyph matrix. This avoids | |
1283 | the need to force redisplay when this function is called in a | |
1284 | loop. | |
1285 | ||
9c90cc06 PE |
1286 | 2013-06-29 Paul Eggert <eggert@cs.ucla.edu> |
1287 | ||
1288 | Fix minor problems found by static checking. | |
1289 | * coding.c (encode_inhibit_flag, inhibit_flag): New functions. | |
1290 | Redo the latter's body to sidestep GCC parenthesization warnings. | |
1291 | (setup_coding_system, detect_coding, detect_coding_system): Use them. | |
1292 | * coding.c (detect_coding, detect_coding_system): | |
1293 | * coding.h (struct undecided_spec): | |
1294 | Use bool for boolean. | |
1295 | * image.c (QCmax_width, QCmax_height): Now static. | |
1296 | * xdisp.c (Fmove_point_visually): Remove unused local. | |
1297 | ||
4c672a0f EZ |
1298 | 2013-06-29 Eli Zaretskii <eliz@gnu.org> |
1299 | ||
1300 | * xdisp.c (Fmove_point_visually): New function. | |
1301 | ||
c1ea3abf JB |
1302 | 2013-06-28 Kenichi Handa <handa@gnu.org> |
1303 | ||
1304 | * coding.h (define_coding_undecided_arg_index): New enum. | |
1305 | (coding_attr_index): New members | |
1306 | coding_attr_undecided_inhibit_null_byte_detection, | |
1307 | coding_attr_undecided_inhibit_iso_escape_detection, | |
1308 | coding_attr_undecided_prefer_utf_8. | |
1309 | (undecided_spec): New struct. | |
1310 | (struct coding_system): New member `undecided' of the member | |
1311 | `spec'. | |
1312 | ||
1313 | * coding.c (setup_coding_system): Handle CODING->spec.undecided. | |
1314 | (detect_coding): Likewise. | |
1315 | (detect_coding_system): Likewise. | |
1316 | (Fdefine_coding_system_internal): New coding system properties | |
1317 | :inhibit-null-byte-detection, :inhibit-iso-escape-detection, and | |
1318 | :prefer-utf-8. | |
1319 | (syms_of_coding): Adjust for coding_arg_undecided_max. | |
1320 | ||
ba3de9e6 PE |
1321 | 2013-06-28 Paul Eggert <eggert@cs.ucla.edu> |
1322 | ||
1323 | * image.c (x_from_xcolors): Remove unused local. | |
1324 | ||
547c9269 YM |
1325 | 2013-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> |
1326 | ||
1327 | Defer image data transfer between X client and server until actual | |
1328 | display happens. | |
1329 | ||
1330 | * dispextern.h (struct image) [HAVE_X_WINDOWS]: New members `ximg' | |
1331 | and `mask_img'. | |
1332 | ||
1333 | * image.c (Destroy_Image): Remove. | |
1334 | (x_clear_image_1): New arg `flags' instead of 3 bools `pixmap_p', | |
1335 | `mask_p', and `colors_p'. All uses changed. | |
1336 | (x_clear_image_1) [HAVE_X_WINDOWS]: Destroy `ximg' and `mask_img'. | |
ef099a94 MN |
1337 | (CLEAR_IMAGE_PIXMAP, CLEAR_IMAGE_MASK, CLEAR_IMAGE_COLORS): |
1338 | New macros for `flags' arg to x_clear_image_1. | |
547c9269 YM |
1339 | (postprocess_image, xpm_load_image, x_build_heuristic_mask) |
1340 | (png_load_body): Use x_clear_image_1 instead of Free_Pixmap. | |
04b66ce7 | 1341 | (ZPixmap, XGetImage) [HAVE_NS]: Remove. |
547c9269 YM |
1342 | (image_get_x_image_or_dc, image_unget_x_image_or_dc) |
1343 | (image_get_x_image, image_unget_x_image): New functions or macros. | |
1344 | (image_background, image_background_transparent, x_to_xcolors) | |
1345 | (x_build_heuristic_mask): Use image_get_x_image_or_dc instead of | |
1346 | XGetImage or CreateCompatibleDC. Use image_unget_x_image_or_dc | |
1347 | instead of Destroy_Image. | |
1348 | (image_create_x_image_and_pixmap, image_put_x_image): New functions. | |
1349 | (xpm_load_image, x_from_xcolors, x_build_heuristic_mask, pbm_load) | |
1350 | (png_load_body, jpeg_load_body, tiff_load, gif_load) | |
1351 | (imagemagick_load_image, svg_load_image): Use them instead of | |
1352 | x_create_x_image_and_pixmap, and x_put_x_image followed by | |
1353 | x_destroy_x_image, respectively. | |
1354 | (xpm_load) [HAVE_XPM && !HAVE_NTGUI]: Use XpmReadFileToImage and | |
1355 | XpmCreateImageFromBuffer instead of XpmReadFileToPixmap and | |
1356 | XpmCreatePixmapFromBuffer. Create pixmaps. Fill background and | |
1357 | background_transparent fields. | |
1358 | (image_sync_to_pixmaps) [HAVE_X_WINDOWS]: New function. | |
1359 | (prepare_image_for_display, x_disable_image) [HAVE_X_WINDOWS]: Use it. | |
1360 | ||
dae2f5ef PE |
1361 | 2013-06-27 Paul Eggert <eggert@cs.ucla.edu> |
1362 | ||
1363 | Do not tickle glib SIGCHLD handling if Cygwin (Bug#14569). | |
1364 | This mostly consists of undoing recent changes. | |
1365 | * callproc.c (Fcall_process): | |
1366 | * process.c (create_process): | |
1367 | Do not worry about catching SIGCHLD here, undoing previous change. | |
1368 | * nsterm.m (ns_term_init): Re-catch SIGCHLD, undoing previous change. | |
1369 | * process.c, process.h (catch_child_signal): | |
1370 | No longer extern if !NS_IMPL_GNUSTEP, undoing 06-22 change. | |
1371 | * process.c (catch_child_handler): Don't worry about being called | |
1372 | lazily and do not assume caller has blocked SIGCHLD, undoing | |
1373 | previous change. Move first-time stuff back to | |
1374 | init_process_emacs, undoing 06-22 change. If CYGWIN, do not | |
1375 | tickle glib, as that causes Cygwin bootstrap to fail. Do not | |
1376 | set lib_child_handler if it's already initialized, which may | |
1377 | help avoid problems on GNUStep. | |
1378 | ||
fa55d2aa PE |
1379 | 2013-06-23 Paul Eggert <eggert@cs.ucla.edu> |
1380 | ||
1381 | A more-conservative workaround for Cygwin SIGCHLD issues (Bug#14569). | |
1382 | * callproc.c (Fcall_process): | |
1383 | * process.c (create_process): | |
1384 | Make sure SIGCHLD is caught before we fork, | |
1385 | since Emacs startup no arranges to catch SIGCHLD. | |
1386 | * process.c (lib_child_handler): Initialize to null, not to | |
1387 | dummy_handler. | |
1388 | (catch_child_signal): Allow self to be called lazily. | |
1389 | Do nothing if it's already been called. | |
1390 | Assume caller has blocked SIGCHLD (all callers do now). | |
1391 | * emacs.c (main): Do not catch SIGCHLD here; defer it until | |
1392 | just before it's really needed. | |
1393 | * nsterm.m (ns_term_init): No need to re-catch SIGCHLD here, | |
1394 | since it hasn't been caught yet. | |
1395 | ||
f3f9606c LMI |
1396 | 2013-06-23 Lars Magne Ingebrigtsen <larsi@gnus.org> |
1397 | ||
1398 | * image.c (compute_image_size): New function to implement | |
1399 | :max-width and :max-height. | |
1400 | (imagemagick_load_image): Use it. | |
1401 | ||
c7041908 PE |
1402 | 2013-06-23 Paul Eggert <eggert@cs.ucla.edu> |
1403 | ||
1404 | Try to avoid malloc SEGVs on Cygwin (Bug#14569). | |
1405 | * callproc.c, process.h (block_child_signal, unblock_child_signal): | |
1406 | Now extern. | |
1407 | * emacs.c (main): Catch SIGCHLD just before initializing gfilenotify. | |
1408 | * process.c (catch_child_signal): Block SIGCHLD while futzing with | |
1409 | the SIGCHLD handler, since the code is not atomic and (due to glib) | |
1410 | signals may be arriving now. | |
1411 | * sysdep.c (init_signals): Do not catch child signals here; | |
1412 | 'main' now does that later, at a safer time. | |
1413 | ||
f86852b4 PE |
1414 | 2013-06-22 Paul Eggert <eggert@cs.ucla.edu> |
1415 | ||
0dfeed58 PE |
1416 | Clean up SIGCHLD handling a bit (Bug#14569). |
1417 | * process.c, process.h (catch_child_signal): | |
1418 | Now always extern, even if !NS_IMPL_GNUSTEP. | |
1419 | * process.c (catch_child_signal): Move glib tickler here from | |
1420 | init_process_emacs, so that it's done earlier in Emacs | |
1421 | initialization. Also move the noninteractive && !initialized | |
1422 | check here from init_process_emacs. This is all a bit cleaner for | |
1423 | GNUish platforms, and I hope it works around the Cygwin bug. | |
1424 | * sysdep.c (init_signals): Invoke catch_child_signal here, so | |
1425 | that glib signal handling is tickled before glib creates threads. | |
1426 | ||
f86852b4 PE |
1427 | * process.c (wait_reading_process_output): Avoid int overflow |
1428 | when reading more than 2 GiB total from a process. | |
1429 | ||
cbd6509c PE |
1430 | 2013-06-21 Paul Eggert <eggert@cs.ucla.edu> |
1431 | ||
1432 | * process.c (create_process): Handle a couple more cases, | |
1433 | i.e., work even if new_argv and wait_child_setup[i] are cached. | |
1434 | Use Fcall_process's style for volatile vars. | |
1435 | ||
9de1114a AS |
1436 | 2013-06-21 Andreas Schwab <schwab@linux-m68k.org> |
1437 | ||
1438 | * process.c (create_process): Mark PROCESS volatile. | |
1439 | ||
fbe9e0b9 PE |
1440 | 2013-06-21 Paul Eggert <eggert@cs.ucla.edu> |
1441 | ||
1442 | Use C99-style flexible array members if available. | |
1443 | This avoids some subtle aliasing issues, which typically | |
1444 | aren't a problem with GCC but may be a problem elsewhere. | |
1445 | * alloc.c (sdata): New typedef, replacing the old struct sdata. | |
1446 | It is a struct if GC_CHECK_STRING_BYTES, a union otherwise. | |
1447 | In either case, it uses a flexible array member rather than | |
1448 | the old struct hack. All uses changed. | |
1449 | (SDATA_NBYTES, sweep_strings) [!GC_CHECK_STRING_BYTES]: | |
1450 | Adjust to sdata reorganization. | |
1451 | * alloc.c (VBLOCK_BYTES_MIN, allocate_vectorlike, Fgarbage_collect): | |
1452 | Use offsetof (struct, flex_array_member), not sizeof (struct), as | |
1453 | that ports better to pre-C99 non-GCC. | |
1454 | * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table): | |
1455 | Use CHAR_TABLE_STANDARD_SLOTS rather than its definition, | |
1456 | as the latter has changed. | |
1457 | * conf_post.h (FLEXIBLE_ARRAY_MEMBER): Move here from w32.c, | |
1458 | and port better to pre-C99 GCC. | |
1459 | * image.c (struct xpm_cached_color): | |
1460 | * lisp.h (struct Lisp_Vector, struct Lisp_Bool_Vector) | |
1461 | (struct Lisp_Char_Table, struct Lisp_Sub_Char_Table): | |
1462 | Use FLEXIBLE_ARRAY_MEMBER. | |
1463 | * lisp.h (string_bytes) [GC_CHECK_STRING_BYTES]: | |
1464 | Move decl to top level so it gets checked against implementation. | |
1465 | (CHAR_TABLE_STANDARD_SLOTS): Adjust to struct Lisp_Char_Table change. | |
1466 | * w32.c (FLEXIBLE_ARRAY_MEMBER): Move to conf_post.h. | |
1467 | ||
1fc71008 PE |
1468 | 2013-06-20 Paul Eggert <eggert@cs.ucla.edu> |
1469 | ||
1470 | * syntax.c: Integer cleanups. | |
1471 | (SYNTAX_FLAGS_COMMENT_STYLEC): Return a boolean, not 0-or-2. | |
1472 | All uses that need 0-or-2 changed to: | |
1473 | (SYNTAX_FLAGS_COMMENT_STYLEC2): New macro, with the same semantics | |
1474 | as the old SYNTAX_FLAGS_COMMENT_STYLEC. | |
1475 | (struct lisp_parse_state, syntax_prefix_flag_p, update_syntax_table) | |
1476 | (char_quoted, prev_char_comend_first, back_comment) | |
1477 | (Finternal_describe_syntax_value, skip_chars, skip_syntaxes) | |
1478 | (in_classes, forw_comment, scan_lists, scan_sexps_forward): | |
1479 | Use bool for boolean. | |
1480 | (update_syntax_table, skip_chars, skip_syntaxes): | |
1481 | Prefer int to unsigned when either will do. | |
1482 | (back_comment): Return boolean success flag, like forw_comment, | |
1483 | instead of positive-or-minus-1 (which might have overflowed int anyway). | |
1484 | Don't stuff ptrdiff_t into int. | |
1485 | (syntax_spec_code, syntax_code_spec): Now const. | |
1486 | (Fmatching_paren, scan_lists, scan_sexps_forward): | |
1487 | Use enum syntaxcode for syntax code. | |
1488 | (Fmatching_paren): Check that arg is a character, not just an integer. | |
1489 | (Fstring_to_syntax): Don't assume 0377 fits in enum syntaxcode. | |
1490 | (Finternal_describe_syntax_value): Omit no-longer-needed | |
1491 | comparison to 0. | |
1492 | (skip_chars): Use char, not unsigned char, when the distinction | |
1493 | doesn't matter. | |
1494 | (forw_comment, scan_lists): Prefer A |= B to A = A || B when B's cheap. | |
1495 | * bytecode.c (exec_byte_code): | |
1496 | * syntax.c (syntax_spec_code, Fchar_syntax) | |
1497 | (Finternal_describe_syntax_value, skip_chars, skip_syntaxes) | |
1498 | (init_syntax_once): | |
1499 | * syntax.h (SYNTAX_WITH_FLAGS): | |
1500 | Omit unnecessary casts. | |
1501 | ||
b932cad7 EZ |
1502 | 2013-06-20 Eli Zaretskii <eliz@gnu.org> |
1503 | ||
1504 | * w32fns.c (w32_wnd_proc): Don't compute the header line and mode | |
1505 | line dimensions here, to avoid race conditions with the main | |
1506 | thread. (Bug#14062, bug#14630, bug#14669) | |
1507 | ||
1508 | * w32term.c (w32_draw_window_cursor): Compute the header line and | |
1509 | mode line dimensions here. | |
1510 | <w32_system_caret_window, w32_system_caret_hdr_height>: | |
1511 | <w32_system_caret_mode_height>: New variables. | |
1512 | ||
1513 | * w32term.h: Declare them. | |
1514 | ||
89561f72 PE |
1515 | 2013-06-20 Paul Eggert <eggert@cs.ucla.edu> |
1516 | ||
5013fc08 PE |
1517 | * alloc.c (die): Move "assertion failed" string here ... |
1518 | * lisp.h (eassert): ... from here. Also, suppress evaluation of | |
1519 | COND when SUPPRESS_CHECKING. This shrinks the executable text | |
1520 | size by 0.8% to 2.2% when configured with --enable-checking, | |
1521 | depending on optimization flags (GCC 4.8.1 x86-64). | |
1522 | ||
89561f72 PE |
1523 | * floatfns.c (Flog10): Move to Lisp (marked obsolete there). |
1524 | ||
763a086d | 1525 | 2013-06-20 Rüdiger Sonderfeld <ruediger@c-plusplus.de> |
89561f72 PE |
1526 | |
1527 | * floatfns.c (Flog) [HAVE_LOG2]: Use log2 if available and if the | |
1528 | base is 2; this is more accurate. | |
1529 | ||
983aeb9a JB |
1530 | 2013-06-19 Juanma Barranquero <lekktu@gmail.com> |
1531 | ||
1532 | * sound.c (string_default): Move to !WINDOWSNT section. | |
1533 | (Fplay_sound_internal) [WINDOWSNT]: Remove i_result to avoid warning. | |
1534 | ||
178ba3e6 PE |
1535 | 2013-06-19 Paul Eggert <eggert@cs.ucla.edu> |
1536 | ||
bbc51b15 PE |
1537 | * sound.c: Integer cleanups. |
1538 | Remove unnecessary forward decls. | |
1539 | (struct sound_device): The 'file' member is now a Lisp_Object, not | |
1540 | a char *, so that we needn't invoke alloca on a huge size. | |
1541 | (Fplay_sound_internal): Adjust to this. | |
1542 | (string_default): New function. | |
1543 | (vox_open, vox_init, alsa_open, alsa_configure, alsa_init): | |
1544 | Use it to adjust to the struct sound_device change. | |
1545 | (parse_sound, wav_init, au_init, alsa_init): Use bool for booleans. | |
1546 | (be2hs) [0]: Remove. | |
1547 | ||
178ba3e6 PE |
1548 | * syntax.c (skip_chars): Don't use uninitialized storage |
1549 | when searching a multibyte buffer for characters that are not in a | |
1550 | unibyte string that contains non-ASCII characters. | |
1551 | ||
69f60cdc JD |
1552 | 2013-06-18 Jan Djärv <jan.h.d@swipnet.se> |
1553 | ||
1554 | * process.c: Include xgselect.h if HAVE_GLIB. Include glib.h | |
1555 | if HAVE_GLIB && ! WINDOWSNT (Bug#14654). | |
1556 | ||
0d6224d4 PE |
1557 | 2013-06-18 Paul Eggert <eggert@cs.ucla.edu> |
1558 | ||
1559 | * conf_post.h: Add comments for INLINE, EXTERN_INLINE, etc. | |
1560 | ||
3c542890 KH |
1561 | 2013-06-18 Kenichi Handa <handa@gnu.org> |
1562 | ||
f7e3f7cd KH |
1563 | * font.c (Ffont_spec): Signal an error for an invalid font name |
1564 | (Bug#14648). | |
3c542890 | 1565 | |
9349e5f7 PE |
1566 | 2013-06-18 Paul Eggert <eggert@cs.ucla.edu> |
1567 | ||
1568 | Porting fixes for merged specpdl and backtrace stacks (Bug#14643). | |
1569 | In particular this ports to 32-bit sparc Sun cc. | |
1570 | * eval.c (init_eval_once, grow_specpdl): Allocate a specbinding | |
1571 | array with a dummy element at specpdl[-1], so that its address can | |
1572 | be taken portably. | |
1573 | (unbind_to): Do not copy the binding; not needed, now that we | |
1574 | copy old_value in the one place where the copy is needed. | |
1575 | * fileio.c (Fwrite_region): Use ptrdiff_t, not int, for specpdl count. | |
1576 | * lisp.h (BITS_PER_PTRDIFF_T): Remove; no longer needed. | |
1577 | (union specbinding): Rename from struct specbinding. Redo layout | |
1578 | to avoid the need for 'ptrdiff_t nargs : BITS_PER_PTRDIFF_T - 1;', | |
1579 | which is not portable. With Sun C 5.12 32-bit sparc, the | |
1580 | declaration causes nargs to be an unsigned bitfield, a behavior | |
1581 | that the C standard allows; but Emacs wants nargs to be signed. | |
1582 | The overall type is now a union of structures rather than a | |
1583 | structure of union of structures, and the 'kind' member is now a | |
1584 | bitfield, so that the overall type doesn't grow. All uses changed. | |
1585 | * process.c (Fmake_serial_process): Remove unnecessary initialization. | |
1586 | ||
0a4df6a5 PE |
1587 | 2013-06-17 Paul Eggert <eggert@cs.ucla.edu> |
1588 | ||
ec6ecaad PE |
1589 | * frame.c (x_report_frame_params): Cast parent_desc to uintptr_t. |
1590 | Needed if HAVE_NTGUI. Reported by Juanma Barranquero. | |
1591 | ||
0a4df6a5 PE |
1592 | * nsfont.m (ns_registry_to_script): Parenthesize while expression. |
1593 | ||
7bfe8dbc EZ |
1594 | 2013-06-17 Eli Zaretskii <eliz@gnu.org> |
1595 | ||
1596 | * w32fns.c (w32_wnd_proc): Don't call WINDOW_HEADER_LINE_HEIGHT | |
1597 | unless we know that the window w's frame is a frame object. | |
1598 | Another attempt at solving bug#14062 and bug#14630. | |
1599 | ||
708e05f6 LMI |
1600 | 2013-06-17 Lars Magne Ingebrigtsen <larsi@gnus.org> |
1601 | ||
1602 | * textprop.c (property_set_type): New enum. | |
1603 | (add_properties): Allow appending/prepending text properties. | |
1604 | (add_text_properties_1): Factored out of Fadd_text_properties. | |
ef099a94 | 1605 | (Fadd_text_properties): Move all the code into |
708e05f6 LMI |
1606 | add_text_properties_1. |
1607 | (Fadd_face_text_property): New function that calls | |
1608 | add_text_properties_1. | |
1609 | ||
84575e67 PE |
1610 | 2013-06-17 Paul Eggert <eggert@cs.ucla.edu> |
1611 | ||
1612 | Move functions from lisp.h to individual modules when possible. | |
1613 | From a suggestion by Andreas Schwab in <http://bugs.gnu.org/11935#68>. | |
1614 | * alloc.c (XFLOAT_INIT, set_symbol_name): | |
1615 | * buffer.c (CHECK_OVERLAY): | |
1616 | * chartab.c (CHECK_CHAR_TABLE, set_char_table_ascii) | |
1617 | (set_char_table_parent): | |
1618 | * coding.c (CHECK_NATNUM_CAR, CHECK_NATNUM_CDR): | |
1619 | * data.c (BOOLFWDP, INTFWDP, KBOARD_OBJFWDP, OBJFWDP, XBOOLFWD) | |
1620 | (XKBOARD_OBJFWD, XINTFWD, XOBJFWD, CHECK_SUBR, set_blv_found) | |
1621 | (blv_value, set_blv_value, set_blv_where, set_blv_defcell) | |
1622 | (set_blv_valcell): | |
1623 | * emacs.c (setlocale) [!HAVE_SETLOCALE]: | |
1624 | * eval.c (specpdl_symbol, specpdl_old_value, specpdl_where) | |
1625 | (specpdl_arg, specpdl_func, backtrace_function, backtrace_nargs) | |
1626 | (backtrace_args, backtrace_debug_on_exit): | |
1627 | * floatfns.c (CHECK_FLOAT): | |
1628 | * fns.c (CHECK_HASH_TABLE, CHECK_LIST_END) | |
1629 | (set_hash_key_and_value, set_hash_next, set_hash_next_slot) | |
1630 | (set_hash_hash, set_hash_hash_slot, set_hash_index) | |
1631 | (set_hash_index_slot): | |
1632 | * keymap.c (CHECK_VECTOR_OR_CHAR_TABLE): | |
1633 | * marker.c (CHECK_MARKER): | |
1634 | * textprop.c (CHECK_STRING_OR_BUFFER): | |
1635 | * window.c (CHECK_WINDOW_CONFIGURATION): | |
1636 | Move here from lisp.h, and make these functions static rather than | |
1637 | extern inline. | |
1638 | * buffer.c (Qoverlayp): | |
1639 | * data.c (Qsubrp): | |
1640 | * fns.c (Qhash_table_p): | |
1641 | * window.c (Qwindow_configuration_p): | |
1642 | Now static. | |
1643 | * lisp.h: Remove the abovementioned defns and decls. | |
1644 | ||
44e18199 | 1645 | Use functions, not macros, for XINT etc (Bug#11935). |
84575e67 PE |
1646 | In lisp.h, prefer functions to function-like macros, and |
1647 | constants to object-like macros, when either will do. This: | |
1648 | . simplifies use, as there's no more need to worry about | |
1649 | arguments' side effects being evaluated multiple times. | |
1650 | . makes the code easier to debug on some platforms. | |
1651 | However, when using gcc -O0, keep using function-like macros | |
1652 | for a few critical operations, for performance reasons. | |
1653 | This sort of thing isn't needed with gcc -Og, but -Og | |
1654 | is a GCC 4.8 feature and isn't widely-enough available yet. | |
1655 | * alloc.c (gdb_make_enums_visible) [USE_LSB_TAG]: | |
1656 | Remove enum lsb_bits; no longer needed. | |
1657 | (allocate_misc, free_misc): Don't use XMISCTYPE as an lvalue. | |
1658 | * buffer.c (Qoverlap): | |
1659 | * data.c (Qsubrp): | |
1660 | * fns.c (Qhash_table_p): | |
1661 | Now extern, so lisp.h can use these symbols. | |
1662 | * dispextern.h: Include character.h, for MAX_CHAR etc. | |
1663 | (GLYPH, GLYPH_CHAR, GLYPH_FACE, SET_GLYPH_CHAR, SET_GLYPH_FACE) | |
1664 | (SET_GLYPH, GLYPH_CODE_CHAR, GLYPH_CODE_FACE) | |
1665 | (SET_GLYPH_FROM_GLYPH_CODE, GLYPH_MODE_LINE_FACE, GLYPH_CHAR_VALID_P) | |
1666 | (GLYPH_CODE_P): Move here from lisp.h. | |
1667 | (GLYPH_CHAR, GLYPH_FACE, GLYPH_CODE_CHAR, GLYPH_CODE_FACE) | |
1668 | (GLYPH_CHAR_VALID_P, GLYPH_CODE_P): Now functions, not macros. | |
1669 | (GLYPH_MODE_LINE_FACE): Now enums, not macros. | |
1670 | * eval.c (Fautoload): Cast XUNTAG output to intptr_t, since | |
1671 | XUNTAG now returns void *. | |
1672 | * lisp.h (lisp_h_XLI, lisp_h_XIL, lisp_h_CHECK_LIST_CONS) | |
1673 | (lisp_h_CHECK_NUMBER CHECK_SYMBOL, lisp_h_CHECK_TYPE) | |
1674 | (lisp_h_CONSP, lisp_h_EQ, lisp_h_FLOATP, lisp_h_INTEGERP) | |
1675 | (lisp_h_MARKERP, lisp_h_MISCP, lisp_h_NILP) | |
1676 | (lisp_h_SET_SYMBOL_VAL, lisp_h_SYMBOL_CONSTANT_P) | |
1677 | (lisp_h_SYMBOL_VAL, lisp_h_SYMBOLP, lisp_h_VECTORLIKEP) | |
1678 | (lisp_h_XCAR, lisp_h_XCDR, lisp_h_XCONS, lisp_h_XHASH) | |
1679 | (lisp_h_XPNTR, lisp_h_XSYMBOL): | |
1680 | New macros, renamed from their sans-lisp_h_ counterparts. | |
1681 | (XLI, XIL, CHECK_LIST_CONS, CHECK_NUMBER CHECK_SYMBOL) | |
1682 | (CHECK_TYPE, CONSP, EQ, FLOATP, INTEGERP, MARKERP) | |
1683 | (MISCP, NILP, SET_SYMBOL_VAL, SYMBOL_CONSTANT_P, SYMBOL_VAL, SYMBOLP) | |
1684 | (VECTORLIKEP, XCAR, XCDR, XCONS, XHASH, XPNTR, XSYMBOL): | |
1685 | If compiling via GCC without optimization, define these as macros | |
1686 | in addition to inline functions. | |
1687 | To disable this, compile with -DINLINING=0. | |
1688 | (LISP_MACRO_DEFUN, LISP_MACRO_DEFUN_VOID): New macros. | |
1689 | (check_cons_list) [!GC_CHECK_CONS_LIST]: Likewise. | |
1690 | (make_number, XFASTINT, XINT, XTYPE, XUNTAG): Likewise, but | |
1691 | hand-optimize only in the USE_LSB_TAG case, as GNUish hosts do that. | |
1692 | (INTMASK, VALMASK): Now macros, since static values cannot be | |
1693 | accessed from extern inline functions. | |
1694 | (VALMASK): Also a constant, for benefit of old GDB. | |
1695 | (LISP_INT_TAG_P): Remove; no longer needed as the only caller | |
1696 | is INTEGERP, which can fold it in. | |
5165d44a | 1697 | (XLI, XIL, XHASH, XTYPE, XINT, XFASTINT, XUINT) |
84575e67 PE |
1698 | (make_number, XPNTR, XUNTAG, EQ, XCONS, XVECTOR, XSTRING, XSYMBOL) |
1699 | (XFLOAT, XPROCESS, XWINDOW, XTERMINAL, XSUBR, XBUFFER, XCHAR_TABLE) | |
1700 | (XSUB_CHAR_TABLE, XBOOL_VECTOR, make_lisp_ptr, CHECK_TYPE) | |
1701 | (CHECK_STRING_OR_BUFFER, XCAR, XCDR, XSETCAR, XSETCDR, CAR, CDR) | |
1702 | (CAR_SAFE, CDR_SAFE, STRING_MULTIBYTE, SDATA, SSDATA, SREF, SSET) | |
1703 | (SCHARS, STRING_BYTES, SBYTES, STRING_SET_CHARS, STRING_COPYIN, AREF) | |
1704 | (ASIZE, ASET, CHAR_TABLE_REF_ASCII, CHAR_TABLE_REF) | |
1705 | (CHAR_TABLE_SET, CHAR_TABLE_EXTRA_SLOTS, SYMBOL_VAL, SYMBOL_ALIAS) | |
1706 | (SYMBOL_BLV, SYMBOL_FWD, SET_SYMBOL_VAL, SET_SYMBOL_ALIAS) | |
1707 | (SET_SYMBOL_BLV, SET_SYMBOL_FWD, SYMBOL_NAME, SYMBOL_INTERNED_P) | |
1708 | (SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P, SYMBOL_CONSTANT_P) | |
1709 | (XHASH_TABLE, HASH_TABLE_P, CHECK_HASH_TABLE, HASH_KEY, HASH_VALUE) | |
1710 | (HASH_NEXT, HASH_HASH, HASH_INDEX, HASH_TABLE_SIZE) | |
1711 | (XMISC, XMISCANY, XMARKER, XOVERLAY, XSAVE_VALUE, XFWDTYPE) | |
1712 | (XINTFWD, XBOOLFWD, XOBJFWD, XBUFFER_OBJFWD, XKBOARD_OBJFWD) | |
1713 | (XFLOAT_DATA, XFLOAT_INIT, NILP, NUMBERP, NATNUMP) | |
1714 | (RANGED_INTEGERP, CONSP, FLOATP, MISCP, STRINGP, SYMBOLP) | |
1715 | (INTEGERP, VECTORLIKEP, VECTORP, OVERLAYP) | |
1716 | (MARKERP, SAVE_VALUEP, AUTOLOADP, INTFWDP, BOOLFWDP, OBJFWDP) | |
1717 | (BUFFER_OBJFWDP, KBOARD_OBJFWDP, PSEUDOVECTOR_TYPEP) | |
1718 | (PSEUDOVECTORP, WINDOW_CONFIGURATIONP, PROCESSP, WINDOWP) | |
1719 | (TERMINALP, SUBRP, COMPILEDP, BUFFERP, CHAR_TABLE_P) | |
1720 | (SUB_CHAR_TABLE_P, BOOL_VECTOR_P, FRAMEP, IMAGEP, ARRAYP) | |
1721 | (CHECK_LIST, CHECK_LIST_CONS, CHECK_LIST_END, CHECK_STRING) | |
1722 | (CHECK_STRING_CAR, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE) | |
1723 | (CHECK_VECTOR, CHECK_VECTOR_OR_STRING, CHECK_ARRAY) | |
1724 | (CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER, CHECK_WINDOW) | |
1725 | (CHECK_WINDOW_CONFIGURATION, CHECK_PROCESS, CHECK_SUBR) | |
1726 | (CHECK_NUMBER, CHECK_NATNUM, CHECK_MARKER, XFLOATINT) | |
1727 | (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT, CHECK_OVERLAY) | |
1728 | (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR, CHECK_NATNUM_CAR) | |
1729 | (CHECK_NATNUM_CDR, FUNCTIONP, SPECPDL_INDEX, LOADHIST_ATTACH) | |
1730 | Now functions. | |
1731 | (check_cons_list) [!GC_CHECK_CONS_LIST]: New empty function. | |
1732 | (LISP_MAKE_RVALUE, TYPEMASK): Remove; no longer needed. | |
1733 | (VALMASK): Define in one place rather than in two, merging the | |
1734 | USE_LSB_TAG parts; this is simpler. | |
1735 | (aref_addr, gc_aset, MOST_POSITIVE_FIXNUM, MOST_NEGATIVE_FIXNUM) | |
1736 | (max, min, struct Lisp_String, UNSIGNED_CMP, ASCII_CHAR_P): | |
1737 | Move up, to avoid use before definition. | |
1738 | Also include "globals.h" earlier, for the same reason. | |
1739 | (make_natnum): New function. | |
1740 | (XUNTAG): Now returns void *, not intptr_t, as this means fewer casts. | |
1741 | (union Lisp_Fwd, BOOLFWDP, BOOL_VECTOR_P, BUFFER_OBJFWDP, BUFFERP) | |
1742 | (CHAR_TABLE_P, CHAR_TABLE_REF_ASCII, CONSP, FLOATP, INTEGERP, INTFWDP) | |
1743 | (KBOARD_OBJFWDP, MARKERP, MISCP, NILP, OBJFWDP, OVERLAYP, PROCESSP) | |
1744 | (PSEUDOVECTORP, SAVE_VALUEP, STRINGP, SUB_CHAR_TABLE_P, SUBRP, SYMBOLP) | |
1745 | (VECTORLIKEP, WINDOWP, Qoverlayp, char_table_ref, char_table_set) | |
1746 | (char_table_translate, Qarrayp, Qbufferp, Qbuffer_or_string_p) | |
1747 | (Qchar_table_p, Qconsp, Qfloatp, Qintegerp, Qlambda, Qlistp, Qmarkerp) | |
1748 | (Qnil, Qnumberp, Qsubrp, Qstringp, Qsymbolp, Qvectorp) | |
1749 | (Qvector_or_char_table_p, Qwholenump, Ffboundp, wrong_type_argument) | |
1750 | (initialized, Qhash_table_p, extract_float, Qprocessp, Qwindowp) | |
1751 | (Qwindow_configuration_p, Qimage): New forward declarations. | |
1752 | (XSETFASTINT): Simplify by rewriting in terms of make_natnum. | |
1753 | (STRING_COPYIN): Remove; unused. | |
1754 | (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Remove these macros, replacing with ... | |
1755 | (xcar_addr, xcdr_addr): New functions. All uses changed. | |
1756 | (IEEE_FLOATING_POINT): Now a constant, not a macro. | |
1757 | (GLYPH, GLYPH_CHAR, GLYPH_FACE, SET_GLYPH_CHAR, SET_GLYPH_FACE) | |
1758 | (SET_GLYPH, GLYPH_CODE_CHAR, GLYPH_CODE_FACE) | |
1759 | (SET_GLYPH_FROM_GLYPH_CODE, GLYPH_MODE_LINE_FACE, GLYPH_CHAR_VALID_P) | |
1760 | (GLYPH_CODE_P): Move to dispextern.h, to avoid define-before-use. | |
1761 | (TYPE_RANGED_INTEGERP): Simplify. | |
1762 | (Qsubrp, Qhash_table_p, Qoverlayp): New extern decls. | |
1763 | (setlocale, fixup_locale, synchronize_system_messages_locale) | |
1764 | (synchronize_system_time_locale) [!HAVE_SETLOCALE]: | |
1765 | Now empty functions, not macros. | |
1766 | (functionp): Return bool, not int. | |
1767 | * window.c (Qwindow_configuration_p): Now extern, | |
1768 | so window.h can use it. | |
1769 | * window.h (Qwindowp): Move decl back to lisp.h. | |
1770 | ||
9583ec36 EZ |
1771 | 2013-06-15 Eli Zaretskii <eliz@gnu.org> |
1772 | ||
1773 | * xdisp.c (Fline_pixel_height): New function, required for solving | |
1774 | bug #14567. | |
1775 | ||
210272ce PE |
1776 | 2013-06-15 Paul Eggert <eggert@cs.ucla.edu> |
1777 | ||
1778 | * fns.c (Fcopy_sequence): Simplify XTYPE calculation. | |
1779 | ||
de0503df SM |
1780 | 2013-06-13 Stefan Monnier <monnier@iro.umontreal.ca> |
1781 | ||
1782 | * lread.c (syms_of_lread): | |
1783 | * fns.c (Fprovide): Adjust to new format of after-load-alist. | |
1784 | ||
afbfe143 KD |
1785 | 2013-06-13 Kelly Dean <kellydeanch@yahoo.com> (tiny change) |
1786 | ||
1787 | * fileio.c (Fdo_auto_save): Trap errors in auto-save-hook. (Bug#14479) | |
1788 | ||
d177e213 XF |
1789 | 2013-06-12 Xue Fuqiao <xfq.free@gmail.com> |
1790 | ||
1791 | * fileio.c (expand_file_name): Doc fix. | |
1792 | ||
05e3e412 PE |
1793 | 2013-06-11 Paul Eggert <eggert@cs.ucla.edu> |
1794 | ||
f7394b12 PE |
1795 | Tickle glib by waiting for Emacs itself, not for process 0 (Bug#14569). |
1796 | * process.c (init_process_emacs) [HAVE_GLIB && !WINDOWSNT]: | |
1797 | Wait for self, not for 0. This can't hurt on GNU or similar | |
1798 | system, and may help with Cygwin. | |
1799 | ||
05e3e412 PE |
1800 | * keyboard.c: Don't use PROP (...) as an lvalue. |
1801 | (parse_tool_bar_item) [!USE_GTK && !HAVE_NS]: | |
1802 | Use set_prop (A, B), not PROP (A) = B. | |
1803 | ||
17dd3097 EZ |
1804 | 2013-06-10 Eli Zaretskii <eliz@gnu.org> |
1805 | ||
1806 | * xdisp.c (get_it_property): Use it->window instead of generating | |
1807 | a Lisp object from it->w. | |
1808 | ||
52fab9c9 EZ |
1809 | 2013-06-09 Eli Zaretskii <eliz@gnu.org> |
1810 | ||
1811 | * xdisp.c (get_it_property): If it->object is a buffer, pass to | |
1812 | get-char-property the window that is being rendered, instead of | |
1813 | the buffer, to support window-specific overlays. (Bug#14575) | |
ad257d4f EZ |
1814 | (compute_display_string_pos): When W is NULL, use the current |
1815 | buffer as the object to pass to get-char-property. | |
1816 | (Fcurrent_bidi_paragraph_direction): Assign NULL to the window | |
1817 | pointer member of the bidi iterator, since no window is pertinent | |
1818 | to this function. | |
52fab9c9 | 1819 | |
5bf97bfc EZ |
1820 | 2013-06-08 Eli Zaretskii <eliz@gnu.org> |
1821 | ||
1822 | * bidi.c (bidi_fetch_char): Accept additional argument, the window | |
1823 | being displayed, and pass it to compute_display_string_pos. | |
1824 | (bidi_level_of_next_char, bidi_resolve_explicit_1) | |
1825 | (bidi_paragraph_init): All callers changed. | |
1826 | ||
1827 | * xdisp.c (init_from_display_pos, init_iterator) | |
1828 | (handle_single_display_spec, next_overlay_string) | |
1829 | (get_overlay_strings_1, reseat_1, reseat_to_string) | |
e7b41c4c JB |
1830 | (push_prefix_prop, Fcurrent_bidi_paragraph_direction): |
1831 | Set bidi_it.w member from it->w. | |
5bf97bfc EZ |
1832 | (compute_display_string_pos): Accept additional argument, the |
1833 | window being displayed, and pass it to Fget_char_property. | |
1834 | (Bug#14575) | |
1835 | ||
1836 | * dispextern.h (struct bidi_it): New member w, the window being | |
1837 | displayed. | |
1838 | (compute_display_string_pos): Adjust prototype. | |
1839 | ||
5de0e011 JD |
1840 | 2013-06-08 Jan Djärv <jan.h.d@swipnet.se> |
1841 | ||
e7b41c4c | 1842 | * xgselect.c: Remove unneeded include xterm.h. |
b33f93ee JD |
1843 | |
1844 | * process.c (wait_reading_process_output): Check for NS before GLIB. | |
1845 | GLIB may be linked in due to rsvg, but ns_select must be called. | |
1846 | ||
5de0e011 JD |
1847 | * xgselect.c (xg_select): Remove call to window_system_available |
1848 | and g_main_context_pending at the top, so Gdk events (i.e. file | |
1849 | notify) are processed when Emacs is started with -nw. | |
1850 | ||
a822acff EZ |
1851 | 2013-06-07 Eli Zaretskii <eliz@gnu.org> |
1852 | ||
1853 | * Makefile.in (ctagsfiles1, ctagsfiles2): Don't include *.m files. | |
1854 | (ctagsfiles3): New variable, includes only *.m files. | |
1855 | (TAGS): Use an explicit language name in the regular expressions, | |
1856 | to avoid transformation of '/SOMETHING' by MSYS to | |
1857 | 'c:\MSYS\SOMETHING'. | |
1858 | ||
6c0a9ed1 RC |
1859 | 2013-06-07 Richard Copley <rcopley@gmail.com> (tiny change) |
1860 | ||
1861 | * epaths.in: Fix commentary to PATH_SITELOADSEARCH. | |
1862 | ||
9ef6111b EZ |
1863 | 2013-06-06 Eli Zaretskii <eliz@gnu.org> |
1864 | ||
1865 | * xdisp.c (note_mouse_highlight): When mouse-highlight is off, | |
1866 | still need to set the mouse pointer shape and activate help-echo. | |
1867 | (Bug#14558) | |
1868 | ||
7d300d64 PE |
1869 | 2013-06-06 Paul Eggert <eggert@cs.ucla.edu> |
1870 | ||
1871 | A few porting etc. fixes for the new file monitor code. | |
1872 | See the thread containing | |
1873 | <http://lists.gnu.org/archive/html/emacs-devel/2013-06/msg00109.html>. | |
1874 | * gfilenotify.c (dir_monitor_callback, Fgfile_add_watch) | |
1875 | (Fgfile_rm_watch): Don't assume EMACS_INT is the same width as a pointer. | |
1876 | (dir_monitor_callback, Fgfile_rm_watch): | |
1877 | Use assq_no_quit instead of Fassoc, for speed. | |
1878 | (dir_monitor_callback, Fgfile_rm_watch): | |
1879 | eassert that the monitor is a fixnum. | |
1880 | (dir_monitor_callback): No need for CDR_SAFE. | |
1881 | Simplify building of lisp with alternative tails. | |
1882 | (Fgfile_add_watch, Fgfile_rm_watch): | |
1883 | Do not assume glib functions set errno reliably on failure. | |
1884 | (Fgfile_add_watch): Check that the monitor survives the XIL trick, | |
1885 | and signal an error otherwise. | |
1886 | (Fgfile_rm_watch): Prefer CONSP to !NILP. | |
1887 | Use Fdelq instead of Fdelete, for speed. | |
1888 | ||
817ebfcf EZ |
1889 | 2013-06-05 Eli Zaretskii <eliz@gnu.org> |
1890 | ||
1891 | * xdisp.c (handle_tool_bar_click): When mouse-highlight is off, | |
1892 | don't insist on being invoked on a highlighted tool-bar button. | |
1893 | Avoids losing tool-bar functionality when mouse-highlight is nil. | |
1894 | (note_tool_bar_highlight, note_mode_line_or_margin_highlight): | |
1895 | Don't highlight when mouse-highlight is nil. | |
1896 | (note_mouse_highlight): When mouse-highlight is nil, don't return | |
1897 | right away; instead, run tool-bar and mode-line highlight | |
1898 | subroutine, clear any existing highlight, and revert the mouse | |
1899 | pointer to its default shape. (Bug#14558) | |
1900 | ||
55577e7c SM |
1901 | 2013-06-05 Stefan Monnier <monnier@iro.umontreal.ca> |
1902 | ||
1903 | * lisp.mk (lisp): Add prog-mode.el. | |
1904 | ||
f019a684 PE |
1905 | 2013-06-05 Paul Eggert <eggert@cs.ucla.edu> |
1906 | ||
1907 | Chain glib's SIGCHLD handler from Emacs's (Bug#14474). | |
1908 | * process.c (dummy_handler): New function. | |
1909 | (lib_child_handler): New static var. | |
1910 | (handle_child_signal): Invoke it. | |
1911 | (catch_child_signal): If a library has set up a signal handler, | |
1912 | save it into lib_child_handler. | |
1913 | (init_process_emacs): If using glib and not on Windows, tickle glib's | |
1914 | child-handling code so that it initializes its private SIGCHLD handler. | |
1915 | * syssignal.h (SA_SIGINFO): Default to 0. | |
1916 | * xterm.c (x_term_init): Remove D-bus hack that I installed on May | |
1917 | 31; it should no longer be needed now. | |
1918 | ||
90db8702 MA |
1919 | 2013-06-05 Michael Albinus <michael.albinus@gmx.de> |
1920 | ||
1921 | * emacs.c (main) [HAVE_GFILENOTIFY]: Call globals_of_gfilenotify. | |
1922 | ||
1923 | * gfilenotify.c (globals_of_gfilenotify): New function. | |
1924 | (syms_of_gfilenotify): Move global initialization there. | |
1925 | ||
1926 | * lisp.h (globals_of_gfilenotify) [HAVE_GFILENOTIFY]: Add prototype. | |
1927 | ||
bfa3acd6 SM |
1928 | 2013-06-05 Stefan Monnier <monnier@iro.umontreal.ca> |
1929 | ||
1930 | * keymap.c (Fcurrent_active_maps, Fdescribe_buffer_bindings): | |
1931 | * keyboard.c (menu_bar_items, tool_bar_items): | |
1932 | * doc.c (Fsubstitute_command_keys): Voverriding_terminal_local_map does | |
1933 | not override local keymaps any more. | |
1934 | ||
ba59bd80 EZ |
1935 | 2013-06-04 Eli Zaretskii <eliz@gnu.org> |
1936 | ||
1937 | * window.c (Fpos_visible_in_window_p): Doc fix. (Bug#14540) | |
1938 | ||
7f203aa1 EZ |
1939 | 2013-06-03 Eli Zaretskii <eliz@gnu.org> |
1940 | ||
9337e206 EZ |
1941 | * w32console.c (initialize_w32_display): Return the dimensions of |
1942 | the console window via 2 additional arguments, not via the current | |
1943 | frame. This avoids crashes due to overrunning the bounds of | |
1944 | frame's decode_mode_spec_buffer, which is not resized following | |
1945 | the change of the frame dimensions from the initial 10x10. | |
1946 | ||
1947 | * w32term.h (w32_initialize_display_info): Adjust prototype. | |
1948 | ||
1949 | * term.c (init_tty): Take dimensions of the frame from the values | |
1950 | returned by initialize_w32_display. | |
1951 | ||
7f203aa1 EZ |
1952 | * Makefile.in (GFILENOTIFY_CFLAGS, GFILENOTIFY_LIBS): New variables. |
1953 | (ALL_CFLAGS): Add $(GFILENOTIFY_CFLAGS). | |
1954 | (LIBES): Add $(GFILENOTIFY_LIBS). | |
1955 | ||
1956 | * w32inevt.c (handle_file_notifications): Add dummy implementation | |
1957 | for !HAVE_W32NOTIFY. | |
1958 | ||
1959 | * w32term.c: Wrap code with HAVE_W32NOTIFY. | |
1960 | ||
55a87246 JD |
1961 | 2013-06-03 Jan Djärv <jan.h.d@swipnet.se> |
1962 | ||
1963 | * xgselect.c: Replace #if defined ... with #ifdef HAVE_GLIB. | |
1964 | ||
1965 | * process.c (wait_reading_process_output): Call xg_select if HAVE_GLIB. | |
1966 | ||
1967 | * Makefile.in (XGSELOBJ): New, xgselect.o if GLib is used, or empty. | |
1968 | ||
3d5ee10a PE |
1969 | 2013-06-03 Paul Eggert <eggert@cs.ucla.edu> |
1970 | ||
1971 | Fix minor problems found by static checking. | |
1972 | * data.c (pure_write_error): | |
1973 | Use xsignal2, not Fsignal, as Fsignal might return. | |
1974 | * eval.c (set_backtrace_debug_on_exit): Now static. | |
1975 | (backtrace_p, backtrace_top, backtrace_next, record_in_backtrace): | |
1976 | No longer inline. EXTERN_INLINE is needed only for functions | |
1977 | defined in .h files. Reindent function header as per GNU style. | |
1978 | (backtrace_p, backtrace_top, backtrace_next): | |
1979 | Mark EXTERNALLY_VISIBLE so they don't get optimized away by the | |
1980 | compiler or linker. Add extern decls to pacify gcc -Wall. | |
1981 | * frame.c, frame.h (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): | |
1982 | Now static. | |
1983 | * frame.c (free_monitors): Define only on platforms that need it. | |
1984 | * nsterm.m (ns_term_init): | |
1985 | * process.c (catch_child_signal): | |
1986 | Don't worry about whether SIGCHLD is defined, as SIGCHLD is | |
1987 | defined on all porting targets these days. | |
1988 | * process.c, process.h (catch_child_signal): | |
1989 | Make it extern only if NS_IMPL_GNUSTEP is defined. | |
1990 | ||
e2d8a6f0 EZ |
1991 | 2013-06-03 Eli Zaretskii <eliz@gnu.org> |
1992 | ||
1993 | * w32.c (gettimeofday): Make the signature identical to prototype | |
1994 | in nt/inc/sys/time.h. | |
1995 | ||
a8a7c5f6 SM |
1996 | 2013-06-03 Stefan Monnier <monnier@iro.umontreal.ca> |
1997 | ||
1998 | * eval.c (backtrace_p, backtrace_top, backtrace_next): Export them to | |
1999 | .gdbinit. | |
2000 | ||
2001 | * keyboard.c (safe_run_hooks_error): Improve error message. | |
2002 | ||
2003 | * data.c (pure_write_error): Add `object' argument. | |
2004 | * puresize.h (CHECK_IMPURE): Use it. | |
2005 | ||
c9628c79 MA |
2006 | 2013-06-03 Michael Albinus <michael.albinus@gmx.de> |
2007 | ||
2008 | * Makefile.in (NOTIFY_OBJ): New variable. | |
2009 | (base_obj): Replace inotify.o by $(NOTIFY_OBJ). | |
2010 | ||
2011 | * emacs.c (main): Use HAVE_W32NOTIFY to wrap respective code. | |
2012 | Call syms_of_gfilenotify. | |
2013 | ||
2014 | * gfilenotify.c: New file. | |
2015 | ||
2016 | * keyboard.c (Qfile_notify): New variable. Replaces Qfile_inotify | |
2017 | and Qfile_w32notify. | |
2018 | (top): Wrap respective code by HAVE_GFILENOTIFY, HAVE_INOTIFY, | |
2019 | HAVE_W32NOTIFY and USE_FILE_NOTIFY. | |
2020 | ||
2021 | * lisp.h: Declare syms_of_gfilenotify. | |
2022 | ||
2023 | * termhooks.h (e): Wrap enum by USE_FILE_NOTIFY. | |
2024 | ||
2f592f95 SM |
2025 | 2013-06-03 Stefan Monnier <monnier@iro.umontreal.ca> |
2026 | ||
2027 | Merge the specpdl and backtrace stacks. Make the structure of the | |
2028 | specpdl entries more obvious via a tagged union of structs. | |
2029 | * lisp.h (BITS_PER_PTRDIFF_T): New constant. | |
2030 | (enum specbind_tag): New enum. | |
2031 | (struct specbinding): Make it a tagged union of structs. | |
2032 | Add a case for backtrace records. | |
2033 | (specpdl_symbol, specpdl_old_value, specpdl_where, specpdl_arg) | |
2034 | (specpdl_func, backtrace_function, backtrace_nargs, backtrace_args) | |
2035 | (backtrace_debug_on_exit): New accessors. | |
2036 | (struct backtrace): Remove. | |
2037 | (struct catchtag): Remove backlist field. | |
2038 | * data.c (let_shadows_buffer_binding_p, let_shadows_global_binding_p): | |
2039 | Move to eval.c. | |
2040 | (Flocal_variable_p): Speed up the common case where the binding is | |
2041 | already loaded. | |
2042 | * eval.c (backtrace_list): Remove. | |
2043 | (set_specpdl_symbol, set_specpdl_old_value): Remove. | |
2044 | (set_backtrace_args, set_backtrace_nargs) | |
2045 | (set_backtrace_debug_on_exit, backtrace_p, backtrace_top) | |
2046 | (backtrace_next): New functions. | |
2047 | (Fdefvaralias, Fdefvar): Adjust to new specpdl format. | |
2048 | (unwind_to_catch, internal_lisp_condition_case) | |
2049 | (internal_condition_case, internal_condition_case_1) | |
2050 | (internal_condition_case_2, internal_condition_case_n): Don't bother | |
2051 | with backtrace_list any more. | |
2052 | (Fsignal): Adjust to new backtrace format. | |
2053 | (grow_specpdl): Move up. | |
2054 | (record_in_backtrace): New function. | |
2055 | (eval_sub, Ffuncall): Use it. | |
2056 | (apply_lambda): Adjust to new backtrace format. | |
2057 | (let_shadows_buffer_binding_p, let_shadows_global_binding_p): Move from | |
2058 | data.c. | |
2059 | (specbind): Adjust to new specpdl format. Simplify. | |
2060 | (record_unwind_protect, unbind_to): Adjust to new specpdl format. | |
2061 | (Fbacktrace_debug, Fbacktrace, Fbacktrace_frame): Adjust to new | |
2062 | backtrace format. | |
2063 | (mark_backtrace): Remove. | |
2064 | (mark_specpdl, get_backtrace, backtrace_top_function): New functions. | |
2065 | * xdisp.c (redisplay_internal): Use record_in_backtrace. | |
2066 | * alloc.c (Fgarbage_collect): Use record_in_backtrace. | |
2067 | Use mark_specpdl. | |
2068 | * profiler.c (record_backtrace): Use get_backtrace. | |
2069 | (handle_profiler_signal): Use backtrace_top_function. | |
2070 | * .gdbinit (xbacktrace, hookpost-backtrace): Use new backtrace | |
2071 | accessor functions. | |
2072 | ||
c0342369 JD |
2073 | 2013-06-02 Jan Djärv <jan.h.d@swipnet.se> |
2074 | ||
2075 | * process.h (catch_child_signal): Declare. | |
2076 | ||
2077 | * process.c (catch_child_signal): New function. | |
2078 | (init_process_emacs): Call it. | |
2079 | ||
2080 | * nsterm.m: Include process.h if NS_IMPL_GNUSTEP. | |
2081 | (ns_menu_bar_is_hidden, menu_will_open_state): Define only if | |
2082 | NS_IMPL_COCOA. | |
2083 | (x_set_cursor_type): Remove declaration. | |
2084 | (ns_update_begin): Only use r and bp if NS_IMPL_COCOA. | |
2085 | (ns_update_end, ns_focus, ns_unfocus): Remove GNUStep specific code. | |
2086 | (x_set_window_size): Remove 3 pixels from toolbar if NS_IMPL_GNUSTEP. | |
2087 | (ns_get_color): Use F suffix on float. | |
2088 | (ns_color_to_lisp, ns_query_color): Use EmacsCGFloat. | |
2089 | (ns_get_rgb_color): Remove. | |
2090 | (x_set_frame_alpha): Move view inside NS_IMPL_COCOA. | |
2091 | (note_mouse_movement): x and y are CGFloat. | |
2092 | (ns_draw_fringe_bitmap): Remove unused rowY. | |
2093 | Change #if to COCOA && >= 10_6. | |
2094 | (ns_draw_window_cursor): Remove unused overspill. | |
2095 | (ns_draw_underwave): width and x are EamcsCGFloat. | |
2096 | (ns_draw_box): thickness is CGFloat. | |
2097 | (ns_dumpglyphs_image): Change #if to COCOA && >= 10_6. | |
2098 | (ns_send_appdefined): When NS_IMPL_GNUSTEP, redirect to main thread | |
2099 | if not in main thread. | |
2100 | (ns_get_pending_menu_title, ns_check_menu_open) | |
2101 | (ns_check_pending_open_menu): Put inside #if COCOA && >= 10_5. | |
2102 | (ns_term_init): Call catch_child_signal if NS_IMPL_GNUSTEP && SIGCHLD. | |
2103 | (sendFromMainThread:): New method. | |
2104 | (changeFont:): size is CGFloat. | |
2105 | (keyDown:): Check for Delete when NS_IMPL_GNUSTEP. | |
2106 | Disable warning about permanent text. | |
2107 | (characterIndexForPoint:): Adjust return type depending on GNUStep | |
2108 | version. | |
2109 | (mouseDown:): delta is CGFloat. | |
2110 | (updateFrameSize): Remove unised variable f. | |
2111 | (initFrameFromEmacs): Move toggleButton inside NS_IMPL_COCOA. | |
2112 | Cast float to EmacsCGFloat. | |
2113 | (windowWillUseStandardFrame:defaultFrame:): Set maximized_height | |
2114 | also to -1 when restoring. | |
2115 | (windowDidExitFullScreen:): Put call to updateCollectionBehaviour | |
2116 | inside NS_IMPL_COCOA. | |
2117 | (toggleFullScreen:): Put call to toggleFullScreen inside | |
2118 | NS_IMPL_COCOA. Cast float to EmacsCGFloat. | |
2119 | (setPosition:portion:whole:): por is CGFloat. | |
2120 | (getMouseMotionPart:window:x:y:): Add F suffix to float. | |
2121 | (mouseDown:): Use CGFloat. | |
2122 | (mouseDragged:): Remove unised variable edge. | |
2123 | (EmacsDocument): Implement for NS_IMPL_GNUSTEP. | |
2124 | ||
2125 | * nsterm.h (EmacsCGFloat): Typedef for OSX and GNUStep when the size | |
2126 | of CGFloat differs. | |
2127 | (EmacsApp): New variable nextappdefined. Declare sendFromMainThread | |
2128 | when NS_IMPL_GNUSTEP. | |
2129 | (EmacsDocument): Declare when NS_IMPL_GNUSTEP. | |
2130 | (EmacsView): Remove unlockFocusNeedsFlush, add windowDidMove. | |
2131 | (EmacsToolbar): Add clearAll. Add tag argument to | |
2132 | addDisplayItemWithImage. | |
2133 | (EmacsSavePanel, EmacsOpenPanel): Remove getFilename and getDirectory. | |
2134 | ||
2135 | * nsselect.m (ns_get_local_selection): Remove unused variable type. | |
2136 | ||
2137 | * nsmenu.m (ns_update_menubar): Make static. | |
2138 | (x_activate_menubar): Surround with ifdef NS_IMPL_COCOA | |
2139 | (fillWithWidgetValue:): Add cast to SEL for setAction. | |
2140 | (addSubmenuWithTitle:forFrame:): Add cast to SEL for action. | |
2141 | (update_frame_tool_bar): Update code for GNUStep. | |
2142 | (clearAll): New method. | |
2143 | (addDisplayItemWithImage:idx:tag:helpText:enabled:): Handle new tag | |
4f405069 | 2144 | argument. Call insertItemWithItemIdentifier when NS_IMPL_GNUSTEP. |
e7b41c4c | 2145 | Move identifierToItem setObject and activeIdentifiers addObject before |
c0342369 JD |
2146 | call to insertItemWithItemIdentifier. |
2147 | (validateVisibleItems): Fix indentation. | |
2148 | (toolbarAllowedItemIdentifiers:): Return activeIdentifiers. | |
2149 | (initWithContentRect:styleMask:backing:defer:): Add ClosableWindow and | |
2150 | UtilityWindow to aStyle, remove call to setStyleMask. | |
2151 | ||
2152 | * nsimage.m (setXBMColor:, getPixelAtX:Y:): Use EmacsCGFloat. | |
2153 | ||
2154 | * nsfont.m (ns_attribute_fvalue, ns_spec_to_descriptor) | |
2155 | (ns_charset_covers, ns_get_covering_families, nsfont_open): | |
2156 | Use F suffix on floats. | |
2157 | (ns_char_width): Returns CGFloat. | |
2158 | (ns_ascii_average_width): w is CGFloat instead of float. | |
e7b41c4c | 2159 | (nsfont_draw): cbuf and c are unsigned. Cast to char* in call to |
c0342369 JD |
2160 | DPSxshow. |
2161 | (ns_glyph_metrics): CGFloat instead of float. | |
2162 | ||
a0eb10b3 JB |
2163 | * nsfns.m (x_set_foreground_color, x_set_background_color): |
2164 | Use EmacsCGFloat. | |
2165 | (ns_implicitly_set_icon_type, Fx_create_frame): Make static, | |
2166 | remove unused variables. | |
2167 | (Fns_read_file_name): Keep track if panel is for save. | |
2168 | Use ns_filename_from_panel/ns_directory_from_panel. | |
c0342369 | 2169 | (Fns_list_services): delegate only used for COCOA. |
a0eb10b3 JB |
2170 | (Fns_convert_utf8_nfd_to_nfc): Remove warning for GNUStep. |
2171 | Just return the input if GNUStep. | |
c0342369 JD |
2172 | (x_screen_planes): Remove. |
2173 | (Fxw_color_values): Use EmacsCGFloat | |
2174 | (Fns_display_monitor_attributes_list): Only get screen number for | |
2175 | Cocoa. | |
ef099a94 | 2176 | (getDirectory, getFilename): Remove from EmacsOpenPanel and |
c0342369 JD |
2177 | EmacsSavePanel. |
2178 | (EmacsOpenPanel:ok:): Use ns_filename_from_panel and | |
2179 | ns_directory_from_panel. | |
2180 | ||
da9aff11 PE |
2181 | 2013-06-01 Paul Eggert <eggert@cs.ucla.edu> |
2182 | ||
2183 | * process.c (handle_child_signal): Also use WCONTINUED. | |
2184 | This is so that list-processes doesn't mistakenly list the process | |
2185 | as stopped, when the process has actually been continued and is | |
2186 | now running. | |
2187 | ||
0e64479a PE |
2188 | 2013-05-31 Paul Eggert <eggert@cs.ucla.edu> |
2189 | ||
fc186a96 PE |
2190 | Don't let D-bus autolaunch mess up SIGCHLD handling (Bug#14474). |
2191 | * xterm.c (x_term_init): Inhibit D-Bus autolaunch if D-Bus is | |
2192 | not already configured. | |
2193 | ||
0e64479a PE |
2194 | * fileio.c (Finsert_file_contents): Remove unused local (Bug#8447). |
2195 | ||
38b787fa EZ |
2196 | 2013-05-29 Eli Zaretskii <eliz@gnu.org> |
2197 | ||
2198 | * Makefile.in (mostlyclean): Remove *.res files. | |
2199 | ||
22513e52 SM |
2200 | 2013-05-29 Stefan Monnier <monnier@iro.umontreal.ca> |
2201 | ||
2202 | * fileio.c (Finsert_file_contents): Preserve undo info when reverting | |
2203 | a buffer (bug#8447). | |
2204 | ||
6ef3db10 EZ |
2205 | 2013-05-27 Eli Zaretskii <eliz@gnu.org> |
2206 | ||
2207 | * xdisp.c (pos_visible_p): When CHARPOS is displayed frrom a | |
2208 | display vector, and we backtrack, handle the case that the | |
2209 | previous character position is also displayed from a display | |
2210 | vector or covered by a display string or image. (Bug#14476) | |
2211 | ||
6799bb26 JD |
2212 | 2013-05-25 Jan Djärv <jan.h.d@swipnet.se> |
2213 | ||
2214 | * xfns.c (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): Remove. | |
2215 | (struct MonitorInfo, free_monitors): Remove. | |
2216 | (x_make_monitor_attribute_list): Call make_monitor_attribute_list. | |
2217 | (Fx_display_monitor_attributes_list): Call make_monitor_attribute_list. | |
2218 | (syms_of_xfns): Remove DEFSYM for Qgeometry, Qworkarea, Qmm_size, | |
2219 | Qframes, Qsource. | |
2220 | ||
2221 | * nsfns.m (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): Remove. | |
2222 | (struct MonitorInfo, free_monitors): Remove. | |
2223 | (ns_screen_name): Make static. | |
2224 | (ns_make_monitor_attribute_list): Call make_monitor_attribute_list. | |
2225 | (syms_of_nsfns): Remove DEFSYM for Qgeometry, Qworkarea, Qmm_size, | |
2226 | Qframes, Qsource. | |
2227 | ||
2228 | * frame.h (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): Declare. | |
2229 | (struct MonitorInfo): New struct. | |
2230 | (free_monitors, make_monitor_attribute_list): Declare. | |
2231 | ||
22513e52 SM |
2232 | * frame.c (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): |
2233 | New Lisp_Object:s. | |
6799bb26 JD |
2234 | (free_monitors, make_monitor_attribute_list): New functions. |
2235 | (syms_of_frame): DEFSYM Qgeometry, Qworkarea, Qmm_size, Qframes, | |
2236 | Qsource. | |
2237 | ||
38cd43eb XF |
2238 | 2013-05-25 Xue Fuqiao <xfq.free@gmail.com> |
2239 | ||
2240 | * callproc.c (call_process): Refine the doc string. (Bug#14045) | |
2241 | ||
2af0948d SM |
2242 | 2013-05-23 Stefan Monnier <monnier@iro.umontreal.ca> |
2243 | ||
a7eb9b0f SM |
2244 | * keyboard.c: Apply keyboard decoding only to events that come directly |
2245 | from the tty, not from unread-command-events (bug#14368). | |
2246 | (read_event_from_main_queue): New function, extracted from read_char). | |
2247 | (read_decoded_char): Remove. | |
2248 | (read_decoded_event_from_main_queue): New function to replace it. | |
2249 | (read_char): Use it. | |
2250 | (read_key_sequence): Use read_char rather than read_decoded_char. | |
2251 | ||
2af0948d SM |
2252 | * keyboard.c (read_decoded_char): Don't decode under w32 (bug#14403). |
2253 | ||
1413e9a5 BR |
2254 | 2013-05-22 Barry OReilly <gundaetiapo@gmail.com> (tiny change) |
2255 | ||
2256 | * casetab.c (init_casetab_once): Fix last change (bug#14424). | |
2257 | ||
e6d2f155 KH |
2258 | 2013-05-22 Kenichi Handa <handa@gnu.org> |
2259 | ||
2260 | The following changes are to fix the setting of | |
2261 | buffer-file-coding-system on, for instance, C-x RET c unix RET | |
2262 | _FILE_OF_DOS_EOL_TYPE_ RET. | |
2263 | ||
2264 | * coding.h (struct coding_system): New member detected_utf8_chars. | |
2265 | ||
2266 | * coding.c (detect_coding_utf_8): Count characters and check EOL | |
2267 | format. Include CATEGORY_MASK_UTF_8_AUTO in detect_info->found if | |
2268 | BOM is there. | |
2269 | (setup_coding_system): Do not initialize coding->head_ascii. | |
2270 | (check_ascii): Do not set coding->eol_seen but update it. Do not | |
2271 | call adjust_coding_eol_type here. | |
1413e9a5 BR |
2272 | (detect_coding): Fix detection of BOM for utf-8 and utf-16. |
2273 | If the eol-type of CODING is already specified, adjust the eol type | |
e6d2f155 KH |
2274 | of the found coding-system. |
2275 | (decode_coding_gap): Cancel previous change. Utilize the | |
2276 | character numbers counted by detect_coding_utf_8. Fix detection | |
2277 | of BOM for utf-8. | |
2278 | ||
ab56a6f4 | 2279 | 2013-05-21 Barry OReilly <gundaetiapo@gmail.com> (tiny change) |
fc30d803 SM |
2280 | |
2281 | * search.c (looking_at_1): Only set last_thing_searched if the match | |
2282 | changed the match-data (bug#14281). | |
2283 | ||
ecc3c6ed DA |
2284 | 2013-05-21 Dmitry Antipov <dmantipov@yandex.ru> |
2285 | ||
2286 | * xdisp.c (reseat_at_previous_visible_line_start): | |
a0eb10b3 | 2287 | Already declared in dispextern.h, so remove it here. |
ecc3c6ed DA |
2288 | (move_it_vertically_backward): Likewise. |
2289 | ||
5ba8bf35 YM |
2290 | 2013-05-20 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> |
2291 | ||
2292 | * xfns.c (check_x_display_info): Don't use XINT for terminal object. | |
d6635ba2 | 2293 | (Fx_display_pixel_width, Fx_display_pixel_height) |
fc30d803 SM |
2294 | (Fx_display_mm_width, Fx_display_mm_height): |
2295 | Mention `display-monitor-attributes-list' in docstrings. | |
5ba8bf35 | 2296 | |
91e8418b | 2297 | * nsfns.m (ns_get_screen): Remove function. All uses removed. |
a0eb10b3 | 2298 | (check_ns_display_info): Sync with check_x_display_info in xfns.c. |
91e8418b YM |
2299 | (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version) |
2300 | (Fx_display_screens, Fx_display_mm_width, Fx_display_mm_height) | |
2301 | (Fx_display_backing_store, Fx_display_visual_class) | |
2302 | (Fx_display_save_under, Fx_close_connection, Fxw_display_color_p) | |
2303 | (Fx_display_grayscale_p, Fx_display_pixel_width) | |
2304 | (Fx_display_pixel_height, Fx_display_planes) | |
2305 | (Fx_display_color_cells): Sync args and docstrings with xfns.c. | |
2306 | (Fx_display_screens): Don't confuse X11 screens with NS screens. | |
2307 | (Fx_display_mm_width, Fx_display_mm_height) | |
2308 | (Fx_display_pixel_width, Fx_display_pixel_width): Return width or | |
2309 | height for all physical monitors as in X11. | |
2310 | ||
fc30d803 SM |
2311 | * nsterm.m (x_display_pixel_width, x_display_pixel_height): |
2312 | Return pixel width or height for all physical monitors as in X11. | |
91e8418b | 2313 | |
31ff141c PE |
2314 | 2013-05-18 Paul Eggert <eggert@cs.ucla.edu> |
2315 | ||
2316 | Port --enable-gcc-warnings to clang. | |
2317 | * bytecode.c (exec_byte_code): | |
2318 | * regex.c: | |
2319 | Redo diagnostic pragmas to pacify clang, too. | |
2320 | * dbusbind.c (xd_retrieve_arg): Do not use uninitialized variable. | |
2321 | * editfns.c (Fencode_time): | |
2322 | * fileio.c (file_accessible_directory_p): | |
2323 | * font.c (font_unparse_xlfd): | |
2324 | Use '&"string"[index]' instead of '"string" + (index)'. | |
2325 | * undo.c (user_error): Remove; unused. | |
2326 | ||
df065a0b EZ |
2327 | 2013-05-16 Eli Zaretskii <eliz@gnu.org> |
2328 | ||
04d360e7 EZ |
2329 | * insdel.c (insert_1_both): Document the arguments, instead of |
2330 | referring to insert_1, which no longer exists. | |
2331 | ||
5bb98290 EZ |
2332 | * xdisp.c (message_dolog): If the *Messages* buffer is shown in |
2333 | some window, increment windows_or_buffers_changed, so that | |
2334 | *Messages* display in that window is updated. (Bug#14408) | |
2335 | ||
df065a0b EZ |
2336 | * w32.c: Include epaths.h. |
2337 | (init_environment): Use cmdproxy.exe without leading directories. | |
2338 | Support emacs.exe in src; point SHELL to cmdproxy in ../nt in that | |
2339 | case. | |
2340 | (gettimeofday): Adjust signature and return value to Posix | |
2341 | expectations. | |
2342 | ||
2343 | * unexw32.c (open_output_file): Delete the existing emacs.exe | |
2344 | before creating it, to break the hard link to the versioned | |
2345 | executable. | |
2346 | ||
2347 | * Makefile.in (EMACS_MANIFEST, CM_OBJ, TEMACS_POST_LINK) | |
2348 | (ADDSECTION, EMACS_HEAPSIZE, MINGW_TEMACS_POST_LINK) | |
2349 | (FIRSTFILE_OBJ): New variables. | |
2350 | (W32_RES): Rename to EMACSRES. All users changed. | |
2351 | (base_obj): Use $(CM_OBJ). | |
2352 | (ALLOBJS): Use $(FIRSTFILE_OBJ). | |
2353 | (emacs$(EXEEXT)): Depend on $(ADDSECTION). | |
2354 | (temacs$(EXEEXT)): Use $(TEMACS_POST_LINK), and move | |
2355 | $(W32_RES_LINK) before $(LIBES). | |
2356 | (emacs.res): Depend on $(EMACS_MANIFEST). Put emacs.rc in nt. | |
2357 | ||
1aa8d505 SM |
2358 | 2013-05-15 Stefan Monnier <monnier@iro.umontreal.ca> |
2359 | ||
6e911150 SM |
2360 | * makefile.w32-in (DOC): Use just "DOC". |
2361 | ||
2362 | * Makefile.in (bootstrap-clean): DOC-* doesn't exist any more. | |
2363 | ||
1aa8d505 SM |
2364 | * process.c: Export default filters and sentinels to Elisp. |
2365 | (Qinternal_default_process_sentinel, Qinternal_default_process_filter): | |
2366 | New constants. | |
2367 | (pset_filter, pset_sentinel, make_process, Fset_process_filter) | |
2368 | (Fset_process_sentinel, Fformat_network_address): | |
2369 | Default to them instead of nil. | |
2370 | (server_accept_connection): Sentinels can't be nil any more. | |
2371 | (read_and_dispose_of_process_output): New function, extracted from | |
2372 | read_process_output. | |
2373 | (read_process_output): Use it; filters can't be nil. | |
2374 | (Finternal_default_process_filter): New function, extracted from | |
2375 | read_process_output. | |
2376 | (exec_sentinel_unwind): Remove function. | |
2377 | (exec_sentinel): Don't zilch sentinel while running. | |
2378 | (status_notify): Sentinels can't be nil. | |
2379 | (Finternal_default_process_sentinel): New function extracted from | |
2380 | status_notify. | |
2381 | (setup_process_coding_systems): Default filter is not nil any more. | |
2382 | (syms_of_process): Export new Elisp functions and initialize | |
2383 | new constants. | |
2384 | * lisp.h (make_lisp_proc): New function. | |
2385 | ||
5ac2eb34 SM |
2386 | 2013-05-15 Stefan Monnier <monnier@iro.umontreal.ca> |
2387 | ||
2388 | * regex.c (regex_compile) [\=, \>, \<]: Don't forget to set laststart. | |
2389 | ||
eda9c7d7 EZ |
2390 | 2013-05-14 Eli Zaretskii <eliz@gnu.org> |
2391 | ||
2392 | * w32fns.c (w32_wnd_proc): Don't call WINDOW_HEADER_LINE_HEIGHT | |
5ac2eb34 SM |
2393 | unless we know that the window w is a leaf window. |
2394 | Another attempt at solving bug#14062. | |
eda9c7d7 | 2395 | |
8fdeaad5 JD |
2396 | 2013-05-14 Jan Djärv <jan.h.d@swipnet.se> |
2397 | ||
2398 | * nsfont.m (ns_spec_to_descriptor): Retain and autorelease | |
2399 | fdesc (Bug#14375). | |
2400 | ||
44aa9ee6 PE |
2401 | 2013-05-12 Paul Eggert <eggert@cs.ucla.edu> |
2402 | ||
2403 | * image.c (gif_load): Check that subimages fit (Bug#14345). | |
2404 | ||
759fd763 SM |
2405 | 2013-05-09 Stefan Monnier <monnier@iro.umontreal.ca> |
2406 | ||
2407 | * lread.c (skip_dyn_eof): New function. | |
2408 | (read1): Use it to skip the end of a file in response to #@00. | |
2409 | ||
2410 | * doc.c (get_doc_string): Slightly relax the sanity checking. | |
2411 | ||
4465bfb4 JD |
2412 | 2013-05-09 Jan Djärv <jan.h.d@swipnet.se> |
2413 | ||
2414 | * nsfns.m: Include IOGraphicsLib.h if Cocoa. | |
2415 | (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): Declare. | |
2416 | (MonitorInfo): New struct. | |
2417 | (free_monitors, ns_screen_name, ns_make_monitor_attribute_list) | |
2418 | (Fns_display_monitor_attributes_list): New functions. | |
2419 | (display-usable-bounds): Remove. | |
2420 | (syms_of_nsfns): DEFSYM Qgeometry, Qworkarea, Qmm_size, Qframes and | |
2421 | Qsource. | |
2422 | ||
7583e2a0 PE |
2423 | 2013-05-09 Paul Eggert <eggert@cs.ucla.edu> |
2424 | ||
2425 | * xterm.h (GTK_PREREQ): Remove, replacing with GTK_CHECK_VERSION. | |
2426 | (GTK_CHECK_VERSION): New macro, if not already defined. | |
2427 | All uses of GTK_PREREQ, GTK_MAJOR_VERSION, etc. | |
2428 | replaced by GTK_CHECK_VERSION. | |
2429 | ||
ad75d77e PE |
2430 | 2013-05-08 Paul Eggert <eggert@cs.ucla.edu> |
2431 | ||
2432 | * xterm.h (GTK_PREREQ): New macro. | |
2433 | All simple uses of GTK_MAJOR_VERSION and GTK_MINOR_VERSION changed | |
2434 | to use this macro instead, for consistency and clarity. | |
2435 | ||
07525f77 EZ |
2436 | 2013-05-08 Eli Zaretskii <eliz@gnu.org> |
2437 | ||
2438 | * xdisp.c (row_for_charpos_p): New function, with code of | |
2439 | cursor_row_p, but accepts an additional argument CHARPOS instead | |
2440 | of using a hardcoded PT. | |
2441 | (cursor_row_p): Call row_for_charpos_p with 2nd argument PT. | |
2442 | (row_containing_pos): Call row_for_charpos_p instead of partially | |
2443 | doing the same. Fixes cursor positioning under longlines-mode | |
2444 | when longlines-show-effect includes more than one newline, when | |
2445 | moving the cursor vertically up. | |
2446 | ||
d901fc8d JB |
2447 | 2013-05-08 Juanma Barranquero <lekktu@gmail.com> |
2448 | ||
2449 | * makefile.w32-in (ACL_H): New macro. | |
2450 | ($(BLD)/fileio.$(O)): Update dependencies. | |
2451 | ||
f269bc61 PE |
2452 | 2013-05-07 Paul Eggert <eggert@cs.ucla.edu> |
2453 | ||
e7b41c4c | 2454 | Use Gnulib ACL implementation, for benefit of Solaris etc. (Bug#14295) |
ffdc270a PE |
2455 | * Makefile.in (LIB_ACL): New macro. |
2456 | (LIBACL_LIBS): Remove. | |
2457 | (LIBES): Use LIB_ACL, not LIBACL_LIBS. | |
2458 | * fileio.c: Include <acl.h>. | |
2459 | Use HAVE_ACL_SET_FILE rather than HAVE_POSIX_ACL. | |
2460 | (ACL_NOT_WELL_SUPPORTED): Remove. All uses replaced by | |
2461 | !acl_errno_valid. | |
2462 | (Fcopy_file) [!WINDOWSNT]: Use qcopy_acl instead of rolling | |
2463 | it ourselves. | |
2464 | ||
f269bc61 PE |
2465 | * unexelf.c: Don't assume ElfW (Half) fits in int. |
2466 | (entry_address, find_section, unexec): Use ptrdiff_t, not int, | |
2467 | when dealing with ElfW (Half) values, since they can exceed 2**31 | |
2468 | on 64-bit OpenBSD hosts. Problem reported privately by Han Boetes. | |
2469 | (entry_address): Omit unused NUM arg. All uses changed. | |
2470 | ||
a261c53e JL |
2471 | 2013-05-07 Juri Linkov <juri@jurta.org> |
2472 | ||
2473 | * callint.c (Fcall_interactively): Set `visargs[i]' for code 'n' | |
2474 | to the string converted from number with `Fnumber_to_string'. | |
2475 | (Bug#14254) | |
2476 | ||
2b66427d PE |
2477 | 2013-05-07 Paul Eggert <eggert@cs.ucla.edu> |
2478 | ||
2479 | * xfns.c (x_get_net_workarea): Define only if !GTK || GTK<3.4. | |
2480 | This fixes a problem introduced by my previous change. | |
2481 | ||
15acfe41 GM |
2482 | 2013-05-07 Glenn Morris <rgm@gnu.org> |
2483 | ||
2484 | * lread.c (readchar): Don't read from a dead buffer. (Bug#14280) | |
2485 | ||
5ea03bf5 JD |
2486 | 2013-05-07 Jan Djärv <jan.h.d@swipnet.se> |
2487 | ||
2488 | * xfns.c: Move misplaced ifndef USE_GTK from previous checkin. | |
2489 | ||
e0c9d565 PE |
2490 | 2013-05-07 Paul Eggert <eggert@cs.ucla.edu> |
2491 | ||
2492 | Static checking by GCC 4.8.0. | |
2493 | * xfns.c (x_get_net_workarea, struct MonitorInfo, free_monitors) | |
2494 | (x_get_monitor_for_frame, x_make_monitor_attribute_list) | |
2495 | (x_get_monitor_attributes_fallback) | |
2496 | (x_get_monitor_attributes_xinerama) | |
2497 | (x_get_monitor_attributes_xrandr, x_get_monitor_attributes): | |
2498 | Define only if USE_GTK. | |
2499 | (free_monitors): Define only if HAVE_XINERAMA || HAVE_XRANDR. | |
2500 | (x_get_monitor_attributes_fallback): Omit unused locals. | |
2501 | (x_get_monitor_attributes_xinerama, Fx_display_monitor_attributes_list): | |
2502 | Use double, not float, to avoid mixed-mode floating point arithmetic. | |
2503 | ||
4e3f9230 YM |
2504 | 2013-05-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> |
2505 | Jan Djärv <jan.h.d@swipnet.se> | |
2506 | ||
2507 | * Makefile.in (XRANDR_LIBS, XRANDR_CFLAGS, XINERAMA_LIBS) | |
2508 | (XINERAMA_CFLAGS): New macros. | |
2509 | (ALL_CFLAGS, LIBES): Use them. | |
2510 | ||
2511 | * xfns.c: Include <X11/extensions/Xrandr.h> if HAVE_XRANDR, and | |
2512 | include <X11/extensions/Xinerama.h> if HAVE_XINERAMA. | |
2513 | (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): New variables. | |
2514 | (syms_of_xfns): DEFSYM them. | |
2515 | (struct MonitorInfo): New struct. | |
2516 | (x_get_net_workarea, free_monitors, x_get_monitor_for_frame) | |
2517 | (x_make_monitor_attribute_list, x_get_monitor_attributes_fallback) | |
2518 | (x_get_monitor_attributes_xrandr, x_get_monitor_attributes) | |
2519 | (x_get_monitor_attributes_xinerama): New functions. | |
2520 | (Fx_display_monitor_attributes_list): New primitive. | |
2521 | (syms_of_xfns): Defsubr it. | |
2522 | ||
2523 | * xterm.h (x_display_info): Add Xatom_net_workarea and | |
2524 | Xatom_net_current_desktop. | |
2525 | ||
2526 | * xterm.c (x_term_init): Initialize dpyinfo->Xatom_net_workarea | |
2527 | and dpyinfo->Xatom_net_current_desktop. | |
2528 | ||
05839b6a EZ |
2529 | 2013-05-06 Eli Zaretskii <eliz@gnu.org> |
2530 | ||
2531 | * xdisp.c (pos_visible_p): Use the special code for finding the | |
2532 | beginning of a display property or overlay for any "replacing" | |
2533 | display property, not just for display strings. This solves | |
2534 | incorrect reporting of position by posn-at-point. (Bug#14241) | |
2535 | ||
dc4a2ee0 PE |
2536 | 2013-05-06 Paul Eggert <eggert@cs.ucla.edu> |
2537 | ||
5ee94506 PE |
2538 | * unexelf.c: Fix some 32-bit integer problems, notably when debugging. |
2539 | Include <limits.h>, <stdbool.h>, <intprops.h>, <verify.h>. | |
2540 | Verify that ElfW (Half) fits in int. | |
2541 | (fatal): Use same signature as lisp.h. | |
2542 | (UNEXELF_DEBUG): New macro, replacing DEBUG, so that people can | |
2543 | configure and build with -DUNEXELF_DEBUG without worrying about | |
2544 | other modules that use DEBUG. | |
2545 | (DEBUG_LOG) [UNEXELF_DEBUG]: New macro. All debug code that prints | |
2546 | possibly-wide integers now uses it instead of plain fprintf. | |
2547 | (entry_address): New function, which avoids problems with 32-bit | |
2548 | overflow on 64-bit hosts. | |
2549 | (OLD_SECTION_H, NEW_SECTION_H, NEW_PROGRAM_H): Use it. | |
2550 | (round_up): Don't assume the remainder fits in int. | |
2551 | (find_section): Use bool for boolean. Simplify debug code. | |
2552 | (unexec): Don't assume file sizes fit in int or size_t. | |
2553 | Omit unnecessary trailing newline in 'fatal' format. | |
2554 | Use strerror rather than outputting decimal error number. | |
2555 | Remove unused code when emacs is not defined; | |
2556 | this file relies on Emacs now. | |
2557 | Don't assume e_phnum and e_shnum are positive. | |
2558 | ||
dc4a2ee0 PE |
2559 | * regex.c: Fix problems when DEBUG is defined. |
2560 | (extract_number, extract_number_and_incr): Define regardless of | |
2561 | whether DEBUG is defined; that's simpler and makes the code less | |
2562 | likely to go stale in the normal case when DEBUG is not defined. | |
2563 | Return int rather than taking an int * arg. All callers changed. | |
2564 | (DEBUG_PRINT1, DEBUG_PRINT2, DEBUG_PRINT3, DEBUG_PRINT4): | |
2565 | Remove, replacing with ... | |
2566 | (DEBUG_PRINT): New macro. All callers changed. | |
2567 | (DEBUG_COMPILES_ARGUMENTS): New macro. | |
2568 | (print_fastmap, print_partial_compiled_pattern) [DEBUG]: | |
2569 | (print_compiled_pattern, print_double_string) [DEBUG]: | |
2570 | Use prototype rather than old-style definition. | |
2571 | (print_partial_compiled_pattern, print_compiled_pattern) [DEBUG]: | |
2572 | (ENSURE_FAIL_STACK, PUSH_FAILURE_REG) [DEBUG]: | |
2573 | (POP_FAILURE_REG_OR_COUNT, PUSH_FAILURE_POINT) [DEBUG]: | |
2574 | (POP_FAILURE_POINT, re_match_2_internal) [DEBUG]: | |
2575 | Don't assume ptrdiff_t, size_t, and long are the same width as int. | |
2576 | (POINTER_TO_OFFSET): Return ptrdiff_t, not regoff_t. | |
2577 | This matters only when DEBUG is defined. | |
2578 | ||
14c7ed05 EZ |
2579 | 2013-05-05 Eli Zaretskii <eliz@gnu.org> |
2580 | ||
2581 | * xdisp.c (set_iterator_to_next): Set the | |
2582 | ignore_overlay_strings_at_pos_p flag only if we are _really_ | |
2583 | iterating over an overlay string, as indicated by the | |
2584 | current.overlay_string_index member. (Bug#14306) | |
2585 | ||
e6076b1b JD |
2586 | 2013-05-05 Jan Djärv <jan.h.d@swipnet.se> |
2587 | ||
2588 | * nsmenu.m (ns_update_menubar): Move initialization of submenuTitle | |
2589 | to where it is used, to avoid autorelease issues (Bug#14050). | |
2590 | ||
cbee2131 PE |
2591 | 2013-05-05 Paul Eggert <eggert@cs.ucla.edu> |
2592 | ||
2593 | `write-region-inhibit-fsync' defaults to noninteractive (Bug#14273). | |
2594 | * fileio.c (syms_of_fileio): Implement this. | |
2595 | * filelock.c (create_lock_file): If symbolic links don't work, so | |
2596 | we use a regular file as a lock file, do not fsync the lock file; | |
2597 | it's not needed. | |
2598 | ||
30c7e542 SM |
2599 | 2013-05-04 Stefan Monnier <monnier@iro.umontreal.ca> |
2600 | ||
2601 | * minibuf.c (Fread_minibuffer, Feval_minibuffer): Move to Elisp. | |
2602 | (syms_of_minibuf): Adjust accodingly. | |
2603 | * lread.c (Fread): | |
2604 | * callint.c (Fcall_interactively): Adjust calls accordingly. | |
2605 | ||
5bebd186 EZ |
2606 | 2013-05-04 Eli Zaretskii <eliz@gnu.org> |
2607 | ||
2608 | * dispextern.h (WINDOW_WANTS_HEADER_LINE_P): Verify that | |
30c7e542 SM |
2609 | w->contents is a buffer before computing everything else. |
2610 | Use parentheses to disambiguate last part of the condition. | |
5bebd186 EZ |
2611 | |
2612 | * w32fns.c (w32_wnd_proc): Remove temporary code used to trap | |
2613 | assertion violations. (Bug#14062) | |
2614 | ||
0fb0a4f3 DR |
2615 | 2013-05-01 David Reitter <david.reitter@gmail.com> |
2616 | ||
2617 | * nsfns.m (ns_tooltip): Initialize. | |
2618 | ||
9e63b4a5 EZ |
2619 | 2013-04-28 Eli Zaretskii <eliz@gnu.org> |
2620 | ||
2621 | * coding.c (decode_coding_gap): Don't remove the character before | |
2622 | a newline unless it's a CR character. (Bug#14287) | |
2623 | ||
ad60824e DN |
2624 | 2013-04-28 Dan Nicolaescu <dann@gnu.org> |
2625 | ||
2626 | * dispextern.h (struct face): Move enum face_underline_type | |
2627 | earlier so that bitfields can be in the same word. | |
2628 | ||
edbdcec0 JD |
2629 | 2013-04-28 Jan Djärv <jan.h.d@swipnet.se> |
2630 | ||
2631 | * nsfns.m (handlePanelKeys): New function. | |
2632 | (EmacsOpenPanel:performKeyEquivalent:) | |
2633 | (EmacsSavePanel:performKeyEquivalent:): Call handlePanelKeys to handle | |
2634 | arrows/function/control and copy/paste keys (Bug#14296). | |
2635 | ||
0208ede7 JL |
2636 | 2013-04-27 Juri Linkov <juri@jurta.org> |
2637 | ||
2638 | * callint.c (Fcall_interactively): Call `Qread_number' for | |
2639 | interactive code letter `n' instead of using duplicate code. | |
2640 | (Bug#14254) | |
2641 | ||
b8dd59f7 PE |
2642 | 2013-04-27 Paul Eggert <eggert@cs.ucla.edu> |
2643 | ||
2644 | * systime.h (make_timeval): Declare as 'const'. | |
2645 | ||
8bd722db KH |
2646 | 2013-04-27 Kenichi Handa <handa@gnu.org> |
2647 | ||
2648 | * font.c (font_open_entity): Always open a font of manageable | |
2649 | size. | |
2650 | ||
13d0e56f | 2651 | 2013-04-26 Paul Eggert <eggert@cs.ucla.edu> |
cbee2131 | 2652 | |
f780d632 PE |
2653 | Port better to AIX (Bug#14258). |
2654 | * lisp.h (ENUM_BF) [__IBMC__]: Make it 'unsigned int' here, too, | |
2655 | to pacify AIX xlc. | |
2656 | ||
ec509856 KH |
2657 | 2013-04-24 Kenichi Handa <handa@gnu.org> |
2658 | ||
2659 | * coding.c (decode_coding_iso_2022): When an invalid escape | |
2660 | sequence is encountered, reset the invocation and designation | |
2661 | status to the safest one. | |
2662 | ||
84fc48e5 PE |
2663 | 2013-04-22 Paul Eggert <eggert@cs.ucla.edu> |
2664 | ||
2665 | * Makefile.in (bootstrap-clean): Remove stamp-h1 too. | |
2666 | Without this fix, "make distclean" leaves stamp-h1 behind. | |
2667 | ||
806bda47 EC |
2668 | 2013-04-20 Erik Charlebois <erikcharlebois@gmail.com> |
2669 | ||
2670 | * w32fns.c (w32_fullscreen_rect): New function to compute the | |
2671 | window rectangle for the given fullscreen mode. | |
2672 | (w32_wnd_proc): When in a fullscreen mode, WM_WINDOWPOSCHANGING no | |
2673 | longer tunes the window size. This keeps the window's edges flush | |
2674 | with the screen and allows the taskbar to hide itself in fullboth. | |
2675 | ||
2676 | * w32term.c (w32fullscreen_hook): 'fullboth' now shows without | |
2677 | window decorations and uses the entire screen. | |
2678 | ||
2679 | * w32term.h (w32_fullscreen_rect) Add prototype. | |
2680 | (struct w32_output): Replace normal_width, normal_height, | |
2681 | normal_top, and normal_left members with a single normal_placement | |
2682 | struct. | |
2683 | (FRAME_NORMAL_WIDTH, FRAME_NORMAL_HEIGHT, FRAME_NORMAL_TOP): | |
2684 | Remove macros. | |
2685 | (FRAME_NORMAL_PLACEMENT): New macro. | |
2686 | ||
9cc2810b JB |
2687 | 2013-04-16 Juanma Barranquero <lekktu@gmail.com> |
2688 | ||
2689 | * minibuf.c (Ftest_completion): Silence compiler warning. | |
2690 | ||
fd16b54c EZ |
2691 | 2013-04-15 Eli Zaretskii <eliz@gnu.org> |
2692 | ||
2693 | * w32fns.c (w32_wnd_proc): Add more assertions to investigate | |
5fbcd237 | 2694 | bug#14062. |
fd16b54c EZ |
2695 | |
2696 | * frame.h (WINDOW_FRAME): Protect macro and its argument with | |
2697 | parentheses. | |
2698 | ||
2699 | * dispextern.h (CURRENT_MODE_LINE_HEIGHT) | |
2700 | (CURRENT_HEADER_LINE_HEIGHT, WINDOW_WANTS_MODELINE_P) | |
2701 | (WINDOW_WANTS_HEADER_LINE_P): Protect macro arguments with | |
2702 | parentheses where appropriate. | |
2703 | ||
9e3379a0 PE |
2704 | 2013-04-14 Paul Eggert <eggert@cs.ucla.edu> |
2705 | ||
2706 | * keyboard.c (timer_start_idle): Remove no-longer-used local. | |
2707 | ||
ddd6b685 EZ |
2708 | 2013-04-14 Eli Zaretskii <eliz@gnu.org> |
2709 | ||
2710 | * buffer.c (syms_of_buffer) <left-margin-width, right-margin-width> | |
2711 | <left-fringe-width, right-fringe-width, fringes-outside-margins>: | |
2712 | Mention in the doc string that setting these variables takes | |
2713 | effect only after a call to set-window-buffer. (Bug#14200) | |
2714 | ||
29b79ba1 EZ |
2715 | 2013-04-13 Eli Zaretskii <eliz@gnu.org> |
2716 | ||
2717 | * indent.c (Fvertical_motion): Don't consider display strings on | |
2718 | overlay strings as display strings on the buffer position we | |
2719 | started from. This prevents vertical cursor motion from jumping | |
2720 | more than one line when there's an overlay string with a display | |
2721 | property at end of line. | |
2722 | Reported by Karl Chen <Karl.Chen@quarl.org> in | |
2723 | http://lists.gnu.org/archive/html/emacs-devel/2013-04/msg00362.html. | |
2724 | ||
562c6ee9 SM |
2725 | 2013-04-12 Stefan Monnier <monnier@iro.umontreal.ca> |
2726 | ||
2727 | * window.c (select_window): `record_buffer' even if window is | |
2728 | already selected (bug#14191). | |
2729 | ||
fcc1fe85 EZ |
2730 | 2013-04-11 Eli Zaretskii <eliz@gnu.org> |
2731 | ||
2732 | * window.c (Fwindow_end): Test more flags, including the buffer's | |
2733 | last_overlay_modified flag, to determine whether the window's | |
2734 | display is really up-to-date. Prevents the function from | |
2735 | returning a stale value. (Bug#14170) | |
2736 | (Fwindow_line_height): Fix the test for up-to-date-ness of the | |
2737 | current matrix. | |
2738 | ||
f009190a EZ |
2739 | 2013-04-10 Eli Zaretskii <eliz@gnu.org> |
2740 | ||
2741 | * frame.c (do_switch_frame): Mark the TTY frame we switch to as | |
562c6ee9 SM |
2742 | garbaged only if it is not already the top frame on its TTY. |
2743 | This prevents flickering due to constant redrawing of TTY frames when | |
f009190a EZ |
2744 | there are GUI frames open in the same session. (Bug#13864) |
2745 | ||
78ce603d SM |
2746 | 2013-04-10 Stefan Monnier <monnier@iro.umontreal.ca> |
2747 | ||
2748 | * keyboard.c (timer_start_idle): Call internal-timer-start-idle instead | |
2749 | of marking the idle timers directly. | |
2750 | ||
a8036e40 SM |
2751 | 2013-04-09 Stefan Monnier <monnier@iro.umontreal.ca> |
2752 | ||
2753 | * minibuf.c (Ftest_completion): Ignore non-string/symbol keys in hash | |
2754 | tables (bug#14054). | |
2755 | ||
7ffe7ef6 SM |
2756 | 2013-04-08 Stefan Monnier <monnier@iro.umontreal.ca> |
2757 | ||
2758 | * window.c (select_window): Don't record_buffer while the invariant is | |
2759 | temporarily broken (bug#14161). | |
2760 | ||
2761 | * fns.c (Fdelq): Don't assume !NILP => CONSP. | |
2762 | ||
7d9f6883 EZ |
2763 | 2013-04-07 Eli Zaretskii <eliz@gnu.org> |
2764 | ||
2765 | * fileio.c (ACL_NOT_WELL_SUPPORTED): Define macro for WINDOWSNT. | |
2766 | ||
5406cfd9 RF |
2767 | 2013-04-07 Romain Francoise <romain@orebokech.com> |
2768 | ||
2769 | Ignore additional platform-specific ACL errors (Bug#13702). | |
2770 | * fileio.c (ACL_NOT_WELL_SUPPORTED): New macro copied from gnulib. | |
2771 | (Fcopy_file, Fset_file_acl) [HAVE_POSIX_ACL]: Use it. | |
2772 | ||
95c0e83b JD |
2773 | 2013-03-31 Jan Djärv <jan.h.d@swipnet.se> |
2774 | ||
2775 | * nsterm.m (ns_mouse_position): Use NS_FRAME_P instead of checking | |
2776 | f->output_data.ns. | |
2777 | ||
876da980 PE |
2778 | 2013-04-07 Paul Eggert <eggert@cs.ucla.edu> |
2779 | ||
2780 | Fix --enable-profiling bug introduced by 2013-02-25 change (Bug#13783). | |
2781 | This bug was introduced by my 2013-02-25 change that simplified | |
2782 | data_start configuration. Without this change, on GNU/Linux | |
2783 | an Emacs configured with --enable-profiling fails immediately | |
2784 | due to a profiler signal. | |
2785 | * Makefile.in: Compile with $(PROFILING_CFLAGS), but do not link | |
2786 | with these flags. On platforms where special flags are needed | |
2787 | when linking temacs, the flags are now in LD_SWITCH_SYSTEM_TEMACS. | |
2788 | (ALL_CFLAGS): Remove $(PROFILING_CFLAGS). | |
2789 | (.c.o, .m.o): Compile with $(PROFILING_CFLAGS). | |
2790 | ||
7452b7bd DA |
2791 | 2013-04-07 Dmitry Antipov <dmantipov@yandex.ru> |
2792 | ||
2793 | Get rid of some platform-specific functions examining window | |
2794 | system and its capabilities. This is a partial rework of the | |
2795 | 2013-04-05 change. | |
2796 | * lisp.h (have_menus_p): Remove prototype. This function is | |
2797 | replaced with platform-independent window_system_available. | |
2798 | (check_window_system): Move to... | |
2799 | * frame.h (decode_window_system_frame, window_system_available): | |
2800 | ...here, add new prototypes. | |
2801 | * frame.c (window_system_available, decode_window_system_frame): | |
2802 | New functions. | |
2803 | (check_window_system): Platform-independent now. | |
2804 | * xterm.h (x_in_use): Remove declaration. | |
2805 | (check_x_frame): | |
2806 | * w32term.h (check_x_frame): | |
2807 | * nsterm.h (check_x_frame): Remove prototypes. This function | |
2808 | is replaced with platform-independent decode_window_system_frame. | |
2809 | * msdos.c (have_menus_p): Remove. | |
2810 | * nsfns.m (check_window_system, have_menus_p, check_ns_frame): | |
2811 | Remove platform-specific functions. Use check_window_system, | |
2812 | decode_window_system_frame and check_ns_display_info where | |
2813 | appropriate. Minor style and comment tweaks. | |
2814 | * w32fns.c (w32_in_use, check_window_system, have_menus_p) | |
2815 | (check_x_frame): Likewise. | |
2816 | * xfns.c (x_in_use, check_window_system, have_menus_p, check_x_frame): | |
2817 | Likewise. | |
2818 | * fileio.c, fns.c, font.c, fontset.c, image.c, menu.c, nsmenu.m: | |
2819 | * nsselect.m, nsterm.m, w32font.c, w32menu.c, xfaces.c, xgselect.c: | |
2820 | * xmenu.c, xselect.c: All related users changed. | |
2821 | ||
251e9147 KH |
2822 | 2013-04-03 Kenichi Handa <handa@gnu.org> |
2823 | ||
2824 | The following changes is to optimize the code for reading UTF-8 | |
2825 | files. | |
2826 | ||
562c6ee9 | 2827 | * coding.c (check_ascii): Rename from detect_ascii. Return value |
251e9147 KH |
2828 | changed. Check EOL format. Do not call adjust_coding_eol_type |
2829 | here. | |
2830 | (check_utf_8): New function. | |
2831 | (adjust_coding_eol_type): Do nothing if already adjusted. | |
2832 | (detect_coding): Compare the return value of check_ascii with | |
2833 | coding->src_bytes. Call adjust_coding_eol_type if necessary. | |
2834 | (decode_coding_gap): Optimize for valid UTF-8. | |
2835 | ||
8bc369d4 KH |
2836 | 2013-03-21 Kenichi Handa <handa@gnu.org> |
2837 | ||
2838 | * coding.c (syms_of_coding): Cancel previous change. | |
2839 | ||
2840 | * insdel.c (insert_from_gap): Fix previous change. | |
2841 | ||
73931ad1 DA |
2842 | 2013-04-05 Dmitry Antipov <dmantipov@yandex.ru> |
2843 | ||
2844 | Consistently use platform-specific function to detect window system. | |
2845 | * lisp.h (check_window_system): New prototype. This function is | |
2846 | going to replace check_x, check_w32 and check_ns. | |
2847 | (have_menus_p): Mention msdos.c in comment. | |
2848 | * fontset.c (check_window_system_func): Remove. Adjust all users. | |
2849 | * fontset.h (check_window_system_func): Remove prototype. | |
2850 | * nsterm.h (check_ns): | |
2851 | * xterm.h (check_x): | |
2852 | * w32term.h (check_w32): Likewise. | |
2853 | * menu.c (Fx_popup_menu): Use check_window_system. | |
2854 | * msdos.c (check_window_system): Define for MS-DOS. | |
2855 | * nsfns.m (check_window_system): Define for NS. Adjust all users. | |
2856 | * w32fns.c (check_window_system): Likewise for MS-Windows. | |
2857 | * xfns.c (check_window_system): Likewise for X. | |
2858 | * font.c, frame.c, nsmenu.m, nsselect.m, nsterm.m, w32menu.c: | |
2859 | * xfaces.c, xmenu.c: Use check_window_system where appropriate. | |
2860 | ||
7216e43b PE |
2861 | 2013-04-02 Paul Eggert <eggert@cs.ucla.edu> |
2862 | ||
2863 | Prefer < to > in range checks such as 0 <= i && i < N. | |
2864 | This makes it easier to visualize quantities on a number line. | |
2865 | This patch doesn't apply to all such range checks, | |
2866 | only to the range checks affected by the 2013-03-24 change. | |
2867 | This patch reverts most of the 2013-03-24 change. | |
2868 | * alloc.c (xpalloc, Fgarbage_collect): | |
2869 | * ccl.c (ccl_driver, resolve_symbol_ccl_program): | |
2870 | * character.c (string_escape_byte8): | |
2871 | * charset.c (read_hex): | |
2872 | * data.c (cons_to_unsigned): | |
2873 | * dispnew.c (update_frame_1): | |
2874 | * doc.c (Fsubstitute_command_keys): | |
2875 | * doprnt.c (doprnt): | |
2876 | * editfns.c (hi_time, decode_time_components): | |
2877 | * fileio.c (file_offset): | |
2878 | * fns.c (larger_vector, make_hash_table, Fmake_hash_table): | |
2879 | * font.c (font_intern_prop): | |
2880 | * frame.c (x_set_alpha): | |
2881 | * gtkutil.c (get_utf8_string): | |
2882 | * indent.c (check_display_width): | |
2883 | * keymap.c (Fkey_description): | |
2884 | * lisp.h (FIXNUM_OVERFLOW_P, vcopy): | |
2885 | * lread.c (read1): | |
2886 | * minibuf.c (read_minibuf_noninteractive): | |
2887 | * process.c (wait_reading_process_output): | |
2888 | * search.c (Freplace_match): | |
2889 | * window.c (get_phys_cursor_glyph): | |
2890 | * xdisp.c (redisplay_internal): | |
2891 | * xsmfns.c (smc_save_yourself_CB): | |
2892 | Prefer < to > for range checks. | |
2893 | * dispnew.c (sit_for): Don't mishandle NaNs. | |
2894 | This fixes a bug introduced in the 2013-03-24 change. | |
2895 | * editfns.c (decode_time_components): Don't hoist comparison. | |
2896 | This fixes another bug introduced in the 2013-03-24 change. | |
2897 | ||
92759988 DA |
2898 | 2013-03-31 Dmitry Antipov <dmantipov@yandex.ru> |
2899 | ||
2900 | * frame.h (struct frame): Drop scroll_bottom_vpos | |
2901 | member becaue all real users are dead long ago. | |
2902 | (FRAME_SCROLL_BOTTOM_VPOS): Remove. | |
2903 | * xdisp.c (redisplay_internal): Adjust user. | |
2904 | ||
9a1971bb GM |
2905 | 2013-03-30 Darren Ho <darren.hoo@gmail.com> (tiny change) |
2906 | ||
f38ab167 JD |
2907 | * nsmenu.m (showAtX:Y:for:): setLevel to |
2908 | NSPopUpMenuWindowLevel (Bug#13998). | |
2909 | ||
6d01f1fe JD |
2910 | 2013-03-30 Jan Djärv <jan.h.d@swipnet.se> |
2911 | ||
2912 | * nsterm.h (ns_get_pending_menu_title, ns_check_menu_open) | |
2913 | (ns_check_pending_open_menu): Declare. | |
2914 | ||
2915 | * nsmenu.m (ns_update_menubar): Correct NSTRACE. | |
2916 | (x_activate_menubar): Update the menu with title that matches | |
2917 | ns_get_pending_menu_title, and call | |
2918 | ns_check_pending_openmenu (Bug#12698). | |
2919 | (menuWillOpen:): New method. | |
2920 | (menuNeedsUpdate:): Add check for ! COCOA || OSX < 10.5 (Bug#12698). | |
2921 | ||
2922 | * nsterm.m (menu_will_open_state, menu_mouse_point) | |
2923 | (menu_pending_title): New varaibles. | |
2924 | (ns_get_pending_menu_title, ns_check_menu_open) | |
2925 | (ns_check_pending_open_menu): New functions. | |
2926 | ||
781f4782 DA |
2927 | 2013-03-29 Dmitry Antipov <dmantipov@yandex.ru> |
2928 | ||
2929 | * indent.c (current_column_bol_cache): Remove leftover which is not | |
2930 | used in Fmove_to_column any more. | |
2931 | (current_column, scan_for_column): Adjust users. | |
2932 | * keyboard.c (last_point_position_buffer, last_point_position_window): | |
2933 | Remove leftovers which are not used for recording undo any more. | |
2934 | (command_loop_1, syms_of_keyboard): Adjust users. | |
2935 | * xdisp.c (last_max_ascent): Remove leftover which is not used in | |
2936 | redisplay_window any more. | |
2937 | (move_it_to): Adjust user. | |
2938 | ||
1921c31b JB |
2939 | 2013-03-29 Juanma Barranquero <lekktu@gmail.com> |
2940 | ||
2941 | * makefile.w32-in ($(BLD)/filelock.$(O), $(BLD)/filelock.$(O)): | |
2942 | Update dependencies. | |
2943 | ||
717b8bcd SM |
2944 | 2013-03-28 Stefan Monnier <monnier@iro.umontreal.ca> |
2945 | ||
2946 | * lisp.h (save_type, XSAVE_POINTER, set_save_pointer, XSAVE_INTEGER) | |
2947 | (set_save_integer, XSAVE_OBJECT, XSAVE_VALUE): Move to avoid | |
2948 | forward references. | |
2949 | ||
e74aeda8 DA |
2950 | 2013-03-28 Dmitry Antipov <dmantipov@yandex.ru> |
2951 | ||
2952 | * window.h (struct window): Replace hchild, vchild and buffer slots | |
2953 | with the only contents slot. This is possible because each valid | |
2954 | window may have either the child window (in vertical or horizontal | |
2955 | combination) or buffer to display (for the leaf window). Using that, | |
2956 | a lof of operations to traverse and/or change window hierarchies may | |
2957 | be simplified. New member horizontal is used to distinguish between | |
2958 | horizontal and vertical combinations of internal windows. | |
2959 | (WINDOW_LEAF_P, WINDOW_HORIZONTAL_COMBINATION_P) | |
2960 | (WINDOW_VERTICAL_COMBINATION_P): New macros. | |
2961 | (WINDOW_VALID_P, WINDOW_LIVE_P): Adjust to match struct window changes. | |
2962 | * window.c (wset_hchild, wset_vchild): Remove. Adjust all users. | |
2963 | Use contents slot, not buffer, where appropriate. | |
2964 | (wset_combination): New function. | |
2965 | (wset_buffer): Add eassert. | |
2966 | (Fframe_first_window): Simplify the loop reaching first window. | |
2967 | (Fwindow_buffer): Use WINDOW_LEAF_P. | |
2968 | (Fwindow_top_child): Use WINDOW_VERTICAL_COMBINATION_P. | |
2969 | (Fwindow_left_child): Use WINDOW_HORIZONTAL_COMBINATION_P. | |
2970 | (unshow_buffer): Convert initial debugging check to eassert. | |
2971 | (replace_window, recombine_windows, Fdelete_other_windows_internal) | |
2972 | (make_parent_window, window_resize_check, window_resize_apply) | |
2973 | (resize_frame_windows, Fsplit_window_internal, Fdelete_window_internal) | |
2974 | (Fset_window_configuration, delete_all_child_windows, save_window_save): | |
2975 | Adjust to match struct window changes. | |
2976 | (window_loop): Check for broken markers in CHECK_ALL_WINDOWS. | |
2977 | (mark_window_cursors_off, count_windows, get_leaf_windows) | |
2978 | (foreach_window_1): Simplify the loop. | |
2979 | * alloc.c (mark_object): Do not check for the leaf window because | |
2980 | internal windows has no glyph matrices anyway. | |
2981 | * dispnew.c (clear_window_matrices, showing_window_margins_p) | |
2982 | (allocate_matrices_for_window_redisplay, fake_current_matrices) | |
2983 | (allocate_matrices_for_frame_redisplay, free_window_matrices) | |
2984 | (build_frame_matrix_from_window_tree, mirror_make_current) | |
2985 | (frame_row_to_window, mirror_line_dance, check_window_matrix_pointers) | |
2986 | (update_window_tree, set_window_update_flags): Simplify the loop. | |
2987 | (sync_window_with_frame_matrix_rows): Enforce live window. | |
2988 | Use contents slot, not buffer, where appropriate. | |
2989 | * frame.c (set_menu_bar_lines_1): Use WINDOW_VERTICAL_COMBINATION_P | |
2990 | and WINDOW_HORIZONTAL_COMBINATION_P. | |
2991 | (make_frame_visible_1): Simplify the loop. | |
2992 | Use contents slot, not buffer, where appropriate. | |
2993 | * xdisp.c (hscroll_window_tree, mark_window_display_accurate) | |
2994 | (redisplay_windows, redisplay_mode_lines, update_cursor_in_window_tree) | |
2995 | (expose_window_tree): Likewise. | |
2996 | Use contents slot, not buffer, where appropriate. | |
2997 | * textprop.c (get_char_property_and_overlay): Add CHECK_LIVE_WINDOW | |
2998 | to avoid deleted windows. Use contents slot instead of buffer. | |
2999 | * buffer.c, dispextern.h, editfns.c, fileio.c, font.c, fringe.c: | |
3000 | * indent.c, insdel.c, keyboard.c, keymap.c, minibuf.c, msdos.c: | |
3001 | * nsfns.m, nsmenu.m, nsterm.m, print.c, w32fns.c, w32menu.c, xfaces.c: | |
3002 | * xfns.c, xmenu.c: Use contents slot, not buffer, where appropriate. | |
3003 | ||
121ab1cd EZ |
3004 | 2013-03-28 Eli Zaretskii <eliz@gnu.org> |
3005 | ||
ef454cf7 EZ |
3006 | * w32fns.c (w32_wnd_proc) [ENABLE_CHECKING]: Add code to help |
3007 | identify the reasons for assertion violations in bug#14062 and | |
3008 | similar ones. | |
21e930f8 EZ |
3009 | (Fx_show_tip): Fix compilation error under |
3010 | "--enable-check-lisp-object-type". (Bug#14073) | |
ef454cf7 | 3011 | |
121ab1cd EZ |
3012 | * image.c (g_error_free) [WINDOWSNT]: Add DEF_IMGLIB_FN. |
3013 | Reported by <rzl24ozi@gmail.com>. | |
3014 | ||
5c89ca24 DA |
3015 | 2013-03-28 Dmitry Antipov <dmantipov@yandex.ru> |
3016 | ||
3017 | * xdisp.c (with_echo_area_buffer_unwind_data): Save window | |
3018 | start marker... | |
562c6ee9 SM |
3019 | (unwind_with_echo_area_buffer): ...to restore it here. |
3020 | This is needed to ensure that... | |
5c89ca24 DA |
3021 | (redisplay_window): ...both window markers are valid here, |
3022 | which is verified by eassert. | |
3023 | * editfns.c (save_excursion_save): Do not assume that | |
3024 | selected_window always displays the buffer. | |
c7f53895 DA |
3025 | * buffer.c (Fbuffer_swap_text): Adjust window start markers. |
3026 | Fix comment. | |
5c89ca24 | 3027 | |
f557c1b1 SM |
3028 | 2013-03-27 Stefan Monnier <monnier@iro.umontreal.ca> |
3029 | ||
3030 | * casetab.c (init_casetab_once): Don't abuse the ascii eqv table for | |
3031 | the upcase table. | |
3032 | ||
40693bba | 3033 | 2013-03-27 rzl24ozi <rzl24ozi@gmail.com> (tiny changes) |
3034 | ||
3035 | * image.c [WINDOWSNT]: Fix calls to DEF_IMGLIB_FN for SVG function. | |
3036 | ||
c86f791f EZ |
3037 | 2013-03-27 Eli Zaretskii <eliz@gnu.org> |
3038 | ||
3039 | * w32proc.c (IsValidLocale) [__GNUC__]: Don't declare prototype, | |
3040 | since MinGW's w32api headers do. This avoids compiler warnings. | |
3041 | ||
3042 | * w32.c (FSCTL_GET_REPARSE_POINT) [_MSC_VER || _W64]: Don't define | |
3043 | if already defined. | |
3044 | ||
c6e72e17 EZ |
3045 | 2013-03-26 Eli Zaretskii <eliz@gnu.org> |
3046 | ||
3047 | * w32.c (_REPARSE_DATA_BUFFER): Condition by _MSVC and _W64. | |
3048 | ||
54e95010 JD |
3049 | 2013-03-26 Jan Djärv <jan.h.d@swipnet.se> |
3050 | ||
3051 | * gtkutil.c (style_changed_cb): Check if frame is live and an | |
3052 | X frame (Bug#14038). | |
3053 | ||
b88b62de EZ |
3054 | 2013-03-26 Eli Zaretskii <eliz@gnu.org> |
3055 | ||
a18d7de6 EZ |
3056 | * w32.c (_PROCESS_MEMORY_COUNTERS_EX) [_WIN32_WINNT < 0x0500]: |
3057 | Define only for _WIN32_WINNT less than 0x0500. | |
da9dcbb8 EZ |
3058 | (_ANONYMOUS_UNION, _ANONYMOUS_STRUCT) [!_W64]: Don't define for |
3059 | MinGW64. | |
8f5e14c8 EZ |
3060 | Move inclusion of time.h before sys/time.h, so that MinGW64 could |
3061 | see its own definitions of 'struct timeval' and 'struct timezone'. | |
a18d7de6 | 3062 | |
b88b62de EZ |
3063 | Fix incompatibilities between MinGW.org and MinGW64 headers. |
3064 | * w32term.c (WCRANGE, GLYPHSET): Don't define if _W64 is defined. | |
3065 | ||
3066 | * w32.c (REPARSE_DATA_BUFFER): Guard with | |
3067 | MAXIMUM_REPARSE_DATA_BUFFER_SIZE being defined. | |
3068 | ||
c074e458 JD |
3069 | 2013-03-25 Jan Djärv <jan.h.d@swipnet.se> |
3070 | ||
3071 | * xterm.c: Include X11/XKBlib.h | |
3072 | (XTring_bell): Use XkbBell if HAVE_XKB (Bug#14041). | |
3073 | ||
908589fd AS |
3074 | 2013-03-24 Andreas Schwab <schwab@linux-m68k.org> |
3075 | ||
3076 | * alloc.c (xpalloc, Fgarbage_collect): Reorder conditions that are | |
3077 | written backwards. | |
3078 | * blockinput.h (input_blocked_p): Likewise. | |
3079 | * bytecode.c (exec_byte_code): Likewise. | |
3080 | * callproc.c (call_process_kill, call_process_cleanup) | |
3081 | (Fcall_process): Likewise. | |
3082 | * ccl.c (ccl_driver, resolve_symbol_ccl_program) | |
3083 | (Fccl_execute_on_string): Likewise. | |
3084 | * character.c (string_escape_byte8): Likewise. | |
3085 | * charset.c (read_hex): Likewise. | |
3086 | * cm.c (calccost): Likewise. | |
3087 | * data.c (cons_to_unsigned): Likewise. | |
3088 | * dired.c (directory_files_internal, file_name_completion): | |
3089 | Likewise. | |
3090 | * dispnew.c (scrolling_window, update_frame_1, Fsleep_for) | |
3091 | (sit_for): Likewise. | |
3092 | * doc.c (Fsubstitute_command_keys): Likewise. | |
3093 | * doprnt.c (doprnt): Likewise. | |
3094 | * editfns.c (hi_time, decode_time_components, Fformat): Likewise. | |
3095 | * emacsgtkfixed.c: Likewise. | |
3096 | * fileio.c (file_offset, Fwrite_region): Likewise. | |
3097 | * floatfns.c (Fexpt, fmod_float): Likewise. | |
3098 | * fns.c (larger_vector, make_hash_table, Fmake_hash_table): | |
3099 | Likewise. | |
3100 | * font.c (font_intern_prop): Likewise. | |
3101 | * frame.c (x_set_alpha): Likewise. | |
3102 | * gtkutil.c (get_utf8_string): Likewise. | |
3103 | * indent.c (check_display_width): Likewise. | |
3104 | * intervals.c (create_root_interval, rotate_right, rotate_left) | |
3105 | (split_interval_right, split_interval_left) | |
3106 | (adjust_intervals_for_insertion, delete_node) | |
3107 | (interval_deletion_adjustment, adjust_intervals_for_deletion) | |
3108 | (merge_interval_right, merge_interval_left, copy_intervals) | |
3109 | (set_intervals_multibyte_1): Likewise. | |
3110 | * keyboard.c (gobble_input, append_tool_bar_item): Likewise. | |
3111 | * keymap.c (Fkey_description): Likewise. | |
3112 | * lisp.h (FIXNUM_OVERFLOW_P, vcopy): Likewise. | |
3113 | * lread.c (openp, read_integer, read1, string_to_number): | |
3114 | Likewise. | |
3115 | * menu.c (ensure_menu_items): Likewise. | |
3116 | * minibuf.c (read_minibuf_noninteractive): Likewise. | |
3117 | * print.c (printchar, strout): Likewise. | |
3118 | * process.c (create_process, Faccept_process_output) | |
3119 | (wait_reading_process_output, read_process_output, send_process) | |
3120 | (wait_reading_process_output): Likewise. | |
3121 | * profiler.c (make_log, handle_profiler_signal): Likewise. | |
3122 | * regex.c (re_exec): Likewise. | |
3123 | * regex.h: Likewise. | |
3124 | * search.c (looking_at_1, Freplace_match): Likewise. | |
3125 | * sysdep.c (get_child_status, procfs_ttyname) | |
3126 | (procfs_get_total_memory): Likewise. | |
3127 | * systime.h (EMACS_TIME_VALID_P): Likewise. | |
3128 | * term.c (dissociate_if_controlling_tty): Likewise. | |
3129 | * window.c (get_phys_cursor_glyph): Likewise. | |
3130 | * xdisp.c (init_iterator, redisplay_internal, redisplay_window) | |
3131 | (try_window_reusing_current_matrix, try_window_id, pint2hrstr): | |
3132 | Likewise. | |
3133 | * xfns.c (Fx_window_property): Likewise. | |
3134 | * xmenu.c (set_frame_menubar): Likewise. | |
3135 | * xselect.c (x_get_window_property, x_handle_dnd_message): | |
3136 | Likewise. | |
3137 | * xsmfns.c (smc_save_yourself_CB): Likewise. | |
3138 | * xterm.c (x_scroll_bar_set_handle): Likewise. | |
3139 | ||
2bf7d27a DA |
3140 | 2013-03-24 Dmitry Antipov <dmantipov@yandex.ru> |
3141 | ||
3142 | * xfaces.c (Finternal_face_x_get_resource): Allow 3rd (frame) argument | |
3143 | to be optional or nil. Adjust comment and convert it to docstring. | |
3144 | * xselect.c (Fx_send_client_event): Rename to Fx_send_client_message. | |
3145 | * frame.c (display_x_get_resource, Fx_get_resource): Break long line. | |
3146 | ||
a9ebfa0b PE |
3147 | 2013-03-24 Paul Eggert <eggert@cs.ucla.edu> |
3148 | ||
3149 | Static checking by GCC 4.8-20130319. | |
3150 | * image.c (gif_load): Assume pass < 3 to pacify GCC. | |
3151 | * process.c (Fset_process_datagram_address) | |
3152 | (Fmake_network_process): Check get_lisp_to_sockaddr_size return value. | |
3153 | * xdisp.c (get_char_face_and_encoding): | |
3154 | (get_glyph_face_and_encoding): Ensure that *CHAR2B is initialized. | |
3155 | (get_glyph_face_and_encoding): Prepare face before possibly using it. | |
3156 | (get_per_char_metric): Don't use CHAR2B if it might not be initialized. | |
3157 | ||
4f3576ee KB |
3158 | 2013-03-24 Ken Brown <kbrown@cornell.edu> |
3159 | ||
789b5e9a KB |
3160 | * w32fns.c (emacs_abort) [CYGWIN]: Define `_open' as a macro to |
3161 | fix compilation on 64-bit Cygwin, where underscores are not | |
3162 | automatically prepended. | |
3163 | ||
4f3576ee KB |
3164 | * w32term.c (w32_initialize): Silence compiler warning. |
3165 | ||
b5b7745f EZ |
3166 | 2013-03-23 Eli Zaretskii <eliz@gnu.org> |
3167 | ||
cdc0d0bd EZ |
3168 | * w32term.c (w32fullscreen_hook): Use FRAME_NORMAL_WIDTH, |
3169 | FRAME_NORMAL_HEIGHT, and FRAME_PREV_FSMODE, instead of static | |
562c6ee9 SM |
3170 | variables, to save and restore frame dimensions. |
3171 | Use FRAME_NORMAL_LEFT and FRAME_NORMAL_TOP to restore frame position | |
3172 | after returning from a 'fullscreen' configuration. | |
3173 | use SendMessage instead of PostMessage to send the SC_RESTORE message, | |
cdc0d0bd EZ |
3174 | to avoid races between the main thread and the input thread. |
3175 | ||
3176 | * w32term.h (struct w32_output): New members normal_width, | |
3177 | normal_height, normal_top, normal_left, and prev_fsmode. | |
3178 | (FRAME_NORMAL_WIDTH, FRAME_NORMAL_HEIGHT, FRAME_NORMAL_TOP) | |
3179 | (FRAME_NORMAL_LEFT, FRAME_PREV_FSMODE): New macros to access these | |
3180 | members of a frame. | |
3181 | ||
b5b7745f EZ |
3182 | * w32term.c (w32fullscreen_hook): Record last value of the frame's |
3183 | 'fullscreen' parameter. Always record previous width and height | |
3184 | of the frame, except when switching out of maximized modes, so | |
3185 | that they could be restored correctly, instead of resetting to the | |
3186 | default frame dimensions. Send SC_RESTORE command to the frame, | |
3187 | unless we are going to send SC_MAXIMIZE, to restore the frame | |
3188 | resize hints in the mouse pointer shown by the window manager. | |
3189 | (Bug#14032) | |
3190 | ||
3191 | * frame.c (get_frame_param): Now extern for WINDOWSNT as well. | |
3192 | ||
3193 | * lisp.h (get_frame_param): Adjust conditions for prototype | |
3194 | declaration. | |
3195 | ||
a3454eed KB |
3196 | 2013-03-22 Ken Brown <kbrown@cornell.edu> |
3197 | ||
3198 | * unexcw.c: Drop unneeded inclusion of w32common.h. | |
3199 | (report_sheap_usage): Declare. | |
3200 | (read_exe_header): Add magic numbers for x86_64. | |
3201 | (fixup_executable): Fix printf format specifier for unsigned long | |
3202 | argument. | |
3203 | ||
5a49b79c DA |
3204 | 2013-03-22 Dmitry Antipov <dmantipov@yandex.ru> |
3205 | ||
3206 | * frame.h (struct frame): Put menu_bar_window under #ifdef | |
3207 | because this member is not needed when X toolkit is in use. | |
3208 | (fset_menu_bar_window): | |
3209 | * dispnew.c (clear_current_matrices, clear_desired_matrices) | |
3210 | (free_glyphs, update_frame): | |
3211 | * xdisp.c (expose_frame): Likewise. | |
3212 | (display_menu_bar): Likewise. Remove redundant eassert. | |
3213 | * window.h (WINDOW_MENU_BAR_P): Always define to 0 if X | |
3214 | toolkit is in use. | |
3215 | ||
d6723bf7 PE |
3216 | 2013-03-21 Paul Eggert <eggert@cs.ucla.edu> |
3217 | ||
7b1123d8 PE |
3218 | Use functions and constants to manipulate Lisp_Save_Value objects. |
3219 | This replaces code that used macros and strings and token-pasting. | |
3220 | The change makes the C source a bit easier to follow, | |
3221 | and shrinks the Emacs executable a bit. | |
3222 | * alloc.c: Verify some properties of Lisp_Save_Value's representation. | |
3223 | (make_save_value): Change 1st arg from string to enum. All callers | |
3224 | changed. | |
3225 | (INTX): Remove. | |
3226 | (mark_object): Use if, not #if, for GC_MARK_STACK. | |
3227 | * lisp.h (SAVE_VALUEP, XSAVE_VALUE, XSAVE_POINTER, XSAVE_INTEGER) | |
3228 | (XSAVE_OBJECT): Now functions, not macros. | |
3229 | (STRING_BYTES_BOUND): Now just a macro, not a constant too; | |
3230 | the constant was never used. | |
3231 | (SAVE_SLOT_BITS, SAVE_VALUE_SLOTS, SAVE_TYPE_BITS, SAVE_TYPE_INT_INT) | |
3232 | (SAVE_TYPE_INT_INT_INT, SAVE_TYPE_OBJ_OBJ, SAVE_TYPE_OBJ_OBJ_OBJ) | |
3233 | (SAVE_TYPE_OBJ_OBJ_OBJ_OBJ, SAVE_TYPE_PTR_INT, SAVE_TYPE_PTR_OBJ) | |
3234 | (SAVE_TYPE_PTR_PTR, SAVE_TYPE_PTR_PTR_OBJ, SAVE_TYPE_MEMORY): | |
3235 | New constants. | |
3236 | (struct Lisp_Save_Value): Replace members area, type0, type1, type2, | |
3237 | type3 with a single member save_type. All uses changed. | |
3238 | (save_type, set_save_pointer, set_save_integer): New functions. | |
3239 | * print.c (PRINTX): Remove. | |
3240 | ||
d6723bf7 PE |
3241 | * alloc.c: Remove redundant static declarations. |
3242 | ||
5f24fa51 DA |
3243 | 2013-03-20 Dmitry Antipov <dmantipov@yandex.ru> |
3244 | ||
3245 | * window.h (struct window): Convert left_col, top_line, total_lines | |
3246 | and total_cols from Lisp_Objects to integers. Adjust comments. | |
3247 | (wset_left_col, wset_top_line, wset_total_cols, wset_total_lines): | |
3248 | Remove. | |
3249 | (WINDOW_TOTAL_COLS, WINDOW_TOTAL_LINES, WINDOW_LEFT_EDGE_COL) | |
3250 | (WINDOW_TOP_EDGE_LINE): Drop Lisp_Object to integer conversion. | |
3251 | * dispnew.c, frame.c, w32fns.c, window.c, xdisp.c, xfns.c: | |
3252 | Adjust users where appropriate. | |
3253 | ||
42143acd DA |
3254 | 2013-03-20 Dmitry Antipov <dmantipov@yandex.ru> |
3255 | ||
3256 | * frame.h (struct frame): Drop resx and resy because the same data is | |
3257 | available from window system-specific output context. Adjust users. | |
562c6ee9 SM |
3258 | (default_pixels_per_inch_x, default_pixels_per_inch_y): |
3259 | New functions to provide defaults when no window system available. | |
42143acd | 3260 | (FRAME_RES_X, FRAME_RES_Y): New macros. |
562c6ee9 | 3261 | (NUMVAL): Move from xdisp.c. |
42143acd DA |
3262 | * font.c (font_pixel_size, font_find_for_lface, font_open_for_lface) |
3263 | (Ffont_face_attributes, Fopen_font): | |
3264 | * image.c (gs_load): | |
3265 | * w32font.c (fill_in_logfont): | |
3266 | * xdisp.c (calc_pixel_width_or_height): | |
3267 | * xfaces.c (Fx_family_fonts, set_lface_from_font): Use them. | |
3268 | * xsettings.c (apply_xft_settings): Drop frame loop and adjust comment. | |
3269 | ||
c0a17406 KH |
3270 | 2013-03-20 Kenichi Handa <handa@gnu.org> |
3271 | ||
3272 | * coding.c (syms_of_coding): Initialize disable_ascii_optimization | |
3273 | to 1 (temporary workaround until a bug related to ASCII | |
3274 | optimization is fixed). | |
3275 | ||
095d384d DA |
3276 | 2013-03-19 Dmitry Antipov <dmantipov@yandex.ru> |
3277 | ||
3278 | * window.c (Fwindow_combination_limit, Fset_window_combination_limit): | |
3279 | Signal error if window is not internal. Adjust docstring. | |
3280 | (delete_all_child_windows): Use combination_limit to save the buffer. | |
3281 | (Fset_window_configuration): Adjust accordingly. | |
cf4bb06d DA |
3282 | * print.c (syms_of_print): Initialize debugging output not here... |
3283 | (init_print_once): ...but in a new function here. | |
3284 | * lisp.h (init_print_once): Add prototype. | |
3285 | * emacs.c (main): Add call to init_print_once. Adjust comments. | |
095d384d | 3286 | |
748fa866 DA |
3287 | 2013-03-18 Dmitry Antipov <dmantipov@yandex.ru> |
3288 | ||
3289 | * window.c (window_resize_check, window_resize_apply) | |
3290 | (window_from_coordinates, recombine_windows, set_window_buffer) | |
3291 | (make_parent_window, Fwindow_resize_apply, resize_frame_windows) | |
3292 | (Fsplit_window_internal, Fdelete_window_internal) | |
3293 | (freeze_window_starts): Use bool for booleans. | |
3294 | * window.h (window_frame_coordinates, resize_frame_windows) | |
3295 | (freeze_window_starts, set_window_buffer): Adjust prototypes. | |
3296 | ||
81519fd2 SM |
3297 | 2013-03-17 Stefan Monnier <monnier@iro.umontreal.ca> |
3298 | ||
3299 | * dispnew.c (bitch_at_user): Use `user-error'. | |
3300 | ||
6db423a9 KB |
3301 | 2013-03-17 Ken Brown <kbrown@cornell.edu> |
3302 | ||
3303 | * dispextern.h (RGB_PIXEL_COLOR): Move here from image.c. Use it | |
3304 | as return type of image_background. (Bug#13981) | |
3305 | * image.c (RGB_PIXEL_COLOR): Move to dispextern.h. | |
3306 | ||
8f2906f5 JD |
3307 | 2013-03-16 Jan Djärv <jan.h.d@swipnet.se> |
3308 | ||
960ce480 | 3309 | * nsterm.m (updateFrameSize:): Change resize increments if needed. |
6615748a | 3310 | (ns_select): Don't return with result uninitialized. |
960ce480 | 3311 | |
8f2906f5 JD |
3312 | * nsterm.h (EmacsSavePanel, EmacsOpenPanel): Add getFilename |
3313 | and getDirectory. | |
3314 | ||
81519fd2 SM |
3315 | * nsfns.m (ns_filename_from_panel, ns_directory_from_panel): |
3316 | New functions. | |
8f2906f5 JD |
3317 | (Fns_read_file_name): ret is BOOL. If ! dir_only_p, don't choose |
3318 | directories. If filename is nil, get directory name (Bug#13932). | |
3319 | Use getFilename and getDirectory. | |
3320 | (getFilename, getDirectory): New methods for EmacsSavePanel and | |
3321 | EmacsOpenPanel. | |
3322 | (ok:): In EmacsOpenPanel, if we can't choose directories, just return. | |
3323 | ||
cded56c1 PE |
3324 | 2013-03-15 Paul Eggert <eggert@cs.ucla.edu> |
3325 | ||
3326 | * coding.c (decode_coding_gap): Fix typo caught by static checking. | |
3327 | ||
251e9147 | 3328 | 2013-03-15 Kenichi Handa <handa@gnu.org> |
8a44e6d1 KH |
3329 | |
3330 | * insdel.c (insert_from_gap): New arg text_at_gap_tail. | |
3331 | (adjust_after_replace): Make it back to static. Delete the third | |
3332 | arg text_at_gap_tail. Cancel the code for handling it. | |
3333 | ||
3334 | * coding.h (struct coding_system): New member eol_seen. | |
3335 | ||
3336 | * coding.c (detect_ascii): New function. | |
3337 | (detect_coding): Set coding->head_ascii and coding->eol_seen only | |
3338 | when the source bytes are actually scanned. On detecting for | |
3339 | coding_category_utf_8_auto, call detect_ascii instead of scanning | |
3340 | source bytes directly. | |
3341 | (produce_chars): Call insert_from_gap with the new arg 0. | |
3342 | (encode_coding): Likewise. | |
3343 | (decode_coding_gap): Control ASCII optimization by the variable | |
3344 | disable_ascii_optimization instead of #ifndef .. #endif. | |
3345 | Deccode EOL format according to coding->eol_seen. | |
3346 | (syms_of_coding): Declare disable-ascii-optimization as a Lisp | |
3347 | variable. | |
3348 | ||
8a44e6d1 KH |
3349 | * lisp.h (adjust_after_replace): Cancel externing it. |
3350 | (insert_from_gap): Adjust prototype. | |
3351 | ||
5f795e34 EZ |
3352 | 2013-03-15 Eli Zaretskii <eliz@gnu.org> |
3353 | ||
3354 | * w32term.c (w32fullscreen_hook): Swap FULLSCREEN_BOTH and | |
3355 | FULLSCREEN_MAXIMIZED. (Bug#13935) | |
3356 | ||
f258b4be DA |
3357 | 2013-03-15 Dmitry Antipov <dmantipov@yandex.ru> |
3358 | ||
3359 | * region-cache.c (find_cache_boundary, move_cache_gap) | |
3360 | (insert_cache_boundary, delete_cache_boundaries, set_cache_region): | |
3361 | Simplify debugging check and convert to eassert. Adjust comment. | |
3362 | (pp_cache): Put under ENABLE_CHECKING. | |
3363 | ||
a5cc4dde EZ |
3364 | 2013-03-14 Eli Zaretskii <eliz@gnu.org> |
3365 | ||
3366 | * w32term.c (w32_read_socket) <WM_WINDOWPOSCHANGED>: Remove old | |
3367 | and incorrect code. Treat WM_WINDOWPOSCHANGED like WM_ACTIVATE | |
3368 | and WM_ACTIVATEAPP. | |
3369 | (w32fullscreen_hook): If the frame is visible, reset | |
3370 | f->want_fullscreen flag after changing the frame size. If the | |
3371 | frame is not visible, set f->want_fullscreen to FULLSCREEN_WAIT. | |
3372 | (Bug#13953) | |
3373 | ||
3fc5e44a DC |
3374 | 2013-03-13 Daniel Colascione <dancol@dancol.org> |
3375 | ||
3376 | * emacs.c (main): Call syms_of_cygw32 on CYGWIN non-NTGUI builds | |
3377 | too so that these builds can use Cygwin's file conversion | |
3378 | functions. (We've been building and linking cygw32.o all along | |
3379 | and just not using it.) | |
3380 | ||
47d7532e PE |
3381 | 2013-03-13 Paul Eggert <eggert@cs.ucla.edu> |
3382 | ||
3383 | File synchronization fixes (Bug#13944). | |
3384 | * Makefile.in (LIB_FDATASYNC): New macro. | |
3385 | (LIBES): Use it. | |
3386 | * conf_post.h (BSD_SYSTEM, BSD_SYSTEM_AHB): Remove; no longer needed. | |
3387 | * fileio.c (Fwrite_region, write_region_inhibit_fsync): | |
3388 | Don't worry about HAVE_FSYNC, since a substitute fsync is | |
3389 | available if the system lacks one. | |
3390 | (Fwrite_regin): Retry fsync if interrupted. | |
3391 | ||
c7ffccaf EZ |
3392 | 2013-03-13 Eli Zaretskii <eliz@gnu.org> |
3393 | ||
4e2df81d | 3394 | * w32term.c (w32_read_socket): If the Emacs frame is being |
c7ffccaf EZ |
3395 | activated, call w32fullscreen_hook, to make sure the new frame |
3396 | dimensions are in effect. (Bug#13937) | |
3397 | ||
8a7debc1 DA |
3398 | 2013-03-13 Dmitry Antipov <dmantipov@yandex.ru> |
3399 | ||
3400 | * xdisp.c (init_iterator): Simplify because both character and byte | |
3401 | positions are either specified or -1. Add eassert. Adjust comment. | |
ffcd945e DA |
3402 | * window.c (Fscroll_other_window): Use SET_PT_BOTH because both |
3403 | character and byte positions can be obtained from marker. | |
8a7debc1 | 3404 | |
7fd8c501 PE |
3405 | 2013-03-13 Paul Eggert <eggert@cs.ucla.edu> |
3406 | ||
d9df6f40 PE |
3407 | Static checking by Sun C 5.12. |
3408 | * alloc.c (buffer_memory_full) [REL_ALLOC]: | |
3409 | * bytecode.c (exec_byte_code): | |
3410 | * dispnew.c (init_display): | |
3411 | * eval.c (error): | |
3412 | * fileio.c (Fsubstitute_in_file_name): | |
3413 | * keyboard.c (Fevent_convert_list): | |
3414 | * keymap.c (Fsingle_key_description): | |
3415 | * term.c (maybe_fatal, fatal): | |
3416 | * xfns.c (Fx_display_backing_store, Fx_display_visual_class): | |
3417 | * xsmfns.c (Fhandle_save_session): | |
3418 | Omit unreachable code. | |
3419 | * keymap.c (map_keymap_char_table_item): Cast void * to | |
3420 | a function pointer type; the C Standard requires this. | |
3421 | ||
7fd8c501 PE |
3422 | * sysdep.c: Remove a use of BSD_SYSTEM, which I'm trying to phase out. |
3423 | Include <sys/param.h> unconditionally, as that works elsewhere and | |
3424 | is simpler here. Include <sys/sysctl.h> if DARWIN_OS || | |
3425 | __FreeBSD__, not if BSD_SYSTEM, since it's needed only for Darwin | |
3426 | and FreeBSD now. | |
3427 | ||
a020afb9 | 3428 | See ChangeLog.12 for earlier changes. |
aac0c6e3 MR |
3429 | |
3430 | ;; Local Variables: | |
3431 | ;; coding: utf-8 | |
aac0c6e3 MR |
3432 | ;; End: |
3433 | ||
ab422c4d | 3434 | Copyright (C) 2011-2013 Free Software Foundation, Inc. |
aac0c6e3 MR |
3435 | |
3436 | This file is part of GNU Emacs. | |
3437 | ||
3438 | GNU Emacs is free software: you can redistribute it and/or modify | |
3439 | it under the terms of the GNU General Public License as published by | |
3440 | the Free Software Foundation, either version 3 of the License, or | |
3441 | (at your option) any later version. | |
3442 | ||
3443 | GNU Emacs is distributed in the hope that it will be useful, | |
3444 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
3445 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
3446 | GNU General Public License for more details. | |
3447 | ||
3448 | You should have received a copy of the GNU General Public License | |
3449 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. |