Commit graph

70972 commits

Author SHA1 Message Date
Michael Albinus
ab37ceb9ee Fix Bug#31489
* doc/misc/tramp.texi (Frequently Asked Questions):
Mention `tramp-ignored-file-name-regexp'.  Improve index.

; * etc/NEWS: Mention `tramp-ignored-file-name-regexp'.

* lisp/net/tramp.el (tramp-ignored-file-name-regexp): New defcustom.
(tramp-tramp-file-p): Use it.  Check also for `tramp-mode'.
(tramp-file-name-handler): Don't check for `tramp-mode'.  (Bug#31489)

* test/lisp/net/tramp-tests.el (tramp-test01-file-name-syntax):
Extend test.
2018-05-21 19:48:15 +02:00
Paul Eggert
ee2916c6d2 Use “Cc” for email copies, as per RFC 5322.
Also fix similar problems with Bcc, Fcc, In-Reply-To,
and similar email headers.  See thread starting at:
https://lists.gnu.org/r/emacs-devel/2018-05/msg00463.html
2018-05-20 11:02:50 -07:00
Alan Mackenzie
bb591f139f Enhance CC Mode's fontification, etc., of unterminated strings.
String delimiters, including escaped new lines, of correctly terminated
strings are left in font-lock-string-face.  All others get
font-lock-warning-face.  The latter get syntax-table text properties on the
opening string delim and the "terminating EOL".

Correct two miscellaneous bugs: the handling of text properties on Java Mode's
generic delimiters; the handling of c-just-done-before-change.

* lisp/progmodes/cc-defs.el (c-point): New position 'eoll "end of logical line".
(c-characterp): New macro.

* lisp/progmodes/cc-fonts.el (c-font-lock-invalid-string): Removed.
(c-basic-matchers-before): Use a simple matcher in place of the form around
c-font-lock-invalid-string.

* lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): Add
c-before-change-check-unbalanced-strings to the value for all modes except AWK
Mode.  Also add c-before-change-check-<>-operators to Java Mode, correcting an
error in that mode's handling of generic delimiters.
(c-before-font-lock-functions): Add c-after-change-re-mark-unbalanced-strings
to the value for all modes except AWK Mode.
(c-single-quotes-quote-strings, c-string-delims): New lang variables for
future enhancements.
(c-string-innards-re-alist): New lang variable.

* lisp/progmodes/cc-mode.el (c-just-done-before-change): Do not set this
variable when a change is the alteration of text properties.
(c-basic-common-init): Set parse-sexp-lookup-properties (and the XEmacs
equivalent) also for Pike Mode.
(c-neutralize-CPP-line): No longer neutralize unbalanced quotes here.
(c-unescaped-nls-in-string-p, c-multiline-string-start-is-being-detached)
(c-pps-to-string-delim, c-before-change-check-unbalanced-strings)
(c-after-change-re-mark-unbalanced-strings): New functions.
(c-after-change): Fix a bug with the handling of c-just-done-before-change.
2018-05-20 13:28:14 +00:00
Eli Zaretskii
3589c966b7 Use Enriched mode in etc/HELLO to keep charset information
This allows to encode HELLO in UTF-8, thus supporting the entire
repertory of Unicode, while still keeping the charset info where
that is important.  Suggested by Michael Welsh Duggan <mwd@md5i.com>.
* lisp/textmodes/enriched.el (enriched-translations): Add
translations for 'charset'.
(enriched-decode-charset, enriched-handle-charset-prop): New
functions.
* lisp/facemenu.el (facemenu-special-menu): Add sub-menu for
'charset' property.
(facemenu-set-charset): New function.
(facemenu-remove-special): Remove the 'charset' property as well.

* etc/NEWS: Announce the new feature of Enriched mode.
* etc/HELLO: Recode in UTF-8 and place under Enriched mode.

