Fix debug-timer-check on systems without HAVE_TIMERFD
[emacs.git] / ChangeLog.2
blob717a65c04c7a7a3e439aca2f89286c31e9604ce4
1 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
3         Improve port of settings UI to older displays
4         * lisp/cus-start.el (standard): Don't assume curved quotes are
5         easily distinguishable when users are tinkering with a setting
6         that affects how curved quotes are generated.
8         Fix quoting in electric-quote-mode doc string
9         * lisp/electric.el (electric-quote-mode): Fix quoting.
10         This is a fallout from the recent change introducing
11         ‘help-quote-translation’.
13         Spelling fix
15         * doc/misc/texinfo.tex, lib/set-permissions.c: Merge from gnulib.
17         * src/doc.c (syms_of_doc): Remove unused symbols.
19 2015-06-20  Martin Rudalics  <rudalics@gmx.at>
21         In ‘window-state-put’ undedicate target window.  (Bug#20848)
22         * lisp/window.el (window-state-put): Undedicate target window
23         before putting STATE into it.  (Bug#20848)
25 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
27         Merge from origin/emacs-24
28         a5e6f33 Fixes: debbugs:20832
29         b9f02cf Fixes: debbugs:20832
31 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
33         Fix file-in-directory-p when the directory is UNC
34         * lisp/files.el (file-in-directory-p): Support files and
35         directories that begin with "//".  (Bug#20844)
37 2015-06-19  Stephen Berman  <stephen.berman@gmx.net>
39         (Bug#20832)
40         * lisp/calendar/todo-mode.el (todo-show): Don't visit todo file
41         in the minibuffer.
43 2015-06-19  Nicolas Richard  <youngfrog@members.fsf.org>
45         (Bug#20832)
46         * lisp/calendar/todo-mode.el (todo-show): Signal an error
47         if buffer for adding new todo file is empty but modified.
49 2015-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
51         (filepos-to-bufferpos): Further tweaks to the utf-16 code
52         * lisp/international/mule-util.el (filepos-to-bufferpos):
53         Fix typo.  Move non-exact check to the utf-16 branch (the only one
54         affected).  Don't use byte-to-position for the utf-16 case.
56 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
58         Minor fixes in filepos-to-bufferpos
59         * lisp/international/mule-util.el (filepos-to-bufferpos): Remove
60         test for utf-8-emacs.  Exempt single-byte encodings from the
61         'use-exact' path when QUALITY is 'exact'.  Test UTF-16 encodings
62         for BOM before subtracting 2 bytes.  Use 'identity' when adjusting
63         UTF-16 encoded files for CR-LF EOLs.
65 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
67         Improve the optional translation of quotes
68         Fix several problems with the recently-added custom variable
69         help-quote-translation where the code would quote inconsistently
70         in help buffers.  Add support for quoting 'like this', which
71         is common in other GNU programs in ASCII environments.  Change
72         help-quote-translation to use more mnemonic values: values are now the
73         initial quoting char, e.g., (setq help-quote-translation ?`) gets the
74         traditional Emacs help-buffer quoting style `like this'.  Change the
75         default behavior of substitute-command-keys to match what's done in
76         set-locale-environment, i.e., quote ‘like this’ if displayable,
77         'like this' otherwise.
78         * doc/lispref/help.texi (Keys in Documentation): Document
79         new behavior of substitute-command-keys, and document
80         help-quote-translation.
81         * doc/lispref/tips.texi (Documentation Tips):
82         Mention the effect of help-quote-translation.
83         * etc/NEWS: Mention new behavior of substitute-command-keys,
84         and merge help-quote-translation news into it.
85         When talking about doc strings, mention new ways to type quotes.
86         * lisp/cedet/mode-local.el (overload-docstring-extension):
87         Revert my recent change to this function, which shouldn't be
88         needed as the result is a doc string.
89         * lisp/cedet/mode-local.el (mode-local-print-binding)
90         (mode-local-describe-bindings-2):
91         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
92         * lisp/cus-theme.el (describe-theme-1):
93         * lisp/descr-text.el (describe-text-properties-1, describe-char):
94         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
95         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
96         (eieio-help-constructor):
97         * lisp/emacs-lisp/package.el (describe-package-1):
98         * lisp/faces.el (describe-face):
99         * lisp/help-fns.el (help-fns--key-bindings)
100         (help-fns--compiler-macro, help-fns--parent-mode)
101         (help-fns--obsolete, help-fns--interactive-only)
102         (describe-function-1, describe-variable):
103         * lisp/help.el (describe-mode):
104         Use substitute-command-keys to ensure a more-consistent quoting
105         style in help buffers.
106         * lisp/cus-start.el (standard):
107         Document new help-quote-translation behavior.
108         * lisp/emacs-lisp/lisp-mode.el (lisp-fdefs):
109         * lisp/help-mode.el (help-xref-symbol-regexp, help-xref-info-regexp)
110         (help-xref-url-regexp):
111         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
112         * lisp/wid-edit.el (widget-documentation-link-regexp):
113         Also match 'foo', in case we're in a help buffer generated when
114         help-quote-translation is ?'.
115         * src/doc.c: Include disptab.h, for DISP_CHAR_VECTOR.
116         (LEFT_SINGLE_QUOTATION_MARK, uLSQM0, uLSQM1, uLSQM2, uRSQM0)
117         (uRSQM1, uRSQM2, LSQM, RSQM): New constants.
118         (Fsubstitute_command_keys): Document and implement new behavior.
119         (Vhelp_quote_translation): Document new behavior.
121 2015-06-18  Glenn Morris  <rgm@gnu.org>
123         * lisp/cus-start.el (help-quote-translation): Add :version.
125         * src/doc.c (Fsubstitute_command_keys): Make previous change compile.
127 2015-06-18  Alan Mackenzie  <acm@muc.de>
129         Make translation of quotes to curly in doc strings optional.
130         src/doc.c (traditional, prefer-unicode): new symbols.
131         (help-quote-translation): new variable.
132         (Fsubstitute_command_keys): make translation of quotes dependent on
133         `help-quote-translation'; also translate curly quotes back to ASCII
134         ones.
135         lisp/cus-start.el (top-level): Add a customization entry for
136         `help-quote-translation'.
138 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
140         * lisp/emacs-lisp/package.el: Don't always propagate async errors
141         (package--with-work-buffer-async): Only propagate the error if the
142         callback returns non-nil.
143         (package--download-one-archive): Return nil on the signature
144         checking callback if we accept unsigned.
145         (package--download-and-read-archives): Return non-nil on the
146         archive download callback.
148 2015-06-18  Martin Rudalics  <rudalics@gmx.at>
150         Fix last fix"
152         Set image_cache_refcount before x_default_parameter calls.  (Bug#20802)
153         * src/nsfns.m (Fx_create_frame):
154         * src/xfns.c (Fx_create_frame, x_create_tip_frame): Move setting
155         image_cache_refcount before first x_default_parameter call.
157 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
159         Improve and extend filepos-to-bufferpos
160         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
161         Don't barf if F returns nil for some argument.
162         (filepos-to-bufferpos): Expand to support UTF-16 and not assume
163         that every encoding of type 'charset' is single-byte.
165 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
167         * lisp/emacs-lisp/package.el (package-menu--perform-transaction):
168         Properly delete packages.  (Bug#20836)
170 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
172         Update data files from just-released Unicode 8.0
173         * etc/NEWS: Update wording since Unicode 8.0 is no longer in draft
174         status.
175         * test/BidiCharacterTest.txt: Update from Unicode 8.0.
176         * admin/unidata/BidiMirroring.txt:
177         * admin/unidata/BidiBrackets.txt:
178         * admin/unidata/UnicodeData.txt: Update from Unicode 8.0.
180 2015-06-18  Paul Eggert  <eggert@cs.ucla.edu>
182         Document curved quotes a bit better
183         * doc/emacs/basic.texi (Inserting Text):
184         Mention C-x 8.  Change example to use curved quote rather
185         than infinity, as this lets us give more ways to do it.
186         * doc/emacs/mule.texi (International Chars): Mention C-x 8 shortcuts
187         and quotation marks.
188         * doc/emacs/text.texi (Quotation Marks):
189         * doc/lispref/tips.texi (Documentation Tips):
190         Add "curly quotes" and "curved quotes" to the index.
191         * doc/emacs/text.texi (Quotation Marks):
192         Give the C-x 8 shorthands for curved quotes.
193         Cross-reference to "Quotation Marks".
195 2015-06-17  Daiki Ueno  <ueno@gnu.org>
197         Add pinentry.el for better GnuPG integration
198         * lisp/pinentry.el: New file.
199         * etc/NEWS: Add entry about pinentry.el.
200         * lisp/epg.el (epg--start): Set INSIDE_EMACS envvar.
201         (Bug#20550)
203 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
205         * lisp/emacs-lisp/package.el: Slightly better error reporting.
207 2015-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
209         (define-minor-mode): Use setq-default for :global minor modes
210         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode):
211         Use setq-default for :global minor modes (bug#20712).
213 2015-06-17  Eli Zaretskii  <eliz@gnu.org>
215         Avoid infloop in redisplay with tall images
216         * src/xdisp.c (try_scrolling): Prevent an infloop when scrolling
217         down near ZV.  (Bug#20808)
218         Call bidi_unshelve_cache to avoid memory leaks.  Use IT_CHARPOS
219         instead of CHARPOS.
221 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
223         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
224         Fix error reporting.
226         * lisp/let-alist.el: move to lisp/emacs-lisp/let-alist.el
228         * lisp/emacs-lisp/package.el: Revert buffer after any operation
229         Call `package-menu--post-refresh' after any operation that changes
230         the package database (`package-install' and `package-delete').  To
231         avoid performance issues in large transactions, these functions
232         add `post-refresh' to `post-command-hook' instead of calling it
233         immediately.
234         (package-menu--mark-or-notify-upgrades): New function.
235         (list-packages): Add it to `package--post-download-archives-hook'.
236         (package-menu--post-refresh): Lose the upgrade-checking code, add
237         code to remove itself from `post-command-hook'.
238         (package-install, package-delete): Add it to `post-command-hook'.
239         (package-menu-execute): Don't call `package-menu--post-refresh'.
241 2015-06-17  Stephen Leake  <stephen_leake@stephe-leake.org>
243         Add missing function xref-location-group for elisp-mode.
244         * lisp/progmodes/elisp-mode.el: Add missing function xref-location-group.
246 2015-06-17  Wolfgang Jenkner  <wjenkner@inode.at>
248         * src/editfns.c (Fbyte_to_position): Fix bytepos not at char boundary.
249         The behavior now matches the description in the manual.  (Bug#20783)
251 2015-06-17  Xue Fuqiao  <xfq.free@gmail.com>
253         Update tutorials/TUTORIAL.cn
254         * etc/tutorials/TUTORIAL.cn: Update; synchronize with TUTORIAL.
256 2015-06-17  Glenn Morris  <rgm@gnu.org>
258         Generate char-script-table from Unicode source.  (Bug#20789)
259         * admin/unidata/Makefile.in (AWK): New, set by configure.
260         (all): Add charscript.el.
261         (blocks): New variable.
262         (charscript.el, ${unidir}/charscript.el): New targets.
263         (extraclean): Also remove generated charscript.el.
264         * admin/unidata/blocks.awk: New script.
265         * admin/unidata/Blocks.txt: New data file, from unicode.org.
266         * lisp/international/characters.el: Load charscript.
267         * src/Makefile.in (charscript): New variable.
268         (${charscript}): New target.
269         (${lispintdir}/characters.elc): Depend on charscript.elc.
270         (temacs$(EXEEXT)): Depend on charscript.
272         * lisp/international/characters.el (char-script-table): Tweak
273         some ranges to better match the source.  (Bug#20789#17)
275         Remove "no-byte-compile: t" from a few files.
276         * lisp/obsolete/bruce.el, lisp/obsolete/keyswap.el:
277         * lisp/obsolete/patcomp.el: No reason not to compile these.
279 2015-06-16  Glenn Morris  <rgm@gnu.org>
281         Fix some typos in copied Unicode data.  (Bug#20789)
282         * lisp/international/characters.el (char-script-table):
283         * lisp/international/fontset.el (script-representative-chars)
284         (setup-default-fontset): Fix typos.
286         * lisp/emacs-lisp/check-declare.el (check-declare-warn):
287         Don't print filename twice (it's in the prefix now).
289         * lisp/emacs-lisp/pcase.el (pcase--u1): Revert earlier workaround.
290         No longer needed.
292         Address a compilation warning.
293         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defalias):
294         Replace 't' with '_' in pcase.
296         Address some check-declare warnings.
297         * lisp/simple.el (tabulated-list-print):
298         * lisp/progmodes/elisp-mode.el (xref-collect-matches):
299         * lisp/term/ns-win.el (ns-selection-owner-p, ns-selection-exists-p)
300         (ns-get-selection): Update declarations.
302         Address some compilation warnings.
303         * lisp/elec-pair.el (electric-pair-post-self-insert-function):
304         * lisp/vc/vc-git.el (vc-git-file-type-as-string):
305         Replace 't' with '_' in pcase.
307         Address some compilation warnings.
308         * lisp/face-remap.el (text-scale-adjust):
309         * lisp/menu-bar.el (popup-menu-normalize-position):
310         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand):
311         * lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-warn):
312         * lisp/emacs-lisp/generator.el (cps--transform-1):
313         * lisp/emacs-lisp/macroexp.el (macroexp--expand-all):
314         * lisp/obsolete/vc-arch.el (vc-arch-mode-line-string):
315         * lisp/progmodes/octave.el (octave-goto-function-definition)
316         (octave-find-definition-default-filename):
317         Replace 't' with '_' in pcase.
319         * lisp/emacs-lisp/pcase.el (pcase--u1):
320         Paper-over today's bootstrap failure.
322 2015-06-16  Nicolas Petton  <nicolas@petton.fr>
324         * lisp/emacs-lisp/seq.el: Fix a byte-compiler warnings related to pcase.
326         * lisp/emacs-lisp/map.el (map-into): Fix a byte-compiler warning.
328         Better confirmation message in `find-alternate-file' (Bug#20830)
329         * lisp/files.el (find-alternate-file'): Improve the confirmation
330         message to show the buffer name.
332         Better docstring for null. (Bug#20815)
333         * src/data.c (null): Improves the docstring, saying what null returns
334         when OBJECT is non-nil.
336 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
338         * lisp/net/newst-treeview.el: Use lexical-binding.
340         (filepos-to-bufferpos): Add missing cases.  Make sure it terminates.
341         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
342         New auxiliary function, extracted from filepos-to-bufferpos.
343         Make sure it terminates.
344         (filepos-to-bufferpos): Use it to fix the latin-1-dos case.
345         Add support for the `exact' quality.
347 2015-06-16  Cédric Chépied  <cedric.chepied@gmail.com>
349         Identify feeds in newsticker treeview with :nt-feed property
350         * lisp/net/newst-treeview.el:
351         (newsticker--treeview-nodes-eq): Use property :nt-feed instead of :tag.
353 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
355         * lisp/emacs-lisp/pcase.el: Improve docs and error handling
356         (pcase--self-quoting-p): Floats aren't self-quoting.
357         (pcase): Tweak docstring.
358         (pcase--u1): Deprecate the t pattern.  Improve error detection for
359         the nil pattern.
360         (\`): Tweak docstring.  Signal an error for unrecognized cases.
361         (bug#20784)
363 2015-06-16  Eli Zaretskii  <eliz@gnu.org>
365         Fix infloop in filepos-to-bufferpos
366         * lisp/international/mule-util.el (filepos-to-bufferpos): Fix EOL
367         offset calculation, and make it conditional on the eol-type of the
368         file's encoding.  (Bug#20825)
370 2015-06-16  Martin Rudalics  <rudalics@gmx.at>
372         Fix handling of image cache refcounts.  (Bug#20802)
373         This backports Eli Zaretskii's solution of this problem for W32
374         to X and NS.
375         * src/nsfns.m (image_cache_refcount): Define unconditionally.
376         (unwind_create_frame): If the image cache's reference count
377         hasn't been updated yet, do that now.
378         (Fx_create_frame): Set image_cache_refcount unconditionally.
379         * src/xfns.c (image_cache_refcount): Define unconditionally.
380         (unwind_create_frame): If the image cache's reference count
381         hasn't been updated yet, do that now.
382         (Fx_create_frame, x_create_tip_frame): Set image_cache_refcount
383         unconditionally.
384         * src/w32fns.c (image_cache_refcount): Make it a ptrdiff_t as on
385         X and NS.
387 2015-06-16  Nils Ackermann  <nils@ackermath.info>
389         Improve reftex-label-regexps default value
390         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Make
391         keyvals label regexp more strict to better cope with unbalanced
392         brackets common in math documents.
394 2015-06-16  Glenn Morris  <rgm@gnu.org>
396         * doc/emacs/calendar.texi (Format of Diary File):
397         Move "nonmarking" from here...
398         (Displaying the Diary): ... to here.
400         * doc/emacs/calendar.texi (Format of Diary File, Displaying the Diary):
401         Swap the order of these nodes.
402         * doc/emacs/emacs.texi: Update detailed menu for the above change.
404         * doc/emacs/calendar.texi (Specified Dates, Special Diary Entries):
405         Update date of examples.
406         (Diary, Format of Diary File): Move example from former to latter.
407         Reduce duplication.
409         No need for cp51932.el, eucjp-ms.el to not be compiled any more.
410         * admin/charsets/cp51932.awk, admin/charsets/eucjp-ms.awk:
411         Don't set no-byte-compile in the outputs.
412         * lisp/loadup.el: Don't specify uncompiled cp51932, eucjp-ms.
414 2015-06-15  Glenn Morris  <rgm@gnu.org>
416         * lisp/calendar/calendar.el (diary-file): Use locate-user-emacs-file.
417         * doc/emacs/calendar.texi (Diary, Format of Diary File):
418         Update for above diary-file change.
419         : * etc/NEWS: Mention this.
421         * lisp/macros.el (name-last-kbd-macro, kbd-macro-query)
422         (apply-macro-to-region-lines): Use user-error.
424         * lisp/textmodes/page-ext.el (add-new-page, pages-directory)
425         (pages-directory-for-addresses): Doc fixes.
427 2015-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
429         * lisp/info.el: Cleanup bytepos/charpos issues
430         * lisp/international/mule-util.el: Use lexical-binding.
431         (filepos-to-bufferpos): New function.
432         * lisp/info.el (Info-find-in-tag-table-1): Use 0-based file positions.
433         (Info-find-node-2): Use filepos-to-bufferpos (bug#20704).
434         (Info-read-subfile, Info-search): Use 0-based file positions.
436         * lisp/progmodes/perl-mode.el: Refine handling of /re/ and y/abc/def/
437         (perl--syntax-exp-intro-keywords): New var.
438         (perl--syntax-exp-intro-regexp, perl-syntax-propertize-function): Use it.
439         (bug#20800).
441 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
443         Fix quoting when making derived mode docstring
444         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
445         Nest regexp-quote inside format, not the reverse.
446         Problem reported by Artur Malabarba in:
447         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00206.html
449 2015-06-15  Eli Zaretskii  <eliz@gnu.org>
451         ;* src/fontset.c: Update obsolete commentary.
453         Fix current-iso639-language on MS-Windows
454         * lisp/international/mule-cmds.el (set-locale-environment):
455         Downcase the locale name before interning it.  This is so the
456         'current-iso639-language' on MS-Windows matches the ':lang'
457         property of font-spec objects.
459         Limit Symbola usage some more
460         * lisp/international/fontset.el (setup-default-fontset): Limit
461         Symbol coverage of Currency Symbols to u+20B6..u+20CF.
462         (Bug#20727)
464 2015-06-15  Nicolas Petton  <nicolas@petton.fr>
466         * lisp/emacs-lisp/map.el (map-let): Better docstring.
468 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
470         Spelling fixes
472 2015-06-14  Glenn Morris  <rgm@gnu.org>
474         * lisp/version.el (emacs-repository-version-git): Demote errors.
475         Check result is a hash.
477 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
479         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
480         Catch errors that happen before going async.  (Bug#20809)
482 2015-06-14  Eli Zaretskii  <eliz@gnu.org>
484         Another improvement of documentation of set-fontset-font
485         * doc/lispref/display.texi (Fontsets): Say explicitly that
486         CHARACTER can be a single codepoint.
487         * src/fontset.c (Fset_fontset_font): Doc fix.
489         Another improvement for symbol and punctuation characters
490         * lisp/international/fontset.el (setup-default-fontset): Exclude
491         from Symbola character ranges for symbols and punctuation covered
492         well by popular Unicode fonts.  Prefer fixed-misc Unicode font, if
493         installed and where its coverage of symbols and punctuation is
494         known to be good.  (Bug#20727)
496 2015-06-14  Christoph Wedler  <christoph.wedler@sap.com>
498         Some generic support for multi-mode indentation.
499                 * lisp/progmodes/prog-mode.el (prog-indentation-context): New
500                 variable.
501                 (prog-first-column, prog-widen): New convenience functions.
503 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
505         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
506         Don't assume that `tabulated-list-printer' will leave point at the
507         end of the buffer.  (Bug#20810)
509 2015-06-13  Glenn Morris  <rgm@gnu.org>
511         Tweaks for getting repository version; a bit more like it was for bzr.
512         * lisp/version.el (emacs-repository-version-git)
513         (emacs-repository--version-git-1): New functions,
514         split from emacs-repository-get-version.
515         (emacs-repository-get-version): Make the second argument meaningful.
517         * lisp/startup.el (command-line-1): Inform if skipping relative
518         file names due to deleted PWD.
520         * src/xsmfns.c (x_session_initialize): Avoid libSM crash
521         when starup directory is missing.  (Bug#18851)
522         (errno.h): Include it.
524 2015-06-13  Paul Eggert  <eggert@cs.ucla.edu>
526         Better fix for documenting `X as "`X"
527         Fix suggested by Stefan Monnier.
528         * lisp/help-fns.el (help-fns--signature):
529         Insert "`X", not "(\` X)", when documenting `X (Bug#20759).
530         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
531         Don't treat `X specially, as help-fns--signature now handles this.
533 2015-06-13  Eli Zaretskii  <eliz@gnu.org>
535         Improve the default fontset when Symbola is not installed
536         * lisp/international/fontset.el (setup-default-fontset): Only
537         prepend Symbola and FreeMono font specs for symbols and
538         punctuation; do not replace the default spec for them.  This
539         should have better results when Symbola/FreeMono are not
540         installed.  (Bug#20727)
542         Improve documentation of ':lang' in font specs
543         * src/font.c (Ffont_spec): Doc fix: elaborate on the values and
544         use of the ':lang' property of the font spec.
545         * doc/emacs/frames.texi (Fonts): Document the language names that
546         can be in the STYLE part of XLFD.
547         * doc/lispref/display.texi (Low-Level Font): Document the ':lang'
548         property.
550         * nt/README: Don't advertise the (obsolescent) w32 FAQ.
552         * nt/README.W32: Don't advertise the (obsolescent) w32 FAQ.
554         Revert last change in fontset.el
555         * lisp/international/fontset.el (setup-default-fontset): Revert
556         the change "Configure Symbola font only if installed", since font
557         search is evidently not yet set up when this function is called.
558         (Bug#20727)
560 2015-06-12  Glenn Morris  <rgm@gnu.org>
562         Ensure early startup warnings are visible at the end.  (Bug#20792)
563         * lisp/emacs-lisp/warnings.el (display-warning):
564         If startup isn't complete, delay the warning.
565         * lisp/startup.el (normal-top-level, command-line):
566         Let display-warning automatically handle the needed delays.
567         Run delayed-warnings-hook.
569         * lisp/version.el (emacs-repository-get-version):
570         Avoid calling external executable if possible.  (Bug#20799)
572 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
574         Document `X as "`X", not as "(` X)"
575         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
576         Document (backquote FOO) as "`FOO", not as "(` FOO)" (Bug#20759).
578         * src/print.c (print_object): Minor simplification.
580 2015-06-12  Glenn Morris  <rgm@gnu.org>
582         * src/buffer.c (init_buffer): Add final newline to message.
584 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
586         Configure Symbola font only if installed
587         * lisp/international/fontset.el (setup-default-fontset):
588         Don't specify the Symbola font if it's not installed.
589         Likewise for FreeMono.  (Bug#20727)
591 2015-06-12  Eli Zaretskii  <eliz@gnu.org>
593         Configure Symbola font only for symbols and punctuation
594         * lisp/international/fontset.el (setup-default-fontset): Leave
595         only symbols and punctuation in the fontset setup for Symbola
596         font; remove "Greek and Coptic" and "Cyrillic Supplement".
597         (Bug#20798)
599 2015-06-12  Andreas Schwab  <schwab@linux-m68k.org>
601         Fix crash in fontset-info
602         * src/fontset.c (Ffontset_info): Check that the RFONT-DEF elt is
603         non-nil.
605 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
607         Port to Solaris 10 sparc + Sun C 5.13
608         * configure.ac (SETUP_SLAVE_PTY) [sol2* | unixware]:
609         Adjust to process.c change.
610         * src/process.c (create_process): Declare volatile variables at
611         top level of this function, so that they're less likely to be
612         reused later in the function in the code executed by the vforked
613         child.  Do not declare locals used only in the vforked child, as
614         they might share memory with locals still live in the parent.
615         Instead, use the same variables in the child as in the parent.
616         This works around a subtle bug that causes a garbage collector
617         crash when Emacs is built with Sun C 5.13 sparc on Solaris 10.
619 2015-06-12  Glenn Morris  <rgm@gnu.org>
621         * lisp/startup.el (normal-top-level): Don't let *Messages* get
622         a nil default-directory.
624 2015-06-11  Glenn Morris  <rgm@gnu.org>
626         * lisp/startup.el (normal-top-level): Use delay-warning.  (Bug#20792)
628         Some progress towards starting with PWD deleted.  (Bug#18851)
629         * src/buffer.c (init_buffer): Handle get_current_dir_name failures.
630         * lisp/startup.el (normal-top-level, command-line-1):
631         * lisp/minibuffer.el (read-file-name-default):
632         Handle default-directory being nil.
634 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
636         Fix "not a tty" bug on Solaris 10
637         * configure.ac (PTY_OPEN): Define to plain 'open'
638         on SVR4-derived hosts, so that the O_CLOEXEC flag isn't set.
639         * src/process.c (allocate_pty): Set the O_CLOEXEC flag after
640         calling PTY_TTY_NAME_SPRINTF, for the benefit of SVR4-derived
641         hosts that call grantpt which does its work via a setuid subcommand
642         (Bug#19191, Bug#19927, Bug#20555, Bug#20686).
643         Also, set O_CLOEXEC even if PTY_OPEN is not defined, since it
644         seems relevant in that case too.
646 2015-06-11  Juri Linkov  <juri@linkov.net>
648         * lisp/bindings.el (debug-ignored-errors): Add mark-inactive.
649         * lisp/simple.el (kill-region): Replace 'error' with 'user-error'.
650         (Bug#20785)
652 2015-06-11  Glenn Morris  <rgm@gnu.org>
654         * lisp/international/characters.el (char-script-table): Fix typo.
656 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
658         Fix quoting of help for functions with odd names
659         While investigating Bug#20759, I discovered other quoting problems:
660         C-h f mishandled characters like backslash and quote in function names.
661         This fix changes the behavior so that 'C-h f pcase RET' now
662         generates "... (\` QPAT) ..." instead of "... (` QPAT) ...",
663         because '(format "%S" '(` FOO))' returns "(\\` FOO)".  A comment
664         in src/lread.c's read1 function says that the backslash will be
665         needed starting in Emacs 25, which implies that 'format' is
666         correct and the old pcase documention was wrong to omit the backslash.
667         * lisp/emacs-lisp/nadvice.el (advice--make-docstring):
668         * lisp/help-fns.el (help-fns--signature):
669         * lisp/help.el (help-add-fundoc-usage):
670         * lisp/progmodes/elisp-mode.el (elisp-function-argstring):
671         Use help--make-usage-docstring rather than formatting
672         help-make-usage.
673         * lisp/emacs-lisp/pcase.el (pcase--make-docstring):
674         Return raw docstring.
675         * lisp/help-fns.el (help-fns--signature): New arg RAW, to return
676         raw docstring.  Take more care to distinguish raw from cooked dstrings.
677         (describe-function-1): Let help-fns--signature substitute
678         command keys.
679         * lisp/help.el (help--docstring-quote): New function.
680         (help-split-fundoc): Use it, to quote funny characters more
681         systematically.
682         (help--make-usage): Rename from help-make-usage, since this
683         should be private.  Leave an obsolete alias for the old name.
684         (help--make-usage-docstring): New function.
685         * test/automated/help-fns.el (help-fns-test-funny-names): New test.
687 2015-06-11  Stefan Monnier  <monnier@iro.umontreal.ca>
689         * lisp/thingatpt.el (in-string-p): Revert last change,
690         since in-string-p is not used in thingatpt.el but only from outside.
691         Also, use lexical binding.
693 2015-06-11  Artur Malabarba  <bruce.connor.am@gmail.com>
695         * lisp/let-alist.el (let-alist--deep-dot-search): Fix cons
696         * test/automated/let-alist.el (let-alist-cons): Test it.
698 2015-06-11  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
700         * src/syntax.c (Fbackward_prefix_chars): Reword docstring
702 2015-06-10  Glenn Morris  <rgm@gnu.org>
704         * build-aux/gitlog-to-emacslog: Also ignore pointless merge commits.
706         Improve generated ChangeLog for gitmerge.el commits.  (Bug#20717)
707         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
708         * admin/gitmerge.el (gitmerge-commit-message):
709         Exclude "skipped" messages from ChangeLog once again.
711         Slight namespace cleanup for thingatpt.el.
712         * lisp/thingatpt.el (thing-at-point--in-string-p)
713         (thing-at-point--end-of-sexp, thing-at-point--beginning-of-sexp)
714         (thing-at-point--read-from-whole-string): Rename from
715         old versions without "thing-at-point--" prefix.
716         Keep old versions as obsolete aliases.  Update all uses.
718         * lisp/emacs-lisp/checkdoc.el (checkdoc-get-keywords):
719         Move requiring of finder from here...
720         (checkdoc-package-keywords): ... to here.
722         Use 'user-error' in a few calendar files.
723         * lisp/calendar/appt.el (appt-add):
724         * lisp/calendar/calendar.el (calendar-absolute-from-gregorian)
725         (calendar-generate):
726         * lisp/calendar/diary-lib.el (diary-mail-entries, diary-cyclic):
727         Replace 'error' with 'user-error'.
729         * lisp/progmodes/f90.el (f90-backslash-not-special): Use user-error.
731         * lisp/files-x.el (add-file-local-variable):
732         Special-case 'lexical-binding'.  (Bug#20641)
734         * lisp/progmodes/executable.el (executable-self-display): Obsolete.
735         No longer autoload.
736         * doc/misc/autotype.texi (Executables):
737         Undocument executable-self-display.
739         * lisp/progmodes/executable.el (executable-self-display):
740         Use non-obsolete tail syntax.  (Bug#20779)
741         (executable-self-display): Doc update.
743 2015-06-10  Stefan Monnier  <monnier@iro.umontreal.ca>
745         * lisp/emacs-lisp/checkdoc.el: Use lexical-binding
746         (finder-known-keywords): Silence byte-compiler.
748 2015-06-09  Stefan Monnier  <monnier@iro.umontreal.ca>
750         * lisp/simple.el (eval-expression): Macroexpand before evaluating (bug#20730)
752         * lisp/progmodes/sh-script.el: Better handle nested quotes
753         (sh-here-doc-open-re): Don't mis-match the <<< operator (bug#20683).
754         (sh-font-lock-quoted-subshell): Make sure double quotes within single
755         quotes don't mistakenly end prematurely the surrounding string.
757         * lisp/progmodes/elisp-mode.el: Require cl-lib for cl-defstruct.
759 2015-06-09  Glenn Morris  <rgm@gnu.org>
761         * test/automated/Makefile.in (ELFILES): Sort.
763         * Makefile.in (SUBDIR_MAKEFILES):
764         * lwlib/Makefile.in (WARN_CFLAGS):
765         Use built-in Make functions rather than echo+sed.
767 2015-06-09  Eli Zaretskii  <eliz@gnu.org>
769         Update char-script-table
770         * lisp/international/characters.el (char-script-table): Update
771         from Unicode 8.0 Draft.
773         Improve font selection for punctuation and other symbols
774         * src/fontset.c (face_for_char): If the character's script is
775         'symbol', and the font used for ASCII face has a glyph for it, use
776         the font for the ASCII face instead of searching the fontsets.
777         This comes instead of NS-specific code that used the current
778         face's font instead, which is now disabled due to undesirable
779         consequences.  (Bug#20727)
781 2015-06-08  Dmitry Gutov  <dgutov@yandex.ru>
783         Skip past `#' to find BEG
784         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point): Skip
785         past `#' to find BEG (bug#20771).
786         * test/automated/elisp-mode-tests.el
787         (elisp-completes-functions-after-hash-quote): New test.
789 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
791         Fix compilation warning/error in --without-x builds
792         * src/xdisp.c (append_space_for_newline): Condition GUI-specific
793         code on HAVE_WINDOW_SYSTEM.
795         Improve the default fontset wrt symbols
796         * lisp/international/fontset.el (setup-default-fontset): Better
797         setup of fontset-default for symbols: use Symbola and FreeMono.
798         (Bug#20727)
800 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
802         Add new command checkdoc-package-keywords
803         * lisp/emacs-lisp/checkdoc.el (checkdoc-package-keywords-flag): New
804           defcustom.
805         (checkdoc-list-of-strings-p): Add doc.
806         (checkdoc-current-buffer): When `checkdoc-package-keywords-flag' is
807         non-nil, call `checkdoc-package-keywords'.
808         (checkdoc-get-keywords): New defun.
809         (checkdoc-package-keywords): New command. Warns if the current file
810         has package.el-style keywords that aren't in `finder-known-keywords'.
811         * etc/NEWS: Add entry.
813 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
815         Avoid crashes when key-binding is called from a timer
816         * src/keymap.c (Fkey_binding): Don't segfault if called with an
817         empty vector as KEY.  (Bug#20705)
819         Fix a thinko in arc-mode.el
820         * lisp/arc-mode.el (archive-zip-summarize): Fix last change in the
821         non-Zip64 case.  (Bug#20769)
823 2015-06-08  Artur Malabarba  <bruce.connor.am@gmail.com>
825         * lisp/emacs-lisp/package.el (package-delete): Make interactive
827 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
829         checkdoc.el (checkdoc-file): New function
830         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When
831           `checkdoc-diagnostic-buffer' is set to "*warn*", print the warning
832           to the standard output.
833         (bug#20754)
835 2015-06-07  Glenn Morris  <rgm@gnu.org>
837         * admin/update_autogen (changelog_files): Remove gitlog-to-emacslog.
839         * src/font.c (syms_of_font) <font-log>: Doc fix.
841         Remove the obsolete leading "*" from some C doc strings.
842         * src/coding.c (syms_of_coding):
843         * src/font.c (syms_of_font): Remove leading "*" from docs.
844         * lisp/cus-start.el (enable-character-translation): Add it.
846 2015-06-07  Paul Eggert  <eggert@cs.ucla.edu>
848         Move gen_origin from program to data
849         That way, 'make change-history' needs to change only ChangeLog.2,
850         instead of having to change two files.
851         * ChangeLog.2: Add commit info for range that this file covers.
852         * Makefile.in (new_commit_regexp): New macro.
853         (change-history-nocommit): Simplify, by putting what used to be
854         the gen_origin value into the data (ChangeLog.2) rather than
855         into the program (gitlog-to-emacslog).
856         * build-aux/gitlog-to-emacslog (gen_origin): Calculate from
857         the input file (e.g., ChangeLog.2) rather than by having a
858         constant in the program.  Substitute it into the output.
860 2015-06-07  Dmitry Gutov  <dgutov@yandex.ru>
862         Escape any quotes in the function name
863         * lisp/help-fns.el (help-fns--signature): Quote any quotes in the
864         function name (bug#20759).
866 2015-06-07  Eli Zaretskii  <eliz@gnu.org>
868         Adapt 'struct timespec' to next release of MinGW runtime
869         * nt/inc/ms-w32.h (struct timespec): Don't declare if
870         __struct_timespec_defined is defined.
872 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
874         Merge from gnulib
875         This incorporates:
876         2015-06-06 acl-permissions: pacify -Wsuggest-attribute=const
877         2015-06-05 stdio: Don't redefine gets when using C++
878         2015-06-05 acl-permissions: port to AIX, C89 HP-UX
879         2015-06-02 file-has-acl: fix build on Mac OS X 10
880         2015-06-01 gnulib-tool: concatenate lib_SOURCES to a single line
881         2015-06-01 pthread_sigmask: discount system version if a simple macro
882         2015-05-31 readlinkat: avoid OS X 10.10 trailing slash bug
883         * doc/misc/texinfo.tex, lib/acl-internal.h, lib/get-permissions.c:
884         * lib/readlinkat.c, lib/set-permissions.c, lib/stdio.in.h:
885         * m4/acl.m4, m4/pthread_sigmask.m4, m4/readlinkat.m4: Copy from gnulib.
886         * lib/gnulib.mk: Regenerate.
888 2015-06-06  Juri Linkov  <juri@linkov.net>
890         * lisp/progmodes/grep.el (zrgrep): Let-bind grep-highlight-matches
891         before calling grep-compute-defaults because now it affects the
892         command lines computed in grep-compute-defaults. (Bug#20728)
894 2015-06-06  Glenn Morris  <rgm@gnu.org>
896         Address some compilation warnings.
897         * lisp/international/mule-cmds.el (w32-get-console-codepage)
898         (w32-get-console-output-codepage):
899         * lisp/progmodes/elisp-mode.el (xref-collect-references):
900         * lisp/version.el (cairo-version-string): Declare.
901         * lisp/erc/erc.el (erc-nickname-in-use): Fix typo.
903 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
905         Fix display when a font claims large values of ascent and descent
906         This fixes bug#20628.
907         * src/xdisp.c (get_phys_cursor_geometry): Correct the Y
908         coordinate of a hollow cursor glyph when the original glyph's
909         ascent is too small.
910         (get_font_ascent_descent, normal_char_ascent_descent)
911         (normal_char_height): New functions.
912         (handle_single_display_spec, append_space_for_newline)
913         (calc_pixel_width_or_height, produce_stretch_glyph)
914         (calc_line_height_property): Use normal_char_ascent_descent and
915         normal_char_height.
916         (x_produce_glyphs): When font-global values of ascent and descent
917         are too large, use per-character glyph metrics instead, if
918         possible.  But don't allow the glyph row's ascent and descent
919         values become smaller than the values from the metrics of the
920         font's "normal" character.
921         * src/xftfont.c (xftfont_draw):
922         * src/w32font.c (w32font_draw): Correct the values of ascent and
923         descent used to draw glyphless characters' hex code in a box.
924         * src/xterm.c (x_draw_glyph_string_background):
925         * src/xdisp.c (x_produce_glyphs):
926         * src/w32term.c (x_draw_glyph_string_background):
927         * src/nsterm.m (ns_maybe_dumpglyphs_background): Use FONT_TOO_HIGH
928         to detect fonts whose global ascent and descent values are too
929         large to be used in layout decision, and redraw the background
930         when that happens.
931         * src/dispextern.h (FONT_TOO_HIGH): New macro.
932         (get_font_ascent_descent): Add prototype.
933         * src/xterm.c (x_new_font):
934         * src/w32term.c (x_new_font):
935         * src/nsterm.m (x_new_font):
936         * src/font.c (font_open_entity):
937         * src/composite.c (composition_gstring_width): Use
938         get_font_ascent_descent to obtain reasonable values for ascent and
939         descent of a font.
941 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
943         Add assertion in adjust_point_for_property
944         * src/keyboard.c (adjust_point_for_property): Add eassert for
945         current buffer being shown in selected window.
947 2015-06-06  Dmitry Gutov  <dgutov@yandex.ru>
949         Replace uses of in-string-p; make it obsolete
950         * lisp/thingatpt.el (in-string-p): Declare obsolete (bug#20732).
951         (end-of-sexp, beginning-of-sexp): Use syntax-ppss instead.
953 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
955         Fix Dired display of an explicit list of files by ls-lisp.el
956         * lisp/ls-lisp.el (ls-lisp-uid-d-fmt, ls-lisp-uid-s-fmt)
957         (ls-lisp-gid-d-fmt, ls-lisp-gid-s-fmt): Make the initial values be
958         correct for when displaying individual files separately, not as
959         part of listing a directory, in which case these values are not
960         recomputed by 'ls-lisp-insert-directory', but used verbatim.
962         * lisp/dired.el (dired): Doc fix.  (Bug#20739)
964 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
966         Do not adjust point in a non-selected window
967         * src/keyboard.c (command_loop_1): Do not adjust point when
968         current buffer is not shown in selected window (Bug#20590).
970         * etc/DEBUG: Mention 'maybe_call_debugger'
972 2015-06-05  Nicolas Petton  <nicolas@petton.fr>
974         Fix a unit test for map.el
975         * test/automated/map-tests.el (test-map-let): Fix the test to work
976         with the new syntax of `map-let'.
978         * lisp/emacs-lisp/map.el (map-let): Better docstring.
980         Better syntax for the map pcase pattern
981         * lisp/emacs-lisp/map.el: Improves the map pcase pattern to take
982         bindings of the form (KEY PAT) or SYMBOL. KEY is not quoted.
984         * lisp/emacs-lisp/map.el (map--dispatch): Better docstring.
986         Fix a byte-compiler error in map-put and map-delete
987         * lisp/emacs-lisp/map.el (map-put, map-delete): Ensure that `setq' is
988         called with a symbol.
990 2015-06-05  Glenn Morris  <rgm@gnu.org>
992         * admin/gitmerge.el (gitmerge-commit-message):
993         Revert to including "skipped" messages in ChangeLog once again.
995 2015-06-05  Tassilo Horn  <tsdh@gnu.org>
997         Use string> instead of equiv lambda with string<
998         * lisp/help.el (view-emacs-news): Use string> instead of equivalent
999         lambda with string<.
1001 2015-06-05  Glenn Morris  <rgm@gnu.org>
1003         * lisp/emacs-lisp/map.el (map--dispatch): Move before use.
1004         (map--delete-array): Fix typo.
1006         * test/automated/map-tests.el: Replace "assert" with "should".
1008         * lisp/Makefile.in (SUBDIRS): Rename from SUBDIRS_ABS.
1009         (SUBDIRS_REL): Derive from SUBDIRS.
1011         Tweak some build messages.
1012         * lisp/Makefile.in ($(lisp)/loaddefs.el):
1013         * lisp/cus-dep.el (custom-make-dependencies):
1014         * lisp/finder.el (finder-compile-keywords): Say what we are doing.
1015         * lisp/international/titdic-cnv.el (batch-titdic-convert):
1016         Don't say how to compile.
1018 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
1020         Omit U+0332 COMBINING LOW LINE in previous change
1021         It turns out that it does not work on Ubuntu 15.04.
1023         Fix transliteration of Bahá'í months
1024         * lisp/calendar/cal-bahai.el (calendar-bahai-month-name-array):
1025         Improve quality of Latin transliteration of Bahá'í month names.
1027         Fix curved quotes in a few places
1028         * lisp/calc/calc-misc.el (calc-help): Fix quoting.
1029         The strings in question are not doc strings, so this partially
1030         undoes the recent change that assumed they were doc strings.
1031         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
1032         * lisp/info.el (Info-finder-find-node):
1033         Use curved quotes.
1034         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
1035         Also allow curved quotes in doc strings.
1037 2015-06-04  Glenn Morris  <rgm@gnu.org>
1039         * lisp/Makefile.in (AM_V_at): Add missing definition.
1041         * lisp/Makefile.in: Quieten output a bit.
1042         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el):
1043         Don't echo directories, since the commands we invoke print them.
1045         * lisp/Makefile.in: Replace shell fragments in variables with $(shell).
1046         (SUBDIRS_REL, SUBDIRS_ABS, SUBDIRS_ALMOST, SUBDIRS_FINDER)
1047         (SUBDIRS_SUBDIRS): New variables.
1048         (setwins, setwins_almost, setwins_finder, setwins_for_subdirs):
1049         Remove.
1050         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el, $(lisp)/loaddefs.el)
1051         (update-subdirs, compile-main, compile-clean):
1052         Replace "setwins" usage with new "SUBDIRS" variables.
1054         * lisp/vc/compare-w.el (compare-windows-get-window-function):
1055         Fix :version tag.
1057 2015-06-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1059         * src/ftfont.c (ftfont_open2): Round divisions by upEM.
1061         Undo removal of x_clear_area call on expose for GTK3 or cairo.
1062         * src/xterm.c (handle_one_xevent) [HAVE_GTK3 || USE_CAIRO]: Clear
1063         exposed area.  (Bug#20677)
1065 2015-06-04  Glenn Morris  <rgm@gnu.org>
1067         * doc/lispref/hash.texi (Creating Hash): Remove obsolete makehash.
1069         * lisp/Makefile.in (check-defun-dups): Also skip ldefs-boot.
1071         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
1072         Rename from quail-lao-update-translation, since lao.el defines that.
1074 2015-06-04  Dmitry Gutov  <dgutov@yandex.ru>
1076         Handle new-style advice in find-funct
1077         * lisp/emacs-lisp/find-func.el (find-function-advised-original):
1078         Handle new-style advice.  Return the symbol's function definition.
1079         (Bug#20718)
1080         (find-function-library): Update accordingly.
1082 2015-06-04  Nicolas Petton  <nicolas@petton.fr>
1084         Merge branch 'map'
1086         * lisp/emacs-lisp/map.el: Better docstring for the map pcase macro.
1088         Add new function string-greaterp
1089         * lisp/subr.el (string-greaterp): New function.  Also aliased to
1090         `string>'.
1091         * test/automated/subr-tests.el (string-comparison-test): Add unit
1092         tests for `string>'and `string<'.
1093         * src/fns.c (string-lessp): Better docstring.
1095 2015-06-04  Eli Zaretskii  <eliz@gnu.org>
1097         Fix timezone-related functions on MS-Windows
1098         * src/editfns.c (set_time_zone_rule) [WINDOWSNT]: Always call
1099         'xputenv', even if no reallocation of tzvalbuf was necessary.
1100         This fixes a bug in timezone-related functions on MS-Windows.
1101         Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.
1103 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
1105         Don't pass raw directory name to 'error'
1106         * lisp/files.el (basic-save-buffer-2): Avoid format error if
1107         a directory name contains a string like "%s".
1109 2015-06-03  Dmitry Gutov  <dgutov@yandex.ru>
1111         Override 'grep --color=always'
1112         * lisp/progmodes/xref.el (xref-collect-matches):
1113         Override --color=always in grep-find-template.
1115 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
1117         Fix error introduced recently in file-notify-tests.el
1118         * test/automated/file-notify-tests.el
1119         (file-notify--test-remote-enabled): Do not use `file-notify--test-desc'.
1120         (file-notify--deftest-remote): Revert previous patch, not
1121         necessary anymore.
1123 2015-06-03  Wolfgang Jenkner  <wjenkner@inode.at>
1125         * src/indent.c (Fvertical_motion): Amend motion by 0 lines.
1126         Starting from a display string after a newline, point went to the
1127         previous line.  Also, fix an inadvertent use of a buffer position
1128         with FETCH_BYTE.  (Bug#20701)
1130 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
1132         Instrument file-notify-test.el in order to catch hydra error.
1133         * test/automated/file-notify-tests.el (file-notify--deftest-remote):
1134         Wrap body by `ignore-case', in order to trap non-local errors.
1136 2015-06-03  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1138         Undo previous changes in non-toolkit scroll bar drawing.
1139         * src/xterm.c (x_scroll_bar_set_handle, x_scroll_bar_expose)
1140         [!USE_TOOLKIT_SCROLL_BARS]: Draw into scroll bar window.  (Bug#20668)
1142 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
1144         * .gitignore: Also ignore doc/*/*/*.html and .ps.
1146         Support quotes 'like this' in info files
1147         This is possible when 'makeinfo --disable-encoding' is used
1148         in Texinfo 5.
1149         * lisp/calc/calc-help.el (calc-describe-thing):
1150         * lisp/gnus/gnus-art.el (gnus-button-alist):
1151         * lisp/info.el (Info-find-index-name):
1152         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
1153         Also support quotes 'like this'.
1154         * lisp/calc/calc-help.el (calc-describe-thing): Simplify.
1155         * lisp/finder.el (finder-font-lock-keywords): Remove var that
1156         hasn't been used in years, instead of bothering to fix its quoting.
1158 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
1160         * .gitignore: Remove !test/etags/html-src/*.html.
1161         It's no longer needed, since *.html was removed.  Sort.
1163 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
1165         Restore <D> instead of '.' in grep-find-template
1166         * lisp/cedet/semantic/symref/grep.el
1167         (semantic-symref-grep-use-template): Update a comment.
1168         * lisp/progmodes/grep.el (grep-compute-defaults): Restore <D>
1169         instead of '.' in grep-find-template (bug#20719).
1170         (rgrep): Pass nil as the directory to rgrep-default-command.
1171         * lisp/progmodes/grep.el (grep-expand-keywords): Use '.' as the
1172         default value for DIR.
1173         * lisp/progmodes/xref.el (xref-collect-matches): Drop the
1174         workaround.
1176 2015-06-02  Glenn Morris  <rgm@gnu.org>
1178         * configure.ac (emacs_config_features): Add X toolkit and scroll-bars.
1180         * configure.ac (emacs_config_features): Add Cairo.
1182         * configure.ac [HAVE_GTK3]: Remove USE_CAIRO that gets reset later.
1184 2015-06-02  Michael Albinus  <michael.albinus@gmx.de>
1186         Ensure, that autorevert works for remote files in file-notify-tests.el
1187         * test/automated/file-notify-tests.el (file-notify--test-desc):
1188         New defvar.
1189         (file-notify--test-remote-enabled)
1190         (file-notify-test00-availability, file-notify-test01-add-watch)
1191         (file-notify-test02-events): Use it.
1192         (file-notify--test-event-test): Check proper descriptor.
1193         (file-notify-test03-autorevert): Ensure, that
1194         `visited-file-modtime' has changed.
1195         (Bug#20392)
1197 2015-06-02  Nicolas Petton  <nicolas@petton.fr>
1199         Add a pcase pattern for maps and `map-let' based on it
1200         * lisp/emacs-lisp/map.el (map-let): New macro.
1201         (map--make-pcase-bindings, map--make-pcase-patterns): New functions.
1202         * test/automated/map-tests.el: New test for `map-let'.
1204 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
1206         Reuse rgrep mechanics in xref-find-regexp
1207         * lisp/progmodes/grep.el (rgrep-default-command):
1208         Extract from `rgrep'.
1209         * lisp/progmodes/xref.el (xref-collect-references): Split from
1210         `xref-collect-matches'.  Only handle the case of symbol search.
1211         (xref-collect-matches): Instead of Semantic Symref, use
1212         `rgrep-default-command', to take advantage of its directory and
1213         file ignore settings.
1214         (xref--collect-match): Remove the last argument, leaving the
1215         regexp construction up to the caller.
1216         * lisp/progmodes/elisp-mode.el (elisp--xref-find-matches):
1217         Change to take the xref-collect- function to use as an argument.
1218         (elisp-xref-find): Update accordingly.
1219         * lisp/progmodes/etags.el (etags--xref-find-matches)
1220         (etags-xref-find): Same.
1222         Move xref-elisp-location to elisp-mode.el
1223         * lisp/progmodes/xref.el (xref-elisp-location)
1224         (xref-make-elisp-location, xref-location-marker): Remove here.
1225         (xref--xref): Don't limit the type of the location slot.
1226         * lisp/progmodes/elisp-mode.el (xref-elisp-location):
1227         Define as a cl-struct here.
1228         (xref-location-marker): Move here.
1230 2015-06-02  Eli Zaretskii  <eliz@gnu.org>
1232         Minor tweaks for .gitignore
1233         * .gitignore: Don't ignore versioned *.html and *.ps files.  Don't
1234         ignore admin/notes/tags that might be ignored as TAGS on
1235         case-insensitive filesystems.  (Bug#20710)
1237 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
1239         Generate curved quotes in ert doc
1240         * lisp/emacs-lisp/ert.el (ert--print-test-for-ewoc)
1241         (ert-results-mode-menu)
1242         (ert-results-pop-to-backtrace-for-test-at-point)
1243         (ert-results-pop-to-messages-for-test-at-point)
1244         (ert-results-pop-to-should-forms-for-test-at-point)
1245         (ert-describe-test):
1246         Quote ‘like this’, not `like this', when generating doc strings
1247         and the like.
1248         * test/automated/ert-x-tests.el (ert-test-describe-test):
1249         Allow quoting ‘like this’.
1251 2015-06-02  Nicolas Richard  <youngfrog@members.fsf.org>
1253         Add test for previous commit
1254         * test/automated/replace-tests.el: New file.
1255         (query-replace--split-string-tests): Add test for previous commit.
1257         Avoid confusion in query-replace history when replacing NUL chars
1258         * lisp/replace.el (query-replace--split-string): New function.
1259         (query-replace-read-from): Rely on the 'separator' property
1260         instead of searching for the NUL character (Bug#20690).
1262 2015-06-02  Glenn Morris  <rgm@gnu.org>
1264         Merge from origin/emacs-24
1265         8b5f2f4 * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
1267         * admin/gitmerge.el (gitmerge-commit-message):
1268         Exclude "skipped" messages from ChangeLog.
1270 2015-06-01  Michael Albinus  <michael.albinus@gmx.de>
1272         Sync with Tramp repository
1273         * lisp/net/tramp.el (tramp-message): Dump connection buffer error
1274         messages.
1275         (tramp-handle-make-auto-save-file-name): When calling
1276         `make-auto-save-file-name' internally, make sure it uses Unix-like
1277         behavior, not Windows-like behavior.
1278         * lisp/net/tramp-sh.el (tramp-set-file-uid-gid): Add a timeout for
1279         the local case, because "chown" might fail on w32.
1280         * lisp/net/trampver.el (tramp-repository-get-version): Don't run
1281         for XEmacs.
1283 2015-06-01  Eli Zaretskii  <eliz@gnu.org>
1285         MS-Windows followup for batch stdout/stderr output changes
1286         * lisp/international/mule-cmds.el (set-locale-environment): In
1287         batch mode, use console codepages for keyboard and terminal
1288         encoding.  (Bug#20545)
1290         Update .gitattributes for DOS EOL files
1291         * .gitattributes: Use "whitespace=cr-at-eol" for files with DOS
1292         CRLF end-of-line format.
1294         NS equivalents of xterm.c and w32term.c changes
1295         * src/nsterm.m (ns_maybe_dumpglyphs_background): Force redraw of
1296         glyph string background also when the font in use claims
1297         preposterously large global height value.  Helps to remove
1298         artifacts left from previous displays when glyphless characters
1299         are displayed as hex code in a box.
1300         (x_new_font): Call get_font_ascent_descent to obtain a reasonable
1301         value for FRAME_LINE_HEIGHT, even when a font claims very large
1302         value for its height.
1304 2015-06-01  Paul Eggert  <eggert@cs.ucla.edu>
1306         Avoid grave accent quoting in stderr diagnostics
1307         A few Emacs diagnostics go directly to stderr, and so can't easily
1308         contain curved quotes (as non-UTF-8 locales might mishandle them).
1309         Instead of bothering to add support for this rarity, reword the
1310         diagnostics so that they don't use grave accent to quote.
1311         * src/alloc.c (mark_memory): Fix comment.
1312         * src/buffer.c (init_buffer):
1313         * src/dispnew.c (init_display):
1314         * src/emacs.c (main, sort_args):
1315         * src/lread.c (dir_warning):
1316         * src/term.c (init_tty):
1317         * src/unexmacosx.c (unexec):
1318         * src/xfns.c (select_visual):
1319         * src/xterm.c (cvt_string_to_pixel, x_io_error_quitter):
1320         Reword stderr diagnostics to avoid quoting `like this'.
1321         * src/unexmacosx.c: Include errno.h.
1322         * src/xfns.c (select_visual): Encode value for locale.
1324 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
1326         Treat batch stdout/stderr like standard display
1327         Calls like (print FOO) could generate improperly encoded or
1328         hard-to-read output if FOO contains characters outside the system
1329         locale.  Fix this by treating batch stdout and stderr like
1330         interactive standard display, when it comes to transliterating and
1331         encoding characters (Bug#20545).
1332         * doc/emacs/mule.texi (Communication Coding):
1333         * doc/lispref/display.texi (Active Display Table):
1334         * doc/lispref/nonascii.texi (Locales):
1335         * etc/NEWS:
1336         * src/coding.c (syms_of_coding):
1337         * src/dispnew.c (syms_of_display):
1338         Document this.
1339         * src/print.c: Include disptab.h.
1340         (printchar_to_stream): New function, with much of the guts of the
1341         old Fexternal_debugging_output, except this one also uses the
1342         standard display table.
1343         (printchar, strout, Fexternal_debugging_output): Use it.
1345 2015-05-31  Glenn Morris  <rgm@gnu.org>
1347         * src/emacs.c (syms_of_emacs) <system-configuration-features>: Doc fix.
1349 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
1351         Remove unused DEFSYMs
1352         Remove DEFSYMs that aren't used at the C level.  Also:
1353         * src/decompress.c (Qzlib_dll):
1354         * src/font.c (Qunicode_sip):
1355         * src/frame.c (Qtip_frame):
1356         * src/ftfont.c (Qserif):
1357         * src/gnutls.c (Qgnutls_dll):
1358         * src/xml.c (Qlibxml2_dll):
1359         Move from here ...
1360         * src/w32fns.c (syms_of_w32fns): ... to here,
1361         as these are used only on MS-Windows.
1363 2015-05-31  Michael Albinus  <michael.albinus@gmx.de>
1365         Use another default value for tramp-histfile-override
1366         * lisp/net/tramp-sh.el (tramp-histfile-override):
1367         Use ".tramp_history" as default.
1368         Fixes: debbugs:#20446
1370 2015-05-29  Nicolas Petton  <nicolas@petton.fr>
1372         * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
1374 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
1376         * etc/NEWS: Add an entry about map.el
1378         Improve the docstring of functions in map.el
1379         Since a map is not a data structure but a concept, adding information
1380         about the possible types of maps can be useful information.
1381         * lisp/emacs-lisp/map.el: Add documentation about the type of MAP to
1382         each public function.
1384 2015-04-29  Nicolas Petton  <nicolas@petton.fr>
1386         Faster implementation of map-empty-p
1387         * lisp/emacs-lisp/map.el (map-empty-p): Faster implementation using
1388         specific tests depending on the type of the map.
1390         * lisp/emacs-lisp/map.el: Better docstrings.
1392 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
1394         * lisp/emacs-lisp/map.el (map-pairs): Dump redundant lambda
1396 2015-04-25  Nicolas Petton  <nicolas@petton.fr>
1398         * lisp/emacs-lisp/map.el (map--elt-list): Better docstring.
1400         * lisp/emacs-lisp/map.el (map--elt-list): Minor refactoring.
1402         Fix a false negative in `map-elt' with alists and values being nil
1403         * lisp/emacs-lisp/map.el (map-elt): If map is an alist and key is
1404         found but its associated value is nil, do not return the default
1405         value.
1406         * test/automated/map-tests.el: Add a regression test.
1408 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
1410         * lisp/emacs-lisp/map.el (map--dispatch): Improve the docstring.
1412         Do not signal an error when trying to delete a key from an array
1413         * lisp/emacs-lisp/map.el (map-delete): When map is an array, check if
1414         the key is present to avoid signaling an error.
1415         * test/automated/map-tests.el: Add a test for deleting non-existing
1416         keys from maps.
1418         * lisp/emacs-lisp/map.el: Better docstring.
1420         Minor improvement in map-elt.
1421         * lisp/emacs-lisp/map.el (map-elt): Do not use `ignore-errors' when
1422         doing a lookup in arrays, but check the boundaries of the array
1423         instead.
1424         * test/automated/map-tests.el: Adds a test for `map-elt' with arrays
1425         and a negative integer as key.
1427 2015-04-21  Nicolas Petton  <nicolas@petton.fr>
1429         * test/automated/map-tests.el: Refactoring of test methods.
1431         * test/automated/map-tests.el: Renamed from map-test.el.
1433 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
1435         * lisp/emacs-lisp/map.el (map-into): Better error message.
1437         * lisp/emacs-lisp/map.el: Removes byte-compilation warnings.
1439         Throw an error when converting a map into an unknown map type
1440         * lisp/emacs-lisp/map.el (map-into): Throw an error if type is not valid.
1441         * test/automated/map-test.el: Add a regression test.
1443         New library map.el similar to seq.el but for mapping data structures.
1444         * test/automated/map-test.el: New file.
1445         * lisp/emacs-lisp/map.el: New file.
1447 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
1449         Make sure there's no explicit tag name
1450         * lisp/progmodes/etags.el (tag-implicit-name-match-p): Make sure
1451         there's no explicit tag name (bug#20629).
1453 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
1455         Remove format2
1456         * src/editfns.c, src/lisp.h (format2): Remove.
1457         It is more trouble than it's worth, now that we have CALLN.
1458         This is just a minor refactoring.
1459         * src/buffer.c (Fkill_buffer):
1460         * src/dbusbind.c (XD_OBJECT_TO_STRING):
1461         * src/fileio.c (barf_or_query_if_file_exists):
1462         Adjust to format2 going away.
1464         Don't misencode C-generated messages
1465         Also, be more consistent about calls to 'Fmessage' vs 'message'.
1466         * src/alloc.c (Fgc_status):
1467         Prefer AUTO_STRING to build_string for Fmessage call.
1468         * src/data.c (Fmake_variable_buffer_local)
1469         (Fmake_local_variable, Fmake_variable_frame_local):
1470         * src/doc.c (store_function_docstring):
1471         Use Fmessage, not message, since the argument can contain
1472         non-ASCII characters, and this can cause the resulting message
1473         to be incorrectly encoded for the current environment.
1474         * src/fns.c (maybe_resize_hash_table):
1475         * src/xselect.c (x_clipboard_manager_save_all):
1476         Use message, not Fmessage, since Fmessage's power isn't needed here.
1477         * src/process.c (Fmake_network_process): Reword message to avoid %s.
1478         * src/xdisp.c (vmessage): Document restrictions on message contents.
1479         (message_nolog) [false]: Remove unused code.
1481         Use \r rather than ^M in string literals
1482         This is less likely to cause problems on platforms that
1483         use CRLF (or CR!) termination for lines.
1485         Update .gitattributes to match current sources
1486         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00879.html
1487         * .gitattributes: Accommodate tests that insist on DOS format.
1488         Remove test/automated/data/decompress/foo-gzipped.
1489         Add etc/e/eterm-color.
1491 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
1493         Document 'face-ignored-fonts'
1494         * doc/emacs/mule.texi (Modifying Fontsets): Document
1495         face-ignored-fonts.  (Bug#20628)
1497         Add etags test for the new -Q option
1498         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
1499         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
1500         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
1501         test-case changes below.
1502         * test/etags/ETAGS.good_6: New file.
1503         * test/etags/cp-src/x.cc: New file.
1504         * test/etags/Makefile (CPSRC): Add x.cc.
1505         (check): Add one more test, for -Q.
1507 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
1509         Use list for the tags completion table, not obarray
1510         * lisp/progmodes/etags.el (etags-tags-completion-table): Return a
1511         list instead of an obarray
1512         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00876.html).
1513         (tags-completion-table): Combine those lists.
1514         (tags-completion-table): Update the docstring.
1516 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
1518         Restore EOL format testing in etags
1519         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
1520         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
1521         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
1522         test-case changes below.
1523         * test/etags/html-src/algrthms.html: Convert back to DOS EOL format.
1524         * test/etags/cp-src/c.C (B): Add back stray CR character.
1525         * test/etags/c-src/dostorture.c: Add back.
1526         * test/etags/Makefile (CSRC): Add back c-src/dostorture.c.
1528 2015-05-30  Vitaly Takmazov  <vitalyster@gmail.com>  (tiny change)
1530         Declare Emacs on MS-Windows to be DPI-aware
1531         * nt/emacs-x86.manifest (asmv3:windowsSettings): Add dpiAware.
1532         * nt/emacs-x64.manifest (asmv3:windowsSettings): Add dpiAware.
1533         This avoids Windows entering compatibility mode for Emacs,
1534         which causes fonts to look less nice.
1536 2015-05-30  Michael Albinus  <michael.albinus@gmx.de>
1538         Improve Tramp traces.
1539         * lisp/net/trampver.el (tramp-repository-get-version): New defun.
1540         * lisp/net/tramp.el (tramp-debug-message): Use it.
1542 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
1544         backup-buffer minor reworking of internals
1545         * lisp/files.el (backup-buffer): Rework to avoid a couple of
1546         unused locals inadvertently introduced in the previous change.
1548         backup-buffer now reports .emacs.d/%backup% ills
1549         * lisp/files.el (backup-buffer): If the write to .emacs.d/%backup%
1550         fails due to disk space exhaustion or whatever, do not pretend
1551         that it succeeded.  More generally, do a better job of checking
1552         for I/O failures, and limit the scope of the condition-case to
1553         just the operations where file errors should be caught and ignored
1554         (Bug#20595).  Also, don't bother trying to delete later backups if
1555         an earlier deletion fails, as this is a sign of trouble and it's
1556         better to stop when there's trouble.
1558         copy-file now truncates output after writing
1559         * src/fileio.c (Fcopy_file): Truncate output after writing rather
1560         than before.  This is more likely to work than truncation before
1561         writing, if the file system is out of space or the user is over
1562         disk quota (Bug#20595).  Also, check for read errors.
1564 2015-05-29  Artur Malabarba  <bruce.connor.am@gmail.com>
1566         * lisp/emacs-lisp/package.el: Don't load from parent dir
1567         (package-load-all-descriptors): Don't load descriptors from
1568         directories above the package directories.
1570 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
1572         Merge from gnulib
1573         This incorporates the following (Bug#20681):
1574         2015-05-29 acl-permissions: Fix build on Mac OS X and older AIX
1575         2015-05-29 acl-permissions: Fix build on Solaris and Cygwin
1576         * lib/set-permissions.c: Copy from gnulib.
1578 2015-05-29  Michael Albinus  <michael.albinus@gmx.de>
1580         Improve Tramp traces.
1581         * lisp/net/tramp.el (tramp-call-process-region): New defun.
1582         * lisp/net/tramp-sh.el (tramp-get-inline-coding): Use it.
1584 2015-05-29  Glenn Morris  <rgm@gnu.org>
1586         * test/automated/vc-tests.el: Try enabling tests on hydra.nixos.org.
1588 2015-05-29  Wolfgang Jenkner  <wjenkner@inode.at>
1590         * src/xfns.c (x_set_menu_bar_lines): Fix calls to x_clear_area.
1591         The signature was changed in the cairo branch, merged on 2015-05-23.
1592         This oversight broke compiling only the non-toolkit X version.
1594 2015-05-29  Samer Masterson  <samer@samertm.com>
1596         * doc/lispref/os.texi: Update initial-buffer-choice docs.
1598 2015-05-29  Glenn Morris  <rgm@gnu.org>
1600         * test/automated/vc-tests.el (vc-test-rcs04-checkout-model):
1601         Mark as an expected failure.
1603 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
1605         Change package test to look for curved quotes
1606         * test/automated/package-test.el (package-test-describe-package)
1607         (package-test-signed): Search for curved single quotes as well as
1608         for grave accent and apostrophe.
1610 2015-05-28  Katsumi Yamaoka  <yamaoka@jpl.org>
1612         gnus-art.el: Re-revert last change
1613         * lisp/gnus/gnus-art.el (gnus-button-alist): Re-revert last change.
1614         cf. <http://news.gmane.org/group/gmane.emacs.devel/thread=186896>
1616 2015-05-28  Samer Masterson  <samer@samertm.com>
1618         Show files when `initial-buffer-choice' is non-nil
1619         * startup.el (command-line-1): When Emacs is given a file as an
1620         argument and `initial-buffer-choice' is non-nil, display both the file
1621         and `initial-buffer-choice'.  For more than one file, show
1622         `initial-buffer-choice' and *Buffer List*.  Refactor display-changing
1623         commands out of the command line arg parser.
1624         (initial-buffer-choice): Clarify docstring.
1626 2015-05-28  Eli Zaretskii  <eliz@gnu.org>
1628         Fix last commit
1629         * nt/gnulib.mk (libgnu_a_SOURCES): Add get-permissions.c back.
1630         (gnulib module qcopy-acl): Add back, as it is harmless.  This
1631         minimizes differences wrt lib/gnulib.mk.
1633         Fix the MS-Windows build as followup to gnulib update
1634         * nt/gnulib.mk (libgnu_a_SOURCES): Remove get-permissions.c and
1635         set-permissions.c, as they don't compile on MinGW.
1636         (gnulib module qcopy-acl): Remove, as it needs set-permissions.c.
1638 2015-05-28  Paul Eggert  <eggert@cs.ucla.edu>
1640         Revert my change to gnus-art.el
1641         * lisp/gnus/gnus-art.el (gnus-button-alist): Revert last change.
1642         It wasn't that important, and it caused a Gnus build to fail.  See:
1643         http://www.randomsample.de:4456/builders/emacs-devel/builds/734
1645         New minor mode Electric Quote
1646         This lets you easily insert quotes ‘like this’ by typing
1647         quotes `like this', and similarly you can easily insert
1648         quotes “like this” by typing quotes ``like this'' (Bug#20545).
1649         * doc/emacs/basic.texi (Inserting Text):
1650         * doc/emacs/modes.texi (Minor Modes):
1651         * etc/NEWS: Document it.
1652         * doc/emacs/text.texi (Quotation Marks): New section.
1653         * lisp/electric.el (electric-quote-comment)
1654         (electric-quote-string, electric-quote-paragraph):
1655         New custom vars.
1656         (electric--insertable-p)
1657         (electric-quote-post-self-insert-function): New functions.
1658         (electric-quote-mode, electric-quote-local-mode): New minor modes.
1659         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
1660         Add curved single quotes to electric-pair-text-pairs.
1661         Set electric-quote-string in this buffer.
1663         A few more doc string fixes (Bug#20385)
1665         Accept curved quotes in doc strings
1666         * lisp/info-look.el (info-lookup-guess-custom-symbol):
1667         (info-lookup-alist): Treat ‘’ like `' when parsing help buffers etc.
1669         Generate curved quotes in pseudo-info nodes
1670         * lisp/info.el (Info-virtual-index-find-node)
1671         (Info-virtual-index, Info-apropos-find-node, info-apropos):
1672         Quote ‘like this’, not `like this', when generating pseudo-info nodes.
1674         Fix minor quoting problems in doc strings
1675         Most of these fixes involve escaping grave accents that are
1676         actually intended to be grave accents, not left quotes.
1677         (Bug#20385)
1679         Support curved quotes in doc strings
1680         Emacs's traditional doc string style has been to quote symbols
1681         `like this'.  This worked well on now-obsolete terminals where
1682         ` and ' were symmetric quotes, but nowadays curved quotes
1683         ‘like this’ look better.  Support quoting the new way too.
1684         (Bug#20385)
1685         * doc/lispref/tips.texi (Documentation Tips): Symbols can be quoted
1686         ‘like-this’ as well as `like-this'.
1687         * etc/NEWS: Mention this.
1688         * lisp/cedet/mode-local.el (overload-docstring-extension)
1689         (mode-local-print-binding, mode-local-describe-bindings-2):
1690         * lisp/cus-theme.el (describe-theme-1):
1691         * lisp/descr-text.el (describe-text-properties-1, describe-char):
1692         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
1693         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
1694         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
1695         (eieio-help-constructor):
1696         * lisp/emacs-lisp/package.el (describe-package-1):
1697         * lisp/faces.el (describe-face):
1698         * lisp/help-fns.el (help-fns--key-bindings)
1699         (help-fns--compiler-macro, help-fns--parent-mode, help-fns--obsolete):
1700         (help-fns--interactive-only, describe-function-1):
1701         (describe-variable):
1702         * lisp/help.el (describe-mode):
1703         * lisp/international/mule-cmds.el (describe-input-method)
1704         (describe-language-environment):
1705         * lisp/international/mule-diag.el (describe-character-set)
1706         (print-coding-system-briefly, list-input-methods)
1707         (list-input-methods-1):
1708         Insert curved quotes rather than grave accent and apostrophe.
1709         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
1710         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
1711         (checkdoc-proper-noun-region-engine):
1712         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2)
1713         (lisp-cl-font-lock-keywords-2):
1714         * lisp/finder.el (finder-font-lock-keywords):
1715         * lisp/gnus/gnus-art.el (gnus-button-alist):
1716         * lisp/help-fns.el (help-do-arg-highlight)
1717         (describe-function-1, describe-variable):
1718         * lisp/help-mode.el (help-xref-symbol-regexp)
1719         (help-xref-info-regexp, help-xref-url-regexp):
1720         * lisp/help.el (describe-mode):
1721         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
1722         * lisp/wid-edit.el (widget-documentation-link-regexp):
1723         Parse symbols quoted ‘like-this’ as well as `like-this'.
1724         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
1725         Add "‘" and "’" to electric-pair-text-pairs.
1726         (elisp--form-quoted-p): Also allow "‘" as a quoting char.
1727         (elisp-completion-at-point, elisp--preceding-sexp):
1728         Also treat "‘" and "’" as quoting chars.
1730         substitute-command-keys now curves quotes
1731         So, for example, it turns "`abc'" into "‘abc’" (Bug#20385).
1732         * doc/lispref/help.texi (Keys in Documentation):
1733         * etc/NEWS: Document this.
1734         * src/doc.c (Fsubstitute_command_keys): Implement it.
1736 2015-05-28  Glenn Morris  <rgm@gnu.org>
1738         * lisp/mail/rmailsum.el (rmail-summary-by-recipients)
1739         (rmail-summary-by-topic, rmail-summary-by-senders):
1740         No longer strip leading/trailing whitespace.
1742         * lisp/progmodes/f90.el (f90-type-def-re): Add "type, extends".
1743         (f90-no-block-limit): Add "enum".  (Bug#20680)
1744         * test/automated/f90.el (f90-test-bug20680, f90-test-bug20680b):
1745         New tests.
1747 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
1749         * lisp/isearch.el (isearch--current-buffer): Give a default value.
1751         Un-revert changes mistakenly dropped by f9fabb2b
1753 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
1755         Merge from gnulib
1756         This incorporates:
1757         2015-05-27 qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
1758         2015-05-27 file-has-acl: Split feature tests again (Bug#20667)
1759         2015-05-27 string: fix build failure on BSD/OSX with FORTIFY_SOURCE
1760         2015-05-26 stdio: limit __gnu_printf__ witness to gcc 4.4+
1761         2015-05-26 inttypes: force correct mingw PRIdMAX even without <stdio.h>
1762         2015-05-26 stdio: fix probe on mingw under gcc 5.1
1763         * admin/merge-gnulib (GNULIB_MODULES):
1764         Replace qacl with qcopy-acl, since we don't need the rest of qacl.
1765         * doc/misc/texinfo.tex, lib/acl-internal.c, lib/acl-internal.h:
1766         * lib/inttypes.in.h, lib/qcopy-acl.c, lib/qset-acl.c:
1767         * lib/string.in.h, m4/acl.m4, m4/stdio_h.m4:
1768         Get latest versions from gnulib.
1769         * lib/get-permissions.c, lib/set-permissions.c: New files.
1770         * lib/gnulib.mk, m4/gnulib-comp.m4:
1771         Regenerate.
1772         * nt/gnulib.mk: Merge lib/gnulib.mk changes by hand.
1774 2015-05-27  Dmitry Gutov  <dgutov@yandex.ru>
1776         Delete the old process in vc-setup-buffer
1777         * lisp/vc/vc-dispatcher.el (vc-setup-buffer): Delete the old
1778         process here.
1779         (vc-do-command): Rather than here (bug#20608).
1781 2015-05-27  Ivan Shmakov  <ivan@siamics.net>
1783         Avoid gratuitous delete-dups in face-at-point.
1784         * lisp/faces.el (face-at-point): Do not compute the properly
1785         ordered, duplicate-free list if only a single value is
1786         requested anyway.  (Bug#20519)
1788         Show the exact C-x 8 RET invocation in describe-char.
1789         * lisp/descr-text.el (describe-char): Show the exact C-x 8 RET
1790         invocation instead of a template.  (Bug#20522)
1792 2015-05-27  Artur Malabarba  <bruce.connor.am@gmail.com>
1794         * lisp/emacs-lisp/package.el: Don't erase tags on refresh
1795         (package-menu--post-refresh): Call `tabulated-list-print' with the
1796         UPDATE argument.  This only affects the refresh action, the revert
1797         action still erases tags.
1798         (package-menu-get-status): Change `assq' to `assoc'.
1799         (package-menu--mark-upgrades-1): New function.
1800         (package-menu--mark-upgrades-pending): New variable.
1801         (package-menu-mark-upgrades): Use them to delay marking until
1802         after refresh is done.
1803         (package-menu--post-refresh): Call mark-upgrades-1 if
1804         mark-upgrades-pending is non-nil.
1806 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
1808         Fix typo in commit 3953c4be2816537be95520605d45b866dc731f4b
1810 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
1812         * lisp/isearch.el (isearch--current-buffer): New var
1813         (isearch-update): Set cursor-sensor-inhibit here.
1814         (isearch-done): Unset cursor-sensor-inhibit in the right buffer (bug#20532).
1816         Change inhibit-point-motion-hooks to t
1817         * src/textprop.c (syms_of_textprop): Default Vinhibit_point_motion_hooks
1818         to t and document it as obsolete.
1820 2015-05-27  Eli Zaretskii  <eliz@gnu.org>
1822         Support ZIP files that use Zip64 extensions
1823         * lisp/arc-mode.el (archive-zip-summarize): Handle the new ZIP
1824         format of central directory offsets used by Zip64 extensions.
1825         (Bug#20665)
1827 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
1829         New test tramp-test30-make-auto-save-file-name
1830         * tramp-tests.el (tramp-test30-make-auto-save-file-name): New test.
1831         (tramp-test31-special-characters)
1832         (tramp-test31-special-characters-with-stat)
1833         (tramp-test31-special-characters-with-perl)
1834         (tramp-test31-special-characters-with-ls, tramp-test32-utf8)
1835         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
1836         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
1837         (tramp-test34-recursive-load, tramp-test35-unload): Rename.
1839         Improve tramp-handle-make-auto-save-file-name
1840         * tramp.el (tramp-auto-save-directory): Add :tags.
1841         (tramp-handle-make-auto-save-file-name): Let native
1842         `make-auto-save-file-name' use `auto-save-file-name-transforms',
1843         if `tramp-auto-save-directory' is not set.
1845 2015-05-27  Glenn Morris  <rgm@gnu.org>
1847         No longer set dired-directory in eshell.  (Bug#16477)
1848         * lisp/eshell/esh-mode.el (eshell-mode):
1849         * lisp/eshell/em-dirs.el (eshell/cd): No longer set dired-directory.
1851         * lisp/mail/sendmail.el (mail-position-on-field): Doc fix.
1853         Make c-submit-bug-report file reports at debbugs.gnu.org.  (Bug#15784)
1854         * lisp/progmodes/cc-mode.el (c-mode-help-address):
1855         Change to submit@debbugs.
1856         (c-mode-bug-package): New constant.
1857         (mail-position-on-field): Declare.
1858         (c-submit-bug-report): Insert X-Debbugs-Package header.
1859         * doc/misc/cc-mode.texi (Mailing Lists and Bug Reports):
1860         Mention debbugs.gnu.org.
1862 2015-05-26  Glenn Morris  <rgm@gnu.org>
1864         * lisp/mail/rmailsum.el: Commas no longer separate regexps.  (Bug#19026)
1865         (rmail-summary-by-recipients, rmail-summary-by-topic)
1866         (rmail-summary-by-senders): No longer use mail-comma-list-regexp.
1867         * doc/emacs/rmail.texi (Rmail Make Summary): Update for this change.
1869 2015-05-26  Paul Eggert  <eggert@cs.ucla.edu>
1871         Handle curved quotes in info files
1872         * lisp/calc/calc-help.el (calc-describe-thing):
1873         * lisp/info.el (Info-find-index-name)
1874         (Info-try-follow-nearest-node, Info-fontify-node):
1875         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
1876         In info files, process quotes ‘like this’ the same way we process
1877         quotes `like this'.  This catches a few places we missed earlier.
1879 2015-05-26  Dmitry Gutov  <dgutov@yandex.ru>
1881         xref-prompt-for-identifier: Use a list value
1882         * lisp/progmodes/xref.el (xref-prompt-for-identifier): Allow list
1883         value, to be interpreted as a list of commands.
1884         (xref--prompt-p): New function.
1885         (xref--read-identifier): Use it.
1887 2015-05-26  Eli Zaretskii  <eliz@gnu.org>
1889         Teach MS-Windows font back-end return per-glyph ascent/descent
1890         * src/w32font.h (struct w32_metric_cache): Add ascent and descent
1891         values.
1892         * src/w32font.c (w32font_text_extents): Compute, cache, and
1893         accumulate per-glyph ascent and descent values, instead of copying
1894         global values from the font.  If the values are not available from
1895         the font data, i.e., non-TTF fonts, fall back on font-global values.
1896         (compute_metrics): Compute and return per-glyph ascent and descent
1897         values, if returned by GetGlyphOutlineW, falling back on
1898         font-global values.  (Bug#20628)
1899         * src/w32term.c (w32_draw_rectangle): Add 1 pixel to width and
1900         height of rectangle to be drawn, to be compatible with
1901         XDrawRectangle.  Fixes glyphless-char display as hex codes in a
1902         box, when per-glyph ascent/descent values are used.
1904 2015-05-26  Artur Malabarba  <bruce.connor.am@gmail.com>
1906         * lisp/emacs-lisp/tabulated-list.el: Don't sort without sorter
1907         (tabulated-list-print): Don't sort if sorter is nil
1909 2015-05-26  Michael Albinus  <michael.albinus@gmx.de>
1911         Fix Bug#20621
1912         * lisp/net/tramp-sh.el (tramp-set-auto-save): Remove it.  There
1913         are major modes which set `auto-save-mode' on their own rules;
1914         Tramp shall not overwrite such settings.
1915         (Bug#20621)
1917 2015-05-26  Glenn Morris  <rgm@gnu.org>
1919         * lisp/desktop.el: If modes aren't autoloaded, try simple guesswork.
1920         (desktop-load-file): Guess that "foobar" defines "foobar-mode".
1921         (desktop-buffer-mode-handlers, desktop-minor-mode-handlers):
1922         Doc updates.
1923         (vc-dir-mode): Remove unnecessary autoload.
1925 2015-05-25  Philipp Stephani  <phst@google.com>
1927         * lisp/term/xterm.el: Add gui-get-selection support via OSC-52
1928         (xterm--extra-capabilities-type): Add `getSelection'.
1929         (xterm--query): Add `no-async' argument.
1930         (xterm--init-activate-get-selection): New function.
1931         (terminal-init-xterm): Use it.
1932         (xterm--init-modify-other-keys): Rename from
1933         terminal-init-xterm-modify-other-keys.
1934         (xterm--init-bracketed-paste-mode): Rename from
1935         terminal-init-xterm-bracketed-paste-mode.
1936         (xterm--init-activate-set-selection): Rename from
1937         terminal-init-xterm-activate-set-selection.
1938         (xterm--selection-char): New function.
1939         (gui-backend-set-selection): Use it.  Use the &context to only apply
1940         this method in terminals where we enabled the feature.
1941         (gui-backend-get-selection): New method.
1943 2015-05-25  Daniel Colascione  <dancol@dancol.org>
1945         Add C-language keyword constants to C++
1946         * lisp/progmodes/cc-langs.el (c-constant-kwds): Add C-language
1947         keyword constants to C++.
1949 2015-05-25  Paul Eggert  <eggert@cs.ucla.edu>
1951         Make TAGS files more portable to MS-Windows
1952         * etc/NEWS: Document this.
1953         * lib-src/etags.c (readline_internal) [DOS_NT]:
1954         Don't treat CRs differently from GNUish hosts.
1955         * lisp/progmodes/etags.el (etags-goto-tag-location):
1956         Adjust STARTPOS to account for the skipped CRs in dos-style files.
1958 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
1960         Improve fix of debbugs:20634 in tramp-sh.el
1962 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
1964         Fix a typo in last commit
1965         * lib-src/etags.c (C_entries): Fix a typo.
1966         * test/etags/ETAGS.good_1:
1967         * test/etags/ETAGS.good_2:
1968         * test/etags/ETAGS.good_3:
1969         * test/etags/ETAGS.good_4:
1970         * test/etags/ETAGS.good_5:
1971         * test/etags/CTAGS.good: Update due to the change in etags.c.
1973         Fix tagging of class members in C-like OO languages
1974         * lib-src/etags.c (longopts): Add new option --class-qualify and
1975         its shorthand -Q.
1976         (print_help): Add help text for --class-qualify.
1977         (main): Add handling of -Q.
1978         (consider_token, C_entries) <omethodparm>: Append argument types
1979         to Objective C methods only if --class-qualify was specified.
1980         Qualify C++, Objective C, and Java class members with their class
1981         names only if --class-qualify was specified.
1982         (C_entries): If --class-qualify was not specified, remove the
1983         namespace and class qualifiers from tag names of C++ methods.
1984         This allows to use etags.el as xref back-end without the
1985         tag-symbol-match-p method, which greatly increases the number of
1986         potentially false positives.  (Bug#20629)
1987         * doc/man/etags.1: Update to document the new --class-qualify
1988         option.
1989         * test/etags/ETAGS.good_1:
1990         * test/etags/ETAGS.good_2:
1991         * test/etags/ETAGS.good_3:
1992         * test/etags/ETAGS.good_4:
1993         * test/etags/ETAGS.good_5:
1994         * test/etags/CTAGS.good: Update due to changes in etags.c.
1996 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
1998         (cl-generic-define-method): Side effects are evil (bug#20644)
1999         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method): Don't reuse
2000         cons-cells that might be used as keys in an `equal' hash-table.
2002 2015-05-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
2004         Make erc timestamps visible again
2005         * lisp/erc/erc-stamp.el (erc-munge-invisibility-spec): Make
2006         timestamps visible again (if requested).
2008 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
2010         Fix last change in etags.c that broke tagging compresed files
2011         * lib-src/etags.c (process_file_name) [MSDOS || DOS_NT]: Fix
2012         quoting of decompression shell command for MS-Windows/MS-DOS.
2014 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
2016         * lisp/emacs-lisp/cl-macs.el (cl-tagbody): Scope cl--tagbody-alist
2017         (Bug#20639)
2019 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
2021         Fix typo in 89035e247591c8d688fce922b7079881aa110f33
2023 2015-05-25  Orivej Desh  <orivej@gmx.fr>  (tiny change)
2025         Fix IPv6 addresses in Tramp
2026         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
2027         Add sqare brackets around host name.
2029 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
2031         Inhibit `epa-file-handler' in Tramp
2032         (Bug#20634)
2033         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer)
2034         (tramp-sh-handle-insert-file-contents-literally): Inhibit also
2035         `epa-file-handler'.
2037 2015-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
2039         * lisp/emacs-lisp/pcase.el: Use PAT rather than UPAT in docstring
2040         (pcase-let): Document the behavior in case the pattern doesn't match.
2042 2015-05-24  Artur Malabarba  <bruce.connor.am@gmail.com>
2044         * lisp/emacs-lisp/tabulated-list.el: New optional print method
2045         (tabulated-list-print): New optional argument, UPDATE.  If
2046         non-nil, the list is printed by only adding and deleting the
2047         changed entries, instead of erasing the whole buffer.  This method
2048         is much faster when few or no entries have changed.
2049         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
2050         * etc/NEWS: Document it.
2052         * lisp/emacs-lisp/tabulated-list.el: Improve printing
2053         (tabulated-list--get-sorter): New function.
2054         (tabulated-list-print): Restore window-line when remember-pos is
2055         passed and optimize away the `nreverse'.
2057 2015-05-24  Paul Eggert  <eggert@cs.ucla.edu>
2059         Simpilify etags TEX mode scanning
2060         * lib-src/etags.c (TEX_mode, TEX_esc, TEX_opgrp, TEX_clgrp):
2061         Remove static vars.
2062         (TeX_commands): Deduce escapes here instead.
2063         (TEX_LESC, TEX_SESC, TEX_mode): Remove; all uses removed.
2064         This removes the need for a reset_input call.
2066         Improve etags I/O error reporting
2067         * lib-src/etags.c:
2068         Don't include sys/types.h and sys/stat.h; no longer needed.
2069         (infilename): New static var.
2070         (process_file_name): Don't call 'stat'.  Instead, just open the
2071         file for reading and report any errors.  Don't bother making
2072         a copy of the file argument; it's not needed.  Be more careful to
2073         use the failing errno when reporting an error.
2074         Quote the real name better (though no perfectly)
2075         when passing it to the shell.
2076         (reset_input): New function, which reports I/O errors.
2077         All uses of 'rewind' changed to use this function.
2078         (perhaps_more_input): New function, which also checks for
2079         I/O errors.  All uses of 'feof' changed to use this function.
2080         (analyze_regex): Report an error if fclose fails.
2081         (readline_internal): Report an error if getc fails.
2082         (etags_mktmp): Return an error if close fails.
2084         etags.c: avoid side effects in 'if'
2085         * lib-src/etags.c (process_file_name, Perl_functions)
2086         (TEX_decode_env): Hoist side effects into previous statement.
2088         .gitignore tweaks
2089         * .gitignore: Ignore all *.stamp files.  Sort.
2090         Ignore [0-9]*.txt (commonly used name for git patches)
2091         and /vc-dwim-log-* (vc-dwim temporary).
2093 2015-05-24  Eli Zaretskii  <eliz@gnu.org>
2095         Fix last change in etags.c, which failed the test suite
2096         * lib-src/etags.c (intoken): Add '$' to the set, as it was there
2097         before the last change.
2099 2015-05-23  Glenn Morris  <rgm@gnu.org>
2101         Remove charset map files from repository, generate in first bootstrap
2102         * admin/charsets/Makefile.in (${srcdir}/charsets.stamp): New.
2103         (all): Create the stamp file.
2104         (extraclean): Delete the stamp file.
2105         * src/Makefile.in (lispintdir, charsets): New variables.
2106         (${lispintdir}/cp51932.el, ${lispintdir}/eucjp-ms.el, ${charsets}):
2107         New rules.
2108         (emacs$(EXEEXT), temacs$(EXEEXT)): Depend on $charsets.
2109         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
2110         * etc/charsets/*.map: Remove from repository.
2112 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
2114         Cleanup etags.c to use locale-independent code
2115         Although this doesn't alter behavior (as etags doesn't use
2116         setlocale), the new version is more clearly locale-independent and
2117         the executable is a bit smaller on my platform.
2118         * lib-src/etags.c: Include <limits.h>, for UCHAR_MAX.
2119         Include <c-ctype.h> instead of <ctype.h>.
2120         (CHARS, CHAR, init, _wht, _nin, _itk, _btk, _etk, white, nonam, endtk)
2121         (begtk, midtk):
2122         Remove; no longer needed.
2123         (iswhite, ISALNUM, ISALPHA, ISDIGIT, ISLOWER, lowcase): Remove.
2124         All callers changed to use c_isspace, c_isalnum, c_isalpha, c_isdigit,
2125         c_islower, c_tolower, respectively.
2126         (notinname, begtoken, intoken, endtoken): Rewrite as functions
2127         instead of macros, and initialize the tables at compile-time
2128         rather than at run-time.
2130         Put default action first in src/Makefile
2131         * src/Makefile.in (all): Put this rule before lisp.mk.
2132         That way, plain 'make' works in the src directory again.
2134 2015-05-23  Glenn Morris  <rgm@gnu.org>
2136         * Makefile.in: Fix extraclean rule.
2137         (extraclean_dirs): New.
2138         (extraclean): Use it.
2140 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
2142         Avoid compiler warning in image.c on MS-Windows
2143         * src/w32term.h (x_query_color): Add prototype, to avoid compiler
2144         warning in image.c.
2146 2015-05-23  Glenn Morris  <rgm@gnu.org>
2148         Fix --without-toolkit-scroll-bars builds.
2149         * src/xterm.c (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]:
2150         Add new argument to x_clear_area1.
2151         (XTset_horizontal_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
2152         Update x_clear_area arguments.
2154         * admin/charsets/glibc/: New directory, imported from glibc 2.21.
2155         * admin/charsets/Makefile.in (GLIBC_CHARMAPS):
2156         Change to included version.
2157         (LOCAL, local, totalclean): Remove.
2158         (extraclean): Delete all generated files.
2160 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
2162         * lisp/pcmpl-cvs.el (pcmpl-cvs-entries): Don't assume CVS/Entries exists.
2164         * lisp/progmodes/xref.el (xref-find-apropos): Use read-string.
2166         tags-completion-at-point-function: Don't trust the find-tag function
2167         * lisp/progmodes/etags.el (tags-completion-at-point-function):
2168         Don't trust the find-tag function.
2170 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
2172         Pacify --enable-gcc-warnings
2173         * src/frame.h (x_query_color): Remove redundant extern decl.
2174         * src/ftcrfont.c (ftcrfont_glyph_extents, ftcrfont_list)
2175         (ftcrfont_match, ftcrfont_open, ftcrfont_close)
2176         (ftcrfont_text_extents, ftcrfont_draw):
2177         * src/xterm.c (x_set_window_size_1, *x_color_cells, x_update_end)
2178         (XTframe_up_to_date, x_clear_area1, x_clear_frame)
2179         (x_ins_del_lines, frame_highlight, frame_unhighlight)
2180         (x_new_focus_frame, x_focus_changed, XTframe_rehighlight)
2181         (x_draw_hollow_cursor, x_draw_bar_cursor, x_flush, x_update_begin)
2182         (x_update_window_begin, x_connection_closed)
2183         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
2184         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
2185         (*x_gc_get_ext_data, x_extension_initialize)
2186         (x_cr_accumulate_data):
2187         Remove redundant static decl.  Many of these GCC doesn't complain
2188         about, but we might as well clean out the duplication while we're
2189         in the neighborhood.
2190         * src/xterm.c (x_fill_trapezoid_for_relief):
2191         Remove decl of nonexistent function.
2193 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
2195         Replace gui-method macros with cl-generic with &context
2196         * lisp/frame.el (gui-method--name, gui-method, gui-method-define)
2197         (gui-method-declare, gui-call): Remove.
2198         (frame-creation-function): Use cl-defgeneric.
2199         (make-frame): Adjust callers.
2200         * lisp/menu-bar.el (menu-bar-edit-menu):
2201         Use gui-backend-selection-exists-p.
2202         * lisp/select.el (x-get-clipboard): Use gui-backend-get-selection.
2203         (gui-backend-get-selection): New cl-generic to replace
2204         gui-get-selection method.
2205         (gui-backend-set-selection): New cl-generic to replace
2206         gui-set-selection method.
2207         (gui-selection-owner-p): New cl-generic to replace
2208         gui-selection-owner-p method.
2209         (gui-backend-selection-exists-p): New cl-generic to replace
2210         gui-selection-exists-p method.  Adjust all callers.
2211         * lisp/server.el (server-create-window-system-frame): Don't ignore
2212         window-system spec even when unsupported.
2213         * lisp/simple.el (deactivate-mark): Use new gui-backend-* functions.
2214         * lisp/startup.el (handle-args-function, window-system-initialization):
2215         Use cl-defgeneric.
2216         (command-line): Adjust calls accordingly.
2217         * lisp/term/ns-win.el (ns-window-system-initialization): Turn into
2218         a window-system-initialization method.
2219         (handle-args-function, frame-creation-function): Use cl-defmethod.
2220         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
2221         (gui-get-selection): Use cl-defmethod on the new functions instead.
2222         * lisp/term/pc-win.el (w16-get-selection-value): Turn into
2223         a gui-backend-get-selection method.
2224         (gui-selection-exists-p, gui-selection-owner-p, gui-set-selection):
2225         Use cl-defmethod on the new functions instead.
2226         (msdos-window-system-initialization): Turn into
2227         a window-system-initialization method.
2228         (frame-creation-function, handle-args-function): Use cl-defmethod.
2229         * lisp/term/w32-win.el (w32-window-system-initialization): Turn into
2230         a window-system-initialization method.
2231         (handle-args-function, frame-creation-function): Use cl-defmethod.
2232         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
2233         (gui-get-selection): Use cl-defmethod on the new functions instead.
2234         * lisp/term/x-win.el (x-window-system-initialization): Turn into
2235         a window-system-initialization method.
2236         (handle-args-function, frame-creation-function): Use cl-defmethod.
2237         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
2238         (gui-get-selection): Use cl-defmethod on the new functions instead.
2239         * lisp/term/xterm.el (xterm--set-selection): Turn into
2240         a gui-backend-set-selection method.
2241         * src/nsselect.m (Fns_selection_exists_p): Remove unused arg `terminal'.
2242         (Fns_selection_owner_p): Remove unused arg `terminal'.
2243         (Fns_get_selection): Remove unused args `time_stamp' and `terminal'.
2245 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
2247         Revert "Fix etags Bug#20629 that broke C++ support."
2248         This reverts commit 13dd9d4f7e75d2c78aa5537cef09de03663e9748.
2250 2015-05-23  Jan D  <jan.h.d@swipnet.se>
2252         Fix etags Bug#20629 that broke C++ support.
2253         * etags.el (etags-xref-find-definitions-tag-order): Revert commit
2254         from Sun May 10 (Bug#20629).
2256         Merge branch 'cairo'.
2257         Main work done by YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>.
2258         Small fixes and image work by Jan D. <jan.h.d@swipnet.se>.
2260         Merge branch 'master' into cairo
2262         Fixes to compile cairo branch without cairo.
2263         * src/gtkutil.c (xg_update_scrollbar_pos): x_clear_area takes frame as
2264         first argument.
2265         * src/xterm.c (handle_one_xevent): Surround x_cr_destroy_surface with
2266         USE_CAIRO.
2268 2015-05-23  Artur Malabarba  <bruce.connor.am@gmail.com>
2270         * lisp/emacs-lisp/package.el: Always update selected-packages
2271         (package--update-selected-packages): New function.
2272         (package-menu-execute): Use it before starting the transaction,
2273         this way the list of selected packages is updated even when the
2274         transaction fails.
2275         (package-menu--perform-transaction): Don't edit selected-packages.
2277 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
2279         Fix etags reading of compressed files
2280         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Define.
2281         Include fcntl.h, for O_CLOEXEC.
2282         (process_file_name): Don't use 'popen', whose streams cannot be
2283         rewound.  Instead, uncompress the file to a temporary file,
2284         created by 'etags_mktmp', and read from that as usual.
2285         (etags_mktmp): New function.
2286         * test/etags/ETAGS.good_1:
2287         * test/etags/ETAGS.good_2:
2288         * test/etags/ETAGS.good_3:
2289         * test/etags/ETAGS.good_4:
2290         * test/etags/ETAGS.good_5: Update to be consistent with latest
2291         changes in etags.c regarding reading compressed files.
2293         Improve documentation of 'set-fontset-font'
2294         * doc/lispref/display.texi (Fontsets): Document the value of nil
2295         for the 3rd argument of 'set-fontset-font'.
2297         Fix documentation of forward-line
2298         * src/cmds.c (Fforward_line): Clarify the return value if the line
2299         at end of accessible portion of the buffer has no newline.
2300         * doc/lispref/positions.texi (Text Lines): Document what happens
2301         if the line at end of accessible portion of buffer has no newline.
2302         (Bug#20587)
2304 2015-05-22  Glenn Morris  <rgm@gnu.org>
2306         * admin/charsets/Makefile.in (TRANS_TABLE): Add short aliases.
2308         * admin/charsets/mapconv (LC_ALL): Set to C.
2310         * Makefile.in: Add admin/charsets into top-level clean rules.
2311         (clean): Add admin/charsets.
2312         (maybeclean_dirs): New variable.
2313         (distclean, bootstrap-clean, maintainer-clean): Use $maybeclean_dirs.
2315         * admin/charsets/Makefile.in (LOCAL, local): Fix members.
2317 2015-05-22  Artur Malabarba  <bruce.connor.am@gmail.com>
2319         * lisp/emacs-lisp/package.el (package-selected-packages): Fix doc
2321 2015-05-22  Glenn Morris  <rgm@gnu.org>
2323         Generate admin/charsets Makefile via configure, and make more portable.
2324         * configure.ac (SUBDIR_MAKEFILES): Add admin/charsets/Makefile.
2325         (admin/charsets/Makefile): Generate it.
2326         * admin/charsets/Makefile.in: Rename from Makefile.
2327         (AWK, srcdir, top_srcdir, AM_DEFAULT_VERBOSITY):
2328         New variables, set by configure.
2329         (charsetdir, lispintdir, mapfiledir, AM_V_GEN, am__v_GEN_)
2330         (am__v_GEN_0, am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0)
2331         (am__v_at_1, LOCAL, mapconv, run_mapconv, big5, compact, cp51932)
2332         (cp932, eucjp_ms, gb180302, gb180304, kuten): New variables.
2333         (TRANS_TABLE, CHARSETS): Add directory prefix to value.
2334         (all): Declare PHONY.
2335         (local): New PHONY target.
2336         (map_template): New template.  Use to define short PHONY aliases.
2337         (*.map): Add directory prefixes to targets and prerequisites.
2338         Respect make verbosity.
2339         (JISC6226.map): Replace non-portable sed append without newline.
2340         (install): Remove rule.
2341         (clean): Only delete temporary sedscript.
2342         (bootstrap-clean, distclean, maintainer-clean, extraclean)
2343         (totalclean): New PHONY rules.
2344         * admin/charsets/mapconv (BASE): Replace basename with expr.
2345         (FILE): Add "mapfiles" subdirectory.
2346         (AWK): New variable.  Use throughout in place of "awk".
2347         (main): Use "gunzip -c" in place of "zcat".
2348         Don't leave whitespace before "p", for older sed.
2349         * admin/charsets/mapfiles/PTCP154: Add final newline,
2350         to make older sed versions happy.
2352 2015-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
2354         * lisp/autorevert.el: Use lexical-binding.  Fix hook usage.
2355         (global-auto-revert-ignore-buffer, auto-revert-notify-modified-p)
2356         (auto-revert-notify-watch-descriptor): Use defvar-local.
2357         (find-file-hook, auto-revert-tail-mode, )
2358         (auto-revert-notify-add-watch): Use setq-local.
2359         (auto-revert-notify-add-watch): Don't call make-local-variable on
2360         kill-buffer-hook (bug#20601).
2362 2015-05-21  Stefan Monnier  <monnier@iro.umontreal.ca>
2364         Change defgeneric so it doesn't completely redefine the function
2365         * lisp/emacs-lisp/cl-generic.el (cl-generic-define): Don't throw away
2366         previously defined methods.
2367         (cl-generic-define-method): Let-bind purify-flag instead of using `fset'.
2368         (cl--generic-prefill-dispatchers): Only define during compilation.
2369         (cl-method-qualifiers): Remove redundant alias.
2370         (help-fns-short-filename): Silence byte-compiler.
2371         * test/automated/cl-generic-tests.el: Adjust to new defgeneric semantics.
2373 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
2375         (package-menu-execute): Remove reference to remove-dups
2377 2015-05-21  kwhite  <kwhite@gnu.org>
2379         * lisp/erc/erc.el: Hide network/channel messages
2380         (erc-network-hide-list, etc-channel-hide-list): New lists to define
2381         message types per network/channel.
2382         (erc-add-targets): New function to parse list of targets
2383         (erc-hide-current-message-p): Modified to check for new targets
2385 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
2387         Don't quote nil and t in doc strings
2388         This is as per "Tips for Documentation Strings" in the elisp manual.
2389         For consistency, do the same in diagnostics and comments.
2391 2015-05-21  Eli Zaretskii  <eliz@gnu.org>
2393         Fix a minor problem with mouse-face on mode line
2394         * src/xdisp.c (note_mode_line_or_margin_highlight): Reset the
2395         mouse face also if the mouse pointer hovers above mode-line glyphs
2396         that don't come from any Lisp string.  (Bug#20620)
2398 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
2400         * lisp/emacs-lisp/package.el: Fix selected-package logic
2401         (package-menu-execute): Mark as selected all non-upgrade packages
2402         being installed.
2403         (package-menu--perform-transaction): Don't mark anything.
2405         * lisp/emacs-lisp/package.el: Mode-line progress report
2406         (package-menu--transaction-status): New variable.
2407         (package-menu-mode, package-menu--perform-transaction): Use it.
2409         * lisp/emacs-lisp/package.el: Better transaction messages
2410         (package-menu--partition-transaction): New function.
2411         (package-menu--prompt-transaction-p, package-menu-execute): Use
2412         it.
2413         (package-menu--perform-transaction): Don't do any messaging.
2415         * lisp/emacs-lisp/package.el: Revert async package transactions
2416         (package-menu-async): Update doc.
2417         (package-install-from-archive, package-download-transaction)
2418         (package-install, package-menu--perform-transaction)
2419         (package-menu-execute): Remove asynchronous functionality.
2421 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
2423         Revert doc string changes to f90.el
2424         Problem reported by Glenn Morris in:
2425         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00596.html
2426         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
2427         Revert recent changes to doc strings, as it's intended that they
2428         use grave accent, not quote.
2430 2015-05-20  Bozhidar Batsov  <bozhidar@batsov.com>
2432         Improve parameter name
2434         Add new inline function `hash-table-empty-p'
2436 2015-05-20  Paul Eggert  <eggert@cs.ucla.edu>
2438         Don't require help-fns when not needed
2439         * lisp/emacs-lisp/autoload.el, lisp/emacs-lisp/advice.el:
2440         * lisp/emacs-lisp/elint.el:
2441         Don't require help-fns at the top level.
2442         * lisp/emacs-lisp/advice.el (ad-arglist):
2443         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
2444         Don't require help-fns.  (Bug#17001)
2446 2015-05-20  Eli Zaretskii  <eliz@gnu.org>
2448         Fix slash collapsing in etags on MS-Windows
2449         * lib-src/etags.c (canonicalize_filename) [DOS_NT]: Separate the
2450         MS-Windows code from the Posix code, and support collapsing both
2451         forward- and back-slashes on MS-Windows.  Fixes a regression found
2452         by the test suite.
2454         Improve documentation of glyphless-char-display
2455         * doc/lispref/display.texi (Glyphless Chars): Improve
2456         documentation of glyphless character display.
2458         Fix "acronym" display of glyphless characters on w32
2459         * src/w32term.c (x_draw_glyphless_glyph_string_foreground): Don't
2460         ignore "acronym" substitutes of 1 character for glyphless characters.
2462 2015-05-20  Oleh Krehel  <ohwoeowho@gmail.com>
2464         Add an automated test for let-when-compile
2465         * test/automated/subr-tests.el (let-when-compile): New test.
2467         Add let-when-compile macro instead of using pcase-let
2468         * lisp/subr.el (let-when-compile): New let-like macro that makes its
2469         bindings known to macros like `eval-when-compile' in the body.
2470         * lisp/emacs-lisp/lisp-mode.el: Change the top-level `pcase-let' to a
2471           `let-when-compile'. Also comment out the unused lexical var
2472           `el-kws-re'.
2473         The change greatly improves readability, while providing almost the
2474         same (even shorter) byte code: instead of pre-evaluating 10 variables,
2475         tossing them into a list, and destructuring that list a full screen
2476         page later, the variables are simply bound as they are evaluated,
2477         wrapped individually in `eval-when-compile'.
2479 2015-05-20  Artur Malabarba  <bruce.connor.am@gmail.com>
2481         * lisp/emacs-lisp/package.el: "Delete" button in Help buffer
2482         (package-delete-button-action): New function.
2483         (describe-package-1): Add Delete button.
2485         * lisp/emacs-lisp/package.el: Better dependency description
2486         (package--used-elsewhere-p): New optional arg, ALL, and return
2487         package-desc objects instead of names.
2488         (package-delete): Update accordingly.
2489         (describe-package-1): Describe which packages require the package.
2491 2015-05-20  Martin Rudalics  <rudalics@gmx.at>
2493         Fix handling and doc-string of FRAME arg of `other-buffer' (Bug#20533)
2494         * src/buffer.c (Fother_buffer): Argument FRAME must denote a live frame.
2495         Fix doc-string (Bug#20533).
2497         Improve `switch-to-buffer' in strongly dedicated windows (Bug#20472)
2498         * lisp/window.el (switch-to-buffer-in-dedicated-window): New option.
2499         (switch-to-buffer): If the selected window is strongly dedicated
2500         to its buffer, signal error before prompting for buffer name.  Handle
2501         `switch-to-buffer-in-dedicated-window'.  (Bug#20472)
2502         * doc/lispref/windows.texi (Switching Buffers): Document
2503         `switch-to-buffer-in-dedicated-window'.
2505 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
2507         Prefer "this" to “this” in doc strings
2508         This mostly just straightens quotes introduced in my previous patch.
2509         Suggested by Dmitry Gutov in:
2510         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00565.html
2511         * lisp/faces.el, lisp/gnus/gnus-group.el, lisp/ldefs-boot.el:
2512         * lisp/mail/supercite.el, lisp/net/tramp.el, lisp/recentf.el:
2513         * lisp/textmodes/artist.el, lisp/textmodes/rst.el:
2514         * lisp/textmodes/tildify.el, lisp/vc/ediff-util.el:
2515         * lisp/vc/log-edit.el, lisp/xt-mouse.el:
2516         Prefer straight double quotes to curved double quotes in doc strings.
2518         Fix minor quoting problems in doc strings
2519         These were glitches regardless of how or whether we tackle the
2520         problem of grave accent in doc strings.
2521         * lisp/calc/calc-aent.el (math-restore-placeholders):
2522         * lisp/ido.el (ido-ignore-buffers, ido-ignore-files):
2523         * lisp/leim/quail/cyrillic.el ("bulgarian-alt-phonetic"):
2524         * lisp/leim/quail/hebrew.el ("hebrew-new")
2525         ("hebrew-biblical-sil"):
2526         * lisp/leim/quail/thai.el ("thai-kesmanee"):
2527         * lisp/progmodes/idlw-shell.el (idlwave-shell-file-name-chars):
2528         Used curved quotes to avoid ambiguities like ‘`''’ in doc strings.
2529         * lisp/calendar/calendar.el (calendar-month-abbrev-array):
2530         * lisp/cedet/semantic/mru-bookmark.el (semantic-mrub-cache-flush-fcn):
2531         * lisp/cedet/semantic/symref.el (semantic-symref-tool-baseclass):
2532         * lisp/cedet/semantic/tag.el (semantic-tag-copy)
2533         (semantic-tag-components):
2534         * lisp/cedet/srecode/cpp.el (srecode-semantic-handle-:cpp):
2535         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
2536         * lisp/emacs-lisp/byte-opt.el (byte-optimize-all-constp):
2537         * lisp/emacs-lisp/checkdoc.el (checkdoc-message-text-engine):
2538         * lisp/emacs-lisp/generator.el (iter-next):
2539         * lisp/gnus/gnus-art.el (gnus-treat-strip-list-identifiers)
2540         (gnus-article-mode-syntax-table):
2541         * lisp/net/rlogin.el (rlogin-directory-tracking-mode):
2542         * lisp/net/soap-client.el (soap-wsdl-get):
2543         * lisp/net/telnet.el (telnet-mode):
2544         * lisp/org/org-compat.el (org-number-sequence):
2545         * lisp/org/org.el (org-remove-highlights-with-change)
2546         (org-structure-template-alist):
2547         * lisp/org/ox-html.el (org-html-link-org-files-as-html):
2548         * lisp/play/handwrite.el (handwrite-10pt, handwrite-11pt)
2549         (handwrite-12pt, handwrite-13pt):
2550         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
2551         * lisp/progmodes/idlwave.el (idlwave-mode, idlwave-check-abbrev):
2552         * lisp/progmodes/verilog-mode.el (verilog-tool)
2553         (verilog-string-replace-matches, verilog-preprocess)
2554         (verilog-auto-insert-lisp, verilog-auto-insert-last):
2555         * lisp/textmodes/makeinfo.el (makeinfo-options):
2556         * src/font.c (Ffont_spec):
2557         Fix minor quoting problems in doc strings, e.g., missing quote,
2558         ``x'' where `x' was meant, etc.
2559         * lisp/erc/erc-backend.el (erc-process-sentinel-2):
2560         Fix minor quoting problem in other string.
2561         * lisp/leim/quail/ethiopic.el ("ethiopic"):
2562         * lisp/term/tvi970.el (tvi970-set-keypad-mode):
2563         Omit unnecessary quotes.
2564         * lisp/faces.el (set-face-attribute, set-face-underline)
2565         (set-face-inverse-video, x-create-frame-with-faces):
2566         * lisp/gnus/gnus-group.el (gnus-group-nnimap-edit-acl):
2567         * lisp/mail/supercite.el (sc-attribs-%@-addresses)
2568         (sc-attribs-!-addresses, sc-attribs-<>-addresses):
2569         * lisp/net/tramp.el (tramp-methods):
2570         * lisp/recentf.el (recentf-show-file-shortcuts-flag):
2571         * lisp/textmodes/artist.el (artist-ellipse-right-char)
2572         (artist-ellipse-left-char, artist-vaporize-fuzziness)
2573         (artist-spray-chars, artist-mode, artist-replace-string)
2574         (artist-put-pixel, artist-text-see-thru):
2575         * lisp/vc/ediff-util.el (ediff-submit-report):
2576         * lisp/vc/log-edit.el (log-edit-changelog-full-paragraphs):
2577         Use double-quotes rather than TeX markup in doc strings.
2578         * lisp/skeleton.el (skeleton-pair-insert-maybe):
2579         Reword to avoid the need for grave accent and apostrophe.
2580         * lisp/xt-mouse.el (xterm-mouse-tracking-enable-sequence):
2581         Don't use grave and acute accents to quote.
2583 2015-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
2585         * emacs-lisp/generator.el (cps--gensym, cps--transform-1): Silence compiler
2587 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
2589         Try to port new etags tests to MS-Windows
2590         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
2591         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
2592         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
2593         Adjust to test-case changes below.
2594         * test/etags/Makefile (CSRC): Remove dostorture.c.
2595         Whatever it was trying to test, wasn't working portably.
2596         (LC_ALL): Remove.  Apparently there wasn't an encoding problem,
2597         just a line-ending problem.
2598         * test/etags/c-src/dostorture.c: Remove.
2599         * test/etags/cp-src/c.C: Remove stray CR.
2600         * test/etags/html-src/algrthms.html: Remove trailing CRs.
2601         State UTF-8 as the encoding.  The file is ASCII so it doesn't matter,
2602         but if someone edits it later it should stay UTF-8-compatible.
2604 2015-05-19  Eli Zaretskii  <eliz@gnu.org>
2606         Fix display of overlapping window-specific overlays
2607         * src/keyboard.c (adjust_point_for_property): When adjusting point
2608         due to display strings, ignore overlays that are specific to
2609         windows other than the currently selected one.
2610         * src/xdisp.c (handle_single_display_spec): If the display
2611         property comes from an overlay, arrange for buffer iteration to
2612         resume only after the end of that overlay.  (Bug#20607)
2614 2015-05-19  Dmitry Gutov  <dgutov@yandex.ru>
2616         New command icomplete-force-complete-and-exit
2617         * lisp/icomplete.el (icomplete-force-complete-and-exit):
2618         New command
2619         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00461.html)
2620         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00516.html).
2621         (icomplete-minibuffer-map): Bind C-j to it.
2622         (icomplete-forward-completions, icomplete-backward-completions):
2623         Mention the new command in the docstring.
2624         * lisp/minibuffer.el (minibuffer-force-complete-and-exit): Revert
2625         the previous fix for bug#17545.
2627 2015-05-19  Martin Rudalics  <rudalics@gmx.at>
2629         Fix last commit
2631         In Elisp manual explain how to override window manager positioning (Bug#20552)
2632         * doc/lispref/frames.texi (Position Parameters): Give example of
2633         how to override a window manager positioning decision.
2635         Clarify concept of "surrogate minibuffer frames" (Bug#20538)
2636         * src/frame.c (Fdelete_frame): In doc-string mention that frame
2637         can't be deleted if it has a surrogate minibuffer.
2638         * doc/lispref/frames.texi (Minibuffers and Frames)
2639         (Deleting Frames): Explain "surrogate minibuffer frames".
2641         In w32heap.c bump DUMPED_HEAP_SIZE to 19/12 MB
2642         * emacs-git/quick/src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 19/12 MB.
2644 2015-05-18  Glenn Morris  <rgm@gnu.org>
2646         Add option to ignore commit lines matching a pattern in ChangeLog.
2647         * build-aux/gitlog-to-changelog: Add --ignore-line option.
2648         * build-aux/gitlog-to-emacslog: Ignore lines matching '^; '.
2650 2015-05-18  Paul Eggert  <eggert@cs.ucla.edu>
2652         Don't skip new etags tests on non-UTF-8 hosts
2653         Problem reported by Eli Zaretskii for MS-Windows.
2654         * test/etags/Makefile (UTF8_LOCALE, UTF8_ENCODING): Remove.
2655         (LC_ALL): Set to C if the current locale isn't UTF-8.
2656         (.PHONY): Remove ediff_1 thru ediff_5.
2657         (check): Always run.
2659 2015-05-18  Glenn Morris  <rgm@gnu.org>
2661         * lisp/calculator.el (calculator-funcall):
2662         * lisp/textmodes/artist.el (artist-spray-random-points):
2663         Use standard degree/radian conversion utilities.
2665         Further lisp-complete-symbol related cleanup.
2666         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol):
2667         Unadvertise non-functional argument.  Replace obsolete alias.
2669 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
2671         Add a test case for Maven warning ouput
2672         * test/automated/compile-tests.el
2673         (compile-tests--test-regexps-data): Add a case for Maven warning
2674         ouput.
2675         (compile--test-error-line): Check the compilation message type, if
2676         it's specified in the test data.
2678 2015-05-18  Paul Pogonyshev  <pogonyshev@gmail.com>
2680         Update Maven compilation-mode entry to distinguish warnings
2681         * lisp/progmodes/compile.el
2682         (compilation-error-regexp-alist-alist): Update Maven entry to
2683         distinguish warnings (bug#20556).
2685 2015-05-18  Przemysław Wojnowski  <esperanto@cumego.com>
2687         * test/automated/sgml-mode-tests.el: New file.
2689 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
2691         Improve handling of the first Git revision
2692         * lisp/vc/log-view.el (log-view-toggle-entry-display): When
2693         there's no next entry, delete until the end of the buffer.
2694         (log-view-end-of-defun-1): Stop at eob.
2695         * lisp/vc/vc-annotate.el
2696         (vc-annotate-show-diff-revision-at-line-internal): Don't give up
2697         when previous-revision is nil.
2698         * lisp/vc/vc-git.el (vc-git-expanded-log-entry): End the arguments
2699         with `--' to avoid ambiguity.
2700         (vc-git-annotate-extract-revision-at-line): Exclude `^' from the
2701         returned revision string.
2702         (vc-git-annotate-time): Expect `^' before the first revision.
2703         * lisp/vc/vc-git.el (vc-git-diff): Diff against an empty tree if
2704         REV1 is nil, and REV2 is not.
2705         * lisp/vc/vc.el: Update the description of the `diff' function.
2707 2015-05-18  Oleh Krehel  <ohwoeowho@gmail.com>
2709         Allow checkdoc to be called in batch
2710         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When `noninteractive'
2711           is non-nil, echo the error with `warn'.
2712         How it can be used in -batch:
2713         (with-current-buffer (find-file "checkdoc.el")
2714           (checkdoc-current-buffer t))
2716 2015-05-18  Glenn Morris  <rgm@gnu.org>
2718         * lisp/calendar/solar.el (solar-ecliptic-coordinates): Use float-pi.
2720 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
2722         * admin/notes/unicode: New section "binary files".
2724         Change new etags test to use UTF-8 encoding
2725         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
2726         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
2727         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
2728         * test/etags/html-src/index.shtml, test/etags/html-src/software.html:
2729         * test/etags/html-src/softwarelibero.html:
2730         Switch to UTF-8 encoding.
2731         * test/etags/Makefile (SRCS): Adjust to switch to UTF-8.
2732         Remove Makefile, as it's too incestuous to have the test input
2733         include the build procedure.
2734         (UTF8_LOCALE, UTF_ENCODING): New macros.
2735         (LC_ALL): If possible, set to a UTF-8 encoding if not already UTF-8.
2736         (check): Skip if not UTF-8.
2737         (.PHONY): New rule.
2738         (FRC): Remove, as superseded by .PHONY.  All uses removed.
2739         (regexfile): Prefer printf to echo when outputting oddball chars.
2740         (.PRECIOUS): Remove, as these files are not built.
2742         Rename 'foo-gzipped' to 'foo.gz'
2743         * test/automated/data/decompress/foo.gz:
2744         Rename from test/automated/data/decompress/foo-gzipped,
2745         to make it easier for other tools to tell that it's compressed.
2746         * test/automated/zlib-tests.el (zlib--decompress):
2747         Adjust to renamed file.
2749 2015-05-17  Dmitry Gutov  <dgutov@yandex.ru>
2751         Set up default-directory
2752         * lisp/vc/vc-annotate.el (vc-annotate-mode-map): Remove duplicate
2753         binding for `v'.
2754         (vc-annotate-show-changeset-diff-revision-at-line): Set up an
2755         appropriate value for default-directory.
2757 2015-05-17  Samer Masterson  <samer@samertm.com>
2759         * lisp/eshell/em-term.el (eshell-term-sentinel):
2760         No-op by default, only kills term buffer if
2761         `eshell-destroy-buffer-when-process-dies' is non-nil.  (Bug#18108)
2762         (eshell-destroy-buffer-when-process-dies): New custom to preserve
2763         previous behavior.
2765         eshell: Introduce new buffer syntax
2766         The new buffer syntax '#<buffer-name>' is equivalent to '#<buffer
2767         buffer-name>'.  Remove `eshell-buffer-shorthand', as it is no longer
2768         needed (Bug#19319).
2769         * lisp/eshell/esh-io.el (eshell-buffer-shorthand): Remove.
2770         (eshell-get-target): Remove shorthand-specific code.
2771         * lisp/eshell/esh-arg.el (eshell-parse-special-reference): Parse
2772         '#<buffer-name>'.
2774 2015-05-17  Jan D  <jan.h.d@swipnet.se>
2776         Merge branch 'master' into cairo
2778 2015-04-26  Jan D  <jan.h.d@swipnet.se>
2780         Merge branch 'master' into cairo
2782         Add PBM support for cairo.
2783         * src/image.c (xcolor_to_argb32): New function.
2784         (get_spec_bg_or_alpha_as_argb): Call xcolor_to_argb32.
2785         (pbm_load, png_load_body, jpeg_load_body, gif_load): Only use
2786         XImagePtr if ! USE_CAIRO.
2787         (pbm_load): Add cairo support.
2789 2015-04-12  Jan D  <jan.h.d@swipnet.se>
2791         x_free_cr_resources: Renamed from x_prepare_for_xlibdraw.
2792         * src/xterm.c (x_free_cr_resources): Renamed from x_prepare_for_xlibdraw.
2793         (x_cr_draw_frame, x_cr_export_frames, x_shift_glyphs_for_insert)
2794         (x_free_frame_resources): Rename x_prepare_for_xlibdraw to
2795         x_free_cr_resources.
2797         Handle specified bg in images.  Use generic libpng code for PNG:s.
2798         * src/image.c (get_spec_bg_or_alpha_as_argb)
2799         (create_cairo_image_surface): New functions when USE_CAIRO.
2800         (xpm_load): Call the above functions.  Handle XPM without mask
2801         when USE_CAIRO.
2802         (png_load_body): Handle USE_CAIRO case.
2803         (png_load): Remove USE_CAIRO specific fuction, modify png_load_body
2804         instead.
2805         (jpeg_load_body): Call create_cairo_image_surface.
2806         (gif_load, svg_load_image): Handle specified background, call
2807         create_cairo_image_surface.
2808         * src/xterm.c (x_draw_image_glyph_string): Added missing USE_CAIRO.
2810 2015-04-11  Jan D  <jan.h.d@swipnet.se>
2812         Support GIF and Tiff with cairo.
2813         * configure.ac: Allow jpeg with cairo.
2814         Allow tiff and gif with cairo.
2815         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
2816         (tiff_load): Create cairo image surface if USE_CAIRO.
2817         (gif_load): Ditto.
2819         Support JPEG with USE_CAIRO.
2820         * configure.ac: Allow jpeg with cairo.
2821         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
2823 2015-04-05  Jan D  <jan.h.d@swipnet.se>
2825         Support RSVG and cairo.
2826         * configure.ac: Allow rsvg with cairo.  Move back HAVE_RSVG.
2827         * src/dispextern.h (struct image): add cr_data2 if cairo.
2828         * src/image.c: #undef COLOR_TABLE_SUPPORT when USE_CAIRO.
2829         (x_clear_image): Free cr_data and cr_data2 if set.
2830         (xpm_load): Assign data to cr_data2.
2831         (svg_load_image): Convert from GdkPixbuf to CAIRO_FORMAT_ARGB32.
2833 2015-04-03  Jan D  <jan.h.d@swipnet.se>
2835         Introduce limited Xpm support (32 bit ZPixmap) for Cairo.
2836         * configure.ac (HAVE_RSVG): Move after cairo.
2837         (USE_CAIRO): Disable rsvg, don't disable Xpm.
2838         * src/image.c (prepare_image_for_display): Don't load if USE_CAIRO.
2839         (x_clear_image): If USE_CAIRO, also free possible img->ximg->obdata and
2840         don't return early.
2841         (ALLOC_XPM_COLORS): Don't define when USE_CAIRO.
2842         (xpm_load): Convert simple Xpms (32 bit ZPixmap) to CAIRO_FORMAT_ARGB32
2843         and create a surface.
2845         Tool tips for menus did not show any text.
2846         * src/xterm.c (x_update_begin): Don't create any surface for non-visible
2847         tip frames, the geometry may be wrong.
2849         Merge branch 'master' into cairo, fixes tooltips not shown.
2851         Merge branch 'master' into cairo
2853         Add CAIRO_CFLAGS to lwlib/Makefile.in
2854         * Makefile.in (CAIRO_CFLAGS): Add.
2856 2015-02-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2858         * ftcrfont.c (ftcrfont_draw): Don't flush when drawing to screen.
2860 2015-02-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2862         Draw outermost line using black relief and erase corners also for cairo.
2863         * xterm.c [USE_CAIRO]: Include math.h.
2864         (enum corners) [USE_CAIRO]: New enum.
2865         (x_erase_corners_for_relief) [USE_CAIRO]: New function.
2866         (x_draw_relief_rect) [USE_CAIRO]: Use it.  If box width is larger
2867         than 1, draw the outermost line using the black relief.
2869         * xterm.c (x_fill_trapezoid_for_relief): Remove unnecessary cairo_close_path.
2871 2015-02-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2873         * xterm.c (x_draw_relief_rect) [USE_CAIRO]: Reset clipping.
2875         * xterm.c (x_draw_stretch_glyph_string): Call x_reset_clip_rectangles instead of XSetClipMask.
2877         Use int instead of unsigned int for width and height args.
2878         * xterm.c (x_cr_draw_image, x_fill_rectangle, x_draw_rectangle)
2879         (x_fill_trapezoid_for_relief): Use int instead of unsigned int for
2880         width and height args.
2882         Modernize k&r cairo-related function declarations.
2883         * gtkutil.c (xg_page_setup_dialog, xg_get_page_setup, draw_page)
2884         (xg_print_frames_dialog): Modernize k&r declarations.
2885         * xfns.c (Fx_export_frames, Fx_page_setup_dialog, Fx_get_page_setup)
2886         (Fx_print_frames_dialog): Modernize k&r declarations.
2887         * xterm.c (x_gc_get_ext_data, x_extension_initialize, x_begin_cr_clip)
2888         (x_end_cr_clip, x_set_cr_source_with_gc_foreground)
2889         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
2890         (x_cr_destroy_fringe_bitmap, x_cr_draw_frame, x_cr_accumulate_data)
2891         (x_cr_destroy, x_cr_export_frames, x_prepare_for_xlibdraw)
2892         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
2893         (x_draw_rectangle, x_clear_window, x_fill_trapezoid_for_relief)
2894         (x_clear_area): Modernize k&r declarations.
2896         Implement wave-style variant of underlining for cairo.
2897         * xterm.c (x_draw_horizontal_wave) [USE_CAIRO]: New function.
2898         (x_draw_underwave) [USE_CAIRO]: Use it.
2900         * xterm.c (x_draw_window_divider): Use x_fill_rectangle instead of XFillRectangle.
2902 2015-02-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2904         Fix fringe bitmap initialization for cairo.
2905         * fringe.c (init_fringe_bitmap) [USE_CAIRO]: Adjust bitmap data for
2906         cairo image surface.
2907         * xterm.c (x_cr_define_fringe_bitmap): Call cairo_surface_mark_dirty.
2909 2015-02-11  Jan D  <jan.h.d@swipnet.se>
2911         Add cairo drawing.
2912         * configure.ac (with-cairo): New option.
2913         (USE_CAIRO): Default to yes for Gtk+ 3.  Add code to test for cairo,
2914         set CAIRO_CFLAGS, CAIRO_LIBS.  Add ftcrfonto to FONT_OBJ if cairo.
2915         Output "Does Emacs use cairo?".
2916         * lisp/version.el (emacs-version): Add cairo version.
2917         * src/Makefile.in (CAIRO_CFLAGS, CAIRO_LIBS): New variables.
2918         (FONT_OBJ): Add comment about ftcrfont.
2919         (ALL_CFLAGS): Add CAIRO_CFLAGS.
2920         (LIBES): Add CAIRO_LIBS.
2921         * src/dispextern.h (struct image): Add cr_data for cairo.
2922         (x_cr_init_fringe): Declare.
2923         * src/font.c (syms_of_font): Call syms_of_ftcrfont for cairo.
2924         * src/font.h (ftcrfont_driver, syms_of_ftcrfont): Declare
2925         * src/fringe.c (x_cr_init_fringe): New function name that shares code
2926         with w32_init_fringe.
2927         * src/ftcrfont.c: New font driver for cairo, based on the ftfont driver.
2928         * src/ftfont.c (ftfont_info_size); New global variable.
2929         (ftfont_open2): New extern function almost the same as old ftfont_open,
2930         but takes the font_object as argument.
2931         (ftfont_open): Build font object and call ftfont_open2.
2932         * src/ftfont.h (ftfont_open2, ftfont_info_size): Declare.
2933         * src/gtkutil.c (xg_clear_under_internal_border)
2934         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos): Only
2935         queue_draw if not cairo.  Change args to x_clear_area.
2936         (xg_get_font): Use Qftcr when using cairo, Qxft otherwise.
2937         (xg_page_setup_dialog, xg_get_page_setup, draw_page)
2938         (xg_print_frames_dialog): New functions for printing.
2939         * src/gtkutil.h (xg_page_setup_dialog, xg_get_page_setup)
2940         (xg_print_frames_dialog): Declare.
2941         * src/image.c: Add defined (USE_CAIRO) for PNG.
2942         Add !defined USE_CAIRO for W32 PNG code.
2943         (x_clear_image): If cairo, destroy the surface in cr_data.
2944         (png_load): Add new cairo compatible implementation.
2945         (lookup_image_type): Add defined (USE_CAIRO) for define png_type.
2946         * src/xfns.c: New section Printing.
2947         (x-export-frames, x-page-setup-dialog, x-get-page-setup)
2948         (x-print-frames-dialog): New printing functions.
2949         (Fx_create_frame, x_create_tip_frame): Register ftcrfont if
2950         cairo.
2951         (syms_of_xfns): Defsym Qorientation, Qtop_margin, Qbottom_margin,
2952         Qportrait, Qlandscape, Qreverse_portrait, Qreverse_landscape).
2953         (syms_of_xfns): Provide cairo and defvar cairo-version-string.
2954         defsubr Sx_page_setup_dialog, Sx_get_page_setup, Sx_print_frames_dialog.
2955         * src/xterm.c (x_clear_area1, x_prepare_for_xlibdraw)
2956         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
2957         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
2958         (x_gc_get_ext_data, x_extension_initialize, x_cr_accumulate_data):
2959         Declare.
2960         (FRAME_CR_CONTEXT, FRAME_CR_SURFACE): New macros.
2961         (max_fringe_bmp, fringe_bmp): New variables.
2962         (x_gc_get_ext_data, x_extension_initialize)
2963         (x_cr_destroy_surface, x_begin_cr_clip, x_end_cr_clip)
2964         (x_set_cr_source_with_gc_foreground)
2965         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
2966         (x_cr_destroy_fringe_bitmap, x_cr_draw_image, x_cr_draw_frame)
2967         (x_cr_accumulate_data, x_cr_destroy, x_cr_export_frames)
2968         (x_prepare_for_xlibdraw, x_set_clip_rectangles)
2969         (x_reset_clip_rectangles, x_fill_rectangle, x_draw_rectangle)
2970         (x_clear_window, x_fill_trapezoid_for_relief): New functions.
2971         (x_update_begin): Create cairo surface if needed.
2972         (x_draw_vertical_window_border): Call x_fill_rectangle for cairo.
2973         (x_update_end): Paint cairo drawing surface to xlib surface.
2974         (x_clear_under_internal_border, x_after_update_window_line): Adjust
2975         arguments to x_clear_area.
2976         (x_draw_fringe_bitmap): Call x_fill_rectangle.  Get GC values and
2977         call x_cr_draw_image for cairo.  Call x_reset_clip_rectangles instead
2978         of XSetClipMask.
2979         (x_set_glyph_string_clipping)
2980         (x_set_glyph_string_clipping_exactly): Use x_set_clip_rectangles
2981         instead of XSetClipRectangles.
2982         (x_clear_glyph_string_rect, x_draw_glyph_string_background): Use
2983         x_fill_rectangle instead of XFillRectangle.
2984         (x_draw_glyph_string_foreground)
2985         (x_draw_composite_glyph_string_foreground)
2986         (x_draw_glyphless_glyph_string_foreground): Use x_draw_rectangle instead
2987         of XDrawRectangle.
2988         (x_draw_relief_rect): Add code for USE_CAIRO.
2989         Call x_reset_clip_rectangles instead of XSetClipMask.
2990         (x_draw_box_rect): x_set_clip_rectangles instead of XSetClipRectangles,
2991         x_fill_rectangle instead of XFillRectangle, x_reset_clip_rectangles
2992         instead of XSetClipMask.
2993         (x_draw_image_foreground, x_draw_image_foreground_1):
2994         x_draw_rectangle instead of XDrawRectangle.
2995         (x_draw_glyph_string_bg_rect): x_fill_rectangle instead of
2996         XFillRectangle.
2997         (x_draw_image_glyph_string): If img has cr_data, use it as
2998         a cairo surface.
2999         (x_draw_stretch_glyph_string): x_set_clip_rectangles instead of
3000         XSetClipRectangles, x_fill_rectangle instead of XFillRectangle.
3001         (x_draw_glyph_string): x_fill_rectangle instead of XFillRectangle.,
3002         x_reset_clip_rectangles instead of XSetClipMask.
3003         (x_shift_glyphs_for_insert): Call x_prepare_for_xlibdraw.
3004         (x_clear_area1): New function that calls XClearArea.
3005         (x_clear_area): Takes frame as parameter, calls x_clear_area1 for
3006         non-cairo.
3007         (x_clear_frame): x_clear_window instead of XClearWindow.
3008         (x_scroll_run): Set frame garbaged if cairo.
3009         (XTmouse_position): Initialize *part to 0.
3010         (x_scroll_bar_create): Adjust arguments to x_clear_area.
3011         (x_scroll_bar_set_handle): x_clear_area1 instead of x_clear_area,
3012         x_fill_rectangle instead of XFillRectangle.
3013         (XTset_vertical_scroll_bar, XTset_horizontal_scroll_bar): Adjust
3014         arguments to x_clear_area.
3015         (x_scroll_bar_expose): x_draw_rectangle instead of XDrawRectangle.
3016         (handle_one_xevent): Adjust arguments to x_clear_area.
3017         Destroy cairo surface for frame if ConfigureNotify.
3018         (x_clip_to_row): x_set_clip_rectangles instead of XSetClipRectangles.
3019         (x_draw_hollow_cursor): x_draw_rectangle instead of XDrawRectangle,
3020         x_reset_clip_rectangles instead of XSetClipMask.
3021         (x_draw_bar_cursor): x_fill_rectangle instead of XFillRectangle,
3022         x_reset_clip_rectangles instead of XSetClipMask.
3023         (x_clear_frame_area): Adjust arguments to x_clear_area.
3024         (x_free_frame_resources): Call x_prepare_for_xlibdraw.
3025         (x_term_init): Call x_extension_initialize if cairo.
3026         (x_redisplay_interface): Add x_cr_define_fringe_bitmap,
3027         x_cr_destroy_fringe_bitmap for cairo.
3028         (x_initialize): Call x_cr_init_fringe for cairo.
3029         * src/xterm.h: Add include of cairo header files.
3030         (x_bitmap_record): Add img if cairo.
3031         (x_gc_ext_data): New struct for cairo.
3032         (x_display_info): Add ext_codes for cairo.
3033         (x_output): Add cr_context and cr_surface for cairo.
3034         (x_clear_area): Change arguments from Display*/Window to frame pointer.
3035         (x_query_color, x_begin_cr_clip, x_end_cr_clip)
3036         (x_set_cr_source_with_gc_foreground, x_set_cr_source_with_gc_background)
3037         (x_cr_draw_frame, x_cr_export_frames): Declare.
3039 2015-05-17  Johan Bockgård  <bojohan@gnu.org>
3041         Fix integer-valued `mouse-highlight' (Bug#20590)
3042         * src/xterm.c (handle_one_xevent) [USE_GTK]: Fix ifdef scope.
3044 2015-05-17  Eli Zaretskii  <eliz@gnu.org>
3046         MS-Windows followup for ASCIIfication of curved quotes
3047         * lisp/term/w32console.el (terminal-init-w32console): Repeat the
3048         test for curved quotes being displayable, after switching the
3049         terminal encoding.  (Bug#20545)
3051 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
3053         Spelling fixes
3055 2015-05-17  Jan D  <jan.h.d@swipnet.se>
3057         Add comment that x_shift_glyphs_for_insert is never called.
3058         * xterm.c (x_shift_glyphs_for_insert, x_redisplay_interface): Add
3059         comment that this function is never called.
3061 2015-05-16  Glenn Morris  <rgm@gnu.org>
3063         * src/lisp.mk: Remove from repository and generate at build-time.
3064         * src/Makefile.in (lisp.mk): New rule to generate from loadup.el.
3065         (shortlisp_filter): New variable.
3066         (emacs$(EXEEXT), $(etc)/DOC): Depend on lisp.mk.
3067         (distclean): Remove lisp.mk.
3068         * Makefile.in ($(MAKEFILE_NAME)): No longer depend on src/lisp.mk.
3069         * lisp/loadup.el: Tweak layout to make it easier to parse.
3070         * make-dist: Do not distribute src/lisp.mk.
3072 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
3074         Display shorter dates in Git annotate output
3075         * lisp/vc/vc-git.el (vc-git-annotate-command): Use the short date
3076         format (when not overridden with vc-git-annotate-switches).
3077         (vc-git-annotate-time): Support the short format, as well as ISO
3078         8601 that has been used until now (bug#5428).
3080 2015-05-16  Paul Eggert  <eggert@cs.ucla.edu>
3082         ASCIIfy curved quotes on displays lacking them
3083         * lisp/international/mule-cmds.el (set-locale-environment):
3084         If curved quotes don't work, display straight ASCII approximations
3085         (Bug#20545).
3087 2015-05-16  Glenn Morris  <rgm@gnu.org>
3089         Small src/Makefile simplification.
3090         * src/lisp.mk (shortlisp): Rename from lisp, remove $lispsource prefix.
3091         * src/Makefile.in (lisp): Derive from shortlisp.
3092         ($(etc)/DOC): Use $shortlisp rather than parsing lisp.mk.
3094 2015-05-16  Eli Zaretskii  <eliz@gnu.org>
3096         * lisp/help-mode.el (help-go-forward): Doc fix.
3097         (Bug#20577)
3099         * doc/lispref/debugging.texi (Profiling): Improve indexing.
3100         (Bug#20576)
3102 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
3104         Use `unless' to have one fewer `not'
3105         * lisp/vc/vc-git.el (vc-git-resolve-when-done): Use `unless' to
3106         have one fewer `not'.
3108         Remove redundant :group declarations from vc-git.el
3109         * lisp/vc/vc-git.el (vc-git-diff-switches)
3110         (vc-git-annotate-switches, vc-git-resolve-conflicts)
3111         (vc-git-program, vc-git-root-log-format): Remove the redundant
3112         :group declarations.
3114 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
3116         Removes the predicate from lisp-complete-symbol (Bug#20456)
3117         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol): Do not use predicate
3118         and remove it from the docstring.
3120 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
3122         Add new option vc-git-resolve-conflicts
3123         * lisp/vc/vc-git.el (vc-git-resolve-conflicts): New variable.
3124         (vc-git-find-file-hook): Add to after-save-hook only when the
3125         above is non-nil.
3126         (vc-git-resolve-when-done): Update to honor the new variable.
3127         (Bug#20292)
3129 2015-05-16  Artur Malabarba  <bruce.connor.am@gmail.com>
3131         * lisp/emacs-lisp/tabulated-list.el: Don't error on nil header-string
3132         (tabulated-list-init-header): Document new behavior.
3133         (tabulated-list-print-fake-header): No nothing if
3134         `tabulated-list--header-string' is nil.
3135         (tabulated-list--header-string): Add a docstring.
3136         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
3137         * etc/NEWS: Document it.
3139 2015-05-15  Leo Liu  <sdl.web@gmail.com>
3141         Revert "Fix cps--gensym"
3142         * lisp/emacs-lisp/generator.el (cps--gensym): Revert commit
3143           fbda511ab8069d0115eafca411a43353b85431b1 on 2015-05-14.
3145 2015-05-15  Glenn Morris  <rgm@gnu.org>
3147         Replace AC_SUBST_FILE in configure with include in Makefiles.
3148         * configure.ac (DEPDIR, MKDEPDIR, deps_frag, lwlib_deps_frag)
3149         (oldxmenu_deps_frag, lisp_frag): Remove output variables/files.
3150         (AUTO_DEPEND): New output variable.
3151         * lwlib/Makefile.in (AUTO_DEPEND): New, set by configure.
3152         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
3153         (lwlib_deps_frag): Replace by conditional include.
3154         * lwlib/autodeps.mk: Remove file.
3155         * oldXMenu/Makefile.in (AUTO_DEPEND): New, set by configure.
3156         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
3157         (oldxmenu_deps_frag): Replace by conditional include.
3158         * oldXMenu/autodeps.mk: Remove file.
3159         * src/Makefile.in (AUTO_DEPEND): New, set by configure.
3160         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
3161         (lisp_frag): Replace by an include.
3162         (deps_frag): Replace by conditional include.
3163         * src/autodeps.mk: Remove file.
3165         Tweak japanese.el's loading of dependencies.
3166         * lisp/loadup.el: Explicitly load cp51932 and eucjp-ms.
3167         * lisp/language/japanese.el: Use require rather than load.
3168         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
3169         Provide a feature.
3170         * admin/charsets/eucjp-ms.awk, admin/charsets/cp51932.awk:
3171         Provide a feature in the generated file.
3173 2015-05-15  Jan D  <jan.h.d@swipnet.se>
3175         Fix NS warnings.
3176         * nsmenu.m (ns_popup_dialog)
3177         * nsimage.m (initFromXBM:width:height:fg:bg:)
3178         * nsfns.m (Fx_create_frame): Remove unused variables.
3179         (Fns_read_file_name): Initialize fname, remove ret.
3180         * nsterm.m (ns_draw_window_cursor): Handle DEFAULT_CURSOR in switch.
3181         (ns_get_color, ns_set_horizontal_scroll_bar, keyDown): Remove unused
3182         variable.
3183         (init): Add parantesis in if.
3184         (ns_create_terminal): Assign set_horizontal_scroll_bar_hook.
3186 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
3188         Fix a enum conversion warning in macfont.m
3189         * src/macfont.h (CharacterCollection): Typedef to NSCharacterCollection.
3190         (MAC_CHARACTER_COLLECTION_*): Use the NS variants.
3192 2015-05-15  Eli Zaretskii  <eliz@gnu.org>
3194         Support de-alt dictionary with Aspell.
3195         * lisp/textmodes/ispell.el (ispell-aspell-find-dictionary):
3196         Support Aspell dictionaries with names like "de-alt".  (Bug#20581)
3198 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
3200         cus-start.el: Add ns-confirm-quit.
3201         * cus-start.el: Add ns-confirm-quit.
3203         Fix warnings on OSX 10.10.
3204         * nsfns.m (MODAL_OK_RESPONSE): New define for different OSX versions.
3205         (Fns_read_file_name): Check against MODAL_OK_RESPONSE.
3206         (compute_tip_xy): Use convertRectToScreen for OSX >= 10.7
3207         * nsmenu.m (initWithContentRect:styleMask:backing:defer:)
3208         * nsimage.m (allocInitFromFile, setPixmapData): Only call
3209         setScalesWhenResized for OSX < 10.6.
3210         * nsterm.h (EmacsScroller): Declare scrollerWidth.
3211         * nsterm.m (ns_copy_bits): New function that does not use deprecated
3212         NSCopyBits.
3213         (ns_scroll_run, ns_shift_glyphs_for_insert): Call ns_copy_bits.
3214         (runAlertPanel): New function.
3215         (applicationShouldTerminate:): Call runAlertPanel.
3216         (initFrameFromEmacs, toggleFullScreen:): Only call useOptimizedDrawing
3217         for OSX < 10.10.
3218         (initFrameFromEmacs:): Only call allocateGState for OSX < 10.10.
3219         (windowWillUseStandardFrame:defaultFrame:): Cast arg to abs to int.
3220         (draggingEntered:): Returns NSDragOperation.
3221         (scrollerWidth): Use scrollerWidthForControlSize for OSX >= 10.7.
3223 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
3225         * lisp/emacs-lisp/package.el: Don't ensure-init during startup
3226         (package--init-file-ensured): New variable.
3227         (package-initialize, package--ensure-init-file): Use it.
3229 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
3231         Honor :fore/background for XBM on NS (Bug#14969).
3232         * nsterm.h (EmacsImage): Add xbm_fg, remove initFromSkipXBM,
3233         initFromXBM takes bg, fg args, remove flip arg.
3234         (ns_image_from_XBM): Add bg, fg args.
3235         * image.c (x_create_bitmap_from_data)
3236         (Create_Pixmap_From_Bitmap_Data): ns_image_from_XBM takes bg, fg args.
3237         * nsimage.m (ns_image_from_XBM): Add fg, bg args, pass to initFromXBM.
3238         Remove flip arg.
3239         (initFromSkipXBM): Move code to initFromXBM.
3240         (initFromXBM): Actually set fg and bg, instead of playing alpha games.
3241         Use fg, bg from args (Bug#14969).  Remove if (length) section, was always
3242         false.
3243         Remove bit flipping (bitPat, swt), generated incorrect images when
3244         width/height wasn't a multiple of 8.
3245         (setXBMColor:): Modify planes by comparing to saved xbm_fg.
3246         * nsterm.m (ns_draw_fringe_bitmap): initFromXBM takes fg, bg args, remove
3247         flip arg.
3249 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
3251         * lisp/emacs-lisp/package.el: Be more careful with the init file
3252         (package--ensure-init-file): Check that user-init-file is set,
3253         exists, is readable, and is writable.  (Bug#20584)
3254         Also expand the docstring.
3256 2015-05-14  Wilson Snyder  <wsnyder@wsnyder.org>
3258         Sync with upstream verilog-mode revision 6232468
3259         * lisp/progmodes/verilog-mode.el (verilog-font-lock-grouping-keywords-face)
3260         (verilog-highlight-grouping-keywords): Fix use of face when
3261         `verilog-highlight-grouping-keywords' set.  Reported by Jeff
3262         Pompa.
3263         (verilog-auto-reset): Fix AUTORESET to ignore member resets if
3264         parent is reset, bug906. Reported by Ken Schmidt.
3265         (verilog-auto-inout-module): Add fourth regexp argument to
3266         AUTOINOUTMODULE and AUTOINOUTCOMP for signals to not match,
3267         bug856. Reported by John Tillema.
3268         (verilog-auto-inst-port): Fix AUTOINST interfaces to not show
3269         modport if signal attachment is itself a modport.  Reported by
3270         Matthew Lovell.
3271         (verilog-auto-reset, verilog-auto-sense-sigs): Fix AUTORESET with
3272         always_comb and always_latch, bug844.  Reported by Greg Hilton.
3273         (verilog-at-constraint-p, verilog-beg-of-statement-1): Fix hanging
3274         with many curly-bracket pairs, bug663.
3275         (verilog-set-auto-endcomments): Fix end comments for functions of
3276         type void, etc.  Reported by Alex Reed.
3277         (verilog-do-indent): Fix electric tab deleting form-feeds.  Note
3278         caused by indent-line-to deleting tabls pre 24.5.
3279         (verilog-nameable-item-re): Fix nameable items that can have an
3280         end-identifier to include endchecker, endgroup, endprogram,
3281         endproperty, and endsequence.  Reported by Alex Reed.
3282         (verilog-label-be): When auto-commenting a buffer, consider
3283         auto-comments on all known keywords (not just a subset thereof).
3284         Reported by Alex Reed.
3285         (verilog-auto-end-comment-lines-re)
3286         (verilog-end-block-ordered-re, verilog-set-auto-endcomments):
3287         Automatically comment property/endproperty blocks to match other
3288         similar blocks like sequence/endsequence, function/endfunction,
3289         etc. Reported by Alex Reed.
3290         (verilog-set-auto-endcomments): Detect the function- or task-name
3291         when auto-commenting blocks that lack an explicit
3292         portlist. Reported by Alex Reed.
3293         (verilog-auto, verilog-auto-insert-last): Add AUTOINSERTLAST to
3294         allow post-AUTO user fixups, bug826. Reported by Dennis
3295         Muhlestein.
3296         (verilog-no-indent-begin-re): When `verilog-indent-begin-after-if'
3297         is nil, fix indenting initial/final to match always statements,
3298         bug825. Reported by Tim Clapp.
3299         (verilog-extended-complete-re): Fix indentation of DPI-C imports
3300         with c_identifiers, and DPI-C imports, bug557. Reported by ZeDong
3301         Mao and Jason Forkey.
3302         (verilog-read-decls): Fix parsing typed interfaces.  Fix
3303         AUTOINOUTMODPORT missing types.  Reported by Stephan Bourduas.
3304         Fix localparam not being ignored in AUTOINSTPARAM,
3305         bug889. Reported by Shannon Hill.
3306         (verilog-auto-output-every): Add regexp to AUTOOUTPUTEVERY,
3307         bug793.  Reported by Pierre-David Pfister.
3308         (verilog-auto-arg-format, verilog-auto-arg-ports): Add
3309         verilog-auto-arg-format to support newlines in AUTOARG. Reported
3310         by Jie Xiao.
3311         (verilog-batch-execute-func): Do not batch re-auto files loaded by
3312         Local Variables. Fix printing "no changes to be saved" with
3313         verilog-batch. Reported by Dan Dever.
3314         (verilog-auto-inout-module): Fix AUTOINOUTMODULE not inserting
3315         interface-only modules, bug721.  Reported by Dean Hoyt.
3316         Author: Alex Reed <acreed4@gmail.com>
3317         * lisp/progmodes/verilog-mode.el (verilog-beg-of-statement): Don't
3318         treat '<keyword>:<identifier>' as the start of a labeled
3319         statement, bug905.  Reported by Enzo Chi.
3320         (verilog-directive-re, verilog-compiler-directives)
3321         (verilog-keywords): Match full set of IEEE 2012-1800 compiler
3322         directives (plus some extras) when determining indentation, bug
3323         901.  Reported by Bernd Beuster.
3324         (verilog-at-constraint-p): Fix indentation of coverpoint bins if
3325         iff expression doesn't start with word-character, bug900.
3326         (verilog-optional-signed-range-re, verilog-optional-signed-re):
3327         Fix incorrect indentation/alignment of unsigned declarations,
3328         bug897.
3329         (verilog-looking-back, verilog-in-attribute-p): Fix labling of
3330         always constructs, bug895.
3331         (verilog-calc-1): Fix verilog-mode constraint indentation,
3332         bug324. Reported by Eric Mastromarchi.
3333         (verilog-beg-of-statement): Fix indenting for some forms of
3334         constraintsm bug433.  Reported by Brad Parker.  Fix indentation of
3335         continued assignment incorrect if first line ends with ']',
3336         bug437. Reported by Dan Dever.  Fix indention of cover inside an
3337         ifdef, bug 862. Reported by Bernd Beuster Fix labeling do-while
3338         blocks, bug842.
3339         (verilog-preprocessor-re): Fix fork/end UNMATCHED warning,
3340         bug859. Reported by Kaushal Modi.
3341         (verilog-set-auto-endcomments): Fix endlabel end comments, bug888.
3342         (verilog-backward-token): Fix indenting sensitivity lists with
3343         named events, bug840.  Reed.
3344         (verilog-no-indent-begin-re): Fix `verilog-indent-begin-after-if'
3345         nil not honoring 'forever', 'foreach', and 'do' keywords.
3347 2015-05-14  Paul Eggert  <eggert@cs.ucla.edu>
3349         Check for invalid GTK+ monitor scales
3350         * src/gtkutil.c (xg_get_gdk_scale): Return 1 for invalid scales,
3351         INT_MAX for too-large scales.  All callers changed to assume the
3352         result is valid (Bug#20432).
3353         (xg_frame_set_char_size, xg_update_scrollbar_pos):
3354         Calculate scale only if needed.
3355         show ASCII approximations instead.
3357 2015-05-14  Eli Zaretskii  <eliz@gnu.org>
3359         Fix daemon crashes when linum-mode is turned on early on
3360         * src/window.c (Fwindow_end): Don't try calling display engine
3361         functions on initial-frame frame.  (Bug#20565)
3363         Fix selective diff browsing in Ediff
3364         * lisp/vc/ediff-util.el (ediff-focus-on-regexp-matches): Go to the
3365         beginning of the region before searching for the
3366         ediff-regexp-focus-* regexps.  (Bug#20568)
3368 2015-05-14  Jan D  <jan.h.d@swipnet.se>
3370         Fixes Bug#20142.
3371         * gtkutil.c (delete_cb): Don't send delete event here, it does arrive
3372         in the main loop, even for Gtk 3 (Bug#20142).
3374         Don't access display after i/o error (Bug#19147).
3375         * xterm.c (x_connection_closed): Add third arg ioerror.
3376         If ioerror, set display to 0 (Bug#19147).
3377         (x_error_quitter): Call x_connection_closed with third arg false.
3378         (x_io_error_quitter): Call x_connection_closed with third arg true.
3380         Handle GTK_SCALE, fixes Bug#20432.
3381         * gtkutil.c (xg_get_gdk_scale): New function.
3382         (xg_frame_set_char_size)
3383         (x_wm_set_size_hint, xg_get_default_scrollbar_width)
3384         (xg_get_default_scrollbar_height)
3385         (xg_update_horizontal_scrollbar_pos): Take GTK_SCALE in to account
3386         when setting sizes (Bug#20432).
3388 2015-05-13  Leo Liu  <sdl.web@gmail.com>
3390         Fix cps--gensym
3391         * lisp/emacs-lisp/generator.el (cps--gensym): Fix.
3393 2015-05-13  Glenn Morris  <rgm@gnu.org>
3395         Fix bootstrap (void function cl-member).
3396         * lisp/emacs-lisp/cl-lib.el: Load cl-seq if no cl-loaddefs file.
3397         * lisp/emacs-lisp/cl-seq.el: Provide a feature.
3399 2015-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
3401         * lisp/loadup.el ("emacs-lisp/cl-generic"): Preload
3402         * src/lisp.mk (lisp): Add emacs-lisp/cl-generic.elc.
3403         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method):
3404         Avoid defalias for closures which are not immutable.
3405         (cl--generic-prefill-dispatchers): New macro.  Use it to prefill the
3406         dispatchers table with various entries.
3407         * lisp/emacs-lisp/ert.el (emacs-lisp-mode-hook):
3408         * lisp/emacs-lisp/seq.el (emacs-lisp-mode-hook): Use add-hook.
3410 2015-05-13  Eli Zaretskii  <eliz@gnu.org>
3412         Improve tagging of C bindings in DEFVAR_*
3413         * src/Makefile.in (TAGS): Add --regex options to tag the C binding
3414         from DEFVAR_*.
3416 2015-05-13  Paul Eggert  <eggert@cs.ucla.edu>
3418         * src/editfns.c (Fformat): Fix use-after-free bug (Bug#20548).
3420 2015-05-12  Glenn Morris  <rgm@gnu.org>
3422         * lisp/progmodes/tcl.el (tcl-filter):
3423         Handle comint-prompt-read-only like gud.el does.  (Bug#20549)
3425         Add basic VC push support.
3426         * lisp/vc/vc.el (vc-push): New autoloaded command.
3427         * lisp/vc/vc-hooks.el (vc-prefix-map, vc-menu-map): Add vc-push.
3428         * lisp/vc/vc-bzr.el (vc-bzr--pushpull): New, factored from vc-bzr-pull.
3429         (vc-bzr-pull): Reimplement using vc-bzr--pushpull.
3430         (vc-bzr-push): New.
3431         * lisp/vc/vc-git.el (vc-git--pushpull): New, factored from vc-git-pull.
3432         (vc-git-pull): Reimplement using vc-git--pushpull.
3433         (vc-git-push): New.
3434         * lisp/vc/vc-hg.el (vc-hg--pushpull): New, factored from vc-hg-pull.
3435         (vc-hg-pull, vc-hg-push): Reimplement using vc-hg--pushpull.
3436         * doc/emacs/maintaining.texi (Pulling / Pushing):
3437         Rename from "VC Pull".  Mention pushing.
3438         (VC With A Merging VCS, VC Change Log): Update xrefs.
3439         (Branches): Update menu.
3440         * doc/emacs/emacs.texi: Update menu.
3441         * etc/NEWS: Mention this.
3443 2015-05-12  Nicolas Petton  <nicolas@petton.fr>
3445         Improve the seq pcase pattern and the `seq-let' macro
3446         * lisp/emacs-lisp/seq.el: The pcase pattern now matches only if the
3447         object is a sequence, and binds each element of ARGS to the
3448         corresponding element of the sequence.
3450 2015-05-12  Eli Zaretskii  <eliz@gnu.org>
3452         Fix tags created from DEFVAR_* declarations in C
3453         * src/Makefile.in (TAGS): Improve the --regex argument to etags,
3454         to make tags extracted from DEFVAR_* declarations more accurate.
3456         Add a test suite for etags
3457         * test/etags/: New test suite, adapted from
3458         http://fly.isti.cnr.it/pub/software/unix/etags-regression-test.tar.bz2,
3459         whose original author is Francesco Potortì <pot@gnu.org>.
3461         Fix tagging of symbols in C enumerations
3462         * lib-src/etags.c (consider_token): Don't tag symbols in
3463         expressions that assign values to enum constants.  See
3464         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00291.html
3465         for details.
3466         (C_entries): Reset fvdef to fvnone after processing a preprocessor
3467         conditional and after a comma outside of parentheses.
3469 2015-05-12  Glenn Morris  <rgm@gnu.org>
3471         * lisp/url/url-handlers.el (url-file-name-completion)
3472         (url-file-name-all-completions): Silence compiler.
3474         * lisp/emacs-lisp/chart.el (chart-axis-draw): Replace obsolete alias.
3476         * lisp/play/dunnet.el (dun-dos-boot-msg): Fix time.  (Bug#20554)
3478 2015-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
3480         * lisp/emacs-lisp/cl-generic.el: Add dispatch on &context arguments
3481         (cl--generic-mandatory-args): Remove.
3482         (cl--generic-split-args): New function.
3483         (cl-generic-define, cl--generic-lambda): Use it.
3484         (cl-generic-define-method): Use it as well, and add support for
3485         context args.
3486         (cl--generic-get-dispatcher): Handle &context dispatch.
3487         (cl--generic-cache-miss): `dispatch-arg' can now be a context expression.
3488         (cl--generic-dispatchers): Pre-fill.
3489         * test/automated/cl-generic-tests.el (sm-generic-test-12-context): New test.
3491 2015-05-11  Glenn Morris  <rgm@gnu.org>
3493         * make-dist: Abort if "make ChangeLog" fails.  Add "--no-changelog".
3495 2015-05-11  Stefan Monnier  <monnier@iro.umontreal.ca>
3497         * lisp/term/xterm.el: Fix xterm-paste handling for rxvt
3498         * lisp/term/rxvt.el: Require term/xterm.
3499         (rxvt-function-map): Use xterm-rxvt-function-map.
3500         (rxvt-standard-colors): Move before first use.
3501         (terminal-init-rxvt): Use xterm--push-map and xterm-register-default-colors.
3502         (rxvt-rgb-convert-to-16bit, rxvt-register-default-colors): Remove.
3503         * lisp/term/xterm.el (xterm-rxvt-function-map): New var.
3504         Move shared bindings between rxvt and xterm to it.
3505         (xterm-function-map): Use it.  Move the xterm-paste binding to
3506         xterm-rxvt-function-map (bug#20444).
3507         (xterm-standard-colors): Move before first use.
3508         (xterm--push-map): New function.
3509         (xterm-register-default-colors): Take standard colors as argument.
3510         (terminal-init-xterm): Use it.  Adjust call to
3511         xterm-register-default-colors.
3513 2015-05-11  Glenn Morris  <rgm@gnu.org>
3515         * lisp/term/x-win.el: Quieten --without-x compilation.
3516         (x-own-selection-internal, x-disown-selection-internal)
3517         (x-selection-owner-p, x-selection-exists-p, x-get-selection-internal):
3518         Declare.
3520         * Makefile.in (emacslog): Remove srcdir.
3521         (ChangeLog): Update for the above.
3523 2015-05-11  Paul Eggert  <eggert@cs.ucla.edu>
3525         Spelling fix
3527 2015-05-10  Fabián Ezequiel Gallina  <fgallina@gnu.org>
3529         python.el: better limit for looking-back calls
3530         * lisp/progmodes/python.el (python-shell-accept-process-output):
3531         Use last comint prompt start as limit for looking-back.
3533 2015-05-10  Stefan Monnier  <monnier@iro.umontreal.ca>
3535         CEDET (srecode-insert-fcn): Fix use of oref on a class
3536         * lisp/cedet/srecode/insert.el (srecode-insert-fcn): Fix use of oref on
3537         a class.  Reported by Pierre Lorenzon.
3538         (srecode-template-inserter-point): Remove declaration.
3540         CEDET (srecode-create-dictionary): Avoid obsolete object name
3541         * lisp/cedet/srecode/dictionary.el (srecode-create-dictionary):
3542         Don't use a symbol as an object name.  Reported by Pierre Lorenzon.
3544 2015-05-10  Paul Eggert  <eggert@cs.ucla.edu>
3546         C-x 8 shorthands for curved quotes, Euro, etc.
3547         Although C-x 8 lets you insert arbitrary Unicode characters,
3548         it's awkward to use this to insert commonly used symbols such as curved
3549         quotes, the Euro symbol, etc.  This patch adds simpler sequences for
3550         characters commonly found in English text and in basic math.
3551         For example, assuming the Alt key works on your keyboard and iso-transl
3552         is loaded, one can now type "A-[" instead of "A-RET LEFT SIN TAB RET"
3553         to get the character "‘" (U+2018 LEFT SINGLE QUOTATION MARK).
3554         (Bug#20499)
3555         * doc/emacs/mule.texi (Unibyte Mode):
3556         A few other printing characters now work too.
3557         * etc/NEWS: Document this.
3558         * lisp/international/iso-transl.el (iso-transl-char-map):
3559         Also support the following characters:
3560         ‐ ‑ ‒ – — ― ‘ ’ “ ” † ‡ • ′ ″ € № ← → ↔ − ≈ ≠ ≤ ≥
3562 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
3564         Add xref-find-regexp
3565         * lisp/progmodes/xref.el (xref-find-function): Describe the
3566         `matches' action.
3567         (xref-find-regexp): New command, using it.
3568         (xref-collect-references): Rename to xref-collect-matches.
3569         (xref--collect-reference): Rename to xref--collect-match.
3570         (xref-collect-matches, xref--collect-match): Accept new argument,
3571         KIND.  Update accordingly.
3572         (xref--regexp-to-extended): New function.
3573         * lisp/progmodes/elisp-mode.el (elisp-xref-find): Support the
3574         `matches' action.
3575         (elisp--xref-find-matches): Accept new argument.  Resolve a FIXME.
3576         * lisp/progmodes/etags.el (etags-xref-find):
3577         Support the `matches' action.
3578         (etags--xref-find-matches): New function.
3580 2015-05-10  Glenn Morris  <rgm@gnu.org>
3582         * Makefile.in: Fixes for recent change-history changes.
3583         (change-history-nocommit): Update footer regexp.
3584         Ensure output script stays executable.
3586 2015-05-10  Nicolas Petton  <nicolas@petton.fr>
3588         New version of `seq-let' based on a pcase pattern
3589         * lisp/emacs-lisp/seq.el (seq-let): Define the macro in terms of a
3590         pcase pattern if `pcase-defmacro' is defined (Emacs>=25.1).
3592 2015-05-10  Przemysław Wojnowski  <esperanto@cumego.com>
3594         Add basic HTML5 tags and a template
3595         * lisp/textmodes/sgml-mode.el: Basic HTML5 support.
3596         (html-tag-alist): Add HTML5 tags.
3597         (html-tag-help): Add new tags descriptions.
3598         (html-navigational-links): Template for nav links.
3599         (html-html5-template): Template for a HTML5 page.
3601 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
3603         semantic/symref/grep: Don't use word boundaries
3604         * lisp/cedet/semantic/symref/grep.el
3605         (semantic-symref-perform-search): Instead of wrapping input in
3606         word boundaries, check that the characters before and after are
3607         not word constituents.
3609         semantic/symref/grep: Support regexp search
3610         * lisp/cedet/semantic/symref.el
3611         (semantic-symref-hit-to-tag-via-buffer): Don't regexp-quote when
3612         the search type is regexp.
3613         * lisp/cedet/semantic/symref/grep.el
3614         (semantic-symref-perform-search): Support the regexp search type.
3615         Pass -E to Grep when it's used.
3617         semantic-symref-regexp: Allow to input an arbitrary string
3618         * lisp/cedet/semantic/symref/list.el (semantic-symref-regexp):
3619         Allow to input an arbitrary string interactively.
3621         Remove tag-symbol-match-p from etags-xref-find-definitions-tag-order
3622         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
3623         Remove tag-symbol-match-p from the default value
3624         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00292.html).
3626         Declare find-tag obsolete
3627         * lisp/progmodes/etags.el (find-tag): Declare obsolete in favor of
3628         xref-find-definitions.
3630 2015-05-10  Jan D  <jan.h.d@swipnet.se>
3632         Draw composite string correctly (Bug#20537).
3633         * nsterm.m (ns_draw_composite_glyph_string_foreground): New function.
3634         (ns_draw_glyph_string): Call it (Bug#20537).
3636 2015-05-09  Eli Zaretskii  <eliz@gnu.org>
3638         Avoid infloop in ERC
3639         * lisp/simple.el (line-move-to-column): Ignore field boundaries
3640         while computing line beginning position.  (Bug#20498)
3642 2015-05-08  Glenn Morris  <rgm@gnu.org>
3644         * Makefile.in (ChangeLog): No longer pass "srcprefix"; cd instead.
3645         * build-aux/gitlog-to-emacslog: Check called from right directory.
3646         (srcprefix): Remove.
3648         * build-aux/gitlog-to-emacslog: Get rid of "distprefix".
3649         * Makefile.in (ChangeLog): No longer pass "distprefix".
3650         * make-dist: Update "make ChangeLog" syntax for the above change.
3652         * build-aux/gitlog-to-emacslog: Don't hard-code "ChangeLog.2".
3653         * Makefile.in (ChangeLog): Pass -n to gitlog-to-emacslog.
3655         * build-aux/gitlog-to-emacslog: Add "for earlier changes" to footer.
3657         Add command-line option-parsing to gitlog-to-emacslog.
3658         * build-aux/gitlog-to-emacslog: Add command-line options.
3659         By default, refuse to remove an existing output file.
3660         * Makefile.in (CHANGELOG): Update default.
3661         (ChangeLog): Do not test for existing file.
3662         (change-history-nocommit): Ensure temp file does not exist.
3664         Quieten --without-x compilation.
3665         * lisp/term/common-win.el: Provide a feature.
3666         * lisp/term/x-win.el (term/common-win): Require it.
3668         * lisp/dired-aux.el (dired-do-print): Require lpr.
3670         Quieten compilation, eg in --without-x builds.
3671         * lisp/dired-aux.el (lpr-printer-switch):
3672         * lisp/frame.el (tool-bar-height):
3673         * lisp/linum.el (font-info):
3674         * lisp/window.el (font-info, overflow-newline-into-fringe)
3675         (tool-bar-height):
3676         * lisp/emacs-lisp/package-x.el (tar-data-buffer):
3677         * lisp/gnus/gnus-util.el (iswitchb-mode):
3678         * lisp/mail/rmailmm.el (libxml-parse-html-region):
3679         * lisp/net/nsm.el (gnutls-peer-status)
3680         (gnutls-peer-status-warning-describe):
3681         * lisp/net/shr.el (libxml-parse-xml-region):
3682         * lisp/url/url-http.el (gnutls-peer-status): Declare.
3684 2015-05-08  Stefan Monnier  <monnier@iro.umontreal.ca>
3686         CEDET (srecode-pop, srecode-peek): Don't use `subclass'
3687         * lisp/cedet/srecode/insert.el (srecode-pop, srecode-peek): Don't use
3688         `subclass' since they're never called with a class.
3689         (srecode-insert-method, srecode-insert-subtemplate): Avoid obsolete
3690         srecode-dictionary-child-p.
3692 2015-05-08  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
3694         help--binding-locus: Document argument POSITION.
3695         * lisp/help.el (help--binding-locus): Document argument POSITION. (bug#20530)
3697 2015-05-08  Paul Eggert  <eggert@cs.ucla.edu>
3699         Merge from gnulib.
3700         * doc/misc/texinfo.tex: Get latest version.
3702 2015-05-08  Oleh Krehel  <ohwoeowho@gmail.com>
3704         ffap.el (ffap-read-file-or-url): Fix completing-read call
3705         * lisp/ffap.el (ffap-read-file-or-url): The HIST argument of
3706           `completing-read' should be a symbol.
3708 2015-05-08  Eli Zaretskii  <eliz@gnu.org>
3710         Verify file modifications by other programs
3711         * src/filelock.c (lock_file): Check whether the file was modified
3712         since it was visited even if 'create-lockfiles' is nil.  (Bug#18828)
3714         Fix keyboard macros that include function keys
3715         * src/keyboard.c (read_char_minibuf_menu_prompt): Record function
3716         keys in the macro before returning.  (Bug#20454)
3718 2015-05-08  Glenn Morris  <rgm@gnu.org>
3720         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
3721         "Copyright-paperwork-exempt".  (Bug#20324)
3723         * lisp/vc/log-edit.el: Handle "(tiny change)".  (Bug#20324)
3724         (log-edit-rewrite-tiny-change): New variable.
3725         (log-edit-insert-changelog): Maybe add "Copyright-paperwork-exempt".
3726         (log-edit-changelog-ours-p): Set log-edit-author to a cons.
3727         * etc/NEWS: Mention this.
3729         * lisp/calc/calc.el (math-zerop): Declare.
3731         * lisp/emacs-lisp/eieio-opt.el (help-fns-short-filename): Declare.
3733 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
3735         * lisp/emacs-lisp/subr-x.el (if-let): Fix debug spec
3736         Support the case when BINDINGS is a single tuple.  (Bug#20525)
3738         * etc/NEWS: Fix typo in commit 14bb519
3740 2015-05-07  Jan D  <jan.h.d@swipnet.se>
3742         Warn for multiple display crash for all Gtk+ versions.
3743         * configure.ac: Warn for multiple display crash for all Gtk+
3744         versions.  Output URL to Gtk+ bug (Bug#20452).
3746         ns-win.el (ns-paste-secondary): Use gui-get-selection.
3747         * ns-win.el (ns-paste-secondary): Use gui-get-selection.
3749 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
3751         * lisp/emacs-lisp/package.el: New "external" package status
3752         An external package is any installed package that's not built-in
3753         and not from `package-user-dir', which usually means it's from an
3754         entry in `package-directory-list'.  They are treated much like
3755         built-in packages, in that they cannot be through the Package Menu
3756         deleted and are not considered for upgrades.
3757         (package-desc-status): Identify if a package is installed outside
3758         `package-user-dir'.
3759         (package-menu--print-info-simple)
3760         (package-menu--status-predicate): Add support for it.
3761         * etc/NEWS: Document it.
3763 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
3765         * lisp/mail/rmail.el: Use lexical-binding
3766         (rmail-bury): Remove unused var `buffer-to-bury'.
3767         (rmail-get-new-mail): Remove unused vars `opoint' and `success'.
3768         (rmail-parse-url): Remove unused var `proto', `user', and `host'.
3769         (rmail-unrmail-new-mail-maybe): Remove unused var `new-file'.
3770         (rmail-insert-inbox-text): Remove unused var `movemail'.
3771         (rmail-add-mbox-headers): Remove unused var `limit'.
3772         (rmail-undelete-previous-message): Remove unused var `value'.
3773         (rmail-reply): Remove unused vars `resent-to', `resent-cc',
3774         `resent-reply-to'.
3775         (rmail-mime-mbox-buffer, rmail-mime-view-buffer): Declare.
3776         (rmail-restore-desktop-buffer): Rename arguments.
3778 2015-05-06  Glenn Morris  <rgm@gnu.org>
3780         * Makefile.in (change-history-commit): Add missing piece of previous.
3782         Avoid unnecessary bumping of Makefile.in's timestamp.
3783         * Makefile.in (gen_origin): Move to gitlog-to-emacslog.
3784         (emacslog): New variable.
3785         (ChangeLog): Use $emacslog.  Don't pass $gen_origin.
3786         (unchanged-history-files): Use $emacslog rather than Makefile.in.
3787         (change-history-nocommit): Store hash in $emacslog.
3788         * build-aux/gitlog-to-emacslog (gen_origin): Move default here.
3789         * admin/update_autogen (changelog_files): Update for the above.
3791         * Makefile.in: Don't always insist on removing existing "ChangeLog".
3792         (CHANGELOG): New variable.
3793         (no-ChangeLog): Remove.
3794         (ChangeLog): Replace "no-ChangeLog"; pass output file to script.
3795         (change-history-nocommit): Use a temp file rather than insisting
3796         on deletion of any existing "ChangeLog".
3798         * build-aux/gitlog-to-emacslog: Allow specification of output.
3800         * admin/update_autogen: Add option to update ChangeLog.
3801         (usage): Mention -H.
3802         (changelog_flag, changelog_n, changelog_files): New variables.
3803         (main): Check for -H, and maybe run change-history-nocommit.
3805 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
3807         * lisp/subr.el (delete-dups): Pre-size the hashtable.
3809         (define-modify-macro): Make sure cl--arglist-args is defined
3810         * lisp/emacs-lisp/cl.el (define-modify-macro): Make sure
3811         cl--arglist-args is defined (bug#20517).
3813 2015-05-06  Glenn Morris  <rgm@gnu.org>
3815         * Makefile.in (change-history-nocommit): New.
3817 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
3819         Only cancel timer when it is non-nil
3820         * lisp/cedet/pulse.el (pulse-momentary-unhighlight): Only cancel
3821         timer when it is non-nil
3822         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00223.html).
3824 2015-05-06  Glenn Morris  <rgm@gnu.org>
3826         Quieten cedet compilation
3827         * lisp/cedet/semantic/db-el.el (semanticdb-elisp-sym->tag):
3828         Invert fboundp test to quieten on current Emacs.
3829         * lisp/cedet/ede/config.el (ede-shell-run-something)
3830         (semanticdb-file-table-object, semanticdb-needs-refresh-p)
3831         (semanticdb-refresh-table): Declare.
3832         (ede-preprocessor-map): Require semantic/db.
3834         Quieten cc-mode compilation
3835         * lisp/progmodes/cc-awk.el (c-forward-sws):
3836         * lisp/progmodes/cc-cmds.el (c-forward-subword, c-backward-subword):
3837         Declare.
3839 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
3841         lisp/subr.el (delete-dups): Avoid nreverse.
3843 2015-05-06  Artur Malabarba  <bruce.connor.am@gmail.com>
3845         * lisp/subr.el (delete-dups): Make it destructive again.
3847 2015-05-06  Paul Eggert  <eggert@cs.ucla.edu>
3849         * doc/lispref/sequences.texi (Sequence Functions): Fix quoting.
3851 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
3853         * lisp/emacs-lisp/testcover.el: Don't use edebug--read (bug#20487)
3854         * lisp/emacs-lisp/testcover.el: Use lexical-binding.
3855         (testcover--read): Rename from testcover-read.  Change calling convention.
3856         Use edebug-read-and-maybe-wrap-form now that edebug-read is gone.
3857         (testcover-start): Use add-function.  Move edebug-all-defs binding to
3858         testcover--read.
3859         (testcover-this-defun): Tighten scope of edebug-all-defs binding.
3860         (testcover-mark): Remove unused var `item'.
3861         * src/lread.c (syms_of_lread): Default load-read-function to `read'.
3863 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
3865         lisp/subr.el (delete-dups): Use a hash table
3866         * lisp/subr.el (delete-dups): When there are more than 100 candidates,
3867           use a hash table. This can result in ~500 times speed-up for typical
3868           collections of size 5000, like that of `load-library'.
3870 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
3872         CEDET: Avoid `oref' on classes in a few more cases
3873         * lisp/cedet/ede/generic.el (ede-find-target):
3874         * lisp/cedet/ede.el (ede-project-forms-menu): Avoid `oref' on classes.
3875         * lisp/cedet/semantic/bovine/gcc.el (semantic-gcc-setup): Remove unused
3876         var `prefix'.
3878         * lisp/cedet/semantic/symref/grep.el: Fix unused var warnings
3879         * lisp/cedet/semantic/symref/grep.el (grepflags, greppattern): Declare.
3880         (semantic-symref-perform-search): Remove unused var `pat'.
3882         CEDET (srecode-compile-inserter): Avoid `oref' on classes
3883         * lisp/cedet/srecode/compile.el (srecode-compile-inserter):
3884         Avoid `oref' on classes (bug#20491).
3885         (srecode-compile-split-code): Remove unused var `key'.
3887 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
3889         Clean up pulse.el a little
3890         * lisp/cedet/pulse.el (pulse): Remove.
3891         (pulse-momentary-timer): Save instead of the stop time.
3892         (pulse-momentary-highlight-overlay): Call
3893         pulse-momentary-unhighlight first thing. Treat
3894         pulse-momentary-overlay as a single value, not a list. Save the
3895         created timer. Only pass the stop time to the timer.
3896         (pulse-tick): Update accordingly.
3897         (pulse-momentary-unhighlight): Treat pulse-momentary-overlay as a
3898         single value. Cancel the timer.
3900 2015-05-06  Tassilo Horn  <tsdh@gnu.org>
3902         Support the biblatex journaltitle field
3903         * lisp/textmodes/reftex-cite.el (reftex-format-bib-entry):
3904         Support the biblatex journaltitle field.
3906 2015-05-05  Glenn Morris  <rgm@gnu.org>
3908         Minor declare-function improvement
3909         * lisp/emacs-lisp/bytecomp.el
3910         (byte-compile-macroexpand-declare-function):
3911         Handle declarations after calls.  (Bug#20509)
3913         * lisp/progmodes/js.el (js--optimize-arglist): Remove declaration.
3915         * lisp/w32-fns.el (w32-shell-name): Silence compiler.
3917 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
3919         Pulse using a timer
3920         * lisp/cedet/pulse.el (pulse-momentary-stop-time): New variable.
3921         (pulse-momentary-highlight-overlay): Set up the timer instead of
3922         calling `pulse'
3923         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/).
3924         (pulse-tick): New function.
3925         (pulse-momentary-unhighlight): Cut off the stop time.
3926         (pulse-delay): Update the docstring WRT to not using sit-for.
3928         Add semantic/symref/grep file patterns for ruby-mode
3929         * lisp/cedet/semantic/symref/grep.el
3930         (semantic-symref-filepattern-alist): Add patterns for
3931         ruby-mode. Clarify the docstring.
3933         Don't require match
3934         * lisp/progmodes/xref.el (xref--read-identifier): Don't require
3935         match. That doesn't work for every command, and some identifier
3936         completion tables are bound to be imperfect anyway.
3938 2015-05-05  Stefan Monnier  <monnier@iro.umontreal.ca>
3940         * lisp/cedet/semantic/grammar.el: Fix compiler warnings (bug#20505)
3941         (semantic-grammar--template-expand): New function.
3942         (semantic-grammar-header, semantic-grammar-footer): Use it.
3943         (semantic-grammar--lex-block-specs): Remove unused var `block-spec'.
3944         (semantic-grammar-file-regexp): Refine regexp.
3945         (semantic-grammar-eldoc-get-macro-docstring):
3946         Use elisp-get-fnsym-args-string when available.
3947         (semantic-idle-summary-current-symbol-info): Use new elisp-* names
3948         instead of the old eldoc-* names.
3949         * lisp/emacs-lisp/eldoc.el (eldoc-docstring-format-sym-doc): Move back
3950         from elisp-mode.el.  Tweak calling convention.
3951         * lisp/progmodes/elisp-mode.el (package-user-dir): Declare.
3952         (elisp-get-fnsym-args-string): Add `prefix' argument.  Rename from
3953         elisp--get-fnsym-args-string.
3954         (elisp--highlight-function-argument): Add `prefix' arg.
3955         (elisp-get-var-docstring): Rename from elisp--get-var-docstring.
3956         (elisp--docstring-format-sym-doc): Move back to eldoc.el.
3958 2015-05-05  Glenn Morris  <rgm@gnu.org>
3960         * lisp/help-fns.el (describe-function-1):
3961         Handle builtins with advertised calling conventions.  (Bug#20479)
3963 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
3965         Merge branch 'seq-let'
3967         Update `seq-let' documentation
3968         * doc/lispref/sequences.texi: Update the documentation of `seq-let'
3969         with the support of  `&rest'.
3971         Add support for &rest in `seq-let'
3972         * lisp/emacs-lisp/seq.el (seq--make-bindings): Add support for `&rest'
3973         in the argument list.
3974         * test/automated/seq-tests.el: Add a test for parsing and binding
3975         `&rest' in `seq-let'.
3977 2015-05-05  Paul Eggert  <eggert@cs.ucla.edu>
3979         Spelling fixes
3981 2015-05-05  (tiny change) Pierre Lorenzon  <devel@pollock-nageoire.net>
3983         * eieio-custom.el (eieio-object-value-get): Add missing increment
3984         (Bug#20467)
3986         (eieio-object-value-create): Adjust to new slots representation
3987         (Bug#20467)
3988         * eieio-custom.el (eieio-object-value-create):
3989         Fix missed adjustment to new representation of slots metadata.
3991 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
3993         * lisp/emacs-lisp/seq.el (seq--make-bindings): Improve the docstring.
3995 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
3997         Work around "Attempt to modify read-only object"
3998         * lisp/progmodes/elisp-mode.el (elisp--xref-format): Extract from
3999         elisp--xref-find-definitions, to work around "Attempt to modify
4000         read-only object" error.
4002         Only skip some variables that have function counterparts
4003         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
4004         Only skip minor-mode-named variable if it's defined in a Lisp
4005         file, and it's in minor-mode-list (bug#20506).
4006         * test/automated/elisp-mode-tests.el
4007         (elisp-xref-finds-both-function-and-variable)
4008         (elisp-xref-finds-only-function-for-minor-mode): New tests.
4010 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
4012         Buttonize the whole line, including the number at the beginning
4013         * lisp/progmodes/xref.el (xref--location-at-point): Revert the
4014         previous change.
4015         (xref--insert-xrefs): Buttonize the whole line, including the
4016         number at the beginning.
4018         Make sure we're inside the let bindings
4019         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
4020         Make sure we're inside the let bindings.
4021         * test/automated/elisp-mode-tests.el
4022         (elisp-completes-functions-after-let-bindings): New test.
4024 2015-05-04  Glenn Morris  <rgm@gnu.org>
4026         * lisp/cedet/semantic/grammar.el (eldoc-function-argstring)
4027         (eldoc-docstring-format-sym-doc, eldoc-last-data-store)
4028         (eldoc-get-fnsym-args-string, eldoc-get-var-docstring):
4029         Remove outdated declarations.
4031         Replace instances of "(eval-when-compile (autoload ...))"
4032         * lisp/gnus/gnus-art.el (nneething-get-file-name):
4033         Declare rather than autoload.
4034         * lisp/gnus/gnus-async.el (gnus-html-prefetch-images):
4035         Remove pointless autoload.
4036         * lisp/gnus/gnus-sync.el (gnus-group-topic): Autoload at run-time.
4037         (gnus-topic-create-topic, gnus-topic-enter-dribble):
4038         Declare rather than autoload.
4039         * lisp/gnus/mm-archive.el (gnus-recursive-directory-files)
4040         (mailcap-extension-to-mime): Autoload at run-time.
4041         * lisp/gnus/mm-util.el (latin-unity-massage-name)
4042         (latin-unity-maybe-remap, latin-unity-representations-feasible-region)
4043         (latin-unity-representations-present-region):
4044         Declare rather than autoload.
4045         * lisp/gnus/mml-smime.el (epg-make-context)
4046         (epg-passphrase-callback-function): Autoload at run-time.
4047         (epg-context-set-signers, epg-context-result-for)
4048         (epg-new-signature-digest-algorithm)
4049         (epg-verify-result-to-string, epg-list-keys, epg-verify-string)
4050         (epg-sign-string, epg-encrypt-string)
4051         (epg-context-set-passphrase-callback, epg-sub-key-fingerprint)
4052         (epg-configuration, epg-expand-group, epa-select-keys):
4053         Declare rather than autoload.
4054         * lisp/gnus/nnir.el (nnimap-change-group, nnimap-make-thread-query):
4055         Autoload at run-time.
4056         (gnus-group-topic-name, nnimap-buffer, nnimap-command)
4057         (gnus-registry-get-id-key, gnus-registry-action):
4058         Declare rather than autoload.
4059         * lisp/gnus/nnmail.el (mail-send-and-exit): Autoload at run-time.
4060         * lisp/gnus/spam.el (spam-stat-buffer-change-to-non-spam)
4061         (spam-stat-buffer-change-to-spam, spam-stat-buffer-is-non-spam)
4062         (spam-stat-buffer-is-spam, spam-stat-load, spam-stat-save)
4063         (spam-stat-split-fancy): Remove pointless autoloads.
4064         * lisp/net/mairix.el: Load gnus-util when compiling.
4065         (gnus-group-read-ephemeral-group, gnus-summary-toggle-header)
4066         (message-field-value): Declare rather than autoload.
4067         (mairix-gnus-ephemeral-nndoc, mairix-gnus-fetch-field):
4068         Check gnus-alive-p is fbound.
4069         (vm-quit, vm-visit-folder, vm-select-folder-buffer)
4070         (vm-check-for-killed-summary, vm-error-if-folder-empty)
4071         (vm-get-header-contents, vm-select-marked-or-prefixed-messages):
4072         Declare rather than autoload.
4074         * lisp/gnus/mm-view.el (epg-decrypt-string): Autoload.
4076         * lisp/gnus/mml-smime.el (epg-key-sub-key-list)
4077         (epg-sub-key-capability, epg-sub-key-validity): Fix declarations.
4079         * lisp/progmodes/elisp-mode.el (xref-collect-references): Declare.
4081         * lisp/emacs-lisp/debug.el (help-xref-interned): Update declaration.
4083         * lisp/allout.el (epg-user-id-string, epg-key-user-id-list):
4084         * lisp/emacs-lisp/package.el (epg-signature-status):
4085         Fix declarations.
4087         * lisp/play/gametree.el (gametree-show-children-and-entry)
4088         (gametree-apply-layout, gametree-mouse-show-subtree)
4089         (gametree-mouse-hide-subtree): Replace obsolete outline aliases.
4091         * lisp/emacs-lisp/check-declare.el (check-declare-verify):
4092         Handle cl-defgeneric, cl-defmethod.
4094 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
4096         Highlight both type and symbol name
4097         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
4098         Highlight both type and symbol name.
4100         Insert, highlight and align line numbers in xref output
4101         * lisp/progmodes/etags.el (xref-location-line): Specialize for
4102         xref-etags-location.
4103         * lisp/progmodes/xref.el (xref-location-line): New generic method.
4104         (xref-file-location): Add reader for the line slot.
4105         (xref--location-at-point): Skip to the `xref-location' property.
4106         (xref--collect-reference): Drop the line number from description.
4107         (xref--insert-xrefs): Insert, highlight and align line numbers.
4109 2015-05-04  Daniel Colascione  <dancol@dancol.org>
4111         Fix previous commit
4113 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
4115         Don't pulse the indentation, or the newline
4116         * lisp/cedet/pulse.el (pulse-lighten-highlight)
4117         (pulse-reset-face): Fall back to the inherited background
4118         attribute in FACE.
4119         (pulse-momentary-highlight-region): Add autoload cookie.
4120         * lisp/progmodes/xref.el (xref--maybe-pulse): Don't highlight the
4121         indentation, or the newline, if the line's non-empty
4122         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00118.html).
4124 2015-05-04  Daniel Colascione  <dancol@dancol.org>
4126         Add `save-mark-and-excursion', which has the old `save-excursion' behavior
4127         * doc/lispref/positions.texi (Excursions): Document
4128         `save-mark-and-excursion'.
4129         * lisp/font-lock.el (font-lock-fontify-block): Use
4130         `save-mark-and-excursion' instead of `save-excursion', restoring
4131         Emacs 24 behavior.
4132         * lisp/simple.el (save-mark-and-excursion--save)
4133         (save-mark-and-excursion--restore): New functions.
4134         (save-mark-and-excursion): New user macro.
4135         * src/editfns.c (Fsave_excursion): Mention
4136         `save-mark-and-excursion' in `save-excursion' documentation.
4138 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
4140         Classify lone symbol inside let varlist as variable
4141         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
4142         Classify lone symbol inside let varlist as variable.
4143         * test/automated/elisp-mode-tests.el (completest-variables-in-let-bindings):
4144         New test.
4146         Add xref-pulse-on-jump
4147         * lisp/cedet/pulse.el (pulse-momentary-highlight-one-line):
4148         Add autoload cookie.
4149         * lisp/progmodes/xref.el (xref-pulse-on-jump): New option.
4150         (xref--maybe-pulse): New function.
4151         (xref-pop-marker-stack, xref--pop-to-location)
4152         (xref--display-position): Use it.
4153         (xref--location-at-point): Use back-to-indentation.
4155 2015-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
4157         * lisp/org/org-{macs,list}.el: Fix lexical warnings
4158         * lisp/org/org-list.el (org-list-struct): Remove unused var `ind'.
4159         (org-list-get-next-item, org-list-get-prev-item)
4160         (org-list-get-children): Mark unused arg `struct'.
4161         (org-list-use-alpha-bul-p): Remove unused var `bul'.
4162         (org-toggle-checkbox): Mark unused var.
4163         (org-update-checkbox-count): Remove unused var `box-num'.
4164         (org-adapt-indentation): Declare.
4165         (org-list-parse-list): Declare var instead of adding a dummy duplicate.
4166         (org-list-send-list): Remove unused var `txt'.
4167         (org-list-to-latex, org-list-to-texinfo): Mark unused arg `params'.
4168         (org-list-to-subtree): Add prefix to dyn-bind var, and declare them.
4169         * lisp/org/org-macs.el: Use `declare'.
4170         (org-with-limited-levels): Declare dyn-bound vars.
4172 2015-05-04  Eli Zaretskii  <eliz@gnu.org>
4174         Fix minor issues with CEDET on MS-Windows
4175         * lisp/cedet/semantic/symref/idutils.el
4176         (semantic-symref-parse-tool-output-one-line): Fix the search
4177         regexp to match MS-Windows file names with drive letters.
4178         (Bug#19468)
4179         * lisp/cedet/semantic/symref/grep.el
4180         (semantic-symref-grep-use-template): Remove "--color=always" from
4181         Grep switches on MS-Windows.
4182         (semantic-symref-grep-shell): Use shell-file-name as the default
4183         value, so this works not only on Posix platforms.
4184         (semantic-symref-perform-search): Use shell-quote-argument instead
4185         of literal '..' for portable quoting of Grep command-line
4186         argument.  Use shell-command-switch instead of a literal "-c".
4187         * lisp/cedet/semantic/bovine/gcc.el
4188         (semantic-gcc-get-include-paths): Use file-name-absolute-p to test
4189         for an absolute file name in a portable way.
4191 2015-05-04  Artur Malabarba  <bruce.connor.am@gmail.com>
4193         * lisp/emacs-lisp/package.el: Remove `package--silence' variable
4194         (package-import-keyring, package-refresh-contents)
4195         (package-compute-transaction, package--save-selected-packages)
4196         (package-install-from-archive, package-delete)
4197         (package-menu--perform-transaction): Use `inhibit-message'
4198         instead.
4199         (package--compile): Set `warning-minimum-level' to :error.
4201 2015-05-03  Stefan Monnier  <monnier@iro.umontreal.ca>
4203         * lisp/term/screen.el (xterm-screen-extra-capabilities): New custom
4204         (terminal-init-screen): Use it (bug#20356).
4205         * lisp/term/xterm.el: Provide `term/xterm' instead of `xterm'.
4206         (xterm--extra-capabilities-type): New const.
4207         (xterm-extra-capabilities): Use it.
4208         (xterm--version-handler): Lower the pseudo-version for `screen'.
4210 2015-05-03  Dmitry Gutov  <dgutov@yandex.ru>
4212         xref--insert-xrefs: Tweak the faces
4213         * lisp/progmodes/xref.el (xref--insert-xrefs): Tweak the faces.
4214         Always insert a newline at the end (to avoid mouse-face background
4215         tail at the last line).
4217         elisp-completion-at-point: Prioritize being quoted over funpos
4218         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
4219         Only consider function position when not inside quoted form
4220         (bug#20425).
4221         * test/automated/elisp-mode-tests.el: New file.
4223         Stop vc-print-log from jumping to the top
4224         * lisp/vc/vc.el (vc-print-log-internal): Pass nil
4225         GOTO-LOCATION-FUNC to vc-log-internal-common when WORKING-REVISION
4226         is not specified.
4227         (vc-incoming-outgoing-internal): Always pass nil.
4228         (vc-log-internal-common): When GOTO-LOCATION-FUNC is nil, don't
4229         call it, and don't set vc-sentinel-movepoint (bug#15322).
4230         (vc-print-root-log): Don't fetch the root working revision, nor
4231         pass it to vc-print-log-internal.
4233 2015-05-02  Michael Vehrs  <Michael.Burschik@gmx.de>
4235         Fix display of keyboard layouts for right-to-left scripts
4236         * lisp/international/quail.el (quail-insert-kbd-layout): Force
4237         left-to-right paragraph direction.
4239 2015-05-02  K. Handa  <handa@gnu.org>
4241         * cmds.c (internal_self_insert): When we insert spaces for
4242         padding, set point before the padding spaces, not after them.
4244 2015-05-02  Nicolas Petton  <nicolas@petton.fr>
4246         * lisp/emacs-lisp/seq.el (seq-p): New alias to `sequencep'.
4248 2015-05-02  Dmitry Gutov  <dgutov@yandex.ru>
4250         Fix etags-xref-find for references
4251         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): Use `cl-mapcan'.
4252         * lisp/progmodes/etags.el (etags-xref-find): Ditto.  Prompt for
4253         directory if no tags tables are loaded (bug#19468).
4255 2015-05-02  Philipp Stephani  <phst@google.com>
4257         Update the options in whitespace-style defcustom
4258         * lisp/whitespace.el (whitespace-style): Use `set' instead of a
4259         `repeat' because the option is really set-like.  Add missing
4260         options.  Reorder options to match the order in the
4261         documentation.  (Bug#20346)
4263 2015-05-02  Eli Zaretskii  <eliz@gnu.org>
4265         Fix error diagnostics of c-macro-expand
4266         * lisp/progmodes/cmacexp.el (c-macro-expansion): Don't bail out
4267         too early if no start-marker string was found -- that generally
4268         means cpp exited abnormally, and we still want to show its error
4269         messages to the user.
4271         Don't require Texinfo 5.0 for Emacs documentation
4272         * doc/emacs/docstyle.texi: Use "@set txicodequoteundirected" and
4273         "@set txicodequotebacktick" instead of "@codequotebacktick on" and
4274         "@codequoteundirected on", respectively, to avoid requiring
4275         Texinfo 5.x for Emacs documentation.
4277 2015-05-01  Simen Heggestøyl  <simenheg@gmail.com>
4279         * lisp/files.el (pwd):
4280         When called with a prefix argument, insert the current default
4281         directory at point.
4283 2015-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>
4285         * lisp/isearch.el (isearch-mode-map): Allow backspace remapping
4286         * lisp/isearch.el (isearch-mode-map): Don't inhibit
4287         function-key-map remapping for backspace (bug#20466).
4289 2015-05-01  Dmitry Gutov  <dgutov@yandex.ru>
4291         Implement xref-find-references in etags and elisp-mode
4292         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): New function.
4293         (elisp-xref-find): Use it.
4294         * lisp/progmodes/etags.el (etags-xref-find): Use `xref-collect-references'.
4295         * lisp/progmodes/xref.el (xref-collect-references):
4296         (xref--collect-reference): New functions.
4298 2015-05-01  Paul Eggert  <eggert@cs.ucla.edu>
4300         Prefer plain characters to Texinfo circumlocutions
4301         For example, prefer 'François' to 'Fran\c{c}ois', 'Fran\c cois',
4302         'Fran@,{c}ois' or 'Francois' (all of which were used!) in Texinfo sources.
4304         Fix single-quoting style in PDF manuals
4305         The PDF versions of the GNU manuals used curved single quotes to
4306         represent grave accent and apostrophe, which made it a pain to cut
4307         and paste code examples from them.  Fix the PDF versions to use
4308         grave accent and apostrophe for Lisp source code, keystrokes, etc.
4309         This change does not affect the info files, nor does it affect
4310         ordinary uses of curved single quotes in PDF.
4311         * doc/emacs/docstyle.texi: New file, which specifies treatment for
4312         grave accent and apostrophe, as well as the document encoding.
4313         * doc/emacs/emacs-xtra.texi, doc/emacs/emacs.texi:
4314         * doc/lispintro/emacs-lisp-intro.texi:
4315         * doc/lispref/back.texi, doc/lispref/book-spine.texi:
4316         * doc/lispref/elisp.texi, doc/lispref/lay-flat.texi:
4317         * doc/misc/ada-mode.texi, doc/misc/auth.texi:
4318         * doc/misc/autotype.texi, doc/misc/bovine.texi, doc/misc/calc.texi:
4319         * doc/misc/cc-mode.texi, doc/misc/cl.texi, doc/misc/dbus.texi:
4320         * doc/misc/dired-x.texi, doc/misc/ebrowse.texi, doc/misc/ede.texi:
4321         * doc/misc/ediff.texi, doc/misc/edt.texi, doc/misc/efaq-w32.texi:
4322         * doc/misc/efaq.texi, doc/misc/eieio.texi, doc/misc/emacs-gnutls.texi:
4323         * doc/misc/emacs-mime.texi, doc/misc/epa.texi, doc/misc/erc.texi:
4324         * doc/misc/ert.texi, doc/misc/eshell.texi, doc/misc/eudc.texi:
4325         * doc/misc/eww.texi, doc/misc/flymake.texi, doc/misc/forms.texi:
4326         * doc/misc/gnus-coding.texi, doc/misc/gnus-faq.texi:
4327         * doc/misc/gnus.texi, doc/misc/htmlfontify.texi:
4328         * doc/misc/idlwave.texi, doc/misc/ido.texi, doc/misc/info.texi:
4329         * doc/misc/mairix-el.texi, doc/misc/message.texi, doc/misc/mh-e.texi:
4330         * doc/misc/newsticker.texi, doc/misc/nxml-mode.texi:
4331         * doc/misc/octave-mode.texi, doc/misc/org.texi, doc/misc/pcl-cvs.texi:
4332         * doc/misc/pgg.texi, doc/misc/rcirc.texi, doc/misc/reftex.texi:
4333         * doc/misc/remember.texi, doc/misc/sasl.texi, doc/misc/sc.texi:
4334         * doc/misc/semantic.texi, doc/misc/ses.texi, doc/misc/sieve.texi:
4335         * doc/misc/smtpmail.texi, doc/misc/speedbar.texi:
4336         * doc/misc/srecode.texi, doc/misc/todo-mode.texi, doc/misc/tramp.texi:
4337         * doc/misc/url.texi, doc/misc/vhdl-mode.texi, doc/misc/vip.texi:
4338         * doc/misc/viper.texi, doc/misc/widget.texi, doc/misc/wisent.texi:
4339         * doc/misc/woman.texi:
4340         Use it instead of '@documentencoding UTF-8', to lessen the need for
4341         global changes like this in the future.
4342         * doc/emacs/Makefile.in (EMACS_XTRA):
4343         * doc/lispintro/Makefile.in (srcs):
4344         * doc/lispref/Makefile.in (srcs):
4345         Add dependency on docstyle.texi.
4346         * doc/misc/Makefile.in (style): New macro.
4347         (${buildinfodir}/%.info, %.dvi, %.pdf, %.html)
4348         (${buildinfodir}/ccmode.info, ${buildinfodir}/efaq%.info, gnus_deps):
4349         Use it.
4351 2015-05-01  Glenn Morris  <rgm@gnu.org>
4353         * test/automated/cl-lib-tests.el (cl-lib-adjoin-test): Fix it.
4355         * lisp/emacs-lisp/pcase.el (get-edebug-spec, edebug-match)
4356         (help-fns--signature): Declare.
4358         * lisp/emacs-lisp/pcase.el (pcase--make-docstring): Require help-fns.
4360 2015-05-01  Nicolas Petton  <nicolas@petton.fr>
4362         New macro seq-let, providing destructuring support to seq.el
4363         * lisp/emacs-lisp/seq.el (seq-let): New macro.  `seq-let' is similar
4364         to `cl-destructuring-bind' but works on all sequence types supported
4365         by `seq.el'.  Bump version number to 1.6.
4366         * test/automated/seq-tests.el: Add tests for seq-let.
4367         * doc/lispref/sequences.texi: Add documentation for seq-let.
4369 2015-05-01  Pontus Michael  <m.pontus@gmail.com>
4371         * lisp/simple.el (blink-matching-open): Better behavior in minibuffer
4373 2015-05-01  Glenn Morris  <rgm@gnu.org>
4375         * lisp/emacs-lisp/ert.el (ert--special-operator-p): Fix previous.
4377 2015-05-01  Artur Malabarba  <bruce.connor.am@gmail.com>
4379         * lisp/emacs-lisp/bytecomp.el: Revert "Silence noninteractive compilations"
4380         This reverts commit 9a7ddde977378cb5276a81476ae458889c403267.
4381         This reverts commit 3c0ea587daf8b17960b90603a70e3ac4057d883d.
4382         With message: "* lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'".
4383         (Bug#20445).
4385 2015-05-01  K. Handa  <handa@gnu.org>
4387         * mule-cmds.el (input-method-use-echo-area): Change :type to
4388         'boolean.
4390 2015-05-01  Lars Magne Ingebrigtsen  <larsi@gnus.org>
4392         Start using proportional fonts in eww by default
4393         * lisp/net/shr.el (shr-use-fonts): Switch the default to t, since
4394         it seems to work well.
4396         Fix links in tables in shr
4397         * lisp/net/shr.el: Remove `shr-inhibit-decoration', because that
4398         makes (some) links in tables not work.
4400 2015-05-01  Jan D  <jan.h.d@swipnet.se>
4402         (ns-get-cut-buffer-internal): Remove this alias.
4403         * lisp/term/ns-win.el (ns-get-cut-buffer-internal): Remove this alias.
4405 2015-04-30  Glenn Morris  <rgm@gnu.org>
4407         * lisp/emacs-lisp/ert.el (ert--special-operator-p):
4408         Update for 2015-02-08 change to indirect-function.
4410         * lisp/term/ns-win.el (ns-get-selection-internal):
4411         Remove declaration for function deleted 2014-10-21.
4413         * lisp/dom.el: Load subr-x when compiling, for when-let.
4415         Silence some compilation warnings
4416         * lisp/emacs-lisp/check-declare.el (compilation-forget-errors):
4417         * lisp/emulation/cua-base.el (delete-active-region):
4418         * lisp/net/net-utils.el (w32-get-console-output-codepage):
4419         * lisp/term/ns-win.el (ns-own-selection-internal)
4420         (ns-disown-selection-internal, ns-selection-owner-p)
4421         (ns-selection-exists-p, ns-get-selection):
4422         Declare for compiler..
4424         Function declaration updates prompted by 'make check-declare'
4425         * lisp/emacs-lisp/package.el (lm-homepage):
4426         * lisp/gnus/gnus-util.el (iswitchb-read-buffer):
4427         * lisp/gnus/mm-decode.el (libxml-parse-html-region):
4428         * lisp/gnus/mml.el (libxml-parse-html-region):
4429         * lisp/gnus/nnrss.el (libxml-parse-html-region):
4430         * lisp/net/eww.el (libxml-parse-html-region):
4431         * lisp/net/shr.el (libxml-parse-html-region):
4432         * lisp/vc/vc-bzr.el (vc-annotate-convert-time):
4433         * lisp/vc/vc-cvs.el (vc-annotate-convert-time):
4434         * lisp/vc/vc-git.el (vc-annotate-convert-time):
4435         * lisp/vc/vc-hg.el (vc-annotate-convert-time):
4436         * lisp/vc/vc-mtn.el (vc-annotate-convert-time):
4437         * lisp/vc/vc-rcs.el (vc-annotate-convert-time):
4438         Update declaration.
4440         Remove compatibility code for 20-year old function renaming
4441         * lisp/progmodes/idlw-shell.el (idlwave-shell-comint-filter):
4442         Make it an obsolete alias.
4443         (idlwave-shell-filter): Change all uses to comint-output-filter.
4445 2015-04-30  Tassilo Horn  <tsdh@gnu.org>
4447         Add ace-window face config
4448         * etc/themes/tsdh-light-theme.el (tsdh-light): Add ace-window face
4449         configuration.
4451 2015-04-30  Paul Eggert  <eggert@cs.ucla.edu>
4453         Unclutter 'make doc' output a bit
4454         * Makefile.in ($(DOCS), $(INSTALL_DOC), $(UNINSTALL_DOC)):
4455         Use make subst rather than sh IFS to split target string apart.
4456         This makes 'make' output easier to follow.
4458         Merge from gnulib
4459         * doc/misc/texinfo.tex: Update from gnulib.
4461 2015-04-30  Artur Malabarba  <bruce.connor.am@gmail.com>
4463         * lisp/emacs-lisp/package.el: Some speed optimizations on menu refresh
4464         (package-menu--print-info): Obsolete.
4465         (package-menu--print-info-simple): New function.
4466         (package-menu--refresh): Use it, simplify code, and improve
4467         performance.
4468         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
4469         Tiny performance improvement.
4471         * lisp/emacs-lisp/package.el (package--message): inhibit-message
4473 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
4475         Omit -Wstrict-overflow workaround in GCC 5
4476         * src/process.c: Remove workaround for GCC -Wstrict-overflow bug
4477         if it's GCC 5 or later, as the bug appears to be fixed in GCC 5.1.
4479         Merge from gnulib
4480         This incorporates:
4481         2015-04-29 extern-inline: no need for workaround in GCC 5.1
4482         2015-04-26 file-has-acl: port to CentOS 6
4483         * m4/acl.m4, m4/extern-inline.m4: Update from gnulib.
4485 2015-04-29  Helmut Eller  <eller.helmut@gmail.com>
4487         Set next-error-* in xref--xref-buffer-mode
4488         * xref.el (xref--xref-buffer-mode): Set `next-error-function' and
4489         `next-error-last-buffer'.
4490         (xref--next-error-function): New function.
4491         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01311.html)
4493 2015-04-29  Fabián Ezequiel Gallina  <fgallina@gnu.org>
4495         python.el: Fix warnings on looking-back calls missing LIMIT
4496         * lisp/progmodes/python.el (python-shell-accept-process-output):
4497         Pass LIMIT arg to looking-back.
4499 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
4501         * lisp/emacs-lisp/package.el: Use pushnew for downloads in progress
4502         (package--download-and-read-archives): Use pushnew instead of
4503         append.  If something terrible happened during a previous
4504         download, simply refreshing should now make things work again.
4506 2015-04-29  Dmitry Gutov  <dgutov@yandex.ru>
4508         Introduce etags-xref-find-definitions-tag-order
4509         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
4510         New variable.
4511         (etags--xref-find-definitions): Use it (bug#19468).
4513 2015-04-29  Eli Zaretskii  <eliz@gnu.org>
4515         PATH- and completion-related fixes in Eshell on MS-Windows
4516         * lisp/eshell/esh-ext.el (eshell-search-path): When running on
4517         MS-Windows, prepend "." to list of directories produced from PATH,
4518         as Windows always implicitly searches the current directory first.
4519         (eshell-force-execution): Make it have a non-nil default value on
4520         MS-Windows and MS-DOS.
4521         * lisp/eshell/em-cmpl.el (eshell-complete-commands-list): If
4522         eshell-force-execution is non-nil, complete on readable files and
4523         directories, not only executables.  When running on MS-Windows,
4524         prepend "." to list of directories produced from PATH, as Windows
4525         always implicitly searches the current directory first.
4527 2015-04-29  Sam Steingold  <sds@gnu.org>
4529         bury RCIRC buffers when there is no activity
4530         lisp/net/rcirc.el (rcirc-non-irc-buffer): remove
4531         (rcirc-bury-buffers): new function
4532         (rcirc-next-active-buffer): when there is no new activity, use
4533         `rcirc-bury-buffers' to hide all RCIRC buffers
4535 2015-04-29  Krzysztof Jurewicz  <krzysztof.jurewicz@gmail.com>  (tiny change)
4537         Fix DBUS query result parsing for secrets-search-items
4538         * lisp/net/secrets.el (secrets-search-items): Fix DBUS query result
4539         parsing.  The function assumed that return value of the
4540         SearchItems method called on a collection is a list of two lists,
4541         however this is true only when no collection is specified.  GNOME
4542         had used to incorrectly return a list of two lists in both cases,
4543         but this was already fixed:
4544         https://bugzilla.gnome.org/show_bug.cgi?id=695115 .  Also fix an
4545         incorrect information in the secrets-search-items’ docstring.
4546         (Bug#20449)
4548 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
4550         * lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'
4551         (byte-compile--message): Use `inhibit-message' instead of hiding
4552         the previous message with (message nil).
4554 2015-04-29  Oleh Krehel  <ohwoeowho@gmail.com>
4556         Remove the deprecated INTERNAL_FIELD macro by expanding it
4557         * src/lisp.h (INTERNAL_FIELD): Remove.
4558         (DEFVAR_KBOARD): Modify accordingly.
4559         * alloc.c, buffer.c, buffer.h, category.c, keyboard.c, keyboard.h:
4560         * syntax.c: Adjust users.
4561         * src/buffer.c (compact_buffer): Use BVAR.
4563 2015-04-29  Glenn Morris  <rgm@gnu.org>
4565         Replace an obsolete function alias
4566         * lisp/isearch.el (isearch-yank-x-selection):
4567         * lisp/mouse-copy.el (mouse-drag-secondary-pasting)
4568         (mouse-drag-secondary-moving):
4569         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
4570         Replace obsolete alias x-get-selection with gui-get-selection.
4572 2015-04-29  Stefan Monnier  <monnier@iro.umontreal.ca>
4574         * lisp/mail/rmailsum.el: Use lexical-binding.
4576 2015-04-29  Glenn Morris  <rgm@gnu.org>
4578         * test/automated/package-test.el (package-test-update-archives-async):
4579         Skip test on hydra.nixos.org.
4581 2015-04-28  Glenn Morris  <rgm@gnu.org>
4583         * lisp/foldout.el: Update for 2015-01-30 outline.el changes.
4584         (foldout-zoom-subtree, foldout-exit-fold, foldout-mouse-show)
4585         (foldout-mouse-hide-or-exit): Use new names for outline functions.
4587         * lisp/cedet/semantic/bovine/c.el (semantic-c-do-lex-if):
4588         Update for 2014-06-26 hideif.el change.
4590         * lisp/mail/rmailsum.el: Fix search for encoded subjects.  (Bug#19088)
4591         (rmail--decode-and-apply): New function.
4592         (rmail-message-regexp-p-1, rmail-message-subject-p): Use it.
4594         * lisp/mail/rmail.el (rmail-highlighted-headers): Fix :type.
4596 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
4598         * lisp/emacs-lisp/package.el: Fix priority-hiding corner case
4599         (package-menu--refresh): Delegate obsolete-hiding to
4600         `package--remove-hidden'.
4601         (package--remove-hidden): Disregard high-priority package if it is
4602         older than the installed one.
4604 2015-04-28  Paul Eggert  <eggert@cs.ucla.edu>
4606         Update source file encoding list
4607         Update admin/notes/unicode, along with coding system cookies in
4608         other files, so that the two match each other better.
4609         * admin/notes/unicode: lisp/language/ethio-util.el and
4610         lisp/language/ethiopic.el also use utf-8-emacs.
4611         * admin/notes/hydra, doc/misc/dbus.texi, doc/misc/org.texi:
4612         * doc/misc/remember.texi, etc/refcards/cs-dired-ref.tex:
4613         * etc/refcards/cs-refcard.tex, etc/refcards/cs-survival.tex:
4614         * etc/refcards/sk-dired-ref.tex, etc/refcards/sk-refcard.tex:
4615         * etc/refcards/sk-survival.tex:
4616         Add "coding: utf-8" so that this file is not mishandled in a
4617         Latin-1 or Big-5 locale.
4618         * lisp/international/robin.el, lisp/org/ox-ascii.el:
4619         Specify utf-8, not utf-8-emacs, as these are plain UTF-8 files.
4620         * lisp/language/ethio-util.el: Fix trailer.
4622 2015-04-28  Eli Zaretskii  <eliz@gnu.org>
4624         Fix synchronous invocation of Ispell
4625         * lisp/textmodes/ispell.el (ispell-init-process): Assign a non-nil
4626         value to ispell-process-directory before calling ispell-init-process.
4627         Don't call set-process-coding-system if ispell-async-processp is nil.
4628         (Bug#20448)
4630 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
4632         * lisp/emacs-lisp/package.el: Skip space and comments in init file
4633         (package--ensure-init-file): Insert snippet at first
4634         non-whitespace non-comments line.  Respects local-vars at the top
4635         of the file.
4637 2015-04-28  Glenn Morris  <rgm@gnu.org>
4639         * lisp/mail/rmail.el (rmail-copy-headers):
4640         Handle rmail-nonignored-headers being nil.  (Bug#18878)
4642         * lisp/subr.el (delay-mode-hooks): Fix doc typo.
4644         * lisp/vc/vc-bzr.el (vc-bzr-after-dir-status):
4645         Don't get confused by a bzrlib version mismatch warning.
4647 2015-04-27  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
4649         Change default location of EUDC options file
4650         * NEWS: Document change to EUDC options file's default location.
4651         * lisp/net/eudc-vars.el (eudc-options-file): Use
4652         `locate-user-emacs-file' to change default options file location.
4654 2015-04-27  Glenn Morris  <rgm@gnu.org>
4656         * test/automated/package-test.el (package-test-update-archives-async):
4657         Try to handle the test server script dying.
4659 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
4661         * lisp/saveplace.el (save-place-mode): New minor mode.
4662         (save-place): Redefine as an obsolete alias.
4664         * lisp/midnight.el: Make it a minor mode.  Allow predicates.
4665         * lisp/midnight.el: Use lexical-binding.
4666         (midnight-mode): Make it a proper minor mode.
4667         (midnight-buffer-display-time): Make arg non-optional.
4668         (midnight-find): Remove.
4669         (clean-buffer-list-kill-never-regexps)
4670         (clean-buffer-list-kill-regexps): Tweak type for new function choice.
4671         (clean-buffer-list-delay): Allow clean-buffer-list-kill-regexps to
4672         contain functions.
4673         (clean-buffer-list): Use cl-find.
4674         Allow clean-buffer-list-kill-never-regexps to contain functions.
4676 2015-04-27  Nicolas Petton  <nicolas@petton.fr>
4678         Bump version of seq.el to 1.5
4679         * lisp/emacs-lisp/seq.el (seq-doseq): Remove undocumented return value
4680           from seq-doseq.  Bump version number of seq.el.
4682 2015-04-27  Glenn Morris  <rgm@gnu.org>
4684         * lisp/mail/rmail.el (rmail-reply):
4685         Decode subject before matching "Re:" prefix.  (Bug#20396)
4687 2015-04-27  Artur Malabarba  <bruce.connor.am@gmail.com>
4689         * lisp/emacs-lisp/package.el: Small improvements
4690         (package--with-work-buffer-async): More informative error.
4691         (package-install-user-selected-packages): Rename to
4692         `package-install-selected-packages'.
4694 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
4696         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last
4697         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last change.
4698         (eieio--class-make): Remove leftover `tag'.
4700 2015-04-27  Glenn Morris  <rgm@gnu.org>
4702         * lisp/gnus/message.el (gnus-extract-address-components):
4703         Remove bogus declaration that was masking previous problem.
4705 2015-04-27  Nicolas Graner  <nicolas.graner@u-psud.fr>  (tiny change)
4707         * lisp/gnus/message.el (message-insert-formatted-citation-line):
4708         Fix typo.  (Bug#20318)
4710 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
4712         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Reuse oldc.
4714         * lisp/textmodes/reftex-toc.el: Improve multi-frame behavior
4715         * lisp/textmodes/reftex-toc.el (reftex-toc-revert): Avoid displaying
4716         the buffer in yet another frame.
4717         (reftex-toc-visit-location): Make sure toc-window has focus at the end
4718         when `final' is nil.
4719         (reftex--rebuilding-toc): Defvar to avoid `boundp' and
4720         silence warnings.  Use `--' to clarify that it's internal.
4721         (reftex-toc-next, reftex-toc-previous, reftex-toc-demote)
4722         (reftex-toc-promote): Clarify unused argument.
4723         (reftex--pro-or-de, reftex--start-line, reftex--mark-line):
4724         Add `reftex--' prefix.  Fix all users.
4725         (reftex-toc-promote-prepare): Use _ for dummy variable.
4726         (reftex-toc-restore-region): Rename `m
4728 2015-04-27  Eli Zaretskii  <eliz@gnu.org>
4730         Fix a typo in bibtex.el
4731         * lisp/textmodes/bibtex.el (bibtex-insert-kill): Fix a typo from
4732         last change.  (Bug#20429)
4734         Fix redisplay of frame after loading new fonts
4735         * src/xdisp.c (redisplay_internal): When retrying redisplay of a
4736         frame because new fonts were loaded, disable all redisplay
4737         optimizations on that frame by calling SET_FRAME_GARBAGED.
4738         (Bug#20410)
4740 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
4742         * lisp/info.el (Info-menu): Properly provide the `default'
4743         (Bug#20391)
4745         * elisp-mode.el: Catch errors from `documentation'
4746         (Bug#20418)
4747         * lisp/progmodes/elisp-mode.el (elisp--get-fnsym-args-string):
4748         Catch errors from documentation.
4749         (emacs-lisp-mode-abbrev-table): Remove redundant defvar.
4751 2015-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>
4753         lisp/emacs-lisp/package.el: Move variables to silence byte-compiler
4754         Remove redundant ":group 'package".
4756 2015-04-26  Eli Zaretskii  <eliz@gnu.org>
4758         Fix a typo in rmail.el
4759         * lisp/mail/rmail.el (rmail-ensure-blank-line): Fix a typo in the
4760         last commit.  (Bug#20429)
4762 2015-04-26  Dmitry Gutov  <dgutov@yandex.ru>
4764         Introduce xref-prompt-for-identifier
4765         * lisp/progmodes/xref.el (xref-prompt-for-identifier): New option.
4766         (xref--read-identifier): Use it
4767         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01205.html).
4769 2015-04-26  João Távora  <joaotavora@gmail.com>
4771         `tex-insert-quote' after single `'' opens quotes instead of closing
4772         Without this, it's very hard to precede double quotes with the
4773         apostrophe character, i.e. insert the sequence '``
4774         (quote-backquote-backquote), commonly useful in portuguese, for
4775         instance.
4776         * tex-mode.el (tex-insert-quote): Add ?' to the list of preceding
4777         chars making `tex-insert-quote' be in the "opening" context.
4779 2015-04-25  Dmitry Gutov  <dgutov@yandex.ru>
4781         Pass `id' to `completing-read' as def instead of initial input
4782         * xref.el (xref--read-identifier): Pass `id' to `completing-read'
4783         as the default value instead of initial input
4784         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01182.html).
4786 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
4788         Don't freeze with unreadable processes
4789         Don't freeze if an exiting process can't be read from. (Bug#19860).
4790         This fixes a bug I introduced in
4791         2014-07-08T07:24:07Z@eggert@cs.ucla.edu
4792         "* process.c: Add sanity checks for file descriptors."
4793         Dmitry Gutov did most of the legwork in finding the problem.
4794         * src/process.c (wait_reading_process_output):
4795         Treat non-running processes that can't be read from
4796         the same as other non-running processes.
4798 2015-04-25  Alan Mackenzie  <acm@muc.de>
4800         Fix change from 2015-04-22 "On C-y, stop some text property entries ..."
4801         * lisp/subr.el (remove-yank-excluded-properties): put
4802         `with-silent-modifications' around only the last three lines of code.
4804 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
4806         * lisp/emacs-lisp/package.el (package-all-keywords): Don't cache
4807         (package--all-keywords): Deleted variable.
4809         * etc/NEWS: Document package-hiding functionality
4811 2015-04-25  Eli Zaretskii  <eliz@gnu.org>
4813         lisp/window.el (recenter-last-op): Doc fix.  (Bug#20419)
4815         Clarify the doc string of 'replace-regexp-in-string'
4816         * lisp/subr.el (replace-regexp-in-string): Doc fix.  (Bug#20395)
4818         Improve doc string of 'insert-buffer-substring'
4819         * src/editfns.c (Finsert_buffer_substring): Doc fix.  (Bug#20421)
4821         MS-Windows followup for the recent gnulib update
4822         * nt/gnulib.mk (libgnu_a_SOURCES): Replace file-has-acl.c with
4823         acl-internal.c.
4825 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
4827         Spelling fixes
4829         Merge from gnulib
4830         This incorporates:
4831         2015-04-24 file-has-acl: new module, split from acl
4832         2015-04-24 manywarnings: add GCC 5.1 warnings
4833         2015-04-21 lstat: fix cross-compilation 'ln -s' problem
4834         2015-04-15 qacl: Simplify HP-UX acl_nontrivial check
4835         2015-04-15 acl: On Linux, check for acls without libacl
4836         2015-04-14 tempname: avoid unused parameter warnings (trivial)
4837         * lib/acl-internal.c: New file, from gnulib.
4838         * lib/file-has-acl.c: Remove; no longer imported from gnulib.
4839         * lib/acl-internal.h, lib/gnulib.mk, lib/qcopy-acl.c, lib/tempname.c:
4840         * m4/acl.m4, m4/gnulib-comp.m4, m4/lstat.m4, m4/manywarnings.m4:
4841         Update from gnulib.
4843         Port --enable-gcc-warnings to GCC 5.1 x86-64
4844         * lib-src/ebrowse.c (dump_sym):
4845         * lib-src/hexl.c (main):
4846         * src/ccl.c (ccl_driver):
4847         * src/character.c (string_escape_byte8):
4848         * src/dbusbind.c (xd_retrieve_arg, xd_add_watch):
4849         * src/gnutls.c (Fgnutls_boot):
4850         * src/gtkutil.c (xg_check_special_colors):
4851         * src/image.c (x_build_heuristic_mask):
4852         * src/print.c (safe_debug_print, print_object):
4853         * src/term.c (produce_glyphless_glyph):
4854         * src/xdisp.c (get_next_display_element)
4855         (produce_glyphless_glyph):
4856         * src/xterm.c (x_draw_glyphless_glyph_string_foreground):
4857         Don't use a signed format to print an unsigned integer, or vice
4858         versa.  GCC 5.1's new -Wformat-signedness option warns about this.
4859         * src/image.c (png_load_body, jpeg_load_body):
4860         Silence a bogus setjump diagnostic from GCC 5.1 (GCC bug 54561).
4862 2015-04-24  Tassilo Horn  <tsdh@gnu.org>
4864         Add new faces to tsdh-light-theme
4865         * etc/themes/tsdh-light-theme.el (tsdh-light): New face
4866         definitions for Info-quoted, ace-jump-face-foreground,
4867         hl-paren-face, show-paren-match, and show-paren-mismatch.
4869 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
4871         * lisp/emacs-lisp/seq.el (seq-doseq): Fix the macro.
4873 2015-04-24  Glenn Morris  <rgm@gnu.org>
4875         * build-aux/gitlog-to-emacslog:
4876         Use raw log format rather than wrapped one.
4878 2015-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>
4880         * lisp/emacs-lisp/seq.el (seq-doseq): Tighten the code
4881         (seq-doseq): Fix out-of-scope binding.
4882         Don't call `seq-length at every iteration.
4883         Reduce `if's from 3 to 2 per iteration.
4884         (emacs-lisp-mode-hook): Don't tweak in Emacs≥25.
4886 2015-04-24  Glenn Morris  <rgm@gnu.org>
4888         * lisp/textmodes/text-mode.el (text-mode-hook):
4889         Move text-mode-hook-identify to default.
4891         * lisp/mouse.el (minor-mode-menu-from-indicator):
4892         Handle non-function members of minor-mode-map-alist.  (Bug#20201)
4894         * lisp/help-fns.el (describe-function): More type checking.
4895         (describe-function-1): Handle changed symbol-function.  (Bug#20201)
4897         * build-aux/gitlog-to-emacslog: Convert "Fixes:" to "(Bug#)".
4898         (Bug#20325)
4900 2015-04-24  Andreas Schwab  <schwab@linux-m68k.org>
4902         shr: strip leading whitespace when expanding URLs
4903         * lisp/net/shr.el (shr-expand-url): Strip leading whitespace from URL.
4905 2015-04-24  Eli Zaretskii  <eliz@gnu.org>
4907         Clarify "co-authored" some more
4909         * CONTRIBUTE: Clarify "co-authored-by".  (Bug#20400)
4911         Clarify doc strings of functions that search for properties
4912         * src/textprop.c (Fnext_char_property_change)
4913         (Fprevious_char_property_change)
4914         (Fnext_single_char_property_change)
4915         (Fprevious_single_char_property_change, Fnext_property_change)
4916         (Fnext_single_property_change, Fprevious_property_change)
4917         (Fprevious_single_property_change): Clarify doc strings wrt return
4918         value and the optional LIMIT argument.  (Bug#20411)
4920 2015-04-24  Glenn Morris  <rgm@gnu.org>
4922         * test/automated/message-mode-tests.el (message-mode-propertize):
4923         Handle non-writable HOME; eg on hydra.nixos.org.
4925 2015-04-23  Eli Zaretskii  <eliz@gnu.org>
4927         Avoid starting threads by w32-shell-execute
4928         * src/w32fns.c (Fw32_shell_execute): Convert "file:///" URLs into
4929         local file names, before invoking ShellExecute.  (Bug#20220)
4931 2015-04-23  Martin Rudalics  <rudalics@gmx.at>
4933         Fix following doc-links in `widget-documentation-link-action'
4934         * lisp/wid-edit.el (widget-documentation-link-action): Make
4935         following doc-links less simplistic (Bug#20398).
4937 2015-04-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
4939         Improve EUDC manual
4940         * eudc.texi (Troubleshooting): New LDAP troubleshooting subsection.
4942 2015-04-22  Paul Eggert  <eggert@cs.ucla.edu>
4944         Omit needless "\ " after multibyte then newline
4945         * src/print.c: Include <c-ctype.h>, for c_isxdigit.
4946         (print_object): When print-escape-multibyte is non-nil and a
4947         multibyte character is followed by a newline or formfeed, followed
4948         by a hex digit, don't output a needless "\ " before the hex digit.
4949         * test/automated/print-tests.el (print-hex-backslash): New test.
4951 2015-04-22  Oleh Krehel  <ohwoeowho@gmail.com>
4953         Add a new `inhibit-message' variable
4954         * src/xdisp.c (syms_of_xdisp): Define a boolean `inhibit_message'.
4955         (message3): Don't call `message3_nolog' (i.e. use the Echo Area) when
4956         `inhibit_message' is non-zero.
4957         * etc/NEWS: Add an entry.
4958         * doc/lispref/display.texi: Add an entry for `inhibit-message',
4959           mention it in `message'.
4961 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
4963         Fix last fix in `display-buffer-record-window'.
4964         * lisp/window.el (display-buffer-record-window): Fix last fix.
4966 2015-04-22  Eli Zaretskii  <eliz@gnu.org>
4968         Minor edits in CONTRIBUTE
4969         * CONTRIBUTE: Rearrange instructions about log messages.
4970         Use "Git" capitalized all over.
4971         Use 2 spaces between sentences.
4973 2015-04-22  Artur Malabarba  <bruce.connor.am@gmail.com>
4975         * lisp/files.el (basic-save-buffer): Fix argument
4977         * lisp/cus-edit.el (custom-file): Consider init-file-had-error
4978         In case `(and (null custom-file) init-file-had-error)' do the same
4979         thing we'd do if `(null user-init-file)', which is to either error out
4980         or return nil.  This is in line with `custom-save-all' which would
4981         throw an error in that situation. (bug#20355)
4983         * lisp/emacs-lisp/package.el: Hide lower-priority packages in menu
4984         (package-menu-hide-low-priority): New variable, see its doc.
4985         (package-archive-priorities): Update doc.
4986         (package-desc-priority): New function.
4987         (package-desc-priority-version): Use it.
4988         (package--remove-hidden): New function.
4989         (package-menu--refresh): Use it.
4991         * lisp/emacs-lisp/package.el: Implement displaying obsolete packages
4992         (package-menu--hide-obsolete): New variable.
4993         (package--remove-hidden): Use it.
4994         (package-menu-hide-obsolete): New interactive function to toggle
4995         the variable.
4996         (package--quick-help-keys): Document it.
4997         (package-menu-async): Add :version tag.
4998         (package-menu-mode-map): Bind package-menu-hide-obsolete.
4999         (package-desc-status): Indicate non-installed obsolete packages as
5000         avail-obso.
5001         (package-menu-mark-install): Allow installation of avail-obso.
5002         (package-menu--status-predicate): Sort avail-obso with available.
5004 2015-04-22  Alan Mackenzie  <acm@muc.de>
5006         On C-y, stop some text property entries being written into buffer-undo-list
5007         lisp/subr.el (remove-yank-excluded-properties): enclose the code in
5008         `with-silent-modifications'.
5010 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
5012         In display-buffer-record-window record selected window if necessary.
5013         * lisp/window.el (display-buffer-record-window): Store selected window
5014         if it differs from 3rd element of 'quit-restore' parameter (Bug#20353).
5016 2015-04-22  Tassilo Horn  <tsdh@gnu.org>
5018         Fix reftex-citation bug
5019         * reftex-cite.el (reftex-extract-bib-entries): Fix
5020         `wrong-type-argument stringp nil' error that occurs when AUCTeX
5021         integration is enabled and there are no citations in the document
5022         so far.
5024 2015-04-21  Dmitry Gutov  <dgutov@yandex.ru>
5026         Add or reset based on the presence of MERGE_HEAD
5027         * lisp/vc/vc-git.el (vc-git-find-file-hook): Add
5028         `vc-git-resolve-when-done' to `after-save-hook' in either case.
5029         (vc-git-conflicted-files): Add a TODO.
5030         (vc-git-resolve-when-done): Depending on the presence of
5031         MERGE_HEAD, either update the resolved file in the index, or
5032         remove it from there.  (Bug#20292)
5034 2015-04-21  Glenn Morris  <rgm@gnu.org>
5036         * lisp/custom.el (custom-declare-group): No need to purecopy
5037         custom-current-group-alist members following recent change to set
5038         it to nil before dumping.
5040         * build-aux/gitlog-to-emacslog: Get footer from ChangeLog.2.
5041         (Bug#20399)
5043 2015-04-21  Daniel Colascione  <dancol@dancol.org>
5045         Unbreak no-op buffer save message
5046         * lisp/files.el (save-buffer): Pass interactive flag to `basic-save-buffer`
5047         (basic-save-buffer): Accept called-interactively as an argument instead of
5048         directly invoking called-interactively-p, which will always yield nil
5049         in that context.
5051 2015-04-21  Alan Mackenzie  <acm@muc.de>
5053         CC Mode: Do nothing in before/after-change-functions for text property changes
5054         Fixes bug#20266.
5055         lisp/progmodes/cc-mode.el (c-basic-common-init): Make
5056         yank-handled-properties buffer local, and remove 'category from it.
5057         (c-called-from-text-property-change-p): New function.
5058         (c-before-change): Don't do anything if a call of the new function
5059         returns non-nil.
5060         (c-after-change): Don't do much if a call of the new function returns
5061         non-nil.
5062         (c-extend-after-change-region): Put changes to text property 'fontified
5063         inside c-save-buffer-state.
5065 2015-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
5067         Fix byte-compiler warnings about looking-back.
5068         * lisp/vc/log-view.el (log-view-end-of-defun-1):
5069         * lisp/textmodes/tex-mode.el (latex-forward-sexp-1):
5070         * lisp/textmodes/reftex-ref.el (reftex-goto-label):
5071         * lisp/textmodes/bibtex.el (bibtex-insert-kill):
5072         * lisp/progmodes/sh-script.el (sh--maybe-here-document):
5073         * lisp/progmodes/ruby-mode.el (ruby-end-of-defun):
5074         * lisp/progmodes/ada-mode.el (ada-in-numeric-literal-p):
5075         * lisp/org/org.el (org-insert-heading, org-sort-entries):
5076         * lisp/org/org-mouse.el (org-mouse-end-headline)
5077         (org-mouse-context-menu):
5078         * lisp/org/org-clock.el (org-clock-cancel):
5079         * lisp/man.el (Man-default-man-entry):
5080         * lisp/mail/rmail.el (rmail-get-new-mail, rmail-insert-inbox-text)
5081         (rmail-ensure-blank-line):
5082         * lisp/mail/footnote.el (Footnote-delete-footnote):
5083         * lisp/mail/emacsbug.el (report-emacs-bug):
5084         * lisp/info.el (Info-follow-reference, Info-fontify-node):
5085         * lisp/info-look.el (info-lookup-guess-custom-symbol):
5086         * lisp/help-fns.el (help-fns--key-bindings):
5087         * lisp/files.el (hack-local-variables):
5088         * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-cmd-complete)
5089         (viper-get-ex-pat, ex-expand-filsyms, viper-get-ex-file)
5090         (viper-complete-filename-or-exit):
5091         * lisp/emulation/viper-cmd.el (viper-backward-indent):
5092         * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent):
5093         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
5094         * lisp/cus-edit.el (custom-face-edit-value-create):
5095         * lisp/calendar/todo-mode.el (todo-set-item-priority)
5096         (todo-filter-items-1, todo-convert-legacy-files)
5097         (todo-prefix-overlays): Add explicit second arg to looking-back.
5099 2015-04-20  Glenn Morris  <rgm@gnu.org>
5101         Avoid non-nil current-load-list at startup
5102         * src/process.c (init_process_emacs): Move Fprovide statement...
5103         (syms_of_process): ... to here.
5105         * lisp/loadup.el (custom-current-group-alist): Reset before dumping.
5107         * lisp/startup.el (command-line) <site-run-file>: Avoid rogue value in emacs -Q.
5109 2015-04-20  Ludovic Courtès  <ludo@gnu.org>
5111         * lisp/loadup.el (exec-path): Avoid storing build-time PATH in binary.
5112         (Bug#20330)
5114 2015-04-20  Glenn Morris  <rgm@gnu.org>
5116         * lisp/cus-start.el (exec-path): Set standard value, to avoid rogue.
5118         Tweak exec-path in uninstalled case
5119         * src/callproc.c (init_callproc): If running uninstalled, do not
5120         include eventual installation libexec directory in exec-path.
5122 2015-04-20  Artur Malabarba  <bruce.connor.am@gmail.com>
5124         * lisp/emacs-lisp/package.el: Filter by multiple keywords and cache keywords
5125         (package-menu-filter): Accept a list of keywords.
5126         (package--all-keywords): New variable to cache known keywords.
5127         (package-all-keywords): Populate it if necessary.
5128         (package-refresh-contents): Reset it.
5130         * lisp/emacs-lisp/package.el: Make archive and status pseudo-keywords
5131         (package--has-keyword-p): Understand "arc:xxxx" and "status:xxxx"
5132         as special keywords which match agains package archive and status
5133         respectively.
5134         * etc/NEWS: Document it.
5136 2015-04-20  Eli Zaretskii  <eliz@gnu.org>
5138         Describe and index "empty overlays".
5139         * doc/lispref/display.texi (Overlays): Improve indexing.
5140         (Managing Overlays): Describe "empty" overlays.
5141         (Overlay Properties, Finding Overlays): Add cross-reference to
5142         where empty overlays are described.
5144 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
5146         Spelling fixes
5148         Quote 'like this' in top-level files
5149         * CONTRIBUTE, INSTALL, Makefile.in, README, configure.ac, make-dist:
5150         Prefer to single-quote 'like this' (instead of the older style
5151         `like this').
5152         * configure.ac: Fix some space-before-tab problems that 'git commit'
5153         complained about.
5155         Use bool for boolean in textprop.c, undo.c
5156         * src/textprop.c (soft, hard): Now constants instead of macros.
5157         (validate_plist): Rewrite to avoid need for boolean local.
5158         (interval_has_all_properties, interval_has_some_properties)
5159         (interval_has_some_properties_list, add_properties)
5160         (remove_properties, get_char_property_and_overlay)
5161         (Fnext_single_char_property_change)
5162         (Fprevious_single_char_property_change, add_text_properties_1)
5163         (Fremove_text_properties, Fremove_list_of_text_properties)
5164         (copy_text_properties):
5165         * src/tparam.c (tparam1):
5166         * src/undo.c (record_change, record_property_change)
5167         (syms_of_undo):
5168         Use 'true' and 'false' for booleans.
5170 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
5172         Call `smerge-start-session' even when dealing with a stash conflict
5173         * lisp/vc/vc-git.el (vc-git-find-file-hook):
5174         Call `smerge-start-session' even when dealing with a stash
5175         conflict (bug#20292).
5177 2015-04-19  Vibhav Pant  <vibhavp@gmail.com>
5179         Add option to eshell/clear to clear scrollback.
5180         * lisp/eshell/esh-mode.el (eshell/clear-scrollback): New function.
5181         (eshell/clear): Add an optional SCROLLBACK argument. If non-nil,
5182         scrollback contents are cleared.
5183         * etc/NEWS: Describe change.
5184         * doc/misc/eshell.texi: Add entry for `clear'.
5186 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
5188         * src/widget.c (set_frame_size): Prefer 'int' to 'unsigned'
5189         where either will do.
5191 2015-04-19  Steve Purcell  <steve@sanityinc.com>
5193         Assume package archive-contents are UTF8-encoded
5194         * lisp/emacs-lisp/package.el (package--read-archive-file):
5195         Set `coding-system-for-read' explicitly to 'utf-8 when reading the
5196         downloaded and cached archive-contents files, so that non-ASCII
5197         characters in package descriptions are displayed correctly in the
5198         `list-packages' menu. (Bug#20231)
5200 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
5202         Abort when looking at stashed changes
5203         * lisp/vc/vc-git.el (vc-git-find-file-hook): Abort when looking at
5204         stashed changes (bug#20292).
5206 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
5208         Refactor low-level printing for simplicity
5209         * src/print.c (PRINTDECLARE): Remove.  Move its contents into
5210         PRINTPREPARE; doable now that we assume C99.  All callers changed.
5211         (PRINTCHAR): Remove, as it adds more mystery than clarity.
5212         All callers changed.
5213         (strout): Assume that caller computes length.  All callers changed.
5214         (print_c_string): New function.
5215         (write_string, write_string_1): Compute length instead of asking
5216         the caller to compute it.  All callers changed.
5217         (write_string): Simplify by using write_string_1.
5218         (write_string_1): Simplify by using print_c_string.
5219         (Fterpri): Compute default val more clearly.
5220         (Fprin1_to_string, print_object):
5221         Assume C99 to avoid unnecessary nesting.
5222         (print_object): Prefer print_c_string to multiple printchar, or
5223         to calling strout with -1 length.  Coalesce into sprintf when
5224         this is easy.
5226 2015-04-18  Paul Eggert  <eggert@cs.ucla.edu>
5228         Prefer "Bug#1234" in commit messages (Bug#20325)
5229         * .dir-locals.el (log-edit-mode): Don't rewrite Bug#,
5230         as this isn't useful for Git.
5231         * CONTRIBUTE: Suggest "Bug#1234" instead of "Fixes: debbugs:1234".
5233 2015-04-18  Glenn Morris  <rgm@gnu.org>
5235         * lisp/files.el (auto-mode-alist): Use conf mode for gitconfig, hgrc.
5236         (Bug#19506)
5238 2015-04-18  Tom Willemse  <tom@ryuslash.org>  (tiny change)
5240         * lisp/elec-pair.el (electric-pair-post-self-insert-function): Do not use `chomp' as a function.
5241         (Bug#19505)
5243 2015-04-18  Glenn Morris  <rgm@gnu.org>
5245         * lisp/net/browse-url.el (browse-url, browse-url-at-point): Doc fixes.
5247         * doc/emacs/misc.texi (Sorting): Small edit.
5248         (Bug#19896)
5250         * admin/admin.el (make-manuals): Add emacs-xtra in pdf and ps.
5252 2015-04-18  Simen Heggestøyl  <simenheg@gmail.com>
5254         css-mode.el: Support multi-line comment filling
5255         (Bug#20256)
5256         * lisp/textmodes/css-mode.el (css-fill-paragraph): Support multi-line
5257         comment filling.
5258         (css-adaptive-fill): New function.
5259         (css-mode): Set `adaptive-fill-function'.
5260         (scss-mode): Set `comment-continue'.
5262 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
5264         * lisp/emacs-lisp/seq.el (seq-concatenate, seq-into): Better error messages.
5266 2015-04-18  Ivan Radanov Ivanov  <ivanradanov@yahoo.co.uk>  (tiny change)
5268         Minor improvements in Bulgarian input methods
5269         * lisp/leim/quail/cyrillic.el (bulgarian-phonetic, bulgarian-bds):
5270         Replace U+042C with U+045D, as the former character is not used in
5271         the modern Bulgarian language.
5272         (Bug#20350)
5274 2015-04-17  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
5276         Improve EUDC manual
5277         * eudc.texi (LDAP Configuration): Mention simple and SASL
5278         authentication schemes.  Add index items.  Shorten example server
5279         name.
5281 2015-04-17  Dmitry Gutov  <dgutov@yandex.ru>
5283         Don't show both feature and function with the same name
5284         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
5285         Don't show both feature and function with the same name.
5287         (elisp--xref-identifier-location): Skip variable, if it's also a functiong
5288         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
5289         Avoid returning both the variable and the function for the same
5290         minor mode.
5292 2015-04-17  Wolfgang Jenkner  <wjenkner@inode.at>
5294         Fix fontification of keywords clobbered by the prompt.
5295         * lisp/comint.el (comint-output-filter): Remove the uses of
5296         with-silent-modifications I introduced as part of the last change.
5297         This fixes, e.g., erratically missing highlighting when running
5298         ./configure --help; ./configure in a shell-mode buffer with
5299         compilation-shell-minor-mode turned on.
5301 2015-04-17  Glenn Morris  <rgm@gnu.org>
5303         * admin/authors.el (authors-valid-file-names, authors-renamed-files-alist): Additions.
5305 2015-04-17  Stefan Monnier  <monnier@iro.umontreal.ca>
5307         * lisp/indent.el (indent-region): Don't deactivate the mark
5308         (Bug#20357)
5310 2015-04-17  Sam Steingold  <sds@gnu.org>
5312         lisp/net/rcirc.el (defun-rcirc-command): mark `target' as ignorable
5314 2015-04-16  Leo Liu  <sdl.web@gmail.com>
5316         * lisp/progmodes/xref.el (xref-push-marker-stack): Add optional arg.
5318 2015-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
5320         * lisp/erc/erc-pcomplete.el (erc-pcomplete): Don't use `pcomplete' any more.
5322 2015-04-16  Glenn Morris  <rgm@gnu.org>
5324         * admin/authors.el (authors-lax-changelogs): Update for erc changes.
5326 2015-04-16  Eli Zaretskii  <eliz@gnu.org>
5328         Don't link with -ljpeg on MS-Windows, to avoid dependency on DLL
5329         * configure.ac (LIBJPEG): Leave it empty for MinGW.
5331 2015-04-16  Glenn Morris  <rgm@gnu.org>
5333         * lisp/replace.el (query-replace-from-to-separator): Delay initialization
5334         to avoid rogue setting after startup.
5336 2015-04-16  Paul Eggert  <eggert@cs.ucla.edu>
5338         Pre-4.6 GCC succeeds with unknown option
5339         * configure.ac (emacs_cv_prog_cc_nopie): Port to pre-4.6 GCC.
5340         (Bug#20338)
5342 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
5344         '[:graph:]' now excludes whitespace, not just ' '
5345         * doc/lispref/searching.texi (Char Classes):
5346         * lisp/emacs-lisp/rx.el (rx): Document [:graph:] to be [:print:]
5347         sans whitespace (not sans space).
5348         * src/character.c (graphicp): Exclude all Unicode whitespace chars,
5349         not just space.
5350         * src/regex.c (ISGRAPH): Exclude U+00A0 (NO-BREAK SPACE).
5352 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
5354         (looking-back): Make the second arg non-optional.
5355         * lisp/subr.el (substitute-key-definition-key, special-form-p)
5356         (macrop): Drop deprecated second arg to indirect-function.
5357         (looking-back): Make the second arg non-optional.
5359         * lisp/org/org-clock.el (org-x11idle-exists-p): Be honest about which
5360         command is actually sent to the shell.
5362 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
5364         Port jpeg configuration to Solaris 10 with Sun C
5365         * configure.ac: Check for jpeglib 6b by trying to link it, instead
5366         of relying on cpp magic that has problems in practice.  Check for
5367         both jpeglib.h and jerror.h features.  Remove special case for
5368         mingw32, which should no longer be needed (and if it were needed,
5369         should now be addressable by hotwiring emacs_cv_jpeglib).
5370         (Bug#20332)
5372 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
5374         Move some Elisp-specific code from lisp-mode.el to elisp-mode.el
5375         * lisp/emacs-lisp/lisp-mode.el (lisp--el-font-lock-flush-elisp-buffers):
5376         Move to elisp-mode.el.
5377         (lisp-mode-variables): (Re)move elisp-specific settings.
5378         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add settings removed
5379         from lisp-mode-variables.
5380         (elisp--font-lock-flush-elisp-buffers): New function, moved from
5381         lisp-mode.el.
5383         * lisp/emacs-lisp/lisp-mode.el (lisp--el-non-funcall-position-p):
5384         Avoid pathological slowdown at top-level in large file.
5386 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
5388         Standardize names of ChangeLog history files
5389         Suggested by Glenn Morris in:
5390         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
5391         * Makefile.in (install-man): Don't treat ChangeLog.1 as a man page.
5392         * doc/man/ChangeLog.1: Rename back from doc/man/ChangeLog.01.
5393         * lisp/erc/ChangeLog.1: New file, containing the old contents of ...
5394         * lisp/erc/ChangeLog.01, lisp/erc/ChangeLog.02, lisp/erc/ChangeLog.03:
5395         * lisp/erc/ChangeLog.04, lisp/erc/ChangeLog.05, lisp/erc/ChangeLog.06:
5396         * lisp/erc/ChangeLog.07, lisp/erc/ChangeLog.08, lisp/erc/ChangeLog.09:
5397         Remove.
5399         Split top-level entries into pre- and post-April 7
5400         This more clearly distingiushes pre-April-7 ChangeLog entries (which
5401         are for top-level files only) from post-April-7 entries (which are
5402         about files at all levels.  Problem reported by Glenn Morris in:
5403         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
5404         * ChangeLog.1: Move post-April-7 entries from here ...
5405         * ChangeLog.2: ... to this new file.
5406         * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump to 2.
5408 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
5410         Fix recent cus-start changes that added customize-rogues
5411         * lisp/cus-start.el (custom-delayed-init-variables): Initialize the
5412         vars early.
5413         * lisp/loadup.el ("cus-start"): Move to the end to reduce customize-rogue.
5415 2015-04-15  Nicolas Petton  <nicolas@petton.fr>
5417         Define cl-concatenate as an alias to seq-concatenate
5418         * lisp/emacs-lisp/cl-extra.el (cl-concatenate): Removes duplicated
5419           code by making cl-concatenate an alias to seq-concatenate.
5421 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
5423         * src/lread.c (intern_1): Make sure we'd find the symbol we add
5424         (Bug#20334)
5425         * src/xfaces.c (resolve_face_name): Don't use `intern' with Lisp_Strings.
5427 2015-04-15  Glenn Morris  <rgm@gnu.org>
5429         * doc/lispref/sequences.texi (Sequence Functions): Fix typo in previous.
5431 2015-04-15  Lars Magne Ingebrigtsen  <larsi@gnus.org>
5433         Clean up gnus-uu saving code slightly
5434         * gnus-uu.el (gnus-uu-save-article): Make the
5435         save-restriction/widen calls make more sense.
5437 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
5439         Make [:graph:] act like [:print:] sans space
5440         In POSIX [[:print:]] is equivalent to [ [:graph:]], so change
5441         [:graph:] so that it matches everything that [:print:] does,
5442         except for space.
5443         * doc/lispref/searching.texi (Char Classes):
5444         * etc/NEWS:
5445         * lisp/emacs-lisp/rx.el (rx):
5446         Document [:graph:] to be [:print:] sans ' '.
5447         * src/character.c, src/character.h (graphicp): New function.
5448         * src/regex.c (ISGRAPH) [emacs]: Use it.
5449         (BIT_GRAPH): New macro.
5450         (BIT_PRINT): Increase to 0x200, to make room for BIT_GRAPH.
5451         (re_wctype_to_bit) [! WIDE_CHAR_SUPPORT]:
5452         Return BIT_GRAPH for RECC_GRAPH.
5453         (re_match_2_internal) [emacs]: Use ISGRAPH if BIT_GRAPH,
5454         and ISPRINT if BIT_PRINT.
5456 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
5458         automated/eieio-test-methodinvoke.el (make-instance) <(subclass C)>:
5459         Don't use call-next-method in a cl-defmethod.
5461         * lisp/emacs-lisp/eieio-core.el (eieio--class): Derive from cl--class
5462         (eieio--class-p): Remove, provided by cl-defstruct.
5464 2015-04-14  Nicolas Petton  <nicolas@petton.fr>
5466         Add seq-intersection and seq-difference to the seq library
5467         * lisp/emacs-lisp/seq.el (seq-intersection, seq-difference): New
5468         functions.
5469         * test/automated/seq-tests.el: Add tests for seq-intersection and
5470         seq-difference.
5471         * doc/lispref/sequences.texi: Add documentation for seq-intersection
5472         and seq-difference.
5474 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
5476         * eieio-core.el (class-abstract-p): Don't inline, to avoid leaking internals
5478 2015-04-14  Sam Steingold  <sds@gnu.org>
5480         package--ensure-init-file: widen requires save-restriction
5482 2015-04-14  Eli Zaretskii  <eliz@gnu.org>
5484         Improve the commit-msg Git hook for unibyte environments
5485         * build-aux/git-hooks/commit-msg: Set LC_ALL=C, before running Awk
5486         in unibyte environments.  (Suggested by Paul Eggert
5487         <eggert@cs.ucla.edu>.)  Use a more accurate approximation to
5488         [:print:], based on UTF-8 sequences of the unprintable characters.
5490         Describe problems with cursor caused by Windows Magnifier
5491         * etc/PROBLEMS: Describe the problem with cursor shape on
5492         MS-Windows due to Windows Magnifier.
5493         (Bug#20271)
5495         Make [:print:] support non-ASCII characters correctly
5496         * src/regex.c (ISPRINT): Call 'printablep' for multibyte characters.
5497         (BIT_PRINT): New bit mask.
5498         (re_wctype_to_bit): Return BIT_PRINT for RECC_PRINT.
5499         * src/character.c (printablep): New function.
5500         * src/character.h (printablep): Add prototype.
5501         * lisp/emacs-lisp/rx.el (rx): Doc fix: document the new behavior
5502         of 'print', 'alnum', and 'alphabetic'.
5503         * doc/lispref/searching.texi (Char Classes): Document the new
5504         behavior of [:print:].
5505         * etc/NEWS: Mention the new behavior of [:print:].
5507         Assign correct general-category and names to surrogates
5508         * admin/unidata/unidata-gen.el (unidata-setup-list): Don't ignore
5509         surrogates.  This avoids assigning them the default
5510         general-category of 'Cn', i.e. unassigned codepoints.
5511         (unidata-get-name): Give surrogates synthetic names.
5513 2015-04-14  Paul Eggert  <eggert@cs.ucla.edu>
5515         Assume C89 offsetof in xterm.c, xlwmenu.c
5516         * lwlib/xlwmenu.c (offset):
5517         * src/xterm.c (cvt_string_to_pixel_args):
5518         Use offsetof, not XtOffset.
5520 2015-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
5522         Assume C89 offsetof in widget.c
5523         * src/widget.c (XtOffset): Remove; no longer needed.
5524         (offset): Implement via offsetof instead of via pre-C89 XtOffset hack.
5526         Fix think-o in previous patch
5527         * src/window.c (count_windows, get_leaf_windows):
5528         Don't optimize count_windows incorrectly.
5530 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
5532         Avoid some int overflows in window.c
5533         * src/print.c (print_object):
5534         * src/window.c (sequence_number):
5535         * src/window.h (struct window.sequence_number):
5536         Don't assume window sequence number fits in int.
5537         * src/window.c (window_select_count):
5538         * src/window.h (struct window.use_time, window_select_count):
5539         Don't assume window use time fits in int.
5540         * src/window.c (Fsplit_window_internal):
5541         Don't assume user-supplied integer, or sum, fits in int.
5542         (Fset_window_configuration, count_windows, get_leaf_windows)
5543         (save_window_save, Fcurrent_window_configuration):
5544         Use ptrdiff_t for object counts.
5545         (Fset_window_configuration): Omit unused local 'n'.
5546         (count_windows): Simplify by writing in terms of get_leaf_windows.
5547         (get_leaf_windows): Don't store through FLAT if it's null.
5548         (extract_dimension): New static function.
5549         (set_window_margins, set_window_fringes, set_window_scroll_bars):
5550         Use it to avoid undefined behavior when converting user-supplied
5551         integer to 'int'.
5553 2015-04-13  Glenn Morris  <rgm@gnu.org>
5555         Minor doc copyedits
5556         * doc/emacs/custom.texi (Init Examples): Tweak example, replace typo.
5557         * doc/lispintro/emacs-lisp-intro.texi (condition-case): Typo fix.
5559 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
5561         [Gnus] Catch the invalid-operation that idna.el will issue
5562         * lisp/gnus/gnus-art.el (gnus-use-idna):
5563         * lisp/gnus/gnus-sum.el (gnus-summary-idna-message):
5564         * lisp/gnus/message.el (message-use-idna):
5565         Catch the invalid-operation that idna.el will issue.
5567 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
5569         * doc/lispref/processes.texi (Shell Arguments): Prefer diff -u.
5571 2015-04-13  Sam Steingold  <sds@gnu.org>
5573         package--ensure-init-file: widen before looking for "(package-initialize)"
5575 2015-04-13  Dmitry Gutov  <dgutov@yandex.ru>
5577         Change diff-switches default to `-u'
5578         (Bug#20290)
5579         * doc/emacs/files.texi (Comparing Files): Document the new default
5580         value of `diff-switches'.
5581         * doc/emacs/trouble.texi (Sending Patches): Document the preference
5582         for unified diff format.  Escape the plus in the suggested `-F' regexp
5583         value.
5584         * lisp/vc/diff.el (diff-switches): Change the default to `-u'.
5586 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
5588         (gnus-group--setup-tool-bar-update): Fix last change
5589         * lisp/gnus/gnus-group.el (gnus-group--setup-tool-bar-update):
5590         cursor-sensor-functions should be a list of functions.
5592 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
5594         Use gmm-called-interactively-p in Gnus
5595         * lisp/gnus/gnus-topic.el (gnus-topic-mode): Use gmm-called-interactively-p.
5597 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
5599         * lisp/loadup.el ("cus-start"): Load it after loaddefs.el
5600         (Bug#20321)
5601         * lisp/cus-start.el (read-buffer-function): Don't advertize
5602         iswitchb-read-buffer any more.
5603         (iswitchb): Don't tweak this obsolete group any more.
5605 2015-04-13  Artur Malabarba  <bruce.connor.am@gmail.com>
5607         * lisp/emacs-lisp/package.el: Fix package--ensure-init-file
5609         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Implement docstrings
5610         Adding a string after a constructor's argument list will use
5611         that string as the constructor function docstring.  If this string
5612         is absent but the struct itself was given a docstring, use that as
5613         the constructor's docstring.
5614         Fixes (bug#17284).
5616 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
5618         Deprecate `intangible' and `point-entered' properties
5619         * lisp/emacs-lisp/cursor-sensor.el: New file.
5620         * lisp/simple.el (pre-redisplay-functions): New hook.
5621         (redisplay--pre-redisplay-functions): New function.
5622         (pre-redisplay-function): Use it.
5623         (minibuffer-avoid-prompt): Mark obsolete.
5624         (redisplay--update-region-highlight): Adapt it to work as a function on
5625         pre-redisplay-functions.
5626         * lisp/cus-start.el (minibuffer-prompt-properties--setter): New fun.
5627         (minibuffer-prompt-properties): Use it.  Use cursor-intangible rather
5628         than point-entered to make the prompt intangible.
5629         * lisp/forms.el: Move `provide' calls to the end.
5630         (forms-mode): Don't use `run-hooks' on a local var.
5631         (forms--make-format, forms--make-format-elt-using-text-properties):
5632         Use cursor-intangible rather than `intangible'.
5633         (forms-mode): Enable cursor-intangible-mode.
5634         * lisp/isearch.el (isearch-mode): Use defvar-local.
5635         (cursor-sensor-inhibit): Declare.
5636         (isearch-mode): Set cursor-sensor-inhibit.
5637         (isearch-done): Set it back.
5638         (isearch-open-overlay-temporary, isearch-open-necessary-overlays)
5639         (isearch-close-unnecessary-overlays): Don't bother with `intangible'
5640         any more.
5641         * lisp/ses.el (ses-localvars): Remove `mode-line-process'.
5642         (ses-sym-rowcol, ses-cell-value, ses-col-width, ses-col-printer):
5643         Add Edebug spec.
5644         (ses-goto-print, ses-print-cell, ses-adjust-print-width)
5645         (ses-goto-data, ses-setup, ses-copy-region): Don't let-bind
5646         inhibit-point-motion-hooks any more.
5647         (ses--cell-at-pos, ses--curcell): New functions, extracted from
5648         ses-set-curcell.
5649         (ses-set-curcell): Use them.
5650         (ses-print-cell, ses-setup): Use cursor-intangible instead of
5651         `intangible'.  Make sure cursor-intangible isn't sticky at BOB.
5652         (ses-print-cell-new-width, ses-reprint-all, ses-recalculate-all):
5653         Use ses--cell-at-pos.
5654         (ses--mode-line-process, ses--cursor-sensor-highlight): New functions,
5655         extracted from ses-command-hook.  Make them work with multiple windows
5656         displaying the same buffer.
5657         (ses-mode): Use them via mode-line-process and pre-redisplay-functions.
5658         Enable cursor-intangible-mode.
5659         (ses-command-hook): Remove cell highlight and mode-line update code.
5660         (ses-forward-or-insert, ses-copy-region-helper, ses-sort-column):
5661         Update for new name of text-property holding the cell name.
5662         (ses-rename-cell): Don't mess with mode-line-process.
5663         * lisp/erc/erc-stamp.el (erc-add-timestamp): Use the new
5664         cursor-sensor-functions property instead of point-entered.
5665         (erc-insert-timestamp-right, erc-format-timestamp):
5666         Use cursor-intangible rather than `intangible'.
5667         (erc-munge-invisibility-spec): Use add-to-invisibility-spec and
5668         remove-from-invisibility-spec.  Enable cursor-intangible-mode and
5669         cursor-sensor-mode if needed.
5670         (erc-echo-timestamp): Adapt to calling convention of
5671         cursor-sensor-functions.
5672         (erc-insert-timestamp-right): Remove unused vars `current-window' and
5673         `indent'.
5674         * lisp/gnus/gnus-group.el (gnus-tmp-*): Declare.
5675         (gnus-update-group-mark-positions): Remove unused `topic' var.
5676         (gnus-group-insert-group-line): Remove unused var `header'.
5677         (gnus-group--setup-tool-bar-update): New function.
5678         (gnus-group-insert-group-line): Use it.
5679         (gnus-group-update-eval-form): Declare local
5680         dynamically-bound variables.
5681         (gnus-group-unsubscribe-group): Use \` and \' to match string bounds.
5682         * lisp/gnus/gnus-topic.el (gnus-topic-jump-to-topic)
5683         (gnus-group-prepare-topics, gnus-topic-update-topic)
5684         (gnus-topic-change-level, gnus-topic-catchup-articles)
5685         (gnus-topic-remove-group, gnus-topic-delete, gnus-topic-indent):
5686         Use inhibit-read-only.
5687         (gnus-topic-prepare-topic): Use gnus-group--setup-tool-bar-update.
5688         (gnus-topic-mode): Use define-minor-mode and derived-mode-p.
5689         * lisp/textmodes/reftex-index.el (reftex-display-index):
5690         Use cursor-intangible-mode if available.
5691         (reftex-index-post-command-hook): Check cursor-intangible.
5692         * lisp/textmodes/reftex-toc.el (reftex-toc):
5693         Use cursor-intangible-mode if available.
5694         (reftex-toc-recenter, reftex-toc-post-command-hook):
5695         Check cursor-intangible.
5696         * lisp/textmodes/sgml-mode.el: Use lexical-binding.
5697         (sgml-tag): Use cursor-sensor-functions instead of point-entered.
5698         (sgml-tags-invisible): Use with-silent-modifications and
5699         inhibit-read-only.  Enable cursor-sensor-mode.
5700         (sgml-cursor-sensor): Rename from sgml-point-entered and adjust to
5701         calling convention of cursor-sensor-functions.
5702         * lisp/textmodes/table.el (table-cell-map-hook, table-load-hook)
5703         (table-point-entered-cell-hook, table-point-left-cell-hook):
5704         Don't autoload.
5705         (table-cell-entered-state): Remove var.
5706         (table--put-cell-point-entered/left-property)
5707         (table--remove-cell-properties):
5708         Use cursor-sensor-functions rather than point-entered/left.
5709         (table--point-entered/left-cell-function): Merge
5710         table--point-entered-cell-function and table--point-left-cell-function
5711         and adjust to calling convention of cursor-sensor-functions.
5713         Update ldef-boots.el
5715         * lisp/emacs-lisp/pcase.el (pcase-dolist): Autoload as well.
5717         * doc/misc/eieio.texi: Don't advertize now obsolete constructs
5719         Collapse successive char deletions in the undo log
5720         * src/cmds.c (remove_excessive_undo_boundaries): New function,
5721         extracted from Fself_insert_command.
5722         (Fdelete_char, Fself_insert_command): Use it.
5723         * src/fileio.c (Fmake_symbolic_link): Rename arg to `target'.
5724         * src/keyboard.c (syms_of_keyboard): `top-level' shouldn't be special.
5726         xterm and OSC 52: Add NEWS entry, and tweak the code
5727         * lisp/term/xterm.el (gui-set-selection) <nil>: Move method definition to
5728         top-level.
5729         (terminal-init-xterm-activate-set-selection): Set a terminal property.
5730         (xterm--set-selection): Use it instead of checking the value of
5731         `terminal-initted'.  Don't use string-bytes.
5733 2015-04-13  Philipp Stephani  <p.stephani2@gmail.com>
5735         xterm.el: Implement OSC-52 functionality for setting the X selection
5736         * lisp/term/xterm.el (xterm-max-cut-length): New var.
5737         (xterm--set-selection, terminal-init-xterm-activate-set-selection): New funs.
5738         (terminal-init-xterm, xterm--version-handler): Use them.
5740 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
5742         Remove left over code from when we used an obsolete/loaddefs.el file
5743         * lisp/subr.el (do-after-load-evaluation): Remove left over code from when
5744         we used an obsolete/loaddefs.el file.
5746         * cedet/semantic/fw.el: Use declare.
5747         * cedet/semantic/fw.el (semantic-exit-on-input)
5748         (semanticdb-without-unloaded-file-searches): Use declare.
5749         (semantic-fw-add-edebug-spec): Remove.
5751         (completion-lisp-mode-hook): Use completion-separator-chars
5752         * lisp/completion.el (completion-lisp-mode-hook):
5753         Use completion-separator-chars rather than local key binding.
5755         * src/*.c: Set deactivate_mark buffer-locally
5756         (Bug#20260)
5757         * src/insdel.c (prepare_to_modify_buffer_1):
5758         * src/fileio.c (Finsert_file_contents): Set deactivate_mark
5759         buffer-locally.
5761 2015-04-12  Fabián Ezequiel Gallina  <fgallina@gnu.org>
5763         python.el: Keep symmetry on sexp navigation with parens
5764         (Bug#19954)
5765         * lisp/progmodes/python.el
5766         (python-nav--forward-sexp): Add argument skip-parens-p.
5767         (python-nav-forward-sexp, python-nav-backward-sexp)
5768         (python-nav-forward-sexp-safe)
5769         (python-nav-backward-sexp-safe): Use it.
5770         * test/automated/python-tests.el
5771         (python-nav-forward-sexp-1): Fix test.
5773 2015-04-12  João Távora  <joaotavora@gmail.com>
5775         Don't use `setq-local' in Gnus code
5776         This might break upstream builds with older Emacsen
5777         * lisp/gnus/message.el (message-mode): Use `set' and
5778         `make-local-variable' instead of `setq-local'.
5780 2015-04-12  Paul Eggert  <eggert@cs.ucla.edu>
5782         Update Makefile.in's .PHONY dependencies
5783         * Makefile.in (change-history-commit, master-branch-is-current)
5784         (no-ChangeLog): Now phony.
5786         Remove configure's --with-mmdf option
5787         * configure.ac (MAIL_USE_MMDF): Remove.
5788         * etc/NEWS: Document this.
5789         * lib-src/movemail.c: Assume MAIL_USE_MMDF is not defined.
5790         (Bug#20308)
5792         * doc/man/ChangeLog.01: Rename from doc/man/ChangeLog.1.
5793         That way, 'make install' won't think it's a man page.
5794         Reported by Ashish SHUKLA in:
5795         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00656.html
5797         Improve 'make change-history' prereq tests
5798         * Makefile.in (gen_origin): Fix to match what's in the master branch.
5799         (no-ChangeLog, master-branch-is-current): New rules.
5800         (change-history): Depend on them, to avoid similar future problems.
5801         Escape the local-variables string to pacify Emacs when editing
5802         Makefile.in.
5804 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
5806         * test/automated/package-test.el (with-package-test): Kill Packages buffer
5808         * lisp/emacs-lisp/package.el: Improve transaction y-or-n prompt
5809         (package-menu--prompt-transaction-p): Prompt for "Delete" first,
5810         "Upgrade" last, and use capitalized instead of all-caps.
5812         * lisp/emacs-lisp/package.el: Completely silence async operations
5813         (package--make-autoloads-and-stuff): Silence autoloads.
5814         (package--save-selected-packages): New function, silences
5815         `customize-save-variable'.
5816         (package--user-selected-p, package-install-from-buffer)
5817         (package-delete, package-install): Use it.
5818         (package-install-from-archive)
5819         (package-menu--perform-transaction): Silence.
5820         (package-menu-execute): Feedback when operation starts.
5822         Use delay-mode-hooks when visiting the init-file
5823         * lisp/emacs-lisp/package.el (package--ensure-init-file):
5824         delay-mode-hooks
5825         * lisp/cus-edit.el (custom-save-all): delay-mode-hooks
5827         * lisp/files.el: Only message when saving if save-silently is nil
5828         (save-silently): New variable.
5829         (files--message): New function.
5830         (find-file-noselect, save-buffer, basic-save-buffer)
5831         (basic-save-buffer-2, save-some-buffers, not-modified)
5832         (append-to-file): Use them.
5834 2015-04-12  Johan Bockgård  <bojohan@gnu.org>
5836         Support debug declarations in pcase macros
5837         * lisp/emacs-lisp/pcase.el (pcase-MACRO): New edebug spec.
5838         (pcase-UPAT): Use it.  Remove "`".
5839         (pcase--edebug-match-macro): New function.
5840         (pcase-defmacro): Support debug declarations.
5841         * lisp/emacs-lisp/cl-macs.el (cl-struct) <pcase-defmacro>:
5842         * lisp/emacs-lisp/eieio.el (eieio) <pcase-defmacro>:
5843         * lisp/emacs-lisp/pcase.el (\`): <pcase-defmacro>: Add debug declaration.
5845         pcase.el: Edebug support for `app' and vector patterns
5846         * lisp/emacs-lisp/pcase.el (pcase-FUN): New edebug spec.
5847         (pcase-UPAT): Use it. Support `app' patterns.
5848         (pcase-QPAT): Support vector patterns.
5850         edebug.el: Disambiguate vector specifications
5851         * lisp/emacs-lisp/edebug.el (edebug-match-list): Always treat
5852         `(vector ...)' as a vector specification, not as a sublist.
5854         (gnus-summary-refer-thread): Don't clobber unread articles
5855         This fixes a bug where `A T' causes "random" articles to become marked
5856         as read.
5857         * lisp/gnus/gnus-sum.el (gnus-summary-refer-thread): Make sure
5858         gnus-newsgroup-unreads remains sorted.
5860         mouse-sel.el: Fix mouse-sel-get-selection-function
5861         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
5862         Use gui--last-selected-text-primary instead of no longer existing
5863         gui-last-selected-text.
5865         * lisp/rect.el (delete-whitespace-rectangle-line): Don't cross EOL.
5867         * lisp/net/nsm.el (nsm-query-user): Use cursor-in-echo-area.
5869 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
5871         * lisp/emacs-lisp/package.el (list-packages): Avoid redundant generate
5873         * lisp/emacs-lisp/package.el (list-packages): Call refresh in right buffer
5875         * lisp/emacs-lisp/bytecomp.el: Silence noninteractive compilations
5876         (byte-compile--interactive): New var.
5877         (byte-compile--message): New function.
5878         (byte-compile-log-1, byte-force-recompile)
5879         (byte-recompile-directory, byte-recompile-file)
5880         (byte-compile-file, compile-defun)
5881         (byte-compile-file-form-defmumble, byte-compile)
5882         (byte-compile-file-form-defalias, display-call-tree): Use it.
5884         * lisp/files.el: Don't message when nothing happened
5885         (save-some-buffers, basic-save-buffer): Before messaging to say
5886         "nothing was saved" check if (called-interactively-p 'any).
5888 2015-04-12  João Távora  <joaotavora@gmail.com>
5890         Summary: Improve sexp-based movement in message-mode
5891         Works by giving citations and smileys a different syntax.  This helps
5892         modes like `show-paren-mode', `electric-pair-mode', and C-M-*
5893         sexp-based movement.
5894         * lisp/gnus/message.el (message--syntax-propertize): New function.
5895         (message-mode): Set syntax-related vars.
5896         (message-smileys): New variable.
5897         * test/automated/message-mode-tests.el: New file
5899 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
5901         Use bool for boolean in window.c
5902         * src/window.c: Omit unnecessary static function decls.
5903         (adjust_window_count, select_window, Fselect_window)
5904         (window_body_width, Fwindow_body_height, Fwindow_body_width)
5905         (set_window_hscroll, check_window_containing, Fwindow_at)
5906         (Fwindow_end, Fset_window_start, Fpos_visible_in_window_p)
5907         (unshow_buffer, replace_window, recombine_windows)
5908         (add_window_to_list, candidate_window_p, next_window)
5909         (Fnext_window, Fprevious_window, window_loop, check_all_windows)
5910         (Fget_buffer_window, Fdelete_other_windows_internal)
5911         (replace_buffer_in_windows_safely, set_window_buffer)
5912         (Fset_window_buffer, Fforce_window_update)
5913         (temp_output_buffer_show, make_parent_window)
5914         (window_resize_check, window_resize_apply, Fwindow_resize_apply)
5915         (resize_frame_windows, Fsplit_window_internal)
5916         (Fdelete_window_internal, grow_mini_window, shrink_mini_window)
5917         (Fresize_mini_window_internal, mark_window_cursors_off)
5918         (window_scroll, window_scroll_pixel_based)
5919         (window_scroll_line_based, scroll_command, Fscroll_other_window)
5920         (Fscroll_left, Fscroll_right, displayed_window_lines, Frecenter)
5921         (Fmove_to_window_line, Fset_window_configuration)
5922         (delete_all_child_windows, apply_window_adjustment)
5923         (set_window_fringes, set_window_scroll_bars)
5924         (Fset_window_vscroll, foreach_window, foreach_window_1)
5925         (compare_window_configurations, Fcompare_window_configurations):
5926         Prefer 'bool', 'true', and 'false' for booleans.
5927         * src/window.h (WINDOW_MODE_LINE_LINES)
5928         (WINDOW_HEADER_LINE_LINES): Omit unnecessary "!!" on bool value.
5930 2015-04-11  Artur Malabarba  <bruce.connor.am@gmail.com>
5932         Speed up byte-compilation and autoload generation by avoiding mode-hooks
5933         This prevents emacs-lisp-mode-hook from being run everytime an
5934         autoload file is generated, which can account for a fraction of
5935         package installation time depending on the hooks the user has
5936         configured.
5937         * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Use delay-mode-hooks.
5938         * lisp/emacs-lisp/autoload.el (autoload-find-file)
5939         (autoload-find-generated-file): Use delay-mode-hooks.
5941         * lisp/emacs-lisp/package.el: Improve `package-menu-refresh'
5942         (package-menu-refresh): Respect async and do new package checking.
5943         (list-packages): Use `package-menu-refresh' instead of repeating code.
5945         * lisp/emacs-lisp/package.el: Improve package-menu-quick-help
5946         (package--quick-help-keys): New variable.
5947         (package--prettify-quick-help-key): New function.
5948         (package-menu-quick-help): Use it.
5950         * lisp/emacs-lisp/package.el: Fix initially wrong compat table
5951         (package--build-compatibility-table): require finder
5953         * test/automated/package-test.el: Fix new test
5955         * lisp/emacs-lisp/package.el: Silence async operations
5956         (package--silence): New variable.
5957         (package--message): New function.
5958         (package-import-keyring, package-refresh-contents)
5959         (package-compute-transaction, package-install, package-delete)
5960         (package-menu--perform-transaction, package-menu-execute): Use it.
5962         * test/automated/package-test.el: Test async functionality
5963         (package-test-update-archives-async): New test
5965 2015-04-11  Daiki Ueno  <ueno@gnu.org>
5967         Utilize `make-process' in epg.el
5968         * lisp/epg.el (epg-error-output): Abolish.
5969         (epg-context): New slot `error-buffer'.
5970         (epg--start): Use `make-process' and `make-pipe-process'.
5971         (epg--process-filter): Remove code separating stderr from stdout.
5972         (epg-wait-for-completion): Simplify `error-output' handling.
5973         (epg-reset): Dispose error buffer.
5975 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
5977         * .gitignore: Ignore doc temps and outputs.
5979         Port commit-msg to MSYS Bash+Gawk
5980         See Eli Zaretskii in:
5981         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00610.html
5982         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format)
5983         (cent_sign, print_at_sign, at_sign): Revert previous change.
5984         (print_at_sign): Prepend "BEGIN".
5985         (at_sign): Redirect from /dev/null to be safer with pre-POSIX awk.
5987         Port commit-msg to broken MS-Windows shell
5988         * build-aux/git-hooks/commit-msg (cent_sign):
5989         Just use UTF-8 here rather than ASCII + printf, as the latter fails
5990         on a broken MS-Windows shell.  Reported by Eli Zaretskii in:
5991         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00592.html
5993 2015-04-11  Chris Zheng  <chriszheng99@gmail.com>  (tiny change)
5995         Support GnuTLS v3.4 and later on MS-Windows
5996         * src/gnutls.c (syms_of_gnutls) <libgnutls-version>: New DEFSYM.
5997         * lisp/term/w32-win.el (dynamic-library-alist): Determine which
5998         GnuTLS DLL to load according to value of libgnutls-version.
5999         (Bug#20294)
6001 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
6003         Minor quoting etc. fixes to misc manuals
6004         Fix some minor quoting and spacing issues.  Distinguish more
6005         clearly among grave accent and apostrophe (which are ASCII) and
6006         single quote (which is not).  Prefer the standard terms
6007         "apostrophe" and "grave accent" to alternative names that can be
6008         confusing.  Use apostrophes to single-quote ASCII text.
6009         * doc/misc/remember.texi: Spell the mystic's pseudonym in UTF-8
6010         rather than approximating it in ASCII with grave accent.
6012 2015-04-11  Daiki Ueno  <ueno@gnu.org>
6014         Respect more keyword args in `make-process'
6015         * process.c (Fmake_process): Respect `:sentinel' and `:filter'
6016         keywords as documented.
6018 2015-04-10  Dmitry Gutov  <dgutov@yandex.ru>
6020         Extract ChangeLog entries when committing a directory
6021         * lisp/vc/vc-dispatcher.el (vc-log-edit): Update FIXME comment.
6022         * lisp/vc/log-edit.el (log-edit-changelog-insert-entries):
6023         Add a FIXME comment.
6024         (log-edit-changelog-entries): Extract from
6025         `log-edit-changelog-entries', handle FILE being a directory
6026         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00555.html).
6028 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
6030         Fix problems found by --enable-gcc-warnings
6031         * src/process.c (create_process, Fmake_pipe_process)
6032         (Fmake_network_process): Omit unused locals.
6034         Fix commit-msg to handle scissors lines
6035         * build-aux/git-hooks/commit-msg:
6036         Ignore every line after a scissors line, such as a line generated
6037         by 'git commit -v'.  Problem reported by Johan Bockgård in:
6038         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00580.html
6040         port commit-msg to Gawk 3.0.4 (1999)
6041         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format, cent_sign)
6042         (print_at_sign, at_sign): New vars.  Use them to avoid problems
6043         Eli Zaretskii encountered with Gawk 3.0.4 (1999) on MSYS.  See:
6044         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
6046         Have commit-msg report commit failure
6047         * build-aux/git-hooks/commit-msg: If the commit is aborted,
6048         say so.  Simplify by doing this at the end.  Problem reported
6049         by Eli Zaretskii in:
6050         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
6052 2015-04-10  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
6054         Clean up LDAP Configuration section of EUDC manual
6055         * doc/misc/eudc.texi: Combine indices.
6056         (LDAP Configuration): Use command markup.  Add index entries.
6057         Change formatting.  Wrap long lines.  Add noindent markup.
6059 2015-04-10  Daiki Ueno  <ueno@gnu.org>
6061         Add facility to collect stderr of async subprocess
6062         * src/w32.h (register_aux_fd): New function declaration.
6063         * src/w32.c (register_aux_fd): New function.
6064         * src/process.h (struct Lisp_Process): New member stderrproc.
6065         * src/process.c (PIPECONN_P): New macro.
6066         (PIPECONN1_P): New macro.
6067         (Fdelete_process, Fprocess_status, Fset_process_buffer)
6068         (Fset_process_filter, Fset_process_sentinel, Fstop_process)
6069         (Fcontinue_process): Handle pipe process specially.
6070         (create_process): Respect p->stderrproc.
6071         (Fmake_pipe_process): New function.
6072         (Fmake_process): Add new keyword argument :stderr.
6073         (wait_reading_process_output): Specially handle a pipe process when
6074         it gets an EOF.
6075         (syms_of_process): Register Qpipe and Smake_pipe_process.
6076         * doc/lispref/processes.texi (Asynchronous Processes): Document
6077         `make-pipe-process' and `:stderr' keyword of `make-process'.
6078         * lisp/subr.el (start-process): Suggest to use `make-process' handle
6079         standard error separately.
6080         * test/automated/process-tests.el (process-test-stderr-buffer)
6081         (process-test-stderr-filter): New tests.
6082         * etc/NEWS: Mention new process type `pipe' and its usage with the
6083         `:stderr' keyword of `make-process'.
6085 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
6087         Minor quoting etc. fixes to lispref manual
6088         * doc/lispref/tips.texi (Documentation Tips):
6089         Distinguish more clearly among grave accent, apostrophe,
6090         and single quote.
6091         * doc/lispref/README, doc/lispref/buffers.texi:
6092         * doc/lispref/commands.texi, doc/lispref/control.texi:
6093         * doc/lispref/customize.texi, doc/lispref/display.texi:
6094         * doc/lispref/elisp.texi, doc/lispref/files.texi:
6095         * doc/lispref/frames.texi, doc/lispref/hash.texi:
6096         * doc/lispref/help.texi, doc/lispref/internals.texi:
6097         * doc/lispref/loading.texi, doc/lispref/makefile.w32-in:
6098         * doc/lispref/markers.texi, doc/lispref/modes.texi:
6099         * doc/lispref/nonascii.texi, doc/lispref/objects.texi:
6100         * doc/lispref/os.texi, doc/lispref/positions.texi:
6101         * doc/lispref/strings.texi, doc/lispref/syntax.texi:
6102         * doc/lispref/text.texi, doc/lispref/tips.texi:
6103         * doc/lispref/two-volume-cross-refs.txt, doc/lispref/windows.texi:
6104         Use American-style double quoting in ordinary text,
6105         and quote 'like this' when single-quoting in ASCII text.
6106         Also, fix some minor spacing issues.
6108 2015-04-10  Michael Albinus  <michael.albinus@gmx.de>
6110         Handle symlinked test directory in tramp-tests.el
6111         * test/automated/tramp-tests.el (tramp-test18-file-attributes)
6112         (tramp--test-check-files): Use `file-truename' for directories.
6114 2015-04-10  Eli Zaretskii  <eliz@gnu.org>
6116         Fix 'recenter' when visual-line-mode is turned on
6117         * src/window.c (Frecenter): Use the same code for GUI and TTY
6118         frames alike; use vmotion only for "initial" frames.  This is
6119         because vmotion doesn't support visual-line-mode.  Rewrite the
6120         'iarg >= 0' case to use move_it_* functions instead of using
6121         vmotion, for the same reason.  Fix the clipping of the argument
6122         value to support scroll-margin in all cases and avoid unwarranted
6123         recentering.  Reported by Milan Stanojević <milanst@gmail.com> in
6124         http://lists.gnu.org/archive/html/help-gnu-emacs/2015-04/msg00092.html,
6125         which see.
6127 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
6129         * abbrev.el (define-abbrev-table): Refine last change.
6131         cl-lib.el: Partial revert of "2015-04-05 Rationalize c[ad]+r"
6132         * lisp/emacs-lisp/cl-lib.el: Partial revert of "2015-04-05 Rationalize
6133         use of c[ad]+r", so as to keep the "cl-" prefix on all
6134         cl-lib definitions.
6136         * vhdl-mode.el (vhdl-prepare-search-2): Use inhibit-point-motion-hooks
6138         * lisp/cedet/semantic: Remove some dead code
6139         * lisp/cedet/semantic/util-modes.el
6140         (semantic-stickyfunc-header-line-format): Emacs<22 is not supported
6141         any more.
6142         * lisp/cedet/semantic/fw.el (semantic-buffer-local-value): Emacs<21 is
6143         not supported any more.
6144         (semantic-safe): Use `declare'.
6145         * lisp/cedet/semantic/decorate.el (semantic-set-tag-intangible)
6146         (semantic-tag-intangible-p): Remove unused functions.
6147         * lisp/cedet/semantic/complete.el (semantic-displayor-window-edges):
6148         Remove unused function.
6150         * lisp/gnus/gnus-art.el (gnus-hidden-properties): Simplify.
6151         (gnus-article-hide-text, gnus-article-unhide-text)
6152         (gnus-article-unhide-text-type): Remove special handling of
6153         `intangible' since that property is not used any more.
6154         (gnus-article-treat-body-boundary): Use gnus-hidden-properties.
6156 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
6158         Use the VC root in `log-edit-listfun'
6159         * lisp/vc/vc-dispatcher.el (vc-log-edit): Use the VC root in
6160         `log-edit-listfun'.
6162 2015-04-09  Jay Belanger  <jay.p.belanger@gmail.com>
6164         Fix description of Unix time, mention new function.
6165         * lisp/calc/calc-forms.el (calcFunc-unixtime): Fix adjustment for
6166         Unix time.
6167         * doc/misc/calc.texi (Date Forms): Fix description of Unix time.
6168         (Basic Operations on Units): Mention `calc-convert-exact-units'.
6170 2015-04-09  Artur Malabarba  <bruce.connor.am@gmail.com>
6172         * lisp/emacs-lisp/package.el: Use mode-line-process for notification
6174 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
6176         (log-edit-insert-changelog-entries): Don't add newline after the last entry
6177         * lisp/vc/log-edit.el (log-edit-insert-changelog-entries):
6178         Don't add newline after the last entry.
6180 2015-04-09  Simen Heggestøyl  <simenheg@gmail.com>
6182         css-mode.el: Add "not" pseudo-class
6183         (Bug#20267)
6184         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Add "not" to
6185         list of CSS pseudo-classes.
6187 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
6189         etc/NEWS: Add missing entry for "Stop messing with the EMACS env var"
6191 2015-04-09  Michael Albinus  <michael.albinus@gmx.de>
6193         Stop messing with the EMACS env var
6194         * misc.texi (Interactive Shell): Remove description of EMACS env var.
6196 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
6198         Adapt 'make change-history' to coding cookie
6199         * Makefile.in (change-history): Adjust to change of format of
6200         ChangeLog file, which now has a coding cookie before an indented
6201         copyright notice.
6203 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
6205         Adapt 'make change-history' to coding cookie
6206         * Makefile.in (change-history): Adjust to change of format of
6207         ChangeLog file, which now has a coding cookie before an indented
6208         copyright notice.
6210         gitlog-to-changelog coding cookie and mv -i
6211         * build-aux/gitlog-to-emacslog: Use ChangeLog.1, not Makefile.in,
6212         for copyright notice prototype, so that we get a proper "coding:"
6213         cookie.  Use 'mv -i' to avoid unconditionally overwriting an
6214         existing ChangeLog.  Problems reported by Eli Zaretskii in:
6215         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00504.html
6217         Merge from gnulib
6218         * build-aux/gitlog-to-changelog: Update from gnulib, incorporating:
6219         2015-04-09 gitlog-to-changelog: port to MS-Windows
6221 2015-04-09  Boruch Baum  <boruch_baum@gmx.com>  (tiny change)
6223         * lisp/bookmark.el (bookmark-bmenu-goto-bookmark): Don't inf-loop.
6224         (Bug#20212)
6226 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
6228         Stop messing with the EMACS env var
6229         (Bug#20202)
6230         * lisp/net/tramp-sh.el (tramp-remote-process-environment):
6231         * lisp/comint.el (comint-exec-1):
6232         * lisp/term.el (term-exec-1): Don't set EMACS envvar.
6233         * lisp/progmodes/compile.el (compilation-start): Same and bring
6234         INSIDE_EMACS's format in line with other users.
6236         css-mode.el (css-smie-rules): Fix indentation after complex selectors
6237         (Bug#20282)
6238         * lisp/textmodes/css-mode.el (css-smie-rules): Don't get confused by
6239         inner structure of selectors.
6241 2015-04-08  Fabián Ezequiel Gallina  <fgallina@gnu.org>
6243         python.el: Indent docstring lines to base-indent
6244         (Bug#19595)
6245         Thanks to immerrr <immerrr@gmail.com> for reporting and providing
6246         an initial patch.
6247         * lisp/progmodes/python.el
6248         (python-indent-context): Add :inside-docstring context.
6249         (python-indent--calculate-indentation): Handle :inside-docstring.
6250         (python-indent-region): Re-indent docstrings.
6251         * test/automated/python-tests.el (python-indent-region-5)
6252         (python-indent-inside-string-2): Fix tests.
6254         python.el: Increase native completion robustness
6255         (Bug#19755)
6256         Thanks to Carlos Pita <carlosjosepita@gmail.com> for reporting
6257         this and providing useful ideas.
6258         * lisp/progmodes/python.el
6259         (python-shell-completion-native-output-timeout): Increase value.
6260         (python-shell-completion-native-try-output-timeout): New var.
6261         (python-shell-completion-native-try): Use it.
6262         (python-shell-completion-native-setup): New readline setup avoids
6263         polluting current context, ensures output when no-completions are
6264         available and includes output end marker.
6265         (python-shell-completion-native-get-completions): Trigger with one
6266         tab only.  Call accept-process-output until output end is found or
6267         python-shell-completion-native-output-timeout is exceeded.
6269 2015-04-08  Samer Masterson  <samer@samertm.com>
6271         * lisp/eshell: Make backslash a no-op in front of normal chars
6272         (Bug#8531)
6273         * lisp/eshell/esh-arg.el (eshell-parse-argument-hook): Update comment.
6274         (eshell-parse-backslash): Return escaped character after backslash
6275         if it is special.  Otherwise, if the backslash is not in a quoted
6276         string, ignore the backslash and return the character after; if
6277         the backslash is in a quoted string, return the backslash and the
6278         character after.
6279         * test/automated/eshell.el (eshell-test/escape-nonspecial)
6280         (eshell-test/escape-nonspecial-unicode)
6281         (eshell-test/escape-nonspecial-quoted)
6282         (eshell-test/escape-special-quoted): Add tests for new
6283         `eshell-parse-backslash' behavior.
6285 2015-04-08  Gustav Hållberg  <gustav@gmail.com>  (tiny change)
6287         * lisp/vc/diff-mode.el (diff-hunk-file-names): Don't require a TAB
6288         after the file name.
6289         (Bug#20276)
6291 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
6293         Minor quoting etc. fixes to Emacs manual
6294         * doc/emacs/Makefile.in, doc/emacs/ack.texi, doc/emacs/building.texi:
6295         * doc/emacs/calendar.texi, doc/emacs/cmdargs.texi:
6296         * doc/emacs/custom.texi, doc/emacs/dired.texi, doc/emacs/emacs.texi:
6297         * doc/emacs/files.texi, doc/emacs/glossary.texi, doc/emacs/gnu.texi:
6298         * doc/emacs/indent.texi, doc/emacs/macos.texi:
6299         * doc/emacs/maintaining.texi, doc/emacs/makefile.w32-in:
6300         * doc/emacs/programs.texi, doc/emacs/rmail.texi:
6301         * doc/emacs/search.texi, doc/emacs/trouble.texi:
6302         * doc/emacs/vc1-xtra.texi:
6303         Use American-style double quoting in ordinary text,
6304         and quote 'like this' when single-quoting in ASCII text.
6305         Also, fix some minor spacing issues.
6307         Minor quoting etc. fixes to elisp intro
6308         * doc/lispintro/emacs-lisp-intro.texi: Consistently use
6309         American-style double quoting in ordinary text.  In ASCII text,
6310         consistently quote 'like this' instead of `like this', unless
6311         Emacs requires the latter.
6313 2015-04-08  Dmitry Gutov  <dgutov@yandex.ru>
6315         * CONTRIBUTE: Mention log-edit-insert-changelog.
6317         * CONTRIBUTE: Emphasize creating the top-level ChangeLog file manually.
6319 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
6321         * doc/misc/calc.texi (Summary): Avoid '@:' when usurped.
6323 2015-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>
6325         (eieio-copy-parents-into-subclass): Fix inheritance of initargs
6326         (Bug#20270)
6327         * lisp/emacs-lisp/eieio-core.el (eieio-copy-parents-into-subclass):
6328         Fix inheritance of initargs.
6330 2015-04-08  Artur Malabarba  <bruce.connor.am@gmail.com>
6332         * lisp/emacs-lisp/package.el (package-menu-mode): Mode-line notification
6333         while dowloading information.
6335         * lisp/emacs-lisp/package.el: More conservative `ensure-init-file'
6336         (package--ensure-init-file): Check file contents before visiting.
6337         (package-initialize): Call it.
6338         (package-install-from-buffer, package-install): Don't call it.
6340 2015-04-08  Eli Zaretskii  <eliz@gnu.org>
6342         * src/eval.c (init_eval_once): Bump max_lisp_eval_depth to 800
6343         (Bug#17517)
6345 2015-04-08  Michael Albinus  <michael.albinus@gmx.de>
6347         Fix nasty scoping bug in tramp-cache.el
6348         * lisp/net/tramp-cache.el (tramp-flush-file-property): Fix nasty scoping bug.
6350 2015-04-08  Tassilo Horn  <tsdh@gnu.org>
6352         Add notice to visual commands section
6353         * doc/misc/eshell.texi (Input/Output): Add notice that some tools
6354         such as git call less with its -F option which omits pagination if
6355         the contents is less than one page long.  This interferes with
6356         eshell's visual (sub-)commands.
6358 2015-04-07  Dmitry Gutov  <dgutov@yandex.ru>
6360         ffap: Support environment variable expansion in file names
6361         (Bug#19839)
6362         * lisp/ffap.el (ffap-string-at-point-mode-alist): Support
6363         environment variable expansion in file names.
6365 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
6367         Prefer double-quote to accent-grave in man pages
6369 2015-04-07  Stefan Monnier  <monnier@iro.umontreal.ca>
6371         (Bug#20257)
6372         * lisp/files.el (set-visited-file-name): Clear auto-save if nil.
6374 2015-04-07  Ivan Shmakov  <ivan@siamics.net>
6376         Update etc/PROBLEMS.
6377         * etc/PROBLEMS: Mention visible-cursor; a few more mentions of
6378         ~/.Xresources and xrdb(1); refer to 'GNU Coreutils' and
6379         'X Window System' or 'X' (were: 'GNU Fileutils' and 'X Windows',
6380         respectively); other minor updates and tweaks.  (Bug#20011)
6382 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
6384         Add doc strings for some Isearch state vars
6385         * lisp/misearch.el (multi-isearch-buffer-list)
6386         (multi-isearch-file-list): Add doc strings.
6387         (Bug#20232)
6389 2015-04-07  Alan Mackenzie  <acm@muc.de>
6391         Always mark "<" and ">" in #include directives with text properties.
6392         * lisp/progmodes/c-fonts.el (c-cpp-matchers): Replace a font-lock "anchored
6393         matcher" with an invocation of c-make-font-lock-search-function to allow
6394         fontification when there's no trailing space on an "#include <..>" line.
6396 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
6398         Generate a ChangeLog file from commit logs
6399         * .gitignore: Add 'ChangeLog'.
6400         * build-aux/gitlog-to-changelog: New file, from Gnulib.
6401         * build-aux/gitlog-to-emacslog: New file.
6402         * CONTRIBUTE: Document the revised workflow.
6403         * Makefile.in (clean): Remove *.tmp and etc/*.tmp*
6404         instead of just special cases.
6405         (CHANGELOG_HISTORY_INDEX_MAX, CHANGELOG_N, gen_origin): New vars.
6406         (ChangeLog, unchanged-history-files, change-history)
6407         (change-history-commit): New rules.
6408         * admin/admin.el (make-manuals-dist--1):
6409         Don't worry about doc/ChangeLog.
6410         * admin/authors.el: Add a FIXME.
6411         * admin/make-tarball.txt:
6412         * lisp/calendar/icalendar.el:
6413         * lisp/gnus/deuglify.el:
6414         * lisp/obsolete/gulp.el:
6415         * lwlib/README:
6416         Adjust to renamed ChangeLog history files.
6417         * admin/merge-gnulib (GNULIB_MODULES): Add gitlog-to-changelog.
6418         * admin/notes/repo: Call it 'master' a la Git, not 'trunk' a la Bzr.
6419         Remove obsolete discussion of merging ChangeLog files.
6420         New section "Maintaining ChangeLog history".
6421         * build-aux/git-hooks/pre-commit:
6422         Reject attempts to commit files named 'ChangeLog'.
6423         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
6424         * make-dist: Make and distribute top-level ChangeLog if there's a
6425         .git directory.  Distribute the new ChangeLog history files
6426         instead of scattered ChangeLog files.  Distribute the new files
6427         gitlog-to-changelog and gitlog-to-emacslog.
6428         (Bug#19113)
6430         Rename ChangeLogs for gitlog-to-changelog
6431         This patch was implemented via the following shell commands:
6432         find * -name ChangeLog |
6433         sed 's,.*,git mv & &.1,
6434         s, lisp/ChangeLog\.1$, lisp/ChangeLog.17,
6435         s, lisp/erc/ChangeLog\.1$, lisp/erc/ChangeLog.09,
6436         s, lisp/gnus/ChangeLog\.1$, lisp/gnus/ChangeLog.3,
6437         s, lisp/mh-e/ChangeLog\.1$, lisp/mh-e/ChangeLog.2,
6438         s, src/ChangeLog\.1$, src/ChangeLog.13,' |
6439         sh
6440         git commit -am"[this commit message]"
6442 This file records repository revisions from
6443 commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to
6444 commit bf32130d7debe3ee6dbd9974e50bb4a2a48047f4 (inclusive).
6445 See ChangeLog.1 for earlier changes.
6447 ;; Local Variables:
6448 ;; coding: utf-8
6449 ;; End:
6451   Copyright (C) 2015 Free Software Foundation, Inc.
6453   This file is part of GNU Emacs.
6455   GNU Emacs is free software: you can redistribute it and/or modify
6456   it under the terms of the GNU General Public License as published by
6457   the Free Software Foundation, either version 3 of the License, or
6458   (at your option) any later version.
6460   GNU Emacs is distributed in the hope that it will be useful,
6461   but WITHOUT ANY WARRANTY; without even the implied warranty of
6462   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
6463   GNU General Public License for more details.
6465   You should have received a copy of the GNU General Public License
6466   along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.