1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-09 05:01:02 -08:00
Commit graph

68925 commits

Author SHA1 Message Date
Noam Postavsky
a415c8bccb cl-print: handle circular objects when `print-circle' is nil (Bug#27117)
* lisp/emacs-lisp/cl-print.el (cl-print--currently-printing): New variable.
(cl-print-object): When `print-circle' is nil, bind it to a list of
objects that are currently printing to avoid printing the same object
endlessly.
* test/lisp/emacs-lisp/cl-print-tests.el (cl-print-circle): New test.
2017-05-31 07:45:43 -04:00
Dmitry Gutov
e3b51b080f Extract eldoc--supported-p
* lisp/emacs-lisp/eldoc.el (eldoc--supported-p): New function.
(turn-on-eldoc-mode, eldoc-mode): Use it.
(http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00865.html)
2017-05-31 01:29:43 +03:00
Alan Mackenzie
a12c7ea88e c-defun-name: Return fully qualified method names when wanted in C++, etc.
* lisp/progmodes/cc-cmds.el (c-defun-name): Use
c-back-over-compound-identifier in place of c-backward-token-2 near the end
of the function.
2017-05-30 17:07:12 +00:00
Paul Eggert
1b01601d3f Skip .#* temporaries when finding sources
Without this patch, ‘make check’ can fail with the diagnostic
‘invalid syntax in conditional’ if there is an Emacs temporary
file whose name starts with ‘.#’, because the ‘#’ is treated as
the start of a Make comment.
* lisp/Makefile.in (loaddefs, tagsfiles, check-defun-deps):
* test/Makefile.in (ELFILES):
Skip files starting with ‘.’, so that the .#* files do not cause
trouble.  (We cannot easily skip just files starting with ‘.#’,
since ‘#’ starts a Make comment!)
2017-05-30 09:28:19 -07:00
Alan Mackenzie
91a52e38e5 Fix the mouse help/key map on the "%p" part of the mode line.
* lisp/bindings.el (mode-line-percent-position): give it a
`risky-local-variable' property.
(mode-line-position): correct the quoting on the mode-line-percent-position
part of the variable, allowing the properties to be properly recognized.
2017-05-30 16:24:33 +00:00
Paul Eggert
a47dfec82e ; Spelling fixes for "SpamAssassin" 2017-05-30 08:29:34 -07:00
Dmitry Gutov
2349f1df1b Turn global-eldoc-mode into a globalized minor mode
* lisp/emacs-lisp/eldoc.el (global-eldoc-mode):
Turn into globalized mode (bug#19853).
(turn-on-eldoc-mode): Make it into a wrapper instead of alias.
(eldoc-mode): Only show the message when called interactively.
2017-05-30 02:55:28 +03:00
Dmitry Gutov
4886b2ed52 Use regexp matching instead of checking exit status
* lisp/progmodes/xref.el (xref-collect-matches):
See if the output buffer contents look like Grep output
instead of checking exit status (bug#23451).
2017-05-30 00:59:03 +03:00
Stephen Berman
ed222c502b Make `todo-toggle-item-highlighting' work on multiline items (bug#27133)
* lisp/calendar/todo-mode.el (todo-hl-line-range): New named function,
replacing an anonymous function for the sake of `describe-variable'.
(todo-modes-set-2): Use it as buffer-local value of hl-line-range-function
and remove boundp test of this variable, so its value is available on
invoking `todo-toggle-item-highlighting'.
2017-05-29 20:26:49 +02:00
Jules Tamagnan
c9097e9b5f Comply with pep 8 style guide for backslash in assignment (Bug#24809)
* lisp/progmodes/python.el (python-indent--calculate-indentation):
Increase indent by `python-indent-offset' after
`:after-backslash-assignment-continuation'.

Copyright-paperwork-exempt: yes
2017-05-28 23:33:25 -04:00
Wilfred Hughes
c5cde97ba3 Add suggestion to docstring
* lisp/subr.el (interactive-p): Mention commandp, as this is often
  what users are actually looking for.
2017-05-29 01:04:41 +01:00
Wilfred Hughes
f7c4bad17d Ensure button-get works in any buffer
* lisp/button.el (button-get): Previously we assumed that button-get
  was called in the buffer containing the button.  In other buffers,
  button-get always returned nil.  Fix this by passing the relevant
  buffer from the marker.
2017-05-29 01:00:05 +01:00
Dmitry Gutov
3bc3dc4063 Signal error if find-grep returns a nonzero status
* lisp/progmodes/xref.el (xref-collect-matches): Signal error
if find-grep returns a nonzero status (bug#23451).  Remove the
comment: even if some output is present, a non-zero status
means something went wrong and it can't be relied upon.
2017-05-29 02:55:58 +03:00
Stephen Berman
d76c007898 Make sure exiting todo-mode buffer buries it (bug#27121)
This failed due to commit ea3ae33b from 2013-05-16, which prevented
quitting todo-mode buffer after visiting todo-archive buffer from
making the archive buffer current again.  Avoid this now by simply
killing the archive buffer, since there's no need to keep it a live
buffer.  Consequently, quitting a todo-mode buffer can now use
bury-buffer without an argument, which ensures that is will not
becomes current on quitting the buffer that replaced it in the window.

* lisp/calendar/todo-mode.el (todo-quit): Kill todo-archive-mode
buffer instead of burying it.  This now allows exiting the
todo-mode buffer by bury-buffer without an argument, so do that.
2017-05-29 00:06:22 +02:00
Michael Albinus
e7bb7cc29b Some tweaks, almost all for Tramp adb method
* lisp/net/tramp-adb.el (tramp-adb-parse-device-names):
Use `make-tramp-file-name'.
(tramp-adb-get-device): Use `tramp-file-name-port-or-default'.
(tramp-adb-maybe-open-connection): Set "prompt" property.
(tramp-adb-wait-for-output): Use it.

* lisp/net/tramp-cache.el (tramp-cache-print): Use `elt'.
(tramp-dump-connection-properties): Check also that there are
properties to be saved.  Don't save "started" property of
"ftp" method.

* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name):
Use `make-tramp-file-name'.

* lisp/net/tramp.el (tramp-remote-file-name-spec-regexp):
Host could be empty.
(tramp-file-name-port-or-default): New defun.
(tramp-dissect-file-name): Simplify `make-tramp-file-name' call.
(tramp-handle-file-name-case-insensitive-p): Use a progress reporter.
(tramp-call-process, tramp-call-process-region):
Use `make-tramp-file-name'.

* test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults):
Revert change from 2017-05-24.
(tramp-test05-expand-file-name-relative): Let it also pass for
"adb" method.
2017-05-28 23:44:10 +02:00
Jürgen Hötzel
288b3ca2e5 Fix Tramp for Android 7
* tramp-adb.el (tramp-adb-ls-toolbox-regexp):
Username part of prompt is empty on Android 7.
(tramp-adb-ls-toolbox-regexp):
Ignore addition links column on Android 7.
(tramp-adb-get-ls-command):
Dont use --color=none when using toybox (Android 7).  It's not
possible to disable coloring explicitly for toybox ls.
2017-05-28 13:06:53 +02:00
Svante Carl v. Erichsen
527a7cc942 Fix cl-indent for `loop' with :keywords (Bug#15543)
* lisp/emacs-lisp/cl-indent.el (lisp-extended-loop-p): Allow for
":keywords".

Copyright-paperwork-exempt: yes
2017-05-27 16:08:35 -04:00
Philipp Stephani
ebe0bdae9d Don't attempt to recover from undefined behavior in some cases
These functions can only be run in batch mode and exit Emacs on
return, so nothing can be recovered.  Disable unsafe recover
mechanisms so that we get real failures and good stack traces on
fatal signals.

* lisp/emacs-lisp/bytecomp.el (batch-byte-compile)
(batch-byte-recompile-directory):
* lisp/emacs-lisp/ert.el (ert-run-tests-batch-and-exit)
(ert-summarize-tests-batch-and-exit): Don't attempt to recover
from undefined behavior.
2017-05-27 15:30:19 +02:00
Luke Yen-Xun Lee
b0177da7fe Fix ruler-mode text-scaling issues
* lisp/ruler-mode.el (ruler-mode-text-scaled-width): New function
for computing scaled text width.
(ruler-mode-text-scaled-window-hscroll)
(ruler-mode-text-scaled-window-width): Compute text scaled
`window-width' value.
(ruler-mode-mouse-grab-any-column, ruler-mode-mouse-add-tab-stop)
(ruler-mode-ruler): Change `window-hscroll' into
`ruler-mode-text-scaled-window-hscroll', and change `window-width'
into `ruler-mode-text-scaled-window-width'.
2017-05-27 16:25:02 +03:00
Eli Zaretskii
4b17214aab Fix GUD "Stop" display when running pdb
* lisp/progmodes/gud.el (gud-menu-map): Don't call gdb-show-stop-p
when GUD mode is 'pdb'.  (Bug#27024)
2017-05-27 15:15:18 +03:00
Tak Kunihiro
c0f2c29877 Support drag and drop of region by mouse (Bug#26725)
* doc/emacs/frames.texi (Drag and Drop): Document support of drag
and drop region by mouse.
* lisp/mouse.el (mouse-drag-region): Call mouse-drag-and-drop-region
when start-event is on region.
(mouse-drag-and-drop-region): New function, moves the region by
(mouse-drag-and-drop-region): New defcustom.
* etc/NEWS: Mention mouse-drag-and-drop-region.
2017-05-27 14:57:11 +03:00
Noam Postavsky
6f63c7cb6a * lisp/emacs-lisp/eieio.el (defclass): Fix quote in warning message. 2017-05-26 23:31:31 -04:00
Wilfred Hughes
dc79aa10f1 Mark keywordp as a safe, error-free function
* lisp/emacs-lisp/byte-opt.el: Add keywordp to
  side-effect-and-error-free-fns.
2017-05-26 22:45:58 +01:00
Michael Albinus
b303298840 Remove Emacs 23 compat code from Tramp
* doc/misc/tramp.texi (Remote processes): Don't mention
Emacs 24 explicitely.
(Frequently Asked Questions): Remove Emacs 23 from
compatibility list.

* lisp/net/tramp.el:
* lisp/net/tramp-adb.el:
* lisp/net/tramp-cache.el:
* lisp/net/tramp-gvfs.el:
* lisp/net/tramp-sh.el:
* lisp/net/tramp-smb.el: Replace compat function calls.

* lisp/net/tramp-compat.el (remote-file-name-inhibit-cache)
(tramp-compat-condition-case-unless-debug)
(tramp-compat-copy-file, tramp-compat-copy-directory)
(tramp-compat-delete-file, tramp-compat-delete-directory)
(tramp-compat-process-live-p): Remove them.

* lisp/net/trampver.el: Make version check fit for Emacs 24.
2017-05-26 16:25:18 +02:00
Katsumi Yamaoka
4de0737c9b Work for application/x-tar-gz and image/svg+xml
;; Try inlining the attachment in the article <87wp94dzj6.fsf@gmail.com>
;; of bug#27078 in the Emacs bug list using Gnus.

* lisp/gnus/mm-archive.el (mm-archive-decoders):
Add a decoder for application/x-tar-gz.
(mm-dissect-archive): Error out if a decoder is not found.

* lisp/gnus/mm-decode.el (mm-get-image): Allow image/svg+xml.
2017-05-26 08:07:58 +00:00
Thomas Fitzsimmons
9fb9e4b284 lisp/net/soap-client.el: Bump version to 3.1.2
* lisp/net/soap-client.el: Bump version to 3.1.2.
2017-05-25 08:49:58 -04:00
Thomas Fitzsimmons
4fa8336b03 Fix soap-inspect.el doc strings
* lisp/net/soap-inspect.el (soap-inspect-xs-attribute): Fix doc
string.
(soap-inspect-xs-attribute-group): Likewise.
2017-05-25 08:49:58 -04:00
Thomas Fitzsimmons
a928cfae60 Fix two soap-client.el byte compilation warnings
* lisp/net/soap-client.el (url-http-response-status): Add defvar.
(soap-fetch-xml-from-url): Remove special declaration of
url-http-response-status.
(soap-invoke-internal): Likewise.
2017-05-25 08:49:58 -04:00
Thomas Fitzsimmons
9a6ac2794f lisp/net/soap-client.el: Require cl-lib version 0.6.1
* lisp/net/soap-client.el: Require cl-lib version 0.6.1.
2017-05-25 08:49:58 -04:00
Thomas Fitzsimmons
27cafd1368 lisp/net/soap-client.el: Shorten some long lines
* lisp/net/soap-client.el (soap-encode-xs-element): Remove
unnecessary progn.
(soap-xs-add-union): Wrap long line.

Co-authored-by: Stefan Monnier <monnier@iro.umontreal.ca>
2017-05-25 08:49:57 -04:00
Alex Harsanyi
349fbb3551 Remove cl dependency in soap-client.el and soap-inspect.el
* lisp/net/soap-inspect.el: Replace cl library with cl-lib, case
with cl-case, destructuring-bind with cl-destructuring-bind and
loop with cl-loop.

* lisp/net/soap-client.el: Replace cl library with cl-lib,
defstruct with cl-defstruct, assert with cl-assert, case with
cl-case, ecase with cl-ecase, loop with cl-loop and
destructuring-bind with cl-destructuring-bind.

Co-authored-by: Stefan Monnier <monnier@iro.umontreal.ca>
2017-05-25 08:49:57 -04:00
Michael Albinus
1a9ce7c54e Switch Tramp to cl-lib
* lisp/net/tramp-compat.el (cl-lib): Require it rather than cl.

* lisp/net/tramp-ftp.el: Don't require cl.

* lisp/net/tramp-gvfs.el: Don't require cl.
(tramp-gvfs-handler-mounted-unmounted)
(tramp-gvfs-connection-mounted-p): Use `cl-*' macros.

* lisp/net/tramp-sh.el: Don't require cl.
(tramp-set-file-uid-gid): Use `shell-quote-argument'.
(tramp-sh-gvfs-monitor-dir-process-filter)
(tramp-sh-inotifywait-process-filter): Use `cl-*' macros.

* lisp/net/tramp-smb.el: Don't require cl.
(tramp-smb-read-file-entry): Use `cl-*' macros.

* lisp/net/tramp.el (cl-lib): Require it rather than cl.
(tramp-parse-file, tramp-parse-shostkeys-sknownhosts)
(tramp-parse-passwd, tramp-parse-etc-group)
(tramp-parse-putty): Use `cl-*' macros.
2017-05-25 10:04:12 +02:00
Michael Albinus
b2ec91db89 Fix Tramp for python.el
* lisp/net/tramp.el (tramp-get-connection-process): Check,
that VEC is a `tramp-file-name' structure.
2017-05-24 22:26:20 +02:00
Glenn Morris
c0f90833a7 Don't autoload new dns-mode command
* lisp/textmodes/dns-mode.el (dns-mode-ipv6-to-nibbles):
Remove autoload cookie.
2017-05-24 13:11:32 -04:00
Michael Albinus
dca22e86e0 Introduce a defstruct `tramp-file-name' as central data structure.
This solves also Bug#27009.

* lisp/net/tramp.el (tramp-current-domain)
(tramp-current-port): New defvars.
(tramp-file-name): New defstruct.
(tramp-file-name-user-domain, tramp-file-name-host-port)
(tramp-file-name-equal-p): New defuns.
(tramp-file-name-p, tramp-file-name-method)
(tramp-file-name-user, tramp-file-name-host)
(tramp-file-name-localname, tramp-file-name-hop)
(tramp-file-name-real-user, tramp-file-name-domain)
(tramp-file-name-real-host, tramp-file-name-port):
Remove defuns.  They are provided by the defstruct, or not
needed anymore.
(tramp-dissect-file-name, tramp-buffer-name)
(tramp-make-tramp-file-name, tramp-get-buffer)
(tramp-set-connection-local-variables)
(tramp-debug-buffer-name, tramp-message)
(tramp-error-with-buffer, with-parsed-tramp-file-name)
(tramp-completion-dissect-file-name1)
(tramp-handle-file-name-as-directory)
(tramp-handle-file-name-directory)
(tramp-handle-file-remote-p, tramp-handle-file-symlink-p)
(tramp-handle-find-backup-file-name)
(tramp-handle-insert-file-contents, tramp-process-actions)
(tramp-check-cached-permissions, tramp-local-host-p)
(tramp-get-remote-tmpdir, tramp-call-process)
(tramp-call-process-region, tramp-read-passwd)
(tramp-clear-passwd):
* lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
(tramp-adb-handle-expand-file-name)
(tramp-adb-handle-file-truename, tramp-adb-handle-copy-file)
(tramp-adb-handle-process-file)
(tramp-adb-maybe-open-connection):
* lisp/net/tramp-cache.el (tramp-get-hash-table)
(tramp-get-file-property, tramp-set-file-property)
(tramp-flush-file-property, tramp-flush-directory-property)
(tramp-get-connection-property)
(tramp-set-connection-property, tramp-connection-property-p)
(tramp-flush-connection-property, tramp-cache-print)
(tramp-list-connections, tramp-dump-connection-properties)
(tramp-parse-connection-properties):
* lisp/net/tramp-cmds.el (tramp-cleanup-connection):
* lisp/net/tramp-ftp.el (tramp-ftp-file-name-handler):
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
(tramp-gvfs-url-file-name, tramp-gvfs-handler-askpassword)
(tramp-gvfs-handler-mounted-unmounted)
(tramp-gvfs-mount-spec, tramp-gvfs-get-remote-uid)
(tramp-gvfs-get-remote-gid)
(tramp-gvfs-maybe-open-connection):
* lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
(tramp-do-copy-or-rename-file-out-of-band)
(tramp-sh-handle-expand-file-name)
(tramp-sh-handle-start-file-process)
(tramp-sh-handle-process-file, tramp-compute-multi-hops)
(tramp-maybe-open-connection)
(tramp-make-copy-program-file-name, tramp-get-remote-path)
(tramp-get-inline-coding):
* lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
(tramp-smb-handle-expand-file-name)
(tramp-smb-handle-file-acl, tramp-smb-handle-process-file)
(tramp-smb-handle-set-file-acl)
(tramp-smb-maybe-open-connection): Adapt according to defstruct.
2017-05-24 16:16:53 +02:00
Stephen Berman
08f00c01d6 Fix and improve UI of scroll bar menu (bug#27047)
In addition, since the Emacs manual writes "scroll bar", "tool
bar" and "menu bar", use this convention in the Show/Hide menues
and tooltips as well.

* lisp/menu-bar.el (menu-bar-showhide-scroll-bar-menu): Make
pressing a radio button in the menu actually show that it was
pressed.  Replace the two radio buttons to turn the horizontal
scroll bar on and off with a single check-box toggle and add a
separator between this and the vertical scroll bar radio
buttons.  Use conventional spelling.
(menu-bar-horizontal-scroll-bar)
(menu-bar-no-horizontal-scroll-bar): Remove, since now unused.
(menu-bar-showhide-tool-bar-menu, menu-bar-showhide-menu)
(menu-bar-mode): Use conventional spelling.
2017-05-24 13:33:27 +02:00
Katsumi Yamaoka
bba9917299 Remove string-as-unibyte
* lisp/gnus/canlock.el (canlock-sha1): Remove useless variable.
(canlock-make-cancel-key): No need to use string-as-unibyte.
2017-05-24 08:18:52 +00:00
Tino Calancha
61ef5c612d Fix concatenation of "^" with diff-file-junk-re
This regexp contains "\\|", thus a concatenation
of "^" with it just matches the beginning of line for the
first alternative in diff-file-junk-re.
* lisp/vc/ediff-ptch.el (ediff-map-patch-buffer): Concat "^" with
diff-file-junk-re wrapped in a shy group.
2017-05-24 10:54:48 +09:00
Peder O. Klingenberg
8f6550b38c New dns-mode command for IPv6 address conversion
This converts IPv6 addresses to a format suitable for
reverse lookup zone files.  (Bug#26820)
* lisp/textmodes/dns-mode.el (dns-mode-map, dns-mode-menu):
Add dns-mode-ipv6-to-nibbles.
(dns-mode-ipv6-to-nibbles, dns-mode-reverse-and-expand-ipv6):
New functions.
* test/lisp/dns-mode-tests.el: New file.
; * etc/NEWS: Mention this.
2017-05-23 20:34:08 -04:00
Noam Postavsky
ef9f5c672a Protect *Backtrace* from being killed (Bug#26650)
* lisp/emacs-lisp/debug.el (debugger-mode): Call `top-level' in
`kill-buffer-hook'.
2017-05-23 20:11:23 -04:00
Noam Postavsky
d158629cb6 Give a name to lisp-mode's adaptive-fill-function (Bug#22730)
* lisp/emacs-lisp/lisp-mode.el (lisp-adaptive-fill): New function.
(lisp-mode-variables): Use it.
2017-05-23 20:01:41 -04:00
Philipp Stephani
bf4f69ab6d vc-hg.el: Silence byte compiler warning
* lisp/vc/vc-hg.el (compilation-arguments): Forward-declare.
2017-05-23 21:23:55 +02:00
Wilfred Hughes
63d0a3c63f Don't treat ' as a string delimiter in RPM spec files
' is commonly used as an apostrophe in the prose sections of spec
files, which was erroneously highlighted as strings. See for example
http://kmymoney2.sourceforge.net/phb/rpm-example.html

* lisp/progmodes/sh-script.el (sh-mode-syntax-table): Treat ' as
  punctuation in RPM spec files.
2017-05-23 18:48:19 +01:00
Stefan Monnier
9b0662d369 * lisp/emacs-lisp/cl-indent.el: Don't require CL. Use lexical-binding.
(common-lisp-indent-function-1): Remove unused var `last-point`.
(lisp-indent-error-function): Move defvar before first use.
2017-05-23 09:23:54 -04:00
Stefan Monnier
2eee73e7bf * lisp/international/rfc1843.el: Don't require CL. Use lexical-binding. 2017-05-23 09:18:26 -04:00
Stefan Monnier
f037e98fe9 * lisp/international/utf7.el: Don't require CL. Use lexical-binding. 2017-05-23 09:12:06 -04:00
Stefan Monnier
a8d0a91841 * lisp/net/shr.el: Use cl-lib instead of cl. 2017-05-23 09:09:28 -04:00
Stefan Monnier
ea19dd64e2 * lisp/vc/vc-hg.el (compilation-directory): Silence byte-compiler. 2017-05-23 08:16:59 -04:00
Michael Albinus
107e60f49d Add test for Bug#27009 in tramp-tests.el
* lisp/net/tramp-sh.el (tramp-compute-multi-hops):
Check `tramp-file-name-real-host' for being a local host.

* lisp/net/tramp.el (tramp-postfix-host-regexp): Fix docstring.

* test/lisp/net/tramp-tests.el (tramp-test-temporary-file-directory):
Declare default host for mock method.
(tramp-test29-environment-variables-and-port-numbers): New test.
2017-05-23 09:25:03 +02:00
Glenn Morris
ad2f52a143 ; * lisp/net/tls.el (tls-program): Tweak :version.
; To be reset if no 25.3 happens.
2017-05-22 19:08:10 -04:00