bpt/emacs.git
10 years ago(Mostly) fix bug #16007 with generation of MULE-*.map files.
Eli Zaretskii [Sat, 30 Nov 2013 10:42:17 +0000 (12:42 +0200)]
(Mostly) fix bug #16007 with generation of MULE-*.map files.

 admin/charsets/mule-charsets.el: Rewritten to work in Emacs 23 and
 later.

10 years agoFix ChangeLog dates of last commit.
Martin Rudalics [Sat, 30 Nov 2013 09:28:17 +0000 (10:28 +0100)]
Fix ChangeLog dates of last commit.

10 years agoSupport resizing frames and windows pixelwise.
Martin Rudalics [Sat, 30 Nov 2013 09:25:31 +0000 (10:25 +0100)]
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.

10 years agoMake the `interactive-only' bytecomp warning like the `obsolete' one
Glenn Morris [Sat, 30 Nov 2013 08:42:28 +0000 (00:42 -0800)]
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.

10 years ago* src/xdisp.c (redisplay_internal): Don't call set_window_update_flags.
Stefan Monnier [Sat, 30 Nov 2013 04:04:18 +0000 (23:04 -0500)]
* 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

10 years agoStop keeping (all but one) generated cedet grammar files in the repository
Glenn Morris [Sat, 30 Nov 2013 02:06:34 +0000 (18:06 -0800)]
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.

10 years ago* titdic-cnv.el: Prevent "Local Variables" confusion.
Glenn Morris [Sat, 30 Nov 2013 01:09:41 +0000 (17:09 -0800)]
* titdic-cnv.el: Prevent "Local Variables" confusion.

10 years ago* lisp/net/newst-reader.el (newsticker-html-renderer): Default to SHR if
Stefan Monnier [Fri, 29 Nov 2013 21:35:00 +0000 (16:35 -0500)]
* lisp/net/newst-reader.el (newsticker-html-renderer): Default to SHR if
available.  Suggested by ClĂ©ment B. <barthele1u@etu.univ-lorraine.fr>.

10 years ago* Makefile.in (epaths-force-w32): Fix 2013-11-20 typo.
Dani Moncayo [Fri, 29 Nov 2013 20:03:24 +0000 (12:03 -0800)]
* Makefile.in (epaths-force-w32): Fix 2013-11-20 typo.

10 years agoUpdate main menu for previous buffers.texi change
Glenn Morris [Fri, 29 Nov 2013 19:55:31 +0000 (11:55 -0800)]
Update main menu for previous buffers.texi change

10 years ago* src/fns.c (internal_equal): Add a hash_table argument to handle cycles.
Stefan Monnier [Fri, 29 Nov 2013 19:47:58 +0000 (14:47 -0500)]
* src/fns.c (internal_equal): Add a hash_table argument to handle cycles.

10 years ago* doc/emacs/buffers.texi (Icomplete): Rename from Iswitchb and
Stefan Monnier [Fri, 29 Nov 2013 18:54:14 +0000 (13:54 -0500)]
* doc/emacs/buffers.texi (Icomplete): Rename from Iswitchb and
rewrite accordingly.

10 years ago* lisp/loadup.el: Preload "uniquify".
Stefan Monnier [Fri, 29 Nov 2013 18:36:31 +0000 (13:36 -0500)]
* lisp/loadup.el: Preload "uniquify".
* lisp/uniquify.el (uniquify-buffer-name-style): Change default.
* src/lisp.mk (lisp): Add uniquify.elc.

10 years ago* src/xdisp.c (REDISPLAY_SOME_P): New macro.
Stefan Monnier [Fri, 29 Nov 2013 18:20:24 +0000 (13:20 -0500)]
* src/xdisp.c (REDISPLAY_SOME_P): New macro.
(redisplay_internal): Use it.
(prepare_menu_bars, redisplay_window): Use it as well.

Fixes: debbugs:15999

10 years ago* lisp/time.el (display-time-update): Update all mode lines.
Stefan Monnier [Fri, 29 Nov 2013 18:00:57 +0000 (13:00 -0500)]
* lisp/time.el (display-time-update): Update all mode lines.

