Commit graph

66733 commits

Author SHA1 Message Date
Nicolas Petton
2946344a23 New function seq-sort-by in seq.el
* lisp/emacs-lisp/seq.el (seq-sort-by): New function.
* test/lisp/emacs-lisp/seq-tests.el: New test for seq-sort-by.
* doc/lispref/sequences.texi: Add documentation for seq-sort-by.
2016-03-29 09:19:32 +02:00
Lars Magne Ingebrigtsen
742bf8243c Have `M-q' not mark buffers are changed when they haven't
* lisp/textmodes/fill.el (fill-paragraph): Use `buffer-hash'
to avoid marking buffers as changed when they haven't.
2016-03-28 19:08:50 +02:00
John Wiegley
efb1883244 Restore the fix to bug#18527 from commit d6868025 2016-03-26 17:22:03 -07:00
Alan Mackenzie
368b9bb45f Fix absence of c-noise-macro-name-re, etc., in languages which don't use it
* lisp/progmodes/cc-engine.el (c-forward-keyword-prefixed-id, c-forward-type)
(c-forward-declarator, c-forward-decl-or-cast-1, c-backward-over-enum-header)
(c-guess-basic-syntax): Check c-opt-cpp-prefix before `looking-at'
c-noise-macro-with-parens-name-re.

* lisp/progmodes/cc-fonts.el (c-complex-decl-matchers): The same as for
cc-engine.el.

* lisp/progmodes/cc-mode.el (c-basic-common-init): Add call to
`c-make-noise-macro-regexps'.
(c-mode, c++-mode, objc-mode): Remove calls to `c-make-noise-macro-regexps'.

* lisp/progmodes/cc-vars.el (c-noise-macro-with-parens-name-re)
(c-noise-macro-with-re): Initialize to "\\<\\>" rather than nil.
2016-03-25 18:25:08 +00:00
Lars Magne Ingebrigtsen
7570b35740 (shr-insert): Respect non-breaking space in non-<pre> text
* lisp/net/shr.el (shr-insert): Respect non-breaking space in
non-<pre> text.
2016-03-25 16:57:35 +01:00
Lars Magne Ingebrigtsen
b2e629c0d0 parse-times-string doc string clarification
* lisp/calendar/parse-time.el (parse-time-string): Note that
we accept RFC2822 strings.
2016-03-25 16:32:39 +01:00
Marcin Borkowski
2812099bcc Doc string fix
* lisp/calendar/parse-time.el (parse-time-tokenize): Clarify
doc string and clean up code.
2016-03-25 16:26:31 +01:00
Michael Albinus
c62371c23b Cleanup file notification code in Tramp
* lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
Make `events' a list of symbols for "inotifywait".
(tramp-sh-gvfs-monitor-dir-process-filter): Make event a list.
Call `file-notify-handle-event' for better traces.
(tramp-sh-inotifywait-process-filter): Check for expected events.
Call `file-notify-handle-event' for better traces.
2016-03-25 14:36:14 +01:00
Paul Eggert
39577d0712 Merge from origin/emacs-25
ad250f2 Sync with gnulib
c0165ea Resurrect GNUS-NEWS autogeneration

