]> git.eshelyaron.com Git - emacs.git/log
emacs.git
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.

5 years agoSimplify lib-src version printing
Paul Eggert [Thu, 20 Jun 2019 15:56:22 +0000 (08:56 -0700)]
Simplify lib-src version printing

* lib-src/Makefile.in (etags_cflags): Remove.
All uses replaced by a simple ‘-o $@’.
(ebrowse${EXEEXT}, emacsclient${EXEEXT}, emacsclientw${EXEEXT}):
Omit -DVERSION= option.
* lib-src/ebrowse.c (VERSION):
* lib-src/emacsclient.c (VERSION):
* lib-src/etags.c (EMACS_NAME, VERSION): Remove.
All uses replaced by PACKAGE_NAME and PACKAGE_VERSION.
* lib-src/ebrowse.c (version):
* lib-src/etags.c (print_version):
Use fputs to output the version info, since that’s fputs_unlocked.
* lib-src/etags.c (PROGRAM_NAME): New macro.
(print_version): Use it.

5 years agoMake extraclean return tree to pristine state by deleting more
Lars Ingebrigtsen [Thu, 20 Jun 2019 15:04:04 +0000 (17:04 +0200)]
Make extraclean return tree to pristine state by deleting more

* src/Makefile.in (extraclean): Remove TAGS and config.in.

* Makefile.in (extraclean): Remove info, configure and
emacsver.texi in extraclean.
* admin/unidata/Makefile.in (extraclean): Make it depend on
distclean to remove .elc files.

* leim/Makefile.in (extraclean): Depend on bootstrap-clean to
remove generated .el files.

* lib/Makefile.in (extraclean): Added target to remove sys
directory and run distclean.

* lisp/Makefile.in (extraclean): Also remove loaddefs*.el~ files.

5 years agoAdd doc strings to the ielm * variables
Lars Ingebrigtsen [Thu, 20 Jun 2019 12:12:42 +0000 (14:12 +0200)]
Add doc strings to the ielm * variables

* lisp/ielm.el: (*, **, ***): Add doc strings.

5 years agoDon't define *, ** and ** in ielm as real variables
Lars Ingebrigtsen [Thu, 20 Jun 2019 11:44:30 +0000 (13:44 +0200)]
Don't define *, ** and ** in ielm as real variables

* lisp/ielm.el: (*, **, ***): Change defvars into compiler
directives instead of real variable definitions to avoid polluting
the global Emacs namespace.
(*1, *2, *3): Ditto.

5 years agoFix compilation warning in esh-mode
Lars Ingebrigtsen [Thu, 20 Jun 2019 12:05:53 +0000 (14:05 +0200)]
Fix compilation warning in esh-mode

* lisp/eshell/esh-mode.el (eshell-mode): Remove special binding
for M-. in eshell buffers: The comment indicates that this is
outdated code.
(eshell-find-tag): Make obsolete.

5 years agoFix compilation warning in viper-exp involving tags
Lars Ingebrigtsen [Thu, 20 Jun 2019 12:02:22 +0000 (14:02 +0200)]
Fix compilation warning in viper-exp involving tags

* lisp/emulation/viper-ex.el (ex-tag): Use xref/next-error instead
of the deprecated tags functions.

5 years agoDeclare semantic-*overlay* aliases obsolete
Lars Ingebrigtsen [Thu, 20 Jun 2019 01:18:52 +0000 (03:18 +0200)]
Declare semantic-*overlay* aliases obsolete

* lisp/cedet/semantic/fw.el: Declare all the semantic-*overlay*
aliases obsolete.

5 years agoThroughout cedet, don't use semantic-overlay-* compat aliases
Lars Ingebrigtsen [Thu, 20 Jun 2019 01:14:11 +0000 (03:14 +0200)]
Throughout cedet, don't use semantic-overlay-* compat aliases

5 years agoRemove XEmacs compat code from cedet
Lars Ingebrigtsen [Thu, 20 Jun 2019 00:29:20 +0000 (02:29 +0200)]
Remove XEmacs compat code from cedet

