]> git.eshelyaron.com Git - emacs.git/log
emacs.git
5 years agoFontify _emphasis_ in info nodes
Drew Adams [Tue, 25 Jun 2019 12:53:05 +0000 (14:53 +0200)]
Fontify _emphasis_ in info nodes

* lisp/info.el (Info-fontify-node): Fontify _emphasis_ (bug#23798).
(info-emphasis): New face.

5 years agoUnlispify even more in custom-unlispify-menu-entry
Robert Weiner [Tue, 25 Jun 2019 12:08:49 +0000 (14:08 +0200)]
Unlispify even more in custom-unlispify-menu-entry

* lisp/cus-edit.el (custom-unlispify-menu-entry): Also allow : and
/ as separators in symbols when making the symbols look more
human-readable (bug#23986).

5 years ago[PATCH 1/1] Pass frame-parameters to server-create-tty-frame
Michael Shields [Tue, 25 Jun 2019 11:57:58 +0000 (13:57 +0200)]
[PATCH 1/1] Pass frame-parameters to server-create-tty-frame

* lisp/server.el: Pass frame-parameters when creating frames, even
on a tty (bug#24147).

5 years agoFix recent tex-mode safe-local-variable changes
Basil L. Contovounesios [Tue, 25 Jun 2019 12:40:32 +0000 (13:40 +0100)]
Fix recent tex-mode safe-local-variable changes

* lisp/textmodes/tex-mode.el (tex-verbatim-environments): Replace
(delq t ...) with more usual (memq nil ...).
(latex-noindent-environments, latex-noindent-commands): Fix typos
and thinkos in safe-local-variable logic.

5 years agoDon't delete macuvs.h in extraclean
Lars Ingebrigtsen [Tue, 25 Jun 2019 11:23:14 +0000 (13:23 +0200)]
Don't delete macuvs.h in extraclean

* admin/unidata/Makefile.in (extraclean): Don't delete macuvs.h,
because it's a checked-in file, and make targets altering
checked-in files is confusing.

5 years agoMake xref-show-xrefs-function a defcustom
Fritz Stelzer [Tue, 25 Jun 2019 11:09:41 +0000 (13:09 +0200)]
Make xref-show-xrefs-function a defcustom

* lisp/progmodes/xref.el (xref-show-xrefs-function): Make into a
defcustome (bug#29206).

* lisp/progmodes/xref.el (xref-show-definitions-function): Ditto.

Copyright-paperwork-exempt: yes

5 years agoAdd imenu support to package-menu-mode
Antoine Beaupré [Tue, 25 Jun 2019 10:58:36 +0000 (12:58 +0200)]
Add imenu support to package-menu-mode

* lisp/vc/vc-git.el (vc-git-grep-template): Include <C> in
template to be more consistent with lgrep/rgrep (bug#35326).  This
will introduce the --color and -i flags to the "git grep" command.

Copyright-paperwork-exempt: yes

5 years agoFix documentation of inhibit-modification-hooks in overlays + text properties
Alan Mackenzie [Tue, 25 Jun 2019 08:52:38 +0000 (08:52 +0000)]
Fix documentation of inhibit-modification-hooks in overlays + text properties

This fixes bug #25111.

* doc/lispref/display.text (Overlay Properties): For the hook property
modification-hooks, state that inhibit-modification-hooks is bound to non-nil
when calling its functions.  This also applies to insert-in-front-hooks and
insert-behind-hooks, which refer to modification-hooks.

* doc/lispref/text.texi (Special Properties): For the hook property
modification-hooks, state that inhibit-modification-hooks is NOT bound to
non-nil when calling its functions.  For the hooks insert-in-fron-hooks and
insert-behind-hooks, state that that variable does get bound to non-nil.

5 years agoAdd imenu support to package-menu-mode
Hong Xu [Mon, 24 Jun 2019 23:22:23 +0000 (01:22 +0200)]
Add imenu support to package-menu-mode

* gnus-cite.el (gnus-message-citation-mode): Fontify if the major
mode is derived from message-mode (not necessarily equal to
message-mode) (bug#25124).

5 years agoAdd imenu support to package-menu-mode
Damien Cassou [Mon, 24 Jun 2019 22:55:45 +0000 (00:55 +0200)]
Add imenu support to package-menu-mode

* lisp/emacs-list/package.el
(package--imenu-prev-index-position-function
package--imenu-extract-index-name-function): Add Imenu functions
to package-menu-mode (bug#27134).

5 years ago* lisp/textmodes/tex-mode.el (latex-noindent-commands): New custom var
Stefan Monnier [Mon, 24 Jun 2019 23:21:07 +0000 (19:21 -0400)]
* lisp/textmodes/tex-mode.el (latex-noindent-commands): New custom var

(latex-find-indent): Obey it.
(latex-noindent-environments): Make it into a defcustom as well.

5 years agoMake message_to_stderr do one single fwrite
Lars Ingebrigtsen [Mon, 24 Jun 2019 22:46:02 +0000 (00:46 +0200)]
Make message_to_stderr do one single fwrite

* src/xdisp.c (message_to_stderr): When running as a batch
process, the output from `message' goes to stderr, and has a
newline appended.  Rewrite the code so that only one fwrite is
performed to enable messages that are shorter than PIPE_BUF
(usually 4096 on modern operating systems) are written out as one
chunk, as this will ensure that the messages are not interleaved
with messages from other processes that are writing at the same
time.  This does not affect other stderr outputs, just the ones
from `message'.

5 years agoAdd example for enabling minor modes in .dir-local.el
Kaushal Modi [Mon, 24 Jun 2019 22:42:20 +0000 (00:42 +0200)]
Add example for enabling minor modes in .dir-local.el

* doc/emacs/custom.texi (Directory Variables): Add an example that
shows how a minor mode can be enabled in a .dir-local.el (Bug#27639).
Clarify that indent-tabs-mode is not a minor mode.

5 years ago* configure.ac: Set HAVE_XFT to no for summary if HAVE_CAIRO is yes.
YAMAMOTO Mitsuharu [Mon, 24 Jun 2019 22:24:37 +0000 (07:24 +0900)]
* configure.ac: Set HAVE_XFT to no for summary if HAVE_CAIRO is yes.

5 years ago* lisp/svg.el: Prepare for distribution via GNU ELPA
Stefan Monnier [Mon, 24 Jun 2019 21:15:11 +0000 (17:15 -0400)]
* lisp/svg.el: Prepare for distribution via GNU ELPA

Add a Version: and Package-Requires:.
Don't require subr-x.
Bring Commentary: from the GNU ELPA version of the package.
(svg-remove): Don't use when-let*.

5 years agoTweaks to html mode
Eric Abrahamsen [Tue, 30 Apr 2019 23:00:46 +0000 (16:00 -0700)]
Tweaks to html mode

* lisp/textmodes/sgml-mode.el (sgml-attributes): Add the "class" and
  "id" attributes when needed.
  (html-mode-map): Add the `html-div' and `html-span' commands to the
  `html-quick-keys' map.
  (html-ordered-list, html-unordered-list, html-paragraph): Use the
  "\n" element properly.
  (html-div, html-span): New HTML skeletons.

5 years agorectangle--pos-cols shouldn't move point
Lars Ingebrigtsen [Mon, 24 Jun 2019 17:10:32 +0000 (19:10 +0200)]
rectangle--pos-cols shouldn't move point

* lisp/rect.el (rectangle--pos-cols): Don't move point while
calculating the values (bug#25777).

5 years agoFix MS-Windows build as followup to pdumper executable lookup
Eli Zaretskii [Mon, 24 Jun 2019 17:06:34 +0000 (20:06 +0300)]
Fix MS-Windows build as followup to pdumper executable lookup

* src/w32.c (w32_my_exename): New function.
* src/w32.h (w32_my_exename): Add prototype.
* src/emacs.c (load_pdump_find_executable) [WINDOWSNT]: Find
the actual file name of the program without looking along
PATH, by calling w32_my_exename.

* nt/mingw-cfg.site (ac_cv_func_canonicalize_file_name)
(ac_cv_func_realpath, gl_cv_func_realpath_works): Disable
testing.
* nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_canonicalize-lgpl): Set
to true.

5 years agoMake C-l in iimage-mode call recenter-top-bottom
Lars Ingebrigtsen [Mon, 24 Jun 2019 16:25:56 +0000 (18:25 +0200)]
Make C-l in iimage-mode call recenter-top-bottom

* lisp/iimage.el (iimage-recenter): Call `recenter-top-bottom'
instead of `recenter', since that's the default function for `C-l'
(bug#27610).  Suggested by Arne Frederic Maria Döring.

5 years agoImprove error handling in Tramp
Michael Albinus [Mon, 24 Jun 2019 15:36:00 +0000 (17:36 +0200)]
Improve error handling in Tramp

* lisp/net/tramp-compat.el (ls-lisp): Require.

* lisp/net/tramp.el (ls-lisp-use-insert-directory-program):
Don't declare.
(tramp-current-connection): Adapt docstring.
(tramp-debug-message): Adapt function names.
(tramp-error, tramp-run-real-handler): Let-bind `signal-hook-function'.
(tramp-signal-hook-function): New defun.
(tramp-debug-on-error, tramp-condition-case-unless-debug): Remove.
(tramp-file-name-handler): Handle `tramp-current-connection'.
Let-bind `signal-hook-function'.  Use `unwind-protect' instead of
`tramp-condition-case-unless-debug'.
(tramp-handle-insert-directory): Don't require ls-lisp.
(tramp-process-actions): Check, that
`tramp-password-save-function' is non-nil.
(tramp-equal-remote): Handle the case both files are local.

* test/lisp/net/tramp-tests.el (tramp--test-instrument-test-case):
Do not bind `tramp-debug-on-error'.
(tramp--test-ignore-make-symbolic-link-error): Make error handler
more explicit about the error.

5 years agoFix up key bindings in previous tabulated-list patch
Lars Ingebrigtsen [Mon, 24 Jun 2019 14:45:54 +0000 (16:45 +0200)]
Fix up key bindings in previous tabulated-list patch

* lisp/emacs-lisp/tabulated-list.el (tabulated-list-mode-map):
Actually use `w'/`c' as described in previous patch.

5 years agoAdd new commands to widen/narrow tabulated list columns
Lars Ingebrigtsen [Mon, 24 Jun 2019 14:35:13 +0000 (16:35 +0200)]
Add new commands to widen/narrow tabulated list columns

* doc/emacs/buffers.texi: Document widen/contracting commands in
tabulated list mode.
* lisp/emacs-lisp/tabulated-list.el (tabulated-list-mode-map): Add
keystrokes.
(tabulated-list-widen-current-column): New command.
(tabulated-list-narrow-current-column): Ditto.  The code was
written by Boruch Baum and then tweaked by Drew Adams (bug#32106)
before some white-space changes before the commit.

5 years agoRemove -q from zstd invocation
Lars Ingebrigtsen [Mon, 24 Jun 2019 14:06:54 +0000 (16:06 +0200)]
Remove -q from zstd invocation

* lib-src/etags.c (compressors): -q isn't necessary since standard
output goes to /dev/null.  From Michael Albinus (bug#33919).

5 years agoNEWS fix up for Zstandard patches
Lars Ingebrigtsen [Mon, 24 Jun 2019 14:04:55 +0000 (16:04 +0200)]
NEWS fix up for Zstandard patches

* etc/NEWS: tramp-archive is a new feature, so no need to say that
specific parts of it are new.  From Michael Albinus.

5 years agoFix up Zstandard/tramp patch slightly
Lars Ingebrigtsen [Mon, 24 Jun 2019 14:02:46 +0000 (16:02 +0200)]
Fix up Zstandard/tramp patch slightly

* lisp/net/tramp-archive.el (tramp-archive-suffixes): Fix tzst
suffix.  From Michael Albinus (bug#33919).

5 years agoAdd Zstandard compression support for Tramp
Alexander Gramiak [Mon, 24 Jun 2019 13:57:33 +0000 (15:57 +0200)]
Add Zstandard compression support for Tramp

* lisp/net/tramp-archive.el (tramp-archive-suffixes)
(tramp-archive-compression-suffixes): Add zstd compression suffixes.
* lisp/net/tramp-sh.el (tramp-inline-compress-commands): Add
zstd (de)compression commands.

5 years agoAdd Zstandard compression support for dired
Alexander Gramiak [Mon, 24 Jun 2019 13:56:32 +0000 (15:56 +0200)]
Add Zstandard compression support for dired

* lisp/dired-aux.el (dired-compress-file-suffixes): Add suffixes for
zstd compressed tarballs and other files.
(dired-compress-file): Treat options found in
`dired-compress-file-suffixes' as arguments instead of part of the
program name.

5 years agoAdd Zstandard compression support for etags
Alexander Gramiak [Mon, 24 Jun 2019 13:54:36 +0000 (15:54 +0200)]
Add Zstandard compression support for etags

* lib-src/etags.c: (compressors): Add zstd support.
(print_language_names): Report zstd support.
* doc/man/etags.1: Update doc.

5 years agoFix pdumper executable-finding code
Daniel Colascione [Mon, 24 Jun 2019 13:20:07 +0000 (06:20 -0700)]
Fix pdumper executable-finding code

* src/emacs.c:
(load_pdump_find_executable): New function.
(load_pdump): Use it.

5 years ago* doc/misc/auth.texi (The Unix password store): Complete rewrite
Damien Cassou [Thu, 13 Jun 2019 19:54:21 +0000 (21:54 +0200)]
* doc/misc/auth.texi (The Unix password store): Complete rewrite

5 years ago* etc/NEWS: Describe changes to auth-source-pass
Damien Cassou [Sun, 2 Jun 2019 09:08:40 +0000 (11:08 +0200)]
* etc/NEWS: Describe changes to auth-source-pass

5 years ago* lisp/auth-source-pass.el: Version 5.0.0
Damien Cassou [Tue, 28 May 2019 06:46:41 +0000 (08:46 +0200)]
* lisp/auth-source-pass.el: Version 5.0.0

5 years agoRefactoring of auth-source-pass
Damien Cassou [Tue, 14 May 2019 03:50:59 +0000 (05:50 +0200)]
Refactoring of auth-source-pass

* lisp/auth-source-pass.el (auth-source-pass--find-match): Refactor by
moving some code to auth-source-pass--disambiguate.
(auth-source-pass--disambiguate)
(auth-source-pass--entries-matching-suffix): New function.
(auth-source-pass--find-match-unambiguous)
(auth-source-pass--select-from-entries)
(auth-source-pass--entry-reducer): Refactor to simplify and improve
logging.
(auth-source-pass--matching-entries)
(auth-source-pass--accumulate-matches): Remove.
* test/lisp/auth-source-pass-tests.el: Complete rewrite to facilitate
maintenance.
(auth-source-pass--have-message-containing): Remove.
(auth-source-pass--have-message-matching)
(auth-source-pass--explain--have-message-matching)
(auth-source-pass--explain-match-entry-p)
(auth-source-pass--includes-sorted-entries)
(auth-source-pass--explain-includes-sorted-entries)
(auth-source-pass--explain-match-any-entry-p)
(auth-source-pass--matching-entries)
(auth-source-pass-match-entry-p)
(auth-source-pass-match-any-entry-p): New function.

5 years ago* lisp/auth-source-pass.el: Add Keith Amidon to authors
Keith Amidon [Sat, 11 May 2019 15:22:56 +0000 (08:22 -0700)]
* lisp/auth-source-pass.el: Add Keith Amidon to authors

5 years agoMinimize entry parsing in auth-source-pass
Keith Amidon [Mon, 6 May 2019 03:21:43 +0000 (20:21 -0700)]
Minimize entry parsing in auth-source-pass

Prior to this commit, while searching for the most applicable entry
password-store entries were decrypted and parsed to ensure they were
valid.  The entries were parsed in the order they were found on the
filesystem and all applicable entries would be decrypted and parsed,
which varied based on the contents of the password-store and the entry
to be found.

This is fine when the GPG key is cached and each entry can be
decrypted without user interaction.  However, for security some people
have their GPG on a hardware token like a Yubikey setup so that they
have to touch a sensor on the toke for every cryptographic operation,
in which case it becomes inconvenient as each attempt to find an entry
requires a variable number of touches of the hardware token.

The implementation already assumes that names which contain more of
the information in the search key should be preferred so there is an
ordering of preference of applicable entries.  If the decrypt and
parsing is removed from the initial identification of applicable
entries in the store then in most cases a single decrypt and parse of
the most preferred entry will suffice, improving the experience for
hardware token users that require interaction with the token.

This commit implements that strategy.  It is in spirit a refactor of
the existing code.

* lisp/auth-source-pass.el (auth-source-pass--matching-entries): New
function, generate an ordered list of regular expression matchers for
all possible names that could be in the password-store for the entry
to be found and then makes a pass over the password-store entry names
accumulating the matching entries in a list after the regexp that
matched.  This implementation ensures the password-store entry list
still only has to be scanned once.
(auth-source-pass--find-match-unambiguous): Use it to obtain candidate
entries and then parse them one by one until an entry containing the
desired information is located.  When complete, return the parsed data
of the entry instead of the entry name so that the information can be
used directly to construct the auth-source response.
(auth-source-pass--build-result): Update accordingly.
(auth-source-pass--find-match): Update docstring accordingly.
(auth-source-pass--select-one-entry)
(auth-source-pass--entry-valid-p)
(auth-source-pass--find-all-by-entry-name)
(auth-source-pass--find-one-by-entry-name): Remove.
(auth-source-pass--select-from-entries)
(auth-source-pass--accumulate-matches)
(auth-source-pass--entry-reducer)
(auth-source-pass--generate-entry-suffixes)
(auth-source-pass--domains)
(auth-source-pass--name-port-user-suffixes): New functions.

* test/lisp/auth-source-pass-tests.el: One test case was added to the
test suite to verify that only the minimal number of entries are
parsed in common cases.  The
auth-source-pass-only-return-entries-that-can-be-open test case had to
be re-implemented because the function it was used eliminated as the
functionality is provided elsewhere.  All the other fairly substantial
changes to the test suite are the result of mechanical changes that
were required to adapt to auth-source-pass--find-match returning the
data from a parsed password-store entry instead of the entry name.

5 years agoSplit out the attribute retrieval form auth-source-pass-get
Keith Amidon [Tue, 30 Apr 2019 14:52:14 +0000 (07:52 -0700)]
Split out the attribute retrieval form auth-source-pass-get

Eliminate the need to repeatedly retrieve and parse the data for the
entry.  This is generally a good thing since it eliminates repetitions
of the same crypto and parsing operations.  It is especially valuable
when protecting an entry with a yubikey with touch required for crypto
operations as it eliminates the need to touch the yubikey sensor for
each attribute retrieved.

* lisp/auth-source-pass.el (auth-source-pass-get): Extract some code to
`auth-source-pass--get-attr'.
(auth-source-pass--get-attr): New function to get a field value from a
parsed entry.
(auth-source-pass--build-result): Make use of
`auth-source-pass--get-attr` to avoid repeated parsing.

5 years agoFix auth-source-pass to search for hostname:port/username
Keith Amidon [Thu, 14 Feb 2019 18:27:31 +0000 (10:27 -0800)]
Fix auth-source-pass to search for hostname:port/username

auth-source-pass supports entries with username either prefixed to the
hostname with an @ as separator or in a subdirectory under the
hostname.  This was true when there was no port or service included in
the name, but got broken with the introduction of
auth-source-pass-port-separator.

* lisp/auth-source-pass.el (auth-source-pass--find-match-unambiguous): Fix
to match hostname:port/username.
* test/lisp/auth-source-pass-tests.el: Add corresponding tests.

5 years agoAdd auth-source-pass-port-separator option
Iku Iwasa [Sun, 7 Apr 2019 08:59:59 +0000 (17:59 +0900)]
Add auth-source-pass-port-separator option

* lisp/auth-source-pass.el (auth-source-pass-port-separator): New
option to specify separator between host and port, default to
colon (":").
(auth-source-pass--find-match-unambiguous): Adapt to make use of the
new variable.
* test/lisp/auth-source-pass-tests.el: Add corresponding tests.

5 years agoAdd auth-source-pass-filename option
galaunay [Sun, 13 Jan 2019 21:30:53 +0000 (21:30 +0000)]
Add auth-source-pass-filename option

* lisp/auth-source-pass.el (auth-source-pass)
(auth-source-pass-filename): Add option to specify a customized
password-store path.
(auth-source-pass--read-entry)
(auth-source-pass-entries): Use the new option instead of hard-coded
`~/.password-store'.

5 years ago* lisp/auth-source-pass.el (auth-source-pass-get): Add autoload
Damien Cassou [Tue, 6 Nov 2018 13:45:20 +0000 (14:45 +0100)]
* lisp/auth-source-pass.el (auth-source-pass-get): Add autoload

5 years ago* lisp/auth-source-pass.el: Version 4.0.2
Damien Cassou [Sat, 3 Nov 2018 08:06:42 +0000 (09:06 +0100)]
* lisp/auth-source-pass.el: Version 4.0.2

5 years agoFix auth-source-pass to return nil if no entry found
Magnus Henoch [Fri, 2 Nov 2018 21:51:59 +0000 (21:51 +0000)]
Fix auth-source-pass to return nil if no entry found

* lisp/auth-source-pass.el (auth-source-pass-search): If there is no
matching entry, auth-source-pass-search should return nil, not (nil).
This lets auth-source fall back to other backends in the auth-sources
list.
* test/lisp/auth-source-pass-tests.el: Add corresponding test.

Copyright-paperwork-exempt: yes

5 years agoFix locating pdump by symlink
Daniel Colascione [Mon, 24 Jun 2019 01:19:08 +0000 (18:19 -0700)]
Fix locating pdump by symlink

* admin/merge-gnulib (GNULIB_MODULES): Add canonicalize-lgpl module
* build-aux/config.guess, build-aux/gitlog-to-changelog,
build-aux/update-copyright, lib/canonicalize-lgpl.c,
lib/gnulib.mk.in, lib/malloca.c, lib/malloca.h, lib/pathmax.h,
m4/canonicalize.m4, m4/double-slash-root.m4, m4/gnulib-comp.m4,
m4/malloca.m4, my/pathmax.4: copy from GNUlib or regenerate from
update
* src/emacs.c: find dump by canonical path

5 years agoDocument syntax-ppss-context
Lars Ingebrigtsen [Sun, 23 Jun 2019 22:04:04 +0000 (00:04 +0200)]
Document syntax-ppss-context

* doc/lispref/syntax.texi (Parser State): Document it.

* lisp/emacs-lisp/syntax.el (syntax-ppss-context): Add a doc
string (bug#32504).

5 years agoAutojoin channels with same name on different servers in erc
Martin Kletzander [Sun, 23 Jun 2019 21:53:02 +0000 (23:53 +0200)]
Autojoin channels with same name on different servers in erc

* lisp/erc/erc-join.el (erc-autojoin-channels): Join channels with
the same name on different servers (bug#32723).

Copyright-paperwork-exempt: yes

5 years ago(if-let): Improve docstring by mentioning let*
Alex Branham [Sun, 23 Jun 2019 20:55:40 +0000 (22:55 +0200)]
(if-let): Improve docstring by mentioning let*

* lisp/emacs-lisp/subr-x.el (if-let): Clarify that if-let is like
let*, not like let (bug#33550).

5 years agoFix auto-revert resizing in image mode
Carlos Pita [Sun, 23 Jun 2019 20:49:47 +0000 (22:49 +0200)]
Fix auto-revert resizing in image mode

* lisp/image-mode.el (image-transform-properties): Get image
parameters right after reverting; in particular, compute the
correct max size (bug#33631).

5 years agoDon’t line-buffer stderr
Paul Eggert [Sun, 23 Jun 2019 20:26:14 +0000 (13:26 -0700)]
Don’t line-buffer stderr

* src/sysdep.c (init_standard_fds) [DOS_NT]: Don’t line-buffer stderr.
This reverts 2019-06-20T07:32:17!eggert@cs.ucla.edu.  See:
https://lists.gnu.org/r/emacs-devel/2019-06/msg00882.html

5 years agoCheck validity of rx submatch-n number
Mattias Engdegård [Thu, 7 Feb 2019 18:05:06 +0000 (19:05 +0100)]
Check validity of rx submatch-n number

* lisp/emacs-lisp/rx.el (rx-submatch): Type and range check (Bug#34373).

5 years agoOptional space and unit in `file-size-human-readable' (bug#35756)
Mattias Engdegård [Mon, 13 May 2019 15:05:24 +0000 (17:05 +0200)]
Optional space and unit in `file-size-human-readable' (bug#35756)

To improve readability of strings produced by
`file-size-human-readable', add two optional arguments:

- SPACE, to provide a string (typically a space or non-breaking space)
to put between the number and unit.  For compatibility, the default is
an empty string.

- UNIT, a string to use as unit.  For compatibility, the default is
"B" in `iec' mode and the empty string otherwise.

Also fix a glitch with small numbers in `iec' mode which caused a
stray "i" in the result.

* lisp/files.el (file-size-human-readable):
Add optional SPACE and UNIT arguments and handle small numbers correctly.
(files--ask-user-about-large-file, warn-maybe-out-of-memory):
Call with `iec' and space.
* test/lisp/files-tests.el (files-test-file-size-human-readable): New test.
* lisp/url/url-http.el (url-http-simple-after-change-function)
(url-http-content-length-after-change-function): Call with `iec' and space.
* etc/NEWS (Lisp Changes): Mention the change.

5 years ago(hfy-fontify-buffer): Inhibit read only
Michael Brumlow [Sun, 23 Jun 2019 18:10:21 +0000 (20:10 +0200)]
(hfy-fontify-buffer): Inhibit read only

* lisp/htmlfontify.el (hfy-fontify-buffer): Inhibit read only to
enable the function to work with text that comes from buffers that
put read-only text properties on things (bug#35025).

Copyright-paperwork-exempt: yes

5 years agoDocument Winner mode user options
Mauro Aranda [Sun, 23 Jun 2019 17:57:48 +0000 (19:57 +0200)]
Document Winner mode user options

* doc/emacs/windows.texi (Window Convenience): Add documentation for
the user options winner-dont-bind-my-keys, winner-ring-size and
winner-boring-buffers (bug#35146).

5 years agosrc/bytecode.c (exec_byte_code) Unroll Blist3 and Blist4
Alexander Gramiak [Sun, 23 Jun 2019 17:35:26 +0000 (19:35 +0200)]
src/bytecode.c (exec_byte_code) Unroll Blist3 and Blist4

* src/bytecode.c (exec_byte_code): Unroll Blist3 and Blist4
(bug#35321).

5 years agoAdd NEWS entry for new command gnus-summary-browse-url
Eric Abrahamsen [Sun, 23 Jun 2019 17:30:51 +0000 (10:30 -0700)]
Add NEWS entry for new command gnus-summary-browse-url

* etc/NEWS: It is documented in the manual.

5 years agoMake ls-lisp--dired ape dired-noselect more closely
Drew Adams [Sun, 23 Jun 2019 17:24:20 +0000 (19:24 +0200)]
Make ls-lisp--dired ape dired-noselect more closely

* lisp/ls-lisp.el (ls-lisp--dired): Emulate the behaviour of
non-ls-lisp.el dired better by defaulting to default-directory as
dired-noselect does (bug#35390).

5 years agoAdd a Code: tag to subr.el
Van L [Sun, 23 Jun 2019 17:07:38 +0000 (19:07 +0200)]
Add a Code: tag to subr.el

* lisp/subr.el: Add a Code: tag comment (bug#35595).

5 years agoRemove outdate comment about an utf-8 cookie that was removed in 2015
Lars Ingebrigtsen [Sun, 23 Jun 2019 17:05:45 +0000 (19:05 +0200)]
Remove outdate comment about an utf-8 cookie that was removed in 2015

5 years agoHandle 'code' tag in shr.el
Nick Drozd [Sun, 23 Jun 2019 12:19:43 +0000 (14:19 +0200)]
Handle 'code' tag in shr.el

* etc/NEWS: Announce change in shr behavior (bug#36247).
* lisp/net/shr.el: Add 'code' tag handling.

5 years agoNew command gnus-summary-browse-url
Eric Abrahamsen [Sun, 23 Jun 2019 15:09:23 +0000 (08:09 -0700)]
New command gnus-summary-browse-url

* lisp/gnus/gnus-sum.el (gnus-summary-browse-url): New command for
  browsing URLs from the article buffer from the summary buffer.
  (gnus-summary-mode-map): Bind to "w".
  (gnus-summary-article-map): And to "A w".
* doc/misc/gnus.texi (Article Commands): Document.

5 years agoImprove error handling in tramp-gvfs
Michael Albinus [Sun, 23 Jun 2019 16:58:11 +0000 (18:58 +0200)]
Improve error handling in tramp-gvfs

* lisp/net/tramp-gvfs.el (tramp-gvfs-get-directory-attributes)
(tramp-gvfs-get-root-attributes)
(tramp-gvfs-handle-file-attributes): Don't ignore errors.
(tramp-make-goa-name): New defun.
(tramp-gvfs-get-remote-prefix): Use it.
(tramp-gvfs-maybe-open-connection): Raise user errors in case of.
Check also, that GOA accounts are proper.
(tramp-get-goa-accounts): Cache connection property.

* lisp/net/tramp.el (tramp-handle-file-equal-p)
(tramp-handle-file-in-directory-p): Use `tramp-equal-remote'.

5 years ago; * src/image.c: Minor copyedits of native transform commentary.
Eli Zaretskii [Sun, 23 Jun 2019 16:24:32 +0000 (19:24 +0300)]
; * src/image.c: Minor copyedits of native transform commentary.

5 years agoDocument what the `t' value for HIST in `read-string' means
Lars Ingebrigtsen [Sun, 23 Jun 2019 12:05:55 +0000 (14:05 +0200)]
Document what the `t' value for HIST in `read-string' means

* src/minibuf.c (syms_of_minibuf): Say that `t' means "no history"
(bug#36324).
(Fread_from_minibuffer): Say the same for HIST.

5 years agoSplit up and add tests for two page.el functions
Simen Heggestøyl [Sat, 22 Jun 2019 10:49:04 +0000 (12:49 +0200)]
Split up and add tests for two page.el functions

* lisp/textmodes/page.el (page--count-lines-page): New function
extracted from `count-lines-page'.
(count-lines-page): Extract main logic into `page--count-lines-page'.
(page--what-page); New function extracted from `what-page'.
(what-page): Extract main logic into `page--what-page'.

* test/lisp/textmodes/page-tests.el (page-tests-count-lines-page)
(page-tests-what-page): New tests for `page--count-lines-page' and
`page--what-page'.  (Bug#36009)

5 years ago(with-suppressed-warnings): Also suppress warnings when not byte-compiling
Stefan Monnier [Sun, 23 Jun 2019 03:29:00 +0000 (23:29 -0400)]
(with-suppressed-warnings): Also suppress warnings when not byte-compiling

* lisp/emacs-lisp/byte-run.el (with-suppressed-warnings): Bind
byte-compile--suppressed-warnings when possible.

5 years agoFix defining inverse abbrevs on previous words (Bug#36243)
Allen Li [Sun, 16 Jun 2019 10:32:02 +0000 (03:32 -0700)]
Fix defining inverse abbrevs on previous words (Bug#36243)

* lisp/abbrev.el (inverse-add-abbrev): Skip trailing nonword
characters when defining abbrev.

* test/lisp/abbrev-tests.el (abbrev-edit-save-to-file-test): Add
regression tests.

5 years agoFix python docstring auto-fill (Bug#36056)
Noam Postavsky [Fri, 21 Jun 2019 11:49:22 +0000 (07:49 -0400)]
Fix python docstring auto-fill (Bug#36056)

* lisp/progmodes/python.el (python-mode): Set
fill-indent-according-to-mode locally to t.  This lets auto-fill do
the right thing when auto-filling inside a docstring.  The default was
to nil on 2001-11-25 "(fill-indent-according-to-mode): Default to nil"
with the comment that it "screws up CC-mode's filling tricks".  But
presumably it shouldn't be a problem for python-mode.
* test/lisp/progmodes/python-tests.el (python-auto-fill-docstring):
New test.

5 years agoMake rcirc parsing more RFC2812 compliant (Bug#36233)
Noam Postavsky [Sun, 16 Jun 2019 17:48:56 +0000 (13:48 -0400)]
Make rcirc parsing more RFC2812 compliant (Bug#36233)

Do continue to allow multiple spaces between arguments, even though
that is technically not allowed by the RFC.
* lisp/net/rcirc.el (rcirc-process-server-response-1): Fix parsing of
arguments which contain colons.
* test/lisp/net/rcirc-tests.el: New test.

5 years ago* lisp/net/rcirc.el (rcirc-prompt-for-encryption): Simplify.
Noam Postavsky [Sun, 16 Jun 2019 17:51:20 +0000 (13:51 -0400)]
* lisp/net/rcirc.el (rcirc-prompt-for-encryption): Simplify.

5 years agoBring macuvs.h back under Git control
Paul Eggert [Sat, 22 Jun 2019 18:35:45 +0000 (11:35 -0700)]
Bring macuvs.h back under Git control

* admin/unidata/Makefile.in (maintainer-clean):
Instead of removing macuvs.h here ...
(extraclean): ... Remove it here.
* admin/unidata/uvs.el (uvs-print-table-ivd):
Add to comment explaining why macuvs.h is in Git.
* src/macuvs.h: Regenerate and re-add to Git.

5 years agoRespect case-insensite DelSp flow-fill parameter
Lars Ingebrigtsen [Sat, 22 Jun 2019 14:25:36 +0000 (16:25 +0200)]
Respect case-insensite DelSp flow-fill parameter

* lisp/gnus/mm-view.el (mm-inline-text): The DelSp parameter is
case-insentitive, so make it work then it's "Yes" (bug#26775).

5 years ago(nnir-notmuch-remove-prefix): Respect MAILDIR
Andreas Schwab [Sat, 22 Jun 2019 12:55:06 +0000 (14:55 +0200)]
(nnir-notmuch-remove-prefix): Respect MAILDIR

* lisp/gnus/nnir.el (nnir-notmuch-remove-prefix): Respect MAILDIR
and regexp-quote the result (bug#34940).

5 years agoUse plain report-emacs-bug instead of gnus-bug
Lars Ingebrigtsen [Sat, 22 Jun 2019 12:10:00 +0000 (14:10 +0200)]
Use plain report-emacs-bug instead of gnus-bug

* doc/misc/gnus.texi (Compatibility): Remove mention of deprecated
variable.
* lisp/gnus/gnus-msg.el (gnus-bug): Just use `report-emacs-bug'.
(gnus-bug-kill-buffer): Remove.
(gnus-bug-create-help-buffer, gnus-bug-message): Remove.

5 years agoExport Gnus calendar events to org even if they have no description
Robert Pluim [Sat, 22 Jun 2019 11:16:24 +0000 (13:16 +0200)]
Export Gnus calendar events to org even if they have no description

* lisp/gnus/gnus-icalendar.el (gnus-icalendar-event->org-entry):
Don't ignore events that have no description.

5 years agoMake ftcr font backend driver more consistent with xft
YAMAMOTO Mitsuharu [Sat, 22 Jun 2019 10:03:27 +0000 (19:03 +0900)]
Make ftcr font backend driver more consistent with xft

* src/ftcrfont.c: Include charset.h.
(ftcrfont_has_char): Import font adstyle related code from ftfont_has_char.

5 years ago; * lisp/select.el (xselect--encode-string): Fix a thinko.
Eli Zaretskii [Sat, 22 Jun 2019 09:38:05 +0000 (12:38 +0300)]
; * lisp/select.el (xselect--encode-string): Fix a thinko.

5 years agoRemove XEmacs compat code from savehist.el (reworked)
Lars Ingebrigtsen [Sat, 22 Jun 2019 09:36:43 +0000 (11:36 +0200)]
Remove XEmacs compat code from savehist.el (reworked)

* lisp/savehist.el (savehist-coding-system, savehist-install)
(savehist-uninstall, savehist-save): Remove XEmacs compat code.
(savehist-trim-history): Made obsolete.
(savehist-minibuffer-hook): Update comment to reflect the t value
of HISTORY in `read-string'.

5 years agoepg: Use unibyte string to decode percent escapes
Christophe Troestler [Wed, 5 Jun 2019 13:37:04 +0000 (15:37 +0200)]
epg: Use unibyte string to decode percent escapes

* lisp/epg.el (epg--status-USERID_HINT, epg--status-*SIG)
(epg--status-IMPORTED): Call epg--decode-percent-escape-as-utf-8.
(epg--decode-percent-escape): Convert STRING to unibyte.
(epg--decode-percent-escape-as-utf-8): New function.  (Bug#36098)

Copyright-paperwork-exempt: yes

5 years agoMerge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Eli Zaretskii [Sat, 22 Jun 2019 09:16:08 +0000 (12:16 +0300)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs

5 years agoAdd tests for mail/flow-fill.el
Stefan Kangas [Tue, 11 Jun 2019 21:35:15 +0000 (23:35 +0200)]
Add tests for mail/flow-fill.el

* test/lisp/mail/flow-fill-tests.el: New file.
* lisp/mail/flow-fill.el (fill-flowed-encode-tests)
(fill-flowed-test): Make obsolete.  (Bug#36174)

5 years agoMake toolbar show keyboard equivalents in its tooltips
Stefan Kangas [Sun, 9 Jun 2019 02:27:09 +0000 (04:27 +0200)]
Make toolbar show keyboard equivalents in its tooltips

* src/keyboard.c (parse_tool_bar_item): Add equivalent key binding to
the tooltip string of toolbar buttons.
* etc/NEWS: Announce it.
* etc/TODO: Remove its entry.  (Bug#36156)

5 years agoUpdate epg.el algorithm id-name association lists
Teemu Likonen [Sat, 22 Jun 2019 09:06:14 +0000 (11:06 +0200)]
Update epg.el algorithm id-name association lists

* lisp/epg.el (epg-pubkey-algorithm-alist)
(epg-digest-algorithm-alist, epg-compress-algorithm-alist): Add
new identifiers from openpgpdefs.h.

5 years ago; * etc/NEWS: Mention the last change in NEWS.
Eli Zaretskii [Sat, 22 Jun 2019 09:08:38 +0000 (12:08 +0300)]
; * etc/NEWS: Mention the last change in NEWS.

5 years agoMove mantemp.el to obsolete/
Stefan Kangas [Thu, 13 Jun 2019 12:07:12 +0000 (14:07 +0200)]
Move mantemp.el to obsolete/

* lisp/progmodes/mantemp.el: Move to obsolete/. (bug#34789)
* doc/emacs/ack.texi (Acknowledgments): Remove obsolete library
mantemp.el.

5 years agoFix an off-by-one error in assertion
Eli Zaretskii [Sat, 22 Jun 2019 08:59:16 +0000 (11:59 +0300)]
Fix an off-by-one error in assertion

* src/fileio.c (Fexpand_file_name): Fix off-by-one error in an
assertion.  This avoids assertion violations when the home
directory is an empty string for some reason.  (Bug#36363)

5 years agoCorrect and update the mapping of LaTeX encodings
Eli Zaretskii [Sat, 22 Jun 2019 08:51:50 +0000 (11:51 +0300)]
Correct and update the mapping of LaTeX encodings

* lisp/international/latexenc.el
(latex-inputenc-coding-alist): Fix the association of latin5.
(Bug#36253) Uncomment latin10 and map it to iso-8859-16.

5 years agoAvoid using string-make-unibyte in select.el
Eli Zaretskii [Sat, 22 Jun 2019 08:34:23 +0000 (11:34 +0300)]
Avoid using string-make-unibyte in select.el

* lisp/select.el (selection-coding-system): Doc fix.
(xselect--encode-string): For C_STRING, if the text is not
already unibyte, use encode-coding-string instead of
string-make-multibyte to make it unibyte.

5 years agoMake ftcr font backend driver more consistent with xft
YAMAMOTO Mitsuharu [Sat, 22 Jun 2019 06:33:32 +0000 (15:33 +0900)]
Make ftcr font backend driver more consistent with xft

* src/ftcrfont.c (ftcrfont_open): Use metrics of glyph ID 0 if there is no
glyph for an ASCII printable.

5 years ago* src/font.c (Ffont_xlfd_name): Don't use strcpy for overlapping strings.
YAMAMOTO Mitsuharu [Sat, 22 Jun 2019 02:37:25 +0000 (11:37 +0900)]
* src/font.c (Ffont_xlfd_name): Don't use strcpy for overlapping strings.

5 years agoFix default build-from-Git on macOS
Paul Eggert [Fri, 21 Jun 2019 23:22:26 +0000 (16:22 -0700)]
Fix default build-from-Git on macOS

* configure.ac (NS_IMPL_COCOA): Do not default to "yes" if
src/macuvs.h is absent, which is possible in a build from Git.

5 years agoRemove src/macuvs.h from Git repository
Paul Eggert [Fri, 21 Jun 2019 21:45:35 +0000 (14:45 -0700)]
Remove src/macuvs.h from Git repository

It can be generated automatically and easily during a normal
bootstrap, so there’s no need to keep it in the repository.
* admin/unidata/Makefile.in (maintainer-clean):
Behave like extraclean and remove macuvs.h etc.
* src/macuvs.h: Remove.

5 years agoRevert "Remove XEmacs compat code from savehist.el"
Lars Ingebrigtsen [Fri, 21 Jun 2019 16:51:14 +0000 (18:51 +0200)]
Revert "Remove XEmacs compat code from savehist.el"

This reverts commit a97ba6eb305c9db8641c0e65748907cd53dbfa5e.

According to bug#36324, this broke savehist.el

5 years ago* lisp/emacs-lisp/bytecomp.el (byte-compile-dynamic): Mark obsolete
Stefan Monnier [Fri, 21 Jun 2019 14:30:50 +0000 (10:30 -0400)]
* lisp/emacs-lisp/bytecomp.el (byte-compile-dynamic): Mark obsolete

See bug#11649 for an example problem, and emacs-devel discussion
«Prickliness of the "invalid byte code" stuff».

* lisp/wid-edit.el, lisp/wdired.el, lisp/vc/pcvs-util.el:
* lisp/progmodes/executable.el, lisp/mail/sendmail.el:
* lisp/emacs-lisp/cl-seq.el, lisp/emacs-lisp/cl-macs.el:
* lisp/emacs-lisp/cl-lib.el, lisp/emacs-lisp/cl-extra.el:
* lisp/dired-x.el, lisp/dired-aux.el, lisp/calendar/calendar.el:
Don't use byte-compile-dynamic any more.

5 years ago* lisp/vc/ediff-*.el: Use lexical-binding, plus misc cleanup
Stefan Monnier [Fri, 21 Jun 2019 05:16:54 +0000 (01:16 -0400)]
* lisp/vc/ediff-*.el: Use lexical-binding, plus misc cleanup

Re-enable lexical-binding in ediff.  For that, change ediff-find-file
so as not to rely on dynamic scoping in its calling convention.

* lisp/vc/ediff-diff.el: Move `provide` to the end.
Remove redundant :group.
(ediff-exec-process): Disregard current directory.
(ediff-forward-word-function): Use defvar-local.

* lisp/vc/ediff-help.el (ediff-set-help-message): Use functionp.

* lisp/vc/ediff-hook.el (menu-bar-ediff-misc-menu): Make a toggle, as
in the XEmacs menu.

* lisp/vc/ediff-init.el (ediff-defvar-local): Add `doc-string` prop.
(ediff-check-version): Delete function, unused.

* lisp/vc/ediff-mult.el: Move `provide` to the end.
Remove redundant :groups.
(ediff-dir-diffs-buffer-map):
Move initialization into declaration.
(ediff-meta-mode): Use define-derived-mode.
(ediff-intersect-directories): Remove `comparison-func`, unused.
(ediff-prepare-meta-buffer): Fix use of `startup-hooks`.

* lisp/vc/ediff-ptch.el: Move `provide` to the end.

* lisp/vc/ediff-util.el (ediff-add-to-history): Use add-to-history instead.

* lisp/vc/ediff-vers.el (ediff-vc-internal, ediff-vc-merge-internal):
Use push and closures.

* lisp/vc/ediff-wind.el: Remove redundant :groups.

* lisp/vc/ediff.el: Move `provide` to the end.
Remove redundant :groups.
(ediff--magic-file-name, ediff--startup-hook): New vars.
(ediff-find-file): Change calling convention so as not to use
symbols as value cells.
(ediff--buffer-file-name): New function.
(ediff-files-internal): Adjust to new calling convention of ediff-find-file.
(ediff-directories-internal, ediff-directory-revisions-internal)
(ediff-regions-internal): Use push and closures.

5 years ago* src/xterm.c (x_update_end) [USE_CAIRO]: Flush non-double-buffered surface.
YAMAMOTO Mitsuharu [Fri, 21 Jun 2019 00:28:50 +0000 (09:28 +0900)]
* src/xterm.c (x_update_end) [USE_CAIRO]: Flush non-double-buffered surface.

5 years agoFix blank tooltips on cairo (Bug#36298)
YAMAMOTO Mitsuharu [Fri, 21 Jun 2019 00:25:47 +0000 (09:25 +0900)]
Fix blank tooltips on cairo (Bug#36298)

* src/xterm.h (x_cr_update_surface_desired_size) [USE_CAIRO]: Add extern.
* src/xterm.c (x_cr_update_surface_desired_size) [USE_CAIRO]: Make non-static.
* src/xfns.c (Fx_show_tip) [USE_CAIRO]: Call x_cr_update_surface_desired_size.

5 years agoFix broken display by frame maximization on cairo (Bug#23925)
YAMAMOTO Mitsuharu [Fri, 21 Jun 2019 00:20:34 +0000 (09:20 +0900)]
Fix broken display by frame maximization on cairo (Bug#23925)

* src/xterm.c (handle_one_xevent) [USE_CAIRO && USE_GTK]: Make calls to
x_cr_update_surface_desired_size coincide with those to xg_frame_resized.

5 years ago* lisp/vc/vc-dir.el (vc-dir-search): Avoid `eval`.
Stefan Monnier [Thu, 20 Jun 2019 21:45:52 +0000 (17:45 -0400)]
* lisp/vc/vc-dir.el (vc-dir-search): Avoid `eval`.

5 years agoFix extraclean in a different way for info+lib/sys
Paul Eggert [Thu, 20 Jun 2019 18:18:14 +0000 (11:18 -0700)]
Fix extraclean in a different way for info+lib/sys

* Makefile.in (extraclean):
* lib/Makefile.in (extraclean): Use rmdir but suppress any
error indication.  That way, ‘make extraclean’ will remove the
directory if it’s empty, and successfully do nothing otherwise.

5 years agoFix aborts when the value of a display property causes redisplay
Eli Zaretskii [Thu, 20 Jun 2019 18:07:37 +0000 (21:07 +0300)]
Fix aborts when the value of a display property causes redisplay

* src/xdisp.c (handle_single_display_spec): Protect the bidi
cache from evaluation that triggers redisplay.  (Bug#36312)

5 years agoLeave the emtpy info and lib/sys in extraclean
Lars Ingebrigtsen [Thu, 20 Jun 2019 16:50:52 +0000 (18:50 +0200)]
Leave the emtpy info and lib/sys in extraclean

* lib/Makefile.in: Ditto.

* Makefile.in (extraclean): Don't use GNU-specific rmdir; just
leave the empty directory be.