Commit graph

70429 commits

Author SHA1 Message Date
Katsumi Yamaoka
bce51bd6f7 * lisp/gnus/message.el (message-do-auto-fill): Prevent do-auto-fill from
adding extra citation mark (bug#29767, but it is a different bug).
2018-01-12 03:54:07 +00:00
Juri Linkov
30e6e312d9 * lisp/frame.el (toggle-frame-maximized/fullscreen): Add frame arg.
(Bug#29986)
2018-01-12 00:14:35 +02:00
Juri Linkov
ad283dfb22 * lisp/windmove.el (windmove-default-keybindings): Allow list of modifiers.
(Bug#29985)
2018-01-12 00:10:39 +02:00
Stefan Monnier
ccedc6797e * lisp/mail/smtpmail.el: Use lexical-binding and cl-generic
(smtpmail-auth-supported): Mark it as non-constant.
(smtpmail-try-auth-methods): Remove unused var 'ret'.
Test non-nullness of mech user and password before calling
smtpmail-try-auth-method.
(smtpmail-try-auth-method): Make it into a generic function.
(smtpmail-via-smtp): Remove unused var 'response-code'.
2018-01-11 11:56:43 -05:00
Stefan Monnier
fe15532eef * lisp/org/org-element.el: Add comment about use of internal functions 2018-01-11 11:33:03 -05:00
Stefan Monnier
1f7f03742d * lisp/emacs-lisp/generator.el (iter-defun): Add 'doc-string' prop. 2018-01-11 11:24:38 -05:00
Stefan Monnier
dbb4aac212 * lisp/emacs-lisp/syntax.el (syntax-propertize): Fix bug#29767 2018-01-11 10:11:39 -05:00
Glenn Morris
e911587fb6 Remove some more face aliases obsolete since 22.1
* lisp/generic-x.el (show-tabs-tab-face, show-tabs-space-face):
* lisp/eshell/em-prompt.el (eshell-prompt-face):
* lisp/vc/smerge-mode.el (smerge-base-face, smerge-markers-face):
Remove face "-face" aliases, obsolete since 22.1.
2018-01-10 15:47:33 -05:00
Glenn Morris
9e1664335c Remove message.el face aliases obsolete since 22.1
* lisp/gnus/message.el: Remove face "-face" aliases,
obsolete since 22.1.
2018-01-10 15:45:55 -05:00
Glenn Morris
66d83ce011 Remove Gnus face aliases obsolete since 22.1
* lisp/gnus/gnus-art.el, lisp/gnus/gnus-cite.el:
* lisp/gnus/gnus-srvr.el, lisp/gnus/gnus.el:
* lisp/gnus/spam.el: Remove face "-face" aliases, obsolete since 22.1.
2018-01-10 15:39:06 -05:00
Charles A. Roelli
80463a43da Improve documentation of fill-separate-heterogeneous-words-with-space
* lisp/textmodes/fill.el
(fill-separate-heterogeneous-words-with-space): Fix grammar.
2018-01-10 21:30:43 +01:00
Eli Zaretskii
4bd2416d55 Fix documentation of some x-* functions
* lisp/term/pc-win.el (x-display-pixel-width)
(x-display-pixel-height, x-display-planes)
(x-display-color-cells, x-server-max-request-size)
(x-server-vendor, x-server-version, x-display-screens)
(x-display-mm-height, x-display-mm-width)
(x-display-backing-store, x-display-visual-class): Provide doc
strings, so that 'makedoc' produces non-empty documentation in
etc/DOC for these functions.  (Bug#30068)
2018-01-10 21:24:58 +02:00
Glenn Morris
bea8dc81eb ; lisp/progmodes/cc-cmds.el: Comment. 2018-01-10 13:48:20 -05:00
Glenn Morris
a44fee314f Remove obsolete variable sun-raw-prefix-hooks
* lisp/term/sun.el (sun-raw-prefix-hooks): Remove, obsolete since 21.1.
(terminal-init-sun): No longer consult sun-raw-prefix-hooks.
2018-01-10 13:47:42 -05:00
Stefan Monnier
b877e9aa02 * lisp/calendar/appt.el: Use lexical-binding
(appt-display-message): Remove unused variable 'err'.
(appt-check): Fix typo in search for a function on a hook.
(number, original-date): Move declaration into 'appt-make-list'.
2018-01-10 11:45:33 -05:00
Stefan Monnier
feea2b5b0d * lisp/calendar/diary-lib.el: Fix bug#30051
(diary-list-entries): Dynamically bind 'number' and 'original-date' around
diary-hook as documented in the docstring.
2018-01-10 11:40:21 -05:00
Glenn Morris
27b754d6b3 Remove some obsolete calendar functions and variables
* lisp/calendar/cal-tex.el (cal-tex-list-holidays):
Remove alias, obsolete since 24.4.
* lisp/calendar/calendar.el (calendar-mode):
No longer use calendar-font-lock-keywords.
(calendar-font-lock-keywords): Delete variable, obsolete since 24.4.
; * lisp/calendar/holidays.el: Comment.
2018-01-09 23:01:24 -08:00
Glenn Morris
641b817c5c Remove some obsolete compat code in supercite.el
* lisp/mail/supercite.el (sc-ask, sc-cite-original):
Remove obsolete compat code.  This file uses modern features.
2018-01-09 22:58:08 -08:00
Glenn Morris
d697faca37 Remove some obsolete compat code in f90.el
* lisp/progmodes/f90.el (f90-mark-subprogram, f90-indent-region)
(f90-fill-region): Remove obsolete compat code.
This file uses modern features.
2018-01-09 22:56:31 -08:00
Glenn Morris
a94cbaab9f Remove some obsolete compat code in fortran.el
* lisp/progmodes/fortran.el (fortran-abbrev-start):
Remove obsolete compat code.  This file uses modern features.
2018-01-09 22:54:46 -08:00
Paul Eggert
ddb26f79b2 Merge from origin/emacs-26
7668717d6f Merge from Gnulib
9e4d523427 * lisp/epg.el (epg-start-sign): Replace obsolete functions.
26c58f31a8 Small fix for erc-logging-enabled
34b41e3bc6 Quieten semantic normal usage
e25f961e37 Avoid irrelevant hyperlink in doc string of 'epa-pinentry-...
ec2636513c * doc/misc/tramp.texi (Remote processes): Mention gdb rest...
918a052a42 Query background for gnome terminal version 3.22 (Bug#29716)
1dfc27576a Make pixel-wise scrolling less laggy
f92264fc2a Fix child frame placement issues (bug#29953)
a5f718c4c5 ; * doc/lispref/text.texi (Change Hooks): Fix last change.
e876f5f9fb Describe the precise interaction of complex primitives wit...
3a22097cf6 Fix valgrind report in call-interactively
d5f1c87bfe * src/editfns.c (Fsave_excursion): Doc fix.  (Bug#30001)
b8d74c4578 Fix mark-defun when there's no spaces between successive d...
a377c652b5 Fix Dired display and operations on file names with raw bytes
d9d6e8a04c ; Comments related to src/termcap.c
f8a07fa6b1 Improve documentation of 'gdb-many-windows'
f82400798e Fix failures in smerge-mode on MS-Windows
2018-01-09 15:29:25 -08:00
Paul Eggert
646c8e56f8 Merge from origin/emacs-26
d382d2bfc5 * etc/DEBUG (Getting control to the debugger): Fix grammar.
687af4c8e8 * lisp/vc/vc.el (vc-region-history): log-view-vc-fileset h...
43e2aafae3 Don't bind dframe events on load (Bug#29599)
ab31bf3c5f * lisp/textmodes/picture.el (picture-mode-exit): Doc fix. ...
ed44d92fa6 * lisp/textmodes/picture.el (picture-open-line): Doc fix. ...
b87a772612 Fix description of 'emacs-internal'
a5256da588 Update PROBLEMS with selection-related issues
c59ecb005e New customization variable for python-mode indentation (Bu...
4e20c8f220 Fix menu keyboard shortcuts on macOS (Bug#29595)

# Conflicts:
#	etc/NEWS
2018-01-09 15:29:25 -08:00
Glenn Morris
9e4d523427 * lisp/epg.el (epg-start-sign): Replace obsolete functions. 2018-01-09 15:10:43 -05:00
Glenn Morris
26c58f31a8 Small fix for erc-logging-enabled
* lisp/erc/erc-log.el (erc-logging-enabled):
Respect buffer-locality of erc-enable-logging variable.
2018-01-09 14:48:29 -05:00
Glenn Morris
34b41e3bc6 Quieten semantic normal usage
* lisp/cedet/semantic/lex.el (semantic-flex): Mark obsolete at
compile time in the normal way, not at run-time.  (Bug#30035)
2018-01-09 13:54:11 -05:00
Michael Albinus
fd21bf0c41 Fix Bug#30038
* lisp/net/tramp.el (tramp-make-tramp-file-name): Check, that
method is not empty.  (Bug#30038)
2018-01-09 09:46:28 +01:00
Eli Zaretskii
e25f961e37 Avoid irrelevant hyperlink in doc string of 'epa-pinentry-mode'
* lisp/epa.el (epa-pinentry-mode): Doc fix.  (Bug#30025)
2018-01-08 23:26:11 +02:00
Tino Calancha
a0365437c9 cl-loop: Add missing guard condition
Consider the expansion of `cl-loop' with a `for' clause and more
than one internal variables, X, Y, processed in parallel.
Each step updates X and Y right after update the loop variable, K; if
either X or Y depend on K, then some forms of the body are
evaluated with the wrong K (Bug#29799).

For instance, consider the following code:
(cl-loop for k below 2
         for x = (progn (message "k = %d" k) 1)
         and y = 1)

This code should show in *Messages*:
k = 0
k = 1

Instead, the code shows:
k = 0
k = 1
k = 2

To prevent this we must ensure that the loop condition is still
satisfied right after update the loop variable.
In the macro expansion of the example above, right after:
(setq k (+ k 1))

evaluate the rest of the body forms iif the condition
(< k 2)
is still valid.

* lisp/emacs-lisp/cl-macs.el (cl--loop-guard-cond): New variable.
(cl--parse-loop-clause): Set it non-nil if the loop contains
a for/as clause.
(cl-loop): After update the loop variable, evaluate the remaining of
the body forms just if the loop condition is still valid (Bug#29799).

* test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs-loop-for-as-equals-and):
New test.
2018-01-08 19:15:28 +09:00
Noam Postavsky
918a052a42 Query background for gnome terminal version 3.22 (Bug#29716)
* lisp/term/xterm.el (xterm--version-handler): Use
xterm--report-background-handler for terminals reporting minor version
4000 and above.
2018-01-07 20:21:46 -05:00
Alan Third
1daac66a6e Add macOS character-palette (bug#29837)
* lisp/ns-win.el (ns-do-show-character-palette): New function.
* src/nsfns.m (Sns_show_character_palette): New function.
* src/nsterm.m (EmacsView::insertText): Handle NSAttributedString.
2018-01-07 20:38:26 +00:00
Tino Calancha
bfca19e475 cl-loop: Calculate the array length just once
* lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause):
Dont calculate the array length on each iteration (Bug#29866).
2018-01-08 00:33:15 +09:00
Philipp Stephani
610dad1102 Revert "Prevent name clashes between CL structures and builtin types"
This reverts commit 151496a4b9.
That commit breaks bootstrap builds due to a cyclic dependency.
2018-01-07 14:14:38 +01:00
Philipp Stephani
6735df4443 Ignore escape characters for context-sensitive quotes (Bug#29812)
* lisp/electric.el (electric-quote-post-self-insert-function): Skip
over escape characters when determining whether a context-sensitive
quote should be opening or closing.

* test/lisp/electric-tests.el
(electric-quote-replace-double-escaped-open)
(electric-quote-replace-double-escaped-close): New unit tests.
2018-01-07 13:52:59 +01:00
Philipp Stephani
f07c325d1f Fix a small bug in electric quoting.
Before this commit, if 'electric-quote-replace-double' is non-nil,
typing " '" turned into " ‘" even if
'electric-quote-context-sensitive' was nil.

* lisp/electric.el (electric-quote-post-self-insert-function): Insert
context-sensitive double quote only if the last character is actually
a double quote character.

* test/lisp/electric-tests.el
(electric-quote-replace-double-no-context-single): New unit test.
2018-01-07 13:50:03 +01:00
Philipp Stephani
151496a4b9 Prevent name clashes between CL structures and builtin types
* lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Don't allow
structures with the same names as builtin types.
(cl--struct-name-p): New helper function.

* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Don't allow structures
with the same names as builtin types.

* test/lisp/emacs-lisp/cl-macs-tests.el (cl-defstruct/builtin-type):
* test/lisp/emacs-lisp/cl-preloaded-tests.el
(cl-struct-define/builtin-type): New unit tests.

* etc/NEWS: Document changed behavior.
2018-01-07 12:33:53 +01:00
Tak Kunihiro
1dfc27576a Make pixel-wise scrolling less laggy
* lisp/pixel-scroll.el (pixel-dead-time, pixel-last-scroll-time):
New variables.
(pixel-scroll-up, pixel-scroll-down): Invoke 'scroll-up' or
'scroll-down' when called within 'pixel-dead-time'.  (Bug#29737)
2018-01-07 09:17:09 +02:00
Noam Postavsky
5f72004678 Revert "Fix command repetition with lexical-binding (Bug#29334)"
It does not work with more complicated interactive forms, because
byte-compile-lambda actually receives an intermediate form of code
rather than valid lisp source (Bug#29988).
* src/callint.c (Fcall_interactively):
* lisp/emacs-lisp/bytecomp.el (byte-compile-lambda): Revert previous
change, and update commentary.
2018-01-06 21:22:24 -05:00
Michael Albinus
fc31788beb Minor tramp-gvfs.el cleanup
* lisp/net/tramp-gvfs.el (tramp-gvfs-enabled): Move up.
(top): Delete goa methods only when `tramp-gvfs-enabled' is not nil.
2018-01-06 19:36:22 +01:00
Alan Mackenzie
b8d74c4578 Fix mark-defun when there's no spaces between successive defuns.
The problem was a parse-partial-sexp call which tried to use the STOPBEFORE
argument to detect non-syntactic WS.  This fails on a "}", which does not
begin a sexp.

* lisp/emacs-lisp/lisp.h (beginning-of-defun--in-emptyish-line-p): Enhance to
handle BOL being in a string.
(beginning-of-defun-comments): Call the above function in place of the call
to parse-partial-sexp.
2018-01-06 11:48:32 +00:00
Michael Albinus
b74fdf4408 Add new Tramp connection method "owncloud"
* doc/misc/tramp.texi (all): Use @acronym{GNOME} thoroughly.
(Using GNOME Online Accounts based methods): Rename from
"Using Google Drive".  Add `owncloud'.
(GVFS based methods): Add `owncloud'.

* etc/NEWS: Add Tramp connection method "owncloud".

* lisp/net/tramp-gvfs.el (tramp-gvfs-methods): Add "owncloud".
Remove goa methods if not supported.
(tramp-goa-methods, tramp-goa-service, tramp-goa-path)
(tramp-goa-path-accounts, tramp-goa-interface-documents)
(tramp-goa-interface-printers, tramp-goa-interface-files)
(tramp-goa-interface-contacts, tramp-goa-interface-calendar)
(tramp-goa-interface-oauth2based)
(tramp-goa-interface-account, tramp-goa-identity-regexp)
(tramp-goa-interface-mail, tramp-goa-interface-chat)
(tramp-goa-interface-photos, tramp-goa-path-manager)
(tramp-goa-interface-documents)
(tramp-gvfs-owncloud-default-prefix)
(tramp-gvfs-owncloud-default-prefix-regexp): New defconst.
(tramp-goa-name): New defstruct.
(tramp-gvfs-stringify-dbus-message): Handle all consp messages.
(tramp-dbus-function, tramp-gvfs-get-remote-prefix)
(tramp-get-goa-accounts): New defun.
(with-tramp-dbus-call-method): Use it.
(with-tramp-dbus-get-all-properties): New defmacro.
(tramp-gvfs-url-file-name)
(tramp-gvfs-handler-mounted-unmounted)
(tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec):
Map between "owncloud" and "davs".
(tramp-gvfs-maybe-open-connection): Set "vector" connection property.

* test/lisp/net/tramp-tests.el (tramp-gvfs-handler-askquestion):
Suppress run in tests.
(tramp--test-owncloud-p): New defun.
(tramp-test11-copy-file, tramp-test12-rename-file): Use it.
2018-01-05 21:04:39 +01:00
Jay Kamat
933d8fc0b7 Make eshell history expansion more like bash (Bug#29821)
- Prevent expansion of quick substitutions when the initial "^" is not
  at start of line (Bug#29157).
- Allow spaces inside substitutions, so "^foo bar^baz" works.
- Allow trailing characters after substitution, so "^foo^bar^trailing"
  works.
- Throw an error when substitution does not match.

* lisp/eshell/em-hist.el (eshell-expand-history-references): Expand
history substitution before other types of expansions, and expand them
with the whole line.
(eshell-history-substitution): New function to expand only
substitutions, taking in the entire typed line rather than individual
arguments.
2018-01-05 09:29:00 -05:00
Eli Zaretskii
f82400798e Fix failures in smerge-mode on MS-Windows
* lisp/vc/smerge-mode.el (smerge--refine-chopup-region): Use
utf-8-emacs-unix, not emacs-internal, to make the forced EOL
convention explicit.
(smerge-refine-regions): Use utf-8-emacs instead of
emacs-internal, to allow decoding of non-Unix EOL conventions.
(Bug#29916)
2018-01-05 11:22:27 +02:00
Michael Albinus
1cc7bc0f63 Improve backward compatibility in tramp-archive
* lisp/net/tramp-archive.el
(tramp-archive-handle-temporary-file-directory):
Use `tramp-compat-temporary-file-directory'.

* test/lisp/net/tramp-archive-tests.el
(tramp-archive-test37-make-nearby-temp-file):
Wrap `temporary-file-directory' call with `with-no-warnings'.
2018-01-04 12:58:42 +01:00
Michael Albinus
13d384820d Write proper `write-region' message in Tramp backends
* lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
* lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
* lisp/net/tramp-smb.el (tramp-smb-handle-write-region):
Write proper message.

* lisp/net/tramp.el (tramp-message-show-message): Change default.

* test/lisp/net/tramp-tests.el (ert-x): Require it.
(tramp-test10-write-region): Extend test.
2018-01-04 12:48:07 +01:00
Noam Postavsky
ce48658191 Fix command repetition with lexical-binding (Bug#29334)
`call-interactively' relies on analyzing the source of `interactive'
forms in order to preserve arguments like (region-end) in the command
history, rather than just storing the resulting position.  However,
the byte-compiler does not preserve the source of the interactive form
when lexical-binding is in effect, because `call-interactively' would
evaluate the form with dynamic binding in that case.

To fix this, change `call-interactively' so that it checks compiled
functions for lexical-binding as well.  Then the byte-compiler can
preserve the source of interactive forms regardless of the value of
lexical-binding.

* src/callint.c (Fcall_interactively): Functions compiled with
lexical-binding have their arglist encoded as an integer, use this to
choose the right kind of binding for compiled functions too.
* lisp/emacs-lisp/bytecomp.el (byte-compile-lambda): Preserve the
uncompiled form of the interactive form when lexical-binding is
enabled too.
2018-01-03 20:51:28 -05:00
Stefan Monnier
687af4c8e8 * lisp/vc/vc.el (vc-region-history): log-view-vc-fileset holds a list! 2018-01-03 15:33:08 -05:00
Noam Postavsky
43e2aafae3 Don't bind dframe events on load (Bug#29599)
* lisp/dframe.el (dframe-setup-hook): New hook.
(dframe-set-special-events): New function, containing previous
top-level key binding code.
(top-level): Add it to dframe-setup-hook.
(dframe-frame-mode): Run the hook.
2018-01-02 20:53:42 -05:00
Eli Zaretskii
ab31bf3c5f * lisp/textmodes/picture.el (picture-mode-exit): Doc fix. (Bug#29949) 2018-01-02 21:34:58 +02:00
Eli Zaretskii
ed44d92fa6 * lisp/textmodes/picture.el (picture-open-line): Doc fix. (Bug#29948) 2018-01-02 21:24:34 +02:00
Ross Donaldson
c59ecb005e New customization variable for python-mode indentation (Bug#28475)
* lisp/progmodes/python.el (python-indent-def-block-scale): New variable.
(python-indent--calculate-indentation): Let it control how many indent
levels are inserted for multi-line function signatures.

Copyright-paperwork-exempt: yes
2018-01-01 11:16:00 -05:00