1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-04-22 05:51:11 -07:00
Commit graph

69404 commits

Author SHA1 Message Date
Mark Oteiza
964d672a7f Refactor some loops in mailcap.el
* lisp/net/mailcap.el (mailcap-mime-types):
(mailcap-file-default-commands): Convert nested maps to loops.
2017-09-05 16:45:13 -04:00
Simen Heggestøyl
fca6238453 Handle non-zero exit status from psql more gracefully
* lisp/progmodes/sql.el (sql-postgres-list-databases): Handle non-zero
exit statuses from `psql -ltX' more gracefully by returning nil.

* test/lisp/progmodes/sql-tests.el
(sql-tests-postgres-list-databases-error): New test.
2017-09-05 20:31:21 +02:00
Mark Oteiza
485e25312d Move soundex.el test to a proper test
* test/lisp/soundex-tests.el: New file.
* lisp/soundex.el: Use lexical-binding.  Remove commented test.
2017-09-05 12:03:10 -04:00
Michael Albinus
8a65d7a731 Work on Tramp's (symbolic) links
* doc/misc/tramp.texi (Traces and Profiles): Mention the
backtrace when tramp-verbose is greater than or equal to 10.

* lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
Use `tramp-handle-add-name-to-file'.

* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist): Use
`tramp-handle-add-name-to-file' and `tramp-handle-file-truename'.

* lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link): Improve.

* lisp/net/tramp-smb.el (tramp-smb-errors):
Add "NT_STATUS_CONNECTION_DISCONNECTED" and
"NT_STATUS_OBJECT_PATH_SYNTAX_BAD".
(tramp-smb-file-name-handler-alist): Use `tramp-handle-file-truename'.
(tramp-smb-do-file-attributes-with-stat): Return non-nil only
if one of the attributes is non-nil.
(tramp-smb-handle-file-local-copy): Use `file-truename'.
(tramp-smb-handle-file-truename): Move to tramp.el.
(tramp-smb-handle-insert-directory): Show symlinks.
(tramp-smb-handle-make-symbolic-link): Improve.
(tramp-smb-read-file-entry): Handle extended file modes in Samba.

* lisp/net/tramp.el (tramp-handle-add-name-to-file)
(tramp-handle-file-truename): New defuns.

