]> git.eshelyaron.com Git - emacs.git/log
emacs.git
6 years agoUse fcntl.h in kqueue.c
Jeremie Courreges-Anglas [Mon, 15 Jan 2018 08:12:44 +0000 (09:12 +0100)]
Use fcntl.h in kqueue.c

* src/kqueue.c: Use fcntl.h (specified by POSIX) instead of
non-standard sys/file.h to access O_* open(2) flags.

6 years agoAdd battery support to all Cygwin builds
Ken Brown [Fri, 12 Jan 2018 13:51:16 +0000 (08:51 -0500)]
Add battery support to all Cygwin builds

It already exists in the Cygwin-w32 build.
* src/w32fns.c (Fw32_battery_status): Move to...
* src/w32cygwinx: New file, to be used for functions common to
the MS Windows and Cygwin builds.
(syms_of_w32cygwinx): New function.
* src/lisp.h: Add prototype of syms_of_w32cygwinx.
* src/emacs.c (main) [HAVE_NTGUI or CYGWIN]: Call syms_of_w32cygwinx.
* src/Makefile.in (SOME_MACHINE_OBJECTS):
* configure.ac (W32_OBJ) [HAVE_W32]: Add w32cygwinx.o.
(W32_LIBS) [CYGWIN]: Set equal to "-lkernel32" in non-w32 build.
(W32_OBJ) [CYGWIN]: Set equal to "w32cygwinx.o" in non-w32 build.
* etc/NEWS: Document the new battery support.

6 years agoFix Bug#29149 in dired-aux.el
Shuguang Sun [Sat, 13 Jan 2018 16:52:04 +0000 (17:52 +0100)]
Fix Bug#29149 in dired-aux.el

