Bind grep-highlight-matches around the rgrep call
[emacs.git] / ChangeLog.2
blob276b6c8614f0119e59c22c3a4a043e6e82486126
1 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
3         * etc/NEWS: Fix mention to old function name
5         * lisp/character-fold.el: New file (Bug#20887)
6         (character-fold-to-regexp): New function.
7         * lisp/replace.el (replace-search): Check value of
8         `character-fold-search'.
9         * lisp/isearch.el: Move character-folding code to
10         character-fold.el
11         (isearch-toggle-character-fold): New command.
12         (isearch-mode-map): Bind it to "\M-sf".
13         (isearch-mode): Check value of `character-fold-search'.
15 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
17         * lisp/subr.el (remove-from-invisibility-spec): Handle the t case
18         * lisp/subr.el (remove-from-invisibility-spec): Make sure `element'
19         is visible even if it's not yet in buffer-invisibility-spec (bug#20468).
21         * lisp/progmodes/xref.el: Avoid init-args in oref.
22         * lisp/progmodes/xref.el (xref-location-group, xref-location-marker)
23         (xref--insert-xrefs, xref-collect-references): Avoid init-args in oref.
25 2015-06-24  Glenn Morris  <rgm@gnu.org>
27         * Makefile.in (install-arch-dep): Don't set sticky bit on the binary.
29 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
31         * lisp/gnus/nnmaildir.el: Silence lexical warnings
32         * lisp/gnus/nnmaildir.el (nnmaildir--prepare): Use a more
33         functional style.
34         (nnmaildir--update-nov): Remove unused var `numdir'.
35         (nnmaildir-request-type, nnmaildir--scan, nnmaildir-request-newgroups)
36         (nnmaildir-request-group, nnmaildir-request-create-group)
37         (nnmaildir-request-post, nnmaildir-request-move-article)
38         (nnmaildir-request-accept-article, nnmaildir-active-number): Mark unused args.
39         (nnmaildir-get-new-mail, nnmaildir-group-alist)
40         (nnmaildir-active-file): Declare.
41         (nnmaildir-request-scan): Remove unused vars `group' and `grp-dir'.
42         (nnmaildir-request-update-info): Remove unused vars `dotfile', `num',
43         `mark', `end', `new-mark', and `mark-sym'.
44         (nnmaildir-retrieve-headers): Remove unused args `srv-dir', `dir',
45         `nlist2'.
46         (nnmaildir-request-expire-articles):
47         Remove unused vars `article', `stop' and `nlist2'.
48         (nnmaildir-request-set-mark): Remove unused vars `begin', `article' and
49         `end'.  Use nnmaildir--article when dyn-binding is needed.
50         Give the value directly in the `let' for `del-mark', `del-action',
51         `add-action', and `set-action'.  Don't use `add-to-list' on a local var.
52         (nnmaildir-close-server): Declare those local vars that need to be
53         dyn-bound.
55 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
57         * src/keyboard.h (kbd_buffer_store_event_hold): Remove unused local.
59         Port selection info fix to clang
60         * src/keyboard.h (kbd_buffer_store_event_hold):
61         Don't assume C11 semantics for alignof (Bug#20756).
63         Fix bug that munged selection info
64         On some optimizing C compilers, copying a structure did not
65         copy the padding bytes between elements, and the type punning
66         between struct input_data and struct selection_input_data did
67         not work.  Change the C code to use a proper union type instead.
68         Problem reported by YAMAMOTO Mitsuharu (Bug#20756).
69         * src/keyboard.c (kbd_buffer, kbd_fetch_ptr, kbd_store_ptr)
70         (readable_events, discard_mouse_events, kbd_buffer_events_waiting)
71         (kbd_buffer_get_event, process_special_events, stuff_buffered_input)
72         (mark_kboards):
73         Use union buffered_input_event, not struct input_event.
74         (clear_event, deliver_input_available_signal, process_special_events):
75         Remove unnecessary forward decls.
76         (kbd_buffer_store_buffered_event): New function, mostly just the
77         old kbd_buffer_store_event_hold, except its argument is of type
78         union buffered_input_event, not struct input_event.
79         (kbd_buffer_unget_event): Define only if HAVE_X11, since it's
80         not needed otherwise.  Argument is now of type
81         struct selection_input_event *, not struct input_event *.
82         All callers changed.
83         (clear_event): Arg is now of type union buffered_input_event *,
84         not struct input_event *.  All callers changed.
85         * src/keyboard.h [HAVE_X11]: Include "xterm.h".
86         (union buffered_input_event): New type.
87         (kbd_buffer_store_event_hold): Now an inline function,
88         defined here.
89         * src/termhooks.h (EVENT_KIND_WIDTH): New constant.
90         (struct input_event): Use it.
91         * src/xselect.c (struct selection_event_queue):
92         Make elements be of type struct selection_input_event,
93         not struct input_event.
94         (selection_input_event_equal): New static function.
95         (x_queue_event): Use it.
96         (x_queue_event, x_decline_selection_request)
97         (x_selection_current_request, x_reply_selection_request)
98         (x_handle_selection_request, x_handle_selection_clear)
99         (x_handle_selection_event): Use struct selection_input_event,
100         not struct input_event.  All callers changed.
101         (x_convert_selection): Omit unused first arg.  All callers changed.
102         (Fx_disown_selection_internal): Omit unnecessary union.
103         * src/xterm.c (handle_one_xevent): Use new union buffered_input_event
104         rather than rolling our own equivalent.  Prefer sie.kind when
105         setting up that kind of structure.
106         Call kbd_buffer_store_buffered_event, not kbd_buffer_store_event_hold.
107         * src/xterm.h (struct selection_input_event: Use EVENT_KIND_WIDTH.
108         (SELECTION_EVENT_DISPLAY, SELECTION_EVENT_DPYINFO)
109         (SELECTION_EVENT_REQUESTOR, SELECTION_EVENT_SELECTION)
110         (SELECTION_EVENT_TARGET, SELECTION_EVENT_PROPERTY)
111         (SELECTION_EVENT_TIME, x_handle_selection_event):
112         Arg is now of type struct selection_input_event *)
113         not struct input_event *.  All callers changed.
115 2015-06-23  Glenn Morris  <rgm@gnu.org>
117         * Makefile.in (install-arch-dep): Simplify with Make conditionals.
119 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
121         * lisp/isearch.el: Fold many unicode characters to ASCII
122         (isearch-character-fold-search, isearch--character-fold-extras)
123         (isearch--character-fold-table): New variable.
124         (isearch--character-folded-regexp): New function.
125         (isearch-search-fun-default): Use them.
126         * lisp/replace.el (replace-character-fold): New variable.
127         (replace-search): Use it.
128         * etc/NEWS: Document it.
130 2015-06-23  Glenn Morris  <rgm@gnu.org>
132         Check for an input event before showing a dialog box.  (Bug#20813)
133         * lisp/subr.el (y-or-n-p):
134         * src/fns.c (Fyes_or_no_p): Check last-input-event as well
135         as last-nonmenu-event.
137 2015-06-23  Jürgen Hartmann  <juergen_hartman_@hotmail.com>  (tiny change)
139         Respect ‘switch-to-visible-buffer’ more rigidly.  (Bug#20861)
140         * lisp/window.el (switch-to-visible-buffer): Doc adjustment.
141         (switch-to-prev-buffer, switch-to-next-buffer): Respect
142         switch-to-visible-buffer independent of the windows history.
144 2015-06-23  Paul Eggert  <eggert@cs.ucla.edu>
146         * src/keyboard.c (last_timer_event): Remove unused var.
148 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
150         * test/automated/package-test.el (package-test-update-listing):
151         Fix test.
153 2015-06-23  Glenn Morris  <rgm@gnu.org>
155         Revert 2014-06-25 nextstep/Makefile change.
156         * nextstep/Makefile.in (${ns_appbindir}): Remove rule.
157         (${ns_appbindir}/Emacs, links): Create ns_appbindir in the rule,
158         not as an order-only prerequisite.
160         * configure.ac (--with-ns): Enable by default on OS X.
162 2015-06-23  Leo Liu  <sdl.web@gmail.com>
164         Fix shell-for/backward-command to exclude spaces
165         * lisp/shell.el (shell-forward-command, shell-backward-command):
166           Handle the 'move case from re-search-forward/backward.
167           fixes debbugs:20873
169 2015-06-22  Juri Linkov  <juri@linkov.net>
171         * lisp/replace.el (query-replace-read-from): Add separator to
172         the local binding of text-property-default-nonsticky.  (Bug#20690)
174         * lisp/simple.el (shell-command-on-region): Replace 'error' with 'user-error'.
175         (Bug#20785)
177 2015-06-22  Ken Brown  <kbrown@cornell.edu>
179         Enable CPU profiling on Cygwin
180         * src/syssignal.h [CYGWIN] (PROFILER_CPU_SUPPORT): Revert previous
181         change that undefined this.
182         (SIGEV_SIGNAL): Ensure that this is defined as a macro.
183         * src/profiler.c [CYGWIN] (timer_getoverrun): Define as a macro on
184           Cygwin.
186         Improve diagnostics of profiler-cpu-start
187         * src/profiler.c (setup_cpu_timer): Change return type to 'int';
188         return -1 if the sampling interval is invalid.
189         (Fprofiler_cpu_start): Improve error message if 'setup_cpu_timer'
190         fails.  (Bug#20843)
192 2015-06-22  Artur Malabarba  <bruce.connor.am@gmail.com>
194         * lisp/emacs-lisp/package.el: Exclude packages by name
195         (package-hidden-regexps): New variable.
196         (package-menu--refresh): Use it.
197         (package-menu-hide-package): New command.
199         * lisp/emacs-lisp/package.el: Rename hide-obsolete to toggle-hiding
201 2015-06-22  Eli Zaretskii  <eliz@gnu.org>
203         Fix debug-timer-check on systems without HAVE_TIMERFD
204         * src/atimer.c (Fdebug_timer_check) [!HAVE_TIMERFD]: Actively run
205         the expired timers, since wait_reading_process_output doesn't.
206         (debug_timer_callback): Enlarge the tolerance to 20 msec.
208         Fix RCS crashes in vc-test
209         * lisp/vc/vc-rcs.el (vc-rcs-register): Avoid crashes with some old
210         ports of 'ci' on MS-Windows by always passing the -t- switch.
212 2015-06-22  Glenn Morris  <rgm@gnu.org>
214         * doc/emacs/package.texi (Packages):
215         * doc/emacs/trouble.texi (Known Problems): Remove faq cross-references.
217         * doc/misc/efaq-w32.texi (Downloading): Copyedits.  (Bug#20851)
219 2015-06-22  Paul Eggert  <eggert@cs.ucla.edu>
221         Port tests to help-quote-translation
222         * test/automated/ert-x-tests.el (ert-test-describe-test):
223         * test/automated/package-test.el (package-test-describe-package)
224         (package-test-signed): Allow straight quotes, too.
226 2015-06-22  Dmitry Gutov  <dgutov@yandex.ru>
228         Make find-function-on-key use the current window
229         * lisp/emacs-lisp/find-func.el (find-function-on-key-do-it):
230         Extract from `find-function-on-key', add a second argument.
231         (find-function-on-key): Use it (bug#19679).
232         (find-function-on-key-other-window)
233         (find-function-on-key-other-frame): New commands.
235 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
237         Revert "Define `map-elt' as a generalized variable"
238         This reverts commit 8b6d82d3ca86f76ed964063b3941a7c6ab0bf1c6.
240 2015-06-21  Ken Brown  <kbrown@cornell.edu>
242         Drop support for CPU profiling on Cygwin
243         * src/syssignal.h (PROFILER_CPU_SUPPORT): Don't define on Cygwin.
244         (Bug#20843)
246 2015-06-21  Paul Eggert  <eggert@cs.ucla.edu>
248         Fix some “nested” quoting confusion in doc strings
249         * lisp/emacs-lisp/advice.el (ad-map-arglists):
250         * lisp/kermit.el (kermit-clean-on):
251         * lisp/mh-e/mh-comp.el (mh-repl-group-formfile):
252         * src/keyboard.c (Frecursive_edit):
253         Use curved quotes when quoting text containing apostrophe,
254         so that the apostrophe isn't curved in the output.
256 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
258         Define `map-elt' as a generalized variable
259         * lisp/emacs-lisp/map.el (map-elt): Define a gv-expander.
260         * lisp/emacs-lisp/map.el (map--dispatch): Tighten the code.
261         * lisp/emacs-lisp/map.el (map-put): Redefine it as a function using a
262         `setf' with `map-elt'.
263         * test/automated/map-tests.el: Comment out `test-map-put-literal'.
265 2015-06-21  Michael Albinus  <michael.albinus@gmx.de>
267         Improve error handling in tramp-adb.el
268         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy):
269         Improve error handling.
271 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
273         Reuse `alist-get' in map.el
274         * lisp/emacs-lisp/map.el (map-elt): Use `alist-get' to retrieve alist
275         elements.
277 2015-06-21  Eli Zaretskii  <eliz@gnu.org>
279         Fix bytecomp-tests--warnings when $TMPDIR has a long name
280         * test/automated/bytecomp-tests.el (bytecomp-tests--warnings):
281         Allow the warning to begin on the 3rd, not only 2nd line, which
282         happens if temporary-file-directory has a very long name.
284         Expect 2 icalendar tests to fail on MS-Windows
285         * test/automated/icalendar-tests.el (icalendar-import-with-timezone)
286         (icalendar-real-world): Make them expected failures on MS-Windows.
288 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
290         Improve port of settings UI to older displays
291         * lisp/cus-start.el (standard): Don't assume curved quotes are
292         easily distinguishable when users are tinkering with a setting
293         that affects how curved quotes are generated.
295         Fix quoting in electric-quote-mode doc string
296         * lisp/electric.el (electric-quote-mode): Fix quoting.
297         This is a fallout from the recent change introducing
298         ‘help-quote-translation’.
300         Spelling fix
302         * doc/misc/texinfo.tex, lib/set-permissions.c: Merge from gnulib.
304         * src/doc.c (syms_of_doc): Remove unused symbols.
306 2015-06-20  Martin Rudalics  <rudalics@gmx.at>
308         In ‘window-state-put’ undedicate target window.  (Bug#20848)
309         * lisp/window.el (window-state-put): Undedicate target window
310         before putting STATE into it.  (Bug#20848)
312 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
314         Merge from origin/emacs-24
315         a5e6f33 Fixes: debbugs:20832
316         b9f02cf Fixes: debbugs:20832
318 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
320         Fix file-in-directory-p when the directory is UNC
321         * lisp/files.el (file-in-directory-p): Support files and
322         directories that begin with "//".  (Bug#20844)
324 2015-06-19  Stephen Berman  <stephen.berman@gmx.net>
326         (Bug#20832)
327         * lisp/calendar/todo-mode.el (todo-show): Don't visit todo file
328         in the minibuffer.
330 2015-06-19  Nicolas Richard  <youngfrog@members.fsf.org>
332         (Bug#20832)
333         * lisp/calendar/todo-mode.el (todo-show): Signal an error
334         if buffer for adding new todo file is empty but modified.
336 2015-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
338         (filepos-to-bufferpos): Further tweaks to the utf-16 code
339         * lisp/international/mule-util.el (filepos-to-bufferpos):
340         Fix typo.  Move non-exact check to the utf-16 branch (the only one
341         affected).  Don't use byte-to-position for the utf-16 case.
343 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
345         Minor fixes in filepos-to-bufferpos
346         * lisp/international/mule-util.el (filepos-to-bufferpos): Remove
347         test for utf-8-emacs.  Exempt single-byte encodings from the
348         'use-exact' path when QUALITY is 'exact'.  Test UTF-16 encodings
349         for BOM before subtracting 2 bytes.  Use 'identity' when adjusting
350         UTF-16 encoded files for CR-LF EOLs.
352 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
354         Improve the optional translation of quotes
355         Fix several problems with the recently-added custom variable
356         help-quote-translation where the code would quote inconsistently
357         in help buffers.  Add support for quoting 'like this', which
358         is common in other GNU programs in ASCII environments.  Change
359         help-quote-translation to use more mnemonic values: values are now the
360         initial quoting char, e.g., (setq help-quote-translation ?`) gets the
361         traditional Emacs help-buffer quoting style `like this'.  Change the
362         default behavior of substitute-command-keys to match what's done in
363         set-locale-environment, i.e., quote ‘like this’ if displayable,
364         'like this' otherwise.
365         * doc/lispref/help.texi (Keys in Documentation): Document
366         new behavior of substitute-command-keys, and document
367         help-quote-translation.
368         * doc/lispref/tips.texi (Documentation Tips):
369         Mention the effect of help-quote-translation.
370         * etc/NEWS: Mention new behavior of substitute-command-keys,
371         and merge help-quote-translation news into it.
372         When talking about doc strings, mention new ways to type quotes.
373         * lisp/cedet/mode-local.el (overload-docstring-extension):
374         Revert my recent change to this function, which shouldn't be
375         needed as the result is a doc string.
376         * lisp/cedet/mode-local.el (mode-local-print-binding)
377         (mode-local-describe-bindings-2):
378         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
379         * lisp/cus-theme.el (describe-theme-1):
380         * lisp/descr-text.el (describe-text-properties-1, describe-char):
381         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
382         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
383         (eieio-help-constructor):
384         * lisp/emacs-lisp/package.el (describe-package-1):
385         * lisp/faces.el (describe-face):
386         * lisp/help-fns.el (help-fns--key-bindings)
387         (help-fns--compiler-macro, help-fns--parent-mode)
388         (help-fns--obsolete, help-fns--interactive-only)
389         (describe-function-1, describe-variable):
390         * lisp/help.el (describe-mode):
391         Use substitute-command-keys to ensure a more-consistent quoting
392         style in help buffers.
393         * lisp/cus-start.el (standard):
394         Document new help-quote-translation behavior.
395         * lisp/emacs-lisp/lisp-mode.el (lisp-fdefs):
396         * lisp/help-mode.el (help-xref-symbol-regexp, help-xref-info-regexp)
397         (help-xref-url-regexp):
398         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
399         * lisp/wid-edit.el (widget-documentation-link-regexp):
400         Also match 'foo', in case we're in a help buffer generated when
401         help-quote-translation is ?'.
402         * src/doc.c: Include disptab.h, for DISP_CHAR_VECTOR.
403         (LEFT_SINGLE_QUOTATION_MARK, uLSQM0, uLSQM1, uLSQM2, uRSQM0)
404         (uRSQM1, uRSQM2, LSQM, RSQM): New constants.
405         (Fsubstitute_command_keys): Document and implement new behavior.
406         (Vhelp_quote_translation): Document new behavior.
408 2015-06-18  Glenn Morris  <rgm@gnu.org>
410         * lisp/cus-start.el (help-quote-translation): Add :version.
412         * src/doc.c (Fsubstitute_command_keys): Make previous change compile.
414 2015-06-18  Alan Mackenzie  <acm@muc.de>
416         Make translation of quotes to curly in doc strings optional.
417         src/doc.c (traditional, prefer-unicode): new symbols.
418         (help-quote-translation): new variable.
419         (Fsubstitute_command_keys): make translation of quotes dependent on
420         `help-quote-translation'; also translate curly quotes back to ASCII
421         ones.
422         lisp/cus-start.el (top-level): Add a customization entry for
423         `help-quote-translation'.
425 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
427         * lisp/emacs-lisp/package.el: Don't always propagate async errors
428         (package--with-work-buffer-async): Only propagate the error if the
429         callback returns non-nil.
430         (package--download-one-archive): Return nil on the signature
431         checking callback if we accept unsigned.
432         (package--download-and-read-archives): Return non-nil on the
433         archive download callback.
435 2015-06-18  Martin Rudalics  <rudalics@gmx.at>
437         Fix last fix"
439         Set image_cache_refcount before x_default_parameter calls.  (Bug#20802)
440         * src/nsfns.m (Fx_create_frame):
441         * src/xfns.c (Fx_create_frame, x_create_tip_frame): Move setting
442         image_cache_refcount before first x_default_parameter call.
444 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
446         Improve and extend filepos-to-bufferpos
447         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
448         Don't barf if F returns nil for some argument.
449         (filepos-to-bufferpos): Expand to support UTF-16 and not assume
450         that every encoding of type 'charset' is single-byte.
452 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
454         * lisp/emacs-lisp/package.el (package-menu--perform-transaction):
455         Properly delete packages.  (Bug#20836)
457 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
459         Update data files from just-released Unicode 8.0
460         * etc/NEWS: Update wording since Unicode 8.0 is no longer in draft
461         status.
462         * test/BidiCharacterTest.txt: Update from Unicode 8.0.
463         * admin/unidata/BidiMirroring.txt:
464         * admin/unidata/BidiBrackets.txt:
465         * admin/unidata/UnicodeData.txt: Update from Unicode 8.0.
467 2015-06-18  Paul Eggert  <eggert@cs.ucla.edu>
469         Document curved quotes a bit better
470         * doc/emacs/basic.texi (Inserting Text):
471         Mention C-x 8.  Change example to use curved quote rather
472         than infinity, as this lets us give more ways to do it.
473         * doc/emacs/mule.texi (International Chars): Mention C-x 8 shortcuts
474         and quotation marks.
475         * doc/emacs/text.texi (Quotation Marks):
476         * doc/lispref/tips.texi (Documentation Tips):
477         Add "curly quotes" and "curved quotes" to the index.
478         * doc/emacs/text.texi (Quotation Marks):
479         Give the C-x 8 shorthands for curved quotes.
480         Cross-reference to "Quotation Marks".
482 2015-06-17  Daiki Ueno  <ueno@gnu.org>
484         Add pinentry.el for better GnuPG integration
485         * lisp/pinentry.el: New file.
486         * etc/NEWS: Add entry about pinentry.el.
487         * lisp/epg.el (epg--start): Set INSIDE_EMACS envvar.
488         (Bug#20550)
490 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
492         * lisp/emacs-lisp/package.el: Slightly better error reporting.
494 2015-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
496         (define-minor-mode): Use setq-default for :global minor modes
497         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode):
498         Use setq-default for :global minor modes (bug#20712).
500 2015-06-17  Eli Zaretskii  <eliz@gnu.org>
502         Avoid infloop in redisplay with tall images
503         * src/xdisp.c (try_scrolling): Prevent an infloop when scrolling
504         down near ZV.  (Bug#20808)
505         Call bidi_unshelve_cache to avoid memory leaks.  Use IT_CHARPOS
506         instead of CHARPOS.
508 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
510         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
511         Fix error reporting.
513         * lisp/let-alist.el: move to lisp/emacs-lisp/let-alist.el
515         * lisp/emacs-lisp/package.el: Revert buffer after any operation
516         Call `package-menu--post-refresh' after any operation that changes
517         the package database (`package-install' and `package-delete').  To
518         avoid performance issues in large transactions, these functions
519         add `post-refresh' to `post-command-hook' instead of calling it
520         immediately.
521         (package-menu--mark-or-notify-upgrades): New function.
522         (list-packages): Add it to `package--post-download-archives-hook'.
523         (package-menu--post-refresh): Lose the upgrade-checking code, add
524         code to remove itself from `post-command-hook'.
525         (package-install, package-delete): Add it to `post-command-hook'.
526         (package-menu-execute): Don't call `package-menu--post-refresh'.
528 2015-06-17  Stephen Leake  <stephen_leake@stephe-leake.org>
530         Add missing function xref-location-group for elisp-mode.
531         * lisp/progmodes/elisp-mode.el: Add missing function xref-location-group.
533 2015-06-17  Wolfgang Jenkner  <wjenkner@inode.at>
535         * src/editfns.c (Fbyte_to_position): Fix bytepos not at char boundary.
536         The behavior now matches the description in the manual.  (Bug#20783)
538 2015-06-17  Xue Fuqiao  <xfq.free@gmail.com>
540         Update tutorials/TUTORIAL.cn
541         * etc/tutorials/TUTORIAL.cn: Update; synchronize with TUTORIAL.
543 2015-06-17  Glenn Morris  <rgm@gnu.org>
545         Generate char-script-table from Unicode source.  (Bug#20789)
546         * admin/unidata/Makefile.in (AWK): New, set by configure.
547         (all): Add charscript.el.
548         (blocks): New variable.
549         (charscript.el, ${unidir}/charscript.el): New targets.
550         (extraclean): Also remove generated charscript.el.
551         * admin/unidata/blocks.awk: New script.
552         * admin/unidata/Blocks.txt: New data file, from unicode.org.
553         * lisp/international/characters.el: Load charscript.
554         * src/Makefile.in (charscript): New variable.
555         (${charscript}): New target.
556         (${lispintdir}/characters.elc): Depend on charscript.elc.
557         (temacs$(EXEEXT)): Depend on charscript.
559         * lisp/international/characters.el (char-script-table): Tweak
560         some ranges to better match the source.  (Bug#20789#17)
562         Remove "no-byte-compile: t" from a few files.
563         * lisp/obsolete/bruce.el, lisp/obsolete/keyswap.el:
564         * lisp/obsolete/patcomp.el: No reason not to compile these.
566 2015-06-16  Glenn Morris  <rgm@gnu.org>
568         Fix some typos in copied Unicode data.  (Bug#20789)
569         * lisp/international/characters.el (char-script-table):
570         * lisp/international/fontset.el (script-representative-chars)
571         (setup-default-fontset): Fix typos.
573         * lisp/emacs-lisp/check-declare.el (check-declare-warn):
574         Don't print filename twice (it's in the prefix now).
576         * lisp/emacs-lisp/pcase.el (pcase--u1): Revert earlier workaround.
577         No longer needed.
579         Address a compilation warning.
580         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defalias):
581         Replace 't' with '_' in pcase.
583         Address some check-declare warnings.
584         * lisp/simple.el (tabulated-list-print):
585         * lisp/progmodes/elisp-mode.el (xref-collect-matches):
586         * lisp/term/ns-win.el (ns-selection-owner-p, ns-selection-exists-p)
587         (ns-get-selection): Update declarations.
589         Address some compilation warnings.
590         * lisp/elec-pair.el (electric-pair-post-self-insert-function):
591         * lisp/vc/vc-git.el (vc-git-file-type-as-string):
592         Replace 't' with '_' in pcase.
594         Address some compilation warnings.
595         * lisp/face-remap.el (text-scale-adjust):
596         * lisp/menu-bar.el (popup-menu-normalize-position):
597         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand):
598         * lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-warn):
599         * lisp/emacs-lisp/generator.el (cps--transform-1):
600         * lisp/emacs-lisp/macroexp.el (macroexp--expand-all):
601         * lisp/obsolete/vc-arch.el (vc-arch-mode-line-string):
602         * lisp/progmodes/octave.el (octave-goto-function-definition)
603         (octave-find-definition-default-filename):
604         Replace 't' with '_' in pcase.
606         * lisp/emacs-lisp/pcase.el (pcase--u1):
607         Paper-over today's bootstrap failure.
609 2015-06-16  Nicolas Petton  <nicolas@petton.fr>
611         * lisp/emacs-lisp/seq.el: Fix a byte-compiler warnings related to pcase.
613         * lisp/emacs-lisp/map.el (map-into): Fix a byte-compiler warning.
615         Better confirmation message in `find-alternate-file' (Bug#20830)
616         * lisp/files.el (find-alternate-file'): Improve the confirmation
617         message to show the buffer name.
619         Better docstring for null. (Bug#20815)
620         * src/data.c (null): Improves the docstring, saying what null returns
621         when OBJECT is non-nil.
623 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
625         * lisp/net/newst-treeview.el: Use lexical-binding.
627         (filepos-to-bufferpos): Add missing cases.  Make sure it terminates.
628         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
629         New auxiliary function, extracted from filepos-to-bufferpos.
630         Make sure it terminates.
631         (filepos-to-bufferpos): Use it to fix the latin-1-dos case.
632         Add support for the `exact' quality.
634 2015-06-16  Cédric Chépied  <cedric.chepied@gmail.com>
636         Identify feeds in newsticker treeview with :nt-feed property
637         * lisp/net/newst-treeview.el:
638         (newsticker--treeview-nodes-eq): Use property :nt-feed instead of :tag.
640 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
642         * lisp/emacs-lisp/pcase.el: Improve docs and error handling
643         (pcase--self-quoting-p): Floats aren't self-quoting.
644         (pcase): Tweak docstring.
645         (pcase--u1): Deprecate the t pattern.  Improve error detection for
646         the nil pattern.
647         (\`): Tweak docstring.  Signal an error for unrecognized cases.
648         (bug#20784)
650 2015-06-16  Eli Zaretskii  <eliz@gnu.org>
652         Fix infloop in filepos-to-bufferpos
653         * lisp/international/mule-util.el (filepos-to-bufferpos): Fix EOL
654         offset calculation, and make it conditional on the eol-type of the
655         file's encoding.  (Bug#20825)
657 2015-06-16  Martin Rudalics  <rudalics@gmx.at>
659         Fix handling of image cache refcounts.  (Bug#20802)
660         This backports Eli Zaretskii's solution of this problem for W32
661         to X and NS.
662         * src/nsfns.m (image_cache_refcount): Define unconditionally.
663         (unwind_create_frame): If the image cache's reference count
664         hasn't been updated yet, do that now.
665         (Fx_create_frame): Set image_cache_refcount unconditionally.
666         * src/xfns.c (image_cache_refcount): Define unconditionally.
667         (unwind_create_frame): If the image cache's reference count
668         hasn't been updated yet, do that now.
669         (Fx_create_frame, x_create_tip_frame): Set image_cache_refcount
670         unconditionally.
671         * src/w32fns.c (image_cache_refcount): Make it a ptrdiff_t as on
672         X and NS.
674 2015-06-16  Nils Ackermann  <nils@ackermath.info>
676         Improve reftex-label-regexps default value
677         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Make
678         keyvals label regexp more strict to better cope with unbalanced
679         brackets common in math documents.
681 2015-06-16  Glenn Morris  <rgm@gnu.org>
683         * doc/emacs/calendar.texi (Format of Diary File):
684         Move "nonmarking" from here...
685         (Displaying the Diary): ... to here.
687         * doc/emacs/calendar.texi (Format of Diary File, Displaying the Diary):
688         Swap the order of these nodes.
689         * doc/emacs/emacs.texi: Update detailed menu for the above change.
691         * doc/emacs/calendar.texi (Specified Dates, Special Diary Entries):
692         Update date of examples.
693         (Diary, Format of Diary File): Move example from former to latter.
694         Reduce duplication.
696         No need for cp51932.el, eucjp-ms.el to not be compiled any more.
697         * admin/charsets/cp51932.awk, admin/charsets/eucjp-ms.awk:
698         Don't set no-byte-compile in the outputs.
699         * lisp/loadup.el: Don't specify uncompiled cp51932, eucjp-ms.
701 2015-06-15  Glenn Morris  <rgm@gnu.org>
703         * lisp/calendar/calendar.el (diary-file): Use locate-user-emacs-file.
704         * doc/emacs/calendar.texi (Diary, Format of Diary File):
705         Update for above diary-file change.
706         : * etc/NEWS: Mention this.
708         * lisp/macros.el (name-last-kbd-macro, kbd-macro-query)
709         (apply-macro-to-region-lines): Use user-error.
711         * lisp/textmodes/page-ext.el (add-new-page, pages-directory)
712         (pages-directory-for-addresses): Doc fixes.
714 2015-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
716         * lisp/info.el: Cleanup bytepos/charpos issues
717         * lisp/international/mule-util.el: Use lexical-binding.
718         (filepos-to-bufferpos): New function.
719         * lisp/info.el (Info-find-in-tag-table-1): Use 0-based file positions.
720         (Info-find-node-2): Use filepos-to-bufferpos (bug#20704).
721         (Info-read-subfile, Info-search): Use 0-based file positions.
723         * lisp/progmodes/perl-mode.el: Refine handling of /re/ and y/abc/def/
724         (perl--syntax-exp-intro-keywords): New var.
725         (perl--syntax-exp-intro-regexp, perl-syntax-propertize-function): Use it.
726         (bug#20800).
728 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
730         Fix quoting when making derived mode docstring
731         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
732         Nest regexp-quote inside format, not the reverse.
733         Problem reported by Artur Malabarba in:
734         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00206.html
736 2015-06-15  Eli Zaretskii  <eliz@gnu.org>
738         ;* src/fontset.c: Update obsolete commentary.
740         Fix current-iso639-language on MS-Windows
741         * lisp/international/mule-cmds.el (set-locale-environment):
742         Downcase the locale name before interning it.  This is so the
743         'current-iso639-language' on MS-Windows matches the ':lang'
744         property of font-spec objects.
746         Limit Symbola usage some more
747         * lisp/international/fontset.el (setup-default-fontset): Limit
748         Symbol coverage of Currency Symbols to u+20B6..u+20CF.
749         (Bug#20727)
751 2015-06-15  Nicolas Petton  <nicolas@petton.fr>
753         * lisp/emacs-lisp/map.el (map-let): Better docstring.
755 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
757         Spelling fixes
759 2015-06-14  Glenn Morris  <rgm@gnu.org>
761         * lisp/version.el (emacs-repository-version-git): Demote errors.
762         Check result is a hash.
764 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
766         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
767         Catch errors that happen before going async.  (Bug#20809)
769 2015-06-14  Eli Zaretskii  <eliz@gnu.org>
771         Another improvement of documentation of set-fontset-font
772         * doc/lispref/display.texi (Fontsets): Say explicitly that
773         CHARACTER can be a single codepoint.
774         * src/fontset.c (Fset_fontset_font): Doc fix.
776         Another improvement for symbol and punctuation characters
777         * lisp/international/fontset.el (setup-default-fontset): Exclude
778         from Symbola character ranges for symbols and punctuation covered
779         well by popular Unicode fonts.  Prefer fixed-misc Unicode font, if
780         installed and where its coverage of symbols and punctuation is
781         known to be good.  (Bug#20727)
783 2015-06-14  Christoph Wedler  <christoph.wedler@sap.com>
785         Some generic support for multi-mode indentation.
786                 * lisp/progmodes/prog-mode.el (prog-indentation-context): New
787                 variable.
788                 (prog-first-column, prog-widen): New convenience functions.
790 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
792         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
793         Don't assume that `tabulated-list-printer' will leave point at the
794         end of the buffer.  (Bug#20810)
796 2015-06-13  Glenn Morris  <rgm@gnu.org>
798         Tweaks for getting repository version; a bit more like it was for bzr.
799         * lisp/version.el (emacs-repository-version-git)
800         (emacs-repository--version-git-1): New functions,
801         split from emacs-repository-get-version.
802         (emacs-repository-get-version): Make the second argument meaningful.
804         * lisp/startup.el (command-line-1): Inform if skipping relative
805         file names due to deleted PWD.
807         * src/xsmfns.c (x_session_initialize): Avoid libSM crash
808         when starup directory is missing.  (Bug#18851)
809         (errno.h): Include it.
811 2015-06-13  Paul Eggert  <eggert@cs.ucla.edu>
813         Better fix for documenting `X as "`X"
814         Fix suggested by Stefan Monnier.
815         * lisp/help-fns.el (help-fns--signature):
816         Insert "`X", not "(\` X)", when documenting `X (Bug#20759).
817         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
818         Don't treat `X specially, as help-fns--signature now handles this.
820 2015-06-13  Eli Zaretskii  <eliz@gnu.org>
822         Improve the default fontset when Symbola is not installed
823         * lisp/international/fontset.el (setup-default-fontset): Only
824         prepend Symbola and FreeMono font specs for symbols and
825         punctuation; do not replace the default spec for them.  This
826         should have better results when Symbola/FreeMono are not
827         installed.  (Bug#20727)
829         Improve documentation of ':lang' in font specs
830         * src/font.c (Ffont_spec): Doc fix: elaborate on the values and
831         use of the ':lang' property of the font spec.
832         * doc/emacs/frames.texi (Fonts): Document the language names that
833         can be in the STYLE part of XLFD.
834         * doc/lispref/display.texi (Low-Level Font): Document the ':lang'
835         property.
837         * nt/README: Don't advertise the (obsolescent) w32 FAQ.
839         * nt/README.W32: Don't advertise the (obsolescent) w32 FAQ.
841         Revert last change in fontset.el
842         * lisp/international/fontset.el (setup-default-fontset): Revert
843         the change "Configure Symbola font only if installed", since font
844         search is evidently not yet set up when this function is called.
845         (Bug#20727)
847 2015-06-12  Glenn Morris  <rgm@gnu.org>
849         Ensure early startup warnings are visible at the end.  (Bug#20792)
850         * lisp/emacs-lisp/warnings.el (display-warning):
851         If startup isn't complete, delay the warning.
852         * lisp/startup.el (normal-top-level, command-line):
853         Let display-warning automatically handle the needed delays.
854         Run delayed-warnings-hook.
856         * lisp/version.el (emacs-repository-get-version):
857         Avoid calling external executable if possible.  (Bug#20799)
859 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
861         Document `X as "`X", not as "(` X)"
862         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
863         Document (backquote FOO) as "`FOO", not as "(` FOO)" (Bug#20759).
865         * src/print.c (print_object): Minor simplification.
867 2015-06-12  Glenn Morris  <rgm@gnu.org>
869         * src/buffer.c (init_buffer): Add final newline to message.
871 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
873         Configure Symbola font only if installed
874         * lisp/international/fontset.el (setup-default-fontset):
875         Don't specify the Symbola font if it's not installed.
876         Likewise for FreeMono.  (Bug#20727)
878 2015-06-12  Eli Zaretskii  <eliz@gnu.org>
880         Configure Symbola font only for symbols and punctuation
881         * lisp/international/fontset.el (setup-default-fontset): Leave
882         only symbols and punctuation in the fontset setup for Symbola
883         font; remove "Greek and Coptic" and "Cyrillic Supplement".
884         (Bug#20798)
886 2015-06-12  Andreas Schwab  <schwab@linux-m68k.org>
888         Fix crash in fontset-info
889         * src/fontset.c (Ffontset_info): Check that the RFONT-DEF elt is
890         non-nil.
892 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
894         Port to Solaris 10 sparc + Sun C 5.13
895         * configure.ac (SETUP_SLAVE_PTY) [sol2* | unixware]:
896         Adjust to process.c change.
897         * src/process.c (create_process): Declare volatile variables at
898         top level of this function, so that they're less likely to be
899         reused later in the function in the code executed by the vforked
900         child.  Do not declare locals used only in the vforked child, as
901         they might share memory with locals still live in the parent.
902         Instead, use the same variables in the child as in the parent.
903         This works around a subtle bug that causes a garbage collector
904         crash when Emacs is built with Sun C 5.13 sparc on Solaris 10.
906 2015-06-12  Glenn Morris  <rgm@gnu.org>
908         * lisp/startup.el (normal-top-level): Don't let *Messages* get
909         a nil default-directory.
911 2015-06-11  Glenn Morris  <rgm@gnu.org>
913         * lisp/startup.el (normal-top-level): Use delay-warning.  (Bug#20792)
915         Some progress towards starting with PWD deleted.  (Bug#18851)
916         * src/buffer.c (init_buffer): Handle get_current_dir_name failures.
917         * lisp/startup.el (normal-top-level, command-line-1):
918         * lisp/minibuffer.el (read-file-name-default):
919         Handle default-directory being nil.
921 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
923         Fix "not a tty" bug on Solaris 10
924         * configure.ac (PTY_OPEN): Define to plain 'open'
925         on SVR4-derived hosts, so that the O_CLOEXEC flag isn't set.
926         * src/process.c (allocate_pty): Set the O_CLOEXEC flag after
927         calling PTY_TTY_NAME_SPRINTF, for the benefit of SVR4-derived
928         hosts that call grantpt which does its work via a setuid subcommand
929         (Bug#19191, Bug#19927, Bug#20555, Bug#20686).
930         Also, set O_CLOEXEC even if PTY_OPEN is not defined, since it
931         seems relevant in that case too.
933 2015-06-11  Juri Linkov  <juri@linkov.net>
935         * lisp/bindings.el (debug-ignored-errors): Add mark-inactive.
936         * lisp/simple.el (kill-region): Replace 'error' with 'user-error'.
937         (Bug#20785)
939 2015-06-11  Glenn Morris  <rgm@gnu.org>
941         * lisp/international/characters.el (char-script-table): Fix typo.
943 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
945         Fix quoting of help for functions with odd names
946         While investigating Bug#20759, I discovered other quoting problems:
947         C-h f mishandled characters like backslash and quote in function names.
948         This fix changes the behavior so that 'C-h f pcase RET' now
949         generates "... (\` QPAT) ..." instead of "... (` QPAT) ...",
950         because '(format "%S" '(` FOO))' returns "(\\` FOO)".  A comment
951         in src/lread.c's read1 function says that the backslash will be
952         needed starting in Emacs 25, which implies that 'format' is
953         correct and the old pcase documention was wrong to omit the backslash.
954         * lisp/emacs-lisp/nadvice.el (advice--make-docstring):
955         * lisp/help-fns.el (help-fns--signature):
956         * lisp/help.el (help-add-fundoc-usage):
957         * lisp/progmodes/elisp-mode.el (elisp-function-argstring):
958         Use help--make-usage-docstring rather than formatting
959         help-make-usage.
960         * lisp/emacs-lisp/pcase.el (pcase--make-docstring):
961         Return raw docstring.
962         * lisp/help-fns.el (help-fns--signature): New arg RAW, to return
963         raw docstring.  Take more care to distinguish raw from cooked dstrings.
964         (describe-function-1): Let help-fns--signature substitute
965         command keys.
966         * lisp/help.el (help--docstring-quote): New function.
967         (help-split-fundoc): Use it, to quote funny characters more
968         systematically.
969         (help--make-usage): Rename from help-make-usage, since this
970         should be private.  Leave an obsolete alias for the old name.
971         (help--make-usage-docstring): New function.
972         * test/automated/help-fns.el (help-fns-test-funny-names): New test.
974 2015-06-11  Stefan Monnier  <monnier@iro.umontreal.ca>
976         * lisp/thingatpt.el (in-string-p): Revert last change,
977         since in-string-p is not used in thingatpt.el but only from outside.
978         Also, use lexical binding.
980 2015-06-11  Artur Malabarba  <bruce.connor.am@gmail.com>
982         * lisp/let-alist.el (let-alist--deep-dot-search): Fix cons
983         * test/automated/let-alist.el (let-alist-cons): Test it.
985 2015-06-11  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
987         * src/syntax.c (Fbackward_prefix_chars): Reword docstring
989 2015-06-10  Glenn Morris  <rgm@gnu.org>
991         * build-aux/gitlog-to-emacslog: Also ignore pointless merge commits.
993         Improve generated ChangeLog for gitmerge.el commits.  (Bug#20717)
994         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
995         * admin/gitmerge.el (gitmerge-commit-message):
996         Exclude "skipped" messages from ChangeLog once again.
998         Slight namespace cleanup for thingatpt.el.
999         * lisp/thingatpt.el (thing-at-point--in-string-p)
1000         (thing-at-point--end-of-sexp, thing-at-point--beginning-of-sexp)
1001         (thing-at-point--read-from-whole-string): Rename from
1002         old versions without "thing-at-point--" prefix.
1003         Keep old versions as obsolete aliases.  Update all uses.
1005         * lisp/emacs-lisp/checkdoc.el (checkdoc-get-keywords):
1006         Move requiring of finder from here...
1007         (checkdoc-package-keywords): ... to here.
1009         Use 'user-error' in a few calendar files.
1010         * lisp/calendar/appt.el (appt-add):
1011         * lisp/calendar/calendar.el (calendar-absolute-from-gregorian)
1012         (calendar-generate):
1013         * lisp/calendar/diary-lib.el (diary-mail-entries, diary-cyclic):
1014         Replace 'error' with 'user-error'.
1016         * lisp/progmodes/f90.el (f90-backslash-not-special): Use user-error.
1018         * lisp/files-x.el (add-file-local-variable):
1019         Special-case 'lexical-binding'.  (Bug#20641)
1021         * lisp/progmodes/executable.el (executable-self-display): Obsolete.
1022         No longer autoload.
1023         * doc/misc/autotype.texi (Executables):
1024         Undocument executable-self-display.
1026         * lisp/progmodes/executable.el (executable-self-display):
1027         Use non-obsolete tail syntax.  (Bug#20779)
1028         (executable-self-display): Doc update.
1030 2015-06-10  Stefan Monnier  <monnier@iro.umontreal.ca>
1032         * lisp/emacs-lisp/checkdoc.el: Use lexical-binding
1033         (finder-known-keywords): Silence byte-compiler.
1035 2015-06-09  Stefan Monnier  <monnier@iro.umontreal.ca>
1037         * lisp/simple.el (eval-expression): Macroexpand before evaluating (bug#20730)
1039         * lisp/progmodes/sh-script.el: Better handle nested quotes
1040         (sh-here-doc-open-re): Don't mis-match the <<< operator (bug#20683).
1041         (sh-font-lock-quoted-subshell): Make sure double quotes within single
1042         quotes don't mistakenly end prematurely the surrounding string.
1044         * lisp/progmodes/elisp-mode.el: Require cl-lib for cl-defstruct.
1046 2015-06-09  Glenn Morris  <rgm@gnu.org>
1048         * test/automated/Makefile.in (ELFILES): Sort.
1050         * Makefile.in (SUBDIR_MAKEFILES):
1051         * lwlib/Makefile.in (WARN_CFLAGS):
1052         Use built-in Make functions rather than echo+sed.
1054 2015-06-09  Eli Zaretskii  <eliz@gnu.org>
1056         Update char-script-table
1057         * lisp/international/characters.el (char-script-table): Update
1058         from Unicode 8.0 Draft.
1060         Improve font selection for punctuation and other symbols
1061         * src/fontset.c (face_for_char): If the character's script is
1062         'symbol', and the font used for ASCII face has a glyph for it, use
1063         the font for the ASCII face instead of searching the fontsets.
1064         This comes instead of NS-specific code that used the current
1065         face's font instead, which is now disabled due to undesirable
1066         consequences.  (Bug#20727)
1068 2015-06-08  Dmitry Gutov  <dgutov@yandex.ru>
1070         Skip past `#' to find BEG
1071         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point): Skip
1072         past `#' to find BEG (bug#20771).
1073         * test/automated/elisp-mode-tests.el
1074         (elisp-completes-functions-after-hash-quote): New test.
1076 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
1078         Fix compilation warning/error in --without-x builds
1079         * src/xdisp.c (append_space_for_newline): Condition GUI-specific
1080         code on HAVE_WINDOW_SYSTEM.
1082         Improve the default fontset wrt symbols
1083         * lisp/international/fontset.el (setup-default-fontset): Better
1084         setup of fontset-default for symbols: use Symbola and FreeMono.
1085         (Bug#20727)
1087 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
1089         Add new command checkdoc-package-keywords
1090         * lisp/emacs-lisp/checkdoc.el (checkdoc-package-keywords-flag): New
1091           defcustom.
1092         (checkdoc-list-of-strings-p): Add doc.
1093         (checkdoc-current-buffer): When `checkdoc-package-keywords-flag' is
1094         non-nil, call `checkdoc-package-keywords'.
1095         (checkdoc-get-keywords): New defun.
1096         (checkdoc-package-keywords): New command. Warns if the current file
1097         has package.el-style keywords that aren't in `finder-known-keywords'.
1098         * etc/NEWS: Add entry.
1100 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
1102         Avoid crashes when key-binding is called from a timer
1103         * src/keymap.c (Fkey_binding): Don't segfault if called with an
1104         empty vector as KEY.  (Bug#20705)
1106         Fix a thinko in arc-mode.el
1107         * lisp/arc-mode.el (archive-zip-summarize): Fix last change in the
1108         non-Zip64 case.  (Bug#20769)
1110 2015-06-08  Artur Malabarba  <bruce.connor.am@gmail.com>
1112         * lisp/emacs-lisp/package.el (package-delete): Make interactive
1114 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
1116         checkdoc.el (checkdoc-file): New function
1117         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When
1118           `checkdoc-diagnostic-buffer' is set to "*warn*", print the warning
1119           to the standard output.
1120         (bug#20754)
1122 2015-06-07  Glenn Morris  <rgm@gnu.org>
1124         * admin/update_autogen (changelog_files): Remove gitlog-to-emacslog.
1126         * src/font.c (syms_of_font) <font-log>: Doc fix.
1128         Remove the obsolete leading "*" from some C doc strings.
1129         * src/coding.c (syms_of_coding):
1130         * src/font.c (syms_of_font): Remove leading "*" from docs.
1131         * lisp/cus-start.el (enable-character-translation): Add it.
1133 2015-06-07  Paul Eggert  <eggert@cs.ucla.edu>
1135         Move gen_origin from program to data
1136         That way, 'make change-history' needs to change only ChangeLog.2,
1137         instead of having to change two files.
1138         * ChangeLog.2: Add commit info for range that this file covers.
1139         * Makefile.in (new_commit_regexp): New macro.
1140         (change-history-nocommit): Simplify, by putting what used to be
1141         the gen_origin value into the data (ChangeLog.2) rather than
1142         into the program (gitlog-to-emacslog).
1143         * build-aux/gitlog-to-emacslog (gen_origin): Calculate from
1144         the input file (e.g., ChangeLog.2) rather than by having a
1145         constant in the program.  Substitute it into the output.
1147 2015-06-07  Dmitry Gutov  <dgutov@yandex.ru>
1149         Escape any quotes in the function name
1150         * lisp/help-fns.el (help-fns--signature): Quote any quotes in the
1151         function name (bug#20759).
1153 2015-06-07  Eli Zaretskii  <eliz@gnu.org>
1155         Adapt 'struct timespec' to next release of MinGW runtime
1156         * nt/inc/ms-w32.h (struct timespec): Don't declare if
1157         __struct_timespec_defined is defined.
1159 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
1161         Merge from gnulib
1162         This incorporates:
1163         2015-06-06 acl-permissions: pacify -Wsuggest-attribute=const
1164         2015-06-05 stdio: Don't redefine gets when using C++
1165         2015-06-05 acl-permissions: port to AIX, C89 HP-UX
1166         2015-06-02 file-has-acl: fix build on Mac OS X 10
1167         2015-06-01 gnulib-tool: concatenate lib_SOURCES to a single line
1168         2015-06-01 pthread_sigmask: discount system version if a simple macro
1169         2015-05-31 readlinkat: avoid OS X 10.10 trailing slash bug
1170         * doc/misc/texinfo.tex, lib/acl-internal.h, lib/get-permissions.c:
1171         * lib/readlinkat.c, lib/set-permissions.c, lib/stdio.in.h:
1172         * m4/acl.m4, m4/pthread_sigmask.m4, m4/readlinkat.m4: Copy from gnulib.
1173         * lib/gnulib.mk: Regenerate.
1175 2015-06-06  Juri Linkov  <juri@linkov.net>
1177         * lisp/progmodes/grep.el (zrgrep): Let-bind grep-highlight-matches
1178         before calling grep-compute-defaults because now it affects the
1179         command lines computed in grep-compute-defaults. (Bug#20728)
1181 2015-06-06  Glenn Morris  <rgm@gnu.org>
1183         Address some compilation warnings.
1184         * lisp/international/mule-cmds.el (w32-get-console-codepage)
1185         (w32-get-console-output-codepage):
1186         * lisp/progmodes/elisp-mode.el (xref-collect-references):
1187         * lisp/version.el (cairo-version-string): Declare.
1188         * lisp/erc/erc.el (erc-nickname-in-use): Fix typo.
1190 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
1192         Fix display when a font claims large values of ascent and descent
1193         This fixes bug#20628.
1194         * src/xdisp.c (get_phys_cursor_geometry): Correct the Y
1195         coordinate of a hollow cursor glyph when the original glyph's
1196         ascent is too small.
1197         (get_font_ascent_descent, normal_char_ascent_descent)
1198         (normal_char_height): New functions.
1199         (handle_single_display_spec, append_space_for_newline)
1200         (calc_pixel_width_or_height, produce_stretch_glyph)
1201         (calc_line_height_property): Use normal_char_ascent_descent and
1202         normal_char_height.
1203         (x_produce_glyphs): When font-global values of ascent and descent
1204         are too large, use per-character glyph metrics instead, if
1205         possible.  But don't allow the glyph row's ascent and descent
1206         values become smaller than the values from the metrics of the
1207         font's "normal" character.
1208         * src/xftfont.c (xftfont_draw):
1209         * src/w32font.c (w32font_draw): Correct the values of ascent and
1210         descent used to draw glyphless characters' hex code in a box.
1211         * src/xterm.c (x_draw_glyph_string_background):
1212         * src/xdisp.c (x_produce_glyphs):
1213         * src/w32term.c (x_draw_glyph_string_background):
1214         * src/nsterm.m (ns_maybe_dumpglyphs_background): Use FONT_TOO_HIGH
1215         to detect fonts whose global ascent and descent values are too
1216         large to be used in layout decision, and redraw the background
1217         when that happens.
1218         * src/dispextern.h (FONT_TOO_HIGH): New macro.
1219         (get_font_ascent_descent): Add prototype.
1220         * src/xterm.c (x_new_font):
1221         * src/w32term.c (x_new_font):
1222         * src/nsterm.m (x_new_font):
1223         * src/font.c (font_open_entity):
1224         * src/composite.c (composition_gstring_width): Use
1225         get_font_ascent_descent to obtain reasonable values for ascent and
1226         descent of a font.
1228 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
1230         Add assertion in adjust_point_for_property
1231         * src/keyboard.c (adjust_point_for_property): Add eassert for
1232         current buffer being shown in selected window.
1234 2015-06-06  Dmitry Gutov  <dgutov@yandex.ru>
1236         Replace uses of in-string-p; make it obsolete
1237         * lisp/thingatpt.el (in-string-p): Declare obsolete (bug#20732).
1238         (end-of-sexp, beginning-of-sexp): Use syntax-ppss instead.
1240 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
1242         Fix Dired display of an explicit list of files by ls-lisp.el
1243         * lisp/ls-lisp.el (ls-lisp-uid-d-fmt, ls-lisp-uid-s-fmt)
1244         (ls-lisp-gid-d-fmt, ls-lisp-gid-s-fmt): Make the initial values be
1245         correct for when displaying individual files separately, not as
1246         part of listing a directory, in which case these values are not
1247         recomputed by 'ls-lisp-insert-directory', but used verbatim.
1249         * lisp/dired.el (dired): Doc fix.  (Bug#20739)
1251 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
1253         Do not adjust point in a non-selected window
1254         * src/keyboard.c (command_loop_1): Do not adjust point when
1255         current buffer is not shown in selected window (Bug#20590).
1257         * etc/DEBUG: Mention 'maybe_call_debugger'
1259 2015-06-05  Nicolas Petton  <nicolas@petton.fr>
1261         Fix a unit test for map.el
1262         * test/automated/map-tests.el (test-map-let): Fix the test to work
1263         with the new syntax of `map-let'.
1265         * lisp/emacs-lisp/map.el (map-let): Better docstring.
1267         Better syntax for the map pcase pattern
1268         * lisp/emacs-lisp/map.el: Improves the map pcase pattern to take
1269         bindings of the form (KEY PAT) or SYMBOL. KEY is not quoted.
1271         * lisp/emacs-lisp/map.el (map--dispatch): Better docstring.
1273         Fix a byte-compiler error in map-put and map-delete
1274         * lisp/emacs-lisp/map.el (map-put, map-delete): Ensure that `setq' is
1275         called with a symbol.
1277 2015-06-05  Glenn Morris  <rgm@gnu.org>
1279         * admin/gitmerge.el (gitmerge-commit-message):
1280         Revert to including "skipped" messages in ChangeLog once again.
1282 2015-06-05  Tassilo Horn  <tsdh@gnu.org>
1284         Use string> instead of equiv lambda with string<
1285         * lisp/help.el (view-emacs-news): Use string> instead of equivalent
1286         lambda with string<.
1288 2015-06-05  Glenn Morris  <rgm@gnu.org>
1290         * lisp/emacs-lisp/map.el (map--dispatch): Move before use.
1291         (map--delete-array): Fix typo.
1293         * test/automated/map-tests.el: Replace "assert" with "should".
1295         * lisp/Makefile.in (SUBDIRS): Rename from SUBDIRS_ABS.
1296         (SUBDIRS_REL): Derive from SUBDIRS.
1298         Tweak some build messages.
1299         * lisp/Makefile.in ($(lisp)/loaddefs.el):
1300         * lisp/cus-dep.el (custom-make-dependencies):
1301         * lisp/finder.el (finder-compile-keywords): Say what we are doing.
1302         * lisp/international/titdic-cnv.el (batch-titdic-convert):
1303         Don't say how to compile.
1305 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
1307         Omit U+0332 COMBINING LOW LINE in previous change
1308         It turns out that it does not work on Ubuntu 15.04.
1310         Fix transliteration of Bahá'í months
1311         * lisp/calendar/cal-bahai.el (calendar-bahai-month-name-array):
1312         Improve quality of Latin transliteration of Bahá'í month names.
1314         Fix curved quotes in a few places
1315         * lisp/calc/calc-misc.el (calc-help): Fix quoting.
1316         The strings in question are not doc strings, so this partially
1317         undoes the recent change that assumed they were doc strings.
1318         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
1319         * lisp/info.el (Info-finder-find-node):
1320         Use curved quotes.
1321         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
1322         Also allow curved quotes in doc strings.
1324 2015-06-04  Glenn Morris  <rgm@gnu.org>
1326         * lisp/Makefile.in (AM_V_at): Add missing definition.
1328         * lisp/Makefile.in: Quieten output a bit.
1329         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el):
1330         Don't echo directories, since the commands we invoke print them.
1332         * lisp/Makefile.in: Replace shell fragments in variables with $(shell).
1333         (SUBDIRS_REL, SUBDIRS_ABS, SUBDIRS_ALMOST, SUBDIRS_FINDER)
1334         (SUBDIRS_SUBDIRS): New variables.
1335         (setwins, setwins_almost, setwins_finder, setwins_for_subdirs):
1336         Remove.
1337         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el, $(lisp)/loaddefs.el)
1338         (update-subdirs, compile-main, compile-clean):
1339         Replace "setwins" usage with new "SUBDIRS" variables.
1341         * lisp/vc/compare-w.el (compare-windows-get-window-function):
1342         Fix :version tag.
1344 2015-06-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1346         * src/ftfont.c (ftfont_open2): Round divisions by upEM.
1348         Undo removal of x_clear_area call on expose for GTK3 or cairo.
1349         * src/xterm.c (handle_one_xevent) [HAVE_GTK3 || USE_CAIRO]: Clear
1350         exposed area.  (Bug#20677)
1352 2015-06-04  Glenn Morris  <rgm@gnu.org>
1354         * doc/lispref/hash.texi (Creating Hash): Remove obsolete makehash.
1356         * lisp/Makefile.in (check-defun-dups): Also skip ldefs-boot.
1358         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
1359         Rename from quail-lao-update-translation, since lao.el defines that.
1361 2015-06-04  Dmitry Gutov  <dgutov@yandex.ru>
1363         Handle new-style advice in find-funct
1364         * lisp/emacs-lisp/find-func.el (find-function-advised-original):
1365         Handle new-style advice.  Return the symbol's function definition.
1366         (Bug#20718)
1367         (find-function-library): Update accordingly.
1369 2015-06-04  Nicolas Petton  <nicolas@petton.fr>
1371         Merge branch 'map'
1373         * lisp/emacs-lisp/map.el: Better docstring for the map pcase macro.
1375         Add new function string-greaterp
1376         * lisp/subr.el (string-greaterp): New function.  Also aliased to
1377         `string>'.
1378         * test/automated/subr-tests.el (string-comparison-test): Add unit
1379         tests for `string>'and `string<'.
1380         * src/fns.c (string-lessp): Better docstring.
1382 2015-06-04  Eli Zaretskii  <eliz@gnu.org>
1384         Fix timezone-related functions on MS-Windows
1385         * src/editfns.c (set_time_zone_rule) [WINDOWSNT]: Always call
1386         'xputenv', even if no reallocation of tzvalbuf was necessary.
1387         This fixes a bug in timezone-related functions on MS-Windows.
1388         Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.
1390 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
1392         Don't pass raw directory name to 'error'
1393         * lisp/files.el (basic-save-buffer-2): Avoid format error if
1394         a directory name contains a string like "%s".
1396 2015-06-03  Dmitry Gutov  <dgutov@yandex.ru>
1398         Override 'grep --color=always'
1399         * lisp/progmodes/xref.el (xref-collect-matches):
1400         Override --color=always in grep-find-template.
1402 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
1404         Fix error introduced recently in file-notify-tests.el
1405         * test/automated/file-notify-tests.el
1406         (file-notify--test-remote-enabled): Do not use `file-notify--test-desc'.
1407         (file-notify--deftest-remote): Revert previous patch, not
1408         necessary anymore.
1410 2015-06-03  Wolfgang Jenkner  <wjenkner@inode.at>
1412         * src/indent.c (Fvertical_motion): Amend motion by 0 lines.
1413         Starting from a display string after a newline, point went to the
1414         previous line.  Also, fix an inadvertent use of a buffer position
1415         with FETCH_BYTE.  (Bug#20701)
1417 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
1419         Instrument file-notify-test.el in order to catch hydra error.
1420         * test/automated/file-notify-tests.el (file-notify--deftest-remote):
1421         Wrap body by `ignore-case', in order to trap non-local errors.
1423 2015-06-03  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1425         Undo previous changes in non-toolkit scroll bar drawing.
1426         * src/xterm.c (x_scroll_bar_set_handle, x_scroll_bar_expose)
1427         [!USE_TOOLKIT_SCROLL_BARS]: Draw into scroll bar window.  (Bug#20668)
1429 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
1431         * .gitignore: Also ignore doc/*/*/*.html and .ps.
1433         Support quotes 'like this' in info files
1434         This is possible when 'makeinfo --disable-encoding' is used
1435         in Texinfo 5.
1436         * lisp/calc/calc-help.el (calc-describe-thing):
1437         * lisp/gnus/gnus-art.el (gnus-button-alist):
1438         * lisp/info.el (Info-find-index-name):
1439         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
1440         Also support quotes 'like this'.
1441         * lisp/calc/calc-help.el (calc-describe-thing): Simplify.
1442         * lisp/finder.el (finder-font-lock-keywords): Remove var that
1443         hasn't been used in years, instead of bothering to fix its quoting.
1445 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
1447         * .gitignore: Remove !test/etags/html-src/*.html.
1448         It's no longer needed, since *.html was removed.  Sort.
1450 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
1452         Restore <D> instead of '.' in grep-find-template
1453         * lisp/cedet/semantic/symref/grep.el
1454         (semantic-symref-grep-use-template): Update a comment.
1455         * lisp/progmodes/grep.el (grep-compute-defaults): Restore <D>
1456         instead of '.' in grep-find-template (bug#20719).
1457         (rgrep): Pass nil as the directory to rgrep-default-command.
1458         * lisp/progmodes/grep.el (grep-expand-keywords): Use '.' as the
1459         default value for DIR.
1460         * lisp/progmodes/xref.el (xref-collect-matches): Drop the
1461         workaround.
1463 2015-06-02  Glenn Morris  <rgm@gnu.org>
1465         * configure.ac (emacs_config_features): Add X toolkit and scroll-bars.
1467         * configure.ac (emacs_config_features): Add Cairo.
1469         * configure.ac [HAVE_GTK3]: Remove USE_CAIRO that gets reset later.
1471 2015-06-02  Michael Albinus  <michael.albinus@gmx.de>
1473         Ensure, that autorevert works for remote files in file-notify-tests.el
1474         * test/automated/file-notify-tests.el (file-notify--test-desc):
1475         New defvar.
1476         (file-notify--test-remote-enabled)
1477         (file-notify-test00-availability, file-notify-test01-add-watch)
1478         (file-notify-test02-events): Use it.
1479         (file-notify--test-event-test): Check proper descriptor.
1480         (file-notify-test03-autorevert): Ensure, that
1481         `visited-file-modtime' has changed.
1482         (Bug#20392)
1484 2015-06-02  Nicolas Petton  <nicolas@petton.fr>
1486         Add a pcase pattern for maps and `map-let' based on it
1487         * lisp/emacs-lisp/map.el (map-let): New macro.
1488         (map--make-pcase-bindings, map--make-pcase-patterns): New functions.
1489         * test/automated/map-tests.el: New test for `map-let'.
1491 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
1493         Reuse rgrep mechanics in xref-find-regexp
1494         * lisp/progmodes/grep.el (rgrep-default-command):
1495         Extract from `rgrep'.
1496         * lisp/progmodes/xref.el (xref-collect-references): Split from
1497         `xref-collect-matches'.  Only handle the case of symbol search.
1498         (xref-collect-matches): Instead of Semantic Symref, use
1499         `rgrep-default-command', to take advantage of its directory and
1500         file ignore settings.
1501         (xref--collect-match): Remove the last argument, leaving the
1502         regexp construction up to the caller.
1503         * lisp/progmodes/elisp-mode.el (elisp--xref-find-matches):
1504         Change to take the xref-collect- function to use as an argument.
1505         (elisp-xref-find): Update accordingly.
1506         * lisp/progmodes/etags.el (etags--xref-find-matches)
1507         (etags-xref-find): Same.
1509         Move xref-elisp-location to elisp-mode.el
1510         * lisp/progmodes/xref.el (xref-elisp-location)
1511         (xref-make-elisp-location, xref-location-marker): Remove here.
1512         (xref--xref): Don't limit the type of the location slot.
1513         * lisp/progmodes/elisp-mode.el (xref-elisp-location):
1514         Define as a cl-struct here.
1515         (xref-location-marker): Move here.
1517 2015-06-02  Eli Zaretskii  <eliz@gnu.org>
1519         Minor tweaks for .gitignore
1520         * .gitignore: Don't ignore versioned *.html and *.ps files.  Don't
1521         ignore admin/notes/tags that might be ignored as TAGS on
1522         case-insensitive filesystems.  (Bug#20710)
1524 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
1526         Generate curved quotes in ert doc
1527         * lisp/emacs-lisp/ert.el (ert--print-test-for-ewoc)
1528         (ert-results-mode-menu)
1529         (ert-results-pop-to-backtrace-for-test-at-point)
1530         (ert-results-pop-to-messages-for-test-at-point)
1531         (ert-results-pop-to-should-forms-for-test-at-point)
1532         (ert-describe-test):
1533         Quote ‘like this’, not `like this', when generating doc strings
1534         and the like.
1535         * test/automated/ert-x-tests.el (ert-test-describe-test):
1536         Allow quoting ‘like this’.
1538 2015-06-02  Nicolas Richard  <youngfrog@members.fsf.org>
1540         Add test for previous commit
1541         * test/automated/replace-tests.el: New file.
1542         (query-replace--split-string-tests): Add test for previous commit.
1544         Avoid confusion in query-replace history when replacing NUL chars
1545         * lisp/replace.el (query-replace--split-string): New function.
1546         (query-replace-read-from): Rely on the 'separator' property
1547         instead of searching for the NUL character (Bug#20690).
1549 2015-06-02  Glenn Morris  <rgm@gnu.org>
1551         Merge from origin/emacs-24
1552         8b5f2f4 * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
1554         * admin/gitmerge.el (gitmerge-commit-message):
1555         Exclude "skipped" messages from ChangeLog.
1557 2015-06-01  Michael Albinus  <michael.albinus@gmx.de>
1559         Sync with Tramp repository
1560         * lisp/net/tramp.el (tramp-message): Dump connection buffer error
1561         messages.
1562         (tramp-handle-make-auto-save-file-name): When calling
1563         `make-auto-save-file-name' internally, make sure it uses Unix-like
1564         behavior, not Windows-like behavior.
1565         * lisp/net/tramp-sh.el (tramp-set-file-uid-gid): Add a timeout for
1566         the local case, because "chown" might fail on w32.
1567         * lisp/net/trampver.el (tramp-repository-get-version): Don't run
1568         for XEmacs.
1570 2015-06-01  Eli Zaretskii  <eliz@gnu.org>
1572         MS-Windows followup for batch stdout/stderr output changes
1573         * lisp/international/mule-cmds.el (set-locale-environment): In
1574         batch mode, use console codepages for keyboard and terminal
1575         encoding.  (Bug#20545)
1577         Update .gitattributes for DOS EOL files
1578         * .gitattributes: Use "whitespace=cr-at-eol" for files with DOS
1579         CRLF end-of-line format.
1581         NS equivalents of xterm.c and w32term.c changes
1582         * src/nsterm.m (ns_maybe_dumpglyphs_background): Force redraw of
1583         glyph string background also when the font in use claims
1584         preposterously large global height value.  Helps to remove
1585         artifacts left from previous displays when glyphless characters
1586         are displayed as hex code in a box.
1587         (x_new_font): Call get_font_ascent_descent to obtain a reasonable
1588         value for FRAME_LINE_HEIGHT, even when a font claims very large
1589         value for its height.
1591 2015-06-01  Paul Eggert  <eggert@cs.ucla.edu>
1593         Avoid grave accent quoting in stderr diagnostics
1594         A few Emacs diagnostics go directly to stderr, and so can't easily
1595         contain curved quotes (as non-UTF-8 locales might mishandle them).
1596         Instead of bothering to add support for this rarity, reword the
1597         diagnostics so that they don't use grave accent to quote.
1598         * src/alloc.c (mark_memory): Fix comment.
1599         * src/buffer.c (init_buffer):
1600         * src/dispnew.c (init_display):
1601         * src/emacs.c (main, sort_args):
1602         * src/lread.c (dir_warning):
1603         * src/term.c (init_tty):
1604         * src/unexmacosx.c (unexec):
1605         * src/xfns.c (select_visual):
1606         * src/xterm.c (cvt_string_to_pixel, x_io_error_quitter):
1607         Reword stderr diagnostics to avoid quoting `like this'.
1608         * src/unexmacosx.c: Include errno.h.
1609         * src/xfns.c (select_visual): Encode value for locale.
1611 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
1613         Treat batch stdout/stderr like standard display
1614         Calls like (print FOO) could generate improperly encoded or
1615         hard-to-read output if FOO contains characters outside the system
1616         locale.  Fix this by treating batch stdout and stderr like
1617         interactive standard display, when it comes to transliterating and
1618         encoding characters (Bug#20545).
1619         * doc/emacs/mule.texi (Communication Coding):
1620         * doc/lispref/display.texi (Active Display Table):
1621         * doc/lispref/nonascii.texi (Locales):
1622         * etc/NEWS:
1623         * src/coding.c (syms_of_coding):
1624         * src/dispnew.c (syms_of_display):
1625         Document this.
1626         * src/print.c: Include disptab.h.
1627         (printchar_to_stream): New function, with much of the guts of the
1628         old Fexternal_debugging_output, except this one also uses the
1629         standard display table.
1630         (printchar, strout, Fexternal_debugging_output): Use it.
1632 2015-05-31  Glenn Morris  <rgm@gnu.org>
1634         * src/emacs.c (syms_of_emacs) <system-configuration-features>: Doc fix.
1636 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
1638         Remove unused DEFSYMs
1639         Remove DEFSYMs that aren't used at the C level.  Also:
1640         * src/decompress.c (Qzlib_dll):
1641         * src/font.c (Qunicode_sip):
1642         * src/frame.c (Qtip_frame):
1643         * src/ftfont.c (Qserif):
1644         * src/gnutls.c (Qgnutls_dll):
1645         * src/xml.c (Qlibxml2_dll):
1646         Move from here ...
1647         * src/w32fns.c (syms_of_w32fns): ... to here,
1648         as these are used only on MS-Windows.
1650 2015-05-31  Michael Albinus  <michael.albinus@gmx.de>
1652         Use another default value for tramp-histfile-override
1653         * lisp/net/tramp-sh.el (tramp-histfile-override):
1654         Use ".tramp_history" as default.
1655         Fixes: debbugs:#20446
1657 2015-05-29  Nicolas Petton  <nicolas@petton.fr>
1659         * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
1661 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
1663         * etc/NEWS: Add an entry about map.el
1665         Improve the docstring of functions in map.el
1666         Since a map is not a data structure but a concept, adding information
1667         about the possible types of maps can be useful information.
1668         * lisp/emacs-lisp/map.el: Add documentation about the type of MAP to
1669         each public function.
1671 2015-04-29  Nicolas Petton  <nicolas@petton.fr>
1673         Faster implementation of map-empty-p
1674         * lisp/emacs-lisp/map.el (map-empty-p): Faster implementation using
1675         specific tests depending on the type of the map.
1677         * lisp/emacs-lisp/map.el: Better docstrings.
1679 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
1681         * lisp/emacs-lisp/map.el (map-pairs): Dump redundant lambda
1683 2015-04-25  Nicolas Petton  <nicolas@petton.fr>
1685         * lisp/emacs-lisp/map.el (map--elt-list): Better docstring.
1687         * lisp/emacs-lisp/map.el (map--elt-list): Minor refactoring.
1689         Fix a false negative in `map-elt' with alists and values being nil
1690         * lisp/emacs-lisp/map.el (map-elt): If map is an alist and key is
1691         found but its associated value is nil, do not return the default
1692         value.
1693         * test/automated/map-tests.el: Add a regression test.
1695 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
1697         * lisp/emacs-lisp/map.el (map--dispatch): Improve the docstring.
1699         Do not signal an error when trying to delete a key from an array
1700         * lisp/emacs-lisp/map.el (map-delete): When map is an array, check if
1701         the key is present to avoid signaling an error.
1702         * test/automated/map-tests.el: Add a test for deleting non-existing
1703         keys from maps.
1705         * lisp/emacs-lisp/map.el: Better docstring.
1707         Minor improvement in map-elt.
1708         * lisp/emacs-lisp/map.el (map-elt): Do not use `ignore-errors' when
1709         doing a lookup in arrays, but check the boundaries of the array
1710         instead.
1711         * test/automated/map-tests.el: Adds a test for `map-elt' with arrays
1712         and a negative integer as key.
1714 2015-04-21  Nicolas Petton  <nicolas@petton.fr>
1716         * test/automated/map-tests.el: Refactoring of test methods.
1718         * test/automated/map-tests.el: Renamed from map-test.el.
1720 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
1722         * lisp/emacs-lisp/map.el (map-into): Better error message.
1724         * lisp/emacs-lisp/map.el: Removes byte-compilation warnings.
1726         Throw an error when converting a map into an unknown map type
1727         * lisp/emacs-lisp/map.el (map-into): Throw an error if type is not valid.
1728         * test/automated/map-test.el: Add a regression test.
1730         New library map.el similar to seq.el but for mapping data structures.
1731         * test/automated/map-test.el: New file.
1732         * lisp/emacs-lisp/map.el: New file.
1734 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
1736         Make sure there's no explicit tag name
1737         * lisp/progmodes/etags.el (tag-implicit-name-match-p): Make sure
1738         there's no explicit tag name (bug#20629).
1740 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
1742         Remove format2
1743         * src/editfns.c, src/lisp.h (format2): Remove.
1744         It is more trouble than it's worth, now that we have CALLN.
1745         This is just a minor refactoring.
1746         * src/buffer.c (Fkill_buffer):
1747         * src/dbusbind.c (XD_OBJECT_TO_STRING):
1748         * src/fileio.c (barf_or_query_if_file_exists):
1749         Adjust to format2 going away.
1751         Don't misencode C-generated messages
1752         Also, be more consistent about calls to 'Fmessage' vs 'message'.
1753         * src/alloc.c (Fgc_status):
1754         Prefer AUTO_STRING to build_string for Fmessage call.
1755         * src/data.c (Fmake_variable_buffer_local)
1756         (Fmake_local_variable, Fmake_variable_frame_local):
1757         * src/doc.c (store_function_docstring):
1758         Use Fmessage, not message, since the argument can contain
1759         non-ASCII characters, and this can cause the resulting message
1760         to be incorrectly encoded for the current environment.
1761         * src/fns.c (maybe_resize_hash_table):
1762         * src/xselect.c (x_clipboard_manager_save_all):
1763         Use message, not Fmessage, since Fmessage's power isn't needed here.
1764         * src/process.c (Fmake_network_process): Reword message to avoid %s.
1765         * src/xdisp.c (vmessage): Document restrictions on message contents.
1766         (message_nolog) [false]: Remove unused code.
1768         Use \r rather than ^M in string literals
1769         This is less likely to cause problems on platforms that
1770         use CRLF (or CR!) termination for lines.
1772         Update .gitattributes to match current sources
1773         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00879.html
1774         * .gitattributes: Accommodate tests that insist on DOS format.
1775         Remove test/automated/data/decompress/foo-gzipped.
1776         Add etc/e/eterm-color.
1778 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
1780         Document 'face-ignored-fonts'
1781         * doc/emacs/mule.texi (Modifying Fontsets): Document
1782         face-ignored-fonts.  (Bug#20628)
1784         Add etags test for the new -Q option
1785         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
1786         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
1787         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
1788         test-case changes below.
1789         * test/etags/ETAGS.good_6: New file.
1790         * test/etags/cp-src/x.cc: New file.
1791         * test/etags/Makefile (CPSRC): Add x.cc.
1792         (check): Add one more test, for -Q.
1794 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
1796         Use list for the tags completion table, not obarray
1797         * lisp/progmodes/etags.el (etags-tags-completion-table): Return a
1798         list instead of an obarray
1799         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00876.html).
1800         (tags-completion-table): Combine those lists.
1801         (tags-completion-table): Update the docstring.
1803 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
1805         Restore EOL format testing in etags
1806         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
1807         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
1808         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
1809         test-case changes below.
1810         * test/etags/html-src/algrthms.html: Convert back to DOS EOL format.
1811         * test/etags/cp-src/c.C (B): Add back stray CR character.
1812         * test/etags/c-src/dostorture.c: Add back.
1813         * test/etags/Makefile (CSRC): Add back c-src/dostorture.c.
1815 2015-05-30  Vitaly Takmazov  <vitalyster@gmail.com>  (tiny change)
1817         Declare Emacs on MS-Windows to be DPI-aware
1818         * nt/emacs-x86.manifest (asmv3:windowsSettings): Add dpiAware.
1819         * nt/emacs-x64.manifest (asmv3:windowsSettings): Add dpiAware.
1820         This avoids Windows entering compatibility mode for Emacs,
1821         which causes fonts to look less nice.
1823 2015-05-30  Michael Albinus  <michael.albinus@gmx.de>
1825         Improve Tramp traces.
1826         * lisp/net/trampver.el (tramp-repository-get-version): New defun.
1827         * lisp/net/tramp.el (tramp-debug-message): Use it.
1829 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
1831         backup-buffer minor reworking of internals
1832         * lisp/files.el (backup-buffer): Rework to avoid a couple of
1833         unused locals inadvertently introduced in the previous change.
1835         backup-buffer now reports .emacs.d/%backup% ills
1836         * lisp/files.el (backup-buffer): If the write to .emacs.d/%backup%
1837         fails due to disk space exhaustion or whatever, do not pretend
1838         that it succeeded.  More generally, do a better job of checking
1839         for I/O failures, and limit the scope of the condition-case to
1840         just the operations where file errors should be caught and ignored
1841         (Bug#20595).  Also, don't bother trying to delete later backups if
1842         an earlier deletion fails, as this is a sign of trouble and it's
1843         better to stop when there's trouble.
1845         copy-file now truncates output after writing
1846         * src/fileio.c (Fcopy_file): Truncate output after writing rather
1847         than before.  This is more likely to work than truncation before
1848         writing, if the file system is out of space or the user is over
1849         disk quota (Bug#20595).  Also, check for read errors.
1851 2015-05-29  Artur Malabarba  <bruce.connor.am@gmail.com>
1853         * lisp/emacs-lisp/package.el: Don't load from parent dir
1854         (package-load-all-descriptors): Don't load descriptors from
1855         directories above the package directories.
1857 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
1859         Merge from gnulib
1860         This incorporates the following (Bug#20681):
1861         2015-05-29 acl-permissions: Fix build on Mac OS X and older AIX
1862         2015-05-29 acl-permissions: Fix build on Solaris and Cygwin
1863         * lib/set-permissions.c: Copy from gnulib.
1865 2015-05-29  Michael Albinus  <michael.albinus@gmx.de>
1867         Improve Tramp traces.
1868         * lisp/net/tramp.el (tramp-call-process-region): New defun.
1869         * lisp/net/tramp-sh.el (tramp-get-inline-coding): Use it.
1871 2015-05-29  Glenn Morris  <rgm@gnu.org>
1873         * test/automated/vc-tests.el: Try enabling tests on hydra.nixos.org.
1875 2015-05-29  Wolfgang Jenkner  <wjenkner@inode.at>
1877         * src/xfns.c (x_set_menu_bar_lines): Fix calls to x_clear_area.
1878         The signature was changed in the cairo branch, merged on 2015-05-23.
1879         This oversight broke compiling only the non-toolkit X version.
1881 2015-05-29  Samer Masterson  <samer@samertm.com>
1883         * doc/lispref/os.texi: Update initial-buffer-choice docs.
1885 2015-05-29  Glenn Morris  <rgm@gnu.org>
1887         * test/automated/vc-tests.el (vc-test-rcs04-checkout-model):
1888         Mark as an expected failure.
1890 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
1892         Change package test to look for curved quotes
1893         * test/automated/package-test.el (package-test-describe-package)
1894         (package-test-signed): Search for curved single quotes as well as
1895         for grave accent and apostrophe.
1897 2015-05-28  Katsumi Yamaoka  <yamaoka@jpl.org>
1899         gnus-art.el: Re-revert last change
1900         * lisp/gnus/gnus-art.el (gnus-button-alist): Re-revert last change.
1901         cf. <http://news.gmane.org/group/gmane.emacs.devel/thread=186896>
1903 2015-05-28  Samer Masterson  <samer@samertm.com>
1905         Show files when `initial-buffer-choice' is non-nil
1906         * startup.el (command-line-1): When Emacs is given a file as an
1907         argument and `initial-buffer-choice' is non-nil, display both the file
1908         and `initial-buffer-choice'.  For more than one file, show
1909         `initial-buffer-choice' and *Buffer List*.  Refactor display-changing
1910         commands out of the command line arg parser.
1911         (initial-buffer-choice): Clarify docstring.
1913 2015-05-28  Eli Zaretskii  <eliz@gnu.org>
1915         Fix last commit
1916         * nt/gnulib.mk (libgnu_a_SOURCES): Add get-permissions.c back.
1917         (gnulib module qcopy-acl): Add back, as it is harmless.  This
1918         minimizes differences wrt lib/gnulib.mk.
1920         Fix the MS-Windows build as followup to gnulib update
1921         * nt/gnulib.mk (libgnu_a_SOURCES): Remove get-permissions.c and
1922         set-permissions.c, as they don't compile on MinGW.
1923         (gnulib module qcopy-acl): Remove, as it needs set-permissions.c.
1925 2015-05-28  Paul Eggert  <eggert@cs.ucla.edu>
1927         Revert my change to gnus-art.el
1928         * lisp/gnus/gnus-art.el (gnus-button-alist): Revert last change.
1929         It wasn't that important, and it caused a Gnus build to fail.  See:
1930         http://www.randomsample.de:4456/builders/emacs-devel/builds/734
1932         New minor mode Electric Quote
1933         This lets you easily insert quotes ‘like this’ by typing
1934         quotes `like this', and similarly you can easily insert
1935         quotes “like this” by typing quotes ``like this'' (Bug#20545).
1936         * doc/emacs/basic.texi (Inserting Text):
1937         * doc/emacs/modes.texi (Minor Modes):
1938         * etc/NEWS: Document it.
1939         * doc/emacs/text.texi (Quotation Marks): New section.
1940         * lisp/electric.el (electric-quote-comment)
1941         (electric-quote-string, electric-quote-paragraph):
1942         New custom vars.
1943         (electric--insertable-p)
1944         (electric-quote-post-self-insert-function): New functions.
1945         (electric-quote-mode, electric-quote-local-mode): New minor modes.
1946         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
1947         Add curved single quotes to electric-pair-text-pairs.
1948         Set electric-quote-string in this buffer.
1950         A few more doc string fixes (Bug#20385)
1952         Accept curved quotes in doc strings
1953         * lisp/info-look.el (info-lookup-guess-custom-symbol):
1954         (info-lookup-alist): Treat ‘’ like `' when parsing help buffers etc.
1956         Generate curved quotes in pseudo-info nodes
1957         * lisp/info.el (Info-virtual-index-find-node)
1958         (Info-virtual-index, Info-apropos-find-node, info-apropos):
1959         Quote ‘like this’, not `like this', when generating pseudo-info nodes.
1961         Fix minor quoting problems in doc strings
1962         Most of these fixes involve escaping grave accents that are
1963         actually intended to be grave accents, not left quotes.
1964         (Bug#20385)
1966         Support curved quotes in doc strings
1967         Emacs's traditional doc string style has been to quote symbols
1968         `like this'.  This worked well on now-obsolete terminals where
1969         ` and ' were symmetric quotes, but nowadays curved quotes
1970         ‘like this’ look better.  Support quoting the new way too.
1971         (Bug#20385)
1972         * doc/lispref/tips.texi (Documentation Tips): Symbols can be quoted
1973         ‘like-this’ as well as `like-this'.
1974         * etc/NEWS: Mention this.
1975         * lisp/cedet/mode-local.el (overload-docstring-extension)
1976         (mode-local-print-binding, mode-local-describe-bindings-2):
1977         * lisp/cus-theme.el (describe-theme-1):
1978         * lisp/descr-text.el (describe-text-properties-1, describe-char):
1979         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
1980         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
1981         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
1982         (eieio-help-constructor):
1983         * lisp/emacs-lisp/package.el (describe-package-1):
1984         * lisp/faces.el (describe-face):
1985         * lisp/help-fns.el (help-fns--key-bindings)
1986         (help-fns--compiler-macro, help-fns--parent-mode, help-fns--obsolete):
1987         (help-fns--interactive-only, describe-function-1):
1988         (describe-variable):
1989         * lisp/help.el (describe-mode):
1990         * lisp/international/mule-cmds.el (describe-input-method)
1991         (describe-language-environment):
1992         * lisp/international/mule-diag.el (describe-character-set)
1993         (print-coding-system-briefly, list-input-methods)
1994         (list-input-methods-1):
1995         Insert curved quotes rather than grave accent and apostrophe.
1996         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
1997         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
1998         (checkdoc-proper-noun-region-engine):
1999         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2)
2000         (lisp-cl-font-lock-keywords-2):
2001         * lisp/finder.el (finder-font-lock-keywords):
2002         * lisp/gnus/gnus-art.el (gnus-button-alist):
2003         * lisp/help-fns.el (help-do-arg-highlight)
2004         (describe-function-1, describe-variable):
2005         * lisp/help-mode.el (help-xref-symbol-regexp)
2006         (help-xref-info-regexp, help-xref-url-regexp):
2007         * lisp/help.el (describe-mode):
2008         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
2009         * lisp/wid-edit.el (widget-documentation-link-regexp):
2010         Parse symbols quoted ‘like-this’ as well as `like-this'.
2011         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
2012         Add "‘" and "’" to electric-pair-text-pairs.
2013         (elisp--form-quoted-p): Also allow "‘" as a quoting char.
2014         (elisp-completion-at-point, elisp--preceding-sexp):
2015         Also treat "‘" and "’" as quoting chars.
2017         substitute-command-keys now curves quotes
2018         So, for example, it turns "`abc'" into "‘abc’" (Bug#20385).
2019         * doc/lispref/help.texi (Keys in Documentation):
2020         * etc/NEWS: Document this.
2021         * src/doc.c (Fsubstitute_command_keys): Implement it.
2023 2015-05-28  Glenn Morris  <rgm@gnu.org>
2025         * lisp/mail/rmailsum.el (rmail-summary-by-recipients)
2026         (rmail-summary-by-topic, rmail-summary-by-senders):
2027         No longer strip leading/trailing whitespace.
2029         * lisp/progmodes/f90.el (f90-type-def-re): Add "type, extends".
2030         (f90-no-block-limit): Add "enum".  (Bug#20680)
2031         * test/automated/f90.el (f90-test-bug20680, f90-test-bug20680b):
2032         New tests.
2034 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
2036         * lisp/isearch.el (isearch--current-buffer): Give a default value.
2038         Un-revert changes mistakenly dropped by f9fabb2b
2040 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
2042         Merge from gnulib
2043         This incorporates:
2044         2015-05-27 qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
2045         2015-05-27 file-has-acl: Split feature tests again (Bug#20667)
2046         2015-05-27 string: fix build failure on BSD/OSX with FORTIFY_SOURCE
2047         2015-05-26 stdio: limit __gnu_printf__ witness to gcc 4.4+
2048         2015-05-26 inttypes: force correct mingw PRIdMAX even without <stdio.h>
2049         2015-05-26 stdio: fix probe on mingw under gcc 5.1
2050         * admin/merge-gnulib (GNULIB_MODULES):
2051         Replace qacl with qcopy-acl, since we don't need the rest of qacl.
2052         * doc/misc/texinfo.tex, lib/acl-internal.c, lib/acl-internal.h:
2053         * lib/inttypes.in.h, lib/qcopy-acl.c, lib/qset-acl.c:
2054         * lib/string.in.h, m4/acl.m4, m4/stdio_h.m4:
2055         Get latest versions from gnulib.
2056         * lib/get-permissions.c, lib/set-permissions.c: New files.
2057         * lib/gnulib.mk, m4/gnulib-comp.m4:
2058         Regenerate.
2059         * nt/gnulib.mk: Merge lib/gnulib.mk changes by hand.
2061 2015-05-27  Dmitry Gutov  <dgutov@yandex.ru>
2063         Delete the old process in vc-setup-buffer
2064         * lisp/vc/vc-dispatcher.el (vc-setup-buffer): Delete the old
2065         process here.
2066         (vc-do-command): Rather than here (bug#20608).
2068 2015-05-27  Ivan Shmakov  <ivan@siamics.net>
2070         Avoid gratuitous delete-dups in face-at-point.
2071         * lisp/faces.el (face-at-point): Do not compute the properly
2072         ordered, duplicate-free list if only a single value is
2073         requested anyway.  (Bug#20519)
2075         Show the exact C-x 8 RET invocation in describe-char.
2076         * lisp/descr-text.el (describe-char): Show the exact C-x 8 RET
2077         invocation instead of a template.  (Bug#20522)
2079 2015-05-27  Artur Malabarba  <bruce.connor.am@gmail.com>
2081         * lisp/emacs-lisp/package.el: Don't erase tags on refresh
2082         (package-menu--post-refresh): Call `tabulated-list-print' with the
2083         UPDATE argument.  This only affects the refresh action, the revert
2084         action still erases tags.
2085         (package-menu-get-status): Change `assq' to `assoc'.
2086         (package-menu--mark-upgrades-1): New function.
2087         (package-menu--mark-upgrades-pending): New variable.
2088         (package-menu-mark-upgrades): Use them to delay marking until
2089         after refresh is done.
2090         (package-menu--post-refresh): Call mark-upgrades-1 if
2091         mark-upgrades-pending is non-nil.
2093 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
2095         Fix typo in commit 3953c4be2816537be95520605d45b866dc731f4b
2097 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
2099         * lisp/isearch.el (isearch--current-buffer): New var
2100         (isearch-update): Set cursor-sensor-inhibit here.
2101         (isearch-done): Unset cursor-sensor-inhibit in the right buffer (bug#20532).
2103         Change inhibit-point-motion-hooks to t
2104         * src/textprop.c (syms_of_textprop): Default Vinhibit_point_motion_hooks
2105         to t and document it as obsolete.
2107 2015-05-27  Eli Zaretskii  <eliz@gnu.org>
2109         Support ZIP files that use Zip64 extensions
2110         * lisp/arc-mode.el (archive-zip-summarize): Handle the new ZIP
2111         format of central directory offsets used by Zip64 extensions.
2112         (Bug#20665)
2114 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
2116         New test tramp-test30-make-auto-save-file-name
2117         * tramp-tests.el (tramp-test30-make-auto-save-file-name): New test.
2118         (tramp-test31-special-characters)
2119         (tramp-test31-special-characters-with-stat)
2120         (tramp-test31-special-characters-with-perl)
2121         (tramp-test31-special-characters-with-ls, tramp-test32-utf8)
2122         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
2123         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
2124         (tramp-test34-recursive-load, tramp-test35-unload): Rename.
2126         Improve tramp-handle-make-auto-save-file-name
2127         * tramp.el (tramp-auto-save-directory): Add :tags.
2128         (tramp-handle-make-auto-save-file-name): Let native
2129         `make-auto-save-file-name' use `auto-save-file-name-transforms',
2130         if `tramp-auto-save-directory' is not set.
2132 2015-05-27  Glenn Morris  <rgm@gnu.org>
2134         No longer set dired-directory in eshell.  (Bug#16477)
2135         * lisp/eshell/esh-mode.el (eshell-mode):
2136         * lisp/eshell/em-dirs.el (eshell/cd): No longer set dired-directory.
2138         * lisp/mail/sendmail.el (mail-position-on-field): Doc fix.
2140         Make c-submit-bug-report file reports at debbugs.gnu.org.  (Bug#15784)
2141         * lisp/progmodes/cc-mode.el (c-mode-help-address):
2142         Change to submit@debbugs.
2143         (c-mode-bug-package): New constant.
2144         (mail-position-on-field): Declare.
2145         (c-submit-bug-report): Insert X-Debbugs-Package header.
2146         * doc/misc/cc-mode.texi (Mailing Lists and Bug Reports):
2147         Mention debbugs.gnu.org.
2149 2015-05-26  Glenn Morris  <rgm@gnu.org>
2151         * lisp/mail/rmailsum.el: Commas no longer separate regexps.  (Bug#19026)
2152         (rmail-summary-by-recipients, rmail-summary-by-topic)
2153         (rmail-summary-by-senders): No longer use mail-comma-list-regexp.
2154         * doc/emacs/rmail.texi (Rmail Make Summary): Update for this change.
2156 2015-05-26  Paul Eggert  <eggert@cs.ucla.edu>
2158         Handle curved quotes in info files
2159         * lisp/calc/calc-help.el (calc-describe-thing):
2160         * lisp/info.el (Info-find-index-name)
2161         (Info-try-follow-nearest-node, Info-fontify-node):
2162         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
2163         In info files, process quotes ‘like this’ the same way we process
2164         quotes `like this'.  This catches a few places we missed earlier.
2166 2015-05-26  Dmitry Gutov  <dgutov@yandex.ru>
2168         xref-prompt-for-identifier: Use a list value
2169         * lisp/progmodes/xref.el (xref-prompt-for-identifier): Allow list
2170         value, to be interpreted as a list of commands.
2171         (xref--prompt-p): New function.
2172         (xref--read-identifier): Use it.
2174 2015-05-26  Eli Zaretskii  <eliz@gnu.org>
2176         Teach MS-Windows font back-end return per-glyph ascent/descent
2177         * src/w32font.h (struct w32_metric_cache): Add ascent and descent
2178         values.
2179         * src/w32font.c (w32font_text_extents): Compute, cache, and
2180         accumulate per-glyph ascent and descent values, instead of copying
2181         global values from the font.  If the values are not available from
2182         the font data, i.e., non-TTF fonts, fall back on font-global values.
2183         (compute_metrics): Compute and return per-glyph ascent and descent
2184         values, if returned by GetGlyphOutlineW, falling back on
2185         font-global values.  (Bug#20628)
2186         * src/w32term.c (w32_draw_rectangle): Add 1 pixel to width and
2187         height of rectangle to be drawn, to be compatible with
2188         XDrawRectangle.  Fixes glyphless-char display as hex codes in a
2189         box, when per-glyph ascent/descent values are used.
2191 2015-05-26  Artur Malabarba  <bruce.connor.am@gmail.com>
2193         * lisp/emacs-lisp/tabulated-list.el: Don't sort without sorter
2194         (tabulated-list-print): Don't sort if sorter is nil
2196 2015-05-26  Michael Albinus  <michael.albinus@gmx.de>
2198         Fix Bug#20621
2199         * lisp/net/tramp-sh.el (tramp-set-auto-save): Remove it.  There
2200         are major modes which set `auto-save-mode' on their own rules;
2201         Tramp shall not overwrite such settings.
2202         (Bug#20621)
2204 2015-05-26  Glenn Morris  <rgm@gnu.org>
2206         * lisp/desktop.el: If modes aren't autoloaded, try simple guesswork.
2207         (desktop-load-file): Guess that "foobar" defines "foobar-mode".
2208         (desktop-buffer-mode-handlers, desktop-minor-mode-handlers):
2209         Doc updates.
2210         (vc-dir-mode): Remove unnecessary autoload.
2212 2015-05-25  Philipp Stephani  <phst@google.com>
2214         * lisp/term/xterm.el: Add gui-get-selection support via OSC-52
2215         (xterm--extra-capabilities-type): Add `getSelection'.
2216         (xterm--query): Add `no-async' argument.
2217         (xterm--init-activate-get-selection): New function.
2218         (terminal-init-xterm): Use it.
2219         (xterm--init-modify-other-keys): Rename from
2220         terminal-init-xterm-modify-other-keys.
2221         (xterm--init-bracketed-paste-mode): Rename from
2222         terminal-init-xterm-bracketed-paste-mode.
2223         (xterm--init-activate-set-selection): Rename from
2224         terminal-init-xterm-activate-set-selection.
2225         (xterm--selection-char): New function.
2226         (gui-backend-set-selection): Use it.  Use the &context to only apply
2227         this method in terminals where we enabled the feature.
2228         (gui-backend-get-selection): New method.
2230 2015-05-25  Daniel Colascione  <dancol@dancol.org>
2232         Add C-language keyword constants to C++
2233         * lisp/progmodes/cc-langs.el (c-constant-kwds): Add C-language
2234         keyword constants to C++.
2236 2015-05-25  Paul Eggert  <eggert@cs.ucla.edu>
2238         Make TAGS files more portable to MS-Windows
2239         * etc/NEWS: Document this.
2240         * lib-src/etags.c (readline_internal) [DOS_NT]:
2241         Don't treat CRs differently from GNUish hosts.
2242         * lisp/progmodes/etags.el (etags-goto-tag-location):
2243         Adjust STARTPOS to account for the skipped CRs in dos-style files.
2245 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
2247         Improve fix of debbugs:20634 in tramp-sh.el
2249 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
2251         Fix a typo in last commit
2252         * lib-src/etags.c (C_entries): Fix a typo.
2253         * test/etags/ETAGS.good_1:
2254         * test/etags/ETAGS.good_2:
2255         * test/etags/ETAGS.good_3:
2256         * test/etags/ETAGS.good_4:
2257         * test/etags/ETAGS.good_5:
2258         * test/etags/CTAGS.good: Update due to the change in etags.c.
2260         Fix tagging of class members in C-like OO languages
2261         * lib-src/etags.c (longopts): Add new option --class-qualify and
2262         its shorthand -Q.
2263         (print_help): Add help text for --class-qualify.
2264         (main): Add handling of -Q.
2265         (consider_token, C_entries) <omethodparm>: Append argument types
2266         to Objective C methods only if --class-qualify was specified.
2267         Qualify C++, Objective C, and Java class members with their class
2268         names only if --class-qualify was specified.
2269         (C_entries): If --class-qualify was not specified, remove the
2270         namespace and class qualifiers from tag names of C++ methods.
2271         This allows to use etags.el as xref back-end without the
2272         tag-symbol-match-p method, which greatly increases the number of
2273         potentially false positives.  (Bug#20629)
2274         * doc/man/etags.1: Update to document the new --class-qualify
2275         option.
2276         * test/etags/ETAGS.good_1:
2277         * test/etags/ETAGS.good_2:
2278         * test/etags/ETAGS.good_3:
2279         * test/etags/ETAGS.good_4:
2280         * test/etags/ETAGS.good_5:
2281         * test/etags/CTAGS.good: Update due to changes in etags.c.
2283 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
2285         (cl-generic-define-method): Side effects are evil (bug#20644)
2286         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method): Don't reuse
2287         cons-cells that might be used as keys in an `equal' hash-table.
2289 2015-05-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
2291         Make erc timestamps visible again
2292         * lisp/erc/erc-stamp.el (erc-munge-invisibility-spec): Make
2293         timestamps visible again (if requested).
2295 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
2297         Fix last change in etags.c that broke tagging compresed files
2298         * lib-src/etags.c (process_file_name) [MSDOS || DOS_NT]: Fix
2299         quoting of decompression shell command for MS-Windows/MS-DOS.
2301 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
2303         * lisp/emacs-lisp/cl-macs.el (cl-tagbody): Scope cl--tagbody-alist
2304         (Bug#20639)
2306 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
2308         Fix typo in 89035e247591c8d688fce922b7079881aa110f33
2310 2015-05-25  Orivej Desh  <orivej@gmx.fr>  (tiny change)
2312         Fix IPv6 addresses in Tramp
2313         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
2314         Add sqare brackets around host name.
2316 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
2318         Inhibit `epa-file-handler' in Tramp
2319         (Bug#20634)
2320         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer)
2321         (tramp-sh-handle-insert-file-contents-literally): Inhibit also
2322         `epa-file-handler'.
2324 2015-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
2326         * lisp/emacs-lisp/pcase.el: Use PAT rather than UPAT in docstring
2327         (pcase-let): Document the behavior in case the pattern doesn't match.
2329 2015-05-24  Artur Malabarba  <bruce.connor.am@gmail.com>
2331         * lisp/emacs-lisp/tabulated-list.el: New optional print method
2332         (tabulated-list-print): New optional argument, UPDATE.  If
2333         non-nil, the list is printed by only adding and deleting the
2334         changed entries, instead of erasing the whole buffer.  This method
2335         is much faster when few or no entries have changed.
2336         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
2337         * etc/NEWS: Document it.
2339         * lisp/emacs-lisp/tabulated-list.el: Improve printing
2340         (tabulated-list--get-sorter): New function.
2341         (tabulated-list-print): Restore window-line when remember-pos is
2342         passed and optimize away the `nreverse'.
2344 2015-05-24  Paul Eggert  <eggert@cs.ucla.edu>
2346         Simpilify etags TEX mode scanning
2347         * lib-src/etags.c (TEX_mode, TEX_esc, TEX_opgrp, TEX_clgrp):
2348         Remove static vars.
2349         (TeX_commands): Deduce escapes here instead.
2350         (TEX_LESC, TEX_SESC, TEX_mode): Remove; all uses removed.
2351         This removes the need for a reset_input call.
2353         Improve etags I/O error reporting
2354         * lib-src/etags.c:
2355         Don't include sys/types.h and sys/stat.h; no longer needed.
2356         (infilename): New static var.
2357         (process_file_name): Don't call 'stat'.  Instead, just open the
2358         file for reading and report any errors.  Don't bother making
2359         a copy of the file argument; it's not needed.  Be more careful to
2360         use the failing errno when reporting an error.
2361         Quote the real name better (though no perfectly)
2362         when passing it to the shell.
2363         (reset_input): New function, which reports I/O errors.
2364         All uses of 'rewind' changed to use this function.
2365         (perhaps_more_input): New function, which also checks for
2366         I/O errors.  All uses of 'feof' changed to use this function.
2367         (analyze_regex): Report an error if fclose fails.
2368         (readline_internal): Report an error if getc fails.
2369         (etags_mktmp): Return an error if close fails.
2371         etags.c: avoid side effects in 'if'
2372         * lib-src/etags.c (process_file_name, Perl_functions)
2373         (TEX_decode_env): Hoist side effects into previous statement.
2375         .gitignore tweaks
2376         * .gitignore: Ignore all *.stamp files.  Sort.
2377         Ignore [0-9]*.txt (commonly used name for git patches)
2378         and /vc-dwim-log-* (vc-dwim temporary).
2380 2015-05-24  Eli Zaretskii  <eliz@gnu.org>
2382         Fix last change in etags.c, which failed the test suite
2383         * lib-src/etags.c (intoken): Add '$' to the set, as it was there
2384         before the last change.
2386 2015-05-23  Glenn Morris  <rgm@gnu.org>
2388         Remove charset map files from repository, generate in first bootstrap
2389         * admin/charsets/Makefile.in (${srcdir}/charsets.stamp): New.
2390         (all): Create the stamp file.
2391         (extraclean): Delete the stamp file.
2392         * src/Makefile.in (lispintdir, charsets): New variables.
2393         (${lispintdir}/cp51932.el, ${lispintdir}/eucjp-ms.el, ${charsets}):
2394         New rules.
2395         (emacs$(EXEEXT), temacs$(EXEEXT)): Depend on $charsets.
2396         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
2397         * etc/charsets/*.map: Remove from repository.
2399 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
2401         Cleanup etags.c to use locale-independent code
2402         Although this doesn't alter behavior (as etags doesn't use
2403         setlocale), the new version is more clearly locale-independent and
2404         the executable is a bit smaller on my platform.
2405         * lib-src/etags.c: Include <limits.h>, for UCHAR_MAX.
2406         Include <c-ctype.h> instead of <ctype.h>.
2407         (CHARS, CHAR, init, _wht, _nin, _itk, _btk, _etk, white, nonam, endtk)
2408         (begtk, midtk):
2409         Remove; no longer needed.
2410         (iswhite, ISALNUM, ISALPHA, ISDIGIT, ISLOWER, lowcase): Remove.
2411         All callers changed to use c_isspace, c_isalnum, c_isalpha, c_isdigit,
2412         c_islower, c_tolower, respectively.
2413         (notinname, begtoken, intoken, endtoken): Rewrite as functions
2414         instead of macros, and initialize the tables at compile-time
2415         rather than at run-time.
2417         Put default action first in src/Makefile
2418         * src/Makefile.in (all): Put this rule before lisp.mk.
2419         That way, plain 'make' works in the src directory again.
2421 2015-05-23  Glenn Morris  <rgm@gnu.org>
2423         * Makefile.in: Fix extraclean rule.
2424         (extraclean_dirs): New.
2425         (extraclean): Use it.
2427 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
2429         Avoid compiler warning in image.c on MS-Windows
2430         * src/w32term.h (x_query_color): Add prototype, to avoid compiler
2431         warning in image.c.
2433 2015-05-23  Glenn Morris  <rgm@gnu.org>
2435         Fix --without-toolkit-scroll-bars builds.
2436         * src/xterm.c (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]:
2437         Add new argument to x_clear_area1.
2438         (XTset_horizontal_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
2439         Update x_clear_area arguments.
2441         * admin/charsets/glibc/: New directory, imported from glibc 2.21.
2442         * admin/charsets/Makefile.in (GLIBC_CHARMAPS):
2443         Change to included version.
2444         (LOCAL, local, totalclean): Remove.
2445         (extraclean): Delete all generated files.
2447 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
2449         * lisp/pcmpl-cvs.el (pcmpl-cvs-entries): Don't assume CVS/Entries exists.
2451         * lisp/progmodes/xref.el (xref-find-apropos): Use read-string.
2453         tags-completion-at-point-function: Don't trust the find-tag function
2454         * lisp/progmodes/etags.el (tags-completion-at-point-function):
2455         Don't trust the find-tag function.
2457 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
2459         Pacify --enable-gcc-warnings
2460         * src/frame.h (x_query_color): Remove redundant extern decl.
2461         * src/ftcrfont.c (ftcrfont_glyph_extents, ftcrfont_list)
2462         (ftcrfont_match, ftcrfont_open, ftcrfont_close)
2463         (ftcrfont_text_extents, ftcrfont_draw):
2464         * src/xterm.c (x_set_window_size_1, *x_color_cells, x_update_end)
2465         (XTframe_up_to_date, x_clear_area1, x_clear_frame)
2466         (x_ins_del_lines, frame_highlight, frame_unhighlight)
2467         (x_new_focus_frame, x_focus_changed, XTframe_rehighlight)
2468         (x_draw_hollow_cursor, x_draw_bar_cursor, x_flush, x_update_begin)
2469         (x_update_window_begin, x_connection_closed)
2470         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
2471         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
2472         (*x_gc_get_ext_data, x_extension_initialize)
2473         (x_cr_accumulate_data):
2474         Remove redundant static decl.  Many of these GCC doesn't complain
2475         about, but we might as well clean out the duplication while we're
2476         in the neighborhood.
2477         * src/xterm.c (x_fill_trapezoid_for_relief):
2478         Remove decl of nonexistent function.
2480 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
2482         Replace gui-method macros with cl-generic with &context
2483         * lisp/frame.el (gui-method--name, gui-method, gui-method-define)
2484         (gui-method-declare, gui-call): Remove.
2485         (frame-creation-function): Use cl-defgeneric.
2486         (make-frame): Adjust callers.
2487         * lisp/menu-bar.el (menu-bar-edit-menu):
2488         Use gui-backend-selection-exists-p.
2489         * lisp/select.el (x-get-clipboard): Use gui-backend-get-selection.
2490         (gui-backend-get-selection): New cl-generic to replace
2491         gui-get-selection method.
2492         (gui-backend-set-selection): New cl-generic to replace
2493         gui-set-selection method.
2494         (gui-selection-owner-p): New cl-generic to replace
2495         gui-selection-owner-p method.
2496         (gui-backend-selection-exists-p): New cl-generic to replace
2497         gui-selection-exists-p method.  Adjust all callers.
2498         * lisp/server.el (server-create-window-system-frame): Don't ignore
2499         window-system spec even when unsupported.
2500         * lisp/simple.el (deactivate-mark): Use new gui-backend-* functions.
2501         * lisp/startup.el (handle-args-function, window-system-initialization):
2502         Use cl-defgeneric.
2503         (command-line): Adjust calls accordingly.
2504         * lisp/term/ns-win.el (ns-window-system-initialization): Turn into
2505         a window-system-initialization method.
2506         (handle-args-function, frame-creation-function): Use cl-defmethod.
2507         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
2508         (gui-get-selection): Use cl-defmethod on the new functions instead.
2509         * lisp/term/pc-win.el (w16-get-selection-value): Turn into
2510         a gui-backend-get-selection method.
2511         (gui-selection-exists-p, gui-selection-owner-p, gui-set-selection):
2512         Use cl-defmethod on the new functions instead.
2513         (msdos-window-system-initialization): Turn into
2514         a window-system-initialization method.
2515         (frame-creation-function, handle-args-function): Use cl-defmethod.
2516         * lisp/term/w32-win.el (w32-window-system-initialization): Turn into
2517         a window-system-initialization method.
2518         (handle-args-function, frame-creation-function): Use cl-defmethod.
2519         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
2520         (gui-get-selection): Use cl-defmethod on the new functions instead.
2521         * lisp/term/x-win.el (x-window-system-initialization): Turn into
2522         a window-system-initialization method.
2523         (handle-args-function, frame-creation-function): Use cl-defmethod.
2524         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
2525         (gui-get-selection): Use cl-defmethod on the new functions instead.
2526         * lisp/term/xterm.el (xterm--set-selection): Turn into
2527         a gui-backend-set-selection method.
2528         * src/nsselect.m (Fns_selection_exists_p): Remove unused arg `terminal'.
2529         (Fns_selection_owner_p): Remove unused arg `terminal'.
2530         (Fns_get_selection): Remove unused args `time_stamp' and `terminal'.
2532 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
2534         Revert "Fix etags Bug#20629 that broke C++ support."
2535         This reverts commit 13dd9d4f7e75d2c78aa5537cef09de03663e9748.
2537 2015-05-23  Jan D  <jan.h.d@swipnet.se>
2539         Fix etags Bug#20629 that broke C++ support.
2540         * etags.el (etags-xref-find-definitions-tag-order): Revert commit
2541         from Sun May 10 (Bug#20629).
2543         Merge branch 'cairo'.
2544         Main work done by YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>.
2545         Small fixes and image work by Jan D. <jan.h.d@swipnet.se>.
2547         Merge branch 'master' into cairo
2549         Fixes to compile cairo branch without cairo.
2550         * src/gtkutil.c (xg_update_scrollbar_pos): x_clear_area takes frame as
2551         first argument.
2552         * src/xterm.c (handle_one_xevent): Surround x_cr_destroy_surface with
2553         USE_CAIRO.
2555 2015-05-23  Artur Malabarba  <bruce.connor.am@gmail.com>
2557         * lisp/emacs-lisp/package.el: Always update selected-packages
2558         (package--update-selected-packages): New function.
2559         (package-menu-execute): Use it before starting the transaction,
2560         this way the list of selected packages is updated even when the
2561         transaction fails.
2562         (package-menu--perform-transaction): Don't edit selected-packages.
2564 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
2566         Fix etags reading of compressed files
2567         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Define.
2568         Include fcntl.h, for O_CLOEXEC.
2569         (process_file_name): Don't use 'popen', whose streams cannot be
2570         rewound.  Instead, uncompress the file to a temporary file,
2571         created by 'etags_mktmp', and read from that as usual.
2572         (etags_mktmp): New function.
2573         * test/etags/ETAGS.good_1:
2574         * test/etags/ETAGS.good_2:
2575         * test/etags/ETAGS.good_3:
2576         * test/etags/ETAGS.good_4:
2577         * test/etags/ETAGS.good_5: Update to be consistent with latest
2578         changes in etags.c regarding reading compressed files.
2580         Improve documentation of 'set-fontset-font'
2581         * doc/lispref/display.texi (Fontsets): Document the value of nil
2582         for the 3rd argument of 'set-fontset-font'.
2584         Fix documentation of forward-line
2585         * src/cmds.c (Fforward_line): Clarify the return value if the line
2586         at end of accessible portion of the buffer has no newline.
2587         * doc/lispref/positions.texi (Text Lines): Document what happens
2588         if the line at end of accessible portion of buffer has no newline.
2589         (Bug#20587)
2591 2015-05-22  Glenn Morris  <rgm@gnu.org>
2593         * admin/charsets/Makefile.in (TRANS_TABLE): Add short aliases.
2595         * admin/charsets/mapconv (LC_ALL): Set to C.
2597         * Makefile.in: Add admin/charsets into top-level clean rules.
2598         (clean): Add admin/charsets.
2599         (maybeclean_dirs): New variable.
2600         (distclean, bootstrap-clean, maintainer-clean): Use $maybeclean_dirs.
2602         * admin/charsets/Makefile.in (LOCAL, local): Fix members.
2604 2015-05-22  Artur Malabarba  <bruce.connor.am@gmail.com>
2606         * lisp/emacs-lisp/package.el (package-selected-packages): Fix doc
2608 2015-05-22  Glenn Morris  <rgm@gnu.org>
2610         Generate admin/charsets Makefile via configure, and make more portable.
2611         * configure.ac (SUBDIR_MAKEFILES): Add admin/charsets/Makefile.
2612         (admin/charsets/Makefile): Generate it.
2613         * admin/charsets/Makefile.in: Rename from Makefile.
2614         (AWK, srcdir, top_srcdir, AM_DEFAULT_VERBOSITY):
2615         New variables, set by configure.
2616         (charsetdir, lispintdir, mapfiledir, AM_V_GEN, am__v_GEN_)
2617         (am__v_GEN_0, am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0)
2618         (am__v_at_1, LOCAL, mapconv, run_mapconv, big5, compact, cp51932)
2619         (cp932, eucjp_ms, gb180302, gb180304, kuten): New variables.
2620         (TRANS_TABLE, CHARSETS): Add directory prefix to value.
2621         (all): Declare PHONY.
2622         (local): New PHONY target.
2623         (map_template): New template.  Use to define short PHONY aliases.
2624         (*.map): Add directory prefixes to targets and prerequisites.
2625         Respect make verbosity.
2626         (JISC6226.map): Replace non-portable sed append without newline.
2627         (install): Remove rule.
2628         (clean): Only delete temporary sedscript.
2629         (bootstrap-clean, distclean, maintainer-clean, extraclean)
2630         (totalclean): New PHONY rules.
2631         * admin/charsets/mapconv (BASE): Replace basename with expr.
2632         (FILE): Add "mapfiles" subdirectory.
2633         (AWK): New variable.  Use throughout in place of "awk".
2634         (main): Use "gunzip -c" in place of "zcat".
2635         Don't leave whitespace before "p", for older sed.
2636         * admin/charsets/mapfiles/PTCP154: Add final newline,
2637         to make older sed versions happy.
2639 2015-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
2641         * lisp/autorevert.el: Use lexical-binding.  Fix hook usage.
2642         (global-auto-revert-ignore-buffer, auto-revert-notify-modified-p)
2643         (auto-revert-notify-watch-descriptor): Use defvar-local.
2644         (find-file-hook, auto-revert-tail-mode, )
2645         (auto-revert-notify-add-watch): Use setq-local.
2646         (auto-revert-notify-add-watch): Don't call make-local-variable on
2647         kill-buffer-hook (bug#20601).
2649 2015-05-21  Stefan Monnier  <monnier@iro.umontreal.ca>
2651         Change defgeneric so it doesn't completely redefine the function
2652         * lisp/emacs-lisp/cl-generic.el (cl-generic-define): Don't throw away
2653         previously defined methods.
2654         (cl-generic-define-method): Let-bind purify-flag instead of using `fset'.
2655         (cl--generic-prefill-dispatchers): Only define during compilation.
2656         (cl-method-qualifiers): Remove redundant alias.
2657         (help-fns-short-filename): Silence byte-compiler.
2658         * test/automated/cl-generic-tests.el: Adjust to new defgeneric semantics.
2660 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
2662         (package-menu-execute): Remove reference to remove-dups
2664 2015-05-21  kwhite  <kwhite@gnu.org>
2666         * lisp/erc/erc.el: Hide network/channel messages
2667         (erc-network-hide-list, etc-channel-hide-list): New lists to define
2668         message types per network/channel.
2669         (erc-add-targets): New function to parse list of targets
2670         (erc-hide-current-message-p): Modified to check for new targets
2672 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
2674         Don't quote nil and t in doc strings
2675         This is as per "Tips for Documentation Strings" in the elisp manual.
2676         For consistency, do the same in diagnostics and comments.
2678 2015-05-21  Eli Zaretskii  <eliz@gnu.org>
2680         Fix a minor problem with mouse-face on mode line
2681         * src/xdisp.c (note_mode_line_or_margin_highlight): Reset the
2682         mouse face also if the mouse pointer hovers above mode-line glyphs
2683         that don't come from any Lisp string.  (Bug#20620)
2685 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
2687         * lisp/emacs-lisp/package.el: Fix selected-package logic
2688         (package-menu-execute): Mark as selected all non-upgrade packages
2689         being installed.
2690         (package-menu--perform-transaction): Don't mark anything.
2692         * lisp/emacs-lisp/package.el: Mode-line progress report
2693         (package-menu--transaction-status): New variable.
2694         (package-menu-mode, package-menu--perform-transaction): Use it.
2696         * lisp/emacs-lisp/package.el: Better transaction messages
2697         (package-menu--partition-transaction): New function.
2698         (package-menu--prompt-transaction-p, package-menu-execute): Use
2699         it.
2700         (package-menu--perform-transaction): Don't do any messaging.
2702         * lisp/emacs-lisp/package.el: Revert async package transactions
2703         (package-menu-async): Update doc.
2704         (package-install-from-archive, package-download-transaction)
2705         (package-install, package-menu--perform-transaction)
2706         (package-menu-execute): Remove asynchronous functionality.
2708 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
2710         Revert doc string changes to f90.el
2711         Problem reported by Glenn Morris in:
2712         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00596.html
2713         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
2714         Revert recent changes to doc strings, as it's intended that they
2715         use grave accent, not quote.
2717 2015-05-20  Bozhidar Batsov  <bozhidar@batsov.com>
2719         Improve parameter name
2721         Add new inline function `hash-table-empty-p'
2723 2015-05-20  Paul Eggert  <eggert@cs.ucla.edu>
2725         Don't require help-fns when not needed
2726         * lisp/emacs-lisp/autoload.el, lisp/emacs-lisp/advice.el:
2727         * lisp/emacs-lisp/elint.el:
2728         Don't require help-fns at the top level.
2729         * lisp/emacs-lisp/advice.el (ad-arglist):
2730         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
2731         Don't require help-fns.  (Bug#17001)
2733 2015-05-20  Eli Zaretskii  <eliz@gnu.org>
2735         Fix slash collapsing in etags on MS-Windows
2736         * lib-src/etags.c (canonicalize_filename) [DOS_NT]: Separate the
2737         MS-Windows code from the Posix code, and support collapsing both
2738         forward- and back-slashes on MS-Windows.  Fixes a regression found
2739         by the test suite.
2741         Improve documentation of glyphless-char-display
2742         * doc/lispref/display.texi (Glyphless Chars): Improve
2743         documentation of glyphless character display.
2745         Fix "acronym" display of glyphless characters on w32
2746         * src/w32term.c (x_draw_glyphless_glyph_string_foreground): Don't
2747         ignore "acronym" substitutes of 1 character for glyphless characters.
2749 2015-05-20  Oleh Krehel  <ohwoeowho@gmail.com>
2751         Add an automated test for let-when-compile
2752         * test/automated/subr-tests.el (let-when-compile): New test.
2754         Add let-when-compile macro instead of using pcase-let
2755         * lisp/subr.el (let-when-compile): New let-like macro that makes its
2756         bindings known to macros like `eval-when-compile' in the body.
2757         * lisp/emacs-lisp/lisp-mode.el: Change the top-level `pcase-let' to a
2758           `let-when-compile'. Also comment out the unused lexical var
2759           `el-kws-re'.
2760         The change greatly improves readability, while providing almost the
2761         same (even shorter) byte code: instead of pre-evaluating 10 variables,
2762         tossing them into a list, and destructuring that list a full screen
2763         page later, the variables are simply bound as they are evaluated,
2764         wrapped individually in `eval-when-compile'.
2766 2015-05-20  Artur Malabarba  <bruce.connor.am@gmail.com>
2768         * lisp/emacs-lisp/package.el: "Delete" button in Help buffer
2769         (package-delete-button-action): New function.
2770         (describe-package-1): Add Delete button.
2772         * lisp/emacs-lisp/package.el: Better dependency description
2773         (package--used-elsewhere-p): New optional arg, ALL, and return
2774         package-desc objects instead of names.
2775         (package-delete): Update accordingly.
2776         (describe-package-1): Describe which packages require the package.
2778 2015-05-20  Martin Rudalics  <rudalics@gmx.at>
2780         Fix handling and doc-string of FRAME arg of `other-buffer' (Bug#20533)
2781         * src/buffer.c (Fother_buffer): Argument FRAME must denote a live frame.
2782         Fix doc-string (Bug#20533).
2784         Improve `switch-to-buffer' in strongly dedicated windows (Bug#20472)
2785         * lisp/window.el (switch-to-buffer-in-dedicated-window): New option.
2786         (switch-to-buffer): If the selected window is strongly dedicated
2787         to its buffer, signal error before prompting for buffer name.  Handle
2788         `switch-to-buffer-in-dedicated-window'.  (Bug#20472)
2789         * doc/lispref/windows.texi (Switching Buffers): Document
2790         `switch-to-buffer-in-dedicated-window'.
2792 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
2794         Prefer "this" to “this” in doc strings
2795         This mostly just straightens quotes introduced in my previous patch.
2796         Suggested by Dmitry Gutov in:
2797         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00565.html
2798         * lisp/faces.el, lisp/gnus/gnus-group.el, lisp/ldefs-boot.el:
2799         * lisp/mail/supercite.el, lisp/net/tramp.el, lisp/recentf.el:
2800         * lisp/textmodes/artist.el, lisp/textmodes/rst.el:
2801         * lisp/textmodes/tildify.el, lisp/vc/ediff-util.el:
2802         * lisp/vc/log-edit.el, lisp/xt-mouse.el:
2803         Prefer straight double quotes to curved double quotes in doc strings.
2805         Fix minor quoting problems in doc strings
2806         These were glitches regardless of how or whether we tackle the
2807         problem of grave accent in doc strings.
2808         * lisp/calc/calc-aent.el (math-restore-placeholders):
2809         * lisp/ido.el (ido-ignore-buffers, ido-ignore-files):
2810         * lisp/leim/quail/cyrillic.el ("bulgarian-alt-phonetic"):
2811         * lisp/leim/quail/hebrew.el ("hebrew-new")
2812         ("hebrew-biblical-sil"):
2813         * lisp/leim/quail/thai.el ("thai-kesmanee"):
2814         * lisp/progmodes/idlw-shell.el (idlwave-shell-file-name-chars):
2815         Used curved quotes to avoid ambiguities like ‘`''’ in doc strings.
2816         * lisp/calendar/calendar.el (calendar-month-abbrev-array):
2817         * lisp/cedet/semantic/mru-bookmark.el (semantic-mrub-cache-flush-fcn):
2818         * lisp/cedet/semantic/symref.el (semantic-symref-tool-baseclass):
2819         * lisp/cedet/semantic/tag.el (semantic-tag-copy)
2820         (semantic-tag-components):
2821         * lisp/cedet/srecode/cpp.el (srecode-semantic-handle-:cpp):
2822         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
2823         * lisp/emacs-lisp/byte-opt.el (byte-optimize-all-constp):
2824         * lisp/emacs-lisp/checkdoc.el (checkdoc-message-text-engine):
2825         * lisp/emacs-lisp/generator.el (iter-next):
2826         * lisp/gnus/gnus-art.el (gnus-treat-strip-list-identifiers)
2827         (gnus-article-mode-syntax-table):
2828         * lisp/net/rlogin.el (rlogin-directory-tracking-mode):
2829         * lisp/net/soap-client.el (soap-wsdl-get):
2830         * lisp/net/telnet.el (telnet-mode):
2831         * lisp/org/org-compat.el (org-number-sequence):
2832         * lisp/org/org.el (org-remove-highlights-with-change)
2833         (org-structure-template-alist):
2834         * lisp/org/ox-html.el (org-html-link-org-files-as-html):
2835         * lisp/play/handwrite.el (handwrite-10pt, handwrite-11pt)
2836         (handwrite-12pt, handwrite-13pt):
2837         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
2838         * lisp/progmodes/idlwave.el (idlwave-mode, idlwave-check-abbrev):
2839         * lisp/progmodes/verilog-mode.el (verilog-tool)
2840         (verilog-string-replace-matches, verilog-preprocess)
2841         (verilog-auto-insert-lisp, verilog-auto-insert-last):
2842         * lisp/textmodes/makeinfo.el (makeinfo-options):
2843         * src/font.c (Ffont_spec):
2844         Fix minor quoting problems in doc strings, e.g., missing quote,
2845         ``x'' where `x' was meant, etc.
2846         * lisp/erc/erc-backend.el (erc-process-sentinel-2):
2847         Fix minor quoting problem in other string.
2848         * lisp/leim/quail/ethiopic.el ("ethiopic"):
2849         * lisp/term/tvi970.el (tvi970-set-keypad-mode):
2850         Omit unnecessary quotes.
2851         * lisp/faces.el (set-face-attribute, set-face-underline)
2852         (set-face-inverse-video, x-create-frame-with-faces):
2853         * lisp/gnus/gnus-group.el (gnus-group-nnimap-edit-acl):
2854         * lisp/mail/supercite.el (sc-attribs-%@-addresses)
2855         (sc-attribs-!-addresses, sc-attribs-<>-addresses):
2856         * lisp/net/tramp.el (tramp-methods):
2857         * lisp/recentf.el (recentf-show-file-shortcuts-flag):
2858         * lisp/textmodes/artist.el (artist-ellipse-right-char)
2859         (artist-ellipse-left-char, artist-vaporize-fuzziness)
2860         (artist-spray-chars, artist-mode, artist-replace-string)
2861         (artist-put-pixel, artist-text-see-thru):
2862         * lisp/vc/ediff-util.el (ediff-submit-report):
2863         * lisp/vc/log-edit.el (log-edit-changelog-full-paragraphs):
2864         Use double-quotes rather than TeX markup in doc strings.
2865         * lisp/skeleton.el (skeleton-pair-insert-maybe):
2866         Reword to avoid the need for grave accent and apostrophe.
2867         * lisp/xt-mouse.el (xterm-mouse-tracking-enable-sequence):
2868         Don't use grave and acute accents to quote.
2870 2015-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
2872         * emacs-lisp/generator.el (cps--gensym, cps--transform-1): Silence compiler
2874 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
2876         Try to port new etags tests to MS-Windows
2877         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
2878         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
2879         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
2880         Adjust to test-case changes below.
2881         * test/etags/Makefile (CSRC): Remove dostorture.c.
2882         Whatever it was trying to test, wasn't working portably.
2883         (LC_ALL): Remove.  Apparently there wasn't an encoding problem,
2884         just a line-ending problem.
2885         * test/etags/c-src/dostorture.c: Remove.
2886         * test/etags/cp-src/c.C: Remove stray CR.
2887         * test/etags/html-src/algrthms.html: Remove trailing CRs.
2888         State UTF-8 as the encoding.  The file is ASCII so it doesn't matter,
2889         but if someone edits it later it should stay UTF-8-compatible.
2891 2015-05-19  Eli Zaretskii  <eliz@gnu.org>
2893         Fix display of overlapping window-specific overlays
2894         * src/keyboard.c (adjust_point_for_property): When adjusting point
2895         due to display strings, ignore overlays that are specific to
2896         windows other than the currently selected one.
2897         * src/xdisp.c (handle_single_display_spec): If the display
2898         property comes from an overlay, arrange for buffer iteration to
2899         resume only after the end of that overlay.  (Bug#20607)
2901 2015-05-19  Dmitry Gutov  <dgutov@yandex.ru>
2903         New command icomplete-force-complete-and-exit
2904         * lisp/icomplete.el (icomplete-force-complete-and-exit):
2905         New command
2906         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00461.html)
2907         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00516.html).
2908         (icomplete-minibuffer-map): Bind C-j to it.
2909         (icomplete-forward-completions, icomplete-backward-completions):
2910         Mention the new command in the docstring.
2911         * lisp/minibuffer.el (minibuffer-force-complete-and-exit): Revert
2912         the previous fix for bug#17545.
2914 2015-05-19  Martin Rudalics  <rudalics@gmx.at>
2916         Fix last commit
2918         In Elisp manual explain how to override window manager positioning (Bug#20552)
2919         * doc/lispref/frames.texi (Position Parameters): Give example of
2920         how to override a window manager positioning decision.
2922         Clarify concept of "surrogate minibuffer frames" (Bug#20538)
2923         * src/frame.c (Fdelete_frame): In doc-string mention that frame
2924         can't be deleted if it has a surrogate minibuffer.
2925         * doc/lispref/frames.texi (Minibuffers and Frames)
2926         (Deleting Frames): Explain "surrogate minibuffer frames".
2928         In w32heap.c bump DUMPED_HEAP_SIZE to 19/12 MB
2929         * emacs-git/quick/src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 19/12 MB.
2931 2015-05-18  Glenn Morris  <rgm@gnu.org>
2933         Add option to ignore commit lines matching a pattern in ChangeLog.
2934         * build-aux/gitlog-to-changelog: Add --ignore-line option.
2935         * build-aux/gitlog-to-emacslog: Ignore lines matching '^; '.
2937 2015-05-18  Paul Eggert  <eggert@cs.ucla.edu>
2939         Don't skip new etags tests on non-UTF-8 hosts
2940         Problem reported by Eli Zaretskii for MS-Windows.
2941         * test/etags/Makefile (UTF8_LOCALE, UTF8_ENCODING): Remove.
2942         (LC_ALL): Set to C if the current locale isn't UTF-8.
2943         (.PHONY): Remove ediff_1 thru ediff_5.
2944         (check): Always run.
2946 2015-05-18  Glenn Morris  <rgm@gnu.org>
2948         * lisp/calculator.el (calculator-funcall):
2949         * lisp/textmodes/artist.el (artist-spray-random-points):
2950         Use standard degree/radian conversion utilities.
2952         Further lisp-complete-symbol related cleanup.
2953         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol):
2954         Unadvertise non-functional argument.  Replace obsolete alias.
2956 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
2958         Add a test case for Maven warning ouput
2959         * test/automated/compile-tests.el
2960         (compile-tests--test-regexps-data): Add a case for Maven warning
2961         ouput.
2962         (compile--test-error-line): Check the compilation message type, if
2963         it's specified in the test data.
2965 2015-05-18  Paul Pogonyshev  <pogonyshev@gmail.com>
2967         Update Maven compilation-mode entry to distinguish warnings
2968         * lisp/progmodes/compile.el
2969         (compilation-error-regexp-alist-alist): Update Maven entry to
2970         distinguish warnings (bug#20556).
2972 2015-05-18  Przemysław Wojnowski  <esperanto@cumego.com>
2974         * test/automated/sgml-mode-tests.el: New file.
2976 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
2978         Improve handling of the first Git revision
2979         * lisp/vc/log-view.el (log-view-toggle-entry-display): When
2980         there's no next entry, delete until the end of the buffer.
2981         (log-view-end-of-defun-1): Stop at eob.
2982         * lisp/vc/vc-annotate.el
2983         (vc-annotate-show-diff-revision-at-line-internal): Don't give up
2984         when previous-revision is nil.
2985         * lisp/vc/vc-git.el (vc-git-expanded-log-entry): End the arguments
2986         with `--' to avoid ambiguity.
2987         (vc-git-annotate-extract-revision-at-line): Exclude `^' from the
2988         returned revision string.
2989         (vc-git-annotate-time): Expect `^' before the first revision.
2990         * lisp/vc/vc-git.el (vc-git-diff): Diff against an empty tree if
2991         REV1 is nil, and REV2 is not.
2992         * lisp/vc/vc.el: Update the description of the `diff' function.
2994 2015-05-18  Oleh Krehel  <ohwoeowho@gmail.com>
2996         Allow checkdoc to be called in batch
2997         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When `noninteractive'
2998           is non-nil, echo the error with `warn'.
2999         How it can be used in -batch:
3000         (with-current-buffer (find-file "checkdoc.el")
3001           (checkdoc-current-buffer t))
3003 2015-05-18  Glenn Morris  <rgm@gnu.org>
3005         * lisp/calendar/solar.el (solar-ecliptic-coordinates): Use float-pi.
3007 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
3009         * admin/notes/unicode: New section "binary files".
3011         Change new etags test to use UTF-8 encoding
3012         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
3013         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
3014         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
3015         * test/etags/html-src/index.shtml, test/etags/html-src/software.html:
3016         * test/etags/html-src/softwarelibero.html:
3017         Switch to UTF-8 encoding.
3018         * test/etags/Makefile (SRCS): Adjust to switch to UTF-8.
3019         Remove Makefile, as it's too incestuous to have the test input
3020         include the build procedure.
3021         (UTF8_LOCALE, UTF_ENCODING): New macros.
3022         (LC_ALL): If possible, set to a UTF-8 encoding if not already UTF-8.
3023         (check): Skip if not UTF-8.
3024         (.PHONY): New rule.
3025         (FRC): Remove, as superseded by .PHONY.  All uses removed.
3026         (regexfile): Prefer printf to echo when outputting oddball chars.
3027         (.PRECIOUS): Remove, as these files are not built.
3029         Rename 'foo-gzipped' to 'foo.gz'
3030         * test/automated/data/decompress/foo.gz:
3031         Rename from test/automated/data/decompress/foo-gzipped,
3032         to make it easier for other tools to tell that it's compressed.
3033         * test/automated/zlib-tests.el (zlib--decompress):
3034         Adjust to renamed file.
3036 2015-05-17  Dmitry Gutov  <dgutov@yandex.ru>
3038         Set up default-directory
3039         * lisp/vc/vc-annotate.el (vc-annotate-mode-map): Remove duplicate
3040         binding for `v'.
3041         (vc-annotate-show-changeset-diff-revision-at-line): Set up an
3042         appropriate value for default-directory.
3044 2015-05-17  Samer Masterson  <samer@samertm.com>
3046         * lisp/eshell/em-term.el (eshell-term-sentinel):
3047         No-op by default, only kills term buffer if
3048         `eshell-destroy-buffer-when-process-dies' is non-nil.  (Bug#18108)
3049         (eshell-destroy-buffer-when-process-dies): New custom to preserve
3050         previous behavior.
3052         eshell: Introduce new buffer syntax
3053         The new buffer syntax '#<buffer-name>' is equivalent to '#<buffer
3054         buffer-name>'.  Remove `eshell-buffer-shorthand', as it is no longer
3055         needed (Bug#19319).
3056         * lisp/eshell/esh-io.el (eshell-buffer-shorthand): Remove.
3057         (eshell-get-target): Remove shorthand-specific code.
3058         * lisp/eshell/esh-arg.el (eshell-parse-special-reference): Parse
3059         '#<buffer-name>'.
3061 2015-05-17  Jan D  <jan.h.d@swipnet.se>
3063         Merge branch 'master' into cairo
3065 2015-04-26  Jan D  <jan.h.d@swipnet.se>
3067         Merge branch 'master' into cairo
3069         Add PBM support for cairo.
3070         * src/image.c (xcolor_to_argb32): New function.
3071         (get_spec_bg_or_alpha_as_argb): Call xcolor_to_argb32.
3072         (pbm_load, png_load_body, jpeg_load_body, gif_load): Only use
3073         XImagePtr if ! USE_CAIRO.
3074         (pbm_load): Add cairo support.
3076 2015-04-12  Jan D  <jan.h.d@swipnet.se>
3078         x_free_cr_resources: Renamed from x_prepare_for_xlibdraw.
3079         * src/xterm.c (x_free_cr_resources): Renamed from x_prepare_for_xlibdraw.
3080         (x_cr_draw_frame, x_cr_export_frames, x_shift_glyphs_for_insert)
3081         (x_free_frame_resources): Rename x_prepare_for_xlibdraw to
3082         x_free_cr_resources.
3084         Handle specified bg in images.  Use generic libpng code for PNG:s.
3085         * src/image.c (get_spec_bg_or_alpha_as_argb)
3086         (create_cairo_image_surface): New functions when USE_CAIRO.
3087         (xpm_load): Call the above functions.  Handle XPM without mask
3088         when USE_CAIRO.
3089         (png_load_body): Handle USE_CAIRO case.
3090         (png_load): Remove USE_CAIRO specific fuction, modify png_load_body
3091         instead.
3092         (jpeg_load_body): Call create_cairo_image_surface.
3093         (gif_load, svg_load_image): Handle specified background, call
3094         create_cairo_image_surface.
3095         * src/xterm.c (x_draw_image_glyph_string): Added missing USE_CAIRO.
3097 2015-04-11  Jan D  <jan.h.d@swipnet.se>
3099         Support GIF and Tiff with cairo.
3100         * configure.ac: Allow jpeg with cairo.
3101         Allow tiff and gif with cairo.
3102         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
3103         (tiff_load): Create cairo image surface if USE_CAIRO.
3104         (gif_load): Ditto.
3106         Support JPEG with USE_CAIRO.
3107         * configure.ac: Allow jpeg with cairo.
3108         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
3110 2015-04-05  Jan D  <jan.h.d@swipnet.se>
3112         Support RSVG and cairo.
3113         * configure.ac: Allow rsvg with cairo.  Move back HAVE_RSVG.
3114         * src/dispextern.h (struct image): add cr_data2 if cairo.
3115         * src/image.c: #undef COLOR_TABLE_SUPPORT when USE_CAIRO.
3116         (x_clear_image): Free cr_data and cr_data2 if set.
3117         (xpm_load): Assign data to cr_data2.
3118         (svg_load_image): Convert from GdkPixbuf to CAIRO_FORMAT_ARGB32.
3120 2015-04-03  Jan D  <jan.h.d@swipnet.se>
3122         Introduce limited Xpm support (32 bit ZPixmap) for Cairo.
3123         * configure.ac (HAVE_RSVG): Move after cairo.
3124         (USE_CAIRO): Disable rsvg, don't disable Xpm.
3125         * src/image.c (prepare_image_for_display): Don't load if USE_CAIRO.
3126         (x_clear_image): If USE_CAIRO, also free possible img->ximg->obdata and
3127         don't return early.
3128         (ALLOC_XPM_COLORS): Don't define when USE_CAIRO.
3129         (xpm_load): Convert simple Xpms (32 bit ZPixmap) to CAIRO_FORMAT_ARGB32
3130         and create a surface.
3132         Tool tips for menus did not show any text.
3133         * src/xterm.c (x_update_begin): Don't create any surface for non-visible
3134         tip frames, the geometry may be wrong.
3136         Merge branch 'master' into cairo, fixes tooltips not shown.
3138         Merge branch 'master' into cairo
3140         Add CAIRO_CFLAGS to lwlib/Makefile.in
3141         * Makefile.in (CAIRO_CFLAGS): Add.
3143 2015-02-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
3145         * ftcrfont.c (ftcrfont_draw): Don't flush when drawing to screen.
3147 2015-02-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
3149         Draw outermost line using black relief and erase corners also for cairo.
3150         * xterm.c [USE_CAIRO]: Include math.h.
3151         (enum corners) [USE_CAIRO]: New enum.
3152         (x_erase_corners_for_relief) [USE_CAIRO]: New function.
3153         (x_draw_relief_rect) [USE_CAIRO]: Use it.  If box width is larger
3154         than 1, draw the outermost line using the black relief.
3156         * xterm.c (x_fill_trapezoid_for_relief): Remove unnecessary cairo_close_path.
3158 2015-02-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
3160         * xterm.c (x_draw_relief_rect) [USE_CAIRO]: Reset clipping.
3162         * xterm.c (x_draw_stretch_glyph_string): Call x_reset_clip_rectangles instead of XSetClipMask.
3164         Use int instead of unsigned int for width and height args.
3165         * xterm.c (x_cr_draw_image, x_fill_rectangle, x_draw_rectangle)
3166         (x_fill_trapezoid_for_relief): Use int instead of unsigned int for
3167         width and height args.
3169         Modernize k&r cairo-related function declarations.
3170         * gtkutil.c (xg_page_setup_dialog, xg_get_page_setup, draw_page)
3171         (xg_print_frames_dialog): Modernize k&r declarations.
3172         * xfns.c (Fx_export_frames, Fx_page_setup_dialog, Fx_get_page_setup)
3173         (Fx_print_frames_dialog): Modernize k&r declarations.
3174         * xterm.c (x_gc_get_ext_data, x_extension_initialize, x_begin_cr_clip)
3175         (x_end_cr_clip, x_set_cr_source_with_gc_foreground)
3176         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
3177         (x_cr_destroy_fringe_bitmap, x_cr_draw_frame, x_cr_accumulate_data)
3178         (x_cr_destroy, x_cr_export_frames, x_prepare_for_xlibdraw)
3179         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
3180         (x_draw_rectangle, x_clear_window, x_fill_trapezoid_for_relief)
3181         (x_clear_area): Modernize k&r declarations.
3183         Implement wave-style variant of underlining for cairo.
3184         * xterm.c (x_draw_horizontal_wave) [USE_CAIRO]: New function.
3185         (x_draw_underwave) [USE_CAIRO]: Use it.
3187         * xterm.c (x_draw_window_divider): Use x_fill_rectangle instead of XFillRectangle.
3189 2015-02-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
3191         Fix fringe bitmap initialization for cairo.
3192         * fringe.c (init_fringe_bitmap) [USE_CAIRO]: Adjust bitmap data for
3193         cairo image surface.
3194         * xterm.c (x_cr_define_fringe_bitmap): Call cairo_surface_mark_dirty.
3196 2015-02-11  Jan D  <jan.h.d@swipnet.se>
3198         Add cairo drawing.
3199         * configure.ac (with-cairo): New option.
3200         (USE_CAIRO): Default to yes for Gtk+ 3.  Add code to test for cairo,
3201         set CAIRO_CFLAGS, CAIRO_LIBS.  Add ftcrfonto to FONT_OBJ if cairo.
3202         Output "Does Emacs use cairo?".
3203         * lisp/version.el (emacs-version): Add cairo version.
3204         * src/Makefile.in (CAIRO_CFLAGS, CAIRO_LIBS): New variables.
3205         (FONT_OBJ): Add comment about ftcrfont.
3206         (ALL_CFLAGS): Add CAIRO_CFLAGS.
3207         (LIBES): Add CAIRO_LIBS.
3208         * src/dispextern.h (struct image): Add cr_data for cairo.
3209         (x_cr_init_fringe): Declare.
3210         * src/font.c (syms_of_font): Call syms_of_ftcrfont for cairo.
3211         * src/font.h (ftcrfont_driver, syms_of_ftcrfont): Declare
3212         * src/fringe.c (x_cr_init_fringe): New function name that shares code
3213         with w32_init_fringe.
3214         * src/ftcrfont.c: New font driver for cairo, based on the ftfont driver.
3215         * src/ftfont.c (ftfont_info_size); New global variable.
3216         (ftfont_open2): New extern function almost the same as old ftfont_open,
3217         but takes the font_object as argument.
3218         (ftfont_open): Build font object and call ftfont_open2.
3219         * src/ftfont.h (ftfont_open2, ftfont_info_size): Declare.
3220         * src/gtkutil.c (xg_clear_under_internal_border)
3221         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos): Only
3222         queue_draw if not cairo.  Change args to x_clear_area.
3223         (xg_get_font): Use Qftcr when using cairo, Qxft otherwise.
3224         (xg_page_setup_dialog, xg_get_page_setup, draw_page)
3225         (xg_print_frames_dialog): New functions for printing.
3226         * src/gtkutil.h (xg_page_setup_dialog, xg_get_page_setup)
3227         (xg_print_frames_dialog): Declare.
3228         * src/image.c: Add defined (USE_CAIRO) for PNG.
3229         Add !defined USE_CAIRO for W32 PNG code.
3230         (x_clear_image): If cairo, destroy the surface in cr_data.
3231         (png_load): Add new cairo compatible implementation.
3232         (lookup_image_type): Add defined (USE_CAIRO) for define png_type.
3233         * src/xfns.c: New section Printing.
3234         (x-export-frames, x-page-setup-dialog, x-get-page-setup)
3235         (x-print-frames-dialog): New printing functions.
3236         (Fx_create_frame, x_create_tip_frame): Register ftcrfont if
3237         cairo.
3238         (syms_of_xfns): Defsym Qorientation, Qtop_margin, Qbottom_margin,
3239         Qportrait, Qlandscape, Qreverse_portrait, Qreverse_landscape).
3240         (syms_of_xfns): Provide cairo and defvar cairo-version-string.
3241         defsubr Sx_page_setup_dialog, Sx_get_page_setup, Sx_print_frames_dialog.
3242         * src/xterm.c (x_clear_area1, x_prepare_for_xlibdraw)
3243         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
3244         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
3245         (x_gc_get_ext_data, x_extension_initialize, x_cr_accumulate_data):
3246         Declare.
3247         (FRAME_CR_CONTEXT, FRAME_CR_SURFACE): New macros.
3248         (max_fringe_bmp, fringe_bmp): New variables.
3249         (x_gc_get_ext_data, x_extension_initialize)
3250         (x_cr_destroy_surface, x_begin_cr_clip, x_end_cr_clip)
3251         (x_set_cr_source_with_gc_foreground)
3252         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
3253         (x_cr_destroy_fringe_bitmap, x_cr_draw_image, x_cr_draw_frame)
3254         (x_cr_accumulate_data, x_cr_destroy, x_cr_export_frames)
3255         (x_prepare_for_xlibdraw, x_set_clip_rectangles)
3256         (x_reset_clip_rectangles, x_fill_rectangle, x_draw_rectangle)
3257         (x_clear_window, x_fill_trapezoid_for_relief): New functions.
3258         (x_update_begin): Create cairo surface if needed.
3259         (x_draw_vertical_window_border): Call x_fill_rectangle for cairo.
3260         (x_update_end): Paint cairo drawing surface to xlib surface.
3261         (x_clear_under_internal_border, x_after_update_window_line): Adjust
3262         arguments to x_clear_area.
3263         (x_draw_fringe_bitmap): Call x_fill_rectangle.  Get GC values and
3264         call x_cr_draw_image for cairo.  Call x_reset_clip_rectangles instead
3265         of XSetClipMask.
3266         (x_set_glyph_string_clipping)
3267         (x_set_glyph_string_clipping_exactly): Use x_set_clip_rectangles
3268         instead of XSetClipRectangles.
3269         (x_clear_glyph_string_rect, x_draw_glyph_string_background): Use
3270         x_fill_rectangle instead of XFillRectangle.
3271         (x_draw_glyph_string_foreground)
3272         (x_draw_composite_glyph_string_foreground)
3273         (x_draw_glyphless_glyph_string_foreground): Use x_draw_rectangle instead
3274         of XDrawRectangle.
3275         (x_draw_relief_rect): Add code for USE_CAIRO.
3276         Call x_reset_clip_rectangles instead of XSetClipMask.
3277         (x_draw_box_rect): x_set_clip_rectangles instead of XSetClipRectangles,
3278         x_fill_rectangle instead of XFillRectangle, x_reset_clip_rectangles
3279         instead of XSetClipMask.
3280         (x_draw_image_foreground, x_draw_image_foreground_1):
3281         x_draw_rectangle instead of XDrawRectangle.
3282         (x_draw_glyph_string_bg_rect): x_fill_rectangle instead of
3283         XFillRectangle.
3284         (x_draw_image_glyph_string): If img has cr_data, use it as
3285         a cairo surface.
3286         (x_draw_stretch_glyph_string): x_set_clip_rectangles instead of
3287         XSetClipRectangles, x_fill_rectangle instead of XFillRectangle.
3288         (x_draw_glyph_string): x_fill_rectangle instead of XFillRectangle.,
3289         x_reset_clip_rectangles instead of XSetClipMask.
3290         (x_shift_glyphs_for_insert): Call x_prepare_for_xlibdraw.
3291         (x_clear_area1): New function that calls XClearArea.
3292         (x_clear_area): Takes frame as parameter, calls x_clear_area1 for
3293         non-cairo.
3294         (x_clear_frame): x_clear_window instead of XClearWindow.
3295         (x_scroll_run): Set frame garbaged if cairo.
3296         (XTmouse_position): Initialize *part to 0.
3297         (x_scroll_bar_create): Adjust arguments to x_clear_area.
3298         (x_scroll_bar_set_handle): x_clear_area1 instead of x_clear_area,
3299         x_fill_rectangle instead of XFillRectangle.
3300         (XTset_vertical_scroll_bar, XTset_horizontal_scroll_bar): Adjust
3301         arguments to x_clear_area.
3302         (x_scroll_bar_expose): x_draw_rectangle instead of XDrawRectangle.
3303         (handle_one_xevent): Adjust arguments to x_clear_area.
3304         Destroy cairo surface for frame if ConfigureNotify.
3305         (x_clip_to_row): x_set_clip_rectangles instead of XSetClipRectangles.
3306         (x_draw_hollow_cursor): x_draw_rectangle instead of XDrawRectangle,
3307         x_reset_clip_rectangles instead of XSetClipMask.
3308         (x_draw_bar_cursor): x_fill_rectangle instead of XFillRectangle,
3309         x_reset_clip_rectangles instead of XSetClipMask.
3310         (x_clear_frame_area): Adjust arguments to x_clear_area.
3311         (x_free_frame_resources): Call x_prepare_for_xlibdraw.
3312         (x_term_init): Call x_extension_initialize if cairo.
3313         (x_redisplay_interface): Add x_cr_define_fringe_bitmap,
3314         x_cr_destroy_fringe_bitmap for cairo.
3315         (x_initialize): Call x_cr_init_fringe for cairo.
3316         * src/xterm.h: Add include of cairo header files.
3317         (x_bitmap_record): Add img if cairo.
3318         (x_gc_ext_data): New struct for cairo.
3319         (x_display_info): Add ext_codes for cairo.
3320         (x_output): Add cr_context and cr_surface for cairo.
3321         (x_clear_area): Change arguments from Display*/Window to frame pointer.
3322         (x_query_color, x_begin_cr_clip, x_end_cr_clip)
3323         (x_set_cr_source_with_gc_foreground, x_set_cr_source_with_gc_background)
3324         (x_cr_draw_frame, x_cr_export_frames): Declare.
3326 2015-05-17  Johan Bockgård  <bojohan@gnu.org>
3328         Fix integer-valued `mouse-highlight' (Bug#20590)
3329         * src/xterm.c (handle_one_xevent) [USE_GTK]: Fix ifdef scope.
3331 2015-05-17  Eli Zaretskii  <eliz@gnu.org>
3333         MS-Windows followup for ASCIIfication of curved quotes
3334         * lisp/term/w32console.el (terminal-init-w32console): Repeat the
3335         test for curved quotes being displayable, after switching the
3336         terminal encoding.  (Bug#20545)
3338 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
3340         Spelling fixes
3342 2015-05-17  Jan D  <jan.h.d@swipnet.se>
3344         Add comment that x_shift_glyphs_for_insert is never called.
3345         * xterm.c (x_shift_glyphs_for_insert, x_redisplay_interface): Add
3346         comment that this function is never called.
3348 2015-05-16  Glenn Morris  <rgm@gnu.org>
3350         * src/lisp.mk: Remove from repository and generate at build-time.
3351         * src/Makefile.in (lisp.mk): New rule to generate from loadup.el.
3352         (shortlisp_filter): New variable.
3353         (emacs$(EXEEXT), $(etc)/DOC): Depend on lisp.mk.
3354         (distclean): Remove lisp.mk.
3355         * Makefile.in ($(MAKEFILE_NAME)): No longer depend on src/lisp.mk.
3356         * lisp/loadup.el: Tweak layout to make it easier to parse.
3357         * make-dist: Do not distribute src/lisp.mk.
3359 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
3361         Display shorter dates in Git annotate output
3362         * lisp/vc/vc-git.el (vc-git-annotate-command): Use the short date
3363         format (when not overridden with vc-git-annotate-switches).
3364         (vc-git-annotate-time): Support the short format, as well as ISO
3365         8601 that has been used until now (bug#5428).
3367 2015-05-16  Paul Eggert  <eggert@cs.ucla.edu>
3369         ASCIIfy curved quotes on displays lacking them
3370         * lisp/international/mule-cmds.el (set-locale-environment):
3371         If curved quotes don't work, display straight ASCII approximations
3372         (Bug#20545).
3374 2015-05-16  Glenn Morris  <rgm@gnu.org>
3376         Small src/Makefile simplification.
3377         * src/lisp.mk (shortlisp): Rename from lisp, remove $lispsource prefix.
3378         * src/Makefile.in (lisp): Derive from shortlisp.
3379         ($(etc)/DOC): Use $shortlisp rather than parsing lisp.mk.
3381 2015-05-16  Eli Zaretskii  <eliz@gnu.org>
3383         * lisp/help-mode.el (help-go-forward): Doc fix.
3384         (Bug#20577)
3386         * doc/lispref/debugging.texi (Profiling): Improve indexing.
3387         (Bug#20576)
3389 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
3391         Use `unless' to have one fewer `not'
3392         * lisp/vc/vc-git.el (vc-git-resolve-when-done): Use `unless' to
3393         have one fewer `not'.
3395         Remove redundant :group declarations from vc-git.el
3396         * lisp/vc/vc-git.el (vc-git-diff-switches)
3397         (vc-git-annotate-switches, vc-git-resolve-conflicts)
3398         (vc-git-program, vc-git-root-log-format): Remove the redundant
3399         :group declarations.
3401 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
3403         Removes the predicate from lisp-complete-symbol (Bug#20456)
3404         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol): Do not use predicate
3405         and remove it from the docstring.
3407 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
3409         Add new option vc-git-resolve-conflicts
3410         * lisp/vc/vc-git.el (vc-git-resolve-conflicts): New variable.
3411         (vc-git-find-file-hook): Add to after-save-hook only when the
3412         above is non-nil.
3413         (vc-git-resolve-when-done): Update to honor the new variable.
3414         (Bug#20292)
3416 2015-05-16  Artur Malabarba  <bruce.connor.am@gmail.com>
3418         * lisp/emacs-lisp/tabulated-list.el: Don't error on nil header-string
3419         (tabulated-list-init-header): Document new behavior.
3420         (tabulated-list-print-fake-header): No nothing if
3421         `tabulated-list--header-string' is nil.
3422         (tabulated-list--header-string): Add a docstring.
3423         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
3424         * etc/NEWS: Document it.
3426 2015-05-15  Leo Liu  <sdl.web@gmail.com>
3428         Revert "Fix cps--gensym"
3429         * lisp/emacs-lisp/generator.el (cps--gensym): Revert commit
3430           fbda511ab8069d0115eafca411a43353b85431b1 on 2015-05-14.
3432 2015-05-15  Glenn Morris  <rgm@gnu.org>
3434         Replace AC_SUBST_FILE in configure with include in Makefiles.
3435         * configure.ac (DEPDIR, MKDEPDIR, deps_frag, lwlib_deps_frag)
3436         (oldxmenu_deps_frag, lisp_frag): Remove output variables/files.
3437         (AUTO_DEPEND): New output variable.
3438         * lwlib/Makefile.in (AUTO_DEPEND): New, set by configure.
3439         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
3440         (lwlib_deps_frag): Replace by conditional include.
3441         * lwlib/autodeps.mk: Remove file.
3442         * oldXMenu/Makefile.in (AUTO_DEPEND): New, set by configure.
3443         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
3444         (oldxmenu_deps_frag): Replace by conditional include.
3445         * oldXMenu/autodeps.mk: Remove file.
3446         * src/Makefile.in (AUTO_DEPEND): New, set by configure.
3447         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
3448         (lisp_frag): Replace by an include.
3449         (deps_frag): Replace by conditional include.
3450         * src/autodeps.mk: Remove file.
3452         Tweak japanese.el's loading of dependencies.
3453         * lisp/loadup.el: Explicitly load cp51932 and eucjp-ms.
3454         * lisp/language/japanese.el: Use require rather than load.
3455         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
3456         Provide a feature.
3457         * admin/charsets/eucjp-ms.awk, admin/charsets/cp51932.awk:
3458         Provide a feature in the generated file.
3460 2015-05-15  Jan D  <jan.h.d@swipnet.se>
3462         Fix NS warnings.
3463         * nsmenu.m (ns_popup_dialog)
3464         * nsimage.m (initFromXBM:width:height:fg:bg:)
3465         * nsfns.m (Fx_create_frame): Remove unused variables.
3466         (Fns_read_file_name): Initialize fname, remove ret.
3467         * nsterm.m (ns_draw_window_cursor): Handle DEFAULT_CURSOR in switch.
3468         (ns_get_color, ns_set_horizontal_scroll_bar, keyDown): Remove unused
3469         variable.
3470         (init): Add parantesis in if.
3471         (ns_create_terminal): Assign set_horizontal_scroll_bar_hook.
3473 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
3475         Fix a enum conversion warning in macfont.m
3476         * src/macfont.h (CharacterCollection): Typedef to NSCharacterCollection.
3477         (MAC_CHARACTER_COLLECTION_*): Use the NS variants.
3479 2015-05-15  Eli Zaretskii  <eliz@gnu.org>
3481         Support de-alt dictionary with Aspell.
3482         * lisp/textmodes/ispell.el (ispell-aspell-find-dictionary):
3483         Support Aspell dictionaries with names like "de-alt".  (Bug#20581)
3485 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
3487         cus-start.el: Add ns-confirm-quit.
3488         * cus-start.el: Add ns-confirm-quit.
3490         Fix warnings on OSX 10.10.
3491         * nsfns.m (MODAL_OK_RESPONSE): New define for different OSX versions.
3492         (Fns_read_file_name): Check against MODAL_OK_RESPONSE.
3493         (compute_tip_xy): Use convertRectToScreen for OSX >= 10.7
3494         * nsmenu.m (initWithContentRect:styleMask:backing:defer:)
3495         * nsimage.m (allocInitFromFile, setPixmapData): Only call
3496         setScalesWhenResized for OSX < 10.6.
3497         * nsterm.h (EmacsScroller): Declare scrollerWidth.
3498         * nsterm.m (ns_copy_bits): New function that does not use deprecated
3499         NSCopyBits.
3500         (ns_scroll_run, ns_shift_glyphs_for_insert): Call ns_copy_bits.
3501         (runAlertPanel): New function.
3502         (applicationShouldTerminate:): Call runAlertPanel.
3503         (initFrameFromEmacs, toggleFullScreen:): Only call useOptimizedDrawing
3504         for OSX < 10.10.
3505         (initFrameFromEmacs:): Only call allocateGState for OSX < 10.10.
3506         (windowWillUseStandardFrame:defaultFrame:): Cast arg to abs to int.
3507         (draggingEntered:): Returns NSDragOperation.
3508         (scrollerWidth): Use scrollerWidthForControlSize for OSX >= 10.7.
3510 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
3512         * lisp/emacs-lisp/package.el: Don't ensure-init during startup
3513         (package--init-file-ensured): New variable.
3514         (package-initialize, package--ensure-init-file): Use it.
3516 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
3518         Honor :fore/background for XBM on NS (Bug#14969).
3519         * nsterm.h (EmacsImage): Add xbm_fg, remove initFromSkipXBM,
3520         initFromXBM takes bg, fg args, remove flip arg.
3521         (ns_image_from_XBM): Add bg, fg args.
3522         * image.c (x_create_bitmap_from_data)
3523         (Create_Pixmap_From_Bitmap_Data): ns_image_from_XBM takes bg, fg args.
3524         * nsimage.m (ns_image_from_XBM): Add fg, bg args, pass to initFromXBM.
3525         Remove flip arg.
3526         (initFromSkipXBM): Move code to initFromXBM.
3527         (initFromXBM): Actually set fg and bg, instead of playing alpha games.
3528         Use fg, bg from args (Bug#14969).  Remove if (length) section, was always
3529         false.
3530         Remove bit flipping (bitPat, swt), generated incorrect images when
3531         width/height wasn't a multiple of 8.
3532         (setXBMColor:): Modify planes by comparing to saved xbm_fg.
3533         * nsterm.m (ns_draw_fringe_bitmap): initFromXBM takes fg, bg args, remove
3534         flip arg.
3536 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
3538         * lisp/emacs-lisp/package.el: Be more careful with the init file
3539         (package--ensure-init-file): Check that user-init-file is set,
3540         exists, is readable, and is writable.  (Bug#20584)
3541         Also expand the docstring.
3543 2015-05-14  Wilson Snyder  <wsnyder@wsnyder.org>
3545         Sync with upstream verilog-mode revision 6232468
3546         * lisp/progmodes/verilog-mode.el (verilog-font-lock-grouping-keywords-face)
3547         (verilog-highlight-grouping-keywords): Fix use of face when
3548         `verilog-highlight-grouping-keywords' set.  Reported by Jeff
3549         Pompa.
3550         (verilog-auto-reset): Fix AUTORESET to ignore member resets if
3551         parent is reset, bug906. Reported by Ken Schmidt.
3552         (verilog-auto-inout-module): Add fourth regexp argument to
3553         AUTOINOUTMODULE and AUTOINOUTCOMP for signals to not match,
3554         bug856. Reported by John Tillema.
3555         (verilog-auto-inst-port): Fix AUTOINST interfaces to not show
3556         modport if signal attachment is itself a modport.  Reported by
3557         Matthew Lovell.
3558         (verilog-auto-reset, verilog-auto-sense-sigs): Fix AUTORESET with
3559         always_comb and always_latch, bug844.  Reported by Greg Hilton.
3560         (verilog-at-constraint-p, verilog-beg-of-statement-1): Fix hanging
3561         with many curly-bracket pairs, bug663.
3562         (verilog-set-auto-endcomments): Fix end comments for functions of
3563         type void, etc.  Reported by Alex Reed.
3564         (verilog-do-indent): Fix electric tab deleting form-feeds.  Note
3565         caused by indent-line-to deleting tabls pre 24.5.
3566         (verilog-nameable-item-re): Fix nameable items that can have an
3567         end-identifier to include endchecker, endgroup, endprogram,
3568         endproperty, and endsequence.  Reported by Alex Reed.
3569         (verilog-label-be): When auto-commenting a buffer, consider
3570         auto-comments on all known keywords (not just a subset thereof).
3571         Reported by Alex Reed.
3572         (verilog-auto-end-comment-lines-re)
3573         (verilog-end-block-ordered-re, verilog-set-auto-endcomments):
3574         Automatically comment property/endproperty blocks to match other
3575         similar blocks like sequence/endsequence, function/endfunction,
3576         etc. Reported by Alex Reed.
3577         (verilog-set-auto-endcomments): Detect the function- or task-name
3578         when auto-commenting blocks that lack an explicit
3579         portlist. Reported by Alex Reed.
3580         (verilog-auto, verilog-auto-insert-last): Add AUTOINSERTLAST to
3581         allow post-AUTO user fixups, bug826. Reported by Dennis
3582         Muhlestein.
3583         (verilog-no-indent-begin-re): When `verilog-indent-begin-after-if'
3584         is nil, fix indenting initial/final to match always statements,
3585         bug825. Reported by Tim Clapp.
3586         (verilog-extended-complete-re): Fix indentation of DPI-C imports
3587         with c_identifiers, and DPI-C imports, bug557. Reported by ZeDong
3588         Mao and Jason Forkey.
3589         (verilog-read-decls): Fix parsing typed interfaces.  Fix
3590         AUTOINOUTMODPORT missing types.  Reported by Stephan Bourduas.
3591         Fix localparam not being ignored in AUTOINSTPARAM,
3592         bug889. Reported by Shannon Hill.
3593         (verilog-auto-output-every): Add regexp to AUTOOUTPUTEVERY,
3594         bug793.  Reported by Pierre-David Pfister.
3595         (verilog-auto-arg-format, verilog-auto-arg-ports): Add
3596         verilog-auto-arg-format to support newlines in AUTOARG. Reported
3597         by Jie Xiao.
3598         (verilog-batch-execute-func): Do not batch re-auto files loaded by
3599         Local Variables. Fix printing "no changes to be saved" with
3600         verilog-batch. Reported by Dan Dever.
3601         (verilog-auto-inout-module): Fix AUTOINOUTMODULE not inserting
3602         interface-only modules, bug721.  Reported by Dean Hoyt.
3603         Author: Alex Reed <acreed4@gmail.com>
3604         * lisp/progmodes/verilog-mode.el (verilog-beg-of-statement): Don't
3605         treat '<keyword>:<identifier>' as the start of a labeled
3606         statement, bug905.  Reported by Enzo Chi.
3607         (verilog-directive-re, verilog-compiler-directives)
3608         (verilog-keywords): Match full set of IEEE 2012-1800 compiler
3609         directives (plus some extras) when determining indentation, bug
3610         901.  Reported by Bernd Beuster.
3611         (verilog-at-constraint-p): Fix indentation of coverpoint bins if
3612         iff expression doesn't start with word-character, bug900.
3613         (verilog-optional-signed-range-re, verilog-optional-signed-re):
3614         Fix incorrect indentation/alignment of unsigned declarations,
3615         bug897.
3616         (verilog-looking-back, verilog-in-attribute-p): Fix labling of
3617         always constructs, bug895.
3618         (verilog-calc-1): Fix verilog-mode constraint indentation,
3619         bug324. Reported by Eric Mastromarchi.
3620         (verilog-beg-of-statement): Fix indenting for some forms of
3621         constraintsm bug433.  Reported by Brad Parker.  Fix indentation of
3622         continued assignment incorrect if first line ends with ']',
3623         bug437. Reported by Dan Dever.  Fix indention of cover inside an
3624         ifdef, bug 862. Reported by Bernd Beuster Fix labeling do-while
3625         blocks, bug842.
3626         (verilog-preprocessor-re): Fix fork/end UNMATCHED warning,
3627         bug859. Reported by Kaushal Modi.
3628         (verilog-set-auto-endcomments): Fix endlabel end comments, bug888.
3629         (verilog-backward-token): Fix indenting sensitivity lists with
3630         named events, bug840.  Reed.
3631         (verilog-no-indent-begin-re): Fix `verilog-indent-begin-after-if'
3632         nil not honoring 'forever', 'foreach', and 'do' keywords.
3634 2015-05-14  Paul Eggert  <eggert@cs.ucla.edu>
3636         Check for invalid GTK+ monitor scales
3637         * src/gtkutil.c (xg_get_gdk_scale): Return 1 for invalid scales,
3638         INT_MAX for too-large scales.  All callers changed to assume the
3639         result is valid (Bug#20432).
3640         (xg_frame_set_char_size, xg_update_scrollbar_pos):
3641         Calculate scale only if needed.
3642         show ASCII approximations instead.
3644 2015-05-14  Eli Zaretskii  <eliz@gnu.org>
3646         Fix daemon crashes when linum-mode is turned on early on
3647         * src/window.c (Fwindow_end): Don't try calling display engine
3648         functions on initial-frame frame.  (Bug#20565)
3650         Fix selective diff browsing in Ediff
3651         * lisp/vc/ediff-util.el (ediff-focus-on-regexp-matches): Go to the
3652         beginning of the region before searching for the
3653         ediff-regexp-focus-* regexps.  (Bug#20568)
3655 2015-05-14  Jan D  <jan.h.d@swipnet.se>
3657         Fixes Bug#20142.
3658         * gtkutil.c (delete_cb): Don't send delete event here, it does arrive
3659         in the main loop, even for Gtk 3 (Bug#20142).
3661         Don't access display after i/o error (Bug#19147).
3662         * xterm.c (x_connection_closed): Add third arg ioerror.
3663         If ioerror, set display to 0 (Bug#19147).
3664         (x_error_quitter): Call x_connection_closed with third arg false.
3665         (x_io_error_quitter): Call x_connection_closed with third arg true.
3667         Handle GTK_SCALE, fixes Bug#20432.
3668         * gtkutil.c (xg_get_gdk_scale): New function.
3669         (xg_frame_set_char_size)
3670         (x_wm_set_size_hint, xg_get_default_scrollbar_width)
3671         (xg_get_default_scrollbar_height)
3672         (xg_update_horizontal_scrollbar_pos): Take GTK_SCALE in to account
3673         when setting sizes (Bug#20432).
3675 2015-05-13  Leo Liu  <sdl.web@gmail.com>
3677         Fix cps--gensym
3678         * lisp/emacs-lisp/generator.el (cps--gensym): Fix.
3680 2015-05-13  Glenn Morris  <rgm@gnu.org>
3682         Fix bootstrap (void function cl-member).
3683         * lisp/emacs-lisp/cl-lib.el: Load cl-seq if no cl-loaddefs file.
3684         * lisp/emacs-lisp/cl-seq.el: Provide a feature.
3686 2015-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
3688         * lisp/loadup.el ("emacs-lisp/cl-generic"): Preload
3689         * src/lisp.mk (lisp): Add emacs-lisp/cl-generic.elc.
3690         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method):
3691         Avoid defalias for closures which are not immutable.
3692         (cl--generic-prefill-dispatchers): New macro.  Use it to prefill the
3693         dispatchers table with various entries.
3694         * lisp/emacs-lisp/ert.el (emacs-lisp-mode-hook):
3695         * lisp/emacs-lisp/seq.el (emacs-lisp-mode-hook): Use add-hook.
3697 2015-05-13  Eli Zaretskii  <eliz@gnu.org>
3699         Improve tagging of C bindings in DEFVAR_*
3700         * src/Makefile.in (TAGS): Add --regex options to tag the C binding
3701         from DEFVAR_*.
3703 2015-05-13  Paul Eggert  <eggert@cs.ucla.edu>
3705         * src/editfns.c (Fformat): Fix use-after-free bug (Bug#20548).
3707 2015-05-12  Glenn Morris  <rgm@gnu.org>
3709         * lisp/progmodes/tcl.el (tcl-filter):
3710         Handle comint-prompt-read-only like gud.el does.  (Bug#20549)
3712         Add basic VC push support.
3713         * lisp/vc/vc.el (vc-push): New autoloaded command.
3714         * lisp/vc/vc-hooks.el (vc-prefix-map, vc-menu-map): Add vc-push.
3715         * lisp/vc/vc-bzr.el (vc-bzr--pushpull): New, factored from vc-bzr-pull.
3716         (vc-bzr-pull): Reimplement using vc-bzr--pushpull.
3717         (vc-bzr-push): New.
3718         * lisp/vc/vc-git.el (vc-git--pushpull): New, factored from vc-git-pull.
3719         (vc-git-pull): Reimplement using vc-git--pushpull.
3720         (vc-git-push): New.
3721         * lisp/vc/vc-hg.el (vc-hg--pushpull): New, factored from vc-hg-pull.
3722         (vc-hg-pull, vc-hg-push): Reimplement using vc-hg--pushpull.
3723         * doc/emacs/maintaining.texi (Pulling / Pushing):
3724         Rename from "VC Pull".  Mention pushing.
3725         (VC With A Merging VCS, VC Change Log): Update xrefs.
3726         (Branches): Update menu.
3727         * doc/emacs/emacs.texi: Update menu.
3728         * etc/NEWS: Mention this.
3730 2015-05-12  Nicolas Petton  <nicolas@petton.fr>
3732         Improve the seq pcase pattern and the `seq-let' macro
3733         * lisp/emacs-lisp/seq.el: The pcase pattern now matches only if the
3734         object is a sequence, and binds each element of ARGS to the
3735         corresponding element of the sequence.
3737 2015-05-12  Eli Zaretskii  <eliz@gnu.org>
3739         Fix tags created from DEFVAR_* declarations in C
3740         * src/Makefile.in (TAGS): Improve the --regex argument to etags,
3741         to make tags extracted from DEFVAR_* declarations more accurate.
3743         Add a test suite for etags
3744         * test/etags/: New test suite, adapted from
3745         http://fly.isti.cnr.it/pub/software/unix/etags-regression-test.tar.bz2,
3746         whose original author is Francesco Potortì <pot@gnu.org>.
3748         Fix tagging of symbols in C enumerations
3749         * lib-src/etags.c (consider_token): Don't tag symbols in
3750         expressions that assign values to enum constants.  See
3751         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00291.html
3752         for details.
3753         (C_entries): Reset fvdef to fvnone after processing a preprocessor
3754         conditional and after a comma outside of parentheses.
3756 2015-05-12  Glenn Morris  <rgm@gnu.org>
3758         * lisp/url/url-handlers.el (url-file-name-completion)
3759         (url-file-name-all-completions): Silence compiler.
3761         * lisp/emacs-lisp/chart.el (chart-axis-draw): Replace obsolete alias.
3763         * lisp/play/dunnet.el (dun-dos-boot-msg): Fix time.  (Bug#20554)
3765 2015-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
3767         * lisp/emacs-lisp/cl-generic.el: Add dispatch on &context arguments
3768         (cl--generic-mandatory-args): Remove.
3769         (cl--generic-split-args): New function.
3770         (cl-generic-define, cl--generic-lambda): Use it.
3771         (cl-generic-define-method): Use it as well, and add support for
3772         context args.
3773         (cl--generic-get-dispatcher): Handle &context dispatch.
3774         (cl--generic-cache-miss): `dispatch-arg' can now be a context expression.
3775         (cl--generic-dispatchers): Pre-fill.
3776         * test/automated/cl-generic-tests.el (sm-generic-test-12-context): New test.
3778 2015-05-11  Glenn Morris  <rgm@gnu.org>
3780         * make-dist: Abort if "make ChangeLog" fails.  Add "--no-changelog".
3782 2015-05-11  Stefan Monnier  <monnier@iro.umontreal.ca>
3784         * lisp/term/xterm.el: Fix xterm-paste handling for rxvt
3785         * lisp/term/rxvt.el: Require term/xterm.
3786         (rxvt-function-map): Use xterm-rxvt-function-map.
3787         (rxvt-standard-colors): Move before first use.
3788         (terminal-init-rxvt): Use xterm--push-map and xterm-register-default-colors.
3789         (rxvt-rgb-convert-to-16bit, rxvt-register-default-colors): Remove.
3790         * lisp/term/xterm.el (xterm-rxvt-function-map): New var.
3791         Move shared bindings between rxvt and xterm to it.
3792         (xterm-function-map): Use it.  Move the xterm-paste binding to
3793         xterm-rxvt-function-map (bug#20444).
3794         (xterm-standard-colors): Move before first use.
3795         (xterm--push-map): New function.
3796         (xterm-register-default-colors): Take standard colors as argument.
3797         (terminal-init-xterm): Use it.  Adjust call to
3798         xterm-register-default-colors.
3800 2015-05-11  Glenn Morris  <rgm@gnu.org>
3802         * lisp/term/x-win.el: Quieten --without-x compilation.
3803         (x-own-selection-internal, x-disown-selection-internal)
3804         (x-selection-owner-p, x-selection-exists-p, x-get-selection-internal):
3805         Declare.
3807         * Makefile.in (emacslog): Remove srcdir.
3808         (ChangeLog): Update for the above.
3810 2015-05-11  Paul Eggert  <eggert@cs.ucla.edu>
3812         Spelling fix
3814 2015-05-10  Fabián Ezequiel Gallina  <fgallina@gnu.org>
3816         python.el: better limit for looking-back calls
3817         * lisp/progmodes/python.el (python-shell-accept-process-output):
3818         Use last comint prompt start as limit for looking-back.
3820 2015-05-10  Stefan Monnier  <monnier@iro.umontreal.ca>
3822         CEDET (srecode-insert-fcn): Fix use of oref on a class
3823         * lisp/cedet/srecode/insert.el (srecode-insert-fcn): Fix use of oref on
3824         a class.  Reported by Pierre Lorenzon.
3825         (srecode-template-inserter-point): Remove declaration.
3827         CEDET (srecode-create-dictionary): Avoid obsolete object name
3828         * lisp/cedet/srecode/dictionary.el (srecode-create-dictionary):
3829         Don't use a symbol as an object name.  Reported by Pierre Lorenzon.
3831 2015-05-10  Paul Eggert  <eggert@cs.ucla.edu>
3833         C-x 8 shorthands for curved quotes, Euro, etc.
3834         Although C-x 8 lets you insert arbitrary Unicode characters,
3835         it's awkward to use this to insert commonly used symbols such as curved
3836         quotes, the Euro symbol, etc.  This patch adds simpler sequences for
3837         characters commonly found in English text and in basic math.
3838         For example, assuming the Alt key works on your keyboard and iso-transl
3839         is loaded, one can now type "A-[" instead of "A-RET LEFT SIN TAB RET"
3840         to get the character "‘" (U+2018 LEFT SINGLE QUOTATION MARK).
3841         (Bug#20499)
3842         * doc/emacs/mule.texi (Unibyte Mode):
3843         A few other printing characters now work too.
3844         * etc/NEWS: Document this.
3845         * lisp/international/iso-transl.el (iso-transl-char-map):
3846         Also support the following characters:
3847         ‐ ‑ ‒ – — ― ‘ ’ “ ” † ‡ • ′ ″ € № ← → ↔ − ≈ ≠ ≤ ≥
3849 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
3851         Add xref-find-regexp
3852         * lisp/progmodes/xref.el (xref-find-function): Describe the
3853         `matches' action.
3854         (xref-find-regexp): New command, using it.
3855         (xref-collect-references): Rename to xref-collect-matches.
3856         (xref--collect-reference): Rename to xref--collect-match.
3857         (xref-collect-matches, xref--collect-match): Accept new argument,
3858         KIND.  Update accordingly.
3859         (xref--regexp-to-extended): New function.
3860         * lisp/progmodes/elisp-mode.el (elisp-xref-find): Support the
3861         `matches' action.
3862         (elisp--xref-find-matches): Accept new argument.  Resolve a FIXME.
3863         * lisp/progmodes/etags.el (etags-xref-find):
3864         Support the `matches' action.
3865         (etags--xref-find-matches): New function.
3867 2015-05-10  Glenn Morris  <rgm@gnu.org>
3869         * Makefile.in: Fixes for recent change-history changes.
3870         (change-history-nocommit): Update footer regexp.
3871         Ensure output script stays executable.
3873 2015-05-10  Nicolas Petton  <nicolas@petton.fr>
3875         New version of `seq-let' based on a pcase pattern
3876         * lisp/emacs-lisp/seq.el (seq-let): Define the macro in terms of a
3877         pcase pattern if `pcase-defmacro' is defined (Emacs>=25.1).
3879 2015-05-10  Przemysław Wojnowski  <esperanto@cumego.com>
3881         Add basic HTML5 tags and a template
3882         * lisp/textmodes/sgml-mode.el: Basic HTML5 support.
3883         (html-tag-alist): Add HTML5 tags.
3884         (html-tag-help): Add new tags descriptions.
3885         (html-navigational-links): Template for nav links.
3886         (html-html5-template): Template for a HTML5 page.
3888 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
3890         semantic/symref/grep: Don't use word boundaries
3891         * lisp/cedet/semantic/symref/grep.el
3892         (semantic-symref-perform-search): Instead of wrapping input in
3893         word boundaries, check that the characters before and after are
3894         not word constituents.
3896         semantic/symref/grep: Support regexp search
3897         * lisp/cedet/semantic/symref.el
3898         (semantic-symref-hit-to-tag-via-buffer): Don't regexp-quote when
3899         the search type is regexp.
3900         * lisp/cedet/semantic/symref/grep.el
3901         (semantic-symref-perform-search): Support the regexp search type.
3902         Pass -E to Grep when it's used.
3904         semantic-symref-regexp: Allow to input an arbitrary string
3905         * lisp/cedet/semantic/symref/list.el (semantic-symref-regexp):
3906         Allow to input an arbitrary string interactively.
3908         Remove tag-symbol-match-p from etags-xref-find-definitions-tag-order
3909         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
3910         Remove tag-symbol-match-p from the default value
3911         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00292.html).
3913         Declare find-tag obsolete
3914         * lisp/progmodes/etags.el (find-tag): Declare obsolete in favor of
3915         xref-find-definitions.
3917 2015-05-10  Jan D  <jan.h.d@swipnet.se>
3919         Draw composite string correctly (Bug#20537).
3920         * nsterm.m (ns_draw_composite_glyph_string_foreground): New function.
3921         (ns_draw_glyph_string): Call it (Bug#20537).
3923 2015-05-09  Eli Zaretskii  <eliz@gnu.org>
3925         Avoid infloop in ERC
3926         * lisp/simple.el (line-move-to-column): Ignore field boundaries
3927         while computing line beginning position.  (Bug#20498)
3929 2015-05-08  Glenn Morris  <rgm@gnu.org>
3931         * Makefile.in (ChangeLog): No longer pass "srcprefix"; cd instead.
3932         * build-aux/gitlog-to-emacslog: Check called from right directory.
3933         (srcprefix): Remove.
3935         * build-aux/gitlog-to-emacslog: Get rid of "distprefix".
3936         * Makefile.in (ChangeLog): No longer pass "distprefix".
3937         * make-dist: Update "make ChangeLog" syntax for the above change.
3939         * build-aux/gitlog-to-emacslog: Don't hard-code "ChangeLog.2".
3940         * Makefile.in (ChangeLog): Pass -n to gitlog-to-emacslog.
3942         * build-aux/gitlog-to-emacslog: Add "for earlier changes" to footer.
3944         Add command-line option-parsing to gitlog-to-emacslog.
3945         * build-aux/gitlog-to-emacslog: Add command-line options.
3946         By default, refuse to remove an existing output file.
3947         * Makefile.in (CHANGELOG): Update default.
3948         (ChangeLog): Do not test for existing file.
3949         (change-history-nocommit): Ensure temp file does not exist.
3951         Quieten --without-x compilation.
3952         * lisp/term/common-win.el: Provide a feature.
3953         * lisp/term/x-win.el (term/common-win): Require it.
3955         * lisp/dired-aux.el (dired-do-print): Require lpr.
3957         Quieten compilation, eg in --without-x builds.
3958         * lisp/dired-aux.el (lpr-printer-switch):
3959         * lisp/frame.el (tool-bar-height):
3960         * lisp/linum.el (font-info):
3961         * lisp/window.el (font-info, overflow-newline-into-fringe)
3962         (tool-bar-height):
3963         * lisp/emacs-lisp/package-x.el (tar-data-buffer):
3964         * lisp/gnus/gnus-util.el (iswitchb-mode):
3965         * lisp/mail/rmailmm.el (libxml-parse-html-region):
3966         * lisp/net/nsm.el (gnutls-peer-status)
3967         (gnutls-peer-status-warning-describe):
3968         * lisp/net/shr.el (libxml-parse-xml-region):
3969         * lisp/url/url-http.el (gnutls-peer-status): Declare.
3971 2015-05-08  Stefan Monnier  <monnier@iro.umontreal.ca>
3973         CEDET (srecode-pop, srecode-peek): Don't use `subclass'
3974         * lisp/cedet/srecode/insert.el (srecode-pop, srecode-peek): Don't use
3975         `subclass' since they're never called with a class.
3976         (srecode-insert-method, srecode-insert-subtemplate): Avoid obsolete
3977         srecode-dictionary-child-p.
3979 2015-05-08  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
3981         help--binding-locus: Document argument POSITION.
3982         * lisp/help.el (help--binding-locus): Document argument POSITION. (bug#20530)
3984 2015-05-08  Paul Eggert  <eggert@cs.ucla.edu>
3986         Merge from gnulib.
3987         * doc/misc/texinfo.tex: Get latest version.
3989 2015-05-08  Oleh Krehel  <ohwoeowho@gmail.com>
3991         ffap.el (ffap-read-file-or-url): Fix completing-read call
3992         * lisp/ffap.el (ffap-read-file-or-url): The HIST argument of
3993           `completing-read' should be a symbol.
3995 2015-05-08  Eli Zaretskii  <eliz@gnu.org>
3997         Verify file modifications by other programs
3998         * src/filelock.c (lock_file): Check whether the file was modified
3999         since it was visited even if 'create-lockfiles' is nil.  (Bug#18828)
4001         Fix keyboard macros that include function keys
4002         * src/keyboard.c (read_char_minibuf_menu_prompt): Record function
4003         keys in the macro before returning.  (Bug#20454)
4005 2015-05-08  Glenn Morris  <rgm@gnu.org>
4007         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
4008         "Copyright-paperwork-exempt".  (Bug#20324)
4010         * lisp/vc/log-edit.el: Handle "(tiny change)".  (Bug#20324)
4011         (log-edit-rewrite-tiny-change): New variable.
4012         (log-edit-insert-changelog): Maybe add "Copyright-paperwork-exempt".
4013         (log-edit-changelog-ours-p): Set log-edit-author to a cons.
4014         * etc/NEWS: Mention this.
4016         * lisp/calc/calc.el (math-zerop): Declare.
4018         * lisp/emacs-lisp/eieio-opt.el (help-fns-short-filename): Declare.
4020 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
4022         * lisp/emacs-lisp/subr-x.el (if-let): Fix debug spec
4023         Support the case when BINDINGS is a single tuple.  (Bug#20525)
4025         * etc/NEWS: Fix typo in commit 14bb519
4027 2015-05-07  Jan D  <jan.h.d@swipnet.se>
4029         Warn for multiple display crash for all Gtk+ versions.
4030         * configure.ac: Warn for multiple display crash for all Gtk+
4031         versions.  Output URL to Gtk+ bug (Bug#20452).
4033         ns-win.el (ns-paste-secondary): Use gui-get-selection.
4034         * ns-win.el (ns-paste-secondary): Use gui-get-selection.
4036 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
4038         * lisp/emacs-lisp/package.el: New "external" package status
4039         An external package is any installed package that's not built-in
4040         and not from `package-user-dir', which usually means it's from an
4041         entry in `package-directory-list'.  They are treated much like
4042         built-in packages, in that they cannot be through the Package Menu
4043         deleted and are not considered for upgrades.
4044         (package-desc-status): Identify if a package is installed outside
4045         `package-user-dir'.
4046         (package-menu--print-info-simple)
4047         (package-menu--status-predicate): Add support for it.
4048         * etc/NEWS: Document it.
4050 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
4052         * lisp/mail/rmail.el: Use lexical-binding
4053         (rmail-bury): Remove unused var `buffer-to-bury'.
4054         (rmail-get-new-mail): Remove unused vars `opoint' and `success'.
4055         (rmail-parse-url): Remove unused var `proto', `user', and `host'.
4056         (rmail-unrmail-new-mail-maybe): Remove unused var `new-file'.
4057         (rmail-insert-inbox-text): Remove unused var `movemail'.
4058         (rmail-add-mbox-headers): Remove unused var `limit'.
4059         (rmail-undelete-previous-message): Remove unused var `value'.
4060         (rmail-reply): Remove unused vars `resent-to', `resent-cc',
4061         `resent-reply-to'.
4062         (rmail-mime-mbox-buffer, rmail-mime-view-buffer): Declare.
4063         (rmail-restore-desktop-buffer): Rename arguments.
4065 2015-05-06  Glenn Morris  <rgm@gnu.org>
4067         * Makefile.in (change-history-commit): Add missing piece of previous.
4069         Avoid unnecessary bumping of Makefile.in's timestamp.
4070         * Makefile.in (gen_origin): Move to gitlog-to-emacslog.
4071         (emacslog): New variable.
4072         (ChangeLog): Use $emacslog.  Don't pass $gen_origin.
4073         (unchanged-history-files): Use $emacslog rather than Makefile.in.
4074         (change-history-nocommit): Store hash in $emacslog.
4075         * build-aux/gitlog-to-emacslog (gen_origin): Move default here.
4076         * admin/update_autogen (changelog_files): Update for the above.
4078         * Makefile.in: Don't always insist on removing existing "ChangeLog".
4079         (CHANGELOG): New variable.
4080         (no-ChangeLog): Remove.
4081         (ChangeLog): Replace "no-ChangeLog"; pass output file to script.
4082         (change-history-nocommit): Use a temp file rather than insisting
4083         on deletion of any existing "ChangeLog".
4085         * build-aux/gitlog-to-emacslog: Allow specification of output.
4087         * admin/update_autogen: Add option to update ChangeLog.
4088         (usage): Mention -H.
4089         (changelog_flag, changelog_n, changelog_files): New variables.
4090         (main): Check for -H, and maybe run change-history-nocommit.
4092 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
4094         * lisp/subr.el (delete-dups): Pre-size the hashtable.
4096         (define-modify-macro): Make sure cl--arglist-args is defined
4097         * lisp/emacs-lisp/cl.el (define-modify-macro): Make sure
4098         cl--arglist-args is defined (bug#20517).
4100 2015-05-06  Glenn Morris  <rgm@gnu.org>
4102         * Makefile.in (change-history-nocommit): New.
4104 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
4106         Only cancel timer when it is non-nil
4107         * lisp/cedet/pulse.el (pulse-momentary-unhighlight): Only cancel
4108         timer when it is non-nil
4109         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00223.html).
4111 2015-05-06  Glenn Morris  <rgm@gnu.org>
4113         Quieten cedet compilation
4114         * lisp/cedet/semantic/db-el.el (semanticdb-elisp-sym->tag):
4115         Invert fboundp test to quieten on current Emacs.
4116         * lisp/cedet/ede/config.el (ede-shell-run-something)
4117         (semanticdb-file-table-object, semanticdb-needs-refresh-p)
4118         (semanticdb-refresh-table): Declare.
4119         (ede-preprocessor-map): Require semantic/db.
4121         Quieten cc-mode compilation
4122         * lisp/progmodes/cc-awk.el (c-forward-sws):
4123         * lisp/progmodes/cc-cmds.el (c-forward-subword, c-backward-subword):
4124         Declare.
4126 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
4128         lisp/subr.el (delete-dups): Avoid nreverse.
4130 2015-05-06  Artur Malabarba  <bruce.connor.am@gmail.com>
4132         * lisp/subr.el (delete-dups): Make it destructive again.
4134 2015-05-06  Paul Eggert  <eggert@cs.ucla.edu>
4136         * doc/lispref/sequences.texi (Sequence Functions): Fix quoting.
4138 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
4140         * lisp/emacs-lisp/testcover.el: Don't use edebug--read (bug#20487)
4141         * lisp/emacs-lisp/testcover.el: Use lexical-binding.
4142         (testcover--read): Rename from testcover-read.  Change calling convention.
4143         Use edebug-read-and-maybe-wrap-form now that edebug-read is gone.
4144         (testcover-start): Use add-function.  Move edebug-all-defs binding to
4145         testcover--read.
4146         (testcover-this-defun): Tighten scope of edebug-all-defs binding.
4147         (testcover-mark): Remove unused var `item'.
4148         * src/lread.c (syms_of_lread): Default load-read-function to `read'.
4150 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
4152         lisp/subr.el (delete-dups): Use a hash table
4153         * lisp/subr.el (delete-dups): When there are more than 100 candidates,
4154           use a hash table. This can result in ~500 times speed-up for typical
4155           collections of size 5000, like that of `load-library'.
4157 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
4159         CEDET: Avoid `oref' on classes in a few more cases
4160         * lisp/cedet/ede/generic.el (ede-find-target):
4161         * lisp/cedet/ede.el (ede-project-forms-menu): Avoid `oref' on classes.
4162         * lisp/cedet/semantic/bovine/gcc.el (semantic-gcc-setup): Remove unused
4163         var `prefix'.
4165         * lisp/cedet/semantic/symref/grep.el: Fix unused var warnings
4166         * lisp/cedet/semantic/symref/grep.el (grepflags, greppattern): Declare.
4167         (semantic-symref-perform-search): Remove unused var `pat'.
4169         CEDET (srecode-compile-inserter): Avoid `oref' on classes
4170         * lisp/cedet/srecode/compile.el (srecode-compile-inserter):
4171         Avoid `oref' on classes (bug#20491).
4172         (srecode-compile-split-code): Remove unused var `key'.
4174 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
4176         Clean up pulse.el a little
4177         * lisp/cedet/pulse.el (pulse): Remove.
4178         (pulse-momentary-timer): Save instead of the stop time.
4179         (pulse-momentary-highlight-overlay): Call
4180         pulse-momentary-unhighlight first thing. Treat
4181         pulse-momentary-overlay as a single value, not a list. Save the
4182         created timer. Only pass the stop time to the timer.
4183         (pulse-tick): Update accordingly.
4184         (pulse-momentary-unhighlight): Treat pulse-momentary-overlay as a
4185         single value. Cancel the timer.
4187 2015-05-06  Tassilo Horn  <tsdh@gnu.org>
4189         Support the biblatex journaltitle field
4190         * lisp/textmodes/reftex-cite.el (reftex-format-bib-entry):
4191         Support the biblatex journaltitle field.
4193 2015-05-05  Glenn Morris  <rgm@gnu.org>
4195         Minor declare-function improvement
4196         * lisp/emacs-lisp/bytecomp.el
4197         (byte-compile-macroexpand-declare-function):
4198         Handle declarations after calls.  (Bug#20509)
4200         * lisp/progmodes/js.el (js--optimize-arglist): Remove declaration.
4202         * lisp/w32-fns.el (w32-shell-name): Silence compiler.
4204 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
4206         Pulse using a timer
4207         * lisp/cedet/pulse.el (pulse-momentary-stop-time): New variable.
4208         (pulse-momentary-highlight-overlay): Set up the timer instead of
4209         calling `pulse'
4210         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/).
4211         (pulse-tick): New function.
4212         (pulse-momentary-unhighlight): Cut off the stop time.
4213         (pulse-delay): Update the docstring WRT to not using sit-for.
4215         Add semantic/symref/grep file patterns for ruby-mode
4216         * lisp/cedet/semantic/symref/grep.el
4217         (semantic-symref-filepattern-alist): Add patterns for
4218         ruby-mode. Clarify the docstring.
4220         Don't require match
4221         * lisp/progmodes/xref.el (xref--read-identifier): Don't require
4222         match. That doesn't work for every command, and some identifier
4223         completion tables are bound to be imperfect anyway.
4225 2015-05-05  Stefan Monnier  <monnier@iro.umontreal.ca>
4227         * lisp/cedet/semantic/grammar.el: Fix compiler warnings (bug#20505)
4228         (semantic-grammar--template-expand): New function.
4229         (semantic-grammar-header, semantic-grammar-footer): Use it.
4230         (semantic-grammar--lex-block-specs): Remove unused var `block-spec'.
4231         (semantic-grammar-file-regexp): Refine regexp.
4232         (semantic-grammar-eldoc-get-macro-docstring):
4233         Use elisp-get-fnsym-args-string when available.
4234         (semantic-idle-summary-current-symbol-info): Use new elisp-* names
4235         instead of the old eldoc-* names.
4236         * lisp/emacs-lisp/eldoc.el (eldoc-docstring-format-sym-doc): Move back
4237         from elisp-mode.el.  Tweak calling convention.
4238         * lisp/progmodes/elisp-mode.el (package-user-dir): Declare.
4239         (elisp-get-fnsym-args-string): Add `prefix' argument.  Rename from
4240         elisp--get-fnsym-args-string.
4241         (elisp--highlight-function-argument): Add `prefix' arg.
4242         (elisp-get-var-docstring): Rename from elisp--get-var-docstring.
4243         (elisp--docstring-format-sym-doc): Move back to eldoc.el.
4245 2015-05-05  Glenn Morris  <rgm@gnu.org>
4247         * lisp/help-fns.el (describe-function-1):
4248         Handle builtins with advertised calling conventions.  (Bug#20479)
4250 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
4252         Merge branch 'seq-let'
4254         Update `seq-let' documentation
4255         * doc/lispref/sequences.texi: Update the documentation of `seq-let'
4256         with the support of  `&rest'.
4258         Add support for &rest in `seq-let'
4259         * lisp/emacs-lisp/seq.el (seq--make-bindings): Add support for `&rest'
4260         in the argument list.
4261         * test/automated/seq-tests.el: Add a test for parsing and binding
4262         `&rest' in `seq-let'.
4264 2015-05-05  Paul Eggert  <eggert@cs.ucla.edu>
4266         Spelling fixes
4268 2015-05-05  (tiny change) Pierre Lorenzon  <devel@pollock-nageoire.net>
4270         * eieio-custom.el (eieio-object-value-get): Add missing increment
4271         (Bug#20467)
4273         (eieio-object-value-create): Adjust to new slots representation
4274         (Bug#20467)
4275         * eieio-custom.el (eieio-object-value-create):
4276         Fix missed adjustment to new representation of slots metadata.
4278 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
4280         * lisp/emacs-lisp/seq.el (seq--make-bindings): Improve the docstring.
4282 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
4284         Work around "Attempt to modify read-only object"
4285         * lisp/progmodes/elisp-mode.el (elisp--xref-format): Extract from
4286         elisp--xref-find-definitions, to work around "Attempt to modify
4287         read-only object" error.
4289         Only skip some variables that have function counterparts
4290         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
4291         Only skip minor-mode-named variable if it's defined in a Lisp
4292         file, and it's in minor-mode-list (bug#20506).
4293         * test/automated/elisp-mode-tests.el
4294         (elisp-xref-finds-both-function-and-variable)
4295         (elisp-xref-finds-only-function-for-minor-mode): New tests.
4297 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
4299         Buttonize the whole line, including the number at the beginning
4300         * lisp/progmodes/xref.el (xref--location-at-point): Revert the
4301         previous change.
4302         (xref--insert-xrefs): Buttonize the whole line, including the
4303         number at the beginning.
4305         Make sure we're inside the let bindings
4306         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
4307         Make sure we're inside the let bindings.
4308         * test/automated/elisp-mode-tests.el
4309         (elisp-completes-functions-after-let-bindings): New test.
4311 2015-05-04  Glenn Morris  <rgm@gnu.org>
4313         * lisp/cedet/semantic/grammar.el (eldoc-function-argstring)
4314         (eldoc-docstring-format-sym-doc, eldoc-last-data-store)
4315         (eldoc-get-fnsym-args-string, eldoc-get-var-docstring):
4316         Remove outdated declarations.
4318         Replace instances of "(eval-when-compile (autoload ...))"
4319         * lisp/gnus/gnus-art.el (nneething-get-file-name):
4320         Declare rather than autoload.
4321         * lisp/gnus/gnus-async.el (gnus-html-prefetch-images):
4322         Remove pointless autoload.
4323         * lisp/gnus/gnus-sync.el (gnus-group-topic): Autoload at run-time.
4324         (gnus-topic-create-topic, gnus-topic-enter-dribble):
4325         Declare rather than autoload.
4326         * lisp/gnus/mm-archive.el (gnus-recursive-directory-files)
4327         (mailcap-extension-to-mime): Autoload at run-time.
4328         * lisp/gnus/mm-util.el (latin-unity-massage-name)
4329         (latin-unity-maybe-remap, latin-unity-representations-feasible-region)
4330         (latin-unity-representations-present-region):
4331         Declare rather than autoload.
4332         * lisp/gnus/mml-smime.el (epg-make-context)
4333         (epg-passphrase-callback-function): Autoload at run-time.
4334         (epg-context-set-signers, epg-context-result-for)
4335         (epg-new-signature-digest-algorithm)
4336         (epg-verify-result-to-string, epg-list-keys, epg-verify-string)
4337         (epg-sign-string, epg-encrypt-string)
4338         (epg-context-set-passphrase-callback, epg-sub-key-fingerprint)
4339         (epg-configuration, epg-expand-group, epa-select-keys):
4340         Declare rather than autoload.
4341         * lisp/gnus/nnir.el (nnimap-change-group, nnimap-make-thread-query):
4342         Autoload at run-time.
4343         (gnus-group-topic-name, nnimap-buffer, nnimap-command)
4344         (gnus-registry-get-id-key, gnus-registry-action):
4345         Declare rather than autoload.
4346         * lisp/gnus/nnmail.el (mail-send-and-exit): Autoload at run-time.
4347         * lisp/gnus/spam.el (spam-stat-buffer-change-to-non-spam)
4348         (spam-stat-buffer-change-to-spam, spam-stat-buffer-is-non-spam)
4349         (spam-stat-buffer-is-spam, spam-stat-load, spam-stat-save)
4350         (spam-stat-split-fancy): Remove pointless autoloads.
4351         * lisp/net/mairix.el: Load gnus-util when compiling.
4352         (gnus-group-read-ephemeral-group, gnus-summary-toggle-header)
4353         (message-field-value): Declare rather than autoload.
4354         (mairix-gnus-ephemeral-nndoc, mairix-gnus-fetch-field):
4355         Check gnus-alive-p is fbound.
4356         (vm-quit, vm-visit-folder, vm-select-folder-buffer)
4357         (vm-check-for-killed-summary, vm-error-if-folder-empty)
4358         (vm-get-header-contents, vm-select-marked-or-prefixed-messages):
4359         Declare rather than autoload.
4361         * lisp/gnus/mm-view.el (epg-decrypt-string): Autoload.
4363         * lisp/gnus/mml-smime.el (epg-key-sub-key-list)
4364         (epg-sub-key-capability, epg-sub-key-validity): Fix declarations.
4366         * lisp/progmodes/elisp-mode.el (xref-collect-references): Declare.
4368         * lisp/emacs-lisp/debug.el (help-xref-interned): Update declaration.
4370         * lisp/allout.el (epg-user-id-string, epg-key-user-id-list):
4371         * lisp/emacs-lisp/package.el (epg-signature-status):
4372         Fix declarations.
4374         * lisp/play/gametree.el (gametree-show-children-and-entry)
4375         (gametree-apply-layout, gametree-mouse-show-subtree)
4376         (gametree-mouse-hide-subtree): Replace obsolete outline aliases.
4378         * lisp/emacs-lisp/check-declare.el (check-declare-verify):
4379         Handle cl-defgeneric, cl-defmethod.
4381 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
4383         Highlight both type and symbol name
4384         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
4385         Highlight both type and symbol name.
4387         Insert, highlight and align line numbers in xref output
4388         * lisp/progmodes/etags.el (xref-location-line): Specialize for
4389         xref-etags-location.
4390         * lisp/progmodes/xref.el (xref-location-line): New generic method.
4391         (xref-file-location): Add reader for the line slot.
4392         (xref--location-at-point): Skip to the `xref-location' property.
4393         (xref--collect-reference): Drop the line number from description.
4394         (xref--insert-xrefs): Insert, highlight and align line numbers.
4396 2015-05-04  Daniel Colascione  <dancol@dancol.org>
4398         Fix previous commit
4400 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
4402         Don't pulse the indentation, or the newline
4403         * lisp/cedet/pulse.el (pulse-lighten-highlight)
4404         (pulse-reset-face): Fall back to the inherited background
4405         attribute in FACE.
4406         (pulse-momentary-highlight-region): Add autoload cookie.
4407         * lisp/progmodes/xref.el (xref--maybe-pulse): Don't highlight the
4408         indentation, or the newline, if the line's non-empty
4409         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00118.html).
4411 2015-05-04  Daniel Colascione  <dancol@dancol.org>
4413         Add `save-mark-and-excursion', which has the old `save-excursion' behavior
4414         * doc/lispref/positions.texi (Excursions): Document
4415         `save-mark-and-excursion'.
4416         * lisp/font-lock.el (font-lock-fontify-block): Use
4417         `save-mark-and-excursion' instead of `save-excursion', restoring
4418         Emacs 24 behavior.
4419         * lisp/simple.el (save-mark-and-excursion--save)
4420         (save-mark-and-excursion--restore): New functions.
4421         (save-mark-and-excursion): New user macro.
4422         * src/editfns.c (Fsave_excursion): Mention
4423         `save-mark-and-excursion' in `save-excursion' documentation.
4425 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
4427         Classify lone symbol inside let varlist as variable
4428         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
4429         Classify lone symbol inside let varlist as variable.
4430         * test/automated/elisp-mode-tests.el (completest-variables-in-let-bindings):
4431         New test.
4433         Add xref-pulse-on-jump
4434         * lisp/cedet/pulse.el (pulse-momentary-highlight-one-line):
4435         Add autoload cookie.
4436         * lisp/progmodes/xref.el (xref-pulse-on-jump): New option.
4437         (xref--maybe-pulse): New function.
4438         (xref-pop-marker-stack, xref--pop-to-location)
4439         (xref--display-position): Use it.
4440         (xref--location-at-point): Use back-to-indentation.
4442 2015-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
4444         * lisp/org/org-{macs,list}.el: Fix lexical warnings
4445         * lisp/org/org-list.el (org-list-struct): Remove unused var `ind'.
4446         (org-list-get-next-item, org-list-get-prev-item)
4447         (org-list-get-children): Mark unused arg `struct'.
4448         (org-list-use-alpha-bul-p): Remove unused var `bul'.
4449         (org-toggle-checkbox): Mark unused var.
4450         (org-update-checkbox-count): Remove unused var `box-num'.
4451         (org-adapt-indentation): Declare.
4452         (org-list-parse-list): Declare var instead of adding a dummy duplicate.
4453         (org-list-send-list): Remove unused var `txt'.
4454         (org-list-to-latex, org-list-to-texinfo): Mark unused arg `params'.
4455         (org-list-to-subtree): Add prefix to dyn-bind var, and declare them.
4456         * lisp/org/org-macs.el: Use `declare'.
4457         (org-with-limited-levels): Declare dyn-bound vars.
4459 2015-05-04  Eli Zaretskii  <eliz@gnu.org>
4461         Fix minor issues with CEDET on MS-Windows
4462         * lisp/cedet/semantic/symref/idutils.el
4463         (semantic-symref-parse-tool-output-one-line): Fix the search
4464         regexp to match MS-Windows file names with drive letters.
4465         (Bug#19468)
4466         * lisp/cedet/semantic/symref/grep.el
4467         (semantic-symref-grep-use-template): Remove "--color=always" from
4468         Grep switches on MS-Windows.
4469         (semantic-symref-grep-shell): Use shell-file-name as the default
4470         value, so this works not only on Posix platforms.
4471         (semantic-symref-perform-search): Use shell-quote-argument instead
4472         of literal '..' for portable quoting of Grep command-line
4473         argument.  Use shell-command-switch instead of a literal "-c".
4474         * lisp/cedet/semantic/bovine/gcc.el
4475         (semantic-gcc-get-include-paths): Use file-name-absolute-p to test
4476         for an absolute file name in a portable way.
4478 2015-05-04  Artur Malabarba  <bruce.connor.am@gmail.com>
4480         * lisp/emacs-lisp/package.el: Remove `package--silence' variable
4481         (package-import-keyring, package-refresh-contents)
4482         (package-compute-transaction, package--save-selected-packages)
4483         (package-install-from-archive, package-delete)
4484         (package-menu--perform-transaction): Use `inhibit-message'
4485         instead.
4486         (package--compile): Set `warning-minimum-level' to :error.
4488 2015-05-03  Stefan Monnier  <monnier@iro.umontreal.ca>
4490         * lisp/term/screen.el (xterm-screen-extra-capabilities): New custom
4491         (terminal-init-screen): Use it (bug#20356).
4492         * lisp/term/xterm.el: Provide `term/xterm' instead of `xterm'.
4493         (xterm--extra-capabilities-type): New const.
4494         (xterm-extra-capabilities): Use it.
4495         (xterm--version-handler): Lower the pseudo-version for `screen'.
4497 2015-05-03  Dmitry Gutov  <dgutov@yandex.ru>
4499         xref--insert-xrefs: Tweak the faces
4500         * lisp/progmodes/xref.el (xref--insert-xrefs): Tweak the faces.
4501         Always insert a newline at the end (to avoid mouse-face background
4502         tail at the last line).
4504         elisp-completion-at-point: Prioritize being quoted over funpos
4505         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
4506         Only consider function position when not inside quoted form
4507         (bug#20425).
4508         * test/automated/elisp-mode-tests.el: New file.
4510         Stop vc-print-log from jumping to the top
4511         * lisp/vc/vc.el (vc-print-log-internal): Pass nil
4512         GOTO-LOCATION-FUNC to vc-log-internal-common when WORKING-REVISION
4513         is not specified.
4514         (vc-incoming-outgoing-internal): Always pass nil.
4515         (vc-log-internal-common): When GOTO-LOCATION-FUNC is nil, don't
4516         call it, and don't set vc-sentinel-movepoint (bug#15322).
4517         (vc-print-root-log): Don't fetch the root working revision, nor
4518         pass it to vc-print-log-internal.
4520 2015-05-02  Michael Vehrs  <Michael.Burschik@gmx.de>
4522         Fix display of keyboard layouts for right-to-left scripts
4523         * lisp/international/quail.el (quail-insert-kbd-layout): Force
4524         left-to-right paragraph direction.
4526 2015-05-02  K. Handa  <handa@gnu.org>
4528         * cmds.c (internal_self_insert): When we insert spaces for
4529         padding, set point before the padding spaces, not after them.
4531 2015-05-02  Nicolas Petton  <nicolas@petton.fr>
4533         * lisp/emacs-lisp/seq.el (seq-p): New alias to `sequencep'.
4535 2015-05-02  Dmitry Gutov  <dgutov@yandex.ru>
4537         Fix etags-xref-find for references
4538         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): Use `cl-mapcan'.
4539         * lisp/progmodes/etags.el (etags-xref-find): Ditto.  Prompt for
4540         directory if no tags tables are loaded (bug#19468).
4542 2015-05-02  Philipp Stephani  <phst@google.com>
4544         Update the options in whitespace-style defcustom
4545         * lisp/whitespace.el (whitespace-style): Use `set' instead of a
4546         `repeat' because the option is really set-like.  Add missing
4547         options.  Reorder options to match the order in the
4548         documentation.  (Bug#20346)
4550 2015-05-02  Eli Zaretskii  <eliz@gnu.org>
4552         Fix error diagnostics of c-macro-expand
4553         * lisp/progmodes/cmacexp.el (c-macro-expansion): Don't bail out
4554         too early if no start-marker string was found -- that generally
4555         means cpp exited abnormally, and we still want to show its error
4556         messages to the user.
4558         Don't require Texinfo 5.0 for Emacs documentation
4559         * doc/emacs/docstyle.texi: Use "@set txicodequoteundirected" and
4560         "@set txicodequotebacktick" instead of "@codequotebacktick on" and
4561         "@codequoteundirected on", respectively, to avoid requiring
4562         Texinfo 5.x for Emacs documentation.
4564 2015-05-01  Simen Heggestøyl  <simenheg@gmail.com>
4566         * lisp/files.el (pwd):
4567         When called with a prefix argument, insert the current default
4568         directory at point.
4570 2015-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>
4572         * lisp/isearch.el (isearch-mode-map): Allow backspace remapping
4573         * lisp/isearch.el (isearch-mode-map): Don't inhibit
4574         function-key-map remapping for backspace (bug#20466).
4576 2015-05-01  Dmitry Gutov  <dgutov@yandex.ru>
4578         Implement xref-find-references in etags and elisp-mode
4579         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): New function.
4580         (elisp-xref-find): Use it.
4581         * lisp/progmodes/etags.el (etags-xref-find): Use `xref-collect-references'.
4582         * lisp/progmodes/xref.el (xref-collect-references):
4583         (xref--collect-reference): New functions.
4585 2015-05-01  Paul Eggert  <eggert@cs.ucla.edu>
4587         Prefer plain characters to Texinfo circumlocutions
4588         For example, prefer 'François' to 'Fran\c{c}ois', 'Fran\c cois',
4589         'Fran@,{c}ois' or 'Francois' (all of which were used!) in Texinfo sources.
4591         Fix single-quoting style in PDF manuals
4592         The PDF versions of the GNU manuals used curved single quotes to
4593         represent grave accent and apostrophe, which made it a pain to cut
4594         and paste code examples from them.  Fix the PDF versions to use
4595         grave accent and apostrophe for Lisp source code, keystrokes, etc.
4596         This change does not affect the info files, nor does it affect
4597         ordinary uses of curved single quotes in PDF.
4598         * doc/emacs/docstyle.texi: New file, which specifies treatment for
4599         grave accent and apostrophe, as well as the document encoding.
4600         * doc/emacs/emacs-xtra.texi, doc/emacs/emacs.texi:
4601         * doc/lispintro/emacs-lisp-intro.texi:
4602         * doc/lispref/back.texi, doc/lispref/book-spine.texi:
4603         * doc/lispref/elisp.texi, doc/lispref/lay-flat.texi:
4604         * doc/misc/ada-mode.texi, doc/misc/auth.texi:
4605         * doc/misc/autotype.texi, doc/misc/bovine.texi, doc/misc/calc.texi:
4606         * doc/misc/cc-mode.texi, doc/misc/cl.texi, doc/misc/dbus.texi:
4607         * doc/misc/dired-x.texi, doc/misc/ebrowse.texi, doc/misc/ede.texi:
4608         * doc/misc/ediff.texi, doc/misc/edt.texi, doc/misc/efaq-w32.texi:
4609         * doc/misc/efaq.texi, doc/misc/eieio.texi, doc/misc/emacs-gnutls.texi:
4610         * doc/misc/emacs-mime.texi, doc/misc/epa.texi, doc/misc/erc.texi:
4611         * doc/misc/ert.texi, doc/misc/eshell.texi, doc/misc/eudc.texi:
4612         * doc/misc/eww.texi, doc/misc/flymake.texi, doc/misc/forms.texi:
4613         * doc/misc/gnus-coding.texi, doc/misc/gnus-faq.texi:
4614         * doc/misc/gnus.texi, doc/misc/htmlfontify.texi:
4615         * doc/misc/idlwave.texi, doc/misc/ido.texi, doc/misc/info.texi:
4616         * doc/misc/mairix-el.texi, doc/misc/message.texi, doc/misc/mh-e.texi:
4617         * doc/misc/newsticker.texi, doc/misc/nxml-mode.texi:
4618         * doc/misc/octave-mode.texi, doc/misc/org.texi, doc/misc/pcl-cvs.texi:
4619         * doc/misc/pgg.texi, doc/misc/rcirc.texi, doc/misc/reftex.texi:
4620         * doc/misc/remember.texi, doc/misc/sasl.texi, doc/misc/sc.texi:
4621         * doc/misc/semantic.texi, doc/misc/ses.texi, doc/misc/sieve.texi:
4622         * doc/misc/smtpmail.texi, doc/misc/speedbar.texi:
4623         * doc/misc/srecode.texi, doc/misc/todo-mode.texi, doc/misc/tramp.texi:
4624         * doc/misc/url.texi, doc/misc/vhdl-mode.texi, doc/misc/vip.texi:
4625         * doc/misc/viper.texi, doc/misc/widget.texi, doc/misc/wisent.texi:
4626         * doc/misc/woman.texi:
4627         Use it instead of '@documentencoding UTF-8', to lessen the need for
4628         global changes like this in the future.
4629         * doc/emacs/Makefile.in (EMACS_XTRA):
4630         * doc/lispintro/Makefile.in (srcs):
4631         * doc/lispref/Makefile.in (srcs):
4632         Add dependency on docstyle.texi.
4633         * doc/misc/Makefile.in (style): New macro.
4634         (${buildinfodir}/%.info, %.dvi, %.pdf, %.html)
4635         (${buildinfodir}/ccmode.info, ${buildinfodir}/efaq%.info, gnus_deps):
4636         Use it.
4638 2015-05-01  Glenn Morris  <rgm@gnu.org>
4640         * test/automated/cl-lib-tests.el (cl-lib-adjoin-test): Fix it.
4642         * lisp/emacs-lisp/pcase.el (get-edebug-spec, edebug-match)
4643         (help-fns--signature): Declare.
4645         * lisp/emacs-lisp/pcase.el (pcase--make-docstring): Require help-fns.
4647 2015-05-01  Nicolas Petton  <nicolas@petton.fr>
4649         New macro seq-let, providing destructuring support to seq.el
4650         * lisp/emacs-lisp/seq.el (seq-let): New macro.  `seq-let' is similar
4651         to `cl-destructuring-bind' but works on all sequence types supported
4652         by `seq.el'.  Bump version number to 1.6.
4653         * test/automated/seq-tests.el: Add tests for seq-let.
4654         * doc/lispref/sequences.texi: Add documentation for seq-let.
4656 2015-05-01  Pontus Michael  <m.pontus@gmail.com>
4658         * lisp/simple.el (blink-matching-open): Better behavior in minibuffer
4660 2015-05-01  Glenn Morris  <rgm@gnu.org>
4662         * lisp/emacs-lisp/ert.el (ert--special-operator-p): Fix previous.
4664 2015-05-01  Artur Malabarba  <bruce.connor.am@gmail.com>
4666         * lisp/emacs-lisp/bytecomp.el: Revert "Silence noninteractive compilations"
4667         This reverts commit 9a7ddde977378cb5276a81476ae458889c403267.
4668         This reverts commit 3c0ea587daf8b17960b90603a70e3ac4057d883d.
4669         With message: "* lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'".
4670         (Bug#20445).
4672 2015-05-01  K. Handa  <handa@gnu.org>
4674         * mule-cmds.el (input-method-use-echo-area): Change :type to
4675         'boolean.
4677 2015-05-01  Lars Magne Ingebrigtsen  <larsi@gnus.org>
4679         Start using proportional fonts in eww by default
4680         * lisp/net/shr.el (shr-use-fonts): Switch the default to t, since
4681         it seems to work well.
4683         Fix links in tables in shr
4684         * lisp/net/shr.el: Remove `shr-inhibit-decoration', because that
4685         makes (some) links in tables not work.
4687 2015-05-01  Jan D  <jan.h.d@swipnet.se>
4689         (ns-get-cut-buffer-internal): Remove this alias.
4690         * lisp/term/ns-win.el (ns-get-cut-buffer-internal): Remove this alias.
4692 2015-04-30  Glenn Morris  <rgm@gnu.org>
4694         * lisp/emacs-lisp/ert.el (ert--special-operator-p):
4695         Update for 2015-02-08 change to indirect-function.
4697         * lisp/term/ns-win.el (ns-get-selection-internal):
4698         Remove declaration for function deleted 2014-10-21.
4700         * lisp/dom.el: Load subr-x when compiling, for when-let.
4702         Silence some compilation warnings
4703         * lisp/emacs-lisp/check-declare.el (compilation-forget-errors):
4704         * lisp/emulation/cua-base.el (delete-active-region):
4705         * lisp/net/net-utils.el (w32-get-console-output-codepage):
4706         * lisp/term/ns-win.el (ns-own-selection-internal)
4707         (ns-disown-selection-internal, ns-selection-owner-p)
4708         (ns-selection-exists-p, ns-get-selection):
4709         Declare for compiler..
4711         Function declaration updates prompted by 'make check-declare'
4712         * lisp/emacs-lisp/package.el (lm-homepage):
4713         * lisp/gnus/gnus-util.el (iswitchb-read-buffer):
4714         * lisp/gnus/mm-decode.el (libxml-parse-html-region):
4715         * lisp/gnus/mml.el (libxml-parse-html-region):
4716         * lisp/gnus/nnrss.el (libxml-parse-html-region):
4717         * lisp/net/eww.el (libxml-parse-html-region):
4718         * lisp/net/shr.el (libxml-parse-html-region):
4719         * lisp/vc/vc-bzr.el (vc-annotate-convert-time):
4720         * lisp/vc/vc-cvs.el (vc-annotate-convert-time):
4721         * lisp/vc/vc-git.el (vc-annotate-convert-time):
4722         * lisp/vc/vc-hg.el (vc-annotate-convert-time):
4723         * lisp/vc/vc-mtn.el (vc-annotate-convert-time):
4724         * lisp/vc/vc-rcs.el (vc-annotate-convert-time):
4725         Update declaration.
4727         Remove compatibility code for 20-year old function renaming
4728         * lisp/progmodes/idlw-shell.el (idlwave-shell-comint-filter):
4729         Make it an obsolete alias.
4730         (idlwave-shell-filter): Change all uses to comint-output-filter.
4732 2015-04-30  Tassilo Horn  <tsdh@gnu.org>
4734         Add ace-window face config
4735         * etc/themes/tsdh-light-theme.el (tsdh-light): Add ace-window face
4736         configuration.
4738 2015-04-30  Paul Eggert  <eggert@cs.ucla.edu>
4740         Unclutter 'make doc' output a bit
4741         * Makefile.in ($(DOCS), $(INSTALL_DOC), $(UNINSTALL_DOC)):
4742         Use make subst rather than sh IFS to split target string apart.
4743         This makes 'make' output easier to follow.
4745         Merge from gnulib
4746         * doc/misc/texinfo.tex: Update from gnulib.
4748 2015-04-30  Artur Malabarba  <bruce.connor.am@gmail.com>
4750         * lisp/emacs-lisp/package.el: Some speed optimizations on menu refresh
4751         (package-menu--print-info): Obsolete.
4752         (package-menu--print-info-simple): New function.
4753         (package-menu--refresh): Use it, simplify code, and improve
4754         performance.
4755         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
4756         Tiny performance improvement.
4758         * lisp/emacs-lisp/package.el (package--message): inhibit-message
4760 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
4762         Omit -Wstrict-overflow workaround in GCC 5
4763         * src/process.c: Remove workaround for GCC -Wstrict-overflow bug
4764         if it's GCC 5 or later, as the bug appears to be fixed in GCC 5.1.
4766         Merge from gnulib
4767         This incorporates:
4768         2015-04-29 extern-inline: no need for workaround in GCC 5.1
4769         2015-04-26 file-has-acl: port to CentOS 6
4770         * m4/acl.m4, m4/extern-inline.m4: Update from gnulib.
4772 2015-04-29  Helmut Eller  <eller.helmut@gmail.com>
4774         Set next-error-* in xref--xref-buffer-mode
4775         * xref.el (xref--xref-buffer-mode): Set `next-error-function' and
4776         `next-error-last-buffer'.
4777         (xref--next-error-function): New function.
4778         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01311.html)
4780 2015-04-29  Fabián Ezequiel Gallina  <fgallina@gnu.org>
4782         python.el: Fix warnings on looking-back calls missing LIMIT
4783         * lisp/progmodes/python.el (python-shell-accept-process-output):
4784         Pass LIMIT arg to looking-back.
4786 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
4788         * lisp/emacs-lisp/package.el: Use pushnew for downloads in progress
4789         (package--download-and-read-archives): Use pushnew instead of
4790         append.  If something terrible happened during a previous
4791         download, simply refreshing should now make things work again.
4793 2015-04-29  Dmitry Gutov  <dgutov@yandex.ru>
4795         Introduce etags-xref-find-definitions-tag-order
4796         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
4797         New variable.
4798         (etags--xref-find-definitions): Use it (bug#19468).
4800 2015-04-29  Eli Zaretskii  <eliz@gnu.org>
4802         PATH- and completion-related fixes in Eshell on MS-Windows
4803         * lisp/eshell/esh-ext.el (eshell-search-path): When running on
4804         MS-Windows, prepend "." to list of directories produced from PATH,
4805         as Windows always implicitly searches the current directory first.
4806         (eshell-force-execution): Make it have a non-nil default value on
4807         MS-Windows and MS-DOS.
4808         * lisp/eshell/em-cmpl.el (eshell-complete-commands-list): If
4809         eshell-force-execution is non-nil, complete on readable files and
4810         directories, not only executables.  When running on MS-Windows,
4811         prepend "." to list of directories produced from PATH, as Windows
4812         always implicitly searches the current directory first.
4814 2015-04-29  Sam Steingold  <sds@gnu.org>
4816         bury RCIRC buffers when there is no activity
4817         lisp/net/rcirc.el (rcirc-non-irc-buffer): remove
4818         (rcirc-bury-buffers): new function
4819         (rcirc-next-active-buffer): when there is no new activity, use
4820         `rcirc-bury-buffers' to hide all RCIRC buffers
4822 2015-04-29  Krzysztof Jurewicz  <krzysztof.jurewicz@gmail.com>  (tiny change)
4824         Fix DBUS query result parsing for secrets-search-items
4825         * lisp/net/secrets.el (secrets-search-items): Fix DBUS query result
4826         parsing.  The function assumed that return value of the
4827         SearchItems method called on a collection is a list of two lists,
4828         however this is true only when no collection is specified.  GNOME
4829         had used to incorrectly return a list of two lists in both cases,
4830         but this was already fixed:
4831         https://bugzilla.gnome.org/show_bug.cgi?id=695115 .  Also fix an
4832         incorrect information in the secrets-search-items’ docstring.
4833         (Bug#20449)
4835 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
4837         * lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'
4838         (byte-compile--message): Use `inhibit-message' instead of hiding
4839         the previous message with (message nil).
4841 2015-04-29  Oleh Krehel  <ohwoeowho@gmail.com>
4843         Remove the deprecated INTERNAL_FIELD macro by expanding it
4844         * src/lisp.h (INTERNAL_FIELD): Remove.
4845         (DEFVAR_KBOARD): Modify accordingly.
4846         * alloc.c, buffer.c, buffer.h, category.c, keyboard.c, keyboard.h:
4847         * syntax.c: Adjust users.
4848         * src/buffer.c (compact_buffer): Use BVAR.
4850 2015-04-29  Glenn Morris  <rgm@gnu.org>
4852         Replace an obsolete function alias
4853         * lisp/isearch.el (isearch-yank-x-selection):
4854         * lisp/mouse-copy.el (mouse-drag-secondary-pasting)
4855         (mouse-drag-secondary-moving):
4856         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
4857         Replace obsolete alias x-get-selection with gui-get-selection.
4859 2015-04-29  Stefan Monnier  <monnier@iro.umontreal.ca>
4861         * lisp/mail/rmailsum.el: Use lexical-binding.
4863 2015-04-29  Glenn Morris  <rgm@gnu.org>
4865         * test/automated/package-test.el (package-test-update-archives-async):
4866         Skip test on hydra.nixos.org.
4868 2015-04-28  Glenn Morris  <rgm@gnu.org>
4870         * lisp/foldout.el: Update for 2015-01-30 outline.el changes.
4871         (foldout-zoom-subtree, foldout-exit-fold, foldout-mouse-show)
4872         (foldout-mouse-hide-or-exit): Use new names for outline functions.
4874         * lisp/cedet/semantic/bovine/c.el (semantic-c-do-lex-if):
4875         Update for 2014-06-26 hideif.el change.
4877         * lisp/mail/rmailsum.el: Fix search for encoded subjects.  (Bug#19088)
4878         (rmail--decode-and-apply): New function.
4879         (rmail-message-regexp-p-1, rmail-message-subject-p): Use it.
4881         * lisp/mail/rmail.el (rmail-highlighted-headers): Fix :type.
4883 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
4885         * lisp/emacs-lisp/package.el: Fix priority-hiding corner case
4886         (package-menu--refresh): Delegate obsolete-hiding to
4887         `package--remove-hidden'.
4888         (package--remove-hidden): Disregard high-priority package if it is
4889         older than the installed one.
4891 2015-04-28  Paul Eggert  <eggert@cs.ucla.edu>
4893         Update source file encoding list
4894         Update admin/notes/unicode, along with coding system cookies in
4895         other files, so that the two match each other better.
4896         * admin/notes/unicode: lisp/language/ethio-util.el and
4897         lisp/language/ethiopic.el also use utf-8-emacs.
4898         * admin/notes/hydra, doc/misc/dbus.texi, doc/misc/org.texi:
4899         * doc/misc/remember.texi, etc/refcards/cs-dired-ref.tex:
4900         * etc/refcards/cs-refcard.tex, etc/refcards/cs-survival.tex:
4901         * etc/refcards/sk-dired-ref.tex, etc/refcards/sk-refcard.tex:
4902         * etc/refcards/sk-survival.tex:
4903         Add "coding: utf-8" so that this file is not mishandled in a
4904         Latin-1 or Big-5 locale.
4905         * lisp/international/robin.el, lisp/org/ox-ascii.el:
4906         Specify utf-8, not utf-8-emacs, as these are plain UTF-8 files.
4907         * lisp/language/ethio-util.el: Fix trailer.
4909 2015-04-28  Eli Zaretskii  <eliz@gnu.org>
4911         Fix synchronous invocation of Ispell
4912         * lisp/textmodes/ispell.el (ispell-init-process): Assign a non-nil
4913         value to ispell-process-directory before calling ispell-init-process.
4914         Don't call set-process-coding-system if ispell-async-processp is nil.
4915         (Bug#20448)
4917 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
4919         * lisp/emacs-lisp/package.el: Skip space and comments in init file
4920         (package--ensure-init-file): Insert snippet at first
4921         non-whitespace non-comments line.  Respects local-vars at the top
4922         of the file.
4924 2015-04-28  Glenn Morris  <rgm@gnu.org>
4926         * lisp/mail/rmail.el (rmail-copy-headers):
4927         Handle rmail-nonignored-headers being nil.  (Bug#18878)
4929         * lisp/subr.el (delay-mode-hooks): Fix doc typo.
4931         * lisp/vc/vc-bzr.el (vc-bzr-after-dir-status):
4932         Don't get confused by a bzrlib version mismatch warning.
4934 2015-04-27  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
4936         Change default location of EUDC options file
4937         * NEWS: Document change to EUDC options file's default location.
4938         * lisp/net/eudc-vars.el (eudc-options-file): Use
4939         `locate-user-emacs-file' to change default options file location.
4941 2015-04-27  Glenn Morris  <rgm@gnu.org>
4943         * test/automated/package-test.el (package-test-update-archives-async):
4944         Try to handle the test server script dying.
4946 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
4948         * lisp/saveplace.el (save-place-mode): New minor mode.
4949         (save-place): Redefine as an obsolete alias.
4951         * lisp/midnight.el: Make it a minor mode.  Allow predicates.
4952         * lisp/midnight.el: Use lexical-binding.
4953         (midnight-mode): Make it a proper minor mode.
4954         (midnight-buffer-display-time): Make arg non-optional.
4955         (midnight-find): Remove.
4956         (clean-buffer-list-kill-never-regexps)
4957         (clean-buffer-list-kill-regexps): Tweak type for new function choice.
4958         (clean-buffer-list-delay): Allow clean-buffer-list-kill-regexps to
4959         contain functions.
4960         (clean-buffer-list): Use cl-find.
4961         Allow clean-buffer-list-kill-never-regexps to contain functions.
4963 2015-04-27  Nicolas Petton  <nicolas@petton.fr>
4965         Bump version of seq.el to 1.5
4966         * lisp/emacs-lisp/seq.el (seq-doseq): Remove undocumented return value
4967           from seq-doseq.  Bump version number of seq.el.
4969 2015-04-27  Glenn Morris  <rgm@gnu.org>
4971         * lisp/mail/rmail.el (rmail-reply):
4972         Decode subject before matching "Re:" prefix.  (Bug#20396)
4974 2015-04-27  Artur Malabarba  <bruce.connor.am@gmail.com>
4976         * lisp/emacs-lisp/package.el: Small improvements
4977         (package--with-work-buffer-async): More informative error.
4978         (package-install-user-selected-packages): Rename to
4979         `package-install-selected-packages'.
4981 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
4983         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last
4984         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last change.
4985         (eieio--class-make): Remove leftover `tag'.
4987 2015-04-27  Glenn Morris  <rgm@gnu.org>
4989         * lisp/gnus/message.el (gnus-extract-address-components):
4990         Remove bogus declaration that was masking previous problem.
4992 2015-04-27  Nicolas Graner  <nicolas.graner@u-psud.fr>  (tiny change)
4994         * lisp/gnus/message.el (message-insert-formatted-citation-line):
4995         Fix typo.  (Bug#20318)
4997 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
4999         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Reuse oldc.
5001         * lisp/textmodes/reftex-toc.el: Improve multi-frame behavior
5002         * lisp/textmodes/reftex-toc.el (reftex-toc-revert): Avoid displaying
5003         the buffer in yet another frame.
5004         (reftex-toc-visit-location): Make sure toc-window has focus at the end
5005         when `final' is nil.
5006         (reftex--rebuilding-toc): Defvar to avoid `boundp' and
5007         silence warnings.  Use `--' to clarify that it's internal.
5008         (reftex-toc-next, reftex-toc-previous, reftex-toc-demote)
5009         (reftex-toc-promote): Clarify unused argument.
5010         (reftex--pro-or-de, reftex--start-line, reftex--mark-line):
5011         Add `reftex--' prefix.  Fix all users.
5012         (reftex-toc-promote-prepare): Use _ for dummy variable.
5013         (reftex-toc-restore-region): Rename `m
5015 2015-04-27  Eli Zaretskii  <eliz@gnu.org>
5017         Fix a typo in bibtex.el
5018         * lisp/textmodes/bibtex.el (bibtex-insert-kill): Fix a typo from
5019         last change.  (Bug#20429)
5021         Fix redisplay of frame after loading new fonts
5022         * src/xdisp.c (redisplay_internal): When retrying redisplay of a
5023         frame because new fonts were loaded, disable all redisplay
5024         optimizations on that frame by calling SET_FRAME_GARBAGED.
5025         (Bug#20410)
5027 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
5029         * lisp/info.el (Info-menu): Properly provide the `default'
5030         (Bug#20391)
5032         * elisp-mode.el: Catch errors from `documentation'
5033         (Bug#20418)
5034         * lisp/progmodes/elisp-mode.el (elisp--get-fnsym-args-string):
5035         Catch errors from documentation.
5036         (emacs-lisp-mode-abbrev-table): Remove redundant defvar.
5038 2015-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>
5040         lisp/emacs-lisp/package.el: Move variables to silence byte-compiler
5041         Remove redundant ":group 'package".
5043 2015-04-26  Eli Zaretskii  <eliz@gnu.org>
5045         Fix a typo in rmail.el
5046         * lisp/mail/rmail.el (rmail-ensure-blank-line): Fix a typo in the
5047         last commit.  (Bug#20429)
5049 2015-04-26  Dmitry Gutov  <dgutov@yandex.ru>
5051         Introduce xref-prompt-for-identifier
5052         * lisp/progmodes/xref.el (xref-prompt-for-identifier): New option.
5053         (xref--read-identifier): Use it
5054         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01205.html).
5056 2015-04-26  João Távora  <joaotavora@gmail.com>
5058         `tex-insert-quote' after single `'' opens quotes instead of closing
5059         Without this, it's very hard to precede double quotes with the
5060         apostrophe character, i.e. insert the sequence '``
5061         (quote-backquote-backquote), commonly useful in portuguese, for
5062         instance.
5063         * tex-mode.el (tex-insert-quote): Add ?' to the list of preceding
5064         chars making `tex-insert-quote' be in the "opening" context.
5066 2015-04-25  Dmitry Gutov  <dgutov@yandex.ru>
5068         Pass `id' to `completing-read' as def instead of initial input
5069         * xref.el (xref--read-identifier): Pass `id' to `completing-read'
5070         as the default value instead of initial input
5071         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01182.html).
5073 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
5075         Don't freeze with unreadable processes
5076         Don't freeze if an exiting process can't be read from. (Bug#19860).
5077         This fixes a bug I introduced in
5078         2014-07-08T07:24:07Z@eggert@cs.ucla.edu
5079         "* process.c: Add sanity checks for file descriptors."
5080         Dmitry Gutov did most of the legwork in finding the problem.
5081         * src/process.c (wait_reading_process_output):
5082         Treat non-running processes that can't be read from
5083         the same as other non-running processes.
5085 2015-04-25  Alan Mackenzie  <acm@muc.de>
5087         Fix change from 2015-04-22 "On C-y, stop some text property entries ..."
5088         * lisp/subr.el (remove-yank-excluded-properties): put
5089         `with-silent-modifications' around only the last three lines of code.
5091 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
5093         * lisp/emacs-lisp/package.el (package-all-keywords): Don't cache
5094         (package--all-keywords): Deleted variable.
5096         * etc/NEWS: Document package-hiding functionality
5098 2015-04-25  Eli Zaretskii  <eliz@gnu.org>
5100         lisp/window.el (recenter-last-op): Doc fix.  (Bug#20419)
5102         Clarify the doc string of 'replace-regexp-in-string'
5103         * lisp/subr.el (replace-regexp-in-string): Doc fix.  (Bug#20395)
5105         Improve doc string of 'insert-buffer-substring'
5106         * src/editfns.c (Finsert_buffer_substring): Doc fix.  (Bug#20421)
5108         MS-Windows followup for the recent gnulib update
5109         * nt/gnulib.mk (libgnu_a_SOURCES): Replace file-has-acl.c with
5110         acl-internal.c.
5112 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
5114         Spelling fixes
5116         Merge from gnulib
5117         This incorporates:
5118         2015-04-24 file-has-acl: new module, split from acl
5119         2015-04-24 manywarnings: add GCC 5.1 warnings
5120         2015-04-21 lstat: fix cross-compilation 'ln -s' problem
5121         2015-04-15 qacl: Simplify HP-UX acl_nontrivial check
5122         2015-04-15 acl: On Linux, check for acls without libacl
5123         2015-04-14 tempname: avoid unused parameter warnings (trivial)
5124         * lib/acl-internal.c: New file, from gnulib.
5125         * lib/file-has-acl.c: Remove; no longer imported from gnulib.
5126         * lib/acl-internal.h, lib/gnulib.mk, lib/qcopy-acl.c, lib/tempname.c:
5127         * m4/acl.m4, m4/gnulib-comp.m4, m4/lstat.m4, m4/manywarnings.m4:
5128         Update from gnulib.
5130         Port --enable-gcc-warnings to GCC 5.1 x86-64
5131         * lib-src/ebrowse.c (dump_sym):
5132         * lib-src/hexl.c (main):
5133         * src/ccl.c (ccl_driver):
5134         * src/character.c (string_escape_byte8):
5135         * src/dbusbind.c (xd_retrieve_arg, xd_add_watch):
5136         * src/gnutls.c (Fgnutls_boot):
5137         * src/gtkutil.c (xg_check_special_colors):
5138         * src/image.c (x_build_heuristic_mask):
5139         * src/print.c (safe_debug_print, print_object):
5140         * src/term.c (produce_glyphless_glyph):
5141         * src/xdisp.c (get_next_display_element)
5142         (produce_glyphless_glyph):
5143         * src/xterm.c (x_draw_glyphless_glyph_string_foreground):
5144         Don't use a signed format to print an unsigned integer, or vice
5145         versa.  GCC 5.1's new -Wformat-signedness option warns about this.
5146         * src/image.c (png_load_body, jpeg_load_body):
5147         Silence a bogus setjump diagnostic from GCC 5.1 (GCC bug 54561).
5149 2015-04-24  Tassilo Horn  <tsdh@gnu.org>
5151         Add new faces to tsdh-light-theme
5152         * etc/themes/tsdh-light-theme.el (tsdh-light): New face
5153         definitions for Info-quoted, ace-jump-face-foreground,
5154         hl-paren-face, show-paren-match, and show-paren-mismatch.
5156 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
5158         * lisp/emacs-lisp/seq.el (seq-doseq): Fix the macro.
5160 2015-04-24  Glenn Morris  <rgm@gnu.org>
5162         * build-aux/gitlog-to-emacslog:
5163         Use raw log format rather than wrapped one.
5165 2015-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>
5167         * lisp/emacs-lisp/seq.el (seq-doseq): Tighten the code
5168         (seq-doseq): Fix out-of-scope binding.
5169         Don't call `seq-length at every iteration.
5170         Reduce `if's from 3 to 2 per iteration.
5171         (emacs-lisp-mode-hook): Don't tweak in Emacs≥25.
5173 2015-04-24  Glenn Morris  <rgm@gnu.org>
5175         * lisp/textmodes/text-mode.el (text-mode-hook):
5176         Move text-mode-hook-identify to default.
5178         * lisp/mouse.el (minor-mode-menu-from-indicator):
5179         Handle non-function members of minor-mode-map-alist.  (Bug#20201)
5181         * lisp/help-fns.el (describe-function): More type checking.
5182         (describe-function-1): Handle changed symbol-function.  (Bug#20201)
5184         * build-aux/gitlog-to-emacslog: Convert "Fixes:" to "(Bug#)".
5185         (Bug#20325)
5187 2015-04-24  Andreas Schwab  <schwab@linux-m68k.org>
5189         shr: strip leading whitespace when expanding URLs
5190         * lisp/net/shr.el (shr-expand-url): Strip leading whitespace from URL.
5192 2015-04-24  Eli Zaretskii  <eliz@gnu.org>
5194         Clarify "co-authored" some more
5196         * CONTRIBUTE: Clarify "co-authored-by".  (Bug#20400)
5198         Clarify doc strings of functions that search for properties
5199         * src/textprop.c (Fnext_char_property_change)
5200         (Fprevious_char_property_change)
5201         (Fnext_single_char_property_change)
5202         (Fprevious_single_char_property_change, Fnext_property_change)
5203         (Fnext_single_property_change, Fprevious_property_change)
5204         (Fprevious_single_property_change): Clarify doc strings wrt return
5205         value and the optional LIMIT argument.  (Bug#20411)
5207 2015-04-24  Glenn Morris  <rgm@gnu.org>
5209         * test/automated/message-mode-tests.el (message-mode-propertize):
5210         Handle non-writable HOME; eg on hydra.nixos.org.
5212 2015-04-23  Eli Zaretskii  <eliz@gnu.org>
5214         Avoid starting threads by w32-shell-execute
5215         * src/w32fns.c (Fw32_shell_execute): Convert "file:///" URLs into
5216         local file names, before invoking ShellExecute.  (Bug#20220)
5218 2015-04-23  Martin Rudalics  <rudalics@gmx.at>
5220         Fix following doc-links in `widget-documentation-link-action'
5221         * lisp/wid-edit.el (widget-documentation-link-action): Make
5222         following doc-links less simplistic (Bug#20398).
5224 2015-04-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
5226         Improve EUDC manual
5227         * eudc.texi (Troubleshooting): New LDAP troubleshooting subsection.
5229 2015-04-22  Paul Eggert  <eggert@cs.ucla.edu>
5231         Omit needless "\ " after multibyte then newline
5232         * src/print.c: Include <c-ctype.h>, for c_isxdigit.
5233         (print_object): When print-escape-multibyte is non-nil and a
5234         multibyte character is followed by a newline or formfeed, followed
5235         by a hex digit, don't output a needless "\ " before the hex digit.
5236         * test/automated/print-tests.el (print-hex-backslash): New test.
5238 2015-04-22  Oleh Krehel  <ohwoeowho@gmail.com>
5240         Add a new `inhibit-message' variable
5241         * src/xdisp.c (syms_of_xdisp): Define a boolean `inhibit_message'.
5242         (message3): Don't call `message3_nolog' (i.e. use the Echo Area) when
5243         `inhibit_message' is non-zero.
5244         * etc/NEWS: Add an entry.
5245         * doc/lispref/display.texi: Add an entry for `inhibit-message',
5246           mention it in `message'.
5248 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
5250         Fix last fix in `display-buffer-record-window'.
5251         * lisp/window.el (display-buffer-record-window): Fix last fix.
5253 2015-04-22  Eli Zaretskii  <eliz@gnu.org>
5255         Minor edits in CONTRIBUTE
5256         * CONTRIBUTE: Rearrange instructions about log messages.
5257         Use "Git" capitalized all over.
5258         Use 2 spaces between sentences.
5260 2015-04-22  Artur Malabarba  <bruce.connor.am@gmail.com>
5262         * lisp/files.el (basic-save-buffer): Fix argument
5264         * lisp/cus-edit.el (custom-file): Consider init-file-had-error
5265         In case `(and (null custom-file) init-file-had-error)' do the same
5266         thing we'd do if `(null user-init-file)', which is to either error out
5267         or return nil.  This is in line with `custom-save-all' which would
5268         throw an error in that situation. (bug#20355)
5270         * lisp/emacs-lisp/package.el: Hide lower-priority packages in menu
5271         (package-menu-hide-low-priority): New variable, see its doc.
5272         (package-archive-priorities): Update doc.
5273         (package-desc-priority): New function.
5274         (package-desc-priority-version): Use it.
5275         (package--remove-hidden): New function.
5276         (package-menu--refresh): Use it.
5278         * lisp/emacs-lisp/package.el: Implement displaying obsolete packages
5279         (package-menu--hide-obsolete): New variable.
5280         (package--remove-hidden): Use it.
5281         (package-menu-hide-obsolete): New interactive function to toggle
5282         the variable.
5283         (package--quick-help-keys): Document it.
5284         (package-menu-async): Add :version tag.
5285         (package-menu-mode-map): Bind package-menu-hide-obsolete.
5286         (package-desc-status): Indicate non-installed obsolete packages as
5287         avail-obso.
5288         (package-menu-mark-install): Allow installation of avail-obso.
5289         (package-menu--status-predicate): Sort avail-obso with available.
5291 2015-04-22  Alan Mackenzie  <acm@muc.de>
5293         On C-y, stop some text property entries being written into buffer-undo-list
5294         lisp/subr.el (remove-yank-excluded-properties): enclose the code in
5295         `with-silent-modifications'.
5297 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
5299         In display-buffer-record-window record selected window if necessary.
5300         * lisp/window.el (display-buffer-record-window): Store selected window
5301         if it differs from 3rd element of 'quit-restore' parameter (Bug#20353).
5303 2015-04-22  Tassilo Horn  <tsdh@gnu.org>
5305         Fix reftex-citation bug
5306         * reftex-cite.el (reftex-extract-bib-entries): Fix
5307         `wrong-type-argument stringp nil' error that occurs when AUCTeX
5308         integration is enabled and there are no citations in the document
5309         so far.
5311 2015-04-21  Dmitry Gutov  <dgutov@yandex.ru>
5313         Add or reset based on the presence of MERGE_HEAD
5314         * lisp/vc/vc-git.el (vc-git-find-file-hook): Add
5315         `vc-git-resolve-when-done' to `after-save-hook' in either case.
5316         (vc-git-conflicted-files): Add a TODO.
5317         (vc-git-resolve-when-done): Depending on the presence of
5318         MERGE_HEAD, either update the resolved file in the index, or
5319         remove it from there.  (Bug#20292)
5321 2015-04-21  Glenn Morris  <rgm@gnu.org>
5323         * lisp/custom.el (custom-declare-group): No need to purecopy
5324         custom-current-group-alist members following recent change to set
5325         it to nil before dumping.
5327         * build-aux/gitlog-to-emacslog: Get footer from ChangeLog.2.
5328         (Bug#20399)
5330 2015-04-21  Daniel Colascione  <dancol@dancol.org>
5332         Unbreak no-op buffer save message
5333         * lisp/files.el (save-buffer): Pass interactive flag to `basic-save-buffer`
5334         (basic-save-buffer): Accept called-interactively as an argument instead of
5335         directly invoking called-interactively-p, which will always yield nil
5336         in that context.
5338 2015-04-21  Alan Mackenzie  <acm@muc.de>
5340         CC Mode: Do nothing in before/after-change-functions for text property changes
5341         Fixes bug#20266.
5342         lisp/progmodes/cc-mode.el (c-basic-common-init): Make
5343         yank-handled-properties buffer local, and remove 'category from it.
5344         (c-called-from-text-property-change-p): New function.
5345         (c-before-change): Don't do anything if a call of the new function
5346         returns non-nil.
5347         (c-after-change): Don't do much if a call of the new function returns
5348         non-nil.
5349         (c-extend-after-change-region): Put changes to text property 'fontified
5350         inside c-save-buffer-state.
5352 2015-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
5354         Fix byte-compiler warnings about looking-back.
5355         * lisp/vc/log-view.el (log-view-end-of-defun-1):
5356         * lisp/textmodes/tex-mode.el (latex-forward-sexp-1):
5357         * lisp/textmodes/reftex-ref.el (reftex-goto-label):
5358         * lisp/textmodes/bibtex.el (bibtex-insert-kill):
5359         * lisp/progmodes/sh-script.el (sh--maybe-here-document):
5360         * lisp/progmodes/ruby-mode.el (ruby-end-of-defun):
5361         * lisp/progmodes/ada-mode.el (ada-in-numeric-literal-p):
5362         * lisp/org/org.el (org-insert-heading, org-sort-entries):
5363         * lisp/org/org-mouse.el (org-mouse-end-headline)
5364         (org-mouse-context-menu):
5365         * lisp/org/org-clock.el (org-clock-cancel):
5366         * lisp/man.el (Man-default-man-entry):
5367         * lisp/mail/rmail.el (rmail-get-new-mail, rmail-insert-inbox-text)
5368         (rmail-ensure-blank-line):
5369         * lisp/mail/footnote.el (Footnote-delete-footnote):
5370         * lisp/mail/emacsbug.el (report-emacs-bug):
5371         * lisp/info.el (Info-follow-reference, Info-fontify-node):
5372         * lisp/info-look.el (info-lookup-guess-custom-symbol):
5373         * lisp/help-fns.el (help-fns--key-bindings):
5374         * lisp/files.el (hack-local-variables):
5375         * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-cmd-complete)
5376         (viper-get-ex-pat, ex-expand-filsyms, viper-get-ex-file)
5377         (viper-complete-filename-or-exit):
5378         * lisp/emulation/viper-cmd.el (viper-backward-indent):
5379         * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent):
5380         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
5381         * lisp/cus-edit.el (custom-face-edit-value-create):
5382         * lisp/calendar/todo-mode.el (todo-set-item-priority)
5383         (todo-filter-items-1, todo-convert-legacy-files)
5384         (todo-prefix-overlays): Add explicit second arg to looking-back.
5386 2015-04-20  Glenn Morris  <rgm@gnu.org>
5388         Avoid non-nil current-load-list at startup
5389         * src/process.c (init_process_emacs): Move Fprovide statement...
5390         (syms_of_process): ... to here.
5392         * lisp/loadup.el (custom-current-group-alist): Reset before dumping.
5394         * lisp/startup.el (command-line) <site-run-file>: Avoid rogue value in emacs -Q.
5396 2015-04-20  Ludovic Courtès  <ludo@gnu.org>
5398         * lisp/loadup.el (exec-path): Avoid storing build-time PATH in binary.
5399         (Bug#20330)
5401 2015-04-20  Glenn Morris  <rgm@gnu.org>
5403         * lisp/cus-start.el (exec-path): Set standard value, to avoid rogue.
5405         Tweak exec-path in uninstalled case
5406         * src/callproc.c (init_callproc): If running uninstalled, do not
5407         include eventual installation libexec directory in exec-path.
5409 2015-04-20  Artur Malabarba  <bruce.connor.am@gmail.com>
5411         * lisp/emacs-lisp/package.el: Filter by multiple keywords and cache keywords
5412         (package-menu-filter): Accept a list of keywords.
5413         (package--all-keywords): New variable to cache known keywords.
5414         (package-all-keywords): Populate it if necessary.
5415         (package-refresh-contents): Reset it.
5417         * lisp/emacs-lisp/package.el: Make archive and status pseudo-keywords
5418         (package--has-keyword-p): Understand "arc:xxxx" and "status:xxxx"
5419         as special keywords which match agains package archive and status
5420         respectively.
5421         * etc/NEWS: Document it.
5423 2015-04-20  Eli Zaretskii  <eliz@gnu.org>
5425         Describe and index "empty overlays".
5426         * doc/lispref/display.texi (Overlays): Improve indexing.
5427         (Managing Overlays): Describe "empty" overlays.
5428         (Overlay Properties, Finding Overlays): Add cross-reference to
5429         where empty overlays are described.
5431 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
5433         Spelling fixes
5435         Quote 'like this' in top-level files
5436         * CONTRIBUTE, INSTALL, Makefile.in, README, configure.ac, make-dist:
5437         Prefer to single-quote 'like this' (instead of the older style
5438         `like this').
5439         * configure.ac: Fix some space-before-tab problems that 'git commit'
5440         complained about.
5442         Use bool for boolean in textprop.c, undo.c
5443         * src/textprop.c (soft, hard): Now constants instead of macros.
5444         (validate_plist): Rewrite to avoid need for boolean local.
5445         (interval_has_all_properties, interval_has_some_properties)
5446         (interval_has_some_properties_list, add_properties)
5447         (remove_properties, get_char_property_and_overlay)
5448         (Fnext_single_char_property_change)
5449         (Fprevious_single_char_property_change, add_text_properties_1)
5450         (Fremove_text_properties, Fremove_list_of_text_properties)
5451         (copy_text_properties):
5452         * src/tparam.c (tparam1):
5453         * src/undo.c (record_change, record_property_change)
5454         (syms_of_undo):
5455         Use 'true' and 'false' for booleans.
5457 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
5459         Call `smerge-start-session' even when dealing with a stash conflict
5460         * lisp/vc/vc-git.el (vc-git-find-file-hook):
5461         Call `smerge-start-session' even when dealing with a stash
5462         conflict (bug#20292).
5464 2015-04-19  Vibhav Pant  <vibhavp@gmail.com>
5466         Add option to eshell/clear to clear scrollback.
5467         * lisp/eshell/esh-mode.el (eshell/clear-scrollback): New function.
5468         (eshell/clear): Add an optional SCROLLBACK argument. If non-nil,
5469         scrollback contents are cleared.
5470         * etc/NEWS: Describe change.
5471         * doc/misc/eshell.texi: Add entry for `clear'.
5473 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
5475         * src/widget.c (set_frame_size): Prefer 'int' to 'unsigned'
5476         where either will do.
5478 2015-04-19  Steve Purcell  <steve@sanityinc.com>
5480         Assume package archive-contents are UTF8-encoded
5481         * lisp/emacs-lisp/package.el (package--read-archive-file):
5482         Set `coding-system-for-read' explicitly to 'utf-8 when reading the
5483         downloaded and cached archive-contents files, so that non-ASCII
5484         characters in package descriptions are displayed correctly in the
5485         `list-packages' menu. (Bug#20231)
5487 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
5489         Abort when looking at stashed changes
5490         * lisp/vc/vc-git.el (vc-git-find-file-hook): Abort when looking at
5491         stashed changes (bug#20292).
5493 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
5495         Refactor low-level printing for simplicity
5496         * src/print.c (PRINTDECLARE): Remove.  Move its contents into
5497         PRINTPREPARE; doable now that we assume C99.  All callers changed.
5498         (PRINTCHAR): Remove, as it adds more mystery than clarity.
5499         All callers changed.
5500         (strout): Assume that caller computes length.  All callers changed.
5501         (print_c_string): New function.
5502         (write_string, write_string_1): Compute length instead of asking
5503         the caller to compute it.  All callers changed.
5504         (write_string): Simplify by using write_string_1.
5505         (write_string_1): Simplify by using print_c_string.
5506         (Fterpri): Compute default val more clearly.
5507         (Fprin1_to_string, print_object):
5508         Assume C99 to avoid unnecessary nesting.
5509         (print_object): Prefer print_c_string to multiple printchar, or
5510         to calling strout with -1 length.  Coalesce into sprintf when
5511         this is easy.
5513 2015-04-18  Paul Eggert  <eggert@cs.ucla.edu>
5515         Prefer "Bug#1234" in commit messages (Bug#20325)
5516         * .dir-locals.el (log-edit-mode): Don't rewrite Bug#,
5517         as this isn't useful for Git.
5518         * CONTRIBUTE: Suggest "Bug#1234" instead of "Fixes: debbugs:1234".
5520 2015-04-18  Glenn Morris  <rgm@gnu.org>
5522         * lisp/files.el (auto-mode-alist): Use conf mode for gitconfig, hgrc.
5523         (Bug#19506)
5525 2015-04-18  Tom Willemse  <tom@ryuslash.org>  (tiny change)
5527         * lisp/elec-pair.el (electric-pair-post-self-insert-function): Do not use `chomp' as a function.
5528         (Bug#19505)
5530 2015-04-18  Glenn Morris  <rgm@gnu.org>
5532         * lisp/net/browse-url.el (browse-url, browse-url-at-point): Doc fixes.
5534         * doc/emacs/misc.texi (Sorting): Small edit.
5535         (Bug#19896)
5537         * admin/admin.el (make-manuals): Add emacs-xtra in pdf and ps.
5539 2015-04-18  Simen Heggestøyl  <simenheg@gmail.com>
5541         css-mode.el: Support multi-line comment filling
5542         (Bug#20256)
5543         * lisp/textmodes/css-mode.el (css-fill-paragraph): Support multi-line
5544         comment filling.
5545         (css-adaptive-fill): New function.
5546         (css-mode): Set `adaptive-fill-function'.
5547         (scss-mode): Set `comment-continue'.
5549 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
5551         * lisp/emacs-lisp/seq.el (seq-concatenate, seq-into): Better error messages.
5553 2015-04-18  Ivan Radanov Ivanov  <ivanradanov@yahoo.co.uk>  (tiny change)
5555         Minor improvements in Bulgarian input methods
5556         * lisp/leim/quail/cyrillic.el (bulgarian-phonetic, bulgarian-bds):
5557         Replace U+042C with U+045D, as the former character is not used in
5558         the modern Bulgarian language.
5559         (Bug#20350)
5561 2015-04-17  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
5563         Improve EUDC manual
5564         * eudc.texi (LDAP Configuration): Mention simple and SASL
5565         authentication schemes.  Add index items.  Shorten example server
5566         name.
5568 2015-04-17  Dmitry Gutov  <dgutov@yandex.ru>
5570         Don't show both feature and function with the same name
5571         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
5572         Don't show both feature and function with the same name.
5574         (elisp--xref-identifier-location): Skip variable, if it's also a functiong
5575         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
5576         Avoid returning both the variable and the function for the same
5577         minor mode.
5579 2015-04-17  Wolfgang Jenkner  <wjenkner@inode.at>
5581         Fix fontification of keywords clobbered by the prompt.
5582         * lisp/comint.el (comint-output-filter): Remove the uses of
5583         with-silent-modifications I introduced as part of the last change.
5584         This fixes, e.g., erratically missing highlighting when running
5585         ./configure --help; ./configure in a shell-mode buffer with
5586         compilation-shell-minor-mode turned on.
5588 2015-04-17  Glenn Morris  <rgm@gnu.org>
5590         * admin/authors.el (authors-valid-file-names, authors-renamed-files-alist): Additions.
5592 2015-04-17  Stefan Monnier  <monnier@iro.umontreal.ca>
5594         * lisp/indent.el (indent-region): Don't deactivate the mark
5595         (Bug#20357)
5597 2015-04-17  Sam Steingold  <sds@gnu.org>
5599         lisp/net/rcirc.el (defun-rcirc-command): mark `target' as ignorable
5601 2015-04-16  Leo Liu  <sdl.web@gmail.com>
5603         * lisp/progmodes/xref.el (xref-push-marker-stack): Add optional arg.
5605 2015-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
5607         * lisp/erc/erc-pcomplete.el (erc-pcomplete): Don't use `pcomplete' any more.
5609 2015-04-16  Glenn Morris  <rgm@gnu.org>
5611         * admin/authors.el (authors-lax-changelogs): Update for erc changes.
5613 2015-04-16  Eli Zaretskii  <eliz@gnu.org>
5615         Don't link with -ljpeg on MS-Windows, to avoid dependency on DLL
5616         * configure.ac (LIBJPEG): Leave it empty for MinGW.
5618 2015-04-16  Glenn Morris  <rgm@gnu.org>
5620         * lisp/replace.el (query-replace-from-to-separator): Delay initialization
5621         to avoid rogue setting after startup.
5623 2015-04-16  Paul Eggert  <eggert@cs.ucla.edu>
5625         Pre-4.6 GCC succeeds with unknown option
5626         * configure.ac (emacs_cv_prog_cc_nopie): Port to pre-4.6 GCC.
5627         (Bug#20338)
5629 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
5631         '[:graph:]' now excludes whitespace, not just ' '
5632         * doc/lispref/searching.texi (Char Classes):
5633         * lisp/emacs-lisp/rx.el (rx): Document [:graph:] to be [:print:]
5634         sans whitespace (not sans space).
5635         * src/character.c (graphicp): Exclude all Unicode whitespace chars,
5636         not just space.
5637         * src/regex.c (ISGRAPH): Exclude U+00A0 (NO-BREAK SPACE).
5639 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
5641         (looking-back): Make the second arg non-optional.
5642         * lisp/subr.el (substitute-key-definition-key, special-form-p)
5643         (macrop): Drop deprecated second arg to indirect-function.
5644         (looking-back): Make the second arg non-optional.
5646         * lisp/org/org-clock.el (org-x11idle-exists-p): Be honest about which
5647         command is actually sent to the shell.
5649 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
5651         Port jpeg configuration to Solaris 10 with Sun C
5652         * configure.ac: Check for jpeglib 6b by trying to link it, instead
5653         of relying on cpp magic that has problems in practice.  Check for
5654         both jpeglib.h and jerror.h features.  Remove special case for
5655         mingw32, which should no longer be needed (and if it were needed,
5656         should now be addressable by hotwiring emacs_cv_jpeglib).
5657         (Bug#20332)
5659 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
5661         Move some Elisp-specific code from lisp-mode.el to elisp-mode.el
5662         * lisp/emacs-lisp/lisp-mode.el (lisp--el-font-lock-flush-elisp-buffers):
5663         Move to elisp-mode.el.
5664         (lisp-mode-variables): (Re)move elisp-specific settings.
5665         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add settings removed
5666         from lisp-mode-variables.
5667         (elisp--font-lock-flush-elisp-buffers): New function, moved from
5668         lisp-mode.el.
5670         * lisp/emacs-lisp/lisp-mode.el (lisp--el-non-funcall-position-p):
5671         Avoid pathological slowdown at top-level in large file.
5673 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
5675         Standardize names of ChangeLog history files
5676         Suggested by Glenn Morris in:
5677         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
5678         * Makefile.in (install-man): Don't treat ChangeLog.1 as a man page.
5679         * doc/man/ChangeLog.1: Rename back from doc/man/ChangeLog.01.
5680         * lisp/erc/ChangeLog.1: New file, containing the old contents of ...
5681         * lisp/erc/ChangeLog.01, lisp/erc/ChangeLog.02, lisp/erc/ChangeLog.03:
5682         * lisp/erc/ChangeLog.04, lisp/erc/ChangeLog.05, lisp/erc/ChangeLog.06:
5683         * lisp/erc/ChangeLog.07, lisp/erc/ChangeLog.08, lisp/erc/ChangeLog.09:
5684         Remove.
5686         Split top-level entries into pre- and post-April 7
5687         This more clearly distingiushes pre-April-7 ChangeLog entries (which
5688         are for top-level files only) from post-April-7 entries (which are
5689         about files at all levels.  Problem reported by Glenn Morris in:
5690         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
5691         * ChangeLog.1: Move post-April-7 entries from here ...
5692         * ChangeLog.2: ... to this new file.
5693         * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump to 2.
5695 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
5697         Fix recent cus-start changes that added customize-rogues
5698         * lisp/cus-start.el (custom-delayed-init-variables): Initialize the
5699         vars early.
5700         * lisp/loadup.el ("cus-start"): Move to the end to reduce customize-rogue.
5702 2015-04-15  Nicolas Petton  <nicolas@petton.fr>
5704         Define cl-concatenate as an alias to seq-concatenate
5705         * lisp/emacs-lisp/cl-extra.el (cl-concatenate): Removes duplicated
5706           code by making cl-concatenate an alias to seq-concatenate.
5708 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
5710         * src/lread.c (intern_1): Make sure we'd find the symbol we add
5711         (Bug#20334)
5712         * src/xfaces.c (resolve_face_name): Don't use `intern' with Lisp_Strings.
5714 2015-04-15  Glenn Morris  <rgm@gnu.org>
5716         * doc/lispref/sequences.texi (Sequence Functions): Fix typo in previous.
5718 2015-04-15  Lars Magne Ingebrigtsen  <larsi@gnus.org>
5720         Clean up gnus-uu saving code slightly
5721         * gnus-uu.el (gnus-uu-save-article): Make the
5722         save-restriction/widen calls make more sense.
5724 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
5726         Make [:graph:] act like [:print:] sans space
5727         In POSIX [[:print:]] is equivalent to [ [:graph:]], so change
5728         [:graph:] so that it matches everything that [:print:] does,
5729         except for space.
5730         * doc/lispref/searching.texi (Char Classes):
5731         * etc/NEWS:
5732         * lisp/emacs-lisp/rx.el (rx):
5733         Document [:graph:] to be [:print:] sans ' '.
5734         * src/character.c, src/character.h (graphicp): New function.
5735         * src/regex.c (ISGRAPH) [emacs]: Use it.
5736         (BIT_GRAPH): New macro.
5737         (BIT_PRINT): Increase to 0x200, to make room for BIT_GRAPH.
5738         (re_wctype_to_bit) [! WIDE_CHAR_SUPPORT]:
5739         Return BIT_GRAPH for RECC_GRAPH.
5740         (re_match_2_internal) [emacs]: Use ISGRAPH if BIT_GRAPH,
5741         and ISPRINT if BIT_PRINT.
5743 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
5745         automated/eieio-test-methodinvoke.el (make-instance) <(subclass C)>:
5746         Don't use call-next-method in a cl-defmethod.
5748         * lisp/emacs-lisp/eieio-core.el (eieio--class): Derive from cl--class
5749         (eieio--class-p): Remove, provided by cl-defstruct.
5751 2015-04-14  Nicolas Petton  <nicolas@petton.fr>
5753         Add seq-intersection and seq-difference to the seq library
5754         * lisp/emacs-lisp/seq.el (seq-intersection, seq-difference): New
5755         functions.
5756         * test/automated/seq-tests.el: Add tests for seq-intersection and
5757         seq-difference.
5758         * doc/lispref/sequences.texi: Add documentation for seq-intersection
5759         and seq-difference.
5761 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
5763         * eieio-core.el (class-abstract-p): Don't inline, to avoid leaking internals
5765 2015-04-14  Sam Steingold  <sds@gnu.org>
5767         package--ensure-init-file: widen requires save-restriction
5769 2015-04-14  Eli Zaretskii  <eliz@gnu.org>
5771         Improve the commit-msg Git hook for unibyte environments
5772         * build-aux/git-hooks/commit-msg: Set LC_ALL=C, before running Awk
5773         in unibyte environments.  (Suggested by Paul Eggert
5774         <eggert@cs.ucla.edu>.)  Use a more accurate approximation to
5775         [:print:], based on UTF-8 sequences of the unprintable characters.
5777         Describe problems with cursor caused by Windows Magnifier
5778         * etc/PROBLEMS: Describe the problem with cursor shape on
5779         MS-Windows due to Windows Magnifier.
5780         (Bug#20271)
5782         Make [:print:] support non-ASCII characters correctly
5783         * src/regex.c (ISPRINT): Call 'printablep' for multibyte characters.
5784         (BIT_PRINT): New bit mask.
5785         (re_wctype_to_bit): Return BIT_PRINT for RECC_PRINT.
5786         * src/character.c (printablep): New function.
5787         * src/character.h (printablep): Add prototype.
5788         * lisp/emacs-lisp/rx.el (rx): Doc fix: document the new behavior
5789         of 'print', 'alnum', and 'alphabetic'.
5790         * doc/lispref/searching.texi (Char Classes): Document the new
5791         behavior of [:print:].
5792         * etc/NEWS: Mention the new behavior of [:print:].
5794         Assign correct general-category and names to surrogates
5795         * admin/unidata/unidata-gen.el (unidata-setup-list): Don't ignore
5796         surrogates.  This avoids assigning them the default
5797         general-category of 'Cn', i.e. unassigned codepoints.
5798         (unidata-get-name): Give surrogates synthetic names.
5800 2015-04-14  Paul Eggert  <eggert@cs.ucla.edu>
5802         Assume C89 offsetof in xterm.c, xlwmenu.c
5803         * lwlib/xlwmenu.c (offset):
5804         * src/xterm.c (cvt_string_to_pixel_args):
5805         Use offsetof, not XtOffset.
5807 2015-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
5809         Assume C89 offsetof in widget.c
5810         * src/widget.c (XtOffset): Remove; no longer needed.
5811         (offset): Implement via offsetof instead of via pre-C89 XtOffset hack.
5813         Fix think-o in previous patch
5814         * src/window.c (count_windows, get_leaf_windows):
5815         Don't optimize count_windows incorrectly.
5817 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
5819         Avoid some int overflows in window.c
5820         * src/print.c (print_object):
5821         * src/window.c (sequence_number):
5822         * src/window.h (struct window.sequence_number):
5823         Don't assume window sequence number fits in int.
5824         * src/window.c (window_select_count):
5825         * src/window.h (struct window.use_time, window_select_count):
5826         Don't assume window use time fits in int.
5827         * src/window.c (Fsplit_window_internal):
5828         Don't assume user-supplied integer, or sum, fits in int.
5829         (Fset_window_configuration, count_windows, get_leaf_windows)
5830         (save_window_save, Fcurrent_window_configuration):
5831         Use ptrdiff_t for object counts.
5832         (Fset_window_configuration): Omit unused local 'n'.
5833         (count_windows): Simplify by writing in terms of get_leaf_windows.
5834         (get_leaf_windows): Don't store through FLAT if it's null.
5835         (extract_dimension): New static function.
5836         (set_window_margins, set_window_fringes, set_window_scroll_bars):
5837         Use it to avoid undefined behavior when converting user-supplied
5838         integer to 'int'.
5840 2015-04-13  Glenn Morris  <rgm@gnu.org>
5842         Minor doc copyedits
5843         * doc/emacs/custom.texi (Init Examples): Tweak example, replace typo.
5844         * doc/lispintro/emacs-lisp-intro.texi (condition-case): Typo fix.
5846 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
5848         [Gnus] Catch the invalid-operation that idna.el will issue
5849         * lisp/gnus/gnus-art.el (gnus-use-idna):
5850         * lisp/gnus/gnus-sum.el (gnus-summary-idna-message):
5851         * lisp/gnus/message.el (message-use-idna):
5852         Catch the invalid-operation that idna.el will issue.
5854 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
5856         * doc/lispref/processes.texi (Shell Arguments): Prefer diff -u.
5858 2015-04-13  Sam Steingold  <sds@gnu.org>
5860         package--ensure-init-file: widen before looking for "(package-initialize)"
5862 2015-04-13  Dmitry Gutov  <dgutov@yandex.ru>
5864         Change diff-switches default to `-u'
5865         (Bug#20290)
5866         * doc/emacs/files.texi (Comparing Files): Document the new default
5867         value of `diff-switches'.
5868         * doc/emacs/trouble.texi (Sending Patches): Document the preference
5869         for unified diff format.  Escape the plus in the suggested `-F' regexp
5870         value.
5871         * lisp/vc/diff.el (diff-switches): Change the default to `-u'.
5873 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
5875         (gnus-group--setup-tool-bar-update): Fix last change
5876         * lisp/gnus/gnus-group.el (gnus-group--setup-tool-bar-update):
5877         cursor-sensor-functions should be a list of functions.
5879 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
5881         Use gmm-called-interactively-p in Gnus
5882         * lisp/gnus/gnus-topic.el (gnus-topic-mode): Use gmm-called-interactively-p.
5884 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
5886         * lisp/loadup.el ("cus-start"): Load it after loaddefs.el
5887         (Bug#20321)
5888         * lisp/cus-start.el (read-buffer-function): Don't advertize
5889         iswitchb-read-buffer any more.
5890         (iswitchb): Don't tweak this obsolete group any more.
5892 2015-04-13  Artur Malabarba  <bruce.connor.am@gmail.com>
5894         * lisp/emacs-lisp/package.el: Fix package--ensure-init-file
5896         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Implement docstrings
5897         Adding a string after a constructor's argument list will use
5898         that string as the constructor function docstring.  If this string
5899         is absent but the struct itself was given a docstring, use that as
5900         the constructor's docstring.
5901         Fixes (bug#17284).
5903 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
5905         Deprecate `intangible' and `point-entered' properties
5906         * lisp/emacs-lisp/cursor-sensor.el: New file.
5907         * lisp/simple.el (pre-redisplay-functions): New hook.
5908         (redisplay--pre-redisplay-functions): New function.
5909         (pre-redisplay-function): Use it.
5910         (minibuffer-avoid-prompt): Mark obsolete.
5911         (redisplay--update-region-highlight): Adapt it to work as a function on
5912         pre-redisplay-functions.
5913         * lisp/cus-start.el (minibuffer-prompt-properties--setter): New fun.
5914         (minibuffer-prompt-properties): Use it.  Use cursor-intangible rather
5915         than point-entered to make the prompt intangible.
5916         * lisp/forms.el: Move `provide' calls to the end.
5917         (forms-mode): Don't use `run-hooks' on a local var.
5918         (forms--make-format, forms--make-format-elt-using-text-properties):
5919         Use cursor-intangible rather than `intangible'.
5920         (forms-mode): Enable cursor-intangible-mode.
5921         * lisp/isearch.el (isearch-mode): Use defvar-local.
5922         (cursor-sensor-inhibit): Declare.
5923         (isearch-mode): Set cursor-sensor-inhibit.
5924         (isearch-done): Set it back.
5925         (isearch-open-overlay-temporary, isearch-open-necessary-overlays)
5926         (isearch-close-unnecessary-overlays): Don't bother with `intangible'
5927         any more.
5928         * lisp/ses.el (ses-localvars): Remove `mode-line-process'.
5929         (ses-sym-rowcol, ses-cell-value, ses-col-width, ses-col-printer):
5930         Add Edebug spec.
5931         (ses-goto-print, ses-print-cell, ses-adjust-print-width)
5932         (ses-goto-data, ses-setup, ses-copy-region): Don't let-bind
5933         inhibit-point-motion-hooks any more.
5934         (ses--cell-at-pos, ses--curcell): New functions, extracted from
5935         ses-set-curcell.
5936         (ses-set-curcell): Use them.
5937         (ses-print-cell, ses-setup): Use cursor-intangible instead of
5938         `intangible'.  Make sure cursor-intangible isn't sticky at BOB.
5939         (ses-print-cell-new-width, ses-reprint-all, ses-recalculate-all):
5940         Use ses--cell-at-pos.
5941         (ses--mode-line-process, ses--cursor-sensor-highlight): New functions,
5942         extracted from ses-command-hook.  Make them work with multiple windows
5943         displaying the same buffer.
5944         (ses-mode): Use them via mode-line-process and pre-redisplay-functions.
5945         Enable cursor-intangible-mode.
5946         (ses-command-hook): Remove cell highlight and mode-line update code.
5947         (ses-forward-or-insert, ses-copy-region-helper, ses-sort-column):
5948         Update for new name of text-property holding the cell name.
5949         (ses-rename-cell): Don't mess with mode-line-process.
5950         * lisp/erc/erc-stamp.el (erc-add-timestamp): Use the new
5951         cursor-sensor-functions property instead of point-entered.
5952         (erc-insert-timestamp-right, erc-format-timestamp):
5953         Use cursor-intangible rather than `intangible'.
5954         (erc-munge-invisibility-spec): Use add-to-invisibility-spec and
5955         remove-from-invisibility-spec.  Enable cursor-intangible-mode and
5956         cursor-sensor-mode if needed.
5957         (erc-echo-timestamp): Adapt to calling convention of
5958         cursor-sensor-functions.
5959         (erc-insert-timestamp-right): Remove unused vars `current-window' and
5960         `indent'.
5961         * lisp/gnus/gnus-group.el (gnus-tmp-*): Declare.
5962         (gnus-update-group-mark-positions): Remove unused `topic' var.
5963         (gnus-group-insert-group-line): Remove unused var `header'.
5964         (gnus-group--setup-tool-bar-update): New function.
5965         (gnus-group-insert-group-line): Use it.
5966         (gnus-group-update-eval-form): Declare local
5967         dynamically-bound variables.
5968         (gnus-group-unsubscribe-group): Use \` and \' to match string bounds.
5969         * lisp/gnus/gnus-topic.el (gnus-topic-jump-to-topic)
5970         (gnus-group-prepare-topics, gnus-topic-update-topic)
5971         (gnus-topic-change-level, gnus-topic-catchup-articles)
5972         (gnus-topic-remove-group, gnus-topic-delete, gnus-topic-indent):
5973         Use inhibit-read-only.
5974         (gnus-topic-prepare-topic): Use gnus-group--setup-tool-bar-update.
5975         (gnus-topic-mode): Use define-minor-mode and derived-mode-p.
5976         * lisp/textmodes/reftex-index.el (reftex-display-index):
5977         Use cursor-intangible-mode if available.
5978         (reftex-index-post-command-hook): Check cursor-intangible.
5979         * lisp/textmodes/reftex-toc.el (reftex-toc):
5980         Use cursor-intangible-mode if available.
5981         (reftex-toc-recenter, reftex-toc-post-command-hook):
5982         Check cursor-intangible.
5983         * lisp/textmodes/sgml-mode.el: Use lexical-binding.
5984         (sgml-tag): Use cursor-sensor-functions instead of point-entered.
5985         (sgml-tags-invisible): Use with-silent-modifications and
5986         inhibit-read-only.  Enable cursor-sensor-mode.
5987         (sgml-cursor-sensor): Rename from sgml-point-entered and adjust to
5988         calling convention of cursor-sensor-functions.
5989         * lisp/textmodes/table.el (table-cell-map-hook, table-load-hook)
5990         (table-point-entered-cell-hook, table-point-left-cell-hook):
5991         Don't autoload.
5992         (table-cell-entered-state): Remove var.
5993         (table--put-cell-point-entered/left-property)
5994         (table--remove-cell-properties):
5995         Use cursor-sensor-functions rather than point-entered/left.
5996         (table--point-entered/left-cell-function): Merge
5997         table--point-entered-cell-function and table--point-left-cell-function
5998         and adjust to calling convention of cursor-sensor-functions.
6000         Update ldef-boots.el
6002         * lisp/emacs-lisp/pcase.el (pcase-dolist): Autoload as well.
6004         * doc/misc/eieio.texi: Don't advertize now obsolete constructs
6006         Collapse successive char deletions in the undo log
6007         * src/cmds.c (remove_excessive_undo_boundaries): New function,
6008         extracted from Fself_insert_command.
6009         (Fdelete_char, Fself_insert_command): Use it.
6010         * src/fileio.c (Fmake_symbolic_link): Rename arg to `target'.
6011         * src/keyboard.c (syms_of_keyboard): `top-level' shouldn't be special.
6013         xterm and OSC 52: Add NEWS entry, and tweak the code
6014         * lisp/term/xterm.el (gui-set-selection) <nil>: Move method definition to
6015         top-level.
6016         (terminal-init-xterm-activate-set-selection): Set a terminal property.
6017         (xterm--set-selection): Use it instead of checking the value of
6018         `terminal-initted'.  Don't use string-bytes.
6020 2015-04-13  Philipp Stephani  <p.stephani2@gmail.com>
6022         xterm.el: Implement OSC-52 functionality for setting the X selection
6023         * lisp/term/xterm.el (xterm-max-cut-length): New var.
6024         (xterm--set-selection, terminal-init-xterm-activate-set-selection): New funs.
6025         (terminal-init-xterm, xterm--version-handler): Use them.
6027 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
6029         Remove left over code from when we used an obsolete/loaddefs.el file
6030         * lisp/subr.el (do-after-load-evaluation): Remove left over code from when
6031         we used an obsolete/loaddefs.el file.
6033         * cedet/semantic/fw.el: Use declare.
6034         * cedet/semantic/fw.el (semantic-exit-on-input)
6035         (semanticdb-without-unloaded-file-searches): Use declare.
6036         (semantic-fw-add-edebug-spec): Remove.
6038         (completion-lisp-mode-hook): Use completion-separator-chars
6039         * lisp/completion.el (completion-lisp-mode-hook):
6040         Use completion-separator-chars rather than local key binding.
6042         * src/*.c: Set deactivate_mark buffer-locally
6043         (Bug#20260)
6044         * src/insdel.c (prepare_to_modify_buffer_1):
6045         * src/fileio.c (Finsert_file_contents): Set deactivate_mark
6046         buffer-locally.
6048 2015-04-12  Fabián Ezequiel Gallina  <fgallina@gnu.org>
6050         python.el: Keep symmetry on sexp navigation with parens
6051         (Bug#19954)
6052         * lisp/progmodes/python.el
6053         (python-nav--forward-sexp): Add argument skip-parens-p.
6054         (python-nav-forward-sexp, python-nav-backward-sexp)
6055         (python-nav-forward-sexp-safe)
6056         (python-nav-backward-sexp-safe): Use it.
6057         * test/automated/python-tests.el
6058         (python-nav-forward-sexp-1): Fix test.
6060 2015-04-12  João Távora  <joaotavora@gmail.com>
6062         Don't use `setq-local' in Gnus code
6063         This might break upstream builds with older Emacsen
6064         * lisp/gnus/message.el (message-mode): Use `set' and
6065         `make-local-variable' instead of `setq-local'.
6067 2015-04-12  Paul Eggert  <eggert@cs.ucla.edu>
6069         Update Makefile.in's .PHONY dependencies
6070         * Makefile.in (change-history-commit, master-branch-is-current)
6071         (no-ChangeLog): Now phony.
6073         Remove configure's --with-mmdf option
6074         * configure.ac (MAIL_USE_MMDF): Remove.
6075         * etc/NEWS: Document this.
6076         * lib-src/movemail.c: Assume MAIL_USE_MMDF is not defined.
6077         (Bug#20308)
6079         * doc/man/ChangeLog.01: Rename from doc/man/ChangeLog.1.
6080         That way, 'make install' won't think it's a man page.
6081         Reported by Ashish SHUKLA in:
6082         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00656.html
6084         Improve 'make change-history' prereq tests
6085         * Makefile.in (gen_origin): Fix to match what's in the master branch.
6086         (no-ChangeLog, master-branch-is-current): New rules.
6087         (change-history): Depend on them, to avoid similar future problems.
6088         Escape the local-variables string to pacify Emacs when editing
6089         Makefile.in.
6091 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
6093         * test/automated/package-test.el (with-package-test): Kill Packages buffer
6095         * lisp/emacs-lisp/package.el: Improve transaction y-or-n prompt
6096         (package-menu--prompt-transaction-p): Prompt for "Delete" first,
6097         "Upgrade" last, and use capitalized instead of all-caps.
6099         * lisp/emacs-lisp/package.el: Completely silence async operations
6100         (package--make-autoloads-and-stuff): Silence autoloads.
6101         (package--save-selected-packages): New function, silences
6102         `customize-save-variable'.
6103         (package--user-selected-p, package-install-from-buffer)
6104         (package-delete, package-install): Use it.
6105         (package-install-from-archive)
6106         (package-menu--perform-transaction): Silence.
6107         (package-menu-execute): Feedback when operation starts.
6109         Use delay-mode-hooks when visiting the init-file
6110         * lisp/emacs-lisp/package.el (package--ensure-init-file):
6111         delay-mode-hooks
6112         * lisp/cus-edit.el (custom-save-all): delay-mode-hooks
6114         * lisp/files.el: Only message when saving if save-silently is nil
6115         (save-silently): New variable.
6116         (files--message): New function.
6117         (find-file-noselect, save-buffer, basic-save-buffer)
6118         (basic-save-buffer-2, save-some-buffers, not-modified)
6119         (append-to-file): Use them.
6121 2015-04-12  Johan Bockgård  <bojohan@gnu.org>
6123         Support debug declarations in pcase macros
6124         * lisp/emacs-lisp/pcase.el (pcase-MACRO): New edebug spec.
6125         (pcase-UPAT): Use it.  Remove "`".
6126         (pcase--edebug-match-macro): New function.
6127         (pcase-defmacro): Support debug declarations.
6128         * lisp/emacs-lisp/cl-macs.el (cl-struct) <pcase-defmacro>:
6129         * lisp/emacs-lisp/eieio.el (eieio) <pcase-defmacro>:
6130         * lisp/emacs-lisp/pcase.el (\`): <pcase-defmacro>: Add debug declaration.
6132         pcase.el: Edebug support for `app' and vector patterns
6133         * lisp/emacs-lisp/pcase.el (pcase-FUN): New edebug spec.
6134         (pcase-UPAT): Use it. Support `app' patterns.
6135         (pcase-QPAT): Support vector patterns.
6137         edebug.el: Disambiguate vector specifications
6138         * lisp/emacs-lisp/edebug.el (edebug-match-list): Always treat
6139         `(vector ...)' as a vector specification, not as a sublist.
6141         (gnus-summary-refer-thread): Don't clobber unread articles
6142         This fixes a bug where `A T' causes "random" articles to become marked
6143         as read.
6144         * lisp/gnus/gnus-sum.el (gnus-summary-refer-thread): Make sure
6145         gnus-newsgroup-unreads remains sorted.
6147         mouse-sel.el: Fix mouse-sel-get-selection-function
6148         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
6149         Use gui--last-selected-text-primary instead of no longer existing
6150         gui-last-selected-text.
6152         * lisp/rect.el (delete-whitespace-rectangle-line): Don't cross EOL.
6154         * lisp/net/nsm.el (nsm-query-user): Use cursor-in-echo-area.
6156 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
6158         * lisp/emacs-lisp/package.el (list-packages): Avoid redundant generate
6160         * lisp/emacs-lisp/package.el (list-packages): Call refresh in right buffer
6162         * lisp/emacs-lisp/bytecomp.el: Silence noninteractive compilations
6163         (byte-compile--interactive): New var.
6164         (byte-compile--message): New function.
6165         (byte-compile-log-1, byte-force-recompile)
6166         (byte-recompile-directory, byte-recompile-file)
6167         (byte-compile-file, compile-defun)
6168         (byte-compile-file-form-defmumble, byte-compile)
6169         (byte-compile-file-form-defalias, display-call-tree): Use it.
6171         * lisp/files.el: Don't message when nothing happened
6172         (save-some-buffers, basic-save-buffer): Before messaging to say
6173         "nothing was saved" check if (called-interactively-p 'any).
6175 2015-04-12  João Távora  <joaotavora@gmail.com>
6177         Summary: Improve sexp-based movement in message-mode
6178         Works by giving citations and smileys a different syntax.  This helps
6179         modes like `show-paren-mode', `electric-pair-mode', and C-M-*
6180         sexp-based movement.
6181         * lisp/gnus/message.el (message--syntax-propertize): New function.
6182         (message-mode): Set syntax-related vars.
6183         (message-smileys): New variable.
6184         * test/automated/message-mode-tests.el: New file
6186 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
6188         Use bool for boolean in window.c
6189         * src/window.c: Omit unnecessary static function decls.
6190         (adjust_window_count, select_window, Fselect_window)
6191         (window_body_width, Fwindow_body_height, Fwindow_body_width)
6192         (set_window_hscroll, check_window_containing, Fwindow_at)
6193         (Fwindow_end, Fset_window_start, Fpos_visible_in_window_p)
6194         (unshow_buffer, replace_window, recombine_windows)
6195         (add_window_to_list, candidate_window_p, next_window)
6196         (Fnext_window, Fprevious_window, window_loop, check_all_windows)
6197         (Fget_buffer_window, Fdelete_other_windows_internal)
6198         (replace_buffer_in_windows_safely, set_window_buffer)
6199         (Fset_window_buffer, Fforce_window_update)
6200         (temp_output_buffer_show, make_parent_window)
6201         (window_resize_check, window_resize_apply, Fwindow_resize_apply)
6202         (resize_frame_windows, Fsplit_window_internal)
6203         (Fdelete_window_internal, grow_mini_window, shrink_mini_window)
6204         (Fresize_mini_window_internal, mark_window_cursors_off)
6205         (window_scroll, window_scroll_pixel_based)
6206         (window_scroll_line_based, scroll_command, Fscroll_other_window)
6207         (Fscroll_left, Fscroll_right, displayed_window_lines, Frecenter)
6208         (Fmove_to_window_line, Fset_window_configuration)
6209         (delete_all_child_windows, apply_window_adjustment)
6210         (set_window_fringes, set_window_scroll_bars)
6211         (Fset_window_vscroll, foreach_window, foreach_window_1)
6212         (compare_window_configurations, Fcompare_window_configurations):
6213         Prefer 'bool', 'true', and 'false' for booleans.
6214         * src/window.h (WINDOW_MODE_LINE_LINES)
6215         (WINDOW_HEADER_LINE_LINES): Omit unnecessary "!!" on bool value.
6217 2015-04-11  Artur Malabarba  <bruce.connor.am@gmail.com>
6219         Speed up byte-compilation and autoload generation by avoiding mode-hooks
6220         This prevents emacs-lisp-mode-hook from being run everytime an
6221         autoload file is generated, which can account for a fraction of
6222         package installation time depending on the hooks the user has
6223         configured.
6224         * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Use delay-mode-hooks.
6225         * lisp/emacs-lisp/autoload.el (autoload-find-file)
6226         (autoload-find-generated-file): Use delay-mode-hooks.
6228         * lisp/emacs-lisp/package.el: Improve `package-menu-refresh'
6229         (package-menu-refresh): Respect async and do new package checking.
6230         (list-packages): Use `package-menu-refresh' instead of repeating code.
6232         * lisp/emacs-lisp/package.el: Improve package-menu-quick-help
6233         (package--quick-help-keys): New variable.
6234         (package--prettify-quick-help-key): New function.
6235         (package-menu-quick-help): Use it.
6237         * lisp/emacs-lisp/package.el: Fix initially wrong compat table
6238         (package--build-compatibility-table): require finder
6240         * test/automated/package-test.el: Fix new test
6242         * lisp/emacs-lisp/package.el: Silence async operations
6243         (package--silence): New variable.
6244         (package--message): New function.
6245         (package-import-keyring, package-refresh-contents)
6246         (package-compute-transaction, package-install, package-delete)
6247         (package-menu--perform-transaction, package-menu-execute): Use it.
6249         * test/automated/package-test.el: Test async functionality
6250         (package-test-update-archives-async): New test
6252 2015-04-11  Daiki Ueno  <ueno@gnu.org>
6254         Utilize `make-process' in epg.el
6255         * lisp/epg.el (epg-error-output): Abolish.
6256         (epg-context): New slot `error-buffer'.
6257         (epg--start): Use `make-process' and `make-pipe-process'.
6258         (epg--process-filter): Remove code separating stderr from stdout.
6259         (epg-wait-for-completion): Simplify `error-output' handling.
6260         (epg-reset): Dispose error buffer.
6262 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
6264         * .gitignore: Ignore doc temps and outputs.
6266         Port commit-msg to MSYS Bash+Gawk
6267         See Eli Zaretskii in:
6268         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00610.html
6269         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format)
6270         (cent_sign, print_at_sign, at_sign): Revert previous change.
6271         (print_at_sign): Prepend "BEGIN".
6272         (at_sign): Redirect from /dev/null to be safer with pre-POSIX awk.
6274         Port commit-msg to broken MS-Windows shell
6275         * build-aux/git-hooks/commit-msg (cent_sign):
6276         Just use UTF-8 here rather than ASCII + printf, as the latter fails
6277         on a broken MS-Windows shell.  Reported by Eli Zaretskii in:
6278         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00592.html
6280 2015-04-11  Chris Zheng  <chriszheng99@gmail.com>  (tiny change)
6282         Support GnuTLS v3.4 and later on MS-Windows
6283         * src/gnutls.c (syms_of_gnutls) <libgnutls-version>: New DEFSYM.
6284         * lisp/term/w32-win.el (dynamic-library-alist): Determine which
6285         GnuTLS DLL to load according to value of libgnutls-version.
6286         (Bug#20294)
6288 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
6290         Minor quoting etc. fixes to misc manuals
6291         Fix some minor quoting and spacing issues.  Distinguish more
6292         clearly among grave accent and apostrophe (which are ASCII) and
6293         single quote (which is not).  Prefer the standard terms
6294         "apostrophe" and "grave accent" to alternative names that can be
6295         confusing.  Use apostrophes to single-quote ASCII text.
6296         * doc/misc/remember.texi: Spell the mystic's pseudonym in UTF-8
6297         rather than approximating it in ASCII with grave accent.
6299 2015-04-11  Daiki Ueno  <ueno@gnu.org>
6301         Respect more keyword args in `make-process'
6302         * process.c (Fmake_process): Respect `:sentinel' and `:filter'
6303         keywords as documented.
6305 2015-04-10  Dmitry Gutov  <dgutov@yandex.ru>
6307         Extract ChangeLog entries when committing a directory
6308         * lisp/vc/vc-dispatcher.el (vc-log-edit): Update FIXME comment.
6309         * lisp/vc/log-edit.el (log-edit-changelog-insert-entries):
6310         Add a FIXME comment.
6311         (log-edit-changelog-entries): Extract from
6312         `log-edit-changelog-entries', handle FILE being a directory
6313         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00555.html).
6315 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
6317         Fix problems found by --enable-gcc-warnings
6318         * src/process.c (create_process, Fmake_pipe_process)
6319         (Fmake_network_process): Omit unused locals.
6321         Fix commit-msg to handle scissors lines
6322         * build-aux/git-hooks/commit-msg:
6323         Ignore every line after a scissors line, such as a line generated
6324         by 'git commit -v'.  Problem reported by Johan Bockgård in:
6325         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00580.html
6327         port commit-msg to Gawk 3.0.4 (1999)
6328         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format, cent_sign)
6329         (print_at_sign, at_sign): New vars.  Use them to avoid problems
6330         Eli Zaretskii encountered with Gawk 3.0.4 (1999) on MSYS.  See:
6331         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
6333         Have commit-msg report commit failure
6334         * build-aux/git-hooks/commit-msg: If the commit is aborted,
6335         say so.  Simplify by doing this at the end.  Problem reported
6336         by Eli Zaretskii in:
6337         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
6339 2015-04-10  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
6341         Clean up LDAP Configuration section of EUDC manual
6342         * doc/misc/eudc.texi: Combine indices.
6343         (LDAP Configuration): Use command markup.  Add index entries.
6344         Change formatting.  Wrap long lines.  Add noindent markup.
6346 2015-04-10  Daiki Ueno  <ueno@gnu.org>
6348         Add facility to collect stderr of async subprocess
6349         * src/w32.h (register_aux_fd): New function declaration.
6350         * src/w32.c (register_aux_fd): New function.
6351         * src/process.h (struct Lisp_Process): New member stderrproc.
6352         * src/process.c (PIPECONN_P): New macro.
6353         (PIPECONN1_P): New macro.
6354         (Fdelete_process, Fprocess_status, Fset_process_buffer)
6355         (Fset_process_filter, Fset_process_sentinel, Fstop_process)
6356         (Fcontinue_process): Handle pipe process specially.
6357         (create_process): Respect p->stderrproc.
6358         (Fmake_pipe_process): New function.
6359         (Fmake_process): Add new keyword argument :stderr.
6360         (wait_reading_process_output): Specially handle a pipe process when
6361         it gets an EOF.
6362         (syms_of_process): Register Qpipe and Smake_pipe_process.
6363         * doc/lispref/processes.texi (Asynchronous Processes): Document
6364         `make-pipe-process' and `:stderr' keyword of `make-process'.
6365         * lisp/subr.el (start-process): Suggest to use `make-process' handle
6366         standard error separately.
6367         * test/automated/process-tests.el (process-test-stderr-buffer)
6368         (process-test-stderr-filter): New tests.
6369         * etc/NEWS: Mention new process type `pipe' and its usage with the
6370         `:stderr' keyword of `make-process'.
6372 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
6374         Minor quoting etc. fixes to lispref manual
6375         * doc/lispref/tips.texi (Documentation Tips):
6376         Distinguish more clearly among grave accent, apostrophe,
6377         and single quote.
6378         * doc/lispref/README, doc/lispref/buffers.texi:
6379         * doc/lispref/commands.texi, doc/lispref/control.texi:
6380         * doc/lispref/customize.texi, doc/lispref/display.texi:
6381         * doc/lispref/elisp.texi, doc/lispref/files.texi:
6382         * doc/lispref/frames.texi, doc/lispref/hash.texi:
6383         * doc/lispref/help.texi, doc/lispref/internals.texi:
6384         * doc/lispref/loading.texi, doc/lispref/makefile.w32-in:
6385         * doc/lispref/markers.texi, doc/lispref/modes.texi:
6386         * doc/lispref/nonascii.texi, doc/lispref/objects.texi:
6387         * doc/lispref/os.texi, doc/lispref/positions.texi:
6388         * doc/lispref/strings.texi, doc/lispref/syntax.texi:
6389         * doc/lispref/text.texi, doc/lispref/tips.texi:
6390         * doc/lispref/two-volume-cross-refs.txt, doc/lispref/windows.texi:
6391         Use American-style double quoting in ordinary text,
6392         and quote 'like this' when single-quoting in ASCII text.
6393         Also, fix some minor spacing issues.
6395 2015-04-10  Michael Albinus  <michael.albinus@gmx.de>
6397         Handle symlinked test directory in tramp-tests.el
6398         * test/automated/tramp-tests.el (tramp-test18-file-attributes)
6399         (tramp--test-check-files): Use `file-truename' for directories.
6401 2015-04-10  Eli Zaretskii  <eliz@gnu.org>
6403         Fix 'recenter' when visual-line-mode is turned on
6404         * src/window.c (Frecenter): Use the same code for GUI and TTY
6405         frames alike; use vmotion only for "initial" frames.  This is
6406         because vmotion doesn't support visual-line-mode.  Rewrite the
6407         'iarg >= 0' case to use move_it_* functions instead of using
6408         vmotion, for the same reason.  Fix the clipping of the argument
6409         value to support scroll-margin in all cases and avoid unwarranted
6410         recentering.  Reported by Milan Stanojević <milanst@gmail.com> in
6411         http://lists.gnu.org/archive/html/help-gnu-emacs/2015-04/msg00092.html,
6412         which see.
6414 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
6416         * abbrev.el (define-abbrev-table): Refine last change.
6418         cl-lib.el: Partial revert of "2015-04-05 Rationalize c[ad]+r"
6419         * lisp/emacs-lisp/cl-lib.el: Partial revert of "2015-04-05 Rationalize
6420         use of c[ad]+r", so as to keep the "cl-" prefix on all
6421         cl-lib definitions.
6423         * vhdl-mode.el (vhdl-prepare-search-2): Use inhibit-point-motion-hooks
6425         * lisp/cedet/semantic: Remove some dead code
6426         * lisp/cedet/semantic/util-modes.el
6427         (semantic-stickyfunc-header-line-format): Emacs<22 is not supported
6428         any more.
6429         * lisp/cedet/semantic/fw.el (semantic-buffer-local-value): Emacs<21 is
6430         not supported any more.
6431         (semantic-safe): Use `declare'.
6432         * lisp/cedet/semantic/decorate.el (semantic-set-tag-intangible)
6433         (semantic-tag-intangible-p): Remove unused functions.
6434         * lisp/cedet/semantic/complete.el (semantic-displayor-window-edges):
6435         Remove unused function.
6437         * lisp/gnus/gnus-art.el (gnus-hidden-properties): Simplify.
6438         (gnus-article-hide-text, gnus-article-unhide-text)
6439         (gnus-article-unhide-text-type): Remove special handling of
6440         `intangible' since that property is not used any more.
6441         (gnus-article-treat-body-boundary): Use gnus-hidden-properties.
6443 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
6445         Use the VC root in `log-edit-listfun'
6446         * lisp/vc/vc-dispatcher.el (vc-log-edit): Use the VC root in
6447         `log-edit-listfun'.
6449 2015-04-09  Jay Belanger  <jay.p.belanger@gmail.com>
6451         Fix description of Unix time, mention new function.
6452         * lisp/calc/calc-forms.el (calcFunc-unixtime): Fix adjustment for
6453         Unix time.
6454         * doc/misc/calc.texi (Date Forms): Fix description of Unix time.
6455         (Basic Operations on Units): Mention `calc-convert-exact-units'.
6457 2015-04-09  Artur Malabarba  <bruce.connor.am@gmail.com>
6459         * lisp/emacs-lisp/package.el: Use mode-line-process for notification
6461 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
6463         (log-edit-insert-changelog-entries): Don't add newline after the last entry
6464         * lisp/vc/log-edit.el (log-edit-insert-changelog-entries):
6465         Don't add newline after the last entry.
6467 2015-04-09  Simen Heggestøyl  <simenheg@gmail.com>
6469         css-mode.el: Add "not" pseudo-class
6470         (Bug#20267)
6471         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Add "not" to
6472         list of CSS pseudo-classes.
6474 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
6476         etc/NEWS: Add missing entry for "Stop messing with the EMACS env var"
6478 2015-04-09  Michael Albinus  <michael.albinus@gmx.de>
6480         Stop messing with the EMACS env var
6481         * misc.texi (Interactive Shell): Remove description of EMACS env var.
6483 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
6485         Adapt 'make change-history' to coding cookie
6486         * Makefile.in (change-history): Adjust to change of format of
6487         ChangeLog file, which now has a coding cookie before an indented
6488         copyright notice.
6490 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
6492         Adapt 'make change-history' to coding cookie
6493         * Makefile.in (change-history): Adjust to change of format of
6494         ChangeLog file, which now has a coding cookie before an indented
6495         copyright notice.
6497         gitlog-to-changelog coding cookie and mv -i
6498         * build-aux/gitlog-to-emacslog: Use ChangeLog.1, not Makefile.in,
6499         for copyright notice prototype, so that we get a proper "coding:"
6500         cookie.  Use 'mv -i' to avoid unconditionally overwriting an
6501         existing ChangeLog.  Problems reported by Eli Zaretskii in:
6502         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00504.html
6504         Merge from gnulib
6505         * build-aux/gitlog-to-changelog: Update from gnulib, incorporating:
6506         2015-04-09 gitlog-to-changelog: port to MS-Windows
6508 2015-04-09  Boruch Baum  <boruch_baum@gmx.com>  (tiny change)
6510         * lisp/bookmark.el (bookmark-bmenu-goto-bookmark): Don't inf-loop.
6511         (Bug#20212)
6513 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
6515         Stop messing with the EMACS env var
6516         (Bug#20202)
6517         * lisp/net/tramp-sh.el (tramp-remote-process-environment):
6518         * lisp/comint.el (comint-exec-1):
6519         * lisp/term.el (term-exec-1): Don't set EMACS envvar.
6520         * lisp/progmodes/compile.el (compilation-start): Same and bring
6521         INSIDE_EMACS's format in line with other users.
6523         css-mode.el (css-smie-rules): Fix indentation after complex selectors
6524         (Bug#20282)
6525         * lisp/textmodes/css-mode.el (css-smie-rules): Don't get confused by
6526         inner structure of selectors.
6528 2015-04-08  Fabián Ezequiel Gallina  <fgallina@gnu.org>
6530         python.el: Indent docstring lines to base-indent
6531         (Bug#19595)
6532         Thanks to immerrr <immerrr@gmail.com> for reporting and providing
6533         an initial patch.
6534         * lisp/progmodes/python.el
6535         (python-indent-context): Add :inside-docstring context.
6536         (python-indent--calculate-indentation): Handle :inside-docstring.
6537         (python-indent-region): Re-indent docstrings.
6538         * test/automated/python-tests.el (python-indent-region-5)
6539         (python-indent-inside-string-2): Fix tests.
6541         python.el: Increase native completion robustness
6542         (Bug#19755)
6543         Thanks to Carlos Pita <carlosjosepita@gmail.com> for reporting
6544         this and providing useful ideas.
6545         * lisp/progmodes/python.el
6546         (python-shell-completion-native-output-timeout): Increase value.
6547         (python-shell-completion-native-try-output-timeout): New var.
6548         (python-shell-completion-native-try): Use it.
6549         (python-shell-completion-native-setup): New readline setup avoids
6550         polluting current context, ensures output when no-completions are
6551         available and includes output end marker.
6552         (python-shell-completion-native-get-completions): Trigger with one
6553         tab only.  Call accept-process-output until output end is found or
6554         python-shell-completion-native-output-timeout is exceeded.
6556 2015-04-08  Samer Masterson  <samer@samertm.com>
6558         * lisp/eshell: Make backslash a no-op in front of normal chars
6559         (Bug#8531)
6560         * lisp/eshell/esh-arg.el (eshell-parse-argument-hook): Update comment.
6561         (eshell-parse-backslash): Return escaped character after backslash
6562         if it is special.  Otherwise, if the backslash is not in a quoted
6563         string, ignore the backslash and return the character after; if
6564         the backslash is in a quoted string, return the backslash and the
6565         character after.
6566         * test/automated/eshell.el (eshell-test/escape-nonspecial)
6567         (eshell-test/escape-nonspecial-unicode)
6568         (eshell-test/escape-nonspecial-quoted)
6569         (eshell-test/escape-special-quoted): Add tests for new
6570         `eshell-parse-backslash' behavior.
6572 2015-04-08  Gustav Hållberg  <gustav@gmail.com>  (tiny change)
6574         * lisp/vc/diff-mode.el (diff-hunk-file-names): Don't require a TAB
6575         after the file name.
6576         (Bug#20276)
6578 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
6580         Minor quoting etc. fixes to Emacs manual
6581         * doc/emacs/Makefile.in, doc/emacs/ack.texi, doc/emacs/building.texi:
6582         * doc/emacs/calendar.texi, doc/emacs/cmdargs.texi:
6583         * doc/emacs/custom.texi, doc/emacs/dired.texi, doc/emacs/emacs.texi:
6584         * doc/emacs/files.texi, doc/emacs/glossary.texi, doc/emacs/gnu.texi:
6585         * doc/emacs/indent.texi, doc/emacs/macos.texi:
6586         * doc/emacs/maintaining.texi, doc/emacs/makefile.w32-in:
6587         * doc/emacs/programs.texi, doc/emacs/rmail.texi:
6588         * doc/emacs/search.texi, doc/emacs/trouble.texi:
6589         * doc/emacs/vc1-xtra.texi:
6590         Use American-style double quoting in ordinary text,
6591         and quote 'like this' when single-quoting in ASCII text.
6592         Also, fix some minor spacing issues.
6594         Minor quoting etc. fixes to elisp intro
6595         * doc/lispintro/emacs-lisp-intro.texi: Consistently use
6596         American-style double quoting in ordinary text.  In ASCII text,
6597         consistently quote 'like this' instead of `like this', unless
6598         Emacs requires the latter.
6600 2015-04-08  Dmitry Gutov  <dgutov@yandex.ru>
6602         * CONTRIBUTE: Mention log-edit-insert-changelog.
6604         * CONTRIBUTE: Emphasize creating the top-level ChangeLog file manually.
6606 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
6608         * doc/misc/calc.texi (Summary): Avoid '@:' when usurped.
6610 2015-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>
6612         (eieio-copy-parents-into-subclass): Fix inheritance of initargs
6613         (Bug#20270)
6614         * lisp/emacs-lisp/eieio-core.el (eieio-copy-parents-into-subclass):
6615         Fix inheritance of initargs.
6617 2015-04-08  Artur Malabarba  <bruce.connor.am@gmail.com>
6619         * lisp/emacs-lisp/package.el (package-menu-mode): Mode-line notification
6620         while dowloading information.
6622         * lisp/emacs-lisp/package.el: More conservative `ensure-init-file'
6623         (package--ensure-init-file): Check file contents before visiting.
6624         (package-initialize): Call it.
6625         (package-install-from-buffer, package-install): Don't call it.
6627 2015-04-08  Eli Zaretskii  <eliz@gnu.org>
6629         * src/eval.c (init_eval_once): Bump max_lisp_eval_depth to 800
6630         (Bug#17517)
6632 2015-04-08  Michael Albinus  <michael.albinus@gmx.de>
6634         Fix nasty scoping bug in tramp-cache.el
6635         * lisp/net/tramp-cache.el (tramp-flush-file-property): Fix nasty scoping bug.
6637 2015-04-08  Tassilo Horn  <tsdh@gnu.org>
6639         Add notice to visual commands section
6640         * doc/misc/eshell.texi (Input/Output): Add notice that some tools
6641         such as git call less with its -F option which omits pagination if
6642         the contents is less than one page long.  This interferes with
6643         eshell's visual (sub-)commands.
6645 2015-04-07  Dmitry Gutov  <dgutov@yandex.ru>
6647         ffap: Support environment variable expansion in file names
6648         (Bug#19839)
6649         * lisp/ffap.el (ffap-string-at-point-mode-alist): Support
6650         environment variable expansion in file names.
6652 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
6654         Prefer double-quote to accent-grave in man pages
6656 2015-04-07  Stefan Monnier  <monnier@iro.umontreal.ca>
6658         (Bug#20257)
6659         * lisp/files.el (set-visited-file-name): Clear auto-save if nil.
6661 2015-04-07  Ivan Shmakov  <ivan@siamics.net>
6663         Update etc/PROBLEMS.
6664         * etc/PROBLEMS: Mention visible-cursor; a few more mentions of
6665         ~/.Xresources and xrdb(1); refer to 'GNU Coreutils' and
6666         'X Window System' or 'X' (were: 'GNU Fileutils' and 'X Windows',
6667         respectively); other minor updates and tweaks.  (Bug#20011)
6669 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
6671         Add doc strings for some Isearch state vars
6672         * lisp/misearch.el (multi-isearch-buffer-list)
6673         (multi-isearch-file-list): Add doc strings.
6674         (Bug#20232)
6676 2015-04-07  Alan Mackenzie  <acm@muc.de>
6678         Always mark "<" and ">" in #include directives with text properties.
6679         * lisp/progmodes/c-fonts.el (c-cpp-matchers): Replace a font-lock "anchored
6680         matcher" with an invocation of c-make-font-lock-search-function to allow
6681         fontification when there's no trailing space on an "#include <..>" line.
6683 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
6685         Generate a ChangeLog file from commit logs
6686         * .gitignore: Add 'ChangeLog'.
6687         * build-aux/gitlog-to-changelog: New file, from Gnulib.
6688         * build-aux/gitlog-to-emacslog: New file.
6689         * CONTRIBUTE: Document the revised workflow.
6690         * Makefile.in (clean): Remove *.tmp and etc/*.tmp*
6691         instead of just special cases.
6692         (CHANGELOG_HISTORY_INDEX_MAX, CHANGELOG_N, gen_origin): New vars.
6693         (ChangeLog, unchanged-history-files, change-history)
6694         (change-history-commit): New rules.
6695         * admin/admin.el (make-manuals-dist--1):
6696         Don't worry about doc/ChangeLog.
6697         * admin/authors.el: Add a FIXME.
6698         * admin/make-tarball.txt:
6699         * lisp/calendar/icalendar.el:
6700         * lisp/gnus/deuglify.el:
6701         * lisp/obsolete/gulp.el:
6702         * lwlib/README:
6703         Adjust to renamed ChangeLog history files.
6704         * admin/merge-gnulib (GNULIB_MODULES): Add gitlog-to-changelog.
6705         * admin/notes/repo: Call it 'master' a la Git, not 'trunk' a la Bzr.
6706         Remove obsolete discussion of merging ChangeLog files.
6707         New section "Maintaining ChangeLog history".
6708         * build-aux/git-hooks/pre-commit:
6709         Reject attempts to commit files named 'ChangeLog'.
6710         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
6711         * make-dist: Make and distribute top-level ChangeLog if there's a
6712         .git directory.  Distribute the new ChangeLog history files
6713         instead of scattered ChangeLog files.  Distribute the new files
6714         gitlog-to-changelog and gitlog-to-emacslog.
6715         (Bug#19113)
6717         Rename ChangeLogs for gitlog-to-changelog
6718         This patch was implemented via the following shell commands:
6719         find * -name ChangeLog |
6720         sed 's,.*,git mv & &.1,
6721         s, lisp/ChangeLog\.1$, lisp/ChangeLog.17,
6722         s, lisp/erc/ChangeLog\.1$, lisp/erc/ChangeLog.09,
6723         s, lisp/gnus/ChangeLog\.1$, lisp/gnus/ChangeLog.3,
6724         s, lisp/mh-e/ChangeLog\.1$, lisp/mh-e/ChangeLog.2,
6725         s, src/ChangeLog\.1$, src/ChangeLog.13,' |
6726         sh
6727         git commit -am"[this commit message]"
6729 This file records repository revisions from
6730 commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to
6731 commit 0890cd833fa39d219cb333b08a4204539d1dae3f (inclusive).
6732 See ChangeLog.1 for earlier changes.
6734 ;; Local Variables:
6735 ;; coding: utf-8
6736 ;; End:
6738   Copyright (C) 2015 Free Software Foundation, Inc.
6740   This file is part of GNU Emacs.
6742   GNU Emacs is free software: you can redistribute it and/or modify
6743   it under the terms of the GNU General Public License as published by
6744   the Free Software Foundation, either version 3 of the License, or
6745   (at your option) any later version.
6747   GNU Emacs is distributed in the hope that it will be useful,
6748   but WITHOUT ANY WARRANTY; without even the implied warranty of
6749   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
6750   GNU General Public License for more details.
6752   You should have received a copy of the GNU General Public License
6753   along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.