# Conflicts:
#	etc/GNUS-NEWS
#	lisp/Makefile.in
2016-03-23 11:27:22 -07:00
Simen Heggestøyl
269d5631ab Support completion of attribute values in CSS mode
* lisp/textmodes/css-mode.el (css-property-alist): New defconst
holding CSS identifiers and the values they can have.
(css-property-ids): Compute dynamically from `css-property-alist'.
(css-value-class-alist): New defconst holding property value classes
and their values.
(css--property-value-cache): New variable providing a cache for
`css--property-values'.
(css--value-class-lookup): New function for computing a list of values
in a value class.
(css--property-values): New function for computing a list of possible
values for a CSS property.
(css--complete-property-value): New function for completing a property
value.
(css-completion-at-point): Add support for completing property values.
* test/lisp/textmodes/css-mode-tests.el: New file.
2016-03-23 19:03:47 +01:00
Paul Eggert
c0165ea4d6 Resurrect GNUS-NEWS autogeneration
* doc/misc/gnus-coding.texi (Gnus Maintenance Guide): Update
GNUS-NEWS section to match current file locations and procedure.
* etc/GNUS-NEWS: Regenerate by using new procedure.
* lisp/Makefile.in (update-gnus-news): New rule, containing a
procedure for building GNUS-NEWS.  The old procedure got lost
somehow when Gnus was merged into Emacs.
2016-03-23 00:08:21 -07:00
Wilson Snyder
500a781bc5 Sync with verilog-mode development tree.
* lisp/progmodes/verilog-mode.el (verilog-imenu-generic-expression,
verilog-speedbar-initialize): Automatically add verilog-mode
extensions when in speedbar mode, bug1045, bug1046.  Reported by
David Shleifman.
(verilog-mode-map): Move `verilog-star-comment' from M-* to C-c/ to
avoid conflict with `pop-tag-mark'. Reported by Ian Perryman.
(verilog-read-always-signals-recurse): Fix :: notation for
auto-reset signals.  Reported by Andrew Jones.
(verilog-font-lock-grouping-keywords-face): Fix highlighting of
grouping keywords, bug1002. Reported by Paul Sargent.
(verilog-save-font-no-change-functions): Commentary and fix
pre-Emacs 21 behavior.
2016-03-22 20:46:40 -04:00
Paul Eggert
d2ea891fca Merge from origin/emacs-25
91e6676 Fix an Isearch var to be a string (Bug#23038)
76ef522 Fix (args-out-of-range 1) error in cursor-sensor--detect
2016-03-22 11:04:37 -07:00
Paul Eggert
f95bbe5a67 - 2016-03-22 11:04:36 -07:00
Paul Eggert
37b9099068 - 2016-03-22 11:01:30 -07:00
Paul Eggert
780a605e1d Assume NON_BLOCKING_CONNECT (Bug#22946)
* lisp/proced.el (proced-signal-list): Omit comment about
obsolete systems that do not support POSIX 1003.1-2001 signals.
* src/process.c (NON_BLOCKING_CONNECT): Remove, since we can now
assume POSIX 1003.1-2001 or better here.  Assume it’s defined.
(connect_network_socket): Assume EINPROGRESS is defined,
as that’s portable too now.
(Fmake_network_process): Use bool for boolean.
2016-03-22 01:19:03 -07:00
Eli Zaretskii
7dba17670f Fix problems caused by new implementation of sub-word mode
* lisp/subr.el (forward-word-strictly, backward-word-strictly):
New functions.
(word-move-empty-char-table): New variable.

* etc/NEWS: Mention 'forward-word-strictly' and
'backward-word-strictly'.

* doc/lispref/positions.texi (Word Motion): Document
'find-word-boundary-function-table', 'forward-word-strictly', and
'backward-word-strictly'.  (Bug#22560)

* src/syntax.c (syms_of_syntax)
<find-word-boundary-function-table>: Doc fix.

* lisp/wdired.el (wdired-xcase-word):
* lisp/textmodes/texnfo-upd.el (texinfo-copy-node-name)
(texinfo-copy-section-title, texinfo-start-menu-description)
(texinfo-copy-menu-title, texinfo-specific-section-type)
(texinfo-insert-node-lines, texinfo-copy-next-section-title):
* lisp/textmodes/texinfo.el (texinfo-clone-environment)
(texinfo-insert-@end):
* lisp/textmodes/texinfmt.el (texinfo-format-scan)
(texinfo-anchor, texinfo-multitable-widths)
(texinfo-multitable-item):
* lisp/textmodes/tex-mode.el (latex-env-before-change):
* lisp/textmodes/flyspell.el (texinfo-mode-flyspell-verify):
* lisp/skeleton.el (skeleton-insert):
* lisp/simple.el (count-words):
* lisp/progmodes/vhdl-mode.el (vhdl-beginning-of-libunit)
(vhdl-beginning-of-defun, vhdl-beginning-of-statement-1)
(vhdl-update-sensitivity-list, vhdl-template-block)
(vhdl-template-break, vhdl-template-case, vhdl-template-default)
(vhdl-template-default-indent, vhdl-template-for-loop)
(vhdl-template-if-then-use, vhdl-template-bare-loop)
(vhdl-template-nature, vhdl-template-procedural)
(vhdl-template-process, vhdl-template-selected-signal-asst)
(vhdl-template-type, vhdl-template-variable)
(vhdl-template-while-loop, vhdl-beginning-of-block)
(vhdl-hooked-abbrev, vhdl-port-copy, vhdl-hs-forward-sexp-func):
* lisp/progmodes/verilog-mode.el (verilog-backward-sexp)
(verilog-forward-sexp, verilog-beg-of-statement)
(verilog-set-auto-endcomments, verilog-backward-token)
(verilog-do-indent):
* lisp/progmodes/vera-mode.el (vera-guess-basic-syntax)
(vera-indent-block-closing):
* lisp/progmodes/simula.el (simula-context)
(simula-backward-up-level, simula-forward-down-level)
(simula-previous-statement, simula-next-statement)
(simula-skip-comment-backward, simula-calculate-indent)
(simula-find-if, simula-electric-keyword):
* lisp/progmodes/sh-script.el (sh-smie--rc-newline-semi-p):
* lisp/progmodes/ruby-mode.el (ruby-smie--redundant-do-p)
(ruby-smie--forward-token, ruby-smie--backward-token)
(ruby-singleton-class-p, ruby-calculate-indent)
(ruby-forward-sexp, ruby-backward-sexp):
* lisp/progmodes/ps-mode.el (ps-run-goto-error):
* lisp/progmodes/perl-mode.el (perl-syntax-propertize-function)
(perl-syntax-propertize-special-constructs)
(perl-backward-to-start-of-continued-exp):
* lisp/progmodes/pascal.el (pascal-indent-declaration):
* lisp/progmodes/octave.el (octave-function-file-p):
* lisp/progmodes/mantemp.el (mantemp-insert-cxx-syntax):
* lisp/progmodes/js.el (js--forward-function-decl):
* lisp/progmodes/idlwave.el (idlwave-show-begin-check)
(idlwave-beginning-of-block, idlwave-end-of-block)
(idlwave-block-jump-out, idlwave-determine-class):
* lisp/progmodes/icon.el (icon-is-continuation-line)
(icon-backward-to-start-of-continued-exp, end-of-icon-defun):
* lisp/progmodes/hideif.el (hide-ifdef-define):
* lisp/progmodes/f90.el (f90-change-keywords):
* lisp/progmodes/cperl-mode.el (cperl-electric-pod)
(cperl-linefeed, cperl-electric-terminator)
(cperl-find-pods-heres, cperl-fix-line-spacing)
(cperl-invert-if-unless):
* lisp/progmodes/cc-engine.el (c-forward-<>-arglist-recur):
* lisp/progmodes/cc-align.el (c-lineup-java-inher):
* lisp/progmodes/ada-mode.el (ada-compile-goto-error)
(ada-adjust-case-skeleton, ada-create-case-exception)
(ada-create-case-exception-substring)
(ada-case-read-exceptions-from-file, ada-after-keyword-p)
(ada-scan-paramlist, ada-get-current-indent, ada-get-indent-end)
(ada-get-indent-if, ada-get-indent-block-start)
(ada-get-indent-loop, ada-get-indent-type)
(ada-search-prev-end-stmt, ada-check-defun-name)
(ada-goto-decl-start, ada-goto-matching-start)
(ada-goto-matching-end, ada-looking-at-semi-or)
(ada-looking-at-semi-private, ada-in-paramlist-p)
(ada-search-ignore-complex-boolean, ada-move-to-start)
(ada-move-to-end, ada-which-function, ada-gen-treat-proc):
* lisp/net/quickurl.el (quickurl-grab-url):
* lisp/mail/sendmail.el (mail-do-fcc):
* lisp/mail/rmail.el (rmail-resend):
* lisp/mail/mailabbrev.el (mail-abbrev-complete-alias):
* lisp/mail/mail-extr.el (mail-extract-address-components):
* lisp/json.el (json-read-keyword):
* lisp/files.el (insert-directory):
* lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
* lisp/completion.el (symbol-under-point, symbol-before-point)
(symbol-before-point-for-complete, next-cdabbrev)
(add-completions-from-c-buffer):
* lisp/cedet/semantic/texi.el (semantic-up-context)
(semantic-beginning-of-context):
* lisp/cedet/semantic/bovine/el.el (semantic-get-local-variables):
use 'forward-word-strictly' and 'backward-word-strictly' instead
of 'forward-word' and 'backward-word'.

[This reapplies commit c1d32a6537,
which was inadvertently lost by merge commit
c71e7cc113.]
2016-03-21 17:47:22 -07:00
Alan Mackenzie
515ce25ffd Don't confuse "::" with ":" when trying to parse member initializers.
* lisp/progmodes/cc-engine.el (c-back-over-member-initializers): Check
more robustly for ":" token when searching backwards for it.

* lisp/progmodes/cc-langs (c-:$-multichar-token-regexp): New language
variable.

[This reapplies commit 9e5452f716,
which was inadvertently lost by merge commit
7823745acb.]
2016-03-21 17:05:55 -07:00
Alan Mackenzie
5a78876770 In comment-dwim with style `extra-line', respect indent-tabs-mode.
This fixes bug #22369.

* lisp/newcomment.el (comment-make-bol-ws): New function.
(comment-make-extra-lines): Use new function instead of a crude `make-string'.

[This reapplies commit 016b3d5894,
which was inadvertently lost by merge commit
7823745acb.]
2016-03-21 17:05:55 -07:00
Alan J Third
1e9a1229b1 Fix picture-mode wrt double-width characters
* lisp/textmodes/picture.el (picture-insert): Check the width of
the character being replaced, not just that of the replacement.
(Bug#1808)

[This reapplies commit b70dba4e18,
which was inadvertently lost by merge commit
7823745acb.]

Copyright-paperwork-exempt: yes
2016-03-21 17:05:54 -07:00
Kaushal Modi
91e667692b Fix an Isearch var to be a string (Bug#23038)
* isearch.el (isearch--describe-regexp-mode): The `description' var
  needs to always be a string.  Add the missing default case for the
  cond form that ensures that.

Before this bug fix, for the events when `regexp-function' and
`search-default-mode' both were nil, `description' also stayed nil.  So
when `space-before' was non-nil, the "non-string" `description'
(with a value of nil) got passed as an argument to
`replace-regexp-in-string' (where a string was expected).  That caused
the error described in Bug#23038.
2016-03-22 01:05:24 +01:00
Leo Liu
76ef52267c Fix (args-out-of-range 1) error in cursor-sensor--detect
* lisp/emacs-lisp/cursor-sensor.el (cursor-sensor--detect): Don't
  hard-code (point-min) as 1 which fails in narrowed buffers.
2016-03-21 18:26:40 +08:00
Lars Magne Ingebrigtsen
78bcd42857 Further empty <li> tweaks
* lisp/net/shr.el (shr-tag-li): When showing several empty
<li> elements, ensure that they really get inserted on a new line.
2016-03-20 15:15:32 +01:00
Lars Magne Ingebrigtsen
61b2e837d8 Don't remove too much white space at the end of documents
* lisp/net/shr.el (shr--remove-blank-lines-at-the-end): Don't
remove too much white space -- leave it on the last line (in
case there's a background color).
2016-03-20 14:47:30 +01:00
Lars Magne Ingebrigtsen
8a35f83c6c Render empty <ul><li><ul> correctly
* lisp/net/shr.el (shr-tag-ul): Render empty <ul><li><ul>
correctly (bug#22964).
(cherry picked from commit 4f6ea3988b)

Backport:
2016-03-20 13:58:26 +01:00
Lars Magne Ingebrigtsen
d8b2ce5f8a Ignore invalid base64 encoded embedded images
* lisp/net/shr.el (shr-image-from-data): Ignore invalid base64
encoded embedded images (bug#22928).
(cherry picked from commit f2da80d0e1)

Backport:
2016-03-20 13:58:04 +01:00
Lars Magne Ingebrigtsen
f2da80d0e1 Ignore invalid base64 encoded embedded images
* lisp/net/shr.el (shr-image-from-data): Ignore invalid base64
encoded embedded images (bug#22928).
2016-03-20 13:57:11 +01:00
Lars Magne Ingebrigtsen
4f6ea3988b Render empty <ul><li><ul> correctly
* lisp/net/shr.el (shr-tag-ul): Render empty <ul><li><ul>
correctly (bug#22964).
2016-03-20 13:52:36 +01:00
Lars Magne Ingebrigtsen
52ba24bdd9 Fix <p> and <div> newlines with or without <li> in shr
* lisp/net/shr.el (shr-ensure-newline): Respect that we're in
a <li>, if we are, and don't insert newlines there.
(shr-ensure-paragraph): When mixing newlines and paragraph
ensurements, don't insert too many blank lines.
(shr-tag-div): A <div> shouldn't introduce a paragraph, but a
new line.
(cherry picked from commit 292921faca)

Backport:
2016-03-20 13:45:09 +01:00
Lars Magne Ingebrigtsen
292921faca Fix <p> and <div> newlines with or without <li> in shr
* lisp/net/shr.el (shr-ensure-newline): Respect that we're in
a <li>, if we are, and don't insert newlines there.
(shr-ensure-paragraph): When mixing newlines and paragraph
ensurements, don't insert too many blank lines.
(shr-tag-div): A <div> shouldn't introduce a paragraph, but a
new line.
2016-03-20 13:43:42 +01:00
Lars Magne Ingebrigtsen
c688c44ddf Remove code left over from when overlays were used for padding
* lisp/net/shr.el (shr-previous-newline-padding-width): Remove.
(shr-remove-trailing-whitespace): Ditto.
(shr-insert-document): Don't call them.
2016-03-20 12:54:24 +01:00
Lars Magne Ingebrigtsen
35d58020b6 Remove trailing blank lines in shr
* lisp/net/shr.el (shr--remove-blank-lines-at-the-end): New function.
(shr-insert-document): Use it to remove trailing blank lines
at the end of documents, since these never seem to be very useful.
2016-03-20 12:52:28 +01:00
Lars Magne Ingebrigtsen
0b7836dda6 Don't bug out on nil `patch-buf' arguments
* lisp/vc/ediff.el (ediff-patch-file): Don't bug out on nil
`patch-buf' arguments.
2016-03-20 12:12:27 +01:00
Ernest Adrogué
6e70769e31 Add a Catalan language environment
* international/mule-cmds.el (locale-language-names): Map locale
  language name `ca' to language environment `Catalan'.

* language/european.el: Add definition of language environment for
  the Catalan language.

* leim/quail/latin-pre.el: Add quail rule to the `catalan-prefix'
  input method to support input of middle dot characters through
  composition (bug#18279).
2016-03-20 12:01:23 +01:00
Eli Zaretskii
b8ea08b037 Avoid errors in 'newline'
* lisp/simple.el (newline): Don't barf if invoked with
non-positive argument in the middle of a line.  (Bug#22490)
2016-03-19 21:32:27 +02:00
Oscar Fuentes
070b9de4e3 * lisp/vc/vc-hooks.el: Fix typo 2016-03-19 18:57:43 +01:00
Dmitry Gutov
26f9c5075f Fixup the "normal" matcher; highlight global var symbols, too
* lisp/progmodes/ruby-mode.el (ruby-font-lock-keywords): Highlight
operator name symbols with the "normal" matcher (it actually
needed updating).  Highlight global variable symbols, too.
2016-03-19 00:37:54 +02:00
Marcin Borkowski
cd950da9db Honor prefix arg in doc-view-next-line-or-next-page
* lisp/doc-view.el (doc-view-next-line-or-next-page): Take the
prefix argument into consideration when continuous scrolling is
not in effect (i.e., by default) (bug#19559).
2016-03-18 22:46:42 +01:00
Paul Eggert
ed909c049e ; Spelling fixes 2016-03-18 08:55:26 -07:00
Sam Steingold
2fbdb1bb4c make `vc-log-operation' buffer local to allow multiple simultaneous editing 2016-03-17 15:42:15 -04:00
Glenn Morris
9094304a9c * lisp/progmodes/xref.el (xref-buffer-name, xref--window):
Move definitions before use.
2016-03-17 12:55:09 -04:00
Glenn Morris
cbedfc2658 * lisp/gnus/mm-decode.el (gnus-format-message): Autoload it.
; Do not merge to master.
2016-03-17 12:52:11 -04:00
Glenn Morris
005ac7c28b * lisp/mail/rmail.el (rmail-mime-entity-truncated): Declare. 2016-03-17 09:04:51 -07:00
Glenn Morris
9ab03f27fa ; Auto-commit of loaddefs files. 2016-03-17 07:18:52 -04:00
Glenn Morris
58862751bd Simplify some rococo Gnus code that loads or tests for other libraries.
* lisp/gnus/gnus-art.el (gnus-treat-ansi-sequences): Simplify default.
* lisp/gnus/mml-smime.el (epg): Simply require it.
(mml-smime-use): Simplify the default.  Doc fix.
* lisp/gnus/mml2015.el (epg-config): Require it.
(mml2015-use): Simplify the default.
* lisp/gnus/smime.el (password-cache): Simply require it.
(password-read-and-add): Remove declaration.
2016-03-17 00:14:11 -07:00
Glenn Morris
56df61712a Address compilation warnings due to 2016-01-03 mml refactoring.
* lisp/gnus/mml-sec.el (password-cache, mm-encode): Require.
(message-options-get): Autoload.
(message-options-set): Declare.
(mml-secure-cache-passphrase, mml-secure-passphrase-cache-expiry):
Simplify default value.
* lisp/gnus/mml-smime.el (message-options-set): Remove declaration.
* lisp/gnus/mml1991.el, lisp/gnus/mml2015.el:
No longer a need for password-cache.
2016-03-16 23:56:32 -07:00
Stefan Monnier
a1ef911f31 * lisp/emacs-lisp/smie.el (smie-indent-keyword): Don't burp in strings
(bug#22960).
2016-03-16 22:55:56 -04:00
Glenn Morris
79ae7fbe91 * lisp/dired-x.el (dired-omit-here-always): Correct error message
for 2016-01-25 change.
2016-03-16 17:38:27 -04:00
Glenn Morris
253929fee3 * lisp/dired-x.el (dired-omit-here-always): Replace undefined function
removed 2016-01-30.

; Do not merge to master.
2016-03-16 17:36:57 -04:00
Glenn Morris
ce533897e0 * lisp/xml.el (xml-parse-tag-1): Replace undefined function.
; string-empty-p is defined in subr-x, but this file does not load it.
2016-03-16 17:24:36 -04:00