* mouse.el (mouse-save-then-kill): Don't save region to kill ring
when extending it. Before killing on the second click, check if
the buffer is the correct one. Doc fix.
(mouse-secondary-save-then-kill): Allow usage without first
calling mouse-start-secondary, by defaulting to point. Don't save
an empty secondary selection. Doc fix.
* src/cmds.c (Vself_insert_face, Vself_insert_face_command): Remove.
(Qpost_self_insert_hook, Vpost_self_insert_hook): New vars.
(internal_self_insert): Run post-self-insert-hook rather than handle
self-insert-face.
(syms_of_cmds): Initialize the new vars.
* lisp/facemenu.el (facemenu-self-insert-data): New var.
(facemenu-post-self-insert-function, facemenu-set-self-insert-face): New funs.
(facemenu-add-face): Use them.
* lisp/emacs-lisp/smie.el (smie-default-backward-token)
(smie-default-forward-token): Strip properties.
(smie-next-sexp): Be more careful with associative operators.
(smie-forward-sexp-command): Generalize.
(smie-backward-sexp-command): Simplify.
(smie-closer-alist): New var.
(smie-close-block): New command.
(smie-indent-debug-log): New var.
(smie-indent-offset-rule): Add a few more cases.
(smie-indent-column): New function.
(smie-indent-after-keyword): Use it.
(smie-indent-keyword): Use it.
Fix up the opener code's point position.
(smie-indent-comment): Only applies at BOL.
(smie-indent-debug): New command.
* lisp/progmodes/octave-mod.el (octave-font-lock-keywords): Use regexp-opt.
(octave-font-lock-close-quotes): New function.
(octave-font-lock-syntactic-keywords): New var.
(octave-mode): Use it. Set beginning-of-defun-function.
(octave-mode-map): Don't override the <foo>-defun commands.
(octave-mode-menu): Pass it directly to easy-menu-define;
remove (now generic) <foo>-defun commands; use info-lookup-symbol.
(octave-block-match-alist): Fix up last change so that
octave-close-block uses the more specific keyword.
(info-lookup-mode): Silence byte-compiler.
(octave-beginning-of-defun): Not interactive any more.
Optimize slightly.
(octave-end-of-defun, octave-mark-defun, octave-in-defun-p): Remove.
(octave-indent-defun, octave-send-defun): Use mark-defun instead.
(octave-completion-at-point-function): Make sure point is within
beg..end.
(octave-reindent-then-newline-and-indent):
Use reindent-then-newline-and-indent.
(octave-add-octave-menu): Remove.
Depends on xdg-email being available.
* lisp/mail/emacsbug.el (report-emacs-bug-insert-to-mailer)
(report-emacs-bug-can-use-xdg-email): New functions.
(report-emacs-bug): Set can-xdg-email to result of
report-emacs-bug-can-use-xdg-email. If can-xdg-email bind
\C-cm to report-emacs-bug-insert-to-mailer and add help text
about it.
properties.
(tramp-handle-process-file): Call the program in a subshell, in
order to preserve working directory.
(tramp-action-password): Hide password prompt before next run.
(tramp-process-actions): Widen connection buffer for the trace.
* lisp/net/rcirc.el (rcirc-log-process-buffers): New option.
(rcirc-print): Use it.
(rcirc-generate-log-filename): New function.
(rcirc-log-filename-function): Change default to
rcirc-generate-log-filename (Bug#6828).
This includes both temporarily active regions (mouse drag and
shift-select) and those made with C-SPC and cursor motion.
* lisp/cus-start.el: Change defcustom for select-active-regions.
* lisp/simple.el (deactivate-mark): If select-active-regions is `only',
only set selection for temporarily active regions.
* src/insdel.c (prepare_to_modify_buffer): Handle `only' value of
select-active-regions.
* src/keyboard.c (command_loop_1): Avoid setting selection twice,
since it's done in deactivate-mark as well.
(Vselect_active_regions): Replace `lazy' value with `only',
meaning to only set PRIMARY for temporarily active regions.
* mouse.el (mouse--drag-set-mark-and-point): New function.
(mouse-drag-track): Use LOCATION arg to push-mark. Use
mouse--drag-set-mark-and-point to take click-count into
consideration when updating point and mark (Bug#6840).
* progmodes/compile.el (compilation-error-regexp-alist-alist):
Give the Ruby rule a lower priority than Gnu (Bug#6778).
* etc/compilation.txt: Make Cucumber test less verbose.
* src/syntax.c (SYNTAX_FLAGS_COMMENT_STYLEB)
(SYNTAX_FLAGS_COMMENT_STYLEC): New macros.
(SYNTAX_FLAGS_COMMENT_STYLE): Use them, add an argument.
(syntax_prefix_flag_p): New function.
(Fstring_to_syntax): Understand new "c" flag.
(Finternal_describe_syntax_value): Recognize new flag; use the
SYNTAX_FLAGS_* macros.
(scan_sexps_forward, Fparse_partial_sexp): Change representation of
comment style to accomodate the new styles.
(back_comment, forw_comment, Fforward_comment, scan_lists)
(scan_sexps_forward): Update code to obey the new comment style flag.
* src/syntax.h: Move SYNTAX_FLAGS_FOO() macros to syntax.c.
* src/casefiddle.c (casify_region): Use the new syntax_prefix_flag_p.
* lisp/progmodes/octave-mod.el (octave-mode-syntax-table): Use the new "c"
comment style.
* lisp/progmodes/scheme.el (scheme-mode-syntax-table):
* lisp/emacs-lisp/lisp-mode.el (lisp-mode-syntax-table): Remove spurious
"b" flag in "14b" syntax.
Fixes: debbugs:6834
* lisp/progmodes/octave-mod.el (octave-mode-syntax-table):
Better describe the problem.
(octave-fill-paragraph): Also update caller.
(octave-completion-at-point-function): Fix up typo.
* lisp/progmodes/octave-mod.el (octave-mode-map): Remove special bindings
for (un)commenting the region and performing completion.
(octave-mode-menu): Use standard commands for help and completion.
(octave-mode-syntax-table): Support %{..%} comments (sort of).
(octave-mode): Use define-derived-mode.
Set completion-at-point-functions and don't set columns.
Don't disable adaptive-fill-regexp.
(octave-describe-major-mode, octave-comment-region)
(octave-uncomment-region, octave-comment-indent)
(octave-indent-for-comment): Remove.
(octave-indent-calculate): Rename from calculate-octave-indent.
(octave-indent-line): Update caller.
(octave-initialize-completions): No need to make an alist.
(octave-completion-at-point-function): New function.
(octave-complete-symbol): Use it.
(octave-insert-defun): Use define-skeleton.
* progmodes/sql.el: Version 2.5
(sql-product-alist): Add :prompt-cont-regexp property for several
database products.
(sql-prompt-cont-regexp): New variable.
(sql-output-newline-count, sql-output-by-send): New
variables. Record number of newlines in input text.
(sql-send-string): Handle multiple filters and count newlines.
(sql-send-magic-terminator): Count terminator newline.
(sql-interactive-remove-continuation-prompt): Filters output to
remove continuation prompts; one for each newline.
(sql-interactive-mode): Set up new variables, prompt regexp and
output filter.
(sql-mode-sqlite-font-lock-keywords): Correct some keywords.
(sql-make-alternate-buffer-name): Correct buffer name in edge
cases.
as here-document, otherwise the command could exceed maximum
length of command line.
(tramp-handle-vc-registered): Call script accordingly. Reported
by Toru TSUNEYOSHI <t_tuneyosi@hotmail.com>.