Revert "Extend ‘format’ to translate curved quotes"
[emacs.git] / ChangeLog.2
blob2da3e73323d26e233292a469a47a5be30b404d2c
1 2015-08-23  Xue Fuqiao  <xfq.free@gmail.com>
3         * doc/emacs/modes.texi (Choosing Modes): Minor doc fix for
4         magic-fallback-mode-alist.
6 2015-08-22  Fabián Ezequiel Gallina  <fgallina@gnu.org>
8         python.el: fallback completion, ffap and eldoc setup enhancements
9         Setup codes are now sent continuously so that the current frame is
10         always taken into account.  This allows working within debuggers
11         and always keeping a fresh version of setup codes that will return
12         proper results.
13         * lisp/progmodes/python.el (python-shell-setup-codes): Cleanup.
14         (python-shell-send-setup-code): Send code only when
15         python-shell-setup-codes is non-nil.
16         (python-shell-completion-string-code): Cleanup trailing newline.
17         (python-shell-completion-get-completions): Always use
18         python-shell-completion-setup-code.
19         (python-ffap-setup-code): Work with any object, not only modules.
20         (python-ffap-string-code): Cleanup trailing newline.
21         (python-ffap-module-path): Always use python-ffap-setup-code.
22         (python-eldoc-string-code): Cleanup trailing newline.
23         (python-eldoc--get-doc-at-point): Always use
24         python-eldoc-setup-code.  Return non-nil only if docstring is
25         found.
27         python.el: Increase native completion robustness.
28         * lisp/progmodes/python.el (python-shell-completion-native-setup):
29         Make completer print real candidates and just return dummy ones to
30         avoid input modification.
31         (python-shell-completion-native-get-completions): Set
32         comint-redirect-insert-matching-regexp to non-nil and make
33         comint-redirect-finished-regexp match the last dummy candidate.
34         Use python-shell-accept-process-output to wait for the full list
35         of candidates.
37 2015-08-22  Eli Zaretskii  <eliz@gnu.org>
39         Fix invocation of programs via cmdproxy.exe
40         * src/w32proc.c (sys_spawnve): Use exec-directory, not
41         invocation-directory, for finding cmdproxy.exe.  When Emacs is
42         run from the source tree, look for cmdproxy.exe in the same source
43         tree.  (Bug#21323)
45 2015-08-22  Simen Heggestøyl  <simenheg@gmail.com>
47         Handle comments inside unquoted URIs in css-mode
48         * lisp/textmodes/css-mode.el (css--uri-re): New defconst.
49         (css-syntax-propertize-function): New defconst.
50         (css--font-lock-keywords): Handle parens around unquoted URIs.
51         (css-mode): Set `syntax-propertize-function'.
53 2015-08-22  Eli Zaretskii  <eliz@gnu.org>
55         Support invocation of Hunspell with multiple dictionaries
56         * lisp/textmodes/ispell.el (ispell-parse-hunspell-affix-file): Support
57         lists of dictionaries of the form "DICT1,DICT2,...".
58         (ispell-hunspell-add-multi-dic): New command.  (Bug#20495)
60         Minor formatting changes in ispell.el
61         * lisp/textmodes/ispell.el (ispell-create-debug-buffer)
62         (ispell-print-if-debug, ispell-aspell-find-dictionary)
63         (ispell-aspell-add-aliases, ispell-hunspell-dict-paths-alist)
64         (ispell-hunspell-dictionary-alist)
65         (ispell-hunspell-fill-dictionary-entry)
66         (ispell-find-hunspell-dictionaries, ispell-send-replacement)
67         (ispell-buffer-with-debug, ispell-complete-word)
68         (ispell-current-dictionary, ispell-current-personal-dictionary)
69         (ispell-accept-output, ispell-minor-mode)
70         (ispell-personal-dictionary, ispell-dictionary-alist)
71         (ispell-really-aspell, ispell-really-hunspell)
72         (ispell-encoding8-command, ispell-aspell-supports-utf8)
73         (ispell-aspell-dictionary-alist, ispell-set-spellchecker-params):
74         Fix whitespace, inconsistent capitalization, and arguments in doc
75         strings.
77 2015-08-22  Martin Rudalics  <rudalics@gmx.at>
79         In ‘adjust-window-trailing-edge’ fix bug with size-preserved windows.
80         * lisp/window.el (adjust-window-trailing-edge): Fix bug where this
81         function refused to resize a size-preserved window.
83 2015-08-22  Eli Zaretskii  <eliz@gnu.org>
85         Improve documentation of 'window-use-time'
86         * doc/lispref/windows.texi (Selecting Windows): Improve
87         documentation and indexing of 'window-use-time'.
89 2015-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
91         * lisp/progmodes/cc-*.el: Fix up commenting style
92         * lisp/progmodes/cc-vars.el, lisp/progmodes/cc-styles.el:
93         * lisp/progmodes/cc-mode.el, lisp/progmodes/cc-menus.el:
94         * lisp/progmodes/cc-langs.el, lisp/progmodes/cc-guess.el:
95         * lisp/progmodes/cc-fonts.el, lisp/progmodes/cc-engine.el:
96         * lisp/progmodes/cc-defs.el, lisp/progmodes/cc-cmds.el:
97         * lisp/progmodes/cc-bytecomp.el, lisp/progmodes/cc-awk.el:
98         * lisp/progmodes/cc-align.el, lisp/net/soap-client.el:
99         Fix up commenting style.
101 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
103         text-quoting-style in emacs-lisp diagnostics
104         * lisp/emacs-lisp/advice.el (ad-read-advised-function)
105         (ad-read-advice-class, ad-read-advice-name, ad-enable-advice)
106         (ad-disable-advice, ad-remove-advice, ad-set-argument)
107         (ad-set-arguments):
108         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand)
109         (byte-compile-unfold-lambda, byte-optimize-form-code-walker)
110         (byte-optimize-while, byte-optimize-apply):
111         * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode)
112         (byte-compile-log-file, byte-compile-format-warn)
113         (byte-compile-nogroup-warn, byte-compile-arglist-warn)
114         (byte-compile-cl-warn)
115         (byte-compile-warn-about-unresolved-functions)
116         (byte-compile-file, byte-compile-fix-header)
117         (byte-compile--declare-var, byte-compile-file-form-defmumble)
118         (byte-compile-form, byte-compile-normal-call)
119         (byte-compile-variable-ref, byte-compile-variable-set)
120         (byte-compile-subr-wrong-args, byte-compile-setq-default)
121         (byte-compile-negation-optimizer)
122         (byte-compile-condition-case--old)
123         (byte-compile-condition-case--new, byte-compile-save-excursion)
124         (byte-compile-defvar, byte-compile-autoload)
125         (byte-compile-lambda-form)
126         (byte-compile-make-variable-buffer-local, display-call-tree)
127         (batch-byte-compile):
128         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use)
129         (cconv-analyze-form):
130         * lisp/emacs-lisp/chart.el (chart-space-usage):
131         * lisp/emacs-lisp/check-declare.el (check-declare-scan)
132         (check-declare-warn, check-declare-file)
133         (check-declare-directory):
134         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
135         (checkdoc-message-text-engine):
136         * lisp/emacs-lisp/cl-extra.el (cl-parse-integer):
137         * lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause, cl-tagbody)
138         (cl-symbol-macrolet):
139         * lisp/emacs-lisp/cl.el (cl-unload-function, flet):
140         * lisp/emacs-lisp/copyright.el (copyright)
141         (copyright-update-directory):
142         * lisp/emacs-lisp/edebug.el (edebug-read-list):
143         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-read):
144         * lisp/emacs-lisp/eieio-core.el (eieio--slot-override)
145         (eieio-oref, eieio-oset-default):
146         * lisp/emacs-lisp/eieio-speedbar.el:
147         (eieio-speedbar-child-make-tag-lines)
148         (eieio-speedbar-child-description):
149         * lisp/emacs-lisp/eieio.el (defclass, change-class):
150         * lisp/emacs-lisp/elint.el (elint-file, elint-get-top-forms)
151         (elint-init-form, elint-check-defalias-form)
152         (elint-check-let-form):
153         * lisp/emacs-lisp/ert.el (ert-get-test):
154         * lisp/emacs-lisp/find-func.el (find-function-search-for-symbol)
155         (find-function-library):
156         * lisp/emacs-lisp/generator.el (iter-yield):
157         * lisp/emacs-lisp/gv.el (gv-define-simple-setter):
158         * lisp/emacs-lisp/lisp-mnt.el (lm-verify):
159         * lisp/emacs-lisp/package-x.el (package-upload-file):
160         * lisp/emacs-lisp/package.el (package-version-join)
161         (package-disabled-p, package-activate-1, package-activate)
162         (package--download-one-archive)
163         (package--download-and-read-archives)
164         (package-compute-transaction, package-install-from-archive)
165         (package-install, package-install-selected-packages)
166         (package-delete, package-autoremove)
167         (package-install-button-action, package-delete-button-action)
168         (package-menu-hide-package, package-menu--list-to-prompt)
169         (package-menu--perform-transaction)
170         (package-menu--find-and-notify-upgrades):
171         * lisp/emacs-lisp/pcase.el (pcase-exhaustive, pcase--u1):
172         * lisp/emacs-lisp/re-builder.el (reb-enter-subexp-mode):
173         * lisp/emacs-lisp/ring.el (ring-next, ring-previous):
174         * lisp/emacs-lisp/rx.el (rx-check, rx-anything):
175         * lisp/emacs-lisp/smie.el (smie-config-save):
176         * lisp/emacs-lisp/subr-x.el (internal--check-binding):
177         * lisp/emacs-lisp/testcover.el (testcover-1value):
178         Use curved quotes in diagnostic format strings.
180 2015-08-21  Fabián Ezequiel Gallina  <fgallina@gnu.org>
182         python.el: Ensure remote process-environment on non-interactive processes
183         * lisp/progmodes/python.el
184         (python-shell-tramp-refresh-process-environment): New function.
185         (python-shell-with-environment): Use it.
186         * test/automated/python-tests.el (python-shell-with-environment-2): Update.
188         python.el: Enhancements to process environment setup.
189         * lisp/progmodes/python.el (python-shell-process-environment)
190         (python-shell-extra-pythonpaths, python-shell-exec-path)
191         (python-shell-virtualenv-root): Update docstring.  Remove :safe.
192         (python-shell-setup-codes): Remove :safe.
193         (python-shell-remote-exec-path): New defcustom.
194         (python-shell--add-to-path-with-priority): New macro.
195         (python-shell-calculate-pythonpath): Give priority to
196         python-shell-extra-pythonpaths.  Update docstring.
197         (python-shell-calculate-process-environment): Give priority to
198         python-shell-process-environment.  Update docstring.
199         (python-shell-calculate-exec-path): Give priority to
200         python-shell-exec-path and calculated virtualenv bin directory.
201         Update docstring.
202         (python-shell-tramp-refresh-remote-path): New function.
203         (python-shell-with-environment): Use it when working remotely and
204         do not modify tramp-remote-path.  Allow nesting.
205         (python-shell-calculate-command): Remove useless
206         python-shell-with-environment call.
207         * test/automated/python-tests.el (python-shell-calculate-pythonpath-1)
208         (python-shell-calculate-pythonpath-2)
209         (python-shell-calculate-process-environment-6)
210         (python-shell-calculate-process-environment-7)
211         (python-shell-calculate-process-environment-8)
212         (python-shell-calculate-exec-path-3)
213         (python-shell-calculate-exec-path-4)
214         (python-shell-calculate-exec-path-5)
215         (python-shell-calculate-exec-path-6)
216         (python-shell-with-environment-3): New tests.
217         (python-shell-calculate-process-environment-2)
218         (python-shell-calculate-process-environment-3)
219         (python-shell-calculate-process-environment-4)
220         (python-shell-calculate-process-environment-5)
221         (python-shell-calculate-exec-path-1)
222         (python-shell-calculate-exec-path-2)
223         (python-shell-with-environment-1)
224         (python-shell-with-environment-2): Update and simplify.
226 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
228         Avoid hard-coding "M-x command" in docstrings
229         * lisp/calendar/todo-mode.el (todo-mode):
230         * lisp/desktop.el (desktop-save-mode):
231         * lisp/edmacro.el (edit-kbd-macro):
232         * lisp/emacs-lisp/package.el (package-menu-execute):
233         * lisp/emulation/viper-cmd.el (viper-ask-level):
234         * lisp/emulation/viper-init.el (viper-expert-level):
235         * lisp/filesets.el (filesets-add-buffer):
236         * lisp/follow.el (follow-mode):
237         * lisp/gnus/auth-source.el (auth-sources):
238         * lisp/international/ogonek.el (ogonek-informacja)
239         (ogonek-information):
240         * lisp/net/tramp.el (tramp-process-actions):
241         * lisp/org/org-gnus.el (org-gnus-no-new-news):
242         * lisp/org/org.el (org-ellipsis):
243         * lisp/progmodes/python.el (python-shell-get-process-or-error):
244         * lisp/progmodes/vhdl-mode.el (vhdl-mode):
245         * lisp/server.el (server-start):
246         * lisp/type-break.el (type-break-noninteractive-query):
247         * lisp/userlock.el (ask-user-about-supersession-help):
248         * lisp/whitespace.el (whitespace-report-region):
249         Prefer (substitute-command-keys "`\\[foo-command]'")
250         to "`M-x foo-command'" in docstrings and the like.
252 2015-08-21  Tassilo Horn  <tsdh@gnu.org>
254         Use add-function for prettify-symbols-compose-predicate
255         * lisp/textmodes/tex-mode.el (tex-common-initialization): Set
256         prettify-symbols-compose-predicate in terms of add-function.
257         * etc/NEWS: Mention prettify-symbols-compose-predicate and
258         prettify-symbols-mode support in tex-mode.
260 2015-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
262         * lisp/emacs-lisp/smie.el (smie-indent-current-column): New fun
263         (smie-indent-exps, smie-indent-keyword): Use it.
264         * test/indent/css-mode.css: Test alignment with leading comment.
266 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
268         Respect text-quoting-style in (*Finder*) menus
269         * lisp/info.el (info--prettify-description):
270         Treat description as a docstring, so that it's requoted as
271         per text-quoting-style.
273 2015-08-21  Martin Rudalics  <rudalics@gmx.at>
275         Document `window-use-time' in Elisp manual
276         * doc/lispref/windows.texi (Selecting Windows): Document `window-use-time'.
278 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
280         A better fix for bug#21303
281         * src/w32uniscribe.c (_WIN32_WINNT): Define to 0x0600.  This is a
282         cleaner fix for Bug#21260 than the previous change.
284 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
286         Respect text-quoting-style in calc
287         In calc, tespect text-quoting-style preference in diagnostic
288         formats and fix a few similar problems in docstrings.
289         * lisp/calc/calc-aent.el (math-read-factor):
290         * lisp/calc/calc-embed.el (calc-do-embedded):
291         * lisp/calc/calc-ext.el (calc-user-function-list)
292         * lisp/calc/calc-graph.el (calc-graph-show-dumb):
293         * lisp/calc/calc-help.el (calc-describe-key)
294         (calc-describe-thing):
295         * lisp/calc/calc-lang.el (calc-c-language)
296         (math-parse-fortran-vector-end, math-parse-tex-sum)
297         (math-parse-eqn-matrix, math-parse-eqn-prime)
298         (calc-yacas-language, calc-maxima-language, calc-giac-language)
299         (math-read-big-rec, math-read-big-balance):
300         * lisp/calc/calc-mode.el (calc-auto-why, calc-save-modes)
301         (calc-auto-recompute):
302         * lisp/calc/calc-prog.el (calc-user-define-invocation)
303         (math-do-arg-check):
304         * lisp/calc/calc-store.el (calc-edit-variable):
305         * lisp/calc/calc-units.el (math-build-units-table-buffer):
306         * lisp/calc/calc-vec.el (math-read-brackets):
307         * lisp/calc/calc-yank.el (calc-edit-mode):
308         * lisp/calc/calc.el (calc, calc-do, calc-user-invocation):
309         Use curved quotes in diagnostic format strings.
310         * lisp/calc/calc-help.el (calc-describe-thing):
311         Format docstrings with substitute-command-keys.
312         * lisp/calc/calc-help.el (calc-j-prefix-help):
313         * lisp/calc/calc-misc.el (calc-help):
314         * lisp/calc/calc-ext.el (calc-shift-Z-prefix-help):
315         Escape a docstring "`".
317 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
319         Fix documentation of 'menu-set-font' and 'set-frame-font'
320         * lisp/menu-bar.el (menu-set-font): Doc fix.  (Bug#21303)
321         * doc/lispref/frames.texi (Frame Font): Document that
322         set-frame-font with the last argument 't' will also make the font
323         the default for the future GUI frames.
325         Document '--create-frame' option to emacsclient
326         * doc/emacs/misc.texi (emacsclient Options): Document the
327         '--create-frame' option.  (Bug#21308)
329 2015-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
331         * lisp/progmodes/js.el (js-mode): Don't eagerly syntax propertize.
333 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
335         Document 'get-mru-window' in the ELisp manual
336         * doc/lispref/windows.texi (Cyclic Window Ordering): Document
337         'get-mru-window'.  (Bug#21306)
339         Clarify documentation of 'get-buffer-window-list'
340         * doc/lispref/windows.texi (Buffers and Windows): Mention that the
341         current window, if relevant, will be the first in the list
342         returned by 'get-buffer-window-list'.
343         * lisp/window.el (get-buffer-window-list): Doc fix.  (Bug#21305)
345 2015-08-21  Vasilij Schneidermann  <v.schneidermann@gmail.com>
347         In `ielm' use `pop-to-buffer-same-window' instead of `switch-to-buffer'
348         * lisp/ielm.el (ielm): Use `pop-to-buffer-same-window' instead of
349         `switch-to-buffer'.
351 2015-08-21  Kaushal  <kaushal.modi@gmail.com>  (tiny change)
353         In woman.el use `display-buffer' instead of `switch-to-buffer'
354         * lisp/woman.el (woman-really-find-file, WoMan-find-buffer): Use
355         `display-buffer' instead of `switch-to-buffer'.
357 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
359         Follow user preference in calendar diagnostics
360         Respect text-quoting-style preference in diagnostic formats by
361         using curved quotes (which are translated as per text-quoting-style)
362         instead of grave accent and apostrophe (which are not).
363         * lisp/calendar/appt.el (appt-display-message):
364         * lisp/calendar/diary-lib.el (diary-check-diary-file)
365         (diary-mail-entries, diary-from-outlook):
366         * lisp/calendar/icalendar.el (icalendar-export-region)
367         (icalendar--convert-float-to-ical)
368         (icalendar--convert-date-to-ical)
369         (icalendar--convert-ical-to-diary)
370         (icalendar--convert-recurring-to-diary)
371         (icalendar--add-diary-entry):
372         * lisp/calendar/time-date.el (format-seconds):
373         * lisp/calendar/timeclock.el (timeclock-mode-line-display)
374         (timeclock-make-hours-explicit):
375         * lisp/calendar/todo-mode.el (todo-prefix, todo-delete-category)
376         (todo-item-mark, todo-check-format)
377         (todo-insert-item--next-param, todo-edit-item--next-key)
378         (todo-mode):
379         Use curved quotes in diagnostic format strings.
380         * lisp/calendar/icalendar.el (icalendar-import-format-sample):
381         * test/automated/icalendar-tests.el (icalendar--import-format-sample):
382         Just use straight quoting for simple test case.
384 2015-08-21  Michael Albinus  <michael.albinus@gmx.de>
386         * src/gfilenotify.c (Fgfile_add_watch):
387         Handle errors from g_file_monitor.
389 2015-08-21  Martin Rudalics  <rudalics@gmx.at>
391         In frames.texi use "minibuffer-less frame" instead of "non-minibuffer frame"
392         * doc/lispref/frames.texi (Frame Layout): Use "minibuffer-less
393         frame" instead of "non-minibuffer frame".
395         Fix frame geometry related text
396         * doc/lispref/frames.texi (Frame Layout): Rename
397         `x-frame-geometry' to `frame-geometry'.
398         * doc/lispref/frames.texi (Mouse Position):
399         * doc/lispref/windows.texi (Coordinates and Windows): Use
400         `set-mouse-absolute-pixel-position' instead of
401         `x-set-mouse-absolute-pixel-position'.
403         Sanitize frame geometry related functions
404         * src/nsfns.m (Fx_frame_geometry): Rename to Fns_frame_geometry.
405         (Fx_frame_edges): Rename to Fns_frame_edges.
406         * src/w32fns.c (Fx_frame_geometry): Rename to Fw32_frame_geometry.
407         (Fx_frame_edges): Rename to Fw32_frame_edges.
408         (Fx_mouse_absolute_pixel_position): Rename to
409         Fw32_mouse_absolute_pixel_position.
410         (Fx_set_mouse_absolute_pixel_position): Rename to
411         Fw32_set_mouse_absolute_pixel_position.
412         * lisp/frame.el (x-frame-geometry, w32-frame-geometry)
413         (ns-frame-geometry, x-frame-edges, w32-frame-edges)
414         (ns-frame-edges, w32-mouse-absolute-pixel-position)
415         (x-mouse-absolute-pixel-position)
416         (w32-set-mouse-absolute-pixel-position)
417         (x-set-mouse-absolute-pixel-position): Declare.
418         (frame-geometry, mouse-absolute-pixel-position)
419         (set-mouse-absolute-pixel-position): New functions.
420         (frame-edges): Rewrite in terms of x-/w32-/ns-frame-edges.
422 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
424         Fix MinGW64 build broken by latest w32uniscribe.c changes
425         * src/w32uniscribe.c (UNISCRIBE_OPENTYPE): Define to 0x0100, for
426         MinGW64.  Reported by Andy Moreton <andrewjmoreton@gmail.com>.
427         (Bug#21260)
429 2015-08-21  Tassilo Horn  <tsdh@gnu.org>
431         Add TeX defaults for prettify-symbol-mode
432         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Rename
433         from tex-prettify-symbols-alist.
434         (tex--prettify-symbols-compose-p): New function.
435         (tex-common-initialization): Use them as prettify-symbols-alist
436         and prettify-symbols-compose-predicate.
438         Generalize prettify-symbols to arbitrary modes
439         * lisp/progmodes/prog-mode.el
440         (prettify-symbols-default-compose-p): New function.
441         (prettify-symbols-compose-predicate): New variable.
442         (prettify-symbols--compose-symbol): Use it.
444 2015-08-20  Paul Eggert  <eggert@cs.ucla.edu>
446         Don't quote symbols 'like-this' in docstrings etc.
447         * admin/unidata/uvs.el (uvs-insert-fields-as-bytes):
448         * lisp/allout-widgets.el (allout-widgets-count-buttons-in-region):
449         * lisp/allout.el (allout-add-resumptions, allout-mode):
450         * lisp/calculator.el (calculator-operators):
451         * lisp/cedet/data-debug.el (dd-propertize):
452         * lisp/cedet/ede/proj-prog.el (ede-proj-target-makefile-program):
453         * lisp/cedet/semantic/analyze/debug.el:
454         (semantic-analyzer-debug-global-miss-text):
455         * lisp/cedet/semantic/lex-spp.el:
456         (semantic-lex-spp-replace-or-symbol-or-keyword):
457         * lisp/cedet/semantic/symref.el:
458         (semantic-symref-cleanup-recent-buffers-fcn):
459         * lisp/cedet/semantic/tag.el (semantic-tag-class):
460         * lisp/cedet/srecode/el.el (srecode-semantic-handle-:el-custom):
461         * lisp/gnus/nnmairix.el (nnmairix-propagate-marks-upon-close):
462         * lisp/gnus/pop3.el (pop3-authentication-scheme):
463         * lisp/help-fns.el (describe-function-orig-buffer):
464         * lisp/imenu.el (imenu--history-list):
465         * lisp/mail/feedmail.el (feedmail-confirm-outgoing)
466         (feedmail-display-full-frame, feedmail-deduce-bcc-where)
467         (feedmail-queue-default-file-slug)
468         (feedmail-queue-buffer-file-name):
469         * lisp/net/mairix.el (mairix-searches-mode-map):
470         * lisp/net/newst-backend.el (newsticker-retrieval-method)
471         (newsticker-auto-mark-filter-list):
472         * lisp/obsolete/vi.el (vi-mode):
473         * lisp/progmodes/cc-engine.el (c-literal-type):
474         * lisp/progmodes/cpp.el (cpp-face):
475         * lisp/progmodes/ebrowse.el (ebrowse-electric-list-looper):
476         * lisp/progmodes/elisp-mode.el (elisp--xref-make-xref):
477         * lisp/progmodes/pascal.el (pascal-auto-lineup):
478         * lisp/progmodes/prog-mode.el (prog-widen):
479         * lisp/progmodes/verilog-mode.el (verilog-regexp-words)
480         (verilog-auto-lineup, verilog-auto-reset-widths)
481         (verilog-auto-arg-format, verilog-auto-inst-template-numbers):
482         * lisp/textmodes/flyspell.el (flyspell-maybe-correct-transposition)
483         (flyspell-maybe-correct-doubling):
484         * lisp/textmodes/table.el (table-justify, table-justify-cell)
485         (table-justify-row, table-justify-column, table-insert-sequence)
486         (table--justify-cell-contents):
487         * lisp/url/url-auth.el (url-get-authentication):
488         * lisp/window.el (display-buffer-record-window):
489         * lisp/xml.el (xml-parse-file, xml-parse-region):
490         * src/gfilenotify.c (Fgfile_add_watch):
491         Don't quote symbols with apostrophes in doc strings.
492         Use asymmetric quotes instead.
493         * lisp/cedet/semantic/complete.el (semantic-displayor-show-request):
494         Likewise for symbol in diagnostic.
495         * lisp/image.el (image-extension-data):
496         * lisp/register.el (frame-configuration-to-register):
497         * src/buffer.c (syms_of_buffer):
498         Remove bogus apostrophes after symbols.
499         * lisp/thumbs.el (thumbs-conversion-program):
500         Quote Lisp string values using double-quotes, not apostrophes.
502 2015-08-20  Martin Rudalics  <rudalics@gmx.at>
504         Describe frame geometry and related functions in Elisp manual
505         * doc/lispref/display.texi (Size of Displayed Text, Line Height)
506         (Showing Images): Update references.
507         * doc/lispref/elisp.texi (Top): Update node listing.
508         * doc/lispref/frames.texi (Frame Geometry): New node.  Move
509         `Size and Position' section here.
510         (Size Parameters): Update references.
511         (Mouse Position): Update references and nomenclature.  Describe
512         new functions `x-mouse-absolute-pixel-position' and
513         `x-set-mouse-absolute-pixel-position'.
514         * doc/lispref/windows.texi (Window Sizes): Update references.
515         (Resizing Windows): Update references.  Move description of
516         `fit-frame-to-buffer' here.
517         (Coordinates and Windows): Update nomenclature and references.
518         Describe new arguments of `window-edges'.  Comment out
519         descriptions of `window-left-column', `window-top-line',
520         `window-pixel-left' and `window-pixel-top'.  Describe
521         `window-absolute-pixel-position'.
523 2015-08-20  Alan Mackenzie  <acm@muc.de>
525         Handling of `c-parse-state'.  Fix low level bug.
526         progmodes/cc-engine.el (c-remove-stale-state-cache-backwards): Add
527         "CASE 3.5" to handle `cache-pos' being only slightly before `here'.
529 2015-08-20  Andreas Politz  <politza@hochschule-trier.de>
531         In `widget-color--choose-action' quit *Color* window instead of deleting it
532         * lisp/wid-edit.el (widget-color--choose-action): Quit *Color*
533         window instead of deleting it.
535 2015-08-20  Martin Rudalics  <rudalics@gmx.at>
537         In w32fns.c's Fx_frame_geometry rewrite check whether frame has a titlebar
538         * src/w32fns.c (Fx_frame_geometry): Use title_bar.rgstate[0] to
539         determine whether frame has a titlebar.
540         Suggested by Eli Zaretskii <eliz@gnu.org>
542 2015-08-20  Tassilo Horn  <tsdh@gnu.org>
544         Add a prettify-symbols-alist for (La)TeX
545         * tex-mode.el (tex-prettify-symbols-alist): New variable holding
546         an alist suitable as prettify-symbols-alist in (La)TeX modes.
548 2015-08-19  Alan Mackenzie  <acm@muc.de>
550         Make electric-pair-mode, delete-selection-mode and CC Mode cooperate.
551         Fixes debbugs#21275.
552         In Emacs >= 25, let electric-pair-mode take precedence over
553         delete-selection-mode.
554         delsel.el (delete-selection-uses-region-p): New function, previously a
555         lambda expression in a property value for `self-insert-command'.
556         (top-level) Set the `delete-selection' property of `self-insert-command'
557         to `delete-selection-uses-region-p'.
558         progmodes/cc-cmds.el (top-level): Give the `delete-selection' property
559         for c-electric-\(brace\|paren\) the value `delete-selection-uses-region-p'
560         when the latter function exists.
562 2015-08-19  Paul Eggert  <eggert@cs.ucla.edu>
564         Fix key binding quoting in tutorial *Help*
565         * lisp/tutorial.el (tutorial--describe-nonstandard-key):
566         When generating help for custom key bindings, use the user-preferred
567         quoting style rather than hardcoding the grave style.
569 2015-08-19  Eli Zaretskii  <eliz@gnu.org>
571         Improve and future-proof OTF fonts support in w32uniscribe.c
572         * src/w32uniscribe.c (uniscribe_otf_capability): Add commentary
573         about the expected results and why the new Uniscribe APIs are not
574         used in this function.
575         (ScriptGetFontScriptTags_Proc, ScriptGetFontLanguageTags_Proc)
576         (ScriptGetFontFeatureTags_Proc): New function typedefs.
577         (uniscribe_new_apis): New static variable.
578         (uniscribe_check_features): New function, implements OTF features
579         verification while correctly accounting for features in the list
580         after the nil member, if any.
581         (uniscribe_check_otf_1): New function, retrieves the features
582         supported by the font for the requested script and language using
583         the Uniscribe APIs available from Windows Vista onwards.
584         (uniscribe_check_otf): If the new Uniscribe APIs are available,
585         use them in preference to reading the font data directly.  Call
586         uniscribe_check_features to verify that the requested features are
587         supported, replacing the original incomplete code.
588         (syms_of_w32uniscribe): Initialize function pointers for the new
589         Uniscribe APIs.  (Bug#21260)
590         (otf_features): Scan the script, langsys, and feature arrays back
591         to front, so that the result we return has them in alphabetical
592         order, like ftfont.c does.
593         * src/w32fns.c (syms_of_w32fns) <w32-disable-new-uniscribe-apis>:
594         New variable for debugging w32uniscribe.c code.
596 2015-08-19  Artur Malabarba  <bruce.connor.am@gmail.com>
598         * isearch.el (isearch-search-fun-default): Revert a5bdb87
599         Remove usage of `isearch-lax-whitespace' inside the `iearch-word'
600         clause of `isearch-search-fun-default'. That lax variable does not
601         refer to lax-whitespacing.  Related to (bug#21777).
602         This reverts commit a5bdb872edb9f031fe041faf9a8c0be432e5f64c.
603         * character-fold.el (character-fold-search): Set to nil
604         Default to nil for now, until someone implements proper
605         lax-whitespacing with char-fold searching.
607 2015-08-19  Martin Rudalics  <rudalics@gmx.at>
609         Fix doc-string of `help-mode-finish'.
610         * lisp/help-mode.el (help-mode-finish): Fix doc-string.
612         In nsimage.m include coding.h (Bug#21292)
613         * src/nsimage.m (top-level): Include coding.h (Bug#21292).
615         Move window edge functions to Elisp.
616         * src/window.c (Fwindow_edges, Fwindow_pixel_edges)
617         (Fwindow_absolute_pixel_edges, Fwindow_inside_edges)
618         (Fwindow_inside_pixel_edges, Fwindow_inside_absolute_pixel_edges):
619         Move to window.el.
620         (calc_absolute_offset): Remove.
621         * lisp/frame.el (frame-edges): New function.
622         * lisp/window.el (window-edges, window-pixel-edges)
623         (window-absolute-pixel-edges): Move here from window.c.
624         (window-body-edges, window-body-pixel-edges)
625         (window-absolute-body-pixel-edges): Move here from window.c and
626         rename "inside" to "body".  Keep old names as aliases.
627         (window-absolute-pixel-position): New function.
629 2015-08-19  Katsumi Yamaoka  <yamaoka@jpl.org>
631         [Gnus]: Use overlay functions directly
632         * lisp/gnus/gnus-art.el (gnus-mime-inline-part, gnus-mm-display-part)
633         (gnus-insert-mime-button, gnus-mime-buttonize-attachments-in-header)
634         (gnus-article-highlight-signature, gnus-article-extend-url-button)
635         (gnus-article-add-button, gnus-insert-prev-page-button)
636         (gnus-insert-next-page-button, gnus-insert-mime-security-button):
637         * lisp/gnus/gnus-cite.el (gnus-cite-delete-overlays)
638         (gnus-cite-add-face):
639         * lisp/gnus/gnus-html.el (gnus-html-wash-tags):
640         * lisp/gnus/gnus-salt.el (gnus-tree-read-summary-keys)
641         (gnus-tree-recenter, gnus-highlight-selected-tree):
642         * lisp/gnus/gnus-sum.el (gnus-summary-show-all-threads)
643         (gnus-summary-show-thread, gnus-summary-hide-thread)
644         (gnus-highlight-selected-summary):
645         * lisp/gnus/gnus-util.el (gnus-put-overlay-excluding-newlines):
646         * lisp/gnus/message.el (message-fix-before-sending)
647         (message-toggle-image-thumbnails):
648         * lisp/gnus/mm-decode.el (mm-convert-shr-links):
649         * lisp/gnus/sieve.el (sieve-highlight, sieve-insert-scripts):
650         Use overlay functions directly instead of using gnus-overlay-*,
651         message-overlay-*, and sieve-overlay-*.
652         * lisp/gnus/gnus-sum.el (gnus-remove-overlays):
653         * lisp/gnus/gnus.el (gnus-make-overlay, gnus-copy-overlay)
654         (gnus-delete-overlay, gnus-overlay-get, gnus-overlay-put)
655         (gnus-move-overlay, gnus-overlay-buffer, gnus-overlay-start)
656         (gnus-overlay-end, gnus-overlays-at, gnus-overlays-in):
657         * lisp/gnus/message.el (message-delete-overlay, message-make-overlay)
658         (message-overlay-get, message-overlay-put, message-overlays-in):
659         * lisp/gnus/sieve.el (sieve-make-overlay, sieve-overlay-put)
660         (sieve-overlays-at):
661         Remove.
663 2015-08-19  Martin Rudalics  <rudalics@gmx.at>
665         In w32fns.c condition TITLEBAR_INFO declaration on WINDOWS version.
666         * src/w32fns.c (TITLEBAR_INFO): Make it a typedef so MinGW64
667         builds can use the declaration from the system headers.
668         (GetTitleBarInfo_Proc, Fx_frame_geometry): Adapt to new
669         definition of TITLEBAR_INFO.
670         Suggested by Eli Zaretskii  <eliz@gnu.org>
672 2015-08-19  Glenn Morris  <rgm@gnu.org>
674         * lisp/gnus/nnmaildir.el (nnmaildir-flag-mark-mapping): Add "P".
676 2015-08-19  Paul Eggert  <eggert@cs.ucla.edu>
678         Use new q ‘format’ flag when fixing quotes in C
679         * src/image.c (image_size_error): New function.  All uses of
680         image_error with "Invalid image size ..."  changed to use it.
681         * src/image.c (image_size_error, xbm_load_image, xbm_load)
682         (xpm_load, xpm_load_image, xpm_load, pbm_load, png_load_body)
683         (jpeg_load_body, tiff_load, gif_load, imagemagick_load_image)
684         (imagemagick_load, svg_load, svg_load_image, gs_load)
685         (x_kill_gs_process):
686         * src/lread.c (load_warn_old_style_backquotes):
687         * src/xfaces.c (load_pixmap):
688         * src/xselect.c (x_clipboard_manager_error_1):
689         Use %qs, not uLSQM and uRSQM.
690         * src/syntax.c (Finternal_describe_syntax_value):
691         Prefer Fsubstitute_command_keys to Fformat, as this lets
692         us use AUTO_STRING.
693         * src/xdisp.c (vadd_to_log): Use AUTO_STRING on the format argument,
694         as it's now guaranteed to be ASCII.
695         * src/xselect.c (x_clipboard_manager_error_2):
696         Avoid grave accent in low-level stderr diagnostic.
698 2015-08-19  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
700         New q flag for ‘format’
701         * doc/lispref/processes.texi (Sentinels):
702         Don't hardwire grave quoting style in example.
703         * doc/lispref/strings.texi (Formatting Strings):
704         * etc/NEWS:
705         Document new q flag.
706         * src/editfns.c (Fformat): Implement it.
708 2015-08-18  Daiki Ueno  <ueno@gnu.org>
710         pinentry.el: Add debugging support
711         * lisp/net/pinentry.el (pinentry-debug): New variable.
712         (pinentry-debug-buffer): New variable.
713         (pinentry--process-filter): Send input to the debug buffer, if
714         `pinentry-debug' is set.
716         pinentry.el: Improve multiline prompt
717         * lisp/net/pinentry.el (pinentry--prompt): Simplify the interface.
718         (pinentry--process-filter): Use `pinentry--prompt' for CONFIRM
719         command.
721 2015-08-18  Paul Eggert  <eggert@cs.ucla.edu>
723         Fix multibyte confusion in diagnostics
724         * src/print.c (print_error_message):
725         Don't assume that the caller's name is unibyte.
726         * src/xdisp.c (vadd_to_log):
727         Don't assume that the formatted diagnostic is unibyte.
729         Fix file name encodings in diagnostics
730         Also, close some minor races when opening image files, by opening
731         them once instead of multiple times.
732         * src/gtkutil.c (xg_get_image_for_pixmap):
733         * src/image.c (xpm_load, tiff_load, gif_load, imagemagick_load)
734         (svg_load):
735         * src/nsimage.m (allocInitFromFile:):
736         * src/xfns.c (xg_set_icon):
737         Encode file name, since x_find_image_file no longer does that.
738         * src/image.c (x_find_image_fd): New function.
739         (x_find_image_file): Use it.  Do not encode resulting file name,
740         since callers sometimes need it decoded.
741         (slurp_file): File arg is now a fd, not a file name.
742         All callers changed.  This saves us having to open the file twice.
743         (xbm_load, xpm_load, pbm_load, png_load_body, jpeg_load_body)
744         (svg_load):
745         Use x_find_image_fd and fdopen to save a file-open.
746         Report file name that failed.
747         * src/lread.c (openp): If PREDICATE is t, open the file in binary mode.
749 2015-08-18  Dmitry Gutov  <dgutov@yandex.ru>
751         Allow blink-matching-paren to jump off screen
752         * doc/emacs/programs.texi (Matching): Mention the
753         `blink-matching-paren' value `jump-offscreen'.
754         * lisp/simple.el (blink-matching-paren): New possible value.
755         (blink-matching-paren-on-screen): Clarify the docstring.
756         (blink-matching-open): Handle `jump-offscreen' (bug#21286).
758         Refine the previous change
759         * lisp/simple.el (blink-matching-open): Use minibuffer-message
760         outside of save-excursion (bug#21286).
762 2015-08-18  Martin Rudalics  <rudalics@gmx.at>
764         Rewrite and add frame geometry related functions.
765         * src/frame.c (Fframe_position): New function.
766         (Fset_frame_position): Rename parameters and rewrite doc-string.
767         (syms_of_frame): Remove Qframe_position, Qframe_outer_size,
768         Qtitle_height and Qframe_inner_size.  Add Qouter_edges,
769         Qouter_position, Qouter_size, Qnative_edges, Qinner_edges,
770         Qtitle_bar_size.
771         * src/nsfns.m (frame_geometry): New function.
772         (Fx_frame_geometry): Call frame_geometry.
773         (Fx_frame_edges): New function.
774         * src/w32fns.c (C_CHILDREN_TITLEBAR, TITLEBAR_INFO)
775         (GetTitleBarInfo_Proc): Define these so we can use the
776         GetTitleBarInfo API.
777         (Fw32_frame_menu_bar_size, Fw32_frame_rect): Remove.
778         (Fx_frame_geometry): Rewrite.
779         (Fx_frame_edges, Fx_mouse_absolute_pixel_position)
780         (Fx_set_mouse_absolute_pixel_position): New functions.
781         * src/xfns.c (frame_geometry): New function.
782         (Fx_frame_geometry): Call frame_geometry.
783         (Fx_frame_edges, Fx_mouse_absolute_pixel_position)
784         (Fx_set_mouse_absolute_pixel_position): New functions.
786 2015-08-18  Michael Albinus  <michael.albinus@gmx.de>
788         Improve Tramp's compatibility
789         * lisp/net/tramp.el (tramp-get-method-parameter):
790         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
791         (tramp-adb-get-device):
792         * lisp/net/trampver.el (tramp-repository-get-version):
793         Use `tramp-compat-replace-regexp-in-string'.
795 2015-08-18  Pierre Téchoueyres  <Pierre.Techoueyres@gfi.fr>  (tiny change)
797         * lisp/net/tramp-cmds.el (tramp-reporter-dump-variable):
798         Encode/decode string.
800 2015-08-18  Paul Eggert  <eggert@cs.ucla.edu>
802         Clarify what happens to match data on failure
803         Problem reported by Ernesto Alfonso (Bug#21279).
804         * doc/lispref/searching.texi (Regexp Search, Simple Match Data):
805         Document more carefully what happens to match data after a failed
806         search.
807         * src/search.c (Fmatch_beginning, Fmatch_end): Document that
808         the return value is undefined if the last search failed.
809         (Fmatch_data): Simplify doc string line 1.
811 2015-08-18  Daiki Ueno  <ueno@gnu.org>
813         Revert "pinentry.el: Support external passphrase cache"
814         This reverts commit e086e55a664ec27fbca7b3231c4b32cb78a89337.
815         pinentry.el shouldn't directly interact with the secrets service,
816         but ask the caller to cache the passphrase.
818 2015-08-17  Xue Fuqiao  <xfq.free@gmail.com>
820         * doc/emacs/sending.texi (Mail Misc): Fix two index entries for
821         Message mode hooks.
823 2015-08-17  Daiki Ueno  <ueno@gnu.org>
825         epg.el: Make gpgconf output parsing future proof
826         * lisp/epg.el (epg--start): Count the number of fields in "gpgconf
827         --list-options" output.
829         pinentry.el: Support external passphrase cache
830         * lisp/net/pinentry.el (pinentry-use-secrets): New user option.
831         (pinentry--allow-external-password-cache): New local variable.
832         (pinentry--key-info): New local variable.
833         (secrets-enabled, secrets-search-items, secrets-get-secret):
834         Declare.
835         (pinentry--send-passphrase): New function, split from
836         `pinentry--process-filter'.
837         (pinentry--process-filter): Use secrets.el to retrieve passphrase
838         from login keyring.
840         pinentry.el: Popup window for multiline prompt
841         * lisp/net/pinentry.el (pinentry): New custom group.
842         (pinentry-popup-prompt-window): New user option.
843         (pinentry-prompt-window-height): New user option.
844         (pinentry--prompt-buffer): New variable.
845         (pinentry-prompt-mode-map): New variable.
846         (pinentry-prompt-mode): New function.
847         (pinentry--prompt): New function.
848         (pinentry--process-filter): Use `pinentry--prompt' instead of
849         `read-passwd' and `y-or-n-p'.
851 2015-08-17  Katsumi Yamaoka  <yamaoka@jpl.org>
853         message.el: Silent the byte compiler
854         * lisp/gnus/message.el (message-overlay-put, message-make-overlay)
855         (message-kill-all-overlays, message-overlays-in, message-overlay-get)
856         (message-delete-overlay, message-window-inside-pixel-edges):
857         Declare before using.
859         * lisp/gnus/message.el (message-overlay-get, message-overlays-in)
860         (message-window-inside-pixel-edges): XEmacs compatible functions.
862 2015-08-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
864         * message.el (message-toggle-image-thumbnails): New command.
866 2015-08-17  Noah Friedman  <friedman@splode.com>
868         (blink-matching-open): Restore point before calling minibuffer-message.
870 2015-08-17  Ronnie Schnell  <ronnie@driver-aces.com>
872         Update version number in header (now matches help)
874 2015-08-17  Paul Eggert  <eggert@cs.ucla.edu>
876         Curved quotes in --batch diagnostics in non-UTF-8
877         When run with --batch, check that curved quotes are compatible with
878         the system locale before outputting them in diagnostics.
879         Problem reported by Eli Zaretskii in:
880         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00594.html
881         * lisp/startup.el (command-line): Set internal--text-quoting-flag
882         after the standard display table is initialized.
883         * src/doc.c (default_to_grave_quoting_style): New function.
884         (text_quoting_style): Use it.
885         (text_quoting_flag): New static var, visible to Lisp as
886         internal--text-quoting-flag.
887         * src/emacs.c: Include <wchar.h> if available.
888         (using_utf8): New function.
889         (main): Use it to initialize text_quoting_flag.
890         * src/regex.h (btowc) [WIDE_CHAR_SUPPORT && emacs]:
891         Don't define, as it's not needed and it clashes with wchar.h.
893 2015-08-17  Glenn Morris  <rgm@gnu.org>
895         * doc/misc/tramp.texi (Configuration): Reword to avoid warning
896         from makeinfo about spurious "Note:" cross-reference, and for grammar.
898 2015-08-17  Ilya Zakharevich  <ilya@math.berkeley.edu>
900         Minor change in variable initialization on MS-Windows
901         * src/w32fns.c <after_dead_key>: Initialize to -1.
902         (deliver_wm_chars): If after_deadkey is zero, don't set after_dead
903         non-zero.
905         Fix a bug with LWindow key remapping on MS-Windows
906         * src/w32fns.c (deliver_wm_chars): Fix a typo.  (Bug#21276)
908 2015-08-17  Eli Zaretskii  <eliz@gnu.org>
910         Improve fontset support for latest OTF script tags
911         * lisp/international/fontset.el (otf-script-alist): Add some
912         missing script tags.
913         (setup-default-fontset): Include settings for v2 versions of the
914         script tags used by some modern OTF/TTF fonts.
916 2015-08-17  Paul Eggert  <eggert@cs.ucla.edu>
918         Spelling fixes
920 2015-08-16  Paul Eggert  <eggert@cs.ucla.edu>
922         Use curved quotes in core elisp diagnostics
923         In the core elisp files, use curved quotes in diagnostic formats,
924         so that they follow user preference as per ‘text-quoting-style’
925         rather than being hard-coded to quote `like this'.
926         * lisp/abbrev.el (expand-region-abbrevs):
927         * lisp/button.el (button-category-symbol, button-put)
928         (make-text-button):
929         * lisp/cus-start.el:
930         * lisp/custom.el (custom-add-dependencies, custom-check-theme)
931         (custom--sort-vars-1, load-theme):
932         * lisp/emacs-lisp/byte-run.el (defun, defsubst):
933         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric)
934         (cl-generic-generalizers):
935         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
936         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
937         * lisp/emacs-lisp/nadvice.el (advice--make-docstring)
938         (advice--make, define-advice):
939         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-put-tag):
940         * lisp/emacs-lisp/timer.el (timer-event-handler):
941         * lisp/env.el (setenv):
942         * lisp/facemenu.el (facemenu-add-new-face)
943         (facemenu-add-new-color):
944         * lisp/faces.el (face-documentation, read-face-name)
945         (face-read-string, read-face-font, face-spec-set-match-display)
946         (read-color, x-resolve-font-name):
947         * lisp/files.el (locate-user-emacs-file, find-alternate-file)
948         (set-auto-mode, hack-local-variables)
949         (hack-one-local-variable--obsolete)
950         (dir-locals-set-directory-class, write-file)
951         (basic-save-buffer, delete-directory, copy-directory)
952         (recover-session, recover-session-finish, insert-directory)
953         (file-modes-char-to-who, file-modes-symbolic-to-number)
954         (move-file-to-trash):
955         * lisp/font-lock.el (font-lock-fontify-buffer):
956         * lisp/format.el (format-write-file, format-find-file)
957         (format-insert-file):
958         * lisp/frame.el (get-device-terminal, select-frame-by-name):
959         * lisp/fringe.el (fringe--check-style):
960         * lisp/help.el (describe-minor-mode-from-indicator):
961         * lisp/image.el (image-type):
962         * lisp/international/fontset.el (x-must-resolve-font-name):
963         * lisp/international/mule-cmds.el (prefer-coding-system)
964         (select-safe-coding-system-interactively)
965         (select-safe-coding-system, activate-input-method)
966         (toggle-input-method, describe-current-input-method):
967         * lisp/international/mule-conf.el (code-offset):
968         * lisp/mouse.el (minor-mode-menu-from-indicator):
969         * lisp/replace.el (query-replace-read-from)
970         (occur-after-change-function, occur-1):
971         * lisp/scroll-bar.el (scroll-bar-columns):
972         * lisp/simple.el (execute-extended-command)
973         (undo-outer-limit-truncate, compose-mail, set-variable)
974         (choose-completion-string, define-alternatives):
975         * lisp/startup.el (site-run-file, tty-handle-args, )
976         (command-line, command-line-1):
977         * lisp/subr.el (noreturn, define-error, add-to-list)
978         (read-char-choice):
979         * lisp/term/common-win.el (x-handle-xrm-switch)
980         (x-handle-name-switch, x-handle-args):
981         * lisp/term/x-win.el (x-handle-parent-id, x-handle-smid):
982         Use curved quotes in diagnostics.
983         * lisp/international/mule.el (find-auto-coding):
984         Use " to quote in a diagnostic, to be consistent with the rest of
985         this file.
987         Convert lisp/term/x-win.el to UTF-8
988         * lisp/term/x-win.el: Convert to UTF-8.  This doesn't affect
989         runtime behavior, and the file is multilingual so compile-time
990         appearance shouldn't be an issue.
991         * admin/notes/unicode: Document this.
993 2015-08-16  Wilson Snyder  <wsnyder@wsnyder.org>
995         Update verilog-mode.el to 2015-05-14-6232468-vpo-GNU.
996             * losp/progmodes/verilog-mode.el: Fix some non-automated indent
997             issues and comments, bug943.  (verilog-type-font-keywords): Cycle
998             delay operators like ##1 and ##[0:$] are now highlighted in their
999             entirety similarly to the # delay-control operator.  Likewise, the
1000             followed-by operators #-# and #=# are no longer partially
1001             highlighed.  (verilog-backward-syntactic-ws-quick,
1002             verilog-skip-backward-comments): Minor performance improvements to
1003             buffer traversal functions for reduced latency.  (verilog-calc-1,
1004             verilog-in-deferred-immediate-final-p): When the keyword 'final'
1005             follows 'assert/assume/cover', then it is part of a deferred
1006             immediate assertion item and should not be treated as a final
1007             construct for indentation.  Reported by Yuri Sugihara.
1008             (verilog-do-indent): Virtual task/function/class definition lines
1009             should not be considered as declarations.  Reported by Enzo Chi.
1010             (verilog-do-indent): Do not falsely indent to '=' of
1011             property/sequence operators on subsequent lines of a multi-line
1012             statement.  (verilog-assignment-operator-re): Fix '!==' operator
1013             and add support for '<->', ':/', '#-#', and '#=#' operators.
1014             (verilog-calculate-indent, verilog-label-be): Enable
1015             case-sensitive regular expression parsing when looking for
1016             keywords.  (verilog-calc-1): Detect 'pure virtual method'
1017             declarations which exist in abstract classes.  Reported by Enzo
1018             Chi and Kaushal Modi.  (verilog-backward-ws&directives): When
1019             moving back to the start of a line and the preceeding line ended
1020             with an escaped-newline, then jump up one line.  This properly
1021             consumes a multi-line pre-processor directive.  Reported by
1022             Kaushal Modi.  (verilog-dpi-import-export-re,
1023             verilog-extended-complete-re, verilog-calc-1): Teach verilog-mode
1024             to properly indent after a DPI import/export statement that
1025             resides outside of a module.  Reported by Kaushal Modi.
1026             (verilog-extended-complete-re): Update regexp to match both
1027             "DPI-C" and "DPI".  Reported by Kaushal Modi.
1029 2015-08-15  Paul Eggert  <eggert@cs.ucla.edu>
1031         substitute-command-keys a few more doc strings
1032         * lisp/allout.el (outlineify-sticky):
1033         * lisp/files.el (hack-one-local-variable--obsolete):
1034         * lisp/help-fns.el (help-fns--obsolete, describe-variable):
1035         Use substitute-command-keys on some doc strings so that
1036         they don't use hard-coded key bindings or quoting styles.
1038         Fix quoting in Fformat calls
1039         * src/image.c (xbm_read_bitmap_data, xbm_load_image, xbm_load)
1040         (xpm_load, xpm_load_image, pbm_load, png_load_body)
1041         (jpeg_load_body, tiff_load, gif_load, imagemagick_load_image)
1042         (imagemagick_load, svg_load, svg_load_image, gs_load)
1043         (x_kill_gs_process):
1044         * src/lread.c (load_warn_old_style_backquotes):
1045         * src/xfaces.c (load_pixmap):
1046         * src/xselect.c (x_clipboard_manager_error_1):
1047         Quote diagnostics according to user preference when calling
1048         Fformat or its derivatives.
1050 2015-08-15  Glenn Morris  <rgm@gnu.org>
1052         * admin/admin.el (set-version, set-copyright): Remove deleted files.
1054 2015-08-15  Stephen Leake  <stephen_leake@stephe-leake.org>
1056         Allow describe-function helpers to access buffer-local values.
1057         This will be used by cedet/mode-local.el `describe-mode-local-override'
1058         on `help-fns-describe-function-functions' in upstream CEDET.
1059         * lisp/help-fns.el (describe-function-orig-buffer): New, let-bound in
1060         `describe-function'.
1061         (describe-function): Bind it, save it on the help xref stack.
1063         Handle pulse-background being nil
1064         * lisp/cedet/pulse.el (pulse-lighten-highlight): Inherit
1065         pulse-background, handle it being nil.
1067 2015-08-15  Paul Eggert  <eggert@cs.ucla.edu>
1069         Fix "\`" confusion in Lisp strings
1070         * admin/authors.el (authors-canonical-author-name):
1071         Fix typo by using "\\`" not "\`" in string RE.
1072         * lisp/obsolete/complete.el (PC-complete-as-file-name):
1073         * lisp/obsolete/vi.el (vi-backward-blank-delimited-word):
1074         * lisp/progmodes/verilog-mode.el (verilog-mode-map):
1075         Use plain "`", not the equivalent-but-confusing "\`", in strings.
1076         * lisp/textmodes/texinfmt.el: Fix comment likewise.
1078 2015-08-15  Dani Moncayo  <dmoncayo@gmail.com>
1080         Remove 'nt/zipdist.bat' (no longer used)
1081         * nt/zipdist.bat: Remove - no longer used.
1083 2015-08-15  Jürgen Hötzel  <juergen@archlinux.org>
1085         * lisp/net/tramp-sh.el (tramp-remote-selinux-p): Use "selinuxenabled"
1086         rather than "getenforce".
1087         (tramp-sh-handle-set-file-selinux-context): Do not
1088         cache SELinux context if not all context components are given.
1090 2015-08-15  Eli Zaretskii  <eliz@gnu.org>
1092         Add doc strings to 2 help-mode.el functions
1093         * lisp/help-mode.el (help-mode-setup, help-mode-finish): Add doc
1094         strings.  (Bug#21263)
1096         Remove files used by the old MS-Windows specific build procedure
1097         * admin/unidata/makefile.w32-in:
1098         * doc/emacs/makefile.w32-in:
1099         * doc/lispintro/makefile.w32-in:
1100         * doc/lispref/makefile.w32-in:
1101         * doc/misc/makefile.w32-in:
1102         * leim/makefile.w32-in:
1103         * lib-src/makefile.w32-in:
1104         * lib/makefile.w32-in:
1105         * lisp/makefile.w32-in:
1106         * nt/INSTALL.OLD:
1107         * nt/config.nt:
1108         * nt/emacs-src.tags:
1109         * nt/envadd.bat:
1110         * nt/gmake.defs:
1111         * nt/makefile.w32-in:
1112         * nt/multi-install-info.bat:
1113         * nt/nmake.defs:
1114         * nt/paths.h:
1115         * src/makefile.w32-in: Files deleted.
1116         * nt/configure.bat: Remove everything except the blurb about the
1117         new build procedure.
1118         * make-dist: Remove references to makefile.w32-in in various
1119         directories, and to files in nt/ that were deleted.
1120         * etc/NEWS: Mention the fact that the files were dropped.
1122 2015-08-15  Paul Eggert  <eggert@cs.ucla.edu>
1124         * doc/emacs/mule.texi (Charsets): Give fuller title for ISO-IR.
1125         (Bug#21248)
1127 2015-08-14  Paul Eggert  <eggert@cs.ucla.edu>
1129         Default to inotify instead of gfile
1130         * configure.ac (with_file_notification): Fix typo that
1131         prevented suppression of file notification if HAVE_NS.
1132         (NOTIFY_OBJ): Prefer inotify to gfile if both exist and
1133         with_file_notification is 'yes' (Bug#21241).
1134         * etc/NEWS: Mention this.
1136         Fix broken URLs for ISO-IR
1137         * doc/emacs/mule.texi (Charsets):
1138         * lisp/international/mule-conf.el:
1139         Fix broken URL (Bug#21248).
1141         Low-level diagnostics now use ‘text-quoting-style’
1142         * src/doprnt.c (doprnt):
1143         Format ` and ' as per ‘text-quoting-style’.
1144         * src/xdisp.c (vmessage, message): Mention that the format should
1145         not contain ` or '.
1147         Prefer ‘format’ to ‘substitute-command-keys’
1148         * src/character.h (uLSQM, uRSQM): Move here ...
1149         * src/doc.c (uLSQM, uRSQM): ... from here.
1150         * src/doc.c (Fsubstitute_command_keys):
1151         * src/syntax.c (Finternal_describe_syntax_value):
1152         * lisp/cedet/mode-local.el (mode-local-print-binding)
1153         (mode-local-describe-bindings-2):
1154         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
1155         * lisp/cus-theme.el (describe-theme-1):
1156         * lisp/descr-text.el (describe-text-properties-1, describe-char):
1157         * lisp/emacs-lisp/cl-extra.el (cl--describe-class):
1158         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
1159         * lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor):
1160         * lisp/emacs-lisp/package.el (describe-package-1):
1161         * lisp/faces.el (describe-face):
1162         * lisp/help-fns.el (help-fns--key-bindings)
1163         (help-fns--compiler-macro, help-fns--parent-mode)
1164         (help-fns--obsolete, help-fns--interactive-only)
1165         (describe-function-1, describe-variable):
1166         * lisp/help.el (describe-mode):
1167         Prefer ‘format’ to ‘substitute-command-keys’ when either will do
1168         to implement quoting style.  This generally makes the code simpler.
1170         Extend ‘format’ to translate curved quotes
1171         This is a followup to the recent doc string change, and deals with
1172         diagnostics and the like.  This patch is more conservative than
1173         the doc string change, in that the behavior of ‘format’ changes
1174         only if its first arg contains curved quotes and the user prefers
1175         straight or grave quotes.  (Come to think of it, perhaps we should
1176         be similarly conservative with doc strings too, but that can wait.)
1177         The upside of this conservatism is that existing usage is almost
1178         surely unaffected.  The downside is that we'll eventually have to
1179         change Emacs's format strings to use curved quotes in places where
1180         the user might want curved quotes, but that's a simple and
1181         mechanical translation that I'm willing to do later.  (Bug#21222)
1182         * doc/lispref/help.texi (Keys in Documentation):
1183         Move description of text-quoting-style from here ...
1184         * doc/lispref/strings.texi (Formatting Strings):
1185         ... to here, and describe new behavior of ‘format’.
1186         * etc/NEWS: Describe new behavior.
1187         * lisp/calc/calc-help.el (calc-describe-thing):
1188         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
1189         * lisp/info.el (Info-find-index-name):
1190         Use ‘concat’ rather than ‘format’ to avoid misinterpretation
1191         of recently-added curved quotes.
1192         * src/doc.c (uLSQM0, uLSQM1, uLSQM2, uRSQM0, uRSQM1, uRSQM2):
1193         Move from here ...
1194         * src/lisp.h: ... to here.
1195         * src/doc.c (text_quoting_style): New function.
1196         (Fsubstitute_command_keys): Use it.
1197         * src/editfns.c (Fformat): Implement new behavior.
1198         * src/lisp.h (enum text_quoting_style): New enum.
1200 2015-08-14  Stefan Monnier  <monnier@iro.umontreal.ca>
1202         * src/keyboard.c: Use false/true instead of 0/1 for booleans
1203         * src/keyboard.h (struct kboard): Mark kbd_queue_has_data as boolean.
1205 2015-08-14  Michael Albinus  <michael.albinus@gmx.de>
1207         * lisp/net/tramp-sh.el (tramp-sh-handle-file-acl): Do not redirect
1208         stderr to /dev/null, this is done in `tramp-send-command-and-check'.
1210 2015-08-14  Jürgen Hötzel  <juergen@archlinux.org>
1212         Flush file properties in Tramp
1213         * lisp/net/tramp-sh.el (tramp-sh-handle-set-file-modes)
1214         (tramp-sh-handle-set-file-times):
1215         * lisp/net/tramp-adb.el (tramp-adb-handle-set-file-modes)
1216         (tramp-adb-handle-set-file-times): Flush the file properties of
1217         the directory.
1219 2015-08-14  Ronnie Schnell  <ronnie@driver-aces.com>
1221         * doc/emacs/misc.text (Amusements): Fixed typo.
1223 2015-08-14  Eli Zaretskii  <eliz@gnu.org>
1225         Don't miss warnings about removing string text properties while dumping
1226         * src/alloc.c (purecopy): Warn about removing a string's text
1227         properties even when the same string was already pure-copied
1228         earlier.
1229         * lisp/progmodes/elisp-mode.el (elisp--xref-format)
1230         (elisp--xref-format-extra): Fix the commentary.
1232 2015-08-13  Stefan Monnier  <monnier@iro.umontreal.ca>
1234         * lisp/progmodes/sh-script.el (sh-mode): Handle .cshrc (bug#21049)
1236 2015-08-13  Magnus Henoch  <magnus.henoch@gmail.com>
1238         * lisp/progmodes/compile.el: Assume 8-wide TABs (bug#21038)
1239         * lisp/progmodes/compile.el: Use lexical-binding.
1240         (compilation-move-to-column): Assume 8-wide TABs (bug#21038).
1242 2015-08-13  Stefan Monnier  <monnier@iro.umontreal.ca>
1244         (uniquify-ask-about-buffer-names-p): Remove, unused (bug#21037)
1245         * lisp/uniquify.el: Remove redundant `:group's.
1247 2015-08-13  Jürgen Hötzel  <juergen@archlinux.org>
1249         * lisp/net/tramp-adb.el
1250         (tramp-adb-handle-directory-files-and-attributes): Make a copy of
1251         result to prevent modification of the tramp-cache by side effects.
1252         Use the correct cache key.
1254 2015-08-13  Paul Eggert  <eggert@cs.ucla.edu>
1256         Make add_to_log varargs
1257         * src/alloc.c (run_finalizer_handler):
1258         * src/charset.c (load_charset_map_from_vector):
1259         * src/nsimage.m (ns_load_image):
1260         * src/xfaces.c (load_pixmap, load_color2):
1261         Simplify, now that add_to_log has a variable number of args.
1262         * src/image.c (image_error): Take a variable number of args.
1263         Callers simplified.
1264         * src/lisp.h (add_to_log, vadd_to_log): Adjust to new APIs.
1265         * src/xdisp.c (format_nargs, vadd_to_log): New functions.
1266         (add_to_log): Make varargs, and reimplement in terms of vadd_to_log.
1267         * src/xfaces.c (merge_face_ref): Fix typo that omitted color name.
1269         Optional args for holiday-greek-orthodox-easter
1270         * etc/NEWS: Document this.
1271         * lisp/calendar/holidays.el (holiday-greek-orthodox-easter):
1272         Add optional args N and STRING, mimicking the API and code of
1273         ‘holiday-easter-etc’.  From suggestion by Foivos S. Zakkak (Bug#21256).
1275 2015-08-13  Stephen Leake  <stephen_leake@stephe-leake.org>
1277         xref-find-definitions: Exclude more generic function items.
1278         * lisp/emacs-lisp/cl-generic.el (cl--generic-search-method): Add doc string.
1279         (cl--generic-find-defgeneric-regexp): New.
1280         (find-function-regexp-alist): Add it.
1281         * lisp/emacs-lisp/find-func.el (find-feature-regexp): Move here from
1282         elisp-mode.el, change to search for ";;; Code:"
1283         (find-alias-regexp): Move here from elisp-mode.el, cleaned up.
1284         (find-function-regexp-alist): Add them.
1285         * lisp/progmodes/elisp-mode.el:
1286         (elisp--xref-format, elisp--xref-format-extra): Change back to defvar due
1287         to bug#21237.
1288         (elisp--xref-find-definitions): Exclude co-located default methods for
1289         generic functions. Also exclude implicitly declared defgeneric.
1290         (elisp--xref-find-definitions): Handle C source properly. Exclude minor
1291         mode variables defined by 'define-minor-mode'.
1292         * test/automated/elisp-mode-tests.el: Declare generic functions, add
1293         tests for them.
1294         (xref-elisp-test-run): Fix bug.
1295         (emacs-test-dir): Improve initial value.
1296         (find-defs-defun-defvar-el): Don't expect defvar.
1297         (find-defs-feature-el): Match change to find-feature-regexp.
1299 2015-08-13  Eli Zaretskii  <eliz@gnu.org>
1301         Improve warning about purecopy of strings with properties
1302         * src/alloc.c (purecopy): Show the offending string with the
1303         warning about removing its text properties.
1305 2015-08-12  Alan Mackenzie  <acm@muc.de>
1307         Introduce new macros to cover Emacs's new names in cl-lib.el.
1308         This also eliminates `mapcan' warnings in XEmacs.
1309         progmodes/cc-defs.el (c--mapcan-status): new variable to characterise
1310         [X]Emacs versions.
1311         (top-level): Require either 'cl or 'cl-lib, depending on
1312         c--mapcan-status.
1313         Change this back to cc-external-require from an eval-when-compile
1314         require.
1315         (c--mapcan, c--set-difference, c--intersection, c--macroexpand-all)
1316         (c--delete-duplicates): New macros which expand into either old or new
1317         names.
1318         (c-make-keywords-re, c-lang-defconst, c-lang-const) Use the new macros
1319         rather than the old names.
1320         progmodes/cc-engine.el (c-declare-lang-variables): Use c--mapcan rather
1321         than mapcan.
1322         progmodes/cc-fonts.el (c-compose-keywords-list): Use c--mapcan.
1323         progmodes/cc-langs.el (top-level): Require either 'cl or 'cl-lib,
1324         depending on c--mapcan-status.
1325         (c-filter-ops, c-all-op-syntax-tokens, c-assignment-op-regexp)
1326         (c-type-start-kwds, c-prefix-spec-kwds, c-specifier-key)
1327         (c-not-decl-init-keywords, c-not-primitive-type-keywords)
1328         (c-paren-any-kwds, c-<>-sexp-kwds, c-block-stmt-kwds, c-expr-kwds)
1329         (c-decl-block-key, c-keywords, c-keywords-obarray)
1330         (c-regular-keywords-regexp, c-primary-expr-regexp,
1331         c-primary-expr-regexp)
1332         (c-block-prefix-disallowed-chars, c-known-type-key,
1333         c-nonlabel-token-key)
1334         (c-make-init-lang-vars-fun): Use the new macros rather than the old
1335         names.
1337 2015-08-12  Oleh Krehel  <ohwoeowho@gmail.com>
1339         loadhist.el (read-feature): Conform to completing-read
1340         * lisp/loadhist.el (read-feature): According to `completing-read'
1341           documentation, if collection is a list, then it must be a list of
1342           strings. And not a list of symbols like before.
1344 2015-08-12  David Kastrup  <dak@gnu.org>
1346         Deal gracefully with up-events (Bug#19746)
1347         * keyboard.c (apply_modifiers_uncached, parse_solitary_modifier)
1348         (parse_modifiers_uncached): React gracefully to "up-" modifiers:
1349         those may easily be injected by user-level Lisp code.
1350         (read_key_sequence): Discard unbound up-events like unbound
1351         down-events: they are even more likely only relevant for special
1352         purposes.
1353         While Emacs will not produce up-events on its own currently (those are
1354         converted to drag or click events before being converted to
1355         Lisp-readable structures), the input queue can be made to contain them
1356         by synthesizing events to `unread-command-events'.  Emacs should deal
1357         consistently with such events.
1359 2015-08-12  Eli Zaretskii  <eliz@gnu.org>
1361         Fix display of thin lines whose newline has line-height property of t
1362         * src/xdisp.c (append_space_for_newline): Don't try to fix ascent
1363         and descent values of non-empty glyph rows, since they could have
1364         forced low values deliberately.  (Bug#21243)
1366 2015-08-12  Richard Stallman  <rms@gnu.org>
1368         Offer to combine multiple To or CC fields.
1369         * sendmail.el (mail-combine-fields): New function.
1370         (mail-send): Call 'mail-combine-fields'.
1372         Don't decrypt encrypted files.
1373         * mail-utils.el (mail-file-babyl-p): Bind epa-inhibit to t.
1375         Handle encrypted mbox files.
1376         * rmailout.el (rmail-output-as-mbox): Decrypt and reencrypt the mbox
1377         file if necessary.
1379         Re-enable mime processing after decryption.  Add 'decrypt' keyword.
1380         * rmail.el (rmail-epa-decrypt-1): New subroutine.
1381         (rmail-epa-decrypt): rmail-epa-decrypt-1 broken out.
1382         In a mime message, reenable Mime and show the parts that
1383         were shown before.
1384         Add keyword "decrypt" if anything decrypted.
1386         epa-inhibit inhibits auto-recognition of .gpg files
1387         * lisp/epa-file.el (epa-inhibit): New variable.
1388         (epa-file-handler): Check epa-inhibit.
1390 2015-08-12  Artur Malabarba  <bruce.connor.am@gmail.com>
1392         * emacs-lisp/lisp-mnt.el (lm-header): save-excursion
1394 2015-08-11  Fabián Ezequiel Gallina  <fgallina@gnu.org>
1396         Respect python.el imenu when semantic-mode is off
1397         Fixes debbugs:21220
1398         * lisp/cedet/semantic/wisent/python.el: Do not force
1399         wisent-python-default-setup on python-mode-hook.
1401 2015-08-11  Paul Eggert  <eggert@cs.ucla.edu>
1403         Give names to Unicode code points in C code
1404         * src/character.h (NO_BREAK_SPACE, SOFT_HYPHEN)
1405         (ZERO_WIDTH_NON_JOINER, ZERO_WIDTH_JOINER, HYPHEN)
1406         (NON_BREAKING_HYPHEN, LEFT_SINGLE_QUOTATION_MARK)
1407         (RIGHT_SINGLE_QUOTATION_MARK, PARAGRAPH_SEPARATOR)
1408         (LEFT_POINTING_ANGLE_BRACKET, RIGHT_POINTING_ANGLE_BRACKET)
1409         (LEFT_ANGLE_BRACKET, RIGHT_ANGLE_BRACKET)
1410         (OBJECT_REPLACEMENT_CHARACTER):
1411         New named constants for Unicode code points.
1412         * src/bidi.c (bidi_fetch_char, CANONICAL_EQU):
1413         * src/composite.c (char_composable_p):
1414         * src/lread.c (readevalloop, read1):
1415         * src/xdisp.c (get_next_display_element):
1416         Use them.
1417         * src/doc.c (LEFT_SINGLE_QUOTATION_POINT):
1418         Remove; now in character.h.
1420 2015-08-11  Stephen Leake  <stephen_leake@stephe-leake.org>
1422         elisp--xref-find-definitions handle cl-defstuct default constructor
1423         * lisp/progmodes/elisp-mode.el (elisp-xref-find): Add FIXME.
1424         (elisp--xref-format-extra): Rename from elisp--xref-format-cl-defmethod.
1425         (elisp--xref-find-definitions): Handle cl-defstuct default constructor.
1426         * test/automated/elisp-mode-tests.el (xref-elisp-test-run): Split out
1427         from xref-elisp-test for ease of debugging.
1428         (xref-elisp-deftest): Rename from xref-elisp-test.
1429         (find-defs-constructor): New test.
1430         (find-defs-defgeneric-el): Match batch test config.
1431         (compile): Required for find-defs compilation-minor-mode test.
1432         (find-defs-defvar-el): Match code change.
1433         (find-defs-face-el): Match code change.
1434         * lisp/progmodes/xref.el (xref-find-function, xref-find-definitions):
1435         Improve doc string.
1437 2015-08-11  Stefan Monnier  <monnier@iro.umontreal.ca>
1439         * lisp/replace.el (perform-replace): Document `replacements'.
1440         (perform-replace): Move the description of the format of `replacements' from
1441         the body's comment to the docstring.
1443 2015-08-11  Jürgen Hötzel  <juergen@archlinux.org>
1445         * lisp/net/tramp-adb.el (tramp-adb-prompt): Match leading escape
1446         sequence.  Recent adb version send initial escape sequences, even
1447         when terminal type is set to TERM=dumb.
1449 2015-08-10  Stephen Leake  <stephen_leake@stephe-leake.org>
1451         Rewrite elisp--xref-find-definitions to handle many more cases; add tests.
1452         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location): deleted
1453         (elisp--xref-format-cl-defmethod): new
1454         (find-feature-regexp): new
1455         (find-alias-regexp): new
1456         (elisp--xref-make-xref): new
1457         (elisp--xref-find-definitions): Rewrite using the above, handle many more
1458         cases. Always output all available definitions.
1459         (xref-location-marker): No need for special cases.
1460         * test/automated/elisp-mode-tests.el: Add more tests of
1461         elisp--xref-find-definitions, improve current tests.
1463 2015-08-10  Eli Zaretskii  <eliz@gnu.org>
1465         Fix recording of events pushed onto unread-command-events
1466         * src/keyboard.c (read_char): Make sure events read from
1467         unread-command-events and unread-post-input-method-events are
1468         always recorded by record_char.  Reported by David Kastrup
1469         <dak@gnu.org>, see
1470         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00193.html.
1472 2015-08-10  Samer Masterson  <samer@samertm.com>
1474         Set file buffer as current for "--file"
1475         * lisp/startup.el (command-line-1): Set file buffer as current before
1476         it is displayed so it can be used with options like
1477         "--eval".  (Bug#21095)
1479 2015-08-10  Eli Zaretskii  <eliz@gnu.org>
1481         Avoid setting LC_NUMERIC on MS-Windows to anything but "C"
1482         * src/emacs.c (synchronize_locale) [WINDOWSNT]: Call fixup_locale
1483         after setting LC_ALL to the desired locale, to avoid affecting how
1484         numbers are read and printed.  (Bug#21223)
1486 2015-08-10  Alan Mackenzie  <acm@muc.de>
1488         Fix "Invalid search bound (wrong side of point)" in fontification.
1489         progmodes/cc-fonts.el (c-font-lock-declarators): After skipping an
1490         initialization expression, check point is not beyond the fontification
1491         limit.
1493 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
1495         Fix DPI calculation when Xft/DPI is default
1496         * src/xsettings.c (parse_settings): Don't use Xft/DPI default
1497         value of -1, which evaluates to 2**32 - 1 (Bug#21152).
1498         Remove unnecessary cast while we're in the neighborhood.
1500 2015-08-09  Dmitry Gutov  <dgutov@yandex.ru>
1502         Add project-vc-search-path and project-vc-ignores
1503         * lisp/progmodes/project.el (project-vc): New group.
1504         (project-vc-search-path, project-vc-ignores): New variables.
1505         (project--value-in-dir): Utility function.
1506         (project-search-path, project-ignores): Use them.
1507         * lisp/progmodes/xref.el (xref--rgrep-command): Only replace `./'
1508         at bos.  Don't add extra `/'.  Don't prepend with `*' if replaced.
1510 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
1512         Fix some minor quoting issues with grave accent
1513         * src/dispnew.c (add_window_display_history) [GLYPH_DEBUG]:
1514         Remove redundant quotes.
1515         * src/doc.c (uLSQM, uRSQM): New macros.
1516         * src/doc.c (Fsubstitute_command_keys):
1517         * src/syntax.c (Finternal_describe_syntax_value): Follow the user
1518         preference for quotes rather than hardcoding the ‘grave’ style.
1519         * src/regex.c (PUSH_FAILURE_POINT, POP_FAILURE_POINT)
1520         (re_match_2_internal) [DEBUG]: In debugging output, quote C
1521         strings with "...", not `...'.
1523         ChangeLog.2 ignores remote-tracking merges
1524         * build-aux/gitlog-to-emacslog: Ignore commit logs matching
1525         "Merge remote-tracking branch '.*'" too.  See Eli Zaretskii in:
1526         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00384.html
1528 2015-08-09  Nicolas Richard  <youngfrog@members.fsf.org>
1530         Use kpsewhich in ffap-latex-mode, if available
1531         * lisp/ffap.el (ffap-latex-guess-rules): New variable.
1532         (ffap-latex-mode): Use kpsewhich if available.
1534         ffap: disallow braces in filenames for tex modes
1535         * lisp/ffap.el (ffap-string-at-point-mode-alist): Don't allow
1536         braces in tex-related modes.
1538         Remove useless backslashes from ffap-string-at-point-mode-alist
1539         * lisp/ffap.el (ffap-string-at-point-mode-alist): Remove useless and
1540         misleading backslashes from default value.
1542         Augment docstring of ffap-string-at-point-mode-alist
1543         * lisp/ffap.el (ffap-string-at-point-mode-alist): Describe how BEG
1544         and END are handled.
1546 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
1548         Remove no-op calls to substitute-command-keys
1549         * lisp/org/org-src.el (org-edit-src-code)
1550         (org-edit-fixed-width-region):
1551         * lisp/simple.el (completion-setup-function):
1552         Remove calls to substitute-command-keys that always just return
1553         their argument.
1555 2015-08-09  Daiki Ueno  <ueno@gnu.org>
1557         Utilize `quit-window' in epa.el
1558         * epa.el (epa-exit-buffer-function): Set to `quit-window'.
1559         (Bug#21210)
1561 2015-08-09  Ivan Kanis  <ivan@kanis.fr>
1563         fix link to source code in help window
1564         * lisp/help-fns.el (find-lisp-object-file-name): remove code that
1565         will never work due to Glenn Morris change a6d63d9 on Apr 20 2013
1566         'No longer include timestamp in header of .elc files'. Add code
1567         that will return .el source file in load-path.
1569 2015-08-09  Artur Malabarba  <bruce.connor.am@gmail.com>
1571         * isearch.el (isearch-search-fun-default): (Bug#21164)
1572         Respect `isearch-lax-whitespace' when searching through
1573         `isearch-word'.
1575 2015-08-08  Stefan Monnier  <monnier@iro.umontreal.ca>
1577         * test/automated/ert-tests.el (ert-test-deftest): Add FIXME.
1579         * org.el: Fix up some lexical scoping warnings, and use dolist
1580         * lisp/org/org.el (org-set-regexps-and-options-for-tags, org-goto-map)
1581         (org-set-regexps-and-options, org-assign-fast-keys)
1582         (org-contextualize-keys, org-contextualize-validate-key)
1583         (org-notes-order-reversed-p, org-local-logging, org-map-entries)
1584         (org-find-olp, org-find-exact-heading-in-directory)
1585         (org-cycle-agenda-files, org-release-buffers, org-fill-template)
1586         (org-agenda-prepare-buffers, org-occur-in-agenda-files)
1587         (org-replace-escapes): Use dolist.
1588         (org-mode): Optimize away XEmacs-only code.
1589         (org-refile-get-targets): Remove unused var `f'.
1590         (org-fast-todo-selection): Remove unused var `e'.
1591         (org-make-tags-matcher): Use dolist.  Remove unused var `term'.
1592         (org-fast-tag-selection): Use dolist.  Remove unused var `e'.
1593         (org-format-latex): Use dolist.  Remove unused var `e'.
1594         (org-toggle-heading): Access vars lexically rather than dynamically.
1595         (org-backward-sentence, org-forward-sentence, org-meta-return)
1596         (org-kill-line): Mark arg as unused.
1597         (org-submit-bug-report): Silence compiler warning.
1598         (org-occur-in-agenda-files): Don't use add-to-list on local vars.
1599         (org-get-cursor-date): Remove unused var `tm'.
1600         (org-comment-or-uncomment-region): Use standard name `_'.
1601         (reftex-docstruct-symbol, reftex-cite-format): Declare to
1602         silence byte-compiler.
1603         (org-reftex-citation): Add `org--' prefix to dynamically scoped
1604         `rds' var.
1606 2015-08-08  Nicolas Petton  <nicolas@petton.fr>
1608         Merge remote-tracking branch 'origin/fix/subsequence-error-with-negative-sequences'
1610 2015-08-08  Paul Eggert  <eggert@cs.ucla.edu>
1612         Electric quote if coding is undecided or no conv
1613         * lisp/electric.el (electric--insertable-p): Also say that a
1614         string is insertable if the buffer file coding system is undecided
1615         or uses no conversion, as curved quotes will work in either case.
1617         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING): Simplify configuration.
1619 2015-08-08  Eli Zaretskii  <eliz@gnu.org>
1621         Fix overlay string display regressions introduced in Emacs 24.5
1622         * src/xdisp.c (pop_it): Reset the flag to ignore overlays at this
1623         buffer position, if we move the iterator to a new position as
1624         result of jumping over text covered by a "replacing" display
1625         property.
1626         * test/redisplay-testsuite.el (test-redisplay-4): Add 2 new tests.
1628         Support recovery from C stack overflow on MS-Windows
1629         * src/w32fns.c (w32_reset_stack_overflow_guard)
1630         (stack_overflow_handler): New functions for handling C stack
1631         overflow exceptions.
1632         (my_exception_handler): Handle EXCEPTION_STACK_OVERFLOW exceptions
1633         specially, and zero out except_addr if we do.
1634         (globals_of_w32fns): Initialize dwMainThreadId in non-interactive
1635         mode.
1636         * src/sysdep.c [HAVE_STACK_OVERFLOW_HANDLING]: Add !WINDOWSNT to
1637         the condition, as HAVE_STACK_OVERFLOW_HANDLING is now defined for
1638         the MinGW build, but the code guarded by that is for Posix hosts.
1639         * src/keyboard.c (command_loop) [WINDOWSNT]: Call
1640         w32_reset_stack_overflow_guard.
1641         * nt/inc/ms-w32.h (sigjmp_buf): New typedef.
1642         (sigsetjmp): New macro.
1643         (w32_reset_stack_overflow_guard): Declare the prototype.
1644         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING): Set to 1 for MinGW.
1646 2015-08-07  Phillip Lord  <phillip.lord@newcastle.ac.uk>
1648         Improve error signalling for seq-subseq.
1650         * lisp/seq.el (seq-subseq): The existing behaviour is to error
1651         when indexes are too large, but to silently ignore numbers which
1652         are too negative for lists.  String and vector handling errors in
1653         both cases. This has been regularlised. Error signalling behaviour
1654         has been explicitly added to the docstring.
1656         * lisp/cl-extra.el (cl-subseq): Defers to (seq-subseq) and is
1657         therefore also impacted by this change. The docstring has been
1658         updated to reflect this.
1660         * test/automated/seq-tests.el (test-seq-subseq): Tests have been
1661         added for these exceptional cases, as well as one non exceptional
1662         base case.
1664 2015-08-07  Jürgen Hötzel  <juergen@archlinux.org>
1666         Improve error checking in tramp-adb.el
1667         * lisp/net/tramp-adb.el (tramp-adb-ls-output-name-less-p):
1668         Improve error checking.  "ls -l" on Android in Enforcing mode can
1669         print "lstat './FILENAME failed: Permission denied".
1671 2015-08-07  Stefan Monnier  <monnier@iro.umontreal.ca>
1673         * lisp/emacs-lisp/cl-generic.el (cl--generic-struct-tag): Don't burp on
1674         non-struct vectors.
1676 2015-08-07  Stephen Leake  <stephen_leake@stephe-leake.org>
1678         lisp/window.el: fix typo, more `display-buffer-use-some-frame'
1679         * lisp/window.el: fix typo that broke build
1680         (display-buffer--action-function-custom-type): add
1681         `display-buffer-use-some-frame'
1682         (display-buffer): add `display-buffer-use-some-frame' to doc string
1684         Add support for 'inhibit-same-window in 'display-buffer-use-some-frame'
1685         * lisp/window.el (display-buffer-use-some-frame): Add support for
1686         'inhibit-same-window in alist.
1687         * doc/windows.texi (display-buffer-use-some-frame): Doc support for
1688         'inhibit-same-window in alist.
1690 2015-08-07  Eli Zaretskii  <eliz@gnu.org>
1692         Avoid infinite loop in display of invisible text in strings
1693         * src/xdisp.c (handle_invisible_prop): If the next change of
1694         invisibility spec does not mean the beginning of a visible text,
1695         update the string position from which to start the search for the
1696         next invisibility change.  This avoids an infinite loop when we
1697         have more than one invisibility spec that are made inactive by
1698         buffer-invisibility-spec.  Simplify code.  (Bug#21200)
1699         * test/redisplay-testsuite.el (test-redisplay-4): Add a test case
1700         for the situation that caused bug #21200.
1702 2015-08-06  Artur Malabarba  <bruce.connor.am@gmail.com>
1704         * lisp/emacs-lisp/package.el: Simplify describe-package-1
1705         (package-help-section-name-face): New face.
1706         (package--print-help-section): New function.
1707         (describe-package-1): Refactor section printing.
1708         (package-make-button): Use face instead of font-lock-face, which
1709         doesn't work on buttons.
1711         * lisp/emacs-lisp/package.el: Define custom faces
1712         (package-name-face, package-description-face)
1713         (package-status-built-in-face, package-status-external-face)
1714         (package-status-available-face, package-status-new-face)
1715         (package-status-held-face, package-status-disabled-face)
1716         (package-status-installed-face, package-status-dependency-face)
1717         (package-status-unsigned-face, package-status-incompat-face)
1718         (package-status-avail-obso-face): New faces.
1719         (package-menu--print-info-simple): Use them.
1721 2015-08-05  Paul Eggert  <eggert@cs.ucla.edu>
1723         Fix some confusion with ‘format’
1724         * lisp/allout-widgets.el (allout-widgets-before-change-handler)
1725         (allout-graphics-modification-handler):
1726         Protect arbitrary string in a format context with "%s" format.
1727         * lisp/avoid.el:
1728         * lisp/cedet/semantic/bovine/scm.el: Fix comment.
1729         * lisp/calendar/icalendar.el (icalendar--convert-sexp-to-ical):
1730         * lisp/erc/erc-button.el (erc-button-beats-to-time):
1731         * lisp/gnus/message.el (message-send-form-letter):
1732         * lisp/org/ob-core.el (org-babel-check-evaluate)
1733         (org-babel-confirm-evaluate):
1734         * lisp/org/ob-fortran.el (org-babel-fortran-var-to-fortran):
1735         * lisp/org/ox-latex.el (org-latex-compile):
1736         * lisp/org/ox-man.el (org-man-compile):
1737         * lisp/org/ox-odt.el (org-odt-template):
1738         * lisp/org/ox-texinfo.el (org-texinfo-compile):
1739         * lisp/progmodes/prolog.el (prolog-help-info)
1740         (prolog-view-predspec):
1741         * lisp/progmodes/ruby-mode.el (ruby-parse-partial):
1742         * lisp/progmodes/verilog-mode.el (verilog-showscopes):
1743         * lisp/textmodes/rst.el (rst-replace-lines):
1744         Change (message (format ...)) to (message ...), and likewise
1745         for ‘error’.  This lessens the probability of confusion when the
1746         output of ‘format’ contains ‘%’.
1748 2015-08-05  Artur Malabarba  <bruce.connor.am@gmail.com>
1750         * lisp/replace.el (replace-character-fold): Default to nil
1752         * lisp/character-fold.el: Fix lax whitespace
1753         (character-fold-table): Don't make space match other whitespace chars.
1754         (character-fold-to-regexp): Simplify lax behaviour.
1756 2015-08-05  Dmitry Gutov  <dgutov@yandex.ru>
1758         Preserve window point in xref-find-definitions-other-window
1759         Fix the problem reported by Ingo Logmar in
1760         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00152.html
1761         * lisp/progmodes/xref.el (xref--goto-char): Extract from
1762         xref--goto-location.
1763         (xref--pop-to-location): Use it. Replace xref--goto-location with
1764         a direct xref-location-marker call.
1765         (xref--show-location): Likewise.
1766         (xref--display-position): Use xref--goto-char.
1768         * lisp/progmodes/project.el: Add a paragraph to the front matter.
1770 2015-08-04  David Kastrup  <dak@gnu.org>
1772         Do not overwrite preexisting contents of unread-command-events
1773         * lisp/vc/emerge.el (emerge-show-file-name):
1774         * lisp/progmodes/vhdl-mode.el (vhdl-electric-dash)
1775         (vhdl-comment-insert, vhdl-hooked-abbrev):
1776         * lisp/progmodes/octave.el (inferior-octave-dynamic-list-input-ring):
1777         * lisp/progmodes/fortran.el (fortran-window-create-momentarily):
1778         * lisp/progmodes/ebrowse.el (ebrowse-hack-electric-buffer-menu):
1779         * lisp/progmodes/cperl-mode.el (cperl-putback-char):
1780         * lisp/obsolete/vip.el (vip-escape-to-emacs)
1781         (vip-prefix-arg-value, vip-prefix-arg-com):
1782         * lisp/obsolete/terminal.el (te-escape-extended-command-unread):
1783         * lisp/leim/quail/tibetan.el (quail-tibetan-update-translation)
1784         (quail-tibkey-update-translation):
1785         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
1786         * lisp/leim/quail/lao.el (quail-lao-update-translation):
1787         * lisp/leim/quail/japanese.el (quail-japanese-update-translation)
1788         (quail-japanese-self-insert-and-switch-to-alpha):
1789         * lisp/leim/quail/hangul.el (hangul2-input-method)
1790         (hangul3-input-method, hangul390-input-method):
1791         * lisp/language/hanja-util.el (hangul-to-hanja-char):
1792         * lisp/international/robin.el (robin-input-method):
1793         * lisp/international/quail.el (quail-start-translation)
1794         (quail-start-conversion):
1795         * lisp/gnus/gnus-art.el (gnus-article-describe-key)
1796         (gnus-article-describe-key-briefly):
1797         * lisp/eshell/em-hist.el (eshell-list-history):
1798         * lisp/term.el (term-dynamic-list-input-ring)
1799         (term-dynamic-list-completions):
1800         * lisp/subr.el (momentary-string-display):
1801         * lisp/simple.el (read-quoted-char):
1802         * lisp/pcomplete.el (pcomplete-show-completions):
1803         * lisp/kmacro.el (kmacro-repeat-on-last-key):
1804         * lisp/info.el (Info-summary):
1805         * lisp/ehelp.el (electric-help-command-loop):
1806         * lisp/ebuff-menu.el (electric-buffer-list)
1807         (Electric-buffer-menu-exit):
1808         * lisp/double.el (double-translate-key):
1809         * lisp/comint.el (comint-dynamic-list-input-ring)
1810         (comint-dynamic-list-completions): Do not overwrite preexisting
1811         contents of `unread-command-events' when putting new events into
1812         it.
1814 2015-08-04  Daniel Colascione  <dancol@dancol.org>
1816         Improve ansi-color filtering of unrecognized escape sequences
1817         * lisp/ansi-color.el (ansi-color-drop-regexp): Recognize mode-setting
1818         escape sequences.
1819         (ansi-color-filter-apply): Filter out unrecognized escape sequences
1820         (ansi-color-apply): Filter out unrecognized escape sequences
1822 2015-08-04  Artur Malabarba  <bruce.connor.am@gmail.com>
1824         * lisp/emacs-lisp/package.el (package-menu-mode-map): Convert menu
1825         definitions to `easy-menu-define', improve a couple to account for
1826         async, and add a couple of new commands.
1828 2015-08-03  Jürgen Hötzel  <juergen@archlinux.org>
1830         * lisp/net/tramp-cache.el (tramp-set-file-property): Fix code typo.
1832 2015-08-03  Ingo Lohmar  <i.lohmar@gmail.com>
1834         Add new 'calendar-weekend-days' option
1835         Make the days receiving the 'calendar-weekend-header' face freely
1836         customizable, as they differ by region/culture.
1837         * doc/emacs/calendar.texi (Move to Beginning or End): Document the
1838         new variable.
1839         * lisp/calendar/calendar.el (calendar-generate-month): New variable
1840         calendar-weekend-days to customize day header fontification.
1842 2015-08-03  Paul Eggert  <eggert@cs.ucla.edu>
1844         Redo text-quoting-style variable
1845         Rename help-quote-translation to text-quoting-style,
1846         and use symbols rather than characters as values.
1847         This follows suggestions along these lines by Alan Mackenzie in:
1848         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00343.html
1849         and by Drew Adams in:
1850         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00048.html
1851         * doc/lispref/help.texi (Keys in Documentation)
1852         * etc/NEWS:
1853         * lisp/cus-start.el (standard):
1854         * src/doc.c (Fsubstitute_command_keys, syms_of_doc):
1855         Document and/or implement the new behavior instead of the old.
1856         (syms_of_doc): New symbols 'grave' and 'straight'.
1858 2015-08-03  Nikolaus Rath  <Nikolaus@rath.org>
1860         nnimap.el: Use IMAP MOVE extension if available
1861         * lisp/gnus/nnimap.el (nnimap-request-move-article)
1862         (nnimap-process-expiry-targets, nnimap-split-incoming-mail):
1863         Use MOVE extension if available.
1865         nnimap.el: Explicitly ask for server capabilities
1866         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Don't assume full
1867         capabilities will be returned in the login-result.
1869 2015-08-02  Paul Eggert  <eggert@cs.ucla.edu>
1871         Treat help strings like other doc strings
1872         * doc/lispref/text.texi (Special Properties), etc/NEWS: Document this.
1873         * lisp/epa.el (epa--select-keys): Remove no-longer-needed calls to
1874         substitute-command-keys.
1875         * src/keyboard.c (show_help_echo, parse_menu_item): Call
1876         substitute-command-keys on the help string before displaying it.
1878         Also mention "curly quotes"
1879         See Drew Adams's email in:
1880         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00040.html
1881         * doc/lispref/help.texi (Keys in Documentation):
1882         Add index entry "curly quotes".
1883         * etc/NEWS: Use the phrase "curly quotes" too.
1885         ede-proj-target-makefile docstring tweaks
1886         * lisp/cedet/ede/proj.el (ede-proj-target-makefile):
1887         Consistently use "all:" to describe the all: target,
1888         replacing three different and confusingly-quoted usages.
1890 2015-08-02  Eli Zaretskii  <eliz@gnu.org>
1892         Whitespace fixes
1894 2015-08-02  Evgeny Fraimovitch  <johnlen7@gmail.com>  (tiny change)
1896         Don't abort emacsclientw when -a was specified
1897         * lib-src/emacsclient.c (set_tcp_socket) [WINDOWSNT]: Don't error
1898         out if we are in emacsclientw and -a was specified.
1900 2015-08-02  Eli Zaretskii  <eliz@gnu.org>
1902         Fix handling of 1st keystroke on MS-Windows
1903         * src/w32fns.c (globals_of_w32fns): Initialize after_deadkey to -1.
1904         This is needed to correctly handle the session's first keystroke,
1905         if it has any modifiers.  (Bug#19994)
1907 2015-08-02  Paul Eggert  <eggert@cs.ucla.edu>
1909         Substitute some customization etc. doc strings
1910         These changes apply substitute-command-keys to some
1911         doc strings that were going through untranslated
1912         when creating customization or other widgets.
1913         * lisp/cus-edit.el (custom-group-value-create):
1914         * lisp/wid-edit.el (widget-default-create):
1915         (widget-push-button-value-create):
1916         Treat the widget tag as a doc string.
1917         * lisp/emacs-lisp/cl-extra.el (cl--describe-class-slot):
1918         Treat the :documentation value as a doc string.
1919         * lisp/wid-edit.el (widget-choose):
1920         Treat the choice names as doc strings.
1921         (widget-default-create): Treat the :doc value as a doc string.
1922         (widget-toggle-value-create): Treat the :on and :off values
1923         as doc strings.
1924         (widget-documentation-string-value-create):
1925         Substitute the doc string.
1927 2015-08-01  Dmitry Gutov  <dgutov@yandex.ru>
1929         Add a second argument to project-ignores
1930         * lisp/progmodes/project.el (project-ignores): Add a second
1931         argument DIR.
1932         * lisp/progmodes/project.el (project-ignores): Only include the VC
1933         ignores if DIR is the VC root.
1934         * lisp/progmodes/xref.el (xref-find-regexp): Update accordingly.
1936 2015-08-01  Eli Zaretskii  <eliz@gnu.org>
1938         Prevent incorrect display when 'line-spacing' variable is set
1939         * src/xdisp.c (try_window_id): Give up this optimization if the
1940         buffer has its 'line-spacing' variable set non-nil.
1942 2015-08-01  Dmitry Gutov  <dgutov@yandex.ru>
1944         Don't pass NOVISIT to find-file
1945         * lisp/progmodes/etags.el (next-file):
1946         Don't pass NOVISIT to find-file (bug#21175).
1948         Ignore buffer restriction for tags-loop-eval
1949         * lisp/progmodes/etags.el (tags-loop-continue): Ignore buffer
1950         restriction (bug#21167).
1952 2015-08-01  Eli Zaretskii  <eliz@gnu.org>
1954         Fix a thinko in 'ffap-gopher-at-point'
1955         * lisp/ffap.el (ffap-gopher-at-point): Fix last change.  (Bug#21168)
1957         Honor 'line-spacing' for empty lines
1958         * src/xdisp.c (append_space_for_newline): Honor 'line-height'
1959         property and 'line-spacing' frame parameter or variable or
1960         property for empty lines, by doing the same processing as in
1961         x_produce_glyph for newline characters.  (Bug#21165)
1963 2015-08-01  Paul Eggert  <eggert@cs.ucla.edu>
1965         Simplify by assuming C99 integer division
1966         * src/floatfns.c (ceiling2, floor2, truncate2):
1967         Assume C99 (i.e., Fortran) semantics for integer division.
1968         This simplifies the code.
1970 2015-07-31  Paul Eggert  <eggert@cs.ucla.edu>
1972         Don't overflow if computing approximate percentage
1973         * lisp/align.el (align-region):
1974         * lisp/cedet/semantic.el (semantic-repeat-parse-whole-stream):
1975         * lisp/cedet/semantic/wisent.el (wisent-parse-region):
1976         * lisp/cus-edit.el (custom-buffer-create-internal):
1977         * lisp/emacs-lisp/checkdoc.el (checkdoc-interactive-ispell-loop)
1978         (checkdoc-message-interactive-ispell-loop, checkdoc-next-error)
1979         (checkdoc-next-message-error):
1980         * lisp/emacs-lisp/eieio-opt.el (eieio-display-method-list):
1981         * lisp/epa.el (epa-progress-callback-function):
1982         * lisp/erc/erc-dcc.el (erc-dcc-do-LIST-command):
1983         * lisp/ffap.el (ffap-menu-rescan):
1984         * lisp/gnus/nnbabyl.el (nnbabyl-retrieve-headers):
1985         * lisp/gnus/nndiary.el (nndiary-retrieve-headers):
1986         * lisp/gnus/nneething.el (nneething-retrieve-headers):
1987         * lisp/gnus/nnmbox.el (nnmbox-retrieve-headers):
1988         * lisp/gnus/nnmh.el (nnmh-retrieve-headers):
1989         * lisp/gnus/nnml.el (nnml-retrieve-headers):
1990         * lisp/gnus/nnspool.el (nnspool-retrieve-headers):
1991         * lisp/gnus/nntp.el (nntp-retrieve-headers)
1992         (nntp-retrieve-articles):
1993         * lisp/imenu.el (imenu--relative-position):
1994         * lisp/international/ja-dic-cnv.el (skkdic-collect-okuri-nasi)
1995         (skkdic-convert-okuri-nasi):
1996         * lisp/net/ange-ftp.el (ange-ftp-process-handle-hash):
1997         * lisp/nxml/rng-valid.el (rng-compute-mode-line-string):
1998         * lisp/org/org-list.el (org-update-checkbox-count):
1999         * lisp/org/org.el (org-table-map-tables)
2000         (org-update-parent-todo-statistics):
2001         * lisp/play/decipher.el (decipher-insert-frequency-counts)
2002         (decipher-analyze-buffer):
2003         * lisp/profiler.el (profiler-format-percent):
2004         * lisp/progmodes/cc-cmds.el (c-progress-update):
2005         * lisp/progmodes/cpp.el (cpp-highlight-buffer):
2006         * lisp/progmodes/idlwave.el (idlwave-convert-xml-system-routine-info)
2007         (idlwave-list-load-path-shadows):
2008         * lisp/progmodes/opascal.el (opascal-step-progress):
2009         * lisp/progmodes/vhdl-mode.el (vhdl-update-progress-info)
2010         (vhdl-scan-directory-contents):
2011         * lisp/textmodes/bibtex.el (bibtex-progress-message):
2012         * lisp/textmodes/flyspell.el (flyspell-small-region)
2013         (flyspell-external-point-words):
2014         * lisp/textmodes/table.el (table-recognize):
2015         Prefer (floor (* 100.0 NUMERATOR) DENOMINATOR) when calculating
2016         progress-report percentages and the like.  This avoids problems
2017         if (* 100 NUMERATOR) would overflow.
2018         * lisp/gnus/gnus-registry.el (gnus-registry-import-eld):
2019         * lisp/gnus/registry.el (registry-reindex):
2020         Use (* 100.0 ...) rather than (* 100 ...) to avoid int overflow issues.
2021         * lisp/descr-text.el (describe-char):
2022         * lisp/org/org-colview.el (org-nofm-to-completion):
2023         * lisp/ps-print.el (ps-plot):
2024         * lisp/simple.el (what-cursor-position):
2025         Prefer (round (* 100.0 NUMERATOR) DENOMINATOR) to a
2026         more-complicated and less-accurate approximation.
2028         Fix some int overflows in profiler.c
2029         * src/profiler.c (make_log): Make args EMACS_INT, not int,
2030         to avoid unwanted behavior on 'int' overflow.
2031         (make_log, evict_lower_half, record_backtrace):
2032         Use ptrdiff_t, not int, for object indexes.
2034         Port to pedantic memcpy
2035         * src/keyboard.c (menu_bar_items, tool_bar_items):
2036         * src/xrdb.c (magic_db):
2037         Port to pedantic memcpy implementations that reject memcpy (0, 0, 0).
2039         Merge from gnulib
2040         This incorporates:
2041         2015-07-29 time_rz: port to pedantic memcpy
2042         * lib/time_rz.c: Copy from gnulib.
2044 2015-07-31  Artur Malabarba  <bruce.connor.am@gmail.com>
2046         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print): Fix bug
2047         When updating the very last entry, tabulated-list-print would
2048         erase it and then try to look at the next one (which obviously
2049         isn't there).
2051 2015-07-31  Eli Zaretskii  <eliz@gnu.org>
2053         Allow to use the old key processing code on MS-Windows
2054         * src/w32fns.c (syms_of_w32fns) <w32-use-fallback-wm-chars-method>:
2055         New variable.
2056         (w32_wnd_proc): Use it to invoke the old code that processed
2057         character keys, as fallback, when this variable is non-nil.  Fix
2058         typos in comments.  (Bug#19994)
2060 2015-07-31  Ilya Zakharevich  <ilya@math.berkeley.edu>
2062         Improve handling of Unicode keyboard input on MS-Windows
2063         * src/w32fns.c (get_wm_chars, deliver_wm_chars): New functions.
2064         (FPRINTF_WM_CHARS) [DEBUG_WM_CHARS]: New macro for debugging.
2065         (w32_wnd_proc): Call deliver_wm_chars to process non-special keys
2066         upon receiving WM_KEYDOWN or WM_SYSKEYDOWN messages.  If that is
2067         successful, don't call TranslateMessage.  (Bug#19994)
2069 2015-07-30  Dmitry Gutov  <dgutov@yandex.ru>
2071         Fix default-directory in changeset diffs after vc-print-log
2072         * lisp/vc/log-view.el (log-view-diff-common): Move the
2073         revision-granularity check back into log-view-diff-changeset.
2074         (log-view-diff-changeset): Bind default-directory to the current
2075         VC root.
2077         Rename project-directories to project-roots
2078         * lisp/progmodes/project.el (project-search-path-function)
2079         (project-search-path): Update the docstring.
2080         (project-directories): Rename to `project-roots', update all
2081         callers and implementations accordingly.
2082         (project-root): Remove.
2083         * lisp/progmodes/xref.el (xref-find-regexp): Use * instead of *.*
2084         as the default file mask.
2086 2015-07-30  Eli Zaretskii  <eliz@gnu.org>
2088         Support long URLs in w32-shell-execute
2089         * src/w32fns.c (Fw32_shell_execute): Don't use filename_to_utf16
2090         and filename_to_ansi to convert the DOCUMENT argument, as it could
2091         be a URL that is not limited to MAX_PATH characters.  Instead, use
2092         MultiByteToWideChar directly, and allocate heap storage as
2093         required to accommodate the converted string.  Likewise with
2094         non-Unicode operation.  Ensure OPERATION is null-terminated, even
2095         if it is longer than 32K bytes.  (Bug#21158)
2097 2015-07-30  Stephen Leake  <stephen_leake@stephe-leake.org>
2099         vc-mtn-find-revision handle null rev.
2100         * lisp/vc/vc-mtn.el (vc-mtn-find-revision): handle null rev
2102 2015-07-29  Stephen Leake  <stephen_leake@stephe-leake.org>
2104         Add docs for display-buffer action display-buffer-use-some-frame
2105         * lisp/window.el (display-buffer-use-some-frame): improve doc string
2106         * doc/lispref/windows.texi (Display Action Functions): add
2107           display-buffer-use-some-frame
2108         * etc/NEWS: mention display-buffer-use-some-frame
2110         Add display-buffer action display-buffer-use-some-frame
2111         * lisp/window.el (display-buffer-use-some-frame): new
2113         Handle vc-mtn error more gently
2114         * lisp/vc/vc-mtn.el (vc-mtn-mode-line-string): return "" when branch is nil
2116 2015-07-29  Michael Albinus  <michael.albinus@gmx.de>
2118         Fix Tramp problems with multihops, and nc.
2119         * lisp/net/tramp-cache.el (tramp-get-file-property)
2120         (tramp-set-file-property, tramp-flush-file-property)
2121         (tramp-get-connection-property, tramp-set-connection-property)
2122         (tramp-flush-connection-property): Remove hop from vector.
2123         * lisp/net/tramp-gw.el (tramp-gw-process-filter): Ignore errors.
2124         * lisp/net/tramp-sh.el (tramp-methods) <nc>: Separate STDERR.
2125         (tramp-do-copy-or-rename-file-out-of-band): Increase timeout of
2126         netstat to 60".
2127         (tramp-sh-handle-start-file-process): Do not show hops in prompt.
2128         * lisp/net/tramp.el (tramp-handle-file-name-as-directory)
2129         (tramp-handle-file-name-directory, tramp-handle-file-remote-p):
2130         Keep hop in result.
2131         * test/automated/tramp-tests.el (tramp-test02-file-name-dissect):
2132         Add hop tests.
2134 2015-07-29  Eli Zaretskii  <eliz@gnu.org>
2136         Resurrect highlighting of repeated words by Flyspell Mode
2137         * lisp/textmodes/flyspell.el (flyspell-word): Leave some non-word
2138         characters between point and the doublon candidate, so that
2139         flyspell-word-search-backward finds it.  (Bug#21157)
2141         Fix redisplay of large images on expose events
2142         * src/xdisp.c (expose_window, expose_area): Avoid comparisons
2143         between signed negative values and unsigned values.  This
2144         prevented redisplay on expose events when the window showed a very
2145         large image.
2147 2015-07-29  Paul Eggert  <eggert@cs.ucla.edu>
2149         Remove unnecessary stack overflow dependency
2150         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING):
2151         Don't worry about $ac_cv_header_sys_resource_h and
2152         $ac_cv_func_getrlimit, as they're no longer needed for this.
2153         Problem reported by Eli Zaretskii in:
2154         http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00443.html
2156 2015-07-28  Andy Moreton  <andrewjmoreton@gmail.com>  (tiny change)
2158         Pacify compilation -Wincompatible-pointer-types warnings
2159         * src/w32proc.c (Fw32_get_codepage_charset): Avoid compilation
2160         warning.
2161         (CompareStringW_Proc): New typedef.
2162         (w32_compare_strings): Use it, to pacify compiler warnings under
2163         "-Wincompatible-pointer-types".
2164         * src/w32fns.c (GetDiskFreeSpaceExW_Proc)
2165         (GetDiskFreeSpaceExA_Proc): New typedefs.
2166         (Ffile_system_info): Use them, to pacify compiler warnings under
2167         "-Wincompatible-pointer-types".
2169 2015-07-28  Paul Eggert  <eggert@cs.ucla.edu>
2171         Fix subscript error in calculate_direct_scrolling
2172         Use slightly-longer cost vectors.  Without this change,
2173         calculate_direct_scrolling can have a subscript violation when
2174         FRAME_LINES (frame) <= delta.
2175         * src/scroll.c (calculate_scrolling, calculate_direct_scrolling)
2176         (line_ins_del, do_line_insertion_deletion_costs):
2177         Allocate and use slightly-larger cost vectors, ones based on
2178         FRAME_TOTAL_LINES instead of FRAME_LINES.
2180         Fix uninitalized value in encode_coding_object
2181         * src/coding.c (encode_coding_object): Also initialize
2182         coding->src_pos and coding->src_pos_byte when NILP (src_object).
2183         This avoids later use of uninitialized storage.
2185 2015-07-27  Xue Fuqiao  <xfq.free@gmail.com>
2187         * doc/lispref/variables.texi (Variable Aliases): Typo fix.  (Bug#21141)
2189 2015-07-27  Paul Eggert  <eggert@cs.ucla.edu>
2191         Merge from gnulib
2192         This incorporates:
2193         2015-07-27 time_rz: port better to MinGW
2194         2015-07-27 time: port __need_time_t to MinGW
2195         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
2196         * lib/strftime.c, lib/time.in.h, lib/time_rz.c: Copy from gnulib.
2197         * lib/time-internal.h: New file, from gnulib.
2199 2015-07-27  Eli Zaretskii  <eliz@gnu.org>
2201         Handle NULL pointers in w32heap.c allocation routines
2202         * src/w32heap.c (FREEABLE_P): Consider a NULL pointer "not
2203         freeable".
2204         (realloc_after_dump, realloc_before_dump, free_before_dump):
2205         Handle NULL pointers gracefully, as Emacs now seems to expect
2206         that.
2208         Fix Cairo build without PNG
2209         * src/image.c: Define PNG function when USE_CAIRO is defined, even
2210         if HAVE_PNG is not.  (Bug#21133)
2212         MS-Windows follow-up for recent TZ-related changes
2213         * nt/mingw-cfg.site (ac_cv_header_pthread_h)
2214         (gl_cv_sys_struct_timespec_in_pthread_h): Force to "no", to avoid
2215         picking up 'struct timespec' from pthread.h, if it is installed on
2216         the user's system.  We want either the definitions from MinGW
2217         system headers, if available, or the Gnulib replacements if not.
2218         * nt/inc/ms-w32.h <struct timespec>: Don't define, as we now use
2219         lib/time.h.
2220         * lib/time.in.h: Don't let __need_* symbols affect what happens on
2221         MinGW.  These symbols are defined by MinGW system headers, but we
2222         don't want that to affect whether Gnulib portions of the header
2223         are or aren't used.
2225 2015-07-26  Paul Eggert  <eggert@cs.ucla.edu>
2227         * src/ftfont.c (ftfont_close): Add comment re Bug#20890.
2229         New optional ZONE arg for format-time-string etc.
2230         This simplifies time conversions in other time zones.
2231         It also prevents display-time-world tampering with TZ (Bug#21020).
2232         * admin/admin.el (add-release-logs):
2233         Use improved add-log-time-format API.
2234         * admin/merge-gnulib (GNULIB_MODULES): Add time_rz, timegm.
2235         (GNULIB_TOOL_FLAGS): Avoid flexmember, setenv, unsetenv.
2236         * configure.ac (tzalloc): Remove test for this, since
2237         Emacs no longer uses HAVE_TZALLOC directly.
2238         * doc/lispref/os.texi (Time of Day, Time Conversion)
2239         (Time Parsing):
2240         * etc/NEWS: Document the new behavior.
2241         Merge from gnulib, incorporating:
2242         2015-07-25 strftime: fix newly-introduced bug on Solaris
2243         2015-07-23 fprintftime, strftime: use timezone_t args
2244         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
2245         * lib/strftime.c, lib/strftime.h, lib/time.in.h, m4/sys_time_h.m4:
2246         * m4/time_h.m4:
2247         Update from gnulib.
2248         * lib/time_rz.c, lib/timegm.c, m4/time_rz.m4, m4/timegm.m4:
2249         New files from gnulib.
2250         * lisp/time-stamp.el (time-stamp-string):
2251         * lisp/time.el (display-time-world-list)
2252         (display-time-world-display):
2253         Use new API, with time zone arg.
2254         * lisp/time.el (display-time-world-display):
2255         Fix race when current-time advances while we're running.
2256         * lisp/vc/add-log.el (add-log-iso8601-time-zone)
2257         (add-log-iso8601-time-string): Accept optional time zone arg.
2258         * lisp/vc/add-log.el (add-change-log-entry):
2259         * lisp/vc/log-edit.el (log-edit-changelog-ours-p): Use new arg.
2260         * nt/gnulib.mk: Propagate lib/gnulib.mk changes here.
2261         Add rules for the time module, since they're now needed
2262         for tzalloc etc.
2263         * src/conf_post.h (getenv_TZ, setenv_TZ): New macros.
2264         (emacs_getenv_TZ, emacs_setenv_TZ): New decls.
2265         * src/editfns.c: Include errno.h.
2266         (set_time_zone_rule): Omit unnecessary forward decl.
2267         (initial_tz): Remove, replacing with ...
2268         (local_tz, wall_clock_tz, utc_tz): New static vars and constants.
2269         (tzeqlen): New constant; prefer it to (sizeof "TZ=" - 1).
2270         (emacs_localtime_rz, emacs_mktime_z, xtzalloc, xtzfree)
2271         (tzlookup): New static functions.
2272         (init_editfns): New arg DUMPING.  All uses changed.
2273         (init_editfns): Omit most initialization if dumping, not if
2274         !initialized.  Initialize wall_clock_tz and local_tz.
2275         (emacs_nmemftime, format_time_string): Time zone argument can now
2276         be any time zone, not just a boolean for UTC or local time.  All
2277         callers changed.
2278         (Fformat_time_string, Fencode_time, Fcurrent_time_string)
2279         (Fcurrent_time_zone): New optional arg ZONE.
2280         (Fdecode_time, Fset_time_zone_rule): ZONE arg can now also take
2281         the same form as with the other new additions.
2282         (decode_time_zone): Remove; no longer needed.
2283         (tzvalbuf): Now file-scope.
2284         (emacs_getenv_TZ, emacs_setenv_TZ): New functions.
2285         (syms_of_editfns): Define Qwall.
2286         * src/editfns.c (mktime_z) [!HAVE_TZALLOC]:
2287         * src/systime.h (mktime_z, timezone_t, tzalloc, tzfree)
2288         [!HAVE_TZALLOC]:
2289         Remove; now supplied by gnulib.
2290         * src/emacs.c (main):
2291         * src/lisp.h (init_editfns): Adjust to init_editfns API change.
2293 2015-07-26  Shigeru Fukaya  <shigeru.fukaya@gmail.com>
2295         Fix infinite loop in delete-consecutive-dups
2296         * lisp/subr.el (delete-consecutive-dups): Work even if the last
2297         element is nil (Bug#20588).  Avoid rescan of a circular list in
2298         deletion of last element.
2300 2015-07-26  Martin Rudalics  <rudalics@gmx.at>
2302         Have `x-frame-geometry' return nil for terminal and initial frames (Bug#21132)
2303         * src/nsfns.m (Fx_frame_geometry):
2304         * src/xfns.c (Fx_frame_geometry): Return nil for initial and
2305         terminal frames.
2306         * src/w32fns.c (Fw32_frame_menu_bar_size, Fw32_frame_rect)
2307         (Fx_frame_geometry): Return nil for terminal frames
2309 2015-07-26  HOSOYA Kei  <hosoyakei.free@gmail.com>  (tiny change)
2311         * etc/tutorials/TUTORIAL.ja: Improve translation.
2313 2015-07-25  Eli Zaretskii  <eliz@gnu.org>
2315         Avoid crashes when w32 GUI functions are called in -batch
2316         * src/w32fns.c (Fx_frame_geometry, Fw32_frame_rect)
2317         (Fw32_frame_menu_bar_size, Fw32_send_sys_command): Don't call
2318         FRAME_W32_WINDOW for initial frame.  (Bug#21132)
2320         Fix flyspell-check-previous-highlighted-word
2321         * lisp/textmodes/flyspell.el
2322         (flyspell-check-previous-highlighted-word): Really accept a
2323         numeric argument, as the doc string describes.  Fix an off-by-one
2324         error in looking up overlays, so invocation with point immediately
2325         after a word would check that word.  Clarify the doc string as
2326         Suggested by N. Jackson <nljlistbox2@gmail.com>.  (Bug#21129)
2328 2015-07-24  Michael Albinus  <michael.albinus@gmx.de>
2330         Minor cleanup in tramp-tests.el
2331         * test/automated/tramp-tests.el (tramp-test31-*, tramp-test32-*):
2332         Implement using the documented interface
2333         `tramp-connection-properties', rather than with internal functions.
2335 2015-07-24  Harald Hanche-Olsen  <hanche@math.ntnu.no>  (tiny change)
2337         Pass lambdas to `skeleton-read'
2338         * lisp/skeleton.el (skeleton-read): Allow PROMPT to be a function.
2339         * lisp/textmodes/sgml-mode.el (sgml-attributes, sgml-value): Pass
2340         lambdas to `skeleton-read' (bug#20386).
2342 2015-07-24  Eli Zaretskii  <eliz@gnu.org>
2344         * INSTALL (DETAILED BUILDING AND INSTALLATION): Mention --without-imagemagick.
2346         Don't require GUI frames and mouse for Flyspell menus
2347         * lisp/textmodes/flyspell.el (flyspell-correct-word-before-point)
2348         (flyspell-emacs-popup): Require neither a GUI frame nor mouse
2349         support, since pop-up menus work with text terminals and can be
2350         controlled via the keyboard.
2352         Improve documentation of Flyspell commands
2353         * doc/emacs/fixit.texi (Spelling): Mention Flyspell commands that
2354         can be invoked via the keyboard.  Mention those commands by name
2355         and add them to the fn index.  (Bug#21125)
2357 2015-07-23  Michael Albinus  <michael.albinus@gmx.de>
2359         Fix some Tramp problems with HP-UX
2360         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
2361         Add "tab0" to stty call.
2362         * test/automated/tramp-tests.el (tramp-persistency-file-name):
2363         Set to nil.
2364         (tramp--test-hpux-p): New defun.
2365         (tramp--test-utf8): Use it.
2367 2015-07-22  Glenn Morris  <rgm@gnu.org>
2369         * build-aux/update-subdirs: Put "no-update-autoloads: t" in output.
2371 2015-07-22  Eli Zaretskii  <eliz@gnu.org>
2373         Fix point positioning in ffap-next-guess
2374         * lisp/ffap.el (ffap-url-at-point): Set ffap-string-at-point-region,
2375         as our callers expect.  This was clobbered as part of fixing
2376         bug#5673.  (Bug#21107)
2377         (ffap-gopher-at-point): Set ffap-string-at-point-region.
2379 2015-07-22  Martin Rudalics  <rudalics@gmx.at>
2381         Fix customization type of `even-window-sizes'.
2382         * lisp/window.el (even-window-sizes): Fix customization type.
2384         Optionally even widths of `display-buffer' windows.  (Bug#21100)
2385         * lisp/window.el (quit-restore-window): Restore width if
2386         requested.
2387         (display-buffer-record-window): Record width when window is
2388         reused and horizontally combined.
2389         (even-window-sizes): New option to allow evening window widths.
2390         (even-window-heights): Defalias to `even-window-sizes'.
2391         (window--even-window-heights): Rename to
2392         `window--even-window-sizes'.  Handle side-by-side windows.
2393         (display-buffer-use-some-window): Call `window--even-window-sizes'
2394         instead of `window--even-window-heights'.
2395         * lisp/help.el (resize-temp-buffer-window): Fix indentation.
2396         * doc/lispref/windows.texi (Choosing Window Options): Describe
2397         `even-window-sizes'.
2398         (Coordinates and Windows): Fix typo.
2400 2015-07-22  Stephen Leake  <stephen_leake@stephe-leake.org>
2402         add file name to autoload error messages.
2403         * lisp/emacs-lisp/autoload.el (autoload-save-buffers): add condition-case
2404           to add file name to error message.
2406 2015-07-22  Michael Albinus  <michael.albinus@gmx.de>
2408         Use 0.0.0.1 as test host in Tramp
2409         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options):
2410         Use 0.0.0.1 as test host.
2412 2015-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
2414         (advice--called-interactively-skip): Fix inf-loop (bug#21083)
2415         * lisp/emacs-lisp/nadvice.el (advice--called-interactively-skip):
2416         Fix inf-loop (bug#21083).
2418 2015-07-21  Glenn Morris  <rgm@gnu.org>
2420         * test/automated/package-test.el (package-test-signed):
2421         Update for recent changes.
2423         * test/automated/elisp-mode-tests.el
2424         (elisp-xref-finds-both-function-and-variable)
2425         (elisp-xref-finds-only-function-for-minor-mode):
2426         Update for recent xref name changes.
2428 2015-07-21  Dmitry Gutov  <dgutov@yandex.ru>
2430         Make eldoc timer non-repeatable
2431         * lisp/emacs-lisp/eldoc.el (eldoc-schedule-timer): Make the timer
2432         non-repeatable.  Since it's on post-command hook, that just wasted
2433         CPU cycles.
2435 2015-07-21  Michael Albinus  <michael.albinus@gmx.de>
2437         Mention `tramp-connection-properties' in NEWS
2439         Sync with Tramp repository
2440         * doc/misc/tramp.texi (Configuration): Note, that Tramp must be
2441         required prior changing its configuration.
2442         (Connection caching, Predefined connection information)
2443         (Remote shell setup): Fix typos.
2444         (Predefined connection information): Describe, how to overwrite
2445         parameters of `tramp-methods'.
2446         (Remote programs, Remote processes, Traces and Profiles):
2447         Simplify example.
2448         (Remote programs): Remove superfluous comment.
2449         * doc/misc/trampver.texi: Update release number.
2450         * lisp/net/tramp-cache.el (tramp-connection-properties): Adapt docstring.
2451         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file): New defun.
2452         (tramp-gvfs-handle-copy-file, tramp-gvfs-handle-rename-file): Use it.
2453         (tramp-gvfs-handle-make-directory): Reimplement PARENTS handling,
2454         "gvfs-mkdir -p ..." does not work robust.
2455         (tramp-gvfs-maybe-open-connection): Adapt `tramp-get-method-parameter' call.
2456         * lisp/net/tramp-sh.el (tramp-methods):
2457         Add `tramp-remote-shell-login' parameter where it fits.
2458         (tramp-get-remote-path): Use it.
2459         (tramp-make-copy-program-file-name): Fix quoting for "psftp" method.
2460         (all): Adapt `tramp-get-method-parameter' calls.
2461         * lisp/net/tramp.el (tramp-methods): Adapt docstring.
2462         (tramp-get-method-parameter): Replace argument METHOD by VEC.
2463         Check also for hits in `tramp-connection-properties'.  Adapt docstring.
2464         (tramp-get-remote-tmpdir): Cache only the local name of tmpdir.
2465         (all): Adapt `tramp-get-method-parameter' calls.
2466         * lisp/net/trampver.el Update release number.
2467         * test/automated/tramp-tests.el (tramp--instrument-test-case):
2468         Add "^make-symbolic-link not supported$" to `debug-ignored-errors'.
2469         (tramp-test13-make-directory, tramp--test-adb-p)
2470         (tramp--test-smb-or-windows-nt-p): Simplify.
2471         (tramp--test-ftp-p, tramp--test-gvfs-p): New defuns.
2472         (tramp--test-special-characters): Fix docstring.  Add gvfs and ftp tests.
2473         (tramp--test-utf8): Fix docstring.
2475 2015-07-20  Dmitry Gutov  <dgutov@yandex.ru>
2477         Add new xref-query-replace command
2478         * lisp/progmodes/xref.el (xref--match-buffer-bounds): New
2479         function, extracted from xref-pulse-momentarily.
2480         (xref-query-replace): New command.
2481         (xref--query-replace-1): New helper function.
2482         (xref--xref-buffer-mode-map): Add `r' binding.
2484 2015-07-20  Paul Eggert  <eggert@cs.ucla.edu>
2486         Simplify icalendar decoding of Z dates
2487         * lisp/calendar/icalendar.el (icalendar--decode-isodatetime):
2488         Simplify calculation of time strings with trailing "Z".
2490 2015-07-19  Dmitry Gutov  <dgutov@yandex.ru>
2492         Do not corrupt grep-find-ignored-files
2493         * lisp/progmodes/project.el (project-ignores): Change the order of
2494         the arguments to nconc, in order not to corrupt grep-find-ignored-files.
2496         Add xref-match-item, and use it
2497         * lisp/progmodes/xref.el (xref-match-bounds): New generic function.
2498         (xref-file-location): Add reader for the column slot.
2499         (xref-match-item): New class.
2500         (xref-match-bounds): A method implementation for it.
2501         (xref-make-match): New constructor function.
2502         (xref--current-item): New private variable.
2503         (xref-pulse-momentarily): Use it.
2504         (xref--pop-to-location): Change the first argument to an xref
2505         item, instead of location, bind xref--current-item.
2506         Update all callers.
2507         (xref-next-line, xref-prev-line, xref--next-error-function)
2508         (xref--mouse-2): Look for the property `xref-item',
2509         instead of `xref-location'.
2510         (xref--item-at-point): Likewise.  This function replaces
2511         `xref-location-at-point'.  Update all callers.
2512         (xref--insert-xrefs): Add the `xref-item' text property, instead
2513         of `xref-location'.
2514         (xref--collect-match): Use xref-make-match.
2516         Rename xref--xref to xref-item
2517         * lisp/progmodes/xref.el (xref-item): Rename from `xref--xref'.
2518         Update all references.
2520         Rename xref description slot to summary
2521         * lisp/progmodes/xref.el (xref--xref): Rename the `description'
2522         slot to `summary'.
2524         vc-hg: Perform the print-log call asynchronously
2525         * lisp/vc/vc-hg.el (vc-hg-print-log): Perform the call
2526         asynchronously (bug#21067).
2528         Add xref-after-jump-hook and xref-after-return-hook
2529         * lisp/progmodes/xref.el (xref-after-jump-hook)
2530         (xref-after-return-hook): New hooks.
2531         (xref-pulse-on-jump): Remove, in favor of the above.
2532         (xref-pulse-momentarily): Rename from xref--maybe-pulse.
2533         (xref--pop-to-location, xref--display-position)
2534         (xref-pop-marker-stack): Use the new hooks, as requested in
2535         http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00213.html
2537 2015-07-19  Bozhidar Batsov  <bozhidar@batsov.com>
2539         Correct js-mode's lighter
2540         * lisp/progmodes/js.el (js-mode): Correct the lighter.
2542 2015-07-19  Leo Liu  <sdl.web@gmail.com>
2544         Fix a bug in cfengine3-mode
2545         * progmodes/cfengine.el (cfengine3-mode): Handle nil
2546           eldoc-documentation-function.
2548 2015-07-18  Julien Danjou  <julien@danjou.info>
2550         sieve-mode: support "body" test command
2551         * lisp/gnus/sieve-mode.el (sieve-font-lock-keywords):
2552         Add missing "body" test command.
2554 2015-07-18  Eli Zaretskii  <eliz@gnu.org>
2556         Fix info-apropos when the default encoding is Latin-N
2557         * lisp/info.el (Info-find-node-2): Reset the buffer's encoding to
2558         'undecided', so that it is set to the encoding of the Info file we
2559         are about to insert.  Otherwise, 'info-apropos' will fail to find
2560         some index nodes in some UTF-8 encoded files, if the buffer's
2561         previous encoding is Latin-N or some such.
2563 2015-07-18  Ivan Andrus  <darthandrus@gmail.com>
2565         * epg.el (epg--start): Check that gpgconf can be found before calling it.
2567         Expose more file types to OS X that Emacs understands.
2568         * Cocoa/Emacs.base/Contents/Info.plist: Add editor role for sty, dtx,
2569         json, and org files.  Export UTIs for el, elc, and org files.
2571 2015-07-18  Eli Zaretskii  <eliz@gnu.org>
2573         Fix visual-order cursor movement when lines are truncated
2574         * src/xdisp.c (Fmove_point_visually): When lines are truncated,
2575         simulate display in a window of infinite width, to allow move_it_*
2576         functions reach positions outside of normal window dimensions.
2577         Remove code that tried to handle a subset of these situations by
2578         manual iteration of buffer text.  (Bug#17777)
2580         Fix following Info cross-references to anchors
2581         * lisp/info.el (Info-read-subfile): Add to the returned value the
2582         length of subfile preamble, after converting it to file's byte
2583         offset, as expected by the caller.  Use bufferpos-to-filepos.
2584         (Info-find-node-2): If searching for a node with a
2585         1000-character slop fails, try again with a 10000-character slop,
2586         to account for known bugs in Texinfo 5.0 and 5.1.  (Bug#21055)
2587         * lisp/international/mule-util.el (bufferpos-to-filepos): New
2588         function.
2589         * etc/NEWS: Mention bufferpos-to-filepos.
2591         Fix scrolling backwards on TTY frames under scroll-conservatively
2592         * src/xdisp.c (move_it_vertically_backward): Fix off-by-one error
2593         in moving backwards on TTY frames.  (Bug#21080)
2595 2015-07-17  Dmitry Gutov  <dgutov@yandex.ru>
2597         Consider a jsdoc tag to be a beginning of a paragraph as well
2598         * lisp/progmodes/js.el (js-mode): Change c-paragraph-start to
2599         consider a jsdoc tag to be a beginning of a paragraph as well.
2601 2015-07-17  Artur Malabarba  <bruce.connor.am@gmail.com>
2603         * lisp/emacs-lisp/package.el: Fix warnings
2605         * lisp/emacs-lisp/package.el (package-buffer-info):
2606         Add author and maintainers to `package-buffer-info'.
2608         * lisp/emacs-lisp/package.el: Many small changes
2609         Replace all instances of 'face with 'font-lock-face.
2610         (describe-package-1): Improve some strings and move the summary up the
2611         list.
2612         (package-install-file): Update docstring.
2613         (package-menu-hide-package): Bind to `H'.
2615         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
2616         Fix error handling.
2618 2015-07-17  Paul Eggert  <eggert@cs.ucla.edu>
2620         Fix hang with large yanks This should fix the bug fixed by Mike
2621         Crowe's patch in:
2622         https://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00106.html
2623         A problem in this area has been reported by several users; see
2624         Bug#16737, Bug#17101, Bug#17026, Bug#17172, Bug#19320, Bug#20283.
2625         This fix differs from Mike Crowe's patch in that it should avoid a
2626         race condition that could lose SIGIO signals.  ignore_sigio dates
2627         back to the 1980s when some platforms couldn't block signals, and
2628         could only ignore them, which led to races when signals arrived
2629         while being ignored.  We shouldn't have to worry about those old
2630         platforms now.
2631         * src/dispextern.h, src/sysdep.c (ignore_sigio): Remove.
2632         * src/emacs.c (shut_down_emacs):
2633         Don't call ignore_sigio; unrequest_sigio should suffice.
2634         * src/keyboard.c (kbd_buffer_store_buffered_event):
2635         Use unrequest_sigio, not ignore_sigio.
2636         (kbd_buffer_get_event):
2637         Call request_sigio when getting the ball rolling again.
2639 2015-07-17  Artur Malabarba  <bruce.connor.am@gmail.com>
2641         * lisp/obsolete/longlines.el (longlines-search-function):
2642         Fallback on `isearch-search-fun-default'.
2644 2015-07-17  Tassilo Horn  <tsdh@gnu.org>
2646         Support @-mentions
2647         * rcirc.el (rcirc-completion-at-point): Support completion of
2648         mentions/messages with @nick instead of just nick.
2650 2015-07-16  Michael Albinus  <michael.albinus@gmx.de>
2652         Fix Bug#20943.
2653         * lisp/autorevert.el (auto-revert-handler): Do not check for
2654         `buffer-modified-p'.
2655         * lisp/files.el (buffer-stale--default-function): Check for
2656         `buffer-modified-p'.
2657         * test/automated/auto-revert-tests.el
2658         (auto-revert-test02-auto-revert-mode-dired): Adapt test.
2660 2015-07-16  Ari Roponen  <ari.roponen@gmail.com>
2662         Fix delete-dups bug on long lists
2663         * lisp/subr.el (delete-dups):
2664         Don't mistakenly keep some dups when applied to long lists.
2666 2015-07-16  Paul Eggert  <eggert@cs.ucla.edu>
2668         Better heuristic for C stack overflow
2669         Improve the heuristic for distinguishing stack overflows from
2670         other SIGSEGV causes (Bug#21004).  Corinna Vinschen explained that
2671         the getrlimit method wasn't portable to Cygwin; see:
2672         https://www.cygwin.com/ml/cygwin/2015-07/msg00092.html
2673         Corinna suggested pthread_getattr_np but this also has problems.
2674         Instead, replace the low-level system stuff with a simple
2675         heuristic based on known good stack addresses.
2676         * src/eval.c, src/lisp.h (near_C_stack_top): New function.
2677         * src/sysdep.c: Don't include <sys/resource.h>.
2678         (stack_direction): Remove.  All uses removed.
2679         (stack_overflow): New function.
2680         (handle_sigsegv): Use it instead of incorrect getrlimit heuristic.
2681         Make SEGV fatal in non-main threads.
2683 2015-07-16  Daiki Ueno  <ueno@gnu.org>
2685         epg: Automatically start pinentry server
2686         * epg-config.el (epg-gpgconf-program): New variable.
2687         * epg.el (epg--start): Call `pinentry-start' if
2688         allow-emacs-pinentry is set in ~/.gnupg/gpg-agent.conf.
2690 2015-07-15  Katsumi Yamaoka  <yamaoka@jpl.org>
2692         * lisp/gnus/nnimap.el: Fix my last bogus change
2693         Reinstall Stefan Monnier's change that was made in
2694         <83d824bc4041332f338ad7e5e830f443535aa300>.
2696 2015-07-15  Paul Eggert  <eggert@cs.ucla.edu>
2698         Merge from gnulib
2699         This incorporates:
2700         2015-07-05 acl-permissions: Document FreeBSD ACL_TYPE_NFS4 acls
2701         2015-07-05 acl-permissions: Fix on FreeBSD
2702         2015-07-05 file-has-acl, acl-permissions: fix some more HP-UX typos
2703         * lib/acl-internal.c, lib/acl-internal.h, lib/get-permissions.c:
2704         * lib/set-permissions.c: Copy from gnulib.
2706         Port to stricter C99
2707         * src/keyboard.h (kbd_buffer_store_event_hold):
2708         Don't return a void expression.
2710 2015-07-15  Xue Fuqiao  <xfq.free@gmail.com>
2712         * doc/emacs/frames.texi (Creating Frames): Fix the command `C-x 5 m' runs.
2714 2015-07-14  Michael Albinus  <michael.albinus@gmx.de>
2716         New autorevert tests.
2717         * test/automated/auto-revert-tests.el: New file.
2719 2015-07-14  Paul Eggert  <eggert@cs.ucla.edu>
2721         Clear gcprolist etc. after stack overflow
2722         After stack overflow, command_loop calls init_eval, and this needs to
2723         clear gcprolist and byte_stack_list (Bug#20996).
2724         * src/alloc.c (init_alloc):
2725         Move gcprolist and byte_stack_list initialization from here ...
2726         * src/eval.c (init_eval): ... to here.
2728 2015-07-13  Xue Fuqiao  <xfq.free@gmail.com>
2730         * doc/emacs/windows.texi (Pop Up Window): Fix the description of `C-x 4 m'.
2732 2015-07-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2734         Avoid deprecated enums in mac-ct font backend driver
2735         * src/macfont.m (mac_font_copy_default_descriptors_for_language)
2736         (mac_ctfont_get_advance_width_for_glyph)
2737         (mac_ctfont_get_bounding_rect_for_glyph): Avoid deprecated enums.
2739         Cache font family in mac-ct font backend driver
2740         * src/macfont.m (macfont_family_cache): New variable.
2741         (syms_of_macfont): Initialize it.
2742         (macfont_available_families_cache): New variable.
2743         (macfont_invalidate_family_cache, macfont_get_family_cache_if_present)
2744         (macfont_set_family_cache, macfont_invalidate_available_families_cache)
2745         (macfont_handle_font_change_notification)
2746         (macfont_init_font_change_handler)
2747         (macfont_copy_available_families_cache): New functions.
2748         (macfont_create_family_with_symbol): Use font family caches.
2749         (macfont_list, macfont_list_family): Use
2750         macfont_copy_available_families_cache instead of
2751         mac_font_create_available_families.
2753 2015-07-12  Dmitry Gutov  <dgutov@yandex.ru>
2755         Show the default value in the prompt
2756         * lisp/progmodes/xref.el: Add `M-?' binding for
2757         xref-find-references.  Declare functions `grep-read-files' and
2758         `grep-expand-template'.
2759         (xref--read-identifier): Show the default value in the prompt.
2761         When called with prefix argument, ask for file patterns to search as well
2762         * lisp/progmodes/xref.el (xref-find-regexp): When called with
2763         prefix argument, ask for file patterns to search as well.  When
2764         prompting for the directory, require an existing one.
2765         (xref-collect-matches): Add a new argument, FILES.  Use it in the
2766         above function.
2768         Add `project-ignores'
2769         * lisp/progmodes/project.el (project-ignores): New generic
2770         function, and an implementation for the VC project type.
2771         * lisp/progmodes/xref.el (xref--rgrep-command): Split, as a
2772         variant of rgrep-default-command that handles a generic list of
2773         ignores.
2774         (xref-collect-matches): Use it, and pass through to it the value
2775         of the newly added argument.
2776         (xref-find-regexp): Handle ignored paths within the project.
2777         Remove outdated comment.
2778         * lisp/vc/vc.el (vc-default-ignore-completion-table):
2779         Skip the comments and the empty lines.
2781 2015-07-12  Xue Fuqiao  <xfq.free@gmail.com>
2783         * doc/emacs/buffers.texi (Misc Buffer): Add a cross reference.
2785 2015-07-11  Eric Abrahamsen  <eric@ericabrahamsen.net>
2787         gnus-registry.el: Correct function argument order
2788         * lisp/gnus/gnus-registry.el (gnus-registry--set/remove-mark):
2789         Reverse the order of function arguments.
2791 2015-07-11  Dmitry Gutov  <dgutov@yandex.ru>
2793         Bind grep-highlight-matches to nil
2794         * lisp/progmodes/xref.el (xref-collect-matches):
2795         Bind grep-highlight-matches to nil (bug#20728).
2797 2015-07-11  Nikolaus Rath  <Nikolaus@rath.org>
2799         nnimap.el: Fix IMAP message size parsing
2800         * lisp/gnus/nnimap.el (nnimap-transform-headers):
2801         Don't assume that UID comes before RFC822.SIZE.
2803 2015-07-10  Stefan Monnier  <monnier@iro.umontreal.ca>
2805         * lisp/gnus/nnimap.el: Clean up "unused var" warnings
2806         (auth-source-creation-prompts): Declare.
2807         (nnimap-retrieve-headers, nnimap-status-message)
2808         (nnimap-request-create-group, nnimap-request-delete-group)
2809         (nnimap-close-group, nnimap-request-move-article)
2810         (nnimap-request-accept-article, nnimap-request-newgroups)
2811         (nnimap-request-post, nnimap-dummy-active-number)
2812         (nnimap-save-mail-spec, nnimap-get-groups): Add _ to unused vars.
2813         (nnimap-parse-flags): Remove unused var `p'.
2814         (nnimap-retrieve-group-data-early): Remove unused var `groups'.
2815         (nnimap-flags-to-marks): Remove unused var `totalp'.
2817 2015-07-10  Andy Moreton  <andrewjmoreton@gmail.com>  (tiny change)
2819         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 20MB.
2821 2015-07-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2823         * src/macfont.m (macfont_list): Ignore font families lacking font descriptors.
2825 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
2827         Don't check the exit status, it can be misleading
2828         * lisp/progmodes/xref.el (xref-collect-matches): Don't check the
2829         exit status, it can be misleading.
2831         Introduce a Project API
2832         * lisp/progmodes/project.el: New file.
2833         * lisp/cedet/ede.el: (project-try-ede): New function.
2834         (project-root): New implementation.
2835         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
2836         Set project-search-path-function.
2837         (elisp--xref-find-references): Delegate some logic to
2838         project-search-path.
2839         (elisp-search-path): New function.
2840         (elisp-xref-find): Don't implement `matches' anymore.
2841         * lisp/progmodes/etags.el: Don't implement `matches'.
2842         Delegate some logic to project-search-path.
2843         (etags-search-path): New function.
2844         * lisp/progmodes/xref.el (xref-find-function):
2845         Remove `matches' from the API.
2846         (xref-find-regexp): Move whatever common logic was in elisp and
2847         etags implementations, and search the directories returned by
2848         project-directories and project-search-path.
2850 2015-07-09  Nicolas Petton  <nicolas@petton.fr>
2852         * test/automated/map-tests.el (test-map-delete-return-value): Uncomment test.
2854         Add support for gv.el in map.el
2855         * lisp/emacs-lisp/map.el (map-elt, map-delete): Declare a gv-expander.
2856         * lisp/emacs-lisp/map.el (map-put): Refactor using `setf' and `map-elt'.
2857         * test/automated/map-tests.el: Update tests to work with the new
2858         implementations of map-elt and map-put.
2860 2015-07-09  Glenn Morris  <rgm@gnu.org>
2862         * lisp/emacs-lisp/debug.el (debug-help-follow): Use describe-symbol.
2864 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
2866         Syntax-propertize until the end of the line first
2867         * lisp/progmodes/xref.el (xref--collect-match): Syntax-propertize
2868         until the end of the line first.
2870 2015-07-09  Xue Fuqiao  <xfq.free@gmail.com>
2872         * doc/emacs/files.texi (File Archives): Add a cross reference.
2874 2015-07-08  Nikolaus Rath  <Nikolaus@rath.org>
2876         nnimap.el: Handle plain value for nnimap-stream
2877         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Always query
2878         capabilities, so that a 'plain value for the `nnimap-stream' server
2879         variable is handled correctly.
2880         * doc/misc/gnus.texi (Customizing the IMAP Connection):
2881         Document the 'plain option.
2883 2015-07-08  Leo Liu  <sdl.web@gmail.com>
2885         Fix bug in thing-at-point--bounds-of-well-formed-url
2886         * lisp/thingatpt.el (thing-at-point--bounds-of-well-formed-url): Make
2887           sure boundary contains current point.
2889 2015-07-08  Dmitry Gutov  <dgutov@yandex.ru>
2891         * lisp/progmodes/xref.el (xref-collect-matches): Use `nreverse' in the end.
2893         Declare whitespace-line-column a safe file-local
2894         * lisp/whitespace.el (whitespace-line-column): Declare to be a
2895         safe file-local when the value is an integer.
2897 2015-07-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
2899         gnus-group.el: Check if group names are already strings
2900         * lisp/gnus/gnus-group.el (gnus-group-group-name):
2901         The group name may already be a string.
2902         Specifically, in the group list reached from the *Server* buffer,
2903         the 'gnus-group text property returns a string.  Everywhere else
2904         it returns a symbol.
2906         nnimap.el: Remove unused let variables
2907         * lisp/gnus/nnimap.el (nnimap-request-group): Variables are not used.
2909 2015-07-08  Eli Zaretskii  <eliz@gnu.org>
2911         Support "maximized" property of runemacs's shortcut
2912         * nt/runemacs.c (WinMain): If runemacs is invoked "maximized", pass
2913         the '--maximized' switch to Emacs.
2915         Support "minimized" property of runemacs's shortcut
2916         * nt/runemacs.c (WinMain): If runemacs is invoked "minimized",
2917         pass the '--iconic' switch to Emacs.  (Bug#20991)
2919 2015-07-08  Xue Fuqiao  <xfq.free@gmail.com>
2921         Doc fixes
2922         * doc/emacs/files.texi (Diff Mode): Fix the description of `C-c
2923         C-w' in Diff mode.
2924         * doc/emacs/arevert-xtra.texi (Auto Reverting the Buffer Menu):
2925         Add a cross reference.
2927 2015-07-08  Nicolas Richard  <youngfrog@members.fsf.org>
2929         * lisp/obsolete/landmark.el: Add Obsolete-since header
2931 2015-07-07  Glenn Morris  <rgm@gnu.org>
2933         * test/automated/ert-tests.el (ert-test-deftest):
2934         Update for recent changes.
2936 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
2938         (gv-setter, gv-synthetic-place, gv-delay-error): New funs/macros
2939         * lisp/emacs-lisp/gv.el (gv-setter): New function.
2940         (gv-invalid-place): New error.
2941         (gv-get): Use them.
2942         (gv-synthetic-place, gv-delay-error): New places.
2943         * lisp/emacs-lisp/cl-generic.el (cl--generic-setf-rewrite): Remove.
2944         (cl-defgeneric, cl-defmethod): Use gv-setter.
2946 2015-07-07  Fabrice Popineau  <fabrice.popineau@gmail.com>
2948         Make vc-tests work with MSYS svn program
2949         * lisp/vc/vc-svn.el (vc-svn-create-repo): Fix the file:// URL when
2950         svn is an MSYS program.
2952 2015-07-07  Ken Brown  <kbrown@cornell.edu>
2954         Improve recent change to emacsclient on Cygwin
2955         * lisp/server.el (server-process-filter): Remove redundant check
2956         that 'cygwin-convert-file-name-from-windows' is defined as a
2957         function on Cygwin.  Don't call that function unless its argument
2958         starts with a drive letter.
2960 2015-07-07  Artur Malabarba  <bruce.connor.am@gmail.com>
2962         * lisp/emacs-lisp/package.el (package-compute-transaction): Bug fix
2963         Fix void variable due to `found-something' being in the wrong `let'.
2965 2015-07-07  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
2967         * lisp/play/landmark.el: Move to lisp/obsolete/
2969 2015-07-07  Martin Rudalics  <rudalics@gmx.at>
2971         Have `x-show-tip' handle `right' and `bottom' frame parameters.
2972         * src/nsfns.m (compute_tip_xy, Fx_show_tip)
2973         * src/w32fns.c (compute_tip_xy, Fx_show_tip)
2974         * src/xfns.c (compute_tip_xy, Fx_show_tip): Allow aligning
2975         tooltips also via `right' and `bottom' frame parameters.
2977 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
2979         Add online-help support to describe types
2980         * lisp/help-fns.el (describe-symbol-backends): Move to help-mode.el.
2981         (describe-symbol): Improve the selection of default.
2982         * lisp/help-mode.el: Require cl-lib.
2983         (describe-symbol-backends): Move from help-fns.el.
2984         (help-make-xrefs): Use it.
2985         * lisp/emacs-lisp/cl-extra.el (describe-symbol-backends): Add entry
2986         for types.
2987         (cl--typedef-regexp): New const.
2988         (find-function-regexp-alist): Add entry for types.
2989         (cl-help-type, cl-type-definition): New buttons.
2990         (cl-find-class): New function.
2991         (cl-describe-type): New command.
2992         (cl--describe-class, cl--describe-class-slot)
2993         (cl--describe-class-slots): New functions, moved from eieio-opt.el.
2994         * lisp/emacs-lisp/cl-generic.el (cl--generic-method-documentation)
2995         (cl--generic-all-functions, cl--generic-specializers-apply-to-type-p):
2996         New functions.  Moved from eieio-opt.el.
2997         (cl--generic-class-parents): New function, extracted from
2998         cl--generic-struct-specializers.
2999         (cl--generic-struct-specializers): Use it.
3000         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Use pcase-dolist.
3001         Improve constructor's docstrings.
3002         (cl-struct-unknown-slot): New error.
3003         (cl-struct-slot-offset): Use it.
3004         * lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Record the type
3005         definition in current-load-list.
3006         * lisp/emacs-lisp/eieio-core.el (eieio--known-slot-names): New var.
3007         (eieio--add-new-slot): Set it.
3008         (eieio-defclass-internal): Use new name for current-load-list.
3009         (eieio-oref): Add compiler-macro to warn about unknown slots.
3010         * lisp/emacs-lisp/eieio.el (defclass): Update eieio--known-slot-names
3011         as compile-time as well.  Improve constructor docstrings.
3012         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
3013         (eieio--help-print-slot, eieio-help-class-slots): Move to cl-extra.el.
3014         (eieio-class-def): Remove button.
3015         (eieio-help-constructor): Use new name for load-history element.
3016         (eieio--specializers-apply-to-class-p, eieio-all-generic-functions)
3017         (eieio-method-documentation): Move to cl-generic.el.
3018         (eieio-display-method-list): Use new names.
3019         * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression):
3020         Add "define-linline".
3021         (lisp-fdefs): Remove "defsubst".
3022         (el-fdefs): Add "defsubst", "cl-defsubst", and "define-linline".
3023         * lisp/emacs-lisp/macroexp.el (macroexp--warned): New var.
3024         (macroexp--warn-and-return): Use it to avoid inf-loops.
3025         Add `compile-only' argument.
3027 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
3029         python.el: Fix local/remote shell environment setup
3030         * lisp/progmodes/python.el (python-shell-with-environment): Fix
3031         remote/local environment setup.
3032         * test/automated/python-tests.el (python-shell-with-environment-1)
3033         (python-shell-with-environment-2): New tests.
3035 2015-07-06  Glenn Morris  <rgm@gnu.org>
3037         * lisp/simple.el (set-variable): Tweak recent doc fix.
3039 2015-07-06  Ken Brown  <kbrown@cornell.edu>
3041         * src/sysdep.c (handle_sigsegv) [CYGWIN]: Increase STACK_DANGER_ZONE
3043 2015-07-06  Glenn Morris  <rgm@gnu.org>
3045         * lisp/simple.el (set-variable): Use user-error for type mismatch.
3047 2015-07-06  Ken Brown  <kbrown@cornell.edu>
3049         * src/emacs.c (main): Don't increase the stack size on Cygwin
3051 2015-07-06  Stefan Monnier  <monnier@iro.umontreal.ca>
3053         (describe-symbol): Rewrite describe-function-or-variable
3054         * lisp/help-fns.el (describe-symbol-backends): New var.
3055         (help-xref-stack-item): Declare.
3056         (describe-symbol): Rename from describe-function-or-variable.
3057         Rewrite using describe-symbol-backends instead of help-xref-interned.
3058         * lisp/help.el (help-map): Use it.
3059         * lisp/help-mode.el (help-symbol, help-follow-symbol): Use it.
3060         (help-xref-interned): Make it into an obsolete alias.
3062         (eieio-persistent-save): Don't ignore `file' arg (bug#20972)
3063         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-save): Don't ignore
3064         `file' arg.  Always use utf-8-emacs.  Use with-temp-buffer and cl-letf.
3066 2015-07-06  Wolfgang Jenkner  <wjenkner@inode.at>
3068         Fix parsing glitches in dired-mark-sexp (bug#13575)
3069         * lisp/dired-x.el (dired-x--string-to-number): New function.
3070         (dired-mark-sexp): Use it.  Tweak dired-re-inode-size.  Fix usage
3071         of directory-listing-before-filename-regexp.  Consider
3072         forward-word harmful and replace it.  Add more verbiage in
3073         comments and doc string.
3075 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
3077         python.el: Respect process environment for remote shells
3078         * lisp/progmodes/python.el
3079         (python-shell-calculate-process-environment): Calculate
3080         process-environment or tramp-remote-process-environment depending
3081         whether current file is remote.
3082         (python-shell-calculate-exec-path): Calculate exec-path or
3083         tramp-remote-path depending whether current file is remote.
3084         (python-shell-with-environment): New macro.
3085         (python-shell-prompt-detect, python-shell-calculate-command)
3086         (python-shell-make-comint, python-check): Use it.
3088         python.el: Avoid making let-bound defvars buffer local  (Bug#18244)
3089         * lisp/progmodes/python.el (python-shell--interpreter)
3090         (python-shell--interpreter-args): New vars.
3091         (inferior-python-mode, python-shell-make-comint): Use them.
3093         python.el: Fixes for IPython 3.x  (Bug#20580)
3094         * lisp/progmodes/python.el:
3095         (python-shell-completion-native-setup): Fix IPython 3.x setup.
3096         (python-shell-completion-native-get-completions): Fix timeout
3097         logic.
3099         python.el: Fix mark-defun behavior  (Bug#19665)
3100         * lisp/progmodes/python.el: (python-mark-defun): New function.
3101         * test/automated/python-tests.el (python-mark-defun-1)
3102         (python-mark-defun-2, python-mark-defun-3): New tests.
3104 2015-07-05  Glenn Morris  <rgm@gnu.org>
3106         * lisp/progmodes/f90.el (f90-type-def-re): Handle attribute lists
3107         such as "extends(parent), private".  (Bug#20969)
3108         * test/automated/f90.el (f90-test-bug20969, f90-test-bug20969b):
3109         New tests.
3111 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
3113         Avoid duplicate calls to current_timespec
3114         * src/process.c (wait_reading_process_output):
3115         Cache current_timespec results as long as we're not waiting.
3117 2015-07-05  Ian Kelling  <ian@iankelling.org>
3119         Avoid returning early reading process output due to SIGIO
3120         * src/process.c (wait_reading_process_output): Extend the behavior of
3121         not breaking due to not finding output when a timer has lowered the
3122         timeout to include when SIGIO lowers the timeout.
3124         Don't return as fast reading any process output
3125         * src/process.c (wait_reading_process_output):
3126         The patch for Bug#17647 returns too fast sometimes when reading
3127         from any processes. Revert part of it, and limit the timeout more
3128         sensibly (Bug#20978).
3130         Refactor timeouts in wait_reading_process_output
3131         * src/process.c (wait_reading_process_output):
3132         Simplify timeouts with an enum.  Remove a redundant condition.
3133         (Bug#20978)
3135         Remove ADAPTIVE_READ_BUFFERING ifdef
3136         * src/process.c (make-process, make-pipe-process, deactivate_process)
3137         (wait_reading_process_output, read_process_output, send_process)
3138         (init_process_emacs): ifdef ADAPTIVE_READ_BUFFERING was originally
3139         added in case there was an operating system in which it was not
3140         useful.  That was 11 years ago and it hasn't happened.  Make
3141         development easier by not considering the effect of changes on a
3142         theoretical OS where this is disabled (Bug#20978).
3144 2015-07-05  Glenn Morris  <rgm@gnu.org>
3146         * lisp/simple.el (set-variable): Doc fix.
3148         * lisp/progmodes/fortran.el (fortran-line-length): Doc fix.
3150 2015-07-05  Ian Kelling  <ian@iankelling.org>
3152         accept-process-output fix
3153         This is a followon to the fix for Bug#17647 (Bug#20976).
3154         * src/process.c (status_notify): Fix too high return in some cases.
3156 2015-07-05  Artur Malabarba  <bruce.connor.am@gmail.com>
3158         * lisp/character-fold.el (character-fold-table):
3159         Only fold decompositions if at least one character is non-spacing.
3160         (Bug#20975)
3162 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
3164         Merge from gnulib
3165         This incorporates:
3166         2015-07-04 file-has-acl, acl-permissions: fix HP-UX typos
3167         2015-07-03 set-permissions.c: adjust acl_from_mode's cpp guard
3168         2015-07-02 update-copyright: fix test failure with perl >= 5.22
3169         2015-07-01 gnulib-common.m4: change the ARFLAGS default to 'cr'
3170         2015-07-01 acl: fix definition of acl_from_mode on FreeBSD
3171         * build-aux/update-copyright, doc/misc/texinfo.tex, lib/acl-internal.h:
3172         * lib/set-permissions.c, m4/gnulib-common.m4: Copy from gnulib.
3174 2015-07-05  Christoph Wedler  <christoph.wedler@sap.com>
3176         Respect `prog-indentation-context' in python.el
3177         * lisp/progmodes/python.el (python-indent-guess-indent-offset)
3178         (python-indent-context, python-indent--calculate-indentation)
3179         (python-info-current-defun)
3180         (python-info-dedenter-opening-block-message)
3181         (python-info-line-ends-backslash-p)
3182         (python-info-beginning-of-backslash)
3183         (python-info-continuation-line-p): Use `prog-widen'.
3184         (python-indent--calculate-indentation)
3185         (python-indent--calculate-levels)
3186         (python-indent-calculate-indentation): Use `prog-first-column'.
3187         (python-indent--calculate-levels): Simplify.
3188         Ignore also initial empty lines for syntax calculation.
3189         * lisp/progmodes/python.el (python-indent-context): Return
3190         :no-indent for first non-empty line, not just in line 1.
3191         * test/automated/python-tests.el (python-indent-base-case)
3192         (python-indent-inside-paren-1, python-indent-inside-paren-2)
3193         (python-indent-inside-paren-3, python-indent-inside-paren-4)
3194         (python-indent-inside-paren-5, python-indent-inside-paren-6)
3195         (python-indent-after-backslash-1)
3196         (python-indent-after-backslash-2)
3197         (python-indent-after-backslash-3)
3198         (python-indent-after-backslash-4, python-indent-inside-string-1):
3199         Expect :no-indent for first non-empty line.
3201 2015-07-04  Daniel Colascione  <dancol@dancol.org>
3203         Factor isearch word description into new function
3204         * lisp/isearch.el (isearch--describe-word-mode): New function.
3205         (isearch-message-prefix, isearch-query-replace): Use it.
3207 2015-07-04  Eli Zaretskii  <eliz@gnu.org>
3209         Fix mouse pointer on w32 when a menu is active
3210         * src/w32fns.c (w32_wnd_proc): Don't change the mouse pointer
3211         shape while a menu is in use.  This started happening since we now
3212         send WM_EMACS_SHOWCURSOR messages when the mouse moves.
3214 2015-07-04  Martin Rudalics  <rudalics@gmx.at>
3216         Fix processing of alpha parameter for Windows tip frames  (Bug#17344)
3217         * src/w32fns.c (x_create_tip_frame): Fix processing alpha
3218         parameter.  (Bug#17344)
3220         Have `compilation-set-window' use right window for getting fringes (Bug#20829)
3221         * lisp/progmodes/compile.el (compilation-set-window): Take
3222         `window-fringes' from argument window.  (Bug#20829)
3224 2015-07-03  Glenn Morris  <rgm@gnu.org>
3226         Update eieio tests for recent eieio-core change.
3227         * test/automated/eieio-test-persist.el (persist-test-save-and-compare):
3228         * test/automated/eieio-tests.el
3229         (eieio-test-32-slot-attribute-override-2):
3230         Replace the deleted eieio--class-v with cl--find-class.
3232 2015-07-03  Martin Rudalics  <rudalics@gmx.at>
3234         Fix some issues with `window-divider-mode'
3235         * lisp/frame.el (window-divider-default-places): New option.
3236         (window-divider-mode): Remove option.
3237         (window-divider-mode): Make it a "regular" minor mode.
3238         (window-divider-width-valid-p): Drop frame- prefix.
3239         (window-divider-mode-apply): New argument ENABLE.  Drop frame-
3240         prefix.  Handle `window-divider-default-places'.
3241         (frame--window-divider-mode-set-and-apply): Remove.
3242         (window-divider-default-bottom-width)
3243         (window-divider-default-right-width): Drop :group entries.
3244         * lisp/menu-bar.el (menu-bar-bottom-and-right-window-divider)
3245         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
3246         (menu-bar-no-window-divider): Set `window-divider-default-places'
3247         and call `window-divider-mode'.
3248         * doc/emacs/frames.texi (Window Dividers): Document
3249         `window-divider-default-places'.
3251 2015-07-02  Xue Fuqiao  <xfq.free@gmail.com>
3253         Add cross references in documentation
3254         * doc/emacs/display.texi (Displaying Boundaries):
3255         * doc/emacs/search.texi (Word Search): Add cross references.
3257 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
3259         -batch should not affect ‘’ -> `' display
3260         * lisp/startup.el (command-line): Do the ‘’ -> `' check even if
3261         -batch (Bug#20926).
3263 2015-07-02  Stefan Monnier  <monnier@iro.umontreal.ca>
3265         * lisp/emacs-lisp/eieio-core.el (eieio--class-v): Remove
3266         * lisp/emacs-lisp/eieio-core.el, lisp/emacs-lisp/eieio.el,
3267           lisp/emacs-lisp/eieio-opt.el, lisp/emacs-lisp/eieio-compat.el:
3268         Use cl--find-class instead.
3270         * lisp/term/xterm.el (xterm--query): Fix paren typo (bug#20951).
3272 2015-07-02  Martin Rudalics  <rudalics@gmx.at>
3274         Some further fixes in Change Window node.  (Bug#20183)
3275         * doc/emacs/windows.texi (Change Window): Replace "rearranging"
3276         by "resizing" in section title.  Add some concept indices.
3277         Suggested by N. Jackson (Bug#20183).
3279         Reference window dividers in Change Window section.
3280         * doc/emacs/windows.texi (Change Window): Reference window
3281         dividers.
3283         Document new `window-divider-mode'.
3284         * lisp/frame.el (window-divider-mode): Fix doc-string.
3285         * doc/emacs/frames.texi (Window Dividers): New section.
3287         Improve accessibility of window dividers.  (Bug#20183)
3288         * lisp/faces.el (window-divider)
3289         (window-divider-first-pixel, window-divider-last-pixel): Change
3290         membership from `frames' to `window-divider' customization group.
3291         * lisp/frame.el (window-divider): New customization group.
3292         (window-divider-mode): New minor mode.
3293         (window-divider-default-bottom-width)
3294         (window-divider-default-right-width): New options.
3295         (frame--window-divider-previous-mode): New variable.
3296         (frame-window-divider-width-valid-p)
3297         (frame--window-divider-mode-apply)
3298         (frame--window-divider-mode-set-and-apply): New functions.
3299         * lisp/menu-bar.el (menu-bar-options-save): Save
3300         window-divider-mode settings.
3301         (menu-bar-window-divider-customize)
3302         (menu-bar-bottom-and-right-window-divider)
3303         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
3304         (menu-bar-no-window-divider): New functions.
3305         (menu-bar-showhide-window-divider-menu): New variable.
3306         (menu-bar-showhide-menu): Show/hide window divider menu.
3307         * lisp/mouse.el (mouse-split-window-vertically)
3308         (mouse-split-window-horizontally): Replace `error' by
3309         `user-error'.  Bind `window-combination-resize' to nil.
3310         (top-level): Add/reorder mouse key bindings on mode- and
3311         vertical-line.
3313 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
3315         Don't display ‘’ as `' under X in en_GB
3316         The curved quote setup code invokes (char-displayable-p ?‘),
3317         but this isn’t reliable until after the X frame replaces the
3318         terminal frame (Bug#20926).
3319         * lisp/international/mule-cmds.el (set-locale-environment):
3320         Move curved quote setup code from here ...
3321         * lisp/startup.el (command-line): ... to here, after creating
3322         the X frame.
3324 2015-07-01  Nicolas Richard  <youngfrog@members.fsf.org>
3326         * lisp/emacs-lisp/seq.el (seq-difference): Fix typo in docstring
3328         Add argument to reverse the meaning of ido-restrict-to-matches
3329         * lisp/ido.el (ido-restrict-to-matches): Add an optional argument
3330         to reverse the meaning (Bug#15631).
3332 2015-07-01  Eli Zaretskii  <eliz@gnu.org>
3334         Be more tolerant to fonts named "Foobar-12"
3335         * src/frame.c (x_set_font): If font_spec_from_name returns nil,
3336         don't barf; instead, request a new fontset to be generated.  This
3337         avoids unnecessarily rejecting fonts named against XLFD rules.  See
3338         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html,
3339         for the description of the original problem.
3340         * lisp/faces.el (set-face-attribute): Don't be fooled too easily
3341         by a hyphen in a font's name.
3343         Fix value of posn-at-pont in R2L lines
3344         * src/keyboard.c (Fposn_at_x_y, Fposn_at_point): Allow X pixel
3345         coordinate of -1, for a newline in a right-to-left line that
3346         overflowed into the left fringe.
3348 2015-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
3350         (cl--copy-slot-descriptor): Copy the `props' alist as well
3351         * lisp/emacs-lisp/cl-preloaded.el (cl--copy-slot-descriptor-1):
3352         Rename from cl--copy-slot-descriptor.
3353         (cl--copy-slot-descriptor): New function.  Copy the alist (bug#20914).
3355 2015-06-30  Stefan Monnier  <monnier@iro.umontreal.ca>
3357         * lisp/term/xterm.el (xterm--query): Avoid generating garbage
3358         (xterm-query-timeout): New var.
3359         (xterm--query): Use it.  Fallback on async method if we timeout before
3360         getting the first byte of the reply (bug#12354).
3362 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
3364         Spelling fixes
3366 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
3368         * doc/emacs/frames.texi (Frame Commands): Typo fix. (Bug#20946)
3370 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
3372         In strings, prefer plain ` and ' to \` and \'
3373         * lisp/allout.el (allout-insert-listified):
3374         * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
3375         * lisp/ls-lisp.el (ls-lisp-UCA-like-collation)
3376         (ls-lisp-string-lessp):
3377         * lisp/menu-bar.el (menu-bar-open):
3378         * lisp/obsolete/otodo-mode.el (todo-top-priorities):
3379         * lisp/progmodes/compile.el (compile):
3380         * lisp/progmodes/etags.el (tags-loop-scan):
3381         * lisp/progmodes/make-mode.el (makefile-browser-insert-continuation):
3382         * lisp/subr.el (posn-actual-col-row):
3383         * lisp/term/pc-win.el (x-list-fonts):
3384         * lisp/textmodes/texinfmt.el (texinfmt-version):
3385         * lisp/textmodes/texnfo-upd.el (texinfo-master-menu):
3386         * lisp/time.el (display-time-world-list):
3387         * lisp/tmm.el (tmm-menubar):
3388         * src/buffer.c (syms_of_buffer):
3389         * src/fileio.c (syms_of_fileio):
3390         Omit unnecessary and confusing backslash before quote.
3391         * lisp/erc/erc.el (erc-cmd-LASTLOG):
3392         * lisp/progmodes/flymake.el (flymake-fix-file-name):
3393         * lisp/progmodes/vhdl-mode.el (vhdl-in-extended-identifier-p):
3394         Fix string that was intended to escape a backslash and not a quote.
3396 2015-06-30  Glenn Morris  <rgm@gnu.org>
3398         * leim/Makefile.in, lisp/Makefile.in: Add missing EXEEXT definition.
3400         * lisp/Makefile.in (MH_E_SRC, TRAMP_SRC, CAL_SRC):
3401         Replace hard-coded lists with wildcard + filter-out.
3403         * configure.ac (system-configuration-features): Add X11, NS.
3405         Improve reproducibility of generated loaddefs file.
3406         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
3407         Make the return value the modtime of the input file (if no autoloads).
3408         (update-directory-autoloads): In the "no autoloads" section,
3409         use "most recent modtime" rather than "current time".
3411 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
3413         * lisp/emacs-lisp/package.el (package--remove-hidden): Fix logic
3414         (Bug#20930)
3416 2015-06-30  Nicolas Petton  <nicolas@petton.fr>
3418         * doc/lispref/sequences.texi: Add documentation for seq-min and seq-max.
3420         Add seq-min and seq-max
3421         Bump version number.
3422         * lisp/emacs-lisp/seq.el (seq-min, seq-max): New functions.
3423         * test/automated/seq-tests.el: Add tests for seq-min and seq-max.
3425 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
3427         Make sure sleep-for always delays for as long as it's told
3428         * src/dispnew.c (Fsleep_for): Call wait_reading_process_output in
3429         a loop, to ensure we always wait exactly the required amount of
3430         time.  (Bug#15990)
3432 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
3434         Fix pointer signedness glitch
3435         * src/font.c (font_load_for_lface): Use SSDATA, not SDATA.
3437 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
3439         Don't block changes in mouse pointer inside 'track-mouse'
3440         * etc/NEWS:
3441         * doc/lispref/frames.texi (Mouse Tracking): Document the special
3442         effect of setting 'track-mouse' to 'dragging'.
3443         * lisp/textmodes/artist.el (artist-mouse-draw-continously):
3444         * lisp/ruler-mode.el (ruler-mode-mouse-drag-any-column-iteration):
3445         * lisp/mouse-drag.el (mouse-drag-throw):
3446         * lisp/mouse.el (mouse-drag-line): Set 'track-mouse' to 'dragging'
3447         to avoid changes in the shape of the mouse pointer.
3448         * src/xdisp.c (define_frame_cursor1): Don't change the mouse
3449         pointer shape when do_mouse_tracking has the value of 'dragging',
3450         not just any non-nil value.  (Bug#20934)
3451         (syms_of_xdisp): DEFSYM 'dragging'.
3453 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
3455         * lisp/isearch.el (isearch-toggle-word): Fix toggle
3457         * lisp/emacs-lisp/package.el (package-compute-transaction):
3458         Don't assume version sorting.
3460         * lisp/emacs-lisp/package.el (package--save-selected-packages):
3461         Don't save before init time, to avoid overwriting configurations.
3462         (Bug#20855)
3464 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
3466         Add cross references.
3467         * doc/emacs/display.texi (Standard Faces, Fringes): Add cross
3468         references.
3470 2015-06-29  Ted Zlatanov  <tzz@lifelogs.com>
3472         cfengine.el: update for the upcoming CFEngine 3.7 release
3473         Update for the upcoming CFEngine 3.7 release: support macros and
3474         quoted context strings; reformat JSON; indent promise attributes 2
3475         units by default; give function parameter descriptions in the eldoc
3476         glue.
3477         * cfengine.el: Update version and docs and fix name.  Autoload
3478         `json-pretty-print'.  Support new features in 3.7.
3479         (cfengine-parameters-indent): Set default promise attribute indent to
3480         2 more than the promise itself.
3481         (cfengine3-macro-regex): New variable to match the new macro syntax.
3482         (cfengine3-font-lock-keywords): Use it to highlight macros.
3483         (cfengine3-indent-line): Use it to indent macros to column 0.
3484         (cfengine3-class-selector-regex): Update for the new quoted strings
3485         format.
3486         (cfengine3-reformat-json-string): New function to reformat a JSON
3487         string using `json-pretty-print'.
3488         (cfengine3-format-function-docstring): Use function parameter
3489         description if it's provided by the cf-promises syntax dump.
3491 2015-06-29  Michael R. Mauger  <michael@mauger.com>
3493         Cygwin emacsclient handles w32 file names
3495 2015-06-29  Katsumi Yamaoka  <yamaoka@jpl.org>
3497         * lisp/isearch.el (isearch-exit): Don't call isearch-done twice (bug#20925).
3499 2015-06-29  Eli Zaretskii  <eliz@gnu.org>
3501         * doc/lispref/text.texi (Sticky Properties): Improve wording.
3502         (Bug#20924)
3504         Allow font names that end in "-NN", where NN is a number
3505         * src/font.c (font_load_for_lface): If the font-spec didn't match
3506         any available fonts, try again without interpreting trailing "-NN"
3507         as the font size.  For the description of the original problem, see
3508         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html
3510         .gdbinit followup to changes in !USE_LSB_TAG
3511         * src/.gdbinit (xgetsym): Don't left-shift $ptr even under
3512         !USE_LSB_TAG, as Emacs no longer does.
3514 2015-06-29  Wolfgang Jenkner  <wjenkner@inode.at>
3516         * lisp/calc-store.el (calc-insert-permanent-variable): Heed case.
3517         Otherwise `s p' of f and F will stomp on each other's value.  (Bug#20916)
3519 2015-06-29  Artur Malabarba  <bruce.connor.am@gmail.com>
3521         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
3522         Don't block remember-pos if buffer isn't displayed.  (Bug#20921)
3524 2015-06-29  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
3526         * lisp/emacs-lisp/package.el (describe-package): Use symbol-at-point as additional guess
3528         * lisp/emacs-lisp/package.el (describe-package): Convert the guess to a string
3530 2015-06-28  Paul Eggert  <eggert@cs.ucla.edu>
3532         apropos-library quoting fix
3533         * lisp/apropos.el (apropos-library): Quote library consistently
3534         with the rest of the quoting used by apropos.
3536         Clarify interpreter-mode-alist doc
3537         * lisp/files.el (interpreter-mode-alist):
3538         Reword to avoid confusing quoting that wasn't working anyway.
3540 2015-06-28  Michael Albinus  <michael.albinus@gmx.de>
3542         Sync with Tramp 2.2.12
3543         * doc/misc/trampver.texi:
3544         * lisp/net/trampver.el: Update release number.
3545         * test/automated/tramp-tests.el (tramp-test13-make-directory):
3546         Fix cleanup.
3548 2015-06-28  Artur Malabarba  <bruce.connor.am@gmail.com>
3550         * lisp/isearch.el (isearch-mode): Don't char-fold regexps
3551         (bug#20913)
3553 2015-06-27  Dmitry Gutov  <dgutov@yandex.ru>
3555         Bind grep-highlight-matches around the rgrep call
3556         * lisp/progmodes/grep.el (zrgrep): Bind grep-highlight-matches
3557         around the rgrep call (bug#20728).
3559         Put "--color" before the other options in grep-command
3560         * lisp/progmodes/grep.el (grep-compute-defaults): Put "--color"
3561         before the other options in grep-command (bug#20912).
3563         Add --color Grep option to the command dynamically
3564         * lisp/progmodes/grep.el (grep-template, grep-find-template):
3565         Update the description for <C>.  (Bug#20728)
3566         (grep-compute-defaults): Don't add the --color option to
3567         grep-options.  Only add it to grep-command.
3568         (grep-expand-keywords): Expand the env value opts into <C>.
3569         (grep-expand-template): Replace cf in the env with the opts list,
3570         that can include -i and --color.
3571         * lisp/progmodes/xref.el (xref-collect-matches): Do not remove
3572         "--color=always" from the template, because we don't have to.
3574 2015-06-27  Paul Eggert  <eggert@cs.ucla.edu>
3576         cl-extra fixes for most-negative-fixnum
3577         * lisp/emacs-lisp/cl-extra.el (cl-gcd, cl-lcm, cl-random):
3578         Don't mishandle an argument equal to most-negative-fixnum,
3579         whose absolute value equals itself.
3580         (cl-gcd, cl-lcm): Use dolist rather than doing it by hand.
3582         Initialize cl--gensym-counter to 0
3583         Previously it was initialized to a random value, which made it
3584         harder to reproduce earlier Emacs runs.  The need for a random
3585         value went away when Emacs introduced and used the #: syntax for
3586         uninterned symbols (Bug#20862).
3587         * doc/misc/cl.texi (Creating Symbols, Common Lisp Compatibility):
3588         Document that cl--gensym-counter now starts with 0.
3589         * lisp/emacs-lisp/cl-lib.el (cl--gensym-counter): Remove.
3590         (cl--random-time): Move to near only remaining use.
3591         * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter): Initialize to 0.
3593         Improve docstring for macroexp-let2
3594         * lisp/emacs-lisp/macroexp.el (macroexp-let2):
3595         Improve as per suggestion by RMS in:
3596         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00621.html
3597         Also, rename args to match new doc string.
3599 2015-06-27  Eli Zaretskii  <eliz@gnu.org>
3601         Fix VC test suite on MS-Windows
3602         * lisp/vc/vc-svn.el (vc-svn-create-repo): Make sure the file: URL
3603         always starts with 3 slashes after the colon.
3604         * test/automated/vc-tests.el (vc-test--create-repo-function): Use
3605         'w32-application-type' to invoke CVS on MS-Windows with properly
3606         formatted CVSROOT directory name.
3608         Add a new function w32-application-type
3609         * src/w32proc.c (Fw32_application_type): New function.
3611         Avoid error in TLS connections due to incorrect format
3612         * src/gnutls.c (Fgnutls_boot): Use the %x conversion specifier in
3613         the call to 'error', instead of the unsupported %u.  Reported by
3614         lo2net <fangtao0901@gmail.com>.  (Bug#20908)
3616 2015-06-26  Artur Malabarba  <bruce.connor.am@gmail.com>
3618         * lisp/replace.el (replace-search): Fix regexp case (bug#20901)
3620 2015-06-26  Leo Liu  <sdl.web@gmail.com>
3622         Fix indentation for with-output-to-string
3623         * lisp/emacs-lisp/cl-indent.el: Fix indentation for
3624           `with-output-to-string' in elisp.
3625           Revert "lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string"
3626           This reverts commit 659199f2ca5f283fb246faa78a244e5ca25f53dd.
3628 2015-06-26  Eli Zaretskii  <eliz@gnu.org>
3630         Minor corrections in ELisp manual
3631         * doc/lispref/nonascii.texi (Character Properties): Correct
3632         inaccuracies in description of values of the Unicode properties.
3634         Fix invisible mouse pointers on Windows.
3635         * src/w32fns.c: Include windowsx.h.
3636         (w32_wnd_proc): If the mouse moved and the mouse pointer is
3637         invisible, make it visible again even when the main (Lisp)
3638         thread is busy.
3639         * src/w32term.c (w32_toggle_invisible_pointer): Rather then
3640         garbaging the frame have the input thread call SetCursor.
3642 2015-06-26  Martin Rudalics  <rudalics@gmx.at>
3644         Provide invisible mouse pointers on Windows.  (Bug#6105) (Bug#12922)
3645         * src/w32fns.c (w32_wnd_proc): Handle f->pointer_invisible
3646         for WM_SETCURSOR and WM_EMACS_SETCURSOR cases.
3647         * src/w32term.c (w32_hide_hourglass): Handle
3648         f->pointer_invisible.
3649         (w32_toggle_invisible_pointer): New function.
3650         (w32_create_terminal): Add w32_toggle_invisible_pointer as
3651         toggle_invisible_pointer_hook for this terminal.
3653 2015-06-25  Xue Fuqiao  <xfq.free@gmail.com>
3655         Doc fix for deletion commands
3656         'delete-char' does not respect the value of 'delete-active-region'.
3657         * doc/emacs/killing.texi (Deletion):
3658         Fix documentation for some single-char deletion commands.
3660         * doc/emacs/help.texi (Apropos):
3661         Improve documentation of 'apropos-do-all'.
3663         * doc/emacs/help.texi (Help Summary):
3664         Improve documentation of 'describe-mode'.
3666 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
3668         Fix submake dependency bug with .h files
3669         * src/Makefile.in ($(libsrc)/make-docfile$(EXEEXT)):
3670         Depend on $(lib)/libgnu.a, so that we build $(lib)/*/*.h
3671         before the submake in $(libsrc) would spin off a subsubmake
3672         for $(lib) in parallel with our submake for $(lib) (Bug#20894).
3674 2015-06-25  Artur Malabarba  <bruce.connor.am@gmail.com>
3676         * lisp/character-fold.el (character-fold-table): Reuse `table'
3678 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
3680         Translate undisplayable ‘ to `
3681         * doc/lispref/help.texi (Keys in Documentation):
3682         * lisp/international/mule-cmds.el (set-locale-environment):
3683         * lisp/term/w32console.el (terminal-init-w32console):
3684         * src/doc.c (Fsubstitute_command_keys, Vhelp_quote_translation):
3685         If ‘ is not displayable, transliterate it to `, not to '.  See:
3686         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00542.html
3688         Fix C99 incompatibilities in Cairo code
3689         * src/image.c (xpm_load) [USE_CAIRO]:
3690         * src/xterm.c (x_cr_accumulate_data) [USE_CAIRO]:
3691         Fix pointer signedness problem.
3693 2015-06-25  Oleh Krehel  <ohwoeowho@gmail.com>
3695         lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string
3696         * lisp/emacs-lisp/cl-indent.el (common-lisp-indent-function):
3697           `with-output-to-string' should have the same indent as `progn'.
3698           This is in line with the declaration of `with-output-to-string'.
3700 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
3702         Get ‘./configure; make -C src emacs’ to work
3703         Without this fix, lib/fcntl.h isn't built in time (Bug#20894).
3704         * lib-src/Makefile.in (../lib/libgnu.a):
3705         * src/Makefile.in ($(lib)/libgnu.a): Build all, not libgnu.a.
3707 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
3709         Fix GC bugs --with-wide-int and Qnil == 0
3710         Use the same alignment for the !USE_LSB_TAG case as for the
3711         more-typical USE_LSB_TAG case.  The attempt to support arbitrary
3712         alignments with !USE_LSB_TAG had subtle bugs in garbage collection
3713         once we changed the representation of symbols so that Qnil == 0.
3714         Problem reported by Eli Zaretskii (Bug#20862).
3715         * src/alloc.c (XMALLOC_HEADER_ALIGNMENT) [XMALLOC_OVERRUN_CHECK]:
3716         * src/alloc.c (vector_alignment, union aligned_Lisp_Symbol)
3717         (union aligned_Lisp_Misc, maybe_lisp_pointer, pure_alloc):
3718         Use same alignment for !USE_LSB_TAG as for USE_LSB_TAG.
3719         * src/alloc.c (POINTERS_MIGHT_HIDE_IN_OBJECTS): Remove.
3720         This optimization in the !USE_LSB_TAG case is no longer valid when
3721         symbols are represented via offsets.  Change the only use to
3722         assume that pointers might hide in objects.
3723         * src/lisp.h (alignas) [!USE_LSB_TAG]:
3724         Require support in this case, too.
3725         (TAG_SYMOFFSET, XSYMBOL) [!USE_LSB_TAG]: Do not shift the offset.
3726         This is OK, because the !USE_LSB_TAG case now applies only when
3727         Lisp_Object is wider than void *, so there's no longer any need
3728         to shift the offset.  Not shifting the offset means that
3729         symbol representations have the same alignment as pointers,
3730         which the GC assumes.
3732 2015-06-24  Xue Fuqiao  <xfq.free@gmail.com>
3734         * doc/lispintro/emacs-lisp-intro.texi (Data types):
3735         Improve documentation of 'substring'.
3737 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
3739         * lisp/character-fold.el (character-fold-table): Fix table generation
3741 2015-06-24  Glenn Morris  <rgm@gnu.org>
3743         * nextstep/Makefile.in (all): Make it the first target.
3744         (../src/emacs${EXEEXT}): Add rule for making it.
3746 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
3748         * etc/NEWS: Fix mention to old function name
3750         * lisp/character-fold.el: New file (Bug#20887)
3751         (character-fold-to-regexp): New function.
3752         * lisp/replace.el (replace-search): Check value of
3753         `character-fold-search'.
3754         * lisp/isearch.el: Move character-folding code to
3755         character-fold.el
3756         (isearch-toggle-character-fold): New command.
3757         (isearch-mode-map): Bind it to "\M-sf".
3758         (isearch-mode): Check value of `character-fold-search'.
3760 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
3762         * lisp/subr.el (remove-from-invisibility-spec): Handle the t case
3763         * lisp/subr.el (remove-from-invisibility-spec): Make sure `element'
3764         is visible even if it's not yet in buffer-invisibility-spec (bug#20468).
3766         * lisp/progmodes/xref.el: Avoid init-args in oref.
3767         * lisp/progmodes/xref.el (xref-location-group, xref-location-marker)
3768         (xref--insert-xrefs, xref-collect-references): Avoid init-args in oref.
3770 2015-06-24  Glenn Morris  <rgm@gnu.org>
3772         * Makefile.in (install-arch-dep): Don't set sticky bit on the binary.
3774 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
3776         * lisp/gnus/nnmaildir.el: Silence lexical warnings
3777         * lisp/gnus/nnmaildir.el (nnmaildir--prepare): Use a more
3778         functional style.
3779         (nnmaildir--update-nov): Remove unused var `numdir'.
3780         (nnmaildir-request-type, nnmaildir--scan, nnmaildir-request-newgroups)
3781         (nnmaildir-request-group, nnmaildir-request-create-group)
3782         (nnmaildir-request-post, nnmaildir-request-move-article)
3783         (nnmaildir-request-accept-article, nnmaildir-active-number): Mark unused args.
3784         (nnmaildir-get-new-mail, nnmaildir-group-alist)
3785         (nnmaildir-active-file): Declare.
3786         (nnmaildir-request-scan): Remove unused vars `group' and `grp-dir'.
3787         (nnmaildir-request-update-info): Remove unused vars `dotfile', `num',
3788         `mark', `end', `new-mark', and `mark-sym'.
3789         (nnmaildir-retrieve-headers): Remove unused args `srv-dir', `dir',
3790         `nlist2'.
3791         (nnmaildir-request-expire-articles):
3792         Remove unused vars `article', `stop' and `nlist2'.
3793         (nnmaildir-request-set-mark): Remove unused vars `begin', `article' and
3794         `end'.  Use nnmaildir--article when dyn-binding is needed.
3795         Give the value directly in the `let' for `del-mark', `del-action',
3796         `add-action', and `set-action'.  Don't use `add-to-list' on a local var.
3797         (nnmaildir-close-server): Declare those local vars that need to be
3798         dyn-bound.
3800 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
3802         * src/keyboard.h (kbd_buffer_store_event_hold): Remove unused local.
3804         Port selection info fix to clang
3805         * src/keyboard.h (kbd_buffer_store_event_hold):
3806         Don't assume C11 semantics for alignof (Bug#20756).
3808         Fix bug that munged selection info
3809         On some optimizing C compilers, copying a structure did not
3810         copy the padding bytes between elements, and the type punning
3811         between struct input_data and struct selection_input_data did
3812         not work.  Change the C code to use a proper union type instead.
3813         Problem reported by YAMAMOTO Mitsuharu (Bug#20756).
3814         * src/keyboard.c (kbd_buffer, kbd_fetch_ptr, kbd_store_ptr)
3815         (readable_events, discard_mouse_events, kbd_buffer_events_waiting)
3816         (kbd_buffer_get_event, process_special_events, stuff_buffered_input)
3817         (mark_kboards):
3818         Use union buffered_input_event, not struct input_event.
3819         (clear_event, deliver_input_available_signal, process_special_events):
3820         Remove unnecessary forward decls.
3821         (kbd_buffer_store_buffered_event): New function, mostly just the
3822         old kbd_buffer_store_event_hold, except its argument is of type
3823         union buffered_input_event, not struct input_event.
3824         (kbd_buffer_unget_event): Define only if HAVE_X11, since it's
3825         not needed otherwise.  Argument is now of type
3826         struct selection_input_event *, not struct input_event *.
3827         All callers changed.
3828         (clear_event): Arg is now of type union buffered_input_event *,
3829         not struct input_event *.  All callers changed.
3830         * src/keyboard.h [HAVE_X11]: Include "xterm.h".
3831         (union buffered_input_event): New type.
3832         (kbd_buffer_store_event_hold): Now an inline function,
3833         defined here.
3834         * src/termhooks.h (EVENT_KIND_WIDTH): New constant.
3835         (struct input_event): Use it.
3836         * src/xselect.c (struct selection_event_queue):
3837         Make elements be of type struct selection_input_event,
3838         not struct input_event.
3839         (selection_input_event_equal): New static function.
3840         (x_queue_event): Use it.
3841         (x_queue_event, x_decline_selection_request)
3842         (x_selection_current_request, x_reply_selection_request)
3843         (x_handle_selection_request, x_handle_selection_clear)
3844         (x_handle_selection_event): Use struct selection_input_event,
3845         not struct input_event.  All callers changed.
3846         (x_convert_selection): Omit unused first arg.  All callers changed.
3847         (Fx_disown_selection_internal): Omit unnecessary union.
3848         * src/xterm.c (handle_one_xevent): Use new union buffered_input_event
3849         rather than rolling our own equivalent.  Prefer sie.kind when
3850         setting up that kind of structure.
3851         Call kbd_buffer_store_buffered_event, not kbd_buffer_store_event_hold.
3852         * src/xterm.h (struct selection_input_event: Use EVENT_KIND_WIDTH.
3853         (SELECTION_EVENT_DISPLAY, SELECTION_EVENT_DPYINFO)
3854         (SELECTION_EVENT_REQUESTOR, SELECTION_EVENT_SELECTION)
3855         (SELECTION_EVENT_TARGET, SELECTION_EVENT_PROPERTY)
3856         (SELECTION_EVENT_TIME, x_handle_selection_event):
3857         Arg is now of type struct selection_input_event *)
3858         not struct input_event *.  All callers changed.
3860 2015-06-23  Glenn Morris  <rgm@gnu.org>
3862         * Makefile.in (install-arch-dep): Simplify with Make conditionals.
3864 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
3866         * lisp/isearch.el: Fold many unicode characters to ASCII
3867         (isearch-character-fold-search, isearch--character-fold-extras)
3868         (isearch--character-fold-table): New variable.
3869         (isearch--character-folded-regexp): New function.
3870         (isearch-search-fun-default): Use them.
3871         * lisp/replace.el (replace-character-fold): New variable.
3872         (replace-search): Use it.
3873         * etc/NEWS: Document it.
3875 2015-06-23  Glenn Morris  <rgm@gnu.org>
3877         Check for an input event before showing a dialog box.  (Bug#20813)
3878         * lisp/subr.el (y-or-n-p):
3879         * src/fns.c (Fyes_or_no_p): Check last-input-event as well
3880         as last-nonmenu-event.
3882 2015-06-23  Jürgen Hartmann  <juergen_hartman_@hotmail.com>  (tiny change)
3884         Respect ‘switch-to-visible-buffer’ more rigidly.  (Bug#20861)
3885         * lisp/window.el (switch-to-visible-buffer): Doc adjustment.
3886         (switch-to-prev-buffer, switch-to-next-buffer): Respect
3887         switch-to-visible-buffer independent of the windows history.
3889 2015-06-23  Paul Eggert  <eggert@cs.ucla.edu>
3891         * src/keyboard.c (last_timer_event): Remove unused var.
3893 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
3895         * test/automated/package-test.el (package-test-update-listing):
3896         Fix test.
3898 2015-06-23  Glenn Morris  <rgm@gnu.org>
3900         Revert 2014-06-25 nextstep/Makefile change.
3901         * nextstep/Makefile.in (${ns_appbindir}): Remove rule.
3902         (${ns_appbindir}/Emacs, links): Create ns_appbindir in the rule,
3903         not as an order-only prerequisite.
3905         * configure.ac (--with-ns): Enable by default on OS X.
3907 2015-06-23  Leo Liu  <sdl.web@gmail.com>
3909         Fix shell-for/backward-command to exclude spaces
3910         * lisp/shell.el (shell-forward-command, shell-backward-command):
3911           Handle the 'move case from re-search-forward/backward.
3912           fixes debbugs:20873
3914 2015-06-22  Juri Linkov  <juri@linkov.net>
3916         * lisp/replace.el (query-replace-read-from): Add separator to
3917         the local binding of text-property-default-nonsticky.  (Bug#20690)
3919         * lisp/simple.el (shell-command-on-region): Replace 'error' with 'user-error'.
3920         (Bug#20785)
3922 2015-06-22  Ken Brown  <kbrown@cornell.edu>
3924         Enable CPU profiling on Cygwin
3925         * src/syssignal.h [CYGWIN] (PROFILER_CPU_SUPPORT): Revert previous
3926         change that undefined this.
3927         (SIGEV_SIGNAL): Ensure that this is defined as a macro.
3928         * src/profiler.c [CYGWIN] (timer_getoverrun): Define as a macro on
3929           Cygwin.
3931         Improve diagnostics of profiler-cpu-start
3932         * src/profiler.c (setup_cpu_timer): Change return type to 'int';
3933         return -1 if the sampling interval is invalid.
3934         (Fprofiler_cpu_start): Improve error message if 'setup_cpu_timer'
3935         fails.  (Bug#20843)
3937 2015-06-22  Artur Malabarba  <bruce.connor.am@gmail.com>
3939         * lisp/emacs-lisp/package.el: Exclude packages by name
3940         (package-hidden-regexps): New variable.
3941         (package-menu--refresh): Use it.
3942         (package-menu-hide-package): New command.
3944         * lisp/emacs-lisp/package.el: Rename hide-obsolete to toggle-hiding
3946 2015-06-22  Eli Zaretskii  <eliz@gnu.org>
3948         Fix debug-timer-check on systems without HAVE_TIMERFD
3949         * src/atimer.c (Fdebug_timer_check) [!HAVE_TIMERFD]: Actively run
3950         the expired timers, since wait_reading_process_output doesn't.
3951         (debug_timer_callback): Enlarge the tolerance to 20 msec.
3953         Fix RCS crashes in vc-test
3954         * lisp/vc/vc-rcs.el (vc-rcs-register): Avoid crashes with some old
3955         ports of 'ci' on MS-Windows by always passing the -t- switch.
3957 2015-06-22  Glenn Morris  <rgm@gnu.org>
3959         * doc/emacs/package.texi (Packages):
3960         * doc/emacs/trouble.texi (Known Problems): Remove faq cross-references.
3962         * doc/misc/efaq-w32.texi (Downloading): Copyedits.  (Bug#20851)
3964 2015-06-22  Paul Eggert  <eggert@cs.ucla.edu>
3966         Port tests to help-quote-translation
3967         * test/automated/ert-x-tests.el (ert-test-describe-test):
3968         * test/automated/package-test.el (package-test-describe-package)
3969         (package-test-signed): Allow straight quotes, too.
3971 2015-06-22  Dmitry Gutov  <dgutov@yandex.ru>
3973         Make find-function-on-key use the current window
3974         * lisp/emacs-lisp/find-func.el (find-function-on-key-do-it):
3975         Extract from `find-function-on-key', add a second argument.
3976         (find-function-on-key): Use it (bug#19679).
3977         (find-function-on-key-other-window)
3978         (find-function-on-key-other-frame): New commands.
3980 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
3982         Revert "Define `map-elt' as a generalized variable"
3983         This reverts commit 8b6d82d3ca86f76ed964063b3941a7c6ab0bf1c6.
3985 2015-06-21  Ken Brown  <kbrown@cornell.edu>
3987         Drop support for CPU profiling on Cygwin
3988         * src/syssignal.h (PROFILER_CPU_SUPPORT): Don't define on Cygwin.
3989         (Bug#20843)
3991 2015-06-21  Paul Eggert  <eggert@cs.ucla.edu>
3993         Fix some “nested” quoting confusion in doc strings
3994         * lisp/emacs-lisp/advice.el (ad-map-arglists):
3995         * lisp/kermit.el (kermit-clean-on):
3996         * lisp/mh-e/mh-comp.el (mh-repl-group-formfile):
3997         * src/keyboard.c (Frecursive_edit):
3998         Use curved quotes when quoting text containing apostrophe,
3999         so that the apostrophe isn't curved in the output.
4001 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
4003         Define `map-elt' as a generalized variable
4004         * lisp/emacs-lisp/map.el (map-elt): Define a gv-expander.
4005         * lisp/emacs-lisp/map.el (map--dispatch): Tighten the code.
4006         * lisp/emacs-lisp/map.el (map-put): Redefine it as a function using a
4007         `setf' with `map-elt'.
4008         * test/automated/map-tests.el: Comment out `test-map-put-literal'.
4010 2015-06-21  Michael Albinus  <michael.albinus@gmx.de>
4012         Improve error handling in tramp-adb.el
4013         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy):
4014         Improve error handling.
4016 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
4018         Reuse `alist-get' in map.el
4019         * lisp/emacs-lisp/map.el (map-elt): Use `alist-get' to retrieve alist
4020         elements.
4022 2015-06-21  Eli Zaretskii  <eliz@gnu.org>
4024         Fix bytecomp-tests--warnings when $TMPDIR has a long name
4025         * test/automated/bytecomp-tests.el (bytecomp-tests--warnings):
4026         Allow the warning to begin on the 3rd, not only 2nd line, which
4027         happens if temporary-file-directory has a very long name.
4029         Expect 2 icalendar tests to fail on MS-Windows
4030         * test/automated/icalendar-tests.el (icalendar-import-with-timezone)
4031         (icalendar-real-world): Make them expected failures on MS-Windows.
4033 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
4035         Improve port of settings UI to older displays
4036         * lisp/cus-start.el (standard): Don't assume curved quotes are
4037         easily distinguishable when users are tinkering with a setting
4038         that affects how curved quotes are generated.
4040         Fix quoting in electric-quote-mode doc string
4041         * lisp/electric.el (electric-quote-mode): Fix quoting.
4042         This is a fallout from the recent change introducing
4043         ‘help-quote-translation’.
4045         Spelling fix
4047         * doc/misc/texinfo.tex, lib/set-permissions.c: Merge from gnulib.
4049         * src/doc.c (syms_of_doc): Remove unused symbols.
4051 2015-06-20  Martin Rudalics  <rudalics@gmx.at>
4053         In ‘window-state-put’ undedicate target window.  (Bug#20848)
4054         * lisp/window.el (window-state-put): Undedicate target window
4055         before putting STATE into it.  (Bug#20848)
4057 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
4059         Merge from origin/emacs-24
4060         a5e6f33 Fixes: debbugs:20832
4061         b9f02cf Fixes: debbugs:20832
4063 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
4065         Fix file-in-directory-p when the directory is UNC
4066         * lisp/files.el (file-in-directory-p): Support files and
4067         directories that begin with "//".  (Bug#20844)
4069 2015-06-19  Stephen Berman  <stephen.berman@gmx.net>
4071         (Bug#20832)
4072         * lisp/calendar/todo-mode.el (todo-show): Don't visit todo file
4073         in the minibuffer.
4075 2015-06-19  Nicolas Richard  <youngfrog@members.fsf.org>
4077         (Bug#20832)
4078         * lisp/calendar/todo-mode.el (todo-show): Signal an error
4079         if buffer for adding new todo file is empty but modified.
4081 2015-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
4083         (filepos-to-bufferpos): Further tweaks to the utf-16 code
4084         * lisp/international/mule-util.el (filepos-to-bufferpos):
4085         Fix typo.  Move non-exact check to the utf-16 branch (the only one
4086         affected).  Don't use byte-to-position for the utf-16 case.
4088 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
4090         Minor fixes in filepos-to-bufferpos
4091         * lisp/international/mule-util.el (filepos-to-bufferpos): Remove
4092         test for utf-8-emacs.  Exempt single-byte encodings from the
4093         'use-exact' path when QUALITY is 'exact'.  Test UTF-16 encodings
4094         for BOM before subtracting 2 bytes.  Use 'identity' when adjusting
4095         UTF-16 encoded files for CR-LF EOLs.
4097 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
4099         Improve the optional translation of quotes
4100         Fix several problems with the recently-added custom variable
4101         help-quote-translation where the code would quote inconsistently
4102         in help buffers.  Add support for quoting 'like this', which
4103         is common in other GNU programs in ASCII environments.  Change
4104         help-quote-translation to use more mnemonic values: values are now the
4105         initial quoting char, e.g., (setq help-quote-translation ?`) gets the
4106         traditional Emacs help-buffer quoting style `like this'.  Change the
4107         default behavior of substitute-command-keys to match what's done in
4108         set-locale-environment, i.e., quote ‘like this’ if displayable,
4109         'like this' otherwise.
4110         * doc/lispref/help.texi (Keys in Documentation): Document
4111         new behavior of substitute-command-keys, and document
4112         help-quote-translation.
4113         * doc/lispref/tips.texi (Documentation Tips):
4114         Mention the effect of help-quote-translation.
4115         * etc/NEWS: Mention new behavior of substitute-command-keys,
4116         and merge help-quote-translation news into it.
4117         When talking about doc strings, mention new ways to type quotes.
4118         * lisp/cedet/mode-local.el (overload-docstring-extension):
4119         Revert my recent change to this function, which shouldn't be
4120         needed as the result is a doc string.
4121         * lisp/cedet/mode-local.el (mode-local-print-binding)
4122         (mode-local-describe-bindings-2):
4123         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
4124         * lisp/cus-theme.el (describe-theme-1):
4125         * lisp/descr-text.el (describe-text-properties-1, describe-char):
4126         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
4127         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
4128         (eieio-help-constructor):
4129         * lisp/emacs-lisp/package.el (describe-package-1):
4130         * lisp/faces.el (describe-face):
4131         * lisp/help-fns.el (help-fns--key-bindings)
4132         (help-fns--compiler-macro, help-fns--parent-mode)
4133         (help-fns--obsolete, help-fns--interactive-only)
4134         (describe-function-1, describe-variable):
4135         * lisp/help.el (describe-mode):
4136         Use substitute-command-keys to ensure a more-consistent quoting
4137         style in help buffers.
4138         * lisp/cus-start.el (standard):
4139         Document new help-quote-translation behavior.
4140         * lisp/emacs-lisp/lisp-mode.el (lisp-fdefs):
4141         * lisp/help-mode.el (help-xref-symbol-regexp, help-xref-info-regexp)
4142         (help-xref-url-regexp):
4143         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
4144         * lisp/wid-edit.el (widget-documentation-link-regexp):
4145         Also match 'foo', in case we're in a help buffer generated when
4146         help-quote-translation is ?'.
4147         * src/doc.c: Include disptab.h, for DISP_CHAR_VECTOR.
4148         (LEFT_SINGLE_QUOTATION_MARK, uLSQM0, uLSQM1, uLSQM2, uRSQM0)
4149         (uRSQM1, uRSQM2, LSQM, RSQM): New constants.
4150         (Fsubstitute_command_keys): Document and implement new behavior.
4151         (Vhelp_quote_translation): Document new behavior.
4153 2015-06-18  Glenn Morris  <rgm@gnu.org>
4155         * lisp/cus-start.el (help-quote-translation): Add :version.
4157         * src/doc.c (Fsubstitute_command_keys): Make previous change compile.
4159 2015-06-18  Alan Mackenzie  <acm@muc.de>
4161         Make translation of quotes to curly in doc strings optional.
4162         src/doc.c (traditional, prefer-unicode): new symbols.
4163         (help-quote-translation): new variable.
4164         (Fsubstitute_command_keys): make translation of quotes dependent on
4165         `help-quote-translation'; also translate curly quotes back to ASCII
4166         ones.
4167         lisp/cus-start.el (top-level): Add a customization entry for
4168         `help-quote-translation'.
4170 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
4172         * lisp/emacs-lisp/package.el: Don't always propagate async errors
4173         (package--with-work-buffer-async): Only propagate the error if the
4174         callback returns non-nil.
4175         (package--download-one-archive): Return nil on the signature
4176         checking callback if we accept unsigned.
4177         (package--download-and-read-archives): Return non-nil on the
4178         archive download callback.
4180 2015-06-18  Martin Rudalics  <rudalics@gmx.at>
4182         Set image_cache_refcount before x_default_parameter calls.  (Bug#20802)
4183         * src/nsfns.m (Fx_create_frame):
4184         * src/xfns.c (Fx_create_frame, x_create_tip_frame): Move setting
4185         image_cache_refcount before first x_default_parameter call.
4187 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
4189         Improve and extend filepos-to-bufferpos
4190         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
4191         Don't barf if F returns nil for some argument.
4192         (filepos-to-bufferpos): Expand to support UTF-16 and not assume
4193         that every encoding of type 'charset' is single-byte.
4195 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
4197         * lisp/emacs-lisp/package.el (package-menu--perform-transaction):
4198         Properly delete packages.  (Bug#20836)
4200 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
4202         Update data files from just-released Unicode 8.0
4203         * etc/NEWS: Update wording since Unicode 8.0 is no longer in draft
4204         status.
4205         * test/BidiCharacterTest.txt: Update from Unicode 8.0.
4206         * admin/unidata/BidiMirroring.txt:
4207         * admin/unidata/BidiBrackets.txt:
4208         * admin/unidata/UnicodeData.txt: Update from Unicode 8.0.
4210 2015-06-18  Paul Eggert  <eggert@cs.ucla.edu>
4212         Document curved quotes a bit better
4213         * doc/emacs/basic.texi (Inserting Text):
4214         Mention C-x 8.  Change example to use curved quote rather
4215         than infinity, as this lets us give more ways to do it.
4216         * doc/emacs/mule.texi (International Chars): Mention C-x 8 shortcuts
4217         and quotation marks.
4218         * doc/emacs/text.texi (Quotation Marks):
4219         * doc/lispref/tips.texi (Documentation Tips):
4220         Add "curly quotes" and "curved quotes" to the index.
4221         * doc/emacs/text.texi (Quotation Marks):
4222         Give the C-x 8 shorthands for curved quotes.
4223         Cross-reference to "Quotation Marks".
4225 2015-06-17  Daiki Ueno  <ueno@gnu.org>
4227         Add pinentry.el for better GnuPG integration
4228         * lisp/pinentry.el: New file.
4229         * etc/NEWS: Add entry about pinentry.el.
4230         * lisp/epg.el (epg--start): Set INSIDE_EMACS envvar.
4231         (Bug#20550)
4233 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
4235         * lisp/emacs-lisp/package.el: Slightly better error reporting.
4237 2015-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
4239         (define-minor-mode): Use setq-default for :global minor modes
4240         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode):
4241         Use setq-default for :global minor modes (bug#20712).
4243 2015-06-17  Eli Zaretskii  <eliz@gnu.org>
4245         Avoid infloop in redisplay with tall images
4246         * src/xdisp.c (try_scrolling): Prevent an infloop when scrolling
4247         down near ZV.  (Bug#20808)
4248         Call bidi_unshelve_cache to avoid memory leaks.  Use IT_CHARPOS
4249         instead of CHARPOS.
4251 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
4253         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
4254         Fix error reporting.
4256         * lisp/let-alist.el: move to lisp/emacs-lisp/let-alist.el
4258         * lisp/emacs-lisp/package.el: Revert buffer after any operation
4259         Call `package-menu--post-refresh' after any operation that changes
4260         the package database (`package-install' and `package-delete').  To
4261         avoid performance issues in large transactions, these functions
4262         add `post-refresh' to `post-command-hook' instead of calling it
4263         immediately.
4264         (package-menu--mark-or-notify-upgrades): New function.
4265         (list-packages): Add it to `package--post-download-archives-hook'.
4266         (package-menu--post-refresh): Lose the upgrade-checking code, add
4267         code to remove itself from `post-command-hook'.
4268         (package-install, package-delete): Add it to `post-command-hook'.
4269         (package-menu-execute): Don't call `package-menu--post-refresh'.
4271 2015-06-17  Stephen Leake  <stephen_leake@stephe-leake.org>
4273         Add missing function xref-location-group for elisp-mode.
4274         * lisp/progmodes/elisp-mode.el: Add missing function xref-location-group.
4276 2015-06-17  Wolfgang Jenkner  <wjenkner@inode.at>
4278         * src/editfns.c (Fbyte_to_position): Fix bytepos not at char boundary.
4279         The behavior now matches the description in the manual.  (Bug#20783)
4281 2015-06-17  Xue Fuqiao  <xfq.free@gmail.com>
4283         Update tutorials/TUTORIAL.cn
4284         * etc/tutorials/TUTORIAL.cn: Update; synchronize with TUTORIAL.
4286 2015-06-17  Glenn Morris  <rgm@gnu.org>
4288         Generate char-script-table from Unicode source.  (Bug#20789)
4289         * admin/unidata/Makefile.in (AWK): New, set by configure.
4290         (all): Add charscript.el.
4291         (blocks): New variable.
4292         (charscript.el, ${unidir}/charscript.el): New targets.
4293         (extraclean): Also remove generated charscript.el.
4294         * admin/unidata/blocks.awk: New script.
4295         * admin/unidata/Blocks.txt: New data file, from unicode.org.
4296         * lisp/international/characters.el: Load charscript.
4297         * src/Makefile.in (charscript): New variable.
4298         (${charscript}): New target.
4299         (${lispintdir}/characters.elc): Depend on charscript.elc.
4300         (temacs$(EXEEXT)): Depend on charscript.
4302         * lisp/international/characters.el (char-script-table): Tweak
4303         some ranges to better match the source.  (Bug#20789#17)
4305         Remove "no-byte-compile: t" from a few files.
4306         * lisp/obsolete/bruce.el, lisp/obsolete/keyswap.el:
4307         * lisp/obsolete/patcomp.el: No reason not to compile these.
4309 2015-06-16  Glenn Morris  <rgm@gnu.org>
4311         Fix some typos in copied Unicode data.  (Bug#20789)
4312         * lisp/international/characters.el (char-script-table):
4313         * lisp/international/fontset.el (script-representative-chars)
4314         (setup-default-fontset): Fix typos.
4316         * lisp/emacs-lisp/check-declare.el (check-declare-warn):
4317         Don't print filename twice (it's in the prefix now).
4319         * lisp/emacs-lisp/pcase.el (pcase--u1): Revert earlier workaround.
4320         No longer needed.
4322         Address a compilation warning.
4323         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defalias):
4324         Replace 't' with '_' in pcase.
4326         Address some check-declare warnings.
4327         * lisp/simple.el (tabulated-list-print):
4328         * lisp/progmodes/elisp-mode.el (xref-collect-matches):
4329         * lisp/term/ns-win.el (ns-selection-owner-p, ns-selection-exists-p)
4330         (ns-get-selection): Update declarations.
4332         Address some compilation warnings.
4333         * lisp/elec-pair.el (electric-pair-post-self-insert-function):
4334         * lisp/vc/vc-git.el (vc-git-file-type-as-string):
4335         Replace 't' with '_' in pcase.
4337         Address some compilation warnings.
4338         * lisp/face-remap.el (text-scale-adjust):
4339         * lisp/menu-bar.el (popup-menu-normalize-position):
4340         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand):
4341         * lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-warn):
4342         * lisp/emacs-lisp/generator.el (cps--transform-1):
4343         * lisp/emacs-lisp/macroexp.el (macroexp--expand-all):
4344         * lisp/obsolete/vc-arch.el (vc-arch-mode-line-string):
4345         * lisp/progmodes/octave.el (octave-goto-function-definition)
4346         (octave-find-definition-default-filename):
4347         Replace 't' with '_' in pcase.
4349         * lisp/emacs-lisp/pcase.el (pcase--u1):
4350         Paper-over today's bootstrap failure.
4352 2015-06-16  Nicolas Petton  <nicolas@petton.fr>
4354         * lisp/emacs-lisp/seq.el: Fix a byte-compiler warnings related to pcase.
4356         * lisp/emacs-lisp/map.el (map-into): Fix a byte-compiler warning.
4358         Better confirmation message in `find-alternate-file' (Bug#20830)
4359         * lisp/files.el (find-alternate-file'): Improve the confirmation
4360         message to show the buffer name.
4362         Better docstring for null. (Bug#20815)
4363         * src/data.c (null): Improves the docstring, saying what null returns
4364         when OBJECT is non-nil.
4366 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
4368         * lisp/net/newst-treeview.el: Use lexical-binding.
4370         (filepos-to-bufferpos): Add missing cases.  Make sure it terminates.
4371         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
4372         New auxiliary function, extracted from filepos-to-bufferpos.
4373         Make sure it terminates.
4374         (filepos-to-bufferpos): Use it to fix the latin-1-dos case.
4375         Add support for the `exact' quality.
4377 2015-06-16  Cédric Chépied  <cedric.chepied@gmail.com>
4379         Identify feeds in newsticker treeview with :nt-feed property
4380         * lisp/net/newst-treeview.el:
4381         (newsticker--treeview-nodes-eq): Use property :nt-feed instead of :tag.
4383 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
4385         * lisp/emacs-lisp/pcase.el: Improve docs and error handling
4386         (pcase--self-quoting-p): Floats aren't self-quoting.
4387         (pcase): Tweak docstring.
4388         (pcase--u1): Deprecate the t pattern.  Improve error detection for
4389         the nil pattern.
4390         (\`): Tweak docstring.  Signal an error for unrecognized cases.
4391         (bug#20784)
4393 2015-06-16  Eli Zaretskii  <eliz@gnu.org>
4395         Fix infloop in filepos-to-bufferpos
4396         * lisp/international/mule-util.el (filepos-to-bufferpos): Fix EOL
4397         offset calculation, and make it conditional on the eol-type of the
4398         file's encoding.  (Bug#20825)
4400 2015-06-16  Martin Rudalics  <rudalics@gmx.at>
4402         Fix handling of image cache refcounts.  (Bug#20802)
4403         This backports Eli Zaretskii's solution of this problem for W32
4404         to X and NS.
4405         * src/nsfns.m (image_cache_refcount): Define unconditionally.
4406         (unwind_create_frame): If the image cache's reference count
4407         hasn't been updated yet, do that now.
4408         (Fx_create_frame): Set image_cache_refcount unconditionally.
4409         * src/xfns.c (image_cache_refcount): Define unconditionally.
4410         (unwind_create_frame): If the image cache's reference count
4411         hasn't been updated yet, do that now.
4412         (Fx_create_frame, x_create_tip_frame): Set image_cache_refcount
4413         unconditionally.
4414         * src/w32fns.c (image_cache_refcount): Make it a ptrdiff_t as on
4415         X and NS.
4417 2015-06-16  Nils Ackermann  <nils@ackermath.info>
4419         Improve reftex-label-regexps default value
4420         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Make
4421         keyvals label regexp more strict to better cope with unbalanced
4422         brackets common in math documents.
4424 2015-06-16  Glenn Morris  <rgm@gnu.org>
4426         * doc/emacs/calendar.texi (Format of Diary File):
4427         Move "nonmarking" from here...
4428         (Displaying the Diary): ... to here.
4430         * doc/emacs/calendar.texi (Format of Diary File, Displaying the Diary):
4431         Swap the order of these nodes.
4432         * doc/emacs/emacs.texi: Update detailed menu for the above change.
4434         * doc/emacs/calendar.texi (Specified Dates, Special Diary Entries):
4435         Update date of examples.
4436         (Diary, Format of Diary File): Move example from former to latter.
4437         Reduce duplication.
4439         No need for cp51932.el, eucjp-ms.el to not be compiled any more.
4440         * admin/charsets/cp51932.awk, admin/charsets/eucjp-ms.awk:
4441         Don't set no-byte-compile in the outputs.
4442         * lisp/loadup.el: Don't specify uncompiled cp51932, eucjp-ms.
4444 2015-06-15  Glenn Morris  <rgm@gnu.org>
4446         * lisp/calendar/calendar.el (diary-file): Use locate-user-emacs-file.
4447         * doc/emacs/calendar.texi (Diary, Format of Diary File):
4448         Update for above diary-file change.
4449         : * etc/NEWS: Mention this.
4451         * lisp/macros.el (name-last-kbd-macro, kbd-macro-query)
4452         (apply-macro-to-region-lines): Use user-error.
4454         * lisp/textmodes/page-ext.el (add-new-page, pages-directory)
4455         (pages-directory-for-addresses): Doc fixes.
4457 2015-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
4459         * lisp/info.el: Cleanup bytepos/charpos issues
4460         * lisp/international/mule-util.el: Use lexical-binding.
4461         (filepos-to-bufferpos): New function.
4462         * lisp/info.el (Info-find-in-tag-table-1): Use 0-based file positions.
4463         (Info-find-node-2): Use filepos-to-bufferpos (bug#20704).
4464         (Info-read-subfile, Info-search): Use 0-based file positions.
4466         * lisp/progmodes/perl-mode.el: Refine handling of /re/ and y/abc/def/
4467         (perl--syntax-exp-intro-keywords): New var.
4468         (perl--syntax-exp-intro-regexp, perl-syntax-propertize-function): Use it.
4469         (bug#20800).
4471 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
4473         Fix quoting when making derived mode docstring
4474         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
4475         Nest regexp-quote inside format, not the reverse.
4476         Problem reported by Artur Malabarba in:
4477         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00206.html
4479 2015-06-15  Eli Zaretskii  <eliz@gnu.org>
4481         Fix current-iso639-language on MS-Windows
4482         * lisp/international/mule-cmds.el (set-locale-environment):
4483         Downcase the locale name before interning it.  This is so the
4484         'current-iso639-language' on MS-Windows matches the ':lang'
4485         property of font-spec objects.
4487         Limit Symbola usage some more
4488         * lisp/international/fontset.el (setup-default-fontset): Limit
4489         Symbol coverage of Currency Symbols to u+20B6..u+20CF.
4490         (Bug#20727)
4492 2015-06-15  Nicolas Petton  <nicolas@petton.fr>
4494         * lisp/emacs-lisp/map.el (map-let): Better docstring.
4496 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
4498         Spelling fixes
4500 2015-06-14  Glenn Morris  <rgm@gnu.org>
4502         * lisp/version.el (emacs-repository-version-git): Demote errors.
4503         Check result is a hash.
4505 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
4507         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
4508         Catch errors that happen before going async.  (Bug#20809)
4510 2015-06-14  Eli Zaretskii  <eliz@gnu.org>
4512         Another improvement of documentation of set-fontset-font
4513         * doc/lispref/display.texi (Fontsets): Say explicitly that
4514         CHARACTER can be a single codepoint.
4515         * src/fontset.c (Fset_fontset_font): Doc fix.
4517         Another improvement for symbol and punctuation characters
4518         * lisp/international/fontset.el (setup-default-fontset): Exclude
4519         from Symbola character ranges for symbols and punctuation covered
4520         well by popular Unicode fonts.  Prefer fixed-misc Unicode font, if
4521         installed and where its coverage of symbols and punctuation is
4522         known to be good.  (Bug#20727)
4524 2015-06-14  Christoph Wedler  <christoph.wedler@sap.com>
4526         Some generic support for multi-mode indentation.
4527                 * lisp/progmodes/prog-mode.el (prog-indentation-context): New
4528                 variable.
4529                 (prog-first-column, prog-widen): New convenience functions.
4531 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
4533         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
4534         Don't assume that `tabulated-list-printer' will leave point at the
4535         end of the buffer.  (Bug#20810)
4537 2015-06-13  Glenn Morris  <rgm@gnu.org>
4539         Tweaks for getting repository version; a bit more like it was for bzr.
4540         * lisp/version.el (emacs-repository-version-git)
4541         (emacs-repository--version-git-1): New functions,
4542         split from emacs-repository-get-version.
4543         (emacs-repository-get-version): Make the second argument meaningful.
4545         * lisp/startup.el (command-line-1): Inform if skipping relative
4546         file names due to deleted PWD.
4548         * src/xsmfns.c (x_session_initialize): Avoid libSM crash
4549         when starup directory is missing.  (Bug#18851)
4550         (errno.h): Include it.
4552 2015-06-13  Paul Eggert  <eggert@cs.ucla.edu>
4554         Better fix for documenting `X as "`X"
4555         Fix suggested by Stefan Monnier.
4556         * lisp/help-fns.el (help-fns--signature):
4557         Insert "`X", not "(\` X)", when documenting `X (Bug#20759).
4558         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
4559         Don't treat `X specially, as help-fns--signature now handles this.
4561 2015-06-13  Eli Zaretskii  <eliz@gnu.org>
4563         Improve the default fontset when Symbola is not installed
4564         * lisp/international/fontset.el (setup-default-fontset): Only
4565         prepend Symbola and FreeMono font specs for symbols and
4566         punctuation; do not replace the default spec for them.  This
4567         should have better results when Symbola/FreeMono are not
4568         installed.  (Bug#20727)
4570         Improve documentation of ':lang' in font specs
4571         * src/font.c (Ffont_spec): Doc fix: elaborate on the values and
4572         use of the ':lang' property of the font spec.
4573         * doc/emacs/frames.texi (Fonts): Document the language names that
4574         can be in the STYLE part of XLFD.
4575         * doc/lispref/display.texi (Low-Level Font): Document the ':lang'
4576         property.
4578         * nt/README: Don't advertise the (obsolescent) w32 FAQ.
4580         * nt/README.W32: Don't advertise the (obsolescent) w32 FAQ.
4582         Revert last change in fontset.el
4583         * lisp/international/fontset.el (setup-default-fontset): Revert
4584         the change "Configure Symbola font only if installed", since font
4585         search is evidently not yet set up when this function is called.
4586         (Bug#20727)
4588 2015-06-12  Glenn Morris  <rgm@gnu.org>
4590         Ensure early startup warnings are visible at the end.  (Bug#20792)
4591         * lisp/emacs-lisp/warnings.el (display-warning):
4592         If startup isn't complete, delay the warning.
4593         * lisp/startup.el (normal-top-level, command-line):
4594         Let display-warning automatically handle the needed delays.
4595         Run delayed-warnings-hook.
4597         * lisp/version.el (emacs-repository-get-version):
4598         Avoid calling external executable if possible.  (Bug#20799)
4600 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
4602         Document `X as "`X", not as "(` X)"
4603         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
4604         Document (backquote FOO) as "`FOO", not as "(` FOO)" (Bug#20759).
4606         * src/print.c (print_object): Minor simplification.
4608 2015-06-12  Glenn Morris  <rgm@gnu.org>
4610         * src/buffer.c (init_buffer): Add final newline to message.
4612 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
4614         Configure Symbola font only if installed
4615         * lisp/international/fontset.el (setup-default-fontset):
4616         Don't specify the Symbola font if it's not installed.
4617         Likewise for FreeMono.  (Bug#20727)
4619 2015-06-12  Eli Zaretskii  <eliz@gnu.org>
4621         Configure Symbola font only for symbols and punctuation
4622         * lisp/international/fontset.el (setup-default-fontset): Leave
4623         only symbols and punctuation in the fontset setup for Symbola
4624         font; remove "Greek and Coptic" and "Cyrillic Supplement".
4625         (Bug#20798)
4627 2015-06-12  Andreas Schwab  <schwab@linux-m68k.org>
4629         Fix crash in fontset-info
4630         * src/fontset.c (Ffontset_info): Check that the RFONT-DEF elt is
4631         non-nil.
4633 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
4635         Port to Solaris 10 sparc + Sun C 5.13
4636         * configure.ac (SETUP_SLAVE_PTY) [sol2* | unixware]:
4637         Adjust to process.c change.
4638         * src/process.c (create_process): Declare volatile variables at
4639         top level of this function, so that they're less likely to be
4640         reused later in the function in the code executed by the vforked
4641         child.  Do not declare locals used only in the vforked child, as
4642         they might share memory with locals still live in the parent.
4643         Instead, use the same variables in the child as in the parent.
4644         This works around a subtle bug that causes a garbage collector
4645         crash when Emacs is built with Sun C 5.13 sparc on Solaris 10.
4647 2015-06-12  Glenn Morris  <rgm@gnu.org>
4649         * lisp/startup.el (normal-top-level): Don't let *Messages* get
4650         a nil default-directory.
4652 2015-06-11  Glenn Morris  <rgm@gnu.org>
4654         * lisp/startup.el (normal-top-level): Use delay-warning.  (Bug#20792)
4656         Some progress towards starting with PWD deleted.  (Bug#18851)
4657         * src/buffer.c (init_buffer): Handle get_current_dir_name failures.
4658         * lisp/startup.el (normal-top-level, command-line-1):
4659         * lisp/minibuffer.el (read-file-name-default):
4660         Handle default-directory being nil.
4662 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
4664         Fix "not a tty" bug on Solaris 10
4665         * configure.ac (PTY_OPEN): Define to plain 'open'
4666         on SVR4-derived hosts, so that the O_CLOEXEC flag isn't set.
4667         * src/process.c (allocate_pty): Set the O_CLOEXEC flag after
4668         calling PTY_TTY_NAME_SPRINTF, for the benefit of SVR4-derived
4669         hosts that call grantpt which does its work via a setuid subcommand
4670         (Bug#19191, Bug#19927, Bug#20555, Bug#20686).
4671         Also, set O_CLOEXEC even if PTY_OPEN is not defined, since it
4672         seems relevant in that case too.
4674 2015-06-11  Juri Linkov  <juri@linkov.net>
4676         * lisp/bindings.el (debug-ignored-errors): Add mark-inactive.
4677         * lisp/simple.el (kill-region): Replace 'error' with 'user-error'.
4678         (Bug#20785)
4680 2015-06-11  Glenn Morris  <rgm@gnu.org>
4682         * lisp/international/characters.el (char-script-table): Fix typo.
4684 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
4686         Fix quoting of help for functions with odd names
4687         While investigating Bug#20759, I discovered other quoting problems:
4688         C-h f mishandled characters like backslash and quote in function names.
4689         This fix changes the behavior so that 'C-h f pcase RET' now
4690         generates "... (\` QPAT) ..." instead of "... (` QPAT) ...",
4691         because '(format "%S" '(` FOO))' returns "(\\` FOO)".  A comment
4692         in src/lread.c's read1 function says that the backslash will be
4693         needed starting in Emacs 25, which implies that 'format' is
4694         correct and the old pcase documention was wrong to omit the backslash.
4695         * lisp/emacs-lisp/nadvice.el (advice--make-docstring):
4696         * lisp/help-fns.el (help-fns--signature):
4697         * lisp/help.el (help-add-fundoc-usage):
4698         * lisp/progmodes/elisp-mode.el (elisp-function-argstring):
4699         Use help--make-usage-docstring rather than formatting
4700         help-make-usage.
4701         * lisp/emacs-lisp/pcase.el (pcase--make-docstring):
4702         Return raw docstring.
4703         * lisp/help-fns.el (help-fns--signature): New arg RAW, to return
4704         raw docstring.  Take more care to distinguish raw from cooked dstrings.
4705         (describe-function-1): Let help-fns--signature substitute
4706         command keys.
4707         * lisp/help.el (help--docstring-quote): New function.
4708         (help-split-fundoc): Use it, to quote funny characters more
4709         systematically.
4710         (help--make-usage): Rename from help-make-usage, since this
4711         should be private.  Leave an obsolete alias for the old name.
4712         (help--make-usage-docstring): New function.
4713         * test/automated/help-fns.el (help-fns-test-funny-names): New test.
4715 2015-06-11  Stefan Monnier  <monnier@iro.umontreal.ca>
4717         * lisp/thingatpt.el (in-string-p): Revert last change,
4718         since in-string-p is not used in thingatpt.el but only from outside.
4719         Also, use lexical binding.
4721 2015-06-11  Artur Malabarba  <bruce.connor.am@gmail.com>
4723         * lisp/let-alist.el (let-alist--deep-dot-search): Fix cons
4724         * test/automated/let-alist.el (let-alist-cons): Test it.
4726 2015-06-11  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
4728         * src/syntax.c (Fbackward_prefix_chars): Reword docstring
4730 2015-06-10  Glenn Morris  <rgm@gnu.org>
4732         * build-aux/gitlog-to-emacslog: Also ignore pointless merge commits.
4734         Improve generated ChangeLog for gitmerge.el commits.  (Bug#20717)
4735         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
4736         * admin/gitmerge.el (gitmerge-commit-message):
4737         Exclude "skipped" messages from ChangeLog once again.
4739         Slight namespace cleanup for thingatpt.el.
4740         * lisp/thingatpt.el (thing-at-point--in-string-p)
4741         (thing-at-point--end-of-sexp, thing-at-point--beginning-of-sexp)
4742         (thing-at-point--read-from-whole-string): Rename from
4743         old versions without "thing-at-point--" prefix.
4744         Keep old versions as obsolete aliases.  Update all uses.
4746         * lisp/emacs-lisp/checkdoc.el (checkdoc-get-keywords):
4747         Move requiring of finder from here...
4748         (checkdoc-package-keywords): ... to here.
4750         Use 'user-error' in a few calendar files.
4751         * lisp/calendar/appt.el (appt-add):
4752         * lisp/calendar/calendar.el (calendar-absolute-from-gregorian)
4753         (calendar-generate):
4754         * lisp/calendar/diary-lib.el (diary-mail-entries, diary-cyclic):
4755         Replace 'error' with 'user-error'.
4757         * lisp/progmodes/f90.el (f90-backslash-not-special): Use user-error.
4759         * lisp/files-x.el (add-file-local-variable):
4760         Special-case 'lexical-binding'.  (Bug#20641)
4762         * lisp/progmodes/executable.el (executable-self-display): Obsolete.
4763         No longer autoload.
4764         * doc/misc/autotype.texi (Executables):
4765         Undocument executable-self-display.
4767         * lisp/progmodes/executable.el (executable-self-display):
4768         Use non-obsolete tail syntax.  (Bug#20779)
4769         (executable-self-display): Doc update.
4771 2015-06-10  Stefan Monnier  <monnier@iro.umontreal.ca>
4773         * lisp/emacs-lisp/checkdoc.el: Use lexical-binding
4774         (finder-known-keywords): Silence byte-compiler.
4776 2015-06-09  Stefan Monnier  <monnier@iro.umontreal.ca>
4778         * lisp/simple.el (eval-expression): Macroexpand before evaluating (bug#20730)
4780         * lisp/progmodes/sh-script.el: Better handle nested quotes
4781         (sh-here-doc-open-re): Don't mis-match the <<< operator (bug#20683).
4782         (sh-font-lock-quoted-subshell): Make sure double quotes within single
4783         quotes don't mistakenly end prematurely the surrounding string.
4785         * lisp/progmodes/elisp-mode.el: Require cl-lib for cl-defstruct.
4787 2015-06-09  Glenn Morris  <rgm@gnu.org>
4789         * test/automated/Makefile.in (ELFILES): Sort.
4791         * Makefile.in (SUBDIR_MAKEFILES):
4792         * lwlib/Makefile.in (WARN_CFLAGS):
4793         Use built-in Make functions rather than echo+sed.
4795 2015-06-09  Eli Zaretskii  <eliz@gnu.org>
4797         Update char-script-table
4798         * lisp/international/characters.el (char-script-table): Update
4799         from Unicode 8.0 Draft.
4801         Improve font selection for punctuation and other symbols
4802         * src/fontset.c (face_for_char): If the character's script is
4803         'symbol', and the font used for ASCII face has a glyph for it, use
4804         the font for the ASCII face instead of searching the fontsets.
4805         This comes instead of NS-specific code that used the current
4806         face's font instead, which is now disabled due to undesirable
4807         consequences.  (Bug#20727)
4809 2015-06-08  Dmitry Gutov  <dgutov@yandex.ru>
4811         Skip past `#' to find BEG
4812         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point): Skip
4813         past `#' to find BEG (bug#20771).
4814         * test/automated/elisp-mode-tests.el
4815         (elisp-completes-functions-after-hash-quote): New test.
4817 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
4819         Fix compilation warning/error in --without-x builds
4820         * src/xdisp.c (append_space_for_newline): Condition GUI-specific
4821         code on HAVE_WINDOW_SYSTEM.
4823         Improve the default fontset wrt symbols
4824         * lisp/international/fontset.el (setup-default-fontset): Better
4825         setup of fontset-default for symbols: use Symbola and FreeMono.
4826         (Bug#20727)
4828 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
4830         Add new command checkdoc-package-keywords
4831         * lisp/emacs-lisp/checkdoc.el (checkdoc-package-keywords-flag): New
4832           defcustom.
4833         (checkdoc-list-of-strings-p): Add doc.
4834         (checkdoc-current-buffer): When `checkdoc-package-keywords-flag' is
4835         non-nil, call `checkdoc-package-keywords'.
4836         (checkdoc-get-keywords): New defun.
4837         (checkdoc-package-keywords): New command. Warns if the current file
4838         has package.el-style keywords that aren't in `finder-known-keywords'.
4839         * etc/NEWS: Add entry.
4841 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
4843         Avoid crashes when key-binding is called from a timer
4844         * src/keymap.c (Fkey_binding): Don't segfault if called with an
4845         empty vector as KEY.  (Bug#20705)
4847         Fix a thinko in arc-mode.el
4848         * lisp/arc-mode.el (archive-zip-summarize): Fix last change in the
4849         non-Zip64 case.  (Bug#20769)
4851 2015-06-08  Artur Malabarba  <bruce.connor.am@gmail.com>
4853         * lisp/emacs-lisp/package.el (package-delete): Make interactive
4855 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
4857         checkdoc.el (checkdoc-file): New function
4858         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When
4859           `checkdoc-diagnostic-buffer' is set to "*warn*", print the warning
4860           to the standard output.
4861         (bug#20754)
4863 2015-06-07  Glenn Morris  <rgm@gnu.org>
4865         * admin/update_autogen (changelog_files): Remove gitlog-to-emacslog.
4867         * src/font.c (syms_of_font) <font-log>: Doc fix.
4869         Remove the obsolete leading "*" from some C doc strings.
4870         * src/coding.c (syms_of_coding):
4871         * src/font.c (syms_of_font): Remove leading "*" from docs.
4872         * lisp/cus-start.el (enable-character-translation): Add it.
4874 2015-06-07  Paul Eggert  <eggert@cs.ucla.edu>
4876         Move gen_origin from program to data
4877         That way, 'make change-history' needs to change only ChangeLog.2,
4878         instead of having to change two files.
4879         * ChangeLog.2: Add commit info for range that this file covers.
4880         * Makefile.in (new_commit_regexp): New macro.
4881         (change-history-nocommit): Simplify, by putting what used to be
4882         the gen_origin value into the data (ChangeLog.2) rather than
4883         into the program (gitlog-to-emacslog).
4884         * build-aux/gitlog-to-emacslog (gen_origin): Calculate from
4885         the input file (e.g., ChangeLog.2) rather than by having a
4886         constant in the program.  Substitute it into the output.
4888 2015-06-07  Dmitry Gutov  <dgutov@yandex.ru>
4890         Escape any quotes in the function name
4891         * lisp/help-fns.el (help-fns--signature): Quote any quotes in the
4892         function name (bug#20759).
4894 2015-06-07  Eli Zaretskii  <eliz@gnu.org>
4896         Adapt 'struct timespec' to next release of MinGW runtime
4897         * nt/inc/ms-w32.h (struct timespec): Don't declare if
4898         __struct_timespec_defined is defined.
4900 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
4902         Merge from gnulib
4903         This incorporates:
4904         2015-06-06 acl-permissions: pacify -Wsuggest-attribute=const
4905         2015-06-05 stdio: Don't redefine gets when using C++
4906         2015-06-05 acl-permissions: port to AIX, C89 HP-UX
4907         2015-06-02 file-has-acl: fix build on Mac OS X 10
4908         2015-06-01 gnulib-tool: concatenate lib_SOURCES to a single line
4909         2015-06-01 pthread_sigmask: discount system version if a simple macro
4910         2015-05-31 readlinkat: avoid OS X 10.10 trailing slash bug
4911         * doc/misc/texinfo.tex, lib/acl-internal.h, lib/get-permissions.c:
4912         * lib/readlinkat.c, lib/set-permissions.c, lib/stdio.in.h:
4913         * m4/acl.m4, m4/pthread_sigmask.m4, m4/readlinkat.m4: Copy from gnulib.
4914         * lib/gnulib.mk: Regenerate.
4916 2015-06-06  Juri Linkov  <juri@linkov.net>
4918         * lisp/progmodes/grep.el (zrgrep): Let-bind grep-highlight-matches
4919         before calling grep-compute-defaults because now it affects the
4920         command lines computed in grep-compute-defaults. (Bug#20728)
4922 2015-06-06  Glenn Morris  <rgm@gnu.org>
4924         Address some compilation warnings.
4925         * lisp/international/mule-cmds.el (w32-get-console-codepage)
4926         (w32-get-console-output-codepage):
4927         * lisp/progmodes/elisp-mode.el (xref-collect-references):
4928         * lisp/version.el (cairo-version-string): Declare.
4929         * lisp/erc/erc.el (erc-nickname-in-use): Fix typo.
4931 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
4933         Fix display when a font claims large values of ascent and descent
4934         This fixes bug#20628.
4935         * src/xdisp.c (get_phys_cursor_geometry): Correct the Y
4936         coordinate of a hollow cursor glyph when the original glyph's
4937         ascent is too small.
4938         (get_font_ascent_descent, normal_char_ascent_descent)
4939         (normal_char_height): New functions.
4940         (handle_single_display_spec, append_space_for_newline)
4941         (calc_pixel_width_or_height, produce_stretch_glyph)
4942         (calc_line_height_property): Use normal_char_ascent_descent and
4943         normal_char_height.
4944         (x_produce_glyphs): When font-global values of ascent and descent
4945         are too large, use per-character glyph metrics instead, if
4946         possible.  But don't allow the glyph row's ascent and descent
4947         values become smaller than the values from the metrics of the
4948         font's "normal" character.
4949         * src/xftfont.c (xftfont_draw):
4950         * src/w32font.c (w32font_draw): Correct the values of ascent and
4951         descent used to draw glyphless characters' hex code in a box.
4952         * src/xterm.c (x_draw_glyph_string_background):
4953         * src/xdisp.c (x_produce_glyphs):
4954         * src/w32term.c (x_draw_glyph_string_background):
4955         * src/nsterm.m (ns_maybe_dumpglyphs_background): Use FONT_TOO_HIGH
4956         to detect fonts whose global ascent and descent values are too
4957         large to be used in layout decision, and redraw the background
4958         when that happens.
4959         * src/dispextern.h (FONT_TOO_HIGH): New macro.
4960         (get_font_ascent_descent): Add prototype.
4961         * src/xterm.c (x_new_font):
4962         * src/w32term.c (x_new_font):
4963         * src/nsterm.m (x_new_font):
4964         * src/font.c (font_open_entity):
4965         * src/composite.c (composition_gstring_width): Use
4966         get_font_ascent_descent to obtain reasonable values for ascent and
4967         descent of a font.
4969 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
4971         Add assertion in adjust_point_for_property
4972         * src/keyboard.c (adjust_point_for_property): Add eassert for
4973         current buffer being shown in selected window.
4975 2015-06-06  Dmitry Gutov  <dgutov@yandex.ru>
4977         Replace uses of in-string-p; make it obsolete
4978         * lisp/thingatpt.el (in-string-p): Declare obsolete (bug#20732).
4979         (end-of-sexp, beginning-of-sexp): Use syntax-ppss instead.
4981 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
4983         Fix Dired display of an explicit list of files by ls-lisp.el
4984         * lisp/ls-lisp.el (ls-lisp-uid-d-fmt, ls-lisp-uid-s-fmt)
4985         (ls-lisp-gid-d-fmt, ls-lisp-gid-s-fmt): Make the initial values be
4986         correct for when displaying individual files separately, not as
4987         part of listing a directory, in which case these values are not
4988         recomputed by 'ls-lisp-insert-directory', but used verbatim.
4990         * lisp/dired.el (dired): Doc fix.  (Bug#20739)
4992 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
4994         Do not adjust point in a non-selected window
4995         * src/keyboard.c (command_loop_1): Do not adjust point when
4996         current buffer is not shown in selected window (Bug#20590).
4998         * etc/DEBUG: Mention 'maybe_call_debugger'
5000 2015-06-05  Nicolas Petton  <nicolas@petton.fr>
5002         Fix a unit test for map.el
5003         * test/automated/map-tests.el (test-map-let): Fix the test to work
5004         with the new syntax of `map-let'.
5006         * lisp/emacs-lisp/map.el (map-let): Better docstring.
5008         Better syntax for the map pcase pattern
5009         * lisp/emacs-lisp/map.el: Improves the map pcase pattern to take
5010         bindings of the form (KEY PAT) or SYMBOL. KEY is not quoted.
5012         * lisp/emacs-lisp/map.el (map--dispatch): Better docstring.
5014         Fix a byte-compiler error in map-put and map-delete
5015         * lisp/emacs-lisp/map.el (map-put, map-delete): Ensure that `setq' is
5016         called with a symbol.
5018 2015-06-05  Glenn Morris  <rgm@gnu.org>
5020         * admin/gitmerge.el (gitmerge-commit-message):
5021         Revert to including "skipped" messages in ChangeLog once again.
5023 2015-06-05  Tassilo Horn  <tsdh@gnu.org>
5025         Use string> instead of equiv lambda with string<
5026         * lisp/help.el (view-emacs-news): Use string> instead of equivalent
5027         lambda with string<.
5029 2015-06-05  Glenn Morris  <rgm@gnu.org>
5031         * lisp/emacs-lisp/map.el (map--dispatch): Move before use.
5032         (map--delete-array): Fix typo.
5034         * test/automated/map-tests.el: Replace "assert" with "should".
5036         * lisp/Makefile.in (SUBDIRS): Rename from SUBDIRS_ABS.
5037         (SUBDIRS_REL): Derive from SUBDIRS.
5039         Tweak some build messages.
5040         * lisp/Makefile.in ($(lisp)/loaddefs.el):
5041         * lisp/cus-dep.el (custom-make-dependencies):
5042         * lisp/finder.el (finder-compile-keywords): Say what we are doing.
5043         * lisp/international/titdic-cnv.el (batch-titdic-convert):
5044         Don't say how to compile.
5046 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
5048         Omit U+0332 COMBINING LOW LINE in previous change
5049         It turns out that it does not work on Ubuntu 15.04.
5051         Fix transliteration of Bahá'í months
5052         * lisp/calendar/cal-bahai.el (calendar-bahai-month-name-array):
5053         Improve quality of Latin transliteration of Bahá'í month names.
5055         Fix curved quotes in a few places
5056         * lisp/calc/calc-misc.el (calc-help): Fix quoting.
5057         The strings in question are not doc strings, so this partially
5058         undoes the recent change that assumed they were doc strings.
5059         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
5060         * lisp/info.el (Info-finder-find-node):
5061         Use curved quotes.
5062         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
5063         Also allow curved quotes in doc strings.
5065 2015-06-04  Glenn Morris  <rgm@gnu.org>
5067         * lisp/Makefile.in (AM_V_at): Add missing definition.
5069         * lisp/Makefile.in: Quieten output a bit.
5070         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el):
5071         Don't echo directories, since the commands we invoke print them.
5073         * lisp/Makefile.in: Replace shell fragments in variables with $(shell).
5074         (SUBDIRS_REL, SUBDIRS_ABS, SUBDIRS_ALMOST, SUBDIRS_FINDER)
5075         (SUBDIRS_SUBDIRS): New variables.
5076         (setwins, setwins_almost, setwins_finder, setwins_for_subdirs):
5077         Remove.
5078         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el, $(lisp)/loaddefs.el)
5079         (update-subdirs, compile-main, compile-clean):
5080         Replace "setwins" usage with new "SUBDIRS" variables.
5082         * lisp/vc/compare-w.el (compare-windows-get-window-function):
5083         Fix :version tag.
5085 2015-06-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
5087         * src/ftfont.c (ftfont_open2): Round divisions by upEM.
5089         Undo removal of x_clear_area call on expose for GTK3 or cairo.
5090         * src/xterm.c (handle_one_xevent) [HAVE_GTK3 || USE_CAIRO]: Clear
5091         exposed area.  (Bug#20677)
5093 2015-06-04  Glenn Morris  <rgm@gnu.org>
5095         * doc/lispref/hash.texi (Creating Hash): Remove obsolete makehash.
5097         * lisp/Makefile.in (check-defun-dups): Also skip ldefs-boot.
5099         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
5100         Rename from quail-lao-update-translation, since lao.el defines that.
5102 2015-06-04  Dmitry Gutov  <dgutov@yandex.ru>
5104         Handle new-style advice in find-funct
5105         * lisp/emacs-lisp/find-func.el (find-function-advised-original):
5106         Handle new-style advice.  Return the symbol's function definition.
5107         (Bug#20718)
5108         (find-function-library): Update accordingly.
5110 2015-06-04  Nicolas Petton  <nicolas@petton.fr>
5112         Merge branch 'map'
5114         * lisp/emacs-lisp/map.el: Better docstring for the map pcase macro.
5116         Add new function string-greaterp
5117         * lisp/subr.el (string-greaterp): New function.  Also aliased to
5118         `string>'.
5119         * test/automated/subr-tests.el (string-comparison-test): Add unit
5120         tests for `string>'and `string<'.
5121         * src/fns.c (string-lessp): Better docstring.
5123 2015-06-04  Eli Zaretskii  <eliz@gnu.org>
5125         Fix timezone-related functions on MS-Windows
5126         * src/editfns.c (set_time_zone_rule) [WINDOWSNT]: Always call
5127         'xputenv', even if no reallocation of tzvalbuf was necessary.
5128         This fixes a bug in timezone-related functions on MS-Windows.
5129         Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.
5131 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
5133         Don't pass raw directory name to 'error'
5134         * lisp/files.el (basic-save-buffer-2): Avoid format error if
5135         a directory name contains a string like "%s".
5137 2015-06-03  Dmitry Gutov  <dgutov@yandex.ru>
5139         Override 'grep --color=always'
5140         * lisp/progmodes/xref.el (xref-collect-matches):
5141         Override --color=always in grep-find-template.
5143 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
5145         Fix error introduced recently in file-notify-tests.el
5146         * test/automated/file-notify-tests.el
5147         (file-notify--test-remote-enabled): Do not use `file-notify--test-desc'.
5148         (file-notify--deftest-remote): Revert previous patch, not
5149         necessary anymore.
5151 2015-06-03  Wolfgang Jenkner  <wjenkner@inode.at>
5153         * src/indent.c (Fvertical_motion): Amend motion by 0 lines.
5154         Starting from a display string after a newline, point went to the
5155         previous line.  Also, fix an inadvertent use of a buffer position
5156         with FETCH_BYTE.  (Bug#20701)
5158 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
5160         Instrument file-notify-test.el in order to catch hydra error.
5161         * test/automated/file-notify-tests.el (file-notify--deftest-remote):
5162         Wrap body by `ignore-case', in order to trap non-local errors.
5164 2015-06-03  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
5166         Undo previous changes in non-toolkit scroll bar drawing.
5167         * src/xterm.c (x_scroll_bar_set_handle, x_scroll_bar_expose)
5168         [!USE_TOOLKIT_SCROLL_BARS]: Draw into scroll bar window.  (Bug#20668)
5170 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
5172         * .gitignore: Also ignore doc/*/*/*.html and .ps.
5174         Support quotes 'like this' in info files
5175         This is possible when 'makeinfo --disable-encoding' is used
5176         in Texinfo 5.
5177         * lisp/calc/calc-help.el (calc-describe-thing):
5178         * lisp/gnus/gnus-art.el (gnus-button-alist):
5179         * lisp/info.el (Info-find-index-name):
5180         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
5181         Also support quotes 'like this'.
5182         * lisp/calc/calc-help.el (calc-describe-thing): Simplify.
5183         * lisp/finder.el (finder-font-lock-keywords): Remove var that
5184         hasn't been used in years, instead of bothering to fix its quoting.
5186 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
5188         * .gitignore: Remove !test/etags/html-src/*.html.
5189         It's no longer needed, since *.html was removed.  Sort.
5191 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
5193         Restore <D> instead of '.' in grep-find-template
5194         * lisp/cedet/semantic/symref/grep.el
5195         (semantic-symref-grep-use-template): Update a comment.
5196         * lisp/progmodes/grep.el (grep-compute-defaults): Restore <D>
5197         instead of '.' in grep-find-template (bug#20719).
5198         (rgrep): Pass nil as the directory to rgrep-default-command.
5199         * lisp/progmodes/grep.el (grep-expand-keywords): Use '.' as the
5200         default value for DIR.
5201         * lisp/progmodes/xref.el (xref-collect-matches): Drop the
5202         workaround.
5204 2015-06-02  Glenn Morris  <rgm@gnu.org>
5206         * configure.ac (emacs_config_features): Add X toolkit and scroll-bars.
5208         * configure.ac (emacs_config_features): Add Cairo.
5210         * configure.ac [HAVE_GTK3]: Remove USE_CAIRO that gets reset later.
5212 2015-06-02  Michael Albinus  <michael.albinus@gmx.de>
5214         Ensure, that autorevert works for remote files in file-notify-tests.el
5215         * test/automated/file-notify-tests.el (file-notify--test-desc):
5216         New defvar.
5217         (file-notify--test-remote-enabled)
5218         (file-notify-test00-availability, file-notify-test01-add-watch)
5219         (file-notify-test02-events): Use it.
5220         (file-notify--test-event-test): Check proper descriptor.
5221         (file-notify-test03-autorevert): Ensure, that
5222         `visited-file-modtime' has changed.
5223         (Bug#20392)
5225 2015-06-02  Nicolas Petton  <nicolas@petton.fr>
5227         Add a pcase pattern for maps and `map-let' based on it
5228         * lisp/emacs-lisp/map.el (map-let): New macro.
5229         (map--make-pcase-bindings, map--make-pcase-patterns): New functions.
5230         * test/automated/map-tests.el: New test for `map-let'.
5232 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
5234         Reuse rgrep mechanics in xref-find-regexp
5235         * lisp/progmodes/grep.el (rgrep-default-command):
5236         Extract from `rgrep'.
5237         * lisp/progmodes/xref.el (xref-collect-references): Split from
5238         `xref-collect-matches'.  Only handle the case of symbol search.
5239         (xref-collect-matches): Instead of Semantic Symref, use
5240         `rgrep-default-command', to take advantage of its directory and
5241         file ignore settings.
5242         (xref--collect-match): Remove the last argument, leaving the
5243         regexp construction up to the caller.
5244         * lisp/progmodes/elisp-mode.el (elisp--xref-find-matches):
5245         Change to take the xref-collect- function to use as an argument.
5246         (elisp-xref-find): Update accordingly.
5247         * lisp/progmodes/etags.el (etags--xref-find-matches)
5248         (etags-xref-find): Same.
5250         Move xref-elisp-location to elisp-mode.el
5251         * lisp/progmodes/xref.el (xref-elisp-location)
5252         (xref-make-elisp-location, xref-location-marker): Remove here.
5253         (xref--xref): Don't limit the type of the location slot.
5254         * lisp/progmodes/elisp-mode.el (xref-elisp-location):
5255         Define as a cl-struct here.
5256         (xref-location-marker): Move here.
5258 2015-06-02  Eli Zaretskii  <eliz@gnu.org>
5260         Minor tweaks for .gitignore
5261         * .gitignore: Don't ignore versioned *.html and *.ps files.  Don't
5262         ignore admin/notes/tags that might be ignored as TAGS on
5263         case-insensitive filesystems.  (Bug#20710)
5265 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
5267         Generate curved quotes in ert doc
5268         * lisp/emacs-lisp/ert.el (ert--print-test-for-ewoc)
5269         (ert-results-mode-menu)
5270         (ert-results-pop-to-backtrace-for-test-at-point)
5271         (ert-results-pop-to-messages-for-test-at-point)
5272         (ert-results-pop-to-should-forms-for-test-at-point)
5273         (ert-describe-test):
5274         Quote ‘like this’, not `like this', when generating doc strings
5275         and the like.
5276         * test/automated/ert-x-tests.el (ert-test-describe-test):
5277         Allow quoting ‘like this’.
5279 2015-06-02  Nicolas Richard  <youngfrog@members.fsf.org>
5281         Add test for previous commit
5282         * test/automated/replace-tests.el: New file.
5283         (query-replace--split-string-tests): Add test for previous commit.
5285         Avoid confusion in query-replace history when replacing NUL chars
5286         * lisp/replace.el (query-replace--split-string): New function.
5287         (query-replace-read-from): Rely on the 'separator' property
5288         instead of searching for the NUL character (Bug#20690).
5290 2015-06-02  Glenn Morris  <rgm@gnu.org>
5292         Merge from origin/emacs-24
5293         8b5f2f4 * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
5295         * admin/gitmerge.el (gitmerge-commit-message):
5296         Exclude "skipped" messages from ChangeLog.
5298 2015-06-01  Michael Albinus  <michael.albinus@gmx.de>
5300         Sync with Tramp repository
5301         * lisp/net/tramp.el (tramp-message): Dump connection buffer error
5302         messages.
5303         (tramp-handle-make-auto-save-file-name): When calling
5304         `make-auto-save-file-name' internally, make sure it uses Unix-like
5305         behavior, not Windows-like behavior.
5306         * lisp/net/tramp-sh.el (tramp-set-file-uid-gid): Add a timeout for
5307         the local case, because "chown" might fail on w32.
5308         * lisp/net/trampver.el (tramp-repository-get-version): Don't run
5309         for XEmacs.
5311 2015-06-01  Eli Zaretskii  <eliz@gnu.org>
5313         MS-Windows followup for batch stdout/stderr output changes
5314         * lisp/international/mule-cmds.el (set-locale-environment): In
5315         batch mode, use console codepages for keyboard and terminal
5316         encoding.  (Bug#20545)
5318         Update .gitattributes for DOS EOL files
5319         * .gitattributes: Use "whitespace=cr-at-eol" for files with DOS
5320         CRLF end-of-line format.
5322         NS equivalents of xterm.c and w32term.c changes
5323         * src/nsterm.m (ns_maybe_dumpglyphs_background): Force redraw of
5324         glyph string background also when the font in use claims
5325         preposterously large global height value.  Helps to remove
5326         artifacts left from previous displays when glyphless characters
5327         are displayed as hex code in a box.
5328         (x_new_font): Call get_font_ascent_descent to obtain a reasonable
5329         value for FRAME_LINE_HEIGHT, even when a font claims very large
5330         value for its height.
5332 2015-06-01  Paul Eggert  <eggert@cs.ucla.edu>
5334         Avoid grave accent quoting in stderr diagnostics
5335         A few Emacs diagnostics go directly to stderr, and so can't easily
5336         contain curved quotes (as non-UTF-8 locales might mishandle them).
5337         Instead of bothering to add support for this rarity, reword the
5338         diagnostics so that they don't use grave accent to quote.
5339         * src/alloc.c (mark_memory): Fix comment.
5340         * src/buffer.c (init_buffer):
5341         * src/dispnew.c (init_display):
5342         * src/emacs.c (main, sort_args):
5343         * src/lread.c (dir_warning):
5344         * src/term.c (init_tty):
5345         * src/unexmacosx.c (unexec):
5346         * src/xfns.c (select_visual):
5347         * src/xterm.c (cvt_string_to_pixel, x_io_error_quitter):
5348         Reword stderr diagnostics to avoid quoting `like this'.
5349         * src/unexmacosx.c: Include errno.h.
5350         * src/xfns.c (select_visual): Encode value for locale.
5352 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
5354         Treat batch stdout/stderr like standard display
5355         Calls like (print FOO) could generate improperly encoded or
5356         hard-to-read output if FOO contains characters outside the system
5357         locale.  Fix this by treating batch stdout and stderr like
5358         interactive standard display, when it comes to transliterating and
5359         encoding characters (Bug#20545).
5360         * doc/emacs/mule.texi (Communication Coding):
5361         * doc/lispref/display.texi (Active Display Table):
5362         * doc/lispref/nonascii.texi (Locales):
5363         * etc/NEWS:
5364         * src/coding.c (syms_of_coding):
5365         * src/dispnew.c (syms_of_display):
5366         Document this.
5367         * src/print.c: Include disptab.h.
5368         (printchar_to_stream): New function, with much of the guts of the
5369         old Fexternal_debugging_output, except this one also uses the
5370         standard display table.
5371         (printchar, strout, Fexternal_debugging_output): Use it.
5373 2015-05-31  Glenn Morris  <rgm@gnu.org>
5375         * src/emacs.c (syms_of_emacs) <system-configuration-features>: Doc fix.
5377 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
5379         Remove unused DEFSYMs
5380         Remove DEFSYMs that aren't used at the C level.  Also:
5381         * src/decompress.c (Qzlib_dll):
5382         * src/font.c (Qunicode_sip):
5383         * src/frame.c (Qtip_frame):
5384         * src/ftfont.c (Qserif):
5385         * src/gnutls.c (Qgnutls_dll):
5386         * src/xml.c (Qlibxml2_dll):
5387         Move from here ...
5388         * src/w32fns.c (syms_of_w32fns): ... to here,
5389         as these are used only on MS-Windows.
5391 2015-05-31  Michael Albinus  <michael.albinus@gmx.de>
5393         Use another default value for tramp-histfile-override
5394         * lisp/net/tramp-sh.el (tramp-histfile-override):
5395         Use ".tramp_history" as default.
5396         Fixes: debbugs:#20446
5398 2015-05-29  Nicolas Petton  <nicolas@petton.fr>
5400         * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
5402 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
5404         * etc/NEWS: Add an entry about map.el
5406         Improve the docstring of functions in map.el
5407         Since a map is not a data structure but a concept, adding information
5408         about the possible types of maps can be useful information.
5409         * lisp/emacs-lisp/map.el: Add documentation about the type of MAP to
5410         each public function.
5412 2015-04-29  Nicolas Petton  <nicolas@petton.fr>
5414         Faster implementation of map-empty-p
5415         * lisp/emacs-lisp/map.el (map-empty-p): Faster implementation using
5416         specific tests depending on the type of the map.
5418         * lisp/emacs-lisp/map.el: Better docstrings.
5420 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
5422         * lisp/emacs-lisp/map.el (map-pairs): Dump redundant lambda
5424 2015-04-25  Nicolas Petton  <nicolas@petton.fr>
5426         * lisp/emacs-lisp/map.el (map--elt-list): Better docstring.
5428         * lisp/emacs-lisp/map.el (map--elt-list): Minor refactoring.
5430         Fix a false negative in `map-elt' with alists and values being nil
5431         * lisp/emacs-lisp/map.el (map-elt): If map is an alist and key is
5432         found but its associated value is nil, do not return the default
5433         value.
5434         * test/automated/map-tests.el: Add a regression test.
5436 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
5438         * lisp/emacs-lisp/map.el (map--dispatch): Improve the docstring.
5440         Do not signal an error when trying to delete a key from an array
5441         * lisp/emacs-lisp/map.el (map-delete): When map is an array, check if
5442         the key is present to avoid signaling an error.
5443         * test/automated/map-tests.el: Add a test for deleting non-existing
5444         keys from maps.
5446         * lisp/emacs-lisp/map.el: Better docstring.
5448         Minor improvement in map-elt.
5449         * lisp/emacs-lisp/map.el (map-elt): Do not use `ignore-errors' when
5450         doing a lookup in arrays, but check the boundaries of the array
5451         instead.
5452         * test/automated/map-tests.el: Adds a test for `map-elt' with arrays
5453         and a negative integer as key.
5455 2015-04-21  Nicolas Petton  <nicolas@petton.fr>
5457         * test/automated/map-tests.el: Refactoring of test methods.
5459         * test/automated/map-tests.el: Renamed from map-test.el.
5461 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
5463         * lisp/emacs-lisp/map.el (map-into): Better error message.
5465         * lisp/emacs-lisp/map.el: Removes byte-compilation warnings.
5467         Throw an error when converting a map into an unknown map type
5468         * lisp/emacs-lisp/map.el (map-into): Throw an error if type is not valid.
5469         * test/automated/map-test.el: Add a regression test.
5471         New library map.el similar to seq.el but for mapping data structures.
5472         * test/automated/map-test.el: New file.
5473         * lisp/emacs-lisp/map.el: New file.
5475 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
5477         Make sure there's no explicit tag name
5478         * lisp/progmodes/etags.el (tag-implicit-name-match-p): Make sure
5479         there's no explicit tag name (bug#20629).
5481 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
5483         Remove format2
5484         * src/editfns.c, src/lisp.h (format2): Remove.
5485         It is more trouble than it's worth, now that we have CALLN.
5486         This is just a minor refactoring.
5487         * src/buffer.c (Fkill_buffer):
5488         * src/dbusbind.c (XD_OBJECT_TO_STRING):
5489         * src/fileio.c (barf_or_query_if_file_exists):
5490         Adjust to format2 going away.
5492         Don't misencode C-generated messages
5493         Also, be more consistent about calls to 'Fmessage' vs 'message'.
5494         * src/alloc.c (Fgc_status):
5495         Prefer AUTO_STRING to build_string for Fmessage call.
5496         * src/data.c (Fmake_variable_buffer_local)
5497         (Fmake_local_variable, Fmake_variable_frame_local):
5498         * src/doc.c (store_function_docstring):
5499         Use Fmessage, not message, since the argument can contain
5500         non-ASCII characters, and this can cause the resulting message
5501         to be incorrectly encoded for the current environment.
5502         * src/fns.c (maybe_resize_hash_table):
5503         * src/xselect.c (x_clipboard_manager_save_all):
5504         Use message, not Fmessage, since Fmessage's power isn't needed here.
5505         * src/process.c (Fmake_network_process): Reword message to avoid %s.
5506         * src/xdisp.c (vmessage): Document restrictions on message contents.
5507         (message_nolog) [false]: Remove unused code.
5509         Use \r rather than ^M in string literals
5510         This is less likely to cause problems on platforms that
5511         use CRLF (or CR!) termination for lines.
5513         Update .gitattributes to match current sources
5514         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00879.html
5515         * .gitattributes: Accommodate tests that insist on DOS format.
5516         Remove test/automated/data/decompress/foo-gzipped.
5517         Add etc/e/eterm-color.
5519 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
5521         Document 'face-ignored-fonts'
5522         * doc/emacs/mule.texi (Modifying Fontsets): Document
5523         face-ignored-fonts.  (Bug#20628)
5525         Add etags test for the new -Q option
5526         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
5527         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
5528         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
5529         test-case changes below.
5530         * test/etags/ETAGS.good_6: New file.
5531         * test/etags/cp-src/x.cc: New file.
5532         * test/etags/Makefile (CPSRC): Add x.cc.
5533         (check): Add one more test, for -Q.
5535 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
5537         Use list for the tags completion table, not obarray
5538         * lisp/progmodes/etags.el (etags-tags-completion-table): Return a
5539         list instead of an obarray
5540         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00876.html).
5541         (tags-completion-table): Combine those lists.
5542         (tags-completion-table): Update the docstring.
5544 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
5546         Restore EOL format testing in etags
5547         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
5548         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
5549         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
5550         test-case changes below.
5551         * test/etags/html-src/algrthms.html: Convert back to DOS EOL format.
5552         * test/etags/cp-src/c.C (B): Add back stray CR character.
5553         * test/etags/c-src/dostorture.c: Add back.
5554         * test/etags/Makefile (CSRC): Add back c-src/dostorture.c.
5556 2015-05-30  Vitaly Takmazov  <vitalyster@gmail.com>  (tiny change)
5558         Declare Emacs on MS-Windows to be DPI-aware
5559         * nt/emacs-x86.manifest (asmv3:windowsSettings): Add dpiAware.
5560         * nt/emacs-x64.manifest (asmv3:windowsSettings): Add dpiAware.
5561         This avoids Windows entering compatibility mode for Emacs,
5562         which causes fonts to look less nice.
5564 2015-05-30  Michael Albinus  <michael.albinus@gmx.de>
5566         Improve Tramp traces.
5567         * lisp/net/trampver.el (tramp-repository-get-version): New defun.
5568         * lisp/net/tramp.el (tramp-debug-message): Use it.
5570 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
5572         backup-buffer minor reworking of internals
5573         * lisp/files.el (backup-buffer): Rework to avoid a couple of
5574         unused locals inadvertently introduced in the previous change.
5576         backup-buffer now reports .emacs.d/%backup% ills
5577         * lisp/files.el (backup-buffer): If the write to .emacs.d/%backup%
5578         fails due to disk space exhaustion or whatever, do not pretend
5579         that it succeeded.  More generally, do a better job of checking
5580         for I/O failures, and limit the scope of the condition-case to
5581         just the operations where file errors should be caught and ignored
5582         (Bug#20595).  Also, don't bother trying to delete later backups if
5583         an earlier deletion fails, as this is a sign of trouble and it's
5584         better to stop when there's trouble.
5586         copy-file now truncates output after writing
5587         * src/fileio.c (Fcopy_file): Truncate output after writing rather
5588         than before.  This is more likely to work than truncation before
5589         writing, if the file system is out of space or the user is over
5590         disk quota (Bug#20595).  Also, check for read errors.
5592 2015-05-29  Artur Malabarba  <bruce.connor.am@gmail.com>
5594         * lisp/emacs-lisp/package.el: Don't load from parent dir
5595         (package-load-all-descriptors): Don't load descriptors from
5596         directories above the package directories.
5598 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
5600         Merge from gnulib
5601         This incorporates the following (Bug#20681):
5602         2015-05-29 acl-permissions: Fix build on Mac OS X and older AIX
5603         2015-05-29 acl-permissions: Fix build on Solaris and Cygwin
5604         * lib/set-permissions.c: Copy from gnulib.
5606 2015-05-29  Michael Albinus  <michael.albinus@gmx.de>
5608         Improve Tramp traces.
5609         * lisp/net/tramp.el (tramp-call-process-region): New defun.
5610         * lisp/net/tramp-sh.el (tramp-get-inline-coding): Use it.
5612 2015-05-29  Glenn Morris  <rgm@gnu.org>
5614         * test/automated/vc-tests.el: Try enabling tests on hydra.nixos.org.
5616 2015-05-29  Wolfgang Jenkner  <wjenkner@inode.at>
5618         * src/xfns.c (x_set_menu_bar_lines): Fix calls to x_clear_area.
5619         The signature was changed in the cairo branch, merged on 2015-05-23.
5620         This oversight broke compiling only the non-toolkit X version.
5622 2015-05-29  Samer Masterson  <samer@samertm.com>
5624         * doc/lispref/os.texi: Update initial-buffer-choice docs.
5626 2015-05-29  Glenn Morris  <rgm@gnu.org>
5628         * test/automated/vc-tests.el (vc-test-rcs04-checkout-model):
5629         Mark as an expected failure.
5631 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
5633         Change package test to look for curved quotes
5634         * test/automated/package-test.el (package-test-describe-package)
5635         (package-test-signed): Search for curved single quotes as well as
5636         for grave accent and apostrophe.
5638 2015-05-28  Katsumi Yamaoka  <yamaoka@jpl.org>
5640         gnus-art.el: Re-revert last change
5641         * lisp/gnus/gnus-art.el (gnus-button-alist): Re-revert last change.
5642         cf. <http://news.gmane.org/group/gmane.emacs.devel/thread=186896>
5644 2015-05-28  Samer Masterson  <samer@samertm.com>
5646         Show files when `initial-buffer-choice' is non-nil
5647         * startup.el (command-line-1): When Emacs is given a file as an
5648         argument and `initial-buffer-choice' is non-nil, display both the file
5649         and `initial-buffer-choice'.  For more than one file, show
5650         `initial-buffer-choice' and *Buffer List*.  Refactor display-changing
5651         commands out of the command line arg parser.
5652         (initial-buffer-choice): Clarify docstring.
5654 2015-05-28  Eli Zaretskii  <eliz@gnu.org>
5656         Fix last commit
5657         * nt/gnulib.mk (libgnu_a_SOURCES): Add get-permissions.c back.
5658         (gnulib module qcopy-acl): Add back, as it is harmless.  This
5659         minimizes differences wrt lib/gnulib.mk.
5661         Fix the MS-Windows build as followup to gnulib update
5662         * nt/gnulib.mk (libgnu_a_SOURCES): Remove get-permissions.c and
5663         set-permissions.c, as they don't compile on MinGW.
5664         (gnulib module qcopy-acl): Remove, as it needs set-permissions.c.
5666 2015-05-28  Paul Eggert  <eggert@cs.ucla.edu>
5668         Revert my change to gnus-art.el
5669         * lisp/gnus/gnus-art.el (gnus-button-alist): Revert last change.
5670         It wasn't that important, and it caused a Gnus build to fail.  See:
5671         http://www.randomsample.de:4456/builders/emacs-devel/builds/734
5673         New minor mode Electric Quote
5674         This lets you easily insert quotes ‘like this’ by typing
5675         quotes `like this', and similarly you can easily insert
5676         quotes “like this” by typing quotes ``like this'' (Bug#20545).
5677         * doc/emacs/basic.texi (Inserting Text):
5678         * doc/emacs/modes.texi (Minor Modes):
5679         * etc/NEWS: Document it.
5680         * doc/emacs/text.texi (Quotation Marks): New section.
5681         * lisp/electric.el (electric-quote-comment)
5682         (electric-quote-string, electric-quote-paragraph):
5683         New custom vars.
5684         (electric--insertable-p)
5685         (electric-quote-post-self-insert-function): New functions.
5686         (electric-quote-mode, electric-quote-local-mode): New minor modes.
5687         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
5688         Add curved single quotes to electric-pair-text-pairs.
5689         Set electric-quote-string in this buffer.
5691         A few more doc string fixes (Bug#20385)
5693         Accept curved quotes in doc strings
5694         * lisp/info-look.el (info-lookup-guess-custom-symbol):
5695         (info-lookup-alist): Treat ‘’ like `' when parsing help buffers etc.
5697         Generate curved quotes in pseudo-info nodes
5698         * lisp/info.el (Info-virtual-index-find-node)
5699         (Info-virtual-index, Info-apropos-find-node, info-apropos):
5700         Quote ‘like this’, not `like this', when generating pseudo-info nodes.
5702         Fix minor quoting problems in doc strings
5703         Most of these fixes involve escaping grave accents that are
5704         actually intended to be grave accents, not left quotes.
5705         (Bug#20385)
5707         Support curved quotes in doc strings
5708         Emacs's traditional doc string style has been to quote symbols
5709         `like this'.  This worked well on now-obsolete terminals where
5710         ` and ' were symmetric quotes, but nowadays curved quotes
5711         ‘like this’ look better.  Support quoting the new way too.
5712         (Bug#20385)
5713         * doc/lispref/tips.texi (Documentation Tips): Symbols can be quoted
5714         ‘like-this’ as well as `like-this'.
5715         * etc/NEWS: Mention this.
5716         * lisp/cedet/mode-local.el (overload-docstring-extension)
5717         (mode-local-print-binding, mode-local-describe-bindings-2):
5718         * lisp/cus-theme.el (describe-theme-1):
5719         * lisp/descr-text.el (describe-text-properties-1, describe-char):
5720         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
5721         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
5722         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
5723         (eieio-help-constructor):
5724         * lisp/emacs-lisp/package.el (describe-package-1):
5725         * lisp/faces.el (describe-face):
5726         * lisp/help-fns.el (help-fns--key-bindings)
5727         (help-fns--compiler-macro, help-fns--parent-mode, help-fns--obsolete):
5728         (help-fns--interactive-only, describe-function-1):
5729         (describe-variable):
5730         * lisp/help.el (describe-mode):
5731         * lisp/international/mule-cmds.el (describe-input-method)
5732         (describe-language-environment):
5733         * lisp/international/mule-diag.el (describe-character-set)
5734         (print-coding-system-briefly, list-input-methods)
5735         (list-input-methods-1):
5736         Insert curved quotes rather than grave accent and apostrophe.
5737         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
5738         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
5739         (checkdoc-proper-noun-region-engine):
5740         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2)
5741         (lisp-cl-font-lock-keywords-2):
5742         * lisp/finder.el (finder-font-lock-keywords):
5743         * lisp/gnus/gnus-art.el (gnus-button-alist):
5744         * lisp/help-fns.el (help-do-arg-highlight)
5745         (describe-function-1, describe-variable):
5746         * lisp/help-mode.el (help-xref-symbol-regexp)
5747         (help-xref-info-regexp, help-xref-url-regexp):
5748         * lisp/help.el (describe-mode):
5749         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
5750         * lisp/wid-edit.el (widget-documentation-link-regexp):
5751         Parse symbols quoted ‘like-this’ as well as `like-this'.
5752         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
5753         Add "‘" and "’" to electric-pair-text-pairs.
5754         (elisp--form-quoted-p): Also allow "‘" as a quoting char.
5755         (elisp-completion-at-point, elisp--preceding-sexp):
5756         Also treat "‘" and "’" as quoting chars.
5758         substitute-command-keys now curves quotes
5759         So, for example, it turns "`abc'" into "‘abc’" (Bug#20385).
5760         * doc/lispref/help.texi (Keys in Documentation):
5761         * etc/NEWS: Document this.
5762         * src/doc.c (Fsubstitute_command_keys): Implement it.
5764 2015-05-28  Glenn Morris  <rgm@gnu.org>
5766         * lisp/mail/rmailsum.el (rmail-summary-by-recipients)
5767         (rmail-summary-by-topic, rmail-summary-by-senders):
5768         No longer strip leading/trailing whitespace.
5770         * lisp/progmodes/f90.el (f90-type-def-re): Add "type, extends".
5771         (f90-no-block-limit): Add "enum".  (Bug#20680)
5772         * test/automated/f90.el (f90-test-bug20680, f90-test-bug20680b):
5773         New tests.
5775 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
5777         * lisp/isearch.el (isearch--current-buffer): Give a default value.
5779         Un-revert changes mistakenly dropped by f9fabb2b
5781 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
5783         Merge from gnulib
5784         This incorporates:
5785         2015-05-27 qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
5786         2015-05-27 file-has-acl: Split feature tests again (Bug#20667)
5787         2015-05-27 string: fix build failure on BSD/OSX with FORTIFY_SOURCE
5788         2015-05-26 stdio: limit __gnu_printf__ witness to gcc 4.4+
5789         2015-05-26 inttypes: force correct mingw PRIdMAX even without <stdio.h>
5790         2015-05-26 stdio: fix probe on mingw under gcc 5.1
5791         * admin/merge-gnulib (GNULIB_MODULES):
5792         Replace qacl with qcopy-acl, since we don't need the rest of qacl.
5793         * doc/misc/texinfo.tex, lib/acl-internal.c, lib/acl-internal.h:
5794         * lib/inttypes.in.h, lib/qcopy-acl.c, lib/qset-acl.c:
5795         * lib/string.in.h, m4/acl.m4, m4/stdio_h.m4:
5796         Get latest versions from gnulib.
5797         * lib/get-permissions.c, lib/set-permissions.c: New files.
5798         * lib/gnulib.mk, m4/gnulib-comp.m4:
5799         Regenerate.
5800         * nt/gnulib.mk: Merge lib/gnulib.mk changes by hand.
5802 2015-05-27  Dmitry Gutov  <dgutov@yandex.ru>
5804         Delete the old process in vc-setup-buffer
5805         * lisp/vc/vc-dispatcher.el (vc-setup-buffer): Delete the old
5806         process here.
5807         (vc-do-command): Rather than here (bug#20608).
5809 2015-05-27  Ivan Shmakov  <ivan@siamics.net>
5811         Avoid gratuitous delete-dups in face-at-point.
5812         * lisp/faces.el (face-at-point): Do not compute the properly
5813         ordered, duplicate-free list if only a single value is
5814         requested anyway.  (Bug#20519)
5816         Show the exact C-x 8 RET invocation in describe-char.
5817         * lisp/descr-text.el (describe-char): Show the exact C-x 8 RET
5818         invocation instead of a template.  (Bug#20522)
5820 2015-05-27  Artur Malabarba  <bruce.connor.am@gmail.com>
5822         * lisp/emacs-lisp/package.el: Don't erase tags on refresh
5823         (package-menu--post-refresh): Call `tabulated-list-print' with the
5824         UPDATE argument.  This only affects the refresh action, the revert
5825         action still erases tags.
5826         (package-menu-get-status): Change `assq' to `assoc'.
5827         (package-menu--mark-upgrades-1): New function.
5828         (package-menu--mark-upgrades-pending): New variable.
5829         (package-menu-mark-upgrades): Use them to delay marking until
5830         after refresh is done.
5831         (package-menu--post-refresh): Call mark-upgrades-1 if
5832         mark-upgrades-pending is non-nil.
5834 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
5836         Fix typo in commit 3953c4be2816537be95520605d45b866dc731f4b
5838 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
5840         * lisp/isearch.el (isearch--current-buffer): New var
5841         (isearch-update): Set cursor-sensor-inhibit here.
5842         (isearch-done): Unset cursor-sensor-inhibit in the right buffer (bug#20532).
5844         Change inhibit-point-motion-hooks to t
5845         * src/textprop.c (syms_of_textprop): Default Vinhibit_point_motion_hooks
5846         to t and document it as obsolete.
5848 2015-05-27  Eli Zaretskii  <eliz@gnu.org>
5850         Support ZIP files that use Zip64 extensions
5851         * lisp/arc-mode.el (archive-zip-summarize): Handle the new ZIP
5852         format of central directory offsets used by Zip64 extensions.
5853         (Bug#20665)
5855 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
5857         New test tramp-test30-make-auto-save-file-name
5858         * tramp-tests.el (tramp-test30-make-auto-save-file-name): New test.
5859         (tramp-test31-special-characters)
5860         (tramp-test31-special-characters-with-stat)
5861         (tramp-test31-special-characters-with-perl)
5862         (tramp-test31-special-characters-with-ls, tramp-test32-utf8)
5863         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
5864         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
5865         (tramp-test34-recursive-load, tramp-test35-unload): Rename.
5867         Improve tramp-handle-make-auto-save-file-name
5868         * tramp.el (tramp-auto-save-directory): Add :tags.
5869         (tramp-handle-make-auto-save-file-name): Let native
5870         `make-auto-save-file-name' use `auto-save-file-name-transforms',
5871         if `tramp-auto-save-directory' is not set.
5873 2015-05-27  Glenn Morris  <rgm@gnu.org>
5875         No longer set dired-directory in eshell.  (Bug#16477)
5876         * lisp/eshell/esh-mode.el (eshell-mode):
5877         * lisp/eshell/em-dirs.el (eshell/cd): No longer set dired-directory.
5879         * lisp/mail/sendmail.el (mail-position-on-field): Doc fix.
5881         Make c-submit-bug-report file reports at debbugs.gnu.org.  (Bug#15784)
5882         * lisp/progmodes/cc-mode.el (c-mode-help-address):
5883         Change to submit@debbugs.
5884         (c-mode-bug-package): New constant.
5885         (mail-position-on-field): Declare.
5886         (c-submit-bug-report): Insert X-Debbugs-Package header.
5887         * doc/misc/cc-mode.texi (Mailing Lists and Bug Reports):
5888         Mention debbugs.gnu.org.
5890 2015-05-26  Glenn Morris  <rgm@gnu.org>
5892         * lisp/mail/rmailsum.el: Commas no longer separate regexps.  (Bug#19026)
5893         (rmail-summary-by-recipients, rmail-summary-by-topic)
5894         (rmail-summary-by-senders): No longer use mail-comma-list-regexp.
5895         * doc/emacs/rmail.texi (Rmail Make Summary): Update for this change.
5897 2015-05-26  Paul Eggert  <eggert@cs.ucla.edu>
5899         Handle curved quotes in info files
5900         * lisp/calc/calc-help.el (calc-describe-thing):
5901         * lisp/info.el (Info-find-index-name)
5902         (Info-try-follow-nearest-node, Info-fontify-node):
5903         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
5904         In info files, process quotes ‘like this’ the same way we process
5905         quotes `like this'.  This catches a few places we missed earlier.
5907 2015-05-26  Dmitry Gutov  <dgutov@yandex.ru>
5909         xref-prompt-for-identifier: Use a list value
5910         * lisp/progmodes/xref.el (xref-prompt-for-identifier): Allow list
5911         value, to be interpreted as a list of commands.
5912         (xref--prompt-p): New function.
5913         (xref--read-identifier): Use it.
5915 2015-05-26  Eli Zaretskii  <eliz@gnu.org>
5917         Teach MS-Windows font back-end return per-glyph ascent/descent
5918         * src/w32font.h (struct w32_metric_cache): Add ascent and descent
5919         values.
5920         * src/w32font.c (w32font_text_extents): Compute, cache, and
5921         accumulate per-glyph ascent and descent values, instead of copying
5922         global values from the font.  If the values are not available from
5923         the font data, i.e., non-TTF fonts, fall back on font-global values.
5924         (compute_metrics): Compute and return per-glyph ascent and descent
5925         values, if returned by GetGlyphOutlineW, falling back on
5926         font-global values.  (Bug#20628)
5927         * src/w32term.c (w32_draw_rectangle): Add 1 pixel to width and
5928         height of rectangle to be drawn, to be compatible with
5929         XDrawRectangle.  Fixes glyphless-char display as hex codes in a
5930         box, when per-glyph ascent/descent values are used.
5932 2015-05-26  Artur Malabarba  <bruce.connor.am@gmail.com>
5934         * lisp/emacs-lisp/tabulated-list.el: Don't sort without sorter
5935         (tabulated-list-print): Don't sort if sorter is nil
5937 2015-05-26  Michael Albinus  <michael.albinus@gmx.de>
5939         Fix Bug#20621
5940         * lisp/net/tramp-sh.el (tramp-set-auto-save): Remove it.  There
5941         are major modes which set `auto-save-mode' on their own rules;
5942         Tramp shall not overwrite such settings.
5943         (Bug#20621)
5945 2015-05-26  Glenn Morris  <rgm@gnu.org>
5947         * lisp/desktop.el: If modes aren't autoloaded, try simple guesswork.
5948         (desktop-load-file): Guess that "foobar" defines "foobar-mode".
5949         (desktop-buffer-mode-handlers, desktop-minor-mode-handlers):
5950         Doc updates.
5951         (vc-dir-mode): Remove unnecessary autoload.
5953 2015-05-25  Philipp Stephani  <phst@google.com>
5955         * lisp/term/xterm.el: Add gui-get-selection support via OSC-52
5956         (xterm--extra-capabilities-type): Add `getSelection'.
5957         (xterm--query): Add `no-async' argument.
5958         (xterm--init-activate-get-selection): New function.
5959         (terminal-init-xterm): Use it.
5960         (xterm--init-modify-other-keys): Rename from
5961         terminal-init-xterm-modify-other-keys.
5962         (xterm--init-bracketed-paste-mode): Rename from
5963         terminal-init-xterm-bracketed-paste-mode.
5964         (xterm--init-activate-set-selection): Rename from
5965         terminal-init-xterm-activate-set-selection.
5966         (xterm--selection-char): New function.
5967         (gui-backend-set-selection): Use it.  Use the &context to only apply
5968         this method in terminals where we enabled the feature.
5969         (gui-backend-get-selection): New method.
5971 2015-05-25  Daniel Colascione  <dancol@dancol.org>
5973         Add C-language keyword constants to C++
5974         * lisp/progmodes/cc-langs.el (c-constant-kwds): Add C-language
5975         keyword constants to C++.
5977 2015-05-25  Paul Eggert  <eggert@cs.ucla.edu>
5979         Make TAGS files more portable to MS-Windows
5980         * etc/NEWS: Document this.
5981         * lib-src/etags.c (readline_internal) [DOS_NT]:
5982         Don't treat CRs differently from GNUish hosts.
5983         * lisp/progmodes/etags.el (etags-goto-tag-location):
5984         Adjust STARTPOS to account for the skipped CRs in dos-style files.
5986 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
5988         Improve fix of debbugs:20634 in tramp-sh.el
5990 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
5992         Fix a typo in last commit
5993         * lib-src/etags.c (C_entries): Fix a typo.
5994         * test/etags/ETAGS.good_1:
5995         * test/etags/ETAGS.good_2:
5996         * test/etags/ETAGS.good_3:
5997         * test/etags/ETAGS.good_4:
5998         * test/etags/ETAGS.good_5:
5999         * test/etags/CTAGS.good: Update due to the change in etags.c.
6001         Fix tagging of class members in C-like OO languages
6002         * lib-src/etags.c (longopts): Add new option --class-qualify and
6003         its shorthand -Q.
6004         (print_help): Add help text for --class-qualify.
6005         (main): Add handling of -Q.
6006         (consider_token, C_entries) <omethodparm>: Append argument types
6007         to Objective C methods only if --class-qualify was specified.
6008         Qualify C++, Objective C, and Java class members with their class
6009         names only if --class-qualify was specified.
6010         (C_entries): If --class-qualify was not specified, remove the
6011         namespace and class qualifiers from tag names of C++ methods.
6012         This allows to use etags.el as xref back-end without the
6013         tag-symbol-match-p method, which greatly increases the number of
6014         potentially false positives.  (Bug#20629)
6015         * doc/man/etags.1: Update to document the new --class-qualify
6016         option.
6017         * test/etags/ETAGS.good_1:
6018         * test/etags/ETAGS.good_2:
6019         * test/etags/ETAGS.good_3:
6020         * test/etags/ETAGS.good_4:
6021         * test/etags/ETAGS.good_5:
6022         * test/etags/CTAGS.good: Update due to changes in etags.c.
6024 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
6026         (cl-generic-define-method): Side effects are evil (bug#20644)
6027         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method): Don't reuse
6028         cons-cells that might be used as keys in an `equal' hash-table.
6030 2015-05-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
6032         Make erc timestamps visible again
6033         * lisp/erc/erc-stamp.el (erc-munge-invisibility-spec): Make
6034         timestamps visible again (if requested).
6036 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
6038         Fix last change in etags.c that broke tagging compresed files
6039         * lib-src/etags.c (process_file_name) [MSDOS || DOS_NT]: Fix
6040         quoting of decompression shell command for MS-Windows/MS-DOS.
6042 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
6044         * lisp/emacs-lisp/cl-macs.el (cl-tagbody): Scope cl--tagbody-alist
6045         (Bug#20639)
6047 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
6049         Fix typo in 89035e247591c8d688fce922b7079881aa110f33
6051 2015-05-25  Orivej Desh  <orivej@gmx.fr>  (tiny change)
6053         Fix IPv6 addresses in Tramp
6054         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
6055         Add sqare brackets around host name.
6057 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
6059         Inhibit `epa-file-handler' in Tramp
6060         (Bug#20634)
6061         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer)
6062         (tramp-sh-handle-insert-file-contents-literally): Inhibit also
6063         `epa-file-handler'.
6065 2015-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
6067         * lisp/emacs-lisp/pcase.el: Use PAT rather than UPAT in docstring
6068         (pcase-let): Document the behavior in case the pattern doesn't match.
6070 2015-05-24  Artur Malabarba  <bruce.connor.am@gmail.com>
6072         * lisp/emacs-lisp/tabulated-list.el: New optional print method
6073         (tabulated-list-print): New optional argument, UPDATE.  If
6074         non-nil, the list is printed by only adding and deleting the
6075         changed entries, instead of erasing the whole buffer.  This method
6076         is much faster when few or no entries have changed.
6077         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
6078         * etc/NEWS: Document it.
6080         * lisp/emacs-lisp/tabulated-list.el: Improve printing
6081         (tabulated-list--get-sorter): New function.
6082         (tabulated-list-print): Restore window-line when remember-pos is
6083         passed and optimize away the `nreverse'.
6085 2015-05-24  Paul Eggert  <eggert@cs.ucla.edu>
6087         Simpilify etags TEX mode scanning
6088         * lib-src/etags.c (TEX_mode, TEX_esc, TEX_opgrp, TEX_clgrp):
6089         Remove static vars.
6090         (TeX_commands): Deduce escapes here instead.
6091         (TEX_LESC, TEX_SESC, TEX_mode): Remove; all uses removed.
6092         This removes the need for a reset_input call.
6094         Improve etags I/O error reporting
6095         * lib-src/etags.c:
6096         Don't include sys/types.h and sys/stat.h; no longer needed.
6097         (infilename): New static var.
6098         (process_file_name): Don't call 'stat'.  Instead, just open the
6099         file for reading and report any errors.  Don't bother making
6100         a copy of the file argument; it's not needed.  Be more careful to
6101         use the failing errno when reporting an error.
6102         Quote the real name better (though no perfectly)
6103         when passing it to the shell.
6104         (reset_input): New function, which reports I/O errors.
6105         All uses of 'rewind' changed to use this function.
6106         (perhaps_more_input): New function, which also checks for
6107         I/O errors.  All uses of 'feof' changed to use this function.
6108         (analyze_regex): Report an error if fclose fails.
6109         (readline_internal): Report an error if getc fails.
6110         (etags_mktmp): Return an error if close fails.
6112         etags.c: avoid side effects in 'if'
6113         * lib-src/etags.c (process_file_name, Perl_functions)
6114         (TEX_decode_env): Hoist side effects into previous statement.
6116         .gitignore tweaks
6117         * .gitignore: Ignore all *.stamp files.  Sort.
6118         Ignore [0-9]*.txt (commonly used name for git patches)
6119         and /vc-dwim-log-* (vc-dwim temporary).
6121 2015-05-24  Eli Zaretskii  <eliz@gnu.org>
6123         Fix last change in etags.c, which failed the test suite
6124         * lib-src/etags.c (intoken): Add '$' to the set, as it was there
6125         before the last change.
6127 2015-05-23  Glenn Morris  <rgm@gnu.org>
6129         Remove charset map files from repository, generate in first bootstrap
6130         * admin/charsets/Makefile.in (${srcdir}/charsets.stamp): New.
6131         (all): Create the stamp file.
6132         (extraclean): Delete the stamp file.
6133         * src/Makefile.in (lispintdir, charsets): New variables.
6134         (${lispintdir}/cp51932.el, ${lispintdir}/eucjp-ms.el, ${charsets}):
6135         New rules.
6136         (emacs$(EXEEXT), temacs$(EXEEXT)): Depend on $charsets.
6137         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
6138         * etc/charsets/*.map: Remove from repository.
6140 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
6142         Cleanup etags.c to use locale-independent code
6143         Although this doesn't alter behavior (as etags doesn't use
6144         setlocale), the new version is more clearly locale-independent and
6145         the executable is a bit smaller on my platform.
6146         * lib-src/etags.c: Include <limits.h>, for UCHAR_MAX.
6147         Include <c-ctype.h> instead of <ctype.h>.
6148         (CHARS, CHAR, init, _wht, _nin, _itk, _btk, _etk, white, nonam, endtk)
6149         (begtk, midtk):
6150         Remove; no longer needed.
6151         (iswhite, ISALNUM, ISALPHA, ISDIGIT, ISLOWER, lowcase): Remove.
6152         All callers changed to use c_isspace, c_isalnum, c_isalpha, c_isdigit,
6153         c_islower, c_tolower, respectively.
6154         (notinname, begtoken, intoken, endtoken): Rewrite as functions
6155         instead of macros, and initialize the tables at compile-time
6156         rather than at run-time.
6158         Put default action first in src/Makefile
6159         * src/Makefile.in (all): Put this rule before lisp.mk.
6160         That way, plain 'make' works in the src directory again.
6162 2015-05-23  Glenn Morris  <rgm@gnu.org>
6164         * Makefile.in: Fix extraclean rule.
6165         (extraclean_dirs): New.
6166         (extraclean): Use it.
6168 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
6170         Avoid compiler warning in image.c on MS-Windows
6171         * src/w32term.h (x_query_color): Add prototype, to avoid compiler
6172         warning in image.c.
6174 2015-05-23  Glenn Morris  <rgm@gnu.org>
6176         Fix --without-toolkit-scroll-bars builds.
6177         * src/xterm.c (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]:
6178         Add new argument to x_clear_area1.
6179         (XTset_horizontal_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
6180         Update x_clear_area arguments.
6182         * admin/charsets/glibc/: New directory, imported from glibc 2.21.
6183         * admin/charsets/Makefile.in (GLIBC_CHARMAPS):
6184         Change to included version.
6185         (LOCAL, local, totalclean): Remove.
6186         (extraclean): Delete all generated files.
6188 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
6190         * lisp/pcmpl-cvs.el (pcmpl-cvs-entries): Don't assume CVS/Entries exists.
6192         * lisp/progmodes/xref.el (xref-find-apropos): Use read-string.
6194         tags-completion-at-point-function: Don't trust the find-tag function
6195         * lisp/progmodes/etags.el (tags-completion-at-point-function):
6196         Don't trust the find-tag function.
6198 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
6200         Pacify --enable-gcc-warnings
6201         * src/frame.h (x_query_color): Remove redundant extern decl.
6202         * src/ftcrfont.c (ftcrfont_glyph_extents, ftcrfont_list)
6203         (ftcrfont_match, ftcrfont_open, ftcrfont_close)
6204         (ftcrfont_text_extents, ftcrfont_draw):
6205         * src/xterm.c (x_set_window_size_1, *x_color_cells, x_update_end)
6206         (XTframe_up_to_date, x_clear_area1, x_clear_frame)
6207         (x_ins_del_lines, frame_highlight, frame_unhighlight)
6208         (x_new_focus_frame, x_focus_changed, XTframe_rehighlight)
6209         (x_draw_hollow_cursor, x_draw_bar_cursor, x_flush, x_update_begin)
6210         (x_update_window_begin, x_connection_closed)
6211         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
6212         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
6213         (*x_gc_get_ext_data, x_extension_initialize)
6214         (x_cr_accumulate_data):
6215         Remove redundant static decl.  Many of these GCC doesn't complain
6216         about, but we might as well clean out the duplication while we're
6217         in the neighborhood.
6218         * src/xterm.c (x_fill_trapezoid_for_relief):
6219         Remove decl of nonexistent function.
6221 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
6223         Replace gui-method macros with cl-generic with &context
6224         * lisp/frame.el (gui-method--name, gui-method, gui-method-define)
6225         (gui-method-declare, gui-call): Remove.
6226         (frame-creation-function): Use cl-defgeneric.
6227         (make-frame): Adjust callers.
6228         * lisp/menu-bar.el (menu-bar-edit-menu):
6229         Use gui-backend-selection-exists-p.
6230         * lisp/select.el (x-get-clipboard): Use gui-backend-get-selection.
6231         (gui-backend-get-selection): New cl-generic to replace
6232         gui-get-selection method.
6233         (gui-backend-set-selection): New cl-generic to replace
6234         gui-set-selection method.
6235         (gui-selection-owner-p): New cl-generic to replace
6236         gui-selection-owner-p method.
6237         (gui-backend-selection-exists-p): New cl-generic to replace
6238         gui-selection-exists-p method.  Adjust all callers.
6239         * lisp/server.el (server-create-window-system-frame): Don't ignore
6240         window-system spec even when unsupported.
6241         * lisp/simple.el (deactivate-mark): Use new gui-backend-* functions.
6242         * lisp/startup.el (handle-args-function, window-system-initialization):
6243         Use cl-defgeneric.
6244         (command-line): Adjust calls accordingly.
6245         * lisp/term/ns-win.el (ns-window-system-initialization): Turn into
6246         a window-system-initialization method.
6247         (handle-args-function, frame-creation-function): Use cl-defmethod.
6248         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
6249         (gui-get-selection): Use cl-defmethod on the new functions instead.
6250         * lisp/term/pc-win.el (w16-get-selection-value): Turn into
6251         a gui-backend-get-selection method.
6252         (gui-selection-exists-p, gui-selection-owner-p, gui-set-selection):
6253         Use cl-defmethod on the new functions instead.
6254         (msdos-window-system-initialization): Turn into
6255         a window-system-initialization method.
6256         (frame-creation-function, handle-args-function): Use cl-defmethod.
6257         * lisp/term/w32-win.el (w32-window-system-initialization): Turn into
6258         a window-system-initialization method.
6259         (handle-args-function, frame-creation-function): Use cl-defmethod.
6260         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
6261         (gui-get-selection): Use cl-defmethod on the new functions instead.
6262         * lisp/term/x-win.el (x-window-system-initialization): Turn into
6263         a window-system-initialization method.
6264         (handle-args-function, frame-creation-function): Use cl-defmethod.
6265         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
6266         (gui-get-selection): Use cl-defmethod on the new functions instead.
6267         * lisp/term/xterm.el (xterm--set-selection): Turn into
6268         a gui-backend-set-selection method.
6269         * src/nsselect.m (Fns_selection_exists_p): Remove unused arg `terminal'.
6270         (Fns_selection_owner_p): Remove unused arg `terminal'.
6271         (Fns_get_selection): Remove unused args `time_stamp' and `terminal'.
6273 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
6275         Revert "Fix etags Bug#20629 that broke C++ support."
6276         This reverts commit 13dd9d4f7e75d2c78aa5537cef09de03663e9748.
6278 2015-05-23  Jan D  <jan.h.d@swipnet.se>
6280         Fix etags Bug#20629 that broke C++ support.
6281         * etags.el (etags-xref-find-definitions-tag-order): Revert commit
6282         from Sun May 10 (Bug#20629).
6284         Merge branch 'cairo'.
6285         Main work done by YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>.
6286         Small fixes and image work by Jan D. <jan.h.d@swipnet.se>.
6288         Merge branch 'master' into cairo
6290         Fixes to compile cairo branch without cairo.
6291         * src/gtkutil.c (xg_update_scrollbar_pos): x_clear_area takes frame as
6292         first argument.
6293         * src/xterm.c (handle_one_xevent): Surround x_cr_destroy_surface with
6294         USE_CAIRO.
6296 2015-05-23  Artur Malabarba  <bruce.connor.am@gmail.com>
6298         * lisp/emacs-lisp/package.el: Always update selected-packages
6299         (package--update-selected-packages): New function.
6300         (package-menu-execute): Use it before starting the transaction,
6301         this way the list of selected packages is updated even when the
6302         transaction fails.
6303         (package-menu--perform-transaction): Don't edit selected-packages.
6305 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
6307         Fix etags reading of compressed files
6308         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Define.
6309         Include fcntl.h, for O_CLOEXEC.
6310         (process_file_name): Don't use 'popen', whose streams cannot be
6311         rewound.  Instead, uncompress the file to a temporary file,
6312         created by 'etags_mktmp', and read from that as usual.
6313         (etags_mktmp): New function.
6314         * test/etags/ETAGS.good_1:
6315         * test/etags/ETAGS.good_2:
6316         * test/etags/ETAGS.good_3:
6317         * test/etags/ETAGS.good_4:
6318         * test/etags/ETAGS.good_5: Update to be consistent with latest
6319         changes in etags.c regarding reading compressed files.
6321         Improve documentation of 'set-fontset-font'
6322         * doc/lispref/display.texi (Fontsets): Document the value of nil
6323         for the 3rd argument of 'set-fontset-font'.
6325         Fix documentation of forward-line
6326         * src/cmds.c (Fforward_line): Clarify the return value if the line
6327         at end of accessible portion of the buffer has no newline.
6328         * doc/lispref/positions.texi (Text Lines): Document what happens
6329         if the line at end of accessible portion of buffer has no newline.
6330         (Bug#20587)
6332 2015-05-22  Glenn Morris  <rgm@gnu.org>
6334         * admin/charsets/Makefile.in (TRANS_TABLE): Add short aliases.
6336         * admin/charsets/mapconv (LC_ALL): Set to C.
6338         * Makefile.in: Add admin/charsets into top-level clean rules.
6339         (clean): Add admin/charsets.
6340         (maybeclean_dirs): New variable.
6341         (distclean, bootstrap-clean, maintainer-clean): Use $maybeclean_dirs.
6343         * admin/charsets/Makefile.in (LOCAL, local): Fix members.
6345 2015-05-22  Artur Malabarba  <bruce.connor.am@gmail.com>
6347         * lisp/emacs-lisp/package.el (package-selected-packages): Fix doc
6349 2015-05-22  Glenn Morris  <rgm@gnu.org>
6351         Generate admin/charsets Makefile via configure, and make more portable.
6352         * configure.ac (SUBDIR_MAKEFILES): Add admin/charsets/Makefile.
6353         (admin/charsets/Makefile): Generate it.
6354         * admin/charsets/Makefile.in: Rename from Makefile.
6355         (AWK, srcdir, top_srcdir, AM_DEFAULT_VERBOSITY):
6356         New variables, set by configure.
6357         (charsetdir, lispintdir, mapfiledir, AM_V_GEN, am__v_GEN_)
6358         (am__v_GEN_0, am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0)
6359         (am__v_at_1, LOCAL, mapconv, run_mapconv, big5, compact, cp51932)
6360         (cp932, eucjp_ms, gb180302, gb180304, kuten): New variables.
6361         (TRANS_TABLE, CHARSETS): Add directory prefix to value.
6362         (all): Declare PHONY.
6363         (local): New PHONY target.
6364         (map_template): New template.  Use to define short PHONY aliases.
6365         (*.map): Add directory prefixes to targets and prerequisites.
6366         Respect make verbosity.
6367         (JISC6226.map): Replace non-portable sed append without newline.
6368         (install): Remove rule.
6369         (clean): Only delete temporary sedscript.
6370         (bootstrap-clean, distclean, maintainer-clean, extraclean)
6371         (totalclean): New PHONY rules.
6372         * admin/charsets/mapconv (BASE): Replace basename with expr.
6373         (FILE): Add "mapfiles" subdirectory.
6374         (AWK): New variable.  Use throughout in place of "awk".
6375         (main): Use "gunzip -c" in place of "zcat".
6376         Don't leave whitespace before "p", for older sed.
6377         * admin/charsets/mapfiles/PTCP154: Add final newline,
6378         to make older sed versions happy.
6380 2015-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
6382         * lisp/autorevert.el: Use lexical-binding.  Fix hook usage.
6383         (global-auto-revert-ignore-buffer, auto-revert-notify-modified-p)
6384         (auto-revert-notify-watch-descriptor): Use defvar-local.
6385         (find-file-hook, auto-revert-tail-mode, )
6386         (auto-revert-notify-add-watch): Use setq-local.
6387         (auto-revert-notify-add-watch): Don't call make-local-variable on
6388         kill-buffer-hook (bug#20601).
6390 2015-05-21  Stefan Monnier  <monnier@iro.umontreal.ca>
6392         Change defgeneric so it doesn't completely redefine the function
6393         * lisp/emacs-lisp/cl-generic.el (cl-generic-define): Don't throw away
6394         previously defined methods.
6395         (cl-generic-define-method): Let-bind purify-flag instead of using `fset'.
6396         (cl--generic-prefill-dispatchers): Only define during compilation.
6397         (cl-method-qualifiers): Remove redundant alias.
6398         (help-fns-short-filename): Silence byte-compiler.
6399         * test/automated/cl-generic-tests.el: Adjust to new defgeneric semantics.
6401 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
6403         (package-menu-execute): Remove reference to remove-dups
6405 2015-05-21  kwhite  <kwhite@gnu.org>
6407         * lisp/erc/erc.el: Hide network/channel messages
6408         (erc-network-hide-list, etc-channel-hide-list): New lists to define
6409         message types per network/channel.
6410         (erc-add-targets): New function to parse list of targets
6411         (erc-hide-current-message-p): Modified to check for new targets
6413 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
6415         Don't quote nil and t in doc strings
6416         This is as per "Tips for Documentation Strings" in the elisp manual.
6417         For consistency, do the same in diagnostics and comments.
6419 2015-05-21  Eli Zaretskii  <eliz@gnu.org>
6421         Fix a minor problem with mouse-face on mode line
6422         * src/xdisp.c (note_mode_line_or_margin_highlight): Reset the
6423         mouse face also if the mouse pointer hovers above mode-line glyphs
6424         that don't come from any Lisp string.  (Bug#20620)
6426 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
6428         * lisp/emacs-lisp/package.el: Fix selected-package logic
6429         (package-menu-execute): Mark as selected all non-upgrade packages
6430         being installed.
6431         (package-menu--perform-transaction): Don't mark anything.
6433         * lisp/emacs-lisp/package.el: Mode-line progress report
6434         (package-menu--transaction-status): New variable.
6435         (package-menu-mode, package-menu--perform-transaction): Use it.
6437         * lisp/emacs-lisp/package.el: Better transaction messages
6438         (package-menu--partition-transaction): New function.
6439         (package-menu--prompt-transaction-p, package-menu-execute): Use
6440         it.
6441         (package-menu--perform-transaction): Don't do any messaging.
6443         * lisp/emacs-lisp/package.el: Revert async package transactions
6444         (package-menu-async): Update doc.
6445         (package-install-from-archive, package-download-transaction)
6446         (package-install, package-menu--perform-transaction)
6447         (package-menu-execute): Remove asynchronous functionality.
6449 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
6451         Revert doc string changes to f90.el
6452         Problem reported by Glenn Morris in:
6453         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00596.html
6454         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
6455         Revert recent changes to doc strings, as it's intended that they
6456         use grave accent, not quote.
6458 2015-05-20  Bozhidar Batsov  <bozhidar@batsov.com>
6460         Improve parameter name
6462         Add new inline function `hash-table-empty-p'
6464 2015-05-20  Paul Eggert  <eggert@cs.ucla.edu>
6466         Don't require help-fns when not needed
6467         * lisp/emacs-lisp/autoload.el, lisp/emacs-lisp/advice.el:
6468         * lisp/emacs-lisp/elint.el:
6469         Don't require help-fns at the top level.
6470         * lisp/emacs-lisp/advice.el (ad-arglist):
6471         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
6472         Don't require help-fns.  (Bug#17001)
6474 2015-05-20  Eli Zaretskii  <eliz@gnu.org>
6476         Fix slash collapsing in etags on MS-Windows
6477         * lib-src/etags.c (canonicalize_filename) [DOS_NT]: Separate the
6478         MS-Windows code from the Posix code, and support collapsing both
6479         forward- and back-slashes on MS-Windows.  Fixes a regression found
6480         by the test suite.
6482         Improve documentation of glyphless-char-display
6483         * doc/lispref/display.texi (Glyphless Chars): Improve
6484         documentation of glyphless character display.
6486         Fix "acronym" display of glyphless characters on w32
6487         * src/w32term.c (x_draw_glyphless_glyph_string_foreground): Don't
6488         ignore "acronym" substitutes of 1 character for glyphless characters.
6490 2015-05-20  Oleh Krehel  <ohwoeowho@gmail.com>
6492         Add an automated test for let-when-compile
6493         * test/automated/subr-tests.el (let-when-compile): New test.
6495         Add let-when-compile macro instead of using pcase-let
6496         * lisp/subr.el (let-when-compile): New let-like macro that makes its
6497         bindings known to macros like `eval-when-compile' in the body.
6498         * lisp/emacs-lisp/lisp-mode.el: Change the top-level `pcase-let' to a
6499           `let-when-compile'. Also comment out the unused lexical var
6500           `el-kws-re'.
6501         The change greatly improves readability, while providing almost the
6502         same (even shorter) byte code: instead of pre-evaluating 10 variables,
6503         tossing them into a list, and destructuring that list a full screen
6504         page later, the variables are simply bound as they are evaluated,
6505         wrapped individually in `eval-when-compile'.
6507 2015-05-20  Artur Malabarba  <bruce.connor.am@gmail.com>
6509         * lisp/emacs-lisp/package.el: "Delete" button in Help buffer
6510         (package-delete-button-action): New function.
6511         (describe-package-1): Add Delete button.
6513         * lisp/emacs-lisp/package.el: Better dependency description
6514         (package--used-elsewhere-p): New optional arg, ALL, and return
6515         package-desc objects instead of names.
6516         (package-delete): Update accordingly.
6517         (describe-package-1): Describe which packages require the package.
6519 2015-05-20  Martin Rudalics  <rudalics@gmx.at>
6521         Fix handling and doc-string of FRAME arg of `other-buffer' (Bug#20533)
6522         * src/buffer.c (Fother_buffer): Argument FRAME must denote a live frame.
6523         Fix doc-string (Bug#20533).
6525         Improve `switch-to-buffer' in strongly dedicated windows (Bug#20472)
6526         * lisp/window.el (switch-to-buffer-in-dedicated-window): New option.
6527         (switch-to-buffer): If the selected window is strongly dedicated
6528         to its buffer, signal error before prompting for buffer name.  Handle
6529         `switch-to-buffer-in-dedicated-window'.  (Bug#20472)
6530         * doc/lispref/windows.texi (Switching Buffers): Document
6531         `switch-to-buffer-in-dedicated-window'.
6533 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
6535         Prefer "this" to “this” in doc strings
6536         This mostly just straightens quotes introduced in my previous patch.
6537         Suggested by Dmitry Gutov in:
6538         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00565.html
6539         * lisp/faces.el, lisp/gnus/gnus-group.el, lisp/ldefs-boot.el:
6540         * lisp/mail/supercite.el, lisp/net/tramp.el, lisp/recentf.el:
6541         * lisp/textmodes/artist.el, lisp/textmodes/rst.el:
6542         * lisp/textmodes/tildify.el, lisp/vc/ediff-util.el:
6543         * lisp/vc/log-edit.el, lisp/xt-mouse.el:
6544         Prefer straight double quotes to curved double quotes in doc strings.
6546         Fix minor quoting problems in doc strings
6547         These were glitches regardless of how or whether we tackle the
6548         problem of grave accent in doc strings.
6549         * lisp/calc/calc-aent.el (math-restore-placeholders):
6550         * lisp/ido.el (ido-ignore-buffers, ido-ignore-files):
6551         * lisp/leim/quail/cyrillic.el ("bulgarian-alt-phonetic"):
6552         * lisp/leim/quail/hebrew.el ("hebrew-new")
6553         ("hebrew-biblical-sil"):
6554         * lisp/leim/quail/thai.el ("thai-kesmanee"):
6555         * lisp/progmodes/idlw-shell.el (idlwave-shell-file-name-chars):
6556         Used curved quotes to avoid ambiguities like ‘`''’ in doc strings.
6557         * lisp/calendar/calendar.el (calendar-month-abbrev-array):
6558         * lisp/cedet/semantic/mru-bookmark.el (semantic-mrub-cache-flush-fcn):
6559         * lisp/cedet/semantic/symref.el (semantic-symref-tool-baseclass):
6560         * lisp/cedet/semantic/tag.el (semantic-tag-copy)
6561         (semantic-tag-components):
6562         * lisp/cedet/srecode/cpp.el (srecode-semantic-handle-:cpp):
6563         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
6564         * lisp/emacs-lisp/byte-opt.el (byte-optimize-all-constp):
6565         * lisp/emacs-lisp/checkdoc.el (checkdoc-message-text-engine):
6566         * lisp/emacs-lisp/generator.el (iter-next):
6567         * lisp/gnus/gnus-art.el (gnus-treat-strip-list-identifiers)
6568         (gnus-article-mode-syntax-table):
6569         * lisp/net/rlogin.el (rlogin-directory-tracking-mode):
6570         * lisp/net/soap-client.el (soap-wsdl-get):
6571         * lisp/net/telnet.el (telnet-mode):
6572         * lisp/org/org-compat.el (org-number-sequence):
6573         * lisp/org/org.el (org-remove-highlights-with-change)
6574         (org-structure-template-alist):
6575         * lisp/org/ox-html.el (org-html-link-org-files-as-html):
6576         * lisp/play/handwrite.el (handwrite-10pt, handwrite-11pt)
6577         (handwrite-12pt, handwrite-13pt):
6578         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
6579         * lisp/progmodes/idlwave.el (idlwave-mode, idlwave-check-abbrev):
6580         * lisp/progmodes/verilog-mode.el (verilog-tool)
6581         (verilog-string-replace-matches, verilog-preprocess)
6582         (verilog-auto-insert-lisp, verilog-auto-insert-last):
6583         * lisp/textmodes/makeinfo.el (makeinfo-options):
6584         * src/font.c (Ffont_spec):
6585         Fix minor quoting problems in doc strings, e.g., missing quote,
6586         ``x'' where `x' was meant, etc.
6587         * lisp/erc/erc-backend.el (erc-process-sentinel-2):
6588         Fix minor quoting problem in other string.
6589         * lisp/leim/quail/ethiopic.el ("ethiopic"):
6590         * lisp/term/tvi970.el (tvi970-set-keypad-mode):
6591         Omit unnecessary quotes.
6592         * lisp/faces.el (set-face-attribute, set-face-underline)
6593         (set-face-inverse-video, x-create-frame-with-faces):
6594         * lisp/gnus/gnus-group.el (gnus-group-nnimap-edit-acl):
6595         * lisp/mail/supercite.el (sc-attribs-%@-addresses)
6596         (sc-attribs-!-addresses, sc-attribs-<>-addresses):
6597         * lisp/net/tramp.el (tramp-methods):
6598         * lisp/recentf.el (recentf-show-file-shortcuts-flag):
6599         * lisp/textmodes/artist.el (artist-ellipse-right-char)
6600         (artist-ellipse-left-char, artist-vaporize-fuzziness)
6601         (artist-spray-chars, artist-mode, artist-replace-string)
6602         (artist-put-pixel, artist-text-see-thru):
6603         * lisp/vc/ediff-util.el (ediff-submit-report):
6604         * lisp/vc/log-edit.el (log-edit-changelog-full-paragraphs):
6605         Use double-quotes rather than TeX markup in doc strings.
6606         * lisp/skeleton.el (skeleton-pair-insert-maybe):
6607         Reword to avoid the need for grave accent and apostrophe.
6608         * lisp/xt-mouse.el (xterm-mouse-tracking-enable-sequence):
6609         Don't use grave and acute accents to quote.
6611 2015-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
6613         * emacs-lisp/generator.el (cps--gensym, cps--transform-1): Silence compiler
6615 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
6617         Try to port new etags tests to MS-Windows
6618         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
6619         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
6620         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
6621         Adjust to test-case changes below.
6622         * test/etags/Makefile (CSRC): Remove dostorture.c.
6623         Whatever it was trying to test, wasn't working portably.
6624         (LC_ALL): Remove.  Apparently there wasn't an encoding problem,
6625         just a line-ending problem.
6626         * test/etags/c-src/dostorture.c: Remove.
6627         * test/etags/cp-src/c.C: Remove stray CR.
6628         * test/etags/html-src/algrthms.html: Remove trailing CRs.
6629         State UTF-8 as the encoding.  The file is ASCII so it doesn't matter,
6630         but if someone edits it later it should stay UTF-8-compatible.
6632 2015-05-19  Eli Zaretskii  <eliz@gnu.org>
6634         Fix display of overlapping window-specific overlays
6635         * src/keyboard.c (adjust_point_for_property): When adjusting point
6636         due to display strings, ignore overlays that are specific to
6637         windows other than the currently selected one.
6638         * src/xdisp.c (handle_single_display_spec): If the display
6639         property comes from an overlay, arrange for buffer iteration to
6640         resume only after the end of that overlay.  (Bug#20607)
6642 2015-05-19  Dmitry Gutov  <dgutov@yandex.ru>
6644         New command icomplete-force-complete-and-exit
6645         * lisp/icomplete.el (icomplete-force-complete-and-exit):
6646         New command
6647         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00461.html)
6648         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00516.html).
6649         (icomplete-minibuffer-map): Bind C-j to it.
6650         (icomplete-forward-completions, icomplete-backward-completions):
6651         Mention the new command in the docstring.
6652         * lisp/minibuffer.el (minibuffer-force-complete-and-exit): Revert
6653         the previous fix for bug#17545.
6655 2015-05-19  Martin Rudalics  <rudalics@gmx.at>
6657         Fix last commit
6659         In Elisp manual explain how to override window manager positioning (Bug#20552)
6660         * doc/lispref/frames.texi (Position Parameters): Give example of
6661         how to override a window manager positioning decision.
6663         Clarify concept of "surrogate minibuffer frames" (Bug#20538)
6664         * src/frame.c (Fdelete_frame): In doc-string mention that frame
6665         can't be deleted if it has a surrogate minibuffer.
6666         * doc/lispref/frames.texi (Minibuffers and Frames)
6667         (Deleting Frames): Explain "surrogate minibuffer frames".
6669         In w32heap.c bump DUMPED_HEAP_SIZE to 19/12 MB
6670         * emacs-git/quick/src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 19/12 MB.
6672 2015-05-18  Glenn Morris  <rgm@gnu.org>
6674         Add option to ignore commit lines matching a pattern in ChangeLog.
6675         * build-aux/gitlog-to-changelog: Add --ignore-line option.
6676         * build-aux/gitlog-to-emacslog: Ignore lines matching '^; '.
6678 2015-05-18  Paul Eggert  <eggert@cs.ucla.edu>
6680         Don't skip new etags tests on non-UTF-8 hosts
6681         Problem reported by Eli Zaretskii for MS-Windows.
6682         * test/etags/Makefile (UTF8_LOCALE, UTF8_ENCODING): Remove.
6683         (LC_ALL): Set to C if the current locale isn't UTF-8.
6684         (.PHONY): Remove ediff_1 thru ediff_5.
6685         (check): Always run.
6687 2015-05-18  Glenn Morris  <rgm@gnu.org>
6689         * lisp/calculator.el (calculator-funcall):
6690         * lisp/textmodes/artist.el (artist-spray-random-points):
6691         Use standard degree/radian conversion utilities.
6693         Further lisp-complete-symbol related cleanup.
6694         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol):
6695         Unadvertise non-functional argument.  Replace obsolete alias.
6697 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
6699         Add a test case for Maven warning ouput
6700         * test/automated/compile-tests.el
6701         (compile-tests--test-regexps-data): Add a case for Maven warning
6702         ouput.
6703         (compile--test-error-line): Check the compilation message type, if
6704         it's specified in the test data.
6706 2015-05-18  Paul Pogonyshev  <pogonyshev@gmail.com>
6708         Update Maven compilation-mode entry to distinguish warnings
6709         * lisp/progmodes/compile.el
6710         (compilation-error-regexp-alist-alist): Update Maven entry to
6711         distinguish warnings (bug#20556).
6713 2015-05-18  Przemysław Wojnowski  <esperanto@cumego.com>
6715         * test/automated/sgml-mode-tests.el: New file.
6717 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
6719         Improve handling of the first Git revision
6720         * lisp/vc/log-view.el (log-view-toggle-entry-display): When
6721         there's no next entry, delete until the end of the buffer.
6722         (log-view-end-of-defun-1): Stop at eob.
6723         * lisp/vc/vc-annotate.el
6724         (vc-annotate-show-diff-revision-at-line-internal): Don't give up
6725         when previous-revision is nil.
6726         * lisp/vc/vc-git.el (vc-git-expanded-log-entry): End the arguments
6727         with `--' to avoid ambiguity.
6728         (vc-git-annotate-extract-revision-at-line): Exclude `^' from the
6729         returned revision string.
6730         (vc-git-annotate-time): Expect `^' before the first revision.
6731         * lisp/vc/vc-git.el (vc-git-diff): Diff against an empty tree if
6732         REV1 is nil, and REV2 is not.
6733         * lisp/vc/vc.el: Update the description of the `diff' function.
6735 2015-05-18  Oleh Krehel  <ohwoeowho@gmail.com>
6737         Allow checkdoc to be called in batch
6738         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When `noninteractive'
6739           is non-nil, echo the error with `warn'.
6740         How it can be used in -batch:
6741         (with-current-buffer (find-file "checkdoc.el")
6742           (checkdoc-current-buffer t))
6744 2015-05-18  Glenn Morris  <rgm@gnu.org>
6746         * lisp/calendar/solar.el (solar-ecliptic-coordinates): Use float-pi.
6748 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
6750         * admin/notes/unicode: New section "binary files".
6752         Change new etags test to use UTF-8 encoding
6753         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
6754         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
6755         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
6756         * test/etags/html-src/index.shtml, test/etags/html-src/software.html:
6757         * test/etags/html-src/softwarelibero.html:
6758         Switch to UTF-8 encoding.
6759         * test/etags/Makefile (SRCS): Adjust to switch to UTF-8.
6760         Remove Makefile, as it's too incestuous to have the test input
6761         include the build procedure.
6762         (UTF8_LOCALE, UTF_ENCODING): New macros.
6763         (LC_ALL): If possible, set to a UTF-8 encoding if not already UTF-8.
6764         (check): Skip if not UTF-8.
6765         (.PHONY): New rule.
6766         (FRC): Remove, as superseded by .PHONY.  All uses removed.
6767         (regexfile): Prefer printf to echo when outputting oddball chars.
6768         (.PRECIOUS): Remove, as these files are not built.
6770         Rename 'foo-gzipped' to 'foo.gz'
6771         * test/automated/data/decompress/foo.gz:
6772         Rename from test/automated/data/decompress/foo-gzipped,
6773         to make it easier for other tools to tell that it's compressed.
6774         * test/automated/zlib-tests.el (zlib--decompress):
6775         Adjust to renamed file.
6777 2015-05-17  Dmitry Gutov  <dgutov@yandex.ru>
6779         Set up default-directory
6780         * lisp/vc/vc-annotate.el (vc-annotate-mode-map): Remove duplicate
6781         binding for `v'.
6782         (vc-annotate-show-changeset-diff-revision-at-line): Set up an
6783         appropriate value for default-directory.
6785 2015-05-17  Samer Masterson  <samer@samertm.com>
6787         * lisp/eshell/em-term.el (eshell-term-sentinel):
6788         No-op by default, only kills term buffer if
6789         `eshell-destroy-buffer-when-process-dies' is non-nil.  (Bug#18108)
6790         (eshell-destroy-buffer-when-process-dies): New custom to preserve
6791         previous behavior.
6793         eshell: Introduce new buffer syntax
6794         The new buffer syntax '#<buffer-name>' is equivalent to '#<buffer
6795         buffer-name>'.  Remove `eshell-buffer-shorthand', as it is no longer
6796         needed (Bug#19319).
6797         * lisp/eshell/esh-io.el (eshell-buffer-shorthand): Remove.
6798         (eshell-get-target): Remove shorthand-specific code.
6799         * lisp/eshell/esh-arg.el (eshell-parse-special-reference): Parse
6800         '#<buffer-name>'.
6802 2015-05-17  Jan D  <jan.h.d@swipnet.se>
6804         Merge branch 'master' into cairo
6806 2015-04-26  Jan D  <jan.h.d@swipnet.se>
6808         Merge branch 'master' into cairo
6810         Add PBM support for cairo.
6811         * src/image.c (xcolor_to_argb32): New function.
6812         (get_spec_bg_or_alpha_as_argb): Call xcolor_to_argb32.
6813         (pbm_load, png_load_body, jpeg_load_body, gif_load): Only use
6814         XImagePtr if ! USE_CAIRO.
6815         (pbm_load): Add cairo support.
6817 2015-04-12  Jan D  <jan.h.d@swipnet.se>
6819         x_free_cr_resources: Renamed from x_prepare_for_xlibdraw.
6820         * src/xterm.c (x_free_cr_resources): Renamed from x_prepare_for_xlibdraw.
6821         (x_cr_draw_frame, x_cr_export_frames, x_shift_glyphs_for_insert)
6822         (x_free_frame_resources): Rename x_prepare_for_xlibdraw to
6823         x_free_cr_resources.
6825         Handle specified bg in images.  Use generic libpng code for PNG:s.
6826         * src/image.c (get_spec_bg_or_alpha_as_argb)
6827         (create_cairo_image_surface): New functions when USE_CAIRO.
6828         (xpm_load): Call the above functions.  Handle XPM without mask
6829         when USE_CAIRO.
6830         (png_load_body): Handle USE_CAIRO case.
6831         (png_load): Remove USE_CAIRO specific fuction, modify png_load_body
6832         instead.
6833         (jpeg_load_body): Call create_cairo_image_surface.
6834         (gif_load, svg_load_image): Handle specified background, call
6835         create_cairo_image_surface.
6836         * src/xterm.c (x_draw_image_glyph_string): Added missing USE_CAIRO.
6838 2015-04-11  Jan D  <jan.h.d@swipnet.se>
6840         Support GIF and Tiff with cairo.
6841         * configure.ac: Allow jpeg with cairo.
6842         Allow tiff and gif with cairo.
6843         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
6844         (tiff_load): Create cairo image surface if USE_CAIRO.
6845         (gif_load): Ditto.
6847         Support JPEG with USE_CAIRO.
6848         * configure.ac: Allow jpeg with cairo.
6849         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
6851 2015-04-05  Jan D  <jan.h.d@swipnet.se>
6853         Support RSVG and cairo.
6854         * configure.ac: Allow rsvg with cairo.  Move back HAVE_RSVG.
6855         * src/dispextern.h (struct image): add cr_data2 if cairo.
6856         * src/image.c: #undef COLOR_TABLE_SUPPORT when USE_CAIRO.
6857         (x_clear_image): Free cr_data and cr_data2 if set.
6858         (xpm_load): Assign data to cr_data2.
6859         (svg_load_image): Convert from GdkPixbuf to CAIRO_FORMAT_ARGB32.
6861 2015-04-03  Jan D  <jan.h.d@swipnet.se>
6863         Introduce limited Xpm support (32 bit ZPixmap) for Cairo.
6864         * configure.ac (HAVE_RSVG): Move after cairo.
6865         (USE_CAIRO): Disable rsvg, don't disable Xpm.
6866         * src/image.c (prepare_image_for_display): Don't load if USE_CAIRO.
6867         (x_clear_image): If USE_CAIRO, also free possible img->ximg->obdata and
6868         don't return early.
6869         (ALLOC_XPM_COLORS): Don't define when USE_CAIRO.
6870         (xpm_load): Convert simple Xpms (32 bit ZPixmap) to CAIRO_FORMAT_ARGB32
6871         and create a surface.
6873         Tool tips for menus did not show any text.
6874         * src/xterm.c (x_update_begin): Don't create any surface for non-visible
6875         tip frames, the geometry may be wrong.
6877         Merge branch 'master' into cairo, fixes tooltips not shown.
6879         Merge branch 'master' into cairo
6881         Add CAIRO_CFLAGS to lwlib/Makefile.in
6882         * Makefile.in (CAIRO_CFLAGS): Add.
6884 2015-02-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
6886         * ftcrfont.c (ftcrfont_draw): Don't flush when drawing to screen.
6888 2015-02-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
6890         Draw outermost line using black relief and erase corners also for cairo.
6891         * xterm.c [USE_CAIRO]: Include math.h.
6892         (enum corners) [USE_CAIRO]: New enum.
6893         (x_erase_corners_for_relief) [USE_CAIRO]: New function.
6894         (x_draw_relief_rect) [USE_CAIRO]: Use it.  If box width is larger
6895         than 1, draw the outermost line using the black relief.
6897         * xterm.c (x_fill_trapezoid_for_relief): Remove unnecessary cairo_close_path.
6899 2015-02-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
6901         * xterm.c (x_draw_relief_rect) [USE_CAIRO]: Reset clipping.
6903         * xterm.c (x_draw_stretch_glyph_string): Call x_reset_clip_rectangles instead of XSetClipMask.
6905         Use int instead of unsigned int for width and height args.
6906         * xterm.c (x_cr_draw_image, x_fill_rectangle, x_draw_rectangle)
6907         (x_fill_trapezoid_for_relief): Use int instead of unsigned int for
6908         width and height args.
6910         Modernize k&r cairo-related function declarations.
6911         * gtkutil.c (xg_page_setup_dialog, xg_get_page_setup, draw_page)
6912         (xg_print_frames_dialog): Modernize k&r declarations.
6913         * xfns.c (Fx_export_frames, Fx_page_setup_dialog, Fx_get_page_setup)
6914         (Fx_print_frames_dialog): Modernize k&r declarations.
6915         * xterm.c (x_gc_get_ext_data, x_extension_initialize, x_begin_cr_clip)
6916         (x_end_cr_clip, x_set_cr_source_with_gc_foreground)
6917         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
6918         (x_cr_destroy_fringe_bitmap, x_cr_draw_frame, x_cr_accumulate_data)
6919         (x_cr_destroy, x_cr_export_frames, x_prepare_for_xlibdraw)
6920         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
6921         (x_draw_rectangle, x_clear_window, x_fill_trapezoid_for_relief)
6922         (x_clear_area): Modernize k&r declarations.
6924         Implement wave-style variant of underlining for cairo.
6925         * xterm.c (x_draw_horizontal_wave) [USE_CAIRO]: New function.
6926         (x_draw_underwave) [USE_CAIRO]: Use it.
6928         * xterm.c (x_draw_window_divider): Use x_fill_rectangle instead of XFillRectangle.
6930 2015-02-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
6932         Fix fringe bitmap initialization for cairo.
6933         * fringe.c (init_fringe_bitmap) [USE_CAIRO]: Adjust bitmap data for
6934         cairo image surface.
6935         * xterm.c (x_cr_define_fringe_bitmap): Call cairo_surface_mark_dirty.
6937 2015-02-11  Jan D  <jan.h.d@swipnet.se>
6939         Add cairo drawing.
6940         * configure.ac (with-cairo): New option.
6941         (USE_CAIRO): Default to yes for Gtk+ 3.  Add code to test for cairo,
6942         set CAIRO_CFLAGS, CAIRO_LIBS.  Add ftcrfonto to FONT_OBJ if cairo.
6943         Output "Does Emacs use cairo?".
6944         * lisp/version.el (emacs-version): Add cairo version.
6945         * src/Makefile.in (CAIRO_CFLAGS, CAIRO_LIBS): New variables.
6946         (FONT_OBJ): Add comment about ftcrfont.
6947         (ALL_CFLAGS): Add CAIRO_CFLAGS.
6948         (LIBES): Add CAIRO_LIBS.
6949         * src/dispextern.h (struct image): Add cr_data for cairo.
6950         (x_cr_init_fringe): Declare.
6951         * src/font.c (syms_of_font): Call syms_of_ftcrfont for cairo.
6952         * src/font.h (ftcrfont_driver, syms_of_ftcrfont): Declare
6953         * src/fringe.c (x_cr_init_fringe): New function name that shares code
6954         with w32_init_fringe.
6955         * src/ftcrfont.c: New font driver for cairo, based on the ftfont driver.
6956         * src/ftfont.c (ftfont_info_size); New global variable.
6957         (ftfont_open2): New extern function almost the same as old ftfont_open,
6958         but takes the font_object as argument.
6959         (ftfont_open): Build font object and call ftfont_open2.
6960         * src/ftfont.h (ftfont_open2, ftfont_info_size): Declare.
6961         * src/gtkutil.c (xg_clear_under_internal_border)
6962         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos): Only
6963         queue_draw if not cairo.  Change args to x_clear_area.
6964         (xg_get_font): Use Qftcr when using cairo, Qxft otherwise.
6965         (xg_page_setup_dialog, xg_get_page_setup, draw_page)
6966         (xg_print_frames_dialog): New functions for printing.
6967         * src/gtkutil.h (xg_page_setup_dialog, xg_get_page_setup)
6968         (xg_print_frames_dialog): Declare.
6969         * src/image.c: Add defined (USE_CAIRO) for PNG.
6970         Add !defined USE_CAIRO for W32 PNG code.
6971         (x_clear_image): If cairo, destroy the surface in cr_data.
6972         (png_load): Add new cairo compatible implementation.
6973         (lookup_image_type): Add defined (USE_CAIRO) for define png_type.
6974         * src/xfns.c: New section Printing.
6975         (x-export-frames, x-page-setup-dialog, x-get-page-setup)
6976         (x-print-frames-dialog): New printing functions.
6977         (Fx_create_frame, x_create_tip_frame): Register ftcrfont if
6978         cairo.
6979         (syms_of_xfns): Defsym Qorientation, Qtop_margin, Qbottom_margin,
6980         Qportrait, Qlandscape, Qreverse_portrait, Qreverse_landscape).
6981         (syms_of_xfns): Provide cairo and defvar cairo-version-string.
6982         defsubr Sx_page_setup_dialog, Sx_get_page_setup, Sx_print_frames_dialog.
6983         * src/xterm.c (x_clear_area1, x_prepare_for_xlibdraw)
6984         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
6985         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
6986         (x_gc_get_ext_data, x_extension_initialize, x_cr_accumulate_data):
6987         Declare.
6988         (FRAME_CR_CONTEXT, FRAME_CR_SURFACE): New macros.
6989         (max_fringe_bmp, fringe_bmp): New variables.
6990         (x_gc_get_ext_data, x_extension_initialize)
6991         (x_cr_destroy_surface, x_begin_cr_clip, x_end_cr_clip)
6992         (x_set_cr_source_with_gc_foreground)
6993         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
6994         (x_cr_destroy_fringe_bitmap, x_cr_draw_image, x_cr_draw_frame)
6995         (x_cr_accumulate_data, x_cr_destroy, x_cr_export_frames)
6996         (x_prepare_for_xlibdraw, x_set_clip_rectangles)
6997         (x_reset_clip_rectangles, x_fill_rectangle, x_draw_rectangle)
6998         (x_clear_window, x_fill_trapezoid_for_relief): New functions.
6999         (x_update_begin): Create cairo surface if needed.
7000         (x_draw_vertical_window_border): Call x_fill_rectangle for cairo.
7001         (x_update_end): Paint cairo drawing surface to xlib surface.
7002         (x_clear_under_internal_border, x_after_update_window_line): Adjust
7003         arguments to x_clear_area.
7004         (x_draw_fringe_bitmap): Call x_fill_rectangle.  Get GC values and
7005         call x_cr_draw_image for cairo.  Call x_reset_clip_rectangles instead
7006         of XSetClipMask.
7007         (x_set_glyph_string_clipping)
7008         (x_set_glyph_string_clipping_exactly): Use x_set_clip_rectangles
7009         instead of XSetClipRectangles.
7010         (x_clear_glyph_string_rect, x_draw_glyph_string_background): Use
7011         x_fill_rectangle instead of XFillRectangle.
7012         (x_draw_glyph_string_foreground)
7013         (x_draw_composite_glyph_string_foreground)
7014         (x_draw_glyphless_glyph_string_foreground): Use x_draw_rectangle instead
7015         of XDrawRectangle.
7016         (x_draw_relief_rect): Add code for USE_CAIRO.
7017         Call x_reset_clip_rectangles instead of XSetClipMask.
7018         (x_draw_box_rect): x_set_clip_rectangles instead of XSetClipRectangles,
7019         x_fill_rectangle instead of XFillRectangle, x_reset_clip_rectangles
7020         instead of XSetClipMask.
7021         (x_draw_image_foreground, x_draw_image_foreground_1):
7022         x_draw_rectangle instead of XDrawRectangle.
7023         (x_draw_glyph_string_bg_rect): x_fill_rectangle instead of
7024         XFillRectangle.
7025         (x_draw_image_glyph_string): If img has cr_data, use it as
7026         a cairo surface.
7027         (x_draw_stretch_glyph_string): x_set_clip_rectangles instead of
7028         XSetClipRectangles, x_fill_rectangle instead of XFillRectangle.
7029         (x_draw_glyph_string): x_fill_rectangle instead of XFillRectangle.,
7030         x_reset_clip_rectangles instead of XSetClipMask.
7031         (x_shift_glyphs_for_insert): Call x_prepare_for_xlibdraw.
7032         (x_clear_area1): New function that calls XClearArea.
7033         (x_clear_area): Takes frame as parameter, calls x_clear_area1 for
7034         non-cairo.
7035         (x_clear_frame): x_clear_window instead of XClearWindow.
7036         (x_scroll_run): Set frame garbaged if cairo.
7037         (XTmouse_position): Initialize *part to 0.
7038         (x_scroll_bar_create): Adjust arguments to x_clear_area.
7039         (x_scroll_bar_set_handle): x_clear_area1 instead of x_clear_area,
7040         x_fill_rectangle instead of XFillRectangle.
7041         (XTset_vertical_scroll_bar, XTset_horizontal_scroll_bar): Adjust
7042         arguments to x_clear_area.
7043         (x_scroll_bar_expose): x_draw_rectangle instead of XDrawRectangle.
7044         (handle_one_xevent): Adjust arguments to x_clear_area.
7045         Destroy cairo surface for frame if ConfigureNotify.
7046         (x_clip_to_row): x_set_clip_rectangles instead of XSetClipRectangles.
7047         (x_draw_hollow_cursor): x_draw_rectangle instead of XDrawRectangle,
7048         x_reset_clip_rectangles instead of XSetClipMask.
7049         (x_draw_bar_cursor): x_fill_rectangle instead of XFillRectangle,
7050         x_reset_clip_rectangles instead of XSetClipMask.
7051         (x_clear_frame_area): Adjust arguments to x_clear_area.
7052         (x_free_frame_resources): Call x_prepare_for_xlibdraw.
7053         (x_term_init): Call x_extension_initialize if cairo.
7054         (x_redisplay_interface): Add x_cr_define_fringe_bitmap,
7055         x_cr_destroy_fringe_bitmap for cairo.
7056         (x_initialize): Call x_cr_init_fringe for cairo.
7057         * src/xterm.h: Add include of cairo header files.
7058         (x_bitmap_record): Add img if cairo.
7059         (x_gc_ext_data): New struct for cairo.
7060         (x_display_info): Add ext_codes for cairo.
7061         (x_output): Add cr_context and cr_surface for cairo.
7062         (x_clear_area): Change arguments from Display*/Window to frame pointer.
7063         (x_query_color, x_begin_cr_clip, x_end_cr_clip)
7064         (x_set_cr_source_with_gc_foreground, x_set_cr_source_with_gc_background)
7065         (x_cr_draw_frame, x_cr_export_frames): Declare.
7067 2015-05-17  Johan Bockgård  <bojohan@gnu.org>
7069         Fix integer-valued `mouse-highlight' (Bug#20590)
7070         * src/xterm.c (handle_one_xevent) [USE_GTK]: Fix ifdef scope.
7072 2015-05-17  Eli Zaretskii  <eliz@gnu.org>
7074         MS-Windows followup for ASCIIfication of curved quotes
7075         * lisp/term/w32console.el (terminal-init-w32console): Repeat the
7076         test for curved quotes being displayable, after switching the
7077         terminal encoding.  (Bug#20545)
7079 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
7081         Spelling fixes
7083 2015-05-17  Jan D  <jan.h.d@swipnet.se>
7085         Add comment that x_shift_glyphs_for_insert is never called.
7086         * xterm.c (x_shift_glyphs_for_insert, x_redisplay_interface): Add
7087         comment that this function is never called.
7089 2015-05-16  Glenn Morris  <rgm@gnu.org>
7091         * src/lisp.mk: Remove from repository and generate at build-time.
7092         * src/Makefile.in (lisp.mk): New rule to generate from loadup.el.
7093         (shortlisp_filter): New variable.
7094         (emacs$(EXEEXT), $(etc)/DOC): Depend on lisp.mk.
7095         (distclean): Remove lisp.mk.
7096         * Makefile.in ($(MAKEFILE_NAME)): No longer depend on src/lisp.mk.
7097         * lisp/loadup.el: Tweak layout to make it easier to parse.
7098         * make-dist: Do not distribute src/lisp.mk.
7100 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
7102         Display shorter dates in Git annotate output
7103         * lisp/vc/vc-git.el (vc-git-annotate-command): Use the short date
7104         format (when not overridden with vc-git-annotate-switches).
7105         (vc-git-annotate-time): Support the short format, as well as ISO
7106         8601 that has been used until now (bug#5428).
7108 2015-05-16  Paul Eggert  <eggert@cs.ucla.edu>
7110         ASCIIfy curved quotes on displays lacking them
7111         * lisp/international/mule-cmds.el (set-locale-environment):
7112         If curved quotes don't work, display straight ASCII approximations
7113         (Bug#20545).
7115 2015-05-16  Glenn Morris  <rgm@gnu.org>
7117         Small src/Makefile simplification.
7118         * src/lisp.mk (shortlisp): Rename from lisp, remove $lispsource prefix.
7119         * src/Makefile.in (lisp): Derive from shortlisp.
7120         ($(etc)/DOC): Use $shortlisp rather than parsing lisp.mk.
7122 2015-05-16  Eli Zaretskii  <eliz@gnu.org>
7124         * lisp/help-mode.el (help-go-forward): Doc fix.
7125         (Bug#20577)
7127         * doc/lispref/debugging.texi (Profiling): Improve indexing.
7128         (Bug#20576)
7130 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
7132         Use `unless' to have one fewer `not'
7133         * lisp/vc/vc-git.el (vc-git-resolve-when-done): Use `unless' to
7134         have one fewer `not'.
7136         Remove redundant :group declarations from vc-git.el
7137         * lisp/vc/vc-git.el (vc-git-diff-switches)
7138         (vc-git-annotate-switches, vc-git-resolve-conflicts)
7139         (vc-git-program, vc-git-root-log-format): Remove the redundant
7140         :group declarations.
7142 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
7144         Removes the predicate from lisp-complete-symbol (Bug#20456)
7145         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol): Do not use predicate
7146         and remove it from the docstring.
7148 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
7150         Add new option vc-git-resolve-conflicts
7151         * lisp/vc/vc-git.el (vc-git-resolve-conflicts): New variable.
7152         (vc-git-find-file-hook): Add to after-save-hook only when the
7153         above is non-nil.
7154         (vc-git-resolve-when-done): Update to honor the new variable.
7155         (Bug#20292)
7157 2015-05-16  Artur Malabarba  <bruce.connor.am@gmail.com>
7159         * lisp/emacs-lisp/tabulated-list.el: Don't error on nil header-string
7160         (tabulated-list-init-header): Document new behavior.
7161         (tabulated-list-print-fake-header): No nothing if
7162         `tabulated-list--header-string' is nil.
7163         (tabulated-list--header-string): Add a docstring.
7164         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
7165         * etc/NEWS: Document it.
7167 2015-05-15  Leo Liu  <sdl.web@gmail.com>
7169         Revert "Fix cps--gensym"
7170         * lisp/emacs-lisp/generator.el (cps--gensym): Revert commit
7171           fbda511ab8069d0115eafca411a43353b85431b1 on 2015-05-14.
7173 2015-05-15  Glenn Morris  <rgm@gnu.org>
7175         Replace AC_SUBST_FILE in configure with include in Makefiles.
7176         * configure.ac (DEPDIR, MKDEPDIR, deps_frag, lwlib_deps_frag)
7177         (oldxmenu_deps_frag, lisp_frag): Remove output variables/files.
7178         (AUTO_DEPEND): New output variable.
7179         * lwlib/Makefile.in (AUTO_DEPEND): New, set by configure.
7180         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
7181         (lwlib_deps_frag): Replace by conditional include.
7182         * lwlib/autodeps.mk: Remove file.
7183         * oldXMenu/Makefile.in (AUTO_DEPEND): New, set by configure.
7184         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
7185         (oldxmenu_deps_frag): Replace by conditional include.
7186         * oldXMenu/autodeps.mk: Remove file.
7187         * src/Makefile.in (AUTO_DEPEND): New, set by configure.
7188         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
7189         (lisp_frag): Replace by an include.
7190         (deps_frag): Replace by conditional include.
7191         * src/autodeps.mk: Remove file.
7193         Tweak japanese.el's loading of dependencies.
7194         * lisp/loadup.el: Explicitly load cp51932 and eucjp-ms.
7195         * lisp/language/japanese.el: Use require rather than load.
7196         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
7197         Provide a feature.
7198         * admin/charsets/eucjp-ms.awk, admin/charsets/cp51932.awk:
7199         Provide a feature in the generated file.
7201 2015-05-15  Jan D  <jan.h.d@swipnet.se>
7203         Fix NS warnings.
7204         * nsmenu.m (ns_popup_dialog)
7205         * nsimage.m (initFromXBM:width:height:fg:bg:)
7206         * nsfns.m (Fx_create_frame): Remove unused variables.
7207         (Fns_read_file_name): Initialize fname, remove ret.
7208         * nsterm.m (ns_draw_window_cursor): Handle DEFAULT_CURSOR in switch.
7209         (ns_get_color, ns_set_horizontal_scroll_bar, keyDown): Remove unused
7210         variable.
7211         (init): Add parantesis in if.
7212         (ns_create_terminal): Assign set_horizontal_scroll_bar_hook.
7214 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
7216         Fix a enum conversion warning in macfont.m
7217         * src/macfont.h (CharacterCollection): Typedef to NSCharacterCollection.
7218         (MAC_CHARACTER_COLLECTION_*): Use the NS variants.
7220 2015-05-15  Eli Zaretskii  <eliz@gnu.org>
7222         Support de-alt dictionary with Aspell.
7223         * lisp/textmodes/ispell.el (ispell-aspell-find-dictionary):
7224         Support Aspell dictionaries with names like "de-alt".  (Bug#20581)
7226 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
7228         cus-start.el: Add ns-confirm-quit.
7229         * cus-start.el: Add ns-confirm-quit.
7231         Fix warnings on OSX 10.10.
7232         * nsfns.m (MODAL_OK_RESPONSE): New define for different OSX versions.
7233         (Fns_read_file_name): Check against MODAL_OK_RESPONSE.
7234         (compute_tip_xy): Use convertRectToScreen for OSX >= 10.7
7235         * nsmenu.m (initWithContentRect:styleMask:backing:defer:)
7236         * nsimage.m (allocInitFromFile, setPixmapData): Only call
7237         setScalesWhenResized for OSX < 10.6.
7238         * nsterm.h (EmacsScroller): Declare scrollerWidth.
7239         * nsterm.m (ns_copy_bits): New function that does not use deprecated
7240         NSCopyBits.
7241         (ns_scroll_run, ns_shift_glyphs_for_insert): Call ns_copy_bits.
7242         (runAlertPanel): New function.
7243         (applicationShouldTerminate:): Call runAlertPanel.
7244         (initFrameFromEmacs, toggleFullScreen:): Only call useOptimizedDrawing
7245         for OSX < 10.10.
7246         (initFrameFromEmacs:): Only call allocateGState for OSX < 10.10.
7247         (windowWillUseStandardFrame:defaultFrame:): Cast arg to abs to int.
7248         (draggingEntered:): Returns NSDragOperation.
7249         (scrollerWidth): Use scrollerWidthForControlSize for OSX >= 10.7.
7251 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
7253         * lisp/emacs-lisp/package.el: Don't ensure-init during startup
7254         (package--init-file-ensured): New variable.
7255         (package-initialize, package--ensure-init-file): Use it.
7257 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
7259         Honor :fore/background for XBM on NS (Bug#14969).
7260         * nsterm.h (EmacsImage): Add xbm_fg, remove initFromSkipXBM,
7261         initFromXBM takes bg, fg args, remove flip arg.
7262         (ns_image_from_XBM): Add bg, fg args.
7263         * image.c (x_create_bitmap_from_data)
7264         (Create_Pixmap_From_Bitmap_Data): ns_image_from_XBM takes bg, fg args.
7265         * nsimage.m (ns_image_from_XBM): Add fg, bg args, pass to initFromXBM.
7266         Remove flip arg.
7267         (initFromSkipXBM): Move code to initFromXBM.
7268         (initFromXBM): Actually set fg and bg, instead of playing alpha games.
7269         Use fg, bg from args (Bug#14969).  Remove if (length) section, was always
7270         false.
7271         Remove bit flipping (bitPat, swt), generated incorrect images when
7272         width/height wasn't a multiple of 8.
7273         (setXBMColor:): Modify planes by comparing to saved xbm_fg.
7274         * nsterm.m (ns_draw_fringe_bitmap): initFromXBM takes fg, bg args, remove
7275         flip arg.
7277 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
7279         * lisp/emacs-lisp/package.el: Be more careful with the init file
7280         (package--ensure-init-file): Check that user-init-file is set,
7281         exists, is readable, and is writable.  (Bug#20584)
7282         Also expand the docstring.
7284 2015-05-14  Wilson Snyder  <wsnyder@wsnyder.org>
7286         Sync with upstream verilog-mode revision 6232468
7287         * lisp/progmodes/verilog-mode.el (verilog-font-lock-grouping-keywords-face)
7288         (verilog-highlight-grouping-keywords): Fix use of face when
7289         `verilog-highlight-grouping-keywords' set.  Reported by Jeff
7290         Pompa.
7291         (verilog-auto-reset): Fix AUTORESET to ignore member resets if
7292         parent is reset, bug906. Reported by Ken Schmidt.
7293         (verilog-auto-inout-module): Add fourth regexp argument to
7294         AUTOINOUTMODULE and AUTOINOUTCOMP for signals to not match,
7295         bug856. Reported by John Tillema.
7296         (verilog-auto-inst-port): Fix AUTOINST interfaces to not show
7297         modport if signal attachment is itself a modport.  Reported by
7298         Matthew Lovell.
7299         (verilog-auto-reset, verilog-auto-sense-sigs): Fix AUTORESET with
7300         always_comb and always_latch, bug844.  Reported by Greg Hilton.
7301         (verilog-at-constraint-p, verilog-beg-of-statement-1): Fix hanging
7302         with many curly-bracket pairs, bug663.
7303         (verilog-set-auto-endcomments): Fix end comments for functions of
7304         type void, etc.  Reported by Alex Reed.
7305         (verilog-do-indent): Fix electric tab deleting form-feeds.  Note
7306         caused by indent-line-to deleting tabls pre 24.5.
7307         (verilog-nameable-item-re): Fix nameable items that can have an
7308         end-identifier to include endchecker, endgroup, endprogram,
7309         endproperty, and endsequence.  Reported by Alex Reed.
7310         (verilog-label-be): When auto-commenting a buffer, consider
7311         auto-comments on all known keywords (not just a subset thereof).
7312         Reported by Alex Reed.
7313         (verilog-auto-end-comment-lines-re)
7314         (verilog-end-block-ordered-re, verilog-set-auto-endcomments):
7315         Automatically comment property/endproperty blocks to match other
7316         similar blocks like sequence/endsequence, function/endfunction,
7317         etc. Reported by Alex Reed.
7318         (verilog-set-auto-endcomments): Detect the function- or task-name
7319         when auto-commenting blocks that lack an explicit
7320         portlist. Reported by Alex Reed.
7321         (verilog-auto, verilog-auto-insert-last): Add AUTOINSERTLAST to
7322         allow post-AUTO user fixups, bug826. Reported by Dennis
7323         Muhlestein.
7324         (verilog-no-indent-begin-re): When `verilog-indent-begin-after-if'
7325         is nil, fix indenting initial/final to match always statements,
7326         bug825. Reported by Tim Clapp.
7327         (verilog-extended-complete-re): Fix indentation of DPI-C imports
7328         with c_identifiers, and DPI-C imports, bug557. Reported by ZeDong
7329         Mao and Jason Forkey.
7330         (verilog-read-decls): Fix parsing typed interfaces.  Fix
7331         AUTOINOUTMODPORT missing types.  Reported by Stephan Bourduas.
7332         Fix localparam not being ignored in AUTOINSTPARAM,
7333         bug889. Reported by Shannon Hill.
7334         (verilog-auto-output-every): Add regexp to AUTOOUTPUTEVERY,
7335         bug793.  Reported by Pierre-David Pfister.
7336         (verilog-auto-arg-format, verilog-auto-arg-ports): Add
7337         verilog-auto-arg-format to support newlines in AUTOARG. Reported
7338         by Jie Xiao.
7339         (verilog-batch-execute-func): Do not batch re-auto files loaded by
7340         Local Variables. Fix printing "no changes to be saved" with
7341         verilog-batch. Reported by Dan Dever.
7342         (verilog-auto-inout-module): Fix AUTOINOUTMODULE not inserting
7343         interface-only modules, bug721.  Reported by Dean Hoyt.
7344         Author: Alex Reed <acreed4@gmail.com>
7345         * lisp/progmodes/verilog-mode.el (verilog-beg-of-statement): Don't
7346         treat '<keyword>:<identifier>' as the start of a labeled
7347         statement, bug905.  Reported by Enzo Chi.
7348         (verilog-directive-re, verilog-compiler-directives)
7349         (verilog-keywords): Match full set of IEEE 2012-1800 compiler
7350         directives (plus some extras) when determining indentation, bug
7351         901.  Reported by Bernd Beuster.
7352         (verilog-at-constraint-p): Fix indentation of coverpoint bins if
7353         iff expression doesn't start with word-character, bug900.
7354         (verilog-optional-signed-range-re, verilog-optional-signed-re):
7355         Fix incorrect indentation/alignment of unsigned declarations,
7356         bug897.
7357         (verilog-looking-back, verilog-in-attribute-p): Fix labling of
7358         always constructs, bug895.
7359         (verilog-calc-1): Fix verilog-mode constraint indentation,
7360         bug324. Reported by Eric Mastromarchi.
7361         (verilog-beg-of-statement): Fix indenting for some forms of
7362         constraintsm bug433.  Reported by Brad Parker.  Fix indentation of
7363         continued assignment incorrect if first line ends with ']',
7364         bug437. Reported by Dan Dever.  Fix indention of cover inside an
7365         ifdef, bug 862. Reported by Bernd Beuster Fix labeling do-while
7366         blocks, bug842.
7367         (verilog-preprocessor-re): Fix fork/end UNMATCHED warning,
7368         bug859. Reported by Kaushal Modi.
7369         (verilog-set-auto-endcomments): Fix endlabel end comments, bug888.
7370         (verilog-backward-token): Fix indenting sensitivity lists with
7371         named events, bug840.  Reed.
7372         (verilog-no-indent-begin-re): Fix `verilog-indent-begin-after-if'
7373         nil not honoring 'forever', 'foreach', and 'do' keywords.
7375 2015-05-14  Paul Eggert  <eggert@cs.ucla.edu>
7377         Check for invalid GTK+ monitor scales
7378         * src/gtkutil.c (xg_get_gdk_scale): Return 1 for invalid scales,
7379         INT_MAX for too-large scales.  All callers changed to assume the
7380         result is valid (Bug#20432).
7381         (xg_frame_set_char_size, xg_update_scrollbar_pos):
7382         Calculate scale only if needed.
7383         show ASCII approximations instead.
7385 2015-05-14  Eli Zaretskii  <eliz@gnu.org>
7387         Fix daemon crashes when linum-mode is turned on early on
7388         * src/window.c (Fwindow_end): Don't try calling display engine
7389         functions on initial-frame frame.  (Bug#20565)
7391         Fix selective diff browsing in Ediff
7392         * lisp/vc/ediff-util.el (ediff-focus-on-regexp-matches): Go to the
7393         beginning of the region before searching for the
7394         ediff-regexp-focus-* regexps.  (Bug#20568)
7396 2015-05-14  Jan D  <jan.h.d@swipnet.se>
7398         Fixes Bug#20142.
7399         * gtkutil.c (delete_cb): Don't send delete event here, it does arrive
7400         in the main loop, even for Gtk 3 (Bug#20142).
7402         Don't access display after i/o error (Bug#19147).
7403         * xterm.c (x_connection_closed): Add third arg ioerror.
7404         If ioerror, set display to 0 (Bug#19147).
7405         (x_error_quitter): Call x_connection_closed with third arg false.
7406         (x_io_error_quitter): Call x_connection_closed with third arg true.
7408         Handle GTK_SCALE, fixes Bug#20432.
7409         * gtkutil.c (xg_get_gdk_scale): New function.
7410         (xg_frame_set_char_size)
7411         (x_wm_set_size_hint, xg_get_default_scrollbar_width)
7412         (xg_get_default_scrollbar_height)
7413         (xg_update_horizontal_scrollbar_pos): Take GTK_SCALE in to account
7414         when setting sizes (Bug#20432).
7416 2015-05-13  Leo Liu  <sdl.web@gmail.com>
7418         Fix cps--gensym
7419         * lisp/emacs-lisp/generator.el (cps--gensym): Fix.
7421 2015-05-13  Glenn Morris  <rgm@gnu.org>
7423         Fix bootstrap (void function cl-member).
7424         * lisp/emacs-lisp/cl-lib.el: Load cl-seq if no cl-loaddefs file.
7425         * lisp/emacs-lisp/cl-seq.el: Provide a feature.
7427 2015-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
7429         * lisp/loadup.el ("emacs-lisp/cl-generic"): Preload
7430         * src/lisp.mk (lisp): Add emacs-lisp/cl-generic.elc.
7431         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method):
7432         Avoid defalias for closures which are not immutable.
7433         (cl--generic-prefill-dispatchers): New macro.  Use it to prefill the
7434         dispatchers table with various entries.
7435         * lisp/emacs-lisp/ert.el (emacs-lisp-mode-hook):
7436         * lisp/emacs-lisp/seq.el (emacs-lisp-mode-hook): Use add-hook.
7438 2015-05-13  Eli Zaretskii  <eliz@gnu.org>
7440         Improve tagging of C bindings in DEFVAR_*
7441         * src/Makefile.in (TAGS): Add --regex options to tag the C binding
7442         from DEFVAR_*.
7444 2015-05-13  Paul Eggert  <eggert@cs.ucla.edu>
7446         * src/editfns.c (Fformat): Fix use-after-free bug (Bug#20548).
7448 2015-05-12  Glenn Morris  <rgm@gnu.org>
7450         * lisp/progmodes/tcl.el (tcl-filter):
7451         Handle comint-prompt-read-only like gud.el does.  (Bug#20549)
7453         Add basic VC push support.
7454         * lisp/vc/vc.el (vc-push): New autoloaded command.
7455         * lisp/vc/vc-hooks.el (vc-prefix-map, vc-menu-map): Add vc-push.
7456         * lisp/vc/vc-bzr.el (vc-bzr--pushpull): New, factored from vc-bzr-pull.
7457         (vc-bzr-pull): Reimplement using vc-bzr--pushpull.
7458         (vc-bzr-push): New.
7459         * lisp/vc/vc-git.el (vc-git--pushpull): New, factored from vc-git-pull.
7460         (vc-git-pull): Reimplement using vc-git--pushpull.
7461         (vc-git-push): New.
7462         * lisp/vc/vc-hg.el (vc-hg--pushpull): New, factored from vc-hg-pull.
7463         (vc-hg-pull, vc-hg-push): Reimplement using vc-hg--pushpull.
7464         * doc/emacs/maintaining.texi (Pulling / Pushing):
7465         Rename from "VC Pull".  Mention pushing.
7466         (VC With A Merging VCS, VC Change Log): Update xrefs.
7467         (Branches): Update menu.
7468         * doc/emacs/emacs.texi: Update menu.
7469         * etc/NEWS: Mention this.
7471 2015-05-12  Nicolas Petton  <nicolas@petton.fr>
7473         Improve the seq pcase pattern and the `seq-let' macro
7474         * lisp/emacs-lisp/seq.el: The pcase pattern now matches only if the
7475         object is a sequence, and binds each element of ARGS to the
7476         corresponding element of the sequence.
7478 2015-05-12  Eli Zaretskii  <eliz@gnu.org>
7480         Fix tags created from DEFVAR_* declarations in C
7481         * src/Makefile.in (TAGS): Improve the --regex argument to etags,
7482         to make tags extracted from DEFVAR_* declarations more accurate.
7484         Add a test suite for etags
7485         * test/etags/: New test suite, adapted from
7486         http://fly.isti.cnr.it/pub/software/unix/etags-regression-test.tar.bz2,
7487         whose original author is Francesco Potortì <pot@gnu.org>.
7489         Fix tagging of symbols in C enumerations
7490         * lib-src/etags.c (consider_token): Don't tag symbols in
7491         expressions that assign values to enum constants.  See
7492         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00291.html
7493         for details.
7494         (C_entries): Reset fvdef to fvnone after processing a preprocessor
7495         conditional and after a comma outside of parentheses.
7497 2015-05-12  Glenn Morris  <rgm@gnu.org>
7499         * lisp/url/url-handlers.el (url-file-name-completion)
7500         (url-file-name-all-completions): Silence compiler.
7502         * lisp/emacs-lisp/chart.el (chart-axis-draw): Replace obsolete alias.
7504         * lisp/play/dunnet.el (dun-dos-boot-msg): Fix time.  (Bug#20554)
7506 2015-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
7508         * lisp/emacs-lisp/cl-generic.el: Add dispatch on &context arguments
7509         (cl--generic-mandatory-args): Remove.
7510         (cl--generic-split-args): New function.
7511         (cl-generic-define, cl--generic-lambda): Use it.
7512         (cl-generic-define-method): Use it as well, and add support for
7513         context args.
7514         (cl--generic-get-dispatcher): Handle &context dispatch.
7515         (cl--generic-cache-miss): `dispatch-arg' can now be a context expression.
7516         (cl--generic-dispatchers): Pre-fill.
7517         * test/automated/cl-generic-tests.el (sm-generic-test-12-context): New test.
7519 2015-05-11  Glenn Morris  <rgm@gnu.org>
7521         * make-dist: Abort if "make ChangeLog" fails.  Add "--no-changelog".
7523 2015-05-11  Stefan Monnier  <monnier@iro.umontreal.ca>
7525         * lisp/term/xterm.el: Fix xterm-paste handling for rxvt
7526         * lisp/term/rxvt.el: Require term/xterm.
7527         (rxvt-function-map): Use xterm-rxvt-function-map.
7528         (rxvt-standard-colors): Move before first use.
7529         (terminal-init-rxvt): Use xterm--push-map and xterm-register-default-colors.
7530         (rxvt-rgb-convert-to-16bit, rxvt-register-default-colors): Remove.
7531         * lisp/term/xterm.el (xterm-rxvt-function-map): New var.
7532         Move shared bindings between rxvt and xterm to it.
7533         (xterm-function-map): Use it.  Move the xterm-paste binding to
7534         xterm-rxvt-function-map (bug#20444).
7535         (xterm-standard-colors): Move before first use.
7536         (xterm--push-map): New function.
7537         (xterm-register-default-colors): Take standard colors as argument.
7538         (terminal-init-xterm): Use it.  Adjust call to
7539         xterm-register-default-colors.
7541 2015-05-11  Glenn Morris  <rgm@gnu.org>
7543         * lisp/term/x-win.el: Quieten --without-x compilation.
7544         (x-own-selection-internal, x-disown-selection-internal)
7545         (x-selection-owner-p, x-selection-exists-p, x-get-selection-internal):
7546         Declare.
7548         * Makefile.in (emacslog): Remove srcdir.
7549         (ChangeLog): Update for the above.
7551 2015-05-11  Paul Eggert  <eggert@cs.ucla.edu>
7553         Spelling fix
7555 2015-05-10  Fabián Ezequiel Gallina  <fgallina@gnu.org>
7557         python.el: better limit for looking-back calls
7558         * lisp/progmodes/python.el (python-shell-accept-process-output):
7559         Use last comint prompt start as limit for looking-back.
7561 2015-05-10  Stefan Monnier  <monnier@iro.umontreal.ca>
7563         CEDET (srecode-insert-fcn): Fix use of oref on a class
7564         * lisp/cedet/srecode/insert.el (srecode-insert-fcn): Fix use of oref on
7565         a class.  Reported by Pierre Lorenzon.
7566         (srecode-template-inserter-point): Remove declaration.
7568         CEDET (srecode-create-dictionary): Avoid obsolete object name
7569         * lisp/cedet/srecode/dictionary.el (srecode-create-dictionary):
7570         Don't use a symbol as an object name.  Reported by Pierre Lorenzon.
7572 2015-05-10  Paul Eggert  <eggert@cs.ucla.edu>
7574         C-x 8 shorthands for curved quotes, Euro, etc.
7575         Although C-x 8 lets you insert arbitrary Unicode characters,
7576         it's awkward to use this to insert commonly used symbols such as curved
7577         quotes, the Euro symbol, etc.  This patch adds simpler sequences for
7578         characters commonly found in English text and in basic math.
7579         For example, assuming the Alt key works on your keyboard and iso-transl
7580         is loaded, one can now type "A-[" instead of "A-RET LEFT SIN TAB RET"
7581         to get the character "‘" (U+2018 LEFT SINGLE QUOTATION MARK).
7582         (Bug#20499)
7583         * doc/emacs/mule.texi (Unibyte Mode):
7584         A few other printing characters now work too.
7585         * etc/NEWS: Document this.
7586         * lisp/international/iso-transl.el (iso-transl-char-map):
7587         Also support the following characters:
7588         ‐ ‑ ‒ – — ― ‘ ’ “ ” † ‡ • ′ ″ € № ← → ↔ − ≈ ≠ ≤ ≥
7590 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
7592         Add xref-find-regexp
7593         * lisp/progmodes/xref.el (xref-find-function): Describe the
7594         `matches' action.
7595         (xref-find-regexp): New command, using it.
7596         (xref-collect-references): Rename to xref-collect-matches.
7597         (xref--collect-reference): Rename to xref--collect-match.
7598         (xref-collect-matches, xref--collect-match): Accept new argument,
7599         KIND.  Update accordingly.
7600         (xref--regexp-to-extended): New function.
7601         * lisp/progmodes/elisp-mode.el (elisp-xref-find): Support the
7602         `matches' action.
7603         (elisp--xref-find-matches): Accept new argument.  Resolve a FIXME.
7604         * lisp/progmodes/etags.el (etags-xref-find):
7605         Support the `matches' action.
7606         (etags--xref-find-matches): New function.
7608 2015-05-10  Glenn Morris  <rgm@gnu.org>
7610         * Makefile.in: Fixes for recent change-history changes.
7611         (change-history-nocommit): Update footer regexp.
7612         Ensure output script stays executable.
7614 2015-05-10  Nicolas Petton  <nicolas@petton.fr>
7616         New version of `seq-let' based on a pcase pattern
7617         * lisp/emacs-lisp/seq.el (seq-let): Define the macro in terms of a
7618         pcase pattern if `pcase-defmacro' is defined (Emacs>=25.1).
7620 2015-05-10  Przemysław Wojnowski  <esperanto@cumego.com>
7622         Add basic HTML5 tags and a template
7623         * lisp/textmodes/sgml-mode.el: Basic HTML5 support.
7624         (html-tag-alist): Add HTML5 tags.
7625         (html-tag-help): Add new tags descriptions.
7626         (html-navigational-links): Template for nav links.
7627         (html-html5-template): Template for a HTML5 page.
7629 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
7631         semantic/symref/grep: Don't use word boundaries
7632         * lisp/cedet/semantic/symref/grep.el
7633         (semantic-symref-perform-search): Instead of wrapping input in
7634         word boundaries, check that the characters before and after are
7635         not word constituents.
7637         semantic/symref/grep: Support regexp search
7638         * lisp/cedet/semantic/symref.el
7639         (semantic-symref-hit-to-tag-via-buffer): Don't regexp-quote when
7640         the search type is regexp.
7641         * lisp/cedet/semantic/symref/grep.el
7642         (semantic-symref-perform-search): Support the regexp search type.
7643         Pass -E to Grep when it's used.
7645         semantic-symref-regexp: Allow to input an arbitrary string
7646         * lisp/cedet/semantic/symref/list.el (semantic-symref-regexp):
7647         Allow to input an arbitrary string interactively.
7649         Remove tag-symbol-match-p from etags-xref-find-definitions-tag-order
7650         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
7651         Remove tag-symbol-match-p from the default value
7652         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00292.html).
7654         Declare find-tag obsolete
7655         * lisp/progmodes/etags.el (find-tag): Declare obsolete in favor of
7656         xref-find-definitions.
7658 2015-05-10  Jan D  <jan.h.d@swipnet.se>
7660         Draw composite string correctly (Bug#20537).
7661         * nsterm.m (ns_draw_composite_glyph_string_foreground): New function.
7662         (ns_draw_glyph_string): Call it (Bug#20537).
7664 2015-05-09  Eli Zaretskii  <eliz@gnu.org>
7666         Avoid infloop in ERC
7667         * lisp/simple.el (line-move-to-column): Ignore field boundaries
7668         while computing line beginning position.  (Bug#20498)
7670 2015-05-08  Glenn Morris  <rgm@gnu.org>
7672         * Makefile.in (ChangeLog): No longer pass "srcprefix"; cd instead.
7673         * build-aux/gitlog-to-emacslog: Check called from right directory.
7674         (srcprefix): Remove.
7676         * build-aux/gitlog-to-emacslog: Get rid of "distprefix".
7677         * Makefile.in (ChangeLog): No longer pass "distprefix".
7678         * make-dist: Update "make ChangeLog" syntax for the above change.
7680         * build-aux/gitlog-to-emacslog: Don't hard-code "ChangeLog.2".
7681         * Makefile.in (ChangeLog): Pass -n to gitlog-to-emacslog.
7683         * build-aux/gitlog-to-emacslog: Add "for earlier changes" to footer.
7685         Add command-line option-parsing to gitlog-to-emacslog.
7686         * build-aux/gitlog-to-emacslog: Add command-line options.
7687         By default, refuse to remove an existing output file.
7688         * Makefile.in (CHANGELOG): Update default.
7689         (ChangeLog): Do not test for existing file.
7690         (change-history-nocommit): Ensure temp file does not exist.
7692         Quieten --without-x compilation.
7693         * lisp/term/common-win.el: Provide a feature.
7694         * lisp/term/x-win.el (term/common-win): Require it.
7696         * lisp/dired-aux.el (dired-do-print): Require lpr.
7698         Quieten compilation, eg in --without-x builds.
7699         * lisp/dired-aux.el (lpr-printer-switch):
7700         * lisp/frame.el (tool-bar-height):
7701         * lisp/linum.el (font-info):
7702         * lisp/window.el (font-info, overflow-newline-into-fringe)
7703         (tool-bar-height):
7704         * lisp/emacs-lisp/package-x.el (tar-data-buffer):
7705         * lisp/gnus/gnus-util.el (iswitchb-mode):
7706         * lisp/mail/rmailmm.el (libxml-parse-html-region):
7707         * lisp/net/nsm.el (gnutls-peer-status)
7708         (gnutls-peer-status-warning-describe):
7709         * lisp/net/shr.el (libxml-parse-xml-region):
7710         * lisp/url/url-http.el (gnutls-peer-status): Declare.
7712 2015-05-08  Stefan Monnier  <monnier@iro.umontreal.ca>
7714         CEDET (srecode-pop, srecode-peek): Don't use `subclass'
7715         * lisp/cedet/srecode/insert.el (srecode-pop, srecode-peek): Don't use
7716         `subclass' since they're never called with a class.
7717         (srecode-insert-method, srecode-insert-subtemplate): Avoid obsolete
7718         srecode-dictionary-child-p.
7720 2015-05-08  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
7722         help--binding-locus: Document argument POSITION.
7723         * lisp/help.el (help--binding-locus): Document argument POSITION. (bug#20530)
7725 2015-05-08  Paul Eggert  <eggert@cs.ucla.edu>
7727         Merge from gnulib.
7728         * doc/misc/texinfo.tex: Get latest version.
7730 2015-05-08  Oleh Krehel  <ohwoeowho@gmail.com>
7732         ffap.el (ffap-read-file-or-url): Fix completing-read call
7733         * lisp/ffap.el (ffap-read-file-or-url): The HIST argument of
7734           `completing-read' should be a symbol.
7736 2015-05-08  Eli Zaretskii  <eliz@gnu.org>
7738         Verify file modifications by other programs
7739         * src/filelock.c (lock_file): Check whether the file was modified
7740         since it was visited even if 'create-lockfiles' is nil.  (Bug#18828)
7742         Fix keyboard macros that include function keys
7743         * src/keyboard.c (read_char_minibuf_menu_prompt): Record function
7744         keys in the macro before returning.  (Bug#20454)
7746 2015-05-08  Glenn Morris  <rgm@gnu.org>
7748         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
7749         "Copyright-paperwork-exempt".  (Bug#20324)
7751         * lisp/vc/log-edit.el: Handle "(tiny change)".  (Bug#20324)
7752         (log-edit-rewrite-tiny-change): New variable.
7753         (log-edit-insert-changelog): Maybe add "Copyright-paperwork-exempt".
7754         (log-edit-changelog-ours-p): Set log-edit-author to a cons.
7755         * etc/NEWS: Mention this.
7757         * lisp/calc/calc.el (math-zerop): Declare.
7759         * lisp/emacs-lisp/eieio-opt.el (help-fns-short-filename): Declare.
7761 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
7763         * lisp/emacs-lisp/subr-x.el (if-let): Fix debug spec
7764         Support the case when BINDINGS is a single tuple.  (Bug#20525)
7766         * etc/NEWS: Fix typo in commit 14bb519
7768 2015-05-07  Jan D  <jan.h.d@swipnet.se>
7770         Warn for multiple display crash for all Gtk+ versions.
7771         * configure.ac: Warn for multiple display crash for all Gtk+
7772         versions.  Output URL to Gtk+ bug (Bug#20452).
7774         ns-win.el (ns-paste-secondary): Use gui-get-selection.
7775         * ns-win.el (ns-paste-secondary): Use gui-get-selection.
7777 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
7779         * lisp/emacs-lisp/package.el: New "external" package status
7780         An external package is any installed package that's not built-in
7781         and not from `package-user-dir', which usually means it's from an
7782         entry in `package-directory-list'.  They are treated much like
7783         built-in packages, in that they cannot be through the Package Menu
7784         deleted and are not considered for upgrades.
7785         (package-desc-status): Identify if a package is installed outside
7786         `package-user-dir'.
7787         (package-menu--print-info-simple)
7788         (package-menu--status-predicate): Add support for it.
7789         * etc/NEWS: Document it.
7791 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
7793         * lisp/mail/rmail.el: Use lexical-binding
7794         (rmail-bury): Remove unused var `buffer-to-bury'.
7795         (rmail-get-new-mail): Remove unused vars `opoint' and `success'.
7796         (rmail-parse-url): Remove unused var `proto', `user', and `host'.
7797         (rmail-unrmail-new-mail-maybe): Remove unused var `new-file'.
7798         (rmail-insert-inbox-text): Remove unused var `movemail'.
7799         (rmail-add-mbox-headers): Remove unused var `limit'.
7800         (rmail-undelete-previous-message): Remove unused var `value'.
7801         (rmail-reply): Remove unused vars `resent-to', `resent-cc',
7802         `resent-reply-to'.
7803         (rmail-mime-mbox-buffer, rmail-mime-view-buffer): Declare.
7804         (rmail-restore-desktop-buffer): Rename arguments.
7806 2015-05-06  Glenn Morris  <rgm@gnu.org>
7808         * Makefile.in (change-history-commit): Add missing piece of previous.
7810         Avoid unnecessary bumping of Makefile.in's timestamp.
7811         * Makefile.in (gen_origin): Move to gitlog-to-emacslog.
7812         (emacslog): New variable.
7813         (ChangeLog): Use $emacslog.  Don't pass $gen_origin.
7814         (unchanged-history-files): Use $emacslog rather than Makefile.in.
7815         (change-history-nocommit): Store hash in $emacslog.
7816         * build-aux/gitlog-to-emacslog (gen_origin): Move default here.
7817         * admin/update_autogen (changelog_files): Update for the above.
7819         * Makefile.in: Don't always insist on removing existing "ChangeLog".
7820         (CHANGELOG): New variable.
7821         (no-ChangeLog): Remove.
7822         (ChangeLog): Replace "no-ChangeLog"; pass output file to script.
7823         (change-history-nocommit): Use a temp file rather than insisting
7824         on deletion of any existing "ChangeLog".
7826         * build-aux/gitlog-to-emacslog: Allow specification of output.
7828         * admin/update_autogen: Add option to update ChangeLog.
7829         (usage): Mention -H.
7830         (changelog_flag, changelog_n, changelog_files): New variables.
7831         (main): Check for -H, and maybe run change-history-nocommit.
7833 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
7835         * lisp/subr.el (delete-dups): Pre-size the hashtable.
7837         (define-modify-macro): Make sure cl--arglist-args is defined
7838         * lisp/emacs-lisp/cl.el (define-modify-macro): Make sure
7839         cl--arglist-args is defined (bug#20517).
7841 2015-05-06  Glenn Morris  <rgm@gnu.org>
7843         * Makefile.in (change-history-nocommit): New.
7845 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
7847         Only cancel timer when it is non-nil
7848         * lisp/cedet/pulse.el (pulse-momentary-unhighlight): Only cancel
7849         timer when it is non-nil
7850         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00223.html).
7852 2015-05-06  Glenn Morris  <rgm@gnu.org>
7854         Quieten cedet compilation
7855         * lisp/cedet/semantic/db-el.el (semanticdb-elisp-sym->tag):
7856         Invert fboundp test to quieten on current Emacs.
7857         * lisp/cedet/ede/config.el (ede-shell-run-something)
7858         (semanticdb-file-table-object, semanticdb-needs-refresh-p)
7859         (semanticdb-refresh-table): Declare.
7860         (ede-preprocessor-map): Require semantic/db.
7862         Quieten cc-mode compilation
7863         * lisp/progmodes/cc-awk.el (c-forward-sws):
7864         * lisp/progmodes/cc-cmds.el (c-forward-subword, c-backward-subword):
7865         Declare.
7867 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
7869         lisp/subr.el (delete-dups): Avoid nreverse.
7871 2015-05-06  Artur Malabarba  <bruce.connor.am@gmail.com>
7873         * lisp/subr.el (delete-dups): Make it destructive again.
7875 2015-05-06  Paul Eggert  <eggert@cs.ucla.edu>
7877         * doc/lispref/sequences.texi (Sequence Functions): Fix quoting.
7879 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
7881         * lisp/emacs-lisp/testcover.el: Don't use edebug--read (bug#20487)
7882         * lisp/emacs-lisp/testcover.el: Use lexical-binding.
7883         (testcover--read): Rename from testcover-read.  Change calling convention.
7884         Use edebug-read-and-maybe-wrap-form now that edebug-read is gone.
7885         (testcover-start): Use add-function.  Move edebug-all-defs binding to
7886         testcover--read.
7887         (testcover-this-defun): Tighten scope of edebug-all-defs binding.
7888         (testcover-mark): Remove unused var `item'.
7889         * src/lread.c (syms_of_lread): Default load-read-function to `read'.
7891 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
7893         lisp/subr.el (delete-dups): Use a hash table
7894         * lisp/subr.el (delete-dups): When there are more than 100 candidates,
7895           use a hash table. This can result in ~500 times speed-up for typical
7896           collections of size 5000, like that of `load-library'.
7898 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
7900         CEDET: Avoid `oref' on classes in a few more cases
7901         * lisp/cedet/ede/generic.el (ede-find-target):
7902         * lisp/cedet/ede.el (ede-project-forms-menu): Avoid `oref' on classes.
7903         * lisp/cedet/semantic/bovine/gcc.el (semantic-gcc-setup): Remove unused
7904         var `prefix'.
7906         * lisp/cedet/semantic/symref/grep.el: Fix unused var warnings
7907         * lisp/cedet/semantic/symref/grep.el (grepflags, greppattern): Declare.
7908         (semantic-symref-perform-search): Remove unused var `pat'.
7910         CEDET (srecode-compile-inserter): Avoid `oref' on classes
7911         * lisp/cedet/srecode/compile.el (srecode-compile-inserter):
7912         Avoid `oref' on classes (bug#20491).
7913         (srecode-compile-split-code): Remove unused var `key'.
7915 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
7917         Clean up pulse.el a little
7918         * lisp/cedet/pulse.el (pulse): Remove.
7919         (pulse-momentary-timer): Save instead of the stop time.
7920         (pulse-momentary-highlight-overlay): Call
7921         pulse-momentary-unhighlight first thing. Treat
7922         pulse-momentary-overlay as a single value, not a list. Save the
7923         created timer. Only pass the stop time to the timer.
7924         (pulse-tick): Update accordingly.
7925         (pulse-momentary-unhighlight): Treat pulse-momentary-overlay as a
7926         single value. Cancel the timer.
7928 2015-05-06  Tassilo Horn  <tsdh@gnu.org>
7930         Support the biblatex journaltitle field
7931         * lisp/textmodes/reftex-cite.el (reftex-format-bib-entry):
7932         Support the biblatex journaltitle field.
7934 2015-05-05  Glenn Morris  <rgm@gnu.org>
7936         Minor declare-function improvement
7937         * lisp/emacs-lisp/bytecomp.el
7938         (byte-compile-macroexpand-declare-function):
7939         Handle declarations after calls.  (Bug#20509)
7941         * lisp/progmodes/js.el (js--optimize-arglist): Remove declaration.
7943         * lisp/w32-fns.el (w32-shell-name): Silence compiler.
7945 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
7947         Pulse using a timer
7948         * lisp/cedet/pulse.el (pulse-momentary-stop-time): New variable.
7949         (pulse-momentary-highlight-overlay): Set up the timer instead of
7950         calling `pulse'
7951         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/).
7952         (pulse-tick): New function.
7953         (pulse-momentary-unhighlight): Cut off the stop time.
7954         (pulse-delay): Update the docstring WRT to not using sit-for.
7956         Add semantic/symref/grep file patterns for ruby-mode
7957         * lisp/cedet/semantic/symref/grep.el
7958         (semantic-symref-filepattern-alist): Add patterns for
7959         ruby-mode. Clarify the docstring.
7961         Don't require match
7962         * lisp/progmodes/xref.el (xref--read-identifier): Don't require
7963         match. That doesn't work for every command, and some identifier
7964         completion tables are bound to be imperfect anyway.
7966 2015-05-05  Stefan Monnier  <monnier@iro.umontreal.ca>
7968         * lisp/cedet/semantic/grammar.el: Fix compiler warnings (bug#20505)
7969         (semantic-grammar--template-expand): New function.
7970         (semantic-grammar-header, semantic-grammar-footer): Use it.
7971         (semantic-grammar--lex-block-specs): Remove unused var `block-spec'.
7972         (semantic-grammar-file-regexp): Refine regexp.
7973         (semantic-grammar-eldoc-get-macro-docstring):
7974         Use elisp-get-fnsym-args-string when available.
7975         (semantic-idle-summary-current-symbol-info): Use new elisp-* names
7976         instead of the old eldoc-* names.
7977         * lisp/emacs-lisp/eldoc.el (eldoc-docstring-format-sym-doc): Move back
7978         from elisp-mode.el.  Tweak calling convention.
7979         * lisp/progmodes/elisp-mode.el (package-user-dir): Declare.
7980         (elisp-get-fnsym-args-string): Add `prefix' argument.  Rename from
7981         elisp--get-fnsym-args-string.
7982         (elisp--highlight-function-argument): Add `prefix' arg.
7983         (elisp-get-var-docstring): Rename from elisp--get-var-docstring.
7984         (elisp--docstring-format-sym-doc): Move back to eldoc.el.
7986 2015-05-05  Glenn Morris  <rgm@gnu.org>
7988         * lisp/help-fns.el (describe-function-1):
7989         Handle builtins with advertised calling conventions.  (Bug#20479)
7991 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
7993         Merge branch 'seq-let'
7995         Update `seq-let' documentation
7996         * doc/lispref/sequences.texi: Update the documentation of `seq-let'
7997         with the support of  `&rest'.
7999         Add support for &rest in `seq-let'
8000         * lisp/emacs-lisp/seq.el (seq--make-bindings): Add support for `&rest'
8001         in the argument list.
8002         * test/automated/seq-tests.el: Add a test for parsing and binding
8003         `&rest' in `seq-let'.
8005 2015-05-05  Paul Eggert  <eggert@cs.ucla.edu>
8007         Spelling fixes
8009 2015-05-05  (tiny change) Pierre Lorenzon  <devel@pollock-nageoire.net>
8011         * eieio-custom.el (eieio-object-value-get): Add missing increment
8012         (Bug#20467)
8014         (eieio-object-value-create): Adjust to new slots representation
8015         (Bug#20467)
8016         * eieio-custom.el (eieio-object-value-create):
8017         Fix missed adjustment to new representation of slots metadata.
8019 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
8021         * lisp/emacs-lisp/seq.el (seq--make-bindings): Improve the docstring.
8023 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
8025         Work around "Attempt to modify read-only object"
8026         * lisp/progmodes/elisp-mode.el (elisp--xref-format): Extract from
8027         elisp--xref-find-definitions, to work around "Attempt to modify
8028         read-only object" error.
8030         Only skip some variables that have function counterparts
8031         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
8032         Only skip minor-mode-named variable if it's defined in a Lisp
8033         file, and it's in minor-mode-list (bug#20506).
8034         * test/automated/elisp-mode-tests.el
8035         (elisp-xref-finds-both-function-and-variable)
8036         (elisp-xref-finds-only-function-for-minor-mode): New tests.
8038 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
8040         Buttonize the whole line, including the number at the beginning
8041         * lisp/progmodes/xref.el (xref--location-at-point): Revert the
8042         previous change.
8043         (xref--insert-xrefs): Buttonize the whole line, including the
8044         number at the beginning.
8046         Make sure we're inside the let bindings
8047         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
8048         Make sure we're inside the let bindings.
8049         * test/automated/elisp-mode-tests.el
8050         (elisp-completes-functions-after-let-bindings): New test.
8052 2015-05-04  Glenn Morris  <rgm@gnu.org>
8054         * lisp/cedet/semantic/grammar.el (eldoc-function-argstring)
8055         (eldoc-docstring-format-sym-doc, eldoc-last-data-store)
8056         (eldoc-get-fnsym-args-string, eldoc-get-var-docstring):
8057         Remove outdated declarations.
8059         Replace instances of "(eval-when-compile (autoload ...))"
8060         * lisp/gnus/gnus-art.el (nneething-get-file-name):
8061         Declare rather than autoload.
8062         * lisp/gnus/gnus-async.el (gnus-html-prefetch-images):
8063         Remove pointless autoload.
8064         * lisp/gnus/gnus-sync.el (gnus-group-topic): Autoload at run-time.
8065         (gnus-topic-create-topic, gnus-topic-enter-dribble):
8066         Declare rather than autoload.
8067         * lisp/gnus/mm-archive.el (gnus-recursive-directory-files)
8068         (mailcap-extension-to-mime): Autoload at run-time.
8069         * lisp/gnus/mm-util.el (latin-unity-massage-name)
8070         (latin-unity-maybe-remap, latin-unity-representations-feasible-region)
8071         (latin-unity-representations-present-region):
8072         Declare rather than autoload.
8073         * lisp/gnus/mml-smime.el (epg-make-context)
8074         (epg-passphrase-callback-function): Autoload at run-time.
8075         (epg-context-set-signers, epg-context-result-for)
8076         (epg-new-signature-digest-algorithm)
8077         (epg-verify-result-to-string, epg-list-keys, epg-verify-string)
8078         (epg-sign-string, epg-encrypt-string)
8079         (epg-context-set-passphrase-callback, epg-sub-key-fingerprint)
8080         (epg-configuration, epg-expand-group, epa-select-keys):
8081         Declare rather than autoload.
8082         * lisp/gnus/nnir.el (nnimap-change-group, nnimap-make-thread-query):
8083         Autoload at run-time.
8084         (gnus-group-topic-name, nnimap-buffer, nnimap-command)
8085         (gnus-registry-get-id-key, gnus-registry-action):
8086         Declare rather than autoload.
8087         * lisp/gnus/nnmail.el (mail-send-and-exit): Autoload at run-time.
8088         * lisp/gnus/spam.el (spam-stat-buffer-change-to-non-spam)
8089         (spam-stat-buffer-change-to-spam, spam-stat-buffer-is-non-spam)
8090         (spam-stat-buffer-is-spam, spam-stat-load, spam-stat-save)
8091         (spam-stat-split-fancy): Remove pointless autoloads.
8092         * lisp/net/mairix.el: Load gnus-util when compiling.
8093         (gnus-group-read-ephemeral-group, gnus-summary-toggle-header)
8094         (message-field-value): Declare rather than autoload.
8095         (mairix-gnus-ephemeral-nndoc, mairix-gnus-fetch-field):
8096         Check gnus-alive-p is fbound.
8097         (vm-quit, vm-visit-folder, vm-select-folder-buffer)
8098         (vm-check-for-killed-summary, vm-error-if-folder-empty)
8099         (vm-get-header-contents, vm-select-marked-or-prefixed-messages):
8100         Declare rather than autoload.
8102         * lisp/gnus/mm-view.el (epg-decrypt-string): Autoload.
8104         * lisp/gnus/mml-smime.el (epg-key-sub-key-list)
8105         (epg-sub-key-capability, epg-sub-key-validity): Fix declarations.
8107         * lisp/progmodes/elisp-mode.el (xref-collect-references): Declare.
8109         * lisp/emacs-lisp/debug.el (help-xref-interned): Update declaration.
8111         * lisp/allout.el (epg-user-id-string, epg-key-user-id-list):
8112         * lisp/emacs-lisp/package.el (epg-signature-status):
8113         Fix declarations.
8115         * lisp/play/gametree.el (gametree-show-children-and-entry)
8116         (gametree-apply-layout, gametree-mouse-show-subtree)
8117         (gametree-mouse-hide-subtree): Replace obsolete outline aliases.
8119         * lisp/emacs-lisp/check-declare.el (check-declare-verify):
8120         Handle cl-defgeneric, cl-defmethod.
8122 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
8124         Highlight both type and symbol name
8125         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
8126         Highlight both type and symbol name.
8128         Insert, highlight and align line numbers in xref output
8129         * lisp/progmodes/etags.el (xref-location-line): Specialize for
8130         xref-etags-location.
8131         * lisp/progmodes/xref.el (xref-location-line): New generic method.
8132         (xref-file-location): Add reader for the line slot.
8133         (xref--location-at-point): Skip to the `xref-location' property.
8134         (xref--collect-reference): Drop the line number from description.
8135         (xref--insert-xrefs): Insert, highlight and align line numbers.
8137 2015-05-04  Daniel Colascione  <dancol@dancol.org>
8139         Fix previous commit
8141 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
8143         Don't pulse the indentation, or the newline
8144         * lisp/cedet/pulse.el (pulse-lighten-highlight)
8145         (pulse-reset-face): Fall back to the inherited background
8146         attribute in FACE.
8147         (pulse-momentary-highlight-region): Add autoload cookie.
8148         * lisp/progmodes/xref.el (xref--maybe-pulse): Don't highlight the
8149         indentation, or the newline, if the line's non-empty
8150         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00118.html).
8152 2015-05-04  Daniel Colascione  <dancol@dancol.org>
8154         Add `save-mark-and-excursion', which has the old `save-excursion' behavior
8155         * doc/lispref/positions.texi (Excursions): Document
8156         `save-mark-and-excursion'.
8157         * lisp/font-lock.el (font-lock-fontify-block): Use
8158         `save-mark-and-excursion' instead of `save-excursion', restoring
8159         Emacs 24 behavior.
8160         * lisp/simple.el (save-mark-and-excursion--save)
8161         (save-mark-and-excursion--restore): New functions.
8162         (save-mark-and-excursion): New user macro.
8163         * src/editfns.c (Fsave_excursion): Mention
8164         `save-mark-and-excursion' in `save-excursion' documentation.
8166 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
8168         Classify lone symbol inside let varlist as variable
8169         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
8170         Classify lone symbol inside let varlist as variable.
8171         * test/automated/elisp-mode-tests.el (completest-variables-in-let-bindings):
8172         New test.
8174         Add xref-pulse-on-jump
8175         * lisp/cedet/pulse.el (pulse-momentary-highlight-one-line):
8176         Add autoload cookie.
8177         * lisp/progmodes/xref.el (xref-pulse-on-jump): New option.
8178         (xref--maybe-pulse): New function.
8179         (xref-pop-marker-stack, xref--pop-to-location)
8180         (xref--display-position): Use it.
8181         (xref--location-at-point): Use back-to-indentation.
8183 2015-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
8185         * lisp/org/org-{macs,list}.el: Fix lexical warnings
8186         * lisp/org/org-list.el (org-list-struct): Remove unused var `ind'.
8187         (org-list-get-next-item, org-list-get-prev-item)
8188         (org-list-get-children): Mark unused arg `struct'.
8189         (org-list-use-alpha-bul-p): Remove unused var `bul'.
8190         (org-toggle-checkbox): Mark unused var.
8191         (org-update-checkbox-count): Remove unused var `box-num'.
8192         (org-adapt-indentation): Declare.
8193         (org-list-parse-list): Declare var instead of adding a dummy duplicate.
8194         (org-list-send-list): Remove unused var `txt'.
8195         (org-list-to-latex, org-list-to-texinfo): Mark unused arg `params'.
8196         (org-list-to-subtree): Add prefix to dyn-bind var, and declare them.
8197         * lisp/org/org-macs.el: Use `declare'.
8198         (org-with-limited-levels): Declare dyn-bound vars.
8200 2015-05-04  Eli Zaretskii  <eliz@gnu.org>
8202         Fix minor issues with CEDET on MS-Windows
8203         * lisp/cedet/semantic/symref/idutils.el
8204         (semantic-symref-parse-tool-output-one-line): Fix the search
8205         regexp to match MS-Windows file names with drive letters.
8206         (Bug#19468)
8207         * lisp/cedet/semantic/symref/grep.el
8208         (semantic-symref-grep-use-template): Remove "--color=always" from
8209         Grep switches on MS-Windows.
8210         (semantic-symref-grep-shell): Use shell-file-name as the default
8211         value, so this works not only on Posix platforms.
8212         (semantic-symref-perform-search): Use shell-quote-argument instead
8213         of literal '..' for portable quoting of Grep command-line
8214         argument.  Use shell-command-switch instead of a literal "-c".
8215         * lisp/cedet/semantic/bovine/gcc.el
8216         (semantic-gcc-get-include-paths): Use file-name-absolute-p to test
8217         for an absolute file name in a portable way.
8219 2015-05-04  Artur Malabarba  <bruce.connor.am@gmail.com>
8221         * lisp/emacs-lisp/package.el: Remove `package--silence' variable
8222         (package-import-keyring, package-refresh-contents)
8223         (package-compute-transaction, package--save-selected-packages)
8224         (package-install-from-archive, package-delete)
8225         (package-menu--perform-transaction): Use `inhibit-message'
8226         instead.
8227         (package--compile): Set `warning-minimum-level' to :error.
8229 2015-05-03  Stefan Monnier  <monnier@iro.umontreal.ca>
8231         * lisp/term/screen.el (xterm-screen-extra-capabilities): New custom
8232         (terminal-init-screen): Use it (bug#20356).
8233         * lisp/term/xterm.el: Provide `term/xterm' instead of `xterm'.
8234         (xterm--extra-capabilities-type): New const.
8235         (xterm-extra-capabilities): Use it.
8236         (xterm--version-handler): Lower the pseudo-version for `screen'.
8238 2015-05-03  Dmitry Gutov  <dgutov@yandex.ru>
8240         xref--insert-xrefs: Tweak the faces
8241         * lisp/progmodes/xref.el (xref--insert-xrefs): Tweak the faces.
8242         Always insert a newline at the end (to avoid mouse-face background
8243         tail at the last line).
8245         elisp-completion-at-point: Prioritize being quoted over funpos
8246         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
8247         Only consider function position when not inside quoted form
8248         (bug#20425).
8249         * test/automated/elisp-mode-tests.el: New file.
8251         Stop vc-print-log from jumping to the top
8252         * lisp/vc/vc.el (vc-print-log-internal): Pass nil
8253         GOTO-LOCATION-FUNC to vc-log-internal-common when WORKING-REVISION
8254         is not specified.
8255         (vc-incoming-outgoing-internal): Always pass nil.
8256         (vc-log-internal-common): When GOTO-LOCATION-FUNC is nil, don't
8257         call it, and don't set vc-sentinel-movepoint (bug#15322).
8258         (vc-print-root-log): Don't fetch the root working revision, nor
8259         pass it to vc-print-log-internal.
8261 2015-05-02  Michael Vehrs  <Michael.Burschik@gmx.de>
8263         Fix display of keyboard layouts for right-to-left scripts
8264         * lisp/international/quail.el (quail-insert-kbd-layout): Force
8265         left-to-right paragraph direction.
8267 2015-05-02  K. Handa  <handa@gnu.org>
8269         * cmds.c (internal_self_insert): When we insert spaces for
8270         padding, set point before the padding spaces, not after them.
8272 2015-05-02  Nicolas Petton  <nicolas@petton.fr>
8274         * lisp/emacs-lisp/seq.el (seq-p): New alias to `sequencep'.
8276 2015-05-02  Dmitry Gutov  <dgutov@yandex.ru>
8278         Fix etags-xref-find for references
8279         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): Use `cl-mapcan'.
8280         * lisp/progmodes/etags.el (etags-xref-find): Ditto.  Prompt for
8281         directory if no tags tables are loaded (bug#19468).
8283 2015-05-02  Philipp Stephani  <phst@google.com>
8285         Update the options in whitespace-style defcustom
8286         * lisp/whitespace.el (whitespace-style): Use `set' instead of a
8287         `repeat' because the option is really set-like.  Add missing
8288         options.  Reorder options to match the order in the
8289         documentation.  (Bug#20346)
8291 2015-05-02  Eli Zaretskii  <eliz@gnu.org>
8293         Fix error diagnostics of c-macro-expand
8294         * lisp/progmodes/cmacexp.el (c-macro-expansion): Don't bail out
8295         too early if no start-marker string was found -- that generally
8296         means cpp exited abnormally, and we still want to show its error
8297         messages to the user.
8299         Don't require Texinfo 5.0 for Emacs documentation
8300         * doc/emacs/docstyle.texi: Use "@set txicodequoteundirected" and
8301         "@set txicodequotebacktick" instead of "@codequotebacktick on" and
8302         "@codequoteundirected on", respectively, to avoid requiring
8303         Texinfo 5.x for Emacs documentation.
8305 2015-05-01  Simen Heggestøyl  <simenheg@gmail.com>
8307         * lisp/files.el (pwd):
8308         When called with a prefix argument, insert the current default
8309         directory at point.
8311 2015-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>
8313         * lisp/isearch.el (isearch-mode-map): Allow backspace remapping
8314         * lisp/isearch.el (isearch-mode-map): Don't inhibit
8315         function-key-map remapping for backspace (bug#20466).
8317 2015-05-01  Dmitry Gutov  <dgutov@yandex.ru>
8319         Implement xref-find-references in etags and elisp-mode
8320         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): New function.
8321         (elisp-xref-find): Use it.
8322         * lisp/progmodes/etags.el (etags-xref-find): Use `xref-collect-references'.
8323         * lisp/progmodes/xref.el (xref-collect-references):
8324         (xref--collect-reference): New functions.
8326 2015-05-01  Paul Eggert  <eggert@cs.ucla.edu>
8328         Prefer plain characters to Texinfo circumlocutions
8329         For example, prefer 'François' to 'Fran\c{c}ois', 'Fran\c cois',
8330         'Fran@,{c}ois' or 'Francois' (all of which were used!) in Texinfo sources.
8332         Fix single-quoting style in PDF manuals
8333         The PDF versions of the GNU manuals used curved single quotes to
8334         represent grave accent and apostrophe, which made it a pain to cut
8335         and paste code examples from them.  Fix the PDF versions to use
8336         grave accent and apostrophe for Lisp source code, keystrokes, etc.
8337         This change does not affect the info files, nor does it affect
8338         ordinary uses of curved single quotes in PDF.
8339         * doc/emacs/docstyle.texi: New file, which specifies treatment for
8340         grave accent and apostrophe, as well as the document encoding.
8341         * doc/emacs/emacs-xtra.texi, doc/emacs/emacs.texi:
8342         * doc/lispintro/emacs-lisp-intro.texi:
8343         * doc/lispref/back.texi, doc/lispref/book-spine.texi:
8344         * doc/lispref/elisp.texi, doc/lispref/lay-flat.texi:
8345         * doc/misc/ada-mode.texi, doc/misc/auth.texi:
8346         * doc/misc/autotype.texi, doc/misc/bovine.texi, doc/misc/calc.texi:
8347         * doc/misc/cc-mode.texi, doc/misc/cl.texi, doc/misc/dbus.texi:
8348         * doc/misc/dired-x.texi, doc/misc/ebrowse.texi, doc/misc/ede.texi:
8349         * doc/misc/ediff.texi, doc/misc/edt.texi, doc/misc/efaq-w32.texi:
8350         * doc/misc/efaq.texi, doc/misc/eieio.texi, doc/misc/emacs-gnutls.texi:
8351         * doc/misc/emacs-mime.texi, doc/misc/epa.texi, doc/misc/erc.texi:
8352         * doc/misc/ert.texi, doc/misc/eshell.texi, doc/misc/eudc.texi:
8353         * doc/misc/eww.texi, doc/misc/flymake.texi, doc/misc/forms.texi:
8354         * doc/misc/gnus-coding.texi, doc/misc/gnus-faq.texi:
8355         * doc/misc/gnus.texi, doc/misc/htmlfontify.texi:
8356         * doc/misc/idlwave.texi, doc/misc/ido.texi, doc/misc/info.texi:
8357         * doc/misc/mairix-el.texi, doc/misc/message.texi, doc/misc/mh-e.texi:
8358         * doc/misc/newsticker.texi, doc/misc/nxml-mode.texi:
8359         * doc/misc/octave-mode.texi, doc/misc/org.texi, doc/misc/pcl-cvs.texi:
8360         * doc/misc/pgg.texi, doc/misc/rcirc.texi, doc/misc/reftex.texi:
8361         * doc/misc/remember.texi, doc/misc/sasl.texi, doc/misc/sc.texi:
8362         * doc/misc/semantic.texi, doc/misc/ses.texi, doc/misc/sieve.texi:
8363         * doc/misc/smtpmail.texi, doc/misc/speedbar.texi:
8364         * doc/misc/srecode.texi, doc/misc/todo-mode.texi, doc/misc/tramp.texi:
8365         * doc/misc/url.texi, doc/misc/vhdl-mode.texi, doc/misc/vip.texi:
8366         * doc/misc/viper.texi, doc/misc/widget.texi, doc/misc/wisent.texi:
8367         * doc/misc/woman.texi:
8368         Use it instead of '@documentencoding UTF-8', to lessen the need for
8369         global changes like this in the future.
8370         * doc/emacs/Makefile.in (EMACS_XTRA):
8371         * doc/lispintro/Makefile.in (srcs):
8372         * doc/lispref/Makefile.in (srcs):
8373         Add dependency on docstyle.texi.
8374         * doc/misc/Makefile.in (style): New macro.
8375         (${buildinfodir}/%.info, %.dvi, %.pdf, %.html)
8376         (${buildinfodir}/ccmode.info, ${buildinfodir}/efaq%.info, gnus_deps):
8377         Use it.
8379 2015-05-01  Glenn Morris  <rgm@gnu.org>
8381         * test/automated/cl-lib-tests.el (cl-lib-adjoin-test): Fix it.
8383         * lisp/emacs-lisp/pcase.el (get-edebug-spec, edebug-match)
8384         (help-fns--signature): Declare.
8386         * lisp/emacs-lisp/pcase.el (pcase--make-docstring): Require help-fns.
8388 2015-05-01  Nicolas Petton  <nicolas@petton.fr>
8390         New macro seq-let, providing destructuring support to seq.el
8391         * lisp/emacs-lisp/seq.el (seq-let): New macro.  `seq-let' is similar
8392         to `cl-destructuring-bind' but works on all sequence types supported
8393         by `seq.el'.  Bump version number to 1.6.
8394         * test/automated/seq-tests.el: Add tests for seq-let.
8395         * doc/lispref/sequences.texi: Add documentation for seq-let.
8397 2015-05-01  Pontus Michael  <m.pontus@gmail.com>
8399         * lisp/simple.el (blink-matching-open): Better behavior in minibuffer
8401 2015-05-01  Glenn Morris  <rgm@gnu.org>
8403         * lisp/emacs-lisp/ert.el (ert--special-operator-p): Fix previous.
8405 2015-05-01  Artur Malabarba  <bruce.connor.am@gmail.com>
8407         * lisp/emacs-lisp/bytecomp.el: Revert "Silence noninteractive compilations"
8408         This reverts commit 9a7ddde977378cb5276a81476ae458889c403267.
8409         This reverts commit 3c0ea587daf8b17960b90603a70e3ac4057d883d.
8410         With message: "* lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'".
8411         (Bug#20445).
8413 2015-05-01  K. Handa  <handa@gnu.org>
8415         * mule-cmds.el (input-method-use-echo-area): Change :type to
8416         'boolean.
8418 2015-05-01  Lars Magne Ingebrigtsen  <larsi@gnus.org>
8420         Start using proportional fonts in eww by default
8421         * lisp/net/shr.el (shr-use-fonts): Switch the default to t, since
8422         it seems to work well.
8424         Fix links in tables in shr
8425         * lisp/net/shr.el: Remove `shr-inhibit-decoration', because that
8426         makes (some) links in tables not work.
8428 2015-05-01  Jan D  <jan.h.d@swipnet.se>
8430         (ns-get-cut-buffer-internal): Remove this alias.
8431         * lisp/term/ns-win.el (ns-get-cut-buffer-internal): Remove this alias.
8433 2015-04-30  Glenn Morris  <rgm@gnu.org>
8435         * lisp/emacs-lisp/ert.el (ert--special-operator-p):
8436         Update for 2015-02-08 change to indirect-function.
8438         * lisp/term/ns-win.el (ns-get-selection-internal):
8439         Remove declaration for function deleted 2014-10-21.
8441         * lisp/dom.el: Load subr-x when compiling, for when-let.
8443         Silence some compilation warnings
8444         * lisp/emacs-lisp/check-declare.el (compilation-forget-errors):
8445         * lisp/emulation/cua-base.el (delete-active-region):
8446         * lisp/net/net-utils.el (w32-get-console-output-codepage):
8447         * lisp/term/ns-win.el (ns-own-selection-internal)
8448         (ns-disown-selection-internal, ns-selection-owner-p)
8449         (ns-selection-exists-p, ns-get-selection):
8450         Declare for compiler..
8452         Function declaration updates prompted by 'make check-declare'
8453         * lisp/emacs-lisp/package.el (lm-homepage):
8454         * lisp/gnus/gnus-util.el (iswitchb-read-buffer):
8455         * lisp/gnus/mm-decode.el (libxml-parse-html-region):
8456         * lisp/gnus/mml.el (libxml-parse-html-region):
8457         * lisp/gnus/nnrss.el (libxml-parse-html-region):
8458         * lisp/net/eww.el (libxml-parse-html-region):
8459         * lisp/net/shr.el (libxml-parse-html-region):
8460         * lisp/vc/vc-bzr.el (vc-annotate-convert-time):
8461         * lisp/vc/vc-cvs.el (vc-annotate-convert-time):
8462         * lisp/vc/vc-git.el (vc-annotate-convert-time):
8463         * lisp/vc/vc-hg.el (vc-annotate-convert-time):
8464         * lisp/vc/vc-mtn.el (vc-annotate-convert-time):
8465         * lisp/vc/vc-rcs.el (vc-annotate-convert-time):
8466         Update declaration.
8468         Remove compatibility code for 20-year old function renaming
8469         * lisp/progmodes/idlw-shell.el (idlwave-shell-comint-filter):
8470         Make it an obsolete alias.
8471         (idlwave-shell-filter): Change all uses to comint-output-filter.
8473 2015-04-30  Tassilo Horn  <tsdh@gnu.org>
8475         Add ace-window face config
8476         * etc/themes/tsdh-light-theme.el (tsdh-light): Add ace-window face
8477         configuration.
8479 2015-04-30  Paul Eggert  <eggert@cs.ucla.edu>
8481         Unclutter 'make doc' output a bit
8482         * Makefile.in ($(DOCS), $(INSTALL_DOC), $(UNINSTALL_DOC)):
8483         Use make subst rather than sh IFS to split target string apart.
8484         This makes 'make' output easier to follow.
8486         Merge from gnulib
8487         * doc/misc/texinfo.tex: Update from gnulib.
8489 2015-04-30  Artur Malabarba  <bruce.connor.am@gmail.com>
8491         * lisp/emacs-lisp/package.el: Some speed optimizations on menu refresh
8492         (package-menu--print-info): Obsolete.
8493         (package-menu--print-info-simple): New function.
8494         (package-menu--refresh): Use it, simplify code, and improve
8495         performance.
8496         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
8497         Tiny performance improvement.
8499         * lisp/emacs-lisp/package.el (package--message): inhibit-message
8501 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
8503         Omit -Wstrict-overflow workaround in GCC 5
8504         * src/process.c: Remove workaround for GCC -Wstrict-overflow bug
8505         if it's GCC 5 or later, as the bug appears to be fixed in GCC 5.1.
8507         Merge from gnulib
8508         This incorporates:
8509         2015-04-29 extern-inline: no need for workaround in GCC 5.1
8510         2015-04-26 file-has-acl: port to CentOS 6
8511         * m4/acl.m4, m4/extern-inline.m4: Update from gnulib.
8513 2015-04-29  Helmut Eller  <eller.helmut@gmail.com>
8515         Set next-error-* in xref--xref-buffer-mode
8516         * xref.el (xref--xref-buffer-mode): Set `next-error-function' and
8517         `next-error-last-buffer'.
8518         (xref--next-error-function): New function.
8519         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01311.html)
8521 2015-04-29  Fabián Ezequiel Gallina  <fgallina@gnu.org>
8523         python.el: Fix warnings on looking-back calls missing LIMIT
8524         * lisp/progmodes/python.el (python-shell-accept-process-output):
8525         Pass LIMIT arg to looking-back.
8527 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
8529         * lisp/emacs-lisp/package.el: Use pushnew for downloads in progress
8530         (package--download-and-read-archives): Use pushnew instead of
8531         append.  If something terrible happened during a previous
8532         download, simply refreshing should now make things work again.
8534 2015-04-29  Dmitry Gutov  <dgutov@yandex.ru>
8536         Introduce etags-xref-find-definitions-tag-order
8537         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
8538         New variable.
8539         (etags--xref-find-definitions): Use it (bug#19468).
8541 2015-04-29  Eli Zaretskii  <eliz@gnu.org>
8543         PATH- and completion-related fixes in Eshell on MS-Windows
8544         * lisp/eshell/esh-ext.el (eshell-search-path): When running on
8545         MS-Windows, prepend "." to list of directories produced from PATH,
8546         as Windows always implicitly searches the current directory first.
8547         (eshell-force-execution): Make it have a non-nil default value on
8548         MS-Windows and MS-DOS.
8549         * lisp/eshell/em-cmpl.el (eshell-complete-commands-list): If
8550         eshell-force-execution is non-nil, complete on readable files and
8551         directories, not only executables.  When running on MS-Windows,
8552         prepend "." to list of directories produced from PATH, as Windows
8553         always implicitly searches the current directory first.
8555 2015-04-29  Sam Steingold  <sds@gnu.org>
8557         bury RCIRC buffers when there is no activity
8558         lisp/net/rcirc.el (rcirc-non-irc-buffer): remove
8559         (rcirc-bury-buffers): new function
8560         (rcirc-next-active-buffer): when there is no new activity, use
8561         `rcirc-bury-buffers' to hide all RCIRC buffers
8563 2015-04-29  Krzysztof Jurewicz  <krzysztof.jurewicz@gmail.com>  (tiny change)
8565         Fix DBUS query result parsing for secrets-search-items
8566         * lisp/net/secrets.el (secrets-search-items): Fix DBUS query result
8567         parsing.  The function assumed that return value of the
8568         SearchItems method called on a collection is a list of two lists,
8569         however this is true only when no collection is specified.  GNOME
8570         had used to incorrectly return a list of two lists in both cases,
8571         but this was already fixed:
8572         https://bugzilla.gnome.org/show_bug.cgi?id=695115 .  Also fix an
8573         incorrect information in the secrets-search-items’ docstring.
8574         (Bug#20449)
8576 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
8578         * lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'
8579         (byte-compile--message): Use `inhibit-message' instead of hiding
8580         the previous message with (message nil).
8582 2015-04-29  Oleh Krehel  <ohwoeowho@gmail.com>
8584         Remove the deprecated INTERNAL_FIELD macro by expanding it
8585         * src/lisp.h (INTERNAL_FIELD): Remove.
8586         (DEFVAR_KBOARD): Modify accordingly.
8587         * alloc.c, buffer.c, buffer.h, category.c, keyboard.c, keyboard.h:
8588         * syntax.c: Adjust users.
8589         * src/buffer.c (compact_buffer): Use BVAR.
8591 2015-04-29  Glenn Morris  <rgm@gnu.org>
8593         Replace an obsolete function alias
8594         * lisp/isearch.el (isearch-yank-x-selection):
8595         * lisp/mouse-copy.el (mouse-drag-secondary-pasting)
8596         (mouse-drag-secondary-moving):
8597         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
8598         Replace obsolete alias x-get-selection with gui-get-selection.
8600 2015-04-29  Stefan Monnier  <monnier@iro.umontreal.ca>
8602         * lisp/mail/rmailsum.el: Use lexical-binding.
8604 2015-04-29  Glenn Morris  <rgm@gnu.org>
8606         * test/automated/package-test.el (package-test-update-archives-async):
8607         Skip test on hydra.nixos.org.
8609 2015-04-28  Glenn Morris  <rgm@gnu.org>
8611         * lisp/foldout.el: Update for 2015-01-30 outline.el changes.
8612         (foldout-zoom-subtree, foldout-exit-fold, foldout-mouse-show)
8613         (foldout-mouse-hide-or-exit): Use new names for outline functions.
8615         * lisp/cedet/semantic/bovine/c.el (semantic-c-do-lex-if):
8616         Update for 2014-06-26 hideif.el change.
8618         * lisp/mail/rmailsum.el: Fix search for encoded subjects.  (Bug#19088)
8619         (rmail--decode-and-apply): New function.
8620         (rmail-message-regexp-p-1, rmail-message-subject-p): Use it.
8622         * lisp/mail/rmail.el (rmail-highlighted-headers): Fix :type.
8624 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
8626         * lisp/emacs-lisp/package.el: Fix priority-hiding corner case
8627         (package-menu--refresh): Delegate obsolete-hiding to
8628         `package--remove-hidden'.
8629         (package--remove-hidden): Disregard high-priority package if it is
8630         older than the installed one.
8632 2015-04-28  Paul Eggert  <eggert@cs.ucla.edu>
8634         Update source file encoding list
8635         Update admin/notes/unicode, along with coding system cookies in
8636         other files, so that the two match each other better.
8637         * admin/notes/unicode: lisp/language/ethio-util.el and
8638         lisp/language/ethiopic.el also use utf-8-emacs.
8639         * admin/notes/hydra, doc/misc/dbus.texi, doc/misc/org.texi:
8640         * doc/misc/remember.texi, etc/refcards/cs-dired-ref.tex:
8641         * etc/refcards/cs-refcard.tex, etc/refcards/cs-survival.tex:
8642         * etc/refcards/sk-dired-ref.tex, etc/refcards/sk-refcard.tex:
8643         * etc/refcards/sk-survival.tex:
8644         Add "coding: utf-8" so that this file is not mishandled in a
8645         Latin-1 or Big-5 locale.
8646         * lisp/international/robin.el, lisp/org/ox-ascii.el:
8647         Specify utf-8, not utf-8-emacs, as these are plain UTF-8 files.
8648         * lisp/language/ethio-util.el: Fix trailer.
8650 2015-04-28  Eli Zaretskii  <eliz@gnu.org>
8652         Fix synchronous invocation of Ispell
8653         * lisp/textmodes/ispell.el (ispell-init-process): Assign a non-nil
8654         value to ispell-process-directory before calling ispell-init-process.
8655         Don't call set-process-coding-system if ispell-async-processp is nil.
8656         (Bug#20448)
8658 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
8660         * lisp/emacs-lisp/package.el: Skip space and comments in init file
8661         (package--ensure-init-file): Insert snippet at first
8662         non-whitespace non-comments line.  Respects local-vars at the top
8663         of the file.
8665 2015-04-28  Glenn Morris  <rgm@gnu.org>
8667         * lisp/mail/rmail.el (rmail-copy-headers):
8668         Handle rmail-nonignored-headers being nil.  (Bug#18878)
8670         * lisp/subr.el (delay-mode-hooks): Fix doc typo.
8672         * lisp/vc/vc-bzr.el (vc-bzr-after-dir-status):
8673         Don't get confused by a bzrlib version mismatch warning.
8675 2015-04-27  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
8677         Change default location of EUDC options file
8678         * NEWS: Document change to EUDC options file's default location.
8679         * lisp/net/eudc-vars.el (eudc-options-file): Use
8680         `locate-user-emacs-file' to change default options file location.
8682 2015-04-27  Glenn Morris  <rgm@gnu.org>
8684         * test/automated/package-test.el (package-test-update-archives-async):
8685         Try to handle the test server script dying.
8687 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
8689         * lisp/saveplace.el (save-place-mode): New minor mode.
8690         (save-place): Redefine as an obsolete alias.
8692         * lisp/midnight.el: Make it a minor mode.  Allow predicates.
8693         * lisp/midnight.el: Use lexical-binding.
8694         (midnight-mode): Make it a proper minor mode.
8695         (midnight-buffer-display-time): Make arg non-optional.
8696         (midnight-find): Remove.
8697         (clean-buffer-list-kill-never-regexps)
8698         (clean-buffer-list-kill-regexps): Tweak type for new function choice.
8699         (clean-buffer-list-delay): Allow clean-buffer-list-kill-regexps to
8700         contain functions.
8701         (clean-buffer-list): Use cl-find.
8702         Allow clean-buffer-list-kill-never-regexps to contain functions.
8704 2015-04-27  Nicolas Petton  <nicolas@petton.fr>
8706         Bump version of seq.el to 1.5
8707         * lisp/emacs-lisp/seq.el (seq-doseq): Remove undocumented return value
8708           from seq-doseq.  Bump version number of seq.el.
8710 2015-04-27  Glenn Morris  <rgm@gnu.org>
8712         * lisp/mail/rmail.el (rmail-reply):
8713         Decode subject before matching "Re:" prefix.  (Bug#20396)
8715 2015-04-27  Artur Malabarba  <bruce.connor.am@gmail.com>
8717         * lisp/emacs-lisp/package.el: Small improvements
8718         (package--with-work-buffer-async): More informative error.
8719         (package-install-user-selected-packages): Rename to
8720         `package-install-selected-packages'.
8722 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
8724         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last
8725         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last change.
8726         (eieio--class-make): Remove leftover `tag'.
8728 2015-04-27  Glenn Morris  <rgm@gnu.org>
8730         * lisp/gnus/message.el (gnus-extract-address-components):
8731         Remove bogus declaration that was masking previous problem.
8733 2015-04-27  Nicolas Graner  <nicolas.graner@u-psud.fr>  (tiny change)
8735         * lisp/gnus/message.el (message-insert-formatted-citation-line):
8736         Fix typo.  (Bug#20318)
8738 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
8740         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Reuse oldc.
8742         * lisp/textmodes/reftex-toc.el: Improve multi-frame behavior
8743         * lisp/textmodes/reftex-toc.el (reftex-toc-revert): Avoid displaying
8744         the buffer in yet another frame.
8745         (reftex-toc-visit-location): Make sure toc-window has focus at the end
8746         when `final' is nil.
8747         (reftex--rebuilding-toc): Defvar to avoid `boundp' and
8748         silence warnings.  Use `--' to clarify that it's internal.
8749         (reftex-toc-next, reftex-toc-previous, reftex-toc-demote)
8750         (reftex-toc-promote): Clarify unused argument.
8751         (reftex--pro-or-de, reftex--start-line, reftex--mark-line):
8752         Add `reftex--' prefix.  Fix all users.
8753         (reftex-toc-promote-prepare): Use _ for dummy variable.
8754         (reftex-toc-restore-region): Rename `m
8756 2015-04-27  Eli Zaretskii  <eliz@gnu.org>
8758         Fix a typo in bibtex.el
8759         * lisp/textmodes/bibtex.el (bibtex-insert-kill): Fix a typo from
8760         last change.  (Bug#20429)
8762         Fix redisplay of frame after loading new fonts
8763         * src/xdisp.c (redisplay_internal): When retrying redisplay of a
8764         frame because new fonts were loaded, disable all redisplay
8765         optimizations on that frame by calling SET_FRAME_GARBAGED.
8766         (Bug#20410)
8768 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
8770         * lisp/info.el (Info-menu): Properly provide the `default'
8771         (Bug#20391)
8773         * elisp-mode.el: Catch errors from `documentation'
8774         (Bug#20418)
8775         * lisp/progmodes/elisp-mode.el (elisp--get-fnsym-args-string):
8776         Catch errors from documentation.
8777         (emacs-lisp-mode-abbrev-table): Remove redundant defvar.
8779 2015-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>
8781         lisp/emacs-lisp/package.el: Move variables to silence byte-compiler
8782         Remove redundant ":group 'package".
8784 2015-04-26  Eli Zaretskii  <eliz@gnu.org>
8786         Fix a typo in rmail.el
8787         * lisp/mail/rmail.el (rmail-ensure-blank-line): Fix a typo in the
8788         last commit.  (Bug#20429)
8790 2015-04-26  Dmitry Gutov  <dgutov@yandex.ru>
8792         Introduce xref-prompt-for-identifier
8793         * lisp/progmodes/xref.el (xref-prompt-for-identifier): New option.
8794         (xref--read-identifier): Use it
8795         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01205.html).
8797 2015-04-26  João Távora  <joaotavora@gmail.com>
8799         `tex-insert-quote' after single `'' opens quotes instead of closing
8800         Without this, it's very hard to precede double quotes with the
8801         apostrophe character, i.e. insert the sequence '``
8802         (quote-backquote-backquote), commonly useful in portuguese, for
8803         instance.
8804         * tex-mode.el (tex-insert-quote): Add ?' to the list of preceding
8805         chars making `tex-insert-quote' be in the "opening" context.
8807 2015-04-25  Dmitry Gutov  <dgutov@yandex.ru>
8809         Pass `id' to `completing-read' as def instead of initial input
8810         * xref.el (xref--read-identifier): Pass `id' to `completing-read'
8811         as the default value instead of initial input
8812         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01182.html).
8814 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
8816         Don't freeze with unreadable processes
8817         Don't freeze if an exiting process can't be read from. (Bug#19860).
8818         This fixes a bug I introduced in
8819         2014-07-08T07:24:07Z@eggert@cs.ucla.edu
8820         "* process.c: Add sanity checks for file descriptors."
8821         Dmitry Gutov did most of the legwork in finding the problem.
8822         * src/process.c (wait_reading_process_output):
8823         Treat non-running processes that can't be read from
8824         the same as other non-running processes.
8826 2015-04-25  Alan Mackenzie  <acm@muc.de>
8828         Fix change from 2015-04-22 "On C-y, stop some text property entries ..."
8829         * lisp/subr.el (remove-yank-excluded-properties): put
8830         `with-silent-modifications' around only the last three lines of code.
8832 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
8834         * lisp/emacs-lisp/package.el (package-all-keywords): Don't cache
8835         (package--all-keywords): Deleted variable.
8837         * etc/NEWS: Document package-hiding functionality
8839 2015-04-25  Eli Zaretskii  <eliz@gnu.org>
8841         lisp/window.el (recenter-last-op): Doc fix.  (Bug#20419)
8843         Clarify the doc string of 'replace-regexp-in-string'
8844         * lisp/subr.el (replace-regexp-in-string): Doc fix.  (Bug#20395)
8846         Improve doc string of 'insert-buffer-substring'
8847         * src/editfns.c (Finsert_buffer_substring): Doc fix.  (Bug#20421)
8849         MS-Windows followup for the recent gnulib update
8850         * nt/gnulib.mk (libgnu_a_SOURCES): Replace file-has-acl.c with
8851         acl-internal.c.
8853 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
8855         Spelling fixes
8857         Merge from gnulib
8858         This incorporates:
8859         2015-04-24 file-has-acl: new module, split from acl
8860         2015-04-24 manywarnings: add GCC 5.1 warnings
8861         2015-04-21 lstat: fix cross-compilation 'ln -s' problem
8862         2015-04-15 qacl: Simplify HP-UX acl_nontrivial check
8863         2015-04-15 acl: On Linux, check for acls without libacl
8864         2015-04-14 tempname: avoid unused parameter warnings (trivial)
8865         * lib/acl-internal.c: New file, from gnulib.
8866         * lib/file-has-acl.c: Remove; no longer imported from gnulib.
8867         * lib/acl-internal.h, lib/gnulib.mk, lib/qcopy-acl.c, lib/tempname.c:
8868         * m4/acl.m4, m4/gnulib-comp.m4, m4/lstat.m4, m4/manywarnings.m4:
8869         Update from gnulib.
8871         Port --enable-gcc-warnings to GCC 5.1 x86-64
8872         * lib-src/ebrowse.c (dump_sym):
8873         * lib-src/hexl.c (main):
8874         * src/ccl.c (ccl_driver):
8875         * src/character.c (string_escape_byte8):
8876         * src/dbusbind.c (xd_retrieve_arg, xd_add_watch):
8877         * src/gnutls.c (Fgnutls_boot):
8878         * src/gtkutil.c (xg_check_special_colors):
8879         * src/image.c (x_build_heuristic_mask):
8880         * src/print.c (safe_debug_print, print_object):
8881         * src/term.c (produce_glyphless_glyph):
8882         * src/xdisp.c (get_next_display_element)
8883         (produce_glyphless_glyph):
8884         * src/xterm.c (x_draw_glyphless_glyph_string_foreground):
8885         Don't use a signed format to print an unsigned integer, or vice
8886         versa.  GCC 5.1's new -Wformat-signedness option warns about this.
8887         * src/image.c (png_load_body, jpeg_load_body):
8888         Silence a bogus setjump diagnostic from GCC 5.1 (GCC bug 54561).
8890 2015-04-24  Tassilo Horn  <tsdh@gnu.org>
8892         Add new faces to tsdh-light-theme
8893         * etc/themes/tsdh-light-theme.el (tsdh-light): New face
8894         definitions for Info-quoted, ace-jump-face-foreground,
8895         hl-paren-face, show-paren-match, and show-paren-mismatch.
8897 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
8899         * lisp/emacs-lisp/seq.el (seq-doseq): Fix the macro.
8901 2015-04-24  Glenn Morris  <rgm@gnu.org>
8903         * build-aux/gitlog-to-emacslog:
8904         Use raw log format rather than wrapped one.
8906 2015-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>
8908         * lisp/emacs-lisp/seq.el (seq-doseq): Tighten the code
8909         (seq-doseq): Fix out-of-scope binding.
8910         Don't call `seq-length at every iteration.
8911         Reduce `if's from 3 to 2 per iteration.
8912         (emacs-lisp-mode-hook): Don't tweak in Emacs≥25.
8914 2015-04-24  Glenn Morris  <rgm@gnu.org>
8916         * lisp/textmodes/text-mode.el (text-mode-hook):
8917         Move text-mode-hook-identify to default.
8919         * lisp/mouse.el (minor-mode-menu-from-indicator):
8920         Handle non-function members of minor-mode-map-alist.  (Bug#20201)
8922         * lisp/help-fns.el (describe-function): More type checking.
8923         (describe-function-1): Handle changed symbol-function.  (Bug#20201)
8925         * build-aux/gitlog-to-emacslog: Convert "Fixes:" to "(Bug#)".
8926         (Bug#20325)
8928 2015-04-24  Andreas Schwab  <schwab@linux-m68k.org>
8930         shr: strip leading whitespace when expanding URLs
8931         * lisp/net/shr.el (shr-expand-url): Strip leading whitespace from URL.
8933 2015-04-24  Eli Zaretskii  <eliz@gnu.org>
8935         Clarify "co-authored" some more
8937         * CONTRIBUTE: Clarify "co-authored-by".  (Bug#20400)
8939         Clarify doc strings of functions that search for properties
8940         * src/textprop.c (Fnext_char_property_change)
8941         (Fprevious_char_property_change)
8942         (Fnext_single_char_property_change)
8943         (Fprevious_single_char_property_change, Fnext_property_change)
8944         (Fnext_single_property_change, Fprevious_property_change)
8945         (Fprevious_single_property_change): Clarify doc strings wrt return
8946         value and the optional LIMIT argument.  (Bug#20411)
8948 2015-04-24  Glenn Morris  <rgm@gnu.org>
8950         * test/automated/message-mode-tests.el (message-mode-propertize):
8951         Handle non-writable HOME; eg on hydra.nixos.org.
8953 2015-04-23  Eli Zaretskii  <eliz@gnu.org>
8955         Avoid starting threads by w32-shell-execute
8956         * src/w32fns.c (Fw32_shell_execute): Convert "file:///" URLs into
8957         local file names, before invoking ShellExecute.  (Bug#20220)
8959 2015-04-23  Martin Rudalics  <rudalics@gmx.at>
8961         Fix following doc-links in `widget-documentation-link-action'
8962         * lisp/wid-edit.el (widget-documentation-link-action): Make
8963         following doc-links less simplistic (Bug#20398).
8965 2015-04-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
8967         Improve EUDC manual
8968         * eudc.texi (Troubleshooting): New LDAP troubleshooting subsection.
8970 2015-04-22  Paul Eggert  <eggert@cs.ucla.edu>
8972         Omit needless "\ " after multibyte then newline
8973         * src/print.c: Include <c-ctype.h>, for c_isxdigit.
8974         (print_object): When print-escape-multibyte is non-nil and a
8975         multibyte character is followed by a newline or formfeed, followed
8976         by a hex digit, don't output a needless "\ " before the hex digit.
8977         * test/automated/print-tests.el (print-hex-backslash): New test.
8979 2015-04-22  Oleh Krehel  <ohwoeowho@gmail.com>
8981         Add a new `inhibit-message' variable
8982         * src/xdisp.c (syms_of_xdisp): Define a boolean `inhibit_message'.
8983         (message3): Don't call `message3_nolog' (i.e. use the Echo Area) when
8984         `inhibit_message' is non-zero.
8985         * etc/NEWS: Add an entry.
8986         * doc/lispref/display.texi: Add an entry for `inhibit-message',
8987           mention it in `message'.
8989 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
8991         Fix last fix in `display-buffer-record-window'.
8992         * lisp/window.el (display-buffer-record-window): Fix last fix.
8994 2015-04-22  Eli Zaretskii  <eliz@gnu.org>
8996         Minor edits in CONTRIBUTE
8997         * CONTRIBUTE: Rearrange instructions about log messages.
8998         Use "Git" capitalized all over.
8999         Use 2 spaces between sentences.
9001 2015-04-22  Artur Malabarba  <bruce.connor.am@gmail.com>
9003         * lisp/files.el (basic-save-buffer): Fix argument
9005         * lisp/cus-edit.el (custom-file): Consider init-file-had-error
9006         In case `(and (null custom-file) init-file-had-error)' do the same
9007         thing we'd do if `(null user-init-file)', which is to either error out
9008         or return nil.  This is in line with `custom-save-all' which would
9009         throw an error in that situation. (bug#20355)
9011         * lisp/emacs-lisp/package.el: Hide lower-priority packages in menu
9012         (package-menu-hide-low-priority): New variable, see its doc.
9013         (package-archive-priorities): Update doc.
9014         (package-desc-priority): New function.
9015         (package-desc-priority-version): Use it.
9016         (package--remove-hidden): New function.
9017         (package-menu--refresh): Use it.
9019         * lisp/emacs-lisp/package.el: Implement displaying obsolete packages
9020         (package-menu--hide-obsolete): New variable.
9021         (package--remove-hidden): Use it.
9022         (package-menu-hide-obsolete): New interactive function to toggle
9023         the variable.
9024         (package--quick-help-keys): Document it.
9025         (package-menu-async): Add :version tag.
9026         (package-menu-mode-map): Bind package-menu-hide-obsolete.
9027         (package-desc-status): Indicate non-installed obsolete packages as
9028         avail-obso.
9029         (package-menu-mark-install): Allow installation of avail-obso.
9030         (package-menu--status-predicate): Sort avail-obso with available.
9032 2015-04-22  Alan Mackenzie  <acm@muc.de>
9034         On C-y, stop some text property entries being written into buffer-undo-list
9035         lisp/subr.el (remove-yank-excluded-properties): enclose the code in
9036         `with-silent-modifications'.
9038 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
9040         In display-buffer-record-window record selected window if necessary.
9041         * lisp/window.el (display-buffer-record-window): Store selected window
9042         if it differs from 3rd element of 'quit-restore' parameter (Bug#20353).
9044 2015-04-22  Tassilo Horn  <tsdh@gnu.org>
9046         Fix reftex-citation bug
9047         * reftex-cite.el (reftex-extract-bib-entries): Fix
9048         `wrong-type-argument stringp nil' error that occurs when AUCTeX
9049         integration is enabled and there are no citations in the document
9050         so far.
9052 2015-04-21  Dmitry Gutov  <dgutov@yandex.ru>
9054         Add or reset based on the presence of MERGE_HEAD
9055         * lisp/vc/vc-git.el (vc-git-find-file-hook): Add
9056         `vc-git-resolve-when-done' to `after-save-hook' in either case.
9057         (vc-git-conflicted-files): Add a TODO.
9058         (vc-git-resolve-when-done): Depending on the presence of
9059         MERGE_HEAD, either update the resolved file in the index, or
9060         remove it from there.  (Bug#20292)
9062 2015-04-21  Glenn Morris  <rgm@gnu.org>
9064         * lisp/custom.el (custom-declare-group): No need to purecopy
9065         custom-current-group-alist members following recent change to set
9066         it to nil before dumping.
9068         * build-aux/gitlog-to-emacslog: Get footer from ChangeLog.2.
9069         (Bug#20399)
9071 2015-04-21  Daniel Colascione  <dancol@dancol.org>
9073         Unbreak no-op buffer save message
9074         * lisp/files.el (save-buffer): Pass interactive flag to `basic-save-buffer`
9075         (basic-save-buffer): Accept called-interactively as an argument instead of
9076         directly invoking called-interactively-p, which will always yield nil
9077         in that context.
9079 2015-04-21  Alan Mackenzie  <acm@muc.de>
9081         CC Mode: Do nothing in before/after-change-functions for text property changes
9082         Fixes bug#20266.
9083         lisp/progmodes/cc-mode.el (c-basic-common-init): Make
9084         yank-handled-properties buffer local, and remove 'category from it.
9085         (c-called-from-text-property-change-p): New function.
9086         (c-before-change): Don't do anything if a call of the new function
9087         returns non-nil.
9088         (c-after-change): Don't do much if a call of the new function returns
9089         non-nil.
9090         (c-extend-after-change-region): Put changes to text property 'fontified
9091         inside c-save-buffer-state.
9093 2015-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
9095         Fix byte-compiler warnings about looking-back.
9096         * lisp/vc/log-view.el (log-view-end-of-defun-1):
9097         * lisp/textmodes/tex-mode.el (latex-forward-sexp-1):
9098         * lisp/textmodes/reftex-ref.el (reftex-goto-label):
9099         * lisp/textmodes/bibtex.el (bibtex-insert-kill):
9100         * lisp/progmodes/sh-script.el (sh--maybe-here-document):
9101         * lisp/progmodes/ruby-mode.el (ruby-end-of-defun):
9102         * lisp/progmodes/ada-mode.el (ada-in-numeric-literal-p):
9103         * lisp/org/org.el (org-insert-heading, org-sort-entries):
9104         * lisp/org/org-mouse.el (org-mouse-end-headline)
9105         (org-mouse-context-menu):
9106         * lisp/org/org-clock.el (org-clock-cancel):
9107         * lisp/man.el (Man-default-man-entry):
9108         * lisp/mail/rmail.el (rmail-get-new-mail, rmail-insert-inbox-text)
9109         (rmail-ensure-blank-line):
9110         * lisp/mail/footnote.el (Footnote-delete-footnote):
9111         * lisp/mail/emacsbug.el (report-emacs-bug):
9112         * lisp/info.el (Info-follow-reference, Info-fontify-node):
9113         * lisp/info-look.el (info-lookup-guess-custom-symbol):
9114         * lisp/help-fns.el (help-fns--key-bindings):
9115         * lisp/files.el (hack-local-variables):
9116         * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-cmd-complete)
9117         (viper-get-ex-pat, ex-expand-filsyms, viper-get-ex-file)
9118         (viper-complete-filename-or-exit):
9119         * lisp/emulation/viper-cmd.el (viper-backward-indent):
9120         * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent):
9121         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
9122         * lisp/cus-edit.el (custom-face-edit-value-create):
9123         * lisp/calendar/todo-mode.el (todo-set-item-priority)
9124         (todo-filter-items-1, todo-convert-legacy-files)
9125         (todo-prefix-overlays): Add explicit second arg to looking-back.
9127 2015-04-20  Glenn Morris  <rgm@gnu.org>
9129         Avoid non-nil current-load-list at startup
9130         * src/process.c (init_process_emacs): Move Fprovide statement...
9131         (syms_of_process): ... to here.
9133         * lisp/loadup.el (custom-current-group-alist): Reset before dumping.
9135         * lisp/startup.el (command-line) <site-run-file>: Avoid rogue value in emacs -Q.
9137 2015-04-20  Ludovic Courtès  <ludo@gnu.org>
9139         * lisp/loadup.el (exec-path): Avoid storing build-time PATH in binary.
9140         (Bug#20330)
9142 2015-04-20  Glenn Morris  <rgm@gnu.org>
9144         * lisp/cus-start.el (exec-path): Set standard value, to avoid rogue.
9146         Tweak exec-path in uninstalled case
9147         * src/callproc.c (init_callproc): If running uninstalled, do not
9148         include eventual installation libexec directory in exec-path.
9150 2015-04-20  Artur Malabarba  <bruce.connor.am@gmail.com>
9152         * lisp/emacs-lisp/package.el: Filter by multiple keywords and cache keywords
9153         (package-menu-filter): Accept a list of keywords.
9154         (package--all-keywords): New variable to cache known keywords.
9155         (package-all-keywords): Populate it if necessary.
9156         (package-refresh-contents): Reset it.
9158         * lisp/emacs-lisp/package.el: Make archive and status pseudo-keywords
9159         (package--has-keyword-p): Understand "arc:xxxx" and "status:xxxx"
9160         as special keywords which match agains package archive and status
9161         respectively.
9162         * etc/NEWS: Document it.
9164 2015-04-20  Eli Zaretskii  <eliz@gnu.org>
9166         Describe and index "empty overlays".
9167         * doc/lispref/display.texi (Overlays): Improve indexing.
9168         (Managing Overlays): Describe "empty" overlays.
9169         (Overlay Properties, Finding Overlays): Add cross-reference to
9170         where empty overlays are described.
9172 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
9174         Spelling fixes
9176         Quote 'like this' in top-level files
9177         * CONTRIBUTE, INSTALL, Makefile.in, README, configure.ac, make-dist:
9178         Prefer to single-quote 'like this' (instead of the older style
9179         `like this').
9180         * configure.ac: Fix some space-before-tab problems that 'git commit'
9181         complained about.
9183         Use bool for boolean in textprop.c, undo.c
9184         * src/textprop.c (soft, hard): Now constants instead of macros.
9185         (validate_plist): Rewrite to avoid need for boolean local.
9186         (interval_has_all_properties, interval_has_some_properties)
9187         (interval_has_some_properties_list, add_properties)
9188         (remove_properties, get_char_property_and_overlay)
9189         (Fnext_single_char_property_change)
9190         (Fprevious_single_char_property_change, add_text_properties_1)
9191         (Fremove_text_properties, Fremove_list_of_text_properties)
9192         (copy_text_properties):
9193         * src/tparam.c (tparam1):
9194         * src/undo.c (record_change, record_property_change)
9195         (syms_of_undo):
9196         Use 'true' and 'false' for booleans.
9198 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
9200         Call `smerge-start-session' even when dealing with a stash conflict
9201         * lisp/vc/vc-git.el (vc-git-find-file-hook):
9202         Call `smerge-start-session' even when dealing with a stash
9203         conflict (bug#20292).
9205 2015-04-19  Vibhav Pant  <vibhavp@gmail.com>
9207         Add option to eshell/clear to clear scrollback.
9208         * lisp/eshell/esh-mode.el (eshell/clear-scrollback): New function.
9209         (eshell/clear): Add an optional SCROLLBACK argument. If non-nil,
9210         scrollback contents are cleared.
9211         * etc/NEWS: Describe change.
9212         * doc/misc/eshell.texi: Add entry for `clear'.
9214 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
9216         * src/widget.c (set_frame_size): Prefer 'int' to 'unsigned'
9217         where either will do.
9219 2015-04-19  Steve Purcell  <steve@sanityinc.com>
9221         Assume package archive-contents are UTF8-encoded
9222         * lisp/emacs-lisp/package.el (package--read-archive-file):
9223         Set `coding-system-for-read' explicitly to 'utf-8 when reading the
9224         downloaded and cached archive-contents files, so that non-ASCII
9225         characters in package descriptions are displayed correctly in the
9226         `list-packages' menu. (Bug#20231)
9228 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
9230         Abort when looking at stashed changes
9231         * lisp/vc/vc-git.el (vc-git-find-file-hook): Abort when looking at
9232         stashed changes (bug#20292).
9234 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
9236         Refactor low-level printing for simplicity
9237         * src/print.c (PRINTDECLARE): Remove.  Move its contents into
9238         PRINTPREPARE; doable now that we assume C99.  All callers changed.
9239         (PRINTCHAR): Remove, as it adds more mystery than clarity.
9240         All callers changed.
9241         (strout): Assume that caller computes length.  All callers changed.
9242         (print_c_string): New function.
9243         (write_string, write_string_1): Compute length instead of asking
9244         the caller to compute it.  All callers changed.
9245         (write_string): Simplify by using write_string_1.
9246         (write_string_1): Simplify by using print_c_string.
9247         (Fterpri): Compute default val more clearly.
9248         (Fprin1_to_string, print_object):
9249         Assume C99 to avoid unnecessary nesting.
9250         (print_object): Prefer print_c_string to multiple printchar, or
9251         to calling strout with -1 length.  Coalesce into sprintf when
9252         this is easy.
9254 2015-04-18  Paul Eggert  <eggert@cs.ucla.edu>
9256         Prefer "Bug#1234" in commit messages (Bug#20325)
9257         * .dir-locals.el (log-edit-mode): Don't rewrite Bug#,
9258         as this isn't useful for Git.
9259         * CONTRIBUTE: Suggest "Bug#1234" instead of "Fixes: debbugs:1234".
9261 2015-04-18  Glenn Morris  <rgm@gnu.org>
9263         * lisp/files.el (auto-mode-alist): Use conf mode for gitconfig, hgrc.
9264         (Bug#19506)
9266 2015-04-18  Tom Willemse  <tom@ryuslash.org>  (tiny change)
9268         * lisp/elec-pair.el (electric-pair-post-self-insert-function): Do not use `chomp' as a function.
9269         (Bug#19505)
9271 2015-04-18  Glenn Morris  <rgm@gnu.org>
9273         * lisp/net/browse-url.el (browse-url, browse-url-at-point): Doc fixes.
9275         * doc/emacs/misc.texi (Sorting): Small edit.
9276         (Bug#19896)
9278         * admin/admin.el (make-manuals): Add emacs-xtra in pdf and ps.
9280 2015-04-18  Simen Heggestøyl  <simenheg@gmail.com>
9282         css-mode.el: Support multi-line comment filling
9283         (Bug#20256)
9284         * lisp/textmodes/css-mode.el (css-fill-paragraph): Support multi-line
9285         comment filling.
9286         (css-adaptive-fill): New function.
9287         (css-mode): Set `adaptive-fill-function'.
9288         (scss-mode): Set `comment-continue'.
9290 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
9292         * lisp/emacs-lisp/seq.el (seq-concatenate, seq-into): Better error messages.
9294 2015-04-18  Ivan Radanov Ivanov  <ivanradanov@yahoo.co.uk>  (tiny change)
9296         Minor improvements in Bulgarian input methods
9297         * lisp/leim/quail/cyrillic.el (bulgarian-phonetic, bulgarian-bds):
9298         Replace U+042C with U+045D, as the former character is not used in
9299         the modern Bulgarian language.
9300         (Bug#20350)
9302 2015-04-17  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
9304         Improve EUDC manual
9305         * eudc.texi (LDAP Configuration): Mention simple and SASL
9306         authentication schemes.  Add index items.  Shorten example server
9307         name.
9309 2015-04-17  Dmitry Gutov  <dgutov@yandex.ru>
9311         Don't show both feature and function with the same name
9312         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
9313         Don't show both feature and function with the same name.
9315         (elisp--xref-identifier-location): Skip variable, if it's also a functiong
9316         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
9317         Avoid returning both the variable and the function for the same
9318         minor mode.
9320 2015-04-17  Wolfgang Jenkner  <wjenkner@inode.at>
9322         Fix fontification of keywords clobbered by the prompt.
9323         * lisp/comint.el (comint-output-filter): Remove the uses of
9324         with-silent-modifications I introduced as part of the last change.
9325         This fixes, e.g., erratically missing highlighting when running
9326         ./configure --help; ./configure in a shell-mode buffer with
9327         compilation-shell-minor-mode turned on.
9329 2015-04-17  Glenn Morris  <rgm@gnu.org>
9331         * admin/authors.el (authors-valid-file-names, authors-renamed-files-alist): Additions.
9333 2015-04-17  Stefan Monnier  <monnier@iro.umontreal.ca>
9335         * lisp/indent.el (indent-region): Don't deactivate the mark
9336         (Bug#20357)
9338 2015-04-17  Sam Steingold  <sds@gnu.org>
9340         lisp/net/rcirc.el (defun-rcirc-command): mark `target' as ignorable
9342 2015-04-16  Leo Liu  <sdl.web@gmail.com>
9344         * lisp/progmodes/xref.el (xref-push-marker-stack): Add optional arg.
9346 2015-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
9348         * lisp/erc/erc-pcomplete.el (erc-pcomplete): Don't use `pcomplete' any more.
9350 2015-04-16  Glenn Morris  <rgm@gnu.org>
9352         * admin/authors.el (authors-lax-changelogs): Update for erc changes.
9354 2015-04-16  Eli Zaretskii  <eliz@gnu.org>
9356         Don't link with -ljpeg on MS-Windows, to avoid dependency on DLL
9357         * configure.ac (LIBJPEG): Leave it empty for MinGW.
9359 2015-04-16  Glenn Morris  <rgm@gnu.org>
9361         * lisp/replace.el (query-replace-from-to-separator): Delay initialization
9362         to avoid rogue setting after startup.
9364 2015-04-16  Paul Eggert  <eggert@cs.ucla.edu>
9366         Pre-4.6 GCC succeeds with unknown option
9367         * configure.ac (emacs_cv_prog_cc_nopie): Port to pre-4.6 GCC.
9368         (Bug#20338)
9370 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
9372         '[:graph:]' now excludes whitespace, not just ' '
9373         * doc/lispref/searching.texi (Char Classes):
9374         * lisp/emacs-lisp/rx.el (rx): Document [:graph:] to be [:print:]
9375         sans whitespace (not sans space).
9376         * src/character.c (graphicp): Exclude all Unicode whitespace chars,
9377         not just space.
9378         * src/regex.c (ISGRAPH): Exclude U+00A0 (NO-BREAK SPACE).
9380 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
9382         (looking-back): Make the second arg non-optional.
9383         * lisp/subr.el (substitute-key-definition-key, special-form-p)
9384         (macrop): Drop deprecated second arg to indirect-function.
9385         (looking-back): Make the second arg non-optional.
9387         * lisp/org/org-clock.el (org-x11idle-exists-p): Be honest about which
9388         command is actually sent to the shell.
9390 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
9392         Port jpeg configuration to Solaris 10 with Sun C
9393         * configure.ac: Check for jpeglib 6b by trying to link it, instead
9394         of relying on cpp magic that has problems in practice.  Check for
9395         both jpeglib.h and jerror.h features.  Remove special case for
9396         mingw32, which should no longer be needed (and if it were needed,
9397         should now be addressable by hotwiring emacs_cv_jpeglib).
9398         (Bug#20332)
9400 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
9402         Move some Elisp-specific code from lisp-mode.el to elisp-mode.el
9403         * lisp/emacs-lisp/lisp-mode.el (lisp--el-font-lock-flush-elisp-buffers):
9404         Move to elisp-mode.el.
9405         (lisp-mode-variables): (Re)move elisp-specific settings.
9406         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add settings removed
9407         from lisp-mode-variables.
9408         (elisp--font-lock-flush-elisp-buffers): New function, moved from
9409         lisp-mode.el.
9411         * lisp/emacs-lisp/lisp-mode.el (lisp--el-non-funcall-position-p):
9412         Avoid pathological slowdown at top-level in large file.
9414 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
9416         Standardize names of ChangeLog history files
9417         Suggested by Glenn Morris in:
9418         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
9419         * Makefile.in (install-man): Don't treat ChangeLog.1 as a man page.
9420         * doc/man/ChangeLog.1: Rename back from doc/man/ChangeLog.01.
9421         * lisp/erc/ChangeLog.1: New file, containing the old contents of ...
9422         * lisp/erc/ChangeLog.01, lisp/erc/ChangeLog.02, lisp/erc/ChangeLog.03:
9423         * lisp/erc/ChangeLog.04, lisp/erc/ChangeLog.05, lisp/erc/ChangeLog.06:
9424         * lisp/erc/ChangeLog.07, lisp/erc/ChangeLog.08, lisp/erc/ChangeLog.09:
9425         Remove.
9427         Split top-level entries into pre- and post-April 7
9428         This more clearly distingiushes pre-April-7 ChangeLog entries (which
9429         are for top-level files only) from post-April-7 entries (which are
9430         about files at all levels.  Problem reported by Glenn Morris in:
9431         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
9432         * ChangeLog.1: Move post-April-7 entries from here ...
9433         * ChangeLog.2: ... to this new file.
9434         * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump to 2.
9436 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
9438         Fix recent cus-start changes that added customize-rogues
9439         * lisp/cus-start.el (custom-delayed-init-variables): Initialize the
9440         vars early.
9441         * lisp/loadup.el ("cus-start"): Move to the end to reduce customize-rogue.
9443 2015-04-15  Nicolas Petton  <nicolas@petton.fr>
9445         Define cl-concatenate as an alias to seq-concatenate
9446         * lisp/emacs-lisp/cl-extra.el (cl-concatenate): Removes duplicated
9447           code by making cl-concatenate an alias to seq-concatenate.
9449 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
9451         * src/lread.c (intern_1): Make sure we'd find the symbol we add
9452         (Bug#20334)
9453         * src/xfaces.c (resolve_face_name): Don't use `intern' with Lisp_Strings.
9455 2015-04-15  Glenn Morris  <rgm@gnu.org>
9457         * doc/lispref/sequences.texi (Sequence Functions): Fix typo in previous.
9459 2015-04-15  Lars Magne Ingebrigtsen  <larsi@gnus.org>
9461         Clean up gnus-uu saving code slightly
9462         * gnus-uu.el (gnus-uu-save-article): Make the
9463         save-restriction/widen calls make more sense.
9465 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
9467         Make [:graph:] act like [:print:] sans space
9468         In POSIX [[:print:]] is equivalent to [ [:graph:]], so change
9469         [:graph:] so that it matches everything that [:print:] does,
9470         except for space.
9471         * doc/lispref/searching.texi (Char Classes):
9472         * etc/NEWS:
9473         * lisp/emacs-lisp/rx.el (rx):
9474         Document [:graph:] to be [:print:] sans ' '.
9475         * src/character.c, src/character.h (graphicp): New function.
9476         * src/regex.c (ISGRAPH) [emacs]: Use it.
9477         (BIT_GRAPH): New macro.
9478         (BIT_PRINT): Increase to 0x200, to make room for BIT_GRAPH.
9479         (re_wctype_to_bit) [! WIDE_CHAR_SUPPORT]:
9480         Return BIT_GRAPH for RECC_GRAPH.
9481         (re_match_2_internal) [emacs]: Use ISGRAPH if BIT_GRAPH,
9482         and ISPRINT if BIT_PRINT.
9484 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
9486         automated/eieio-test-methodinvoke.el (make-instance) <(subclass C)>:
9487         Don't use call-next-method in a cl-defmethod.
9489         * lisp/emacs-lisp/eieio-core.el (eieio--class): Derive from cl--class
9490         (eieio--class-p): Remove, provided by cl-defstruct.
9492 2015-04-14  Nicolas Petton  <nicolas@petton.fr>
9494         Add seq-intersection and seq-difference to the seq library
9495         * lisp/emacs-lisp/seq.el (seq-intersection, seq-difference): New
9496         functions.
9497         * test/automated/seq-tests.el: Add tests for seq-intersection and
9498         seq-difference.
9499         * doc/lispref/sequences.texi: Add documentation for seq-intersection
9500         and seq-difference.
9502 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
9504         * eieio-core.el (class-abstract-p): Don't inline, to avoid leaking internals
9506 2015-04-14  Sam Steingold  <sds@gnu.org>
9508         package--ensure-init-file: widen requires save-restriction
9510 2015-04-14  Eli Zaretskii  <eliz@gnu.org>
9512         Improve the commit-msg Git hook for unibyte environments
9513         * build-aux/git-hooks/commit-msg: Set LC_ALL=C, before running Awk
9514         in unibyte environments.  (Suggested by Paul Eggert
9515         <eggert@cs.ucla.edu>.)  Use a more accurate approximation to
9516         [:print:], based on UTF-8 sequences of the unprintable characters.
9518         Describe problems with cursor caused by Windows Magnifier
9519         * etc/PROBLEMS: Describe the problem with cursor shape on
9520         MS-Windows due to Windows Magnifier.
9521         (Bug#20271)
9523         Make [:print:] support non-ASCII characters correctly
9524         * src/regex.c (ISPRINT): Call 'printablep' for multibyte characters.
9525         (BIT_PRINT): New bit mask.
9526         (re_wctype_to_bit): Return BIT_PRINT for RECC_PRINT.
9527         * src/character.c (printablep): New function.
9528         * src/character.h (printablep): Add prototype.
9529         * lisp/emacs-lisp/rx.el (rx): Doc fix: document the new behavior
9530         of 'print', 'alnum', and 'alphabetic'.
9531         * doc/lispref/searching.texi (Char Classes): Document the new
9532         behavior of [:print:].
9533         * etc/NEWS: Mention the new behavior of [:print:].
9535         Assign correct general-category and names to surrogates
9536         * admin/unidata/unidata-gen.el (unidata-setup-list): Don't ignore
9537         surrogates.  This avoids assigning them the default
9538         general-category of 'Cn', i.e. unassigned codepoints.
9539         (unidata-get-name): Give surrogates synthetic names.
9541 2015-04-14  Paul Eggert  <eggert@cs.ucla.edu>
9543         Assume C89 offsetof in xterm.c, xlwmenu.c
9544         * lwlib/xlwmenu.c (offset):
9545         * src/xterm.c (cvt_string_to_pixel_args):
9546         Use offsetof, not XtOffset.
9548 2015-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
9550         Assume C89 offsetof in widget.c
9551         * src/widget.c (XtOffset): Remove; no longer needed.
9552         (offset): Implement via offsetof instead of via pre-C89 XtOffset hack.
9554         Fix think-o in previous patch
9555         * src/window.c (count_windows, get_leaf_windows):
9556         Don't optimize count_windows incorrectly.
9558 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
9560         Avoid some int overflows in window.c
9561         * src/print.c (print_object):
9562         * src/window.c (sequence_number):
9563         * src/window.h (struct window.sequence_number):
9564         Don't assume window sequence number fits in int.
9565         * src/window.c (window_select_count):
9566         * src/window.h (struct window.use_time, window_select_count):
9567         Don't assume window use time fits in int.
9568         * src/window.c (Fsplit_window_internal):
9569         Don't assume user-supplied integer, or sum, fits in int.
9570         (Fset_window_configuration, count_windows, get_leaf_windows)
9571         (save_window_save, Fcurrent_window_configuration):
9572         Use ptrdiff_t for object counts.
9573         (Fset_window_configuration): Omit unused local 'n'.
9574         (count_windows): Simplify by writing in terms of get_leaf_windows.
9575         (get_leaf_windows): Don't store through FLAT if it's null.
9576         (extract_dimension): New static function.
9577         (set_window_margins, set_window_fringes, set_window_scroll_bars):
9578         Use it to avoid undefined behavior when converting user-supplied
9579         integer to 'int'.
9581 2015-04-13  Glenn Morris  <rgm@gnu.org>
9583         Minor doc copyedits
9584         * doc/emacs/custom.texi (Init Examples): Tweak example, replace typo.
9585         * doc/lispintro/emacs-lisp-intro.texi (condition-case): Typo fix.
9587 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
9589         [Gnus] Catch the invalid-operation that idna.el will issue
9590         * lisp/gnus/gnus-art.el (gnus-use-idna):
9591         * lisp/gnus/gnus-sum.el (gnus-summary-idna-message):
9592         * lisp/gnus/message.el (message-use-idna):
9593         Catch the invalid-operation that idna.el will issue.
9595 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
9597         * doc/lispref/processes.texi (Shell Arguments): Prefer diff -u.
9599 2015-04-13  Sam Steingold  <sds@gnu.org>
9601         package--ensure-init-file: widen before looking for "(package-initialize)"
9603 2015-04-13  Dmitry Gutov  <dgutov@yandex.ru>
9605         Change diff-switches default to `-u'
9606         (Bug#20290)
9607         * doc/emacs/files.texi (Comparing Files): Document the new default
9608         value of `diff-switches'.
9609         * doc/emacs/trouble.texi (Sending Patches): Document the preference
9610         for unified diff format.  Escape the plus in the suggested `-F' regexp
9611         value.
9612         * lisp/vc/diff.el (diff-switches): Change the default to `-u'.
9614 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
9616         (gnus-group--setup-tool-bar-update): Fix last change
9617         * lisp/gnus/gnus-group.el (gnus-group--setup-tool-bar-update):
9618         cursor-sensor-functions should be a list of functions.
9620 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
9622         Use gmm-called-interactively-p in Gnus
9623         * lisp/gnus/gnus-topic.el (gnus-topic-mode): Use gmm-called-interactively-p.
9625 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
9627         * lisp/loadup.el ("cus-start"): Load it after loaddefs.el
9628         (Bug#20321)
9629         * lisp/cus-start.el (read-buffer-function): Don't advertize
9630         iswitchb-read-buffer any more.
9631         (iswitchb): Don't tweak this obsolete group any more.
9633 2015-04-13  Artur Malabarba  <bruce.connor.am@gmail.com>
9635         * lisp/emacs-lisp/package.el: Fix package--ensure-init-file
9637         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Implement docstrings
9638         Adding a string after a constructor's argument list will use
9639         that string as the constructor function docstring.  If this string
9640         is absent but the struct itself was given a docstring, use that as
9641         the constructor's docstring.
9642         Fixes (bug#17284).
9644 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
9646         Deprecate `intangible' and `point-entered' properties
9647         * lisp/emacs-lisp/cursor-sensor.el: New file.
9648         * lisp/simple.el (pre-redisplay-functions): New hook.
9649         (redisplay--pre-redisplay-functions): New function.
9650         (pre-redisplay-function): Use it.
9651         (minibuffer-avoid-prompt): Mark obsolete.
9652         (redisplay--update-region-highlight): Adapt it to work as a function on
9653         pre-redisplay-functions.
9654         * lisp/cus-start.el (minibuffer-prompt-properties--setter): New fun.
9655         (minibuffer-prompt-properties): Use it.  Use cursor-intangible rather
9656         than point-entered to make the prompt intangible.
9657         * lisp/forms.el: Move `provide' calls to the end.
9658         (forms-mode): Don't use `run-hooks' on a local var.
9659         (forms--make-format, forms--make-format-elt-using-text-properties):
9660         Use cursor-intangible rather than `intangible'.
9661         (forms-mode): Enable cursor-intangible-mode.
9662         * lisp/isearch.el (isearch-mode): Use defvar-local.
9663         (cursor-sensor-inhibit): Declare.
9664         (isearch-mode): Set cursor-sensor-inhibit.
9665         (isearch-done): Set it back.
9666         (isearch-open-overlay-temporary, isearch-open-necessary-overlays)
9667         (isearch-close-unnecessary-overlays): Don't bother with `intangible'
9668         any more.
9669         * lisp/ses.el (ses-localvars): Remove `mode-line-process'.
9670         (ses-sym-rowcol, ses-cell-value, ses-col-width, ses-col-printer):
9671         Add Edebug spec.
9672         (ses-goto-print, ses-print-cell, ses-adjust-print-width)
9673         (ses-goto-data, ses-setup, ses-copy-region): Don't let-bind
9674         inhibit-point-motion-hooks any more.
9675         (ses--cell-at-pos, ses--curcell): New functions, extracted from
9676         ses-set-curcell.
9677         (ses-set-curcell): Use them.
9678         (ses-print-cell, ses-setup): Use cursor-intangible instead of
9679         `intangible'.  Make sure cursor-intangible isn't sticky at BOB.
9680         (ses-print-cell-new-width, ses-reprint-all, ses-recalculate-all):
9681         Use ses--cell-at-pos.
9682         (ses--mode-line-process, ses--cursor-sensor-highlight): New functions,
9683         extracted from ses-command-hook.  Make them work with multiple windows
9684         displaying the same buffer.
9685         (ses-mode): Use them via mode-line-process and pre-redisplay-functions.
9686         Enable cursor-intangible-mode.
9687         (ses-command-hook): Remove cell highlight and mode-line update code.
9688         (ses-forward-or-insert, ses-copy-region-helper, ses-sort-column):
9689         Update for new name of text-property holding the cell name.
9690         (ses-rename-cell): Don't mess with mode-line-process.
9691         * lisp/erc/erc-stamp.el (erc-add-timestamp): Use the new
9692         cursor-sensor-functions property instead of point-entered.
9693         (erc-insert-timestamp-right, erc-format-timestamp):
9694         Use cursor-intangible rather than `intangible'.
9695         (erc-munge-invisibility-spec): Use add-to-invisibility-spec and
9696         remove-from-invisibility-spec.  Enable cursor-intangible-mode and
9697         cursor-sensor-mode if needed.
9698         (erc-echo-timestamp): Adapt to calling convention of
9699         cursor-sensor-functions.
9700         (erc-insert-timestamp-right): Remove unused vars `current-window' and
9701         `indent'.
9702         * lisp/gnus/gnus-group.el (gnus-tmp-*): Declare.
9703         (gnus-update-group-mark-positions): Remove unused `topic' var.
9704         (gnus-group-insert-group-line): Remove unused var `header'.
9705         (gnus-group--setup-tool-bar-update): New function.
9706         (gnus-group-insert-group-line): Use it.
9707         (gnus-group-update-eval-form): Declare local
9708         dynamically-bound variables.
9709         (gnus-group-unsubscribe-group): Use \` and \' to match string bounds.
9710         * lisp/gnus/gnus-topic.el (gnus-topic-jump-to-topic)
9711         (gnus-group-prepare-topics, gnus-topic-update-topic)
9712         (gnus-topic-change-level, gnus-topic-catchup-articles)
9713         (gnus-topic-remove-group, gnus-topic-delete, gnus-topic-indent):
9714         Use inhibit-read-only.
9715         (gnus-topic-prepare-topic): Use gnus-group--setup-tool-bar-update.
9716         (gnus-topic-mode): Use define-minor-mode and derived-mode-p.
9717         * lisp/textmodes/reftex-index.el (reftex-display-index):
9718         Use cursor-intangible-mode if available.
9719         (reftex-index-post-command-hook): Check cursor-intangible.
9720         * lisp/textmodes/reftex-toc.el (reftex-toc):
9721         Use cursor-intangible-mode if available.
9722         (reftex-toc-recenter, reftex-toc-post-command-hook):
9723         Check cursor-intangible.
9724         * lisp/textmodes/sgml-mode.el: Use lexical-binding.
9725         (sgml-tag): Use cursor-sensor-functions instead of point-entered.
9726         (sgml-tags-invisible): Use with-silent-modifications and
9727         inhibit-read-only.  Enable cursor-sensor-mode.
9728         (sgml-cursor-sensor): Rename from sgml-point-entered and adjust to
9729         calling convention of cursor-sensor-functions.
9730         * lisp/textmodes/table.el (table-cell-map-hook, table-load-hook)
9731         (table-point-entered-cell-hook, table-point-left-cell-hook):
9732         Don't autoload.
9733         (table-cell-entered-state): Remove var.
9734         (table--put-cell-point-entered/left-property)
9735         (table--remove-cell-properties):
9736         Use cursor-sensor-functions rather than point-entered/left.
9737         (table--point-entered/left-cell-function): Merge
9738         table--point-entered-cell-function and table--point-left-cell-function
9739         and adjust to calling convention of cursor-sensor-functions.
9741         Update ldef-boots.el
9743         * lisp/emacs-lisp/pcase.el (pcase-dolist): Autoload as well.
9745         * doc/misc/eieio.texi: Don't advertize now obsolete constructs
9747         Collapse successive char deletions in the undo log
9748         * src/cmds.c (remove_excessive_undo_boundaries): New function,
9749         extracted from Fself_insert_command.
9750         (Fdelete_char, Fself_insert_command): Use it.
9751         * src/fileio.c (Fmake_symbolic_link): Rename arg to `target'.
9752         * src/keyboard.c (syms_of_keyboard): `top-level' shouldn't be special.
9754         xterm and OSC 52: Add NEWS entry, and tweak the code
9755         * lisp/term/xterm.el (gui-set-selection) <nil>: Move method definition to
9756         top-level.
9757         (terminal-init-xterm-activate-set-selection): Set a terminal property.
9758         (xterm--set-selection): Use it instead of checking the value of
9759         `terminal-initted'.  Don't use string-bytes.
9761 2015-04-13  Philipp Stephani  <p.stephani2@gmail.com>
9763         xterm.el: Implement OSC-52 functionality for setting the X selection
9764         * lisp/term/xterm.el (xterm-max-cut-length): New var.
9765         (xterm--set-selection, terminal-init-xterm-activate-set-selection): New funs.
9766         (terminal-init-xterm, xterm--version-handler): Use them.
9768 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
9770         Remove left over code from when we used an obsolete/loaddefs.el file
9771         * lisp/subr.el (do-after-load-evaluation): Remove left over code from when
9772         we used an obsolete/loaddefs.el file.
9774         * cedet/semantic/fw.el: Use declare.
9775         * cedet/semantic/fw.el (semantic-exit-on-input)
9776         (semanticdb-without-unloaded-file-searches): Use declare.
9777         (semantic-fw-add-edebug-spec): Remove.
9779         (completion-lisp-mode-hook): Use completion-separator-chars
9780         * lisp/completion.el (completion-lisp-mode-hook):
9781         Use completion-separator-chars rather than local key binding.
9783         * src/*.c: Set deactivate_mark buffer-locally
9784         (Bug#20260)
9785         * src/insdel.c (prepare_to_modify_buffer_1):
9786         * src/fileio.c (Finsert_file_contents): Set deactivate_mark
9787         buffer-locally.
9789 2015-04-12  Fabián Ezequiel Gallina  <fgallina@gnu.org>
9791         python.el: Keep symmetry on sexp navigation with parens
9792         (Bug#19954)
9793         * lisp/progmodes/python.el
9794         (python-nav--forward-sexp): Add argument skip-parens-p.
9795         (python-nav-forward-sexp, python-nav-backward-sexp)
9796         (python-nav-forward-sexp-safe)
9797         (python-nav-backward-sexp-safe): Use it.
9798         * test/automated/python-tests.el
9799         (python-nav-forward-sexp-1): Fix test.
9801 2015-04-12  João Távora  <joaotavora@gmail.com>
9803         Don't use `setq-local' in Gnus code
9804         This might break upstream builds with older Emacsen
9805         * lisp/gnus/message.el (message-mode): Use `set' and
9806         `make-local-variable' instead of `setq-local'.
9808 2015-04-12  Paul Eggert  <eggert@cs.ucla.edu>
9810         Update Makefile.in's .PHONY dependencies
9811         * Makefile.in (change-history-commit, master-branch-is-current)
9812         (no-ChangeLog): Now phony.
9814         Remove configure's --with-mmdf option
9815         * configure.ac (MAIL_USE_MMDF): Remove.
9816         * etc/NEWS: Document this.
9817         * lib-src/movemail.c: Assume MAIL_USE_MMDF is not defined.
9818         (Bug#20308)
9820         * doc/man/ChangeLog.01: Rename from doc/man/ChangeLog.1.
9821         That way, 'make install' won't think it's a man page.
9822         Reported by Ashish SHUKLA in:
9823         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00656.html
9825         Improve 'make change-history' prereq tests
9826         * Makefile.in (gen_origin): Fix to match what's in the master branch.
9827         (no-ChangeLog, master-branch-is-current): New rules.
9828         (change-history): Depend on them, to avoid similar future problems.
9829         Escape the local-variables string to pacify Emacs when editing
9830         Makefile.in.
9832 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
9834         * test/automated/package-test.el (with-package-test): Kill Packages buffer
9836         * lisp/emacs-lisp/package.el: Improve transaction y-or-n prompt
9837         (package-menu--prompt-transaction-p): Prompt for "Delete" first,
9838         "Upgrade" last, and use capitalized instead of all-caps.
9840         * lisp/emacs-lisp/package.el: Completely silence async operations
9841         (package--make-autoloads-and-stuff): Silence autoloads.
9842         (package--save-selected-packages): New function, silences
9843         `customize-save-variable'.
9844         (package--user-selected-p, package-install-from-buffer)
9845         (package-delete, package-install): Use it.
9846         (package-install-from-archive)
9847         (package-menu--perform-transaction): Silence.
9848         (package-menu-execute): Feedback when operation starts.
9850         Use delay-mode-hooks when visiting the init-file
9851         * lisp/emacs-lisp/package.el (package--ensure-init-file):
9852         delay-mode-hooks
9853         * lisp/cus-edit.el (custom-save-all): delay-mode-hooks
9855         * lisp/files.el: Only message when saving if save-silently is nil
9856         (save-silently): New variable.
9857         (files--message): New function.
9858         (find-file-noselect, save-buffer, basic-save-buffer)
9859         (basic-save-buffer-2, save-some-buffers, not-modified)
9860         (append-to-file): Use them.
9862 2015-04-12  Johan Bockgård  <bojohan@gnu.org>
9864         Support debug declarations in pcase macros
9865         * lisp/emacs-lisp/pcase.el (pcase-MACRO): New edebug spec.
9866         (pcase-UPAT): Use it.  Remove "`".
9867         (pcase--edebug-match-macro): New function.
9868         (pcase-defmacro): Support debug declarations.
9869         * lisp/emacs-lisp/cl-macs.el (cl-struct) <pcase-defmacro>:
9870         * lisp/emacs-lisp/eieio.el (eieio) <pcase-defmacro>:
9871         * lisp/emacs-lisp/pcase.el (\`): <pcase-defmacro>: Add debug declaration.
9873         pcase.el: Edebug support for `app' and vector patterns
9874         * lisp/emacs-lisp/pcase.el (pcase-FUN): New edebug spec.
9875         (pcase-UPAT): Use it. Support `app' patterns.
9876         (pcase-QPAT): Support vector patterns.
9878         edebug.el: Disambiguate vector specifications
9879         * lisp/emacs-lisp/edebug.el (edebug-match-list): Always treat
9880         `(vector ...)' as a vector specification, not as a sublist.
9882         (gnus-summary-refer-thread): Don't clobber unread articles
9883         This fixes a bug where `A T' causes "random" articles to become marked
9884         as read.
9885         * lisp/gnus/gnus-sum.el (gnus-summary-refer-thread): Make sure
9886         gnus-newsgroup-unreads remains sorted.
9888         mouse-sel.el: Fix mouse-sel-get-selection-function
9889         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
9890         Use gui--last-selected-text-primary instead of no longer existing
9891         gui-last-selected-text.
9893         * lisp/rect.el (delete-whitespace-rectangle-line): Don't cross EOL.
9895         * lisp/net/nsm.el (nsm-query-user): Use cursor-in-echo-area.
9897 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
9899         * lisp/emacs-lisp/package.el (list-packages): Avoid redundant generate
9901         * lisp/emacs-lisp/package.el (list-packages): Call refresh in right buffer
9903         * lisp/emacs-lisp/bytecomp.el: Silence noninteractive compilations
9904         (byte-compile--interactive): New var.
9905         (byte-compile--message): New function.
9906         (byte-compile-log-1, byte-force-recompile)
9907         (byte-recompile-directory, byte-recompile-file)
9908         (byte-compile-file, compile-defun)
9909         (byte-compile-file-form-defmumble, byte-compile)
9910         (byte-compile-file-form-defalias, display-call-tree): Use it.
9912         * lisp/files.el: Don't message when nothing happened
9913         (save-some-buffers, basic-save-buffer): Before messaging to say
9914         "nothing was saved" check if (called-interactively-p 'any).
9916 2015-04-12  João Távora  <joaotavora@gmail.com>
9918         Summary: Improve sexp-based movement in message-mode
9919         Works by giving citations and smileys a different syntax.  This helps
9920         modes like `show-paren-mode', `electric-pair-mode', and C-M-*
9921         sexp-based movement.
9922         * lisp/gnus/message.el (message--syntax-propertize): New function.
9923         (message-mode): Set syntax-related vars.
9924         (message-smileys): New variable.
9925         * test/automated/message-mode-tests.el: New file
9927 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
9929         Use bool for boolean in window.c
9930         * src/window.c: Omit unnecessary static function decls.
9931         (adjust_window_count, select_window, Fselect_window)
9932         (window_body_width, Fwindow_body_height, Fwindow_body_width)
9933         (set_window_hscroll, check_window_containing, Fwindow_at)
9934         (Fwindow_end, Fset_window_start, Fpos_visible_in_window_p)
9935         (unshow_buffer, replace_window, recombine_windows)
9936         (add_window_to_list, candidate_window_p, next_window)
9937         (Fnext_window, Fprevious_window, window_loop, check_all_windows)
9938         (Fget_buffer_window, Fdelete_other_windows_internal)
9939         (replace_buffer_in_windows_safely, set_window_buffer)
9940         (Fset_window_buffer, Fforce_window_update)
9941         (temp_output_buffer_show, make_parent_window)
9942         (window_resize_check, window_resize_apply, Fwindow_resize_apply)
9943         (resize_frame_windows, Fsplit_window_internal)
9944         (Fdelete_window_internal, grow_mini_window, shrink_mini_window)
9945         (Fresize_mini_window_internal, mark_window_cursors_off)
9946         (window_scroll, window_scroll_pixel_based)
9947         (window_scroll_line_based, scroll_command, Fscroll_other_window)
9948         (Fscroll_left, Fscroll_right, displayed_window_lines, Frecenter)
9949         (Fmove_to_window_line, Fset_window_configuration)
9950         (delete_all_child_windows, apply_window_adjustment)
9951         (set_window_fringes, set_window_scroll_bars)
9952         (Fset_window_vscroll, foreach_window, foreach_window_1)
9953         (compare_window_configurations, Fcompare_window_configurations):
9954         Prefer 'bool', 'true', and 'false' for booleans.
9955         * src/window.h (WINDOW_MODE_LINE_LINES)
9956         (WINDOW_HEADER_LINE_LINES): Omit unnecessary "!!" on bool value.
9958 2015-04-11  Artur Malabarba  <bruce.connor.am@gmail.com>
9960         Speed up byte-compilation and autoload generation by avoiding mode-hooks
9961         This prevents emacs-lisp-mode-hook from being run everytime an
9962         autoload file is generated, which can account for a fraction of
9963         package installation time depending on the hooks the user has
9964         configured.
9965         * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Use delay-mode-hooks.
9966         * lisp/emacs-lisp/autoload.el (autoload-find-file)
9967         (autoload-find-generated-file): Use delay-mode-hooks.
9969         * lisp/emacs-lisp/package.el: Improve `package-menu-refresh'
9970         (package-menu-refresh): Respect async and do new package checking.
9971         (list-packages): Use `package-menu-refresh' instead of repeating code.
9973         * lisp/emacs-lisp/package.el: Improve package-menu-quick-help
9974         (package--quick-help-keys): New variable.
9975         (package--prettify-quick-help-key): New function.
9976         (package-menu-quick-help): Use it.
9978         * lisp/emacs-lisp/package.el: Fix initially wrong compat table
9979         (package--build-compatibility-table): require finder
9981         * test/automated/package-test.el: Fix new test
9983         * lisp/emacs-lisp/package.el: Silence async operations
9984         (package--silence): New variable.
9985         (package--message): New function.
9986         (package-import-keyring, package-refresh-contents)
9987         (package-compute-transaction, package-install, package-delete)
9988         (package-menu--perform-transaction, package-menu-execute): Use it.
9990         * test/automated/package-test.el: Test async functionality
9991         (package-test-update-archives-async): New test
9993 2015-04-11  Daiki Ueno  <ueno@gnu.org>
9995         Utilize `make-process' in epg.el
9996         * lisp/epg.el (epg-error-output): Abolish.
9997         (epg-context): New slot `error-buffer'.
9998         (epg--start): Use `make-process' and `make-pipe-process'.
9999         (epg--process-filter): Remove code separating stderr from stdout.
10000         (epg-wait-for-completion): Simplify `error-output' handling.
10001         (epg-reset): Dispose error buffer.
10003 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
10005         * .gitignore: Ignore doc temps and outputs.
10007         Port commit-msg to MSYS Bash+Gawk
10008         See Eli Zaretskii in:
10009         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00610.html
10010         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format)
10011         (cent_sign, print_at_sign, at_sign): Revert previous change.
10012         (print_at_sign): Prepend "BEGIN".
10013         (at_sign): Redirect from /dev/null to be safer with pre-POSIX awk.
10015         Port commit-msg to broken MS-Windows shell
10016         * build-aux/git-hooks/commit-msg (cent_sign):
10017         Just use UTF-8 here rather than ASCII + printf, as the latter fails
10018         on a broken MS-Windows shell.  Reported by Eli Zaretskii in:
10019         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00592.html
10021 2015-04-11  Chris Zheng  <chriszheng99@gmail.com>  (tiny change)
10023         Support GnuTLS v3.4 and later on MS-Windows
10024         * src/gnutls.c (syms_of_gnutls) <libgnutls-version>: New DEFSYM.
10025         * lisp/term/w32-win.el (dynamic-library-alist): Determine which
10026         GnuTLS DLL to load according to value of libgnutls-version.
10027         (Bug#20294)
10029 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
10031         Minor quoting etc. fixes to misc manuals
10032         Fix some minor quoting and spacing issues.  Distinguish more
10033         clearly among grave accent and apostrophe (which are ASCII) and
10034         single quote (which is not).  Prefer the standard terms
10035         "apostrophe" and "grave accent" to alternative names that can be
10036         confusing.  Use apostrophes to single-quote ASCII text.
10037         * doc/misc/remember.texi: Spell the mystic's pseudonym in UTF-8
10038         rather than approximating it in ASCII with grave accent.
10040 2015-04-11  Daiki Ueno  <ueno@gnu.org>
10042         Respect more keyword args in `make-process'
10043         * process.c (Fmake_process): Respect `:sentinel' and `:filter'
10044         keywords as documented.
10046 2015-04-10  Dmitry Gutov  <dgutov@yandex.ru>
10048         Extract ChangeLog entries when committing a directory
10049         * lisp/vc/vc-dispatcher.el (vc-log-edit): Update FIXME comment.
10050         * lisp/vc/log-edit.el (log-edit-changelog-insert-entries):
10051         Add a FIXME comment.
10052         (log-edit-changelog-entries): Extract from
10053         `log-edit-changelog-entries', handle FILE being a directory
10054         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00555.html).
10056 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
10058         Fix problems found by --enable-gcc-warnings
10059         * src/process.c (create_process, Fmake_pipe_process)
10060         (Fmake_network_process): Omit unused locals.
10062         Fix commit-msg to handle scissors lines
10063         * build-aux/git-hooks/commit-msg:
10064         Ignore every line after a scissors line, such as a line generated
10065         by 'git commit -v'.  Problem reported by Johan Bockgård in:
10066         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00580.html
10068         port commit-msg to Gawk 3.0.4 (1999)
10069         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format, cent_sign)
10070         (print_at_sign, at_sign): New vars.  Use them to avoid problems
10071         Eli Zaretskii encountered with Gawk 3.0.4 (1999) on MSYS.  See:
10072         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
10074         Have commit-msg report commit failure
10075         * build-aux/git-hooks/commit-msg: If the commit is aborted,
10076         say so.  Simplify by doing this at the end.  Problem reported
10077         by Eli Zaretskii in:
10078         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
10080 2015-04-10  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
10082         Clean up LDAP Configuration section of EUDC manual
10083         * doc/misc/eudc.texi: Combine indices.
10084         (LDAP Configuration): Use command markup.  Add index entries.
10085         Change formatting.  Wrap long lines.  Add noindent markup.
10087 2015-04-10  Daiki Ueno  <ueno@gnu.org>
10089         Add facility to collect stderr of async subprocess
10090         * src/w32.h (register_aux_fd): New function declaration.
10091         * src/w32.c (register_aux_fd): New function.
10092         * src/process.h (struct Lisp_Process): New member stderrproc.
10093         * src/process.c (PIPECONN_P): New macro.
10094         (PIPECONN1_P): New macro.
10095         (Fdelete_process, Fprocess_status, Fset_process_buffer)
10096         (Fset_process_filter, Fset_process_sentinel, Fstop_process)
10097         (Fcontinue_process): Handle pipe process specially.
10098         (create_process): Respect p->stderrproc.
10099         (Fmake_pipe_process): New function.
10100         (Fmake_process): Add new keyword argument :stderr.
10101         (wait_reading_process_output): Specially handle a pipe process when
10102         it gets an EOF.
10103         (syms_of_process): Register Qpipe and Smake_pipe_process.
10104         * doc/lispref/processes.texi (Asynchronous Processes): Document
10105         `make-pipe-process' and `:stderr' keyword of `make-process'.
10106         * lisp/subr.el (start-process): Suggest to use `make-process' handle
10107         standard error separately.
10108         * test/automated/process-tests.el (process-test-stderr-buffer)
10109         (process-test-stderr-filter): New tests.
10110         * etc/NEWS: Mention new process type `pipe' and its usage with the
10111         `:stderr' keyword of `make-process'.
10113 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
10115         Minor quoting etc. fixes to lispref manual
10116         * doc/lispref/tips.texi (Documentation Tips):
10117         Distinguish more clearly among grave accent, apostrophe,
10118         and single quote.
10119         * doc/lispref/README, doc/lispref/buffers.texi:
10120         * doc/lispref/commands.texi, doc/lispref/control.texi:
10121         * doc/lispref/customize.texi, doc/lispref/display.texi:
10122         * doc/lispref/elisp.texi, doc/lispref/files.texi:
10123         * doc/lispref/frames.texi, doc/lispref/hash.texi:
10124         * doc/lispref/help.texi, doc/lispref/internals.texi:
10125         * doc/lispref/loading.texi, doc/lispref/makefile.w32-in:
10126         * doc/lispref/markers.texi, doc/lispref/modes.texi:
10127         * doc/lispref/nonascii.texi, doc/lispref/objects.texi:
10128         * doc/lispref/os.texi, doc/lispref/positions.texi:
10129         * doc/lispref/strings.texi, doc/lispref/syntax.texi:
10130         * doc/lispref/text.texi, doc/lispref/tips.texi:
10131         * doc/lispref/two-volume-cross-refs.txt, doc/lispref/windows.texi:
10132         Use American-style double quoting in ordinary text,
10133         and quote 'like this' when single-quoting in ASCII text.
10134         Also, fix some minor spacing issues.
10136 2015-04-10  Michael Albinus  <michael.albinus@gmx.de>
10138         Handle symlinked test directory in tramp-tests.el
10139         * test/automated/tramp-tests.el (tramp-test18-file-attributes)
10140         (tramp--test-check-files): Use `file-truename' for directories.
10142 2015-04-10  Eli Zaretskii  <eliz@gnu.org>
10144         Fix 'recenter' when visual-line-mode is turned on
10145         * src/window.c (Frecenter): Use the same code for GUI and TTY
10146         frames alike; use vmotion only for "initial" frames.  This is
10147         because vmotion doesn't support visual-line-mode.  Rewrite the
10148         'iarg >= 0' case to use move_it_* functions instead of using
10149         vmotion, for the same reason.  Fix the clipping of the argument
10150         value to support scroll-margin in all cases and avoid unwarranted
10151         recentering.  Reported by Milan Stanojević <milanst@gmail.com> in
10152         http://lists.gnu.org/archive/html/help-gnu-emacs/2015-04/msg00092.html,
10153         which see.
10155 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
10157         * abbrev.el (define-abbrev-table): Refine last change.
10159         cl-lib.el: Partial revert of "2015-04-05 Rationalize c[ad]+r"
10160         * lisp/emacs-lisp/cl-lib.el: Partial revert of "2015-04-05 Rationalize
10161         use of c[ad]+r", so as to keep the "cl-" prefix on all
10162         cl-lib definitions.
10164         * vhdl-mode.el (vhdl-prepare-search-2): Use inhibit-point-motion-hooks
10166         * lisp/cedet/semantic: Remove some dead code
10167         * lisp/cedet/semantic/util-modes.el
10168         (semantic-stickyfunc-header-line-format): Emacs<22 is not supported
10169         any more.
10170         * lisp/cedet/semantic/fw.el (semantic-buffer-local-value): Emacs<21 is
10171         not supported any more.
10172         (semantic-safe): Use `declare'.
10173         * lisp/cedet/semantic/decorate.el (semantic-set-tag-intangible)
10174         (semantic-tag-intangible-p): Remove unused functions.
10175         * lisp/cedet/semantic/complete.el (semantic-displayor-window-edges):
10176         Remove unused function.
10178         * lisp/gnus/gnus-art.el (gnus-hidden-properties): Simplify.
10179         (gnus-article-hide-text, gnus-article-unhide-text)
10180         (gnus-article-unhide-text-type): Remove special handling of
10181         `intangible' since that property is not used any more.
10182         (gnus-article-treat-body-boundary): Use gnus-hidden-properties.
10184 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
10186         Use the VC root in `log-edit-listfun'
10187         * lisp/vc/vc-dispatcher.el (vc-log-edit): Use the VC root in
10188         `log-edit-listfun'.
10190 2015-04-09  Jay Belanger  <jay.p.belanger@gmail.com>
10192         Fix description of Unix time, mention new function.
10193         * lisp/calc/calc-forms.el (calcFunc-unixtime): Fix adjustment for
10194         Unix time.
10195         * doc/misc/calc.texi (Date Forms): Fix description of Unix time.
10196         (Basic Operations on Units): Mention `calc-convert-exact-units'.
10198 2015-04-09  Artur Malabarba  <bruce.connor.am@gmail.com>
10200         * lisp/emacs-lisp/package.el: Use mode-line-process for notification
10202 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
10204         (log-edit-insert-changelog-entries): Don't add newline after the last entry
10205         * lisp/vc/log-edit.el (log-edit-insert-changelog-entries):
10206         Don't add newline after the last entry.
10208 2015-04-09  Simen Heggestøyl  <simenheg@gmail.com>
10210         css-mode.el: Add "not" pseudo-class
10211         (Bug#20267)
10212         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Add "not" to
10213         list of CSS pseudo-classes.
10215 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
10217         etc/NEWS: Add missing entry for "Stop messing with the EMACS env var"
10219 2015-04-09  Michael Albinus  <michael.albinus@gmx.de>
10221         Stop messing with the EMACS env var
10222         * misc.texi (Interactive Shell): Remove description of EMACS env var.
10224 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
10226         Adapt 'make change-history' to coding cookie
10227         * Makefile.in (change-history): Adjust to change of format of
10228         ChangeLog file, which now has a coding cookie before an indented
10229         copyright notice.
10231 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
10233         Adapt 'make change-history' to coding cookie
10234         * Makefile.in (change-history): Adjust to change of format of
10235         ChangeLog file, which now has a coding cookie before an indented
10236         copyright notice.
10238         gitlog-to-changelog coding cookie and mv -i
10239         * build-aux/gitlog-to-emacslog: Use ChangeLog.1, not Makefile.in,
10240         for copyright notice prototype, so that we get a proper "coding:"
10241         cookie.  Use 'mv -i' to avoid unconditionally overwriting an
10242         existing ChangeLog.  Problems reported by Eli Zaretskii in:
10243         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00504.html
10245         Merge from gnulib
10246         * build-aux/gitlog-to-changelog: Update from gnulib, incorporating:
10247         2015-04-09 gitlog-to-changelog: port to MS-Windows
10249 2015-04-09  Boruch Baum  <boruch_baum@gmx.com>  (tiny change)
10251         * lisp/bookmark.el (bookmark-bmenu-goto-bookmark): Don't inf-loop.
10252         (Bug#20212)
10254 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
10256         Stop messing with the EMACS env var
10257         (Bug#20202)
10258         * lisp/net/tramp-sh.el (tramp-remote-process-environment):
10259         * lisp/comint.el (comint-exec-1):
10260         * lisp/term.el (term-exec-1): Don't set EMACS envvar.
10261         * lisp/progmodes/compile.el (compilation-start): Same and bring
10262         INSIDE_EMACS's format in line with other users.
10264         css-mode.el (css-smie-rules): Fix indentation after complex selectors
10265         (Bug#20282)
10266         * lisp/textmodes/css-mode.el (css-smie-rules): Don't get confused by
10267         inner structure of selectors.
10269 2015-04-08  Fabián Ezequiel Gallina  <fgallina@gnu.org>
10271         python.el: Indent docstring lines to base-indent
10272         (Bug#19595)
10273         Thanks to immerrr <immerrr@gmail.com> for reporting and providing
10274         an initial patch.
10275         * lisp/progmodes/python.el
10276         (python-indent-context): Add :inside-docstring context.
10277         (python-indent--calculate-indentation): Handle :inside-docstring.
10278         (python-indent-region): Re-indent docstrings.
10279         * test/automated/python-tests.el (python-indent-region-5)
10280         (python-indent-inside-string-2): Fix tests.
10282         python.el: Increase native completion robustness
10283         (Bug#19755)
10284         Thanks to Carlos Pita <carlosjosepita@gmail.com> for reporting
10285         this and providing useful ideas.
10286         * lisp/progmodes/python.el
10287         (python-shell-completion-native-output-timeout): Increase value.
10288         (python-shell-completion-native-try-output-timeout): New var.
10289         (python-shell-completion-native-try): Use it.
10290         (python-shell-completion-native-setup): New readline setup avoids
10291         polluting current context, ensures output when no-completions are
10292         available and includes output end marker.
10293         (python-shell-completion-native-get-completions): Trigger with one
10294         tab only.  Call accept-process-output until output end is found or
10295         python-shell-completion-native-output-timeout is exceeded.
10297 2015-04-08  Samer Masterson  <samer@samertm.com>
10299         * lisp/eshell: Make backslash a no-op in front of normal chars
10300         (Bug#8531)
10301         * lisp/eshell/esh-arg.el (eshell-parse-argument-hook): Update comment.
10302         (eshell-parse-backslash): Return escaped character after backslash
10303         if it is special.  Otherwise, if the backslash is not in a quoted
10304         string, ignore the backslash and return the character after; if
10305         the backslash is in a quoted string, return the backslash and the
10306         character after.
10307         * test/automated/eshell.el (eshell-test/escape-nonspecial)
10308         (eshell-test/escape-nonspecial-unicode)
10309         (eshell-test/escape-nonspecial-quoted)
10310         (eshell-test/escape-special-quoted): Add tests for new
10311         `eshell-parse-backslash' behavior.
10313 2015-04-08  Gustav Hållberg  <gustav@gmail.com>  (tiny change)
10315         * lisp/vc/diff-mode.el (diff-hunk-file-names): Don't require a TAB
10316         after the file name.
10317         (Bug#20276)
10319 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
10321         Minor quoting etc. fixes to Emacs manual
10322         * doc/emacs/Makefile.in, doc/emacs/ack.texi, doc/emacs/building.texi:
10323         * doc/emacs/calendar.texi, doc/emacs/cmdargs.texi:
10324         * doc/emacs/custom.texi, doc/emacs/dired.texi, doc/emacs/emacs.texi:
10325         * doc/emacs/files.texi, doc/emacs/glossary.texi, doc/emacs/gnu.texi:
10326         * doc/emacs/indent.texi, doc/emacs/macos.texi:
10327         * doc/emacs/maintaining.texi, doc/emacs/makefile.w32-in:
10328         * doc/emacs/programs.texi, doc/emacs/rmail.texi:
10329         * doc/emacs/search.texi, doc/emacs/trouble.texi:
10330         * doc/emacs/vc1-xtra.texi:
10331         Use American-style double quoting in ordinary text,
10332         and quote 'like this' when single-quoting in ASCII text.
10333         Also, fix some minor spacing issues.
10335         Minor quoting etc. fixes to elisp intro
10336         * doc/lispintro/emacs-lisp-intro.texi: Consistently use
10337         American-style double quoting in ordinary text.  In ASCII text,
10338         consistently quote 'like this' instead of `like this', unless
10339         Emacs requires the latter.
10341 2015-04-08  Dmitry Gutov  <dgutov@yandex.ru>
10343         * CONTRIBUTE: Mention log-edit-insert-changelog.
10345         * CONTRIBUTE: Emphasize creating the top-level ChangeLog file manually.
10347 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
10349         * doc/misc/calc.texi (Summary): Avoid '@:' when usurped.
10351 2015-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>
10353         (eieio-copy-parents-into-subclass): Fix inheritance of initargs
10354         (Bug#20270)
10355         * lisp/emacs-lisp/eieio-core.el (eieio-copy-parents-into-subclass):
10356         Fix inheritance of initargs.
10358 2015-04-08  Artur Malabarba  <bruce.connor.am@gmail.com>
10360         * lisp/emacs-lisp/package.el (package-menu-mode): Mode-line notification
10361         while dowloading information.
10363         * lisp/emacs-lisp/package.el: More conservative `ensure-init-file'
10364         (package--ensure-init-file): Check file contents before visiting.
10365         (package-initialize): Call it.
10366         (package-install-from-buffer, package-install): Don't call it.
10368 2015-04-08  Eli Zaretskii  <eliz@gnu.org>
10370         * src/eval.c (init_eval_once): Bump max_lisp_eval_depth to 800
10371         (Bug#17517)
10373 2015-04-08  Michael Albinus  <michael.albinus@gmx.de>
10375         Fix nasty scoping bug in tramp-cache.el
10376         * lisp/net/tramp-cache.el (tramp-flush-file-property): Fix nasty scoping bug.
10378 2015-04-08  Tassilo Horn  <tsdh@gnu.org>
10380         Add notice to visual commands section
10381         * doc/misc/eshell.texi (Input/Output): Add notice that some tools
10382         such as git call less with its -F option which omits pagination if
10383         the contents is less than one page long.  This interferes with
10384         eshell's visual (sub-)commands.
10386 2015-04-07  Dmitry Gutov  <dgutov@yandex.ru>
10388         ffap: Support environment variable expansion in file names
10389         (Bug#19839)
10390         * lisp/ffap.el (ffap-string-at-point-mode-alist): Support
10391         environment variable expansion in file names.
10393 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
10395         Prefer double-quote to accent-grave in man pages
10397 2015-04-07  Stefan Monnier  <monnier@iro.umontreal.ca>
10399         (Bug#20257)
10400         * lisp/files.el (set-visited-file-name): Clear auto-save if nil.
10402 2015-04-07  Ivan Shmakov  <ivan@siamics.net>
10404         Update etc/PROBLEMS.
10405         * etc/PROBLEMS: Mention visible-cursor; a few more mentions of
10406         ~/.Xresources and xrdb(1); refer to 'GNU Coreutils' and
10407         'X Window System' or 'X' (were: 'GNU Fileutils' and 'X Windows',
10408         respectively); other minor updates and tweaks.  (Bug#20011)
10410 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
10412         Add doc strings for some Isearch state vars
10413         * lisp/misearch.el (multi-isearch-buffer-list)
10414         (multi-isearch-file-list): Add doc strings.
10415         (Bug#20232)
10417 2015-04-07  Alan Mackenzie  <acm@muc.de>
10419         Always mark "<" and ">" in #include directives with text properties.
10420         * lisp/progmodes/c-fonts.el (c-cpp-matchers): Replace a font-lock "anchored
10421         matcher" with an invocation of c-make-font-lock-search-function to allow
10422         fontification when there's no trailing space on an "#include <..>" line.
10424 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
10426         Generate a ChangeLog file from commit logs
10427         * .gitignore: Add 'ChangeLog'.
10428         * build-aux/gitlog-to-changelog: New file, from Gnulib.
10429         * build-aux/gitlog-to-emacslog: New file.
10430         * CONTRIBUTE: Document the revised workflow.
10431         * Makefile.in (clean): Remove *.tmp and etc/*.tmp*
10432         instead of just special cases.
10433         (CHANGELOG_HISTORY_INDEX_MAX, CHANGELOG_N, gen_origin): New vars.
10434         (ChangeLog, unchanged-history-files, change-history)
10435         (change-history-commit): New rules.
10436         * admin/admin.el (make-manuals-dist--1):
10437         Don't worry about doc/ChangeLog.
10438         * admin/authors.el: Add a FIXME.
10439         * admin/make-tarball.txt:
10440         * lisp/calendar/icalendar.el:
10441         * lisp/gnus/deuglify.el:
10442         * lisp/obsolete/gulp.el:
10443         * lwlib/README:
10444         Adjust to renamed ChangeLog history files.
10445         * admin/merge-gnulib (GNULIB_MODULES): Add gitlog-to-changelog.
10446         * admin/notes/repo: Call it 'master' a la Git, not 'trunk' a la Bzr.
10447         Remove obsolete discussion of merging ChangeLog files.
10448         New section "Maintaining ChangeLog history".
10449         * build-aux/git-hooks/pre-commit:
10450         Reject attempts to commit files named 'ChangeLog'.
10451         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
10452         * make-dist: Make and distribute top-level ChangeLog if there's a
10453         .git directory.  Distribute the new ChangeLog history files
10454         instead of scattered ChangeLog files.  Distribute the new files
10455         gitlog-to-changelog and gitlog-to-emacslog.
10456         (Bug#19113)
10458         Rename ChangeLogs for gitlog-to-changelog
10459         This patch was implemented via the following shell commands:
10460         find * -name ChangeLog |
10461         sed 's,.*,git mv & &.1,
10462         s, lisp/ChangeLog\.1$, lisp/ChangeLog.17,
10463         s, lisp/erc/ChangeLog\.1$, lisp/erc/ChangeLog.09,
10464         s, lisp/gnus/ChangeLog\.1$, lisp/gnus/ChangeLog.3,
10465         s, lisp/mh-e/ChangeLog\.1$, lisp/mh-e/ChangeLog.2,
10466         s, src/ChangeLog\.1$, src/ChangeLog.13,' |
10467         sh
10468         git commit -am"[this commit message]"
10470 This file records repository revisions from
10471 commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to
10472 commit a664f6a5d586e1f3fdbf31d0cf2fdaa6429a58fe (inclusive).
10473 See ChangeLog.1 for earlier changes.
10475 ;; Local Variables:
10476 ;; coding: utf-8
10477 ;; End:
10479   Copyright (C) 2015 Free Software Foundation, Inc.
10481   This file is part of GNU Emacs.
10483   GNU Emacs is free software: you can redistribute it and/or modify
10484   it under the terms of the GNU General Public License as published by
10485   the Free Software Foundation, either version 3 of the License, or
10486   (at your option) any later version.
10488   GNU Emacs is distributed in the hope that it will be useful,
10489   but WITHOUT ANY WARRANTY; without even the implied warranty of
10490   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10491   GNU General Public License for more details.
10493   You should have received a copy of the GNU General Public License
10494   along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.