Fixes: debbugs:15999

10 years ago* lisp/electric.el (electric-indent-mode): Enable by default.
Stefan Monnier [Fri, 29 Nov 2013 17:59:38 +0000 (12:59 -0500)]
* lisp/electric.el (electric-indent-mode): Enable by default.
* lisp/loadup.el: Preload "electric".
* src/lisp.mk (lisp): Add electric.elc.

10 years ago* lisp/emacs-lisp/helpers.el (string-empty-p): New function.
Bozhidar Batsov [Fri, 29 Nov 2013 16:51:44 +0000 (18:51 +0200)]
* lisp/emacs-lisp/helpers.el (string-empty-p): New function.
(string-blank-p): New function

10 years ago* lisp/imenu.el (imenu--index-alist): Add missing dot to the docstring.
Andreas Politz [Fri, 29 Nov 2013 14:31:20 +0000 (16:31 +0200)]
* lisp/imenu.el (imenu--index-alist): Add missing dot to the docstring.

Fixes: debbugs:14029

10 years agoAdd more .gitignore
Andreas Schwab [Fri, 29 Nov 2013 11:25:04 +0000 (12:25 +0100)]
Add more .gitignore

10 years agoFix bug #6364 with slow scrolling on MS-Windows with bitmap fonts.
Tom Seddon [Fri, 29 Nov 2013 11:01:45 +0000 (13:01 +0200)]
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.

10 years agoFix reftex-tests on MS-Windows.
Eli Zaretskii [Fri, 29 Nov 2013 10:33:31 +0000 (12:33 +0200)]
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.

10 years agoFix decoder-tests test on MS-Windows.
Eli Zaretskii [Fri, 29 Nov 2013 09:35:58 +0000 (11:35 +0200)]
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.

10 years agoMore thorough fix of bug #15913 with mouse-highlight on MS-Windows.
Eli Zaretskii [Fri, 29 Nov 2013 08:53:50 +0000 (10:53 +0200)]
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.

10 years agoFix minor problems found by static checking.
Paul Eggert [Fri, 29 Nov 2013 05:25:25 +0000 (21:25 -0800)]
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.

10 years ago* doc/lispref/modes.texi (Imenu): Make it clear that sub-alist is the cdr.
Andreas Politz [Fri, 29 Nov 2013 03:38:20 +0000 (05:38 +0200)]
* 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

10 years ago* lisp/progmodes/python.el (python-mode-map): Remove binding for ":".
Stefan Monnier [Fri, 29 Nov 2013 02:03:39 +0000 (21:03 -0500)]
* 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.

10 years ago* configure.ac (HAVE_MENUS): Remove.
Stefan Monnier [Fri, 29 Nov 2013 01:22:40 +0000 (20:22 -0500)]
* 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.

10 years ago* src/window.c (Fset_window_configuration): Move select_window later.
Stefan Monnier [Fri, 29 Nov 2013 01:14:01 +0000 (20:14 -0500)]
* src/window.c (Fset_window_configuration): Move select_window later.

10 years agoReplace PATH_SEP with pre-existing SEPCHAR.
Glenn Morris [Thu, 28 Nov 2013 23:50:09 +0000 (15:50 -0800)]
Replace PATH_SEP with pre-existing SEPCHAR.

* configure.ac:
* test/automated/Makefile.in: Use SEPCHAR in place of PATH_SEP.

10 years agoRobustify previous leim/Makefile.in change
Glenn Morris [Thu, 28 Nov 2013 23:34:15 +0000 (15:34 -0800)]
Robustify previous leim/Makefile.in change

10 years agolisp/gnus/gnus-icalendar.el: bugfix and improvements
Jan Tatarik [Thu, 28 Nov 2013 23:33:52 +0000 (23:33 +0000)]
lisp/gnus/gnus-icalendar.el: bugfix and improvements

