* lisp/isearch.el (isearch-exit): Don't call isearch-done twice (bug#20925).
[emacs.git] / ChangeLog.2
blob66c6dd083327ee1e07a305e5b11d06ddfa11104d
1 2015-06-28  Artur Malabarba  <bruce.connor.am@gmail.com>
3         * lisp/isearch.el (isearch-mode): Don't char-fold regexps
4         (bug#20913)
6 2015-06-27  Dmitry Gutov  <dgutov@yandex.ru>
8         Bind grep-highlight-matches around the rgrep call
9         * lisp/progmodes/grep.el (zrgrep): Bind grep-highlight-matches
10         around the rgrep call (bug#20728).
12         Put "--color" before the other options in grep-command
13         * lisp/progmodes/grep.el (grep-compute-defaults): Put "--color"
14         before the other options in grep-command (bug#20912).
16         Add --color Grep option to the command dynamically
17         * lisp/progmodes/grep.el (grep-template, grep-find-template):
18         Update the description for <C>.  (Bug#20728)
19         (grep-compute-defaults): Don't add the --color option to
20         grep-options.  Only add it to grep-command.
21         (grep-expand-keywords): Expand the env value opts into <C>.
22         (grep-expand-template): Replace cf in the env with the opts list,
23         that can include -i and --color.
24         * lisp/progmodes/xref.el (xref-collect-matches): Do not remove
25         "--color=always" from the template, because we don't have to.
27 2015-06-27  Paul Eggert  <eggert@cs.ucla.edu>
29         cl-extra fixes for most-negative-fixnum
30         * lisp/emacs-lisp/cl-extra.el (cl-gcd, cl-lcm, cl-random):
31         Don't mishandle an argument equal to most-negative-fixnum,
32         whose absolute value equals itself.
33         (cl-gcd, cl-lcm): Use dolist rather than doing it by hand.
35         Initialize cl--gensym-counter to 0
36         Previously it was initialized to a random value, which made it
37         harder to reproduce earlier Emacs runs.  The need for a random
38         value went away when Emacs introduced and used the #: syntax for
39         uninterned symbols (Bug#20862).
40         * doc/misc/cl.texi (Creating Symbols, Common Lisp Compatibility):
41         Document that cl--gensym-counter now starts with 0.
42         * lisp/emacs-lisp/cl-lib.el (cl--gensym-counter): Remove.
43         (cl--random-time): Move to near only remaining use.
44         * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter): Initialize to 0.
46         Improve docstring for macroexp-let2
47         * lisp/emacs-lisp/macroexp.el (macroexp-let2):
48         Improve as per suggestion by RMS in:
49         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00621.html
50         Also, rename args to match new doc string.
52 2015-06-27  Eli Zaretskii  <eliz@gnu.org>
54         Fix VC test suite on MS-Windows
55         * lisp/vc/vc-svn.el (vc-svn-create-repo): Make sure the file: URL
56         always starts with 3 slashes after the colon.
57         * test/automated/vc-tests.el (vc-test--create-repo-function): Use
58         'w32-application-type' to invoke CVS on MS-Windows with properly
59         formatted CVSROOT directory name.
61         Add a new function w32-application-type
62         * src/w32proc.c (Fw32_application_type): New function.
64         Avoid error in TLS connections due to incorrect format
65         * src/gnutls.c (Fgnutls_boot): Use the %x conversion specifier in
66         the call to 'error', instead of the unsupported %u.  Reported by
67         lo2net <fangtao0901@gmail.com>.  (Bug#20908)
69 2015-06-26  Artur Malabarba  <bruce.connor.am@gmail.com>
71         * lisp/replace.el (replace-search): Fix regexp case (bug#20901)
73 2015-06-26  Leo Liu  <sdl.web@gmail.com>
75         Fix indentation for with-output-to-string
76         * lisp/emacs-lisp/cl-indent.el: Fix indentation for
77           `with-output-to-string' in elisp.
78           Revert "lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string"
79           This reverts commit 659199f2ca5f283fb246faa78a244e5ca25f53dd.
81 2015-06-26  Eli Zaretskii  <eliz@gnu.org>
83         Minor corrections in ELisp manual
84         * doc/lispref/nonascii.texi (Character Properties): Correct
85         inaccuracies in description of values of the Unicode properties.
87         Fix invisible mouse pointers on Windows.
88         * src/w32fns.c: Include windowsx.h.
89         (w32_wnd_proc): If the mouse moved and the mouse pointer is
90         invisible, make it visible again even when the main (Lisp)
91         thread is busy.
92         * src/w32term.c (w32_toggle_invisible_pointer): Rather then
93         garbaging the frame have the input thread call SetCursor.
95 2015-06-26  Martin Rudalics  <rudalics@gmx.at>
97         Provide invisible mouse pointers on Windows.  (Bug#6105) (Bug#12922)
98         * src/w32fns.c (w32_wnd_proc): Handle f->pointer_invisible
99         for WM_SETCURSOR and WM_EMACS_SETCURSOR cases.
100         * src/w32term.c (w32_hide_hourglass): Handle
101         f->pointer_invisible.
102         (w32_toggle_invisible_pointer): New function.
103         (w32_create_terminal): Add w32_toggle_invisible_pointer as
104         toggle_invisible_pointer_hook for this terminal.
106 2015-06-25  Xue Fuqiao  <xfq.free@gmail.com>
108         Doc fix for deletion commands
109         'delete-char' does not respect the value of 'delete-active-region'.
110         * doc/emacs/killing.texi (Deletion):
111         Fix documentation for some single-char deletion commands.
113         * doc/emacs/help.texi (Apropos):
114         Improve documentation of 'apropos-do-all'.
116         * doc/emacs/help.texi (Help Summary):
117         Improve documentation of 'describe-mode'.
119 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
121         Fix submake dependency bug with .h files
122         * src/Makefile.in ($(libsrc)/make-docfile$(EXEEXT)):
123         Depend on $(lib)/libgnu.a, so that we build $(lib)/*/*.h
124         before the submake in $(libsrc) would spin off a subsubmake
125         for $(lib) in parallel with our submake for $(lib) (Bug#20894).
127 2015-06-25  Artur Malabarba  <bruce.connor.am@gmail.com>
129         * lisp/character-fold.el (character-fold-table): Reuse `table'
131 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
133         Translate undisplayable ‘ to `
134         * doc/lispref/help.texi (Keys in Documentation):
135         * lisp/international/mule-cmds.el (set-locale-environment):
136         * lisp/term/w32console.el (terminal-init-w32console):
137         * src/doc.c (Fsubstitute_command_keys, Vhelp_quote_translation):
138         If ‘ is not displayable, transliterate it to `, not to '.  See:
139         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00542.html
141         Fix C99 incompatibilities in Cairo code
142         * src/image.c (xpm_load) [USE_CAIRO]:
143         * src/xterm.c (x_cr_accumulate_data) [USE_CAIRO]:
144         Fix pointer signedness problem.
146 2015-06-25  Oleh Krehel  <ohwoeowho@gmail.com>
148         lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string
149         * lisp/emacs-lisp/cl-indent.el (common-lisp-indent-function):
150           `with-output-to-string' should have the same indent as `progn'.
151           This is in line with the declaration of `with-output-to-string'.
153 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
155         Get ‘./configure; make -C src emacs’ to work
156         Without this fix, lib/fcntl.h isn't built in time (Bug#20894).
157         * lib-src/Makefile.in (../lib/libgnu.a):
158         * src/Makefile.in ($(lib)/libgnu.a): Build all, not libgnu.a.
160 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
162         Fix GC bugs --with-wide-int and Qnil == 0
163         Use the same alignment for the !USE_LSB_TAG case as for the
164         more-typical USE_LSB_TAG case.  The attempt to support arbitrary
165         alignments with !USE_LSB_TAG had subtle bugs in garbage collection
166         once we changed the representation of symbols so that Qnil == 0.
167         Problem reported by Eli Zaretskii (Bug#20862).
168         * src/alloc.c (XMALLOC_HEADER_ALIGNMENT) [XMALLOC_OVERRUN_CHECK]:
169         * src/alloc.c (vector_alignment, union aligned_Lisp_Symbol)
170         (union aligned_Lisp_Misc, maybe_lisp_pointer, pure_alloc):
171         Use same alignment for !USE_LSB_TAG as for USE_LSB_TAG.
172         * src/alloc.c (POINTERS_MIGHT_HIDE_IN_OBJECTS): Remove.
173         This optimization in the !USE_LSB_TAG case is no longer valid when
174         symbols are represented via offsets.  Change the only use to
175         assume that pointers might hide in objects.
176         * src/lisp.h (alignas) [!USE_LSB_TAG]:
177         Require support in this case, too.
178         (TAG_SYMOFFSET, XSYMBOL) [!USE_LSB_TAG]: Do not shift the offset.
179         This is OK, because the !USE_LSB_TAG case now applies only when
180         Lisp_Object is wider than void *, so there's no longer any need
181         to shift the offset.  Not shifting the offset means that
182         symbol representations have the same alignment as pointers,
183         which the GC assumes.
185 2015-06-24  Xue Fuqiao  <xfq.free@gmail.com>
187         * doc/lispintro/emacs-lisp-intro.texi (Data types):
188         Improve documentation of 'substring'.
190 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
192         * lisp/character-fold.el (character-fold-table): Fix table generation
194 2015-06-24  Glenn Morris  <rgm@gnu.org>
196         * nextstep/Makefile.in (all): Make it the first target.
197         (../src/emacs${EXEEXT}): Add rule for making it.
199 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
201         * etc/NEWS: Fix mention to old function name
203         * lisp/character-fold.el: New file (Bug#20887)
204         (character-fold-to-regexp): New function.
205         * lisp/replace.el (replace-search): Check value of
206         `character-fold-search'.
207         * lisp/isearch.el: Move character-folding code to
208         character-fold.el
209         (isearch-toggle-character-fold): New command.
210         (isearch-mode-map): Bind it to "\M-sf".
211         (isearch-mode): Check value of `character-fold-search'.
213 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
215         * lisp/subr.el (remove-from-invisibility-spec): Handle the t case
216         * lisp/subr.el (remove-from-invisibility-spec): Make sure `element'
217         is visible even if it's not yet in buffer-invisibility-spec (bug#20468).
219         * lisp/progmodes/xref.el: Avoid init-args in oref.
220         * lisp/progmodes/xref.el (xref-location-group, xref-location-marker)
221         (xref--insert-xrefs, xref-collect-references): Avoid init-args in oref.
223 2015-06-24  Glenn Morris  <rgm@gnu.org>
225         * Makefile.in (install-arch-dep): Don't set sticky bit on the binary.
227 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
229         * lisp/gnus/nnmaildir.el: Silence lexical warnings
230         * lisp/gnus/nnmaildir.el (nnmaildir--prepare): Use a more
231         functional style.
232         (nnmaildir--update-nov): Remove unused var `numdir'.
233         (nnmaildir-request-type, nnmaildir--scan, nnmaildir-request-newgroups)
234         (nnmaildir-request-group, nnmaildir-request-create-group)
235         (nnmaildir-request-post, nnmaildir-request-move-article)
236         (nnmaildir-request-accept-article, nnmaildir-active-number): Mark unused args.
237         (nnmaildir-get-new-mail, nnmaildir-group-alist)
238         (nnmaildir-active-file): Declare.
239         (nnmaildir-request-scan): Remove unused vars `group' and `grp-dir'.
240         (nnmaildir-request-update-info): Remove unused vars `dotfile', `num',
241         `mark', `end', `new-mark', and `mark-sym'.
242         (nnmaildir-retrieve-headers): Remove unused args `srv-dir', `dir',
243         `nlist2'.
244         (nnmaildir-request-expire-articles):
245         Remove unused vars `article', `stop' and `nlist2'.
246         (nnmaildir-request-set-mark): Remove unused vars `begin', `article' and
247         `end'.  Use nnmaildir--article when dyn-binding is needed.
248         Give the value directly in the `let' for `del-mark', `del-action',
249         `add-action', and `set-action'.  Don't use `add-to-list' on a local var.
250         (nnmaildir-close-server): Declare those local vars that need to be
251         dyn-bound.
253 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
255         * src/keyboard.h (kbd_buffer_store_event_hold): Remove unused local.
257         Port selection info fix to clang
258         * src/keyboard.h (kbd_buffer_store_event_hold):
259         Don't assume C11 semantics for alignof (Bug#20756).
261         Fix bug that munged selection info
262         On some optimizing C compilers, copying a structure did not
263         copy the padding bytes between elements, and the type punning
264         between struct input_data and struct selection_input_data did
265         not work.  Change the C code to use a proper union type instead.
266         Problem reported by YAMAMOTO Mitsuharu (Bug#20756).
267         * src/keyboard.c (kbd_buffer, kbd_fetch_ptr, kbd_store_ptr)
268         (readable_events, discard_mouse_events, kbd_buffer_events_waiting)
269         (kbd_buffer_get_event, process_special_events, stuff_buffered_input)
270         (mark_kboards):
271         Use union buffered_input_event, not struct input_event.
272         (clear_event, deliver_input_available_signal, process_special_events):
273         Remove unnecessary forward decls.
274         (kbd_buffer_store_buffered_event): New function, mostly just the
275         old kbd_buffer_store_event_hold, except its argument is of type
276         union buffered_input_event, not struct input_event.
277         (kbd_buffer_unget_event): Define only if HAVE_X11, since it's
278         not needed otherwise.  Argument is now of type
279         struct selection_input_event *, not struct input_event *.
280         All callers changed.
281         (clear_event): Arg is now of type union buffered_input_event *,
282         not struct input_event *.  All callers changed.
283         * src/keyboard.h [HAVE_X11]: Include "xterm.h".
284         (union buffered_input_event): New type.
285         (kbd_buffer_store_event_hold): Now an inline function,
286         defined here.
287         * src/termhooks.h (EVENT_KIND_WIDTH): New constant.
288         (struct input_event): Use it.
289         * src/xselect.c (struct selection_event_queue):
290         Make elements be of type struct selection_input_event,
291         not struct input_event.
292         (selection_input_event_equal): New static function.
293         (x_queue_event): Use it.
294         (x_queue_event, x_decline_selection_request)
295         (x_selection_current_request, x_reply_selection_request)
296         (x_handle_selection_request, x_handle_selection_clear)
297         (x_handle_selection_event): Use struct selection_input_event,
298         not struct input_event.  All callers changed.
299         (x_convert_selection): Omit unused first arg.  All callers changed.
300         (Fx_disown_selection_internal): Omit unnecessary union.
301         * src/xterm.c (handle_one_xevent): Use new union buffered_input_event
302         rather than rolling our own equivalent.  Prefer sie.kind when
303         setting up that kind of structure.
304         Call kbd_buffer_store_buffered_event, not kbd_buffer_store_event_hold.
305         * src/xterm.h (struct selection_input_event: Use EVENT_KIND_WIDTH.
306         (SELECTION_EVENT_DISPLAY, SELECTION_EVENT_DPYINFO)
307         (SELECTION_EVENT_REQUESTOR, SELECTION_EVENT_SELECTION)
308         (SELECTION_EVENT_TARGET, SELECTION_EVENT_PROPERTY)
309         (SELECTION_EVENT_TIME, x_handle_selection_event):
310         Arg is now of type struct selection_input_event *)
311         not struct input_event *.  All callers changed.
313 2015-06-23  Glenn Morris  <rgm@gnu.org>
315         * Makefile.in (install-arch-dep): Simplify with Make conditionals.
317 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
319         * lisp/isearch.el: Fold many unicode characters to ASCII
320         (isearch-character-fold-search, isearch--character-fold-extras)
321         (isearch--character-fold-table): New variable.
322         (isearch--character-folded-regexp): New function.
323         (isearch-search-fun-default): Use them.
324         * lisp/replace.el (replace-character-fold): New variable.
325         (replace-search): Use it.
326         * etc/NEWS: Document it.
328 2015-06-23  Glenn Morris  <rgm@gnu.org>
330         Check for an input event before showing a dialog box.  (Bug#20813)
331         * lisp/subr.el (y-or-n-p):
332         * src/fns.c (Fyes_or_no_p): Check last-input-event as well
333         as last-nonmenu-event.
335 2015-06-23  Jürgen Hartmann  <juergen_hartman_@hotmail.com>  (tiny change)
337         Respect ‘switch-to-visible-buffer’ more rigidly.  (Bug#20861)
338         * lisp/window.el (switch-to-visible-buffer): Doc adjustment.
339         (switch-to-prev-buffer, switch-to-next-buffer): Respect
340         switch-to-visible-buffer independent of the windows history.
342 2015-06-23  Paul Eggert  <eggert@cs.ucla.edu>
344         * src/keyboard.c (last_timer_event): Remove unused var.
346 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
348         * test/automated/package-test.el (package-test-update-listing):
349         Fix test.
351 2015-06-23  Glenn Morris  <rgm@gnu.org>
353         Revert 2014-06-25 nextstep/Makefile change.
354         * nextstep/Makefile.in (${ns_appbindir}): Remove rule.
355         (${ns_appbindir}/Emacs, links): Create ns_appbindir in the rule,
356         not as an order-only prerequisite.
358         * configure.ac (--with-ns): Enable by default on OS X.
360 2015-06-23  Leo Liu  <sdl.web@gmail.com>
362         Fix shell-for/backward-command to exclude spaces
363         * lisp/shell.el (shell-forward-command, shell-backward-command):
364           Handle the 'move case from re-search-forward/backward.
365           fixes debbugs:20873
367 2015-06-22  Juri Linkov  <juri@linkov.net>
369         * lisp/replace.el (query-replace-read-from): Add separator to
370         the local binding of text-property-default-nonsticky.  (Bug#20690)
372         * lisp/simple.el (shell-command-on-region): Replace 'error' with 'user-error'.
373         (Bug#20785)
375 2015-06-22  Ken Brown  <kbrown@cornell.edu>
377         Enable CPU profiling on Cygwin
378         * src/syssignal.h [CYGWIN] (PROFILER_CPU_SUPPORT): Revert previous
379         change that undefined this.
380         (SIGEV_SIGNAL): Ensure that this is defined as a macro.
381         * src/profiler.c [CYGWIN] (timer_getoverrun): Define as a macro on
382           Cygwin.
384         Improve diagnostics of profiler-cpu-start
385         * src/profiler.c (setup_cpu_timer): Change return type to 'int';
386         return -1 if the sampling interval is invalid.
387         (Fprofiler_cpu_start): Improve error message if 'setup_cpu_timer'
388         fails.  (Bug#20843)
390 2015-06-22  Artur Malabarba  <bruce.connor.am@gmail.com>
392         * lisp/emacs-lisp/package.el: Exclude packages by name
393         (package-hidden-regexps): New variable.
394         (package-menu--refresh): Use it.
395         (package-menu-hide-package): New command.
397         * lisp/emacs-lisp/package.el: Rename hide-obsolete to toggle-hiding
399 2015-06-22  Eli Zaretskii  <eliz@gnu.org>
401         Fix debug-timer-check on systems without HAVE_TIMERFD
402         * src/atimer.c (Fdebug_timer_check) [!HAVE_TIMERFD]: Actively run
403         the expired timers, since wait_reading_process_output doesn't.
404         (debug_timer_callback): Enlarge the tolerance to 20 msec.
406         Fix RCS crashes in vc-test
407         * lisp/vc/vc-rcs.el (vc-rcs-register): Avoid crashes with some old
408         ports of 'ci' on MS-Windows by always passing the -t- switch.
410 2015-06-22  Glenn Morris  <rgm@gnu.org>
412         * doc/emacs/package.texi (Packages):
413         * doc/emacs/trouble.texi (Known Problems): Remove faq cross-references.
415         * doc/misc/efaq-w32.texi (Downloading): Copyedits.  (Bug#20851)
417 2015-06-22  Paul Eggert  <eggert@cs.ucla.edu>
419         Port tests to help-quote-translation
420         * test/automated/ert-x-tests.el (ert-test-describe-test):
421         * test/automated/package-test.el (package-test-describe-package)
422         (package-test-signed): Allow straight quotes, too.
424 2015-06-22  Dmitry Gutov  <dgutov@yandex.ru>
426         Make find-function-on-key use the current window
427         * lisp/emacs-lisp/find-func.el (find-function-on-key-do-it):
428         Extract from `find-function-on-key', add a second argument.
429         (find-function-on-key): Use it (bug#19679).
430         (find-function-on-key-other-window)
431         (find-function-on-key-other-frame): New commands.
433 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
435         Revert "Define `map-elt' as a generalized variable"
436         This reverts commit 8b6d82d3ca86f76ed964063b3941a7c6ab0bf1c6.
438 2015-06-21  Ken Brown  <kbrown@cornell.edu>
440         Drop support for CPU profiling on Cygwin
441         * src/syssignal.h (PROFILER_CPU_SUPPORT): Don't define on Cygwin.
442         (Bug#20843)
444 2015-06-21  Paul Eggert  <eggert@cs.ucla.edu>
446         Fix some “nested” quoting confusion in doc strings
447         * lisp/emacs-lisp/advice.el (ad-map-arglists):
448         * lisp/kermit.el (kermit-clean-on):
449         * lisp/mh-e/mh-comp.el (mh-repl-group-formfile):
450         * src/keyboard.c (Frecursive_edit):
451         Use curved quotes when quoting text containing apostrophe,
452         so that the apostrophe isn't curved in the output.
454 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
456         Define `map-elt' as a generalized variable
457         * lisp/emacs-lisp/map.el (map-elt): Define a gv-expander.
458         * lisp/emacs-lisp/map.el (map--dispatch): Tighten the code.
459         * lisp/emacs-lisp/map.el (map-put): Redefine it as a function using a
460         `setf' with `map-elt'.
461         * test/automated/map-tests.el: Comment out `test-map-put-literal'.
463 2015-06-21  Michael Albinus  <michael.albinus@gmx.de>
465         Improve error handling in tramp-adb.el
466         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy):
467         Improve error handling.
469 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
471         Reuse `alist-get' in map.el
472         * lisp/emacs-lisp/map.el (map-elt): Use `alist-get' to retrieve alist
473         elements.
475 2015-06-21  Eli Zaretskii  <eliz@gnu.org>
477         Fix bytecomp-tests--warnings when $TMPDIR has a long name
478         * test/automated/bytecomp-tests.el (bytecomp-tests--warnings):
479         Allow the warning to begin on the 3rd, not only 2nd line, which
480         happens if temporary-file-directory has a very long name.
482         Expect 2 icalendar tests to fail on MS-Windows
483         * test/automated/icalendar-tests.el (icalendar-import-with-timezone)
484         (icalendar-real-world): Make them expected failures on MS-Windows.
486 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
488         Improve port of settings UI to older displays
489         * lisp/cus-start.el (standard): Don't assume curved quotes are
490         easily distinguishable when users are tinkering with a setting
491         that affects how curved quotes are generated.
493         Fix quoting in electric-quote-mode doc string
494         * lisp/electric.el (electric-quote-mode): Fix quoting.
495         This is a fallout from the recent change introducing
496         ‘help-quote-translation’.
498         Spelling fix
500         * doc/misc/texinfo.tex, lib/set-permissions.c: Merge from gnulib.
502         * src/doc.c (syms_of_doc): Remove unused symbols.
504 2015-06-20  Martin Rudalics  <rudalics@gmx.at>
506         In ‘window-state-put’ undedicate target window.  (Bug#20848)
507         * lisp/window.el (window-state-put): Undedicate target window
508         before putting STATE into it.  (Bug#20848)
510 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
512         Merge from origin/emacs-24
513         a5e6f33 Fixes: debbugs:20832
514         b9f02cf Fixes: debbugs:20832
516 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
518         Fix file-in-directory-p when the directory is UNC
519         * lisp/files.el (file-in-directory-p): Support files and
520         directories that begin with "//".  (Bug#20844)
522 2015-06-19  Stephen Berman  <stephen.berman@gmx.net>
524         (Bug#20832)
525         * lisp/calendar/todo-mode.el (todo-show): Don't visit todo file
526         in the minibuffer.
528 2015-06-19  Nicolas Richard  <youngfrog@members.fsf.org>
530         (Bug#20832)
531         * lisp/calendar/todo-mode.el (todo-show): Signal an error
532         if buffer for adding new todo file is empty but modified.
534 2015-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
536         (filepos-to-bufferpos): Further tweaks to the utf-16 code
537         * lisp/international/mule-util.el (filepos-to-bufferpos):
538         Fix typo.  Move non-exact check to the utf-16 branch (the only one
539         affected).  Don't use byte-to-position for the utf-16 case.
541 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
543         Minor fixes in filepos-to-bufferpos
544         * lisp/international/mule-util.el (filepos-to-bufferpos): Remove
545         test for utf-8-emacs.  Exempt single-byte encodings from the
546         'use-exact' path when QUALITY is 'exact'.  Test UTF-16 encodings
547         for BOM before subtracting 2 bytes.  Use 'identity' when adjusting
548         UTF-16 encoded files for CR-LF EOLs.
550 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
552         Improve the optional translation of quotes
553         Fix several problems with the recently-added custom variable
554         help-quote-translation where the code would quote inconsistently
555         in help buffers.  Add support for quoting 'like this', which
556         is common in other GNU programs in ASCII environments.  Change
557         help-quote-translation to use more mnemonic values: values are now the
558         initial quoting char, e.g., (setq help-quote-translation ?`) gets the
559         traditional Emacs help-buffer quoting style `like this'.  Change the
560         default behavior of substitute-command-keys to match what's done in
561         set-locale-environment, i.e., quote ‘like this’ if displayable,
562         'like this' otherwise.
563         * doc/lispref/help.texi (Keys in Documentation): Document
564         new behavior of substitute-command-keys, and document
565         help-quote-translation.
566         * doc/lispref/tips.texi (Documentation Tips):
567         Mention the effect of help-quote-translation.
568         * etc/NEWS: Mention new behavior of substitute-command-keys,
569         and merge help-quote-translation news into it.
570         When talking about doc strings, mention new ways to type quotes.
571         * lisp/cedet/mode-local.el (overload-docstring-extension):
572         Revert my recent change to this function, which shouldn't be
573         needed as the result is a doc string.
574         * lisp/cedet/mode-local.el (mode-local-print-binding)
575         (mode-local-describe-bindings-2):
576         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
577         * lisp/cus-theme.el (describe-theme-1):
578         * lisp/descr-text.el (describe-text-properties-1, describe-char):
579         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
580         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
581         (eieio-help-constructor):
582         * lisp/emacs-lisp/package.el (describe-package-1):
583         * lisp/faces.el (describe-face):
584         * lisp/help-fns.el (help-fns--key-bindings)
585         (help-fns--compiler-macro, help-fns--parent-mode)
586         (help-fns--obsolete, help-fns--interactive-only)
587         (describe-function-1, describe-variable):
588         * lisp/help.el (describe-mode):
589         Use substitute-command-keys to ensure a more-consistent quoting
590         style in help buffers.
591         * lisp/cus-start.el (standard):
592         Document new help-quote-translation behavior.
593         * lisp/emacs-lisp/lisp-mode.el (lisp-fdefs):
594         * lisp/help-mode.el (help-xref-symbol-regexp, help-xref-info-regexp)
595         (help-xref-url-regexp):
596         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
597         * lisp/wid-edit.el (widget-documentation-link-regexp):
598         Also match 'foo', in case we're in a help buffer generated when
599         help-quote-translation is ?'.
600         * src/doc.c: Include disptab.h, for DISP_CHAR_VECTOR.
601         (LEFT_SINGLE_QUOTATION_MARK, uLSQM0, uLSQM1, uLSQM2, uRSQM0)
602         (uRSQM1, uRSQM2, LSQM, RSQM): New constants.
603         (Fsubstitute_command_keys): Document and implement new behavior.
604         (Vhelp_quote_translation): Document new behavior.
606 2015-06-18  Glenn Morris  <rgm@gnu.org>
608         * lisp/cus-start.el (help-quote-translation): Add :version.
610         * src/doc.c (Fsubstitute_command_keys): Make previous change compile.
612 2015-06-18  Alan Mackenzie  <acm@muc.de>
614         Make translation of quotes to curly in doc strings optional.
615         src/doc.c (traditional, prefer-unicode): new symbols.
616         (help-quote-translation): new variable.
617         (Fsubstitute_command_keys): make translation of quotes dependent on
618         `help-quote-translation'; also translate curly quotes back to ASCII
619         ones.
620         lisp/cus-start.el (top-level): Add a customization entry for
621         `help-quote-translation'.
623 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
625         * lisp/emacs-lisp/package.el: Don't always propagate async errors
626         (package--with-work-buffer-async): Only propagate the error if the
627         callback returns non-nil.
628         (package--download-one-archive): Return nil on the signature
629         checking callback if we accept unsigned.
630         (package--download-and-read-archives): Return non-nil on the
631         archive download callback.
633 2015-06-18  Martin Rudalics  <rudalics@gmx.at>
635         Fix last fix"
637         Set image_cache_refcount before x_default_parameter calls.  (Bug#20802)
638         * src/nsfns.m (Fx_create_frame):
639         * src/xfns.c (Fx_create_frame, x_create_tip_frame): Move setting
640         image_cache_refcount before first x_default_parameter call.
642 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
644         Improve and extend filepos-to-bufferpos
645         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
646         Don't barf if F returns nil for some argument.
647         (filepos-to-bufferpos): Expand to support UTF-16 and not assume
648         that every encoding of type 'charset' is single-byte.
650 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
652         * lisp/emacs-lisp/package.el (package-menu--perform-transaction):
653         Properly delete packages.  (Bug#20836)
655 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
657         Update data files from just-released Unicode 8.0
658         * etc/NEWS: Update wording since Unicode 8.0 is no longer in draft
659         status.
660         * test/BidiCharacterTest.txt: Update from Unicode 8.0.
661         * admin/unidata/BidiMirroring.txt:
662         * admin/unidata/BidiBrackets.txt:
663         * admin/unidata/UnicodeData.txt: Update from Unicode 8.0.
665 2015-06-18  Paul Eggert  <eggert@cs.ucla.edu>
667         Document curved quotes a bit better
668         * doc/emacs/basic.texi (Inserting Text):
669         Mention C-x 8.  Change example to use curved quote rather
670         than infinity, as this lets us give more ways to do it.
671         * doc/emacs/mule.texi (International Chars): Mention C-x 8 shortcuts
672         and quotation marks.
673         * doc/emacs/text.texi (Quotation Marks):
674         * doc/lispref/tips.texi (Documentation Tips):
675         Add "curly quotes" and "curved quotes" to the index.
676         * doc/emacs/text.texi (Quotation Marks):
677         Give the C-x 8 shorthands for curved quotes.
678         Cross-reference to "Quotation Marks".
680 2015-06-17  Daiki Ueno  <ueno@gnu.org>
682         Add pinentry.el for better GnuPG integration
683         * lisp/pinentry.el: New file.
684         * etc/NEWS: Add entry about pinentry.el.
685         * lisp/epg.el (epg--start): Set INSIDE_EMACS envvar.
686         (Bug#20550)
688 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
690         * lisp/emacs-lisp/package.el: Slightly better error reporting.
692 2015-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
694         (define-minor-mode): Use setq-default for :global minor modes
695         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode):
696         Use setq-default for :global minor modes (bug#20712).
698 2015-06-17  Eli Zaretskii  <eliz@gnu.org>
700         Avoid infloop in redisplay with tall images
701         * src/xdisp.c (try_scrolling): Prevent an infloop when scrolling
702         down near ZV.  (Bug#20808)
703         Call bidi_unshelve_cache to avoid memory leaks.  Use IT_CHARPOS
704         instead of CHARPOS.
706 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
708         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
709         Fix error reporting.
711         * lisp/let-alist.el: move to lisp/emacs-lisp/let-alist.el
713         * lisp/emacs-lisp/package.el: Revert buffer after any operation
714         Call `package-menu--post-refresh' after any operation that changes
715         the package database (`package-install' and `package-delete').  To
716         avoid performance issues in large transactions, these functions
717         add `post-refresh' to `post-command-hook' instead of calling it
718         immediately.
719         (package-menu--mark-or-notify-upgrades): New function.
720         (list-packages): Add it to `package--post-download-archives-hook'.
721         (package-menu--post-refresh): Lose the upgrade-checking code, add
722         code to remove itself from `post-command-hook'.
723         (package-install, package-delete): Add it to `post-command-hook'.
724         (package-menu-execute): Don't call `package-menu--post-refresh'.
726 2015-06-17  Stephen Leake  <stephen_leake@stephe-leake.org>
728         Add missing function xref-location-group for elisp-mode.
729         * lisp/progmodes/elisp-mode.el: Add missing function xref-location-group.
731 2015-06-17  Wolfgang Jenkner  <wjenkner@inode.at>
733         * src/editfns.c (Fbyte_to_position): Fix bytepos not at char boundary.
734         The behavior now matches the description in the manual.  (Bug#20783)
736 2015-06-17  Xue Fuqiao  <xfq.free@gmail.com>
738         Update tutorials/TUTORIAL.cn
739         * etc/tutorials/TUTORIAL.cn: Update; synchronize with TUTORIAL.
741 2015-06-17  Glenn Morris  <rgm@gnu.org>
743         Generate char-script-table from Unicode source.  (Bug#20789)
744         * admin/unidata/Makefile.in (AWK): New, set by configure.
745         (all): Add charscript.el.
746         (blocks): New variable.
747         (charscript.el, ${unidir}/charscript.el): New targets.
748         (extraclean): Also remove generated charscript.el.
749         * admin/unidata/blocks.awk: New script.
750         * admin/unidata/Blocks.txt: New data file, from unicode.org.
751         * lisp/international/characters.el: Load charscript.
752         * src/Makefile.in (charscript): New variable.
753         (${charscript}): New target.
754         (${lispintdir}/characters.elc): Depend on charscript.elc.
755         (temacs$(EXEEXT)): Depend on charscript.
757         * lisp/international/characters.el (char-script-table): Tweak
758         some ranges to better match the source.  (Bug#20789#17)
760         Remove "no-byte-compile: t" from a few files.
761         * lisp/obsolete/bruce.el, lisp/obsolete/keyswap.el:
762         * lisp/obsolete/patcomp.el: No reason not to compile these.
764 2015-06-16  Glenn Morris  <rgm@gnu.org>
766         Fix some typos in copied Unicode data.  (Bug#20789)
767         * lisp/international/characters.el (char-script-table):
768         * lisp/international/fontset.el (script-representative-chars)
769         (setup-default-fontset): Fix typos.
771         * lisp/emacs-lisp/check-declare.el (check-declare-warn):
772         Don't print filename twice (it's in the prefix now).
774         * lisp/emacs-lisp/pcase.el (pcase--u1): Revert earlier workaround.
775         No longer needed.
777         Address a compilation warning.
778         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defalias):
779         Replace 't' with '_' in pcase.
781         Address some check-declare warnings.
782         * lisp/simple.el (tabulated-list-print):
783         * lisp/progmodes/elisp-mode.el (xref-collect-matches):
784         * lisp/term/ns-win.el (ns-selection-owner-p, ns-selection-exists-p)
785         (ns-get-selection): Update declarations.
787         Address some compilation warnings.
788         * lisp/elec-pair.el (electric-pair-post-self-insert-function):
789         * lisp/vc/vc-git.el (vc-git-file-type-as-string):
790         Replace 't' with '_' in pcase.
792         Address some compilation warnings.
793         * lisp/face-remap.el (text-scale-adjust):
794         * lisp/menu-bar.el (popup-menu-normalize-position):
795         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand):
796         * lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-warn):
797         * lisp/emacs-lisp/generator.el (cps--transform-1):
798         * lisp/emacs-lisp/macroexp.el (macroexp--expand-all):
799         * lisp/obsolete/vc-arch.el (vc-arch-mode-line-string):
800         * lisp/progmodes/octave.el (octave-goto-function-definition)
801         (octave-find-definition-default-filename):
802         Replace 't' with '_' in pcase.
804         * lisp/emacs-lisp/pcase.el (pcase--u1):
805         Paper-over today's bootstrap failure.
807 2015-06-16  Nicolas Petton  <nicolas@petton.fr>
809         * lisp/emacs-lisp/seq.el: Fix a byte-compiler warnings related to pcase.
811         * lisp/emacs-lisp/map.el (map-into): Fix a byte-compiler warning.
813         Better confirmation message in `find-alternate-file' (Bug#20830)
814         * lisp/files.el (find-alternate-file'): Improve the confirmation
815         message to show the buffer name.
817         Better docstring for null. (Bug#20815)
818         * src/data.c (null): Improves the docstring, saying what null returns
819         when OBJECT is non-nil.
821 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
823         * lisp/net/newst-treeview.el: Use lexical-binding.
825         (filepos-to-bufferpos): Add missing cases.  Make sure it terminates.
826         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
827         New auxiliary function, extracted from filepos-to-bufferpos.
828         Make sure it terminates.
829         (filepos-to-bufferpos): Use it to fix the latin-1-dos case.
830         Add support for the `exact' quality.
832 2015-06-16  Cédric Chépied  <cedric.chepied@gmail.com>
834         Identify feeds in newsticker treeview with :nt-feed property
835         * lisp/net/newst-treeview.el:
836         (newsticker--treeview-nodes-eq): Use property :nt-feed instead of :tag.
838 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
840         * lisp/emacs-lisp/pcase.el: Improve docs and error handling
841         (pcase--self-quoting-p): Floats aren't self-quoting.
842         (pcase): Tweak docstring.
843         (pcase--u1): Deprecate the t pattern.  Improve error detection for
844         the nil pattern.
845         (\`): Tweak docstring.  Signal an error for unrecognized cases.
846         (bug#20784)
848 2015-06-16  Eli Zaretskii  <eliz@gnu.org>
850         Fix infloop in filepos-to-bufferpos
851         * lisp/international/mule-util.el (filepos-to-bufferpos): Fix EOL
852         offset calculation, and make it conditional on the eol-type of the
853         file's encoding.  (Bug#20825)
855 2015-06-16  Martin Rudalics  <rudalics@gmx.at>
857         Fix handling of image cache refcounts.  (Bug#20802)
858         This backports Eli Zaretskii's solution of this problem for W32
859         to X and NS.
860         * src/nsfns.m (image_cache_refcount): Define unconditionally.
861         (unwind_create_frame): If the image cache's reference count
862         hasn't been updated yet, do that now.
863         (Fx_create_frame): Set image_cache_refcount unconditionally.
864         * src/xfns.c (image_cache_refcount): Define unconditionally.
865         (unwind_create_frame): If the image cache's reference count
866         hasn't been updated yet, do that now.
867         (Fx_create_frame, x_create_tip_frame): Set image_cache_refcount
868         unconditionally.
869         * src/w32fns.c (image_cache_refcount): Make it a ptrdiff_t as on
870         X and NS.
872 2015-06-16  Nils Ackermann  <nils@ackermath.info>
874         Improve reftex-label-regexps default value
875         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Make
876         keyvals label regexp more strict to better cope with unbalanced
877         brackets common in math documents.
879 2015-06-16  Glenn Morris  <rgm@gnu.org>
881         * doc/emacs/calendar.texi (Format of Diary File):
882         Move "nonmarking" from here...
883         (Displaying the Diary): ... to here.
885         * doc/emacs/calendar.texi (Format of Diary File, Displaying the Diary):
886         Swap the order of these nodes.
887         * doc/emacs/emacs.texi: Update detailed menu for the above change.
889         * doc/emacs/calendar.texi (Specified Dates, Special Diary Entries):
890         Update date of examples.
891         (Diary, Format of Diary File): Move example from former to latter.
892         Reduce duplication.
894         No need for cp51932.el, eucjp-ms.el to not be compiled any more.
895         * admin/charsets/cp51932.awk, admin/charsets/eucjp-ms.awk:
896         Don't set no-byte-compile in the outputs.
897         * lisp/loadup.el: Don't specify uncompiled cp51932, eucjp-ms.
899 2015-06-15  Glenn Morris  <rgm@gnu.org>
901         * lisp/calendar/calendar.el (diary-file): Use locate-user-emacs-file.
902         * doc/emacs/calendar.texi (Diary, Format of Diary File):
903         Update for above diary-file change.
904         : * etc/NEWS: Mention this.
906         * lisp/macros.el (name-last-kbd-macro, kbd-macro-query)
907         (apply-macro-to-region-lines): Use user-error.
909         * lisp/textmodes/page-ext.el (add-new-page, pages-directory)
910         (pages-directory-for-addresses): Doc fixes.
912 2015-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
914         * lisp/info.el: Cleanup bytepos/charpos issues
915         * lisp/international/mule-util.el: Use lexical-binding.
916         (filepos-to-bufferpos): New function.
917         * lisp/info.el (Info-find-in-tag-table-1): Use 0-based file positions.
918         (Info-find-node-2): Use filepos-to-bufferpos (bug#20704).
919         (Info-read-subfile, Info-search): Use 0-based file positions.
921         * lisp/progmodes/perl-mode.el: Refine handling of /re/ and y/abc/def/
922         (perl--syntax-exp-intro-keywords): New var.
923         (perl--syntax-exp-intro-regexp, perl-syntax-propertize-function): Use it.
924         (bug#20800).
926 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
928         Fix quoting when making derived mode docstring
929         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
930         Nest regexp-quote inside format, not the reverse.
931         Problem reported by Artur Malabarba in:
932         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00206.html
934 2015-06-15  Eli Zaretskii  <eliz@gnu.org>
936         ;* src/fontset.c: Update obsolete commentary.
938         Fix current-iso639-language on MS-Windows
939         * lisp/international/mule-cmds.el (set-locale-environment):
940         Downcase the locale name before interning it.  This is so the
941         'current-iso639-language' on MS-Windows matches the ':lang'
942         property of font-spec objects.
944         Limit Symbola usage some more
945         * lisp/international/fontset.el (setup-default-fontset): Limit
946         Symbol coverage of Currency Symbols to u+20B6..u+20CF.
947         (Bug#20727)
949 2015-06-15  Nicolas Petton  <nicolas@petton.fr>
951         * lisp/emacs-lisp/map.el (map-let): Better docstring.
953 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
955         Spelling fixes
957 2015-06-14  Glenn Morris  <rgm@gnu.org>
959         * lisp/version.el (emacs-repository-version-git): Demote errors.
960         Check result is a hash.
962 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
964         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
965         Catch errors that happen before going async.  (Bug#20809)
967 2015-06-14  Eli Zaretskii  <eliz@gnu.org>
969         Another improvement of documentation of set-fontset-font
970         * doc/lispref/display.texi (Fontsets): Say explicitly that
971         CHARACTER can be a single codepoint.
972         * src/fontset.c (Fset_fontset_font): Doc fix.
974         Another improvement for symbol and punctuation characters
975         * lisp/international/fontset.el (setup-default-fontset): Exclude
976         from Symbola character ranges for symbols and punctuation covered
977         well by popular Unicode fonts.  Prefer fixed-misc Unicode font, if
978         installed and where its coverage of symbols and punctuation is
979         known to be good.  (Bug#20727)
981 2015-06-14  Christoph Wedler  <christoph.wedler@sap.com>
983         Some generic support for multi-mode indentation.
984                 * lisp/progmodes/prog-mode.el (prog-indentation-context): New
985                 variable.
986                 (prog-first-column, prog-widen): New convenience functions.
988 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
990         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
991         Don't assume that `tabulated-list-printer' will leave point at the
992         end of the buffer.  (Bug#20810)
994 2015-06-13  Glenn Morris  <rgm@gnu.org>
996         Tweaks for getting repository version; a bit more like it was for bzr.
997         * lisp/version.el (emacs-repository-version-git)
998         (emacs-repository--version-git-1): New functions,
999         split from emacs-repository-get-version.
1000         (emacs-repository-get-version): Make the second argument meaningful.
1002         * lisp/startup.el (command-line-1): Inform if skipping relative
1003         file names due to deleted PWD.
1005         * src/xsmfns.c (x_session_initialize): Avoid libSM crash
1006         when starup directory is missing.  (Bug#18851)
1007         (errno.h): Include it.
1009 2015-06-13  Paul Eggert  <eggert@cs.ucla.edu>
1011         Better fix for documenting `X as "`X"
1012         Fix suggested by Stefan Monnier.
1013         * lisp/help-fns.el (help-fns--signature):
1014         Insert "`X", not "(\` X)", when documenting `X (Bug#20759).
1015         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
1016         Don't treat `X specially, as help-fns--signature now handles this.
1018 2015-06-13  Eli Zaretskii  <eliz@gnu.org>
1020         Improve the default fontset when Symbola is not installed
1021         * lisp/international/fontset.el (setup-default-fontset): Only
1022         prepend Symbola and FreeMono font specs for symbols and
1023         punctuation; do not replace the default spec for them.  This
1024         should have better results when Symbola/FreeMono are not
1025         installed.  (Bug#20727)
1027         Improve documentation of ':lang' in font specs
1028         * src/font.c (Ffont_spec): Doc fix: elaborate on the values and
1029         use of the ':lang' property of the font spec.
1030         * doc/emacs/frames.texi (Fonts): Document the language names that
1031         can be in the STYLE part of XLFD.
1032         * doc/lispref/display.texi (Low-Level Font): Document the ':lang'
1033         property.
1035         * nt/README: Don't advertise the (obsolescent) w32 FAQ.
1037         * nt/README.W32: Don't advertise the (obsolescent) w32 FAQ.
1039         Revert last change in fontset.el
1040         * lisp/international/fontset.el (setup-default-fontset): Revert
1041         the change "Configure Symbola font only if installed", since font
1042         search is evidently not yet set up when this function is called.
1043         (Bug#20727)
1045 2015-06-12  Glenn Morris  <rgm@gnu.org>
1047         Ensure early startup warnings are visible at the end.  (Bug#20792)
1048         * lisp/emacs-lisp/warnings.el (display-warning):
1049         If startup isn't complete, delay the warning.
1050         * lisp/startup.el (normal-top-level, command-line):
1051         Let display-warning automatically handle the needed delays.
1052         Run delayed-warnings-hook.
1054         * lisp/version.el (emacs-repository-get-version):
1055         Avoid calling external executable if possible.  (Bug#20799)
1057 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
1059         Document `X as "`X", not as "(` X)"
1060         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
1061         Document (backquote FOO) as "`FOO", not as "(` FOO)" (Bug#20759).
1063         * src/print.c (print_object): Minor simplification.
1065 2015-06-12  Glenn Morris  <rgm@gnu.org>
1067         * src/buffer.c (init_buffer): Add final newline to message.
1069 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
1071         Configure Symbola font only if installed
1072         * lisp/international/fontset.el (setup-default-fontset):
1073         Don't specify the Symbola font if it's not installed.
1074         Likewise for FreeMono.  (Bug#20727)
1076 2015-06-12  Eli Zaretskii  <eliz@gnu.org>
1078         Configure Symbola font only for symbols and punctuation
1079         * lisp/international/fontset.el (setup-default-fontset): Leave
1080         only symbols and punctuation in the fontset setup for Symbola
1081         font; remove "Greek and Coptic" and "Cyrillic Supplement".
1082         (Bug#20798)
1084 2015-06-12  Andreas Schwab  <schwab@linux-m68k.org>
1086         Fix crash in fontset-info
1087         * src/fontset.c (Ffontset_info): Check that the RFONT-DEF elt is
1088         non-nil.
1090 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
1092         Port to Solaris 10 sparc + Sun C 5.13
1093         * configure.ac (SETUP_SLAVE_PTY) [sol2* | unixware]:
1094         Adjust to process.c change.
1095         * src/process.c (create_process): Declare volatile variables at
1096         top level of this function, so that they're less likely to be
1097         reused later in the function in the code executed by the vforked
1098         child.  Do not declare locals used only in the vforked child, as
1099         they might share memory with locals still live in the parent.
1100         Instead, use the same variables in the child as in the parent.
1101         This works around a subtle bug that causes a garbage collector
1102         crash when Emacs is built with Sun C 5.13 sparc on Solaris 10.
1104 2015-06-12  Glenn Morris  <rgm@gnu.org>
1106         * lisp/startup.el (normal-top-level): Don't let *Messages* get
1107         a nil default-directory.
1109 2015-06-11  Glenn Morris  <rgm@gnu.org>
1111         * lisp/startup.el (normal-top-level): Use delay-warning.  (Bug#20792)
1113         Some progress towards starting with PWD deleted.  (Bug#18851)
1114         * src/buffer.c (init_buffer): Handle get_current_dir_name failures.
1115         * lisp/startup.el (normal-top-level, command-line-1):
1116         * lisp/minibuffer.el (read-file-name-default):
1117         Handle default-directory being nil.
1119 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
1121         Fix "not a tty" bug on Solaris 10
1122         * configure.ac (PTY_OPEN): Define to plain 'open'
1123         on SVR4-derived hosts, so that the O_CLOEXEC flag isn't set.
1124         * src/process.c (allocate_pty): Set the O_CLOEXEC flag after
1125         calling PTY_TTY_NAME_SPRINTF, for the benefit of SVR4-derived
1126         hosts that call grantpt which does its work via a setuid subcommand
1127         (Bug#19191, Bug#19927, Bug#20555, Bug#20686).
1128         Also, set O_CLOEXEC even if PTY_OPEN is not defined, since it
1129         seems relevant in that case too.
1131 2015-06-11  Juri Linkov  <juri@linkov.net>
1133         * lisp/bindings.el (debug-ignored-errors): Add mark-inactive.
1134         * lisp/simple.el (kill-region): Replace 'error' with 'user-error'.
1135         (Bug#20785)
1137 2015-06-11  Glenn Morris  <rgm@gnu.org>
1139         * lisp/international/characters.el (char-script-table): Fix typo.
1141 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
1143         Fix quoting of help for functions with odd names
1144         While investigating Bug#20759, I discovered other quoting problems:
1145         C-h f mishandled characters like backslash and quote in function names.
1146         This fix changes the behavior so that 'C-h f pcase RET' now
1147         generates "... (\` QPAT) ..." instead of "... (` QPAT) ...",
1148         because '(format "%S" '(` FOO))' returns "(\\` FOO)".  A comment
1149         in src/lread.c's read1 function says that the backslash will be
1150         needed starting in Emacs 25, which implies that 'format' is
1151         correct and the old pcase documention was wrong to omit the backslash.
1152         * lisp/emacs-lisp/nadvice.el (advice--make-docstring):
1153         * lisp/help-fns.el (help-fns--signature):
1154         * lisp/help.el (help-add-fundoc-usage):
1155         * lisp/progmodes/elisp-mode.el (elisp-function-argstring):
1156         Use help--make-usage-docstring rather than formatting
1157         help-make-usage.
1158         * lisp/emacs-lisp/pcase.el (pcase--make-docstring):
1159         Return raw docstring.
1160         * lisp/help-fns.el (help-fns--signature): New arg RAW, to return
1161         raw docstring.  Take more care to distinguish raw from cooked dstrings.
1162         (describe-function-1): Let help-fns--signature substitute
1163         command keys.
1164         * lisp/help.el (help--docstring-quote): New function.
1165         (help-split-fundoc): Use it, to quote funny characters more
1166         systematically.
1167         (help--make-usage): Rename from help-make-usage, since this
1168         should be private.  Leave an obsolete alias for the old name.
1169         (help--make-usage-docstring): New function.
1170         * test/automated/help-fns.el (help-fns-test-funny-names): New test.
1172 2015-06-11  Stefan Monnier  <monnier@iro.umontreal.ca>
1174         * lisp/thingatpt.el (in-string-p): Revert last change,
1175         since in-string-p is not used in thingatpt.el but only from outside.
1176         Also, use lexical binding.
1178 2015-06-11  Artur Malabarba  <bruce.connor.am@gmail.com>
1180         * lisp/let-alist.el (let-alist--deep-dot-search): Fix cons
1181         * test/automated/let-alist.el (let-alist-cons): Test it.
1183 2015-06-11  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
1185         * src/syntax.c (Fbackward_prefix_chars): Reword docstring
1187 2015-06-10  Glenn Morris  <rgm@gnu.org>
1189         * build-aux/gitlog-to-emacslog: Also ignore pointless merge commits.
1191         Improve generated ChangeLog for gitmerge.el commits.  (Bug#20717)
1192         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
1193         * admin/gitmerge.el (gitmerge-commit-message):
1194         Exclude "skipped" messages from ChangeLog once again.
1196         Slight namespace cleanup for thingatpt.el.
1197         * lisp/thingatpt.el (thing-at-point--in-string-p)
1198         (thing-at-point--end-of-sexp, thing-at-point--beginning-of-sexp)
1199         (thing-at-point--read-from-whole-string): Rename from
1200         old versions without "thing-at-point--" prefix.
1201         Keep old versions as obsolete aliases.  Update all uses.
1203         * lisp/emacs-lisp/checkdoc.el (checkdoc-get-keywords):
1204         Move requiring of finder from here...
1205         (checkdoc-package-keywords): ... to here.
1207         Use 'user-error' in a few calendar files.
1208         * lisp/calendar/appt.el (appt-add):
1209         * lisp/calendar/calendar.el (calendar-absolute-from-gregorian)
1210         (calendar-generate):
1211         * lisp/calendar/diary-lib.el (diary-mail-entries, diary-cyclic):
1212         Replace 'error' with 'user-error'.
1214         * lisp/progmodes/f90.el (f90-backslash-not-special): Use user-error.
1216         * lisp/files-x.el (add-file-local-variable):
1217         Special-case 'lexical-binding'.  (Bug#20641)
1219         * lisp/progmodes/executable.el (executable-self-display): Obsolete.
1220         No longer autoload.
1221         * doc/misc/autotype.texi (Executables):
1222         Undocument executable-self-display.
1224         * lisp/progmodes/executable.el (executable-self-display):
1225         Use non-obsolete tail syntax.  (Bug#20779)
1226         (executable-self-display): Doc update.
1228 2015-06-10  Stefan Monnier  <monnier@iro.umontreal.ca>
1230         * lisp/emacs-lisp/checkdoc.el: Use lexical-binding
1231         (finder-known-keywords): Silence byte-compiler.
1233 2015-06-09  Stefan Monnier  <monnier@iro.umontreal.ca>
1235         * lisp/simple.el (eval-expression): Macroexpand before evaluating (bug#20730)
1237         * lisp/progmodes/sh-script.el: Better handle nested quotes
1238         (sh-here-doc-open-re): Don't mis-match the <<< operator (bug#20683).
1239         (sh-font-lock-quoted-subshell): Make sure double quotes within single
1240         quotes don't mistakenly end prematurely the surrounding string.
1242         * lisp/progmodes/elisp-mode.el: Require cl-lib for cl-defstruct.
1244 2015-06-09  Glenn Morris  <rgm@gnu.org>
1246         * test/automated/Makefile.in (ELFILES): Sort.
1248         * Makefile.in (SUBDIR_MAKEFILES):
1249         * lwlib/Makefile.in (WARN_CFLAGS):
1250         Use built-in Make functions rather than echo+sed.
1252 2015-06-09  Eli Zaretskii  <eliz@gnu.org>
1254         Update char-script-table
1255         * lisp/international/characters.el (char-script-table): Update
1256         from Unicode 8.0 Draft.
1258         Improve font selection for punctuation and other symbols
1259         * src/fontset.c (face_for_char): If the character's script is
1260         'symbol', and the font used for ASCII face has a glyph for it, use
1261         the font for the ASCII face instead of searching the fontsets.
1262         This comes instead of NS-specific code that used the current
1263         face's font instead, which is now disabled due to undesirable
1264         consequences.  (Bug#20727)
1266 2015-06-08  Dmitry Gutov  <dgutov@yandex.ru>
1268         Skip past `#' to find BEG
1269         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point): Skip
1270         past `#' to find BEG (bug#20771).
1271         * test/automated/elisp-mode-tests.el
1272         (elisp-completes-functions-after-hash-quote): New test.
1274 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
1276         Fix compilation warning/error in --without-x builds
1277         * src/xdisp.c (append_space_for_newline): Condition GUI-specific
1278         code on HAVE_WINDOW_SYSTEM.
1280         Improve the default fontset wrt symbols
1281         * lisp/international/fontset.el (setup-default-fontset): Better
1282         setup of fontset-default for symbols: use Symbola and FreeMono.
1283         (Bug#20727)
1285 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
1287         Add new command checkdoc-package-keywords
1288         * lisp/emacs-lisp/checkdoc.el (checkdoc-package-keywords-flag): New
1289           defcustom.
1290         (checkdoc-list-of-strings-p): Add doc.
1291         (checkdoc-current-buffer): When `checkdoc-package-keywords-flag' is
1292         non-nil, call `checkdoc-package-keywords'.
1293         (checkdoc-get-keywords): New defun.
1294         (checkdoc-package-keywords): New command. Warns if the current file
1295         has package.el-style keywords that aren't in `finder-known-keywords'.
1296         * etc/NEWS: Add entry.
1298 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
1300         Avoid crashes when key-binding is called from a timer
1301         * src/keymap.c (Fkey_binding): Don't segfault if called with an
1302         empty vector as KEY.  (Bug#20705)
1304         Fix a thinko in arc-mode.el
1305         * lisp/arc-mode.el (archive-zip-summarize): Fix last change in the
1306         non-Zip64 case.  (Bug#20769)
1308 2015-06-08  Artur Malabarba  <bruce.connor.am@gmail.com>
1310         * lisp/emacs-lisp/package.el (package-delete): Make interactive
1312 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
1314         checkdoc.el (checkdoc-file): New function
1315         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When
1316           `checkdoc-diagnostic-buffer' is set to "*warn*", print the warning
1317           to the standard output.
1318         (bug#20754)
1320 2015-06-07  Glenn Morris  <rgm@gnu.org>
1322         * admin/update_autogen (changelog_files): Remove gitlog-to-emacslog.
1324         * src/font.c (syms_of_font) <font-log>: Doc fix.
1326         Remove the obsolete leading "*" from some C doc strings.
1327         * src/coding.c (syms_of_coding):
1328         * src/font.c (syms_of_font): Remove leading "*" from docs.
1329         * lisp/cus-start.el (enable-character-translation): Add it.
1331 2015-06-07  Paul Eggert  <eggert@cs.ucla.edu>
1333         Move gen_origin from program to data
1334         That way, 'make change-history' needs to change only ChangeLog.2,
1335         instead of having to change two files.
1336         * ChangeLog.2: Add commit info for range that this file covers.
1337         * Makefile.in (new_commit_regexp): New macro.
1338         (change-history-nocommit): Simplify, by putting what used to be
1339         the gen_origin value into the data (ChangeLog.2) rather than
1340         into the program (gitlog-to-emacslog).
1341         * build-aux/gitlog-to-emacslog (gen_origin): Calculate from
1342         the input file (e.g., ChangeLog.2) rather than by having a
1343         constant in the program.  Substitute it into the output.
1345 2015-06-07  Dmitry Gutov  <dgutov@yandex.ru>
1347         Escape any quotes in the function name
1348         * lisp/help-fns.el (help-fns--signature): Quote any quotes in the
1349         function name (bug#20759).
1351 2015-06-07  Eli Zaretskii  <eliz@gnu.org>
1353         Adapt 'struct timespec' to next release of MinGW runtime
1354         * nt/inc/ms-w32.h (struct timespec): Don't declare if
1355         __struct_timespec_defined is defined.
1357 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
1359         Merge from gnulib
1360         This incorporates:
1361         2015-06-06 acl-permissions: pacify -Wsuggest-attribute=const
1362         2015-06-05 stdio: Don't redefine gets when using C++
1363         2015-06-05 acl-permissions: port to AIX, C89 HP-UX
1364         2015-06-02 file-has-acl: fix build on Mac OS X 10
1365         2015-06-01 gnulib-tool: concatenate lib_SOURCES to a single line
1366         2015-06-01 pthread_sigmask: discount system version if a simple macro
1367         2015-05-31 readlinkat: avoid OS X 10.10 trailing slash bug
1368         * doc/misc/texinfo.tex, lib/acl-internal.h, lib/get-permissions.c:
1369         * lib/readlinkat.c, lib/set-permissions.c, lib/stdio.in.h:
1370         * m4/acl.m4, m4/pthread_sigmask.m4, m4/readlinkat.m4: Copy from gnulib.
1371         * lib/gnulib.mk: Regenerate.
1373 2015-06-06  Juri Linkov  <juri@linkov.net>
1375         * lisp/progmodes/grep.el (zrgrep): Let-bind grep-highlight-matches
1376         before calling grep-compute-defaults because now it affects the
1377         command lines computed in grep-compute-defaults. (Bug#20728)
1379 2015-06-06  Glenn Morris  <rgm@gnu.org>
1381         Address some compilation warnings.
1382         * lisp/international/mule-cmds.el (w32-get-console-codepage)
1383         (w32-get-console-output-codepage):
1384         * lisp/progmodes/elisp-mode.el (xref-collect-references):
1385         * lisp/version.el (cairo-version-string): Declare.
1386         * lisp/erc/erc.el (erc-nickname-in-use): Fix typo.
1388 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
1390         Fix display when a font claims large values of ascent and descent
1391         This fixes bug#20628.
1392         * src/xdisp.c (get_phys_cursor_geometry): Correct the Y
1393         coordinate of a hollow cursor glyph when the original glyph's
1394         ascent is too small.
1395         (get_font_ascent_descent, normal_char_ascent_descent)
1396         (normal_char_height): New functions.
1397         (handle_single_display_spec, append_space_for_newline)
1398         (calc_pixel_width_or_height, produce_stretch_glyph)
1399         (calc_line_height_property): Use normal_char_ascent_descent and
1400         normal_char_height.
1401         (x_produce_glyphs): When font-global values of ascent and descent
1402         are too large, use per-character glyph metrics instead, if
1403         possible.  But don't allow the glyph row's ascent and descent
1404         values become smaller than the values from the metrics of the
1405         font's "normal" character.
1406         * src/xftfont.c (xftfont_draw):
1407         * src/w32font.c (w32font_draw): Correct the values of ascent and
1408         descent used to draw glyphless characters' hex code in a box.
1409         * src/xterm.c (x_draw_glyph_string_background):
1410         * src/xdisp.c (x_produce_glyphs):
1411         * src/w32term.c (x_draw_glyph_string_background):
1412         * src/nsterm.m (ns_maybe_dumpglyphs_background): Use FONT_TOO_HIGH
1413         to detect fonts whose global ascent and descent values are too
1414         large to be used in layout decision, and redraw the background
1415         when that happens.
1416         * src/dispextern.h (FONT_TOO_HIGH): New macro.
1417         (get_font_ascent_descent): Add prototype.
1418         * src/xterm.c (x_new_font):
1419         * src/w32term.c (x_new_font):
1420         * src/nsterm.m (x_new_font):
1421         * src/font.c (font_open_entity):
1422         * src/composite.c (composition_gstring_width): Use
1423         get_font_ascent_descent to obtain reasonable values for ascent and
1424         descent of a font.
1426 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
1428         Add assertion in adjust_point_for_property
1429         * src/keyboard.c (adjust_point_for_property): Add eassert for
1430         current buffer being shown in selected window.
1432 2015-06-06  Dmitry Gutov  <dgutov@yandex.ru>
1434         Replace uses of in-string-p; make it obsolete
1435         * lisp/thingatpt.el (in-string-p): Declare obsolete (bug#20732).
1436         (end-of-sexp, beginning-of-sexp): Use syntax-ppss instead.
1438 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
1440         Fix Dired display of an explicit list of files by ls-lisp.el
1441         * lisp/ls-lisp.el (ls-lisp-uid-d-fmt, ls-lisp-uid-s-fmt)
1442         (ls-lisp-gid-d-fmt, ls-lisp-gid-s-fmt): Make the initial values be
1443         correct for when displaying individual files separately, not as
1444         part of listing a directory, in which case these values are not
1445         recomputed by 'ls-lisp-insert-directory', but used verbatim.
1447         * lisp/dired.el (dired): Doc fix.  (Bug#20739)
1449 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
1451         Do not adjust point in a non-selected window
1452         * src/keyboard.c (command_loop_1): Do not adjust point when
1453         current buffer is not shown in selected window (Bug#20590).
1455         * etc/DEBUG: Mention 'maybe_call_debugger'
1457 2015-06-05  Nicolas Petton  <nicolas@petton.fr>
1459         Fix a unit test for map.el
1460         * test/automated/map-tests.el (test-map-let): Fix the test to work
1461         with the new syntax of `map-let'.
1463         * lisp/emacs-lisp/map.el (map-let): Better docstring.
1465         Better syntax for the map pcase pattern
1466         * lisp/emacs-lisp/map.el: Improves the map pcase pattern to take
1467         bindings of the form (KEY PAT) or SYMBOL. KEY is not quoted.
1469         * lisp/emacs-lisp/map.el (map--dispatch): Better docstring.
1471         Fix a byte-compiler error in map-put and map-delete
1472         * lisp/emacs-lisp/map.el (map-put, map-delete): Ensure that `setq' is
1473         called with a symbol.
1475 2015-06-05  Glenn Morris  <rgm@gnu.org>
1477         * admin/gitmerge.el (gitmerge-commit-message):
1478         Revert to including "skipped" messages in ChangeLog once again.
1480 2015-06-05  Tassilo Horn  <tsdh@gnu.org>
1482         Use string> instead of equiv lambda with string<
1483         * lisp/help.el (view-emacs-news): Use string> instead of equivalent
1484         lambda with string<.
1486 2015-06-05  Glenn Morris  <rgm@gnu.org>
1488         * lisp/emacs-lisp/map.el (map--dispatch): Move before use.
1489         (map--delete-array): Fix typo.
1491         * test/automated/map-tests.el: Replace "assert" with "should".
1493         * lisp/Makefile.in (SUBDIRS): Rename from SUBDIRS_ABS.
1494         (SUBDIRS_REL): Derive from SUBDIRS.
1496         Tweak some build messages.
1497         * lisp/Makefile.in ($(lisp)/loaddefs.el):
1498         * lisp/cus-dep.el (custom-make-dependencies):
1499         * lisp/finder.el (finder-compile-keywords): Say what we are doing.
1500         * lisp/international/titdic-cnv.el (batch-titdic-convert):
1501         Don't say how to compile.
1503 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
1505         Omit U+0332 COMBINING LOW LINE in previous change
1506         It turns out that it does not work on Ubuntu 15.04.
1508         Fix transliteration of Bahá'í months
1509         * lisp/calendar/cal-bahai.el (calendar-bahai-month-name-array):
1510         Improve quality of Latin transliteration of Bahá'í month names.
1512         Fix curved quotes in a few places
1513         * lisp/calc/calc-misc.el (calc-help): Fix quoting.
1514         The strings in question are not doc strings, so this partially
1515         undoes the recent change that assumed they were doc strings.
1516         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
1517         * lisp/info.el (Info-finder-find-node):
1518         Use curved quotes.
1519         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
1520         Also allow curved quotes in doc strings.
1522 2015-06-04  Glenn Morris  <rgm@gnu.org>
1524         * lisp/Makefile.in (AM_V_at): Add missing definition.
1526         * lisp/Makefile.in: Quieten output a bit.
1527         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el):
1528         Don't echo directories, since the commands we invoke print them.
1530         * lisp/Makefile.in: Replace shell fragments in variables with $(shell).
1531         (SUBDIRS_REL, SUBDIRS_ABS, SUBDIRS_ALMOST, SUBDIRS_FINDER)
1532         (SUBDIRS_SUBDIRS): New variables.
1533         (setwins, setwins_almost, setwins_finder, setwins_for_subdirs):
1534         Remove.
1535         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el, $(lisp)/loaddefs.el)
1536         (update-subdirs, compile-main, compile-clean):
1537         Replace "setwins" usage with new "SUBDIRS" variables.
1539         * lisp/vc/compare-w.el (compare-windows-get-window-function):
1540         Fix :version tag.
1542 2015-06-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1544         * src/ftfont.c (ftfont_open2): Round divisions by upEM.
1546         Undo removal of x_clear_area call on expose for GTK3 or cairo.
1547         * src/xterm.c (handle_one_xevent) [HAVE_GTK3 || USE_CAIRO]: Clear
1548         exposed area.  (Bug#20677)
1550 2015-06-04  Glenn Morris  <rgm@gnu.org>
1552         * doc/lispref/hash.texi (Creating Hash): Remove obsolete makehash.
1554         * lisp/Makefile.in (check-defun-dups): Also skip ldefs-boot.
1556         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
1557         Rename from quail-lao-update-translation, since lao.el defines that.
1559 2015-06-04  Dmitry Gutov  <dgutov@yandex.ru>
1561         Handle new-style advice in find-funct
1562         * lisp/emacs-lisp/find-func.el (find-function-advised-original):
1563         Handle new-style advice.  Return the symbol's function definition.
1564         (Bug#20718)
1565         (find-function-library): Update accordingly.
1567 2015-06-04  Nicolas Petton  <nicolas@petton.fr>
1569         Merge branch 'map'
1571         * lisp/emacs-lisp/map.el: Better docstring for the map pcase macro.
1573         Add new function string-greaterp
1574         * lisp/subr.el (string-greaterp): New function.  Also aliased to
1575         `string>'.
1576         * test/automated/subr-tests.el (string-comparison-test): Add unit
1577         tests for `string>'and `string<'.
1578         * src/fns.c (string-lessp): Better docstring.
1580 2015-06-04  Eli Zaretskii  <eliz@gnu.org>
1582         Fix timezone-related functions on MS-Windows
1583         * src/editfns.c (set_time_zone_rule) [WINDOWSNT]: Always call
1584         'xputenv', even if no reallocation of tzvalbuf was necessary.
1585         This fixes a bug in timezone-related functions on MS-Windows.
1586         Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.
1588 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
1590         Don't pass raw directory name to 'error'
1591         * lisp/files.el (basic-save-buffer-2): Avoid format error if
1592         a directory name contains a string like "%s".
1594 2015-06-03  Dmitry Gutov  <dgutov@yandex.ru>
1596         Override 'grep --color=always'
1597         * lisp/progmodes/xref.el (xref-collect-matches):
1598         Override --color=always in grep-find-template.
1600 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
1602         Fix error introduced recently in file-notify-tests.el
1603         * test/automated/file-notify-tests.el
1604         (file-notify--test-remote-enabled): Do not use `file-notify--test-desc'.
1605         (file-notify--deftest-remote): Revert previous patch, not
1606         necessary anymore.
1608 2015-06-03  Wolfgang Jenkner  <wjenkner@inode.at>
1610         * src/indent.c (Fvertical_motion): Amend motion by 0 lines.
1611         Starting from a display string after a newline, point went to the
1612         previous line.  Also, fix an inadvertent use of a buffer position
1613         with FETCH_BYTE.  (Bug#20701)
1615 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
1617         Instrument file-notify-test.el in order to catch hydra error.
1618         * test/automated/file-notify-tests.el (file-notify--deftest-remote):
1619         Wrap body by `ignore-case', in order to trap non-local errors.
1621 2015-06-03  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1623         Undo previous changes in non-toolkit scroll bar drawing.
1624         * src/xterm.c (x_scroll_bar_set_handle, x_scroll_bar_expose)
1625         [!USE_TOOLKIT_SCROLL_BARS]: Draw into scroll bar window.  (Bug#20668)
1627 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
1629         * .gitignore: Also ignore doc/*/*/*.html and .ps.
1631         Support quotes 'like this' in info files
1632         This is possible when 'makeinfo --disable-encoding' is used
1633         in Texinfo 5.
1634         * lisp/calc/calc-help.el (calc-describe-thing):
1635         * lisp/gnus/gnus-art.el (gnus-button-alist):
1636         * lisp/info.el (Info-find-index-name):
1637         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
1638         Also support quotes 'like this'.
1639         * lisp/calc/calc-help.el (calc-describe-thing): Simplify.
1640         * lisp/finder.el (finder-font-lock-keywords): Remove var that
1641         hasn't been used in years, instead of bothering to fix its quoting.
1643 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
1645         * .gitignore: Remove !test/etags/html-src/*.html.
1646         It's no longer needed, since *.html was removed.  Sort.
1648 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
1650         Restore <D> instead of '.' in grep-find-template
1651         * lisp/cedet/semantic/symref/grep.el
1652         (semantic-symref-grep-use-template): Update a comment.
1653         * lisp/progmodes/grep.el (grep-compute-defaults): Restore <D>
1654         instead of '.' in grep-find-template (bug#20719).
1655         (rgrep): Pass nil as the directory to rgrep-default-command.
1656         * lisp/progmodes/grep.el (grep-expand-keywords): Use '.' as the
1657         default value for DIR.
1658         * lisp/progmodes/xref.el (xref-collect-matches): Drop the
1659         workaround.
1661 2015-06-02  Glenn Morris  <rgm@gnu.org>
1663         * configure.ac (emacs_config_features): Add X toolkit and scroll-bars.
1665         * configure.ac (emacs_config_features): Add Cairo.
1667         * configure.ac [HAVE_GTK3]: Remove USE_CAIRO that gets reset later.
1669 2015-06-02  Michael Albinus  <michael.albinus@gmx.de>
1671         Ensure, that autorevert works for remote files in file-notify-tests.el
1672         * test/automated/file-notify-tests.el (file-notify--test-desc):
1673         New defvar.
1674         (file-notify--test-remote-enabled)
1675         (file-notify-test00-availability, file-notify-test01-add-watch)
1676         (file-notify-test02-events): Use it.
1677         (file-notify--test-event-test): Check proper descriptor.
1678         (file-notify-test03-autorevert): Ensure, that
1679         `visited-file-modtime' has changed.
1680         (Bug#20392)
1682 2015-06-02  Nicolas Petton  <nicolas@petton.fr>
1684         Add a pcase pattern for maps and `map-let' based on it
1685         * lisp/emacs-lisp/map.el (map-let): New macro.
1686         (map--make-pcase-bindings, map--make-pcase-patterns): New functions.
1687         * test/automated/map-tests.el: New test for `map-let'.
1689 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
1691         Reuse rgrep mechanics in xref-find-regexp
1692         * lisp/progmodes/grep.el (rgrep-default-command):
1693         Extract from `rgrep'.
1694         * lisp/progmodes/xref.el (xref-collect-references): Split from
1695         `xref-collect-matches'.  Only handle the case of symbol search.
1696         (xref-collect-matches): Instead of Semantic Symref, use
1697         `rgrep-default-command', to take advantage of its directory and
1698         file ignore settings.
1699         (xref--collect-match): Remove the last argument, leaving the
1700         regexp construction up to the caller.
1701         * lisp/progmodes/elisp-mode.el (elisp--xref-find-matches):
1702         Change to take the xref-collect- function to use as an argument.
1703         (elisp-xref-find): Update accordingly.
1704         * lisp/progmodes/etags.el (etags--xref-find-matches)
1705         (etags-xref-find): Same.
1707         Move xref-elisp-location to elisp-mode.el
1708         * lisp/progmodes/xref.el (xref-elisp-location)
1709         (xref-make-elisp-location, xref-location-marker): Remove here.
1710         (xref--xref): Don't limit the type of the location slot.
1711         * lisp/progmodes/elisp-mode.el (xref-elisp-location):
1712         Define as a cl-struct here.
1713         (xref-location-marker): Move here.
1715 2015-06-02  Eli Zaretskii  <eliz@gnu.org>
1717         Minor tweaks for .gitignore
1718         * .gitignore: Don't ignore versioned *.html and *.ps files.  Don't
1719         ignore admin/notes/tags that might be ignored as TAGS on
1720         case-insensitive filesystems.  (Bug#20710)
1722 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
1724         Generate curved quotes in ert doc
1725         * lisp/emacs-lisp/ert.el (ert--print-test-for-ewoc)
1726         (ert-results-mode-menu)
1727         (ert-results-pop-to-backtrace-for-test-at-point)
1728         (ert-results-pop-to-messages-for-test-at-point)
1729         (ert-results-pop-to-should-forms-for-test-at-point)
1730         (ert-describe-test):
1731         Quote ‘like this’, not `like this', when generating doc strings
1732         and the like.
1733         * test/automated/ert-x-tests.el (ert-test-describe-test):
1734         Allow quoting ‘like this’.
1736 2015-06-02  Nicolas Richard  <youngfrog@members.fsf.org>
1738         Add test for previous commit
1739         * test/automated/replace-tests.el: New file.
1740         (query-replace--split-string-tests): Add test for previous commit.
1742         Avoid confusion in query-replace history when replacing NUL chars
1743         * lisp/replace.el (query-replace--split-string): New function.
1744         (query-replace-read-from): Rely on the 'separator' property
1745         instead of searching for the NUL character (Bug#20690).
1747 2015-06-02  Glenn Morris  <rgm@gnu.org>
1749         Merge from origin/emacs-24
1750         8b5f2f4 * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
1752         * admin/gitmerge.el (gitmerge-commit-message):
1753         Exclude "skipped" messages from ChangeLog.
1755 2015-06-01  Michael Albinus  <michael.albinus@gmx.de>
1757         Sync with Tramp repository
1758         * lisp/net/tramp.el (tramp-message): Dump connection buffer error
1759         messages.
1760         (tramp-handle-make-auto-save-file-name): When calling
1761         `make-auto-save-file-name' internally, make sure it uses Unix-like
1762         behavior, not Windows-like behavior.
1763         * lisp/net/tramp-sh.el (tramp-set-file-uid-gid): Add a timeout for
1764         the local case, because "chown" might fail on w32.
1765         * lisp/net/trampver.el (tramp-repository-get-version): Don't run
1766         for XEmacs.
1768 2015-06-01  Eli Zaretskii  <eliz@gnu.org>
1770         MS-Windows followup for batch stdout/stderr output changes
1771         * lisp/international/mule-cmds.el (set-locale-environment): In
1772         batch mode, use console codepages for keyboard and terminal
1773         encoding.  (Bug#20545)
1775         Update .gitattributes for DOS EOL files
1776         * .gitattributes: Use "whitespace=cr-at-eol" for files with DOS
1777         CRLF end-of-line format.
1779         NS equivalents of xterm.c and w32term.c changes
1780         * src/nsterm.m (ns_maybe_dumpglyphs_background): Force redraw of
1781         glyph string background also when the font in use claims
1782         preposterously large global height value.  Helps to remove
1783         artifacts left from previous displays when glyphless characters
1784         are displayed as hex code in a box.
1785         (x_new_font): Call get_font_ascent_descent to obtain a reasonable
1786         value for FRAME_LINE_HEIGHT, even when a font claims very large
1787         value for its height.
1789 2015-06-01  Paul Eggert  <eggert@cs.ucla.edu>
1791         Avoid grave accent quoting in stderr diagnostics
1792         A few Emacs diagnostics go directly to stderr, and so can't easily
1793         contain curved quotes (as non-UTF-8 locales might mishandle them).
1794         Instead of bothering to add support for this rarity, reword the
1795         diagnostics so that they don't use grave accent to quote.
1796         * src/alloc.c (mark_memory): Fix comment.
1797         * src/buffer.c (init_buffer):
1798         * src/dispnew.c (init_display):
1799         * src/emacs.c (main, sort_args):
1800         * src/lread.c (dir_warning):
1801         * src/term.c (init_tty):
1802         * src/unexmacosx.c (unexec):
1803         * src/xfns.c (select_visual):
1804         * src/xterm.c (cvt_string_to_pixel, x_io_error_quitter):
1805         Reword stderr diagnostics to avoid quoting `like this'.
1806         * src/unexmacosx.c: Include errno.h.
1807         * src/xfns.c (select_visual): Encode value for locale.
1809 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
1811         Treat batch stdout/stderr like standard display
1812         Calls like (print FOO) could generate improperly encoded or
1813         hard-to-read output if FOO contains characters outside the system
1814         locale.  Fix this by treating batch stdout and stderr like
1815         interactive standard display, when it comes to transliterating and
1816         encoding characters (Bug#20545).
1817         * doc/emacs/mule.texi (Communication Coding):
1818         * doc/lispref/display.texi (Active Display Table):
1819         * doc/lispref/nonascii.texi (Locales):
1820         * etc/NEWS:
1821         * src/coding.c (syms_of_coding):
1822         * src/dispnew.c (syms_of_display):
1823         Document this.
1824         * src/print.c: Include disptab.h.
1825         (printchar_to_stream): New function, with much of the guts of the
1826         old Fexternal_debugging_output, except this one also uses the
1827         standard display table.
1828         (printchar, strout, Fexternal_debugging_output): Use it.
1830 2015-05-31  Glenn Morris  <rgm@gnu.org>
1832         * src/emacs.c (syms_of_emacs) <system-configuration-features>: Doc fix.
1834 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
1836         Remove unused DEFSYMs
1837         Remove DEFSYMs that aren't used at the C level.  Also:
1838         * src/decompress.c (Qzlib_dll):
1839         * src/font.c (Qunicode_sip):
1840         * src/frame.c (Qtip_frame):
1841         * src/ftfont.c (Qserif):
1842         * src/gnutls.c (Qgnutls_dll):
1843         * src/xml.c (Qlibxml2_dll):
1844         Move from here ...
1845         * src/w32fns.c (syms_of_w32fns): ... to here,
1846         as these are used only on MS-Windows.
1848 2015-05-31  Michael Albinus  <michael.albinus@gmx.de>
1850         Use another default value for tramp-histfile-override
1851         * lisp/net/tramp-sh.el (tramp-histfile-override):
1852         Use ".tramp_history" as default.
1853         Fixes: debbugs:#20446
1855 2015-05-29  Nicolas Petton  <nicolas@petton.fr>
1857         * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
1859 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
1861         * etc/NEWS: Add an entry about map.el
1863         Improve the docstring of functions in map.el
1864         Since a map is not a data structure but a concept, adding information
1865         about the possible types of maps can be useful information.
1866         * lisp/emacs-lisp/map.el: Add documentation about the type of MAP to
1867         each public function.
1869 2015-04-29  Nicolas Petton  <nicolas@petton.fr>
1871         Faster implementation of map-empty-p
1872         * lisp/emacs-lisp/map.el (map-empty-p): Faster implementation using
1873         specific tests depending on the type of the map.
1875         * lisp/emacs-lisp/map.el: Better docstrings.
1877 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
1879         * lisp/emacs-lisp/map.el (map-pairs): Dump redundant lambda
1881 2015-04-25  Nicolas Petton  <nicolas@petton.fr>
1883         * lisp/emacs-lisp/map.el (map--elt-list): Better docstring.
1885         * lisp/emacs-lisp/map.el (map--elt-list): Minor refactoring.
1887         Fix a false negative in `map-elt' with alists and values being nil
1888         * lisp/emacs-lisp/map.el (map-elt): If map is an alist and key is
1889         found but its associated value is nil, do not return the default
1890         value.
1891         * test/automated/map-tests.el: Add a regression test.
1893 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
1895         * lisp/emacs-lisp/map.el (map--dispatch): Improve the docstring.
1897         Do not signal an error when trying to delete a key from an array
1898         * lisp/emacs-lisp/map.el (map-delete): When map is an array, check if
1899         the key is present to avoid signaling an error.
1900         * test/automated/map-tests.el: Add a test for deleting non-existing
1901         keys from maps.
1903         * lisp/emacs-lisp/map.el: Better docstring.
1905         Minor improvement in map-elt.
1906         * lisp/emacs-lisp/map.el (map-elt): Do not use `ignore-errors' when
1907         doing a lookup in arrays, but check the boundaries of the array
1908         instead.
1909         * test/automated/map-tests.el: Adds a test for `map-elt' with arrays
1910         and a negative integer as key.
1912 2015-04-21  Nicolas Petton  <nicolas@petton.fr>
1914         * test/automated/map-tests.el: Refactoring of test methods.
1916         * test/automated/map-tests.el: Renamed from map-test.el.
1918 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
1920         * lisp/emacs-lisp/map.el (map-into): Better error message.
1922         * lisp/emacs-lisp/map.el: Removes byte-compilation warnings.
1924         Throw an error when converting a map into an unknown map type
1925         * lisp/emacs-lisp/map.el (map-into): Throw an error if type is not valid.
1926         * test/automated/map-test.el: Add a regression test.
1928         New library map.el similar to seq.el but for mapping data structures.
1929         * test/automated/map-test.el: New file.
1930         * lisp/emacs-lisp/map.el: New file.
1932 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
1934         Make sure there's no explicit tag name
1935         * lisp/progmodes/etags.el (tag-implicit-name-match-p): Make sure
1936         there's no explicit tag name (bug#20629).
1938 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
1940         Remove format2
1941         * src/editfns.c, src/lisp.h (format2): Remove.
1942         It is more trouble than it's worth, now that we have CALLN.
1943         This is just a minor refactoring.
1944         * src/buffer.c (Fkill_buffer):
1945         * src/dbusbind.c (XD_OBJECT_TO_STRING):
1946         * src/fileio.c (barf_or_query_if_file_exists):
1947         Adjust to format2 going away.
1949         Don't misencode C-generated messages
1950         Also, be more consistent about calls to 'Fmessage' vs 'message'.
1951         * src/alloc.c (Fgc_status):
1952         Prefer AUTO_STRING to build_string for Fmessage call.
1953         * src/data.c (Fmake_variable_buffer_local)
1954         (Fmake_local_variable, Fmake_variable_frame_local):
1955         * src/doc.c (store_function_docstring):
1956         Use Fmessage, not message, since the argument can contain
1957         non-ASCII characters, and this can cause the resulting message
1958         to be incorrectly encoded for the current environment.
1959         * src/fns.c (maybe_resize_hash_table):
1960         * src/xselect.c (x_clipboard_manager_save_all):
1961         Use message, not Fmessage, since Fmessage's power isn't needed here.
1962         * src/process.c (Fmake_network_process): Reword message to avoid %s.
1963         * src/xdisp.c (vmessage): Document restrictions on message contents.
1964         (message_nolog) [false]: Remove unused code.
1966         Use \r rather than ^M in string literals
1967         This is less likely to cause problems on platforms that
1968         use CRLF (or CR!) termination for lines.
1970         Update .gitattributes to match current sources
1971         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00879.html
1972         * .gitattributes: Accommodate tests that insist on DOS format.
1973         Remove test/automated/data/decompress/foo-gzipped.
1974         Add etc/e/eterm-color.
1976 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
1978         Document 'face-ignored-fonts'
1979         * doc/emacs/mule.texi (Modifying Fontsets): Document
1980         face-ignored-fonts.  (Bug#20628)
1982         Add etags test for the new -Q option
1983         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
1984         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
1985         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
1986         test-case changes below.
1987         * test/etags/ETAGS.good_6: New file.
1988         * test/etags/cp-src/x.cc: New file.
1989         * test/etags/Makefile (CPSRC): Add x.cc.
1990         (check): Add one more test, for -Q.
1992 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
1994         Use list for the tags completion table, not obarray
1995         * lisp/progmodes/etags.el (etags-tags-completion-table): Return a
1996         list instead of an obarray
1997         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00876.html).
1998         (tags-completion-table): Combine those lists.
1999         (tags-completion-table): Update the docstring.
2001 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
2003         Restore EOL format testing in etags
2004         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
2005         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
2006         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
2007         test-case changes below.
2008         * test/etags/html-src/algrthms.html: Convert back to DOS EOL format.
2009         * test/etags/cp-src/c.C (B): Add back stray CR character.
2010         * test/etags/c-src/dostorture.c: Add back.
2011         * test/etags/Makefile (CSRC): Add back c-src/dostorture.c.
2013 2015-05-30  Vitaly Takmazov  <vitalyster@gmail.com>  (tiny change)
2015         Declare Emacs on MS-Windows to be DPI-aware
2016         * nt/emacs-x86.manifest (asmv3:windowsSettings): Add dpiAware.
2017         * nt/emacs-x64.manifest (asmv3:windowsSettings): Add dpiAware.
2018         This avoids Windows entering compatibility mode for Emacs,
2019         which causes fonts to look less nice.
2021 2015-05-30  Michael Albinus  <michael.albinus@gmx.de>
2023         Improve Tramp traces.
2024         * lisp/net/trampver.el (tramp-repository-get-version): New defun.
2025         * lisp/net/tramp.el (tramp-debug-message): Use it.
2027 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
2029         backup-buffer minor reworking of internals
2030         * lisp/files.el (backup-buffer): Rework to avoid a couple of
2031         unused locals inadvertently introduced in the previous change.
2033         backup-buffer now reports .emacs.d/%backup% ills
2034         * lisp/files.el (backup-buffer): If the write to .emacs.d/%backup%
2035         fails due to disk space exhaustion or whatever, do not pretend
2036         that it succeeded.  More generally, do a better job of checking
2037         for I/O failures, and limit the scope of the condition-case to
2038         just the operations where file errors should be caught and ignored
2039         (Bug#20595).  Also, don't bother trying to delete later backups if
2040         an earlier deletion fails, as this is a sign of trouble and it's
2041         better to stop when there's trouble.
2043         copy-file now truncates output after writing
2044         * src/fileio.c (Fcopy_file): Truncate output after writing rather
2045         than before.  This is more likely to work than truncation before
2046         writing, if the file system is out of space or the user is over
2047         disk quota (Bug#20595).  Also, check for read errors.
2049 2015-05-29  Artur Malabarba  <bruce.connor.am@gmail.com>
2051         * lisp/emacs-lisp/package.el: Don't load from parent dir
2052         (package-load-all-descriptors): Don't load descriptors from
2053         directories above the package directories.
2055 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
2057         Merge from gnulib
2058         This incorporates the following (Bug#20681):
2059         2015-05-29 acl-permissions: Fix build on Mac OS X and older AIX
2060         2015-05-29 acl-permissions: Fix build on Solaris and Cygwin
2061         * lib/set-permissions.c: Copy from gnulib.
2063 2015-05-29  Michael Albinus  <michael.albinus@gmx.de>
2065         Improve Tramp traces.
2066         * lisp/net/tramp.el (tramp-call-process-region): New defun.
2067         * lisp/net/tramp-sh.el (tramp-get-inline-coding): Use it.
2069 2015-05-29  Glenn Morris  <rgm@gnu.org>
2071         * test/automated/vc-tests.el: Try enabling tests on hydra.nixos.org.
2073 2015-05-29  Wolfgang Jenkner  <wjenkner@inode.at>
2075         * src/xfns.c (x_set_menu_bar_lines): Fix calls to x_clear_area.
2076         The signature was changed in the cairo branch, merged on 2015-05-23.
2077         This oversight broke compiling only the non-toolkit X version.
2079 2015-05-29  Samer Masterson  <samer@samertm.com>
2081         * doc/lispref/os.texi: Update initial-buffer-choice docs.
2083 2015-05-29  Glenn Morris  <rgm@gnu.org>
2085         * test/automated/vc-tests.el (vc-test-rcs04-checkout-model):
2086         Mark as an expected failure.
2088 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
2090         Change package test to look for curved quotes
2091         * test/automated/package-test.el (package-test-describe-package)
2092         (package-test-signed): Search for curved single quotes as well as
2093         for grave accent and apostrophe.
2095 2015-05-28  Katsumi Yamaoka  <yamaoka@jpl.org>
2097         gnus-art.el: Re-revert last change
2098         * lisp/gnus/gnus-art.el (gnus-button-alist): Re-revert last change.
2099         cf. <http://news.gmane.org/group/gmane.emacs.devel/thread=186896>
2101 2015-05-28  Samer Masterson  <samer@samertm.com>
2103         Show files when `initial-buffer-choice' is non-nil
2104         * startup.el (command-line-1): When Emacs is given a file as an
2105         argument and `initial-buffer-choice' is non-nil, display both the file
2106         and `initial-buffer-choice'.  For more than one file, show
2107         `initial-buffer-choice' and *Buffer List*.  Refactor display-changing
2108         commands out of the command line arg parser.
2109         (initial-buffer-choice): Clarify docstring.
2111 2015-05-28  Eli Zaretskii  <eliz@gnu.org>
2113         Fix last commit
2114         * nt/gnulib.mk (libgnu_a_SOURCES): Add get-permissions.c back.
2115         (gnulib module qcopy-acl): Add back, as it is harmless.  This
2116         minimizes differences wrt lib/gnulib.mk.
2118         Fix the MS-Windows build as followup to gnulib update
2119         * nt/gnulib.mk (libgnu_a_SOURCES): Remove get-permissions.c and
2120         set-permissions.c, as they don't compile on MinGW.
2121         (gnulib module qcopy-acl): Remove, as it needs set-permissions.c.
2123 2015-05-28  Paul Eggert  <eggert@cs.ucla.edu>
2125         Revert my change to gnus-art.el
2126         * lisp/gnus/gnus-art.el (gnus-button-alist): Revert last change.
2127         It wasn't that important, and it caused a Gnus build to fail.  See:
2128         http://www.randomsample.de:4456/builders/emacs-devel/builds/734
2130         New minor mode Electric Quote
2131         This lets you easily insert quotes ‘like this’ by typing
2132         quotes `like this', and similarly you can easily insert
2133         quotes “like this” by typing quotes ``like this'' (Bug#20545).
2134         * doc/emacs/basic.texi (Inserting Text):
2135         * doc/emacs/modes.texi (Minor Modes):
2136         * etc/NEWS: Document it.
2137         * doc/emacs/text.texi (Quotation Marks): New section.
2138         * lisp/electric.el (electric-quote-comment)
2139         (electric-quote-string, electric-quote-paragraph):
2140         New custom vars.
2141         (electric--insertable-p)
2142         (electric-quote-post-self-insert-function): New functions.
2143         (electric-quote-mode, electric-quote-local-mode): New minor modes.
2144         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
2145         Add curved single quotes to electric-pair-text-pairs.
2146         Set electric-quote-string in this buffer.
2148         A few more doc string fixes (Bug#20385)
2150         Accept curved quotes in doc strings
2151         * lisp/info-look.el (info-lookup-guess-custom-symbol):
2152         (info-lookup-alist): Treat ‘’ like `' when parsing help buffers etc.
2154         Generate curved quotes in pseudo-info nodes
2155         * lisp/info.el (Info-virtual-index-find-node)
2156         (Info-virtual-index, Info-apropos-find-node, info-apropos):
2157         Quote ‘like this’, not `like this', when generating pseudo-info nodes.
2159         Fix minor quoting problems in doc strings
2160         Most of these fixes involve escaping grave accents that are
2161         actually intended to be grave accents, not left quotes.
2162         (Bug#20385)
2164         Support curved quotes in doc strings
2165         Emacs's traditional doc string style has been to quote symbols
2166         `like this'.  This worked well on now-obsolete terminals where
2167         ` and ' were symmetric quotes, but nowadays curved quotes
2168         ‘like this’ look better.  Support quoting the new way too.
2169         (Bug#20385)
2170         * doc/lispref/tips.texi (Documentation Tips): Symbols can be quoted
2171         ‘like-this’ as well as `like-this'.
2172         * etc/NEWS: Mention this.
2173         * lisp/cedet/mode-local.el (overload-docstring-extension)
2174         (mode-local-print-binding, mode-local-describe-bindings-2):
2175         * lisp/cus-theme.el (describe-theme-1):
2176         * lisp/descr-text.el (describe-text-properties-1, describe-char):
2177         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
2178         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
2179         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
2180         (eieio-help-constructor):
2181         * lisp/emacs-lisp/package.el (describe-package-1):
2182         * lisp/faces.el (describe-face):
2183         * lisp/help-fns.el (help-fns--key-bindings)
2184         (help-fns--compiler-macro, help-fns--parent-mode, help-fns--obsolete):
2185         (help-fns--interactive-only, describe-function-1):
2186         (describe-variable):
2187         * lisp/help.el (describe-mode):
2188         * lisp/international/mule-cmds.el (describe-input-method)
2189         (describe-language-environment):
2190         * lisp/international/mule-diag.el (describe-character-set)
2191         (print-coding-system-briefly, list-input-methods)
2192         (list-input-methods-1):
2193         Insert curved quotes rather than grave accent and apostrophe.
2194         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
2195         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
2196         (checkdoc-proper-noun-region-engine):
2197         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2)
2198         (lisp-cl-font-lock-keywords-2):
2199         * lisp/finder.el (finder-font-lock-keywords):
2200         * lisp/gnus/gnus-art.el (gnus-button-alist):
2201         * lisp/help-fns.el (help-do-arg-highlight)
2202         (describe-function-1, describe-variable):
2203         * lisp/help-mode.el (help-xref-symbol-regexp)
2204         (help-xref-info-regexp, help-xref-url-regexp):
2205         * lisp/help.el (describe-mode):
2206         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
2207         * lisp/wid-edit.el (widget-documentation-link-regexp):
2208         Parse symbols quoted ‘like-this’ as well as `like-this'.
2209         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
2210         Add "‘" and "’" to electric-pair-text-pairs.
2211         (elisp--form-quoted-p): Also allow "‘" as a quoting char.
2212         (elisp-completion-at-point, elisp--preceding-sexp):
2213         Also treat "‘" and "’" as quoting chars.
2215         substitute-command-keys now curves quotes
2216         So, for example, it turns "`abc'" into "‘abc’" (Bug#20385).
2217         * doc/lispref/help.texi (Keys in Documentation):
2218         * etc/NEWS: Document this.
2219         * src/doc.c (Fsubstitute_command_keys): Implement it.
2221 2015-05-28  Glenn Morris  <rgm@gnu.org>
2223         * lisp/mail/rmailsum.el (rmail-summary-by-recipients)
2224         (rmail-summary-by-topic, rmail-summary-by-senders):
2225         No longer strip leading/trailing whitespace.
2227         * lisp/progmodes/f90.el (f90-type-def-re): Add "type, extends".
2228         (f90-no-block-limit): Add "enum".  (Bug#20680)
2229         * test/automated/f90.el (f90-test-bug20680, f90-test-bug20680b):
2230         New tests.
2232 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
2234         * lisp/isearch.el (isearch--current-buffer): Give a default value.
2236         Un-revert changes mistakenly dropped by f9fabb2b
2238 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
2240         Merge from gnulib
2241         This incorporates:
2242         2015-05-27 qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
2243         2015-05-27 file-has-acl: Split feature tests again (Bug#20667)
2244         2015-05-27 string: fix build failure on BSD/OSX with FORTIFY_SOURCE
2245         2015-05-26 stdio: limit __gnu_printf__ witness to gcc 4.4+
2246         2015-05-26 inttypes: force correct mingw PRIdMAX even without <stdio.h>
2247         2015-05-26 stdio: fix probe on mingw under gcc 5.1
2248         * admin/merge-gnulib (GNULIB_MODULES):
2249         Replace qacl with qcopy-acl, since we don't need the rest of qacl.
2250         * doc/misc/texinfo.tex, lib/acl-internal.c, lib/acl-internal.h:
2251         * lib/inttypes.in.h, lib/qcopy-acl.c, lib/qset-acl.c:
2252         * lib/string.in.h, m4/acl.m4, m4/stdio_h.m4:
2253         Get latest versions from gnulib.
2254         * lib/get-permissions.c, lib/set-permissions.c: New files.
2255         * lib/gnulib.mk, m4/gnulib-comp.m4:
2256         Regenerate.
2257         * nt/gnulib.mk: Merge lib/gnulib.mk changes by hand.
2259 2015-05-27  Dmitry Gutov  <dgutov@yandex.ru>
2261         Delete the old process in vc-setup-buffer
2262         * lisp/vc/vc-dispatcher.el (vc-setup-buffer): Delete the old
2263         process here.
2264         (vc-do-command): Rather than here (bug#20608).
2266 2015-05-27  Ivan Shmakov  <ivan@siamics.net>
2268         Avoid gratuitous delete-dups in face-at-point.
2269         * lisp/faces.el (face-at-point): Do not compute the properly
2270         ordered, duplicate-free list if only a single value is
2271         requested anyway.  (Bug#20519)
2273         Show the exact C-x 8 RET invocation in describe-char.
2274         * lisp/descr-text.el (describe-char): Show the exact C-x 8 RET
2275         invocation instead of a template.  (Bug#20522)
2277 2015-05-27  Artur Malabarba  <bruce.connor.am@gmail.com>
2279         * lisp/emacs-lisp/package.el: Don't erase tags on refresh
2280         (package-menu--post-refresh): Call `tabulated-list-print' with the
2281         UPDATE argument.  This only affects the refresh action, the revert
2282         action still erases tags.
2283         (package-menu-get-status): Change `assq' to `assoc'.
2284         (package-menu--mark-upgrades-1): New function.
2285         (package-menu--mark-upgrades-pending): New variable.
2286         (package-menu-mark-upgrades): Use them to delay marking until
2287         after refresh is done.
2288         (package-menu--post-refresh): Call mark-upgrades-1 if
2289         mark-upgrades-pending is non-nil.
2291 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
2293         Fix typo in commit 3953c4be2816537be95520605d45b866dc731f4b
2295 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
2297         * lisp/isearch.el (isearch--current-buffer): New var
2298         (isearch-update): Set cursor-sensor-inhibit here.
2299         (isearch-done): Unset cursor-sensor-inhibit in the right buffer (bug#20532).
2301         Change inhibit-point-motion-hooks to t
2302         * src/textprop.c (syms_of_textprop): Default Vinhibit_point_motion_hooks
2303         to t and document it as obsolete.
2305 2015-05-27  Eli Zaretskii  <eliz@gnu.org>
2307         Support ZIP files that use Zip64 extensions
2308         * lisp/arc-mode.el (archive-zip-summarize): Handle the new ZIP
2309         format of central directory offsets used by Zip64 extensions.
2310         (Bug#20665)
2312 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
2314         New test tramp-test30-make-auto-save-file-name
2315         * tramp-tests.el (tramp-test30-make-auto-save-file-name): New test.
2316         (tramp-test31-special-characters)
2317         (tramp-test31-special-characters-with-stat)
2318         (tramp-test31-special-characters-with-perl)
2319         (tramp-test31-special-characters-with-ls, tramp-test32-utf8)
2320         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
2321         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
2322         (tramp-test34-recursive-load, tramp-test35-unload): Rename.
2324         Improve tramp-handle-make-auto-save-file-name
2325         * tramp.el (tramp-auto-save-directory): Add :tags.
2326         (tramp-handle-make-auto-save-file-name): Let native
2327         `make-auto-save-file-name' use `auto-save-file-name-transforms',
2328         if `tramp-auto-save-directory' is not set.
2330 2015-05-27  Glenn Morris  <rgm@gnu.org>
2332         No longer set dired-directory in eshell.  (Bug#16477)
2333         * lisp/eshell/esh-mode.el (eshell-mode):
2334         * lisp/eshell/em-dirs.el (eshell/cd): No longer set dired-directory.
2336         * lisp/mail/sendmail.el (mail-position-on-field): Doc fix.
2338         Make c-submit-bug-report file reports at debbugs.gnu.org.  (Bug#15784)
2339         * lisp/progmodes/cc-mode.el (c-mode-help-address):
2340         Change to submit@debbugs.
2341         (c-mode-bug-package): New constant.
2342         (mail-position-on-field): Declare.
2343         (c-submit-bug-report): Insert X-Debbugs-Package header.
2344         * doc/misc/cc-mode.texi (Mailing Lists and Bug Reports):
2345         Mention debbugs.gnu.org.
2347 2015-05-26  Glenn Morris  <rgm@gnu.org>
2349         * lisp/mail/rmailsum.el: Commas no longer separate regexps.  (Bug#19026)
2350         (rmail-summary-by-recipients, rmail-summary-by-topic)
2351         (rmail-summary-by-senders): No longer use mail-comma-list-regexp.
2352         * doc/emacs/rmail.texi (Rmail Make Summary): Update for this change.
2354 2015-05-26  Paul Eggert  <eggert@cs.ucla.edu>
2356         Handle curved quotes in info files
2357         * lisp/calc/calc-help.el (calc-describe-thing):
2358         * lisp/info.el (Info-find-index-name)
2359         (Info-try-follow-nearest-node, Info-fontify-node):
2360         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
2361         In info files, process quotes ‘like this’ the same way we process
2362         quotes `like this'.  This catches a few places we missed earlier.
2364 2015-05-26  Dmitry Gutov  <dgutov@yandex.ru>
2366         xref-prompt-for-identifier: Use a list value
2367         * lisp/progmodes/xref.el (xref-prompt-for-identifier): Allow list
2368         value, to be interpreted as a list of commands.
2369         (xref--prompt-p): New function.
2370         (xref--read-identifier): Use it.
2372 2015-05-26  Eli Zaretskii  <eliz@gnu.org>
2374         Teach MS-Windows font back-end return per-glyph ascent/descent
2375         * src/w32font.h (struct w32_metric_cache): Add ascent and descent
2376         values.
2377         * src/w32font.c (w32font_text_extents): Compute, cache, and
2378         accumulate per-glyph ascent and descent values, instead of copying
2379         global values from the font.  If the values are not available from
2380         the font data, i.e., non-TTF fonts, fall back on font-global values.
2381         (compute_metrics): Compute and return per-glyph ascent and descent
2382         values, if returned by GetGlyphOutlineW, falling back on
2383         font-global values.  (Bug#20628)
2384         * src/w32term.c (w32_draw_rectangle): Add 1 pixel to width and
2385         height of rectangle to be drawn, to be compatible with
2386         XDrawRectangle.  Fixes glyphless-char display as hex codes in a
2387         box, when per-glyph ascent/descent values are used.
2389 2015-05-26  Artur Malabarba  <bruce.connor.am@gmail.com>
2391         * lisp/emacs-lisp/tabulated-list.el: Don't sort without sorter
2392         (tabulated-list-print): Don't sort if sorter is nil
2394 2015-05-26  Michael Albinus  <michael.albinus@gmx.de>
2396         Fix Bug#20621
2397         * lisp/net/tramp-sh.el (tramp-set-auto-save): Remove it.  There
2398         are major modes which set `auto-save-mode' on their own rules;
2399         Tramp shall not overwrite such settings.
2400         (Bug#20621)
2402 2015-05-26  Glenn Morris  <rgm@gnu.org>
2404         * lisp/desktop.el: If modes aren't autoloaded, try simple guesswork.
2405         (desktop-load-file): Guess that "foobar" defines "foobar-mode".
2406         (desktop-buffer-mode-handlers, desktop-minor-mode-handlers):
2407         Doc updates.
2408         (vc-dir-mode): Remove unnecessary autoload.
2410 2015-05-25  Philipp Stephani  <phst@google.com>
2412         * lisp/term/xterm.el: Add gui-get-selection support via OSC-52
2413         (xterm--extra-capabilities-type): Add `getSelection'.
2414         (xterm--query): Add `no-async' argument.
2415         (xterm--init-activate-get-selection): New function.
2416         (terminal-init-xterm): Use it.
2417         (xterm--init-modify-other-keys): Rename from
2418         terminal-init-xterm-modify-other-keys.
2419         (xterm--init-bracketed-paste-mode): Rename from
2420         terminal-init-xterm-bracketed-paste-mode.
2421         (xterm--init-activate-set-selection): Rename from
2422         terminal-init-xterm-activate-set-selection.
2423         (xterm--selection-char): New function.
2424         (gui-backend-set-selection): Use it.  Use the &context to only apply
2425         this method in terminals where we enabled the feature.
2426         (gui-backend-get-selection): New method.
2428 2015-05-25  Daniel Colascione  <dancol@dancol.org>
2430         Add C-language keyword constants to C++
2431         * lisp/progmodes/cc-langs.el (c-constant-kwds): Add C-language
2432         keyword constants to C++.
2434 2015-05-25  Paul Eggert  <eggert@cs.ucla.edu>
2436         Make TAGS files more portable to MS-Windows
2437         * etc/NEWS: Document this.
2438         * lib-src/etags.c (readline_internal) [DOS_NT]:
2439         Don't treat CRs differently from GNUish hosts.
2440         * lisp/progmodes/etags.el (etags-goto-tag-location):
2441         Adjust STARTPOS to account for the skipped CRs in dos-style files.
2443 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
2445         Improve fix of debbugs:20634 in tramp-sh.el
2447 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
2449         Fix a typo in last commit
2450         * lib-src/etags.c (C_entries): Fix a typo.
2451         * test/etags/ETAGS.good_1:
2452         * test/etags/ETAGS.good_2:
2453         * test/etags/ETAGS.good_3:
2454         * test/etags/ETAGS.good_4:
2455         * test/etags/ETAGS.good_5:
2456         * test/etags/CTAGS.good: Update due to the change in etags.c.
2458         Fix tagging of class members in C-like OO languages
2459         * lib-src/etags.c (longopts): Add new option --class-qualify and
2460         its shorthand -Q.
2461         (print_help): Add help text for --class-qualify.
2462         (main): Add handling of -Q.
2463         (consider_token, C_entries) <omethodparm>: Append argument types
2464         to Objective C methods only if --class-qualify was specified.
2465         Qualify C++, Objective C, and Java class members with their class
2466         names only if --class-qualify was specified.
2467         (C_entries): If --class-qualify was not specified, remove the
2468         namespace and class qualifiers from tag names of C++ methods.
2469         This allows to use etags.el as xref back-end without the
2470         tag-symbol-match-p method, which greatly increases the number of
2471         potentially false positives.  (Bug#20629)
2472         * doc/man/etags.1: Update to document the new --class-qualify
2473         option.
2474         * test/etags/ETAGS.good_1:
2475         * test/etags/ETAGS.good_2:
2476         * test/etags/ETAGS.good_3:
2477         * test/etags/ETAGS.good_4:
2478         * test/etags/ETAGS.good_5:
2479         * test/etags/CTAGS.good: Update due to changes in etags.c.
2481 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
2483         (cl-generic-define-method): Side effects are evil (bug#20644)
2484         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method): Don't reuse
2485         cons-cells that might be used as keys in an `equal' hash-table.
2487 2015-05-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
2489         Make erc timestamps visible again
2490         * lisp/erc/erc-stamp.el (erc-munge-invisibility-spec): Make
2491         timestamps visible again (if requested).
2493 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
2495         Fix last change in etags.c that broke tagging compresed files
2496         * lib-src/etags.c (process_file_name) [MSDOS || DOS_NT]: Fix
2497         quoting of decompression shell command for MS-Windows/MS-DOS.
2499 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
2501         * lisp/emacs-lisp/cl-macs.el (cl-tagbody): Scope cl--tagbody-alist
2502         (Bug#20639)
2504 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
2506         Fix typo in 89035e247591c8d688fce922b7079881aa110f33
2508 2015-05-25  Orivej Desh  <orivej@gmx.fr>  (tiny change)
2510         Fix IPv6 addresses in Tramp
2511         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
2512         Add sqare brackets around host name.
2514 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
2516         Inhibit `epa-file-handler' in Tramp
2517         (Bug#20634)
2518         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer)
2519         (tramp-sh-handle-insert-file-contents-literally): Inhibit also
2520         `epa-file-handler'.
2522 2015-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
2524         * lisp/emacs-lisp/pcase.el: Use PAT rather than UPAT in docstring
2525         (pcase-let): Document the behavior in case the pattern doesn't match.
2527 2015-05-24  Artur Malabarba  <bruce.connor.am@gmail.com>
2529         * lisp/emacs-lisp/tabulated-list.el: New optional print method
2530         (tabulated-list-print): New optional argument, UPDATE.  If
2531         non-nil, the list is printed by only adding and deleting the
2532         changed entries, instead of erasing the whole buffer.  This method
2533         is much faster when few or no entries have changed.
2534         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
2535         * etc/NEWS: Document it.
2537         * lisp/emacs-lisp/tabulated-list.el: Improve printing
2538         (tabulated-list--get-sorter): New function.
2539         (tabulated-list-print): Restore window-line when remember-pos is
2540         passed and optimize away the `nreverse'.
2542 2015-05-24  Paul Eggert  <eggert@cs.ucla.edu>
2544         Simpilify etags TEX mode scanning
2545         * lib-src/etags.c (TEX_mode, TEX_esc, TEX_opgrp, TEX_clgrp):
2546         Remove static vars.
2547         (TeX_commands): Deduce escapes here instead.
2548         (TEX_LESC, TEX_SESC, TEX_mode): Remove; all uses removed.
2549         This removes the need for a reset_input call.
2551         Improve etags I/O error reporting
2552         * lib-src/etags.c:
2553         Don't include sys/types.h and sys/stat.h; no longer needed.
2554         (infilename): New static var.
2555         (process_file_name): Don't call 'stat'.  Instead, just open the
2556         file for reading and report any errors.  Don't bother making
2557         a copy of the file argument; it's not needed.  Be more careful to
2558         use the failing errno when reporting an error.
2559         Quote the real name better (though no perfectly)
2560         when passing it to the shell.
2561         (reset_input): New function, which reports I/O errors.
2562         All uses of 'rewind' changed to use this function.
2563         (perhaps_more_input): New function, which also checks for
2564         I/O errors.  All uses of 'feof' changed to use this function.
2565         (analyze_regex): Report an error if fclose fails.
2566         (readline_internal): Report an error if getc fails.
2567         (etags_mktmp): Return an error if close fails.
2569         etags.c: avoid side effects in 'if'
2570         * lib-src/etags.c (process_file_name, Perl_functions)
2571         (TEX_decode_env): Hoist side effects into previous statement.
2573         .gitignore tweaks
2574         * .gitignore: Ignore all *.stamp files.  Sort.
2575         Ignore [0-9]*.txt (commonly used name for git patches)
2576         and /vc-dwim-log-* (vc-dwim temporary).
2578 2015-05-24  Eli Zaretskii  <eliz@gnu.org>
2580         Fix last change in etags.c, which failed the test suite
2581         * lib-src/etags.c (intoken): Add '$' to the set, as it was there
2582         before the last change.
2584 2015-05-23  Glenn Morris  <rgm@gnu.org>
2586         Remove charset map files from repository, generate in first bootstrap
2587         * admin/charsets/Makefile.in (${srcdir}/charsets.stamp): New.
2588         (all): Create the stamp file.
2589         (extraclean): Delete the stamp file.
2590         * src/Makefile.in (lispintdir, charsets): New variables.
2591         (${lispintdir}/cp51932.el, ${lispintdir}/eucjp-ms.el, ${charsets}):
2592         New rules.
2593         (emacs$(EXEEXT), temacs$(EXEEXT)): Depend on $charsets.
2594         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
2595         * etc/charsets/*.map: Remove from repository.
2597 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
2599         Cleanup etags.c to use locale-independent code
2600         Although this doesn't alter behavior (as etags doesn't use
2601         setlocale), the new version is more clearly locale-independent and
2602         the executable is a bit smaller on my platform.
2603         * lib-src/etags.c: Include <limits.h>, for UCHAR_MAX.
2604         Include <c-ctype.h> instead of <ctype.h>.
2605         (CHARS, CHAR, init, _wht, _nin, _itk, _btk, _etk, white, nonam, endtk)
2606         (begtk, midtk):
2607         Remove; no longer needed.
2608         (iswhite, ISALNUM, ISALPHA, ISDIGIT, ISLOWER, lowcase): Remove.
2609         All callers changed to use c_isspace, c_isalnum, c_isalpha, c_isdigit,
2610         c_islower, c_tolower, respectively.
2611         (notinname, begtoken, intoken, endtoken): Rewrite as functions
2612         instead of macros, and initialize the tables at compile-time
2613         rather than at run-time.
2615         Put default action first in src/Makefile
2616         * src/Makefile.in (all): Put this rule before lisp.mk.
2617         That way, plain 'make' works in the src directory again.
2619 2015-05-23  Glenn Morris  <rgm@gnu.org>
2621         * Makefile.in: Fix extraclean rule.
2622         (extraclean_dirs): New.
2623         (extraclean): Use it.
2625 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
2627         Avoid compiler warning in image.c on MS-Windows
2628         * src/w32term.h (x_query_color): Add prototype, to avoid compiler
2629         warning in image.c.
2631 2015-05-23  Glenn Morris  <rgm@gnu.org>
2633         Fix --without-toolkit-scroll-bars builds.
2634         * src/xterm.c (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]:
2635         Add new argument to x_clear_area1.
2636         (XTset_horizontal_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
2637         Update x_clear_area arguments.
2639         * admin/charsets/glibc/: New directory, imported from glibc 2.21.
2640         * admin/charsets/Makefile.in (GLIBC_CHARMAPS):
2641         Change to included version.
2642         (LOCAL, local, totalclean): Remove.
2643         (extraclean): Delete all generated files.
2645 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
2647         * lisp/pcmpl-cvs.el (pcmpl-cvs-entries): Don't assume CVS/Entries exists.
2649         * lisp/progmodes/xref.el (xref-find-apropos): Use read-string.
2651         tags-completion-at-point-function: Don't trust the find-tag function
2652         * lisp/progmodes/etags.el (tags-completion-at-point-function):
2653         Don't trust the find-tag function.
2655 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
2657         Pacify --enable-gcc-warnings
2658         * src/frame.h (x_query_color): Remove redundant extern decl.
2659         * src/ftcrfont.c (ftcrfont_glyph_extents, ftcrfont_list)
2660         (ftcrfont_match, ftcrfont_open, ftcrfont_close)
2661         (ftcrfont_text_extents, ftcrfont_draw):
2662         * src/xterm.c (x_set_window_size_1, *x_color_cells, x_update_end)
2663         (XTframe_up_to_date, x_clear_area1, x_clear_frame)
2664         (x_ins_del_lines, frame_highlight, frame_unhighlight)
2665         (x_new_focus_frame, x_focus_changed, XTframe_rehighlight)
2666         (x_draw_hollow_cursor, x_draw_bar_cursor, x_flush, x_update_begin)
2667         (x_update_window_begin, x_connection_closed)
2668         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
2669         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
2670         (*x_gc_get_ext_data, x_extension_initialize)
2671         (x_cr_accumulate_data):
2672         Remove redundant static decl.  Many of these GCC doesn't complain
2673         about, but we might as well clean out the duplication while we're
2674         in the neighborhood.
2675         * src/xterm.c (x_fill_trapezoid_for_relief):
2676         Remove decl of nonexistent function.
2678 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
2680         Replace gui-method macros with cl-generic with &context
2681         * lisp/frame.el (gui-method--name, gui-method, gui-method-define)
2682         (gui-method-declare, gui-call): Remove.
2683         (frame-creation-function): Use cl-defgeneric.
2684         (make-frame): Adjust callers.
2685         * lisp/menu-bar.el (menu-bar-edit-menu):
2686         Use gui-backend-selection-exists-p.
2687         * lisp/select.el (x-get-clipboard): Use gui-backend-get-selection.
2688         (gui-backend-get-selection): New cl-generic to replace
2689         gui-get-selection method.
2690         (gui-backend-set-selection): New cl-generic to replace
2691         gui-set-selection method.
2692         (gui-selection-owner-p): New cl-generic to replace
2693         gui-selection-owner-p method.
2694         (gui-backend-selection-exists-p): New cl-generic to replace
2695         gui-selection-exists-p method.  Adjust all callers.
2696         * lisp/server.el (server-create-window-system-frame): Don't ignore
2697         window-system spec even when unsupported.
2698         * lisp/simple.el (deactivate-mark): Use new gui-backend-* functions.
2699         * lisp/startup.el (handle-args-function, window-system-initialization):
2700         Use cl-defgeneric.
2701         (command-line): Adjust calls accordingly.
2702         * lisp/term/ns-win.el (ns-window-system-initialization): Turn into
2703         a window-system-initialization method.
2704         (handle-args-function, frame-creation-function): Use cl-defmethod.
2705         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
2706         (gui-get-selection): Use cl-defmethod on the new functions instead.
2707         * lisp/term/pc-win.el (w16-get-selection-value): Turn into
2708         a gui-backend-get-selection method.
2709         (gui-selection-exists-p, gui-selection-owner-p, gui-set-selection):
2710         Use cl-defmethod on the new functions instead.
2711         (msdos-window-system-initialization): Turn into
2712         a window-system-initialization method.
2713         (frame-creation-function, handle-args-function): Use cl-defmethod.
2714         * lisp/term/w32-win.el (w32-window-system-initialization): Turn into
2715         a window-system-initialization method.
2716         (handle-args-function, frame-creation-function): Use cl-defmethod.
2717         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
2718         (gui-get-selection): Use cl-defmethod on the new functions instead.
2719         * lisp/term/x-win.el (x-window-system-initialization): Turn into
2720         a window-system-initialization method.
2721         (handle-args-function, frame-creation-function): Use cl-defmethod.
2722         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
2723         (gui-get-selection): Use cl-defmethod on the new functions instead.
2724         * lisp/term/xterm.el (xterm--set-selection): Turn into
2725         a gui-backend-set-selection method.
2726         * src/nsselect.m (Fns_selection_exists_p): Remove unused arg `terminal'.
2727         (Fns_selection_owner_p): Remove unused arg `terminal'.
2728         (Fns_get_selection): Remove unused args `time_stamp' and `terminal'.
2730 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
2732         Revert "Fix etags Bug#20629 that broke C++ support."
2733         This reverts commit 13dd9d4f7e75d2c78aa5537cef09de03663e9748.
2735 2015-05-23  Jan D  <jan.h.d@swipnet.se>
2737         Fix etags Bug#20629 that broke C++ support.
2738         * etags.el (etags-xref-find-definitions-tag-order): Revert commit
2739         from Sun May 10 (Bug#20629).
2741         Merge branch 'cairo'.
2742         Main work done by YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>.
2743         Small fixes and image work by Jan D. <jan.h.d@swipnet.se>.
2745         Merge branch 'master' into cairo
2747         Fixes to compile cairo branch without cairo.
2748         * src/gtkutil.c (xg_update_scrollbar_pos): x_clear_area takes frame as
2749         first argument.
2750         * src/xterm.c (handle_one_xevent): Surround x_cr_destroy_surface with
2751         USE_CAIRO.
2753 2015-05-23  Artur Malabarba  <bruce.connor.am@gmail.com>
2755         * lisp/emacs-lisp/package.el: Always update selected-packages
2756         (package--update-selected-packages): New function.
2757         (package-menu-execute): Use it before starting the transaction,
2758         this way the list of selected packages is updated even when the
2759         transaction fails.
2760         (package-menu--perform-transaction): Don't edit selected-packages.
2762 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
2764         Fix etags reading of compressed files
2765         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Define.
2766         Include fcntl.h, for O_CLOEXEC.
2767         (process_file_name): Don't use 'popen', whose streams cannot be
2768         rewound.  Instead, uncompress the file to a temporary file,
2769         created by 'etags_mktmp', and read from that as usual.
2770         (etags_mktmp): New function.
2771         * test/etags/ETAGS.good_1:
2772         * test/etags/ETAGS.good_2:
2773         * test/etags/ETAGS.good_3:
2774         * test/etags/ETAGS.good_4:
2775         * test/etags/ETAGS.good_5: Update to be consistent with latest
2776         changes in etags.c regarding reading compressed files.
2778         Improve documentation of 'set-fontset-font'
2779         * doc/lispref/display.texi (Fontsets): Document the value of nil
2780         for the 3rd argument of 'set-fontset-font'.
2782         Fix documentation of forward-line
2783         * src/cmds.c (Fforward_line): Clarify the return value if the line
2784         at end of accessible portion of the buffer has no newline.
2785         * doc/lispref/positions.texi (Text Lines): Document what happens
2786         if the line at end of accessible portion of buffer has no newline.
2787         (Bug#20587)
2789 2015-05-22  Glenn Morris  <rgm@gnu.org>
2791         * admin/charsets/Makefile.in (TRANS_TABLE): Add short aliases.
2793         * admin/charsets/mapconv (LC_ALL): Set to C.
2795         * Makefile.in: Add admin/charsets into top-level clean rules.
2796         (clean): Add admin/charsets.
2797         (maybeclean_dirs): New variable.
2798         (distclean, bootstrap-clean, maintainer-clean): Use $maybeclean_dirs.
2800         * admin/charsets/Makefile.in (LOCAL, local): Fix members.
2802 2015-05-22  Artur Malabarba  <bruce.connor.am@gmail.com>
2804         * lisp/emacs-lisp/package.el (package-selected-packages): Fix doc
2806 2015-05-22  Glenn Morris  <rgm@gnu.org>
2808         Generate admin/charsets Makefile via configure, and make more portable.
2809         * configure.ac (SUBDIR_MAKEFILES): Add admin/charsets/Makefile.
2810         (admin/charsets/Makefile): Generate it.
2811         * admin/charsets/Makefile.in: Rename from Makefile.
2812         (AWK, srcdir, top_srcdir, AM_DEFAULT_VERBOSITY):
2813         New variables, set by configure.
2814         (charsetdir, lispintdir, mapfiledir, AM_V_GEN, am__v_GEN_)
2815         (am__v_GEN_0, am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0)
2816         (am__v_at_1, LOCAL, mapconv, run_mapconv, big5, compact, cp51932)
2817         (cp932, eucjp_ms, gb180302, gb180304, kuten): New variables.
2818         (TRANS_TABLE, CHARSETS): Add directory prefix to value.
2819         (all): Declare PHONY.
2820         (local): New PHONY target.
2821         (map_template): New template.  Use to define short PHONY aliases.
2822         (*.map): Add directory prefixes to targets and prerequisites.
2823         Respect make verbosity.
2824         (JISC6226.map): Replace non-portable sed append without newline.
2825         (install): Remove rule.
2826         (clean): Only delete temporary sedscript.
2827         (bootstrap-clean, distclean, maintainer-clean, extraclean)
2828         (totalclean): New PHONY rules.
2829         * admin/charsets/mapconv (BASE): Replace basename with expr.
2830         (FILE): Add "mapfiles" subdirectory.
2831         (AWK): New variable.  Use throughout in place of "awk".
2832         (main): Use "gunzip -c" in place of "zcat".
2833         Don't leave whitespace before "p", for older sed.
2834         * admin/charsets/mapfiles/PTCP154: Add final newline,
2835         to make older sed versions happy.
2837 2015-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
2839         * lisp/autorevert.el: Use lexical-binding.  Fix hook usage.
2840         (global-auto-revert-ignore-buffer, auto-revert-notify-modified-p)
2841         (auto-revert-notify-watch-descriptor): Use defvar-local.
2842         (find-file-hook, auto-revert-tail-mode, )
2843         (auto-revert-notify-add-watch): Use setq-local.
2844         (auto-revert-notify-add-watch): Don't call make-local-variable on
2845         kill-buffer-hook (bug#20601).
2847 2015-05-21  Stefan Monnier  <monnier@iro.umontreal.ca>
2849         Change defgeneric so it doesn't completely redefine the function
2850         * lisp/emacs-lisp/cl-generic.el (cl-generic-define): Don't throw away
2851         previously defined methods.
2852         (cl-generic-define-method): Let-bind purify-flag instead of using `fset'.
2853         (cl--generic-prefill-dispatchers): Only define during compilation.
2854         (cl-method-qualifiers): Remove redundant alias.
2855         (help-fns-short-filename): Silence byte-compiler.
2856         * test/automated/cl-generic-tests.el: Adjust to new defgeneric semantics.
2858 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
2860         (package-menu-execute): Remove reference to remove-dups
2862 2015-05-21  kwhite  <kwhite@gnu.org>
2864         * lisp/erc/erc.el: Hide network/channel messages
2865         (erc-network-hide-list, etc-channel-hide-list): New lists to define
2866         message types per network/channel.
2867         (erc-add-targets): New function to parse list of targets
2868         (erc-hide-current-message-p): Modified to check for new targets
2870 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
2872         Don't quote nil and t in doc strings
2873         This is as per "Tips for Documentation Strings" in the elisp manual.
2874         For consistency, do the same in diagnostics and comments.
2876 2015-05-21  Eli Zaretskii  <eliz@gnu.org>
2878         Fix a minor problem with mouse-face on mode line
2879         * src/xdisp.c (note_mode_line_or_margin_highlight): Reset the
2880         mouse face also if the mouse pointer hovers above mode-line glyphs
2881         that don't come from any Lisp string.  (Bug#20620)
2883 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
2885         * lisp/emacs-lisp/package.el: Fix selected-package logic
2886         (package-menu-execute): Mark as selected all non-upgrade packages
2887         being installed.
2888         (package-menu--perform-transaction): Don't mark anything.
2890         * lisp/emacs-lisp/package.el: Mode-line progress report
2891         (package-menu--transaction-status): New variable.
2892         (package-menu-mode, package-menu--perform-transaction): Use it.
2894         * lisp/emacs-lisp/package.el: Better transaction messages
2895         (package-menu--partition-transaction): New function.
2896         (package-menu--prompt-transaction-p, package-menu-execute): Use
2897         it.
2898         (package-menu--perform-transaction): Don't do any messaging.
2900         * lisp/emacs-lisp/package.el: Revert async package transactions
2901         (package-menu-async): Update doc.
2902         (package-install-from-archive, package-download-transaction)
2903         (package-install, package-menu--perform-transaction)
2904         (package-menu-execute): Remove asynchronous functionality.
2906 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
2908         Revert doc string changes to f90.el
2909         Problem reported by Glenn Morris in:
2910         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00596.html
2911         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
2912         Revert recent changes to doc strings, as it's intended that they
2913         use grave accent, not quote.
2915 2015-05-20  Bozhidar Batsov  <bozhidar@batsov.com>
2917         Improve parameter name
2919         Add new inline function `hash-table-empty-p'
2921 2015-05-20  Paul Eggert  <eggert@cs.ucla.edu>
2923         Don't require help-fns when not needed
2924         * lisp/emacs-lisp/autoload.el, lisp/emacs-lisp/advice.el:
2925         * lisp/emacs-lisp/elint.el:
2926         Don't require help-fns at the top level.
2927         * lisp/emacs-lisp/advice.el (ad-arglist):
2928         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
2929         Don't require help-fns.  (Bug#17001)
2931 2015-05-20  Eli Zaretskii  <eliz@gnu.org>
2933         Fix slash collapsing in etags on MS-Windows
2934         * lib-src/etags.c (canonicalize_filename) [DOS_NT]: Separate the
2935         MS-Windows code from the Posix code, and support collapsing both
2936         forward- and back-slashes on MS-Windows.  Fixes a regression found
2937         by the test suite.
2939         Improve documentation of glyphless-char-display
2940         * doc/lispref/display.texi (Glyphless Chars): Improve
2941         documentation of glyphless character display.
2943         Fix "acronym" display of glyphless characters on w32
2944         * src/w32term.c (x_draw_glyphless_glyph_string_foreground): Don't
2945         ignore "acronym" substitutes of 1 character for glyphless characters.
2947 2015-05-20  Oleh Krehel  <ohwoeowho@gmail.com>
2949         Add an automated test for let-when-compile
2950         * test/automated/subr-tests.el (let-when-compile): New test.
2952         Add let-when-compile macro instead of using pcase-let
2953         * lisp/subr.el (let-when-compile): New let-like macro that makes its
2954         bindings known to macros like `eval-when-compile' in the body.
2955         * lisp/emacs-lisp/lisp-mode.el: Change the top-level `pcase-let' to a
2956           `let-when-compile'. Also comment out the unused lexical var
2957           `el-kws-re'.
2958         The change greatly improves readability, while providing almost the
2959         same (even shorter) byte code: instead of pre-evaluating 10 variables,
2960         tossing them into a list, and destructuring that list a full screen
2961         page later, the variables are simply bound as they are evaluated,
2962         wrapped individually in `eval-when-compile'.
2964 2015-05-20  Artur Malabarba  <bruce.connor.am@gmail.com>
2966         * lisp/emacs-lisp/package.el: "Delete" button in Help buffer
2967         (package-delete-button-action): New function.
2968         (describe-package-1): Add Delete button.
2970         * lisp/emacs-lisp/package.el: Better dependency description
2971         (package--used-elsewhere-p): New optional arg, ALL, and return
2972         package-desc objects instead of names.
2973         (package-delete): Update accordingly.
2974         (describe-package-1): Describe which packages require the package.
2976 2015-05-20  Martin Rudalics  <rudalics@gmx.at>
2978         Fix handling and doc-string of FRAME arg of `other-buffer' (Bug#20533)
2979         * src/buffer.c (Fother_buffer): Argument FRAME must denote a live frame.
2980         Fix doc-string (Bug#20533).
2982         Improve `switch-to-buffer' in strongly dedicated windows (Bug#20472)
2983         * lisp/window.el (switch-to-buffer-in-dedicated-window): New option.
2984         (switch-to-buffer): If the selected window is strongly dedicated
2985         to its buffer, signal error before prompting for buffer name.  Handle
2986         `switch-to-buffer-in-dedicated-window'.  (Bug#20472)
2987         * doc/lispref/windows.texi (Switching Buffers): Document
2988         `switch-to-buffer-in-dedicated-window'.
2990 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
2992         Prefer "this" to “this” in doc strings
2993         This mostly just straightens quotes introduced in my previous patch.
2994         Suggested by Dmitry Gutov in:
2995         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00565.html
2996         * lisp/faces.el, lisp/gnus/gnus-group.el, lisp/ldefs-boot.el:
2997         * lisp/mail/supercite.el, lisp/net/tramp.el, lisp/recentf.el:
2998         * lisp/textmodes/artist.el, lisp/textmodes/rst.el:
2999         * lisp/textmodes/tildify.el, lisp/vc/ediff-util.el:
3000         * lisp/vc/log-edit.el, lisp/xt-mouse.el:
3001         Prefer straight double quotes to curved double quotes in doc strings.
3003         Fix minor quoting problems in doc strings
3004         These were glitches regardless of how or whether we tackle the
3005         problem of grave accent in doc strings.
3006         * lisp/calc/calc-aent.el (math-restore-placeholders):
3007         * lisp/ido.el (ido-ignore-buffers, ido-ignore-files):
3008         * lisp/leim/quail/cyrillic.el ("bulgarian-alt-phonetic"):
3009         * lisp/leim/quail/hebrew.el ("hebrew-new")
3010         ("hebrew-biblical-sil"):
3011         * lisp/leim/quail/thai.el ("thai-kesmanee"):
3012         * lisp/progmodes/idlw-shell.el (idlwave-shell-file-name-chars):
3013         Used curved quotes to avoid ambiguities like ‘`''’ in doc strings.
3014         * lisp/calendar/calendar.el (calendar-month-abbrev-array):
3015         * lisp/cedet/semantic/mru-bookmark.el (semantic-mrub-cache-flush-fcn):
3016         * lisp/cedet/semantic/symref.el (semantic-symref-tool-baseclass):
3017         * lisp/cedet/semantic/tag.el (semantic-tag-copy)
3018         (semantic-tag-components):
3019         * lisp/cedet/srecode/cpp.el (srecode-semantic-handle-:cpp):
3020         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
3021         * lisp/emacs-lisp/byte-opt.el (byte-optimize-all-constp):
3022         * lisp/emacs-lisp/checkdoc.el (checkdoc-message-text-engine):
3023         * lisp/emacs-lisp/generator.el (iter-next):
3024         * lisp/gnus/gnus-art.el (gnus-treat-strip-list-identifiers)
3025         (gnus-article-mode-syntax-table):
3026         * lisp/net/rlogin.el (rlogin-directory-tracking-mode):
3027         * lisp/net/soap-client.el (soap-wsdl-get):
3028         * lisp/net/telnet.el (telnet-mode):
3029         * lisp/org/org-compat.el (org-number-sequence):
3030         * lisp/org/org.el (org-remove-highlights-with-change)
3031         (org-structure-template-alist):
3032         * lisp/org/ox-html.el (org-html-link-org-files-as-html):
3033         * lisp/play/handwrite.el (handwrite-10pt, handwrite-11pt)
3034         (handwrite-12pt, handwrite-13pt):
3035         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
3036         * lisp/progmodes/idlwave.el (idlwave-mode, idlwave-check-abbrev):
3037         * lisp/progmodes/verilog-mode.el (verilog-tool)
3038         (verilog-string-replace-matches, verilog-preprocess)
3039         (verilog-auto-insert-lisp, verilog-auto-insert-last):
3040         * lisp/textmodes/makeinfo.el (makeinfo-options):
3041         * src/font.c (Ffont_spec):
3042         Fix minor quoting problems in doc strings, e.g., missing quote,
3043         ``x'' where `x' was meant, etc.
3044         * lisp/erc/erc-backend.el (erc-process-sentinel-2):
3045         Fix minor quoting problem in other string.
3046         * lisp/leim/quail/ethiopic.el ("ethiopic"):
3047         * lisp/term/tvi970.el (tvi970-set-keypad-mode):
3048         Omit unnecessary quotes.
3049         * lisp/faces.el (set-face-attribute, set-face-underline)
3050         (set-face-inverse-video, x-create-frame-with-faces):
3051         * lisp/gnus/gnus-group.el (gnus-group-nnimap-edit-acl):
3052         * lisp/mail/supercite.el (sc-attribs-%@-addresses)
3053         (sc-attribs-!-addresses, sc-attribs-<>-addresses):
3054         * lisp/net/tramp.el (tramp-methods):
3055         * lisp/recentf.el (recentf-show-file-shortcuts-flag):
3056         * lisp/textmodes/artist.el (artist-ellipse-right-char)
3057         (artist-ellipse-left-char, artist-vaporize-fuzziness)
3058         (artist-spray-chars, artist-mode, artist-replace-string)
3059         (artist-put-pixel, artist-text-see-thru):
3060         * lisp/vc/ediff-util.el (ediff-submit-report):
3061         * lisp/vc/log-edit.el (log-edit-changelog-full-paragraphs):
3062         Use double-quotes rather than TeX markup in doc strings.
3063         * lisp/skeleton.el (skeleton-pair-insert-maybe):
3064         Reword to avoid the need for grave accent and apostrophe.
3065         * lisp/xt-mouse.el (xterm-mouse-tracking-enable-sequence):
3066         Don't use grave and acute accents to quote.
3068 2015-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
3070         * emacs-lisp/generator.el (cps--gensym, cps--transform-1): Silence compiler
3072 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
3074         Try to port new etags tests to MS-Windows
3075         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
3076         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
3077         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
3078         Adjust to test-case changes below.
3079         * test/etags/Makefile (CSRC): Remove dostorture.c.
3080         Whatever it was trying to test, wasn't working portably.
3081         (LC_ALL): Remove.  Apparently there wasn't an encoding problem,
3082         just a line-ending problem.
3083         * test/etags/c-src/dostorture.c: Remove.
3084         * test/etags/cp-src/c.C: Remove stray CR.
3085         * test/etags/html-src/algrthms.html: Remove trailing CRs.
3086         State UTF-8 as the encoding.  The file is ASCII so it doesn't matter,
3087         but if someone edits it later it should stay UTF-8-compatible.
3089 2015-05-19  Eli Zaretskii  <eliz@gnu.org>
3091         Fix display of overlapping window-specific overlays
3092         * src/keyboard.c (adjust_point_for_property): When adjusting point
3093         due to display strings, ignore overlays that are specific to
3094         windows other than the currently selected one.
3095         * src/xdisp.c (handle_single_display_spec): If the display
3096         property comes from an overlay, arrange for buffer iteration to
3097         resume only after the end of that overlay.  (Bug#20607)
3099 2015-05-19  Dmitry Gutov  <dgutov@yandex.ru>
3101         New command icomplete-force-complete-and-exit
3102         * lisp/icomplete.el (icomplete-force-complete-and-exit):
3103         New command
3104         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00461.html)
3105         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00516.html).
3106         (icomplete-minibuffer-map): Bind C-j to it.
3107         (icomplete-forward-completions, icomplete-backward-completions):
3108         Mention the new command in the docstring.
3109         * lisp/minibuffer.el (minibuffer-force-complete-and-exit): Revert
3110         the previous fix for bug#17545.
3112 2015-05-19  Martin Rudalics  <rudalics@gmx.at>
3114         Fix last commit
3116         In Elisp manual explain how to override window manager positioning (Bug#20552)
3117         * doc/lispref/frames.texi (Position Parameters): Give example of
3118         how to override a window manager positioning decision.
3120         Clarify concept of "surrogate minibuffer frames" (Bug#20538)
3121         * src/frame.c (Fdelete_frame): In doc-string mention that frame
3122         can't be deleted if it has a surrogate minibuffer.
3123         * doc/lispref/frames.texi (Minibuffers and Frames)
3124         (Deleting Frames): Explain "surrogate minibuffer frames".
3126         In w32heap.c bump DUMPED_HEAP_SIZE to 19/12 MB
3127         * emacs-git/quick/src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 19/12 MB.
3129 2015-05-18  Glenn Morris  <rgm@gnu.org>
3131         Add option to ignore commit lines matching a pattern in ChangeLog.
3132         * build-aux/gitlog-to-changelog: Add --ignore-line option.
3133         * build-aux/gitlog-to-emacslog: Ignore lines matching '^; '.
3135 2015-05-18  Paul Eggert  <eggert@cs.ucla.edu>
3137         Don't skip new etags tests on non-UTF-8 hosts
3138         Problem reported by Eli Zaretskii for MS-Windows.
3139         * test/etags/Makefile (UTF8_LOCALE, UTF8_ENCODING): Remove.
3140         (LC_ALL): Set to C if the current locale isn't UTF-8.
3141         (.PHONY): Remove ediff_1 thru ediff_5.
3142         (check): Always run.
3144 2015-05-18  Glenn Morris  <rgm@gnu.org>
3146         * lisp/calculator.el (calculator-funcall):
3147         * lisp/textmodes/artist.el (artist-spray-random-points):
3148         Use standard degree/radian conversion utilities.
3150         Further lisp-complete-symbol related cleanup.
3151         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol):
3152         Unadvertise non-functional argument.  Replace obsolete alias.
3154 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
3156         Add a test case for Maven warning ouput
3157         * test/automated/compile-tests.el
3158         (compile-tests--test-regexps-data): Add a case for Maven warning
3159         ouput.
3160         (compile--test-error-line): Check the compilation message type, if
3161         it's specified in the test data.
3163 2015-05-18  Paul Pogonyshev  <pogonyshev@gmail.com>
3165         Update Maven compilation-mode entry to distinguish warnings
3166         * lisp/progmodes/compile.el
3167         (compilation-error-regexp-alist-alist): Update Maven entry to
3168         distinguish warnings (bug#20556).
3170 2015-05-18  Przemysław Wojnowski  <esperanto@cumego.com>
3172         * test/automated/sgml-mode-tests.el: New file.
3174 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
3176         Improve handling of the first Git revision
3177         * lisp/vc/log-view.el (log-view-toggle-entry-display): When
3178         there's no next entry, delete until the end of the buffer.
3179         (log-view-end-of-defun-1): Stop at eob.
3180         * lisp/vc/vc-annotate.el
3181         (vc-annotate-show-diff-revision-at-line-internal): Don't give up
3182         when previous-revision is nil.
3183         * lisp/vc/vc-git.el (vc-git-expanded-log-entry): End the arguments
3184         with `--' to avoid ambiguity.
3185         (vc-git-annotate-extract-revision-at-line): Exclude `^' from the
3186         returned revision string.
3187         (vc-git-annotate-time): Expect `^' before the first revision.
3188         * lisp/vc/vc-git.el (vc-git-diff): Diff against an empty tree if
3189         REV1 is nil, and REV2 is not.
3190         * lisp/vc/vc.el: Update the description of the `diff' function.
3192 2015-05-18  Oleh Krehel  <ohwoeowho@gmail.com>
3194         Allow checkdoc to be called in batch
3195         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When `noninteractive'
3196           is non-nil, echo the error with `warn'.
3197         How it can be used in -batch:
3198         (with-current-buffer (find-file "checkdoc.el")
3199           (checkdoc-current-buffer t))
3201 2015-05-18  Glenn Morris  <rgm@gnu.org>
3203         * lisp/calendar/solar.el (solar-ecliptic-coordinates): Use float-pi.
3205 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
3207         * admin/notes/unicode: New section "binary files".
3209         Change new etags test to use UTF-8 encoding
3210         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
3211         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
3212         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
3213         * test/etags/html-src/index.shtml, test/etags/html-src/software.html:
3214         * test/etags/html-src/softwarelibero.html:
3215         Switch to UTF-8 encoding.
3216         * test/etags/Makefile (SRCS): Adjust to switch to UTF-8.
3217         Remove Makefile, as it's too incestuous to have the test input
3218         include the build procedure.
3219         (UTF8_LOCALE, UTF_ENCODING): New macros.
3220         (LC_ALL): If possible, set to a UTF-8 encoding if not already UTF-8.
3221         (check): Skip if not UTF-8.
3222         (.PHONY): New rule.
3223         (FRC): Remove, as superseded by .PHONY.  All uses removed.
3224         (regexfile): Prefer printf to echo when outputting oddball chars.
3225         (.PRECIOUS): Remove, as these files are not built.
3227         Rename 'foo-gzipped' to 'foo.gz'
3228         * test/automated/data/decompress/foo.gz:
3229         Rename from test/automated/data/decompress/foo-gzipped,
3230         to make it easier for other tools to tell that it's compressed.
3231         * test/automated/zlib-tests.el (zlib--decompress):
3232         Adjust to renamed file.
3234 2015-05-17  Dmitry Gutov  <dgutov@yandex.ru>
3236         Set up default-directory
3237         * lisp/vc/vc-annotate.el (vc-annotate-mode-map): Remove duplicate
3238         binding for `v'.
3239         (vc-annotate-show-changeset-diff-revision-at-line): Set up an
3240         appropriate value for default-directory.
3242 2015-05-17  Samer Masterson  <samer@samertm.com>
3244         * lisp/eshell/em-term.el (eshell-term-sentinel):
3245         No-op by default, only kills term buffer if
3246         `eshell-destroy-buffer-when-process-dies' is non-nil.  (Bug#18108)
3247         (eshell-destroy-buffer-when-process-dies): New custom to preserve
3248         previous behavior.
3250         eshell: Introduce new buffer syntax
3251         The new buffer syntax '#<buffer-name>' is equivalent to '#<buffer
3252         buffer-name>'.  Remove `eshell-buffer-shorthand', as it is no longer
3253         needed (Bug#19319).
3254         * lisp/eshell/esh-io.el (eshell-buffer-shorthand): Remove.
3255         (eshell-get-target): Remove shorthand-specific code.
3256         * lisp/eshell/esh-arg.el (eshell-parse-special-reference): Parse
3257         '#<buffer-name>'.
3259 2015-05-17  Jan D  <jan.h.d@swipnet.se>
3261         Merge branch 'master' into cairo
3263 2015-04-26  Jan D  <jan.h.d@swipnet.se>
3265         Merge branch 'master' into cairo
3267         Add PBM support for cairo.
3268         * src/image.c (xcolor_to_argb32): New function.
3269         (get_spec_bg_or_alpha_as_argb): Call xcolor_to_argb32.
3270         (pbm_load, png_load_body, jpeg_load_body, gif_load): Only use
3271         XImagePtr if ! USE_CAIRO.
3272         (pbm_load): Add cairo support.
3274 2015-04-12  Jan D  <jan.h.d@swipnet.se>
3276         x_free_cr_resources: Renamed from x_prepare_for_xlibdraw.
3277         * src/xterm.c (x_free_cr_resources): Renamed from x_prepare_for_xlibdraw.
3278         (x_cr_draw_frame, x_cr_export_frames, x_shift_glyphs_for_insert)
3279         (x_free_frame_resources): Rename x_prepare_for_xlibdraw to
3280         x_free_cr_resources.
3282         Handle specified bg in images.  Use generic libpng code for PNG:s.
3283         * src/image.c (get_spec_bg_or_alpha_as_argb)
3284         (create_cairo_image_surface): New functions when USE_CAIRO.
3285         (xpm_load): Call the above functions.  Handle XPM without mask
3286         when USE_CAIRO.
3287         (png_load_body): Handle USE_CAIRO case.
3288         (png_load): Remove USE_CAIRO specific fuction, modify png_load_body
3289         instead.
3290         (jpeg_load_body): Call create_cairo_image_surface.
3291         (gif_load, svg_load_image): Handle specified background, call
3292         create_cairo_image_surface.
3293         * src/xterm.c (x_draw_image_glyph_string): Added missing USE_CAIRO.
3295 2015-04-11  Jan D  <jan.h.d@swipnet.se>
3297         Support GIF and Tiff with cairo.
3298         * configure.ac: Allow jpeg with cairo.
3299         Allow tiff and gif with cairo.
3300         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
3301         (tiff_load): Create cairo image surface if USE_CAIRO.
3302         (gif_load): Ditto.
3304         Support JPEG with USE_CAIRO.
3305         * configure.ac: Allow jpeg with cairo.
3306         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
3308 2015-04-05  Jan D  <jan.h.d@swipnet.se>
3310         Support RSVG and cairo.
3311         * configure.ac: Allow rsvg with cairo.  Move back HAVE_RSVG.
3312         * src/dispextern.h (struct image): add cr_data2 if cairo.
3313         * src/image.c: #undef COLOR_TABLE_SUPPORT when USE_CAIRO.
3314         (x_clear_image): Free cr_data and cr_data2 if set.
3315         (xpm_load): Assign data to cr_data2.
3316         (svg_load_image): Convert from GdkPixbuf to CAIRO_FORMAT_ARGB32.
3318 2015-04-03  Jan D  <jan.h.d@swipnet.se>
3320         Introduce limited Xpm support (32 bit ZPixmap) for Cairo.
3321         * configure.ac (HAVE_RSVG): Move after cairo.
3322         (USE_CAIRO): Disable rsvg, don't disable Xpm.
3323         * src/image.c (prepare_image_for_display): Don't load if USE_CAIRO.
3324         (x_clear_image): If USE_CAIRO, also free possible img->ximg->obdata and
3325         don't return early.
3326         (ALLOC_XPM_COLORS): Don't define when USE_CAIRO.
3327         (xpm_load): Convert simple Xpms (32 bit ZPixmap) to CAIRO_FORMAT_ARGB32
3328         and create a surface.
3330         Tool tips for menus did not show any text.
3331         * src/xterm.c (x_update_begin): Don't create any surface for non-visible
3332         tip frames, the geometry may be wrong.
3334         Merge branch 'master' into cairo, fixes tooltips not shown.
3336         Merge branch 'master' into cairo
3338         Add CAIRO_CFLAGS to lwlib/Makefile.in
3339         * Makefile.in (CAIRO_CFLAGS): Add.
3341 2015-02-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
3343         * ftcrfont.c (ftcrfont_draw): Don't flush when drawing to screen.
3345 2015-02-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
3347         Draw outermost line using black relief and erase corners also for cairo.
3348         * xterm.c [USE_CAIRO]: Include math.h.
3349         (enum corners) [USE_CAIRO]: New enum.
3350         (x_erase_corners_for_relief) [USE_CAIRO]: New function.
3351         (x_draw_relief_rect) [USE_CAIRO]: Use it.  If box width is larger
3352         than 1, draw the outermost line using the black relief.
3354         * xterm.c (x_fill_trapezoid_for_relief): Remove unnecessary cairo_close_path.
3356 2015-02-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
3358         * xterm.c (x_draw_relief_rect) [USE_CAIRO]: Reset clipping.
3360         * xterm.c (x_draw_stretch_glyph_string): Call x_reset_clip_rectangles instead of XSetClipMask.
3362         Use int instead of unsigned int for width and height args.
3363         * xterm.c (x_cr_draw_image, x_fill_rectangle, x_draw_rectangle)
3364         (x_fill_trapezoid_for_relief): Use int instead of unsigned int for
3365         width and height args.
3367         Modernize k&r cairo-related function declarations.
3368         * gtkutil.c (xg_page_setup_dialog, xg_get_page_setup, draw_page)
3369         (xg_print_frames_dialog): Modernize k&r declarations.
3370         * xfns.c (Fx_export_frames, Fx_page_setup_dialog, Fx_get_page_setup)
3371         (Fx_print_frames_dialog): Modernize k&r declarations.
3372         * xterm.c (x_gc_get_ext_data, x_extension_initialize, x_begin_cr_clip)
3373         (x_end_cr_clip, x_set_cr_source_with_gc_foreground)
3374         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
3375         (x_cr_destroy_fringe_bitmap, x_cr_draw_frame, x_cr_accumulate_data)
3376         (x_cr_destroy, x_cr_export_frames, x_prepare_for_xlibdraw)
3377         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
3378         (x_draw_rectangle, x_clear_window, x_fill_trapezoid_for_relief)
3379         (x_clear_area): Modernize k&r declarations.
3381         Implement wave-style variant of underlining for cairo.
3382         * xterm.c (x_draw_horizontal_wave) [USE_CAIRO]: New function.
3383         (x_draw_underwave) [USE_CAIRO]: Use it.
3385         * xterm.c (x_draw_window_divider): Use x_fill_rectangle instead of XFillRectangle.
3387 2015-02-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
3389         Fix fringe bitmap initialization for cairo.
3390         * fringe.c (init_fringe_bitmap) [USE_CAIRO]: Adjust bitmap data for
3391         cairo image surface.
3392         * xterm.c (x_cr_define_fringe_bitmap): Call cairo_surface_mark_dirty.
3394 2015-02-11  Jan D  <jan.h.d@swipnet.se>
3396         Add cairo drawing.
3397         * configure.ac (with-cairo): New option.
3398         (USE_CAIRO): Default to yes for Gtk+ 3.  Add code to test for cairo,
3399         set CAIRO_CFLAGS, CAIRO_LIBS.  Add ftcrfonto to FONT_OBJ if cairo.
3400         Output "Does Emacs use cairo?".
3401         * lisp/version.el (emacs-version): Add cairo version.
3402         * src/Makefile.in (CAIRO_CFLAGS, CAIRO_LIBS): New variables.
3403         (FONT_OBJ): Add comment about ftcrfont.
3404         (ALL_CFLAGS): Add CAIRO_CFLAGS.
3405         (LIBES): Add CAIRO_LIBS.
3406         * src/dispextern.h (struct image): Add cr_data for cairo.
3407         (x_cr_init_fringe): Declare.
3408         * src/font.c (syms_of_font): Call syms_of_ftcrfont for cairo.
3409         * src/font.h (ftcrfont_driver, syms_of_ftcrfont): Declare
3410         * src/fringe.c (x_cr_init_fringe): New function name that shares code
3411         with w32_init_fringe.
3412         * src/ftcrfont.c: New font driver for cairo, based on the ftfont driver.
3413         * src/ftfont.c (ftfont_info_size); New global variable.
3414         (ftfont_open2): New extern function almost the same as old ftfont_open,
3415         but takes the font_object as argument.
3416         (ftfont_open): Build font object and call ftfont_open2.
3417         * src/ftfont.h (ftfont_open2, ftfont_info_size): Declare.
3418         * src/gtkutil.c (xg_clear_under_internal_border)
3419         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos): Only
3420         queue_draw if not cairo.  Change args to x_clear_area.
3421         (xg_get_font): Use Qftcr when using cairo, Qxft otherwise.
3422         (xg_page_setup_dialog, xg_get_page_setup, draw_page)
3423         (xg_print_frames_dialog): New functions for printing.
3424         * src/gtkutil.h (xg_page_setup_dialog, xg_get_page_setup)
3425         (xg_print_frames_dialog): Declare.
3426         * src/image.c: Add defined (USE_CAIRO) for PNG.
3427         Add !defined USE_CAIRO for W32 PNG code.
3428         (x_clear_image): If cairo, destroy the surface in cr_data.
3429         (png_load): Add new cairo compatible implementation.
3430         (lookup_image_type): Add defined (USE_CAIRO) for define png_type.
3431         * src/xfns.c: New section Printing.
3432         (x-export-frames, x-page-setup-dialog, x-get-page-setup)
3433         (x-print-frames-dialog): New printing functions.
3434         (Fx_create_frame, x_create_tip_frame): Register ftcrfont if
3435         cairo.
3436         (syms_of_xfns): Defsym Qorientation, Qtop_margin, Qbottom_margin,
3437         Qportrait, Qlandscape, Qreverse_portrait, Qreverse_landscape).
3438         (syms_of_xfns): Provide cairo and defvar cairo-version-string.
3439         defsubr Sx_page_setup_dialog, Sx_get_page_setup, Sx_print_frames_dialog.
3440         * src/xterm.c (x_clear_area1, x_prepare_for_xlibdraw)
3441         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
3442         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
3443         (x_gc_get_ext_data, x_extension_initialize, x_cr_accumulate_data):
3444         Declare.
3445         (FRAME_CR_CONTEXT, FRAME_CR_SURFACE): New macros.
3446         (max_fringe_bmp, fringe_bmp): New variables.
3447         (x_gc_get_ext_data, x_extension_initialize)
3448         (x_cr_destroy_surface, x_begin_cr_clip, x_end_cr_clip)
3449         (x_set_cr_source_with_gc_foreground)
3450         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
3451         (x_cr_destroy_fringe_bitmap, x_cr_draw_image, x_cr_draw_frame)
3452         (x_cr_accumulate_data, x_cr_destroy, x_cr_export_frames)
3453         (x_prepare_for_xlibdraw, x_set_clip_rectangles)
3454         (x_reset_clip_rectangles, x_fill_rectangle, x_draw_rectangle)
3455         (x_clear_window, x_fill_trapezoid_for_relief): New functions.
3456         (x_update_begin): Create cairo surface if needed.
3457         (x_draw_vertical_window_border): Call x_fill_rectangle for cairo.
3458         (x_update_end): Paint cairo drawing surface to xlib surface.
3459         (x_clear_under_internal_border, x_after_update_window_line): Adjust
3460         arguments to x_clear_area.
3461         (x_draw_fringe_bitmap): Call x_fill_rectangle.  Get GC values and
3462         call x_cr_draw_image for cairo.  Call x_reset_clip_rectangles instead
3463         of XSetClipMask.
3464         (x_set_glyph_string_clipping)
3465         (x_set_glyph_string_clipping_exactly): Use x_set_clip_rectangles
3466         instead of XSetClipRectangles.
3467         (x_clear_glyph_string_rect, x_draw_glyph_string_background): Use
3468         x_fill_rectangle instead of XFillRectangle.
3469         (x_draw_glyph_string_foreground)
3470         (x_draw_composite_glyph_string_foreground)
3471         (x_draw_glyphless_glyph_string_foreground): Use x_draw_rectangle instead
3472         of XDrawRectangle.
3473         (x_draw_relief_rect): Add code for USE_CAIRO.
3474         Call x_reset_clip_rectangles instead of XSetClipMask.
3475         (x_draw_box_rect): x_set_clip_rectangles instead of XSetClipRectangles,
3476         x_fill_rectangle instead of XFillRectangle, x_reset_clip_rectangles
3477         instead of XSetClipMask.
3478         (x_draw_image_foreground, x_draw_image_foreground_1):
3479         x_draw_rectangle instead of XDrawRectangle.
3480         (x_draw_glyph_string_bg_rect): x_fill_rectangle instead of
3481         XFillRectangle.
3482         (x_draw_image_glyph_string): If img has cr_data, use it as
3483         a cairo surface.
3484         (x_draw_stretch_glyph_string): x_set_clip_rectangles instead of
3485         XSetClipRectangles, x_fill_rectangle instead of XFillRectangle.
3486         (x_draw_glyph_string): x_fill_rectangle instead of XFillRectangle.,
3487         x_reset_clip_rectangles instead of XSetClipMask.
3488         (x_shift_glyphs_for_insert): Call x_prepare_for_xlibdraw.
3489         (x_clear_area1): New function that calls XClearArea.
3490         (x_clear_area): Takes frame as parameter, calls x_clear_area1 for
3491         non-cairo.
3492         (x_clear_frame): x_clear_window instead of XClearWindow.
3493         (x_scroll_run): Set frame garbaged if cairo.
3494         (XTmouse_position): Initialize *part to 0.
3495         (x_scroll_bar_create): Adjust arguments to x_clear_area.
3496         (x_scroll_bar_set_handle): x_clear_area1 instead of x_clear_area,
3497         x_fill_rectangle instead of XFillRectangle.
3498         (XTset_vertical_scroll_bar, XTset_horizontal_scroll_bar): Adjust
3499         arguments to x_clear_area.
3500         (x_scroll_bar_expose): x_draw_rectangle instead of XDrawRectangle.
3501         (handle_one_xevent): Adjust arguments to x_clear_area.
3502         Destroy cairo surface for frame if ConfigureNotify.
3503         (x_clip_to_row): x_set_clip_rectangles instead of XSetClipRectangles.
3504         (x_draw_hollow_cursor): x_draw_rectangle instead of XDrawRectangle,
3505         x_reset_clip_rectangles instead of XSetClipMask.
3506         (x_draw_bar_cursor): x_fill_rectangle instead of XFillRectangle,
3507         x_reset_clip_rectangles instead of XSetClipMask.
3508         (x_clear_frame_area): Adjust arguments to x_clear_area.
3509         (x_free_frame_resources): Call x_prepare_for_xlibdraw.
3510         (x_term_init): Call x_extension_initialize if cairo.
3511         (x_redisplay_interface): Add x_cr_define_fringe_bitmap,
3512         x_cr_destroy_fringe_bitmap for cairo.
3513         (x_initialize): Call x_cr_init_fringe for cairo.
3514         * src/xterm.h: Add include of cairo header files.
3515         (x_bitmap_record): Add img if cairo.
3516         (x_gc_ext_data): New struct for cairo.
3517         (x_display_info): Add ext_codes for cairo.
3518         (x_output): Add cr_context and cr_surface for cairo.
3519         (x_clear_area): Change arguments from Display*/Window to frame pointer.
3520         (x_query_color, x_begin_cr_clip, x_end_cr_clip)
3521         (x_set_cr_source_with_gc_foreground, x_set_cr_source_with_gc_background)
3522         (x_cr_draw_frame, x_cr_export_frames): Declare.
3524 2015-05-17  Johan Bockgård  <bojohan@gnu.org>
3526         Fix integer-valued `mouse-highlight' (Bug#20590)
3527         * src/xterm.c (handle_one_xevent) [USE_GTK]: Fix ifdef scope.
3529 2015-05-17  Eli Zaretskii  <eliz@gnu.org>
3531         MS-Windows followup for ASCIIfication of curved quotes
3532         * lisp/term/w32console.el (terminal-init-w32console): Repeat the
3533         test for curved quotes being displayable, after switching the
3534         terminal encoding.  (Bug#20545)
3536 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
3538         Spelling fixes
3540 2015-05-17  Jan D  <jan.h.d@swipnet.se>
3542         Add comment that x_shift_glyphs_for_insert is never called.
3543         * xterm.c (x_shift_glyphs_for_insert, x_redisplay_interface): Add
3544         comment that this function is never called.
3546 2015-05-16  Glenn Morris  <rgm@gnu.org>
3548         * src/lisp.mk: Remove from repository and generate at build-time.
3549         * src/Makefile.in (lisp.mk): New rule to generate from loadup.el.
3550         (shortlisp_filter): New variable.
3551         (emacs$(EXEEXT), $(etc)/DOC): Depend on lisp.mk.
3552         (distclean): Remove lisp.mk.
3553         * Makefile.in ($(MAKEFILE_NAME)): No longer depend on src/lisp.mk.
3554         * lisp/loadup.el: Tweak layout to make it easier to parse.
3555         * make-dist: Do not distribute src/lisp.mk.
3557 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
3559         Display shorter dates in Git annotate output
3560         * lisp/vc/vc-git.el (vc-git-annotate-command): Use the short date
3561         format (when not overridden with vc-git-annotate-switches).
3562         (vc-git-annotate-time): Support the short format, as well as ISO
3563         8601 that has been used until now (bug#5428).
3565 2015-05-16  Paul Eggert  <eggert@cs.ucla.edu>
3567         ASCIIfy curved quotes on displays lacking them
3568         * lisp/international/mule-cmds.el (set-locale-environment):
3569         If curved quotes don't work, display straight ASCII approximations
3570         (Bug#20545).
3572 2015-05-16  Glenn Morris  <rgm@gnu.org>
3574         Small src/Makefile simplification.
3575         * src/lisp.mk (shortlisp): Rename from lisp, remove $lispsource prefix.
3576         * src/Makefile.in (lisp): Derive from shortlisp.
3577         ($(etc)/DOC): Use $shortlisp rather than parsing lisp.mk.
3579 2015-05-16  Eli Zaretskii  <eliz@gnu.org>
3581         * lisp/help-mode.el (help-go-forward): Doc fix.
3582         (Bug#20577)
3584         * doc/lispref/debugging.texi (Profiling): Improve indexing.
3585         (Bug#20576)
3587 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
3589         Use `unless' to have one fewer `not'
3590         * lisp/vc/vc-git.el (vc-git-resolve-when-done): Use `unless' to
3591         have one fewer `not'.
3593         Remove redundant :group declarations from vc-git.el
3594         * lisp/vc/vc-git.el (vc-git-diff-switches)
3595         (vc-git-annotate-switches, vc-git-resolve-conflicts)
3596         (vc-git-program, vc-git-root-log-format): Remove the redundant
3597         :group declarations.
3599 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
3601         Removes the predicate from lisp-complete-symbol (Bug#20456)
3602         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol): Do not use predicate
3603         and remove it from the docstring.
3605 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
3607         Add new option vc-git-resolve-conflicts
3608         * lisp/vc/vc-git.el (vc-git-resolve-conflicts): New variable.
3609         (vc-git-find-file-hook): Add to after-save-hook only when the
3610         above is non-nil.
3611         (vc-git-resolve-when-done): Update to honor the new variable.
3612         (Bug#20292)
3614 2015-05-16  Artur Malabarba  <bruce.connor.am@gmail.com>
3616         * lisp/emacs-lisp/tabulated-list.el: Don't error on nil header-string
3617         (tabulated-list-init-header): Document new behavior.
3618         (tabulated-list-print-fake-header): No nothing if
3619         `tabulated-list--header-string' is nil.
3620         (tabulated-list--header-string): Add a docstring.
3621         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
3622         * etc/NEWS: Document it.
3624 2015-05-15  Leo Liu  <sdl.web@gmail.com>
3626         Revert "Fix cps--gensym"
3627         * lisp/emacs-lisp/generator.el (cps--gensym): Revert commit
3628           fbda511ab8069d0115eafca411a43353b85431b1 on 2015-05-14.
3630 2015-05-15  Glenn Morris  <rgm@gnu.org>
3632         Replace AC_SUBST_FILE in configure with include in Makefiles.
3633         * configure.ac (DEPDIR, MKDEPDIR, deps_frag, lwlib_deps_frag)
3634         (oldxmenu_deps_frag, lisp_frag): Remove output variables/files.
3635         (AUTO_DEPEND): New output variable.
3636         * lwlib/Makefile.in (AUTO_DEPEND): New, set by configure.
3637         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
3638         (lwlib_deps_frag): Replace by conditional include.
3639         * lwlib/autodeps.mk: Remove file.
3640         * oldXMenu/Makefile.in (AUTO_DEPEND): New, set by configure.
3641         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
3642         (oldxmenu_deps_frag): Replace by conditional include.
3643         * oldXMenu/autodeps.mk: Remove file.
3644         * src/Makefile.in (AUTO_DEPEND): New, set by configure.
3645         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
3646         (lisp_frag): Replace by an include.
3647         (deps_frag): Replace by conditional include.
3648         * src/autodeps.mk: Remove file.
3650         Tweak japanese.el's loading of dependencies.
3651         * lisp/loadup.el: Explicitly load cp51932 and eucjp-ms.
3652         * lisp/language/japanese.el: Use require rather than load.
3653         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
3654         Provide a feature.
3655         * admin/charsets/eucjp-ms.awk, admin/charsets/cp51932.awk:
3656         Provide a feature in the generated file.
3658 2015-05-15  Jan D  <jan.h.d@swipnet.se>
3660         Fix NS warnings.
3661         * nsmenu.m (ns_popup_dialog)
3662         * nsimage.m (initFromXBM:width:height:fg:bg:)
3663         * nsfns.m (Fx_create_frame): Remove unused variables.
3664         (Fns_read_file_name): Initialize fname, remove ret.
3665         * nsterm.m (ns_draw_window_cursor): Handle DEFAULT_CURSOR in switch.
3666         (ns_get_color, ns_set_horizontal_scroll_bar, keyDown): Remove unused
3667         variable.
3668         (init): Add parantesis in if.
3669         (ns_create_terminal): Assign set_horizontal_scroll_bar_hook.
3671 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
3673         Fix a enum conversion warning in macfont.m
3674         * src/macfont.h (CharacterCollection): Typedef to NSCharacterCollection.
3675         (MAC_CHARACTER_COLLECTION_*): Use the NS variants.
3677 2015-05-15  Eli Zaretskii  <eliz@gnu.org>
3679         Support de-alt dictionary with Aspell.
3680         * lisp/textmodes/ispell.el (ispell-aspell-find-dictionary):
3681         Support Aspell dictionaries with names like "de-alt".  (Bug#20581)
3683 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
3685         cus-start.el: Add ns-confirm-quit.
3686         * cus-start.el: Add ns-confirm-quit.
3688         Fix warnings on OSX 10.10.
3689         * nsfns.m (MODAL_OK_RESPONSE): New define for different OSX versions.
3690         (Fns_read_file_name): Check against MODAL_OK_RESPONSE.
3691         (compute_tip_xy): Use convertRectToScreen for OSX >= 10.7
3692         * nsmenu.m (initWithContentRect:styleMask:backing:defer:)
3693         * nsimage.m (allocInitFromFile, setPixmapData): Only call
3694         setScalesWhenResized for OSX < 10.6.
3695         * nsterm.h (EmacsScroller): Declare scrollerWidth.
3696         * nsterm.m (ns_copy_bits): New function that does not use deprecated
3697         NSCopyBits.
3698         (ns_scroll_run, ns_shift_glyphs_for_insert): Call ns_copy_bits.
3699         (runAlertPanel): New function.
3700         (applicationShouldTerminate:): Call runAlertPanel.
3701         (initFrameFromEmacs, toggleFullScreen:): Only call useOptimizedDrawing
3702         for OSX < 10.10.
3703         (initFrameFromEmacs:): Only call allocateGState for OSX < 10.10.
3704         (windowWillUseStandardFrame:defaultFrame:): Cast arg to abs to int.
3705         (draggingEntered:): Returns NSDragOperation.
3706         (scrollerWidth): Use scrollerWidthForControlSize for OSX >= 10.7.
3708 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
3710         * lisp/emacs-lisp/package.el: Don't ensure-init during startup
3711         (package--init-file-ensured): New variable.
3712         (package-initialize, package--ensure-init-file): Use it.
3714 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
3716         Honor :fore/background for XBM on NS (Bug#14969).
3717         * nsterm.h (EmacsImage): Add xbm_fg, remove initFromSkipXBM,
3718         initFromXBM takes bg, fg args, remove flip arg.
3719         (ns_image_from_XBM): Add bg, fg args.
3720         * image.c (x_create_bitmap_from_data)
3721         (Create_Pixmap_From_Bitmap_Data): ns_image_from_XBM takes bg, fg args.
3722         * nsimage.m (ns_image_from_XBM): Add fg, bg args, pass to initFromXBM.
3723         Remove flip arg.
3724         (initFromSkipXBM): Move code to initFromXBM.
3725         (initFromXBM): Actually set fg and bg, instead of playing alpha games.
3726         Use fg, bg from args (Bug#14969).  Remove if (length) section, was always
3727         false.
3728         Remove bit flipping (bitPat, swt), generated incorrect images when
3729         width/height wasn't a multiple of 8.
3730         (setXBMColor:): Modify planes by comparing to saved xbm_fg.
3731         * nsterm.m (ns_draw_fringe_bitmap): initFromXBM takes fg, bg args, remove
3732         flip arg.
3734 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
3736         * lisp/emacs-lisp/package.el: Be more careful with the init file
3737         (package--ensure-init-file): Check that user-init-file is set,
3738         exists, is readable, and is writable.  (Bug#20584)
3739         Also expand the docstring.
3741 2015-05-14  Wilson Snyder  <wsnyder@wsnyder.org>
3743         Sync with upstream verilog-mode revision 6232468
3744         * lisp/progmodes/verilog-mode.el (verilog-font-lock-grouping-keywords-face)
3745         (verilog-highlight-grouping-keywords): Fix use of face when
3746         `verilog-highlight-grouping-keywords' set.  Reported by Jeff
3747         Pompa.
3748         (verilog-auto-reset): Fix AUTORESET to ignore member resets if
3749         parent is reset, bug906. Reported by Ken Schmidt.
3750         (verilog-auto-inout-module): Add fourth regexp argument to
3751         AUTOINOUTMODULE and AUTOINOUTCOMP for signals to not match,
3752         bug856. Reported by John Tillema.
3753         (verilog-auto-inst-port): Fix AUTOINST interfaces to not show
3754         modport if signal attachment is itself a modport.  Reported by
3755         Matthew Lovell.
3756         (verilog-auto-reset, verilog-auto-sense-sigs): Fix AUTORESET with
3757         always_comb and always_latch, bug844.  Reported by Greg Hilton.
3758         (verilog-at-constraint-p, verilog-beg-of-statement-1): Fix hanging
3759         with many curly-bracket pairs, bug663.
3760         (verilog-set-auto-endcomments): Fix end comments for functions of
3761         type void, etc.  Reported by Alex Reed.
3762         (verilog-do-indent): Fix electric tab deleting form-feeds.  Note
3763         caused by indent-line-to deleting tabls pre 24.5.
3764         (verilog-nameable-item-re): Fix nameable items that can have an
3765         end-identifier to include endchecker, endgroup, endprogram,
3766         endproperty, and endsequence.  Reported by Alex Reed.
3767         (verilog-label-be): When auto-commenting a buffer, consider
3768         auto-comments on all known keywords (not just a subset thereof).
3769         Reported by Alex Reed.
3770         (verilog-auto-end-comment-lines-re)
3771         (verilog-end-block-ordered-re, verilog-set-auto-endcomments):
3772         Automatically comment property/endproperty blocks to match other
3773         similar blocks like sequence/endsequence, function/endfunction,
3774         etc. Reported by Alex Reed.
3775         (verilog-set-auto-endcomments): Detect the function- or task-name
3776         when auto-commenting blocks that lack an explicit
3777         portlist. Reported by Alex Reed.
3778         (verilog-auto, verilog-auto-insert-last): Add AUTOINSERTLAST to
3779         allow post-AUTO user fixups, bug826. Reported by Dennis
3780         Muhlestein.
3781         (verilog-no-indent-begin-re): When `verilog-indent-begin-after-if'
3782         is nil, fix indenting initial/final to match always statements,
3783         bug825. Reported by Tim Clapp.
3784         (verilog-extended-complete-re): Fix indentation of DPI-C imports
3785         with c_identifiers, and DPI-C imports, bug557. Reported by ZeDong
3786         Mao and Jason Forkey.
3787         (verilog-read-decls): Fix parsing typed interfaces.  Fix
3788         AUTOINOUTMODPORT missing types.  Reported by Stephan Bourduas.
3789         Fix localparam not being ignored in AUTOINSTPARAM,
3790         bug889. Reported by Shannon Hill.
3791         (verilog-auto-output-every): Add regexp to AUTOOUTPUTEVERY,
3792         bug793.  Reported by Pierre-David Pfister.
3793         (verilog-auto-arg-format, verilog-auto-arg-ports): Add
3794         verilog-auto-arg-format to support newlines in AUTOARG. Reported
3795         by Jie Xiao.
3796         (verilog-batch-execute-func): Do not batch re-auto files loaded by
3797         Local Variables. Fix printing "no changes to be saved" with
3798         verilog-batch. Reported by Dan Dever.
3799         (verilog-auto-inout-module): Fix AUTOINOUTMODULE not inserting
3800         interface-only modules, bug721.  Reported by Dean Hoyt.
3801         Author: Alex Reed <acreed4@gmail.com>
3802         * lisp/progmodes/verilog-mode.el (verilog-beg-of-statement): Don't
3803         treat '<keyword>:<identifier>' as the start of a labeled
3804         statement, bug905.  Reported by Enzo Chi.
3805         (verilog-directive-re, verilog-compiler-directives)
3806         (verilog-keywords): Match full set of IEEE 2012-1800 compiler
3807         directives (plus some extras) when determining indentation, bug
3808         901.  Reported by Bernd Beuster.
3809         (verilog-at-constraint-p): Fix indentation of coverpoint bins if
3810         iff expression doesn't start with word-character, bug900.
3811         (verilog-optional-signed-range-re, verilog-optional-signed-re):
3812         Fix incorrect indentation/alignment of unsigned declarations,
3813         bug897.
3814         (verilog-looking-back, verilog-in-attribute-p): Fix labling of
3815         always constructs, bug895.
3816         (verilog-calc-1): Fix verilog-mode constraint indentation,
3817         bug324. Reported by Eric Mastromarchi.
3818         (verilog-beg-of-statement): Fix indenting for some forms of
3819         constraintsm bug433.  Reported by Brad Parker.  Fix indentation of
3820         continued assignment incorrect if first line ends with ']',
3821         bug437. Reported by Dan Dever.  Fix indention of cover inside an
3822         ifdef, bug 862. Reported by Bernd Beuster Fix labeling do-while
3823         blocks, bug842.
3824         (verilog-preprocessor-re): Fix fork/end UNMATCHED warning,
3825         bug859. Reported by Kaushal Modi.
3826         (verilog-set-auto-endcomments): Fix endlabel end comments, bug888.
3827         (verilog-backward-token): Fix indenting sensitivity lists with
3828         named events, bug840.  Reed.
3829         (verilog-no-indent-begin-re): Fix `verilog-indent-begin-after-if'
3830         nil not honoring 'forever', 'foreach', and 'do' keywords.
3832 2015-05-14  Paul Eggert  <eggert@cs.ucla.edu>
3834         Check for invalid GTK+ monitor scales
3835         * src/gtkutil.c (xg_get_gdk_scale): Return 1 for invalid scales,
3836         INT_MAX for too-large scales.  All callers changed to assume the
3837         result is valid (Bug#20432).
3838         (xg_frame_set_char_size, xg_update_scrollbar_pos):
3839         Calculate scale only if needed.
3840         show ASCII approximations instead.
3842 2015-05-14  Eli Zaretskii  <eliz@gnu.org>
3844         Fix daemon crashes when linum-mode is turned on early on
3845         * src/window.c (Fwindow_end): Don't try calling display engine
3846         functions on initial-frame frame.  (Bug#20565)
3848         Fix selective diff browsing in Ediff
3849         * lisp/vc/ediff-util.el (ediff-focus-on-regexp-matches): Go to the
3850         beginning of the region before searching for the
3851         ediff-regexp-focus-* regexps.  (Bug#20568)
3853 2015-05-14  Jan D  <jan.h.d@swipnet.se>
3855         Fixes Bug#20142.
3856         * gtkutil.c (delete_cb): Don't send delete event here, it does arrive
3857         in the main loop, even for Gtk 3 (Bug#20142).
3859         Don't access display after i/o error (Bug#19147).
3860         * xterm.c (x_connection_closed): Add third arg ioerror.
3861         If ioerror, set display to 0 (Bug#19147).
3862         (x_error_quitter): Call x_connection_closed with third arg false.
3863         (x_io_error_quitter): Call x_connection_closed with third arg true.
3865         Handle GTK_SCALE, fixes Bug#20432.
3866         * gtkutil.c (xg_get_gdk_scale): New function.
3867         (xg_frame_set_char_size)
3868         (x_wm_set_size_hint, xg_get_default_scrollbar_width)
3869         (xg_get_default_scrollbar_height)
3870         (xg_update_horizontal_scrollbar_pos): Take GTK_SCALE in to account
3871         when setting sizes (Bug#20432).
3873 2015-05-13  Leo Liu  <sdl.web@gmail.com>
3875         Fix cps--gensym
3876         * lisp/emacs-lisp/generator.el (cps--gensym): Fix.
3878 2015-05-13  Glenn Morris  <rgm@gnu.org>
3880         Fix bootstrap (void function cl-member).
3881         * lisp/emacs-lisp/cl-lib.el: Load cl-seq if no cl-loaddefs file.
3882         * lisp/emacs-lisp/cl-seq.el: Provide a feature.
3884 2015-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
3886         * lisp/loadup.el ("emacs-lisp/cl-generic"): Preload
3887         * src/lisp.mk (lisp): Add emacs-lisp/cl-generic.elc.
3888         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method):
3889         Avoid defalias for closures which are not immutable.
3890         (cl--generic-prefill-dispatchers): New macro.  Use it to prefill the
3891         dispatchers table with various entries.
3892         * lisp/emacs-lisp/ert.el (emacs-lisp-mode-hook):
3893         * lisp/emacs-lisp/seq.el (emacs-lisp-mode-hook): Use add-hook.
3895 2015-05-13  Eli Zaretskii  <eliz@gnu.org>
3897         Improve tagging of C bindings in DEFVAR_*
3898         * src/Makefile.in (TAGS): Add --regex options to tag the C binding
3899         from DEFVAR_*.
3901 2015-05-13  Paul Eggert  <eggert@cs.ucla.edu>
3903         * src/editfns.c (Fformat): Fix use-after-free bug (Bug#20548).
3905 2015-05-12  Glenn Morris  <rgm@gnu.org>
3907         * lisp/progmodes/tcl.el (tcl-filter):
3908         Handle comint-prompt-read-only like gud.el does.  (Bug#20549)
3910         Add basic VC push support.
3911         * lisp/vc/vc.el (vc-push): New autoloaded command.
3912         * lisp/vc/vc-hooks.el (vc-prefix-map, vc-menu-map): Add vc-push.
3913         * lisp/vc/vc-bzr.el (vc-bzr--pushpull): New, factored from vc-bzr-pull.
3914         (vc-bzr-pull): Reimplement using vc-bzr--pushpull.
3915         (vc-bzr-push): New.
3916         * lisp/vc/vc-git.el (vc-git--pushpull): New, factored from vc-git-pull.
3917         (vc-git-pull): Reimplement using vc-git--pushpull.
3918         (vc-git-push): New.
3919         * lisp/vc/vc-hg.el (vc-hg--pushpull): New, factored from vc-hg-pull.
3920         (vc-hg-pull, vc-hg-push): Reimplement using vc-hg--pushpull.
3921         * doc/emacs/maintaining.texi (Pulling / Pushing):
3922         Rename from "VC Pull".  Mention pushing.
3923         (VC With A Merging VCS, VC Change Log): Update xrefs.
3924         (Branches): Update menu.
3925         * doc/emacs/emacs.texi: Update menu.
3926         * etc/NEWS: Mention this.
3928 2015-05-12  Nicolas Petton  <nicolas@petton.fr>
3930         Improve the seq pcase pattern and the `seq-let' macro
3931         * lisp/emacs-lisp/seq.el: The pcase pattern now matches only if the
3932         object is a sequence, and binds each element of ARGS to the
3933         corresponding element of the sequence.
3935 2015-05-12  Eli Zaretskii  <eliz@gnu.org>
3937         Fix tags created from DEFVAR_* declarations in C
3938         * src/Makefile.in (TAGS): Improve the --regex argument to etags,
3939         to make tags extracted from DEFVAR_* declarations more accurate.
3941         Add a test suite for etags
3942         * test/etags/: New test suite, adapted from
3943         http://fly.isti.cnr.it/pub/software/unix/etags-regression-test.tar.bz2,
3944         whose original author is Francesco Potortì <pot@gnu.org>.
3946         Fix tagging of symbols in C enumerations
3947         * lib-src/etags.c (consider_token): Don't tag symbols in
3948         expressions that assign values to enum constants.  See
3949         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00291.html
3950         for details.
3951         (C_entries): Reset fvdef to fvnone after processing a preprocessor
3952         conditional and after a comma outside of parentheses.
3954 2015-05-12  Glenn Morris  <rgm@gnu.org>
3956         * lisp/url/url-handlers.el (url-file-name-completion)
3957         (url-file-name-all-completions): Silence compiler.
3959         * lisp/emacs-lisp/chart.el (chart-axis-draw): Replace obsolete alias.
3961         * lisp/play/dunnet.el (dun-dos-boot-msg): Fix time.  (Bug#20554)
3963 2015-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
3965         * lisp/emacs-lisp/cl-generic.el: Add dispatch on &context arguments
3966         (cl--generic-mandatory-args): Remove.
3967         (cl--generic-split-args): New function.
3968         (cl-generic-define, cl--generic-lambda): Use it.
3969         (cl-generic-define-method): Use it as well, and add support for
3970         context args.
3971         (cl--generic-get-dispatcher): Handle &context dispatch.
3972         (cl--generic-cache-miss): `dispatch-arg' can now be a context expression.
3973         (cl--generic-dispatchers): Pre-fill.
3974         * test/automated/cl-generic-tests.el (sm-generic-test-12-context): New test.
3976 2015-05-11  Glenn Morris  <rgm@gnu.org>
3978         * make-dist: Abort if "make ChangeLog" fails.  Add "--no-changelog".
3980 2015-05-11  Stefan Monnier  <monnier@iro.umontreal.ca>
3982         * lisp/term/xterm.el: Fix xterm-paste handling for rxvt
3983         * lisp/term/rxvt.el: Require term/xterm.
3984         (rxvt-function-map): Use xterm-rxvt-function-map.
3985         (rxvt-standard-colors): Move before first use.
3986         (terminal-init-rxvt): Use xterm--push-map and xterm-register-default-colors.
3987         (rxvt-rgb-convert-to-16bit, rxvt-register-default-colors): Remove.
3988         * lisp/term/xterm.el (xterm-rxvt-function-map): New var.
3989         Move shared bindings between rxvt and xterm to it.
3990         (xterm-function-map): Use it.  Move the xterm-paste binding to
3991         xterm-rxvt-function-map (bug#20444).
3992         (xterm-standard-colors): Move before first use.
3993         (xterm--push-map): New function.
3994         (xterm-register-default-colors): Take standard colors as argument.
3995         (terminal-init-xterm): Use it.  Adjust call to
3996         xterm-register-default-colors.
3998 2015-05-11  Glenn Morris  <rgm@gnu.org>
4000         * lisp/term/x-win.el: Quieten --without-x compilation.
4001         (x-own-selection-internal, x-disown-selection-internal)
4002         (x-selection-owner-p, x-selection-exists-p, x-get-selection-internal):
4003         Declare.
4005         * Makefile.in (emacslog): Remove srcdir.
4006         (ChangeLog): Update for the above.
4008 2015-05-11  Paul Eggert  <eggert@cs.ucla.edu>
4010         Spelling fix
4012 2015-05-10  Fabián Ezequiel Gallina  <fgallina@gnu.org>
4014         python.el: better limit for looking-back calls
4015         * lisp/progmodes/python.el (python-shell-accept-process-output):
4016         Use last comint prompt start as limit for looking-back.
4018 2015-05-10  Stefan Monnier  <monnier@iro.umontreal.ca>
4020         CEDET (srecode-insert-fcn): Fix use of oref on a class
4021         * lisp/cedet/srecode/insert.el (srecode-insert-fcn): Fix use of oref on
4022         a class.  Reported by Pierre Lorenzon.
4023         (srecode-template-inserter-point): Remove declaration.
4025         CEDET (srecode-create-dictionary): Avoid obsolete object name
4026         * lisp/cedet/srecode/dictionary.el (srecode-create-dictionary):
4027         Don't use a symbol as an object name.  Reported by Pierre Lorenzon.
4029 2015-05-10  Paul Eggert  <eggert@cs.ucla.edu>
4031         C-x 8 shorthands for curved quotes, Euro, etc.
4032         Although C-x 8 lets you insert arbitrary Unicode characters,
4033         it's awkward to use this to insert commonly used symbols such as curved
4034         quotes, the Euro symbol, etc.  This patch adds simpler sequences for
4035         characters commonly found in English text and in basic math.
4036         For example, assuming the Alt key works on your keyboard and iso-transl
4037         is loaded, one can now type "A-[" instead of "A-RET LEFT SIN TAB RET"
4038         to get the character "‘" (U+2018 LEFT SINGLE QUOTATION MARK).
4039         (Bug#20499)
4040         * doc/emacs/mule.texi (Unibyte Mode):
4041         A few other printing characters now work too.
4042         * etc/NEWS: Document this.
4043         * lisp/international/iso-transl.el (iso-transl-char-map):
4044         Also support the following characters:
4045         ‐ ‑ ‒ – — ― ‘ ’ “ ” † ‡ • ′ ″ € № ← → ↔ − ≈ ≠ ≤ ≥
4047 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
4049         Add xref-find-regexp
4050         * lisp/progmodes/xref.el (xref-find-function): Describe the
4051         `matches' action.
4052         (xref-find-regexp): New command, using it.
4053         (xref-collect-references): Rename to xref-collect-matches.
4054         (xref--collect-reference): Rename to xref--collect-match.
4055         (xref-collect-matches, xref--collect-match): Accept new argument,
4056         KIND.  Update accordingly.
4057         (xref--regexp-to-extended): New function.
4058         * lisp/progmodes/elisp-mode.el (elisp-xref-find): Support the
4059         `matches' action.
4060         (elisp--xref-find-matches): Accept new argument.  Resolve a FIXME.
4061         * lisp/progmodes/etags.el (etags-xref-find):
4062         Support the `matches' action.
4063         (etags--xref-find-matches): New function.
4065 2015-05-10  Glenn Morris  <rgm@gnu.org>
4067         * Makefile.in: Fixes for recent change-history changes.
4068         (change-history-nocommit): Update footer regexp.
4069         Ensure output script stays executable.
4071 2015-05-10  Nicolas Petton  <nicolas@petton.fr>
4073         New version of `seq-let' based on a pcase pattern
4074         * lisp/emacs-lisp/seq.el (seq-let): Define the macro in terms of a
4075         pcase pattern if `pcase-defmacro' is defined (Emacs>=25.1).
4077 2015-05-10  Przemysław Wojnowski  <esperanto@cumego.com>
4079         Add basic HTML5 tags and a template
4080         * lisp/textmodes/sgml-mode.el: Basic HTML5 support.
4081         (html-tag-alist): Add HTML5 tags.
4082         (html-tag-help): Add new tags descriptions.
4083         (html-navigational-links): Template for nav links.
4084         (html-html5-template): Template for a HTML5 page.
4086 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
4088         semantic/symref/grep: Don't use word boundaries
4089         * lisp/cedet/semantic/symref/grep.el
4090         (semantic-symref-perform-search): Instead of wrapping input in
4091         word boundaries, check that the characters before and after are
4092         not word constituents.
4094         semantic/symref/grep: Support regexp search
4095         * lisp/cedet/semantic/symref.el
4096         (semantic-symref-hit-to-tag-via-buffer): Don't regexp-quote when
4097         the search type is regexp.
4098         * lisp/cedet/semantic/symref/grep.el
4099         (semantic-symref-perform-search): Support the regexp search type.
4100         Pass -E to Grep when it's used.
4102         semantic-symref-regexp: Allow to input an arbitrary string
4103         * lisp/cedet/semantic/symref/list.el (semantic-symref-regexp):
4104         Allow to input an arbitrary string interactively.
4106         Remove tag-symbol-match-p from etags-xref-find-definitions-tag-order
4107         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
4108         Remove tag-symbol-match-p from the default value
4109         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00292.html).
4111         Declare find-tag obsolete
4112         * lisp/progmodes/etags.el (find-tag): Declare obsolete in favor of
4113         xref-find-definitions.
4115 2015-05-10  Jan D  <jan.h.d@swipnet.se>
4117         Draw composite string correctly (Bug#20537).
4118         * nsterm.m (ns_draw_composite_glyph_string_foreground): New function.
4119         (ns_draw_glyph_string): Call it (Bug#20537).
4121 2015-05-09  Eli Zaretskii  <eliz@gnu.org>
4123         Avoid infloop in ERC
4124         * lisp/simple.el (line-move-to-column): Ignore field boundaries
4125         while computing line beginning position.  (Bug#20498)
4127 2015-05-08  Glenn Morris  <rgm@gnu.org>
4129         * Makefile.in (ChangeLog): No longer pass "srcprefix"; cd instead.
4130         * build-aux/gitlog-to-emacslog: Check called from right directory.
4131         (srcprefix): Remove.
4133         * build-aux/gitlog-to-emacslog: Get rid of "distprefix".
4134         * Makefile.in (ChangeLog): No longer pass "distprefix".
4135         * make-dist: Update "make ChangeLog" syntax for the above change.
4137         * build-aux/gitlog-to-emacslog: Don't hard-code "ChangeLog.2".
4138         * Makefile.in (ChangeLog): Pass -n to gitlog-to-emacslog.
4140         * build-aux/gitlog-to-emacslog: Add "for earlier changes" to footer.
4142         Add command-line option-parsing to gitlog-to-emacslog.
4143         * build-aux/gitlog-to-emacslog: Add command-line options.
4144         By default, refuse to remove an existing output file.
4145         * Makefile.in (CHANGELOG): Update default.
4146         (ChangeLog): Do not test for existing file.
4147         (change-history-nocommit): Ensure temp file does not exist.
4149         Quieten --without-x compilation.
4150         * lisp/term/common-win.el: Provide a feature.
4151         * lisp/term/x-win.el (term/common-win): Require it.
4153         * lisp/dired-aux.el (dired-do-print): Require lpr.
4155         Quieten compilation, eg in --without-x builds.
4156         * lisp/dired-aux.el (lpr-printer-switch):
4157         * lisp/frame.el (tool-bar-height):
4158         * lisp/linum.el (font-info):
4159         * lisp/window.el (font-info, overflow-newline-into-fringe)
4160         (tool-bar-height):
4161         * lisp/emacs-lisp/package-x.el (tar-data-buffer):
4162         * lisp/gnus/gnus-util.el (iswitchb-mode):
4163         * lisp/mail/rmailmm.el (libxml-parse-html-region):
4164         * lisp/net/nsm.el (gnutls-peer-status)
4165         (gnutls-peer-status-warning-describe):
4166         * lisp/net/shr.el (libxml-parse-xml-region):
4167         * lisp/url/url-http.el (gnutls-peer-status): Declare.
4169 2015-05-08  Stefan Monnier  <monnier@iro.umontreal.ca>
4171         CEDET (srecode-pop, srecode-peek): Don't use `subclass'
4172         * lisp/cedet/srecode/insert.el (srecode-pop, srecode-peek): Don't use
4173         `subclass' since they're never called with a class.
4174         (srecode-insert-method, srecode-insert-subtemplate): Avoid obsolete
4175         srecode-dictionary-child-p.
4177 2015-05-08  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
4179         help--binding-locus: Document argument POSITION.
4180         * lisp/help.el (help--binding-locus): Document argument POSITION. (bug#20530)
4182 2015-05-08  Paul Eggert  <eggert@cs.ucla.edu>
4184         Merge from gnulib.
4185         * doc/misc/texinfo.tex: Get latest version.
4187 2015-05-08  Oleh Krehel  <ohwoeowho@gmail.com>
4189         ffap.el (ffap-read-file-or-url): Fix completing-read call
4190         * lisp/ffap.el (ffap-read-file-or-url): The HIST argument of
4191           `completing-read' should be a symbol.
4193 2015-05-08  Eli Zaretskii  <eliz@gnu.org>
4195         Verify file modifications by other programs
4196         * src/filelock.c (lock_file): Check whether the file was modified
4197         since it was visited even if 'create-lockfiles' is nil.  (Bug#18828)
4199         Fix keyboard macros that include function keys
4200         * src/keyboard.c (read_char_minibuf_menu_prompt): Record function
4201         keys in the macro before returning.  (Bug#20454)
4203 2015-05-08  Glenn Morris  <rgm@gnu.org>
4205         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
4206         "Copyright-paperwork-exempt".  (Bug#20324)
4208         * lisp/vc/log-edit.el: Handle "(tiny change)".  (Bug#20324)
4209         (log-edit-rewrite-tiny-change): New variable.
4210         (log-edit-insert-changelog): Maybe add "Copyright-paperwork-exempt".
4211         (log-edit-changelog-ours-p): Set log-edit-author to a cons.
4212         * etc/NEWS: Mention this.
4214         * lisp/calc/calc.el (math-zerop): Declare.
4216         * lisp/emacs-lisp/eieio-opt.el (help-fns-short-filename): Declare.
4218 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
4220         * lisp/emacs-lisp/subr-x.el (if-let): Fix debug spec
4221         Support the case when BINDINGS is a single tuple.  (Bug#20525)
4223         * etc/NEWS: Fix typo in commit 14bb519
4225 2015-05-07  Jan D  <jan.h.d@swipnet.se>
4227         Warn for multiple display crash for all Gtk+ versions.
4228         * configure.ac: Warn for multiple display crash for all Gtk+
4229         versions.  Output URL to Gtk+ bug (Bug#20452).
4231         ns-win.el (ns-paste-secondary): Use gui-get-selection.
4232         * ns-win.el (ns-paste-secondary): Use gui-get-selection.
4234 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
4236         * lisp/emacs-lisp/package.el: New "external" package status
4237         An external package is any installed package that's not built-in
4238         and not from `package-user-dir', which usually means it's from an
4239         entry in `package-directory-list'.  They are treated much like
4240         built-in packages, in that they cannot be through the Package Menu
4241         deleted and are not considered for upgrades.
4242         (package-desc-status): Identify if a package is installed outside
4243         `package-user-dir'.
4244         (package-menu--print-info-simple)
4245         (package-menu--status-predicate): Add support for it.
4246         * etc/NEWS: Document it.
4248 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
4250         * lisp/mail/rmail.el: Use lexical-binding
4251         (rmail-bury): Remove unused var `buffer-to-bury'.
4252         (rmail-get-new-mail): Remove unused vars `opoint' and `success'.
4253         (rmail-parse-url): Remove unused var `proto', `user', and `host'.
4254         (rmail-unrmail-new-mail-maybe): Remove unused var `new-file'.
4255         (rmail-insert-inbox-text): Remove unused var `movemail'.
4256         (rmail-add-mbox-headers): Remove unused var `limit'.
4257         (rmail-undelete-previous-message): Remove unused var `value'.
4258         (rmail-reply): Remove unused vars `resent-to', `resent-cc',
4259         `resent-reply-to'.
4260         (rmail-mime-mbox-buffer, rmail-mime-view-buffer): Declare.
4261         (rmail-restore-desktop-buffer): Rename arguments.
4263 2015-05-06  Glenn Morris  <rgm@gnu.org>
4265         * Makefile.in (change-history-commit): Add missing piece of previous.
4267         Avoid unnecessary bumping of Makefile.in's timestamp.
4268         * Makefile.in (gen_origin): Move to gitlog-to-emacslog.
4269         (emacslog): New variable.
4270         (ChangeLog): Use $emacslog.  Don't pass $gen_origin.
4271         (unchanged-history-files): Use $emacslog rather than Makefile.in.
4272         (change-history-nocommit): Store hash in $emacslog.
4273         * build-aux/gitlog-to-emacslog (gen_origin): Move default here.
4274         * admin/update_autogen (changelog_files): Update for the above.
4276         * Makefile.in: Don't always insist on removing existing "ChangeLog".
4277         (CHANGELOG): New variable.
4278         (no-ChangeLog): Remove.
4279         (ChangeLog): Replace "no-ChangeLog"; pass output file to script.
4280         (change-history-nocommit): Use a temp file rather than insisting
4281         on deletion of any existing "ChangeLog".
4283         * build-aux/gitlog-to-emacslog: Allow specification of output.
4285         * admin/update_autogen: Add option to update ChangeLog.
4286         (usage): Mention -H.
4287         (changelog_flag, changelog_n, changelog_files): New variables.
4288         (main): Check for -H, and maybe run change-history-nocommit.
4290 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
4292         * lisp/subr.el (delete-dups): Pre-size the hashtable.
4294         (define-modify-macro): Make sure cl--arglist-args is defined
4295         * lisp/emacs-lisp/cl.el (define-modify-macro): Make sure
4296         cl--arglist-args is defined (bug#20517).
4298 2015-05-06  Glenn Morris  <rgm@gnu.org>
4300         * Makefile.in (change-history-nocommit): New.
4302 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
4304         Only cancel timer when it is non-nil
4305         * lisp/cedet/pulse.el (pulse-momentary-unhighlight): Only cancel
4306         timer when it is non-nil
4307         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00223.html).
4309 2015-05-06  Glenn Morris  <rgm@gnu.org>
4311         Quieten cedet compilation
4312         * lisp/cedet/semantic/db-el.el (semanticdb-elisp-sym->tag):
4313         Invert fboundp test to quieten on current Emacs.
4314         * lisp/cedet/ede/config.el (ede-shell-run-something)
4315         (semanticdb-file-table-object, semanticdb-needs-refresh-p)
4316         (semanticdb-refresh-table): Declare.
4317         (ede-preprocessor-map): Require semantic/db.
4319         Quieten cc-mode compilation
4320         * lisp/progmodes/cc-awk.el (c-forward-sws):
4321         * lisp/progmodes/cc-cmds.el (c-forward-subword, c-backward-subword):
4322         Declare.
4324 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
4326         lisp/subr.el (delete-dups): Avoid nreverse.
4328 2015-05-06  Artur Malabarba  <bruce.connor.am@gmail.com>
4330         * lisp/subr.el (delete-dups): Make it destructive again.
4332 2015-05-06  Paul Eggert  <eggert@cs.ucla.edu>
4334         * doc/lispref/sequences.texi (Sequence Functions): Fix quoting.
4336 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
4338         * lisp/emacs-lisp/testcover.el: Don't use edebug--read (bug#20487)
4339         * lisp/emacs-lisp/testcover.el: Use lexical-binding.
4340         (testcover--read): Rename from testcover-read.  Change calling convention.
4341         Use edebug-read-and-maybe-wrap-form now that edebug-read is gone.
4342         (testcover-start): Use add-function.  Move edebug-all-defs binding to
4343         testcover--read.
4344         (testcover-this-defun): Tighten scope of edebug-all-defs binding.
4345         (testcover-mark): Remove unused var `item'.
4346         * src/lread.c (syms_of_lread): Default load-read-function to `read'.
4348 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
4350         lisp/subr.el (delete-dups): Use a hash table
4351         * lisp/subr.el (delete-dups): When there are more than 100 candidates,
4352           use a hash table. This can result in ~500 times speed-up for typical
4353           collections of size 5000, like that of `load-library'.
4355 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
4357         CEDET: Avoid `oref' on classes in a few more cases
4358         * lisp/cedet/ede/generic.el (ede-find-target):
4359         * lisp/cedet/ede.el (ede-project-forms-menu): Avoid `oref' on classes.
4360         * lisp/cedet/semantic/bovine/gcc.el (semantic-gcc-setup): Remove unused
4361         var `prefix'.
4363         * lisp/cedet/semantic/symref/grep.el: Fix unused var warnings
4364         * lisp/cedet/semantic/symref/grep.el (grepflags, greppattern): Declare.
4365         (semantic-symref-perform-search): Remove unused var `pat'.
4367         CEDET (srecode-compile-inserter): Avoid `oref' on classes
4368         * lisp/cedet/srecode/compile.el (srecode-compile-inserter):
4369         Avoid `oref' on classes (bug#20491).
4370         (srecode-compile-split-code): Remove unused var `key'.
4372 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
4374         Clean up pulse.el a little
4375         * lisp/cedet/pulse.el (pulse): Remove.
4376         (pulse-momentary-timer): Save instead of the stop time.
4377         (pulse-momentary-highlight-overlay): Call
4378         pulse-momentary-unhighlight first thing. Treat
4379         pulse-momentary-overlay as a single value, not a list. Save the
4380         created timer. Only pass the stop time to the timer.
4381         (pulse-tick): Update accordingly.
4382         (pulse-momentary-unhighlight): Treat pulse-momentary-overlay as a
4383         single value. Cancel the timer.
4385 2015-05-06  Tassilo Horn  <tsdh@gnu.org>
4387         Support the biblatex journaltitle field
4388         * lisp/textmodes/reftex-cite.el (reftex-format-bib-entry):
4389         Support the biblatex journaltitle field.
4391 2015-05-05  Glenn Morris  <rgm@gnu.org>
4393         Minor declare-function improvement
4394         * lisp/emacs-lisp/bytecomp.el
4395         (byte-compile-macroexpand-declare-function):
4396         Handle declarations after calls.  (Bug#20509)
4398         * lisp/progmodes/js.el (js--optimize-arglist): Remove declaration.
4400         * lisp/w32-fns.el (w32-shell-name): Silence compiler.
4402 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
4404         Pulse using a timer
4405         * lisp/cedet/pulse.el (pulse-momentary-stop-time): New variable.
4406         (pulse-momentary-highlight-overlay): Set up the timer instead of
4407         calling `pulse'
4408         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/).
4409         (pulse-tick): New function.
4410         (pulse-momentary-unhighlight): Cut off the stop time.
4411         (pulse-delay): Update the docstring WRT to not using sit-for.
4413         Add semantic/symref/grep file patterns for ruby-mode
4414         * lisp/cedet/semantic/symref/grep.el
4415         (semantic-symref-filepattern-alist): Add patterns for
4416         ruby-mode. Clarify the docstring.
4418         Don't require match
4419         * lisp/progmodes/xref.el (xref--read-identifier): Don't require
4420         match. That doesn't work for every command, and some identifier
4421         completion tables are bound to be imperfect anyway.
4423 2015-05-05  Stefan Monnier  <monnier@iro.umontreal.ca>
4425         * lisp/cedet/semantic/grammar.el: Fix compiler warnings (bug#20505)
4426         (semantic-grammar--template-expand): New function.
4427         (semantic-grammar-header, semantic-grammar-footer): Use it.
4428         (semantic-grammar--lex-block-specs): Remove unused var `block-spec'.
4429         (semantic-grammar-file-regexp): Refine regexp.
4430         (semantic-grammar-eldoc-get-macro-docstring):
4431         Use elisp-get-fnsym-args-string when available.
4432         (semantic-idle-summary-current-symbol-info): Use new elisp-* names
4433         instead of the old eldoc-* names.
4434         * lisp/emacs-lisp/eldoc.el (eldoc-docstring-format-sym-doc): Move back
4435         from elisp-mode.el.  Tweak calling convention.
4436         * lisp/progmodes/elisp-mode.el (package-user-dir): Declare.
4437         (elisp-get-fnsym-args-string): Add `prefix' argument.  Rename from
4438         elisp--get-fnsym-args-string.
4439         (elisp--highlight-function-argument): Add `prefix' arg.
4440         (elisp-get-var-docstring): Rename from elisp--get-var-docstring.
4441         (elisp--docstring-format-sym-doc): Move back to eldoc.el.
4443 2015-05-05  Glenn Morris  <rgm@gnu.org>
4445         * lisp/help-fns.el (describe-function-1):
4446         Handle builtins with advertised calling conventions.  (Bug#20479)
4448 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
4450         Merge branch 'seq-let'
4452         Update `seq-let' documentation
4453         * doc/lispref/sequences.texi: Update the documentation of `seq-let'
4454         with the support of  `&rest'.
4456         Add support for &rest in `seq-let'
4457         * lisp/emacs-lisp/seq.el (seq--make-bindings): Add support for `&rest'
4458         in the argument list.
4459         * test/automated/seq-tests.el: Add a test for parsing and binding
4460         `&rest' in `seq-let'.
4462 2015-05-05  Paul Eggert  <eggert@cs.ucla.edu>
4464         Spelling fixes
4466 2015-05-05  (tiny change) Pierre Lorenzon  <devel@pollock-nageoire.net>
4468         * eieio-custom.el (eieio-object-value-get): Add missing increment
4469         (Bug#20467)
4471         (eieio-object-value-create): Adjust to new slots representation
4472         (Bug#20467)
4473         * eieio-custom.el (eieio-object-value-create):
4474         Fix missed adjustment to new representation of slots metadata.
4476 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
4478         * lisp/emacs-lisp/seq.el (seq--make-bindings): Improve the docstring.
4480 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
4482         Work around "Attempt to modify read-only object"
4483         * lisp/progmodes/elisp-mode.el (elisp--xref-format): Extract from
4484         elisp--xref-find-definitions, to work around "Attempt to modify
4485         read-only object" error.
4487         Only skip some variables that have function counterparts
4488         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
4489         Only skip minor-mode-named variable if it's defined in a Lisp
4490         file, and it's in minor-mode-list (bug#20506).
4491         * test/automated/elisp-mode-tests.el
4492         (elisp-xref-finds-both-function-and-variable)
4493         (elisp-xref-finds-only-function-for-minor-mode): New tests.
4495 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
4497         Buttonize the whole line, including the number at the beginning
4498         * lisp/progmodes/xref.el (xref--location-at-point): Revert the
4499         previous change.
4500         (xref--insert-xrefs): Buttonize the whole line, including the
4501         number at the beginning.
4503         Make sure we're inside the let bindings
4504         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
4505         Make sure we're inside the let bindings.
4506         * test/automated/elisp-mode-tests.el
4507         (elisp-completes-functions-after-let-bindings): New test.
4509 2015-05-04  Glenn Morris  <rgm@gnu.org>
4511         * lisp/cedet/semantic/grammar.el (eldoc-function-argstring)
4512         (eldoc-docstring-format-sym-doc, eldoc-last-data-store)
4513         (eldoc-get-fnsym-args-string, eldoc-get-var-docstring):
4514         Remove outdated declarations.
4516         Replace instances of "(eval-when-compile (autoload ...))"
4517         * lisp/gnus/gnus-art.el (nneething-get-file-name):
4518         Declare rather than autoload.
4519         * lisp/gnus/gnus-async.el (gnus-html-prefetch-images):
4520         Remove pointless autoload.
4521         * lisp/gnus/gnus-sync.el (gnus-group-topic): Autoload at run-time.
4522         (gnus-topic-create-topic, gnus-topic-enter-dribble):
4523         Declare rather than autoload.
4524         * lisp/gnus/mm-archive.el (gnus-recursive-directory-files)
4525         (mailcap-extension-to-mime): Autoload at run-time.
4526         * lisp/gnus/mm-util.el (latin-unity-massage-name)
4527         (latin-unity-maybe-remap, latin-unity-representations-feasible-region)
4528         (latin-unity-representations-present-region):
4529         Declare rather than autoload.
4530         * lisp/gnus/mml-smime.el (epg-make-context)
4531         (epg-passphrase-callback-function): Autoload at run-time.
4532         (epg-context-set-signers, epg-context-result-for)
4533         (epg-new-signature-digest-algorithm)
4534         (epg-verify-result-to-string, epg-list-keys, epg-verify-string)
4535         (epg-sign-string, epg-encrypt-string)
4536         (epg-context-set-passphrase-callback, epg-sub-key-fingerprint)
4537         (epg-configuration, epg-expand-group, epa-select-keys):
4538         Declare rather than autoload.
4539         * lisp/gnus/nnir.el (nnimap-change-group, nnimap-make-thread-query):
4540         Autoload at run-time.
4541         (gnus-group-topic-name, nnimap-buffer, nnimap-command)
4542         (gnus-registry-get-id-key, gnus-registry-action):
4543         Declare rather than autoload.
4544         * lisp/gnus/nnmail.el (mail-send-and-exit): Autoload at run-time.
4545         * lisp/gnus/spam.el (spam-stat-buffer-change-to-non-spam)
4546         (spam-stat-buffer-change-to-spam, spam-stat-buffer-is-non-spam)
4547         (spam-stat-buffer-is-spam, spam-stat-load, spam-stat-save)
4548         (spam-stat-split-fancy): Remove pointless autoloads.
4549         * lisp/net/mairix.el: Load gnus-util when compiling.
4550         (gnus-group-read-ephemeral-group, gnus-summary-toggle-header)
4551         (message-field-value): Declare rather than autoload.
4552         (mairix-gnus-ephemeral-nndoc, mairix-gnus-fetch-field):
4553         Check gnus-alive-p is fbound.
4554         (vm-quit, vm-visit-folder, vm-select-folder-buffer)
4555         (vm-check-for-killed-summary, vm-error-if-folder-empty)
4556         (vm-get-header-contents, vm-select-marked-or-prefixed-messages):
4557         Declare rather than autoload.
4559         * lisp/gnus/mm-view.el (epg-decrypt-string): Autoload.
4561         * lisp/gnus/mml-smime.el (epg-key-sub-key-list)
4562         (epg-sub-key-capability, epg-sub-key-validity): Fix declarations.
4564         * lisp/progmodes/elisp-mode.el (xref-collect-references): Declare.
4566         * lisp/emacs-lisp/debug.el (help-xref-interned): Update declaration.
4568         * lisp/allout.el (epg-user-id-string, epg-key-user-id-list):
4569         * lisp/emacs-lisp/package.el (epg-signature-status):
4570         Fix declarations.
4572         * lisp/play/gametree.el (gametree-show-children-and-entry)
4573         (gametree-apply-layout, gametree-mouse-show-subtree)
4574         (gametree-mouse-hide-subtree): Replace obsolete outline aliases.
4576         * lisp/emacs-lisp/check-declare.el (check-declare-verify):
4577         Handle cl-defgeneric, cl-defmethod.
4579 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
4581         Highlight both type and symbol name
4582         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
4583         Highlight both type and symbol name.
4585         Insert, highlight and align line numbers in xref output
4586         * lisp/progmodes/etags.el (xref-location-line): Specialize for
4587         xref-etags-location.
4588         * lisp/progmodes/xref.el (xref-location-line): New generic method.
4589         (xref-file-location): Add reader for the line slot.
4590         (xref--location-at-point): Skip to the `xref-location' property.
4591         (xref--collect-reference): Drop the line number from description.
4592         (xref--insert-xrefs): Insert, highlight and align line numbers.
4594 2015-05-04  Daniel Colascione  <dancol@dancol.org>
4596         Fix previous commit
4598 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
4600         Don't pulse the indentation, or the newline
4601         * lisp/cedet/pulse.el (pulse-lighten-highlight)
4602         (pulse-reset-face): Fall back to the inherited background
4603         attribute in FACE.
4604         (pulse-momentary-highlight-region): Add autoload cookie.
4605         * lisp/progmodes/xref.el (xref--maybe-pulse): Don't highlight the
4606         indentation, or the newline, if the line's non-empty
4607         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00118.html).
4609 2015-05-04  Daniel Colascione  <dancol@dancol.org>
4611         Add `save-mark-and-excursion', which has the old `save-excursion' behavior
4612         * doc/lispref/positions.texi (Excursions): Document
4613         `save-mark-and-excursion'.
4614         * lisp/font-lock.el (font-lock-fontify-block): Use
4615         `save-mark-and-excursion' instead of `save-excursion', restoring
4616         Emacs 24 behavior.
4617         * lisp/simple.el (save-mark-and-excursion--save)
4618         (save-mark-and-excursion--restore): New functions.
4619         (save-mark-and-excursion): New user macro.
4620         * src/editfns.c (Fsave_excursion): Mention
4621         `save-mark-and-excursion' in `save-excursion' documentation.
4623 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
4625         Classify lone symbol inside let varlist as variable
4626         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
4627         Classify lone symbol inside let varlist as variable.
4628         * test/automated/elisp-mode-tests.el (completest-variables-in-let-bindings):
4629         New test.
4631         Add xref-pulse-on-jump
4632         * lisp/cedet/pulse.el (pulse-momentary-highlight-one-line):
4633         Add autoload cookie.
4634         * lisp/progmodes/xref.el (xref-pulse-on-jump): New option.
4635         (xref--maybe-pulse): New function.
4636         (xref-pop-marker-stack, xref--pop-to-location)
4637         (xref--display-position): Use it.
4638         (xref--location-at-point): Use back-to-indentation.
4640 2015-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
4642         * lisp/org/org-{macs,list}.el: Fix lexical warnings
4643         * lisp/org/org-list.el (org-list-struct): Remove unused var `ind'.
4644         (org-list-get-next-item, org-list-get-prev-item)
4645         (org-list-get-children): Mark unused arg `struct'.
4646         (org-list-use-alpha-bul-p): Remove unused var `bul'.
4647         (org-toggle-checkbox): Mark unused var.
4648         (org-update-checkbox-count): Remove unused var `box-num'.
4649         (org-adapt-indentation): Declare.
4650         (org-list-parse-list): Declare var instead of adding a dummy duplicate.
4651         (org-list-send-list): Remove unused var `txt'.
4652         (org-list-to-latex, org-list-to-texinfo): Mark unused arg `params'.
4653         (org-list-to-subtree): Add prefix to dyn-bind var, and declare them.
4654         * lisp/org/org-macs.el: Use `declare'.
4655         (org-with-limited-levels): Declare dyn-bound vars.
4657 2015-05-04  Eli Zaretskii  <eliz@gnu.org>
4659         Fix minor issues with CEDET on MS-Windows
4660         * lisp/cedet/semantic/symref/idutils.el
4661         (semantic-symref-parse-tool-output-one-line): Fix the search
4662         regexp to match MS-Windows file names with drive letters.
4663         (Bug#19468)
4664         * lisp/cedet/semantic/symref/grep.el
4665         (semantic-symref-grep-use-template): Remove "--color=always" from
4666         Grep switches on MS-Windows.
4667         (semantic-symref-grep-shell): Use shell-file-name as the default
4668         value, so this works not only on Posix platforms.
4669         (semantic-symref-perform-search): Use shell-quote-argument instead
4670         of literal '..' for portable quoting of Grep command-line
4671         argument.  Use shell-command-switch instead of a literal "-c".
4672         * lisp/cedet/semantic/bovine/gcc.el
4673         (semantic-gcc-get-include-paths): Use file-name-absolute-p to test
4674         for an absolute file name in a portable way.
4676 2015-05-04  Artur Malabarba  <bruce.connor.am@gmail.com>
4678         * lisp/emacs-lisp/package.el: Remove `package--silence' variable
4679         (package-import-keyring, package-refresh-contents)
4680         (package-compute-transaction, package--save-selected-packages)
4681         (package-install-from-archive, package-delete)
4682         (package-menu--perform-transaction): Use `inhibit-message'
4683         instead.
4684         (package--compile): Set `warning-minimum-level' to :error.
4686 2015-05-03  Stefan Monnier  <monnier@iro.umontreal.ca>
4688         * lisp/term/screen.el (xterm-screen-extra-capabilities): New custom
4689         (terminal-init-screen): Use it (bug#20356).
4690         * lisp/term/xterm.el: Provide `term/xterm' instead of `xterm'.
4691         (xterm--extra-capabilities-type): New const.
4692         (xterm-extra-capabilities): Use it.
4693         (xterm--version-handler): Lower the pseudo-version for `screen'.
4695 2015-05-03  Dmitry Gutov  <dgutov@yandex.ru>
4697         xref--insert-xrefs: Tweak the faces
4698         * lisp/progmodes/xref.el (xref--insert-xrefs): Tweak the faces.
4699         Always insert a newline at the end (to avoid mouse-face background
4700         tail at the last line).
4702         elisp-completion-at-point: Prioritize being quoted over funpos
4703         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
4704         Only consider function position when not inside quoted form
4705         (bug#20425).
4706         * test/automated/elisp-mode-tests.el: New file.
4708         Stop vc-print-log from jumping to the top
4709         * lisp/vc/vc.el (vc-print-log-internal): Pass nil
4710         GOTO-LOCATION-FUNC to vc-log-internal-common when WORKING-REVISION
4711         is not specified.
4712         (vc-incoming-outgoing-internal): Always pass nil.
4713         (vc-log-internal-common): When GOTO-LOCATION-FUNC is nil, don't
4714         call it, and don't set vc-sentinel-movepoint (bug#15322).
4715         (vc-print-root-log): Don't fetch the root working revision, nor
4716         pass it to vc-print-log-internal.
4718 2015-05-02  Michael Vehrs  <Michael.Burschik@gmx.de>
4720         Fix display of keyboard layouts for right-to-left scripts
4721         * lisp/international/quail.el (quail-insert-kbd-layout): Force
4722         left-to-right paragraph direction.
4724 2015-05-02  K. Handa  <handa@gnu.org>
4726         * cmds.c (internal_self_insert): When we insert spaces for
4727         padding, set point before the padding spaces, not after them.
4729 2015-05-02  Nicolas Petton  <nicolas@petton.fr>
4731         * lisp/emacs-lisp/seq.el (seq-p): New alias to `sequencep'.
4733 2015-05-02  Dmitry Gutov  <dgutov@yandex.ru>
4735         Fix etags-xref-find for references
4736         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): Use `cl-mapcan'.
4737         * lisp/progmodes/etags.el (etags-xref-find): Ditto.  Prompt for
4738         directory if no tags tables are loaded (bug#19468).
4740 2015-05-02  Philipp Stephani  <phst@google.com>
4742         Update the options in whitespace-style defcustom
4743         * lisp/whitespace.el (whitespace-style): Use `set' instead of a
4744         `repeat' because the option is really set-like.  Add missing
4745         options.  Reorder options to match the order in the
4746         documentation.  (Bug#20346)
4748 2015-05-02  Eli Zaretskii  <eliz@gnu.org>
4750         Fix error diagnostics of c-macro-expand
4751         * lisp/progmodes/cmacexp.el (c-macro-expansion): Don't bail out
4752         too early if no start-marker string was found -- that generally
4753         means cpp exited abnormally, and we still want to show its error
4754         messages to the user.
4756         Don't require Texinfo 5.0 for Emacs documentation
4757         * doc/emacs/docstyle.texi: Use "@set txicodequoteundirected" and
4758         "@set txicodequotebacktick" instead of "@codequotebacktick on" and
4759         "@codequoteundirected on", respectively, to avoid requiring
4760         Texinfo 5.x for Emacs documentation.
4762 2015-05-01  Simen Heggestøyl  <simenheg@gmail.com>
4764         * lisp/files.el (pwd):
4765         When called with a prefix argument, insert the current default
4766         directory at point.
4768 2015-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>
4770         * lisp/isearch.el (isearch-mode-map): Allow backspace remapping
4771         * lisp/isearch.el (isearch-mode-map): Don't inhibit
4772         function-key-map remapping for backspace (bug#20466).
4774 2015-05-01  Dmitry Gutov  <dgutov@yandex.ru>
4776         Implement xref-find-references in etags and elisp-mode
4777         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): New function.
4778         (elisp-xref-find): Use it.
4779         * lisp/progmodes/etags.el (etags-xref-find): Use `xref-collect-references'.
4780         * lisp/progmodes/xref.el (xref-collect-references):
4781         (xref--collect-reference): New functions.
4783 2015-05-01  Paul Eggert  <eggert@cs.ucla.edu>
4785         Prefer plain characters to Texinfo circumlocutions
4786         For example, prefer 'François' to 'Fran\c{c}ois', 'Fran\c cois',
4787         'Fran@,{c}ois' or 'Francois' (all of which were used!) in Texinfo sources.
4789         Fix single-quoting style in PDF manuals
4790         The PDF versions of the GNU manuals used curved single quotes to
4791         represent grave accent and apostrophe, which made it a pain to cut
4792         and paste code examples from them.  Fix the PDF versions to use
4793         grave accent and apostrophe for Lisp source code, keystrokes, etc.
4794         This change does not affect the info files, nor does it affect
4795         ordinary uses of curved single quotes in PDF.
4796         * doc/emacs/docstyle.texi: New file, which specifies treatment for
4797         grave accent and apostrophe, as well as the document encoding.
4798         * doc/emacs/emacs-xtra.texi, doc/emacs/emacs.texi:
4799         * doc/lispintro/emacs-lisp-intro.texi:
4800         * doc/lispref/back.texi, doc/lispref/book-spine.texi:
4801         * doc/lispref/elisp.texi, doc/lispref/lay-flat.texi:
4802         * doc/misc/ada-mode.texi, doc/misc/auth.texi:
4803         * doc/misc/autotype.texi, doc/misc/bovine.texi, doc/misc/calc.texi:
4804         * doc/misc/cc-mode.texi, doc/misc/cl.texi, doc/misc/dbus.texi:
4805         * doc/misc/dired-x.texi, doc/misc/ebrowse.texi, doc/misc/ede.texi:
4806         * doc/misc/ediff.texi, doc/misc/edt.texi, doc/misc/efaq-w32.texi:
4807         * doc/misc/efaq.texi, doc/misc/eieio.texi, doc/misc/emacs-gnutls.texi:
4808         * doc/misc/emacs-mime.texi, doc/misc/epa.texi, doc/misc/erc.texi:
4809         * doc/misc/ert.texi, doc/misc/eshell.texi, doc/misc/eudc.texi:
4810         * doc/misc/eww.texi, doc/misc/flymake.texi, doc/misc/forms.texi:
4811         * doc/misc/gnus-coding.texi, doc/misc/gnus-faq.texi:
4812         * doc/misc/gnus.texi, doc/misc/htmlfontify.texi:
4813         * doc/misc/idlwave.texi, doc/misc/ido.texi, doc/misc/info.texi:
4814         * doc/misc/mairix-el.texi, doc/misc/message.texi, doc/misc/mh-e.texi:
4815         * doc/misc/newsticker.texi, doc/misc/nxml-mode.texi:
4816         * doc/misc/octave-mode.texi, doc/misc/org.texi, doc/misc/pcl-cvs.texi:
4817         * doc/misc/pgg.texi, doc/misc/rcirc.texi, doc/misc/reftex.texi:
4818         * doc/misc/remember.texi, doc/misc/sasl.texi, doc/misc/sc.texi:
4819         * doc/misc/semantic.texi, doc/misc/ses.texi, doc/misc/sieve.texi:
4820         * doc/misc/smtpmail.texi, doc/misc/speedbar.texi:
4821         * doc/misc/srecode.texi, doc/misc/todo-mode.texi, doc/misc/tramp.texi:
4822         * doc/misc/url.texi, doc/misc/vhdl-mode.texi, doc/misc/vip.texi:
4823         * doc/misc/viper.texi, doc/misc/widget.texi, doc/misc/wisent.texi:
4824         * doc/misc/woman.texi:
4825         Use it instead of '@documentencoding UTF-8', to lessen the need for
4826         global changes like this in the future.
4827         * doc/emacs/Makefile.in (EMACS_XTRA):
4828         * doc/lispintro/Makefile.in (srcs):
4829         * doc/lispref/Makefile.in (srcs):
4830         Add dependency on docstyle.texi.
4831         * doc/misc/Makefile.in (style): New macro.
4832         (${buildinfodir}/%.info, %.dvi, %.pdf, %.html)
4833         (${buildinfodir}/ccmode.info, ${buildinfodir}/efaq%.info, gnus_deps):
4834         Use it.
4836 2015-05-01  Glenn Morris  <rgm@gnu.org>
4838         * test/automated/cl-lib-tests.el (cl-lib-adjoin-test): Fix it.
4840         * lisp/emacs-lisp/pcase.el (get-edebug-spec, edebug-match)
4841         (help-fns--signature): Declare.
4843         * lisp/emacs-lisp/pcase.el (pcase--make-docstring): Require help-fns.
4845 2015-05-01  Nicolas Petton  <nicolas@petton.fr>
4847         New macro seq-let, providing destructuring support to seq.el
4848         * lisp/emacs-lisp/seq.el (seq-let): New macro.  `seq-let' is similar
4849         to `cl-destructuring-bind' but works on all sequence types supported
4850         by `seq.el'.  Bump version number to 1.6.
4851         * test/automated/seq-tests.el: Add tests for seq-let.
4852         * doc/lispref/sequences.texi: Add documentation for seq-let.
4854 2015-05-01  Pontus Michael  <m.pontus@gmail.com>
4856         * lisp/simple.el (blink-matching-open): Better behavior in minibuffer
4858 2015-05-01  Glenn Morris  <rgm@gnu.org>
4860         * lisp/emacs-lisp/ert.el (ert--special-operator-p): Fix previous.
4862 2015-05-01  Artur Malabarba  <bruce.connor.am@gmail.com>
4864         * lisp/emacs-lisp/bytecomp.el: Revert "Silence noninteractive compilations"
4865         This reverts commit 9a7ddde977378cb5276a81476ae458889c403267.
4866         This reverts commit 3c0ea587daf8b17960b90603a70e3ac4057d883d.
4867         With message: "* lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'".
4868         (Bug#20445).
4870 2015-05-01  K. Handa  <handa@gnu.org>
4872         * mule-cmds.el (input-method-use-echo-area): Change :type to
4873         'boolean.
4875 2015-05-01  Lars Magne Ingebrigtsen  <larsi@gnus.org>
4877         Start using proportional fonts in eww by default
4878         * lisp/net/shr.el (shr-use-fonts): Switch the default to t, since
4879         it seems to work well.
4881         Fix links in tables in shr
4882         * lisp/net/shr.el: Remove `shr-inhibit-decoration', because that
4883         makes (some) links in tables not work.
4885 2015-05-01  Jan D  <jan.h.d@swipnet.se>
4887         (ns-get-cut-buffer-internal): Remove this alias.
4888         * lisp/term/ns-win.el (ns-get-cut-buffer-internal): Remove this alias.
4890 2015-04-30  Glenn Morris  <rgm@gnu.org>
4892         * lisp/emacs-lisp/ert.el (ert--special-operator-p):
4893         Update for 2015-02-08 change to indirect-function.
4895         * lisp/term/ns-win.el (ns-get-selection-internal):
4896         Remove declaration for function deleted 2014-10-21.
4898         * lisp/dom.el: Load subr-x when compiling, for when-let.
4900         Silence some compilation warnings
4901         * lisp/emacs-lisp/check-declare.el (compilation-forget-errors):
4902         * lisp/emulation/cua-base.el (delete-active-region):
4903         * lisp/net/net-utils.el (w32-get-console-output-codepage):
4904         * lisp/term/ns-win.el (ns-own-selection-internal)
4905         (ns-disown-selection-internal, ns-selection-owner-p)
4906         (ns-selection-exists-p, ns-get-selection):
4907         Declare for compiler..
4909         Function declaration updates prompted by 'make check-declare'
4910         * lisp/emacs-lisp/package.el (lm-homepage):
4911         * lisp/gnus/gnus-util.el (iswitchb-read-buffer):
4912         * lisp/gnus/mm-decode.el (libxml-parse-html-region):
4913         * lisp/gnus/mml.el (libxml-parse-html-region):
4914         * lisp/gnus/nnrss.el (libxml-parse-html-region):
4915         * lisp/net/eww.el (libxml-parse-html-region):
4916         * lisp/net/shr.el (libxml-parse-html-region):
4917         * lisp/vc/vc-bzr.el (vc-annotate-convert-time):
4918         * lisp/vc/vc-cvs.el (vc-annotate-convert-time):
4919         * lisp/vc/vc-git.el (vc-annotate-convert-time):
4920         * lisp/vc/vc-hg.el (vc-annotate-convert-time):
4921         * lisp/vc/vc-mtn.el (vc-annotate-convert-time):
4922         * lisp/vc/vc-rcs.el (vc-annotate-convert-time):
4923         Update declaration.
4925         Remove compatibility code for 20-year old function renaming
4926         * lisp/progmodes/idlw-shell.el (idlwave-shell-comint-filter):
4927         Make it an obsolete alias.
4928         (idlwave-shell-filter): Change all uses to comint-output-filter.
4930 2015-04-30  Tassilo Horn  <tsdh@gnu.org>
4932         Add ace-window face config
4933         * etc/themes/tsdh-light-theme.el (tsdh-light): Add ace-window face
4934         configuration.
4936 2015-04-30  Paul Eggert  <eggert@cs.ucla.edu>
4938         Unclutter 'make doc' output a bit
4939         * Makefile.in ($(DOCS), $(INSTALL_DOC), $(UNINSTALL_DOC)):
4940         Use make subst rather than sh IFS to split target string apart.
4941         This makes 'make' output easier to follow.
4943         Merge from gnulib
4944         * doc/misc/texinfo.tex: Update from gnulib.
4946 2015-04-30  Artur Malabarba  <bruce.connor.am@gmail.com>
4948         * lisp/emacs-lisp/package.el: Some speed optimizations on menu refresh
4949         (package-menu--print-info): Obsolete.
4950         (package-menu--print-info-simple): New function.
4951         (package-menu--refresh): Use it, simplify code, and improve
4952         performance.
4953         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
4954         Tiny performance improvement.
4956         * lisp/emacs-lisp/package.el (package--message): inhibit-message
4958 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
4960         Omit -Wstrict-overflow workaround in GCC 5
4961         * src/process.c: Remove workaround for GCC -Wstrict-overflow bug
4962         if it's GCC 5 or later, as the bug appears to be fixed in GCC 5.1.
4964         Merge from gnulib
4965         This incorporates:
4966         2015-04-29 extern-inline: no need for workaround in GCC 5.1
4967         2015-04-26 file-has-acl: port to CentOS 6
4968         * m4/acl.m4, m4/extern-inline.m4: Update from gnulib.
4970 2015-04-29  Helmut Eller  <eller.helmut@gmail.com>
4972         Set next-error-* in xref--xref-buffer-mode
4973         * xref.el (xref--xref-buffer-mode): Set `next-error-function' and
4974         `next-error-last-buffer'.
4975         (xref--next-error-function): New function.
4976         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01311.html)
4978 2015-04-29  Fabián Ezequiel Gallina  <fgallina@gnu.org>
4980         python.el: Fix warnings on looking-back calls missing LIMIT
4981         * lisp/progmodes/python.el (python-shell-accept-process-output):
4982         Pass LIMIT arg to looking-back.
4984 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
4986         * lisp/emacs-lisp/package.el: Use pushnew for downloads in progress
4987         (package--download-and-read-archives): Use pushnew instead of
4988         append.  If something terrible happened during a previous
4989         download, simply refreshing should now make things work again.
4991 2015-04-29  Dmitry Gutov  <dgutov@yandex.ru>
4993         Introduce etags-xref-find-definitions-tag-order
4994         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
4995         New variable.
4996         (etags--xref-find-definitions): Use it (bug#19468).
4998 2015-04-29  Eli Zaretskii  <eliz@gnu.org>
5000         PATH- and completion-related fixes in Eshell on MS-Windows
5001         * lisp/eshell/esh-ext.el (eshell-search-path): When running on
5002         MS-Windows, prepend "." to list of directories produced from PATH,
5003         as Windows always implicitly searches the current directory first.
5004         (eshell-force-execution): Make it have a non-nil default value on
5005         MS-Windows and MS-DOS.
5006         * lisp/eshell/em-cmpl.el (eshell-complete-commands-list): If
5007         eshell-force-execution is non-nil, complete on readable files and
5008         directories, not only executables.  When running on MS-Windows,
5009         prepend "." to list of directories produced from PATH, as Windows
5010         always implicitly searches the current directory first.
5012 2015-04-29  Sam Steingold  <sds@gnu.org>
5014         bury RCIRC buffers when there is no activity
5015         lisp/net/rcirc.el (rcirc-non-irc-buffer): remove
5016         (rcirc-bury-buffers): new function
5017         (rcirc-next-active-buffer): when there is no new activity, use
5018         `rcirc-bury-buffers' to hide all RCIRC buffers
5020 2015-04-29  Krzysztof Jurewicz  <krzysztof.jurewicz@gmail.com>  (tiny change)
5022         Fix DBUS query result parsing for secrets-search-items
5023         * lisp/net/secrets.el (secrets-search-items): Fix DBUS query result
5024         parsing.  The function assumed that return value of the
5025         SearchItems method called on a collection is a list of two lists,
5026         however this is true only when no collection is specified.  GNOME
5027         had used to incorrectly return a list of two lists in both cases,
5028         but this was already fixed:
5029         https://bugzilla.gnome.org/show_bug.cgi?id=695115 .  Also fix an
5030         incorrect information in the secrets-search-items’ docstring.
5031         (Bug#20449)
5033 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
5035         * lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'
5036         (byte-compile--message): Use `inhibit-message' instead of hiding
5037         the previous message with (message nil).
5039 2015-04-29  Oleh Krehel  <ohwoeowho@gmail.com>
5041         Remove the deprecated INTERNAL_FIELD macro by expanding it
5042         * src/lisp.h (INTERNAL_FIELD): Remove.
5043         (DEFVAR_KBOARD): Modify accordingly.
5044         * alloc.c, buffer.c, buffer.h, category.c, keyboard.c, keyboard.h:
5045         * syntax.c: Adjust users.
5046         * src/buffer.c (compact_buffer): Use BVAR.
5048 2015-04-29  Glenn Morris  <rgm@gnu.org>
5050         Replace an obsolete function alias
5051         * lisp/isearch.el (isearch-yank-x-selection):
5052         * lisp/mouse-copy.el (mouse-drag-secondary-pasting)
5053         (mouse-drag-secondary-moving):
5054         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
5055         Replace obsolete alias x-get-selection with gui-get-selection.
5057 2015-04-29  Stefan Monnier  <monnier@iro.umontreal.ca>
5059         * lisp/mail/rmailsum.el: Use lexical-binding.
5061 2015-04-29  Glenn Morris  <rgm@gnu.org>
5063         * test/automated/package-test.el (package-test-update-archives-async):
5064         Skip test on hydra.nixos.org.
5066 2015-04-28  Glenn Morris  <rgm@gnu.org>
5068         * lisp/foldout.el: Update for 2015-01-30 outline.el changes.
5069         (foldout-zoom-subtree, foldout-exit-fold, foldout-mouse-show)
5070         (foldout-mouse-hide-or-exit): Use new names for outline functions.
5072         * lisp/cedet/semantic/bovine/c.el (semantic-c-do-lex-if):
5073         Update for 2014-06-26 hideif.el change.
5075         * lisp/mail/rmailsum.el: Fix search for encoded subjects.  (Bug#19088)
5076         (rmail--decode-and-apply): New function.
5077         (rmail-message-regexp-p-1, rmail-message-subject-p): Use it.
5079         * lisp/mail/rmail.el (rmail-highlighted-headers): Fix :type.
5081 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
5083         * lisp/emacs-lisp/package.el: Fix priority-hiding corner case
5084         (package-menu--refresh): Delegate obsolete-hiding to
5085         `package--remove-hidden'.
5086         (package--remove-hidden): Disregard high-priority package if it is
5087         older than the installed one.
5089 2015-04-28  Paul Eggert  <eggert@cs.ucla.edu>
5091         Update source file encoding list
5092         Update admin/notes/unicode, along with coding system cookies in
5093         other files, so that the two match each other better.
5094         * admin/notes/unicode: lisp/language/ethio-util.el and
5095         lisp/language/ethiopic.el also use utf-8-emacs.
5096         * admin/notes/hydra, doc/misc/dbus.texi, doc/misc/org.texi:
5097         * doc/misc/remember.texi, etc/refcards/cs-dired-ref.tex:
5098         * etc/refcards/cs-refcard.tex, etc/refcards/cs-survival.tex:
5099         * etc/refcards/sk-dired-ref.tex, etc/refcards/sk-refcard.tex:
5100         * etc/refcards/sk-survival.tex:
5101         Add "coding: utf-8" so that this file is not mishandled in a
5102         Latin-1 or Big-5 locale.
5103         * lisp/international/robin.el, lisp/org/ox-ascii.el:
5104         Specify utf-8, not utf-8-emacs, as these are plain UTF-8 files.
5105         * lisp/language/ethio-util.el: Fix trailer.
5107 2015-04-28  Eli Zaretskii  <eliz@gnu.org>
5109         Fix synchronous invocation of Ispell
5110         * lisp/textmodes/ispell.el (ispell-init-process): Assign a non-nil
5111         value to ispell-process-directory before calling ispell-init-process.
5112         Don't call set-process-coding-system if ispell-async-processp is nil.
5113         (Bug#20448)
5115 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
5117         * lisp/emacs-lisp/package.el: Skip space and comments in init file
5118         (package--ensure-init-file): Insert snippet at first
5119         non-whitespace non-comments line.  Respects local-vars at the top
5120         of the file.
5122 2015-04-28  Glenn Morris  <rgm@gnu.org>
5124         * lisp/mail/rmail.el (rmail-copy-headers):
5125         Handle rmail-nonignored-headers being nil.  (Bug#18878)
5127         * lisp/subr.el (delay-mode-hooks): Fix doc typo.
5129         * lisp/vc/vc-bzr.el (vc-bzr-after-dir-status):
5130         Don't get confused by a bzrlib version mismatch warning.
5132 2015-04-27  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
5134         Change default location of EUDC options file
5135         * NEWS: Document change to EUDC options file's default location.
5136         * lisp/net/eudc-vars.el (eudc-options-file): Use
5137         `locate-user-emacs-file' to change default options file location.
5139 2015-04-27  Glenn Morris  <rgm@gnu.org>
5141         * test/automated/package-test.el (package-test-update-archives-async):
5142         Try to handle the test server script dying.
5144 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
5146         * lisp/saveplace.el (save-place-mode): New minor mode.
5147         (save-place): Redefine as an obsolete alias.
5149         * lisp/midnight.el: Make it a minor mode.  Allow predicates.
5150         * lisp/midnight.el: Use lexical-binding.
5151         (midnight-mode): Make it a proper minor mode.
5152         (midnight-buffer-display-time): Make arg non-optional.
5153         (midnight-find): Remove.
5154         (clean-buffer-list-kill-never-regexps)
5155         (clean-buffer-list-kill-regexps): Tweak type for new function choice.
5156         (clean-buffer-list-delay): Allow clean-buffer-list-kill-regexps to
5157         contain functions.
5158         (clean-buffer-list): Use cl-find.
5159         Allow clean-buffer-list-kill-never-regexps to contain functions.
5161 2015-04-27  Nicolas Petton  <nicolas@petton.fr>
5163         Bump version of seq.el to 1.5
5164         * lisp/emacs-lisp/seq.el (seq-doseq): Remove undocumented return value
5165           from seq-doseq.  Bump version number of seq.el.
5167 2015-04-27  Glenn Morris  <rgm@gnu.org>
5169         * lisp/mail/rmail.el (rmail-reply):
5170         Decode subject before matching "Re:" prefix.  (Bug#20396)
5172 2015-04-27  Artur Malabarba  <bruce.connor.am@gmail.com>
5174         * lisp/emacs-lisp/package.el: Small improvements
5175         (package--with-work-buffer-async): More informative error.
5176         (package-install-user-selected-packages): Rename to
5177         `package-install-selected-packages'.
5179 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
5181         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last
5182         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last change.
5183         (eieio--class-make): Remove leftover `tag'.
5185 2015-04-27  Glenn Morris  <rgm@gnu.org>
5187         * lisp/gnus/message.el (gnus-extract-address-components):
5188         Remove bogus declaration that was masking previous problem.
5190 2015-04-27  Nicolas Graner  <nicolas.graner@u-psud.fr>  (tiny change)
5192         * lisp/gnus/message.el (message-insert-formatted-citation-line):
5193         Fix typo.  (Bug#20318)
5195 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
5197         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Reuse oldc.
5199         * lisp/textmodes/reftex-toc.el: Improve multi-frame behavior
5200         * lisp/textmodes/reftex-toc.el (reftex-toc-revert): Avoid displaying
5201         the buffer in yet another frame.
5202         (reftex-toc-visit-location): Make sure toc-window has focus at the end
5203         when `final' is nil.
5204         (reftex--rebuilding-toc): Defvar to avoid `boundp' and
5205         silence warnings.  Use `--' to clarify that it's internal.
5206         (reftex-toc-next, reftex-toc-previous, reftex-toc-demote)
5207         (reftex-toc-promote): Clarify unused argument.
5208         (reftex--pro-or-de, reftex--start-line, reftex--mark-line):
5209         Add `reftex--' prefix.  Fix all users.
5210         (reftex-toc-promote-prepare): Use _ for dummy variable.
5211         (reftex-toc-restore-region): Rename `m
5213 2015-04-27  Eli Zaretskii  <eliz@gnu.org>
5215         Fix a typo in bibtex.el
5216         * lisp/textmodes/bibtex.el (bibtex-insert-kill): Fix a typo from
5217         last change.  (Bug#20429)
5219         Fix redisplay of frame after loading new fonts
5220         * src/xdisp.c (redisplay_internal): When retrying redisplay of a
5221         frame because new fonts were loaded, disable all redisplay
5222         optimizations on that frame by calling SET_FRAME_GARBAGED.
5223         (Bug#20410)
5225 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
5227         * lisp/info.el (Info-menu): Properly provide the `default'
5228         (Bug#20391)
5230         * elisp-mode.el: Catch errors from `documentation'
5231         (Bug#20418)
5232         * lisp/progmodes/elisp-mode.el (elisp--get-fnsym-args-string):
5233         Catch errors from documentation.
5234         (emacs-lisp-mode-abbrev-table): Remove redundant defvar.
5236 2015-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>
5238         lisp/emacs-lisp/package.el: Move variables to silence byte-compiler
5239         Remove redundant ":group 'package".
5241 2015-04-26  Eli Zaretskii  <eliz@gnu.org>
5243         Fix a typo in rmail.el
5244         * lisp/mail/rmail.el (rmail-ensure-blank-line): Fix a typo in the
5245         last commit.  (Bug#20429)
5247 2015-04-26  Dmitry Gutov  <dgutov@yandex.ru>
5249         Introduce xref-prompt-for-identifier
5250         * lisp/progmodes/xref.el (xref-prompt-for-identifier): New option.
5251         (xref--read-identifier): Use it
5252         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01205.html).
5254 2015-04-26  João Távora  <joaotavora@gmail.com>
5256         `tex-insert-quote' after single `'' opens quotes instead of closing
5257         Without this, it's very hard to precede double quotes with the
5258         apostrophe character, i.e. insert the sequence '``
5259         (quote-backquote-backquote), commonly useful in portuguese, for
5260         instance.
5261         * tex-mode.el (tex-insert-quote): Add ?' to the list of preceding
5262         chars making `tex-insert-quote' be in the "opening" context.
5264 2015-04-25  Dmitry Gutov  <dgutov@yandex.ru>
5266         Pass `id' to `completing-read' as def instead of initial input
5267         * xref.el (xref--read-identifier): Pass `id' to `completing-read'
5268         as the default value instead of initial input
5269         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01182.html).
5271 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
5273         Don't freeze with unreadable processes
5274         Don't freeze if an exiting process can't be read from. (Bug#19860).
5275         This fixes a bug I introduced in
5276         2014-07-08T07:24:07Z@eggert@cs.ucla.edu
5277         "* process.c: Add sanity checks for file descriptors."
5278         Dmitry Gutov did most of the legwork in finding the problem.
5279         * src/process.c (wait_reading_process_output):
5280         Treat non-running processes that can't be read from
5281         the same as other non-running processes.
5283 2015-04-25  Alan Mackenzie  <acm@muc.de>
5285         Fix change from 2015-04-22 "On C-y, stop some text property entries ..."
5286         * lisp/subr.el (remove-yank-excluded-properties): put
5287         `with-silent-modifications' around only the last three lines of code.
5289 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
5291         * lisp/emacs-lisp/package.el (package-all-keywords): Don't cache
5292         (package--all-keywords): Deleted variable.
5294         * etc/NEWS: Document package-hiding functionality
5296 2015-04-25  Eli Zaretskii  <eliz@gnu.org>
5298         lisp/window.el (recenter-last-op): Doc fix.  (Bug#20419)
5300         Clarify the doc string of 'replace-regexp-in-string'
5301         * lisp/subr.el (replace-regexp-in-string): Doc fix.  (Bug#20395)
5303         Improve doc string of 'insert-buffer-substring'
5304         * src/editfns.c (Finsert_buffer_substring): Doc fix.  (Bug#20421)
5306         MS-Windows followup for the recent gnulib update
5307         * nt/gnulib.mk (libgnu_a_SOURCES): Replace file-has-acl.c with
5308         acl-internal.c.
5310 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
5312         Spelling fixes
5314         Merge from gnulib
5315         This incorporates:
5316         2015-04-24 file-has-acl: new module, split from acl
5317         2015-04-24 manywarnings: add GCC 5.1 warnings
5318         2015-04-21 lstat: fix cross-compilation 'ln -s' problem
5319         2015-04-15 qacl: Simplify HP-UX acl_nontrivial check
5320         2015-04-15 acl: On Linux, check for acls without libacl
5321         2015-04-14 tempname: avoid unused parameter warnings (trivial)
5322         * lib/acl-internal.c: New file, from gnulib.
5323         * lib/file-has-acl.c: Remove; no longer imported from gnulib.
5324         * lib/acl-internal.h, lib/gnulib.mk, lib/qcopy-acl.c, lib/tempname.c:
5325         * m4/acl.m4, m4/gnulib-comp.m4, m4/lstat.m4, m4/manywarnings.m4:
5326         Update from gnulib.
5328         Port --enable-gcc-warnings to GCC 5.1 x86-64
5329         * lib-src/ebrowse.c (dump_sym):
5330         * lib-src/hexl.c (main):
5331         * src/ccl.c (ccl_driver):
5332         * src/character.c (string_escape_byte8):
5333         * src/dbusbind.c (xd_retrieve_arg, xd_add_watch):
5334         * src/gnutls.c (Fgnutls_boot):
5335         * src/gtkutil.c (xg_check_special_colors):
5336         * src/image.c (x_build_heuristic_mask):
5337         * src/print.c (safe_debug_print, print_object):
5338         * src/term.c (produce_glyphless_glyph):
5339         * src/xdisp.c (get_next_display_element)
5340         (produce_glyphless_glyph):
5341         * src/xterm.c (x_draw_glyphless_glyph_string_foreground):
5342         Don't use a signed format to print an unsigned integer, or vice
5343         versa.  GCC 5.1's new -Wformat-signedness option warns about this.
5344         * src/image.c (png_load_body, jpeg_load_body):
5345         Silence a bogus setjump diagnostic from GCC 5.1 (GCC bug 54561).
5347 2015-04-24  Tassilo Horn  <tsdh@gnu.org>
5349         Add new faces to tsdh-light-theme
5350         * etc/themes/tsdh-light-theme.el (tsdh-light): New face
5351         definitions for Info-quoted, ace-jump-face-foreground,
5352         hl-paren-face, show-paren-match, and show-paren-mismatch.
5354 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
5356         * lisp/emacs-lisp/seq.el (seq-doseq): Fix the macro.
5358 2015-04-24  Glenn Morris  <rgm@gnu.org>
5360         * build-aux/gitlog-to-emacslog:
5361         Use raw log format rather than wrapped one.
5363 2015-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>
5365         * lisp/emacs-lisp/seq.el (seq-doseq): Tighten the code
5366         (seq-doseq): Fix out-of-scope binding.
5367         Don't call `seq-length at every iteration.
5368         Reduce `if's from 3 to 2 per iteration.
5369         (emacs-lisp-mode-hook): Don't tweak in Emacs≥25.
5371 2015-04-24  Glenn Morris  <rgm@gnu.org>
5373         * lisp/textmodes/text-mode.el (text-mode-hook):
5374         Move text-mode-hook-identify to default.
5376         * lisp/mouse.el (minor-mode-menu-from-indicator):
5377         Handle non-function members of minor-mode-map-alist.  (Bug#20201)
5379         * lisp/help-fns.el (describe-function): More type checking.
5380         (describe-function-1): Handle changed symbol-function.  (Bug#20201)
5382         * build-aux/gitlog-to-emacslog: Convert "Fixes:" to "(Bug#)".
5383         (Bug#20325)
5385 2015-04-24  Andreas Schwab  <schwab@linux-m68k.org>
5387         shr: strip leading whitespace when expanding URLs
5388         * lisp/net/shr.el (shr-expand-url): Strip leading whitespace from URL.
5390 2015-04-24  Eli Zaretskii  <eliz@gnu.org>
5392         Clarify "co-authored" some more
5394         * CONTRIBUTE: Clarify "co-authored-by".  (Bug#20400)
5396         Clarify doc strings of functions that search for properties
5397         * src/textprop.c (Fnext_char_property_change)
5398         (Fprevious_char_property_change)
5399         (Fnext_single_char_property_change)
5400         (Fprevious_single_char_property_change, Fnext_property_change)
5401         (Fnext_single_property_change, Fprevious_property_change)
5402         (Fprevious_single_property_change): Clarify doc strings wrt return
5403         value and the optional LIMIT argument.  (Bug#20411)
5405 2015-04-24  Glenn Morris  <rgm@gnu.org>
5407         * test/automated/message-mode-tests.el (message-mode-propertize):
5408         Handle non-writable HOME; eg on hydra.nixos.org.
5410 2015-04-23  Eli Zaretskii  <eliz@gnu.org>
5412         Avoid starting threads by w32-shell-execute
5413         * src/w32fns.c (Fw32_shell_execute): Convert "file:///" URLs into
5414         local file names, before invoking ShellExecute.  (Bug#20220)
5416 2015-04-23  Martin Rudalics  <rudalics@gmx.at>
5418         Fix following doc-links in `widget-documentation-link-action'
5419         * lisp/wid-edit.el (widget-documentation-link-action): Make
5420         following doc-links less simplistic (Bug#20398).
5422 2015-04-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
5424         Improve EUDC manual
5425         * eudc.texi (Troubleshooting): New LDAP troubleshooting subsection.
5427 2015-04-22  Paul Eggert  <eggert@cs.ucla.edu>
5429         Omit needless "\ " after multibyte then newline
5430         * src/print.c: Include <c-ctype.h>, for c_isxdigit.
5431         (print_object): When print-escape-multibyte is non-nil and a
5432         multibyte character is followed by a newline or formfeed, followed
5433         by a hex digit, don't output a needless "\ " before the hex digit.
5434         * test/automated/print-tests.el (print-hex-backslash): New test.
5436 2015-04-22  Oleh Krehel  <ohwoeowho@gmail.com>
5438         Add a new `inhibit-message' variable
5439         * src/xdisp.c (syms_of_xdisp): Define a boolean `inhibit_message'.
5440         (message3): Don't call `message3_nolog' (i.e. use the Echo Area) when
5441         `inhibit_message' is non-zero.
5442         * etc/NEWS: Add an entry.
5443         * doc/lispref/display.texi: Add an entry for `inhibit-message',
5444           mention it in `message'.
5446 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
5448         Fix last fix in `display-buffer-record-window'.
5449         * lisp/window.el (display-buffer-record-window): Fix last fix.
5451 2015-04-22  Eli Zaretskii  <eliz@gnu.org>
5453         Minor edits in CONTRIBUTE
5454         * CONTRIBUTE: Rearrange instructions about log messages.
5455         Use "Git" capitalized all over.
5456         Use 2 spaces between sentences.
5458 2015-04-22  Artur Malabarba  <bruce.connor.am@gmail.com>
5460         * lisp/files.el (basic-save-buffer): Fix argument
5462         * lisp/cus-edit.el (custom-file): Consider init-file-had-error
5463         In case `(and (null custom-file) init-file-had-error)' do the same
5464         thing we'd do if `(null user-init-file)', which is to either error out
5465         or return nil.  This is in line with `custom-save-all' which would
5466         throw an error in that situation. (bug#20355)
5468         * lisp/emacs-lisp/package.el: Hide lower-priority packages in menu
5469         (package-menu-hide-low-priority): New variable, see its doc.
5470         (package-archive-priorities): Update doc.
5471         (package-desc-priority): New function.
5472         (package-desc-priority-version): Use it.
5473         (package--remove-hidden): New function.
5474         (package-menu--refresh): Use it.
5476         * lisp/emacs-lisp/package.el: Implement displaying obsolete packages
5477         (package-menu--hide-obsolete): New variable.
5478         (package--remove-hidden): Use it.
5479         (package-menu-hide-obsolete): New interactive function to toggle
5480         the variable.
5481         (package--quick-help-keys): Document it.
5482         (package-menu-async): Add :version tag.
5483         (package-menu-mode-map): Bind package-menu-hide-obsolete.
5484         (package-desc-status): Indicate non-installed obsolete packages as
5485         avail-obso.
5486         (package-menu-mark-install): Allow installation of avail-obso.
5487         (package-menu--status-predicate): Sort avail-obso with available.
5489 2015-04-22  Alan Mackenzie  <acm@muc.de>
5491         On C-y, stop some text property entries being written into buffer-undo-list
5492         lisp/subr.el (remove-yank-excluded-properties): enclose the code in
5493         `with-silent-modifications'.
5495 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
5497         In display-buffer-record-window record selected window if necessary.
5498         * lisp/window.el (display-buffer-record-window): Store selected window
5499         if it differs from 3rd element of 'quit-restore' parameter (Bug#20353).
5501 2015-04-22  Tassilo Horn  <tsdh@gnu.org>
5503         Fix reftex-citation bug
5504         * reftex-cite.el (reftex-extract-bib-entries): Fix
5505         `wrong-type-argument stringp nil' error that occurs when AUCTeX
5506         integration is enabled and there are no citations in the document
5507         so far.
5509 2015-04-21  Dmitry Gutov  <dgutov@yandex.ru>
5511         Add or reset based on the presence of MERGE_HEAD
5512         * lisp/vc/vc-git.el (vc-git-find-file-hook): Add
5513         `vc-git-resolve-when-done' to `after-save-hook' in either case.
5514         (vc-git-conflicted-files): Add a TODO.
5515         (vc-git-resolve-when-done): Depending on the presence of
5516         MERGE_HEAD, either update the resolved file in the index, or
5517         remove it from there.  (Bug#20292)
5519 2015-04-21  Glenn Morris  <rgm@gnu.org>
5521         * lisp/custom.el (custom-declare-group): No need to purecopy
5522         custom-current-group-alist members following recent change to set
5523         it to nil before dumping.
5525         * build-aux/gitlog-to-emacslog: Get footer from ChangeLog.2.
5526         (Bug#20399)
5528 2015-04-21  Daniel Colascione  <dancol@dancol.org>
5530         Unbreak no-op buffer save message
5531         * lisp/files.el (save-buffer): Pass interactive flag to `basic-save-buffer`
5532         (basic-save-buffer): Accept called-interactively as an argument instead of
5533         directly invoking called-interactively-p, which will always yield nil
5534         in that context.
5536 2015-04-21  Alan Mackenzie  <acm@muc.de>
5538         CC Mode: Do nothing in before/after-change-functions for text property changes
5539         Fixes bug#20266.
5540         lisp/progmodes/cc-mode.el (c-basic-common-init): Make
5541         yank-handled-properties buffer local, and remove 'category from it.
5542         (c-called-from-text-property-change-p): New function.
5543         (c-before-change): Don't do anything if a call of the new function
5544         returns non-nil.
5545         (c-after-change): Don't do much if a call of the new function returns
5546         non-nil.
5547         (c-extend-after-change-region): Put changes to text property 'fontified
5548         inside c-save-buffer-state.
5550 2015-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
5552         Fix byte-compiler warnings about looking-back.
5553         * lisp/vc/log-view.el (log-view-end-of-defun-1):
5554         * lisp/textmodes/tex-mode.el (latex-forward-sexp-1):
5555         * lisp/textmodes/reftex-ref.el (reftex-goto-label):
5556         * lisp/textmodes/bibtex.el (bibtex-insert-kill):
5557         * lisp/progmodes/sh-script.el (sh--maybe-here-document):
5558         * lisp/progmodes/ruby-mode.el (ruby-end-of-defun):
5559         * lisp/progmodes/ada-mode.el (ada-in-numeric-literal-p):
5560         * lisp/org/org.el (org-insert-heading, org-sort-entries):
5561         * lisp/org/org-mouse.el (org-mouse-end-headline)
5562         (org-mouse-context-menu):
5563         * lisp/org/org-clock.el (org-clock-cancel):
5564         * lisp/man.el (Man-default-man-entry):
5565         * lisp/mail/rmail.el (rmail-get-new-mail, rmail-insert-inbox-text)
5566         (rmail-ensure-blank-line):
5567         * lisp/mail/footnote.el (Footnote-delete-footnote):
5568         * lisp/mail/emacsbug.el (report-emacs-bug):
5569         * lisp/info.el (Info-follow-reference, Info-fontify-node):
5570         * lisp/info-look.el (info-lookup-guess-custom-symbol):
5571         * lisp/help-fns.el (help-fns--key-bindings):
5572         * lisp/files.el (hack-local-variables):
5573         * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-cmd-complete)
5574         (viper-get-ex-pat, ex-expand-filsyms, viper-get-ex-file)
5575         (viper-complete-filename-or-exit):
5576         * lisp/emulation/viper-cmd.el (viper-backward-indent):
5577         * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent):
5578         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
5579         * lisp/cus-edit.el (custom-face-edit-value-create):
5580         * lisp/calendar/todo-mode.el (todo-set-item-priority)
5581         (todo-filter-items-1, todo-convert-legacy-files)
5582         (todo-prefix-overlays): Add explicit second arg to looking-back.
5584 2015-04-20  Glenn Morris  <rgm@gnu.org>
5586         Avoid non-nil current-load-list at startup
5587         * src/process.c (init_process_emacs): Move Fprovide statement...
5588         (syms_of_process): ... to here.
5590         * lisp/loadup.el (custom-current-group-alist): Reset before dumping.
5592         * lisp/startup.el (command-line) <site-run-file>: Avoid rogue value in emacs -Q.
5594 2015-04-20  Ludovic Courtès  <ludo@gnu.org>
5596         * lisp/loadup.el (exec-path): Avoid storing build-time PATH in binary.
5597         (Bug#20330)
5599 2015-04-20  Glenn Morris  <rgm@gnu.org>
5601         * lisp/cus-start.el (exec-path): Set standard value, to avoid rogue.
5603         Tweak exec-path in uninstalled case
5604         * src/callproc.c (init_callproc): If running uninstalled, do not
5605         include eventual installation libexec directory in exec-path.
5607 2015-04-20  Artur Malabarba  <bruce.connor.am@gmail.com>
5609         * lisp/emacs-lisp/package.el: Filter by multiple keywords and cache keywords
5610         (package-menu-filter): Accept a list of keywords.
5611         (package--all-keywords): New variable to cache known keywords.
5612         (package-all-keywords): Populate it if necessary.
5613         (package-refresh-contents): Reset it.
5615         * lisp/emacs-lisp/package.el: Make archive and status pseudo-keywords
5616         (package--has-keyword-p): Understand "arc:xxxx" and "status:xxxx"
5617         as special keywords which match agains package archive and status
5618         respectively.
5619         * etc/NEWS: Document it.
5621 2015-04-20  Eli Zaretskii  <eliz@gnu.org>
5623         Describe and index "empty overlays".
5624         * doc/lispref/display.texi (Overlays): Improve indexing.
5625         (Managing Overlays): Describe "empty" overlays.
5626         (Overlay Properties, Finding Overlays): Add cross-reference to
5627         where empty overlays are described.
5629 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
5631         Spelling fixes
5633         Quote 'like this' in top-level files
5634         * CONTRIBUTE, INSTALL, Makefile.in, README, configure.ac, make-dist:
5635         Prefer to single-quote 'like this' (instead of the older style
5636         `like this').
5637         * configure.ac: Fix some space-before-tab problems that 'git commit'
5638         complained about.
5640         Use bool for boolean in textprop.c, undo.c
5641         * src/textprop.c (soft, hard): Now constants instead of macros.
5642         (validate_plist): Rewrite to avoid need for boolean local.
5643         (interval_has_all_properties, interval_has_some_properties)
5644         (interval_has_some_properties_list, add_properties)
5645         (remove_properties, get_char_property_and_overlay)
5646         (Fnext_single_char_property_change)
5647         (Fprevious_single_char_property_change, add_text_properties_1)
5648         (Fremove_text_properties, Fremove_list_of_text_properties)
5649         (copy_text_properties):
5650         * src/tparam.c (tparam1):
5651         * src/undo.c (record_change, record_property_change)
5652         (syms_of_undo):
5653         Use 'true' and 'false' for booleans.
5655 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
5657         Call `smerge-start-session' even when dealing with a stash conflict
5658         * lisp/vc/vc-git.el (vc-git-find-file-hook):
5659         Call `smerge-start-session' even when dealing with a stash
5660         conflict (bug#20292).
5662 2015-04-19  Vibhav Pant  <vibhavp@gmail.com>
5664         Add option to eshell/clear to clear scrollback.
5665         * lisp/eshell/esh-mode.el (eshell/clear-scrollback): New function.
5666         (eshell/clear): Add an optional SCROLLBACK argument. If non-nil,
5667         scrollback contents are cleared.
5668         * etc/NEWS: Describe change.
5669         * doc/misc/eshell.texi: Add entry for `clear'.
5671 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
5673         * src/widget.c (set_frame_size): Prefer 'int' to 'unsigned'
5674         where either will do.
5676 2015-04-19  Steve Purcell  <steve@sanityinc.com>
5678         Assume package archive-contents are UTF8-encoded
5679         * lisp/emacs-lisp/package.el (package--read-archive-file):
5680         Set `coding-system-for-read' explicitly to 'utf-8 when reading the
5681         downloaded and cached archive-contents files, so that non-ASCII
5682         characters in package descriptions are displayed correctly in the
5683         `list-packages' menu. (Bug#20231)
5685 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
5687         Abort when looking at stashed changes
5688         * lisp/vc/vc-git.el (vc-git-find-file-hook): Abort when looking at
5689         stashed changes (bug#20292).
5691 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
5693         Refactor low-level printing for simplicity
5694         * src/print.c (PRINTDECLARE): Remove.  Move its contents into
5695         PRINTPREPARE; doable now that we assume C99.  All callers changed.
5696         (PRINTCHAR): Remove, as it adds more mystery than clarity.
5697         All callers changed.
5698         (strout): Assume that caller computes length.  All callers changed.
5699         (print_c_string): New function.
5700         (write_string, write_string_1): Compute length instead of asking
5701         the caller to compute it.  All callers changed.
5702         (write_string): Simplify by using write_string_1.
5703         (write_string_1): Simplify by using print_c_string.
5704         (Fterpri): Compute default val more clearly.
5705         (Fprin1_to_string, print_object):
5706         Assume C99 to avoid unnecessary nesting.
5707         (print_object): Prefer print_c_string to multiple printchar, or
5708         to calling strout with -1 length.  Coalesce into sprintf when
5709         this is easy.
5711 2015-04-18  Paul Eggert  <eggert@cs.ucla.edu>
5713         Prefer "Bug#1234" in commit messages (Bug#20325)
5714         * .dir-locals.el (log-edit-mode): Don't rewrite Bug#,
5715         as this isn't useful for Git.
5716         * CONTRIBUTE: Suggest "Bug#1234" instead of "Fixes: debbugs:1234".
5718 2015-04-18  Glenn Morris  <rgm@gnu.org>
5720         * lisp/files.el (auto-mode-alist): Use conf mode for gitconfig, hgrc.
5721         (Bug#19506)
5723 2015-04-18  Tom Willemse  <tom@ryuslash.org>  (tiny change)
5725         * lisp/elec-pair.el (electric-pair-post-self-insert-function): Do not use `chomp' as a function.
5726         (Bug#19505)
5728 2015-04-18  Glenn Morris  <rgm@gnu.org>
5730         * lisp/net/browse-url.el (browse-url, browse-url-at-point): Doc fixes.
5732         * doc/emacs/misc.texi (Sorting): Small edit.
5733         (Bug#19896)
5735         * admin/admin.el (make-manuals): Add emacs-xtra in pdf and ps.
5737 2015-04-18  Simen Heggestøyl  <simenheg@gmail.com>
5739         css-mode.el: Support multi-line comment filling
5740         (Bug#20256)
5741         * lisp/textmodes/css-mode.el (css-fill-paragraph): Support multi-line
5742         comment filling.
5743         (css-adaptive-fill): New function.
5744         (css-mode): Set `adaptive-fill-function'.
5745         (scss-mode): Set `comment-continue'.
5747 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
5749         * lisp/emacs-lisp/seq.el (seq-concatenate, seq-into): Better error messages.
5751 2015-04-18  Ivan Radanov Ivanov  <ivanradanov@yahoo.co.uk>  (tiny change)
5753         Minor improvements in Bulgarian input methods
5754         * lisp/leim/quail/cyrillic.el (bulgarian-phonetic, bulgarian-bds):
5755         Replace U+042C with U+045D, as the former character is not used in
5756         the modern Bulgarian language.
5757         (Bug#20350)
5759 2015-04-17  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
5761         Improve EUDC manual
5762         * eudc.texi (LDAP Configuration): Mention simple and SASL
5763         authentication schemes.  Add index items.  Shorten example server
5764         name.
5766 2015-04-17  Dmitry Gutov  <dgutov@yandex.ru>
5768         Don't show both feature and function with the same name
5769         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
5770         Don't show both feature and function with the same name.
5772         (elisp--xref-identifier-location): Skip variable, if it's also a functiong
5773         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
5774         Avoid returning both the variable and the function for the same
5775         minor mode.
5777 2015-04-17  Wolfgang Jenkner  <wjenkner@inode.at>
5779         Fix fontification of keywords clobbered by the prompt.
5780         * lisp/comint.el (comint-output-filter): Remove the uses of
5781         with-silent-modifications I introduced as part of the last change.
5782         This fixes, e.g., erratically missing highlighting when running
5783         ./configure --help; ./configure in a shell-mode buffer with
5784         compilation-shell-minor-mode turned on.
5786 2015-04-17  Glenn Morris  <rgm@gnu.org>
5788         * admin/authors.el (authors-valid-file-names, authors-renamed-files-alist): Additions.
5790 2015-04-17  Stefan Monnier  <monnier@iro.umontreal.ca>
5792         * lisp/indent.el (indent-region): Don't deactivate the mark
5793         (Bug#20357)
5795 2015-04-17  Sam Steingold  <sds@gnu.org>
5797         lisp/net/rcirc.el (defun-rcirc-command): mark `target' as ignorable
5799 2015-04-16  Leo Liu  <sdl.web@gmail.com>
5801         * lisp/progmodes/xref.el (xref-push-marker-stack): Add optional arg.
5803 2015-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
5805         * lisp/erc/erc-pcomplete.el (erc-pcomplete): Don't use `pcomplete' any more.
5807 2015-04-16  Glenn Morris  <rgm@gnu.org>
5809         * admin/authors.el (authors-lax-changelogs): Update for erc changes.
5811 2015-04-16  Eli Zaretskii  <eliz@gnu.org>
5813         Don't link with -ljpeg on MS-Windows, to avoid dependency on DLL
5814         * configure.ac (LIBJPEG): Leave it empty for MinGW.
5816 2015-04-16  Glenn Morris  <rgm@gnu.org>
5818         * lisp/replace.el (query-replace-from-to-separator): Delay initialization
5819         to avoid rogue setting after startup.
5821 2015-04-16  Paul Eggert  <eggert@cs.ucla.edu>
5823         Pre-4.6 GCC succeeds with unknown option
5824         * configure.ac (emacs_cv_prog_cc_nopie): Port to pre-4.6 GCC.
5825         (Bug#20338)
5827 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
5829         '[:graph:]' now excludes whitespace, not just ' '
5830         * doc/lispref/searching.texi (Char Classes):
5831         * lisp/emacs-lisp/rx.el (rx): Document [:graph:] to be [:print:]
5832         sans whitespace (not sans space).
5833         * src/character.c (graphicp): Exclude all Unicode whitespace chars,
5834         not just space.
5835         * src/regex.c (ISGRAPH): Exclude U+00A0 (NO-BREAK SPACE).
5837 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
5839         (looking-back): Make the second arg non-optional.
5840         * lisp/subr.el (substitute-key-definition-key, special-form-p)
5841         (macrop): Drop deprecated second arg to indirect-function.
5842         (looking-back): Make the second arg non-optional.
5844         * lisp/org/org-clock.el (org-x11idle-exists-p): Be honest about which
5845         command is actually sent to the shell.
5847 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
5849         Port jpeg configuration to Solaris 10 with Sun C
5850         * configure.ac: Check for jpeglib 6b by trying to link it, instead
5851         of relying on cpp magic that has problems in practice.  Check for
5852         both jpeglib.h and jerror.h features.  Remove special case for
5853         mingw32, which should no longer be needed (and if it were needed,
5854         should now be addressable by hotwiring emacs_cv_jpeglib).
5855         (Bug#20332)
5857 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
5859         Move some Elisp-specific code from lisp-mode.el to elisp-mode.el
5860         * lisp/emacs-lisp/lisp-mode.el (lisp--el-font-lock-flush-elisp-buffers):
5861         Move to elisp-mode.el.
5862         (lisp-mode-variables): (Re)move elisp-specific settings.
5863         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add settings removed
5864         from lisp-mode-variables.
5865         (elisp--font-lock-flush-elisp-buffers): New function, moved from
5866         lisp-mode.el.
5868         * lisp/emacs-lisp/lisp-mode.el (lisp--el-non-funcall-position-p):
5869         Avoid pathological slowdown at top-level in large file.
5871 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
5873         Standardize names of ChangeLog history files
5874         Suggested by Glenn Morris in:
5875         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
5876         * Makefile.in (install-man): Don't treat ChangeLog.1 as a man page.
5877         * doc/man/ChangeLog.1: Rename back from doc/man/ChangeLog.01.
5878         * lisp/erc/ChangeLog.1: New file, containing the old contents of ...
5879         * lisp/erc/ChangeLog.01, lisp/erc/ChangeLog.02, lisp/erc/ChangeLog.03:
5880         * lisp/erc/ChangeLog.04, lisp/erc/ChangeLog.05, lisp/erc/ChangeLog.06:
5881         * lisp/erc/ChangeLog.07, lisp/erc/ChangeLog.08, lisp/erc/ChangeLog.09:
5882         Remove.
5884         Split top-level entries into pre- and post-April 7
5885         This more clearly distingiushes pre-April-7 ChangeLog entries (which
5886         are for top-level files only) from post-April-7 entries (which are
5887         about files at all levels.  Problem reported by Glenn Morris in:
5888         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
5889         * ChangeLog.1: Move post-April-7 entries from here ...
5890         * ChangeLog.2: ... to this new file.
5891         * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump to 2.
5893 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
5895         Fix recent cus-start changes that added customize-rogues
5896         * lisp/cus-start.el (custom-delayed-init-variables): Initialize the
5897         vars early.
5898         * lisp/loadup.el ("cus-start"): Move to the end to reduce customize-rogue.
5900 2015-04-15  Nicolas Petton  <nicolas@petton.fr>
5902         Define cl-concatenate as an alias to seq-concatenate
5903         * lisp/emacs-lisp/cl-extra.el (cl-concatenate): Removes duplicated
5904           code by making cl-concatenate an alias to seq-concatenate.
5906 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
5908         * src/lread.c (intern_1): Make sure we'd find the symbol we add
5909         (Bug#20334)
5910         * src/xfaces.c (resolve_face_name): Don't use `intern' with Lisp_Strings.
5912 2015-04-15  Glenn Morris  <rgm@gnu.org>
5914         * doc/lispref/sequences.texi (Sequence Functions): Fix typo in previous.
5916 2015-04-15  Lars Magne Ingebrigtsen  <larsi@gnus.org>
5918         Clean up gnus-uu saving code slightly
5919         * gnus-uu.el (gnus-uu-save-article): Make the
5920         save-restriction/widen calls make more sense.
5922 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
5924         Make [:graph:] act like [:print:] sans space
5925         In POSIX [[:print:]] is equivalent to [ [:graph:]], so change
5926         [:graph:] so that it matches everything that [:print:] does,
5927         except for space.
5928         * doc/lispref/searching.texi (Char Classes):
5929         * etc/NEWS:
5930         * lisp/emacs-lisp/rx.el (rx):
5931         Document [:graph:] to be [:print:] sans ' '.
5932         * src/character.c, src/character.h (graphicp): New function.
5933         * src/regex.c (ISGRAPH) [emacs]: Use it.
5934         (BIT_GRAPH): New macro.
5935         (BIT_PRINT): Increase to 0x200, to make room for BIT_GRAPH.
5936         (re_wctype_to_bit) [! WIDE_CHAR_SUPPORT]:
5937         Return BIT_GRAPH for RECC_GRAPH.
5938         (re_match_2_internal) [emacs]: Use ISGRAPH if BIT_GRAPH,
5939         and ISPRINT if BIT_PRINT.
5941 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
5943         automated/eieio-test-methodinvoke.el (make-instance) <(subclass C)>:
5944         Don't use call-next-method in a cl-defmethod.
5946         * lisp/emacs-lisp/eieio-core.el (eieio--class): Derive from cl--class
5947         (eieio--class-p): Remove, provided by cl-defstruct.
5949 2015-04-14  Nicolas Petton  <nicolas@petton.fr>
5951         Add seq-intersection and seq-difference to the seq library
5952         * lisp/emacs-lisp/seq.el (seq-intersection, seq-difference): New
5953         functions.
5954         * test/automated/seq-tests.el: Add tests for seq-intersection and
5955         seq-difference.
5956         * doc/lispref/sequences.texi: Add documentation for seq-intersection
5957         and seq-difference.
5959 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
5961         * eieio-core.el (class-abstract-p): Don't inline, to avoid leaking internals
5963 2015-04-14  Sam Steingold  <sds@gnu.org>
5965         package--ensure-init-file: widen requires save-restriction
5967 2015-04-14  Eli Zaretskii  <eliz@gnu.org>
5969         Improve the commit-msg Git hook for unibyte environments
5970         * build-aux/git-hooks/commit-msg: Set LC_ALL=C, before running Awk
5971         in unibyte environments.  (Suggested by Paul Eggert
5972         <eggert@cs.ucla.edu>.)  Use a more accurate approximation to
5973         [:print:], based on UTF-8 sequences of the unprintable characters.
5975         Describe problems with cursor caused by Windows Magnifier
5976         * etc/PROBLEMS: Describe the problem with cursor shape on
5977         MS-Windows due to Windows Magnifier.
5978         (Bug#20271)
5980         Make [:print:] support non-ASCII characters correctly
5981         * src/regex.c (ISPRINT): Call 'printablep' for multibyte characters.
5982         (BIT_PRINT): New bit mask.
5983         (re_wctype_to_bit): Return BIT_PRINT for RECC_PRINT.
5984         * src/character.c (printablep): New function.
5985         * src/character.h (printablep): Add prototype.
5986         * lisp/emacs-lisp/rx.el (rx): Doc fix: document the new behavior
5987         of 'print', 'alnum', and 'alphabetic'.
5988         * doc/lispref/searching.texi (Char Classes): Document the new
5989         behavior of [:print:].
5990         * etc/NEWS: Mention the new behavior of [:print:].
5992         Assign correct general-category and names to surrogates
5993         * admin/unidata/unidata-gen.el (unidata-setup-list): Don't ignore
5994         surrogates.  This avoids assigning them the default
5995         general-category of 'Cn', i.e. unassigned codepoints.
5996         (unidata-get-name): Give surrogates synthetic names.
5998 2015-04-14  Paul Eggert  <eggert@cs.ucla.edu>
6000         Assume C89 offsetof in xterm.c, xlwmenu.c
6001         * lwlib/xlwmenu.c (offset):
6002         * src/xterm.c (cvt_string_to_pixel_args):
6003         Use offsetof, not XtOffset.
6005 2015-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
6007         Assume C89 offsetof in widget.c
6008         * src/widget.c (XtOffset): Remove; no longer needed.
6009         (offset): Implement via offsetof instead of via pre-C89 XtOffset hack.
6011         Fix think-o in previous patch
6012         * src/window.c (count_windows, get_leaf_windows):
6013         Don't optimize count_windows incorrectly.
6015 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
6017         Avoid some int overflows in window.c
6018         * src/print.c (print_object):
6019         * src/window.c (sequence_number):
6020         * src/window.h (struct window.sequence_number):
6021         Don't assume window sequence number fits in int.
6022         * src/window.c (window_select_count):
6023         * src/window.h (struct window.use_time, window_select_count):
6024         Don't assume window use time fits in int.
6025         * src/window.c (Fsplit_window_internal):
6026         Don't assume user-supplied integer, or sum, fits in int.
6027         (Fset_window_configuration, count_windows, get_leaf_windows)
6028         (save_window_save, Fcurrent_window_configuration):
6029         Use ptrdiff_t for object counts.
6030         (Fset_window_configuration): Omit unused local 'n'.
6031         (count_windows): Simplify by writing in terms of get_leaf_windows.
6032         (get_leaf_windows): Don't store through FLAT if it's null.
6033         (extract_dimension): New static function.
6034         (set_window_margins, set_window_fringes, set_window_scroll_bars):
6035         Use it to avoid undefined behavior when converting user-supplied
6036         integer to 'int'.
6038 2015-04-13  Glenn Morris  <rgm@gnu.org>
6040         Minor doc copyedits
6041         * doc/emacs/custom.texi (Init Examples): Tweak example, replace typo.
6042         * doc/lispintro/emacs-lisp-intro.texi (condition-case): Typo fix.
6044 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
6046         [Gnus] Catch the invalid-operation that idna.el will issue
6047         * lisp/gnus/gnus-art.el (gnus-use-idna):
6048         * lisp/gnus/gnus-sum.el (gnus-summary-idna-message):
6049         * lisp/gnus/message.el (message-use-idna):
6050         Catch the invalid-operation that idna.el will issue.
6052 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
6054         * doc/lispref/processes.texi (Shell Arguments): Prefer diff -u.
6056 2015-04-13  Sam Steingold  <sds@gnu.org>
6058         package--ensure-init-file: widen before looking for "(package-initialize)"
6060 2015-04-13  Dmitry Gutov  <dgutov@yandex.ru>
6062         Change diff-switches default to `-u'
6063         (Bug#20290)
6064         * doc/emacs/files.texi (Comparing Files): Document the new default
6065         value of `diff-switches'.
6066         * doc/emacs/trouble.texi (Sending Patches): Document the preference
6067         for unified diff format.  Escape the plus in the suggested `-F' regexp
6068         value.
6069         * lisp/vc/diff.el (diff-switches): Change the default to `-u'.
6071 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
6073         (gnus-group--setup-tool-bar-update): Fix last change
6074         * lisp/gnus/gnus-group.el (gnus-group--setup-tool-bar-update):
6075         cursor-sensor-functions should be a list of functions.
6077 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
6079         Use gmm-called-interactively-p in Gnus
6080         * lisp/gnus/gnus-topic.el (gnus-topic-mode): Use gmm-called-interactively-p.
6082 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
6084         * lisp/loadup.el ("cus-start"): Load it after loaddefs.el
6085         (Bug#20321)
6086         * lisp/cus-start.el (read-buffer-function): Don't advertize
6087         iswitchb-read-buffer any more.
6088         (iswitchb): Don't tweak this obsolete group any more.
6090 2015-04-13  Artur Malabarba  <bruce.connor.am@gmail.com>
6092         * lisp/emacs-lisp/package.el: Fix package--ensure-init-file
6094         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Implement docstrings
6095         Adding a string after a constructor's argument list will use
6096         that string as the constructor function docstring.  If this string
6097         is absent but the struct itself was given a docstring, use that as
6098         the constructor's docstring.
6099         Fixes (bug#17284).
6101 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
6103         Deprecate `intangible' and `point-entered' properties
6104         * lisp/emacs-lisp/cursor-sensor.el: New file.
6105         * lisp/simple.el (pre-redisplay-functions): New hook.
6106         (redisplay--pre-redisplay-functions): New function.
6107         (pre-redisplay-function): Use it.
6108         (minibuffer-avoid-prompt): Mark obsolete.
6109         (redisplay--update-region-highlight): Adapt it to work as a function on
6110         pre-redisplay-functions.
6111         * lisp/cus-start.el (minibuffer-prompt-properties--setter): New fun.
6112         (minibuffer-prompt-properties): Use it.  Use cursor-intangible rather
6113         than point-entered to make the prompt intangible.
6114         * lisp/forms.el: Move `provide' calls to the end.
6115         (forms-mode): Don't use `run-hooks' on a local var.
6116         (forms--make-format, forms--make-format-elt-using-text-properties):
6117         Use cursor-intangible rather than `intangible'.
6118         (forms-mode): Enable cursor-intangible-mode.
6119         * lisp/isearch.el (isearch-mode): Use defvar-local.
6120         (cursor-sensor-inhibit): Declare.
6121         (isearch-mode): Set cursor-sensor-inhibit.
6122         (isearch-done): Set it back.
6123         (isearch-open-overlay-temporary, isearch-open-necessary-overlays)
6124         (isearch-close-unnecessary-overlays): Don't bother with `intangible'
6125         any more.
6126         * lisp/ses.el (ses-localvars): Remove `mode-line-process'.
6127         (ses-sym-rowcol, ses-cell-value, ses-col-width, ses-col-printer):
6128         Add Edebug spec.
6129         (ses-goto-print, ses-print-cell, ses-adjust-print-width)
6130         (ses-goto-data, ses-setup, ses-copy-region): Don't let-bind
6131         inhibit-point-motion-hooks any more.
6132         (ses--cell-at-pos, ses--curcell): New functions, extracted from
6133         ses-set-curcell.
6134         (ses-set-curcell): Use them.
6135         (ses-print-cell, ses-setup): Use cursor-intangible instead of
6136         `intangible'.  Make sure cursor-intangible isn't sticky at BOB.
6137         (ses-print-cell-new-width, ses-reprint-all, ses-recalculate-all):
6138         Use ses--cell-at-pos.
6139         (ses--mode-line-process, ses--cursor-sensor-highlight): New functions,
6140         extracted from ses-command-hook.  Make them work with multiple windows
6141         displaying the same buffer.
6142         (ses-mode): Use them via mode-line-process and pre-redisplay-functions.
6143         Enable cursor-intangible-mode.
6144         (ses-command-hook): Remove cell highlight and mode-line update code.
6145         (ses-forward-or-insert, ses-copy-region-helper, ses-sort-column):
6146         Update for new name of text-property holding the cell name.
6147         (ses-rename-cell): Don't mess with mode-line-process.
6148         * lisp/erc/erc-stamp.el (erc-add-timestamp): Use the new
6149         cursor-sensor-functions property instead of point-entered.
6150         (erc-insert-timestamp-right, erc-format-timestamp):
6151         Use cursor-intangible rather than `intangible'.
6152         (erc-munge-invisibility-spec): Use add-to-invisibility-spec and
6153         remove-from-invisibility-spec.  Enable cursor-intangible-mode and
6154         cursor-sensor-mode if needed.
6155         (erc-echo-timestamp): Adapt to calling convention of
6156         cursor-sensor-functions.
6157         (erc-insert-timestamp-right): Remove unused vars `current-window' and
6158         `indent'.
6159         * lisp/gnus/gnus-group.el (gnus-tmp-*): Declare.
6160         (gnus-update-group-mark-positions): Remove unused `topic' var.
6161         (gnus-group-insert-group-line): Remove unused var `header'.
6162         (gnus-group--setup-tool-bar-update): New function.
6163         (gnus-group-insert-group-line): Use it.
6164         (gnus-group-update-eval-form): Declare local
6165         dynamically-bound variables.
6166         (gnus-group-unsubscribe-group): Use \` and \' to match string bounds.
6167         * lisp/gnus/gnus-topic.el (gnus-topic-jump-to-topic)
6168         (gnus-group-prepare-topics, gnus-topic-update-topic)
6169         (gnus-topic-change-level, gnus-topic-catchup-articles)
6170         (gnus-topic-remove-group, gnus-topic-delete, gnus-topic-indent):
6171         Use inhibit-read-only.
6172         (gnus-topic-prepare-topic): Use gnus-group--setup-tool-bar-update.
6173         (gnus-topic-mode): Use define-minor-mode and derived-mode-p.
6174         * lisp/textmodes/reftex-index.el (reftex-display-index):
6175         Use cursor-intangible-mode if available.
6176         (reftex-index-post-command-hook): Check cursor-intangible.
6177         * lisp/textmodes/reftex-toc.el (reftex-toc):
6178         Use cursor-intangible-mode if available.
6179         (reftex-toc-recenter, reftex-toc-post-command-hook):
6180         Check cursor-intangible.
6181         * lisp/textmodes/sgml-mode.el: Use lexical-binding.
6182         (sgml-tag): Use cursor-sensor-functions instead of point-entered.
6183         (sgml-tags-invisible): Use with-silent-modifications and
6184         inhibit-read-only.  Enable cursor-sensor-mode.
6185         (sgml-cursor-sensor): Rename from sgml-point-entered and adjust to
6186         calling convention of cursor-sensor-functions.
6187         * lisp/textmodes/table.el (table-cell-map-hook, table-load-hook)
6188         (table-point-entered-cell-hook, table-point-left-cell-hook):
6189         Don't autoload.
6190         (table-cell-entered-state): Remove var.
6191         (table--put-cell-point-entered/left-property)
6192         (table--remove-cell-properties):
6193         Use cursor-sensor-functions rather than point-entered/left.
6194         (table--point-entered/left-cell-function): Merge
6195         table--point-entered-cell-function and table--point-left-cell-function
6196         and adjust to calling convention of cursor-sensor-functions.
6198         Update ldef-boots.el
6200         * lisp/emacs-lisp/pcase.el (pcase-dolist): Autoload as well.
6202         * doc/misc/eieio.texi: Don't advertize now obsolete constructs
6204         Collapse successive char deletions in the undo log
6205         * src/cmds.c (remove_excessive_undo_boundaries): New function,
6206         extracted from Fself_insert_command.
6207         (Fdelete_char, Fself_insert_command): Use it.
6208         * src/fileio.c (Fmake_symbolic_link): Rename arg to `target'.
6209         * src/keyboard.c (syms_of_keyboard): `top-level' shouldn't be special.
6211         xterm and OSC 52: Add NEWS entry, and tweak the code
6212         * lisp/term/xterm.el (gui-set-selection) <nil>: Move method definition to
6213         top-level.
6214         (terminal-init-xterm-activate-set-selection): Set a terminal property.
6215         (xterm--set-selection): Use it instead of checking the value of
6216         `terminal-initted'.  Don't use string-bytes.
6218 2015-04-13  Philipp Stephani  <p.stephani2@gmail.com>
6220         xterm.el: Implement OSC-52 functionality for setting the X selection
6221         * lisp/term/xterm.el (xterm-max-cut-length): New var.
6222         (xterm--set-selection, terminal-init-xterm-activate-set-selection): New funs.
6223         (terminal-init-xterm, xterm--version-handler): Use them.
6225 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
6227         Remove left over code from when we used an obsolete/loaddefs.el file
6228         * lisp/subr.el (do-after-load-evaluation): Remove left over code from when
6229         we used an obsolete/loaddefs.el file.
6231         * cedet/semantic/fw.el: Use declare.
6232         * cedet/semantic/fw.el (semantic-exit-on-input)
6233         (semanticdb-without-unloaded-file-searches): Use declare.
6234         (semantic-fw-add-edebug-spec): Remove.
6236         (completion-lisp-mode-hook): Use completion-separator-chars
6237         * lisp/completion.el (completion-lisp-mode-hook):
6238         Use completion-separator-chars rather than local key binding.
6240         * src/*.c: Set deactivate_mark buffer-locally
6241         (Bug#20260)
6242         * src/insdel.c (prepare_to_modify_buffer_1):
6243         * src/fileio.c (Finsert_file_contents): Set deactivate_mark
6244         buffer-locally.
6246 2015-04-12  Fabián Ezequiel Gallina  <fgallina@gnu.org>
6248         python.el: Keep symmetry on sexp navigation with parens
6249         (Bug#19954)
6250         * lisp/progmodes/python.el
6251         (python-nav--forward-sexp): Add argument skip-parens-p.
6252         (python-nav-forward-sexp, python-nav-backward-sexp)
6253         (python-nav-forward-sexp-safe)
6254         (python-nav-backward-sexp-safe): Use it.
6255         * test/automated/python-tests.el
6256         (python-nav-forward-sexp-1): Fix test.
6258 2015-04-12  João Távora  <joaotavora@gmail.com>
6260         Don't use `setq-local' in Gnus code
6261         This might break upstream builds with older Emacsen
6262         * lisp/gnus/message.el (message-mode): Use `set' and
6263         `make-local-variable' instead of `setq-local'.
6265 2015-04-12  Paul Eggert  <eggert@cs.ucla.edu>
6267         Update Makefile.in's .PHONY dependencies
6268         * Makefile.in (change-history-commit, master-branch-is-current)
6269         (no-ChangeLog): Now phony.
6271         Remove configure's --with-mmdf option
6272         * configure.ac (MAIL_USE_MMDF): Remove.
6273         * etc/NEWS: Document this.
6274         * lib-src/movemail.c: Assume MAIL_USE_MMDF is not defined.
6275         (Bug#20308)
6277         * doc/man/ChangeLog.01: Rename from doc/man/ChangeLog.1.
6278         That way, 'make install' won't think it's a man page.
6279         Reported by Ashish SHUKLA in:
6280         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00656.html
6282         Improve 'make change-history' prereq tests
6283         * Makefile.in (gen_origin): Fix to match what's in the master branch.
6284         (no-ChangeLog, master-branch-is-current): New rules.
6285         (change-history): Depend on them, to avoid similar future problems.
6286         Escape the local-variables string to pacify Emacs when editing
6287         Makefile.in.
6289 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
6291         * test/automated/package-test.el (with-package-test): Kill Packages buffer
6293         * lisp/emacs-lisp/package.el: Improve transaction y-or-n prompt
6294         (package-menu--prompt-transaction-p): Prompt for "Delete" first,
6295         "Upgrade" last, and use capitalized instead of all-caps.
6297         * lisp/emacs-lisp/package.el: Completely silence async operations
6298         (package--make-autoloads-and-stuff): Silence autoloads.
6299         (package--save-selected-packages): New function, silences
6300         `customize-save-variable'.
6301         (package--user-selected-p, package-install-from-buffer)
6302         (package-delete, package-install): Use it.
6303         (package-install-from-archive)
6304         (package-menu--perform-transaction): Silence.
6305         (package-menu-execute): Feedback when operation starts.
6307         Use delay-mode-hooks when visiting the init-file
6308         * lisp/emacs-lisp/package.el (package--ensure-init-file):
6309         delay-mode-hooks
6310         * lisp/cus-edit.el (custom-save-all): delay-mode-hooks
6312         * lisp/files.el: Only message when saving if save-silently is nil
6313         (save-silently): New variable.
6314         (files--message): New function.
6315         (find-file-noselect, save-buffer, basic-save-buffer)
6316         (basic-save-buffer-2, save-some-buffers, not-modified)
6317         (append-to-file): Use them.
6319 2015-04-12  Johan Bockgård  <bojohan@gnu.org>
6321         Support debug declarations in pcase macros
6322         * lisp/emacs-lisp/pcase.el (pcase-MACRO): New edebug spec.
6323         (pcase-UPAT): Use it.  Remove "`".
6324         (pcase--edebug-match-macro): New function.
6325         (pcase-defmacro): Support debug declarations.
6326         * lisp/emacs-lisp/cl-macs.el (cl-struct) <pcase-defmacro>:
6327         * lisp/emacs-lisp/eieio.el (eieio) <pcase-defmacro>:
6328         * lisp/emacs-lisp/pcase.el (\`): <pcase-defmacro>: Add debug declaration.
6330         pcase.el: Edebug support for `app' and vector patterns
6331         * lisp/emacs-lisp/pcase.el (pcase-FUN): New edebug spec.
6332         (pcase-UPAT): Use it. Support `app' patterns.
6333         (pcase-QPAT): Support vector patterns.
6335         edebug.el: Disambiguate vector specifications
6336         * lisp/emacs-lisp/edebug.el (edebug-match-list): Always treat
6337         `(vector ...)' as a vector specification, not as a sublist.
6339         (gnus-summary-refer-thread): Don't clobber unread articles
6340         This fixes a bug where `A T' causes "random" articles to become marked
6341         as read.
6342         * lisp/gnus/gnus-sum.el (gnus-summary-refer-thread): Make sure
6343         gnus-newsgroup-unreads remains sorted.
6345         mouse-sel.el: Fix mouse-sel-get-selection-function
6346         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
6347         Use gui--last-selected-text-primary instead of no longer existing
6348         gui-last-selected-text.
6350         * lisp/rect.el (delete-whitespace-rectangle-line): Don't cross EOL.
6352         * lisp/net/nsm.el (nsm-query-user): Use cursor-in-echo-area.
6354 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
6356         * lisp/emacs-lisp/package.el (list-packages): Avoid redundant generate
6358         * lisp/emacs-lisp/package.el (list-packages): Call refresh in right buffer
6360         * lisp/emacs-lisp/bytecomp.el: Silence noninteractive compilations
6361         (byte-compile--interactive): New var.
6362         (byte-compile--message): New function.
6363         (byte-compile-log-1, byte-force-recompile)
6364         (byte-recompile-directory, byte-recompile-file)
6365         (byte-compile-file, compile-defun)
6366         (byte-compile-file-form-defmumble, byte-compile)
6367         (byte-compile-file-form-defalias, display-call-tree): Use it.
6369         * lisp/files.el: Don't message when nothing happened
6370         (save-some-buffers, basic-save-buffer): Before messaging to say
6371         "nothing was saved" check if (called-interactively-p 'any).
6373 2015-04-12  João Távora  <joaotavora@gmail.com>
6375         Summary: Improve sexp-based movement in message-mode
6376         Works by giving citations and smileys a different syntax.  This helps
6377         modes like `show-paren-mode', `electric-pair-mode', and C-M-*
6378         sexp-based movement.
6379         * lisp/gnus/message.el (message--syntax-propertize): New function.
6380         (message-mode): Set syntax-related vars.
6381         (message-smileys): New variable.
6382         * test/automated/message-mode-tests.el: New file
6384 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
6386         Use bool for boolean in window.c
6387         * src/window.c: Omit unnecessary static function decls.
6388         (adjust_window_count, select_window, Fselect_window)
6389         (window_body_width, Fwindow_body_height, Fwindow_body_width)
6390         (set_window_hscroll, check_window_containing, Fwindow_at)
6391         (Fwindow_end, Fset_window_start, Fpos_visible_in_window_p)
6392         (unshow_buffer, replace_window, recombine_windows)
6393         (add_window_to_list, candidate_window_p, next_window)
6394         (Fnext_window, Fprevious_window, window_loop, check_all_windows)
6395         (Fget_buffer_window, Fdelete_other_windows_internal)
6396         (replace_buffer_in_windows_safely, set_window_buffer)
6397         (Fset_window_buffer, Fforce_window_update)
6398         (temp_output_buffer_show, make_parent_window)
6399         (window_resize_check, window_resize_apply, Fwindow_resize_apply)
6400         (resize_frame_windows, Fsplit_window_internal)
6401         (Fdelete_window_internal, grow_mini_window, shrink_mini_window)
6402         (Fresize_mini_window_internal, mark_window_cursors_off)
6403         (window_scroll, window_scroll_pixel_based)
6404         (window_scroll_line_based, scroll_command, Fscroll_other_window)
6405         (Fscroll_left, Fscroll_right, displayed_window_lines, Frecenter)
6406         (Fmove_to_window_line, Fset_window_configuration)
6407         (delete_all_child_windows, apply_window_adjustment)
6408         (set_window_fringes, set_window_scroll_bars)
6409         (Fset_window_vscroll, foreach_window, foreach_window_1)
6410         (compare_window_configurations, Fcompare_window_configurations):
6411         Prefer 'bool', 'true', and 'false' for booleans.
6412         * src/window.h (WINDOW_MODE_LINE_LINES)
6413         (WINDOW_HEADER_LINE_LINES): Omit unnecessary "!!" on bool value.
6415 2015-04-11  Artur Malabarba  <bruce.connor.am@gmail.com>
6417         Speed up byte-compilation and autoload generation by avoiding mode-hooks
6418         This prevents emacs-lisp-mode-hook from being run everytime an
6419         autoload file is generated, which can account for a fraction of
6420         package installation time depending on the hooks the user has
6421         configured.
6422         * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Use delay-mode-hooks.
6423         * lisp/emacs-lisp/autoload.el (autoload-find-file)
6424         (autoload-find-generated-file): Use delay-mode-hooks.
6426         * lisp/emacs-lisp/package.el: Improve `package-menu-refresh'
6427         (package-menu-refresh): Respect async and do new package checking.
6428         (list-packages): Use `package-menu-refresh' instead of repeating code.
6430         * lisp/emacs-lisp/package.el: Improve package-menu-quick-help
6431         (package--quick-help-keys): New variable.
6432         (package--prettify-quick-help-key): New function.
6433         (package-menu-quick-help): Use it.
6435         * lisp/emacs-lisp/package.el: Fix initially wrong compat table
6436         (package--build-compatibility-table): require finder
6438         * test/automated/package-test.el: Fix new test
6440         * lisp/emacs-lisp/package.el: Silence async operations
6441         (package--silence): New variable.
6442         (package--message): New function.
6443         (package-import-keyring, package-refresh-contents)
6444         (package-compute-transaction, package-install, package-delete)
6445         (package-menu--perform-transaction, package-menu-execute): Use it.
6447         * test/automated/package-test.el: Test async functionality
6448         (package-test-update-archives-async): New test
6450 2015-04-11  Daiki Ueno  <ueno@gnu.org>
6452         Utilize `make-process' in epg.el
6453         * lisp/epg.el (epg-error-output): Abolish.
6454         (epg-context): New slot `error-buffer'.
6455         (epg--start): Use `make-process' and `make-pipe-process'.
6456         (epg--process-filter): Remove code separating stderr from stdout.
6457         (epg-wait-for-completion): Simplify `error-output' handling.
6458         (epg-reset): Dispose error buffer.
6460 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
6462         * .gitignore: Ignore doc temps and outputs.
6464         Port commit-msg to MSYS Bash+Gawk
6465         See Eli Zaretskii in:
6466         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00610.html
6467         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format)
6468         (cent_sign, print_at_sign, at_sign): Revert previous change.
6469         (print_at_sign): Prepend "BEGIN".
6470         (at_sign): Redirect from /dev/null to be safer with pre-POSIX awk.
6472         Port commit-msg to broken MS-Windows shell
6473         * build-aux/git-hooks/commit-msg (cent_sign):
6474         Just use UTF-8 here rather than ASCII + printf, as the latter fails
6475         on a broken MS-Windows shell.  Reported by Eli Zaretskii in:
6476         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00592.html
6478 2015-04-11  Chris Zheng  <chriszheng99@gmail.com>  (tiny change)
6480         Support GnuTLS v3.4 and later on MS-Windows
6481         * src/gnutls.c (syms_of_gnutls) <libgnutls-version>: New DEFSYM.
6482         * lisp/term/w32-win.el (dynamic-library-alist): Determine which
6483         GnuTLS DLL to load according to value of libgnutls-version.
6484         (Bug#20294)
6486 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
6488         Minor quoting etc. fixes to misc manuals
6489         Fix some minor quoting and spacing issues.  Distinguish more
6490         clearly among grave accent and apostrophe (which are ASCII) and
6491         single quote (which is not).  Prefer the standard terms
6492         "apostrophe" and "grave accent" to alternative names that can be
6493         confusing.  Use apostrophes to single-quote ASCII text.
6494         * doc/misc/remember.texi: Spell the mystic's pseudonym in UTF-8
6495         rather than approximating it in ASCII with grave accent.
6497 2015-04-11  Daiki Ueno  <ueno@gnu.org>
6499         Respect more keyword args in `make-process'
6500         * process.c (Fmake_process): Respect `:sentinel' and `:filter'
6501         keywords as documented.
6503 2015-04-10  Dmitry Gutov  <dgutov@yandex.ru>
6505         Extract ChangeLog entries when committing a directory
6506         * lisp/vc/vc-dispatcher.el (vc-log-edit): Update FIXME comment.
6507         * lisp/vc/log-edit.el (log-edit-changelog-insert-entries):
6508         Add a FIXME comment.
6509         (log-edit-changelog-entries): Extract from
6510         `log-edit-changelog-entries', handle FILE being a directory
6511         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00555.html).
6513 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
6515         Fix problems found by --enable-gcc-warnings
6516         * src/process.c (create_process, Fmake_pipe_process)
6517         (Fmake_network_process): Omit unused locals.
6519         Fix commit-msg to handle scissors lines
6520         * build-aux/git-hooks/commit-msg:
6521         Ignore every line after a scissors line, such as a line generated
6522         by 'git commit -v'.  Problem reported by Johan Bockgård in:
6523         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00580.html
6525         port commit-msg to Gawk 3.0.4 (1999)
6526         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format, cent_sign)
6527         (print_at_sign, at_sign): New vars.  Use them to avoid problems
6528         Eli Zaretskii encountered with Gawk 3.0.4 (1999) on MSYS.  See:
6529         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
6531         Have commit-msg report commit failure
6532         * build-aux/git-hooks/commit-msg: If the commit is aborted,
6533         say so.  Simplify by doing this at the end.  Problem reported
6534         by Eli Zaretskii in:
6535         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
6537 2015-04-10  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
6539         Clean up LDAP Configuration section of EUDC manual
6540         * doc/misc/eudc.texi: Combine indices.
6541         (LDAP Configuration): Use command markup.  Add index entries.
6542         Change formatting.  Wrap long lines.  Add noindent markup.
6544 2015-04-10  Daiki Ueno  <ueno@gnu.org>
6546         Add facility to collect stderr of async subprocess
6547         * src/w32.h (register_aux_fd): New function declaration.
6548         * src/w32.c (register_aux_fd): New function.
6549         * src/process.h (struct Lisp_Process): New member stderrproc.
6550         * src/process.c (PIPECONN_P): New macro.
6551         (PIPECONN1_P): New macro.
6552         (Fdelete_process, Fprocess_status, Fset_process_buffer)
6553         (Fset_process_filter, Fset_process_sentinel, Fstop_process)
6554         (Fcontinue_process): Handle pipe process specially.
6555         (create_process): Respect p->stderrproc.
6556         (Fmake_pipe_process): New function.
6557         (Fmake_process): Add new keyword argument :stderr.
6558         (wait_reading_process_output): Specially handle a pipe process when
6559         it gets an EOF.
6560         (syms_of_process): Register Qpipe and Smake_pipe_process.
6561         * doc/lispref/processes.texi (Asynchronous Processes): Document
6562         `make-pipe-process' and `:stderr' keyword of `make-process'.
6563         * lisp/subr.el (start-process): Suggest to use `make-process' handle
6564         standard error separately.
6565         * test/automated/process-tests.el (process-test-stderr-buffer)
6566         (process-test-stderr-filter): New tests.
6567         * etc/NEWS: Mention new process type `pipe' and its usage with the
6568         `:stderr' keyword of `make-process'.
6570 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
6572         Minor quoting etc. fixes to lispref manual
6573         * doc/lispref/tips.texi (Documentation Tips):
6574         Distinguish more clearly among grave accent, apostrophe,
6575         and single quote.
6576         * doc/lispref/README, doc/lispref/buffers.texi:
6577         * doc/lispref/commands.texi, doc/lispref/control.texi:
6578         * doc/lispref/customize.texi, doc/lispref/display.texi:
6579         * doc/lispref/elisp.texi, doc/lispref/files.texi:
6580         * doc/lispref/frames.texi, doc/lispref/hash.texi:
6581         * doc/lispref/help.texi, doc/lispref/internals.texi:
6582         * doc/lispref/loading.texi, doc/lispref/makefile.w32-in:
6583         * doc/lispref/markers.texi, doc/lispref/modes.texi:
6584         * doc/lispref/nonascii.texi, doc/lispref/objects.texi:
6585         * doc/lispref/os.texi, doc/lispref/positions.texi:
6586         * doc/lispref/strings.texi, doc/lispref/syntax.texi:
6587         * doc/lispref/text.texi, doc/lispref/tips.texi:
6588         * doc/lispref/two-volume-cross-refs.txt, doc/lispref/windows.texi:
6589         Use American-style double quoting in ordinary text,
6590         and quote 'like this' when single-quoting in ASCII text.
6591         Also, fix some minor spacing issues.
6593 2015-04-10  Michael Albinus  <michael.albinus@gmx.de>
6595         Handle symlinked test directory in tramp-tests.el
6596         * test/automated/tramp-tests.el (tramp-test18-file-attributes)
6597         (tramp--test-check-files): Use `file-truename' for directories.
6599 2015-04-10  Eli Zaretskii  <eliz@gnu.org>
6601         Fix 'recenter' when visual-line-mode is turned on
6602         * src/window.c (Frecenter): Use the same code for GUI and TTY
6603         frames alike; use vmotion only for "initial" frames.  This is
6604         because vmotion doesn't support visual-line-mode.  Rewrite the
6605         'iarg >= 0' case to use move_it_* functions instead of using
6606         vmotion, for the same reason.  Fix the clipping of the argument
6607         value to support scroll-margin in all cases and avoid unwarranted
6608         recentering.  Reported by Milan Stanojević <milanst@gmail.com> in
6609         http://lists.gnu.org/archive/html/help-gnu-emacs/2015-04/msg00092.html,
6610         which see.
6612 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
6614         * abbrev.el (define-abbrev-table): Refine last change.
6616         cl-lib.el: Partial revert of "2015-04-05 Rationalize c[ad]+r"
6617         * lisp/emacs-lisp/cl-lib.el: Partial revert of "2015-04-05 Rationalize
6618         use of c[ad]+r", so as to keep the "cl-" prefix on all
6619         cl-lib definitions.
6621         * vhdl-mode.el (vhdl-prepare-search-2): Use inhibit-point-motion-hooks
6623         * lisp/cedet/semantic: Remove some dead code
6624         * lisp/cedet/semantic/util-modes.el
6625         (semantic-stickyfunc-header-line-format): Emacs<22 is not supported
6626         any more.
6627         * lisp/cedet/semantic/fw.el (semantic-buffer-local-value): Emacs<21 is
6628         not supported any more.
6629         (semantic-safe): Use `declare'.
6630         * lisp/cedet/semantic/decorate.el (semantic-set-tag-intangible)
6631         (semantic-tag-intangible-p): Remove unused functions.
6632         * lisp/cedet/semantic/complete.el (semantic-displayor-window-edges):
6633         Remove unused function.
6635         * lisp/gnus/gnus-art.el (gnus-hidden-properties): Simplify.
6636         (gnus-article-hide-text, gnus-article-unhide-text)
6637         (gnus-article-unhide-text-type): Remove special handling of
6638         `intangible' since that property is not used any more.
6639         (gnus-article-treat-body-boundary): Use gnus-hidden-properties.
6641 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
6643         Use the VC root in `log-edit-listfun'
6644         * lisp/vc/vc-dispatcher.el (vc-log-edit): Use the VC root in
6645         `log-edit-listfun'.
6647 2015-04-09  Jay Belanger  <jay.p.belanger@gmail.com>
6649         Fix description of Unix time, mention new function.
6650         * lisp/calc/calc-forms.el (calcFunc-unixtime): Fix adjustment for
6651         Unix time.
6652         * doc/misc/calc.texi (Date Forms): Fix description of Unix time.
6653         (Basic Operations on Units): Mention `calc-convert-exact-units'.
6655 2015-04-09  Artur Malabarba  <bruce.connor.am@gmail.com>
6657         * lisp/emacs-lisp/package.el: Use mode-line-process for notification
6659 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
6661         (log-edit-insert-changelog-entries): Don't add newline after the last entry
6662         * lisp/vc/log-edit.el (log-edit-insert-changelog-entries):
6663         Don't add newline after the last entry.
6665 2015-04-09  Simen Heggestøyl  <simenheg@gmail.com>
6667         css-mode.el: Add "not" pseudo-class
6668         (Bug#20267)
6669         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Add "not" to
6670         list of CSS pseudo-classes.
6672 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
6674         etc/NEWS: Add missing entry for "Stop messing with the EMACS env var"
6676 2015-04-09  Michael Albinus  <michael.albinus@gmx.de>
6678         Stop messing with the EMACS env var
6679         * misc.texi (Interactive Shell): Remove description of EMACS env var.
6681 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
6683         Adapt 'make change-history' to coding cookie
6684         * Makefile.in (change-history): Adjust to change of format of
6685         ChangeLog file, which now has a coding cookie before an indented
6686         copyright notice.
6688 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
6690         Adapt 'make change-history' to coding cookie
6691         * Makefile.in (change-history): Adjust to change of format of
6692         ChangeLog file, which now has a coding cookie before an indented
6693         copyright notice.
6695         gitlog-to-changelog coding cookie and mv -i
6696         * build-aux/gitlog-to-emacslog: Use ChangeLog.1, not Makefile.in,
6697         for copyright notice prototype, so that we get a proper "coding:"
6698         cookie.  Use 'mv -i' to avoid unconditionally overwriting an
6699         existing ChangeLog.  Problems reported by Eli Zaretskii in:
6700         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00504.html
6702         Merge from gnulib
6703         * build-aux/gitlog-to-changelog: Update from gnulib, incorporating:
6704         2015-04-09 gitlog-to-changelog: port to MS-Windows
6706 2015-04-09  Boruch Baum  <boruch_baum@gmx.com>  (tiny change)
6708         * lisp/bookmark.el (bookmark-bmenu-goto-bookmark): Don't inf-loop.
6709         (Bug#20212)
6711 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
6713         Stop messing with the EMACS env var
6714         (Bug#20202)
6715         * lisp/net/tramp-sh.el (tramp-remote-process-environment):
6716         * lisp/comint.el (comint-exec-1):
6717         * lisp/term.el (term-exec-1): Don't set EMACS envvar.
6718         * lisp/progmodes/compile.el (compilation-start): Same and bring
6719         INSIDE_EMACS's format in line with other users.
6721         css-mode.el (css-smie-rules): Fix indentation after complex selectors
6722         (Bug#20282)
6723         * lisp/textmodes/css-mode.el (css-smie-rules): Don't get confused by
6724         inner structure of selectors.
6726 2015-04-08  Fabián Ezequiel Gallina  <fgallina@gnu.org>
6728         python.el: Indent docstring lines to base-indent
6729         (Bug#19595)
6730         Thanks to immerrr <immerrr@gmail.com> for reporting and providing
6731         an initial patch.
6732         * lisp/progmodes/python.el
6733         (python-indent-context): Add :inside-docstring context.
6734         (python-indent--calculate-indentation): Handle :inside-docstring.
6735         (python-indent-region): Re-indent docstrings.
6736         * test/automated/python-tests.el (python-indent-region-5)
6737         (python-indent-inside-string-2): Fix tests.
6739         python.el: Increase native completion robustness
6740         (Bug#19755)
6741         Thanks to Carlos Pita <carlosjosepita@gmail.com> for reporting
6742         this and providing useful ideas.
6743         * lisp/progmodes/python.el
6744         (python-shell-completion-native-output-timeout): Increase value.
6745         (python-shell-completion-native-try-output-timeout): New var.
6746         (python-shell-completion-native-try): Use it.
6747         (python-shell-completion-native-setup): New readline setup avoids
6748         polluting current context, ensures output when no-completions are
6749         available and includes output end marker.
6750         (python-shell-completion-native-get-completions): Trigger with one
6751         tab only.  Call accept-process-output until output end is found or
6752         python-shell-completion-native-output-timeout is exceeded.
6754 2015-04-08  Samer Masterson  <samer@samertm.com>
6756         * lisp/eshell: Make backslash a no-op in front of normal chars
6757         (Bug#8531)
6758         * lisp/eshell/esh-arg.el (eshell-parse-argument-hook): Update comment.
6759         (eshell-parse-backslash): Return escaped character after backslash
6760         if it is special.  Otherwise, if the backslash is not in a quoted
6761         string, ignore the backslash and return the character after; if
6762         the backslash is in a quoted string, return the backslash and the
6763         character after.
6764         * test/automated/eshell.el (eshell-test/escape-nonspecial)
6765         (eshell-test/escape-nonspecial-unicode)
6766         (eshell-test/escape-nonspecial-quoted)
6767         (eshell-test/escape-special-quoted): Add tests for new
6768         `eshell-parse-backslash' behavior.
6770 2015-04-08  Gustav Hållberg  <gustav@gmail.com>  (tiny change)
6772         * lisp/vc/diff-mode.el (diff-hunk-file-names): Don't require a TAB
6773         after the file name.
6774         (Bug#20276)
6776 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
6778         Minor quoting etc. fixes to Emacs manual
6779         * doc/emacs/Makefile.in, doc/emacs/ack.texi, doc/emacs/building.texi:
6780         * doc/emacs/calendar.texi, doc/emacs/cmdargs.texi:
6781         * doc/emacs/custom.texi, doc/emacs/dired.texi, doc/emacs/emacs.texi:
6782         * doc/emacs/files.texi, doc/emacs/glossary.texi, doc/emacs/gnu.texi:
6783         * doc/emacs/indent.texi, doc/emacs/macos.texi:
6784         * doc/emacs/maintaining.texi, doc/emacs/makefile.w32-in:
6785         * doc/emacs/programs.texi, doc/emacs/rmail.texi:
6786         * doc/emacs/search.texi, doc/emacs/trouble.texi:
6787         * doc/emacs/vc1-xtra.texi:
6788         Use American-style double quoting in ordinary text,
6789         and quote 'like this' when single-quoting in ASCII text.
6790         Also, fix some minor spacing issues.
6792         Minor quoting etc. fixes to elisp intro
6793         * doc/lispintro/emacs-lisp-intro.texi: Consistently use
6794         American-style double quoting in ordinary text.  In ASCII text,
6795         consistently quote 'like this' instead of `like this', unless
6796         Emacs requires the latter.
6798 2015-04-08  Dmitry Gutov  <dgutov@yandex.ru>
6800         * CONTRIBUTE: Mention log-edit-insert-changelog.
6802         * CONTRIBUTE: Emphasize creating the top-level ChangeLog file manually.
6804 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
6806         * doc/misc/calc.texi (Summary): Avoid '@:' when usurped.
6808 2015-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>
6810         (eieio-copy-parents-into-subclass): Fix inheritance of initargs
6811         (Bug#20270)
6812         * lisp/emacs-lisp/eieio-core.el (eieio-copy-parents-into-subclass):
6813         Fix inheritance of initargs.
6815 2015-04-08  Artur Malabarba  <bruce.connor.am@gmail.com>
6817         * lisp/emacs-lisp/package.el (package-menu-mode): Mode-line notification
6818         while dowloading information.
6820         * lisp/emacs-lisp/package.el: More conservative `ensure-init-file'
6821         (package--ensure-init-file): Check file contents before visiting.
6822         (package-initialize): Call it.
6823         (package-install-from-buffer, package-install): Don't call it.
6825 2015-04-08  Eli Zaretskii  <eliz@gnu.org>
6827         * src/eval.c (init_eval_once): Bump max_lisp_eval_depth to 800
6828         (Bug#17517)
6830 2015-04-08  Michael Albinus  <michael.albinus@gmx.de>
6832         Fix nasty scoping bug in tramp-cache.el
6833         * lisp/net/tramp-cache.el (tramp-flush-file-property): Fix nasty scoping bug.
6835 2015-04-08  Tassilo Horn  <tsdh@gnu.org>
6837         Add notice to visual commands section
6838         * doc/misc/eshell.texi (Input/Output): Add notice that some tools
6839         such as git call less with its -F option which omits pagination if
6840         the contents is less than one page long.  This interferes with
6841         eshell's visual (sub-)commands.
6843 2015-04-07  Dmitry Gutov  <dgutov@yandex.ru>
6845         ffap: Support environment variable expansion in file names
6846         (Bug#19839)
6847         * lisp/ffap.el (ffap-string-at-point-mode-alist): Support
6848         environment variable expansion in file names.
6850 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
6852         Prefer double-quote to accent-grave in man pages
6854 2015-04-07  Stefan Monnier  <monnier@iro.umontreal.ca>
6856         (Bug#20257)
6857         * lisp/files.el (set-visited-file-name): Clear auto-save if nil.
6859 2015-04-07  Ivan Shmakov  <ivan@siamics.net>
6861         Update etc/PROBLEMS.
6862         * etc/PROBLEMS: Mention visible-cursor; a few more mentions of
6863         ~/.Xresources and xrdb(1); refer to 'GNU Coreutils' and
6864         'X Window System' or 'X' (were: 'GNU Fileutils' and 'X Windows',
6865         respectively); other minor updates and tweaks.  (Bug#20011)
6867 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
6869         Add doc strings for some Isearch state vars
6870         * lisp/misearch.el (multi-isearch-buffer-list)
6871         (multi-isearch-file-list): Add doc strings.
6872         (Bug#20232)
6874 2015-04-07  Alan Mackenzie  <acm@muc.de>
6876         Always mark "<" and ">" in #include directives with text properties.
6877         * lisp/progmodes/c-fonts.el (c-cpp-matchers): Replace a font-lock "anchored
6878         matcher" with an invocation of c-make-font-lock-search-function to allow
6879         fontification when there's no trailing space on an "#include <..>" line.
6881 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
6883         Generate a ChangeLog file from commit logs
6884         * .gitignore: Add 'ChangeLog'.
6885         * build-aux/gitlog-to-changelog: New file, from Gnulib.
6886         * build-aux/gitlog-to-emacslog: New file.
6887         * CONTRIBUTE: Document the revised workflow.
6888         * Makefile.in (clean): Remove *.tmp and etc/*.tmp*
6889         instead of just special cases.
6890         (CHANGELOG_HISTORY_INDEX_MAX, CHANGELOG_N, gen_origin): New vars.
6891         (ChangeLog, unchanged-history-files, change-history)
6892         (change-history-commit): New rules.
6893         * admin/admin.el (make-manuals-dist--1):
6894         Don't worry about doc/ChangeLog.
6895         * admin/authors.el: Add a FIXME.
6896         * admin/make-tarball.txt:
6897         * lisp/calendar/icalendar.el:
6898         * lisp/gnus/deuglify.el:
6899         * lisp/obsolete/gulp.el:
6900         * lwlib/README:
6901         Adjust to renamed ChangeLog history files.
6902         * admin/merge-gnulib (GNULIB_MODULES): Add gitlog-to-changelog.
6903         * admin/notes/repo: Call it 'master' a la Git, not 'trunk' a la Bzr.
6904         Remove obsolete discussion of merging ChangeLog files.
6905         New section "Maintaining ChangeLog history".
6906         * build-aux/git-hooks/pre-commit:
6907         Reject attempts to commit files named 'ChangeLog'.
6908         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
6909         * make-dist: Make and distribute top-level ChangeLog if there's a
6910         .git directory.  Distribute the new ChangeLog history files
6911         instead of scattered ChangeLog files.  Distribute the new files
6912         gitlog-to-changelog and gitlog-to-emacslog.
6913         (Bug#19113)
6915         Rename ChangeLogs for gitlog-to-changelog
6916         This patch was implemented via the following shell commands:
6917         find * -name ChangeLog |
6918         sed 's,.*,git mv & &.1,
6919         s, lisp/ChangeLog\.1$, lisp/ChangeLog.17,
6920         s, lisp/erc/ChangeLog\.1$, lisp/erc/ChangeLog.09,
6921         s, lisp/gnus/ChangeLog\.1$, lisp/gnus/ChangeLog.3,
6922         s, lisp/mh-e/ChangeLog\.1$, lisp/mh-e/ChangeLog.2,
6923         s, src/ChangeLog\.1$, src/ChangeLog.13,' |
6924         sh
6925         git commit -am"[this commit message]"
6927 This file records repository revisions from
6928 commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to
6929 commit eac1271ae9dc6087be4383ded3f62ac3da030b54 (inclusive).
6930 See ChangeLog.1 for earlier changes.
6932 ;; Local Variables:
6933 ;; coding: utf-8
6934 ;; End:
6936   Copyright (C) 2015 Free Software Foundation, Inc.
6938   This file is part of GNU Emacs.
6940   GNU Emacs is free software: you can redistribute it and/or modify
6941   it under the terms of the GNU General Public License as published by
6942   the Free Software Foundation, either version 3 of the License, or
6943   (at your option) any later version.
6945   GNU Emacs is distributed in the hope that it will be useful,
6946   but WITHOUT ANY WARRANTY; without even the implied warranty of
6947   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
6948   GNU General Public License for more details.
6950   You should have received a copy of the GNU General Public License
6951   along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.