(python-shell-get-process): Use it.
(python-shell-send-string): Always use utf-8 and add a cookie to tell
Python which encoding was used. Don't split-string since we only care
about the first line. Return the temp-file, if applicable.
(python-shell-send-region): Tell compile.el how to turn locations in
the temp-file into locations in the source buffer.
* lisp/rect.el: Use lexical-binding. Add new rectangular region support.
(rectangle-mark): New command.
(rectangle--region): New var.
(deactivate-mark-hook): Reset rectangle--region.
(rectangle--extract-region, rectangle--insert-for-yank)
(rectangle--highlight-for-redisplay)
(rectangle--unhighlight-for-redisplay): New functions.
(region-extract-function, redisplay-unhighlight-region-function)
(redisplay-highlight-region-function): Use them to handle
rectangular region.
* lisp/simple.el (region-extract-function): New var.
(delete-backward-char, delete-forward-char, deactivate-mark): Use it.
(kill-new, kill-append): Remove obsolete `yank-handler' argument.
(kill-region): Replace obsolete `yank-handler' arg with `region'.
(copy-region-as-kill, kill-ring-save): Add `region' argument.
(redisplay-unhighlight-region-function)
(redisplay-highlight-region-function): New vars.
(redisplay--update-region-highlight): New function.
(pre-redisplay-function): Use it.
(exchange-point-and-mark): Don't deactivate the mark before
reactivate-it anyway.
* lisp/comint.el (comint-kill-region): Remove yank-handler argument.
* lisp/delsel.el (delete-backward-char, backward-delete-char-untabify)
(delete-char): Remove property, since it's now part of their
default behavior.
(self-insert-iso): Remove property since this command doesn't exist.
* src/xdisp.c (prepare_menu_bars): Call Vpre_redisplay_function.
(syms_of_xdisp): Declare pre-redisplay-function.
(markpos_of_region): Remove function.
(init_iterator, compute_stop_pos, handle_face_prop)
(face_before_or_after_it_pos, reseat_to_string)
(get_next_display_element, window_buffer_changed)
(redisplay_internal, try_cursor_movement, redisplay_window)
(try_window_reusing_current_matrix, try_window_id, display_line)
(note_mode_line_or_margin_highlight, note_mouse_highlight)
(display_string, mouse_face_from_buffer_pos): Remove region handling.
* src/window.h (struct window): Remove field `region_showing'.
* src/dispextern.h (struct it): Remove region_beg/end_charpos.
(face_at_buffer_position, face_for_overlay_string)
(face_at_string_position): Update prototypes.
* src/xfaces.c (face_at_buffer_position, face_for_overlay_string)
(face_at_string_position): Remove `region_beg' and `region_end' args.
* src/fontset.c (Finternal_char_font):
* src/font.c (font_at, font_range): Adjust calls accordingly.
* src/insdel.c (Qregion_extract_function): New var.
(syms_of_insdel): Initialize it.
(prepare_to_modify_buffer_1): Use it.
fields, drop 'allocated_p' member and use -1 for uninitialized value.
* w32term.h (struct w32_output): Similarly but do not use -1 because...
* xfaces.c (unload_color) [HAVE_X_WINDOWS]: ...this function is a no-op
on MS-Windows anyway.
(free_face_colors): Define only if HAVE_X_WINDOWS and...
(free_realized_face): ...adjust user.
* xfns.c (Fx_create_frame, x_create_tip_frame): Initialize black and
white relief pixels to -1.
* xterm.c (x_setup_relief_color, x_free_frame_resources): Adjust users.
* w32term.c (w32_setup_relief_color, x_free_frame_resources): Likewise.
* dispextern.h (unload_color): Move prototype under HAVE_X_WINDOWS.
and 'box' members. Remove set-but-unused members 'pixmap_w' and
'pixmap_h'. If not HAVE_WINDOW_SYSTEM, also remove dummy
'stipple' member. Move 'lface' member up to help...
* xfaces.c (make_realized_face): ...this function to find and
clear just the members that need clearing.
(load_face_colors, realize_x_face):
* xdisp.c (extend_face_to_end_of_line): Adjust user.
specific in what the first arg can be: a non-keyword word,
string/regexp/percent literal opener, opening paren, or unary
operator followed directly by word.
* test/automated/ruby-mode-tests.el (ruby-toggle-block-to-brace): Fix
the test, in respect to adding the space after the curly.
(prolog-align-comments-flag, prolog-indent-mline-comments-flag)
(prolog-object-end-to-0-flag, prolog-electric-newline-flag)
(prolog-electric-tab-flag, prolog-use-prolog-tokenizer-flag):
Remove vars, they do not apply any more.
(prolog-mode-abbrev-table): Remove redundant declaration.
(prolog-upper-case-string, prolog-lower-case-string): Remove.
(prolog-use-smie): Remove.
(prolog-smie-rules): Add indentation rule for the if-then-else layout
supported by prolog-electric-if-then-else-flag.
(prolog-mode-variables, prolog-menu): Use setq-local.
(prolog-mode-keybindings-edit): Don't rebind M-C-p and M-C-n.
Remove binding to `Backspace' since this key doesn't exist anyway.
Remove bindings for electric self-inserting keys.
(prog-mode): Assume it's defined.
(prolog-post-self-insert): New function.
(prolog-mode): Use it.
(prolog-indent-line, prolog-indent-level)
(prolog-find-indent-of-matching-paren)
(prolog-indentation-level-of-line, prolog-goto-comment-column)
(prolog-paren-is-the-first-on-line-p, prolog-region-paren-balance)
(prolog-goto-next-paren, prolog-in-string-or-comment)
(prolog-tokenize, prolog-inside-mline-comment)
(prolog-find-start-of-mline-comment): Remove functions.
(prolog-find-unmatched-paren, prolog-clause-end)
(prolog-guess-fill-prefix, prolog-get-predspec): Use syntax-ppss.
(prolog-electric--if-then-else): Rename from
prolog-insert-spaces-after-paren; use prolog-electric-if-then-else-flag.
(prolog-tokenize-searchkey): Remove const.
(prolog-clause-info): Use forward-sexp.
(prolog-forward-list, prolog-backward-list, prolog-electric-delete)
(prolog-electric-if-then-else): Remove commands.
(prolog-electric--colon): Rename from prolog-electric-colon; adapt it
for use in post-self-insert-hook.
(prolog-electric--dash): Rename from prolog-electric-dash; adapt it
for use in post-self-insert-hook.
(prolog-electric--dot): Rename from prolog-electric-dot; adapt it
for use in post-self-insert-hook.
(prolog-electric--underscore): Rename from prolog-electric--underscore;
adapt it for use in post-self-insert-hook.