1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-13 15:00:42 -08:00
Commit graph

116079 commits

Author SHA1 Message Date
Jan Djärv
8e2d7ef25e * gnutls.c (gnutls_audit_log_function): Only declare and define if
HAVE_GNUTLS3.

* xfaces.c (NEAR_SAME_COLOR_THRESHOLD): Move inside HAVE_WINDOW_SYSTEM.

Fixes: debbugs:16001
2013-11-30 14:31:39 +01:00
Jan Djärv
f80e1bb62e * xdisp.c (redisplay_internal): Call request_sigio at end_of_redisplay
if interrupts are deferred.

Fixes: debbugs:15801
2013-11-30 13:37:16 +01:00
Eli Zaretskii
28c9be2d34 (Mostly) fix bug #16007 with generation of MULE-*.map files.
admin/charsets/mule-charsets.el: Rewritten to work in Emacs 23 and
 later.
2013-11-30 12:42:17 +02:00
Martin Rudalics
10634b405c Fix ChangeLog dates of last commit. 2013-11-30 10:28:17 +01:00
Martin Rudalics
880e615853 Support resizing frames and windows pixelwise.
* dispextern.h (enum window_part): Add ON_SCROLL_BAR,
ON_RIGHT_DIVIDER and ON_BOTTOM_DIVIDER.
(struct glyph_matrix): Replace window_left_col and
window_top_line by window_pixel_left and window_pixel_top.
(WINDOW_WANTS_MODELINE_P, WINDOW_WANTS_HEADER_LINE_P): Minor
rewrite.
(enum face_id): Add WINDOW_DIVIDER_FACE_ID.
(draw_window_divider, move_it_to, x_draw_right_divider)
(x_draw_bottom_divider, change_frame_size): Add or fix
declarations.
* dispnew.c (change_frame_size_1): Change prototype.
(adjust_glyph_matrix, required_matrix_width)
(adjust_frame_glyphs_for_window_redisplay): Use pixel
values instead of lines and columns.
(marginal_area_string): Use WINDOW_FRINGES_WIDTH instead of
WINDOW_TOTAL_FRINGE_WIDTH.
(handle_window_change_signal, do_pending_window_change)
(init_display): Adjusts calls of change_frame_size.
(change_frame_size, change_frame_size_1): Handle pixelwise
changes.
* frame.c (Qright_divider_width, Qbottom_divider_width): New
Lisp objects.
(set_menu_bar_lines_1, set_menu_bar_lines, make_frame)
(make_terminal_frame, Fmake_terminal_frame, Fframe_parameters)
(x_set_internal_border_width, x_set_vertical_scroll_bars)
(x_set_scroll_bar_width, x_figure_window_size): Handle pixel
values.
(set_frame_param): New function.
(Fframe_text_cols, Fframe_text_lines, Fframe_total_cols)
(Fframe_text_width, Fframe_text_height, Fscroll_bar_width)
(Ffringe_width, Fborder_width, Fright_divider_width)
(Fbottom_divider_width): New functions, defsubr them.
(Fset_frame_height, Fset_frame_width, Fset_frame_size): New
argument pixelwise.
(struct frame_parm_table): New members Qright_divider_width and
Qbottom_divider_width.
(x_set_frame_parameters): Handle parameters for pixelwise sizes.
(x_report_frame_params): Handle Qright_divider_width and
Qbottom_divider_width.
(x_set_right_divider_width, x_set_bottom_divider_width): New
functions.
(frame_resize_pixelwise): New option.
* frame.h (struct frame): Add tool_bar_height, menu_bar_height,
new_pixelwise, right_divider_width and bottom_divider_width;
remove total_lines; rename text_lines, text_cols, new_text_lines
and new_text_cols to text_height, text_width, new_height and
new_width respectively.
(FRAME_LINES, FRAME_COLS): Rename to FRAME_TEXT_HEIGHT and
FRAME_TEXT_WIDTH respectively.
(FRAME_MENU_BAR_HEIGHT, FRAME_TOOL_BAR_HEIGHT)
(FRAME_RIGHT_DIVIDER_WIDTH, FRAME_BOTTOM_DIVIDER_WIDTH)
(FRAME_TEXT_TO_PIXEL_WIDTH, FRAME_PIXEL_TO_TEXT_WIDTH): New
macros.
(FRAME_TOP_MARGIN_HEIGHT, FRAME_LEFT_SCROLL_BAR_AREA_WIDTH)
(FRAME_RIGHT_SCROLL_BAR_AREA_WIDTH, FRAME_SCROLL_BAR_AREA_WIDTH)
(SET_FRAME_COLS, SET_FRAME_WIDTH, SET_FRAME_HEIGHT)
(FRAME_TEXT_COLS_TO_PIXEL_WIDTH, FRAME_PIXEL_WIDTH_TO_TEXT_COLS)
(FRAME_TEXT_COLS_TO_PIXEL_WIDTH): Rewrite macros.
(FRAME_TOTAL_COLS_ARG): Remove macro.
* fringe.c (draw_fringe_bitmap_1): Handle right divder.
* gtkutil.c (xg_frame_resized, xg_frame_set_char_size)
(x_wm_set_size_hint): Handle frame pixel sizes.
* indent.c (compute_motion, Fcompute_motion): Call
window_body_width instead of window_body_cols.
* keyboard.c (Qright_divider, Qbottom_divider): New symbols.
(make_lispy_position): Handle right and bottom dividers.
(Fsuspend_emacs): Pixelize call of change_frame_size.
* keyboard.h: Extern Qright_divider, Qbottom_divider.
* lisp.h: Extern set_frame_param.
* nsfns.m (x_set_tool_bar_lines): Pixelize call of
x_set_window_size.
(Fx_create_frame): Add entry for vertical_drag_cursor.  Pixelize
call of change_frame_size.
* nsterm.h (struct ns_output): Add vertical_drag_cursor.
* nsterm.m (ns_update_window_end): Optionally draw right
divider.
(x_set_window_size): Add argument pixelwise.  Call
check_frame_size and change_frame_size with pixelwise zero.
(ns_draw_window_divider): New function.
(ns_redisplay_interface): Add ns_draw_window_divider.
(updateFrameSize:): Call change_frame_size with pixelwise zero.
(x_new_font): Call x_set_window_size with pixelwise zero.
* print.c (print_object): For a window print its sequence
number again.
* term.c (Fresume_tty): Pixelize call of change_frame_size.
* w32fns.c (x_set_mouse_color): Handle vertical drag cursor.
(x_set_menu_bar_lines, x_set_tool_bar_lines): Calculate pixelwise.
(w32_createwindow): Use scroll bar area width.
(w32_wnd_proc): Handle bottom divider width.  For
WM_WINDOWPOSCHANGING return zero if we resize pixelwise.
(Fx_create_frame): Default divider width parameters.  Caclulate
sizes pixelwise.  Add vertical drag cursor support.
(x_create_tip_frame): Default divider widths to zero.  Pixelize
call to change_frame_size.
(Fx_show_tip): Add handling of divider widths.  Pixelize window
position and sizes.
(Fw32_frame_rect): New function.
(frame_parm_handler w32_frame_parm_handlers): Add divider
widths.
(Vx_window_vertical_drag_shape): Add variable.
* w32inevt.c (resize_event, maybe_generate_resize_event):
Pixelize change_frame_size calls.
* w32menu.c (set_frame_menubar): Pixelize x_set_window_size
call.
* w32term.c (w32_draw_window_divider): New function.
(x_update_window_end): Handle right divider.
(w32_draw_fringe_bitmap, x_scroll_run)
(w32_set_vertical_scroll_bar): Pixelize scrollbar widths.
(w32_read_socket): Handle SIZE_MAXIMIZED separately.  Calculate
new frame sizes pixelwise.
(x_new_font): Pixelize call to x_set_window_size.
(x_check_fullscreen): Pixelize call to change_frame_size.
(x_set_window_size_1, x_set_window_size): New argument
pixelwise.  Calculate pixelwise.
(x_wm_set_size_hint): Use scroll bar area width.
(w32_redisplay_interface): Add w32_draw_window_divider.
* w32term.h (struct w32_output): Add vertical drag cursor.
* widget.c (set_frame_size, update_wm_hints)
(EmacsFrameResize, EmacsFrameSetValues): Pixelize calls of
change_frame_size.
(EmacsFrameSetCharSize): Pixelize call of x_set_window_size.
* window.c (sequence_number): Restore.
(Fwindow_pixel_width, Fwindow_pixel_height)
(Fwindow_mode_line_height, Fwindow_header_line_height)
(window_pixel_to_total, Frun_window_scroll_functions)
(Fset_window_new_pixel, window_resize_apply_total)
(Fwindow_resize_apply_total): New functions.
(window_body_height, window_body_width): Rename from
window_body_lines.  New argument PIXELWISE.  Calculate
pixelwise.
(Fwindow_body_height, Fwindow_body_width): New argument
PIXELWISE.
(coordinates_in_window, window_relative_x_coord): Use window's
pixel width instead of total width.
(replace_window, recombine_windows): Initialize pixel values.
(resize_root_window, resize_frame_windows, grow_mini_window)
(shrink_mini_window): New argument PIXELWISE.  Calculate
pixelwise.
(Fdelete_other_windows_internal, adjust_window_margins)
(window_resize_check, window_resize_apply)
(Fdelete_window_internal, Fresize_mini_window_internal)
(Fwindow_text_width, Fwindow_text_height): Calculate pixelwise.
(check_frame_size): Rename arguments.  New argument PIXELWISE.
Calculate pixelwise.
(set_window_buffer): Make samebuf bool.  Run configuration change
hook only if buffer changed.
(Fset_window_buffer): Rewrite doc-string.
(make_window): Initialize new_pixel slot.
(Fwindow_resize_apply): Check pixel size of root window.
(Fsplit_window_internal): Call 2nd argument pixel_size.
Calculate pixelwise.
(Fscroll_left, Fscroll_right): Call window_body_width instead of
window_body_cols.
(save_window_data): New slots frame_text_width,
frame_text_height, frame_menu_bar_height, frame_tool_bar_height.
(saved_window): New slots pixel_left, pixel_top, pixel_height,
pixel_width.
(Fcurrent_window_configuration, Fset_window_configuration)
(save_window_save, compare_window_configurations): Handle new
slots in save_window_data and saved_window.
(Fset_window_scroll_bars): Fix doc-string.
(window_resize_pixelwise): New variable.
(coordinates_in_window, Fcoordinates_in_window_p): Handle
dividers.
(make_parent_window): Adjust sequence_number.
(Fwindow_right_divider_width, Fwindow_bottom_divider_width): New
functions.
* window.h (struct window): New members new_pixel, pixel_left,
pixel_top, pixel_width, pixel_height.  Restore sequence_number.
(wset_new_pixel): New function.
(WINDOW_PIXEL_WIDTH, WINDOW_PIXEL_HEIGHT)
(MIN_SAFE_WINDOW_PIXEL_WIDTH, MIN_SAFE_WINDOW_PIXEL_HEIGHT)
(WINDOW_LEFT_PIXEL_EDGE, WINDOW_RIGHT_PIXEL_EDGE)
(WINDOW_TOP_PIXEL_EDGE, WINDOW_BOTTOM_PIXEL_EDGE)
(WINDOW_BOTTOMMOST_P, WINDOW_BOX_LEFT_PIXEL_EDGE)
(WINDOW_BOX_RIGHT_PIXEL_EDGE, WINDOW_MARGINS_COLS)
(WINDOW_MARGINS_WIDTH, WINDOW_RIGHT_DIVIDER_WIDTH)
(WINDOW_BOTTOM_DIVIDER_WIDTH): New macros.
(WINDOW_TOTAL_FRINGE_WIDTH): Rename to WINDOW_FRINGES_WIDTH.
(WINDOW_TOTAL_WIDTH, WINDOW_TOTAL_HEIGHT): Remove macros.
(WINDOW_RIGHT_EDGE_X, WINDOW_LEFT_EDGE_X, WINDOW_TOP_EDGE_Y)
(WINDOW_BOTTOM_EDGE_Y, WINDOW_FULL_WIDTH_P, WINDOW_LEFTMOST_P)
(WINDOW_RIGHTMOST_P, WINDOW_BOX_LEFT_EDGE_X)
(WINDOW_BOX_RIGHT_EDGE_X, WINDOW_FRINGE_COLS)
(WINDOW_BOX_HEIGHT_NO_MODE_LINE, WINDOW_BOX_TEXT_HEIGHT):
Rewrite.
(resize_frame_windows, grow_mini_window, shrink_mini_window)
(window_body_width, check_frame_size): Adapt external declarations.
* xdisp.c (last_max_ascent): New integer.
(window_text_bottom_y): Handle bottom divider.
(window_box_width, window_box_height): Calculate pixelwise.
(get_glyph_string_clip_rects): Handle right divider.
(remember_mouse_glyph): When windows are resized pixelwise
proceed with width and height set to 1.
(init_iterator): Use WINDOW_PIXEL_WIDTH instead of
WINDOW_TOTAL_WIDTH.
(move_it_to): Calculate and return maximum x position
encountered.
(Fwindow_text_pixel_size): New function.
(resize_mini_window, update_tool_bar): Calculate pixelwise.
(tool_bar_lines_needed): Rename to tool_bar_height.  Calculate
pixelwise.
(Ftool_bar_lines_needed): Rename to Ftool_bar_height.  Calculate
pixelwise.
(redisplay_tool_bar): Calculate pixelwise.
(redisplay_window): Calculate pixelwise.  Handle dividers.
(draw_glyphs, x_clear_end_of_line, note_mouse_highlight)
(x_draw_vertical_border): Handle dividers.
(define_frame_cursor1): Handle vertical drag cursor.
(x_draw_right_divider, x_draw_bottom_divider): New functions.
(expose_window): Calculate pixelwise.  Handle dividers.
(init_xdisp): Initialize pixel values.
* xfaces.c (Qwindow_divider): New face.
(realize_basic_faces): Realize it.
* xfns.c (x_set_mouse_color): Handle vertical_drag_cursor.
(x_set_menu_bar_lines, x_set_tool_bar_lines): Calculate pixelwise.
(x_set_scroll_bar_default_width): Default actual width to 16.
(Fx_create_frame): Set sizes pixelwise.
(x_create_tip_frame): Default divider widths to zero.  Pixelize
call of change_frame_size.
(Fx_show_tip): Handle divider widths.  Initial pixel position
and sizes.
(frame_parm_handler x_frame_parm_handlers): Add divider widths.
(Vx_window_vertical_drag_shape): New option.
* xmenu.c (free_frame_menubar): Pixelize call of
x_set_window_size.
* xterm.c (x_draw_window_divider): New function.
(x_update_window_end): Optionally draw right divider.
(x_draw_fringe_bitmap, x_scroll_run, x_scroll_bar_create)
(XTset_vertical_scroll_bar): Use scroll bar pixel width.
(handle_one_xevent, x_new_font): Calculate pixelwise.
(x_set_window_size_1, x_set_window_size): New argument
pixelwise.  Calculate pixelwise.
(x_wm_set_size_hint): Pixelize call of check_frame_size.
(struct x_redisplay_interface): Add x_draw_window_divider.
* xterm.h (struct x_output): Add vertical_drag_cursor.

