aboutsummaryrefslogtreecommitdiffstats
path: root/src/ChangeLog
diff options
context:
space:
mode:
authorEli Zaretskii2013-12-07 19:21:57 +0200
committerEli Zaretskii2013-12-07 19:21:57 +0200
commitce1d7b61f12dcc1b67535b68d9b0655b45fcadb6 (patch)
tree881d03f4f486933482cd2e3851184cd3b172ef1b /src/ChangeLog
parent6630df25238c5a1efa2bc6a0fa7889782e8c91b5 (diff)
parentfa6fa1a1773f255b5efbe52a743b017f4908a6cb (diff)
downloademacs-ce1d7b61f12dcc1b67535b68d9b0655b45fcadb6.tar.gz
emacs-ce1d7b61f12dcc1b67535b68d9b0655b45fcadb6.zip
Merge from trunk.
Diffstat (limited to 'src/ChangeLog')
-rw-r--r--src/ChangeLog762
1 files changed, 759 insertions, 3 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index a2dfa5bf613..e67fdada36f 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,10 +1,766 @@
12013-12-07 Jan Djärv <jan.h.d@swipnet.se>
2
3 Pixel resize changes for NS (Bug#16049).
4 * nsterm.m (x_set_window_size): Change parameters rows/cols to
5 height/width. row/cols are locals.
6 Pass pixelwise to check_frame_size. Don't set FRAME_PIXEL_WIDTH/HEIGHT.
7 (updateFrameSize:): Remove gsextra. Adjust for pixelwise resize.
8 (windowWillResize): Remove gsextra. Calculate extra as in
9 updateFrameSize.
10 (x_new_font): Don't change frame size if fullscreen. Change
11 size pixelwise.
12
13 * nsfns.m (Fx_create_frame): Call change_frame_size twice as per
14 comment in xfns.c. Change to pixelwise call.
15
162013-12-06 Eli Zaretskii <eliz@gnu.org>
17
18 * buffer.c (Fset_buffer_multibyte): Invalidate buffer caches.
19 (Bug#16070)
20
212013-12-06 Dmitry Antipov <dmantipov@yandex.ru>
22
23 * xterm.c (input_signal_count): Remove.
24 (x_dispatch_event): Define unconditionally.
25 (x_make_frame_visible): Process X events until the frame
26 is really visible (Bug#16027).
27 * xterm.h (x_dispatch_event): Declare unconditionally.
28
292013-12-05 Jan Djärv <jan.h.d@swipnet.se>
30
31 * nsfns.m (ns_frame_parm_handlers): Add right/bottom_divider_width.
32
33 * nsterm.m (x_set_window_size): Handle pixelwise.
34
352013-12-05 Martin Rudalics <rudalics@gmx.at>
36
37 * w32term.c (x_new_font):
38 * xterm.c (x_new_font): Calculate new frame size from new font
39 size (Bug#16028).
40
412013-12-04 Stefan Monnier <monnier@iro.umontreal.ca>
42
43 * lisp.h (FOR_EACH_TAIL): New macro.
44 * fns.c (Fdelq): Use it to avoid inf-loops; remove QUIT.
45
46 * window.c (select_window): Call second wset_redisplay before we change
47 selected_window (bug#16034).
48
492013-12-04 Paul Eggert <eggert@cs.ucla.edu>
50
51 * bidi.c (LRM_CHAR, RLM_CHAR): Remove; no longer used.
52
532013-12-04 Eli Zaretskii <eliz@gnu.org>
54
55 * w32xfns.c: Include window.h, to avoid a compiler warning.
56
572013-12-04 Stefan Monnier <monnier@iro.umontreal.ca>
58
59 * window.c (window_scroll): Mark window for redisplay (bug#16034).
60 (scroll_command, Fscroll_other_window): Don't cause redisplay now that
61 window_scroll takes care of it.
62 (Fset_window_point, Fdelete_other_windows_internal)
63 (set_window_buffer, Fwindow_resize_apply, resize_frame_windows)
64 (Fsplit_window_internal, Fdelete_window_internal)
65 (Fresize_mini_window_internal, Fset_window_configuration)
66 (apply_window_adjustment): Use fset_redisplay and wset_redisplay to
67 cause redisplay instead of forcing a complete redisplay.
68 * xdisp.c (wset_redisplay): Don't set windows_or_buffers_changed if
69 we're only affecting the selected_window.
70
712013-12-04 Eli Zaretskii <eliz@gnu.org>
72
73 * bidi.c (bidi_get_type, bidi_get_category): Handle the isolate
74 directional control characters. Update type and category
75 determination according to the UBA from Unicode v6.3.
76 (bidi_category_t): New category EXPLICIT_FORMATTING.
77
78 * dispextern.h (bidi_type_t): Update to include new bidirectional
79 properties introduced with Unicode v6.3. (Bug#16043)
80
812013-12-04 Martin Rudalics <rudalics@gmx.at>
82
83 * xterm.c (XTflash): Fix coordinate of bottom area to flash
84 (Bug#16044).
85
862013-12-04 Dmitry Antipov <dmantipov@yandex.ru>
87
88 * font.c (font_list_entities): Remove dummy assignment.
89 * font.h (struct font) [HAVE_WINDOW_SYSTEM]: Group members which are
90 used on graphic displays only. Remove unused 'font_encoder' member.
91 (struct font_bitmap): Remove unused 'extra' member.
92 * nsfont.m (nsfont_open):
93 * w32font.c (w32font_open_internal):
94 * ftfont.c (ftfont_get_bitmap): Adjust users.
95
962013-12-03 Paul Eggert <eggert@cs.ucla.edu>
97
98 Use bool for boolean.
99 * tparam.c (tparam1):
100 * undo.c (record_point, record_property_change):
101 Use bool for boolean, for local vars that are always true or false.
102
103 Minor integer overflow fixes (Bug#16033).
104 * window.c (Fset_window_new_pixel): Don't let new_pixel go negative.
105 This improves on the previous fix to this function.
106 (window_resize_check): When summing up pixel counts, don't rely on
107 undefined behavior if the sum overflows.
108
1092013-12-03 Martin Rudalics <rudalics@gmx.at>
110
111 * window.c (Fset_window_new_pixel): Don't choke at negative
112 argument value (Bug#16033).
113
114 * xfns.c (Fx_create_frame): Add another call to change_frame_size
115 to avoid crash in window_box_height.
116
117 * gtkutil.h: Fix external declaration of xg_frame_set_char_size.
118 * gtkutil.c (xg_frame_set_char_size, style_changed_cb): Fix size
119 calculation.
120 * xterm.c (x_set_window_size): Fix size calculation (Bug#16013).
121
1222013-12-03 Paul Eggert <eggert@cs.ucla.edu>
123
124 Minor integer overflow fixes.
125 * window.c (Fset_window_new_pixel, grow_mini_window):
126 * xdisp.c (Fwindow_text_pixel_size):
127 Avoid undefined behavior on signed integer overflow.
128 * xfns.c (x_set_mouse_color):
129 Check that drag shape fits in 'unsigned', since that's what X wants.
130
1312013-12-02 Eli Zaretskii <eliz@gnu.org>
132
133 Improve reporting of fatal exception on MS-Windows.
134 * w32fns.c (my_exception_handler): New function.
135 (globals_of_w32fns): Set it up as the unhandled exception
136 handler. Initialize exception code and address to zeros.
137 (emacs_abort): If the exception code and address are available,
138 print them at the beginning of the backtrace. Fix the format of
139 printing addresses (was producing 0x0x12345678 on XP).
140 (Bug#15994)
141
1422013-12-02 Helmut Eller <eller.helmut@gmail.com>
143
144 * eval.c (Fbacktrace__locals): New function.
145 (syms_of_eval): Defsubr it.
146
1472013-12-02 Dmitry Antipov <dmantipov@yandex.ru>
148
149 * font.h (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT):
150 Define here to unify between...
151 * nsterm.h, w32term.h, xterm.h: ...port-specific headers.
152 * w32term.h (CHECK_W32_FRAME): Remove unused macro.
153
1542013-12-02 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
155
156 * xterm.h (struct scroll_bar): Remove member `fringe_extended_p'.
157
158 * xterm.c (x_draw_fringe_bitmap, x_scroll_run): Remove code for
159 fringe background extension.
160 (x_scroll_bar_create): Remove variables `sb_left' and `sb_width',
161 because they are now always the same as `left' and `width',
162 respectively. Remove code for the case that `width' and
163 `sb_width' are different.
164
1652013-12-01 Paul Eggert <eggert@cs.ucla.edu>
166
167 Fix minor problems found by static checking.
168 * dispextern.h, xdisp.c (x_draw_bottom_divider): Now static.
169 * frame.c (set_frame_param) [!HAVE_NTGUI]: Remove.
170 * xdisp.c (Ftool_bar_height) [USE_GTK || HAVE_NS]: Now const function.
171
1722013-12-01 Lars Magne Ingebrigtsen <larsi@gnus.org>
173
174 * image.c (imagemagick_compute_animated_image): Don't crash if we
175 have an animation with different-sized images (bug#15313).
176
1772013-11-30 Martin Rudalics <rudalics@gmx.at>
178
179 Remove some unused items introduced during pixelwise change.
180 * window.c (window_resize_total_check): Remove unused function.
181 * xdisp.c (remember_mouse_glyph): Remove unused label.
182 (Ftool_bar_height): Move declaration inside #if.
183 * xterm.c (x_set_window_size): Don't use r and c.
184
1852013-11-30 Juanma Barranquero <lekktu@gmail.com>
186
187 * xdisp.c (Fwindow_text_pixel_size): Remove unused variables
188 `value' and `endp'.
189
190 * window.c (Fset_window_configuration): Comment out unused variables.
191
192 * w32term.c (w32_read_socket): Remove unused variable `buf'.
193
1942013-11-30 Jan Djärv <jan.h.d@swipnet.se>
195
196 * xdisp.c (redisplay_internal): unrequest_sigio => request_sigio.
197
198 * xfaces.c (NEAR_SAME_COLOR_THRESHOLD): Move inside HAVE_WINDOW_SYSTEM.
199
200 * gnutls.c (gnutls_audit_log_function): Only declare and define if
201 HAVE_GNUTLS3 (Bug#16001).
202
203 * xdisp.c (redisplay_internal): Call request_sigio at end_of_redisplay
204 if interrupts are deferred (Bug#15801).
205
2062013-11-30 Martin Rudalics <rudalics@gmx.at>
207
208 Support resizing frames and windows pixelwise.
209 * dispextern.h (enum window_part): Add ON_SCROLL_BAR,
210 ON_RIGHT_DIVIDER and ON_BOTTOM_DIVIDER.
211 (struct glyph_matrix): Replace window_left_col and
212 window_top_line by window_pixel_left and window_pixel_top.
213 (WINDOW_WANTS_MODELINE_P, WINDOW_WANTS_HEADER_LINE_P): Minor
214 rewrite.
215 (enum face_id): Add WINDOW_DIVIDER_FACE_ID.
216 (draw_window_divider, move_it_to, x_draw_right_divider)
217 (x_draw_bottom_divider, change_frame_size): Add or fix
218 declarations.
219 * dispnew.c (change_frame_size_1): Change prototype.
220 (adjust_glyph_matrix, required_matrix_width)
221 (adjust_frame_glyphs_for_window_redisplay): Use pixel
222 values instead of lines and columns.
223 (marginal_area_string): Use WINDOW_FRINGES_WIDTH instead of
224 WINDOW_TOTAL_FRINGE_WIDTH.
225 (handle_window_change_signal, do_pending_window_change)
226 (init_display): Adjusts calls of change_frame_size.
227 (change_frame_size, change_frame_size_1): Handle pixelwise
228 changes.
229 * frame.c (Qright_divider_width, Qbottom_divider_width): New
230 Lisp objects.
231 (set_menu_bar_lines_1, set_menu_bar_lines, make_frame)
232 (make_terminal_frame, Fmake_terminal_frame, Fframe_parameters)
233 (x_set_internal_border_width, x_set_vertical_scroll_bars)
234 (x_set_scroll_bar_width, x_figure_window_size): Handle pixel
235 values.
236 (set_frame_param): New function.
237 (Fframe_text_cols, Fframe_text_lines, Fframe_total_cols)
238 (Fframe_text_width, Fframe_text_height, Fscroll_bar_width)
239 (Ffringe_width, Fborder_width, Fright_divider_width)
240 (Fbottom_divider_width): New functions, defsubr them.
241 (Fset_frame_height, Fset_frame_width, Fset_frame_size): New
242 argument pixelwise.
243 (struct frame_parm_table): New members Qright_divider_width and
244 Qbottom_divider_width.
245 (x_set_frame_parameters): Handle parameters for pixelwise sizes.
246 (x_report_frame_params): Handle Qright_divider_width and
247 Qbottom_divider_width.
248 (x_set_right_divider_width, x_set_bottom_divider_width): New
249 functions.
250 (frame_resize_pixelwise): New option.
251 * frame.h (struct frame): Add tool_bar_height, menu_bar_height,
252 new_pixelwise, right_divider_width and bottom_divider_width;
253 remove total_lines; rename text_lines, text_cols, new_text_lines
254 and new_text_cols to text_height, text_width, new_height and
255 new_width respectively.
256 (FRAME_LINES, FRAME_COLS): Rename to FRAME_TEXT_HEIGHT and
257 FRAME_TEXT_WIDTH respectively.
258 (FRAME_MENU_BAR_HEIGHT, FRAME_TOOL_BAR_HEIGHT)
259 (FRAME_RIGHT_DIVIDER_WIDTH, FRAME_BOTTOM_DIVIDER_WIDTH)
260 (FRAME_TEXT_TO_PIXEL_WIDTH, FRAME_PIXEL_TO_TEXT_WIDTH): New
261 macros.
262 (FRAME_TOP_MARGIN_HEIGHT, FRAME_LEFT_SCROLL_BAR_AREA_WIDTH)
263 (FRAME_RIGHT_SCROLL_BAR_AREA_WIDTH, FRAME_SCROLL_BAR_AREA_WIDTH)
264 (SET_FRAME_COLS, SET_FRAME_WIDTH, SET_FRAME_HEIGHT)
265 (FRAME_TEXT_COLS_TO_PIXEL_WIDTH, FRAME_PIXEL_WIDTH_TO_TEXT_COLS)
266 (FRAME_TEXT_COLS_TO_PIXEL_WIDTH): Rewrite macros.
267 (FRAME_TOTAL_COLS_ARG): Remove macro.
268 * fringe.c (draw_fringe_bitmap_1): Handle right divder.
269 * gtkutil.c (xg_frame_resized, xg_frame_set_char_size)
270 (x_wm_set_size_hint): Handle frame pixel sizes.
271 * indent.c (compute_motion, Fcompute_motion): Call
272 window_body_width instead of window_body_cols.
273 * keyboard.c (Qright_divider, Qbottom_divider): New symbols.
274 (make_lispy_position): Handle right and bottom dividers.
275 (Fsuspend_emacs): Pixelize call of change_frame_size.
276 * keyboard.h: Extern Qright_divider, Qbottom_divider.
277 * lisp.h: Extern set_frame_param.
278 * nsfns.m (x_set_tool_bar_lines): Pixelize call of
279 x_set_window_size.
280 (Fx_create_frame): Add entry for vertical_drag_cursor. Pixelize
281 call of change_frame_size.
282 * nsterm.h (struct ns_output): Add vertical_drag_cursor.
283 * nsterm.m (ns_update_window_end): Optionally draw right
284 divider.
285 (x_set_window_size): Add argument pixelwise. Call
286 check_frame_size and change_frame_size with pixelwise zero.
287 (ns_draw_window_divider): New function.
288 (ns_redisplay_interface): Add ns_draw_window_divider.
289 (updateFrameSize:): Call change_frame_size with pixelwise zero.
290 (x_new_font): Call x_set_window_size with pixelwise zero.
291 * print.c (print_object): For a window print its sequence
292 number again.
293 * term.c (Fresume_tty): Pixelize call of change_frame_size.
294 * w32fns.c (x_set_mouse_color): Handle vertical drag cursor.
295 (x_set_menu_bar_lines, x_set_tool_bar_lines): Calculate pixelwise.
296 (w32_createwindow): Use scroll bar area width.
297 (w32_wnd_proc): Handle bottom divider width. For
298 WM_WINDOWPOSCHANGING return zero if we resize pixelwise.
299 (Fx_create_frame): Default divider width parameters. Caclulate
300 sizes pixelwise. Add vertical drag cursor support.
301 (x_create_tip_frame): Default divider widths to zero. Pixelize
302 call to change_frame_size.
303 (Fx_show_tip): Add handling of divider widths. Pixelize window
304 position and sizes.
305 (Fw32_frame_rect): New function.
306 (frame_parm_handler w32_frame_parm_handlers): Add divider
307 widths.
308 (Vx_window_vertical_drag_shape): Add variable.
309 * w32inevt.c (resize_event, maybe_generate_resize_event):
310 Pixelize change_frame_size calls.
311 * w32menu.c (set_frame_menubar): Pixelize x_set_window_size
312 call.
313 * w32term.c (w32_draw_window_divider): New function.
314 (x_update_window_end): Handle right divider.
315 (w32_draw_fringe_bitmap, x_scroll_run)
316 (w32_set_vertical_scroll_bar): Pixelize scrollbar widths.
317 (w32_read_socket): Handle SIZE_MAXIMIZED separately. Calculate
318 new frame sizes pixelwise.
319 (x_new_font): Pixelize call to x_set_window_size.
320 (x_check_fullscreen): Pixelize call to change_frame_size.
321 (x_set_window_size_1, x_set_window_size): New argument
322 pixelwise. Calculate pixelwise.
323 (x_wm_set_size_hint): Use scroll bar area width.
324 (w32_redisplay_interface): Add w32_draw_window_divider.
325 * w32term.h (struct w32_output): Add vertical drag cursor.
326 * widget.c (set_frame_size, update_wm_hints)
327 (EmacsFrameResize, EmacsFrameSetValues): Pixelize calls of
328 change_frame_size.
329 (EmacsFrameSetCharSize): Pixelize call of x_set_window_size.
330 * window.c (sequence_number): Restore.
331 (Fwindow_pixel_width, Fwindow_pixel_height)
332 (Fwindow_mode_line_height, Fwindow_header_line_height)
333 (window_pixel_to_total, Frun_window_scroll_functions)
334 (Fset_window_new_pixel, window_resize_apply_total)
335 (Fwindow_resize_apply_total): New functions.
336 (window_body_height, window_body_width): Rename from
337 window_body_lines. New argument PIXELWISE. Calculate
338 pixelwise.
339 (Fwindow_body_height, Fwindow_body_width): New argument
340 PIXELWISE.
341 (coordinates_in_window, window_relative_x_coord): Use window's
342 pixel width instead of total width.
343 (replace_window, recombine_windows): Initialize pixel values.
344 (resize_root_window, resize_frame_windows, grow_mini_window)
345 (shrink_mini_window): New argument PIXELWISE. Calculate
346 pixelwise.
347 (Fdelete_other_windows_internal, adjust_window_margins)
348 (window_resize_check, window_resize_apply)
349 (Fdelete_window_internal, Fresize_mini_window_internal)
350 (Fwindow_text_width, Fwindow_text_height): Calculate pixelwise.
351 (check_frame_size): Rename arguments. New argument PIXELWISE.
352 Calculate pixelwise.
353 (set_window_buffer): Make samebuf bool. Run configuration change
354 hook only if buffer changed.
355 (Fset_window_buffer): Rewrite doc-string.
356 (make_window): Initialize new_pixel slot.
357 (Fwindow_resize_apply): Check pixel size of root window.
358 (Fsplit_window_internal): Call 2nd argument pixel_size.
359 Calculate pixelwise.
360 (Fscroll_left, Fscroll_right): Call window_body_width instead of
361 window_body_cols.
362 (save_window_data): New slots frame_text_width,
363 frame_text_height, frame_menu_bar_height, frame_tool_bar_height.
364 (saved_window): New slots pixel_left, pixel_top, pixel_height,
365 pixel_width.
366 (Fcurrent_window_configuration, Fset_window_configuration)
367 (save_window_save, compare_window_configurations): Handle new
368 slots in save_window_data and saved_window.
369 (Fset_window_scroll_bars): Fix doc-string.
370 (window_resize_pixelwise): New variable.
371 (coordinates_in_window, Fcoordinates_in_window_p): Handle
372 dividers.
373 (make_parent_window): Adjust sequence_number.
374 (Fwindow_right_divider_width, Fwindow_bottom_divider_width): New
375 functions.
376 * window.h (struct window): New members new_pixel, pixel_left,
377 pixel_top, pixel_width, pixel_height. Restore sequence_number.
378 (wset_new_pixel): New function.
379 (WINDOW_PIXEL_WIDTH, WINDOW_PIXEL_HEIGHT)
380 (MIN_SAFE_WINDOW_PIXEL_WIDTH, MIN_SAFE_WINDOW_PIXEL_HEIGHT)
381 (WINDOW_LEFT_PIXEL_EDGE, WINDOW_RIGHT_PIXEL_EDGE)
382 (WINDOW_TOP_PIXEL_EDGE, WINDOW_BOTTOM_PIXEL_EDGE)
383 (WINDOW_BOTTOMMOST_P, WINDOW_BOX_LEFT_PIXEL_EDGE)
384 (WINDOW_BOX_RIGHT_PIXEL_EDGE, WINDOW_MARGINS_COLS)
385 (WINDOW_MARGINS_WIDTH, WINDOW_RIGHT_DIVIDER_WIDTH)
386 (WINDOW_BOTTOM_DIVIDER_WIDTH): New macros.
387 (WINDOW_TOTAL_FRINGE_WIDTH): Rename to WINDOW_FRINGES_WIDTH.
388 (WINDOW_TOTAL_WIDTH, WINDOW_TOTAL_HEIGHT): Remove macros.
389 (WINDOW_RIGHT_EDGE_X, WINDOW_LEFT_EDGE_X, WINDOW_TOP_EDGE_Y)
390 (WINDOW_BOTTOM_EDGE_Y, WINDOW_FULL_WIDTH_P, WINDOW_LEFTMOST_P)
391 (WINDOW_RIGHTMOST_P, WINDOW_BOX_LEFT_EDGE_X)
392 (WINDOW_BOX_RIGHT_EDGE_X, WINDOW_FRINGE_COLS)
393 (WINDOW_BOX_HEIGHT_NO_MODE_LINE, WINDOW_BOX_TEXT_HEIGHT):
394 Rewrite.
395 (resize_frame_windows, grow_mini_window, shrink_mini_window)
396 (window_body_width, check_frame_size): Adapt external declarations.
397 * xdisp.c (last_max_ascent): New integer.
398 (window_text_bottom_y): Handle bottom divider.
399 (window_box_width, window_box_height): Calculate pixelwise.
400 (get_glyph_string_clip_rects): Handle right divider.
401 (remember_mouse_glyph): When windows are resized pixelwise
402 proceed with width and height set to 1.
403 (init_iterator): Use WINDOW_PIXEL_WIDTH instead of
404 WINDOW_TOTAL_WIDTH.
405 (move_it_to): Calculate and return maximum x position
406 encountered.
407 (Fwindow_text_pixel_size): New function.
408 (resize_mini_window, update_tool_bar): Calculate pixelwise.
409 (tool_bar_lines_needed): Rename to tool_bar_height. Calculate
410 pixelwise.
411 (Ftool_bar_lines_needed): Rename to Ftool_bar_height. Calculate
412 pixelwise.
413 (redisplay_tool_bar): Calculate pixelwise.
414 (redisplay_window): Calculate pixelwise. Handle dividers.
415 (draw_glyphs, x_clear_end_of_line, note_mouse_highlight)
416 (x_draw_vertical_border): Handle dividers.
417 (define_frame_cursor1): Handle vertical drag cursor.
418 (x_draw_right_divider, x_draw_bottom_divider): New functions.
419 (expose_window): Calculate pixelwise. Handle dividers.
420 (init_xdisp): Initialize pixel values.
421 * xfaces.c (Qwindow_divider): New face.
422 (realize_basic_faces): Realize it.
423 * xfns.c (x_set_mouse_color): Handle vertical_drag_cursor.
424 (x_set_menu_bar_lines, x_set_tool_bar_lines): Calculate pixelwise.
425 (x_set_scroll_bar_default_width): Default actual width to 16.
426 (Fx_create_frame): Set sizes pixelwise.
427 (x_create_tip_frame): Default divider widths to zero. Pixelize
428 call of change_frame_size.
429 (Fx_show_tip): Handle divider widths. Initial pixel position
430 and sizes.
431 (frame_parm_handler x_frame_parm_handlers): Add divider widths.
432 (Vx_window_vertical_drag_shape): New option.
433 * xmenu.c (free_frame_menubar): Pixelize call of
434 x_set_window_size.
435 * xterm.c (x_draw_window_divider): New function.
436 (x_update_window_end): Optionally draw right divider.
437 (x_draw_fringe_bitmap, x_scroll_run, x_scroll_bar_create)
438 (XTset_vertical_scroll_bar): Use scroll bar pixel width.
439 (handle_one_xevent, x_new_font): Calculate pixelwise.
440 (x_set_window_size_1, x_set_window_size): New argument
441 pixelwise. Calculate pixelwise.
442 (x_wm_set_size_hint): Pixelize call of check_frame_size.
443 (struct x_redisplay_interface): Add x_draw_window_divider.
444 * xterm.h (struct x_output): Add vertical_drag_cursor.
445
4462013-11-30 Stefan Monnier <monnier@iro.umontreal.ca>
447
448 * xdisp.c (redisplay_internal): Don't call set_window_update_flags.
449 Set invisible frames's `redisplay' when a full redisplay is requested.
450 (redisplay_window): Set must_be_updated_p instead (bug#15999).
451 (redisplay_mode_lines): Don't set must_be_updated_p any more.
452 (display_mode_lines): Set it here instead.
453
454 * dispnew.c (set_window_update_flags): Remove `b' argument; make static.
455
456 * dispextern.h (set_window_update_flags): Remove.
457
4582013-11-29 Stefan Monnier <monnier@iro.umontreal.ca>
459
460 * fns.c (internal_equal): Add a hash_table argument to handle cycles.
461
462 * xdisp.c (REDISPLAY_SOME_P): New macro.
463 (redisplay_internal): Use it (bug#15999).
464 (prepare_menu_bars, redisplay_window): Use it as well.
465
466 * lisp.mk (lisp): Add electric.elc and uniquify.elc.
467
4682013-11-29 Tom Seddon <emacs@tomseddon.plus.com> (tiny change)
469
470 * w32font.c (g_b_init_get_char_width_32_w): New static var.
471 (globals_of_w32font): Zero it out.
472 (GetCharWidth32W_Proc): New function pointer.
473 (get_char_width_32_w): New function.
474 (compute_metrics): If get_glyph_outline_w returns an error, try
475 get_char_width_32_w before declaring a failure. This avoids
476 punishing raster (a.k.a. "bitmap") fonts by slowing down
477 redisplay. (Bug#6364).
478
4792013-11-29 Eli Zaretskii <eliz@gnu.org>
480
481 * xdisp.c (clear_mouse_face): Don't invalidate the entire
482 mouse-highlight info, just signal frame_up_to_date_hook that mouse
483 highlight needs to be redisplayed. (Bug#15913)
484
4852013-11-29 Paul Eggert <eggert@cs.ucla.edu>
486
487 Fix minor problems found by static checking.
488 * buffer.h (struct buffer_text, struct buffer):
489 * frame.h (struct frame):
490 * window.h (struct window):
491 Avoid 'bool foo : 1;', as it's not portable to pre-C99 compilers,
492 as described in ../lib/stdbool.in.h. Use 'unsigned foo : 1;' instead.
493 * menu.c (syms_of_menu): Define x-popup-dialog, removing a
494 no-longer-valid use of HAVE_MENUS.
495 * xdisp.c (propagate_buffer_redisplay): Now static.
496
4972013-11-29 Stefan Monnier <monnier@iro.umontreal.ca>
498
499 * xmenu.c (Fmenu_or_popup_active_p):
500 * window.c (Fset_window_configuration):
501 * menu.c (Fx_popup_menu, Fx_popup_dialog):
502 * keyboard.c (record_menu_key, read_char_x_menu_prompt):
503 * fns.c (Fyes_or_no_p):
504 * editfns.c (Fmessage_box, Fmessage_or_box):
505 * alloc.c (make_save_ptr_ptr):
506 * xdisp.c, w32menu.c, term.c, xterm.h, xterm.c: Remove HAVE_MENUS.
507
508 * window.c (Fset_window_configuration): Move select_window later.
509
5102013-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
511
512 Refine redisplay optimizations to only redisplay *some* frames/windows
513 rather than all of them.
514 * xdisp.c (REDISPLAY_SOME): New constant.
515 (redisplay_other_windows, wset_redisplay, fset_redisplay)
516 (bset_redisplay, bset_update_mode_line): New functions.
517 (message_dolog): Use bset_redisplay.
518 (clear_garbaged_frames): Use fset_redisplay.
519 (echo_area_display): Use wset_redisplay.
520 (buffer_shared_and_changed): Remove.
521 (prepare_menu_bars): Call Vpre_redisplay_function before updating
522 frame titles. Compute the actual set of windows redisplayed.
523 Don't update frame titles and menu bars for frames that don't need to
524 be redisplayed.
525 (propagate_buffer_redisplay): New function.
526 (AINC): New macro.
527 (redisplay_internal): Use it. Be more selective in the set of windows
528 we redisplay. Propagate windows_or_buffers_changed to
529 update_mode_lines a bit later to simplify the code.
530 (mark_window_display_accurate_1): Reset window and buffer's
531 `redisplay' flag.
532 (redisplay_window): Do nothing if neither the window nor the buffer nor
533 the frame needs redisplay.
534 * window.h (struct window): Add `redisplay' field.
535 (wset_redisplay, fset_redisplay, bset_redisplay, bset_update_mode_line)
536 (redisplay_other_windows, window_list): New declarations.
537 * window.c (select_window, Fset_window_start): Use wset_redisplay.
538 (window_list): Not static any more.
539 (grow_mini_window, shrink_mini_window): Use fset_redisplay.
540 * minibuf.c (read_minibuf_unwind): Don't redisplay everything.
541 * insdel.c (prepare_to_modify_buffer_1): Use bset_redisplay.
542 * frame.c (Fmake_frame_visible): Don't redisplay everything.
543 * frame.h (struct frame): Add `redisplay' field.
544 Move `external_menu_bar' bitfield next to other bit-fields.
545 (SET_FRAME_GARBAGED): Use fset_redisplay.
546 (SET_FRAME_VISIBLE): Don't garbage the frame;
547 Use redisplay_other_windows.
548 * buffer.h (struct buffer): Add `redisplay' field.
549 * buffer.c (Fforce_mode_line_update): Pay attention to the `all' flag.
550 (modify_overlay): Use bset_redisplay.
551 * alloc.c (gc_sweep): Don't unmark strings while sweeping symbols.
552
5532013-11-28 Eli Zaretskii <eliz@gnu.org>
554
555 Support w32 file notifications in batch mode.
556 * w32proc.c (sys_select): Don't wait on interrupt_handle if it is
557 invalid (which happens in batch mode). If non-interactive, call
558 handle_file_notifications to store file notification events in the
559 input queue. (Bug#15933)
560
561 * w32notify.c (send_notifications): Handle FRAME_INITIAL frames as well.
562
563 * w32inevt.c (handle_file_notifications): Now external, not static.
564
565 * w32term.h (handle_file_notifications): Provide prototype.
566
567 * emacs.c (main) [HAVE_W32NOTIFY]: When non-interactive, call
568 init_crit, since init_display, which does that otherwise, is not
569 called.
570
5712013-11-27 Glenn Morris <rgm@gnu.org>
572
573 * Makefile.in ($(lispsource)/international/charprop.el): New.
574 (emacs$(EXEEXT)): Depend on charprop.el.
575
5762013-11-27 Eli Zaretskii <eliz@gnu.org>
577
578 * fileio.c (Finsert_file_contents): Invalidate buffer caches when
579 deleting portions of the buffer under non-nil REPLACE argument.
580 (Bug#15973)
581
582 * w32notify.c (Fw32notify_add_watch): If the argument FILE is a
583 directory, watch it and not its parent.
584 (add_watch): Allow empty string in FILE.
585
5862013-11-27 Martin Rudalics <rudalics@gmx.at>
587
588 * window.c (Fset_window_start, window_resize_apply)
589 (window_scroll): Reset window_end_valid (Bug#15957).
590
5912013-11-27 Glenn Morris <rgm@gnu.org>
592
593 * Makefile.in (leimdir): Now in lisp source directory.
594 ($(leimdir)/leim-list.el): Just use ../leim .
595 * epaths.in (PATH_DUMPLOADSEARCH):
596 * lread.c (load_path_default):
597 * nsterm.m (ns_load_path): No more leim directory.
598
5992013-11-26 Andreas Schwab <schwab@suse.de>
600
601 * .gdbinit (xgettype): Add cast.
602
6032013-11-26 Glenn Morris <rgm@gnu.org>
604
605 Preload leim-list.el.
606 * epaths.in (PATH_DUMPLOADSEARCH): Add leim/.
607 * callproc.c (init_callproc): Don't assume PATH_DUMPLOADSEARCH
608 is a single directory.
609
6102013-11-25 Paul Eggert <eggert@cs.ucla.edu>
611
612 bool-vector-subsetp is now the normal direction (Bug#15912).
613 * data.c (Fbool_vector_subsetp): Test whether the first argument
614 is a subset of the second one, not the reverse. Add doc string.
615
616 Fix minor problems found by static checking.
617 * lread.c (load_path_default): Now static.
618 * textprop.c (text_property_stickiness): Be consistent about the
619 test used when deciding whether to consider the previous character.
620 This simplifies the code a bit.
621
6222013-11-25 Stefan Monnier <monnier@iro.umontreal.ca>
623
624 * textprop.c (text_property_stickiness): Fix front-stickiness at BOB.
625
626 * frame.c (Fhandle_focus_in, Fhandle_focus_out): Move to frame.el.
627 (syms_of_frame): Don't defsubr them.
628
6292013-11-25 Glenn Morris <rgm@gnu.org>
630
631 * lread.c (load_path_default): Change the sense of the argument.
632 (init_lread): When EMACSLOADPATH is set, do not ignore changes
633 from dump_path. When it is not, avoid checking dump_path twice.
634
635 * lread.c (init_lread): Fix 2013-11-23 goof that was checking
636 uninstalled dump_path against installed Vload_path. (Bug#15964)
637
6382013-11-24 Stefan Monnier <monnier@iro.umontreal.ca>
639
640 Export get_pos_property to Elisp.
641 * editfns.c (Fget_pos_property): Rename from get_pos_property.
642 (syms_of_editfns): Export it to Elisp.
643
644 * data.c (Fmake_variable_buffer_local): Mention `permanent-local'.
645
6462013-11-23 Romain Francoise <romain@orebokech.com>
647
648 * fileio.c (init_fileio): Move `write_region_inhibit_fsync'
649 initialization here ...
650 (syms_of_fileio): ... from here.
651
6522013-11-23 Stefan Monnier <monnier@iro.umontreal.ca>
653
654 * lread.c (init_lread): Fix int/Lisp_Object mixup.
655 Please use --enable-check-lisp-object-type.
656
6572013-11-23 Glenn Morris <rgm@gnu.org>
658
659 * process.c (get_process): Explicit error for dead buffers.
660
6612013-11-23 Andreas Schwab <schwab@linux-m68k.org>
662
663 * process.c (get_process): Check that OBJ is a live buffer. (Bug#15923)
664
6652013-11-23 Glenn Morris <rgm@gnu.org>
666
667 Empty elements in EMACSLOADPATH stand for the default. (Bug#12100)
668 * lread.c (load_path_check): Take path to check as argument.
669 (load_path_default): New, split from init_lread.
670 (init_lread): Move calc of default load-path to load_path_default.
671 Empty elements in EMACSLOADPATH now stand for the default.
672 (load-path): Doc fix.
673 * emacs.c (decode_env_path): Add option to treat empty elements
674 as nil rather than ".".
675 * callproc.c (init_callproc_1, init_callproc):
676 * image.c (Vx_bitmap_file_path):
677 * lisp.h (decode_env_path):
678 * lread.c (Vsource_directory):
679 Update for new argument spec of decode_env_path.
680
6812013-11-22 Eli Zaretskii <eliz@gnu.org>
682
683 * bidi.c (bidi_find_paragraph_start): Limit the returned positions
684 to BEGV_BYTE..ZV_BYTE range. (Bug#15951)
685
6862013-11-21 Paul Eggert <eggert@cs.ucla.edu>
687
688 Fix some dependency problems that cause unnecessary recompiles.
689 Problem reported by RMS in
690 <http://lists.gnu.org/archive/html/emacs-devel/2013-11/msg00421.html>.
691 * Makefile.in (OLDXMENU_TARGET, OLDXMENU, OLDXMENU_DEPS)
692 (really-lwlib, really-oldXMenu, stamp-oldxmenu)
693 (../src/$(OLDXMENU), $(OLDXMENU)): Remove.
694 (temacs$(EXEEXT)): Depend on $(LIBXMENU), not stamp-oldxmenu.
695 ($(lwlibdir)/liblw.a, $(oldXMenudir)/libXMenu11.a, FORCE): New targets.
696 (boostrap-clean): No need to remove stamp-oldxmenu.
697
698 Fix recently introduced bool vector overrun.
699 This was due to an optimization that went awry.
700 Reported by Glenn Morris in
701 <http://lists.gnu.org/archive/html/emacs-devel/2013-11/msg00622.html>.
702 * alloc.c (make_uninit_bool_vector): Don't allocate a dummy word
703 for empty vectors, undoing the 2013-11-18 change.
704 * data.c (bool_vector_binop_driver): Rely on this.
705 Fix bug that occasionally overran the destination.
706 * lisp.h (struct Lisp_Bool_vector): Document this.
707
7082013-11-20 Jan Djärv <jan.h.d@swipnet.se>
709
710 * nsterm.m (init, run, stop:): Enable again. stop calls super stop
711 to handle dialogs.
712
713 * nsterm.m (init, run, stop:): Comment out for now, does not work
714 with dialogs.
715
7162013-11-19 Paul Eggert <eggert@cs.ucla.edu>
717
718 * charset.c (syms_of_charset): Don't read past end of string.
719
7202013-11-19 Glenn Morris <rgm@gnu.org>
721
722 * frame.c (Fhandle_focus_in, Fhandle_focus_out): Doc fixes.
723
7242013-11-19 Brian Jenkins <brian@brianjenkins.org> (tiny change)
725
726 Add hooks to run on gaining/losing focus. (Bug#15029)
727 * frame.c (Qfocus_in_hook, Qfocus_out_hook): New static lisp objects.
728 (Fhandle_focus_in, Fhandle_focus_out): Run focus hooks.
729 (syms_of_frame): Add focus-in-hook, focus-out-hook.
730
7312013-11-18 Paul Eggert <eggert@cs.ucla.edu>
732
733 * data.c (bool_vector_binop_driver): Rename locals for sanity's sake.
734 The old names predated the API change that put destination at end.
735
736 Improve API of recently-added bool vector functions (Bug#15912).
737 The old API had (bool-vector-count-matches A B)
738 and (bool-vector-count-matches-at A B I), which gave the
739 misleading impression that the two functions were variants, one
740 with a location I. The new API has (bool-vector-count-population A)
741 and (bool-vector-count-consecutive A B I) to make the distinction
742 clearer. The first function no longer has a B argument, since the
743 caller can easily determine the number of nils if the length and
744 number of ts is known.
745 * data.c (Fbool_vector_count_population): Rename from
746 bool_vector_count_matches, and accept just 1 argument.
747 (Fbool_vector_count_consecutive): Rename from
748 Fbool_vector_count_matches_at.
749
750 Always allocate at least one bits_word per bool vector.
751 See Daniel Colascione in:
752 http://lists.gnu.org/archive/html/emacs-devel/2013-11/msg00518.html
753 * alloc.c (make_uninit_bool_vector): Always allocate at least one word.
754 * data.c (bool_vector_binop_driver): Rely on this. Tune.
755 * lisp.h (struct Lisp_Bool_vector): Document this.
756
12013-11-18 Eli Zaretskii <eliz@gnu.org> 7572013-11-18 Eli Zaretskii <eliz@gnu.org>
2 758
3 * insdel.c (invalidate_buffer_caches): New function, consolidated 759 * insdel.c (invalidate_buffer_caches): New function, consolidated
4 from part of prepare_to_modify_buffer. 760 from part of prepare_to_modify_buffer.
5 (insert_from_gap, prepare_to_modify_buffer): 761 (insert_from_gap, prepare_to_modify_buffer):
6 * coding.c (code_convert_region, code_convert_string): Call 762 * coding.c (code_convert_region, code_convert_string):
7 invalidate_buffer_caches. (Bug#15841) 763 Call invalidate_buffer_caches. (Bug#15841)
8 764
9 * lisp.h (invalidate_buffer_caches): Add prototype. 765 * lisp.h (invalidate_buffer_caches): Add prototype.
10 766
@@ -141,7 +897,7 @@
141 "dumb loop", adjust C pointers into buffer text to follow suit. 897 "dumb loop", adjust C pointers into buffer text to follow suit.
142 (Bug#15841) 898 (Bug#15841)
143 899
1442013-11-09 Łukasz Stelmach <stlman@poczta.fm> (tiny change) 9002013-11-09 Łukasz Stelmach <stlman@poczta.fm> (tiny change)
145 901
146 * gtkutil.c (xg_check_special_colors): Use rgb: instead of rgbi: 902 * gtkutil.c (xg_check_special_colors): Use rgb: instead of rgbi:
147 for conversion (Bug#15837). 903 for conversion (Bug#15837).