10 years agoRefine redisplay optimizations to only redisplay *some* frames/windows
Stefan Monnier [Thu, 28 Nov 2013 22:43:09 +0000 (17:43 -0500)]
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.

10 years ago* leim/leim-ext.el: Change method for getting comments in the output
Glenn Morris [Thu, 28 Nov 2013 20:31:55 +0000 (12:31 -0800)]
* 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.

10 years ago* unidata-gen.el (unidata-gen-files): Disable autoloads in generated files.
Glenn Morris [Thu, 28 Nov 2013 20:21:55 +0000 (12:21 -0800)]
* unidata-gen.el (unidata-gen-files): Disable autoloads in generated files.

10 years agoFix bug #15933 with crashes in file-notify-tests on MS-Windows.
Eli Zaretskii [Thu, 28 Nov 2013 19:40:15 +0000 (21:40 +0200)]
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.

10 years agoRemove left-overs from using nt/mingw-cfg.site as a CONFIG_SITE file.
Eli Zaretskii [Thu, 28 Nov 2013 17:45:26 +0000 (19:45 +0200)]
Remove left-overs from using nt/mingw-cfg.site as a CONFIG_SITE file.

 GNUmakefile (Makefile): Don't use $(CFG).
 (CFG): Don't compute.

10 years agoFix the test suite on Windows.
Eli Zaretskii [Thu, 28 Nov 2013 17:35:13 +0000 (19:35 +0200)]
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).

10 years ago* automated/file-notify-tests.el (auto-revert-stop-on-user-input):
Michael Albinus [Thu, 28 Nov 2013 16:14:13 +0000 (17:14 +0100)]
* automated/file-notify-tests.el (auto-revert-stop-on-user-input):
Set to nil.

10 years ago* lisp/vc/vc-dispatcher.el (vc-log-edit): Setup the Summary&Author headers.
Stefan Monnier [Thu, 28 Nov 2013 01:49:25 +0000 (20:49 -0500)]
* lisp/vc/vc-dispatcher.el (vc-log-edit): Setup the Summary&Author headers.

10 years agoMerge from gnulib, incorporating:
Paul Eggert [Wed, 27 Nov 2013 23:58:03 +0000 (15:58 -0800)]
Merge from gnulib, incorporating:

2013-11-13 getgroups: work around _DARWIN_C_SOURCE problem
* lib/getgroups.c: Update from gnulib.

10 years agoFix comment typo
Glenn Morris [Wed, 27 Nov 2013 18:34:25 +0000 (13:34 -0500)]
Fix comment typo

10 years ago* leim/Makefile.in (bootstrap-clean): No need to delete .elc,
Glenn Morris [Wed, 27 Nov 2013 18:29:28 +0000 (13:29 -0500)]
* leim/Makefile.in (bootstrap-clean): No need to delete .elc,
lisp/ rules will do that.

10 years agoStop keeping generated Unicode lisp files in the repository
Glenn Morris [Wed, 27 Nov 2013 18:25:44 +0000 (13:25 -0500)]
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.

10 years agoDon't delete ja-dic.el even in a bootstrap, since it is slow to remake
Glenn Morris [Wed, 27 Nov 2013 17:16:03 +0000 (09:16 -0800)]
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.

10 years agoFix bug #15973 with erratic cursor motion after reverting a buffer.
Eli Zaretskii [Wed, 27 Nov 2013 16:08:53 +0000 (18:08 +0200)]
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.

10 years agoFix watching directories using w32notify.c.
Eli Zaretskii [Wed, 27 Nov 2013 16:03:02 +0000 (18:03 +0200)]
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.

10 years ago* automated/file-notify-tests.el
Michael Albinus [Wed, 27 Nov 2013 14:23:32 +0000 (15:23 +0100)]
* 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.

10 years agoMake bootstrap without generated uni-*.el files possible again
Glenn Morris [Wed, 27 Nov 2013 08:21:19 +0000 (00:21 -0800)]
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.

