]> git.eshelyaron.com Git - emacs.git/log
emacs.git
6 years agoNew commands to create an empty file
Tino Calancha [Thu, 2 Aug 2018 04:20:46 +0000 (13:20 +0900)]
New commands to create an empty file

Similarly as `create-directory', `dired-create-directory',
the new commands create the parent dirs as needed (Bug#24150).
* lisp/files.el (make-empty-file): New command.

* lisp/dired-aux.el (dired-create-empty-file): New command.
(dired--find-topmost-parent-dir): New function extracted
from `dired-create-directory'.
(dired-create-directory, dired-create-empty-file): Use it.

* lisp/dired.el (dired-mode-map):
Add menu entry for `dired-create-empty-file'.

* doc/emacs/dired.texi (Misc Dired Features)
* doc/lispref/files.texi (Create/Delete Dirs): Update manual.
; * etc/NEWS: Announce the changes.

6 years agoSubstitute a <ieee754.h> on hosts lacking it
Paul Eggert [Thu, 2 Aug 2018 01:53:31 +0000 (18:53 -0700)]
Substitute a <ieee754.h> on hosts lacking it

* .gitignore: Add lib/ieee754.h.
* admin/merge-gnulib (GNULIB_MODULES): Add ieee754-h.
* configure.ac: Remove ieee754.h check, as Gnulib now does that.
* etc/NEWS: Mention this.
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
* lib/ieee754.in.h, m4/ieee754-h.m4: New files, from Gnulib.
* src/lisp.h (IEEE_FLOATING_POINT): Now a macro so that it
can be used in #if.
* src/lread.c, src/print.c: Include <ieee754.h> if
IEEE_FLOATING_POINT, not if HAVE_IEEE754_H.
* src/lread.c (string_to_number):
* src/print.c (float_to_string):
Process NaNs only on IEEE hosts, and assume <ieee754.h>
in that case.

6 years agoFix Bug#32325
Michael Albinus [Wed, 1 Aug 2018 21:09:31 +0000 (23:09 +0200)]
Fix Bug#32325

* lisp/net/tramp-sh.el (tramp-sh-handle-make-directory): In case
of PARENTS flush also upper directories caches.  (Bug#32325)

6 years agoFix Edebug spec for cl-macrolet (bug#29919)
Gemini Lasswell [Sat, 21 Jul 2018 04:54:00 +0000 (21:54 -0700)]
Fix Edebug spec for cl-macrolet (bug#29919)

Add an Edebug matching function for cl-macrolet which keeps track of
its bindings and treats them as macros without Edebug specs when found
in the body of the expression.
* lisp/emacs-lisp/edebug.el (edebug--cl-macrolet-defs): New variable.
(edebug-list-form-args): Use it.
(edebug--current-cl-macrolet-defs): New variable.
(edebug-match-cl-macrolet-expr, edebug-match-cl-macrolet-name)
(edebug-match-cl-macrolet-body): New functions.
* lisp/emacs-lisp/cl-macs.el (cl-macrolet): Use cl-macrolet-expr
for Edebug spec.
* test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-cl-macrolet):
New test.
* test/lisp/emacs-lisp/edebug-resources/edebug-test-code.el
(edebug-test-code-use-cl-macrolet): New function.

6 years agoFix todo-mode commands called on done items separator
Stephen Berman [Wed, 1 Aug 2018 12:42:57 +0000 (14:42 +0200)]
Fix todo-mode commands called on done items separator

The done items separator is not reachable by todo-mode navigation
commands, but it is e.g. by C-n and C-p.  Ensure that invoking
todo-mode commands with point on the separator does not result in
unexpected results, errors or file corruption (bug#32343).

* lisp/calendar/todo-mode.el (todo-insert-item--basic): Make
copying item and inserting item "here" noops when invoked on done
items separator.  Consolidate error handling of these cases.  Also
restrict "here" insertion to valid positions in the current
category, since this is simpler than the previous behavior of
inserting as the first item, which was moreover undocumented,
counterintuitive and superfluous.
(todo-set-item-priority, todo-move-item, todo-item-done)
(todo-item-start, todo-item-end): Make noops when invoked on done
items separator.

* test/lisp/calendar/todo-mode-tests.el: Require ert-x.
(todo-test--insert-item): Add formal parameters of
todo-insert-item--basic.
(todo-test--done-items-separator): New function.
(todo-test-done-items-separator01-bol)
(todo-test-done-items-separator01-eol)
(todo-test-done-items-separator02-bol)
(todo-test-done-items-separator02-eol)
(todo-test-done-items-separator03-bol)
(todo-test-done-items-separator03-eol)
(todo-test-done-items-separator04-bol)
(todo-test-done-items-separator04-eol)
(todo-test-done-items-separator05-bol)
(todo-test-done-items-separator05-eol)
(todo-test-done-items-separator06-bol)
(todo-test-done-items-separator06-eol)
(todo-test-done-items-separator07): New tests.

6 years ago; Auto-commit of loaddefs files.
Glenn Morris [Wed, 1 Aug 2018 11:33:38 +0000 (07:33 -0400)]
; Auto-commit of loaddefs files.

6 years agoRead and print NaN significand if <ieee754.h>
Paul Eggert [Wed, 1 Aug 2018 07:49:39 +0000 (00:49 -0700)]
Read and print NaN significand if <ieee754.h>

* configure.ac: Check for ieee754.h.
* doc/lispref/numbers.texi (Float Basics): Document
that NaN string representation digits are machine-dependent.
* etc/NEWS: Mention the change.
* src/lread.c, src/print.c [HAVE_IEEE754_H]: Include ieee754.h.
* src/lread.c (string_to_number) [HAVE_IEEE754_H]:
* src/print.c (float_to_string) [HAVE_IEEE754_H]:
Read and print NaN significand.

6 years agoSimplify by assuming C99 math.h isnan etc.
Paul Eggert [Wed, 1 Aug 2018 06:46:57 +0000 (23:46 -0700)]
Simplify by assuming C99 math.h isnan etc.

These should be portable nowadays.
* src/data.c (isnan): Remove.
* src/floatfns.c (isfinite, isnan): Remove.
* src/print.c: Include math.h, for isinf and isnan.
(float_to_string): Simplify by using them.

6 years agoMerge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Stephen Gildea [Wed, 1 Aug 2018 05:34:35 +0000 (22:34 -0700)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs

6 years agoReset mh-blacklist and mh-whitelist on folder undo
Stephen Gildea [Wed, 1 Aug 2018 05:29:47 +0000 (22:29 -0700)]
Reset mh-blacklist and mh-whitelist on folder undo

* mh-funcs.el (mh-undo-folder): Set mh-blacklist and mh-whitelist
to nil, as is done with the other lists of pending operations.

6 years agoFix Bug#32304
Michael Albinus [Tue, 31 Jul 2018 04:50:30 +0000 (06:50 +0200)]
Fix Bug#32304

* lisp/net/tramp.el (tramp-handle-substitute-in-file-name):
Handle special cas on Cygwin and MS-Windows.  (Bug#32304)

6 years ago; Instrumentation for shadowfile.el
Michael Albinus [Mon, 30 Jul 2018 09:11:32 +0000 (11:11 +0200)]
; Instrumentation for shadowfile.el

6 years ago* lisp/term.el (term-read-noecho): Mark obsolete.
Noam Postavsky [Mon, 30 Jul 2018 01:10:31 +0000 (21:10 -0400)]
* lisp/term.el (term-read-noecho): Mark obsolete.

6 years ago; * src/json.c: Fix typo in license statement
Philipp Stephani [Sun, 29 Jul 2018 22:18:27 +0000 (00:18 +0200)]
; * src/json.c: Fix typo in license statement

6 years ago; Instrumentation for shadowfile.el
Michael Albinus [Sun, 29 Jul 2018 21:10:21 +0000 (23:10 +0200)]
; Instrumentation for shadowfile.el

6 years agoAvoid gettimeofday deprecation warnings with MinGW
Eli Zaretskii [Sun, 29 Jul 2018 17:07:09 +0000 (20:07 +0300)]
Avoid gettimeofday deprecation warnings with MinGW

* nt/inc/ms-w32.h (__POSIX_2008_DEPRECATED)
[__MINGW32_VERSION >= 5001000L]: Define to nothing, to avoid
deprecation warnings about gettimeofday with mingw.org's MinGW
runtime 5.1 and later.

6 years agoMerge from origin/emacs-26
Paul Eggert [Sun, 29 Jul 2018 16:47:10 +0000 (09:47 -0700)]
Merge from origin/emacs-26

39d3e8b Fix last change in 'char_width'
67679f0 Add initial tests for wdired.el

6 years ago; Merge from origin/emacs-26
Paul Eggert [Sun, 29 Jul 2018 16:47:10 +0000 (09:47 -0700)]
; Merge from origin/emacs-26

The following commit was skipped:

831a3cb Fix use of non-nil wdired-use-interactive-rename

6 years ago; Instrumentation for shadowfile.el
Michael Albinus [Sun, 29 Jul 2018 16:35:43 +0000 (18:35 +0200)]
; Instrumentation for shadowfile.el

6 years agoFix last change in 'char_width'
Eli Zaretskii [Sun, 29 Jul 2018 14:42:11 +0000 (17:42 +0300)]
Fix last change in 'char_width'

* src/character.c (char_width): Make sure variable C is always
initialized.  (Bug#32276)

6 years agoPrefer ?* to hide passwords
Tino Calancha [Sun, 29 Jul 2018 12:21:40 +0000 (21:21 +0900)]
Prefer ?* to hide passwords

It might be argued that a hidden string is more legible when using
?* as the hidden character instead of ?.
For example, the following strings have the same length:
"......"

"******"

It's slighly easier to visually count the number of characters in the second
string (Bug#32220).

* lisp/subr.el (read-passwd): Prefer ?* as default char instead of ?.
* doc/lispref/minibuf.texi (Reading a Password): Update manual.
; * etc/NEWS (Changes in Emacs 27.1): Announce the change.

6 years agoHandle symlinks in wdired.el when restoring filename property
Stephen Berman [Sun, 29 Jul 2018 11:16:48 +0000 (13:16 +0200)]
Handle symlinks in wdired.el when restoring filename property

* lisp/wdired.el (wdired--restore-dired-filename-prop): If the
file name is a symbolic link, only propertize the link name.  This
prevents wdired-create-parentdirs from turning the link into a
directory.

6 years agoFix bugs in wdired.el involving dired-filename property
Stephen Berman [Sat, 28 Jul 2018 23:14:41 +0000 (01:14 +0200)]
Fix bugs in wdired.el involving dired-filename property

After every change in wdired-mode, put the dired-filename text
property on the file name.  This ensures that changing some but not
all characters in the name succeeds with non-nil
wdired-use-interactive-rename (bug#32173) and it also ensures that
changed names can be found (e.g. by dired-isearch-filenames) while
still in wdired-mode.

* lisp/wdired.el (wdired--restore-dired-filename-prop): New function.
(wdired-change-to-wdired-mode): Add it to after-change-functions.
(wdired-change-to-dired-mode): Remove it from after-change-functions.
(wdired-finish-edit): Move invocation of
wdired-change-to-dired-mode below invocation of wdired-do-renames,
so that the latter runs wdired--restore-dired-filename-prop, but
above the invocation of revert-buffer to avoid using
wdired-revert, which changes back to wdired-mode.
(wdired-search-and-rename): Wrap renaming in unwind-protect and if
user types C-g when prompted to change the file name, make sure we
return to dired-mode.

6 years agoAdd initial tests for wdired.el
Stephen Berman [Sat, 28 Jul 2018 22:22:02 +0000 (00:22 +0200)]
Add initial tests for wdired.el

* test/lisp/wdired-tests.el: New file.

6 years agoFix use of non-nil wdired-use-interactive-rename
Stephen Berman [Sat, 28 Jul 2018 21:58:15 +0000 (23:58 +0200)]
Fix use of non-nil wdired-use-interactive-rename

This is a fairly minimal fix for the release branch; a more
comprehensive fix is on master, so do not merge this to master.

* lisp/wdired.el (wdired-search-and-rename): Remove dired-filename
text property in order to find new filename when it only partially
replaces old filename (bug#32173).  If user quits before renaming
succeeds, restore the dired-filename text property.

6 years ago; Instrumentation for shadowfile.el
Michael Albinus [Sat, 28 Jul 2018 18:06:24 +0000 (20:06 +0200)]
; Instrumentation for shadowfile.el

6 years agoMake 'tis620-2533' character set be an alias for 'thai-iso8859-11'
Eli Zaretskii [Sat, 28 Jul 2018 17:34:57 +0000 (20:34 +0300)]
Make 'tis620-2533' character set be an alias for 'thai-iso8859-11'

* lisp/simple.el (what-cursor-position): Revert ad-hoc change
to work around tis620-2533 charset.
* lisp/w32-fns.el: Use thai-iso8859-11 instead of tis620-2533.
* lisp/international/mule-conf.el (tis620-2533): Now an alias
for thai-iso8859-11, not a separate character set.
* lisp/international/fontset.el (charset-script-alist): Add
thai-iso8859-11; fix entries for greek and hebrew.
(font-encoding-alist, font-encoding-charset-alist): Use
thai-iso8859-11 instead of tis620-2533.
* lisp/descr-text.el (describe-char): Remove the ad-hoc code
that assigns eight-bit-control characters to the eight-bit
charset.

6 years agoMerge from origin/emacs-26
Glenn Morris [Sat, 28 Jul 2018 14:50:36 +0000 (07:50 -0700)]
Merge from origin/emacs-26

bd52f37 (origin/emacs-26) ; Fix last change: only MinGW runtime 5.0.2...
024d20f Fix compilation with mingw.org's MinGW 5.x headers
38b6748 Update the list of special forms in the ELisp manual
8579105 Don't fail to indent-sexp before a full sexp (Bug#31984)
d24c5f2 Fix calls to modifications hooks in replace-buffer-contents
71a9151 * src/character.c (char_width): Support glyphs with faces.  (...
0feb673 Display raw bytes as belonging to 'eight-bit' charset
2e2f00f ; * doc/emacs/mule.texi (International Chars): Fix last change.
00561b5 Fix inaccurate text in the user manual
5cfb7a3 Copyedits in tramp.texi, improved example with bash's readline
6f8f358 Minor Tramp doc update
2585fcb File Shadowing is not available on MS Windows
39da592 ; Minor markup change in indent.texi
2f00ffe ; bookmark-jump: Add comment about last change.

6 years ago; Fix last change: only MinGW runtime 5.0.2 and later needs that.
Eli Zaretskii [Sat, 28 Jul 2018 14:21:53 +0000 (17:21 +0300)]
; Fix last change: only MinGW runtime 5.0.2 and later needs that.

6 years agoFix compilation with mingw.org's MinGW 5.x headers
Eli Zaretskii [Sat, 28 Jul 2018 12:34:00 +0000 (15:34 +0300)]
Fix compilation with mingw.org's MinGW 5.x headers

6 years ago* lisp/vc/diff.el (diff-buffer-with-file): Support indirect buffers.
Phil Sainty [Wed, 18 Jul 2018 07:32:11 +0000 (19:32 +1200)]
* lisp/vc/diff.el (diff-buffer-with-file): Support indirect buffers.

(Bug#32195)

6 years agoFix @include directive in Flymake doc again
João Távora [Sat, 28 Jul 2018 07:40:57 +0000 (08:40 +0100)]
Fix @include directive in Flymake doc again

Problem was reintroduced by commit titled:
"Mention use of C-h . (display-local-help) in Flymake manual"

* doc/misc/flymake.texi: Don't @include a relative path.

6 years agoUpdate the list of special forms in the ELisp manual
Eli Zaretskii [Sat, 28 Jul 2018 07:22:04 +0000 (10:22 +0300)]
Update the list of special forms in the ELisp manual

* doc/lispref/eval.texi (Special Forms):
* doc/lispref/frames.texi (Mouse Tracking): 'track-mouse' is
nowadays a macro.  (Bug#32284)

6 years agoFix problem with 'scroll-bar-adjust-thumb-portion' nil (Bug#32002)
Martin Rudalics [Sat, 28 Jul 2018 07:08:30 +0000 (09:08 +0200)]
Fix problem with 'scroll-bar-adjust-thumb-portion' nil (Bug#32002)

* lisp/scroll-bar.el (scroll-bar-drag-1): Do not scroll window
when its buffer is fully visible and
'scroll-bar-adjust-thumb-portion' is nil (Bug#32002).

6 years agoDon't fail to indent-sexp before a full sexp (Bug#31984)
Noam Postavsky [Fri, 27 Jul 2018 23:41:39 +0000 (19:41 -0400)]
Don't fail to indent-sexp before a full sexp (Bug#31984)

* lisp/emacs-lisp/lisp-mode.el (indent-sexp): Only signal error if the
initial forward-sexp fails.  Suppress scan-error forn any of the
forward-sexp calls after that.
* test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp-cant-go): New
test.

6 years ago; Merge from gnulib.
Paul Eggert [Fri, 27 Jul 2018 21:48:04 +0000 (14:48 -0700)]
; Merge from gnulib.

6 years agoFix file-name-case-insensitive-p on non-existent files
Ken Brown [Fri, 27 Jul 2018 18:24:01 +0000 (14:24 -0400)]
Fix file-name-case-insensitive-p on non-existent files

* src/fileio.c (Ffile_name_case_insensitive_p): If the file
doesn't exist, move up the filesystem tree until an existing
directory is found.  Then test that directory for
case-insensitivity.  (Bug#32246)

6 years ago* lisp/simple.el (event-apply-modifier): Map control+[ to C-[
Stefan Monnier [Fri, 27 Jul 2018 20:45:03 +0000 (16:45 -0400)]
* lisp/simple.el (event-apply-modifier): Map control+[ to C-[

6 years ago; More instrumentation for shadowfile-tests.el
Michael Albinus [Fri, 27 Jul 2018 13:49:31 +0000 (15:49 +0200)]
; More instrumentation for shadowfile-tests.el

6 years agoFix calls to modifications hooks in replace-buffer-contents
Eli Zaretskii [Fri, 27 Jul 2018 10:04:19 +0000 (13:04 +0300)]
Fix calls to modifications hooks in replace-buffer-contents

* src/editfns.c (Freplace_buffer_contents): Call the modification
hooks on the entire region where replacements could have taken
place.  The previous attempts of being more accurate just
introduced bugs.  (Bug#32278)

6 years ago* src/character.c (char_width): Support glyphs with faces. (Bug#32276)
Eli Zaretskii [Fri, 27 Jul 2018 09:33:29 +0000 (12:33 +0300)]
* src/character.c (char_width): Support glyphs with faces.  (Bug#32276)

6 years agoDisplay raw bytes as belonging to 'eight-bit' charset
Eli Zaretskii [Fri, 27 Jul 2018 06:47:37 +0000 (09:47 +0300)]
Display raw bytes as belonging to 'eight-bit' charset

* lisp/descr-text.el (describe-char):
* lisp/simple.el (what-cursor-position): Display characters in the
range #x3FFF80..#x3FFF9F as belonging to charset 'eight-bit', not
'tis620-2533'.
* lisp/international/mule-diag.el (describe-character-set):
Improve description of :supplementary-p.

6 years ago; * doc/emacs/mule.texi (International Chars): Fix last change.
Eli Zaretskii [Fri, 27 Jul 2018 05:54:44 +0000 (08:54 +0300)]
; * doc/emacs/mule.texi (International Chars): Fix last change.

6 years agoCorrectly indent C++ brace lists in member init lists.
Alan Mackenzie [Thu, 26 Jul 2018 19:55:47 +0000 (19:55 +0000)]
Correctly indent C++ brace lists in member init lists.

* lisp/progmodes/cc-engine.el (c-guess-basic-syntax; CASE 9B, CASE 9C): Set a
limit for a backward search to the ":" introducing the member init list, when
there is one, rather than the enclosing "{" or nil.

6 years agoFix inaccurate text in the user manual
Eli Zaretskii [Thu, 26 Jul 2018 18:38:09 +0000 (21:38 +0300)]
Fix inaccurate text in the user manual

* doc/emacs/mule.texi (International Chars): Correct inaccurate
description of raw bytes display by "C-x =".

6 years ago; More instrumentation for shadowfile-tests.el
Michael Albinus [Thu, 26 Jul 2018 14:12:15 +0000 (16:12 +0200)]
; More instrumentation for shadowfile-tests.el

6 years agoCopyedits in tramp.texi, improved example with bash's readline
Michael Albinus [Thu, 26 Jul 2018 09:54:33 +0000 (11:54 +0200)]
Copyedits in tramp.texi, improved example with bash's readline

* doc/misc/tramp.texi (all): Unify some wordings.
(Frequently Asked Questions): Update example with bash's readline.

6 years ago* src/editfns.c (syms_of_editfns): Fix typo in previous change.
Paul Eggert [Thu, 26 Jul 2018 08:14:31 +0000 (01:14 -0700)]
* src/editfns.c (syms_of_editfns): Fix typo in previous change.

6 years ago%o and %x can now format signed integers
Paul Eggert [Thu, 26 Jul 2018 07:34:10 +0000 (00:34 -0700)]
%o and %x can now format signed integers

Optionally treat integers as signed numbers with %o
and %x format specifiers, instead of treating them as
a machine-dependent two’s complement representation.
This option is more machine-independent, allows formats
like "#x%x" to be useful for reading later, and is
better-insulated for future changes involving bignums.
Setting the new variable ‘binary-as-unsigned’ to nil
enables the new behavior (Bug#32252).
This is a simplified version of the change proposed in:
https://lists.gnu.org/r/emacs-devel/2018-07/msg00763.html
I simplified that proposal by omitting bitwidth modifiers, as
I could not find an any example uses in the Emacs source code
that needed them and doing them correctly would have been
quite a bit more work for apparently little benefit.
* doc/lispref/strings.texi (Formatting Strings):
Document that %x and %o format negative integers in a
platform-dependent way.  Also, document how to format
numbers so that the same values can be read back in.
* etc/NEWS: Document the change.
* src/editfns.c (styled_format): Treat integers as signed
numbers even with %o and %x, if binary-as-unsigned is nil.
Support the + and space flags with %o and %x, since they’re
about signs.
(syms_of_editfns): New variable binary-as-unsigned.
* test/src/editfns-tests.el (read-large-integer):
Test that maximal integers can be read after printing
with all integer formats, if binary-as-unsigned is nil.

6 years agoNotify systemd in daemon-initialized and kill-emacs (Bug#31498)
Lucas Werkmeister [Sat, 9 Jun 2018 13:01:08 +0000 (15:01 +0200)]
Notify systemd in daemon-initialized and kill-emacs (Bug#31498)

With --[bg-]daemon and Type=forking, systemd will only consider the
daemon to have fully started up once the original process exits, and
will wait until then to start units depending on the Emacs service.  To
get the same functionality with --fg-daemon, use Type=notify instead of
Type=simple and explicitly send a readiness notification to systemd at
the point where the forked process would in --bg-daemon mode notify its
parent process and cause it to exit.  Similarly, notify systemd at the
beginning of the shutdown process as well.  (Both of these calls are
successful no-ops if emacs was not started by systemd.)
* etc/emacs.service: Update Type.
* src/emacs.c (daemon-initialized) [HAVE_LIBSYSTEMD]:
* src/emacs.c (kill-emacs) [HAVE_LIBSYSTEMD]: Call sd_notify().

6 years ago; More instrumentation for shadowfile-tests.el
Michael Albinus [Wed, 25 Jul 2018 20:04:34 +0000 (22:04 +0200)]
; More instrumentation for shadowfile-tests.el

6 years agoFix docstring of gnus-dependencies-add-header
Eric Abrahamsen [Wed, 25 Jul 2018 19:13:36 +0000 (12:13 -0700)]
Fix docstring of gnus-dependencies-add-header

* lisp/gnus/gnus-sum.el (gnus-dependencies-add-header): Code is
  correct, but docs had logic of `gnus-summary-ignore-duplicates'
  backwards: if it's t, the Message-IDs will not be renamed.

6 years ago; More instrumentation for shadowfile-tests.el
Michael Albinus [Wed, 25 Jul 2018 18:48:10 +0000 (20:48 +0200)]
; More instrumentation for shadowfile-tests.el

6 years agoMinor Tramp doc update
Michael Albinus [Wed, 25 Jul 2018 18:26:22 +0000 (20:26 +0200)]
Minor Tramp doc update

* doc/misc/tramp.texi (Frequently Asked Questions): Disable bash's
INPUTRC.

6 years agoFile Shadowing is not available on MS Windows
Michael Albinus [Wed, 25 Jul 2018 15:34:55 +0000 (17:34 +0200)]
File Shadowing is not available on MS Windows

* doc/emacs/files.texi (File Shadowing): File Shadowing is not
available on MS Windows.

* test/lisp/shadowfile-tests.el (shadow-test00-clusters)
(shadow-test01-sites, shadow-test02-files)
(shadow-test03-expand-cluster-in-file-name)
(shadow-test04-contract-file-name, shadow-test05-file-match)
(shadow-test06-literal-groups, shadow-test07-regexp-groups)
(shadow-test08-shadow-todo, shadow-test09-shadow-copy-files):
Skip under MS Windows.

6 years ago; Minor markup change in indent.texi
Eli Zaretskii [Wed, 25 Jul 2018 14:22:29 +0000 (17:22 +0300)]
; Minor markup change in indent.texi

* doc/emacs/indent.texi (Indentation Commands): Use
@kbd{@key{...}} for better looks.  (Bug#32248)

6 years agoInstrument shadowfile{-tests} for error hunting on hydra.
Michael Albinus [Wed, 25 Jul 2018 11:18:46 +0000 (13:18 +0200)]
Instrument shadowfile{-tests} for error hunting on hydra.

* lisp/shadowfile.el (shadow-make-fullname): Use changed
`tramp-make-tramp-file-name' from Tramp 2.4.

* test/lisp/shadowfile-tests.el (shadow-test08-shadow-todo):
Instrument test.  Suppress errors in cleanup.
(shadow-test09-shadow-copy-files): Suppress errors in cleanup.

6 years ago; bookmark-jump: Add comment about last change.
Noam Postavsky [Tue, 24 Jul 2018 22:45:43 +0000 (18:45 -0400)]
; bookmark-jump: Add comment about last change.

6 years agoMove proper-list-p to C
Paul Eggert [Tue, 24 Jul 2018 22:58:46 +0000 (15:58 -0700)]
Move proper-list-p to C

Since C code can use it and it’s simple, we might as well use C.
* lisp/subr.el (proper-list-p): Move to C code.
* src/eval.c (signal_error): Simplify by using Fproper_list_p.
* src/fns.c (Fproper_list_p): New function, moved here from Lisp.

Simplify signal_error
* src/eval.c (signal_error): Simplify by using FOR_EACH_TAIL_SAFE.

6 years ago* etc/NEWS: Omit bug# when not needed.
Paul Eggert [Tue, 24 Jul 2018 17:01:16 +0000 (10:01 -0700)]
* etc/NEWS: Omit bug# when not needed.

6 years agoMerge from origin/emacs-26
Glenn Morris [Tue, 24 Jul 2018 13:40:58 +0000 (06:40 -0700)]
Merge from origin/emacs-26

f64c277 (origin/emacs-26) Let bookmark-jump override window-point (Bu...
1208aaa Omit keymap from subword-mode docstring (Bug#32212)
2b70b54 Prevent line-mode term from showing user passwords
5de4441 Check for special filenames in eshell (Bug#30724)
1b4b965 Fix indent-sexp of #s(...) (Bug#31984)
59e8533 Add save-match-data to abbreviate-file-name (Bug#32201)
47f75b1 Fix last change in editfns.c
671dc5a Fix calls to buffer modification hooks from replace-buffer-co...
cc4ceed ; etc/NEWS: Remove unnecessary reference to a bug number.
e0f33ea Fix Bug#32226
7308fa0 Improve doc strings of several variables in keyboard.c

6 years agoFix typo in `find-alternate-file'
Michael Albinus [Tue, 24 Jul 2018 08:16:22 +0000 (10:16 +0200)]
Fix typo in `find-alternate-file'

* lisp/files.el (find-alternate-file): Add missing arguments to
`find-file-noselect' call.

6 years agoLet bookmark-jump override window-point (Bug#31751)
Noam Postavsky [Tue, 24 Jul 2018 01:49:00 +0000 (21:49 -0400)]
Let bookmark-jump override window-point (Bug#31751)

* lisp/bookmark.el (bookmark-jump): Use pop-to-buffer-same-window
instead of switch-to-buffer, the latter obeys
switch-to-buffer-preserve-window-point and so loses the bookmark's
point.

6 years ago(format "%#x" 0) yields "0", not "0x0"
Paul Eggert [Mon, 23 Jul 2018 17:23:35 +0000 (10:23 -0700)]
(format "%#x" 0) yields "0", not "0x0"

* doc/lispref/strings.texi (Formatting Strings):
* src/editfns.c (Fformat): Document this.

6 years agoOmit keymap from subword-mode docstring (Bug#32212)
Noam Postavsky [Sun, 22 Jul 2018 20:15:43 +0000 (16:15 -0400)]
Omit keymap from subword-mode docstring (Bug#32212)

* lisp/progmodes/subword.el (subword-mode): Remove listing of
subword-mode-map bindings, since it is empty as of 2014-03-23 "Merge
capitalized-words-mode and subword-mode".

6 years agoPrevent line-mode term from showing user passwords
Tino Calancha [Thu, 15 Feb 2018 00:09:50 +0000 (09:09 +0900)]
Prevent line-mode term from showing user passwords

For buffers whose mode derive from comint-mode, the user password is
read from the minibuffer and it's hidden.  A buffer in term-mode and
line submode, instead shows the passwords.  Make buffers in line
term-mode to hide passwords too (Bug#30190).

* lisp/term.el (term-send-invisible): Prefer the more robust
`read-passwd' instead of `term-read-noecho'.
(term-watch-for-password-prompt): New function.
(term-emulate-terminal): Call it each time we receive non-escape
sequence output.

Co-authored-by: Noam Postavsky <npostavs@gmail.com>
6 years ago0x%x → %#x in elisp formats
Paul Eggert [Mon, 23 Jul 2018 07:57:06 +0000 (00:57 -0700)]
0x%x → %#x in elisp formats

* lisp/emacs-lisp/cl-print.el (cl-print-object):
* lisp/profiler.el (profiler-format-entry):
* lisp/progmodes/hideif.el (hif-evaluate-macro):
Prefer %#x to 0x%x in elisp formats when formatting arbitrary
integers, as it’ll produce more-readable output with negative args
should we change how negative values are printed with %x.

6 years agopositive → nonnegative doc fixes
Paul Eggert [Mon, 23 Jul 2018 07:05:25 +0000 (00:05 -0700)]
positive → nonnegative doc fixes

* doc/lispref/numbers.texi (Bitwise Operations)
(Math Functions):
* doc/lispref/strings.texi (Formatting Strings):
* src/editfns.c (Fformat):
Correct “positive” with “nonnegative” in some documentation.

6 years agoRevert "Make nnimap support IMAP namespaces"
Lars Ingebrigtsen [Mon, 23 Jul 2018 07:01:24 +0000 (09:01 +0200)]
Revert "Make nnimap support IMAP namespaces"

This reverts commit 7b5b3ddb2dfa98d640aff7b5b160f777e22cc794.

Insufficiently tested before committing -- bugs out several places
when not using namespaces.

6 years agoAdd \eqref to RefTeX's reference styles (Bug#32203)
Arash Esbati [Wed, 18 Jul 2018 19:20:12 +0000 (21:20 +0200)]
Add \eqref to RefTeX's reference styles (Bug#32203)

* lisp/textmodes/reftex-vars.el (reftex-ref-style-alist): Add entry
for \eqref provided by amsmath.sty and bind it to "e" key.

6 years agoPreserve nonblank whitespace when indenting (Bug#32200)
Noam Postavsky [Wed, 18 Jul 2018 23:11:23 +0000 (19:11 -0400)]
Preserve nonblank whitespace when indenting (Bug#32200)

* lisp/indent.el (indent-line-to): Remove only spaces and tabs, not
any whitespace syntax characters.

6 years agoAdd further clarifications to gnus-blocked-images
Lars Ingebrigtsen [Sun, 22 Jul 2018 13:57:49 +0000 (15:57 +0200)]
Add further clarifications to gnus-blocked-images

* lisp/gnus/gnus-art.el (gnus-blocked-images): Add further
clarifications.

6 years agoMake nnimap support IMAP namespaces
Nikolaus Rath [Sun, 22 Jul 2018 13:33:38 +0000 (15:33 +0200)]
Make nnimap support IMAP namespaces

* lisp/gnus/nnimap.el (nnimap-use-namespaces): Introduc new
server variable.
(nnimap-group-to-imap, nnimap-get-groups): Transform IMAP group
names to Gnus group name by stripping / prefixing personal
namespace prefix.
(nnimap-open-connection-1): Ask server for namespaces and store them.

* lisp/gnus/nnimap.el (nnimap-request-group-scan)
(nnimap-request-create-group, nnimap-request-delete-group)
(nnimap-request-rename-group, nnimap-request-move-article)
(nnimap-process-expiry-targets)
(nnimap-request-update-group-status)
(nnimap-request-accept-article, nnimap-request-list)
(nnimap-retrieve-group-data-early, nnimap-change-group)
(nnimap-split-incoming-mail): Use nnimap-group-to-imap.
(nnimap-group-to-imap): New function to map Gnus group names to
IMAP folder names.

6 years agoMake async :family 'local failures fail correctly again
Lars Ingebrigtsen [Sun, 22 Jul 2018 11:39:10 +0000 (13:39 +0200)]
Make async :family 'local failures fail correctly again

* src/fileio.c (get_file_errno_data): Refactor out into its own
function so that we can reuse the error handling from an async
context (bug#31901).

* src/process.c (connect_network_socket): When an async :family
'local client fails (with a file error, for instance), mark the
process as failed.

6 years agothread-join returns the result of finished thread
Michael Albinus [Sun, 22 Jul 2018 09:53:24 +0000 (11:53 +0200)]
thread-join returns the result of finished thread

* doc/lispref/threads.texi (Basic Thread Functions):
* etc/NEWS: Document return value of `thread-join'.

* src/thread.c (invoke_thread_function, Fmake_thread)
(init_main_thread): Set result.
(Fthread_join): Propagate signals, and return result.
(Vmain_thread): New defvar.

* src/thread.h (struct thread_state): Add `result' field.

* test/src/thread-tests.el (threads-join): Test also return value.
(threads-join-error): New test.
(threads-mutex-signal): Check for propagation of `quit' signal.

6 years agoAvoid destroying match data in 'setenv' (Bug#32201)
John Shahid [Thu, 19 Jul 2018 00:18:19 +0000 (20:18 -0400)]
Avoid destroying match data in 'setenv' (Bug#32201)

* lisp/env.el (setenv,setenv-internal): Replace string-match with
string-match-p.

6 years agoCheck for special filenames in eshell (Bug#30724)
Jonathan Kyle Mitchell [Tue, 17 Jul 2018 02:46:20 +0000 (21:46 -0500)]
Check for special filenames in eshell (Bug#30724)

* lisp/eshell/esh-cmd.el (eshell-lisp-command): Check for "~"
in lisp commands with the eshell-filename-arguments property
(Bug#30724).

* lisp/eshell/em-dirs.el (eshell/cd, eshell/pushd, eshell/popd):
* lisp/eshell/em-ls.el (eshell/ls):
* lisp/eshell/em-unix.el (eshell/rm, eshell/mkdir, eshell/rmdir)
(eshell/mv, eshell/cp, eshell/ln, eshell/cat, eshell/du, eshell/diff):
* lisp/eshell/esh-ext.el (eshell/addpath): Add
eshell-filename-arguments to symbol plist.

6 years agoFix indent-sexp of #s(...) (Bug#31984)
Noam Postavsky [Thu, 19 Jul 2018 10:40:54 +0000 (06:40 -0400)]
Fix indent-sexp of #s(...) (Bug#31984)

* lisp/emacs-lisp/lisp-mode.el (indent-sexp): Look for a sexp that
ends after the current line.
* test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp-go): New test.

6 years agoAdd save-match-data to abbreviate-file-name (Bug#32201)
Noam Postavsky [Wed, 18 Jul 2018 22:45:47 +0000 (18:45 -0400)]
Add save-match-data to abbreviate-file-name (Bug#32201)

* lisp/files.el (abbreviate-file-name): Save match-data around
expand-file-name; it is not guaranteed to preserve match-data, and may
well do so depending on what file handlers and hooks are in effect.

6 years agoFix last change in editfns.c
Eli Zaretskii [Sat, 21 Jul 2018 19:27:33 +0000 (22:27 +0300)]
Fix last change in editfns.c

* src/editfns.c (Freplace_buffer_contents): Fix last change: always
call buffer modification hooks, even if nothing was deleted/inserted.
(bug#32237)

6 years agoFix calls to buffer modification hooks from replace-buffer-contents
Eli Zaretskii [Sat, 21 Jul 2018 18:05:52 +0000 (21:05 +0300)]
Fix calls to buffer modification hooks from replace-buffer-contents

* src/editfns.c (Freplace_buffer_contents): Don't call buffer
modification hooks if nothing was deleted/inserted.  (Bug#32237)

6 years ago; etc/NEWS: Remove unnecessary reference to a bug number.
Eli Zaretskii [Sat, 21 Jul 2018 16:44:38 +0000 (19:44 +0300)]
; etc/NEWS: Remove unnecessary reference to a bug number.

6 years agoPacify GCC 7 with -Wformat-overflow
Ken Brown [Sat, 21 Jul 2018 16:15:22 +0000 (12:15 -0400)]
Pacify GCC 7 with -Wformat-overflow

* src/w32term.c (x_draw_glyphless_glyph_string_foreground):
Force sprintf to write at most 6 bytes, excluding the
terminating null byte.

6 years agoMinor rewording of last change
Eli Zaretskii [Sat, 21 Jul 2018 16:11:32 +0000 (19:11 +0300)]
Minor rewording of last change

* lisp/vc/add-log.el (add-log-dont-create-changelog-file)
(add-log--pseudo-changelog-buffer-name)
(add-log--changelog-buffer-p, add-change-log-entry): Doc fixes.

* etc/NEWS: Improve wording of last change.

* doc/emacs/maintaining.texi (Change Log Commands): Improve
wording of last change.

6 years agoNew option to make 'C-x 4 a' use file-less ChangeLog buffers
João Távora [Sat, 21 Jul 2018 14:54:21 +0000 (15:54 +0100)]
New option to make 'C-x 4 a' use file-less ChangeLog buffers

* doc/emacs/maintaining.texi (Change Log Commands): Document
add-log-dont-create-changelog-file.

* etc/NEWS (Change Logs Mode): Mention
add-log-dont-create-changelog-file.

* lisp/vc/add-log.el (add-log-file-name): Add comment.
(add-log-dont-create-changelog-file): New variable.
(add-log--pseudo-changelog-buffer-name)
(add-log--changelog-buffer-p): New helpers.
(add-log-find-changelog-buffer): New function.
(add-log--pseudo-changelog-buffer-name): Respect
add-log-dont-create-changelog-file.

* lisp/vc/log-edit.el (log-edit-changelog-entries): Use
add-log-find-changelog-buffer.

6 years agoMake ielm accept an optional buffer name param
Bozhidar Batsov [Sat, 21 Jul 2018 11:00:11 +0000 (14:00 +0300)]
Make ielm accept an optional buffer name param

The ielm buffer name was hardcoded which made it hard for programs to
interactively create ielm buffers with different names and switch to
them (e.g. perhaps you want to have one ielm buffer for each of the
Elisp projects you're working on).

6 years agoFix Bug#32226
Michael Albinus [Sat, 21 Jul 2018 10:29:06 +0000 (12:29 +0200)]
Fix Bug#32226

* lisp/shadowfile.el (shadow-site-name, shadow-name-site):
Use "[-.[:word:]]+" as hostname regexp.  (Bug#32226)

* test/lisp/shadowfile-tests.el (shadow-test06-literal-groups)
(shadow-test07-regexp-groups, shadow-test08-shadow-todo)
(shadow-test09-shadow-copy-files): Skip if needed.

6 years agoImprove doc strings of several variables in keyboard.c
Eli Zaretskii [Sat, 21 Jul 2018 09:28:11 +0000 (12:28 +0300)]
Improve doc strings of several variables in keyboard.c

* src/keyboard.c (syms_of_keyboard) <debug-on-event>
<attempt-stack-overflow-recovery>
<attempt-orderly-shutdown-on-fatal-signal>: Make sure the first
sentence of the doc string fits on a single line.

6 years agoFix recording keyboard macros when input method is active
Eli Zaretskii [Sat, 21 Jul 2018 09:10:20 +0000 (12:10 +0300)]
Fix recording keyboard macros when input method is active

* lisp/international/quail.el (quail-start-translation)
(quail-start-conversion): Bind inhibit--record-char to t for
the first character of a translated sequence.

* src/keyboard.c (record_char): Don't record events from
macros to dribble file, per documentation.
(Fopen_dribble_file): Doc fix.
(syms_of_keyboard) <inhibit--record-char>: New variable.
(record_char): Don't record input event if
inhibit--record-char is non-nil.  (Bug#32108)

6 years agoReport base of out-of-range input fixnums
Paul Eggert [Sat, 21 Jul 2018 07:25:27 +0000 (00:25 -0700)]
Report base of out-of-range input fixnums

* src/lread.c (string_to_number): Report the base of an
out-of-range fixnum.  Problem reported by Andy Moreton in:
https://lists.gnu.org/r/emacs-devel/2018-07/msg00696.html

6 years ago* src/fns.c (Feql, Fequal): Improve floating-point doc.
Paul Eggert [Fri, 20 Jul 2018 20:55:12 +0000 (13:55 -0700)]
* src/fns.c (Feql, Fequal): Improve floating-point doc.

6 years ago; Merge from origin/emacs-26
Glenn Morris [Fri, 20 Jul 2018 17:00:32 +0000 (10:00 -0700)]
; Merge from origin/emacs-26

The following commit was skipped:

61de292 (origin/emacs-26) Fix (Bug#32218).  Do not merge with master

6 years agoMerge from origin/emacs-26
Glenn Morris [Fri, 20 Jul 2018 17:00:32 +0000 (10:00 -0700)]
Merge from origin/emacs-26

3e72298 Improve documentation of 'pcase-defmacro rx'
ba9b9bb Fix TTY colors breakage by 'clear-face-cache'
f56ad42 * admin/MAINTAINERS: Add files maintained by me (Michael Albi...
7a258fa Adapt shadowfile.el for Tramp  (Bug#4526, Bug#4846)
cb50077 Fix auth-source-delete (Bug#26184)
a4767a6 Avoid assertion violations in gnutls.c
90110f8 Don't use a literal "C-u" in ispell.el  help message text
f4e7f6d Improve documentation of 'seqp'
ed13639 Clarify usage and dependencies between several Flyspell features

Conflicts:
etc/NEWS
test/lisp/auth-source-tests.el

6 years agoSimplify w32cygwinx.c and pacify GCC (Bug#32189)
Paul Eggert [Thu, 19 Jul 2018 23:12:17 +0000 (16:12 -0700)]
Simplify w32cygwinx.c and pacify GCC (Bug#32189)

* src/w32cygwinx.c (format_string): New function.
(Fw32_battery_status): Use it.

6 years ago* lisp/net/trampver.el (customize-package-emacs-version-alist):
Michael Albinus [Fri, 20 Jul 2018 09:30:04 +0000 (11:30 +0200)]
* lisp/net/trampver.el (customize-package-emacs-version-alist):

Add Tramp version integrated in Emacs 26.2.

6 years agoFix (Bug#32218). Do not merge with master
Michael Albinus [Fri, 20 Jul 2018 08:56:41 +0000 (10:56 +0200)]
Fix (Bug#32218).  Do not merge with master

* doc/misc/trampver.texi:
* lisp/net/trampver.el: Change version to "2.3.4.26.2".
(customize-package-emacs-version-alist): Add Tramp version
integrated in Emacs 26.2.

* lisp/net/tramp.el (tramp-handle-file-truename):
* lisp/net/tramp-adb.el (tramp-adb-handle-file-truename):
* lisp/net/tramp-sh.el (tramp-sh-handle-file-truename): Fix problem
with trailing slash.  (Bug#32218)

* test/lisp/net/tramp-tests.el (tramp-test21-file-links):
Remove `tramp--test-emacs27-p' check.

6 years agoImprove documentation of 'pcase-defmacro rx'
Eli Zaretskii [Fri, 20 Jul 2018 08:44:36 +0000 (11:44 +0300)]
Improve documentation of 'pcase-defmacro rx'

* lisp/emacs-lisp/rx.el (rx): Clarify and improve the doc string.
For the details, see the discussion starting at
http://lists.gnu.org/archive/html/emacs-devel/2018-06/msg00399.html.

6 years agoPrefer NILP (x) to EQ (x, Qnil)
Paul Eggert [Fri, 20 Jul 2018 05:03:34 +0000 (22:03 -0700)]
Prefer NILP (x) to EQ (x, Qnil)

This simplifies the code a bit, and also simplifies some
potential future changes slightly (e.g., altering eq vs eql).
* src/alloc.c (mark_object):
* src/callint.c (fix_command):
* src/chartab.c (Fchar_table_range, Fset_char_table_range):
* src/dbusbind.c (XD_OBJECT_TO_DBUS_TYPE, xd_signature):
* src/dired.c (Fsystem_users):
* src/fileio.c (Fdo_auto_save):
* src/fns.c (concat):
* src/frame.c (get_frame_param, frame_inhibit_resize)
(store_in_alist, store_frame_param, x_set_autoraise)
(x_set_autolower, x_get_arg):
* src/image.c (Fclear_image_cache):
* src/intervals.c (intervals_equal):
* src/intervals.h (DEFAULT_INTERVAL_P):
* src/lread.c (substitute_object_recurse):
* src/menu.c (digest_single_submenu)
(find_and_call_menu_selection)
(find_and_return_menu_selection):
* src/nsfns.m (x_set_icon_name, Fx_create_frame):
* src/nsmenu.m (ns_menu_show):
* src/nsselect.m (ns_string_to_pasteboard_internal)
(Fns_selection_exists_p, Fns_selection_owner_p):
* src/process.c (Faccept_process_output)
(wait_reading_process_output):
* src/terminal.c (store_terminal_param):
* src/textprop.c (verify_interval_modification):
* src/xdisp.c (next_element_from_buffer):
* src/xfaces.c (Finternal_set_lisp_face_attribute):
* src/xfns.c (x_set_icon_type, Fx_synchronize):
* src/xmenu.c (x_menu_show):
* src/xselect.c (Fx_selection_owner_p)
(Fx_selection_exists_p):
* src/xwidget.c (xwidget_view_lookup):
Prefer NILP (x) to EQ (x, Qnil).

6 years agoImprove doc for floating point ‘=’ vs ‘eql’
Paul Eggert [Thu, 19 Jul 2018 20:29:28 +0000 (13:29 -0700)]
Improve doc for floating point ‘=’ vs ‘eql’

* doc/lispref/numbers.texi (Float Basics, Comparison of Numbers):
Improve documentation of ‘=’ vs ‘eq’, ‘eql’ and ‘equal’
when NaNs and signed zeros are involved.

6 years ago; * etc/NEWS: Fix confused documentation markers.
Charles A. Roelli [Thu, 19 Jul 2018 20:17:24 +0000 (22:17 +0200)]
; * etc/NEWS: Fix confused documentation markers.

The options.el marker was accidentally moved in 2018-07-16
"Improve description of window configs in 'register-val-describe'".