* test/lisp/net/tramp-tests.el (tramp-test21-file-links): Extend test.
(tramp--test-check-files): Make check for "smb".
2017-09-04 13:10:52 +02:00
Mark Oteiza
9314e6c56e Embed JSON readtable into json-read
Also unroll dispatch into a cond.
* lisp/json.el (json-readtable): Remove.
(json-readtable-dispatch): New macro.  Assimilate json-readtable.
(json-read): Use the macro.
2017-09-04 03:40:30 -04:00
Mark Oteiza
132f4472f5 Hexify strings in EWW search queries
Previously, inputting "cats & dogs" would lose dogs because the
ampersand signifies a query parameter.  Instead, hexify each word while
preserving quotes with split-string.
* lisp/net/eww.el (eww--dwim-expand-url): Join hexified words together
with + separators, instead of replacing whitespace with +.
2017-09-03 20:42:01 -04:00
Eli Zaretskii
673e6d35ac * lisp/simple.el (visual-line-mode): Doc fix. (Bug#28337) 2017-09-03 18:20:31 +03:00
Alan Mackenzie
c8439abe22 Correct the fontification of quote marks after buffer changes in CC Mode.
* lisp/progmodes/cc-defs.el
(c-search-forward-char-property-with-value-on-char): New macro.

* lisp/progmodes/cc-mode.el (c-parse-quotes-before-change)
(c-parse-quotes-after-change): Rewrite the functions, simplifying
considerably, and removing unnecessary optimisations.  Invalidate two caches
after manipulating text properties.
2017-09-03 11:01:21 +00:00
Alan Mackenzie
b733a91009 Fix fontification of "operator~" in C++ Mode.
* lisp/progmodes/cc-langs.el (c-ambiguous-overloadable-or-identifier-prefices)
(c-ambiguous-overloadable-or-identifier-prefix-re): New c-lang-defconsts/vars.

* lisp/progmodes/cc-engine.el (c-forward-name): Do not try to parse "~" (and
two other symbols) as a cast without good evidence.  Prefer an overloaded
operator in ambiguous cases.
2017-09-03 09:40:31 +00:00
Eli Zaretskii
dbe1e55dc4 Fix decrypting in plstore.el on MS-Windows
* lisp/plstore.el (plstore-open): Bind coding-system-for-read to
raw-text, instead of using insert-file-contents-literally.
(Bug#28114)
2017-09-02 13:02:10 +03:00
Mark Oteiza
55ac7505a0 Turn off checkdoc complaint about default argument order
* etc/NEWS: Mention change.
* lisp/emacs-lisp/checkdoc.el (checkdoc-arguments-in-order-flag):
Disable by default, note version.
2017-09-01 17:31:45 -04:00
Stefan Monnier
c4ccafb1a5 * lisp/obsolete/html2text.el: Don't require CL
(html2text-clean-anchor): Mark unused arg.
2017-09-01 14:29:57 -04:00
Glenn Morris
2d420fb6b1 ; Auto-commit of loaddefs files. 2017-09-01 06:26:57 -04:00
Katsumi Yamaoka
356413bbf8 Don't remove undisplayers from inlined MIME parts (bugfix)
* lisp/gnus/gnus-art.el (gnus-mime-buttonize-attachments-in-header):
Don't remove undisplayers from inlined MIME parts (bugfix);
Simplify criterion that finds attachments.
2017-09-01 07:25:38 +00:00
Mark Oteiza
c5c9f5d718 ; Escape some character literals
* lisp/leim/quail/latin-ltx.el: Escape some fancy brackets.
2017-08-31 17:32:10 -04:00
Mark Oteiza
96c2c098ae Make ucs-names a hash table (Bug#28302)
* etc/NEWS: Mention the type change.
* lisp/descr-text.el (describe-char): Use gethash to access ucs-names.
Hardcode BEL's name into the function instead of needlessly mapping
over the hash table in the spirit of rassoc.
* lisp/international/mule-cmds.el (ucs-names): Fix variable and
function docstrings.  Initialize a hash table for ucs-names--the
number of entries is 42845 here.  Switch to hash-table
getters/setters.
(mule--ucs-names-annotation): Use hash-table getter.
(char-from-name): Upcase the string if ignore-case is truthy.
* lisp/leim/quail/latin-ltx.el: Use maphash instead of dolist.
2017-08-31 17:22:39 -04:00
Alan Mackenzie
5fe41a23d8 Fix a glitch in CC Mode's syntactic whitespace cache.
* lisp/progmodes/cc-engine.el (c-forward-sws): Deal correctly with a block
comment close at the end of a macro.
2017-08-31 19:06:16 +00:00
Alan Mackenzie
201f950e66 Correct the fontification of C++ Mode enclosed declarations.
* lisp/progmodes/cc-fonts.el (c-font-lock-enclosing-decls): abolish the
spurious check that the character before the start of an enclosed declaration
must be ; or }.  It might also be {.
2017-08-31 18:08:21 +00:00
Katsumi Yamaoka
a4f6b1097f Respect directory a user enters (bug#28299)
* lisp/gnus/mm-decode.el (mm-save-part):
Respect directory a user enters (bug#28299).
2017-08-31 00:45:54 +00:00
Samuel Freilich
cda26e6462 Do not split line before width of fill-prefix
When auto-filling a paragraph, don't split a line before the width of the
fill-prefix, creating a subsequent line that is as long or longer (Bug#20774).
* lisp/simple.el (do-auto-fill): Only consider break-points that are later in
the line than the width of the fill-prefix.  This is a more general solution
than the previous logic, which only skipped over the exact fill-prefix.  The
fill-prefix doesn't necessarily match the prefix of the first line of a
paragraph in adaptive-fill-mode.
2017-08-30 20:10:36 -04:00
Noam Postavsky
160295867d Support lazy loading for autogenerated usage docstrings too (Bug#27748)
* lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defmumble):
Consider any documentation that ended up in code as a docstring (e.g.,
autogenerated (fn ARG1 ARG2) type things), not just what the user
passed.
2017-08-30 20:07:39 -04:00
Noam Postavsky
bc5d96a0b2 Drop docstrings from cl-defsubst produced inline bodies (Bug#27748)
* lisp/emacs-lisp/cl-macs.el (cl-defsubst): Use macroexp-parse-progn
to drop the docstring.  Add a simple docstring to the compiler-macro.
2017-08-30 20:07:39 -04:00
Paul Eggert
7553e0f490 Quote file-truename symlink to "../foo:bar:"
Problem reported by Michael Albinus (Bug#28264#19).
* lisp/files.el (files--splice-dirname-file): Fix bug where
a relative symlink to "../foo:bar:" did not quote the result.
2017-08-30 14:46:57 -07:00
Stefan Monnier
dc313922d8 * lisp/man.el (Man-softhyphen-to-minus): Avoid string-as-multibyte. 2017-08-30 15:00:56 -04:00
Devon Sean McCullough
36df2f1b23 Correct "hide others" shortcut on macOS (bug#28215)
* lisp/term/ns-win.el: Fix shortcut for ns-do-hide-others.

Copyright-paperwork-exempt: yes
2017-08-30 19:18:17 +01:00
Michael Albinus
9376ea3f6c Improve symlinks for Tramp
* lisp/files.el (files--splice-dirname-file): Quote whole file.

* lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link):
Do not expand TARGET, it could be remote.
(tramp-sh-handle-file-truename): Check for cyclic symlink also
in case of readlink.  Quote result if it looks remote.
(tramp-sh-handle-file-local-copy): Use `file-truename'.

* test/lisp/net/tramp-tests.el (tramp-test08-file-local-copy)
(tramp-test09-insert-file-contents): Test also file missing.
(tramp-test21-file-links): Extend test.
2017-08-30 12:00:26 +02:00
Noam Postavsky
8710d11b48 Use cl-print for all values printed by `describe-variable'
* lisp/help-fns.el (describe-variable): Use cl-prin1 for original and
global values too.
2017-08-29 22:58:51 -04:00
Noam Postavsky
112fbe3515 Minor simplification for byte-compile-constant-push
* lisp/emacs-lisp/bytecomp.el (byte-compile-constant): Move the meat
of the code from here...
(byte-compile-constant-push): ... to here.  No need to bind
byte-compile--for-effect anymore.
2017-08-29 22:58:50 -04:00
Paul Eggert
70bb510a7e Prefer file-name-quote to concat "/:"
Suggested by Michael Albinus (Bug#28264#13).
* lisp/files.el (files--splice-dirname-file): Use file-name-quote
rather than attempting to do it by hand.
2017-08-29 19:18:38 -07:00
Stefan Monnier
01832ec21f * lisp/progmodes/sh-script.el: Test "in-string" of the right char!
(sh-syntax-propertize-function): Fix off-by-one error.
Fixes bug#23526.
2017-08-29 09:44:19 -04:00
Rasmus
3ad8ca429b Update Org to v9.0.10
Please see etc/ORG-NEWS for major changes. Note, this is a bugfix
release.
2017-08-29 10:13:31 +02:00
Paul Eggert
c1854b1d31 Silence false alarms for symlinks to sources
Problem reported by Glenn Morris (Bug#28264).
* lisp/files.el (files--splice-dirname-file): New function.
(file-truename, file-chase-links): Use it.
2017-08-28 21:51:39 -07:00
Michael Albinus
3a19e6ec23 Further fixes in tramp-smb.el
* lisp/net/tramp-smb.el (tramp-smb-handle-file-truename): New defun.
(tramp-smb-file-name-handler-alist): Use it.
(tramp-smb-handle-make-symbolic-link): Unquote target.

* test/lisp/net/tramp-tests.el
(tramp--test-ignore-make-symbolic-link-error): New defmacro.
(tramp-test18-file-attributes, tramp-test21-file-links)
(tramp--test-check-files): Use it.
2017-08-28 18:08:16 +02:00
Michael Albinus
32cdfa0e9c ; Fix last ido patch 2017-08-28 17:55:31 +02:00
Robert Pluim
433cf5b204 Use string-match to check for dotfiles in ido
* lisp/ido.el (ido-make-file-list): Use string-match to check
for dotfiles instead of substring, as when using tramp
simplified syntax ido-temp-list may contain empty strings.

Copyright-paperwork-exempt: yes
2017-08-28 09:49:56 +02:00
Mark Oteiza
043a84702f Font-lock FDO desktop files correctly
Single and double quotes do not have a special meaning in
desktop files.
https://standards.freedesktop.org/desktop-entry-spec/latest/
* etc/NEWS: Mention new mode.
* lisp/files.el (auto-mode-alist): Split out an entry for handling
the .desktop extension with conf-desktop-mode.
* lisp/textmodes/conf-mode.el (conf-desktop-font-lock-keywords): New
variable with rules for booleans and format specifiers.
(conf-unix-mode): Remove desktop file entry example from docstring.
(conf-desktop-mode): New derived major mode.
2017-08-27 22:40:52 -04:00
Tom Tromey
9e79a31c09 Fix auto-fill bug in js-mode
* lisp/progmodes/js.el (js-do-auto-fill): New function.
(js-mode): Set normal-auto-fill-function.
* test/lisp/progmodes/js-tests.el (js-mode-fill-comment-bug): New
test.
2017-08-27 12:54:19 -06:00
Noam Postavsky
5440b238b1 Disable completion while entering python multiline statements
The "legacy" completion mechanism sends newlines to the running python
process to get the list of completions, which confuses things if the
user is in the middle of entering a multiline statement (Bug#28051).
It's better to disable completion in this case.
* lisp/progmodes/python.el (python-shell--block-prompt): New variable.
(python-shell-prompt-set-calculated-regexps): Set it.
(python-shell-completion-at-point): Return 'ignore' as the completion
function when the current prompt is a block prompt.
2017-08-27 13:46:41 -04:00
Michael Albinus
79cc9445e1 Tramp cleanup
* lisp/net/tramp-sh.el (tramp-sh-extra-args): Remove compat code.
(tramp-sh-handle-make-symbolic-link): More robust check for
TARGET remoteness.

* lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory):
Disable copying by tar temporarily, it doesn't work reliably.
(tramp-smb-do-file-attributes-with-stat): Resolve symlink.
(tramp-smb-handle-make-symbolic-link): Fix implementation.

* lisp/net/tramp.el (tramp-handle-file-symlink-p): Simplify.

* test/lisp/net/tramp-tests.el (tramp-test21-file-links):
Extend test.
2017-08-27 19:16:58 +02:00
Philipp Stephani
fe49aa17d5 Always use gtk_window_move in new versions
* src/gtkutil.c (my_log_handler): Don’t define in new versions of
GTK+.
(xg_set_geometry): Always use gtk_window_move in new versions of GTK+.

* src/xterm.c (syms_of_xterm): Document that x-gtk-use-window-move
is ignored.

* lisp/subr.el (x-gtk-use-window-move): Make obsolete.
2017-08-27 14:45:58 +02:00
Charles A. Roelli
208a3cb05f Fix 'diff-goto-source' when buffer is narrowed (Bug#21262)
* lisp/vc/diff-mode.el (diff-find-file-name): Save the current
narrowing, and widen the buffer before searching for the name of the
file corresponding to the diff.

With thanks to Noam Postavsky.
2017-08-27 14:14:46 +02:00
Alan Mackenzie
a2c967e28b Amend the CC Mode macro cache to cope with changes at the macro start
Fixes bug #28233.

* lisp/progmodes/cc-engine.el (c-invalidate-macro-cache): Fix an off-by-1
error.
2017-08-27 10:38:47 +00:00
Paul Eggert
231bfd6818 Fix over-protection of byte-compiled files
Problem reported by Sven Joachim (Bug#28244).
Also, fix similar problem for autoload files.
* lisp/emacs-lisp/autoload.el (autoload--save-buffer):
Set temp file modes to the buffer-file-name file modes (or 666
if not available) as adjusted by umask.
* lisp/emacs-lisp/bytecomp.el (byte-compile-file):
Set temp file modes to 666 as adjusted by umask.
2017-08-26 23:07:58 -07:00
Tom Tromey
1be689fbc4 Refine conf-toml-mode font-lock
Bug#28218
* lisp/textmodes/conf-mode.el (conf-toml-font-lock-keywords): Use
conf-toml-recognize-section.  Use \s- in variable regexp.
(conf-toml-recognize-section): New function.
2017-08-26 20:36:51 -06:00
Paul Eggert
e8001d4c27 Do not munge contents of local symbolic links
This lets Emacs deal with arbitrary local symlinks without
mishandling their contents (Bug#28156).  For example,
(progn (shell-command "ln -fs '~' 'x'") (rename-file "x" "/tmp/x"))
now consistently creates a symbolic link from '/tmp/x' to '~'.
Formerly, it did that only if the working directory was on the
same filesystem as /tmp; otherwise, it expanded the '~' to
the user's home directory.
* lisp/dired.el (dired-get-filename): Use files--name-absolute-system-p
instead of rolling our own code.
* lisp/files.el (files--name-absolute-system-p): New function.
(file-truename, file-chase-links): Use it to avoid mishandling
symlink contents that begin with ~.
(copy-directory, move-file-to-trash):
Use concat rather than expand-file-name, to avoid mishandling
symlink contents that begin with ~.
* src/fileio.c (Fmake_symbolic_link): Do not expand leading "~" in the
target unless interactive.  Strip leading "/:" if interactive.
(emacs_readlinkat): Do not prepend "/:" to the link target if
it starts with "/" and contains ":" before NUL.
* test/src/fileio-tests.el (try-link): Rename from try-char,
and accept a string instead of a char.  All uses changed.
(fileio-tests--symlink-failure): Also test leading ~, and "/:",
to test the new behavior.
2017-08-26 18:36:38 -07:00
Reuben Thomas
937d9d7f60 Remove invalid regexp for shell builtins for wksh
* lisp/progmodes/sh-script.el (sh-builtins): Shell built-ins have to
be literal strings, so remove a regexp for wksh. In any case, it’s a
defunct proprietary shell.
2017-08-27 00:27:53 +01:00
Michael Albinus
cc7530cae0 Fix Tramp part of Bug#28156
* lisp/files.el (file-name-non-special): Use `file-name-quote'
instead prefixing "/:", the file could already be quoted.

* lisp/net/tramp.el (tramp-error): Handle null arguments.
(tramp-handle-make-symbolic-link):
* lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
(tramp-sh-handle-add-name-to-file):
* lisp/net/tramp-smb.el (tramp-smb-handle-add-name-to-file)
(tramp-smb-handle-make-symbolic-link): Adapt implementation to
stronger semantics in Emacs.  (Bug#28156)

* test/lisp/net/tramp-tests.el (tramp-test21-file-links):
Extend test.
2017-08-26 15:09:55 +02:00
Eli Zaretskii
dcc3ef3ee7 Fix bugs merged with bug#25428
* lisp/simple.el (auto-fill-mode, visual-line-mode): Doc fix.
(Bug#13926)  (Bug#25434)  (Bug#25435)
2017-08-26 12:52:07 +03:00
Eli Zaretskii
5bb61463a2 Improve documentation of Info virtual files and nodes
* lisp/info.el (Info-virtual-files, Info-virtual-nodes): Doc fix.
(Bug#28237)
2017-08-26 12:40:02 +03:00
Eli Zaretskii
fca62645b6 * lisp/delsel.el (delete-selection-mode): Doc fix. (Bug#25428) 2017-08-26 12:01:24 +03:00