aboutsummaryrefslogtreecommitdiffstats
path: root/src/ChangeLog
diff options
context:
space:
mode:
authorEli Zaretskii2013-09-26 10:37:16 +0300
committerEli Zaretskii2013-09-26 10:37:16 +0300
commitb87c4ff2817e71ca71b028792200b1e069a95e04 (patch)
treebfe00c0655fa02078a9ab2c633ea06d90c4a2064 /src/ChangeLog
parentbbc108377873aa6ed7cf21c731770103096eea39 (diff)
parentba355de014b75ed104da4777f909db70d62f2357 (diff)
downloademacs-b87c4ff2817e71ca71b028792200b1e069a95e04.tar.gz
emacs-b87c4ff2817e71ca71b028792200b1e069a95e04.zip
Merge from trunk.
Diffstat (limited to 'src/ChangeLog')
-rw-r--r--src/ChangeLog837
1 files changed, 837 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 3ef8bee2f0b..a6774e30b0c 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,840 @@
12013-09-26 Barry O'Reilly <gundaetiapo@gmail.com>
2
3 Signal error when reading an empty byte-code object (Bug#15405)
4 * lread.c (read1): signal error
5 * alloc.c (make_byte_code): eassert header size
6 (sweep_vectors): change an int to size_t
7
82013-09-24 Paul Eggert <eggert@cs.ucla.edu>
9
10 * dispnew.c (clear_glyph_row, copy_row_except_pointers): Use enums
11 instead of ints, as it's the usual style for offsetof constants. See:
12 http://lists.gnu.org/archive/html/emacs-devel/2013-09/msg00478.html
13
14 * data.c (POPCOUNT_STATIC_INLINE): New macro, as a hack for popcount.
15 This is ugly, but it should fix the performance problem for older
16 GCC versions in the short run. I'll look into integrating the
17 Gnulib module for popcount, as a better fix.
18 See the thread starting in:
19 http://lists.gnu.org/archive/html/emacs-devel/2013-09/msg00474.html
20 (popcount_size_t_generic) [NEED_GENERIC_POPCOUNT]:
21 (popcount_size_t_msc) [USE_MSC_POPCOUNT]:
22 (popcount_size_t_gcc) [USE_GCC_POPCOUNT]:
23 (popcount_size_t): Use it.
24
252013-09-24 Daniel Colascione <dancol@dancol.org>
26
27 * process.c (Fnetwork_interface_info): Fix build break due to
28 vector changes.
29
302013-09-24 Paul Eggert <eggert@cs.ucla.edu>
31
32 * dispnew.c (clear_glyph_row, copy_row_except_pointers):
33 Prefer signed to unsigned integers where either will do.
34 No need for 'const' on locals that do not escape.
35 Omit easserts with unnecessary and unportable assumptions about
36 alignment. Avoid unnecessary casts to char *.
37
382013-09-24 Dmitry Antipov <dmantipov@yandex.ru>
39
40 Use union for the payload of struct Lisp_Vector.
41 This helps to avoid a few glitches dictated by C's aliasing rules.
42 * lisp.h (struct Lisp_Vector): Use union for next and
43 contents member. Adjust comment. Change related users.
44 * alloc.c (next_in_free_list, set_next_in_free_list): Remove.
45 Related users changed.
46 * buffer.c, bytecode.c, ccl.c, character.h, chartab.c, composite.c:
47 * composite.h, disptab.h, fns.c, fontset.c, indent.c, keyboard.c:
48 * lread.c, msdos.c, process.c, w32menu.c, window.c, xdisp.c:
49 * xfaces.c, xfont.c, xmenu.c: Related users changed.
50
512013-09-24 Dmitry Antipov <dmantipov@yandex.ru>
52
53 Optimize glyph row clearing and copying routines.
54 * dispextern.h (struct glyph_row): Change layout of struct
55 glyph_row to help copy_row_except_pointers. Adjust comment.
56 * dispnew.c (null_row): Remove.
57 (clear_glyph_row): Use offsetof and memset to find and clear
58 just the members that need clearing. Adjust comment.
59 (copy_row_except_pointers): Likewise for copying.
60
612013-09-24 Paul Eggert <eggert@cs.ucla.edu>
62
63 Some minor cleanups of recently-added bool vector code.
64 * conf_post.h (assume): Always return void. Use lint version
65 only if GCC and MSC versions don't apply.
66 * conf_post.h (assume):
67 * data.c (USC_MSC_POPCOUNT, count_trailing_zero_bits):
68 Depend on _MSC_VER, not __MSC_VER, for consistency with
69 the rest of Emacs.
70 * data.c (bool_vector_spare_mask, popcount_size_t_generic)
71 (popcount_size_t_msc, popcount_size_t_gcc, popcount_size_t)
72 (bool_vector_binop_driver, count_trailing_zero_bits)
73 (size_t_to_host_endian): Now static, not static inline;
74 the latter isn't needed with modern compilers and doesn't
75 work with older compilers anyway.
76
77 * alloc.c (valgrind_p): Use bool for boolean.
78
792013-09-23 Dmitry Antipov <dmantipov@yandex.ru>
80
81 * xdisp.c (noninteractive_need_newline, message_log_need_newline)
82 (overlay_arrow_seen, message_enable_multibyte, line_number_displayed)
83 (display_last_displayed_message_p, message_buf_print)
84 (message_cleared_p, help_echo_showing_p, hourglass_shown_p):
85 Use bool for boolean.
86 * dispextern.h (cancel_line, init_desired_glyphs):
87 Remove ancient leftover.
88 (help_echo_showing_p, hourglass_shown_p):
89 * lisp.h (noninteractive_need_newline): Adjust declaration.
90
912013-09-23 Dmitry Antipov <dmantipov@yandex.ru>
92
93 * dispnew.c (frame_garbaged, selected_frame, last_nonminibuf_frame):
94 Move to...
95 * frame.c (frame_garbaged, selected_frame, last_nonminibuf_frame):
96 ...this file and convert the latter to static. Adjust comment.
97 (make_initial_frame):
98 * window.c (init_window_once): Adjust user.
99 * frame.h (last_nonminibuf_frame): Remove declaration.
100 * lisp.h (selected_frame): Likewise.
101 * msdos.c (the_only_display_info): Adjust comment.
102
1032013-09-23 Eli Zaretskii <eliz@gnu.org>
104
105 * xdisp.c (mouse_face_from_string_pos): Fix off-by-one error in
106 computing the end column of mouse-highlight that comes from
107 display or overlay strings. (Bug#15437)
108 (note_mouse_highlight): Adapt calculation of last argument to
109 mouse_face_from_string_pos to the above change.
110
111 * conf_post.h (__has_builtin): Define to zero, if undefined, on
112 all platforms, not just for clang.
113
1142013-09-23 Jan Djärv <jan.h.d@swipnet.se>
115
116 * filelock.c (lock_file_1): Rearrange to remove compiler warning
117 about excess arguments to snprintf.
118
119 * conf_post.h(assume): Use __builtin_unreachable for clang.
120
1212013-09-23 Juanma Barranquero <lekktu@gmail.com>
122
123 * w32console.c (initialize_w32_display): Remove unused variable hlinfo.
124 * w32term.c (w32_scroll_bar_handle_click): Remove unused variable f.
125
1262013-09-23 Daniel Colascione <dancol@dancol.org>
127
128 * alloc.c (USE_VALGRIND): New macro; on by default
129 when ENABLE_CHECKING.
130 (mark_maybe_object,mark_maybe_pointer)
131 [USE_VALGRIND]: Mark conservatively-scanned regions valid for
132 valgrind purposes.
133 (valgrind_p) [USE_VALGRIND]: New variable.
134 (init_alloc) [USE_VALGRIND]: Initialize valgrind_p.
135
1362013-09-22 Jan Djärv <jan.h.d@swipnet.se>
137
138 * process.c (wait_reading_process_output): Change int pnamelen to
139 socklen_t.
140
141 * nsterm.m (setMarkedText:selectedRange:):
142 (deleteWorkingText):
143 * nsmenu.m (addDisplayItemWithImage:idx:tag:helpText:enabled:):
144 * nsfont.m (ns_get_covering_families, ns_findfonts): Cast NSLog
145 argument to unsigned long to avoid warning.
146 (nsfont_draw): Use 0.25 instead of Fix2X (kATSItalicQDSkew).
147
148 * conf_post.h (assume): Fix compiler error: x shall be cond.
149
1502013-09-22 Daniel Colascione <dancol@dancol.org>
151
152 * xfns.c (x_get_monitor_attributes): Suppress unused variable
153 warning when compiling without a window system.
154
1552013-09-22 Daniel Colascione <dancol@dancol.org>
156
157 * data.c (Qbool_vector_p): New symbol.
158 (bool_vector_spare_mask,popcount_size_t_generic)
159 (popcount_size_t_msc,popcount_size_t_gcc)
160 (popcount_size_t)
161 (bool_vector_binop_driver)
162 (count_trailing_zero_bits,size_t_to_host_endian)
163 (Fbool_vector_exclusive_or)
164 (Fbool_vector_union)
165 (Fbool_vector_intersection,Fbool_vector_set_difference)
166 (Fbool_vector_subsetp,Fbool_vector_not)
167 (Fbool_vector_count_matches)
168 (Fbool_vector_count_matches_at): New functions.
169 (syms_of_data): Intern new symbol, functions.
170 * alloc.c (bool_vector_payload_bytes): New function.
171 (Fmake_bool_vector): Instead of calling Fmake_vector,
172 which performs redundant initialization and argument checking,
173 just call allocate_vector ourselves. Make sure we clear any
174 terminating padding to zero.
175 (vector_nbytes,sweep_vectors): Use bool_vector_payload_bytes
176 instead of open-coding the size calculation.
177 (vroundup_ct): New macro.
178 (vroundup): Assume argument >= 0; invoke vroundup_ct.
179 * casetab.c (shuffle,set_identity): Change lint_assume to assume.
180 * composite.c (composition_gstring_put_cache): Change
181 lint_assume to assume.
182 * conf_post.h (assume): New macro.
183 (lint_assume): Remove.
184 * dispnew.c (update_frame_1): Change lint_assume to assume.
185 * ftfont.c (ftfont_shape_by_flt): Change lint_assume
186 to assume.
187 * image.c (gif_load): Change lint_assume to assume.
188 * lisp.h (eassert_and_assume): New macro.
189 (Qbool_vector_p): Declare.
190 (CHECK_BOOL_VECTOR,ROUNDUP,BITS_PER_SIZE_T): New macros.
191 (swap16,swap32,swap64): New inline functions.
192 * macfont.c (macfont_shape): Change lint_assume to assume.
193 * ralloc.c: Rename ROUNDUP to PAGE_ROUNDUP throughout.
194 * xsettings.c (parse_settings): Use new swap16 and
195 swap32 from lisp.h instead of file-specific macros.
196
1972013-09-22 Eli Zaretskii <eliz@gnu.org>
198
199 * xdisp.c (try_window_id): Don't abort if cursor row could not be
200 found (which can legitimately happen when the glyph row at the
201 window start is disabled in the current_matrix. (Bug#15365)
202
2032013-09-22 Paul Eggert <eggert@cs.ucla.edu>
204
205 Fix syntax.h bug introduced by recent INLINE change.
206 syntax.h defined an extern inline function SYNTAX_ENTRY that was
207 conditionally compiled one way in some modules, and a different
208 way in others. This doesn't work with extern inline functions,
209 which must have the same definition in all modules, because the
210 defining code might be shared across modules, depending on the
211 implementation. Symptoms reported by Martin Rudalics in:
212 http://lists.gnu.org/archive/html/emacs-devel/2013-09/msg00414.html
213 * regex.c, syntax.c (SYNTAX_ENTRY_VIA_PROPERTY): Remove.
214 (SYNTAX, SYNTAX_ENTRY, SYNTAX_WITH_FLAGS): New macros,
215 overriding the corresponding functions in syntax.h.
216 * syntax.h (syntax_property_entry, syntax_property_with_flags)
217 (syntax_property): New inline functions.
218 (SYNTAX_ENTRY, SYNTAX_WITH_FLAGS, SYNTAX):
219 Rewrite in terms of these new functions.
220
2212013-09-21 Eli Zaretskii <eliz@gnu.org>
222
223 * dired.c (directory_files_internal): Use multibyte_chars_in_text,
224 not chars_in_text, whose result depends on the multibyteness of
225 the current buffer. (Bug#15426)
226
2272013-09-20 Paul Eggert <eggert@cs.ucla.edu>
228
229 Port recent change to hosts where pointers aren't 'long'.
230 * xterm.c (x_send_scroll_bar_event, x_scroll_bar_to_input_event):
231 Don't assume that pointers are the same width as 'long'.
232 Add a compile-time check that a pointer fits into two X slots.
233
234 A simpler, centralized INLINE.
235 * conf_post.h (INLINE): Define only if not already defined.
236 This allows us to use a single INLINE, defined by one file
237 per executable.
238 * emacs.c (INLINE): Define it.
239 Also, include category.h, charset.h, composite.h, dispextern.h,
240 syntax.h, systime.h, so that their INLINE definitions are expanded
241 properly for Emacs.
242 * blockinput.h, keyboard.c (BLOCKINPUT_INLINE):
243 * buffer.h, buffer.c (BUFFER_INLINE):
244 * category.h, category.c (CATEGORY_INLINE):
245 * character.h, character.c (CHARACTER_INLINE):
246 * charset.h, charset.c (CHARSET_INLINE):
247 * composite.h, composite.c (COMPOSITE_INLINE):
248 * dispextern.h, dispnew.c (DISPEXTERN_INLINE):
249 * frame.h, frame.c (FRAME_INLINE):
250 * intervals.h, intervals.c (INTERVALS_INLINE):
251 * keyboard.h, keyboard.c (KEYBOARD_INLINE):
252 * lisp.h, alloc.c (LISP_INLINE):
253 * process.h, process.c (PROCESS_INLINE):
254 * syntax.h, syntax.c (SYNTAX_INLINE):
255 * systime.h, sysdep.c (SYSTIME_INLINE):
256 * termhooks.h, terminal.h (TERMHOOKS_INLINE):
257 * window.h, window.c (WINDOW_INLINE):
258 Remove. All uses replaced with INLINE.
259
2602013-09-20 Dmitry Antipov <dmantipov@yandex.ru>
261
262 * xterm.c (handle_one_xevent): Revert part of 2013-09-17 change
263 to avoid Bug#15398.
264
2652013-09-19 Eli Zaretskii <eliz@gnu.org>
266
267 * w32reg.c (w32_get_string_resource): Make the first 2 arguments
268 'const char *' to avoid compiler warnings due to similar change in
269 the prototype of x_get_string_resource.
270
2712013-09-19 Dmitry Antipov <dmantipov@yandex.ru>
272
273 * xterm.h (struct x_display_info): New members last_mouse_glyph_frame,
274 last_mouse_scroll_bar, last_mouse_glyph and last_mouse_movement_time,
275 going to replace static variables below. Adjust comments.
276 * xterm.c (last_mouse_glyph, last_mouse_glyph_frame)
277 (last_mouse_scroll_bar, last_mouse_movement_time): Remove.
278 (note_mouse_movement, XTmouse_position, x_scroll_bar_note_movement)
279 (x_scroll_bar_report_motion, handle_one_xevent, syms_of_xterm):
280 Related users changed.
281 * w32term.h (struct w32_display_info): New members last_mouse_glyph_frame,
282 last_mouse_scroll_bar, last_mouse_scroll_bar_pos, last_mouse_glyph and
283 last_mouse_movement_time, going to replace static variables below.
284 Adjust comments.
285 * w32term.c (last_mouse_glyph_frame, last_mouse_scroll_bar)
286 (last_mouse_scroll_bar_pos, last_mouse_glyph, last_mouse_movement_time):
287 Remove.
288 (note_mouse_movement, w32_mouse_position, w32_scroll_bar_handle_click)
289 (x_scroll_bar_report_motion, syms_of_w32term): Related users changed.
290 * nsterm.h (struct ns_display_info): New members last_mouse_glyph,
291 last_mouse_movement_time and last_mouse_scroll_bar, going to replace
292 static variables below.
293 * nsterm.m (last_mouse_glyph, last_mouse_movement_time)
294 (last_mouse_scroll_bar): Remove.
295 (note_mouse_movement, ns_mouse_position, mouseMoved, mouseEntered)
296 (mouseExited): Related users changed.
297
2982013-09-19 Dmitry Antipov <dmantipov@yandex.ru>
299
300 Do not use external array to process X scroll bar messages.
301 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): Remove.
302 (x_send_scroll_bar_event): Pack window pointer into two slots
303 of XClientMessageEvent if we're 64-bit. Adjust comment.
304 (x_scroll_bar_to_input_event): Unpack accordingly.
305
3062013-09-18 Dmitry Antipov <dmantipov@yandex.ru>
307
308 Ifdef away recent changes which aren't relevant to NS port.
309 * dispextern.h (x_mouse_grabbed, x_redo_mouse_highlight)
310 [!HAVE_NS]: Declare as such.
311 * frame.c (x_mouse_grabbed, x_redo_mouse_highlight)
312 [!HAVE_NS]: Define as such.
313
3142013-09-18 Dmitry Antipov <dmantipov@yandex.ru>
315
316 * frame.c (x_redo_mouse_highlight): New function
317 to factor out common code used in W32 and X ports.
318 * dispextern.h (x_redo_mouse_highlight): Add prototype.
319 * xterm.h (struct x_display_info):
320 * w32term.h (struct w32_display_info):
321 * nsterm.h (struct ns_display_info): New members
322 last_mouse_motion_frame, last_mouse_motion_x and
323 last_mouse_motion_y, going to replace static variables below.
324 * xterm.c (last_mouse_motion_event, last_mouse_motion_frame)
325 (redo_mouse_highlight): Remove.
326 (note_mouse_movement, syms_of_xterm): Adjust user.
327 (handle_one_xevent): Likewise. Use x_redo_mouse_highlight.
328 * w32term.c (last_mouse_motion_event, last_mouse_motion_frame)
329 (redo_mouse_highlight): Remove.
330 (note_mouse_movement, syms_of_w32term): Adjust user.
331 (w32_read_socket): Likewise. Use x_redo_mouse_highlight.
332 * nsterm.m (last_mouse_motion_position, last_mouse_motion_frame):
333 Remove.
334 (note_mouse_movement, mouseMoved, syms_of_nsterm):
335 * nsfns.m (compute_tip_xy): Adjust user.
336
3372013-09-18 Dmitry Antipov <dmantipov@yandex.ru>
338
339 * frame.c (x_mouse_grabbed): New function.
340 * dispextern.h (x_mouse_grabbed): Add prototype.
341 (last_mouse_frame): Remove declaration.
342 * xterm.h (struct x_display_info):
343 * w32term.h (struct w32_display_info):
344 * nsterm.h (struct ns_display_info): New member
345 last_mouse_frame, going to replace...
346 * xdisp.c (last_mouse_frame): ...global variable.
347 (note_tool_bar_highlight):
348 * w32term.c (w32_mouse_position, w32_read_socket):
349 * xterm.c (XTmouse_position, handle_one_xevent):
350 Use x_mouse_grabbed.
351 * nsterm.m (ns_mouse_position, mouseDown): Adjust user.
352
3532013-09-17 Dmitry Antipov <dmantipov@yandex.ru>
354
355 * w32term.c (w32_read_socket): Avoid temporary
356 variables in a call to x_real_positions.
357 * xterm.c (handle_one_xevent): Likewise.
358
3592013-09-17 Dmitry Antipov <dmantipov@yandex.ru>
360
361 * frame.h (x_set_bitmap_icon) [!HAVE_NS]: New function.
362 (x_icon_type): Remove prototype.
363 (x_bitmap_icon) [!HAVE_NS]: Declare as such.
364 * frame.c (x_icon_type): Remove.
365 * w32term.c (x_make_frame_visible, x_iconify_frame):
366 * xterm.c (x_make_frame_visible, x_iconify_frame):
367 Use x_set_bitmap_icon to factor out common code.
368
3692013-09-17 Dmitry Antipov <dmantipov@yandex.ru>
370
371 * dispextern.h (check_x_display_info, x_get_string_resource):
372 Declare here just once and unify the latter.
373 * frame.c (check_x_display_info, x_get_string_resource):
374 * nsterm.h (check_x_display_info):
375 * xrdb.c (x_get_string_resource):
376 * xterm.h (check_x_display_info): Remove prototypes.
377 * nsfns.m (x_get_string_resource): Likewise. Adjust definition.
378 * w32reg.c (x_get_string_resource): Likewise.
379 (w32_get_rdb_resource): Adjust user.
380
3812013-09-17 Dmitry Antipov <dmantipov@yandex.ru>
382
383 * xterm.h (struct x_display_info): New member
384 x_pending_autoraise_frame, going to replace...
385 * xterm.c (pending_autoraise_frame): ...static variable.
386 (x_new_focus_frame, XTread_socket): Adjust users.
387 * w32term.h (struct w32_display_info): New member
388 w32_pending_autoraise_frame, going to replace...
389 * w32term.c (pending_autoraise_frame): ...global variable.
390 (x_new_focus_frame, w32_read_socket): Adjust users.
391
3922013-09-17 Glenn Morris <rgm@gnu.org>
393
394 * xdisp.c (message_dolog): If we create *Messages*,
395 switch it to messages-buffer-mode.
396
3972013-09-17 Paul Eggert <eggert@cs.ucla.edu>
398
399 Don't overuse 'const' in types of locals.
400 * bidi.c (bidi_count_bytes):
401 * gtkutil.c, gtkutil.h (xg_event_is_for_menubar)
402 (xg_event_is_for_scrollbar):
403 * xselect.c (x_handle_property_notify)
404 (x_handle_selection_notify, x_handle_dnd_message):
405 * xsettings.c, xsettings.h (xft_settings_event):
406 * xterm.c (x_handle_net_wm_state, handle_one_event)
407 (x_menubar_window_to_frame, x_detect_focus_change)
408 (construct_mouse_click, note_mouse_movement)
409 (x_scroll_bar_to_input_event, x_scroll_bar_expose)
410 (x_scroll_bar_handle_click, x_scroll_bar_note_movement)
411 (handle_one_xevent, x_handle_net_wm_state):
412 * xterm.h (x_handle_property_notify, x_handle_selection_notify)
413 (x_handle_dnd_message):
414 Avoid unnecessary 'const', typically the second 'const' in
415 'const foo * const arg', a 'const' that does not affect the API
416 and doesn't significantly help the human reader.
417
4182013-09-17 Dmitry Antipov <dmantipov@yandex.ru>
419
420 * image.c (fn_g_type_init) [WINDOWSNT]: Define and load
421 only if Glib < 2.36.0.
422 (fn_g_type_init) [!WINDOWSNT]: Define only if Glib < 2.36.0.
423 * xsettings.c (init_gconf, init_gsettings): Do not check
424 for g_type_init.
425 * xterm.c (handle_one_xevent): Do not call to x_clear_area
426 if GTK >= 2.7.0.
427 (toplevel) [USE_MOTIF]: Include xlwmenu.h to pacify GCC.
428
4292013-09-16 Jan Djärv <jan.h.d@swipnet.se>
430
431 * xsettings.c (init_gconf, init_gsettings): Check for Glib 2.36.0
432 before calling g_type_init.
433
434 * font.c (syms_of_font): Move call to syms_of_(ns|mac)font ...
435
436 * nsterm.m (syms_of_nsterm): ... to here.
437
4382013-09-16 Dmitry Antipov <dmantipov@yandex.ru>
439
440 * xterm.c (toolkit_scroll_bar_interaction): Use bool for boolean.
441 (ignore_next_mouse_click_timeout): Use Time as X does.
442 (handle_one_xevent): Avoid cast and use unsigned comparison.
443
4442013-09-16 Dmitry Antipov <dmantipov@yandex.ru>
445
446 Do not copy X event in handle_one_xevent except KeyPress case.
447 Wnen XEvent is processed, it is unlikely to be changed except
448 KeyPress case, so we can avoid copying and use const pointer to
449 const data to make sure that an event is not changed elsewhere.
450 * xterm.c (handle_one_xevent): Change 2nd arg to 'const XEvent *
451 const' and do not create local copy except for the KeyPress event.
452 Use casts to avoid a few glitches. Adjust formatting. Add comments.
453 (SET_SAVED_BUTTON_EVENT): Remove and move the code to the only user.
454 (x_handle_net_wm_state, x_menubar_window_to_frame)
455 (x_detect_focus_change, construct_mouse_click, note_mouse_movement)
456 (x_scroll_bar_to_input_event, x_scroll_bar_expose)
457 (x_scroll_bar_handle_click, x_scroll_bar_note_movement):
458 * gtkutil.c (xg_event_is_for_menubar, xg_event_is_for_scrollbar):
459 * xselect.c (x_handle_property_notify, x_handle_selection_notify)
460 (x_handle_dnd_message):
461 * xsettings.c (xft_settings_event):
462 Use 'const XEvent * const' where appropriate.
463 * xterm.h, gtkutil.h, xsettngs.h: Adjust related prototypes.
464
4652013-09-16 Dmitry Antipov <dmantipov@yandex.ru>
466
467 Fix X event waiting to handle multiple frames.
468 * frame.h (struct frame) [HAVE_X_WINDOWS]: New member wait_event_type.
469 * xterm.c (pending_event_wait): Remove. Adjust users.
470 (x_detect_focus_change): Pass frame arg.
471 (handle_one_xevent): Find related frame early and clear per-frame
472 wait_event_type only if this is an event for the relevant frame.
473 (x_wait_for_event): Use per-frame wait_event_type.
474
4752013-09-15 Jan Djärv <jan.h.d@swipnet.se>
476
477 * nsfns.m (Fx_create_frame): Fix font driver registration for
478 GNUStep.
479
480 * font.c (syms_of_font): Check MAC_OS_X_VERSION_MAX_ALLOWED >= 1050
481 for syms_of_macfont.
482
483 * nsterm.m: Include macfont.h.
484 (ns_tmp_flags, ns_tmp_font): Remove.
485 (ns_compute_glyph_string_overhangs): Check for driver Qns.
486 (ns_draw_glyph_string): Use local variables instead of ns_tmp_flags,
487 ns_tmp_font. Call ns_draw_text_decoration here instead of nsfont.m.
488 (changeFont:): Fix code style. Check for font driver type when
489 getiing font.
490
491 * nsterm.h (FONT_DESCENT, FONT_ASCENT): Define to (f)->ascent and
492 (f)->descent.
493
494 * nsfont.m (ns_tmp_flags, ns_tmp_font): Remove.
495 (nsfont_open): Set font driver type.
496 Set font->ascent and font->descent. Figure out font instead of
497 ns_tmp_font, and flags instead of ns_tmp_flags.
498 Fix indentation. Remove call to ns_draw_text_decoration,
499 moved to nsterm.
500
501 * nsfns.m: Include macfont.h.
502 (Fx_create_frame): Register macfont driver, make a better default font.
503 (Fns_popup_font_panel): Get font from macfont driver, if used.
504
505 * macfont.m, macfont.h, maccuvs.h: New files.
506
507 * font.h: Declare syms_of_macfont.
508
509 * font.c (syms_of_font): Call syms_of_macfont.
510
511 * Makefile.in (NS_OBJ, SOME_MACHINE_OBJECTS): Add macfont.o.
512
5132013-09-15 Dmitry Antipov <dmantipov@yandex.ru>
514
515 Drop VERTICAL_SCROLL_BAR_WIDTH_TRIM. For X, it is zero since 1999,
516 and it is always zero for others, so I assume that this is an ancient
517 leftover which nobody will want to change any more.
518 * xterm.h, w32term.h, nsterm.h (VERTICAL_SCROLL_BAR_WIDTH_TRIM): Remove.
519 (VERTICAL_SCROLL_BAR_INSIDE_WIDTH):
520 * frame.c (x_set_scroll_bar_width):
521 * w32fns.c (w32_createscrollbar):
522 * w32term.c (w32_set_vertical_scroll_bar):
523 * xfns.c (x_set_scroll_bar_default_width):
524 * xterm.c (XTflash, x_scroll_bar_create, XTset_vertical_scroll_bar)
525 (x_scroll_bar_expose): Related users changed.
526
5272013-09-15 Dmitry Antipov <dmantipov@yandex.ru>
528
529 * xterm.h (FRAME_X_SCREEN_NUMBER): Add comment.
530 (BLACK_PIX_DEFAULT, WHITE_PIX_DEFAULT): Use FRAME_X_SCREEN_NUMBER.
531 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET) [USE_X_TOOLKIT]:
532 Define as such.
533 * frame.h (FRAME_SMALLEST_CHAR_WIDTH, FRAME_SMALLEST_FONT_HEIGHT):
534 Define once here...
535 * nsterm.h, w32term.h, xterm.h: ...and not here.
536 * w32term.h (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
537 Remove unused Xisms.
538 * xterm.c, xfns.c (toplevel): Remove #ifdef HAVE_X_WINDOWS because
539 these modules are never compiled otherwise.
540
5412013-09-14 Eli Zaretskii <eliz@gnu.org>
542
543 * buffer.c (syms_of_buffer) <left-margin-width, right-margin-width>:
544 Doc fix. (Bug#15375)
545
5462013-09-13 Dmitry Antipov <dmantipov@yandex.ru>
547
548 Unify Fx_focus_frame between all ports.
549 * frame.h (x_focus_frame): New prototype.
550 * xfns.c (Fx_focus_frame): Remove.
551 (syms_of_xfns): Do not defsubr it.
552 (x_focus_frame): X implementation.
553 * nsfns.m (Fx_focus_frame): Remove.
554 (syms_of_nsfns): Do not defsubr it.
555 (x_focus_frame): NS implementation.
556 * w32term.c (Fx_focus_frame): Remove.
557 (x_focus_on_frame): Rename to...
558 (x_focus_frame): W32 implementation.
559 * w32term.h (x_focus_on_frame): Remove prototype.
560 * w32fns.c (Fx_focus_frame): Remove.
561 (syms_of_w32fns): Do not defsubr it.
562 * frame.c (Fx_focus_frame): Define here.
563 (syms_of_frame): Defsubr here.
564 * gtkutil.c (xg_tool_bar_callback): Use x_focus_frame.
565
5662013-09-13 Dmitry Antipov <dmantipov@yandex.ru>
567
568 Unify FRAME_window_system_DISPLAY_INFO macros between all ports.
569 All of them are replaced with FRAME_DISPLAY_INFO, defined in
570 each port to reference the port-specific window system data.
571 * msdos.h (FRAME_X_DISPLAY_INFO): Remove.
572 (FRAME_DISPLAY_INFO): Define.
573 * w32term.h (FRAME_W32_DISPLAY_INFO, FRAME_X_DISPLAY_INFO): Remove.
574 (FRAME_DISPLAY_INFO): Define. Adjust users.
575 * xterm.h (FRAME_X_DISPLAY_INFO): Remove.
576 (FRAME_DISPLAY_INFO): Define. Adjust users.
577 * frame.h (FRAME_RES_X, FRAME_RES_Y): Unify.
578 * font.c, frame.c, gtkutil.c, image.c, menu.c, msdos.c, nsfns.m:
579 * nsfont.m, nsterm.m, w32fns.c, w32font.c, w32menu.c, w32term.c:
580 * w32xfns.c, widget.c, xdisp.c, xfaces.c, xfns.c, xfont.c, xmenu.c:
581 * xselect.c, xterm.c: All related users changed.
582
5832013-09-13 Dmitry Antipov <dmantipov@yandex.ru>
584
585 * xterm.h (x_window_to_frame, x_any_window_to_frame)
586 (x_menubar_window_to_frame): Remove prototypes.
587 * xfns.c (x_window_to_frame, x_any_window_to_frame)
588 (x_menubar_window_to_frame, x_top_window_to_frame):
589 Move from here...
590 * xterm.c (x_window_to_frame, x_any_window_to_frame)
591 (x_menubar_window_to_frame, x_top_window_to_frame):
592 ...to here and convert all but the last to static.
593
5942013-09-12 Eli Zaretskii <eliz@gnu.org>
595
596 * lisp.mk (lisp): Add w32-common-fns.elc.
597
5982013-09-12 Xue Fuqiao <xfq.free@gmail.com>
599
600 * charset.c (char_charset): Document an exception for char-charset.
601
6022013-09-12 Dmitry Antipov <dmantipov@yandex.ru>
603
604 * xterm.h (x_display_info): New field last_user_time...
605 * xterm.c (toplevel): ...to replace static last_user_time.
606 (handle_one_xevent, x_ewmh_activate_frame): Adjust users.
607
6082013-09-12 Dmitry Antipov <dmantipov@yandex.ru>
609
610 * xterm.c (x_set_scroll_bar_thumb) [USE_LUCID && !HAVE_XAW3D]: Clip
611 scroll bar values to prevent thumb from disappear and update comment.
612
6132013-09-11 Glenn Morris <rgm@gnu.org>
614
615 * emacs.c (usage_message): Possessive apostrophe tweak.
616
6172013-09-11 Dmitry Antipov <dmantipov@yandex.ru>
618
619 * nsterm.m (syms_of_nsterm): Use Qns.
620 * w32fns.c (Fx_open_connection): Remove old '#if 0' code.
621 * w32term.c (w32_create_terminal, syms_of_w32term): Use Qw32.
622 * xfns.c (x_display_info_for_name, Fx_open_connection):
623 Remove old '#if 0' code.
624 (syms_of_xfns): Use Qx.
625 * termhooks.h (fullscreen_hook): Remove the leftover.
626 (struct terminal): Fix typo in comment.
627
6282013-09-11 Dmitry Antipov <dmantipov@yandex.ru>
629
630 Cleaning up a few X scroll bar bits.
631 * termhooks.h (enum scroll_bar_part): Add scroll_bar_nowhere member.
632 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS && USE_LUCID]:
633 New member last_seen_part, going to replace...
634 * xterm.c [USE_TOOLKIT_SCROLL_BARS]: ...global last_scroll_bar_part.
635 (xt_action_hook) [USE_LUCID]: Adjust user.
636 (xm_scroll_callback, xg_scroll_callback): Do not bloat with
637 Lucid-specific scroll bar support.
638 (xaw_jump_callback, xaw_scroll_callback): Prefer enum scroll_par_part
639 to int and adjust to use last_seen_part member.
640 (x_set_toolkit_scroll_bar_thumb) [USE_LUCID]: Adjust user.
641 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS && USE_LUCID]:
642 Initialize last_seen_part.
643
6442013-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
645
646 * insdel.c (insert_from_buffer_1): Don't mark buffer as modified when
647 insert-buffer-substring an empty string.
648
6492013-09-11 Paul Eggert <eggert@cs.ucla.edu>
650
651 * xdisp.c (Ftool_bar_lines_needed): Declare as 'const' if ifdeffed out,
652 avoiding a GCC warning.
653
6542013-09-11 Dmitry Antipov <dmantipov@yandex.ru>
655
656 Ifdef away frame tool bar code when it is not really used.
657 * frame.h (struct frame) [HAVE_WINDOW_SYSTEM && !USE_GTK && !HAVE_NS]:
658 Move tool_bar_window, desired_tool_bar_string, current_tool_bar_string
659 and minimize_tool_bar_window_p under the above.
660 (fset_current_tool_bar_string, fset_desired_tool_bar_string)
661 (fset_tool_bar_window): Likewise.
662 * dispnew.c (clear_current_matrices, clear_desired_matrices)
663 (adjust_frame_glyphs_for_window_redisplay, free_glyphs, update_frame)
664 (change_frame_size_1):
665 * window.c (window_from_coordinates, Frecenter): Adjust users.
666 * window.h (WINDOW_TOOL_BAR_P): Define to zero when frame tool bar
667 code is not really used.
668 * xdisp.c (build_desired_tool_bar_string, display_tool_bar_line)
669 (tool_bar_lines_needed, MAX_FRAME_TOOL_BAR_HEIGHT, tool_bar_item_info)
670 (get_tool_bar_item, handle_tool_bar_click, note_tool_bar_highlight)
671 [!USE_GTK && !HAVE_NS]: Define as such.
672 (Ftool_bar_lines_needed, redisplay_tool_bar, show_mouse_face)
673 (note_mouse_highlight, expose_frame):
674 * xfns.c (x_set_tool_bar_lines):
675 * xterm.c (handle_one_xevent): Adjust users.
676
6772013-09-11 Paul Eggert <eggert@cs.ucla.edu>
678
679 Fix corruption with multiple emacsclient -t instances (Bug#15222).
680 This bug was introduced by my 2013-08-26 patch, which incorrectly
681 assumed that the terminfo implementation doesn't use termcap buffers.
682 * term.c (init_tty) [TERMINFO]: Remove optimization, as
683 these buffers apparently are used after all.
684 * termchar.h (TERMCAP_BUFFER_SIZE) [TERMINFO]: Define here too.
685 (struct tty_display_info): Define members termcap_term_buffer and
686 termcap_strings_buffer even if TERMINFO.
687
6882013-09-11 Dmitry Antipov <dmantipov@yandex.ru>
689
690 Fix last change.
691 * data.c (Feqlsign, Flss, Fgtr, Fleq, Fgeq): Add convenient
692 'usage' docstring entry to pacify make-docfile.
693
6942013-09-11 Barry O'Reilly <gundaetiapo@gmail.com>
695
696 Change comparison functions =, <, >, <=, >= to take many arguments.
697 * data.c: Change comparison functions' interface and implementation.
698 * lisp.h: Make arithcompare available for efficient two arg
699 comparisons.
700 * bytecode.c: Use arithcompare.
701 * fileio.c: Use new interface.
702
7032013-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
704
705 * keyboard.c (read_char): Don't break immediate_echo (bug#15332).
706
7072013-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
708
709 * eval.c (Feval): Document the new use of `lexical'.
710
7112013-09-09 Dmitry Antipov <dmantipov@yandex.ru>
712
713 Review and drop old frame resize hack.
714 * frame.h (struct frame): Remove force_flush_display_p.
715 * dispnew.c (update_frame): Adjust user and don't call
716 flush_frame here. The comment has said that there was an issues
717 with redisplaying fringes, but I don't see any differences with
718 and without this hack. Hopefully we can continue without it.
719 * xdisp.c (clear_garbaged_frames): Adjust user and do not clear
720 current frame matrices twice if resized_p is set.
721
7222013-09-09 Dmitry Antipov <dmantipov@yandex.ru>
723
724 Do not populate pure Xism x_sync to other ports.
725 * frame.h (x_sync): Move under HAVE_X_WINDOWS.
726 * frame.c (other_visible_frames) [HAVE_X_WINDOWS]: Use as such.
727 * nsfns.m, w32xfns.c (x_sync): Remove no-op.
728 * w32term.h (x_sync): Remove prototype.
729
7302013-09-09 Dmitry Antipov <dmantipov@yandex.ru>
731
732 Cleanup frame flushing.
733 * dispextern.h (struct redisplay_interface):
734 Drop flush_display_optional because flush_display is enough
735 for X and flushing via RIF is just a no-op for others.
736 * frame.h (flush_frame): New function.
737 * dispnew.c (update_frame):
738 * minibuf.c (read_minibuf):
739 * xdisp.c (echo_area_display, redisplay_preserve_echo_area):
740 Use it.
741 * keyboard.c (detect_input_pending_run_timers): Do not flush
742 all frames but selected one in redisplay_preserve_echo_area.
743 * nsterm.m (ns_flush): Remove no-op.
744 (ns_redisplay_interface): Adjust user.
745 * w32term.h (x_flush): Remove no-op.
746 (w32_redisplay_interface): Adjust user.
747 * xterm.c (x_flush): Simplify because we do not flush all
748 frames at once any more. Adjust comment.
749 (x_redisplay_interface): Adjust user.
750
7512013-09-07 Paul Eggert <eggert@cs.ucla.edu>
752
753 Port --without-x --enable-gcc-warnings to Fedora 19.
754 * gfilenotify.c (globals_of_gfilenotify):
755 Call g_type_init only if using an older glib version that needs it.
756
7572013-09-06 Dmitry Antipov <dmantipov@yandex.ru>
758
759 * lisp.h (last_glyphless_glyph_frame, last_glyphless_glyph_face_id)
760 (last_glyphless_glyph_merged_face_id): Remove declarations.
761 * dispextern.h (merge_glyphless_glyph_face): Add prototype.
762 * xdisp.c (last_glyphless_glyph_frame, last_glyphless_glyph_face_id)
763 (last_glyphless_glyph_merged_face_id): Now static.
764 (merge_escape_glyph_face): New function, refactored from...
765 (get_next_display_element): ...here.
766 (merge_glyphless_glyph_face): New function, refactored from...
767 (produce_glyphless_glyph): ...here...
768 * term.c (produce_glyphless_glyph): ...and here.
769
7702013-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
771
772 * eval.c (eval_sub): Only call Ffunction if necessary.
773
7742013-09-06 Dmitry Antipov <dmantipov@yandex.ru>
775
776 Attempt to make redisplay more selective when changing cursor type.
777 * frame.h (struct frame): New bitfield cursor_type_changed.
778 * xdisp.c (cursor_type_changed): Remove.
779 (try_cursor_movement, redisplay_window, try_window_id)
780 (set_frame_cursor_types, try_window_reusing_current_matrix):
781 Adjust to use per-frame bitfield.
782 (redisplay_internal): Look for cursor type change on each visible
783 frame and consider all frames if cursor type has been changed on
784 the frame other than selected. If cursor type has been changed on
785 selected frame only, do not use fast update.
786
7872013-09-06 Dmitry Antipov <dmantipov@yandex.ru>
788
789 Attempt to make redisplay more selective when changing fonts.
790 * frame.h (struct frame): New bitfield fonts_changed.
791 * dispextern.h (fonts_changed_p, adjust_glyphs): Remove declaration.
792 (adjust_frame_glyphs): Add prototype.
793 * dispnew.c (fonts_changed_p): Remove.
794 (adjust_glyphs): Remove because we do not
795 adjust matrices on all frames at once any more.
796 (adjust_frame_glyphs): Block and unblock input here.
797 (adjust_glyph_matrix): Use fonts_changed.
798 (change_frame_size_1): Use adjust_frame_glyphs.
799 * font.c (font_open_entity): Use fonts_changed.
800 * frame.c (set_menu_bar_lines, Fmake_terminal_frame):
801 * w32fns.c (x_set_menu_bar_lines, x_set_tool_bar_lines, Fx_show_tip):
802 * window.c (Fdelete_other_windows_internal, Fwindow_resize_apply)
803 (Fsplit_window_internal, Fdelete_window_internal, grow_mini_window)
804 (shrink_mini_window, Fresize_mini_window_internal)
805 (window_scroll_pixel_based, Fset_window_configuration)
806 (apply_window_adjustment, Fset_window_vscroll):
807 * xfns.c (x_set_menu_bar_lines, x_set_tool_bar_lines, Fx_show_tip):
808 Use adjust_frame_glyphs.
809 * xdisp.c (redisplay_tool_bar, redisplay_window, try_window)
810 (try_window_reusing_current_matrix, try_window_id, display_line)
811 (IT_EXPAND_MATRIX_WIDTH): Use fonts_changed.
812 (redisplay_internal): Consider fonts_changed and adjust frame
813 matrices for each frame only if the frame is visible. If font
814 has been changed on some frame during full redisplay, retry
815 only visible frames where the font has been actually changed.
816
8172013-09-05 Dmitry Antipov <dmantipov@yandex.ru>
818
819 Cache current header and mode line height for each window.
820 * window.h (struct window): New fields mode_line_height
821 and header_line_height.
822 * window.c (make_window): Initialize them.
823 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
824 (CURRENT_HEADER_LINE_HEIGHT): Use them. Adjust comment.
825 (current_mode_line_height, current_header_line_height):
826 Remove declaration.
827 * xdisp.c (current_mode_line_height, current_header_line_height):
828 Remove.
829 (pos_visible_p, init_xdisp): Adjust user.
830 (redisplay_window): Invalidate mode_line_height and
831 header_line_height if current and desired matrices do not agree.
832
8332013-09-05 Dmitry Antipov <dmantipov@yandex.ru>
834
835 * fontset.c, window.c, xdisp.c (toplevel): Use TERM_HEADER.
836 * xfaces.c (toplevel) [HAVE_X_WINDOWS]: Do not include xterm.h twice.
837
12013-09-05 Dmitry Antipov <dmantipov@yandex.ru> 8382013-09-05 Dmitry Antipov <dmantipov@yandex.ru>
2 839
3 Make --without-x compatible with --enable-gcc-warnings. 840 Make --without-x compatible with --enable-gcc-warnings.