Commit | Line | Data |
---|---|---|
01ae0fbf DC |
1 | 2014-04-03 Daniel Colascione <dancol@dancol.org> |
2 | ||
705cf384 | 3 | In all places below, change expressions of the form sizeof(arr) / |
c72d972c | 4 | sizeof(arr[0]) to ARRAYELTS(arr). |
705cf384 DC |
5 | |
6 | * xterm.c (x_term_init): See above. | |
7 | ||
8 | * xfns.c (best_xim_style): See above. | |
9 | ||
10 | * xfaces.c (Fdump_colors): See above. | |
11 | ||
12 | * w32fns.c (w32_default_color_map): See above. | |
13 | ||
14 | * w32.c: | |
15 | (init_environment): See above. | |
16 | (N_ENV_VARS): See above. | |
17 | ||
18 | * unexcw.c (read_exe_header): See above. | |
19 | ||
20 | * term.c (term_get_fkeys_1): See above. | |
21 | ||
22 | * sysdep.c (init_baud_rate): See above. | |
23 | ||
24 | * nsterm.m (ns_convert_key): See above. | |
25 | ||
26 | * nsfns.m (get_geometry_from_preferences): See above. | |
27 | ||
28 | * msdos.c (dos_set_window_size): See above. | |
29 | (init_environment): See above. | |
30 | ||
31 | * macfont.m (mac_font_get_glyph_for_cid): See above. | |
32 | (macfont_store_descriptor_attributes): See above. | |
33 | (macfont_create_attributes_with_spec): See above. | |
34 | (mac_ctfont_get_glyph_for_cid): See above. | |
35 | ||
36 | * keyboard.c (command_loop_1): See above. | |
37 | (read_menu_command): See above. | |
38 | (make_lispy_event): See above. | |
39 | (NUM_MOD_NAMES): See above. | |
40 | (read_key_sequence_vs): See above. | |
41 | (Fcurrent_input_mode): See above. | |
42 | (syms_of_keyboard): See above. | |
43 | ||
44 | * image.c (xpm_str_to_color_key): See above. | |
45 | ||
46 | * fringe.c (MAX_STANDARD_FRINGE_BITMAPS): See above. | |
47 | ||
48 | * frame.c (x_set_frame_parameters): See above. | |
49 | ||
50 | * fileio.c (Ffile_selinux_context): See above. | |
51 | ||
52 | * emacs.c (sort_args): See above. | |
53 | ||
54 | * dosfns.c (): | |
55 | (msdos_stdcolor_name): See above. | |
56 | ||
57 | * dired.c (file_attributes): See above. | |
58 | ||
59 | * chartab.c: | |
60 | (uniprop_decoder_count,uniprop_encode_count): See above. | |
61 | ||
62 | 2014-04-02 Daniel Colascione <dancol@dancol.org> | |
63 | ||
01ae0fbf DC |
64 | * data.c (Ffset): Abort if we're trying to set a function call to |
65 | a dead lisp object. | |
66 | ||
c72d972c | 67 | * lisp.h (ARRAYELTS): New macro. |
01ae0fbf | 68 | |
170c12e0 DC |
69 | * alloc.c: Include execinfo.h if available. |
70 | (SUSPICIOUS_OBJECT_CHECKING): New macro; define unconditionally. | |
71 | (suspicious_free_record): New structure. | |
72 | (suspicious_objects,suspicious_object_index) | |
73 | (suspicious_free_history, suspicious_free_history_index): New | |
74 | variables. | |
75 | (find_suspicious_object_in_range,detect_suspicious_free) | |
76 | (Fsuspicious_object): New functions. | |
77 | (cleanup_vector): Call find_suspicious_object_in_range. | |
78 | ||
ffcd5669 MR |
79 | 2014-04-02 Martin Rudalics <rudalics@gmx.at> |
80 | ||
81 | * xterm.c (x_new_font): Don't calculate non-toolkit scrollbar | |
82 | width from font width (Bug#17163). | |
83 | ||
632e91a6 MR |
84 | * frame.c (x_set_frame_parameters): Calculate default values of |
85 | new frame sizes only after all other frame parameters have been | |
86 | processed (Bug#17142). | |
87 | ||
09aba815 | 88 | 2014-04-02 Ken Brown <kbrown@cornell.edu> |
9c67d3ba KB |
89 | |
90 | * conf_post.h (SYSTEM_PURESIZE_EXTRA) [CYGWIN]: Set to 10000. | |
91 | (Bug#17112) | |
92 | ||
09aba815 | 93 | 2014-04-02 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> |
08be62f4 YM |
94 | |
95 | * xterm.c (x_draw_image_glyph_string): Adjust image background | |
96 | width accordingly when its x position is adjusted. (Bug#17115) | |
97 | ||
af1a69f4 DA |
98 | 2014-04-02 Dmitry Antipov <dmantipov@yandex.ru> |
99 | ||
100 | * font.c (font_list_entities): Do not add empty vector to font cache. | |
101 | (font_matching_entity): Likewise. If matching entity is found, insert | |
102 | 1-item vector with this entity instead of entity itself (Bug#17125). | |
103 | ||
ed859c7a DA |
104 | * xterm.c (x_term_init) [USE_LUCID]: Fix minor memory leak. |
105 | ||
8ec49c53 PE |
106 | 2014-04-01 Paul Eggert <eggert@cs.ucla.edu> |
107 | ||
108 | * fns.c (validate_subarray): Rename from validate_substring, | |
109 | since it works for vectors too. New arg ARRAY. Optimize for the | |
110 | non-nil case. Instead of returning bool, throw an error if out of | |
111 | range, so that the caller needn't do that. All uses changed. | |
112 | Report original values if out of range. | |
113 | (Fsubstring, Fsubstring_no_properties, secure_hash): | |
114 | Also optimize the case where FROM is 0 or TO is the size. | |
115 | ||
68712e08 DA |
116 | 2014-03-31 Dmitry Antipov <dmantipov@yandex.ru> |
117 | ||
118 | * search.c (Freplace_match): Use make_specified_string. | |
119 | * xterm.c, w32term.c (x_set_glyph_string_gc): Use emacs_abort | |
120 | to catch bogus override face of glyph strings. | |
fbc87aea DA |
121 | * fns.c (Fsubstring, Fsubstring_no_properties, secure_hash): |
122 | Move common substring range checking code to... | |
123 | (validate_substring): ...this function. | |
68712e08 | 124 | |
abe13366 JD |
125 | 2014-03-31 Jan Djärv <jan.h.d@swipnet.se> |
126 | ||
127 | * nsmenu.m (free_frame_tool_bar): Set wait_for_tool_bar = NO (Bug#16976) | |
128 | ||
f9d45267 JD |
129 | 2014-03-30 Jan Djärv <jan.h.d@swipnet.se> |
130 | ||
131 | * nsterm.m (updateFrameSize:): If waiting for the tool bar and tool | |
132 | bar is zero height, just return (Bug#16976). | |
133 | (initFrameFromEmacs:): Initialize wait_for_tool_bar. | |
134 | ||
135 | * nsterm.h (EmacsView): Add wait_for_tool_bar. | |
136 | ||
137 | * nsmenu.m (update_frame_tool_bar): Return early if view or toolbar | |
138 | is nil. If waiting for toolbar to complete, force a redraw. | |
139 | ||
c3153003 GM |
140 | 2014-03-28 Glenn Morris <rgm@gnu.org> |
141 | ||
7b207d6d GM |
142 | * emacs.c (emacs_version): Use PACKAGE_VERSION rather than VERSION. |
143 | (emacs_bugreport): New variable. | |
144 | (usage_message): Use PACKAGE_BUGREPORT. | |
145 | (syms_of_emacs) <report-emacs-bug-address>: New variable. | |
146 | ||
c3153003 GM |
147 | * emacs.c (syms_of_emacs) <system-configuration-features>: New var. |
148 | ||
4e74624d PE |
149 | 2014-03-27 Paul Eggert <eggert@cs.ucla.edu> |
150 | ||
151 | Port recent signal-related changes to FreeBSD. | |
152 | Problem reported by Herbert J. Skuhra. | |
153 | * lisp.h (block_tty_out_signal, unblock_tty_out_signal): | |
154 | Move decls from here ... | |
155 | * syssignal.h: ... to here, so that lisp.h doesn't depend on signal.h. | |
156 | ||
0c4e715c YM |
157 | 2014-03-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> |
158 | ||
159 | * w32term.c (x_draw_image_glyph_string): Fix computation of height | |
160 | and width of image background when it is displayed with a 'box' | |
161 | face. (Bug#17115) | |
162 | ||
1e757eb0 | 163 | 2014-03-27 Paul Eggert <eggert@penguin.cs.ucla.edu> |
3fd3e736 PE |
164 | |
165 | More backward-compatible fix to char-equal core dump (Bug#17011). | |
166 | * editfns.c (Fchar_equal): In unibyte buffers, assume values in | |
167 | range 128-255 are raw bytes. Suggested by Eli Zaretskii. | |
b18d7820 | 168 | |
b9b37dd0 JB |
169 | 2014-03-27 Juanma Barranquero <lekktu@gmail.com> |
170 | ||
171 | * image.c (init_svg_functions): When loading SVG-related libraries, | |
172 | free already loaded libraries if the initialization fails. | |
173 | (rsvg_handle_set_size_callback): Remove declaration, unused. | |
174 | ||
b18d7820 PE |
175 | 2014-03-26 Paul Eggert <eggert@cs.ucla.edu> |
176 | ||
05b250c2 PE |
177 | Fix core dump in char-equal (Bug#17011). |
178 | * editfns.c (Fchar_equal): Do not use MAKE_CHAR_MULTIBYTE in | |
179 | unibyte buffers, as we can't tell whether the characters are | |
180 | actually unibyte. | |
181 | ||
b18d7820 PE |
182 | * insdel.c (adjust_markers_for_delete): Remove unused local. |
183 | ||
16adf2e6 | 184 | 2014-03-26 Barry O'Reilly <gundaetiapo@gmail.com> |
37ea8275 BR |
185 | |
186 | Have (MARKER . ADJUSTMENT) undo records always be immediately | |
187 | after their corresponding (TEXT . POS) record in undo list. | |
188 | (Bug#16818) | |
189 | * lisp.h (record-delete): New arg record_markers. | |
190 | (record_marker_adjustment): No longer needed outside undo.c. | |
191 | * insdel.c (adjust_markers_for_delete): Move calculation of marker | |
192 | adjustments to undo.c's record_marker_adjustments. Note that | |
193 | fileio.c's decide_coding_unwind is another caller to | |
194 | adjust_markers_for_delete. Because it has undo list bound to t, | |
195 | it does not rely on adjust_markers_for_delete to record marker | |
196 | adjustments. | |
197 | (del_range_2): Swap call to record_delete and | |
198 | adjust_markers_for_delete so as undo marker adjustments are | |
199 | recorded before current deletion's adjustments, as before. | |
200 | (adjust_after_replace): | |
201 | (replace_range): Pass value for new record_markers arg to | |
202 | delete_record. | |
203 | * undo.c (record_marker_adjustment): Renamed to | |
204 | record_marker_adjustments and made static. | |
205 | (record_delete): Check record_markers arg and call | |
206 | record_marker_adjustments. | |
207 | (record_change): Pass value for new record_markers arg to | |
208 | delete_record. | |
209 | (record_point): at_boundary calculation no longer needs to account | |
210 | for marker adjustments. | |
211 | ||
16adf2e6 | 212 | 2014-03-26 Martin Rudalics <rudalics@gmx.at> |
f2999a33 MR |
213 | |
214 | * w32term.c (x_set_window_size): Refine fix from 2014-03-14 | |
215 | (Bug#17077). | |
216 | ||
16adf2e6 | 217 | 2014-03-26 Glenn Morris <rgm@gnu.org> |
33f0ba7e GM |
218 | |
219 | * fileio.c (Ffile_symlink_p): Doc fix. (Bug#17073) | |
220 | ||
16adf2e6 | 221 | 2014-03-26 Stefan Monnier <monnier@iro.umontreal.ca> |
f6614a47 SM |
222 | |
223 | * buffer.c (struct sortvec): Add field `spriority'. | |
224 | (compare_overlays): Use it. | |
225 | (sort_overlays): Set it. | |
226 | ||
16adf2e6 | 227 | 2014-03-26 Eli Zaretskii <eliz@gnu.org> |
88c569ef EZ |
228 | |
229 | * xdisp.c (redisplay_window): If all previous attempts to find the | |
230 | cursor row failed, try a few alternatives before falling back to | |
9729c262 | 231 | the top-most row of the window. Use row_containing_pos. (Bug#17047) |
88c569ef | 232 | |
5af73b0f JB |
233 | 2014-03-26 Juanma Barranquero <lekktu@gmail.com> |
234 | ||
235 | * image.c (x_bitmap_height, x_bitmap_width) [HAVE_X_WINDOWS]: | |
236 | * sysdep.c (reset_sigio) [!DOS_NT]: Declare conditionally. | |
237 | ||
238 | * keyboard.c (read_decoded_event_from_main_queue): #ifdef out | |
239 | variables on Windows. | |
240 | ||
241 | * w32fns.c (Ffile_system_info): Use parenthesis in and/or expression. | |
242 | ||
243 | * w32.c (unsetenv): Remove unused var `retval'. | |
244 | (emacs_gnutls_pull): Remove unused vars `fdset' and `timeout'. | |
245 | ||
246 | * w32notify.c (watch_worker): Remove unnecesary var sleep_result. | |
247 | (start_watching): Remove unused var `thr'. | |
248 | ||
249 | * w32proc.c (sys_spawnve): Comment out unused vars `first', `last'. | |
250 | (find_child_console): Remove unnecesary var `thread_id'. | |
251 | ||
252 | * w32term.c (w32_read_socket): Comment out unused vars `row', `columns'. | |
253 | (x_focus_frame): #ifdef 0 unused variable `dpyinfo'. | |
254 | ||
11ee65af GM |
255 | 2014-03-26 Glenn Morris <rgm@gnu.org> |
256 | ||
0b4fe078 GM |
257 | * filelock.c (Flock_buffer): Doc tweak. |
258 | ||
11ee65af GM |
259 | * buffer.c (Frestore_buffer_modified_p, Fkill_buffer): |
260 | * emacs.c (shut_down_emacs): | |
261 | * fileio.c (Finsert_file_contents, write_region): | |
262 | * filelock.c (top-level, syms_of_filelock): | |
263 | * insdel.c (prepare_to_modify_buffer_1): | |
264 | CLASH_DETECTION is always defined now. | |
265 | ||
defd53bd EZ |
266 | 2014-03-25 Eli Zaretskii <eliz@gnu.org> |
267 | ||
268 | * w32.c (w32_delayed_load): Call DisableThreadLibraryCalls on the | |
269 | DLL handle, to speed up thread startup. | |
270 | ||
1e952f0a PE |
271 | 2014-03-25 Paul Eggert <eggert@cs.ucla.edu> |
272 | ||
273 | Handle sigmask better with nested signal handlers (Bug#15561). | |
274 | * atimer.c (sigmask_atimers): Remove. | |
275 | Remaining use rewritten to use body of this function. | |
276 | * atimer.c (block_atimers, unblock_atimers): | |
277 | * callproc.c (block_child_signal, unblock_child_signal): | |
278 | * sysdep.c (block_tty_out_signal, unblock_tty_out_signal): | |
279 | New arg OLDSET. All callers changed. | |
280 | * atimer.c (block_atimers, unblock_atimers): | |
281 | * callproc.c (block_child_signal, unblock_child_signal): | |
282 | * keyboard.c (handle_interrupt): | |
283 | * sound.c (vox_configure, vox_close): | |
284 | Restore the old signal mask rather than unilaterally clearing bits | |
285 | from the mask, in case a handler is running within another | |
286 | handler. All callers changed. | |
287 | * lisp.h, process.c, process.h, term.c: | |
288 | Adjust decls and callers to match new API. | |
289 | * sysdep.c (emacs_sigaction_init): Don't worry about masking SIGFPE; | |
290 | signal handlers aren't supposed to use floating point anyway. | |
291 | (handle_arith_signal): Unblock just SIGFPE rather than clearing mask. | |
292 | ||
b029599f DC |
293 | 2014-03-23 Daniel Colascione <dancol@dancol.org> |
294 | ||
295 | Split gc_sweep into discrete functions for legibility and better | |
296 | stack traces. | |
297 | ||
298 | * alloc.c (sweep_strings,sweep_vectors): Add NO_INLINE | |
299 | (sweep_vectors): Fix typo in comment. | |
300 | (sweep_conses,sweep_floats,sweep_intervals) | |
301 | (sweep_symbols,sweep_misc,sweep_buffers): New functions. | |
302 | (gc_sweep): Call new functions, to which existing functionality is | |
303 | moved. | |
304 | * fns.c (sweep_weak_hash_tables): Add NO_INLINE. | |
305 | ||
17bf44f8 JB |
306 | 2014-03-23 Juanma Barranquero <lekktu@gmail.com> |
307 | ||
308 | * w32fns.c (Fw32_shell_execute): Declare `result' only on Cygwin. | |
309 | ||
b27a4043 DC |
310 | 2014-03-23 Daniel Colascione <dancol@dancol.org> |
311 | ||
df3964ce DC |
312 | * xfns.c (create_frame_xic): Pass XNStatusAttributes to XCreateIC |
313 | only if xic_style calls for it. This change allows Emacs to work | |
d2933655 DC |
314 | with ibus. Also, don't leak resources if create_frame_xic fails, |
315 | and stop caching xic_style across different displays. | |
577b2ffd DC |
316 | (supported_xim_styles): Make const. |
317 | (best_xim_style): Remove first parameter: it's always just | |
318 | supported_xim_styles. Change to look at supported_xim_styles | |
319 | directly. | |
b27a4043 | 320 | |
a3116188 DC |
321 | 2014-03-23 Daniel Colascione <dancol@dancol.org> |
322 | ||
323 | * term.c (init_tty): Rearrange condition for clarity; print | |
324 | appropriate diagnostic. | |
325 | ||
3768a869 DC |
326 | 2014-03-23 Daniel Colascione <dancol@dancol.org> |
327 | ||
328 | * process.c (DATAGRAM_CONN_P): Don't underflow datagram_address | |
329 | array. (ASAN caught.) | |
330 | ||
00156f95 GM |
331 | 2014-03-22 Glenn Morris <rgm@gnu.org> |
332 | ||
333 | * callproc.c (init_callproc): In etc, look for NEWS rather than GNU. | |
334 | ||
ea64063f DC |
335 | 2014-03-22 Daniel Colascione <dancol@dancol.org> |
336 | ||
337 | * process.c (conv_sockaddr_to_lisp): When extracting the string | |
00156f95 | 338 | names of AF_LOCAL sockets, stop before reading uninitialized memory. |
ea64063f | 339 | |
fef27dc1 YM |
340 | 2014-03-21 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> |
341 | ||
342 | Fix regression introduced by patch for Bug#10500. | |
343 | * xterm.c (x_draw_image_relief): Respect Vtool_bar_button_margin. | |
344 | * w32term.c (x_draw_image_relief): Likewise. | |
345 | ||
21e18b30 MR |
346 | 2014-03-21 Martin Rudalics <rudalics@gmx.at> |
347 | ||
348 | * w32fns.c (w32_wnd_proc): For WM_WINDOWPOSCHANGING don't | |
349 | constrain frame size in SW_SHOWMAXIMIZED case so we can truly | |
350 | maximize a frame for odd default fonts. | |
351 | ||
26e91130 GM |
352 | 2014-03-21 Glenn Morris <rgm@gnu.org> |
353 | ||
354 | * minibuf.c (history-length): Increase default from 30 to 100. | |
355 | ||
f20b8315 DC |
356 | 2014-03-21 Daniel Colascione <dancol@dancol.org> |
357 | ||
c4beb8da DC |
358 | * xterm.c (x_bitmap_icon): Stop reading the icon bitmap from disk |
359 | every time we switch to minibuffer. | |
360 | ||
f20b8315 DC |
361 | * alloc.c (lisp_align_malloc, allocate_string_data) |
362 | (allocate_vectorlike): Allow mmap allocation of lisp objects. | |
363 | (pointers_fit_in_lispobj_p,mmap_lisp_allowed_p): New functions. | |
364 | ||
6d731d41 EZ |
365 | 2014-03-21 Eli Zaretskii <eliz@gnu.org> |
366 | ||
367 | * w32fns.c (Fw32_shell_execute) [!CYGWIN]: Use ShellExecuteEx, to | |
368 | support more "verbs". | |
369 | ||
f58269c4 DC |
370 | 2014-03-21 Daniel Colascione <dancol@dancol.org> |
371 | ||
372 | Always prohibit dumping a dumped Emacs. | |
373 | ||
374 | * emacs.c (might_dump): New variable. | |
375 | (Fdump_emacs): Always prohibit dumping of dumped Emacs. | |
376 | * lisp.h (might_dump): Declare. | |
377 | * unexcw.c (unexec): Remove now-redundant multiple-dump detection code. | |
378 | ||
0df098bf PE |
379 | 2014-03-20 Paul Eggert <eggert@cs.ucla.edu> |
380 | ||
381 | * doc.c (store_function_docstring): Fix pointer signedness mismatch. | |
382 | ||
caecb91c SM |
383 | 2014-03-20 Stefan Monnier <monnier@iro.umontreal.ca> |
384 | ||
049fac7c SM |
385 | * doc.c (store_function_docstring): Warn when we don't know where to |
386 | put a docstring. | |
387 | (Fsubstitute_command_keys): Don't advertise the fact that | |
388 | text-properties are dropped, since we think it's a bug that we'll fix | |
389 | in 24.5. | |
390 | ||
caecb91c SM |
391 | * frame.h (SET_FRAME_VISIBLE): Keep frame_garbaged up to date. |
392 | * xterm.c (handle_one_xevent) <MapNotify>: Don't garbage the frame. | |
393 | * frame.c (frame_garbaged): Make "docstring" more precise. | |
394 | ||
7b9cb544 GM |
395 | 2014-03-20 Glenn Morris <rgm@gnu.org> |
396 | ||
397 | * charset.c (init_charset): When we cannot find the charsets directory, | |
398 | mention if EMACSDATA is set. | |
399 | ||
37ca9077 PE |
400 | 2014-03-19 Paul Eggert <eggert@cs.ucla.edu> |
401 | ||
d16ae622 PE |
402 | * fns.c (Frandom): Fix rare bug where the result isn't random. |
403 | ||
37ca9077 PE |
404 | Fix porting inconsistency about rounding to even. |
405 | * floatfns.c (emacs_rint) [!HAVE_RINT]: Round to even. | |
406 | This way, the unusual !HAVE_RINT case acts like the usual | |
407 | HAVE_RINT case, and we can fix the documentation accordingly. | |
408 | ||
722493d7 EZ |
409 | 2014-03-19 Eli Zaretskii <eliz@gnu.org> |
410 | ||
411 | * w32fns.c (reset_modifiers): Zero out keystate[] before using it. | |
412 | (w32_wnd_proc): Initialize the dwHoverTime member of | |
413 | TRACKMOUSEEVENT structure. | |
414 | ||
525d9a3c TZ |
415 | 2014-03-17 Teodor Zlatanov <tzz@lifelogs.com> |
416 | ||
417 | * gnutls.c (Fgnutls_boot): Fix case of :verify-error = t. | |
418 | ||
2a3d9a06 EZ |
419 | 2014-03-16 Eli Zaretskii <eliz@gnu.org> |
420 | ||
421 | * search.c (find_newline): Speed up the function when using the | |
5f0da6ce | 422 | newline cache, by halving the number of calls to |
2a3d9a06 EZ |
423 | region_cache_forward and region_cache_backward. (Bug#16830) |
424 | ||
b6d8543c JB |
425 | 2014-03-15 Juanma Barranquero <lekktu@gmail.com> |
426 | ||
427 | * buffer.c (Fset_buffer): Document return value (bug#17015). | |
428 | ||
cfd5e825 MR |
429 | 2014-03-14 Martin Rudalics <rudalics@gmx.at> |
430 | ||
431 | * w32term.c (x_set_window_size): When frame-resize-pixelwise is | |
432 | nil, always resize character wise to avoid potential loss of the | |
433 | mode line (Bug#16923 related). | |
434 | ||
8960529e MR |
435 | 2014-03-12 Martin Rudalics <rudalics@gmx.at> |
436 | ||
437 | * frame.c (x_set_frame_parameters): Always calculate new sizes | |
438 | pixelwise to avoid potential loss when rounding. | |
439 | ||
b0b486db DA |
440 | 2014-03-11 Dmitry Antipov <dmantipov@yandex.ru> |
441 | ||
442 | * xfns.c (x_set_mouse_color): Recolor vertical_drag_cursor. | |
443 | * xterm.c (x_free_frame_resources): Free all allocated cursors. | |
444 | ||
70db0db7 EZ |
445 | 2014-03-10 Eli Zaretskii <eliz@gnu.org> |
446 | ||
447 | * w32.c (fstatat): Don't add an extra slash if the argument ends | |
448 | with a slash: this fails the subsequent call to stat_worker on | |
449 | Windows 9X. Reported by oslsachem <oslsachem@gmail.com>. | |
450 | ||
7e940b65 MR |
451 | 2014-03-09 Martin Rudalics <rudalics@gmx.at> |
452 | ||
453 | * xdisp.c (Fwindow_text_pixel_size): Adjust doc-string. | |
454 | ||
e61a31bf JD |
455 | 2014-03-08 Jan Djärv <jan.h.d@swipnet.se> |
456 | ||
457 | * nsterm.h (MAC_OS_X_VERSION_10_9): Add. | |
458 | ||
7e940b65 MR |
459 | * nsterm.m (constrainFrameRect:toScreen:): Constrain normally |
460 | when frame is only on one screen (Bug#14713). | |
e61a31bf | 461 | |
2c65ad21 EZ |
462 | 2014-03-08 Eli Zaretskii <eliz@gnu.org> |
463 | ||
464 | * xdisp.c (move_it_in_display_line_to): If word-wrap is ON, and | |
465 | there's a valid wrap point in the display line, the last glyph | |
466 | cannot "just barely fit" on this row, because display_line doesn't | |
467 | let it. Instead, proceed as if the last glyph didn't fit, so that | |
468 | we eventually back up the iterator to the wrap point. This avoids | |
469 | delusional behavior of move_it_to, whereby it proceeds to the next | |
470 | display line, but sets current_x to zero for all the glyphs that | |
caecb91c SM |
471 | without word-wrap would fit on the previous display line. |
472 | One result was that visual-order cursor movement behaved erratically | |
2c65ad21 EZ |
473 | under word-wrap. |
474 | (Fmove_point_visually): Add code to find the x coordinate of the | |
475 | last character before wrap point, under word-wrap on a TTY. | |
476 | ||
b646ea12 EZ |
477 | 2014-03-07 Eli Zaretskii <eliz@gnu.org> |
478 | ||
479 | * xdisp.c (Fmove_point_visually): When under word-wrap, accept | |
480 | also return value of MOVE_POS_MATCH_OR_ZV from | |
481 | move_it_in_display_line_to, when moving from beginning of line to | |
482 | point's position. (Bug#16961) | |
483 | ||
2c6053e8 MR |
484 | 2014-03-07 Martin Rudalics <rudalics@gmx.at> |
485 | ||
486 | * buffer.c (Vbuffer_list_update_hook): Doc-string fix. | |
487 | * window.c (Fselect_window): Explain NORECORD and | |
488 | `buffer-list-update-hook' in doc-string. | |
489 | ||
cac0a1d6 MR |
490 | 2014-03-06 Martin Rudalics <rudalics@gmx.at> |
491 | ||
492 | * window.c (Fother_window_for_scrolling): Check that | |
493 | Vother_window_scroll_buffer is a buffer. | |
494 | ||
12e852a2 DA |
495 | 2014-03-06 Dmitry Antipov <dmantipov@yandex.ru> |
496 | ||
497 | * xterm.c (xim_initialize): Always pass a copy of resource name | |
498 | to XRegisterIMInstantiateCallback and eassert whether return | |
499 | value is True. Passing copy is important because Xlib doesn't | |
500 | make its own copy and resource name argument usually points to | |
501 | SSDATA (Vx_resource_name), which may be changed from Lisp. | |
502 | (xim_close_display): For XUnregisterIMInstantiateCallback, | |
503 | always eassert return value and pass exactly the same values | |
caecb91c SM |
504 | as were used for XRegisterIMInstantiateCallback. |
505 | Otherwise XUnregisterIMInstantiateCallback will always fail. See Xlib | |
12e852a2 DA |
506 | sources to check why if you are interested. |
507 | ||
e1a2cb1c MR |
508 | 2014-03-05 Martin Rudalics <rudalics@gmx.at> |
509 | ||
510 | * dispnew.c (change_frame_size_1): Add new_lines instead of | |
511 | new_height, the latter may be still zero if passed as such. | |
512 | * window.c (Fwindow_pixel_height): Mention bottom divider in | |
513 | doc-string. | |
514 | ||
d2f720ac PE |
515 | 2014-03-05 Paul Eggert <eggert@cs.ucla.edu> |
516 | ||
e1a2cb1c MR |
517 | Fix "resource temporarily unavailable" with xgselect |
518 | (Bug#16925). | |
e6e8a5eb PE |
519 | * xgselect.c: Include <stdbool.h>. |
520 | (xg_select) [!USE_GTK]: Don't lose track of errno. | |
521 | ||
d2f720ac PE |
522 | Fix minor --enable-gcc-warnings issues. |
523 | * widget.c (update_various_frame_slots, EmacsFrameResize): | |
524 | Avoid unused locals. Prefer 'if' to '#if' when either will do. | |
525 | ||
94a089b5 KB |
526 | 2014-03-04 Ken Brown <kbrown@cornell.edu> |
527 | ||
528 | * gmalloc.c (aligned_alloc): Clarify the code by making `adj' | |
529 | represent the actual adjustment needed for alignment. | |
530 | ||
201572ec EZ |
531 | 2014-03-04 Eli Zaretskii <eliz@gnu.org> |
532 | ||
533 | * gmalloc.c (aligned_alloc): Don't allocate more memory than | |
534 | needed, and don't reallocate if the initial allocation already | |
535 | fits the bill. Suggested by Ken Brown <kbrown@cornell.edu>. | |
536 | ||
a55130ca YM |
537 | 2014-03-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> |
538 | ||
539 | * xterm.c (x_draw_stretch_glyph_string): Reset clipping. | |
540 | (Bug#16932) | |
541 | ||
5b87d0d9 MN |
542 | 2014-03-04 Michal Nazarewicz <mina86@mina86.com> |
543 | ||
544 | * cmds.c (delete-char): Update docstring pointing out that the | |
545 | function ignores `delete-active-region' and `overwrite-mode'. | |
546 | ||
bd650c24 EZ |
547 | 2014-03-03 Eli Zaretskii <eliz@gnu.org> |
548 | ||
757c70af EZ |
549 | * font.c (Fframe_font_cache): Fix last change. (Bug#16930) |
550 | ||
bd650c24 EZ |
551 | * gmalloc.c (aligned_alloc): Fix adjustment of size of the |
552 | allocated buffer due to alignment. | |
553 | (freehook): If the block to be freed was allocated by | |
554 | 'aligned_alloc', find its real pointer before calling 'free'. | |
555 | (Bug#16901) | |
556 | (mabort) [emacs]: Call 'emacs_abort', not 'abort', to provide a | |
557 | backtrace. | |
558 | ||
8c1c7611 DA |
559 | 2014-03-03 Dmitry Antipov <dmantipov@yandex.ru> |
560 | ||
561 | * font.c (toplevel): Adjust comment about font cache layout. | |
562 | (font_clear_cache): Fix to match real font cache layout. | |
563 | Suggested by <namespace_collision@yahoo.com> in Bug#16069. | |
564 | (Fframe_font_cache) [FONT_DEBUG]: New function. | |
565 | (syms_of_font) [FONT_DEBUG]: Defsubr it. | |
566 | ||
19dae293 DA |
567 | Avoid crashes when X fonts are erroneously freed on reused X |
568 | 'Display *' connection data (Bug#16069). Note that X font | |
569 | resources still may be leaked, but currently there is no way | |
570 | to completely avoid it. | |
571 | * xterm.h (struct x_display_info): New member x_id. Add comments. | |
572 | * xterm.c (x_display_id): New variable. | |
573 | (x_term_init): Assign identifier to each opened X connection. | |
574 | * xfont.c (struct xfont): New member x_display_id. | |
575 | (xfont_open): Initialize it with frame's display id. | |
576 | (xfont_close): Check whether font's display id matches the one | |
577 | recorded for the given display. Adjust comment. | |
578 | * xftfont.c (struct xftfont_info): | |
579 | (xftfont_open, xftfont_close): Exactly as above with xfont stuff. | |
580 | ||
2907acd4 MR |
581 | 2014-03-01 Martin Rudalics <rudalics@gmx.at> |
582 | ||
583 | Consider Vother_window_scroll_buffer valid iff it's a live buffer. | |
584 | * window.c (Fother_window_for_scrolling): Don't try to scroll a | |
585 | killed Vother_window_scroll_buffer. | |
586 | (Vother_window_scroll_buffer): Fix doc-string accordingly. | |
587 | ||
cb8b26b4 EZ |
588 | 2014-03-01 Eli Zaretskii <eliz@gnu.org> |
589 | ||
590 | * fileio.c (Fexpand_file_name) [WINDOWSNT]: Don't treat file names | |
591 | that start with more than 2 slashes as UNCs. (Bug#16751) | |
592 | ||
8268febf PE |
593 | 2014-02-28 Paul Eggert <eggert@penguin.cs.ucla.edu> |
594 | ||
595 | Fix a few crashes and leaks when cloning C strings. | |
596 | * alloc.c, lisp.h (dupstring): New function. | |
597 | * gtkutil.c (xg_get_font): | |
598 | * term.c (tty_default_color_capabilities): | |
599 | * xsettings.c (store_monospaced_changed) | |
600 | (store_font_name_changed, parse_settings) | |
601 | (read_and_apply_settings, init_gsettings, init_gconf): Use it. | |
602 | This avoids some unlikely crashes due to accessing freed storage, | |
603 | and avoids some minor memory leaks in the more-typical case. | |
604 | ||
5c809195 MR |
605 | 2014-02-28 Martin Rudalics <rudalics@gmx.at> |
606 | ||
607 | * xdisp.c (note_mode_line_or_margin_highlight): Don't show drag | |
608 | cursor when modeline can't be dragged (Bug#16647). | |
609 | ||
2241d76e GM |
610 | 2014-02-28 Glenn Morris <rgm@gnu.org> |
611 | ||
612 | * doc.c (Fsnarf_documentation): Snarf not-yet-bound variables | |
613 | from custom-delayed-init-variables. (Bug#11565) | |
614 | ||
653b6ea3 MR |
615 | 2014-02-27 Martin Rudalics <rudalics@gmx.at> |
616 | ||
617 | More fixes for mouse glyph calculations (Bug#16647). | |
618 | * window.c (coordinates_in_window): In intersection of | |
619 | horizontal and vertical window dividers prefer the horizontal | |
620 | one. Add some extra parens to last fix. | |
621 | (window_relative_x_coord): Return x-coordinate for header and | |
622 | mode line too. | |
623 | * xdisp.c (remember_mouse_glyph): In text area don't extend | |
624 | glyph into mode line to show the vertical drag cursor there | |
625 | immediately. Subdivide mouse glyphs in right fringes to show a | |
626 | horizontal drag cursor as soon as we enter the "grabbable width" | |
627 | portion. Handle vertical border case separately. Do not | |
628 | subdivide window divider areas. | |
629 | (note_mouse_highlight): On bottom divider of bottommost windows | |
630 | show vertical drag cursor only when the minibuffer window can be | |
631 | resized. | |
632 | ||
11de63ed EZ |
633 | 2014-02-27 Eli Zaretskii <eliz@gnu.org> |
634 | ||
635 | * xdisp.c (pop_it): Restore the it->face_box_p flag which could be | |
636 | reset by the face of the object just displayed. See also bug#76. | |
637 | (get_next_display_element): If the string came from a display | |
638 | property, examine the box face attribute at it->position, not at | |
639 | it->current.pos, since the latter was not updated yet. (Bug#16870) | |
640 | (handle_face_prop): Improve commentary. | |
641 | ||
d8c25f59 MA |
642 | 2014-02-27 Michael Albinus <michael.albinus@gmx.de> |
643 | ||
644 | * dbusbind.c (Fdbus__init_bus, Qdbus__init_bus, Sdbus__init_bus): | |
645 | Rename from Fdbus_init_bus_1, Qdbus_init_bus_1, Sdbus_init_bus_1. | |
646 | ||
aea124c4 MR |
647 | 2014-02-26 Martin Rudalics <rudalics@gmx.at> |
648 | ||
649 | Fixes around Bug#16647. | |
650 | * xdisp.c (remember_mouse_glyph): Handle ON_RIGHT_DIVIDER and | |
651 | ON_BOTTOM_DIVIDER cases. | |
652 | * window.c (coordinates_in_window): Return ON_VERTICAL_BORDER | |
653 | only if the window has no right divider. | |
654 | (Fcoordinates_in_window_p): Fix doc-string. | |
655 | ||
0e46275b JB |
656 | 2014-02-25 Juanma Barranquero <lekktu@gmail.com> |
657 | ||
658 | * lread.c (Funintern): Fix doc to match advertised calling convention. | |
659 | ||
7c56ecf5 DC |
660 | 2014-02-24 Daniel Colascione <dancol@dancol.org> |
661 | ||
662 | * keyboard.c (read_char): Close race that resulted in lost events. | |
663 | ||
f33095ed GM |
664 | 2014-02-22 Glenn Morris <rgm@gnu.org> |
665 | ||
ca58fa73 GM |
666 | * frame.c (frame-alpha-lower-limit, frame-resize-pixelwise): |
667 | * window.c (window-resize-pixelwise): Doc fixes. | |
668 | ||
f33095ed GM |
669 | * process.c (Finternal_default_process_filter) |
670 | (Finternal_default_process_sentinel): Doc tweaks. | |
671 | ||
458e643b GM |
672 | 2014-02-21 Glenn Morris <rgm@gnu.org> |
673 | ||
674 | * process.c (Fprocess_buffer, Faccept_process_output) | |
675 | (Finternal_default_process_filter, Finternal_default_process_sentinel): | |
676 | Doc fixes. | |
677 | ||
8dd3e94f MR |
678 | 2014-02-21 Martin Rudalics <rudalics@gmx.at> |
679 | ||
680 | * window.c (Fwindow_scroll_bar_width): New function. | |
681 | ||
9901fa1a PE |
682 | 2014-02-21 Paul Eggert <eggert@cs.ucla.edu> |
683 | ||
684 | Pacify GCC when configuring with --enable-gcc-warnings. | |
685 | * xdisp.c (move_it_in_display_line_to) [lint]: | |
686 | Initialize recently-added local. | |
687 | ||
48198420 DC |
688 | 2014-02-21 Daniel Colascione <dancol@dancol.org> |
689 | ||
690 | * dbusbind.c: Rename dbus-init-bus to dbus-init-bus-1. | |
691 | ||
44a2be2d EZ |
692 | 2014-02-20 Eli Zaretskii <eliz@gnu.org> |
693 | ||
694 | * xdisp.c (init_iterator): Don't dereference a bogus face | |
695 | pointer. (Bug#16819) | |
dba8296c EZ |
696 | (try_cursor_movement): Don't use cursor position if |
697 | set_cursor_from_row failed to compute it. This avoids assertion | |
698 | violations in MATRIX_ROW. | |
679f7827 EZ |
699 | (move_it_in_display_line_to): Save the iterator state in ppos_it |
700 | only once per call. Reimplement the method used to return to the | |
701 | best candidate position if all the positions found in display line | |
702 | are beyond TO_CHARPOS. This cuts down the number of calls to | |
703 | bidi_shelve_cache, which moves a lot of stuff when lines are long | |
704 | and include bidirectional text. (Bug#15555) | |
44a2be2d | 705 | |
189e7007 GM |
706 | 2014-02-20 Glenn Morris <rgm@gnu.org> |
707 | ||
708 | * data.c (Fdefalias): Doc fix. | |
709 | ||
c0213820 EZ |
710 | 2014-02-19 Eli Zaretskii <eliz@gnu.org> |
711 | ||
d34f67da EZ |
712 | * xdisp.c (display_line): Fix horizontal scrolling of large images |
713 | when fringes are turned off. This comes at a price of not | |
714 | displaying the truncation/continuation glyphs in this case. | |
715 | (Bug#16806) | |
716 | ||
c0213820 EZ |
717 | * image.c (x_create_x_image_and_pixmap) [HAVE_NTGUI]: If |
718 | CreateDIBSection returns an error indication, zero out *ximg after | |
719 | destroying the image. This avoids crashes in memory allocations | |
720 | due to the fact that some of the callers also call | |
721 | x_destroy_x_image, which will attempt to free an already free'd | |
722 | block of memory. | |
723 | ||
5185f8ed MR |
724 | 2014-02-18 Martin Rudalics <rudalics@gmx.at> |
725 | ||
726 | * widget.c (update_various_frame_slots): Don't set | |
727 | FRAME_PIXEL_HEIGHT and FRAME_PIXEL_WIDTH here (Bug#16736). | |
728 | ||
1825653e MA |
729 | 2014-02-18 Michael Albinus <michael.albinus@gmx.de> |
730 | ||
731 | * dbusbind.c (xd_close_bus): Apply proper check on busobj. | |
732 | ||
3cb98721 PE |
733 | 2014-02-17 Paul Eggert <eggert@cs.ucla.edu> |
734 | ||
735 | temacs --daemon fix (Bug#16599). | |
736 | * emacs.c (main): Initialize daemon_pipe[1] here ... | |
737 | (syms_of_emacs): ... instead of here. | |
738 | ||
35e951cd | 739 | 2014-02-16 Anders Lindgern <andlind@gmail.com> |
62901354 AL |
740 | |
741 | * nsterm.m (keyDown:): Check for normal key even if NSNumericPadKeyMask | |
742 | is set (Bug#16505). | |
743 | ||
fa8ac13c DC |
744 | 2014-02-16 Daniel Colascione <dancol@dancol.org> |
745 | ||
746 | * dbusbind.c (xd_lisp_dbus_to_dbus): New function. | |
747 | (xd_get_connection_address): Use it. | |
748 | (xd_close_bus): Use xd_lisp_dbus_to_dbus to instead of | |
749 | xd_get_connection_address because the latter signals if the bus | |
750 | we're trying to close is already disconnected. | |
751 | ||
e2607667 EZ |
752 | 2014-02-13 Eli Zaretskii <eliz@gnu.org> |
753 | ||
754 | * w32proc.c (start_timer_thread): Pass a non-NULL pointer as last | |
755 | argument to CreateThread. This avoids segfaults on Windows 9X. | |
756 | Reported by oslsachem <oslsachem@gmail.com>. | |
757 | ||
d51c175a PE |
758 | 2014-02-13 Paul Eggert <eggert@cs.ucla.edu> |
759 | ||
760 | Fix subspace record bug on HP-UX 10.20 (Bug#16717). | |
761 | * unexhp9k800.c (unexec_error): New function, to simplify the code. | |
762 | (check_lseek): New function, to report lseek errors. | |
763 | (save_data_space, update_file_ptrs, read_header, write_header) | |
764 | (copy_file, copy_rest, unexec): Use these news functions. | |
765 | (update_file_ptrs): Don't assume wraparound behavior when | |
766 | converting a large size_t value to off_t. | |
767 | ||
28c16c40 DA |
768 | 2014-02-13 Dmitry Antipov <dmantipov@yandex.ru> |
769 | ||
770 | * composite.c (fill_gstring_header): Pass positions as C integers | |
771 | and move parameters checking to... | |
ccd5d23b DA |
772 | (Fcomposition_get_gstring): ...this function. Handle case when |
773 | buffer positions are in reversed order and avoid crash (Bug#16739). | |
774 | Adjust docstring. | |
28c16c40 DA |
775 | * buffer.c (validate_region): Mention current buffer in error message. |
776 | ||
c295fc18 | 777 | 2014-02-12 Marcus Karlsson <mk@acc.umu.se> (tiny change) |
a9a61c77 JD |
778 | |
779 | * image.c (pbm_load): Set to NO_PIXMAP on error (Bug#16683). | |
780 | ||
81bf5420 LI |
781 | 2014-02-12 Lars Ingebrigtsen <larsi@gnus.org> |
782 | ||
783 | * buffer.c (syms_of_buffer): Doc clarification (bug#9981). | |
784 | ||
9a84bfd6 GM |
785 | 2014-02-11 Glenn Morris <rgm@gnu.org> |
786 | ||
787 | * nsfns.m (ns_display_info_for_name, Fx_open_connection): | |
788 | Replace refs to "OpenStep" in messages. | |
789 | ||
e41fe0d3 PE |
790 | 2014-02-10 Paul Eggert <eggert@cs.ucla.edu> |
791 | ||
792 | Avoid "." at end of error diagnostics. | |
793 | * cmds.c (Fself_insert_command): Reword and avoid "." at end. | |
794 | * font.c (Ffont_at): | |
795 | * nsfns.m (ns_display_info_for_name): | |
796 | * nsselect.m (Fx_own_selection_internal): | |
797 | * nsterm.m (performDragOperation:): | |
798 | Remove "." from end of diagnostic. | |
799 | ||
a3a8a7da LI |
800 | 2014-02-10 Lars Ingebrigtsen <larsi@gnus.org> |
801 | ||
802 | * fns.c (Fmaphash): Say what `maphash' returns, since it may be | |
803 | unintuitive (bug#15824). | |
8cd86d04 | 804 | (Fyes_or_no_p): Doc fix (bug#15456). |
a3a8a7da | 805 | |
c6795590 DA |
806 | 2014-02-10 Dmitry Antipov <dmantipov@yandex.ru> |
807 | ||
808 | * cmds.c (Fself_insert_command): Respect the width of EMACS_INT | |
809 | and avoid warning. | |
575593db DA |
810 | * eval.c (call_debugger): When exiting the debugger, do not allow |
811 | max_specpdl_size less than actual binding depth (Bug#16603). | |
812 | (syms_of_eval): Adjust docstring. | |
c6795590 | 813 | |
fe461220 LI |
814 | 2014-02-09 Lars Ingebrigtsen <larsi@gnus.org> |
815 | ||
c838bca9 LI |
816 | * cmds.c (Fself_insert_command): Output a clearer error message on |
817 | negative repetitions (bug#9476). | |
818 | ||
fe461220 LI |
819 | * macros.c (Fexecute_kbd_macro): Doc fix (bug#14206). |
820 | ||
af3e68a0 LI |
821 | 2014-02-08 Lars Ingebrigtsen <larsi@gnus.org> |
822 | ||
8acaaad7 LI |
823 | * syntax.c (Fskip_syntax_backward): Doc clarification (bug#15115). |
824 | ||
aa60235a LI |
825 | * minibuf.c (Fread_string): Doc clarification (bug#15422). |
826 | ||
af3e68a0 LI |
827 | * buffer.c (Fmake_overlay): Doc clarification (bug#15489). |
828 | ||
85ade7ee JB |
829 | 2014-02-08 Juanma Barranquero <lekktu@gmail.com> |
830 | ||
831 | * keyboard.c (Frecursive_edit): Fix typo in docstring. | |
832 | ||
bb01d7bb LI |
833 | 2014-02-08 Lars Ingebrigtsen <larsi@gnus.org> |
834 | ||
fff711ee LI |
835 | * xdisp.c (syms_of_xdisp): Doc clarification (bug#15657). |
836 | ||
bb01d7bb LI |
837 | * keyboard.c (Frecursive_edit): Say more precicely how throwing |
838 | `exit' works (bug#15865). | |
839 | ||
99f10a5d MR |
840 | 2014-02-07 Martin Rudalics <rudalics@gmx.at> |
841 | ||
9be95071 | 842 | Constrain window box/body sizes and margin widths (Bug#16649). |
99f10a5d MR |
843 | * xdisp.c (window_box_width): Don't return less than zero. |
844 | (window_box_left_offset, window_box_right_offset): Don't return | |
845 | more than the window's pixel width. | |
dc0e4c48 MR |
846 | * window.c (window_body_height, window_body_width): Don't return |
847 | negative value. | |
9be95071 | 848 | (window_resize_apply): Adjust margin width, if necessary. |
99f10a5d | 849 | |
a0baf35f GM |
850 | 2014-02-07 Glenn Morris <rgm@gnu.org> |
851 | ||
852 | * nsterm.m (syms_of_nsterm): Doc fix. | |
853 | ||
829f4f22 EZ |
854 | 2014-02-06 Eli Zaretskii <eliz@gnu.org> |
855 | ||
5b87d0d9 MN |
856 | * w32.c (pMultiByteToWideChar, pWideCharToMultiByte): |
857 | New variables: pointers through which to call the respective APIs. | |
829f4f22 | 858 | (filename_to_utf16, filename_from_utf16, filename_to_ansi) |
5b87d0d9 MN |
859 | (filename_from_ansi, sys_link, check_windows_init_file): |
860 | Call MultiByteToWideChar and WideCharToMultiByte through pointers. | |
829f4f22 EZ |
861 | This is required on Windows 9X, where we dynamically load |
862 | UNICOWS.DLL which has their non-stub implementations. | |
863 | (maybe_load_unicows_dll): Assign addresses to these 2 function | |
864 | pointers after loading UNICOWS.DLL. | |
865 | ||
866 | * w32fns.c (Fx_file_dialog, Fw32_shell_execute) [!CYGWIN]: Call | |
867 | MultiByteToWideChar and WideCharToMultiByte through function | |
868 | pointers. | |
869 | ||
5b87d0d9 MN |
870 | * w32.h (pMultiByteToWideChar, pWideCharToMultiByte): |
871 | New declarations. | |
829f4f22 | 872 | |
029788c7 JD |
873 | 2014-02-06 Jan Djärv <jan.h.d@swipnet.se> |
874 | ||
875 | * nsterm.m (toggleFullScreen:): Hide menubar on secondary monitor | |
876 | for OSX >= 10.9 if separate spaces are used. | |
877 | (toggleFullScreen:): Use screen of w instead of fw (Bug#16659). | |
878 | ||
314ffdb1 GM |
879 | 2014-02-06 Glenn Morris <rgm@gnu.org> |
880 | ||
881 | * buffer.c (cache-long-scans): Doc fix. | |
882 | ||
6d48053b EZ |
883 | 2014-02-05 Eli Zaretskii <eliz@gnu.org> |
884 | ||
885 | * w32fns.c (Fw32_shell_execute): Doc fix. | |
886 | ||
bfdd79d3 BG |
887 | 2014-02-05 Bastien Guerry <bzg@gnu.org> |
888 | ||
889 | * syntax.c (Fforward_word): Call Fconstrain_to_field with | |
890 | ESCAPE-FROM-EDGE set to `nil' (Bug#16453). | |
891 | ||
fa49abf8 MR |
892 | 2014-02-05 Martin Rudalics <rudalics@gmx.at> |
893 | ||
415e3810 MR |
894 | * fringe.c (draw_fringe_bitmap_1): Don't draw a fringe if it's |
895 | outside the window (Bug#16649). | |
896 | ||
fa49abf8 MR |
897 | * xdisp.c (note_mouse_highlight): When entering a margin area show |
898 | a non-text cursor (Bug#16647). | |
899 | ||
8e5917ec PE |
900 | 2014-02-04 Paul Eggert <eggert@cs.ucla.edu> |
901 | ||
902 | * menu.c (Fx_popup_dialog): Remove label 'dialog_via_menu'. | |
903 | It prompted a compile-time diagnostic on GNU/Linux. | |
904 | Simplify to remove the need for the label. | |
905 | ||
e139a33c EZ |
906 | 2014-02-04 Eli Zaretskii <eliz@gnu.org> |
907 | ||
908 | * w32menu.c (w32_popup_dialog): Don't condition the whole function | |
909 | on HAVE_DIALOGS. If the dialog is "simple", pop up a message box | |
910 | to show it; otherwise return 'unsupported--w32-dialog' to signal | |
5b87d0d9 MN |
911 | to the caller that emulation with menus is necessary. |
912 | This resurrects code inadvertently deleted by the 2013-10-08 commit. | |
e139a33c EZ |
913 | (Bug#16636) |
914 | (syms_of_w32menu): DEFSYM Qunsupported__w32_dialog. | |
915 | ||
916 | * w32term.h (w32_popup_dialog): Prototype is no longer conditioned | |
917 | by HAVE_DIALOGS. | |
918 | ||
919 | * menu.c (Fx_popup_dialog): Don't condition the call to | |
920 | w32_popup_dialog on HAVE_DIALOGS. If w32_popup_dialog returns a | |
921 | special symbol 'unsupported--w32-dialog', emulate the dialog with | |
922 | a menu by calling x-popup-menu. | |
923 | ||
924 | * menu.h (Qunsupported__w32_dialog): New extern variable. | |
925 | ||
86d2bf49 MA |
926 | 2014-02-04 Michael Albinus <michael.albinus@gmx.de> |
927 | ||
928 | * keyboard.c (kbd_buffer_get_event): Read file notification events | |
929 | also in batch mode. | |
930 | ||
931 | * xgselect.c (xg_select): Read glib events in any case, even if | |
932 | there are no file descriptors to watch for. (Bug#16519) | |
933 | ||
764ec9e5 MR |
934 | 2014-02-03 Martin Rudalics <rudalics@gmx.at> |
935 | ||
936 | * dispextern.h (face_id): Add WINDOW_DIVIDER_FIRST_PIXEL_FACE_ID | |
937 | and WINDOW_DIVIDER_LAST_PIXEL_FACE_ID. | |
938 | * w32term.c (w32_draw_window_divider): Handle first and last | |
939 | pixels specially. | |
940 | * w32term.h (w32_fill_area_abs): New function. | |
941 | * xdisp.c (x_draw_right_divider): Don't draw over bottom | |
942 | divider. | |
943 | * xfaces.c (realize_basic_faces): Handle new face ids. | |
944 | * xfns.c (Fx_create_frame): Call x_default_parameter for right | |
945 | and bottom divider width. | |
946 | * xterm.c (x_draw_window_divider): Handle first and last pixels | |
947 | specially. | |
948 | ||
34baf96c DA |
949 | 2014-02-03 Dmitry Antipov <dmantipov@yandex.ru> |
950 | ||
951 | * print.c (Fexternal_debugging_output): Add cast to pacify | |
952 | --enable-gcc-warnings. | |
9cad4576 DA |
953 | * eval.c (call_debugger): Grow specpdl if the debugger was |
954 | entered due to specpdl overflow (Bug#16603) and allow more | |
955 | specpdl space for the debugger itself. | |
34baf96c | 956 | |
b4168649 MR |
957 | 2014-02-02 Martin Rudalics <rudalics@gmx.at> |
958 | ||
959 | * w32fns.c (Fx_create_frame): Process frame alpha earlier. | |
960 | (Bug#16619) | |
961 | ||
cb13e9a8 EZ |
962 | 2014-02-01 Eli Zaretskii <eliz@gnu.org> |
963 | ||
28e6cee8 EZ |
964 | * w32fns.c (Ffile_system_info): Use WINAPI in the function |
965 | pointers that get the address of GetDiskFreeSpaceEx. (Bug#16615) | |
966 | ||
9ef58a52 EZ |
967 | * print.c (Fexternal_debugging_output): If the argument character |
968 | is non-ASCII, encode it with the current locale's encoding before | |
969 | writing the result to the terminal. (Bug#16448) | |
970 | ||
cb13e9a8 EZ |
971 | * w32fns.c (Fw32_shell_execute): Don't call file-exists-p for |
972 | DOCUMENT that is a "remote" file name, i.e. a file-handler exists | |
973 | for it. (Bug#16558) | |
974 | ||
507a173f AS |
975 | 2014-01-30 Andreas Schwab <schwab@linux-m68k.org> |
976 | ||
977 | * process.c (create_process): Reset SIGPROF handler in the child. | |
978 | * callproc.c (call_process): Likewise. | |
979 | ||
e9abb8a8 PE |
980 | 2014-01-29 Paul Eggert <eggert@cs.ucla.edu> |
981 | ||
982 | * xmenu.c (create_and_show_popup_menu): Port comment to C89. | |
983 | ||
198af6df EZ |
984 | 2014-01-29 Eli Zaretskii <eliz@gnu.org> |
985 | ||
824a51e6 EZ |
986 | * .gdbinit (xprintstr, xprintbytestr): Don't use repetition count |
987 | of zero to print strings, GDB doesn't like it. | |
988 | ||
198af6df EZ |
989 | * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE, not |
990 | STRING_CHAR_AND_LENGTH, so that if the string is relocated by GC, | |
991 | we still use correct addresses. (Bug#16576) | |
992 | ||
52840a9c KH |
993 | 2014-01-27 K. Handa <handa@gnu.org> |
994 | ||
f2726fa2 GM |
995 | Fix bug#16286 by a different method from 2014-01-26T00:32:30Z!eggert@cs.ucla.edu, |
996 | to preserve the code detection behavior of 24.3. | |
52840a9c | 997 | * coding.h (struct coding_system): New member detected_utf8_bytes. |
52840a9c KH |
998 | * coding.c (detect_coding_utf_8): Set coding->detected_utf8_bytes. |
999 | (decode_coding_gap): Use short cut for UTF-8 file reading only | |
1000 | when coding->detected_utf8_bytes equals to coding->src_bytes. | |
52840a9c KH |
1001 | * fileio.c (Finsert_file_contents): Cancel the previous change. |
1002 | ||
5442c6ce MR |
1003 | 2014-01-29 Martin Rudalics <rudalics@gmx.at> |
1004 | ||
1005 | * w32fns.c (x_set_tool_bar_lines): Don't clear area on frames | |
1006 | that are not visible. | |
1007 | ||
61c2b0b3 JD |
1008 | 2014-01-29 Jan Djärv <jan.h.d@swipnet.se> |
1009 | ||
1010 | * xmenu.c (create_and_show_popup_menu): Handle case when no key | |
1011 | is grabbed (Bug#16565). | |
1012 | ||
1dcb169c MR |
1013 | 2014-01-28 Martin Rudalics <rudalics@gmx.at> |
1014 | ||
1015 | * xdisp.c (last_max_ascent): Re-remove after erroneously | |
1016 | reintroducing it on 2013-11-30 and abolishing Dmitry's removal | |
1017 | from 2013-03-29. | |
1018 | (move_it_to): Re-remove reference to last_max_ascent. | |
1019 | (Fwindow_text_pixel_size): Add iterator's max_ascent and | |
5b87d0d9 MN |
1020 | max_descent here instead of calling line_bottom_y. |
1021 | Fix doc-string. | |
1dcb169c | 1022 | |
6affb4a8 DA |
1023 | 2014-01-28 Dmitry Antipov <dmantipov@yandex.ru> |
1024 | ||
1025 | * terminal.c (initial_free_frame_resources): New function. | |
1026 | (init_initial_terminal): Install new hook to free face cache | |
1027 | on initial frame and avoid memory leak. For details, see | |
1028 | <http://lists.gnu.org/archive/html/emacs-devel/2014-01/msg01974.html>. | |
2275de87 | 1029 | * xfaces.c (free_frame_faces): Adjust comment. |
6affb4a8 | 1030 | |
12cb2b06 PE |
1031 | 2014-01-26 Paul Eggert <eggert@cs.ucla.edu> |
1032 | ||
1033 | * data.c (Fstring_to_number): Document results if unparsable | |
1034 | (Bug#16551). | |
1035 | ||
4988180d JD |
1036 | 2014-01-26 Jan Djärv <jan.h.d@swipnet.se> |
1037 | ||
1038 | * xterm.c (x_focus_changed): Check for non-X terminal-frame (Bug#16540) | |
1039 | ||
4f8c23b1 PE |
1040 | 2014-01-26 Paul Eggert <eggert@cs.ucla.edu> |
1041 | ||
e6f29a68 PE |
1042 | When decoding, prefer ptrdiff_t to int for buffer positions etc. |
1043 | * coding.c (detect_coding_utf_8, emacs_mule_char) | |
1044 | (detect_coding_iso_2022, encode_coding_iso_2022, check_ascii) | |
1045 | (check_utf_8, decode_coding): | |
1046 | * coding.h (struct coding_system.errors): | |
1047 | Use ptrdiff_t, not int, for integer values derived from buffer and | |
1048 | string positions. | |
1049 | ||
4f8c23b1 PE |
1050 | Fix crash with insert-file-contents and misdecoded text (Bug#16286). |
1051 | * fileio.c (Finsert_file_contents): Set CODING_MODE_LAST_BLOCK | |
1052 | before invoking decode_coding_gap, since there's just one block. | |
1053 | ||
45ccd909 MR |
1054 | 2014-01-25 Martin Rudalics <rudalics@gmx.at> |
1055 | ||
1056 | Fix handling of face attributes in Fx_create_frame (Bug#16529). | |
1057 | * w32fns.c (Fx_create_frame): Don't inhibit running Lisp code | |
1058 | too early. Again run change_frame_size before assigning menu- | |
1059 | and tool-bar-lines. | |
1060 | ||
83682f3e FP |
1061 | 2014-01-25 Fabrice Popineau <fabrice.popineau@gmail.com> |
1062 | ||
1063 | * w32term.c (w32_read_socket): When the WM_DISPLAYCHANGE message | |
1064 | arrives, call x_check_fullscreen, in case the new display has a | |
1065 | different resolution. (Bug#16517) | |
1066 | ||
e96f7bf1 EZ |
1067 | 2014-01-25 Eli Zaretskii <eliz@gnu.org> |
1068 | ||
1069 | * term.c (read_menu_input): If the selected frame changes, exit | |
1070 | the menu. | |
1071 | (tty_menu_show): If the selected frame changes while we displayed | |
1072 | a menu, throw to top level. (Bug#16479) | |
1073 | ||
afd4479f SM |
1074 | 2014-01-25 Stefan Monnier <monnier@iro.umontreal.ca> |
1075 | ||
1076 | * eval.c (Fsignal): Fix `debug' handling to match 2013-10-03 change. | |
1077 | ||
0fadc0b0 PE |
1078 | 2014-01-24 Paul Eggert <eggert@cs.ucla.edu> |
1079 | ||
1080 | Fix bool-vector-count-population bug on MinGW64 (Bug#16535). | |
1081 | * data.c (count_one_bits_word): Fix bug (negated comparison) | |
1082 | when BITS_PER_ULL < BITS_PER_BITS_WORD. | |
1083 | ||
aac1f8dd DA |
1084 | 2014-01-24 Dmitry Antipov <dmantipov@yandex.ru> |
1085 | ||
5b87d0d9 MN |
1086 | * xdisp.c (reseat_1, Fcurrent_bidi_paragraph_direction): |
1087 | Avoid undefined behavior by initializing display property bit of a | |
aac1f8dd DA |
1088 | string processed by the bidirectional iterator. For details, see |
1089 | <http://lists.gnu.org/archive/html/emacs-devel/2014-01/msg01920.html>. | |
1090 | ||
ed44be70 PE |
1091 | 2014-01-23 Paul Eggert <eggert@cs.ucla.edu> |
1092 | ||
1093 | Minor cleanup of previous change. | |
1094 | * image.c (imagemagick_error, Fimagemagick_types): | |
1095 | Omit some recently-introduced and unnecessary casts and assignments. | |
1096 | ||
565935c8 DA |
1097 | 2014-01-23 Dmitry Antipov <dmantipov@yandex.ru> |
1098 | ||
1099 | Fix two memory leaks discovered with Valgrind. | |
1100 | * ftfont.c (ftfont_list) [HAVE_LIBOTF]: Call OTF_close. | |
1101 | * image.c (Fimagemagick_types): Call MagickRelinquishMemory. | |
1102 | ||
6cb4da45 MR |
1103 | 2014-01-22 Martin Rudalics <rudalics@gmx.at> |
1104 | ||
1105 | Fixes in window size functions around Bug#16430 and Bug#16470. | |
1106 | * window.c (Fwindow_pixel_width, Fwindow_pixel_height) | |
1107 | (Fwindow_mode_line_height, Fwindow_header_line_height) | |
1108 | (Fwindow_right_divider_width, Fwindow_bottom_divider_width): | |
1109 | Minor doc-string adjustments. | |
1110 | (Fwindow_total_height, Fwindow_total_width): New argument ROUND. | |
1111 | Rewrite doc-strings. | |
1112 | (window_body_height, window_body_width): Do not count partially | |
1113 | visible lines/columns when PIXELWISE is nil (Bug#16470). | |
1114 | (Qfloor, Qceiling): New symbols. | |
1115 | ||
f7551c6c EZ |
1116 | 2014-01-21 Eli Zaretskii <eliz@gnu.org> |
1117 | ||
1118 | * w32fns.c (unwind_create_frame): Avoid crashing inside assertion | |
1119 | when the image cache is not yet allocated. (Bug#16509) | |
1120 | ||
5004c3bf DA |
1121 | 2014-01-21 Dmitry Antipov <dmantipov@yandex.ru> |
1122 | ||
1123 | * buffer.c (Fkill_buffer): When killing an indirect buffer, | |
1124 | re-attach intervals to its base buffer (Bug#16502). | |
1125 | * intervals.c (set_interval_object): Move from here... | |
1126 | * intervals.h (set_interval_object): ... to here. Fix comments. | |
1127 | ||
f952002e PE |
1128 | 2014-01-20 Paul Eggert <eggert@cs.ucla.edu> |
1129 | ||
009581fa | 1130 | Avoid undefined behavior by initializing buffer redisplay bit. |
3c35702f PE |
1131 | Problem reported by Dmitry Antipov in |
1132 | <http://lists.gnu.org/archive/html/emacs-devel/2014-01/msg01756.html>. | |
009581fa | 1133 | * buffer.c (Fget_buffer_create): Initialize redisplay bit. |
3c35702f | 1134 | |
f952002e PE |
1135 | Revert some of the CANNOT_DUMP fix (Bug#16494). |
1136 | * lread.c (init_lread): Fix typo: NILP, not !NILP. | |
1137 | ||
21f95411 EZ |
1138 | 2014-01-19 Eli Zaretskii <eliz@gnu.org> |
1139 | ||
1140 | * w32font.c (w32_load_unicows_or_gdi32, get_outline_metrics_w) | |
1141 | (get_text_metrics_w, get_glyph_outline_w, get_char_width_32_w) | |
1142 | [!WINDOWSNT]: These functions are no longer compiled on Cygwin; | |
1143 | they are replaced by macros that expand into direct calls to the | |
1144 | corresponding functions from GDI32.DLL. | |
1145 | (globals_of_w32font) [WINDOWSNT]: Don't initialize g_b_* static | |
1146 | variables in the Cygwin build, they are unused. | |
1147 | ||
d25f735b KH |
1148 | 2014-01-19 K. Handa <handa@gnu.org> |
1149 | ||
1150 | * composite.c (composition_update_it): Fix previous change. | |
1151 | ||
5197f0c2 EZ |
1152 | 2014-01-18 Eli Zaretskii <eliz@gnu.org> |
1153 | ||
1154 | Fix file name handling on MS-Windows 9X. | |
1155 | * w32.c (maybe_load_unicows_dll): New function. | |
1156 | ||
1157 | * emacs.c (main) [WINDOWSNT]: Call maybe_load_unicows_dll early | |
1158 | on, to make sure we can convert file names to and from UTF-8 on | |
1159 | Windows 9X. This fixes a failure to start up because Emacs cannot | |
1160 | find term/w32-win.el. Reported by oslsachem <oslsachem@gmail.com>. | |
1161 | ||
1162 | * w32font.c [WINDOWSNT]: Include w32.h. | |
1163 | (w32_load_unicows_or_gdi32): Call maybe_load_unicows_dll, instead | |
1164 | of implementing the same stuff. | |
1165 | Remove now unused g_b_init_is_windows_9x. | |
1166 | ||
1167 | * w32.h (maybe_load_unicows_dll): Add prototype. | |
1168 | ||
20adfbd8 EZ |
1169 | 2014-01-17 Eli Zaretskii <eliz@gnu.org> |
1170 | ||
1171 | * menu.c (Fx_popup_menu): When invoking tty_menu_show, temporarily | |
1172 | switch to single keyboard. Prevents daemon crashes when a new | |
1173 | client connects while we show a TTY menu in an existing client. | |
1174 | (Bug#16479) | |
1175 | ||
d1eaf34b PE |
1176 | 2014-01-14 Paul Eggert <eggert@cs.ucla.edu> |
1177 | ||
1178 | Fix MinGW64 porting problem with _setjmp. | |
1179 | Reported by Eli Zaretskii in: | |
1180 | http://lists.gnu.org/archive/html/emacs-devel/2014-01/msg01297.html | |
1181 | * image.c (FAST_SETJMP, FAST_LONGJMP): New macros, replacing | |
1182 | the old _setjmp and _longjmp. All uses changed. | |
1183 | ||
1b49bd5d DC |
1184 | 2014-01-13 Daniel Colascione <dancol@dancol.org> |
1185 | ||
5b87d0d9 MN |
1186 | * textprop.c (Fremove_list_of_text_properties): |
1187 | Correctly handle reaching the end of the interval tree. (Bug#15344) | |
1b49bd5d | 1188 | |
a3f2bf1b MR |
1189 | 2014-01-13 Martin Rudalics <rudalics@gmx.at> |
1190 | ||
1191 | * xdisp.c (resize_mini_window): Round height to a multiple of | |
1192 | frame's line height. Fix bug in calculation of window start | |
1193 | position (Bug#16424). | |
1194 | ||
6c21e306 JD |
1195 | 2014-01-13 Jan Djärv <jan.h.d@swipnet.se> |
1196 | ||
1197 | * macfont.m: Include termchar.h. | |
1198 | (CG_SET_FILL_COLOR_WITH_FACE_FOREGROUND) | |
1199 | (CG_SET_FILL_COLOR_WITH_FACE_BACKGROUND) | |
5b87d0d9 | 1200 | (CG_SET_STROKE_COLOR_WITH_FACE_FOREGROUND): Modify from |
6c21e306 JD |
1201 | *_WITH_GC_* to take face and f as parameters. |
1202 | (macfont_draw): Check for DRAW_MOUSE_FACE and set face accordingly. | |
1203 | Use *_WITH_FACE_*, and pass face as parameter (Bug#16425). | |
1204 | ||
7a1b473c DC |
1205 | 2014-01-13 Daniel Colascione <dancol@dancol.org> |
1206 | ||
1207 | Fix menu item updating in the presence of the Unity global menu | |
1208 | GTK+ module. | |
1209 | ||
1210 | * gtkutil.h (xg_have_tear_offs): Add frame parameter | |
1211 | * gtkutil.c (xg_have_tear_offs): Count the global menu as a | |
1212 | tear-off. | |
c295fc18 | 1213 | (xg_update_menubar, xg_update_menu_item): Call g_object_notify when |
7a1b473c | 1214 | updating menus; explain why. |
a787d37a DC |
1215 | (xg_update_frame_menubar): Remove the 23px hack: I can't repro the |
1216 | problem it's supposed to solve and it interferes with detecting | |
1217 | the presence of a global menu. | |
7a1b473c DC |
1218 | * xmenu.c (set_frame_menubar): Call xg_have_tear_offs with new |
1219 | parameter. | |
1220 | ||
67671fb1 KH |
1221 | 2014-01-11 K. Handa <handa@gnu.org> |
1222 | ||
1223 | * composite.c (composition_update_it): Fix indexing of | |
1224 | LGSTRING_CHAR (Bug#15984). | |
1225 | ||
e05d3a05 FP |
1226 | 2014-01-11 Fabrice Popineau <fabrice.popineau@gmail.com> |
1227 | ||
1228 | * unexw32.c (_start) [__MINGW64__]: Define to __start. | |
1229 | ||
02013850 EZ |
1230 | 2014-01-11 Eli Zaretskii <eliz@gnu.org> |
1231 | ||
1232 | * xdisp.c (try_window_id): Don't use this function's optimizations | |
1233 | if overlays in the buffer displayed by the window have changed | |
1234 | since last redisplay. (Bug#16347) | |
1235 | (message_dolog): Fix indentation. | |
1236 | ||
f96d0a6b MR |
1237 | 2014-01-11 Martin Rudalics <rudalics@gmx.at> |
1238 | ||
1239 | * frame.c (frame_resize_pixelwise): Fix doc-string. | |
1240 | ||
7d7ccb88 MR |
1241 | 2014-01-10 Martin Rudalics <rudalics@gmx.at> |
1242 | ||
1243 | Fix handling of internal borders (Bug#16348). | |
5b87d0d9 MN |
1244 | * dispnew.c (adjust_frame_glyphs_for_window_redisplay): |
1245 | Remove internal border width from pixel width of windows. | |
7d7ccb88 MR |
1246 | (change_frame_size_1): Don't return early when frame's pixel |
1247 | size changes - we still have to record the new sizes in the | |
1248 | frame structure. | |
1249 | * w32fns.c (x_set_tool_bar_lines): Clear internal border width | |
1250 | also when toolbar gets larger. | |
1251 | * window.c (check_frame_size): Include internal_border_width in | |
1252 | check. | |
1253 | * xdisp.c (Ftool_bar_height): Fix doc-string typo. | |
5b87d0d9 MN |
1254 | * xfns.c (x_set_menu_bar_lines, x_set_tool_bar_lines): |
1255 | In non-toolkit/non-GTK version clear internal border. | |
7d7ccb88 MR |
1256 | * xterm.c (x_clear_under_internal_border): New function for |
1257 | non-toolkit/non-GTK version. | |
1258 | (x_after_update_window_line): In non-toolkit/non-GTK version | |
1259 | don't do that. | |
5b87d0d9 MN |
1260 | (handle_one_xevent, x_set_window_size): |
1261 | Call x_clear_under_internal_border in non-toolkit/non-GTK version. | |
7d7ccb88 MR |
1262 | * xterm.h (x_clear_under_internal_border): Extern it. |
1263 | ||
be316ede PE |
1264 | 2014-01-07 Paul Eggert <eggert@cs.ucla.edu> |
1265 | ||
1266 | Fix misdisplay of interlaced GIFs with libgif5 (Bug#16372). | |
1267 | * image.c (gif_load): libgif5 deinterlaces for us, so don't do | |
1268 | it again. | |
1269 | ||
9f4e49e9 EZ |
1270 | 2014-01-06 Eli Zaretskii <eliz@gnu.org> |
1271 | ||
1272 | * xdisp.c (redisplay_window): Don't skip window redisplay if the | |
1273 | last value of point is not equal to buffer's point. (Bug#16129) | |
1274 | ||
81da295e PE |
1275 | 2014-01-05 Paul Eggert <eggert@cs.ucla.edu> |
1276 | ||
da5ecfa9 PE |
1277 | Spelling fixes. |
1278 | * nsterm.h (updateCollectionBehavior): Rename from | |
1279 | updateCollectionBehaviour. All uses changed. | |
1280 | ||
81da295e PE |
1281 | Port to GNU/Linux with recent grsecurity/PaX patches (Bug#16343). |
1282 | * Makefile.in (SETFATTR): New macro. | |
1283 | (temacs$(EXEEXT)): Use it. | |
1284 | ||
5159d590 MR |
1285 | 2014-01-04 Martin Rudalics <rudalics@gmx.at> |
1286 | ||
1287 | Fix maximization behavior on Windows (Bug#16300). | |
1288 | * w32fns.c (w32_fullscreen_rect): Don't handle | |
1289 | FULLSCREEN_MAXIMIZED and FULLSCREEN_NONE specially. | |
1290 | * w32term.c (w32fullscreen_hook): Use SetWindowPlacement instead | |
1291 | of SetWindowPos. Restore last placement also when leaving | |
1292 | FULLSCREEN_HEIGHT and FULLSCREEN_WIDTH. Call ShowWindow in all | |
1293 | but the FULLSCREEN_BOTH case. | |
1294 | ||
56a0e352 PE |
1295 | 2014-01-03 Paul Eggert <eggert@cs.ucla.edu> |
1296 | ||
1297 | Port to C89. | |
1298 | * data.c (arithcompare_driver): | |
1299 | * fileio.c (Fcar_less_than_car): | |
1300 | * fns.c (internal_equal): | |
1301 | * frame.c (delete_frame): | |
1302 | * lisp.h (enum More_Lisp_Bits): | |
1303 | * lread.c (read1): | |
1304 | Avoid C99 constructs that don't work in C89. | |
1305 | * data.c (ULL_MAX, count_trailing_zeros_ll): New macros, | |
1306 | to port to C89, which doesn't have 'long long'. | |
1307 | (count_trailing_zero_bits): Use them. | |
1308 | ||
0d53f628 CY |
1309 | 2014-01-03 Chong Yidong <cyd@gnu.org> |
1310 | ||
1311 | * doc.c (Fdocumentation): Remove dynamic-docstring-function. | |
1312 | ||
44c5e192 MR |
1313 | 2014-01-02 Martin Rudalics <rudalics@gmx.at> |
1314 | ||
1315 | Further adjust frame/window scrollbar width calculations. | |
5b87d0d9 MN |
1316 | * window.c (apply_window_adjustment): |
1317 | Set windows_or_buffers_changed. | |
44c5e192 MR |
1318 | (Fwindow_scroll_bars): Return actual scrollbar width. |
1319 | * xfns.c (x_set_scroll_bar_default_width): Rename wid to unit. | |
1320 | For non-toolkit builds again use 14 as minimum width and set | |
1321 | FRAME_CONFIG_SCROLL_BAR_WIDTH accordingly. | |
1322 | * xterm.c (XTset_vertical_scroll_bar): Take width from | |
1323 | WINDOW_SCROLL_BAR_AREA_WIDTH. | |
1324 | (x_new_font): Rename wid to unit. Base calculation of new | |
1325 | scrollbar width on toolkit used and make it analogous to that of | |
1326 | x_set_scroll_bar_default_width. | |
1327 | * w32fns.c (x_set_scroll_bar_default_width): Rename wid to unit. | |
1328 | (Fx_create_frame): Call x_set_scroll_bar_default_width instead | |
1329 | of GetSystemMetrics. | |
1330 | * w32term.c (w32_set_vertical_scroll_bar): Take width from | |
1331 | WINDOW_SCROLL_BAR_AREA_WIDTH. | |
1332 | (x_new_font): Make it correspond to changes in xterm.c. | |
1333 | ||
b00cdd96 PE |
1334 | 2014-01-01 Paul Eggert <eggert@cs.ucla.edu> |
1335 | ||
1336 | * lisp.h (EMACS_INT): Configure based on INTPTR_MAX, not LONG_MAX. | |
1337 | This is a cleaner way to fix the MinGW-w64 porting problem. | |
1338 | Check for INTPTR_MAX misconfiguration. | |
1339 | ||
c10e9ece EZ |
1340 | 2014-01-01 Eli Zaretskii <eliz@gnu.org> |
1341 | ||
1342 | * search.c (newline_cache_on_off, find_newline): In indirect | |
1343 | buffers, use the newline cache of the base buffer. | |
1344 | ||
1345 | * insdel.c (invalidate_buffer_caches): If BUF is an indirect | |
1346 | buffer, invalidate the caches of its base buffer. (Bug#16265) | |
1347 | ||
1348 | * indent.c (width_run_cache_on_off, compute_motion): In indirect | |
1349 | buffers, use the width-run cache of the base buffer. | |
1350 | ||
1351 | * xdisp.c (redisplay_window): When the window displays an indirect | |
1352 | buffer, and the character widths in the display table have | |
1353 | changed, invalidate the width-run cache of the corresponding base | |
1354 | buffer. | |
1355 | ||
1356 | * fileio.c (Finsert_file_contents): When invalidating the newline | |
1357 | cache, consider the case of inserting into indirect buffer. | |
1358 | ||
1359 | * bidi.c (bidi_paragraph_cache_on_off, bidi_find_paragraph_start): | |
1360 | In indirect buffers, use the paragraph cache of the base buffer. | |
1361 | ||
91415fb1 MR |
1362 | 2013-12-31 Martin Rudalics <rudalics@gmx.at> |
1363 | ||
1364 | * window.c (grow_mini_window): Fix last change. | |
1365 | ||
a2301006 JD |
1366 | 2013-12-31 Jan Djärv <jan.h.d@swipnet.se> |
1367 | ||
1368 | * nsterm.m (windowDidResignKey:): Set mouse_moved to 0 (Bug#8421). | |
1369 | ||
0bbd0e0b FP |
1370 | 2013-12-31 Fabrice Popineau <fabrice.popineau@supelec.fr> |
1371 | ||
bd717ca4 FP |
1372 | * w32term.c (w32_initialize): Use LCID and LOWORD. |
1373 | ||
1374 | * w32proc.c (create_child): Use pid_t for 5th argument. | |
1375 | (IsValidLocale): Don't provide prototype for MinGW64. | |
1376 | (Fw32_get_valid_keyboard_layouts, Fw32_get_keyboard_layout) | |
1377 | (Fw32_set_keyboard_layout): Use HKL and HIWORD/LOWORD. | |
1378 | ||
1379 | * w32heap.c (allocate_heap) [_WIN64]: Use "ull", not "i64", which | |
1380 | MinGW64 doesn't support. | |
1381 | ||
1382 | * lisp.h (EMACS_INT) [_WIN64]: Define for the MinGW64 build. | |
1383 | ||
0bbd0e0b FP |
1384 | * w32.c (set_named_security_info): New function. |
1385 | (acl_set_file): Fall back on set_named_security_info if | |
1386 | set_file_security fails. | |
1387 | (g_b_init_set_named_security_info_w) | |
1388 | (g_b_init_set_named_security_info_a): New static variables. | |
1389 | (globals_of_w32): Initialize them to zero. | |
1390 | (set_named_security_info): Set them to non-zero if the | |
1391 | corresponding API is available. | |
5b87d0d9 MN |
1392 | (SetNamedSecurityInfoW_Proc, SetNamedSecurityInfoA_Proc): |
1393 | New function typedefs. | |
0bbd0e0b | 1394 | |
9b3c0a16 MR |
1395 | 2013-12-31 Martin Rudalics <rudalics@gmx.at> |
1396 | ||
1397 | Some more fixes following pixelwise resize changes including one | |
1398 | for Bug#16306. | |
1399 | * gtkutil.c (x_wm_set_size_hint): Have size hints respect value | |
1400 | of frame_resize_pixelwise. | |
1401 | * widget.c (pixel_to_text_size): New function. | |
1402 | (update_wm_hints): Have size hints respect value of | |
1403 | frame_resize_pixelwise. | |
1404 | (EmacsFrameResize): Alway process resize requests pixelwise. | |
1405 | * window.c (grow_mini_window): Make sure mini window is at least | |
1406 | one line tall. | |
1407 | * xdisp.c (display_menu_bar): Make sure menubar extends till | |
1408 | right end of frame. | |
1409 | * xfns.c (x_set_menu_bar_lines): Resize frame windows pixelwise. | |
1410 | (x_set_tool_bar_lines): Calculate pixelwise. | |
1411 | * xterm.c (x_wm_set_size_hint): Have size hints respect value of | |
1412 | frame_resize_pixelwise. | |
1413 | ||
2db9da01 JB |
1414 | 2013-12-30 Juanma Barranquero <lekktu@gmail.com> |
1415 | ||
1416 | * fileio.c (Fcopy_file) [!WINDOWSNT]: Don't declare on Windows | |
1417 | variables not used there. | |
1418 | ||
1b7259fc EZ |
1419 | 2013-12-30 Eli Zaretskii <eliz@gnu.org> |
1420 | ||
1421 | * w32.c (sys_umask): New function. (Bug#16299) | |
1422 | ||
564eb533 MR |
1423 | 2013-12-30 Martin Rudalics <rudalics@gmx.at> |
1424 | ||
1425 | * dispnew.c (change_frame_size_1): Take old width of root window | |
9b3c0a16 | 1426 | from that window's pixel width. (Bug#16284) |
564eb533 | 1427 | |
a560b856 PE |
1428 | 2013-12-29 Paul Eggert <eggert@cs.ucla.edu> |
1429 | ||
1430 | Plain copy-file no longer chmods an existing destination (Bug#16133). | |
1431 | * fileio.c (realmask): Now a static var, not a local. | |
1432 | (barf_or_query_if_file_exists): New arg KNOWN_TO_EXIST. | |
1433 | Remove arg STATPTR. All uses changed. | |
1434 | (Fcopy_file): Do not alter permissions of existing destinations, | |
1435 | unless PRESERVE-PERMISSIONS (renamed from | |
1436 | PRESERVE-EXTENDED-ATTRIBUTES) is non-nil. | |
1437 | Avoid race when testing for existing destinations and for | |
1438 | when input and output files are the same. | |
1439 | If changing the group fails, adjust both default and | |
1440 | preserved permissions so that access is not granted to the | |
1441 | wrong group. | |
1442 | (Fset_default_file_modes, init_fileio): Update realmask. | |
1443 | (Fdefault_file_modes): Use realmask instead of calling umask. | |
1444 | ||
411bf4a4 PE |
1445 | 2013-12-28 Paul Eggert <eggert@cs.ucla.edu> |
1446 | ||
1447 | Fix pipe bug with OS X emacs --daemon (Bug#16262). | |
1448 | * emacs.c (main) [DAEMON_MUST_EXEC]: Clear the close-on-exec | |
1449 | flags on the daemon pipe ends before execing. | |
1450 | ||
bf7bea5d EZ |
1451 | 2013-12-28 Eli Zaretskii <eliz@gnu.org> |
1452 | ||
1453 | * w32fns.c (Fx_create_frame): Error out if called from a TTY | |
1454 | session. (Bug#14739) | |
1455 | ||
fdadeb49 JC |
1456 | 2013-12-27 Jarek Czekalski <jarekczek@poczta.onet.pl> |
1457 | ||
1458 | * callproc.c (Vexec_path): Document that exec-directory is in it. | |
1459 | ||
765fe182 JD |
1460 | 2013-12-27 Steve Purcell <steve@sanityinc.com> (tiny change) |
1461 | ||
1462 | * nsterm.m (syms_of_nsterm): Enable ns-use-srgb-colorspace by | |
1463 | default. | |
1464 | ||
0f1d2934 CY |
1465 | 2013-12-27 Chong Yidong <cyd@gnu.org> |
1466 | ||
1467 | * data.c (Fsymbol_function): Doc fix. | |
1468 | ||
0cbab19e MR |
1469 | 2013-12-26 Martin Rudalics <rudalics@gmx.at> |
1470 | ||
1471 | Some more tinkering with Bug#16051. | |
1472 | * window.c (resize_frame_windows): Don't let the size of the | |
1473 | root window drop below the frame's default character size. | |
1474 | Never ever delete any subwindows - let the window manager do the | |
1475 | clipping. | |
1476 | ||
1477 | * w32fns.c (x_set_tool_bar_lines): Rewrite calculation of number | |
1478 | of toolbar lines needed when they exceed the height of the root | |
1479 | window. | |
1480 | (unwind_create_frame_1): New function. | |
1481 | (Fx_create_frame): Generally inhibit calling the window | |
1482 | configuration change hook here. Remove extra call to | |
1483 | change_frame_size - it's not needed when we don't run the | |
1484 | configuration change hook. | |
1485 | ||
e76119d7 PE |
1486 | 2013-12-26 Paul Eggert <eggert@cs.ucla.edu> |
1487 | ||
1488 | Fix core dumps with gcc -fsanitize=address and GNU/Linux. | |
1489 | On my Fedora 19 platform the core dumps were so big that | |
1490 | my desktop became nearly catatonic. | |
1491 | * alloc.c (no_sanitize_memcpy) [MAX_SAVE_STACK > 0]: New function. | |
1492 | (Fgarbage_collect) [MAX_SAVE_STACK > 0]: Use it. | |
1493 | (USE_ALIGNED_MALLOC): Do not define if addresses are sanitized. | |
1494 | (mark_memory): Use ATTRIBUTE_NO_SANITIZE_ADDRESS rather than | |
1495 | a clang-only syntax. | |
1496 | * conf_post.h (__has_feature): New macro, if not already defined. | |
1497 | (ADDRESS_SANITIZER, ADDRESS_SANITIZER_WORKAROUND) | |
1498 | (ATTRIBUTE_NO_SANITIZE_ADDRESS): New macros. | |
1499 | ||
9ab3ce4d EZ |
1500 | 2013-12-25 Eli Zaretskii <eliz@gnu.org> |
1501 | ||
1502 | * w32fns.c (Fw32_shell_execute): Make DOCUMENT absolute only if it | |
1503 | is a file name. (Bug#16252) | |
1504 | ||
c9352587 CY |
1505 | 2013-12-25 Chong Yidong <cyd@gnu.org> |
1506 | ||
35e951cd | 1507 | * keyboard.c (Voverriding_terminal_local_map) |
c9352587 CY |
1508 | (Voverriding_local_map): Doc fix. |
1509 | ||
1510 | * keymap.c (Vemulation_mode_map_alists): Doc fix. | |
1511 | ||
ec6e26b8 EZ |
1512 | 2013-12-24 Eli Zaretskii <eliz@gnu.org> |
1513 | ||
1514 | * w32fns.c (Fw32_shell_execute): Ensure DOCUMENT is an absolute | |
1515 | file name when it is submitted to ShellExecute. Simplify code. | |
1516 | Don't test DOCUMENT for being a string, as that is enforced by | |
1517 | CHECK_STRING. Doc fix. | |
1518 | ||
0db7548b EZ |
1519 | 2013-12-23 Eli Zaretskii <eliz@gnu.org> |
1520 | ||
1521 | * xdisp.c (tool_bar_height): Use WINDOW_PIXEL_WIDTH to set up the | |
1522 | iterator X limits, not FRAME_TOTAL_COLS, for consistency with what | |
1523 | redisplay_tool_bar does. Improve and fix commentary. | |
1524 | (hscroll_window_tree): Don't assume w->cursor.vpos is within the | |
1525 | limits of the glyph matrices. (Bug#16051) | |
cdcec259 EZ |
1526 | (redisplay_tool_bar): Modify the tool-bar-lines frame parameter |
1527 | only when the new size is different from the old one, and the new | |
1528 | size can be achieved given the frame height. | |
0db7548b | 1529 | |
30143e3d JD |
1530 | 2013-12-23 Jan Djärv <jan.h.d@swipnet.se> |
1531 | ||
1532 | * conf_post.h: Use unsigned it for bool_bf if GNUSTEP (Bug#16210). | |
1533 | ||
aec3bf9f GM |
1534 | 2013-12-23 Glenn Morris <rgm@gnu.org> |
1535 | ||
1536 | * lread.c (Fload): Mention load-prefer-newer in doc. | |
1537 | ||
a2b89a51 MR |
1538 | 2013-12-22 Martin Rudalics <rudalics@gmx.at> |
1539 | ||
1540 | Handle Bug#16207 by being more restrictive when running hooks. | |
1541 | * window.c (unwind_change_frame): New function. | |
1542 | (Fset_window_configuration): Don't run configuration change hook | |
1543 | while the frame configuration is unsafe. Call select_window | |
1544 | twice. | |
1545 | ||
2dc383bc XF |
1546 | 2013-12-22 Xue Fuqiao <xfq.free@gmail.com> |
1547 | ||
1548 | * lread.c (syms_of_lread) <load_prefer_newer>: Doc fix. | |
1549 | ||
df8b4c35 JD |
1550 | 2013-12-21 Jan Djärv <jan.h.d@swipnet.se> |
1551 | ||
1552 | * nsterm.h: Declare EmacsColor category. | |
1553 | ||
1554 | * nsterm.m (NSColor): Implement EmacsColor category. | |
1555 | (ns_get_color): Use colorUsingDefaultColorSpace. | |
1556 | (ns_get_color, ns_term_init): Use colorForEmacsRed. | |
1557 | ||
1558 | * nsfns.m (Fxw_color_values): Use colorUsingDefaultColorSpace. | |
1559 | ||
7667eeb9 EZ |
1560 | 2013-12-21 Eli Zaretskii <eliz@gnu.org> |
1561 | ||
1562 | * image.c (fn_png_longjmp) [WINDOWSNT]: Mark the function as | |
1563 | having the PNG_NORETURN attribute, to avoid compiler warning in | |
1564 | my_png_error. | |
1565 | ||
5b2b60f0 YM |
1566 | 2013-12-21 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> |
1567 | ||
1568 | * w32term.h (struct scroll_bar): Remove member `fringe_extended_p'. | |
1569 | ||
1570 | * w32term.c (w32_draw_fringe_bitmap, x_scroll_run): Remove code for | |
1571 | fringe background extension. | |
1572 | (x_scroll_bar_create): Remove variables `sb_left' and `sb_width', | |
1573 | because they are now always the same as `left' and `width', | |
1574 | respectively. Remove code for the case that `width' and | |
1575 | `sb_width' are different. | |
1576 | ||
c44de18d MR |
1577 | 2013-12-20 Martin Rudalics <rudalics@gmx.at> |
1578 | ||
1579 | Remove scroll_bar_actual_width from frames. | |
1580 | * frame.h (struct frame): Remove scroll_bar_actual_width slot. | |
1581 | * frame.c (Fscroll_bar_width): Return scroll bar area width. | |
1582 | (x_figure_window_size): | |
1583 | * nsterm.m (x_set_window_size): | |
1584 | * widget.c (set_frame_size): | |
1585 | * w32term.c (x_set_window_size): | |
1586 | * xterm.c (x_set_window_size, x_set_window_size_1): Don't set | |
1587 | scroll_bar_actual_width. | |
1588 | ||
1589 | Convert scroll_bar members to integers on Windows. | |
1590 | * w32term.h (struct scroll_bar): Convert top, left, width, | |
1591 | height, start, end and dragging to integers. | |
1592 | * w32fns.c (w32_createscrollbar): Remove XINT conversions for | |
1593 | scroll_bar members. | |
1594 | * w32term.c (w32_set_scroll_bar_thumb) | |
1595 | (w32_scroll_bar_handle_click): Remove XINT conversions for | |
1596 | scroll_bar members. Treat bar->dragging as integer. | |
1597 | (x_scroll_bar_create): Call ALLOCATE_PSEUDOVECTOR with "top" as | |
1598 | first element. Remove XINT conversions for scroll_bar members. | |
1599 | (w32_set_vertical_scroll_bar, x_scroll_bar_report_motion): | |
1600 | Remove XINT conversions for scroll_bar members. | |
1601 | ||
1602 | Fix assignment for new window total sizes. | |
1603 | * window.c (Fwindow_resize_apply_total): Assign values for | |
1604 | minibuffer window. | |
1605 | ||
f5df4ceb CY |
1606 | 2013-12-20 Chong Yidong <cyd@gnu.org> |
1607 | ||
1608 | * textprop.c (Fadd_face_text_property): Doc fix. Rename `appendp' | |
1609 | argument to `append'. | |
1610 | ||
79f7284f EZ |
1611 | 2013-12-19 Eli Zaretskii <eliz@gnu.org> |
1612 | ||
5df389f5 EZ |
1613 | * xdisp.c (extend_face_to_end_of_line): Use default face, not the |
1614 | current text face, for extending the face of the display margins. | |
1615 | (Bug#16192) | |
1616 | ||
79f7284f EZ |
1617 | * casefiddle.c (Fupcase_word, Fdowncase_word, Fcapitalize_word): |
1618 | Doc fix. (Bug#16190) | |
1619 | ||
1269a680 JD |
1620 | 2013-12-19 Jan Djärv <jan.h.d@swipnet.se> |
1621 | ||
1622 | * nsterm.h (KEY_NS_DRAG_FILE, KEY_NS_DRAG_COLOR, KEY_NS_DRAG_TEXT): | |
1623 | Remove. | |
1624 | ||
1625 | * nsterm.m (Qfile, Qurl): New. | |
1626 | (EV_MODIFIERS2): New macro. | |
1627 | (EV_MODIFIERS): Use EV_MODIFIERS2. | |
1628 | (ns_term_init): Remove font and color from DND, does not work on | |
1629 | newer OSX, and other ports don't have them. | |
1630 | (performDragOperation:): Handle modifiers used during drag. | |
1631 | Use DRAG_N_DROP_EVENT instead of NS specific events (Bug#8051). | |
1632 | Remove global Lisp variables used to communicate with ns-win.el. | |
1633 | Remove font and color handling. | |
1634 | (syms_of_nsterm): Defsym Qfile and Qurl. | |
1635 | ||
e9dc713d | 1636 | 2013-12-19 Anders Lindgren <andlind@gmail.com> |
680e6b8c JD |
1637 | |
1638 | * nsterm.m (NSTRACE_SIZE, NSTRACE_RECT): New macros. | |
1639 | (ns_constrain_all_frames, x_set_offset): Remove assignment to | |
1640 | dont_constrain. | |
1641 | (updateFrameSize:, windowWillResize:toSize:): Add trace. | |
1642 | (constrainFrameRect): Remove special case nr_screens == 1. | |
1643 | Don't constrain size to size of view. | |
1644 | ||
1645 | * nsterm.h (ns_output): Remove dont_constrain. | |
1646 | ||
e9dc713d | 1647 | 2013-12-19 Anders Lindgren <andlind@gmail.com> |
570c054a JD |
1648 | |
1649 | * nsterm.m (mouseDown:): Generate HORIZ_WHEEL_EVENT. | |
1650 | ||
518c40a2 PE |
1651 | 2013-12-18 Paul Eggert <eggert@cs.ucla.edu> |
1652 | ||
1653 | Minor fixes for recent openp changes. | |
1654 | * lisp.h (GCPRO7): New macro. | |
1655 | * lread.c (openp): Use bool for boolean; all callers changed. | |
1656 | Protect save_string from GC. Don't assume that file descriptors | |
1657 | are nonzero. Redo save_mtime comparison to avoid bogus GCC | |
1658 | warning about uninitialized variable. | |
1659 | ||
39e896c1 EZ |
1660 | 2013-12-18 Eli Zaretskii <eliz@gnu.org> |
1661 | ||
1662 | * w32fns.c (emacs_abort): Use intptr_t as argument of | |
1663 | INT_BUFSIZE_BOUND, to avoid compiler warnings. | |
1664 | ||
9cdb8d85 GM |
1665 | 2013-12-18 Glenn Morris <rgm@gnu.org> |
1666 | ||
1f41ee56 GM |
1667 | * lread.c (Fload): Pass load_prefer_newer to openp. |
1668 | Don't bother checking mtime if openp already did it. | |
1669 | (openp): Add `newer' argument, to check all suffixes | |
1670 | and find the newest file. | |
1671 | (syms_of_lread) <load_prefer_newer>: New option. (Bug#2061) | |
1672 | * callproc.c (call_process): | |
1673 | * charset.c (load_charset_map_from_file): | |
1674 | * emacs.c (init_cmdargs): | |
1675 | * image.c (x_create_bitmap_from_file, x_find_image_file): | |
1676 | * lisp.h (openp): | |
1677 | * lread.c (Flocate_file_internal): | |
1678 | * process.c (Fformat_network_address): | |
1679 | * sound.c (Fplay_sound_internal): | |
1680 | * w32.c (check_windows_init_file): | |
1681 | * w32proc.c (sys_spawnve): Update for new arg spec of openp. | |
1682 | ||
9cdb8d85 GM |
1683 | * emacs.c (standard_args) [HAVE_NS]: Remove -disable-font-backend. |
1684 | ||
af025ae8 EZ |
1685 | 2013-12-17 Eli Zaretskii <eliz@gnu.org> |
1686 | ||
60e62dc5 EZ |
1687 | * w32.c (getloadavg): Don't index samples[] array with negative |
1688 | indices. Recover from wall-clock time being set backwards. | |
1689 | ||
af025ae8 EZ |
1690 | * w32term.c (w32_initialize): Declare the argument of |
1691 | set_user_model as const. | |
1692 | ||
1693 | * w32menu.c <MessageBoxW_Proc>: Fix argument declarations. | |
1694 | (w32_menu_show): Constify some arguments passed to MessageBox. | |
1695 | ||
1696 | * w32uniscribe.c (uniscribe_font_driver): Use LISP_INITIALLY_ZERO | |
1697 | to initialize Lisp objects. | |
1698 | ||
1699 | * w32font.c (w32font_driver): Use LISP_INITIALLY_ZERO to | |
1700 | initialize Lisp objects. | |
1701 | ||
1702 | * frame.c (x_set_frame_parameters) [HAVE_X_WINDOWS]: Declare and | |
1703 | use variables used only on X under that condition. | |
1704 | ||
1705 | * fileio.c (Fcopy_file) [!WINDOWSNT]: Don't declare on Windows | |
1706 | variables not used there. | |
1707 | ||
8fb8c4f3 PE |
1708 | 2013-12-16 Paul Eggert <eggert@cs.ucla.edu> |
1709 | ||
1710 | Fix problems with CANNOT_DUMP and EMACSLOADPATH. | |
1711 | * lread.c (init_lread): If CANNOT_DUMP, we can't be dumping. | |
1712 | ||
397e886f EZ |
1713 | 2013-12-16 Eli Zaretskii <eliz@gnu.org> |
1714 | ||
1715 | * xdisp.c (Fmove_point_visually): Fix subtle bugs in the fallback | |
1716 | code, revealed in presence of R2L characters, character | |
1717 | compositions, and display vectors. A better fix for Bug#16148. | |
5e6d03b2 EZ |
1718 | (extend_face_to_end_of_line): Don't reference tool_bar_window in |
1719 | GTK and NS builds, they don't have this member of struct frame. | |
397e886f EZ |
1720 | |
1721 | * dispextern.h (struct composition_it): Correct a comment for the | |
1722 | 'width' member. | |
1723 | ||
32779713 PE |
1724 | 2013-12-16 Paul Eggert <eggert@cs.ucla.edu> |
1725 | ||
1726 | * font.h (valid_font_driver) [!ENABLE_CHECKING]: Define a dummy. | |
1727 | This prevents a compilation error on C compilers that do not | |
1728 | default functions to return 'int' if not declared. Also, add | |
1729 | INLINE_HEADER_BEGIN and INLINE_HEADER_END to this include file, | |
1730 | since it now uses inline functions. | |
1731 | ||
d865f6b5 EZ |
1732 | 2013-12-16 Eli Zaretskii <eliz@gnu.org> |
1733 | ||
1734 | * xdisp.c (extend_face_to_end_of_line): Don't fill background of | |
1735 | display margins on mode line, header line, and in the frame's | |
1736 | tool-bar window. (Bug#16165) | |
1737 | ||
0fa30f33 AS |
1738 | 2013-12-16 Andreas Schwab <schwab@suse.de> |
1739 | ||
1740 | * gnutls.c (Fgnutls_boot): Properly check Flistp return value. | |
1741 | ||
82cf20e4 TZ |
1742 | 2013-12-16 Teodor Zlatanov <tzz@lifelogs.com> |
1743 | ||
1744 | * gnutls.c (Fgnutls_boot): Use `Flistp' instead of | |
c295fc18 | 1745 | `CHECK_LIST_CONS'. |
82cf20e4 | 1746 | |
d144ef06 MR |
1747 | 2013-12-16 Martin Rudalics <rudalics@gmx.at> |
1748 | ||
1749 | * w32term.c (w32_enable_frame_resize_hack): Default to 1. | |
1750 | ||
5ae356d9 DA |
1751 | 2013-12-16 Dmitry Antipov <dmantipov@yandex.ru> |
1752 | ||
1753 | * font.c (valid_font_driver) [ENABLE_CHECKING]: New function | |
1754 | intended to find bogus pointers in font objects (Bug#16140). | |
1755 | * font.h (valid_font_driver) [ENABLE_CHECKING]: Add prototype. | |
1756 | * alloc.c (cleanup_vector): Use valid_font_driver in eassert. | |
1757 | (compact_font_cache_entry, compact_font_caches) [!HAVE_NTGUI]: | |
1758 | Disable for MS-Windows due to Bug#15876; apparently this | |
1759 | requires more or less substantial changes in fontset code. | |
1760 | * xfont.c (xfont_close): | |
1761 | * xftfont.c (xftfont_close): Call x_display_info_for_display | |
1762 | to check whether 'Display *' is valid (Bug#16093 and probably | |
1763 | Bug#16069). | |
1764 | ||
e088f894 EZ |
1765 | 2013-12-15 Eli Zaretskii <eliz@gnu.org> |
1766 | ||
db50ad5f EZ |
1767 | * fileio.c (Fexpand_file_name) [WINDOWSNT]: Fix conditionals. |
1768 | Reported by Juanma Barranquero <lekktu@gmail.com>. | |
1769 | ||
1014b1dc EZ |
1770 | * process.c (Fprocess_send_eof): Don't crash if someone tries to |
1771 | open a pty on MS-Windows. (Bug#16152) | |
1772 | ||
e088f894 EZ |
1773 | * emacs.c (decode_env_path): Fix bogus comparison against |
1774 | emacs_dir. Reported by Juanma Barranquero <lekktu@gmail.com>. | |
1775 | ||
119f64db JB |
1776 | 2013-12-15 Juanma Barranquero <lekktu@gmail.com> |
1777 | ||
1778 | * w32fns.c (Fw32_shell_execute): Remove unused local variable. | |
1779 | (Fx_file_dialog): Add parentheses around && to silence warning. | |
1780 | ||
1781 | * w32term.c (construct_drag_n_drop): Remove unused local variable. | |
1782 | ||
dd1fb8cb EZ |
1783 | 2013-12-15 Eli Zaretskii <eliz@gnu.org> |
1784 | ||
cdeb10ce EZ |
1785 | * xdisp.c (extend_face_to_end_of_line): Extend background of |
1786 | non-default face in margin areas as well. (Bug#16151) | |
1787 | (display_line): Call extend_face_to_end_of_line for continued | |
1788 | lines as well, if the display margins have non-zero width. | |
1789 | (set_glyph_string_background_width): When needed, set the | |
1790 | extends_to_end_of_line_p flag on glyph strings to be drawn in | |
1791 | margin areas, not only in the text area. | |
1792 | ||
dd1fb8cb EZ |
1793 | * frame.h (FRAME_MOUSE_UPDATE): Fix a typo that caused infloop at |
1794 | startup. | |
1795 | ||
27c1b043 PE |
1796 | 2013-12-15 Paul Eggert <eggert@cs.ucla.edu> |
1797 | ||
1798 | * gnutls.c (Fgnutls_boot): Fix typo; "!" applied to a Lisp_Object. | |
1799 | Don't worry about verify_error being t, since it has to be a list. | |
1800 | ||
96c06863 PE |
1801 | 2013-12-14 Paul Eggert <eggert@cs.ucla.edu> |
1802 | ||
1803 | Use bool for boolean, focusing on headers. | |
1804 | * atimer.h, lisp.h, syssignal.h, syswait.h, unexelf.c: | |
1805 | No need to include <stdbool.h>, since conf_post.h does it now. | |
1806 | * buffer.h (BUF_COMPUTE_UNCHANGED, DECODE_POSITION) | |
1807 | (BUFFER_CHECK_INDIRECTION, GET_OVERLAYS_AT, PER_BUFFER_VALUE_P) | |
1808 | (SET_PER_BUFFER_VALUE_P): | |
1809 | * ccl.c, ccl.h (setup_ccl_program): | |
1810 | * ccl.h (CHECK_CCL_PROGRAM): | |
1811 | * character.h (MAKE_CHAR_UNIBYTE, CHECK_CHARACTER_CAR) | |
1812 | (CHECK_CHARACTER_CDR, CHAR_STRING_ADVANCE, NEXT_CHAR_BOUNDARY) | |
1813 | (PREV_CHAR_BOUNDARY, FETCH_STRING_CHAR_ADVANCE) | |
1814 | (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE) | |
1815 | (FETCH_STRING_CHAR_ADVANCE_NO_CHECK, FETCH_CHAR_ADVANCE) | |
1816 | (FETCH_CHAR_ADVANCE_NO_CHECK, INC_POS, DEC_POS, INC_BOTH) | |
1817 | (DEC_BOTH, BUF_INC_POS, BUF_DEC_POS): | |
1818 | * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID) | |
1819 | (CHECK_CHARSET_GET_ATTR, CHECK_CHARSET_GET_CHARSET) | |
1820 | (CHARSET_FAST_MAP_SET): | |
1821 | * coding.c (decode_coding_ccl, encode_coding_ccl): | |
1822 | * coding.h (CHECK_CODING_SYSTEM, CHECK_CODING_SYSTEM_GET_SPEC) | |
1823 | (CHECK_CODING_SYSTEM_GET_ID, SJIS_TO_JIS, SJIS_TO_JIS2) | |
1824 | (JIS_TO_SJIS, JIS_TO_SJIS2, ENCODE_FILE, DECODE_FILE) | |
1825 | (ENCODE_SYSTEM, DECODE_SYSTEM, ENCODE_UTF_8) | |
1826 | (decode_coding_c_string): | |
1827 | * composite.h (COMPOSITION_DECODE_REFS, COMPOSITION_DECODE_RULE): | |
1828 | * conf_post.h (has_attribute): | |
35e951cd | 1829 | * dispextern.h (trace_redisplay_p) |
96c06863 PE |
1830 | (INC_TEXT_POS, DEC_TEXT_POS, SET_GLYPH_FROM_GLYPH_CODE) |
1831 | (SET_CHAR_GLYPH, SET_CHAR_GLYPH_FROM_GLYPH) | |
35e951cd | 1832 | (SET_GLYPH_FROM_CHAR_GLYPH) |
96c06863 PE |
1833 | (WINDOW_WANTS_MODELINE_P, WINDOW_WANTS_HEADER_LINE_P) |
1834 | (FACE_SUITABLE_FOR_ASCII_CHAR_P, FACE_SUITABLE_FOR_CHAR_P) | |
1835 | (PRODUCE_GLYPHS, reset_mouse_highlight, in_display_vector_p) | |
1836 | (cursor_in_mouse_face_p): | |
1837 | * dispnew.c (adjust_glyph_matrix, clear_glyph_matrix_rows) | |
1838 | (blank_row, prepare_desired_row) | |
1839 | (build_frame_matrix_from_leaf_window, make_current) | |
1840 | (mirror_make_current, mirrored_line_dance, mirror_line_dance) | |
1841 | (update_window, scrolling_window, update_frame_line): | |
1842 | * disptab.h (GLYPH_FOLLOW_ALIASES): | |
1843 | * editfns.c (Fformat): | |
1844 | * font.h (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC) | |
1845 | (FONT_WIDTH_SYMBOLIC, FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE) | |
1846 | (FONT_WIDTH_FOR_FACE, FONT_WEIGHT_NAME_NUMERIC) | |
1847 | (FONT_SLANT_NAME_NUMERIC, FONT_WIDTH_NAME_NUMERIC) | |
1848 | (FONT_SET_STYLE, CHECK_FONT, CHECK_FONT_SPEC, CHECK_FONT_ENTITY) | |
1849 | (CHECK_FONT_OBJECT, CHECK_FONT_GET_OBJECT, FONT_ADD_LOG) | |
1850 | (FONT_DEFERRED_LOG): | |
35e951cd | 1851 | * frame.h (FRAME_W32_P, FRAME_MSDOS_P, FRAME_WINDOW_P) |
96c06863 PE |
1852 | (FRAME_EXTERNAL_TOOL_BAR, FRAME_EXTERNAL_MENU_BAR, FOR_EACH_FRAME) |
1853 | (FRAME_MOUSE_UPDATE): | |
1854 | * fringe.c (Fdefine_fringe_bitmap): | |
1855 | * image.c (x_create_bitmap_from_data, x_create_bitmap_mask) | |
1856 | (x_create_bitmap_from_xpm_data, xpm_load_image): | |
1857 | * intervals.h (INTERVAL_HAS_PARENT, INTERVAL_PARENT) | |
1858 | (set_interval_parent, RESET_INTERVAL, COPY_INTERVAL_CACHE) | |
1859 | (MERGE_INTERVAL_CACHE): | |
1860 | * keymap.h (KEYMAPP): | |
1861 | * lisp.h (eassert, USE_LSB_TAG, CHECK_LISP_OBJECT_TYPE) | |
1862 | (STRING_SET_UNIBYTE, STRING_SET_MULTIBYTE, DEFSYM, PSEUDOVECTORP) | |
1863 | (CHECK_RANGED_INTEGER, CHECK_TYPE_RANGED_INTEGER) | |
1864 | (CHECK_NUMBER_COERCE_MARKER, CHECK_NUMBER_OR_FLOAT_COERCE_MARKER) | |
1865 | (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL, DEFVAR_INT) | |
1866 | (DEFVAR_BUFFER_DEFAULTS, DEFVAR_KBOARD, QUIT) | |
1867 | (RETURN_UNGCPRO, USE_SAFE_ALLOCA, SAFE_NALLOCA, SAFE_FREE) | |
1868 | (SAFE_ALLOCA_LISP, FOR_EACH_ALIST_VALUE, functionp): | |
1869 | * syntax.h (SYNTAX_ENTRY, SYNTAX_WITH_FLAGS, SYNTAX) | |
1870 | (UPDATE_SYNTAX_TABLE_FORWARD, UPDATE_SYNTAX_TABLE_BACKWARD) | |
1871 | (SETUP_BUFFER_SYNTAX_TABLE): | |
1872 | * systime.h (timespec_valid_p): | |
1873 | * term.c (save_and_enable_current_matrix): | |
1874 | * window.h (WINDOW_MENU_BAR_P, WINDOW_TOOL_BAR_P): | |
1875 | * xdisp.c (in_display_vector_p, display_tool_bar_line) | |
1876 | (redisplay_internal, try_window_reusing_current_matrix) | |
1877 | (sync_frame_with_window_matrix_rows, try_window_id) | |
1878 | (display_menu_bar, display_tty_menu_item, display_mode_line) | |
1879 | (coords_in_mouse_face_p, cursor_in_mouse_face_p): | |
b4dd49e0 | 1880 | * xdisp.c (trace_redisplay_p) [GLYPH_DEBUG]: |
96c06863 PE |
1881 | * xmenu.c (xmenu_show): |
1882 | * xterm.c (use_xim, x_term_init): | |
1883 | * xterm.h (XSync, GTK_CHECK_VERSION, use_xim, SET_SCROLL_BAR_X_WIDGET) | |
1884 | (struct x_bitmap_record): | |
1885 | Use bool for booleans. | |
1886 | * ccl.c (struct buffer_text): | |
1887 | * ccl.h (struct ccl_program): | |
1888 | * charset.h (struct charset): | |
1889 | * cm.h (struct cm): | |
1890 | * coding.h (struct iso_2022_spec, struct coding_system): | |
1891 | * dispextern.h (struct glyph, struct glyph_matrix, struct glyph_row) | |
1892 | (struct glyph_string, struct face, struct face_cache) | |
1893 | (struct bidi_string_data, struct bidi_it) | |
1894 | (struct draw_fringe_bitmap_params, struct it, Mouse_HLInfo) | |
1895 | (struct image): | |
1896 | * editfns.c (Fformat): | |
1897 | * frame.h (struct frame): | |
1898 | * fringe.c (struct fringe_bitmap): | |
1899 | * intervals.h (struct interval): | |
1900 | * keyboard.h (struct kboard): | |
1901 | * lisp.h (struct Lisp_Symbol, struct Lisp_Misc_Any, struct Lisp_Marker) | |
1902 | (struct Lisp_Overlay, struct Lisp_Save_Value, struct Lisp_Free) | |
1903 | (struct Lisp_Buffer_Local_Value, union specbinding): | |
1904 | * macfont.m (struct macfont_info): | |
1905 | * process.h (struct Lisp_Process): | |
1906 | * termchar.h (struct tty_display_info): | |
1907 | * window.h (struct window): | |
1908 | * xterm.h (struct x_output): | |
1909 | Use bool_bf for boolean bit-fields. | |
1910 | * ccl.c (setup_ccl_program): Now returns bool instead of -1 or 0. | |
1911 | All callers changed. | |
1912 | * ccl.h (struct ccl_program): Remove unused members private_state, | |
1913 | src_multibyte, dst_multibyte, cr_consumed, suppress_error, | |
1914 | eight_bit_control. | |
1915 | (struct ccl_spec): Remove unused members cr_carryover, | |
1916 | eight_bit_carryover. | |
1917 | * conf_post.h: Include <stdbool.h>. | |
1918 | (bool_bf): New type. | |
1919 | * dispextern.h (TRACE, PREPARE_FACE_FOR_DISPLAY): | |
35e951cd JB |
1920 | * intervals.h (RESET_INTERVAL, COPY_INTERVAL_CACHE) |
1921 | (MERGE_INTERVAL_CACHE): Surround statement macro with proper | |
1922 | 'do { ... } while (false)' brackets. | |
b4dd49e0 PE |
1923 | * dispextern.h (IF_DEBUG): Properly parenthesize and convert to void. |
1924 | Args must now be expressions; all callers changed. | |
96c06863 PE |
1925 | (SET_MATRIX_ROW_ENABLED_P): Assume 2nd arg is bool. |
1926 | (PRODUCE_GLYPHS): Simplify use of boolean. | |
1927 | * fileio.c (Fcopy_file): | |
1928 | If I is an integer, prefer 'if (I != 0)' to 'if (I)'. | |
1929 | * lisp.h (UNGCPRO): Return void, not int. | |
1930 | (FOR_EACH_TAIL): Use void expression, not int expression. | |
1931 | * region-cache.c: Reindent. | |
1932 | * region-cache.h: Copy comments from region-cache.c, to fix | |
1933 | incorrect remarks about booleans. | |
1934 | ||
2897da4d EZ |
1935 | 2013-12-14 Eli Zaretskii <eliz@gnu.org> |
1936 | ||
1937 | * xdisp.c (Fmove_point_visually): Expect overshoot in move_it_to | |
1938 | when character at point is displayed from a display vector. | |
1939 | (Bug#16148) | |
1940 | ||
31b4827e TZ |
1941 | 2013-12-14 Teodor Zlatanov <tzz@lifelogs.com> |
1942 | ||
1943 | * gnutls.c: Replace `:verify_hostname_error' with `:verify_error', | |
1944 | now a list of certificate validation checks that will abort a | |
1945 | connection with an error. | |
1946 | (Fgnutls_boot): Document it and use it. | |
1947 | ||
5645852c MR |
1948 | 2013-12-14 Martin Rudalics <rudalics@gmx.at> |
1949 | ||
1950 | * w32term.c (w32_enable_frame_resize_hack): New variable. | |
1951 | (x_set_window_size): Use it to hack frame resizing on Windows | |
1952 | (Bug#16028). | |
1953 | ||
ec4440cf EZ |
1954 | 2013-12-14 Eli Zaretskii <eliz@gnu.org> |
1955 | ||
1956 | * fileio.c (Fcopy_file) [WINDOWSNT]: Move most of the | |
1957 | Windows-specific code to w32.c. Change error message text to | |
1958 | match that of Posix platforms. | |
1959 | ||
1960 | * w32.c (w32_copy_file): New function, most of the code copied and | |
1961 | reworked from Fcopy_file. Improve error handling. Plug memory | |
1962 | leak when errors are thrown. Support file names outside of the | |
1963 | current codepage. (Bug#7100) | |
1964 | ||
dc7909c4 PE |
1965 | 2013-12-13 Paul Eggert <eggert@cs.ucla.edu> |
1966 | ||
1967 | * lread.c (load_path_default): Prototype. | |
1968 | ||
06a4f110 GM |
1969 | 2013-12-13 Glenn Morris <rgm@gnu.org> |
1970 | ||
1971 | * lread.c: Unconditionally reset load-path after dumping. (Bug#16107) | |
1972 | (dump_path): Remove. | |
1973 | (load-path-default): Remove `changed' argument. | |
1974 | Do not set dump_path permanently. Simplify. | |
1975 | (init_lread): Simplify. | |
1976 | (syms_of_lread): Remove dump_path. | |
1977 | ||
5035fbc1 DA |
1978 | 2013-12-13 Dmitry Antipov <dmantipov@yandex.ru> |
1979 | ||
1980 | * alloc.c, font.c, font.h, ftfont.c, ftxfont.c, macfont.m, | |
1981 | * nsfont.m, w32font.c, xfont.c, xftfont.c: Revert last and | |
1982 | 2013-12-12 font-related change to avoid Bug#16128, which | |
1983 | is quite hard to fix without even more substantial changes. | |
1984 | ||
b6c888cc DA |
1985 | 2013-12-13 Dmitry Antipov <dmantipov@yandex.ru> |
1986 | ||
1987 | * font.c (font_close_object): Check for live frame (Bug#16128). | |
1988 | ||
11dde529 PE |
1989 | 2013-12-13 Paul Eggert <eggert@cs.ucla.edu> |
1990 | ||
1991 | * gnutls.c, gnutls.h (emacs_gnutls_record_check_pending): | |
1992 | Return ptrdiff_t, not int, since it's a buffer size. | |
1993 | Reindent/reparen some macros to a more Gnuish style. | |
1994 | ||
4618713a PE |
1995 | 2013-12-12 Paul Eggert <eggert@cs.ucla.edu> |
1996 | ||
1997 | Avoid undefined behavior with huge regexp interval counts. | |
1998 | * regex.c (GET_INTERVAL_COUNT): Rename from 'GET_UNSIGNED_NUMBER', | |
e9dc713d | 1999 | since it's now specialized to interval counts. All uses changed. |
4618713a PE |
2000 | Do not assume wrapraound on signed integer overflow. |
2001 | (regex_compile): Simplify based on the above changes. | |
2002 | ||
01633a17 EZ |
2003 | 2013-12-12 Eli Zaretskii <eliz@gnu.org> |
2004 | ||
2005 | Support file names on MS-Windows that use characters outside of | |
2006 | the current system codepage. (Bug#7100) | |
2007 | ||
2008 | * w32.c (get_file_security, set_file_security) | |
2009 | (create_symbolic_link): Separate pointers and boolean flags for | |
2010 | ANSI and Unicode APIs. Use the latter if w32_unicode_filenames is | |
2011 | non-zero, else the former. | |
2012 | (codepage_for_filenames, filename_to_utf16, ) | |
5b87d0d9 MN |
2013 | (filename_from_utf16, filename_to_ansi, filename_from_ansi): |
2014 | New functions. | |
01633a17 EZ |
2015 | (init_user_info): Allow $HOME and $SHELL to include non-ANSI |
2016 | characters. | |
2017 | (normalize_filename): Lose the DBCS code, now works on UTF-8. | |
2018 | Accept only one argument; all callers changed. | |
2019 | (dostounix_filename): Remove the second argument, now works in | |
2020 | UTF-8. All callers changed. | |
2021 | (parse_root): Lose DBCS code. | |
2022 | (get_long_basename, w32_get_short_filename, init_environment) | |
2023 | (GetCachedVolumeInformation, sys_readdir, open_unc_volume) | |
2024 | (read_unc_volume, logon_network_drive, faccessat, sys_chdir) | |
2025 | (sys_chmod, sys_creat, sys_fopen, sys_link, sys_mkdir, sys_open) | |
2026 | (sys_rename_replace, sys_rmdir, sys_unlink, stat_worker, utime) | |
2027 | (is_symlink, readlink, chase_symlinks, w32_delayed_load): Work in | |
2028 | Unicode mode if w32_unicode_filenames is non-zero, in ANSI mode | |
2029 | otherwise. | |
2030 | (ansi_encode_filename): New function. | |
2031 | (get_emacs_configuration, get_emacs_configuration_options): | |
2032 | Functions deleted. | |
2033 | (add_volume_info, GetCachedVolumeInformation): Run the input file | |
2034 | name through unixtodos_filename, to ensure it is stored and | |
2035 | referenced in canonical form. | |
2036 | (get_volume_info): Lose the DBCS code, now works in UTF-8. | |
2037 | (logon_network_drive, sys_link, utime): Improve error handling. | |
2038 | (sys_access): New function. | |
2039 | (hashval, generate_inode_val): Unused functions deleted. | |
2040 | (symlink, readlink, readlinkat): Lose DBCS code, now works in UTF-8. | |
2041 | (check_windows_init_file): Convert error message from UTF-8 to | |
2042 | ANSI codepage, for display in the message box. | |
2043 | (globals_of_w32): Set w32_unicode_filenames according to the OS | |
2044 | version. | |
2045 | ||
2046 | * w32term.c (construct_drag_n_drop): Work in Unicode mode when | |
2047 | w32_unicode_filenames is non-zero, ANSI mode otherwise. | |
2048 | (syms_of_w32term): Declare w32-unicode-filenames. | |
2049 | ||
2050 | * w32proc.c (new_child, delete_child): Remove code that handled | |
2051 | unused pending_deletion and input_file members of the child struct. | |
2052 | (create_child, sys_spawnve): Convert all file names to ANSI | |
2053 | codepage. Use ANSI APIs explicitly; forcibly fail if any file | |
2054 | name cannot be encoded in ANSI codepage. Don't use | |
2055 | unixtodos_filename, mirror slashes by hand. | |
2056 | (record_infile, record_pending_deletion): Functions deleted. | |
2057 | (Fw32_short_file_name): Call w32_get_short_filename instead of | |
2058 | GetShortPathName. | |
2059 | ||
2060 | * w32notify.c (add_watch): Work in Unicode mode when | |
2061 | w32_unicode_filenames is non-zero, ANSI mode otherwise. | |
2062 | (Fw32notify_add_watch): Rewrite to avoid using GetFullPathName; | |
2063 | instead, do the same with Lisp primitives. | |
2064 | ||
2065 | * w32fns.c (file_dialog_callback, Fx_file_dialog) | |
2066 | (Fsystem_move_file_to_trash, Fw32_shell_execute) | |
2067 | (Ffile_system_info, Fdefault_printer_name): Work in Unicode mode | |
2068 | when w32_unicode_filenames is non-zero, ANSI mode otherwise. | |
2069 | (Fw32_shell_execute): Improve error reporting. | |
2070 | (Fdefault_printer_name): Ifdef away for Cygwin. | |
2071 | ||
2072 | * w32.h (struct _child_process): Remove input_file and | |
2073 | pending_deletion members that are no longer used. | |
2074 | (dostounix_filename, w32_get_short_filename, filename_from_ansi) | |
2075 | (filename_to_ansi, filename_from_utf16, filename_to_utf16) | |
2076 | (ansi_encode_filename): New and updated prototypes. | |
2077 | ||
2078 | * unexw32.c (open_input_file, open_output_file, unexec): Use ANSI | |
2079 | APIs explicitly. | |
2080 | (unexec): Don't use dostounix_filename, it expects a file name in | |
2081 | UTF-8. Instead, mirror backslashes by hand. Convert NEW_NAME to | |
2082 | ANSI encoding. | |
2083 | ||
2084 | * fileio.c (Ffile_name_directory, file_name_as_directory) | |
2085 | (directory_file_name, Fexpand_file_name) | |
2086 | (Fsubstitute_in_file_name) [WINDOWSNT]: Adapt to the change in | |
2087 | arguments of dostounix_filename. | |
2088 | (Fexpand_file_name) [WINDOWSNT]: Convert value of $HOME to UTF-8. | |
2089 | use MAX_UTF8_PATH for size of file-name strings. | |
2090 | (emacs_readlinkat): Build an explicitly unibyte string for file | |
2091 | names. | |
a544fbe1 GM |
2092 | (syms_of_fileio) <file-name-coding-system>: |
2093 | <default-file-name-coding-system>: Mention MS-Windows peculiarities. | |
01633a17 EZ |
2094 | |
2095 | * emacs.c (init_cmdargs) [WINDOWSNT]: Convert argv[0] to UTF-8. | |
2096 | (main) [WINDOWSNT]: Convert the argv[] elements that are files or | |
2097 | directories to UTF-8. | |
2098 | (decode_env_path) [WINDOWSNT]: Convert file names taken from the | |
2099 | environment, and each element of the input PATH, to UTF-8. | |
2100 | ||
2101 | * dired.c (file_attributes): Use build_unibyte_string explicitly | |
2102 | to make Lisp strings from user and group names. | |
2103 | ||
2104 | * coding.h (ENCODE_FILE, DECODE_FILE): Just call encode_file and | |
2105 | decode_file. | |
2106 | ||
2107 | * coding.c (decode_file_name, encode_file_name): New functions. | |
2108 | ||
2109 | * termcap.c (tgetent): Adapt to the change in arguments of | |
2110 | dostounix_filename. | |
2111 | ||
2112 | * sysdep.c (sys_subshell) [WINDOWSNT]: Use MAX_UTF8_PATH for file | |
2113 | names. | |
2114 | ||
2115 | * msdos.c (dostounix_filename, init_environment): Adapt to the | |
2116 | change in arguments of dostounix_filename. | |
2117 | ||
2118 | * image.c (xpm_load, tiff_load, gif_load, imagemagick_load) | |
2119 | [WINDOWSNT]: Encode file names passed to the image libraries in | |
2120 | ANSI codepage. | |
2121 | ||
2122 | * gnutls.c (Fgnutls_boot): Encode all file names passed to GnuTLS. | |
2123 | [WINDOWSNT]: Convert file names to the current ANSI codepage. | |
2124 | ||
2125 | * filelock.c (lock_file) [WINDOWSNT]: Adapt to the change in | |
2126 | arguments of dostounix_filename. | |
2127 | ||
cf86e18b DA |
2128 | 2013-12-12 Dmitry Antipov <dmantipov@yandex.ru> |
2129 | ||
2130 | * font.h (struct font_entity) [HAVE_NS]: New field to record | |
2131 | font driver which was used to create this entity. | |
2132 | (struct font) [HAVE_WINDOW_SYSTEM]: New field to record | |
2133 | frame where the font was opened. | |
2134 | (font_close_object): Add prototype. | |
2135 | * font.c (font_make_entity) [HAVE_NS]: Zero out driver field. | |
2136 | (font_close_object): Not static any more. Lost frame arg. | |
2137 | Adjust comment and users. | |
2138 | * alloc.c (cleanup_vector): Call font_close_object to adjust | |
2139 | per-frame font counters correctly. If HAVE_NS, also call | |
2140 | driver-specific cleanup for font-entity objects. | |
2141 | * ftfont.c (ftfont_open): | |
2142 | * nsfont.m (nsfont_open): | |
2143 | * w32font.c (w32font_open_internal): | |
2144 | * xfont.c (xfont_open): | |
2145 | * xftfont.c (xftfont_open): Save frame pointer in font object. | |
2146 | * macfont.m (macfont_open): Likewise. | |
2147 | (macfont_descriptor_entity): Save driver pointer to be able | |
2148 | to call its free_entity routine when font-entity is swept. | |
2149 | * ftxfont.c (ftxfont_open): Add eassert because frame | |
2150 | pointer should be saved by ftfont_driver.open. | |
2151 | ||
96542302 DA |
2152 | 2013-12-12 Dmitry Antipov <dmantipov@yandex.ru> |
2153 | ||
2154 | * xterm.c (x_make_frame_visible): Restore hack which is needed when | |
2155 | input polling is used. This is still meaningful for Cygwin, see | |
2156 | http://lists.gnu.org/archive/html/emacs-devel/2013-12/msg00351.html. | |
5b87d0d9 MN |
2157 | * keyboard.c (poll_for_input_1, input_polling_used): |
2158 | Define unconditionally. | |
397a32c1 DA |
2159 | * dispextern.h (FACE_SUITABLE_FOR_CHAR_P): Remove unused macro. |
2160 | (FACE_FOR_CHAR): Simplify because face_for_char does the same. | |
2161 | * fontset.c (face_suitable_for_char_p) [0]: Remove unused function. | |
2162 | (font_for_char): Prefer ptrdiff_t to int for buffer position. | |
2163 | (face_for_char): Likewise. Rearrange eassert and return ASCII | |
2164 | face for CHAR_BYTE8_P. | |
2165 | * fontset.h (font_for_char, face_for_char): Adjust prototypes. | |
96542302 | 2166 | |
1421be84 KB |
2167 | 2013-12-11 Ken Brown <kbrown@cornell.edu> |
2168 | ||
2169 | * dispextern.h (erase_phys_cursor): | |
2170 | * keyboard.h (make_ctrl_char): Declare prototypes if HAVE_NTGUI. | |
2171 | ||
5a80236f DA |
2172 | 2013-12-11 Dmitry Antipov <dmantipov@yandex.ru> |
2173 | ||
2174 | * nsterm.m (x_free_frame_resources): | |
2175 | * term.c (tty_free_frame_resources): | |
2176 | * xterm.c (x_free_frame_resources): Do not check for non-NULL | |
2177 | face cache because it's implied by free_frame_faces anyway. | |
2178 | * w32term.c (x_free_frame_resources): Likewise. Do not call | |
2179 | free_frame_faces twice. | |
2180 | ||
4ec52e2f RS |
2181 | 2013-12-11 Rüdiger Sonderfeld <ruediger@c-plusplus.de> |
2182 | ||
2183 | * editfns.c (Fformat_time_string): Mention %F in the doc. | |
2184 | ||
d94c40c1 MR |
2185 | 2013-12-11 Martin Rudalics <rudalics@gmx.at> |
2186 | ||
2187 | * window.c (resize_frame_windows): Don't return immediately when | |
2188 | the root window's size doesn't change - the minibuffer window | |
2189 | may still have to be repositioned/resized. | |
2190 | * xfns.c (Fx_create_frame): Always change the frame size after | |
2191 | initializing the frame's faces. | |
2192 | * xterm.c (handle_one_xevent): Don't set pixel sizes here, | |
2193 | change_frame_size should already have done it. | |
2194 | (x_new_font): Assign new tool- and menu-bar heights. | |
2195 | (x_set_window_size_1): Account for tool- and menu-bar heights | |
e9dc713d | 2196 | (Bug#16013). Don't set pixel sizes since change_frame_size |
d94c40c1 MR |
2197 | should already have done it. |
2198 | ||
a8f9bc05 PE |
2199 | 2013-12-11 Paul Eggert <eggert@cs.ucla.edu> |
2200 | ||
2201 | Remove the option of using libcrypto. | |
2202 | * Makefile.in (LIB_CRYPTO): Remove. | |
2203 | (LIBES): Don't use it. | |
2204 | ||
26ec2ce9 JL |
2205 | 2013-12-11 Juri Linkov <juri@jurta.org> |
2206 | ||
2207 | * term.c (term_get_fkeys_1): Remove non-standard IBM terminfo | |
2208 | as obsolete to avoid conflicts with <S-up>. (Bug#13471) | |
2209 | ||
a71cfa02 DA |
2210 | 2013-12-10 Dmitry Antipov <dmantipov@yandex.ru> |
2211 | ||
2212 | * xdisp.c (display_tool_bar_line): Don't extend on a previously | |
2213 | drawn tool bar items (Bug#16058). | |
e8374b39 | 2214 | * font.c (font_find_for_lface): Ensure SAFE_FREE on return. |
a71cfa02 | 2215 | |
336fe071 KB |
2216 | 2013-12-09 Ken Brown <kbrown@cornell.edu> |
2217 | ||
2218 | * frame.c (get_frame_param): Make extern if HAVE_NTGUI. | |
2219 | ||
2220 | * lisp.h (get_frame_param): Adjust conditions for prototype | |
2221 | declaration. | |
2222 | ||
ad8a47b8 DA |
2223 | 2013-12-09 Dmitry Antipov <dmantipov@yandex.ru> |
2224 | ||
2225 | * gtkutil.c (USE_NEW_GTK_FONT_CHOOSER) [HAVE_FREETYPE]: | |
2226 | Avoid unused macro warning if configured --without-xft. | |
2227 | ||
5e48429a JD |
2228 | 2013-12-09 Jan Djärv <jan.h.d@swipnet.se> |
2229 | ||
2230 | * alloc.c (Fmemory_limit): Avoid compiler warning. Return 0 always. | |
2231 | ||
40f18bf3 JD |
2232 | 2013-12-08 Jan Djärv <jan.h.d@swipnet.se> |
2233 | ||
a6c4680a | 2234 | * nsterm.m (updateFrameSize:): Fix GNUstep toolbar not updating. |
b3e42b70 | 2235 | |
a6c4680a | 2236 | * emacs.c (main): Call fixup_locale a second time for GNUstep. |
40f18bf3 | 2237 | |
acfe4602 MR |
2238 | 2013-12-08 Martin Rudalics <rudalics@gmx.at> |
2239 | ||
2240 | * frame.c (x_set_font): Mark frame as garbaged (Bug#16028). | |
2241 | ||
95b3d095 PE |
2242 | 2013-12-08 Paul Eggert <eggert@cs.ucla.edu> |
2243 | ||
e9551b12 PE |
2244 | Use libcrypto's checksum implementations if available, for speed. |
2245 | * Makefile.in (LIB_CRYPTO): New macro. | |
2246 | (LIBES): Use it. | |
2247 | ||
95b3d095 PE |
2248 | * frame.h (SET_FRAME_VISIBLE): Now an inline function. |
2249 | The macro didn't conform to C99 due to type mismatch, | |
2250 | which caused compilation failure with Sun C 5.12, | |
2251 | and it was confusing anyway. Include window.h to declare | |
2252 | redisplay_other_windows. | |
2253 | ||
0d9cba29 SM |
2254 | 2013-12-08 Stefan Monnier <monnier@iro.umontreal.ca> |
2255 | ||
2256 | * window.c (set_window_buffer): Update mode line (bug#16084). | |
2257 | ||
67840e66 PE |
2258 | 2013-12-07 Paul Eggert <eggert@cs.ucla.edu> |
2259 | ||
2260 | Fix minor problems found by static checking. | |
2261 | * keyboard.c (poll_for_input_1, input_polling_used): | |
2262 | Define only if HAVE_NTGUI. | |
2263 | * xmenu.c (popup_activate_callback): Omit unnecessary | |
2264 | check against USE_X_TOOLKIT, which must be defined here anyway. | |
2265 | * xterm.c, xterm.h (x_dispatch_event) [! (USE_X_TOOLKIT || USE_MOTIF)]: | |
2266 | Now static. | |
2267 | ||
947003b5 MR |
2268 | 2013-12-07 Martin Rudalics <rudalics@gmx.at> |
2269 | ||
2270 | * w32term.c (w32_read_socket): Fix int/Lisp_Object type mixup. | |
2271 | ||
7def8cbd JD |
2272 | 2013-12-07 Jan Djärv <jan.h.d@swipnet.se> |
2273 | ||
c4142a83 JD |
2274 | * gtkutil.c (tb_size_cb): Call xg_height_or_width_changed. |
2275 | ||
1bb2debd JD |
2276 | * nsterm.m (x_set_window_size): Remove fprintf. |
2277 | (init): Define always. Set applicationDidFinishLaunchingCalled | |
a6c4680a | 2278 | for GNUstep. |
0d9cba29 SM |
2279 | (applicationDidFinishLaunching:): |
2280 | Set applicationDidFinishLaunchingCalled. | |
1bb2debd JD |
2281 | (applicationDidBecomeActive:): Call applicationDidFinishLaunching if |
2282 | not called. | |
2283 | ||
2284 | * nsterm.h (EmacsApp): Add applicationDidFinishLaunchingCalled. | |
2285 | ||
fa6fa1a1 | 2286 | Pixel resize changes for NS (Bug#16049). |
7def8cbd JD |
2287 | * nsterm.m (x_set_window_size): Change parameters rows/cols to |
2288 | height/width. row/cols are locals. | |
2289 | Pass pixelwise to check_frame_size. Don't set FRAME_PIXEL_WIDTH/HEIGHT. | |
2290 | (updateFrameSize:): Remove gsextra. Adjust for pixelwise resize. | |
2291 | (windowWillResize): Remove gsextra. Calculate extra as in | |
2292 | updateFrameSize. | |
0d9cba29 SM |
2293 | (x_new_font): Don't change frame size if fullscreen. |
2294 | Change size pixelwise. | |
7def8cbd JD |
2295 | |
2296 | * nsfns.m (Fx_create_frame): Call change_frame_size twice as per | |
2297 | comment in xfns.c. Change to pixelwise call. | |
2298 | ||
6d6aa291 EZ |
2299 | 2013-12-06 Eli Zaretskii <eliz@gnu.org> |
2300 | ||
2301 | * buffer.c (Fset_buffer_multibyte): Invalidate buffer caches. | |
2302 | (Bug#16070) | |
2303 | ||
64ed4306 DA |
2304 | 2013-12-06 Dmitry Antipov <dmantipov@yandex.ru> |
2305 | ||
2306 | * xterm.c (input_signal_count): Remove. | |
2307 | (x_dispatch_event): Define unconditionally. | |
2308 | (x_make_frame_visible): Process X events until the frame | |
2309 | is really visible (Bug#16027). | |
2310 | * xterm.h (x_dispatch_event): Declare unconditionally. | |
2311 | ||
c619527c JD |
2312 | 2013-12-05 Jan Djärv <jan.h.d@swipnet.se> |
2313 | ||
2314 | * nsfns.m (ns_frame_parm_handlers): Add right/bottom_divider_width. | |
2315 | ||
2316 | * nsterm.m (x_set_window_size): Handle pixelwise. | |
2317 | ||
8bea269d MR |
2318 | 2013-12-05 Martin Rudalics <rudalics@gmx.at> |
2319 | ||
2320 | * w32term.c (x_new_font): | |
2321 | * xterm.c (x_new_font): Calculate new frame size from new font | |
2322 | size (Bug#16028). | |
2323 | ||
22800ae9 SM |
2324 | 2013-12-04 Stefan Monnier <monnier@iro.umontreal.ca> |
2325 | ||
105324ce SM |
2326 | * lisp.h (FOR_EACH_TAIL): New macro. |
2327 | * fns.c (Fdelq): Use it to avoid inf-loops; remove QUIT. | |
2328 | ||
22800ae9 SM |
2329 | * window.c (select_window): Call second wset_redisplay before we change |
2330 | selected_window (bug#16034). | |
2331 | ||
c521fe29 PE |
2332 | 2013-12-04 Paul Eggert <eggert@cs.ucla.edu> |
2333 | ||
2334 | * bidi.c (LRM_CHAR, RLM_CHAR): Remove; no longer used. | |
2335 | ||
913250cf EZ |
2336 | 2013-12-04 Eli Zaretskii <eliz@gnu.org> |
2337 | ||
2338 | * w32xfns.c: Include window.h, to avoid a compiler warning. | |
2339 | ||
5961ad6c SM |
2340 | 2013-12-04 Stefan Monnier <monnier@iro.umontreal.ca> |
2341 | ||
2342 | * window.c (window_scroll): Mark window for redisplay (bug#16034). | |
2343 | (scroll_command, Fscroll_other_window): Don't cause redisplay now that | |
2344 | window_scroll takes care of it. | |
2345 | (Fset_window_point, Fdelete_other_windows_internal) | |
2346 | (set_window_buffer, Fwindow_resize_apply, resize_frame_windows) | |
2347 | (Fsplit_window_internal, Fdelete_window_internal) | |
2348 | (Fresize_mini_window_internal, Fset_window_configuration) | |
2349 | (apply_window_adjustment): Use fset_redisplay and wset_redisplay to | |
2350 | cause redisplay instead of forcing a complete redisplay. | |
2351 | * xdisp.c (wset_redisplay): Don't set windows_or_buffers_changed if | |
2352 | we're only affecting the selected_window. | |
2353 | ||
ad826124 EZ |
2354 | 2013-12-04 Eli Zaretskii <eliz@gnu.org> |
2355 | ||
2356 | * bidi.c (bidi_get_type, bidi_get_category): Handle the isolate | |
2357 | directional control characters. Update type and category | |
2358 | determination according to the UBA from Unicode v6.3. | |
2359 | (bidi_category_t): New category EXPLICIT_FORMATTING. | |
2360 | ||
2361 | * dispextern.h (bidi_type_t): Update to include new bidirectional | |
2362 | properties introduced with Unicode v6.3. (Bug#16043) | |
2363 | ||
2db4a1b6 MR |
2364 | 2013-12-04 Martin Rudalics <rudalics@gmx.at> |
2365 | ||
2366 | * xterm.c (XTflash): Fix coordinate of bottom area to flash | |
2367 | (Bug#16044). | |
2368 | ||
a378aa9d DA |
2369 | 2013-12-04 Dmitry Antipov <dmantipov@yandex.ru> |
2370 | ||
2371 | * font.c (font_list_entities): Remove dummy assignment. | |
2372 | * font.h (struct font) [HAVE_WINDOW_SYSTEM]: Group members which are | |
2373 | used on graphic displays only. Remove unused 'font_encoder' member. | |
a84c9950 | 2374 | (struct font_bitmap): Remove unused 'extra' member. |
a378aa9d | 2375 | * nsfont.m (nsfont_open): |
a84c9950 DA |
2376 | * w32font.c (w32font_open_internal): |
2377 | * ftfont.c (ftfont_get_bitmap): Adjust users. | |
a378aa9d | 2378 | |
2654ac09 PE |
2379 | 2013-12-03 Paul Eggert <eggert@cs.ucla.edu> |
2380 | ||
5df474aa PE |
2381 | Use bool for boolean. |
2382 | * tparam.c (tparam1): | |
2383 | * undo.c (record_point, record_property_change): | |
2384 | Use bool for boolean, for local vars that are always true or false. | |
2385 | ||
2654ac09 PE |
2386 | Minor integer overflow fixes (Bug#16033). |
2387 | * window.c (Fset_window_new_pixel): Don't let new_pixel go negative. | |
2388 | This improves on the previous fix to this function. | |
2389 | (window_resize_check): When summing up pixel counts, don't rely on | |
2390 | undefined behavior if the sum overflows. | |
2391 | ||
7303a0ae MR |
2392 | 2013-12-03 Martin Rudalics <rudalics@gmx.at> |
2393 | ||
2394 | * window.c (Fset_window_new_pixel): Don't choke at negative | |
2395 | argument value (Bug#16033). | |
2396 | ||
2397 | * xfns.c (Fx_create_frame): Add another call to change_frame_size | |
2398 | to avoid crash in window_box_height. | |
2399 | ||
2400 | * gtkutil.h: Fix external declaration of xg_frame_set_char_size. | |
2401 | * gtkutil.c (xg_frame_set_char_size, style_changed_cb): Fix size | |
2402 | calculation. | |
2403 | * xterm.c (x_set_window_size): Fix size calculation (Bug#16013). | |
2404 | ||
25636e13 PE |
2405 | 2013-12-03 Paul Eggert <eggert@cs.ucla.edu> |
2406 | ||
2407 | Minor integer overflow fixes. | |
2408 | * window.c (Fset_window_new_pixel, grow_mini_window): | |
2409 | * xdisp.c (Fwindow_text_pixel_size): | |
2410 | Avoid undefined behavior on signed integer overflow. | |
2411 | * xfns.c (x_set_mouse_color): | |
2412 | Check that drag shape fits in 'unsigned', since that's what X wants. | |
2413 | ||
21bf394d EZ |
2414 | 2013-12-02 Eli Zaretskii <eliz@gnu.org> |
2415 | ||
2416 | Improve reporting of fatal exception on MS-Windows. | |
2417 | * w32fns.c (my_exception_handler): New function. | |
2418 | (globals_of_w32fns): Set it up as the unhandled exception | |
2419 | handler. Initialize exception code and address to zeros. | |
2420 | (emacs_abort): If the exception code and address are available, | |
2421 | print them at the beginning of the backtrace. Fix the format of | |
2422 | printing addresses (was producing 0x0x12345678 on XP). | |
2423 | (Bug#15994) | |
2424 | ||
f345395c HE |
2425 | 2013-12-02 Helmut Eller <eller.helmut@gmail.com> |
2426 | ||
2427 | * eval.c (Fbacktrace__locals): New function. | |
2428 | (syms_of_eval): Defsubr it. | |
2429 | ||
dacc9715 DA |
2430 | 2013-12-02 Dmitry Antipov <dmantipov@yandex.ru> |
2431 | ||
2432 | * font.h (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT): | |
2433 | Define here to unify between... | |
2434 | * nsterm.h, w32term.h, xterm.h: ...port-specific headers. | |
2435 | * w32term.h (CHECK_W32_FRAME): Remove unused macro. | |
2436 | ||
e0e0af3b YM |
2437 | 2013-12-02 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> |
2438 | ||
2439 | * xterm.h (struct scroll_bar): Remove member `fringe_extended_p'. | |
2440 | ||
2441 | * xterm.c (x_draw_fringe_bitmap, x_scroll_run): Remove code for | |
2442 | fringe background extension. | |
2443 | (x_scroll_bar_create): Remove variables `sb_left' and `sb_width', | |
2444 | because they are now always the same as `left' and `width', | |
2445 | respectively. Remove code for the case that `width' and | |
2446 | `sb_width' are different. | |
2447 | ||
75b09539 PE |
2448 | 2013-12-01 Paul Eggert <eggert@cs.ucla.edu> |
2449 | ||
2450 | Fix minor problems found by static checking. | |
2451 | * dispextern.h, xdisp.c (x_draw_bottom_divider): Now static. | |
2452 | * frame.c (set_frame_param) [!HAVE_NTGUI]: Remove. | |
2453 | * xdisp.c (Ftool_bar_height) [USE_GTK || HAVE_NS]: Now const function. | |
2454 | ||
5f9aee6f LMI |
2455 | 2013-12-01 Lars Magne Ingebrigtsen <larsi@gnus.org> |
2456 | ||
2457 | * image.c (imagemagick_compute_animated_image): Don't crash if we | |
2458 | have an animation with different-sized images (bug#15313). | |
2459 | ||
90caab3f MR |
2460 | 2013-11-30 Martin Rudalics <rudalics@gmx.at> |
2461 | ||
2462 | Remove some unused items introduced during pixelwise change. | |
2463 | * window.c (window_resize_total_check): Remove unused function. | |
2464 | * xdisp.c (remember_mouse_glyph): Remove unused label. | |
2465 | (Ftool_bar_height): Move declaration inside #if. | |
2466 | * xterm.c (x_set_window_size): Don't use r and c. | |
2467 | ||
6ae87264 JB |
2468 | 2013-11-30 Juanma Barranquero <lekktu@gmail.com> |
2469 | ||
2470 | * xdisp.c (Fwindow_text_pixel_size): Remove unused variables | |
2471 | `value' and `endp'. | |
2472 | ||
2473 | * window.c (Fset_window_configuration): Comment out unused variables. | |
2474 | ||
2475 | * w32term.c (w32_read_socket): Remove unused variable `buf'. | |
2476 | ||
f80e1bb6 JD |
2477 | 2013-11-30 Jan Djärv <jan.h.d@swipnet.se> |
2478 | ||
eb6f376d JD |
2479 | * xdisp.c (redisplay_internal): unrequest_sigio => request_sigio. |
2480 | ||
8e2d7ef2 JD |
2481 | * xfaces.c (NEAR_SAME_COLOR_THRESHOLD): Move inside HAVE_WINDOW_SYSTEM. |
2482 | ||
2483 | * gnutls.c (gnutls_audit_log_function): Only declare and define if | |
2484 | HAVE_GNUTLS3 (Bug#16001). | |
2485 | ||
f80e1bb6 JD |
2486 | * xdisp.c (redisplay_internal): Call request_sigio at end_of_redisplay |
2487 | if interrupts are deferred (Bug#15801). | |
2488 | ||
10634b40 | 2489 | 2013-11-30 Martin Rudalics <rudalics@gmx.at> |
880e6158 MR |
2490 | |
2491 | Support resizing frames and windows pixelwise. | |
2492 | * dispextern.h (enum window_part): Add ON_SCROLL_BAR, | |
2493 | ON_RIGHT_DIVIDER and ON_BOTTOM_DIVIDER. | |
2494 | (struct glyph_matrix): Replace window_left_col and | |
2495 | window_top_line by window_pixel_left and window_pixel_top. | |
0d9cba29 SM |
2496 | (WINDOW_WANTS_MODELINE_P, WINDOW_WANTS_HEADER_LINE_P): |
2497 | Minor rewrite. | |
880e6158 MR |
2498 | (enum face_id): Add WINDOW_DIVIDER_FACE_ID. |
2499 | (draw_window_divider, move_it_to, x_draw_right_divider) | |
2500 | (x_draw_bottom_divider, change_frame_size): Add or fix | |
2501 | declarations. | |
2502 | * dispnew.c (change_frame_size_1): Change prototype. | |
2503 | (adjust_glyph_matrix, required_matrix_width) | |
2504 | (adjust_frame_glyphs_for_window_redisplay): Use pixel | |
2505 | values instead of lines and columns. | |
2506 | (marginal_area_string): Use WINDOW_FRINGES_WIDTH instead of | |
2507 | WINDOW_TOTAL_FRINGE_WIDTH. | |
2508 | (handle_window_change_signal, do_pending_window_change) | |
2509 | (init_display): Adjusts calls of change_frame_size. | |
2510 | (change_frame_size, change_frame_size_1): Handle pixelwise | |
2511 | changes. | |
0d9cba29 SM |
2512 | * frame.c (Qright_divider_width, Qbottom_divider_width): |
2513 | New Lisp objects. | |
880e6158 MR |
2514 | (set_menu_bar_lines_1, set_menu_bar_lines, make_frame) |
2515 | (make_terminal_frame, Fmake_terminal_frame, Fframe_parameters) | |
2516 | (x_set_internal_border_width, x_set_vertical_scroll_bars) | |
2517 | (x_set_scroll_bar_width, x_figure_window_size): Handle pixel | |
2518 | values. | |
2519 | (set_frame_param): New function. | |
2520 | (Fframe_text_cols, Fframe_text_lines, Fframe_total_cols) | |
2521 | (Fframe_text_width, Fframe_text_height, Fscroll_bar_width) | |
2522 | (Ffringe_width, Fborder_width, Fright_divider_width) | |
2523 | (Fbottom_divider_width): New functions, defsubr them. | |
0d9cba29 SM |
2524 | (Fset_frame_height, Fset_frame_width, Fset_frame_size): |
2525 | New argument pixelwise. | |
880e6158 MR |
2526 | (struct frame_parm_table): New members Qright_divider_width and |
2527 | Qbottom_divider_width. | |
2528 | (x_set_frame_parameters): Handle parameters for pixelwise sizes. | |
2529 | (x_report_frame_params): Handle Qright_divider_width and | |
2530 | Qbottom_divider_width. | |
0d9cba29 SM |
2531 | (x_set_right_divider_width, x_set_bottom_divider_width): |
2532 | New functions. | |
880e6158 MR |
2533 | (frame_resize_pixelwise): New option. |
2534 | * frame.h (struct frame): Add tool_bar_height, menu_bar_height, | |
2535 | new_pixelwise, right_divider_width and bottom_divider_width; | |
2536 | remove total_lines; rename text_lines, text_cols, new_text_lines | |
2537 | and new_text_cols to text_height, text_width, new_height and | |
2538 | new_width respectively. | |
2539 | (FRAME_LINES, FRAME_COLS): Rename to FRAME_TEXT_HEIGHT and | |
2540 | FRAME_TEXT_WIDTH respectively. | |
2541 | (FRAME_MENU_BAR_HEIGHT, FRAME_TOOL_BAR_HEIGHT) | |
2542 | (FRAME_RIGHT_DIVIDER_WIDTH, FRAME_BOTTOM_DIVIDER_WIDTH) | |
0d9cba29 SM |
2543 | (FRAME_TEXT_TO_PIXEL_WIDTH, FRAME_PIXEL_TO_TEXT_WIDTH): |
2544 | New macros. | |
880e6158 MR |
2545 | (FRAME_TOP_MARGIN_HEIGHT, FRAME_LEFT_SCROLL_BAR_AREA_WIDTH) |
2546 | (FRAME_RIGHT_SCROLL_BAR_AREA_WIDTH, FRAME_SCROLL_BAR_AREA_WIDTH) | |
2547 | (SET_FRAME_COLS, SET_FRAME_WIDTH, SET_FRAME_HEIGHT) | |
2548 | (FRAME_TEXT_COLS_TO_PIXEL_WIDTH, FRAME_PIXEL_WIDTH_TO_TEXT_COLS) | |
2549 | (FRAME_TEXT_COLS_TO_PIXEL_WIDTH): Rewrite macros. | |
2550 | (FRAME_TOTAL_COLS_ARG): Remove macro. | |
2551 | * fringe.c (draw_fringe_bitmap_1): Handle right divder. | |
2552 | * gtkutil.c (xg_frame_resized, xg_frame_set_char_size) | |
2553 | (x_wm_set_size_hint): Handle frame pixel sizes. | |
0d9cba29 SM |
2554 | * indent.c (compute_motion, Fcompute_motion): |
2555 | Call window_body_width instead of window_body_cols. | |
880e6158 MR |
2556 | * keyboard.c (Qright_divider, Qbottom_divider): New symbols. |
2557 | (make_lispy_position): Handle right and bottom dividers. | |
2558 | (Fsuspend_emacs): Pixelize call of change_frame_size. | |
2559 | * keyboard.h: Extern Qright_divider, Qbottom_divider. | |
2560 | * lisp.h: Extern set_frame_param. | |
2561 | * nsfns.m (x_set_tool_bar_lines): Pixelize call of | |
2562 | x_set_window_size. | |
0d9cba29 SM |
2563 | (Fx_create_frame): Add entry for vertical_drag_cursor. |
2564 | Pixelize call of change_frame_size. | |
880e6158 MR |
2565 | * nsterm.h (struct ns_output): Add vertical_drag_cursor. |
2566 | * nsterm.m (ns_update_window_end): Optionally draw right | |
2567 | divider. | |
0d9cba29 SM |
2568 | (x_set_window_size): Add argument pixelwise. |
2569 | Call check_frame_size and change_frame_size with pixelwise zero. | |
880e6158 MR |
2570 | (ns_draw_window_divider): New function. |
2571 | (ns_redisplay_interface): Add ns_draw_window_divider. | |
2572 | (updateFrameSize:): Call change_frame_size with pixelwise zero. | |
2573 | (x_new_font): Call x_set_window_size with pixelwise zero. | |
2574 | * print.c (print_object): For a window print its sequence | |
2575 | number again. | |
2576 | * term.c (Fresume_tty): Pixelize call of change_frame_size. | |
2577 | * w32fns.c (x_set_mouse_color): Handle vertical drag cursor. | |
2578 | (x_set_menu_bar_lines, x_set_tool_bar_lines): Calculate pixelwise. | |
2579 | (w32_createwindow): Use scroll bar area width. | |
0d9cba29 SM |
2580 | (w32_wnd_proc): Handle bottom divider width. |
2581 | For WM_WINDOWPOSCHANGING return zero if we resize pixelwise. | |
2582 | (Fx_create_frame): Default divider width parameters. | |
2583 | Caclulate sizes pixelwise. Add vertical drag cursor support. | |
2584 | (x_create_tip_frame): Default divider widths to zero. | |
2585 | Pixelize call to change_frame_size. | |
880e6158 MR |
2586 | (Fx_show_tip): Add handling of divider widths. Pixelize window |
2587 | position and sizes. | |
2588 | (Fw32_frame_rect): New function. | |
2589 | (frame_parm_handler w32_frame_parm_handlers): Add divider | |
2590 | widths. | |
2591 | (Vx_window_vertical_drag_shape): Add variable. | |
2592 | * w32inevt.c (resize_event, maybe_generate_resize_event): | |
2593 | Pixelize change_frame_size calls. | |
2594 | * w32menu.c (set_frame_menubar): Pixelize x_set_window_size | |
2595 | call. | |
2596 | * w32term.c (w32_draw_window_divider): New function. | |
2597 | (x_update_window_end): Handle right divider. | |
2598 | (w32_draw_fringe_bitmap, x_scroll_run) | |
2599 | (w32_set_vertical_scroll_bar): Pixelize scrollbar widths. | |
0d9cba29 SM |
2600 | (w32_read_socket): Handle SIZE_MAXIMIZED separately. |
2601 | Calculate new frame sizes pixelwise. | |
880e6158 MR |
2602 | (x_new_font): Pixelize call to x_set_window_size. |
2603 | (x_check_fullscreen): Pixelize call to change_frame_size. | |
2604 | (x_set_window_size_1, x_set_window_size): New argument | |
2605 | pixelwise. Calculate pixelwise. | |
2606 | (x_wm_set_size_hint): Use scroll bar area width. | |
2607 | (w32_redisplay_interface): Add w32_draw_window_divider. | |
2608 | * w32term.h (struct w32_output): Add vertical drag cursor. | |
2609 | * widget.c (set_frame_size, update_wm_hints) | |
2610 | (EmacsFrameResize, EmacsFrameSetValues): Pixelize calls of | |
2611 | change_frame_size. | |
2612 | (EmacsFrameSetCharSize): Pixelize call of x_set_window_size. | |
2613 | * window.c (sequence_number): Restore. | |
2614 | (Fwindow_pixel_width, Fwindow_pixel_height) | |
2615 | (Fwindow_mode_line_height, Fwindow_header_line_height) | |
2616 | (window_pixel_to_total, Frun_window_scroll_functions) | |
2617 | (Fset_window_new_pixel, window_resize_apply_total) | |
2618 | (Fwindow_resize_apply_total): New functions. | |
2619 | (window_body_height, window_body_width): Rename from | |
0d9cba29 SM |
2620 | window_body_lines. New argument PIXELWISE. |
2621 | Calculate pixelwise. | |
880e6158 MR |
2622 | (Fwindow_body_height, Fwindow_body_width): New argument |
2623 | PIXELWISE. | |
2624 | (coordinates_in_window, window_relative_x_coord): Use window's | |
2625 | pixel width instead of total width. | |
2626 | (replace_window, recombine_windows): Initialize pixel values. | |
2627 | (resize_root_window, resize_frame_windows, grow_mini_window) | |
0d9cba29 SM |
2628 | (shrink_mini_window): New argument PIXELWISE. |
2629 | Calculate pixelwise. | |
880e6158 MR |
2630 | (Fdelete_other_windows_internal, adjust_window_margins) |
2631 | (window_resize_check, window_resize_apply) | |
2632 | (Fdelete_window_internal, Fresize_mini_window_internal) | |
2633 | (Fwindow_text_width, Fwindow_text_height): Calculate pixelwise. | |
2634 | (check_frame_size): Rename arguments. New argument PIXELWISE. | |
2635 | Calculate pixelwise. | |
2636 | (set_window_buffer): Make samebuf bool. Run configuration change | |
2637 | hook only if buffer changed. | |
2638 | (Fset_window_buffer): Rewrite doc-string. | |
2639 | (make_window): Initialize new_pixel slot. | |
2640 | (Fwindow_resize_apply): Check pixel size of root window. | |
2641 | (Fsplit_window_internal): Call 2nd argument pixel_size. | |
2642 | Calculate pixelwise. | |
2643 | (Fscroll_left, Fscroll_right): Call window_body_width instead of | |
2644 | window_body_cols. | |
2645 | (save_window_data): New slots frame_text_width, | |
2646 | frame_text_height, frame_menu_bar_height, frame_tool_bar_height. | |
2647 | (saved_window): New slots pixel_left, pixel_top, pixel_height, | |
2648 | pixel_width. | |
2649 | (Fcurrent_window_configuration, Fset_window_configuration) | |
2650 | (save_window_save, compare_window_configurations): Handle new | |
2651 | slots in save_window_data and saved_window. | |
2652 | (Fset_window_scroll_bars): Fix doc-string. | |
2653 | (window_resize_pixelwise): New variable. | |
0d9cba29 SM |
2654 | (coordinates_in_window, Fcoordinates_in_window_p): |
2655 | Handle dividers. | |
880e6158 | 2656 | (make_parent_window): Adjust sequence_number. |
0d9cba29 SM |
2657 | (Fwindow_right_divider_width, Fwindow_bottom_divider_width): |
2658 | New functions. | |
880e6158 MR |
2659 | * window.h (struct window): New members new_pixel, pixel_left, |
2660 | pixel_top, pixel_width, pixel_height. Restore sequence_number. | |
2661 | (wset_new_pixel): New function. | |
2662 | (WINDOW_PIXEL_WIDTH, WINDOW_PIXEL_HEIGHT) | |
2663 | (MIN_SAFE_WINDOW_PIXEL_WIDTH, MIN_SAFE_WINDOW_PIXEL_HEIGHT) | |
2664 | (WINDOW_LEFT_PIXEL_EDGE, WINDOW_RIGHT_PIXEL_EDGE) | |
2665 | (WINDOW_TOP_PIXEL_EDGE, WINDOW_BOTTOM_PIXEL_EDGE) | |
2666 | (WINDOW_BOTTOMMOST_P, WINDOW_BOX_LEFT_PIXEL_EDGE) | |
2667 | (WINDOW_BOX_RIGHT_PIXEL_EDGE, WINDOW_MARGINS_COLS) | |
2668 | (WINDOW_MARGINS_WIDTH, WINDOW_RIGHT_DIVIDER_WIDTH) | |
2669 | (WINDOW_BOTTOM_DIVIDER_WIDTH): New macros. | |
2670 | (WINDOW_TOTAL_FRINGE_WIDTH): Rename to WINDOW_FRINGES_WIDTH. | |
2671 | (WINDOW_TOTAL_WIDTH, WINDOW_TOTAL_HEIGHT): Remove macros. | |
2672 | (WINDOW_RIGHT_EDGE_X, WINDOW_LEFT_EDGE_X, WINDOW_TOP_EDGE_Y) | |
2673 | (WINDOW_BOTTOM_EDGE_Y, WINDOW_FULL_WIDTH_P, WINDOW_LEFTMOST_P) | |
2674 | (WINDOW_RIGHTMOST_P, WINDOW_BOX_LEFT_EDGE_X) | |
2675 | (WINDOW_BOX_RIGHT_EDGE_X, WINDOW_FRINGE_COLS) | |
2676 | (WINDOW_BOX_HEIGHT_NO_MODE_LINE, WINDOW_BOX_TEXT_HEIGHT): | |
2677 | Rewrite. | |
2678 | (resize_frame_windows, grow_mini_window, shrink_mini_window) | |
2679 | (window_body_width, check_frame_size): Adapt external declarations. | |
2680 | * xdisp.c (last_max_ascent): New integer. | |
2681 | (window_text_bottom_y): Handle bottom divider. | |
2682 | (window_box_width, window_box_height): Calculate pixelwise. | |
2683 | (get_glyph_string_clip_rects): Handle right divider. | |
2684 | (remember_mouse_glyph): When windows are resized pixelwise | |
2685 | proceed with width and height set to 1. | |
2686 | (init_iterator): Use WINDOW_PIXEL_WIDTH instead of | |
2687 | WINDOW_TOTAL_WIDTH. | |
2688 | (move_it_to): Calculate and return maximum x position | |
2689 | encountered. | |
2690 | (Fwindow_text_pixel_size): New function. | |
2691 | (resize_mini_window, update_tool_bar): Calculate pixelwise. | |
0d9cba29 SM |
2692 | (tool_bar_lines_needed): Rename to tool_bar_height. |
2693 | Calculate pixelwise. | |
2694 | (Ftool_bar_lines_needed): Rename to Ftool_bar_height. | |
2695 | Calculate pixelwise. | |
880e6158 MR |
2696 | (redisplay_tool_bar): Calculate pixelwise. |
2697 | (redisplay_window): Calculate pixelwise. Handle dividers. | |
2698 | (draw_glyphs, x_clear_end_of_line, note_mouse_highlight) | |
2699 | (x_draw_vertical_border): Handle dividers. | |
2700 | (define_frame_cursor1): Handle vertical drag cursor. | |
2701 | (x_draw_right_divider, x_draw_bottom_divider): New functions. | |
2702 | (expose_window): Calculate pixelwise. Handle dividers. | |
2703 | (init_xdisp): Initialize pixel values. | |
2704 | * xfaces.c (Qwindow_divider): New face. | |
2705 | (realize_basic_faces): Realize it. | |
2706 | * xfns.c (x_set_mouse_color): Handle vertical_drag_cursor. | |
2707 | (x_set_menu_bar_lines, x_set_tool_bar_lines): Calculate pixelwise. | |
2708 | (x_set_scroll_bar_default_width): Default actual width to 16. | |
2709 | (Fx_create_frame): Set sizes pixelwise. | |
0d9cba29 SM |
2710 | (x_create_tip_frame): Default divider widths to zero. |
2711 | Pixelize call of change_frame_size. | |
880e6158 MR |
2712 | (Fx_show_tip): Handle divider widths. Initial pixel position |
2713 | and sizes. | |
2714 | (frame_parm_handler x_frame_parm_handlers): Add divider widths. | |
2715 | (Vx_window_vertical_drag_shape): New option. | |
2716 | * xmenu.c (free_frame_menubar): Pixelize call of | |
2717 | x_set_window_size. | |
2718 | * xterm.c (x_draw_window_divider): New function. | |
2719 | (x_update_window_end): Optionally draw right divider. | |
2720 | (x_draw_fringe_bitmap, x_scroll_run, x_scroll_bar_create) | |
2721 | (XTset_vertical_scroll_bar): Use scroll bar pixel width. | |
2722 | (handle_one_xevent, x_new_font): Calculate pixelwise. | |
2723 | (x_set_window_size_1, x_set_window_size): New argument | |
2724 | pixelwise. Calculate pixelwise. | |
2725 | (x_wm_set_size_hint): Pixelize call of check_frame_size. | |
2726 | (struct x_redisplay_interface): Add x_draw_window_divider. | |
2727 | * xterm.h (struct x_output): Add vertical_drag_cursor. | |
2728 | ||
44ad1cf7 SM |
2729 | 2013-11-30 Stefan Monnier <monnier@iro.umontreal.ca> |
2730 | ||
2731 | * xdisp.c (redisplay_internal): Don't call set_window_update_flags. | |
2732 | Set invisible frames's `redisplay' when a full redisplay is requested. | |
2733 | (redisplay_window): Set must_be_updated_p instead (bug#15999). | |
2734 | (redisplay_mode_lines): Don't set must_be_updated_p any more. | |
2735 | (display_mode_lines): Set it here instead. | |
2736 | ||
2737 | * dispnew.c (set_window_update_flags): Remove `b' argument; make static. | |
2738 | ||
2739 | * dispextern.h (set_window_update_flags): Remove. | |
2740 | ||
da048127 SM |
2741 | 2013-11-29 Stefan Monnier <monnier@iro.umontreal.ca> |
2742 | ||
9f4ffeee SM |
2743 | * fns.c (internal_equal): Add a hash_table argument to handle cycles. |
2744 | ||
a8253776 SM |
2745 | * xdisp.c (REDISPLAY_SOME_P): New macro. |
2746 | (redisplay_internal): Use it (bug#15999). | |
2747 | (prepare_menu_bars, redisplay_window): Use it as well. | |
2748 | ||
4e36a6a6 | 2749 | * lisp.mk (lisp): Add electric.elc and uniquify.elc. |
da048127 | 2750 | |
579ca67b TS |
2751 | 2013-11-29 Tom Seddon <emacs@tomseddon.plus.com> (tiny change) |
2752 | ||
2753 | * w32font.c (g_b_init_get_char_width_32_w): New static var. | |
2754 | (globals_of_w32font): Zero it out. | |
2755 | (GetCharWidth32W_Proc): New function pointer. | |
2756 | (get_char_width_32_w): New function. | |
2757 | (compute_metrics): If get_glyph_outline_w returns an error, try | |
2758 | get_char_width_32_w before declaring a failure. This avoids | |
2759 | punishing raster (a.k.a. "bitmap") fonts by slowing down | |
2760 | redisplay. (Bug#6364). | |
b7f79a5c | 2761 | |
da048127 SM |
2762 | 2013-11-29 Eli Zaretskii <eliz@gnu.org> |
2763 | ||
b7f79a5c EZ |
2764 | * xdisp.c (clear_mouse_face): Don't invalidate the entire |
2765 | mouse-highlight info, just signal frame_up_to_date_hook that mouse | |
2766 | highlight needs to be redisplayed. (Bug#15913) | |
2767 | ||
49faeaaf PE |
2768 | 2013-11-29 Paul Eggert <eggert@cs.ucla.edu> |
2769 | ||
2770 | Fix minor problems found by static checking. | |
2771 | * buffer.h (struct buffer_text, struct buffer): | |
2772 | * frame.h (struct frame): | |
2773 | * window.h (struct window): | |
2774 | Avoid 'bool foo : 1;', as it's not portable to pre-C99 compilers, | |
2775 | as described in ../lib/stdbool.in.h. Use 'unsigned foo : 1;' instead. | |
2776 | * menu.c (syms_of_menu): Define x-popup-dialog, removing a | |
2777 | no-longer-valid use of HAVE_MENUS. | |
2778 | * xdisp.c (propagate_buffer_redisplay): Now static. | |
2779 | ||
ef869611 SM |
2780 | 2013-11-29 Stefan Monnier <monnier@iro.umontreal.ca> |
2781 | ||
7cdf484b SM |
2782 | * xmenu.c (Fmenu_or_popup_active_p): |
2783 | * window.c (Fset_window_configuration): | |
2784 | * menu.c (Fx_popup_menu, Fx_popup_dialog): | |
2785 | * keyboard.c (record_menu_key, read_char_x_menu_prompt): | |
2786 | * fns.c (Fyes_or_no_p): | |
2787 | * editfns.c (Fmessage_box, Fmessage_or_box): | |
2788 | * alloc.c (make_save_ptr_ptr): | |
2789 | * xdisp.c, w32menu.c, term.c, xterm.h, xterm.c: Remove HAVE_MENUS. | |
2790 | ||
ef869611 SM |
2791 | * window.c (Fset_window_configuration): Move select_window later. |
2792 | ||
655ab9a3 SM |
2793 | 2013-11-28 Stefan Monnier <monnier@iro.umontreal.ca> |
2794 | ||
2795 | Refine redisplay optimizations to only redisplay *some* frames/windows | |
2796 | rather than all of them. | |
2797 | * xdisp.c (REDISPLAY_SOME): New constant. | |
2798 | (redisplay_other_windows, wset_redisplay, fset_redisplay) | |
2799 | (bset_redisplay, bset_update_mode_line): New functions. | |
2800 | (message_dolog): Use bset_redisplay. | |
2801 | (clear_garbaged_frames): Use fset_redisplay. | |
2802 | (echo_area_display): Use wset_redisplay. | |
2803 | (buffer_shared_and_changed): Remove. | |
2804 | (prepare_menu_bars): Call Vpre_redisplay_function before updating | |
2805 | frame titles. Compute the actual set of windows redisplayed. | |
2806 | Don't update frame titles and menu bars for frames that don't need to | |
2807 | be redisplayed. | |
2808 | (propagate_buffer_redisplay): New function. | |
2809 | (AINC): New macro. | |
2810 | (redisplay_internal): Use it. Be more selective in the set of windows | |
2811 | we redisplay. Propagate windows_or_buffers_changed to | |
2812 | update_mode_lines a bit later to simplify the code. | |
2813 | (mark_window_display_accurate_1): Reset window and buffer's | |
2814 | `redisplay' flag. | |
2815 | (redisplay_window): Do nothing if neither the window nor the buffer nor | |
2816 | the frame needs redisplay. | |
2817 | * window.h (struct window): Add `redisplay' field. | |
2818 | (wset_redisplay, fset_redisplay, bset_redisplay, bset_update_mode_line) | |
2819 | (redisplay_other_windows, window_list): New declarations. | |
2820 | * window.c (select_window, Fset_window_start): Use wset_redisplay. | |
2821 | (window_list): Not static any more. | |
2822 | (grow_mini_window, shrink_mini_window): Use fset_redisplay. | |
2823 | * minibuf.c (read_minibuf_unwind): Don't redisplay everything. | |
2824 | * insdel.c (prepare_to_modify_buffer_1): Use bset_redisplay. | |
2825 | * frame.c (Fmake_frame_visible): Don't redisplay everything. | |
2826 | * frame.h (struct frame): Add `redisplay' field. | |
2827 | Move `external_menu_bar' bitfield next to other bit-fields. | |
2828 | (SET_FRAME_GARBAGED): Use fset_redisplay. | |
2829 | (SET_FRAME_VISIBLE): Don't garbage the frame; | |
2830 | Use redisplay_other_windows. | |
2831 | * buffer.h (struct buffer): Add `redisplay' field. | |
2832 | * buffer.c (Fforce_mode_line_update): Pay attention to the `all' flag. | |
2833 | (modify_overlay): Use bset_redisplay. | |
2834 | * alloc.c (gc_sweep): Don't unmark strings while sweeping symbols. | |
2835 | ||
9c099ca7 EZ |
2836 | 2013-11-28 Eli Zaretskii <eliz@gnu.org> |
2837 | ||
2838 | Support w32 file notifications in batch mode. | |
2839 | * w32proc.c (sys_select): Don't wait on interrupt_handle if it is | |
2840 | invalid (which happens in batch mode). If non-interactive, call | |
2841 | handle_file_notifications to store file notification events in the | |
2842 | input queue. (Bug#15933) | |
2843 | ||
655ab9a3 | 2844 | * w32notify.c (send_notifications): Handle FRAME_INITIAL frames as well. |
9c099ca7 | 2845 | |
655ab9a3 | 2846 | * w32inevt.c (handle_file_notifications): Now external, not static. |
9c099ca7 EZ |
2847 | |
2848 | * w32term.h (handle_file_notifications): Provide prototype. | |
2849 | ||
2850 | * emacs.c (main) [HAVE_W32NOTIFY]: When non-interactive, call | |
2851 | init_crit, since init_display, which does that otherwise, is not | |
2852 | called. | |
2853 | ||
7e3bf78c GM |
2854 | 2013-11-27 Glenn Morris <rgm@gnu.org> |
2855 | ||
2856 | * Makefile.in ($(lispsource)/international/charprop.el): New. | |
2857 | (emacs$(EXEEXT)): Depend on charprop.el. | |
2858 | ||
fb6a5d68 EZ |
2859 | 2013-11-27 Eli Zaretskii <eliz@gnu.org> |
2860 | ||
de1e0d91 EZ |
2861 | * fileio.c (Finsert_file_contents): Invalidate buffer caches when |
2862 | deleting portions of the buffer under non-nil REPLACE argument. | |
2863 | (Bug#15973) | |
2864 | ||
fb6a5d68 EZ |
2865 | * w32notify.c (Fw32notify_add_watch): If the argument FILE is a |
2866 | directory, watch it and not its parent. | |
2867 | (add_watch): Allow empty string in FILE. | |
2868 | ||
72fdd473 MR |
2869 | 2013-11-27 Martin Rudalics <rudalics@gmx.at> |
2870 | ||
2871 | * window.c (Fset_window_start, window_resize_apply) | |
2872 | (window_scroll): Reset window_end_valid (Bug#15957). | |
2873 | ||
cb6c95a3 GM |
2874 | 2013-11-27 Glenn Morris <rgm@gnu.org> |
2875 | ||
2876 | * Makefile.in (leimdir): Now in lisp source directory. | |
2877 | ($(leimdir)/leim-list.el): Just use ../leim . | |
2878 | * epaths.in (PATH_DUMPLOADSEARCH): | |
2879 | * lread.c (load_path_default): | |
2880 | * nsterm.m (ns_load_path): No more leim directory. | |
2881 | ||
ed87760c AS |
2882 | 2013-11-26 Andreas Schwab <schwab@suse.de> |
2883 | ||
2884 | * .gdbinit (xgettype): Add cast. | |
2885 | ||
624780f0 GM |
2886 | 2013-11-26 Glenn Morris <rgm@gnu.org> |
2887 | ||
2888 | Preload leim-list.el. | |
2889 | * epaths.in (PATH_DUMPLOADSEARCH): Add leim/. | |
2890 | * callproc.c (init_callproc): Don't assume PATH_DUMPLOADSEARCH | |
2891 | is a single directory. | |
2892 | ||
4aaf6b61 PE |
2893 | 2013-11-25 Paul Eggert <eggert@cs.ucla.edu> |
2894 | ||
3f73284a PE |
2895 | bool-vector-subsetp is now the normal direction (Bug#15912). |
2896 | * data.c (Fbool_vector_subsetp): Test whether the first argument | |
2897 | is a subset of the second one, not the reverse. Add doc string. | |
2898 | ||
4aaf6b61 PE |
2899 | Fix minor problems found by static checking. |
2900 | * lread.c (load_path_default): Now static. | |
2901 | * textprop.c (text_property_stickiness): Be consistent about the | |
2902 | test used when deciding whether to consider the previous character. | |
2903 | This simplifies the code a bit. | |
2904 | ||
511fa0d3 SM |
2905 | 2013-11-25 Stefan Monnier <monnier@iro.umontreal.ca> |
2906 | ||
a5fa8eb4 SM |
2907 | * textprop.c (text_property_stickiness): Fix front-stickiness at BOB. |
2908 | ||
511fa0d3 SM |
2909 | * frame.c (Fhandle_focus_in, Fhandle_focus_out): Move to frame.el. |
2910 | (syms_of_frame): Don't defsubr them. | |
2911 | ||
97bacf8c GM |
2912 | 2013-11-25 Glenn Morris <rgm@gnu.org> |
2913 | ||
310294a3 GM |
2914 | * lread.c (load_path_default): Change the sense of the argument. |
2915 | (init_lread): When EMACSLOADPATH is set, do not ignore changes | |
2916 | from dump_path. When it is not, avoid checking dump_path twice. | |
2917 | ||
97bacf8c GM |
2918 | * lread.c (init_lread): Fix 2013-11-23 goof that was checking |
2919 | uninstalled dump_path against installed Vload_path. (Bug#15964) | |
2920 | ||
450533b0 SM |
2921 | 2013-11-24 Stefan Monnier <monnier@iro.umontreal.ca> |
2922 | ||
740bcff0 SM |
2923 | Export get_pos_property to Elisp. |
2924 | * editfns.c (Fget_pos_property): Rename from get_pos_property. | |
2925 | (syms_of_editfns): Export it to Elisp. | |
2926 | ||
450533b0 SM |
2927 | * data.c (Fmake_variable_buffer_local): Mention `permanent-local'. |
2928 | ||
1db72ad3 RF |
2929 | 2013-11-23 Romain Francoise <romain@orebokech.com> |
2930 | ||
2931 | * fileio.c (init_fileio): Move `write_region_inhibit_fsync' | |
2932 | initialization here ... | |
2933 | (syms_of_fileio): ... from here. | |
2934 | ||
2c98e669 SM |
2935 | 2013-11-23 Stefan Monnier <monnier@iro.umontreal.ca> |
2936 | ||
2937 | * lread.c (init_lread): Fix int/Lisp_Object mixup. | |
2938 | Please use --enable-check-lisp-object-type. | |
2939 | ||
50dca5df GM |
2940 | 2013-11-23 Glenn Morris <rgm@gnu.org> |
2941 | ||
2942 | * process.c (get_process): Explicit error for dead buffers. | |
2943 | ||
d7aff0d6 GM |
2944 | 2013-11-23 Andreas Schwab <schwab@linux-m68k.org> |
2945 | ||
2946 | * process.c (get_process): Check that OBJ is a live buffer. (Bug#15923) | |
2947 | ||
17e0445b GM |
2948 | 2013-11-23 Glenn Morris <rgm@gnu.org> |
2949 | ||
2950 | Empty elements in EMACSLOADPATH stand for the default. (Bug#12100) | |
2951 | * lread.c (load_path_check): Take path to check as argument. | |
2952 | (load_path_default): New, split from init_lread. | |
2953 | (init_lread): Move calc of default load-path to load_path_default. | |
2954 | Empty elements in EMACSLOADPATH now stand for the default. | |
2955 | (load-path): Doc fix. | |
2956 | * emacs.c (decode_env_path): Add option to treat empty elements | |
2957 | as nil rather than ".". | |
2958 | * callproc.c (init_callproc_1, init_callproc): | |
2959 | * image.c (Vx_bitmap_file_path): | |
2960 | * lisp.h (decode_env_path): | |
2961 | * lread.c (Vsource_directory): | |
2962 | Update for new argument spec of decode_env_path. | |
2963 | ||
cd88d682 EZ |
2964 | 2013-11-22 Eli Zaretskii <eliz@gnu.org> |
2965 | ||
2966 | * bidi.c (bidi_find_paragraph_start): Limit the returned positions | |
2967 | to BEGV_BYTE..ZV_BYTE range. (Bug#15951) | |
2968 | ||
75360f19 PE |
2969 | 2013-11-21 Paul Eggert <eggert@cs.ucla.edu> |
2970 | ||
7e8ed4f7 PE |
2971 | Fix some dependency problems that cause unnecessary recompiles. |
2972 | Problem reported by RMS in | |
2973 | <http://lists.gnu.org/archive/html/emacs-devel/2013-11/msg00421.html>. | |
2974 | * Makefile.in (OLDXMENU_TARGET, OLDXMENU, OLDXMENU_DEPS) | |
2975 | (really-lwlib, really-oldXMenu, stamp-oldxmenu) | |
2976 | (../src/$(OLDXMENU), $(OLDXMENU)): Remove. | |
7e8ed4f7 PE |
2977 | (temacs$(EXEEXT)): Depend on $(LIBXMENU), not stamp-oldxmenu. |
2978 | ($(lwlibdir)/liblw.a, $(oldXMenudir)/libXMenu11.a, FORCE): New targets. | |
2979 | (boostrap-clean): No need to remove stamp-oldxmenu. | |
2980 | ||
75360f19 PE |
2981 | Fix recently introduced bool vector overrun. |
2982 | This was due to an optimization that went awry. | |
2983 | Reported by Glenn Morris in | |
2984 | <http://lists.gnu.org/archive/html/emacs-devel/2013-11/msg00622.html>. | |
2985 | * alloc.c (make_uninit_bool_vector): Don't allocate a dummy word | |
2986 | for empty vectors, undoing the 2013-11-18 change. | |
2987 | * data.c (bool_vector_binop_driver): Rely on this. | |
2988 | Fix bug that occasionally overran the destination. | |
2989 | * lisp.h (struct Lisp_Bool_vector): Document this. | |
2990 | ||
f03f7d3d JD |
2991 | 2013-11-20 Jan Djärv <jan.h.d@swipnet.se> |
2992 | ||
e9dc713d | 2993 | * nsterm.m (init, run, stop:): Enable again. stop calls super stop |
cab0d91d JD |
2994 | to handle dialogs. |
2995 | ||
f03f7d3d JD |
2996 | * nsterm.m (init, run, stop:): Comment out for now, does not work |
2997 | with dialogs. | |
2998 | ||
12455b2f PE |
2999 | 2013-11-19 Paul Eggert <eggert@cs.ucla.edu> |
3000 | ||
3001 | * charset.c (syms_of_charset): Don't read past end of string. | |
3002 | ||
8d1c3af9 GM |
3003 | 2013-11-19 Glenn Morris <rgm@gnu.org> |
3004 | ||
3005 | * frame.c (Fhandle_focus_in, Fhandle_focus_out): Doc fixes. | |
3006 | ||
8e015705 BJ |
3007 | 2013-11-19 Brian Jenkins <brian@brianjenkins.org> (tiny change) |
3008 | ||
3009 | Add hooks to run on gaining/losing focus. (Bug#15029) | |
3010 | * frame.c (Qfocus_in_hook, Qfocus_out_hook): New static lisp objects. | |
3011 | (Fhandle_focus_in, Fhandle_focus_out): Run focus hooks. | |
3012 | (syms_of_frame): Add focus-in-hook, focus-out-hook. | |
3013 | ||
87d86601 PE |
3014 | 2013-11-18 Paul Eggert <eggert@cs.ucla.edu> |
3015 | ||
23e79746 PE |
3016 | * data.c (bool_vector_binop_driver): Rename locals for sanity's sake. |
3017 | The old names predated the API change that put destination at end. | |
3018 | ||
ec2c4ee6 PE |
3019 | Improve API of recently-added bool vector functions (Bug#15912). |
3020 | The old API had (bool-vector-count-matches A B) | |
3021 | and (bool-vector-count-matches-at A B I), which gave the | |
3022 | misleading impression that the two functions were variants, one | |
3023 | with a location I. The new API has (bool-vector-count-population A) | |
3024 | and (bool-vector-count-consecutive A B I) to make the distinction | |
3025 | clearer. The first function no longer has a B argument, since the | |
3026 | caller can easily determine the number of nils if the length and | |
3027 | number of ts is known. | |
3028 | * data.c (Fbool_vector_count_population): Rename from | |
3029 | bool_vector_count_matches, and accept just 1 argument. | |
3030 | (Fbool_vector_count_consecutive): Rename from | |
3031 | Fbool_vector_count_matches_at. | |
3032 | ||
87d86601 PE |
3033 | Always allocate at least one bits_word per bool vector. |
3034 | See Daniel Colascione in: | |
3035 | http://lists.gnu.org/archive/html/emacs-devel/2013-11/msg00518.html | |
3036 | * alloc.c (make_uninit_bool_vector): Always allocate at least one word. | |
3037 | * data.c (bool_vector_binop_driver): Rely on this. Tune. | |
3038 | * lisp.h (struct Lisp_Bool_vector): Document this. | |
3039 | ||
37c790b3 EZ |
3040 | 2013-11-18 Eli Zaretskii <eliz@gnu.org> |
3041 | ||
3042 | * insdel.c (invalidate_buffer_caches): New function, consolidated | |
3043 | from part of prepare_to_modify_buffer. | |
3044 | (insert_from_gap, prepare_to_modify_buffer): | |
655ab9a3 SM |
3045 | * coding.c (code_convert_region, code_convert_string): |
3046 | Call invalidate_buffer_caches. (Bug#15841) | |
37c790b3 EZ |
3047 | |
3048 | * lisp.h (invalidate_buffer_caches): Add prototype. | |
3049 | ||
96e78d1f EZ |
3050 | 2013-11-17 Eli Zaretskii <eliz@gnu.org> |
3051 | ||
3052 | * w32term.c (x_update_window_end): Don't invalidate the entire | |
3053 | mouse-highlight info, just signal frame_up_to_date_hook that mouse | |
3054 | highlight needs to be redisplayed. (Bug#15913) | |
3055 | ||
0f679e86 PE |
3056 | 2013-11-17 Paul Eggert <eggert@cs.ucla.edu> |
3057 | ||
3058 | * lisp.h (DEBUGGER_SEES_C_MACROS): Remove. | |
3059 | ||
3d6dec8d EZ |
3060 | 2013-11-16 Eli Zaretskii <eliz@gnu.org> |
3061 | ||
d17f4dba EZ |
3062 | * doc.c (Fsubstitute_command_keys): Inhibit modification hooks |
3063 | while we are using Vprin1_to_string_buffer. | |
3064 | ||
3d6dec8d EZ |
3065 | * keymap.c (describe_map): Don't crash if PT is 1 both before and |
3066 | after inserting the description string. (Bug#15907) | |
3067 | ||
2fcc742f PE |
3068 | 2013-11-15 Paul Eggert <eggert@cs.ucla.edu> |
3069 | ||
3070 | * data.c: Work around bogus GCC diagnostic about shift count. | |
3071 | Reported by Eli Zaretskii in | |
3072 | <http://lists.gnu.org/archive/html/emacs-devel/2013-11/msg00489.html>. | |
3073 | (pre_value): New function. | |
3074 | (count_trailing_zero_bits): Use it. | |
3075 | ||
73583a99 EZ |
3076 | 2013-11-15 Eli Zaretskii <eliz@gnu.org> |
3077 | ||
3078 | * lisp.h (DEBUGGER_SEES_C_MACROS) [GCC < v3.5]: Pessimistically | |
3079 | assume C macros are not supported even under -g3 in these old GCC | |
3080 | versions. | |
3081 | ||
a1f03e89 LL |
3082 | 2013-11-15 Leo Liu <sdl.web@gmail.com> |
3083 | ||
3084 | * minibuf.c (Ftry_completion, Fall_completions) | |
3085 | (Ftest_completion): Use FUNCTIONP. (Bug#15889) | |
3086 | ||
1a191e5c PE |
3087 | 2013-11-15 Paul Eggert <eggert@cs.ucla.edu> |
3088 | ||
3089 | * lisp.h (DEFINE_GDB_SYMBOL_BEGIN, DEFINE_GDB_SYMBOL_END): | |
3090 | Define to empty if DEBUGGER_SEES_C_MACROS is defined. | |
3091 | This avoids placing unnecessary constants into the Emacs code. | |
3092 | ||
c9f63070 KI |
3093 | 2013-11-14 Kazuhiro Ito <kzhr@d1.dion.ne.jp> (tiny change) |
3094 | ||
3095 | * keyboard.c (make_ctrl_char) [HAVE_NTGUI]: Now externally visible | |
3096 | for Cygwin w32 build. | |
3097 | ||
3098 | * xdisp.c (erase_phys_cursor) [HAVE_NTGUI]: Now externally visible | |
3099 | for Cygwin w32 build. (Bug#15892) | |
3100 | ||
d672ac3c PE |
3101 | 2013-11-14 Paul Eggert <eggert@cs.ucla.edu> |
3102 | ||
2cf00efc PE |
3103 | Simplify, port and tune bool vector implementation. |
3104 | * alloc.c (bool_vector_exact_payload_bytes) | |
3105 | (bool_vector_payload_bytes): Remove. | |
3106 | (bool_vector_fill): Return its argument. | |
3107 | * alloc.c (bool_vector_fill): | |
3108 | * lread.c (read1): | |
3109 | * print.c (print_object): | |
3110 | Simplify by using bool_vector_bytes. | |
3111 | * alloc.c (make_uninit_bool_vector): | |
3112 | New function, broken out from Fmake_bool_vector. | |
3113 | (Fmake_bool_vector): Use it. Use tail call. | |
3114 | (make_uninit_bool_vector, vector_nbytes): Simplify size calculations. | |
3115 | * data.c (BITS_PER_ULL): New constant. | |
3116 | (ULLONG_MAX, count_one_bits_ll): Fall back on long counterparts | |
3117 | if long long versions don't exist. | |
3118 | (shift_right_ull): New function. | |
3119 | (count_one_bits_word): New function, replacing popcount_bits_word | |
3120 | macro. Don't assume that bits_word is no wider than long long. | |
3121 | (count_one_bits_word, count_trailing_zero_bits): | |
3122 | Don't assume that bits_word is no wider than long long. | |
3123 | * data.c (bool_vector_binop_driver, bool_vector_not): | |
3124 | * fns.c (Fcopy_sequence): | |
3125 | * lread.c (read1): | |
3126 | Create an uninitialized destination, to avoid needless work. | |
3127 | (internal_equal): Simplify. | |
3128 | (Ffillarray): Prefer tail call. | |
3129 | * data.c (bool_vector_binop_driver): Don't assume bit vectors always | |
3130 | contain at least one word. | |
3131 | (bits_word_to_host_endian): Prefer if to #if. Don't assume | |
3132 | chars are narrower than ints. | |
3133 | * data.c (Fbool_vector_count_matches, Fbool_vector_count_matches_at): | |
3134 | * fns.c (Fcopy_sequence): | |
3135 | Simplify and tune. | |
3136 | * lisp.h (bits_word, BITS_WORD_MAX, BITS_PER_BITS_WORD): | |
3137 | Don't try to port to hosts where bits_word values have holes; the | |
3138 | code wouldn't work there anyway. Verify this assumption, though. | |
3139 | (bool_vector_bytes): New function. | |
3140 | (make_uninit_bool_vector): New decl. | |
3141 | (bool_vector_fill): Now returns Lisp_Object. | |
3142 | ||
d672ac3c PE |
3143 | * xfns.c (xic_create_fontsetname): |
3144 | * xrdb.c (gethomedir): Prefer tail calls. | |
3145 | ||
bd7cd30a PE |
3146 | 2013-11-12 Paul Eggert <eggert@cs.ucla.edu> |
3147 | ||
b3671617 PE |
3148 | * xterm.c (syms_of_xterm): staticpro Qmodifier_value, Qalt, Qhyper, |
3149 | Qmeta, and Qsuper. This is safer, and it's what w32fns.c does. | |
e3ac17b6 | 3150 | |
bd7cd30a PE |
3151 | * buffer.c (Fforce_mode_line_update): Don't fall off end of function |
3152 | that requires a return value. | |
3153 | (Fset_buffer_modified_p): Take advantage of this change to do | |
3154 | a tail call. | |
3155 | ||
ecda65d4 SM |
3156 | 2013-11-11 Stefan Monnier <monnier@iro.umontreal.ca> |
3157 | ||
3158 | * buffer.c (Frestore_buffer_modified_p): Sync it with | |
3159 | Fset_buffer_modified_p. | |
3160 | (Fforce_mode_line_update): New function, moved from subr.el. | |
3161 | (Fset_buffer_modified_p): Use them. | |
3162 | (syms_of_buffer): Defsubr Fforce_mode_line_update. | |
3163 | ||
5389db9e PE |
3164 | 2013-11-11 Paul Eggert <eggert@cs.ucla.edu> |
3165 | ||
3166 | * search.c (find_newline): Rewrite to prefer offsets to pointers. | |
3167 | This avoids undefined behavior when subtracting pointers into | |
3168 | different aways. On my platform it also makes the code a tad | |
3169 | smaller and presumably faster. | |
3170 | ||
7818df11 SM |
3171 | 2013-11-11 Stefan Monnier <monnier@iro.umontreal.ca> |
3172 | ||
3173 | * keyboard.c (command_loop_1): Use region-extract-function. | |
3174 | * insdel.c (Qregion_extract_function): Not static any more (can we | |
3175 | stop pretending that these vars can benefit from being marked static?). | |
3176 | ||
85f37d10 EZ |
3177 | 2013-11-09 Eli Zaretskii <eliz@gnu.org> |
3178 | ||
3179 | * search.c (find_newline): If buffer text is relocated during the | |
3180 | "dumb loop", adjust C pointers into buffer text to follow suit. | |
3181 | (Bug#15841) | |
3182 | ||
0449d6cd | 3183 | 2013-11-09 Łukasz Stelmach <stlman@poczta.fm> (tiny change) |
b24ac90f JD |
3184 | |
3185 | * gtkutil.c (xg_check_special_colors): Use rgb: instead of rgbi: | |
3186 | for conversion (Bug#15837). | |
3187 | ||
addccbd0 EZ |
3188 | 2013-11-09 Eli Zaretskii <eliz@gnu.org> |
3189 | ||
3190 | * fileio.c (Finsert_file_contents): Invalidate the newline cache | |
3191 | for the entire range of inserted characters. (Bug#15841) | |
3192 | ||
5b97b4c0 JD |
3193 | 2013-11-08 Jan Djärv <jan.h.d@swipnet.se> |
3194 | ||
3195 | * xfaces.c (lface_fully_specified_p): Let distant-foreground be | |
3196 | unspecified. | |
3197 | (realize_default_face): Remove assignment to distant-foreground if | |
3198 | unspecified (Bug#15815). | |
3199 | ||
080db47f EZ |
3200 | 2013-11-08 Eli Zaretskii <eliz@gnu.org> |
3201 | ||
3202 | * xdisp.c (message_dolog): Make sure the *Messages* buffer has its | |
3203 | cache-long-scans disabled, since we don't want to call | |
3204 | prepare_to_modify_buffer (in insert_1_both) for each message we | |
3205 | display. | |
3206 | ||
3207 | * buffer.h (bset_cache_long_scans): New INLINE function, moved | |
3208 | from buffer.c. Improve commentary to the buffer field setter | |
3209 | functions. | |
3210 | ||
3211 | * buffer.c (bset_cache_long_scans): Static function deleted. | |
3212 | Improve commentary to the buffer field setter functions. | |
3213 | (init_buffer_once): Default for cache-long-scans changed to t. | |
3214 | (Bug#15797) | |
3215 | ||
7f1913b2 PE |
3216 | 2013-11-08 Paul Eggert <eggert@cs.ucla.edu> |
3217 | ||
220a304a PE |
3218 | * gmalloc.c (special_realloc, calloc, mallochook): Use tail calls. |
3219 | ||
7f1913b2 PE |
3220 | * chartab.c (make_sub_char_table): Fix size typo (Bug#15825). |
3221 | This bug was introduced in my 2013-06-21 change, and caused | |
3222 | struct Lisp_Sub_Char_Table objects to be given too many slots, | |
3223 | which broke 'make -C admin/unidata'. | |
3224 | ||
5ee29210 JD |
3225 | 2013-11-07 Jan Djärv <jan.h.d@swipnet.se> |
3226 | ||
3227 | Import changes from mac-port 4.5. | |
3228 | * macfont.m (mac_font_copy_default_descriptors_for_language) | |
3229 | (mac_font_copy_default_name_for_charset_and_languages): Declare. | |
3230 | (cf_charset_table): big-5-0 has uniquifier 0x4EDC. | |
3231 | (macfont_language_default_font_names): New. | |
3232 | (macfont_list): Rearrange language/charset code. | |
3233 | (macfont_close): Don't check for macfont_info->cache. | |
3234 | (mac_ctfont_create_preferred_family_for_attributes): New font | |
3235 | selection code, call | |
3236 | mac_font_copy_default_name_for_charset_and_languages. | |
3237 | (mac_font_copy_default_descriptors_for_language) | |
3238 | (mac_font_copy_default_name_for_charset_and_languages): New functions. | |
3239 | ||
3240 | * macfont.h (kCTVersionNumber10_9): Define if not defined. | |
3241 | ||
aea07e2c PE |
3242 | 2013-11-07 Paul Eggert <eggert@cs.ucla.edu> |
3243 | ||
3244 | Port to C11 aligned_alloc, and fix some integer overflows. | |
3245 | * alloc.c (USE_ALIGNED_ALLOC): New symbol. | |
3246 | (USE_POSIX_MEMALIGN): Remove. All uses replaced with USE_ALIGNED_ALLOC, | |
3247 | and use of posix_memalign replaced with aligned_alloc. | |
3248 | (aligned_alloc): New function, defined or declared as needed. | |
3249 | * conf_post.h (HAVE_POSIX_MEMALIGN) [DARWIN_OS]: | |
3250 | Don't undef; configure.ac now does this. | |
3251 | * gmalloc.c (aligned_alloc) [MSDOS]: New decl. | |
3252 | (calloc, aligned_alloc): Check for integer overflow. | |
3253 | (aligned_alloc): Rename from memalign. All uses changed. | |
3254 | (memalign): New function, an alias for aligned_alloc. | |
3255 | ||
e2e894cf SM |
3256 | 2013-11-06 Stefan Monnier <monnier@iro.umontreal.ca> |
3257 | ||
3258 | * xdisp.c (redisplay_internal): Fix typo in last change. | |
3259 | ||
a5d376b0 PE |
3260 | 2013-11-06 Paul Eggert <eggert@cs.ucla.edu> |
3261 | ||
3262 | * regex.c: Fix --enable-gcc-warning glitch with GCC 4.5.2. | |
3263 | ||
2ec9db5d SM |
3264 | 2013-11-06 Stefan Monnier <monnier@iro.umontreal.ca> |
3265 | ||
3266 | * xdisp.c (syms_of_xdisp): New vars redisplay--all-windows-cause and | |
3267 | redisplay--mode-lines-cause. | |
3268 | (redisplay_internal): Keep them uptodate. Remove redundant check of | |
3269 | buffer_shared_and_changed. | |
3270 | * *.[chm]: Number every assignment to update_mode_lines so we | |
3271 | can track why it is set. | |
3272 | ||
d7ac0815 EZ |
3273 | 2013-11-06 Eli Zaretskii <eliz@gnu.org> |
3274 | ||
3275 | * editfns.c (Fformat_time_string): Doc fix. (Bug#15816) | |
3276 | ||
94ae2ad4 SM |
3277 | 2013-11-06 Stefan Monnier <monnier@iro.umontreal.ca> |
3278 | ||
3279 | * *.[chm]: Number every assignment to windows_or_buffers_changed so we | |
3280 | can track why it is set. | |
3281 | ||
798aef02 PE |
3282 | 2013-11-06 Paul Eggert <eggert@cs.ucla.edu> |
3283 | ||
3284 | Integer-related fixes for term.c etc. | |
3285 | * dispextern.h (face_tty_specified_color): New function. | |
3286 | * term.c (turn_on_face): Don't rely on undefined behavior when | |
94ae2ad4 SM |
3287 | assigning an out-of-range value to 'long'. |
3288 | Simplify test for toggling highlight. | |
798aef02 PE |
3289 | (tty_capable_p): Omit last two (unused) args. All callers changed. |
3290 | * term.c (tty_capable_p, tty_menu_display, tty_menu_add_selection) | |
3291 | (read_menu_input, tty_menu_activate, tty_menu_show): | |
3292 | * xfaces.c (x_supports_face_attributes_p) | |
3293 | (tty_supports_face_attributes_p): | |
3294 | Use bool for boolean. All callers changed. | |
3295 | (tty_supports_face_attributes_p): Omit defaults for color indices; | |
3296 | no longer needed. Simplify tail call. | |
3297 | ||
9e6e9826 SM |
3298 | 2013-11-05 Stefan Monnier <monnier@iro.umontreal.ca> |
3299 | ||
3300 | * xdisp.c (prepare_menu_bars): Mark static. | |
3301 | * lisp.h (prepare_menu_bars): Don't declare. | |
3302 | * xselect.c (x_handle_selection_clear): | |
3303 | * callproc.c (call_process): Remove redundant call to prepare_menu_bars. | |
3304 | ||
7544a9d3 PE |
3305 | 2013-11-05 Paul Eggert <eggert@cs.ucla.edu> |
3306 | ||
3307 | * keyboard.c (Fcommand_error_default_function): Fix pointer signedness | |
3308 | glitch. Eliminate 'sz' prefix; Hungarian notation is not helpful here. | |
3309 | ||
2e670b95 SM |
3310 | 2013-11-05 Stefan Monnier <monnier@iro.umontreal.ca> |
3311 | ||
3312 | * keyboard.c (Fcommand_error_default_function): Rename from | |
3313 | Fdefault_error_output. | |
3314 | ||
2ea0d614 JC |
3315 | 2013-11-05 Jarek Czekalski <jarekczek@poczta.onet.pl> (tiny change) |
3316 | ||
2e670b95 SM |
3317 | * keyboard.c (Fdefault_error_output): New function, extracted from |
3318 | cmd_error_internal. | |
3319 | (syms_of_keyboard): Use it for Vcommand_error_function. | |
2ea0d614 | 3320 | |
70de5e86 SM |
3321 | 2013-11-05 Stefan Monnier <monnier@iro.umontreal.ca> |
3322 | ||
3323 | * eval.c (handlerlist_sentinel): New variable (bug#15802). | |
3324 | (init_eval): Use it to ensure handlerlist is non-NULL. | |
3325 | (unwind_to_catch): Make sure we never set handlerlist to NULL. | |
3326 | (Fsignal): Adjust NULLness test of handlerlist. | |
70de5e86 SM |
3327 | * lisp.h (PUSH_HANDLER): Assume handlerlist is non-NULL. |
3328 | ||
d57f4dde EZ |
3329 | 2013-11-05 Eli Zaretskii <eliz@gnu.org> |
3330 | ||
3331 | * callproc.c (call_process): Call prepare_to_modify_buffer before | |
3332 | decoding text read from the sub-process, as the decoded stuff will | |
3333 | be inserted into the buffer. This will invalidate the various | |
3334 | caches maintained for the buffer. (Bug#15148) | |
3335 | ||
29aa2b71 XF |
3336 | 2013-11-05 Xue Fuqiao <xfq.free@gmail.com> |
3337 | ||
3338 | * xdisp.c (syms_of_xdisp): Mention the active display table in doc | |
3339 | string of glyphless-char-display. | |
3340 | ||
ceb486d4 JD |
3341 | 2013-11-05 Jan Djärv <jan.h.d@swipnet.se> |
3342 | ||
3343 | * nsfns.m (ns_get_name_from_ioreg): New function. | |
3344 | (ns_screen_name): Don't use deprecated CGDisplayIOServicePort on | |
3345 | OSX >= 10.9. Use ns_get_name_from_ioreg. | |
3346 | ||
69369809 PE |
3347 | 2013-11-05 Paul Eggert <eggert@cs.ucla.edu> |
3348 | ||
df5b4930 PE |
3349 | Simplify and port recent bool vector changes. |
3350 | * alloc.c (ROUNDUP): Move here from lisp.h, since it's now used | |
3351 | only in this file. Use a more-efficient implementation if the | |
3352 | second argument is a power of 2. | |
3353 | (ALIGN): Rewrite in terms of ROUNDUP. Make it a function. | |
3354 | Remove no-longer-necessary compile-time checks. | |
3355 | (bool_vector_exact_payload_bytes): New function. | |
3356 | (bool_vector_payload_bytes): Remove 2nd arg; callers that need | |
3357 | exact payload changed to call the new function. Do not assume | |
3358 | that the arg or result fits in ptrdiff_t. | |
3359 | (bool_vector_fill): New function. | |
3360 | (Fmake_bool_vector): Use it. Don't assume bit counts fit | |
3361 | in ptrdiff_t. | |
3362 | (vroundup_ct): Don't assume arg fits in size_t. | |
3363 | * category.c (SET_CATEGORY_SET): Remove. All callers now just | |
3364 | invoke set_category_set. | |
3365 | (set_category_set): 2nd arg is now EMACS_INT and 3rd is now bool. | |
3366 | All callers changed. Use bool_vector_set. | |
3367 | * category.h (XCATEGORY_SET): Remove; no longer needed. | |
3368 | (CATEGORY_MEMBER): Now a function. Rewrite in terms of | |
3369 | bool_vector_bitref. | |
3370 | * data.c (Faref): Use bool_vector_ref. | |
3371 | (Faset): Use bool_vector_set. | |
3372 | (bits_word_to_host_endian): Don't assume you can shift by CHAR_BIT. | |
3373 | (Fbool_vector_not, Fbool_vector_count_matches) | |
3374 | (Fbool_vector_count_matches_at): Don't assume CHAR_BIT == 8. | |
3375 | * fns.c (concat): Use bool_vector_ref. | |
3376 | (Ffillarray): Use bool_vector_fill. | |
3377 | (mapcar1): Use bool_vector_ref. | |
3378 | (sxhash_bool_vector): Hash words, not bytes. | |
3379 | * lisp.h (BOOL_VECTOR_BITS_PER_CHAR): Now a macro as well as | |
3380 | a constant, since it's now used in #if. | |
3381 | (bits_word, BITS_WORD_MAX, BITS_PER_BITS_WORD): Fall back on | |
3382 | unsigned char on unusual architectures, so that we no longer | |
3383 | assume that the number of bits per bits_word is a power of two or | |
3384 | is a multiple of 8 or of CHAR_BIT. | |
3385 | (Qt): Add forward decl. | |
3386 | (struct Lisp_Bool_Vector): Don't assume EMACS_INT is aligned | |
3387 | at least as strictly as bits_word. | |
3388 | (bool_vector_data, bool_vector_uchar_data): New accessors. | |
3389 | All data structure accesses changed to use them. | |
3390 | (bool_vector_words, bool_vector_bitref, bool_vector_ref) | |
3391 | (bool_vector_set): New functions. | |
3392 | (bool_vector_fill): New decl. | |
3393 | (ROUNDUP): Move to alloc.c as described above. | |
3394 | ||
69369809 PE |
3395 | Fix recent gnutls changes. |
3396 | * gnutls.c (Fgnutls_boot): Don't assume C99. | |
3397 | * process.c (wait_reading_process_output): Fix typo in recent change. | |
3398 | ||
194b4d9f TZ |
3399 | 2013-11-05 Teodor Zlatanov <tzz@lifelogs.com> |
3400 | ||
3401 | * process.c (wait_reading_process_output, read_process_output) | |
3402 | (send_process): Check gnutls_state is not NULL. | |
3403 | ||
3404 | * gnutls.c (emacs_gnutls_handle_error): Adjust log level for EAGAIN. | |
3405 | (Fgnutls_boot): Set process gnutls_p later, after initialization. | |
3406 | ||
c8b09927 JD |
3407 | 2013-11-04 Jan Djärv <jan.h.d@swipnet.se> |
3408 | ||
3409 | * nsterm.m (init, run, stop:): New methods in EmacsApp for | |
3410 | OSX >= 10.9 to prevent memory leak of GCD dispatch source. | |
3411 | ||
3412 | * nsterm.h (EmacsApp): Add shouldKeepRunning and isFirst for | |
3413 | OSX >= 10.9. | |
3414 | ||
3415 | * nsfns.m (Fx_create_frame): Fix memory leak. | |
3416 | ||
3417 | * macfont.m (CG_SET_FILL_COLOR_WITH_GC_FOREGROUND) | |
3418 | (CG_SET_FILL_COLOR_WITH_GC_BACKGROUND) | |
3419 | (CG_SET_STROKE_COLOR_WITH_GC_FOREGROUND): Fix memory leak. | |
3420 | ||
d0065ff1 EZ |
3421 | 2013-11-04 Eli Zaretskii <eliz@gnu.org> |
3422 | ||
3423 | * xdisp.c (message3_nolog, message_with_string): Encode the string | |
3424 | before writing it to the terminal in a non-interactive session. | |
3425 | ||
3426 | * lread.c (openp): If both FILENAME and SUFFIX are unibyte, make | |
3427 | sure we concatenate them into a unibyte string. | |
3428 | ||
3429 | * fileio.c (make_temp_name): Encode PREFIX, and decode the | |
3430 | resulting temporary name before returning it to the caller. | |
3431 | (Fexpand_file_name): If NAME is pure-ASCII and DEFAULT_DIRECTORY | |
3432 | is a unibyte string, convert NAME to a unibyte string to ensure | |
3433 | that the result is also a unibyte string. | |
3434 | ||
3435 | * emacs.c (init_cmdargs): Use build_unibyte_string to make sure we | |
3436 | create unibyte strings from default paths and directory/file | |
3437 | names. | |
3438 | ||
3439 | * coding.h (ENCODE_FILE): Do not attempt to encode a unibyte | |
3440 | string. | |
3441 | ||
3442 | * callproc.c (init_callproc): Use build_unibyte_string to make | |
3443 | sure we create unibyte strings from default paths and | |
3444 | directory/file names. | |
3445 | ||
3446 | * buffer.c (init_buffer): Don't store default-directory of | |
be80645a | 3447 | *scratch* in multibyte form. The original problem which led to |
d0065ff1 EZ |
3448 | that is described in |
3449 | http://lists.gnu.org/archive/html/emacs-pretest-bug/2004-11/msg00532.html, | |
3450 | but it was solved long ago. (Bug#15260) | |
3451 | ||
91f2d272 PE |
3452 | 2013-11-04 Paul Eggert <eggert@cs.ucla.edu> |
3453 | ||
3454 | Port to stricter C99 platforms. | |
3455 | Especially, C99 prohibits nesting a struct X inside struct Y if | |
3456 | struct X has a flexible array member. | |
3457 | * alloc.c (struct sdata): New type. | |
3458 | (sdata): Implement in terms of struct sdata. | |
3459 | Remove u member; all uses replaced by next_vector, set_next_vector. | |
3460 | (SDATA_SELECTOR, SDATA_DATA, SDATA_DATA_OFFSET): Adjust to sdata change. | |
3461 | (SDATA_DATA_OFFSET): Now a constant, not a macro. | |
3462 | (struct sblock): Rename first_data member to data, which is now | |
3463 | a flexible array member. All uses changed. | |
3464 | (next_vector, set_next_vector, large_vector_vec): New functions. | |
3465 | (vector_alignment): New constant. | |
3466 | (roundup_size): Make it a multiple of ALIGNOF_STRUCT_LISP_VECTOR, too. | |
3467 | (struct large-vector): Now merely a NEXT member, since the old approach | |
3468 | ran afoul of stricter C99. All uses changed to use | |
3469 | large_vector_vec or large_vector_offset. | |
3470 | (large_vector_offset): New constant. | |
3471 | * dispnew.c: Include tparam.h, for tgetent. | |
3472 | Do not include term.h; no longer needed. | |
3473 | * gnutls.c (Fgnutls_boot): Don't continue after calling a _Noreturn. | |
3474 | * lisp.h (ENUM_BF) [__SUNPRO_C && __STDC__]: Use unsigned int. | |
3475 | (struct Lisp_Vector): Use a flexible array member for contents, | |
3476 | instead of a union with a member that is an array of size 1. | |
3477 | All uses changed. | |
3478 | (ALIGNOF_STRUCT_LISP_VECTOR): New constant, to make up for the | |
3479 | fact that the struct no longer contains a union. | |
3480 | (struct Lisp_Misc_Any, struct Lisp_Marker, struct Lisp_Overlay) | |
3481 | (struct Lisp_Save_Value, struct Lisp_Free): | |
3482 | Use unsigned, not int, for spacers, to avoid c99 warning. | |
3483 | (union specbinding): Use unsigned, not bool, for bitfield, as | |
3484 | bool is not portable to pre-C99 hosts. | |
3485 | ||
6dc6d301 GM |
3486 | 2013-11-04 Glenn Morris <rgm@gnu.org> |
3487 | ||
3488 | * emacs.c (usage_message): Mention that `-L :...' appends. | |
3489 | ||
b0b9e592 GM |
3490 | 2013-11-02 Glenn Morris <rgm@gnu.org> |
3491 | ||
fca2fccb GM |
3492 | * Makefile.in (abs_builddir): Remove. |
3493 | (bootstrap_exe): Use relative filename. | |
3494 | ||
c617f3d0 GM |
3495 | Use relative filenames in TAGS files. |
3496 | * Makefile.in (abs_srcdir): Remove it again. | |
3497 | (.PHONY): Remove frc. | |
3498 | (maintainer-clean): No more TAGS-LISP file. | |
3499 | (TAGS): Pass relative file names to etags. | |
3500 | (../lisp/TAGS): Rename from TAGS-LISP. Work in ../lisp. | |
3501 | ||
b0b9e592 | 3502 | * Makefile.in (abs_srcdir): New, set by configure. |
739f57cd | 3503 | (lispdir): Remove. |
b0b9e592 GM |
3504 | (maintainer-clean): Remove pointless echo. That should be in the |
3505 | top-level Makefile, if anywhere. Delete TAGS-LISP. | |
3506 | (extraclean): No s/ and m/ directories for some time. | |
739f57cd GM |
3507 | (TAGS): Also depend on ctagsfiles3. |
3508 | Remove no-longer-defined S_FILE. | |
b0b9e592 | 3509 | Pass absolute filenames to etags once more. |
739f57cd | 3510 | (TAGS-LISP): Replace lispdir with its expansion. |
b0b9e592 GM |
3511 | (TAGS-LISP, $(lwlibdir)/TAGS): Correctly pass ETAGS to sub-makes. |
3512 | ($(lwlibdir)/TAGS): Remove useless subshell, check cd return value. | |
3513 | ||
0c21fa44 JD |
3514 | 2013-11-02 Jan Djärv <jan.h.d@swipnet.se> |
3515 | ||
94ae2ad4 SM |
3516 | * xfaces.c (check_lface_attrs, realize_default_face): |
3517 | Add LFACE_DISTANT_FOREGROUND_INDEX (Bug#15788). | |
39dd7bb2 | 3518 | (realize_default_face): Set DISTANT_FOREGROUND to unspecified_fg. |
0c21fa44 | 3519 | |
a90e5a33 PE |
3520 | 2013-11-02 Paul Eggert <eggert@cs.ucla.edu> |
3521 | ||
3522 | * emacs.c (original_pwd): Remove global var by making it local. | |
3523 | (init_cmdargs): New arg ORIGINAL_PWD; caller changed. | |
3524 | ||
3c334c14 JD |
3525 | 2013-11-01 Jan Djärv <jan.h.d@swipnet.se> |
3526 | ||
3527 | * xfaces.c: Declare color_distance. | |
3528 | (QCdistant_foreground): New variable. | |
3529 | (NEAR_SAME_COLOR_THRESHOLD): New define. | |
3530 | (load_color2): New function. | |
3531 | (load_color): Call load_color2. | |
3532 | (load_face_colors): Call load_color2 and if distant-color is specified | |
3533 | calculate distant and use distant-color if colors are near. | |
3534 | (LFACE_DISTANT_FOREGROUND): New define. | |
3535 | (merge_face_ref, Finternal_set_lisp_face_attribute) | |
3536 | (Finternal_get_lisp_face_attribute) | |
3537 | (x_supports_face_attributes_p): Handle distant-foreground similar to | |
3538 | foreground. | |
3539 | (syms_of_xfaces): DEFSYM QCdistant_foreground. | |
3540 | ||
94ae2ad4 SM |
3541 | * dispextern.h (lface_attribute_index): |
3542 | Add LFACE_DISTANT_FOREGROUND_INDEX. | |
3c334c14 | 3543 | |
d14c81ee CB |
3544 | 2013-11-01 Claudio Bley <claudio.bley@googlemail.com> |
3545 | ||
94ae2ad4 SM |
3546 | * image.c (pbm_next_char): New function. |
3547 | See http://netpbm.sourceforge.net/doc/pbm.html for the details. | |
0e7690de CB |
3548 | (pbm_scan_number): Use it. |
3549 | (Qlibjpeg_version): New variable. | |
d14c81ee CB |
3550 | (syms_of_image): DEFSYM and initialize it. |
3551 | ||
26ca8870 JD |
3552 | 2013-10-31 Jan Djärv <jan.h.d@swipnet.se> |
3553 | ||
3554 | * emacs.c (main): Skip -psn args on OSX even if ! isatty (0). | |
3555 | ||
8fd07417 GM |
3556 | 2013-10-31 Glenn Morris <rgm@gnu.org> |
3557 | ||
3558 | * emacs.c (original_pwd): New char. | |
3559 | (main): If using --chdir, store original_pwd. | |
3560 | (init_cmdargs): When setting Vinvocation_directory based on a | |
3561 | relative argv[0], use original_pwd if set. (Bug#15768) | |
3562 | ||
4c9797cb SM |
3563 | 2013-10-29 Stefan Monnier <monnier@iro.umontreal.ca> |
3564 | ||
3565 | * keyboard.c (command_loop_1): If command is nil, call `undefined'. | |
3566 | ||
dcd163ac PE |
3567 | 2013-10-29 Paul Eggert <eggert@cs.ucla.edu> |
3568 | ||
3569 | * insdel.c: Fix minor problems found by static checking. | |
3570 | (Qregion_extract_function): Now static. | |
3571 | (prepare_to_modify_buffer_1): Remove unused locals. | |
3572 | ||
3472b6c6 SM |
3573 | 2013-10-29 Stefan Monnier <monnier@iro.umontreal.ca> |
3574 | ||
3575 | * xdisp.c (prepare_menu_bars): Call Vpre_redisplay_function. | |
3576 | (syms_of_xdisp): Declare pre-redisplay-function. | |
3577 | (markpos_of_region): Remove function. | |
3578 | (init_iterator, compute_stop_pos, handle_face_prop) | |
3579 | (face_before_or_after_it_pos, reseat_to_string) | |
3580 | (get_next_display_element, window_buffer_changed) | |
3581 | (redisplay_internal, try_cursor_movement, redisplay_window) | |
3582 | (try_window_reusing_current_matrix, try_window_id, display_line) | |
3583 | (note_mode_line_or_margin_highlight, note_mouse_highlight) | |
3584 | (display_string, mouse_face_from_buffer_pos): Remove region handling. | |
3585 | * window.h (struct window): Remove field `region_showing'. | |
3586 | * dispextern.h (struct it): Remove region_beg/end_charpos. | |
3587 | (face_at_buffer_position, face_for_overlay_string) | |
3588 | (face_at_string_position): Update prototypes. | |
3589 | * xfaces.c (face_at_buffer_position, face_for_overlay_string) | |
3590 | (face_at_string_position): Remove `region_beg' and `region_end' args. | |
3591 | * fontset.c (Finternal_char_font): | |
3592 | * font.c (font_at, font_range): Adjust calls accordingly. | |
3593 | * insdel.c (Qregion_extract_function): New var. | |
3594 | (syms_of_insdel): Initialize it. | |
3595 | (prepare_to_modify_buffer_1): Use it. | |
3596 | ||
2d9783e0 DA |
3597 | 2013-10-29 Dmitry Antipov <dmantipov@yandex.ru> |
3598 | ||
3599 | Prefer 'unsigned long' to 'long unsigned int' and 'unsigned long int'. | |
3600 | * ftxfont.c (ftxfont_get_gcs): | |
3601 | * gtkutil.c (xg_set_widget_bg, xg_set_background_color): | |
3602 | * xfaces.c (x_free_colors, x_free_dpy_colors) | |
3603 | (x_create_gc, unload_color): | |
3604 | * xselect.c (x_property_data_to_lisp): | |
3605 | * xsettings.c (parse_settings): | |
3606 | * xterm.c (x_copy_color, x_alloc_lighter_color, x_setup_relief_color) | |
3607 | (get_bits_and_offset): Adjust definition. | |
3608 | * frame.c (XParseGeometry): Adjust locals. | |
3609 | * lisp.h (toplevel): Adjust EMACS_UINT type definition. | |
3610 | * regex.h (toplevel): Likewise for reg_syntax_t. | |
3611 | ||
dee4ba59 SM |
3612 | 2013-10-29 Stefan Monnier <monnier@iro.umontreal.ca> |
3613 | ||
3614 | * eval.c (run_hook_with_args): Use FUNCTIONP. | |
3615 | ||
0085b9be DA |
3616 | 2013-10-29 Dmitry Antipov <dmantipov@yandex.ru> |
3617 | ||
3618 | * xterm.h (struct x_output): For 'black_relief' and 'white_relief' | |
3619 | fields, drop 'allocated_p' member and use -1 for uninitialized value. | |
3620 | * w32term.h (struct w32_output): Similarly but do not use -1 because... | |
3621 | * xfaces.c (unload_color) [HAVE_X_WINDOWS]: ...this function is a no-op | |
3622 | on MS-Windows anyway. | |
3623 | (free_face_colors): Define only if HAVE_X_WINDOWS and... | |
3624 | (free_realized_face): ...adjust user. | |
3625 | * xfns.c (Fx_create_frame, x_create_tip_frame): Initialize black and | |
3626 | white relief pixels to -1. | |
3627 | * xterm.c (x_setup_relief_color, x_free_frame_resources): Adjust users. | |
3628 | * w32term.c (w32_setup_relief_color, x_free_frame_resources): Likewise. | |
3629 | * dispextern.h (unload_color): Move prototype under HAVE_X_WINDOWS. | |
3630 | ||
b7e0ef72 PE |
3631 | 2013-10-28 Paul Eggert <eggert@cs.ucla.edu> |
3632 | ||
3633 | * dispextern.h, image.c (x_bitmap_height, x_bitmap_width): Now static. | |
3634 | * xfaces.c (load_pixmap): Omit last two args, which are always NULL | |
3635 | in practice now. All callers changed. | |
3636 | ||
5d3311e5 DA |
3637 | 2013-10-28 Dmitry Antipov <dmantipov@yandex.ru> |
3638 | ||
3639 | * dispextern.h (struct face): Use bitfields for 'underline_type' | |
3640 | and 'box' members. Remove set-but-unused members 'pixmap_w' and | |
3641 | 'pixmap_h'. If not HAVE_WINDOW_SYSTEM, also remove dummy | |
3642 | 'stipple' member. Move 'lface' member up to help... | |
3643 | * xfaces.c (make_realized_face): ...this function to find and | |
3644 | clear just the members that need clearing. | |
3645 | (load_face_colors, realize_x_face): | |
3646 | * xdisp.c (extend_face_to_end_of_line): Adjust user. | |
3647 | ||
0f771d26 DA |
3648 | 2013-10-27 Dmitry Antipov <dmantipov@yandex.ru> |
3649 | ||
3650 | * xftfont.c (struct xftfont_info): Remove set-but-unused | |
3651 | 'screen' member. | |
3652 | (xftfont_open): Adjust user. | |
3653 | (xftfont_get_colors): Remove useless prototype. | |
3654 | ||
c556b44b EZ |
3655 | 2013-10-26 Eli Zaretskii <eliz@gnu.org> |
3656 | ||
3657 | * emacs.c (Fdump_emacs): Encode FILENAME and SYMFILE arguments | |
3658 | before passing them to 'unexec'. (Bug#15260) | |
3659 | ||
2a03e2bc XF |
3660 | 2013-10-26 Xue Fuqiao <xfq.free@gmail.com> |
3661 | ||
3662 | * fringe.c (set_fringe_bitmap_face): Add usage note from lispref. | |
3663 | ||
6702c559 EZ |
3664 | 2013-10-25 Eli Zaretskii <eliz@gnu.org> |
3665 | ||
f67599d5 EZ |
3666 | * w32uniscribe.c (uniscribe_close): Adjust the argument list to |
3667 | the changed signature of the font driver's 'close' method. | |
3668 | ||
6702c559 EZ |
3669 | * w32font.h (w32font_close): Adjust the prototype to the change in |
3670 | function definition. | |
3671 | ||
3672 | * w32font.c (w32font_close): Reintroduce deleted declaration of i. | |
3673 | ||
3674 | * w32uniscribe.c (uniscribe_close): Adapt the call to | |
3675 | w32font_close to its new prototype. | |
3676 | ||
78e0b35c DA |
3677 | 2013-10-25 Dmitry Antipov <dmantipov@yandex.ru> |
3678 | ||
3679 | Omit unused frame argument of font API's close function. | |
3680 | * font.h (struct font): Drop frame argument. Adjust comment. | |
3681 | * font.c (font_clear_cache, font_close_object): Adjust users. | |
3682 | * ftfont.c (ftfont_close): | |
3683 | * ftxfont.c (ftxfont_close): | |
3684 | * macfont.m (macfont_close): | |
3685 | * nsfont.m (nsfont_close): | |
3686 | * w32font.c (w32font_close): | |
3687 | * xfont.c (xfont_close): | |
86bd985e DA |
3688 | * xftfont.c (xftfont_close): Adjust driver-specific close functions, |
3689 | tweak comments and make functions safe if called more than once for | |
3690 | the same font object. | |
3691 | ||
3692 | Perform font-specific cleanup when font object is swept by GC. See | |
3693 | http://lists.gnu.org/archive/html/emacs-devel/2013-10/msg00740.html. | |
3694 | * alloc.c (cleanup_vector): New function. | |
3695 | (sweep_vector): Call it for each reclaimed vector object. | |
3696 | * font.h (struct font): Adjust comment. | |
78e0b35c | 3697 | |
eb9a3661 GM |
3698 | 2013-10-24 Glenn Morris <rgm@gnu.org> |
3699 | ||
3700 | * Makefile.in (abs_top_srcdir): New, set by configure. | |
3701 | ||
df24a230 DA |
3702 | 2013-10-23 Dmitry Antipov <dmantipov@yandex.ru> |
3703 | ||
66b238df | 3704 | Adjust recent font-related changes to fix bug#15686. |
df24a230 | 3705 | * alloc.c (mark_object) [HAVE_WINDOW_SYSTEM]: If marked frame |
66b238df | 3706 | is a live window system frame, mark its default font too. |
df24a230 | 3707 | |
b8e3b0a9 GM |
3708 | 2013-10-23 Glenn Morris <rgm@gnu.org> |
3709 | ||
3710 | * Makefile.in (RUN_TEMACS): Make relative (again). | |
3711 | ($(leimdir)/leim-list.el, .el.elc, $(lispsource)/loaddefs.el) | |
3712 | (bootstrap-emacs$(EXEEXT)): | |
3713 | Quote entities that might contain whitespace. | |
3714 | ||
e4ea223d PE |
3715 | 2013-10-23 Paul Eggert <eggert@cs.ucla.edu> |
3716 | ||
3717 | Port to Solaris 10 and its bundled GCC. | |
3718 | Problem reported by Timothy C. Burt. | |
3719 | * floatfns.c (isfinite, isnan): Redefine unconditionally. | |
3720 | ||
fc54bdd5 DA |
3721 | 2013-10-21 Dmitry Antipov <dmantipov@yandex.ru> |
3722 | ||
3723 | Do not allow font caches to grow too large. | |
3724 | * alloc.c (compact_font_cache_entry, compact_font_caches): | |
3725 | New functions or stub if not HAVE_WINDOW_SYSTEM. | |
3726 | (compact_undo_list): Factor out from Fgarbage_collect. | |
3727 | Add comment. | |
3728 | (mark_face_cache): Mark face font. Move down to avoid | |
3729 | extra prototypes. | |
3730 | (mark_terminals): Do not mark font cache here. | |
3731 | (Fgarbage_collect): Call compaction functions described | |
3732 | above. Adjust comment. | |
3733 | ||
aca5fcdc JD |
3734 | 2013-10-20 Jan Djärv <jan.h.d@swipnet.se> |
3735 | ||
a9f8deec JD |
3736 | * emacs.c (main): On Cocoa, if GUI session and 0 is not a tty, |
3737 | chdir to HOME (bug#15607). | |
3738 | ||
aca5fcdc JD |
3739 | * nsterm.m (Qcocoa, Qgnustep): New variables. |
3740 | (syms_of_nsterm): Defsym Qcocoa, Qgnustep. Fprovide appropriate one. | |
a6c4680a | 3741 | (ns_get_color): Make selection color work for GNUstep also. |
aca5fcdc | 3742 | |
c4e3099f EZ |
3743 | 2013-10-18 Eli Zaretskii <eliz@gnu.org> |
3744 | ||
3745 | * keyboard.c (make_lispy_event): Remove GPM-specific code that | |
3746 | handles mouse clicks. Instead, let GPM use the same code as all | |
3747 | the other mice use. See the discussion starting at | |
3748 | http://lists.gnu.org/archive/html/emacs-devel/2013-10/msg00521.html | |
3749 | for the details of the problem with the menu bar this fixes. | |
3750 | ||
d141d701 DA |
3751 | 2013-10-18 Dmitry Antipov <dmantipov@yandex.ru> |
3752 | ||
3753 | Remove port-specific display name lists to avoid extra | |
3754 | complexity and data duplication with display info lists. | |
3755 | * xterm.h (x_display_name_list): Remove declaration. | |
3756 | * xterm.c (x_display_name_list): Remove. | |
3757 | (x_term_init, x_delete_display, syms_of_xterm): Adjust users. | |
3758 | * xfns.c (x_display_info_for_name, Fx_display_list): | |
3759 | Likewise. Use x_display_list where appropriate. | |
3760 | * w32term.h (w32_display_name_list): Remove declaration. | |
3761 | * w32term.c (w32_display_name_list): Remove. | |
3762 | (w32_initialize_display_info, x_delete_display, syms_of_w32term): | |
3763 | Adjust users. | |
3764 | * w32fns.c (x_display_info_for_name, Fx_display_list): | |
3765 | Likewise. Use x_display_list where appropriate. | |
3766 | * nsterm.h (ns_display_name_list): Remove declaration. | |
3767 | * nsterm.m (ns_display_name_list): Remove. | |
3768 | (ns_term_init, syms_of_nsterm): Adjust users. | |
3769 | * nsfns.m (ns_display_info_for_name, Fx_display_list): | |
3770 | Likewise. Use x_display_list where appropriate. | |
3771 | * termhooks.h (TERMINAL_FONT_CACHE): New macro. | |
3772 | * alloc.c (toplevel) [HAVE_WINDOW_SYSTEM]: Include TERM_HEADER. | |
3773 | (mark_terminals): Mark per-terminal font cache. | |
3774 | ||
ef566920 BR |
3775 | 2013-10-17 Barry O'Reilly <gundaetiapo@gmail.com> |
3776 | ||
3777 | Don't run timers in input-pending-p. Its new check-timers param | |
e9dc713d | 3778 | provides the prior behavior. (Bug#15045). |
39c87140 | 3779 | * keyboard.c (Finput_pending_p): Accept optional check-timers param. |
ef566920 | 3780 | |
f2752e01 PE |
3781 | 2013-10-17 Paul Eggert <eggert@cs.ucla.edu> |
3782 | ||
3d798ba7 PE |
3783 | Make some functions static in non-Microsoft builds. |
3784 | On my platform (Fedora 19 x86-64), this shrinks the | |
3785 | Emacs executable (text+data) by 0.25%. | |
3786 | * dispextern.h (erase_phys_cursor) [!WINDOWSNT]: | |
3787 | (load_color) [!MSDOS]: | |
3788 | * gnutls.h (emacs_gnutls_transport_set_errno) [!WINDOWSNT]: | |
3789 | * keyboard.h (make_ctrl_char) [!WINDOWSNT]: | |
3790 | * lisp.h (check_existing): | |
3791 | * process.h (conv_sockaddr_to_lisp, network_interface_list) | |
3792 | (network_interface_info) [!WINDOWSNT]: | |
3793 | * termhooks.h (encode_terminal_code) [!WINDOWSNT]: | |
3794 | Remove extern decls. | |
3795 | * fileio.c (check_existing): | |
3796 | * keyboard.c (make_ctrl_char) [!WINDOWSNT]: | |
3797 | * process.c (conv_sockaddr_to_lisp, network_interface_list) | |
3798 | (network_interface_info) [!WINDOWSNT]: | |
3799 | * term.c (encode_terminal_code) [!WINDOWSNT]: | |
3800 | * xdisp.c (erase_phys_cursor) [!WINDOWSNT]: | |
3801 | * xfaces.c (load_color) [!MSDOS]: | |
3802 | Now static. | |
3803 | * fileio.c (check_existing, check_executable, check_writable): | |
3804 | * process.c (network_interface_list, network_interface_info): | |
3805 | Move earlier, so that we don't need forward decls. | |
3806 | * gnutls.c (fn_gnutls_transport_set_errno) | |
3807 | (emacs_gnutls_transport_set_errno) [!WINDOWNT]: | |
3808 | Remove; unused. | |
3809 | * w32.c (init_environment): Use faccessat rather than | |
3810 | check_existing, partly for consistency with the rest of the code | |
3811 | in this file, partly so that check_existing can be static. | |
3812 | ||
bb9937df PE |
3813 | Make VALMASK visible to GDB even if clang is used (Bug#15574). |
3814 | * emacs.c (MAIN_PROGRAM): New macro. | |
3815 | * lisp.h (DEFINE_GDB_SYMBOL_BEGIN, DEFINE_GDB_SYMBOL_END): New macros. | |
3816 | (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK): Use them. | |
3817 | ||
f2752e01 PE |
3818 | bool vector int width fixes |
3819 | * data.c (bool_vector_spare_mask, Fbool_vector_count_matches) | |
3820 | (Fbool_vector_count_matches_at): | |
3821 | Use EMACS_INT, not ptrdiff_t, to record bit counts, as a bit count | |
3822 | can exceed PTRDIFF_MAX, at least in theory. | |
3823 | (Fbool_vector_count_matches_at): | |
3824 | Use int, not ptrdiff_t, to record a value that can't exceed INT_MAX. | |
3825 | ||
0a2b8e3c PE |
3826 | 2013-10-16 Paul Eggert <eggert@cs.ucla.edu> |
3827 | ||
3828 | * process.h (conv_sockaddr_to_lisp): New decl, for newly-extern func. | |
3829 | (struct sockaddr): Add forward decl, for platforms that lack it. | |
3830 | ||
2318fcca JD |
3831 | 2013-10-16 Jan Djärv <jan.h.d@swipnet.se> |
3832 | ||
3833 | * nsselect.m (ns_string_from_pasteboard): Remove Fquit, just return | |
3834 | Qnil (Bug#15628). | |
3835 | ||
b911a94d EZ |
3836 | 2013-10-16 Eli Zaretskii <eliz@gnu.org> |
3837 | ||
3dffe395 EZ |
3838 | * w32.c (network_interface_get_info, network_interface_list) |
3839 | (network_interface_info): New functions. (Bug#15610) | |
3840 | (GetAdaptersInfo_Proc): New typedef. | |
3841 | (get_adapters_info): New wrapper function. | |
3842 | (globals_of_w32): Initialize g_b_init_get_adapters_info. | |
3843 | ||
dee4ba59 SM |
3844 | * process.h (network_interface_list, network_interface_info): |
3845 | New prototypes. | |
3dffe395 EZ |
3846 | |
3847 | * process.c (conv_sockaddr_to_lisp): Now externally-visible. | |
3848 | (Fnetwork_interface_list, Fnetwork_interface_info): Define for | |
3849 | all systems. Return non-nil for systems that HAVE_NET_IF_H and | |
3850 | for WINDOWSNT. Doc fix. | |
3851 | (syms_of_process): Defsubr Snetwork_interface_list and | |
3852 | Snetwork_interface_info unconditionally. | |
3853 | ||
b911a94d EZ |
3854 | * menu.c (have_boxes): Fix redundant simulation of radio buttons |
3855 | in NS GUI sessions. (Bug#15629) | |
3856 | ||
04d47595 DA |
3857 | 2013-10-16 Dmitry Antipov <dmantipov@yandex.ru> |
3858 | ||
3859 | * fns.c (Fstring_as_unibyte): Use xlispstrdup. | |
3860 | ||
5e15c624 PE |
3861 | 2013-10-15 Paul Eggert <eggert@cs.ucla.edu> |
3862 | ||
3863 | * print.c (print_object): Print " ..." when truncating bool vectors. | |
3864 | ||
5d64d770 EZ |
3865 | 2013-10-15 Eli Zaretskii <eliz@gnu.org> |
3866 | ||
3867 | * w32inevt.c (do_mouse_event): Support mouse wheel and all the 5 | |
3868 | standard mouse buttons. | |
3869 | ||
3870 | * termhooks.h (struct input_event): Remove incorrect commentary. | |
3871 | ||
c911772e PE |
3872 | 2013-10-15 Paul Eggert <eggert@cs.ucla.edu> |
3873 | ||
454e2fb9 PE |
3874 | Disallow bool vector operations on mixed-length operands. |
3875 | The old behavior left garbage in the result vector sometimes, | |
3876 | and didn't seem to be useful. | |
3877 | * data.c (Qwrong_length_argument): New static var. | |
3878 | (wrong_length_argument): New function. | |
3879 | (bool_vector_binop_driver): Check that args agree in length. | |
3880 | ||
c911772e PE |
3881 | * keyboard.c, keyboard.h (all_kboards): Now static. |
3882 | ||
57f623e2 XF |
3883 | 2013-10-15 Xue Fuqiao <xfq.free@gmail.com> |
3884 | ||
3885 | * buffer.c (syms_of_buffer) <buffer-invisibility-spec>: Add usage | |
3886 | note from the lispref. | |
3887 | ||
47c4d1e9 DA |
3888 | 2013-10-15 Dmitry Antipov <dmantipov@yandex.ru> |
3889 | ||
3890 | * nsterm.h (struct ns_display_info): Remove set-but-unused | |
3891 | member image_cache (image caches are per-terminal anyway). | |
3892 | (FRAME_X_IMAGE_CACHE): Remove. | |
3893 | * nsterm.m (ns_initialize_display_info): Adjust user. | |
3894 | ||
ccd4a783 EZ |
3895 | 2013-10-14 Eli Zaretskii <eliz@gnu.org> |
3896 | ||
279066b2 EZ |
3897 | * w32proc.c: Include mingw_time.h. |
3898 | ||
3899 | * w32.c: Include mingw_time.h. | |
3900 | ||
ccd4a783 EZ |
3901 | Implement scrolling of TTY menus when the screen is too short. |
3902 | ||
3903 | * term.c (tty_menu_display): Accept an additional argument, the | |
3904 | menu item from which to start displaying the menu. Account for | |
3905 | the value of Y when limiting the menu to the number of available | |
3906 | screen lines. | |
3907 | (mi_result): New enumeration. | |
3908 | (read_menu_input): Return enumerated value. When the y coordinate | |
3909 | hits min_y or max_y, return scroll indication instead of wrapping | |
3910 | around the menu. | |
3911 | (tty_menu_activate): Handle the scrolling indications from | |
3912 | read_menu_input. Compute the first menu item to display and pass | |
3913 | it to tty_menu_display. | |
3914 | ||
77e3b1b7 DA |
3915 | 2013-10-14 Dmitry Antipov <dmantipov@yandex.ru> |
3916 | ||
3917 | * termhooks.h (FRAME_MUST_WRITE_SPACES, FRAME_LINE_INS_DEL_OK) | |
3918 | (FRAME_CHAR_INS_DEL_OK, FRAME_SCROLL_REGION_OK) | |
3919 | (FRAME_SCROLL_REGION_COST, FRAME_MEMORY_BELOW_FRAME): | |
3920 | Adjust to match the change described below. | |
3921 | (struct terminal): Move must_write_spaces, line_ins_del_ok, | |
3922 | char_ins_del_ok, scroll_region_ok, scroll_region_cost and | |
3923 | memory_below_frame members to... | |
3924 | * termchar.h (struct tty_display_info): ...here because they're | |
3925 | relevant only on TTYs. Prefer unsigned bitfield where appropriate. | |
3926 | * term.c (init_tty): | |
3927 | * nsterm.m (ns_create_terminal): | |
3928 | * w32term.c (w32_create_terminal): | |
3929 | * xterm.c (x_create_terminal): Adjust users. | |
3930 | * dispnew.c (line_hash_code, line_draw_cost): Pass frame arg | |
3931 | to filter out non-TTY frames. Adjust comment. | |
3932 | (scrolling): Adjust user. Prefer eassert for debugging check. | |
3933 | ||
e558436b DA |
3934 | 2013-10-14 Dmitry Antipov <dmantipov@yandex.ru> |
3935 | ||
3936 | * xfaces.c (PT_PER_INCH): Remove unused macro. | |
3937 | * termhooks.h (struct terminal): Remove set-but-unused | |
3938 | member fast_clear_end_of_line. | |
3939 | (FRAME_FAST_CLEAR_END_OF_LINE): Remove. | |
3940 | * nsterm.m (ns_create_terminal): | |
3941 | * term.c (init_tty): | |
3942 | * w32term.c (w32_create_terminal): | |
3943 | * xterm.c (x_create_terminal): Adjust users. | |
3944 | ||
1c0a7493 PE |
3945 | 2013-10-14 Paul Eggert <eggert@cs.ucla.edu> |
3946 | ||
3947 | * lisp.h (bool_vector_size): New function. | |
3948 | All uses of XBOOL_VECTOR (x)->size changed to bool_vector_size (x). | |
3949 | * data.c (bool_vector_spare_mask, bool_vector_binop_driver) | |
3950 | (Fbool_vector_not, Fbool_vector_count_matches_at): | |
3951 | Remove uses of 'eassume' that should no longer be needed, | |
3952 | because they are subsumed by the 'eassume' in bool_vector_size. | |
3953 | ||
567f95ec EZ |
3954 | 2013-10-12 Eli Zaretskii <eliz@gnu.org> |
3955 | ||
3956 | * image.c (GIFLIB_MAJOR, GIFLIB_MINOR, GIFLIB_RELEASE): Move back | |
3957 | after inclusion of gif_lib.h, thus fixing compiler warnings caused | |
3958 | by 2013-10-10T19:15:33Z!eggert@cs.ucla.edu. | |
3959 | ||
abe02020 EZ |
3960 | 2013-10-11 Eli Zaretskii <eliz@gnu.org> |
3961 | ||
3962 | * xdisp.c (deep_copy_glyph_row): Handle the case that FROM and TO | |
3963 | have different dimensions. (Bug#15575) | |
3964 | ||
3965 | * dispnew.c (fill_up_frame_row_with_spaces): Now has external | |
3966 | visibility. | |
3967 | ||
3968 | * dispextern.h (fill_up_frame_row_with_spaces): Add prototype. | |
3969 | ||
9428abbf DA |
3970 | 2013-10-11 Dmitry Antipov <dmantipov@yandex.ru> |
3971 | ||
3972 | * term.c (tty_menu_show): Never return with unbalanced | |
3973 | specpdl. Use eassert for debugging check. Adjust style. | |
3974 | ||
052bac0b EZ |
3975 | 2013-10-11 Eli Zaretskii <eliz@gnu.org> |
3976 | ||
3977 | * term.c (read_menu_input): Make selection of menu items | |
3978 | cyclical. Suggested by Dmitry Antipov <dmantipov@yandex.ru>. | |
3979 | (tty_menu_activate): Fix off-by-one error when computing max_y. | |
3980 | ||
e1f9f9e3 TZ |
3981 | 2013-10-11 Teodor Zlatanov <tzz@lifelogs.com> |
3982 | ||
3983 | * gnutls.c (gnutls_audit_log_function): Add function for GnuTLS | |
3984 | audit logging (only used with GnuTLS 3.x) and enable it. | |
3985 | ||
7d563e36 DA |
3986 | 2013-10-11 Dmitry Antipov <dmantipov@yandex.ru> |
3987 | ||
3988 | * dispnew.c (redraw_frame): Remove useless #ifdef because | |
3989 | FRAME_MSDOS_P is a compile-time zero everywhere except MS-DOS. | |
3990 | Also, move TTY fflush to... | |
3991 | * term.c (tty_update_end): ...this function. | |
3992 | ||
48621e69 EZ |
3993 | 2013-10-11 Eli Zaretskii <eliz@gnu.org> |
3994 | ||
3995 | * xdisp.c (display_tty_menu_item): Make sure we never write beyond | |
3996 | the end of the frame's glyph matrix. (Bug#15575) | |
3997 | ||
3998 | * term.c (tty_menu_display): Don't move cursor while overwriting | |
3999 | frame's glyphs with menu items. Limit the number of items | |
4000 | displayed to what can be shown on the available screen lines, | |
4001 | excluding the echo area. | |
4002 | (tty_menu_activate): Limit the Y coordinate allowed by | |
4003 | read_menu_input to the last screen line used for menu display. | |
4004 | ||
b9ff995e PE |
4005 | 2013-10-11 Paul Eggert <eggert@cs.ucla.edu> |
4006 | ||
4007 | * lisp.h (eassume): New macro. | |
4008 | Also, include <verify.h>, for 'assume'. | |
4009 | * alloc.c (bool_vector_payload_bytes, Fmake_bool_vector) | |
4010 | (vroundup, vector_nbytes): | |
4011 | * data.c (bool_vector_spare_mask, bool_vector_binop_driver) | |
4012 | (Fbool_vector_not, Fbool_vector_count_matches) | |
4013 | (Fbool_vector_count_matches_at): | |
4014 | Use eassume, not eassert. | |
4015 | * casetab.c (set_identity, shuffle): | |
4016 | * composite.c (composition_gstring_put_cache): | |
4017 | * dispnew.c (update_frame_1): | |
4018 | * ftfont.c (ftfont_shape_by_flt): | |
4019 | * image.c (gif_load): | |
4020 | * intervals.c (offset_intervals): | |
4021 | * macfont.m (macfont_shape): | |
4022 | Remove calls to 'assume' that are no longer needed, because | |
4023 | --enable-gcc-warnings no longer generates bogus warnings | |
4024 | when these calls are removed. | |
4025 | ||
33ac0265 DA |
4026 | 2013-10-11 Dmitry Antipov <dmantipov@yandex.ru> |
4027 | ||
4028 | * xdisp.c (deep_copy_glyph_row): Remove unused locals. | |
4029 | ||
ee041f2d SM |
4030 | 2013-10-10 Stefan Monnier <monnier@iro.umontreal.ca> |
4031 | ||
4032 | * fileio.c (Fsubstitute_in_file_name): Use substitute-env-in-file-name. | |
4033 | (Qsubstitute_env_in_file_name): New var. | |
4034 | (syms_of_fileio): Define it. | |
4035 | ||
00036e1d EZ |
4036 | 2013-10-10 Eli Zaretskii <eliz@gnu.org> |
4037 | ||
4038 | * xdisp.c (deep_copy_glyph_row): Assert that the 'used' counts of | |
4039 | FROM and TO are identical. Copy only the glyphs of TEXT_AREA. | |
4040 | (Bug#15575) | |
4041 | ||
4042 | * term.c (save_and_enable_current_matrix): Don't allocate and | |
4043 | don't save margin areas. | |
4044 | (restore_desired_matrix): Don't restore margin areas. | |
4045 | (free_saved_screen): Don't free margin areas. | |
4046 | ||
99149625 PE |
4047 | 2013-10-10 Paul Eggert <eggert@cs.ucla.edu> |
4048 | ||
4049 | * image.c: Pacify --enable-gcc-warnings. | |
4050 | (GIFLIB_MAJOR, GIFLIB_MINOR, GIFLIB_RELEASE, fn_GifErrorString): | |
4051 | #define only if used. | |
4052 | ||
a5dab159 EZ |
4053 | 2013-10-10 Eli Zaretskii <eliz@gnu.org> |
4054 | ||
4055 | * image.c (GIFLIB_MAJOR): Define to 4 if undefined. | |
4056 | (GIFLIB_MINOR, GIFLIB_RELEASE): Define to zero if undefined. | |
4057 | (GifErrorString) [GIFLIB_MAJOR >= 5]: Define a function pointer. | |
4058 | (gif_load): For giflib v5.x and later, display the error message | |
4059 | produced by giflib when its functions fail. | |
4060 | (syms_of_image) <Qlibgif_version> [HAVE_NTGUI]: New DEFSYM. | |
4061 | (Bug#15531) | |
4062 | ||
6bbe6da8 DA |
4063 | 2013-10-10 Dmitry Antipov <dmantipov@yandex.ru> |
4064 | ||
4065 | * keyboard.c (last_event_timestamp): Remove. For X selection and | |
4066 | GTK popup menus, it may be obtained from per-frame X display info. | |
4067 | (kbd_buffer_store_event_hold, kbd_buffer_get_event) | |
4068 | (process_special_events): Adjust users. | |
4069 | * keyboard.h (last_event_timestamp): Remove declaration. | |
4070 | * xmenu.c (xmenu_show, create_and_show_popup_menu): Lost last arg. | |
4071 | Use FRAME_DISPLAY_INFO (f)->last_user_time for gtk_menu_popup. | |
4072 | * menu.h (xmenu_show): Adjust prototype. | |
4073 | * menu.c (Fx_popup_menu): Adjust user. | |
4074 | * xselect.c (x_own_selection, x_get_foreign_selection) | |
4075 | (Fx_disown_selection_internal): Use dpyinfo->last_user_time. | |
4076 | ||
1afcba63 DA |
4077 | 2013-10-10 Dmitry Antipov <dmantipov@yandex.ru> |
4078 | ||
4079 | * keyboard.c (init_kboard): Now static. Add arg | |
4080 | to denote window system. Adjust comment. | |
4081 | (init_keyboard): Adjust user. | |
4082 | (allocate_kboard): New function. | |
4083 | (syms_of_keyboard): | |
4084 | * nsterm.m (ns_term_init): | |
4085 | * term.c (init_tty): | |
4086 | * w32term.c (w32_create_terminal): | |
4087 | * xterm.c (x_term_init): Use it. | |
4088 | * keyboard.h (init_kboard): Remove prototype. | |
4089 | (allocate_kboard): Add prototype. | |
4090 | ||
f3606ef7 BF |
4091 | 2013-10-10 Barry Fishman <barry_fishman@acm.org> (tiny change) |
4092 | ||
4093 | * image.c (GIFLIB_MAJOR): Ensure it's defined. | |
4094 | (DGifOpen, DGifOpenFileName): Handle giflib 5 syntax. (Bug#15531) | |
4095 | ||
e20bb249 PE |
4096 | 2013-10-09 Paul Eggert <eggert@cs.ucla.edu> |
4097 | ||
4098 | * fns.c (sxhash_bool_vector): Fix buffer read overrun. | |
4099 | ||
9f6a18d2 EZ |
4100 | 2013-10-09 Eli Zaretskii <eliz@gnu.org> |
4101 | ||
4102 | * term.c (tty_menu_activate): Flush the output stream after | |
4103 | showing the cursor, and don't mark the frame garbaged at exit from | |
4104 | the function. Fixes redisplay glitches when moving from one menu | |
4105 | to another. | |
4106 | ||
0486beac JD |
4107 | 2013-10-09 Jan Djärv <jan.h.d@swipnet.se> |
4108 | ||
4109 | * nsfns.m (Fns_convert_utf8_nfd_to_nfc): Check input for valid UTF-8 | |
4110 | or throw error (Bug#15570). | |
4111 | ||
0d5d3029 PE |
4112 | 2013-10-09 Paul Eggert <eggert@cs.ucla.edu> |
4113 | ||
ab7ce978 PE |
4114 | * intervals.c (temp_set_point_both): Move test into 'eassert', |
4115 | for speed. | |
4116 | ||
0d5d3029 PE |
4117 | * lisp.h (eassert): Don't use 'assume'. |
4118 | Sometimes 'assume' wins in performance, and sometimes it loses, | |
4119 | so it shouldn't be used all the time. Perhaps we need two | |
4120 | flavors of 'eassert', one for where 'assume' is far more likely | |
4121 | to help or to hurt; but that can be done later. | |
1afcba63 | 4122 | Problem reported by Dmitry Antipov in |
0d5d3029 PE |
4123 | <http://lists.gnu.org/archive/html/emacs-devel/2013-10/msg00276.html>. |
4124 | Also, don't include <verify.h>; no longer needed. | |
4125 | ||
fa022909 GM |
4126 | 2013-10-09 Glenn Morris <rgm@gnu.org> |
4127 | ||
4128 | * eval.c (Fcond): Doc tweak. | |
4129 | ||
051277bf EZ |
4130 | 2013-10-09 Eli Zaretskii <eliz@gnu.org> |
4131 | ||
4132 | * xfaces.c (x_free_gc) [HAVE_X_WINDOWS, HAVE_NTGUI]: Don't pass | |
4133 | expressions with side effects to eassert. (Bug#15565) | |
4134 | ||
79804536 SM |
4135 | 2013-10-09 Stefan Monnier <monnier@iro.umontreal.ca> |
4136 | ||
4137 | * fns.c (hashfn_user_defined): Allow hash functions to return any | |
4138 | Lisp_Object. | |
4139 | ||
3b158d11 PE |
4140 | 2013-10-08 Paul Eggert <eggert@cs.ucla.edu> |
4141 | ||
4142 | Fix minor problems found by static checking. | |
4143 | * dispnew.c (save_current_matrix): Omit unnecessary casts. | |
4144 | * dispnew.c (update_frame_with_menu): Mark debug local as used. | |
4145 | * keyboard.c, keyboard.h (Qmouse_movement): Now static. | |
4146 | * keyboard.c (read_menu_command): Remove unused local. | |
4147 | * lisp.h (read_menu_command): New decl. | |
4148 | * menu.c, menu.h (menu_item_width): Arg is now unsigned char *, for | |
4149 | benefit of STRING_CHAR_AND_LENGTH. All uses changed. | |
4150 | Return ptrdiff_t, not int. | |
4151 | * term.c (tty_menu_struct): 'allocated' member is now ptrdiff_t, | |
4152 | not int, for benefit of xpalloc. | |
4153 | (tty_menu_create, tty_menu_make_room): Simplify by using xzalloc | |
4154 | and xpalloc. | |
4155 | (have_menus_p): Remove; unused. | |
4156 | (tty_menu_add_pane, tty_menu_add_selection): Change signedness of | |
4157 | local char * pointer to pacify STRING_CHAR_AND_LENGTH. | |
4158 | (tty_menu_add_selection, tty_menu_locate, tty_meny_destroy): | |
4159 | Now static. | |
4160 | (save_and_enable_current_matrix): Omit unnecessary casts. | |
4161 | (read_menu_input): Omit local extern decl (now in lisp.h). | |
4162 | Don't access uninitialized storage if mouse_get_xy fails. | |
4163 | (tty_menu_activate): Mark local as initialized, for lint. | |
4164 | (tty_menu_activate, tty_meny_show): Remove unused locals. | |
4165 | ||
4ed77415 EZ |
4166 | 2013-10-08 Eli Zaretskii <eliz@gnu.org> |
4167 | ||
4168 | Support menus on text-mode terminals. | |
4169 | * xterm.h (xw_popup_dialog): Add prototype. | |
4170 | ||
4171 | * xmenu.c (Fx_popup_dialog): Function moved to menu.c. | |
4172 | (xmenu_show): Block input here, instead in Fx_popup_menu. | |
4173 | (xw_popup_dialog): New function, with X-specific bits of popup | |
4174 | dialogs. | |
4175 | ||
dee4ba59 SM |
4176 | * xdisp.c (deep_copy_glyph_row, display_tty_menu_item): |
4177 | New functions. | |
4ed77415 EZ |
4178 | |
4179 | * window.c (Fset_window_configuration): Use run-time tests of the | |
4180 | frame type instead of compile-time conditionals, when menu-bar | |
4181 | lines are considered. | |
4182 | ||
4183 | * w32term.h (w32con_hide_cursor, w32con_show_cursor) | |
4184 | (w32_popup_dialog): New prototypes. | |
4185 | ||
4186 | * w32menu.c (Fx_popup_dialog): Function deleted. | |
4187 | (w32_popup_dialog): New function, with w32 specific bits of popup | |
4188 | dialogs. Block input here. | |
4189 | ||
4190 | * w32inevt.c (w32_console_read_socket): Minor change to add | |
4191 | debugging TTY events. | |
4192 | ||
4193 | * w32fns.c (show_hourglass): If returning early because the frame | |
4194 | is not a GUI frame, unblock input. | |
4195 | ||
4196 | * w32console.c (w32con_hide_cursor, w32con_show_cursor, cursorX) | |
4197 | (cursorY): New functions. | |
4198 | ||
4199 | * termhooks.h (cursorX, cursorY): Prototypes of functions on | |
4200 | WINDOWSNT, macros that call curX and curY elsewhere. | |
4201 | ||
4202 | * termchar.h (struct tty_display_info) <showing_menu>: New flag. | |
4203 | ||
4204 | * term.c (tty_hide_cursor, tty_show_cursor) [WINDOWSNT]: Call w32 | |
4205 | specific function to hide and show cursor on a text-mode terminal. | |
4206 | (tty_menu_struct, struct tty_menu_state): New structures. | |
4207 | (tty_menu_create, tty_menu_make_room, tty_menu_search_pane) | |
4208 | (tty_menu_calc_size, mouse_get_xy, tty_menu_display) | |
4209 | (have_menus_p, tty_menu_add_pane, tty_menu_add_selection) | |
4210 | (tty_menu_locate, save_and_enable_current_matrix) | |
4211 | (restore_desired_matrix, screen_update, read_menu_input) | |
4212 | (tty_menu_activate, tty_menu_destroy, tty_menu_help_callback) | |
4213 | (tty_pop_down_menu, tty_menu_last_menubar_item) | |
4214 | (tty_menu_new_item_coords, tty_menu_show): New functions. | |
4215 | (syms_of_term): New DEFSYMs for tty-menu-* symbols. | |
4216 | ||
4217 | * nsterm.h (ns_popup_dialog): Adjust prototype. | |
4218 | ||
4219 | * nsmenu.m (ns_menu_show): Block and unblock input here, instead | |
4220 | of in x-popup-menu. | |
4221 | (ns_popup_dialog): Adapt order of arguments to the other | |
4222 | *_menu_show implementations. | |
4223 | (Fx_popup_dialog): Function deleted. | |
4224 | ||
4225 | * msdos.c (x_set_menu_bar_lines): Delete unused function. | |
4226 | ||
c295fc18 | 4227 | * menu.h (tty_menu_show, menu_item_width): Provide prototypes. |
4ed77415 EZ |
4228 | |
4229 | * menu.c (have_boxes): New function. | |
4230 | (single_keymap_panes): Use it instead of a compile-time | |
4231 | conditional. | |
4232 | (single_menu_item): Use run-time tests of the frame type instead | |
4233 | of compile-time conditionals. | |
4234 | (encode_menu_string): New function. | |
4235 | (list_of_items, list_of_panes): Use it instead of ENCODE_STRING | |
4236 | the macro, since different types of frame need different encoding | |
4237 | of menu items. | |
4238 | (digest_single_submenu): Use run-time tests of frame type instead | |
4239 | of, or in addition to, compile-time conditionals. | |
4240 | (menu_item_width, Fmenu_bar_menu_at_x_y): New functions. | |
4241 | (Fx_popup_menu): Detect when the function is called from keyboard | |
dee4ba59 SM |
4242 | on a TTY. Don't barf when invoked on a text-mode frame. |
4243 | Check frame type at run time, instead of compile-time conditionals for | |
4244 | invoking terminal-specific menu-show functions. | |
4245 | Call tty_menu_show on text-mode frames. | |
4246 | (Fx_popup_dialog): Move here from xmenu.c. Test frame types at | |
4ed77415 EZ |
4247 | run time to determine which alternative to invoke; support dialogs |
4248 | on TTYs. | |
4249 | ||
4250 | * keyboard.h <Qmouse_movement>: Declare. | |
4251 | ||
4252 | * keyboard.c <Qmouse_movement>: Now extern. | |
4253 | <Qecho_keystrokes>: New static variable. | |
4254 | (read_key_sequence): Accept an additional argument, a flag to | |
4255 | prevent redisplay during reading of the key sequence. All callers | |
4256 | changed. | |
4257 | (read_menu_command): New function. | |
4258 | (read_char): When COMMANDFLAG is -2, do not redisplay and do not | |
4259 | autosave. | |
4260 | (toolkit_menubar_in_use): New function. | |
4261 | (make_lispy_event): Use it instead of a compile-time test. | |
4262 | ||
4263 | * fns.c (Fyes_or_no_p) [HAVE_MENUS]: Don't condition on | |
4264 | window-system being available. | |
4265 | ||
4266 | * editfns.c (Fmessage_box) [HAVE_MENUS]: Don't condition the call | |
4267 | to x-popup-dialog on the frame type, they all now support popup | |
4268 | dialogs. | |
4269 | ||
4270 | * dispnew.c (save_current_matrix): Save the margin areas. | |
4271 | (restore_current_matrix): Restore margin areas. | |
4272 | (update_frame_with_menu): New function. | |
4273 | ||
4274 | * dispextern.h (display_tty_menu_item, update_frame_with_menu): | |
4275 | Add prototypes. | |
4276 | ||
4277 | * alloc.c (make_save_ptr): Now compiled unconditionally. | |
4278 | ||
ecab13d4 DA |
4279 | 2013-10-08 Dmitry Antipov <dmantipov@yandex.ru> |
4280 | ||
4281 | * dispnew.c (set_window_update_flags): Add buffer arg. Adjust comment. | |
4282 | (redraw_frame, update_frame): Adjust users. | |
4283 | * dispextern.h (set_window_update_flags): Adjust prototype. | |
4284 | * xdisp.c (redisplay_internal): When updating all frames with zero | |
4285 | windows_or_buffers_changed, assume that only the windows that shows | |
4286 | current buffer should be really updated. | |
4287 | ||
f8498081 DA |
4288 | 2013-10-08 Dmitry Antipov <dmantipov@yandex.ru> |
4289 | ||
4290 | Do not allocate huge temporary memory areas and objects while encoding | |
4291 | for file I/O, thus reducing an enormous memory usage for large buffers. | |
4292 | See http://lists.gnu.org/archive/html/emacs-devel/2013-10/msg00180.html. | |
4293 | * coding.h (struct coding_system): New member raw_destination. | |
4294 | * coding.c (setup_coding_system): Initialize it to zero. | |
4295 | (encode_coding_object): If raw_destination is set, do not create | |
4296 | dst_object. Add comment. | |
4297 | * fileio.c (toplevel): New constant E_WRITE_MAX. | |
4298 | (e_write): Do not encode more than E_WRITE_MAX characters per one loop | |
4299 | iteration. Use raw_destination if E_WRITE_MAX characters is encoded. | |
4300 | ||
d180bde8 JD |
4301 | 2013-10-08 Jan Djärv <jan.h.d@swipnet.se> |
4302 | ||
35e951cd | 4303 | * nsterm.m (windowDidExitFullScreen:) |
d180bde8 JD |
4304 | (toggleFullScreen:): Change NS_IMPL_COCOA to HAVE_NATIVE_FS. |
4305 | ||
87c4314d PE |
4306 | 2013-10-08 Paul Eggert <eggert@cs.ucla.edu> |
4307 | ||
18978362 PE |
4308 | Fix race where emacs aborts when sent SIGTERM (Bug#15534). |
4309 | * keyboard.c (unblock_input_to): Don't process pending signals | |
4310 | if a fatal error is in progress. | |
4311 | ||
87c4314d PE |
4312 | * lisp.h (bits_word, BITS_WORD_MAX): New type and macro. |
4313 | All uses of 'size_t' and 'SIZE_MAX' changed to use them, when | |
4314 | they're talking about words in Lisp bool vectors. | |
4315 | (BITS_PER_BITS_WORD): Rename from BITS_PER_SIZE_T. All uses changed. | |
1142cc2a PE |
4316 | * data.c (popcount_bits_word): Rename from popcount_size_t. |
4317 | (bits_word_to_host_endian): Rename from size_t_to_host_endian. | |
4318 | All uses changed. | |
87c4314d | 4319 | |
595e113b PE |
4320 | 2013-10-07 Paul Eggert <eggert@cs.ucla.edu> |
4321 | ||
4322 | Improve support for popcount and counting trailing zeros (Bug#15550). | |
4323 | * data.c: Include <count-one-bits.h>, <count-trailing-zeros.h>. | |
4324 | (USE_MSC_POPCOUNT, POPCOUNT_STATIC_INLINE) | |
4325 | (NEED_GENERIC_POPCOUNT, popcount_size_t_generic) | |
4326 | (popcount_size_t_msc, popcount_size_t_gcc): | |
4327 | Remove; now done by Gnulib. | |
4328 | (popcount_size_t): Now a macro that defers to Gnulib. | |
4329 | (count_trailing_zero_bits): Return int, for consistency with | |
4330 | Gnulib and because Emacs prefers signed to unsigned int. | |
4331 | Don't assume that size_t is either unsigned int or unsigned long | |
4332 | or unsigned long long. | |
4333 | (size_t_to_host_endian): Do not assume that size_t is either | |
4334 | exactly 32 or exactly 64 bits wide. | |
4335 | * lisp.h (BITS_PER_SIZE_T): Define consistently with BITS_PER_LONG | |
4336 | etc., so that it's now an enum constant, not a macro. | |
4337 | No need to assume that it's either 32 or 64. | |
4338 | ||
ddb317ba JD |
4339 | 2013-10-07 Jan Djärv <jan.h.d@swipnet.se> |
4340 | ||
4341 | * nsterm.m (windowDidEnterFullScreen:): setPresentationOptions only | |
4342 | on >= 10.7. | |
4343 | ||
bd74250f DA |
4344 | 2013-10-07 Dmitry Antipov <dmantipov@yandex.ru> |
4345 | ||
4346 | * insdel.c (insert_from_gap): Prefer ptrdiff_t to int where needed. | |
764636db | 4347 | * xdisp.c (handle_fontified_prop): Likewise. Use bool for boolean. |
bd74250f | 4348 | |
223752d7 PE |
4349 | 2013-10-07 Paul Eggert <eggert@cs.ucla.edu> |
4350 | ||
4351 | emacs_read and emacs_write now use void *, not char *. | |
4352 | * alloc.c (valid_pointer_p) [!WINDOWSNT]: Remove now-unnecessary cast. | |
4353 | * sysdep.c (emacs_read, emacs_write, emacs_write_sig): | |
4354 | Buffer arg is now void *, not char *. This matches plain | |
4355 | 'read' and 'write' better, and avoids a constraint violation | |
4356 | on Solaris 9 with Oracle Studio. | |
4357 | ||
3c439e0a DA |
4358 | 2013-10-07 Dmitry Antipov <dmantipov@yandex.ru> |
4359 | ||
4360 | * alloc.c (Fmake_string): For ASCII char initializer, prefer | |
4361 | memset to explicit loop. Otherwise copy largest possible chunk | |
4362 | from initialized to uninitialized part, thus allowing the longer | |
4363 | memcpy runs and reducing the number of loop iterations. | |
4364 | ||
28c76099 JD |
4365 | 2013-10-06 Jan Djärv <jan.h.d@swipnet.se> |
4366 | ||
4367 | * nsterm.m (ns_update_begin): If native fullscreen and no toolbar, | |
4368 | hide toolbar (Bug#15388). | |
4369 | (windowDidEnterFullScreen:): If presentation options are zero, | |
4370 | set them here (Bug#15388). | |
a3e9050c JD |
4371 | (ns_update_auto_hide_menu_bar): Remove runtime check. |
4372 | Don't auto hide dock unless menubar is also auto hidden. | |
28c76099 | 4373 | |
544a2a80 XF |
4374 | 2013-10-05 Xue Fuqiao <xfq.free@gmail.com> |
4375 | ||
4376 | * editfns.c (message): Mention batch mode in doc string. | |
4377 | ||
a27fd309 JD |
4378 | 2013-10-05 Jan Djärv <jan.h.d@swipnet.se> |
4379 | ||
4380 | * nsterm.m (check_native_fs): Remove erroneous comment. | |
4381 | ||
942f6f82 DA |
4382 | 2013-10-04 Dmitry Antipov <dmantipov@yandex.ru> |
4383 | ||
4384 | * xdisp.c (redisplay_internal): Simplify because scan_for_column now | |
4385 | uses find_newline instead of scan_newline and so doesn't move point. | |
4386 | ||
157fec2e PE |
4387 | 2013-10-04 Paul Eggert <eggert@cs.ucla.edu> |
4388 | ||
4eed3157 PE |
4389 | Use hardware support for byteswapping on glibc x86 etc. |
4390 | On Fedora 19 x86-64, the new bswap_64 needs 1 instruction, | |
4391 | whereas the old swap64 needed 30. | |
4392 | * fringe.c (init_fringe_bitmap) [WORDS_BIGENDIAN]: | |
4393 | * sound.c (le2hl, le2hs, be2hl) [!WINDOWSNT]: | |
4394 | Use byteswap.h's macros to swap bytes. | |
4395 | * lisp.h (swap16, swap32, swap64): Remove. | |
4396 | All uses replaced by bswap_16, bswap_32, bswap_64. | |
4397 | ||
157fec2e PE |
4398 | * bytecode.c (exec_byte_code): Use some more volatile variables |
4399 | to work around local variables getting clobbered by longjmp. | |
4400 | Port to pre-C99, which doesn't allow decls after stmts. | |
4401 | ||
b52f569d PE |
4402 | 2013-10-03 Paul Eggert <eggert@cs.ucla.edu> |
4403 | ||
75273afb PE |
4404 | * lisp.h (eassert): Assume that COND is true when optimizing. |
4405 | In other words, take on the behavior of eassert_and_assume. | |
4406 | This makes Emacs 0.2% smaller on my platform (Fedora 19, x86-64). | |
4407 | (eassert_and_assume): Remove. All uses replaced by eassert. | |
4408 | ||
ead45345 PE |
4409 | * xdisp.c (Qglyphless_char): Now static. |
4410 | ||
0a858ebf PE |
4411 | Adjust to merge from gnulib. |
4412 | * conf_post.h (__has_builtin, assume): Remove; gnulib now does these. | |
4413 | * lisp.h: Include <verify.h>, for 'assume'. | |
4414 | ||
b52f569d PE |
4415 | * eval.c (clobbered_eassert): New macro. |
4416 | (internal_catch, internal_condition_case) | |
4417 | (internal_condition_case_1, internal_condition_case_2) | |
4418 | (internal_condition_case_n): Use it instead of eassert | |
4419 | when the argument contains locals clobbered by longjmp. | |
4420 | Don't use clobbered locals outside of clobbered_eassert. | |
4421 | (internal_lisp_condition_case): Use a volatile variable | |
4422 | to work around a local variable's getting clobbered. | |
4423 | ||
adf2aa61 SM |
4424 | 2013-10-03 Stefan Monnier <monnier@iro.umontreal.ca> |
4425 | ||
4426 | * lisp.h (struct handler): Merge struct handler and struct catchtag. | |
4427 | (PUSH_HANDLER): New macro. | |
4428 | (catchlist): Remove. | |
4429 | (handlerlist): Always declare. | |
4430 | ||
4431 | * eval.c (catchlist): Remove (merge with handlerlist). | |
4432 | (handlerlist, lisp_eval_depth): Not static any more. | |
4433 | (internal_catch, internal_condition_case, internal_condition_case_1) | |
4434 | (internal_condition_case_2, internal_condition_case_n): | |
4435 | Use PUSH_HANDLER. | |
4436 | (unwind_to_catch, Fthrow, Fsignal): Adjust to merged | |
4437 | handlerlist/catchlist. | |
4438 | (internal_lisp_condition_case): Use PUSH_HANDLER. Adjust to new | |
4439 | handlerlist which can only handle a single condition-case handler at | |
4440 | a time. | |
4441 | (find_handler_clause): Simplify since we only a single branch here | |
4442 | any more. | |
4443 | ||
4444 | * bytecode.c (BYTE_CODES): Add Bpushcatch, Bpushconditioncase | |
4445 | and Bpophandler. | |
4446 | (bcall0): New function. | |
4447 | (exec_byte_code): Add corresponding cases. Improve error message when | |
4448 | encountering an invalid byte-code. Let Bunwind_protect accept | |
4449 | a function (rather than a list of expressions) as argument. | |
4450 | ||
4451 | * alloc.c (Fgarbage_collect): Merge scans of handlerlist and catchlist, | |
4452 | and make them unconditional now that they're heap-allocated. | |
4453 | ||
328a8179 SM |
4454 | 2013-10-03 Stefan Monnier <monnier@iro.umontreal.ca> |
4455 | ||
4456 | * charset.c (Fdecode_char, Fencode_char): Remove description of | |
4457 | `restriction' arg. now that it's hidden by advertised-calling-convention. | |
4458 | ||
c348360a JD |
4459 | 2013-10-02 Jan Djärv <jan.h.d@swipnet.se> |
4460 | ||
328a8179 SM |
4461 | * macfont.m (mac_ctfont_create_preferred_family_for_attributes): |
4462 | Remove unused variable (from mac-port). | |
c348360a JD |
4463 | (macfont_draw): Use s->ybase for correct y position. |
4464 | ||
1a23cd48 DA |
4465 | 2013-10-02 Dmitry Antipov <dmantipov@yandex.ru> |
4466 | ||
4467 | * frame.h (struct frame): Drop has_minibuffer member because... | |
4468 | (FRAME_HAS_MINIBUF_P): ...this macro can be implemented without it. | |
4469 | * frame.c (make_frame, make_minibuffer_frame): Adjust users. | |
4470 | ||
29bf4de4 DA |
4471 | 2013-10-02 Dmitry Antipov <dmantipov@yandex.ru> |
4472 | ||
4473 | * window.h (struct window): Prefer enum text_cursor_kinds to int | |
4474 | for phys_cursor_type member. Move the latter, phys_cursor_width, | |
4475 | phys_cursor_ascent and phys_cursor_height under HAVE_WINDOW_SYSTEM. | |
4476 | * window.c (replace_window, make_window): Adjust users. | |
4477 | ||
a30ddace DA |
4478 | 2013-10-02 Dmitry Antipov <dmantipov@yandex.ru> |
4479 | ||
4480 | * fringe.c (toplevel): Do not use HAVE_WINDOW_SYSTEM because | |
4481 | this module is never compiled otherwise. | |
4482 | ||
45435f08 AA |
4483 | 2013-10-01 Alp Aker <alp.tekin.aker@gmail.com> |
4484 | ||
4485 | * macfont.m (macfont_draw): Use CGRectMake rather than NSMakeRect | |
4486 | (Bug#15500). | |
4487 | ||
92e5298b EZ |
4488 | 2013-09-29 Eli Zaretskii <eliz@gnu.org> |
4489 | ||
4490 | * xdisp.c (get_next_display_element): Don't call face_for_font in | |
4491 | a build configured --without-x. (Bug#15484) | |
4492 | ||
caa50be2 JD |
4493 | 2013-09-29 Jan Djärv <jan.h.d@swipnet.se> |
4494 | ||
66d13b20 JD |
4495 | * window.c (calc_absolute_offset): #elif should be #elif defined. |
4496 | ||
caa50be2 JD |
4497 | * frame.c (delete_frame): Block/unblock input to overcome race |
4498 | condition (Bug#15475). | |
4499 | ||
d3e2acb6 AP |
4500 | 2013-09-29 Andreas Politz <politza@hochschule-trier.de> (tiny change) |
4501 | ||
4502 | * frame.c (delete_frame): Record selected frame only after | |
4503 | calling Qdelete_frame_functions (Bug#15477). | |
4504 | ||
1610938f JD |
4505 | 2013-09-28 Jan Djärv <jan.h.d@swipnet.se> |
4506 | ||
4507 | * nsterm.m (ns_selection_color): Remove. | |
4508 | (ns_get_color): Check for ns_selection_(fg|bg)_color using | |
4509 | NSColor selectedText(Background)Color. Only for COCOA. | |
4510 | (ns_term_init): Remove assignment of ns_selection_color, logic | |
4511 | moved to ns_get_color. | |
4512 | ||
328a8179 | 4513 | * nsterm.h (NS_SELECTION_BG_COLOR_DEFAULT): Rename from |
1610938f JD |
4514 | NS_SELECTION_COLOR_DEFAULT. |
4515 | (NS_SELECTION_FG_COLOR_DEFAULT): New. | |
4516 | ||
0d2647e6 EZ |
4517 | 2013-09-28 Eli Zaretskii <eliz@gnu.org> |
4518 | ||
4519 | * xdisp.c (Fdump_tool_bar_row): Ifdef away the body if 'struct | |
4520 | frame' does not have the tool_bar_window member. | |
4521 | ||
ba355de0 BR |
4522 | 2013-09-26 Barry O'Reilly <gundaetiapo@gmail.com> |
4523 | ||
4524 | Signal error when reading an empty byte-code object (Bug#15405) | |
c295fc18 JB |
4525 | * lread.c (read1): Signal error. |
4526 | * alloc.c (make_byte_code): eassert header size. | |
4527 | (sweep_vectors): Change an int to size_t. | |
ba355de0 | 4528 | |
4710d6f4 PE |
4529 | 2013-09-24 Paul Eggert <eggert@cs.ucla.edu> |
4530 | ||
cf647d93 PE |
4531 | * dispnew.c (clear_glyph_row, copy_row_except_pointers): Use enums |
4532 | instead of ints, as it's the usual style for offsetof constants. See: | |
4533 | http://lists.gnu.org/archive/html/emacs-devel/2013-09/msg00478.html | |
4534 | ||
4710d6f4 PE |
4535 | * data.c (POPCOUNT_STATIC_INLINE): New macro, as a hack for popcount. |
4536 | This is ugly, but it should fix the performance problem for older | |
4537 | GCC versions in the short run. I'll look into integrating the | |
4538 | Gnulib module for popcount, as a better fix. | |
4539 | See the thread starting in: | |
4540 | http://lists.gnu.org/archive/html/emacs-devel/2013-09/msg00474.html | |
4541 | (popcount_size_t_generic) [NEED_GENERIC_POPCOUNT]: | |
4542 | (popcount_size_t_msc) [USE_MSC_POPCOUNT]: | |
4543 | (popcount_size_t_gcc) [USE_GCC_POPCOUNT]: | |
4544 | (popcount_size_t): Use it. | |
4545 | ||
10ebac9d DC |
4546 | 2013-09-24 Daniel Colascione <dancol@dancol.org> |
4547 | ||
4548 | * process.c (Fnetwork_interface_info): Fix build break due to | |
4549 | vector changes. | |
4550 | ||
9da0f50e PE |
4551 | 2013-09-24 Paul Eggert <eggert@cs.ucla.edu> |
4552 | ||
4553 | * dispnew.c (clear_glyph_row, copy_row_except_pointers): | |
4554 | Prefer signed to unsigned integers where either will do. | |
4555 | No need for 'const' on locals that do not escape. | |
4556 | Omit easserts with unnecessary and unportable assumptions about | |
4557 | alignment. Avoid unnecessary casts to char *. | |
4558 | ||
d6d9cbc1 DA |
4559 | 2013-09-24 Dmitry Antipov <dmantipov@yandex.ru> |
4560 | ||
4561 | Use union for the payload of struct Lisp_Vector. | |
4562 | This helps to avoid a few glitches dictated by C's aliasing rules. | |
4563 | * lisp.h (struct Lisp_Vector): Use union for next and | |
4564 | contents member. Adjust comment. Change related users. | |
4565 | * alloc.c (next_in_free_list, set_next_in_free_list): Remove. | |
4566 | Related users changed. | |
4567 | * buffer.c, bytecode.c, ccl.c, character.h, chartab.c, composite.c: | |
4568 | * composite.h, disptab.h, fns.c, fontset.c, indent.c, keyboard.c: | |
4569 | * lread.c, msdos.c, process.c, w32menu.c, window.c, xdisp.c: | |
4570 | * xfaces.c, xfont.c, xmenu.c: Related users changed. | |
4571 | ||
ec7bc82f DA |
4572 | 2013-09-24 Dmitry Antipov <dmantipov@yandex.ru> |
4573 | ||
4574 | Optimize glyph row clearing and copying routines. | |
4575 | * dispextern.h (struct glyph_row): Change layout of struct | |
4576 | glyph_row to help copy_row_except_pointers. Adjust comment. | |
4577 | * dispnew.c (null_row): Remove. | |
4578 | (clear_glyph_row): Use offsetof and memset to find and clear | |
4579 | just the members that need clearing. Adjust comment. | |
4580 | (copy_row_except_pointers): Likewise for copying. | |
4581 | ||
d160dd0c PE |
4582 | 2013-09-24 Paul Eggert <eggert@cs.ucla.edu> |
4583 | ||
7be68de5 PE |
4584 | Some minor cleanups of recently-added bool vector code. |
4585 | * conf_post.h (assume): Always return void. Use lint version | |
4586 | only if GCC and MSC versions don't apply. | |
4587 | * conf_post.h (assume): | |
4588 | * data.c (USC_MSC_POPCOUNT, count_trailing_zero_bits): | |
4589 | Depend on _MSC_VER, not __MSC_VER, for consistency with | |
4590 | the rest of Emacs. | |
4591 | * data.c (bool_vector_spare_mask, popcount_size_t_generic) | |
4592 | (popcount_size_t_msc, popcount_size_t_gcc, popcount_size_t) | |
4593 | (bool_vector_binop_driver, count_trailing_zero_bits) | |
4594 | (size_t_to_host_endian): Now static, not static inline; | |
4595 | the latter isn't needed with modern compilers and doesn't | |
4596 | work with older compilers anyway. | |
4597 | ||
d160dd0c PE |
4598 | * alloc.c (valgrind_p): Use bool for boolean. |
4599 | ||
e08813d0 DA |
4600 | 2013-09-23 Dmitry Antipov <dmantipov@yandex.ru> |
4601 | ||
4602 | * xdisp.c (noninteractive_need_newline, message_log_need_newline) | |
4603 | (overlay_arrow_seen, message_enable_multibyte, line_number_displayed) | |
4604 | (display_last_displayed_message_p, message_buf_print) | |
4605 | (message_cleared_p, help_echo_showing_p, hourglass_shown_p): | |
4606 | Use bool for boolean. | |
3a6a78fd DA |
4607 | * dispextern.h (cancel_line, init_desired_glyphs): |
4608 | Remove ancient leftover. | |
4609 | (help_echo_showing_p, hourglass_shown_p): | |
e08813d0 DA |
4610 | * lisp.h (noninteractive_need_newline): Adjust declaration. |
4611 | ||
5492865b DA |
4612 | 2013-09-23 Dmitry Antipov <dmantipov@yandex.ru> |
4613 | ||
4614 | * dispnew.c (frame_garbaged, selected_frame, last_nonminibuf_frame): | |
4615 | Move to... | |
4616 | * frame.c (frame_garbaged, selected_frame, last_nonminibuf_frame): | |
4617 | ...this file and convert the latter to static. Adjust comment. | |
4618 | (make_initial_frame): | |
4619 | * window.c (init_window_once): Adjust user. | |
4620 | * frame.h (last_nonminibuf_frame): Remove declaration. | |
4621 | * lisp.h (selected_frame): Likewise. | |
4622 | * msdos.c (the_only_display_info): Adjust comment. | |
4623 | ||
cd548fa4 EZ |
4624 | 2013-09-23 Eli Zaretskii <eliz@gnu.org> |
4625 | ||
f03eddbf EZ |
4626 | * xdisp.c (mouse_face_from_string_pos): Fix off-by-one error in |
4627 | computing the end column of mouse-highlight that comes from | |
4628 | display or overlay strings. (Bug#15437) | |
b519df23 EZ |
4629 | (note_mouse_highlight): Adapt calculation of last argument to |
4630 | mouse_face_from_string_pos to the above change. | |
f03eddbf | 4631 | |
cd548fa4 EZ |
4632 | * conf_post.h (__has_builtin): Define to zero, if undefined, on |
4633 | all platforms, not just for clang. | |
4634 | ||
8762e524 JD |
4635 | 2013-09-23 Jan Djärv <jan.h.d@swipnet.se> |
4636 | ||
4637 | * filelock.c (lock_file_1): Rearrange to remove compiler warning | |
4638 | about excess arguments to snprintf. | |
4639 | ||
4640 | * conf_post.h(assume): Use __builtin_unreachable for clang. | |
4641 | ||
d4a9284f JB |
4642 | 2013-09-23 Juanma Barranquero <lekktu@gmail.com> |
4643 | ||
4644 | * w32console.c (initialize_w32_display): Remove unused variable hlinfo. | |
4645 | * w32term.c (w32_scroll_bar_handle_click): Remove unused variable f. | |
4646 | ||
a84683fd DC |
4647 | 2013-09-23 Daniel Colascione <dancol@dancol.org> |
4648 | ||
4649 | * alloc.c (USE_VALGRIND): New macro; on by default | |
4650 | when ENABLE_CHECKING. | |
ffb3f67a | 4651 | (mark_maybe_object, mark_maybe_pointer) |
a84683fd DC |
4652 | [USE_VALGRIND]: Mark conservatively-scanned regions valid for |
4653 | valgrind purposes. | |
4654 | (valgrind_p) [USE_VALGRIND]: New variable. | |
4655 | (init_alloc) [USE_VALGRIND]: Initialize valgrind_p. | |
4656 | ||
8fef36c6 JD |
4657 | 2013-09-22 Jan Djärv <jan.h.d@swipnet.se> |
4658 | ||
fb83ea63 JD |
4659 | * process.c (wait_reading_process_output): Change int pnamelen to |
4660 | socklen_t. | |
4661 | ||
35e951cd | 4662 | * nsterm.m (setMarkedText:selectedRange:, deleteWorkingText): |
fb83ea63 JD |
4663 | * nsmenu.m (addDisplayItemWithImage:idx:tag:helpText:enabled:): |
4664 | * nsfont.m (ns_get_covering_families, ns_findfonts): Cast NSLog | |
4665 | argument to unsigned long to avoid warning. | |
4666 | (nsfont_draw): Use 0.25 instead of Fix2X (kATSItalicQDSkew). | |
4667 | ||
8fef36c6 JD |
4668 | * conf_post.h (assume): Fix compiler error: x shall be cond. |
4669 | ||
cd9356f2 DC |
4670 | 2013-09-22 Daniel Colascione <dancol@dancol.org> |
4671 | ||
4672 | * xfns.c (x_get_monitor_attributes): Suppress unused variable | |
4673 | warning when compiling without a window system. | |
4674 | ||
3e0b94e7 DC |
4675 | 2013-09-22 Daniel Colascione <dancol@dancol.org> |
4676 | ||
4677 | * data.c (Qbool_vector_p): New symbol. | |
ffb3f67a PE |
4678 | (bool_vector_spare_mask, popcount_size_t_generic) |
4679 | (popcount_size_t_msc, popcount_size_t_gcc) | |
3e0b94e7 DC |
4680 | (popcount_size_t) |
4681 | (bool_vector_binop_driver) | |
ffb3f67a | 4682 | (count_trailing_zero_bits, size_t_to_host_endian) |
3e0b94e7 DC |
4683 | (Fbool_vector_exclusive_or) |
4684 | (Fbool_vector_union) | |
ffb3f67a PE |
4685 | (Fbool_vector_intersection, Fbool_vector_set_difference) |
4686 | (Fbool_vector_subsetp, Fbool_vector_not) | |
3e0b94e7 DC |
4687 | (Fbool_vector_count_matches) |
4688 | (Fbool_vector_count_matches_at): New functions. | |
4689 | (syms_of_data): Intern new symbol, functions. | |
4690 | * alloc.c (bool_vector_payload_bytes): New function. | |
4691 | (Fmake_bool_vector): Instead of calling Fmake_vector, | |
4692 | which performs redundant initialization and argument checking, | |
4693 | just call allocate_vector ourselves. Make sure we clear any | |
4694 | terminating padding to zero. | |
ffb3f67a | 4695 | (vector_nbytes, sweep_vectors): Use bool_vector_payload_bytes |
3e0b94e7 DC |
4696 | instead of open-coding the size calculation. |
4697 | (vroundup_ct): New macro. | |
4698 | (vroundup): Assume argument >= 0; invoke vroundup_ct. | |
ffb3f67a | 4699 | * casetab.c (shuffle, set_identity): Change lint_assume to assume. |
328a8179 SM |
4700 | * composite.c (composition_gstring_put_cache): |
4701 | Change lint_assume to assume. | |
3e0b94e7 DC |
4702 | * conf_post.h (assume): New macro. |
4703 | (lint_assume): Remove. | |
4704 | * dispnew.c (update_frame_1): Change lint_assume to assume. | |
4705 | * ftfont.c (ftfont_shape_by_flt): Change lint_assume | |
4706 | to assume. | |
4707 | * image.c (gif_load): Change lint_assume to assume. | |
4708 | * lisp.h (eassert_and_assume): New macro. | |
4709 | (Qbool_vector_p): Declare. | |
ffb3f67a PE |
4710 | (CHECK_BOOL_VECTOR, ROUNDUP, BITS_PER_SIZE_T): New macros. |
4711 | (swap16, swap32, swap64): New inline functions. | |
a12bf61e | 4712 | * macfont.m (macfont_shape): Change lint_assume to assume. |
3e0b94e7 DC |
4713 | * ralloc.c: Rename ROUNDUP to PAGE_ROUNDUP throughout. |
4714 | * xsettings.c (parse_settings): Use new swap16 and | |
4715 | swap32 from lisp.h instead of file-specific macros. | |
4716 | ||
76880d88 EZ |
4717 | 2013-09-22 Eli Zaretskii <eliz@gnu.org> |
4718 | ||
4719 | * xdisp.c (try_window_id): Don't abort if cursor row could not be | |
4720 | found (which can legitimately happen when the glyph row at the | |
4721 | window start is disabled in the current_matrix. (Bug#15365) | |
4722 | ||
c6cfd910 PE |
4723 | 2013-09-22 Paul Eggert <eggert@cs.ucla.edu> |
4724 | ||
4725 | Fix syntax.h bug introduced by recent INLINE change. | |
4726 | syntax.h defined an extern inline function SYNTAX_ENTRY that was | |
4727 | conditionally compiled one way in some modules, and a different | |
4728 | way in others. This doesn't work with extern inline functions, | |
4729 | which must have the same definition in all modules, because the | |
4730 | defining code might be shared across modules, depending on the | |
4731 | implementation. Symptoms reported by Martin Rudalics in: | |
4732 | http://lists.gnu.org/archive/html/emacs-devel/2013-09/msg00414.html | |
4733 | * regex.c, syntax.c (SYNTAX_ENTRY_VIA_PROPERTY): Remove. | |
4734 | (SYNTAX, SYNTAX_ENTRY, SYNTAX_WITH_FLAGS): New macros, | |
4735 | overriding the corresponding functions in syntax.h. | |
4736 | * syntax.h (syntax_property_entry, syntax_property_with_flags) | |
4737 | (syntax_property): New inline functions. | |
4738 | (SYNTAX_ENTRY, SYNTAX_WITH_FLAGS, SYNTAX): | |
4739 | Rewrite in terms of these new functions. | |
4740 | ||
b3f1d119 EZ |
4741 | 2013-09-21 Eli Zaretskii <eliz@gnu.org> |
4742 | ||
4743 | * dired.c (directory_files_internal): Use multibyte_chars_in_text, | |
4744 | not chars_in_text, whose result depends on the multibyteness of | |
4745 | the current buffer. (Bug#15426) | |
4746 | ||
00382e8b PE |
4747 | 2013-09-20 Paul Eggert <eggert@cs.ucla.edu> |
4748 | ||
e3b29769 PE |
4749 | Port recent change to hosts where pointers aren't 'long'. |
4750 | * xterm.c (x_send_scroll_bar_event, x_scroll_bar_to_input_event): | |
4751 | Don't assume that pointers are the same width as 'long'. | |
4752 | Add a compile-time check that a pointer fits into two X slots. | |
4753 | ||
00382e8b PE |
4754 | A simpler, centralized INLINE. |
4755 | * conf_post.h (INLINE): Define only if not already defined. | |
4756 | This allows us to use a single INLINE, defined by one file | |
4757 | per executable. | |
4758 | * emacs.c (INLINE): Define it. | |
4759 | Also, include category.h, charset.h, composite.h, dispextern.h, | |
4760 | syntax.h, systime.h, so that their INLINE definitions are expanded | |
4761 | properly for Emacs. | |
4762 | * blockinput.h, keyboard.c (BLOCKINPUT_INLINE): | |
4763 | * buffer.h, buffer.c (BUFFER_INLINE): | |
4764 | * category.h, category.c (CATEGORY_INLINE): | |
4765 | * character.h, character.c (CHARACTER_INLINE): | |
4766 | * charset.h, charset.c (CHARSET_INLINE): | |
4767 | * composite.h, composite.c (COMPOSITE_INLINE): | |
4768 | * dispextern.h, dispnew.c (DISPEXTERN_INLINE): | |
4769 | * frame.h, frame.c (FRAME_INLINE): | |
4770 | * intervals.h, intervals.c (INTERVALS_INLINE): | |
4771 | * keyboard.h, keyboard.c (KEYBOARD_INLINE): | |
4772 | * lisp.h, alloc.c (LISP_INLINE): | |
4773 | * process.h, process.c (PROCESS_INLINE): | |
4774 | * syntax.h, syntax.c (SYNTAX_INLINE): | |
4775 | * systime.h, sysdep.c (SYSTIME_INLINE): | |
a12bf61e | 4776 | * termhooks.h, terminal.c (TERMHOOKS_INLINE): |
00382e8b PE |
4777 | * window.h, window.c (WINDOW_INLINE): |
4778 | Remove. All uses replaced with INLINE. | |
4779 | ||
2b943ba6 DA |
4780 | 2013-09-20 Dmitry Antipov <dmantipov@yandex.ru> |
4781 | ||
4782 | * xterm.c (handle_one_xevent): Revert part of 2013-09-17 change | |
4783 | to avoid Bug#15398. | |
4784 | ||
13d9698a EZ |
4785 | 2013-09-19 Eli Zaretskii <eliz@gnu.org> |
4786 | ||
4787 | * w32reg.c (w32_get_string_resource): Make the first 2 arguments | |
4788 | 'const char *' to avoid compiler warnings due to similar change in | |
4789 | the prototype of x_get_string_resource. | |
4790 | ||
ced135eb DA |
4791 | 2013-09-19 Dmitry Antipov <dmantipov@yandex.ru> |
4792 | ||
4793 | * xterm.h (struct x_display_info): New members last_mouse_glyph_frame, | |
4794 | last_mouse_scroll_bar, last_mouse_glyph and last_mouse_movement_time, | |
4795 | going to replace static variables below. Adjust comments. | |
4796 | * xterm.c (last_mouse_glyph, last_mouse_glyph_frame) | |
4797 | (last_mouse_scroll_bar, last_mouse_movement_time): Remove. | |
4798 | (note_mouse_movement, XTmouse_position, x_scroll_bar_note_movement) | |
4799 | (x_scroll_bar_report_motion, handle_one_xevent, syms_of_xterm): | |
4800 | Related users changed. | |
4801 | * w32term.h (struct w32_display_info): New members last_mouse_glyph_frame, | |
4802 | last_mouse_scroll_bar, last_mouse_scroll_bar_pos, last_mouse_glyph and | |
4803 | last_mouse_movement_time, going to replace static variables below. | |
4804 | Adjust comments. | |
4805 | * w32term.c (last_mouse_glyph_frame, last_mouse_scroll_bar) | |
4806 | (last_mouse_scroll_bar_pos, last_mouse_glyph, last_mouse_movement_time): | |
4807 | Remove. | |
4808 | (note_mouse_movement, w32_mouse_position, w32_scroll_bar_handle_click) | |
4809 | (x_scroll_bar_report_motion, syms_of_w32term): Related users changed. | |
4810 | * nsterm.h (struct ns_display_info): New members last_mouse_glyph, | |
4811 | last_mouse_movement_time and last_mouse_scroll_bar, going to replace | |
4812 | static variables below. | |
4813 | * nsterm.m (last_mouse_glyph, last_mouse_movement_time) | |
4814 | (last_mouse_scroll_bar): Remove. | |
4815 | (note_mouse_movement, ns_mouse_position, mouseMoved, mouseEntered) | |
4816 | (mouseExited): Related users changed. | |
4817 | ||
091f1e1f DA |
4818 | 2013-09-19 Dmitry Antipov <dmantipov@yandex.ru> |
4819 | ||
4820 | Do not use external array to process X scroll bar messages. | |
4821 | * xterm.c (scroll_bar_windows, scroll_bar_windows_size): Remove. | |
4822 | (x_send_scroll_bar_event): Pack window pointer into two slots | |
4823 | of XClientMessageEvent if we're 64-bit. Adjust comment. | |
4824 | (x_scroll_bar_to_input_event): Unpack accordingly. | |
4825 | ||
582ed56c DA |
4826 | 2013-09-18 Dmitry Antipov <dmantipov@yandex.ru> |
4827 | ||
4828 | Ifdef away recent changes which aren't relevant to NS port. | |
4829 | * dispextern.h (x_mouse_grabbed, x_redo_mouse_highlight) | |
4830 | [!HAVE_NS]: Declare as such. | |
4831 | * frame.c (x_mouse_grabbed, x_redo_mouse_highlight) | |
4832 | [!HAVE_NS]: Define as such. | |
4833 | ||
18da0d8a DA |
4834 | 2013-09-18 Dmitry Antipov <dmantipov@yandex.ru> |
4835 | ||
4836 | * frame.c (x_redo_mouse_highlight): New function | |
4837 | to factor out common code used in W32 and X ports. | |
4838 | * dispextern.h (x_redo_mouse_highlight): Add prototype. | |
4839 | * xterm.h (struct x_display_info): | |
4840 | * w32term.h (struct w32_display_info): | |
4841 | * nsterm.h (struct ns_display_info): New members | |
4842 | last_mouse_motion_frame, last_mouse_motion_x and | |
4843 | last_mouse_motion_y, going to replace static variables below. | |
4844 | * xterm.c (last_mouse_motion_event, last_mouse_motion_frame) | |
4845 | (redo_mouse_highlight): Remove. | |
4846 | (note_mouse_movement, syms_of_xterm): Adjust user. | |
4847 | (handle_one_xevent): Likewise. Use x_redo_mouse_highlight. | |
4848 | * w32term.c (last_mouse_motion_event, last_mouse_motion_frame) | |
4849 | (redo_mouse_highlight): Remove. | |
4850 | (note_mouse_movement, syms_of_w32term): Adjust user. | |
4851 | (w32_read_socket): Likewise. Use x_redo_mouse_highlight. | |
4852 | * nsterm.m (last_mouse_motion_position, last_mouse_motion_frame): | |
4853 | Remove. | |
4854 | (note_mouse_movement, mouseMoved, syms_of_nsterm): | |
4855 | * nsfns.m (compute_tip_xy): Adjust user. | |
4856 | ||
7a0c745a DA |
4857 | 2013-09-18 Dmitry Antipov <dmantipov@yandex.ru> |
4858 | ||
4859 | * frame.c (x_mouse_grabbed): New function. | |
4860 | * dispextern.h (x_mouse_grabbed): Add prototype. | |
4861 | (last_mouse_frame): Remove declaration. | |
4862 | * xterm.h (struct x_display_info): | |
4863 | * w32term.h (struct w32_display_info): | |
4864 | * nsterm.h (struct ns_display_info): New member | |
4865 | last_mouse_frame, going to replace... | |
4866 | * xdisp.c (last_mouse_frame): ...global variable. | |
4867 | (note_tool_bar_highlight): | |
4868 | * w32term.c (w32_mouse_position, w32_read_socket): | |
4869 | * xterm.c (XTmouse_position, handle_one_xevent): | |
4870 | Use x_mouse_grabbed. | |
4871 | * nsterm.m (ns_mouse_position, mouseDown): Adjust user. | |
4872 | ||
0791d107 DA |
4873 | 2013-09-17 Dmitry Antipov <dmantipov@yandex.ru> |
4874 | ||
4875 | * w32term.c (w32_read_socket): Avoid temporary | |
4876 | variables in a call to x_real_positions. | |
4877 | * xterm.c (handle_one_xevent): Likewise. | |
4878 | ||
2cd98812 DA |
4879 | 2013-09-17 Dmitry Antipov <dmantipov@yandex.ru> |
4880 | ||
4881 | * frame.h (x_set_bitmap_icon) [!HAVE_NS]: New function. | |
4882 | (x_icon_type): Remove prototype. | |
4883 | (x_bitmap_icon) [!HAVE_NS]: Declare as such. | |
4884 | * frame.c (x_icon_type): Remove. | |
4885 | * w32term.c (x_make_frame_visible, x_iconify_frame): | |
4886 | * xterm.c (x_make_frame_visible, x_iconify_frame): | |
4887 | Use x_set_bitmap_icon to factor out common code. | |
4888 | ||
a6c2ee1b DA |
4889 | 2013-09-17 Dmitry Antipov <dmantipov@yandex.ru> |
4890 | ||
4891 | * dispextern.h (check_x_display_info, x_get_string_resource): | |
4892 | Declare here just once and unify the latter. | |
4893 | * frame.c (check_x_display_info, x_get_string_resource): | |
4894 | * nsterm.h (check_x_display_info): | |
4895 | * xrdb.c (x_get_string_resource): | |
4896 | * xterm.h (check_x_display_info): Remove prototypes. | |
4897 | * nsfns.m (x_get_string_resource): Likewise. Adjust definition. | |
4898 | * w32reg.c (x_get_string_resource): Likewise. | |
4899 | (w32_get_rdb_resource): Adjust user. | |
4900 | ||
baed3603 DA |
4901 | 2013-09-17 Dmitry Antipov <dmantipov@yandex.ru> |
4902 | ||
4903 | * xterm.h (struct x_display_info): New member | |
4904 | x_pending_autoraise_frame, going to replace... | |
4905 | * xterm.c (pending_autoraise_frame): ...static variable. | |
4906 | (x_new_focus_frame, XTread_socket): Adjust users. | |
4907 | * w32term.h (struct w32_display_info): New member | |
4908 | w32_pending_autoraise_frame, going to replace... | |
4909 | * w32term.c (pending_autoraise_frame): ...global variable. | |
4910 | (x_new_focus_frame, w32_read_socket): Adjust users. | |
4911 | ||
90582f05 GM |
4912 | 2013-09-17 Glenn Morris <rgm@gnu.org> |
4913 | ||
4914 | * xdisp.c (message_dolog): If we create *Messages*, | |
4915 | switch it to messages-buffer-mode. | |
4916 | ||
b7ad2f74 PE |
4917 | 2013-09-17 Paul Eggert <eggert@cs.ucla.edu> |
4918 | ||
4919 | Don't overuse 'const' in types of locals. | |
4920 | * bidi.c (bidi_count_bytes): | |
4921 | * gtkutil.c, gtkutil.h (xg_event_is_for_menubar) | |
4922 | (xg_event_is_for_scrollbar): | |
4923 | * xselect.c (x_handle_property_notify) | |
4924 | (x_handle_selection_notify, x_handle_dnd_message): | |
4925 | * xsettings.c, xsettings.h (xft_settings_event): | |
4926 | * xterm.c (x_handle_net_wm_state, handle_one_event) | |
4927 | (x_menubar_window_to_frame, x_detect_focus_change) | |
4928 | (construct_mouse_click, note_mouse_movement) | |
4929 | (x_scroll_bar_to_input_event, x_scroll_bar_expose) | |
4930 | (x_scroll_bar_handle_click, x_scroll_bar_note_movement) | |
4931 | (handle_one_xevent, x_handle_net_wm_state): | |
4932 | * xterm.h (x_handle_property_notify, x_handle_selection_notify) | |
4933 | (x_handle_dnd_message): | |
4934 | Avoid unnecessary 'const', typically the second 'const' in | |
4935 | 'const foo * const arg', a 'const' that does not affect the API | |
4936 | and doesn't significantly help the human reader. | |
4937 | ||
19452b86 DA |
4938 | 2013-09-17 Dmitry Antipov <dmantipov@yandex.ru> |
4939 | ||
4940 | * image.c (fn_g_type_init) [WINDOWSNT]: Define and load | |
4941 | only if Glib < 2.36.0. | |
4942 | (fn_g_type_init) [!WINDOWSNT]: Define only if Glib < 2.36.0. | |
4943 | * xsettings.c (init_gconf, init_gsettings): Do not check | |
4944 | for g_type_init. | |
1893694e DA |
4945 | * xterm.c (handle_one_xevent): Do not call to x_clear_area |
4946 | if GTK >= 2.7.0. | |
33b83dd7 | 4947 | (toplevel) [USE_MOTIF]: Include xlwmenu.h to pacify GCC. |
19452b86 | 4948 | |
6434e343 JD |
4949 | 2013-09-16 Jan Djärv <jan.h.d@swipnet.se> |
4950 | ||
3f386383 JD |
4951 | * xsettings.c (init_gconf, init_gsettings): Check for Glib 2.36.0 |
4952 | before calling g_type_init. | |
4953 | ||
6434e343 JD |
4954 | * font.c (syms_of_font): Move call to syms_of_(ns|mac)font ... |
4955 | ||
4956 | * nsterm.m (syms_of_nsterm): ... to here. | |
4957 | ||
83a119f8 DA |
4958 | 2013-09-16 Dmitry Antipov <dmantipov@yandex.ru> |
4959 | ||
4960 | * xterm.c (toolkit_scroll_bar_interaction): Use bool for boolean. | |
4961 | (ignore_next_mouse_click_timeout): Use Time as X does. | |
4962 | (handle_one_xevent): Avoid cast and use unsigned comparison. | |
4963 | ||
61582e6a DA |
4964 | 2013-09-16 Dmitry Antipov <dmantipov@yandex.ru> |
4965 | ||
4966 | Do not copy X event in handle_one_xevent except KeyPress case. | |
4967 | Wnen XEvent is processed, it is unlikely to be changed except | |
4968 | KeyPress case, so we can avoid copying and use const pointer to | |
4969 | const data to make sure that an event is not changed elsewhere. | |
4970 | * xterm.c (handle_one_xevent): Change 2nd arg to 'const XEvent * | |
4971 | const' and do not create local copy except for the KeyPress event. | |
4972 | Use casts to avoid a few glitches. Adjust formatting. Add comments. | |
4973 | (SET_SAVED_BUTTON_EVENT): Remove and move the code to the only user. | |
4974 | (x_handle_net_wm_state, x_menubar_window_to_frame) | |
4975 | (x_detect_focus_change, construct_mouse_click, note_mouse_movement) | |
4976 | (x_scroll_bar_to_input_event, x_scroll_bar_expose) | |
4977 | (x_scroll_bar_handle_click, x_scroll_bar_note_movement): | |
4978 | * gtkutil.c (xg_event_is_for_menubar, xg_event_is_for_scrollbar): | |
4979 | * xselect.c (x_handle_property_notify, x_handle_selection_notify) | |
4980 | (x_handle_dnd_message): | |
4981 | * xsettings.c (xft_settings_event): | |
4982 | Use 'const XEvent * const' where appropriate. | |
a12bf61e | 4983 | * xterm.h, gtkutil.h, xsettings.h: Adjust related prototypes. |
61582e6a | 4984 | |
f8eb1572 DA |
4985 | 2013-09-16 Dmitry Antipov <dmantipov@yandex.ru> |
4986 | ||
4987 | Fix X event waiting to handle multiple frames. | |
4988 | * frame.h (struct frame) [HAVE_X_WINDOWS]: New member wait_event_type. | |
4989 | * xterm.c (pending_event_wait): Remove. Adjust users. | |
4990 | (x_detect_focus_change): Pass frame arg. | |
4991 | (handle_one_xevent): Find related frame early and clear per-frame | |
4992 | wait_event_type only if this is an event for the relevant frame. | |
4993 | (x_wait_for_event): Use per-frame wait_event_type. | |
4994 | ||
3fa2054e JD |
4995 | 2013-09-15 Jan Djärv <jan.h.d@swipnet.se> |
4996 | ||
745d3809 | 4997 | * nsfns.m (Fx_create_frame): Fix font driver registration for |
a6c4680a | 4998 | GNUstep. |
745d3809 JD |
4999 | |
5000 | * font.c (syms_of_font): Check MAC_OS_X_VERSION_MAX_ALLOWED >= 1050 | |
5001 | for syms_of_macfont. | |
5002 | ||
3fa2054e JD |
5003 | * nsterm.m: Include macfont.h. |
5004 | (ns_tmp_flags, ns_tmp_font): Remove. | |
5005 | (ns_compute_glyph_string_overhangs): Check for driver Qns. | |
5006 | (ns_draw_glyph_string): Use local variables instead of ns_tmp_flags, | |
5007 | ns_tmp_font. Call ns_draw_text_decoration here instead of nsfont.m. | |
5008 | (changeFont:): Fix code style. Check for font driver type when | |
5009 | getiing font. | |
5010 | ||
5011 | * nsterm.h (FONT_DESCENT, FONT_ASCENT): Define to (f)->ascent and | |
5012 | (f)->descent. | |
5013 | ||
5014 | * nsfont.m (ns_tmp_flags, ns_tmp_font): Remove. | |
5015 | (nsfont_open): Set font driver type. | |
5016 | Set font->ascent and font->descent. Figure out font instead of | |
5017 | ns_tmp_font, and flags instead of ns_tmp_flags. | |
e9dc713d | 5018 | Fix indentation. Remove call to ns_draw_text_decoration, |
3fa2054e JD |
5019 | moved to nsterm. |
5020 | ||
5021 | * nsfns.m: Include macfont.h. | |
5022 | (Fx_create_frame): Register macfont driver, make a better default font. | |
5023 | (Fns_popup_font_panel): Get font from macfont driver, if used. | |
5024 | ||
a12bf61e | 5025 | * macfont.m, macfont.h, macuvs.h: New files. |
3fa2054e JD |
5026 | |
5027 | * font.h: Declare syms_of_macfont. | |
5028 | ||
5029 | * font.c (syms_of_font): Call syms_of_macfont. | |
5030 | ||
5031 | * Makefile.in (NS_OBJ, SOME_MACHINE_OBJECTS): Add macfont.o. | |
5032 | ||
0eed0355 DA |
5033 | 2013-09-15 Dmitry Antipov <dmantipov@yandex.ru> |
5034 | ||
5035 | Drop VERTICAL_SCROLL_BAR_WIDTH_TRIM. For X, it is zero since 1999, | |
5036 | and it is always zero for others, so I assume that this is an ancient | |
5037 | leftover which nobody will want to change any more. | |
5038 | * xterm.h, w32term.h, nsterm.h (VERTICAL_SCROLL_BAR_WIDTH_TRIM): Remove. | |
5039 | (VERTICAL_SCROLL_BAR_INSIDE_WIDTH): | |
5040 | * frame.c (x_set_scroll_bar_width): | |
5041 | * w32fns.c (w32_createscrollbar): | |
5042 | * w32term.c (w32_set_vertical_scroll_bar): | |
5043 | * xfns.c (x_set_scroll_bar_default_width): | |
5044 | * xterm.c (XTflash, x_scroll_bar_create, XTset_vertical_scroll_bar) | |
5045 | (x_scroll_bar_expose): Related users changed. | |
5046 | ||
07013c68 DA |
5047 | 2013-09-15 Dmitry Antipov <dmantipov@yandex.ru> |
5048 | ||
5049 | * xterm.h (FRAME_X_SCREEN_NUMBER): Add comment. | |
5050 | (BLACK_PIX_DEFAULT, WHITE_PIX_DEFAULT): Use FRAME_X_SCREEN_NUMBER. | |
901049a6 DA |
5051 | (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET) [USE_X_TOOLKIT]: |
5052 | Define as such. | |
c7cc32f7 DA |
5053 | * frame.h (FRAME_SMALLEST_CHAR_WIDTH, FRAME_SMALLEST_FONT_HEIGHT): |
5054 | Define once here... | |
5055 | * nsterm.h, w32term.h, xterm.h: ...and not here. | |
901049a6 DA |
5056 | * w32term.h (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET): |
5057 | Remove unused Xisms. | |
7f09455e DA |
5058 | * xterm.c, xfns.c (toplevel): Remove #ifdef HAVE_X_WINDOWS because |
5059 | these modules are never compiled otherwise. | |
07013c68 | 5060 | |
0df00f59 EZ |
5061 | 2013-09-14 Eli Zaretskii <eliz@gnu.org> |
5062 | ||
08a209bf | 5063 | * buffer.c (syms_of_buffer) <left-margin-width, right-margin-width>: |
0df00f59 EZ |
5064 | Doc fix. (Bug#15375) |
5065 | ||
fcd42c11 DA |
5066 | 2013-09-13 Dmitry Antipov <dmantipov@yandex.ru> |
5067 | ||
5068 | Unify Fx_focus_frame between all ports. | |
5069 | * frame.h (x_focus_frame): New prototype. | |
5070 | * xfns.c (Fx_focus_frame): Remove. | |
5071 | (syms_of_xfns): Do not defsubr it. | |
5072 | (x_focus_frame): X implementation. | |
5073 | * nsfns.m (Fx_focus_frame): Remove. | |
5074 | (syms_of_nsfns): Do not defsubr it. | |
5075 | (x_focus_frame): NS implementation. | |
5076 | * w32term.c (Fx_focus_frame): Remove. | |
5077 | (x_focus_on_frame): Rename to... | |
5078 | (x_focus_frame): W32 implementation. | |
5079 | * w32term.h (x_focus_on_frame): Remove prototype. | |
5080 | * w32fns.c (Fx_focus_frame): Remove. | |
5081 | (syms_of_w32fns): Do not defsubr it. | |
5082 | * frame.c (Fx_focus_frame): Define here. | |
5083 | (syms_of_frame): Defsubr here. | |
5084 | * gtkutil.c (xg_tool_bar_callback): Use x_focus_frame. | |
5085 | ||
aad3612f DA |
5086 | 2013-09-13 Dmitry Antipov <dmantipov@yandex.ru> |
5087 | ||
5088 | Unify FRAME_window_system_DISPLAY_INFO macros between all ports. | |
5089 | All of them are replaced with FRAME_DISPLAY_INFO, defined in | |
5090 | each port to reference the port-specific window system data. | |
5091 | * msdos.h (FRAME_X_DISPLAY_INFO): Remove. | |
5092 | (FRAME_DISPLAY_INFO): Define. | |
5093 | * w32term.h (FRAME_W32_DISPLAY_INFO, FRAME_X_DISPLAY_INFO): Remove. | |
5094 | (FRAME_DISPLAY_INFO): Define. Adjust users. | |
5095 | * xterm.h (FRAME_X_DISPLAY_INFO): Remove. | |
5096 | (FRAME_DISPLAY_INFO): Define. Adjust users. | |
5097 | * frame.h (FRAME_RES_X, FRAME_RES_Y): Unify. | |
5098 | * font.c, frame.c, gtkutil.c, image.c, menu.c, msdos.c, nsfns.m: | |
5099 | * nsfont.m, nsterm.m, w32fns.c, w32font.c, w32menu.c, w32term.c: | |
5100 | * w32xfns.c, widget.c, xdisp.c, xfaces.c, xfns.c, xfont.c, xmenu.c: | |
5101 | * xselect.c, xterm.c: All related users changed. | |
5102 | ||
9a650e62 DA |
5103 | 2013-09-13 Dmitry Antipov <dmantipov@yandex.ru> |
5104 | ||
5105 | * xterm.h (x_window_to_frame, x_any_window_to_frame) | |
5106 | (x_menubar_window_to_frame): Remove prototypes. | |
5107 | * xfns.c (x_window_to_frame, x_any_window_to_frame) | |
5108 | (x_menubar_window_to_frame, x_top_window_to_frame): | |
5109 | Move from here... | |
5110 | * xterm.c (x_window_to_frame, x_any_window_to_frame) | |
5111 | (x_menubar_window_to_frame, x_top_window_to_frame): | |
5112 | ...to here and convert all but the last to static. | |
5113 | ||
347ae3e1 EZ |
5114 | 2013-09-12 Eli Zaretskii <eliz@gnu.org> |
5115 | ||
5116 | * lisp.mk (lisp): Add w32-common-fns.elc. | |
5117 | ||
15c6d837 XF |
5118 | 2013-09-12 Xue Fuqiao <xfq.free@gmail.com> |
5119 | ||
5120 | * charset.c (char_charset): Document an exception for char-charset. | |
5121 | ||
27e90f77 DA |
5122 | 2013-09-12 Dmitry Antipov <dmantipov@yandex.ru> |
5123 | ||
5124 | * xterm.h (x_display_info): New field last_user_time... | |
5125 | * xterm.c (toplevel): ...to replace static last_user_time. | |
5126 | (handle_one_xevent, x_ewmh_activate_frame): Adjust users. | |
5127 | ||
8ffbc36b DA |
5128 | 2013-09-12 Dmitry Antipov <dmantipov@yandex.ru> |
5129 | ||
5130 | * xterm.c (x_set_scroll_bar_thumb) [USE_LUCID && !HAVE_XAW3D]: Clip | |
5131 | scroll bar values to prevent thumb from disappear and update comment. | |
5132 | ||
5ec0337a GM |
5133 | 2013-09-11 Glenn Morris <rgm@gnu.org> |
5134 | ||
5135 | * emacs.c (usage_message): Possessive apostrophe tweak. | |
5136 | ||
fb55b9d1 DA |
5137 | 2013-09-11 Dmitry Antipov <dmantipov@yandex.ru> |
5138 | ||
8d2db8be DA |
5139 | * nsterm.m (syms_of_nsterm): Use Qns. |
5140 | * w32fns.c (Fx_open_connection): Remove old '#if 0' code. | |
5141 | * w32term.c (w32_create_terminal, syms_of_w32term): Use Qw32. | |
5142 | * xfns.c (x_display_info_for_name, Fx_open_connection): | |
5143 | Remove old '#if 0' code. | |
5144 | (syms_of_xfns): Use Qx. | |
fb55b9d1 DA |
5145 | * termhooks.h (fullscreen_hook): Remove the leftover. |
5146 | (struct terminal): Fix typo in comment. | |
5147 | ||
927eec55 DA |
5148 | 2013-09-11 Dmitry Antipov <dmantipov@yandex.ru> |
5149 | ||
5150 | Cleaning up a few X scroll bar bits. | |
5151 | * termhooks.h (enum scroll_bar_part): Add scroll_bar_nowhere member. | |
5152 | * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS && USE_LUCID]: | |
5153 | New member last_seen_part, going to replace... | |
5154 | * xterm.c [USE_TOOLKIT_SCROLL_BARS]: ...global last_scroll_bar_part. | |
5155 | (xt_action_hook) [USE_LUCID]: Adjust user. | |
5156 | (xm_scroll_callback, xg_scroll_callback): Do not bloat with | |
5157 | Lucid-specific scroll bar support. | |
5158 | (xaw_jump_callback, xaw_scroll_callback): Prefer enum scroll_par_part | |
5159 | to int and adjust to use last_seen_part member. | |
5160 | (x_set_toolkit_scroll_bar_thumb) [USE_LUCID]: Adjust user. | |
5161 | (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS && USE_LUCID]: | |
5162 | Initialize last_seen_part. | |
5163 | ||
71b28baa SM |
5164 | 2013-09-11 Stefan Monnier <monnier@iro.umontreal.ca> |
5165 | ||
5166 | * insdel.c (insert_from_buffer_1): Don't mark buffer as modified when | |
5167 | insert-buffer-substring an empty string. | |
5168 | ||
f5dacaae PE |
5169 | 2013-09-11 Paul Eggert <eggert@cs.ucla.edu> |
5170 | ||
5171 | * xdisp.c (Ftool_bar_lines_needed): Declare as 'const' if ifdeffed out, | |
5172 | avoiding a GCC warning. | |
5173 | ||
742516e0 DA |
5174 | 2013-09-11 Dmitry Antipov <dmantipov@yandex.ru> |
5175 | ||
5176 | Ifdef away frame tool bar code when it is not really used. | |
5177 | * frame.h (struct frame) [HAVE_WINDOW_SYSTEM && !USE_GTK && !HAVE_NS]: | |
5178 | Move tool_bar_window, desired_tool_bar_string, current_tool_bar_string | |
5179 | and minimize_tool_bar_window_p under the above. | |
5180 | (fset_current_tool_bar_string, fset_desired_tool_bar_string) | |
5181 | (fset_tool_bar_window): Likewise. | |
5182 | * dispnew.c (clear_current_matrices, clear_desired_matrices) | |
5183 | (adjust_frame_glyphs_for_window_redisplay, free_glyphs, update_frame) | |
5184 | (change_frame_size_1): | |
5185 | * window.c (window_from_coordinates, Frecenter): Adjust users. | |
5186 | * window.h (WINDOW_TOOL_BAR_P): Define to zero when frame tool bar | |
5187 | code is not really used. | |
5188 | * xdisp.c (build_desired_tool_bar_string, display_tool_bar_line) | |
5189 | (tool_bar_lines_needed, MAX_FRAME_TOOL_BAR_HEIGHT, tool_bar_item_info) | |
5190 | (get_tool_bar_item, handle_tool_bar_click, note_tool_bar_highlight) | |
5191 | [!USE_GTK && !HAVE_NS]: Define as such. | |
5192 | (Ftool_bar_lines_needed, redisplay_tool_bar, show_mouse_face) | |
5193 | (note_mouse_highlight, expose_frame): | |
5194 | * xfns.c (x_set_tool_bar_lines): | |
5195 | * xterm.c (handle_one_xevent): Adjust users. | |
5196 | ||
73f82c7e PE |
5197 | 2013-09-11 Paul Eggert <eggert@cs.ucla.edu> |
5198 | ||
5199 | Fix corruption with multiple emacsclient -t instances (Bug#15222). | |
5200 | This bug was introduced by my 2013-08-26 patch, which incorrectly | |
5201 | assumed that the terminfo implementation doesn't use termcap buffers. | |
5202 | * term.c (init_tty) [TERMINFO]: Remove optimization, as | |
5203 | these buffers apparently are used after all. | |
5204 | * termchar.h (TERMCAP_BUFFER_SIZE) [TERMINFO]: Define here too. | |
5205 | (struct tty_display_info): Define members termcap_term_buffer and | |
5206 | termcap_strings_buffer even if TERMINFO. | |
5207 | ||
53482f41 DA |
5208 | 2013-09-11 Dmitry Antipov <dmantipov@yandex.ru> |
5209 | ||
5210 | Fix last change. | |
5211 | * data.c (Feqlsign, Flss, Fgtr, Fleq, Fgeq): Add convenient | |
5212 | 'usage' docstring entry to pacify make-docfile. | |
5213 | ||
5214 | 2013-09-11 Barry O'Reilly <gundaetiapo@gmail.com> | |
5215 | ||
5216 | Change comparison functions =, <, >, <=, >= to take many arguments. | |
5217 | * data.c: Change comparison functions' interface and implementation. | |
5218 | * lisp.h: Make arithcompare available for efficient two arg | |
5219 | comparisons. | |
5220 | * bytecode.c: Use arithcompare. | |
5221 | * fileio.c: Use new interface. | |
5222 | ||
533f258f SM |
5223 | 2013-09-11 Stefan Monnier <monnier@iro.umontreal.ca> |
5224 | ||
5225 | * keyboard.c (read_char): Don't break immediate_echo (bug#15332). | |
5226 | ||
8c27f5ff SM |
5227 | 2013-09-10 Stefan Monnier <monnier@iro.umontreal.ca> |
5228 | ||
5229 | * eval.c (Feval): Document the new use of `lexical'. | |
5230 | ||
0750a308 DA |
5231 | 2013-09-09 Dmitry Antipov <dmantipov@yandex.ru> |
5232 | ||
5233 | Review and drop old frame resize hack. | |
5234 | * frame.h (struct frame): Remove force_flush_display_p. | |
5235 | * dispnew.c (update_frame): Adjust user and don't call | |
5236 | flush_frame here. The comment has said that there was an issues | |
5237 | with redisplaying fringes, but I don't see any differences with | |
5238 | and without this hack. Hopefully we can continue without it. | |
5239 | * xdisp.c (clear_garbaged_frames): Adjust user and do not clear | |
5240 | current frame matrices twice if resized_p is set. | |
5241 | ||
83fc0554 DA |
5242 | 2013-09-09 Dmitry Antipov <dmantipov@yandex.ru> |
5243 | ||
5244 | Do not populate pure Xism x_sync to other ports. | |
5245 | * frame.h (x_sync): Move under HAVE_X_WINDOWS. | |
5246 | * frame.c (other_visible_frames) [HAVE_X_WINDOWS]: Use as such. | |
5247 | * nsfns.m, w32xfns.c (x_sync): Remove no-op. | |
5248 | * w32term.h (x_sync): Remove prototype. | |
5249 | ||
fd462129 DA |
5250 | 2013-09-09 Dmitry Antipov <dmantipov@yandex.ru> |
5251 | ||
5252 | Cleanup frame flushing. | |
8c27f5ff SM |
5253 | * dispextern.h (struct redisplay_interface): |
5254 | Drop flush_display_optional because flush_display is enough | |
fd462129 DA |
5255 | for X and flushing via RIF is just a no-op for others. |
5256 | * frame.h (flush_frame): New function. | |
5257 | * dispnew.c (update_frame): | |
5258 | * minibuf.c (read_minibuf): | |
5259 | * xdisp.c (echo_area_display, redisplay_preserve_echo_area): | |
5260 | Use it. | |
5261 | * keyboard.c (detect_input_pending_run_timers): Do not flush | |
5262 | all frames but selected one in redisplay_preserve_echo_area. | |
5263 | * nsterm.m (ns_flush): Remove no-op. | |
5264 | (ns_redisplay_interface): Adjust user. | |
5265 | * w32term.h (x_flush): Remove no-op. | |
5266 | (w32_redisplay_interface): Adjust user. | |
5267 | * xterm.c (x_flush): Simplify because we do not flush all | |
5268 | frames at once any more. Adjust comment. | |
5269 | (x_redisplay_interface): Adjust user. | |
5270 | ||
4b73fc73 PE |
5271 | 2013-09-07 Paul Eggert <eggert@cs.ucla.edu> |
5272 | ||
5273 | Port --without-x --enable-gcc-warnings to Fedora 19. | |
5274 | * gfilenotify.c (globals_of_gfilenotify): | |
5275 | Call g_type_init only if using an older glib version that needs it. | |
5276 | ||
77394d40 DA |
5277 | 2013-09-06 Dmitry Antipov <dmantipov@yandex.ru> |
5278 | ||
5279 | * lisp.h (last_glyphless_glyph_frame, last_glyphless_glyph_face_id) | |
5280 | (last_glyphless_glyph_merged_face_id): Remove declarations. | |
5281 | * dispextern.h (merge_glyphless_glyph_face): Add prototype. | |
5282 | * xdisp.c (last_glyphless_glyph_frame, last_glyphless_glyph_face_id) | |
5283 | (last_glyphless_glyph_merged_face_id): Now static. | |
5284 | (merge_escape_glyph_face): New function, refactored from... | |
5285 | (get_next_display_element): ...here. | |
5286 | (merge_glyphless_glyph_face): New function, refactored from... | |
5287 | (produce_glyphless_glyph): ...here... | |
5288 | * term.c (produce_glyphless_glyph): ...and here. | |
5289 | ||
306d67bd SM |
5290 | 2013-09-06 Stefan Monnier <monnier@iro.umontreal.ca> |
5291 | ||
5292 | * eval.c (eval_sub): Only call Ffunction if necessary. | |
5293 | ||
7f6c6450 DA |
5294 | 2013-09-06 Dmitry Antipov <dmantipov@yandex.ru> |
5295 | ||
5296 | Attempt to make redisplay more selective when changing cursor type. | |
5297 | * frame.h (struct frame): New bitfield cursor_type_changed. | |
5298 | * xdisp.c (cursor_type_changed): Remove. | |
5299 | (try_cursor_movement, redisplay_window, try_window_id) | |
5300 | (set_frame_cursor_types, try_window_reusing_current_matrix): | |
5301 | Adjust to use per-frame bitfield. | |
5302 | (redisplay_internal): Look for cursor type change on each visible | |
5303 | frame and consider all frames if cursor type has been changed on | |
5304 | the frame other than selected. If cursor type has been changed on | |
5305 | selected frame only, do not use fast update. | |
5306 | ||
bd0443bb DA |
5307 | 2013-09-06 Dmitry Antipov <dmantipov@yandex.ru> |
5308 | ||
5309 | Attempt to make redisplay more selective when changing fonts. | |
5310 | * frame.h (struct frame): New bitfield fonts_changed. | |
5311 | * dispextern.h (fonts_changed_p, adjust_glyphs): Remove declaration. | |
5312 | (adjust_frame_glyphs): Add prototype. | |
5313 | * dispnew.c (fonts_changed_p): Remove. | |
8bda01d3 | 5314 | (adjust_glyphs): Remove because we do not |
bd0443bb DA |
5315 | adjust matrices on all frames at once any more. |
5316 | (adjust_frame_glyphs): Block and unblock input here. | |
5317 | (adjust_glyph_matrix): Use fonts_changed. | |
5318 | (change_frame_size_1): Use adjust_frame_glyphs. | |
5319 | * font.c (font_open_entity): Use fonts_changed. | |
5320 | * frame.c (set_menu_bar_lines, Fmake_terminal_frame): | |
5321 | * w32fns.c (x_set_menu_bar_lines, x_set_tool_bar_lines, Fx_show_tip): | |
5322 | * window.c (Fdelete_other_windows_internal, Fwindow_resize_apply) | |
5323 | (Fsplit_window_internal, Fdelete_window_internal, grow_mini_window) | |
5324 | (shrink_mini_window, Fresize_mini_window_internal) | |
5325 | (window_scroll_pixel_based, Fset_window_configuration) | |
5326 | (apply_window_adjustment, Fset_window_vscroll): | |
5327 | * xfns.c (x_set_menu_bar_lines, x_set_tool_bar_lines, Fx_show_tip): | |
5328 | Use adjust_frame_glyphs. | |
5329 | * xdisp.c (redisplay_tool_bar, redisplay_window, try_window) | |
5330 | (try_window_reusing_current_matrix, try_window_id, display_line) | |
5331 | (IT_EXPAND_MATRIX_WIDTH): Use fonts_changed. | |
5332 | (redisplay_internal): Consider fonts_changed and adjust frame | |
5333 | matrices for each frame only if the frame is visible. If font | |
5334 | has been changed on some frame during full redisplay, retry | |
5335 | only visible frames where the font has been actually changed. | |
5336 | ||
b9695828 DA |
5337 | 2013-09-05 Dmitry Antipov <dmantipov@yandex.ru> |
5338 | ||
5339 | Cache current header and mode line height for each window. | |
5340 | * window.h (struct window): New fields mode_line_height | |
5341 | and header_line_height. | |
5342 | * window.c (make_window): Initialize them. | |
5343 | * dispextern.h (CURRENT_MODE_LINE_HEIGHT) | |
5344 | (CURRENT_HEADER_LINE_HEIGHT): Use them. Adjust comment. | |
5345 | (current_mode_line_height, current_header_line_height): | |
5346 | Remove declaration. | |
5347 | * xdisp.c (current_mode_line_height, current_header_line_height): | |
5348 | Remove. | |
5349 | (pos_visible_p, init_xdisp): Adjust user. | |
5350 | (redisplay_window): Invalidate mode_line_height and | |
5351 | header_line_height if current and desired matrices do not agree. | |
5352 | ||
66738305 DA |
5353 | 2013-09-05 Dmitry Antipov <dmantipov@yandex.ru> |
5354 | ||
5355 | * fontset.c, window.c, xdisp.c (toplevel): Use TERM_HEADER. | |
5356 | * xfaces.c (toplevel) [HAVE_X_WINDOWS]: Do not include xterm.h twice. | |
5357 | ||
257b3b03 DA |
5358 | 2013-09-05 Dmitry Antipov <dmantipov@yandex.ru> |
5359 | ||
5360 | Make --without-x compatible with --enable-gcc-warnings. | |
5361 | * font.c (register_font_driver): Move check under HAVE_WINDOW_SYSTEM. | |
5362 | * font.h (struct font_driver): Move draw, get_bitmap and free_bitmap | |
5363 | members under HAVE_WINDOW_SYSTEM. | |
5364 | * keyboard.c (make_lispy_focus_out): Likewise. | |
5365 | (record_menu_key): Move under HAVE_MENUS. | |
5366 | * xdisp.c (toplevel): Move hourglass_shown_p, hourglass_atimer and | |
5367 | THIN_SPACE_WIDTH under HAVE_WINDOW_SYSTEM. | |
5368 | (syms_of_xdisp): Adjust user. | |
5369 | (window_box_edges): Define only if HAVE_WINDOW_SYSTEM. | |
5370 | (start_hourglass, cancel_hourglass): | |
5371 | * xfaces.c (toplevel): Likewise with PT_PER_INCH, | |
5372 | clear_font_table_count, CLEAR_FONT_TABLE_COUNT | |
5373 | and CLEAR_FONT_TABLE_NFONTS. | |
5374 | (set_font_frame_param, clear_face_gcs, realize_non_ascii_face): | |
5375 | Declare only if HAVE_WINDOW_SYSTEM. | |
5376 | (lface_same_font_attributes_p, clear_face_gcs): Define only | |
5377 | if HAVE_WINDOW_SYSTEM. | |
5378 | ||
98b7f4bd DA |
5379 | 2013-09-05 Dmitry Antipov <dmantipov@yandex.ru> |
5380 | ||
5381 | * frame.c (check_minibuf_window): Update 'frame' with frame pointer. | |
5382 | * xterm.c (x_scroll_bar_handle_click) [!USE_TOOLKIT_SCROLL_BARS]: | |
5383 | Don't pass C integer to XINT (tiny fix for 2013-09-03 change). | |
5384 | ||
a7e43722 SM |
5385 | 2013-09-05 Stefan Monnier <monnier@iro.umontreal.ca> |
5386 | ||
5387 | * cmds.c (Fself_insert_command): Don't pass a non-integer to XINT. | |
5388 | ||
0c90b9ee PE |
5389 | 2013-09-04 Paul Eggert <eggert@cs.ucla.edu> |
5390 | ||
5391 | * alloc.c (make_event_array): First arg is now ptrdiff_t, not int. | |
5392 | This fixes a type error on hosts where ptrdiff_t is wider than int. | |
5393 | ||
d99760fa SM |
5394 | 2013-09-04 Stefan Monnier <monnier@iro.umontreal.ca> |
5395 | ||
6629638e SM |
5396 | * keyboard.c (read_key_sequence_vs): New function. |
5397 | (Fread_key_sequence_vector, Fread_key_sequence): Use it to factor out | |
5398 | common code. | |
5399 | ||
d99760fa SM |
5400 | * callint.c (Fcall_interactively): Always return a vector for 'K'. |
5401 | ||
224e313d PE |
5402 | 2013-09-04 Paul Eggert <eggert@cs.ucla.edu> |
5403 | ||
5404 | Makefile improvements. | |
5405 | * Makefile.in (config.status): Don't use double-colon rules, as | |
5406 | they are not portable according to POSIX. Fix shell typo with `; | |
5407 | I guess this rule has never been tested? | |
5408 | (VCSWITNESS): New macro, to override any environment var. | |
5409 | ||
6d6ed1af DA |
5410 | 2013-09-04 Dmitry Antipov <dmantipov@yandex.ru> |
5411 | ||
5412 | * xterm.h (struct x_display_info): Do not track X connection | |
5413 | fd separately because it is always available from Display. | |
5414 | * xterm.c (x_term_init, x_delete_terminal, x_delete_display): | |
5415 | Adjust users. | |
5416 | ||
bc923770 DA |
5417 | 2013-09-03 Dmitry Antipov <dmantipov@yandex.ru> |
5418 | ||
5419 | * buffer.c (drop_overlay): | |
5420 | * fileio.c (restore_point_unwind): Prefer unchain_marker to | |
5421 | Fset_marker (X, Qnil, ...) (which is the same but a bit slower). | |
5422 | ||
b1cf96de DA |
5423 | 2013-09-03 Dmitry Antipov <dmantipov@yandex.ru> |
5424 | ||
5425 | * buffer.c (Fmake_overlay, Fmove_overlay): | |
5426 | * intervals.c (set_point_from_marker): | |
5427 | * print.c (PRINTPREPARE): Prefer signal_error | |
5428 | to plain error and report unsuitable marker too. | |
5429 | ||
d1fc6c21 DA |
5430 | 2013-09-03 Dmitry Antipov <dmantipov@yandex.ru> |
5431 | ||
5432 | * xterm.h (struct scroll_bar): Prefer int to Lisp_Object | |
5433 | for 'dragging' member. | |
d1ae6a0b DA |
5434 | (struct x_output): Remove set-but-unused leftovers |
5435 | 'left_before_move' and 'top_before_move'. | |
d1fc6c21 DA |
5436 | * gtkutil.c (xg_set_toolkit_scroll_bar_thumb): |
5437 | * xterm.c (xt_action_hook, xm_scroll_callback, xg_scroll_callback) | |
5438 | (xg_end_scroll_callback, xaw_jump_callback, xaw_scroll_callback) | |
5439 | (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create) | |
5440 | (x_scroll_bar_set_handle, XTset_vertical_scroll_bar) | |
5441 | (x_scroll_bar_handle_click, x_scroll_bar_note_movement) | |
d1ae6a0b | 5442 | (x_scroll_bar_report_motion, x_set_offset): Related users changed. |
ec5e7504 | 5443 | * xfns.c, image.c (XLIB_ILLEGAL_ACCESS): No longer needed. |
d1fc6c21 | 5444 | |
0ce9f6de JD |
5445 | 2013-09-03 Jan Djärv <jan.h.d@swipnet.se> |
5446 | ||
5447 | * nsfont.m (INVALID_GLYPH): New define. | |
5448 | (nsfont_encode_char): Use INVALID_GLYPH. | |
5449 | (ns_uni_to_glyphs): Ditto, check for NSNullGlyph (Bug#15138). | |
5450 | ||
b594a96c DA |
5451 | 2013-09-02 Dmitry Antipov <dmantipov@yandex.ru> |
5452 | ||
5453 | * xterm.c (x_last_mouse_movement_time): Revert last change. | |
5454 | This code should use XDisplayMotionBufferSize to check display's | |
5455 | motion history first, and there are few other issues as well. | |
5456 | (x_scroll_bar_note_movement): Pass XMotionEvent rather than XEvent. | |
5457 | (handle_one_xevent): Adjust user. | |
5458 | ||
8b098236 MR |
5459 | 2013-09-02 Martin Rudalics <rudalics@gmx.at> |
5460 | ||
9718b207 MR |
5461 | * dispnew.c (Flast_nonminibuf_frame): Move from here ... |
5462 | * frame.c (Flast_nonminibuf_frame): ... to here. | |
5463 | (check_minibuf_window): Don't abort if no window was found | |
5464 | (Bug#15247). | |
8b098236 | 5465 | |
84e70bba DA |
5466 | 2013-09-02 Dmitry Antipov <dmantipov@yandex.ru> |
5467 | ||
5468 | Use XGetMotionEvents to ask the last mouse motion time from X server. | |
5469 | * xterm.c (X_MOTION_HISTORY): Default to 1. | |
5470 | (x_last_mouse_movement_time) [X_MOTION_HISTORY]: New function. | |
5471 | (x_last_mouse_movement_time) [!X_MOTION_HISTORY]: Legacy version. | |
5472 | (note_mouse_movement, x_scroll_bar_note_movement) [!X_MOTION_HISTORY]: | |
5473 | Ifdef away legacy code. | |
5474 | (XTmouse_position, x_scroll_bar_report_motion): | |
5475 | Use x_last_mouse_movement_time. | |
fc85e20b DA |
5476 | (handle_one_xevent): Use event.xunmap and not event.xmap when handling |
5477 | UnmapNotify event. | |
84e70bba | 5478 | |
1fccc530 DA |
5479 | 2013-09-02 Dmitry Antipov <dmantipov@yandex.ru> |
5480 | ||
5481 | * msdos.c (last_mouse_window): Move to... | |
5482 | (dos_rawgetc): ...this function and adjust comment. | |
5483 | * nsterm.m (last_window): Rename to last_mouse_window, move to... | |
5484 | (mouseMoved): ...this function and adjust comment. | |
5485 | * w32term.c (last_window): Likewise with... | |
5486 | (w32_read_socket): ...this function. | |
5487 | * xterm.c (last_window): Likewise with... | |
5488 | (handle_one_xevent): ...this function. | |
5489 | ||
0ab10992 DA |
5490 | 2013-09-02 Dmitry Antipov <dmantipov@yandex.ru> |
5491 | ||
b7da754d | 5492 | * window.h (Vmouse_window, Vmouse_event): Remove the leftovers. |
0ab10992 DA |
5493 | * xterm.c (toplevel): Drop obsolete comment and move compose_status... |
5494 | (handle_one_xevent): ...to here. | |
5495 | (STORE_KEYSYM_FOR_DEBUG): Move under ENABLE_CHECKING and make no-op | |
5496 | otherwise. | |
5497 | ||
0c7f856e DA |
5498 | 2013-09-02 Dmitry Antipov <dmantipov@yandex.ru> |
5499 | ||
5500 | * msdos.c (IT_set_terminal_window): Remove no-op. | |
5501 | (initialize_msdos_display): Adjust terminal setup. | |
5502 | * w32console.c (w32con_set_terminal_window): Remove no-op. | |
5503 | (initialize_w32_display): Adjust terminal setup. | |
5504 | * w32term.c (w32_set_terminal_window): Remove no-op. | |
5505 | (w32_create_terminal): Adjust terminal setup. | |
5506 | * xterm.c (XTset_terminal_window): Remove no-op. | |
5507 | (x_create_terminal): Adjust terminal setup. | |
5508 | ||
a892a94c DA |
5509 | 2013-09-01 Dmitry Antipov <dmantipov@yandex.ru> |
5510 | ||
5511 | * nsterm.m (ns_set_terminal_modes, ns_reset_terminal_modes): | |
5512 | Remove no-ops. | |
5513 | (ns_create_terminal): Adjust terminal setup. | |
5514 | * w32term.c (w32_set_terminal_modes, w32_reset_terminal_modes): | |
5515 | Remove no-ops. | |
5516 | (w32_create_terminal): Adjust terminal setup. | |
5517 | * xterm.c (XTset_terminal_modes, XTreset_terminal_modes): | |
5518 | Remove no-ops. | |
5519 | (x_create_terminal): Adjust terminal setup. | |
5520 | ||
cf91889a DA |
5521 | 2013-09-01 Dmitry Antipov <dmantipov@yandex.ru> |
5522 | ||
5523 | * dispextern.h (SET_TEXT_POS_FROM_MARKER): Indent. | |
5524 | (CLIP_TEXT_POS_FROM_MARKER): New macro. | |
5525 | * dispnew.c (buffer_posn_from_coords): | |
5526 | * window.c (Fwindow_end, displayed_window_lines): | |
5527 | * xdisp.c (redisplay_mode_lines): Use it. | |
5528 | ||
5b0891df JD |
5529 | 2013-09-01 Jan Djärv <jan.h.d@swipnet.se> |
5530 | ||
5531 | * fontset.c (face_for_char): Check char in the current face font first | |
5532 | if HAVE_NS (Bug#15138). | |
5533 | ||
0a357e98 MR |
5534 | 2013-08-31 Martin Rudalics <rudalics@gmx.at> |
5535 | ||
5536 | * window.c (temp_output_buffer_show): Make sure window returned | |
5537 | by display_buffer is live (Bug#15213). | |
5538 | ||
9d7693d7 DA |
5539 | 2013-08-30 Dmitry Antipov <dmantipov@yandex.ru> |
5540 | ||
5541 | Minor cleanup to avoid forward declarations. | |
5542 | * coding.h (struct ccl_spec): Remove forward declaration. | |
5543 | * composite.h (toplevel): Include font.h. | |
5544 | (struct composition_it, struct face, struct font_metrics): | |
5545 | Remove forward declaration. | |
5546 | * dispextern.h (struct image, struct atimer): Likewise. | |
5547 | * emacsgtkfixed.h (struct frame): Likewise. | |
5548 | * emacsgtkfixed.c (toplevel): Reorder headers and drop stdio.h. | |
5549 | * font.h (struct font_driver, struct font, struct glyph_string) | |
5550 | (struct face): Remove forward declaration. | |
5551 | * fontset.h (struct face, struct font): Likewise. | |
5552 | * frame.h (toplevel): Style cleanup. | |
5553 | (enum output_method): Move to... | |
5554 | * termhooks.h (enum output_method): ...here. | |
5555 | (struct glyph, struct frame, struct ns_display_info) | |
5556 | (struct x_display_info, struct w32_display_info): | |
5557 | Remove forward declaration. | |
5558 | * xterm.h (toplevel): Include termhooks.h. | |
5559 | (struct font, struct window, struct glyph_matrix, struct frame) | |
5560 | (struct input_event, struct face, struct image): Remove forward | |
5561 | declaration. | |
5562 | * gtkutil.h (struct _widget_value): Likewise. | |
5563 | * keyboard.h (toplevel): Include termhooks.h. | |
5564 | (struct input_event): Remove forward declaration. | |
5565 | ||
032f7451 DA |
5566 | 2013-08-29 Dmitry Antipov <dmantipov@yandex.ru> |
5567 | ||
5568 | * intervals.c (set_point_from_marker): New function. | |
5569 | * editfns.c (Fgoto_char): | |
5570 | * process.c (Finternal_default_process_filter): | |
5571 | * window.c (select_window_1): Use it. | |
5572 | * buffer.h (set_point_from_marker): Add prototype. | |
5573 | ||
3f940c5a EZ |
5574 | 2013-08-29 Eli Zaretskii <eliz@gnu.org> |
5575 | ||
5576 | * w32.c (term_winsock): Call release_listen_threads before calling | |
5577 | WSACleanup. | |
5578 | (_sys_wait_accept): Wait for accept event in a loop with a finite | |
5579 | timeout, instead of waiting indefinitely. Will hopefully avoid | |
5580 | hanging during exit because WSACleanup deadlocks waiting for the | |
5581 | event object to be released. (Bug#14333) | |
5582 | ||
5583 | * w32proc.c (release_listen_threads): New function, signals all | |
5584 | the reader threads that listen for connections to stop waiting. | |
5585 | ||
5586 | * w32.h (release_listen_threads): Add prototype. | |
5587 | ||
101ed2bb DA |
5588 | 2013-08-29 Dmitry Antipov <dmantipov@yandex.ru> |
5589 | ||
5590 | * alloc.c (Fmake_marker, build_marker): Zero need_adjustment | |
5591 | field of new marker (for sanity and safety). | |
20de2834 DA |
5592 | * lisp.h (XSETMARKER): Remove unused macro (it doesn't work |
5593 | anyway because XMISCTYPE is a function and can't be an lvalue). | |
101ed2bb | 5594 | |
1f5cf200 DA |
5595 | 2013-08-29 Dmitry Antipov <dmantipov@yandex.ru> |
5596 | ||
5597 | * xterm.c (x_clear_area): Lost 7th arg because it is always False. | |
35e951cd JB |
5598 | (x_after_update_window_line, x_scroll_bar_create) |
5599 | (x_scroll_bar_set_handle, XTset_vertical_scroll_bar) | |
1f5cf200 DA |
5600 | (handle_one_xevent, x_clear_frame_area): |
5601 | * gtkutil.c (xg_clear_under_internal_border, xg_update_scrollbar_pos): | |
5602 | * xfns.c (x_set_menu_bar_lines, x_set_tool_bar_lines): Adjust users. | |
5603 | * xterm.h (x_clear_area): Adjust prototype. | |
5604 | ||
d2b36813 DA |
5605 | 2013-08-29 Dmitry Antipov <dmantipov@yandex.ru> |
5606 | ||
5607 | Hook scanning and indentation functions to find_newline. This helps | |
5608 | to avoid duplicated code and renders more respect to newline cache. | |
5609 | * lisp.h (scan_newline): Prefer ptrdiff_t to EMACS_INT. | |
5610 | * cmds.c (Fforward_line): | |
5611 | * indent.c (scan_for_column, Fcurrent_indentation, indented_beyond_p): | |
5612 | Use find_newline and avoid unnecessary point movements. | |
5613 | * search.c (scan_newline): Implement on top of find_newline. | |
5614 | ||
3ec7babc SM |
5615 | 2013-08-28 Stefan Monnier <monnier@iro.umontreal.ca> |
5616 | ||
5617 | * eval.c (Ffuncall): Fix handling of ((lambda ..) ..) in lexically | |
5618 | scoped code (bug#11258). | |
5619 | ||
5ab473cd JD |
5620 | 2013-08-28 Davor Cubranic <cubranic@stat.ubc.ca> (tiny change) |
5621 | ||
5622 | * nsterm.m (last_window): New variable. | |
5623 | (EV_TRAILER2): New macro. | |
5624 | (EV_TRAILER): Call EV_TRAILER2. | |
e9dc713d | 5625 | (mouseMoved:): Add support for mouse-autoselect-window |
5ab473cd JD |
5626 | on nextstep (Bug#6888). |
5627 | ||
78779650 AS |
5628 | 2013-08-28 Andreas Schwab <schwab@suse.de> |
5629 | ||
5630 | * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE, CHAR_HEAD_P) | |
5631 | (SINGLE_BYTE_CHAR_P, SAME_CHARSET_P, MAKE_CHAR, BYTE8_TO_CHAR): | |
5632 | Remove unused macro definitions. | |
5633 | (CHARSET_RANGE_TABLE_BITS, EXTEND_RANGE_TABLE) | |
3ec7babc SM |
5634 | (SET_RANGE_TABLE_WORK_AREA_BIT, SET_RANGE_TABLE_WORK_AREA): |
5635 | Only define if emacs. | |
78779650 | 5636 | |
c3c4768d DA |
5637 | 2013-08-28 Dmitry Antipov <dmantipov@yandex.ru> |
5638 | ||
5639 | Prefer enum glyph_row_area to int where appropriate. | |
5640 | * dispextern.h (enum glyph_row_area): Add ANY_AREA member. | |
5641 | Fix comment. | |
5642 | (window_box, window_box_width, window_box_left, window_box_left_offset) | |
5643 | (window_box_right, window_box_right_offset): Adjust prototypes. | |
5644 | * xdisp.c (window_box, window_box_width, window_box_left) | |
5645 | (window_box_left_offset, window_box_right, window_box_right_offset): | |
5646 | Use enum glyph_row_area. Adjust users and tweak comment where needed. | |
5647 | (window_box_edges): Likewise. Lost 2nd arg since it is always ANY_AREA. | |
5648 | * nsterm.m (ns_clip_to_row): | |
5649 | * w32term.c (w32_clip_to_row): | |
5650 | * xterm.c (x_clip_to_row): Likewise. | |
5651 | ||
6bdcbfe1 DA |
5652 | 2013-08-28 Dmitry Antipov <dmantipov@yandex.ru> |
5653 | ||
5654 | * buffer.c (Foverlays_at, Foverlays_in, Fnext_overlay_change) | |
5655 | (Fprevious_overlay_change): Fast path for buffer with no overlays. | |
5656 | ||
50b13cde PE |
5657 | 2013-08-28 Paul Eggert <eggert@cs.ucla.edu> |
5658 | ||
5659 | * Makefile.in (SHELL): Now @SHELL@, not /bin/sh, | |
5660 | for portability to hosts where /bin/sh has problems. | |
5661 | ||
f60e429a DA |
5662 | 2013-08-28 Dmitry Antipov <dmantipov@yandex.ru> |
5663 | ||
5664 | Redesign redisplay interface to drop global output_cursor. | |
5665 | * dispextern.h (struct redisplay_interface): Remove cursor_to member. | |
5666 | (toplevel): Remove declaration of output_cursor. | |
5667 | (set_output_cursor, x_cursor_to): Remove prototype. | |
5668 | * window.h (struct window): New member output_cursor. | |
5669 | (output_cursor_to): New function to replace RIF member. | |
5670 | * dispnew.c (redraw_overlapped_rows, update_marginal_area) | |
5671 | (update_text_area, set_window_cursor_after_update): Use it. | |
5672 | * xdisp.c (output_cursor, set_output_cursor, x_cursor_to): Remove. | |
5673 | (x_write_glyphs, x_insert_glyphs, x_clear_end_of_line): | |
5674 | * nsterm.m (ns_update_window_begin, ns_update_window_end): | |
5675 | * w32term.c (x_update_window_begin, x_update_window_end): | |
5676 | * xterm.c (x_update_window_begin, x_update_window_end): | |
5677 | Adjust to use per-window output cursor. | |
5678 | ||
43aac990 PE |
5679 | 2013-08-27 Paul Eggert <eggert@cs.ucla.edu> |
5680 | ||
d486344e PE |
5681 | Simplify SELECT_TYPE-related code. |
5682 | Like EMACS_TIME, this portability layer is no longer needed, since | |
5683 | Emacs has been using fd_set as a portability layer for some time. | |
5684 | * sysselect.h (FD_SETSIZE): Rename from MAXDESC. All uses changed. | |
5685 | (SELECT_TYPE): Remove. All uses changed to fd_set. | |
5686 | (fd_set) [!FD_SET]: New typedef. | |
5687 | ||
43aac990 PE |
5688 | Simplify EMACS_TIME-related code. |
5689 | This portability layer is no longer needed, since Emacs has been | |
5690 | using struct timespec as a portability layer for some time. | |
5691 | * atimer.h, buffer.h, dispextern.h, xgselect.h: | |
5692 | Include <time.h> rather than "systime.h"; that's all that's needed now. | |
5693 | * dispnew.c: Include <timespec.h> rather than "systime.h"; | |
5694 | that's all that's needed now. | |
5695 | * systime.h (EMACS_TIME): Remove. All uses changed to struct timespec. | |
5696 | (EMACS_TIME_RESOLUTION): Remove. All uses changed to | |
5697 | TIMESPEC_RESOLUTION. | |
5698 | (LOG10_EMACS_TIME_RESOLUTION): Remove. All uses changed to | |
5699 | LOG10_TIMESPEC_RESOLUTION. | |
5700 | (EMACS_SECS, emacs_secs_addr): Remove. All uses changed to tv_sec. | |
5701 | (EMACS_NSECS): Remove. All uses changed to tv_nsec. | |
5702 | (make_emacs_time): Remove. All used changed to make_timespec. | |
5703 | (invalid_timespec): Rename from invalid_emacs_time. All uses changed. | |
5704 | (current_timespec): Rename from current_emacs_time. All uses changed. | |
5705 | (add_emacs_time): Remove. All uses changed to timespec_add. | |
5706 | (sub_emacs_time): Remove. All uses change dot timespec_sub. | |
5707 | (EMACS_TIME_SIGN): Remove. All uses changed to timespec_sign. | |
5708 | (timespec_valid_p): Rename from EMACS_TIME_VALID_P. All uses changed. | |
5709 | (EMACS_TIME_FROM_DOUBLE): Remove. All uses changed to dtotimespec. | |
5710 | (EMACS_TIME_TO_DOUBLE): Remove. All uses changed to timespectod. | |
5711 | (current_timespec): Rename from current_emacs_time. All uses changed. | |
5712 | (EMACS_TIME_EQ, EMACS_TIME_LT, EMACS_TIME_LE): Remove. All uses | |
5713 | changed to timespec_cmp. | |
5714 | * xgselect.c: Include <timespec.h>, since our .h files don't. | |
5715 | ||
d350e350 DA |
5716 | 2013-08-27 Dmitry Antipov <dmantipov@yandex.ru> |
5717 | ||
5718 | * xterm.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE:) | |
5719 | * nsterm.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): | |
5720 | Remove the leftovers. | |
5721 | * gtkutil.c (toplevel): Do not declare Qxft but include | |
5722 | font.h to do so. | |
5723 | * image.c (toplevel): Do not declare Vlibrary_cache because | |
5724 | it's already done in lisp.h. | |
5725 | ||
9fed9729 DA |
5726 | 2013-08-27 Dmitry Antipov <dmantipov@yandex.ru> |
5727 | ||
5728 | * lisp.h (Mouse_HLInfo): Move from here... | |
5729 | * dispextern.h (Mouse_HLInfo): ...to here and offload lisp.h. | |
5730 | (reset_mouse_highlight): New function. | |
5731 | * msdos.c (dos_set_window_size, IT_update_begin) | |
5732 | (internal_terminal_init): | |
5733 | * nsterm.m (ns_update_window_end, x_free_frame_resources) | |
5734 | (ns_initialize_display_info): | |
5735 | * w32console.c (initialize_w32_display): | |
5736 | * w32term.c (x_update_window_end, x_free_frame_resources) | |
5737 | (w32_initialize_display_info): | |
5738 | * xterm.c (x_update_window_end, x_free_frame_resources, x_term_init): | |
5739 | * window.c (Fdelete_other_windows_internal): | |
5740 | * xdisp.c (clear_mouse_face, cancel_mouse_face): Use it. | |
5741 | * termchar.h (toplevel): | |
5742 | * xterm.h (toplevel): Include dispextern.h. | |
5743 | ||
f462f075 PE |
5744 | 2013-08-26 Paul Eggert <eggert@cs.ucla.edu> |
5745 | ||
5746 | Fix minor problems found by static checking. | |
5747 | * image.c (XGetPixel, XPutPixel) [HAVE_NS]: Now static. | |
5748 | (expect): Avoid nested-if warning. | |
5749 | (x_build_heuristic_mask) [HAVE_NS]: Avoid unused-var warning. | |
5750 | * nsmenu.m (fillWithWidgetValue:): Avoid type warning. | |
5751 | * nsterm.h, nsterm.m (ns_select): | |
5752 | * xgselect.c, xgselect.h (xg_select): | |
5753 | Adjust signature to better match pselect's. | |
5754 | * nsterm.m (ns_select): | |
5755 | Don't set *TIMEOUT, since pselect doesn't. | |
5756 | * regex.c (whitespace_regexp): Now const_re_char *, to avoid | |
5757 | diagnostic about assigning const char * to it. | |
5758 | * xfaces.c (x_display_info) [HAVE_NS]: Remove; unused. | |
5759 | ||
068f9124 SM |
5760 | 2013-08-26 Stefan Monnier <monnier@iro.umontreal.ca> |
5761 | ||
5762 | * lread.c (substitute_object_recurse): Handle hash-tables as well | |
5763 | (bug#15190). | |
5764 | ||
f5adc984 PE |
5765 | 2013-08-26 Paul Eggert <eggert@cs.ucla.edu> |
5766 | ||
1fc8eb33 PE |
5767 | Fix unlikely core dump in init_tty, and simplify terminfo case. |
5768 | * term.c (init_tty) [TERMINFO]: Fix check for buffer overrun. | |
5769 | The old version incorrectly dumped core if malloc returned a | |
5770 | buffer containing only non-NUL bytes. | |
5771 | (init_tty): Do not allocate or free termcap buffers; the | |
5772 | struct does that for us now. | |
5773 | * termchar.h (TERMCAP_BUFFER_SIZE) [!TERMINFO]: New constant. | |
5774 | (struct tty_display_info): Define members termcap_term_buffer and | |
5775 | termcap_strings_buffer only if !TERMINFO, since terminfo doesn't | |
5776 | use them. Allocate them directly in struct rather than indirectly | |
5777 | via a pointer, to simplify init_tty. | |
5778 | ||
f5adc984 PE |
5779 | * frame.c (check_minibuf_window): Initialize 'window' properly, |
5780 | so that Emacs reliably aborts later if 'window' is not initialized. | |
5781 | ||
efec3894 JD |
5782 | 2013-08-26 Jan Djärv <jan.h.d@swipnet.se> |
5783 | ||
5784 | * gtkutil.c (xg_initialize): Set gtk-menu-bar-accel to "" instead | |
5785 | of VoidSymbol (Bug#15154). | |
5786 | ||
e1d0341e DA |
5787 | 2013-08-26 Dmitry Antipov <dmantipov@yandex.ru> |
5788 | ||
5789 | * lisp.h (Mouse_HLInfo): Drop set-but-unused members | |
5790 | mouse_face_beg_y and mouse_face_end_y. | |
5791 | * xdisp.c (note_tool_bar_highlight, mouse_face_from_buffer_pos) | |
5792 | (mouse_face_from_string_pos, note_mode_line_or_margin_highlight): | |
5793 | Adjust users and update comment where appropriate. | |
5794 | ||
bfff6445 MR |
5795 | 2013-08-26 Martin Rudalics <rudalics@gmx.at> |
5796 | ||
5797 | * frame.c (check_minibuf_window): New function. | |
068f9124 SM |
5798 | (delete_frame, Fmake_frame_invisible, Ficonify_frame): |
5799 | Call check_minibuf_window (Bug#15183). | |
bfff6445 | 5800 | |
c80016b3 DA |
5801 | 2013-08-26 Dmitry Antipov <dmantipov@yandex.ru> |
5802 | ||
5803 | * window.h (struct window): Replace last_cursor with last_cursor_vpos | |
5804 | because this is the only last cursor data we need to keep and consult. | |
5805 | * window.c (replace_window, set_window_buffer, Fsplit_window_internal): | |
5806 | * xdisp.c (mark_window_display_accurate_1, try_cursor_movement): | |
5807 | Adjust users. | |
5808 | ||
de396731 DA |
5809 | 2013-08-26 Dmitry Antipov <dmantipov@yandex.ru> |
5810 | ||
068f9124 SM |
5811 | Fix recovering from possible decompression error. |
5812 | Since insert_from_gap doesn't always move point, we can't use PT as | |
de396731 | 5813 | the position where the partially decompressed data ends, and |
447218dd | 5814 | should count how many bytes was produced so far. |
de396731 DA |
5815 | * decompress.c (struct decompress_unwind_data): Add nbytes member. |
5816 | (unwind_decompress): Really delete partially uncompressed data. | |
5817 | (Fzlib_decompress_region): Take decompressed data size into account. | |
5818 | ||
c76826d9 DA |
5819 | 2013-08-26 Dmitry Antipov <dmantipov@yandex.ru> |
5820 | ||
5821 | * syntax.c (init_syntax_once): Adjust comment and do an early | |
5822 | initialization of Qchar_table_extra_slots just once... | |
5823 | * casetab.c (init_casetab_once): | |
5824 | * category.c (init_category_once): | |
5825 | * character.c (syms_of_character): | |
5826 | * coding.c (syms_of_coding): | |
5827 | * xdisp.c (syms_of_xdisp): ...and omit it here. | |
5828 | ||
b34454d0 EZ |
5829 | 2013-08-24 Eli Zaretskii <eliz@gnu.org> |
5830 | ||
11f20add EZ |
5831 | * xdisp.c (get_next_display_element): Don't apply to characters |
5832 | from a display vector the logic of setting it->end_of_box_run_p | |
5833 | suitable for characters from a buffer. (Bug#15175) | |
5834 | ||
b34454d0 EZ |
5835 | * w32.c (fdutimens): Call 'utime', which is implemented on w32.c |
5836 | to handle directories, rather than '_utime' which doesn't. | |
5837 | (Bug#15176) | |
5838 | ||
6e1b469e JD |
5839 | 2013-08-24 Jan Djärv <jan.h.d@swipnet.se> |
5840 | ||
5841 | * gtkutil.c (x_wm_set_size_hint): Don't set hints when maximized | |
5842 | or fullscreen (Bug#14627). | |
5843 | ||
9c05bccf PE |
5844 | 2013-08-24 Paul Eggert <eggert@cs.ucla.edu> |
5845 | ||
5846 | System-dependent integer overflow fixes. | |
5847 | * process.c (Fset_process_window_size): Signal an error if | |
5848 | the window size is outside the range supported by the lower level. | |
5849 | * sysdep.c (set_window_size): Return negative on error, | |
5850 | nonnegative on success, rather than -1, 0, 1 on not in system, | |
5851 | failure, success. This is simpler. Caller changed. | |
5852 | (serial_configure): Remove unnecessary initialization of local. | |
5853 | (procfs_get_total_memory) [GNU_LINUX]: Don't assume system memory | |
5854 | size fits in unsigned long; this isn't true on some 32-bit hosts. | |
5855 | Avoid buffer overrun if some future version of /proc/meminfo has a | |
5856 | variable name longer than 20 bytes. | |
5857 | (system_process_attributes) [__FreeBSD__]: | |
5858 | Don't assume hw.availpages fits in 'int'. | |
5859 | ||
c365c355 PE |
5860 | 2013-08-23 Paul Eggert <eggert@cs.ucla.edu> |
5861 | ||
5862 | Don't let very long directory names overrun the stack. | |
5863 | Fix some related minor problems involving "//", vfork. | |
5864 | * callproc.c (encode_current_directory): New function. | |
5865 | (call_process): Don't append "/"; not needed. | |
5866 | * fileio.c (file_name_as_directory_slop): New constant. | |
5867 | (file_name_as_directory): Allow SRC to be longer than SRCLEN; | |
5868 | this can save the caller having to alloca. | |
5869 | (Ffile_name_as_directory, Fdirectory_file_name, Fexpand_file_name): | |
5870 | Use SAFE_ALLOCA, not alloca. | |
5871 | (directory_file_name, Fexpand_file_name): Leave leading "//" | |
5872 | alone, since it can be special even on POSIX platforms. | |
5873 | * callproc.c (call_process): | |
5874 | * process.c (Fformat_network_address): | |
5875 | * sysdep.c (sys_subshell): | |
5876 | Use encode_current_directory rather than rolling our own. | |
5877 | (create_process): No need to encode directory; caller does that now. | |
5878 | * process.h (encode_current_directory): New decl. | |
5879 | * sysdep.c (sys_subshell): Work even if vfork trashes saved_handlers. | |
5880 | Rework to avoid 'goto xyzzy;'. | |
5881 | ||
6c6014d4 EZ |
5882 | 2013-08-23 Eli Zaretskii <eliz@gnu.org> |
5883 | ||
5884 | * xdisp.c (handle_face_prop): If the default face was remapped use | |
5885 | the remapped face for strings from prefix properties. (Bug#15155) | |
5886 | ||
9997ec56 DA |
5887 | 2013-08-23 Dmitry Antipov <dmantipov@yandex.ru> |
5888 | ||
5889 | Minor cleanup for redisplay interface and few related functions. | |
5890 | * frame.h (enum text_cursor_kinds): Move from here... | |
5891 | * dispextern.h (enum text_cursor_kinds): ...to here. | |
5892 | (toplevel): Drop unnecessary declarations. | |
5893 | (struct redisplay_interface): Use bool and enum text_cursor_kinds | |
5894 | in update_window_end_hook and draw_window_cursor functions. | |
5895 | (display_and_set_cursor, x_update_cursor): Adjust prototypes. | |
5896 | * nsterm.m (ns_update_window_end, ns_draw_window_cursor): | |
ffb3f67a | 5897 | * w32term.c (x_update_window_end, w32_draw_window_cursor): |
9997ec56 DA |
5898 | * xterm.c (x_update_window_end, x_draw_window_cursor): |
5899 | * xdisp.c (display_and_set_cursor, update_window_cursor) | |
5900 | (update_cursor_in_window_tree, x_update_cursor): Use bool and | |
5901 | enum text_cursor_kinds where appropriate. | |
5902 | ||
7f780da6 DA |
5903 | 2013-08-23 Dmitry Antipov <dmantipov@yandex.ru> |
5904 | ||
5905 | Redesign redisplay interface to drop updated_row and updated_area. | |
5906 | * dispextern.h (updated_row, updated_area): Remove declaration. | |
5907 | (struct redisplay_interface): Pass glyph row and row area parameters | |
5908 | to write_glyphs, insert_glyphs and clear_end_of_line functions. | |
5909 | (x_write_glyphs, x_insert_glyphs, x_clear_end_of_line): | |
5910 | Adjust prototypes. | |
5911 | * dispnew.c (updated_row, updated_area): Remove. | |
5912 | (redraw_overlapped_rows, update_window_line): Adjust user. | |
5913 | (update_marginal_area, update_text_area): Likewise. Pass updated row | |
5914 | as a parameter. Prefer enum glyph_row_area to int where appropriate. | |
5915 | * xdisp.c (x_write_glyphs, x_insert_glyphs, x_clear_end_of_line): | |
5916 | Adjust users. | |
5917 | ||
26495794 PE |
5918 | 2013-08-22 Paul Eggert <eggert@cs.ucla.edu> |
5919 | ||
5920 | * process.c (flush_pending_output): Remove stub. | |
5921 | All uses removed. | |
5922 | ||
4a88129a PE |
5923 | 2013-08-21 Paul Eggert <eggert@cs.ucla.edu> |
5924 | ||
5925 | * callproc.c: Fix race that killed background processes (Bug#15144). | |
5926 | (call_process): New arg TEMPFILE_INDEX. Callers changed. | |
5927 | Record deleted process-id in critical section, not afterwards. | |
5928 | Don't mistakenly kill process created by a call-process invocation | |
5929 | that discards output and does not wait. | |
5930 | ||
0c5307b0 DA |
5931 | 2013-08-21 Dmitry Antipov <dmantipov@yandex.ru> |
5932 | ||
5933 | Fix compilation with GC_MARK_STACK == GC_USE_GCPROS_AS_BEFORE | |
5934 | and GC_MARK_STACK == GC_USE_GCPROS_CHECK_ZOMBIES. | |
5935 | * alloc.c (toplevel): Remove unnecessary nested #if...#endif. | |
5936 | (mark_maybe_object) [!GC_MARK_STACK]: Define to emacs_abort | |
5937 | to shut up compiler in mark_object. | |
5938 | (dump_zombies): Convert to global and add EXTERNALLY_VISIBLE. | |
5939 | ||
0d7c1e66 PE |
5940 | 2013-08-21 Paul Eggert <eggert@cs.ucla.edu> |
5941 | ||
5942 | * process.c (allocate_pty) [PTY_OPEN]: Set fd's FD_CLOEXEC flag. | |
5943 | We can't portably rely on PTY_OPEN doing that, even if | |
5944 | it calls posix_openpt with O_CLOEXEC. | |
5945 | ||
3f246b65 KH |
5946 | 2013-08-20 Kenichi Handa <handa@gnu.org> |
5947 | ||
5948 | * character.c (string_char): Improve commentary. | |
5949 | ||
8c2f38aa PE |
5950 | 2013-08-20 Paul Eggert <eggert@cs.ucla.edu> |
5951 | ||
5952 | * image.c (SIGNATURE_DIGESTSIZE): Remove. | |
5953 | (struct animation_cache): Make signature a flexible array member. | |
5954 | All uses changed. This is a tad slower but may insulate us better | |
5955 | from future changes to ImageMagick. | |
5956 | ||
bb566cea PE |
5957 | 2013-08-19 Paul Eggert <eggert@cs.ucla.edu> |
5958 | ||
5959 | * image.c: Shrink memory needed for animation cache. | |
5960 | (SIGNATURE_DIGESTSIZE): New constant. | |
5961 | (struct animation_cache): Make 'signature' a fixed size array of bytes. | |
5962 | (imagemagick_create_cache): Copy the signature. This saves | |
5963 | several KB of memory that ImageMagick wastes per signature. | |
5964 | Don't bother updating the update_time, as the caller does that now. | |
5965 | (imagemagick_prune_animation_cache): Don't destroy the signature, as | |
5966 | it's a fixed size struct member now. | |
5967 | (imagemagick_get_animation_cache): Always destroy the signature, | |
5968 | as it's now imagemagick_create_cache's responsibility to copy it. | |
5969 | Avoid duplicate calls to strcmp and to imagemagick_create_cache, | |
5970 | and use memcmp rather than strcmp. | |
5971 | eassert that ImageMagick returns a signature of the specified length. | |
5972 | ||
6da26928 LMI |
5973 | 2013-08-19 Lars Magne Ingebrigtsen <larsi@gnus.org> |
5974 | ||
5975 | * image.c (imagemagick_get_animation_cache): Don't segfault on | |
5976 | each invocation. | |
453f4022 LMI |
5977 | (imagemagick_get_animation_cache): Revert to previous definition |
5978 | so that it actually works. But keep the memory leak fix. | |
5979 | (imagemagick_get_animation_cache): Fix memory leak. | |
6da26928 | 5980 | |
22490125 PE |
5981 | 2013-08-19 Paul Eggert <eggert@cs.ucla.edu> |
5982 | ||
d0139df5 PE |
5983 | * image.c: Fix animation cache signature memory leak. |
5984 | Fix some other minor performance problems while we're at it. | |
5985 | (imagemagick_create_cache): Clear just the members that | |
5986 | need clearing. Don't set update_time, as caller does that now. | |
5987 | (imagemagick_prune_animation_cache, imagemagick_get_animation_cache): | |
5988 | Simplify by using pointer-to-pointer instead of a prev pointer. | |
5989 | (imagemagick_prune_animation_cache): Use make_emacs_time rather | |
5990 | than EMACS_TIME_FROM_DOUBLE, and DestroyString rather than free. | |
5991 | (imagemagick_get_animation_cache): Don't xstrdup the image signature; | |
5992 | it's already a copy. Free the signature probe unless it's cached. | |
5993 | ||
22490125 PE |
5994 | * process.c (handle_child_signal): Fix crash; deleted pid (Bug#15106). |
5995 | This was introduced by my 2013-08-12 fix for Bug#15035. | |
5996 | ||
deb31e75 DA |
5997 | 2013-08-19 Dmitry Antipov <dmantipov@yandex.ru> |
5998 | ||
5999 | * image.c (imagemagick_create_cache, imagemagick_get_animation_cache) | |
6000 | (imagemagick_prune_animation_cache): Now static. | |
6001 | ||
319a4d03 LMI |
6002 | 2013-08-18 Lars Magne Ingebrigtsen <larsi@gnus.org> |
6003 | ||
6004 | * image.c (imagemagick_get_animation_cache): Don't segfault when | |
6005 | pruning all entries. | |
6006 | ||
f747d82e KB |
6007 | 2013-08-18 Ken Brown <kbrown@cornell.edu> |
6008 | ||
6009 | * sheap.c (STATIC_HEAP_SIZE): Adjust to current needs; use bigger | |
6010 | static heap if ENABLE_CHECKING is defined. | |
6011 | (max_bss_sbrk_ptr): New variable. | |
6012 | (bss_sbrk): Use it. | |
6013 | (report_sheap_usage): Report maximum static heap usage instead of | |
6014 | ending static heap usage. | |
6015 | ||
d2c28fab EZ |
6016 | 2013-08-17 Eli Zaretskii <eliz@gnu.org> |
6017 | ||
6018 | * decompress.c (Fzlib_available_p) [WINDOWSNT]: Update the value | |
6019 | of zlib_initialized according to the results of calling | |
6020 | init_zlib_functions. | |
6021 | ||
274ff63f LMI |
6022 | 2013-08-16 Lars Magne Ingebrigtsen <larsi@gnus.org> |
6023 | ||
6024 | * image.c: Implement an ImageMagick per-image cache. | |
8a6f875f | 6025 | (imagemagick_get_animation_cache): Fix a double-free error. |
49ceb676 LMI |
6026 | (imagemagick_load_image): Remove the ping_wand code, which only |
6027 | apparently saved time on invalid animated images, and slowed down | |
6028 | everything else. Optimise for the common case. | |
274ff63f | 6029 | |
2bede2ed XF |
6030 | 2013-08-16 Xue Fuqiao <xfq.free@gmail.com> |
6031 | ||
70ff8240 XF |
6032 | * buffer.c (syms_of_buffer) <buffer-undo-list>: Doc fix. |
6033 | ||
de179a3e XF |
6034 | * editfns.c (insert_before_markers): Mention overlay in the doc string. |
6035 | ||
2bede2ed XF |
6036 | * marker.c (set_marker): Remove documentation of undefined behavior. |
6037 | ||
703dbeba LMI |
6038 | 2013-08-15 Lars Magne Ingebrigtsen <larsi@gnus.org> |
6039 | ||
6040 | * image.c (imagemagick_compute_animated_image): Animate correctly | |
6041 | when sub-images are smaller than the main image. | |
1d18b1e6 LMI |
6042 | (imagemagick_compute_animated_image): Setting the iterator row to |
6043 | zero is apparently not allowed. | |
79670014 LMI |
6044 | (imagemagick_compute_animated_image): Allow images that say they |
6045 | have sub-images that are bigger than the main image, but just crop | |
6046 | them. | |
703dbeba | 6047 | |
63216c5e JD |
6048 | 2013-08-15 Jan Djärv <jan.h.d@swipnet.se> |
6049 | ||
6050 | * nsmenu.m (menuWillOpen:): Fix preprocessor test (Bug#15001). | |
6051 | ||
a5b5f73f LMI |
6052 | 2013-08-15 Lars Magne Ingebrigtsen <larsi@gnus.org> |
6053 | ||
6054 | * image.c (imagemagick_compute_animated_image): Respect the GIF | |
6055 | disposal methods. | |
6056 | ||
0fe73012 KB |
6057 | 2013-08-15 Ken Brown <kbrown@cornell.edu> |
6058 | ||
6059 | * emacs.c (main): Update comment about G_SLICE_ALWAYS_MALLOC. | |
6060 | * gmalloc.c (memalign) [CYGWIN]: Revert last change; it's not | |
6061 | needed. | |
6062 | ||
691a357f PE |
6063 | 2013-08-15 Paul Eggert <eggert@cs.ucla.edu> |
6064 | ||
6065 | Fix minor problems found by static checking. | |
6066 | * frame.c (delete_frame): | |
6067 | * xdisp.c (next_element_from_display_vector): | |
6068 | Avoid uninitialized local. | |
6069 | * image.c (imagemagick_compute_animated_image): Port to C89. | |
6070 | Prefer usual GNU indentation style for loops. | |
6071 | Be more careful about bizarrely large sizes, by using ptrdiff_t | |
6072 | instead of int. | |
6073 | ||
42fe2e88 DA |
6074 | 2013-08-15 Dmitry Antipov <dmantipov@yandex.ru> |
6075 | ||
6076 | Fix infinite frame selection loop (Bug#15025). | |
6077 | * frame.c (delete_frame): Prefer fast ad-hoc loop to next_frame. | |
6078 | ||
d39a3da6 EZ |
6079 | 2013-08-15 Eli Zaretskii <eliz@gnu.org> |
6080 | ||
068f9124 SM |
6081 | * xdisp.c (compute_window_start_on_continuation_line): |
6082 | When WORD_WRAP is in effect, use move_it_to instead of move_it_by_lines | |
d39a3da6 EZ |
6083 | to make sure we end up setting the window start at the leftmost |
6084 | visible character of the display line. This avoids funky | |
6085 | horizontal shifting because the window start is not kept on the | |
6086 | same position. (Bug#15090) | |
05426239 EZ |
6087 | (next_element_from_display_vector): Support 'box' face attribute |
6088 | in the face definitions of a display vector. (Bug#15099) | |
d39a3da6 | 6089 | |
6e856b69 LMI |
6090 | 2013-08-15 Lars Magne Ingebrigtsen <larsi@gnus.org> |
6091 | ||
6092 | * image.c (imagemagick_compute_animated_image): Implement animated | |
6093 | images (bug#14700). | |
995be755 LMI |
6094 | (imagemagick_compute_animated_image): Fix some compilation |
6095 | warnings. Implement a very simple cache to make the animation | |
6096 | usable at all, but it should be replaced with a per-image cache. | |
6e856b69 | 6097 | |
d5a1acfa DA |
6098 | 2013-08-15 Dmitry Antipov <dmantipov@yandex.ru> |
6099 | ||
6100 | * lisp.h (FOR_EACH_ALIST_VALUE): New macro | |
6101 | to do `for' loops over alist values. | |
6102 | * buffer.h (FOR_EACH_BUFFER): | |
6103 | * process.c (FOR_EACH_PROCESS): Use it. | |
6104 | (handle_child_signal, status_notify, Fget_buffer_process) | |
6105 | (kill_buffer_processes): Use FOR_EACH_PROCESS. | |
6106 | ||
9c253307 DA |
6107 | 2013-08-15 Dmitry Antipov <dmantipov@yandex.ru> |
6108 | ||
6109 | * term.c (get_named_tty, create_tty_output, tty_free_frame_resources) | |
6110 | (tty_free_frame_resources, delete_tty): Prefer eassert to emacs_abort. | |
6111 | * image.c (make_image_cache): For struct image_cache, prefer xmalloc | |
6112 | to xzalloc and so avoid redundant call to memset. | |
6113 | * xterm.c (x_term_init): Avoid unnecessary initializations of dpyinfo | |
6114 | members because it is allocated with xzalloc and so already zeroed. | |
6115 | ||
05e64f9f KB |
6116 | 2013-08-14 Ken Brown <kbrown@cornell.edu> |
6117 | ||
6118 | * gmalloc.c (memalign) [CYGWIN]: Rename to emacs_memalign | |
6119 | (Bug#15094). | |
6120 | ||
5b71542d DA |
6121 | 2013-08-14 Dmitry Antipov <dmantipov@yandex.ru> |
6122 | ||
6123 | Utility function and macro to copy Lisp string to C string. | |
6124 | * lisp.h (xlispstrdupa): New macro. | |
6125 | (xlispstrdup): New prototype. | |
6126 | * alloc.c (xlispstrdup): New function. | |
6127 | * callint.c (Fcall_interactively): | |
6128 | * fileio.c (Ffile_name_directory, Fexpand_file_name) | |
6129 | (Fsubstitute_in_file_name): | |
6130 | * frame.c (Fmake_terminal_frame): Use xlispstrdupa. | |
6131 | * image.c (x_create_bitmap_from_file): | |
6132 | * w32term.c (w32_term_init): | |
6133 | * xterm.c (x_term_init): Use xlispstrdup. | |
6134 | ||
71530c97 LMI |
6135 | 2013-08-14 Lars Magne Ingebrigtsen <larsi@gnus.org> |
6136 | ||
4ce82fb8 LMI |
6137 | * image.c (imagemagick_load_image): Make animated pictures work. |
6138 | There's still some problems with background color settings, though | |
6139 | (bug#14700). | |
6140 | ||
71530c97 LMI |
6141 | * decompress.c (unwind_decompress): Always restore point. |
6142 | ||
7510a061 XF |
6143 | 2013-08-14 Xue Fuqiao <xfq.free@gmail.com> |
6144 | ||
6145 | * marker.c (set_marker): Reformat documentation. | |
6146 | ||
01c3051f PE |
6147 | 2013-08-14 Paul Eggert <eggert@cs.ucla.edu> |
6148 | ||
aab1fcdf PE |
6149 | * xdisp.c (cursor_type_changed): Now static. |
6150 | ||
01c3051f PE |
6151 | * image.c (imagemagick_filename_hint): New arg HINT_BUFFER. |
6152 | Use changed. This avoids the need to call xmalloc and for the | |
6153 | caller to call xfree, and avoids memory leaks in some situations. | |
6154 | ||
2084152a DA |
6155 | 2013-08-14 Dmitry Antipov <dmantipov@yandex.ru> |
6156 | ||
6157 | * xdisp.c (adjust_window_ends): Move duplicated code to new function. | |
6158 | (try_window, try_window_reusing_current_matrix, try_window_id): Use it. | |
94a4e898 DA |
6159 | (redisplay_window): If window_end_valid is cleared due to non-zero |
6160 | windows_or_buffers_changed, clear current_matrix_up_to_date_p and | |
6161 | so do not call to try_cursor_movement for that window. | |
2084152a | 6162 | |
02455cb6 DA |
6163 | 2013-08-14 Dmitry Antipov <dmantipov@yandex.ru> |
6164 | ||
6165 | * window.h (struct window): Convert window_end_pos and | |
6166 | window_end_vpos from Lisp_Object to ptrdiff_t and int, respectively. | |
6167 | (wset_window_end_pos, wset_window_end_vpos): Remove. | |
6168 | * dispnew.c (adjust_glyph_matrix): | |
6169 | * window.c (Fwindow_end, replace_window, set_window_buffer) | |
6170 | (make_window): | |
6171 | * xdisp.c (check_window_end, move_it_to, redisplay_internal) | |
6172 | (set_vertical_scroll_bar, redisplay_window, try_window) | |
6173 | (try_window_reusing_current_matrix, find_first_unchanged_at_end_row) | |
6174 | (try_window_id, decode_mode_spec, mouse_face_from_buffer_pos) | |
6175 | (note_mouse_highlight): Adjust users. | |
6176 | (try_cursor_movement): Likewise. Convert old precondition to eassert. | |
6177 | Add comment. | |
6178 | ||
da5707e8 DA |
6179 | 2013-08-14 Dmitry Antipov <dmantipov@yandex.ru> |
6180 | ||
6181 | Fix --enable-gcc-warnings errors introduced in 2013-08-13 commit. | |
6182 | * image.c (imagemagick_filename_hint): Use `const char *' and | |
6183 | prefer SSDATA to SDATA to avoid warnings. | |
6184 | ||
25554267 DA |
6185 | 2013-08-14 Dmitry Antipov <dmantipov@yandex.ru> |
6186 | ||
6187 | Cleanup window fringes, margins and scroll bars adjustments. | |
6188 | * window.c (set_window_fringes, set_window_margins) | |
6189 | (set_window_scroll_bars, apply_window_adjustment): New functions. | |
6190 | (set_window_buffer, Fset_window_margins, Fset_window_fringes) | |
6191 | (Fset_window_scroll_bars): Use them. | |
6192 | ||
38a2c910 DA |
6193 | 2013-08-14 Dmitry Antipov <dmantipov@yandex.ru> |
6194 | ||
6195 | * window.h (struct window): Convert scroll_bar_width | |
6196 | from Lisp_Object to integer. Adjust comment. | |
6197 | (WINDOW_CONFIG_SCROLL_BAR_WIDTH, WINDOW_CONFIG_SCROLL_BAR_COLS): | |
6198 | Adjust users. | |
6199 | * window.c (wset_scroll_bar_width): Remove. | |
6200 | (make_window): Initialize scroll_bar_width. | |
6201 | (Fsplit_window_internal): Use direct assignment. | |
6202 | (Fset_window_configuration, save_window_save): | |
6203 | Convert Lisp_Object to integer and back where appropriate. | |
6204 | (Fset_window_scroll_bars): Adjust user. Return t if any scroll | |
6205 | bar was actually changed, and mention this in docstring. | |
6206 | ||
2d065031 PE |
6207 | 2013-08-13 Paul Eggert <eggert@cs.ucla.edu> |
6208 | ||
6209 | * decompress.c: Minor simplifications. | |
6210 | (Fzlib_decompress_region): Don't bother verifying | |
6211 | that avail_out <= UINT_MAX, as that was confusing. | |
6212 | Mention the restriction in a comment instead. | |
6213 | Prefer 'int' to 'ptrdiff_t' when 'int' is wide enough. | |
6214 | ||
a5bd5abb JD |
6215 | 2013-08-13 Jan Djärv <jan.h.d@swipnet.se> |
6216 | ||
6217 | * nsmenu.m (x_activate_menubar): Check for OSX >= 10.5 | |
6218 | (trackingNotification:): Call ns_check_menu_open only for OSX >= 10.5. | |
6219 | ||
66e7901a LMI |
6220 | 2013-08-13 Lars Magne Ingebrigtsen <larsi@gnus.org> |
6221 | ||
6222 | * image.c (imagemagick_filename_hint): Check for errors in the | |
6223 | alist structure. | |
6224 | ||
2fa611b7 EZ |
6225 | 2013-08-13 Eli Zaretskii <eliz@gnu.org> |
6226 | ||
6227 | * window.c (Fwindow_margins): Return nil when there's no marginal | |
6228 | area, as per the documented API. | |
6229 | ||
6230 | * w32term.c (x_scroll_bar_create): Use ALLOCATE_PSEUDOVECTOR, not | |
6231 | Fmake_vector, as scroll bar's struct members are not all Lisp | |
6232 | objects now. This avoids crashes in GC. | |
6233 | ||
6234 | * w32term.h (struct scroll_bar): Convert fringe_extended_p to a | |
6235 | bool, so its address could be taken. | |
6236 | ||
8259030d LMI |
6237 | 2013-08-13 Lars Magne Ingebrigtsen <larsi@gnus.org> |
6238 | ||
6239 | * image.c (imagemagick_filename_hint): New function to possibly | |
6240 | apply `image-content-type-suffixes'. | |
6241 | (imagemagick_load_image): Use it. | |
6242 | ||
866c710e EZ |
6243 | 2013-08-13 Eli Zaretskii <eliz@gnu.org> |
6244 | ||
6245 | * decompress.c (Fzlib_decompress_region) [WINDOWSNT]: Return Qnil | |
6246 | if loading zlib failed. | |
6247 | ||
f10490f0 JD |
6248 | 2013-08-13 Jan Djärv <jan.h.d@swipnet.se> |
6249 | ||
96311be7 JD |
6250 | * nsterm.m (ns_set_vertical_scroll_bar): Fix breakage intruduced by |
6251 | 2013-08-13 checkin below. Change bool to BOOL, rule is: | |
6252 | All Obj-C code uses BOOL, except for interfaces callable from C. | |
6253 | ||
f10490f0 JD |
6254 | * nsterm.h: Fix CGFloat for OSX 10.4 (Bug#15086). |
6255 | ||
c8ae93b0 DA |
6256 | 2013-08-13 Dmitry Antipov <dmantipov@yandex.ru> |
6257 | ||
6258 | * window.h (WINDOW_FRINGE_EXTENDED_P): New macro. | |
6259 | * nsterm.m (ns_set_vertical_scroll_bar): Use it. Use convenient | |
6260 | bool instead of BOOL. | |
6261 | * w32term.h (struct scroll_bar): Convert fringe_extended_p | |
6262 | from Lisp_Object to bitfield. Adjust comment. | |
6263 | * w32term.c (x_scroll_bar_create): Adjust user. | |
6264 | Use WINDOW_FRINGE_EXTENDED_P and bool for boolean. | |
6265 | * xterm.c (XTset_vertical_scroll_bar): Likewise. | |
6266 | Use bool for boolean. | |
6267 | * xterm.h (struct scroll_bar): Prefer commonly used `unsigned' | |
6268 | to `unsigned int' when defining a bitfield. | |
6269 | ||
53b64418 PE |
6270 | 2013-08-13 Paul Eggert <eggert@cs.ucla.edu> |
6271 | ||
6272 | * decompress.c (Fzlib_decompress_region): Try to clarify 'avail_out'. | |
6273 | ||
eeaf9bf3 DA |
6274 | 2013-08-13 Dmitry Antipov <dmantipov@yandex.ru> |
6275 | ||
6276 | * window.h (struct window): Convert left_margin_cols and | |
6277 | right_margin_cols from Lisp_Objects to integers. Adjust comment. | |
6278 | (WINDOW_LEFT_MARGIN_COLS, WINDOW_RIGHT_MARGIN_COLS) | |
6279 | (WINDOW_LEFT_MARGIN_WIDTH, WINDOW_RIGHT_MARGIN_WIDTH): | |
6280 | Adjust users. | |
6281 | * dispnew.c (margin_glyphs_to_reserve): Convert 3rd arg to int. | |
6282 | Adjust comment. | |
6283 | (showing_window_margins_p, update_window_line, update_frame_1): | |
6284 | * fringe.c (draw_fringe_bitmap_1): | |
6285 | * xdisp.c (window_box_width): Adjust users. | |
6286 | * window.c (wset_left_margin_cols, wset_right_margin_cols): Remove. | |
6287 | (adjust_window_margins, set_window_buffer, Fsplit_window_internal): | |
6288 | Use direct assignment. | |
6289 | (Fset_window_configuration, save_window_save, Fwindow_margins): | |
6290 | Convert Lisp_Object to integer and back where appropriate. | |
6291 | (Fset_window_margins): Adjust user. Return t if any margin | |
6292 | was actually changed, and mention this in docstring. | |
6293 | ||
956720af XF |
6294 | 2013-08-13 Xue Fuqiao <xfq.free@gmail.com> |
6295 | ||
f73f4ce6 | 6296 | * syntax.c (forward_word): |
956720af XF |
6297 | * cmds.c (forward_char, backward_char): Mention the optional argument. |
6298 | ||
9e37ee3b DA |
6299 | 2013-08-13 Dmitry Antipov <dmantipov@yandex.ru> |
6300 | ||
6301 | * window.h (struct window): Convert left_fringe_width | |
6302 | and right_fringe_width from Lisp_Objects to integers. | |
6303 | Adjust comment. | |
6304 | (WINDOW_FRINGE_COLS, WINDOW_LEFT_FRINGE_WIDTH) | |
6305 | (WINDOW_RIGHT_FRINGE_WIDTH): Adjust users. | |
6306 | * window.c (wset_left_fringe_width, wset_right_fringe_width): | |
6307 | Remove. | |
6308 | (make_window): Initialize new integer fields to -1. | |
6309 | (Fsplit_window_internal): Use direct assignment. | |
068f9124 SM |
6310 | (Fset_window_configuration, save_window_save): |
6311 | Convert Lisp_Object to integer and back where appropriate. | |
9e37ee3b DA |
6312 | (Fset_window_fringes): Adjust user. Return t if any fringe |
6313 | was actually changed, and mention this in docstring. | |
6314 | ||
e4375ca7 DA |
6315 | 2013-08-13 Dmitry Antipov <dmantipov@yandex.ru> |
6316 | ||
6317 | * keyboard.c (Fdiscard_input): Do not increment update_mode_lines. | |
9cda66e4 DA |
6318 | * nsfns.m (x_set_cursor_type): |
6319 | * w32fns.c (x_set_cursor_type): | |
e903c210 | 6320 | * xfns.c (x_set_cursor_type): Do not set cursor_type_changed here... |
9cda66e4 | 6321 | * xdisp.c (set_frame_cursor_types): ...but in common code. |
e4375ca7 | 6322 | |
a45543bc DA |
6323 | 2013-08-13 Dmitry Antipov <dmantipov@yandex.ru> |
6324 | ||
6325 | * font.c (clear_font_cache): New function, stripped from... | |
6326 | (Fclear_font_cache): ...here, which now uses the function | |
6327 | above. Adjust comment. | |
6328 | * font.h (clear_font_cache): Add prototype. | |
6329 | * xfaces.c (clear_face_cache): Use clear_font_cache. | |
6330 | ||
ae966a86 DA |
6331 | 2013-08-13 Dmitry Antipov <dmantipov@yandex.ru> |
6332 | ||
6333 | * window.c (Fset_window_start): Compare `w', not `window' because | |
6334 | `w' might not be equal to `window' after call to decode_live_window. | |
6335 | ||
297a545b PE |
6336 | 2013-08-12 Paul Eggert <eggert@cs.ucla.edu> |
6337 | ||
6338 | * process.c (deactivate_process): Reset fds to -1 (Bug#15035). | |
6339 | This fixes a problem introduced by the Bug#15035 patch | |
6340 | when using GPG. Reported by Herbert J. Skuhra. | |
6341 | ||
aa942e2b EZ |
6342 | 2013-08-12 Eli Zaretskii <eliz@gnu.org> |
6343 | ||
6344 | * decompress.c <zlib_initialized> [WINDOWSNT]: New static variable. | |
6345 | (Fzlib_decompress_region) [WINDOWSNT]: Call init_zlib_functions if | |
6346 | not yet initialized. | |
6347 | ||
7699d09e LMI |
6348 | 2013-08-12 Lars Magne Ingebrigtsen <larsi@gnus.org> |
6349 | ||
6350 | * decompress.c (Fzlib_decompress_region): Support zlib | |
6351 | decompression, too, and rename. | |
6352 | ||
1d238bc7 PE |
6353 | 2013-08-12 Paul Eggert <eggert@cs.ucla.edu> |
6354 | ||
6355 | Minor zlib configuration tweaks. | |
6356 | * decompress.c (fn_inflateInit2) [!WINDOWSNT]: | |
6357 | Don't assume presence of fn_inflateInit2_ zlib internal function. | |
6358 | ||
8a44a184 LMI |
6359 | 2013-08-12 Lars Magne Ingebrigtsen <larsi@gnus.org> |
6360 | ||
6361 | * decompress.c (Fzlib_decompress_gzipped_region): Rename to | |
6362 | include the zlib prefix. | |
6363 | ||
594a4307 EZ |
6364 | 2013-08-12 Eli Zaretskii <eliz@gnu.org> |
6365 | ||
6366 | * decompress.c [WINDOWSNT]: Include windows.h and w32.h. | |
6367 | (DEF_ZLIB_FN, LOAD_ZLIB_FN) [WINDOWSNT]: New macros. Use them to | |
6368 | define static variables that are pointers to zlib functions to be | |
6369 | dynamically loaded. | |
6370 | (init_zlib_functions) [WINDOWSNT]: New function. | |
6371 | (fn_inflateInit2_, fn_inflate, fn_inflateEnd, fn_inflateInit2): | |
6372 | New macros. | |
6373 | (Fdecompress_gzipped_region, unwind_decompress): Use the fn_* | |
6374 | macros instead of invoking the zlib functions directly. | |
068f9124 SM |
6375 | (syms_of_decompress): DEFSYM Qzlib_dll. |
6376 | Staticpro Szlib_available_p. | |
594a4307 | 6377 | |
d2e113bc DA |
6378 | 2013-08-12 Dmitry Antipov <dmantipov@yandex.ru> |
6379 | ||
6380 | Avoid looping over all frame windows to freeze and unfreeze. | |
6381 | * window.h (struct window): Drop frozen_window_start_p. | |
6382 | (freeze_window_starts): Drop prototype. | |
6383 | * frame.h (struct frame): New frozen_window_starts flag. | |
6384 | (FRAME_WINDOWS_FROZEN): New macro. | |
6385 | * window.c (freeze_window_start, freeze_window_starts): | |
6386 | Remove. | |
6387 | (select_window, replace_window): Adjust users. | |
6388 | * xdisp.c (resize_mini_window): Use FRAME_WINDOWS_FROZEN. | |
6389 | (window_frozen_p): New function. | |
6390 | (redisplay_window): Use it. | |
6391 | ||
94fcd171 PE |
6392 | 2013-08-12 Paul Eggert <eggert@cs.ucla.edu> |
6393 | ||
6394 | Fix some fd issues when running subprocesses (Bug#15035). | |
6395 | Fix bugs that can leak files or file descriptors on errors. | |
6396 | Don't unlink open temp files, as that's hard for users to diagnose | |
6397 | when things go awry (e.g., temp disk exhausted). | |
6398 | Don't bother to lock temp files. Check for invalid recursion. | |
6399 | * callproc.c (synch_process_fd): Remove. All uses removed. | |
6400 | (synch_process_tempfile): New var or macro. | |
6401 | (CALLPROC_STDOUT, CALLPROC_STDERR, CALLPROC_PIPEREAD, CALLPROC_FDS): | |
6402 | New constants. | |
6403 | (record_kill_process): New arg, the temp name. All callers changed. | |
6404 | (delete_temp_file): Now just a simple wrapper around unlink. | |
6405 | (call_process_kill): New arg, the call_process_fd array. | |
6406 | Close them all. Clear synch_process_pid. Remove the temp file, | |
6407 | or arrange for it to be removed. | |
6408 | (call_process_cleanup) [MSDOS]: Arg no longer contains file name; | |
6409 | that's been moved to synch_process_tempfile. Caller changed. | |
6410 | Do not remove the tempfile; that's now call_process_kill's | |
6411 | responsibility. | |
6412 | (call_process_cleanup) [!MSDOS]: Do not record unwind-protect for | |
6413 | call_process_kill; the caller now does that. | |
6414 | (call_process_cleanup): Do not close the process fd; that's now | |
6415 | call_process_kill's responsibility. | |
6416 | (Fcall_process): Implement via new function call_process, which | |
6417 | has most of the old body of Fcall_process, but with a different API. | |
6418 | (call_process): New function that does not open or close filefd if | |
6419 | it is nonnegative. Record which fds need to be closed, and let | |
6420 | call_process_kill close (and remove the tempfile, on MSDOS) on error. | |
6421 | Signal an error if invoked recursively (could be done via a hook). | |
6422 | Simplify creation of the tempfile in the MSDOS case. | |
6423 | Don't create the output file until after checking for the executable. | |
6424 | Report any failure to open /dev/null. | |
6425 | Don't open /dev/null for writing twice; once is enough. | |
6426 | Don't create pipe if all output is being discarded or sent to file. | |
6427 | Don't worry about setting up the coding system or reading from the | |
6428 | pipe if all output is being discarded. | |
6429 | Hoist fd_error local into top level, to lessen block nesting. | |
6430 | Don't record deleted pid here; now done by Fcall_process_region. | |
6431 | (Fcall_process) [MSDOS]: Report mktemp failure immediately, | |
6432 | and note its success in synch_process_tempfile. | |
6433 | Do not leak resources when child_setup fails. | |
6434 | (Fcall_process) [!MSDOS && !WINDOWSNT]: Remove duplicate assignment | |
6435 | to child_errno. Remove unnecessary close of fd0; it's close-on-exec. | |
6436 | (create_temp_file): Now returns open fd, with an additional | |
6437 | Lisp_Object * argument to return the name. All callers changed. | |
6438 | Do not close the file; rewind it instead, and leave it open for | |
6439 | the caller. Do not lock the temp file. Unwind-protect the file | |
6440 | and the file-descriptor. | |
6441 | (Fcall_process_region): If the input is /dev/null, unwind-protect it. | |
6442 | If an asynchrounous process, record it here, not in call_process. | |
6443 | (syms_of_callproc) [MSDOS]: Initialize synch_process_tempfile. | |
6444 | * eval.c (set_unwind_protect): New function. | |
6445 | * fileio.c (write_region): New function, generalized from the | |
6446 | old Fwrite_region. Do not lock temp files. | |
6447 | (Fwrite_region): Use it. | |
6448 | * lisp.h (set_unwind_protect, write_region): New decls. | |
6449 | * process.c: Include <verify.h>. | |
6450 | (make_process): Mark fds as initially closed. | |
6451 | (deleted_pid_list): Now a list of pid-filename pairs. | |
6452 | All uses changed. | |
6453 | (close_process_fd): New function. | |
6454 | (SUBPROCESS_STDIN, WRITE_TO_SUBPROCESS, READ_FROM_SUBPROCESS) | |
6455 | (SUBPROCESS_STDOUT, READ_FROM_EXEC_MONITOR, EXEC_MONITOR_OUTPUT): | |
6456 | New constants. Verify that their number matches PROCESS_OPEN_FDS. | |
6457 | (create_process, create_pty, Fmake_serial_process) | |
6458 | (server_accept_connection): Record which fds need to be closed, | |
6459 | and let deactivate_process close them. | |
6460 | (Fmake_network_process): Do not discard the unwind-protect | |
6461 | until it's safe to do so. | |
6462 | (deactivate_process): Close the fds opened by create_process etc. | |
6463 | (Fprocess_send_eof): Adjust to new way of recording open fds. | |
6464 | Report an error if /dev/null can't be opened, instead of aborting. | |
6465 | * process.h (PROCESS_OPEN_FDS): New constant. | |
6466 | (struct Lisp_Process): New member open_fds. | |
6467 | (record_kill_process, record_deleted_pid): Adjust signatures. | |
6468 | (record_deleted_pid): Move decl here ... | |
6469 | * syswait.h (record_deleted_pid): ... from here. | |
6470 | ||
d0e615c3 PE |
6471 | 2013-08-11 Paul Eggert <eggert@cs.ucla.edu> |
6472 | ||
6473 | * decompress.c: Fix bugs with large buffers and weird inputs. | |
6474 | Tune a bit. Reindent as per usual Emacs style. | |
6475 | (BUFFER_SIZE): Remove. | |
6476 | (Fdecompress_gzipped_region): Do not mishandle input buffers with | |
6477 | more than UINT_MAX bytes. Decompress into the gap instead of into | |
6478 | an auto buffer, as this should avoid copying. Return nil if | |
6479 | 'inflate' returns Z_NEED_DICT, as we have no dictionary. Do not | |
6480 | set immediate_quit; we shouldn't trust zlib code that much. | |
6481 | ||
313546eb LMI |
6482 | 2013-08-11 Lars Magne Ingebrigtsen <larsi@gnus.org> |
6483 | ||
99a32242 LMI |
6484 | * decompress.c (Fdecompress_gzipped_region): Respect all zlib |
6485 | errors, and really move the gap to where we want it. | |
6486 | ||
313546eb LMI |
6487 | * lisp.h: Include decompress.c support. |
6488 | ||
6489 | * emacs.c (main): Include decompress.c support. | |
6490 | ||
6491 | * Makefile.in: Include -lz if present. | |
6492 | ||
d2d699ac JD |
6493 | 2013-08-11 Jan Djärv <jan.h.d@swipnet.se> |
6494 | ||
f90e3ebd JD |
6495 | * nsmenu.m (ns_update_menubar): Call fillWithWidgetValue:frame: |
6496 | (initWithTitle:): Initialize frame to 0. | |
6497 | (fillWithWidgetValue:): Call fillWithWidgetValue:frame. | |
068f9124 | 6498 | (fillWithWidgetValue:frame:): Rename from |
f90e3ebd JD |
6499 | fillWithWidgetValue:setDelegate, call initWithTile:frame: if f. |
6500 | ||
6501 | * nsterm.h (EmacsMenu): fillWithWidgetValue:setDelegate renamed to | |
6502 | fillWithWidgetValue:frame: | |
6503 | ||
423d3b3f JD |
6504 | * nsfns.m (Fns_convert_utf8_nfd_to_nfc): Allocate and release pool to |
6505 | remove memory leak warnings. | |
6506 | ||
d2d699ac JD |
6507 | * nsterm.m (menu_pending_title, ns_get_pending_menu_title): Remove. |
6508 | (ns_check_menu_open): Handle menu == nil. Remove assignment to | |
6509 | menu_pending_title. | |
6510 | ||
6511 | * nsmenu.m (ns_update_menubar): Call fillWithWidgetValue:setDelegate. | |
6512 | (x_activate_menubar): Update the whole menu. | |
6513 | (trackingNotification:): Call ns_check_menu_open if tracking ends. | |
6514 | (menuWillOpen:): Increment trackingMenu. For OSX <= 10.6, exit if | |
6515 | current event is not NSSystemDefined (Bug#15001). | |
6516 | Call ns_check_menu_open only if trackingMenu is 2. | |
6517 | (menuDidClose:): New method, decrease trackingMenu. | |
6518 | (fillWithWidgetValue:setDelegate:): New method. | |
6519 | (fillWithWidgetValue:): Call the above. | |
6520 | ||
6521 | * nsterm.h (EmacsMenu): Add fillWithWidgetValue:setDelegate: | |
6522 | ||
7d652d97 PE |
6523 | 2013-08-11 Paul Eggert <eggert@cs.ucla.edu> |
6524 | ||
6525 | Omit some unnecessary casts. | |
6526 | Many of these go back to the old pre-C89 days, when they may have | |
6527 | been needed, but we've been assuming C89 or later for a while now. | |
6528 | * alloc.c (live_string_p, live_cons_p, live_symbol_p) | |
6529 | (live_float_p, live_misc_p, live_vector_p): | |
6530 | * buffer.c (compare_overlays, cmp_for_strings, mmap_find) | |
6531 | (mmap_alloc, alloc_buffer_text, enlarge_buffer_text) | |
6532 | (defvar_per_buffer): | |
6533 | * callint.c (Fcall_interactively): | |
6534 | * doc.c (Fsubstitute_command_keys): | |
6535 | * filelock.c (get_boot_time): | |
6536 | * frame.c (xrdb_get_resource): | |
6537 | * gtkutil.c (hierarchy_ch_cb, qttip_cb, style_changed_cb) | |
6538 | (delete_cb, xg_dialog_response_cb, xg_maybe_add_timer) | |
6539 | (xg_get_file_name_from_selector, menuitem_destroy_callback) | |
6540 | (menuitem_highlight_callback, menu_destroy_callback) | |
6541 | (xg_update_menu_item, xg_modify_menubar_widgets, menubar_map_cb) | |
6542 | (xg_tool_bar_callback, xg_get_tool_bar_widgets) | |
6543 | (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback) | |
6544 | (xg_tool_bar_help_callback, tb_size_cb): | |
6545 | * image.c (xpm_alloc_color, png_read_from_memory) | |
6546 | (png_read_from_file, png_load_body, our_memory_skip_input_data) | |
6547 | (jpeg_memory_src, jpeg_file_src, imagemagick_load_image) | |
6548 | (syms_of_image): | |
6549 | * keymap.c (describe_map): | |
6550 | * nsfns.m (Fns_display_monitor_attributes_list): | |
6551 | * nsmenu.m (process_dialog:): | |
6552 | * nsterm.m (hold_event): | |
6553 | * process.c (wait_reading_process_output): | |
6554 | * regex.c (REGEX_REALLOCATE, re_set_registers, re_exec, regexec): | |
6555 | * scroll.c (do_direct_scrolling, scrolling_1): | |
6556 | * termcap.c (tgetent): | |
6557 | * window.c (check_window_containing, add_window_to_list) | |
6558 | (freeze_window_starts): | |
6559 | * xdisp.c (compare_overlay_entries, vmessage): | |
6560 | * xfns.c (x_window, x_get_monitor_attributes_xinerama) | |
6561 | (x_get_monitor_attributes_xrandr) | |
6562 | (Fx_display_monitor_attributes_list, x_display_info_for_name) | |
6563 | (Fx_open_connection, file_dialog_cb, file_dialog_unmap_cb): | |
6564 | * xfont.c (xfont_match, xfont_open): | |
6565 | * xmenu.c (x_menu_wait_for_event, menu_highlight_callback) | |
6566 | (menubar_selection_callback, menu_position_func) | |
6567 | (popup_selection_callback, create_and_show_popup_menu) | |
6568 | (dialog_selection_callback, create_and_show_dialog): | |
35e951cd | 6569 | * xrdb.c (x_get_string_resource) |
7d652d97 PE |
6570 | (main) [TESTRM]: |
6571 | * xsmfns.c (x_session_check_input): | |
6572 | * xterm.c (x_draw_glyphless_glyph_string_foreground) | |
6573 | (xm_scroll_callback, xg_scroll_callback, xg_end_scroll_callback) | |
6574 | (xaw_jump_callback, xaw_scroll_callback): | |
6575 | Omit unnecessary casts. | |
6576 | ||
9acc1074 PE |
6577 | 2013-08-10 Paul Eggert <eggert@cs.ucla.edu> |
6578 | ||
6579 | Minor string-length refactoring. | |
6580 | * alloc.c (xstrdup): Use memcpy, not strcpy, since the length's known. | |
6581 | * frame.c (make_monitor_attribute_list): | |
6582 | Prefer build_string to strlen + make_string. | |
6583 | ||
361c0eb8 JD |
6584 | 2013-08-10 Jan Djärv <jan.h.d@swipnet.se> |
6585 | ||
6586 | * xterm.c (x_error_handler): Also ignore BadWindow for X_SetInputFocus, | |
6587 | don't check minor_code (Bug#14417). | |
6588 | ||
14ba0822 EZ |
6589 | 2013-08-09 Eli Zaretskii <eliz@gnu.org> |
6590 | ||
6591 | * xdisp.c (draw_glyphs): Don't compare row pointers, compare row | |
6592 | vertical positions instead. This avoids calling MATRIX_ROW with | |
6593 | row numbers that are possibly beyond valid limits. (Bug#15064) | |
6594 | ||
309f24d1 DA |
6595 | 2013-08-09 Dmitry Antipov <dmantipov@yandex.ru> |
6596 | ||
6597 | Use xstrdup and build_unibyte_string where applicable. | |
6598 | * alloc.c (xstrdup): Tiny cleanup. Add eassert. | |
6599 | * xfns.c (x_window): | |
6600 | * xrdb.c (x_get_customization_string): | |
6601 | * xterm.c (xim_initialize): | |
6602 | * w32fns.c (w32_window): Use xstrdup. | |
6603 | (w32_display_monitor_attributes_list): | |
6604 | * emacs.c (init_cmdargs): | |
6605 | * keyboard.c (PUSH_C_STR): | |
6606 | * nsfont.m (nsfont_open): | |
6607 | * sysdep.c (system_process_attributes): | |
6608 | * w32.c (system_process_attributes): | |
6609 | * xdisp.c (message1, message1_nolog): Use build_unibyte_string. | |
6610 | ||
55902276 EZ |
6611 | 2013-08-09 Eli Zaretskii <eliz@gnu.org> |
6612 | ||
6613 | * w32.c (PEXCEPTION_POINTERS, PEXCEPTION_RECORD, PCONTEXT): Define | |
6614 | variables of these types so that GDB would know about them, as aid | |
6615 | for debugging fatal exceptions. (Bug#15024) See also | |
6616 | http://sourceware.org/ml/gdb/2013-08/msg00010.html for related | |
6617 | discussions. | |
6618 | ||
10bf7f5a JD |
6619 | 2013-08-08 Jan Djärv <jan.h.d@swipnet.se> |
6620 | ||
6621 | * nsterm.m (ns_update_begin): Don't change clip path if it would be | |
6622 | larger than the NSWindow (Bug#14934). | |
6623 | ||
65620264 DA |
6624 | 2013-08-08 Dmitry Antipov <dmantipov@yandex.ru> |
6625 | ||
6626 | Redesign redisplay interface to drop global variable updated_window. | |
6627 | Always pass currently updated window as a parameter to update routines. | |
6628 | * dispextern.h (updated_window): Remove declaration. | |
6629 | (struct redisplay_interface): Pass window parameter to | |
6630 | write_glyphs, insert_glyphs, clear_end_of_line, cursor_to | |
6631 | and after_update_window_hook. | |
6632 | (x_write_glyphs, x_insert_glyphs, x_clear_end_of_line, x_cursor_to): | |
6633 | Adjust prototypes. | |
6634 | * dispnew.c (updated_window): Remove. | |
6635 | (redraw_overlapped_rows, update_marginal_area, update_text_area) | |
6636 | (update_window_line): Adjust to match redisplay interface changes. | |
6637 | * nsterm.m (ns_update_window_begin, ns_update_window_end) | |
6638 | (ns_scroll_run, ns_after_update_window_line): | |
6639 | * w32term.c (x_update_window_begin, x_update_window_end) | |
6640 | (x_after_update_window_line, x_scroll_run): | |
6641 | * xterm.c (x_update_window_begin, x_update_window_end) | |
6642 | (x_after_update_window_line, x_scroll_run): | |
6643 | * xdisp.c (x_write_glyphs, x_insert_glyphs, x_clear_end_of_line): | |
6644 | Likewise. Adjust comments where appropriate. | |
6645 | (x_cursor_to): Simplify because this is always called during window | |
6646 | update (but install debugging check anyway). | |
6647 | (expose_window): Check must_be_updated_p flag to see whether this | |
6648 | function is called during window update. | |
6649 | ||
628fdc56 DA |
6650 | 2013-08-08 Dmitry Antipov <dmantipov@yandex.ru> |
6651 | ||
6652 | Do not reset window modification event counters excessively. | |
6653 | These leftovers and poor man's tricky methods to catch extra | |
6654 | redisplay's attention are no longer needed. | |
6655 | * frame.c (set_menu_bar_lines_1): | |
6656 | * minibuf.c (read_minibuf_unwind): | |
6657 | * window.c (Fset_window_start, set_window_buffer, window_resize_apply) | |
6658 | (grow_mini_window, shrink_mini_window, window_scroll_pixel_based) | |
6659 | (window_scroll_line_based, Fset_window_configuration): | |
6660 | * xdisp.c (redisplay_window): Do not reset last_modified and | |
6661 | last_overlay_modified counters. | |
6662 | ||
8fd9c92e JD |
6663 | 2013-08-07 Jan Djärv <jan.h.d@swipnet.se> |
6664 | ||
6665 | * xselect.c (x_send_client_event): Set send_event and serial, memset | |
6666 | data.l as it might be bigger than data.b. Use 24 bit mask to | |
6667 | XSendEvent (Bug#15034). | |
6668 | ||
0ee18172 EZ |
6669 | 2013-08-07 Eli Zaretskii <eliz@gnu.org> |
6670 | ||
6671 | * xdisp.c (prepare_menu_bars): Don't call x_consider_frame_title | |
6672 | for TTY frames that are not the top frame on their console. | |
6673 | (Bug#14616) | |
6674 | ||
16ddd1a6 MR |
6675 | 2013-08-07 Martin Rudalics <rudalics@gmx.at> |
6676 | ||
6677 | * w32term.c (w32fullscreen_hook): Really maximize frame when | |
6678 | asked for (Bug#14841). | |
6679 | ||
d2a95ffb DA |
6680 | 2013-08-07 Dmitry Antipov <dmantipov@yandex.ru> |
6681 | ||
6682 | Prefer selected_window to Fselected_window, likewise for frames. | |
6683 | * buffer.c (Fbuffer_swap_text): | |
6684 | * data.c (Fvariable_binding_locus): | |
6685 | * window.c (run_window_configuration_change_hook): Adjust users. | |
6686 | * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data): | |
6687 | Use decode_live_frame. | |
6688 | ||
170da1ec DA |
6689 | 2013-08-07 Dmitry Antipov <dmantipov@yandex.ru> |
6690 | ||
6691 | Be more careful if selected window shows the buffer other than current, | |
6692 | use window_outdated only if this is not so. This change should also | |
6693 | address some weird issues discussed in Bug#13012. | |
6694 | * window.h (window_outdated): New prototype. | |
6695 | * window.c (window_outdated): Now here. Convert from static and | |
6696 | always assume window's buffer. | |
6697 | (Fwindow_end, Fwindow_line_height): Use it. | |
6698 | * xdisp.c (reconsider_clip_changes): Remove prototype, drop 2nd arg | |
6699 | and always assume window's buffer. | |
6700 | (redisplay_window): Adjust user. | |
e5eefe9b | 6701 | (redisplay_internal): Call to reconsider_clip_changes once and |
170da1ec DA |
6702 | check whether mode line should be updated only if selected window |
6703 | shows current buffer. | |
6704 | (run_window_scroll_functions): Use eassert for debugging check. | |
6705 | (Fmove_point_visually, note_mouse_highlight): Use window_outdated. | |
6706 | ||
56b5d5b1 DA |
6707 | 2013-08-06 Dmitry Antipov <dmantipov@yandex.ru> |
6708 | ||
6709 | * window.c (window_scroll, window_scroll_pixel_based) | |
6710 | (window_scroll_line_based): Use bool for booleans. | |
6711 | ||
2878ba7e PE |
6712 | 2013-08-06 Paul Eggert <eggert@cs.ucla.edu> |
6713 | ||
6714 | * process.c: Fix minor off-by-one issues in descriptor counts. | |
6715 | This shouldn't fix any real bugs, but it cleans up the code a bit. | |
6716 | (max_process_desc, max_input_desc): -1, not 0, means none. | |
6717 | All uses changed. | |
6718 | (delete_input_desc): New function. | |
6719 | (delete_write_fd, delete_keyboard_wait_descriptor): Use it. | |
6720 | (deactivate_process): Scan backwards when recomuting max_process_desc; | |
6721 | that should be faster. | |
6722 | (init_process_emacs): Initialize max_input_desc. | |
6723 | ||
e30b79c1 DA |
6724 | 2013-08-06 Dmitry Antipov <dmantipov@yandex.ru> |
6725 | ||
6726 | Use region cache to speedup bidi_find_paragraph_start. | |
6727 | * buffer.h (struct buffer): New member bidi_paragraph_cache. | |
6728 | Rename cache_long_line_scans to cache_long_scans. | |
6729 | * buffer.c (bset_cache_long_line_scans): Rename to | |
6730 | bset_cache_long_scans. | |
6731 | (Fget_buffer_create, Fmake_indirect_buffer, Fkill_buffer) | |
6732 | (Fbuffer_swap_text, init_buffer_once): Take bidi_paragraph_cache | |
6733 | into account. | |
6734 | (syms_of_buffer): Rename cache-long-line-scans to | |
6735 | cache-long-scans. Adjust docstring. | |
6736 | * search.c (newline_cache_on_off): | |
6737 | * indent.c (width_run_cache_on_off): Adjust users. | |
6738 | * bidi.c (bidi_paragraph_cache_on_off): New function. | |
6739 | (bidi_find_paragraph_start): Use bidi_paragraph_cache if needed. | |
068f9124 SM |
6740 | * insdel.c (prepare_to_modify_buffer): |
6741 | Invalidate bidi_paragraph_cache if enabled. | |
e30b79c1 | 6742 | |
00012b86 DA |
6743 | 2013-08-06 Dmitry Antipov <dmantipov@yandex.ru> |
6744 | ||
6745 | Invalidate region caches only if buffer text is going to be changed. | |
6746 | * lisp.h (modify_region_1): Remove 3rd arg and rename to... | |
6747 | (modify_text): ...new prototype. | |
6748 | (prepare_to_modify_buffer_1): New prototype. | |
6749 | * textprop.c (modify_region): Rename to... | |
6750 | (modify_text_properties): ...new function. | |
6751 | (add_text_properties_1, set_text_properties, Fremove_text_properties) | |
6752 | (Fremove_list_of_text_properties): Adjust users. | |
6753 | * insdel.c (modify_region_1): Remove 3rd arg and reimplement as... | |
6754 | (modify_text): ...new function. | |
6755 | (prepare_to_modify_buffer): Reimplement mostly as a wrapper for... | |
6756 | (prepare_to_modify_buffer_1): ...new function. | |
6757 | * casefiddle.c (casify_region): | |
6758 | * editfns.c (Fsubst_char_in_region, Ftranslate_region_internal) | |
6759 | (Ftranspose_regions): Use modify_text. | |
6760 | ||
dc6c0eda SM |
6761 | 2013-08-05 Stefan Monnier <monnier@iro.umontreal.ca> |
6762 | ||
6763 | * lisp.mk (lisp): Add nadvice.elc. | |
6764 | ||
8f3a2c26 DA |
6765 | 2013-08-05 Dmitry Antipov <dmantipov@yandex.ru> |
6766 | ||
6767 | New macro to iterate over live buffers similar to frames. | |
6768 | * buffer.h (FOR_EACH_LIVE_BUFFER): New macro. | |
6769 | (Vbuffer_alist, Qpriority, Qbefore_string, Qafter_string): | |
6770 | Declare buffer-related variables here to offload lisp.h. | |
6771 | * buffer.c (Vbuffer_alist): Adjust comment. | |
6772 | (Fget_file_buffer, get_truename_buffer, Fother_buffer) | |
6773 | (other_buffer_safely): | |
6774 | * data.c (store_symval_forwarding): | |
6775 | * dispnew.c (Fframe_or_buffer_changed_p): | |
6776 | * fileio.c (Fdo_auto_save): | |
6777 | * filelock.c (unlock_all_files): | |
6778 | * minibuf.c (read_minibuf): Use FOR_EACH_LIVE_BUFFER. | |
6779 | ||
e0fdb694 PE |
6780 | 2013-08-04 Paul Eggert <eggert@cs.ucla.edu> |
6781 | ||
6782 | Fix some minor races in hosts lacking mkostemp (Bug#15015). | |
6783 | * callproc.c (create_temp_file): | |
6784 | * filelock.c (create_lock_file): | |
6785 | Assume mkostemp, since it's now provided by Gnulib. | |
6786 | ||
63f5c6c2 EZ |
6787 | 2013-08-04 Eli Zaretskii <eliz@gnu.org> |
6788 | ||
6789 | * w32.c (mkostemp): New function. | |
6790 | (mktemp): Remove, no longer used. Most of the code reused in | |
6791 | mkostemp. (Bug#15015) | |
484ab239 | 6792 | (mktemp): Don't undef. |
63f5c6c2 | 6793 | |
f0b79313 DA |
6794 | 2013-08-04 Dmitry Antipov <dmantipov@yandex.ru> |
6795 | ||
6796 | * dispnew.c (glyph_matrix_count, glyph_pool_count): | |
6797 | Move under GLYPH_DEBUG and ENABLE_CHECKING. | |
6798 | (new_glyph_matrix, free_glyph_matrix, new_glyph_pool) | |
6799 | (free_glyph_pool, check_glyph_memory): Likewise for | |
6800 | all users. Adjust comments where appropriate. | |
6801 | ||
98f638d6 PE |
6802 | 2013-08-03 Paul Eggert <eggert@cs.ucla.edu> |
6803 | ||
6804 | * composite.h: Minor fixups. | |
6805 | (composition_registered_p): Rename from COMPOSITION_REGISTERD_P | |
6806 | to fix a misspelling, and change it to an inline function while | |
6807 | we're at it (it need not be a macro). All uses changed. | |
6808 | (composition_method, composition_valid_p): | |
6809 | Rewrite to avoid assignments in if-conditions. | |
6810 | ||
75c59fb3 DA |
6811 | 2013-08-03 Dmitry Antipov <dmantipov@yandex.ru> |
6812 | ||
6813 | Do not use global Lisp_Object in composition macros. | |
6814 | * composite.h (composition_temp): Remove declaration. | |
6815 | (COMPOSITION_METHOD, COMPOSITION_VALID_P): Replace with... | |
6816 | (composition_method, composition_valid_p): ...inline functions. | |
416a3e01 | 6817 | (compose_region): Remove the leftover. |
75c59fb3 DA |
6818 | * composite.c (composition_temp): Remove. |
6819 | (run_composition_function, update_compositions) | |
6820 | (composition_compute_stop_pos, composition_adjust_point) | |
6821 | (Ffind_composition_internal): | |
6822 | * coding.c (handle_composition_annotation): | |
6823 | * xdisp.c (handle_composition_prop, check_point_in_composition): | |
6824 | Related users changed. | |
6825 | ||
a10c8269 DA |
6826 | 2013-08-03 Dmitry Antipov <dmantipov@yandex.ru> |
6827 | ||
6828 | Drop FRAME_PTR typedef. | |
6829 | * composite.c, font.c, font.h, fontset.c, fontset.h, frame.c, frame.h: | |
6830 | * ftfont.c, ftxfont.c, gtkutil.c, gtkutil.h, image.c, keyboard.c: | |
6831 | * menu.c, menu.h, msdos.c, nsfns.m, nsfont.m, nsmenu.m, nsterm.h: | |
6832 | * nsterm.m, scroll.c, term.c, w32fns.c, w32font.c, w32font.h: | |
6833 | * w32inevt.c, w32inevt.h, w32menu.c, w32notify.c, w32term.c, w32term.h: | |
6834 | * w32uniscribe.c, w32xfns.c, widget.c, window.c, xdisp.c, xfaces.c: | |
6835 | * xfns.c, xfont.c, xftfont.c, xmenu.c, xselect.c, xterm.c: | |
6836 | All related users changed. | |
6837 | ||
a104f656 SM |
6838 | 2013-08-02 Stefan Monnier <monnier@iro.umontreal.ca> |
6839 | ||
6840 | * eval.c (default_toplevel_binding): New function. | |
6841 | (Fdefvar): Use it. | |
6842 | (unbind_to, backtrace_eval_unrewind): Do a bit of CSE simplification. | |
6843 | (Fdefault_toplevel_value, Fset_default_toplevel_value): New subrs. | |
6844 | (syms_of_eval): Export them. | |
6845 | * data.c (Fdefault_value): Micro cleanup. | |
6846 | * term.c (init_tty): Use "false". | |
6847 | ||
4b5c9326 DA |
6848 | 2013-08-02 Dmitry Antipov <dmantipov@yandex.ru> |
6849 | ||
6850 | Fix X GC leak in GTK and raw (no toolkit) X ports. | |
6851 | * xterm.c (x_free_frame_resources): If white and black relief | |
6852 | GCs are allocated, always free them here. | |
6853 | * xfns.c (x_make_gc): Omit redundant initialization. | |
6854 | * widget.c (create_frame_gcs): Remove the leftover. | |
6855 | (EmacsFrameDestroy): Do nothing because all GCs are now freed | |
6856 | in x_free_frame_resources. | |
6857 | ||
b19aa636 JD |
6858 | 2013-08-02 Jan Djärv <jan.h.d@swipnet.se> |
6859 | ||
6860 | * nsterm.m (windowWillResize:toSize:): Only change title if | |
6861 | ! maximizing_resize && FULLSCREEN_NONE (Bug#15005). strdup title before | |
6862 | modifying it. | |
6863 | (viewDidEndLiveResize): New method. | |
6864 | ||
6865 | * nsterm.h (EmacsView): Add maximizing_resize, put it and old_title | |
6866 | inside NS_IMPL_COCOA. | |
6867 | ||
af1f7e06 DA |
6868 | 2013-08-02 Dmitry Antipov <dmantipov@yandex.ru> |
6869 | ||
6870 | * insdel.c (adjust_after_replace, replace_range, del_range_2): | |
6871 | Do not check whether undo is enabled because record_insert and | |
6872 | record_delete does that themselves. | |
6873 | ||
65b02bb9 DA |
6874 | 2013-08-02 Dmitry Antipov <dmantipov@yandex.ru> |
6875 | ||
6876 | * xterm.h (struct x_output) [HAVE_X_I18N]: Remove xic_base_fontname | |
6877 | member which is not really used any more. | |
6878 | (FRAME_XIC_BASE_FONTNAME): Remove. | |
6879 | * xfns.c (xic_free_fontset): Adjust user. | |
6880 | * xmenu.c (mouse_position_for_popup, x_activate_menubar) | |
6881 | (update_frame_menubar, set_frame_menubar, free_frame_menubar) | |
6882 | (create_and_show_popup_menu, xmenu_show, create_and_show_dialog) | |
6883 | (xdialog_show): Use eassert for debugging check. | |
7ee0f047 | 6884 | * w32term.c (x_unfocus_frame): Remove unused dummy function. |
65b02bb9 | 6885 | |
6318cde0 PE |
6886 | 2013-08-01 Paul Eggert <eggert@cs.ucla.edu> |
6887 | ||
6888 | * fileio.c, fns.c (merge): Move extern decl from here ... | |
6889 | * lisp.h (merge): ... to here. | |
6890 | ||
6c1a09ba DA |
6891 | 2013-08-01 Dmitry Antipov <dmantipov@yandex.ru> |
6892 | ||
6893 | Fix last font-related change. | |
6894 | * w32font.h (w32font_list_internal, w32font_match_internal): | |
6895 | Fix prototype. | |
35e951cd | 6896 | * w32uniscribe.c (uniscribe_list, uniscribe_match) |
6c1a09ba DA |
6897 | (uniscribe_list_family): Adjust to match font API change. |
6898 | MS-Windows breakage reported by Juanma Barranquero <lekktu@gmail.com> | |
6899 | at http://lists.gnu.org/archive/html/emacs-devel/2013-08/msg00006.html. | |
6900 | ||
f8c20208 DA |
6901 | 2013-08-01 Dmitry Antipov <dmantipov@yandex.ru> |
6902 | ||
6903 | * frame.h (FRAME_MOUSE_UPDATE): | |
6904 | * nsterm.m (ns_frame_up_to_date): Omit redundant check | |
6905 | whether hlinfo->mouse_face_mouse_frame is non-NULL. | |
6906 | ||
fdb396e2 DA |
6907 | 2013-08-01 Dmitry Antipov <dmantipov@yandex.ru> |
6908 | ||
6909 | Avoid redundant Lisp_Object <-> struct frame conversions in font API. | |
6910 | * font.h (struct font_driver): Change list, match, and list_family | |
6911 | functions to accept struct frame * as first arg. | |
068f9124 SM |
6912 | * font.c (font_score, font_compare, font_sort_entities): |
6913 | Remove prototypes. | |
35e951cd | 6914 | (font_sort_entities, font_list_entities, font_select_entity) |
fdb396e2 DA |
6915 | (font_find_for_lface, Flist_fonts, Ffont_family_list): Adjust to |
6916 | match font API change. | |
6917 | * xfont.c (xfont_list, xfont_match, xfont_list_family): | |
6918 | * ftfont.c (ftfont_list, ftfont_match, ftfont_list_family): | |
6919 | * ftxfont.c (ftxfont_list, ftxfont_match): | |
6920 | * xftfont.c (xftfont_list, xftfont_match): | |
6921 | * nsfont.m (nsfont_list, nsfont_match, nsfont_list_family): | |
35e951cd | 6922 | * w32font.c (w32font_list, w32font_match, w32font_list) |
fdb396e2 DA |
6923 | (w32font_list_internal, w32_font_match_internal): Likewise. |
6924 | * xfaces.c (Fx_family_fonts): Adjust user. | |
6925 | ||
52b8a085 DA |
6926 | 2013-08-01 Dmitry Antipov <dmantipov@yandex.ru> |
6927 | ||
6928 | Do not use pure Xism x_wm_set_icon_position in non-X ports. | |
6929 | * frame.c (x_set_frame_parameters): Call to x_wm_set_icon_position | |
6930 | only if HAVE_X_WINDOWS is in use. | |
6931 | * frame.h (x_set_frame_parameters): Move under HAVE_X_WINDOWS. | |
6932 | * nsterm.m (x_wm_set_icon_position): Remove no-op. | |
6933 | * w32term.c (x_wm_set_icon_position): Likewise. | |
6934 | * w32fns.c (x_icon): Adjust user. | |
6935 | ||
c791c18e DA |
6936 | 2013-08-01 Dmitry Antipov <dmantipov@yandex.ru> |
6937 | ||
6938 | * xterm.c (last_mouse_press_frame): Remove the | |
6939 | leftover which is not really used any more. | |
6940 | (handle_one_xevent, syms_of_xterm): Adjust users. | |
1ca6cc28 DA |
6941 | (x_flush): Call XFlush once per each X display, not frame. |
6942 | This is better because this code always unconditionally skips | |
e9dc713d | 6943 | non-X frames in Vframe_list and issues the only XFlush if we |
1ca6cc28 | 6944 | have more than one X frame on the same X display. |
2f935d86 DA |
6945 | (any_help_event_p, x_draw_glyph_string_background, x_display_ok): |
6946 | Use bool for booleans. | |
35e951cd | 6947 | (x_draw_glyph_string_background, cvt_string_to_pixel) |
2f935d86 DA |
6948 | (cvt_pixel_dtor): Drop unnecessary prototypes. |
6949 | * xterm.h (x_display_ok): Adjust prototype. | |
c791c18e | 6950 | |
f435830e DA |
6951 | 2013-07-31 Dmitry Antipov <dmantipov@yandex.ru> |
6952 | ||
6953 | Drop unnecessary functions that deals with frame pixel size. | |
6954 | * frame.h, msdos.h, w32term.h, xterm.h (x_pixel_width) | |
6955 | (x_pixel_height): Drop prototypes. | |
6956 | * msdos.c, nsfns.m, w32fns.c, xfns.c (x_pixel_width) | |
6957 | (x_pixel_height): Drop implementations. | |
6958 | * frame.c (Fframe_pixel_height): Use FRAME_PIXEL_HEIGHT | |
6959 | which should be always valid for window frame. | |
6960 | (Frame_pixel_width): Likewise with FRAME_PIXEL_WIDTH. | |
6961 | * w32menu.c (Fx_popup_dialog): | |
6962 | * xmenu.c (Fx_popup_dialog): Likewise for both. | |
6963 | ||
84231434 DA |
6964 | 2013-07-31 Dmitry Antipov <dmantipov@yandex.ru> |
6965 | ||
6966 | * frame.c (Fmake_terminal_frame): Use store_in_alist to setup | |
6967 | frame parameters and call to Fmodify_frame_parameters just once. | |
4c131798 DA |
6968 | (Fset_frame_height, Fset_frame_width): Mention nil frame in docstring. |
6969 | (Fset_frame_size, Fset_frame_position): Use decode_live_frame | |
6970 | and mention nil frame in docstring. | |
84231434 | 6971 | |
959067a1 DA |
6972 | 2013-07-31 Dmitry Antipov <dmantipov@yandex.ru> |
6973 | ||
6974 | * frame.c (make_frame, x_set_frame_parameters): Use bool for boolean. | |
6975 | (x_figure_window_size): Likewise. Adjust to return long. | |
6976 | (syms_of_frame): Do not DEFSYM Qterminal_live_p. | |
6977 | (toplevel): Move Qterminal_live_p to... | |
6978 | * terminal.c (toplevel): ...here, make it static, and... | |
6979 | (syms_of_terminal): ...DEFSYM here. | |
6980 | * frame.h (Qterminal_live_p): Remove declaration. | |
6981 | (make_frame, x_figure_window_size): Adjust prototype. | |
6982 | * nsfns.m (Fx_create_frame): Use long for window flags. | |
6983 | ||
f4b169ce PE |
6984 | 2013-07-30 Paul Eggert <eggert@cs.ucla.edu> |
6985 | ||
6986 | Fix tempfile bug on platforms lacking mkostemp and mkstemp (Bug#14986). | |
6987 | * callproc.c (create_temp_file) [! (HAVE_MKOSTEMP || HAVE_MKSTEMP)]: | |
6988 | Do not assume that emacs_close (INT_MAX) is a no-op. | |
6989 | ||
bee6a2c7 DA |
6990 | 2013-07-30 Dmitry Antipov <dmantipov@yandex.ru> |
6991 | ||
6992 | * xfaces.c (make_face_cache): For struct face_cache, prefer | |
6993 | xmalloc to xzalloc and so avoid redundant call to memset. | |
6994 | (Finternal_set_lisp_face_attribute): Fix comment typo and style. | |
6995 | ||
d7e6881a DA |
6996 | 2013-07-30 Dmitry Antipov <dmantipov@yandex.ru> |
6997 | ||
6998 | * fringe.c (draw_window_fringes, update_window_fringes) | |
6999 | (compute_fringe_widths): | |
7000 | * w32term.c (x_draw_glyph_string): | |
7001 | * window.c (candidate_window_p, Frecenter): | |
7002 | * xfaces.c (realize_basic_faces, realize_default_face) | |
7003 | (Fbitmap_space_p, Finternal_set_lisp_face_attribute) | |
7004 | (x_update_menu_appearance, face_attr_equal_p, lface_equal_p): | |
7005 | * xfns.c (x_set_cursor_color, xic_free_xfontset): | |
7006 | * xmenu.c (Fx_menu_bar_open_internal): | |
7007 | * xselect.c (x_reply_selection_request, Fx_get_atom_name): | |
7008 | * xsettings.c (xft_settings_event): | |
7009 | * xterm.c (x_draw_glyph_string, x_had_errors_p): | |
7010 | Use bool for booleans. Adjust style and comments where | |
7011 | appropriate. | |
7012 | * dispextern.h (draw_window_fringes, update_window_fringes) | |
7013 | (compute_fringe_widths): | |
7014 | * xterm.h (x_had_errors_p): Adjust prototype. | |
7015 | ||
ec3058af DA |
7016 | 2013-07-30 Dmitry Antipov <dmantipov@yandex.ru> |
7017 | ||
7018 | * frame.c (Fmodify_frame_parameters): Always check 2nd arg with | |
7019 | CHECK_LIST. Rewrite the loop to avoid useless local variable. | |
7020 | ||
218e0637 DA |
7021 | 2013-07-29 Dmitry Antipov <dmantipov@yandex.ru> |
7022 | ||
7023 | * fns.c (toplevel): Remove comment before Fsafe_length because | |
7024 | it checks for QUIT. | |
7025 | ||
e560aba9 PE |
7026 | 2013-07-28 Paul Eggert <eggert@cs.ucla.edu> |
7027 | ||
7028 | * frame.c (delete_frame): Avoid unnecessary 'this_f' test (Bug#14970). | |
7029 | ||
2e5ce5de EZ |
7030 | 2013-07-28 Eli Zaretskii <eliz@gnu.org> |
7031 | ||
7032 | * w32fns.c (w32_wnd_proc) <WM_IME_STARTCOMPOSITION>: Make sure the | |
7033 | frame which got the message is still alive, before dereferencing | |
7034 | its pointer. (Bug#14970) | |
7035 | ||
7036 | * frame.c (delete_frame): Test "this" frame's minibuffer window to | |
7037 | be a live window, before using it as such. (Bug#14970) | |
7038 | ||
e95da6d3 EZ |
7039 | 2013-07-27 Eli Zaretskii <eliz@gnu.org> |
7040 | ||
7041 | * w32term.c (w32_read_socket) <WM_KILLFOCUS>: Call | |
7042 | w32_detect_focus_change instead of doing part of its job by hand. | |
7043 | This fixes the problem whereby FOCUS_OUT events were not sent to | |
7044 | the event queue. | |
7045 | ||
a8f93651 EZ |
7046 | 2013-07-26 Eli Zaretskii <eliz@gnu.org> |
7047 | ||
fec92060 EZ |
7048 | * process.c (Fprocess_list): Doc fix. |
7049 | ||
a8f93651 EZ |
7050 | * w32term.c (w32_read_socket) <WM_EMACS_PAINT>: Warn about frame |
7051 | being re-exposed only if it didn't ask to become visible. | |
7052 | <WM_SIZE>: Under SIZE_RESTORED, only set the frame visible if it | |
7053 | was previously iconified. (Bug#14841) | |
7054 | (x_iconify_frame): Mark the frame iconified. | |
7055 | ||
d5a7a9d9 PE |
7056 | 2013-07-26 Paul Eggert <eggert@cs.ucla.edu> |
7057 | ||
7058 | Fix minor problems found by static checking. | |
7059 | * eval.c (get_backtrace_frame, backtrace_eval_unrewind): Now static. | |
7060 | (backtrace_eval_unrewind): ';' -> '{}' to pacify GCC. | |
7061 | ||
56ea7291 SM |
7062 | 2013-07-26 Stefan Monnier <monnier@iro.umontreal.ca> |
7063 | ||
7064 | * eval.c (set_specpdl_old_value): New function. | |
7065 | (unbind_to): Minor simplification. | |
7066 | (get_backtrace_frame): New function. | |
7067 | (Fbacktrace_frame): Use it. Add `base' argument. | |
7068 | (backtrace_eval_unrewind, Fbacktrace_eval): New functions. | |
7069 | (syms_of_eval): Export backtrace-eval. | |
7070 | * xterm.c (x_focus_changed): Simplify. | |
7071 | ||
9d611ffe PE |
7072 | 2013-07-25 Paul Eggert <eggert@cs.ucla.edu> |
7073 | ||
7074 | * fileio.c (Finsert_file_contents): Avoid double-close (Bug#14936). | |
7075 | ||
999c74e3 EZ |
7076 | 2013-07-24 Eli Zaretskii <eliz@gnu.org> |
7077 | ||
7078 | * xdisp.c (redisplay_window): Instead of moving point out of | |
7079 | scroll margin, reject the force_start method, and try scrolling | |
7080 | instead. (Bug#14780) | |
7081 | ||
198fa217 KB |
7082 | 2013-07-24 Ken Brown <kbrown@cornell.edu> |
7083 | ||
7084 | * alloc.c (make_save_ptr): Define if HAVE_NTGUI is defined | |
7085 | (Bug#14944). | |
7086 | ||
53840e55 PE |
7087 | 2013-07-24 Paul Eggert <eggert@cs.ucla.edu> |
7088 | ||
7089 | * eval.c (Fprogn): Do not check that BODY is a proper list. | |
7090 | This undoes the previous change. The check slows down the | |
7091 | interpreter, and is not needed to prevent a crash. See | |
7092 | <http://lists.gnu.org/archive/html/emacs-devel/2013-07/msg00693.html>. | |
7093 | ||
60967f56 GM |
7094 | 2013-07-23 Glenn Morris <rgm@gnu.org> |
7095 | ||
7096 | * Makefile.in ($(etc)/DOC, temacs$(EXEEXT)): Ensure etc/ exists. | |
7097 | ||
9ca960e2 PE |
7098 | 2013-07-23 Paul Eggert <eggert@cs.ucla.edu> |
7099 | ||
a29c3e6d PE |
7100 | Port to GNU/Linux systems with tinfo but not ncurses. |
7101 | * dispnew.c (init_display): Depend on USE_NCURSES, not GNU_LINUX, | |
7102 | to decide whether ncurses is being used. Without this change, | |
7103 | GCC complains about tgetent not being declared, on a system | |
7104 | that has tinfo installed but ncurses not installed. | |
7105 | ||
f274311c PE |
7106 | * eval.c (Fprogn): Check that BODY is a proper list. |
7107 | ||
16b0520a PE |
7108 | Tune UNEVALLED functions by using XCAR instead of Fcar, etc. |
7109 | * data.c (Fsetq_default): | |
7110 | * eval.c (Fif, Fcond, Fprog1, Fsetq, Fquote, Ffunction, Fdefvar) | |
7111 | (Fdefconst, FletX, Flet, Fwhile, Fcatch, Funwind_protect) | |
7112 | (Fcondition_case): | |
7113 | Tune by taking advantage of the fact that ARGS is always a list | |
7114 | when a function is declared to have UNEVALLED args. | |
7115 | ||
9ca960e2 PE |
7116 | * emacsgtkfixed.c: Port to GCC 4.6. |
7117 | GCC 4.6 complains about -Wunused-local-typedefs, introduced in 4.7. | |
7118 | ||
afacaa1b JB |
7119 | 2013-07-23 Juanma Barranquero <lekktu@gmail.com> |
7120 | ||
7121 | * callproc.c (child_setup)[!WINDOWSNT]: Move exec_errno and pid | |
7122 | here to silence compiler warnings. | |
7123 | ||
368a85a4 PE |
7124 | 2013-07-22 Paul Eggert <eggert@cs.ucla.edu> |
7125 | ||
7126 | * sysdep.c (frame) [__FreeBSD__]: #define to freebsd_frame | |
7127 | when including <sys/user.h>, to prevent Sparc/ARM machine/frame.h | |
7128 | from messing up Emacs's 'struct frame' (Bug#14923). | |
7129 | ||
f4e891b5 PE |
7130 | 2013-07-21 Paul Eggert <eggert@cs.ucla.edu> |
7131 | ||
7132 | * alloc.c (make_save_ptr_ptr): Define this function. | |
7133 | It was inadvertently omitted. It's needed only if | |
7134 | HAVE_MENUS && ! (USE_X_TOOLKIT || USE_GTK). | |
7135 | ||
96c8b65e JD |
7136 | 2013-07-21 Jan Djärv <jan.h.d@swipnet.se> |
7137 | ||
7138 | * nsterm.m (sendEvent:): Skip mouse moved if no dialog and no Emacs | |
7139 | frame have focus (Bug#14895). | |
7140 | ||
ee010797 PE |
7141 | 2013-07-21 Paul Eggert <eggert@cs.ucla.edu> |
7142 | ||
7143 | Avoid vfork-related deadlock more cleanly. | |
7144 | * callproc.c (child_setup): When the child's exec fails, output | |
7145 | the program name, as that's more useful. Use O_NONBLOCK to avoid | |
7146 | deadlock. | |
7147 | * process.c (create_process_1): Remove; no longer needed. | |
7148 | (create_process): Remove timer hack; no longer needed, now that | |
7149 | the child avoids deadlock. | |
7150 | ||
f0398ec1 | 7151 | 2013-07-20 Glenn Morris <rgm@gnu.org> |
8bfcc21a GM |
7152 | |
7153 | * image.c (Fimage_flush): Fix doc typo. | |
7154 | ||
b2a069c2 PE |
7155 | 2013-07-20 Paul Eggert <eggert@cs.ucla.edu> |
7156 | ||
6496aec9 PE |
7157 | Fix array bounds violation when pty allocation fails. |
7158 | * process.c (PTY_NAME_SIZE): New constant. | |
7159 | (pty_name): Remove static variable; it's now auto. | |
7160 | (allocate_pty): Define even if !HAVE_PTYS; that's simpler. | |
7161 | Take pty_name as an arg rather than using a static variable. | |
7162 | All callers changed. | |
7163 | (create_process): Recover pty_flag from process, not from volatile local. | |
7164 | (create_pty): Stay inside array even when pty allocation fails. | |
7165 | (Fmake_serial_process): Omit unnecessary initializaiton of pty_flag. | |
7166 | ||
b2a069c2 PE |
7167 | * lread.c (Fload): Avoid initialization only when lint checking. |
7168 | Mention that it's needed only for older GCCs. | |
7169 | ||
99107004 KH |
7170 | 2013-07-20 Kenichi Handa <handa@gnu.org> |
7171 | ||
7172 | * coding.c (CODING_ISO_FLAG_LEVEL_4): New macro. | |
7173 | (decode_coding_iso_2022): Check the single-shift area. (Bug#8522) | |
7174 | ||
6b1b199d AS |
7175 | 2013-07-20 Andreas Schwab <schwab@linux-m68k.org> |
7176 | ||
7177 | * lread.c (Fload): Avoid uninitialized warning. | |
7178 | ||
4195afc3 PE |
7179 | 2013-07-19 Paul Eggert <eggert@cs.ucla.edu> |
7180 | ||
3f5bef16 PE |
7181 | Fix some minor file descriptor leaks and related glitches. |
7182 | * filelock.c (create_lock_file) [!O_CLOEXEC]: Use fcntl with FD_CLOEXEC. | |
7183 | (create_lock_file): Use write, not emacs_write. | |
7184 | * image.c (slurp_file, png_load_body): | |
7185 | * process.c (Fnetwork_interface_list, Fnetwork_interface_info) | |
7186 | (server_accept_connection): | |
7187 | Don't leak an fd on memory allocation failure. | |
7188 | * image.c (slurp_file): Add a cheap heuristic for growing files. | |
7189 | * xfaces.c (Fx_load_color_file): Block input around the fopen too, | |
7190 | as that's what the other routines do. Maybe input need not be | |
7191 | blocked at all, but it's better to be consistent. | |
7192 | Avoid undefined behavior when strlen is zero. | |
7193 | ||
4195afc3 PE |
7194 | * alloc.c (staticpro): Avoid buffer overrun on repeated calls. |
7195 | (NSTATICS): Now a constant; doesn't need to be a macro. | |
7196 | ||
a1aeeffe RS |
7197 | 2013-07-19 Richard Stallman <rms@gnu.org> |
7198 | ||
7199 | * coding.c (decode_coding_utf_8): Add simple loop for fast | |
7200 | processing of ASCII characters. | |
7201 | ||
63b34baa PE |
7202 | 2013-07-19 Paul Eggert <eggert@cs.ucla.edu> |
7203 | ||
7204 | * conf_post.h (RE_TRANSLATE_P) [emacs]: Remove obsolete optimization. | |
7205 | ||
621dd9ac EZ |
7206 | 2013-07-19 Eli Zaretskii <eliz@gnu.org> |
7207 | ||
7208 | * keyboard.c (kbd_buffer_get_event): Use Display_Info instead of | |
7209 | unportable 'struct x_display_info'. | |
7210 | (DISPLAY_LIST_INFO): Delete macro: not needed, since Display_Info | |
7211 | is a portable type. | |
7212 | ||
1396ac86 PE |
7213 | 2013-07-19 Paul Eggert <eggert@cs.ucla.edu> |
7214 | ||
ab9980cd PE |
7215 | * sysdep.c [GNU_LINUX]: Fix fd and memory leaks and similar issues. |
7216 | (procfs_ttyname): Don't use uninitialized storage if emacs_fopen | |
7217 | or fscanf fails. | |
7218 | (system_process_attributes): Prefer plain char to unsigned char | |
7219 | when either will do. Clean up properly if interrupted or if | |
068f9124 SM |
7220 | memory allocations fail. Don't assume sscanf succeeds. |
7221 | Remove no-longer-needed workaround to stop GCC from whining. | |
7222 | Read command-line once, instead of multiple times. Check read status a | |
ab9980cd PE |
7223 | bit more carefully. |
7224 | ||
1396ac86 PE |
7225 | Fix obscure porting bug with varargs functions. |
7226 | The code assumed that int is treated like ptrdiff_t in a vararg | |
7227 | function, which is not a portable assumption. There was a similar | |
7228 | -- though these days less likely -- porting problem with various | |
7229 | assumptions that pointers of different types all smell the same as | |
7230 | far as vararg functions is conserved. To make this problem less | |
7231 | likely in the future, redo the API to use varargs functions. | |
7232 | * alloc.c (make_save_value): Remove this vararg function. | |
7233 | All uses changed to ... | |
7234 | (make_save_int_int_int, make_save_obj_obj_obj_obj) | |
7235 | (make_save_ptr_int, make_save_funcptr_ptr_obj, make_save_memory): | |
7236 | New functions. | |
7237 | (make_save_ptr): Rename from make_save_pointer, for consistency with | |
7238 | the above. Define only on platforms that need it. All uses changed. | |
7239 | ||
4d19d194 PE |
7240 | 2013-07-18 Paul Eggert <eggert@cs.ucla.edu> |
7241 | ||
7242 | * keyboard.c: Try to fix typos in previous change. | |
7243 | (DISPLAY_LIST_INFO): New macro. | |
7244 | (kbd_buffer_get_event): Do not access members that are not present | |
c7064f05 | 7245 | in X11. Revert inadvertent change of "!=" to "=". |
4d19d194 | 7246 | |
945c5bb1 JB |
7247 | 2013-07-18 Juanma Barranquero <lekktu@gmail.com> |
7248 | ||
7249 | * keyboard.c (kbd_buffer_get_event): | |
7250 | * w32term.c (x_focus_changed): Port FOCUS_(IN|OUT)_EVENT changes to W32. | |
7251 | Followup to 2013-07-16T11:41:06Z!jan.h.d@swipnet.se. | |
7252 | ||
f4b1eb36 PE |
7253 | 2013-07-18 Paul Eggert <eggert@cs.ucla.edu> |
7254 | ||
5e679a2c PE |
7255 | * filelock.c: Fix unlikely file descriptor leaks. |
7256 | (get_boot_time_1): Rework to avoid using emacs_open. | |
7257 | This doesn't actually fix a leak, but is better anyway. | |
7258 | (read_lock_data): Use read, not emacs_read. | |
7259 | ||
a8cd4836 PE |
7260 | * doc.c: Fix minor memory and file descriptor leaks. |
7261 | * doc.c (get_doc_string): Fix memory leak when doc file absent. | |
7262 | (get_doc_string, Fsnarf_documentation): | |
7263 | Fix file descriptor leak on error. | |
7264 | ||
ef30e638 PE |
7265 | * term.c: Fix minor fdopen-related file descriptor leaks. |
7266 | * term.c (Fresume_tty) [!MSDOS]: Close fd if fdopen (fd) fails. | |
7267 | (init_tty) [!DOS_NT]: Likewise. Also close fd if isatty (fd) fails. | |
7268 | ||
f4b1eb36 PE |
7269 | * charset.c: Fix file descriptor leaks and errno issues. |
7270 | Include <errno.h>. | |
7271 | (load_charset_map_from_file): Don't leak file descriptor on error. | |
7272 | Use plain record_xmalloc since the allocation is larger than | |
7273 | MAX_ALLOCA; that's simpler here. Simplify test for exhaustion | |
7274 | of entries. | |
7275 | * eval.c (record_unwind_protect_nothing): | |
7276 | * fileio.c (fclose_unwind): | |
7277 | New functions. | |
7278 | * lread.c (load_unwind): Remove. All uses replaced by fclose_unwind. | |
7279 | The replacement doesn't block input, but that no longer seems | |
7280 | necessary. | |
7281 | ||
b648c163 PE |
7282 | 2013-07-17 Paul Eggert <eggert@cs.ucla.edu> |
7283 | ||
a0931322 PE |
7284 | * lread.c: Fix file descriptor leaks and errno issues. |
7285 | (Fload): Close some races that leaked fds or streams when 'load' | |
7286 | was interrupted. | |
7287 | (Fload, openp): Report error number of last nontrivial failure to open. | |
7288 | ENOENT counts as trivial. | |
7289 | * eval.c (do_nothing, clear_unwind_protect, set_unwind_protect_ptr): | |
7290 | New functions. | |
7291 | * fileio.c (close_file_unwind): No need to test whether FD is nonnegative, | |
7292 | now that the function is always called with a nonnegative arg. | |
7293 | * lisp.h (set_unwind_protect_ptr, set_unwind_protect_int): Remove. | |
7294 | All uses replaced with ... | |
7295 | (clear_unwind_protect, set_unwind_protect_ptr): New decls. | |
7296 | ||
b648c163 PE |
7297 | A few more minor file errno-reporting bugs. |
7298 | * callproc.c (Fcall_process): | |
7299 | * doc.c (Fsnarf_documentation): | |
7300 | * fileio.c (Frename_file, Fadd_name_to_file, Fmake_symbolic_link): | |
7301 | * process.c (set_socket_option): | |
7302 | Don't let a constructor trash errno. | |
7303 | * doc.c: Include <errno.h>. | |
7304 | ||
b1dc4084 JB |
7305 | 2013-07-16 Juanma Barranquero <lekktu@gmail.com> |
7306 | ||
7307 | * w32fns.c (unwind_create_tip_frame): Fix declaration. | |
7308 | ||
c43843aa PE |
7309 | 2013-07-16 Paul Eggert <eggert@cs.ucla.edu> |
7310 | ||
50a30cce PE |
7311 | Fix w32 bug with call-process-region (Bug#14885). |
7312 | * callproc.c (Fcall_process_region): Pass nil, not "/dev/null", | |
7313 | to Fcall_process when the input is empty. This simplifies the | |
7314 | code a bit. It makes no difference on POSIXish platforms but | |
7315 | apparently it fixes a bug on w32. | |
7316 | ||
44e18199 | 7317 | Fix bug where insert-file-contents closes a file twice (Bug#14839). |
41d48a42 PE |
7318 | * fileio.c (close_file_unwind): Don't close if FD is negative; |
7319 | this can happen when unwinding a zapped file descriptor. | |
7320 | (Finsert_file_contents): Unwind-protect the fd before the point marker, | |
7321 | in case Emacs runs out of memory between the two unwind-protects. | |
7322 | Don't trash errno when closing FD. | |
7323 | Zap the FD in the specpdl when closing it, instead of deferring | |
7324 | the removal of the unwind-protect; this fixes a bug where a child | |
7325 | function unwinds the stack past us. | |
7326 | ||
27e498e6 PE |
7327 | New unwind-protect flavors to better type-check C callbacks. |
7328 | This also lessens the need to write wrappers for callbacks, | |
7329 | and the need for make_save_pointer. | |
a12bf61e | 7330 | * alloc.c (free_save_value): |
27e498e6 PE |
7331 | * atimer.c (run_all_atimers): |
7332 | Now extern. | |
7333 | * alloc.c (safe_alloca_unwind): | |
7334 | * atimer.c (unwind_stop_other_atimers): | |
7335 | * keyboard.c (cancel_hourglass_unwind) [HAVE_WINDOW_SYSTEM]: | |
7336 | * menu.c (cleanup_popup_menu) [HAVE_NS]: | |
7337 | * minibuf.c (choose_minibuf_frame_1): | |
7338 | * process.c (make_serial_process_unwind): | |
a12bf61e | 7339 | * xdisp.c (pop_message_unwind): |
27e498e6 PE |
7340 | * xselect.c (queue_selection_requests_unwind): |
7341 | Remove no-longer-needed wrapper. All uses replaced by the wrappee. | |
a12bf61e | 7342 | * alloc.c (record_xmalloc): |
27e498e6 PE |
7343 | Prefer record_unwind_protect_ptr to record_unwind_protect with |
7344 | make_save_pointer. | |
a12bf61e | 7345 | * alloc.c (Fgarbage_collect): |
27e498e6 PE |
7346 | Prefer record_unwind_protect_void to passing a dummy. |
7347 | * buffer.c (restore_buffer): | |
7348 | * window.c (restore_window_configuration): | |
7349 | * xfns.c, w32fns.c (do_unwind_create_frame) | |
7350 | New wrapper. All record-unwind uses of wrappee changed. | |
7351 | * buffer.c (set_buffer_if_live): | |
7352 | * callproc.c (call_process_cleanup, delete_temp_file): | |
7353 | * coding.c (code_conversion_restore): | |
7354 | * dired.c (directory_files_internal_w32_unwind) [WINDOWSNT]: | |
7355 | * editfns.c (save_excursion_restore) | |
7356 | (subst_char_in_region_unwind, subst_char_in_region_unwind_1) | |
7357 | (save_restriction_restore): | |
7358 | * eval.c (restore_stack_limits, un_autoload): | |
7359 | * fns.c (require_unwind): | |
7360 | * keyboard.c (recursive_edit_unwind, tracking_off): | |
7361 | * lread.c (record_load_unwind, load_warn_old_style_backquotes): | |
7362 | * macros.c (pop_kbd_macro, restore_menu_items): | |
7363 | * nsfns.m (unwind_create_frame): | |
7364 | * print.c (print_unwind): | |
7365 | * process.c (start_process_unwind): | |
7366 | * search.c (unwind_set_match_data): | |
7367 | * window.c (select_window_norecord, select_frame_norecord): | |
7368 | * xdisp.c (unwind_with_echo_area_buffer, unwind_format_mode_line) | |
7369 | (fast_set_selected_frame): | |
7370 | * xfns.c, w32fns.c (unwind_create_tip_frame): | |
7371 | Return void, not a dummy Lisp_Object. All uses changed. | |
7372 | * buffer.h (set_buffer_if_live): Move decl here from lisp.h. | |
7373 | * callproc.c (call_process_kill): | |
7374 | * fileio.c (restore_point_unwind, decide_coding_unwind) | |
7375 | (build_annotations_unwind): | |
7376 | * insdel.c (Fcombine_after_change_execute_1): | |
7377 | * keyboard.c (read_char_help_form_unwind): | |
7378 | * menu.c (unuse_menu_items): | |
7379 | * minibuf.c (run_exit_minibuf_hook, read_minibuf_unwind): | |
7380 | * sound.c (sound_cleanup): | |
7381 | * xdisp.c (unwind_redisplay): | |
7382 | * xfns.c (clean_up_dialog): | |
7383 | * xselect.c (x_selection_request_lisp_error, x_catch_errors_unwind): | |
7384 | Accept no args and return void, instead of accepting and returning | |
7385 | a dummy Lisp_Object. All uses changed. | |
7386 | * cygw32.c (fchdir_unwind): | |
7387 | * fileio.c (close_file_unwind): | |
7388 | * keyboard.c (restore_kboard_configuration): | |
7389 | * lread.c (readevalllop_1): | |
7390 | * process.c (wait_reading_process_output_unwind): | |
7391 | Accept int and return void, rather than accepting an Emacs integer | |
7392 | and returning a dummy object. In some cases this fixes an | |
7393 | unlikely bug when the corresponding int is outside Emacs integer | |
7394 | range. All uses changed. | |
7395 | * dired.c (directory_files_internal_unwind): | |
7396 | * fileio.c (do_auto_save_unwind): | |
7397 | * gtkutil.c (pop_down_dialog): | |
7398 | * insdel.c (reset_var_on_error): | |
7399 | * lread.c (load_unwind): | |
7400 | * xfns.c (clean_up_file_dialog): | |
7401 | * xmenu.c, nsmenu.m (pop_down_menu): | |
7402 | * xmenu.c (cleanup_widget_value_tree): | |
7403 | * xselect.c (wait_for_property_change_unwind): | |
7404 | Accept pointer and return void, rather than accepting an Emacs | |
7405 | save value encapsulating the pointer and returning a dummy object. | |
7406 | All uses changed. | |
7407 | * editfns.c (Fformat): Update the saved pointer directly via | |
7408 | set_unwind_protect_ptr rather than indirectly via make_save_pointer. | |
7409 | * eval.c (specpdl_func): Remove. All uses replaced by definiens. | |
7410 | (unwind_body): New function. | |
7411 | (record_unwind_protect): First arg is now a function returning void, | |
7412 | not a dummy Lisp_Object. | |
7413 | (record_unwind_protect_ptr, record_unwind_protect_int) | |
7414 | (record_unwind_protect_void): New functions. | |
7415 | (unbind_to): Support SPECPDL_UNWIND_PTR etc. | |
7416 | * fileio.c (struct auto_save_unwind): New type. | |
7417 | (do_auto_save_unwind): Use it. | |
7418 | (do_auto_save_unwind_1): Remove; subsumed by new do_auto_save_unwind. | |
7419 | * insdel.c (struct rvoe_arg): New type. | |
7420 | (reset_var_on_error): Use it. | |
7421 | * lisp.h (SPECPDL_UNWIND_PTR, SPECPDL_UNWIND_INT, SPECPDL_UNWIND_VOID): | |
7422 | New constants. | |
7423 | (specbinding_func): Remove; there are now several such functions. | |
7424 | (union specbinding): New members unwind_ptr, unwind_int, unwind_void. | |
7425 | (set_unwind_protect_ptr): New function. | |
7426 | * xselect.c: Remove unnecessary forward decls, to simplify maintenance. | |
7427 | ||
4e604a5d PE |
7428 | Be simpler and more consistent about reporting I/O errors. |
7429 | * fileio.c (Fcopy_file, Finsert_file_contents, Fwrite_region): | |
7430 | Say "Read error" and "Write error", rather than "I/O error", or | |
7431 | "IO error reading", or "IO error writing", when a read or write | |
7432 | error occurs. | |
7433 | * process.c (Fmake_network_process, wait_reading_process_output) | |
7434 | (send_process, Fprocess_send_eof, wait_reading_process_output): | |
7435 | Capitalize diagnostics consistently. Put "failed foo" at the | |
7436 | start of the diagnostic, so that we don't capitalize the | |
7437 | function name "foo". Consistently say "failed" for such | |
7438 | diagnostics. | |
7439 | * sysdep.c, w32.c (serial_open): Now accepts Lisp string, not C string. | |
7440 | All callers changed. This is so it can use report_file_error. | |
7441 | * sysdep.c (serial_open, serial_configure): Capitalize I/O | |
7442 | diagnostics consistently as above. | |
7443 | ||
a9757f6a PE |
7444 | * fileio.c (report_file_errno): Fix errno reporting bug. |
7445 | If the file name is neither null nor a pair, package it up as a | |
7446 | singleton list. All callers changed, both to this function and to | |
7447 | report_file_error. This fixes a bug where the memory allocator | |
7448 | invoked by list1 set errno so that the immediately following | |
7449 | report_file_error reported the wrong errno value. | |
7450 | ||
c43843aa PE |
7451 | Fix minor problems found by --enable-gcc-warnings. |
7452 | * frame.c (Fhandle_focus_in, Fhandle_focus_out): Return a value. | |
7453 | * keyboard.c (kbd_buffer_get_event): Remove unused local. | |
7454 | ||
18c26d81 JD |
7455 | 2013-07-16 Jan Djärv <jan.h.d@swipnet.se> |
7456 | ||
7457 | * xterm.c (x_focus_changed): Always generate FOCUS_IN_EVENT. | |
7458 | Set event->arg to Qt if switch-event shall be generated. | |
7459 | Generate FOCUS_OUT_EVENT for FocusOut if this is the focused frame. | |
7460 | ||
7461 | * termhooks.h (enum event_kind): Add FOCUS_OUT_EVENT. | |
7462 | ||
7463 | * nsterm.m (windowDidResignKey): If this is the focused frame, generate | |
7464 | FOCUS_OUT_EVENT. | |
7465 | ||
7466 | * keyboard.c (Qfocus_in, Qfocus_out): New static objects. | |
7467 | (make_lispy_focus_in, make_lispy_focus_out): Declare and define. | |
7468 | (kbd_buffer_get_event): For FOCUS_IN, make a focus_in event if no | |
7469 | switch frame event is made. Check ! NILP (event->arg) if X11 (moved | |
44e18199 | 7470 | from xterm.c). Make focus_out event for FOCUS_OUT_EVENT if NS or X11 |
18c26d81 JD |
7471 | and there is a focused frame. |
7472 | (head_table): Add focus-in and focus-out. | |
7473 | (keys_of_keyboard): Add focus-in and focus-out to Vspecial_event_map, | |
7474 | bind to handle-focus-in/out. | |
7475 | ||
7476 | * frame.c (Fhandle_focus_in, Fhandle_focus_out): New functions. | |
7477 | (Fhandle_switch_frame): Call Fhandle_focus_in. | |
7478 | (syms_of_frame): defsubr handle-focus-in/out. | |
7479 | ||
6c6f1994 PE |
7480 | 2013-07-16 Paul Eggert <eggert@cs.ucla.edu> |
7481 | ||
c7ddc792 PE |
7482 | Fix porting bug to older POSIXish platforms (Bug#14862). |
7483 | * sysdep.c (emacs_pipe): New function, that implements | |
7484 | pipe2 (fd, O_CLOEXEC) even on hosts that lack O_CLOEXEC. | |
7485 | This should port better to CentOS 5 and to Mac OS X 10.6. | |
7486 | All calls to pipe2 changed. | |
7487 | ||
6c6f1994 PE |
7488 | Prefer list1 (X) to Fcons (X, Qnil) when building lists. |
7489 | This makes the code easier to read and the executable a bit smaller. | |
7490 | Do not replace all calls to Fcons that happen to create lists, | |
7491 | just calls that are intended to create lists. For example, when | |
7492 | creating an alist that maps FOO to nil, use list1 (Fcons (FOO, Qnil)) | |
7493 | rather than list1 (list1 (FOO)) or Fcons (Fcons (FOO, Qnil), Qnil). | |
7494 | Similarly for list2 through list5. | |
7495 | * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): | |
7496 | * bytecode.c (exec_byte_code): | |
7497 | * callint.c (quotify_arg, Fcall_interactively): | |
7498 | * callproc.c (Fcall_process, create_temp_file): | |
7499 | * charset.c (load_charset_map_from_file) | |
7500 | (Fdefine_charset_internal, init_charset): | |
7501 | * coding.c (get_translation_table, detect_coding_system) | |
7502 | (Fcheck_coding_systems_region) | |
7503 | (Fset_terminal_coding_system_internal) | |
7504 | (Fdefine_coding_system_internal, Fdefine_coding_system_alias): | |
7505 | * composite.c (update_compositions, Ffind_composition_internal): | |
7506 | * dired.c (directory_files_internal, file_name_completion) | |
7507 | (Fsystem_users): | |
7508 | * dispnew.c (Fopen_termscript, bitch_at_user, init_display): | |
7509 | * doc.c (Fsnarf_documentation): | |
7510 | * editfns.c (Fmessage_box): | |
7511 | * emacs.c (main): | |
7512 | * eval.c (do_debug_on_call, signal_error, maybe_call_debugger) | |
7513 | (Feval, eval_sub, Ffuncall, apply_lambda): | |
7514 | * fileio.c (make_temp_name, Fcopy_file, Faccess_file) | |
7515 | (Fset_file_selinux_context, Fset_file_acl, Fset_file_modes) | |
7516 | (Fset_file_times, Finsert_file_contents) | |
7517 | (Fchoose_write_coding_system, Fwrite_region): | |
7518 | * fns.c (Flax_plist_put, Fyes_or_no_p, syms_of_fns): | |
7519 | * font.c (font_registry_charsets, font_parse_fcname) | |
7520 | (font_prepare_cache, font_update_drivers, Flist_fonts): | |
7521 | * fontset.c (Fset_fontset_font, Ffontset_info, syms_of_fontset): | |
7522 | * frame.c (make_frame, Fmake_terminal_frame) | |
7523 | (x_set_frame_parameters, x_report_frame_params) | |
7524 | (x_default_parameter, Fx_parse_geometry): | |
7525 | * ftfont.c (syms_of_ftfont): | |
7526 | * image.c (gif_load): | |
7527 | * keyboard.c (command_loop_1): | |
7528 | * keymap.c (Fmake_keymap, Fmake_sparse_keymap, access_keymap_1) | |
7529 | (Fcopy_keymap, append_key, Fcurrent_active_maps) | |
7530 | (Fminor_mode_key_binding, accessible_keymaps_1) | |
7531 | (Faccessible_keymaps, Fwhere_is_internal): | |
7532 | * lread.c (read_emacs_mule_char): | |
7533 | * menu.c (find_and_return_menu_selection): | |
7534 | * minibuf.c (get_minibuffer): | |
7535 | * nsfns.m (Fns_perform_service): | |
7536 | * nsfont.m (ns_script_to_charset): | |
7537 | * nsmenu.m (ns_popup_dialog): | |
7538 | * nsselect.m (ns_get_local_selection, ns_string_from_pasteboard) | |
7539 | (Fx_own_selection_internal): | |
7540 | * nsterm.m (append2): | |
7541 | * print.c (Fredirect_debugging_output) | |
7542 | (print_prune_string_charset): | |
7543 | * process.c (Fdelete_process, Fprocess_contact) | |
7544 | (Fformat_network_address, set_socket_option) | |
7545 | (read_and_dispose_of_process_output, write_queue_push) | |
7546 | (send_process, exec_sentinel): | |
7547 | * sound.c (Fplay_sound_internal): | |
7548 | * textprop.c (validate_plist, add_properties) | |
7549 | (Fput_text_property, Fadd_face_text_property) | |
7550 | (copy_text_properties, text_property_list, syms_of_textprop): | |
7551 | * unexaix.c (report_error): | |
7552 | * unexcoff.c (report_error): | |
7553 | * unexsol.c (unexec): | |
7554 | * xdisp.c (redisplay_tool_bar, store_mode_line_string) | |
7555 | (Fformat_mode_line, syms_of_xdisp): | |
7556 | * xfaces.c (set_font_frame_param) | |
7557 | (Finternal_lisp_face_attribute_values) | |
7558 | (Finternal_merge_in_global_face, syms_of_xfaces): | |
7559 | * xfns.c (x_default_scroll_bar_color_parameter) | |
7560 | (x_default_font_parameter, x_create_tip_frame): | |
7561 | * xfont.c (xfont_supported_scripts): | |
7562 | * xmenu.c (Fx_popup_dialog, xmenu_show, xdialog_show) | |
7563 | (menu_help_callback, xmenu_show): | |
7564 | * xml.c (make_dom): | |
7565 | * xterm.c (set_wm_state): | |
7566 | Prefer list1 (FOO) to Fcons (FOO, Qnil) when creating a list, | |
7567 | and similarly for list2 through list5. | |
7568 | ||
bafe80ce PE |
7569 | 2013-07-15 Paul Eggert <eggert@cs.ucla.edu> |
7570 | ||
7571 | * callproc.c (Fcall_process_region): Fix minor race and tune. | |
7572 | (create_temp_file): New function, with the temp-file-creation part | |
7573 | of the old Fcall_process_region. Use Fcopy_sequence to create the | |
7574 | temp file name, rather than alloca + build_string, for simplicity. | |
7575 | Don't bother to block input around the temp file creation; | |
068f9124 SM |
7576 | shouldn't be needed. Simplify use of mktemp. |
7577 | Use record_unwind_protect immediately after creating the temp file; | |
bafe80ce PE |
7578 | this closes an unlikely race where the temp file was not removed. |
7579 | Use memcpy rather than an open-coded loop. | |
7580 | (Fcall_process_region): Use the new function. If the input is | |
7581 | empty, redirect from /dev/null rather than from a newly created | |
7582 | empty temp file; this avoids unnecessary file system traffic. | |
7583 | ||
4700b5a5 PE |
7584 | 2013-07-14 Paul Eggert <eggert@cs.ucla.edu> |
7585 | ||
5c97beae PE |
7586 | * filelock.c (create_lock_file) [!HAVE_MKOSTEMP && !HAVE_MKSTEMP]: |
7587 | Simplify by making this case like the other two. This is a bit | |
7588 | slower on obsolete hosts, but the extra complexity isn't worth it. | |
7589 | ||
4700b5a5 PE |
7590 | * callproc.c (child_setup, relocate_fd) [!DOS_NT]: |
7591 | * process.c (create_process) [!DOS_NT]: | |
7592 | Remove now-unnecessary calls to emacs_close. | |
7593 | ||
f9a74c4c EZ |
7594 | 2013-07-13 Eli Zaretskii <eliz@gnu.org> |
7595 | ||
922ae7ee EZ |
7596 | * w32term.c (x_draw_hollow_cursor): Delete the brush object when |
7597 | returning early. (Bug#14850) | |
7598 | ||
f9a74c4c EZ |
7599 | * coding.c (syms_of_coding): Set up inhibit-null-byte-detection |
7600 | and inhibit-iso-escape-detection attributes of 'undecided'. | |
7601 | (Bug#14822) | |
7602 | ||
5e301d76 PE |
7603 | 2013-07-13 Paul Eggert <eggert@cs.ucla.edu> |
7604 | ||
69e0e5ee PE |
7605 | * deps.mk (sysdep.o): Remove dependency on ../lib/ignore-value.h. |
7606 | Reported by Herbert J. Skuhra in | |
7607 | <http://lists.gnu.org/archive/html/emacs-devel/2013-07/msg00455.html>. | |
7608 | ||
5e301d76 PE |
7609 | Don't lose top specpdl entry when memory is exhausted. |
7610 | * eval.c (grow_specpdl): Increment specpdl top by 1 and check for | |
7611 | specpdl overflow here, to simplify callers; all callers changed. | |
7612 | Always reserve an unused entry at the stack top; this avoids | |
7613 | losing the top entry's information when memory is exhausted. | |
7614 | ||
7e649856 PE |
7615 | 2013-07-12 Paul Eggert <eggert@cs.ucla.edu> |
7616 | ||
a773ed9a PE |
7617 | Clean up errno reporting and fix some errno-reporting bugs. |
7618 | * callproc.c (Fcall_process): | |
7619 | * fileio.c (Fcopy_file, Finsert_file_contents, Fwrite_region): | |
7620 | * process.c (create_process, Fmake_network_process): | |
7621 | * unexaix.c (report_error): | |
7622 | * unexcoff.c (report_error): | |
7623 | Be more careful about reporting the errno of failed operations. | |
7624 | The code previously reported the wrong errno sometimes. | |
7625 | Also, prefer report_file_errno to setting errno + report_file_error. | |
7626 | (Fcall_process): Look at openp return value rather than at path, | |
7627 | as that's a bit faster and clearer when there's a numeric predicate. | |
7628 | * fileio.c (report_file_errno): New function, with most of the | |
7629 | old contents of report_file_error. | |
7630 | (report_file_error): Use it. | |
7631 | (Ffile_exists_p, Ffile_accessible_directory_p): | |
7632 | Set errno to 0 when it is junk. | |
7633 | * fileio.c (Faccess_file): | |
7634 | * image.c (x_create_bitmap_from_file): | |
7635 | Use faccessat rather than opening the file, to avoid the hassle of | |
7636 | having a file descriptor open. | |
7637 | * lisp.h (report_file_errno): New decl. | |
7638 | * lread.c (Flocate_file_internal): File descriptor 0 is valid, too. | |
7639 | ||
7e649856 PE |
7640 | Minor EBADF fixes. |
7641 | * process.c (create_process, wait_reading_process_output) [AIX]: | |
7642 | Remove obsolete SIGHUP-related code, as Emacs no longer disables | |
7643 | SIGHUP, so EBADF is no longer acceptable here (it wouldn't work in | |
7644 | a multithreaded environment anyway). | |
7645 | * sysdep.c (emacs_close): It's not dangerous to invoke emacs_close (-1). | |
7646 | ||
f6774c1a AS |
7647 | 2013-07-12 Andreas Schwab <schwab@linux-m68k.org> |
7648 | ||
7649 | * image.c (x_find_image_file): Don't close a remote file handle. | |
7650 | ||
bacba3c2 PE |
7651 | 2013-07-12 Paul Eggert <eggert@cs.ucla.edu> |
7652 | ||
7653 | Fix races with threads and file descriptors. | |
7654 | * callproc.c (Fcall_process_region): | |
7655 | * dired.c (open_directory): | |
7656 | * emacs.c (main, Fdaemon_initialized): | |
7657 | * image.c (x_find_image_file): | |
7658 | * inotify.c (Finotify_rm_watch): | |
7659 | * lread.c (Flocate_file_internal): | |
7660 | * process.c (Fnetwork_interface_list, Fnetwork_interface_info): | |
7661 | * term.c (term_mouse_moveto, init_tty): | |
7662 | * termcap.c (tgetent): | |
7663 | * unexaix.c, unexcoff.c (report_error, report_error_1, adjust_lnnoptrs) | |
7664 | * unexaix.c, unexcoff.c, unexcw.c, unexelf.c (unexec): | |
7665 | * unexhp9k800.c, unexmacosx.c (unexec): | |
7666 | * callproc.c (Fcall_process_region): | |
7667 | Use emacs_close, not close. | |
7668 | * sysdep.c (POSIX_CLOSE_RESTART, posix_close) [!POSIX_CLOSE_RESTART]: | |
7669 | New macro and function, which emulates the POSIX_CLOSE_RESTART macro | |
7670 | and posix_close function on current platforms (which all lack them). | |
7671 | (emacs_close): Use it. This should fix the races on GNU/Linux and | |
7672 | on AIX and on future platforms that support POSIX_CLOSE_RESTART, | |
7673 | and it should avoid closing random victim file descriptors on | |
7674 | other platforms. | |
7675 | ||
653d4f43 PE |
7676 | 2013-07-11 Paul Eggert <eggert@cs.ucla.edu> |
7677 | ||
c8536ec4 PE |
7678 | * inotify.c (uninitialized): Remove. All uses replaced by -1. |
7679 | (Finotify_add_watch): Simplify, since -1 means uninitialized now. | |
7680 | Touch up doc a bit. | |
7681 | ||
9c203066 PE |
7682 | * eval.c (backtrace_function, backtrace_args): Now EXTERNALLY_VISIBLE. |
7683 | This is for .gdbinit xbacktrace. | |
7684 | ||
653d4f43 PE |
7685 | * sysdep.c, term.c, termcap.c, terminal.c: Integer-related minor fixes. |
7686 | * sysdep.c (emacs_get_tty): Return void, since nobody uses the value. | |
7687 | (emacs_set_tty): Now static. | |
7688 | * sysdep.c (emacs_set_tty, tabs_safe_p, emacs_close): | |
7689 | * term.c (tty_capable_p, tty_default_color_capabilities) | |
7690 | (get_tty_terminal, term_mouse_movement) | |
7691 | (handle_one_term_event, init_tty, maybe_fatal): | |
7692 | * termcap.c (tgetst1, struct termcap_buffer, valid_filename_p) | |
7693 | (tgetent, scan_file, name_match, compare_contin): | |
7694 | * terminal.c (get_terminal): | |
7695 | Use bool for boolean. | |
7696 | * sysdep.c (init_system_name): Don't overflow stack on huge hostname. | |
7697 | Prefer char to unsigned char if either will do. | |
7698 | * term.c (OUTPUT, turn_on_face): Omit unnecessary casts to int. | |
7699 | (tty_write_glyphs): Prefer int to unsigned. | |
7700 | (produce_glyphless_glyph): Remove 2nd (unused) int arg. | |
7701 | All callers changed. | |
7702 | * termcap.c (tprint, main) [TEST]: Remove non-working test. | |
7703 | ||
45b683a1 PE |
7704 | 2013-07-10 Paul Eggert <eggert@cs.ucla.edu> |
7705 | ||
29abe551 PE |
7706 | Port to C89. |
7707 | * bytecode.c (BYTE_CODE_THREADED): Do not define if __STRICT_ANSI__. | |
7708 | (B__dummy__): New dummy symbol, to pacify C89. | |
7709 | * dbusbind.c (XD_DEBUG_MESSAGE): Omit debugging on C89 hosts, since | |
7710 | they can't grok varargs macros. | |
7711 | * dispnew.c (add_window_display_history) | |
7712 | (add_frame_display_history): | |
7713 | * print.c (print_object): | |
7714 | * xdisp.c (debug_method_add): | |
7715 | Use %p printf format only for void pointers. | |
7716 | * emacs.c (usage_message): New constant, replacing ... | |
7717 | (USAGE1, USAGE2, USAGE3): Remove; they were too long for C89. | |
7718 | (main): Adjust to usage reorg. | |
7719 | * fns.c (syms_of_fns): | |
7720 | * profiler.c (syms_of_profiler): | |
7721 | Don't use non-constant struct initializers. | |
7722 | * gnutls.h (gnutls_initstage_t): | |
7723 | * lisp.h (enum Lisp_Fwd_Type): | |
7724 | * lread.c (lisp_file_lexically_bound_p): | |
7725 | * xsettings.c (anonymous enum): | |
7726 | Remove trailing comma. | |
7727 | * xsettings.c (apply_xft_settings): Use %f, not %lf; %lf is a C99ism. | |
7728 | * lisp.h (ENUM_BF): Use unsigned if pedantic. | |
7729 | (DEFUN_FUNCTION_INIT): New macro, that falls back on a cast if pre-C99. | |
7730 | (DEFUN): Use it. | |
7731 | * regex.c (const_re_char): New type, to pacify strict C89. | |
7732 | All uses of 'const re_char' replaced to use it. | |
7733 | * regex.h (_Restrict_): Rename from __restrict, to avoid clash | |
7734 | with glibc when strict C89. This change is imported from gnulib. | |
7735 | All uses changed. | |
7736 | (_Restrict_arr_): Rename from __restrict_arr, similarly. | |
7737 | * sysdep.c (time_from_jiffies) [!HAVE_LONG_LONG_INT]: | |
7738 | Omit GNU_LINUX implementation, since it requires long long. | |
7739 | * xterm.c (x_draw_underwave): | |
7740 | Do not assume the traditional order of struct's members. | |
7741 | (x_term_init): Rewrite to avoid the need for non-constant structure | |
7742 | initializers. | |
7743 | ||
45b683a1 | 7744 | Syntax cleanup, mostly replacing macros with functions. |
763a086d | 7745 | This removes the need for the syntax_temp hack. |
45b683a1 PE |
7746 | * search.c: Include syntax.h after buffer.h, since syntax.h uses BVAR. |
7747 | * syntax.c (SYNTAX_INLINE): New macro. | |
7748 | (SYNTAX_FLAGS_COMSTART_FIRST, SYNTAX_FLAGS_COMSTART_SECOND) | |
7749 | (SYNTAX_FLAGS_COMEND_FIRST, SYNTAX_FLAGS_COMEND_SECOND) | |
7750 | (SYNTAX_FLAGS_PREFIX, SYNTAX_FLAGS_COMMENT_STYLEB) | |
7751 | (SYNTAX_FLAGS_COMMENT_STYLEC, SYNTAX_FLAGS_COMMENT_STYLEC2) | |
7752 | (SYNTAX_FLAGS_COMMENT_NESTED, SYNTAX_FLAGS_COMMENT_STYLE) | |
7753 | (SYNTAX_COMEND_FIRST): Now functions, not macros. | |
7754 | (ST_COMMENT_STYLE, ST_STRING_STYLE, INTERVALS_AT_ONCE): | |
7755 | Now constants, not macros. | |
7756 | (syntax_temp) [!__GNUC__]: Remove. | |
7757 | (SYNTAX_PREFIX): Remove; all uses replaced by syntax_prefix_flag_p. | |
7758 | (syntax_prefix_flag_p): Move implementation of SYNTAX_PREFIX here. | |
7759 | (SET_RAW_SYNTAX_ENTRY, SET_RAW_SYNTAX_ENTRY_RANGE, SYNTAX_MATCH) | |
7760 | (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): | |
7761 | Move here from syntax.h; now functions, not macros. Except for the | |
7762 | last function, these are static since only syntax.c uses them. | |
7763 | (syntax_multibyte): Rename from SYNTAX_WITH_MULTIBYTE_CHECK. | |
7764 | All uses changed. Now a function, not a macro; use this fact | |
7765 | to simplify the code. | |
7766 | (scan_lists, scan_sexps_forward): Remove workarounds for ancient | |
7767 | compiler bugs; no longer relevant. | |
7768 | * syntax.h: Use INLINE_HEADER_BEGIN, INLINE_HEADER_END. | |
7769 | (SYNTAX_INLINE): New macro. | |
7770 | (struct gl_state_s, gl_state): Move earlier, so that it's in scope | |
7771 | for the new functions. Use bool for boolean member. | |
7772 | (SYNTAX_ENTRY, SYNTAX, SYNTAX_WITH_FLAGS, SYNTAX_MATCH) | |
7773 | (SYNTAX_TABLE_BYTE_TO_CHAR, UPDATE_SYNTAX_TABLE_FORWARD) | |
7774 | (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE) | |
7775 | (SETUP_BUFFER_SYNTAX_TABLE): | |
7776 | Now extern inline functions, not macros. | |
7777 | (CURRENT_SYNTAX_TABLE, SYNTAX_ENTRY_INT): | |
7778 | Remove; all uses replaced by implementation. | |
7779 | (syntax_temp) [!__GNUC__]: Remove decl. | |
7780 | (SETUP_SYNTAX_TABLE_FOR_OBJECT): New decl. | |
7781 | ||
29be4a50 JD |
7782 | 2013-07-10 Jan Djärv <jan.h.d@swipnet.se> |
7783 | ||
7784 | * emacs.c (main): Fix syntax error. | |
7785 | ||
954b166e PE |
7786 | 2013-07-10 Paul Eggert <eggert@cs.ucla.edu> |
7787 | ||
7788 | Timestamp fixes for undo (Bug#14824). | |
7789 | * atimer.c (schedule_atimer): | |
7790 | * fileio.c (Ffile_newer_than_file_p): | |
7791 | Minor cleanup: use EMACS_TIME_LT so that we can remove EMACS_TIME_GT. | |
7792 | * buffer.c (buffer-undo-list): Document (t . 0) and (t . -1). | |
7793 | * fileio.c (Fclear_visited_file_modtime): Move to lisp/files.el. | |
7794 | (syms_of_fileio): Remove Sclear_visited_file_name. | |
7795 | (Fvisited_file_modtime): Return -1, not (-1 ...), when the visited | |
7796 | file doesn't exist; this avoids an ambiguity with negative timestamps. | |
7797 | (Fset_visited_file_modtime): Accept -1 and 0 as time-list arg. | |
7798 | * systime.h (make_emacs_time, invalid_emacs_time): | |
7799 | Don't assume struct timespec layout; POSIX doesn't guarantee it. | |
7800 | (EMACS_TIME_NE, EMACS_TIME_GT, EMACS_TIME_GE): Remove. | |
7801 | * undo.c (record_first_change): Push (visited-file-modtime) onto | |
7802 | undo list rather than reimplementing it by hand, incorrectly. | |
7803 | ||
d74647c3 KB |
7804 | 2013-07-09 Ken Brown <kbrown@cornell.edu> |
7805 | ||
7806 | * sheap.c (STATIC_HEAP_SIZE) [__x86_64__]: Increase to 18MB. | |
7807 | ||
3c51b96b JB |
7808 | 2013-07-09 Juanma Barranquero <lekktu@gmail.com> |
7809 | ||
7810 | * makefile.w32-in ($(BLD)/emacs.$(O), $(BLD)/sysdep.$(O)): Update. | |
7811 | ||
4ebbdd67 PE |
7812 | 2013-07-09 Paul Eggert <eggert@cs.ucla.edu> |
7813 | ||
7814 | Handle errno and exit status a bit more carefully. | |
7815 | * callproc.c (child_setup) [!DOS_NT]: Don't try to stuff an error | |
7816 | number into an exit status. Instead, use EXIT_CANCELED. | |
7817 | (child_setup) [!MSDOS]: Avoid possible deadlock with vfork. | |
7818 | * callproc.c (relocate_fd): | |
7819 | * emacs.c (close_output_streams, main): | |
7820 | * process.c (create_process): | |
7821 | * sysdep.c (sys_subshell) [!DOS_NT || !WINDOWSNT]: | |
7822 | Use emacs_perror for simplicity. | |
7823 | * callproc.c (relocate_fd, main): | |
7824 | * sysdep.c (sys_subshell): | |
7825 | Exit with EXIT_CANCELED etc., not 1, when exec setup fails. | |
7826 | (shut_down_emacs): Use emacs_write, not write. | |
7827 | * emacs.c, sysdep.c: Don't include <ignore-value.h>. | |
7828 | * fileio.c (Fcopy_file, e_write): | |
7829 | * nsterm.m (ns_select): | |
7830 | * process.c (send_process): | |
7831 | * sound.c (vox_write): | |
7832 | Use emacs_write_sig, not emacs_write. | |
7833 | * lisp.h (emacs_write_sig, emacs_perror): New decls. | |
7834 | * process.h (EXIT_CANCELED), EXIT_CANNOT_INVOKE, EXIT_ENOENT): | |
7835 | New constants. | |
7836 | * sysdep.c (emacs_backtrace): Use emacs_write, not ignore_value | |
7837 | of write. | |
7838 | (emacs_full_write): New function. | |
7839 | (emacs_write): Rewrite to use it. | |
7840 | (emacswrite_sig, emacs_perror): New functions. | |
7841 | * xrdb.c (fatal): Don't invoke perror, since errno might be garbage. | |
7842 | ||
44e18199 | 7843 | 2013-07-08 Magnus Henoch <magnus.henoch@gmail.com> (tiny change) |
e4b1e5af JD |
7844 | |
7845 | * image.c (imagemagick_load_image): Do not use MagickExportImagePixels | |
7846 | on NS even if it is present. Pixmap on NS is a void*. | |
7847 | ||
9caab067 PE |
7848 | 2013-07-07 Paul Eggert <eggert@cs.ucla.edu> |
7849 | ||
7850 | Port to Ubuntu 10 (Bug#14803). | |
7851 | Problem reported by T.V. Raman. | |
7852 | * process.c (close_on_exec, accept4, process_socket): | |
7853 | Define these if !HAVE_ACCEPT4, not if !SOCK_CLOEXEC. | |
7854 | ||
1d442672 EZ |
7855 | 2013-07-07 Eli Zaretskii <eliz@gnu.org> |
7856 | ||
7857 | * w32.c (sys_dup): Declare prototype. | |
7858 | ||
7859 | * filelock.c: | |
7860 | * emacs.c: | |
7861 | * callproc.c [WINDOWSNT]: Include sys/socket.h. | |
7862 | ||
067428c1 PE |
7863 | 2013-07-07 Paul Eggert <eggert@cs.ucla.edu> |
7864 | ||
7865 | Make file descriptors close-on-exec when possible (Bug#14803). | |
7866 | This simplifies Emacs a bit, since it no longer needs to worry | |
7867 | about closing file descriptors by hand in some cases. | |
7868 | It also fixes some unlikely races. Not all such races, as | |
7869 | libraries often open files internally without setting | |
7870 | close-on-exec, but it's an improvement. | |
7871 | * alloc.c (valid_pointer_p) [!WINDOWSNT]: | |
7872 | * callproc.c (Fcall_process) [!MSDOS]: | |
7873 | * emacs.c (main) [!DOS_NT]: | |
7874 | * nsterm.m (ns_term_init): | |
7875 | * process.c (create_process): | |
7876 | Use 'pipe2' with O_CLOEXEC instead of 'pipe'. | |
7877 | * emacs.c (Fcall_process_region) [HAVE_MKOSTEMP]: | |
7878 | * filelock.c (create_lock_file) [HAVE_MKOSTEMP]: | |
7879 | Prefer mkostemp with O_CLOEXEC to mkstemp. | |
7880 | * callproc.c (relocate_fd) [!WINDOWSNT]: | |
7881 | * emacs.c (main): Use F_DUPFD_CLOEXEC, not plain F_DUPFD. | |
7882 | No need to use fcntl (..., F_SETFD, FD_CLOEXEC), since we're | |
7883 | now using pipe2. | |
7884 | * filelock.c (create_lock_file) [! HAVE_MKOSTEMP]: | |
7885 | Make the resulting file descriptor close-on-exec. | |
7886 | * lisp.h, lread.c, process.c (close_load_descs, close_process_descs): | |
7887 | * lread.c (load_descriptor_list, load_descriptor_unwind): | |
7888 | Remove; no longer needed. All uses removed. | |
7889 | * process.c (SOCK_CLOEXEC): Define to 0 if not supplied by system. | |
7890 | (close_on_exec, accept4, process_socket) [!SOCK_CLOEXEC]: | |
7891 | New functions. | |
7892 | (socket) [!SOCK_CLOEXEC]: Supply a substitute. | |
35e951cd | 7893 | (Fmake_network_process, Fnetwork_interface_list) |
067428c1 PE |
7894 | (Fnetwork_interface_info, server_accept_connection): |
7895 | Make newly-created socket close-on-exec. | |
7896 | * sysdep.c (emacs_open, emacs_fopen): | |
7897 | Make new-created descriptor close-on-exec. | |
7898 | * w32.c (fcntl): Support F_DUPFD_CLOEXEC well enough for Emacs. | |
7899 | * w32.c, w32.h (pipe2): Rename from 'pipe', with new flags arg. | |
7900 | ||
0da857dd JD |
7901 | 2013-07-07 Jan Djärv <jan.h.d@swipnet.se> |
7902 | ||
7903 | * nsterm.m (sendEvent:): Propagate keyboard events to modal windows | |
7904 | for NS_IMPL_GNUSTEP. | |
7905 | ||
5f86adcd PE |
7906 | 2013-07-07 Paul Eggert <eggert@cs.ucla.edu> |
7907 | ||
7908 | Fix openp errno handling. | |
7909 | * callproc.c (Fcall_process): Preserve openp errno around close. | |
7910 | * lread.c (openp): Set errno when returning -1, as some callers | |
7911 | expect this. | |
7912 | ||
1afb1d07 JD |
7913 | 2013-07-06 Jan Djärv <jan.h.d@swipnet.se> |
7914 | ||
7915 | * nsterm.m (sendEvent:): Handle NSAPP_DATA2_RUNFILEDIALOG. | |
7916 | ||
7917 | * nsterm.h (NSSavePanel): Update comment. | |
7918 | (NSAPP_DATA2_RUNFILEDIALOG): Define. | |
7919 | (ns_run_file_dialog): Declare. | |
7920 | ||
7921 | * nsfns.m: Remove panelOK. | |
7922 | (ns_fd_data): New. | |
7923 | (ns_run_file_dialog): New function. | |
7924 | (Fns_read_file_name): Fill in ns_fd_data, post an event and start the | |
7925 | event loop, so file dialog is popped up by ns_run_file_dialog, called | |
7926 | by sendEvent (Bug#14578). | |
7927 | (EmacsSavePanel, EmacsOpenPanel): Remove ok and cancel methods. | |
7928 | ||
3323c263 EZ |
7929 | 2013-07-06 Eli Zaretskii <eliz@gnu.org> |
7930 | ||
fdda0220 EZ |
7931 | * xdisp.c (default_line_pixel_height): New function. |
7932 | (pos_visible_p, move_it_vertically_backward, try_scrolling) | |
7933 | (try_cursor_movement, redisplay_window, try_window) | |
7934 | (try_window_id): Use it instead of FRAME_LINE_HEIGHT. (Bug#14771) | |
7935 | ||
068f9124 SM |
7936 | * window.c (window_scroll_pixel_based): |
7937 | use default_line_pixel_height. | |
fdda0220 EZ |
7938 | |
7939 | * dispextern.h (default_line_pixel_height): Add prototype. | |
7940 | ||
7941 | * frame.c (x_set_line_spacing): Accept a float value for | |
7942 | line-spacing parameter, per the documentation. | |
7943 | ||
3323c263 EZ |
7944 | * data.c (Fmultibyte_string_p): Doc fix. |
7945 | ||
47ba6d43 PE |
7946 | 2013-07-05 Paul Eggert <eggert@cs.ucla.edu> |
7947 | ||
406af475 PE |
7948 | Use emacs_open more consistently when opening files. |
7949 | This handles EINTR more consistently now, and makes it easier | |
7950 | to introduce other uniform changes to file descriptor handling. | |
a12bf61e GM |
7951 | * sysstdio.h: New file. |
7952 | * buffer.c (mmap_init): | |
406af475 PE |
7953 | * cygw32.c (chdir_to_default_directory): |
7954 | * dispnew.c (Fopen_termscript): | |
7955 | * emacs.c (Fdaemon_initialized): | |
7956 | * fileio.c (Fdo_auto_save): | |
7957 | * image.c (slurp_file, png_load_body, jpeg_load_body): | |
7958 | * keyboard.c (Fopen_dribble_file): | |
7959 | * lread.c (Fload): | |
7960 | * print.c (Fredirect_debugging_output): | |
7961 | * sysdep.c (get_up_time, procfs_ttyname, procfs_get_total_memory): | |
7962 | * termcap.c (tgetent): | |
7963 | * unexaix.c, unexcoff.c (unexec, adjust_lnnoptrs): | |
7964 | * unexcw.c, unexelf.c, unexhp9k800.c, unexmacosx.c (unexec): | |
7965 | * w32term.c (w32_initialize) [CYGWIN]: | |
7966 | * xfaces.c (Fx_load_color_file): | |
7967 | Use emacs_open instead of plain open, and emacs_fopen instead of | |
7968 | plain fopen. | |
7969 | * dispnew.c, fileio.c, image.c, keyboard.c, lread.c, print.c, sysdep.c: | |
7970 | * xfaces.c: Include sysstdio.h rather than stdio.h, for emacs_fopen. | |
7971 | * callproc.c (default_output_mode): New constant. | |
7972 | (Fcall_process): Use it to call emacs_open instead of plain creat. | |
7973 | * dispnew.c (Fopen_termscript): Fix minor race in opening termscript. | |
7974 | * sysdep.c (emacs_open): Add commentary and don't call file name "path". | |
7975 | (emacs_fopen): New function. | |
7976 | * unexaix.c, unexcoff.c, unexelf.c, unexhp9k800.c, unexmacosx.c: | |
7977 | Include <lisp.h>, for emacs_open. | |
7978 | * unexelf.c (fatal): Remove decl; not needed with <lisp.h> included. | |
7979 | ||
47ba6d43 PE |
7980 | Remove duplicate #include directives. |
7981 | * alloc.c [GC_MARK_STACK == GC_USE_GCPROS_CHECK_ZOMBIES]: | |
7982 | * xfaces.c: | |
7983 | Don't include stdio.h twice. | |
7984 | * buffer.c [USE_MMAP_FOR_BUFFERS]: | |
7985 | Don't include sys/types.h or stdio.h twice. | |
7986 | * fileio.c [WINDOWSNT | MSDOS]: Don't include fcntl.h twice. | |
7987 | * lread.c: Don't include coding.h twice. | |
7988 | * nsfont.m: Don't include frame.h twice. | |
7989 | * process.c [HAVE_RES_INIT]: Don't include <netinet/in.h> twice. | |
7990 | * ralloc.c: Don't include <unistd.h> twice. | |
7991 | * xdisp.c: Don't include font.h twice. | |
7992 | * xterm.c: Don't include fontset.h twice. | |
7993 | * xterm.h [USE_X_TOOLKIT]: Don't include X11/StringDefs.h twice. | |
7994 | ||
b9ed53d5 PE |
7995 | 2013-07-04 Paul Eggert <eggert@cs.ucla.edu> |
7996 | ||
7997 | Scale ImageMagick images more carefully. | |
7998 | * image.c (scale_image_size) [HAVE_IMAGEMAGICK]: New function. | |
7999 | (compute_image_size): Use it. Define only if HAVE_IMAGEMAGICK. | |
8000 | Be more careful about avoiding undefined behavior after | |
8001 | integer overflow and division by zero. | |
8002 | ||
cf13177e YM |
8003 | 2013-07-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> |
8004 | ||
8005 | * w32fns.c (Qgeometry, Qworkarea, Qmm_size, Qframes): New variables. | |
8006 | (syms_of_w32fns): DEFSYM them. | |
8007 | (MONITORINFOF_PRIMARY, SM_XVIRTUALSCREEN, SM_YVIRTUALSCREEN) | |
8008 | (CCHDEVICENAME): Define macros if not defined. | |
8009 | (struct MONITOR_INFO_EX): New struct. | |
8010 | (MonitorEnum_Proc, EnumDisplayMonitors_Proc): New prototypes. | |
8011 | (enum_display_monitors_fn): New variable. | |
8012 | (globals_of_w32fns): Initialize it. | |
8013 | (Fx_display_pixel_width, Fx_display_pixel_height) | |
8014 | (Fx_display_mm_height, Fx_display_mm_width): Mention behavior on | |
8015 | multi-monitor setups in docstrings. | |
8016 | (Fx_display_mm_height, Fx_display_mm_width): Approximate whole | |
8017 | screen size by primary monitor's millimeter per pixel. | |
8018 | (w32_monitor_enum, w32_display_monitor_attributes_list) | |
8019 | (w32_display_monitor_attributes_list_fallback) | |
8020 | (Fw32_display_monitor_attributes_list): New functions. | |
8021 | (syms_of_w32fns): Defsubr Sw32_display_monitor_attributes_list. | |
8022 | ||
8023 | * w32term.c (SM_CXVIRTUALSCREEN, SM_CYVIRTUALSCREEN): Define macros | |
8024 | if not defined. | |
8025 | (x_display_pixel_height, x_display_pixel_width): Use GetSystemMetrics. | |
8026 | ||
86dfb7a8 MA |
8027 | 2013-07-04 Michael Albinus <michael.albinus@gmx.de> |
8028 | ||
8029 | * fileio.c (Qfile_notify_error): New error symbol. | |
8030 | ||
8031 | * gfilenotify.c (Fgfile_add_watch, Fgfile_rm_watch): | |
8032 | * inotify.c (inotify_callback, symbol_to_inotifymask) | |
8033 | (Finotify_add_watch, Finotify_rm_watch): Use it. | |
8034 | (inotifyevent_to_event): Exchange order of cookie and file name. | |
8035 | (Finotify_add_watch): Adapt docstring. | |
8036 | ||
8037 | * lisp.h (Qfile_notify_error): Declare. | |
8038 | ||
2c1c974b PE |
8039 | 2013-07-04 Paul Eggert <eggert@cs.ucla.edu> |
8040 | ||
8041 | Try again to fix FreeBSD bug re multithreaded memory alloc (Bug#14569). | |
8042 | * emacs.c (main) [HAVE_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]: | |
8043 | Do not clear _malloc_thread_enabled_p, undoing the previous change, | |
8044 | which did not work (see <http://bugs.gnu.org/14569#307>). | |
8045 | (main): Do not invoke malloc_enable_thread if (! CANNOT_DUMP | |
8046 | && (!noninteractive || initialized)). This attempts to thread | |
8047 | the needle between the Scylla of FreeBSD and the Charybdis of Cygwin. | |
8048 | ||
7a35b20f JB |
8049 | 2013-07-04 Juanma Barranquero <lekktu@gmail.com> |
8050 | ||
8051 | * image.c (x_to_xcolors) [HAVE_NTGUI]: Remove unused var `hdc'. | |
8052 | (x_build_heuristic_mask) [HAVE_NTGUI]: Remove unused var `frame_dc'. | |
8053 | ||
1ce5cd04 PE |
8054 | 2013-07-04 Paul Eggert <eggert@cs.ucla.edu> |
8055 | ||
8056 | Try to fix FreeBSD bug re multithreaded memory allocation (Bug#14569). | |
8057 | * emacs.c (main) [HAVE_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]: | |
8058 | Clear _malloc_thread_enabled_p at startup. Reported by Ashish SHUKLA in | |
8059 | <http://lists.gnu.org/archive/html/emacs-devel/2013-07/msg00088.html>. | |
8060 | ||
57f8c490 PE |
8061 | 2013-07-02 Paul Eggert <eggert@cs.ucla.edu> |
8062 | ||
8063 | * sysdep.c (sys_siglist) [HAVE_DECL___SYS_SIGLIST]: | |
8064 | Define to __sys_siglist. | |
8065 | ||
bcffb5ca EZ |
8066 | 2013-07-02 Eli Zaretskii <eliz@gnu.org> |
8067 | ||
8068 | * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Don't disallow | |
8069 | word-wrap, so that overflow-newline-into-fringe would work in | |
8070 | visual-line-mode. (Bug#2749) | |
8071 | (move_it_in_display_line_to): When the last scanned display | |
8072 | element fits exactly on the display line, and | |
8073 | overflow-newline-into-fringe is non-nil, but wrap_it is valid, | |
8074 | don't return MOVE_NEWLINE_OR_CR, but instead back up to the last | |
8075 | wrap point and return MOVE_LINE_CONTINUED. Fixes problems with | |
8076 | finding buffer position that corresponds to pixel coordinates, | |
8077 | e.g. in buffer_posn_from_coords. | |
8078 | ||
2c41e781 JD |
8079 | 2013-07-02 Jan Djärv <jan.h.d@swipnet.se> |
8080 | ||
8081 | * process.c (handle_child_signal): Call catch_child_signal if | |
8082 | NS_IMPL_GNUSTEP. | |
8083 | ||
c2418359 PE |
8084 | 2013-07-02 Paul Eggert <eggert@cs.ucla.edu> |
8085 | ||
52a9bcae PE |
8086 | Don't convert function pointers to void * and back. |
8087 | It isn't portable C, and it's easy enough to avoid. | |
8088 | * alloc.c: Verify SAVE_FUNCPOINTER bits, too. | |
8089 | (make_save_value): Add support for SAVE_FUNCPOINTER. | |
8090 | * keymap.c (map_keymap_char_table_item, map_keymap_internal): | |
8091 | * print.c (print_object): | |
8092 | Distinguish function from object pointers. | |
8093 | * lisp.h (SAVE_FUNCPOINTER): New constant. | |
8094 | (SAVE_SLOT_BITS): Adjust to it. | |
8095 | (SAVE_TYPE_FUNCPTR_PTR_OBJ): New constant, replacing | |
8096 | SAVE_TYPE_PTR_PTR_OBJ. Change the only use. | |
8097 | (voidfuncptr): New typedef. | |
8098 | (struct Lisp_Save_Value): New member data[0].funcpointer. | |
8099 | (XSAVE_FUNCPOINTER): New function. | |
8100 | ||
c2418359 PE |
8101 | Simplify buildobj processing. |
8102 | * Makefile.in (buildobj.h): Make it a sequence of strings each | |
8103 | followed by comma, rather than a single string. Put it into a | |
8104 | .tmp file in case there's an error while generating it. | |
8105 | (gl-stamp): Use .tmp for temp files. | |
8106 | (mostlyclean): Clean .tmp files. | |
8107 | * doc.c (buildobj): Move to just the routine that needs it. | |
8108 | It's now an array of strings, so processing is simpler. | |
8109 | ||
8f43ce49 PE |
8110 | 2013-07-01 Paul Eggert <eggert@cs.ucla.edu> |
8111 | ||
8112 | Fix bug re noninteractive multithreaded memory allocation (Bug#14569). | |
8113 | * emacs.c (malloc_enable_thread): Hoist extern decl to top level. | |
8114 | (main) [HAVE_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]: | |
8115 | Invoke malloc_enable_thread even when not interactive. | |
8116 | Problem reported by Ken Brown in <http://bugs.gnu.org/14569#275>. | |
8117 | * process.c (init_process_emacs) [CYGWIN]: Tickle glib even | |
8118 | in this case, since the underlying bug has now been fixed. | |
8119 | ||
24827db9 JB |
8120 | 2013-07-01 Juanma Barranquero <lekktu@gmail.com> |
8121 | ||
8122 | * emacs.c (Fkill_emacs): Expand Vauto_save_list_file_name before | |
8123 | unlinking it (bug#14691). | |
8124 | ||
ef099a94 MN |
8125 | 2013-06-30 Michal Nazarewicz <mina86@mina86.com> |
8126 | ||
8127 | * buffer.c (FKill_buffer): Run `kill-buffer-query-functions' | |
8128 | before checking whether buffer is modified. This lets | |
8129 | `kill-buffer-query-functions' cancel killing of the buffer or save | |
8130 | its content before `kill-buffer' asks user the "Buffer %s | |
8131 | modified; kill anyway?" question. | |
8132 | ||
9d3f2fc2 JD |
8133 | 2013-06-30 Jan Djärv <jan.h.d@swipnet.se> |
8134 | ||
8135 | * nsfns.m (handlePanelKeys): Don't process Command+Function keys. | |
8136 | Let the super performKeyEquivalent deal with them (Bug#14747). | |
8137 | ||
e6c6c8c7 PE |
8138 | 2013-06-30 Paul Eggert <eggert@cs.ucla.edu> |
8139 | ||
1d71c1d9 PE |
8140 | * widget.c (resize_cb): Remove unused local. |
8141 | ||
8f5f35cc PE |
8142 | Do not use GTK 3 if it exists but cannot be compiled. |
8143 | * xmenu.c (x_menu_wait_for_event) [!USE_GTK]: | |
8144 | * xterm.c (x_error_handler) [!USE_GTK]: | |
8145 | Do not use GTK 3. | |
8146 | ||
e6c6c8c7 PE |
8147 | * intervals.c (get_local_map): Actually clip POSITION (Bug#14753). |
8148 | ||
0ba54312 EZ |
8149 | 2013-06-30 Eli Zaretskii <eliz@gnu.org> |
8150 | ||
5d1c3286 EZ |
8151 | * intervals.c (get_local_map): Instead of aborting, clip POSITION |
8152 | to the valid range of values. (Bug#14753) | |
8153 | ||
0ba54312 EZ |
8154 | * xdisp.c (Fmove_point_visually): Invalidate the cursor position |
8155 | when moving point by using the current glyph matrix. This avoids | |
8156 | the need to force redisplay when this function is called in a | |
8157 | loop. | |
8158 | ||
9c90cc06 PE |
8159 | 2013-06-29 Paul Eggert <eggert@cs.ucla.edu> |
8160 | ||
8161 | Fix minor problems found by static checking. | |
8162 | * coding.c (encode_inhibit_flag, inhibit_flag): New functions. | |
8163 | Redo the latter's body to sidestep GCC parenthesization warnings. | |
8164 | (setup_coding_system, detect_coding, detect_coding_system): Use them. | |
8165 | * coding.c (detect_coding, detect_coding_system): | |
8166 | * coding.h (struct undecided_spec): | |
8167 | Use bool for boolean. | |
8168 | * image.c (QCmax_width, QCmax_height): Now static. | |
8169 | * xdisp.c (Fmove_point_visually): Remove unused local. | |
8170 | ||
4c672a0f EZ |
8171 | 2013-06-29 Eli Zaretskii <eliz@gnu.org> |
8172 | ||
8173 | * xdisp.c (Fmove_point_visually): New function. | |
8174 | ||
c1ea3abf JB |
8175 | 2013-06-28 Kenichi Handa <handa@gnu.org> |
8176 | ||
8177 | * coding.h (define_coding_undecided_arg_index): New enum. | |
8178 | (coding_attr_index): New members | |
8179 | coding_attr_undecided_inhibit_null_byte_detection, | |
8180 | coding_attr_undecided_inhibit_iso_escape_detection, | |
8181 | coding_attr_undecided_prefer_utf_8. | |
8182 | (undecided_spec): New struct. | |
8183 | (struct coding_system): New member `undecided' of the member | |
8184 | `spec'. | |
8185 | ||
8186 | * coding.c (setup_coding_system): Handle CODING->spec.undecided. | |
8187 | (detect_coding): Likewise. | |
8188 | (detect_coding_system): Likewise. | |
8189 | (Fdefine_coding_system_internal): New coding system properties | |
8190 | :inhibit-null-byte-detection, :inhibit-iso-escape-detection, and | |
8191 | :prefer-utf-8. | |
8192 | (syms_of_coding): Adjust for coding_arg_undecided_max. | |
8193 | ||
ba3de9e6 PE |
8194 | 2013-06-28 Paul Eggert <eggert@cs.ucla.edu> |
8195 | ||
8196 | * image.c (x_from_xcolors): Remove unused local. | |
8197 | ||
547c9269 YM |
8198 | 2013-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> |
8199 | ||
8200 | Defer image data transfer between X client and server until actual | |
8201 | display happens. | |
8202 | ||
8203 | * dispextern.h (struct image) [HAVE_X_WINDOWS]: New members `ximg' | |
8204 | and `mask_img'. | |
8205 | ||
8206 | * image.c (Destroy_Image): Remove. | |
8207 | (x_clear_image_1): New arg `flags' instead of 3 bools `pixmap_p', | |
8208 | `mask_p', and `colors_p'. All uses changed. | |
8209 | (x_clear_image_1) [HAVE_X_WINDOWS]: Destroy `ximg' and `mask_img'. | |
ef099a94 MN |
8210 | (CLEAR_IMAGE_PIXMAP, CLEAR_IMAGE_MASK, CLEAR_IMAGE_COLORS): |
8211 | New macros for `flags' arg to x_clear_image_1. | |
547c9269 YM |
8212 | (postprocess_image, xpm_load_image, x_build_heuristic_mask) |
8213 | (png_load_body): Use x_clear_image_1 instead of Free_Pixmap. | |
04b66ce7 | 8214 | (ZPixmap, XGetImage) [HAVE_NS]: Remove. |
547c9269 YM |
8215 | (image_get_x_image_or_dc, image_unget_x_image_or_dc) |
8216 | (image_get_x_image, image_unget_x_image): New functions or macros. | |
8217 | (image_background, image_background_transparent, x_to_xcolors) | |
8218 | (x_build_heuristic_mask): Use image_get_x_image_or_dc instead of | |
8219 | XGetImage or CreateCompatibleDC. Use image_unget_x_image_or_dc | |
8220 | instead of Destroy_Image. | |
8221 | (image_create_x_image_and_pixmap, image_put_x_image): New functions. | |
8222 | (xpm_load_image, x_from_xcolors, x_build_heuristic_mask, pbm_load) | |
8223 | (png_load_body, jpeg_load_body, tiff_load, gif_load) | |
8224 | (imagemagick_load_image, svg_load_image): Use them instead of | |
8225 | x_create_x_image_and_pixmap, and x_put_x_image followed by | |
8226 | x_destroy_x_image, respectively. | |
8227 | (xpm_load) [HAVE_XPM && !HAVE_NTGUI]: Use XpmReadFileToImage and | |
8228 | XpmCreateImageFromBuffer instead of XpmReadFileToPixmap and | |
8229 | XpmCreatePixmapFromBuffer. Create pixmaps. Fill background and | |
8230 | background_transparent fields. | |
8231 | (image_sync_to_pixmaps) [HAVE_X_WINDOWS]: New function. | |
8232 | (prepare_image_for_display, x_disable_image) [HAVE_X_WINDOWS]: Use it. | |
8233 | ||
dae2f5ef PE |
8234 | 2013-06-27 Paul Eggert <eggert@cs.ucla.edu> |
8235 | ||
8236 | Do not tickle glib SIGCHLD handling if Cygwin (Bug#14569). | |
8237 | This mostly consists of undoing recent changes. | |
8238 | * callproc.c (Fcall_process): | |
8239 | * process.c (create_process): | |
8240 | Do not worry about catching SIGCHLD here, undoing previous change. | |
8241 | * nsterm.m (ns_term_init): Re-catch SIGCHLD, undoing previous change. | |
8242 | * process.c, process.h (catch_child_signal): | |
8243 | No longer extern if !NS_IMPL_GNUSTEP, undoing 06-22 change. | |
8244 | * process.c (catch_child_handler): Don't worry about being called | |
8245 | lazily and do not assume caller has blocked SIGCHLD, undoing | |
8246 | previous change. Move first-time stuff back to | |
8247 | init_process_emacs, undoing 06-22 change. If CYGWIN, do not | |
8248 | tickle glib, as that causes Cygwin bootstrap to fail. Do not | |
8249 | set lib_child_handler if it's already initialized, which may | |
a6c4680a | 8250 | help avoid problems on GNUstep. |
dae2f5ef | 8251 | |
fa55d2aa PE |
8252 | 2013-06-23 Paul Eggert <eggert@cs.ucla.edu> |
8253 | ||
8254 | A more-conservative workaround for Cygwin SIGCHLD issues (Bug#14569). | |
8255 | * callproc.c (Fcall_process): | |
8256 | * process.c (create_process): | |
8257 | Make sure SIGCHLD is caught before we fork, | |
8258 | since Emacs startup no arranges to catch SIGCHLD. | |
8259 | * process.c (lib_child_handler): Initialize to null, not to | |
8260 | dummy_handler. | |
8261 | (catch_child_signal): Allow self to be called lazily. | |
8262 | Do nothing if it's already been called. | |
8263 | Assume caller has blocked SIGCHLD (all callers do now). | |
8264 | * emacs.c (main): Do not catch SIGCHLD here; defer it until | |
8265 | just before it's really needed. | |
8266 | * nsterm.m (ns_term_init): No need to re-catch SIGCHLD here, | |
8267 | since it hasn't been caught yet. | |
8268 | ||
f3f9606c LMI |
8269 | 2013-06-23 Lars Magne Ingebrigtsen <larsi@gnus.org> |
8270 | ||
8271 | * image.c (compute_image_size): New function to implement | |
8272 | :max-width and :max-height. | |
8273 | (imagemagick_load_image): Use it. | |
8274 | ||
c7041908 PE |
8275 | 2013-06-23 Paul Eggert <eggert@cs.ucla.edu> |
8276 | ||
8277 | Try to avoid malloc SEGVs on Cygwin (Bug#14569). | |
8278 | * callproc.c, process.h (block_child_signal, unblock_child_signal): | |
8279 | Now extern. | |
8280 | * emacs.c (main): Catch SIGCHLD just before initializing gfilenotify. | |
8281 | * process.c (catch_child_signal): Block SIGCHLD while futzing with | |
8282 | the SIGCHLD handler, since the code is not atomic and (due to glib) | |
8283 | signals may be arriving now. | |
8284 | * sysdep.c (init_signals): Do not catch child signals here; | |
8285 | 'main' now does that later, at a safer time. | |
8286 | ||
f86852b4 PE |
8287 | 2013-06-22 Paul Eggert <eggert@cs.ucla.edu> |
8288 | ||
0dfeed58 PE |
8289 | Clean up SIGCHLD handling a bit (Bug#14569). |
8290 | * process.c, process.h (catch_child_signal): | |
8291 | Now always extern, even if !NS_IMPL_GNUSTEP. | |
8292 | * process.c (catch_child_signal): Move glib tickler here from | |
8293 | init_process_emacs, so that it's done earlier in Emacs | |
8294 | initialization. Also move the noninteractive && !initialized | |
8295 | check here from init_process_emacs. This is all a bit cleaner for | |
8296 | GNUish platforms, and I hope it works around the Cygwin bug. | |
8297 | * sysdep.c (init_signals): Invoke catch_child_signal here, so | |
8298 | that glib signal handling is tickled before glib creates threads. | |
8299 | ||
f86852b4 PE |
8300 | * process.c (wait_reading_process_output): Avoid int overflow |
8301 | when reading more than 2 GiB total from a process. | |
8302 | ||
cbd6509c PE |
8303 | 2013-06-21 Paul Eggert <eggert@cs.ucla.edu> |
8304 | ||
8305 | * process.c (create_process): Handle a couple more cases, | |
8306 | i.e., work even if new_argv and wait_child_setup[i] are cached. | |
8307 | Use Fcall_process's style for volatile vars. | |
8308 | ||
9de1114a AS |
8309 | 2013-06-21 Andreas Schwab <schwab@linux-m68k.org> |
8310 | ||
8311 | * process.c (create_process): Mark PROCESS volatile. | |
8312 | ||
fbe9e0b9 PE |
8313 | 2013-06-21 Paul Eggert <eggert@cs.ucla.edu> |
8314 | ||
8315 | Use C99-style flexible array members if available. | |
8316 | This avoids some subtle aliasing issues, which typically | |
8317 | aren't a problem with GCC but may be a problem elsewhere. | |
8318 | * alloc.c (sdata): New typedef, replacing the old struct sdata. | |
8319 | It is a struct if GC_CHECK_STRING_BYTES, a union otherwise. | |
8320 | In either case, it uses a flexible array member rather than | |
8321 | the old struct hack. All uses changed. | |
8322 | (SDATA_NBYTES, sweep_strings) [!GC_CHECK_STRING_BYTES]: | |
8323 | Adjust to sdata reorganization. | |
8324 | * alloc.c (VBLOCK_BYTES_MIN, allocate_vectorlike, Fgarbage_collect): | |
8325 | Use offsetof (struct, flex_array_member), not sizeof (struct), as | |
8326 | that ports better to pre-C99 non-GCC. | |
8327 | * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table): | |
8328 | Use CHAR_TABLE_STANDARD_SLOTS rather than its definition, | |
8329 | as the latter has changed. | |
8330 | * conf_post.h (FLEXIBLE_ARRAY_MEMBER): Move here from w32.c, | |
8331 | and port better to pre-C99 GCC. | |
8332 | * image.c (struct xpm_cached_color): | |
8333 | * lisp.h (struct Lisp_Vector, struct Lisp_Bool_Vector) | |
8334 | (struct Lisp_Char_Table, struct Lisp_Sub_Char_Table): | |
8335 | Use FLEXIBLE_ARRAY_MEMBER. | |
8336 | * lisp.h (string_bytes) [GC_CHECK_STRING_BYTES]: | |
8337 | Move decl to top level so it gets checked against implementation. | |
8338 | (CHAR_TABLE_STANDARD_SLOTS): Adjust to struct Lisp_Char_Table change. | |
8339 | * w32.c (FLEXIBLE_ARRAY_MEMBER): Move to conf_post.h. | |
8340 | ||
1fc71008 PE |
8341 | 2013-06-20 Paul Eggert <eggert@cs.ucla.edu> |
8342 | ||
8343 | * syntax.c: Integer cleanups. | |
8344 | (SYNTAX_FLAGS_COMMENT_STYLEC): Return a boolean, not 0-or-2. | |
8345 | All uses that need 0-or-2 changed to: | |
8346 | (SYNTAX_FLAGS_COMMENT_STYLEC2): New macro, with the same semantics | |
8347 | as the old SYNTAX_FLAGS_COMMENT_STYLEC. | |
8348 | (struct lisp_parse_state, syntax_prefix_flag_p, update_syntax_table) | |
8349 | (char_quoted, prev_char_comend_first, back_comment) | |
8350 | (Finternal_describe_syntax_value, skip_chars, skip_syntaxes) | |
8351 | (in_classes, forw_comment, scan_lists, scan_sexps_forward): | |
8352 | Use bool for boolean. | |
8353 | (update_syntax_table, skip_chars, skip_syntaxes): | |
8354 | Prefer int to unsigned when either will do. | |
8355 | (back_comment): Return boolean success flag, like forw_comment, | |
8356 | instead of positive-or-minus-1 (which might have overflowed int anyway). | |
8357 | Don't stuff ptrdiff_t into int. | |
8358 | (syntax_spec_code, syntax_code_spec): Now const. | |
8359 | (Fmatching_paren, scan_lists, scan_sexps_forward): | |
8360 | Use enum syntaxcode for syntax code. | |
8361 | (Fmatching_paren): Check that arg is a character, not just an integer. | |
8362 | (Fstring_to_syntax): Don't assume 0377 fits in enum syntaxcode. | |
8363 | (Finternal_describe_syntax_value): Omit no-longer-needed | |
8364 | comparison to 0. | |
8365 | (skip_chars): Use char, not unsigned char, when the distinction | |
8366 | doesn't matter. | |
8367 | (forw_comment, scan_lists): Prefer A |= B to A = A || B when B's cheap. | |
8368 | * bytecode.c (exec_byte_code): | |
8369 | * syntax.c (syntax_spec_code, Fchar_syntax) | |
8370 | (Finternal_describe_syntax_value, skip_chars, skip_syntaxes) | |
8371 | (init_syntax_once): | |
8372 | * syntax.h (SYNTAX_WITH_FLAGS): | |
8373 | Omit unnecessary casts. | |
8374 | ||
b932cad7 EZ |
8375 | 2013-06-20 Eli Zaretskii <eliz@gnu.org> |
8376 | ||
8377 | * w32fns.c (w32_wnd_proc): Don't compute the header line and mode | |
8378 | line dimensions here, to avoid race conditions with the main | |
8379 | thread. (Bug#14062, bug#14630, bug#14669) | |
8380 | ||
8381 | * w32term.c (w32_draw_window_cursor): Compute the header line and | |
8382 | mode line dimensions here. | |
8383 | <w32_system_caret_window, w32_system_caret_hdr_height>: | |
8384 | <w32_system_caret_mode_height>: New variables. | |
8385 | ||
8386 | * w32term.h: Declare them. | |
8387 | ||
89561f72 PE |
8388 | 2013-06-20 Paul Eggert <eggert@cs.ucla.edu> |
8389 | ||
5013fc08 PE |
8390 | * alloc.c (die): Move "assertion failed" string here ... |
8391 | * lisp.h (eassert): ... from here. Also, suppress evaluation of | |
8392 | COND when SUPPRESS_CHECKING. This shrinks the executable text | |
8393 | size by 0.8% to 2.2% when configured with --enable-checking, | |
8394 | depending on optimization flags (GCC 4.8.1 x86-64). | |
8395 | ||
89561f72 PE |
8396 | * floatfns.c (Flog10): Move to Lisp (marked obsolete there). |
8397 | ||
763a086d | 8398 | 2013-06-20 Rüdiger Sonderfeld <ruediger@c-plusplus.de> |
89561f72 PE |
8399 | |
8400 | * floatfns.c (Flog) [HAVE_LOG2]: Use log2 if available and if the | |
8401 | base is 2; this is more accurate. | |
8402 | ||
983aeb9a JB |
8403 | 2013-06-19 Juanma Barranquero <lekktu@gmail.com> |
8404 | ||
8405 | * sound.c (string_default): Move to !WINDOWSNT section. | |
8406 | (Fplay_sound_internal) [WINDOWSNT]: Remove i_result to avoid warning. | |
8407 | ||
178ba3e6 PE |
8408 | 2013-06-19 Paul Eggert <eggert@cs.ucla.edu> |
8409 | ||
bbc51b15 PE |
8410 | * sound.c: Integer cleanups. |
8411 | Remove unnecessary forward decls. | |
8412 | (struct sound_device): The 'file' member is now a Lisp_Object, not | |
8413 | a char *, so that we needn't invoke alloca on a huge size. | |
8414 | (Fplay_sound_internal): Adjust to this. | |
8415 | (string_default): New function. | |
8416 | (vox_open, vox_init, alsa_open, alsa_configure, alsa_init): | |
8417 | Use it to adjust to the struct sound_device change. | |
8418 | (parse_sound, wav_init, au_init, alsa_init): Use bool for booleans. | |
8419 | (be2hs) [0]: Remove. | |
8420 | ||
178ba3e6 PE |
8421 | * syntax.c (skip_chars): Don't use uninitialized storage |
8422 | when searching a multibyte buffer for characters that are not in a | |
8423 | unibyte string that contains non-ASCII characters. | |
8424 | ||
69f60cdc JD |
8425 | 2013-06-18 Jan Djärv <jan.h.d@swipnet.se> |
8426 | ||
8427 | * process.c: Include xgselect.h if HAVE_GLIB. Include glib.h | |
8428 | if HAVE_GLIB && ! WINDOWSNT (Bug#14654). | |
8429 | ||
0d6224d4 PE |
8430 | 2013-06-18 Paul Eggert <eggert@cs.ucla.edu> |
8431 | ||
8432 | * conf_post.h: Add comments for INLINE, EXTERN_INLINE, etc. | |
8433 | ||
3c542890 KH |
8434 | 2013-06-18 Kenichi Handa <handa@gnu.org> |
8435 | ||
f7e3f7cd KH |
8436 | * font.c (Ffont_spec): Signal an error for an invalid font name |
8437 | (Bug#14648). | |
3c542890 | 8438 | |
9349e5f7 PE |
8439 | 2013-06-18 Paul Eggert <eggert@cs.ucla.edu> |
8440 | ||
8441 | Porting fixes for merged specpdl and backtrace stacks (Bug#14643). | |
8442 | In particular this ports to 32-bit sparc Sun cc. | |
8443 | * eval.c (init_eval_once, grow_specpdl): Allocate a specbinding | |
8444 | array with a dummy element at specpdl[-1], so that its address can | |
8445 | be taken portably. | |
8446 | (unbind_to): Do not copy the binding; not needed, now that we | |
8447 | copy old_value in the one place where the copy is needed. | |
8448 | * fileio.c (Fwrite_region): Use ptrdiff_t, not int, for specpdl count. | |
8449 | * lisp.h (BITS_PER_PTRDIFF_T): Remove; no longer needed. | |
8450 | (union specbinding): Rename from struct specbinding. Redo layout | |
8451 | to avoid the need for 'ptrdiff_t nargs : BITS_PER_PTRDIFF_T - 1;', | |
8452 | which is not portable. With Sun C 5.12 32-bit sparc, the | |
8453 | declaration causes nargs to be an unsigned bitfield, a behavior | |
8454 | that the C standard allows; but Emacs wants nargs to be signed. | |
8455 | The overall type is now a union of structures rather than a | |
8456 | structure of union of structures, and the 'kind' member is now a | |
8457 | bitfield, so that the overall type doesn't grow. All uses changed. | |
8458 | * process.c (Fmake_serial_process): Remove unnecessary initialization. | |
8459 | ||
0a4df6a5 PE |
8460 | 2013-06-17 Paul Eggert <eggert@cs.ucla.edu> |
8461 | ||
ec6ecaad PE |
8462 | * frame.c (x_report_frame_params): Cast parent_desc to uintptr_t. |
8463 | Needed if HAVE_NTGUI. Reported by Juanma Barranquero. | |
8464 | ||
0a4df6a5 PE |
8465 | * nsfont.m (ns_registry_to_script): Parenthesize while expression. |
8466 | ||
7bfe8dbc EZ |
8467 | 2013-06-17 Eli Zaretskii <eliz@gnu.org> |
8468 | ||
8469 | * w32fns.c (w32_wnd_proc): Don't call WINDOW_HEADER_LINE_HEIGHT | |
8470 | unless we know that the window w's frame is a frame object. | |
8471 | Another attempt at solving bug#14062 and bug#14630. | |
8472 | ||
708e05f6 LMI |
8473 | 2013-06-17 Lars Magne Ingebrigtsen <larsi@gnus.org> |
8474 | ||
8475 | * textprop.c (property_set_type): New enum. | |
8476 | (add_properties): Allow appending/prepending text properties. | |
8477 | (add_text_properties_1): Factored out of Fadd_text_properties. | |
ef099a94 | 8478 | (Fadd_text_properties): Move all the code into |
708e05f6 LMI |
8479 | add_text_properties_1. |
8480 | (Fadd_face_text_property): New function that calls | |
8481 | add_text_properties_1. | |
8482 | ||
84575e67 PE |
8483 | 2013-06-17 Paul Eggert <eggert@cs.ucla.edu> |
8484 | ||
8485 | Move functions from lisp.h to individual modules when possible. | |
8486 | From a suggestion by Andreas Schwab in <http://bugs.gnu.org/11935#68>. | |
8487 | * alloc.c (XFLOAT_INIT, set_symbol_name): | |
8488 | * buffer.c (CHECK_OVERLAY): | |
8489 | * chartab.c (CHECK_CHAR_TABLE, set_char_table_ascii) | |
8490 | (set_char_table_parent): | |
8491 | * coding.c (CHECK_NATNUM_CAR, CHECK_NATNUM_CDR): | |
8492 | * data.c (BOOLFWDP, INTFWDP, KBOARD_OBJFWDP, OBJFWDP, XBOOLFWD) | |
8493 | (XKBOARD_OBJFWD, XINTFWD, XOBJFWD, CHECK_SUBR, set_blv_found) | |
8494 | (blv_value, set_blv_value, set_blv_where, set_blv_defcell) | |
8495 | (set_blv_valcell): | |
8496 | * emacs.c (setlocale) [!HAVE_SETLOCALE]: | |
8497 | * eval.c (specpdl_symbol, specpdl_old_value, specpdl_where) | |
8498 | (specpdl_arg, specpdl_func, backtrace_function, backtrace_nargs) | |
8499 | (backtrace_args, backtrace_debug_on_exit): | |
8500 | * floatfns.c (CHECK_FLOAT): | |
8501 | * fns.c (CHECK_HASH_TABLE, CHECK_LIST_END) | |
8502 | (set_hash_key_and_value, set_hash_next, set_hash_next_slot) | |
8503 | (set_hash_hash, set_hash_hash_slot, set_hash_index) | |
8504 | (set_hash_index_slot): | |
8505 | * keymap.c (CHECK_VECTOR_OR_CHAR_TABLE): | |
8506 | * marker.c (CHECK_MARKER): | |
8507 | * textprop.c (CHECK_STRING_OR_BUFFER): | |
8508 | * window.c (CHECK_WINDOW_CONFIGURATION): | |
8509 | Move here from lisp.h, and make these functions static rather than | |
8510 | extern inline. | |
8511 | * buffer.c (Qoverlayp): | |
8512 | * data.c (Qsubrp): | |
8513 | * fns.c (Qhash_table_p): | |
8514 | * window.c (Qwindow_configuration_p): | |
8515 | Now static. | |
8516 | * lisp.h: Remove the abovementioned defns and decls. | |
8517 | ||
44e18199 | 8518 | Use functions, not macros, for XINT etc (Bug#11935). |
84575e67 PE |
8519 | In lisp.h, prefer functions to function-like macros, and |
8520 | constants to object-like macros, when either will do. This: | |
8521 | . simplifies use, as there's no more need to worry about | |
8522 | arguments' side effects being evaluated multiple times. | |
8523 | . makes the code easier to debug on some platforms. | |
8524 | However, when using gcc -O0, keep using function-like macros | |
8525 | for a few critical operations, for performance reasons. | |
8526 | This sort of thing isn't needed with gcc -Og, but -Og | |
8527 | is a GCC 4.8 feature and isn't widely-enough available yet. | |
8528 | * alloc.c (gdb_make_enums_visible) [USE_LSB_TAG]: | |
8529 | Remove enum lsb_bits; no longer needed. | |
8530 | (allocate_misc, free_misc): Don't use XMISCTYPE as an lvalue. | |
8531 | * buffer.c (Qoverlap): | |
8532 | * data.c (Qsubrp): | |
8533 | * fns.c (Qhash_table_p): | |
8534 | Now extern, so lisp.h can use these symbols. | |
8535 | * dispextern.h: Include character.h, for MAX_CHAR etc. | |
8536 | (GLYPH, GLYPH_CHAR, GLYPH_FACE, SET_GLYPH_CHAR, SET_GLYPH_FACE) | |
8537 | (SET_GLYPH, GLYPH_CODE_CHAR, GLYPH_CODE_FACE) | |
8538 | (SET_GLYPH_FROM_GLYPH_CODE, GLYPH_MODE_LINE_FACE, GLYPH_CHAR_VALID_P) | |
8539 | (GLYPH_CODE_P): Move here from lisp.h. | |
8540 | (GLYPH_CHAR, GLYPH_FACE, GLYPH_CODE_CHAR, GLYPH_CODE_FACE) | |
8541 | (GLYPH_CHAR_VALID_P, GLYPH_CODE_P): Now functions, not macros. | |
8542 | (GLYPH_MODE_LINE_FACE): Now enums, not macros. | |
8543 | * eval.c (Fautoload): Cast XUNTAG output to intptr_t, since | |
8544 | XUNTAG now returns void *. | |
8545 | * lisp.h (lisp_h_XLI, lisp_h_XIL, lisp_h_CHECK_LIST_CONS) | |
8546 | (lisp_h_CHECK_NUMBER CHECK_SYMBOL, lisp_h_CHECK_TYPE) | |
8547 | (lisp_h_CONSP, lisp_h_EQ, lisp_h_FLOATP, lisp_h_INTEGERP) | |
8548 | (lisp_h_MARKERP, lisp_h_MISCP, lisp_h_NILP) | |
8549 | (lisp_h_SET_SYMBOL_VAL, lisp_h_SYMBOL_CONSTANT_P) | |
8550 | (lisp_h_SYMBOL_VAL, lisp_h_SYMBOLP, lisp_h_VECTORLIKEP) | |
8551 | (lisp_h_XCAR, lisp_h_XCDR, lisp_h_XCONS, lisp_h_XHASH) | |
8552 | (lisp_h_XPNTR, lisp_h_XSYMBOL): | |
8553 | New macros, renamed from their sans-lisp_h_ counterparts. | |
8554 | (XLI, XIL, CHECK_LIST_CONS, CHECK_NUMBER CHECK_SYMBOL) | |
8555 | (CHECK_TYPE, CONSP, EQ, FLOATP, INTEGERP, MARKERP) | |
8556 | (MISCP, NILP, SET_SYMBOL_VAL, SYMBOL_CONSTANT_P, SYMBOL_VAL, SYMBOLP) | |
8557 | (VECTORLIKEP, XCAR, XCDR, XCONS, XHASH, XPNTR, XSYMBOL): | |
8558 | If compiling via GCC without optimization, define these as macros | |
8559 | in addition to inline functions. | |
8560 | To disable this, compile with -DINLINING=0. | |
8561 | (LISP_MACRO_DEFUN, LISP_MACRO_DEFUN_VOID): New macros. | |
8562 | (check_cons_list) [!GC_CHECK_CONS_LIST]: Likewise. | |
8563 | (make_number, XFASTINT, XINT, XTYPE, XUNTAG): Likewise, but | |
8564 | hand-optimize only in the USE_LSB_TAG case, as GNUish hosts do that. | |
8565 | (INTMASK, VALMASK): Now macros, since static values cannot be | |
8566 | accessed from extern inline functions. | |
8567 | (VALMASK): Also a constant, for benefit of old GDB. | |
8568 | (LISP_INT_TAG_P): Remove; no longer needed as the only caller | |
8569 | is INTEGERP, which can fold it in. | |
5165d44a | 8570 | (XLI, XIL, XHASH, XTYPE, XINT, XFASTINT, XUINT) |
84575e67 PE |
8571 | (make_number, XPNTR, XUNTAG, EQ, XCONS, XVECTOR, XSTRING, XSYMBOL) |
8572 | (XFLOAT, XPROCESS, XWINDOW, XTERMINAL, XSUBR, XBUFFER, XCHAR_TABLE) | |
8573 | (XSUB_CHAR_TABLE, XBOOL_VECTOR, make_lisp_ptr, CHECK_TYPE) | |
8574 | (CHECK_STRING_OR_BUFFER, XCAR, XCDR, XSETCAR, XSETCDR, CAR, CDR) | |
8575 | (CAR_SAFE, CDR_SAFE, STRING_MULTIBYTE, SDATA, SSDATA, SREF, SSET) | |
8576 | (SCHARS, STRING_BYTES, SBYTES, STRING_SET_CHARS, STRING_COPYIN, AREF) | |
8577 | (ASIZE, ASET, CHAR_TABLE_REF_ASCII, CHAR_TABLE_REF) | |
8578 | (CHAR_TABLE_SET, CHAR_TABLE_EXTRA_SLOTS, SYMBOL_VAL, SYMBOL_ALIAS) | |
8579 | (SYMBOL_BLV, SYMBOL_FWD, SET_SYMBOL_VAL, SET_SYMBOL_ALIAS) | |
8580 | (SET_SYMBOL_BLV, SET_SYMBOL_FWD, SYMBOL_NAME, SYMBOL_INTERNED_P) | |
8581 | (SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P, SYMBOL_CONSTANT_P) | |
8582 | (XHASH_TABLE, HASH_TABLE_P, CHECK_HASH_TABLE, HASH_KEY, HASH_VALUE) | |
8583 | (HASH_NEXT, HASH_HASH, HASH_INDEX, HASH_TABLE_SIZE) | |
8584 | (XMISC, XMISCANY, XMARKER, XOVERLAY, XSAVE_VALUE, XFWDTYPE) | |
8585 | (XINTFWD, XBOOLFWD, XOBJFWD, XBUFFER_OBJFWD, XKBOARD_OBJFWD) | |
8586 | (XFLOAT_DATA, XFLOAT_INIT, NILP, NUMBERP, NATNUMP) | |
8587 | (RANGED_INTEGERP, CONSP, FLOATP, MISCP, STRINGP, SYMBOLP) | |
8588 | (INTEGERP, VECTORLIKEP, VECTORP, OVERLAYP) | |
8589 | (MARKERP, SAVE_VALUEP, AUTOLOADP, INTFWDP, BOOLFWDP, OBJFWDP) | |
8590 | (BUFFER_OBJFWDP, KBOARD_OBJFWDP, PSEUDOVECTOR_TYPEP) | |
8591 | (PSEUDOVECTORP, WINDOW_CONFIGURATIONP, PROCESSP, WINDOWP) | |
8592 | (TERMINALP, SUBRP, COMPILEDP, BUFFERP, CHAR_TABLE_P) | |
8593 | (SUB_CHAR_TABLE_P, BOOL_VECTOR_P, FRAMEP, IMAGEP, ARRAYP) | |
8594 | (CHECK_LIST, CHECK_LIST_CONS, CHECK_LIST_END, CHECK_STRING) | |
8595 | (CHECK_STRING_CAR, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE) | |
8596 | (CHECK_VECTOR, CHECK_VECTOR_OR_STRING, CHECK_ARRAY) | |
8597 | (CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER, CHECK_WINDOW) | |
8598 | (CHECK_WINDOW_CONFIGURATION, CHECK_PROCESS, CHECK_SUBR) | |
8599 | (CHECK_NUMBER, CHECK_NATNUM, CHECK_MARKER, XFLOATINT) | |
8600 | (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT, CHECK_OVERLAY) | |
8601 | (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR, CHECK_NATNUM_CAR) | |
8602 | (CHECK_NATNUM_CDR, FUNCTIONP, SPECPDL_INDEX, LOADHIST_ATTACH) | |
8603 | Now functions. | |
8604 | (check_cons_list) [!GC_CHECK_CONS_LIST]: New empty function. | |
8605 | (LISP_MAKE_RVALUE, TYPEMASK): Remove; no longer needed. | |
8606 | (VALMASK): Define in one place rather than in two, merging the | |
8607 | USE_LSB_TAG parts; this is simpler. | |
8608 | (aref_addr, gc_aset, MOST_POSITIVE_FIXNUM, MOST_NEGATIVE_FIXNUM) | |
8609 | (max, min, struct Lisp_String, UNSIGNED_CMP, ASCII_CHAR_P): | |
8610 | Move up, to avoid use before definition. | |
8611 | Also include "globals.h" earlier, for the same reason. | |
8612 | (make_natnum): New function. | |
8613 | (XUNTAG): Now returns void *, not intptr_t, as this means fewer casts. | |
8614 | (union Lisp_Fwd, BOOLFWDP, BOOL_VECTOR_P, BUFFER_OBJFWDP, BUFFERP) | |
8615 | (CHAR_TABLE_P, CHAR_TABLE_REF_ASCII, CONSP, FLOATP, INTEGERP, INTFWDP) | |
8616 | (KBOARD_OBJFWDP, MARKERP, MISCP, NILP, OBJFWDP, OVERLAYP, PROCESSP) | |
8617 | (PSEUDOVECTORP, SAVE_VALUEP, STRINGP, SUB_CHAR_TABLE_P, SUBRP, SYMBOLP) | |
8618 | (VECTORLIKEP, WINDOWP, Qoverlayp, char_table_ref, char_table_set) | |
8619 | (char_table_translate, Qarrayp, Qbufferp, Qbuffer_or_string_p) | |
8620 | (Qchar_table_p, Qconsp, Qfloatp, Qintegerp, Qlambda, Qlistp, Qmarkerp) | |
8621 | (Qnil, Qnumberp, Qsubrp, Qstringp, Qsymbolp, Qvectorp) | |
8622 | (Qvector_or_char_table_p, Qwholenump, Ffboundp, wrong_type_argument) | |
8623 | (initialized, Qhash_table_p, extract_float, Qprocessp, Qwindowp) | |
8624 | (Qwindow_configuration_p, Qimage): New forward declarations. | |
8625 | (XSETFASTINT): Simplify by rewriting in terms of make_natnum. | |
8626 | (STRING_COPYIN): Remove; unused. | |
8627 | (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Remove these macros, replacing with ... | |
8628 | (xcar_addr, xcdr_addr): New functions. All uses changed. | |
8629 | (IEEE_FLOATING_POINT): Now a constant, not a macro. | |
8630 | (GLYPH, GLYPH_CHAR, GLYPH_FACE, SET_GLYPH_CHAR, SET_GLYPH_FACE) | |
8631 | (SET_GLYPH, GLYPH_CODE_CHAR, GLYPH_CODE_FACE) | |
8632 | (SET_GLYPH_FROM_GLYPH_CODE, GLYPH_MODE_LINE_FACE, GLYPH_CHAR_VALID_P) | |
8633 | (GLYPH_CODE_P): Move to dispextern.h, to avoid define-before-use. | |
8634 | (TYPE_RANGED_INTEGERP): Simplify. | |
8635 | (Qsubrp, Qhash_table_p, Qoverlayp): New extern decls. | |
8636 | (setlocale, fixup_locale, synchronize_system_messages_locale) | |
8637 | (synchronize_system_time_locale) [!HAVE_SETLOCALE]: | |
8638 | Now empty functions, not macros. | |
8639 | (functionp): Return bool, not int. | |
8640 | * window.c (Qwindow_configuration_p): Now extern, | |
8641 | so window.h can use it. | |
8642 | * window.h (Qwindowp): Move decl back to lisp.h. | |
8643 | ||
9583ec36 EZ |
8644 | 2013-06-15 Eli Zaretskii <eliz@gnu.org> |
8645 | ||
8646 | * xdisp.c (Fline_pixel_height): New function, required for solving | |
8647 | bug #14567. | |
8648 | ||
210272ce PE |
8649 | 2013-06-15 Paul Eggert <eggert@cs.ucla.edu> |
8650 | ||
8651 | * fns.c (Fcopy_sequence): Simplify XTYPE calculation. | |
8652 | ||
de0503df SM |
8653 | 2013-06-13 Stefan Monnier <monnier@iro.umontreal.ca> |
8654 | ||
8655 | * lread.c (syms_of_lread): | |
8656 | * fns.c (Fprovide): Adjust to new format of after-load-alist. | |
8657 | ||
afbfe143 KD |
8658 | 2013-06-13 Kelly Dean <kellydeanch@yahoo.com> (tiny change) |
8659 | ||
8660 | * fileio.c (Fdo_auto_save): Trap errors in auto-save-hook. (Bug#14479) | |
8661 | ||
d177e213 XF |
8662 | 2013-06-12 Xue Fuqiao <xfq.free@gmail.com> |
8663 | ||
8664 | * fileio.c (expand_file_name): Doc fix. | |
8665 | ||
05e3e412 PE |
8666 | 2013-06-11 Paul Eggert <eggert@cs.ucla.edu> |
8667 | ||
f7394b12 PE |
8668 | Tickle glib by waiting for Emacs itself, not for process 0 (Bug#14569). |
8669 | * process.c (init_process_emacs) [HAVE_GLIB && !WINDOWSNT]: | |
8670 | Wait for self, not for 0. This can't hurt on GNU or similar | |
8671 | system, and may help with Cygwin. | |
8672 | ||
05e3e412 PE |
8673 | * keyboard.c: Don't use PROP (...) as an lvalue. |
8674 | (parse_tool_bar_item) [!USE_GTK && !HAVE_NS]: | |
8675 | Use set_prop (A, B), not PROP (A) = B. | |
8676 | ||
17dd3097 EZ |
8677 | 2013-06-10 Eli Zaretskii <eliz@gnu.org> |
8678 | ||
8679 | * xdisp.c (get_it_property): Use it->window instead of generating | |
8680 | a Lisp object from it->w. | |
8681 | ||
52fab9c9 EZ |
8682 | 2013-06-09 Eli Zaretskii <eliz@gnu.org> |
8683 | ||
8684 | * xdisp.c (get_it_property): If it->object is a buffer, pass to | |
8685 | get-char-property the window that is being rendered, instead of | |
8686 | the buffer, to support window-specific overlays. (Bug#14575) | |
ad257d4f EZ |
8687 | (compute_display_string_pos): When W is NULL, use the current |
8688 | buffer as the object to pass to get-char-property. | |
8689 | (Fcurrent_bidi_paragraph_direction): Assign NULL to the window | |
8690 | pointer member of the bidi iterator, since no window is pertinent | |
8691 | to this function. | |
52fab9c9 | 8692 | |
5bf97bfc EZ |
8693 | 2013-06-08 Eli Zaretskii <eliz@gnu.org> |
8694 | ||
8695 | * bidi.c (bidi_fetch_char): Accept additional argument, the window | |
8696 | being displayed, and pass it to compute_display_string_pos. | |
8697 | (bidi_level_of_next_char, bidi_resolve_explicit_1) | |
8698 | (bidi_paragraph_init): All callers changed. | |
8699 | ||
8700 | * xdisp.c (init_from_display_pos, init_iterator) | |
8701 | (handle_single_display_spec, next_overlay_string) | |
8702 | (get_overlay_strings_1, reseat_1, reseat_to_string) | |
e7b41c4c JB |
8703 | (push_prefix_prop, Fcurrent_bidi_paragraph_direction): |
8704 | Set bidi_it.w member from it->w. | |
5bf97bfc EZ |
8705 | (compute_display_string_pos): Accept additional argument, the |
8706 | window being displayed, and pass it to Fget_char_property. | |
8707 | (Bug#14575) | |
8708 | ||
8709 | * dispextern.h (struct bidi_it): New member w, the window being | |
8710 | displayed. | |
8711 | (compute_display_string_pos): Adjust prototype. | |
8712 | ||
5de0e011 JD |
8713 | 2013-06-08 Jan Djärv <jan.h.d@swipnet.se> |
8714 | ||
e7b41c4c | 8715 | * xgselect.c: Remove unneeded include xterm.h. |
b33f93ee JD |
8716 | |
8717 | * process.c (wait_reading_process_output): Check for NS before GLIB. | |
8718 | GLIB may be linked in due to rsvg, but ns_select must be called. | |
8719 | ||
5de0e011 JD |
8720 | * xgselect.c (xg_select): Remove call to window_system_available |
8721 | and g_main_context_pending at the top, so Gdk events (i.e. file | |
8722 | notify) are processed when Emacs is started with -nw. | |
8723 | ||
a822acff EZ |
8724 | 2013-06-07 Eli Zaretskii <eliz@gnu.org> |
8725 | ||
8726 | * Makefile.in (ctagsfiles1, ctagsfiles2): Don't include *.m files. | |
8727 | (ctagsfiles3): New variable, includes only *.m files. | |
8728 | (TAGS): Use an explicit language name in the regular expressions, | |
8729 | to avoid transformation of '/SOMETHING' by MSYS to | |
8730 | 'c:\MSYS\SOMETHING'. | |
8731 | ||
6c0a9ed1 RC |
8732 | 2013-06-07 Richard Copley <rcopley@gmail.com> (tiny change) |
8733 | ||
8734 | * epaths.in: Fix commentary to PATH_SITELOADSEARCH. | |
8735 | ||
9ef6111b EZ |
8736 | 2013-06-06 Eli Zaretskii <eliz@gnu.org> |
8737 | ||
8738 | * xdisp.c (note_mouse_highlight): When mouse-highlight is off, | |
8739 | still need to set the mouse pointer shape and activate help-echo. | |
8740 | (Bug#14558) | |
8741 | ||
7d300d64 PE |
8742 | 2013-06-06 Paul Eggert <eggert@cs.ucla.edu> |
8743 | ||
8744 | A few porting etc. fixes for the new file monitor code. | |
8745 | See the thread containing | |
8746 | <http://lists.gnu.org/archive/html/emacs-devel/2013-06/msg00109.html>. | |
8747 | * gfilenotify.c (dir_monitor_callback, Fgfile_add_watch) | |
8748 | (Fgfile_rm_watch): Don't assume EMACS_INT is the same width as a pointer. | |
8749 | (dir_monitor_callback, Fgfile_rm_watch): | |
8750 | Use assq_no_quit instead of Fassoc, for speed. | |
8751 | (dir_monitor_callback, Fgfile_rm_watch): | |
8752 | eassert that the monitor is a fixnum. | |
8753 | (dir_monitor_callback): No need for CDR_SAFE. | |
8754 | Simplify building of lisp with alternative tails. | |
8755 | (Fgfile_add_watch, Fgfile_rm_watch): | |
8756 | Do not assume glib functions set errno reliably on failure. | |
8757 | (Fgfile_add_watch): Check that the monitor survives the XIL trick, | |
8758 | and signal an error otherwise. | |
8759 | (Fgfile_rm_watch): Prefer CONSP to !NILP. | |
8760 | Use Fdelq instead of Fdelete, for speed. | |
8761 | ||
817ebfcf EZ |
8762 | 2013-06-05 Eli Zaretskii <eliz@gnu.org> |
8763 | ||
8764 | * xdisp.c (handle_tool_bar_click): When mouse-highlight is off, | |
8765 | don't insist on being invoked on a highlighted tool-bar button. | |
8766 | Avoids losing tool-bar functionality when mouse-highlight is nil. | |
8767 | (note_tool_bar_highlight, note_mode_line_or_margin_highlight): | |
8768 | Don't highlight when mouse-highlight is nil. | |
8769 | (note_mouse_highlight): When mouse-highlight is nil, don't return | |
8770 | right away; instead, run tool-bar and mode-line highlight | |
8771 | subroutine, clear any existing highlight, and revert the mouse | |
8772 | pointer to its default shape. (Bug#14558) | |
8773 | ||
55577e7c SM |
8774 | 2013-06-05 Stefan Monnier <monnier@iro.umontreal.ca> |
8775 | ||
8776 | * lisp.mk (lisp): Add prog-mode.el. | |
8777 | ||
f019a684 PE |
8778 | 2013-06-05 Paul Eggert <eggert@cs.ucla.edu> |
8779 | ||
8780 | Chain glib's SIGCHLD handler from Emacs's (Bug#14474). | |
8781 | * process.c (dummy_handler): New function. | |
8782 | (lib_child_handler): New static var. | |
8783 | (handle_child_signal): Invoke it. | |
8784 | (catch_child_signal): If a library has set up a signal handler, | |
8785 | save it into lib_child_handler. | |
8786 | (init_process_emacs): If using glib and not on Windows, tickle glib's | |
8787 | child-handling code so that it initializes its private SIGCHLD handler. | |
8788 | * syssignal.h (SA_SIGINFO): Default to 0. | |
8789 | * xterm.c (x_term_init): Remove D-bus hack that I installed on May | |
8790 | 31; it should no longer be needed now. | |
8791 | ||
90db8702 MA |
8792 | 2013-06-05 Michael Albinus <michael.albinus@gmx.de> |
8793 | ||
8794 | * emacs.c (main) [HAVE_GFILENOTIFY]: Call globals_of_gfilenotify. | |
8795 | ||
8796 | * gfilenotify.c (globals_of_gfilenotify): New function. | |
8797 | (syms_of_gfilenotify): Move global initialization there. | |
8798 | ||
8799 | * lisp.h (globals_of_gfilenotify) [HAVE_GFILENOTIFY]: Add prototype. | |
8800 | ||
bfa3acd6 SM |
8801 | 2013-06-05 Stefan Monnier <monnier@iro.umontreal.ca> |
8802 | ||
8803 | * keymap.c (Fcurrent_active_maps, Fdescribe_buffer_bindings): | |
8804 | * keyboard.c (menu_bar_items, tool_bar_items): | |
8805 | * doc.c (Fsubstitute_command_keys): Voverriding_terminal_local_map does | |
8806 | not override local keymaps any more. | |
8807 | ||
ba59bd80 EZ |
8808 | 2013-06-04 Eli Zaretskii <eliz@gnu.org> |
8809 | ||
8810 | * window.c (Fpos_visible_in_window_p): Doc fix. (Bug#14540) | |
8811 | ||
7f203aa1 EZ |
8812 | 2013-06-03 Eli Zaretskii <eliz@gnu.org> |
8813 | ||
9337e206 EZ |
8814 | * w32console.c (initialize_w32_display): Return the dimensions of |
8815 | the console window via 2 additional arguments, not via the current | |
8816 | frame. This avoids crashes due to overrunning the bounds of | |
8817 | frame's decode_mode_spec_buffer, which is not resized following | |
8818 | the change of the frame dimensions from the initial 10x10. | |
8819 | ||
8820 | * w32term.h (w32_initialize_display_info): Adjust prototype. | |
8821 | ||
8822 | * term.c (init_tty): Take dimensions of the frame from the values | |
8823 | returned by initialize_w32_display. | |
8824 | ||
7f203aa1 EZ |
8825 | * Makefile.in (GFILENOTIFY_CFLAGS, GFILENOTIFY_LIBS): New variables. |
8826 | (ALL_CFLAGS): Add $(GFILENOTIFY_CFLAGS). | |
8827 | (LIBES): Add $(GFILENOTIFY_LIBS). | |
8828 | ||
8829 | * w32inevt.c (handle_file_notifications): Add dummy implementation | |
8830 | for !HAVE_W32NOTIFY. | |
8831 | ||
8832 | * w32term.c: Wrap code with HAVE_W32NOTIFY. | |
8833 | ||
55a87246 JD |
8834 | 2013-06-03 Jan Djärv <jan.h.d@swipnet.se> |
8835 | ||
8836 | * xgselect.c: Replace #if defined ... with #ifdef HAVE_GLIB. | |
8837 | ||
8838 | * process.c (wait_reading_process_output): Call xg_select if HAVE_GLIB. | |
8839 | ||
8840 | * Makefile.in (XGSELOBJ): New, xgselect.o if GLib is used, or empty. | |
8841 | ||
3d5ee10a PE |
8842 | 2013-06-03 Paul Eggert <eggert@cs.ucla.edu> |
8843 | ||
8844 | Fix minor problems found by static checking. | |
8845 | * data.c (pure_write_error): | |
8846 | Use xsignal2, not Fsignal, as Fsignal might return. | |
8847 | * eval.c (set_backtrace_debug_on_exit): Now static. | |
8848 | (backtrace_p, backtrace_top, backtrace_next, record_in_backtrace): | |
8849 | No longer inline. EXTERN_INLINE is needed only for functions | |
8850 | defined in .h files. Reindent function header as per GNU style. | |
8851 | (backtrace_p, backtrace_top, backtrace_next): | |
8852 | Mark EXTERNALLY_VISIBLE so they don't get optimized away by the | |
8853 | compiler or linker. Add extern decls to pacify gcc -Wall. | |
8854 | * frame.c, frame.h (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): | |
8855 | Now static. | |
8856 | * frame.c (free_monitors): Define only on platforms that need it. | |
8857 | * nsterm.m (ns_term_init): | |
8858 | * process.c (catch_child_signal): | |
8859 | Don't worry about whether SIGCHLD is defined, as SIGCHLD is | |
8860 | defined on all porting targets these days. | |
8861 | * process.c, process.h (catch_child_signal): | |
8862 | Make it extern only if NS_IMPL_GNUSTEP is defined. | |
8863 | ||
e2d8a6f0 EZ |
8864 | 2013-06-03 Eli Zaretskii <eliz@gnu.org> |
8865 | ||
8866 | * w32.c (gettimeofday): Make the signature identical to prototype | |
8867 | in nt/inc/sys/time.h. | |
8868 | ||
a8a7c5f6 SM |
8869 | 2013-06-03 Stefan Monnier <monnier@iro.umontreal.ca> |
8870 | ||
8871 | * eval.c (backtrace_p, backtrace_top, backtrace_next): Export them to | |
8872 | .gdbinit. | |
8873 | ||
8874 | * keyboard.c (safe_run_hooks_error): Improve error message. | |
8875 | ||
8876 | * data.c (pure_write_error): Add `object' argument. | |
8877 | * puresize.h (CHECK_IMPURE): Use it. | |
8878 | ||
c9628c79 MA |
8879 | 2013-06-03 Michael Albinus <michael.albinus@gmx.de> |
8880 | ||
8881 | * Makefile.in (NOTIFY_OBJ): New variable. | |
8882 | (base_obj): Replace inotify.o by $(NOTIFY_OBJ). | |
8883 | ||
8884 | * emacs.c (main): Use HAVE_W32NOTIFY to wrap respective code. | |
8885 | Call syms_of_gfilenotify. | |
8886 | ||
8887 | * gfilenotify.c: New file. | |
8888 | ||
8889 | * keyboard.c (Qfile_notify): New variable. Replaces Qfile_inotify | |
8890 | and Qfile_w32notify. | |
8891 | (top): Wrap respective code by HAVE_GFILENOTIFY, HAVE_INOTIFY, | |
8892 | HAVE_W32NOTIFY and USE_FILE_NOTIFY. | |
8893 | ||
8894 | * lisp.h: Declare syms_of_gfilenotify. | |
8895 | ||
8896 | * termhooks.h (e): Wrap enum by USE_FILE_NOTIFY. | |
8897 | ||
2f592f95 SM |
8898 | 2013-06-03 Stefan Monnier <monnier@iro.umontreal.ca> |
8899 | ||
8900 | Merge the specpdl and backtrace stacks. Make the structure of the | |
8901 | specpdl entries more obvious via a tagged union of structs. | |
8902 | * lisp.h (BITS_PER_PTRDIFF_T): New constant. | |
8903 | (enum specbind_tag): New enum. | |
8904 | (struct specbinding): Make it a tagged union of structs. | |
8905 | Add a case for backtrace records. | |
8906 | (specpdl_symbol, specpdl_old_value, specpdl_where, specpdl_arg) | |
8907 | (specpdl_func, backtrace_function, backtrace_nargs, backtrace_args) | |
8908 | (backtrace_debug_on_exit): New accessors. | |
8909 | (struct backtrace): Remove. | |
8910 | (struct catchtag): Remove backlist field. | |
8911 | * data.c (let_shadows_buffer_binding_p, let_shadows_global_binding_p): | |
8912 | Move to eval.c. | |
8913 | (Flocal_variable_p): Speed up the common case where the binding is | |
8914 | already loaded. | |
8915 | * eval.c (backtrace_list): Remove. | |
8916 | (set_specpdl_symbol, set_specpdl_old_value): Remove. | |
8917 | (set_backtrace_args, set_backtrace_nargs) | |
8918 | (set_backtrace_debug_on_exit, backtrace_p, backtrace_top) | |
8919 | (backtrace_next): New functions. | |
8920 | (Fdefvaralias, Fdefvar): Adjust to new specpdl format. | |
8921 | (unwind_to_catch, internal_lisp_condition_case) | |
8922 | (internal_condition_case, internal_condition_case_1) | |
8923 | (internal_condition_case_2, internal_condition_case_n): Don't bother | |
8924 | with backtrace_list any more. | |
8925 | (Fsignal): Adjust to new backtrace format. | |
8926 | (grow_specpdl): Move up. | |
8927 | (record_in_backtrace): New function. | |
8928 | (eval_sub, Ffuncall): Use it. | |
8929 | (apply_lambda): Adjust to new backtrace format. | |
8930 | (let_shadows_buffer_binding_p, let_shadows_global_binding_p): Move from | |
8931 | data.c. | |
8932 | (specbind): Adjust to new specpdl format. Simplify. | |
8933 | (record_unwind_protect, unbind_to): Adjust to new specpdl format. | |
8934 | (Fbacktrace_debug, Fbacktrace, Fbacktrace_frame): Adjust to new | |
8935 | backtrace format. | |
8936 | (mark_backtrace): Remove. | |
8937 | (mark_specpdl, get_backtrace, backtrace_top_function): New functions. | |
8938 | * xdisp.c (redisplay_internal): Use record_in_backtrace. | |
8939 | * alloc.c (Fgarbage_collect): Use record_in_backtrace. | |
8940 | Use mark_specpdl. | |
8941 | * profiler.c (record_backtrace): Use get_backtrace. | |
8942 | (handle_profiler_signal): Use backtrace_top_function. | |
8943 | * .gdbinit (xbacktrace, hookpost-backtrace): Use new backtrace | |
8944 | accessor functions. | |
8945 | ||
c0342369 JD |
8946 | 2013-06-02 Jan Djärv <jan.h.d@swipnet.se> |
8947 | ||
8948 | * process.h (catch_child_signal): Declare. | |
8949 | ||
8950 | * process.c (catch_child_signal): New function. | |
8951 | (init_process_emacs): Call it. | |
8952 | ||
8953 | * nsterm.m: Include process.h if NS_IMPL_GNUSTEP. | |
8954 | (ns_menu_bar_is_hidden, menu_will_open_state): Define only if | |
8955 | NS_IMPL_COCOA. | |
8956 | (x_set_cursor_type): Remove declaration. | |
8957 | (ns_update_begin): Only use r and bp if NS_IMPL_COCOA. | |
a6c4680a | 8958 | (ns_update_end, ns_focus, ns_unfocus): Remove GNUstep specific code. |
c0342369 JD |
8959 | (x_set_window_size): Remove 3 pixels from toolbar if NS_IMPL_GNUSTEP. |
8960 | (ns_get_color): Use F suffix on float. | |
8961 | (ns_color_to_lisp, ns_query_color): Use EmacsCGFloat. | |
8962 | (ns_get_rgb_color): Remove. | |
8963 | (x_set_frame_alpha): Move view inside NS_IMPL_COCOA. | |
8964 | (note_mouse_movement): x and y are CGFloat. | |
8965 | (ns_draw_fringe_bitmap): Remove unused rowY. | |
8966 | Change #if to COCOA && >= 10_6. | |
8967 | (ns_draw_window_cursor): Remove unused overspill. | |
8968 | (ns_draw_underwave): width and x are EamcsCGFloat. | |
8969 | (ns_draw_box): thickness is CGFloat. | |
8970 | (ns_dumpglyphs_image): Change #if to COCOA && >= 10_6. | |
8971 | (ns_send_appdefined): When NS_IMPL_GNUSTEP, redirect to main thread | |
8972 | if not in main thread. | |
8973 | (ns_get_pending_menu_title, ns_check_menu_open) | |
8974 | (ns_check_pending_open_menu): Put inside #if COCOA && >= 10_5. | |
8975 | (ns_term_init): Call catch_child_signal if NS_IMPL_GNUSTEP && SIGCHLD. | |
8976 | (sendFromMainThread:): New method. | |
8977 | (changeFont:): size is CGFloat. | |
8978 | (keyDown:): Check for Delete when NS_IMPL_GNUSTEP. | |
8979 | Disable warning about permanent text. | |
a6c4680a | 8980 | (characterIndexForPoint:): Adjust return type depending on GNUstep |
c0342369 JD |
8981 | version. |
8982 | (mouseDown:): delta is CGFloat. | |
8983 | (updateFrameSize): Remove unised variable f. | |
8984 | (initFrameFromEmacs): Move toggleButton inside NS_IMPL_COCOA. | |
8985 | Cast float to EmacsCGFloat. | |
8986 | (windowWillUseStandardFrame:defaultFrame:): Set maximized_height | |
8987 | also to -1 when restoring. | |
8988 | (windowDidExitFullScreen:): Put call to updateCollectionBehaviour | |
8989 | inside NS_IMPL_COCOA. | |
8990 | (toggleFullScreen:): Put call to toggleFullScreen inside | |
8991 | NS_IMPL_COCOA. Cast float to EmacsCGFloat. | |
8992 | (setPosition:portion:whole:): por is CGFloat. | |
8993 | (getMouseMotionPart:window:x:y:): Add F suffix to float. | |
8994 | (mouseDown:): Use CGFloat. | |
8995 | (mouseDragged:): Remove unised variable edge. | |
8996 | (EmacsDocument): Implement for NS_IMPL_GNUSTEP. | |
8997 | ||
a6c4680a | 8998 | * nsterm.h (EmacsCGFloat): Typedef for OSX and GNUstep when the size |
c0342369 JD |
8999 | of CGFloat differs. |
9000 | (EmacsApp): New variable nextappdefined. Declare sendFromMainThread | |
9001 | when NS_IMPL_GNUSTEP. | |
9002 | (EmacsDocument): Declare when NS_IMPL_GNUSTEP. | |
9003 | (EmacsView): Remove unlockFocusNeedsFlush, add windowDidMove. | |
9004 | (EmacsToolbar): Add clearAll. Add tag argument to | |
9005 | addDisplayItemWithImage. | |
9006 | (EmacsSavePanel, EmacsOpenPanel): Remove getFilename and getDirectory. | |
9007 | ||
9008 | * nsselect.m (ns_get_local_selection): Remove unused variable type. | |
9009 | ||
9010 | * nsmenu.m (ns_update_menubar): Make static. | |
9011 | (x_activate_menubar): Surround with ifdef NS_IMPL_COCOA | |
9012 | (fillWithWidgetValue:): Add cast to SEL for setAction. | |
9013 | (addSubmenuWithTitle:forFrame:): Add cast to SEL for action. | |
a6c4680a | 9014 | (update_frame_tool_bar): Update code for GNUstep. |
c0342369 JD |
9015 | (clearAll): New method. |
9016 | (addDisplayItemWithImage:idx:tag:helpText:enabled:): Handle new tag | |
4f405069 | 9017 | argument. Call insertItemWithItemIdentifier when NS_IMPL_GNUSTEP. |
e7b41c4c | 9018 | Move identifierToItem setObject and activeIdentifiers addObject before |
c0342369 JD |
9019 | call to insertItemWithItemIdentifier. |
9020 | (validateVisibleItems): Fix indentation. | |
9021 | (toolbarAllowedItemIdentifiers:): Return activeIdentifiers. | |
9022 | (initWithContentRect:styleMask:backing:defer:): Add ClosableWindow and | |
9023 | UtilityWindow to aStyle, remove call to setStyleMask. | |
9024 | ||
9025 | * nsimage.m (setXBMColor:, getPixelAtX:Y:): Use EmacsCGFloat. | |
9026 | ||
9027 | * nsfont.m (ns_attribute_fvalue, ns_spec_to_descriptor) | |
9028 | (ns_charset_covers, ns_get_covering_families, nsfont_open): | |
9029 | Use F suffix on floats. | |
9030 | (ns_char_width): Returns CGFloat. | |
9031 | (ns_ascii_average_width): w is CGFloat instead of float. | |
e7b41c4c | 9032 | (nsfont_draw): cbuf and c are unsigned. Cast to char* in call to |
c0342369 JD |
9033 | DPSxshow. |
9034 | (ns_glyph_metrics): CGFloat instead of float. | |
9035 | ||
a0eb10b3 JB |
9036 | * nsfns.m (x_set_foreground_color, x_set_background_color): |
9037 | Use EmacsCGFloat. | |
9038 | (ns_implicitly_set_icon_type, Fx_create_frame): Make static, | |
9039 | remove unused variables. | |
9040 | (Fns_read_file_name): Keep track if panel is for save. | |
9041 | Use ns_filename_from_panel/ns_directory_from_panel. | |
c0342369 | 9042 | (Fns_list_services): delegate only used for COCOA. |
a6c4680a GM |
9043 | (Fns_convert_utf8_nfd_to_nfc): Remove warning for GNUstep. |
9044 | Just return the input if GNUstep. | |
c0342369 JD |
9045 | (x_screen_planes): Remove. |
9046 | (Fxw_color_values): Use EmacsCGFloat | |
9047 | (Fns_display_monitor_attributes_list): Only get screen number for | |
9048 | Cocoa. | |
ef099a94 | 9049 | (getDirectory, getFilename): Remove from EmacsOpenPanel and |
c0342369 JD |
9050 | EmacsSavePanel. |
9051 | (EmacsOpenPanel:ok:): Use ns_filename_from_panel and | |
9052 | ns_directory_from_panel. | |
9053 | ||
da9aff11 PE |
9054 | 2013-06-01 Paul Eggert <eggert@cs.ucla.edu> |
9055 | ||
9056 | * process.c (handle_child_signal): Also use WCONTINUED. | |
9057 | This is so that list-processes doesn't mistakenly list the process | |
9058 | as stopped, when the process has actually been continued and is | |
9059 | now running. | |
9060 | ||
0e64479a PE |
9061 | 2013-05-31 Paul Eggert <eggert@cs.ucla.edu> |
9062 | ||
fc186a96 PE |
9063 | Don't let D-bus autolaunch mess up SIGCHLD handling (Bug#14474). |
9064 | * xterm.c (x_term_init): Inhibit D-Bus autolaunch if D-Bus is | |
9065 | not already configured. | |
9066 | ||
0e64479a PE |
9067 | * fileio.c (Finsert_file_contents): Remove unused local (Bug#8447). |
9068 | ||
38b787fa EZ |
9069 | 2013-05-29 Eli Zaretskii <eliz@gnu.org> |
9070 | ||
9071 | * Makefile.in (mostlyclean): Remove *.res files. | |
9072 | ||
22513e52 SM |
9073 | 2013-05-29 Stefan Monnier <monnier@iro.umontreal.ca> |
9074 | ||
9075 | * fileio.c (Finsert_file_contents): Preserve undo info when reverting | |
9076 | a buffer (bug#8447). | |
9077 | ||
6ef3db10 EZ |
9078 | 2013-05-27 Eli Zaretskii <eliz@gnu.org> |
9079 | ||
9080 | * xdisp.c (pos_visible_p): When CHARPOS is displayed frrom a | |
9081 | display vector, and we backtrack, handle the case that the | |
9082 | previous character position is also displayed from a display | |
9083 | vector or covered by a display string or image. (Bug#14476) | |
9084 | ||
6799bb26 JD |
9085 | 2013-05-25 Jan Djärv <jan.h.d@swipnet.se> |
9086 | ||
9087 | * xfns.c (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): Remove. | |
9088 | (struct MonitorInfo, free_monitors): Remove. | |
9089 | (x_make_monitor_attribute_list): Call make_monitor_attribute_list. | |
9090 | (Fx_display_monitor_attributes_list): Call make_monitor_attribute_list. | |
9091 | (syms_of_xfns): Remove DEFSYM for Qgeometry, Qworkarea, Qmm_size, | |
9092 | Qframes, Qsource. | |
9093 | ||
9094 | * nsfns.m (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): Remove. | |
9095 | (struct MonitorInfo, free_monitors): Remove. | |
9096 | (ns_screen_name): Make static. | |
9097 | (ns_make_monitor_attribute_list): Call make_monitor_attribute_list. | |
9098 | (syms_of_nsfns): Remove DEFSYM for Qgeometry, Qworkarea, Qmm_size, | |
9099 | Qframes, Qsource. | |
9100 | ||
9101 | * frame.h (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): Declare. | |
9102 | (struct MonitorInfo): New struct. | |
9103 | (free_monitors, make_monitor_attribute_list): Declare. | |
9104 | ||
22513e52 SM |
9105 | * frame.c (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): |
9106 | New Lisp_Object:s. | |
6799bb26 JD |
9107 | (free_monitors, make_monitor_attribute_list): New functions. |
9108 | (syms_of_frame): DEFSYM Qgeometry, Qworkarea, Qmm_size, Qframes, | |
9109 | Qsource. | |
9110 | ||
38cd43eb XF |
9111 | 2013-05-25 Xue Fuqiao <xfq.free@gmail.com> |
9112 | ||
9113 | * callproc.c (call_process): Refine the doc string. (Bug#14045) | |
9114 | ||
2af0948d SM |
9115 | 2013-05-23 Stefan Monnier <monnier@iro.umontreal.ca> |
9116 | ||
a7eb9b0f SM |
9117 | * keyboard.c: Apply keyboard decoding only to events that come directly |
9118 | from the tty, not from unread-command-events (bug#14368). | |
0f1d2934 | 9119 | (read_event_from_main_queue): New function, extracted from read_char. |
a7eb9b0f SM |
9120 | (read_decoded_char): Remove. |
9121 | (read_decoded_event_from_main_queue): New function to replace it. | |
9122 | (read_char): Use it. | |
9123 | (read_key_sequence): Use read_char rather than read_decoded_char. | |
9124 | ||
2af0948d SM |
9125 | * keyboard.c (read_decoded_char): Don't decode under w32 (bug#14403). |
9126 | ||
9698f11c | 9127 | 2013-05-22 Barry O'Reilly <gundaetiapo@gmail.com> |
1413e9a5 BR |
9128 | |
9129 | * casetab.c (init_casetab_once): Fix last change (bug#14424). | |
9130 | ||
e6d2f155 KH |
9131 | 2013-05-22 Kenichi Handa <handa@gnu.org> |
9132 | ||
9133 | The following changes are to fix the setting of | |
9134 | buffer-file-coding-system on, for instance, C-x RET c unix RET | |
9135 | _FILE_OF_DOS_EOL_TYPE_ RET. | |
9136 | ||
9137 | * coding.h (struct coding_system): New member detected_utf8_chars. | |
9138 | ||
9139 | * coding.c (detect_coding_utf_8): Count characters and check EOL | |
9140 | format. Include CATEGORY_MASK_UTF_8_AUTO in detect_info->found if | |
9141 | BOM is there. | |
9142 | (setup_coding_system): Do not initialize coding->head_ascii. | |
9143 | (check_ascii): Do not set coding->eol_seen but update it. Do not | |
9144 | call adjust_coding_eol_type here. | |
1413e9a5 BR |
9145 | (detect_coding): Fix detection of BOM for utf-8 and utf-16. |
9146 | If the eol-type of CODING is already specified, adjust the eol type | |
e6d2f155 KH |
9147 | of the found coding-system. |
9148 | (decode_coding_gap): Cancel previous change. Utilize the | |
9149 | character numbers counted by detect_coding_utf_8. Fix detection | |
9150 | of BOM for utf-8. | |
9151 | ||
9698f11c | 9152 | 2013-05-21 Barry O'Reilly <gundaetiapo@gmail.com> |
fc30d803 SM |
9153 | |
9154 | * search.c (looking_at_1): Only set last_thing_searched if the match | |
9155 | changed the match-data (bug#14281). | |
9156 | ||
ecc3c6ed DA |
9157 | 2013-05-21 Dmitry Antipov <dmantipov@yandex.ru> |
9158 | ||
9159 | * xdisp.c (reseat_at_previous_visible_line_start): | |
a0eb10b3 | 9160 | Already declared in dispextern.h, so remove it here. |
ecc3c6ed DA |
9161 | (move_it_vertically_backward): Likewise. |
9162 | ||
5ba8bf35 YM |
9163 | 2013-05-20 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> |
9164 | ||
9165 | * xfns.c (check_x_display_info): Don't use XINT for terminal object. | |
d6635ba2 | 9166 | (Fx_display_pixel_width, Fx_display_pixel_height) |
fc30d803 SM |
9167 | (Fx_display_mm_width, Fx_display_mm_height): |
9168 | Mention `display-monitor-attributes-list' in docstrings. | |
5ba8bf35 | 9169 | |
91e8418b | 9170 | * nsfns.m (ns_get_screen): Remove function. All uses removed. |
a0eb10b3 | 9171 | (check_ns_display_info): Sync with check_x_display_info in xfns.c. |
91e8418b YM |
9172 | (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version) |
9173 | (Fx_display_screens, Fx_display_mm_width, Fx_display_mm_height) | |
9174 | (Fx_display_backing_store, Fx_display_visual_class) | |
9175 | (Fx_display_save_under, Fx_close_connection, Fxw_display_color_p) | |
9176 | (Fx_display_grayscale_p, Fx_display_pixel_width) | |
9177 | (Fx_display_pixel_height, Fx_display_planes) | |
9178 | (Fx_display_color_cells): Sync args and docstrings with xfns.c. | |
9179 | (Fx_display_screens): Don't confuse X11 screens with NS screens. | |
9180 | (Fx_display_mm_width, Fx_display_mm_height) | |
9181 | (Fx_display_pixel_width, Fx_display_pixel_width): Return width or | |
9182 | height for all physical monitors as in X11. | |
9183 | ||
fc30d803 SM |
9184 | * nsterm.m (x_display_pixel_width, x_display_pixel_height): |
9185 | Return pixel width or height for all physical monitors as in X11. | |
91e8418b | 9186 | |
31ff141c PE |
9187 | 2013-05-18 Paul Eggert <eggert@cs.ucla.edu> |
9188 | ||
9189 | Port --enable-gcc-warnings to clang. | |
9190 | * bytecode.c (exec_byte_code): | |
9191 | * regex.c: | |
9192 | Redo diagnostic pragmas to pacify clang, too. | |
9193 | * dbusbind.c (xd_retrieve_arg): Do not use uninitialized variable. | |
9194 | * editfns.c (Fencode_time): | |
9195 | * fileio.c (file_accessible_directory_p): | |
9196 | * font.c (font_unparse_xlfd): | |
9197 | Use '&"string"[index]' instead of '"string" + (index)'. | |
9198 | * undo.c (user_error): Remove; unused. | |
9199 | ||
df065a0b EZ |
9200 | 2013-05-16 Eli Zaretskii <eliz@gnu.org> |
9201 | ||
04d360e7 EZ |
9202 | * insdel.c (insert_1_both): Document the arguments, instead of |
9203 | referring to insert_1, which no longer exists. | |
9204 | ||
5bb98290 EZ |
9205 | * xdisp.c (message_dolog): If the *Messages* buffer is shown in |
9206 | some window, increment windows_or_buffers_changed, so that | |
9207 | *Messages* display in that window is updated. (Bug#14408) | |
9208 | ||
df065a0b EZ |
9209 | * w32.c: Include epaths.h. |
9210 | (init_environment): Use cmdproxy.exe without leading directories. | |
9211 | Support emacs.exe in src; point SHELL to cmdproxy in ../nt in that | |
9212 | case. | |
9213 | (gettimeofday): Adjust signature and return value to Posix | |
9214 | expectations. | |
9215 | ||
9216 | * unexw32.c (open_output_file): Delete the existing emacs.exe | |
9217 | before creating it, to break the hard link to the versioned | |
9218 | executable. | |
9219 | ||
9220 | * Makefile.in (EMACS_MANIFEST, CM_OBJ, TEMACS_POST_LINK) | |
9221 | (ADDSECTION, EMACS_HEAPSIZE, MINGW_TEMACS_POST_LINK) | |
9222 | (FIRSTFILE_OBJ): New variables. | |
9223 | (W32_RES): Rename to EMACSRES. All users changed. | |
9224 | (base_obj): Use $(CM_OBJ). | |
9225 | (ALLOBJS): Use $(FIRSTFILE_OBJ). | |
9226 | (emacs$(EXEEXT)): Depend on $(ADDSECTION). | |
9227 | (temacs$(EXEEXT)): Use $(TEMACS_POST_LINK), and move | |
9228 | $(W32_RES_LINK) before $(LIBES). | |
9229 | (emacs.res): Depend on $(EMACS_MANIFEST). Put emacs.rc in nt. | |
9230 | ||
1aa8d505 SM |
9231 | 2013-05-15 Stefan Monnier <monnier@iro.umontreal.ca> |
9232 | ||
6e911150 SM |
9233 | * makefile.w32-in (DOC): Use just "DOC". |
9234 | ||
9235 | * Makefile.in (bootstrap-clean): DOC-* doesn't exist any more. | |
9236 | ||
1aa8d505 SM |
9237 | * process.c: Export default filters and sentinels to Elisp. |
9238 | (Qinternal_default_process_sentinel, Qinternal_default_process_filter): | |
9239 | New constants. | |
9240 | (pset_filter, pset_sentinel, make_process, Fset_process_filter) | |
9241 | (Fset_process_sentinel, Fformat_network_address): | |
9242 | Default to them instead of nil. | |
9243 | (server_accept_connection): Sentinels can't be nil any more. | |
9244 | (read_and_dispose_of_process_output): New function, extracted from | |
9245 | read_process_output. | |
9246 | (read_process_output): Use it; filters can't be nil. | |
9247 | (Finternal_default_process_filter): New function, extracted from | |
9248 | read_process_output. | |
9249 | (exec_sentinel_unwind): Remove function. | |
9250 | (exec_sentinel): Don't zilch sentinel while running. | |
9251 | (status_notify): Sentinels can't be nil. | |
9252 | (Finternal_default_process_sentinel): New function extracted from | |
9253 | status_notify. | |
9254 | (setup_process_coding_systems): Default filter is not nil any more. | |
9255 | (syms_of_process): Export new Elisp functions and initialize | |
9256 | new constants. | |
9257 | * lisp.h (make_lisp_proc): New function. | |
9258 | ||
5ac2eb34 SM |
9259 | 2013-05-15 Stefan Monnier <monnier@iro.umontreal.ca> |
9260 | ||
9261 | * regex.c (regex_compile) [\=, \>, \<]: Don't forget to set laststart. | |
9262 | ||
eda9c7d7 EZ |
9263 | 2013-05-14 Eli Zaretskii <eliz@gnu.org> |
9264 | ||
9265 | * w32fns.c (w32_wnd_proc): Don't call WINDOW_HEADER_LINE_HEIGHT | |
5ac2eb34 SM |
9266 | unless we know that the window w is a leaf window. |
9267 | Another attempt at solving bug#14062. | |
eda9c7d7 | 9268 | |
8fdeaad5 JD |
9269 | 2013-05-14 Jan Djärv <jan.h.d@swipnet.se> |
9270 | ||
9271 | * nsfont.m (ns_spec_to_descriptor): Retain and autorelease | |
9272 | fdesc (Bug#14375). | |
9273 | ||
44aa9ee6 PE |
9274 | 2013-05-12 Paul Eggert <eggert@cs.ucla.edu> |
9275 | ||
9276 | * image.c (gif_load): Check that subimages fit (Bug#14345). | |
9277 | ||
759fd763 SM |
9278 | 2013-05-09 Stefan Monnier <monnier@iro.umontreal.ca> |
9279 | ||
9280 | * lread.c (skip_dyn_eof): New function. | |
9281 | (read1): Use it to skip the end of a file in response to #@00. | |
9282 | ||
9283 | * doc.c (get_doc_string): Slightly relax the sanity checking. | |
9284 | ||
4465bfb4 JD |
9285 | 2013-05-09 Jan Djärv <jan.h.d@swipnet.se> |
9286 | ||
9287 | * nsfns.m: Include IOGraphicsLib.h if Cocoa. | |
9288 | (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): Declare. | |
9289 | (MonitorInfo): New struct. | |
9290 | (free_monitors, ns_screen_name, ns_make_monitor_attribute_list) | |
9291 | (Fns_display_monitor_attributes_list): New functions. | |
9292 | (display-usable-bounds): Remove. | |
9293 | (syms_of_nsfns): DEFSYM Qgeometry, Qworkarea, Qmm_size, Qframes and | |
9294 | Qsource. | |
9295 | ||
7583e2a0 PE |
9296 | 2013-05-09 Paul Eggert <eggert@cs.ucla.edu> |
9297 | ||
9298 | * xterm.h (GTK_PREREQ): Remove, replacing with GTK_CHECK_VERSION. | |
9299 | (GTK_CHECK_VERSION): New macro, if not already defined. | |
9300 | All uses of GTK_PREREQ, GTK_MAJOR_VERSION, etc. | |
9301 | replaced by GTK_CHECK_VERSION. | |
9302 | ||
ad75d77e PE |
9303 | 2013-05-08 Paul Eggert <eggert@cs.ucla.edu> |
9304 | ||
9305 | * xterm.h (GTK_PREREQ): New macro. | |
9306 | All simple uses of GTK_MAJOR_VERSION and GTK_MINOR_VERSION changed | |
9307 | to use this macro instead, for consistency and clarity. | |
9308 | ||
07525f77 EZ |
9309 | 2013-05-08 Eli Zaretskii <eliz@gnu.org> |
9310 | ||
9311 | * xdisp.c (row_for_charpos_p): New function, with code of | |
9312 | cursor_row_p, but accepts an additional argument CHARPOS instead | |
9313 | of using a hardcoded PT. | |
9314 | (cursor_row_p): Call row_for_charpos_p with 2nd argument PT. | |
9315 | (row_containing_pos): Call row_for_charpos_p instead of partially | |
9316 | doing the same. Fixes cursor positioning under longlines-mode | |
9317 | when longlines-show-effect includes more than one newline, when | |
9318 | moving the cursor vertically up. | |
9319 | ||
d901fc8d JB |
9320 | 2013-05-08 Juanma Barranquero <lekktu@gmail.com> |
9321 | ||
9322 | * makefile.w32-in (ACL_H): New macro. | |
9323 | ($(BLD)/fileio.$(O)): Update dependencies. | |
9324 | ||
f269bc61 PE |
9325 | 2013-05-07 Paul Eggert <eggert@cs.ucla.edu> |
9326 | ||
e7b41c4c | 9327 | Use Gnulib ACL implementation, for benefit of Solaris etc. (Bug#14295) |
ffdc270a PE |
9328 | * Makefile.in (LIB_ACL): New macro. |
9329 | (LIBACL_LIBS): Remove. | |
9330 | (LIBES): Use LIB_ACL, not LIBACL_LIBS. | |
9331 | * fileio.c: Include <acl.h>. | |
9332 | Use HAVE_ACL_SET_FILE rather than HAVE_POSIX_ACL. | |
9333 | (ACL_NOT_WELL_SUPPORTED): Remove. All uses replaced by | |
9334 | !acl_errno_valid. | |
9335 | (Fcopy_file) [!WINDOWSNT]: Use qcopy_acl instead of rolling | |
9336 | it ourselves. | |
9337 | ||
f269bc61 PE |
9338 | * unexelf.c: Don't assume ElfW (Half) fits in int. |
9339 | (entry_address, find_section, unexec): Use ptrdiff_t, not int, | |
9340 | when dealing with ElfW (Half) values, since they can exceed 2**31 | |
9341 | on 64-bit OpenBSD hosts. Problem reported privately by Han Boetes. | |
9342 | (entry_address): Omit unused NUM arg. All uses changed. | |
9343 | ||
a261c53e JL |
9344 | 2013-05-07 Juri Linkov <juri@jurta.org> |
9345 | ||
9346 | * callint.c (Fcall_interactively): Set `visargs[i]' for code 'n' | |
9347 | to the string converted from number with `Fnumber_to_string'. | |
9348 | (Bug#14254) | |
9349 | ||
2b66427d PE |
9350 | 2013-05-07 Paul Eggert <eggert@cs.ucla.edu> |
9351 | ||
9352 | * xfns.c (x_get_net_workarea): Define only if !GTK || GTK<3.4. | |
9353 | This fixes a problem introduced by my previous change. | |
9354 | ||
15acfe41 GM |
9355 | 2013-05-07 Glenn Morris <rgm@gnu.org> |
9356 | ||
9357 | * lread.c (readchar): Don't read from a dead buffer. (Bug#14280) | |
9358 | ||
5ea03bf5 JD |
9359 | 2013-05-07 Jan Djärv <jan.h.d@swipnet.se> |
9360 | ||
9361 | * xfns.c: Move misplaced ifndef USE_GTK from previous checkin. | |
9362 | ||
e0c9d565 PE |
9363 | 2013-05-07 Paul Eggert <eggert@cs.ucla.edu> |
9364 | ||
9365 | Static checking by GCC 4.8.0. | |
9366 | * xfns.c (x_get_net_workarea, struct MonitorInfo, free_monitors) | |
9367 | (x_get_monitor_for_frame, x_make_monitor_attribute_list) | |
9368 | (x_get_monitor_attributes_fallback) | |
9369 | (x_get_monitor_attributes_xinerama) | |
9370 | (x_get_monitor_attributes_xrandr, x_get_monitor_attributes): | |
9371 | Define only if USE_GTK. | |
9372 | (free_monitors): Define only if HAVE_XINERAMA || HAVE_XRANDR. | |
9373 | (x_get_monitor_attributes_fallback): Omit unused locals. | |
9374 | (x_get_monitor_attributes_xinerama, Fx_display_monitor_attributes_list): | |
9375 | Use double, not float, to avoid mixed-mode floating point arithmetic. | |
9376 | ||
4e3f9230 YM |
9377 | 2013-05-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> |
9378 | Jan Djärv <jan.h.d@swipnet.se> | |
9379 | ||
9380 | * Makefile.in (XRANDR_LIBS, XRANDR_CFLAGS, XINERAMA_LIBS) | |
9381 | (XINERAMA_CFLAGS): New macros. | |
9382 | (ALL_CFLAGS, LIBES): Use them. | |
9383 | ||
9384 | * xfns.c: Include <X11/extensions/Xrandr.h> if HAVE_XRANDR, and | |
9385 | include <X11/extensions/Xinerama.h> if HAVE_XINERAMA. | |
9386 | (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): New variables. | |
9387 | (syms_of_xfns): DEFSYM them. | |
9388 | (struct MonitorInfo): New struct. | |
9389 | (x_get_net_workarea, free_monitors, x_get_monitor_for_frame) | |
9390 | (x_make_monitor_attribute_list, x_get_monitor_attributes_fallback) | |
9391 | (x_get_monitor_attributes_xrandr, x_get_monitor_attributes) | |
9392 | (x_get_monitor_attributes_xinerama): New functions. | |
9393 | (Fx_display_monitor_attributes_list): New primitive. | |
9394 | (syms_of_xfns): Defsubr it. | |
9395 | ||
9396 | * xterm.h (x_display_info): Add Xatom_net_workarea and | |
9397 | Xatom_net_current_desktop. | |
9398 | ||
9399 | * xterm.c (x_term_init): Initialize dpyinfo->Xatom_net_workarea | |
9400 | and dpyinfo->Xatom_net_current_desktop. | |
9401 | ||
05839b6a EZ |
9402 | 2013-05-06 Eli Zaretskii <eliz@gnu.org> |
9403 | ||
9404 | * xdisp.c (pos_visible_p): Use the special code for finding the | |
9405 | beginning of a display property or overlay for any "replacing" | |
9406 | display property, not just for display strings. This solves | |
9407 | incorrect reporting of position by posn-at-point. (Bug#14241) | |
9408 | ||
dc4a2ee0 PE |
9409 | 2013-05-06 Paul Eggert <eggert@cs.ucla.edu> |
9410 | ||
5ee94506 PE |
9411 | * unexelf.c: Fix some 32-bit integer problems, notably when debugging. |
9412 | Include <limits.h>, <stdbool.h>, <intprops.h>, <verify.h>. | |
9413 | Verify that ElfW (Half) fits in int. | |
9414 | (fatal): Use same signature as lisp.h. | |
9415 | (UNEXELF_DEBUG): New macro, replacing DEBUG, so that people can | |
9416 | configure and build with -DUNEXELF_DEBUG without worrying about | |
9417 | other modules that use DEBUG. | |
9418 | (DEBUG_LOG) [UNEXELF_DEBUG]: New macro. All debug code that prints | |
9419 | possibly-wide integers now uses it instead of plain fprintf. | |
9420 | (entry_address): New function, which avoids problems with 32-bit | |
9421 | overflow on 64-bit hosts. | |
9422 | (OLD_SECTION_H, NEW_SECTION_H, NEW_PROGRAM_H): Use it. | |
9423 | (round_up): Don't assume the remainder fits in int. | |
9424 | (find_section): Use bool for boolean. Simplify debug code. | |
9425 | (unexec): Don't assume file sizes fit in int or size_t. | |
9426 | Omit unnecessary trailing newline in 'fatal' format. | |
9427 | Use strerror rather than outputting decimal error number. | |
9428 | Remove unused code when emacs is not defined; | |
9429 | this file relies on Emacs now. | |
9430 | Don't assume e_phnum and e_shnum are positive. | |
9431 | ||
dc4a2ee0 PE |
9432 | * regex.c: Fix problems when DEBUG is defined. |
9433 | (extract_number, extract_number_and_incr): Define regardless of | |
9434 | whether DEBUG is defined; that's simpler and makes the code less | |
9435 | likely to go stale in the normal case when DEBUG is not defined. | |
9436 | Return int rather than taking an int * arg. All callers changed. | |
9437 | (DEBUG_PRINT1, DEBUG_PRINT2, DEBUG_PRINT3, DEBUG_PRINT4): | |
9438 | Remove, replacing with ... | |
9439 | (DEBUG_PRINT): New macro. All callers changed. | |
9440 | (DEBUG_COMPILES_ARGUMENTS): New macro. | |
9441 | (print_fastmap, print_partial_compiled_pattern) [DEBUG]: | |
9442 | (print_compiled_pattern, print_double_string) [DEBUG]: | |
9443 | Use prototype rather than old-style definition. | |
9444 | (print_partial_compiled_pattern, print_compiled_pattern) [DEBUG]: | |
9445 | (ENSURE_FAIL_STACK, PUSH_FAILURE_REG) [DEBUG]: | |
9446 | (POP_FAILURE_REG_OR_COUNT, PUSH_FAILURE_POINT) [DEBUG]: | |
9447 | (POP_FAILURE_POINT, re_match_2_internal) [DEBUG]: | |
9448 | Don't assume ptrdiff_t, size_t, and long are the same width as int. | |
9449 | (POINTER_TO_OFFSET): Return ptrdiff_t, not regoff_t. | |
9450 | This matters only when DEBUG is defined. | |
9451 | ||
14c7ed05 EZ |
9452 | 2013-05-05 Eli Zaretskii <eliz@gnu.org> |
9453 | ||
9454 | * xdisp.c (set_iterator_to_next): Set the | |
9455 | ignore_overlay_strings_at_pos_p flag only if we are _really_ | |
9456 | iterating over an overlay string, as indicated by the | |
9457 | current.overlay_string_index member. (Bug#14306) | |
9458 | ||
e6076b1b JD |
9459 | 2013-05-05 Jan Djärv <jan.h.d@swipnet.se> |
9460 | ||
9461 | * nsmenu.m (ns_update_menubar): Move initialization of submenuTitle | |
9462 | to where it is used, to avoid autorelease issues (Bug#14050). | |
9463 | ||
cbee2131 PE |
9464 | 2013-05-05 Paul Eggert <eggert@cs.ucla.edu> |
9465 | ||
9466 | `write-region-inhibit-fsync' defaults to noninteractive (Bug#14273). | |
9467 | * fileio.c (syms_of_fileio): Implement this. | |
9468 | * filelock.c (create_lock_file): If symbolic links don't work, so | |
9469 | we use a regular file as a lock file, do not fsync the lock file; | |
9470 | it's not needed. | |
9471 | ||
30c7e542 SM |
9472 | 2013-05-04 Stefan Monnier <monnier@iro.umontreal.ca> |
9473 | ||
9474 | * minibuf.c (Fread_minibuffer, Feval_minibuffer): Move to Elisp. | |
9475 | (syms_of_minibuf): Adjust accodingly. | |
9476 | * lread.c (Fread): | |
9477 | * callint.c (Fcall_interactively): Adjust calls accordingly. | |
9478 | ||
5bebd186 EZ |
9479 | 2013-05-04 Eli Zaretskii <eliz@gnu.org> |
9480 | ||
9481 | * dispextern.h (WINDOW_WANTS_HEADER_LINE_P): Verify that | |
30c7e542 SM |
9482 | w->contents is a buffer before computing everything else. |
9483 | Use parentheses to disambiguate last part of the condition. | |
5bebd186 EZ |
9484 | |
9485 | * w32fns.c (w32_wnd_proc): Remove temporary code used to trap | |
9486 | assertion violations. (Bug#14062) | |
9487 | ||
0fb0a4f3 DR |
9488 | 2013-05-01 David Reitter <david.reitter@gmail.com> |
9489 | ||
9490 | * nsfns.m (ns_tooltip): Initialize. | |
9491 | ||
9e63b4a5 EZ |
9492 | 2013-04-28 Eli Zaretskii <eliz@gnu.org> |
9493 | ||
9494 | * coding.c (decode_coding_gap): Don't remove the character before | |
9495 | a newline unless it's a CR character. (Bug#14287) | |
9496 | ||
ad60824e DN |
9497 | 2013-04-28 Dan Nicolaescu <dann@gnu.org> |
9498 | ||
9499 | * dispextern.h (struct face): Move enum face_underline_type | |
9500 | earlier so that bitfields can be in the same word. | |
9501 | ||
edbdcec0 JD |
9502 | 2013-04-28 Jan Djärv <jan.h.d@swipnet.se> |
9503 | ||
9504 | * nsfns.m (handlePanelKeys): New function. | |
9505 | (EmacsOpenPanel:performKeyEquivalent:) | |
9506 | (EmacsSavePanel:performKeyEquivalent:): Call handlePanelKeys to handle | |
9507 | arrows/function/control and copy/paste keys (Bug#14296). | |
9508 | ||
0208ede7 JL |
9509 | 2013-04-27 Juri Linkov <juri@jurta.org> |
9510 | ||
9511 | * callint.c (Fcall_interactively): Call `Qread_number' for | |
9512 | interactive code letter `n' instead of using duplicate code. | |
9513 | (Bug#14254) | |
9514 | ||
b8dd59f7 PE |
9515 | 2013-04-27 Paul Eggert <eggert@cs.ucla.edu> |
9516 | ||
9517 | * systime.h (make_timeval): Declare as 'const'. | |
9518 | ||
8bd722db KH |
9519 | 2013-04-27 Kenichi Handa <handa@gnu.org> |
9520 | ||
9521 | * font.c (font_open_entity): Always open a font of manageable | |
9522 | size. | |
9523 | ||
13d0e56f | 9524 | 2013-04-26 Paul Eggert <eggert@cs.ucla.edu> |
cbee2131 | 9525 | |
f780d632 PE |
9526 | Port better to AIX (Bug#14258). |
9527 | * lisp.h (ENUM_BF) [__IBMC__]: Make it 'unsigned int' here, too, | |
9528 | to pacify AIX xlc. | |
9529 | ||
ec509856 KH |
9530 | 2013-04-24 Kenichi Handa <handa@gnu.org> |
9531 | ||
9532 | * coding.c (decode_coding_iso_2022): When an invalid escape | |
9533 | sequence is encountered, reset the invocation and designation | |
9534 | status to the safest one. | |
9535 | ||
84fc48e5 PE |
9536 | 2013-04-22 Paul Eggert <eggert@cs.ucla.edu> |
9537 | ||
9538 | * Makefile.in (bootstrap-clean): Remove stamp-h1 too. | |
9539 | Without this fix, "make distclean" leaves stamp-h1 behind. | |
9540 | ||
806bda47 EC |
9541 | 2013-04-20 Erik Charlebois <erikcharlebois@gmail.com> |
9542 | ||
9543 | * w32fns.c (w32_fullscreen_rect): New function to compute the | |
9544 | window rectangle for the given fullscreen mode. | |
9545 | (w32_wnd_proc): When in a fullscreen mode, WM_WINDOWPOSCHANGING no | |
9546 | longer tunes the window size. This keeps the window's edges flush | |
9547 | with the screen and allows the taskbar to hide itself in fullboth. | |
9548 | ||
9549 | * w32term.c (w32fullscreen_hook): 'fullboth' now shows without | |
9550 | window decorations and uses the entire screen. | |
9551 | ||
9552 | * w32term.h (w32_fullscreen_rect) Add prototype. | |
9553 | (struct w32_output): Replace normal_width, normal_height, | |
9554 | normal_top, and normal_left members with a single normal_placement | |
9555 | struct. | |
9556 | (FRAME_NORMAL_WIDTH, FRAME_NORMAL_HEIGHT, FRAME_NORMAL_TOP): | |
9557 | Remove macros. | |
9558 | (FRAME_NORMAL_PLACEMENT): New macro. | |
9559 | ||
9cc2810b JB |
9560 | 2013-04-16 Juanma Barranquero <lekktu@gmail.com> |
9561 | ||
9562 | * minibuf.c (Ftest_completion): Silence compiler warning. | |
9563 | ||
fd16b54c EZ |
9564 | 2013-04-15 Eli Zaretskii <eliz@gnu.org> |
9565 | ||
9566 | * w32fns.c (w32_wnd_proc): Add more assertions to investigate | |
5fbcd237 | 9567 | bug#14062. |
fd16b54c EZ |
9568 | |
9569 | * frame.h (WINDOW_FRAME): Protect macro and its argument with | |
9570 | parentheses. | |
9571 | ||
9572 | * dispextern.h (CURRENT_MODE_LINE_HEIGHT) | |
9573 | (CURRENT_HEADER_LINE_HEIGHT, WINDOW_WANTS_MODELINE_P) | |
9574 | (WINDOW_WANTS_HEADER_LINE_P): Protect macro arguments with | |
9575 | parentheses where appropriate. | |
9576 | ||
9e3379a0 PE |
9577 | 2013-04-14 Paul Eggert <eggert@cs.ucla.edu> |
9578 | ||
9579 | * keyboard.c (timer_start_idle): Remove no-longer-used local. | |
9580 | ||
ddd6b685 EZ |
9581 | 2013-04-14 Eli Zaretskii <eliz@gnu.org> |
9582 | ||
a544fbe1 | 9583 | * buffer.c (syms_of_buffer) <left-margin-width, right-margin-width>: |
ddd6b685 EZ |
9584 | <left-fringe-width, right-fringe-width, fringes-outside-margins>: |
9585 | Mention in the doc string that setting these variables takes | |
9586 | effect only after a call to set-window-buffer. (Bug#14200) | |
9587 | ||
29b79ba1 EZ |
9588 | 2013-04-13 Eli Zaretskii <eliz@gnu.org> |
9589 | ||
9590 | * indent.c (Fvertical_motion): Don't consider display strings on | |
9591 | overlay strings as display strings on the buffer position we | |
9592 | started from. This prevents vertical cursor motion from jumping | |
9593 | more than one line when there's an overlay string with a display | |
9594 | property at end of line. | |
9595 | Reported by Karl Chen <Karl.Chen@quarl.org> in | |
9596 | http://lists.gnu.org/archive/html/emacs-devel/2013-04/msg00362.html. | |
9597 | ||
562c6ee9 SM |
9598 | 2013-04-12 Stefan Monnier <monnier@iro.umontreal.ca> |
9599 | ||
9600 | * window.c (select_window): `record_buffer' even if window is | |
9601 | already selected (bug#14191). | |
9602 | ||
fcc1fe85 EZ |
9603 | 2013-04-11 Eli Zaretskii <eliz@gnu.org> |
9604 | ||
9605 | * window.c (Fwindow_end): Test more flags, including the buffer's | |
9606 | last_overlay_modified flag, to determine whether the window's | |
9607 | display is really up-to-date. Prevents the function from | |
9608 | returning a stale value. (Bug#14170) | |
9609 | (Fwindow_line_height): Fix the test for up-to-date-ness of the | |
9610 | current matrix. | |
9611 | ||
f009190a EZ |
9612 | 2013-04-10 Eli Zaretskii <eliz@gnu.org> |
9613 | ||
9614 | * frame.c (do_switch_frame): Mark the TTY frame we switch to as | |
562c6ee9 SM |
9615 | garbaged only if it is not already the top frame on its TTY. |
9616 | This prevents flickering due to constant redrawing of TTY frames when | |
f009190a EZ |
9617 | there are GUI frames open in the same session. (Bug#13864) |
9618 | ||
78ce603d SM |
9619 | 2013-04-10 Stefan Monnier <monnier@iro.umontreal.ca> |
9620 | ||
9621 | * keyboard.c (timer_start_idle): Call internal-timer-start-idle instead | |
9622 | of marking the idle timers directly. | |
9623 | ||
a8036e40 SM |
9624 | 2013-04-09 Stefan Monnier <monnier@iro.umontreal.ca> |
9625 | ||
9626 | * minibuf.c (Ftest_completion): Ignore non-string/symbol keys in hash | |
9627 | tables (bug#14054). | |
9628 | ||
7ffe7ef6 SM |
9629 | 2013-04-08 Stefan Monnier <monnier@iro.umontreal.ca> |
9630 | ||
9631 | * window.c (select_window): Don't record_buffer while the invariant is | |
9632 | temporarily broken (bug#14161). | |
9633 | ||
9634 | * fns.c (Fdelq): Don't assume !NILP => CONSP. | |
9635 | ||
7d9f6883 EZ |
9636 | 2013-04-07 Eli Zaretskii <eliz@gnu.org> |
9637 | ||
9638 | * fileio.c (ACL_NOT_WELL_SUPPORTED): Define macro for WINDOWSNT. | |
9639 | ||
5406cfd9 RF |
9640 | 2013-04-07 Romain Francoise <romain@orebokech.com> |
9641 | ||
9642 | Ignore additional platform-specific ACL errors (Bug#13702). | |
9643 | * fileio.c (ACL_NOT_WELL_SUPPORTED): New macro copied from gnulib. | |
9644 | (Fcopy_file, Fset_file_acl) [HAVE_POSIX_ACL]: Use it. | |
9645 | ||
95c0e83b JD |
9646 | 2013-03-31 Jan Djärv <jan.h.d@swipnet.se> |
9647 | ||
9648 | * nsterm.m (ns_mouse_position): Use NS_FRAME_P instead of checking | |
9649 | f->output_data.ns. | |
9650 | ||
876da980 PE |
9651 | 2013-04-07 Paul Eggert <eggert@cs.ucla.edu> |
9652 | ||
9653 | Fix --enable-profiling bug introduced by 2013-02-25 change (Bug#13783). | |
9654 | This bug was introduced by my 2013-02-25 change that simplified | |
9655 | data_start configuration. Without this change, on GNU/Linux | |
9656 | an Emacs configured with --enable-profiling fails immediately | |
9657 | due to a profiler signal. | |
9658 | * Makefile.in: Compile with $(PROFILING_CFLAGS), but do not link | |
9659 | with these flags. On platforms where special flags are needed | |
9660 | when linking temacs, the flags are now in LD_SWITCH_SYSTEM_TEMACS. | |
9661 | (ALL_CFLAGS): Remove $(PROFILING_CFLAGS). | |
9662 | (.c.o, .m.o): Compile with $(PROFILING_CFLAGS). | |
9663 | ||
7452b7bd DA |
9664 | 2013-04-07 Dmitry Antipov <dmantipov@yandex.ru> |
9665 | ||
9666 | Get rid of some platform-specific functions examining window | |
9667 | system and its capabilities. This is a partial rework of the | |
9668 | 2013-04-05 change. | |
9669 | * lisp.h (have_menus_p): Remove prototype. This function is | |
9670 | replaced with platform-independent window_system_available. | |
9671 | (check_window_system): Move to... | |
9672 | * frame.h (decode_window_system_frame, window_system_available): | |
9673 | ...here, add new prototypes. | |
9674 | * frame.c (window_system_available, decode_window_system_frame): | |
9675 | New functions. | |
9676 | (check_window_system): Platform-independent now. | |
9677 | * xterm.h (x_in_use): Remove declaration. | |
9678 | (check_x_frame): | |
9679 | * w32term.h (check_x_frame): | |
9680 | * nsterm.h (check_x_frame): Remove prototypes. This function | |
9681 | is replaced with platform-independent decode_window_system_frame. | |
9682 | * msdos.c (have_menus_p): Remove. | |
9683 | * nsfns.m (check_window_system, have_menus_p, check_ns_frame): | |
9684 | Remove platform-specific functions. Use check_window_system, | |
9685 | decode_window_system_frame and check_ns_display_info where | |
9686 | appropriate. Minor style and comment tweaks. | |
9687 | * w32fns.c (w32_in_use, check_window_system, have_menus_p) | |
9688 | (check_x_frame): Likewise. | |
9689 | * xfns.c (x_in_use, check_window_system, have_menus_p, check_x_frame): | |
9690 | Likewise. | |
9691 | * fileio.c, fns.c, font.c, fontset.c, image.c, menu.c, nsmenu.m: | |
9692 | * nsselect.m, nsterm.m, w32font.c, w32menu.c, xfaces.c, xgselect.c: | |
9693 | * xmenu.c, xselect.c: All related users changed. | |
9694 | ||
251e9147 KH |
9695 | 2013-04-03 Kenichi Handa <handa@gnu.org> |
9696 | ||
9697 | The following changes is to optimize the code for reading UTF-8 | |
9698 | files. | |
9699 | ||
562c6ee9 | 9700 | * coding.c (check_ascii): Rename from detect_ascii. Return value |
251e9147 KH |
9701 | changed. Check EOL format. Do not call adjust_coding_eol_type |
9702 | here. | |
9703 | (check_utf_8): New function. | |
9704 | (adjust_coding_eol_type): Do nothing if already adjusted. | |
9705 | (detect_coding): Compare the return value of check_ascii with | |
9706 | coding->src_bytes. Call adjust_coding_eol_type if necessary. | |
9707 | (decode_coding_gap): Optimize for valid UTF-8. | |
9708 | ||
8bc369d4 KH |
9709 | 2013-03-21 Kenichi Handa <handa@gnu.org> |
9710 | ||
9711 | * coding.c (syms_of_coding): Cancel previous change. | |
9712 | ||
9713 | * insdel.c (insert_from_gap): Fix previous change. | |
9714 | ||
73931ad1 DA |
9715 | 2013-04-05 Dmitry Antipov <dmantipov@yandex.ru> |
9716 | ||
9717 | Consistently use platform-specific function to detect window system. | |
9718 | * lisp.h (check_window_system): New prototype. This function is | |
9719 | going to replace check_x, check_w32 and check_ns. | |
9720 | (have_menus_p): Mention msdos.c in comment. | |
9721 | * fontset.c (check_window_system_func): Remove. Adjust all users. | |
9722 | * fontset.h (check_window_system_func): Remove prototype. | |
9723 | * nsterm.h (check_ns): | |
9724 | * xterm.h (check_x): | |
9725 | * w32term.h (check_w32): Likewise. | |
9726 | * menu.c (Fx_popup_menu): Use check_window_system. | |
9727 | * msdos.c (check_window_system): Define for MS-DOS. | |
9728 | * nsfns.m (check_window_system): Define for NS. Adjust all users. | |
9729 | * w32fns.c (check_window_system): Likewise for MS-Windows. | |
9730 | * xfns.c (check_window_system): Likewise for X. | |
9731 | * font.c, frame.c, nsmenu.m, nsselect.m, nsterm.m, w32menu.c: | |
9732 | * xfaces.c, xmenu.c: Use check_window_system where appropriate. | |
9733 | ||
7216e43b PE |
9734 | 2013-04-02 Paul Eggert <eggert@cs.ucla.edu> |
9735 | ||
9736 | Prefer < to > in range checks such as 0 <= i && i < N. | |
9737 | This makes it easier to visualize quantities on a number line. | |
9738 | This patch doesn't apply to all such range checks, | |
9739 | only to the range checks affected by the 2013-03-24 change. | |
9740 | This patch reverts most of the 2013-03-24 change. | |
9741 | * alloc.c (xpalloc, Fgarbage_collect): | |
9742 | * ccl.c (ccl_driver, resolve_symbol_ccl_program): | |
9743 | * character.c (string_escape_byte8): | |
9744 | * charset.c (read_hex): | |
9745 | * data.c (cons_to_unsigned): | |
9746 | * dispnew.c (update_frame_1): | |
9747 | * doc.c (Fsubstitute_command_keys): | |
9748 | * doprnt.c (doprnt): | |
9749 | * editfns.c (hi_time, decode_time_components): | |
9750 | * fileio.c (file_offset): | |
9751 | * fns.c (larger_vector, make_hash_table, Fmake_hash_table): | |
9752 | * font.c (font_intern_prop): | |
9753 | * frame.c (x_set_alpha): | |
9754 | * gtkutil.c (get_utf8_string): | |
9755 | * indent.c (check_display_width): | |
9756 | * keymap.c (Fkey_description): | |
9757 | * lisp.h (FIXNUM_OVERFLOW_P, vcopy): | |
9758 | * lread.c (read1): | |
9759 | * minibuf.c (read_minibuf_noninteractive): | |
9760 | * process.c (wait_reading_process_output): | |
9761 | * search.c (Freplace_match): | |
9762 | * window.c (get_phys_cursor_glyph): | |
9763 | * xdisp.c (redisplay_internal): | |
9764 | * xsmfns.c (smc_save_yourself_CB): | |
9765 | Prefer < to > for range checks. | |
9766 | * dispnew.c (sit_for): Don't mishandle NaNs. | |
9767 | This fixes a bug introduced in the 2013-03-24 change. | |
9768 | * editfns.c (decode_time_components): Don't hoist comparison. | |
9769 | This fixes another bug introduced in the 2013-03-24 change. | |
9770 | ||
92759988 DA |
9771 | 2013-03-31 Dmitry Antipov <dmantipov@yandex.ru> |
9772 | ||
9773 | * frame.h (struct frame): Drop scroll_bottom_vpos | |
9774 | member becaue all real users are dead long ago. | |
9775 | (FRAME_SCROLL_BOTTOM_VPOS): Remove. | |
9776 | * xdisp.c (redisplay_internal): Adjust user. | |
9777 | ||
812a0930 | 9778 | 2013-03-30 Darren Hoo <darren.hoo@gmail.com> (tiny change) |
9a1971bb | 9779 | |
f38ab167 JD |
9780 | * nsmenu.m (showAtX:Y:for:): setLevel to |
9781 | NSPopUpMenuWindowLevel (Bug#13998). | |
9782 | ||
6d01f1fe JD |
9783 | 2013-03-30 Jan Djärv <jan.h.d@swipnet.se> |
9784 | ||
9785 | * nsterm.h (ns_get_pending_menu_title, ns_check_menu_open) | |
9786 | (ns_check_pending_open_menu): Declare. | |
9787 | ||
9788 | * nsmenu.m (ns_update_menubar): Correct NSTRACE. | |
9789 | (x_activate_menubar): Update the menu with title that matches | |
9790 | ns_get_pending_menu_title, and call | |
9791 | ns_check_pending_openmenu (Bug#12698). | |
9792 | (menuWillOpen:): New method. | |
9793 | (menuNeedsUpdate:): Add check for ! COCOA || OSX < 10.5 (Bug#12698). | |
9794 | ||
9795 | * nsterm.m (menu_will_open_state, menu_mouse_point) | |
9796 | (menu_pending_title): New varaibles. | |
9797 | (ns_get_pending_menu_title, ns_check_menu_open) | |
9798 | (ns_check_pending_open_menu): New functions. | |
9799 | ||
781f4782 DA |
9800 | 2013-03-29 Dmitry Antipov <dmantipov@yandex.ru> |
9801 | ||
9802 | * indent.c (current_column_bol_cache): Remove leftover which is not | |
9803 | used in Fmove_to_column any more. | |
9804 | (current_column, scan_for_column): Adjust users. | |
9805 | * keyboard.c (last_point_position_buffer, last_point_position_window): | |
9806 | Remove leftovers which are not used for recording undo any more. | |
9807 | (command_loop_1, syms_of_keyboard): Adjust users. | |
9808 | * xdisp.c (last_max_ascent): Remove leftover which is not used in | |
9809 | redisplay_window any more. | |
9810 | (move_it_to): Adjust user. | |
9811 | ||
1921c31b JB |
9812 | 2013-03-29 Juanma Barranquero <lekktu@gmail.com> |
9813 | ||
9814 | * makefile.w32-in ($(BLD)/filelock.$(O), $(BLD)/filelock.$(O)): | |
9815 | Update dependencies. | |
9816 | ||
717b8bcd SM |
9817 | 2013-03-28 Stefan Monnier <monnier@iro.umontreal.ca> |
9818 | ||
9819 | * lisp.h (save_type, XSAVE_POINTER, set_save_pointer, XSAVE_INTEGER) | |
9820 | (set_save_integer, XSAVE_OBJECT, XSAVE_VALUE): Move to avoid | |
9821 | forward references. | |
9822 | ||
e74aeda8 DA |
9823 | 2013-03-28 Dmitry Antipov <dmantipov@yandex.ru> |
9824 | ||
9825 | * window.h (struct window): Replace hchild, vchild and buffer slots | |
fa9daa28 | 9826 | with a single slot 'contents'. This is possible because each valid |
e74aeda8 DA |
9827 | window may have either the child window (in vertical or horizontal |
9828 | combination) or buffer to display (for the leaf window). Using that, | |
fa9daa28 | 9829 | a lot of operations to traverse and/or change window hierarchies may |
e74aeda8 DA |
9830 | be simplified. New member horizontal is used to distinguish between |
9831 | horizontal and vertical combinations of internal windows. | |
9832 | (WINDOW_LEAF_P, WINDOW_HORIZONTAL_COMBINATION_P) | |
9833 | (WINDOW_VERTICAL_COMBINATION_P): New macros. | |
9834 | (WINDOW_VALID_P, WINDOW_LIVE_P): Adjust to match struct window changes. | |
9835 | * window.c (wset_hchild, wset_vchild): Remove. Adjust all users. | |
9836 | Use contents slot, not buffer, where appropriate. | |
9837 | (wset_combination): New function. | |
9838 | (wset_buffer): Add eassert. | |
9839 | (Fframe_first_window): Simplify the loop reaching first window. | |
9840 | (Fwindow_buffer): Use WINDOW_LEAF_P. | |
9841 | (Fwindow_top_child): Use WINDOW_VERTICAL_COMBINATION_P. | |
9842 | (Fwindow_left_child): Use WINDOW_HORIZONTAL_COMBINATION_P. | |
9843 | (unshow_buffer): Convert initial debugging check to eassert. | |
9844 | (replace_window, recombine_windows, Fdelete_other_windows_internal) | |
9845 | (make_parent_window, window_resize_check, window_resize_apply) | |
9846 | (resize_frame_windows, Fsplit_window_internal, Fdelete_window_internal) | |
9847 | (Fset_window_configuration, delete_all_child_windows, save_window_save): | |
9848 | Adjust to match struct window changes. | |
9849 | (window_loop): Check for broken markers in CHECK_ALL_WINDOWS. | |
9850 | (mark_window_cursors_off, count_windows, get_leaf_windows) | |
9851 | (foreach_window_1): Simplify the loop. | |
9852 | * alloc.c (mark_object): Do not check for the leaf window because | |
9853 | internal windows has no glyph matrices anyway. | |
9854 | * dispnew.c (clear_window_matrices, showing_window_margins_p) | |
9855 | (allocate_matrices_for_window_redisplay, fake_current_matrices) | |
9856 | (allocate_matrices_for_frame_redisplay, free_window_matrices) | |
9857 | (build_frame_matrix_from_window_tree, mirror_make_current) | |
9858 | (frame_row_to_window, mirror_line_dance, check_window_matrix_pointers) | |
9859 | (update_window_tree, set_window_update_flags): Simplify the loop. | |
9860 | (sync_window_with_frame_matrix_rows): Enforce live window. | |
9861 | Use contents slot, not buffer, where appropriate. | |
9862 | * frame.c (set_menu_bar_lines_1): Use WINDOW_VERTICAL_COMBINATION_P | |
9863 | and WINDOW_HORIZONTAL_COMBINATION_P. | |
9864 | (make_frame_visible_1): Simplify the loop. | |
9865 | Use contents slot, not buffer, where appropriate. | |
9866 | * xdisp.c (hscroll_window_tree, mark_window_display_accurate) | |
9867 | (redisplay_windows, redisplay_mode_lines, update_cursor_in_window_tree) | |
9868 | (expose_window_tree): Likewise. | |
9869 | Use contents slot, not buffer, where appropriate. | |
9870 | * textprop.c (get_char_property_and_overlay): Add CHECK_LIVE_WINDOW | |
9871 | to avoid deleted windows. Use contents slot instead of buffer. | |
9872 | * buffer.c, dispextern.h, editfns.c, fileio.c, font.c, fringe.c: | |
9873 | * indent.c, insdel.c, keyboard.c, keymap.c, minibuf.c, msdos.c: | |
9874 | * nsfns.m, nsmenu.m, nsterm.m, print.c, w32fns.c, w32menu.c, xfaces.c: | |
9875 | * xfns.c, xmenu.c: Use contents slot, not buffer, where appropriate. | |
9876 | ||
121ab1cd EZ |
9877 | 2013-03-28 Eli Zaretskii <eliz@gnu.org> |
9878 | ||
ef454cf7 EZ |
9879 | * w32fns.c (w32_wnd_proc) [ENABLE_CHECKING]: Add code to help |
9880 | identify the reasons for assertion violations in bug#14062 and | |
9881 | similar ones. | |
21e930f8 EZ |
9882 | (Fx_show_tip): Fix compilation error under |
9883 | "--enable-check-lisp-object-type". (Bug#14073) | |
ef454cf7 | 9884 | |
121ab1cd EZ |
9885 | * image.c (g_error_free) [WINDOWSNT]: Add DEF_IMGLIB_FN. |
9886 | Reported by <rzl24ozi@gmail.com>. | |
9887 | ||
5c89ca24 DA |
9888 | 2013-03-28 Dmitry Antipov <dmantipov@yandex.ru> |
9889 | ||
9890 | * xdisp.c (with_echo_area_buffer_unwind_data): Save window | |
9891 | start marker... | |
562c6ee9 SM |
9892 | (unwind_with_echo_area_buffer): ...to restore it here. |
9893 | This is needed to ensure that... | |
5c89ca24 DA |
9894 | (redisplay_window): ...both window markers are valid here, |
9895 | which is verified by eassert. | |
9896 | * editfns.c (save_excursion_save): Do not assume that | |
9897 | selected_window always displays the buffer. | |
c7f53895 DA |
9898 | * buffer.c (Fbuffer_swap_text): Adjust window start markers. |
9899 | Fix comment. | |
5c89ca24 | 9900 | |
f557c1b1 SM |
9901 | 2013-03-27 Stefan Monnier <monnier@iro.umontreal.ca> |
9902 | ||
9903 | * casetab.c (init_casetab_once): Don't abuse the ascii eqv table for | |
9904 | the upcase table. | |
9905 | ||
40693bba | 9906 | 2013-03-27 rzl24ozi <rzl24ozi@gmail.com> (tiny changes) |
9907 | ||
9908 | * image.c [WINDOWSNT]: Fix calls to DEF_IMGLIB_FN for SVG function. | |
9909 | ||
c86f791f EZ |
9910 | 2013-03-27 Eli Zaretskii <eliz@gnu.org> |
9911 | ||
9912 | * w32proc.c (IsValidLocale) [__GNUC__]: Don't declare prototype, | |
9913 | since MinGW's w32api headers do. This avoids compiler warnings. | |
9914 | ||
9915 | * w32.c (FSCTL_GET_REPARSE_POINT) [_MSC_VER || _W64]: Don't define | |
9916 | if already defined. | |
9917 | ||
c6e72e17 EZ |
9918 | 2013-03-26 Eli Zaretskii <eliz@gnu.org> |
9919 | ||
9920 | * w32.c (_REPARSE_DATA_BUFFER): Condition by _MSVC and _W64. | |
9921 | ||
54e95010 JD |
9922 | 2013-03-26 Jan Djärv <jan.h.d@swipnet.se> |
9923 | ||
9924 | * gtkutil.c (style_changed_cb): Check if frame is live and an | |
9925 | X frame (Bug#14038). | |
9926 | ||
b88b62de EZ |
9927 | 2013-03-26 Eli Zaretskii <eliz@gnu.org> |
9928 | ||
a18d7de6 EZ |
9929 | * w32.c (_PROCESS_MEMORY_COUNTERS_EX) [_WIN32_WINNT < 0x0500]: |
9930 | Define only for _WIN32_WINNT less than 0x0500. | |
da9dcbb8 EZ |
9931 | (_ANONYMOUS_UNION, _ANONYMOUS_STRUCT) [!_W64]: Don't define for |
9932 | MinGW64. | |
8f5e14c8 EZ |
9933 | Move inclusion of time.h before sys/time.h, so that MinGW64 could |
9934 | see its own definitions of 'struct timeval' and 'struct timezone'. | |
a18d7de6 | 9935 | |
b88b62de EZ |
9936 | Fix incompatibilities between MinGW.org and MinGW64 headers. |
9937 | * w32term.c (WCRANGE, GLYPHSET): Don't define if _W64 is defined. | |
9938 | ||
9939 | * w32.c (REPARSE_DATA_BUFFER): Guard with | |
9940 | MAXIMUM_REPARSE_DATA_BUFFER_SIZE being defined. | |
9941 | ||
c074e458 JD |
9942 | 2013-03-25 Jan Djärv <jan.h.d@swipnet.se> |
9943 | ||
9944 | * xterm.c: Include X11/XKBlib.h | |
9945 | (XTring_bell): Use XkbBell if HAVE_XKB (Bug#14041). | |
9946 | ||
908589fd AS |
9947 | 2013-03-24 Andreas Schwab <schwab@linux-m68k.org> |
9948 | ||
9949 | * alloc.c (xpalloc, Fgarbage_collect): Reorder conditions that are | |
9950 | written backwards. | |
9951 | * blockinput.h (input_blocked_p): Likewise. | |
9952 | * bytecode.c (exec_byte_code): Likewise. | |
9953 | * callproc.c (call_process_kill, call_process_cleanup) | |
9954 | (Fcall_process): Likewise. | |
9955 | * ccl.c (ccl_driver, resolve_symbol_ccl_program) | |
9956 | (Fccl_execute_on_string): Likewise. | |
9957 | * character.c (string_escape_byte8): Likewise. | |
9958 | * charset.c (read_hex): Likewise. | |
9959 | * cm.c (calccost): Likewise. | |
9960 | * data.c (cons_to_unsigned): Likewise. | |
9961 | * dired.c (directory_files_internal, file_name_completion): | |
9962 | Likewise. | |
9963 | * dispnew.c (scrolling_window, update_frame_1, Fsleep_for) | |
9964 | (sit_for): Likewise. | |
9965 | * doc.c (Fsubstitute_command_keys): Likewise. | |
9966 | * doprnt.c (doprnt): Likewise. | |
9967 | * editfns.c (hi_time, decode_time_components, Fformat): Likewise. | |
9968 | * emacsgtkfixed.c: Likewise. | |
9969 | * fileio.c (file_offset, Fwrite_region): Likewise. | |
9970 | * floatfns.c (Fexpt, fmod_float): Likewise. | |
9971 | * fns.c (larger_vector, make_hash_table, Fmake_hash_table): | |
9972 | Likewise. | |
9973 | * font.c (font_intern_prop): Likewise. | |
9974 | * frame.c (x_set_alpha): Likewise. | |
9975 | * gtkutil.c (get_utf8_string): Likewise. | |
9976 | * indent.c (check_display_width): Likewise. | |
9977 | * intervals.c (create_root_interval, rotate_right, rotate_left) | |
9978 | (split_interval_right, split_interval_left) | |
9979 | (adjust_intervals_for_insertion, delete_node) | |
9980 | (interval_deletion_adjustment, adjust_intervals_for_deletion) | |
9981 | (merge_interval_right, merge_interval_left, copy_intervals) | |
9982 | (set_intervals_multibyte_1): Likewise. | |
9983 | * keyboard.c (gobble_input, append_tool_bar_item): Likewise. | |
9984 | * keymap.c (Fkey_description): Likewise. | |
9985 | * lisp.h (FIXNUM_OVERFLOW_P, vcopy): Likewise. | |
9986 | * lread.c (openp, read_integer, read1, string_to_number): | |
9987 | Likewise. | |
9988 | * menu.c (ensure_menu_items): Likewise. | |
9989 | * minibuf.c (read_minibuf_noninteractive): Likewise. | |
9990 | * print.c (printchar, strout): Likewise. | |
9991 | * process.c (create_process, Faccept_process_output) | |
9992 | (wait_reading_process_output, read_process_output, send_process) | |
9993 | (wait_reading_process_output): Likewise. | |
9994 | * profiler.c (make_log, handle_profiler_signal): Likewise. | |
9995 | * regex.c (re_exec): Likewise. | |
9996 | * regex.h: Likewise. | |
9997 | * search.c (looking_at_1, Freplace_match): Likewise. | |
9998 | * sysdep.c (get_child_status, procfs_ttyname) | |
9999 | (procfs_get_total_memory): Likewise. | |
10000 | * systime.h (EMACS_TIME_VALID_P): Likewise. | |
10001 | * term.c (dissociate_if_controlling_tty): Likewise. | |
10002 | * window.c (get_phys_cursor_glyph): Likewise. | |
10003 | * xdisp.c (init_iterator, redisplay_internal, redisplay_window) | |
10004 | (try_window_reusing_current_matrix, try_window_id, pint2hrstr): | |
10005 | Likewise. | |
10006 | * xfns.c (Fx_window_property): Likewise. | |
10007 | * xmenu.c (set_frame_menubar): Likewise. | |
10008 | * xselect.c (x_get_window_property, x_handle_dnd_message): | |
10009 | Likewise. | |
10010 | * xsmfns.c (smc_save_yourself_CB): Likewise. | |
10011 | * xterm.c (x_scroll_bar_set_handle): Likewise. | |
10012 | ||
2bf7d27a DA |
10013 | 2013-03-24 Dmitry Antipov <dmantipov@yandex.ru> |
10014 | ||
10015 | * xfaces.c (Finternal_face_x_get_resource): Allow 3rd (frame) argument | |
10016 | to be optional or nil. Adjust comment and convert it to docstring. | |
10017 | * xselect.c (Fx_send_client_event): Rename to Fx_send_client_message. | |
10018 | * frame.c (display_x_get_resource, Fx_get_resource): Break long line. | |
10019 | ||
a9ebfa0b PE |
10020 | 2013-03-24 Paul Eggert <eggert@cs.ucla.edu> |
10021 | ||
10022 | Static checking by GCC 4.8-20130319. | |
10023 | * image.c (gif_load): Assume pass < 3 to pacify GCC. | |
10024 | * process.c (Fset_process_datagram_address) | |
10025 | (Fmake_network_process): Check get_lisp_to_sockaddr_size return value. | |
35e951cd | 10026 | * xdisp.c (get_char_face_and_encoding) |
a9ebfa0b PE |
10027 | (get_glyph_face_and_encoding): Ensure that *CHAR2B is initialized. |
10028 | (get_glyph_face_and_encoding): Prepare face before possibly using it. | |
10029 | (get_per_char_metric): Don't use CHAR2B if it might not be initialized. | |
10030 | ||
4f3576ee KB |
10031 | 2013-03-24 Ken Brown <kbrown@cornell.edu> |
10032 | ||
789b5e9a KB |
10033 | * w32fns.c (emacs_abort) [CYGWIN]: Define `_open' as a macro to |
10034 | fix compilation on 64-bit Cygwin, where underscores are not | |
10035 | automatically prepended. | |
10036 | ||
4f3576ee KB |
10037 | * w32term.c (w32_initialize): Silence compiler warning. |
10038 | ||
b5b7745f EZ |
10039 | 2013-03-23 Eli Zaretskii <eliz@gnu.org> |
10040 | ||
cdc0d0bd EZ |
10041 | * w32term.c (w32fullscreen_hook): Use FRAME_NORMAL_WIDTH, |
10042 | FRAME_NORMAL_HEIGHT, and FRAME_PREV_FSMODE, instead of static | |
562c6ee9 SM |
10043 | variables, to save and restore frame dimensions. |
10044 | Use FRAME_NORMAL_LEFT and FRAME_NORMAL_TOP to restore frame position | |
10045 | after returning from a 'fullscreen' configuration. | |
10046 | use SendMessage instead of PostMessage to send the SC_RESTORE message, | |
cdc0d0bd EZ |
10047 | to avoid races between the main thread and the input thread. |
10048 | ||
10049 | * w32term.h (struct w32_output): New members normal_width, | |
10050 | normal_height, normal_top, normal_left, and prev_fsmode. | |
10051 | (FRAME_NORMAL_WIDTH, FRAME_NORMAL_HEIGHT, FRAME_NORMAL_TOP) | |
10052 | (FRAME_NORMAL_LEFT, FRAME_PREV_FSMODE): New macros to access these | |
10053 | members of a frame. | |
10054 | ||
b5b7745f EZ |
10055 | * w32term.c (w32fullscreen_hook): Record last value of the frame's |
10056 | 'fullscreen' parameter. Always record previous width and height | |
10057 | of the frame, except when switching out of maximized modes, so | |
10058 | that they could be restored correctly, instead of resetting to the | |
10059 | default frame dimensions. Send SC_RESTORE command to the frame, | |
10060 | unless we are going to send SC_MAXIMIZE, to restore the frame | |
10061 | resize hints in the mouse pointer shown by the window manager. | |
10062 | (Bug#14032) | |
10063 | ||
10064 | * frame.c (get_frame_param): Now extern for WINDOWSNT as well. | |
10065 | ||
10066 | * lisp.h (get_frame_param): Adjust conditions for prototype | |
10067 | declaration. | |
10068 | ||
a3454eed KB |
10069 | 2013-03-22 Ken Brown <kbrown@cornell.edu> |
10070 | ||
10071 | * unexcw.c: Drop unneeded inclusion of w32common.h. | |
10072 | (report_sheap_usage): Declare. | |
10073 | (read_exe_header): Add magic numbers for x86_64. | |
10074 | (fixup_executable): Fix printf format specifier for unsigned long | |
10075 | argument. | |
10076 | ||
5a49b79c DA |
10077 | 2013-03-22 Dmitry Antipov <dmantipov@yandex.ru> |
10078 | ||
10079 | * frame.h (struct frame): Put menu_bar_window under #ifdef | |
10080 | because this member is not needed when X toolkit is in use. | |
10081 | (fset_menu_bar_window): | |
10082 | * dispnew.c (clear_current_matrices, clear_desired_matrices) | |
10083 | (free_glyphs, update_frame): | |
10084 | * xdisp.c (expose_frame): Likewise. | |
10085 | (display_menu_bar): Likewise. Remove redundant eassert. | |
10086 | * window.h (WINDOW_MENU_BAR_P): Always define to 0 if X | |
10087 | toolkit is in use. | |
10088 | ||
d6723bf7 PE |
10089 | 2013-03-21 Paul Eggert <eggert@cs.ucla.edu> |
10090 | ||
7b1123d8 PE |
10091 | Use functions and constants to manipulate Lisp_Save_Value objects. |
10092 | This replaces code that used macros and strings and token-pasting. | |
10093 | The change makes the C source a bit easier to follow, | |
10094 | and shrinks the Emacs executable a bit. | |
10095 | * alloc.c: Verify some properties of Lisp_Save_Value's representation. | |
10096 | (make_save_value): Change 1st arg from string to enum. All callers | |
10097 | changed. | |
10098 | (INTX): Remove. | |
10099 | (mark_object): Use if, not #if, for GC_MARK_STACK. | |
10100 | * lisp.h (SAVE_VALUEP, XSAVE_VALUE, XSAVE_POINTER, XSAVE_INTEGER) | |
10101 | (XSAVE_OBJECT): Now functions, not macros. | |
10102 | (STRING_BYTES_BOUND): Now just a macro, not a constant too; | |
10103 | the constant was never used. | |
10104 | (SAVE_SLOT_BITS, SAVE_VALUE_SLOTS, SAVE_TYPE_BITS, SAVE_TYPE_INT_INT) | |
10105 | (SAVE_TYPE_INT_INT_INT, SAVE_TYPE_OBJ_OBJ, SAVE_TYPE_OBJ_OBJ_OBJ) | |
10106 | (SAVE_TYPE_OBJ_OBJ_OBJ_OBJ, SAVE_TYPE_PTR_INT, SAVE_TYPE_PTR_OBJ) | |
10107 | (SAVE_TYPE_PTR_PTR, SAVE_TYPE_PTR_PTR_OBJ, SAVE_TYPE_MEMORY): | |
10108 | New constants. | |
10109 | (struct Lisp_Save_Value): Replace members area, type0, type1, type2, | |
10110 | type3 with a single member save_type. All uses changed. | |
10111 | (save_type, set_save_pointer, set_save_integer): New functions. | |
10112 | * print.c (PRINTX): Remove. | |
10113 | ||
d6723bf7 PE |
10114 | * alloc.c: Remove redundant static declarations. |
10115 | ||
5f24fa51 DA |
10116 | 2013-03-20 Dmitry Antipov <dmantipov@yandex.ru> |
10117 | ||
10118 | * window.h (struct window): Convert left_col, top_line, total_lines | |
10119 | and total_cols from Lisp_Objects to integers. Adjust comments. | |
10120 | (wset_left_col, wset_top_line, wset_total_cols, wset_total_lines): | |
10121 | Remove. | |
10122 | (WINDOW_TOTAL_COLS, WINDOW_TOTAL_LINES, WINDOW_LEFT_EDGE_COL) | |
10123 | (WINDOW_TOP_EDGE_LINE): Drop Lisp_Object to integer conversion. | |
10124 | * dispnew.c, frame.c, w32fns.c, window.c, xdisp.c, xfns.c: | |
10125 | Adjust users where appropriate. | |
10126 | ||
42143acd DA |
10127 | 2013-03-20 Dmitry Antipov <dmantipov@yandex.ru> |
10128 | ||
10129 | * frame.h (struct frame): Drop resx and resy because the same data is | |
10130 | available from window system-specific output context. Adjust users. | |
562c6ee9 SM |
10131 | (default_pixels_per_inch_x, default_pixels_per_inch_y): |
10132 | New functions to provide defaults when no window system available. | |
42143acd | 10133 | (FRAME_RES_X, FRAME_RES_Y): New macros. |
562c6ee9 | 10134 | (NUMVAL): Move from xdisp.c. |
42143acd DA |
10135 | * font.c (font_pixel_size, font_find_for_lface, font_open_for_lface) |
10136 | (Ffont_face_attributes, Fopen_font): | |
10137 | * image.c (gs_load): | |
10138 | * w32font.c (fill_in_logfont): | |
10139 | * xdisp.c (calc_pixel_width_or_height): | |
10140 | * xfaces.c (Fx_family_fonts, set_lface_from_font): Use them. | |
10141 | * xsettings.c (apply_xft_settings): Drop frame loop and adjust comment. | |
10142 | ||
c0a17406 KH |
10143 | 2013-03-20 Kenichi Handa <handa@gnu.org> |
10144 | ||
10145 | * coding.c (syms_of_coding): Initialize disable_ascii_optimization | |
10146 | to 1 (temporary workaround until a bug related to ASCII | |
10147 | optimization is fixed). | |
10148 | ||
095d384d DA |
10149 | 2013-03-19 Dmitry Antipov <dmantipov@yandex.ru> |
10150 | ||
10151 | * window.c (Fwindow_combination_limit, Fset_window_combination_limit): | |
10152 | Signal error if window is not internal. Adjust docstring. | |
10153 | (delete_all_child_windows): Use combination_limit to save the buffer. | |
10154 | (Fset_window_configuration): Adjust accordingly. | |
cf4bb06d DA |
10155 | * print.c (syms_of_print): Initialize debugging output not here... |
10156 | (init_print_once): ...but in a new function here. | |
10157 | * lisp.h (init_print_once): Add prototype. | |
10158 | * emacs.c (main): Add call to init_print_once. Adjust comments. | |
095d384d | 10159 | |
748fa866 DA |
10160 | 2013-03-18 Dmitry Antipov <dmantipov@yandex.ru> |
10161 | ||
10162 | * window.c (window_resize_check, window_resize_apply) | |
10163 | (window_from_coordinates, recombine_windows, set_window_buffer) | |
10164 | (make_parent_window, Fwindow_resize_apply, resize_frame_windows) | |
10165 | (Fsplit_window_internal, Fdelete_window_internal) | |
10166 | (freeze_window_starts): Use bool for booleans. | |
10167 | * window.h (window_frame_coordinates, resize_frame_windows) | |
10168 | (freeze_window_starts, set_window_buffer): Adjust prototypes. | |
10169 | ||
81519fd2 SM |
10170 | 2013-03-17 Stefan Monnier <monnier@iro.umontreal.ca> |
10171 | ||
10172 | * dispnew.c (bitch_at_user): Use `user-error'. | |
10173 | ||
6db423a9 KB |
10174 | 2013-03-17 Ken Brown <kbrown@cornell.edu> |
10175 | ||
10176 | * dispextern.h (RGB_PIXEL_COLOR): Move here from image.c. Use it | |
10177 | as return type of image_background. (Bug#13981) | |
10178 | * image.c (RGB_PIXEL_COLOR): Move to dispextern.h. | |
10179 | ||
8f2906f5 JD |
10180 | 2013-03-16 Jan Djärv <jan.h.d@swipnet.se> |
10181 | ||
960ce480 | 10182 | * nsterm.m (updateFrameSize:): Change resize increments if needed. |
6615748a | 10183 | (ns_select): Don't return with result uninitialized. |
960ce480 | 10184 | |
8f2906f5 JD |
10185 | * nsterm.h (EmacsSavePanel, EmacsOpenPanel): Add getFilename |
10186 | and getDirectory. | |
10187 | ||
81519fd2 SM |
10188 | * nsfns.m (ns_filename_from_panel, ns_directory_from_panel): |
10189 | New functions. | |
8f2906f5 JD |
10190 | (Fns_read_file_name): ret is BOOL. If ! dir_only_p, don't choose |
10191 | directories. If filename is nil, get directory name (Bug#13932). | |
10192 | Use getFilename and getDirectory. | |
10193 | (getFilename, getDirectory): New methods for EmacsSavePanel and | |
10194 | EmacsOpenPanel. | |
10195 | (ok:): In EmacsOpenPanel, if we can't choose directories, just return. | |
10196 | ||
cded56c1 PE |
10197 | 2013-03-15 Paul Eggert <eggert@cs.ucla.edu> |
10198 | ||
10199 | * coding.c (decode_coding_gap): Fix typo caught by static checking. | |
10200 | ||
251e9147 | 10201 | 2013-03-15 Kenichi Handa <handa@gnu.org> |
8a44e6d1 KH |
10202 | |
10203 | * insdel.c (insert_from_gap): New arg text_at_gap_tail. | |
10204 | (adjust_after_replace): Make it back to static. Delete the third | |
10205 | arg text_at_gap_tail. Cancel the code for handling it. | |
10206 | ||
10207 | * coding.h (struct coding_system): New member eol_seen. | |
10208 | ||
10209 | * coding.c (detect_ascii): New function. | |
10210 | (detect_coding): Set coding->head_ascii and coding->eol_seen only | |
10211 | when the source bytes are actually scanned. On detecting for | |
10212 | coding_category_utf_8_auto, call detect_ascii instead of scanning | |
10213 | source bytes directly. | |
10214 | (produce_chars): Call insert_from_gap with the new arg 0. | |
10215 | (encode_coding): Likewise. | |
10216 | (decode_coding_gap): Control ASCII optimization by the variable | |
10217 | disable_ascii_optimization instead of #ifndef .. #endif. | |
10218 | Deccode EOL format according to coding->eol_seen. | |
10219 | (syms_of_coding): Declare disable-ascii-optimization as a Lisp | |
10220 | variable. | |
10221 | ||
8a44e6d1 KH |
10222 | * lisp.h (adjust_after_replace): Cancel externing it. |
10223 | (insert_from_gap): Adjust prototype. | |
10224 | ||
5f795e34 EZ |
10225 | 2013-03-15 Eli Zaretskii <eliz@gnu.org> |
10226 | ||
10227 | * w32term.c (w32fullscreen_hook): Swap FULLSCREEN_BOTH and | |
10228 | FULLSCREEN_MAXIMIZED. (Bug#13935) | |
10229 | ||
f258b4be DA |
10230 | 2013-03-15 Dmitry Antipov <dmantipov@yandex.ru> |
10231 | ||
10232 | * region-cache.c (find_cache_boundary, move_cache_gap) | |
10233 | (insert_cache_boundary, delete_cache_boundaries, set_cache_region): | |
10234 | Simplify debugging check and convert to eassert. Adjust comment. | |
10235 | (pp_cache): Put under ENABLE_CHECKING. | |
10236 | ||
a5cc4dde EZ |
10237 | 2013-03-14 Eli Zaretskii <eliz@gnu.org> |
10238 | ||
10239 | * w32term.c (w32_read_socket) <WM_WINDOWPOSCHANGED>: Remove old | |
10240 | and incorrect code. Treat WM_WINDOWPOSCHANGED like WM_ACTIVATE | |
10241 | and WM_ACTIVATEAPP. | |
10242 | (w32fullscreen_hook): If the frame is visible, reset | |
10243 | f->want_fullscreen flag after changing the frame size. If the | |
10244 | frame is not visible, set f->want_fullscreen to FULLSCREEN_WAIT. | |
10245 | (Bug#13953) | |
10246 | ||
3fc5e44a DC |
10247 | 2013-03-13 Daniel Colascione <dancol@dancol.org> |
10248 | ||
10249 | * emacs.c (main): Call syms_of_cygw32 on CYGWIN non-NTGUI builds | |
10250 | too so that these builds can use Cygwin's file conversion | |
10251 | functions. (We've been building and linking cygw32.o all along | |
10252 | and just not using it.) | |
10253 | ||
47d7532e PE |
10254 | 2013-03-13 Paul Eggert <eggert@cs.ucla.edu> |
10255 | ||
10256 | File synchronization fixes (Bug#13944). | |
10257 | * Makefile.in (LIB_FDATASYNC): New macro. | |
10258 | (LIBES): Use it. | |
10259 | * conf_post.h (BSD_SYSTEM, BSD_SYSTEM_AHB): Remove; no longer needed. | |
10260 | * fileio.c (Fwrite_region, write_region_inhibit_fsync): | |
10261 | Don't worry about HAVE_FSYNC, since a substitute fsync is | |
10262 | available if the system lacks one. | |
10263 | (Fwrite_regin): Retry fsync if interrupted. | |
10264 | ||
c7ffccaf EZ |
10265 | 2013-03-13 Eli Zaretskii <eliz@gnu.org> |
10266 | ||
4e2df81d | 10267 | * w32term.c (w32_read_socket): If the Emacs frame is being |
c7ffccaf EZ |
10268 | activated, call w32fullscreen_hook, to make sure the new frame |
10269 | dimensions are in effect. (Bug#13937) | |
10270 | ||
8a7debc1 DA |
10271 | 2013-03-13 Dmitry Antipov <dmantipov@yandex.ru> |
10272 | ||
10273 | * xdisp.c (init_iterator): Simplify because both character and byte | |
10274 | positions are either specified or -1. Add eassert. Adjust comment. | |
ffcd945e DA |
10275 | * window.c (Fscroll_other_window): Use SET_PT_BOTH because both |
10276 | character and byte positions can be obtained from marker. | |
8a7debc1 | 10277 | |
7fd8c501 PE |
10278 | 2013-03-13 Paul Eggert <eggert@cs.ucla.edu> |
10279 | ||
d9df6f40 PE |
10280 | Static checking by Sun C 5.12. |
10281 | * alloc.c (buffer_memory_full) [REL_ALLOC]: | |
10282 | * bytecode.c (exec_byte_code): | |
10283 | * dispnew.c (init_display): | |
10284 | * eval.c (error): | |
10285 | * fileio.c (Fsubstitute_in_file_name): | |
10286 | * keyboard.c (Fevent_convert_list): | |
10287 | * keymap.c (Fsingle_key_description): | |
10288 | * term.c (maybe_fatal, fatal): | |
10289 | * xfns.c (Fx_display_backing_store, Fx_display_visual_class): | |
10290 | * xsmfns.c (Fhandle_save_session): | |
10291 | Omit unreachable code. | |
10292 | * keymap.c (map_keymap_char_table_item): Cast void * to | |
10293 | a function pointer type; the C Standard requires this. | |
10294 | ||
7fd8c501 PE |
10295 | * sysdep.c: Remove a use of BSD_SYSTEM, which I'm trying to phase out. |
10296 | Include <sys/param.h> unconditionally, as that works elsewhere and | |
10297 | is simpler here. Include <sys/sysctl.h> if DARWIN_OS || | |
10298 | __FreeBSD__, not if BSD_SYSTEM, since it's needed only for Darwin | |
10299 | and FreeBSD now. | |
10300 | ||
a020afb9 | 10301 | See ChangeLog.12 for earlier changes. |
aac0c6e3 MR |
10302 | |
10303 | ;; Local Variables: | |
10304 | ;; coding: utf-8 | |
aac0c6e3 MR |
10305 | ;; End: |
10306 | ||
ba318903 | 10307 | Copyright (C) 2011-2014 Free Software Foundation, Inc. |
aac0c6e3 MR |
10308 | |
10309 | This file is part of GNU Emacs. | |
10310 | ||
10311 | GNU Emacs is free software: you can redistribute it and/or modify | |
10312 | it under the terms of the GNU General Public License as published by | |
10313 | the Free Software Foundation, either version 3 of the License, or | |
10314 | (at your option) any later version. | |
10315 | ||
10316 | GNU Emacs is distributed in the hope that it will be useful, | |
10317 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
10318 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
10319 | GNU General Public License for more details. | |
10320 | ||
10321 | You should have received a copy of the GNU General Public License | |
10322 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. |