]> git.eshelyaron.com Git - emacs.git/log
emacs.git
5 years agoMerge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Michael Albinus [Sat, 18 May 2019 16:14:39 +0000 (18:14 +0200)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs

5 years agoBug#35769
Michael Albinus [Sat, 18 May 2019 16:14:17 +0000 (18:14 +0200)]
Bug#35769

* lisp/net/tramp-sh.el: (tramp-maybe-open-connection):
Arrange `process-environment' that it doesn't work for local
processes.  (Bug#35769)

5 years agoCC Mode: Handle several consecutive noise macros in declaration contexts.
Alan Mackenzie [Sat, 18 May 2019 15:20:49 +0000 (15:20 +0000)]
CC Mode: Handle several consecutive noise macros in declaration contexts.

In the bug scenario, the second and subsequent noise macros with parentheses
were getting font-lock-type-face.

* lisp/progmodes/cc-engine.el (c-end-of-token)
(c-forward-noise-clause-not-macro-decl): New functions.
(c-find-decl-prefix-search): Handle noise macros by skipping over them.
(c-forward-decl-or-cast-1): In the loop checking for types, skip over all
consecutive noise macros with parens, not just one.

5 years agoMerge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Eli Zaretskii [Sat, 18 May 2019 14:46:29 +0000 (17:46 +0300)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs

5 years agoFix missing declaration in gnus-sum.el
Bastien [Sat, 18 May 2019 14:45:00 +0000 (16:45 +0200)]
Fix missing declaration in gnus-sum.el

* lisp/gnus/gnus-sum.el (gnus-tmp-name): Declare var.

5 years agoFix display of images on MS-Windows broken by a recent commit
Eli Zaretskii [Sat, 18 May 2019 14:44:16 +0000 (17:44 +0300)]
Fix display of images on MS-Windows broken by a recent commit

* src/image.c (initialize_image_type): Test if the type is in
Vlibrary_cache up front, and return true without calling the
'init' method if the type was already initialized.

5 years agoSuppress compiler warnings for older Emacsen in tramp-tests.el
Michael Albinus [Sat, 18 May 2019 14:04:58 +0000 (16:04 +0200)]
Suppress compiler warnings for older Emacsen in tramp-tests.el

* test/lisp/net/tramp-tests.el (tramp-test17-insert-directory):
Add error name to test.
(tramp-test30-make-process, tramp-test45-unload):
Suppress compiler warnings from older Emacsen.

5 years agoRequire less packages in Tramp
Michael Albinus [Sat, 18 May 2019 14:04:02 +0000 (16:04 +0200)]
Require less packages in Tramp

* lisp/net/tramp-compat.el (format-spec): Do not require advice, cl-lib,
custom, password-cache, timer and ucs-normalize.

* lisp/net/tramp-gvfs.el: Do not require zeroconf.  Declare
zeroconf-* functions.
(tramp-gvfs-enabled): Autoload `zeroconf-init'.

* lisp/net/tramp-sh.el: Do not require dired.

* lisp/net/tramp.el (tramp-get-debug-buffer): Do not require outline.
(tramp-file-name-for-operation): Extend docstring.
(tramp-parse-netrc): Do not require netrc.  Autoload `netrc-parse'.

5 years agoDon't use file notification on non-file buffers
Mattias Engdegård [Tue, 7 May 2019 22:02:59 +0000 (00:02 +0200)]
Don't use file notification on non-file buffers

Allow non-file buffers to declare that notification on their
default-directory is sufficient to know when auto-revert updates are
required by setting the new variable `buffer-auto-revert-by-notification'
to non-nil.  If nil, the default, then auto-revert will poll
those buffers instead. (bug#35418).
Currently, only Dired sets that variable.

* lisp/autorevert.el (auto-revert-buffers):
Modify condition for using notification.
* lisp/files.el (buffer-auto-revert-by-notification): New variable.
* lisp/dired.el (dired-mode): Set buffer-auto-revert-by-notification.
* doc/emacs/arevert-xtra.texi (Non-File Buffers): Document new variable.
* etc/NEWS (Changes in Specialized Modes and Packages): Describe new variable.

5 years ago(epa-file-decode-and-insert): Byte compilation warning fix
Lars Ingebrigtsen [Sat, 18 May 2019 09:18:42 +0000 (11:18 +0200)]
(epa-file-decode-and-insert): Byte compilation warning fix

* lisp/epa-file.el (epa-file-decode-and-insert): Remove
superfluous call to `string-to-multibyte string'.

5 years ago* lisp/net/tramp.el (tramp-interrupt-process): Return proper value.
Michael Albinus [Sat, 18 May 2019 09:11:36 +0000 (11:11 +0200)]
* lisp/net/tramp.el (tramp-interrupt-process): Return proper value.

5 years ago; Add comment in tramp-archive.el
Michael Albinus [Sat, 18 May 2019 09:11:23 +0000 (11:11 +0200)]
; Add comment in tramp-archive.el

5 years agoRemove usage of string-as-unibyte in arc-mode
Eli Zaretskii [Sat, 18 May 2019 08:02:25 +0000 (10:02 +0200)]
Remove usage of string-as-unibyte in arc-mode

* lisp/arc-mode.el (archive-l-e): Encode with utf-8-emacs-unix
instead of using string-as-unibyte.

5 years agoFix visiting and saving UTF-16 encoded XML files
Eli Zaretskii [Sat, 18 May 2019 07:15:19 +0000 (10:15 +0300)]
Fix visiting and saving UTF-16 encoded XML files

* lisp/international/mule.el (sgml-xml-auto-coding-function):
When the 'enncoding' tag specifies a UTF-16 encoding, enforce
saving the buffer with BOM, per the XML spec.
(xml-find-file-coding-system): Recognize UTF-16 encodings with
BOM.  (Bug#35766)  (Bug#8282)
* lisp/international/mule-cmds.el (select-safe-coding-system):
Don't consider UTF-16 encodings with and without BOM as
"different", so as not to annoy users with redundant questions
about mismatch between the XML/SGML header and the selected
explicit encoding.

5 years agoMitigate byte-compile warning in arc-mode
Lars Ingebrigtsen [Sat, 18 May 2019 05:47:32 +0000 (07:47 +0200)]
Mitigate byte-compile warning in arc-mode

* lisp/arc-mode.el (byte-after): Remove defsubst.
Replace all calls to byte-after with get-byte throughout the file,
because byte-after gave compilation warnings.

5 years ago(hexl-insert-multibyte-char): Avoid using `string-as-unibyte'
Eli Zaretskii [Sat, 18 May 2019 05:08:02 +0000 (07:08 +0200)]
(hexl-insert-multibyte-char): Avoid using `string-as-unibyte'

* lisp/hexl.el (hexl-insert-multibyte-char): Avoid using
`string-as-unibyte' in the fallback case.

5 years ago(dirtrack-toggle, dirtrackp): Remove obsolete aliases
Lars Ingebrigtsen [Fri, 17 May 2019 15:37:35 +0000 (17:37 +0200)]
(dirtrack-toggle, dirtrackp): Remove obsolete aliases

* lisp/dirtrack.el (dirtrack-toggle, dirtrackp): Remove
function/variable aliases declared obsolete in Emacs 23.1 (and
that issued a byte-compile warning).

5 years agoClean up and simplify image-type setup
Paul Eggert [Sat, 18 May 2019 01:41:22 +0000 (18:41 -0700)]
Clean up and simplify image-type setup

This also fixes an unlikely hang involving a circular image
description.
* src/dispextern.h (struct image.type): Now pointer-to-const.
* src/image.c (struct image_type.init) [!WINDOWSNT]: Omit.
(IMAGE_TYPE_INIT): New macro.
(image_types): Now a small array-of-const, not a pointer.
(CACHE_IMAGE_TYPE): Remove; the code’s simpler without it.
(ADD_IMAGE_TYPE): Remove this macro, replacing with ...
(add_image_type): ... this equivalent function.  All uses changed.
(define_image_type): Remove.  All uses removed.
(valid_image_p): Use FOR_EACH_TAIL_SAFE to avoid Emacs hanging
if the user creates a circular description of an image.
(xbm_type, xpm_type, pbm_type, png_type, jpeg_type, tiff_type)
(gif_type, imagemagick_type, svg_type, gs_type):
Remove; now done by image_types.
(init_imagemagick_functions): Remove decl of nonexistent function.
(gs_clear_image): Remove; all uses replaced by image_clear_image.
(initialize_image_type): New function, which captures a lot
of the previously-scattered WINDOWSNT ifdefs.
(lookup_image_type): Use it.
(reset_image_types): Remove.  All uses removed.
(syms_of_image): Don’t worry about ignoring image_types for
pdumper, since it’s a constant now.

5 years ago* lisp/gnus/gnus-sum.el (gnus-tmp-thread): New var
Stefan Monnier [Fri, 17 May 2019 18:42:36 +0000 (14:42 -0400)]
* lisp/gnus/gnus-sum.el (gnus-tmp-thread): New var

The recent change to use lexical-binding introduced a bug because
gnus-summary-line-format-alist refers to variable `thread` which is now
lexical and hence not available there any more.  Replace it with
a dynamically scoped var `gnus-tmp-thread` as was already done with
all other vars.

(gnus-summary-line-format-alist): Use it instead of `thread`.
(gnus-summary-prepare-threads): Bind it around call to (eval
gnus-summary-line-format-spec).

5 years agoMove Info-edit-* commands from info.el to obsolete/info-edit.el
Lars Ingebrigtsen [Fri, 17 May 2019 11:55:43 +0000 (13:55 +0200)]
Move Info-edit-* commands from info.el to obsolete/info-edit.el

* lisp/info.el: Move Info-edit-* commands to obsolete/info-edit.el.

* lisp/obsolete/info-edit.el: New file.

5 years agoUse cl-assert instead of assert in ps-print.el
Lars Ingebrigtsen [Fri, 17 May 2019 10:27:26 +0000 (12:27 +0200)]
Use cl-assert instead of assert in ps-print.el

* lisp/ps-print.el (ps-begin-job): Use cl-assert instead of assert
and require cl-lib.

5 years ago(ps-begin-job): Remove two unneeded string-as-unibyte calls
Lars Ingebrigtsen [Fri, 17 May 2019 10:16:19 +0000 (12:16 +0200)]
(ps-begin-job): Remove two unneeded string-as-unibyte calls

* lisp/ps-print.el (ps-begin-job): Remove two unneeded
string-as-unibyte calls to avoid byte compilation warnings.

5 years agoFix a recent commit in select.el
Eli Zaretskii [Fri, 17 May 2019 08:01:20 +0000 (11:01 +0300)]
Fix a recent commit in select.el

* lisp/select.el (gui-get-selection): Revert a recent
incorrect change.  Add a comment explaining what we are trying
to do with C_STRING and why.
(xselect--encode-string): Add a comment explaining what we are
trying to do with C_STRING and why.

5 years agoRemove obsolete example functions from imenu.el
Lars Ingebrigtsen [Fri, 17 May 2019 04:53:58 +0000 (06:53 +0200)]
Remove obsolete example functions from imenu.el

* lisp/imenu.el (imenu-example--create-c-index)
(imenu-example--function-name-regexp-c)
(imenu-example--create-lisp-index)
(imenu-example--lisp-extract-index-name): Remove functions (and
internal variables used by those functions) declared obsolete in
Emacs 23.2.  The functions gave compilation warnings.

5 years agoRemove unused internal function completion-pcm--optimize-pattern
Lars Ingebrigtsen [Fri, 17 May 2019 04:21:37 +0000 (06:21 +0200)]
Remove unused internal function completion-pcm--optimize-pattern

* lisp/minibuffer.el (completion-pcm--optimize-pattern): Remove
unused internal function (that signalled a compilation warning).

5 years ago* lisp/gnus: Remove assumptions about mail-header being a vector
Stefan Monnier [Fri, 17 May 2019 04:09:16 +0000 (00:09 -0400)]
* lisp/gnus: Remove assumptions about mail-header being a vector

Use `mail-header-p` and `make-full-mail-header` instead of `vectorp` and
`vector`, respectively.

* lisp/gnus/message.el (message-cite-original-1, message-reply)
(message-followup):
* lisp/gnus/gnus-sum.el (gnus-get-newsgroup-headers):
Use make-full-mail-header instead of `vector`.
(gnus--dummy-mail-header): New const, using make-full-mail-header.
(gnus-update-summary-mark-positions): Use it instead of
an immediate vector.
(gnus-set-mode-line, gnus-summary-article-pseudo-p)
(gnus-summary-article-subject, gnus-summary-insert-subject)
(gnus-summary-find-subject, gnus-summary-goto-subject)
(gnus-summary-limit-to-age, gnus-summary-find-matching)
(gnus-summary-mark-article-as-unread, gnus-summary-mark-article)
(gnus-summary-save-article):
* lisp/gnus/gnus.el (gnus-news-group-p): Use mail-header-p instead
of vectorp.

5 years agoDeclare fileloop-continue in dired-aux to avoid warning
Lars Ingebrigtsen [Fri, 17 May 2019 04:07:00 +0000 (06:07 +0200)]
Declare fileloop-continue in dired-aux to avoid warning

* lisp/dired-aux.el (fileloop-continue): Declare to avoid
compilation warning.  `fileloop-initialize-search' (used before
-continue) will load fileloop.el.

5 years agoAvoind string-as-multibyte in ps-output-string-prim
Lars Ingebrigtsen [Fri, 17 May 2019 04:00:22 +0000 (06:00 +0200)]
Avoind string-as-multibyte in ps-output-string-prim

* lisp/ps-print.el (ps-output-string-prim): Avoid
`string-as-multibyte', and encode as utf-8 instead if multibyte.

5 years ago(gui-get-selection): Avoid using `string-to-multibyte'
Lars Ingebrigtsen [Fri, 17 May 2019 03:42:12 +0000 (05:42 +0200)]
(gui-get-selection): Avoid using `string-to-multibyte'

* lisp/select.el (gui-get-selection): Avoid using
`string-to-multibyte' -- instead encode as `eight-bit' if the
string is unibyte.

5 years agoDeclare two w32 functions to avoid byte compilation warnings
Lars Ingebrigtsen [Fri, 17 May 2019 03:18:12 +0000 (05:18 +0200)]
Declare two w32 functions to avoid byte compilation warnings

* lisp/w32-fns.el (w32-version, w32-read-registry): Declare these
functions to avoid byte compilation warnings.  The functions
should be loaded when `w32--os-description' is called, as far as I
can tell.

5 years agoRemove obsolete epg functions
Lars Ingebrigtsen [Fri, 17 May 2019 02:47:31 +0000 (04:47 +0200)]
Remove obsolete epg functions

* lisp/epg.el (epg-start-sign-keys, epg-sign-keys): Remove
functions declared obsolete since Emacs 23.1.

5 years agoDeclare rectangle functions in mouse.el to avoid warnings
Lars Ingebrigtsen [Fri, 17 May 2019 02:22:08 +0000 (04:22 +0200)]
Declare rectangle functions in mouse.el to avoid warnings

* lisp/mouse.el (rectangle-dimensions)
(rectangle-position-as-coordinates, rectangle-intersect-p):
Declare these functions from rect.el to avoid compilation warnings.

5 years ago* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Fix docstring of accessors.
Stefan Monnier [Fri, 17 May 2019 02:00:57 +0000 (22:00 -0400)]
* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Fix docstring of accessors.

5 years ago* lisp/gnus/nnheader.el (mail-header-*): Define via cl-defstruct
Stefan Monnier [Fri, 17 May 2019 01:50:16 +0000 (21:50 -0400)]
* lisp/gnus/nnheader.el (mail-header-*): Define via cl-defstruct

This also has the side effect that the accessors are now defined as proper
functions rather than as macros, so they can be passed to `mapcar` etc..

* lisp/gnus/nnheader.el (mail-header-number, mail-header-subject)
(mail-header-from, mail-header-date, mail-header-id)
(mail-header-references, mail-header-chars, mail-header-lines)
(mail-header-xref, mail-header-extra): Define via cl-defstruct.
(mail-header-set-number, mail-header-set-subject)
(mail-header-set-from, mail-header-set-date, mail-header-set-id)
(mail-header-set-message-id, mail-header-set-references)
(mail-header-set-chars, mail-header-set-lines, mail-header-set-xref)
(mail-header-set-extra): Remove, use `setf` instead.  All callers adjusted.

* lisp/gnus/gnus-sum.el (gnus-select-newsgroup)
(gnus-summary-pop-limit, gnus-summary-limit-mark-excluded-as-read)
(gnus-summary-find-matching, gnus-find-matching-articles):
* lisp/gnus/gnus-kill.el (gnus-apply-kill-file-internal, gnus-execute):
* lisp/gnus/gnus-score.el (gnus-score-adaptive):
Eta-reduce, now that mail-header-FIELD are functions.

5 years agoFix ffap behavior in the Gnus group buffer (bug#35693)
Katsumi Yamaoka [Fri, 17 May 2019 01:34:47 +0000 (01:34 +0000)]
Fix ffap behavior in the Gnus group buffer (bug#35693)

* lisp/ffap.el (ffap-file-exists-string, ffap-file-at-point):
Don't recognize "" as a path or a file name (bug#35693).

5 years ago* mule.el (set-buffer-file-coding-system): Don't burp on iso-2022-7bit
Stefan Monnier [Fri, 17 May 2019 00:49:06 +0000 (20:49 -0400)]
* mule.el (set-buffer-file-coding-system): Don't burp on iso-2022-7bit

5 years agoMake `package' not "uninhibit" messages (Bug#34037)
Paul Pogonyshev [Thu, 10 Jan 2019 19:39:54 +0000 (20:39 +0100)]
Make `package' not "uninhibit" messages (Bug#34037)

* lisp/emacs-lisp/package.el: Don't let-bind inhibit-message to a
different value if it was non-nil.

5 years agoFix gnus-summary-expand-window placement of point
Basil L. Contovounesios [Tue, 7 May 2019 12:46:22 +0000 (13:46 +0100)]
Fix gnus-summary-expand-window placement of point

* lisp/gnus/gnus-win.el (gnus-configure-frame): Replace
switch-to-buffer with pop-to-buffer-same-window to avoid messing
with point. (bug#35613)

5 years agoAdd docstring to project--read-file-cpd-relative
Basil L. Contovounesios [Thu, 16 May 2019 22:26:27 +0000 (23:26 +0100)]
Add docstring to project--read-file-cpd-relative

For discussion, see thread starting at:
https://lists.gnu.org/archive/html/emacs-devel/2019-05/msg00460.html
* lisp/progmodes/project.el (project--read-file-cpd-relative):
Describe arglist as promised by user option
project-read-file-name-function.

5 years ago* cl-macs-tests.el (cl-macs-test--symbol-macrolet): New test
Stefan Monnier [Thu, 16 May 2019 21:16:36 +0000 (17:16 -0400)]
* cl-macs-tests.el (cl-macs-test--symbol-macrolet): New test

5 years agoFix stray call to make-vector
Eric Abrahamsen [Thu, 16 May 2019 19:47:18 +0000 (12:47 -0700)]
Fix stray call to make-vector

* lisp/gnus/gnus-agent.el (gnus-agent-fetch-group-1): This is meant to
  be a hash table.

5 years ago* lisp/emacs-lisp/cl-macs.el (cl--sm-macroexpand) <setq>: Rewrite
Stefan Monnier [Thu, 16 May 2019 19:29:36 +0000 (15:29 -0400)]
* lisp/emacs-lisp/cl-macs.el (cl--sm-macroexpand) <setq>: Rewrite

The previous code had 2 problems:
- It converted `setq` to `setf` in unrelated cases such as
  (cl-symbol-macrolet ((x 1)) (setq (car foo) bar))
- It macroexpanded places before `setf` had a chance to see if they
  have a gv-expander.

5 years agoDistribute test cases in tarballs by default
Paul Eggert [Thu, 16 May 2019 17:42:27 +0000 (10:42 -0700)]
Distribute test cases in tarballs by default

* INSTALL, INSTALL.REPO, admin/make-tarball.txt:
Mention ‘make check’.
* configure.ac: Update comment.
* etc/NEWS: Say that tarballs have a test directory.
* make-dist (with_tests): Default to "yes".
Add an option --no-tests to make it "no".

5 years agoMake shr-rescale-image respect get-buffer-window again
Lars Ingebrigtsen [Thu, 16 May 2019 11:38:11 +0000 (13:38 +0200)]
Make shr-rescale-image respect get-buffer-window again

* lisp/net/shr.el (shr-rescale-image): Partially revert previous
change -- ressurrect the check for `get-buffer-window'.

5 years agoImprove user convenience of the rcirc debug buffer
Ivan Shmakov [Fri, 14 Sep 2018 19:05:12 +0000 (19:05 +0000)]
Improve user convenience of the rcirc debug buffer

* lisp/net/rcirc.el (rcirc-debug): Ignore rcirc-debug-buffer read-only
status.  Restore point after insertion unless it was at the end.
Ensure a newline before each [lead].  Replace %Y-%m-%d with the
equivalent %F in format-time-string; remove useless concat.  (Bug#32470)

5 years agoAccept NO-PROPERTIES in thing-at-point aliases (Bug#35491)
Noam Postavsky [Tue, 7 May 2019 22:15:35 +0000 (18:15 -0400)]
Accept NO-PROPERTIES in thing-at-point aliases (Bug#35491)

* lisp/thingatpt.el (word-at-point, sentence-at-point): Accept and
pass NO-PROPERTIES to thing-at-point.
* etc/NEWS: Announce change.

5 years ago* lisp/net/tramp.el (tramp-yesno-prompt-regexp): Extend.
Michael Albinus [Thu, 16 May 2019 06:36:33 +0000 (08:36 +0200)]
* lisp/net/tramp.el (tramp-yesno-prompt-regexp): Extend.

5 years ago* lisp/textmodes/sgml-mode.el (sgml-syntax-propertize-rules): Fix typo
Stefan Monnier [Thu, 16 May 2019 02:21:36 +0000 (22:21 -0400)]
* lisp/textmodes/sgml-mode.el (sgml-syntax-propertize-rules): Fix typo

* test/lisp/textmodes/sgml-mode-tests.el (sgml-tests--quotes-syntax):
New corresponding test.

5 years agoFix merge of sgml-syntax-propertize-rules
Noam Postavsky [Wed, 15 May 2019 22:51:30 +0000 (18:51 -0400)]
Fix merge of sgml-syntax-propertize-rules

During the merge of emacs-26, the sgml-syntax-propertize-rules part of
2019-01-17 "* lisp/textmodes/sgml-mode.el: Try and fix bug#33887." got
lost in the conflict against 2019-05-09 "Recognize single quote
attribute values in nxml and sgml (Bug#35381)".
* lisp/textmodes/sgml-mode.el (sgml-syntax-propertize-rules): Reapply
the 2019-01-17 change to speed up sgml-syntax-propertize-rules, taking
into account the 2019-05-09 which means we have to handle single
quotes as well.

5 years agoFix diff-mode face problem when used in terminals (Bug#35695)
Anders Lindgren [Wed, 15 May 2019 19:00:49 +0000 (21:00 +0200)]
Fix diff-mode face problem when used in terminals (Bug#35695)

In a terminal supporting 256 colors, both diff-added and diff-removed
was mapped to the same greyish color.

* lisp/vc/diff-mode.el: Modify the colors of diff-removed,
  diff-added, diff-refine-removed, and diff-refine-added when
  used in a 256 color environment.

5 years ago* lisp/gnus/gnus-sum.el: Use lexical-binding
Stefan Monnier [Wed, 15 May 2019 17:53:13 +0000 (13:53 -0400)]
* lisp/gnus/gnus-sum.el: Use lexical-binding

(gnus-summary-make-menu-bar, gnus-summary-display-make-predicate)
(gnus-summary-refer-thread, gnus-summary-find-matching)
(gnus-summary-edit-article, gnus-summary-sort):
Replace backquoted lambda with closure.
(gnus-summary-article-header): Use define-inline rather than defmacro,
so it's also a function.
(gnus-save-hidden-threads, gnus-summary-iterate, gnus-with-article):
Use `declare`.
(gnus-thread-sort-by-random): Simplify.
(gnus-summary-display-article, gnus-summary-limit-to-address):
Hoist common code outside of `if`.

5 years agoTune reading of radix integers
Paul Eggert [Wed, 15 May 2019 17:26:54 +0000 (10:26 -0700)]
Tune reading of radix integers

This improves the performance of (read "%xFF") by about 25%
on my platform.
* src/lread.c: Include <vla.h>, so that we can better document
buffer sizes of arguments.
(invalid_radix_integer_format, stackbufsize): New constants.
(free_contents): Remove.  All uses removed.
(invalid_radix_integer): New function.
(read_integer): New arg STACKBUF.  Assume radix is in range.
All uses changed.  Use STACKBUF to avoid calling malloc in the
usual case.  Use grow_read_buffer to simplify.
(read1): Tune.  Improve quality of diagnostic when
MOST_POSITIVE_FIXNUM < radix <= EMACS_INT_MAX.

5 years ago* lisp/mail/footnote.el (footnote-prefix): Docstring typo.
Stefan Monnier [Wed, 15 May 2019 17:00:51 +0000 (13:00 -0400)]
* lisp/mail/footnote.el (footnote-prefix): Docstring typo.

5 years agoAdd standard unmatchable regexp
Mattias Engdegård [Tue, 14 May 2019 09:43:49 +0000 (11:43 +0200)]
Add standard unmatchable regexp

Add `regexp-unmatchable' as a standard unmatchable regexp, defined as
"\\`a\\`".  Use it where such a regexp is needed, replacing slower
expressions in several places.
From a suggestion by Philippe Schnoebelen.

* lisp/subr.el (regexp-unmatchable): New defconst.
* etc/NEWS (Lisp Changes): Mention `regexp-unmatchable'.
* doc/lispref/searching.texi (Regexp Functions): Document it.
* lisp/emacs-lisp/regexp-opt.el (regexp-opt)
* lisp/progmodes/cc-defs.el (cc-conditional-require-after-load)
(c-make-keywords-re)
* lisp/progmodes/cc-engine.el (c-beginning-of-statement-1)
(c-forward-<>-arglist-recur, c-forward-decl-or-cast-1)
(c-looking-at-decl-block)
* lisp/progmodes/cc-fonts.el (c-doc-line-join-re)
(c-doc-bright-comment-start-re)
* lisp/progmodes/cc-langs.el (c-populate-syntax-table)
(c-assignment-op-regexp)
(c-block-comment-ender-regexp, c-font-lock-comment-end-skip)
(c-block-comment-start-regexp, c-line-comment-start-regexp)
(c-doc-comment-start-regexp, c-decl-start-colon-kwd-re)
(c-type-decl-prefix-key, c-type-decl-operator-prefix-key)
(c-pre-id-bracelist-key, c-enum-clause-introduction-re)
(c-nonlabel-token-2-key)
* lisp/progmodes/cc-mode.el (c-doc-fl-decl-start, c-doc-fl-decl-end)
* lisp/progmodes/cc-vars.el (c-noise-macro-with-parens-name-re)
(c-noise-macro-name-re, c-make-noise-macro-regexps)
* lisp/progmodes/octave.el (octave-help-mode)
* lisp/vc/vc-bzr.el (vc-bzr-log-view-mode, vc-bzr-revision-completion-table)
* lisp/vc/vc-git.el (vc-git-log-view-mode)
* lisp/vc/vc-hg.el (vc-hg-log-view-mode)
* lisp/vc/vc-mtn.el (vc-mtn-log-view-mode):
Use `regexp-unmatchable'.
* lisp/textmodes/ispell.el (ispell-non-empty-string):
Use `regexp-unmatchable', fixing a broken never-match regexp.

5 years agoAvoid infinitly looping in tramp-interrupt-process (bug#35506)
John Shahid [Wed, 15 May 2019 14:29:58 +0000 (16:29 +0200)]
Avoid infinitly looping in tramp-interrupt-process (bug#35506)

* lisp/net/tramp.el (tramp-interrupt-process): Remove with-timeout.
Instead pass a timeout to tramp-accept-process-output.
tramp-accept-process-output stops timers from running which makes the
with-timeout ineffective.

5 years agoCC Mode: fix indentation in switch statement after "case a(1):".
Alan Mackenzie [Wed, 15 May 2019 08:58:31 +0000 (08:58 +0000)]
CC Mode: fix indentation in switch statement after "case a(1):".

* lisp/progmodes/cc-engine.el (c-beginning-of-statement-1): Enhance the
analysis of case labels to handle parenthesised expressions (e.g. macros).

* lisp/progmodes/cc-langs.el (c-nonlabel-nonparen-token-key): New lang const
and lang var.

5 years agoDescribe error data in url-retrieve better
Lars Ingebrigtsen [Wed, 15 May 2019 07:45:08 +0000 (09:45 +0200)]
Describe error data in url-retrieve better

* lisp/url/url.el (url-retrieve): Describe the error data more in
depth (bug#25735).

5 years agoDon't have url-basic-auth bug out when called with an URL string
Lars Ingebrigtsen [Wed, 15 May 2019 05:34:35 +0000 (07:34 +0200)]
Don't have url-basic-auth bug out when called with an URL string

* lisp/url/url-auth.el (url-basic-auth): Pass the parsed URL
object to the prompting function instead of the parameter that's
possibly a string (bug#26708).  Passing url-basic-auth with a
string parameter would fail if passed a non-parsed URL.

5 years agoFix obscure HTTP chunked parsing problem
Lars Ingebrigtsen [Wed, 15 May 2019 05:12:26 +0000 (07:12 +0200)]
Fix obscure HTTP chunked parsing problem

* lisp/url/url-http.el
(url-http-chunked-encoding-after-change-function): Ensure that we
parse the entire initial chunked header as the length (bug#35658).

5 years agoIndent url-http-chunked-encoding-after-change-function
Lars Ingebrigtsen [Wed, 15 May 2019 04:59:12 +0000 (06:59 +0200)]
Indent url-http-chunked-encoding-after-change-function

5 years agoFix url-auth prompts when realm is empty
Thomas Fitzsimmons [Wed, 15 May 2019 04:14:21 +0000 (06:14 +0200)]
Fix url-auth prompts when realm is empty

* lisp/url/url-auth.el (url-get-authentication): When realm is
empty, use the entire URL in the prompt (bug#35688).

5 years agoMake image scaling work without imagemagick support in eww
Lars Ingebrigtsen [Wed, 15 May 2019 00:53:56 +0000 (02:53 +0200)]
Make image scaling work without imagemagick support in eww

* lisp/net/shr.el (shr-rescale-image): Emacs has native image
scaling now, so images can be rescaled without imagemagick
support.

5 years ago; Merge from origin/emacs-26
Glenn Morris [Wed, 15 May 2019 00:18:19 +0000 (17:18 -0700)]
; Merge from origin/emacs-26

The following commits were skipped:

cf54577 (origin/emacs-26) Backport: fix broken build on m68k
202ff53 Handle GNUTLS_E_AGAIN in emacs_gnutls_read (Bug#34341)

5 years agoMerge from origin/emacs-26
Glenn Morris [Wed, 15 May 2019 00:18:18 +0000 (17:18 -0700)]
Merge from origin/emacs-26

02bee78 Let dir locals for more specific modes override those from less
b1235f9 Improve documentation of Hexl mode
32d1813 Fix description of (move-to-column <n> t) when column <n> is ...
0397b7c ; Fix smtpmail-stream-type docstring
7dab3ee Recognize single quote attribute values in nxml and sgml (Bug...
e4cde42 Disable extra display of &#10; in nxml-mode (Bug#32897)
ca14dd1 Fix nxml-get-inside (Bug#32003)
e7ab351 Fix positioning client buffer as instructed by emacsclient

# Conflicts:
# lisp/files.el
# lisp/textmodes/sgml-mode.el

5 years ago; Merge from origin/emacs-26
Glenn Morris [Wed, 15 May 2019 00:10:28 +0000 (17:10 -0700)]
; Merge from origin/emacs-26

The following commit was skipped:

916510b * etc/package-keyring.gpg: Add the 2019 key (backport)

5 years ago* lisp/progmodes/project.el (project-read-file-name-function): Fix type.
Juri Linkov [Tue, 14 May 2019 20:40:31 +0000 (23:40 +0300)]
* lisp/progmodes/project.el (project-read-file-name-function): Fix type.

5 years agoBackport: fix broken build on m68k
Paul Eggert [Mon, 13 May 2019 19:43:13 +0000 (12:43 -0700)]
Backport: fix broken build on m68k

The GCC + valgrind fix caused the m68k build to fail (Bug#35711).
Simplify string allocation a bit to make similar problems less
likely in the future.
* src/alloc.c (sdata, SDATA_NBYTES, SDATA_DATA) [GC_CHECK_STRING_BYTES]:
Use the same implementation as with !GC_CHECK_STRING_BYTES,
as the special case is no longer needed.
(SDATA_ALIGN): New constant.
(SDATA_SIZE): Remove this macro, replacing with ...
(sdata_size): ... this new function.  All uses changed.
Properly account for sizes and alignments even in the m68k case,
and even if GC_CHECK_STRING_BYTES is not defined.

5 years ago* lisp/savehist.el: Use lexical-binding
Stefan Monnier [Tue, 14 May 2019 18:00:58 +0000 (14:00 -0400)]
* lisp/savehist.el: Use lexical-binding

Remove redundant :group args.
(savehist-no-conversion): Remove constant.
(savehist-save): Use savehist-coding-system instead since it's no slower.

5 years agoDefault to disabling ImageMagick (Bug#33587)
Paul Eggert [Tue, 14 May 2019 05:59:29 +0000 (22:59 -0700)]
Default to disabling ImageMagick (Bug#33587)

ImageMagick has continuing stability and security problems, suggesting
that 'configure' should disable it by default.  See Glenn Morris's notes
at: https://lists.gnu.org/r/emacs-devel/2018-12/msg00036.html
* INSTALL, etc/NEWS, nt/INSTALL.W64: Mention this.
* configure.ac (imagemagick): Default to off.

5 years agoAllow customizing the display of project file names when reading
Dmitry Gutov [Tue, 14 May 2019 02:09:19 +0000 (05:09 +0300)]
Allow customizing the display of project file names when reading

To hopefully resolve a long-running discussion
(https://lists.gnu.org/archive/html/emacs-devel/2019-05/msg00162.html).

* lisp/progmodes/project.el (project-read-file-name-function):
New variable.
(project--read-file-absolute, project--read-file-cpd-relative):
New functions, possible values for the above.
(project-find-file-in): Use the introduced variable.
(project--completing-read-strict): Retain just the logic that fits
the name.

5 years agoAvoid artifacts in ftx and ftcr font backend drivers
YAMAMOTO Mitsuharu [Tue, 14 May 2019 01:17:16 +0000 (10:17 +0900)]
Avoid artifacts in ftx and ftcr font backend drivers

* src/ftcrfont.c (ftcrfont_open):
* src/ftfont.c (ftfont_open2): Make font->height equal to sum of font->ascent
and font->descent.  Respect :minspace property.
(ftfont_open2): Remove redundant assignment.
(syms_of_ftfont) <QCminspace>: New DEFSYM.

5 years agoFix mail-header-separator font lock in message.el
Basil L. Contovounesios [Mon, 18 Mar 2019 18:21:15 +0000 (18:21 +0000)]
Fix mail-header-separator font lock in message.el

* lisp/gnus/message.el (message-font-lock-keywords): Dynamically
font lock mail-header-separator, in case it changes. (bug#34898)

5 years agoExtract common code for adding text properties
Kévin Le Gouguec [Sun, 12 May 2019 16:55:01 +0000 (18:55 +0200)]
Extract common code for adding text properties

* lisp/font-lock.el (font-lock--add-text-property):
New function.
(font-lock-prepend-text-property)
(font-lock-append-text-property): Use it.

(Bug#35476)

5 years agoStop splicing anonymous faces in font-lock-append-text-property
Kévin Le Gouguec [Sun, 12 May 2019 16:36:09 +0000 (18:36 +0200)]
Stop splicing anonymous faces in font-lock-append-text-property

This is the same fix as 2019-04-29 "Refrain from splicing anonymous
faces in text properties", which was only applied to
font-lock-prepend-text-property.

* lisp/font-lock.el (font-lock-append-text-property): Distinguish list
of faces from property list.
* test/lisp/font-lock-tests.el: New test suite.

(Bug#35476)

5 years agoHandle GNUTLS_E_AGAIN in emacs_gnutls_read (Bug#34341)
Noam Postavsky [Mon, 6 May 2019 23:55:17 +0000 (19:55 -0400)]
Handle GNUTLS_E_AGAIN in emacs_gnutls_read (Bug#34341)

Don't merge to master, this has already been fixed there by 2019-01-15
"Fix unlikely races with GnuTLS, datagrams".
* src/gnutls.c (emacs_gnutls_read): Similar to emacs_gnutls_write,
when gnutls_record_recv returns GNUTLS_E_AGAIN set errno to EGAIN.

5 years agoDo not hard-code message-mode keys in docstring
Basil L. Contovounesios [Mon, 7 May 2018 15:42:41 +0000 (16:42 +0100)]
Do not hard-code message-mode keys in docstring

* lisp/gnus/message.el (message-mode): Replace hard-coded bindings
in docstring with summary of message-mode-map. (bug#31388)

5 years agoFix last change to message-signature :type
Basil L. Contovounesios [Mon, 13 May 2019 22:23:06 +0000 (23:23 +0100)]
Fix last change to message-signature :type

* lisp/gnus/message.el (message-signature): List more specific :type
alternatives before more general ones, as per "(elisp) Composite
Types".

5 years agoDocument nil value of message-signature and mail-signature
Robert Pluim [Mon, 13 May 2019 20:45:16 +0000 (16:45 -0400)]
Document nil value of message-signature and mail-signature

* lisp/gnus/message.el (message-signature): Allow nil as a
customizable value, and describe its effect.
* lisp/mail/sendmail.el (mail-signature): Describe effect of nil
value (bug#32680).

5 years ago* lisp/vc/log-view.el (log-view-diff-common): Use the previous revision
Juri Linkov [Mon, 13 May 2019 20:40:11 +0000 (23:40 +0300)]
* lisp/vc/log-view.el (log-view-diff-common): Use the previous revision

only when the end of the region is on a line after the last entry.
(Bug#35624)

5 years ago[PATCH 1/1] Adds variable 'eww-accept-content-types'
Alexandre Garreau [Mon, 13 May 2019 20:34:06 +0000 (16:34 -0400)]
[PATCH 1/1] Adds variable 'eww-accept-content-types'

* lisp/gnus/message.el (message-simplify-subject): Decouple
simplification from "Re:" adding (bug#33200).
(message-reply): Add the "Re:"'s here.
(message-followup): And here.

5 years agoMake mml respect the "recipient-filename" parameter
Lars Ingebrigtsen [Mon, 13 May 2019 20:16:10 +0000 (16:16 -0400)]
Make mml respect the "recipient-filename" parameter

* lisp/gnus/mml.el (mml-insert-mime-headers): Implement the
already-documented "recipient-filename" parameter (bug#34654).

5 years agoMake eww understand #fragment URLs at point interactively
Lars Ingebrigtsen [Mon, 13 May 2019 19:17:00 +0000 (15:17 -0400)]
Make eww understand #fragment URLs at point interactively

* lisp/net/eww.el (eww-suggest-uris): Use
thing-at-point-url-at-point instead of url-get-url-at-point
(bug#31927) because it's much better at guessing what the URL
actually is (especially with #fragments).

5 years agoFix broken build on m68k
Paul Eggert [Mon, 13 May 2019 19:43:13 +0000 (12:43 -0700)]
Fix broken build on m68k

The GCC + valgrind fix caused the m68k build to fail (Bug#35711).
Simplify string allocation a bit to make similar problems less
likely in the future.
* src/alloc.c (sdata, SDATA_NBYTES, SDATA_DATA) [GC_CHECK_STRING_BYTES]:
Use the same implementation as with !GC_CHECK_STRING_BYTES,
as the special case is no longer needed.
(SDATA_ALIGN): New constant.
(SDATA_SIZE): Remove this macro, replacing with ...
(sdata_size): ... this new function.  All uses changed.
Properly account for sizes and alignments even in the m68k case,
and even if GC_CHECK_STRING_BYTES is not defined.

5 years agoAdd a comment about the previous shr change
Lars Ingebrigtsen [Mon, 13 May 2019 19:10:33 +0000 (15:10 -0400)]
Add a comment about the previous shr change

5 years agoFix problems in shr when indenting tables
Lars Ingebrigtsen [Mon, 13 May 2019 19:04:46 +0000 (15:04 -0400)]
Fix problems in shr when indenting tables

* lisp/net/shr.el (shr-mark-fill, shr-insert-table): Fix problems
when block-quoting/<li>-ing a table -- the indentation/prefix was
inserted twice (bug#32277).

5 years agoUse a more specific Accepts header in eww
Federico Tedin [Mon, 13 May 2019 18:06:16 +0000 (14:06 -0400)]
Use a more specific Accepts header in eww

* lisp/net/eww.el (eww-accept-content-types): New variable.
(eww): Use it.
(eww-reload): Use it. (bug#33002).

Copyright-paperwork-exempt: yes

5 years ago; * lisp/faces.el (fill-column-indicator): Fix typo.
Jimmy Aguilar Mena [Sun, 12 May 2019 21:20:54 +0000 (23:20 +0200)]
; * lisp/faces.el (fill-column-indicator): Fix typo.

5 years ago(eww-follow-link): Record the location properly when following #links
Xu Chunyang [Sun, 12 May 2019 20:35:49 +0000 (16:35 -0400)]
(eww-follow-link): Record the location properly when following #links

* lisp/net/eww.el (eww-follow-link): Record the location properly
when following #links (bug#35445).

5 years ago* lisp/emacs-lisp/packages.el: Add `all` to package-check-signature
Stefan Monnier [Sun, 12 May 2019 17:03:24 +0000 (13:03 -0400)]
* lisp/emacs-lisp/packages.el: Add `all` to package-check-signature

(package-check-signature): Add `all` option.
(package--check-signature-content): Adjust accordingly.

5 years agoLet dir locals for more specific modes override those from less
Neil Roberts [Fri, 10 May 2019 10:57:28 +0000 (12:57 +0200)]
Let dir locals for more specific modes override those from less

The list of dir local variables to apply is now sorted by the number
of parent modes of the mode used as the key in the association list.
That way when the variables are applied in order the variables from
more specific modes will override those from less specific modes.

If there are directory entries in the list then they are sorted in
order of name length.  The list of modes for that dir is then
recursively sorted with the same mechanism.  That way variables tied
to a particular subdirectory override those in in a parent directory.

Previously the behaviour didn’t seem to be well defined anyway and was
dependent on the order they appeared in the file.  However this order
was changed in version 26.1 and it probably also depended on the
number of dir-local files that are merged.

Bug#33400

* lisp/files.el (dir-locals-get-sort-score, dir-locals-sort-variables)
(dir-locals-read-from-dir): Sort the dir locals so that more precise
modes and directory-specific entries have override lesser ones.
* doc/emacs/custom.texi (Directory Variables): Document the priority.

5 years agoImprove printing for named keyboard macros (Bug#35486)
Noam Postavsky [Sun, 5 May 2019 17:24:15 +0000 (13:24 -0400)]
Improve printing for named keyboard macros (Bug#35486)

* lisp/macros.el (macros--insert-vector-macro): New function,
extracted from insert-kbd-macro.
(insert-kbd-macro): Use it and kmacro-extract-lambda to produce nicer
expressions for macros produced by kmacro-lambda-form.

5 years agoUse remapping in ffap-bindings (Bug#35577)
Noam Postavsky [Sun, 5 May 2019 13:13:19 +0000 (09:13 -0400)]
Use remapping in ffap-bindings (Bug#35577)

* lisp/ffap.el (ffap-bindings): Bind to the [remap COMMAND] instead of
hardcoding the default keybindings.  This better adapts better if
non-default are used.  And lets the original keybindings be
remembered, so that, e.g., \[find-file] in docstrings will still be
substituted with C-x C-f (even though that binding has been remapped
to find-file-at-point.

5 years agoFix Gnus summary widget navigation across frames
Basil L. Contovounesios [Sat, 4 May 2019 15:29:39 +0000 (16:29 +0100)]
Fix Gnus summary widget navigation across frames

* lisp/gnus/gnus-sum.el (gnus-summary-widget-forward)
(gnus-summary-widget-backward): Signal more informative error if
article window is not found.  Consider other frames displaying
article buffer, and raise its frame before navigating its
widgets. (bug#35565)
* lisp/gnus/gnus-win.el (gnus-get-buffer-window): Simplify and add
docstring.

5 years agoMake application/x-patch inlinable in mm-decode.el
Basil L. Contovounesios [Thu, 11 Apr 2019 13:42:20 +0000 (14:42 +0100)]
Make application/x-patch inlinable in mm-decode.el

* lisp/gnus/mm-decode.el (mm-inline-media-tests, mm-inlined-types):
Include application/x-patch as a synonym of text/x-patch and
text/x-diff. (bug#35236)

5 years agoFix some gnus-msg.el variables (bug#35239)
Basil L. Contovounesios [Thu, 11 Apr 2019 22:55:03 +0000 (23:55 +0100)]
Fix some gnus-msg.el variables (bug#35239)

* lisp/gnus/gnus-msg.el (gnus-gcc-externalize-attachments):
Fix custom :type.
(gnus-debug-files, gnus-debug-exclude-variables): Mark variables
that have been unused since Emacs 24.1 as obsolete.
(gnus-check-before-posting): Remove unused variable.

5 years agoUse characters, not symbols for table-cell-bindings
Mauro Aranda [Thu, 2 May 2019 12:51:01 +0000 (09:51 -0300)]
Use characters, not symbols for table-cell-bindings

* lisp/textmodes/table.el (table-cell-bindings): Add missing '?', to
avoid confusion between symbols and characters in bindings.  (Bug#35533)

5 years agoImprove documentation of Hexl mode
Eli Zaretskii [Sat, 11 May 2019 12:00:06 +0000 (15:00 +0300)]
Improve documentation of Hexl mode

* doc/emacs/misc.texi (Editing Binary Files): Clarify
"insertion".  Improve wording.  Add a few Hexl commands.
(Bug#35580)

5 years agoGenerate some repetitive WordStar code with macros
Mark Oteiza [Sat, 11 May 2019 00:55:04 +0000 (20:55 -0400)]
Generate some repetitive WordStar code with macros

* lisp/obsolete/ws-mode.el (ws-set-marker-0, ws-set-marker-1):
(ws-set-marker-2, ws-set-marker-3, ws-set-marker-4, ws-set-marker-5):
(ws-set-marker-6, ws-set-marker-7, ws-set-marker-8, ws-set-marker-9):
(ws-find-marker-0, ws-find-marker-1, ws-find-marker-2, ws-find-marker-3):
(ws-find-marker-4, ws-find-marker-5, ws-find-marker-6, ws-find-marker-7):
(ws-find-marker-8, ws-find-marker-9): Remove.
(ws-set-marker, ws-find-marker): New macros.  Use them.

5 years agoConvert Free_Pixmap macro into terminal hook
Alexander Gramiak [Thu, 9 May 2019 15:37:50 +0000 (09:37 -0600)]
Convert Free_Pixmap macro into terminal hook

* src/termhooks.h (terminal) [HAVE_WINDOW_SYSTEM]: New terminal hook
free_pixmap.

* src/image.c: Replace Free_Pixmap with free_pixmap.

* src/msdos.h (FRAME_X_DISPLAY):
* src/nsgui.h (Display):
* src/nsterm.h (FRAME_NS_DISPLAY, FRAME_X_DISPLAY, FRAME_X_SCREEN)
(FRAME_X_VISUAL):
* src/w32term.h (FRAME_X_DISPLAY): Remove unused X-compatibility
macros and typedefs.

* src/nsterm.m:
* src/w32term.c:
* src/xterm.c: Implement and set free_pixmap hook.

5 years agoRemove display member of glyph_string
Alexander Gramiak [Thu, 9 May 2019 03:40:24 +0000 (21:40 -0600)]
Remove display member of glyph_string

This member has little value even on X, and it leaks internal backend
details to the glyph_string struct.

* src/dispextern.h (glyph_string): Remove X display member.

* src/xdisp.c (init_glyph_string): Remove initialization of display.

* src/xfont.c (xfont_draw):
* src/xterm.c: Use FRAME_X_DISPLAY (s->f) instead of display member.