* lisp/cedet/srecode/mode.el (srecode-menu-bar):
* lisp/cedet/semantic/wisent/comp.el (wisent-debug-flag)
(wisent-print-results):
* lisp/cedet/semantic/util-modes.el
(semantic-stickyfunc-indent-string)
(semantic-stickyfunc-header-line-format)
(semantic-highlight-func-mode-map):
* lisp/cedet/semantic/symref/list.el
(semantic-symref-list-menu-entries):
* lisp/cedet/semantic/idle.el ()
(semantic-idle-breadcrumbs-popup-menu):
* lisp/cedet/semantic/grammar.el (semantic-grammar-item-value)
(semantic-grammar-create-package)
(semantic-grammar-batch-build-packages)
(semantic-grammar-setup-menu):
* lisp/cedet/semantic/fw.el (semantic-overlay-live-p)
(semantic-event-window, semantic-make-local-hook)
(semantic-run-mode-hooks, semantic-subst-char-in-string)
(semantic-menu-item, semantic-find-file-noselect):
* lisp/cedet/semantic/format.el (semantic-format-face-alist)
(semantic--format-colorize-merge-text):
* lisp/cedet/semantic/decorate/include.el ()
(semantic-decoration-on-include-menu)
(semantic-decoration-on-unknown-include-menu)
(semantic-decoration-on-fileless-include-menu)
(semantic-decoration-on-unparsed-include-menu):
* lisp/cedet/semantic/decorate.el (semantic-set-tag-read-only)
(semantic-tag-read-only-p):
* lisp/cedet/mode-local.el (activate-mode-local-bindings):
* lisp/cedet/data-debug.el (data-debug-overlay-properties): Remove
XEmacs compat code.

5 years agoRemove XEmacs compat code from gravatar.el
Lars Ingebrigtsen [Wed, 19 Jun 2019 23:45:56 +0000 (01:45 +0200)]
Remove XEmacs compat code from gravatar.el

* lisp/image/gravatar.el (gravatar-retrieve): Remove XEmacs compat code

5 years agoRemove XEmacs compat code from erc
Lars Ingebrigtsen [Wed, 19 Jun 2019 23:44:19 +0000 (01:44 +0200)]
Remove XEmacs compat code from erc

* lisp/erc/erc-button.el (button, erc-button-keymap)
(erc-button-setup, erc-button-add-button): Remove XEmacs compat code.

* lisp/erc/erc-compat.el (erc-replace-match-subexpression-in-string):

* lisp/erc/erc-log.el (erc-log-file-coding-system):

* lisp/erc/erc-menu.el (menu):

* lisp/erc/erc-stamp.el (erc-timestamp-use-align-to):

* lisp/erc/erc-track.el (erc-modified-channels-object, track)
(erc-track-mouse-face):

* lisp/erc/erc.el (erc-update-undo-list)
(erc-quit-reason-various, erc-part-reason-various, erc-cmd-SV)
(erc-input-message, erc-get-channel-mode-from-keypress)
(erc-update-mode-line-buffer):

5 years agoRemove XEmacs compat code from table.el
Lars Ingebrigtsen [Wed, 19 Jun 2019 23:37:50 +0000 (01:37 +0200)]
Remove XEmacs compat code from table.el

* lisp/textmodes/table.el:
(table-disable-menu, null, table-recognize-cell)
(table--make-cell-map, table--update-cell)
(table--update-cell-widened, table--update-cell-heightened)
(table--read-from-minibuffer, table--untabify)
(table--update-cell-face, table--warn-incompatibility)
(table--fill-region, table--set-timer): Remove XEmacs compat code.

5 years agoRemove XEmacs compat code from dns-mode.el
Lars Ingebrigtsen [Wed, 19 Jun 2019 23:15:30 +0000 (01:15 +0200)]
Remove XEmacs compat code from dns-mode.el

* lisp/textmodes/dns-mode.el (dns-mode): Remove XEmacs compat code.

5 years agoClean up eieio-custom slightly
Lars Ingebrigtsen [Wed, 19 Jun 2019 23:13:51 +0000 (01:13 +0200)]
Clean up eieio-custom slightly

* lisp/emacs-lisp/eieio-custom.el: Remove commented out code.

5 years agoRemove XEmacs compat code from checkdoc.el
Lars Ingebrigtsen [Wed, 19 Jun 2019 23:13:07 +0000 (01:13 +0200)]
Remove XEmacs compat code from checkdoc.el

* lisp/emacs-lisp/checkdoc.el (checkdoc-minor-mode-map): Remove
XEmacs compat code.