Commit graph

68896 commits

Author SHA1 Message Date
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
Stefan Monnier
bc78276e81 * lisp/mail/rfc2047.el (rfc2047-decode-encoded-words): Set words to nil. 2017-05-22 16:53:18 -04:00
Sam Steingold
62046ed3e9 Fix "g" in hg&git push&pull buffers
lisp/vc/vc-git.el (vc-git--pushpull): Set locally
`compilation-directory' and `compilation-arguments'.
lisp/vc/vc-hg.el (vc-hg--pushpull): Likewise.
2017-05-22 15:48:21 -04:00
Stefan Monnier
e7b9a6fc4a * lisp/mail/rfc2047.el: Use cl-lib & lexical-binding, silence warning
(rfc2047-decode-encoded-words): Use dolist.
(rfc2047-decode-string): Avoid string-to-multibyte.
(rfc2047-pad-base64): Use pcase.
2017-05-21 23:18:58 -04:00
Dima Kogan
08848e33ba Make ff-find-other-file symmetric for C++ (Bug#20192)
`cc-other-file-alist' has a mapping of file extensions to switch
between headers and sources, but the mappings weren't completely
symmetric.  In particular .cpp would map to .hh, but .hh would NOT map
to .cpp.

* lisp/find-file.el (cc-other-file-alist): Map ".hh" and ".h" to all
C++ extensions to make them symmetric with the C++ extensions that map
to them.  This lets repeated invocations of `ff-find-other-file'
toggle between all pairs of sources/headers.
2017-05-21 17:43:02 -04:00
Philipp Stephani
32f80eb678 Fix definition of whitespace in JSON
See
https://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00115.html.

* lisp/json.el (json-skip-whitespace): Fix definition.
* test/lisp/json-tests.el (test-json-skip-whitespace): Adapt unit
test.
2017-05-21 23:03:01 +02:00
Paul Eggert
140aefc341 ; Spelling fix 2017-05-21 13:42:36 -07:00
Tino Calancha
08212929ba * lisp/emacs-lisp/package.el (package-delete): Delete readme file as well. 2017-05-21 22:20:19 +09:00
Alan Mackenzie
b0b02ca7f3 Enhance mode-line percentage offset facility, with "%o" and "%q"
"%o" will display the percentage "travel" of the window through the buffer.
"%q" will display a combination of the percentage offsets of the top and
bottom of the window.  The new user option mode-line-percent-position will
facilitate selecting a setting for this part of the mode line.

* lisp/bindings.el (mode-line-percent-position): New customizable user option.
(mode-line-position): Use mode-line-percent-position in place of "%p", etc.

* src/xdisp.c (decode_mode_spec): Add handlers for "%o" and "%q".

* doc/lispref/modes.texi (Mode Line Variables): Document
mode-line-percent-position.
(%-Constructs): Document %o and %q.

* etc/NEWS: Add an entry for these new facilities.
2017-05-21 10:16:09 +00:00
Tom Tromey
2963861f3d Fix mhtml-mode fontification bug
Bug#26922
* lisp/textmodes/mhtml-mode.el (mhtml-syntax-propertize): Call
sgml-syntax-propertize-inside if not in a submode.
* test/manual/indent/html-multi-4.html: New file.
2017-05-20 22:01:56 -06:00
Ryan
f422b46eb1 Fix ido-enable-dot-prefix for empty choice (Bug#26997)
* lisp/ido.el (ido-set-matches-1): Only check first character of
item if it's non-empty.

Copyright-paperwork-exempt: yes
2017-05-20 21:54:02 -04:00
Ari Roponen
547f78c813 * lisp/svg.el (svg-line): Fix x/y typo. (Bug#26953) 2017-05-20 17:14:36 -07:00
Glenn Morris
7f4e5ca8fb Prevent loading vc-bzr writing to ~/.bzr.log
* lisp/vc/vc-bzr.el (vc-bzr-status-switches): Disable bzr logging.
2017-05-20 17:05:18 -07:00
Noam Postavsky
abd098200b Don't end non-hook variable with "-hook" (Bug#26623)
* lisp/follow.el (follow-inside-post-command-hook-call): Renamed from
follow-inside-post-command-hook, update uses.
2017-05-20 19:13:57 -04:00
Charles A. Roelli
7e5a8cdceb Fix macOS mouse movement
* lisp/frame.el (ns-set-mouse-absolute-pixel-position): New
function (Lisp).
(set-mouse-absolute-pixel-position): Change it to call
`ns-set-mouse-absolute-pixel-position' on macOS.
* src/nsfns.m (Fns_set_mouse_absolute_pixel_position): New
function.
* src/nsterm.h (NS_PARENT_WINDOW_TOP_POS): Use the primary
screen's height as a base for calculating global coordinates.
* src/nsterm.m (frame_set_mouse_pixel_position): Fix it in macOS.
* test/lisp/mouse-tests.el (bug26816-mouse-frame-movement): Test
movement of mouse relative to frame.
2017-05-21 00:09:41 +01:00
Andreas Politz
f151eb0141 Don't save unrelated buffers before recompiling directory (Bug#25964)
* lisp/emacs-lisp/bytecomp.el (byte-recompile-directory): Only save
buffers visiting lisp files under the directory being compiled.
2017-05-20 18:28:23 -04:00
Philipp Stephani
31fded0370 Reimplement module functions
Instead of a lambda, create a new type containing all data required to
call the function, and support it in the evaluator.  Because this type
now also needs to store the function documentation, it is too big for
Lisp_Misc; use a pseudovector instead.  That also has the nice benefit
that we don't have to add special support to the garbage collector.

Since the new type is user-visible, give it a predicate.

Now we can easily support 'help-function-args' and 'func-arity'; add
unit tests for these.

* src/lisp.h (allocate_module_function, MODULE_FUNCTIONP)
(XMODULE_FUNCTION): New pseudovector type 'module function'.

* src/eval.c (FUNCTIONP): Also treat module functions as functions.
(funcall_lambda, Ffuncall, eval_sub): Add support for calling module
functions.
(Ffunc_arity): Add support for detecting the arity of module
functions.

* src/emacs-module.c (module_make_function): Adapt to new structure.
Return module function object directly instead of wrapping it in a
lambda; remove FIXME.
(funcall_module): New function to call module functions.  Replaces
`internal--module-call' and is called directly from eval.c.
(syms_of_module): Remove internal helper function, which is no longer
needed.
(module_function_arity): New helper function.

* src/data.c (Ftype_of): Adapt to new implementation.
(Fmodule_function_p, syms_of_data): New user-visible function.  Now
that module functions are first-class objects, they deserve a
predicate.  Define it even if not compiled with --enable-modules so
that Lisp code doesn't have to check for the function's existence.

* src/doc.c (Fdocumentation): Support module functions.

* src/print.c (print_object): Adapt to new implementation.

* src/alloc.c (mark_object): Specialized garbage collector support is
no longer needed.

* lisp/help.el (help-function-arglist): Support module functions.
While there, simplify the arity calculation by using `func-arity',
which does the right thing for all kinds of functions.

* test/data/emacs-module/mod-test.c: Amend docstring so we can test
the argument list.

* test/src/emacs-module-tests.el (mod-test-sum-docstring): Adapt to
new docstring.
(mod-test-non-local-exit-signal-test): Because `internal--module-call'
is gone, the backtrace has changed and no longer leaks the
implementation.
(module--func-arity): New test for `func-arity'.
(module--help-function-arglist): New test for `help-function-arglist'.
2017-05-20 15:32:52 +02:00
Charles A. Roelli
021430f4b4 New commands: find-library-other-window, find-library-other-frame
* lisp/emacs-lisp/find-func.el (find-library-other-window)
(find-library-other-frame): New commands to complement the
existing 'find-library' command.  (Bug#26712)
(read-library-name): New function to read a library name.
* etc/NEWS: Mention 'find-library-other-window' and
'find-library-other-frame'.
2017-05-20 14:41:53 +03:00
Noam Postavsky
acd58c9198 Limit integers printed as characters (Bug#16828)
* lisp/simple.el (eval-expression-print-maximum-character): New
variable.
(eval-expression-print-format): Only display value as character if
it's less than or equal to `eval-expression-print-maximum-character'.
(eval-expression-get-print-arguments): Check
eval-expression-print-maximum-character, allow negative arg to
override it.
(eval-expression):
* lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp):
(elisp--eval-last-sexp-print-value): Handle new variable.
* doc/emacs/building.texi (Lisp Eval): Document new variable and
behavior.
* etc/NEWS: Announce it.
* test/lisp/progmodes/elisp-mode-tests.el
(eval-last-sexp-print-format-small-int)
(eval-last-sexp-print-format-small-int-echo)
(eval-last-sexp-print-format-large-int)
(eval-last-sexp-print-format-large-int-echo):
* test/lisp/simple-tests.el (eval-expression-print-format-small-int)
(eval-expression-print-format-small-int-echo)
(eval-expression-print-format-large-int)
(eval-expression-print-format-large-int-echo): New tests.
2017-05-19 18:16:38 -04:00
Noam Postavsky
267be4bdc2 Refactor lisp eval result printing
* lisp/simple.el (eval-expression-print-format): Don't check
`standard-output' or `current-prefix-arg'.
(eval-expression-get-print-arguments): New function, centralizes
decision about how to print results of `eval-expression' and
`eval-last-sexp'.
(eval-expression):
* lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp-print-value):
Use it.
2017-05-19 18:16:15 -04:00
Stefan Monnier
b372e565e4 * lisp/emacs-lisp/package.el: Quote `package-desc' in docstrings 2017-05-19 09:42:57 -04:00
Nick Helm
c1c6f167b2 Fix turning off whitespace-mode
* lisp/whitespace.el (whitespace-display-char-on): Correct the way
the original buffer-display-table is saved and restored when
global-whitespace-mode is active.  (Bug#26892)

* test/lisp/whitespace-tests.el
(whitespace-tests-whitespace-mode-on): New function.
(whitespace-tests-display-tables): New test.

Copyright-paperwork-exempt: yes
2017-05-19 15:20:59 +03:00
Michael Albinus
6de77cfa9d Fix a problem with OpenSSH 7 in Tramp
* lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options): Set also
"ConnectTimeout" during test.  Otherwise, OpenSSH 7 will hang.
2017-05-19 13:57:04 +02:00
Ruslan Bekenev
b43c4616cc Fix typos in doc strings
* lisp/mail/rfc2231.el (rfc2231-encode-string):
* lisp/mail/rfc2047.el (rfc2047-encode-parameter):
* lisp/mail/rfc2045.el (rfc2045-encode-string): Fix typos in doc
strings.  (Bug#26103)
2017-05-19 14:35:47 +03:00
Jean-Christophe Helary
c189986b24 Add an optional arguments to string-trim
* lisp/emacs-lisp/subr-x.el (string-trim-left, string-trim-right)
(string-trim): Add optional args that serve as defaults per the
original behavior.  (Bug#26908)
2017-05-19 14:27:10 +03:00
Stephen Berman
cecd99d826 Fix typo in last change to auto-hscroll-mode
* lisp/cus-start.el (standard): Fix typo in value of auto-hscroll-mode.
2017-05-19 11:36:01 +02:00
Eli Zaretskii
bb5c6614eb * lisp/replace.el (query-replace-regexp-eval): Doc fix. 2017-05-19 11:12:51 +03:00
Eli Zaretskii
df9bec3b39 Adjust defcustom form for 'auto-hscroll-mode'
* lisp/cus-start.el (standard) <auto-hscroll-mode>: Adjust the
defcustom form.  Suggested by Stephen Berman <stephen.berman@gmx.net>.
2017-05-19 10:01:23 +03:00
Eli Zaretskii
f6816a659c Fix last change in line-move-finish
* lisp/simple.el (line-move-finish): Fix last change.  This corrects a
regression in C-n and C-p when lines are truncated, introduced by the
change in 2017-05-10.
2017-05-18 22:54:35 +03:00
Simen Heggestøyl
8deef1d6a7 Expand docstring for CSS mode
* lisp/textmodes/css-mode.el (css-completion-at-point, css-mode):
Expand docstrings.
2017-05-18 17:59:56 +02:00