Paul Eggert [Fri, 6 May 2016 17:09:13 +0000 (10:09 -0700)]
Port xref-tests to master branch
Also, add a test to make this problem less likely in the future.
* test/Makefile.in (check-no-automated-subdir): New rule.
(check, check-expensive, check-maybe): Depend on it.
* test/automated/data/xref/file1.txt: Rename to ...
* test/data/xref/file1.txt: ... here.
* test/automated/data/xref/file2.txt: Rename to ...
* test/data/xref/file2.txt: ... here.
* test/automated/xref-tests.el: Rename to ...
* test/lisp/progmodes/xref-tests.el: ... here.
(xref-tests-data-dir): Use EMACS_TEST_DIRECTORY.
Paul Eggert [Fri, 6 May 2016 06:11:11 +0000 (23:11 -0700)]
Merge from origin/emacs-25
50650cb Doc fixes for fclist and grep 5e814e0 Minor doc fixes for quoting 3347a73 `nreverse' the marker pairs list 1a4127d Use save-excursion in xref-location-marker more ab3ba91 shell-quote-argument DIR when appropriate 922c7a3 Rework xref-query-replace-in-results 3fe3510 * lisp/replace.el (query-replace-read-from): Use minibuffer-w... 0932b94 Fix todo-mode bug involving archived items (bug#23447) e68ad1f ; * etc/NEWS: Tiny edit. (Bug#23432) adc80b7 ; * test/automated/xref-tests.el: Add copyright and license. 4d8fd9c Handle "empty line" regexp in xref searches f559b37 Add tests for xref-collect-matches 6428aa0 Use grep-find-ignored-directories instead of vc-directory-exc... 6f82d8e Clear buffer-undo-list when showing xrefs c68a091 Note the quote translation in `message' in section "incompati... 52f86a7 * etc/NEWS: Mention (message "%s" (format ...)). 93703c5 (Common Keywords): Correct what missing :group means 79e5800 Improve documentation of Dired's 'A' and 'Q' commands 2ea2a2f Doc fixes for quoting 8544b98 posnp doc clarification 805204f Mention what a missing :group does ec554d7 Fix documentation of dired-aux search/replace commands
* lisp/textmodes/css-mode.el (css--html-tags): New variable holding a
list of HTML tags for completion.
(css--nested-selectors-allowed): New variable for determining whether
nested selectors are allowed in the current mode.
(css--complete-selector): New function for completing part of a CSS
selector.
(css-completion-at-point): Support completion of selectors.
(scss-mode): Allow nested selectors.
Paul Eggert [Thu, 5 May 2016 13:39:17 +0000 (06:39 -0700)]
Minor doc fixes for quoting
* doc/lispref/control.texi (Signaling Errors):
* doc/lispref/display.texi (Displaying Messages):
Don’t say that formats “generate”. Try to word more clearly.
* etc/NEWS: Coalesce near-duplicate entries.
Alan Mackenzie [Thu, 5 May 2016 11:05:49 +0000 (11:05 +0000)]
Call hack-local-variables from major modes rather than from file visiting
This prevents file/directory local variables from being lost when the major
mode is set or changed.
This fixes bug #15577 and bug #23407.
* lisp/files.el (normal-mode): Call `hack-local-variables' when the major mode
function hasn't already done so.
(hack-local-variables): Rename parameter `mode-only' to `handle-mode', make
its previous non-nil setting be t, and introduce the following action for a
non-nil non-t value: apply all settings apart from `mode'.
* lisp/subr.el (run-mode-hooks): call `hack-local-variables' for buffers
which are visiting files.
* doc/emacs/custom.texi (File Variables): Note that setting a major mode also
sets file variables.
(Directory Variables): Note that `mode', `eval', and `unibyte' can be set as
dir local variables, but `coding' can't.
* doc/lispref/modes.texi (Major Mode Conventions): Say that `run-mode-hooks'
also calls `hack-local-variables'.
(Auto Major Mode): Say that `find-file' no longer runs `hack-local-variables',
as from 25.2. Remove vagueness from `normal-mode' and `set-auto-mode' by
saying that the mode IS SET, not merely "selected" or "chosen".
(Mode Hooks): Document change to `run-mode-hooks'.
* doc/lispref/variables.texi (File Local Variables): Document change to
`hack-local-variables'.
Dmitry Gutov [Thu, 5 May 2016 01:28:14 +0000 (04:28 +0300)]
Use save-excursion in xref-location-marker more
* lisp/progmodes/elisp-mode.el (xref-location-marker): Use
save-excursion, in order not to alter the value of point if the
buffer is currently open in the background (problem reported by
Robert Weiner).
Dmitry Gutov [Thu, 5 May 2016 01:15:23 +0000 (04:15 +0300)]
shell-quote-argument DIR when appropriate
* lisp/progmodes/project.el (project-file-completion-table):
`shell-quote-argument' DIR as well.
* lisp/progmodes/xref.el (xref--rgrep-command): Pass DIR through
`shell-quote-argument' (bug#23453). Thanks for Kaushal Modi for
pointing out the problem. Assert that DIR doesn't start with `~'.
Dmitry Gutov [Wed, 4 May 2016 23:52:34 +0000 (02:52 +0300)]
Rework xref-query-replace-in-results
* lisp/progmodes/xref.el (xref-query-replace-in-results): Collect
all xrefs from the buffer first, then delegate most of the
processing to the value returned by xref--buf-pairs-iterator.
(xref--buf-pairs-iterator): New function. Return an "iterator"
which partitions returned markers into buffers, and only processes
markers from one buffer at a time. When an xref is out of date,
skip it with a message instead of signaling error (bug#23284).
(xref--outdated-p): Extract from xref--buf-pairs-iterator. Trim
CR from both strings before comparing.
(xref--query-replace-1): Remove the variable current-buf, no need
to track it anymore. Simplify the filter-predicate and search
functions accordingly. Iterate over buffer-markers pairs returned
by the iterator, and call `perform-replace' for each of them. Use
multi-query-replace-map (bug#23284). Use `switch-to-buffer' every
time after the first, in order not to jump between windows.
* test/automated/xref-tests.el
(xref--buf-pairs-iterator-groups-markers-by-buffers-1)
(xref--buf-pairs-iterator-groups-markers-by-buffers-2)
(xref--buf-pairs-iterator-cleans-up-markers): New tests.
* src/doc.c (syms_of_doc): New symbol "leave". Amend doc string of
`text_quoting_style'.
(text_quoting_style): Handle `leave' by returning LEAVE_QUOTING_STYLE.
(Fsubstitute_command_keys): Don't translate quotes when quoting_style is
LEAVE_QUOTING_STYLE.
* src/editfns.c (styled_format): Set quoting_style to -1 when
text-quoting-style is `leave'.
* lisp/calendar/todo-mode.el (todo-jump-to-category): When jumping
from Todo Categories mode to a category with only archived items
and todo-skip-archived-categories is non-nil, make sure the
archive file buffer is in Todo Archive mode to prevent
todo-category-select from raising an error, and don't set
todo-current-todo-file, since that makes todo-show display the
archived category. Remove a no-op call to kill-buffer, which is
already called in todo-insert-category-line.
Stefan Monnier [Wed, 4 May 2016 15:09:01 +0000 (11:09 -0400)]
* lisp/emulation/viper(-cmd)?.el: Use lexical-binding.
* lisp/emulation/viper-cmd.el: Use lexical-binding.
(viper-change-state-to-vi, viper-change-state-to-emacs): Allow dummy
args, for use in advice-add.
(viper--init-message): Rename from init-message.
(viper-minibuffer-standard-hook): Adjust accordingly.
(viper-undo): Remove unused var `modified'.
(viper-read-string-with-history, viper-set-searchstyle-toggling-macros):
Don't use dynamic vars as args.
(viper-submit-report): Clarify use of dynamic vars.
* lisp/emulation/viper.el: Use lexical-binding and nadvice.
Remove redundant :group keywords. Group the (if viper-mode) at top-level.
Use add-function rather than a `(lambda ...).
(viper--advice-list): New var.
(viper--advice-add, viper--deactivate-advice-list): New funs.
(viper-go-away, viper-set-hooks, viper-non-hook-settings): Use them.
(viper-non-hook-settings): Don't hook into find-file any more.
Dmitry Gutov [Tue, 3 May 2016 22:02:43 +0000 (01:02 +0300)]
Use grep-find-ignored-directories instead of vc-directory-exclusion-list
* lisp/dired-aux.el (dired-do-find-regexp):
Use grep-find-ignored-directories instead of
vc-directory-exclusion-list. The result should be functionally
similar (the former uses the latter as the default value), but it
should be more consistent and appropriate WRT user
customizations.
(dired-do-find-regexp-and-replace): Update the docstring.
* lisp/dired.el: Update the corresponding autoloads.
* doc/emacs/dired.texi (Operating on Files): Update the
documentation accordingly.
Alan Mackenzie [Tue, 3 May 2016 20:27:48 +0000 (20:27 +0000)]
Note the quote translation in `message' in section "incompatible changes".
* etc/NEWS: Note that `message' translates quotes, that the translation
cannot be disabled, and that `format' can be used to get the old
behavior back.
Eli Zaretskii [Tue, 3 May 2016 16:14:31 +0000 (19:14 +0300)]
Improve documentation of Dired's 'A' and 'Q' commands
* lisp/dired-aux.el (dired-do-find-regexp)
(dired-do-find-regexp-and-replace): Mention
'grep-find-ignored-files' and 'vc-directory-exclusion-list', and
also the fact that REGEXP should be palatable by Grep. (Bug#23426)
* lisp/dired.el: Update the corresponding autoload forms.
* doc/emacs/dired.texi (Operating on Files): Mention
'grep-find-ignored-files' and 'vc-directory-exclusion-list'.
(Bug#23429)
Paul Eggert [Tue, 3 May 2016 15:02:16 +0000 (08:02 -0700)]
Doc fixes for quoting
* doc/emacs/text.texi, doc/lispintro/emacs-lisp-intro.texi:
* doc/lispref/control.texi, doc/lispref/display.texi:
* doc/lispref/help.texi, doc/lispref/strings.texi, lisp/subr.el:
* src/callint.c, src/doprnt.c, src/editfns.c:
Document quoting a bit more systematically.
Problem reported by Alan Mackenzie (Bug#23425).
Martin Rudalics [Tue, 3 May 2016 06:38:49 +0000 (08:38 +0200)]
Bind `widget-button-click' to mouse-1/-2 instead of down-mouse-1/-2
* lisp/wid-edit.el (widget-keymap): Bind `widget-button-click'
to mouse-1/-2 instead of down-mouse-1/-2. Suggested by Stefan
Monnier. (Bug#19185, Bug#20398)
* lisp/progmodes/elisp-mode.el (elisp--preceding-sexp): Skip over
named character literals.
* test/lisp/progmodes/elisp-mode-tests.el
(elisp--preceding-sexp--char-name): Add test for skipping over
named character literals (bug#23354).
Aaron Conole [Mon, 2 May 2016 21:42:10 +0000 (23:42 +0200)]
Call va_end in boot_error
* src/gnutls.c (boot_error): A recent change added a function
to signal an error or return an error code. That function uses
a variadic argument list to populate an error message
string. However, it missed calling va_end after using the
variadic argument list.
Aaron Conole [Mon, 2 May 2016 21:40:14 +0000 (23:40 +0200)]
Fix the call to set_network_coding_system
* src/process.c (Fmake_network_process): A recent commit
modified the set_network_socket_coding_system function to take
arguments host, service, and name. However, those arguments
appear to be swapped.
Paul Eggert [Mon, 2 May 2016 17:46:53 +0000 (10:46 -0700)]
Merge from origin/emacs-25
bf21c84 Fix quoting problem in cc-engine debug message 8f36614 Add electric-quote-string unit test 6280531 Don’t electrically quote ‘'’ in Python fd7b430 `nreverse' Grep hits before passing them to xref--convert-hits
Paul Eggert [Mon, 2 May 2016 15:56:02 +0000 (08:56 -0700)]
Don’t electrically quote ‘'’ in Python
Problem reported by Philipp Stephani (Bug#23387).
* lisp/electric.el (electric-quote-post-self-insert-function):
Do not requote a string starter or ender.
Michael Albinus [Mon, 2 May 2016 07:02:27 +0000 (09:02 +0200)]
Fix Bug#10085
* lisp/net/tramp.el (tramp-find-foreign-file-name-handler):
Add optional arguments OPERATION and COMPETION. Handle
`file-name-as-directory', `file-name-directory' and
`file-name-nondirectory' also in completion mode.
(tramp-file-name-handler): Use it. (Bug#10085)
Paul Eggert [Mon, 2 May 2016 01:14:23 +0000 (18:14 -0700)]
; Merge from origin/emacs-25
The following commits were skipped:
8aa4147 tramp.texi: Revert last change due to backward compatibility 69f7940 cua-prefix-override-inhibit-delay doc fix 350792e global-eldoc-mode doc fix c3b3b90 normal-top-level-add-subdirs-to-load-path doc fix 9f27bcf isearch-search-fun-function doc tweak 78ae805 Fill some imenu--index-alist doc lines d1ab001 Fmarker_position doc string clarification 8c66ebf Further define-obsolete-* doc fixups 25b4cf3 Describe WHEN in all the define-obsolete- macros 6b39501 Mention with-silent-modifications in the lispref manual 9722ae1 with-silent-modifications doc clarification 3bc26a7 clear-visited-file-modtime doc string fix 7b7b4c2 Document mode mode line variables 7907b82 Add a cross ref to Optional Mode Line ecdb340 Add a doc string to display-time-string 6d8c2d0 custom-buffer-style doc fix ef32be6 Rearrange the doc of query-replace slightly 7350d3d apropos-print doc fix afb2257 completion-table-with-predicate doc string fix f3f4502 Fill the completion-table-with-predicate doc string 983ad8d replace-match-maybe-edit doc clarification bbda22c add-timeout doc fix 818fb69 Extremely minor doc fix in Choosing Window 2abc85e Transform mentions of `eval-after-load' to `with-eval-after-l... ec392ff cursor-type doc fix ff834ff Add a link from Tool Bar to Images 93598ff (default-mode-line-format): More explicit obsolete info b04fcc4 Fcompare_buffer_substrings doc string clarification f92d0aa insert-file-contents-literally doc fix ad5572b Fix custom types for cursor-in-non-selected-windows 2ef780f Doc clarification to mwheel-scroll ed8474e Clarify the doc of eval-expression-print-format 8f1e784 Explictly explain that package-initialize loads the packages 1378680 Have the doc strings of `load-path' and `require' mention eac... a73de71 Doc fix for insert-pair-alist 619f1ed Move doc of backup-directory-alist to the Backup node 0846f21 Tiny doc clarification for create-fontset-from-fontset-spec 925af7e Fill the doc string of font-lock-keywords 05194cb Doc fix for font-lock-remove-keywords 7a03d55 Clarify whitespace-style doc string 651182d Doc fixed for next-error-buffer-p d815ba5 Tiny doc fix 7b85885 Doc fix c355774 delsel doc touch ups 4a2f33d Doc fixes for menu-bar.el 71795d4 Doc fix 3852fd6 Minor doc clarification db20f89 Fill font-lock-mode doc string df6cee9 Wrap the auto-generated doc string dc960d9 Clarify hi-lock-find-patterns 8748c21 Add a doc string to `winner-mode' 02c1aa8 Doc fix for align-newline-and-indent bc6c294 Doc fix for `kbd' 28ef870 Doc tweak 92559c7 Link from (emacs)Exiting to (lisp)Killing Emacs cc00738 find-lisp doc touchups 396747d Don't have the manual claim that it lists all CL incompatibil... 3cbc1e3 Change all occurrences of "Mouse-[0-9]" to "mouse-[0-9]" de8349e Doc string change to enable-recursive-minibuffers cf33ae0 Clarify the `interactive' doc string slightly 0a14d84 Clarify some doc strings 351c079 Add some concept index entries for custom types 3fc1ed8 Mention `lisp-indent-function' in the lispref manual 9bd2af8 Clarify doc string of internal compilation function
Paul Eggert [Mon, 2 May 2016 01:14:22 +0000 (18:14 -0700)]
Merge from origin/emacs-25
d8affa3 Use ‘T *restrict’ proto, not ‘T[restrict]’ d38d2a8 Fix documentation of 'url-retrieve-synchronously' 586b213 * lisp/url/url.el (url-retrieve-synchronously): Doc fix. (Bu...
Paul Eggert [Mon, 2 May 2016 01:09:29 +0000 (18:09 -0700)]
Merge from origin/emacs-25
16e5e8e Fix last change to isearch-update (bug#23406) b755d98 Autoload cursor-sensor-inhibit (bug#23406) b52ebd4 org-map-entries: Fix org-agenda-prepare-buffers call 86aa409 Followup for last commit in the user manual 7004459 Improve doc string of 'set-goal-column' ccdaf04 Fix the MSDOS build ffe701c Remove \= from format string (bug#18190) 1c58fa1 Fix variable-pitch font on MS-Windows c6077bf Restore follow-scroll-up/down to scrolling by the combined si... b671e21 Revert unneeded change which harms syntactic parsing. This f... 48b24c9 Correct indentation of ids in a C++ enum after a protection k... 5c3534f * lisp/window.el (window--process-window-list): No-op if no p... 734fb3a Port dumping to NetBSD with PaX 0255a70 Don't mistake `for' inside a function for a part of array com...
Paul Eggert [Mon, 2 May 2016 01:07:57 +0000 (18:07 -0700)]
Merge from origin/emacs-25
71fb0e0 Improve last change to vc-git-mode-line-string 6858e77 Todo mode doc bug fix e55d0db Fix revision calculation in vc-git-mode-line-string ca87b34 ; Fix errant revert ccb75d7 40bfebe Add Python 3.5 keyword "await" fa7886a Add new keywords of Python 3.5 ccb75d7 Partially revert previous change. 8ee168a ; * etc/NEWS: Update entry about color fonts on OS X with a w... b09ca27 Say why text-quoting-style is not a user option
Paul Eggert [Mon, 2 May 2016 01:07:56 +0000 (18:07 -0700)]
Merge from origin/emacs-25
5a952eb Don't mention ~/.emacs.bmk literally in doc strings c338cf3 * etc/NEWS: Explain why multicolor font display is disabled o... c30d1b4 Port to Ubuntu 16.04 --enable-gcc-warnings
* lisp/emacs-lisp/byte-run.el (define-obsolete-face-alias):
Say more verbosely what WHEN is (bug#21225).
(define-obsolete-function-alias): Describe the WHEN parameter.
(define-obsolete-variable-alias): Ditto.
* doc/lispref/modes.texi (Mode Line Variables): Add a cross
reference to the Emacs mode line node that explains things
like `display-time-string' (bug#21002).