* cus-start.el (frame-resize-pixelwise)
(window-resize-pixelwise): New entries.
* emacs-lisp/debug.el (debug): Use window-total-height instead
of window-total-size.
* frame.el (tool-bar-lines-needed): Defalias to tool-bar-height.
* help.el (describe-bindings-internal): Call help-buffer
(temp-buffer-max-width): New option.
(resize-temp-buffer-window, help-window-setup)
(with-help-window): Rewrite.
* mouse.el (mouse-drag-line): Rewrite.  Add key bindings for
dragging dividers.
* window.el (frame-char-size, window-min-pixel-height)
(window-safe-min-pixel-height, window-safe-min-pixel-width)
(window-min-pixel-width, window-safe-min-pixel-size)
(window-combination-p, window-safe-min-size)
(window-resizable-p, window--size-to-pixel)
(window--pixel-to-size, window--resize-apply-p): New functions.
(window-safe-min-height): Fix doc-string.
(window-size, window-min-size, window--min-size-1)
(window-sizable, window-sizable-p, window--min-delta-1)
(window-min-delta, window--max-delta-1, window-max-delta)
(window--resizable, window--resizable-p, window-resizable)
(window-full-height-p, window-full-width-p, window-at-side-p)
(window--in-direction-2, window-in-direction)
(window--resize-reset-1, window--resize-mini-window)
(window-resize, window-resize-no-error)
(window--resize-child-windows-normal)
(window--resize-child-windows, window--resize-siblings)
(window--resize-this-window, window--resize-root-window)
(window--resize-root-window-vertically)
(adjust-window-trailing-edge, enlarge-window, shrink-window)
(maximize-window, minimize-window, delete-window)
(quit-restore-window, window-split-min-size, split-window)
(balance-windows-2, balance-windows)
(balance-windows-area-adjust, balance-windows-area)
(window--state-get-1, window-state-get, window--state-put-1)
(window--state-put-2, window-state-put)
(display-buffer-record-window, window--display-buffer): Make
functions handle pixelwise sizing of windows.
(display-buffer--action-function-custom-type)
(display-buffer-fallback-action): Add
display-buffer-in-previous-window.
(display-buffer-use-some-window): Resize window to height it had
before.
(fit-window-to-buffer-horizontally): New option.
(fit-frame-to-buffer): Describe new values.
(fit-frame-to-buffer-bottom-margin): Replace with
fit-frame-to-buffer-margins.
(window--sanitize-margin): New function.
(fit-frame-to-buffer, fit-window-to-buffer): Rewrite completely
using window-text-pixel-size.
2013-11-30 10:25:31 +01:00
Glenn Morris
3e2fb4db3f Make the interactive-only' bytecomp warning like the obsolete' one
* emacs-lisp/bytecomp.el (byte-compile-form):
Make the `interactive-only' warning like the `obsolete' one.

