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'.
* 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'.
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.
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).
Explictly explain that package-initialize loads the packages
* lisp/emacs-lisp/package.el (package-initialize): Be explicit
in saying that `package-initialize' obviates adjusting the
path or requiring the packages, as this is a question that
apparently comes up now and then (bug#18829).
Move doc of backup-directory-alist to the Backup node
* doc/emacs/files.texi (Backup): Move the documentation of
`backup-directory-alist' here from the "Single or Numbered
Backups" node, because it doesn't seem to have much to do with
numbering (bug#18692).