1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-15 10:30:25 -08:00
Commit graph

131681 commits

Author SHA1 Message Date
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
Alan Mackenzie
f04a527a92 * fns.c (base64-decode-region): Add signal_after_change call for insertion. 2018-01-07 11:16:52 +00: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
Alan Third
15cd18991c Allow setting tooltip colors in NS port
* src/nsfns.m (Fx_show_tip): Get face colors and apply them to the
tooltip.
* src/nsmenu.m (EmacsTooltip::setBackgroundColor):
(EmacsTooltip::setForegroundColor): New functions.
* src/nsterm.h (EmacsTooltip::setBackgroundColor):
(EmacsTooltip::setForegroundColor): New function prototypes.
2018-01-06 22:50:35 +00:00
Alan Mackenzie
5fd2297353 Make transpose-regions invoke before-change-functions only once.
In the case of two non-contiguous regions the same size, transpose-regions has
been calling before-change-functions twice, once for each region.  It now
calls it just once, for the minimal region spanning both single regions.

* src/editfns.c (Ftranspose_regions): Combine two calls of modify_text into
one.
2018-01-06 20:15:04 +00: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
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
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
Paul Eggert
f8b4e87d5d Fix .gdbinit to work with Lisp_Word
Problem reported by Stefan Monnier (Bug#29957).
* src/.gdbinit (xgetptr, xgetint, xgettype):
Cast Lisp_Word value to EMACS_INT, since it might be a pointer now.
2018-01-02 22:38:48 -08:00
Stephen Leake
b6add8c7cf Fix description of 'struct' generic function specializer
* doc/lispref/functions.texi (Generic Functions): Fix description of
'struct' specializer; it must be the named struct or a child, not a
parent.
2018-01-02 07:38:19 -06:00
Michael Albinus
cef8a9d0a7 Remove superfluous test data for Tramp 2018-01-02 11:25:21 +01:00
Glenn Morris
aa9f806b47 ; Auto-commit of loaddefs files. 2018-01-01 07:29:05 -05:00
Paul Eggert
973d10a34b * etc/NEWS: Improve -fcheck-pointer-bounds wording. 2018-01-01 01:45:29 -08:00
Paul Eggert
7519897727 Merge from gnulib, mostly to fix copyright years 2018-01-01 01:25:56 -08:00
Paul Eggert
d263ce25cd Update copyright year to 2018
Run admin/update-copyright.
2018-01-01 01:25:56 -08:00
Paul Eggert
bb267f17f9 Merge from origin/emacs-26
63b04c11d5 Fix copyright years by hand
5c7dd8a783 Update copyright year to 2018
220a9ecba1 Merge from Gnulib
312c565566 Don't add empty keyboard macro to macro ring (Bug#24992)
39ca289a7a Allow customization of decoding of "man" command
f8240815ea * etc/NEWS: Add security consideration note on passphrase ...
0c78822c70 Fix subtle problem with scroll-down when scroll-margin is ...
acd289c5a4 Fix problems with indexing in User manual
b240c7846b * lisp/help.el (describe-key): Only (copy-sequence elt) wh...
e879a5444a * src/buffer.c (Frestore_buffer_modified_p): Fix bug#29846
81b1028b63 Improve documentation of 'inhibit-modification-hooks' and ...
7175496d7a Fix doc string of 'enable-recursive-minibuffers'
5b38406491 Fix documentation of delsel and of killing text

# Conflicts:
#	etc/NEWS
#	etc/refcards/ru-refcard.tex
2018-01-01 01:13:04 -08:00
Paul Eggert
63b04c11d5 Fix copyright years by hand
These are dates that admin/update-copyright did not update, or
updated incorrectly.
2018-01-01 01:02:09 -08:00
Paul Eggert
5c7dd8a783 Update copyright year to 2018
Run admin/update-copyright.
2018-01-01 00:57:59 -08:00
Paul Eggert
220a9ecba1 Merge from Gnulib
This incorporates:
2018-01-01 maint: Run 'make update-copyright'
2017-12-29 Add cross-compilation results for GNU/Hurd.
2017-12-12 explicit_bzero: port to macOS + Clang 9.0.0
2017-12-31 17:21:33 -08:00
Gemini Lasswell
312c565566 Don't add empty keyboard macro to macro ring (Bug#24992)
* lisp/kmacro.el (kmacro-end-call-mouse): Don't save a newly defined
macro if it is empty.

* test/lisp/kmacro-tests.el (kmacro-tests-end-and-call-macro-mouse):
Remove expected failure tag.
2017-12-31 11:10:26 -08:00
Eli Zaretskii
39ca289a7a Allow customization of decoding of "man" command
* lisp/man.el (Man-coding-system): New defcustom.
(Man-start-calling): Use it, and also pay attention to user
overriding coding-system-for-read.  (Bug#29872)
2017-12-31 18:20:12 +02:00
Daiki Ueno
f8240815ea * etc/NEWS: Add security consideration note on passphrase input 2017-12-31 05:37:17 +01:00
Philipp Stephani
a5835dfee1 Improve error reporting when serializing non-Unicode strings to JSON
* src/coding.c (utf8_string_p): New helper function.
(syms_of_coding) <utf-8-unix>: Move from json.c.

* src/json.c (json_check_utf8): New helper function.
(lisp_to_json_toplevel_1, lisp_to_json): Use it.  To save a bit of
time, check for invalid UTF-8 strings only after encountering an
error, since Jansson already rejects them.

* test/src/json-tests.el (json-serialize/invalid-unicode): Adapt
expected error symbol.
2017-12-30 23:16:51 +01:00
David McFarland
30ffc256ab Fix regex stack overflow in gdb-mi.el when parsing complex locals
* lisp/progmodes/gdb-mi.el (gdb-jsonify-buffer): Skip string
literals with (forward-sexp) instead of matching with regex.
(Bug#29868)

Copyright-paperwork-exempt: yes
2017-12-30 13:14:32 +02:00
Sebastian Reuße
fb20043b2f Fix output alignment in 'find-dired' for "ls -h"
* lisp/find-dired.el (find-dired-filter): Fix alignment of
the file size column when the -h ls option is used in
'find-ls-option'.  (Bug#29803)

Copyright-paperwork-exempt: yes
2017-12-30 12:41:23 +02:00
Eli Zaretskii
0c78822c70 Fix subtle problem with scroll-down when scroll-margin is nonzero
* src/window.c (window_scroll_pixel_based): Account for
scroll-margin when scrolling down, i.e. moving window-start
towards the beginning of the buffer.  Reported by zhang cc
<ccsmile2008@outlook.com> in
http://lists.gnu.org/archive/html/emacs-devel/2017-12/msg00894.html.
2017-12-29 23:41:20 +02:00
Eli Zaretskii
acd289c5a4 Fix problems with indexing in User manual
* doc/emacs/basic.texi (Continuation Lines, Inserting Text)
(Moving Point):
* doc/emacs/help.texi (Help Echo, Package Keywords, Help Mode):
* doc/emacs/trouble.texi (Quitting):
* doc/emacs/mark.texi (Setting Mark, Disabled Transient Mark):
* doc/emacs/custom.texi (Modifier Keys, Init Examples)
(Creating Custom Themes):
* doc/emacs/programs.texi (Program Modes, Expressions, Hideshow)
(Basic Indent, Info Lookup, Symbol Completion):
* doc/emacs/screen.texi (Echo Area):
* doc/emacs/xresources.texi (Table of Resources, GTK Names in Emacs):
* doc/emacs/display.texi (Line Truncation, Cursor Display):
* doc/emacs/files.texi (File Names, Backup, File Archives):
* doc/emacs/dired.texi (Operating on Files, Dired Enter):
* doc/emacs/commands.texi (User Input):
* doc/emacs/mule.texi (International, Unibyte Mode)
(International Chars):
* doc/emacs/vc1-xtra.texi (RCS and SCCS, Version Headers)
(CVS Options):
* doc/emacs/modes.texi (Major Modes, Minor Modes):
* doc/emacs/indent.texi (Just Spaces):
* doc/emacs/frames.texi (Mouse Avoidance, Mode Line Mouse)
(Frame Commands):
* doc/emacs/cmdargs.texi (Initial Options):
* doc/emacs/abbrevs.texi (Dabbrev Customization):
* doc/emacs/mini.texi (Completion Example, Completion Commands):
* doc/emacs/calendar.texi (Writing Calendar Files, Calendar Unit Motion)
(From Other Calendar):
* doc/emacs/regs.texi (Text Registers, Bookmarks):
* doc/emacs/buffers.texi (Several Buffers, Select Buffer):
* doc/emacs/maintaining.texi (Xref Commands):
* doc/emacs/windows.texi (Pop Up Window):
* doc/emacs/text.texi (Text, Org Mode):
* doc/emacs/killing.texi (Other Kill Commands):
* doc/emacs/misc.texi (Document View, Gnus Group Buffer)
(Gnus Summary Buffer, Shell Mode):
* doc/emacs/cal-xtra.texi (Sexp Diary Entries): Remove or reword
redundant identical index entries.
* doc/emacs/custom.texi (Mouse Buttons)
* doc/emacs/files.texi (Reverting): Fix hyphenation.
* doc/emacs/emacs.texi (Top): Improve wording of Index menu items.
* doc/emacs/files.texi (File Conveniences):
* doc/emacs/programs.texi (MixedCase Words): Make entries that
belong to Concept Index be indexed with @cindex.  (Bug#29888)
2017-12-29 18:04:57 +02:00
Alan Mackenzie
b240c7846b * lisp/help.el (describe-key): Only (copy-sequence elt) when elt is a list. 2017-12-29 09:54:03 +00:00
Eric Abrahamsen
ace8f2ed4d Make gnus-alter-articles-to-read-function a constant lambda
* lisp/gnus/gnus-sum.el (gnus-alter-articles-to-read-function):
  Default to a no-op lambda form, mention the use of `add-function' in
  the docstring.
* lisp/gnus/gnus-sum.el (gnus-articles-to-read): Check if the option
  value is callable.
2017-12-28 12:29:54 -08:00
Stefan Monnier
65bc9c6219 * lisp/net/ange-ftp.el: Use lexical-binding 2017-12-28 14:13:10 -05:00
Stefan Monnier
e879a5444a * src/buffer.c (Frestore_buffer_modified_p): Fix bug#29846
Don't mess with the lock file when inhibit_modification_hooks is set,
just like we do in prepare_to_modify_buffer_1.
2017-12-28 14:03:07 -05:00
Eli Zaretskii
81b1028b63 Improve documentation of 'inhibit-modification-hooks' and friends
* src/buffer.c (Fset_buffer_modified_p)
(Frestore_buffer_modified_p): Doc fixes.
* src/insdel.c (syms_of_insdel) <inhibit-modification-hooks>:
Document in the doc string that this variable also inhibits file
locks and active region handling.  (Bug#29846)
2017-12-28 19:23:34 +02:00
David Pathakjee
7175496d7a Fix doc string of 'enable-recursive-minibuffers'
* src/minibuf.c (syms_of_minibuf) <enable-recursive-minibuffers>:
Doc fix.  (Bug#29873)

Copyright-paperwork-exempt: yes
2017-12-28 18:59:42 +02:00
Michael Albinus
57c291f2c7 Fix Bug#29874
* lisp/net/ange-ftp.el (ange-ftp-file-accessible-directory-p)
(ange-ftp-real-file-accessible-directory-p): New defuns.
(ange-ftp-nslookup-host, ange-ftp-start-process):
Use `ange-ftp-real-file-accessible-directory-p'.
(file-accessible-directory-p): Put `ange-ftp' property.  (Bug#29874)
2017-12-28 11:26:28 +01:00
Stefan Monnier
b19df8ae78 Remove uses of cl from test/ subdirectory
* test/lisp/gnus/gnus-tests.el: Remove unneeded (require 'cl).

* test/lisp/net/gnutls-tests.el: Use cl-lib and pcase.
2017-12-27 18:42:01 -05:00
Stefan Monnier
fb619c1c22 (delayed-after-hook-functions): Tighten the code a bit
* lisp/subr.el (delayed-mode-hooks, delayed-after-hook-functions):
Use defvar-local.
(run-mode-hooks): Reset delayed-after-hook-functions before running
those functions, in case an error is signaled.

* lisp/emacs-lisp/derived.el (define-derived-mode): Don't duplicate code.
2017-12-27 17:49:39 -05:00
Glenn Morris
f16ba58809 Fix recent rfc2231 avoidance of cl
* lisp/mail/rfc2231.el (rfc2231-parse-string)
(rfc2231-encode-string): Replace cl forms with cl-lib versions.
2017-12-27 10:50:45 -08:00
Eli Zaretskii
5b38406491 Fix documentation of delsel and of killing text
* doc/emacs/killing.texi (Appending Kills): Make sure the text
with 2 spaces is not broken between 2 lines.
* doc/emacs/mark.texi (Using Region): Remove the sentence about
delsel mode that describes behavior which exists even without
delsel mode turned on.  Suggested by Petteri Hintsanen
<petterih@iki.fi> in emacs-manual-bugs@gnu.org.

* lisp/delsel.el (delete-selection-mode): Doc fix.
2017-12-27 20:23:10 +02:00
Glenn Morris
08e1438a3b Merge from origin/emacs-26
fd35804971 (origin/emacs-26) * doc/lispref/strings.texi (Case Convers...
89e257d71b * doc/misc/speedbar.texi (Top): Fix grammar.
a31ab5ffb5 * lisp/subr.el (with-silent-modifications): Doc fixes.
2ebc8dc3b6 Fix curved quotes in printed manual
e4a881b5cf Say that "gnus-cloud" is a parody name
13c59d0a83 More improvements for text.texi
7850b7620e Adjudicate review comments for the "Text" chapter of user ...
d7d3b14a99 * lisp/url/url-http.el (url-http-wait-for-headers-change-f...
f3819ad13e In C-h k <mouse-n>, alert user to existence of any matchin...
99054fbef9 * net/eww.el (eww): Handle URLs without host part.
de89c0b641 Make C-h c/k S-mouse-1 display message for mouse-appearanc...
720ed0b533 Avoid crashes when ':eval' deletes our frame
9105c9aa34 Fix scrolling up in pixel-scroll.el
b882d4ef11 Fix problems with ligatures in PDF version of ELisp manual
289dd53bb3 (elisp-flymake-byte-compile): Handle killed buffer in sent...
cf36c82127 Avoid some overfull lines in PDF lispref
b07b56a351 Avoid some overfull lines in PDF manual
6b3118f025 * doc/emacs/arevert-xtra.texi (Auto Reverting the Buffer M...
7ffb7b1e01 ; lispref nil/t markup fixes

# Conflicts:
#	doc/emacs/text.texi
2017-12-27 10:00:16 -08:00
Glenn Morris
fd35804971 * doc/lispref/strings.texi (Case Conversion):
Use a TeX font that support ligatures.
2017-12-27 09:55:35 -08:00
Charles A. Roelli
89e257d71b * doc/misc/speedbar.texi (Top): Fix grammar. 2017-12-27 18:25:30 +01:00
Charles A. Roelli
a31ab5ffb5 * lisp/subr.el (with-silent-modifications): Doc fixes. 2017-12-27 15:53:34 +01:00
Stefan Monnier
da94ea92bc Eliminate last uses of 'cl' in lisp/mail/
* lisp/mail/binhex.el: Use lexical-binding and avoid cl.
(binhex-push-char): Remove unused arg 'count'.
(binhex-decode-region-external): Remove unused var 'status'.

* lisp/mail/flow-fill.el: Use lexical-binding and avoid cl.

* lisp/mail/footnote.el: Reduce redundancy.
(footnote-roman-lower-regexp, footnote-roman-upper-regexp)
(footnote-roman-upper-list): Auto-generate from footnote-roman-lower-list.
(footnote-hebrew-numeric-regex): Auto-generate from footnote-hebrew-numeric.
(footnote--hebrew-numeric): Simplify.
(footnote-hebrew-symbolic-regex): Generate from footnote-hebrew-symbolic.

* lisp/mail/hashcash.el: Use lexical-binding and avoid cl.
(hashcash-verify-payment): Use pcase.

* lisp/mail/ietf-drums.el: Use lexical-binding and avoid cl.
(ietf-drums-token-to-list): Remove unused var 'e'.

* lisp/mail/rfc2231.el: Use lexical-binding and avoid cl.

* lisp/mail/uudecode.el: Use lexical-binding and avoid cl.
(uudecode-char-int): Remove unused 'eval-and-compile' wrapper.
(uudecode-decode-region-external): Remove unused 'status' var.
(uudecode-string-to-multibyte): Remove.
(uudecode-decode-region-internal): Use decode-coding-string instead.

* lisp/mail/yenc.el: Use lexical-binding and avoid cl.
2017-12-26 16:08:21 -05:00
Eli Zaretskii
2ebc8dc3b6 Fix curved quotes in printed manual
* doc/emacs/text.texi (Quotation Marks): Fix curved quote
characters in the printed version of the manual.
2017-12-26 22:43:32 +02:00