* comint.el (comint-run):
* files.el (insert-file-literally, insert-file):
* replace.el (replace-string, replace-regexp):
* simple.el (beginning-of-buffer, end-of-buffer, delete-backward-char)
(goto-line, insert-buffer, next-line, previous-line):
Tweak `interactive-only' spec.
2013-11-30 00:42:28 -08:00
Stefan Monnier
44ad1cf760 * src/xdisp.c (redisplay_internal): Don't call set_window_update_flags.
Set invisible frames's `redisplay' when a full redisplay is requested.
(redisplay_window): Set must_be_updated_p instead.
(redisplay_mode_lines): Don't set must_be_updated_p any more.
(display_mode_lines): Set it here instead.
* src/dispextern.h (set_window_update_flags): Remove.
* src/dispnew.c (set_window_update_flags): Remove `b' argument; make static.

Fixes: debbugs:15999
2013-11-29 23:04:18 -05:00
Glenn Morris
f9b697ddaa Stop keeping (all but one) generated cedet grammar files in the repository
* configure.ac (SUBDIR_MAKEFILES, AC_CONFIG_FILES):
Add admin/grammars Makefile.

* Makefile.in (distclean, bootstrap-clean, maintainer-clean):
Also clean admin/grammars, if present.

* admin/grammars/README: Remove.

* admin/grammars/Makefile.in: New file.

* admin/grammars/c.by, admin/grammars/java-tags.wy, admin/grammars/js.wy:
* admin/grammars/python.wy: Update declarations to match generated outputs.

* lisp/Makefile.in (semantic): New.
(compile-main): Depend on semantic.

* lisp/cedet/semantic/bovine/grammar.el (bovine--make-parser-1):
New function, split from bovine-make-parsers.
(bovine-make-parsers): Use bovine--make-parser-1.
(bovine-batch-make-parser): New function.

* lisp/cedet/semantic/wisent/grammar.el (wisent--make-parser-1):
New function, split from wisent-make-parsers.
(wisent-make-parsers): Use wisent--make-parser-1.
(wisent-batch-make-parser): New function.

* lisp/cedet/semantic/db.el (semanticdb-save-all-db):
Avoid prompting in batch mode.

* lisp/cedet/semantic/grammar.el (semantic-grammar-footer-template):
Disable version-control and autoloads in the output.
(semantic-grammar-create-package):
Add option to return nil if output is up-to-date.

* lisp/cedet/semantic/bovine/c-by.el, lisp/cedet/semantic/bovine/make-by.el:
* lisp/cedet/semantic/bovine/scm-by.el, lisp/cedet/semantic/wisent/javat-wy.el:
* lisp/cedet/semantic/wisent/js-wy.el, lisp/cedet/semantic/wisent/python-wy.el:
* lisp/cedet/srecode/srt-wy.el: Remove generated files from repository.

* .bzrignore: Update for this.
2013-11-29 18:06:34 -08:00
Glenn Morris
a64133bd25 * titdic-cnv.el: Prevent "Local Variables" confusion. 2013-11-29 17:09:41 -08:00
Stefan Monnier
7784b779b8 * lisp/net/newst-reader.el (newsticker-html-renderer): Default to SHR if
available.  Suggested by Clément B. <barthele1u@etu.univ-lorraine.fr>.
2013-11-29 16:35:00 -05:00
Dani Moncayo
04445382cf * Makefile.in (epaths-force-w32): Fix 2013-11-20 typo. 2013-11-29 12:03:24 -08:00
Glenn Morris
ba25559eac Update main menu for previous buffers.texi change 2013-11-29 11:55:31 -08:00
Stefan Monnier
9f4ffeee43 * src/fns.c (internal_equal): Add a hash_table argument to handle cycles. 2013-11-29 14:47:58 -05:00
Stefan Monnier
1659fa3fbd * doc/emacs/buffers.texi (Icomplete): Rename from Iswitchb and
rewrite accordingly.
2013-11-29 13:54:14 -05:00
Stefan Monnier
4e36a6a6e2 * lisp/loadup.el: Preload "uniquify".
* lisp/uniquify.el (uniquify-buffer-name-style): Change default.
* src/lisp.mk (lisp): Add uniquify.elc.
2013-11-29 13:36:31 -05:00
Stefan Monnier
a82537763d * src/xdisp.c (REDISPLAY_SOME_P): New macro.
(redisplay_internal): Use it.
(prepare_menu_bars, redisplay_window): Use it as well.

Fixes: debbugs:15999
2013-11-29 13:20:24 -05:00
Stefan Monnier
e0ba1308df * lisp/time.el (display-time-update): Update all mode lines.
Fixes: debbugs:15999
2013-11-29 13:00:57 -05:00
Stefan Monnier
da04812763 * lisp/electric.el (electric-indent-mode): Enable by default.
* lisp/loadup.el: Preload "electric".
* src/lisp.mk (lisp): Add electric.elc.
2013-11-29 12:59:38 -05:00
Bozhidar Batsov
015b3b3e8e * lisp/emacs-lisp/helpers.el (string-empty-p): New function.
(string-blank-p): New function
2013-11-29 18:51:44 +02:00
Andreas Politz
7efb806d46 * lisp/imenu.el (imenu--index-alist): Add missing dot to the docstring.
Fixes: debbugs:14029
2013-11-29 16:31:20 +02:00
Andreas Schwab
88ec1a4af7 Add more .gitignore 2013-11-29 12:25:04 +01:00
Tom Seddon
579ca67bf4 Fix bug #6364 with slow scrolling on MS-Windows with bitmap fonts.
src/w32font.c (g_b_init_get_char_width_32_w): New static var.
 (globals_of_w32font): Zero it out.
 (GetCharWidth32W_Proc): New function pointer.
 (get_char_width_32_w): New function.
 (compute_metrics): If get_glyph_outline_w returns an error, try
 get_char_width_32_w before declaring a failure.  This avoids
 punishing raster (a.k.a. "bitmap") fonts by slowing down
 redisplay.
2013-11-29 13:01:45 +02:00
Eli Zaretskii
de20f087b8 Fix reftex-tests on MS-Windows.
test/automated/reftex-tests.el (reftex-parse-from-file-test): Run
 temp-dir through file-truename, to make sure the temporary file
 names are comparable as strings.
2013-11-29 12:33:31 +02:00
Eli Zaretskii
a48eb50b56 Fix decoder-tests test on MS-Windows.
test/automated/decoder-tests.el (ert-test-decoder-prefer-utf-8):
 Force Unix EOLs by using 'utf-8-unix', since the default of
 'utf-8' is system-dependent, while the test expects to see Unix
 EOLs.
2013-11-29 11:35:58 +02:00
Eli Zaretskii
b7f79a5c4f More thorough fix of bug #15913 with mouse-highlight on MS-Windows.
src/xdisp.c (clear_mouse_face): Don't invalidate the entire
 mouse-highlight info, just signal frame_up_to_date_hook that mouse
 highlight needs to be redisplayed.
2013-11-29 10:53:50 +02:00
Paul Eggert
49faeaaf89 Fix minor problems found by static checking.
* buffer.h (struct buffer_text, struct buffer):
* frame.h (struct frame):
* window.h (struct window):
Avoid 'bool foo : 1;', as it's not portable to pre-C99 compilers,
as described in ../lib/stdbool.in.h.  Use 'unsigned foo : 1;' instead.
* menu.c (syms_of_menu): Define x-popup-dialog, removing a
no-longer-valid use of HAVE_MENUS.
* xdisp.c (propagate_buffer_redisplay): Now static.
2013-11-28 21:25:25 -08:00
Andreas Politz
c8f0efc2e8 * doc/lispref/modes.texi (Imenu): Make it clear that sub-alist is the cdr.
* lisp/imenu.el (imenu--subalist-p): Don't error on non-conses and
allow non-lambda lists as functions.
(imenu--in-alist): Don't recurse into non-subalists.
(imenu): Don't pass function itself as an argument.

Fixes: debbugs:14029
2013-11-29 05:38:20 +02:00
Stefan Monnier
bd15d9d1ad * lisp/progmodes/python.el (python-mode-map): Remove binding for ":".
(python-indent-electric-colon): Remove command.
(python-indent-post-self-insert-function): Integrate the previous code
of python-indent-electric-colon.  Make it conditional on
electric-indent-mode.
(python-mode): Add ?: to electric-indent-chars.
Move python-indent-post-self-insert-function to the end of
post-self-insert-hook.
2013-11-28 21:03:39 -05:00
Stefan Monnier
7cdf484be3 * configure.ac (HAVE_MENUS): Remove.
* src/xmenu.c (Fmenu_or_popup_active_p):
* src/window.c (Fset_window_configuration):
* src/menu.c (Fx_popup_menu, Fx_popup_dialog):
* src/keyboard.c (record_menu_key, read_char_x_menu_prompt):
* src/fns.c (Fyes_or_no_p):
* src/editfns.c (Fmessage_box, Fmessage_or_box):
* src/alloc.c (make_save_ptr_ptr):
* src/xdisp.c, src/w32menu.c, src/term.c, src/xterm.h, src/xterm.c:
Remove HAVE_MENUS.
2013-11-28 20:22:40 -05:00
Stefan Monnier
ef86961118 * src/window.c (Fset_window_configuration): Move select_window later. 2013-11-28 20:14:01 -05:00
Glenn Morris
0845be757d Replace PATH_SEP with pre-existing SEPCHAR.
* configure.ac:
* test/automated/Makefile.in: Use SEPCHAR in place of PATH_SEP.
2013-11-28 15:50:09 -08:00
Glenn Morris
bb28366f40 Robustify previous leim/Makefile.in change 2013-11-28 15:34:15 -08:00
Jan Tatarik
42e510608f lisp/gnus/gnus-icalendar.el: bugfix and improvements 2013-11-28 23:33:52 +00:00
Stefan Monnier
655ab9a380 Refine redisplay optimizations to only redisplay *some* frames/windows
rather than all of them.
* src/xdisp.c (REDISPLAY_SOME): New constant.
(redisplay_other_windows, wset_redisplay, fset_redisplay)
(bset_redisplay, bset_update_mode_line): New functions.
(message_dolog): Use bset_redisplay.
(clear_garbaged_frames): Use fset_redisplay.
(echo_area_display): Use wset_redisplay.
(buffer_shared_and_changed): Remove.
(prepare_menu_bars): Call Vpre_redisplay_function before updating
frame titles.  Compute the actual set of windows redisplayed.
Don't update frame titles and menu bars for frames that don't need to
be redisplayed.
(propagate_buffer_redisplay): New function.
(AINC): New macro.
(redisplay_internal): Use it.  Be more selective in the set of windows
we redisplay.  Propagate windows_or_buffers_changed to
update_mode_lines a bit later to simplify the code.
(mark_window_display_accurate_1): Reset window and buffer's
`redisplay' flag.
(redisplay_window): Do nothing if neither the window nor the buffer nor
the frame needs redisplay.
* src/window.h (struct window): Add `redisplay' field.
(wset_redisplay, fset_redisplay, bset_redisplay, bset_update_mode_line)
(redisplay_other_windows, window_list): New declarations.
* src/window.c (select_window, Fset_window_start): Use wset_redisplay.
(window_list): Not static any more.
(grow_mini_window, shrink_mini_window): Use fset_redisplay.
* src/minibuf.c (read_minibuf_unwind): Don't redisplay everything.
* src/insdel.c (prepare_to_modify_buffer_1): Use bset_redisplay.
* src/frame.c (Fmake_frame_visible): Don't redisplay everything.
* src/frame.h (struct frame): Add `redisplay' field.
Move `external_menu_bar' bitfield next to other bit-fields.
(SET_FRAME_GARBAGED): Use fset_redisplay.
(SET_FRAME_VISIBLE): Don't garbage the frame;
Use redisplay_other_windows.
* src/buffer.h (struct buffer): Add `redisplay' field.
* src/buffer.c (Fforce_mode_line_update): Pay attention to the `all' flag.
(modify_overlay): Use bset_redisplay.
* src/alloc.c (gc_sweep): Don't unmark strings while sweeping symbols.

* lisp/doc-view.el (doc-view-goto-page): Update mode-line.
2013-11-28 17:43:09 -05:00
Glenn Morris
698c0f24f1 * leim/leim-ext.el: Change method for getting comments in the output
to one that does not fool lisp/compile-main's no-byte-compile test.
* leim/Makefile.in (${leimdir}/leim-list.el): Adapt for this.
2013-11-28 12:31:55 -08:00
Glenn Morris
c2a2e7b0b0 * unidata-gen.el (unidata-gen-files): Disable autoloads in generated files. 2013-11-28 12:21:55 -08:00
Eli Zaretskii
9c099ca7fd Fix bug #15933 with crashes in file-notify-tests on MS-Windows.
Support w32 file notifications in batch mode.
 src/w32proc.c (sys_select): Don't wait on interrupt_handle if it is
 invalid (which happens in batch mode).  If non-interactive, call
 handle_file_notifications to store file notification events in the
 input queue.
 src/w32notify.c (send_notifications): Handle FRAME_INITIAL frames as
 well.
 src/w32inevt.c (handle_file_notifications): Now external, not
 static.
 src/w32term.h (handle_file_notifications): Provide prototype.
 src/emacs.c (main) [HAVE_W32NOTIFY]: When non-interactive, call
 init_crit, since init_display, which does that otherwise, is not
 called.
2013-11-28 21:40:15 +02:00
Eli Zaretskii
16555151e0 Remove left-overs from using nt/mingw-cfg.site as a CONFIG_SITE file.
GNUmakefile (Makefile): Don't use $(CFG).
 (CFG): Don't compute.
2013-11-28 19:45:26 +02:00
Eli Zaretskii
f7ec0d94d0 Fix the test suite on Windows.
configure.ac (PATH_SEP): Set and AC_SUBST.

 test/automated/Makefile.in (PATH_SEP): Set this instead of
 PATH_SEPARATOR.
 (EMACSOPT): Use $(PATH_SEP).
2013-11-28 19:35:13 +02:00
Michael Albinus
23293cb07a * automated/file-notify-tests.el (auto-revert-stop-on-user-input):
Set to nil.
2013-11-28 17:14:13 +01:00
Stefan Monnier
1b10adb682 * lisp/vc/vc-dispatcher.el (vc-log-edit): Setup the Summary&Author headers. 2013-11-27 20:49:25 -05:00
Paul Eggert
de27f8abfd Merge from gnulib, incorporating:
2013-11-13 getgroups: work around _DARWIN_C_SOURCE problem
* lib/getgroups.c: Update from gnulib.
2013-11-27 15:58:03 -08:00
Glenn Morris
336b7334b7 Fix comment typo 2013-11-27 13:34:25 -05:00
Glenn Morris
2b58a9cc21 * leim/Makefile.in (bootstrap-clean): No need to delete .elc,
lisp/ rules will do that.
2013-11-27 13:29:28 -05:00
Glenn Morris
7e3bf78c89 Stop keeping generated Unicode lisp files in the repository
Ref: http://lists.gnu.org/archive/html/emacs-devel/2013-11/msg01023.html

* admin/unidata/Makefile.in (all, install, clean, bootstrap-clean)
(distclean, maintainer-clean): Declare as PHONY.
(compile, extraclean): New.
(${DSTDIR}/charprop.el): Depend on source files rather than
intermediate products.

* lisp/international/charprop.el, lisp/international/uni-bidi.el:
* lisp/international/uni-category.el, lisp/international/uni-combining.el:
* lisp/international/uni-comment.el, lisp/international/uni-decimal.el:
* lisp/international/uni-decomposition.el, lisp/international/uni-digit.el:
* lisp/international/uni-lowercase.el, lisp/international/uni-mirrored.el:
* lisp/international/uni-name.el, lisp/international/uni-numeric.el:
* lisp/international/uni-old-name.el, lisp/international/uni-titlecase.el:
* lisp/international/uni-uppercase.el:
Remove generated files from VCS repository.

* src/Makefile.in ($(lispsource)/international/charprop.el): New.
(emacs$(EXEEXT)): Depend on charprop.el.

* Makefile.in: Comment.

* .bzrignore: Add generated Unicode files.
2013-11-27 13:25:44 -05:00
Glenn Morris
ccd4fb3d2e Don't delete ja-dic.el even in a bootstrap, since it is slow to remake
* leim/Makefile.in (extraclean): New.
(bootstrap-clean): Move ja-dic deletion to extraclean.
2013-11-27 09:16:03 -08:00
Eli Zaretskii
de1e0d91fe Fix bug #15973 with erratic cursor motion after reverting a buffer.
src/fileio.c (Finsert_file_contents): Invalidate buffer caches when
 deleting portions of the buffer under non-nil REPLACE argument.
2013-11-27 18:08:53 +02:00
Eli Zaretskii
fb6a5d68e3 Fix watching directories using w32notify.c.
src/w32notify.c (Fw32notify_add_watch): If the argument FILE is a
 directory, watch it and not its parent.
 (add_watch): Allow empty string in FILE.

 lisp/filenotify.el (file-notify-add-watch): Don't special-case
 w32notify when computing the directory to watch.
2013-11-27 18:03:02 +02:00
Michael Albinus
1baa1e49d8 * automated/file-notify-tests.el
(file-notify-test-remote-temporary-file-directory):
Check $REMOTE_TEMPORARY_FILE_DIRECTORY.
(tramp-read-passwd): Check $REMOTE_ALLOW_PASSWORD.
(file-notify--deftest-remote): Cleanup connection initially.
(file-notify-test03-autorevert): Run also in batch mode.  Use a
larger timeout for remote files.  `sit-for' 1 second; 0.1 second
does not work on MS Windows.  Call `accept-process-output' for
remote files.  Apply `string-match' instead of `string-equal', the
messages are different on MS Windows.

* automated/tramp-tests.el (tramp-test-temporary-file-directory):
Use $REMOTE_TEMPORARY_FILE_DIRECTORY.
(tramp-read-passwd): Check $REMOTE_ALLOW_PASSWORD.
2013-11-27 15:23:32 +01:00
Glenn Morris
20372d0c89 Make bootstrap without generated uni-*.el files possible again
* lisp/loadup.el: Update command-line-args checking for unidata-gen.
Add vc to load-path to allow loading vc-bzr when writing uni-*.el.

* lisp/composite.el, lisp/international/characters.el:
Handle unicode tables being undefined.

* lisp/composite.el: Add (rough) FSF copyright years.
2013-11-27 00:21:19 -08:00