1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-04-27 08:43:40 -07:00
Commit graph

137171 commits

Author SHA1 Message Date
Ivan Shmakov
0ab24743f1 Heed default directory in tar-untar-buffer
* lisp/tar-mode.el (tar-untar-buffer): Fix use the value of
default-directory local to the tar-mode buffer (bug#19865).
2019-06-25 19:54:35 +02:00
David Hull
f0151e17d2 etags: Fix handling of quoted symbol names in Erlang
* lib-src/etags.c (erlang_attribute): Fix handling of quoted
symbol names in Erlang (bug#24960).
2019-06-25 19:14:20 +02:00
Eli Zaretskii
a8457f0ada ; * etc/NEWS: Fix an entry from recent commit. 2019-06-25 19:38:11 +03:00
Paul Eggert
848ff94b45 Update from Gnulib
This incorporates:
2019-06-24 unistd: stddef.h and sys/types.h namespace cleanup
* lib/gnulib.mk.in: Regenerate.
* lib/unistd.in.h: Copy from gnulib.
2019-06-25 09:22:52 -07:00
Glenn Morris
55ccd1b485 * lisp/info.el (info-emphasis): Fix doc, version. 2019-06-25 09:13:22 -07:00
Vaidheeswaran C
9de1177a1e Preserve header lines from derived modes in tabulated lists
* lisp/emacs-lisp/tabulated-list.el (tabulated-list-init-header):
Preserve header line set by derived modes (bug#21025).
2019-06-25 18:09:54 +02:00
Drew Adams
90c25b2452 Make dired commands report how many files they mark
* lisp/dired.el (dired-mark-if): Report the number of files marked
when called, not the total number of marked files (bug#22457).
2019-06-25 17:44:56 +02:00
Stefan Monnier
da263640c8 * lisp/simple.el (forward-visible-line, end-of-visible-line): Use invisible-p 2019-06-25 11:35:56 -04:00
Lars Ingebrigtsen
b26c2767ed Add a new command to report the number and size of the marked files
2019-06-25  Constantino Calancha  <f92capac@gmail.com>

	* lisp/dired.el (dired-mode-map): New keystroke and menu binding
	(bug#22829).

2019-06-25  Lars Ingebrigtsen  <larsi@gnus.org>

	* doc/emacs/dired.texi (Marks vs Flags): Document it.

	* lisp/dired.el (dired-number-of-marked-files): New command.
2019-06-25 16:29:03 +02:00
Phil Sainty
9e81b22113 Fix `goto-address-url-regexp'
* lisp/net/goto-addr.el (goto-address-uri-schemes-ignored): New
variable.
(goto-address-uri-schemes): Ditto.
(goto-address-url-regexp): Use them to compose the final regexp.

* lisp/net/goto-addr.el: The URI schemes to be recognised by
`goto-address-mode' were not regexp-quoted (Bug#23343).
2019-06-25 16:02:12 +02:00
Tino Calancha
0454bfd331 Make winner restore point in all windows that display a buffer
* lisp/window.el (window--before-delete-windows): New defun.
(delete-window, delete-other-windows): Use it.
* lisp/winner.el (winner-set): Use marker in 'window-prev-buffers'
when available and different than the value returned by
'winner-get-point' (bug#23621).
2019-06-25 15:42:17 +02:00
Bastian Beischer
e195bbd95a Use xref in cedet
* lisp/cedet/semantic/complete.el (semantic-complete-jump-local)
* lisp/cedet/semantic/analyze/refs.el
(semantic-analyze-proto-impl-toggle): Use xref to handle jumping
(bug#23793).

Copyright-paperwork-exempt: yes
2019-06-25 15:12:04 +02:00
Drew Adams
72963b4e82 Fontify _emphasis_ in info nodes
* lisp/info.el (Info-fontify-node): Fontify _emphasis_ (bug#23798).
(info-emphasis): New face.
2019-06-25 14:53:52 +02:00
Robert Weiner
e9b05221ab 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).
2019-06-25 14:53:52 +02:00
Michael Shields
14fc8a108b [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).
2019-06-25 14:53:51 +02:00
Basil L. Contovounesios
0d51f54236 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.
2019-06-25 13:40:32 +01:00
Lars Ingebrigtsen
b060c81bb8 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.
2019-06-25 13:23:14 +02:00
Fritz Stelzer
235ca1b4db 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
2019-06-25 13:10:07 +02:00
Antoine Beaupré
ba476dc975 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
2019-06-25 13:10:07 +02:00
Alan Mackenzie
8c17995f7f 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.
2019-06-25 08:52:38 +00:00
Hong Xu
093f5d0045 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).
2019-06-25 01:31:10 +02:00
Damien Cassou
cf9f481d98 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).
2019-06-25 01:31:10 +02:00
Stefan Monnier
0ef3163959 * 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.
2019-06-24 19:21:07 -04:00
Lars Ingebrigtsen
630e01a703 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'.
2019-06-25 00:46:20 +02:00
Kaushal Modi
f70cdd4caa 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.
2019-06-25 00:46:20 +02:00
YAMAMOTO Mitsuharu
6e27086941 * configure.ac: Set HAVE_XFT to no for summary if HAVE_CAIRO is yes. 2019-06-25 07:24:37 +09:00
Stefan Monnier
d3ae5e1836 * 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*.
2019-06-24 17:15:11 -04:00
Eric Abrahamsen
535051db2a 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.
2019-06-24 10:21:09 -07:00
Lars Ingebrigtsen
35c72aea44 rectangle--pos-cols shouldn't move point
* lisp/rect.el (rectangle--pos-cols): Don't move point while
calculating the values (bug#25777).
2019-06-24 19:12:41 +02:00
Eli Zaretskii
9f5f5ae638 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.
2019-06-24 20:06:34 +03:00
Lars Ingebrigtsen
38502cd44d 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.
2019-06-24 18:26:03 +02:00
Michael Albinus
18a7e5414c 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.
2019-06-24 17:36:00 +02:00
Lars Ingebrigtsen
b72cd0c746 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.
2019-06-24 16:45:54 +02:00
Lars Ingebrigtsen
1ad3387600 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.
2019-06-24 16:35:13 +02:00
Lars Ingebrigtsen
d279c45e9c 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).
2019-06-24 16:08:12 +02:00
Lars Ingebrigtsen
bc88b6b319 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.
2019-06-24 16:08:12 +02:00
Lars Ingebrigtsen
e82ae0a272 Fix up Zstandard/tramp patch slightly
* lisp/net/tramp-archive.el (tramp-archive-suffixes): Fix tzst
suffix.  From Michael Albinus (bug#33919).
2019-06-24 16:08:12 +02:00
Alexander Gramiak
516761576c 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.
2019-06-24 16:08:12 +02:00
Alexander Gramiak
c32cc62779 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.
2019-06-24 16:08:12 +02:00
Alexander Gramiak
f9afe8a97e 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.
2019-06-24 16:08:12 +02:00
Daniel Colascione
65d45def8d Fix pdumper executable-finding code
* src/emacs.c:
(load_pdump_find_executable): New function.
(load_pdump): Use it.
2019-06-24 06:53:30 -07:00
Damien Cassou
157fced053
* doc/misc/auth.texi (The Unix password store): Complete rewrite 2019-06-24 09:15:41 +02:00
Damien Cassou
34f01eb88f
* etc/NEWS: Describe changes to auth-source-pass 2019-06-24 09:15:41 +02:00
Damien Cassou
e6fc02f836
* lisp/auth-source-pass.el: Version 5.0.0 2019-06-24 09:15:41 +02:00
Damien Cassou
7022e3fde6
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.
2019-06-24 09:15:41 +02:00
Keith Amidon
736f78bb1a
* lisp/auth-source-pass.el: Add Keith Amidon to authors 2019-06-24 09:15:41 +02:00
Keith Amidon
0a580c187d
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.
2019-06-24 09:15:40 +02:00
Keith Amidon
57e763a0a0
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.
2019-06-24 09:15:40 +02:00
Keith Amidon
94c9eb81b8
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.
2019-06-24 09:15:40 +02:00
Iku Iwasa
2a0a05789d
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.
2019-06-24 09:15:40 +02:00