Commit graph

75582 commits

Author SHA1 Message Date
Michal Nazarewicz
fab2332851 cc-mode: add ‘c-lineup-ternary-bodies’ (bug#41061)
Introduce ‘c-lineup-ternary-bodies’ function which, when used as
a c lineup function, aligns question mark and colon of a ternary
operator.  For example:

    return arg % 2 == 0 ? arg / 2
                        : (3 * arg + 1);

* lisp/progmodes/cc-align.el (c-lineup-ternary-bodies): New function.
* doc/misc/cc-mode.texi (Operator Line-Up Functions): Document the
new function.
* test/lisp/progmodes/cc-mode-tests.el (c-lineup-ternary-bodies): New
test case.
2020-05-09 11:30:32 +01:00
Clément Pit-Claudel
0bd6ae773a Only treat display strings as buttons if they have 'button' property
* lisp/button.el (push-button): Use 'posn-point' instead of
'posn-string' if the string doesn't have the 'button'
property (Bug#40859).
2020-05-09 10:42:30 +03:00
Tassilo Horn
0d861f25b2 Fix reading kind argument in browse-url-with-browser-kind.
* lisp/net/browse-url.el (browse-url-with-browser-kind): Convert KIND
argument queried from the user to a symbol.
2020-05-08 21:07:56 +02:00
Tassilo Horn
909591a4b2 Allow predicates for matching in browse-url-handlers.
* lisp/net/browse-url.el (browse-url-handlers): Allow predicates for
matching in browse-url-handlers.  Adapt docs and customize type.
(browse-url-select-handler): Support predicates in addition to
regexes.
(browse-url--non-html-file-url-p): New defun.
(browse-url-default-handlers): Use above predicate entry instead of
two entries.
2020-05-08 20:57:19 +02:00
Zhu Zihao
39b2a598d2 Make pcase pattern 'eieio' respect slot access related functions.
* lisp/emacs-lisp/eieio.el: Make pcase pattern respect slot-missing and
slot-unbound
2020-05-08 11:08:02 -04:00
Basil L. Contovounesios
958ddc9526 ; Update recent function declaration in dnd.el
* lisp/dnd.el (dnd-handle-one-url): Update arglist declaration for
browse-url-select-handler following recent change.
2020-05-07 21:40:09 +01:00
Tassilo Horn
b2581eea1b Allow browsing an URL explicitly with an internal or external browser.
* lisp/net/browse-url.el (browse-url-with-browser-kind): New command.
2020-05-07 19:44:10 +02:00
Tassilo Horn
b0f9cbb3da Categorize browse-url functions into internal and external ones.
* lisp/net/browse-url.el: Write package documentation explaining
browse-url-browser-kind symbol property.  Categorize existing
browse-url functions into internal and external ones.
(browse-url--browser-kind, browse-url--browser-kind-mailto)
(browse-url--browser-kind-man, browse-url--browser-kind-browser): New
functions.
(browse-url-select-handler): Add KIND argument to restrict selection.
* lisp/dnd.el (dnd-handle-one-url): Only select browse-url handler of
kind `internal'.
* lisp/net/eww.el (eww): Add `browse-url-browser-kind' symbol property
with value `internal'.
2020-05-07 19:43:41 +02:00
Basil L. Contovounesios
263ab750a5 ; Fix recent byte-compiler warning in dnd.el again
* lisp/dnd.el (dnd-handle-one-url): Declare new autoloaded function
browse-url-select-handler to silence the byte-compiler during 'make
bootstrap'.
2020-05-07 18:39:48 +01:00
Basil L. Contovounesios
5b5039caa2 ; Improve recent change to browse-url.el
* lisp/net/browse-url.el (browse-url-select-handler): Use lwarn with
specific warning type, as recommended in "(elisp) Warning Basics".
2020-05-07 16:59:26 +01:00
Noam Postavsky
ddc8020327 Don't increment array index in cl-loop twice (Bug#40727)
* lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause): Put the temp-idx
increment in cl--loop-body, leaving just the side-effect free testing
of the index for both cl--loop-body and cl--loop-conditions.
* test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs-loop-and-arrays):
Extend test to cover this case.
2020-05-07 08:23:56 -04:00
Noam Postavsky
de7158598f Revert "cl-loop: Calculate the array length just once"
It fails when using 'and' (parallel bindings) for arrays (Bug#40727).
* lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause): Revert to
recomputing array length.
* test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs-loop-and-arrays): New
test.
2020-05-07 08:23:56 -04:00
Tassilo Horn
2c905fb8a1 Fix browse-url (remove debugging leftover).
* lisp/net/browse-url.el (browse-url): Fix "No suitable browser for
URL" always popping up.
2020-05-07 13:12:22 +02:00
Michael Albinus
de5f59219a Handle signals in Tramp's process-file
* lisp/net/tramp-adb.el (tramp-adb-handle-process-file):
* lisp/net/tramp-sh.el (tramp-sh-handle-process-file): Handle signals.

* test/lisp/net/tramp-tests.el (tramp-test28-process-file): Adapt test.
2020-05-07 10:27:14 +02:00
Tassilo Horn
3b5f728bff Refactor browse-url handler selection into separate function.
* lisp/net/browse-url.el (browse-url-select-handler): New function.
(browse-url): Use it.
* lisp/dnd.el (dnd-handle-one-url): Use it.
2020-05-07 09:53:54 +02:00
Basil L. Contovounesios
281b9e42a4 ; Fix recent byte-compiler warnings in dnd.el
* lisp/dnd.el (dnd-handle-one-url): Don't require browse-url twice
in the same function.  Declare non-autoloaded browse-url-handlers to
silence byte-compiler.
2020-05-07 01:54:43 +01:00
Tassilo Horn
86fef6ab89 Restore HTML rendering behavior of browse-url-of-buffer/file.
* lisp/net/browse-url.el (browse-url-default-handlers): Add a browser
handler for HTML page file:// URLs before the generic file:// handler.
(browse-url--browser): New defun.
2020-05-06 22:23:03 +02:00
Glenn Morris
153241d664 Merge from origin/emacs-27
76516465bf (origin/emacs-27) * doc/emacs/modes.texi (Major Modes): Fi...
f8e6cd11b3 Fix docstring quoting
2020-05-06 09:28:36 -07:00
Glenn Morris
3568c5d86f Merge from origin/emacs-27
7be160d800 Improve "Help Summary" section in user manual
f6d6ccc984 Clarify message-sendmail-extra-arguments docstring
95fde1a851 * src/editfns.c (Fformat): Small documentation fix.
2020-05-06 09:28:36 -07:00
Glenn Morris
e292097f55 Merge from origin/emacs-27
4b419083f9 Honor search-upper-case
310112fdc7 Fix eww-follow-link on URLs with #target

# Conflicts:
#	lisp/fileloop.el
2020-05-06 09:28:36 -07:00
Tassilo Horn
4b8e6939bf Consult browse-url-{default-,}handlers in drag&drop.
* lisp/dnd.el (dnd-handle-one-url): Consult `browse-url-handlers' and
`browse-url-default-handlers' for a matching handler.  Adapt
docstring.
* doc/lispref/frames.texi (Drag and Drop): Remove the docs for the
deprecated alist choice of `browse-url-browser-function' and mention
`browse-url-handlers' and `browse-url-default-handlers'.
2020-05-06 16:48:57 +02:00
Michael Albinus
d9e10a1d1a process-file in Tramp must return exit code (Bug#41099)
* lisp/net/tramp-adb.el (tramp-adb-send-command-and-check): Add optional
argument EXIT-STATUS.
(tramp-adb-handle-process-file): Use it.

* lisp/net/tramp-sh.el (tramp-send-command-and-check): Add optional
argument EXIT-STATUS.
(tramp-sh-handle-process-file): Use it.  (Bug#41099)

* test/lisp/net/tramp-tests.el (tramp-test28-process-file): Adapt test.
2020-05-06 10:36:43 +02:00
Tassilo Horn
c4adfbae24 Allow for custom URL handlers in browse-url.
* lisp/net/browse-url.el (browse-url-handlers): New defcustom.
(browse-url-default-handlers): New defvar.
(browse-url): Use them.  Adapt docstring.  Issue a warning pointing to
browse-url-handlers when browse-url-browser-function is an alist.
(browse-url--mailto, browse-url--man): New functions.
(browse-url--browser-defcustom-type): Add :doc that the alist usage is
deprecated.
(browse-url-browser-function): Remove documentation referring to the
alist usage and mention browse-url-handlers.
* doc/emacs/misc.texi: Document browse-url-handlers in Browse-URL
node.
* etc/NEWS: Mention browse-url-default-handlers and
browse-url-handlers.
2020-05-06 10:14:58 +02:00
Stefan Kangas
58c234aa8c Prefer 'strong' and 'em' to 'b' and 'i' in html-mode
* lisp/textmodes/sgml-mode.el (html-face-tag-alist): Prefer inserting
'strong' and 'em' tags to 'b' and 'i' in html-mode.  (Bug#41031)
* lisp/textmodes/sgml-mode.el (html-mode): Update docstring to do the
same.
2020-05-06 03:30:20 +02:00
Noam Postavsky
f8e6cd11b3 Fix docstring quoting
* lisp/gnus/message.el (message-sendmail-extra-arguments): Fix
escaping of quotes in docstring.
2020-05-05 21:13:31 -04:00
Noam Postavsky
de1b33f5a8 Revert "cl-loop: Calculate the array length just once"
Don't merge to master.  This is a safe-for-release fix for Bug#40727.
2020-05-05 21:07:58 -04:00
Noam Postavsky
caf155c463 Revert "cl-loop: Add missing guard condition"
Don't merge to master.  This is a safe-for-release fix for Bug#40727.
2020-05-05 21:07:58 -04:00
Noam Postavsky
79e133da03 Revert "Refix conditional step clauses in cl-loop"
Don't merge to master.  This is a safe-for-release fix for Bug#40727.
2020-05-05 21:07:58 -04:00
Stefan Monnier
bbc34d3762 Try and improve the *Help* layout for things like diff-refine.
* lisp/help-fns.el (describe-variable-custom-version-info): Follow the
usual format of other `help-fns-describe-variable-functions`.
2020-05-05 17:53:23 -04:00
Stefan Kangas
f6d6ccc984 Clarify message-sendmail-extra-arguments docstring
* lisp/gnus/message.el (message-sendmail-extra-arguments): Clarify
docstring.
2020-05-05 16:45:26 +02:00
Alan Mackenzie
9f5999b08d Remove calls to non-existent functions from edebug.el.
Do not merge to master.

*lisp/emacs-lisp/edebug.el (edebug--display-1)
(edebug-toggle-disable-breakpoint): Remove calls to
edebug--overlay-breakpoints and edebug--overlay-breakpoints-removed which had
been overlooked in a recent changed to edebug.
2020-05-04 18:26:38 +00:00
Michael Albinus
221e6a9bcd Fix setting of INSIDE_EMACS in Tramp
* lisp/net/tramp-sh.el (tramp-sh-handle-make-process)
(tramp-sh-handle-process-file, tramp-open-shell): Set proper
INSIDE_EMACS environment variable.
2020-05-04 10:43:58 +02:00
Dmitry Gutov
4b419083f9 Honor search-upper-case
* lisp/fileloop.el (fileloop--case-fold):
Extract from existing code.  Honor search-upper-case (bug#40940).
(fileloop-initialize-replace, fileloop-initialize-search): Use it.
Update the docstring.
2020-05-04 02:56:39 +03:00
Basil L. Contovounesios
310112fdc7 Fix eww-follow-link on URLs with #target
* lisp/net/eww.el (eww-display-html): Ensure shr-target-id is set as
callers depend on this (bug#28441, bug#40532).
2020-05-04 00:40:38 +01:00
Juri Linkov
f5cb5bb828 Revert part of recent commit 85544f8ef5 (bug#40808)
* lisp/isearch.el (isearch-lazy-highlight-search): Remove recent fix of
lazy-highlighting of hidden matches.  In emacs-27 leave only the fix for
lazy-counting of hidden matches when isearch-lazy-count is non-nil.

; Do not merge to master.
2020-05-04 01:31:44 +03:00
Stefan Monnier
40149b8718 * lisp/emacs-lisp/eieio.el (oset, oset-default): Mark as obsolete 2020-05-03 18:05:16 -04:00
Simen Heggestøyl
7db0093bc2 Use lexical-binding in check-declare.el and add tests
* lisp/emacs-lisp/check-declare.el: Use lexical-binding.
(check-declare-warn): Silence byte compiler warning about unused
lexical argument.

* test/lisp/emacs-lisp/check-declare-tests.el: New file with tests
for check-declare.el.
2020-05-03 19:50:57 +02:00
Mattias Engdegård
20c1e7f8af Fix calculator division truncation (bug#40892)
* lisp/calculator.el (calculator-string-to-number): Convert decimal
numbers input to float, fixing a regression introduced in f248292ede.
Reported by Aitor Soroa.
2020-05-03 10:05:43 -07:00
Glenn Morris
99a544c807 Merge from origin/emacs-27
0a3731feef Make memq etc. examples more like they were
ed25282b82 Document effect of 'search-upper-case' on replacement comm...
5a5d8a8ec0 * lisp/desktop.el (desktop-save): Doc fix.  (Bug#41007)
2020-05-03 07:50:21 -07:00
Glenn Morris
76cf14f9ca Merge from origin/emacs-27
1d477a0fec Recommend to avoid unnecessary abbreviations in doc
aea1b4db72 Revert "Fix calculator division truncation (bug#40892)"
2020-05-03 07:50:21 -07:00
Glenn Morris
c6d70f890c Merge from origin/emacs-27
1f17193e00 Expand file name for remote dirs as well
7a12ab5ea2 Fix project.el commands in "transient" projects
274ec97e3c Make sure alist-related functions say so in their doc
2020-05-03 07:50:20 -07:00
Stefan Kangas
5f516dc944 Remove redundant :groups args missed in last commit
* lisp/emacs-lisp/cl-indent.el (lisp-lambda-list-keyword-alignment)
(lisp-lambda-list-keyword-parameter-indentation)
(lisp-lambda-list-keyword-parameter-alignment)
(lisp-indent-backquote-substitution-mode): Remove redundant :group args.
2020-05-03 16:21:51 +02:00
Stefan Kangas
d55b3b5966 Improve indentation of 'loop' forms
* lisp/emacs-lisp/cl-indent.el (lisp-loop-keyword-indentation)
(lisp-loop-forms-indentation, lisp-simple-loop-indentation): Use a
more standard indentation of 'loop' forms.  (Bug#2160)

(lisp-indent-maximum-backtracking, lisp-tag-indentation)
(lisp-tag-body-indentation, lisp-backquote-indentation)
(lisp-loop-keyword-indentation, lisp-loop-forms-indentation)
(lisp-simple-loop-indentation): Remove redundant :group args.
2020-05-03 16:19:09 +02:00
Stefan Kangas
b82dbba5e0 Use lexical-binding in w32-vars.el
* lisp/w32-vars.el: Use lexical-binding.
(w32-use-w32-font-dialog, w32-allow-system-shell
(w32-system-shells, w32-fixed-font-alist): Remove redundant :group
args.
2020-05-03 16:17:20 +02:00
Eli Zaretskii
cb1e73d1bc Improve accuracy of apropos commands that search doc strings
It is conceptually wrong for apropos commands that search doc
strings to look for matches of several words only on the same
line, because division of doc strings between lines is
ephemeral.
* lisp/apropos.el (apropos-parse-pattern): Accept an optional
argument MULTILINE-P, and if that is non-nil, produce regexps that
match words in the list even if they are separated by line
boundaries.
(apropos-value, apropos-local-value, apropos-documentation): Use
the new optional argument in apropos commands that search
multiline text, such as doc strings.

* src/search.c (Fposix_looking_at, Fposix_string_match)
(Fposix_search_backward, Fposix_search_forward): Make sure Posix
appears in the doc strings near REGEXP, for better matches.
2020-05-03 16:53:53 +03:00
Michael Albinus
7f51ab5163 Do not delete asynchronous Tramp processes due to session timeout
* lisp/net/tramp-cmds.el (tramp-cleanup-connection): New optional
argument KEEP-PROCESSES.

* lisp/net/tramp-sh.el (tramp-timeout-session): Use it.  (Bug#41042)
2020-05-03 13:59:50 +02:00
Michael Albinus
a9432bd2cc Improve Tramp debug messages
* lisp/net/tramp-cache.el (tramp-get-file-property)
(tramp-get-connection-property): Improve debug messages.
Suggested by Marc Herbert <marc.herbert@gmail.com>.
2020-05-03 13:59:08 +02:00
Alan Mackenzie
e90b7b9ef2 Revert "Mark breakpoints in edebug with highlights". This fixes bug #40992
Do not merge to master.

This reverts commit e8b3a15cb6.
2020-05-03 11:25:19 +00:00
Stefan Kangas
4be16866b9 Use lexical-binding for some term libraries
This takes care of the most trivial cases, but there are more that
could be easily converted.

* lisp/term/bobcat.el:
* lisp/term/cygwin.el:
* lisp/term/konsole.el:
* lisp/term/linux.el:
* lisp/term/vt100.el:
* lisp/term/vt200.el: Use lexical-binding.
2020-05-02 22:50:14 +02:00
Stefan Kangas
11fd01c994 Improve Info-mode doc and menu
* lisp/info.el (Info-mode-menu): Re-arrange to be more logical, move
items into submenus, add 'Info-directory' and separators.
(Info-mode): Add 'end-of-buffer' to doc string.  (Bug#39042)
2020-05-02 22:41:20 +02:00