]> git.eshelyaron.com Git - emacs.git/log
emacs.git
5 years agoAvoid infinitly looping in tramp-interrupt-process (bug#35506)
John Shahid [Wed, 15 May 2019 14:29:58 +0000 (16:29 +0200)]
Avoid infinitly looping in tramp-interrupt-process (bug#35506)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

The following commits were skipped:

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

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

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

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

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

The following commit was skipped:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(Bug#35476)

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

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

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

(Bug#35476)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Copyright-paperwork-exempt: yes

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

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

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

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

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

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

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

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

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

Bug#33400

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

5 years ago* lisp/help.el (help--read-key-sequence): Handle `switch-frame' events
Stefan Monnier [Fri, 10 May 2019 12:49:03 +0000 (08:49 -0400)]
* lisp/help.el (help--read-key-sequence): Handle `switch-frame' events

If you do `C-h k ... mouse-1 in other frame` (at least if you have a focus
that follows the mouse), then additionally to the down-mouse-1 and mouse-1
events, a `switch-frame` event (and `select-window` event as well sometimes)
is generated.  When `read-key-sequence` is called with nil for
`can-return-switch-frame`, this event is not returned but kept for later,
which causes a subsequent `sit-for` to return nil immediately.
This interfered without our "wait for double-click" which in turn prevented
us from stopping after the mouse-1 click, getting stuck waiting for something
else instead.

(help--read-key-sequence): Pass a non-nil `can-return-switch-frame`, so the
subsequent `sit-for` returns more trustworthy information.

5 years agoHandle subdomains in Tramp ad-hoc proxies
Michael Albinus [Fri, 10 May 2019 12:48:07 +0000 (14:48 +0200)]
Handle subdomains in Tramp ad-hoc proxies

* lisp/net/tramp-sh.el (tramp-compute-multi-hops): Add proper
regexps to `tramp-default-proxies-alist'.

5 years agoStop using message-default-charset (Bug#35370)
Noam Postavsky [Tue, 7 May 2019 12:18:49 +0000 (08:18 -0400)]
Stop using message-default-charset (Bug#35370)

In 2016-02-14 "Remove compat code for older Emacsen",
message-default-charset was obsoleted, and a couple of uses were
removed, but others were left behind.
* lisp/gnus/message.el (message-send-mail)
(message-send-news, message-do-fcc)
(message-encode-message-body):
* lisp/gnus/mml.el (mml-to-mime): Stop using message-default-charset.

5 years agoOptimize CC Mode a bit for repetitive insertion and replace-regexp
Alan Mackenzie [Fri, 10 May 2019 10:21:09 +0000 (10:21 +0000)]
Optimize CC Mode a bit for repetitive insertion and replace-regexp

This is mainly by enhancing a parse-partial-sexp cache to retain recently
calculated values.  Also, there are several miscellaneous optimizations and
bug fixes.

* lisp/progmodes/cc-engine.el (c-state-semi-nonlit-near-cache): New buffer
local variable.
(c-state-semi-trim-near-cache, c-state-semi-get-near-cache-entry)
(c-state-semi-put-near-cache-entry, c-state-semi-trim-cache): New functions.
(c-state-semi-pp-to-literal, c-state-full-pp-to-literal): Use the new "near"
cache.
(c-parse-ps-state-below): Use the new function c-state-semi-trim-cache.
(c-before-change-check-<>-operators): Check simply for < or > in the
neighbourhood before doing more expensive processing.
(c-maybe-re-mark-raw-string): Give a backward search limit to an operation
which was needlessly lacking one.

* lisp/progmodes/cc-mode.el (c-doc-fl-decl-start, c-doc-fl-decl-end): Check a
certain regexp is valid before performing the (somewhat expensive) actions of
these functions.
(c-fl-decl-start): In the search for a C++ lambda capture list, replace (slow)
calculation of c-parse-state by a (less slow) c-go-up-list-backward.

5 years agoMake uncomment-region remove obtrusive spaces before tabs.
Alan Mackenzie [Fri, 10 May 2019 07:28:54 +0000 (07:28 +0000)]
Make uncomment-region remove obtrusive spaces before tabs.

These spaces were typically inserted earlier by comment-region.  This patch
makes these two complementary functions closer to inverses.

* lisp/newcomment.el (uncomment-region-default-1): Remove spaces before a tab
where the comment opener has just been removed.

5 years agoFix alist-get gv setter not returning VAL
Michael Heerdegen [Mon, 6 May 2019 12:58:24 +0000 (14:58 +0200)]
Fix alist-get gv setter not returning VAL

This fixes Bug#35546.

* lisp/emacs-lisp/gv.el (alist-get): Make setter return the set value
to preserve 'setf' semantics.

5 years agoFix description of (move-to-column <n> t) when column <n> is inside a tab
Alan Mackenzie [Thu, 9 May 2019 16:27:03 +0000 (16:27 +0000)]
Fix description of (move-to-column <n> t) when column <n> is inside a tab

This fixes bug #35647.  State that when indent-tabs-mode is non-nil, spaces
are inserted before the tab rather than the tab being replaced by spaces.

* doc/lispref/text.texi (columns)
* src/indent.c (move-to-column): Make the above documentation amendment.

5 years ago* lisp/mail/footnote.el: Avoid regexp-opt-charset, which is not autoloaded.
Stefan Monnier [Thu, 9 May 2019 14:32:25 +0000 (10:32 -0400)]
* lisp/mail/footnote.el: Avoid regexp-opt-charset, which is not autoloaded.

(footnote-hebrew-numeric-regex): Use rx-to-string instead.

5 years agoFix an error in tramp-vc-file-name-handler
Michael Albinus [Thu, 9 May 2019 12:24:22 +0000 (14:24 +0200)]
Fix an error in tramp-vc-file-name-handler

* lisp/net/tramp.el (tramp-accept-process-output, tramp-send-string):
* lisp/net/tramp-adb.el (tramp-adb-handle-make-process):
* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
(tramp-sh-handle-make-process):
* lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
(tramp-smb-handle-file-acl, tramp-smb-handle-process-file)
(tramp-smb-handle-set-file-acl)
(tramp-smb-handle-start-file-process): Do not suppress timers.

* lisp/net/tramp-sh.el (tramp-vc-file-name-handler): Check, that
`tramp-file-name-for-operation' returns a proper Tramp file.

5 years ago* test/lisp/net/tramp-tests.el (cl-lib): Require instead of cl-seq.
Michael Albinus [Thu, 9 May 2019 12:23:07 +0000 (14:23 +0200)]
* test/lisp/net/tramp-tests.el (cl-lib): Require instead of cl-seq.

5 years ago; Fix smtpmail-stream-type docstring
Noam Postavsky [Sun, 5 May 2019 16:27:32 +0000 (12:27 -0400)]
; Fix smtpmail-stream-type docstring

* lisp/mail/smtpmail.el (smtpmail-stream-type): Remove redundant
docstring verbiage.

5 years agoRecognize single quote attribute values in nxml and sgml (Bug#35381)
Noam Postavsky [Mon, 22 Apr 2019 02:44:50 +0000 (22:44 -0400)]
Recognize single quote attribute values in nxml and sgml (Bug#35381)

* lisp/textmodes/sgml-mode.el (sgml-specials): Add single quote.
(sgml-syntax-propertize-rules): Handle single quote.
* test/lisp/nxml/nxml-mode-tests.el (nxml-mode-font-lock-quotes): New
test.
* test/lisp/textmodes/sgml-mode-tests.el
(sgml-delete-tag-bug-8203-should-not-delete-apostrophe): Now passes.

5 years agoDisable extra display of &#10; in nxml-mode (Bug#32897)
Noam Postavsky [Fri, 19 Apr 2019 17:28:00 +0000 (13:28 -0400)]
Disable extra display of &#10; in nxml-mode (Bug#32897)

* lisp/nxml/nxml-mode.el (nxml-char-ref-display-extra): Don't put
display for the newline, it makes the indentation look wrong.

5 years agoFix nxml-get-inside (Bug#32003)
Noam Postavsky [Fri, 19 Apr 2019 03:36:04 +0000 (23:36 -0400)]
Fix nxml-get-inside (Bug#32003)

The change from 2016-01-16 "lisp/nxml: Use syntax-tables for comments"
made nxml-get-inside return non-nil for any string or comment,
including attribute strings.  This caused incorrect and therefore
indentation.
* lisp/nxml/nxml-rap.el: Update commentary to reflect changes to
nxml-mode parsing.
(nxml-get-inside): Only return non-nil when inside comments and
generic strings, not normal quote-delimited strings.
* test/lisp/nxml/nxml-mode-tests.el: New tests.

5 years ago* lisp/emacs-lisp/syntax.el (syntax-propertize): `ignore` is like nil
Stefan Monnier [Wed, 8 May 2019 19:18:32 +0000 (15:18 -0400)]
* lisp/emacs-lisp/syntax.el (syntax-propertize): `ignore` is like nil

(syntax-ppss-after-change-function): Mark it as obsolete.
* lisp/font-lock.el (font-lock-apply-syntactic-highlight):
Use syntax-ppss-flush-cache instead.

5 years agoFix positioning client buffer as instructed by emacsclient
Eli Zaretskii [Wed, 8 May 2019 17:34:09 +0000 (20:34 +0300)]
Fix positioning client buffer as instructed by emacsclient

* lisp/server.el (server-switch-buffer): Let-bind
switch-to-buffer-preserve-window-point to nil when switching
to the client buffer, when the client requested a specific
position.  (Bug#35602)

5 years ago* etc/package-keyring.gpg: Add the 2019 key (backport)
Stefan Monnier [Wed, 8 May 2019 17:19:36 +0000 (13:19 -0400)]
* etc/package-keyring.gpg: Add the 2019 key (backport)

5 years agoPort LIBRSVG_CHECK_VERSION fix to picky cpp
Paul Eggert [Wed, 8 May 2019 15:37:40 +0000 (08:37 -0700)]
Port LIBRSVG_CHECK_VERSION fix to picky cpp

* src/image.c (LIBRSVG_CHECK_VERSION): Define to yield false
if it isn’t already defined.
(svg_load_image): Port to C preprocessors that check the
syntax of the entire preprocessing expression before
evaluating any of it.

5 years agoMerge from origin/emacs-26
Glenn Morris [Wed, 8 May 2019 14:51:48 +0000 (07:51 -0700)]
Merge from origin/emacs-26

1c6484e (origin/emacs-26) Fix incorrect cloning of eieio-instance-inh...
37436fe Fix cloning of eieio-named objects (Bug#22840)
fb65a36 Fix ibuffer-unmark-backward synopsis (bug#35572)
f77bd2b ; * src/lisp.h (DEFSYM): Fix inaccurate comment.
3b86e0b Clarify handling of long options (Bug#24949)
04340a8 Improve documentation of the daemon and emacsclient
3e29de2 * etc/NEWS.24: Belatedly announce delete-consecutive-dups.

5 years ago; Merge from origin/emacs-26
Glenn Morris [Wed, 8 May 2019 14:51:48 +0000 (07:51 -0700)]
; Merge from origin/emacs-26

The following commits were skipped:

0ae7b2b (emacs-26) ; Auto-commit of loaddefs files.
3e322df * admin/update_autogen: Handle git worktree.

5 years agoMerge from origin/emacs-26
Glenn Morris [Wed, 8 May 2019 14:51:46 +0000 (07:51 -0700)]
Merge from origin/emacs-26

ec02c73 Update process filter example (Bug#35044)

5 years ago; * lisp/help.el (view-lossage): Fix commentary. (Bug#35596)
Eli Zaretskii [Wed, 8 May 2019 13:20:36 +0000 (16:20 +0300)]
; * lisp/help.el (view-lossage): Fix commentary.  (Bug#35596)

5 years agoFix compilation with old versions of librsvg
Eli Zaretskii [Wed, 8 May 2019 13:03:08 +0000 (16:03 +0300)]
Fix compilation with old versions of librsvg

* src/image.c (svg_load_image): Use LIBRSVG_CHECK_VERSION only
if it's defined; it isn't in old versions of librsvg.

5 years agoFix incorrect cloning of eieio-instance-inheritor objects (Bug#34840)
Vitalie Spinu [Wed, 8 May 2019 09:12:29 +0000 (11:12 +0200)]
Fix incorrect cloning of eieio-instance-inheritor objects (Bug#34840)

* lisp/emacs-lisp/eieio-base.el (clone): Unbound slots of
  eieio-instance-inheritor objects as documented in the docs string
  and implemented in the original eieio implementation.

5 years ago; Instrument auto-revert--deftest-remote
Michael Albinus [Wed, 8 May 2019 08:49:31 +0000 (10:49 +0200)]
; Instrument auto-revert--deftest-remote

5 years agoSkip tramp-test10-write-region-file-precious-flag for Emacs < 27
Michael Albinus [Wed, 8 May 2019 07:44:22 +0000 (09:44 +0200)]
Skip tramp-test10-write-region-file-precious-flag for Emacs < 27

* test/lisp/net/tramp-tests.el
(tramp-test10-write-region-file-precious-flag): Skip for Emacs < 27.

5 years agoDon't rewrite buffer contents after saving by rename (Bug#35497)
Jonathan Tomer [Wed, 8 May 2019 07:13:58 +0000 (09:13 +0200)]
Don't rewrite buffer contents after saving by rename (Bug#35497)

* lisp/files.el (basic-save-buffer-2): Don't rewrite file contents
after saving-by-renaming.  (Bug#35497)

* test/lisp/files-tests.el (files-tests-dont-rewrite-precious-files):
* test/lisp/net/tramp-tests.el
(tramp-test10-write-region-file-precious-flag): Regression tests
for this change.

5 years agoAdd an assertion to xdisp.c
Eli Zaretskii [Wed, 8 May 2019 06:29:20 +0000 (09:29 +0300)]
Add an assertion to xdisp.c

* src/xdisp.c (display_mode_element): Add an assertion where
we assume that 'string' returned by decode_mode_spec is always
either a Lisp string or nil.

5 years ago* lisp/progmodes/flymake.el: Obsolete variable flymake-start-on-newline
Juri Linkov [Tue, 7 May 2019 20:29:14 +0000 (23:29 +0300)]
* lisp/progmodes/flymake.el: Obsolete variable flymake-start-on-newline

(flymake-start-syntax-check-on-newline): Mark it obsolete.
(flymake-after-change-function): Remove obsolete variable
flymake-start-syntax-check-on-newline (temporarily renamed to
flymake-start-on-newline).  (Bug#34294)

* doc/misc/flymake.texi: Remove obsolete variable.

5 years agoPacify GCC 9.1
Paul Eggert [Tue, 7 May 2019 19:26:40 +0000 (12:26 -0700)]
Pacify GCC 9.1

* src/intervals.c (set_intervals_multibyte_1): Omit unused temps.
* src/xdisp.c (display_mode_element): Use !NILP instead of
STRINGP.  This convinces GCC we’re not dereferencing a
possibly-null pointer, and should be a bit faster anyway.

5 years agoFix setting and resetting of scroll-with-delete
John Shahid [Mon, 29 Apr 2019 17:53:38 +0000 (13:53 -0400)]
Fix setting and resetting of scroll-with-delete

The start and end lines of the scroll region must to be in the range
[0,term-height).  There are few placees that incorrectly set the end
line of the scroll region to term-height which is outside the valid
range.  Combined with another off-by-one error in
term-set-scroll-region's clamping logic, this would cause
term-scroll-with-delete to be unnecessarily turned on.

* lisp/term.el (term-scroll-start,term-scroll-end): Use defvar-local
to define the variables and document the valid range of values that
the variables can take.
(term--last-line): New function to calculate the 0-based index of the
last line.
(term--reset-scroll-region): New function to reset the scroll region
to the full height of the terminal.
(term-mode,term-reset-size,term-reset-terminal): Call
term--reset-scroll-region to reset the scroll region.
(term-set-scroll-region): Fix the off-by-one error in the clamping
logic which allowed term-scroll-end to have values outside the valid
range [0,term-height).

5 years ago* src/marker.c (buf_bytepos_to_charpos): Re-add the CHAR_HEAD_P assertion
Stefan Monnier [Tue, 7 May 2019 17:41:54 +0000 (13:41 -0400)]
* src/marker.c (buf_bytepos_to_charpos): Re-add the CHAR_HEAD_P assertion

This assertion was removed in 1c349c62305d432abf0fa2b6e3f5d754fe4cab79
because the assumption was invalid during set_intervals_multibyte_1.
So we change set_intervals_multibyte_1 to solve the problem in the same
way as in the rest of Fset_buffer_multibyte, which actually simplifies
the code.

* src/buffer.c (advance_to_char_boundary): Not static any more.
* src/buffer.h (advance_to_char_boundary): Add prototype.
* src/intervals.c (set_intervals_multibyte_1): Use it.

5 years ago* doc/emacs/text.texi (Fill Commands): Use pxref in parentheses.
Glenn Morris [Tue, 7 May 2019 17:33:36 +0000 (10:33 -0700)]
* doc/emacs/text.texi (Fill Commands): Use pxref in parentheses.

5 years ago* doc/emacs/files.texi (Auto Revert): Fix makeinfo-4.13 compilation.
Glenn Morris [Tue, 7 May 2019 17:32:03 +0000 (10:32 -0700)]
* doc/emacs/files.texi (Auto Revert): Fix makeinfo-4.13 compilation.

5 years agoClarify what constitutes an event (bug#35238)
Basil L. Contovounesios [Sun, 21 Apr 2019 22:02:01 +0000 (23:02 +0100)]
Clarify what constitutes an event (bug#35238)

* doc/lispref/commands.texi (Input Events): Specify that events are
non-nil and remove vestiges of bug#10190.
* doc/lispref/os.texi (Recording Input): Document optional argument
of recent-keys.
* lisp/subr.el (eventp): Check that the car of conses is non-nil.
* etc/NEWS: Announce it as an incompatible change.
* src/keyboard.c (Frecent_keys): Clarify that returned "events" are
not real events.

5 years agoFix 'load-average' on MS-Windows
Eli Zaretskii [Tue, 7 May 2019 14:48:32 +0000 (17:48 +0300)]
Fix 'load-average' on MS-Windows

* src/w32.c (getloadavg): Always return at least one element
of the array.

5 years agoFix cloning of eieio-named objects (Bug#22840)
Vitalie Spinu [Tue, 7 May 2019 11:15:43 +0000 (13:15 +0200)]
Fix cloning of eieio-named objects (Bug#22840)

* lisp/emacs-lisp/eieio-base.el (clone): Correctly set the name of the
  cloned objects from eieio-named instances.

5 years agoFix ibuffer-unmark-backward synopsis (bug#35572)
Basil L. Contovounesios [Tue, 7 May 2019 00:40:22 +0000 (01:40 +0100)]
Fix ibuffer-unmark-backward synopsis (bug#35572)

* lisp/ibuffer.el (ibuffer-mode): Fix synopsis of
ibuffer-unmark-backward along with other minor copy-edits.

5 years agoMerge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Wilson Snyder [Mon, 6 May 2019 22:35:59 +0000 (18:35 -0400)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs

5 years agoFix verilog-mode module backticks; whitespace from prev commits.
Wilson Snyder [Mon, 6 May 2019 22:35:31 +0000 (18:35 -0400)]
Fix verilog-mode module backticks; whitespace from prev commits.

* verilog-mode.el (verilog-read-inst-module-matcher):
Work when point is near backtick. Reported by Mattias Engdegard.

5 years ago* lisp/emacs-lisp/lisp.el (insert-pair-alist): Turn defvar into defcustom.
Juri Linkov [Mon, 6 May 2019 19:32:26 +0000 (22:32 +0300)]
* lisp/emacs-lisp/lisp.el (insert-pair-alist): Turn defvar into defcustom.

Revert to old default value.  (Bug#35480)

5 years agoMake combine-after-change-calls work in the common case again
Stefan Monnier [Mon, 6 May 2019 18:58:20 +0000 (14:58 -0400)]
Make combine-after-change-calls work in the common case again

* src/insdel.c (signal_after_change): Allow combine_after_change_calls
even when syntax-ppss-flush-cache is on before-change-functions.

5 years ago; * src/lisp.h (DEFSYM): Fix inaccurate comment.
Eli Zaretskii [Mon, 6 May 2019 18:52:19 +0000 (21:52 +0300)]
; * src/lisp.h (DEFSYM): Fix inaccurate comment.

5 years agoPrevent accidental edits in the ansi-term buffer from breaking resizing
John Shahid [Sun, 28 Apr 2019 19:59:50 +0000 (15:59 -0400)]
Prevent accidental edits in the ansi-term buffer from breaking resizing

* lisp/term.el (term-unwrap-line, term-emulate-terminal): Prevent the
  `term-line-wrap` property of newlines from spreading accidentally
  when inserting text next to it.

5 years agoc-beginning-of-statement-1: Handle syntactic WS macros properly.
Alan Mackenzie [Mon, 6 May 2019 17:36:28 +0000 (17:36 +0000)]
c-beginning-of-statement-1: Handle syntactic WS macros properly.

* lisp/progmodes/cc-engine.el (c-beginning-of-statement-1): The variable
before-sws-pos should record the position of a closing paren/brace/bracket
before moving backwards over a sexp.  When there is a syntactic WS macro
between the starting point and the closing p/b/b, setq before-sws-pos again
after moving backward over the macro.

5 years ago* lisp/custom.el: Avoid adding vars to load-history multiple times
Stefan Monnier [Mon, 6 May 2019 16:37:00 +0000 (12:37 -0400)]
* lisp/custom.el: Avoid adding vars to load-history multiple times

Avoid the abuse of (eval `(defvar ...)) which tends to end up
adding redundant entries in `load-history`, as discussed in
https://lists.gnu.org/r/help-gnu-emacs/2019-03/msg00237.html

(custom-initialize-default): Don't add to load-history.
(custom-declare-variable): Use internal--define-uninitialized-variable
and only add the var to load-history once.  Do it before calling
`initialize` so the special-variable-p flag is set.

* src/eval.c (Finternal__define_uninitialized_variable): New function.
(Fdefvar, Fdefconst): Use it.
(syms_of_eval): Defsubr' it.

5 years agoUse lambda in tramp-compat-* functions
Michael Albinus [Mon, 6 May 2019 10:04:24 +0000 (12:04 +0200)]
Use lambda in tramp-compat-* functions

* lisp/net/tramp-compat.el (tramp-handle-temporary-file-directory):
Declare.
(tramp-compat-temporary-file-directory-function): Use function symbol.
(tramp-compat-file-attribute-type)
(tramp-compat-file-attribute-link-number)
(tramp-compat-file-attribute-user-id)
(tramp-compat-file-attribute-group-id)
(tramp-compat-file-attribute-modification-time)
(tramp-compat-file-attribute-size)
(tramp-compat-file-attribute-modes)
(tramp-compat-directory-name-p, tramp-compat-file-local-name)
(tramp-compat-file-name-quoted-p, tramp-compat-file-name-quote)
(tramp-compat-file-name-unquote, tramp-compat-exec-path)
(tramp-compat-time-equal-p, tramp-compat-flatten-tree):
Make them lambdas.

5 years ago; Make /etc/NEWS more consistent
Michael Albinus [Mon, 6 May 2019 09:23:54 +0000 (11:23 +0200)]
; Make /etc/NEWS more consistent

5 years agoUse simpler way to print function pointers
Paul Eggert [Mon, 6 May 2019 00:35:05 +0000 (17:35 -0700)]
Use simpler way to print function pointers

The module code can’t possibly work on weird platforms where
function pointers are wider than data pointers, so there’s no need
to bother with the stackoverflow-like approach that is intended
only for portability to such platforms.  Besides, the
stackoverflow-like approach does not work well on weird platforms
where CHAR_BIT is not a multiple of 4.
* src/lisp.h (pMx): New macro.
* src/print.c (data_from_funcptr) [HAVE_MODULES]: New function.
(print_vectorlike) [HAVE_MODULES]: Use it.
(print_object): Make sure buf is big enough for this.

5 years ago* lisp/progmodes/flymake.el (flymake-start): Check for flymake-mode.
Juri Linkov [Sun, 5 May 2019 20:07:44 +0000 (23:07 +0300)]
* lisp/progmodes/flymake.el (flymake-start): Check for flymake-mode.

Check for the value of flymake-mode after hooks are finished (bug#34294)

5 years ago* lisp/progmodes/flymake.el: Rename flymake-start-on-newline (bug#34294)
Juri Linkov [Sun, 5 May 2019 20:05:01 +0000 (23:05 +0300)]
* lisp/progmodes/flymake.el: Rename flymake-start-on-newline (bug#34294)

* lisp/progmodes/flymake.el (flymake-start-on-newline): Rename from
flymake-start-syntax-check-on-newline.
(flymake-start-syntax-check-on-newline): Define obsolete alias.
(flymake-no-changes-timeout): Add customization option nil.

* doc/misc/flymake.texi (Using Flymake): Rename variable.

5 years ago* lisp/vc/ediff-ptch.el (ediff-fixup-patch-map): Remove Git prefixes.
Juri Linkov [Sun, 5 May 2019 19:51:14 +0000 (22:51 +0300)]
* lisp/vc/ediff-ptch.el (ediff-fixup-patch-map): Remove Git prefixes.

Strip possible source/destination prefixes such as a/ and b/
from directory names.   (Bug#35420)
(ediff-fixup-patch-map, ediff-dispatch-file-patching-job)
(ediff-patch-file-internal): Replace string-match with string-match-p.

5 years agoUse ngettext instead of dired-plural-s in Dired (bug#35287)
Juri Linkov [Sun, 5 May 2019 19:43:27 +0000 (22:43 +0300)]
Use ngettext instead of dired-plural-s in Dired (bug#35287)

* lisp/dired-aux.el (dired-map-over-marks-check): Use ngettext
instead of dired-plural-s.
(dired-create-files): Also add colon after operation name.
(dired-compare-directories): Use ngettext and format-message.
(dired-do-compress-to): Use ngettext.

* lisp/dired.el (dired-internal-do-deletions)
(dired-clean-up-after-deletion): Use ngettext instead of dired-plural-s.

5 years ago* lisp/emacs-lisp/lisp.el (insert-pair-alist): Precompute default value.
Juri Linkov [Sun, 5 May 2019 19:34:03 +0000 (22:34 +0300)]
* lisp/emacs-lisp/lisp.el (insert-pair-alist): Precompute default value.

Use unicode-property-table-internal with 'paired-bracket to append
pairs of open/close characters to the default value (bug#35480).