* lisp/dired-aux.el (dired-shell-stuff-it): Handle remote
commands on w32 properly.  (Bug#29149)

6 years agoFix Bug#29149 in shell.el
Michael Albinus [Sat, 13 Jan 2018 16:48:10 +0000 (17:48 +0100)]
Fix Bug#29149 in shell.el

* lisp/shell.el (shell): Change order of `file-local-name' and
`expand-file-name' calls.  Otherwise, the local file name
would be extended by a drive letter, even when it is a remote
file, seen from w32.  (Bug#29149)

6 years agoImprove Tramp robustness
Michael Albinus [Sat, 13 Jan 2018 11:07:28 +0000 (12:07 +0100)]
Improve Tramp robustness

* lisp/net/tramp.el (tramp-message, tramp-process-actions)
(tramp-read-passwd, tramp-interrupt-process):
* lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch)
(tramp-gvfs-maybe-open-connection):
* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
(tramp-process-sentinel)
(tramp-sh-handle-file-notify-add-watch)
(tramp-barf-if-no-shell-prompt, tramp-maybe-open-connection)
* lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
(tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
(tramp-smb-maybe-open-connection): Use process property rather
than connection property "vector".

* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
Fix scoping error.  Let error traces use process buffer.

* lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
Move "inotifywait" up.  GVFS based monitoring is not stable.
Let error traces use process buffer.
(tramp-sh-gvfs-monitor-dir-process-filter): Check more error
messages.
(tramp-get-remote-gvfs-monitor-dir): Search also for "gio".

* lisp/net/tramp.el (tramp-get-debug-buffer):
Use `special-mode-map' as parent map in debug buffer.
(tramp-message): Ensure, that proper process buffer is dumped
in error case.

6 years ago; * etc/NEWS: Fix entry about 'electric-quote-replace-double'.
Eli Zaretskii [Sat, 13 Jan 2018 08:58:36 +0000 (10:58 +0200)]
; * etc/NEWS: Fix entry about 'electric-quote-replace-double'.

6 years ago* src/keyboard.c: Consolidate code into make_lispy_event
Stefan Monnier [Sat, 13 Jan 2018 04:37:06 +0000 (23:37 -0500)]
* src/keyboard.c: Consolidate code into make_lispy_event

(clear_event): Change arg type.  Adjust callers.
(kbd_buffer_get_event): Move most special event handling to
make_lispy_event.
(make_lispy_event): Add missing cases, taken from kbd_buffer_get_event.
<SAVE_SESSION_EVENT>: Change return value to match what used to be built
in kbd_buffer_get_event.

6 years ago* src/keyboard.c (kbd_buffer_get_event): Use 'switch' ...
Stefan Monnier [Fri, 12 Jan 2018 03:20:05 +0000 (22:20 -0500)]
* src/keyboard.c (kbd_buffer_get_event): Use 'switch' ...

...rather than a sequence of else-if.

6 years agoMake Fzlib_decompress_region always call the change hooks in a balanced way.
Alan Mackenzie [Fri, 12 Jan 2018 16:31:35 +0000 (16:31 +0000)]
Make Fzlib_decompress_region always call the change hooks in a balanced way.

This means there will be exactly one call of each of before- and
after-change-functions, regardless of whether or not the decompression
succeeds, and these calls will refer to corresponding buffer regions.

src/decompress.c (struct decompress_unwind_data): add a new field, orig.
(unwind_decompress): Use del_range_2 and update_compositions in place of
del_range, to avoid unwanted change hook calls.  Call signal_after_change for
the failed case.
(Fzlib_decompress_region): Call modify_txt for a before-change-functions.  Set
the new field orig of unwind_data to the region's start.  Use del_range_2 and
update_compositions in place of del_range to avoid unwanted change hook
calls.  Call signal_after_change for the successful case.

6 years ago* lisp/frame.el (toggle-frame-maximized/fullscreen): Add frame arg.
Juri Linkov [Thu, 11 Jan 2018 22:14:35 +0000 (00:14 +0200)]
* lisp/frame.el (toggle-frame-maximized/fullscreen): Add frame arg.

(Bug#29986)

6 years ago* lisp/windmove.el (windmove-default-keybindings): Allow list of modifiers.
Juri Linkov [Thu, 11 Jan 2018 22:10:39 +0000 (00:10 +0200)]
* lisp/windmove.el (windmove-default-keybindings): Allow list of modifiers.

(Bug#29985)

6 years agoUnbreak the Cygwin-w32 build
Ken Brown [Thu, 11 Jan 2018 16:40:37 +0000 (11:40 -0500)]
Unbreak the Cygwin-w32 build

* src/keyboard.c (input_polling_used) [CYGWIN]: Restore.  This was
removed on Cygwin in the commit "On non-MS-Windows, omit unnecessary
polling functions".  But it is used in w32fns.c:x_make_frame_visible
in the Cygwin-w32 build.

6 years ago* lisp/mail/smtpmail.el: Use lexical-binding and cl-generic
Stefan Monnier [Thu, 11 Jan 2018 16:56:43 +0000 (11:56 -0500)]
* 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'.

6 years ago* lisp/org/org-element.el: Add comment about use of internal functions
Stefan Monnier [Thu, 11 Jan 2018 16:33:03 +0000 (11:33 -0500)]
* lisp/org/org-element.el: Add comment about use of internal functions

6 years agoRemove some more face aliases obsolete since 22.1
Glenn Morris [Wed, 10 Jan 2018 20:47:33 +0000 (15:47 -0500)]
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.

6 years agoRemove message.el face aliases obsolete since 22.1
Glenn Morris [Wed, 10 Jan 2018 20:45:55 +0000 (15:45 -0500)]
Remove message.el face aliases obsolete since 22.1

* lisp/gnus/message.el: Remove face "-face" aliases,
obsolete since 22.1.

6 years agoRemove Gnus face aliases obsolete since 22.1
Glenn Morris [Wed, 10 Jan 2018 20:39:06 +0000 (15:39 -0500)]
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.

6 years ago; lisp/progmodes/cc-cmds.el: Comment.
Glenn Morris [Wed, 10 Jan 2018 18:48:20 +0000 (13:48 -0500)]
; lisp/progmodes/cc-cmds.el: Comment.

6 years agoRemove obsolete variable sun-raw-prefix-hooks
Glenn Morris [Wed, 10 Jan 2018 18:47:42 +0000 (13:47 -0500)]
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.

6 years ago* lisp/calendar/appt.el: Use lexical-binding
Stefan Monnier [Wed, 10 Jan 2018 16:45:33 +0000 (11:45 -0500)]
* 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'.

6 years ago* lisp/calendar/diary-lib.el: Fix bug#30051
Stefan Monnier [Wed, 10 Jan 2018 16:40:21 +0000 (11:40 -0500)]
* 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.

6 years agoRemove some obsolete calendar functions and variables
Glenn Morris [Wed, 10 Jan 2018 07:01:24 +0000 (23:01 -0800)]
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.

6 years agoRemove some obsolete compat code in supercite.el
Glenn Morris [Wed, 10 Jan 2018 06:58:08 +0000 (22:58 -0800)]
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.

6 years agoRemove some obsolete compat code in f90.el
Glenn Morris [Wed, 10 Jan 2018 06:56:31 +0000 (22:56 -0800)]
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.

6 years agoRemove some obsolete compat code in fortran.el
Glenn Morris [Wed, 10 Jan 2018 06:54:46 +0000 (22:54 -0800)]
Remove some obsolete compat code in fortran.el

* lisp/progmodes/fortran.el (fortran-abbrev-start):
Remove obsolete compat code.  This file uses modern features.

6 years agoMerge from origin/emacs-26
Paul Eggert [Tue, 9 Jan 2018 23:29:25 +0000 (15:29 -0800)]
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

6 years ago; Merge from origin/emacs-26
Paul Eggert [Tue, 9 Jan 2018 23:29:25 +0000 (15:29 -0800)]
; Merge from origin/emacs-26

The following commit was skipped:

c967ba1861 Fix description of 'struct' generic function specializer B...

6 years agoMerge from origin/emacs-26
Paul Eggert [Tue, 9 Jan 2018 23:29:25 +0000 (15:29 -0800)]
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

6 years ago; Merge from origin/emacs-26
Paul Eggert [Tue, 9 Jan 2018 23:29:20 +0000 (15:29 -0800)]
; Merge from origin/emacs-26

The following commit was skipped:

30d6c31301 ; Auto-commit of loaddefs files.

6 years agoMerge from Gnulib
Paul Eggert [Tue, 9 Jan 2018 23:21:44 +0000 (15:21 -0800)]
Merge from Gnulib

This incorporates:
2018-01-05 maint: Add encoding marker for Emacs to non-ASCII sources
2018-01-04 update-copyright: Handle use of ©
2018-01-04 pthread_sigmask: Avoid compilation error on mingw
2018-01-02 stat-time: silence -Wunused-parameter regression
* build-aux/config.guess, build-aux/config.sub:
* build-aux/update-copyright, doc/misc/texinfo.tex, lib/gnulib.mk.in:
* lib/md5.c, lib/md5.h, lib/sha1.c, lib/sha1.h, lib/sha256.c:
* lib/sha256.h, lib/sha512.c, lib/sha512.h, lib/signal.in.h:
* lib/stat-time.h: Copy from Gnulib, or regenerate.

6 years ago* lisp/epg.el (epg-start-sign): Replace obsolete functions.
Glenn Morris [Tue, 9 Jan 2018 20:10:43 +0000 (15:10 -0500)]
* lisp/epg.el (epg-start-sign): Replace obsolete functions.

6 years agoSmall fix for erc-logging-enabled
Glenn Morris [Tue, 9 Jan 2018 19:48:29 +0000 (14:48 -0500)]
Small fix for erc-logging-enabled

* lisp/erc/erc-log.el (erc-logging-enabled):
Respect buffer-locality of erc-enable-logging variable.

6 years agoQuieten semantic normal usage
Glenn Morris [Tue, 9 Jan 2018 18:54:11 +0000 (13:54 -0500)]
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)

6 years agoFix Bug#30038
Michael Albinus [Tue, 9 Jan 2018 08:46:28 +0000 (09:46 +0100)]
Fix Bug#30038

* lisp/net/tramp.el (tramp-make-tramp-file-name): Check, that
method is not empty.  (Bug#30038)

6 years agoAvoid irrelevant hyperlink in doc string of 'epa-pinentry-mode'
Eli Zaretskii [Mon, 8 Jan 2018 21:26:11 +0000 (23:26 +0200)]
Avoid irrelevant hyperlink in doc string of 'epa-pinentry-mode'

* lisp/epa.el (epa-pinentry-mode): Doc fix.  (Bug#30025)

6 years ago* doc/misc/tramp.texi (Remote processes): Mention gdb restrictions with I/O.
Michael Albinus [Mon, 8 Jan 2018 15:43:46 +0000 (16:43 +0100)]
* doc/misc/tramp.texi (Remote processes): Mention gdb restrictions with I/O.

6 years agocl-loop: Add missing guard condition
Tino Calancha [Mon, 8 Jan 2018 10:11:20 +0000 (19:11 +0900)]
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.

6 years agoQuery background for gnome terminal version 3.22 (Bug#29716)
Noam Postavsky [Fri, 15 Dec 2017 02:42:56 +0000 (21:42 -0500)]
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.

6 years agoAdd macOS character-palette (bug#29837)
Alan Third [Sun, 24 Dec 2017 15:40:03 +0000 (15:40 +0000)]
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.

6 years agoFix build issues on macOS (bug#29931)
Alan Third [Mon, 1 Jan 2018 15:44:24 +0000 (15:44 +0000)]
Fix build issues on macOS (bug#29931)

* configure.ac: On darwin add check for Homebrew texinfo install, and
fix incorrect quoting of libxml2 includes.

6 years agoAllow inserting non-BMP characters
Philipp Stephani [Mon, 25 Dec 2017 21:00:00 +0000 (22:00 +0100)]
Allow inserting non-BMP characters

* src/coding.h (UTF_16_HIGH_SURROGATE_P, UTF_16_LOW_SURROGATE_P): Move
from coding.c and document.
(surrogates_to_codepoint): New function.

* src/nsterm.m (insertText:): Properly handle surrogate pairs.

6 years agoMake tramp-tests.el more robust on w32
Michael Albinus [Sun, 7 Jan 2018 17:50:06 +0000 (18:50 +0100)]
Make tramp-tests.el more robust on w32

* test/lisp/net/tramp-tests.el (tramp-test21-file-links):
Do not call `make-symbolic-link' on w32.
(tramp-test36-find-backup-file-name): Call also
`convert-standard-filename' due to w32.
(tramp--test-windows-nt): New defun.
(tramp-test42-auto-load, tramp-test42-delay-load)
(tramp-test42-recursive-load, tramp-test42-remote-load-path):
Quote command due to w32.

6 years ago; Adapt a unit test to a recent change
Philipp Stephani [Sun, 7 Jan 2018 15:47:17 +0000 (16:47 +0100)]
; Adapt a unit test to a recent change

* test/lisp/emacs-lisp/bytecomp-tests.el
(bytecomp-tests--old-style-backquotes): Fix expected error message.

6 years agoRemove incorrect use of AUTO_STRING
Philipp Stephani [Sun, 7 Jan 2018 15:44:45 +0000 (16:44 +0100)]
Remove incorrect use of AUTO_STRING

* src/lread.c (load_error_old_style_backquotes): Remove incorrect use
of AUTO_STRING.

6 years agocl-loop: Calculate the array length just once
Tino Calancha [Sun, 7 Jan 2018 15:33:13 +0000 (00:33 +0900)]
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).

6 years agoImprove error message for old-style backquotes
Philipp Stephani [Fri, 29 Dec 2017 20:58:07 +0000 (21:58 +0100)]
Improve error message for old-style backquotes

* src/lread.c (load_error_old_style_backquotes): Improve error message
if no file is being loaded.

* test/src/lread-tests.el (lread-tests--force-new-style-backquotes):
Adapt test.

6 years agoAdd new variable to force new-style backquote interpretation.
Philipp Stephani [Fri, 29 Dec 2017 20:50:55 +0000 (21:50 +0100)]
Add new variable to force new-style backquote interpretation.

* src/lread.c (syms_of_lread): Add new variable
'force-new-style-backquotes'.
(read_internal_start): Use it.

* test/src/lread-tests.el (lread-tests--force-new-style-backquotes):
New test.

* etc/NEWS: Document new variable.

6 years agoRevert "Prevent name clashes between CL structures and builtin types"
Philipp Stephani [Sun, 7 Jan 2018 13:14:38 +0000 (14:14 +0100)]
Revert "Prevent name clashes between CL structures and builtin types"

This reverts commit 151496a4b96430924bc148f85b9c8471d1e132b1.
That commit breaks bootstrap builds due to a cyclic dependency.

6 years agoIgnore escape characters for context-sensitive quotes (Bug#29812)
Philipp Stephani [Sun, 31 Dec 2017 16:43:43 +0000 (17:43 +0100)]
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.

6 years agoFix a small bug in electric quoting.
Philipp Stephani [Sun, 31 Dec 2017 17:05:03 +0000 (18:05 +0100)]
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.

6 years agoPrevent name clashes between CL structures and builtin types
Philipp Stephani [Thu, 21 Dec 2017 17:25:49 +0000 (18:25 +0100)]
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.

6 years ago* fns.c (base64-decode-region): Add signal_after_change call for insertion.
Alan Mackenzie [Sun, 7 Jan 2018 11:16:52 +0000 (11:16 +0000)]
* fns.c (base64-decode-region): Add signal_after_change call for insertion.

6 years agoMake pixel-wise scrolling less laggy
Tak Kunihiro [Sun, 7 Jan 2018 07:17:09 +0000 (09:17 +0200)]
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)

6 years agoRevert "Fix command repetition with lexical-binding (Bug#29334)"
Noam Postavsky [Sun, 7 Jan 2018 02:16:33 +0000 (21:16 -0500)]
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.

6 years agoFix child frame placement issues (bug#29953)
Alan Third [Wed, 3 Jan 2018 13:45:03 +0000 (13:45 +0000)]
Fix child frame placement issues (bug#29953)

* src/nsterm.h (NS_PARENT_WINDOW_LEFT_POS):
(NS_PARENT_WINDOW_TOP_POS): Get the parent frame through the frame
struct as invisible child windows are detached from their parents in
NS.
* src/nsterm.m (x_set_offset): Offscreen frames have `nil' screen
value, so handle that gracefully.  Child frames with negative left and
top should be positioned relative to the bottom right of the parent
frame.

6 years agoAllow setting tooltip colors in NS port
Alan Third [Sat, 23 Dec 2017 11:00:35 +0000 (11:00 +0000)]
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.

6 years agoMake transpose-regions invoke before-change-functions only once.
Alan Mackenzie [Sat, 6 Jan 2018 20:15:04 +0000 (20:15 +0000)]
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.

6 years ago; * doc/lispref/text.texi (Change Hooks): Fix last change.
Eli Zaretskii [Sat, 6 Jan 2018 19:43:04 +0000 (21:43 +0200)]
; * doc/lispref/text.texi (Change Hooks): Fix last change.

6 years agoDescribe the precise interaction of complex primitives with the change hooks
Alan Mackenzie [Sat, 6 Jan 2018 18:55:08 +0000 (18:55 +0000)]
Describe the precise interaction of complex primitives with the change hooks

* doc/lispref/text.texi (Change Hooks): Document that most buffer changing
primitives call before- and after-change-functions in balanced pairs, but that
some complex primitives call b-c-f once, and a-c-f zero, one, or several
times.

6 years agoMinor tramp-gvfs.el cleanup
Michael Albinus [Sat, 6 Jan 2018 18:36:22 +0000 (19:36 +0100)]
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.

6 years agoFix valgrind report in call-interactively
Eli Zaretskii [Sat, 6 Jan 2018 16:23:52 +0000 (18:23 +0200)]
Fix valgrind report in call-interactively

* src/callint.c (Fcall_interactively): Don't try to access more
bytes than are available in the interactive spec.  (Bug#30004)

6 years ago* src/editfns.c (Fsave_excursion): Doc fix. (Bug#30001)
Eli Zaretskii [Sat, 6 Jan 2018 15:14:41 +0000 (17:14 +0200)]
* src/editfns.c (Fsave_excursion): Doc fix.  (Bug#30001)

6 years agoFix mark-defun when there's no spaces between successive defuns.
Alan Mackenzie [Sat, 6 Jan 2018 11:48:32 +0000 (11:48 +0000)]
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.

6 years agoFix Dired display and operations on file names with raw bytes
Eli Zaretskii [Sat, 6 Jan 2018 08:56:21 +0000 (10:56 +0200)]
Fix Dired display and operations on file names with raw bytes

* src/coding.c (decode_coding): When flushing remaining raw bytes
from multibyte text, copy 2-byte forms of eight-bit-*
characters as single characters, not as 2 raw bytes.  (Bug#29189)

6 years ago; Comments related to src/termcap.c
Glenn Morris [Sat, 6 Jan 2018 02:50:31 +0000 (18:50 -0800)]
; Comments related to src/termcap.c

6 years agoAdd new Tramp connection method "owncloud"
Michael Albinus [Fri, 5 Jan 2018 20:04:39 +0000 (21:04 +0100)]
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.

6 years agoImprove documentation of 'gdb-many-windows'
Eli Zaretskii [Fri, 5 Jan 2018 15:05:42 +0000 (17:05 +0200)]
Improve documentation of 'gdb-many-windows'

* doc/emacs/building.texi (GDB User Interface Layout): Add advice
for using a separate frame for 'gdb-many-windows'.

6 years agoMake eshell history expansion more like bash (Bug#29821)
Jay Kamat [Fri, 22 Dec 2017 23:34:44 +0000 (15:34 -0800)]
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.

6 years agoFix failures in smerge-mode on MS-Windows
Eli Zaretskii [Fri, 5 Jan 2018 09:22:27 +0000 (11:22 +0200)]
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)

6 years agoFix description of 'struct' generic function specializer
Stephen Leake [Tue, 2 Jan 2018 13:28:06 +0000 (07:28 -0600)]
Fix description of 'struct' generic function specializer
Backport:

* doc/lispref/functions.texi (Generic Functions): Fix description of
'struct' specializer; it must be the named struct or a child, not a
parent.

(cherry picked from commit b6add8c7cfc6d36f9dd8ad99be06bd8ab41cc6f8)

6 years ago* etc/DEBUG (Getting control to the debugger): Fix grammar.
Charles A. Roelli [Thu, 4 Jan 2018 20:27:26 +0000 (21:27 +0100)]
* etc/DEBUG (Getting control to the debugger): Fix grammar.

6 years agoImprove backward compatibility in tramp-archive
Michael Albinus [Thu, 4 Jan 2018 11:58:42 +0000 (12:58 +0100)]
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'.

6 years agoWrite proper `write-region' message in Tramp backends
Michael Albinus [Thu, 4 Jan 2018 11:48:07 +0000 (12:48 +0100)]
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.

6 years agoFix command repetition with lexical-binding (Bug#29334)
Noam Postavsky [Fri, 24 Nov 2017 02:57:09 +0000 (21:57 -0500)]
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.

6 years ago* lisp/vc/vc.el (vc-region-history): log-view-vc-fileset holds a list!
Stefan Monnier [Wed, 3 Jan 2018 20:33:08 +0000 (15:33 -0500)]
* lisp/vc/vc.el (vc-region-history): log-view-vc-fileset holds a list!

6 years agoFix .gdbinit to work with Lisp_Word
Paul Eggert [Wed, 3 Jan 2018 06:38:01 +0000 (22:38 -0800)]
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.

6 years agoDon't bind dframe events on load (Bug#29599)
Noam Postavsky [Tue, 19 Dec 2017 01:30:10 +0000 (20:30 -0500)]
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.

6 years ago* lisp/textmodes/picture.el (picture-mode-exit): Doc fix. (Bug#29949)
Eli Zaretskii [Tue, 2 Jan 2018 19:34:58 +0000 (21:34 +0200)]
* lisp/textmodes/picture.el (picture-mode-exit): Doc fix.  (Bug#29949)

6 years ago* lisp/textmodes/picture.el (picture-open-line): Doc fix. (Bug#29948)
Eli Zaretskii [Tue, 2 Jan 2018 19:24:34 +0000 (21:24 +0200)]
* lisp/textmodes/picture.el (picture-open-line): Doc fix.  (Bug#29948)

6 years agoFix description of 'struct' generic function specializer
Stephen Leake [Tue, 2 Jan 2018 13:28:06 +0000 (07:28 -0600)]
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.

6 years agoRemove superfluous test data for Tramp
Michael Albinus [Tue, 2 Jan 2018 10:25:21 +0000 (11:25 +0100)]
Remove superfluous test data for Tramp

6 years agoFix description of 'emacs-internal'
Eli Zaretskii [Mon, 1 Jan 2018 16:36:28 +0000 (18:36 +0200)]
Fix description of 'emacs-internal'

* doc/lispref/nonascii.texi (Coding System Basics): Correct
inaccuracy in description of 'emacs-internal'.  (Bug#29916)

6 years agoUpdate PROBLEMS with selection-related issues
Eli Zaretskii [Mon, 1 Jan 2018 16:28:53 +0000 (18:28 +0200)]
Update PROBLEMS with selection-related issues

* etc/PROBLEMS: Update the entry about large selections and
klipper.  (Bug#29661)

6 years agoNew customization variable for python-mode indentation (Bug#28475)
Ross Donaldson [Mon, 25 Dec 2017 20:51:19 +0000 (12:51 -0800)]
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

6 years agoFix menu keyboard shortcuts on macOS (Bug#29595)
Alan Third [Fri, 22 Dec 2017 12:27:05 +0000 (12:27 +0000)]
Fix menu keyboard shortcuts on macOS (Bug#29595)

* src/nsmenu.m (addItemWithWidgetValue)[NS_IMPL_COCOA]: It looks like
macOS 10.13 no longer ignores long modifier strings, so explicitly use
an empty string.

6 years ago; Auto-commit of loaddefs files.
Glenn Morris [Mon, 1 Jan 2018 12:29:05 +0000 (07:29 -0500)]
; Auto-commit of loaddefs files.

6 years ago; Auto-commit of loaddefs files.
Glenn Morris [Mon, 1 Jan 2018 11:34:11 +0000 (06:34 -0500)]
; Auto-commit of loaddefs files.

6 years ago* etc/NEWS: Improve -fcheck-pointer-bounds wording.
Paul Eggert [Mon, 1 Jan 2018 09:44:58 +0000 (01:44 -0800)]
* etc/NEWS: Improve -fcheck-pointer-bounds wording.

6 years agoMerge from gnulib, mostly to fix copyright years
Paul Eggert [Mon, 1 Jan 2018 09:24:45 +0000 (01:24 -0800)]
Merge from gnulib, mostly to fix copyright years

6 years agoUpdate copyright year to 2018
Paul Eggert [Mon, 1 Jan 2018 09:15:39 +0000 (01:15 -0800)]
Update copyright year to 2018

Run admin/update-copyright.

6 years agoMerge from origin/emacs-26
Paul Eggert [Mon, 1 Jan 2018 09:13:04 +0000 (01:13 -0800)]
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

6 years agoFix copyright years by hand
Paul Eggert [Mon, 1 Jan 2018 09:02:09 +0000 (01:02 -0800)]
Fix copyright years by hand

These are dates that admin/update-copyright did not update, or
updated incorrectly.

6 years agoUpdate copyright year to 2018
Paul Eggert [Mon, 1 Jan 2018 08:21:42 +0000 (00:21 -0800)]
Update copyright year to 2018

Run admin/update-copyright.

6 years agoMerge from Gnulib
Paul Eggert [Mon, 1 Jan 2018 01:19:57 +0000 (01:19 +0000)]
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

6 years agoDon't add empty keyboard macro to macro ring (Bug#24992)
Gemini Lasswell [Mon, 18 Dec 2017 18:08:59 +0000 (10:08 -0800)]
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.

6 years agoAllow customization of decoding of "man" command
Eli Zaretskii [Sun, 31 Dec 2017 16:20:12 +0000 (18:20 +0200)]
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)

6 years ago* etc/NEWS: Add security consideration note on passphrase input
Daiki Ueno [Sun, 31 Dec 2017 04:37:17 +0000 (05:37 +0100)]
* etc/NEWS: Add security consideration note on passphrase input

6 years agoImprove error reporting when serializing non-Unicode strings to JSON
Philipp Stephani [Sat, 23 Dec 2017 16:56:36 +0000 (17:56 +0100)]
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.

6 years agoFix regex stack overflow in gdb-mi.el when parsing complex locals
David McFarland [Sat, 30 Dec 2017 11:14:32 +0000 (13:14 +0200)]
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

6 years agoFix output alignment in 'find-dired' for "ls -h"
Sebastian Reuße [Sat, 30 Dec 2017 10:41:23 +0000 (12:41 +0200)]
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