Commit graph

136334 commits

Author SHA1 Message Date
Lars Ingebrigtsen
e3fbe04cbc 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.
2019-05-15 02:53:56 +02:00
Glenn Morris
4b2c9f638a ; 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)
2019-05-14 17:18:19 -07:00
Glenn Morris
5fe9375a51 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
2019-05-14 17:18:18 -07:00
Glenn Morris
0f63e17663 ; Merge from origin/emacs-26
The following commit was skipped:

916510b * etc/package-keyring.gpg: Add the 2019 key (backport)
2019-05-14 17:10:28 -07:00
Juri Linkov
c11c990356 * lisp/progmodes/project.el (project-read-file-name-function): Fix type. 2019-05-14 23:40:31 +03:00
Paul Eggert
cf5457764c 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.
2019-05-14 11:10:02 -07:00
Stefan Monnier
624a232a8d * 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.
2019-05-14 14:00:58 -04:00
Paul Eggert
d2dea70415 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.
2019-05-13 23:07:05 -07:00
Dmitry Gutov
e0ee41d155 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.
2019-05-14 05:11:18 +03:00
YAMAMOTO Mitsuharu
9b28a5083e 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.
2019-05-14 10:17:16 +09:00
Basil L. Contovounesios
2f7e97ef48 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)
2019-05-14 02:15:37 +01:00
Kévin Le Gouguec
417c52b0b7 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)
2019-05-13 20:41:02 -04:00
Kévin Le Gouguec
59ad303e8f 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)
2019-05-13 20:41:02 -04:00
Noam Postavsky
202ff53da2 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.
2019-05-13 20:15:31 -04:00
Basil L. Contovounesios
364d4e156d 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)
2019-05-13 23:58:45 +01:00
Basil L. Contovounesios
f4c1d95bef 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".
2019-05-13 23:23:06 +01:00
Robert Pluim
2ecb7c5c0b 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).
2019-05-13 16:46:27 -04:00
Juri Linkov
cd5b0538c5 * 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)
2019-05-13 23:40:11 +03:00
Alexandre Garreau
f515bc6398 [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.
2019-05-13 16:34:06 -04:00
Lars Ingebrigtsen
86c8582c9e Make mml respect the "recipient-filename" parameter
* lisp/gnus/mml.el (mml-insert-mime-headers): Implement the
already-documented "recipient-filename" parameter (bug#34654).
2019-05-13 16:16:10 -04:00
Lars Ingebrigtsen
8fe73515ad 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).
2019-05-13 15:45:52 -04:00
Paul Eggert
967711995e 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.
2019-05-13 12:43:39 -07:00
Lars Ingebrigtsen
3de3452014 Add a comment about the previous shr change 2019-05-13 15:10:33 -04:00
Lars Ingebrigtsen
648a52ae69 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).
2019-05-13 15:04:46 -04:00
Federico Tedin
81af228a63 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
2019-05-13 14:06:16 -04:00
Jimmy Aguilar Mena
d2d4916046 ; * lisp/faces.el (fill-column-indicator): Fix typo. 2019-05-12 23:20:54 +02:00
Xu Chunyang
fccc3d8067 (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).
2019-05-12 16:35:49 -04:00
Stefan Monnier
3c1967dbfe * lisp/emacs-lisp/packages.el: Add all to package-check-signature
(package-check-signature): Add `all` option.
(package--check-signature-content): Adjust accordingly.
2019-05-12 13:03:24 -04:00
Neil Roberts
02bee7860f 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.
2019-05-12 09:59:55 -04:00
Noam Postavsky
29531785a1 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.
2019-05-12 08:05:01 -04:00
Noam Postavsky
b1cc876b6c 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.
2019-05-12 08:05:01 -04:00
Basil L. Contovounesios
571d802df3 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.
2019-05-12 12:47:56 +01:00
Basil L. Contovounesios
bb60144d00 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)
2019-05-12 12:27:40 +01:00
Basil L. Contovounesios
ef62469e56 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.
2019-05-12 11:59:11 +01:00
Mauro Aranda
40b3dcb7f7 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)
2019-05-11 10:19:24 -04:00
Eli Zaretskii
b1235f9abd Improve documentation of Hexl mode
* doc/emacs/misc.texi (Editing Binary Files): Clarify
"insertion".  Improve wording.  Add a few Hexl commands.
(Bug#35580)
2019-05-11 15:00:06 +03:00
Mark Oteiza
cc67d6ef36 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.
2019-05-10 20:55:04 -04:00
Alexander Gramiak
616ce44ac5 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.
2019-05-10 17:26:12 -06:00
Alexander Gramiak
6bfc5fc6c4 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.
2019-05-10 17:26:12 -06:00
Stefan Monnier
655634808a * 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.
2019-05-10 08:51:39 -04:00
Michael Albinus
e8709e7900 Handle subdomains in Tramp ad-hoc proxies
* lisp/net/tramp-sh.el (tramp-compute-multi-hops): Add proper
regexps to `tramp-default-proxies-alist'.
2019-05-10 14:48:07 +02:00
Noam Postavsky
510aa7505f 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.
2019-05-10 06:41:59 -04:00
Alan Mackenzie
8ce5e37ce8 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.
2019-05-10 10:21:09 +00:00
Alan Mackenzie
a8d17f35a2 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.
2019-05-10 07:28:54 +00:00
Michael Heerdegen
eda8ea6858 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.
2019-05-09 22:28:19 +02:00
Alan Mackenzie
32d181326a 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.
2019-05-09 16:27:03 +00:00
Stefan Monnier
d2bd9958bd * lisp/mail/footnote.el: Avoid regexp-opt-charset, which is not autoloaded.
(footnote-hebrew-numeric-regex): Use rx-to-string instead.
2019-05-09 10:32:25 -04:00
Michael Albinus
eb1698c54a 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.
2019-05-09 14:24:22 +02:00
Michael Albinus
4255f0fcae * test/lisp/net/tramp-tests.el (cl-lib): Require instead of cl-seq. 2019-05-09 14:23:07 +02:00
Noam Postavsky
0397b7c797 ; Fix smtpmail-stream-type docstring
* lisp/mail/smtpmail.el (smtpmail-stream-type): Remove redundant
docstring verbiage.
2019-05-09 07:35:05 -04:00