* doc/emacs/text.texi (Enriched Properties): Mention the support
for 'charset'.
2018-05-19 18:17:38 +03:00
Lars Ingebrigtsen
f4d9fd3dd4 (gnus-blocked-images): Clarify privacy implications
* lisp/gnus/gnus-art.el (gnus-blocked-images): Clarify the privacy
implication of altering the value of this variable.
2018-05-18 16:05:11 +02:00
Eli Zaretskii
3aab8626ba Fix decoding of directories when "~" includes non-ASCII chars
* src/fileio.c (Fexpand_file_name): Don't build multibyte strings
from unibyte non-ASCII strings when NAME and DEFAULT_DIRECTORY
have different multibyteness, as this adds bytes to the byte
sequence, and in some situations, e.g., when the home directory
includes non-ASCII characters, can fail file APIs.  (Bug#30755)

* lisp/startup.el (normal-top-level): Make sure default-directory
is set to a multibyte string when decoded on MS-Windows.
2018-05-18 16:34:19 +03:00
Filipp Gunbin
60ff810144 Fix bugs in `auth-source-netrc-parse-one'.
* lisp/auth-source.el (auth-source-netrc-parse-one): Ensure that match
  data is not overwritten in `auth-source-netrc-parse-next-interesting'.
  Ensure that blanks are skipped before and after going over comments
  and eols.
* test/lisp/auth-source-tests.el (auth-source-test-netrc-parse-one): New test.
2018-05-17 18:44:31 +03:00
Michael Albinus
01120ec3d2 Fix creation of Secret Service items in auth-source
* lisp/auth-source.el (auth-source-secrets-create): Use ´apply'.
(auth-source-secrets-saver): Handle `auth-source-save-behavior'
equal t.

* lisp/net/secrets.el (secrets-get-items): Do not call
`secrets-open-session' here ...
(top): ... but here.

* test/lisp/auth-source-tests.el
(auth-source-test-secrets-create-secret): Bind
`auth-source-save-behavior' to t.  Cleanup.

* test/lisp/net/secrets-tests.el (secrets-test00-availability):
After loading secets.el, a session is already opened.
(secrets-test02-collections, secrets-test03-items)
(secrets-test04-search): Open a new session.
2018-05-16 11:22:51 +02:00
Dima Kogan
4c3cd27df9 Give '$' punctuation syntax in make-mode (Bug#24477)
* lisp/progmodes/make-mode.el (makefile-mode-syntax-table): Set syntax
of '$' to punctuation.
2018-05-15 19:33:34 -04:00
Noam Postavsky
2fda57c6fb Simplify eshell arg processing with (pop (nthcdr ...))
* lisp/eshell/esh-opt.el (eshell--set-option)
(eshell--process-args): Use (pop (nthcdr ...)) instead of writing it
out by hand.
2018-05-15 19:32:49 -04:00
Jay Kamat
a4c616e27a esh-opt.el: Add a :parse-leading-options-only argument (Bug#28323)
* lisp/eshell/esh-opt.el (eshell-eval-using-options): Add a new
:parse-leading-options-only argument which ignores dash/switch
arguments after the first positional argument.
(eshell--process-args): Abort processing of arguments if we see one
positional argument and :parse-leading-options-only is set.
* lisp/eshell/em-tramp.el (eshell/sudo): Use
:parse-leading-options-only, to avoid parsing subcommand switches as
switches of sudo itself.
* test/lisp/eshell/esh-opt-tests.el: Add tests for new and old behavior.
2018-05-15 19:32:49 -04:00
Jay Kamat
92a8230e49 esh-opt.el: Fix improper parsing of first argument (Bug#28323)
Examples of broken behavior:

    sudo -u root whoami
    Outputs: -u
    ls -I '*.txt' /dev/null
    Errors with: *.txt: No such file or directory

* lisp/eshell/esh-opt.el (eshell--process-args): Refactor usage of
args to eshell--args, as we rely on modifications from
eshell--process-option and vice versa.  These modifications were not
being propogated in the (if (= ai 0)) case, since popping the first
element of a list doesn't destructively modify the underlying list
object.
2018-05-15 19:32:49 -04:00
Glenn Morris
3ee1841f28 Merge from origin/emacs-26
b98cf9c ; Fix a typo in the Emacs manual
700fcd7 * doc/emacs/help.texi: Fix paren typo.
c9c0e40 More minor changes in shell-related nodes of Emacs manual
e6bf19c Fix inaccuracies in "Shell Ring" node of Emacs manual
087681b8 Improve documentation of kmacro commands and variables.
be2e8cb * doc/man/emacs.1.in: Document --fg-daemon and --bg-daemon.
1d9e66a Don't check non-X frames for z order (Bug#31373)
7dc028e Check NSWindow is actually a frame

Conflicts:
	src/nsfns.m
2018-05-15 09:09:48 -07:00
Michael Albinus
b3956d85c7 Fix Bug#29575
* lisp/net/secrets.el (secrets-create-item): The new item does not
need a unique label.
(secrets-item-path, secrets-get-secret, secrets-get-attributes)
(secrets-get-attribute, secrets-delete-item): ITEM can also be an
object path.  (Bug#29575)

* test/lisp/net/secrets-tests.el (secrets-test03-items):
Test also creation of two items with same label.  Test
`secrets-get-secret', `secrets-get-attribute' and
`secrets-get-attributes' with object path.
(secrets-test04-search): Harden test.
2018-05-15 14:48:11 +02:00
Michael Albinus
73a367795f Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs 2018-05-15 11:07:46 +02:00
Michael Albinus
c595d5dd00 Fix Bug#31068
* lisp/net/tramp-archive.el (tramp-archive-file-name-handler):
Unregister unless `tramp-archive-enabled'.  (Bug#31068)
2018-05-15 11:06:18 +02:00
Tino Calancha
b015fb0ce3 run-python: Make the buffer running python current
* lisp/progmodes/python.el (run-python, python-shell-make-comint):
Make the buffer running the inferior python process the current buffer
(Bug#31398).
* test/lisp/progmodes/python-tests.el (python-tests--bug31398):
Add test.
2018-05-15 01:30:11 +09:00
Basil L. Contovounesios
c2caf763cf Minor refactoring in shell-command
* lisp/simple.el (shell-command): Use call-process-shell-command,
start-process-shell-command, and file-attribute-size. (bug#30280).
2018-05-15 01:23:35 +09:00
Michael Albinus
30bd61d674 * lisp/net/ange-ftp.el (ange-ftp-allow-child-lookup):
Do not use obsolete ´dired-local-variables-file'.
2018-05-14 17:14:17 +02:00
Michael Albinus
d15fa1b7d3 Fix Bug#30663
* lisp/dired.el (dired-revert):
Call `hack-dir-local-variables-non-file-buffer'.  (Bug#30663)
2018-05-14 17:12:16 +02:00
Michael Albinus
63b506eb4c Improve `dired-buffer-stale-p' for remote files
* lisp/dired.el (dired-buffer-stale-p): Check for ´file-remote-p'
only if `auto-revert-remote-files' is non-nil.
2018-05-14 17:09:18 +02:00
Michael Albinus
b01e6dd7b2 Remove obsolete objects from dired-x.el
* doc/misc/dired-x.texi (Local Variables): Remove node.

* lisp/dired-x.el (dired-enable-local-variables)
(default-directory-alist, dired-default-directory-alist)
(dired-default-directory, dired-local-variables-file)
(dired-hack-local-variables, dired-omit-here-always):
Remove obsolete variables, constants and functions.
2018-05-14 17:06:33 +02:00
João Távora
15fa8de1ae Fix filesystem littering by Flymake's legacy backend
The Flymake legacy "proc" backend, which is active by default will try
to syntax-check foo.c/foo.cpp and many other types of files, but on
failing to find a suitable Makefile target, will fail.  There's
nothing wrong with that except that it used to leave behind the
foo_flymake.c and foo_flymake.cpp auxiliary files behind, littering
the filesystem.

* lisp/progmodes/flymake-proc.el (flymake-proc-legacy-flymake):
Call init-function inside of the unwind-protect.
2018-05-11 23:29:05 +01:00
Michael Albinus
e3d115ae86 Tramp updates
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
Parse multibyte symlinks correctly.

* test/lisp/net/tramp/tramp-tests.el (tramp--test-utf8):
Improve backward compatibility.
2018-05-11 18:38:46 +02:00
Eli Zaretskii
087681b859 Improve documentation of kmacro commands and variables.
* lisp/kmacro.el (kmacro-start-macro-or-insert-counter)
(kmacro-counter, kmacro-set-format, kmacro-set-counter)
(kmacro-add-counter, kmacro-counter-format)
(kmacro-insert-counter): Clarify and improve the doc strings.
(Bug#31243)
2018-05-11 12:11:14 +03:00
Basil L. Contovounesios
eabb6f6c3e Rewrite scroll-other-window-down in C (bug#30207)
* lisp/window.el (scroll-other-window-down):
Move to src/window.c as Fscroll_other_window_down.
* src/window.c (scroll_command): Generalise for arbitrary windows.
(Fscroll_up, Fscroll_down): Use scroll_command with selected_window.
(Fscroll_other_window, Fscroll_other_window_down):
Rewrite in terms of scroll_command.
(syms_of_window): Add Sscroll_other_window_down.
2018-05-10 19:04:11 -04:00
Basil L. Contovounesios
ae92f52c75 Simplify "other window" bob/eob motion commands
* lisp/window.el (beginning-of-buffer-other-window)
(end-of-buffer-other-window):
Simplify via with-selected-window. (bug#30207)
2018-05-10 19:04:11 -04:00
Glenn Morris
766b057e41 Merge from origin/emacs-26
1d732d6 (origin/emacs-26) Fix gud-statement for pdb
91a68b5 ; * msdos/INSTALL: Add info about GCC versions.
7ddcc9a Document 'custom-group'
58f9e15 A minor addition to etc/DEBUG
4590414 Avoid errors in ispell.el when Enchant returns empty extra chars
d0d75f9 Make 'ispell-initialize-spellchecker-hook' work again
b90ce66 Handle selected_window change in prepare_menu_bars (Bug#31312)
79ad0b3 ; * INSTALL: Fix Emacs version number.  (Bug#31358)
91de88b Fix report-emacs-bug via mailclient on MS-Windows
f4b5ff2 Port collation tests to glibc 2.27
2018-05-07 07:50:49 -07:00
Xu Chunyang
1d732d699d Fix gud-statement for pdb
* lisp/progmodes/gud.el (pdb): Fix the gud-print implementation.
(Bug#31363)
2018-05-06 22:46:04 +03:00
Eli Zaretskii
91e582a31a Don't remove highlight of misspelled word on pdict save
* lisp/textmodes/ispell.el (ispell-pdict-save): Don't restart
flyspell-mode, as bug#11963, which this was supposed to fix, is
fixed better by ispell-command-loop, when the user types 'i' or
'a'.  Restarting Flyspell mode when the personal dictionary is
saved caused bug#31372 as side effect.
(ispell-command-loop): Test 'flyspell-mode', not whether
flyspell-unhighlight-at is fboundp, to determine whether Flyspell
mode is turned on in the current buffer.
(flyspell-unhighlight-at): Add declare-function form for it.
2018-05-06 21:20:31 +03:00
Michael Albinus
6464a8d702 Fix Bug#31272
* lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls)
(tramp-do-directory-files-and-attributes-with-stat)
(tramp-sh-handle-insert-directory): Use "--show-control-chars".
(tramp-convert-file-attributes): Decode multibyte strings,
produced by "stat".  (Bug#31272)

* test/lisp/net/tramp-tests.el (tramp--test-utf8): Extend test.
2018-05-06 12:39:36 +02:00
Michael Hendricks
8f2a815105 Include narrowing indication in describe-mode
* lisp/help.el (describe-mode): Include "Narrow", if narrowing is
active.  (Bug#31139)

Copyright-paperwork-exempt: yes
2018-05-05 12:41:43 +03:00
Eli Zaretskii
bbe2cadc54 Fix encoding of characters when using GB18030 fonts
* lisp/international/fontset.el (font-encoding-alist): Fix the
GB18030 entry to encode characters correctly when passing them to
the xfont back-end.  (Bug#31315)  See also
http://lists.gnu.org/archive/html/emacs-devel/2008-01/msg00754.html.
2018-05-05 11:45:37 +03:00
Daniel Pittman
4590414265 Avoid errors in ispell.el when Enchant returns empty extra chars
* lisp/textmodes/ispell.el (ispell--get-extra-word-characters):
Handle the case of empty extra characters returned by the
Enchant '-lsmod' command. (Bug#31344)

Copyright-paperwork-exempt: yes
2018-05-04 17:37:10 +03:00
Eli Zaretskii
d0d75f9b4e Make 'ispell-initialize-spellchecker-hook' work again
* lisp/textmodes/ispell.el (ispell-base-dicts-override-alist):
Defvar it to allow dynamic binding.  (Bug#31341)
2018-05-04 17:25:33 +03:00
Eli Zaretskii
91de88bfeb Fix report-emacs-bug via mailclient on MS-Windows
* lisp/net/browse-url.el (browse-url-default-windows-browser):
On MS-Windows, call url-unhex-string only for file:// URLs.
(Bug#31351)
2018-05-03 21:04:17 +03:00
Marco Wahl
8a6521260d Fix next-page for dired (Bug#31061)
* lisp/textmodes/page-ext.el (next-page): Don't go back any pages if
COUNT is 0.  For negative COUNT, end with point just after the last
delimiter.

Co-authored-by: Noam Postavsky <npostavs@gmail.com>
2018-05-02 20:35:20 -04:00
Basil L. Contovounesios
74ff5ade80 Minor simple.el simplifications (Bug#31211)
* lisp/simple.el (kill-append, push-mark, pop-mark):
Simplify conditionals and surrounding code.
2018-05-02 20:20:25 -04:00
Basil L. Contovounesios
f2c74543ed Fix off-by-one history pruning (bug#31211)
* lisp/subr.el (add-to-history): Clarify docstring.
Protect against negative history-length and unnecessary variable
modification, as per read_minibuf.

* lisp/ido.el (ido-record-command):
* lisp/international/mule-cmds.el (deactivate-input-method):
(set-language-environment-input-method):
* lisp/isearch.el (isearch-done):
* lisp/minibuffer.el (read-file-name-default):
* lisp/net/eww.el (eww-save-history):
* lisp/simple.el (edit-and-eval-command, repeat-complex-command):
(command-execute, kill-new, push-mark):
* src/callint.c (Fcall_interactively):
* src/minibuf.c (read_minibuf): Delegate to add-to-history.

* test/lisp/simple-tests.el (command-execute-prune-command-history):
* test/src/callint-tests.el
(call-interactively-prune-command-history): New tests.
2018-05-02 20:18:07 -04:00
Glenn Morris
05e9477ab5 * lisp/textmodes/ispell.el (ispell-use-framepop-p): Doc fix. 2018-05-02 15:39:30 -04:00
Glenn Morris
9de7e321b6 ; * lisp/auth-source.el (auth-sources): Fix a comment. 2018-05-02 15:29:53 -04:00
Michael Albinus
a5246dc02b Adapt Tramp for auth-source
* lisp/net/tramp.el (tramp-read-passwd): auth-source could return
cascaded functions.
2018-05-02 18:12:48 +02:00
Michael Albinus
8ae7c424c4 Fix some edge cases of tramp-smb
* lisp/net/tramp-smb.el (tramp-smb-errors):
Add "NT_STATUS_REVISION_MISMATCH".
(tramp-smb-handle-delete-directory): Check, that the directory
has been removed indeed.
(tramp-smb-get-localname): Add further checks on filename syntax.

* lisp/net/tramp.el (tramp-localname-regexp): Do not allow linefeeds.

* test/lisp/net/tramp-tests.el (tramp-smb-get-localname): Declare.
(auth-source-save-behavior): Set it to nil.
(tramp-test01-file-name-syntax): Extend, checking for linefeeds.
(tramp-test03-file-name-host-rules, tramp--test-utf8): Refine tests.
(tramp-test03-file-name-method-rules): New test.
(tramp--test-ignore-add-name-to-file-error): New defmacro.
(tramp-test21-file-links): Use it.
2018-05-02 12:31:51 +02:00
Glenn Morris
62032f699a Merge from origin/emacs-26
71be806 ; * etc/DEBUG: Minor clarification.
4403f89 Update the Emacs FAQ
40b3317 * etc/DEBUG: Minor copyedits.
850ff18 Clarify wording of NS drag n drop documentation
343d70b1 Improve kill-related documentation (bug#31209)
0b43224 * lisp/simple.el (region-extract-function): Don't hide the 'n...
d6e2c59 Fix pre- and post-command-hook errors in term.el
6cf83131e * doc/lispref/display.texi (Glyphless Chars): Fix grammar.
88d178c Fix macOS drag n drop event documentation
2018-05-01 07:50:48 -07:00
Lars Ingebrigtsen
b3b4697ff8 `url-domain' doc clarification
* lisp/url/url-util.el (url-domain): Add an example to the doc
string.
2018-05-01 14:29:11 +02:00
Lars Ingebrigtsen
e859acb11c Rewrite `url-domain' to avoid network traffic
* lisp/url/url-util.el (url-domain): Don't talk DNS to determine
the domain, because this is slow.

* test/lisp/url/url-util-tests.el (url-domain-tests): Add tests
for `url-domain'.
2018-05-01 14:26:38 +02:00
Glenn Morris
539f588920 ; Auto-commit of loaddefs files. 2018-05-01 07:28:50 -04:00
Stefan Monnier
bca6c43480 * lisp/net/socks.el: Use lexical-binding and process properties
Remove unneeded requires.  Better following commenting conventions.
(socks-connections): Remove (use process properties instead).
(socks-wait-for-state-change): Make it a function.
(open-network-stream): Use an advice when overriding.
(socks-send-command): Avoid string-make-unibyte.
(socks--open-network-stream): New function (extracted from
socks-open-network-stream).
(socks-open-network-stream): Rewrite using it.
2018-04-29 22:25:09 -04:00
Noam Postavsky
a0aac5741e Replace epg--gv-nreverse with (cl-callf nreverse ...)
* lisp/epg.el (epg--gv-nreverse): Remove.
(epg-list-keys): Replace it with (cl-callf nreverse ...).
2018-04-28 20:37:42 -04:00
Juri Linkov
bcee160038 * lisp/vc/add-log.el (change-log-mode-syntax-table): New defvar
that redefines syntax of quotes to "expression quote or prefix operator".
(Bug#31231)
2018-04-28 23:38:56 +03:00