Stephen Berman [Wed, 2 Aug 2017 15:25:44 +0000 (17:25 +0200)]
Add debugging messages to a Dired test
* test/lisp/dired-tests.el (dired-test-bug27243-01): Log
positions saved and restored by dired-revert to try and find
out why the test fails on Hydra.
Tino Calancha [Wed, 2 Aug 2017 09:11:31 +0000 (18:11 +0900)]
ls-lisp: Autoload call instead of cookie
* lisp/ls-lisp.el (eshell-extended-glob): autoload call instead of cookie.
Michael Albinus [Wed, 2 Aug 2017 09:01:05 +0000 (11:01 +0200)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Michael Albinus [Wed, 2 Aug 2017 08:59:57 +0000 (10:59 +0200)]
; Extend traces in tramp-test36-asynchronous-requests for hydra
Paul Eggert [Wed, 2 Aug 2017 08:53:46 +0000 (01:53 -0700)]
When renaming a file, ask only if EEXIST or ENOSYS
* src/fileio.c (Frename_file): Avoid calling Ffile_directory_p
more than once on FILE. Use renameat_noreplace, so that we can
ask the user (and unlink and retry) only if this fails with errno
== EEXIST or ENOSYS. This avoids the need to ask the user for
permission to do an operation that will fail anyway. Simplify
computation of ok_if_already_exists for subsidiary functions.
* src/filelock.c (rename_lock_file): Prefer renameat_noreplace
if it works, as this avoids the need to link and unlink.
* src/lisp.h (renameat_noreplace): New decl.
* src/sysdep.c [HAVE_LINUX_FS_H]: Include linux/fs.h and sys/syscall.h.
(renameat_noreplace): New function.
Paul Eggert [Wed, 2 Aug 2017 08:53:46 +0000 (01:53 -0700)]
When creating a link, ask only if EEXIST
* src/fileio.c (Fadd_name_to_file, Fmake_symbolic_link):
Ask the user (and unlink and retry) only if link creation fails
with errno == EEXIST. This avoids the need to ask the user for
permission to do an operation that will fail anyway.
Tino Calancha [Wed, 2 Aug 2017 08:52:57 +0000 (17:52 +0900)]
dired-align-file: Inherit text properties in inserted spaces
* lisp/dired.el (dired-align-file): Inherit text
properties in inserted spaces (Bug#27899).
* test/lisp/dired-tests.el (dired-test-bug27899): Add test.
Tino Calancha [Wed, 2 Aug 2017 07:50:37 +0000 (16:50 +0900)]
Don't assume /bin/sh as the 'sh' location in the local host
* lisp/dired.el (dired-insert-directory): Use executable-find in
a local host.
Tino Calancha [Wed, 2 Aug 2017 07:39:11 +0000 (16:39 +0900)]
Move dired tests using ls emulation to different files
Suggested in:
https://lists.gnu.org/archive/html/emacs-devel/2017-08/msg00018.html
* test/lisp/dired-tests.el (dired-test-bug27693)
(dired-test-bug27762, dired-test-bug27817)
(dired-test-bug27631, dired-test-bug27843): Delete those
parts requiring either ls-lisp or eshell-ls.
* test/lisp/ls-lisp-tests.el (ls-lisp-test-bug27762)
(ls-lisp-test-bug27631, ls-lisp-test-bug27693):
Add all dired tests using ls-lisp here.
* test/lisp/eshell/em-ls-tests.el (em-ls-test-bug27631)
(em-ls-test-bug27817, em-ls-test-bug27843): New test file. Add
all dired tests using eshell-ls here.
Tino Calancha [Wed, 2 Aug 2017 07:31:36 +0000 (16:31 +0900)]
* test/lisp/ls-lisp-tests.el: Rename it from ls-lisp.el
Katsumi Yamaoka [Wed, 2 Aug 2017 03:23:49 +0000 (03:23 +0000)]
* lisp/gnus/mm-uu.el (mm-uu-org-src-code-block-extract):
Say the handle is already decoded.
cf. <yw.87lgnh5cfv.fsf@alex.chromebook> in the info-gnus-english list.
Paul Eggert [Wed, 2 Aug 2017 00:24:28 +0000 (17:24 -0700)]
Don’t worry about unlink if errno == ENOENT
* src/fileio.c (Fdelete_file):
* src/keyboard.c (Fopen_dribble_file): Do not report failure to
remove a file if unlink fails with errno == ENOENT. This can
happen even if Emacs is the only program removing the file, in
case an NFS cache overflows. The file does not exist if errno ==
ENOENT, so it is OK to proceed.
Tino Calancha [Tue, 1 Aug 2017 15:01:45 +0000 (00:01 +0900)]
Fix misalignment in Dired when dired-directory is a cons
* lisp/dired.el (dired--need-align-p, dired--align-all-files):
New defuns.
(dired-internal-noselect): Call dired--align-all-files when
dired-directory is a cons (Bug#27762).
* test/lisp/dired-tests.el (dired-test-bug27762): Test should pass.
Eli Zaretskii [Tue, 1 Aug 2017 14:45:25 +0000 (17:45 +0300)]
Fix some dired-tests.el on MS-Windows
* test/lisp/dired-tests.el (dired-test-bug27243-01)
(dired-test-bug27243-02): On MS-Windows, pass test-dir through
file-truename, to avoid bogus failures due to file-name comparison
as strings.
Tino Calancha [Tue, 1 Aug 2017 14:31:35 +0000 (23:31 +0900)]
Insert subdir content if dir-or-list is a string w/o wildcards
* lisp/eshell/em-ls.el (eshell-ls--insert-directory):
Append '("-d") into 'eshell-ls-dired-initial-args'
if 'dired-directory' is a cons or there are wildcars (Bug#27843).
* test/lisp/dired-tests.el (dired-test-bug27843): Add test.
Stephen Berman [Tue, 1 Aug 2017 12:17:44 +0000 (14:17 +0200)]
Update todo-mode defcustoms in a less hideous way
* lisp/calendar/todo-mode.el (todo-reevaluate-filelist-defcustoms)
(todo-reevaluate-default-file-defcustom)
(todo-reevaluate-category-completions-files-defcustom)
(todo-reevaluate-filter-files-defcustom): Delete these functions.
(todo-update-filelist-defcustoms): New function. This replaces
todo-reevaluate-filelist-defcustoms, using the 'custom-type'
property instead of re-evaluating the defcustoms.
(todo-add-file, todo-rename-file, todo-delete-file)
(todo-delete-category, todo-move-category)
(todo-convert-legacy-files, todo-check-file): Replace call of
todo-reevaluate-filelist-defcustoms by
todo-update-filelist-defcustoms.
(todo-show, todo-category-completions): Replace call of
todo-reevaluate-* function by use of 'custom-type' property.
Glenn Morris [Tue, 1 Aug 2017 10:27:40 +0000 (06:27 -0400)]
; Auto-commit of loaddefs files.
Tino Calancha [Tue, 1 Aug 2017 10:00:59 +0000 (19:00 +0900)]
Add more should form calls in a failing dired test
Some dired tests fail intermittently in hydra. Add few
more should form calls for debugging.
See:
https://lists.gnu.org/archive/html/emacs-devel/2017-07/msg01092.html
* test/lisp/dired-tests.el (dired-test-bug27243-01): Add few more should
forms for debugging.
Michael Albinus [Tue, 1 Aug 2017 08:13:09 +0000 (10:13 +0200)]
Follow SAUNA recommendations for display-line-numbers-type
* lisp/display-line-numbers.el (display-line-numbers-type): Do not autoload.
* lisp/menu-bar.el (display-line-numbers-type): Declare.
Paul Eggert [Mon, 31 Jul 2017 19:31:02 +0000 (12:31 -0700)]
Avoid most stat calls when completing file names
* admin/merge-gnulib (GNULIB_MODULES): Add d-type.
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
* m4/d-type.m4: New file, copied from gnulib.
* src/dired.c (DT_UNKNOWN, DT_DIR, DT_LINK)
[!HAVE_STRUCT_DIRENT_D_TYPE]: New constants.
(dirent_type): New function.
(file_name_completion): Use it, to avoid unnecessary calls to
stat-like functions on GNU/Linux and other platforms with d_type.
(file_name_completion_stat): Just follow the link; there is no
need to try first with AT_SYMLINK_NOFOLLOW since the directory
entry was already checked to exist.
Tino Calancha [Mon, 31 Jul 2017 12:51:12 +0000 (21:51 +0900)]
dired-tests: Unload tested features after test them
Some tests are for Dired with ls-lisp or eshell-ls.
Requiring these features add an advice on `dired' and
might affect other tests.
Do not require these features at the top of the file; require
then inside the tests and unload then at the end.
* test/lisp/dired-tests.el (dired-test-bug27693)
(dired-test-bug7131, dired-test-bug27817, dired-test-bug27631):
require ls-lisp and/or eshell-ls inside the test; unload the
features at the end.
Michael Albinus [Mon, 31 Jul 2017 12:32:24 +0000 (14:32 +0200)]
Small adaptions for directory wildcards
* lisp/dired.el (dired-insert-directory): Remove "--dired"
when there are wildcards, and the directory is remote.
* test/lisp/net/tramp-tests.el (tramp--test-make-temp-name):
Adapt docstring.
(tramp-test17-dired-with-wildcards): Skip for all methods but
those from tamp-sh.p.
Michael Albinus [Mon, 31 Jul 2017 07:43:04 +0000 (09:43 +0200)]
; Change instrumentation code in tramp-tests.el
Tino Calancha [Mon, 31 Jul 2017 05:55:47 +0000 (14:55 +0900)]
* lisp/dired (dired-trivial-filenames): Use \` and \' to match string bounds
Paul Eggert [Mon, 31 Jul 2017 05:46:58 +0000 (22:46 -0700)]
Merge from gnulib
This incorporates:
2017-07-30 Don't interpret EOVERFLOW to mean nonexistence
* lib/tempname.c: Copy from gnulib.
Eli Zaretskii [Sun, 30 Jul 2017 19:42:18 +0000 (22:42 +0300)]
; Don't use non-ASCII quotes in comments
* src/regex.h:
* src/regex.c (re_wctype_parse): Don't use non-ASCII quotes in
comments.
Tino Calancha [Sun, 30 Jul 2017 11:28:33 +0000 (20:28 +0900)]
ls-lisp: Do not require em-glob at top of the file
Require em-glob inside 'ls-lisp--dired'. This is necessary to
not break the Emacs build.
See following thread for details:
https://lists.gnu.org/archive/html/emacs-devel/2017-07/msg01083.html
* lisp/ls-lisp.el (dired-goto-next-file)
(dired-read-dir-and-switches, eshell-extended-glob):
Add function declarations.
* lisp/eshell/em-ls.el (dired-goto-next-file): Fix function declaration.
Michael Albinus [Sun, 30 Jul 2017 11:11:00 +0000 (13:11 +0200)]
* lisp/dired.el (dired-insert-directory): Move `file-remote-p' check up.
Michael Albinus [Sun, 30 Jul 2017 11:08:36 +0000 (13:08 +0200)]
* test/lisp/net/tramp-tests.el (tramp-test17-dired-with-wildcards): New test.
Simen Heggestøyl [Sun, 30 Jul 2017 09:16:58 +0000 (11:16 +0200)]
Change default CSS property face
* lisp/textmodes/css-mode.el (css-property): Inherit from
`font-lock-keyword-face' instead of `font-lock-variable-name-face' to
distinguish CSS properties from variables.
Tino Calancha [Sun, 30 Jul 2017 02:02:49 +0000 (11:02 +0900)]
Dired: Handle posix wildcards in directory part
Allow Dired to handle calls like
\(dired \"~/foo/*/*.el\"), that is, with wildcards within
the directory part of the file argument (Bug#27631).
* lisp/files.el (insert-directory-wildcard-in-dir-p): New predicate.
(insert-directory-clean): New defun extracted from insert-directory.
(insert-directory)
* lisp/dired.el (dired-internal-noselect)
(dired-insert-directory): Use the new predicate; when it's true,
handle the directory wildcards with a shell call.
* lisp/eshell/em-ls.el (eshell-ls-use-in-dired): Add/remove both advices.
(eshell-ls-unload-hook): New defun. Use it in
eshell-ls-unload-hook instead of an anonymous function.
(eshell-ls--dired)
* lisp/ls-lisp.el (ls-lisp--dired):
Advice dired to handle wildcards in the directory part with both
eshell-ls and ls-lisp.
* etc/NEWS: Announce it.
* doc/emacs/dired.texi (Dired Enter): Update manual.
* test/lisp/dired-tests.el (dired-test-bug27631): Add test.
Tino Calancha [Sat, 29 Jul 2017 16:00:51 +0000 (01:00 +0900)]
* lisp/find-lisp.el: Enable lexical binding
Tino Calancha [Sat, 29 Jul 2017 15:50:52 +0000 (00:50 +0900)]
* lisp/find-dired.el: Enable lexical binding
Mark Oteiza [Sat, 29 Jul 2017 15:01:57 +0000 (11:01 -0400)]
* lisp/kmacro.el: Use lexical binding.
Mark Oteiza [Sat, 29 Jul 2017 15:00:51 +0000 (11:00 -0400)]
Use lexical-binding in dired-aux.el
* lisp/dired.el: Use lexical binding.
(dired-do-shell-command): Remove unused bindings.
Mark Oteiza [Sat, 29 Jul 2017 14:28:57 +0000 (10:28 -0400)]
* lisp/ido.el: Use lexical binding.
Mark Oteiza [Sat, 29 Jul 2017 14:25:49 +0000 (10:25 -0400)]
* lisp/whitespace.el: Use lexical binding.
Stephen Berman [Sat, 29 Jul 2017 11:59:18 +0000 (13:59 +0200)]
artist.el: Avoid error with keyboard command invocation
* lisp/textmodes/artist.el (artist-mouse-choose-operation):
Call x-popup-menu with t instead of last-nonmenu-event as the
value of the position argument; this allows invoking the
command from the keyboard without raising an error (bug#27819).
Stephen Berman [Sat, 29 Jul 2017 11:34:47 +0000 (13:34 +0200)]
Preserve point under 'dired-auto-revert-buffer' (third case)
* lisp/files.el (find-file): Use pop-to-buffer-same-window
instead of switch-to-buffer. This preserves Dired window
point when dired-auto-revert-buffer is non-nil. (Bug#27243)
* test/lisp/dired-tests.el (dired-test-bug27243-01)
(dired-test-bug27243-02, dired-test-bug27243-03): New tests.
The first two replace a previous test that combined them; that
test intermittently fails in the Hydra build system, so maybe
separating the two cases will help locate the point of
failure. The third test involves find-file but is here
because it, like the others, is testing the effect of
dired-auto-revert-buffer.
Allen Li [Sat, 29 Jul 2017 09:00:56 +0000 (12:00 +0300)]
Do not unset user key remaps in dired-x
* lisp/dired-x.el (dired-x-bind-find-file): Don't map any keys if user
sets dired-x-hands-off-my-keys. (Bug#27828)
Copyright-paperwork-exempt: yes
Eli Zaretskii [Sat, 29 Jul 2017 08:25:29 +0000 (11:25 +0300)]
Improve documentation of 'occur'
* doc/emacs/search.texi (Other Repeating Search):
* lisp/replace.el (occur): Make the documentation of 'occur' be
more accurate when matches overlap. (Bug#27818)
Eli Zaretskii [Sat, 29 Jul 2017 07:56:57 +0000 (10:56 +0300)]
Minor copyedits of comments in faces.el
* lisp/faces.el (face-font-family-alternatives): More info about
requirements from "Monospace Serif".
Eli Zaretskii [Sat, 29 Jul 2017 07:43:23 +0000 (10:43 +0300)]
; Revert "; * .gitignore: Add .deps/."
This reverts commit
f1ed31a8f5c6f19aa5e119e670533241c6375945.
Paul Eggert [Sat, 29 Jul 2017 07:01:02 +0000 (00:01 -0700)]
Do not worry about paxctl on newer NetBSD
Problem reported privately by Thomas Klausner.
* configure.ac (emacs_uname_r): New var. Use it to avoid paxctl
on newer NetBSD platforms, where it is not needed. Also use it to
simplify Cygwin diagnostic.
Eli Zaretskii [Sat, 29 Jul 2017 06:57:51 +0000 (09:57 +0300)]
Clarify documentation of ':inherit' face attribute
* doc/lispref/display.texi (Face Attributes): Document the special
treatment of 'unspecified' in the ':inherit' attribute.
Stefan Monnier [Fri, 28 Jul 2017 16:27:00 +0000 (12:27 -0400)]
* lisp/password-cache.el (password-data): Use a hash-table
* lisp/auth-source.el (auth-source-magic): Remove.
(auth-source-forget+, auth-source-forget-all-cached): Adjust to new
format of password-data.
(auth-source-format-cache-entry): Just use a cons.
(password-cache-remove, password-cache-add, password-reset)
(password-read-from-cache, password-in-cache-p): Adjust accordingly.
Fixes: bug#26699
Stefan Monnier [Fri, 28 Jul 2017 16:02:01 +0000 (12:02 -0400)]
* lisp/subr.el (define-symbol-prop): New function
(symbol-file): Make it find symbol property definitions.
* lisp/emacs-lisp/pcase.el (pcase-defmacro):
* lisp/emacs-lisp/ert.el (ert-set-test): Use it instead of `put'.
(ert-describe-test): Adjust call to symbol-file accordingly.
Stefan Monnier [Fri, 28 Jul 2017 15:28:48 +0000 (11:28 -0400)]
* lisp/subr.el (method-files): Move function to cl-generic.el
* lisp/emacs-lisp/cl-generic.el (cl-generic-p): New function.
(cl--generic-method-files): New function, moved from subr.el.
* lisp/emacs-lisp/edebug.el (edebug-instrument-function): Use them.
* test/lisp/emacs-lisp/cl-generic-tests.el:
* test/lisp/subr-tests.el: Move and adjust method-files tests accordingly.
Eli Zaretskii [Fri, 28 Jul 2017 12:40:25 +0000 (15:40 +0300)]
Preserve this-command-keys across recursive-edit invocations
* src/minibuf.c (read_minibuf, read_minibuf_unwind): Save and
restore this-command-keys, to preserve it across recursive-edit.
(Bug#27470)
Eli Zaretskii [Fri, 28 Jul 2017 09:38:22 +0000 (12:38 +0300)]
; * .gitignore: Add .deps/.
Eli Zaretskii [Fri, 28 Jul 2017 09:35:36 +0000 (12:35 +0300)]
Improve doc string of 'locate-dominating-file'
* lisp/files.el (locate-dominating-file): Doc fix. (Bug#27798)
Drew Adams [Fri, 28 Jul 2017 07:47:20 +0000 (10:47 +0300)]
New commands 'apropos-local-variable', 'apropos-local-value'
* lisp/apropos.el (apropos-local-variable, apropos-local-value):
New functions. (Bug#27424)
* doc/emacs/help.texi (Apropos): Document 'apropos-local-variable'
and 'apropos-local-value'.
* etc/NEWS: Mention the new commands.
Stefan Monnier [Fri, 28 Jul 2017 02:51:37 +0000 (22:51 -0400)]
* lisp/loadhist.el (unload-feature): Remove ad-hoc ELP code
* lisp/emacs-lisp/elp.el (loadhist-unload-element): Un-instrument functions.
Alan Mackenzie [Thu, 27 Jul 2017 17:56:23 +0000 (17:56 +0000)]
Fix C++ class initializers not always being fontified at mode start.
The problem here happened when an "outer list" of declarations moved beyond an
"inner list" containing class initializers. These weren't being checked for
by the code.
Also, fix places in c-get-fontification-context where point is undefined.
* lisp/progmodes/cc-fonts.el (c-get-fontification-context): when argument
not-front-decl is set, test for class initializers. Also, anchor point in
places where it is moved and is otherwise undefined.
Alan Mackenzie [Thu, 27 Jul 2017 17:05:53 +0000 (17:05 +0000)]
Fix variables in C++ "for" statement not always being fontified.
The error happened when there was a comma inside template delimiters.
* lisp/progmodes/cc-fonts.el (c-get-fontification-context): In "for"
statements, recognise template delimiters containing "," and "&".
Michael Albinus [Thu, 27 Jul 2017 10:51:45 +0000 (12:51 +0200)]
Add watchdog process to tramp-test36-asynchronous-requests
* test/lisp/net/tramp-tests.el (tramp--test-timeout-handler):
New defun.
(tramp-test36-asynchronous-requests): Use a watchdog process,
listening for SIGUSR1.
Alan Mackenzie [Thu, 27 Jul 2017 06:27:13 +0000 (06:27 +0000)]
CC Mode: Fix declarator being cut off from terminator by end of jit-lock chunk
If a declarator is so cut off, extend the fontification chunk to include it.
* lisp/progmodes/cc-mode.el (c-fl-decl-end): New function.
(c-change-expand-fl-region, c-context-expand-fl-region): Use the new function.
Stefan Monnier [Thu, 27 Jul 2017 04:21:35 +0000 (00:21 -0400)]
* lisp/vc/smerge-mode.el: Avoid N² blow up in degenerate cases
(smerge--refine-long-words): New var.
(smerge--refine-chopup-region): Use it.
Stefan Monnier [Thu, 27 Jul 2017 04:13:27 +0000 (00:13 -0400)]
* lisp/url/url-cookie.el: Use lexical-binding
(url-cookie-host-can-set-p): Remove unused var `last'.
Use string-suffix-p.
(url-cookie-list): De morgan.
(url-cookie-quit): Remove.
(url-cookie-mode): Inherit from special-mode.
(url-cookie-mode-map): Simplify accordingly.
Stefan Monnier [Thu, 27 Jul 2017 04:09:17 +0000 (00:09 -0400)]
* lisp/calendar/todo-mode.el (todo-print-buffer-function): Rework docstring.
Stefan Monnier [Thu, 27 Jul 2017 04:07:17 +0000 (00:07 -0400)]
* lisp/ruler-mode.el (ruler-mode-ruler): Document problem.
Stefan Monnier [Thu, 27 Jul 2017 03:22:58 +0000 (23:22 -0400)]
* lisp/emacs-lisp/cl-generic.el (cl-generic-define-method):
Record this as the function's definition site if it's the first def.
Glenn Morris [Wed, 26 Jul 2017 16:40:13 +0000 (12:40 -0400)]
* doc/lispref/loading.texi (When to Autoload): New section.
Glenn Morris [Wed, 26 Jul 2017 16:38:46 +0000 (12:38 -0400)]
Stop using unibyte buffers for ert backtraces
* lisp/emacs-lisp/ert.el
(ert-results-pop-to-backtrace-for-test-at-point):
Set multibyte true, not false. This copies a
debugger-setup-buffer change from 2009-08-30, and stops the
"Backtrace for" header line containing ^X and ^Y.
Dmitry Gutov [Wed, 26 Jul 2017 16:34:48 +0000 (19:34 +0300)]
Fix semantic-symref-parse-tool-output-one-line after
644cdd1aa0
* lisp/cedet/semantic/symref/grep.el
(semantic-symref-grep--line-re): Delete.
(semantic-symref-parse-tool-output-one-line):
Use regexp and group numbers from (grep-regexp-alist).
Grégoire Jadi [Wed, 26 Jul 2017 15:46:16 +0000 (18:46 +0300)]
Fix cl-defmethod indentation
* lisp/emacs-lisp/cl-generic.el (cl-defmethod):
Declare (indent defun). Fixes bug#23994.
Martin Rudalics [Wed, 26 Jul 2017 08:14:06 +0000 (10:14 +0200)]
Fix two customization types in frame.el
* lisp/frame.el (window-divider-default-bottom-width)
(window-divider-default-right-width): Fix customization types.
Tino Calancha [Wed, 26 Jul 2017 07:42:30 +0000 (16:42 +0900)]
Dired: Support eshell-ls from the beginning if the user wants to
* lisp/dired.el (dired-insert-directory): Check for eshell-ls
as well (Bug#27817).
* test/lisp/dired-tests.el (dired-test-bug27817): Add test.
Mark Oteiza [Wed, 26 Jul 2017 02:13:20 +0000 (22:13 -0400)]
* lisp/progmodes/sh-script.el (sh-mode): Recognize mkshrc.
Stefan Monnier [Tue, 25 Jul 2017 14:12:58 +0000 (10:12 -0400)]
* lisp/emacs-lisp/eieio-compat.el (eieio--defgeneric-init-form):
Adjust to change in cl-generic-ensure-function.
Michael Albinus [Tue, 25 Jul 2017 08:05:43 +0000 (10:05 +0200)]
; Instrument entry of tramp--test-instrument-test-case
Tino Calancha [Tue, 25 Jul 2017 05:53:44 +0000 (14:53 +0900)]
ls-lisp: Add an unload function and enable lexical binding
Enable lexical binding.
* lisp/ls-lisp.el (ls-lisp-unload-function): New defun.
* test/lisp/ls-lisp.el (ls-lisp-unload): Add test.
Tino Calancha [Tue, 25 Jul 2017 02:38:28 +0000 (11:38 +0900)]
register-read-with-preview: Quit if user input C-g or ESC
* lisp/register.el (register-read-with-preview):
Quit if user input C-g or ESC (bug#27634).
* doc/emacs/regs.texi (Registers): Update manual.
* test/lisp/register-tests.el (register-test-bug27634): Add test.
Mark Oteiza [Tue, 25 Jul 2017 00:17:50 +0000 (20:17 -0400)]
; Fix previous commit
Functions prefixed with `turn-on-foo' are quite old, and in general
subsumed by the corresponding `foo-mode` command.
* lisp/display-line-numbers.el (turn-on-display-line-numbers-mode):
Rename with library prefix, mark as internal. Nix autoload.
Mark Oteiza [Tue, 25 Jul 2017 00:13:33 +0000 (20:13 -0400)]
Recognize MirBSD Korn shell rc file
* lisp/files.el (auto-mode-alist): Add .mkshrc to the list.
Glenn Morris [Mon, 24 Jul 2017 23:51:27 +0000 (19:51 -0400)]
* configure.ac: Be explicit about ImageMagick version in summary.
Andreas Schwab [Mon, 24 Jul 2017 23:12:50 +0000 (01:12 +0200)]
Properly align global lispsym
* lib-src/make-docfile.c (close_emacs_globals): Wrap struct
Lisp_Symbols inside struct.
* src/alloc.c (sweep_symbols): Update use of lispsym.
* src/lisp.h (builtin_lisp_symbol): Likewise.
Paul Eggert [Mon, 24 Jul 2017 22:13:26 +0000 (15:13 -0700)]
Do not use ImageMagick 7 and later
Suggested by Glenn Morris (Bug#25967#15).
* configure.ac (IMAGEMAGICK_MODULE): Reject 7 and later.
Stefan Monnier [Mon, 24 Jul 2017 22:10:02 +0000 (18:10 -0400)]
* lisp/progmodes/perl-mode.el: Add support for indented here docs
* lisp/progmodes/perl-mode.el (perl-syntax-propertize-function):
Recognize the new <<~ syntax for indented here docs.
(perl-syntax-propertize-special-constructs): Adjust search of the
end of here docs accordingly.
* test/manual/indent/perl.perl: Add test for indented here docs.
Stefan Monnier [Mon, 24 Jul 2017 19:58:30 +0000 (15:58 -0400)]
(loadhist-unload-element): Move ERT and cl-generic methods
* lisp/loadhist.el (loadhist-unload-element): Don't define cl-generic
and ert methods here.
(loadhist-unload-element) <(head define-type)>: Remove unused var `slots'.
* lisp/emacs-lisp/cl-generic.el (loadhist-unload-element): Define
unload method for cl-defmethod.
(cl-generic-ensure-function): Remove redundant `defalias'.
* lisp/emacs-lisp/ert.el (ert-set-test): Move the current-load-list
setting here...
(ert-deftest): ...from here.
(loadhist-unload-element): Define unload method for ert-deftest.
Michael Albinus [Mon, 24 Jul 2017 17:38:17 +0000 (19:38 +0200)]
Fix Bug#27371
* lisp/loadhist.el (loadhist-unload-element): Declare for
different entry types of `load-history'.
(loadhist--restore-autoload): New variable.
(loadhist--unload-function): New defun.
(unload-feature): Use `loadhist-unload-element'. Recommended by
Stefan Monnier. (Bug#27371)
* test/lisp/net/tramp-tests.el (tramp-test39-unload):
Check, that the `tramp-file-name' structure has been unloaded.
Grégoire Jadi [Mon, 24 Jul 2017 15:29:28 +0000 (17:29 +0200)]
Ensure that we parse images right in shr.el
* lisp/net/shr.el (shr-image-fetched): Go back to the
beginning of the buffer before trying to parse the image
fetched.
Paul Eggert [Mon, 24 Jul 2017 05:40:21 +0000 (22:40 -0700)]
Update .gitignore for Valgrind and no Automake
* .gitignore: Remove .deps/ since we no longer use Automake.
Add vgcore.*[0-9], for debugging Emacs with Valgrind+GDB.
Paul Eggert [Mon, 24 Jul 2017 05:21:38 +0000 (22:21 -0700)]
Merge from gnulib
This incorporates:
2017-07-23 Rename module 'strftime' to 'nstrftime'
* admin/merge-gnulib (GNULIB_MODULES): Add nstrftime, remove strftime.
* build-aux/config.guess: Copy from gnulib.
* lib/nstrftime.c: Rename from lib/strftime.c.
* m4/nstrftime.m4: Rename from m4/strftime.m4.
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
Tino Calancha [Mon, 24 Jul 2017 02:58:35 +0000 (11:58 +0900)]
; Don't keep temporary buffers alive after a dired test
* test/lisp/dired-tests.el (dired-test-bug22694)
(dired-test-bug25609, dired-test-bug27243)
Delete all temporary dired buffers at the end.
Philipp Stephani [Thu, 20 Jul 2017 19:36:18 +0000 (21:36 +0200)]
Add 'rx' pattern for pcase.
* lisp/emacs-lisp/rx.el (rx): New pcase macro.
* test/lisp/emacs-lisp/rx-tests.el (rx-pcase): Add unit test.
Mark Oteiza [Sun, 23 Jul 2017 19:41:51 +0000 (15:41 -0400)]
Use a named function for global minor mode turn-on argument
* lisp/display-line-numbers.el (turn-on-display-line-numbers-mode):
New function.
(global-display-line-numbers-mode): Use it.
Charles A. Roelli [Mon, 10 Jul 2017 19:08:14 +0000 (21:08 +0200)]
Enable GUI Emacs without 'make install' on macOS (Bug #27645)
* nextstep/INSTALL: Correct it, and mention that Emacs can be run
from 'src/emacs'.
* src/nsterm.m (applicationDidFinishLaunching:): When Emacs is
launched outside of a macOS application bundle, change its
activation policy from the default 'prohibited' to 'regular'.
; * etc/NEWS: Mention the change on macOS.
Alan Mackenzie [Sun, 23 Jul 2017 13:48:36 +0000 (13:48 +0000)]
Convert CC Mode's c-found-types from an obarray to a hash table.
* lisp/progmodes/cc-engine.el (c-clear-found-types): create a hash table
rather than an obarray.
(c-copy-found-types): Remove.
(c-add-type, c-unfind-type, c-check-type, c-list-found-types): Amend to use
the new hash table.
(c-forward-<>-arglist): Use copy-hash-table rather than c-copy-found-types.
Lars Ingebrigtsen [Sun, 23 Jul 2017 13:22:48 +0000 (15:22 +0200)]
Fix image/svg+xml display in shr
* lisp/net/shr.el (shr-put-image): Display svg images as svg
(bug#27799). I suspect the previous change was checked in by
accident in conjuction with some other svg changes.
Michael Albinus [Sun, 23 Jul 2017 07:28:35 +0000 (09:28 +0200)]
* lisp/display-line-numbers.el (display-line-numbers-type): Autoload it.
Glenn Morris [Sun, 23 Jul 2017 01:43:28 +0000 (18:43 -0700)]
Don't automatically enable Gconf if Gsettings was found
* configure.ac (HAVE_GCONF) [HAVE_GSETTINGS]:
Don't test for Gconf unless specifically requested.
Gconf was deprecated in favor of Gsettings several years ago.
Glenn Morris [Sun, 23 Jul 2017 01:36:22 +0000 (18:36 -0700)]
* configure.ac (MODULES_SUFFIX): Always give it a value.
This prevents a Makefile thinko like "rm *${MODULE_SUFFIX}".
Glenn Morris [Sun, 23 Jul 2017 01:28:46 +0000 (18:28 -0700)]
* doc/emacs/frames.texi (Fonts): Mention Gsettings.
Michael Albinus [Sat, 22 Jul 2017 18:24:24 +0000 (20:24 +0200)]
Add line numbers display to the Options menu
* lisp/menu-bar.el (toggle-display-line-numbers): Remove.
(menu-bar-display-line-numbers-mode): New defun.
(menu-bar-showhide-line-numbers-menu): New defvar.
(menu-bar-showhide-menu): Use `menu-bar-showhide-line-numbers-menu'
Eli Zaretskii [Sat, 22 Jul 2017 15:51:18 +0000 (18:51 +0300)]
; * CONTRIBUTE: Rearrange sections into a more logical order.
Noam Postavsky [Wed, 7 Jun 2017 23:59:09 +0000 (19:59 -0400)]
Signal error for symbol names with strange quotes (Bug#2967)
* src/lread.c (read1): Signal an error when a symbol starts with a
non-escaped quote-like character.
* test/src/lread-tests.el (lread-tests--funny-quote-symbols): New
test.
* etc/NEWS: Announce change.
Noam Postavsky [Sat, 22 Jul 2017 12:07:37 +0000 (08:07 -0400)]
Revert "Let delete-selection-mode work with popup-menu commands (Bug#27569)"
It turns out that this change is not needed, and it leaves several
command loops settings not done.
https://lists.gnu.org/archive/html/emacs-devel/2017-07/msg00757.html
https://lists.gnu.org/archive/html/emacs-devel/2017-07/msg00840.html
Alexander Gramiak [Sat, 22 Jul 2017 09:16:08 +0000 (12:16 +0300)]
Add a minor mode interface for display-line-numbers
* lisp/cus-start.el: Use the new display-line-numbers group.
* lisp/display-line-numbers.el: New file.
* doc/emacs/custom.texi (Init Rebinding): Re-add entry that used to
belong to linum-mode.
* doc/emacs/modes.texi (Minor Modes): Summarize the mode.
* etc/NEWS: Document display-line-numbers-mode and its customization
variables, and mention that display-line-numbers-width is
buffer-local.
* src/xdisp.c (syms_of_xdisp) <display-line-numbers-width>: Fix a
typo.
vividsnow [Sat, 22 Jul 2017 09:07:55 +0000 (12:07 +0300)]
Support indented HERE-DOCs in cperl-mode
* lisp/progmodes/cperl-mode.el (cperl-find-pods-heres): Support
indented here-docs. (Bug#27254) (Bug#27697)
Copyright-paperwork-exempt: yes