10 years agoReset window_end_valid after some window changes (Bug#15957).
Martin Rudalics [Wed, 27 Nov 2013 07:44:48 +0000 (08:44 +0100)]
Reset window_end_valid after some window changes (Bug#15957).

* window.c (Fset_window_start, window_resize_apply)
(window_scroll): Reset window_end_valid (Bug#15957).

10 years ago[Gnus] Allow overriding charset in some decoding functions
Katsumi Yamaoka [Wed, 27 Nov 2013 06:39:37 +0000 (06:39 +0000)]
[Gnus] Allow overriding charset in some decoding functions

10 years agoChangeLog fixes
Glenn Morris [Wed, 27 Nov 2013 06:28:18 +0000 (22:28 -0800)]
ChangeLog fixes

10 years agoChangeLog fix
Glenn Morris [Wed, 27 Nov 2013 06:19:02 +0000 (22:19 -0800)]
ChangeLog fix

10 years agoMark tiny change
Glenn Morris [Wed, 27 Nov 2013 06:17:47 +0000 (22:17 -0800)]
Mark tiny change

10 years agoMove runtime leim lisp files to lisp/leim directory
Glenn Morris [Wed, 27 Nov 2013 06:15:06 +0000 (22:15 -0800)]
Move runtime leim lisp files to lisp/leim directory

This allows us to reuse much of the lisp build and installation machinery,
rather than duplicating it.

* Makefile.in (abs_builddir, leimdir): Remove.
(buildlisppath, SUBDIR, COPYDIR, COPYDESTS): No more leim directory.
(epaths-force-w32): No longer set BLD.
(leim): Remove.
(install-arch-indep): No longer run or install leim.
(mostlyclean, clean): No longer run leim rule.
(bootstrap-clean): Change leim target.
(maintainer-clean): Add leim.
(check-declare): Remove leim.

* README: Update for leim changes.

* configure.ac (leimdir): Remove.
(standardlisppath): No more leimdir.

* make-dist: Update for files from leim/ now being in lisp/leim/.

* doc/lispref/loading.texi (Library Search):
* doc/lispref/os.texi (Startup Summary): No more leim directory.

* leim/Makefile.in (leimdir): New variable.
(TIT_GB, TIT_BIG5, MISC, changed.tit, changed.misc)
(${leimdir}/leim-list.el, ${leimdir}/ja-dic/ja-dic.el):
Generate in $leimdir.
(all): Remove compilation, add ja-dic.
(leim-list.el): Now PHONY.
(setwins, compile-targets, compile-main, clean, mostlyclean)
(extraclean): Remove.
(bootstrap-clean): Delete all generated files.

* leim/README: Update for moved leim/ directory.

* leim/leim-ext.el (ucs-input-activate, hangul-input-method-activate):
Remove manual autoloads; now in loaddefs.el.
Disable byte-compile, version-control, autoloads in the output.

* lisp/Makefile.in (setwins_for_subdirs): Skip leim/ directory.
(compile-main): Depend on lisp/leim rule.
(leim): New rule.

* lisp/loadup.el: Move leim-list.el to leim/ subdirectory.

* lisp/startup.el (normal-top-level): No more leim directory.

* lisp/international/ja-dic-cnv.el (skkdic-convert):
Disable version-control and autoloads in output files.
* lisp/international/titdic-cnv.el (titdic-convert, miscdic-convert):
Disable version-control and autoloads in output files.

* lisp/leim/quail: Move here from ../leim.

* lisp/leim/quail/hangul.el (hangul-input-method-activate):
Add autoload cookie.
(generated-autoload-load-name): Set file-local value.

* lisp/leim/quail/uni-input.el (ucs-input-activate): Add autoload cookie.
(generated-autoload-load-name): Set file-local value.

* nt/README.W32:
* nt/addpm.c (env_vars):
* nt/epaths.nt (PATH_LOADSEARCH, PATH_DUMPLOADSEARCH):
* nt/paths.h (PATH_LOADSEARCH): No more leim directory.

* src/Makefile.in (leimdir): Now in lisp source directory.
($(leimdir)/leim-list.el): Just use ../leim .

* src/epaths.in (PATH_DUMPLOADSEARCH):

* src/lread.c (load_path_default):

* src/nsterm.m (ns_load_path): No more leim directory.

* .bzrignore: Update for relocated leim files.

10 years agolisp/gnus/gnus-art.el (gnus-article-browse-html-parts): Replace LWSPs with `&nbsp...
Katsumi Yamaoka [Wed, 27 Nov 2013 01:59:37 +0000 (01:59 +0000)]
lisp/gnus/gnus-art.el (gnus-article-browse-html-parts): Replace LWSPs with `&nbsp;'s in header

10 years agolisp/gnus/gnus-art.el (gnus-article-browse-html-*): Work for broken Chinese articles
Katsumi Yamaoka [Wed, 27 Nov 2013 01:54:35 +0000 (01:54 +0000)]
lisp/gnus/gnus-art.el (gnus-article-browse-html-*): Work for broken Chinese articles

10 years agoSpelling fixes.
Paul Eggert [Tue, 26 Nov 2013 20:22:17 +0000 (12:22 -0800)]
Spelling fixes.

10 years agoeww usability improvements
Ted Zlatanov [Tue, 26 Nov 2013 20:05:48 +0000 (15:05 -0500)]
eww usability improvements

* net/eww.el (eww-bookmark-browse): Use 'eww-browse-url'.
(eww-add-bookmark): ask confirmation when add to bookmarks
(eww-quit): ask confirmation before quitting eww

10 years agoFix ugly ^M characters in Diff output shown by "C-x v u".
Eli Zaretskii [Tue, 26 Nov 2013 19:17:55 +0000 (21:17 +0200)]
Fix ugly ^M characters in Diff output shown by "C-x v u".

 lisp/vc/vc.el (vc-diff-internal): Use *-dos coding-system when
 reading output from Diff on MS-Windows and MS-DOS.

10 years ago* lisp/emacs-lisp/helpers.el (string-reverse): New function.
Bozhidar Batsov [Tue, 26 Nov 2013 15:24:10 +0000 (17:24 +0200)]
* lisp/emacs-lisp/helpers.el (string-reverse): New function.

10 years ago* net/tramp.el (tramp-file-name-regexp-unified): Support IPv6 host
Michael Albinus [Tue, 26 Nov 2013 15:07:10 +0000 (16:07 +0100)]
* net/tramp.el (tramp-file-name-regexp-unified): Support IPv6 host
names on MS Windows, like "/[::1]:".

* net/tramp-sh.el (tramp-sh-handle-insert-directory): Accept nil
SWITCHES.

10 years agoImprove a couple of changelog entries.
Bozhidar Batsov [Tue, 26 Nov 2013 10:38:19 +0000 (12:38 +0200)]
Improve a couple of changelog entries.

10 years agoMention some of the noteworthy changes in ruby-mode
Bozhidar Batsov [Tue, 26 Nov 2013 10:21:03 +0000 (12:21 +0200)]
Mention some of the noteworthy changes in ruby-mode

10 years ago* .gdbinit (xgettype): Add cast.
Andreas Schwab [Tue, 26 Nov 2013 09:00:32 +0000 (10:00 +0100)]
* .gdbinit (xgettype): Add cast.

10 years ago* lisp/progmodes/python.el (python-indent-guess-indent-offset):
Glenn Morris [Tue, 26 Nov 2013 03:15:49 +0000 (22:15 -0500)]
* lisp/progmodes/python.el (python-indent-guess-indent-offset):
Avoid corner-case error.

Fixes: debbugs:15975

10 years ago* doc/lispref/os.texi (Startup Summary): Update for leim-list being preloaded.
Glenn Morris [Tue, 26 Nov 2013 02:58:51 +0000 (21:58 -0500)]
* doc/lispref/os.texi (Startup Summary): Update for leim-list being preloaded.

10 years agoPreload leim-list.el
Glenn Morris [Tue, 26 Nov 2013 01:06:23 +0000 (20:06 -0500)]
Preload leim-list.el

* Makefile.in (abs_builddir): New, set by configure.
(buildlisppath): Add leim/.
(epaths-force-w32): Set BLD.

* lisp/loadup.el: Load leim-list.el when found.

* lisp/startup.el (normal-top-level): Skip re-loading leim/leim-list.el.

* nt/epaths.nt (PATH_DUMPLOADSEARCH): Add leim/.

* src/callproc.c (init_callproc): Don't assume PATH_DUMPLOADSEARCH
is a single directory.

* src/epaths.in (PATH_DUMPLOADSEARCH): Add leim/.

Fixes: debbugs:4789

10 years agobool-vector-subsetp is now the normal direction.
Paul Eggert [Mon, 25 Nov 2013 23:25:04 +0000 (15:25 -0800)]
bool-vector-subsetp is now the normal direction.

* data.c (Fbool_vector_subsetp): Test whether the first argument
is a subset of the second one, not the reverse.  Add doc string.

Fixes: debbugs:15912

10 years ago* lisp/emacs-lisp/helpers.el (string-join): New function.
Bozhidar Batsov [Mon, 25 Nov 2013 19:04:50 +0000 (21:04 +0200)]
* lisp/emacs-lisp/helpers.el (string-join): New function.

10 years agoFix a email address.
Bozhidar Batsov [Mon, 25 Nov 2013 18:48:33 +0000 (20:48 +0200)]
Fix a email address.

10 years ago* lisp/emacs-lisp/bytecomp.el (byte-compile-form): Fix a typo.
Bozhidar Batsov [Mon, 25 Nov 2013 18:45:34 +0000 (20:45 +0200)]
* lisp/emacs-lisp/bytecomp.el (byte-compile-form): Fix a typo.

10 years agoFix minor problems found by static checking.
Paul Eggert [Mon, 25 Nov 2013 17:30:09 +0000 (09:30 -0800)]
Fix minor problems found by static checking.

* lread.c (load_path_default): Now static.
* textprop.c (text_property_stickiness): Be consistent about the
test used when deciding whether to consider the previous character.
This simplifies the code a bit.

10 years agoFix a typo
Bozhidar Batsov [Mon, 25 Nov 2013 17:22:17 +0000 (19:22 +0200)]
Fix a typo

10 years ago* lisp/emacs-lisp/bytecomp.el (byte-compile-interactive-only-functions):
Bozhidar Batsov [Mon, 25 Nov 2013 17:16:32 +0000 (19:16 +0200)]
* lisp/emacs-lisp/bytecomp.el (byte-compile-interactive-only-functions):
Mark as obsolete and replace it with a symbol property.
(byte-compile-form): Use new 'interactive-only property.
* lisp/comint.el, lisp/files.el, lisp/replace.el, lisp/simple.el:
Apply new 'interactive-only properly.

10 years agoHave display-buffer-at-bottom always create new window on bottom (Bug#15961).
Martin Rudalics [Mon, 25 Nov 2013 16:30:01 +0000 (17:30 +0100)]
Have display-buffer-at-bottom always create new window on bottom (Bug#15961).

* window.el (display-buffer-at-bottom): Make sure that
split-window-sensibly creates the new window on bottom
(Bug#15961).

10 years ago* src/textprop.c (text_property_stickiness): Fix front-stickiness at BOB.
Stefan Monnier [Mon, 25 Nov 2013 15:42:06 +0000 (10:42 -0500)]
* src/textprop.c (text_property_stickiness): Fix front-stickiness at BOB.

10 years ago* lisp/vc/smerge-mode.el (smerge-ediff): Choose default buffer names based
David Kastrup [Mon, 25 Nov 2013 15:40:31 +0000 (10:40 -0500)]
* lisp/vc/smerge-mode.el (smerge-ediff): Choose default buffer names based
on the conflict markers when available.
(smerge--get-marker): New function.
(smerge-end-re, smerge-base-re): Add subgroup.

10 years ago* lisp/frame.el (handle-focus-in, handle-focus-out): Add missing
Stefan Monnier [Mon, 25 Nov 2013 15:05:25 +0000 (10:05 -0500)]
* lisp/frame.el (handle-focus-in, handle-focus-out): Add missing
interactive spec.

10 years ago* net/tramp-cmds.el (tramp-cleanup-connection): Clean up
Michael Albinus [Mon, 25 Nov 2013 14:51:34 +0000 (15:51 +0100)]
* net/tramp-cmds.el (tramp-cleanup-connection): Clean up
`tramp-current-connection' only when KEEP-PASSWORD is non-nil.

10 years ago* lisp/play/gomoku.el: Don't use intangible property. Use lexical-binding.
Stefan Monnier [Mon, 25 Nov 2013 14:31:04 +0000 (09:31 -0500)]
* lisp/play/gomoku.el: Don't use intangible property.  Use lexical-binding.
(gomoku--last-pos): New var.
(gomoku--intangible-chars): New const.
(gomoku--intangible): New function.
(gomoku-mode): Use it.  Derive from special-mode.
(gomoku-move-up): Adjust line count.
(gomoku-click, gomoku-point-y, gomoku-point-square, gomoku-goto-xy)
(gomoku-plot-square, gomoku-init-display, gomoku-cross-qtuple):
Simplify accordingly.

10 years ago* erc/erc-button.el (erc-nick-popup): Make `nick' available in the eval
Glenn Morris [Mon, 25 Nov 2013 03:25:13 +0000 (19:25 -0800)]
* erc/erc-button.el (erc-nick-popup): Make `nick' available in the eval
environment.

Fixes: debbugs:15969

10 years agosrc/lread.c comment
Glenn Morris [Mon, 25 Nov 2013 03:10:54 +0000 (19:10 -0800)]
src/lread.c comment

10 years ago* lisp/frame.el (handle-focus-in, handle-focus-out): Move from frame.c.
Stefan Monnier [Mon, 25 Nov 2013 02:41:02 +0000 (21:41 -0500)]
* lisp/frame.el (handle-focus-in, handle-focus-out): Move from frame.c.
Remove blink-cursor code.
(blink-cursor-timer-function, blink-cursor-suspend): Don't special-case GUIs.
(blink-cursor-mode): Use focus-in/out-hook.
* src/frame.c (Fhandle_focus_in, Fhandle_focus_out): Move to frame.el.
(syms_of_frame): Don't defsubr them.

10 years agoFurther tweaks to the setting of Vload_path
Glenn Morris [Mon, 25 Nov 2013 02:36:41 +0000 (18:36 -0800)]
Further tweaks to the setting of Vload_path
This is giving me a headache...

* src/lread.c (load_path_default): Change the sense of the argument.
(init_lread): When EMACSLOADPATH is set, do not ignore changes
from dump_path.  When it is not, avoid checking dump_path twice.

10 years ago* lisp/vc/vc-git.el (vc-git-annotate-extract-revision-at-line): Make it
Dmitry Gutov [Mon, 25 Nov 2013 02:28:02 +0000 (04:28 +0200)]
* lisp/vc/vc-git.el (vc-git-annotate-extract-revision-at-line): Make it
work when annotation is invisible.

Fixes: debbugs:13886

10 years agoMakefile.in comment.
Glenn Morris [Mon, 25 Nov 2013 01:36:14 +0000 (17:36 -0800)]
Makefile.in comment.

10 years ago* src/lread.c (init_lread): Fix 2013-11-23 goof that was checking
Glenn Morris [Mon, 25 Nov 2013 01:35:45 +0000 (17:35 -0800)]
* src/lread.c (init_lread): Fix 2013-11-23 goof that was checking
uninstalled dump_path against installed Vload_path.

Fixes: debbugs:15964

10 years agoFixup two last lisp/ChangeLog entries
Dmitry Gutov [Sun, 24 Nov 2013 22:53:35 +0000 (00:53 +0200)]
Fixup two last lisp/ChangeLog entries

10 years ago* lisp/json.el (json-alist-p): Only return non-nil if the alist has
Simon Schubert [Sun, 24 Nov 2013 22:49:37 +0000 (00:49 +0200)]
* lisp/json.el (json-alist-p): Only return non-nil if the alist has
simple keys.

Fixes: debbugs:13518

10 years ago* lisp/progmodes/js.el (js--ctrl-statement-indentation): Fix indent
Mihir Rege [Sun, 24 Nov 2013 22:01:08 +0000 (00:01 +0200)]
* lisp/progmodes/js.el (js--ctrl-statement-indentation): Fix indent
when control-statement is the first statement in a buffer.

Fixes: debbugs:15956

10 years ago* lisp/imenu.el (imenu-generic-skip-comments-and-strings):
Dmitry Gutov [Sun, 24 Nov 2013 21:23:47 +0000 (23:23 +0200)]
* lisp/imenu.el (imenu-generic-skip-comments-and-strings):
New option.
(imenu--generic-function): Use it.

Fixes: debbugs:15560

10 years agoExport get_pos_property to Elisp.
Stefan Monnier [Sun, 24 Nov 2013 18:28:33 +0000 (13:28 -0500)]
Export get_pos_property to Elisp.
* src/editfns.c (Fget_pos_property): Rename from get_pos_property.
(syms_of_editfns): Export it to Elisp.

10 years ago* src/data.c (Fmake_variable_buffer_local): Mention `permanent-local'.
Stefan Monnier [Sun, 24 Nov 2013 18:20:18 +0000 (13:20 -0500)]
* src/data.c (Fmake_variable_buffer_local): Mention `permanent-local'.

10 years agoScroll correct window when showing completion options.
Jorgen Schaefer [Sun, 24 Nov 2013 14:08:02 +0000 (15:08 +0100)]
Scroll correct window when showing completion options.

* minibuffer.el (completion--in-region-1): Scroll the correct
window. (Bug#13898)

10 years ago* lisp/emacs-lisp/helpers.el: Add some string helpers.
Bozhidar Batsov [Sun, 24 Nov 2013 09:31:51 +0000 (11:31 +0200)]
* lisp/emacs-lisp/helpers.el: Add some string helpers.

(string-trim-left): Removes leading whitespace.
(string-trim-right): Removes trailing whitespace.
(string-trim): Removes leading and trailing whitespace.

10 years ago* lisp/subr.el (string-suffix-p): New function.
Bozhidar Batsov [Sun, 24 Nov 2013 08:49:44 +0000 (10:49 +0200)]
* lisp/subr.el (string-suffix-p): New function.

10 years agoStop some python tests leaving temp-files behind
Glenn Morris [Sat, 23 Nov 2013 20:46:43 +0000 (12:46 -0800)]
Stop some python tests leaving temp-files behind

* test/automated/python-tests.el (python-shell-make-comint-1)
(python-shell-make-comint-2, python-shell-get-process-1):
Suppress creation of some temp-files.

10 years agoUse skip-unless in some python tests
Glenn Morris [Sat, 23 Nov 2013 20:42:38 +0000 (12:42 -0800)]
Use skip-unless in some python tests

* test/automated/python-tests.el (python-shell-parse-command-1)
(python-shell-make-comint-1, python-shell-make-comint-2)
(python-shell-get-process-1)
(python-shell-internal-get-or-create-process-1):
Skip rather than fail if prereqs not found.

10 years ago* python.el (python-shell-send-file): Add option to delete file when done.
Glenn Morris [Sat, 23 Nov 2013 19:39:50 +0000 (11:39 -0800)]
* python.el (python-shell-send-file): Add option to delete file when done.
(python-shell-send-string, python-shell-send-region): Use it.

Fixes: debbugs:15647

10 years agoDocumentation for focus-in,out hooks (tiny change)
Brian Jenkins [Sat, 23 Nov 2013 19:07:34 +0000 (11:07 -0800)]
Documentation for focus-in,out hooks (tiny change)

* doc/lispref/frames.texi (Input Focus):
* doc/lispref/hooks.texi (Standard Hooks):
Mention focus-in-hook, focus-out-hook.

* etc/NEWS: Copyedit.