Prevent timers from messing up TTY menus
[emacs.git] / ChangeLog.2
blob0fb3df621c8c611a51ff520628f0d7d540949285
1 2015-09-20  Eli Zaretskii  <eliz@gnu.org>
3         Improve documentation of 'run-at-time'
4         * lisp/emacs-lisp/timer.el (run-at-time): Improve the doc string.
5         In particular, don't refer to 'diary-entry-time', because it is
6         unavailable until diary-lib is loaded.  Also, refer to
7         'timer-duration-words', not 'timer-duration', as the latter's doc
8         string says nothing about the accepted strings.
10 2015-09-19  Jay Belanger  <jay.p.belanger@gmail.com>
12         * lisp/calc/calc-ext.el (calc-do-prefix-help): Tidy up error message.
14 2015-09-19  Ken Manheimer  <ken.manheimer@gmail.com>
16         Repair pdbtrack remote file tracking
17         * lisp/progmodes/python.el (python-pdbtrack-set-tracked-buffer):
18         Rectify pdbtrack so it follows transitions from one remote source
19         file to the next.
21 2015-09-19  Artur Malabarba  <bruce.connor.am@gmail.com>
23         * lisp/emacs-lisp/timer.el (run-at-time): Docstring formatting
25 2015-09-19  Eli Zaretskii  <eliz@gnu.org>
27         Adapt vc-src to the old-new vc-checkin API
28         * lisp/vc/vc-src.el (vc-src-checkin): Accept and ignore an
29         additional optional parameter.
31 2015-09-19  Simen Heggestøyl  <simenheg@gmail.com>
33         Add overflow module to CSS property list
34         * lisp/textmodes/css-mode.el (css-property-ids): Add properties from CSS
35         Overflow Module Level 3.
37 2015-09-19  Eli Zaretskii  <eliz@gnu.org>
39         Fix documentation of "C-u C-x v v"
40         * doc/emacs/maintaining.texi (Advanced C-x v v): Make the
41         documentation of "C-u C-x v v" match what the code does.
43         Resurrect the ability to specify a revision in vc-next-action
44         * lisp/vc/vc-bzr.el (vc-bzr-checkin):
45         * lisp/vc/vc-dav.el (vc-dav-checkin):
46         * lisp/vc/vc-git.el (vc-git-checkin):
47         * lisp/vc/vc-hg.el (vc-hg-checkin):
48         * lisp/vc/vc-mtn.el (vc-mtn-checkin): Accept and silently ignore
49         an additional optional argument, the revision to checkin.
50         * lisp/vc/vc-sccs.el (vc-sccs-checkin):
51         * lisp/vc/vc-cvs.el (vc-cvs-checkin):
52         * lisp/vc/vc-rcs.el (vc-rcs-checkin): Allow to optionally specify
53         a revision to checkin.
54         * lisp/vc/vc.el (vc-next-action): Allow to optionally specify the
55         revision when checking in files.
56         See http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00688.html
57         for the details.
59 2015-09-18  Wilson Snyder  <wsnyder@wsnyder.org>
61         Fix checkdoc warnings.
62         * lisp/progmodes/verilog-mode.el (verilog-forward-sexp-function)
63         (verilog-decls-princ, verilog-modport-princ)
64         (verilog-modi-modport-lookup-one): Fix checkdoc warnings.
66 2015-09-17  Jay Belanger  <jay.p.belanger@gmail.com>
68         Fix the routine for help on Calc's prefixes.
69         * lisp/calc/calc-ext.el (calc-prefix-help-retry): New variable.
70         (calc-do-prefix-help): Use `read-char' to determine the next Calc
71         command.
73 2015-09-17  Stefan Monnier  <monnier@iro.umontreal.ca>
75         * lisp/font-lock.el (font-lock-beginning-of-syntax-function): Remove
76         (font-lock-fontify-block): Don't let-bind it.
77         (font-lock-compile-keywords): Don't use it.
78         (font-lock-set-defaults): Don't set it.  Allow the variable alist to
79         start one slot earlier, instead.
80         * lisp/emacs-lisp/syntax.el (font-lock-beginning-of-syntax-function):
81         Don't declare.
82         (syntax-ppss): Don't use it either.
83         * lisp/font-core.el (font-lock-defaults): Remove SYNTAX-BEGIN
84         from docstring.
85         * doc/emacs/display.texi (Font Lock): Don't mention
86         font-lock-beginning-of-syntax-function.
87         * doc/lispref/modes.texi (Font Lock Basics): Update description of
88         font-lock-defaults.
89         (Syntactic Font Lock): Remove font-lock-beginning-of-syntax-function.
90         * lisp/loadhist.el (unload-feature-special-hooks):
91         Remove font-lock-beginning-of-syntax-function.
92         * lisp/obsolete/lazy-lock.el (lazy-lock-fontify-region):
93         * lisp/emacs-lisp/lisp.el (beginning-of-defun-raw): Don't let-bind
94         font-lock-beginning-of-syntax-function.
96 2015-09-17  Paul Eggert  <eggert@cs.ucla.edu>
98         Backslash cleanup in Elisp source files
99         This patch should not change behavior.  It typically omits backslashes
100         where they are redundant (e.g., in the string literal "^\$").
101         In a few places, insert backslashes where they make regular
102         expressions clearer: e.g., replace "^\*" (equivalent to "^*") with
103         "^\\*", which has the same effect as a regular expression.
104         Also, use ‘\ %’ instead of ‘\%’ when avoiding confusion with SCCS IDs,
105         and similarly use ‘\ $’ instead of ‘\$’ when avoiding confusion with
106         RCS IDs, as that makes it clearer that the backslash is intended.
108         Some more minor backslash fixes
109         * test/automated/compile-tests.el (compile-tests--test-regexps-data):
110         * test/automated/info-xref.el (info-xref-test-write-file):
111         Double backslashes in strings.
113         Fix several backslash typos in Elisp strings
114         * lisp/calendar/todo-mode.el (todo-files, todo-rename-file)
115         (todo-find-filtered-items-file, todo-reset-nondiary-marker)
116         (todo-reset-done-string, todo-reset-comment-string)
117         (todo-reset-highlight-item):
118         * lisp/erc/erc-networks.el (erc-networks-alist):
119         * lisp/gnus/gnus-art.el (gnus-button-handle-library):
120         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-gmane-group-url):
121         * lisp/gnus/nntp.el (nntp-via-shell-prompt)
122         (nntp-telnet-shell-prompt):
123         * lisp/gnus/spam-report.el (spam-report-gmane-regex):
124         * lisp/image-dired.el (image-dired-rotate-original):
125         (image-dired-get-exif-file-name):
126         * lisp/international/latin1-disp.el (latin1-display-ucs-per-lynx):
127         * lisp/mail/undigest.el (rmail-digest-parse-rfc1153strict):
128         * lisp/mh-e/mh-letter.el (mh-file-is-vcard-p):
129         * lisp/mh-e/mh-mime.el (mh-file-mime-type-substitutions):
130         * lisp/net/shr-color.el (shr-color->hexadecimal):
131         * lisp/org/org-bibtex.el (org-bibtex-fields):
132         * lisp/org/org-docview.el (org-docview-export):
133         * lisp/org/org-entities.el (org-entities):
134         * lisp/org/ox-icalendar.el (org-icalendar-cleanup-string):
135         * lisp/progmodes/cperl-mode.el (cperl-indent-exp):
136         * lisp/progmodes/ebnf2ps.el (ebnf-file-suffix-regexp)
137         (ebnf-style-database):
138         * lisp/progmodes/idlw-help.el (idlwave-do-context-help1):
139         * lisp/progmodes/ruby-mode.el (ruby-imenu-create-index-in-block):
140         * lisp/progmodes/sql.el (sql-product-alist):
141         * lisp/progmodes/verilog-mode.el (verilog-error-regexp-emacs-alist)
142         (verilog-error-font-lock-keywords)
143         (verilog-assignment-operator-re):
144         * lisp/progmodes/vhdl-mode.el (vhdl-compiler-alist):
145         * lisp/textmodes/reftex-parse.el (reftex-parse-from-file):
146         * lisp/vc/add-log.el (change-log-version-number-regexp-list):
147         Fix typo by replacing ‘\’ with ‘\\’ in a string literal.
148         For example, to get the regular expression ‘\.’ use the string
149         literal "\\.", not "\." (which is equivalent to ".").
150         * lisp/emulation/viper-util.el (viper-glob-unix-files):
151         Remove stray ‘\j’ from string.
152         * lisp/gnus/nntp.el (nntp-via-shell-prompt)
153         (nntp-telnet-shell-prompt):
154         Treat > like $ when matching a shell prompt.
155         * lisp/progmodes/make-mode.el (makefile-browse):
156         Properly quote a diagnostic.
158         Fix minor quoting problems in diagnostics
159         * lisp/tutorial.el (tutorial--describe-nonstandard-key):
160         * lisp/vc/ediff-ptch.el (ediff-fixup-patch-map):
161         Follow text-quoting-style in diagnostic, and quote a file name.
163 2015-09-17  Eli Zaretskii  <eliz@gnu.org>
165         * doc/lispref/frames.texi (Cursor Parameters): Document 'x-stretch-cursor'.
167 2015-09-16  Paul Eggert  <eggert@cs.ucla.edu>
169         Omit unnecessary \ before paren in C docstrings
170         Although \( is needed in docstrings in Elisp code, it is not needed in
171         docstrings in C code, since C function definitiions do not start with
172         a parenthesis.  The backslashes made the docstrings a bit harder to
173         read and to format in columns.  Also, some C docstrings had ( in
174         column 1 and this did not appear to be causing any problems.  So,
175         simplify C docstrings by replacing \( with ( and \) with ).
177         A few more minor quoting fixes in a script and a text file
179         Minor quoting fixes in scripts and doc
180         Prefer straight quotes in random script files, as they are not converted.
181         Prefer grave quotes in a couple of places in the manual that were missed
182         earlier, as these quotes are converted.
184         Minor backslash fixes in manuals and scripts
185         * Makefile.in (install-arch-indep):
186         * admin/charsets/compact.awk:
187         * admin/charsets/gb180302.awk (gb_to_index):
188         * admin/charsets/gb180304.awk (gb_to_index):
189         Avoid undefined behavior in Awk regular expression backslashes.
190         * doc/misc/efaq.texi (Matching parentheses):
191         Omit unnecessary backslashes.
192         * doc/misc/gnus-faq.texi (FAQ 5-8):
193         Avoid undefined behavior in suggested sed backslash usage.
195         Add -Wswitch to --enable-gcc-warnings
196         Make --enable-gcc-warnings a bit pickier, by also using -Wswitch.
197         * configure.ac (WERROR_CFLAGS): Don’t add -Wno-switch.
198         * lib-src/etags.c (main, consider_token, C_entries):
199         * src/coding.c (encode_invocation_designation):
200         * src/data.c (Ftype_of):
201         * src/eval.c (Fdefvaralias, default_toplevel_binding)
202         (Fbacktrace__locals, mark_specpdl):
203         * src/lisp.h (record_xmalloc):
204         * src/syntax.c (scan_lists, scan_sexps_forward):
205         * src/window.c (window_relative_x_coord):
206         * src/xdisp.c (push_it, pop_it):
207         * src/xterm.c (xg_scroll_callback, x_check_fullscreen):
208         Error out or do nothing (as appropriate) if a switch statement
209         with an enum value does not cover all of the enum.
210         * src/dispextern.h (struct iterator_stack_entry.u.comp):
211         Remove unused member discovered by using -Wswitch.
212         * src/lisp.h (record_xmalloc): Add a ‘+ 0’ to pacify -Wswitch.
213         * src/vm-limit.c (check_memory_limits):
214         Simplify warning-diagnostic computation by using a table.
216         etags ‘fatal’ function is now printf-like
217         * lib-src/etags.c (fatal): Now printf-like.  All callers changed.
218         Also, now static; not clear why it needed to be extern.
219         (verror): New function, with most of the old contents of ‘error’.
220         (fatal, error): Use it.
222 2015-09-16  Eli Zaretskii  <eliz@gnu.org>
224         More adaptations in file-notify-tests.el
225         * test/automated/file-notify-tests.el
226         (file-notify-test05-dir-validity): Skip for w32notify in
227         batch-mode.  (Bug#21432)
229 2015-09-16  Michael Albinus  <michael.albinus@gmx.de>
231         Adapt test in file-notify-tests.el
232         * test/automated/file-notify-tests.el
233         (file-notify-test04-file-validity): Skip for w32notify in
234         batch-mode.  Add test lost last commit.
236 2015-09-16  Dima Kogan  <dima@secretsauce.net>
238         winner no longer holds on to dead frames
239         * lisp/winner.el (winner-change-fun): Cull dead frames.
240         This prevents a potentially massive memory leak.  See:
241         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00619.html
243 2015-09-16  Michael Albinus  <michael.albinus@gmx.de>
245         Use common report_file_notify_error function
246         * src/fileio.c (report_file_notify_error): New function.
247         * src/inotify.c (report_inotify_error): Remove function.
248         (inotify_callback, symbol_to_inotifymask, Finotify_add_watch)
249         (Finotify_rm_watch): Use report_file_notify_error.
250         * src/lisp.h (report_file_notify_error): Declare external function.
251         * src/w32notify.c (report_w32notify_error): Remove function.
252         (Fw32notify_add_watch, Fw32notify_rm_watch):
253         Use report_file_notify_error.
255 2015-09-16  Jay Belanger  <jay.p.belanger@gmail.com>
257         Fix documentation.
258         * doc/misc/calc.texi (Single-Variable Statistics): Fix the wording of
259         the documentation of the root mean square.
261 2015-09-16  Martin Rudalics  <rudalics@gmx.at>
263         Remove tool_bar_redisplayed_once and associated code.
264         * src/frame.h (tool_bar_redisplayed_once): Remove slot.
265         * src/frame.c (make_frame, x_set_font): Remove initialization of
266         f->tool_bar_redisplayed_once.
267         * src/w32fns.c (x_change_tool_bar_height):
268         * src/xfns.c (x_change_tool_bar_height): Don't check for
269         f->tool_bar_redisplayed_once.
270         * src/xdisp.c (redisplay_internal): Remove handling of
271         f->tool_bar_redisplayed_once.
273 2015-09-16  Eli Zaretskii  <eliz@gnu.org>
275         Restore some of the quoting in the manuals
276         * doc/lispref/windows.texi (Coordinates and Windows)
277         (Coordinates and Windows):
278         * doc/lispref/variables.texi (Lexical Binding)
279         (File Local Variables):
280         * doc/lispref/text.texi (Format Properties):
281         * doc/lispref/symbols.texi (Symbol Components):
282         * doc/lispref/strings.texi (Creating Strings):
283         * doc/lispref/sequences.texi (Sequence Functions):
284         * doc/lispref/searching.texi (Regexp Special, Regexp Search)
285         (Search and Replace):
286         * doc/lispref/processes.texi (Bindat Spec):
287         * doc/lispref/os.texi (Idle Timers):
288         * doc/lispref/objects.texi (Basic Char Syntax):
289         * doc/lispref/numbers.texi (Float Basics, Random Numbers):
290         * doc/lispref/nonascii.texi (Character Properties):
291         * doc/lispref/modes.texi (Major Mode Conventions, Mode Hooks)
292         (Mode Line Variables):
293         * doc/lispref/minibuf.texi (Text from Minibuffer):
294         * doc/lispref/loading.texi (Autoload):
295         * doc/lispref/keymaps.texi (Controlling Active Maps):
296         * doc/lispref/frames.texi (Frame Layout, Size and Position)
297         (Size Parameters, Implied Frame Resizing):
298         * doc/lispref/files.texi (Changing Files, Magic File Names):
299         * doc/lispref/eval.texi (Self-Evaluating Forms):
300         * doc/lispref/display.texi (Progress, Abstract Display)
301         (Abstract Display Example, Bidirectional Display):
302         * doc/lispref/commands.texi (Event Mod):
303         * doc/emacs/windows.texi (Displaying Buffers):
304         * doc/emacs/trouble.texi (Bug Criteria, Checklist):
305         * doc/emacs/text.texi (Enriched Text):
306         * doc/emacs/programs.texi (MixedCase Words):
307         * doc/emacs/picture-xtra.texi (Insert in Picture)
308         (Tabs in Picture):
309         * doc/emacs/misc.texi (Emacs Server, Printing):
310         * doc/emacs/mini.texi (Minibuffer History):
311         * doc/emacs/maintaining.texi (Old Revisions, VC Change Log)
312         (Pulling / Pushing):
313         * doc/emacs/killing.texi (Yanking, Cut and Paste, Clipboard):
314         * doc/emacs/help.texi (Help, Help Echo):
315         * doc/emacs/glossary.texi (Glossary):
316         * doc/emacs/frames.texi (Mouse Commands, Creating Frames)
317         (Frame Commands):
318         * doc/emacs/files.texi (Reverting, Saving, Directories):
319         * doc/emacs/entering.texi (Exiting):
320         * doc/emacs/emacs.texi (Top):
321         * doc/emacs/cmdargs.texi (Window Size X, Icons X):
322         * doc/emacs/anti.texi (Antinews): Restore quoting of text where
323         appropriate or replace quoting with @dfn.
324         * doc/misc/ediff.texi (Window and Frame Configuration):
325         * doc/lispref/processes.texi (Network Feature Testing):
326         * doc/lispref/display.texi (Display Margins): Quote the phrase
327         after "a.k.a." where appropriate.
329 2015-09-16  Tassilo Horn  <tsdh@gnu.org>
331         Clarify reftex-extra-bindings docs.
332         * lisp/textmodes/reftex-vars.el (reftex-extra-bindings):
333         * doc/misc/reftex.texi (Key Bindings): Document that the variable
334         only has an effect at load-time.
336 2015-09-16  Daniel McClanahan  <danieldmcclanahan@gmail.com>  (tiny change)
338         Fix search argument in ‘lisp--el-match-keyword’ (Bug#21492) (Bug#21493)
339         * lisp/emacs-lisp/lisp-mode.el (lisp--el-match-keyword): Fix
340         search argument.  (Bug#21492) (Bug#21493)
342 2015-09-16  Tassilo Horn  <tsdh@gnu.org>
344         Add pretty symbols for \qquad and \varrho.
345         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Add pretty
346         symbols for \qquad and \varrho.
348 2015-09-15  Jay Belanger  <jay.p.belanger@gmail.com>
350         Add new functions for the root mean square of a (Calc) vector
351         * lisp/calc/calc-stats.el (calcFunc-rms, calc-vector-rms):
352         New functions.
353         * lisp/calc/calc-ext.el (calc-init-extensions): Add keybinding for
354         `calc-vector-rms', add autoloads for `calc-vector-rms' and
355         `calcFunc-rms'.
356         * lisp/calc/calc-map.el (calc-u-oper-keys):  Add entry for
357         `calcFunc-rms'.
358         * lisp/calc/calc-menu.el (calc-vectors-menu): Add entry for
359         `calc-vector-rms'.
360         * doc/misc/calc.texi (Single-Variable Statistics): Document the rms
361         command.
363 2015-09-15  Stephen Leake  <stephen_leake@stephe-leake.org>
365         Add monotone EDE generic project
366         * lisp/cedet/ede/generic.el (ede-enable-generic-projects): Add monotone
367         generic project.
369         Revert premature commit
370         * doc/lispref/files.texi: Revert premature commit of change to
371         file-name-all-completions.
373         Fix a bug in elisp--xref-find-definitions related to cl-generic defaults
374         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions): Fix bug
375         with cl-generic defaults.
376         (elisp--xref-find-references): Add doc string.
377         * test/automated/elisp-mode-tests.el (xref-elisp-generic-*): Improve
378         tests to find bug.
380         Fix bugs in eieio-oref-default related to class symbols
381         * lisp/emacs-lisp/eieio-core.el (class-p): Handle symbol properly.
382         (eieio-oref-default): Handle class properly.
384 2015-09-15  Paul Eggert  <eggert@cs.ucla.edu>
386         Quote “fullboth” when defining it
387         * doc/lispref/frames.texi (Size Parameters): Use @dfn for “fullboth”
388         and rewrite the containing paragraph, which was awkward.  (Bug#21472).
390 2015-09-15  Eli Zaretskii  <eliz@gnu.org>
392         Minor doc fix in emacs/ack.texi
393         * doc/emacs/ack.texi (Acknowledgments): Fix an xref missing the
394         first argument.
396 2015-09-15  Michael Albinus  <michael.albinus@gmx.de>
398         Adapt tests in auto-revert-tests.el
399         * test/automated/auto-revert-tests.el (auto-revert--timeout):
400         Make it a defconst.
401         (auto-revert--wait-for-revert): New defun.
402         (auto-revert-test00-auto-revert-mode)
403         (auto-revert-test01-auto-revert-tail-mode)
404         (auto-revert-test02-auto-revert-mode-dired): Use it.
406 2015-09-15  Stefan Monnier  <monnier@iro.umontreal.ca>
408         * lisp/emacs-lisp/lisp-mode.el (lisp-mode-symbol-regexp): New const
409         Use it everywhere "\\(\\sw\\|\\s_\\|\\\\.\\)+" was used.
410         (cl-lib-fdefs): Add defgeneric.
411         (cl-kw): Add all elements of eieio-kw and cl-lib-kw.
412         (eieio-kw, cl-lib-kw, el-kw): Remove.
414 2015-09-15  Paul Eggert  <eggert@cs.ucla.edu>
416         Quote less in manuals
417         The manuals often used quotes ``...'' when it is better to use @dfn or
418         @code or capitalized words or no quoting at all.  For example, there is
419         no need for the `` and '' in “if a variable has one effect for
420         @code{nil} values and another effect for ``non-@code{nil}'' values”.
421         Reword the Emacs, Lisp intro, and Lisp reference manuals to eliminate
422         unnecessary quoting like this, and to use @dfn etc. instead when called
423         for (Bug#21472).
425 2015-09-15  Mark Oteiza  <mvoteiza@udel.edu>
427         lisp/custom.el (load-theme): Only compute hash when needed.
429 2015-09-15  Paul Eggert  <eggert@cs.ucla.edu>
431         Pacify --enable-gcc-warnings
432         * src/inotify.c (report_inotify_error): Declare it _Noreturn.
434 2015-09-15  Michael Albinus  <michael.albinus@gmx.de>
436         Improve error reports in inotify.c
437         * src/inotify.c (report_inotify_error): New function.  Clone of
438         report_w32notify_error.
439         (inotify_callback, symbol_to_inotifymask, Finotify_add_watch)
440         (Finotify_rm_watch): Use it.
442 2015-09-15  Eli Zaretskii  <eliz@gnu.org>
444         Fix the file-notify tests for watch validation on w32
445         * test/automated/file-notify-tests.el
446         (file-notify-test04-file-validity): Move the directory deletion
447         out of the file-notify--test-with-events macro.
448         (file-notify-test04-file-validity)
449         (file-notify-test05-dir-validity): Enlarge the timeout of
450         read-event to 0.5, as 0.1 is borderline on w32.  (Bug#21432)
452 2015-09-15  Tassilo Horn  <tsdh@gnu.org>
454         Use OPEN BOX instead of space for \quad.
455         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Use OPEN BOX
456         character for \quad instead of a space.
458 2015-09-15  Eli Zaretskii  <eliz@gnu.org>
460         Add missing *.pbm images
461         * etc/images/connect.pbm: New file.
462         * etc/images/custom/down-pushed.pbm: New file.
463         * etc/images/custom/down.pbm: New file.
464         * etc/images/custom/right-pushed.pbm: New file.
465         * etc/images/custom/right.pbm: New file.
466         * etc/images/describe.pbm: New file.
467         * etc/images/disconnect.pbm: New file.
468         * etc/images/ezimage/bits.pbm: New file.
469         * etc/images/ezimage/bitsbang.pbm: New file.
470         * etc/images/ezimage/box-minus.pbm: New file.
471         * etc/images/ezimage/box-plus.pbm: New file.
472         * etc/images/ezimage/box.pbm: New file.
473         * etc/images/ezimage/checkmark.pbm: New file.
474         * etc/images/ezimage/dir-minus.pbm: New file.
475         * etc/images/ezimage/dir-plus.pbm: New file.
476         * etc/images/ezimage/dir.pbm: New file.
477         * etc/images/ezimage/doc-minus.pbm: New file.
478         * etc/images/ezimage/doc-plus.pbm: New file.
479         * etc/images/ezimage/doc.pbm: New file.
480         * etc/images/ezimage/info.pbm: New file.
481         * etc/images/ezimage/key.pbm: New file.
482         * etc/images/ezimage/label.pbm: New file.
483         * etc/images/ezimage/lock.pbm: New file.
484         * etc/images/ezimage/mail.pbm: New file.
485         * etc/images/ezimage/page-minus.pbm: New file.
486         * etc/images/ezimage/page-plus.pbm: New file.
487         * etc/images/ezimage/page.pbm: New file.
488         * etc/images/ezimage/tag-gt.pbm: New file.
489         * etc/images/ezimage/tag-minus.pbm: New file.
490         * etc/images/ezimage/tag-plus.pbm: New file.
491         * etc/images/ezimage/tag-type.pbm: New file.
492         * etc/images/ezimage/tag-v.pbm: New file.
493         * etc/images/ezimage/tag.pbm: New file.
494         * etc/images/ezimage/unlock.pbm: New file.
495         * etc/images/gnus/important.pbm: New file.
496         * etc/images/gnus/mail-send.pbm: New file.
497         * etc/images/gnus/receipt.pbm: New file.
498         * etc/images/gnus/toggle-subscription.pbm: New file.
499         * etc/images/gnus/unimportant.pbm: New file.
500         * etc/images/gud/all.pbm: New file.
501         * etc/images/gud/rcont.pbm: New file.
502         * etc/images/gud/recstart.pbm: New file.
503         * etc/images/gud/recstop.pbm: New file.
504         * etc/images/gud/rfinish.pbm: New file.
505         * etc/images/gud/rnext.pbm: New file.
506         * etc/images/gud/rnexti.pbm: New file.
507         * etc/images/gud/rstep.pbm: New file.
508         * etc/images/gud/rstepi.pbm: New file.
509         * etc/images/gud/thread.pbm: New file.
510         * etc/images/lock-broken.pbm: New file.
511         * etc/images/lock-ok.pbm: New file.
512         * etc/images/lock.pbm: New file.
513         * etc/images/mail/copy.pbm: New file.
514         * etc/images/mail/forward.pbm: New file.
515         * etc/images/mail/not-spam.pbm: New file.
516         * etc/images/mail/outbox.pbm: New file.
517         * etc/images/mail/preview.pbm: New file.
518         * etc/images/mail/save-draft.pbm: New file.
519         * etc/images/mh-logo.pbm: New file.
520         * etc/images/mpc/add.pbm: New file.
521         * etc/images/mpc/ffwd.pbm: New file.
522         * etc/images/mpc/next.pbm: New file.
523         * etc/images/mpc/pause.pbm: New file.
524         * etc/images/mpc/play.pbm: New file.
525         * etc/images/mpc/prev.pbm: New file.
526         * etc/images/mpc/rewind.pbm: New file.
527         * etc/images/mpc/stop.pbm: New file.
528         * etc/images/redo.pbm: New file.
529         * etc/images/smilies/braindamaged.pbm: New file.
530         * etc/images/smilies/cry.pbm: New file.
531         * etc/images/smilies/dead.pbm: New file.
532         * etc/images/smilies/evil.pbm: New file.
533         * etc/images/smilies/forced.pbm: New file.
534         * etc/images/smilies/grin.pbm: New file.
535         * etc/images/smilies/indifferent.pbm: New file.
536         * etc/images/sort-ascending.pbm: New file.
537         * etc/images/sort-column-ascending.pbm: New file.
538         * etc/images/sort-criteria.pbm: New file.
539         * etc/images/sort-descending.pbm: New file.
540         * etc/images/sort-row-ascending.pbm: New file.
541         * etc/images/unchecked.pbm: New file.
542         * etc/images/zoom-in.pbm: New file.
543         * etc/images/README: Update instructions for PBM files.
545         Add separator.pbm tool-bar image
546         * etc/images/separator.pbm: New file.  Having it avoids the side
547         effect of changing the tool-bar height when the default font's size
548         changes and XPM image support is not available, due to the SPC
549         characters that are left in the Lisp string used to display the tool
550         bar, because there are no images to display instead of those SPC
551         characters.
553         Make show-paren-match face visible on mono-color displays
554         * lisp/faces.el (show-paren-match): Use the underline face for
555         mono-color displays.  (Bug#21481)
557 2015-09-14  Paul Eggert  <eggert@cs.ucla.edu>
559         Don’t double-encode non-ASCII mail clipboard
560         * lisp/mail/mailclient.el (mailclient-send-it):
561         Also fix the case when mailclient-place-body-on-clipboard-flag
562         is non-nil.  Problem reported by Eli Zaretskii (Bug#21471#37).
564 2015-09-14  Michael Albinus  <michael.albinus@gmx.de>
566         Adapt file-notify-tests.el test cases
567         * lisp/filenotify.el (file-notify-rm-watch): Ignore `file-notify-error'.
568         * src/inotify.c (Finotify_valid_p): Adapt docstring.
569         * test/automated/file-notify-tests.el ()
570         (file-notify-test03-autorevert)
571         (file-notify-test04-file-validity)
572         (file-notify-test04-file-validity-remote)
573         (file-notify-test05-dir-validity)
574         (file-notify-test05-dir-validity-remote): Adapt docstring.
575         (file-notify-test04-file-validity): Let events arrive before
576         calling final `file-notify-valid-p'.  Do not ignore errors.
577         (file-notify-test05-dir-validity): Do not manipulate
578         `temporary-file-directory', it isn't necessary.  Let events arrive
579         before calling final `file-notify-valid-p'.  Do not ignore errors.
581 2015-09-14  Paul Eggert  <eggert@cs.ucla.edu>
583         Don’t double-encode non-ASCII for mail client
584         * lisp/mail/mailclient.el (mailclient-encode-string-as-url):
585         Use RFC 6068’s list of unreserved characters.
586         (mailclient-send-it): When encoding the body as a URL,
587         first decode it as per Content-Type: and Content-Transfer-Encoding:,
588         as URLs must use percent-encoded UTF-8 (Bug#21471).
589         * doc/misc/url.texi (mailto): Update RFC number.
591 2015-09-14  Stefan Monnier  <monnier@iro.umontreal.ca>
593         * lisp/progmodes/cc-langs.el (c-make-init-lang-vars-fun): Use dolist.
595 2015-09-14  Alan Mackenzie  <acm@muc.de>
597         Replace `cadar' with `cadr/car', since `cadar' is problematic on Emacs.
598         (c-make-init-lang-vars-fun): Replace two occurrences of `cadar' with
599         `cadr/car'.
601 2015-09-14  Eli Zaretskii  <eliz@gnu.org>
603         Clarify documentation of char-table extra slots
604         * doc/lispref/sequences.texi (Char-Tables): Clarify that extra
605         slot numbers are zero-based.  (Bug#21467)
607 2015-09-14  Alan Mackenzie  <acm@muc.de>
609         Elisp mode: Make font-lock and imenu handle escaped characters in symbols
610         Fixes debbugs#21449.
611         lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression)
612         (lisp--el-match-keyword, lisp-el-font-lock-keywords-1)
613         (lisp-cl-font-lock-keywords-1, lisp-el-font-lock-keywords-2)
614         (lisp-cl-font-lock-keywords-2, lisp-string-in-doc-position-p):
615         Insert "\\|\\\\." into regexps which match symbols.
617 2015-09-14  Eli Zaretskii  <eliz@gnu.org>
619         Improve the doc string of w32notify-valid-p
620         * src/w32notify.c (Fw32notify_valid_p): Mention in the doc string
621         that removing a watch makes its object invalid.
623 2015-09-14  Tassilo Horn  <tsdh@gnu.org>
625         Fix tests for file-notify-valid-p.
626         * test/automated/file-notify-tests.el (file-notify--test-cleanup):
627         Use delete-directory to delete file-notify--test-tmpfile if it is
628         a directory.  Likewise for file-notify--test-tmpfile1.
629         (file-notify-test04-file-validity)
630         (file-notify-test05-dir-validity): Delete the parent directory of
631         the test.  Ignore errors when cleaning up after the test.
633 2015-09-14  Eli Zaretskii  <eliz@gnu.org>
635         Report file-notify-error in w32notify.c
636         * src/w32notify.c (report_w32notify_error): New function.
637         (Fw32notify_add_watch, Fw32notify_rm_watch): Use it to report
638         errors, instead of calling report_file_error.  (Bug#21432)
640         Implement w32notify-valid-p
641         * src/w32notify.c (Fw32notify_valid_p): New function.  (Bug#21432)
642         * lisp/filenotify.el (w32notify-valid-p): No longer an alias for
643         'identity'.
645 2015-09-14  Tassilo Horn  <tsdh@gnu.org>
647         Test file-notify-valid-p.
648         * test/automated/file-notify-tests.el
649         (file-notify-test04-file-validity, file-notify-test05-dir-validity): New
650         tests.
652 2015-09-13  Eli Zaretskii  <eliz@gnu.org>
654         Fix markup in ELisp manual
655         * doc/lispref/frames.texi (Font and Color Parameters): Fix markup
656         of the 'alpha' parameter value.  (Bug#21470)
658 2015-09-13  Michael Albinus  <michael.albinus@gmx.de>
660         Introduce `file-notify-valid-p'
661         * lisp/filenotify.el (file-notify-valid-p): New defun.
662         (gfile-valid-p, w32notify-valid-p): Make them an alias to `identity'.
663         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist)
664         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist)
665         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist)
666         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist)
667         <file-notify-valid-p>: Add handler.
668         * lisp/net/tramp.el (tramp-file-name-for-operation):
669         Add `file-notify-valid-p'.
670         (tramp-handle-file-notify-valid-p): New defun.
671         * src/inotify.c (Finotify_valid_p): New defun.
672         (syms_of_inotify): Declare Sinotify_valid_p.
674 2015-09-13  Paul Eggert  <eggert@cs.ucla.edu>
676         Port Unicode char detection to FreeBSD+svgalib
677         Problem reported by Ashish SHUKLA in:
678         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00531.html
679         * configure.ac: Check for struct unipair.unicode instead of for
680         <linux/kd.h>, since that’s more specific to what the code actually needs.
681         * src/terminal.c: Use HAVE_STRUCT_UNIPAIR_UNICODE, not HAVE_LINUX_KD_H.
683         * src/indent.c (Fvertical_motion): Simplify bugfix (Bug#21468).
685 2015-09-13  Eli Zaretskii  <eliz@gnu.org>
687         Fix vertical cursor motion across overlay strings with newlines
688         * src/indent.c (Fvertical_motion): Don't leave point in the middle
689         of an overlay string with newlines, as that will position the
690         cursor after the string at whatever column is there.  (Bug#21468)
692 2015-09-12  Michael Albinus  <michael.albinus@gmx.de>
694         Fix tests in file-notify-tests.el
695         * test/automated/file-notify-tests.el: Remove Tramp declarations.
696         (file-notify-test00-availability): Print remote command w/o Tramp
697         internal functions.
698         (file-notify-test02-events, file-notify-test02-events-remote):
699         Adapt docstring.
700         (file-notify-test03-autorevert): Use `format-message' when
701         inspecting *Messages* buffer.
703 2015-09-12  Stefan Monnier  <monnier@iro.umontreal.ca>
705         Bind inhibit-modification-hooks rather than a/b-c-f
706         * lisp/wid-edit.el (widget-editable-list-insert-before)
707         (widget-editable-list-delete-at):
708         * lisp/progmodes/cperl-mode.el (cperl-find-pods-heres)
709         (cperl-font-lock-unfontify-region-function):
710         * lisp/progmodes/antlr-mode.el (save-buffer-state-x):
711         * lisp/obsolete/longlines.el (longlines-mode):
712         * lisp/obsolete/fast-lock.el (save-buffer-state):
713         * lisp/mouse.el (mouse-save-then-kill-delete-region):
714         * lisp/gnus/message.el (message-hide-headers):
715         * lisp/eshell/esh-mode.el (eshell-send-input, eshell-output-filter):
716         * lisp/ibuffer.el (ibuffer-update-title-and-summary)
717         (ibuffer-redisplay-engine): Bind inhibit-modification-hooks to t rather
718         than after/before-change-functions to nil.
720 2015-09-11  Stefan Monnier  <monnier@iro.umontreal.ca>
722         (jit-lock-deferred-fontify): Pay attention to skipped redisplays
723         * lisp/jit-lock.el (jit-lock-deferred-fontify): Make sure we refresh
724         the buffers, even if the forced redisplay is interrupted.
726         * lisp/emacs-lisp/eieio-core.el (class-p): Accept class objects
728         Merge syntax-propertize--done and parse-sexp-propertize-done
729         * lisp/emacs-lisp/syntax.el (syntax-propertize--done): Remove.
730         (syntax-propertize): Set syntax-propertize--done even if
731         syntax-propertize-function is nil.  Avoid recursive invocations.
732         (syntax-propertize-chunks): New var.
733         (internal--syntax-propertize): Use it.  Rename from syntax--jit-propertize.
734         Simplify.
735         (parse-sexp-propertize-function): Don't set any more.
736         * src/syntax.c (SETUP_SYNTAX_TABLE): Call parse_sexp_propertize as needed.
737         (parse_sexp_propertize): Don't assume charpos is not yet propertized.
738         Call Qinternal__syntax_propertize instead of
739         Vparse_sexp_propertize_function.  Truncate e_property if needed.
740         (update_syntax_table_forward): Streamline.
741         (syms_of_syntax): Define Qinternal__syntax_propertize.
742         (syntax_propertize__done): Rename from parse_sexp_propertize_done.
744 2015-09-11  Paul Eggert  <eggert@cs.ucla.edu>
746         Prefer straight quoting in some text files
747         Mostly this just changes ` to ' in static text.  Some exceptions:
748         * INSTALL.REPO: Use curved quotes, as the diagnostic in question
749         typically does that now.
750         * admin/quick-install-emacs (TRY, top level):
751         Use straight quoting in diagnostics.
752         * src/README: Fix working-directory confusion.
754         * CONTRIBUTE: Move send-email here from git-workflow.
756 2015-09-11  Michael Albinus  <michael.albinus@gmx.de>
758         Improve file notifications in Tramp
759         * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
760         Set proper events to watch for.
761         (tramp-sh-file-gvfs-monitor-dir-process-filter): Report only
762         watched events.
764 2015-09-11  Eli Zaretskii  <eliz@gnu.org>
766         Fix NS build with --enable-checking='glyphs'
767         * src/nsfns.m (unwind_create_frame): Make the preprocessor
768         conditionals for referencing 'dpyinfo' consistent throughout the
769         function.  (Bug#21426)
771 2015-09-10  Nicolas Petton  <nicolas@petton.fr>
773         Add seq-find
774         This function is similar to `seq-some' but returns the found element.
775         In the cases where nil can be the found element, a sentinel optional
776         argument can be provided to avoid ambiguities.
777         * lisp/emacs-lisp/seq.el (seq-find): New function.
778         * test/automated/seq-tests.el (test-seq-find): Add tests for `seq-find'.
779         * doc/lispref/sequences.texi (Sequence Functions): Add documentation for
780         seq-find.
782 2015-09-10  Tassilo Horn  <tsdh@gnu.org>
784         Document file-notify--test-with-events.
785         * test/automated/file-notify-tests.el (file-notify--test-with-events):
786         Add docstring.
788 2015-09-10  Michael Albinus  <michael.albinus@gmx.de>
790         Report used native library in file-notify-tests.el
791         * test/automated/file-notify-tests.el
792         (tramp-get-remote-gvfs-monitor-dir)
793         (tramp-get-remote-inotifywait): Declare them.
794         (file-notify-test00-availability): Print used native library.
796 2015-09-10  Mark Oteiza  <mvoteiza@udel.edu>
798         * lisp/mpc.el (mpc--proc-connect): Use file-name-absolute-p.
799         (mpc-file-local-copy): Check for absolute path.  Check more config
800         locations.
802 2015-09-10  Eli Zaretskii  <eliz@gnu.org>
804         Improve documentation of categories
805         * doc/lispref/syntax.texi (Categories): Clarify the example of
806         using define-category and modify-category-entry.  (Bug#21448)
808 2015-09-10  Paul Eggert  <eggert@cs.ucla.edu>
810         Revert some stray curved quotes I missed earlier
811         Problem reported by David Kastrup in:
812         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00440.html
813         * lisp/international/mule-cmds.el (leim-list-header):
814         Use format-message with an ASCII-only format.
816         Prefer NUMBERP to spelling it out
817         * src/editfns.c (styled_format):
818         * src/frame.h (NUMVAL):
819         * src/image.c (parse_image_spec):
820         * src/lisp.h (CHECK_NUMBER_OR_FLOAT)
821         (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER):
822         * src/process.c (Fsignal_process):
823         * src/xdisp.c (calc_pixel_width_or_height, on_hot_spot_p):
824         * src/xfaces.c (check_lface_attrs):
825         * src/xselect.c (x_fill_property_data, x_send_client_event):
826         Use NUMBERP rather than INTEGERP || FLOATP.
828 2015-09-10  Tassilo Horn  <tsdh@gnu.org>
830         Improve file-notify-tests
831         * test/automated/file-notify-tests.el: Use lexical-binding
832         (file-notify--test-cleanup): New function.
833         (file-notify-test00-availability, file-notify-test01-add-watch)
834         (file-notify-test02-events, file-notify-test03-autorevert): Use it.
835         (file-notify--test-with-events): New macro.
836         (file-notify-test02-events): Use it.
838 2015-09-10  Paul Eggert  <eggert@cs.ucla.edu>
840         Add patch-sending instructions to git-workflow
841         From a suggestion by Mitchel Humpherys in:
842         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00421.html
843         * admin/notes/git-workflow (Sending patches): New section.
845         Port to GIFLIB 5.0.6 and later
846         Problem reported by Mitchel Humpherys in:
847         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00420.html
848         * src/image.c (HAVE_GIFERRORSTRING) [HAVE_GIF]: New macro.
849         (GifErrorString, init_gif_functions) [HAVE_GIF && WINDOWSNT]:
850         (gif_load) [HAVE_GIF]: Use it.
852 2015-09-10  Glenn Morris  <rgm@gnu.org>
854         * lisp/cedet/ede/auto.el (ede-project-autoload): Doc fix.
856 2015-09-09  Glenn Morris  <rgm@gnu.org>
858         * test/automated/file-notify-tests.el (file-notify-test02-events):
859         Fix recent change.
861 2015-09-09  Paul Eggert  <eggert@cs.ucla.edu>
863         Refix movemail GCC pacification
864         Problem reported by Ken Brown in:
865         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00406.html
866         * lib-src/movemail.c (main): Fix previous change.
868 2015-09-09  Stefan Monnier  <monnier@iro.umontreal.ca>
870         (time-to-seconds, time-less-p): Mark unused vars with underscore
871         * lisp/calendar/time-date.el (time-to-seconds, time-less-p):
872         Mark unused vars with underscore.
874         * src/syntax.c (SETUP_SYNTAX_TABLE): Move truncation...
875         (parse_sexp_propertize): ...from here.
877         * lisp/filenotify.el: Use lexical-binding
878         (file-notify-add-watch): Avoid add-to-list.
880 2015-09-09  Tassilo Horn  <tsdh@gnu.org>
882         Start checking event types in file-notify tests
883         * test/automated/file-notify-tests.el (file-notify--test-events): New
884         variable.
885         (file-notify--test-event-handler): Append received event to
886         file-notify--test-events for later analysis.
887         (file-notify-test02-events): Assert that the expected notifications have
888         arrived in the expected order.
890 2015-09-09  Paul Eggert  <eggert@cs.ucla.edu>
892         Merge from gnulib and texinfo
893         This incorporates:
894         2015-08-03 Improve port of stdalign to C++11
895         * lib/stdalign.in.h: Copy from gnulib.
896         * doc/misc/texinfo.tex: Copy from texinfo.
898 2015-09-09  Stefan Monnier  <monnier@iro.umontreal.ca>
900         Make syntax.c call syntax-propertize on demand
901         * lisp/emacs-lisp/syntax.el (syntax--jit-propertize): New function.
902         (parse-sexp-propertize-function): Use it.
903         (syntax-propertize): Disable parse-sexp-propertize-function.
904         * src/syntax.c (parse_sexp_propertize, update_syntax_table_forward):
905         New functions.
906         (syms_of_syntax): New vars `parse-sexp-propertize-done' and
907         `parse-sexp-propertize-function'.
908         * src/syntax.h (struct gl_state_s): Add `e_property_truncated' field.
909         (UPDATE_SYNTAX_TABLE_FORWARD): Use update_syntax_table_forward.
910         (SETUP_BUFFER_SYNTAX_TABLE): Set e_property_truncated.
911         * lisp/progmodes/elisp-mode.el (elisp-byte-code-syntax-propertize):
912         Don't assume `point' is set.
914 2015-09-09  Eli Zaretskii  <eliz@gnu.org>
916         Fix indentation of an @example in ELisp manual
917         * doc/lispref/syntax.texi (Categories): Untabify the example.
918         (Bug#21448)
920 2015-09-09  Paul Eggert  <eggert@cs.ucla.edu>
922         Define internal-char-font even if --without-x
923         The function is used now even in non-graphical environments.
924         Problem reported by Glenn Morris in:
925         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00401.html
926         * src/font.c (Finternal_char_font): Move here ...
927         * src/fontset.c (Finternal_char_font): ... from here.
929 2015-09-09  Stefan Monnier  <monnier@iro.umontreal.ca>
931         * lisp/emacs-lisp/cl-generic.el (cl-generic-generalizers): Remove
932         warning.
934 2015-09-09  Eli Zaretskii  <eliz@gnu.org>
936         Fix display of complex local data types in GDB-MI
937         * lisp/progmodes/gdb-mi.el (gdb-locals-handler-custom): If a
938         variable has no value, display "<complex data type>" as a
939         placeholder, instead of a confusing "nil".  (Bug#21438)
941 2015-09-09  Oleh Krehel  <ohwoeowho@gmail.com>
943         Remove redundant redefinition of seq-drop-while from seq.el
944         * lisp/emacs-lisp/seq.el (seq-drop-while): Define only once.
946 2015-09-09  Phil Sainty  <psainty@orcon.net.nz>
948         * lisp/emacs-lisp/package.el (package--ensure-init-file)
949         More robust check for `package-initialize' calls in init file.
950         This function accepts an optional argument, but calls passing
951         an argument would not have been detected.
953 2015-09-09  Paul Eggert  <eggert@cs.ucla.edu>
955         Port movemail to RHEL 6 with --enable-gcc-warnings
956         * lib-src/movemail.c (main): Declare local only if needed.
958         Port recent Linux console changes to RHEL 6
959         * src/terminal.c [HAVE_LINUX_KD_H]: Include <sys/ioctl.h>.
961         Improvements for curved quotes on Linux consule
962         This should help Emacs work better out-of-the-box on Linux consoles,
963         which have only limited support for displaying Unicode characters.
964         Also, undo the recent change that caused text-quoting-style to
965         affect quote display on terminals, so that the two features are
966         independent.  See Alan Mackenzie in:
967         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00244.html
968         Finally, add a style parameter to startup--setup-quote-display,
969         so that this function can also be invoked after startup, with
970         different styles depending on user preference at the time.
971         * configure.ac: Check for linux/kd.h header.
972         * doc/emacs/display.texi (Text Display): Document quote display.
973         * doc/lispref/display.texi (Active Display Table):
974         * etc/NEWS:
975         * lisp/startup.el (startup--setup-quote-display, command-line):
976         text-quoting-style no longer affects quote display.
977         * doc/lispref/frames.texi (Terminal Parameters): Fix typo.
978         * lisp/international/mule-util.el (char-displayable-p):
979         * lisp/startup.el (startup--setup-quote-display):
980         On a text terminal supporting glyph codes, use the reported
981         glyph codes instead of the terminal coding system, as this
982         is more accurate on the Linux console.
983         * lisp/startup.el (startup--setup-quote-display):
984         New optional arg STYLE.
985         * src/fontset.c (Finternal_char_font):
986         Report glyph codes for a text terminal, if they are available.
987         Currently this is supported only for the Linux console.
988         * src/termhooks.h (struct terminal): New member glyph-code-table.
989         * src/terminal.c [HAVE_LINUX_KD_H]: Include <errno.h>, <linux/kd.h>.
990         (calculate_glyph_code_table) [HAVE_LINUX_KD_H]: New function.
991         (terminal_glyph_code): New function.
993 2015-09-08  Juri Linkov  <juri@linkov.net>
995         * lisp/info.el (Info-fontify-node): Don't stop at the non-title
996         underline.  (Bug#21433)
998 2015-09-08  Stefan Monnier  <monnier@iro.umontreal.ca>
1000         * lisp/calendar/time-date.el (with-decoded-time-value): Fix debug spec.
1002 2015-09-08  Tassilo Horn  <tsdh@gnu.org>
1004         Fix double-reporting of rename events with inotify
1005         * lisp/filenotify.el (file-notify-callback): Fix double-reporting
1006         of rename events with inotify (bug#21435).
1008 2015-09-08  Vasilij Schneidermann  <v.schneidermann@gmail.com>  (tiny change)
1010         * lisp/play/tetris.el (tetris-move-down): New command (bug#21360).
1011         (tetris-mode-map): Use it.
1013 2015-09-08  Stefan Monnier  <monnier@iro.umontreal.ca>
1015         Remove a few simple cases of global redisplay
1016         * src/dispnew.c (redraw_frame): Don't redisplay all frames.
1017         * src/xdisp.c (echo_area_display): Set the frame's `redisplay' bit
1018         rather than returning a "resized_p" boolean.
1019         (redisplay_internal): Adjust call accordingly.
1020         * src/xfaces.c (free_realized_faces): Don't redisplay all frames.
1021         (free_all_realized_faces): Set windows_or_buffers_changed so as to ease
1022         tracking of this undesirable situation.
1024         * src/process.c (status_notify): Avoid global redisplay (bug#11822)
1025         * src/process.c (status_notify): Only set the update_mode_line on the
1026         relevant buffers rather than setting it globally.
1028 2015-09-07  Stefan Monnier  <monnier@iro.umontreal.ca>
1030         * lisp/electric.el (electric-quote-post-self-insert-function):
1031         Don't use syntax-ppss if comment-use-syntax is nil (e.g. message-mode).
1032         (electric-quote-mode): Activate everywhere in message-mode.
1034 2015-09-07  Paul Eggert  <eggert@cs.ucla.edu>
1036         Go back to grave quoting in source-code docstrings etc.
1037         This reverts almost all my recent changes to use curved quotes
1038         in docstrings and/or strings used for error diagnostics.
1039         There are a few exceptions, e.g., Bahá’í proper names.
1040         * admin/unidata/unidata-gen.el (unidata-gen-table):
1041         * lisp/abbrev.el (expand-region-abbrevs):
1042         * lisp/align.el (align-region):
1043         * lisp/allout.el (allout-mode, allout-solicit-alternate-bullet)
1044         (outlineify-sticky):
1045         * lisp/apropos.el (apropos-library):
1046         * lisp/bookmark.el (bookmark-default-annotation-text):
1047         * lisp/button.el (button-category-symbol, button-put)
1048         (make-text-button):
1049         * lisp/calc/calc-aent.el (math-read-if, math-read-factor):
1050         * lisp/calc/calc-embed.el (calc-do-embedded):
1051         * lisp/calc/calc-ext.el (calc-user-function-list):
1052         * lisp/calc/calc-graph.el (calc-graph-show-dumb):
1053         * lisp/calc/calc-help.el (calc-describe-key)
1054         (calc-describe-thing, calc-full-help):
1055         * lisp/calc/calc-lang.el (calc-c-language)
1056         (math-parse-fortran-vector-end, math-parse-tex-sum)
1057         (math-parse-eqn-matrix, math-parse-eqn-prime)
1058         (calc-yacas-language, calc-maxima-language, calc-giac-language)
1059         (math-read-giac-subscr, math-read-math-subscr)
1060         (math-read-big-rec, math-read-big-balance):
1061         * lisp/calc/calc-misc.el (calc-help, report-calc-bug):
1062         * lisp/calc/calc-mode.el (calc-auto-why, calc-save-modes)
1063         (calc-auto-recompute):
1064         * lisp/calc/calc-prog.el (calc-fix-token-name)
1065         (calc-read-parse-table-part, calc-user-define-invocation)
1066         (math-do-arg-check):
1067         * lisp/calc/calc-store.el (calc-edit-variable):
1068         * lisp/calc/calc-units.el (math-build-units-table-buffer):
1069         * lisp/calc/calc-vec.el (math-read-brackets):
1070         * lisp/calc/calc-yank.el (calc-edit-mode):
1071         * lisp/calc/calc.el (calc, calc-do, calc-user-invocation):
1072         * lisp/calendar/appt.el (appt-display-message):
1073         * lisp/calendar/diary-lib.el (diary-check-diary-file)
1074         (diary-mail-entries, diary-from-outlook):
1075         * lisp/calendar/icalendar.el (icalendar-export-region)
1076         (icalendar--convert-float-to-ical)
1077         (icalendar--convert-date-to-ical)
1078         (icalendar--convert-ical-to-diary)
1079         (icalendar--convert-recurring-to-diary)
1080         (icalendar--add-diary-entry):
1081         * lisp/calendar/time-date.el (format-seconds):
1082         * lisp/calendar/timeclock.el (timeclock-mode-line-display)
1083         (timeclock-make-hours-explicit, timeclock-log-data):
1084         * lisp/calendar/todo-mode.el (todo-prefix, todo-delete-category)
1085         (todo-item-mark, todo-check-format)
1086         (todo-insert-item--next-param, todo-edit-item--next-key)
1087         (todo-mode):
1088         * lisp/cedet/ede/pmake.el (ede-proj-makefile-insert-dist-rules):
1089         * lisp/cedet/mode-local.el (describe-mode-local-overload)
1090         (mode-local-print-binding, mode-local-describe-bindings-2):
1091         * lisp/cedet/semantic/complete.el (semantic-displayor-show-request):
1092         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
1093         * lisp/cus-start.el (standard):
1094         * lisp/cus-theme.el (describe-theme-1):
1095         * lisp/custom.el (custom-add-dependencies, custom-check-theme)
1096         (custom--sort-vars-1, load-theme):
1097         * lisp/descr-text.el (describe-text-properties-1, describe-char):
1098         * lisp/dired-x.el (dired-do-run-mail):
1099         * lisp/dired.el (dired-log):
1100         * lisp/emacs-lisp/advice.el (ad-read-advised-function)
1101         (ad-read-advice-class, ad-read-advice-name, ad-enable-advice)
1102         (ad-disable-advice, ad-remove-advice, ad-set-argument)
1103         (ad-set-arguments, ad--defalias-fset, ad-activate)
1104         (ad-deactivate):
1105         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand)
1106         (byte-compile-unfold-lambda, byte-optimize-form-code-walker)
1107         (byte-optimize-while, byte-optimize-apply):
1108         * lisp/emacs-lisp/byte-run.el (defun, defsubst):
1109         * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode)
1110         (byte-compile-log-file, byte-compile-format-warn)
1111         (byte-compile-nogroup-warn, byte-compile-arglist-warn)
1112         (byte-compile-cl-warn)
1113         (byte-compile-warn-about-unresolved-functions)
1114         (byte-compile-file, byte-compile--declare-var)
1115         (byte-compile-file-form-defmumble, byte-compile-form)
1116         (byte-compile-normal-call, byte-compile-check-variable)
1117         (byte-compile-variable-ref, byte-compile-variable-set)
1118         (byte-compile-subr-wrong-args, byte-compile-setq-default)
1119         (byte-compile-negation-optimizer)
1120         (byte-compile-condition-case--old)
1121         (byte-compile-condition-case--new, byte-compile-save-excursion)
1122         (byte-compile-defvar, byte-compile-autoload)
1123         (byte-compile-lambda-form)
1124         (byte-compile-make-variable-buffer-local, display-call-tree)
1125         (batch-byte-compile):
1126         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use):
1127         * lisp/emacs-lisp/chart.el (chart-space-usage):
1128         * lisp/emacs-lisp/check-declare.el (check-declare-scan)
1129         (check-declare-warn, check-declare-file)
1130         (check-declare-directory):
1131         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
1132         (checkdoc-message-text-engine):
1133         * lisp/emacs-lisp/cl-extra.el (cl-parse-integer)
1134         (cl--describe-class):
1135         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric)
1136         (cl--generic-describe, cl-generic-generalizers):
1137         * lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause, cl-tagbody)
1138         (cl-symbol-macrolet):
1139         * lisp/emacs-lisp/cl.el (cl-unload-function, flet):
1140         * lisp/emacs-lisp/copyright.el (copyright)
1141         (copyright-update-directory):
1142         * lisp/emacs-lisp/edebug.el (edebug-read-list):
1143         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-read):
1144         * lisp/emacs-lisp/eieio-core.el (eieio--slot-override)
1145         (eieio-oref):
1146         * lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor):
1147         * lisp/emacs-lisp/eieio-speedbar.el:
1148         (eieio-speedbar-child-make-tag-lines)
1149         (eieio-speedbar-child-description):
1150         * lisp/emacs-lisp/eieio.el (defclass, change-class):
1151         * lisp/emacs-lisp/elint.el (elint-file, elint-get-top-forms)
1152         (elint-init-form, elint-check-defalias-form)
1153         (elint-check-let-form):
1154         * lisp/emacs-lisp/ert.el (ert-get-test, ert-results-mode-menu)
1155         (ert-results-pop-to-backtrace-for-test-at-point)
1156         (ert-results-pop-to-messages-for-test-at-point)
1157         (ert-results-pop-to-should-forms-for-test-at-point)
1158         (ert-describe-test):
1159         * lisp/emacs-lisp/find-func.el (find-function-search-for-symbol)
1160         (find-function-library):
1161         * lisp/emacs-lisp/generator.el (iter-yield):
1162         * lisp/emacs-lisp/gv.el (gv-define-simple-setter):
1163         * lisp/emacs-lisp/lisp-mnt.el (lm-verify):
1164         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
1165         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
1166         * lisp/emacs-lisp/nadvice.el (advice--make-docstring)
1167         (advice--make, define-advice):
1168         * lisp/emacs-lisp/package-x.el (package-upload-file):
1169         * lisp/emacs-lisp/package.el (package-version-join)
1170         (package-disabled-p, package-activate-1, package-activate)
1171         (package--download-one-archive)
1172         (package--download-and-read-archives)
1173         (package-compute-transaction, package-install-from-archive)
1174         (package-install, package-install-selected-packages)
1175         (package-delete, package-autoremove, describe-package-1)
1176         (package-install-button-action, package-delete-button-action)
1177         (package-menu-hide-package, package-menu--list-to-prompt)
1178         (package-menu--perform-transaction)
1179         (package-menu--find-and-notify-upgrades):
1180         * lisp/emacs-lisp/pcase.el (pcase-exhaustive, pcase--u1):
1181         * lisp/emacs-lisp/re-builder.el (reb-enter-subexp-mode):
1182         * lisp/emacs-lisp/ring.el (ring-previous, ring-next):
1183         * lisp/emacs-lisp/rx.el (rx-check, rx-anything)
1184         (rx-check-any-string, rx-check-any, rx-check-not, rx-=)
1185         (rx-repeat, rx-check-backref, rx-syntax, rx-check-category)
1186         (rx-form):
1187         * lisp/emacs-lisp/smie.el (smie-config-save):
1188         * lisp/emacs-lisp/subr-x.el (internal--check-binding):
1189         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-put-tag):
1190         * lisp/emacs-lisp/testcover.el (testcover-1value):
1191         * lisp/emacs-lisp/timer.el (timer-event-handler):
1192         * lisp/emulation/viper-cmd.el (viper-toggle-parse-sexp-ignore-comments)
1193         (viper-toggle-search-style, viper-kill-buffer)
1194         (viper-brac-function):
1195         * lisp/emulation/viper-macs.el (viper-record-kbd-macro):
1196         * lisp/env.el (setenv):
1197         * lisp/erc/erc-button.el (erc-nick-popup):
1198         * lisp/erc/erc.el (erc-cmd-LOAD, erc-handle-login, english):
1199         * lisp/eshell/em-dirs.el (eshell/cd):
1200         * lisp/eshell/em-glob.el (eshell-glob-regexp)
1201         (eshell-glob-entries):
1202         * lisp/eshell/em-pred.el (eshell-parse-modifiers):
1203         * lisp/eshell/esh-opt.el (eshell-show-usage):
1204         * lisp/facemenu.el (facemenu-add-new-face)
1205         (facemenu-add-new-color):
1206         * lisp/faces.el (read-face-name, read-face-font, describe-face)
1207         (x-resolve-font-name):
1208         * lisp/files-x.el (modify-file-local-variable):
1209         * lisp/files.el (locate-user-emacs-file, find-alternate-file)
1210         (set-auto-mode, hack-one-local-variable--obsolete)
1211         (dir-locals-set-directory-class, write-file, basic-save-buffer)
1212         (delete-directory, copy-directory, recover-session)
1213         (recover-session-finish, insert-directory)
1214         (file-modes-char-to-who, file-modes-symbolic-to-number)
1215         (move-file-to-trash):
1216         * lisp/filesets.el (filesets-add-buffer, filesets-remove-buffer):
1217         * lisp/find-cmd.el (find-generic, find-to-string):
1218         * lisp/finder.el (finder-commentary):
1219         * lisp/font-lock.el (font-lock-fontify-buffer):
1220         * lisp/format.el (format-write-file, format-find-file)
1221         (format-insert-file):
1222         * lisp/frame.el (get-device-terminal, select-frame-by-name):
1223         * lisp/fringe.el (fringe--check-style):
1224         * lisp/gnus/nnmairix.el (nnmairix-widget-create-query):
1225         * lisp/help-fns.el (help-fns--key-bindings)
1226         (help-fns--compiler-macro, help-fns--parent-mode)
1227         (help-fns--obsolete, help-fns--interactive-only)
1228         (describe-function-1, describe-variable):
1229         * lisp/help.el (describe-mode)
1230         (describe-minor-mode-from-indicator):
1231         * lisp/image.el (image-type):
1232         * lisp/international/ccl.el (ccl-dump):
1233         * lisp/international/fontset.el (x-must-resolve-font-name):
1234         * lisp/international/mule-cmds.el (prefer-coding-system)
1235         (select-safe-coding-system-interactively)
1236         (select-safe-coding-system, activate-input-method)
1237         (toggle-input-method, describe-current-input-method)
1238         (describe-language-environment):
1239         * lisp/international/mule-conf.el (code-offset):
1240         * lisp/international/mule-diag.el (describe-character-set)
1241         (list-input-methods-1):
1242         * lisp/mail/feedmail.el (feedmail-run-the-queue):
1243         * lisp/mouse.el (minor-mode-menu-from-indicator):
1244         * lisp/mpc.el (mpc-playlist-rename):
1245         * lisp/msb.el (msb--choose-menu):
1246         * lisp/net/ange-ftp.el (ange-ftp-shell-command):
1247         * lisp/net/imap.el (imap-interactive-login):
1248         * lisp/net/mairix.el (mairix-widget-create-query):
1249         * lisp/net/newst-backend.el (newsticker--sentinel-work):
1250         * lisp/net/newst-treeview.el (newsticker--treeview-load):
1251         * lisp/net/rlogin.el (rlogin):
1252         * lisp/obsolete/iswitchb.el (iswitchb-possible-new-buffer):
1253         * lisp/obsolete/otodo-mode.el (todo-more-important-p):
1254         * lisp/obsolete/pgg-gpg.el (pgg-gpg-process-region):
1255         * lisp/obsolete/pgg-pgp.el (pgg-pgp-process-region):
1256         * lisp/obsolete/pgg-pgp5.el (pgg-pgp5-process-region):
1257         * lisp/org/ob-core.el (org-babel-goto-named-src-block)
1258         (org-babel-goto-named-result):
1259         * lisp/org/ob-fortran.el (org-babel-fortran-ensure-main-wrap):
1260         * lisp/org/ob-ref.el (org-babel-ref-resolve):
1261         * lisp/org/org-agenda.el (org-agenda-prepare):
1262         * lisp/org/org-clock.el (org-clock-notify-once-if-expired)
1263         (org-clock-resolve):
1264         * lisp/org/org-ctags.el (org-ctags-ask-rebuild-tags-file-then-find-tag):
1265         * lisp/org/org-feed.el (org-feed-parse-atom-entry):
1266         * lisp/org/org-habit.el (org-habit-parse-todo):
1267         * lisp/org/org-mouse.el (org-mouse-popup-global-menu)
1268         (org-mouse-context-menu):
1269         * lisp/org/org-table.el (org-table-edit-formulas):
1270         * lisp/org/ox.el (org-export-async-start):
1271         * lisp/proced.el (proced-log):
1272         * lisp/progmodes/ada-mode.el (ada-get-indent-case)
1273         (ada-check-matching-start, ada-goto-matching-start):
1274         * lisp/progmodes/ada-prj.el (ada-prj-display-page):
1275         * lisp/progmodes/ada-xref.el (ada-find-executable):
1276         * lisp/progmodes/ebrowse.el (ebrowse-tags-apropos):
1277         * lisp/progmodes/etags.el (etags-tags-apropos-additional):
1278         * lisp/progmodes/flymake.el (flymake-parse-err-lines)
1279         (flymake-start-syntax-check-process):
1280         * lisp/progmodes/python.el (python-shell-get-process-or-error)
1281         (python-define-auxiliary-skeleton):
1282         * lisp/progmodes/sql.el (sql-comint):
1283         * lisp/progmodes/verilog-mode.el (verilog-load-file-at-point):
1284         * lisp/progmodes/vhdl-mode.el (vhdl-widget-directory-validate):
1285         * lisp/recentf.el (recentf-open-files):
1286         * lisp/replace.el (query-replace-read-from)
1287         (occur-after-change-function, occur-1):
1288         * lisp/scroll-bar.el (scroll-bar-columns):
1289         * lisp/server.el (server-get-auth-key):
1290         * lisp/simple.el (execute-extended-command)
1291         (undo-outer-limit-truncate, list-processes--refresh)
1292         (compose-mail, set-variable, choose-completion-string)
1293         (define-alternatives):
1294         * lisp/startup.el (site-run-file, tty-handle-args, command-line)
1295         (command-line-1):
1296         * lisp/subr.el (noreturn, define-error, add-to-list)
1297         (read-char-choice, version-to-list):
1298         * lisp/term/common-win.el (x-handle-xrm-switch)
1299         (x-handle-name-switch, x-handle-args):
1300         * lisp/term/x-win.el (x-handle-parent-id, x-handle-smid):
1301         * lisp/textmodes/reftex-ref.el (reftex-label):
1302         * lisp/textmodes/reftex-toc.el (reftex-toc-rename-label):
1303         * lisp/textmodes/two-column.el (2C-split):
1304         * lisp/tutorial.el (tutorial--describe-nonstandard-key)
1305         (tutorial--find-changed-keys):
1306         * lisp/type-break.el (type-break-noninteractive-query):
1307         * lisp/wdired.el (wdired-do-renames, wdired-do-symlink-changes)
1308         (wdired-do-perm-changes):
1309         * lisp/whitespace.el (whitespace-report-region):
1310         Prefer grave quoting in source-code strings used to generate help
1311         and diagnostics.
1312         * lisp/faces.el (face-documentation):
1313         No need to convert quotes, since the result is a docstring.
1314         * lisp/info.el (Info-virtual-index-find-node)
1315         (Info-virtual-index, info-apropos):
1316         Simplify by generating only curved quotes, since info files are
1317         typically that ways nowadays anyway.
1318         * lisp/international/mule-diag.el (list-input-methods):
1319         Don’t assume text quoting style is curved.
1320         * lisp/org/org-bibtex.el (org-bibtex-fields):
1321         Revert my recent changes, going back to the old quoting style.
1323 2015-09-07  Artur Malabarba  <bruce.connor.am@gmail.com>
1325         * lisp/emacs-lisp/package.el: Reduce autoloading before compiling
1326         (package--autoloads-file-name)
1327         (package--activate-autoloads-and-load-path): New function.
1328         (package-activate-1): Delegate autoloading and load-path
1329         configuration to `package--activate-autoloads-and-load-path'.
1330         (package--compile): Before compilation, call
1331         `package--activate-autoloads-and-load-path' instead of
1332         `package-activate-1'.
1334 2015-09-07  Stefan Monnier  <monnier@iro.umontreal.ca>
1336         * src/keyboard.c (read_key_sequence): Complete last fix (bug#21403).
1338 2015-09-07  Eli Zaretskii  <eliz@gnu.org>
1340         Fix deletion of symlinks to directories on MS-Windows
1341         * src/w32.c (sys_unlink): If 'unlink' fails, and the argument is a
1342         symlink to a directory, try again with 'rmdir'.
1343         (is_symlink): If the argument is a symlink to a directory, set a
1344         bit in the return value to indicate that fact.
1346 2015-09-07  Artur Malabarba  <bruce.connor.am@gmail.com>
1348         * lisp/emacs-lisp/package.el (package-initialize): Set enable-at-startup
1349         When `package-initialize' is called as part of loading the init file,
1350         the user probably doesn't want it to be called again afterwards. In this
1351         situation, `package-initialize' now sets `package-enable-at-startup' to
1352         nil to prevent that. The user can have the old behaviour by setting this
1353         variable to t after the call to `package-initialize'.  (Bug#21423)
1354         * doc/emacs/package.texi (Package Installation): Document it.
1355         * doc/lispref/package.texi (Packaging Basics): Document it.
1356         * etc/NEWS: Document it.
1358 2015-09-06  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
1360         Bump version of ntlm.el to 2.00
1361         * lisp/net/ntlm.el: Bump version to 2.00.  New maintainer.  Add comm
1362         keyword.
1364 2015-09-06  Adam Sjøgren  <asjo@koldfront.dk>
1366         * doc/misc/gnus.texi (Mail Source Specifiers):
1367         Allow :mailbox to be a list.
1369 2015-09-06  Dmitry Gutov  <dgutov@yandex.ru>
1371         Allow even one non-regular character before the implicit tag name
1372         * lisp/progmodes/etags.el (etags-tags-completion-table):
1373         Allow even one non-regular character before the implicit tag name.
1374         Reported at http://emacs.stackexchange.com/questions/15269/.
1376 2015-09-06  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
1378         Add support for NTLMv2 authentication
1379         * net/ntlm.el (ntlm): New customization group.
1380         (ntlm-compatibility-level): New defcustom.
1381         (ntlm-compute-timestamp): New function.
1382         (ntlm-generate-nonce): Likewise.
1383         (ntlm-build-auth-response): Add support for NTLMv2 authentication.
1385 2015-09-06  Artur Malabarba  <bruce.connor.am@gmail.com>
1387         * lisp/emacs-lisp/package.el: Rename custom faces
1388         All of the recently introduced faces, like `package-name-face', have
1389         been renamed to no end in `-face' to comply with the convention
1390         described in (info "(elisp) Defining Faces").
1391         (package-name, package-description)
1392         (package-status-built-in, package-status-external)
1393         (package-status-available, package-status-new)
1394         (package-status-held, package-status-disabled)
1395         (package-status-installed, package-status-dependency)
1396         (package-status-unsigned, package-status-incompat)
1397         (package-status-avail-obso): New faces.
1398         (package-menu--print-info-simple): Use them.
1400 2015-09-06  Adam Sjøgren  <asjo@koldfront.dk>
1402         mail-source.el: Make the imap mail-source's :mailbox handle a list
1403         * lisp/gnus/mail-source.el (mail-source-fetch-imap):
1404         Allow :mailbox to be  a list.
1406 2015-09-06  Eric Abrahamsen  <eric@ericabrahamsen.net>
1408         nnimap.el:  Handle nil arg to nnimap-request-group
1409         * lisp/gnus/nnimap.el (nnimap-request-group):  Handle nil "info" arg.
1410         This arg isn't always passed in, check it's not nil before making it
1411         into a list.  The active arg will also be nil if the group is new,
1412         check for that.
1414 2015-09-06  Michael Albinus  <michael.albinus@gmx.de>
1416         File notifications: Support renaming over directory boundaries
1417         * lisp/filenotify.el (file-notify-handle-event):
1418         (file-notify--pending-event): Adapt docstring.
1419         (file-notify--descriptor, file-notify-callback): Reimplement in
1420         order to support renaming over directory boundaries.
1421         (file-notify-add-watch): Adapt `file-notify--descriptor' call.
1422         * doc/lispref/os.texi (File Notifications): Remove limitation of
1423         file renaming to the same directory.
1425 2015-09-05  Paul Eggert  <eggert@cs.ucla.edu>
1427         Spelling fix (Bug#21420)
1429 2015-09-05  Nicolas Petton  <nicolas@petton.fr>
1431         Improve the semantic of map-some
1432         Update map-some to return the returned by the predicate, similar to
1433         seq-some.
1434         * lisp/emacs-lisp/map.el (map-some): Update the function to return the
1435           return value of the predicate.
1436         * test/automated/map-tests.el (test-map-some): Update the test to check
1437           for non-nil values only.
1439         Rename map-contains-key-p and map-some-p
1440         Remove the "-p" suffix from both function names.
1441         * lisp/emacs-lisp/map.el (map-contains-key, map-some): Rename the functions.
1442         * test/automated/map-tests.el (test-map-contains-key, test-map-some):
1443           Update both test functions.
1445         Improve the semantic of seq-some
1446         Update seq-some to return non-nil if the predicate returns non-nil for
1447         any element of the seq, in which case the returned value is the one
1448         returned by the predicate.
1449         * lisp/emacs-lisp/seq.el (seq-some): Update the function and its
1450           docstring.
1451         * test/automated/seq-tests.el (test-seq-some): Add a regression test.
1452         * doc/lispref/sequences.texi (Sequence Functions): Update the
1453           documentation for seq-some.
1455         Rename seq-some-p to seq-some and seq-contains-p to seq-contains
1456         * lisp/emacs-lisp/seq.el (seq-some, seq-contains): Rename the functions
1457           without the "-p" prefix.
1458         * test/automated/seq-tests.el (test-seq-some, test-seq-contains): Update
1459           the tests accordingly.
1460         * doc/lispref/sequences.texi (Sequence Functions): Update the
1461           documentation for seq.el.
1463 2015-09-05  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
1465         text-quoting-style for usage of fn names with ‘’
1466         * lisp/help.el (help--docstring-quote): Don’t assume
1467         text-quoting-style is ‘curve’ when generating usage strings for
1468         functions whose names contain curved quotes.
1470 2015-09-05  Paul Eggert  <eggert@cs.ucla.edu>
1472         Fix fix for describe-function keybinding confusion
1473         This fixes a bug introduced by the previous patch.
1474         * lisp/help-fns.el (help-fns--signature):
1475         Last arg of help-fns--signature is now a buffer, or nil if a
1476         raw signature is wanted.  All callers changed.
1477         (describe-function-1): Use this to do the right thing with signatures.
1479 2015-09-05  Johan Bockgård  <bojohan@gnu.org>
1481         * doc/lispref/frames.texi (Mouse Tracking): Fix typo.
1483         Use PAT rather than UPAT in pcase macros
1484         * lisp/emacs-lisp/cl-macs.el (cl-struct) <pcase-defmacro>:
1485         * lisp/emacs-lisp/eieio.el (eieio) <pcase-defmacro>: Use PAT rather
1486           than UPAT.
1488 2015-09-05  Paul Eggert  <eggert@cs.ucla.edu>
1490         Fix describe-function keybinding confusion
1491         * lisp/help-fns.el (describe-function-1): Compute signature
1492         in the original buffer, not in standard-output, so that
1493         substitute-command-keys uses the proper keybindings.
1494         This fixes Bug#21412, introduced in commit
1495         2015-06-11T10:23:46-0700!eggert@cs.ucla.edu.
1497 2015-09-05  Xue Fuqiao  <xfq.free@gmail.com>
1499         * doc/emacs/programs.texi (Program Modes): Remove an index entry.
1501 2015-09-05  Robert Pluim  <rpluim@gmail.com>  (tiny change)
1503         Avoid read error messages from 'inotify'
1504         * src/process.c (wait_reading_process_output): Add a
1505         'tls_available' set and manipulate it instead of 'Available' when
1506         checking TLS inputs.  Assign the value to 'Available' only if we
1507         find any TLS data waiting to be read.  This avoids error messages
1508         from 'inotify' that tries to read data it shouldn't.  (Bug#21337)
1510 2015-09-05  Eli Zaretskii  <eliz@gnu.org>
1512         Avoid errors in thing-at-point with 2nd argument non-nil
1513         * lisp/thingatpt.el (thing-at-point): Only call 'length' on
1514         sequences.  (Bug#21391)
1516 2015-09-05  Philip  <pipcet@gmail.com>  (tiny change)
1518         Fix segfaults due to using a stale face ID
1519         * src/xdisp.c (forget_escape_and_glyphless_faces): New function.
1520         (display_echo_area_1, redisplay_internal): Call it to avoid
1521         reusing stale face IDs for 'escape-glyph' and 'glyphless-char'
1522         faces, which could case a segfault if the frame's face cache was
1523         freed since the last redisplay.  (Bug#21394)
1524         * src/xfaces.c (free_realized_faces): Call
1525         forget_escape_and_glyphless_faces.
1526         * src/dispextern.h (forget_escape_and_glyphless_faces): Add prototype.
1528 2015-09-04  Paul Eggert  <eggert@cs.ucla.edu>
1530         Fix minor problems with " in manual
1532 2015-09-04  Michael Albinus  <michael.albinus@gmx.de>
1534         * doc/misc/tramp.texi (Frequently Asked Questions): New item for ad-hoc
1535         multi-hop files.
1537 2015-09-04  Paul Eggert  <eggert@cs.ucla.edu>
1539         Support automated ‘make check’ in non-C locale
1540         This lets the builder optionally test Emacs behavior in other locales.
1541         The C locale is still the default for tests.
1542         * test/automated/Makefile.in (TEST_LOCALE): New macro.
1543         (emacs): Use it.
1544         * test/automated/flymake-tests.el (flymake-tests--current-face):
1545         Use C locale for subprocesses so that tests behave as expected.
1546         * test/automated/python-tests.el:
1547         (python-shell-prompt-validate-regexps-1)
1548         (python-shell-prompt-validate-regexps-2)
1549         (python-shell-prompt-validate-regexps-3)
1550         (python-shell-prompt-validate-regexps-4)
1551         (python-shell-prompt-validate-regexps-5)
1552         (python-shell-prompt-validate-regexps-6)
1553         (python-shell-prompt-set-calculated-regexps-1):
1554         Adjust expected output to match locale.
1555         * test/automated/tildify-tests.el (tildify-test--test)
1556         (tildify-space-test--test, tildify-space-undo-test--test):
1557         This test assumes UTF-8 encoding.
1559 2015-09-03  Paul Eggert  <eggert@cs.ucla.edu>
1561         Fix some more docstring etc. quoting problems
1562         Mostly these fixes prevent the transliteration of apostrophes
1563         that should stay apostrophes.  Also, prefer curved quotes in
1564         Bahá’í proper names, as that’s the preferred Bahá’í style and
1565         these names are chock-full of non-ASCII characters anyway.
1566         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-autoload)
1567         (eieio-defclass-internal):
1568         * lisp/emacs-lisp/eieio.el (defclass):
1569         * lisp/hi-lock.el (hi-lock-mode):
1570         Don’t transliterate Lisp apostrophes when generating a
1571         doc string or diagnostic.
1572         * lisp/international/mule-diag.el (list-coding-systems-1):
1573         * lisp/international/ogonek.el (ogonek-jak, ogonek-how):
1574         * lisp/mail/sendmail.el (sendmail-query-user-about-smtp):
1575         * lisp/vc/ediff-mult.el (ediff-redraw-registry-buffer):
1576         * lisp/vc/ediff-ptch.el (ediff-fixup-patch-map):
1577         Substitute quotes before putting them in the help buffer.
1579 2015-09-03  Stefan Monnier  <monnier@iro.umontreal.ca>
1581         Re-add the notion of echo_prompt lost in the translation
1582         * src/keyboard.h (struct kboard): Replace echo_after_prompt with new
1583         echo_prompt which contains the actual string.  Update all uses.
1584         * src/keyboard.c (kset_echo_prompt): New function.
1585         (echo_update): Add echo_prompt at the very beginning.
1586         (read_char): Remove workaround for bug#19875, not needed any more.
1587         (read_key_sequence): Set echo_prompt rather than echo_string (bug#21403).
1588         (mark_kboards): Mark echo_prompt.
1590         Fix disassembly of non-compiled lexical functions (bug#21377)
1591         * lisp/emacs-lisp/bytecomp.el (byte-compile): Handle `closure' arg.
1592         * lisp/emacs-lisp/disass.el: Use lexical-binding.
1593         (disassemble): Recognize `closure's as well.
1594         (disassemble-internal): Use indirect-function and
1595         help-function-arglist, and accept `closure's.
1596         (disassemble-internal): Use interactive-form.
1597         (disassemble-1): Use functionp.
1599         (tex--prettify-symbols-compose-p): Don't compose in verbatim blocks!
1600         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p):
1601         Don't compose inside verbatim blocks!
1603 2015-09-03  Mark Oteiza  <mvoteiza@udel.edu>
1605         * lisp/thingatpt.el (thing-at-point-uri-schemes): Add "man:"
1606         (bug#19441)
1608         * lisp/mpc.el (mpc--proc-connect): Handle unix sockets (bug#19394)
1610 2015-09-03  Dmitry Gutov  <dgutov@yandex.ru>
1612         vc-git-mode-line-string: Explicitly re-apply the face
1613         * lisp/vc/vc-git.el (vc-git-mode-line-string): Explicitly re-apply
1614         the face (bug#21404).
1616 2015-09-02  Paul Eggert  <eggert@cs.ucla.edu>
1618         Treat initial-scratch-message as a doc string
1619         * doc/emacs/building.texi (Lisp Interaction):
1620         * doc/lispref/os.texi (Startup Summary):
1621         * etc/NEWS: Document this.
1622         * lisp/startup.el (initial-scratch-message):
1623         Look up find-file’s key rather than hardcoding it.
1624         (command-line-1): Substitute the doc string.
1625         This also substitutes the quotes, which will help test display
1626         quoting at startup.
1628         Fix describe-char bug with glyphs on terminals
1629         * lisp/descr-text.el (describe-char): Terminals can have glyphs in
1630         buffers too, so don’t treat them differently from graphic displays.
1631         Without this fix, describe-char would throw an error on a terminal
1632         if given a glyph with a non-default face.
1634         Follow text-quoting-style in display table init
1635         This attempts to fix a problem reported by Alan Mackenzie in:
1636         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00112.html
1637         * doc/lispref/display.texi (Active Display Table):
1638         Mention how text-quoting-style affects it.
1639         * doc/lispref/help.texi (Keys in Documentation):
1640         Say how to set text-quoting-style in ~/.emacs.
1641         * etc/NEWS: Document the change.
1642         * lisp/startup.el (startup--setup-quote-display):
1643         Follow user preference if text-quoting-style is set.
1644         (command-line): Setup quote display again if user expresses
1645         a preference in .emacs.
1647 2015-09-02  K. Handa  <handa@gnu.org>
1649         Fix typo
1650         * ftfont.c (ftfont_drive_otf): otf_positioning_type_components_mask -> OTF_positioning_type_components_mask.
1652         Fix previous change
1653         * ftfont.c (ftfont_drive_otf): Remember some bits of
1654         OTF_Glyph->positioning_type in MFLTGlyphFT->libotf_positioning_type.
1656 2015-09-01  David Caldwell  <david@porkrind.org>  (tiny change)
1658         * lisp/vc/vc-hooks.el (vc-refresh-state): New command
1659         (vc-refresh-state): Rename from vc-find-file-hook and make interactive.
1660         (vc-find-file-hook): Redefine as obsolete alias.
1662 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
1664         Escape ` and ' in doc
1665         Escape apostrophes and grave accents in docstrings if they are
1666         are supposed to stand for themselves and are not quotes.  Remove
1667         apostrophes from docstring examples like ‘'(calendar-nth-named-day
1668         -1 0 10 year)’ that confuse source code with data.  Do some other
1669         minor docstring fixups as well, e.g., insert a missing close
1670         quote.
1672 2015-09-01  Stefan Monnier  <monnier@iro.umontreal.ca>
1674         Generalize the prefix-command machinery of C-u
1675         * lisp/simple.el (prefix-command-echo-keystrokes-functions)
1676         (prefix-command-preserve-state-hook): New hooks.
1677         (internal-echo-keystrokes-prefix): New function.
1678         (prefix-command--needs-update, prefix-command--last-echo): New vars.
1679         (prefix-command-update, prefix-command-preserve): New functions.
1680         (reset-this-command-lengths): New compatibility definition.
1681         (universal-argument--mode): Call prefix-command-update.
1682         (universal-argument, universal-argument-more, negative-argument)
1683         (digit-argument): Call prefix-command-preserve-state.
1684         * src/keyboard.c: Call internal-echo-keystrokes-prefix to build
1685         the "prefix argument" to echo.
1686         (this_command_key_count_reset, before_command_key_count)
1687         (before_command_echo_length): Delete variables.
1688         (echo_add_key): Always add a space.
1689         (echo_char): Remove.
1690         (echo_dash): Don't give up when this_command_key_count is 0, since that
1691         is now the case after a prefix command.
1692         (echo_update): New function, extracted from echo_now.
1693         (echo_now): Use it.
1694         (add_command_key, read_char, record_menu_key): Remove old disabled code.
1695         (command_loop_1): Don't refrain from pushing an undo boundary when
1696         prefix-arg is set.  Remove other prefix-arg special case, now handled
1697         directly in the prefix commands instead.  But call echo_now if there's
1698         a prefix state to echo.
1699         (read_char, record_menu_key): Use echo_update instead of echo_char.
1700         (read_key_sequence): Use echo_now rather than echo_dash/echo_char.
1701         (Freset_this_command_lengths): Delete function.
1702         (syms_of_keyboard): Define Qinternal_echo_keystrokes_prefix.
1703         (syms_of_keyboard): Don't defsubr Sreset_this_command_lengths.
1704         * lisp/simple.el: Use those new hooks for C-u.
1705         (universal-argument--description): New function.
1706         (prefix-command-echo-keystrokes-functions): Use it.
1707         (universal-argument--preserve): New function.
1708         (prefix-command-preserve-state-hook): Use it.
1709         (command-execute): Call prefix-command-update if needed.
1710         * lisp/kmacro.el (kmacro-step-edit-prefix-commands)
1711         (kmacro-step-edit-prefix-index): Delete variables.
1712         (kmacro-step-edit-query, kmacro-step-edit-insert): Remove ad-hoc
1713         support for prefix arg commands.
1714         (kmacro-step-edit-macro): Don't bind kmacro-step-edit-prefix-index.
1715         * lisp/emulation/cua-base.el (cua--prefix-override-replay)
1716         (cua--shift-control-prefix): Use prefix-command-preserve-state.
1717         Remove now unused arg `arg'.
1718         (cua--prefix-override-handler, cua--prefix-repeat-handler)
1719         (cua--shift-control-c-prefix, cua--shift-control-x-prefix):
1720         Update accordingly.
1721         (cua--prefix-override-timeout): Don't call reset-this-command-lengths
1722         any more.
1723         (cua--keep-active, cua-exchange-point-and-mark): Don't set mark-active
1724         if the mark is not set.
1726 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
1728         Rework quoting in Emacs Lisp Introduction
1729         * doc/lispintro/emacs-lisp-intro.texi (Sample let Expression)
1730         (if in more detail, type-of-animal in detail, else): Rework the
1731         early example to use " rather than ' so that we don’t burden
1732         complete novices with the low-priority detail of text quoting style.
1733         (Complete zap-to-char, kill-region, Complete copy-region-as-kill)
1734         (kill-new function, kill-ring-yank-pointer)
1735         (Complete forward-sentence, Loading Files)
1736         (Code for current-kill, Code for current-kill, yank):
1737         Resurrect the Emacs 22 versions of the code, which uses grave
1738         quoting style in doc strings.
1739         (Complete zap-to-char): Mention how quoting works in doc strings.
1741         Setup quote display only if interactive
1742         * lisp/startup.el (command-line):
1743         Skip call to startup--setup-quote-display if noninteractive.
1744         Without this change, python-shell-prompt-validate-regexps-1
1745         fails in test/automated/python-tests.el when run in an
1746         en_US.utf8 locale on Fedora.
1748 2015-09-01  Katsumi Yamaoka  <yamaoka@jpl.org>
1750         Use defalias at the top level
1751         * lisp/gnus/gnus-util.el (gnus-format-message):
1752         * lisp/net/tls.el (tls-format-message): Use defalias at the top level
1753         so as to make eval-and-compile unnecessary.  Thanks to Stefan Monnier.
1755 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
1757         terminal-init-w32console mimicks command-line
1758         Problem reported by Eli Zaretskii.
1759         * lisp/startup.el (startup--setup-quote-display):
1760         New function, refactored from a part of ‘command-line’.
1761         (command-line): Use it.
1762         * lisp/term/w32console.el (terminal-init-w32console):
1763         Use it, so that this function stays consistent with ‘command-line’.
1765         Display replacement quotes with shadow glyphs
1766         * lisp/startup.el (command-line): When displaying ASCII
1767         replacements for curved quotes, use a shadow glyph instead of a
1768         regular one, to avoid ambiguity.
1770 2015-09-01  Michael Albinus  <michael.albinus@gmx.de>
1772         * lisp/net/tramp-sh.el (tramp-methods) <sudo>: Mask "Password:".
1774 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
1776         Docstring fixes re quotes in C code
1777         Fix some docstring quoting problems, mostly by escaping apostrophe.
1779 2015-09-01  Michael Albinus  <michael.albinus@gmx.de>
1781         Some Tramp password fixes
1782         * lisp/net/tramp.el (tramp-clear-passwd): Clear also the passwords
1783         of the hops.
1784         * lisp/net/tramp-sh.el (tramp-methods) <sudo>: Move "-p" "Password:"
1785         at the beginning of the command.  Otherwise, it could be
1786         interpreted as password prompt if the remote host echoes the
1787         command.
1788         (tramp-remote-coding-commands): Add "openssl enc -base64".
1790 2015-09-01  Dmitry Gutov  <dgutov@yandex.ru>
1792         Make vc-git-working-revision always return the commit hash
1793         * lisp/vc/vc-git.el (vc-git-working-revision):
1794         Return the commit hash (bug#21383).
1795         (vc-git--symbolic-ref): New function, extracted from above.
1796         (vc-git-mode-line-string): Use it.
1798 2015-09-01  K. Handa  <handa@gnu.org>
1800         Use the new type MFLTGlyphFT for MFLTGlyphString.glyphs.
1801         * ftfont.c (MFLTGlyphFT): New type.
1802         (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_drive_otf)
1803         (ftfont_shape_by_flt): Make MFLTGlyphFT the actual type of
1804         elements in the array MFLTGlyphString.glyphs.
1806 2015-09-01  Stephen Leake  <stephen_leake@stephe-leake.org>
1808         Improve comments in elisp-mode.el, elisp-mode-tests.el
1809         * lisp/progmodes/elisp-mode.el: Clean up FIXMEs, comments.
1811         Delete Emacs 25 test in mode-local.el
1812         * lisp/cedet/mode-local.el (describe-mode-local-overload): Fix missed an
1813         edit in previous commit.
1815         Show all known mode-local overrides in *Help*
1816         * lisp/cedet/mode-local.el (describe-mode-local-overload): Assume Emacs
1817         25. Add all known mode-local overrides.
1819 2015-09-01  Katsumi Yamaoka  <yamaoka@jpl.org>
1821         * lisp/gnus/gnus-sum.el (gnus-summary-search-article):
1822         Ensure that the article where the search word is found is displayed
1823         and pointed to in the summary buffer.
1825 2015-08-31  Zachary Kanfer  <zkanfer@gmail.com>  (tiny change)
1827         * lisp/newcomment.el (comment-dwim): Use `use-region-p'
1828         When the region is active, but is empty (length 0), act as though
1829         the region was not active; that is, put a comment at the end of
1830         the line.  (Bug#21119)
1832 2015-08-31  Katsumi Yamaoka  <yamaoka@jpl.org>
1834         Port tls.el to older Emacs
1835         * lisp/net/tls.el (tls-format-message):
1836         Alias to format-message, or format if not available.
1837         (open-tls-stream): Use it.
1839 2015-08-31  Rüdiger Sonderfeld  <ruediger@c-plusplus.net>
1841         hideif.el: Recognize .h++ as C++ header.
1842         * lisp/progmodes/hideif.el (hide-ifdef-header-regexp): Add .h++.
1844         isearch: Document character folding mode.
1845         * isearch.el (isearch-forward): Mention `isearch-toggle-character-fold'
1846         in doc string.
1848 2015-08-31  Paul Eggert  <eggert@cs.ucla.edu>
1850         Quoting fixes in ERC and Eshell
1851         * lisp/erc/erc-autoaway.el (erc-autoaway-set-away):
1852         * lisp/erc/erc-backend.el (define-erc-response-handler):
1853         * lisp/erc/erc-fill.el (erc-fill-static-center):
1854         * lisp/eshell/em-dirs.el (eshell-save-some-last-dir):
1855         * lisp/eshell/em-glob.el (eshell-glob-entries):
1856         * lisp/eshell/em-hist.el (eshell-save-some-history):
1857         * lisp/eshell/em-unix.el (eshell-remove-entries, eshell/rm)
1858         (eshell-shuffle-files):
1859         * lisp/eshell/esh-cmd.el (eshell-do-eval):
1860         * lisp/eshell/esh-proc.el (eshell-process-interact)
1861         (eshell-query-kill-processes):
1862         Respect ‘text-quoting-style’ in diagnostics and doc strings.
1864         Quoting fixes in Gnus
1865         * lisp/gnus/gnus-agent.el:
1866         (gnus-agent-possibly-synchronize-flags-server):
1867         * lisp/gnus/gnus-art.el (gnus-article-browse-delete-temp-files):
1868         * lisp/gnus/gnus-eform.el (gnus-edit-form):
1869         * lisp/gnus/gnus-group.el (gnus-group-edit-group)
1870         (gnus-group-nnimap-edit-acl):
1871         * lisp/gnus/gnus-topic.el (gnus-topic-edit-parameters):
1872         * lisp/gnus/mail-source.el (mail-source-delete-old-incoming):
1873         * lisp/gnus/message.el (message-strip-subject-encoded-words)
1874         (message-check-recipients, message-send-form-letter):
1875         * lisp/gnus/mm-decode.el (mm-display-part):
1876         * lisp/gnus/mm-uu.el (mm-uu-pgp-signed-extract-1):
1877         * lisp/gnus/mml-smime.el (mml-smime-get-dns-cert)
1878         (mml-smime-get-ldap-cert):
1879         * lisp/gnus/spam-report.el (spam-report-process-queue):
1880         Respect ‘text-quoting-style’ in diagnostics.
1881         * lisp/gnus/gnus-art.el (article-display-face)
1882         * lisp/gnus/gnus-fun.el (gnus-display-x-face-in-from):
1883         Use straight quoting in email.
1884         * lisp/gnus/rfc2231.el (rfc2231-decode-encoded-string):
1885         Escape apostrophes in doc strings.
1887         Quoting fixes in lisp mail, mh-e, net, url
1888         * lisp/mail/emacsbug.el (report-emacs-bug)
1889         (report-emacs-bug-hook): Use straight quotes in outgoing email,
1890         * lisp/mail/feedmail.el (feedmail-message-action-help-blat):
1891         * lisp/mail/rmail.el (rmail-unknown-mail-followup-to):
1892         * lisp/mail/rmailout.el (rmail-output-read-file-name):
1893         * lisp/net/imap.el (imap-interactive-login):
1894         * lisp/net/tls.el (open-tls-stream):
1895         * lisp/url/url-auth.el (url-register-auth-scheme):
1896         Respect ‘text-quoting-style’ in diagnostics.
1897         * lisp/mh-e/mh-e.el (mh-sortm-args):
1898         Quote docstring example using text quotes, not as a Lisp quote.
1900 2015-08-31  Stephen Leake  <stephen_leake@stephe-leake.org>
1902         Fix some byte-compiler warnings in EDE
1903         This fixes a bug that caused ede-generic-new-autoloader to overwrite the
1904         existing autoloader list, rather than add to it.
1905         * lisp/cedet/ede/auto.el (ede-project-class-files): Delete obsolete name
1906         argument to eieio class constructor.
1907         (ede-show-supported-projects): New.
1908         (ede-add-project-autoload): Replace obsolete `eieio-object-name-string'
1909         with (oref ... name).
1910         (ede-auto-load-project): Use slot name, not initarg key.
1911         * lisp/cedet/ede/generic.el (ede-generic-load,
1912         ede-generic-find-matching-target): Use slot name, not initarg key.
1913         (ede-find-target): Use oref-default on class name.
1914         (ede-generic-new-autoloader): Delete obsolete name argument to eieio
1915         class constructor.
1916         (ede-enable-generic-projects): Make project type names unique.
1918 2015-08-31  Eli Zaretskii  <eliz@gnu.org>
1920         Fix directory accessibility tests for w32 network volumes
1921         * src/w32.c (faccessat): Don't fail with network volumes without a
1922         share.
1923         (w32_accessible_directory_p): Handle network volumes without a
1924         share.
1926         Fix handling long file names in readdir on MS-Windows
1927         * src/w32.c (sys_readdir): Append "\*" to the directory after
1928         converting it to UTF-16/ANSI, not before, to avoid overflowing the
1929         260-character limit on file names in filename_to_utf16/ansi.
1931         Make file-accessible-directory-p reliable on MS-Windows
1932         * src/w32.c (w32_accessible_directory_p): New function.
1933         * src/w32.h (w32_accessible_directory_p): Add prototype.
1934         * src/fileio.c (file_accessible_directory_p) [WINDOWSNT]: Call
1935         w32_accessible_directory_p to test a directory for accessibility
1936         by the current user.  (Bug#21346)
1937         (Ffile_accessible_directory_p): Remove the w32 specific caveat
1938         from the doc string.
1940 2015-08-31  Martin Rudalics  <rudalics@gmx.at>
1942         Don't call do_pending_window_change in signal handlers (Bug#21380)
1943         * src/gtkutil.c (xg_frame_resized):
1944         * src/xterm.c (x_set_window_size):
1945         * src/w32term.c (x_set_window_size): Don't call
1946         do_pending_window_change.
1948 2015-08-31  Paul Eggert  <eggert@cs.ucla.edu>
1950         Quoting fixes in lisp/org
1951         * lisp/org/org-agenda.el (org-search-view, org-todo-list)
1952         (org-tags-view):
1953         * lisp/org/org-capture.el (org-capture-mode)
1954         * lisp/org/org-ctags.el (org-ctags-visit-buffer-or-file)
1955         (org-ctags-ask-append-topic):
1956         * lisp/org/org.el (org-time-string-to-time)
1957         (org-time-string-to-absolute):
1958         * lisp/org/org-ctags.el (org-ctags-visit-buffer-or-file)
1959         (org-ctags-ask-append-topic):
1960         * lisp/org/org.el (org-time-string-to-time)
1961         (org-time-string-to-absolute):
1962         Respect ‘text-quoting-style’ in diagnostics.
1963         * lisp/org/org-agenda.el (org-agenda-custom-commands)
1964         (org-agenda-dim-blocked-tasks): Plural of TODO is TODOs, not TODO’s.
1965         * lisp/org/org-capture.el (org-capture-fill-template):
1966         Avoid contraction in output file that might be ASCII.
1967         * lisp/org/org-compat.el (format-message):
1968         Define if not already defined, for backward compatibility.
1969         * lisp/org/org-src.el (org-edit-src-save):
1970         * lisp/org/org.el (org-cycle, org-ctrl-c-ctrl-c):
1971         Escape apostrophes in diagnostics.
1973         Treat “instead” strings as docstrings
1974         * lisp/emacs-lisp/bytecomp.el (byte-compile-form):
1975         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
1976         Substitute quotes in instead strings.
1978 2015-08-31  Nicolas Petton  <nicolas@petton.fr>
1980         Better documentation of seq-let
1981         * doc/lispref/sequences.texi (Sequence Functions): Rephrase the
1982         documentation of seq-let.
1984 2015-08-31  Paul Eggert  <eggert@cs.ucla.edu>
1986         * lisp/international/ccl.el: Fix quoting.
1988         Quoting fixes in lisp/international and lisp/leim
1989         * lisp/international/ccl.el (ccl-dump, ccl-dump-call):
1990         * lisp/international/ja-dic-utl.el (skkdic-lookup-key):
1991         * lisp/international/mule-cmds.el:
1992         (select-safe-coding-system-interactively, leim-list-file-name):
1993         * lisp/international/quail.el (quail-use-package, quail-help):
1994         * lisp/international/titdic-cnv.el (tit-process-header)
1995         (miscdic-convert):
1996         Respect text quoting style in doc strings and diagnostics.
1997         * lisp/international/quail.el (lisp/international/quail.el):
1998         * lisp/leim/quail/ethiopic.el ("ethiopic"):
1999         Escape apostrophes in doc strings.
2001         Make ‘text-quoting-style’ a plain defvar
2002         It doesn’t need customization, as it’s likely useful only by experts.
2003         Suggested by Stefan Monnier in:
2004         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg01020.html
2005         * lisp/cus-start.el: Remove doc.c section for builtin customized vars.
2007         Quoting fixes in lisp/textmodes
2008         * lisp/textmodes/bibtex.el (bibtex-validate)
2009         (bibtex-validate-globally, bibtex-search-entries):
2010         * lisp/textmodes/ispell.el (ispell-command-loop):
2011         * lisp/textmodes/page-ext.el (search-pages, pages-directory):
2012         * lisp/textmodes/texinfmt.el (texinfmt-version)
2013         (texinfo-format-region, texinfo-format-buffer-1):
2014         * lisp/textmodes/two-column.el (2C-split):
2015         Respect text quoting style in doc strings and diagnostics.
2016         * lisp/textmodes/conf-mode.el (conf-mode-map, conf-quote-normal):
2017         * lisp/textmodes/sgml-mode.el (sgml-specials, sgml-mode):
2018         Escape apostrophes in doc strings.
2020         Documentation fixes re quotes
2021         Prefer curved quotes in examples if users will typically see
2022         curved quotes when the examples run.
2023         Mention format-message when appropriate.
2024         Don’t use @code in examples.
2025         Quote an apostrophe with @kbd.
2027         Quoting fixes in lisp/progmodes
2028         * lisp/progmodes/cc-engine.el (c-bos-report-error):
2029         * lisp/progmodes/cpp.el (cpp-edit-reset):
2030         * lisp/progmodes/ebrowse.el (ebrowse-tags-apropos):
2031         * lisp/progmodes/etags.el (etags-tags-apropos-additional)
2032         (etags-tags-apropos, list-tags, tags-apropos):
2033         * lisp/progmodes/executable.el (executable-set-magic):
2034         * lisp/progmodes/octave.el (octave-sync-function-file-names)
2035         (octave-help, octave-find-definition-default-filename)
2036         (octave-find-definition):
2037         Respect text quoting style in doc strings and diagnostics.
2038         * lisp/progmodes/cc-langs.el (c-populate-syntax-table):
2039         * lisp/progmodes/verilog-mode.el (verilog-auto-reset-widths):
2040         * lisp/progmodes/vhdl-mode.el (vhdl-electric-quote):
2041         Escape apostrophes in doc strings.
2042         * lisp/progmodes/cmacexp.el (c-macro-expansion):
2043         Use straight quoting in ASCII comment.
2044         * lisp/progmodes/idlwave.el (idlwave-auto-fill-split-string)
2045         (idlwave-pad-keyword):
2046         * lisp/progmodes/vhdl-mode.el (vhdl-widget-directory-validate)
2047         (vhdl-electric-open-bracket, vhdl-electric-close-bracket):
2048         (vhdl-electric-semicolon, vhdl-electric-comma)
2049         (vhdl-electric-period, vhdl-electric-equal):
2050         Use directed quotes in diagnostics and doc strings.
2052 2015-08-30  Xue Fuqiao  <xfq.free@gmail.com>
2054         Minor documentation and NEWS tweak
2055         * doc/lispintro/emacs-lisp-intro.texi (fwd-para let): Add an index
2056         entry.
2057         * NEWS: Fix a typo in character-fold-to-regexp.
2059 2015-08-30  Michael Albinus  <michael.albinus@gmx.de>
2061         * lisp/net/tramp-sh.el (tramp-convert-file-attributes):
2062         Revert patch from 2015-08-24.  Tramp shall be have like for local files.
2063         * test/automated/tramp-tests.el (tramp-test18-file-attributes):
2064         Adapt test.
2066 2015-08-30  Paul Eggert  <eggert@cs.ucla.edu>
2068         Text quoting fixes in cedet, emulation, emacs-lisp
2069         * lisp/cedet/ede.el (ede-check-project-directory):
2070         * lisp/cedet/semantic/analyze/debug.el:
2071         (semantic-analyzer-debug-insert-include-summary):
2072         * lisp/cedet/semantic/bovine/c.el (semantic-c-describe-environment):
2073         * lisp/cedet/semantic/decorate/include.el:
2074         (semantic-decoration-unknown-include-describe)
2075         (semantic-decoration-all-include-summary):
2076         * lisp/cedet/semantic/ia.el (semantic-ia-fast-jump):
2077         * lisp/emulation/edt.el (edt-load-keys):
2078         * lisp/emulation/viper-cmd.el:
2079         (viper-display-current-destructive-command)
2080         (viper-query-replace, viper-brac-function):
2081         * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-compile):
2082         * lisp/emulation/viper-macs.el (viper-unrecord-kbd-macro):
2083         Respect text quoting style in doc string or diagnostic.
2084         * lisp/cedet/mode-local.el (describe-mode-local-overload):
2085         Use format-message to avoid overtranslating quotes.
2086         * lisp/emacs-lisp/checkdoc.el (checkdoc-in-sample-code-p):
2087         Escape an apostrophe in a docstring.
2088         * lisp/emacs-lisp/warnings.el (lwarn): Fix doc string.
2090 2015-08-29  Daniel Colascione  <dancol@dancol.org>
2092         Fix which-func for curly quotes: look for symbol, not message
2093         * lisp/progmodes/which-func.el (which-func-ff-hook): Look for new
2094         imenu-unavailable error symbol instead of trying to match message
2095         exactly.
2096         * lisp/imenu.el (imenu-unavailable): New error.
2097         (imenu-unavailable-error): New function.
2099 2015-08-29  Eli Zaretskii  <eliz@gnu.org>
2101         Fix Python tests on MS-Windows
2102         * test/automated/python-tests.el
2103         (python-shell-calculate-command-1): Run python-shell-interpreter
2104         through shell-quote-argument before comparing with what
2105         python-shell-calculate-command returns.
2106         (python-shell-calculate-pythonpath-1)
2107         (python-shell-calculate-pythonpath-2)
2108         (python-shell-calculate-process-environment-2): Use path-separator
2109         instead of a literal ':'.
2110         (python-shell-calculate-exec-path-2)
2111         (python-shell-calculate-exec-path-3)
2112         (python-shell-calculate-exec-path-4)
2113         (python-shell-with-environment-1)
2114         (python-shell-with-environment-2): Run "/env/bin" through
2115         expand-file-name before comparing with exec-path.  (Bug#21375)
2117 2015-08-29  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2119         Use Core Text types/functions/variables/enumerators directly
2120         * src/macfont.h (FontDescriptorRef, FontRef, FontSymbolicTraits)
2121         (CharacterCollection): Remove typedefs.  All uses replaced with
2122         definitions.
2123         (MAC_FONT_NAME_ATTRIBUTE, MAC_FONT_FAMILY_NAME_ATTRIBUTE)
2124         (MAC_FONT_TRAITS_ATTRIBUTE, MAC_FONT_SIZE_ATTRIBUTE)
2125         (MAC_FONT_CASCADE_LIST_ATTRIBUTE)
2126         (MAC_FONT_CHARACTER_SET_ATTRIBUTE, MAC_FONT_LANGUAGES_ATTRIBUTE)
2127         (MAC_FONT_FORMAT_ATTRIBUTE, MAC_FONT_SYMBOLIC_TRAIT)
2128         (MAC_FONT_WEIGHT_TRAIT, MAC_FONT_WIDTH_TRAIT)
2129         (MAC_FONT_SLANT_TRAIT): Remove macros.  All uses replaced with
2130         definitions.
2131         (MAC_FONT_TRAIT_ITALIC, MAC_FONT_TRAIT_BOLD)
2132         (MAC_FONT_TRAIT_MONO_SPACE, MAC_FONT_TRAIT_COLOR_GLYPHS)
2133         (MAC_FONT_FORMAT_BITMAP)
2134         (MAC_CHARACTER_COLLECTION_IDENTITY_MAPPING)
2135         (MAC_CHARACTER_COLLECTION_ADOBE_JAPAN1): Remove enumerators.  All
2136         uses replaced with definitions.
2137         (kCTFontTraitItalic, kCTFontTraitBold, kCTFontTraitMonoSpace)
2138         (kCTFontTraitColorGlyphs, kCTCharacterCollectionIdentityMapping)
2139         (kCTCharacterCollectionAdobeJapan1 kCTFontOrientationDefault): Add
2140         compatibility enumerators for older versions.
2141         (mac_font_descriptor_create_with_attributes)
2142         (mac_font_descriptor_create_matching_font_descriptors)
2143         (mac_font_descriptor_create_matching_font_descriptor)
2144         (mac_font_descriptor_copy_attribute)
2145         (mac_font_descriptor_supports_languages)
2146         (mac_font_create_with_name, mac_font_get_size)
2147         (mac_font_copy_family_name, mac_font_copy_character_set)
2148         (mac_font_get_glyphs_for_characters, mac_font_get_ascent)
2149         (mac_font_get_descent, mac_font_get_leading)
2150         (mac_font_get_underline_position)
2151         (mac_font_get_underline_thickness, mac_font_copy_graphics_font)
2152         (mac_font_copy_non_synthetic_table): Remove macros.  All uses
2153         replaced with definitions.
2154         (mac_font_create_preferred_family_for_attributes)
2155         (mac_font_get_advance_width_for_glyph)
2156         (mac_font_get_bounding_rect_for_glyph)
2157         (mac_font_create_available_families, mac_font_shape): Remove
2158         macros for renamed functions.
2159         (mac_nsctfont_copy_font_descriptor): Remove unused macro.
2160         * src/macterm.m (mac_font_descriptor_supports_languages): Rename
2161         from mac_ctfont_descriptor_supports_languages.
2162         (mac_font_create_preferred_family_for_attributes): Rename from
2163         mac_ctfont_create_preferred_family_for_attributes.
2164         (mac_font_get_advance_width_for_glyph): Rename from
2165         mac_ctfont_get_advance_width_for_glyph.  Use
2166         kCTFontOrientationDefault also for older versions.
2167         (mac_font_get_bounding_rect_for_glyph): Rename from
2168         mac_ctfont_get_bounding_rect_for_glyph. Use
2169         kCTFontOrientationDefault also for older versions.
2170         (mac_font_create_available_families): Rename from
2171         mac_ctfont_create_available_families.
2172         (mac_font_equal_in_postscript_name): Rename from
2173         mac_ctfont_equal_in_postscript_name.  All uses changed.
2174         (mac_font_create_line_with_string_and_font): Rename from
2175         mac_ctfont_create_line_with_string_and_font.  All uses changed.
2176         (mac_font_shape): Rename from mac_ctfont_shape.
2177         (mac_font_family_compare): Remove unused declaration.
2179 2015-08-29  Paul Eggert  <eggert@cs.ucla.edu>
2181         Fix minor text quoting in calc, calendar, vc
2182         * lisp/calc/calc-ext.el (calc-shift-Z-prefix-help):
2183         * lisp/calc/calc-help.el (calc-j-prefix-help):
2184         * lisp/calc/calc-misc.el (calc-help):
2185         * lisp/calc/calc.el (calc-algebraic-mode, calc-mode):
2186         Escape an apostrophe in a docstring.
2187         * lisp/calc/calc-forms.el (calc-hms-notation):
2188         * lisp/calc/calc-mode.el (calc-display-raw, calc-algebraic-mode):
2189         Escape an apostrophe in a diagnostic.
2190         * lisp/calc/calc-misc.el (calc-help):
2191         * lisp/calendar/diary-lib.el (diary-include-files):
2192         * lisp/calendar/todo-mode.el (todo-prefix, todo-item-mark):
2193         * lisp/vc/diff-mode.el (diff-delete-trailing-whitespace):
2194         * lisp/vc/ediff-diff.el (ediff-same-contents):
2195         * lisp/vc/ediff-merg.el (ediff-re-merge):
2196         * lisp/vc/ediff-ptch.el (ediff-patch-file-internal):
2197         * lisp/vc/ediff-util.el (ediff-test-save-region)
2198         (ediff-status-info):
2199         * lisp/vc/ediff.el (ediff-merge-revisions)
2200         (ediff-merge-revisions-with-ancestor):
2201         * lisp/vc/pcvs.el (cvs-mode-checkout, cvs-vc-command-advice):
2202         * lisp/vc/vc-cvs.el (vc-cvs-mode-line-string):
2203         Respect text quoting style in doc string or diagnostic.
2204         * lisp/calc/calc-prog.el (calc-kbd-push, calc-kbd-pop):
2205         * lisp/vc/add-log.el (change-log-goto-source):
2206         Avoid double-formatting.
2207         * lisp/vc/ediff-init.el (format-message):
2208         New backward-compatibility alias.
2210 2015-08-28  Paul Eggert  <eggert@cs.ucla.edu>
2212         Fix minor text quoting problems in lisp top level
2213         * lisp/apropos.el (apropos-describe-plist):
2214         * lisp/cus-theme.el (customize-themes):
2215         * lisp/dired.el (dired-log):
2216         * lisp/help-fns.el (describe-variable):
2217         * lisp/hexl.el (hexl-insert-multibyte-char):
2218         * lisp/info.el (Info-finder-find-node):
2219         * lisp/json.el (json-read-string):
2220         * lisp/novice.el (disabled-command-function)
2221         (disabled-command-function):
2222         * lisp/startup.el (normal-mouse-startup-screen):
2223         * lisp/woman.el (WoMan-log, WoMan-warn):
2224         Respect text quoting style in doc string or diagnostic.
2225         * lisp/replace.el (replace-character-fold):
2226         * src/syntax.c (Fmodify_syntax_entry):
2227         Escape an apostrophe in a docstring.
2228         * lisp/tempo.el (tempo-define-template):
2229         Remove confusing apostrophe from docstring.
2230         * lisp/whitespace.el (whitespace-mark-x):
2231         Use directed quotes in docstring.
2233 2015-08-28  Simen Heggestøyl  <simenheg@gmail.com>
2235         Fix indentation rule in css-mode
2236         * lisp/textmodes/css-mode.el (css-smie-rules): Fix indentation of
2237         brackets in presence of pseudo-selectors.  (Bug#21328)
2239 2015-08-28  Eli Zaretskii  <eliz@gnu.org>
2241         Fix a bug in recording a macro while flyspell-mode is active
2242         * lisp/subr.el (sit-for): Don't call read-event when recording a
2243         macro.  (Bug#21329)
2245 2015-08-27  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
2247         Tweak startup screen quoting
2248         * lisp/startup.el (normal-splash-screen): Use standard
2249         "M-" abbrevation rather than a confusingly-different one.
2250         (normal-no-mouse-startup-screen): Follow ‘text-quoting-style’.
2252 2015-08-27  Paul Eggert  <eggert@cs.ucla.edu>
2254         Add test case for ‘format’ bug and refactor
2255         * src/editfns.c (styled_format): Refactor internally, mostly by
2256         moving declarations closer to uses.  This should not affect behavior.
2257         * test/automated/textprop-tests.el (textprop-tests-format): New test.
2259         Fix ‘format’ bug with property offsets
2260         * src/editfns.c (styled_format): Fix recently-introduced ‘format’
2261         bug in calculating string property offsets (Bug#21351).
2263         Use straight quotes in lib-src diagnostics
2264         These auxiliary programs can’t use Emacs’s text-quoting-style,
2265         and it’s too much trouble to redo that mechanism by hand.
2266         So just use straight quotes for now.
2267         * lib-src/ebrowse.c (main):
2268         * lib-src/emacsclient.c (decode_options, main):
2269         * lib-src/etags.c (Ada_help, default_C_help, Cplusplus_help)
2270         (Forth_help, HTML_help, Lisp_help, Makefile_help, Objc_help)
2271         (Perl_help, PHP_help, Python_help, Scheme_help, TeX_help, auto_help)
2272         (none_help, print_language_names, print_help, add_regex)
2273         (suggest_asking_for_help):
2274         * lib-src/make-docfile.c (write_c_args, scan_c_stream):
2275         Use straight quotes in diagnostics.
2277         ‘text-quoting-style’ fixes for admin
2278         * admin/admin.el (cusver-scan, cusver-check):
2279         * admin/authors.el (authors-canonical-file-name):
2280         * admin/bzrmerge.el (bzrmerge-missing):
2281         Respect ‘text-quoting-style’ in diagnostics.
2283 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
2285         Assume GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS
2286         This removes the need for GCPRO1 etc.  Suggested by Stefan Monnier in:
2287         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00918.html
2288         * doc/lispref/internals.texi (Writing Emacs Primitives):
2289         * etc/NEWS:
2290         Document the change.
2291         * src/alloc.c (gcprolist, dump_zombies, MAX_ZOMBIES, zombies)
2292         (nzombies, ngcs, avg_zombies, max_live, max_zombies, avg_live)
2293         (Fgc_status, check_gcpros, relocatable_string_data_p, gc-precise):
2294         * src/bytecode.c (mark_byte_stack) [BYTE_MARK_STACK]:
2295         * src/eval.c (gcpro_level) [DEBUG_GCPRO]:
2296         * src/lisp.h (struct handler.gcpro, struct gcpro, GC_MARK_STACK)
2297         (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
2298         (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
2299         (BYTE_MARK_STACK, GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, GCPRO6)
2300         (GCPRO7, UNGCPRO, RETURN_UNGCPRO):
2301         Remove.  All uses removed.  The code now assumes
2302         GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS.
2303         * src/bytecode.c (relocate_byte_stack):
2304         Rename from unmark_byte_stack, since it now only relocates.
2305         All callers changed.
2306         * src/frame.c (make_frame): Add an IF_LINT to pacify GCC 5.2
2307         with GCPROs removed.
2308         * src/systime.h: Use EMACS_LISP_H as the canary instead of GCPRO1.
2309         * test/automated/finalizer-tests.el (finalizer-basic)
2310         (finalizer-circular-reference, finalizer-cross-reference)
2311         (finalizer-error):
2312         * test/automated/generator-tests.el (cps-test-iter-close-finalizer):
2313         Remove tests, as they depend on gc-precise.
2315 2015-08-26  Nicolas Petton  <nicolas@petton.fr>
2317         Improve seq-concatenate for new sequence types
2318         Use the new `seq-into-sequence' in seqs passed to `seq-concatenate' to
2319         ensure that concatenation happens on sequences only.  This makes it
2320         possible to use `seq-concatenate' for new types of seqs.
2321         * lisp/emacs-lisp/seq.el (seq-into-sequence, seq-concatenate): New
2322         function used in `seq-concatenate'.
2323         * test/automated/seq-tests.el (test-seq-into-sequence): New unit test
2324         for seq-into-sequence.
2326 2015-08-26  Stephen Leake  <stephen_leake@stephe-leake.org>
2328         Add mode local overrides to xref-find-definitions
2329         * lisp/cedet/mode-local.el (xref-mode-local--override-present,
2330         xref-mode-local-overload): New; add mode local overrides to
2331         xref-find-definitions.
2332         * test/automated/elisp-mode-tests.el: Add mode local override tests.
2333         (xref-elisp-test-run): Handle indented defuns.
2334         (xref-elisp-generic-*): Improve doc strings.
2335         * lisp/progmodes/elisp-mode.el (elisp-xref-find-def-functions): New.
2336         (elisp--xref-find-definitions): Use it.
2338         Add mode local overrides to describe-function
2339         * lisp/cedet/mode-local.el (describe-mode-local-overload): New; add mode
2340         local overrides to describe-function.
2341         * etc/NEWS: Document change.
2343 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
2345         Prefer straight quoting in some etc text files
2346         These files are plain text and might be used by non-Emacs apps.
2347         They’re mostly ASCII, so just use straight quotes.
2349         Fix quoting in ‘message_with_string’
2350         * src/nsfont.m (nsfont_open): Use directed quotes in format; they
2351         should work now.
2352         * src/xdisp.c (message_to_stderr): New function, refactored from
2353         part of ‘message3_nolog’.
2354         (message3_nolog): Use it.
2355         (message_with_string): Use it.  Don’t mishandle NUL bytes when
2356         noninteractive.  Prefer AUTO_STRING when it’s most likely faster.
2357         Use ‘format-message’, not ‘format’, so that quotes are translated.
2359 2015-08-26  Eli Zaretskii  <eliz@gnu.org>
2361         Mention false positives of file-accessible-directory on w32
2362         * src/fileio.c (Ffile_accessible_directory_p): Doc fix.
2363         (Bug#21346)
2365 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
2367         Treat error strings as help
2368         * src/print.c (print_error_message): Translate quotes and command
2369         keys in errmsg so that users see, e.g., "Symbol’s value as
2370         variable is void: foo" when text-quoting-style is curved.
2372 2015-08-26  Michael Albinus  <michael.albinus@gmx.de>
2374         * lisp/net/tramp-cache.el (top): Use `message', not `format-message'.
2376 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
2378         Top-level elisp files respect ‘text-quoting-style’
2379         In top-level elisp files, use format-message in diagnostic formats,
2380         so that they follow user preference as per ‘text-quoting-style’
2381         rather than being hard-coded to quote `like this'.
2382         * lisp/allout.el (allout-get-configvar-values):
2383         * lisp/apropos.el (apropos-symbols-internal):
2384         * lisp/dired-aux.el (dired-do-shell-command, dired-create-files)
2385         (dired-do-create-files-regexp, dired-create-files-non-directory):
2386         * lisp/dired-x.el (dired-do-run-mail):
2387         * lisp/dired.el (dired-log, dired-dnd-handle-local-file):
2388         * lisp/disp-table.el (standard-display-european):
2389         * lisp/find-dired.el (find-dired):
2390         * lisp/forms.el (forms-mode):
2391         * lisp/ido.el (ido-buffer-internal):
2392         * lisp/info.el (Info-index-next):
2393         * lisp/outline.el (outline-invent-heading):
2394         * lisp/printing.el (pr-ps-outfile-preprint, pr-i-ps-send):
2395         * lisp/proced.el (proced-log):
2396         * lisp/ps-print.el (ps-print-preprint, ps-get-size):
2397         * lisp/recentf.el (recentf-open-files, recentf-save-list):
2398         * lisp/savehist.el (savehist-save):
2399         * lisp/server.el (server-ensure-safe-dir):
2400         * lisp/ses.el (ses-rename-cell):
2401         * lisp/simple.el (list-processes--refresh):
2402         * lisp/startup.el (command-line):
2403         * lisp/strokes.el (strokes-unset-last-stroke)
2404         (strokes-execute-stroke):
2405         Use format-message so that quotes are restyled.
2406         * lisp/cus-edit.el (custom-raised-buttons, customize-browse):
2407         Don’t quote ‘raised’.
2408         * lisp/descr-text.el (describe-char):
2409         * lisp/dirtrack.el (dirtrack-debug-message):
2410         * lisp/hexl.el (hexl-insert-multibyte-char):
2411         Apply substitute-command-keys to help string.
2412         * lisp/wdired.el (wdired-do-renames, wdired-do-symlink-changes)
2413         (wdired-do-perm-changes):
2414         Let dired-log do the formatting.
2416 2015-08-25  Paul Eggert  <eggert@cs.ucla.edu>
2418         Go back to grave quoting in Tramp
2419         * lisp/net/tramp-adb.el:
2420         * lisp/net/tramp-cache.el:
2421         * lisp/net/tramp-compat.el:
2422         * lisp/net/tramp-gvfs.el:
2423         * lisp/net/tramp-gw.el:
2424         * lisp/net/tramp-sh.el:
2425         * lisp/net/tramp-smb.el:
2426         * lisp/net/tramp.el:
2427         Stick with grave quoting in diagnostics strings.  This is more
2428         portable to older Emacs, desirable for Tramp.
2429         * lisp/net/tramp-cache.el: Use ‘format-message’, not ‘format’,
2430         for diagnostic that needs requoting.
2431         * lisp/net/tramp-compat.el (format-message):
2432         Fall back on simple ‘format’, since that’s good enough now.
2434         Go back to grave quoting in Gnus
2435         * lisp/gnus/auth-source.el (auth-source-netrc-parse-entries):
2436         * lisp/gnus/gnus-agent.el (gnus-agent-check-overview-buffer)
2437         (gnus-agent-fetch-headers):
2438         * lisp/gnus/gnus-int.el (gnus-start-news-server):
2439         * lisp/gnus/gnus-registry.el:
2440         (gnus-registry--split-fancy-with-parent-internal)
2441         (gnus-registry-post-process-groups):
2442         * lisp/gnus/gnus-score.el (gnus-summary-increase-score):
2443         * lisp/gnus/gnus-start.el (gnus-convert-old-newsrc):
2444         * lisp/gnus/gnus-topic.el (gnus-topic-rename):
2445         * lisp/gnus/legacy-gnus-agent.el (gnus-agent-unlist-expire-days):
2446         * lisp/gnus/spam.el (spam-check-blackholes):
2447         Stick with grave quoting in diagnostics strings.  This is more
2448         portable to older Emacs, desirable for Gnus.
2450         Fix customization of text-quoting-style
2451         * lisp/cus-edit.el (custom-guess-type, custom-variable-documentation):
2452         * lisp/wid-edit.el (widget-docstring):
2453         Get raw docstring here since it’s cooked later and should not be
2454         cooked twice.
2455         * lisp/cus-edit.el (custom-group-value-create):
2456         Cook the docstring before inserting it.
2457         * lisp/cus-start.el (text-quoting-style): Quote the customization
2458         docstrings according to the new rules.  Give curved examples.
2460         format-message now curves ` and '
2461         That way, the caller doesn’t have to use curved quotes to
2462         get diagnostics that match the text-quoting-style preferences.
2463         Suggested by Dmitry Gutov in:
2464         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00893.html
2465         This means we no longer need %qs, so remove that format.
2466         While we’re at it, fix an unlikely bug and lessen the pressure
2467         on the garbage collector by processing the string once rather
2468         than twice in the usual case.
2469         * doc/lispref/strings.texi (Formatting Strings):
2470         * etc/NEWS: Document this.
2471         * lisp/subr.el (format-message): Remove; now done in C.
2472         * src/callint.c (Fcall_interactively):
2473         * src/editfns.c (Fmessage, Fmessage_box):
2474         Use Fformat_message instead of Finternal__text_restyle
2475         followed by Fformat.
2476         * src/doc.c (LSQM, RSQM): Remove; all uses changed to use
2477         uLSQM and uRSQM.
2478         (Fsubstitute_command_keys): Prefer AUTO_STRING to build_string
2479         when pure ASCII now suffices.  Fix unlikely bug when parsing
2480         unibyte string containing non-ASCII bytes.  Use inline code
2481         rather than memcpy, as it’s a tiny number of bytes.
2482         (Finternal__text_restyle): Remove; no longer used.
2483         (syms_of_doc): Don’t declare it.
2484         * src/editfns.c (Fformat): Rewrite in terms of new function
2485         ‘styled_format’.
2486         (Fformat_message): New function, moved here from subr.el.
2487         (styled_format): New function, with the old guts of Fformat,
2488         except it now optionally transliterates quotes, and it transliterates
2489         traditional grave accent and apostrophe quoting as well.
2490         Remove recently-added q flag; no longer needed or used.
2491         (syms_of_editfns): Define format-message.
2492         * src/lisp.h (uLSQM0, uLSQM1, uLSQM2, uRSQM0, uRSQM1, uRSQM2):
2493         Remove; no longer need to be global symbols.
2494         * src/xdisp.c (vadd_to_log): Use Fformat_message, not Fformat,
2495         so that callers can use `%s'.
2496         * src/image.c (image_size_error, xbm_load_image, xbm_load)
2497         (xpm_load, pbm_load, png_load_body, jpeg_load_body, tiff_load)
2498         (gif_load, imagemagick_load_image, imagemagick_load, svg_load)
2499         (svg_load_image, gs_load, x_kill_gs_process):
2500         * src/lread.c (load_warn_old_style_backquotes):
2501         * src/xfaces.c (load_pixmap):
2502         * src/xselect.c (x_clipboard_manager_error_1):
2503         Use `%s' instead of %qs in formats.
2505 2015-08-25  Eli Zaretskii  <eliz@gnu.org>
2507         Minor fixes in doc/emacs/search.texi
2508         * doc/emacs/search.texi (Basic Isearch): Fix a typo.
2509         (Special Isearch): Use @w{} to generate several consecutive spaces
2510         with Texinfo 6.  (Bug#21345)
2512 2015-08-25  Michael Albinus  <michael.albinus@gmx.de>
2514         * lisp/net/tramp-sh.el (tramp-awk-encode, tramp-awk-decode)
2515         (tramp-awk-coding-test): New defconsts.
2516         (tramp-remote-coding-commands): Use them.
2517         (tramp-find-inline-encoding): Check for Perl only if necessary.
2519 2015-08-25  Xue Fuqiao  <xfq.free@gmail.com>
2521         * doc/lispintro/emacs-lisp-intro.texi (Run a Program): Add some
2522         index entries for the special form `quote'.
2524 2015-08-25  Paul Eggert  <eggert@cs.ucla.edu>
2526         Spelling fixes
2528         Gnus format-message typo fix
2529         * lisp/gnus/gnus-util.el (gnus-format-message):
2530         Fix typo when running in older Emacs.
2532         Prefer directed to neutral quotes
2533         Prefer directed to neutral quotes in docstings and diagnostics.
2534         In docstrings, escape apostrophes that would otherwise be translated
2535         to curved quotes using the newer, simpler rules.
2536         * admin/unidata/unidata-gen.el (unidata-gen-table):
2537         * lisp/align.el (align-region):
2538         * lisp/allout.el (allout-mode, allout-solicit-alternate-bullet):
2539         * lisp/bookmark.el (bookmark-default-annotation-text):
2540         * lisp/calc/calc-aent.el (math-read-if, math-read-factor):
2541         * lisp/calc/calc-lang.el (math-read-giac-subscr)
2542         (math-read-math-subscr):
2543         * lisp/calc/calc-misc.el (report-calc-bug):
2544         * lisp/calc/calc-prog.el (calc-fix-token-name)
2545         (calc-read-parse-table-part):
2546         * lisp/cedet/ede/pmake.el (ede-proj-makefile-insert-dist-rules):
2547         * lisp/cedet/semantic/complete.el (semantic-displayor-show-request):
2548         * lisp/dabbrev.el (dabbrev-expand):
2549         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
2550         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
2551         * lisp/emacs-lisp/lisp-mnt.el (lm-verify):
2552         * lisp/emulation/viper-cmd.el (viper-toggle-search-style):
2553         * lisp/erc/erc-button.el (erc-nick-popup):
2554         * lisp/erc/erc.el (erc-cmd-LOAD, erc-handle-login):
2555         * lisp/eshell/em-dirs.el (eshell/cd):
2556         * lisp/eshell/em-glob.el (eshell-glob-regexp):
2557         * lisp/eshell/em-pred.el (eshell-parse-modifiers):
2558         * lisp/eshell/esh-arg.el (eshell-parse-arguments):
2559         * lisp/eshell/esh-opt.el (eshell-show-usage):
2560         * lisp/files-x.el (modify-file-local-variable):
2561         * lisp/filesets.el (filesets-add-buffer, filesets-remove-buffer)
2562         (filesets-update-pre010505):
2563         * lisp/find-cmd.el (find-generic, find-to-string):
2564         * lisp/gnus/auth-source.el (auth-source-netrc-parse-entries):
2565         * lisp/gnus/gnus-agent.el (gnus-agent-check-overview-buffer)
2566         (gnus-agent-fetch-headers):
2567         * lisp/gnus/gnus-int.el (gnus-start-news-server):
2568         * lisp/gnus/gnus-registry.el:
2569         (gnus-registry--split-fancy-with-parent-internal):
2570         * lisp/gnus/gnus-score.el (gnus-summary-increase-score):
2571         * lisp/gnus/gnus-start.el (gnus-convert-old-newsrc):
2572         * lisp/gnus/gnus-topic.el (gnus-topic-rename):
2573         * lisp/gnus/legacy-gnus-agent.el (gnus-agent-unlist-expire-days):
2574         * lisp/gnus/nnmairix.el (nnmairix-widget-create-query):
2575         * lisp/gnus/spam.el (spam-check-blackholes):
2576         * lisp/mail/feedmail.el (feedmail-run-the-queue):
2577         * lisp/mpc.el (mpc-playlist-rename):
2578         * lisp/net/ange-ftp.el (ange-ftp-shell-command):
2579         * lisp/net/mairix.el (mairix-widget-create-query):
2580         * lisp/net/tramp-cache.el:
2581         * lisp/obsolete/otodo-mode.el (todo-more-important-p):
2582         * lisp/obsolete/pgg-gpg.el (pgg-gpg-process-region):
2583         * lisp/obsolete/pgg-pgp.el (pgg-pgp-process-region):
2584         * lisp/obsolete/pgg-pgp5.el (pgg-pgp5-process-region):
2585         * lisp/org/ob-core.el (org-babel-goto-named-src-block)
2586         (org-babel-goto-named-result):
2587         * lisp/org/ob-fortran.el (org-babel-fortran-ensure-main-wrap):
2588         * lisp/org/ob-ref.el (org-babel-ref-resolve):
2589         * lisp/org/org-agenda.el (org-agenda-prepare):
2590         * lisp/org/org-bibtex.el (org-bibtex-fields):
2591         * lisp/org/org-clock.el (org-clock-notify-once-if-expired)
2592         (org-clock-resolve):
2593         * lisp/org/org-feed.el (org-feed-parse-atom-entry):
2594         * lisp/org/org-habit.el (org-habit-parse-todo):
2595         * lisp/org/org-mouse.el (org-mouse-popup-global-menu)
2596         (org-mouse-context-menu):
2597         * lisp/org/org-table.el (org-table-edit-formulas):
2598         * lisp/org/ox.el (org-export-async-start):
2599         * lisp/play/dunnet.el (dun-score, dun-help, dun-endgame-question)
2600         (dun-rooms, dun-endgame-questions):
2601         * lisp/progmodes/ada-mode.el (ada-goto-matching-start):
2602         * lisp/progmodes/ada-xref.el (ada-find-executable):
2603         * lisp/progmodes/antlr-mode.el (antlr-options-alists):
2604         * lisp/progmodes/flymake.el (flymake-parse-err-lines)
2605         (flymake-start-syntax-check-process):
2606         * lisp/progmodes/python.el (python-define-auxiliary-skeleton):
2607         * lisp/progmodes/sql.el (sql-comint):
2608         * lisp/progmodes/verilog-mode.el (verilog-load-file-at-point):
2609         * lisp/server.el (server-get-auth-key):
2610         * lisp/subr.el (version-to-list):
2611         * lisp/textmodes/reftex-ref.el (reftex-label):
2612         * lisp/textmodes/reftex-toc.el (reftex-toc-rename-label):
2613         * lisp/vc/ediff-diff.el (ediff-same-contents):
2614         * lisp/vc/vc-cvs.el (vc-cvs-mode-line-string):
2615         * test/automated/tramp-tests.el (tramp-test33-asynchronous-requests):
2616         Use directed rather than neutral quotes in diagnostics.
2618         Treat ' like ’ even when not matching `
2619         This is simpler and easier to explain, and should encourage better
2620         typography.  Do this in Electric Quote mode and when translating
2621         quotes in docstrings.  Inspired by a suggestion by Dmitry Gutov in:
2622         https://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00806.html
2623         * doc/emacs/text.texi (Quotation Marks):
2624         * doc/lispref/help.texi (Keys in Documentation):
2625         * etc/NEWS:
2626         Document this.
2627         * lisp/electric.el (electric-quote-post-self-insert-function):
2628         * src/doc.c (Fsubstitute_command_keys):
2629         Always treat ' like ’ even when not matched by an open quote.
2631 2015-08-25  Glenn Morris  <rgm@gnu.org>
2633         * doc/emacs/cal-xtra.texi (Holiday Customizing): Fix typo in example.
2634         * lisp/calendar/holidays.el (calendar-holidays): Fix doc typo.
2636 2015-08-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2638         * src/macfont.m (macfont_create_family_with_symbol): Accept
2639         localized names.
2641 2015-08-24  Paul Eggert  <eggert@cs.ucla.edu>
2643         Tramp diagnostics as per ‘text-quoting-style’
2644         * lisp/net/tramp-adb.el (tramp-adb-handle-file-truename)
2645         (tramp-adb-get-ls-command, tramp-adb-handle-make-directory)
2646         (tramp-adb-handle-delete-directory)
2647         (tramp-adb-handle-delete-file)
2648         (tramp-adb-handle-file-local-copy)
2649         (tramp-adb-handle-write-region, tramp-adb-handle-copy-file)
2650         (tramp-adb-send-command-and-check, tramp-adb-wait-for-output)
2651         (tramp-adb-maybe-open-connection):
2652         * lisp/net/tramp-cache.el:
2653         * lisp/net/tramp-compat.el (tramp-compat-temporary-file-directory)
2654         (tramp-compat-octal-to-decimal)
2655         (tramp-compat-coding-system-change-eol-conversion):
2656         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler)
2657         (tramp-gvfs-do-copy-or-rename-file)
2658         (tramp-gvfs-handle-delete-directory)
2659         (tramp-gvfs-handle-delete-file)
2660         (tramp-gvfs-handle-expand-file-name)
2661         (tramp-gvfs-handle-file-local-copy)
2662         (tramp-gvfs-handle-file-notify-add-watch)
2663         (tramp-gvfs-handle-make-directory)
2664         (tramp-gvfs-handle-write-region, tramp-gvfs-url-file-name):
2665         * lisp/net/tramp-gw.el (tramp-gw-gw-proc-sentinel)
2666         (tramp-gw-aux-proc-sentinel, tramp-gw-open-connection):
2667         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
2668         (tramp-sh-handle-set-visited-file-modtime)
2669         (tramp-sh-handle-set-file-modes)
2670         (tramp-sh-handle-file-name-all-completions)
2671         (tramp-sh-handle-add-name-to-file, tramp-do-copy-or-rename-file)
2672         (tramp-do-copy-or-rename-file-directly)
2673         (tramp-do-copy-or-rename-file-out-of-band)
2674         (tramp-sh-handle-make-directory)
2675         (tramp-sh-handle-delete-directory, tramp-sh-handle-delete-file)
2676         (tramp-sh-handle-insert-directory, tramp-process-sentinel)
2677         (tramp-sh-handle-start-file-process)
2678         (tramp-sh-handle-file-local-copy)
2679         (tramp-sh-handle-write-region, tramp-sh-handle-vc-registered)
2680         (tramp-sh-handle-file-notify-add-watch, tramp-maybe-send-script)
2681         (tramp-find-file-exists-command, tramp-open-shell)
2682         (tramp-find-shell)
2683         (tramp-open-connection-setup-interactive-shell)
2684         (tramp-find-inline-encoding, tramp-find-inline-compress)
2685         (tramp-compute-multi-hops, tramp-maybe-open-connection)
2686         (tramp-wait-for-output, tramp-send-command-and-check)
2687         (tramp-send-command-and-read, tramp-get-remote-path)
2688         (tramp-get-ls-command, tramp-get-ls-command-with-dired)
2689         (tramp-get-ls-command-with-quoting-style)
2690         (tramp-get-test-command, tramp-get-remote-ln)
2691         (tramp-get-remote-perl, tramp-get-remote-stat)
2692         (tramp-get-remote-readlink, tramp-get-remote-trash)
2693         (tramp-get-remote-touch, tramp-get-remote-gvfs-monitor-dir)
2694         (tramp-get-remote-inotifywait, tramp-get-remote-id)
2695         (tramp-get-remote-python):
2696         * lisp/net/tramp-smb.el (tramp-smb-errors)
2697         (tramp-smb-handle-add-name-to-file, tramp-smb-handle-copy-file)
2698         (tramp-smb-handle-delete-directory)
2699         (tramp-smb-handle-delete-file)
2700         (tramp-smb-handle-file-local-copy)
2701         (tramp-smb-handle-make-directory)
2702         (tramp-smb-handle-make-directory-internal)
2703         (tramp-smb-handle-make-symbolic-link)
2704         (tramp-smb-handle-rename-file, tramp-smb-handle-set-file-acl)
2705         (tramp-smb-handle-set-file-modes)
2706         (tramp-smb-handle-write-region, tramp-smb-get-file-entries):
2707         * lisp/net/tramp.el (tramp-debug-message, tramp-error)
2708         (tramp-process-actions):
2709         Generate diagnostics according to ‘text-quoting-style’, by
2710         using curved quotes in format strings and ‘format-message’
2711         when appropriate.
2712         * lisp/net/tramp-compat.el (format-message):
2713         Define a replacement, if it’s an older version of Emacs
2714         that doesn’t have it already.
2716         * etc/NEWS: Clarify text-quoting-style and electric-quote-mode.
2718 2015-08-24  Xue Fuqiao  <xfq.free@gmail.com>
2720         Fix documentation for `save-excursion'
2721         * doc/lispref/positions.texi (Excursions):
2722         * doc/lispintro/emacs-lisp-intro.texi (save-excursion)
2723         (Template for save-excursion, Point and mark): `save-excursion'
2724         does not save&restore the mark any more.
2726 2015-08-24  Michael Albinus  <michael.albinus@gmx.de>
2728         * lisp/net/tramp-sh.el (tramp-stat-marker, tramp-stat-quoted-marker):
2729         New defconsts.
2730         (tramp-do-file-attributes-with-stat)
2731         (tramp-do-directory-files-and-attributes-with-stat): Use them.
2732         (tramp-convert-file-attributes): Remove double slashes in symlinks.
2733         * test/automated/tramp-tests.el (tramp-test18-file-attributes):
2734         Handle symlinks with "//" in the file name.
2736         Revert fbb5531fa11d13854b274d28ccd329c9b6652cfc for tramp.el.
2738 2015-08-24  Nicolas Petton  <nicolas@petton.fr>
2740         Fix cl-subseq and cl-concatenate
2741         * lisp/emacs-lisp/cl-extra.el (cl-subseq, cl-concatenate): Do not use
2742         seq functions.
2743         * lisp/emacs-lisp/seq.el (seq-concatenate): Call cl-concatenate in
2744         seq-concatenate.
2746 2015-08-24  Pip Cet  <pipcet@gmail.com>  (tiny change)
2748         Fix full-screen code when there is no window manager (Bug#21317)
2749         * src/xterm.h (x_wm_supports): Declare external.
2750         * src/xterm.c (wm_suppports): Rename to `x_wm_supports', export.
2751         (do_ewmh_fullscreen, x_ewmh_activate_frame): Adjust for rename.
2752         (x_check_fullscreen): Call `x_wm_set_size_hint', restore
2753         `fullscreen' frame parameter.
2754         * gtkutil.c (x_wm_set_size_hint): Set size hints when running
2755         without a window manager.
2757 2015-08-24  Glenn Morris  <rgm@gnu.org>
2759         * lisp/version.el (emacs-version): No longer include build host
2760         * doc/lispref/intro.texi (Version Info): Update example.
2762 2015-08-24  Paul Eggert  <eggert@cs.ucla.edu>
2764         * doc/lispref/elisp.texi: Fix typo in previous change.
2766         More-conservative ‘format’ quote restyling
2767         Instead of restyling curved quotes for every call to ‘format’,
2768         create a new function ‘format-message’ that does the restyling,
2769         and using the new function instead of ‘format’ only in contexts
2770         where this seems appropriate.
2771         Problem reported by Dmitry Gutov and Andreas Schwab in:
2772         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00826.html
2773         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00827.html
2774         * doc/lispref/commands.texi (Using Interactive):
2775         * doc/lispref/control.texi (Signaling Errors, Signaling Errors):
2776         * doc/lispref/display.texi (Displaying Messages, Progress):
2777         * doc/lispref/elisp.texi:
2778         * doc/lispref/help.texi (Keys in Documentation):
2779         * doc/lispref/minibuf.texi (Minibuffer Misc):
2780         * doc/lispref/strings.texi (Formatting Strings):
2781         * etc/NEWS:
2782         Document the changes.
2783         * lisp/abbrev.el (expand-region-abbrevs):
2784         * lisp/apropos.el (apropos-library):
2785         * lisp/calc/calc-ext.el (calc-record-message)
2786         (calc-user-function-list):
2787         * lisp/calc/calc-help.el (calc-describe-key, calc-full-help):
2788         * lisp/calc/calc-lang.el (math-read-big-balance):
2789         * lisp/calc/calc-store.el (calc-edit-variable):
2790         * lisp/calc/calc-units.el (math-build-units-table-buffer):
2791         * lisp/calc/calc-yank.el (calc-edit-mode):
2792         * lisp/calendar/icalendar.el (icalendar-export-region)
2793         (icalendar--add-diary-entry):
2794         * lisp/cedet/mode-local.el (mode-local-print-binding)
2795         (mode-local-describe-bindings-2):
2796         * lisp/cedet/semantic/complete.el (semantic-completion-message):
2797         * lisp/cedet/semantic/edit.el (semantic-parse-changes-failed):
2798         * lisp/cedet/semantic/wisent/comp.el (wisent-log):
2799         * lisp/cedet/srecode/insert.el (srecode-insert-show-error-report):
2800         * lisp/descr-text.el (describe-text-properties-1, describe-char):
2801         * lisp/dframe.el (dframe-message):
2802         * lisp/dired-aux.el (dired-query):
2803         * lisp/emacs-lisp/byte-opt.el (byte-compile-log-lap-1):
2804         * lisp/emacs-lisp/bytecomp.el (byte-compile-log)
2805         (byte-compile-log-file, byte-compile-warn, byte-compile-form):
2806         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use)
2807         (cconv-analyze-form):
2808         * lisp/emacs-lisp/check-declare.el (check-declare-warn):
2809         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
2810         * lisp/emacs-lisp/cl-macs.el (cl-symbol-macrolet):
2811         * lisp/emacs-lisp/edebug.el (edebug-format):
2812         * lisp/emacs-lisp/eieio-core.el (eieio-oref):
2813         * lisp/emacs-lisp/eldoc.el (eldoc-minibuffer-message)
2814         (eldoc-message):
2815         * lisp/emacs-lisp/elint.el (elint-file, elint-log):
2816         * lisp/emacs-lisp/find-func.el (find-function-library):
2817         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
2818         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
2819         * lisp/emacs-lisp/nadvice.el (advice--make-docstring):
2820         * lisp/emacs-lisp/package.el (package-compute-transaction)
2821         (package-install-button-action, package-delete-button-action)
2822         (package-menu--list-to-prompt):
2823         * lisp/emacs-lisp/timer.el (timer-event-handler):
2824         * lisp/emacs-lisp/warnings.el (lwarn, warn):
2825         * lisp/emulation/viper-cmd.el:
2826         (viper-toggle-parse-sexp-ignore-comments)
2827         (viper-kill-buffer, viper-brac-function):
2828         * lisp/emulation/viper-macs.el (viper-record-kbd-macro):
2829         * lisp/facemenu.el (facemenu-add-new-face):
2830         * lisp/faces.el (face-documentation, read-face-name)
2831         (face-read-string, read-face-font, describe-face):
2832         * lisp/files.el (find-alternate-file, hack-local-variables)
2833         (hack-one-local-variable--obsolete, write-file)
2834         (basic-save-buffer, delete-directory):
2835         * lisp/format.el (format-write-file, format-find-file)
2836         (format-insert-file):
2837         * lisp/help-fns.el (help-fns--key-bindings)
2838         (help-fns--compiler-macro, help-fns--obsolete)
2839         (help-fns--interactive-only, describe-function-1)
2840         (describe-variable):
2841         * lisp/help.el (describe-mode):
2842         * lisp/info-xref.el (info-xref-output):
2843         * lisp/info.el (Info-virtual-index-find-node)
2844         (Info-virtual-index, info-apropos):
2845         * lisp/international/kkc.el (kkc-error):
2846         * lisp/international/mule-cmds.el:
2847         (select-safe-coding-system-interactively)
2848         (select-safe-coding-system, describe-input-method):
2849         * lisp/international/mule-conf.el (code-offset):
2850         * lisp/international/mule-diag.el (describe-character-set)
2851         (list-input-methods-1):
2852         * lisp/international/quail.el (quail-error):
2853         * lisp/minibuffer.el (minibuffer-message):
2854         * lisp/mpc.el (mpc--debug):
2855         * lisp/msb.el (msb--choose-menu):
2856         * lisp/net/ange-ftp.el (ange-ftp-message):
2857         * lisp/net/gnutls.el (gnutls-message-maybe):
2858         * lisp/net/newst-backend.el (newsticker--sentinel-work):
2859         * lisp/net/newst-treeview.el (newsticker--treeview-load):
2860         * lisp/net/nsm.el (nsm-query-user):
2861         * lisp/net/rlogin.el (rlogin):
2862         * lisp/net/soap-client.el (soap-warning):
2863         * lisp/net/tramp.el (tramp-debug-message):
2864         * lisp/nxml/nxml-outln.el (nxml-report-outline-error):
2865         * lisp/nxml/nxml-parse.el (nxml-parse-error):
2866         * lisp/nxml/rng-cmpct.el (rng-c-error):
2867         * lisp/nxml/rng-match.el (rng-compile-error):
2868         * lisp/nxml/rng-uri.el (rng-uri-error):
2869         * lisp/obsolete/iswitchb.el (iswitchb-possible-new-buffer):
2870         * lisp/org/org-ctags.el:
2871         (org-ctags-ask-rebuild-tags-file-then-find-tag):
2872         * lisp/proced.el (proced-log):
2873         * lisp/progmodes/ebnf2ps.el (ebnf-log):
2874         * lisp/progmodes/flymake.el (flymake-log):
2875         * lisp/progmodes/vhdl-mode.el (vhdl-warning-when-idle):
2876         * lisp/replace.el (occur-1):
2877         * lisp/simple.el (execute-extended-command)
2878         (undo-outer-limit-truncate, define-alternatives):
2879         * lisp/startup.el (command-line):
2880         * lisp/subr.el (error, user-error, add-to-list):
2881         * lisp/tutorial.el (tutorial--describe-nonstandard-key)
2882         (tutorial--find-changed-keys):
2883         * src/callint.c (Fcall_interactively):
2884         * src/editfns.c (Fmessage, Fmessage_box):
2885         Restyle the quotes of format strings intended for use as a
2886         diagnostic, when restyling seems appropriate.
2887         * lisp/subr.el (format-message): New function.
2888         * src/doc.c (Finternal__text_restyle): New function.
2889         (syms_of_doc): Define it.
2891 2015-08-23  Paul Eggert  <eggert@cs.ucla.edu>
2893         * etc/NEWS: The new ‘q’ flag is not an incompatible change.
2895 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
2897         python.el: Fix python-shell-buffer-substring on indented code
2898         (Bug#21086)
2899         * lisp/progmodes/python.el (python-shell-buffer-substring):
2900         Respect current line indentation when calculating string.
2901         * test/automated/python-tests.el
2902         (python-shell-buffer-substring-10)
2903         (python-shell-buffer-substring-11)
2904         (python-shell-buffer-substring-12): New tests.
2906 2015-08-23  Paul Eggert  <eggert@cs.ucla.edu>
2908         Fix minor glitches from ‘format’ reversion
2909         * doc/lispref/strings.texi (Formatting Strings):
2910         After reversion, ‘text-quoting-style’ is documented in ‘Keys in
2911         Documentation’, not below.
2912         * src/syntax.c (Finternal_describe_syntax_value):
2913         Prefer AUTO_STRING to build_string where either will do, as
2914         AUTO_STRING is a bit faster.
2916 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
2918         python.el: Defer shell setup code until first interactive prompt
2919         * lisp/progmodes/python.el
2920         (python-shell-comint-watch-for-first-prompt-output-filter): New
2921         function.
2922         (inferior-python-mode): Use it.
2923         (python-shell-first-prompt-hook): New hook.
2924         (python-shell-send-setup-code)
2925         (python-shell-completion-native-turn-on-maybe-with-msg): Attach to
2926         this hook instead of inferior-python-hook.
2928 2015-08-23  Nicolas Petton  <nicolas@petton.fr>
2930         Remove the calls to `seq-into` from `seq-concatenate`
2931         Since most new types of seq would have to be defined as sequences (cons
2932         cells or CL structs, mostly), there is no need to convert the seqs to
2933         sequences (which can be a fairly expensive operation).
2934         * lisp/emacs-lisp/seq.el (seq-concatenate): Do not ensure that seqs are
2935         sequences.
2937 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
2939         python.el: Fix completion for pdb interactions
2940         * lisp/progmodes/python.el (python-shell-completion-setup-code):
2941         Simplify.  Toggle print_mode for native wrapped completer.
2942         (python-shell-completion-native-setup): Ensure process buffer.
2943         Add print_mode attribute to completer wrapper to toggle returning
2944         or printing candidates.
2945         (python-shell-completion-native-get-completions): Cleanup.
2946         (python-shell-completion-get-completions): Cleanup.
2947         (python-shell-completion-at-point): Perform prompt checks.  Force
2948         fallback completion in pdb interactions.
2950 2015-08-23  Nicolas Petton  <nicolas@petton.fr>
2952         Make seq.el more extensible by using cl-defmethod
2953         * lisp/emacs-lisp/seq.el: Define seq.el functions using cl-defmethod to
2954         make it easier to extend seq.el with new "seq types".
2955         * test/automated/seq-tests.el (test-setf-seq-elt): New test.
2956         * lisp/emacs-lisp/cl-extra.el (cl-subseq): Move back the definition of
2957         subseq in cl-extra.el, and use it in seq.el.
2959 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
2961         python.el: Fix prompt detection with user overridden interpreter
2962         * lisp/progmodes/python.el (python-shell-prompt-detect): Honor
2963         buffer local python-shell-interpreter and
2964         python-shell-interpreter-interactive-arg.
2966 2015-08-23  Eli Zaretskii  <eliz@gnu.org>
2968         Support exec-directory with non-ASCII characters on Windows
2969         * src/w32proc.c (sys_spawnve): Make sure exec-directory is encoded
2970         in the system's ANSI codepage, when it is used for invoking
2971         cmdproxy.
2973 2015-08-23  Andreas Schwab  <schwab@linux-m68k.org>
2975         Revert "Extend ‘format’ to translate curved quotes"
2976         This reverts commit 244c801689d2f7a80480d83cd7d092d4762ebe08.
2978         Revert "Prefer ‘format’ to ‘substitute-command-keys’"
2979         This reverts commit 6af5aad26411ffe21c3fe4bc5438347110910111.
2981 2015-08-23  Xue Fuqiao  <xfq.free@gmail.com>
2983         * doc/lispintro/emacs-lisp-intro.texi (Switching Buffers): Clarify
2984         "invisible window".
2986 2015-08-23  Xue Fuqiao  <xfq.free@gmail.com>
2988         * doc/emacs/modes.texi (Choosing Modes): Minor doc fix for
2989         magic-fallback-mode-alist.
2991 2015-08-22  Fabián Ezequiel Gallina  <fgallina@gnu.org>
2993         python.el: fallback completion, ffap and eldoc setup enhancements
2994         Setup codes are now sent continuously so that the current frame is
2995         always taken into account.  This allows working within debuggers
2996         and always keeping a fresh version of setup codes that will return
2997         proper results.
2998         * lisp/progmodes/python.el (python-shell-setup-codes): Cleanup.
2999         (python-shell-send-setup-code): Send code only when
3000         python-shell-setup-codes is non-nil.
3001         (python-shell-completion-string-code): Cleanup trailing newline.
3002         (python-shell-completion-get-completions): Always use
3003         python-shell-completion-setup-code.
3004         (python-ffap-setup-code): Work with any object, not only modules.
3005         (python-ffap-string-code): Cleanup trailing newline.
3006         (python-ffap-module-path): Always use python-ffap-setup-code.
3007         (python-eldoc-string-code): Cleanup trailing newline.
3008         (python-eldoc--get-doc-at-point): Always use
3009         python-eldoc-setup-code.  Return non-nil only if docstring is
3010         found.
3012         python.el: Increase native completion robustness.
3013         * lisp/progmodes/python.el (python-shell-completion-native-setup):
3014         Make completer print real candidates and just return dummy ones to
3015         avoid input modification.
3016         (python-shell-completion-native-get-completions): Set
3017         comint-redirect-insert-matching-regexp to non-nil and make
3018         comint-redirect-finished-regexp match the last dummy candidate.
3019         Use python-shell-accept-process-output to wait for the full list
3020         of candidates.
3022 2015-08-22  Eli Zaretskii  <eliz@gnu.org>
3024         Fix invocation of programs via cmdproxy.exe
3025         * src/w32proc.c (sys_spawnve): Use exec-directory, not
3026         invocation-directory, for finding cmdproxy.exe.  When Emacs is
3027         run from the source tree, look for cmdproxy.exe in the same source
3028         tree.  (Bug#21323)
3030 2015-08-22  Simen Heggestøyl  <simenheg@gmail.com>
3032         Handle comments inside unquoted URIs in css-mode
3033         * lisp/textmodes/css-mode.el (css--uri-re): New defconst.
3034         (css-syntax-propertize-function): New defconst.
3035         (css--font-lock-keywords): Handle parens around unquoted URIs.
3036         (css-mode): Set `syntax-propertize-function'.
3038 2015-08-22  Eli Zaretskii  <eliz@gnu.org>
3040         Support invocation of Hunspell with multiple dictionaries
3041         * lisp/textmodes/ispell.el (ispell-parse-hunspell-affix-file): Support
3042         lists of dictionaries of the form "DICT1,DICT2,...".
3043         (ispell-hunspell-add-multi-dic): New command.  (Bug#20495)
3045         Minor formatting changes in ispell.el
3046         * lisp/textmodes/ispell.el (ispell-create-debug-buffer)
3047         (ispell-print-if-debug, ispell-aspell-find-dictionary)
3048         (ispell-aspell-add-aliases, ispell-hunspell-dict-paths-alist)
3049         (ispell-hunspell-dictionary-alist)
3050         (ispell-hunspell-fill-dictionary-entry)
3051         (ispell-find-hunspell-dictionaries, ispell-send-replacement)
3052         (ispell-buffer-with-debug, ispell-complete-word)
3053         (ispell-current-dictionary, ispell-current-personal-dictionary)
3054         (ispell-accept-output, ispell-minor-mode)
3055         (ispell-personal-dictionary, ispell-dictionary-alist)
3056         (ispell-really-aspell, ispell-really-hunspell)
3057         (ispell-encoding8-command, ispell-aspell-supports-utf8)
3058         (ispell-aspell-dictionary-alist, ispell-set-spellchecker-params):
3059         Fix whitespace, inconsistent capitalization, and arguments in doc
3060         strings.
3062 2015-08-22  Martin Rudalics  <rudalics@gmx.at>
3064         In ‘adjust-window-trailing-edge’ fix bug with size-preserved windows.
3065         * lisp/window.el (adjust-window-trailing-edge): Fix bug where this
3066         function refused to resize a size-preserved window.
3068 2015-08-22  Eli Zaretskii  <eliz@gnu.org>
3070         Improve documentation of 'window-use-time'
3071         * doc/lispref/windows.texi (Selecting Windows): Improve
3072         documentation and indexing of 'window-use-time'.
3074 2015-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
3076         * lisp/progmodes/cc-*.el: Fix up commenting style
3077         * lisp/progmodes/cc-vars.el, lisp/progmodes/cc-styles.el:
3078         * lisp/progmodes/cc-mode.el, lisp/progmodes/cc-menus.el:
3079         * lisp/progmodes/cc-langs.el, lisp/progmodes/cc-guess.el:
3080         * lisp/progmodes/cc-fonts.el, lisp/progmodes/cc-engine.el:
3081         * lisp/progmodes/cc-defs.el, lisp/progmodes/cc-cmds.el:
3082         * lisp/progmodes/cc-bytecomp.el, lisp/progmodes/cc-awk.el:
3083         * lisp/progmodes/cc-align.el, lisp/net/soap-client.el:
3084         Fix up commenting style.
3086 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
3088         text-quoting-style in emacs-lisp diagnostics
3089         * lisp/emacs-lisp/advice.el (ad-read-advised-function)
3090         (ad-read-advice-class, ad-read-advice-name, ad-enable-advice)
3091         (ad-disable-advice, ad-remove-advice, ad-set-argument)
3092         (ad-set-arguments):
3093         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand)
3094         (byte-compile-unfold-lambda, byte-optimize-form-code-walker)
3095         (byte-optimize-while, byte-optimize-apply):
3096         * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode)
3097         (byte-compile-log-file, byte-compile-format-warn)
3098         (byte-compile-nogroup-warn, byte-compile-arglist-warn)
3099         (byte-compile-cl-warn)
3100         (byte-compile-warn-about-unresolved-functions)
3101         (byte-compile-file, byte-compile-fix-header)
3102         (byte-compile--declare-var, byte-compile-file-form-defmumble)
3103         (byte-compile-form, byte-compile-normal-call)
3104         (byte-compile-variable-ref, byte-compile-variable-set)
3105         (byte-compile-subr-wrong-args, byte-compile-setq-default)
3106         (byte-compile-negation-optimizer)
3107         (byte-compile-condition-case--old)
3108         (byte-compile-condition-case--new, byte-compile-save-excursion)
3109         (byte-compile-defvar, byte-compile-autoload)
3110         (byte-compile-lambda-form)
3111         (byte-compile-make-variable-buffer-local, display-call-tree)
3112         (batch-byte-compile):
3113         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use)
3114         (cconv-analyze-form):
3115         * lisp/emacs-lisp/chart.el (chart-space-usage):
3116         * lisp/emacs-lisp/check-declare.el (check-declare-scan)
3117         (check-declare-warn, check-declare-file)
3118         (check-declare-directory):
3119         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
3120         (checkdoc-message-text-engine):
3121         * lisp/emacs-lisp/cl-extra.el (cl-parse-integer):
3122         * lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause, cl-tagbody)
3123         (cl-symbol-macrolet):
3124         * lisp/emacs-lisp/cl.el (cl-unload-function, flet):
3125         * lisp/emacs-lisp/copyright.el (copyright)
3126         (copyright-update-directory):
3127         * lisp/emacs-lisp/edebug.el (edebug-read-list):
3128         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-read):
3129         * lisp/emacs-lisp/eieio-core.el (eieio--slot-override)
3130         (eieio-oref, eieio-oset-default):
3131         * lisp/emacs-lisp/eieio-speedbar.el:
3132         (eieio-speedbar-child-make-tag-lines)
3133         (eieio-speedbar-child-description):
3134         * lisp/emacs-lisp/eieio.el (defclass, change-class):
3135         * lisp/emacs-lisp/elint.el (elint-file, elint-get-top-forms)
3136         (elint-init-form, elint-check-defalias-form)
3137         (elint-check-let-form):
3138         * lisp/emacs-lisp/ert.el (ert-get-test):
3139         * lisp/emacs-lisp/find-func.el (find-function-search-for-symbol)
3140         (find-function-library):
3141         * lisp/emacs-lisp/generator.el (iter-yield):
3142         * lisp/emacs-lisp/gv.el (gv-define-simple-setter):
3143         * lisp/emacs-lisp/lisp-mnt.el (lm-verify):
3144         * lisp/emacs-lisp/package-x.el (package-upload-file):
3145         * lisp/emacs-lisp/package.el (package-version-join)
3146         (package-disabled-p, package-activate-1, package-activate)
3147         (package--download-one-archive)
3148         (package--download-and-read-archives)
3149         (package-compute-transaction, package-install-from-archive)
3150         (package-install, package-install-selected-packages)
3151         (package-delete, package-autoremove)
3152         (package-install-button-action, package-delete-button-action)
3153         (package-menu-hide-package, package-menu--list-to-prompt)
3154         (package-menu--perform-transaction)
3155         (package-menu--find-and-notify-upgrades):
3156         * lisp/emacs-lisp/pcase.el (pcase-exhaustive, pcase--u1):
3157         * lisp/emacs-lisp/re-builder.el (reb-enter-subexp-mode):
3158         * lisp/emacs-lisp/ring.el (ring-next, ring-previous):
3159         * lisp/emacs-lisp/rx.el (rx-check, rx-anything):
3160         * lisp/emacs-lisp/smie.el (smie-config-save):
3161         * lisp/emacs-lisp/subr-x.el (internal--check-binding):
3162         * lisp/emacs-lisp/testcover.el (testcover-1value):
3163         Use curved quotes in diagnostic format strings.
3165 2015-08-21  Fabián Ezequiel Gallina  <fgallina@gnu.org>
3167         python.el: Ensure remote process-environment on non-interactive processes
3168         * lisp/progmodes/python.el
3169         (python-shell-tramp-refresh-process-environment): New function.
3170         (python-shell-with-environment): Use it.
3171         * test/automated/python-tests.el (python-shell-with-environment-2):
3172         Update.
3174         python.el: Enhancements to process environment setup.
3175         * lisp/progmodes/python.el (python-shell-process-environment)
3176         (python-shell-extra-pythonpaths, python-shell-exec-path)
3177         (python-shell-virtualenv-root): Update docstring.  Remove :safe.
3178         (python-shell-setup-codes): Remove :safe.
3179         (python-shell-remote-exec-path): New defcustom.
3180         (python-shell--add-to-path-with-priority): New macro.
3181         (python-shell-calculate-pythonpath): Give priority to
3182         python-shell-extra-pythonpaths.  Update docstring.
3183         (python-shell-calculate-process-environment): Give priority to
3184         python-shell-process-environment.  Update docstring.
3185         (python-shell-calculate-exec-path): Give priority to
3186         python-shell-exec-path and calculated virtualenv bin directory.
3187         Update docstring.
3188         (python-shell-tramp-refresh-remote-path): New function.
3189         (python-shell-with-environment): Use it when working remotely and
3190         do not modify tramp-remote-path.  Allow nesting.
3191         (python-shell-calculate-command): Remove useless
3192         python-shell-with-environment call.
3193         * test/automated/python-tests.el (python-shell-calculate-pythonpath-1)
3194         (python-shell-calculate-pythonpath-2)
3195         (python-shell-calculate-process-environment-6)
3196         (python-shell-calculate-process-environment-7)
3197         (python-shell-calculate-process-environment-8)
3198         (python-shell-calculate-exec-path-3)
3199         (python-shell-calculate-exec-path-4)
3200         (python-shell-calculate-exec-path-5)
3201         (python-shell-calculate-exec-path-6)
3202         (python-shell-with-environment-3): New tests.
3203         (python-shell-calculate-process-environment-2)
3204         (python-shell-calculate-process-environment-3)
3205         (python-shell-calculate-process-environment-4)
3206         (python-shell-calculate-process-environment-5)
3207         (python-shell-calculate-exec-path-1)
3208         (python-shell-calculate-exec-path-2)
3209         (python-shell-with-environment-1)
3210         (python-shell-with-environment-2): Update and simplify.
3212 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
3214         Avoid hard-coding "M-x command" in docstrings
3215         * lisp/calendar/todo-mode.el (todo-mode):
3216         * lisp/desktop.el (desktop-save-mode):
3217         * lisp/edmacro.el (edit-kbd-macro):
3218         * lisp/emacs-lisp/package.el (package-menu-execute):
3219         * lisp/emulation/viper-cmd.el (viper-ask-level):
3220         * lisp/emulation/viper-init.el (viper-expert-level):
3221         * lisp/filesets.el (filesets-add-buffer):
3222         * lisp/follow.el (follow-mode):
3223         * lisp/gnus/auth-source.el (auth-sources):
3224         * lisp/international/ogonek.el (ogonek-informacja)
3225         (ogonek-information):
3226         * lisp/net/tramp.el (tramp-process-actions):
3227         * lisp/org/org-gnus.el (org-gnus-no-new-news):
3228         * lisp/org/org.el (org-ellipsis):
3229         * lisp/progmodes/python.el (python-shell-get-process-or-error):
3230         * lisp/progmodes/vhdl-mode.el (vhdl-mode):
3231         * lisp/server.el (server-start):
3232         * lisp/type-break.el (type-break-noninteractive-query):
3233         * lisp/userlock.el (ask-user-about-supersession-help):
3234         * lisp/whitespace.el (whitespace-report-region):
3235         Prefer (substitute-command-keys "`\\[foo-command]'")
3236         to "`M-x foo-command'" in docstrings and the like.
3238 2015-08-21  Tassilo Horn  <tsdh@gnu.org>
3240         Use add-function for prettify-symbols-compose-predicate
3241         * lisp/textmodes/tex-mode.el (tex-common-initialization): Set
3242         prettify-symbols-compose-predicate in terms of add-function.
3243         * etc/NEWS: Mention prettify-symbols-compose-predicate and
3244         prettify-symbols-mode support in tex-mode.
3246 2015-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
3248         * lisp/emacs-lisp/smie.el (smie-indent-current-column): New fun
3249         (smie-indent-exps, smie-indent-keyword): Use it.
3250         * test/indent/css-mode.css: Test alignment with leading comment.
3252 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
3254         Respect text-quoting-style in (*Finder*) menus
3255         * lisp/info.el (info--prettify-description):
3256         Treat description as a docstring, so that it's requoted as
3257         per text-quoting-style.
3259 2015-08-21  Martin Rudalics  <rudalics@gmx.at>
3261         Document `window-use-time' in Elisp manual
3262         * doc/lispref/windows.texi (Selecting Windows): Document
3263         `window-use-time'.
3265 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
3267         A better fix for bug#21303
3268         * src/w32uniscribe.c (_WIN32_WINNT): Define to 0x0600.  This is a
3269         cleaner fix for Bug#21260 than the previous change.
3271 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
3273         Respect text-quoting-style in calc
3274         In calc, tespect text-quoting-style preference in diagnostic
3275         formats and fix a few similar problems in docstrings.
3276         * lisp/calc/calc-aent.el (math-read-factor):
3277         * lisp/calc/calc-embed.el (calc-do-embedded):
3278         * lisp/calc/calc-ext.el (calc-user-function-list)
3279         * lisp/calc/calc-graph.el (calc-graph-show-dumb):
3280         * lisp/calc/calc-help.el (calc-describe-key)
3281         (calc-describe-thing):
3282         * lisp/calc/calc-lang.el (calc-c-language)
3283         (math-parse-fortran-vector-end, math-parse-tex-sum)
3284         (math-parse-eqn-matrix, math-parse-eqn-prime)
3285         (calc-yacas-language, calc-maxima-language, calc-giac-language)
3286         (math-read-big-rec, math-read-big-balance):
3287         * lisp/calc/calc-mode.el (calc-auto-why, calc-save-modes)
3288         (calc-auto-recompute):
3289         * lisp/calc/calc-prog.el (calc-user-define-invocation)
3290         (math-do-arg-check):
3291         * lisp/calc/calc-store.el (calc-edit-variable):
3292         * lisp/calc/calc-units.el (math-build-units-table-buffer):
3293         * lisp/calc/calc-vec.el (math-read-brackets):
3294         * lisp/calc/calc-yank.el (calc-edit-mode):
3295         * lisp/calc/calc.el (calc, calc-do, calc-user-invocation):
3296         Use curved quotes in diagnostic format strings.
3297         * lisp/calc/calc-help.el (calc-describe-thing):
3298         Format docstrings with substitute-command-keys.
3299         * lisp/calc/calc-help.el (calc-j-prefix-help):
3300         * lisp/calc/calc-misc.el (calc-help):
3301         * lisp/calc/calc-ext.el (calc-shift-Z-prefix-help):
3302         Escape a docstring "`".
3304 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
3306         Fix documentation of 'menu-set-font' and 'set-frame-font'
3307         * lisp/menu-bar.el (menu-set-font): Doc fix.  (Bug#21303)
3308         * doc/lispref/frames.texi (Frame Font): Document that
3309         set-frame-font with the last argument 't' will also make the font
3310         the default for the future GUI frames.
3312         Document '--create-frame' option to emacsclient
3313         * doc/emacs/misc.texi (emacsclient Options): Document the
3314         '--create-frame' option.  (Bug#21308)
3316 2015-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
3318         * lisp/progmodes/js.el (js-mode): Don't eagerly syntax propertize.
3320 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
3322         Document 'get-mru-window' in the ELisp manual
3323         * doc/lispref/windows.texi (Cyclic Window Ordering): Document
3324         'get-mru-window'.  (Bug#21306)
3326         Clarify documentation of 'get-buffer-window-list'
3327         * doc/lispref/windows.texi (Buffers and Windows): Mention that the
3328         current window, if relevant, will be the first in the list
3329         returned by 'get-buffer-window-list'.
3330         * lisp/window.el (get-buffer-window-list): Doc fix.  (Bug#21305)
3332 2015-08-21  Vasilij Schneidermann  <v.schneidermann@gmail.com>
3334         In `ielm' use `pop-to-buffer-same-window' (Bug#20848)
3335         * lisp/ielm.el (ielm): Use `pop-to-buffer-same-window' instead of
3336         `switch-to-buffer'.
3338 2015-08-21  Kaushal Modi  <kaushal.modi@gmail.com>  (tiny change)
3340         In woman.el use `display-buffer' instead of `switch-to-buffer' (Bug#21047)
3341         * lisp/woman.el (woman-really-find-file, WoMan-find-buffer): Use
3342         `display-buffer' instead of `switch-to-buffer'.
3344 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
3346         Follow user preference in calendar diagnostics
3347         Respect text-quoting-style preference in diagnostic formats by
3348         using curved quotes (which are translated as per text-quoting-style)
3349         instead of grave accent and apostrophe (which are not).
3350         * lisp/calendar/appt.el (appt-display-message):
3351         * lisp/calendar/diary-lib.el (diary-check-diary-file)
3352         (diary-mail-entries, diary-from-outlook):
3353         * lisp/calendar/icalendar.el (icalendar-export-region)
3354         (icalendar--convert-float-to-ical)
3355         (icalendar--convert-date-to-ical)
3356         (icalendar--convert-ical-to-diary)
3357         (icalendar--convert-recurring-to-diary)
3358         (icalendar--add-diary-entry):
3359         * lisp/calendar/time-date.el (format-seconds):
3360         * lisp/calendar/timeclock.el (timeclock-mode-line-display)
3361         (timeclock-make-hours-explicit):
3362         * lisp/calendar/todo-mode.el (todo-prefix, todo-delete-category)
3363         (todo-item-mark, todo-check-format)
3364         (todo-insert-item--next-param, todo-edit-item--next-key)
3365         (todo-mode):
3366         Use curved quotes in diagnostic format strings.
3367         * lisp/calendar/icalendar.el (icalendar-import-format-sample):
3368         * test/automated/icalendar-tests.el (icalendar--import-format-sample):
3369         Just use straight quoting for simple test case.
3371 2015-08-21  Michael Albinus  <michael.albinus@gmx.de>
3373         * src/gfilenotify.c (Fgfile_add_watch):
3374         Handle errors from g_file_monitor.
3376 2015-08-21  Martin Rudalics  <rudalics@gmx.at>
3378         In frames.texi use "minibuffer-less frame" instead of "non-minibuffer frame"
3379         * doc/lispref/frames.texi (Frame Layout): Use "minibuffer-less
3380         frame" instead of "non-minibuffer frame".
3382         Fix frame geometry related text
3383         * doc/lispref/frames.texi (Frame Layout): Rename
3384         `x-frame-geometry' to `frame-geometry'.
3385         * doc/lispref/frames.texi (Mouse Position):
3386         * doc/lispref/windows.texi (Coordinates and Windows): Use
3387         `set-mouse-absolute-pixel-position' instead of
3388         `x-set-mouse-absolute-pixel-position'.
3390         Sanitize frame geometry related functions
3391         * src/nsfns.m (Fx_frame_geometry): Rename to Fns_frame_geometry.
3392         (Fx_frame_edges): Rename to Fns_frame_edges.
3393         * src/w32fns.c (Fx_frame_geometry): Rename to Fw32_frame_geometry.
3394         (Fx_frame_edges): Rename to Fw32_frame_edges.
3395         (Fx_mouse_absolute_pixel_position): Rename to
3396         Fw32_mouse_absolute_pixel_position.
3397         (Fx_set_mouse_absolute_pixel_position): Rename to
3398         Fw32_set_mouse_absolute_pixel_position.
3399         * lisp/frame.el (x-frame-geometry, w32-frame-geometry)
3400         (ns-frame-geometry, x-frame-edges, w32-frame-edges)
3401         (ns-frame-edges, w32-mouse-absolute-pixel-position)
3402         (x-mouse-absolute-pixel-position)
3403         (w32-set-mouse-absolute-pixel-position)
3404         (x-set-mouse-absolute-pixel-position): Declare.
3405         (frame-geometry, mouse-absolute-pixel-position)
3406         (set-mouse-absolute-pixel-position): New functions.
3407         (frame-edges): Rewrite in terms of x-/w32-/ns-frame-edges.
3409 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
3411         Fix MinGW64 build broken by latest w32uniscribe.c changes
3412         * src/w32uniscribe.c (UNISCRIBE_OPENTYPE): Define to 0x0100, for
3413         MinGW64.  Reported by Andy Moreton <andrewjmoreton@gmail.com>.
3414         (Bug#21260)
3416 2015-08-21  Tassilo Horn  <tsdh@gnu.org>
3418         Add TeX defaults for prettify-symbol-mode
3419         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Rename
3420         from tex-prettify-symbols-alist.
3421         (tex--prettify-symbols-compose-p): New function.
3422         (tex-common-initialization): Use them as prettify-symbols-alist
3423         and prettify-symbols-compose-predicate.
3425         Generalize prettify-symbols to arbitrary modes
3426         * lisp/progmodes/prog-mode.el
3427         (prettify-symbols-default-compose-p): New function.
3428         (prettify-symbols-compose-predicate): New variable.
3429         (prettify-symbols--compose-symbol): Use it.
3431 2015-08-20  Paul Eggert  <eggert@cs.ucla.edu>
3433         Don't quote symbols 'like-this' in docstrings etc.
3434         * admin/unidata/uvs.el (uvs-insert-fields-as-bytes):
3435         * lisp/allout-widgets.el (allout-widgets-count-buttons-in-region):
3436         * lisp/allout.el (allout-add-resumptions, allout-mode):
3437         * lisp/calculator.el (calculator-operators):
3438         * lisp/cedet/data-debug.el (dd-propertize):
3439         * lisp/cedet/ede/proj-prog.el (ede-proj-target-makefile-program):
3440         * lisp/cedet/semantic/analyze/debug.el:
3441         (semantic-analyzer-debug-global-miss-text):
3442         * lisp/cedet/semantic/lex-spp.el:
3443         (semantic-lex-spp-replace-or-symbol-or-keyword):
3444         * lisp/cedet/semantic/symref.el:
3445         (semantic-symref-cleanup-recent-buffers-fcn):
3446         * lisp/cedet/semantic/tag.el (semantic-tag-class):
3447         * lisp/cedet/srecode/el.el (srecode-semantic-handle-:el-custom):
3448         * lisp/gnus/nnmairix.el (nnmairix-propagate-marks-upon-close):
3449         * lisp/gnus/pop3.el (pop3-authentication-scheme):
3450         * lisp/help-fns.el (describe-function-orig-buffer):
3451         * lisp/imenu.el (imenu--history-list):
3452         * lisp/mail/feedmail.el (feedmail-confirm-outgoing)
3453         (feedmail-display-full-frame, feedmail-deduce-bcc-where)
3454         (feedmail-queue-default-file-slug)
3455         (feedmail-queue-buffer-file-name):
3456         * lisp/net/mairix.el (mairix-searches-mode-map):
3457         * lisp/net/newst-backend.el (newsticker-retrieval-method)
3458         (newsticker-auto-mark-filter-list):
3459         * lisp/obsolete/vi.el (vi-mode):
3460         * lisp/progmodes/cc-engine.el (c-literal-type):
3461         * lisp/progmodes/cpp.el (cpp-face):
3462         * lisp/progmodes/ebrowse.el (ebrowse-electric-list-looper):
3463         * lisp/progmodes/elisp-mode.el (elisp--xref-make-xref):
3464         * lisp/progmodes/pascal.el (pascal-auto-lineup):
3465         * lisp/progmodes/prog-mode.el (prog-widen):
3466         * lisp/progmodes/verilog-mode.el (verilog-regexp-words)
3467         (verilog-auto-lineup, verilog-auto-reset-widths)
3468         (verilog-auto-arg-format, verilog-auto-inst-template-numbers):
3469         * lisp/textmodes/flyspell.el (flyspell-maybe-correct-transposition)
3470         (flyspell-maybe-correct-doubling):
3471         * lisp/textmodes/table.el (table-justify, table-justify-cell)
3472         (table-justify-row, table-justify-column, table-insert-sequence)
3473         (table--justify-cell-contents):
3474         * lisp/url/url-auth.el (url-get-authentication):
3475         * lisp/window.el (display-buffer-record-window):
3476         * lisp/xml.el (xml-parse-file, xml-parse-region):
3477         * src/gfilenotify.c (Fgfile_add_watch):
3478         Don't quote symbols with apostrophes in doc strings.
3479         Use asymmetric quotes instead.
3480         * lisp/cedet/semantic/complete.el (semantic-displayor-show-request):
3481         Likewise for symbol in diagnostic.
3482         * lisp/image.el (image-extension-data):
3483         * lisp/register.el (frame-configuration-to-register):
3484         * src/buffer.c (syms_of_buffer):
3485         Remove bogus apostrophes after symbols.
3486         * lisp/thumbs.el (thumbs-conversion-program):
3487         Quote Lisp string values using double-quotes, not apostrophes.
3489 2015-08-20  Martin Rudalics  <rudalics@gmx.at>
3491         Describe frame geometry and related functions in Elisp manual
3492         * doc/lispref/display.texi (Size of Displayed Text, Line Height)
3493         (Showing Images): Update references.
3494         * doc/lispref/elisp.texi (Top): Update node listing.
3495         * doc/lispref/frames.texi (Frame Geometry): New node.  Move
3496         `Size and Position' section here.
3497         (Size Parameters): Update references.
3498         (Mouse Position): Update references and nomenclature.  Describe
3499         new functions `x-mouse-absolute-pixel-position' and
3500         `x-set-mouse-absolute-pixel-position'.
3501         * doc/lispref/windows.texi (Window Sizes): Update references.
3502         (Resizing Windows): Update references.  Move description of
3503         `fit-frame-to-buffer' here.
3504         (Coordinates and Windows): Update nomenclature and references.
3505         Describe new arguments of `window-edges'.  Comment out
3506         descriptions of `window-left-column', `window-top-line',
3507         `window-pixel-left' and `window-pixel-top'.  Describe
3508         `window-absolute-pixel-position'.
3510 2015-08-20  Alan Mackenzie  <acm@muc.de>
3512         Handling of `c-parse-state'.  Fix low level bug.
3513         progmodes/cc-engine.el (c-remove-stale-state-cache-backwards): Add
3514         "CASE 3.5" to handle `cache-pos' being only slightly before `here'.
3516 2015-08-20  Andreas Politz  <politza@hochschule-trier.de>
3518         In `widget-color--choose-action' quit *Color* window instead of deleting it
3519         * lisp/wid-edit.el (widget-color--choose-action): Quit *Color*
3520         window instead of deleting it.
3522 2015-08-20  Martin Rudalics  <rudalics@gmx.at>
3524         In w32fns.c's Fx_frame_geometry rewrite check whether frame has a titlebar
3525         * src/w32fns.c (Fx_frame_geometry): Use title_bar.rgstate[0] to
3526         determine whether frame has a titlebar.
3527         Suggested by Eli Zaretskii <eliz@gnu.org>
3529 2015-08-20  Tassilo Horn  <tsdh@gnu.org>
3531         Add a prettify-symbols-alist for (La)TeX
3532         * tex-mode.el (tex-prettify-symbols-alist): New variable holding
3533         an alist suitable as prettify-symbols-alist in (La)TeX modes.
3535 2015-08-19  Alan Mackenzie  <acm@muc.de>
3537         Make electric-pair-mode, delete-selection-mode and CC Mode cooperate.
3538         Fixes debbugs#21275.
3539         In Emacs >= 25, let electric-pair-mode take precedence over
3540         delete-selection-mode.
3541         delsel.el (delete-selection-uses-region-p): New function, previously a
3542         lambda expression in a property value for `self-insert-command'.
3543         (top-level) Set the `delete-selection' property of `self-insert-command'
3544         to `delete-selection-uses-region-p'.
3545         progmodes/cc-cmds.el (top-level): Give the `delete-selection' property
3546         for c-electric-\(brace\|paren\) the value
3547         `delete-selection-uses-region-p' when the latter function exists.
3549 2015-08-19  Paul Eggert  <eggert@cs.ucla.edu>
3551         Fix key binding quoting in tutorial *Help*
3552         * lisp/tutorial.el (tutorial--describe-nonstandard-key):
3553         When generating help for custom key bindings, use the user-preferred
3554         quoting style rather than hardcoding the grave style.
3556 2015-08-19  Eli Zaretskii  <eliz@gnu.org>
3558         Improve and future-proof OTF fonts support in w32uniscribe.c
3559         * src/w32uniscribe.c (uniscribe_otf_capability): Add commentary
3560         about the expected results and why the new Uniscribe APIs are not
3561         used in this function.
3562         (ScriptGetFontScriptTags_Proc, ScriptGetFontLanguageTags_Proc)
3563         (ScriptGetFontFeatureTags_Proc): New function typedefs.
3564         (uniscribe_new_apis): New static variable.
3565         (uniscribe_check_features): New function, implements OTF features
3566         verification while correctly accounting for features in the list
3567         after the nil member, if any.
3568         (uniscribe_check_otf_1): New function, retrieves the features
3569         supported by the font for the requested script and language using
3570         the Uniscribe APIs available from Windows Vista onwards.
3571         (uniscribe_check_otf): If the new Uniscribe APIs are available,
3572         use them in preference to reading the font data directly.  Call
3573         uniscribe_check_features to verify that the requested features are
3574         supported, replacing the original incomplete code.
3575         (syms_of_w32uniscribe): Initialize function pointers for the new
3576         Uniscribe APIs.  (Bug#21260)
3577         (otf_features): Scan the script, langsys, and feature arrays back
3578         to front, so that the result we return has them in alphabetical
3579         order, like ftfont.c does.
3580         * src/w32fns.c (syms_of_w32fns) <w32-disable-new-uniscribe-apis>:
3581         New variable for debugging w32uniscribe.c code.
3583 2015-08-19  Artur Malabarba  <bruce.connor.am@gmail.com>
3585         * isearch.el (isearch-search-fun-default): Revert a5bdb87
3586         Remove usage of `isearch-lax-whitespace' inside the `iearch-word'
3587         clause of `isearch-search-fun-default'. That lax variable does not
3588         refer to lax-whitespacing.  Related to (bug#21777).
3589         This reverts commit a5bdb872edb9f031fe041faf9a8c0be432e5f64c.
3590         * character-fold.el (character-fold-search): Set to nil.
3591         Default to nil for now, until someone implements proper
3592         lax-whitespacing with char-fold searching.
3594 2015-08-19  Martin Rudalics  <rudalics@gmx.at>
3596         Fix doc-string of `help-mode-finish'.
3597         * lisp/help-mode.el (help-mode-finish): Fix doc-string.
3599         In nsimage.m include coding.h (Bug#21292)
3600         * src/nsimage.m (top-level): Include coding.h (Bug#21292).
3602         Move window edge functions to Elisp.
3603         * src/window.c (Fwindow_edges, Fwindow_pixel_edges)
3604         (Fwindow_absolute_pixel_edges, Fwindow_inside_edges)
3605         (Fwindow_inside_pixel_edges, Fwindow_inside_absolute_pixel_edges):
3606         Move to window.el.
3607         (calc_absolute_offset): Remove.
3608         * lisp/frame.el (frame-edges): New function.
3609         * lisp/window.el (window-edges, window-pixel-edges)
3610         (window-absolute-pixel-edges): Move here from window.c.
3611         (window-body-edges, window-body-pixel-edges)
3612         (window-absolute-body-pixel-edges): Move here from window.c and
3613         rename "inside" to "body".  Keep old names as aliases.
3614         (window-absolute-pixel-position): New function.
3616 2015-08-19  Katsumi Yamaoka  <yamaoka@jpl.org>
3618         [Gnus]: Use overlay functions directly
3619         * lisp/gnus/gnus-art.el (gnus-mime-inline-part, gnus-mm-display-part)
3620         (gnus-insert-mime-button, gnus-mime-buttonize-attachments-in-header)
3621         (gnus-article-highlight-signature, gnus-article-extend-url-button)
3622         (gnus-article-add-button, gnus-insert-prev-page-button)
3623         (gnus-insert-next-page-button, gnus-insert-mime-security-button):
3624         * lisp/gnus/gnus-cite.el (gnus-cite-delete-overlays)
3625         (gnus-cite-add-face):
3626         * lisp/gnus/gnus-html.el (gnus-html-wash-tags):
3627         * lisp/gnus/gnus-salt.el (gnus-tree-read-summary-keys)
3628         (gnus-tree-recenter, gnus-highlight-selected-tree):
3629         * lisp/gnus/gnus-sum.el (gnus-summary-show-all-threads)
3630         (gnus-summary-show-thread, gnus-summary-hide-thread)
3631         (gnus-highlight-selected-summary):
3632         * lisp/gnus/gnus-util.el (gnus-put-overlay-excluding-newlines):
3633         * lisp/gnus/message.el (message-fix-before-sending)
3634         (message-toggle-image-thumbnails):
3635         * lisp/gnus/mm-decode.el (mm-convert-shr-links):
3636         * lisp/gnus/sieve.el (sieve-highlight, sieve-insert-scripts):
3637         Use overlay functions directly instead of using gnus-overlay-*,
3638         message-overlay-*, and sieve-overlay-*.
3639         * lisp/gnus/gnus-sum.el (gnus-remove-overlays):
3640         * lisp/gnus/gnus.el (gnus-make-overlay, gnus-copy-overlay)
3641         (gnus-delete-overlay, gnus-overlay-get, gnus-overlay-put)
3642         (gnus-move-overlay, gnus-overlay-buffer, gnus-overlay-start)
3643         (gnus-overlay-end, gnus-overlays-at, gnus-overlays-in):
3644         * lisp/gnus/message.el (message-delete-overlay, message-make-overlay)
3645         (message-overlay-get, message-overlay-put, message-overlays-in):
3646         * lisp/gnus/sieve.el (sieve-make-overlay, sieve-overlay-put)
3647         (sieve-overlays-at): Remove.
3649 2015-08-19  Martin Rudalics  <rudalics@gmx.at>
3651         In w32fns.c condition TITLEBAR_INFO declaration on WINDOWS version.
3652         * src/w32fns.c (TITLEBAR_INFO): Make it a typedef so MinGW64
3653         builds can use the declaration from the system headers.
3654         (GetTitleBarInfo_Proc, Fx_frame_geometry): Adapt to new
3655         definition of TITLEBAR_INFO.
3656         Suggested by Eli Zaretskii  <eliz@gnu.org>
3658 2015-08-19  Glenn Morris  <rgm@gnu.org>
3660         * lisp/gnus/nnmaildir.el (nnmaildir-flag-mark-mapping): Add "P".
3662 2015-08-19  Paul Eggert  <eggert@cs.ucla.edu>
3664         Use new q ‘format’ flag when fixing quotes in C
3665         * src/image.c (image_size_error): New function.  All uses of
3666         image_error with "Invalid image size ..."  changed to use it.
3667         * src/image.c (image_size_error, xbm_load_image, xbm_load)
3668         (xpm_load, xpm_load_image, xpm_load, pbm_load, png_load_body)
3669         (jpeg_load_body, tiff_load, gif_load, imagemagick_load_image)
3670         (imagemagick_load, svg_load, svg_load_image, gs_load)
3671         (x_kill_gs_process):
3672         * src/lread.c (load_warn_old_style_backquotes):
3673         * src/xfaces.c (load_pixmap):
3674         * src/xselect.c (x_clipboard_manager_error_1):
3675         Use %qs, not uLSQM and uRSQM.
3676         * src/syntax.c (Finternal_describe_syntax_value):
3677         Prefer Fsubstitute_command_keys to Fformat, as this lets
3678         us use AUTO_STRING.
3679         * src/xdisp.c (vadd_to_log): Use AUTO_STRING on the format argument,
3680         as it's now guaranteed to be ASCII.
3681         * src/xselect.c (x_clipboard_manager_error_2):
3682         Avoid grave accent in low-level stderr diagnostic.
3684 2015-08-19  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
3686         New q flag for ‘format’
3687         * doc/lispref/processes.texi (Sentinels):
3688         Don't hardwire grave quoting style in example.
3689         * doc/lispref/strings.texi (Formatting Strings):
3690         * etc/NEWS:
3691         Document new q flag.
3692         * src/editfns.c (Fformat): Implement it.
3694 2015-08-18  Daiki Ueno  <ueno@gnu.org>
3696         pinentry.el: Add debugging support
3697         * lisp/net/pinentry.el (pinentry-debug): New variable.
3698         (pinentry-debug-buffer): New variable.
3699         (pinentry--process-filter): Send input to the debug buffer, if
3700         `pinentry-debug' is set.
3702         pinentry.el: Improve multiline prompt
3703         * lisp/net/pinentry.el (pinentry--prompt): Simplify the interface.
3704         (pinentry--process-filter): Use `pinentry--prompt' for CONFIRM
3705         command.
3707 2015-08-18  Paul Eggert  <eggert@cs.ucla.edu>
3709         Fix multibyte confusion in diagnostics
3710         * src/print.c (print_error_message):
3711         Don't assume that the caller's name is unibyte.
3712         * src/xdisp.c (vadd_to_log):
3713         Don't assume that the formatted diagnostic is unibyte.
3715         Fix file name encodings in diagnostics
3716         Also, close some minor races when opening image files, by opening
3717         them once instead of multiple times.
3718         * src/gtkutil.c (xg_get_image_for_pixmap):
3719         * src/image.c (xpm_load, tiff_load, gif_load, imagemagick_load)
3720         (svg_load):
3721         * src/nsimage.m (allocInitFromFile:):
3722         * src/xfns.c (xg_set_icon):
3723         Encode file name, since x_find_image_file no longer does that.
3724         * src/image.c (x_find_image_fd): New function.
3725         (x_find_image_file): Use it.  Do not encode resulting file name,
3726         since callers sometimes need it decoded.
3727         (slurp_file): File arg is now a fd, not a file name.
3728         All callers changed.  This saves us having to open the file twice.
3729         (xbm_load, xpm_load, pbm_load, png_load_body, jpeg_load_body)
3730         (svg_load):
3731         Use x_find_image_fd and fdopen to save a file-open.
3732         Report file name that failed.
3733         * src/lread.c (openp): If PREDICATE is t, open the file in binary mode.
3735 2015-08-18  Dmitry Gutov  <dgutov@yandex.ru>
3737         Allow blink-matching-paren to jump off screen
3738         * doc/emacs/programs.texi (Matching): Mention the
3739         `blink-matching-paren' value `jump-offscreen'.
3740         * lisp/simple.el (blink-matching-paren): New possible value.
3741         (blink-matching-paren-on-screen): Clarify the docstring.
3742         (blink-matching-open): Handle `jump-offscreen' (bug#21286).
3744         Refine the previous change
3745         * lisp/simple.el (blink-matching-open): Use minibuffer-message
3746         outside of save-excursion (bug#21286).
3748 2015-08-18  Martin Rudalics  <rudalics@gmx.at>
3750         Rewrite and add frame geometry related functions.
3751         * src/frame.c (Fframe_position): New function.
3752         (Fset_frame_position): Rename parameters and rewrite doc-string.
3753         (syms_of_frame): Remove Qframe_position, Qframe_outer_size,
3754         Qtitle_height and Qframe_inner_size.  Add Qouter_edges,
3755         Qouter_position, Qouter_size, Qnative_edges, Qinner_edges,
3756         Qtitle_bar_size.
3757         * src/nsfns.m (frame_geometry): New function.
3758         (Fx_frame_geometry): Call frame_geometry.
3759         (Fx_frame_edges): New function.
3760         * src/w32fns.c (C_CHILDREN_TITLEBAR, TITLEBAR_INFO)
3761         (GetTitleBarInfo_Proc): Define these so we can use the
3762         GetTitleBarInfo API.
3763         (Fw32_frame_menu_bar_size, Fw32_frame_rect): Remove.
3764         (Fx_frame_geometry): Rewrite.
3765         (Fx_frame_edges, Fx_mouse_absolute_pixel_position)
3766         (Fx_set_mouse_absolute_pixel_position): New functions.
3767         * src/xfns.c (frame_geometry): New function.
3768         (Fx_frame_geometry): Call frame_geometry.
3769         (Fx_frame_edges, Fx_mouse_absolute_pixel_position)
3770         (Fx_set_mouse_absolute_pixel_position): New functions.
3772 2015-08-18  Michael Albinus  <michael.albinus@gmx.de>
3774         Improve Tramp's compatibility
3775         * lisp/net/tramp.el (tramp-get-method-parameter):
3776         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
3777         (tramp-adb-get-device):
3778         * lisp/net/trampver.el (tramp-repository-get-version):
3779         Use `tramp-compat-replace-regexp-in-string'.
3781 2015-08-18  Pierre Téchoueyres  <pierre.techoueyres@free.fr>  (tiny change)
3783         * lisp/net/tramp-cmds.el (tramp-reporter-dump-variable):
3784         Encode/decode string.
3786 2015-08-18  Paul Eggert  <eggert@cs.ucla.edu>
3788         Clarify what happens to match data on failure
3789         Problem reported by Ernesto Alfonso (Bug#21279).
3790         * doc/lispref/searching.texi (Regexp Search, Simple Match Data):
3791         Document more carefully what happens to match data after a failed
3792         search.
3793         * src/search.c (Fmatch_beginning, Fmatch_end): Document that
3794         the return value is undefined if the last search failed.
3795         (Fmatch_data): Simplify doc string line 1.
3797 2015-08-18  Daiki Ueno  <ueno@gnu.org>
3799         Revert "pinentry.el: Support external passphrase cache"
3800         This reverts commit e086e55a664ec27fbca7b3231c4b32cb78a89337.
3801         pinentry.el shouldn't directly interact with the secrets service,
3802         but ask the caller to cache the passphrase.
3804 2015-08-17  Xue Fuqiao  <xfq.free@gmail.com>
3806         * doc/emacs/sending.texi (Mail Misc): Fix two index entries for
3807         Message mode hooks.
3809 2015-08-17  Daiki Ueno  <ueno@gnu.org>
3811         epg.el: Make gpgconf output parsing future proof
3812         * lisp/epg.el (epg--start): Count the number of fields in "gpgconf
3813         --list-options" output.
3815         pinentry.el: Support external passphrase cache
3816         * lisp/net/pinentry.el (pinentry-use-secrets): New user option.
3817         (pinentry--allow-external-password-cache): New local variable.
3818         (pinentry--key-info): New local variable.
3819         (secrets-enabled, secrets-search-items, secrets-get-secret):
3820         Declare.
3821         (pinentry--send-passphrase): New function, split from
3822         `pinentry--process-filter'.
3823         (pinentry--process-filter): Use secrets.el to retrieve passphrase
3824         from login keyring.
3826         pinentry.el: Popup window for multiline prompt
3827         * lisp/net/pinentry.el (pinentry): New custom group.
3828         (pinentry-popup-prompt-window): New user option.
3829         (pinentry-prompt-window-height): New user option.
3830         (pinentry--prompt-buffer): New variable.
3831         (pinentry-prompt-mode-map): New variable.
3832         (pinentry-prompt-mode): New function.
3833         (pinentry--prompt): New function.
3834         (pinentry--process-filter): Use `pinentry--prompt' instead of
3835         `read-passwd' and `y-or-n-p'.
3837 2015-08-17  Katsumi Yamaoka  <yamaoka@jpl.org>
3839         message.el: Silent the byte compiler
3840         * lisp/gnus/message.el (message-overlay-put, message-make-overlay)
3841         (message-kill-all-overlays, message-overlays-in, message-overlay-get)
3842         (message-delete-overlay, message-window-inside-pixel-edges):
3843         Declare before using.
3845         * lisp/gnus/message.el (message-overlay-get, message-overlays-in)
3846         (message-window-inside-pixel-edges): XEmacs compatible functions.
3848 2015-08-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
3850         * message.el (message-toggle-image-thumbnails): New command.
3852 2015-08-17  Noah Friedman  <friedman@splode.com>
3854         (blink-matching-open): Restore point before calling minibuffer-message.
3856 2015-08-17  Ronnie Schnell  <ronnie@driver-aces.com>
3858         * lisp/play/dunnet.el: Update version number in header (now
3859         matches help).
3861 2015-08-17  Paul Eggert  <eggert@cs.ucla.edu>
3863         Curved quotes in --batch diagnostics in non-UTF-8
3864         When run with --batch, check that curved quotes are compatible with
3865         the system locale before outputting them in diagnostics.
3866         Problem reported by Eli Zaretskii in:
3867         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00594.html
3868         * lisp/startup.el (command-line): Set internal--text-quoting-flag
3869         after the standard display table is initialized.
3870         * src/doc.c (default_to_grave_quoting_style): New function.
3871         (text_quoting_style): Use it.
3872         (text_quoting_flag): New static var, visible to Lisp as
3873         internal--text-quoting-flag.
3874         * src/emacs.c: Include <wchar.h> if available.
3875         (using_utf8): New function.
3876         (main): Use it to initialize text_quoting_flag.
3877         * src/regex.h (btowc) [WIDE_CHAR_SUPPORT && emacs]:
3878         Don't define, as it's not needed and it clashes with wchar.h.
3880 2015-08-17  Glenn Morris  <rgm@gnu.org>
3882         * doc/misc/tramp.texi (Configuration): Reword to avoid warning
3883         from makeinfo about spurious "Note:" cross-reference, and for grammar.
3885 2015-08-17  Ilya Zakharevich  <ilya@math.berkeley.edu>
3887         Minor change in variable initialization on MS-Windows
3888         * src/w32fns.c <after_dead_key>: Initialize to -1.
3889         (deliver_wm_chars): If after_deadkey is zero, don't set after_dead
3890         non-zero.
3892         Fix a bug with LWindow key remapping on MS-Windows
3893         * src/w32fns.c (deliver_wm_chars): Fix a typo.  (Bug#21276)
3895 2015-08-17  Eli Zaretskii  <eliz@gnu.org>
3897         Improve fontset support for latest OTF script tags
3898         * lisp/international/fontset.el (otf-script-alist): Add some
3899         missing script tags.
3900         (setup-default-fontset): Include settings for v2 versions of the
3901         script tags used by some modern OTF/TTF fonts.
3903 2015-08-17  Paul Eggert  <eggert@cs.ucla.edu>
3905         Spelling fixes
3907 2015-08-16  Paul Eggert  <eggert@cs.ucla.edu>
3909         Use curved quotes in core elisp diagnostics
3910         In the core elisp files, use curved quotes in diagnostic formats,
3911         so that they follow user preference as per ‘text-quoting-style’
3912         rather than being hard-coded to quote `like this'.
3913         * lisp/abbrev.el (expand-region-abbrevs):
3914         * lisp/button.el (button-category-symbol, button-put)
3915         (make-text-button):
3916         * lisp/cus-start.el:
3917         * lisp/custom.el (custom-add-dependencies, custom-check-theme)
3918         (custom--sort-vars-1, load-theme):
3919         * lisp/emacs-lisp/byte-run.el (defun, defsubst):
3920         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric)
3921         (cl-generic-generalizers):
3922         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
3923         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
3924         * lisp/emacs-lisp/nadvice.el (advice--make-docstring)
3925         (advice--make, define-advice):
3926         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-put-tag):
3927         * lisp/emacs-lisp/timer.el (timer-event-handler):
3928         * lisp/env.el (setenv):
3929         * lisp/facemenu.el (facemenu-add-new-face)
3930         (facemenu-add-new-color):
3931         * lisp/faces.el (face-documentation, read-face-name)
3932         (face-read-string, read-face-font, face-spec-set-match-display)
3933         (read-color, x-resolve-font-name):
3934         * lisp/files.el (locate-user-emacs-file, find-alternate-file)
3935         (set-auto-mode, hack-local-variables)
3936         (hack-one-local-variable--obsolete)
3937         (dir-locals-set-directory-class, write-file)
3938         (basic-save-buffer, delete-directory, copy-directory)
3939         (recover-session, recover-session-finish, insert-directory)
3940         (file-modes-char-to-who, file-modes-symbolic-to-number)
3941         (move-file-to-trash):
3942         * lisp/font-lock.el (font-lock-fontify-buffer):
3943         * lisp/format.el (format-write-file, format-find-file)
3944         (format-insert-file):
3945         * lisp/frame.el (get-device-terminal, select-frame-by-name):
3946         * lisp/fringe.el (fringe--check-style):
3947         * lisp/help.el (describe-minor-mode-from-indicator):
3948         * lisp/image.el (image-type):
3949         * lisp/international/fontset.el (x-must-resolve-font-name):
3950         * lisp/international/mule-cmds.el (prefer-coding-system)
3951         (select-safe-coding-system-interactively)
3952         (select-safe-coding-system, activate-input-method)
3953         (toggle-input-method, describe-current-input-method):
3954         * lisp/international/mule-conf.el (code-offset):
3955         * lisp/mouse.el (minor-mode-menu-from-indicator):
3956         * lisp/replace.el (query-replace-read-from)
3957         (occur-after-change-function, occur-1):
3958         * lisp/scroll-bar.el (scroll-bar-columns):
3959         * lisp/simple.el (execute-extended-command)
3960         (undo-outer-limit-truncate, compose-mail, set-variable)
3961         (choose-completion-string, define-alternatives):
3962         * lisp/startup.el (site-run-file, tty-handle-args, )
3963         (command-line, command-line-1):
3964         * lisp/subr.el (noreturn, define-error, add-to-list)
3965         (read-char-choice):
3966         * lisp/term/common-win.el (x-handle-xrm-switch)
3967         (x-handle-name-switch, x-handle-args):
3968         * lisp/term/x-win.el (x-handle-parent-id, x-handle-smid):
3969         Use curved quotes in diagnostics.
3970         * lisp/international/mule.el (find-auto-coding):
3971         Use " to quote in a diagnostic, to be consistent with the rest of
3972         this file.
3974         Convert lisp/term/x-win.el to UTF-8
3975         * lisp/term/x-win.el: Convert to UTF-8.  This doesn't affect
3976         runtime behavior, and the file is multilingual so compile-time
3977         appearance shouldn't be an issue.
3978         * admin/notes/unicode: Document this.
3980 2015-08-16  Wilson Snyder  <wsnyder@wsnyder.org>
3982         Update verilog-mode.el to 2015-05-14-6232468-vpo-GNU.
3983         * lisp/progmodes/verilog-mode.el: Fix some non-automated indent
3984         issues and comments, bug#943.
3985         (verilog-type-font-keywords): Cycle delay operators like ##1 and
3986         ##[0:$] are now highlighted in their entirety similarly to the #
3987         delay-control operator.  Likewise, the followed-by operators #-#
3988         and #=# are no longer partially highlighed.
3989         (verilog-backward-syntactic-ws-quick)
3990         (verilog-skip-backward-comments): Minor performance improvements
3991         to buffer traversal functions for reduced latency.
3992         (verilog-calc-1, verilog-in-deferred-immediate-final-p): When the
3993         keyword 'final' follows 'assert/assume/cover', then it is part of
3994         a deferred immediate assertion item and should not be treated as a
3995         final construct for indentation.  Reported by Yuri Sugihara.
3996         (verilog-do-indent): Virtual task/function/class definition lines
3997         should not be considered as declarations.  Reported by Enzo Chi.
3998         (verilog-do-indent): Do not falsely indent to '=' of
3999         property/sequence operators on subsequent lines of a multi-line
4000         statement.
4001         (verilog-assignment-operator-re): Fix '!==' operator and add
4002         support for '<->', ':/', '#-#', and '#=#' operators.
4003         (verilog-calculate-indent, verilog-label-be): Enable
4004         case-sensitive regular expression parsing when looking for
4005         keywords.
4006         (verilog-calc-1): Detect 'pure virtual method' declarations which
4007         exist in abstract classes.  Reported by Enzo Chi and Kaushal Modi.
4008         (verilog-backward-ws&directives): When moving back to the start of
4009         a line and the preceeding line ended with an escaped-newline, then
4010         jump up one line.  This properly consumes a multi-line
4011         pre-processor directive.  Reported by Kaushal Modi.
4012         (verilog-dpi-import-export-re, verilog-extended-complete-re)
4013         (verilog-calc-1): Teach verilog-mode to properly indent after a
4014         DPI import/export statement that resides outside of a module.
4015         Reported by Kaushal Modi.
4016         (verilog-extended-complete-re): Update regexp to match both
4017         "DPI-C" and "DPI".  Reported by Kaushal Modi.
4019 2015-08-15  Paul Eggert  <eggert@cs.ucla.edu>
4021         substitute-command-keys a few more doc strings
4022         * lisp/allout.el (outlineify-sticky):
4023         * lisp/files.el (hack-one-local-variable--obsolete):
4024         * lisp/help-fns.el (help-fns--obsolete, describe-variable):
4025         Use substitute-command-keys on some doc strings so that
4026         they don't use hard-coded key bindings or quoting styles.
4028         Fix quoting in Fformat calls
4029         * src/image.c (xbm_read_bitmap_data, xbm_load_image, xbm_load)
4030         (xpm_load, xpm_load_image, pbm_load, png_load_body)
4031         (jpeg_load_body, tiff_load, gif_load, imagemagick_load_image)
4032         (imagemagick_load, svg_load, svg_load_image, gs_load)
4033         (x_kill_gs_process):
4034         * src/lread.c (load_warn_old_style_backquotes):
4035         * src/xfaces.c (load_pixmap):
4036         * src/xselect.c (x_clipboard_manager_error_1):
4037         Quote diagnostics according to user preference when calling
4038         Fformat or its derivatives.
4040 2015-08-15  Glenn Morris  <rgm@gnu.org>
4042         * admin/admin.el (set-version, set-copyright): Remove deleted files.
4044 2015-08-15  Stephen Leake  <stephen_leake@stephe-leake.org>
4046         Allow describe-function helpers to access buffer-local values.
4047         This will be used by cedet/mode-local.el `describe-mode-local-override'
4048         on `help-fns-describe-function-functions' in upstream CEDET.
4049         * lisp/help-fns.el (describe-function-orig-buffer): New, let-bound in
4050         `describe-function'.
4051         (describe-function): Bind it, save it on the help xref stack.
4053         Handle pulse-background being nil
4054         * lisp/cedet/pulse.el (pulse-lighten-highlight): Inherit
4055         pulse-background, handle it being nil.
4057 2015-08-15  Paul Eggert  <eggert@cs.ucla.edu>
4059         Fix "\`" confusion in Lisp strings
4060         * admin/authors.el (authors-canonical-author-name):
4061         Fix typo by using "\\`" not "\`" in string RE.
4062         * lisp/obsolete/complete.el (PC-complete-as-file-name):
4063         * lisp/obsolete/vi.el (vi-backward-blank-delimited-word):
4064         * lisp/progmodes/verilog-mode.el (verilog-mode-map):
4065         Use plain "`", not the equivalent-but-confusing "\`", in strings.
4066         * lisp/textmodes/texinfmt.el: Fix comment likewise.
4068 2015-08-15  Dani Moncayo  <dmoncayo@gmail.com>
4070         Remove 'nt/zipdist.bat' (no longer used)
4071         * nt/zipdist.bat: Remove -- no longer used.
4073 2015-08-15  Jürgen Hötzel  <juergen@archlinux.org>
4075         * lisp/net/tramp-sh.el (tramp-remote-selinux-p): Use "selinuxenabled"
4076         rather than "getenforce".
4077         (tramp-sh-handle-set-file-selinux-context): Do not
4078         cache SELinux context if not all context components are given.
4080 2015-08-15  Eli Zaretskii  <eliz@gnu.org>
4082         Add doc strings to 2 help-mode.el functions
4083         * lisp/help-mode.el (help-mode-setup, help-mode-finish): Add doc
4084         strings.  (Bug#21263)
4086         Remove files used by the old MS-Windows specific build procedure
4087         * admin/unidata/makefile.w32-in:
4088         * doc/emacs/makefile.w32-in:
4089         * doc/lispintro/makefile.w32-in:
4090         * doc/lispref/makefile.w32-in:
4091         * doc/misc/makefile.w32-in:
4092         * leim/makefile.w32-in:
4093         * lib-src/makefile.w32-in:
4094         * lib/makefile.w32-in:
4095         * lisp/makefile.w32-in:
4096         * nt/INSTALL.OLD:
4097         * nt/config.nt:
4098         * nt/emacs-src.tags:
4099         * nt/envadd.bat:
4100         * nt/gmake.defs:
4101         * nt/makefile.w32-in:
4102         * nt/multi-install-info.bat:
4103         * nt/nmake.defs:
4104         * nt/paths.h:
4105         * src/makefile.w32-in: Files deleted.
4106         * nt/configure.bat: Remove everything except the blurb about the
4107         new build procedure.
4108         * make-dist: Remove references to makefile.w32-in in various
4109         directories, and to files in nt/ that were deleted.
4110         * etc/NEWS: Mention the fact that the files were dropped.
4112 2015-08-15  Paul Eggert  <eggert@cs.ucla.edu>
4114         * doc/emacs/mule.texi (Charsets): Give fuller title for ISO-IR.
4115         (Bug#21248)
4117 2015-08-14  Paul Eggert  <eggert@cs.ucla.edu>
4119         Default to inotify instead of gfile
4120         * configure.ac (with_file_notification): Fix typo that
4121         prevented suppression of file notification if HAVE_NS.
4122         (NOTIFY_OBJ): Prefer inotify to gfile if both exist and
4123         with_file_notification is 'yes' (Bug#21241).
4124         * etc/NEWS: Mention this.
4126         Fix broken URLs for ISO-IR
4127         * doc/emacs/mule.texi (Charsets):
4128         * lisp/international/mule-conf.el:
4129         Fix broken URL (Bug#21248).
4131         Low-level diagnostics now use ‘text-quoting-style’
4132         * src/doprnt.c (doprnt):
4133         Format ` and ' as per ‘text-quoting-style’.
4134         * src/xdisp.c (vmessage, message): Mention that the format should
4135         not contain ` or '.
4137         Prefer ‘format’ to ‘substitute-command-keys’
4138         * src/character.h (uLSQM, uRSQM): Move here ...
4139         * src/doc.c (uLSQM, uRSQM): ... from here.
4140         * src/doc.c (Fsubstitute_command_keys):
4141         * src/syntax.c (Finternal_describe_syntax_value):
4142         * lisp/cedet/mode-local.el (mode-local-print-binding)
4143         (mode-local-describe-bindings-2):
4144         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
4145         * lisp/cus-theme.el (describe-theme-1):
4146         * lisp/descr-text.el (describe-text-properties-1, describe-char):
4147         * lisp/emacs-lisp/cl-extra.el (cl--describe-class):
4148         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
4149         * lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor):
4150         * lisp/emacs-lisp/package.el (describe-package-1):
4151         * lisp/faces.el (describe-face):
4152         * lisp/help-fns.el (help-fns--key-bindings)
4153         (help-fns--compiler-macro, help-fns--parent-mode)
4154         (help-fns--obsolete, help-fns--interactive-only)
4155         (describe-function-1, describe-variable):
4156         * lisp/help.el (describe-mode):
4157         Prefer ‘format’ to ‘substitute-command-keys’ when either will do
4158         to implement quoting style.  This generally makes the code simpler.
4160         Extend ‘format’ to translate curved quotes
4161         This is a followup to the recent doc string change, and deals with
4162         diagnostics and the like.  This patch is more conservative than
4163         the doc string change, in that the behavior of ‘format’ changes
4164         only if its first arg contains curved quotes and the user prefers
4165         straight or grave quotes.  (Come to think of it, perhaps we should
4166         be similarly conservative with doc strings too, but that can wait.)
4167         The upside of this conservatism is that existing usage is almost
4168         surely unaffected.  The downside is that we'll eventually have to
4169         change Emacs's format strings to use curved quotes in places where
4170         the user might want curved quotes, but that's a simple and
4171         mechanical translation that I'm willing to do later.  (Bug#21222)
4172         * doc/lispref/help.texi (Keys in Documentation):
4173         Move description of text-quoting-style from here ...
4174         * doc/lispref/strings.texi (Formatting Strings):
4175         ... to here, and describe new behavior of ‘format’.
4176         * etc/NEWS: Describe new behavior.
4177         * lisp/calc/calc-help.el (calc-describe-thing):
4178         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
4179         * lisp/info.el (Info-find-index-name):
4180         Use ‘concat’ rather than ‘format’ to avoid misinterpretation
4181         of recently-added curved quotes.
4182         * src/doc.c (uLSQM0, uLSQM1, uLSQM2, uRSQM0, uRSQM1, uRSQM2):
4183         Move from here ...
4184         * src/lisp.h: ... to here.
4185         * src/doc.c (text_quoting_style): New function.
4186         (Fsubstitute_command_keys): Use it.
4187         * src/editfns.c (Fformat): Implement new behavior.
4188         * src/lisp.h (enum text_quoting_style): New enum.
4190 2015-08-14  Stefan Monnier  <monnier@iro.umontreal.ca>
4192         * src/keyboard.c: Use false/true instead of 0/1 for booleans.
4193         * src/keyboard.h (struct kboard): Mark kbd_queue_has_data as boolean.
4195 2015-08-14  Michael Albinus  <michael.albinus@gmx.de>
4197         * lisp/net/tramp-sh.el (tramp-sh-handle-file-acl): Do not redirect
4198         stderr to /dev/null, this is done in `tramp-send-command-and-check'.
4200 2015-08-14  Jürgen Hötzel  <juergen@archlinux.org>
4202         Flush file properties in Tramp
4203         * lisp/net/tramp-sh.el (tramp-sh-handle-set-file-modes)
4204         (tramp-sh-handle-set-file-times):
4205         * lisp/net/tramp-adb.el (tramp-adb-handle-set-file-modes)
4206         (tramp-adb-handle-set-file-times): Flush the file properties of
4207         the directory.
4209 2015-08-14  Ronnie Schnell  <ronnie@driver-aces.com>
4211         * doc/emacs/misc.text (Amusements): Fixed typo.
4213 2015-08-14  Eli Zaretskii  <eliz@gnu.org>
4215         Don't miss warnings about removing string text properties while dumping
4216         * src/alloc.c (purecopy): Warn about removing a string's text
4217         properties even when the same string was already pure-copied
4218         earlier.
4219         * lisp/progmodes/elisp-mode.el (elisp--xref-format)
4220         (elisp--xref-format-extra): Fix the commentary.
4222 2015-08-13  Stefan Monnier  <monnier@iro.umontreal.ca>
4224         * lisp/progmodes/sh-script.el (sh-mode): Handle .cshrc (bug#21049)
4226 2015-08-13  Magnus Henoch  <magnus.henoch@gmail.com>
4228         * lisp/progmodes/compile.el: Assume 8-wide TABs (bug#21038)
4229         * lisp/progmodes/compile.el: Use lexical-binding.
4230         (compilation-move-to-column): Assume 8-wide TABs (bug#21038).
4232 2015-08-13  Stefan Monnier  <monnier@iro.umontreal.ca>
4234         (uniquify-ask-about-buffer-names-p): Remove, unused (bug#21037)
4235         * lisp/uniquify.el: Remove redundant `:group's.
4237 2015-08-13  Jürgen Hötzel  <juergen@archlinux.org>
4239         * lisp/net/tramp-adb.el
4240         (tramp-adb-handle-directory-files-and-attributes): Make a copy of
4241         result to prevent modification of the tramp-cache by side effects.
4242         Use the correct cache key.
4244 2015-08-13  Paul Eggert  <eggert@cs.ucla.edu>
4246         Make add_to_log varargs
4247         * src/alloc.c (run_finalizer_handler):
4248         * src/charset.c (load_charset_map_from_vector):
4249         * src/nsimage.m (ns_load_image):
4250         * src/xfaces.c (load_pixmap, load_color2):
4251         Simplify, now that add_to_log has a variable number of args.
4252         * src/image.c (image_error): Take a variable number of args.
4253         Callers simplified.
4254         * src/lisp.h (add_to_log, vadd_to_log): Adjust to new APIs.
4255         * src/xdisp.c (format_nargs, vadd_to_log): New functions.
4256         (add_to_log): Make varargs, and reimplement in terms of vadd_to_log.
4257         * src/xfaces.c (merge_face_ref): Fix typo that omitted color name.
4259         Optional args for holiday-greek-orthodox-easter
4260         * etc/NEWS: Document this.
4261         * lisp/calendar/holidays.el (holiday-greek-orthodox-easter):
4262         Add optional args N and STRING, mimicking the API and code of
4263         ‘holiday-easter-etc’.  From suggestion by Foivos S. Zakkak (Bug#21256).
4265 2015-08-13  Stephen Leake  <stephen_leake@stephe-leake.org>
4267         xref-find-definitions: Exclude more generic function items.
4268         * lisp/emacs-lisp/cl-generic.el (cl--generic-search-method): Add doc string.
4269         (cl--generic-find-defgeneric-regexp): New.
4270         (find-function-regexp-alist): Add it.
4271         * lisp/emacs-lisp/find-func.el (find-feature-regexp): Move here from
4272         elisp-mode.el, change to search for ";;; Code:"
4273         (find-alias-regexp): Move here from elisp-mode.el, cleaned up.
4274         (find-function-regexp-alist): Add them.
4275         * lisp/progmodes/elisp-mode.el:
4276         (elisp--xref-format, elisp--xref-format-extra): Change back to defvar due
4277         to bug#21237.
4278         (elisp--xref-find-definitions): Exclude co-located default methods for
4279         generic functions. Also exclude implicitly declared defgeneric.
4280         (elisp--xref-find-definitions): Handle C source properly. Exclude minor
4281         mode variables defined by 'define-minor-mode'.
4282         * test/automated/elisp-mode-tests.el: Declare generic functions, add
4283         tests for them.
4284         (xref-elisp-test-run): Fix bug.
4285         (emacs-test-dir): Improve initial value.
4286         (find-defs-defun-defvar-el): Don't expect defvar.
4287         (find-defs-feature-el): Match change to find-feature-regexp.
4289 2015-08-13  Eli Zaretskii  <eliz@gnu.org>
4291         Improve warning about purecopy of strings with properties
4292         * src/alloc.c (purecopy): Show the offending string with the
4293         warning about removing its text properties.
4295 2015-08-12  Alan Mackenzie  <acm@muc.de>
4297         Introduce new macros to cover Emacs's new names in cl-lib.el.
4298         This also eliminates `mapcan' warnings in XEmacs.
4299         progmodes/cc-defs.el (c--mapcan-status): new variable to characterise
4300         [X]Emacs versions.
4301         (top-level): Require either 'cl or 'cl-lib, depending on
4302         c--mapcan-status.
4303         Change this back to cc-external-require from an eval-when-compile
4304         require.
4305         (c--mapcan, c--set-difference, c--intersection, c--macroexpand-all)
4306         (c--delete-duplicates): New macros which expand into either old or new
4307         names.
4308         (c-make-keywords-re, c-lang-defconst, c-lang-const) Use the new macros
4309         rather than the old names.
4310         progmodes/cc-engine.el (c-declare-lang-variables): Use c--mapcan rather
4311         than mapcan.
4312         progmodes/cc-fonts.el (c-compose-keywords-list): Use c--mapcan.
4313         progmodes/cc-langs.el (top-level): Require either 'cl or 'cl-lib,
4314         depending on c--mapcan-status.
4315         (c-filter-ops, c-all-op-syntax-tokens, c-assignment-op-regexp)
4316         (c-type-start-kwds, c-prefix-spec-kwds, c-specifier-key)
4317         (c-not-decl-init-keywords, c-not-primitive-type-keywords)
4318         (c-paren-any-kwds, c-<>-sexp-kwds, c-block-stmt-kwds, c-expr-kwds)
4319         (c-decl-block-key, c-keywords, c-keywords-obarray)
4320         (c-regular-keywords-regexp, c-primary-expr-regexp)
4321         (c-primary-expr-regexp, c-block-prefix-disallowed-chars)
4322         (c-known-type-key, c-nonlabel-token-key)
4323         (c-make-init-lang-vars-fun): Use the new macros rather than the old
4324         names.
4326 2015-08-12  Oleh Krehel  <ohwoeowho@gmail.com>
4328         loadhist.el (read-feature): Conform to completing-read
4329         * lisp/loadhist.el (read-feature): According to `completing-read'
4330         documentation, if collection is a list, then it must be a list of
4331         strings, not a list of symbols like before.
4333 2015-08-12  David Kastrup  <dak@gnu.org>
4335         Deal gracefully with up-events (Bug#19746)
4336         * keyboard.c (apply_modifiers_uncached, parse_solitary_modifier)
4337         (parse_modifiers_uncached): React gracefully to "up-" modifiers:
4338         those may easily be injected by user-level Lisp code.
4339         (read_key_sequence): Discard unbound up-events like unbound
4340         down-events: they are even more likely only relevant for special
4341         purposes.
4342         While Emacs will not produce up-events on its own currently (those are
4343         converted to drag or click events before being converted to
4344         Lisp-readable structures), the input queue can be made to contain them
4345         by synthesizing events to `unread-command-events'.  Emacs should deal
4346         consistently with such events.
4348 2015-08-12  Eli Zaretskii  <eliz@gnu.org>
4350         Fix display of thin lines whose newline has line-height property of t
4351         * src/xdisp.c (append_space_for_newline): Don't try to fix ascent
4352         and descent values of non-empty glyph rows, since they could have
4353         forced low values deliberately.  (Bug#21243)
4355 2015-08-12  Richard Stallman  <rms@gnu.org>
4357         Offer to combine multiple To or CC fields.
4358         * sendmail.el (mail-combine-fields): New function.
4359         (mail-send): Call 'mail-combine-fields'.
4361         Don't decrypt encrypted files.
4362         * mail-utils.el (mail-file-babyl-p): Bind epa-inhibit to t.
4364         Handle encrypted mbox files.
4365         * rmailout.el (rmail-output-as-mbox): Decrypt and reencrypt the mbox
4366         file if necessary.
4368         Re-enable mime processing after decryption.  Add 'decrypt' keyword.
4369         * rmail.el (rmail-epa-decrypt-1): New subroutine.
4370         (rmail-epa-decrypt): rmail-epa-decrypt-1 broken out.
4371         In a mime message, reenable Mime and show the parts that
4372         were shown before.
4373         Add keyword "decrypt" if anything decrypted.
4375         epa-inhibit inhibits auto-recognition of .gpg files
4376         * lisp/epa-file.el (epa-inhibit): New variable.
4377         (epa-file-handler): Check epa-inhibit.
4379 2015-08-12  Artur Malabarba  <bruce.connor.am@gmail.com>
4381         * emacs-lisp/lisp-mnt.el (lm-header): Add save-excursion.
4383 2015-08-11  Fabián Ezequiel Gallina  <fgallina@gnu.org>
4385         Respect python.el imenu when semantic-mode is off
4386         Fixes debbugs:21220
4387         * lisp/cedet/semantic/wisent/python.el: Do not force
4388         wisent-python-default-setup on python-mode-hook.
4390 2015-08-11  Paul Eggert  <eggert@cs.ucla.edu>
4392         Give names to Unicode code points in C code
4393         * src/character.h (NO_BREAK_SPACE, SOFT_HYPHEN)
4394         (ZERO_WIDTH_NON_JOINER, ZERO_WIDTH_JOINER, HYPHEN)
4395         (NON_BREAKING_HYPHEN, LEFT_SINGLE_QUOTATION_MARK)
4396         (RIGHT_SINGLE_QUOTATION_MARK, PARAGRAPH_SEPARATOR)
4397         (LEFT_POINTING_ANGLE_BRACKET, RIGHT_POINTING_ANGLE_BRACKET)
4398         (LEFT_ANGLE_BRACKET, RIGHT_ANGLE_BRACKET)
4399         (OBJECT_REPLACEMENT_CHARACTER):
4400         New named constants for Unicode code points.
4401         * src/bidi.c (bidi_fetch_char, CANONICAL_EQU):
4402         * src/composite.c (char_composable_p):
4403         * src/lread.c (readevalloop, read1):
4404         * src/xdisp.c (get_next_display_element):
4405         Use them.
4406         * src/doc.c (LEFT_SINGLE_QUOTATION_POINT):
4407         Remove; now in character.h.
4409 2015-08-11  Stephen Leake  <stephen_leake@stephe-leake.org>
4411         elisp--xref-find-definitions handle cl-defstuct default constructor
4412         * lisp/progmodes/elisp-mode.el (elisp-xref-find): Add FIXME.
4413         (elisp--xref-format-extra): Rename from elisp--xref-format-cl-defmethod.
4414         (elisp--xref-find-definitions): Handle cl-defstuct default constructor.
4415         * test/automated/elisp-mode-tests.el (xref-elisp-test-run): Split out
4416         from xref-elisp-test for ease of debugging.
4417         (xref-elisp-deftest): Rename from xref-elisp-test.
4418         (find-defs-constructor): New test.
4419         (find-defs-defgeneric-el): Match batch test config.
4420         (compile): Required for find-defs compilation-minor-mode test.
4421         (find-defs-defvar-el): Match code change.
4422         (find-defs-face-el): Match code change.
4423         * lisp/progmodes/xref.el (xref-find-function, xref-find-definitions):
4424         Improve doc string.
4426 2015-08-11  Stefan Monnier  <monnier@iro.umontreal.ca>
4428         * lisp/replace.el (perform-replace): Document `replacements'.
4429         (perform-replace): Move the description of the format of `replacements'
4430         from the body's comment to the doc string.
4432 2015-08-11  Jürgen Hötzel  <juergen@archlinux.org>
4434         * lisp/net/tramp-adb.el (tramp-adb-prompt): Match leading escape
4435         sequence.  Recent adb version send initial escape sequences, even
4436         when terminal type is set to TERM=dumb.
4438 2015-08-10  Stephen Leake  <stephen_leake@stephe-leake.org>
4440         Rewrite elisp--xref-find-definitions to handle many more cases; add tests.
4441         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
4442         Function deleted.
4443         (elisp--xref-format-cl-defmethod): New defconst.
4444         (find-feature-regexp, find-alias-regexp): New defcustoms.
4445         (elisp--xref-make-xref): New function.
4446         (elisp--xref-find-definitions): Rewrite using the above, handle many
4447         more cases.  Always output all available definitions.
4448         (xref-location-marker): No need for special cases.
4449         * test/automated/elisp-mode-tests.el: Add more tests of
4450         elisp--xref-find-definitions, improve current tests.
4452 2015-08-10  Eli Zaretskii  <eliz@gnu.org>
4454         Fix recording of events pushed onto unread-command-events
4455         * src/keyboard.c (read_char): Make sure events read from
4456         unread-command-events and unread-post-input-method-events are
4457         always recorded by record_char.  Reported by David Kastrup
4458         <dak@gnu.org>, see
4459         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00193.html.
4461 2015-08-10  Samer Masterson  <samer@samertm.com>
4463         Set file buffer as current for "--file"
4464         * lisp/startup.el (command-line-1): Set file buffer as current before
4465         it is displayed so it can be used with options like "--eval".
4466         (Bug#21095)
4468 2015-08-10  Eli Zaretskii  <eliz@gnu.org>
4470         Avoid setting LC_NUMERIC on MS-Windows to anything but "C"
4471         * src/emacs.c (synchronize_locale) [WINDOWSNT]: Call fixup_locale
4472         after setting LC_ALL to the desired locale, to avoid affecting how
4473         numbers are read and printed.  (Bug#21223)
4475 2015-08-10  Alan Mackenzie  <acm@muc.de>
4477         Fix "Invalid search bound (wrong side of point)" in fontification
4478         * lisp/progmodes/cc-fonts.el (c-font-lock-declarators): After skipping
4479         an initialization expression, check point is not beyond the
4480         fontification limit.
4482 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
4484         Fix DPI calculation when Xft/DPI is default
4485         * src/xsettings.c (parse_settings): Don't use Xft/DPI default
4486         value of -1, which evaluates to 2**32 - 1 (Bug#21152).
4487         Remove unnecessary cast while we're in the neighborhood.
4489 2015-08-09  Dmitry Gutov  <dgutov@yandex.ru>
4491         Add project-vc-search-path and project-vc-ignores
4492         * lisp/progmodes/project.el (project-vc): New group.
4493         (project-vc-search-path, project-vc-ignores): New variables.
4494         (project--value-in-dir): Utility function.
4495         (project-search-path, project-ignores): Use them.
4496         * lisp/progmodes/xref.el (xref--rgrep-command): Only replace `./'
4497         at bos.  Don't add extra `/'.  Don't prepend with `*' if replaced.
4499 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
4501         Fix some minor quoting issues with grave accent
4502         * src/dispnew.c (add_window_display_history) [GLYPH_DEBUG]:
4503         Remove redundant quotes.
4504         * src/doc.c (uLSQM, uRSQM): New macros.
4505         * src/doc.c (Fsubstitute_command_keys):
4506         * src/syntax.c (Finternal_describe_syntax_value): Follow the user
4507         preference for quotes rather than hardcoding the ‘grave’ style.
4508         * src/regex.c (PUSH_FAILURE_POINT, POP_FAILURE_POINT)
4509         (re_match_2_internal) [DEBUG]: In debugging output, quote C
4510         strings with "...", not `...'.
4512         ChangeLog.2 ignores remote-tracking merges
4513         * build-aux/gitlog-to-emacslog: Ignore commit logs matching
4514         "Merge remote-tracking branch '.*'" too.  See Eli Zaretskii in:
4515         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00384.html
4517 2015-08-09  Nicolas Richard  <youngfrog@members.fsf.org>
4519         Use kpsewhich in ffap-latex-mode, if available
4520         * lisp/ffap.el (ffap-latex-guess-rules): New variable.
4521         (ffap-latex-mode): Use kpsewhich if available.
4523         ffap: disallow braces in filenames for tex modes
4524         * lisp/ffap.el (ffap-string-at-point-mode-alist): Don't allow
4525         braces in tex-related modes.
4527         Remove useless backslashes from ffap-string-at-point-mode-alist
4528         * lisp/ffap.el (ffap-string-at-point-mode-alist): Remove useless and
4529         misleading backslashes from default value.
4531         Augment docstring of ffap-string-at-point-mode-alist
4532         * lisp/ffap.el (ffap-string-at-point-mode-alist): Describe how BEG
4533         and END are handled.
4535 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
4537         Remove no-op calls to substitute-command-keys
4538         * lisp/org/org-src.el (org-edit-src-code)
4539         (org-edit-fixed-width-region):
4540         * lisp/simple.el (completion-setup-function):
4541         Remove calls to substitute-command-keys that always just return
4542         their argument.
4544 2015-08-09  Daiki Ueno  <ueno@gnu.org>
4546         Utilize `quit-window' in epa.el
4547         * epa.el (epa-exit-buffer-function): Set to `quit-window'.
4548         (Bug#21210)
4550 2015-08-09  Ivan Kanis  <ivan@kanis.fr>
4552         Fix link to source code in help window
4553         * lisp/help-fns.el (find-lisp-object-file-name): Remove code that
4554         will never work due to Glenn Morris change a6d63d9 on Apr 20 2013
4555         'No longer include timestamp in header of .elc files'.  Add code
4556         that will return .el source file in load-path.
4558 2015-08-09  Artur Malabarba  <bruce.connor.am@gmail.com>
4560         * isearch.el (isearch-search-fun-default): (Bug#21164)
4561         Respect `isearch-lax-whitespace' when searching through
4562         `isearch-word'.
4564 2015-08-08  Stefan Monnier  <monnier@iro.umontreal.ca>
4566         * test/automated/ert-tests.el (ert-test-deftest): Add FIXME.
4568         * org.el: Fix up some lexical scoping warnings, and use dolist
4569         * lisp/org/org.el (org-set-regexps-and-options-for-tags, org-goto-map)
4570         (org-set-regexps-and-options, org-assign-fast-keys)
4571         (org-contextualize-keys, org-contextualize-validate-key)
4572         (org-notes-order-reversed-p, org-local-logging, org-map-entries)
4573         (org-find-olp, org-find-exact-heading-in-directory)
4574         (org-cycle-agenda-files, org-release-buffers, org-fill-template)
4575         (org-agenda-prepare-buffers, org-occur-in-agenda-files)
4576         (org-replace-escapes): Use dolist.
4577         (org-mode): Optimize away XEmacs-only code.
4578         (org-refile-get-targets): Remove unused var `f'.
4579         (org-fast-todo-selection): Remove unused var `e'.
4580         (org-make-tags-matcher): Use dolist.  Remove unused var `term'.
4581         (org-fast-tag-selection): Use dolist.  Remove unused var `e'.
4582         (org-format-latex): Use dolist.  Remove unused var `e'.
4583         (org-toggle-heading): Access vars lexically rather than dynamically.
4584         (org-backward-sentence, org-forward-sentence, org-meta-return)
4585         (org-kill-line): Mark arg as unused.
4586         (org-submit-bug-report): Silence compiler warning.
4587         (org-occur-in-agenda-files): Don't use add-to-list on local vars.
4588         (org-get-cursor-date): Remove unused var `tm'.
4589         (org-comment-or-uncomment-region): Use standard name `_'.
4590         (reftex-docstruct-symbol, reftex-cite-format): Declare to
4591         silence byte-compiler.
4592         (org-reftex-citation): Add `org--' prefix to dynamically scoped
4593         `rds' var.
4595 2015-08-08  Paul Eggert  <eggert@cs.ucla.edu>
4597         Electric quote if coding is undecided or no conv
4598         * lisp/electric.el (electric--insertable-p): Also say that a
4599         string is insertable if the buffer file coding system is undecided
4600         or uses no conversion, as curved quotes will work in either case.
4602         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING): Simplify configuration.
4604 2015-08-08  Eli Zaretskii  <eliz@gnu.org>
4606         Fix overlay string display regressions introduced in Emacs 24.5
4607         * src/xdisp.c (pop_it): Reset the flag to ignore overlays at this
4608         buffer position, if we move the iterator to a new position as
4609         result of jumping over text covered by a "replacing" display
4610         property.
4611         * test/redisplay-testsuite.el (test-redisplay-4): Add 2 new tests.
4613         Support recovery from C stack overflow on MS-Windows
4614         * src/w32fns.c (w32_reset_stack_overflow_guard)
4615         (stack_overflow_handler): New functions for handling C stack
4616         overflow exceptions.
4617         (my_exception_handler): Handle EXCEPTION_STACK_OVERFLOW exceptions
4618         specially, and zero out except_addr if we do.
4619         (globals_of_w32fns): Initialize dwMainThreadId in non-interactive
4620         mode.
4621         * src/sysdep.c [HAVE_STACK_OVERFLOW_HANDLING]: Add !WINDOWSNT to
4622         the condition, as HAVE_STACK_OVERFLOW_HANDLING is now defined for
4623         the MinGW build, but the code guarded by that is for Posix hosts.
4624         * src/keyboard.c (command_loop) [WINDOWSNT]: Call
4625         w32_reset_stack_overflow_guard.
4626         * nt/inc/ms-w32.h (sigjmp_buf): New typedef.
4627         (sigsetjmp): New macro.
4628         (w32_reset_stack_overflow_guard): Declare the prototype.
4629         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING): Set to 1 for MinGW.
4631 2015-08-07  Phillip Lord  <phillip.lord@newcastle.ac.uk>
4633         Improve error signalling for seq-subseq
4634         * lisp/seq.el (seq-subseq): The existing behaviour is to error
4635         when indexes are too large, but to silently ignore numbers which
4636         are too negative for lists.  String and vector handling errors in
4637         both cases.  This has been regularized.  Error signaling behavior
4638         has been explicitly added to the doc string.
4640         * lisp/cl-extra.el (cl-subseq): Defers to (seq-subseq) and is
4641         therefore also impacted by this change.  Update the doc string
4642         to reflect this.
4644         * test/automated/seq-tests.el (test-seq-subseq): Tests have been
4645         added for these exceptional cases, as well as one non exceptional
4646         base case.
4648 2015-08-07  Jürgen Hötzel  <juergen@archlinux.org>
4650         Improve error checking in tramp-adb.el
4651         * lisp/net/tramp-adb.el (tramp-adb-ls-output-name-less-p):
4652         Improve error checking.  "ls -l" on Android in Enforcing mode can
4653         print "lstat './FILENAME failed: Permission denied".
4655 2015-08-07  Stefan Monnier  <monnier@iro.umontreal.ca>
4657         * lisp/emacs-lisp/cl-generic.el (cl--generic-struct-tag): Don't burp on
4658         non-struct vectors.
4660 2015-08-07  Stephen Leake  <stephen_leake@stephe-leake.org>
4662         Fix typo in lisp/window.el, more `display-buffer-use-some-frame'
4663         * lisp/window.el: Fix typo that broke build.
4664         (display-buffer--action-function-custom-type): Add
4665         `display-buffer-use-some-frame'.
4666         (display-buffer): Add `display-buffer-use-some-frame' to doc string.
4668         Add support for 'inhibit-same-window in 'display-buffer-use-some-frame'
4669         * lisp/window.el (display-buffer-use-some-frame): Add support for
4670         'inhibit-same-window in alist.
4671         * doc/windows.texi (display-buffer-use-some-frame): Doc support for
4672         'inhibit-same-window in alist.
4674 2015-08-07  Eli Zaretskii  <eliz@gnu.org>
4676         Avoid infinite loop in display of invisible text in strings
4677         * src/xdisp.c (handle_invisible_prop): If the next change of
4678         invisibility spec does not mean the beginning of a visible text,
4679         update the string position from which to start the search for the
4680         next invisibility change.  This avoids an infinite loop when we
4681         have more than one invisibility spec that are made inactive by
4682         buffer-invisibility-spec.  Simplify code.  (Bug#21200)
4683         * test/redisplay-testsuite.el (test-redisplay-4): Add a test case
4684         for the situation that caused bug #21200.
4686 2015-08-06  Artur Malabarba  <bruce.connor.am@gmail.com>
4688         * lisp/emacs-lisp/package.el: Simplify describe-package-1
4689         (package-help-section-name-face): New face.
4690         (package--print-help-section): New function.
4691         (describe-package-1): Refactor section printing.
4692         (package-make-button): Use face instead of font-lock-face, which
4693         doesn't work on buttons.
4695         * lisp/emacs-lisp/package.el: Define custom faces
4696         (package-name-face, package-description-face)
4697         (package-status-built-in-face, package-status-external-face)
4698         (package-status-available-face, package-status-new-face)
4699         (package-status-held-face, package-status-disabled-face)
4700         (package-status-installed-face, package-status-dependency-face)
4701         (package-status-unsigned-face, package-status-incompat-face)
4702         (package-status-avail-obso-face): New faces.
4703         (package-menu--print-info-simple): Use them.
4705 2015-08-05  Paul Eggert  <eggert@cs.ucla.edu>
4707         Fix some confusion with ‘format’
4708         * lisp/allout-widgets.el (allout-widgets-before-change-handler)
4709         (allout-graphics-modification-handler):
4710         Protect arbitrary string in a format context with "%s" format.
4711         * lisp/avoid.el:
4712         * lisp/cedet/semantic/bovine/scm.el: Fix comment.
4713         * lisp/calendar/icalendar.el (icalendar--convert-sexp-to-ical):
4714         * lisp/erc/erc-button.el (erc-button-beats-to-time):
4715         * lisp/gnus/message.el (message-send-form-letter):
4716         * lisp/org/ob-core.el (org-babel-check-evaluate)
4717         (org-babel-confirm-evaluate):
4718         * lisp/org/ob-fortran.el (org-babel-fortran-var-to-fortran):
4719         * lisp/org/ox-latex.el (org-latex-compile):
4720         * lisp/org/ox-man.el (org-man-compile):
4721         * lisp/org/ox-odt.el (org-odt-template):
4722         * lisp/org/ox-texinfo.el (org-texinfo-compile):
4723         * lisp/progmodes/prolog.el (prolog-help-info)
4724         (prolog-view-predspec):
4725         * lisp/progmodes/ruby-mode.el (ruby-parse-partial):
4726         * lisp/progmodes/verilog-mode.el (verilog-showscopes):
4727         * lisp/textmodes/rst.el (rst-replace-lines):
4728         Change (message (format ...)) to (message ...), and likewise
4729         for ‘error’.  This lessens the probability of confusion when the
4730         output of ‘format’ contains ‘%’.
4732 2015-08-05  Artur Malabarba  <bruce.connor.am@gmail.com>
4734         * lisp/replace.el (replace-character-fold): Default to nil.
4736         * lisp/character-fold.el: Fix lax whitespace.
4737         (character-fold-table): Don't make space match other whitespace chars.
4738         (character-fold-to-regexp): Simplify lax behavior.
4740 2015-08-05  Dmitry Gutov  <dgutov@yandex.ru>
4742         Preserve window point in xref-find-definitions-other-window
4743         Fix the problem reported by Ingo Logmar in
4744         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00152.html
4745         * lisp/progmodes/xref.el (xref--goto-char): Extract from
4746         xref--goto-location.
4747         (xref--pop-to-location): Use it. Replace xref--goto-location with
4748         a direct xref-location-marker call.
4749         (xref--show-location): Likewise.
4750         (xref--display-position): Use xref--goto-char.
4752         * lisp/progmodes/project.el: Add a paragraph to the front matter.
4754 2015-08-04  David Kastrup  <dak@gnu.org>
4756         Do not overwrite preexisting contents of unread-command-events
4757         * lisp/vc/emerge.el (emerge-show-file-name):
4758         * lisp/progmodes/vhdl-mode.el (vhdl-electric-dash)
4759         (vhdl-comment-insert, vhdl-hooked-abbrev):
4760         * lisp/progmodes/octave.el (inferior-octave-dynamic-list-input-ring):
4761         * lisp/progmodes/fortran.el (fortran-window-create-momentarily):
4762         * lisp/progmodes/ebrowse.el (ebrowse-hack-electric-buffer-menu):
4763         * lisp/progmodes/cperl-mode.el (cperl-putback-char):
4764         * lisp/obsolete/vip.el (vip-escape-to-emacs)
4765         (vip-prefix-arg-value, vip-prefix-arg-com):
4766         * lisp/obsolete/terminal.el (te-escape-extended-command-unread):
4767         * lisp/leim/quail/tibetan.el (quail-tibetan-update-translation)
4768         (quail-tibkey-update-translation):
4769         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
4770         * lisp/leim/quail/lao.el (quail-lao-update-translation):
4771         * lisp/leim/quail/japanese.el (quail-japanese-update-translation)
4772         (quail-japanese-self-insert-and-switch-to-alpha):
4773         * lisp/leim/quail/hangul.el (hangul2-input-method)
4774         (hangul3-input-method, hangul390-input-method):
4775         * lisp/language/hanja-util.el (hangul-to-hanja-char):
4776         * lisp/international/robin.el (robin-input-method):
4777         * lisp/international/quail.el (quail-start-translation)
4778         (quail-start-conversion):
4779         * lisp/gnus/gnus-art.el (gnus-article-describe-key)
4780         (gnus-article-describe-key-briefly):
4781         * lisp/eshell/em-hist.el (eshell-list-history):
4782         * lisp/term.el (term-dynamic-list-input-ring)
4783         (term-dynamic-list-completions):
4784         * lisp/subr.el (momentary-string-display):
4785         * lisp/simple.el (read-quoted-char):
4786         * lisp/pcomplete.el (pcomplete-show-completions):
4787         * lisp/kmacro.el (kmacro-repeat-on-last-key):
4788         * lisp/info.el (Info-summary):
4789         * lisp/ehelp.el (electric-help-command-loop):
4790         * lisp/ebuff-menu.el (electric-buffer-list)
4791         (Electric-buffer-menu-exit):
4792         * lisp/double.el (double-translate-key):
4793         * lisp/comint.el (comint-dynamic-list-input-ring)
4794         (comint-dynamic-list-completions): Do not overwrite preexisting
4795         contents of `unread-command-events' when putting new events into
4796         it.
4798 2015-08-04  Daniel Colascione  <dancol@dancol.org>
4800         Improve ansi-color filtering of unrecognized escape sequences
4801         * lisp/ansi-color.el (ansi-color-drop-regexp): Recognize mode-setting
4802         escape sequences.
4803         (ansi-color-filter-apply, ansi-color-apply): Filter out
4804         unrecognized escape sequences.
4806 2015-08-04  Artur Malabarba  <bruce.connor.am@gmail.com>
4808         * lisp/emacs-lisp/package.el (package-menu-mode-map): Convert menu
4809         definitions to `easy-menu-define', improve a couple to account for
4810         async, and add a couple of new commands.
4812 2015-08-03  Jürgen Hötzel  <juergen@archlinux.org>
4814         * lisp/net/tramp-cache.el (tramp-set-file-property): Fix code typo.
4816 2015-08-03  Ingo Lohmar  <i.lohmar@gmail.com>
4818         Add new 'calendar-weekend-days' option
4819         Make the days receiving the 'calendar-weekend-header' face freely
4820         customizable, as they differ by region/culture.
4821         * doc/emacs/calendar.texi (Move to Beginning or End): Document the
4822         new variable.
4823         * lisp/calendar/calendar.el (calendar-generate-month): New variable
4824         calendar-weekend-days to customize day header fontification.
4826 2015-08-03  Paul Eggert  <eggert@cs.ucla.edu>
4828         Redo text-quoting-style variable
4829         Rename help-quote-translation to text-quoting-style,
4830         and use symbols rather than characters as values.
4831         This follows suggestions along these lines by Alan Mackenzie in:
4832         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00343.html
4833         and by Drew Adams in:
4834         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00048.html
4835         * doc/lispref/help.texi (Keys in Documentation)
4836         * etc/NEWS:
4837         * lisp/cus-start.el (standard):
4838         * src/doc.c (Fsubstitute_command_keys, syms_of_doc):
4839         Document and/or implement the new behavior instead of the old.
4840         (syms_of_doc): New symbols 'grave' and 'straight'.
4842 2015-08-03  Nikolaus Rath  <Nikolaus@rath.org>
4844         nnimap.el: Use IMAP MOVE extension if available
4845         * lisp/gnus/nnimap.el (nnimap-request-move-article)
4846         (nnimap-process-expiry-targets, nnimap-split-incoming-mail):
4847         Use MOVE extension if available.
4849         nnimap.el: Explicitly ask for server capabilities
4850         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Don't assume full
4851         capabilities will be returned in the login-result.
4853 2015-08-02  Paul Eggert  <eggert@cs.ucla.edu>
4855         Treat help strings like other doc strings
4856         * doc/lispref/text.texi (Special Properties), etc/NEWS: Document this.
4857         * lisp/epa.el (epa--select-keys): Remove no-longer-needed calls to
4858         substitute-command-keys.
4859         * src/keyboard.c (show_help_echo, parse_menu_item): Call
4860         substitute-command-keys on the help string before displaying it.
4862         Also mention "curly quotes"
4863         See Drew Adams's email in:
4864         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00040.html
4865         * doc/lispref/help.texi (Keys in Documentation):
4866         Add index entry "curly quotes".
4867         * etc/NEWS: Use the phrase "curly quotes" too.
4869         ede-proj-target-makefile docstring tweaks
4870         * lisp/cedet/ede/proj.el (ede-proj-target-makefile):
4871         Consistently use "all:" to describe the all: target,
4872         replacing three different and confusingly-quoted usages.
4874 2015-08-02  Evgeny Fraimovitch  <johnlen7@gmail.com>  (tiny change)
4876         Don't abort emacsclientw when -a was specified
4877         * lib-src/emacsclient.c (set_tcp_socket) [WINDOWSNT]: Don't error
4878         out if we are in emacsclientw and -a was specified.
4880 2015-08-02  Eli Zaretskii  <eliz@gnu.org>
4882         Fix handling of 1st keystroke on MS-Windows
4883         * src/w32fns.c (globals_of_w32fns): Initialize after_deadkey to -1.
4884         This is needed to correctly handle the session's first keystroke,
4885         if it has any modifiers.  (Bug#19994)
4887 2015-08-02  Paul Eggert  <eggert@cs.ucla.edu>
4889         Substitute some customization etc. doc strings
4890         These changes apply substitute-command-keys to some
4891         doc strings that were going through untranslated
4892         when creating customization or other widgets.
4893         * lisp/cus-edit.el (custom-group-value-create):
4894         * lisp/wid-edit.el (widget-default-create):
4895         (widget-push-button-value-create):
4896         Treat the widget tag as a doc string.
4897         * lisp/emacs-lisp/cl-extra.el (cl--describe-class-slot):
4898         Treat the :documentation value as a doc string.
4899         * lisp/wid-edit.el (widget-choose):
4900         Treat the choice names as doc strings.
4901         (widget-default-create): Treat the :doc value as a doc string.
4902         (widget-toggle-value-create): Treat the :on and :off values
4903         as doc strings.
4904         (widget-documentation-string-value-create):
4905         Substitute the doc string.
4907 2015-08-01  Dmitry Gutov  <dgutov@yandex.ru>
4909         Add a second argument to project-ignores
4910         * lisp/progmodes/project.el (project-ignores): Add a second
4911         argument DIR.
4912         * lisp/progmodes/project.el (project-ignores): Only include the VC
4913         ignores if DIR is the VC root.
4914         * lisp/progmodes/xref.el (xref-find-regexp): Update accordingly.
4916 2015-08-01  Eli Zaretskii  <eliz@gnu.org>
4918         Prevent incorrect display when 'line-spacing' variable is set
4919         * src/xdisp.c (try_window_id): Give up this optimization if the
4920         buffer has its 'line-spacing' variable set non-nil.
4922 2015-08-01  Dmitry Gutov  <dgutov@yandex.ru>
4924         Don't pass NOVISIT to find-file
4925         * lisp/progmodes/etags.el (next-file):
4926         Don't pass NOVISIT to find-file (bug#21175).
4928         Ignore buffer restriction for tags-loop-eval
4929         * lisp/progmodes/etags.el (tags-loop-continue): Ignore buffer
4930         restriction (bug#21167).
4932 2015-08-01  Eli Zaretskii  <eliz@gnu.org>
4934         Fix a thinko in 'ffap-gopher-at-point'
4935         * lisp/ffap.el (ffap-gopher-at-point): Fix last change.  (Bug#21168)
4937         Honor 'line-spacing' for empty lines
4938         * src/xdisp.c (append_space_for_newline): Honor 'line-height'
4939         property and 'line-spacing' frame parameter or variable or
4940         property for empty lines, by doing the same processing as in
4941         x_produce_glyph for newline characters.  (Bug#21165)
4943 2015-08-01  Paul Eggert  <eggert@cs.ucla.edu>
4945         Simplify by assuming C99 integer division
4946         * src/floatfns.c (ceiling2, floor2, truncate2):
4947         Assume C99 (i.e., Fortran) semantics for integer division.
4948         This simplifies the code.
4950 2015-07-31  Paul Eggert  <eggert@cs.ucla.edu>
4952         Don't overflow if computing approximate percentage
4953         * lisp/align.el (align-region):
4954         * lisp/cedet/semantic.el (semantic-repeat-parse-whole-stream):
4955         * lisp/cedet/semantic/wisent.el (wisent-parse-region):
4956         * lisp/cus-edit.el (custom-buffer-create-internal):
4957         * lisp/emacs-lisp/checkdoc.el (checkdoc-interactive-ispell-loop)
4958         (checkdoc-message-interactive-ispell-loop, checkdoc-next-error)
4959         (checkdoc-next-message-error):
4960         * lisp/emacs-lisp/eieio-opt.el (eieio-display-method-list):
4961         * lisp/epa.el (epa-progress-callback-function):
4962         * lisp/erc/erc-dcc.el (erc-dcc-do-LIST-command):
4963         * lisp/ffap.el (ffap-menu-rescan):
4964         * lisp/gnus/nnbabyl.el (nnbabyl-retrieve-headers):
4965         * lisp/gnus/nndiary.el (nndiary-retrieve-headers):
4966         * lisp/gnus/nneething.el (nneething-retrieve-headers):
4967         * lisp/gnus/nnmbox.el (nnmbox-retrieve-headers):
4968         * lisp/gnus/nnmh.el (nnmh-retrieve-headers):
4969         * lisp/gnus/nnml.el (nnml-retrieve-headers):
4970         * lisp/gnus/nnspool.el (nnspool-retrieve-headers):
4971         * lisp/gnus/nntp.el (nntp-retrieve-headers)
4972         (nntp-retrieve-articles):
4973         * lisp/imenu.el (imenu--relative-position):
4974         * lisp/international/ja-dic-cnv.el (skkdic-collect-okuri-nasi)
4975         (skkdic-convert-okuri-nasi):
4976         * lisp/net/ange-ftp.el (ange-ftp-process-handle-hash):
4977         * lisp/nxml/rng-valid.el (rng-compute-mode-line-string):
4978         * lisp/org/org-list.el (org-update-checkbox-count):
4979         * lisp/org/org.el (org-table-map-tables)
4980         (org-update-parent-todo-statistics):
4981         * lisp/play/decipher.el (decipher-insert-frequency-counts)
4982         (decipher-analyze-buffer):
4983         * lisp/profiler.el (profiler-format-percent):
4984         * lisp/progmodes/cc-cmds.el (c-progress-update):
4985         * lisp/progmodes/cpp.el (cpp-highlight-buffer):
4986         * lisp/progmodes/idlwave.el (idlwave-convert-xml-system-routine-info)
4987         (idlwave-list-load-path-shadows):
4988         * lisp/progmodes/opascal.el (opascal-step-progress):
4989         * lisp/progmodes/vhdl-mode.el (vhdl-update-progress-info)
4990         (vhdl-scan-directory-contents):
4991         * lisp/textmodes/bibtex.el (bibtex-progress-message):
4992         * lisp/textmodes/flyspell.el (flyspell-small-region)
4993         (flyspell-external-point-words):
4994         * lisp/textmodes/table.el (table-recognize):
4995         Prefer (floor (* 100.0 NUMERATOR) DENOMINATOR) when calculating
4996         progress-report percentages and the like.  This avoids problems
4997         if (* 100 NUMERATOR) would overflow.
4998         * lisp/gnus/gnus-registry.el (gnus-registry-import-eld):
4999         * lisp/gnus/registry.el (registry-reindex):
5000         Use (* 100.0 ...) rather than (* 100 ...) to avoid int overflow issues.
5001         * lisp/descr-text.el (describe-char):
5002         * lisp/org/org-colview.el (org-nofm-to-completion):
5003         * lisp/ps-print.el (ps-plot):
5004         * lisp/simple.el (what-cursor-position):
5005         Prefer (round (* 100.0 NUMERATOR) DENOMINATOR) to a
5006         more-complicated and less-accurate approximation.
5008         Fix some int overflows in profiler.c
5009         * src/profiler.c (make_log): Make args EMACS_INT, not int,
5010         to avoid unwanted behavior on 'int' overflow.
5011         (make_log, evict_lower_half, record_backtrace):
5012         Use ptrdiff_t, not int, for object indexes.
5014         Port to pedantic memcpy
5015         * src/keyboard.c (menu_bar_items, tool_bar_items):
5016         * src/xrdb.c (magic_db):
5017         Port to pedantic memcpy implementations that reject memcpy (0, 0, 0).
5019         Merge from gnulib
5020         This incorporates:
5021         2015-07-29 time_rz: port to pedantic memcpy
5022         * lib/time_rz.c: Copy from gnulib.
5024 2015-07-31  Artur Malabarba  <bruce.connor.am@gmail.com>
5026         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print): Fix bug
5027         When updating the very last entry, tabulated-list-print would
5028         erase it and then try to look at the next one (which obviously
5029         isn't there).
5031 2015-07-31  Eli Zaretskii  <eliz@gnu.org>
5033         Allow to use the old key processing code on MS-Windows
5034         * src/w32fns.c (syms_of_w32fns) <w32-use-fallback-wm-chars-method>:
5035         New variable.
5036         (w32_wnd_proc): Use it to invoke the old code that processed
5037         character keys, as fallback, when this variable is non-nil.  Fix
5038         typos in comments.  (Bug#19994)
5040 2015-07-31  Ilya Zakharevich  <ilya@math.berkeley.edu>
5042         Improve handling of Unicode keyboard input on MS-Windows
5043         * src/w32fns.c (get_wm_chars, deliver_wm_chars): New functions.
5044         (FPRINTF_WM_CHARS) [DEBUG_WM_CHARS]: New macro for debugging.
5045         (w32_wnd_proc): Call deliver_wm_chars to process non-special keys
5046         upon receiving WM_KEYDOWN or WM_SYSKEYDOWN messages.  If that is
5047         successful, don't call TranslateMessage.  (Bug#19994)
5049 2015-07-30  Dmitry Gutov  <dgutov@yandex.ru>
5051         Fix default-directory in changeset diffs after vc-print-log
5052         * lisp/vc/log-view.el (log-view-diff-common): Move the
5053         revision-granularity check back into log-view-diff-changeset.
5054         (log-view-diff-changeset): Bind default-directory to the current
5055         VC root.
5057         Rename project-directories to project-roots
5058         * lisp/progmodes/project.el (project-search-path-function)
5059         (project-search-path): Update the docstring.
5060         (project-directories): Rename to `project-roots', update all
5061         callers and implementations accordingly.
5062         (project-root): Remove.
5063         * lisp/progmodes/xref.el (xref-find-regexp): Use * instead of *.*
5064         as the default file mask.
5066 2015-07-30  Eli Zaretskii  <eliz@gnu.org>
5068         Support long URLs in w32-shell-execute
5069         * src/w32fns.c (Fw32_shell_execute): Don't use filename_to_utf16
5070         and filename_to_ansi to convert the DOCUMENT argument, as it could
5071         be a URL that is not limited to MAX_PATH characters.  Instead, use
5072         MultiByteToWideChar directly, and allocate heap storage as
5073         required to accommodate the converted string.  Likewise with
5074         non-Unicode operation.  Ensure OPERATION is null-terminated, even
5075         if it is longer than 32K bytes.  (Bug#21158)
5077 2015-07-30  Stephen Leake  <stephen_leake@stephe-leake.org>
5079         vc-mtn-find-revision handle null rev.
5080         * lisp/vc/vc-mtn.el (vc-mtn-find-revision): handle null rev
5082 2015-07-29  Stephen Leake  <stephen_leake@stephe-leake.org>
5084         Add docs for display-buffer action display-buffer-use-some-frame
5085         * lisp/window.el (display-buffer-use-some-frame): improve doc string
5086         * doc/lispref/windows.texi (Display Action Functions): add
5087           display-buffer-use-some-frame
5088         * etc/NEWS: mention display-buffer-use-some-frame
5090         Add display-buffer action display-buffer-use-some-frame
5091         * lisp/window.el (display-buffer-use-some-frame): new
5093         Handle vc-mtn error more gently
5094         * lisp/vc/vc-mtn.el (vc-mtn-mode-line-string): return "" when branch is nil
5096 2015-07-29  Michael Albinus  <michael.albinus@gmx.de>
5098         Fix Tramp problems with multihops, and nc.
5099         * lisp/net/tramp-cache.el (tramp-get-file-property)
5100         (tramp-set-file-property, tramp-flush-file-property)
5101         (tramp-get-connection-property, tramp-set-connection-property)
5102         (tramp-flush-connection-property): Remove hop from vector.
5103         * lisp/net/tramp-gw.el (tramp-gw-process-filter): Ignore errors.
5104         * lisp/net/tramp-sh.el (tramp-methods) <nc>: Separate STDERR.
5105         (tramp-do-copy-or-rename-file-out-of-band): Increase timeout of
5106         netstat to 60".
5107         (tramp-sh-handle-start-file-process): Do not show hops in prompt.
5108         * lisp/net/tramp.el (tramp-handle-file-name-as-directory)
5109         (tramp-handle-file-name-directory, tramp-handle-file-remote-p):
5110         Keep hop in result.
5111         * test/automated/tramp-tests.el (tramp-test02-file-name-dissect):
5112         Add hop tests.
5114 2015-07-29  Eli Zaretskii  <eliz@gnu.org>
5116         Resurrect highlighting of repeated words by Flyspell Mode
5117         * lisp/textmodes/flyspell.el (flyspell-word): Leave some non-word
5118         characters between point and the doublon candidate, so that
5119         flyspell-word-search-backward finds it.  (Bug#21157)
5121         Fix redisplay of large images on expose events
5122         * src/xdisp.c (expose_window, expose_area): Avoid comparisons
5123         between signed negative values and unsigned values.  This
5124         prevented redisplay on expose events when the window showed a very
5125         large image.
5127 2015-07-29  Paul Eggert  <eggert@cs.ucla.edu>
5129         Remove unnecessary stack overflow dependency
5130         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING):
5131         Don't worry about $ac_cv_header_sys_resource_h and
5132         $ac_cv_func_getrlimit, as they're no longer needed for this.
5133         Problem reported by Eli Zaretskii in:
5134         http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00443.html
5136 2015-07-28  Andy Moreton  <andrewjmoreton@gmail.com>  (tiny change)
5138         Pacify compilation -Wincompatible-pointer-types warnings
5139         * src/w32proc.c (Fw32_get_codepage_charset): Avoid compilation
5140         warning.
5141         (CompareStringW_Proc): New typedef.
5142         (w32_compare_strings): Use it, to pacify compiler warnings under
5143         "-Wincompatible-pointer-types".
5144         * src/w32fns.c (GetDiskFreeSpaceExW_Proc)
5145         (GetDiskFreeSpaceExA_Proc): New typedefs.
5146         (Ffile_system_info): Use them, to pacify compiler warnings under
5147         "-Wincompatible-pointer-types".
5149 2015-07-28  Paul Eggert  <eggert@cs.ucla.edu>
5151         Fix subscript error in calculate_direct_scrolling
5152         Use slightly-longer cost vectors.  Without this change,
5153         calculate_direct_scrolling can have a subscript violation when
5154         FRAME_LINES (frame) <= delta.
5155         * src/scroll.c (calculate_scrolling, calculate_direct_scrolling)
5156         (line_ins_del, do_line_insertion_deletion_costs):
5157         Allocate and use slightly-larger cost vectors, ones based on
5158         FRAME_TOTAL_LINES instead of FRAME_LINES.
5160         Fix uninitalized value in encode_coding_object
5161         * src/coding.c (encode_coding_object): Also initialize
5162         coding->src_pos and coding->src_pos_byte when NILP (src_object).
5163         This avoids later use of uninitialized storage.
5165 2015-07-27  Xue Fuqiao  <xfq.free@gmail.com>
5167         * doc/lispref/variables.texi (Variable Aliases): Typo fix.  (Bug#21141)
5169 2015-07-27  Paul Eggert  <eggert@cs.ucla.edu>
5171         Merge from gnulib
5172         This incorporates:
5173         2015-07-27 time_rz: port better to MinGW
5174         2015-07-27 time: port __need_time_t to MinGW
5175         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
5176         * lib/strftime.c, lib/time.in.h, lib/time_rz.c: Copy from gnulib.
5177         * lib/time-internal.h: New file, from gnulib.
5179 2015-07-27  Eli Zaretskii  <eliz@gnu.org>
5181         Handle NULL pointers in w32heap.c allocation routines
5182         * src/w32heap.c (FREEABLE_P): Consider a NULL pointer "not
5183         freeable".
5184         (realloc_after_dump, realloc_before_dump, free_before_dump):
5185         Handle NULL pointers gracefully, as Emacs now seems to expect
5186         that.
5188         Fix Cairo build without PNG
5189         * src/image.c: Define PNG function when USE_CAIRO is defined, even
5190         if HAVE_PNG is not.  (Bug#21133)
5192         MS-Windows follow-up for recent TZ-related changes
5193         * nt/mingw-cfg.site (ac_cv_header_pthread_h)
5194         (gl_cv_sys_struct_timespec_in_pthread_h): Force to "no", to avoid
5195         picking up 'struct timespec' from pthread.h, if it is installed on
5196         the user's system.  We want either the definitions from MinGW
5197         system headers, if available, or the Gnulib replacements if not.
5198         * nt/inc/ms-w32.h <struct timespec>: Don't define, as we now use
5199         lib/time.h.
5200         * lib/time.in.h: Don't let __need_* symbols affect what happens on
5201         MinGW.  These symbols are defined by MinGW system headers, but we
5202         don't want that to affect whether Gnulib portions of the header
5203         are or aren't used.
5205 2015-07-26  Paul Eggert  <eggert@cs.ucla.edu>
5207         * src/ftfont.c (ftfont_close): Add comment re Bug#20890.
5209         New optional ZONE arg for format-time-string etc.
5210         This simplifies time conversions in other time zones.
5211         It also prevents display-time-world tampering with TZ (Bug#21020).
5212         * admin/admin.el (add-release-logs):
5213         Use improved add-log-time-format API.
5214         * admin/merge-gnulib (GNULIB_MODULES): Add time_rz, timegm.
5215         (GNULIB_TOOL_FLAGS): Avoid flexmember, setenv, unsetenv.
5216         * configure.ac (tzalloc): Remove test for this, since
5217         Emacs no longer uses HAVE_TZALLOC directly.
5218         * doc/lispref/os.texi (Time of Day, Time Conversion)
5219         (Time Parsing):
5220         * etc/NEWS: Document the new behavior.
5221         Merge from gnulib, incorporating:
5222         2015-07-25 strftime: fix newly-introduced bug on Solaris
5223         2015-07-23 fprintftime, strftime: use timezone_t args
5224         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
5225         * lib/strftime.c, lib/strftime.h, lib/time.in.h, m4/sys_time_h.m4:
5226         * m4/time_h.m4:
5227         Update from gnulib.
5228         * lib/time_rz.c, lib/timegm.c, m4/time_rz.m4, m4/timegm.m4:
5229         New files from gnulib.
5230         * lisp/time-stamp.el (time-stamp-string):
5231         * lisp/time.el (display-time-world-list)
5232         (display-time-world-display):
5233         Use new API, with time zone arg.
5234         * lisp/time.el (display-time-world-display):
5235         Fix race when current-time advances while we're running.
5236         * lisp/vc/add-log.el (add-log-iso8601-time-zone)
5237         (add-log-iso8601-time-string): Accept optional time zone arg.
5238         * lisp/vc/add-log.el (add-change-log-entry):
5239         * lisp/vc/log-edit.el (log-edit-changelog-ours-p): Use new arg.
5240         * nt/gnulib.mk: Propagate lib/gnulib.mk changes here.
5241         Add rules for the time module, since they're now needed
5242         for tzalloc etc.
5243         * src/conf_post.h (getenv_TZ, setenv_TZ): New macros.
5244         (emacs_getenv_TZ, emacs_setenv_TZ): New decls.
5245         * src/editfns.c: Include errno.h.
5246         (set_time_zone_rule): Omit unnecessary forward decl.
5247         (initial_tz): Remove, replacing with ...
5248         (local_tz, wall_clock_tz, utc_tz): New static vars and constants.
5249         (tzeqlen): New constant; prefer it to (sizeof "TZ=" - 1).
5250         (emacs_localtime_rz, emacs_mktime_z, xtzalloc, xtzfree)
5251         (tzlookup): New static functions.
5252         (init_editfns): New arg DUMPING.  All uses changed.
5253         (init_editfns): Omit most initialization if dumping, not if
5254         !initialized.  Initialize wall_clock_tz and local_tz.
5255         (emacs_nmemftime, format_time_string): Time zone argument can now
5256         be any time zone, not just a boolean for UTC or local time.  All
5257         callers changed.
5258         (Fformat_time_string, Fencode_time, Fcurrent_time_string)
5259         (Fcurrent_time_zone): New optional arg ZONE.
5260         (Fdecode_time, Fset_time_zone_rule): ZONE arg can now also take
5261         the same form as with the other new additions.
5262         (decode_time_zone): Remove; no longer needed.
5263         (tzvalbuf): Now file-scope.
5264         (emacs_getenv_TZ, emacs_setenv_TZ): New functions.
5265         (syms_of_editfns): Define Qwall.
5266         * src/editfns.c (mktime_z) [!HAVE_TZALLOC]:
5267         * src/systime.h (mktime_z, timezone_t, tzalloc, tzfree)
5268         [!HAVE_TZALLOC]:
5269         Remove; now supplied by gnulib.
5270         * src/emacs.c (main):
5271         * src/lisp.h (init_editfns): Adjust to init_editfns API change.
5273 2015-07-26  Shigeru Fukaya  <shigeru.fukaya@gmail.com>
5275         Fix infinite loop in delete-consecutive-dups
5276         * lisp/subr.el (delete-consecutive-dups): Work even if the last
5277         element is nil (Bug#20588).  Avoid rescan of a circular list in
5278         deletion of last element.
5280 2015-07-26  Martin Rudalics  <rudalics@gmx.at>
5282         Have `x-frame-geometry' return nil for terminal and initial frames (Bug#21132)
5283         * src/nsfns.m (Fx_frame_geometry):
5284         * src/xfns.c (Fx_frame_geometry): Return nil for initial and
5285         terminal frames.
5286         * src/w32fns.c (Fw32_frame_menu_bar_size, Fw32_frame_rect)
5287         (Fx_frame_geometry): Return nil for terminal frames
5289 2015-07-26  HOSOYA Kei  <hosoyakei.free@gmail.com>  (tiny change)
5291         * etc/tutorials/TUTORIAL.ja: Improve translation.
5293 2015-07-25  Eli Zaretskii  <eliz@gnu.org>
5295         Avoid crashes when w32 GUI functions are called in -batch
5296         * src/w32fns.c (Fx_frame_geometry, Fw32_frame_rect)
5297         (Fw32_frame_menu_bar_size, Fw32_send_sys_command): Don't call
5298         FRAME_W32_WINDOW for initial frame.  (Bug#21132)
5300         Fix flyspell-check-previous-highlighted-word
5301         * lisp/textmodes/flyspell.el
5302         (flyspell-check-previous-highlighted-word): Really accept a
5303         numeric argument, as the doc string describes.  Fix an off-by-one
5304         error in looking up overlays, so invocation with point immediately
5305         after a word would check that word.  Clarify the doc string as
5306         Suggested by N. Jackson <nljlistbox2@gmail.com>.  (Bug#21129)
5308 2015-07-24  Michael Albinus  <michael.albinus@gmx.de>
5310         Minor cleanup in tramp-tests.el
5311         * test/automated/tramp-tests.el (tramp-test31-*, tramp-test32-*):
5312         Implement using the documented interface
5313         `tramp-connection-properties', rather than with internal functions.
5315 2015-07-24  Harald Hanche-Olsen  <hanche@math.ntnu.no>  (tiny change)
5317         Pass lambdas to `skeleton-read'
5318         * lisp/skeleton.el (skeleton-read): Allow PROMPT to be a function.
5319         * lisp/textmodes/sgml-mode.el (sgml-attributes, sgml-value): Pass
5320         lambdas to `skeleton-read' (bug#20386).
5322 2015-07-24  Eli Zaretskii  <eliz@gnu.org>
5324         * INSTALL (DETAILED BUILDING AND INSTALLATION): Mention --without-imagemagick.
5326         Don't require GUI frames and mouse for Flyspell menus
5327         * lisp/textmodes/flyspell.el (flyspell-correct-word-before-point)
5328         (flyspell-emacs-popup): Require neither a GUI frame nor mouse
5329         support, since pop-up menus work with text terminals and can be
5330         controlled via the keyboard.
5332         Improve documentation of Flyspell commands
5333         * doc/emacs/fixit.texi (Spelling): Mention Flyspell commands that
5334         can be invoked via the keyboard.  Mention those commands by name
5335         and add them to the fn index.  (Bug#21125)
5337 2015-07-23  Michael Albinus  <michael.albinus@gmx.de>
5339         Fix some Tramp problems with HP-UX
5340         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
5341         Add "tab0" to stty call.
5342         * test/automated/tramp-tests.el (tramp-persistency-file-name):
5343         Set to nil.
5344         (tramp--test-hpux-p): New defun.
5345         (tramp--test-utf8): Use it.
5347 2015-07-22  Glenn Morris  <rgm@gnu.org>
5349         * build-aux/update-subdirs: Put "no-update-autoloads: t" in output.
5351 2015-07-22  Eli Zaretskii  <eliz@gnu.org>
5353         Fix point positioning in ffap-next-guess
5354         * lisp/ffap.el (ffap-url-at-point): Set ffap-string-at-point-region,
5355         as our callers expect.  This was clobbered as part of fixing
5356         bug#5673.  (Bug#21107)
5357         (ffap-gopher-at-point): Set ffap-string-at-point-region.
5359 2015-07-22  Martin Rudalics  <rudalics@gmx.at>
5361         Fix customization type of `even-window-sizes'.
5362         * lisp/window.el (even-window-sizes): Fix customization type.
5364         Optionally even widths of `display-buffer' windows.  (Bug#21100)
5365         * lisp/window.el (quit-restore-window): Restore width if
5366         requested.
5367         (display-buffer-record-window): Record width when window is
5368         reused and horizontally combined.
5369         (even-window-sizes): New option to allow evening window widths.
5370         (even-window-heights): Defalias to `even-window-sizes'.
5371         (window--even-window-heights): Rename to
5372         `window--even-window-sizes'.  Handle side-by-side windows.
5373         (display-buffer-use-some-window): Call `window--even-window-sizes'
5374         instead of `window--even-window-heights'.
5375         * lisp/help.el (resize-temp-buffer-window): Fix indentation.
5376         * doc/lispref/windows.texi (Choosing Window Options): Describe
5377         `even-window-sizes'.
5378         (Coordinates and Windows): Fix typo.
5380 2015-07-22  Stephen Leake  <stephen_leake@stephe-leake.org>
5382         add file name to autoload error messages.
5383         * lisp/emacs-lisp/autoload.el (autoload-save-buffers): add condition-case
5384           to add file name to error message.
5386 2015-07-22  Michael Albinus  <michael.albinus@gmx.de>
5388         Use 0.0.0.1 as test host in Tramp
5389         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options):
5390         Use 0.0.0.1 as test host.
5392 2015-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
5394         (advice--called-interactively-skip): Fix inf-loop (bug#21083)
5395         * lisp/emacs-lisp/nadvice.el (advice--called-interactively-skip):
5396         Fix inf-loop (bug#21083).
5398 2015-07-21  Glenn Morris  <rgm@gnu.org>
5400         * test/automated/package-test.el (package-test-signed):
5401         Update for recent changes.
5403         * test/automated/elisp-mode-tests.el
5404         (elisp-xref-finds-both-function-and-variable)
5405         (elisp-xref-finds-only-function-for-minor-mode):
5406         Update for recent xref name changes.
5408 2015-07-21  Dmitry Gutov  <dgutov@yandex.ru>
5410         Make eldoc timer non-repeatable
5411         * lisp/emacs-lisp/eldoc.el (eldoc-schedule-timer): Make the timer
5412         non-repeatable.  Since it's on post-command hook, that just wasted
5413         CPU cycles.
5415 2015-07-21  Michael Albinus  <michael.albinus@gmx.de>
5417         Mention `tramp-connection-properties' in NEWS
5419         Sync with Tramp repository
5420         * doc/misc/tramp.texi (Configuration): Note, that Tramp must be
5421         required prior changing its configuration.
5422         (Connection caching, Predefined connection information)
5423         (Remote shell setup): Fix typos.
5424         (Predefined connection information): Describe, how to overwrite
5425         parameters of `tramp-methods'.
5426         (Remote programs, Remote processes, Traces and Profiles):
5427         Simplify example.
5428         (Remote programs): Remove superfluous comment.
5429         * doc/misc/trampver.texi: Update release number.
5430         * lisp/net/tramp-cache.el (tramp-connection-properties): Adapt docstring.
5431         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file): New defun.
5432         (tramp-gvfs-handle-copy-file, tramp-gvfs-handle-rename-file): Use it.
5433         (tramp-gvfs-handle-make-directory): Reimplement PARENTS handling,
5434         "gvfs-mkdir -p ..." does not work robust.
5435         (tramp-gvfs-maybe-open-connection): Adapt `tramp-get-method-parameter' call.
5436         * lisp/net/tramp-sh.el (tramp-methods):
5437         Add `tramp-remote-shell-login' parameter where it fits.
5438         (tramp-get-remote-path): Use it.
5439         (tramp-make-copy-program-file-name): Fix quoting for "psftp" method.
5440         (all): Adapt `tramp-get-method-parameter' calls.
5441         * lisp/net/tramp.el (tramp-methods): Adapt docstring.
5442         (tramp-get-method-parameter): Replace argument METHOD by VEC.
5443         Check also for hits in `tramp-connection-properties'.  Adapt docstring.
5444         (tramp-get-remote-tmpdir): Cache only the local name of tmpdir.
5445         (all): Adapt `tramp-get-method-parameter' calls.
5446         * lisp/net/trampver.el Update release number.
5447         * test/automated/tramp-tests.el (tramp--instrument-test-case):
5448         Add "^make-symbolic-link not supported$" to `debug-ignored-errors'.
5449         (tramp-test13-make-directory, tramp--test-adb-p)
5450         (tramp--test-smb-or-windows-nt-p): Simplify.
5451         (tramp--test-ftp-p, tramp--test-gvfs-p): New defuns.
5452         (tramp--test-special-characters): Fix docstring.  Add gvfs and ftp tests.
5453         (tramp--test-utf8): Fix docstring.
5455 2015-07-20  Dmitry Gutov  <dgutov@yandex.ru>
5457         Add new xref-query-replace command
5458         * lisp/progmodes/xref.el (xref--match-buffer-bounds): New
5459         function, extracted from xref-pulse-momentarily.
5460         (xref-query-replace): New command.
5461         (xref--query-replace-1): New helper function.
5462         (xref--xref-buffer-mode-map): Add `r' binding.
5464 2015-07-20  Paul Eggert  <eggert@cs.ucla.edu>
5466         Simplify icalendar decoding of Z dates
5467         * lisp/calendar/icalendar.el (icalendar--decode-isodatetime):
5468         Simplify calculation of time strings with trailing "Z".
5470 2015-07-19  Dmitry Gutov  <dgutov@yandex.ru>
5472         Do not corrupt grep-find-ignored-files
5473         * lisp/progmodes/project.el (project-ignores): Change the order of
5474         the arguments to nconc, in order not to corrupt grep-find-ignored-files.
5476         Add xref-match-item, and use it
5477         * lisp/progmodes/xref.el (xref-match-bounds): New generic function.
5478         (xref-file-location): Add reader for the column slot.
5479         (xref-match-item): New class.
5480         (xref-match-bounds): A method implementation for it.
5481         (xref-make-match): New constructor function.
5482         (xref--current-item): New private variable.
5483         (xref-pulse-momentarily): Use it.
5484         (xref--pop-to-location): Change the first argument to an xref
5485         item, instead of location, bind xref--current-item.
5486         Update all callers.
5487         (xref-next-line, xref-prev-line, xref--next-error-function)
5488         (xref--mouse-2): Look for the property `xref-item',
5489         instead of `xref-location'.
5490         (xref--item-at-point): Likewise.  This function replaces
5491         `xref-location-at-point'.  Update all callers.
5492         (xref--insert-xrefs): Add the `xref-item' text property, instead
5493         of `xref-location'.
5494         (xref--collect-match): Use xref-make-match.
5496         Rename xref--xref to xref-item
5497         * lisp/progmodes/xref.el (xref-item): Rename from `xref--xref'.
5498         Update all references.
5500         Rename xref description slot to summary
5501         * lisp/progmodes/xref.el (xref--xref): Rename the `description'
5502         slot to `summary'.
5504         vc-hg: Perform the print-log call asynchronously
5505         * lisp/vc/vc-hg.el (vc-hg-print-log): Perform the call
5506         asynchronously (bug#21067).
5508         Add xref-after-jump-hook and xref-after-return-hook
5509         * lisp/progmodes/xref.el (xref-after-jump-hook)
5510         (xref-after-return-hook): New hooks.
5511         (xref-pulse-on-jump): Remove, in favor of the above.
5512         (xref-pulse-momentarily): Rename from xref--maybe-pulse.
5513         (xref--pop-to-location, xref--display-position)
5514         (xref-pop-marker-stack): Use the new hooks, as requested in
5515         http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00213.html
5517 2015-07-19  Bozhidar Batsov  <bozhidar@batsov.com>
5519         Correct js-mode's lighter
5520         * lisp/progmodes/js.el (js-mode): Correct the lighter.
5522 2015-07-19  Leo Liu  <sdl.web@gmail.com>
5524         Fix a bug in cfengine3-mode
5525         * progmodes/cfengine.el (cfengine3-mode): Handle nil
5526           eldoc-documentation-function.
5528 2015-07-18  Julien Danjou  <julien@danjou.info>
5530         sieve-mode: support "body" test command
5531         * lisp/gnus/sieve-mode.el (sieve-font-lock-keywords):
5532         Add missing "body" test command.
5534 2015-07-18  Eli Zaretskii  <eliz@gnu.org>
5536         Fix info-apropos when the default encoding is Latin-N
5537         * lisp/info.el (Info-find-node-2): Reset the buffer's encoding to
5538         'undecided', so that it is set to the encoding of the Info file we
5539         are about to insert.  Otherwise, 'info-apropos' will fail to find
5540         some index nodes in some UTF-8 encoded files, if the buffer's
5541         previous encoding is Latin-N or some such.
5543 2015-07-18  Ivan Andrus  <darthandrus@gmail.com>
5545         * epg.el (epg--start): Check that gpgconf can be found before calling it.
5547         Expose more file types to OS X that Emacs understands.
5548         * Cocoa/Emacs.base/Contents/Info.plist: Add editor role for sty, dtx,
5549         json, and org files.  Export UTIs for el, elc, and org files.
5551 2015-07-18  Eli Zaretskii  <eliz@gnu.org>
5553         Fix visual-order cursor movement when lines are truncated
5554         * src/xdisp.c (Fmove_point_visually): When lines are truncated,
5555         simulate display in a window of infinite width, to allow move_it_*
5556         functions reach positions outside of normal window dimensions.
5557         Remove code that tried to handle a subset of these situations by
5558         manual iteration of buffer text.  (Bug#17777)
5560         Fix following Info cross-references to anchors
5561         * lisp/info.el (Info-read-subfile): Add to the returned value the
5562         length of subfile preamble, after converting it to file's byte
5563         offset, as expected by the caller.  Use bufferpos-to-filepos.
5564         (Info-find-node-2): If searching for a node with a
5565         1000-character slop fails, try again with a 10000-character slop,
5566         to account for known bugs in Texinfo 5.0 and 5.1.  (Bug#21055)
5567         * lisp/international/mule-util.el (bufferpos-to-filepos): New
5568         function.
5569         * etc/NEWS: Mention bufferpos-to-filepos.
5571         Fix scrolling backwards on TTY frames under scroll-conservatively
5572         * src/xdisp.c (move_it_vertically_backward): Fix off-by-one error
5573         in moving backwards on TTY frames.  (Bug#21080)
5575 2015-07-17  Dmitry Gutov  <dgutov@yandex.ru>
5577         Consider a jsdoc tag to be a beginning of a paragraph as well
5578         * lisp/progmodes/js.el (js-mode): Change c-paragraph-start to
5579         consider a jsdoc tag to be a beginning of a paragraph as well.
5581 2015-07-17  Artur Malabarba  <bruce.connor.am@gmail.com>
5583         * lisp/emacs-lisp/package.el: Fix warnings
5585         * lisp/emacs-lisp/package.el (package-buffer-info):
5586         Add author and maintainers to `package-buffer-info'.
5588         * lisp/emacs-lisp/package.el: Many small changes
5589         Replace all instances of 'face with 'font-lock-face.
5590         (describe-package-1): Improve some strings and move the summary up the
5591         list.
5592         (package-install-file): Update docstring.
5593         (package-menu-hide-package): Bind to `H'.
5595         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
5596         Fix error handling.
5598 2015-07-17  Paul Eggert  <eggert@cs.ucla.edu>
5600         Fix hang with large yanks This should fix the bug fixed by Mike
5601         Crowe's patch in:
5602         https://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00106.html
5603         A problem in this area has been reported by several users; see
5604         Bug#16737, Bug#17101, Bug#17026, Bug#17172, Bug#19320, Bug#20283.
5605         This fix differs from Mike Crowe's patch in that it should avoid a
5606         race condition that could lose SIGIO signals.  ignore_sigio dates
5607         back to the 1980s when some platforms couldn't block signals, and
5608         could only ignore them, which led to races when signals arrived
5609         while being ignored.  We shouldn't have to worry about those old
5610         platforms now.
5611         * src/dispextern.h, src/sysdep.c (ignore_sigio): Remove.
5612         * src/emacs.c (shut_down_emacs):
5613         Don't call ignore_sigio; unrequest_sigio should suffice.
5614         * src/keyboard.c (kbd_buffer_store_buffered_event):
5615         Use unrequest_sigio, not ignore_sigio.
5616         (kbd_buffer_get_event):
5617         Call request_sigio when getting the ball rolling again.
5619 2015-07-17  Artur Malabarba  <bruce.connor.am@gmail.com>
5621         * lisp/obsolete/longlines.el (longlines-search-function):
5622         Fallback on `isearch-search-fun-default'.
5624 2015-07-17  Tassilo Horn  <tsdh@gnu.org>
5626         Support @-mentions
5627         * rcirc.el (rcirc-completion-at-point): Support completion of
5628         mentions/messages with @nick instead of just nick.
5630 2015-07-16  Michael Albinus  <michael.albinus@gmx.de>
5632         Fix Bug#20943.
5633         * lisp/autorevert.el (auto-revert-handler): Do not check for
5634         `buffer-modified-p'.
5635         * lisp/files.el (buffer-stale--default-function): Check for
5636         `buffer-modified-p'.
5637         * test/automated/auto-revert-tests.el
5638         (auto-revert-test02-auto-revert-mode-dired): Adapt test.
5640 2015-07-16  Ari Roponen  <ari.roponen@gmail.com>
5642         Fix delete-dups bug on long lists
5643         * lisp/subr.el (delete-dups):
5644         Don't mistakenly keep some dups when applied to long lists.
5646 2015-07-16  Paul Eggert  <eggert@cs.ucla.edu>
5648         Better heuristic for C stack overflow
5649         Improve the heuristic for distinguishing stack overflows from
5650         other SIGSEGV causes (Bug#21004).  Corinna Vinschen explained that
5651         the getrlimit method wasn't portable to Cygwin; see:
5652         https://www.cygwin.com/ml/cygwin/2015-07/msg00092.html
5653         Corinna suggested pthread_getattr_np but this also has problems.
5654         Instead, replace the low-level system stuff with a simple
5655         heuristic based on known good stack addresses.
5656         * src/eval.c, src/lisp.h (near_C_stack_top): New function.
5657         * src/sysdep.c: Don't include <sys/resource.h>.
5658         (stack_direction): Remove.  All uses removed.
5659         (stack_overflow): New function.
5660         (handle_sigsegv): Use it instead of incorrect getrlimit heuristic.
5661         Make SEGV fatal in non-main threads.
5663 2015-07-16  Daiki Ueno  <ueno@gnu.org>
5665         epg: Automatically start pinentry server
5666         * epg-config.el (epg-gpgconf-program): New variable.
5667         * epg.el (epg--start): Call `pinentry-start' if
5668         allow-emacs-pinentry is set in ~/.gnupg/gpg-agent.conf.
5670 2015-07-15  Katsumi Yamaoka  <yamaoka@jpl.org>
5672         * lisp/gnus/nnimap.el: Fix my last bogus change
5673         Reinstall Stefan Monnier's change that was made in
5674         <83d824bc4041332f338ad7e5e830f443535aa300>.
5676 2015-07-15  Paul Eggert  <eggert@cs.ucla.edu>
5678         Merge from gnulib
5679         This incorporates:
5680         2015-07-05 acl-permissions: Document FreeBSD ACL_TYPE_NFS4 acls
5681         2015-07-05 acl-permissions: Fix on FreeBSD
5682         2015-07-05 file-has-acl, acl-permissions: fix some more HP-UX typos
5683         * lib/acl-internal.c, lib/acl-internal.h, lib/get-permissions.c:
5684         * lib/set-permissions.c: Copy from gnulib.
5686         Port to stricter C99
5687         * src/keyboard.h (kbd_buffer_store_event_hold):
5688         Don't return a void expression.
5690 2015-07-15  Xue Fuqiao  <xfq.free@gmail.com>
5692         * doc/emacs/frames.texi (Creating Frames): Fix the command `C-x 5 m' runs.
5694 2015-07-14  Michael Albinus  <michael.albinus@gmx.de>
5696         New autorevert tests.
5697         * test/automated/auto-revert-tests.el: New file.
5699 2015-07-14  Paul Eggert  <eggert@cs.ucla.edu>
5701         Clear gcprolist etc. after stack overflow
5702         After stack overflow, command_loop calls init_eval, and this needs to
5703         clear gcprolist and byte_stack_list (Bug#20996).
5704         * src/alloc.c (init_alloc):
5705         Move gcprolist and byte_stack_list initialization from here ...
5706         * src/eval.c (init_eval): ... to here.
5708 2015-07-13  Xue Fuqiao  <xfq.free@gmail.com>
5710         * doc/emacs/windows.texi (Pop Up Window): Fix the description of `C-x 4 m'.
5712 2015-07-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
5714         Avoid deprecated enums in mac-ct font backend driver
5715         * src/macfont.m (mac_font_copy_default_descriptors_for_language)
5716         (mac_ctfont_get_advance_width_for_glyph)
5717         (mac_ctfont_get_bounding_rect_for_glyph): Avoid deprecated enums.
5719         Cache font family in mac-ct font backend driver
5720         * src/macfont.m (macfont_family_cache): New variable.
5721         (syms_of_macfont): Initialize it.
5722         (macfont_available_families_cache): New variable.
5723         (macfont_invalidate_family_cache, macfont_get_family_cache_if_present)
5724         (macfont_set_family_cache, macfont_invalidate_available_families_cache)
5725         (macfont_handle_font_change_notification)
5726         (macfont_init_font_change_handler)
5727         (macfont_copy_available_families_cache): New functions.
5728         (macfont_create_family_with_symbol): Use font family caches.
5729         (macfont_list, macfont_list_family): Use
5730         macfont_copy_available_families_cache instead of
5731         mac_font_create_available_families.
5733 2015-07-12  Dmitry Gutov  <dgutov@yandex.ru>
5735         Show the default value in the prompt
5736         * lisp/progmodes/xref.el: Add `M-?' binding for
5737         xref-find-references.  Declare functions `grep-read-files' and
5738         `grep-expand-template'.
5739         (xref--read-identifier): Show the default value in the prompt.
5741         When called with prefix argument, ask for file patterns to search as well
5742         * lisp/progmodes/xref.el (xref-find-regexp): When called with
5743         prefix argument, ask for file patterns to search as well.  When
5744         prompting for the directory, require an existing one.
5745         (xref-collect-matches): Add a new argument, FILES.  Use it in the
5746         above function.
5748         Add `project-ignores'
5749         * lisp/progmodes/project.el (project-ignores): New generic
5750         function, and an implementation for the VC project type.
5751         * lisp/progmodes/xref.el (xref--rgrep-command): Split, as a
5752         variant of rgrep-default-command that handles a generic list of
5753         ignores.
5754         (xref-collect-matches): Use it, and pass through to it the value
5755         of the newly added argument.
5756         (xref-find-regexp): Handle ignored paths within the project.
5757         Remove outdated comment.
5758         * lisp/vc/vc.el (vc-default-ignore-completion-table):
5759         Skip the comments and the empty lines.
5761 2015-07-12  Xue Fuqiao  <xfq.free@gmail.com>
5763         * doc/emacs/buffers.texi (Misc Buffer): Add a cross reference.
5765 2015-07-11  Eric Abrahamsen  <eric@ericabrahamsen.net>
5767         gnus-registry.el: Correct function argument order
5768         * lisp/gnus/gnus-registry.el (gnus-registry--set/remove-mark):
5769         Reverse the order of function arguments.
5771 2015-07-11  Dmitry Gutov  <dgutov@yandex.ru>
5773         Bind grep-highlight-matches to nil
5774         * lisp/progmodes/xref.el (xref-collect-matches):
5775         Bind grep-highlight-matches to nil (bug#20728).
5777 2015-07-11  Nikolaus Rath  <Nikolaus@rath.org>
5779         nnimap.el: Fix IMAP message size parsing
5780         * lisp/gnus/nnimap.el (nnimap-transform-headers):
5781         Don't assume that UID comes before RFC822.SIZE.
5783 2015-07-10  Stefan Monnier  <monnier@iro.umontreal.ca>
5785         * lisp/gnus/nnimap.el: Clean up "unused var" warnings
5786         (auth-source-creation-prompts): Declare.
5787         (nnimap-retrieve-headers, nnimap-status-message)
5788         (nnimap-request-create-group, nnimap-request-delete-group)
5789         (nnimap-close-group, nnimap-request-move-article)
5790         (nnimap-request-accept-article, nnimap-request-newgroups)
5791         (nnimap-request-post, nnimap-dummy-active-number)
5792         (nnimap-save-mail-spec, nnimap-get-groups): Add _ to unused vars.
5793         (nnimap-parse-flags): Remove unused var `p'.
5794         (nnimap-retrieve-group-data-early): Remove unused var `groups'.
5795         (nnimap-flags-to-marks): Remove unused var `totalp'.
5797 2015-07-10  Andy Moreton  <andrewjmoreton@gmail.com>  (tiny change)
5799         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 20MB.
5801 2015-07-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
5803         * src/macfont.m (macfont_list): Ignore font families lacking font descriptors.
5805 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
5807         Don't check the exit status, it can be misleading
5808         * lisp/progmodes/xref.el (xref-collect-matches): Don't check the
5809         exit status, it can be misleading.
5811         Introduce a Project API
5812         * lisp/progmodes/project.el: New file.
5813         * lisp/cedet/ede.el: (project-try-ede): New function.
5814         (project-root): New implementation.
5815         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
5816         Set project-search-path-function.
5817         (elisp--xref-find-references): Delegate some logic to
5818         project-search-path.
5819         (elisp-search-path): New function.
5820         (elisp-xref-find): Don't implement `matches' anymore.
5821         * lisp/progmodes/etags.el: Don't implement `matches'.
5822         Delegate some logic to project-search-path.
5823         (etags-search-path): New function.
5824         * lisp/progmodes/xref.el (xref-find-function):
5825         Remove `matches' from the API.
5826         (xref-find-regexp): Move whatever common logic was in elisp and
5827         etags implementations, and search the directories returned by
5828         project-directories and project-search-path.
5830 2015-07-09  Nicolas Petton  <nicolas@petton.fr>
5832         * test/automated/map-tests.el (test-map-delete-return-value): Uncomment test.
5834         Add support for gv.el in map.el
5835         * lisp/emacs-lisp/map.el (map-elt, map-delete): Declare a gv-expander.
5836         * lisp/emacs-lisp/map.el (map-put): Refactor using `setf' and `map-elt'.
5837         * test/automated/map-tests.el: Update tests to work with the new
5838         implementations of map-elt and map-put.
5840 2015-07-09  Glenn Morris  <rgm@gnu.org>
5842         * lisp/emacs-lisp/debug.el (debug-help-follow): Use describe-symbol.
5844 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
5846         Syntax-propertize until the end of the line first
5847         * lisp/progmodes/xref.el (xref--collect-match): Syntax-propertize
5848         until the end of the line first.
5850 2015-07-09  Xue Fuqiao  <xfq.free@gmail.com>
5852         * doc/emacs/files.texi (File Archives): Add a cross reference.
5854 2015-07-08  Nikolaus Rath  <Nikolaus@rath.org>
5856         nnimap.el: Handle plain value for nnimap-stream
5857         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Always query
5858         capabilities, so that a 'plain value for the `nnimap-stream' server
5859         variable is handled correctly.
5860         * doc/misc/gnus.texi (Customizing the IMAP Connection):
5861         Document the 'plain option.
5863 2015-07-08  Leo Liu  <sdl.web@gmail.com>
5865         Fix bug in thing-at-point--bounds-of-well-formed-url
5866         * lisp/thingatpt.el (thing-at-point--bounds-of-well-formed-url): Make
5867           sure boundary contains current point.
5869 2015-07-08  Dmitry Gutov  <dgutov@yandex.ru>
5871         * lisp/progmodes/xref.el (xref-collect-matches): Use `nreverse' in the end.
5873         Declare whitespace-line-column a safe file-local
5874         * lisp/whitespace.el (whitespace-line-column): Declare to be a
5875         safe file-local when the value is an integer.
5877 2015-07-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
5879         gnus-group.el: Check if group names are already strings
5880         * lisp/gnus/gnus-group.el (gnus-group-group-name):
5881         The group name may already be a string.
5882         Specifically, in the group list reached from the *Server* buffer,
5883         the 'gnus-group text property returns a string.  Everywhere else
5884         it returns a symbol.
5886         nnimap.el: Remove unused let variables
5887         * lisp/gnus/nnimap.el (nnimap-request-group): Variables are not used.
5889 2015-07-08  Eli Zaretskii  <eliz@gnu.org>
5891         Support "maximized" property of runemacs's shortcut
5892         * nt/runemacs.c (WinMain): If runemacs is invoked "maximized", pass
5893         the '--maximized' switch to Emacs.
5895         Support "minimized" property of runemacs's shortcut
5896         * nt/runemacs.c (WinMain): If runemacs is invoked "minimized",
5897         pass the '--iconic' switch to Emacs.  (Bug#20991)
5899 2015-07-08  Xue Fuqiao  <xfq.free@gmail.com>
5901         Doc fixes
5902         * doc/emacs/files.texi (Diff Mode): Fix the description of `C-c
5903         C-w' in Diff mode.
5904         * doc/emacs/arevert-xtra.texi (Auto Reverting the Buffer Menu):
5905         Add a cross reference.
5907 2015-07-08  Nicolas Richard  <youngfrog@members.fsf.org>
5909         * lisp/obsolete/landmark.el: Add Obsolete-since header
5911 2015-07-07  Glenn Morris  <rgm@gnu.org>
5913         * test/automated/ert-tests.el (ert-test-deftest):
5914         Update for recent changes.
5916 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
5918         (gv-setter, gv-synthetic-place, gv-delay-error): New funs/macros
5919         * lisp/emacs-lisp/gv.el (gv-setter): New function.
5920         (gv-invalid-place): New error.
5921         (gv-get): Use them.
5922         (gv-synthetic-place, gv-delay-error): New places.
5923         * lisp/emacs-lisp/cl-generic.el (cl--generic-setf-rewrite): Remove.
5924         (cl-defgeneric, cl-defmethod): Use gv-setter.
5926 2015-07-07  Fabrice Popineau  <fabrice.popineau@gmail.com>
5928         Make vc-tests work with MSYS svn program
5929         * lisp/vc/vc-svn.el (vc-svn-create-repo): Fix the file:// URL when
5930         svn is an MSYS program.
5932 2015-07-07  Ken Brown  <kbrown@cornell.edu>
5934         Improve recent change to emacsclient on Cygwin
5935         * lisp/server.el (server-process-filter): Remove redundant check
5936         that 'cygwin-convert-file-name-from-windows' is defined as a
5937         function on Cygwin.  Don't call that function unless its argument
5938         starts with a drive letter.
5940 2015-07-07  Artur Malabarba  <bruce.connor.am@gmail.com>
5942         * lisp/emacs-lisp/package.el (package-compute-transaction): Bug fix
5943         Fix void variable due to `found-something' being in the wrong `let'.
5945 2015-07-07  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
5947         * lisp/play/landmark.el: Move to lisp/obsolete/
5949 2015-07-07  Martin Rudalics  <rudalics@gmx.at>
5951         Have `x-show-tip' handle `right' and `bottom' frame parameters.
5952         * src/nsfns.m (compute_tip_xy, Fx_show_tip)
5953         * src/w32fns.c (compute_tip_xy, Fx_show_tip)
5954         * src/xfns.c (compute_tip_xy, Fx_show_tip): Allow aligning
5955         tooltips also via `right' and `bottom' frame parameters.
5957 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
5959         Add online-help support to describe types
5960         * lisp/help-fns.el (describe-symbol-backends): Move to help-mode.el.
5961         (describe-symbol): Improve the selection of default.
5962         * lisp/help-mode.el: Require cl-lib.
5963         (describe-symbol-backends): Move from help-fns.el.
5964         (help-make-xrefs): Use it.
5965         * lisp/emacs-lisp/cl-extra.el (describe-symbol-backends): Add entry
5966         for types.
5967         (cl--typedef-regexp): New const.
5968         (find-function-regexp-alist): Add entry for types.
5969         (cl-help-type, cl-type-definition): New buttons.
5970         (cl-find-class): New function.
5971         (cl-describe-type): New command.
5972         (cl--describe-class, cl--describe-class-slot)
5973         (cl--describe-class-slots): New functions, moved from eieio-opt.el.
5974         * lisp/emacs-lisp/cl-generic.el (cl--generic-method-documentation)
5975         (cl--generic-all-functions, cl--generic-specializers-apply-to-type-p):
5976         New functions.  Moved from eieio-opt.el.
5977         (cl--generic-class-parents): New function, extracted from
5978         cl--generic-struct-specializers.
5979         (cl--generic-struct-specializers): Use it.
5980         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Use pcase-dolist.
5981         Improve constructor's docstrings.
5982         (cl-struct-unknown-slot): New error.
5983         (cl-struct-slot-offset): Use it.
5984         * lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Record the type
5985         definition in current-load-list.
5986         * lisp/emacs-lisp/eieio-core.el (eieio--known-slot-names): New var.
5987         (eieio--add-new-slot): Set it.
5988         (eieio-defclass-internal): Use new name for current-load-list.
5989         (eieio-oref): Add compiler-macro to warn about unknown slots.
5990         * lisp/emacs-lisp/eieio.el (defclass): Update eieio--known-slot-names
5991         as compile-time as well.  Improve constructor docstrings.
5992         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
5993         (eieio--help-print-slot, eieio-help-class-slots): Move to cl-extra.el.
5994         (eieio-class-def): Remove button.
5995         (eieio-help-constructor): Use new name for load-history element.
5996         (eieio--specializers-apply-to-class-p, eieio-all-generic-functions)
5997         (eieio-method-documentation): Move to cl-generic.el.
5998         (eieio-display-method-list): Use new names.
5999         * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression):
6000         Add "define-linline".
6001         (lisp-fdefs): Remove "defsubst".
6002         (el-fdefs): Add "defsubst", "cl-defsubst", and "define-linline".
6003         * lisp/emacs-lisp/macroexp.el (macroexp--warned): New var.
6004         (macroexp--warn-and-return): Use it to avoid inf-loops.
6005         Add `compile-only' argument.
6007 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
6009         python.el: Fix local/remote shell environment setup
6010         * lisp/progmodes/python.el (python-shell-with-environment): Fix
6011         remote/local environment setup.
6012         * test/automated/python-tests.el (python-shell-with-environment-1)
6013         (python-shell-with-environment-2): New tests.
6015 2015-07-06  Glenn Morris  <rgm@gnu.org>
6017         * lisp/simple.el (set-variable): Tweak recent doc fix.
6019 2015-07-06  Ken Brown  <kbrown@cornell.edu>
6021         * src/sysdep.c (handle_sigsegv) [CYGWIN]: Increase STACK_DANGER_ZONE
6023 2015-07-06  Glenn Morris  <rgm@gnu.org>
6025         * lisp/simple.el (set-variable): Use user-error for type mismatch.
6027 2015-07-06  Ken Brown  <kbrown@cornell.edu>
6029         * src/emacs.c (main): Don't increase the stack size on Cygwin
6031 2015-07-06  Stefan Monnier  <monnier@iro.umontreal.ca>
6033         (describe-symbol): Rewrite describe-function-or-variable
6034         * lisp/help-fns.el (describe-symbol-backends): New var.
6035         (help-xref-stack-item): Declare.
6036         (describe-symbol): Rename from describe-function-or-variable.
6037         Rewrite using describe-symbol-backends instead of help-xref-interned.
6038         * lisp/help.el (help-map): Use it.
6039         * lisp/help-mode.el (help-symbol, help-follow-symbol): Use it.
6040         (help-xref-interned): Make it into an obsolete alias.
6042         (eieio-persistent-save): Don't ignore `file' arg (bug#20972)
6043         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-save): Don't ignore
6044         `file' arg.  Always use utf-8-emacs.  Use with-temp-buffer and cl-letf.
6046 2015-07-06  Wolfgang Jenkner  <wjenkner@inode.at>
6048         Fix parsing glitches in dired-mark-sexp (bug#13575)
6049         * lisp/dired-x.el (dired-x--string-to-number): New function.
6050         (dired-mark-sexp): Use it.  Tweak dired-re-inode-size.  Fix usage
6051         of directory-listing-before-filename-regexp.  Consider
6052         forward-word harmful and replace it.  Add more verbiage in
6053         comments and doc string.
6055 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
6057         python.el: Respect process environment for remote shells
6058         * lisp/progmodes/python.el
6059         (python-shell-calculate-process-environment): Calculate
6060         process-environment or tramp-remote-process-environment depending
6061         whether current file is remote.
6062         (python-shell-calculate-exec-path): Calculate exec-path or
6063         tramp-remote-path depending whether current file is remote.
6064         (python-shell-with-environment): New macro.
6065         (python-shell-prompt-detect, python-shell-calculate-command)
6066         (python-shell-make-comint, python-check): Use it.
6068         python.el: Avoid making let-bound defvars buffer local  (Bug#18244)
6069         * lisp/progmodes/python.el (python-shell--interpreter)
6070         (python-shell--interpreter-args): New vars.
6071         (inferior-python-mode, python-shell-make-comint): Use them.
6073         python.el: Fixes for IPython 3.x  (Bug#20580)
6074         * lisp/progmodes/python.el:
6075         (python-shell-completion-native-setup): Fix IPython 3.x setup.
6076         (python-shell-completion-native-get-completions): Fix timeout
6077         logic.
6079         python.el: Fix mark-defun behavior  (Bug#19665)
6080         * lisp/progmodes/python.el: (python-mark-defun): New function.
6081         * test/automated/python-tests.el (python-mark-defun-1)
6082         (python-mark-defun-2, python-mark-defun-3): New tests.
6084 2015-07-05  Glenn Morris  <rgm@gnu.org>
6086         * lisp/progmodes/f90.el (f90-type-def-re): Handle attribute lists
6087         such as "extends(parent), private".  (Bug#20969)
6088         * test/automated/f90.el (f90-test-bug20969, f90-test-bug20969b):
6089         New tests.
6091 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
6093         Avoid duplicate calls to current_timespec
6094         * src/process.c (wait_reading_process_output):
6095         Cache current_timespec results as long as we're not waiting.
6097 2015-07-05  Ian Kelling  <ian@iankelling.org>
6099         Avoid returning early reading process output due to SIGIO
6100         * src/process.c (wait_reading_process_output): Extend the behavior of
6101         not breaking due to not finding output when a timer has lowered the
6102         timeout to include when SIGIO lowers the timeout.
6104         Don't return as fast reading any process output
6105         * src/process.c (wait_reading_process_output):
6106         The patch for Bug#17647 returns too fast sometimes when reading
6107         from any processes. Revert part of it, and limit the timeout more
6108         sensibly (Bug#20978).
6110         Refactor timeouts in wait_reading_process_output
6111         * src/process.c (wait_reading_process_output):
6112         Simplify timeouts with an enum.  Remove a redundant condition.
6113         (Bug#20978)
6115         Remove ADAPTIVE_READ_BUFFERING ifdef
6116         * src/process.c (make-process, make-pipe-process, deactivate_process)
6117         (wait_reading_process_output, read_process_output, send_process)
6118         (init_process_emacs): ifdef ADAPTIVE_READ_BUFFERING was originally
6119         added in case there was an operating system in which it was not
6120         useful.  That was 11 years ago and it hasn't happened.  Make
6121         development easier by not considering the effect of changes on a
6122         theoretical OS where this is disabled (Bug#20978).
6124 2015-07-05  Glenn Morris  <rgm@gnu.org>
6126         * lisp/simple.el (set-variable): Doc fix.
6128         * lisp/progmodes/fortran.el (fortran-line-length): Doc fix.
6130 2015-07-05  Ian Kelling  <ian@iankelling.org>
6132         accept-process-output fix
6133         This is a followon to the fix for Bug#17647 (Bug#20976).
6134         * src/process.c (status_notify): Fix too high return in some cases.
6136 2015-07-05  Artur Malabarba  <bruce.connor.am@gmail.com>
6138         * lisp/character-fold.el (character-fold-table):
6139         Only fold decompositions if at least one character is non-spacing.
6140         (Bug#20975)
6142 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
6144         Merge from gnulib
6145         This incorporates:
6146         2015-07-04 file-has-acl, acl-permissions: fix HP-UX typos
6147         2015-07-03 set-permissions.c: adjust acl_from_mode's cpp guard
6148         2015-07-02 update-copyright: fix test failure with perl >= 5.22
6149         2015-07-01 gnulib-common.m4: change the ARFLAGS default to 'cr'
6150         2015-07-01 acl: fix definition of acl_from_mode on FreeBSD
6151         * build-aux/update-copyright, doc/misc/texinfo.tex, lib/acl-internal.h:
6152         * lib/set-permissions.c, m4/gnulib-common.m4: Copy from gnulib.
6154 2015-07-05  Christoph Wedler  <christoph.wedler@sap.com>
6156         Respect `prog-indentation-context' in python.el
6157         * lisp/progmodes/python.el (python-indent-guess-indent-offset)
6158         (python-indent-context, python-indent--calculate-indentation)
6159         (python-info-current-defun)
6160         (python-info-dedenter-opening-block-message)
6161         (python-info-line-ends-backslash-p)
6162         (python-info-beginning-of-backslash)
6163         (python-info-continuation-line-p): Use `prog-widen'.
6164         (python-indent--calculate-indentation)
6165         (python-indent--calculate-levels)
6166         (python-indent-calculate-indentation): Use `prog-first-column'.
6167         (python-indent--calculate-levels): Simplify.
6168         Ignore also initial empty lines for syntax calculation.
6169         * lisp/progmodes/python.el (python-indent-context): Return
6170         :no-indent for first non-empty line, not just in line 1.
6171         * test/automated/python-tests.el (python-indent-base-case)
6172         (python-indent-inside-paren-1, python-indent-inside-paren-2)
6173         (python-indent-inside-paren-3, python-indent-inside-paren-4)
6174         (python-indent-inside-paren-5, python-indent-inside-paren-6)
6175         (python-indent-after-backslash-1)
6176         (python-indent-after-backslash-2)
6177         (python-indent-after-backslash-3)
6178         (python-indent-after-backslash-4, python-indent-inside-string-1):
6179         Expect :no-indent for first non-empty line.
6181 2015-07-04  Daniel Colascione  <dancol@dancol.org>
6183         Factor isearch word description into new function
6184         * lisp/isearch.el (isearch--describe-word-mode): New function.
6185         (isearch-message-prefix, isearch-query-replace): Use it.
6187 2015-07-04  Eli Zaretskii  <eliz@gnu.org>
6189         Fix mouse pointer on w32 when a menu is active
6190         * src/w32fns.c (w32_wnd_proc): Don't change the mouse pointer
6191         shape while a menu is in use.  This started happening since we now
6192         send WM_EMACS_SHOWCURSOR messages when the mouse moves.
6194 2015-07-04  Martin Rudalics  <rudalics@gmx.at>
6196         Fix processing of alpha parameter for Windows tip frames  (Bug#17344)
6197         * src/w32fns.c (x_create_tip_frame): Fix processing alpha
6198         parameter.  (Bug#17344)
6200         Have `compilation-set-window' use right window for getting fringes (Bug#20829)
6201         * lisp/progmodes/compile.el (compilation-set-window): Take
6202         `window-fringes' from argument window.  (Bug#20829)
6204 2015-07-03  Glenn Morris  <rgm@gnu.org>
6206         Update eieio tests for recent eieio-core change.
6207         * test/automated/eieio-test-persist.el (persist-test-save-and-compare):
6208         * test/automated/eieio-tests.el
6209         (eieio-test-32-slot-attribute-override-2):
6210         Replace the deleted eieio--class-v with cl--find-class.
6212 2015-07-03  Martin Rudalics  <rudalics@gmx.at>
6214         Fix some issues with `window-divider-mode'
6215         * lisp/frame.el (window-divider-default-places): New option.
6216         (window-divider-mode): Remove option.
6217         (window-divider-mode): Make it a "regular" minor mode.
6218         (window-divider-width-valid-p): Drop frame- prefix.
6219         (window-divider-mode-apply): New argument ENABLE.  Drop frame-
6220         prefix.  Handle `window-divider-default-places'.
6221         (frame--window-divider-mode-set-and-apply): Remove.
6222         (window-divider-default-bottom-width)
6223         (window-divider-default-right-width): Drop :group entries.
6224         * lisp/menu-bar.el (menu-bar-bottom-and-right-window-divider)
6225         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
6226         (menu-bar-no-window-divider): Set `window-divider-default-places'
6227         and call `window-divider-mode'.
6228         * doc/emacs/frames.texi (Window Dividers): Document
6229         `window-divider-default-places'.
6231 2015-07-02  Xue Fuqiao  <xfq.free@gmail.com>
6233         Add cross references in documentation
6234         * doc/emacs/display.texi (Displaying Boundaries):
6235         * doc/emacs/search.texi (Word Search): Add cross references.
6237 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
6239         -batch should not affect ‘’ -> `' display
6240         * lisp/startup.el (command-line): Do the ‘’ -> `' check even if
6241         -batch (Bug#20926).
6243 2015-07-02  Stefan Monnier  <monnier@iro.umontreal.ca>
6245         * lisp/emacs-lisp/eieio-core.el (eieio--class-v): Remove
6246         * lisp/emacs-lisp/eieio-core.el, lisp/emacs-lisp/eieio.el,
6247           lisp/emacs-lisp/eieio-opt.el, lisp/emacs-lisp/eieio-compat.el:
6248         Use cl--find-class instead.
6250         * lisp/term/xterm.el (xterm--query): Fix paren typo (bug#20951).
6252 2015-07-02  Martin Rudalics  <rudalics@gmx.at>
6254         Some further fixes in Change Window node.  (Bug#20183)
6255         * doc/emacs/windows.texi (Change Window): Replace "rearranging"
6256         by "resizing" in section title.  Add some concept indices.
6257         Suggested by N. Jackson (Bug#20183).
6259         Reference window dividers in Change Window section.
6260         * doc/emacs/windows.texi (Change Window): Reference window
6261         dividers.
6263         Document new `window-divider-mode'.
6264         * lisp/frame.el (window-divider-mode): Fix doc-string.
6265         * doc/emacs/frames.texi (Window Dividers): New section.
6267         Improve accessibility of window dividers.  (Bug#20183)
6268         * lisp/faces.el (window-divider)
6269         (window-divider-first-pixel, window-divider-last-pixel): Change
6270         membership from `frames' to `window-divider' customization group.
6271         * lisp/frame.el (window-divider): New customization group.
6272         (window-divider-mode): New minor mode.
6273         (window-divider-default-bottom-width)
6274         (window-divider-default-right-width): New options.
6275         (frame--window-divider-previous-mode): New variable.
6276         (frame-window-divider-width-valid-p)
6277         (frame--window-divider-mode-apply)
6278         (frame--window-divider-mode-set-and-apply): New functions.
6279         * lisp/menu-bar.el (menu-bar-options-save): Save
6280         window-divider-mode settings.
6281         (menu-bar-window-divider-customize)
6282         (menu-bar-bottom-and-right-window-divider)
6283         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
6284         (menu-bar-no-window-divider): New functions.
6285         (menu-bar-showhide-window-divider-menu): New variable.
6286         (menu-bar-showhide-menu): Show/hide window divider menu.
6287         * lisp/mouse.el (mouse-split-window-vertically)
6288         (mouse-split-window-horizontally): Replace `error' by
6289         `user-error'.  Bind `window-combination-resize' to nil.
6290         (top-level): Add/reorder mouse key bindings on mode- and
6291         vertical-line.
6293 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
6295         Don't display ‘’ as `' under X in en_GB
6296         The curved quote setup code invokes (char-displayable-p ?‘),
6297         but this isn’t reliable until after the X frame replaces the
6298         terminal frame (Bug#20926).
6299         * lisp/international/mule-cmds.el (set-locale-environment):
6300         Move curved quote setup code from here ...
6301         * lisp/startup.el (command-line): ... to here, after creating
6302         the X frame.
6304 2015-07-01  Nicolas Richard  <youngfrog@members.fsf.org>
6306         * lisp/emacs-lisp/seq.el (seq-difference): Fix typo in docstring
6308         Add argument to reverse the meaning of ido-restrict-to-matches
6309         * lisp/ido.el (ido-restrict-to-matches): Add an optional argument
6310         to reverse the meaning (Bug#15631).
6312 2015-07-01  Eli Zaretskii  <eliz@gnu.org>
6314         Be more tolerant to fonts named "Foobar-12"
6315         * src/frame.c (x_set_font): If font_spec_from_name returns nil,
6316         don't barf; instead, request a new fontset to be generated.  This
6317         avoids unnecessarily rejecting fonts named against XLFD rules.  See
6318         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html,
6319         for the description of the original problem.
6320         * lisp/faces.el (set-face-attribute): Don't be fooled too easily
6321         by a hyphen in a font's name.
6323         Fix value of posn-at-pont in R2L lines
6324         * src/keyboard.c (Fposn_at_x_y, Fposn_at_point): Allow X pixel
6325         coordinate of -1, for a newline in a right-to-left line that
6326         overflowed into the left fringe.
6328 2015-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
6330         (cl--copy-slot-descriptor): Copy the `props' alist as well
6331         * lisp/emacs-lisp/cl-preloaded.el (cl--copy-slot-descriptor-1):
6332         Rename from cl--copy-slot-descriptor.
6333         (cl--copy-slot-descriptor): New function.  Copy the alist (bug#20914).
6335 2015-06-30  Stefan Monnier  <monnier@iro.umontreal.ca>
6337         * lisp/term/xterm.el (xterm--query): Avoid generating garbage
6338         (xterm-query-timeout): New var.
6339         (xterm--query): Use it.  Fallback on async method if we timeout before
6340         getting the first byte of the reply (bug#12354).
6342 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
6344         Spelling fixes
6346 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
6348         * doc/emacs/frames.texi (Frame Commands): Typo fix. (Bug#20946)
6350 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
6352         In strings, prefer plain ` and ' to \` and \'
6353         * lisp/allout.el (allout-insert-listified):
6354         * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
6355         * lisp/ls-lisp.el (ls-lisp-UCA-like-collation)
6356         (ls-lisp-string-lessp):
6357         * lisp/menu-bar.el (menu-bar-open):
6358         * lisp/obsolete/otodo-mode.el (todo-top-priorities):
6359         * lisp/progmodes/compile.el (compile):
6360         * lisp/progmodes/etags.el (tags-loop-scan):
6361         * lisp/progmodes/make-mode.el (makefile-browser-insert-continuation):
6362         * lisp/subr.el (posn-actual-col-row):
6363         * lisp/term/pc-win.el (x-list-fonts):
6364         * lisp/textmodes/texinfmt.el (texinfmt-version):
6365         * lisp/textmodes/texnfo-upd.el (texinfo-master-menu):
6366         * lisp/time.el (display-time-world-list):
6367         * lisp/tmm.el (tmm-menubar):
6368         * src/buffer.c (syms_of_buffer):
6369         * src/fileio.c (syms_of_fileio):
6370         Omit unnecessary and confusing backslash before quote.
6371         * lisp/erc/erc.el (erc-cmd-LASTLOG):
6372         * lisp/progmodes/flymake.el (flymake-fix-file-name):
6373         * lisp/progmodes/vhdl-mode.el (vhdl-in-extended-identifier-p):
6374         Fix string that was intended to escape a backslash and not a quote.
6376 2015-06-30  Glenn Morris  <rgm@gnu.org>
6378         * leim/Makefile.in, lisp/Makefile.in: Add missing EXEEXT definition.
6380         * lisp/Makefile.in (MH_E_SRC, TRAMP_SRC, CAL_SRC):
6381         Replace hard-coded lists with wildcard + filter-out.
6383         * configure.ac (system-configuration-features): Add X11, NS.
6385         Improve reproducibility of generated loaddefs file.
6386         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
6387         Make the return value the modtime of the input file (if no autoloads).
6388         (update-directory-autoloads): In the "no autoloads" section,
6389         use "most recent modtime" rather than "current time".
6391 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
6393         * lisp/emacs-lisp/package.el (package--remove-hidden): Fix logic
6394         (Bug#20930)
6396 2015-06-30  Nicolas Petton  <nicolas@petton.fr>
6398         * doc/lispref/sequences.texi: Add documentation for seq-min and seq-max.
6400         Add seq-min and seq-max
6401         Bump version number.
6402         * lisp/emacs-lisp/seq.el (seq-min, seq-max): New functions.
6403         * test/automated/seq-tests.el: Add tests for seq-min and seq-max.
6405 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
6407         Make sure sleep-for always delays for as long as it's told
6408         * src/dispnew.c (Fsleep_for): Call wait_reading_process_output in
6409         a loop, to ensure we always wait exactly the required amount of
6410         time.  (Bug#15990)
6412 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
6414         Fix pointer signedness glitch
6415         * src/font.c (font_load_for_lface): Use SSDATA, not SDATA.
6417 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
6419         Don't block changes in mouse pointer inside 'track-mouse'
6420         * etc/NEWS:
6421         * doc/lispref/frames.texi (Mouse Tracking): Document the special
6422         effect of setting 'track-mouse' to 'dragging'.
6423         * lisp/textmodes/artist.el (artist-mouse-draw-continously):
6424         * lisp/ruler-mode.el (ruler-mode-mouse-drag-any-column-iteration):
6425         * lisp/mouse-drag.el (mouse-drag-throw):
6426         * lisp/mouse.el (mouse-drag-line): Set 'track-mouse' to 'dragging'
6427         to avoid changes in the shape of the mouse pointer.
6428         * src/xdisp.c (define_frame_cursor1): Don't change the mouse
6429         pointer shape when do_mouse_tracking has the value of 'dragging',
6430         not just any non-nil value.  (Bug#20934)
6431         (syms_of_xdisp): DEFSYM 'dragging'.
6433 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
6435         * lisp/isearch.el (isearch-toggle-word): Fix toggle
6437         * lisp/emacs-lisp/package.el (package-compute-transaction):
6438         Don't assume version sorting.
6440         * lisp/emacs-lisp/package.el (package--save-selected-packages):
6441         Don't save before init time, to avoid overwriting configurations.
6442         (Bug#20855)
6444 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
6446         Add cross references.
6447         * doc/emacs/display.texi (Standard Faces, Fringes): Add cross
6448         references.
6450 2015-06-29  Ted Zlatanov  <tzz@lifelogs.com>
6452         cfengine.el: update for the upcoming CFEngine 3.7 release
6453         Update for the upcoming CFEngine 3.7 release: support macros and
6454         quoted context strings; reformat JSON; indent promise attributes 2
6455         units by default; give function parameter descriptions in the eldoc
6456         glue.
6457         * cfengine.el: Update version and docs and fix name.  Autoload
6458         `json-pretty-print'.  Support new features in 3.7.
6459         (cfengine-parameters-indent): Set default promise attribute indent to
6460         2 more than the promise itself.
6461         (cfengine3-macro-regex): New variable to match the new macro syntax.
6462         (cfengine3-font-lock-keywords): Use it to highlight macros.
6463         (cfengine3-indent-line): Use it to indent macros to column 0.
6464         (cfengine3-class-selector-regex): Update for the new quoted strings
6465         format.
6466         (cfengine3-reformat-json-string): New function to reformat a JSON
6467         string using `json-pretty-print'.
6468         (cfengine3-format-function-docstring): Use function parameter
6469         description if it's provided by the cf-promises syntax dump.
6471 2015-06-29  Michael R. Mauger  <michael@mauger.com>
6473         Cygwin emacsclient handles w32 file names
6475 2015-06-29  Katsumi Yamaoka  <yamaoka@jpl.org>
6477         * lisp/isearch.el (isearch-exit): Don't call isearch-done twice (bug#20925).
6479 2015-06-29  Eli Zaretskii  <eliz@gnu.org>
6481         * doc/lispref/text.texi (Sticky Properties): Improve wording.
6482         (Bug#20924)
6484         Allow font names that end in "-NN", where NN is a number
6485         * src/font.c (font_load_for_lface): If the font-spec didn't match
6486         any available fonts, try again without interpreting trailing "-NN"
6487         as the font size.  For the description of the original problem, see
6488         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html
6490         .gdbinit followup to changes in !USE_LSB_TAG
6491         * src/.gdbinit (xgetsym): Don't left-shift $ptr even under
6492         !USE_LSB_TAG, as Emacs no longer does.
6494 2015-06-29  Wolfgang Jenkner  <wjenkner@inode.at>
6496         * lisp/calc-store.el (calc-insert-permanent-variable): Heed case.
6497         Otherwise `s p' of f and F will stomp on each other's value.  (Bug#20916)
6499 2015-06-29  Artur Malabarba  <bruce.connor.am@gmail.com>
6501         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
6502         Don't block remember-pos if buffer isn't displayed.  (Bug#20921)
6504 2015-06-29  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
6506         * lisp/emacs-lisp/package.el (describe-package): Use symbol-at-point as additional guess
6508         * lisp/emacs-lisp/package.el (describe-package): Convert the guess to a string
6510 2015-06-28  Paul Eggert  <eggert@cs.ucla.edu>
6512         apropos-library quoting fix
6513         * lisp/apropos.el (apropos-library): Quote library consistently
6514         with the rest of the quoting used by apropos.
6516         Clarify interpreter-mode-alist doc
6517         * lisp/files.el (interpreter-mode-alist):
6518         Reword to avoid confusing quoting that wasn't working anyway.
6520 2015-06-28  Michael Albinus  <michael.albinus@gmx.de>
6522         Sync with Tramp 2.2.12
6523         * doc/misc/trampver.texi:
6524         * lisp/net/trampver.el: Update release number.
6525         * test/automated/tramp-tests.el (tramp-test13-make-directory):
6526         Fix cleanup.
6528 2015-06-28  Artur Malabarba  <bruce.connor.am@gmail.com>
6530         * lisp/isearch.el (isearch-mode): Don't char-fold regexps
6531         (bug#20913)
6533 2015-06-27  Dmitry Gutov  <dgutov@yandex.ru>
6535         Bind grep-highlight-matches around the rgrep call
6536         * lisp/progmodes/grep.el (zrgrep): Bind grep-highlight-matches
6537         around the rgrep call (bug#20728).
6539         Put "--color" before the other options in grep-command
6540         * lisp/progmodes/grep.el (grep-compute-defaults): Put "--color"
6541         before the other options in grep-command (bug#20912).
6543         Add --color Grep option to the command dynamically
6544         * lisp/progmodes/grep.el (grep-template, grep-find-template):
6545         Update the description for <C>.  (Bug#20728)
6546         (grep-compute-defaults): Don't add the --color option to
6547         grep-options.  Only add it to grep-command.
6548         (grep-expand-keywords): Expand the env value opts into <C>.
6549         (grep-expand-template): Replace cf in the env with the opts list,
6550         that can include -i and --color.
6551         * lisp/progmodes/xref.el (xref-collect-matches): Do not remove
6552         "--color=always" from the template, because we don't have to.
6554 2015-06-27  Paul Eggert  <eggert@cs.ucla.edu>
6556         cl-extra fixes for most-negative-fixnum
6557         * lisp/emacs-lisp/cl-extra.el (cl-gcd, cl-lcm, cl-random):
6558         Don't mishandle an argument equal to most-negative-fixnum,
6559         whose absolute value equals itself.
6560         (cl-gcd, cl-lcm): Use dolist rather than doing it by hand.
6562         Initialize cl--gensym-counter to 0
6563         Previously it was initialized to a random value, which made it
6564         harder to reproduce earlier Emacs runs.  The need for a random
6565         value went away when Emacs introduced and used the #: syntax for
6566         uninterned symbols (Bug#20862).
6567         * doc/misc/cl.texi (Creating Symbols, Common Lisp Compatibility):
6568         Document that cl--gensym-counter now starts with 0.
6569         * lisp/emacs-lisp/cl-lib.el (cl--gensym-counter): Remove.
6570         (cl--random-time): Move to near only remaining use.
6571         * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter): Initialize to 0.
6573         Improve docstring for macroexp-let2
6574         * lisp/emacs-lisp/macroexp.el (macroexp-let2):
6575         Improve as per suggestion by RMS in:
6576         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00621.html
6577         Also, rename args to match new doc string.
6579 2015-06-27  Eli Zaretskii  <eliz@gnu.org>
6581         Fix VC test suite on MS-Windows
6582         * lisp/vc/vc-svn.el (vc-svn-create-repo): Make sure the file: URL
6583         always starts with 3 slashes after the colon.
6584         * test/automated/vc-tests.el (vc-test--create-repo-function): Use
6585         'w32-application-type' to invoke CVS on MS-Windows with properly
6586         formatted CVSROOT directory name.
6588         Add a new function w32-application-type
6589         * src/w32proc.c (Fw32_application_type): New function.
6591         Avoid error in TLS connections due to incorrect format
6592         * src/gnutls.c (Fgnutls_boot): Use the %x conversion specifier in
6593         the call to 'error', instead of the unsupported %u.  Reported by
6594         lo2net <fangtao0901@gmail.com>.  (Bug#20908)
6596 2015-06-26  Artur Malabarba  <bruce.connor.am@gmail.com>
6598         * lisp/replace.el (replace-search): Fix regexp case (bug#20901)
6600 2015-06-26  Leo Liu  <sdl.web@gmail.com>
6602         Fix indentation for with-output-to-string
6603         * lisp/emacs-lisp/cl-indent.el: Fix indentation for
6604           `with-output-to-string' in elisp.
6605           Revert "lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string"
6606           This reverts commit 659199f2ca5f283fb246faa78a244e5ca25f53dd.
6608 2015-06-26  Eli Zaretskii  <eliz@gnu.org>
6610         Minor corrections in ELisp manual
6611         * doc/lispref/nonascii.texi (Character Properties): Correct
6612         inaccuracies in description of values of the Unicode properties.
6614         Fix invisible mouse pointers on Windows.
6615         * src/w32fns.c: Include windowsx.h.
6616         (w32_wnd_proc): If the mouse moved and the mouse pointer is
6617         invisible, make it visible again even when the main (Lisp)
6618         thread is busy.
6619         * src/w32term.c (w32_toggle_invisible_pointer): Rather then
6620         garbaging the frame have the input thread call SetCursor.
6622 2015-06-26  Martin Rudalics  <rudalics@gmx.at>
6624         Provide invisible mouse pointers on Windows.  (Bug#6105) (Bug#12922)
6625         * src/w32fns.c (w32_wnd_proc): Handle f->pointer_invisible
6626         for WM_SETCURSOR and WM_EMACS_SETCURSOR cases.
6627         * src/w32term.c (w32_hide_hourglass): Handle
6628         f->pointer_invisible.
6629         (w32_toggle_invisible_pointer): New function.
6630         (w32_create_terminal): Add w32_toggle_invisible_pointer as
6631         toggle_invisible_pointer_hook for this terminal.
6633 2015-06-25  Xue Fuqiao  <xfq.free@gmail.com>
6635         Doc fix for deletion commands
6636         'delete-char' does not respect the value of 'delete-active-region'.
6637         * doc/emacs/killing.texi (Deletion):
6638         Fix documentation for some single-char deletion commands.
6640         * doc/emacs/help.texi (Apropos):
6641         Improve documentation of 'apropos-do-all'.
6643         * doc/emacs/help.texi (Help Summary):
6644         Improve documentation of 'describe-mode'.
6646 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
6648         Fix submake dependency bug with .h files
6649         * src/Makefile.in ($(libsrc)/make-docfile$(EXEEXT)):
6650         Depend on $(lib)/libgnu.a, so that we build $(lib)/*/*.h
6651         before the submake in $(libsrc) would spin off a subsubmake
6652         for $(lib) in parallel with our submake for $(lib) (Bug#20894).
6654 2015-06-25  Artur Malabarba  <bruce.connor.am@gmail.com>
6656         * lisp/character-fold.el (character-fold-table): Reuse `table'
6658 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
6660         Translate undisplayable ‘ to `
6661         * doc/lispref/help.texi (Keys in Documentation):
6662         * lisp/international/mule-cmds.el (set-locale-environment):
6663         * lisp/term/w32console.el (terminal-init-w32console):
6664         * src/doc.c (Fsubstitute_command_keys, Vhelp_quote_translation):
6665         If ‘ is not displayable, transliterate it to `, not to '.  See:
6666         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00542.html
6668         Fix C99 incompatibilities in Cairo code
6669         * src/image.c (xpm_load) [USE_CAIRO]:
6670         * src/xterm.c (x_cr_accumulate_data) [USE_CAIRO]:
6671         Fix pointer signedness problem.
6673 2015-06-25  Oleh Krehel  <ohwoeowho@gmail.com>
6675         lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string
6676         * lisp/emacs-lisp/cl-indent.el (common-lisp-indent-function):
6677           `with-output-to-string' should have the same indent as `progn'.
6678           This is in line with the declaration of `with-output-to-string'.
6680 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
6682         Get ‘./configure; make -C src emacs’ to work
6683         Without this fix, lib/fcntl.h isn't built in time (Bug#20894).
6684         * lib-src/Makefile.in (../lib/libgnu.a):
6685         * src/Makefile.in ($(lib)/libgnu.a): Build all, not libgnu.a.
6687 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
6689         Fix GC bugs --with-wide-int and Qnil == 0
6690         Use the same alignment for the !USE_LSB_TAG case as for the
6691         more-typical USE_LSB_TAG case.  The attempt to support arbitrary
6692         alignments with !USE_LSB_TAG had subtle bugs in garbage collection
6693         once we changed the representation of symbols so that Qnil == 0.
6694         Problem reported by Eli Zaretskii (Bug#20862).
6695         * src/alloc.c (XMALLOC_HEADER_ALIGNMENT) [XMALLOC_OVERRUN_CHECK]:
6696         * src/alloc.c (vector_alignment, union aligned_Lisp_Symbol)
6697         (union aligned_Lisp_Misc, maybe_lisp_pointer, pure_alloc):
6698         Use same alignment for !USE_LSB_TAG as for USE_LSB_TAG.
6699         * src/alloc.c (POINTERS_MIGHT_HIDE_IN_OBJECTS): Remove.
6700         This optimization in the !USE_LSB_TAG case is no longer valid when
6701         symbols are represented via offsets.  Change the only use to
6702         assume that pointers might hide in objects.
6703         * src/lisp.h (alignas) [!USE_LSB_TAG]:
6704         Require support in this case, too.
6705         (TAG_SYMOFFSET, XSYMBOL) [!USE_LSB_TAG]: Do not shift the offset.
6706         This is OK, because the !USE_LSB_TAG case now applies only when
6707         Lisp_Object is wider than void *, so there's no longer any need
6708         to shift the offset.  Not shifting the offset means that
6709         symbol representations have the same alignment as pointers,
6710         which the GC assumes.
6712 2015-06-24  Xue Fuqiao  <xfq.free@gmail.com>
6714         * doc/lispintro/emacs-lisp-intro.texi (Data types):
6715         Improve documentation of 'substring'.
6717 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
6719         * lisp/character-fold.el (character-fold-table): Fix table generation
6721 2015-06-24  Glenn Morris  <rgm@gnu.org>
6723         * nextstep/Makefile.in (all): Make it the first target.
6724         (../src/emacs${EXEEXT}): Add rule for making it.
6726 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
6728         * etc/NEWS: Fix mention to old function name
6730         * lisp/character-fold.el: New file (Bug#20887)
6731         (character-fold-to-regexp): New function.
6732         * lisp/replace.el (replace-search): Check value of
6733         `character-fold-search'.
6734         * lisp/isearch.el: Move character-folding code to
6735         character-fold.el
6736         (isearch-toggle-character-fold): New command.
6737         (isearch-mode-map): Bind it to "\M-sf".
6738         (isearch-mode): Check value of `character-fold-search'.
6740 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
6742         * lisp/subr.el (remove-from-invisibility-spec): Handle the t case
6743         * lisp/subr.el (remove-from-invisibility-spec): Make sure `element'
6744         is visible even if it's not yet in buffer-invisibility-spec (bug#20468).
6746         * lisp/progmodes/xref.el: Avoid init-args in oref.
6747         * lisp/progmodes/xref.el (xref-location-group, xref-location-marker)
6748         (xref--insert-xrefs, xref-collect-references): Avoid init-args in oref.
6750 2015-06-24  Glenn Morris  <rgm@gnu.org>
6752         * Makefile.in (install-arch-dep): Don't set sticky bit on the binary.
6754 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
6756         * lisp/gnus/nnmaildir.el: Silence lexical warnings
6757         * lisp/gnus/nnmaildir.el (nnmaildir--prepare): Use a more
6758         functional style.
6759         (nnmaildir--update-nov): Remove unused var `numdir'.
6760         (nnmaildir-request-type, nnmaildir--scan, nnmaildir-request-newgroups)
6761         (nnmaildir-request-group, nnmaildir-request-create-group)
6762         (nnmaildir-request-post, nnmaildir-request-move-article)
6763         (nnmaildir-request-accept-article, nnmaildir-active-number): Mark unused args.
6764         (nnmaildir-get-new-mail, nnmaildir-group-alist)
6765         (nnmaildir-active-file): Declare.
6766         (nnmaildir-request-scan): Remove unused vars `group' and `grp-dir'.
6767         (nnmaildir-request-update-info): Remove unused vars `dotfile', `num',
6768         `mark', `end', `new-mark', and `mark-sym'.
6769         (nnmaildir-retrieve-headers): Remove unused args `srv-dir', `dir',
6770         `nlist2'.
6771         (nnmaildir-request-expire-articles):
6772         Remove unused vars `article', `stop' and `nlist2'.
6773         (nnmaildir-request-set-mark): Remove unused vars `begin', `article' and
6774         `end'.  Use nnmaildir--article when dyn-binding is needed.
6775         Give the value directly in the `let' for `del-mark', `del-action',
6776         `add-action', and `set-action'.  Don't use `add-to-list' on a local var.
6777         (nnmaildir-close-server): Declare those local vars that need to be
6778         dyn-bound.
6780 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
6782         * src/keyboard.h (kbd_buffer_store_event_hold): Remove unused local.
6784         Port selection info fix to clang
6785         * src/keyboard.h (kbd_buffer_store_event_hold):
6786         Don't assume C11 semantics for alignof (Bug#20756).
6788         Fix bug that munged selection info
6789         On some optimizing C compilers, copying a structure did not
6790         copy the padding bytes between elements, and the type punning
6791         between struct input_data and struct selection_input_data did
6792         not work.  Change the C code to use a proper union type instead.
6793         Problem reported by YAMAMOTO Mitsuharu (Bug#20756).
6794         * src/keyboard.c (kbd_buffer, kbd_fetch_ptr, kbd_store_ptr)
6795         (readable_events, discard_mouse_events, kbd_buffer_events_waiting)
6796         (kbd_buffer_get_event, process_special_events, stuff_buffered_input)
6797         (mark_kboards):
6798         Use union buffered_input_event, not struct input_event.
6799         (clear_event, deliver_input_available_signal, process_special_events):
6800         Remove unnecessary forward decls.
6801         (kbd_buffer_store_buffered_event): New function, mostly just the
6802         old kbd_buffer_store_event_hold, except its argument is of type
6803         union buffered_input_event, not struct input_event.
6804         (kbd_buffer_unget_event): Define only if HAVE_X11, since it's
6805         not needed otherwise.  Argument is now of type
6806         struct selection_input_event *, not struct input_event *.
6807         All callers changed.
6808         (clear_event): Arg is now of type union buffered_input_event *,
6809         not struct input_event *.  All callers changed.
6810         * src/keyboard.h [HAVE_X11]: Include "xterm.h".
6811         (union buffered_input_event): New type.
6812         (kbd_buffer_store_event_hold): Now an inline function,
6813         defined here.
6814         * src/termhooks.h (EVENT_KIND_WIDTH): New constant.
6815         (struct input_event): Use it.
6816         * src/xselect.c (struct selection_event_queue):
6817         Make elements be of type struct selection_input_event,
6818         not struct input_event.
6819         (selection_input_event_equal): New static function.
6820         (x_queue_event): Use it.
6821         (x_queue_event, x_decline_selection_request)
6822         (x_selection_current_request, x_reply_selection_request)
6823         (x_handle_selection_request, x_handle_selection_clear)
6824         (x_handle_selection_event): Use struct selection_input_event,
6825         not struct input_event.  All callers changed.
6826         (x_convert_selection): Omit unused first arg.  All callers changed.
6827         (Fx_disown_selection_internal): Omit unnecessary union.
6828         * src/xterm.c (handle_one_xevent): Use new union buffered_input_event
6829         rather than rolling our own equivalent.  Prefer sie.kind when
6830         setting up that kind of structure.
6831         Call kbd_buffer_store_buffered_event, not kbd_buffer_store_event_hold.
6832         * src/xterm.h (struct selection_input_event: Use EVENT_KIND_WIDTH.
6833         (SELECTION_EVENT_DISPLAY, SELECTION_EVENT_DPYINFO)
6834         (SELECTION_EVENT_REQUESTOR, SELECTION_EVENT_SELECTION)
6835         (SELECTION_EVENT_TARGET, SELECTION_EVENT_PROPERTY)
6836         (SELECTION_EVENT_TIME, x_handle_selection_event):
6837         Arg is now of type struct selection_input_event *)
6838         not struct input_event *.  All callers changed.
6840 2015-06-23  Glenn Morris  <rgm@gnu.org>
6842         * Makefile.in (install-arch-dep): Simplify with Make conditionals.
6844 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
6846         * lisp/isearch.el: Fold many unicode characters to ASCII
6847         (isearch-character-fold-search, isearch--character-fold-extras)
6848         (isearch--character-fold-table): New variable.
6849         (isearch--character-folded-regexp): New function.
6850         (isearch-search-fun-default): Use them.
6851         * lisp/replace.el (replace-character-fold): New variable.
6852         (replace-search): Use it.
6853         * etc/NEWS: Document it.
6855 2015-06-23  Glenn Morris  <rgm@gnu.org>
6857         Check for an input event before showing a dialog box.  (Bug#20813)
6858         * lisp/subr.el (y-or-n-p):
6859         * src/fns.c (Fyes_or_no_p): Check last-input-event as well
6860         as last-nonmenu-event.
6862 2015-06-23  Jürgen Hartmann  <juergen_hartman_@hotmail.com>  (tiny change)
6864         Respect ‘switch-to-visible-buffer’ more rigidly.  (Bug#20861)
6865         * lisp/window.el (switch-to-visible-buffer): Doc adjustment.
6866         (switch-to-prev-buffer, switch-to-next-buffer): Respect
6867         switch-to-visible-buffer independent of the windows history.
6869 2015-06-23  Paul Eggert  <eggert@cs.ucla.edu>
6871         * src/keyboard.c (last_timer_event): Remove unused var.
6873 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
6875         * test/automated/package-test.el (package-test-update-listing):
6876         Fix test.
6878 2015-06-23  Glenn Morris  <rgm@gnu.org>
6880         Revert 2014-06-25 nextstep/Makefile change.
6881         * nextstep/Makefile.in (${ns_appbindir}): Remove rule.
6882         (${ns_appbindir}/Emacs, links): Create ns_appbindir in the rule,
6883         not as an order-only prerequisite.
6885         * configure.ac (--with-ns): Enable by default on OS X.
6887 2015-06-23  Leo Liu  <sdl.web@gmail.com>
6889         Fix shell-for/backward-command to exclude spaces
6890         * lisp/shell.el (shell-forward-command, shell-backward-command):
6891           Handle the 'move case from re-search-forward/backward.
6892           fixes debbugs:20873
6894 2015-06-22  Juri Linkov  <juri@linkov.net>
6896         * lisp/replace.el (query-replace-read-from): Add separator to
6897         the local binding of text-property-default-nonsticky.  (Bug#20690)
6899         * lisp/simple.el (shell-command-on-region): Replace 'error' with 'user-error'.
6900         (Bug#20785)
6902 2015-06-22  Ken Brown  <kbrown@cornell.edu>
6904         Enable CPU profiling on Cygwin
6905         * src/syssignal.h [CYGWIN] (PROFILER_CPU_SUPPORT): Revert previous
6906         change that undefined this.
6907         (SIGEV_SIGNAL): Ensure that this is defined as a macro.
6908         * src/profiler.c [CYGWIN] (timer_getoverrun): Define as a macro on
6909           Cygwin.
6911         Improve diagnostics of profiler-cpu-start
6912         * src/profiler.c (setup_cpu_timer): Change return type to 'int';
6913         return -1 if the sampling interval is invalid.
6914         (Fprofiler_cpu_start): Improve error message if 'setup_cpu_timer'
6915         fails.  (Bug#20843)
6917 2015-06-22  Artur Malabarba  <bruce.connor.am@gmail.com>
6919         * lisp/emacs-lisp/package.el: Exclude packages by name
6920         (package-hidden-regexps): New variable.
6921         (package-menu--refresh): Use it.
6922         (package-menu-hide-package): New command.
6924         * lisp/emacs-lisp/package.el: Rename hide-obsolete to toggle-hiding
6926 2015-06-22  Eli Zaretskii  <eliz@gnu.org>
6928         Fix debug-timer-check on systems without HAVE_TIMERFD
6929         * src/atimer.c (Fdebug_timer_check) [!HAVE_TIMERFD]: Actively run
6930         the expired timers, since wait_reading_process_output doesn't.
6931         (debug_timer_callback): Enlarge the tolerance to 20 msec.
6933         Fix RCS crashes in vc-test
6934         * lisp/vc/vc-rcs.el (vc-rcs-register): Avoid crashes with some old
6935         ports of 'ci' on MS-Windows by always passing the -t- switch.
6937 2015-06-22  Glenn Morris  <rgm@gnu.org>
6939         * doc/emacs/package.texi (Packages):
6940         * doc/emacs/trouble.texi (Known Problems): Remove faq cross-references.
6942         * doc/misc/efaq-w32.texi (Downloading): Copyedits.  (Bug#20851)
6944 2015-06-22  Paul Eggert  <eggert@cs.ucla.edu>
6946         Port tests to help-quote-translation
6947         * test/automated/ert-x-tests.el (ert-test-describe-test):
6948         * test/automated/package-test.el (package-test-describe-package)
6949         (package-test-signed): Allow straight quotes, too.
6951 2015-06-22  Dmitry Gutov  <dgutov@yandex.ru>
6953         Make find-function-on-key use the current window
6954         * lisp/emacs-lisp/find-func.el (find-function-on-key-do-it):
6955         Extract from `find-function-on-key', add a second argument.
6956         (find-function-on-key): Use it (bug#19679).
6957         (find-function-on-key-other-window)
6958         (find-function-on-key-other-frame): New commands.
6960 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
6962         Revert "Define `map-elt' as a generalized variable"
6963         This reverts commit 8b6d82d3ca86f76ed964063b3941a7c6ab0bf1c6.
6965 2015-06-21  Ken Brown  <kbrown@cornell.edu>
6967         Drop support for CPU profiling on Cygwin
6968         * src/syssignal.h (PROFILER_CPU_SUPPORT): Don't define on Cygwin.
6969         (Bug#20843)
6971 2015-06-21  Paul Eggert  <eggert@cs.ucla.edu>
6973         Fix some “nested” quoting confusion in doc strings
6974         * lisp/emacs-lisp/advice.el (ad-map-arglists):
6975         * lisp/kermit.el (kermit-clean-on):
6976         * lisp/mh-e/mh-comp.el (mh-repl-group-formfile):
6977         * src/keyboard.c (Frecursive_edit):
6978         Use curved quotes when quoting text containing apostrophe,
6979         so that the apostrophe isn't curved in the output.
6981 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
6983         Define `map-elt' as a generalized variable
6984         * lisp/emacs-lisp/map.el (map-elt): Define a gv-expander.
6985         * lisp/emacs-lisp/map.el (map--dispatch): Tighten the code.
6986         * lisp/emacs-lisp/map.el (map-put): Redefine it as a function using a
6987         `setf' with `map-elt'.
6988         * test/automated/map-tests.el: Comment out `test-map-put-literal'.
6990 2015-06-21  Michael Albinus  <michael.albinus@gmx.de>
6992         Improve error handling in tramp-adb.el
6993         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy):
6994         Improve error handling.
6996 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
6998         Reuse `alist-get' in map.el
6999         * lisp/emacs-lisp/map.el (map-elt): Use `alist-get' to retrieve alist
7000         elements.
7002 2015-06-21  Eli Zaretskii  <eliz@gnu.org>
7004         Fix bytecomp-tests--warnings when $TMPDIR has a long name
7005         * test/automated/bytecomp-tests.el (bytecomp-tests--warnings):
7006         Allow the warning to begin on the 3rd, not only 2nd line, which
7007         happens if temporary-file-directory has a very long name.
7009         Expect 2 icalendar tests to fail on MS-Windows
7010         * test/automated/icalendar-tests.el (icalendar-import-with-timezone)
7011         (icalendar-real-world): Make them expected failures on MS-Windows.
7013 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
7015         Improve port of settings UI to older displays
7016         * lisp/cus-start.el (standard): Don't assume curved quotes are
7017         easily distinguishable when users are tinkering with a setting
7018         that affects how curved quotes are generated.
7020         Fix quoting in electric-quote-mode doc string
7021         * lisp/electric.el (electric-quote-mode): Fix quoting.
7022         This is a fallout from the recent change introducing
7023         ‘help-quote-translation’.
7025         Spelling fix
7027         * doc/misc/texinfo.tex, lib/set-permissions.c: Merge from gnulib.
7029         * src/doc.c (syms_of_doc): Remove unused symbols.
7031 2015-06-20  Martin Rudalics  <rudalics@gmx.at>
7033         In ‘window-state-put’ undedicate target window.  (Bug#20848)
7034         * lisp/window.el (window-state-put): Undedicate target window
7035         before putting STATE into it.  (Bug#20848)
7037 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
7039         Merge from origin/emacs-24
7040         a5e6f33 Fixes: debbugs:20832
7041         b9f02cf Fixes: debbugs:20832
7043 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
7045         Fix file-in-directory-p when the directory is UNC
7046         * lisp/files.el (file-in-directory-p): Support files and
7047         directories that begin with "//".  (Bug#20844)
7049 2015-06-19  Stephen Berman  <stephen.berman@gmx.net>
7051         (Bug#20832)
7052         * lisp/calendar/todo-mode.el (todo-show): Don't visit todo file
7053         in the minibuffer.
7055 2015-06-19  Nicolas Richard  <youngfrog@members.fsf.org>
7057         (Bug#20832)
7058         * lisp/calendar/todo-mode.el (todo-show): Signal an error
7059         if buffer for adding new todo file is empty but modified.
7061 2015-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
7063         (filepos-to-bufferpos): Further tweaks to the utf-16 code
7064         * lisp/international/mule-util.el (filepos-to-bufferpos):
7065         Fix typo.  Move non-exact check to the utf-16 branch (the only one
7066         affected).  Don't use byte-to-position for the utf-16 case.
7068 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
7070         Minor fixes in filepos-to-bufferpos
7071         * lisp/international/mule-util.el (filepos-to-bufferpos): Remove
7072         test for utf-8-emacs.  Exempt single-byte encodings from the
7073         'use-exact' path when QUALITY is 'exact'.  Test UTF-16 encodings
7074         for BOM before subtracting 2 bytes.  Use 'identity' when adjusting
7075         UTF-16 encoded files for CR-LF EOLs.
7077 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
7079         Improve the optional translation of quotes
7080         Fix several problems with the recently-added custom variable
7081         help-quote-translation where the code would quote inconsistently
7082         in help buffers.  Add support for quoting 'like this', which
7083         is common in other GNU programs in ASCII environments.  Change
7084         help-quote-translation to use more mnemonic values: values are now the
7085         initial quoting char, e.g., (setq help-quote-translation ?`) gets the
7086         traditional Emacs help-buffer quoting style `like this'.  Change the
7087         default behavior of substitute-command-keys to match what's done in
7088         set-locale-environment, i.e., quote ‘like this’ if displayable,
7089         'like this' otherwise.
7090         * doc/lispref/help.texi (Keys in Documentation): Document
7091         new behavior of substitute-command-keys, and document
7092         help-quote-translation.
7093         * doc/lispref/tips.texi (Documentation Tips):
7094         Mention the effect of help-quote-translation.
7095         * etc/NEWS: Mention new behavior of substitute-command-keys,
7096         and merge help-quote-translation news into it.
7097         When talking about doc strings, mention new ways to type quotes.
7098         * lisp/cedet/mode-local.el (overload-docstring-extension):
7099         Revert my recent change to this function, which shouldn't be
7100         needed as the result is a doc string.
7101         * lisp/cedet/mode-local.el (mode-local-print-binding)
7102         (mode-local-describe-bindings-2):
7103         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
7104         * lisp/cus-theme.el (describe-theme-1):
7105         * lisp/descr-text.el (describe-text-properties-1, describe-char):
7106         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
7107         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
7108         (eieio-help-constructor):
7109         * lisp/emacs-lisp/package.el (describe-package-1):
7110         * lisp/faces.el (describe-face):
7111         * lisp/help-fns.el (help-fns--key-bindings)
7112         (help-fns--compiler-macro, help-fns--parent-mode)
7113         (help-fns--obsolete, help-fns--interactive-only)
7114         (describe-function-1, describe-variable):
7115         * lisp/help.el (describe-mode):
7116         Use substitute-command-keys to ensure a more-consistent quoting
7117         style in help buffers.
7118         * lisp/cus-start.el (standard):
7119         Document new help-quote-translation behavior.
7120         * lisp/emacs-lisp/lisp-mode.el (lisp-fdefs):
7121         * lisp/help-mode.el (help-xref-symbol-regexp, help-xref-info-regexp)
7122         (help-xref-url-regexp):
7123         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
7124         * lisp/wid-edit.el (widget-documentation-link-regexp):
7125         Also match 'foo', in case we're in a help buffer generated when
7126         help-quote-translation is ?'.
7127         * src/doc.c: Include disptab.h, for DISP_CHAR_VECTOR.
7128         (LEFT_SINGLE_QUOTATION_MARK, uLSQM0, uLSQM1, uLSQM2, uRSQM0)
7129         (uRSQM1, uRSQM2, LSQM, RSQM): New constants.
7130         (Fsubstitute_command_keys): Document and implement new behavior.
7131         (Vhelp_quote_translation): Document new behavior.
7133 2015-06-18  Glenn Morris  <rgm@gnu.org>
7135         * lisp/cus-start.el (help-quote-translation): Add :version.
7137         * src/doc.c (Fsubstitute_command_keys): Make previous change compile.
7139 2015-06-18  Alan Mackenzie  <acm@muc.de>
7141         Make translation of quotes to curly in doc strings optional.
7142         src/doc.c (traditional, prefer-unicode): new symbols.
7143         (help-quote-translation): new variable.
7144         (Fsubstitute_command_keys): make translation of quotes dependent on
7145         `help-quote-translation'; also translate curly quotes back to ASCII
7146         ones.
7147         lisp/cus-start.el (top-level): Add a customization entry for
7148         `help-quote-translation'.
7150 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
7152         * lisp/emacs-lisp/package.el: Don't always propagate async errors
7153         (package--with-work-buffer-async): Only propagate the error if the
7154         callback returns non-nil.
7155         (package--download-one-archive): Return nil on the signature
7156         checking callback if we accept unsigned.
7157         (package--download-and-read-archives): Return non-nil on the
7158         archive download callback.
7160 2015-06-18  Martin Rudalics  <rudalics@gmx.at>
7162         Set image_cache_refcount before x_default_parameter calls.  (Bug#20802)
7163         * src/nsfns.m (Fx_create_frame):
7164         * src/xfns.c (Fx_create_frame, x_create_tip_frame): Move setting
7165         image_cache_refcount before first x_default_parameter call.
7167 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
7169         Improve and extend filepos-to-bufferpos
7170         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
7171         Don't barf if F returns nil for some argument.
7172         (filepos-to-bufferpos): Expand to support UTF-16 and not assume
7173         that every encoding of type 'charset' is single-byte.
7175 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
7177         * lisp/emacs-lisp/package.el (package-menu--perform-transaction):
7178         Properly delete packages.  (Bug#20836)
7180 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
7182         Update data files from just-released Unicode 8.0
7183         * etc/NEWS: Update wording since Unicode 8.0 is no longer in draft
7184         status.
7185         * test/BidiCharacterTest.txt: Update from Unicode 8.0.
7186         * admin/unidata/BidiMirroring.txt:
7187         * admin/unidata/BidiBrackets.txt:
7188         * admin/unidata/UnicodeData.txt: Update from Unicode 8.0.
7190 2015-06-18  Paul Eggert  <eggert@cs.ucla.edu>
7192         Document curved quotes a bit better
7193         * doc/emacs/basic.texi (Inserting Text):
7194         Mention C-x 8.  Change example to use curved quote rather
7195         than infinity, as this lets us give more ways to do it.
7196         * doc/emacs/mule.texi (International Chars): Mention C-x 8 shortcuts
7197         and quotation marks.
7198         * doc/emacs/text.texi (Quotation Marks):
7199         * doc/lispref/tips.texi (Documentation Tips):
7200         Add "curly quotes" and "curved quotes" to the index.
7201         * doc/emacs/text.texi (Quotation Marks):
7202         Give the C-x 8 shorthands for curved quotes.
7203         Cross-reference to "Quotation Marks".
7205 2015-06-17  Daiki Ueno  <ueno@gnu.org>
7207         Add pinentry.el for better GnuPG integration
7208         * lisp/pinentry.el: New file.
7209         * etc/NEWS: Add entry about pinentry.el.
7210         * lisp/epg.el (epg--start): Set INSIDE_EMACS envvar.
7211         (Bug#20550)
7213 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
7215         * lisp/emacs-lisp/package.el: Slightly better error reporting.
7217 2015-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
7219         (define-minor-mode): Use setq-default for :global minor modes
7220         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode):
7221         Use setq-default for :global minor modes (bug#20712).
7223 2015-06-17  Eli Zaretskii  <eliz@gnu.org>
7225         Avoid infloop in redisplay with tall images
7226         * src/xdisp.c (try_scrolling): Prevent an infloop when scrolling
7227         down near ZV.  (Bug#20808)
7228         Call bidi_unshelve_cache to avoid memory leaks.  Use IT_CHARPOS
7229         instead of CHARPOS.
7231 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
7233         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
7234         Fix error reporting.
7236         * lisp/let-alist.el: move to lisp/emacs-lisp/let-alist.el
7238         * lisp/emacs-lisp/package.el: Revert buffer after any operation
7239         Call `package-menu--post-refresh' after any operation that changes
7240         the package database (`package-install' and `package-delete').  To
7241         avoid performance issues in large transactions, these functions
7242         add `post-refresh' to `post-command-hook' instead of calling it
7243         immediately.
7244         (package-menu--mark-or-notify-upgrades): New function.
7245         (list-packages): Add it to `package--post-download-archives-hook'.
7246         (package-menu--post-refresh): Lose the upgrade-checking code, add
7247         code to remove itself from `post-command-hook'.
7248         (package-install, package-delete): Add it to `post-command-hook'.
7249         (package-menu-execute): Don't call `package-menu--post-refresh'.
7251 2015-06-17  Stephen Leake  <stephen_leake@stephe-leake.org>
7253         Add missing function xref-location-group for elisp-mode.
7254         * lisp/progmodes/elisp-mode.el: Add missing function xref-location-group.
7256 2015-06-17  Wolfgang Jenkner  <wjenkner@inode.at>
7258         * src/editfns.c (Fbyte_to_position): Fix bytepos not at char boundary.
7259         The behavior now matches the description in the manual.  (Bug#20783)
7261 2015-06-17  Xue Fuqiao  <xfq.free@gmail.com>
7263         Update tutorials/TUTORIAL.cn
7264         * etc/tutorials/TUTORIAL.cn: Update; synchronize with TUTORIAL.
7266 2015-06-17  Glenn Morris  <rgm@gnu.org>
7268         Generate char-script-table from Unicode source.  (Bug#20789)
7269         * admin/unidata/Makefile.in (AWK): New, set by configure.
7270         (all): Add charscript.el.
7271         (blocks): New variable.
7272         (charscript.el, ${unidir}/charscript.el): New targets.
7273         (extraclean): Also remove generated charscript.el.
7274         * admin/unidata/blocks.awk: New script.
7275         * admin/unidata/Blocks.txt: New data file, from unicode.org.
7276         * lisp/international/characters.el: Load charscript.
7277         * src/Makefile.in (charscript): New variable.
7278         (${charscript}): New target.
7279         (${lispintdir}/characters.elc): Depend on charscript.elc.
7280         (temacs$(EXEEXT)): Depend on charscript.
7282         * lisp/international/characters.el (char-script-table): Tweak
7283         some ranges to better match the source.  (Bug#20789#17)
7285         Remove "no-byte-compile: t" from a few files.
7286         * lisp/obsolete/bruce.el, lisp/obsolete/keyswap.el:
7287         * lisp/obsolete/patcomp.el: No reason not to compile these.
7289 2015-06-16  Glenn Morris  <rgm@gnu.org>
7291         Fix some typos in copied Unicode data.  (Bug#20789)
7292         * lisp/international/characters.el (char-script-table):
7293         * lisp/international/fontset.el (script-representative-chars)
7294         (setup-default-fontset): Fix typos.
7296         * lisp/emacs-lisp/check-declare.el (check-declare-warn):
7297         Don't print filename twice (it's in the prefix now).
7299         * lisp/emacs-lisp/pcase.el (pcase--u1): Revert earlier workaround.
7300         No longer needed.
7302         Address a compilation warning.
7303         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defalias):
7304         Replace 't' with '_' in pcase.
7306         Address some check-declare warnings.
7307         * lisp/simple.el (tabulated-list-print):
7308         * lisp/progmodes/elisp-mode.el (xref-collect-matches):
7309         * lisp/term/ns-win.el (ns-selection-owner-p, ns-selection-exists-p)
7310         (ns-get-selection): Update declarations.
7312         Address some compilation warnings.
7313         * lisp/elec-pair.el (electric-pair-post-self-insert-function):
7314         * lisp/vc/vc-git.el (vc-git-file-type-as-string):
7315         Replace 't' with '_' in pcase.
7317         Address some compilation warnings.
7318         * lisp/face-remap.el (text-scale-adjust):
7319         * lisp/menu-bar.el (popup-menu-normalize-position):
7320         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand):
7321         * lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-warn):
7322         * lisp/emacs-lisp/generator.el (cps--transform-1):
7323         * lisp/emacs-lisp/macroexp.el (macroexp--expand-all):
7324         * lisp/obsolete/vc-arch.el (vc-arch-mode-line-string):
7325         * lisp/progmodes/octave.el (octave-goto-function-definition)
7326         (octave-find-definition-default-filename):
7327         Replace 't' with '_' in pcase.
7329         * lisp/emacs-lisp/pcase.el (pcase--u1):
7330         Paper-over today's bootstrap failure.
7332 2015-06-16  Nicolas Petton  <nicolas@petton.fr>
7334         * lisp/emacs-lisp/seq.el: Fix a byte-compiler warnings related to pcase.
7336         * lisp/emacs-lisp/map.el (map-into): Fix a byte-compiler warning.
7338         Better confirmation message in `find-alternate-file' (Bug#20830)
7339         * lisp/files.el (find-alternate-file'): Improve the confirmation
7340         message to show the buffer name.
7342         Better docstring for null. (Bug#20815)
7343         * src/data.c (null): Improves the docstring, saying what null returns
7344         when OBJECT is non-nil.
7346 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
7348         * lisp/net/newst-treeview.el: Use lexical-binding.
7350         (filepos-to-bufferpos): Add missing cases.  Make sure it terminates.
7351         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
7352         New auxiliary function, extracted from filepos-to-bufferpos.
7353         Make sure it terminates.
7354         (filepos-to-bufferpos): Use it to fix the latin-1-dos case.
7355         Add support for the `exact' quality.
7357 2015-06-16  Cédric Chépied  <cedric.chepied@gmail.com>
7359         Identify feeds in newsticker treeview with :nt-feed property
7360         * lisp/net/newst-treeview.el:
7361         (newsticker--treeview-nodes-eq): Use property :nt-feed instead of :tag.
7363 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
7365         * lisp/emacs-lisp/pcase.el: Improve docs and error handling
7366         (pcase--self-quoting-p): Floats aren't self-quoting.
7367         (pcase): Tweak docstring.
7368         (pcase--u1): Deprecate the t pattern.  Improve error detection for
7369         the nil pattern.
7370         (\`): Tweak docstring.  Signal an error for unrecognized cases.
7371         (bug#20784)
7373 2015-06-16  Eli Zaretskii  <eliz@gnu.org>
7375         Fix infloop in filepos-to-bufferpos
7376         * lisp/international/mule-util.el (filepos-to-bufferpos): Fix EOL
7377         offset calculation, and make it conditional on the eol-type of the
7378         file's encoding.  (Bug#20825)
7380 2015-06-16  Martin Rudalics  <rudalics@gmx.at>
7382         Fix handling of image cache refcounts.  (Bug#20802)
7383         This backports Eli Zaretskii's solution of this problem for W32
7384         to X and NS.
7385         * src/nsfns.m (image_cache_refcount): Define unconditionally.
7386         (unwind_create_frame): If the image cache's reference count
7387         hasn't been updated yet, do that now.
7388         (Fx_create_frame): Set image_cache_refcount unconditionally.
7389         * src/xfns.c (image_cache_refcount): Define unconditionally.
7390         (unwind_create_frame): If the image cache's reference count
7391         hasn't been updated yet, do that now.
7392         (Fx_create_frame, x_create_tip_frame): Set image_cache_refcount
7393         unconditionally.
7394         * src/w32fns.c (image_cache_refcount): Make it a ptrdiff_t as on
7395         X and NS.
7397 2015-06-16  Nils Ackermann  <nils@ackermath.info>
7399         Improve reftex-label-regexps default value
7400         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Make
7401         keyvals label regexp more strict to better cope with unbalanced
7402         brackets common in math documents.
7404 2015-06-16  Glenn Morris  <rgm@gnu.org>
7406         * doc/emacs/calendar.texi (Format of Diary File):
7407         Move "nonmarking" from here...
7408         (Displaying the Diary): ... to here.
7410         * doc/emacs/calendar.texi (Format of Diary File, Displaying the Diary):
7411         Swap the order of these nodes.
7412         * doc/emacs/emacs.texi: Update detailed menu for the above change.
7414         * doc/emacs/calendar.texi (Specified Dates, Special Diary Entries):
7415         Update date of examples.
7416         (Diary, Format of Diary File): Move example from former to latter.
7417         Reduce duplication.
7419         No need for cp51932.el, eucjp-ms.el to not be compiled any more.
7420         * admin/charsets/cp51932.awk, admin/charsets/eucjp-ms.awk:
7421         Don't set no-byte-compile in the outputs.
7422         * lisp/loadup.el: Don't specify uncompiled cp51932, eucjp-ms.
7424 2015-06-15  Glenn Morris  <rgm@gnu.org>
7426         * lisp/calendar/calendar.el (diary-file): Use locate-user-emacs-file.
7427         * doc/emacs/calendar.texi (Diary, Format of Diary File):
7428         Update for above diary-file change.
7429         : * etc/NEWS: Mention this.
7431         * lisp/macros.el (name-last-kbd-macro, kbd-macro-query)
7432         (apply-macro-to-region-lines): Use user-error.
7434         * lisp/textmodes/page-ext.el (add-new-page, pages-directory)
7435         (pages-directory-for-addresses): Doc fixes.
7437 2015-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
7439         * lisp/info.el: Cleanup bytepos/charpos issues
7440         * lisp/international/mule-util.el: Use lexical-binding.
7441         (filepos-to-bufferpos): New function.
7442         * lisp/info.el (Info-find-in-tag-table-1): Use 0-based file positions.
7443         (Info-find-node-2): Use filepos-to-bufferpos (bug#20704).
7444         (Info-read-subfile, Info-search): Use 0-based file positions.
7446         * lisp/progmodes/perl-mode.el: Refine handling of /re/ and y/abc/def/
7447         (perl--syntax-exp-intro-keywords): New var.
7448         (perl--syntax-exp-intro-regexp, perl-syntax-propertize-function): Use it.
7449         (bug#20800).
7451 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
7453         Fix quoting when making derived mode docstring
7454         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
7455         Nest regexp-quote inside format, not the reverse.
7456         Problem reported by Artur Malabarba in:
7457         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00206.html
7459 2015-06-15  Eli Zaretskii  <eliz@gnu.org>
7461         Fix current-iso639-language on MS-Windows
7462         * lisp/international/mule-cmds.el (set-locale-environment):
7463         Downcase the locale name before interning it.  This is so the
7464         'current-iso639-language' on MS-Windows matches the ':lang'
7465         property of font-spec objects.
7467         Limit Symbola usage some more
7468         * lisp/international/fontset.el (setup-default-fontset): Limit
7469         Symbol coverage of Currency Symbols to u+20B6..u+20CF.
7470         (Bug#20727)
7472 2015-06-15  Nicolas Petton  <nicolas@petton.fr>
7474         * lisp/emacs-lisp/map.el (map-let): Better docstring.
7476 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
7478         Spelling fixes
7480 2015-06-14  Glenn Morris  <rgm@gnu.org>
7482         * lisp/version.el (emacs-repository-version-git): Demote errors.
7483         Check result is a hash.
7485 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
7487         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
7488         Catch errors that happen before going async.  (Bug#20809)
7490 2015-06-14  Eli Zaretskii  <eliz@gnu.org>
7492         Another improvement of documentation of set-fontset-font
7493         * doc/lispref/display.texi (Fontsets): Say explicitly that
7494         CHARACTER can be a single codepoint.
7495         * src/fontset.c (Fset_fontset_font): Doc fix.
7497         Another improvement for symbol and punctuation characters
7498         * lisp/international/fontset.el (setup-default-fontset): Exclude
7499         from Symbola character ranges for symbols and punctuation covered
7500         well by popular Unicode fonts.  Prefer fixed-misc Unicode font, if
7501         installed and where its coverage of symbols and punctuation is
7502         known to be good.  (Bug#20727)
7504 2015-06-14  Christoph Wedler  <christoph.wedler@sap.com>
7506         Some generic support for multi-mode indentation.
7507                 * lisp/progmodes/prog-mode.el (prog-indentation-context): New
7508                 variable.
7509                 (prog-first-column, prog-widen): New convenience functions.
7511 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
7513         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
7514         Don't assume that `tabulated-list-printer' will leave point at the
7515         end of the buffer.  (Bug#20810)
7517 2015-06-13  Glenn Morris  <rgm@gnu.org>
7519         Tweaks for getting repository version; a bit more like it was for bzr.
7520         * lisp/version.el (emacs-repository-version-git)
7521         (emacs-repository--version-git-1): New functions,
7522         split from emacs-repository-get-version.
7523         (emacs-repository-get-version): Make the second argument meaningful.
7525         * lisp/startup.el (command-line-1): Inform if skipping relative
7526         file names due to deleted PWD.
7528         * src/xsmfns.c (x_session_initialize): Avoid libSM crash
7529         when starup directory is missing.  (Bug#18851)
7530         (errno.h): Include it.
7532 2015-06-13  Paul Eggert  <eggert@cs.ucla.edu>
7534         Better fix for documenting `X as "`X"
7535         Fix suggested by Stefan Monnier.
7536         * lisp/help-fns.el (help-fns--signature):
7537         Insert "`X", not "(\` X)", when documenting `X (Bug#20759).
7538         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
7539         Don't treat `X specially, as help-fns--signature now handles this.
7541 2015-06-13  Eli Zaretskii  <eliz@gnu.org>
7543         Improve the default fontset when Symbola is not installed
7544         * lisp/international/fontset.el (setup-default-fontset): Only
7545         prepend Symbola and FreeMono font specs for symbols and
7546         punctuation; do not replace the default spec for them.  This
7547         should have better results when Symbola/FreeMono are not
7548         installed.  (Bug#20727)
7550         Improve documentation of ':lang' in font specs
7551         * src/font.c (Ffont_spec): Doc fix: elaborate on the values and
7552         use of the ':lang' property of the font spec.
7553         * doc/emacs/frames.texi (Fonts): Document the language names that
7554         can be in the STYLE part of XLFD.
7555         * doc/lispref/display.texi (Low-Level Font): Document the ':lang'
7556         property.
7558         * nt/README: Don't advertise the (obsolescent) w32 FAQ.
7560         * nt/README.W32: Don't advertise the (obsolescent) w32 FAQ.
7562         Revert last change in fontset.el
7563         * lisp/international/fontset.el (setup-default-fontset): Revert
7564         the change "Configure Symbola font only if installed", since font
7565         search is evidently not yet set up when this function is called.
7566         (Bug#20727)
7568 2015-06-12  Glenn Morris  <rgm@gnu.org>
7570         Ensure early startup warnings are visible at the end.  (Bug#20792)
7571         * lisp/emacs-lisp/warnings.el (display-warning):
7572         If startup isn't complete, delay the warning.
7573         * lisp/startup.el (normal-top-level, command-line):
7574         Let display-warning automatically handle the needed delays.
7575         Run delayed-warnings-hook.
7577         * lisp/version.el (emacs-repository-get-version):
7578         Avoid calling external executable if possible.  (Bug#20799)
7580 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
7582         Document `X as "`X", not as "(` X)"
7583         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
7584         Document (backquote FOO) as "`FOO", not as "(` FOO)" (Bug#20759).
7586         * src/print.c (print_object): Minor simplification.
7588 2015-06-12  Glenn Morris  <rgm@gnu.org>
7590         * src/buffer.c (init_buffer): Add final newline to message.
7592 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
7594         Configure Symbola font only if installed
7595         * lisp/international/fontset.el (setup-default-fontset):
7596         Don't specify the Symbola font if it's not installed.
7597         Likewise for FreeMono.  (Bug#20727)
7599 2015-06-12  Eli Zaretskii  <eliz@gnu.org>
7601         Configure Symbola font only for symbols and punctuation
7602         * lisp/international/fontset.el (setup-default-fontset): Leave
7603         only symbols and punctuation in the fontset setup for Symbola
7604         font; remove "Greek and Coptic" and "Cyrillic Supplement".
7605         (Bug#20798)
7607 2015-06-12  Andreas Schwab  <schwab@linux-m68k.org>
7609         Fix crash in fontset-info
7610         * src/fontset.c (Ffontset_info): Check that the RFONT-DEF elt is
7611         non-nil.
7613 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
7615         Port to Solaris 10 sparc + Sun C 5.13
7616         * configure.ac (SETUP_SLAVE_PTY) [sol2* | unixware]:
7617         Adjust to process.c change.
7618         * src/process.c (create_process): Declare volatile variables at
7619         top level of this function, so that they're less likely to be
7620         reused later in the function in the code executed by the vforked
7621         child.  Do not declare locals used only in the vforked child, as
7622         they might share memory with locals still live in the parent.
7623         Instead, use the same variables in the child as in the parent.
7624         This works around a subtle bug that causes a garbage collector
7625         crash when Emacs is built with Sun C 5.13 sparc on Solaris 10.
7627 2015-06-12  Glenn Morris  <rgm@gnu.org>
7629         * lisp/startup.el (normal-top-level): Don't let *Messages* get
7630         a nil default-directory.
7632 2015-06-11  Glenn Morris  <rgm@gnu.org>
7634         * lisp/startup.el (normal-top-level): Use delay-warning.  (Bug#20792)
7636         Some progress towards starting with PWD deleted.  (Bug#18851)
7637         * src/buffer.c (init_buffer): Handle get_current_dir_name failures.
7638         * lisp/startup.el (normal-top-level, command-line-1):
7639         * lisp/minibuffer.el (read-file-name-default):
7640         Handle default-directory being nil.
7642 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
7644         Fix "not a tty" bug on Solaris 10
7645         * configure.ac (PTY_OPEN): Define to plain 'open'
7646         on SVR4-derived hosts, so that the O_CLOEXEC flag isn't set.
7647         * src/process.c (allocate_pty): Set the O_CLOEXEC flag after
7648         calling PTY_TTY_NAME_SPRINTF, for the benefit of SVR4-derived
7649         hosts that call grantpt which does its work via a setuid subcommand
7650         (Bug#19191, Bug#19927, Bug#20555, Bug#20686).
7651         Also, set O_CLOEXEC even if PTY_OPEN is not defined, since it
7652         seems relevant in that case too.
7654 2015-06-11  Juri Linkov  <juri@linkov.net>
7656         * lisp/bindings.el (debug-ignored-errors): Add mark-inactive.
7657         * lisp/simple.el (kill-region): Replace 'error' with 'user-error'.
7658         (Bug#20785)
7660 2015-06-11  Glenn Morris  <rgm@gnu.org>
7662         * lisp/international/characters.el (char-script-table): Fix typo.
7664 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
7666         Fix quoting of help for functions with odd names
7667         While investigating Bug#20759, I discovered other quoting problems:
7668         C-h f mishandled characters like backslash and quote in function names.
7669         This fix changes the behavior so that 'C-h f pcase RET' now
7670         generates "... (\` QPAT) ..." instead of "... (` QPAT) ...",
7671         because '(format "%S" '(` FOO))' returns "(\\` FOO)".  A comment
7672         in src/lread.c's read1 function says that the backslash will be
7673         needed starting in Emacs 25, which implies that 'format' is
7674         correct and the old pcase documention was wrong to omit the backslash.
7675         * lisp/emacs-lisp/nadvice.el (advice--make-docstring):
7676         * lisp/help-fns.el (help-fns--signature):
7677         * lisp/help.el (help-add-fundoc-usage):
7678         * lisp/progmodes/elisp-mode.el (elisp-function-argstring):
7679         Use help--make-usage-docstring rather than formatting
7680         help-make-usage.
7681         * lisp/emacs-lisp/pcase.el (pcase--make-docstring):
7682         Return raw docstring.
7683         * lisp/help-fns.el (help-fns--signature): New arg RAW, to return
7684         raw docstring.  Take more care to distinguish raw from cooked dstrings.
7685         (describe-function-1): Let help-fns--signature substitute
7686         command keys.
7687         * lisp/help.el (help--docstring-quote): New function.
7688         (help-split-fundoc): Use it, to quote funny characters more
7689         systematically.
7690         (help--make-usage): Rename from help-make-usage, since this
7691         should be private.  Leave an obsolete alias for the old name.
7692         (help--make-usage-docstring): New function.
7693         * test/automated/help-fns.el (help-fns-test-funny-names): New test.
7695 2015-06-11  Stefan Monnier  <monnier@iro.umontreal.ca>
7697         * lisp/thingatpt.el (in-string-p): Revert last change,
7698         since in-string-p is not used in thingatpt.el but only from outside.
7699         Also, use lexical binding.
7701 2015-06-11  Artur Malabarba  <bruce.connor.am@gmail.com>
7703         * lisp/let-alist.el (let-alist--deep-dot-search): Fix cons
7704         * test/automated/let-alist.el (let-alist-cons): Test it.
7706 2015-06-11  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
7708         * src/syntax.c (Fbackward_prefix_chars): Reword docstring
7710 2015-06-10  Glenn Morris  <rgm@gnu.org>
7712         * build-aux/gitlog-to-emacslog: Also ignore pointless merge commits.
7714         Improve generated ChangeLog for gitmerge.el commits.  (Bug#20717)
7715         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
7716         * admin/gitmerge.el (gitmerge-commit-message):
7717         Exclude "skipped" messages from ChangeLog once again.
7719         Slight namespace cleanup for thingatpt.el.
7720         * lisp/thingatpt.el (thing-at-point--in-string-p)
7721         (thing-at-point--end-of-sexp, thing-at-point--beginning-of-sexp)
7722         (thing-at-point--read-from-whole-string): Rename from
7723         old versions without "thing-at-point--" prefix.
7724         Keep old versions as obsolete aliases.  Update all uses.
7726         * lisp/emacs-lisp/checkdoc.el (checkdoc-get-keywords):
7727         Move requiring of finder from here...
7728         (checkdoc-package-keywords): ... to here.
7730         Use 'user-error' in a few calendar files.
7731         * lisp/calendar/appt.el (appt-add):
7732         * lisp/calendar/calendar.el (calendar-absolute-from-gregorian)
7733         (calendar-generate):
7734         * lisp/calendar/diary-lib.el (diary-mail-entries, diary-cyclic):
7735         Replace 'error' with 'user-error'.
7737         * lisp/progmodes/f90.el (f90-backslash-not-special): Use user-error.
7739         * lisp/files-x.el (add-file-local-variable):
7740         Special-case 'lexical-binding'.  (Bug#20641)
7742         * lisp/progmodes/executable.el (executable-self-display): Obsolete.
7743         No longer autoload.
7744         * doc/misc/autotype.texi (Executables):
7745         Undocument executable-self-display.
7747         * lisp/progmodes/executable.el (executable-self-display):
7748         Use non-obsolete tail syntax.  (Bug#20779)
7749         (executable-self-display): Doc update.
7751 2015-06-10  Stefan Monnier  <monnier@iro.umontreal.ca>
7753         * lisp/emacs-lisp/checkdoc.el: Use lexical-binding
7754         (finder-known-keywords): Silence byte-compiler.
7756 2015-06-09  Stefan Monnier  <monnier@iro.umontreal.ca>
7758         * lisp/simple.el (eval-expression): Macroexpand before evaluating (bug#20730)
7760         * lisp/progmodes/sh-script.el: Better handle nested quotes
7761         (sh-here-doc-open-re): Don't mis-match the <<< operator (bug#20683).
7762         (sh-font-lock-quoted-subshell): Make sure double quotes within single
7763         quotes don't mistakenly end prematurely the surrounding string.
7765         * lisp/progmodes/elisp-mode.el: Require cl-lib for cl-defstruct.
7767 2015-06-09  Glenn Morris  <rgm@gnu.org>
7769         * test/automated/Makefile.in (ELFILES): Sort.
7771         * Makefile.in (SUBDIR_MAKEFILES):
7772         * lwlib/Makefile.in (WARN_CFLAGS):
7773         Use built-in Make functions rather than echo+sed.
7775 2015-06-09  Eli Zaretskii  <eliz@gnu.org>
7777         Update char-script-table
7778         * lisp/international/characters.el (char-script-table): Update
7779         from Unicode 8.0 Draft.
7781         Improve font selection for punctuation and other symbols
7782         * src/fontset.c (face_for_char): If the character's script is
7783         'symbol', and the font used for ASCII face has a glyph for it, use
7784         the font for the ASCII face instead of searching the fontsets.
7785         This comes instead of NS-specific code that used the current
7786         face's font instead, which is now disabled due to undesirable
7787         consequences.  (Bug#20727)
7789 2015-06-08  Dmitry Gutov  <dgutov@yandex.ru>
7791         Skip past `#' to find BEG
7792         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point): Skip
7793         past `#' to find BEG (bug#20771).
7794         * test/automated/elisp-mode-tests.el
7795         (elisp-completes-functions-after-hash-quote): New test.
7797 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
7799         Fix compilation warning/error in --without-x builds
7800         * src/xdisp.c (append_space_for_newline): Condition GUI-specific
7801         code on HAVE_WINDOW_SYSTEM.
7803         Improve the default fontset wrt symbols
7804         * lisp/international/fontset.el (setup-default-fontset): Better
7805         setup of fontset-default for symbols: use Symbola and FreeMono.
7806         (Bug#20727)
7808 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
7810         Add new command checkdoc-package-keywords
7811         * lisp/emacs-lisp/checkdoc.el (checkdoc-package-keywords-flag): New
7812           defcustom.
7813         (checkdoc-list-of-strings-p): Add doc.
7814         (checkdoc-current-buffer): When `checkdoc-package-keywords-flag' is
7815         non-nil, call `checkdoc-package-keywords'.
7816         (checkdoc-get-keywords): New defun.
7817         (checkdoc-package-keywords): New command. Warns if the current file
7818         has package.el-style keywords that aren't in `finder-known-keywords'.
7819         * etc/NEWS: Add entry.
7821 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
7823         Avoid crashes when key-binding is called from a timer
7824         * src/keymap.c (Fkey_binding): Don't segfault if called with an
7825         empty vector as KEY.  (Bug#20705)
7827         Fix a thinko in arc-mode.el
7828         * lisp/arc-mode.el (archive-zip-summarize): Fix last change in the
7829         non-Zip64 case.  (Bug#20769)
7831 2015-06-08  Artur Malabarba  <bruce.connor.am@gmail.com>
7833         * lisp/emacs-lisp/package.el (package-delete): Make interactive
7835 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
7837         checkdoc.el (checkdoc-file): New function
7838         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When
7839           `checkdoc-diagnostic-buffer' is set to "*warn*", print the warning
7840           to the standard output.
7841         (bug#20754)
7843 2015-06-07  Glenn Morris  <rgm@gnu.org>
7845         * admin/update_autogen (changelog_files): Remove gitlog-to-emacslog.
7847         * src/font.c (syms_of_font) <font-log>: Doc fix.
7849         Remove the obsolete leading "*" from some C doc strings.
7850         * src/coding.c (syms_of_coding):
7851         * src/font.c (syms_of_font): Remove leading "*" from docs.
7852         * lisp/cus-start.el (enable-character-translation): Add it.
7854 2015-06-07  Paul Eggert  <eggert@cs.ucla.edu>
7856         Move gen_origin from program to data
7857         That way, 'make change-history' needs to change only ChangeLog.2,
7858         instead of having to change two files.
7859         * ChangeLog.2: Add commit info for range that this file covers.
7860         * Makefile.in (new_commit_regexp): New macro.
7861         (change-history-nocommit): Simplify, by putting what used to be
7862         the gen_origin value into the data (ChangeLog.2) rather than
7863         into the program (gitlog-to-emacslog).
7864         * build-aux/gitlog-to-emacslog (gen_origin): Calculate from
7865         the input file (e.g., ChangeLog.2) rather than by having a
7866         constant in the program.  Substitute it into the output.
7868 2015-06-07  Dmitry Gutov  <dgutov@yandex.ru>
7870         Escape any quotes in the function name
7871         * lisp/help-fns.el (help-fns--signature): Quote any quotes in the
7872         function name (bug#20759).
7874 2015-06-07  Eli Zaretskii  <eliz@gnu.org>
7876         Adapt 'struct timespec' to next release of MinGW runtime
7877         * nt/inc/ms-w32.h (struct timespec): Don't declare if
7878         __struct_timespec_defined is defined.
7880 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
7882         Merge from gnulib
7883         This incorporates:
7884         2015-06-06 acl-permissions: pacify -Wsuggest-attribute=const
7885         2015-06-05 stdio: Don't redefine gets when using C++
7886         2015-06-05 acl-permissions: port to AIX, C89 HP-UX
7887         2015-06-02 file-has-acl: fix build on Mac OS X 10
7888         2015-06-01 gnulib-tool: concatenate lib_SOURCES to a single line
7889         2015-06-01 pthread_sigmask: discount system version if a simple macro
7890         2015-05-31 readlinkat: avoid OS X 10.10 trailing slash bug
7891         * doc/misc/texinfo.tex, lib/acl-internal.h, lib/get-permissions.c:
7892         * lib/readlinkat.c, lib/set-permissions.c, lib/stdio.in.h:
7893         * m4/acl.m4, m4/pthread_sigmask.m4, m4/readlinkat.m4: Copy from gnulib.
7894         * lib/gnulib.mk: Regenerate.
7896 2015-06-06  Juri Linkov  <juri@linkov.net>
7898         * lisp/progmodes/grep.el (zrgrep): Let-bind grep-highlight-matches
7899         before calling grep-compute-defaults because now it affects the
7900         command lines computed in grep-compute-defaults. (Bug#20728)
7902 2015-06-06  Glenn Morris  <rgm@gnu.org>
7904         Address some compilation warnings.
7905         * lisp/international/mule-cmds.el (w32-get-console-codepage)
7906         (w32-get-console-output-codepage):
7907         * lisp/progmodes/elisp-mode.el (xref-collect-references):
7908         * lisp/version.el (cairo-version-string): Declare.
7909         * lisp/erc/erc.el (erc-nickname-in-use): Fix typo.
7911 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
7913         Fix display when a font claims large values of ascent and descent
7914         This fixes bug#20628.
7915         * src/xdisp.c (get_phys_cursor_geometry): Correct the Y
7916         coordinate of a hollow cursor glyph when the original glyph's
7917         ascent is too small.
7918         (get_font_ascent_descent, normal_char_ascent_descent)
7919         (normal_char_height): New functions.
7920         (handle_single_display_spec, append_space_for_newline)
7921         (calc_pixel_width_or_height, produce_stretch_glyph)
7922         (calc_line_height_property): Use normal_char_ascent_descent and
7923         normal_char_height.
7924         (x_produce_glyphs): When font-global values of ascent and descent
7925         are too large, use per-character glyph metrics instead, if
7926         possible.  But don't allow the glyph row's ascent and descent
7927         values become smaller than the values from the metrics of the
7928         font's "normal" character.
7929         * src/xftfont.c (xftfont_draw):
7930         * src/w32font.c (w32font_draw): Correct the values of ascent and
7931         descent used to draw glyphless characters' hex code in a box.
7932         * src/xterm.c (x_draw_glyph_string_background):
7933         * src/xdisp.c (x_produce_glyphs):
7934         * src/w32term.c (x_draw_glyph_string_background):
7935         * src/nsterm.m (ns_maybe_dumpglyphs_background): Use FONT_TOO_HIGH
7936         to detect fonts whose global ascent and descent values are too
7937         large to be used in layout decision, and redraw the background
7938         when that happens.
7939         * src/dispextern.h (FONT_TOO_HIGH): New macro.
7940         (get_font_ascent_descent): Add prototype.
7941         * src/xterm.c (x_new_font):
7942         * src/w32term.c (x_new_font):
7943         * src/nsterm.m (x_new_font):
7944         * src/font.c (font_open_entity):
7945         * src/composite.c (composition_gstring_width): Use
7946         get_font_ascent_descent to obtain reasonable values for ascent and
7947         descent of a font.
7949 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
7951         Add assertion in adjust_point_for_property
7952         * src/keyboard.c (adjust_point_for_property): Add eassert for
7953         current buffer being shown in selected window.
7955 2015-06-06  Dmitry Gutov  <dgutov@yandex.ru>
7957         Replace uses of in-string-p; make it obsolete
7958         * lisp/thingatpt.el (in-string-p): Declare obsolete (bug#20732).
7959         (end-of-sexp, beginning-of-sexp): Use syntax-ppss instead.
7961 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
7963         Fix Dired display of an explicit list of files by ls-lisp.el
7964         * lisp/ls-lisp.el (ls-lisp-uid-d-fmt, ls-lisp-uid-s-fmt)
7965         (ls-lisp-gid-d-fmt, ls-lisp-gid-s-fmt): Make the initial values be
7966         correct for when displaying individual files separately, not as
7967         part of listing a directory, in which case these values are not
7968         recomputed by 'ls-lisp-insert-directory', but used verbatim.
7970         * lisp/dired.el (dired): Doc fix.  (Bug#20739)
7972 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
7974         Do not adjust point in a non-selected window
7975         * src/keyboard.c (command_loop_1): Do not adjust point when
7976         current buffer is not shown in selected window (Bug#20590).
7978         * etc/DEBUG: Mention 'maybe_call_debugger'
7980 2015-06-05  Nicolas Petton  <nicolas@petton.fr>
7982         Fix a unit test for map.el
7983         * test/automated/map-tests.el (test-map-let): Fix the test to work
7984         with the new syntax of `map-let'.
7986         * lisp/emacs-lisp/map.el (map-let): Better docstring.
7988         Better syntax for the map pcase pattern
7989         * lisp/emacs-lisp/map.el: Improves the map pcase pattern to take
7990         bindings of the form (KEY PAT) or SYMBOL. KEY is not quoted.
7992         * lisp/emacs-lisp/map.el (map--dispatch): Better docstring.
7994         Fix a byte-compiler error in map-put and map-delete
7995         * lisp/emacs-lisp/map.el (map-put, map-delete): Ensure that `setq' is
7996         called with a symbol.
7998 2015-06-05  Glenn Morris  <rgm@gnu.org>
8000         * admin/gitmerge.el (gitmerge-commit-message):
8001         Revert to including "skipped" messages in ChangeLog once again.
8003 2015-06-05  Tassilo Horn  <tsdh@gnu.org>
8005         Use string> instead of equiv lambda with string<
8006         * lisp/help.el (view-emacs-news): Use string> instead of equivalent
8007         lambda with string<.
8009 2015-06-05  Glenn Morris  <rgm@gnu.org>
8011         * lisp/emacs-lisp/map.el (map--dispatch): Move before use.
8012         (map--delete-array): Fix typo.
8014         * test/automated/map-tests.el: Replace "assert" with "should".
8016         * lisp/Makefile.in (SUBDIRS): Rename from SUBDIRS_ABS.
8017         (SUBDIRS_REL): Derive from SUBDIRS.
8019         Tweak some build messages.
8020         * lisp/Makefile.in ($(lisp)/loaddefs.el):
8021         * lisp/cus-dep.el (custom-make-dependencies):
8022         * lisp/finder.el (finder-compile-keywords): Say what we are doing.
8023         * lisp/international/titdic-cnv.el (batch-titdic-convert):
8024         Don't say how to compile.
8026 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
8028         Omit U+0332 COMBINING LOW LINE in previous change
8029         It turns out that it does not work on Ubuntu 15.04.
8031         Fix transliteration of Bahá'í months
8032         * lisp/calendar/cal-bahai.el (calendar-bahai-month-name-array):
8033         Improve quality of Latin transliteration of Bahá'í month names.
8035         Fix curved quotes in a few places
8036         * lisp/calc/calc-misc.el (calc-help): Fix quoting.
8037         The strings in question are not doc strings, so this partially
8038         undoes the recent change that assumed they were doc strings.
8039         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
8040         * lisp/info.el (Info-finder-find-node):
8041         Use curved quotes.
8042         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
8043         Also allow curved quotes in doc strings.
8045 2015-06-04  Glenn Morris  <rgm@gnu.org>
8047         * lisp/Makefile.in (AM_V_at): Add missing definition.
8049         * lisp/Makefile.in: Quieten output a bit.
8050         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el):
8051         Don't echo directories, since the commands we invoke print them.
8053         * lisp/Makefile.in: Replace shell fragments in variables with $(shell).
8054         (SUBDIRS_REL, SUBDIRS_ABS, SUBDIRS_ALMOST, SUBDIRS_FINDER)
8055         (SUBDIRS_SUBDIRS): New variables.
8056         (setwins, setwins_almost, setwins_finder, setwins_for_subdirs):
8057         Remove.
8058         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el, $(lisp)/loaddefs.el)
8059         (update-subdirs, compile-main, compile-clean):
8060         Replace "setwins" usage with new "SUBDIRS" variables.
8062         * lisp/vc/compare-w.el (compare-windows-get-window-function):
8063         Fix :version tag.
8065 2015-06-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
8067         * src/ftfont.c (ftfont_open2): Round divisions by upEM.
8069         Undo removal of x_clear_area call on expose for GTK3 or cairo.
8070         * src/xterm.c (handle_one_xevent) [HAVE_GTK3 || USE_CAIRO]: Clear
8071         exposed area.  (Bug#20677)
8073 2015-06-04  Glenn Morris  <rgm@gnu.org>
8075         * doc/lispref/hash.texi (Creating Hash): Remove obsolete makehash.
8077         * lisp/Makefile.in (check-defun-dups): Also skip ldefs-boot.
8079         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
8080         Rename from quail-lao-update-translation, since lao.el defines that.
8082 2015-06-04  Dmitry Gutov  <dgutov@yandex.ru>
8084         Handle new-style advice in find-funct
8085         * lisp/emacs-lisp/find-func.el (find-function-advised-original):
8086         Handle new-style advice.  Return the symbol's function definition.
8087         (Bug#20718)
8088         (find-function-library): Update accordingly.
8090 2015-06-04  Nicolas Petton  <nicolas@petton.fr>
8092         Merge branch 'map'
8094         * lisp/emacs-lisp/map.el: Better docstring for the map pcase macro.
8096         Add new function string-greaterp
8097         * lisp/subr.el (string-greaterp): New function.  Also aliased to
8098         `string>'.
8099         * test/automated/subr-tests.el (string-comparison-test): Add unit
8100         tests for `string>'and `string<'.
8101         * src/fns.c (string-lessp): Better docstring.
8103 2015-06-04  Eli Zaretskii  <eliz@gnu.org>
8105         Fix timezone-related functions on MS-Windows
8106         * src/editfns.c (set_time_zone_rule) [WINDOWSNT]: Always call
8107         'xputenv', even if no reallocation of tzvalbuf was necessary.
8108         This fixes a bug in timezone-related functions on MS-Windows.
8109         Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.
8111 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
8113         Don't pass raw directory name to 'error'
8114         * lisp/files.el (basic-save-buffer-2): Avoid format error if
8115         a directory name contains a string like "%s".
8117 2015-06-03  Dmitry Gutov  <dgutov@yandex.ru>
8119         Override 'grep --color=always'
8120         * lisp/progmodes/xref.el (xref-collect-matches):
8121         Override --color=always in grep-find-template.
8123 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
8125         Fix error introduced recently in file-notify-tests.el
8126         * test/automated/file-notify-tests.el
8127         (file-notify--test-remote-enabled): Do not use `file-notify--test-desc'.
8128         (file-notify--deftest-remote): Revert previous patch, not
8129         necessary anymore.
8131 2015-06-03  Wolfgang Jenkner  <wjenkner@inode.at>
8133         * src/indent.c (Fvertical_motion): Amend motion by 0 lines.
8134         Starting from a display string after a newline, point went to the
8135         previous line.  Also, fix an inadvertent use of a buffer position
8136         with FETCH_BYTE.  (Bug#20701)
8138 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
8140         Instrument file-notify-test.el in order to catch hydra error.
8141         * test/automated/file-notify-tests.el (file-notify--deftest-remote):
8142         Wrap body by `ignore-case', in order to trap non-local errors.
8144 2015-06-03  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
8146         Undo previous changes in non-toolkit scroll bar drawing.
8147         * src/xterm.c (x_scroll_bar_set_handle, x_scroll_bar_expose)
8148         [!USE_TOOLKIT_SCROLL_BARS]: Draw into scroll bar window.  (Bug#20668)
8150 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
8152         * .gitignore: Also ignore doc/*/*/*.html and .ps.
8154         Support quotes 'like this' in info files
8155         This is possible when 'makeinfo --disable-encoding' is used
8156         in Texinfo 5.
8157         * lisp/calc/calc-help.el (calc-describe-thing):
8158         * lisp/gnus/gnus-art.el (gnus-button-alist):
8159         * lisp/info.el (Info-find-index-name):
8160         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
8161         Also support quotes 'like this'.
8162         * lisp/calc/calc-help.el (calc-describe-thing): Simplify.
8163         * lisp/finder.el (finder-font-lock-keywords): Remove var that
8164         hasn't been used in years, instead of bothering to fix its quoting.
8166 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
8168         * .gitignore: Remove !test/etags/html-src/*.html.
8169         It's no longer needed, since *.html was removed.  Sort.
8171 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
8173         Restore <D> instead of '.' in grep-find-template
8174         * lisp/cedet/semantic/symref/grep.el
8175         (semantic-symref-grep-use-template): Update a comment.
8176         * lisp/progmodes/grep.el (grep-compute-defaults): Restore <D>
8177         instead of '.' in grep-find-template (bug#20719).
8178         (rgrep): Pass nil as the directory to rgrep-default-command.
8179         * lisp/progmodes/grep.el (grep-expand-keywords): Use '.' as the
8180         default value for DIR.
8181         * lisp/progmodes/xref.el (xref-collect-matches): Drop the
8182         workaround.
8184 2015-06-02  Glenn Morris  <rgm@gnu.org>
8186         * configure.ac (emacs_config_features): Add X toolkit and scroll-bars.
8188         * configure.ac (emacs_config_features): Add Cairo.
8190         * configure.ac [HAVE_GTK3]: Remove USE_CAIRO that gets reset later.
8192 2015-06-02  Michael Albinus  <michael.albinus@gmx.de>
8194         Ensure, that autorevert works for remote files in file-notify-tests.el
8195         * test/automated/file-notify-tests.el (file-notify--test-desc):
8196         New defvar.
8197         (file-notify--test-remote-enabled)
8198         (file-notify-test00-availability, file-notify-test01-add-watch)
8199         (file-notify-test02-events): Use it.
8200         (file-notify--test-event-test): Check proper descriptor.
8201         (file-notify-test03-autorevert): Ensure, that
8202         `visited-file-modtime' has changed.
8203         (Bug#20392)
8205 2015-06-02  Nicolas Petton  <nicolas@petton.fr>
8207         Add a pcase pattern for maps and `map-let' based on it
8208         * lisp/emacs-lisp/map.el (map-let): New macro.
8209         (map--make-pcase-bindings, map--make-pcase-patterns): New functions.
8210         * test/automated/map-tests.el: New test for `map-let'.
8212 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
8214         Reuse rgrep mechanics in xref-find-regexp
8215         * lisp/progmodes/grep.el (rgrep-default-command):
8216         Extract from `rgrep'.
8217         * lisp/progmodes/xref.el (xref-collect-references): Split from
8218         `xref-collect-matches'.  Only handle the case of symbol search.
8219         (xref-collect-matches): Instead of Semantic Symref, use
8220         `rgrep-default-command', to take advantage of its directory and
8221         file ignore settings.
8222         (xref--collect-match): Remove the last argument, leaving the
8223         regexp construction up to the caller.
8224         * lisp/progmodes/elisp-mode.el (elisp--xref-find-matches):
8225         Change to take the xref-collect- function to use as an argument.
8226         (elisp-xref-find): Update accordingly.
8227         * lisp/progmodes/etags.el (etags--xref-find-matches)
8228         (etags-xref-find): Same.
8230         Move xref-elisp-location to elisp-mode.el
8231         * lisp/progmodes/xref.el (xref-elisp-location)
8232         (xref-make-elisp-location, xref-location-marker): Remove here.
8233         (xref--xref): Don't limit the type of the location slot.
8234         * lisp/progmodes/elisp-mode.el (xref-elisp-location):
8235         Define as a cl-struct here.
8236         (xref-location-marker): Move here.
8238 2015-06-02  Eli Zaretskii  <eliz@gnu.org>
8240         Minor tweaks for .gitignore
8241         * .gitignore: Don't ignore versioned *.html and *.ps files.  Don't
8242         ignore admin/notes/tags that might be ignored as TAGS on
8243         case-insensitive filesystems.  (Bug#20710)
8245 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
8247         Generate curved quotes in ert doc
8248         * lisp/emacs-lisp/ert.el (ert--print-test-for-ewoc)
8249         (ert-results-mode-menu)
8250         (ert-results-pop-to-backtrace-for-test-at-point)
8251         (ert-results-pop-to-messages-for-test-at-point)
8252         (ert-results-pop-to-should-forms-for-test-at-point)
8253         (ert-describe-test):
8254         Quote ‘like this’, not `like this', when generating doc strings
8255         and the like.
8256         * test/automated/ert-x-tests.el (ert-test-describe-test):
8257         Allow quoting ‘like this’.
8259 2015-06-02  Nicolas Richard  <youngfrog@members.fsf.org>
8261         Add test for previous commit
8262         * test/automated/replace-tests.el: New file.
8263         (query-replace--split-string-tests): Add test for previous commit.
8265         Avoid confusion in query-replace history when replacing NUL chars
8266         * lisp/replace.el (query-replace--split-string): New function.
8267         (query-replace-read-from): Rely on the 'separator' property
8268         instead of searching for the NUL character (Bug#20690).
8270 2015-06-02  Glenn Morris  <rgm@gnu.org>
8272         Merge from origin/emacs-24
8273         8b5f2f4 * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
8275         * admin/gitmerge.el (gitmerge-commit-message):
8276         Exclude "skipped" messages from ChangeLog.
8278 2015-06-01  Michael Albinus  <michael.albinus@gmx.de>
8280         Sync with Tramp repository
8281         * lisp/net/tramp.el (tramp-message): Dump connection buffer error
8282         messages.
8283         (tramp-handle-make-auto-save-file-name): When calling
8284         `make-auto-save-file-name' internally, make sure it uses Unix-like
8285         behavior, not Windows-like behavior.
8286         * lisp/net/tramp-sh.el (tramp-set-file-uid-gid): Add a timeout for
8287         the local case, because "chown" might fail on w32.
8288         * lisp/net/trampver.el (tramp-repository-get-version): Don't run
8289         for XEmacs.
8291 2015-06-01  Eli Zaretskii  <eliz@gnu.org>
8293         MS-Windows followup for batch stdout/stderr output changes
8294         * lisp/international/mule-cmds.el (set-locale-environment): In
8295         batch mode, use console codepages for keyboard and terminal
8296         encoding.  (Bug#20545)
8298         Update .gitattributes for DOS EOL files
8299         * .gitattributes: Use "whitespace=cr-at-eol" for files with DOS
8300         CRLF end-of-line format.
8302         NS equivalents of xterm.c and w32term.c changes
8303         * src/nsterm.m (ns_maybe_dumpglyphs_background): Force redraw of
8304         glyph string background also when the font in use claims
8305         preposterously large global height value.  Helps to remove
8306         artifacts left from previous displays when glyphless characters
8307         are displayed as hex code in a box.
8308         (x_new_font): Call get_font_ascent_descent to obtain a reasonable
8309         value for FRAME_LINE_HEIGHT, even when a font claims very large
8310         value for its height.
8312 2015-06-01  Paul Eggert  <eggert@cs.ucla.edu>
8314         Avoid grave accent quoting in stderr diagnostics
8315         A few Emacs diagnostics go directly to stderr, and so can't easily
8316         contain curved quotes (as non-UTF-8 locales might mishandle them).
8317         Instead of bothering to add support for this rarity, reword the
8318         diagnostics so that they don't use grave accent to quote.
8319         * src/alloc.c (mark_memory): Fix comment.
8320         * src/buffer.c (init_buffer):
8321         * src/dispnew.c (init_display):
8322         * src/emacs.c (main, sort_args):
8323         * src/lread.c (dir_warning):
8324         * src/term.c (init_tty):
8325         * src/unexmacosx.c (unexec):
8326         * src/xfns.c (select_visual):
8327         * src/xterm.c (cvt_string_to_pixel, x_io_error_quitter):
8328         Reword stderr diagnostics to avoid quoting `like this'.
8329         * src/unexmacosx.c: Include errno.h.
8330         * src/xfns.c (select_visual): Encode value for locale.
8332 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
8334         Treat batch stdout/stderr like standard display
8335         Calls like (print FOO) could generate improperly encoded or
8336         hard-to-read output if FOO contains characters outside the system
8337         locale.  Fix this by treating batch stdout and stderr like
8338         interactive standard display, when it comes to transliterating and
8339         encoding characters (Bug#20545).
8340         * doc/emacs/mule.texi (Communication Coding):
8341         * doc/lispref/display.texi (Active Display Table):
8342         * doc/lispref/nonascii.texi (Locales):
8343         * etc/NEWS:
8344         * src/coding.c (syms_of_coding):
8345         * src/dispnew.c (syms_of_display):
8346         Document this.
8347         * src/print.c: Include disptab.h.
8348         (printchar_to_stream): New function, with much of the guts of the
8349         old Fexternal_debugging_output, except this one also uses the
8350         standard display table.
8351         (printchar, strout, Fexternal_debugging_output): Use it.
8353 2015-05-31  Glenn Morris  <rgm@gnu.org>
8355         * src/emacs.c (syms_of_emacs) <system-configuration-features>: Doc fix.
8357 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
8359         Remove unused DEFSYMs
8360         Remove DEFSYMs that aren't used at the C level.  Also:
8361         * src/decompress.c (Qzlib_dll):
8362         * src/font.c (Qunicode_sip):
8363         * src/frame.c (Qtip_frame):
8364         * src/ftfont.c (Qserif):
8365         * src/gnutls.c (Qgnutls_dll):
8366         * src/xml.c (Qlibxml2_dll):
8367         Move from here ...
8368         * src/w32fns.c (syms_of_w32fns): ... to here,
8369         as these are used only on MS-Windows.
8371 2015-05-31  Michael Albinus  <michael.albinus@gmx.de>
8373         Use another default value for tramp-histfile-override
8374         * lisp/net/tramp-sh.el (tramp-histfile-override):
8375         Use ".tramp_history" as default.
8376         Fixes: debbugs:#20446
8378 2015-05-29  Nicolas Petton  <nicolas@petton.fr>
8380         * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
8382 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
8384         * etc/NEWS: Add an entry about map.el
8386         Improve the docstring of functions in map.el
8387         Since a map is not a data structure but a concept, adding information
8388         about the possible types of maps can be useful information.
8389         * lisp/emacs-lisp/map.el: Add documentation about the type of MAP to
8390         each public function.
8392 2015-04-29  Nicolas Petton  <nicolas@petton.fr>
8394         Faster implementation of map-empty-p
8395         * lisp/emacs-lisp/map.el (map-empty-p): Faster implementation using
8396         specific tests depending on the type of the map.
8398         * lisp/emacs-lisp/map.el: Better docstrings.
8400 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
8402         * lisp/emacs-lisp/map.el (map-pairs): Dump redundant lambda
8404 2015-04-25  Nicolas Petton  <nicolas@petton.fr>
8406         * lisp/emacs-lisp/map.el (map--elt-list): Better docstring.
8408         * lisp/emacs-lisp/map.el (map--elt-list): Minor refactoring.
8410         Fix a false negative in `map-elt' with alists and values being nil
8411         * lisp/emacs-lisp/map.el (map-elt): If map is an alist and key is
8412         found but its associated value is nil, do not return the default
8413         value.
8414         * test/automated/map-tests.el: Add a regression test.
8416 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
8418         * lisp/emacs-lisp/map.el (map--dispatch): Improve the docstring.
8420         Do not signal an error when trying to delete a key from an array
8421         * lisp/emacs-lisp/map.el (map-delete): When map is an array, check if
8422         the key is present to avoid signaling an error.
8423         * test/automated/map-tests.el: Add a test for deleting non-existing
8424         keys from maps.
8426         * lisp/emacs-lisp/map.el: Better docstring.
8428         Minor improvement in map-elt.
8429         * lisp/emacs-lisp/map.el (map-elt): Do not use `ignore-errors' when
8430         doing a lookup in arrays, but check the boundaries of the array
8431         instead.
8432         * test/automated/map-tests.el: Adds a test for `map-elt' with arrays
8433         and a negative integer as key.
8435 2015-04-21  Nicolas Petton  <nicolas@petton.fr>
8437         * test/automated/map-tests.el: Refactoring of test methods.
8439         * test/automated/map-tests.el: Renamed from map-test.el.
8441 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
8443         * lisp/emacs-lisp/map.el (map-into): Better error message.
8445         * lisp/emacs-lisp/map.el: Removes byte-compilation warnings.
8447         Throw an error when converting a map into an unknown map type
8448         * lisp/emacs-lisp/map.el (map-into): Throw an error if type is not valid.
8449         * test/automated/map-test.el: Add a regression test.
8451         New library map.el similar to seq.el but for mapping data structures.
8452         * test/automated/map-test.el: New file.
8453         * lisp/emacs-lisp/map.el: New file.
8455 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
8457         Make sure there's no explicit tag name
8458         * lisp/progmodes/etags.el (tag-implicit-name-match-p): Make sure
8459         there's no explicit tag name (bug#20629).
8461 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
8463         Remove format2
8464         * src/editfns.c, src/lisp.h (format2): Remove.
8465         It is more trouble than it's worth, now that we have CALLN.
8466         This is just a minor refactoring.
8467         * src/buffer.c (Fkill_buffer):
8468         * src/dbusbind.c (XD_OBJECT_TO_STRING):
8469         * src/fileio.c (barf_or_query_if_file_exists):
8470         Adjust to format2 going away.
8472         Don't misencode C-generated messages
8473         Also, be more consistent about calls to 'Fmessage' vs 'message'.
8474         * src/alloc.c (Fgc_status):
8475         Prefer AUTO_STRING to build_string for Fmessage call.
8476         * src/data.c (Fmake_variable_buffer_local)
8477         (Fmake_local_variable, Fmake_variable_frame_local):
8478         * src/doc.c (store_function_docstring):
8479         Use Fmessage, not message, since the argument can contain
8480         non-ASCII characters, and this can cause the resulting message
8481         to be incorrectly encoded for the current environment.
8482         * src/fns.c (maybe_resize_hash_table):
8483         * src/xselect.c (x_clipboard_manager_save_all):
8484         Use message, not Fmessage, since Fmessage's power isn't needed here.
8485         * src/process.c (Fmake_network_process): Reword message to avoid %s.
8486         * src/xdisp.c (vmessage): Document restrictions on message contents.
8487         (message_nolog) [false]: Remove unused code.
8489         Use \r rather than ^M in string literals
8490         This is less likely to cause problems on platforms that
8491         use CRLF (or CR!) termination for lines.
8493         Update .gitattributes to match current sources
8494         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00879.html
8495         * .gitattributes: Accommodate tests that insist on DOS format.
8496         Remove test/automated/data/decompress/foo-gzipped.
8497         Add etc/e/eterm-color.
8499 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
8501         Document 'face-ignored-fonts'
8502         * doc/emacs/mule.texi (Modifying Fontsets): Document
8503         face-ignored-fonts.  (Bug#20628)
8505         Add etags test for the new -Q option
8506         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
8507         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
8508         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
8509         test-case changes below.
8510         * test/etags/ETAGS.good_6: New file.
8511         * test/etags/cp-src/x.cc: New file.
8512         * test/etags/Makefile (CPSRC): Add x.cc.
8513         (check): Add one more test, for -Q.
8515 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
8517         Use list for the tags completion table, not obarray
8518         * lisp/progmodes/etags.el (etags-tags-completion-table): Return a
8519         list instead of an obarray
8520         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00876.html).
8521         (tags-completion-table): Combine those lists.
8522         (tags-completion-table): Update the docstring.
8524 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
8526         Restore EOL format testing in etags
8527         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
8528         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
8529         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
8530         test-case changes below.
8531         * test/etags/html-src/algrthms.html: Convert back to DOS EOL format.
8532         * test/etags/cp-src/c.C (B): Add back stray CR character.
8533         * test/etags/c-src/dostorture.c: Add back.
8534         * test/etags/Makefile (CSRC): Add back c-src/dostorture.c.
8536 2015-05-30  Vitaly Takmazov  <vitalyster@gmail.com>  (tiny change)
8538         Declare Emacs on MS-Windows to be DPI-aware
8539         * nt/emacs-x86.manifest (asmv3:windowsSettings): Add dpiAware.
8540         * nt/emacs-x64.manifest (asmv3:windowsSettings): Add dpiAware.
8541         This avoids Windows entering compatibility mode for Emacs,
8542         which causes fonts to look less nice.
8544 2015-05-30  Michael Albinus  <michael.albinus@gmx.de>
8546         Improve Tramp traces.
8547         * lisp/net/trampver.el (tramp-repository-get-version): New defun.
8548         * lisp/net/tramp.el (tramp-debug-message): Use it.
8550 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
8552         backup-buffer minor reworking of internals
8553         * lisp/files.el (backup-buffer): Rework to avoid a couple of
8554         unused locals inadvertently introduced in the previous change.
8556         backup-buffer now reports .emacs.d/%backup% ills
8557         * lisp/files.el (backup-buffer): If the write to .emacs.d/%backup%
8558         fails due to disk space exhaustion or whatever, do not pretend
8559         that it succeeded.  More generally, do a better job of checking
8560         for I/O failures, and limit the scope of the condition-case to
8561         just the operations where file errors should be caught and ignored
8562         (Bug#20595).  Also, don't bother trying to delete later backups if
8563         an earlier deletion fails, as this is a sign of trouble and it's
8564         better to stop when there's trouble.
8566         copy-file now truncates output after writing
8567         * src/fileio.c (Fcopy_file): Truncate output after writing rather
8568         than before.  This is more likely to work than truncation before
8569         writing, if the file system is out of space or the user is over
8570         disk quota (Bug#20595).  Also, check for read errors.
8572 2015-05-29  Artur Malabarba  <bruce.connor.am@gmail.com>
8574         * lisp/emacs-lisp/package.el: Don't load from parent dir
8575         (package-load-all-descriptors): Don't load descriptors from
8576         directories above the package directories.
8578 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
8580         Merge from gnulib
8581         This incorporates the following (Bug#20681):
8582         2015-05-29 acl-permissions: Fix build on Mac OS X and older AIX
8583         2015-05-29 acl-permissions: Fix build on Solaris and Cygwin
8584         * lib/set-permissions.c: Copy from gnulib.
8586 2015-05-29  Michael Albinus  <michael.albinus@gmx.de>
8588         Improve Tramp traces.
8589         * lisp/net/tramp.el (tramp-call-process-region): New defun.
8590         * lisp/net/tramp-sh.el (tramp-get-inline-coding): Use it.
8592 2015-05-29  Glenn Morris  <rgm@gnu.org>
8594         * test/automated/vc-tests.el: Try enabling tests on hydra.nixos.org.
8596 2015-05-29  Wolfgang Jenkner  <wjenkner@inode.at>
8598         * src/xfns.c (x_set_menu_bar_lines): Fix calls to x_clear_area.
8599         The signature was changed in the cairo branch, merged on 2015-05-23.
8600         This oversight broke compiling only the non-toolkit X version.
8602 2015-05-29  Samer Masterson  <samer@samertm.com>
8604         * doc/lispref/os.texi: Update initial-buffer-choice docs.
8606 2015-05-29  Glenn Morris  <rgm@gnu.org>
8608         * test/automated/vc-tests.el (vc-test-rcs04-checkout-model):
8609         Mark as an expected failure.
8611 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
8613         Change package test to look for curved quotes
8614         * test/automated/package-test.el (package-test-describe-package)
8615         (package-test-signed): Search for curved single quotes as well as
8616         for grave accent and apostrophe.
8618 2015-05-28  Katsumi Yamaoka  <yamaoka@jpl.org>
8620         gnus-art.el: Re-revert last change
8621         * lisp/gnus/gnus-art.el (gnus-button-alist): Re-revert last change.
8622         cf. <http://news.gmane.org/group/gmane.emacs.devel/thread=186896>
8624 2015-05-28  Samer Masterson  <samer@samertm.com>
8626         Show files when `initial-buffer-choice' is non-nil
8627         * startup.el (command-line-1): When Emacs is given a file as an
8628         argument and `initial-buffer-choice' is non-nil, display both the file
8629         and `initial-buffer-choice'.  For more than one file, show
8630         `initial-buffer-choice' and *Buffer List*.  Refactor display-changing
8631         commands out of the command line arg parser.
8632         (initial-buffer-choice): Clarify docstring.
8634 2015-05-28  Eli Zaretskii  <eliz@gnu.org>
8636         Fix last commit
8637         * nt/gnulib.mk (libgnu_a_SOURCES): Add get-permissions.c back.
8638         (gnulib module qcopy-acl): Add back, as it is harmless.  This
8639         minimizes differences wrt lib/gnulib.mk.
8641         Fix the MS-Windows build as followup to gnulib update
8642         * nt/gnulib.mk (libgnu_a_SOURCES): Remove get-permissions.c and
8643         set-permissions.c, as they don't compile on MinGW.
8644         (gnulib module qcopy-acl): Remove, as it needs set-permissions.c.
8646 2015-05-28  Paul Eggert  <eggert@cs.ucla.edu>
8648         Revert my change to gnus-art.el
8649         * lisp/gnus/gnus-art.el (gnus-button-alist): Revert last change.
8650         It wasn't that important, and it caused a Gnus build to fail.  See:
8651         http://www.randomsample.de:4456/builders/emacs-devel/builds/734
8653         New minor mode Electric Quote
8654         This lets you easily insert quotes ‘like this’ by typing
8655         quotes `like this', and similarly you can easily insert
8656         quotes “like this” by typing quotes ``like this'' (Bug#20545).
8657         * doc/emacs/basic.texi (Inserting Text):
8658         * doc/emacs/modes.texi (Minor Modes):
8659         * etc/NEWS: Document it.
8660         * doc/emacs/text.texi (Quotation Marks): New section.
8661         * lisp/electric.el (electric-quote-comment)
8662         (electric-quote-string, electric-quote-paragraph):
8663         New custom vars.
8664         (electric--insertable-p)
8665         (electric-quote-post-self-insert-function): New functions.
8666         (electric-quote-mode, electric-quote-local-mode): New minor modes.
8667         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
8668         Add curved single quotes to electric-pair-text-pairs.
8669         Set electric-quote-string in this buffer.
8671         A few more doc string fixes (Bug#20385)
8673         Accept curved quotes in doc strings
8674         * lisp/info-look.el (info-lookup-guess-custom-symbol):
8675         (info-lookup-alist): Treat ‘’ like `' when parsing help buffers etc.
8677         Generate curved quotes in pseudo-info nodes
8678         * lisp/info.el (Info-virtual-index-find-node)
8679         (Info-virtual-index, Info-apropos-find-node, info-apropos):
8680         Quote ‘like this’, not `like this', when generating pseudo-info nodes.
8682         Fix minor quoting problems in doc strings
8683         Most of these fixes involve escaping grave accents that are
8684         actually intended to be grave accents, not left quotes.
8685         (Bug#20385)
8687         Support curved quotes in doc strings
8688         Emacs's traditional doc string style has been to quote symbols
8689         `like this'.  This worked well on now-obsolete terminals where
8690         ` and ' were symmetric quotes, but nowadays curved quotes
8691         ‘like this’ look better.  Support quoting the new way too.
8692         (Bug#20385)
8693         * doc/lispref/tips.texi (Documentation Tips): Symbols can be quoted
8694         ‘like-this’ as well as `like-this'.
8695         * etc/NEWS: Mention this.
8696         * lisp/cedet/mode-local.el (overload-docstring-extension)
8697         (mode-local-print-binding, mode-local-describe-bindings-2):
8698         * lisp/cus-theme.el (describe-theme-1):
8699         * lisp/descr-text.el (describe-text-properties-1, describe-char):
8700         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
8701         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
8702         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
8703         (eieio-help-constructor):
8704         * lisp/emacs-lisp/package.el (describe-package-1):
8705         * lisp/faces.el (describe-face):
8706         * lisp/help-fns.el (help-fns--key-bindings)
8707         (help-fns--compiler-macro, help-fns--parent-mode, help-fns--obsolete):
8708         (help-fns--interactive-only, describe-function-1):
8709         (describe-variable):
8710         * lisp/help.el (describe-mode):
8711         * lisp/international/mule-cmds.el (describe-input-method)
8712         (describe-language-environment):
8713         * lisp/international/mule-diag.el (describe-character-set)
8714         (print-coding-system-briefly, list-input-methods)
8715         (list-input-methods-1):
8716         Insert curved quotes rather than grave accent and apostrophe.
8717         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
8718         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
8719         (checkdoc-proper-noun-region-engine):
8720         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2)
8721         (lisp-cl-font-lock-keywords-2):
8722         * lisp/finder.el (finder-font-lock-keywords):
8723         * lisp/gnus/gnus-art.el (gnus-button-alist):
8724         * lisp/help-fns.el (help-do-arg-highlight)
8725         (describe-function-1, describe-variable):
8726         * lisp/help-mode.el (help-xref-symbol-regexp)
8727         (help-xref-info-regexp, help-xref-url-regexp):
8728         * lisp/help.el (describe-mode):
8729         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
8730         * lisp/wid-edit.el (widget-documentation-link-regexp):
8731         Parse symbols quoted ‘like-this’ as well as `like-this'.
8732         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
8733         Add "‘" and "’" to electric-pair-text-pairs.
8734         (elisp--form-quoted-p): Also allow "‘" as a quoting char.
8735         (elisp-completion-at-point, elisp--preceding-sexp):
8736         Also treat "‘" and "’" as quoting chars.
8738         substitute-command-keys now curves quotes
8739         So, for example, it turns "`abc'" into "‘abc’" (Bug#20385).
8740         * doc/lispref/help.texi (Keys in Documentation):
8741         * etc/NEWS: Document this.
8742         * src/doc.c (Fsubstitute_command_keys): Implement it.
8744 2015-05-28  Glenn Morris  <rgm@gnu.org>
8746         * lisp/mail/rmailsum.el (rmail-summary-by-recipients)
8747         (rmail-summary-by-topic, rmail-summary-by-senders):
8748         No longer strip leading/trailing whitespace.
8750         * lisp/progmodes/f90.el (f90-type-def-re): Add "type, extends".
8751         (f90-no-block-limit): Add "enum".  (Bug#20680)
8752         * test/automated/f90.el (f90-test-bug20680, f90-test-bug20680b):
8753         New tests.
8755 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
8757         * lisp/isearch.el (isearch--current-buffer): Give a default value.
8759         Un-revert changes mistakenly dropped by f9fabb2b
8761 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
8763         Merge from gnulib
8764         This incorporates:
8765         2015-05-27 qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
8766         2015-05-27 file-has-acl: Split feature tests again (Bug#20667)
8767         2015-05-27 string: fix build failure on BSD/OSX with FORTIFY_SOURCE
8768         2015-05-26 stdio: limit __gnu_printf__ witness to gcc 4.4+
8769         2015-05-26 inttypes: force correct mingw PRIdMAX even without <stdio.h>
8770         2015-05-26 stdio: fix probe on mingw under gcc 5.1
8771         * admin/merge-gnulib (GNULIB_MODULES):
8772         Replace qacl with qcopy-acl, since we don't need the rest of qacl.
8773         * doc/misc/texinfo.tex, lib/acl-internal.c, lib/acl-internal.h:
8774         * lib/inttypes.in.h, lib/qcopy-acl.c, lib/qset-acl.c:
8775         * lib/string.in.h, m4/acl.m4, m4/stdio_h.m4:
8776         Get latest versions from gnulib.
8777         * lib/get-permissions.c, lib/set-permissions.c: New files.
8778         * lib/gnulib.mk, m4/gnulib-comp.m4:
8779         Regenerate.
8780         * nt/gnulib.mk: Merge lib/gnulib.mk changes by hand.
8782 2015-05-27  Dmitry Gutov  <dgutov@yandex.ru>
8784         Delete the old process in vc-setup-buffer
8785         * lisp/vc/vc-dispatcher.el (vc-setup-buffer): Delete the old
8786         process here.
8787         (vc-do-command): Rather than here (bug#20608).
8789 2015-05-27  Ivan Shmakov  <ivan@siamics.net>
8791         Avoid gratuitous delete-dups in face-at-point.
8792         * lisp/faces.el (face-at-point): Do not compute the properly
8793         ordered, duplicate-free list if only a single value is
8794         requested anyway.  (Bug#20519)
8796         Show the exact C-x 8 RET invocation in describe-char.
8797         * lisp/descr-text.el (describe-char): Show the exact C-x 8 RET
8798         invocation instead of a template.  (Bug#20522)
8800 2015-05-27  Artur Malabarba  <bruce.connor.am@gmail.com>
8802         * lisp/emacs-lisp/package.el: Don't erase tags on refresh
8803         (package-menu--post-refresh): Call `tabulated-list-print' with the
8804         UPDATE argument.  This only affects the refresh action, the revert
8805         action still erases tags.
8806         (package-menu-get-status): Change `assq' to `assoc'.
8807         (package-menu--mark-upgrades-1): New function.
8808         (package-menu--mark-upgrades-pending): New variable.
8809         (package-menu-mark-upgrades): Use them to delay marking until
8810         after refresh is done.
8811         (package-menu--post-refresh): Call mark-upgrades-1 if
8812         mark-upgrades-pending is non-nil.
8814 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
8816         Fix typo in commit 3953c4be2816537be95520605d45b866dc731f4b
8818 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
8820         * lisp/isearch.el (isearch--current-buffer): New var
8821         (isearch-update): Set cursor-sensor-inhibit here.
8822         (isearch-done): Unset cursor-sensor-inhibit in the right buffer (bug#20532).
8824         Change inhibit-point-motion-hooks to t
8825         * src/textprop.c (syms_of_textprop): Default Vinhibit_point_motion_hooks
8826         to t and document it as obsolete.
8828 2015-05-27  Eli Zaretskii  <eliz@gnu.org>
8830         Support ZIP files that use Zip64 extensions
8831         * lisp/arc-mode.el (archive-zip-summarize): Handle the new ZIP
8832         format of central directory offsets used by Zip64 extensions.
8833         (Bug#20665)
8835 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
8837         New test tramp-test30-make-auto-save-file-name
8838         * tramp-tests.el (tramp-test30-make-auto-save-file-name): New test.
8839         (tramp-test31-special-characters)
8840         (tramp-test31-special-characters-with-stat)
8841         (tramp-test31-special-characters-with-perl)
8842         (tramp-test31-special-characters-with-ls, tramp-test32-utf8)
8843         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
8844         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
8845         (tramp-test34-recursive-load, tramp-test35-unload): Rename.
8847         Improve tramp-handle-make-auto-save-file-name
8848         * tramp.el (tramp-auto-save-directory): Add :tags.
8849         (tramp-handle-make-auto-save-file-name): Let native
8850         `make-auto-save-file-name' use `auto-save-file-name-transforms',
8851         if `tramp-auto-save-directory' is not set.
8853 2015-05-27  Glenn Morris  <rgm@gnu.org>
8855         No longer set dired-directory in eshell.  (Bug#16477)
8856         * lisp/eshell/esh-mode.el (eshell-mode):
8857         * lisp/eshell/em-dirs.el (eshell/cd): No longer set dired-directory.
8859         * lisp/mail/sendmail.el (mail-position-on-field): Doc fix.
8861         Make c-submit-bug-report file reports at debbugs.gnu.org.  (Bug#15784)
8862         * lisp/progmodes/cc-mode.el (c-mode-help-address):
8863         Change to submit@debbugs.
8864         (c-mode-bug-package): New constant.
8865         (mail-position-on-field): Declare.
8866         (c-submit-bug-report): Insert X-Debbugs-Package header.
8867         * doc/misc/cc-mode.texi (Mailing Lists and Bug Reports):
8868         Mention debbugs.gnu.org.
8870 2015-05-26  Glenn Morris  <rgm@gnu.org>
8872         * lisp/mail/rmailsum.el: Commas no longer separate regexps.  (Bug#19026)
8873         (rmail-summary-by-recipients, rmail-summary-by-topic)
8874         (rmail-summary-by-senders): No longer use mail-comma-list-regexp.
8875         * doc/emacs/rmail.texi (Rmail Make Summary): Update for this change.
8877 2015-05-26  Paul Eggert  <eggert@cs.ucla.edu>
8879         Handle curved quotes in info files
8880         * lisp/calc/calc-help.el (calc-describe-thing):
8881         * lisp/info.el (Info-find-index-name)
8882         (Info-try-follow-nearest-node, Info-fontify-node):
8883         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
8884         In info files, process quotes ‘like this’ the same way we process
8885         quotes `like this'.  This catches a few places we missed earlier.
8887 2015-05-26  Dmitry Gutov  <dgutov@yandex.ru>
8889         xref-prompt-for-identifier: Use a list value
8890         * lisp/progmodes/xref.el (xref-prompt-for-identifier): Allow list
8891         value, to be interpreted as a list of commands.
8892         (xref--prompt-p): New function.
8893         (xref--read-identifier): Use it.
8895 2015-05-26  Eli Zaretskii  <eliz@gnu.org>
8897         Teach MS-Windows font back-end return per-glyph ascent/descent
8898         * src/w32font.h (struct w32_metric_cache): Add ascent and descent
8899         values.
8900         * src/w32font.c (w32font_text_extents): Compute, cache, and
8901         accumulate per-glyph ascent and descent values, instead of copying
8902         global values from the font.  If the values are not available from
8903         the font data, i.e., non-TTF fonts, fall back on font-global values.
8904         (compute_metrics): Compute and return per-glyph ascent and descent
8905         values, if returned by GetGlyphOutlineW, falling back on
8906         font-global values.  (Bug#20628)
8907         * src/w32term.c (w32_draw_rectangle): Add 1 pixel to width and
8908         height of rectangle to be drawn, to be compatible with
8909         XDrawRectangle.  Fixes glyphless-char display as hex codes in a
8910         box, when per-glyph ascent/descent values are used.
8912 2015-05-26  Artur Malabarba  <bruce.connor.am@gmail.com>
8914         * lisp/emacs-lisp/tabulated-list.el: Don't sort without sorter
8915         (tabulated-list-print): Don't sort if sorter is nil
8917 2015-05-26  Michael Albinus  <michael.albinus@gmx.de>
8919         Fix Bug#20621
8920         * lisp/net/tramp-sh.el (tramp-set-auto-save): Remove it.  There
8921         are major modes which set `auto-save-mode' on their own rules;
8922         Tramp shall not overwrite such settings.
8923         (Bug#20621)
8925 2015-05-26  Glenn Morris  <rgm@gnu.org>
8927         * lisp/desktop.el: If modes aren't autoloaded, try simple guesswork.
8928         (desktop-load-file): Guess that "foobar" defines "foobar-mode".
8929         (desktop-buffer-mode-handlers, desktop-minor-mode-handlers):
8930         Doc updates.
8931         (vc-dir-mode): Remove unnecessary autoload.
8933 2015-05-25  Philipp Stephani  <phst@google.com>
8935         * lisp/term/xterm.el: Add gui-get-selection support via OSC-52
8936         (xterm--extra-capabilities-type): Add `getSelection'.
8937         (xterm--query): Add `no-async' argument.
8938         (xterm--init-activate-get-selection): New function.
8939         (terminal-init-xterm): Use it.
8940         (xterm--init-modify-other-keys): Rename from
8941         terminal-init-xterm-modify-other-keys.
8942         (xterm--init-bracketed-paste-mode): Rename from
8943         terminal-init-xterm-bracketed-paste-mode.
8944         (xterm--init-activate-set-selection): Rename from
8945         terminal-init-xterm-activate-set-selection.
8946         (xterm--selection-char): New function.
8947         (gui-backend-set-selection): Use it.  Use the &context to only apply
8948         this method in terminals where we enabled the feature.
8949         (gui-backend-get-selection): New method.
8951 2015-05-25  Daniel Colascione  <dancol@dancol.org>
8953         Add C-language keyword constants to C++
8954         * lisp/progmodes/cc-langs.el (c-constant-kwds): Add C-language
8955         keyword constants to C++.
8957 2015-05-25  Paul Eggert  <eggert@cs.ucla.edu>
8959         Make TAGS files more portable to MS-Windows
8960         * etc/NEWS: Document this.
8961         * lib-src/etags.c (readline_internal) [DOS_NT]:
8962         Don't treat CRs differently from GNUish hosts.
8963         * lisp/progmodes/etags.el (etags-goto-tag-location):
8964         Adjust STARTPOS to account for the skipped CRs in dos-style files.
8966 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
8968         Improve fix of debbugs:20634 in tramp-sh.el
8970 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
8972         Fix a typo in last commit
8973         * lib-src/etags.c (C_entries): Fix a typo.
8974         * test/etags/ETAGS.good_1:
8975         * test/etags/ETAGS.good_2:
8976         * test/etags/ETAGS.good_3:
8977         * test/etags/ETAGS.good_4:
8978         * test/etags/ETAGS.good_5:
8979         * test/etags/CTAGS.good: Update due to the change in etags.c.
8981         Fix tagging of class members in C-like OO languages
8982         * lib-src/etags.c (longopts): Add new option --class-qualify and
8983         its shorthand -Q.
8984         (print_help): Add help text for --class-qualify.
8985         (main): Add handling of -Q.
8986         (consider_token, C_entries) <omethodparm>: Append argument types
8987         to Objective C methods only if --class-qualify was specified.
8988         Qualify C++, Objective C, and Java class members with their class
8989         names only if --class-qualify was specified.
8990         (C_entries): If --class-qualify was not specified, remove the
8991         namespace and class qualifiers from tag names of C++ methods.
8992         This allows to use etags.el as xref back-end without the
8993         tag-symbol-match-p method, which greatly increases the number of
8994         potentially false positives.  (Bug#20629)
8995         * doc/man/etags.1: Update to document the new --class-qualify
8996         option.
8997         * test/etags/ETAGS.good_1:
8998         * test/etags/ETAGS.good_2:
8999         * test/etags/ETAGS.good_3:
9000         * test/etags/ETAGS.good_4:
9001         * test/etags/ETAGS.good_5:
9002         * test/etags/CTAGS.good: Update due to changes in etags.c.
9004 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
9006         (cl-generic-define-method): Side effects are evil (bug#20644)
9007         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method): Don't reuse
9008         cons-cells that might be used as keys in an `equal' hash-table.
9010 2015-05-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
9012         Make erc timestamps visible again
9013         * lisp/erc/erc-stamp.el (erc-munge-invisibility-spec): Make
9014         timestamps visible again (if requested).
9016 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
9018         Fix last change in etags.c that broke tagging compresed files
9019         * lib-src/etags.c (process_file_name) [MSDOS || DOS_NT]: Fix
9020         quoting of decompression shell command for MS-Windows/MS-DOS.
9022 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
9024         * lisp/emacs-lisp/cl-macs.el (cl-tagbody): Scope cl--tagbody-alist
9025         (Bug#20639)
9027 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
9029         Fix typo in 89035e247591c8d688fce922b7079881aa110f33
9031 2015-05-25  Orivej Desh  <orivej@gmx.fr>  (tiny change)
9033         Fix IPv6 addresses in Tramp
9034         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
9035         Add sqare brackets around host name.
9037 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
9039         Inhibit `epa-file-handler' in Tramp
9040         (Bug#20634)
9041         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer)
9042         (tramp-sh-handle-insert-file-contents-literally): Inhibit also
9043         `epa-file-handler'.
9045 2015-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
9047         * lisp/emacs-lisp/pcase.el: Use PAT rather than UPAT in docstring
9048         (pcase-let): Document the behavior in case the pattern doesn't match.
9050 2015-05-24  Artur Malabarba  <bruce.connor.am@gmail.com>
9052         * lisp/emacs-lisp/tabulated-list.el: New optional print method
9053         (tabulated-list-print): New optional argument, UPDATE.  If
9054         non-nil, the list is printed by only adding and deleting the
9055         changed entries, instead of erasing the whole buffer.  This method
9056         is much faster when few or no entries have changed.
9057         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
9058         * etc/NEWS: Document it.
9060         * lisp/emacs-lisp/tabulated-list.el: Improve printing
9061         (tabulated-list--get-sorter): New function.
9062         (tabulated-list-print): Restore window-line when remember-pos is
9063         passed and optimize away the `nreverse'.
9065 2015-05-24  Paul Eggert  <eggert@cs.ucla.edu>
9067         Simpilify etags TEX mode scanning
9068         * lib-src/etags.c (TEX_mode, TEX_esc, TEX_opgrp, TEX_clgrp):
9069         Remove static vars.
9070         (TeX_commands): Deduce escapes here instead.
9071         (TEX_LESC, TEX_SESC, TEX_mode): Remove; all uses removed.
9072         This removes the need for a reset_input call.
9074         Improve etags I/O error reporting
9075         * lib-src/etags.c:
9076         Don't include sys/types.h and sys/stat.h; no longer needed.
9077         (infilename): New static var.
9078         (process_file_name): Don't call 'stat'.  Instead, just open the
9079         file for reading and report any errors.  Don't bother making
9080         a copy of the file argument; it's not needed.  Be more careful to
9081         use the failing errno when reporting an error.
9082         Quote the real name better (though no perfectly)
9083         when passing it to the shell.
9084         (reset_input): New function, which reports I/O errors.
9085         All uses of 'rewind' changed to use this function.
9086         (perhaps_more_input): New function, which also checks for
9087         I/O errors.  All uses of 'feof' changed to use this function.
9088         (analyze_regex): Report an error if fclose fails.
9089         (readline_internal): Report an error if getc fails.
9090         (etags_mktmp): Return an error if close fails.
9092         etags.c: avoid side effects in 'if'
9093         * lib-src/etags.c (process_file_name, Perl_functions)
9094         (TEX_decode_env): Hoist side effects into previous statement.
9096         .gitignore tweaks
9097         * .gitignore: Ignore all *.stamp files.  Sort.
9098         Ignore [0-9]*.txt (commonly used name for git patches)
9099         and /vc-dwim-log-* (vc-dwim temporary).
9101 2015-05-24  Eli Zaretskii  <eliz@gnu.org>
9103         Fix last change in etags.c, which failed the test suite
9104         * lib-src/etags.c (intoken): Add '$' to the set, as it was there
9105         before the last change.
9107 2015-05-23  Glenn Morris  <rgm@gnu.org>
9109         Remove charset map files from repository, generate in first bootstrap
9110         * admin/charsets/Makefile.in (${srcdir}/charsets.stamp): New.
9111         (all): Create the stamp file.
9112         (extraclean): Delete the stamp file.
9113         * src/Makefile.in (lispintdir, charsets): New variables.
9114         (${lispintdir}/cp51932.el, ${lispintdir}/eucjp-ms.el, ${charsets}):
9115         New rules.
9116         (emacs$(EXEEXT), temacs$(EXEEXT)): Depend on $charsets.
9117         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
9118         * etc/charsets/*.map: Remove from repository.
9120 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
9122         Cleanup etags.c to use locale-independent code
9123         Although this doesn't alter behavior (as etags doesn't use
9124         setlocale), the new version is more clearly locale-independent and
9125         the executable is a bit smaller on my platform.
9126         * lib-src/etags.c: Include <limits.h>, for UCHAR_MAX.
9127         Include <c-ctype.h> instead of <ctype.h>.
9128         (CHARS, CHAR, init, _wht, _nin, _itk, _btk, _etk, white, nonam, endtk)
9129         (begtk, midtk):
9130         Remove; no longer needed.
9131         (iswhite, ISALNUM, ISALPHA, ISDIGIT, ISLOWER, lowcase): Remove.
9132         All callers changed to use c_isspace, c_isalnum, c_isalpha, c_isdigit,
9133         c_islower, c_tolower, respectively.
9134         (notinname, begtoken, intoken, endtoken): Rewrite as functions
9135         instead of macros, and initialize the tables at compile-time
9136         rather than at run-time.
9138         Put default action first in src/Makefile
9139         * src/Makefile.in (all): Put this rule before lisp.mk.
9140         That way, plain 'make' works in the src directory again.
9142 2015-05-23  Glenn Morris  <rgm@gnu.org>
9144         * Makefile.in: Fix extraclean rule.
9145         (extraclean_dirs): New.
9146         (extraclean): Use it.
9148 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
9150         Avoid compiler warning in image.c on MS-Windows
9151         * src/w32term.h (x_query_color): Add prototype, to avoid compiler
9152         warning in image.c.
9154 2015-05-23  Glenn Morris  <rgm@gnu.org>
9156         Fix --without-toolkit-scroll-bars builds.
9157         * src/xterm.c (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]:
9158         Add new argument to x_clear_area1.
9159         (XTset_horizontal_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
9160         Update x_clear_area arguments.
9162         * admin/charsets/glibc/: New directory, imported from glibc 2.21.
9163         * admin/charsets/Makefile.in (GLIBC_CHARMAPS):
9164         Change to included version.
9165         (LOCAL, local, totalclean): Remove.
9166         (extraclean): Delete all generated files.
9168 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
9170         * lisp/pcmpl-cvs.el (pcmpl-cvs-entries): Don't assume CVS/Entries exists.
9172         * lisp/progmodes/xref.el (xref-find-apropos): Use read-string.
9174         tags-completion-at-point-function: Don't trust the find-tag function
9175         * lisp/progmodes/etags.el (tags-completion-at-point-function):
9176         Don't trust the find-tag function.
9178 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
9180         Pacify --enable-gcc-warnings
9181         * src/frame.h (x_query_color): Remove redundant extern decl.
9182         * src/ftcrfont.c (ftcrfont_glyph_extents, ftcrfont_list)
9183         (ftcrfont_match, ftcrfont_open, ftcrfont_close)
9184         (ftcrfont_text_extents, ftcrfont_draw):
9185         * src/xterm.c (x_set_window_size_1, *x_color_cells, x_update_end)
9186         (XTframe_up_to_date, x_clear_area1, x_clear_frame)
9187         (x_ins_del_lines, frame_highlight, frame_unhighlight)
9188         (x_new_focus_frame, x_focus_changed, XTframe_rehighlight)
9189         (x_draw_hollow_cursor, x_draw_bar_cursor, x_flush, x_update_begin)
9190         (x_update_window_begin, x_connection_closed)
9191         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
9192         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
9193         (*x_gc_get_ext_data, x_extension_initialize)
9194         (x_cr_accumulate_data):
9195         Remove redundant static decl.  Many of these GCC doesn't complain
9196         about, but we might as well clean out the duplication while we're
9197         in the neighborhood.
9198         * src/xterm.c (x_fill_trapezoid_for_relief):
9199         Remove decl of nonexistent function.
9201 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
9203         Replace gui-method macros with cl-generic with &context
9204         * lisp/frame.el (gui-method--name, gui-method, gui-method-define)
9205         (gui-method-declare, gui-call): Remove.
9206         (frame-creation-function): Use cl-defgeneric.
9207         (make-frame): Adjust callers.
9208         * lisp/menu-bar.el (menu-bar-edit-menu):
9209         Use gui-backend-selection-exists-p.
9210         * lisp/select.el (x-get-clipboard): Use gui-backend-get-selection.
9211         (gui-backend-get-selection): New cl-generic to replace
9212         gui-get-selection method.
9213         (gui-backend-set-selection): New cl-generic to replace
9214         gui-set-selection method.
9215         (gui-selection-owner-p): New cl-generic to replace
9216         gui-selection-owner-p method.
9217         (gui-backend-selection-exists-p): New cl-generic to replace
9218         gui-selection-exists-p method.  Adjust all callers.
9219         * lisp/server.el (server-create-window-system-frame): Don't ignore
9220         window-system spec even when unsupported.
9221         * lisp/simple.el (deactivate-mark): Use new gui-backend-* functions.
9222         * lisp/startup.el (handle-args-function, window-system-initialization):
9223         Use cl-defgeneric.
9224         (command-line): Adjust calls accordingly.
9225         * lisp/term/ns-win.el (ns-window-system-initialization): Turn into
9226         a window-system-initialization method.
9227         (handle-args-function, frame-creation-function): Use cl-defmethod.
9228         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
9229         (gui-get-selection): Use cl-defmethod on the new functions instead.
9230         * lisp/term/pc-win.el (w16-get-selection-value): Turn into
9231         a gui-backend-get-selection method.
9232         (gui-selection-exists-p, gui-selection-owner-p, gui-set-selection):
9233         Use cl-defmethod on the new functions instead.
9234         (msdos-window-system-initialization): Turn into
9235         a window-system-initialization method.
9236         (frame-creation-function, handle-args-function): Use cl-defmethod.
9237         * lisp/term/w32-win.el (w32-window-system-initialization): Turn into
9238         a window-system-initialization method.
9239         (handle-args-function, frame-creation-function): Use cl-defmethod.
9240         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
9241         (gui-get-selection): Use cl-defmethod on the new functions instead.
9242         * lisp/term/x-win.el (x-window-system-initialization): Turn into
9243         a window-system-initialization method.
9244         (handle-args-function, frame-creation-function): Use cl-defmethod.
9245         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
9246         (gui-get-selection): Use cl-defmethod on the new functions instead.
9247         * lisp/term/xterm.el (xterm--set-selection): Turn into
9248         a gui-backend-set-selection method.
9249         * src/nsselect.m (Fns_selection_exists_p): Remove unused arg `terminal'.
9250         (Fns_selection_owner_p): Remove unused arg `terminal'.
9251         (Fns_get_selection): Remove unused args `time_stamp' and `terminal'.
9253 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
9255         Revert "Fix etags Bug#20629 that broke C++ support."
9256         This reverts commit 13dd9d4f7e75d2c78aa5537cef09de03663e9748.
9258 2015-05-23  Jan D  <jan.h.d@swipnet.se>
9260         Fix etags Bug#20629 that broke C++ support.
9261         * etags.el (etags-xref-find-definitions-tag-order): Revert commit
9262         from Sun May 10 (Bug#20629).
9264         Merge branch 'cairo'.
9265         Main work done by YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>.
9266         Small fixes and image work by Jan D. <jan.h.d@swipnet.se>.
9268         Merge branch 'master' into cairo
9270         Fixes to compile cairo branch without cairo.
9271         * src/gtkutil.c (xg_update_scrollbar_pos): x_clear_area takes frame as
9272         first argument.
9273         * src/xterm.c (handle_one_xevent): Surround x_cr_destroy_surface with
9274         USE_CAIRO.
9276 2015-05-23  Artur Malabarba  <bruce.connor.am@gmail.com>
9278         * lisp/emacs-lisp/package.el: Always update selected-packages
9279         (package--update-selected-packages): New function.
9280         (package-menu-execute): Use it before starting the transaction,
9281         this way the list of selected packages is updated even when the
9282         transaction fails.
9283         (package-menu--perform-transaction): Don't edit selected-packages.
9285 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
9287         Fix etags reading of compressed files
9288         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Define.
9289         Include fcntl.h, for O_CLOEXEC.
9290         (process_file_name): Don't use 'popen', whose streams cannot be
9291         rewound.  Instead, uncompress the file to a temporary file,
9292         created by 'etags_mktmp', and read from that as usual.
9293         (etags_mktmp): New function.
9294         * test/etags/ETAGS.good_1:
9295         * test/etags/ETAGS.good_2:
9296         * test/etags/ETAGS.good_3:
9297         * test/etags/ETAGS.good_4:
9298         * test/etags/ETAGS.good_5: Update to be consistent with latest
9299         changes in etags.c regarding reading compressed files.
9301         Improve documentation of 'set-fontset-font'
9302         * doc/lispref/display.texi (Fontsets): Document the value of nil
9303         for the 3rd argument of 'set-fontset-font'.
9305         Fix documentation of forward-line
9306         * src/cmds.c (Fforward_line): Clarify the return value if the line
9307         at end of accessible portion of the buffer has no newline.
9308         * doc/lispref/positions.texi (Text Lines): Document what happens
9309         if the line at end of accessible portion of buffer has no newline.
9310         (Bug#20587)
9312 2015-05-22  Glenn Morris  <rgm@gnu.org>
9314         * admin/charsets/Makefile.in (TRANS_TABLE): Add short aliases.
9316         * admin/charsets/mapconv (LC_ALL): Set to C.
9318         * Makefile.in: Add admin/charsets into top-level clean rules.
9319         (clean): Add admin/charsets.
9320         (maybeclean_dirs): New variable.
9321         (distclean, bootstrap-clean, maintainer-clean): Use $maybeclean_dirs.
9323         * admin/charsets/Makefile.in (LOCAL, local): Fix members.
9325 2015-05-22  Artur Malabarba  <bruce.connor.am@gmail.com>
9327         * lisp/emacs-lisp/package.el (package-selected-packages): Fix doc
9329 2015-05-22  Glenn Morris  <rgm@gnu.org>
9331         Generate admin/charsets Makefile via configure, and make more portable.
9332         * configure.ac (SUBDIR_MAKEFILES): Add admin/charsets/Makefile.
9333         (admin/charsets/Makefile): Generate it.
9334         * admin/charsets/Makefile.in: Rename from Makefile.
9335         (AWK, srcdir, top_srcdir, AM_DEFAULT_VERBOSITY):
9336         New variables, set by configure.
9337         (charsetdir, lispintdir, mapfiledir, AM_V_GEN, am__v_GEN_)
9338         (am__v_GEN_0, am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0)
9339         (am__v_at_1, LOCAL, mapconv, run_mapconv, big5, compact, cp51932)
9340         (cp932, eucjp_ms, gb180302, gb180304, kuten): New variables.
9341         (TRANS_TABLE, CHARSETS): Add directory prefix to value.
9342         (all): Declare PHONY.
9343         (local): New PHONY target.
9344         (map_template): New template.  Use to define short PHONY aliases.
9345         (*.map): Add directory prefixes to targets and prerequisites.
9346         Respect make verbosity.
9347         (JISC6226.map): Replace non-portable sed append without newline.
9348         (install): Remove rule.
9349         (clean): Only delete temporary sedscript.
9350         (bootstrap-clean, distclean, maintainer-clean, extraclean)
9351         (totalclean): New PHONY rules.
9352         * admin/charsets/mapconv (BASE): Replace basename with expr.
9353         (FILE): Add "mapfiles" subdirectory.
9354         (AWK): New variable.  Use throughout in place of "awk".
9355         (main): Use "gunzip -c" in place of "zcat".
9356         Don't leave whitespace before "p", for older sed.
9357         * admin/charsets/mapfiles/PTCP154: Add final newline,
9358         to make older sed versions happy.
9360 2015-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
9362         * lisp/autorevert.el: Use lexical-binding.  Fix hook usage.
9363         (global-auto-revert-ignore-buffer, auto-revert-notify-modified-p)
9364         (auto-revert-notify-watch-descriptor): Use defvar-local.
9365         (find-file-hook, auto-revert-tail-mode, )
9366         (auto-revert-notify-add-watch): Use setq-local.
9367         (auto-revert-notify-add-watch): Don't call make-local-variable on
9368         kill-buffer-hook (bug#20601).
9370 2015-05-21  Stefan Monnier  <monnier@iro.umontreal.ca>
9372         Change defgeneric so it doesn't completely redefine the function
9373         * lisp/emacs-lisp/cl-generic.el (cl-generic-define): Don't throw away
9374         previously defined methods.
9375         (cl-generic-define-method): Let-bind purify-flag instead of using `fset'.
9376         (cl--generic-prefill-dispatchers): Only define during compilation.
9377         (cl-method-qualifiers): Remove redundant alias.
9378         (help-fns-short-filename): Silence byte-compiler.
9379         * test/automated/cl-generic-tests.el: Adjust to new defgeneric semantics.
9381 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
9383         (package-menu-execute): Remove reference to remove-dups
9385 2015-05-21  kwhite  <kwhite@gnu.org>
9387         * lisp/erc/erc.el: Hide network/channel messages
9388         (erc-network-hide-list, etc-channel-hide-list): New lists to define
9389         message types per network/channel.
9390         (erc-add-targets): New function to parse list of targets
9391         (erc-hide-current-message-p): Modified to check for new targets
9393 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
9395         Don't quote nil and t in doc strings
9396         This is as per "Tips for Documentation Strings" in the elisp manual.
9397         For consistency, do the same in diagnostics and comments.
9399 2015-05-21  Eli Zaretskii  <eliz@gnu.org>
9401         Fix a minor problem with mouse-face on mode line
9402         * src/xdisp.c (note_mode_line_or_margin_highlight): Reset the
9403         mouse face also if the mouse pointer hovers above mode-line glyphs
9404         that don't come from any Lisp string.  (Bug#20620)
9406 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
9408         * lisp/emacs-lisp/package.el: Fix selected-package logic
9409         (package-menu-execute): Mark as selected all non-upgrade packages
9410         being installed.
9411         (package-menu--perform-transaction): Don't mark anything.
9413         * lisp/emacs-lisp/package.el: Mode-line progress report
9414         (package-menu--transaction-status): New variable.
9415         (package-menu-mode, package-menu--perform-transaction): Use it.
9417         * lisp/emacs-lisp/package.el: Better transaction messages
9418         (package-menu--partition-transaction): New function.
9419         (package-menu--prompt-transaction-p, package-menu-execute): Use
9420         it.
9421         (package-menu--perform-transaction): Don't do any messaging.
9423         * lisp/emacs-lisp/package.el: Revert async package transactions
9424         (package-menu-async): Update doc.
9425         (package-install-from-archive, package-download-transaction)
9426         (package-install, package-menu--perform-transaction)
9427         (package-menu-execute): Remove asynchronous functionality.
9429 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
9431         Revert doc string changes to f90.el
9432         Problem reported by Glenn Morris in:
9433         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00596.html
9434         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
9435         Revert recent changes to doc strings, as it's intended that they
9436         use grave accent, not quote.
9438 2015-05-20  Bozhidar Batsov  <bozhidar@batsov.com>
9440         Improve parameter name
9442         Add new inline function `hash-table-empty-p'
9444 2015-05-20  Paul Eggert  <eggert@cs.ucla.edu>
9446         Don't require help-fns when not needed
9447         * lisp/emacs-lisp/autoload.el, lisp/emacs-lisp/advice.el:
9448         * lisp/emacs-lisp/elint.el:
9449         Don't require help-fns at the top level.
9450         * lisp/emacs-lisp/advice.el (ad-arglist):
9451         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
9452         Don't require help-fns.  (Bug#17001)
9454 2015-05-20  Eli Zaretskii  <eliz@gnu.org>
9456         Fix slash collapsing in etags on MS-Windows
9457         * lib-src/etags.c (canonicalize_filename) [DOS_NT]: Separate the
9458         MS-Windows code from the Posix code, and support collapsing both
9459         forward- and back-slashes on MS-Windows.  Fixes a regression found
9460         by the test suite.
9462         Improve documentation of glyphless-char-display
9463         * doc/lispref/display.texi (Glyphless Chars): Improve
9464         documentation of glyphless character display.
9466         Fix "acronym" display of glyphless characters on w32
9467         * src/w32term.c (x_draw_glyphless_glyph_string_foreground): Don't
9468         ignore "acronym" substitutes of 1 character for glyphless characters.
9470 2015-05-20  Oleh Krehel  <ohwoeowho@gmail.com>
9472         Add an automated test for let-when-compile
9473         * test/automated/subr-tests.el (let-when-compile): New test.
9475         Add let-when-compile macro instead of using pcase-let
9476         * lisp/subr.el (let-when-compile): New let-like macro that makes its
9477         bindings known to macros like `eval-when-compile' in the body.
9478         * lisp/emacs-lisp/lisp-mode.el: Change the top-level `pcase-let' to a
9479           `let-when-compile'. Also comment out the unused lexical var
9480           `el-kws-re'.
9481         The change greatly improves readability, while providing almost the
9482         same (even shorter) byte code: instead of pre-evaluating 10 variables,
9483         tossing them into a list, and destructuring that list a full screen
9484         page later, the variables are simply bound as they are evaluated,
9485         wrapped individually in `eval-when-compile'.
9487 2015-05-20  Artur Malabarba  <bruce.connor.am@gmail.com>
9489         * lisp/emacs-lisp/package.el: "Delete" button in Help buffer
9490         (package-delete-button-action): New function.
9491         (describe-package-1): Add Delete button.
9493         * lisp/emacs-lisp/package.el: Better dependency description
9494         (package--used-elsewhere-p): New optional arg, ALL, and return
9495         package-desc objects instead of names.
9496         (package-delete): Update accordingly.
9497         (describe-package-1): Describe which packages require the package.
9499 2015-05-20  Martin Rudalics  <rudalics@gmx.at>
9501         Fix handling and doc-string of FRAME arg of `other-buffer' (Bug#20533)
9502         * src/buffer.c (Fother_buffer): Argument FRAME must denote a live frame.
9503         Fix doc-string (Bug#20533).
9505         Improve `switch-to-buffer' in strongly dedicated windows (Bug#20472)
9506         * lisp/window.el (switch-to-buffer-in-dedicated-window): New option.
9507         (switch-to-buffer): If the selected window is strongly dedicated
9508         to its buffer, signal error before prompting for buffer name.  Handle
9509         `switch-to-buffer-in-dedicated-window'.  (Bug#20472)
9510         * doc/lispref/windows.texi (Switching Buffers): Document
9511         `switch-to-buffer-in-dedicated-window'.
9513 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
9515         Prefer "this" to “this” in doc strings
9516         This mostly just straightens quotes introduced in my previous patch.
9517         Suggested by Dmitry Gutov in:
9518         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00565.html
9519         * lisp/faces.el, lisp/gnus/gnus-group.el, lisp/ldefs-boot.el:
9520         * lisp/mail/supercite.el, lisp/net/tramp.el, lisp/recentf.el:
9521         * lisp/textmodes/artist.el, lisp/textmodes/rst.el:
9522         * lisp/textmodes/tildify.el, lisp/vc/ediff-util.el:
9523         * lisp/vc/log-edit.el, lisp/xt-mouse.el:
9524         Prefer straight double quotes to curved double quotes in doc strings.
9526         Fix minor quoting problems in doc strings
9527         These were glitches regardless of how or whether we tackle the
9528         problem of grave accent in doc strings.
9529         * lisp/calc/calc-aent.el (math-restore-placeholders):
9530         * lisp/ido.el (ido-ignore-buffers, ido-ignore-files):
9531         * lisp/leim/quail/cyrillic.el ("bulgarian-alt-phonetic"):
9532         * lisp/leim/quail/hebrew.el ("hebrew-new")
9533         ("hebrew-biblical-sil"):
9534         * lisp/leim/quail/thai.el ("thai-kesmanee"):
9535         * lisp/progmodes/idlw-shell.el (idlwave-shell-file-name-chars):
9536         Used curved quotes to avoid ambiguities like ‘`''’ in doc strings.
9537         * lisp/calendar/calendar.el (calendar-month-abbrev-array):
9538         * lisp/cedet/semantic/mru-bookmark.el (semantic-mrub-cache-flush-fcn):
9539         * lisp/cedet/semantic/symref.el (semantic-symref-tool-baseclass):
9540         * lisp/cedet/semantic/tag.el (semantic-tag-copy)
9541         (semantic-tag-components):
9542         * lisp/cedet/srecode/cpp.el (srecode-semantic-handle-:cpp):
9543         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
9544         * lisp/emacs-lisp/byte-opt.el (byte-optimize-all-constp):
9545         * lisp/emacs-lisp/checkdoc.el (checkdoc-message-text-engine):
9546         * lisp/emacs-lisp/generator.el (iter-next):
9547         * lisp/gnus/gnus-art.el (gnus-treat-strip-list-identifiers)
9548         (gnus-article-mode-syntax-table):
9549         * lisp/net/rlogin.el (rlogin-directory-tracking-mode):
9550         * lisp/net/soap-client.el (soap-wsdl-get):
9551         * lisp/net/telnet.el (telnet-mode):
9552         * lisp/org/org-compat.el (org-number-sequence):
9553         * lisp/org/org.el (org-remove-highlights-with-change)
9554         (org-structure-template-alist):
9555         * lisp/org/ox-html.el (org-html-link-org-files-as-html):
9556         * lisp/play/handwrite.el (handwrite-10pt, handwrite-11pt)
9557         (handwrite-12pt, handwrite-13pt):
9558         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
9559         * lisp/progmodes/idlwave.el (idlwave-mode, idlwave-check-abbrev):
9560         * lisp/progmodes/verilog-mode.el (verilog-tool)
9561         (verilog-string-replace-matches, verilog-preprocess)
9562         (verilog-auto-insert-lisp, verilog-auto-insert-last):
9563         * lisp/textmodes/makeinfo.el (makeinfo-options):
9564         * src/font.c (Ffont_spec):
9565         Fix minor quoting problems in doc strings, e.g., missing quote,
9566         ``x'' where `x' was meant, etc.
9567         * lisp/erc/erc-backend.el (erc-process-sentinel-2):
9568         Fix minor quoting problem in other string.
9569         * lisp/leim/quail/ethiopic.el ("ethiopic"):
9570         * lisp/term/tvi970.el (tvi970-set-keypad-mode):
9571         Omit unnecessary quotes.
9572         * lisp/faces.el (set-face-attribute, set-face-underline)
9573         (set-face-inverse-video, x-create-frame-with-faces):
9574         * lisp/gnus/gnus-group.el (gnus-group-nnimap-edit-acl):
9575         * lisp/mail/supercite.el (sc-attribs-%@-addresses)
9576         (sc-attribs-!-addresses, sc-attribs-<>-addresses):
9577         * lisp/net/tramp.el (tramp-methods):
9578         * lisp/recentf.el (recentf-show-file-shortcuts-flag):
9579         * lisp/textmodes/artist.el (artist-ellipse-right-char)
9580         (artist-ellipse-left-char, artist-vaporize-fuzziness)
9581         (artist-spray-chars, artist-mode, artist-replace-string)
9582         (artist-put-pixel, artist-text-see-thru):
9583         * lisp/vc/ediff-util.el (ediff-submit-report):
9584         * lisp/vc/log-edit.el (log-edit-changelog-full-paragraphs):
9585         Use double-quotes rather than TeX markup in doc strings.
9586         * lisp/skeleton.el (skeleton-pair-insert-maybe):
9587         Reword to avoid the need for grave accent and apostrophe.
9588         * lisp/xt-mouse.el (xterm-mouse-tracking-enable-sequence):
9589         Don't use grave and acute accents to quote.
9591 2015-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
9593         * emacs-lisp/generator.el (cps--gensym, cps--transform-1): Silence compiler
9595 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
9597         Try to port new etags tests to MS-Windows
9598         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
9599         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
9600         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
9601         Adjust to test-case changes below.
9602         * test/etags/Makefile (CSRC): Remove dostorture.c.
9603         Whatever it was trying to test, wasn't working portably.
9604         (LC_ALL): Remove.  Apparently there wasn't an encoding problem,
9605         just a line-ending problem.
9606         * test/etags/c-src/dostorture.c: Remove.
9607         * test/etags/cp-src/c.C: Remove stray CR.
9608         * test/etags/html-src/algrthms.html: Remove trailing CRs.
9609         State UTF-8 as the encoding.  The file is ASCII so it doesn't matter,
9610         but if someone edits it later it should stay UTF-8-compatible.
9612 2015-05-19  Eli Zaretskii  <eliz@gnu.org>
9614         Fix display of overlapping window-specific overlays
9615         * src/keyboard.c (adjust_point_for_property): When adjusting point
9616         due to display strings, ignore overlays that are specific to
9617         windows other than the currently selected one.
9618         * src/xdisp.c (handle_single_display_spec): If the display
9619         property comes from an overlay, arrange for buffer iteration to
9620         resume only after the end of that overlay.  (Bug#20607)
9622 2015-05-19  Dmitry Gutov  <dgutov@yandex.ru>
9624         New command icomplete-force-complete-and-exit
9625         * lisp/icomplete.el (icomplete-force-complete-and-exit):
9626         New command
9627         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00461.html)
9628         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00516.html).
9629         (icomplete-minibuffer-map): Bind C-j to it.
9630         (icomplete-forward-completions, icomplete-backward-completions):
9631         Mention the new command in the docstring.
9632         * lisp/minibuffer.el (minibuffer-force-complete-and-exit): Revert
9633         the previous fix for bug#17545.
9635 2015-05-19  Martin Rudalics  <rudalics@gmx.at>
9637         Fix last commit
9639         In Elisp manual explain how to override window manager positioning (Bug#20552)
9640         * doc/lispref/frames.texi (Position Parameters): Give example of
9641         how to override a window manager positioning decision.
9643         Clarify concept of "surrogate minibuffer frames" (Bug#20538)
9644         * src/frame.c (Fdelete_frame): In doc-string mention that frame
9645         can't be deleted if it has a surrogate minibuffer.
9646         * doc/lispref/frames.texi (Minibuffers and Frames)
9647         (Deleting Frames): Explain "surrogate minibuffer frames".
9649         In w32heap.c bump DUMPED_HEAP_SIZE to 19/12 MB
9650         * emacs-git/quick/src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 19/12 MB.
9652 2015-05-18  Glenn Morris  <rgm@gnu.org>
9654         Add option to ignore commit lines matching a pattern in ChangeLog.
9655         * build-aux/gitlog-to-changelog: Add --ignore-line option.
9656         * build-aux/gitlog-to-emacslog: Ignore lines matching '^; '.
9658 2015-05-18  Paul Eggert  <eggert@cs.ucla.edu>
9660         Don't skip new etags tests on non-UTF-8 hosts
9661         Problem reported by Eli Zaretskii for MS-Windows.
9662         * test/etags/Makefile (UTF8_LOCALE, UTF8_ENCODING): Remove.
9663         (LC_ALL): Set to C if the current locale isn't UTF-8.
9664         (.PHONY): Remove ediff_1 thru ediff_5.
9665         (check): Always run.
9667 2015-05-18  Glenn Morris  <rgm@gnu.org>
9669         * lisp/calculator.el (calculator-funcall):
9670         * lisp/textmodes/artist.el (artist-spray-random-points):
9671         Use standard degree/radian conversion utilities.
9673         Further lisp-complete-symbol related cleanup.
9674         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol):
9675         Unadvertise non-functional argument.  Replace obsolete alias.
9677 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
9679         Add a test case for Maven warning ouput
9680         * test/automated/compile-tests.el
9681         (compile-tests--test-regexps-data): Add a case for Maven warning
9682         ouput.
9683         (compile--test-error-line): Check the compilation message type, if
9684         it's specified in the test data.
9686 2015-05-18  Paul Pogonyshev  <pogonyshev@gmail.com>
9688         Update Maven compilation-mode entry to distinguish warnings
9689         * lisp/progmodes/compile.el
9690         (compilation-error-regexp-alist-alist): Update Maven entry to
9691         distinguish warnings (bug#20556).
9693 2015-05-18  Przemysław Wojnowski  <esperanto@cumego.com>
9695         * test/automated/sgml-mode-tests.el: New file.
9697 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
9699         Improve handling of the first Git revision
9700         * lisp/vc/log-view.el (log-view-toggle-entry-display): When
9701         there's no next entry, delete until the end of the buffer.
9702         (log-view-end-of-defun-1): Stop at eob.
9703         * lisp/vc/vc-annotate.el
9704         (vc-annotate-show-diff-revision-at-line-internal): Don't give up
9705         when previous-revision is nil.
9706         * lisp/vc/vc-git.el (vc-git-expanded-log-entry): End the arguments
9707         with `--' to avoid ambiguity.
9708         (vc-git-annotate-extract-revision-at-line): Exclude `^' from the
9709         returned revision string.
9710         (vc-git-annotate-time): Expect `^' before the first revision.
9711         * lisp/vc/vc-git.el (vc-git-diff): Diff against an empty tree if
9712         REV1 is nil, and REV2 is not.
9713         * lisp/vc/vc.el: Update the description of the `diff' function.
9715 2015-05-18  Oleh Krehel  <ohwoeowho@gmail.com>
9717         Allow checkdoc to be called in batch
9718         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When `noninteractive'
9719           is non-nil, echo the error with `warn'.
9720         How it can be used in -batch:
9721         (with-current-buffer (find-file "checkdoc.el")
9722           (checkdoc-current-buffer t))
9724 2015-05-18  Glenn Morris  <rgm@gnu.org>
9726         * lisp/calendar/solar.el (solar-ecliptic-coordinates): Use float-pi.
9728 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
9730         * admin/notes/unicode: New section "binary files".
9732         Change new etags test to use UTF-8 encoding
9733         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
9734         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
9735         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
9736         * test/etags/html-src/index.shtml, test/etags/html-src/software.html:
9737         * test/etags/html-src/softwarelibero.html:
9738         Switch to UTF-8 encoding.
9739         * test/etags/Makefile (SRCS): Adjust to switch to UTF-8.
9740         Remove Makefile, as it's too incestuous to have the test input
9741         include the build procedure.
9742         (UTF8_LOCALE, UTF_ENCODING): New macros.
9743         (LC_ALL): If possible, set to a UTF-8 encoding if not already UTF-8.
9744         (check): Skip if not UTF-8.
9745         (.PHONY): New rule.
9746         (FRC): Remove, as superseded by .PHONY.  All uses removed.
9747         (regexfile): Prefer printf to echo when outputting oddball chars.
9748         (.PRECIOUS): Remove, as these files are not built.
9750         Rename 'foo-gzipped' to 'foo.gz'
9751         * test/automated/data/decompress/foo.gz:
9752         Rename from test/automated/data/decompress/foo-gzipped,
9753         to make it easier for other tools to tell that it's compressed.
9754         * test/automated/zlib-tests.el (zlib--decompress):
9755         Adjust to renamed file.
9757 2015-05-17  Dmitry Gutov  <dgutov@yandex.ru>
9759         Set up default-directory
9760         * lisp/vc/vc-annotate.el (vc-annotate-mode-map): Remove duplicate
9761         binding for `v'.
9762         (vc-annotate-show-changeset-diff-revision-at-line): Set up an
9763         appropriate value for default-directory.
9765 2015-05-17  Samer Masterson  <samer@samertm.com>
9767         * lisp/eshell/em-term.el (eshell-term-sentinel):
9768         No-op by default, only kills term buffer if
9769         `eshell-destroy-buffer-when-process-dies' is non-nil.  (Bug#18108)
9770         (eshell-destroy-buffer-when-process-dies): New custom to preserve
9771         previous behavior.
9773         eshell: Introduce new buffer syntax
9774         The new buffer syntax '#<buffer-name>' is equivalent to '#<buffer
9775         buffer-name>'.  Remove `eshell-buffer-shorthand', as it is no longer
9776         needed (Bug#19319).
9777         * lisp/eshell/esh-io.el (eshell-buffer-shorthand): Remove.
9778         (eshell-get-target): Remove shorthand-specific code.
9779         * lisp/eshell/esh-arg.el (eshell-parse-special-reference): Parse
9780         '#<buffer-name>'.
9782 2015-05-17  Jan D  <jan.h.d@swipnet.se>
9784         Merge branch 'master' into cairo
9786 2015-04-26  Jan D  <jan.h.d@swipnet.se>
9788         Merge branch 'master' into cairo
9790         Add PBM support for cairo.
9791         * src/image.c (xcolor_to_argb32): New function.
9792         (get_spec_bg_or_alpha_as_argb): Call xcolor_to_argb32.
9793         (pbm_load, png_load_body, jpeg_load_body, gif_load): Only use
9794         XImagePtr if ! USE_CAIRO.
9795         (pbm_load): Add cairo support.
9797 2015-04-12  Jan D  <jan.h.d@swipnet.se>
9799         x_free_cr_resources: Renamed from x_prepare_for_xlibdraw.
9800         * src/xterm.c (x_free_cr_resources): Renamed from x_prepare_for_xlibdraw.
9801         (x_cr_draw_frame, x_cr_export_frames, x_shift_glyphs_for_insert)
9802         (x_free_frame_resources): Rename x_prepare_for_xlibdraw to
9803         x_free_cr_resources.
9805         Handle specified bg in images.  Use generic libpng code for PNG:s.
9806         * src/image.c (get_spec_bg_or_alpha_as_argb)
9807         (create_cairo_image_surface): New functions when USE_CAIRO.
9808         (xpm_load): Call the above functions.  Handle XPM without mask
9809         when USE_CAIRO.
9810         (png_load_body): Handle USE_CAIRO case.
9811         (png_load): Remove USE_CAIRO specific fuction, modify png_load_body
9812         instead.
9813         (jpeg_load_body): Call create_cairo_image_surface.
9814         (gif_load, svg_load_image): Handle specified background, call
9815         create_cairo_image_surface.
9816         * src/xterm.c (x_draw_image_glyph_string): Added missing USE_CAIRO.
9818 2015-04-11  Jan D  <jan.h.d@swipnet.se>
9820         Support GIF and Tiff with cairo.
9821         * configure.ac: Allow jpeg with cairo.
9822         Allow tiff and gif with cairo.
9823         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
9824         (tiff_load): Create cairo image surface if USE_CAIRO.
9825         (gif_load): Ditto.
9827         Support JPEG with USE_CAIRO.
9828         * configure.ac: Allow jpeg with cairo.
9829         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
9831 2015-04-05  Jan D  <jan.h.d@swipnet.se>
9833         Support RSVG and cairo.
9834         * configure.ac: Allow rsvg with cairo.  Move back HAVE_RSVG.
9835         * src/dispextern.h (struct image): add cr_data2 if cairo.
9836         * src/image.c: #undef COLOR_TABLE_SUPPORT when USE_CAIRO.
9837         (x_clear_image): Free cr_data and cr_data2 if set.
9838         (xpm_load): Assign data to cr_data2.
9839         (svg_load_image): Convert from GdkPixbuf to CAIRO_FORMAT_ARGB32.
9841 2015-04-03  Jan D  <jan.h.d@swipnet.se>
9843         Introduce limited Xpm support (32 bit ZPixmap) for Cairo.
9844         * configure.ac (HAVE_RSVG): Move after cairo.
9845         (USE_CAIRO): Disable rsvg, don't disable Xpm.
9846         * src/image.c (prepare_image_for_display): Don't load if USE_CAIRO.
9847         (x_clear_image): If USE_CAIRO, also free possible img->ximg->obdata and
9848         don't return early.
9849         (ALLOC_XPM_COLORS): Don't define when USE_CAIRO.
9850         (xpm_load): Convert simple Xpms (32 bit ZPixmap) to CAIRO_FORMAT_ARGB32
9851         and create a surface.
9853         Tool tips for menus did not show any text.
9854         * src/xterm.c (x_update_begin): Don't create any surface for non-visible
9855         tip frames, the geometry may be wrong.
9857         Merge branch 'master' into cairo, fixes tooltips not shown.
9859         Merge branch 'master' into cairo
9861         Add CAIRO_CFLAGS to lwlib/Makefile.in
9862         * Makefile.in (CAIRO_CFLAGS): Add.
9864 2015-02-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
9866         * ftcrfont.c (ftcrfont_draw): Don't flush when drawing to screen.
9868 2015-02-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
9870         Draw outermost line using black relief and erase corners also for cairo.
9871         * xterm.c [USE_CAIRO]: Include math.h.
9872         (enum corners) [USE_CAIRO]: New enum.
9873         (x_erase_corners_for_relief) [USE_CAIRO]: New function.
9874         (x_draw_relief_rect) [USE_CAIRO]: Use it.  If box width is larger
9875         than 1, draw the outermost line using the black relief.
9877         * xterm.c (x_fill_trapezoid_for_relief): Remove unnecessary cairo_close_path.
9879 2015-02-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
9881         * xterm.c (x_draw_relief_rect) [USE_CAIRO]: Reset clipping.
9883         * xterm.c (x_draw_stretch_glyph_string): Call x_reset_clip_rectangles instead of XSetClipMask.
9885         Use int instead of unsigned int for width and height args.
9886         * xterm.c (x_cr_draw_image, x_fill_rectangle, x_draw_rectangle)
9887         (x_fill_trapezoid_for_relief): Use int instead of unsigned int for
9888         width and height args.
9890         Modernize k&r cairo-related function declarations.
9891         * gtkutil.c (xg_page_setup_dialog, xg_get_page_setup, draw_page)
9892         (xg_print_frames_dialog): Modernize k&r declarations.
9893         * xfns.c (Fx_export_frames, Fx_page_setup_dialog, Fx_get_page_setup)
9894         (Fx_print_frames_dialog): Modernize k&r declarations.
9895         * xterm.c (x_gc_get_ext_data, x_extension_initialize, x_begin_cr_clip)
9896         (x_end_cr_clip, x_set_cr_source_with_gc_foreground)
9897         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
9898         (x_cr_destroy_fringe_bitmap, x_cr_draw_frame, x_cr_accumulate_data)
9899         (x_cr_destroy, x_cr_export_frames, x_prepare_for_xlibdraw)
9900         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
9901         (x_draw_rectangle, x_clear_window, x_fill_trapezoid_for_relief)
9902         (x_clear_area): Modernize k&r declarations.
9904         Implement wave-style variant of underlining for cairo.
9905         * xterm.c (x_draw_horizontal_wave) [USE_CAIRO]: New function.
9906         (x_draw_underwave) [USE_CAIRO]: Use it.
9908         * xterm.c (x_draw_window_divider): Use x_fill_rectangle instead of XFillRectangle.
9910 2015-02-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
9912         Fix fringe bitmap initialization for cairo.
9913         * fringe.c (init_fringe_bitmap) [USE_CAIRO]: Adjust bitmap data for
9914         cairo image surface.
9915         * xterm.c (x_cr_define_fringe_bitmap): Call cairo_surface_mark_dirty.
9917 2015-02-11  Jan D  <jan.h.d@swipnet.se>
9919         Add cairo drawing.
9920         * configure.ac (with-cairo): New option.
9921         (USE_CAIRO): Default to yes for Gtk+ 3.  Add code to test for cairo,
9922         set CAIRO_CFLAGS, CAIRO_LIBS.  Add ftcrfonto to FONT_OBJ if cairo.
9923         Output "Does Emacs use cairo?".
9924         * lisp/version.el (emacs-version): Add cairo version.
9925         * src/Makefile.in (CAIRO_CFLAGS, CAIRO_LIBS): New variables.
9926         (FONT_OBJ): Add comment about ftcrfont.
9927         (ALL_CFLAGS): Add CAIRO_CFLAGS.
9928         (LIBES): Add CAIRO_LIBS.
9929         * src/dispextern.h (struct image): Add cr_data for cairo.
9930         (x_cr_init_fringe): Declare.
9931         * src/font.c (syms_of_font): Call syms_of_ftcrfont for cairo.
9932         * src/font.h (ftcrfont_driver, syms_of_ftcrfont): Declare
9933         * src/fringe.c (x_cr_init_fringe): New function name that shares code
9934         with w32_init_fringe.
9935         * src/ftcrfont.c: New font driver for cairo, based on the ftfont driver.
9936         * src/ftfont.c (ftfont_info_size); New global variable.
9937         (ftfont_open2): New extern function almost the same as old ftfont_open,
9938         but takes the font_object as argument.
9939         (ftfont_open): Build font object and call ftfont_open2.
9940         * src/ftfont.h (ftfont_open2, ftfont_info_size): Declare.
9941         * src/gtkutil.c (xg_clear_under_internal_border)
9942         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos): Only
9943         queue_draw if not cairo.  Change args to x_clear_area.
9944         (xg_get_font): Use Qftcr when using cairo, Qxft otherwise.
9945         (xg_page_setup_dialog, xg_get_page_setup, draw_page)
9946         (xg_print_frames_dialog): New functions for printing.
9947         * src/gtkutil.h (xg_page_setup_dialog, xg_get_page_setup)
9948         (xg_print_frames_dialog): Declare.
9949         * src/image.c: Add defined (USE_CAIRO) for PNG.
9950         Add !defined USE_CAIRO for W32 PNG code.
9951         (x_clear_image): If cairo, destroy the surface in cr_data.
9952         (png_load): Add new cairo compatible implementation.
9953         (lookup_image_type): Add defined (USE_CAIRO) for define png_type.
9954         * src/xfns.c: New section Printing.
9955         (x-export-frames, x-page-setup-dialog, x-get-page-setup)
9956         (x-print-frames-dialog): New printing functions.
9957         (Fx_create_frame, x_create_tip_frame): Register ftcrfont if
9958         cairo.
9959         (syms_of_xfns): Defsym Qorientation, Qtop_margin, Qbottom_margin,
9960         Qportrait, Qlandscape, Qreverse_portrait, Qreverse_landscape).
9961         (syms_of_xfns): Provide cairo and defvar cairo-version-string.
9962         defsubr Sx_page_setup_dialog, Sx_get_page_setup, Sx_print_frames_dialog.
9963         * src/xterm.c (x_clear_area1, x_prepare_for_xlibdraw)
9964         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
9965         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
9966         (x_gc_get_ext_data, x_extension_initialize, x_cr_accumulate_data):
9967         Declare.
9968         (FRAME_CR_CONTEXT, FRAME_CR_SURFACE): New macros.
9969         (max_fringe_bmp, fringe_bmp): New variables.
9970         (x_gc_get_ext_data, x_extension_initialize)
9971         (x_cr_destroy_surface, x_begin_cr_clip, x_end_cr_clip)
9972         (x_set_cr_source_with_gc_foreground)
9973         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
9974         (x_cr_destroy_fringe_bitmap, x_cr_draw_image, x_cr_draw_frame)
9975         (x_cr_accumulate_data, x_cr_destroy, x_cr_export_frames)
9976         (x_prepare_for_xlibdraw, x_set_clip_rectangles)
9977         (x_reset_clip_rectangles, x_fill_rectangle, x_draw_rectangle)
9978         (x_clear_window, x_fill_trapezoid_for_relief): New functions.
9979         (x_update_begin): Create cairo surface if needed.
9980         (x_draw_vertical_window_border): Call x_fill_rectangle for cairo.
9981         (x_update_end): Paint cairo drawing surface to xlib surface.
9982         (x_clear_under_internal_border, x_after_update_window_line): Adjust
9983         arguments to x_clear_area.
9984         (x_draw_fringe_bitmap): Call x_fill_rectangle.  Get GC values and
9985         call x_cr_draw_image for cairo.  Call x_reset_clip_rectangles instead
9986         of XSetClipMask.
9987         (x_set_glyph_string_clipping)
9988         (x_set_glyph_string_clipping_exactly): Use x_set_clip_rectangles
9989         instead of XSetClipRectangles.
9990         (x_clear_glyph_string_rect, x_draw_glyph_string_background): Use
9991         x_fill_rectangle instead of XFillRectangle.
9992         (x_draw_glyph_string_foreground)
9993         (x_draw_composite_glyph_string_foreground)
9994         (x_draw_glyphless_glyph_string_foreground): Use x_draw_rectangle instead
9995         of XDrawRectangle.
9996         (x_draw_relief_rect): Add code for USE_CAIRO.
9997         Call x_reset_clip_rectangles instead of XSetClipMask.
9998         (x_draw_box_rect): x_set_clip_rectangles instead of XSetClipRectangles,
9999         x_fill_rectangle instead of XFillRectangle, x_reset_clip_rectangles
10000         instead of XSetClipMask.
10001         (x_draw_image_foreground, x_draw_image_foreground_1):
10002         x_draw_rectangle instead of XDrawRectangle.
10003         (x_draw_glyph_string_bg_rect): x_fill_rectangle instead of
10004         XFillRectangle.
10005         (x_draw_image_glyph_string): If img has cr_data, use it as
10006         a cairo surface.
10007         (x_draw_stretch_glyph_string): x_set_clip_rectangles instead of
10008         XSetClipRectangles, x_fill_rectangle instead of XFillRectangle.
10009         (x_draw_glyph_string): x_fill_rectangle instead of XFillRectangle.,
10010         x_reset_clip_rectangles instead of XSetClipMask.
10011         (x_shift_glyphs_for_insert): Call x_prepare_for_xlibdraw.
10012         (x_clear_area1): New function that calls XClearArea.
10013         (x_clear_area): Takes frame as parameter, calls x_clear_area1 for
10014         non-cairo.
10015         (x_clear_frame): x_clear_window instead of XClearWindow.
10016         (x_scroll_run): Set frame garbaged if cairo.
10017         (XTmouse_position): Initialize *part to 0.
10018         (x_scroll_bar_create): Adjust arguments to x_clear_area.
10019         (x_scroll_bar_set_handle): x_clear_area1 instead of x_clear_area,
10020         x_fill_rectangle instead of XFillRectangle.
10021         (XTset_vertical_scroll_bar, XTset_horizontal_scroll_bar): Adjust
10022         arguments to x_clear_area.
10023         (x_scroll_bar_expose): x_draw_rectangle instead of XDrawRectangle.
10024         (handle_one_xevent): Adjust arguments to x_clear_area.
10025         Destroy cairo surface for frame if ConfigureNotify.
10026         (x_clip_to_row): x_set_clip_rectangles instead of XSetClipRectangles.
10027         (x_draw_hollow_cursor): x_draw_rectangle instead of XDrawRectangle,
10028         x_reset_clip_rectangles instead of XSetClipMask.
10029         (x_draw_bar_cursor): x_fill_rectangle instead of XFillRectangle,
10030         x_reset_clip_rectangles instead of XSetClipMask.
10031         (x_clear_frame_area): Adjust arguments to x_clear_area.
10032         (x_free_frame_resources): Call x_prepare_for_xlibdraw.
10033         (x_term_init): Call x_extension_initialize if cairo.
10034         (x_redisplay_interface): Add x_cr_define_fringe_bitmap,
10035         x_cr_destroy_fringe_bitmap for cairo.
10036         (x_initialize): Call x_cr_init_fringe for cairo.
10037         * src/xterm.h: Add include of cairo header files.
10038         (x_bitmap_record): Add img if cairo.
10039         (x_gc_ext_data): New struct for cairo.
10040         (x_display_info): Add ext_codes for cairo.
10041         (x_output): Add cr_context and cr_surface for cairo.
10042         (x_clear_area): Change arguments from Display*/Window to frame pointer.
10043         (x_query_color, x_begin_cr_clip, x_end_cr_clip)
10044         (x_set_cr_source_with_gc_foreground, x_set_cr_source_with_gc_background)
10045         (x_cr_draw_frame, x_cr_export_frames): Declare.
10047 2015-05-17  Johan Bockgård  <bojohan@gnu.org>
10049         Fix integer-valued `mouse-highlight' (Bug#20590)
10050         * src/xterm.c (handle_one_xevent) [USE_GTK]: Fix ifdef scope.
10052 2015-05-17  Eli Zaretskii  <eliz@gnu.org>
10054         MS-Windows followup for ASCIIfication of curved quotes
10055         * lisp/term/w32console.el (terminal-init-w32console): Repeat the
10056         test for curved quotes being displayable, after switching the
10057         terminal encoding.  (Bug#20545)
10059 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
10061         Spelling fixes
10063 2015-05-17  Jan D  <jan.h.d@swipnet.se>
10065         Add comment that x_shift_glyphs_for_insert is never called.
10066         * xterm.c (x_shift_glyphs_for_insert, x_redisplay_interface): Add
10067         comment that this function is never called.
10069 2015-05-16  Glenn Morris  <rgm@gnu.org>
10071         * src/lisp.mk: Remove from repository and generate at build-time.
10072         * src/Makefile.in (lisp.mk): New rule to generate from loadup.el.
10073         (shortlisp_filter): New variable.
10074         (emacs$(EXEEXT), $(etc)/DOC): Depend on lisp.mk.
10075         (distclean): Remove lisp.mk.
10076         * Makefile.in ($(MAKEFILE_NAME)): No longer depend on src/lisp.mk.
10077         * lisp/loadup.el: Tweak layout to make it easier to parse.
10078         * make-dist: Do not distribute src/lisp.mk.
10080 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
10082         Display shorter dates in Git annotate output
10083         * lisp/vc/vc-git.el (vc-git-annotate-command): Use the short date
10084         format (when not overridden with vc-git-annotate-switches).
10085         (vc-git-annotate-time): Support the short format, as well as ISO
10086         8601 that has been used until now (bug#5428).
10088 2015-05-16  Paul Eggert  <eggert@cs.ucla.edu>
10090         ASCIIfy curved quotes on displays lacking them
10091         * lisp/international/mule-cmds.el (set-locale-environment):
10092         If curved quotes don't work, display straight ASCII approximations
10093         (Bug#20545).
10095 2015-05-16  Glenn Morris  <rgm@gnu.org>
10097         Small src/Makefile simplification.
10098         * src/lisp.mk (shortlisp): Rename from lisp, remove $lispsource prefix.
10099         * src/Makefile.in (lisp): Derive from shortlisp.
10100         ($(etc)/DOC): Use $shortlisp rather than parsing lisp.mk.
10102 2015-05-16  Eli Zaretskii  <eliz@gnu.org>
10104         * lisp/help-mode.el (help-go-forward): Doc fix.
10105         (Bug#20577)
10107         * doc/lispref/debugging.texi (Profiling): Improve indexing.
10108         (Bug#20576)
10110 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
10112         Use `unless' to have one fewer `not'
10113         * lisp/vc/vc-git.el (vc-git-resolve-when-done): Use `unless' to
10114         have one fewer `not'.
10116         Remove redundant :group declarations from vc-git.el
10117         * lisp/vc/vc-git.el (vc-git-diff-switches)
10118         (vc-git-annotate-switches, vc-git-resolve-conflicts)
10119         (vc-git-program, vc-git-root-log-format): Remove the redundant
10120         :group declarations.
10122 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
10124         Removes the predicate from lisp-complete-symbol (Bug#20456)
10125         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol): Do not use predicate
10126         and remove it from the docstring.
10128 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
10130         Add new option vc-git-resolve-conflicts
10131         * lisp/vc/vc-git.el (vc-git-resolve-conflicts): New variable.
10132         (vc-git-find-file-hook): Add to after-save-hook only when the
10133         above is non-nil.
10134         (vc-git-resolve-when-done): Update to honor the new variable.
10135         (Bug#20292)
10137 2015-05-16  Artur Malabarba  <bruce.connor.am@gmail.com>
10139         * lisp/emacs-lisp/tabulated-list.el: Don't error on nil header-string
10140         (tabulated-list-init-header): Document new behavior.
10141         (tabulated-list-print-fake-header): No nothing if
10142         `tabulated-list--header-string' is nil.
10143         (tabulated-list--header-string): Add a docstring.
10144         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
10145         * etc/NEWS: Document it.
10147 2015-05-15  Leo Liu  <sdl.web@gmail.com>
10149         Revert "Fix cps--gensym"
10150         * lisp/emacs-lisp/generator.el (cps--gensym): Revert commit
10151           fbda511ab8069d0115eafca411a43353b85431b1 on 2015-05-14.
10153 2015-05-15  Glenn Morris  <rgm@gnu.org>
10155         Replace AC_SUBST_FILE in configure with include in Makefiles.
10156         * configure.ac (DEPDIR, MKDEPDIR, deps_frag, lwlib_deps_frag)
10157         (oldxmenu_deps_frag, lisp_frag): Remove output variables/files.
10158         (AUTO_DEPEND): New output variable.
10159         * lwlib/Makefile.in (AUTO_DEPEND): New, set by configure.
10160         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
10161         (lwlib_deps_frag): Replace by conditional include.
10162         * lwlib/autodeps.mk: Remove file.
10163         * oldXMenu/Makefile.in (AUTO_DEPEND): New, set by configure.
10164         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
10165         (oldxmenu_deps_frag): Replace by conditional include.
10166         * oldXMenu/autodeps.mk: Remove file.
10167         * src/Makefile.in (AUTO_DEPEND): New, set by configure.
10168         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
10169         (lisp_frag): Replace by an include.
10170         (deps_frag): Replace by conditional include.
10171         * src/autodeps.mk: Remove file.
10173         Tweak japanese.el's loading of dependencies.
10174         * lisp/loadup.el: Explicitly load cp51932 and eucjp-ms.
10175         * lisp/language/japanese.el: Use require rather than load.
10176         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
10177         Provide a feature.
10178         * admin/charsets/eucjp-ms.awk, admin/charsets/cp51932.awk:
10179         Provide a feature in the generated file.
10181 2015-05-15  Jan D  <jan.h.d@swipnet.se>
10183         Fix NS warnings.
10184         * nsmenu.m (ns_popup_dialog)
10185         * nsimage.m (initFromXBM:width:height:fg:bg:)
10186         * nsfns.m (Fx_create_frame): Remove unused variables.
10187         (Fns_read_file_name): Initialize fname, remove ret.
10188         * nsterm.m (ns_draw_window_cursor): Handle DEFAULT_CURSOR in switch.
10189         (ns_get_color, ns_set_horizontal_scroll_bar, keyDown): Remove unused
10190         variable.
10191         (init): Add parantesis in if.
10192         (ns_create_terminal): Assign set_horizontal_scroll_bar_hook.
10194 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
10196         Fix a enum conversion warning in macfont.m
10197         * src/macfont.h (CharacterCollection): Typedef to NSCharacterCollection.
10198         (MAC_CHARACTER_COLLECTION_*): Use the NS variants.
10200 2015-05-15  Eli Zaretskii  <eliz@gnu.org>
10202         Support de-alt dictionary with Aspell.
10203         * lisp/textmodes/ispell.el (ispell-aspell-find-dictionary):
10204         Support Aspell dictionaries with names like "de-alt".  (Bug#20581)
10206 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
10208         cus-start.el: Add ns-confirm-quit.
10209         * cus-start.el: Add ns-confirm-quit.
10211         Fix warnings on OSX 10.10.
10212         * nsfns.m (MODAL_OK_RESPONSE): New define for different OSX versions.
10213         (Fns_read_file_name): Check against MODAL_OK_RESPONSE.
10214         (compute_tip_xy): Use convertRectToScreen for OSX >= 10.7
10215         * nsmenu.m (initWithContentRect:styleMask:backing:defer:)
10216         * nsimage.m (allocInitFromFile, setPixmapData): Only call
10217         setScalesWhenResized for OSX < 10.6.
10218         * nsterm.h (EmacsScroller): Declare scrollerWidth.
10219         * nsterm.m (ns_copy_bits): New function that does not use deprecated
10220         NSCopyBits.
10221         (ns_scroll_run, ns_shift_glyphs_for_insert): Call ns_copy_bits.
10222         (runAlertPanel): New function.
10223         (applicationShouldTerminate:): Call runAlertPanel.
10224         (initFrameFromEmacs, toggleFullScreen:): Only call useOptimizedDrawing
10225         for OSX < 10.10.
10226         (initFrameFromEmacs:): Only call allocateGState for OSX < 10.10.
10227         (windowWillUseStandardFrame:defaultFrame:): Cast arg to abs to int.
10228         (draggingEntered:): Returns NSDragOperation.
10229         (scrollerWidth): Use scrollerWidthForControlSize for OSX >= 10.7.
10231 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
10233         * lisp/emacs-lisp/package.el: Don't ensure-init during startup
10234         (package--init-file-ensured): New variable.
10235         (package-initialize, package--ensure-init-file): Use it.
10237 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
10239         Honor :fore/background for XBM on NS (Bug#14969).
10240         * nsterm.h (EmacsImage): Add xbm_fg, remove initFromSkipXBM,
10241         initFromXBM takes bg, fg args, remove flip arg.
10242         (ns_image_from_XBM): Add bg, fg args.
10243         * image.c (x_create_bitmap_from_data)
10244         (Create_Pixmap_From_Bitmap_Data): ns_image_from_XBM takes bg, fg args.
10245         * nsimage.m (ns_image_from_XBM): Add fg, bg args, pass to initFromXBM.
10246         Remove flip arg.
10247         (initFromSkipXBM): Move code to initFromXBM.
10248         (initFromXBM): Actually set fg and bg, instead of playing alpha games.
10249         Use fg, bg from args (Bug#14969).  Remove if (length) section, was always
10250         false.
10251         Remove bit flipping (bitPat, swt), generated incorrect images when
10252         width/height wasn't a multiple of 8.
10253         (setXBMColor:): Modify planes by comparing to saved xbm_fg.
10254         * nsterm.m (ns_draw_fringe_bitmap): initFromXBM takes fg, bg args, remove
10255         flip arg.
10257 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
10259         * lisp/emacs-lisp/package.el: Be more careful with the init file
10260         (package--ensure-init-file): Check that user-init-file is set,
10261         exists, is readable, and is writable.  (Bug#20584)
10262         Also expand the docstring.
10264 2015-05-14  Wilson Snyder  <wsnyder@wsnyder.org>
10266         Sync with upstream verilog-mode revision 6232468
10267         * lisp/progmodes/verilog-mode.el (verilog-font-lock-grouping-keywords-face)
10268         (verilog-highlight-grouping-keywords): Fix use of face when
10269         `verilog-highlight-grouping-keywords' set.  Reported by Jeff
10270         Pompa.
10271         (verilog-auto-reset): Fix AUTORESET to ignore member resets if
10272         parent is reset, bug906. Reported by Ken Schmidt.
10273         (verilog-auto-inout-module): Add fourth regexp argument to
10274         AUTOINOUTMODULE and AUTOINOUTCOMP for signals to not match,
10275         bug856. Reported by John Tillema.
10276         (verilog-auto-inst-port): Fix AUTOINST interfaces to not show
10277         modport if signal attachment is itself a modport.  Reported by
10278         Matthew Lovell.
10279         (verilog-auto-reset, verilog-auto-sense-sigs): Fix AUTORESET with
10280         always_comb and always_latch, bug844.  Reported by Greg Hilton.
10281         (verilog-at-constraint-p, verilog-beg-of-statement-1): Fix hanging
10282         with many curly-bracket pairs, bug663.
10283         (verilog-set-auto-endcomments): Fix end comments for functions of
10284         type void, etc.  Reported by Alex Reed.
10285         (verilog-do-indent): Fix electric tab deleting form-feeds.  Note
10286         caused by indent-line-to deleting tabls pre 24.5.
10287         (verilog-nameable-item-re): Fix nameable items that can have an
10288         end-identifier to include endchecker, endgroup, endprogram,
10289         endproperty, and endsequence.  Reported by Alex Reed.
10290         (verilog-label-be): When auto-commenting a buffer, consider
10291         auto-comments on all known keywords (not just a subset thereof).
10292         Reported by Alex Reed.
10293         (verilog-auto-end-comment-lines-re)
10294         (verilog-end-block-ordered-re, verilog-set-auto-endcomments):
10295         Automatically comment property/endproperty blocks to match other
10296         similar blocks like sequence/endsequence, function/endfunction,
10297         etc. Reported by Alex Reed.
10298         (verilog-set-auto-endcomments): Detect the function- or task-name
10299         when auto-commenting blocks that lack an explicit
10300         portlist. Reported by Alex Reed.
10301         (verilog-auto, verilog-auto-insert-last): Add AUTOINSERTLAST to
10302         allow post-AUTO user fixups, bug826. Reported by Dennis
10303         Muhlestein.
10304         (verilog-no-indent-begin-re): When `verilog-indent-begin-after-if'
10305         is nil, fix indenting initial/final to match always statements,
10306         bug825. Reported by Tim Clapp.
10307         (verilog-extended-complete-re): Fix indentation of DPI-C imports
10308         with c_identifiers, and DPI-C imports, bug557. Reported by ZeDong
10309         Mao and Jason Forkey.
10310         (verilog-read-decls): Fix parsing typed interfaces.  Fix
10311         AUTOINOUTMODPORT missing types.  Reported by Stephan Bourduas.
10312         Fix localparam not being ignored in AUTOINSTPARAM,
10313         bug889. Reported by Shannon Hill.
10314         (verilog-auto-output-every): Add regexp to AUTOOUTPUTEVERY,
10315         bug793.  Reported by Pierre-David Pfister.
10316         (verilog-auto-arg-format, verilog-auto-arg-ports): Add
10317         verilog-auto-arg-format to support newlines in AUTOARG. Reported
10318         by Jie Xiao.
10319         (verilog-batch-execute-func): Do not batch re-auto files loaded by
10320         Local Variables. Fix printing "no changes to be saved" with
10321         verilog-batch. Reported by Dan Dever.
10322         (verilog-auto-inout-module): Fix AUTOINOUTMODULE not inserting
10323         interface-only modules, bug721.  Reported by Dean Hoyt.
10324         Author: Alex Reed <acreed4@gmail.com>
10325         * lisp/progmodes/verilog-mode.el (verilog-beg-of-statement): Don't
10326         treat '<keyword>:<identifier>' as the start of a labeled
10327         statement, bug905.  Reported by Enzo Chi.
10328         (verilog-directive-re, verilog-compiler-directives)
10329         (verilog-keywords): Match full set of IEEE 2012-1800 compiler
10330         directives (plus some extras) when determining indentation, bug
10331         901.  Reported by Bernd Beuster.
10332         (verilog-at-constraint-p): Fix indentation of coverpoint bins if
10333         iff expression doesn't start with word-character, bug900.
10334         (verilog-optional-signed-range-re, verilog-optional-signed-re):
10335         Fix incorrect indentation/alignment of unsigned declarations,
10336         bug897.
10337         (verilog-looking-back, verilog-in-attribute-p): Fix labling of
10338         always constructs, bug895.
10339         (verilog-calc-1): Fix verilog-mode constraint indentation,
10340         bug324. Reported by Eric Mastromarchi.
10341         (verilog-beg-of-statement): Fix indenting for some forms of
10342         constraintsm bug433.  Reported by Brad Parker.  Fix indentation of
10343         continued assignment incorrect if first line ends with ']',
10344         bug437. Reported by Dan Dever.  Fix indention of cover inside an
10345         ifdef, bug 862. Reported by Bernd Beuster Fix labeling do-while
10346         blocks, bug842.
10347         (verilog-preprocessor-re): Fix fork/end UNMATCHED warning,
10348         bug859. Reported by Kaushal Modi.
10349         (verilog-set-auto-endcomments): Fix endlabel end comments, bug888.
10350         (verilog-backward-token): Fix indenting sensitivity lists with
10351         named events, bug840.  Reed.
10352         (verilog-no-indent-begin-re): Fix `verilog-indent-begin-after-if'
10353         nil not honoring 'forever', 'foreach', and 'do' keywords.
10355 2015-05-14  Paul Eggert  <eggert@cs.ucla.edu>
10357         Check for invalid GTK+ monitor scales
10358         * src/gtkutil.c (xg_get_gdk_scale): Return 1 for invalid scales,
10359         INT_MAX for too-large scales.  All callers changed to assume the
10360         result is valid (Bug#20432).
10361         (xg_frame_set_char_size, xg_update_scrollbar_pos):
10362         Calculate scale only if needed.
10363         show ASCII approximations instead.
10365 2015-05-14  Eli Zaretskii  <eliz@gnu.org>
10367         Fix daemon crashes when linum-mode is turned on early on
10368         * src/window.c (Fwindow_end): Don't try calling display engine
10369         functions on initial-frame frame.  (Bug#20565)
10371         Fix selective diff browsing in Ediff
10372         * lisp/vc/ediff-util.el (ediff-focus-on-regexp-matches): Go to the
10373         beginning of the region before searching for the
10374         ediff-regexp-focus-* regexps.  (Bug#20568)
10376 2015-05-14  Jan D  <jan.h.d@swipnet.se>
10378         Fixes Bug#20142.
10379         * gtkutil.c (delete_cb): Don't send delete event here, it does arrive
10380         in the main loop, even for Gtk 3 (Bug#20142).
10382         Don't access display after i/o error (Bug#19147).
10383         * xterm.c (x_connection_closed): Add third arg ioerror.
10384         If ioerror, set display to 0 (Bug#19147).
10385         (x_error_quitter): Call x_connection_closed with third arg false.
10386         (x_io_error_quitter): Call x_connection_closed with third arg true.
10388         Handle GTK_SCALE, fixes Bug#20432.
10389         * gtkutil.c (xg_get_gdk_scale): New function.
10390         (xg_frame_set_char_size)
10391         (x_wm_set_size_hint, xg_get_default_scrollbar_width)
10392         (xg_get_default_scrollbar_height)
10393         (xg_update_horizontal_scrollbar_pos): Take GTK_SCALE in to account
10394         when setting sizes (Bug#20432).
10396 2015-05-13  Leo Liu  <sdl.web@gmail.com>
10398         Fix cps--gensym
10399         * lisp/emacs-lisp/generator.el (cps--gensym): Fix.
10401 2015-05-13  Glenn Morris  <rgm@gnu.org>
10403         Fix bootstrap (void function cl-member).
10404         * lisp/emacs-lisp/cl-lib.el: Load cl-seq if no cl-loaddefs file.
10405         * lisp/emacs-lisp/cl-seq.el: Provide a feature.
10407 2015-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
10409         * lisp/loadup.el ("emacs-lisp/cl-generic"): Preload
10410         * src/lisp.mk (lisp): Add emacs-lisp/cl-generic.elc.
10411         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method):
10412         Avoid defalias for closures which are not immutable.
10413         (cl--generic-prefill-dispatchers): New macro.  Use it to prefill the
10414         dispatchers table with various entries.
10415         * lisp/emacs-lisp/ert.el (emacs-lisp-mode-hook):
10416         * lisp/emacs-lisp/seq.el (emacs-lisp-mode-hook): Use add-hook.
10418 2015-05-13  Eli Zaretskii  <eliz@gnu.org>
10420         Improve tagging of C bindings in DEFVAR_*
10421         * src/Makefile.in (TAGS): Add --regex options to tag the C binding
10422         from DEFVAR_*.
10424 2015-05-13  Paul Eggert  <eggert@cs.ucla.edu>
10426         * src/editfns.c (Fformat): Fix use-after-free bug (Bug#20548).
10428 2015-05-12  Glenn Morris  <rgm@gnu.org>
10430         * lisp/progmodes/tcl.el (tcl-filter):
10431         Handle comint-prompt-read-only like gud.el does.  (Bug#20549)
10433         Add basic VC push support.
10434         * lisp/vc/vc.el (vc-push): New autoloaded command.
10435         * lisp/vc/vc-hooks.el (vc-prefix-map, vc-menu-map): Add vc-push.
10436         * lisp/vc/vc-bzr.el (vc-bzr--pushpull): New, factored from vc-bzr-pull.
10437         (vc-bzr-pull): Reimplement using vc-bzr--pushpull.
10438         (vc-bzr-push): New.
10439         * lisp/vc/vc-git.el (vc-git--pushpull): New, factored from vc-git-pull.
10440         (vc-git-pull): Reimplement using vc-git--pushpull.
10441         (vc-git-push): New.
10442         * lisp/vc/vc-hg.el (vc-hg--pushpull): New, factored from vc-hg-pull.
10443         (vc-hg-pull, vc-hg-push): Reimplement using vc-hg--pushpull.
10444         * doc/emacs/maintaining.texi (Pulling / Pushing):
10445         Rename from "VC Pull".  Mention pushing.
10446         (VC With A Merging VCS, VC Change Log): Update xrefs.
10447         (Branches): Update menu.
10448         * doc/emacs/emacs.texi: Update menu.
10449         * etc/NEWS: Mention this.
10451 2015-05-12  Nicolas Petton  <nicolas@petton.fr>
10453         Improve the seq pcase pattern and the `seq-let' macro
10454         * lisp/emacs-lisp/seq.el: The pcase pattern now matches only if the
10455         object is a sequence, and binds each element of ARGS to the
10456         corresponding element of the sequence.
10458 2015-05-12  Eli Zaretskii  <eliz@gnu.org>
10460         Fix tags created from DEFVAR_* declarations in C
10461         * src/Makefile.in (TAGS): Improve the --regex argument to etags,
10462         to make tags extracted from DEFVAR_* declarations more accurate.
10464         Add a test suite for etags
10465         * test/etags/: New test suite, adapted from
10466         http://fly.isti.cnr.it/pub/software/unix/etags-regression-test.tar.bz2,
10467         whose original author is Francesco Potortì <pot@gnu.org>.
10469         Fix tagging of symbols in C enumerations
10470         * lib-src/etags.c (consider_token): Don't tag symbols in
10471         expressions that assign values to enum constants.  See
10472         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00291.html
10473         for details.
10474         (C_entries): Reset fvdef to fvnone after processing a preprocessor
10475         conditional and after a comma outside of parentheses.
10477 2015-05-12  Glenn Morris  <rgm@gnu.org>
10479         * lisp/url/url-handlers.el (url-file-name-completion)
10480         (url-file-name-all-completions): Silence compiler.
10482         * lisp/emacs-lisp/chart.el (chart-axis-draw): Replace obsolete alias.
10484         * lisp/play/dunnet.el (dun-dos-boot-msg): Fix time.  (Bug#20554)
10486 2015-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
10488         * lisp/emacs-lisp/cl-generic.el: Add dispatch on &context arguments
10489         (cl--generic-mandatory-args): Remove.
10490         (cl--generic-split-args): New function.
10491         (cl-generic-define, cl--generic-lambda): Use it.
10492         (cl-generic-define-method): Use it as well, and add support for
10493         context args.
10494         (cl--generic-get-dispatcher): Handle &context dispatch.
10495         (cl--generic-cache-miss): `dispatch-arg' can now be a context expression.
10496         (cl--generic-dispatchers): Pre-fill.
10497         * test/automated/cl-generic-tests.el (sm-generic-test-12-context): New test.
10499 2015-05-11  Glenn Morris  <rgm@gnu.org>
10501         * make-dist: Abort if "make ChangeLog" fails.  Add "--no-changelog".
10503 2015-05-11  Stefan Monnier  <monnier@iro.umontreal.ca>
10505         * lisp/term/xterm.el: Fix xterm-paste handling for rxvt
10506         * lisp/term/rxvt.el: Require term/xterm.
10507         (rxvt-function-map): Use xterm-rxvt-function-map.
10508         (rxvt-standard-colors): Move before first use.
10509         (terminal-init-rxvt): Use xterm--push-map and xterm-register-default-colors.
10510         (rxvt-rgb-convert-to-16bit, rxvt-register-default-colors): Remove.
10511         * lisp/term/xterm.el (xterm-rxvt-function-map): New var.
10512         Move shared bindings between rxvt and xterm to it.
10513         (xterm-function-map): Use it.  Move the xterm-paste binding to
10514         xterm-rxvt-function-map (bug#20444).
10515         (xterm-standard-colors): Move before first use.
10516         (xterm--push-map): New function.
10517         (xterm-register-default-colors): Take standard colors as argument.
10518         (terminal-init-xterm): Use it.  Adjust call to
10519         xterm-register-default-colors.
10521 2015-05-11  Glenn Morris  <rgm@gnu.org>
10523         * lisp/term/x-win.el: Quieten --without-x compilation.
10524         (x-own-selection-internal, x-disown-selection-internal)
10525         (x-selection-owner-p, x-selection-exists-p, x-get-selection-internal):
10526         Declare.
10528         * Makefile.in (emacslog): Remove srcdir.
10529         (ChangeLog): Update for the above.
10531 2015-05-11  Paul Eggert  <eggert@cs.ucla.edu>
10533         Spelling fix
10535 2015-05-10  Fabián Ezequiel Gallina  <fgallina@gnu.org>
10537         python.el: better limit for looking-back calls
10538         * lisp/progmodes/python.el (python-shell-accept-process-output):
10539         Use last comint prompt start as limit for looking-back.
10541 2015-05-10  Stefan Monnier  <monnier@iro.umontreal.ca>
10543         CEDET (srecode-insert-fcn): Fix use of oref on a class
10544         * lisp/cedet/srecode/insert.el (srecode-insert-fcn): Fix use of oref on
10545         a class.  Reported by Pierre Lorenzon.
10546         (srecode-template-inserter-point): Remove declaration.
10548         CEDET (srecode-create-dictionary): Avoid obsolete object name
10549         * lisp/cedet/srecode/dictionary.el (srecode-create-dictionary):
10550         Don't use a symbol as an object name.  Reported by Pierre Lorenzon.
10552 2015-05-10  Paul Eggert  <eggert@cs.ucla.edu>
10554         C-x 8 shorthands for curved quotes, Euro, etc.
10555         Although C-x 8 lets you insert arbitrary Unicode characters,
10556         it's awkward to use this to insert commonly used symbols such as curved
10557         quotes, the Euro symbol, etc.  This patch adds simpler sequences for
10558         characters commonly found in English text and in basic math.
10559         For example, assuming the Alt key works on your keyboard and iso-transl
10560         is loaded, one can now type "A-[" instead of "A-RET LEFT SIN TAB RET"
10561         to get the character "‘" (U+2018 LEFT SINGLE QUOTATION MARK).
10562         (Bug#20499)
10563         * doc/emacs/mule.texi (Unibyte Mode):
10564         A few other printing characters now work too.
10565         * etc/NEWS: Document this.
10566         * lisp/international/iso-transl.el (iso-transl-char-map):
10567         Also support the following characters:
10568         ‐ ‑ ‒ – — ― ‘ ’ “ ” † ‡ • ′ ″ € № ← → ↔ − ≈ ≠ ≤ ≥
10570 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
10572         Add xref-find-regexp
10573         * lisp/progmodes/xref.el (xref-find-function): Describe the
10574         `matches' action.
10575         (xref-find-regexp): New command, using it.
10576         (xref-collect-references): Rename to xref-collect-matches.
10577         (xref--collect-reference): Rename to xref--collect-match.
10578         (xref-collect-matches, xref--collect-match): Accept new argument,
10579         KIND.  Update accordingly.
10580         (xref--regexp-to-extended): New function.
10581         * lisp/progmodes/elisp-mode.el (elisp-xref-find): Support the
10582         `matches' action.
10583         (elisp--xref-find-matches): Accept new argument.  Resolve a FIXME.
10584         * lisp/progmodes/etags.el (etags-xref-find):
10585         Support the `matches' action.
10586         (etags--xref-find-matches): New function.
10588 2015-05-10  Glenn Morris  <rgm@gnu.org>
10590         * Makefile.in: Fixes for recent change-history changes.
10591         (change-history-nocommit): Update footer regexp.
10592         Ensure output script stays executable.
10594 2015-05-10  Nicolas Petton  <nicolas@petton.fr>
10596         New version of `seq-let' based on a pcase pattern
10597         * lisp/emacs-lisp/seq.el (seq-let): Define the macro in terms of a
10598         pcase pattern if `pcase-defmacro' is defined (Emacs>=25.1).
10600 2015-05-10  Przemysław Wojnowski  <esperanto@cumego.com>
10602         Add basic HTML5 tags and a template
10603         * lisp/textmodes/sgml-mode.el: Basic HTML5 support.
10604         (html-tag-alist): Add HTML5 tags.
10605         (html-tag-help): Add new tags descriptions.
10606         (html-navigational-links): Template for nav links.
10607         (html-html5-template): Template for a HTML5 page.
10609 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
10611         semantic/symref/grep: Don't use word boundaries
10612         * lisp/cedet/semantic/symref/grep.el
10613         (semantic-symref-perform-search): Instead of wrapping input in
10614         word boundaries, check that the characters before and after are
10615         not word constituents.
10617         semantic/symref/grep: Support regexp search
10618         * lisp/cedet/semantic/symref.el
10619         (semantic-symref-hit-to-tag-via-buffer): Don't regexp-quote when
10620         the search type is regexp.
10621         * lisp/cedet/semantic/symref/grep.el
10622         (semantic-symref-perform-search): Support the regexp search type.
10623         Pass -E to Grep when it's used.
10625         semantic-symref-regexp: Allow to input an arbitrary string
10626         * lisp/cedet/semantic/symref/list.el (semantic-symref-regexp):
10627         Allow to input an arbitrary string interactively.
10629         Remove tag-symbol-match-p from etags-xref-find-definitions-tag-order
10630         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
10631         Remove tag-symbol-match-p from the default value
10632         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00292.html).
10634         Declare find-tag obsolete
10635         * lisp/progmodes/etags.el (find-tag): Declare obsolete in favor of
10636         xref-find-definitions.
10638 2015-05-10  Jan D  <jan.h.d@swipnet.se>
10640         Draw composite string correctly (Bug#20537).
10641         * nsterm.m (ns_draw_composite_glyph_string_foreground): New function.
10642         (ns_draw_glyph_string): Call it (Bug#20537).
10644 2015-05-09  Eli Zaretskii  <eliz@gnu.org>
10646         Avoid infloop in ERC
10647         * lisp/simple.el (line-move-to-column): Ignore field boundaries
10648         while computing line beginning position.  (Bug#20498)
10650 2015-05-08  Glenn Morris  <rgm@gnu.org>
10652         * Makefile.in (ChangeLog): No longer pass "srcprefix"; cd instead.
10653         * build-aux/gitlog-to-emacslog: Check called from right directory.
10654         (srcprefix): Remove.
10656         * build-aux/gitlog-to-emacslog: Get rid of "distprefix".
10657         * Makefile.in (ChangeLog): No longer pass "distprefix".
10658         * make-dist: Update "make ChangeLog" syntax for the above change.
10660         * build-aux/gitlog-to-emacslog: Don't hard-code "ChangeLog.2".
10661         * Makefile.in (ChangeLog): Pass -n to gitlog-to-emacslog.
10663         * build-aux/gitlog-to-emacslog: Add "for earlier changes" to footer.
10665         Add command-line option-parsing to gitlog-to-emacslog.
10666         * build-aux/gitlog-to-emacslog: Add command-line options.
10667         By default, refuse to remove an existing output file.
10668         * Makefile.in (CHANGELOG): Update default.
10669         (ChangeLog): Do not test for existing file.
10670         (change-history-nocommit): Ensure temp file does not exist.
10672         Quieten --without-x compilation.
10673         * lisp/term/common-win.el: Provide a feature.
10674         * lisp/term/x-win.el (term/common-win): Require it.
10676         * lisp/dired-aux.el (dired-do-print): Require lpr.
10678         Quieten compilation, eg in --without-x builds.
10679         * lisp/dired-aux.el (lpr-printer-switch):
10680         * lisp/frame.el (tool-bar-height):
10681         * lisp/linum.el (font-info):
10682         * lisp/window.el (font-info, overflow-newline-into-fringe)
10683         (tool-bar-height):
10684         * lisp/emacs-lisp/package-x.el (tar-data-buffer):
10685         * lisp/gnus/gnus-util.el (iswitchb-mode):
10686         * lisp/mail/rmailmm.el (libxml-parse-html-region):
10687         * lisp/net/nsm.el (gnutls-peer-status)
10688         (gnutls-peer-status-warning-describe):
10689         * lisp/net/shr.el (libxml-parse-xml-region):
10690         * lisp/url/url-http.el (gnutls-peer-status): Declare.
10692 2015-05-08  Stefan Monnier  <monnier@iro.umontreal.ca>
10694         CEDET (srecode-pop, srecode-peek): Don't use `subclass'
10695         * lisp/cedet/srecode/insert.el (srecode-pop, srecode-peek): Don't use
10696         `subclass' since they're never called with a class.
10697         (srecode-insert-method, srecode-insert-subtemplate): Avoid obsolete
10698         srecode-dictionary-child-p.
10700 2015-05-08  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
10702         help--binding-locus: Document argument POSITION.
10703         * lisp/help.el (help--binding-locus): Document argument POSITION. (bug#20530)
10705 2015-05-08  Paul Eggert  <eggert@cs.ucla.edu>
10707         Merge from gnulib.
10708         * doc/misc/texinfo.tex: Get latest version.
10710 2015-05-08  Oleh Krehel  <ohwoeowho@gmail.com>
10712         ffap.el (ffap-read-file-or-url): Fix completing-read call
10713         * lisp/ffap.el (ffap-read-file-or-url): The HIST argument of
10714           `completing-read' should be a symbol.
10716 2015-05-08  Eli Zaretskii  <eliz@gnu.org>
10718         Verify file modifications by other programs
10719         * src/filelock.c (lock_file): Check whether the file was modified
10720         since it was visited even if 'create-lockfiles' is nil.  (Bug#18828)
10722         Fix keyboard macros that include function keys
10723         * src/keyboard.c (read_char_minibuf_menu_prompt): Record function
10724         keys in the macro before returning.  (Bug#20454)
10726 2015-05-08  Glenn Morris  <rgm@gnu.org>
10728         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
10729         "Copyright-paperwork-exempt".  (Bug#20324)
10731         * lisp/vc/log-edit.el: Handle "(tiny change)".  (Bug#20324)
10732         (log-edit-rewrite-tiny-change): New variable.
10733         (log-edit-insert-changelog): Maybe add "Copyright-paperwork-exempt".
10734         (log-edit-changelog-ours-p): Set log-edit-author to a cons.
10735         * etc/NEWS: Mention this.
10737         * lisp/calc/calc.el (math-zerop): Declare.
10739         * lisp/emacs-lisp/eieio-opt.el (help-fns-short-filename): Declare.
10741 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
10743         * lisp/emacs-lisp/subr-x.el (if-let): Fix debug spec
10744         Support the case when BINDINGS is a single tuple.  (Bug#20525)
10746         * etc/NEWS: Fix typo in commit 14bb519
10748 2015-05-07  Jan D  <jan.h.d@swipnet.se>
10750         Warn for multiple display crash for all Gtk+ versions.
10751         * configure.ac: Warn for multiple display crash for all Gtk+
10752         versions.  Output URL to Gtk+ bug (Bug#20452).
10754         ns-win.el (ns-paste-secondary): Use gui-get-selection.
10755         * ns-win.el (ns-paste-secondary): Use gui-get-selection.
10757 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
10759         * lisp/emacs-lisp/package.el: New "external" package status
10760         An external package is any installed package that's not built-in
10761         and not from `package-user-dir', which usually means it's from an
10762         entry in `package-directory-list'.  They are treated much like
10763         built-in packages, in that they cannot be through the Package Menu
10764         deleted and are not considered for upgrades.
10765         (package-desc-status): Identify if a package is installed outside
10766         `package-user-dir'.
10767         (package-menu--print-info-simple)
10768         (package-menu--status-predicate): Add support for it.
10769         * etc/NEWS: Document it.
10771 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
10773         * lisp/mail/rmail.el: Use lexical-binding
10774         (rmail-bury): Remove unused var `buffer-to-bury'.
10775         (rmail-get-new-mail): Remove unused vars `opoint' and `success'.
10776         (rmail-parse-url): Remove unused var `proto', `user', and `host'.
10777         (rmail-unrmail-new-mail-maybe): Remove unused var `new-file'.
10778         (rmail-insert-inbox-text): Remove unused var `movemail'.
10779         (rmail-add-mbox-headers): Remove unused var `limit'.
10780         (rmail-undelete-previous-message): Remove unused var `value'.
10781         (rmail-reply): Remove unused vars `resent-to', `resent-cc',
10782         `resent-reply-to'.
10783         (rmail-mime-mbox-buffer, rmail-mime-view-buffer): Declare.
10784         (rmail-restore-desktop-buffer): Rename arguments.
10786 2015-05-06  Glenn Morris  <rgm@gnu.org>
10788         * Makefile.in (change-history-commit): Add missing piece of previous.
10790         Avoid unnecessary bumping of Makefile.in's timestamp.
10791         * Makefile.in (gen_origin): Move to gitlog-to-emacslog.
10792         (emacslog): New variable.
10793         (ChangeLog): Use $emacslog.  Don't pass $gen_origin.
10794         (unchanged-history-files): Use $emacslog rather than Makefile.in.
10795         (change-history-nocommit): Store hash in $emacslog.
10796         * build-aux/gitlog-to-emacslog (gen_origin): Move default here.
10797         * admin/update_autogen (changelog_files): Update for the above.
10799         * Makefile.in: Don't always insist on removing existing "ChangeLog".
10800         (CHANGELOG): New variable.
10801         (no-ChangeLog): Remove.
10802         (ChangeLog): Replace "no-ChangeLog"; pass output file to script.
10803         (change-history-nocommit): Use a temp file rather than insisting
10804         on deletion of any existing "ChangeLog".
10806         * build-aux/gitlog-to-emacslog: Allow specification of output.
10808         * admin/update_autogen: Add option to update ChangeLog.
10809         (usage): Mention -H.
10810         (changelog_flag, changelog_n, changelog_files): New variables.
10811         (main): Check for -H, and maybe run change-history-nocommit.
10813 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
10815         * lisp/subr.el (delete-dups): Pre-size the hashtable.
10817         (define-modify-macro): Make sure cl--arglist-args is defined
10818         * lisp/emacs-lisp/cl.el (define-modify-macro): Make sure
10819         cl--arglist-args is defined (bug#20517).
10821 2015-05-06  Glenn Morris  <rgm@gnu.org>
10823         * Makefile.in (change-history-nocommit): New.
10825 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
10827         Only cancel timer when it is non-nil
10828         * lisp/cedet/pulse.el (pulse-momentary-unhighlight): Only cancel
10829         timer when it is non-nil
10830         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00223.html).
10832 2015-05-06  Glenn Morris  <rgm@gnu.org>
10834         Quieten cedet compilation
10835         * lisp/cedet/semantic/db-el.el (semanticdb-elisp-sym->tag):
10836         Invert fboundp test to quieten on current Emacs.
10837         * lisp/cedet/ede/config.el (ede-shell-run-something)
10838         (semanticdb-file-table-object, semanticdb-needs-refresh-p)
10839         (semanticdb-refresh-table): Declare.
10840         (ede-preprocessor-map): Require semantic/db.
10842         Quieten cc-mode compilation
10843         * lisp/progmodes/cc-awk.el (c-forward-sws):
10844         * lisp/progmodes/cc-cmds.el (c-forward-subword, c-backward-subword):
10845         Declare.
10847 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
10849         lisp/subr.el (delete-dups): Avoid nreverse.
10851 2015-05-06  Artur Malabarba  <bruce.connor.am@gmail.com>
10853         * lisp/subr.el (delete-dups): Make it destructive again.
10855 2015-05-06  Paul Eggert  <eggert@cs.ucla.edu>
10857         * doc/lispref/sequences.texi (Sequence Functions): Fix quoting.
10859 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
10861         * lisp/emacs-lisp/testcover.el: Don't use edebug--read (bug#20487)
10862         * lisp/emacs-lisp/testcover.el: Use lexical-binding.
10863         (testcover--read): Rename from testcover-read.  Change calling convention.
10864         Use edebug-read-and-maybe-wrap-form now that edebug-read is gone.
10865         (testcover-start): Use add-function.  Move edebug-all-defs binding to
10866         testcover--read.
10867         (testcover-this-defun): Tighten scope of edebug-all-defs binding.
10868         (testcover-mark): Remove unused var `item'.
10869         * src/lread.c (syms_of_lread): Default load-read-function to `read'.
10871 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
10873         lisp/subr.el (delete-dups): Use a hash table
10874         * lisp/subr.el (delete-dups): When there are more than 100 candidates,
10875           use a hash table. This can result in ~500 times speed-up for typical
10876           collections of size 5000, like that of `load-library'.
10878 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
10880         CEDET: Avoid `oref' on classes in a few more cases
10881         * lisp/cedet/ede/generic.el (ede-find-target):
10882         * lisp/cedet/ede.el (ede-project-forms-menu): Avoid `oref' on classes.
10883         * lisp/cedet/semantic/bovine/gcc.el (semantic-gcc-setup): Remove unused
10884         var `prefix'.
10886         * lisp/cedet/semantic/symref/grep.el: Fix unused var warnings
10887         * lisp/cedet/semantic/symref/grep.el (grepflags, greppattern): Declare.
10888         (semantic-symref-perform-search): Remove unused var `pat'.
10890         CEDET (srecode-compile-inserter): Avoid `oref' on classes
10891         * lisp/cedet/srecode/compile.el (srecode-compile-inserter):
10892         Avoid `oref' on classes (bug#20491).
10893         (srecode-compile-split-code): Remove unused var `key'.
10895 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
10897         Clean up pulse.el a little
10898         * lisp/cedet/pulse.el (pulse): Remove.
10899         (pulse-momentary-timer): Save instead of the stop time.
10900         (pulse-momentary-highlight-overlay): Call
10901         pulse-momentary-unhighlight first thing. Treat
10902         pulse-momentary-overlay as a single value, not a list. Save the
10903         created timer. Only pass the stop time to the timer.
10904         (pulse-tick): Update accordingly.
10905         (pulse-momentary-unhighlight): Treat pulse-momentary-overlay as a
10906         single value. Cancel the timer.
10908 2015-05-06  Tassilo Horn  <tsdh@gnu.org>
10910         Support the biblatex journaltitle field
10911         * lisp/textmodes/reftex-cite.el (reftex-format-bib-entry):
10912         Support the biblatex journaltitle field.
10914 2015-05-05  Glenn Morris  <rgm@gnu.org>
10916         Minor declare-function improvement
10917         * lisp/emacs-lisp/bytecomp.el
10918         (byte-compile-macroexpand-declare-function):
10919         Handle declarations after calls.  (Bug#20509)
10921         * lisp/progmodes/js.el (js--optimize-arglist): Remove declaration.
10923         * lisp/w32-fns.el (w32-shell-name): Silence compiler.
10925 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
10927         Pulse using a timer
10928         * lisp/cedet/pulse.el (pulse-momentary-stop-time): New variable.
10929         (pulse-momentary-highlight-overlay): Set up the timer instead of
10930         calling `pulse'
10931         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/).
10932         (pulse-tick): New function.
10933         (pulse-momentary-unhighlight): Cut off the stop time.
10934         (pulse-delay): Update the docstring WRT to not using sit-for.
10936         Add semantic/symref/grep file patterns for ruby-mode
10937         * lisp/cedet/semantic/symref/grep.el
10938         (semantic-symref-filepattern-alist): Add patterns for
10939         ruby-mode. Clarify the docstring.
10941         Don't require match
10942         * lisp/progmodes/xref.el (xref--read-identifier): Don't require
10943         match. That doesn't work for every command, and some identifier
10944         completion tables are bound to be imperfect anyway.
10946 2015-05-05  Stefan Monnier  <monnier@iro.umontreal.ca>
10948         * lisp/cedet/semantic/grammar.el: Fix compiler warnings (bug#20505)
10949         (semantic-grammar--template-expand): New function.
10950         (semantic-grammar-header, semantic-grammar-footer): Use it.
10951         (semantic-grammar--lex-block-specs): Remove unused var `block-spec'.
10952         (semantic-grammar-file-regexp): Refine regexp.
10953         (semantic-grammar-eldoc-get-macro-docstring):
10954         Use elisp-get-fnsym-args-string when available.
10955         (semantic-idle-summary-current-symbol-info): Use new elisp-* names
10956         instead of the old eldoc-* names.
10957         * lisp/emacs-lisp/eldoc.el (eldoc-docstring-format-sym-doc): Move back
10958         from elisp-mode.el.  Tweak calling convention.
10959         * lisp/progmodes/elisp-mode.el (package-user-dir): Declare.
10960         (elisp-get-fnsym-args-string): Add `prefix' argument.  Rename from
10961         elisp--get-fnsym-args-string.
10962         (elisp--highlight-function-argument): Add `prefix' arg.
10963         (elisp-get-var-docstring): Rename from elisp--get-var-docstring.
10964         (elisp--docstring-format-sym-doc): Move back to eldoc.el.
10966 2015-05-05  Glenn Morris  <rgm@gnu.org>
10968         * lisp/help-fns.el (describe-function-1):
10969         Handle builtins with advertised calling conventions.  (Bug#20479)
10971 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
10973         Merge branch 'seq-let'
10975         Update `seq-let' documentation
10976         * doc/lispref/sequences.texi: Update the documentation of `seq-let'
10977         with the support of  `&rest'.
10979         Add support for &rest in `seq-let'
10980         * lisp/emacs-lisp/seq.el (seq--make-bindings): Add support for `&rest'
10981         in the argument list.
10982         * test/automated/seq-tests.el: Add a test for parsing and binding
10983         `&rest' in `seq-let'.
10985 2015-05-05  Paul Eggert  <eggert@cs.ucla.edu>
10987         Spelling fixes
10989 2015-05-05  (tiny change) Pierre Lorenzon  <devel@pollock-nageoire.net>
10991         * eieio-custom.el (eieio-object-value-get): Add missing increment
10992         (Bug#20467)
10994         (eieio-object-value-create): Adjust to new slots representation
10995         (Bug#20467)
10996         * eieio-custom.el (eieio-object-value-create):
10997         Fix missed adjustment to new representation of slots metadata.
10999 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
11001         * lisp/emacs-lisp/seq.el (seq--make-bindings): Improve the docstring.
11003 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
11005         Work around "Attempt to modify read-only object"
11006         * lisp/progmodes/elisp-mode.el (elisp--xref-format): Extract from
11007         elisp--xref-find-definitions, to work around "Attempt to modify
11008         read-only object" error.
11010         Only skip some variables that have function counterparts
11011         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
11012         Only skip minor-mode-named variable if it's defined in a Lisp
11013         file, and it's in minor-mode-list (bug#20506).
11014         * test/automated/elisp-mode-tests.el
11015         (elisp-xref-finds-both-function-and-variable)
11016         (elisp-xref-finds-only-function-for-minor-mode): New tests.
11018 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
11020         Buttonize the whole line, including the number at the beginning
11021         * lisp/progmodes/xref.el (xref--location-at-point): Revert the
11022         previous change.
11023         (xref--insert-xrefs): Buttonize the whole line, including the
11024         number at the beginning.
11026         Make sure we're inside the let bindings
11027         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
11028         Make sure we're inside the let bindings.
11029         * test/automated/elisp-mode-tests.el
11030         (elisp-completes-functions-after-let-bindings): New test.
11032 2015-05-04  Glenn Morris  <rgm@gnu.org>
11034         * lisp/cedet/semantic/grammar.el (eldoc-function-argstring)
11035         (eldoc-docstring-format-sym-doc, eldoc-last-data-store)
11036         (eldoc-get-fnsym-args-string, eldoc-get-var-docstring):
11037         Remove outdated declarations.
11039         Replace instances of "(eval-when-compile (autoload ...))"
11040         * lisp/gnus/gnus-art.el (nneething-get-file-name):
11041         Declare rather than autoload.
11042         * lisp/gnus/gnus-async.el (gnus-html-prefetch-images):
11043         Remove pointless autoload.
11044         * lisp/gnus/gnus-sync.el (gnus-group-topic): Autoload at run-time.
11045         (gnus-topic-create-topic, gnus-topic-enter-dribble):
11046         Declare rather than autoload.
11047         * lisp/gnus/mm-archive.el (gnus-recursive-directory-files)
11048         (mailcap-extension-to-mime): Autoload at run-time.
11049         * lisp/gnus/mm-util.el (latin-unity-massage-name)
11050         (latin-unity-maybe-remap, latin-unity-representations-feasible-region)
11051         (latin-unity-representations-present-region):
11052         Declare rather than autoload.
11053         * lisp/gnus/mml-smime.el (epg-make-context)
11054         (epg-passphrase-callback-function): Autoload at run-time.
11055         (epg-context-set-signers, epg-context-result-for)
11056         (epg-new-signature-digest-algorithm)
11057         (epg-verify-result-to-string, epg-list-keys, epg-verify-string)
11058         (epg-sign-string, epg-encrypt-string)
11059         (epg-context-set-passphrase-callback, epg-sub-key-fingerprint)
11060         (epg-configuration, epg-expand-group, epa-select-keys):
11061         Declare rather than autoload.
11062         * lisp/gnus/nnir.el (nnimap-change-group, nnimap-make-thread-query):
11063         Autoload at run-time.
11064         (gnus-group-topic-name, nnimap-buffer, nnimap-command)
11065         (gnus-registry-get-id-key, gnus-registry-action):
11066         Declare rather than autoload.
11067         * lisp/gnus/nnmail.el (mail-send-and-exit): Autoload at run-time.
11068         * lisp/gnus/spam.el (spam-stat-buffer-change-to-non-spam)
11069         (spam-stat-buffer-change-to-spam, spam-stat-buffer-is-non-spam)
11070         (spam-stat-buffer-is-spam, spam-stat-load, spam-stat-save)
11071         (spam-stat-split-fancy): Remove pointless autoloads.
11072         * lisp/net/mairix.el: Load gnus-util when compiling.
11073         (gnus-group-read-ephemeral-group, gnus-summary-toggle-header)
11074         (message-field-value): Declare rather than autoload.
11075         (mairix-gnus-ephemeral-nndoc, mairix-gnus-fetch-field):
11076         Check gnus-alive-p is fbound.
11077         (vm-quit, vm-visit-folder, vm-select-folder-buffer)
11078         (vm-check-for-killed-summary, vm-error-if-folder-empty)
11079         (vm-get-header-contents, vm-select-marked-or-prefixed-messages):
11080         Declare rather than autoload.
11082         * lisp/gnus/mm-view.el (epg-decrypt-string): Autoload.
11084         * lisp/gnus/mml-smime.el (epg-key-sub-key-list)
11085         (epg-sub-key-capability, epg-sub-key-validity): Fix declarations.
11087         * lisp/progmodes/elisp-mode.el (xref-collect-references): Declare.
11089         * lisp/emacs-lisp/debug.el (help-xref-interned): Update declaration.
11091         * lisp/allout.el (epg-user-id-string, epg-key-user-id-list):
11092         * lisp/emacs-lisp/package.el (epg-signature-status):
11093         Fix declarations.
11095         * lisp/play/gametree.el (gametree-show-children-and-entry)
11096         (gametree-apply-layout, gametree-mouse-show-subtree)
11097         (gametree-mouse-hide-subtree): Replace obsolete outline aliases.
11099         * lisp/emacs-lisp/check-declare.el (check-declare-verify):
11100         Handle cl-defgeneric, cl-defmethod.
11102 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
11104         Highlight both type and symbol name
11105         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
11106         Highlight both type and symbol name.
11108         Insert, highlight and align line numbers in xref output
11109         * lisp/progmodes/etags.el (xref-location-line): Specialize for
11110         xref-etags-location.
11111         * lisp/progmodes/xref.el (xref-location-line): New generic method.
11112         (xref-file-location): Add reader for the line slot.
11113         (xref--location-at-point): Skip to the `xref-location' property.
11114         (xref--collect-reference): Drop the line number from description.
11115         (xref--insert-xrefs): Insert, highlight and align line numbers.
11117 2015-05-04  Daniel Colascione  <dancol@dancol.org>
11119         Fix previous commit
11121 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
11123         Don't pulse the indentation, or the newline
11124         * lisp/cedet/pulse.el (pulse-lighten-highlight)
11125         (pulse-reset-face): Fall back to the inherited background
11126         attribute in FACE.
11127         (pulse-momentary-highlight-region): Add autoload cookie.
11128         * lisp/progmodes/xref.el (xref--maybe-pulse): Don't highlight the
11129         indentation, or the newline, if the line's non-empty
11130         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00118.html).
11132 2015-05-04  Daniel Colascione  <dancol@dancol.org>
11134         Add `save-mark-and-excursion', which has the old `save-excursion' behavior
11135         * doc/lispref/positions.texi (Excursions): Document
11136         `save-mark-and-excursion'.
11137         * lisp/font-lock.el (font-lock-fontify-block): Use
11138         `save-mark-and-excursion' instead of `save-excursion', restoring
11139         Emacs 24 behavior.
11140         * lisp/simple.el (save-mark-and-excursion--save)
11141         (save-mark-and-excursion--restore): New functions.
11142         (save-mark-and-excursion): New user macro.
11143         * src/editfns.c (Fsave_excursion): Mention
11144         `save-mark-and-excursion' in `save-excursion' documentation.
11146 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
11148         Classify lone symbol inside let varlist as variable
11149         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
11150         Classify lone symbol inside let varlist as variable.
11151         * test/automated/elisp-mode-tests.el (completest-variables-in-let-bindings):
11152         New test.
11154         Add xref-pulse-on-jump
11155         * lisp/cedet/pulse.el (pulse-momentary-highlight-one-line):
11156         Add autoload cookie.
11157         * lisp/progmodes/xref.el (xref-pulse-on-jump): New option.
11158         (xref--maybe-pulse): New function.
11159         (xref-pop-marker-stack, xref--pop-to-location)
11160         (xref--display-position): Use it.
11161         (xref--location-at-point): Use back-to-indentation.
11163 2015-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
11165         * lisp/org/org-{macs,list}.el: Fix lexical warnings
11166         * lisp/org/org-list.el (org-list-struct): Remove unused var `ind'.
11167         (org-list-get-next-item, org-list-get-prev-item)
11168         (org-list-get-children): Mark unused arg `struct'.
11169         (org-list-use-alpha-bul-p): Remove unused var `bul'.
11170         (org-toggle-checkbox): Mark unused var.
11171         (org-update-checkbox-count): Remove unused var `box-num'.
11172         (org-adapt-indentation): Declare.
11173         (org-list-parse-list): Declare var instead of adding a dummy duplicate.
11174         (org-list-send-list): Remove unused var `txt'.
11175         (org-list-to-latex, org-list-to-texinfo): Mark unused arg `params'.
11176         (org-list-to-subtree): Add prefix to dyn-bind var, and declare them.
11177         * lisp/org/org-macs.el: Use `declare'.
11178         (org-with-limited-levels): Declare dyn-bound vars.
11180 2015-05-04  Eli Zaretskii  <eliz@gnu.org>
11182         Fix minor issues with CEDET on MS-Windows
11183         * lisp/cedet/semantic/symref/idutils.el
11184         (semantic-symref-parse-tool-output-one-line): Fix the search
11185         regexp to match MS-Windows file names with drive letters.
11186         (Bug#19468)
11187         * lisp/cedet/semantic/symref/grep.el
11188         (semantic-symref-grep-use-template): Remove "--color=always" from
11189         Grep switches on MS-Windows.
11190         (semantic-symref-grep-shell): Use shell-file-name as the default
11191         value, so this works not only on Posix platforms.
11192         (semantic-symref-perform-search): Use shell-quote-argument instead
11193         of literal '..' for portable quoting of Grep command-line
11194         argument.  Use shell-command-switch instead of a literal "-c".
11195         * lisp/cedet/semantic/bovine/gcc.el
11196         (semantic-gcc-get-include-paths): Use file-name-absolute-p to test
11197         for an absolute file name in a portable way.
11199 2015-05-04  Artur Malabarba  <bruce.connor.am@gmail.com>
11201         * lisp/emacs-lisp/package.el: Remove `package--silence' variable
11202         (package-import-keyring, package-refresh-contents)
11203         (package-compute-transaction, package--save-selected-packages)
11204         (package-install-from-archive, package-delete)
11205         (package-menu--perform-transaction): Use `inhibit-message'
11206         instead.
11207         (package--compile): Set `warning-minimum-level' to :error.
11209 2015-05-03  Stefan Monnier  <monnier@iro.umontreal.ca>
11211         * lisp/term/screen.el (xterm-screen-extra-capabilities): New custom
11212         (terminal-init-screen): Use it (bug#20356).
11213         * lisp/term/xterm.el: Provide `term/xterm' instead of `xterm'.
11214         (xterm--extra-capabilities-type): New const.
11215         (xterm-extra-capabilities): Use it.
11216         (xterm--version-handler): Lower the pseudo-version for `screen'.
11218 2015-05-03  Dmitry Gutov  <dgutov@yandex.ru>
11220         xref--insert-xrefs: Tweak the faces
11221         * lisp/progmodes/xref.el (xref--insert-xrefs): Tweak the faces.
11222         Always insert a newline at the end (to avoid mouse-face background
11223         tail at the last line).
11225         elisp-completion-at-point: Prioritize being quoted over funpos
11226         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
11227         Only consider function position when not inside quoted form
11228         (bug#20425).
11229         * test/automated/elisp-mode-tests.el: New file.
11231         Stop vc-print-log from jumping to the top
11232         * lisp/vc/vc.el (vc-print-log-internal): Pass nil
11233         GOTO-LOCATION-FUNC to vc-log-internal-common when WORKING-REVISION
11234         is not specified.
11235         (vc-incoming-outgoing-internal): Always pass nil.
11236         (vc-log-internal-common): When GOTO-LOCATION-FUNC is nil, don't
11237         call it, and don't set vc-sentinel-movepoint (bug#15322).
11238         (vc-print-root-log): Don't fetch the root working revision, nor
11239         pass it to vc-print-log-internal.
11241 2015-05-02  Michael Vehrs  <Michael.Burschik@gmx.de>
11243         Fix display of keyboard layouts for right-to-left scripts
11244         * lisp/international/quail.el (quail-insert-kbd-layout): Force
11245         left-to-right paragraph direction.
11247 2015-05-02  K. Handa  <handa@gnu.org>
11249         * cmds.c (internal_self_insert): When we insert spaces for
11250         padding, set point before the padding spaces, not after them.
11252 2015-05-02  Nicolas Petton  <nicolas@petton.fr>
11254         * lisp/emacs-lisp/seq.el (seq-p): New alias to `sequencep'.
11256 2015-05-02  Dmitry Gutov  <dgutov@yandex.ru>
11258         Fix etags-xref-find for references
11259         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): Use `cl-mapcan'.
11260         * lisp/progmodes/etags.el (etags-xref-find): Ditto.  Prompt for
11261         directory if no tags tables are loaded (bug#19468).
11263 2015-05-02  Philipp Stephani  <phst@google.com>
11265         Update the options in whitespace-style defcustom
11266         * lisp/whitespace.el (whitespace-style): Use `set' instead of a
11267         `repeat' because the option is really set-like.  Add missing
11268         options.  Reorder options to match the order in the
11269         documentation.  (Bug#20346)
11271 2015-05-02  Eli Zaretskii  <eliz@gnu.org>
11273         Fix error diagnostics of c-macro-expand
11274         * lisp/progmodes/cmacexp.el (c-macro-expansion): Don't bail out
11275         too early if no start-marker string was found -- that generally
11276         means cpp exited abnormally, and we still want to show its error
11277         messages to the user.
11279         Don't require Texinfo 5.0 for Emacs documentation
11280         * doc/emacs/docstyle.texi: Use "@set txicodequoteundirected" and
11281         "@set txicodequotebacktick" instead of "@codequotebacktick on" and
11282         "@codequoteundirected on", respectively, to avoid requiring
11283         Texinfo 5.x for Emacs documentation.
11285 2015-05-01  Simen Heggestøyl  <simenheg@gmail.com>
11287         * lisp/files.el (pwd):
11288         When called with a prefix argument, insert the current default
11289         directory at point.
11291 2015-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>
11293         * lisp/isearch.el (isearch-mode-map): Allow backspace remapping
11294         * lisp/isearch.el (isearch-mode-map): Don't inhibit
11295         function-key-map remapping for backspace (bug#20466).
11297 2015-05-01  Dmitry Gutov  <dgutov@yandex.ru>
11299         Implement xref-find-references in etags and elisp-mode
11300         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): New function.
11301         (elisp-xref-find): Use it.
11302         * lisp/progmodes/etags.el (etags-xref-find): Use `xref-collect-references'.
11303         * lisp/progmodes/xref.el (xref-collect-references):
11304         (xref--collect-reference): New functions.
11306 2015-05-01  Paul Eggert  <eggert@cs.ucla.edu>
11308         Prefer plain characters to Texinfo circumlocutions
11309         For example, prefer 'François' to 'Fran\c{c}ois', 'Fran\c cois',
11310         'Fran@,{c}ois' or 'Francois' (all of which were used!) in Texinfo sources.
11312         Fix single-quoting style in PDF manuals
11313         The PDF versions of the GNU manuals used curved single quotes to
11314         represent grave accent and apostrophe, which made it a pain to cut
11315         and paste code examples from them.  Fix the PDF versions to use
11316         grave accent and apostrophe for Lisp source code, keystrokes, etc.
11317         This change does not affect the info files, nor does it affect
11318         ordinary uses of curved single quotes in PDF.
11319         * doc/emacs/docstyle.texi: New file, which specifies treatment for
11320         grave accent and apostrophe, as well as the document encoding.
11321         * doc/emacs/emacs-xtra.texi, doc/emacs/emacs.texi:
11322         * doc/lispintro/emacs-lisp-intro.texi:
11323         * doc/lispref/back.texi, doc/lispref/book-spine.texi:
11324         * doc/lispref/elisp.texi, doc/lispref/lay-flat.texi:
11325         * doc/misc/ada-mode.texi, doc/misc/auth.texi:
11326         * doc/misc/autotype.texi, doc/misc/bovine.texi, doc/misc/calc.texi:
11327         * doc/misc/cc-mode.texi, doc/misc/cl.texi, doc/misc/dbus.texi:
11328         * doc/misc/dired-x.texi, doc/misc/ebrowse.texi, doc/misc/ede.texi:
11329         * doc/misc/ediff.texi, doc/misc/edt.texi, doc/misc/efaq-w32.texi:
11330         * doc/misc/efaq.texi, doc/misc/eieio.texi, doc/misc/emacs-gnutls.texi:
11331         * doc/misc/emacs-mime.texi, doc/misc/epa.texi, doc/misc/erc.texi:
11332         * doc/misc/ert.texi, doc/misc/eshell.texi, doc/misc/eudc.texi:
11333         * doc/misc/eww.texi, doc/misc/flymake.texi, doc/misc/forms.texi:
11334         * doc/misc/gnus-coding.texi, doc/misc/gnus-faq.texi:
11335         * doc/misc/gnus.texi, doc/misc/htmlfontify.texi:
11336         * doc/misc/idlwave.texi, doc/misc/ido.texi, doc/misc/info.texi:
11337         * doc/misc/mairix-el.texi, doc/misc/message.texi, doc/misc/mh-e.texi:
11338         * doc/misc/newsticker.texi, doc/misc/nxml-mode.texi:
11339         * doc/misc/octave-mode.texi, doc/misc/org.texi, doc/misc/pcl-cvs.texi:
11340         * doc/misc/pgg.texi, doc/misc/rcirc.texi, doc/misc/reftex.texi:
11341         * doc/misc/remember.texi, doc/misc/sasl.texi, doc/misc/sc.texi:
11342         * doc/misc/semantic.texi, doc/misc/ses.texi, doc/misc/sieve.texi:
11343         * doc/misc/smtpmail.texi, doc/misc/speedbar.texi:
11344         * doc/misc/srecode.texi, doc/misc/todo-mode.texi, doc/misc/tramp.texi:
11345         * doc/misc/url.texi, doc/misc/vhdl-mode.texi, doc/misc/vip.texi:
11346         * doc/misc/viper.texi, doc/misc/widget.texi, doc/misc/wisent.texi:
11347         * doc/misc/woman.texi:
11348         Use it instead of '@documentencoding UTF-8', to lessen the need for
11349         global changes like this in the future.
11350         * doc/emacs/Makefile.in (EMACS_XTRA):
11351         * doc/lispintro/Makefile.in (srcs):
11352         * doc/lispref/Makefile.in (srcs):
11353         Add dependency on docstyle.texi.
11354         * doc/misc/Makefile.in (style): New macro.
11355         (${buildinfodir}/%.info, %.dvi, %.pdf, %.html)
11356         (${buildinfodir}/ccmode.info, ${buildinfodir}/efaq%.info, gnus_deps):
11357         Use it.
11359 2015-05-01  Glenn Morris  <rgm@gnu.org>
11361         * test/automated/cl-lib-tests.el (cl-lib-adjoin-test): Fix it.
11363         * lisp/emacs-lisp/pcase.el (get-edebug-spec, edebug-match)
11364         (help-fns--signature): Declare.
11366         * lisp/emacs-lisp/pcase.el (pcase--make-docstring): Require help-fns.
11368 2015-05-01  Nicolas Petton  <nicolas@petton.fr>
11370         New macro seq-let, providing destructuring support to seq.el
11371         * lisp/emacs-lisp/seq.el (seq-let): New macro.  `seq-let' is similar
11372         to `cl-destructuring-bind' but works on all sequence types supported
11373         by `seq.el'.  Bump version number to 1.6.
11374         * test/automated/seq-tests.el: Add tests for seq-let.
11375         * doc/lispref/sequences.texi: Add documentation for seq-let.
11377 2015-05-01  Pontus Michael  <m.pontus@gmail.com>
11379         * lisp/simple.el (blink-matching-open): Better behavior in minibuffer
11381 2015-05-01  Glenn Morris  <rgm@gnu.org>
11383         * lisp/emacs-lisp/ert.el (ert--special-operator-p): Fix previous.
11385 2015-05-01  Artur Malabarba  <bruce.connor.am@gmail.com>
11387         * lisp/emacs-lisp/bytecomp.el: Revert "Silence noninteractive compilations"
11388         This reverts commit 9a7ddde977378cb5276a81476ae458889c403267.
11389         This reverts commit 3c0ea587daf8b17960b90603a70e3ac4057d883d.
11390         With message: "* lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'".
11391         (Bug#20445).
11393 2015-05-01  K. Handa  <handa@gnu.org>
11395         * mule-cmds.el (input-method-use-echo-area): Change :type to
11396         'boolean.
11398 2015-05-01  Lars Magne Ingebrigtsen  <larsi@gnus.org>
11400         Start using proportional fonts in eww by default
11401         * lisp/net/shr.el (shr-use-fonts): Switch the default to t, since
11402         it seems to work well.
11404         Fix links in tables in shr
11405         * lisp/net/shr.el: Remove `shr-inhibit-decoration', because that
11406         makes (some) links in tables not work.
11408 2015-05-01  Jan D  <jan.h.d@swipnet.se>
11410         (ns-get-cut-buffer-internal): Remove this alias.
11411         * lisp/term/ns-win.el (ns-get-cut-buffer-internal): Remove this alias.
11413 2015-04-30  Glenn Morris  <rgm@gnu.org>
11415         * lisp/emacs-lisp/ert.el (ert--special-operator-p):
11416         Update for 2015-02-08 change to indirect-function.
11418         * lisp/term/ns-win.el (ns-get-selection-internal):
11419         Remove declaration for function deleted 2014-10-21.
11421         * lisp/dom.el: Load subr-x when compiling, for when-let.
11423         Silence some compilation warnings
11424         * lisp/emacs-lisp/check-declare.el (compilation-forget-errors):
11425         * lisp/emulation/cua-base.el (delete-active-region):
11426         * lisp/net/net-utils.el (w32-get-console-output-codepage):
11427         * lisp/term/ns-win.el (ns-own-selection-internal)
11428         (ns-disown-selection-internal, ns-selection-owner-p)
11429         (ns-selection-exists-p, ns-get-selection):
11430         Declare for compiler..
11432         Function declaration updates prompted by 'make check-declare'
11433         * lisp/emacs-lisp/package.el (lm-homepage):
11434         * lisp/gnus/gnus-util.el (iswitchb-read-buffer):
11435         * lisp/gnus/mm-decode.el (libxml-parse-html-region):
11436         * lisp/gnus/mml.el (libxml-parse-html-region):
11437         * lisp/gnus/nnrss.el (libxml-parse-html-region):
11438         * lisp/net/eww.el (libxml-parse-html-region):
11439         * lisp/net/shr.el (libxml-parse-html-region):
11440         * lisp/vc/vc-bzr.el (vc-annotate-convert-time):
11441         * lisp/vc/vc-cvs.el (vc-annotate-convert-time):
11442         * lisp/vc/vc-git.el (vc-annotate-convert-time):
11443         * lisp/vc/vc-hg.el (vc-annotate-convert-time):
11444         * lisp/vc/vc-mtn.el (vc-annotate-convert-time):
11445         * lisp/vc/vc-rcs.el (vc-annotate-convert-time):
11446         Update declaration.
11448         Remove compatibility code for 20-year old function renaming
11449         * lisp/progmodes/idlw-shell.el (idlwave-shell-comint-filter):
11450         Make it an obsolete alias.
11451         (idlwave-shell-filter): Change all uses to comint-output-filter.
11453 2015-04-30  Tassilo Horn  <tsdh@gnu.org>
11455         Add ace-window face config
11456         * etc/themes/tsdh-light-theme.el (tsdh-light): Add ace-window face
11457         configuration.
11459 2015-04-30  Paul Eggert  <eggert@cs.ucla.edu>
11461         Unclutter 'make doc' output a bit
11462         * Makefile.in ($(DOCS), $(INSTALL_DOC), $(UNINSTALL_DOC)):
11463         Use make subst rather than sh IFS to split target string apart.
11464         This makes 'make' output easier to follow.
11466         Merge from gnulib
11467         * doc/misc/texinfo.tex: Update from gnulib.
11469 2015-04-30  Artur Malabarba  <bruce.connor.am@gmail.com>
11471         * lisp/emacs-lisp/package.el: Some speed optimizations on menu refresh
11472         (package-menu--print-info): Obsolete.
11473         (package-menu--print-info-simple): New function.
11474         (package-menu--refresh): Use it, simplify code, and improve
11475         performance.
11476         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
11477         Tiny performance improvement.
11479         * lisp/emacs-lisp/package.el (package--message): inhibit-message
11481 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
11483         Omit -Wstrict-overflow workaround in GCC 5
11484         * src/process.c: Remove workaround for GCC -Wstrict-overflow bug
11485         if it's GCC 5 or later, as the bug appears to be fixed in GCC 5.1.
11487         Merge from gnulib
11488         This incorporates:
11489         2015-04-29 extern-inline: no need for workaround in GCC 5.1
11490         2015-04-26 file-has-acl: port to CentOS 6
11491         * m4/acl.m4, m4/extern-inline.m4: Update from gnulib.
11493 2015-04-29  Helmut Eller  <eller.helmut@gmail.com>
11495         Set next-error-* in xref--xref-buffer-mode
11496         * xref.el (xref--xref-buffer-mode): Set `next-error-function' and
11497         `next-error-last-buffer'.
11498         (xref--next-error-function): New function.
11499         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01311.html)
11501 2015-04-29  Fabián Ezequiel Gallina  <fgallina@gnu.org>
11503         python.el: Fix warnings on looking-back calls missing LIMIT
11504         * lisp/progmodes/python.el (python-shell-accept-process-output):
11505         Pass LIMIT arg to looking-back.
11507 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
11509         * lisp/emacs-lisp/package.el: Use pushnew for downloads in progress
11510         (package--download-and-read-archives): Use pushnew instead of
11511         append.  If something terrible happened during a previous
11512         download, simply refreshing should now make things work again.
11514 2015-04-29  Dmitry Gutov  <dgutov@yandex.ru>
11516         Introduce etags-xref-find-definitions-tag-order
11517         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
11518         New variable.
11519         (etags--xref-find-definitions): Use it (bug#19468).
11521 2015-04-29  Eli Zaretskii  <eliz@gnu.org>
11523         PATH- and completion-related fixes in Eshell on MS-Windows
11524         * lisp/eshell/esh-ext.el (eshell-search-path): When running on
11525         MS-Windows, prepend "." to list of directories produced from PATH,
11526         as Windows always implicitly searches the current directory first.
11527         (eshell-force-execution): Make it have a non-nil default value on
11528         MS-Windows and MS-DOS.
11529         * lisp/eshell/em-cmpl.el (eshell-complete-commands-list): If
11530         eshell-force-execution is non-nil, complete on readable files and
11531         directories, not only executables.  When running on MS-Windows,
11532         prepend "." to list of directories produced from PATH, as Windows
11533         always implicitly searches the current directory first.
11535 2015-04-29  Sam Steingold  <sds@gnu.org>
11537         bury RCIRC buffers when there is no activity
11538         lisp/net/rcirc.el (rcirc-non-irc-buffer): remove
11539         (rcirc-bury-buffers): new function
11540         (rcirc-next-active-buffer): when there is no new activity, use
11541         `rcirc-bury-buffers' to hide all RCIRC buffers
11543 2015-04-29  Krzysztof Jurewicz  <krzysztof.jurewicz@gmail.com>  (tiny change)
11545         Fix DBUS query result parsing for secrets-search-items
11546         * lisp/net/secrets.el (secrets-search-items): Fix DBUS query result
11547         parsing.  The function assumed that return value of the
11548         SearchItems method called on a collection is a list of two lists,
11549         however this is true only when no collection is specified.  GNOME
11550         had used to incorrectly return a list of two lists in both cases,
11551         but this was already fixed:
11552         https://bugzilla.gnome.org/show_bug.cgi?id=695115 .  Also fix an
11553         incorrect information in the secrets-search-items’ docstring.
11554         (Bug#20449)
11556 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
11558         * lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'
11559         (byte-compile--message): Use `inhibit-message' instead of hiding
11560         the previous message with (message nil).
11562 2015-04-29  Oleh Krehel  <ohwoeowho@gmail.com>
11564         Remove the deprecated INTERNAL_FIELD macro by expanding it
11565         * src/lisp.h (INTERNAL_FIELD): Remove.
11566         (DEFVAR_KBOARD): Modify accordingly.
11567         * alloc.c, buffer.c, buffer.h, category.c, keyboard.c, keyboard.h:
11568         * syntax.c: Adjust users.
11569         * src/buffer.c (compact_buffer): Use BVAR.
11571 2015-04-29  Glenn Morris  <rgm@gnu.org>
11573         Replace an obsolete function alias
11574         * lisp/isearch.el (isearch-yank-x-selection):
11575         * lisp/mouse-copy.el (mouse-drag-secondary-pasting)
11576         (mouse-drag-secondary-moving):
11577         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
11578         Replace obsolete alias x-get-selection with gui-get-selection.
11580 2015-04-29  Stefan Monnier  <monnier@iro.umontreal.ca>
11582         * lisp/mail/rmailsum.el: Use lexical-binding.
11584 2015-04-29  Glenn Morris  <rgm@gnu.org>
11586         * test/automated/package-test.el (package-test-update-archives-async):
11587         Skip test on hydra.nixos.org.
11589 2015-04-28  Glenn Morris  <rgm@gnu.org>
11591         * lisp/foldout.el: Update for 2015-01-30 outline.el changes.
11592         (foldout-zoom-subtree, foldout-exit-fold, foldout-mouse-show)
11593         (foldout-mouse-hide-or-exit): Use new names for outline functions.
11595         * lisp/cedet/semantic/bovine/c.el (semantic-c-do-lex-if):
11596         Update for 2014-06-26 hideif.el change.
11598         * lisp/mail/rmailsum.el: Fix search for encoded subjects.  (Bug#19088)
11599         (rmail--decode-and-apply): New function.
11600         (rmail-message-regexp-p-1, rmail-message-subject-p): Use it.
11602         * lisp/mail/rmail.el (rmail-highlighted-headers): Fix :type.
11604 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
11606         * lisp/emacs-lisp/package.el: Fix priority-hiding corner case
11607         (package-menu--refresh): Delegate obsolete-hiding to
11608         `package--remove-hidden'.
11609         (package--remove-hidden): Disregard high-priority package if it is
11610         older than the installed one.
11612 2015-04-28  Paul Eggert  <eggert@cs.ucla.edu>
11614         Update source file encoding list
11615         Update admin/notes/unicode, along with coding system cookies in
11616         other files, so that the two match each other better.
11617         * admin/notes/unicode: lisp/language/ethio-util.el and
11618         lisp/language/ethiopic.el also use utf-8-emacs.
11619         * admin/notes/hydra, doc/misc/dbus.texi, doc/misc/org.texi:
11620         * doc/misc/remember.texi, etc/refcards/cs-dired-ref.tex:
11621         * etc/refcards/cs-refcard.tex, etc/refcards/cs-survival.tex:
11622         * etc/refcards/sk-dired-ref.tex, etc/refcards/sk-refcard.tex:
11623         * etc/refcards/sk-survival.tex:
11624         Add "coding: utf-8" so that this file is not mishandled in a
11625         Latin-1 or Big-5 locale.
11626         * lisp/international/robin.el, lisp/org/ox-ascii.el:
11627         Specify utf-8, not utf-8-emacs, as these are plain UTF-8 files.
11628         * lisp/language/ethio-util.el: Fix trailer.
11630 2015-04-28  Eli Zaretskii  <eliz@gnu.org>
11632         Fix synchronous invocation of Ispell
11633         * lisp/textmodes/ispell.el (ispell-init-process): Assign a non-nil
11634         value to ispell-process-directory before calling ispell-init-process.
11635         Don't call set-process-coding-system if ispell-async-processp is nil.
11636         (Bug#20448)
11638 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
11640         * lisp/emacs-lisp/package.el: Skip space and comments in init file
11641         (package--ensure-init-file): Insert snippet at first
11642         non-whitespace non-comments line.  Respects local-vars at the top
11643         of the file.
11645 2015-04-28  Glenn Morris  <rgm@gnu.org>
11647         * lisp/mail/rmail.el (rmail-copy-headers):
11648         Handle rmail-nonignored-headers being nil.  (Bug#18878)
11650         * lisp/subr.el (delay-mode-hooks): Fix doc typo.
11652         * lisp/vc/vc-bzr.el (vc-bzr-after-dir-status):
11653         Don't get confused by a bzrlib version mismatch warning.
11655 2015-04-27  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
11657         Change default location of EUDC options file
11658         * NEWS: Document change to EUDC options file's default location.
11659         * lisp/net/eudc-vars.el (eudc-options-file): Use
11660         `locate-user-emacs-file' to change default options file location.
11662 2015-04-27  Glenn Morris  <rgm@gnu.org>
11664         * test/automated/package-test.el (package-test-update-archives-async):
11665         Try to handle the test server script dying.
11667 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
11669         * lisp/saveplace.el (save-place-mode): New minor mode.
11670         (save-place): Redefine as an obsolete alias.
11672         * lisp/midnight.el: Make it a minor mode.  Allow predicates.
11673         * lisp/midnight.el: Use lexical-binding.
11674         (midnight-mode): Make it a proper minor mode.
11675         (midnight-buffer-display-time): Make arg non-optional.
11676         (midnight-find): Remove.
11677         (clean-buffer-list-kill-never-regexps)
11678         (clean-buffer-list-kill-regexps): Tweak type for new function choice.
11679         (clean-buffer-list-delay): Allow clean-buffer-list-kill-regexps to
11680         contain functions.
11681         (clean-buffer-list): Use cl-find.
11682         Allow clean-buffer-list-kill-never-regexps to contain functions.
11684 2015-04-27  Nicolas Petton  <nicolas@petton.fr>
11686         Bump version of seq.el to 1.5
11687         * lisp/emacs-lisp/seq.el (seq-doseq): Remove undocumented return value
11688           from seq-doseq.  Bump version number of seq.el.
11690 2015-04-27  Glenn Morris  <rgm@gnu.org>
11692         * lisp/mail/rmail.el (rmail-reply):
11693         Decode subject before matching "Re:" prefix.  (Bug#20396)
11695 2015-04-27  Artur Malabarba  <bruce.connor.am@gmail.com>
11697         * lisp/emacs-lisp/package.el: Small improvements
11698         (package--with-work-buffer-async): More informative error.
11699         (package-install-user-selected-packages): Rename to
11700         `package-install-selected-packages'.
11702 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
11704         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last
11705         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last change.
11706         (eieio--class-make): Remove leftover `tag'.
11708 2015-04-27  Glenn Morris  <rgm@gnu.org>
11710         * lisp/gnus/message.el (gnus-extract-address-components):
11711         Remove bogus declaration that was masking previous problem.
11713 2015-04-27  Nicolas Graner  <nicolas.graner@u-psud.fr>  (tiny change)
11715         * lisp/gnus/message.el (message-insert-formatted-citation-line):
11716         Fix typo.  (Bug#20318)
11718 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
11720         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Reuse oldc.
11722         * lisp/textmodes/reftex-toc.el: Improve multi-frame behavior
11723         * lisp/textmodes/reftex-toc.el (reftex-toc-revert): Avoid displaying
11724         the buffer in yet another frame.
11725         (reftex-toc-visit-location): Make sure toc-window has focus at the end
11726         when `final' is nil.
11727         (reftex--rebuilding-toc): Defvar to avoid `boundp' and
11728         silence warnings.  Use `--' to clarify that it's internal.
11729         (reftex-toc-next, reftex-toc-previous, reftex-toc-demote)
11730         (reftex-toc-promote): Clarify unused argument.
11731         (reftex--pro-or-de, reftex--start-line, reftex--mark-line):
11732         Add `reftex--' prefix.  Fix all users.
11733         (reftex-toc-promote-prepare): Use _ for dummy variable.
11734         (reftex-toc-restore-region): Rename `m
11736 2015-04-27  Eli Zaretskii  <eliz@gnu.org>
11738         Fix a typo in bibtex.el
11739         * lisp/textmodes/bibtex.el (bibtex-insert-kill): Fix a typo from
11740         last change.  (Bug#20429)
11742         Fix redisplay of frame after loading new fonts
11743         * src/xdisp.c (redisplay_internal): When retrying redisplay of a
11744         frame because new fonts were loaded, disable all redisplay
11745         optimizations on that frame by calling SET_FRAME_GARBAGED.
11746         (Bug#20410)
11748 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
11750         * lisp/info.el (Info-menu): Properly provide the `default'
11751         (Bug#20391)
11753         * elisp-mode.el: Catch errors from `documentation'
11754         (Bug#20418)
11755         * lisp/progmodes/elisp-mode.el (elisp--get-fnsym-args-string):
11756         Catch errors from documentation.
11757         (emacs-lisp-mode-abbrev-table): Remove redundant defvar.
11759 2015-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>
11761         lisp/emacs-lisp/package.el: Move variables to silence byte-compiler
11762         Remove redundant ":group 'package".
11764 2015-04-26  Eli Zaretskii  <eliz@gnu.org>
11766         Fix a typo in rmail.el
11767         * lisp/mail/rmail.el (rmail-ensure-blank-line): Fix a typo in the
11768         last commit.  (Bug#20429)
11770 2015-04-26  Dmitry Gutov  <dgutov@yandex.ru>
11772         Introduce xref-prompt-for-identifier
11773         * lisp/progmodes/xref.el (xref-prompt-for-identifier): New option.
11774         (xref--read-identifier): Use it
11775         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01205.html).
11777 2015-04-26  João Távora  <joaotavora@gmail.com>
11779         `tex-insert-quote' after single `'' opens quotes instead of closing
11780         Without this, it's very hard to precede double quotes with the
11781         apostrophe character, i.e. insert the sequence '``
11782         (quote-backquote-backquote), commonly useful in portuguese, for
11783         instance.
11784         * tex-mode.el (tex-insert-quote): Add ?' to the list of preceding
11785         chars making `tex-insert-quote' be in the "opening" context.
11787 2015-04-25  Dmitry Gutov  <dgutov@yandex.ru>
11789         Pass `id' to `completing-read' as def instead of initial input
11790         * xref.el (xref--read-identifier): Pass `id' to `completing-read'
11791         as the default value instead of initial input
11792         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01182.html).
11794 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
11796         Don't freeze with unreadable processes
11797         Don't freeze if an exiting process can't be read from. (Bug#19860).
11798         This fixes a bug I introduced in
11799         2014-07-08T07:24:07Z@eggert@cs.ucla.edu
11800         "* process.c: Add sanity checks for file descriptors."
11801         Dmitry Gutov did most of the legwork in finding the problem.
11802         * src/process.c (wait_reading_process_output):
11803         Treat non-running processes that can't be read from
11804         the same as other non-running processes.
11806 2015-04-25  Alan Mackenzie  <acm@muc.de>
11808         Fix change from 2015-04-22 "On C-y, stop some text property entries ..."
11809         * lisp/subr.el (remove-yank-excluded-properties): put
11810         `with-silent-modifications' around only the last three lines of code.
11812 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
11814         * lisp/emacs-lisp/package.el (package-all-keywords): Don't cache
11815         (package--all-keywords): Deleted variable.
11817         * etc/NEWS: Document package-hiding functionality
11819 2015-04-25  Eli Zaretskii  <eliz@gnu.org>
11821         lisp/window.el (recenter-last-op): Doc fix.  (Bug#20419)
11823         Clarify the doc string of 'replace-regexp-in-string'
11824         * lisp/subr.el (replace-regexp-in-string): Doc fix.  (Bug#20395)
11826         Improve doc string of 'insert-buffer-substring'
11827         * src/editfns.c (Finsert_buffer_substring): Doc fix.  (Bug#20421)
11829         MS-Windows followup for the recent gnulib update
11830         * nt/gnulib.mk (libgnu_a_SOURCES): Replace file-has-acl.c with
11831         acl-internal.c.
11833 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
11835         Spelling fixes
11837         Merge from gnulib
11838         This incorporates:
11839         2015-04-24 file-has-acl: new module, split from acl
11840         2015-04-24 manywarnings: add GCC 5.1 warnings
11841         2015-04-21 lstat: fix cross-compilation 'ln -s' problem
11842         2015-04-15 qacl: Simplify HP-UX acl_nontrivial check
11843         2015-04-15 acl: On Linux, check for acls without libacl
11844         2015-04-14 tempname: avoid unused parameter warnings (trivial)
11845         * lib/acl-internal.c: New file, from gnulib.
11846         * lib/file-has-acl.c: Remove; no longer imported from gnulib.
11847         * lib/acl-internal.h, lib/gnulib.mk, lib/qcopy-acl.c, lib/tempname.c:
11848         * m4/acl.m4, m4/gnulib-comp.m4, m4/lstat.m4, m4/manywarnings.m4:
11849         Update from gnulib.
11851         Port --enable-gcc-warnings to GCC 5.1 x86-64
11852         * lib-src/ebrowse.c (dump_sym):
11853         * lib-src/hexl.c (main):
11854         * src/ccl.c (ccl_driver):
11855         * src/character.c (string_escape_byte8):
11856         * src/dbusbind.c (xd_retrieve_arg, xd_add_watch):
11857         * src/gnutls.c (Fgnutls_boot):
11858         * src/gtkutil.c (xg_check_special_colors):
11859         * src/image.c (x_build_heuristic_mask):
11860         * src/print.c (safe_debug_print, print_object):
11861         * src/term.c (produce_glyphless_glyph):
11862         * src/xdisp.c (get_next_display_element)
11863         (produce_glyphless_glyph):
11864         * src/xterm.c (x_draw_glyphless_glyph_string_foreground):
11865         Don't use a signed format to print an unsigned integer, or vice
11866         versa.  GCC 5.1's new -Wformat-signedness option warns about this.
11867         * src/image.c (png_load_body, jpeg_load_body):
11868         Silence a bogus setjump diagnostic from GCC 5.1 (GCC bug 54561).
11870 2015-04-24  Tassilo Horn  <tsdh@gnu.org>
11872         Add new faces to tsdh-light-theme
11873         * etc/themes/tsdh-light-theme.el (tsdh-light): New face
11874         definitions for Info-quoted, ace-jump-face-foreground,
11875         hl-paren-face, show-paren-match, and show-paren-mismatch.
11877 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
11879         * lisp/emacs-lisp/seq.el (seq-doseq): Fix the macro.
11881 2015-04-24  Glenn Morris  <rgm@gnu.org>
11883         * build-aux/gitlog-to-emacslog:
11884         Use raw log format rather than wrapped one.
11886 2015-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>
11888         * lisp/emacs-lisp/seq.el (seq-doseq): Tighten the code
11889         (seq-doseq): Fix out-of-scope binding.
11890         Don't call `seq-length at every iteration.
11891         Reduce `if's from 3 to 2 per iteration.
11892         (emacs-lisp-mode-hook): Don't tweak in Emacs≥25.
11894 2015-04-24  Glenn Morris  <rgm@gnu.org>
11896         * lisp/textmodes/text-mode.el (text-mode-hook):
11897         Move text-mode-hook-identify to default.
11899         * lisp/mouse.el (minor-mode-menu-from-indicator):
11900         Handle non-function members of minor-mode-map-alist.  (Bug#20201)
11902         * lisp/help-fns.el (describe-function): More type checking.
11903         (describe-function-1): Handle changed symbol-function.  (Bug#20201)
11905         * build-aux/gitlog-to-emacslog: Convert "Fixes:" to "(Bug#)".
11906         (Bug#20325)
11908 2015-04-24  Andreas Schwab  <schwab@linux-m68k.org>
11910         shr: strip leading whitespace when expanding URLs
11911         * lisp/net/shr.el (shr-expand-url): Strip leading whitespace from URL.
11913 2015-04-24  Eli Zaretskii  <eliz@gnu.org>
11915         Clarify "co-authored" some more
11917         * CONTRIBUTE: Clarify "co-authored-by".  (Bug#20400)
11919         Clarify doc strings of functions that search for properties
11920         * src/textprop.c (Fnext_char_property_change)
11921         (Fprevious_char_property_change)
11922         (Fnext_single_char_property_change)
11923         (Fprevious_single_char_property_change, Fnext_property_change)
11924         (Fnext_single_property_change, Fprevious_property_change)
11925         (Fprevious_single_property_change): Clarify doc strings wrt return
11926         value and the optional LIMIT argument.  (Bug#20411)
11928 2015-04-24  Glenn Morris  <rgm@gnu.org>
11930         * test/automated/message-mode-tests.el (message-mode-propertize):
11931         Handle non-writable HOME; eg on hydra.nixos.org.
11933 2015-04-23  Eli Zaretskii  <eliz@gnu.org>
11935         Avoid starting threads by w32-shell-execute
11936         * src/w32fns.c (Fw32_shell_execute): Convert "file:///" URLs into
11937         local file names, before invoking ShellExecute.  (Bug#20220)
11939 2015-04-23  Martin Rudalics  <rudalics@gmx.at>
11941         Fix following doc-links in `widget-documentation-link-action'
11942         * lisp/wid-edit.el (widget-documentation-link-action): Make
11943         following doc-links less simplistic (Bug#20398).
11945 2015-04-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
11947         Improve EUDC manual
11948         * eudc.texi (Troubleshooting): New LDAP troubleshooting subsection.
11950 2015-04-22  Paul Eggert  <eggert@cs.ucla.edu>
11952         Omit needless "\ " after multibyte then newline
11953         * src/print.c: Include <c-ctype.h>, for c_isxdigit.
11954         (print_object): When print-escape-multibyte is non-nil and a
11955         multibyte character is followed by a newline or formfeed, followed
11956         by a hex digit, don't output a needless "\ " before the hex digit.
11957         * test/automated/print-tests.el (print-hex-backslash): New test.
11959 2015-04-22  Oleh Krehel  <ohwoeowho@gmail.com>
11961         Add a new `inhibit-message' variable
11962         * src/xdisp.c (syms_of_xdisp): Define a boolean `inhibit_message'.
11963         (message3): Don't call `message3_nolog' (i.e. use the Echo Area) when
11964         `inhibit_message' is non-zero.
11965         * etc/NEWS: Add an entry.
11966         * doc/lispref/display.texi: Add an entry for `inhibit-message',
11967           mention it in `message'.
11969 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
11971         Fix last fix in `display-buffer-record-window'.
11972         * lisp/window.el (display-buffer-record-window): Fix last fix.
11974 2015-04-22  Eli Zaretskii  <eliz@gnu.org>
11976         Minor edits in CONTRIBUTE
11977         * CONTRIBUTE: Rearrange instructions about log messages.
11978         Use "Git" capitalized all over.
11979         Use 2 spaces between sentences.
11981 2015-04-22  Artur Malabarba  <bruce.connor.am@gmail.com>
11983         * lisp/files.el (basic-save-buffer): Fix argument
11985         * lisp/cus-edit.el (custom-file): Consider init-file-had-error
11986         In case `(and (null custom-file) init-file-had-error)' do the same
11987         thing we'd do if `(null user-init-file)', which is to either error out
11988         or return nil.  This is in line with `custom-save-all' which would
11989         throw an error in that situation. (bug#20355)
11991         * lisp/emacs-lisp/package.el: Hide lower-priority packages in menu
11992         (package-menu-hide-low-priority): New variable, see its doc.
11993         (package-archive-priorities): Update doc.
11994         (package-desc-priority): New function.
11995         (package-desc-priority-version): Use it.
11996         (package--remove-hidden): New function.
11997         (package-menu--refresh): Use it.
11999         * lisp/emacs-lisp/package.el: Implement displaying obsolete packages
12000         (package-menu--hide-obsolete): New variable.
12001         (package--remove-hidden): Use it.
12002         (package-menu-hide-obsolete): New interactive function to toggle
12003         the variable.
12004         (package--quick-help-keys): Document it.
12005         (package-menu-async): Add :version tag.
12006         (package-menu-mode-map): Bind package-menu-hide-obsolete.
12007         (package-desc-status): Indicate non-installed obsolete packages as
12008         avail-obso.
12009         (package-menu-mark-install): Allow installation of avail-obso.
12010         (package-menu--status-predicate): Sort avail-obso with available.
12012 2015-04-22  Alan Mackenzie  <acm@muc.de>
12014         On C-y, stop some text property entries being written into buffer-undo-list
12015         lisp/subr.el (remove-yank-excluded-properties): enclose the code in
12016         `with-silent-modifications'.
12018 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
12020         In display-buffer-record-window record selected window if necessary.
12021         * lisp/window.el (display-buffer-record-window): Store selected window
12022         if it differs from 3rd element of 'quit-restore' parameter (Bug#20353).
12024 2015-04-22  Tassilo Horn  <tsdh@gnu.org>
12026         Fix reftex-citation bug
12027         * reftex-cite.el (reftex-extract-bib-entries): Fix
12028         `wrong-type-argument stringp nil' error that occurs when AUCTeX
12029         integration is enabled and there are no citations in the document
12030         so far.
12032 2015-04-21  Dmitry Gutov  <dgutov@yandex.ru>
12034         Add or reset based on the presence of MERGE_HEAD
12035         * lisp/vc/vc-git.el (vc-git-find-file-hook): Add
12036         `vc-git-resolve-when-done' to `after-save-hook' in either case.
12037         (vc-git-conflicted-files): Add a TODO.
12038         (vc-git-resolve-when-done): Depending on the presence of
12039         MERGE_HEAD, either update the resolved file in the index, or
12040         remove it from there.  (Bug#20292)
12042 2015-04-21  Glenn Morris  <rgm@gnu.org>
12044         * lisp/custom.el (custom-declare-group): No need to purecopy
12045         custom-current-group-alist members following recent change to set
12046         it to nil before dumping.
12048         * build-aux/gitlog-to-emacslog: Get footer from ChangeLog.2.
12049         (Bug#20399)
12051 2015-04-21  Daniel Colascione  <dancol@dancol.org>
12053         Unbreak no-op buffer save message
12054         * lisp/files.el (save-buffer): Pass interactive flag to `basic-save-buffer`
12055         (basic-save-buffer): Accept called-interactively as an argument instead of
12056         directly invoking called-interactively-p, which will always yield nil
12057         in that context.
12059 2015-04-21  Alan Mackenzie  <acm@muc.de>
12061         CC Mode: Do nothing in before/after-change-functions for text property changes
12062         Fixes bug#20266.
12063         lisp/progmodes/cc-mode.el (c-basic-common-init): Make
12064         yank-handled-properties buffer local, and remove 'category from it.
12065         (c-called-from-text-property-change-p): New function.
12066         (c-before-change): Don't do anything if a call of the new function
12067         returns non-nil.
12068         (c-after-change): Don't do much if a call of the new function returns
12069         non-nil.
12070         (c-extend-after-change-region): Put changes to text property 'fontified
12071         inside c-save-buffer-state.
12073 2015-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
12075         Fix byte-compiler warnings about looking-back.
12076         * lisp/vc/log-view.el (log-view-end-of-defun-1):
12077         * lisp/textmodes/tex-mode.el (latex-forward-sexp-1):
12078         * lisp/textmodes/reftex-ref.el (reftex-goto-label):
12079         * lisp/textmodes/bibtex.el (bibtex-insert-kill):
12080         * lisp/progmodes/sh-script.el (sh--maybe-here-document):
12081         * lisp/progmodes/ruby-mode.el (ruby-end-of-defun):
12082         * lisp/progmodes/ada-mode.el (ada-in-numeric-literal-p):
12083         * lisp/org/org.el (org-insert-heading, org-sort-entries):
12084         * lisp/org/org-mouse.el (org-mouse-end-headline)
12085         (org-mouse-context-menu):
12086         * lisp/org/org-clock.el (org-clock-cancel):
12087         * lisp/man.el (Man-default-man-entry):
12088         * lisp/mail/rmail.el (rmail-get-new-mail, rmail-insert-inbox-text)
12089         (rmail-ensure-blank-line):
12090         * lisp/mail/footnote.el (Footnote-delete-footnote):
12091         * lisp/mail/emacsbug.el (report-emacs-bug):
12092         * lisp/info.el (Info-follow-reference, Info-fontify-node):
12093         * lisp/info-look.el (info-lookup-guess-custom-symbol):
12094         * lisp/help-fns.el (help-fns--key-bindings):
12095         * lisp/files.el (hack-local-variables):
12096         * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-cmd-complete)
12097         (viper-get-ex-pat, ex-expand-filsyms, viper-get-ex-file)
12098         (viper-complete-filename-or-exit):
12099         * lisp/emulation/viper-cmd.el (viper-backward-indent):
12100         * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent):
12101         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
12102         * lisp/cus-edit.el (custom-face-edit-value-create):
12103         * lisp/calendar/todo-mode.el (todo-set-item-priority)
12104         (todo-filter-items-1, todo-convert-legacy-files)
12105         (todo-prefix-overlays): Add explicit second arg to looking-back.
12107 2015-04-20  Glenn Morris  <rgm@gnu.org>
12109         Avoid non-nil current-load-list at startup
12110         * src/process.c (init_process_emacs): Move Fprovide statement...
12111         (syms_of_process): ... to here.
12113         * lisp/loadup.el (custom-current-group-alist): Reset before dumping.
12115         * lisp/startup.el (command-line) <site-run-file>: Avoid rogue value in emacs -Q.
12117 2015-04-20  Ludovic Courtès  <ludo@gnu.org>
12119         * lisp/loadup.el (exec-path): Avoid storing build-time PATH in binary.
12120         (Bug#20330)
12122 2015-04-20  Glenn Morris  <rgm@gnu.org>
12124         * lisp/cus-start.el (exec-path): Set standard value, to avoid rogue.
12126         Tweak exec-path in uninstalled case
12127         * src/callproc.c (init_callproc): If running uninstalled, do not
12128         include eventual installation libexec directory in exec-path.
12130 2015-04-20  Artur Malabarba  <bruce.connor.am@gmail.com>
12132         * lisp/emacs-lisp/package.el: Filter by multiple keywords and cache keywords
12133         (package-menu-filter): Accept a list of keywords.
12134         (package--all-keywords): New variable to cache known keywords.
12135         (package-all-keywords): Populate it if necessary.
12136         (package-refresh-contents): Reset it.
12138         * lisp/emacs-lisp/package.el: Make archive and status pseudo-keywords
12139         (package--has-keyword-p): Understand "arc:xxxx" and "status:xxxx"
12140         as special keywords which match agains package archive and status
12141         respectively.
12142         * etc/NEWS: Document it.
12144 2015-04-20  Eli Zaretskii  <eliz@gnu.org>
12146         Describe and index "empty overlays".
12147         * doc/lispref/display.texi (Overlays): Improve indexing.
12148         (Managing Overlays): Describe "empty" overlays.
12149         (Overlay Properties, Finding Overlays): Add cross-reference to
12150         where empty overlays are described.
12152 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
12154         Spelling fixes
12156         Quote 'like this' in top-level files
12157         * CONTRIBUTE, INSTALL, Makefile.in, README, configure.ac, make-dist:
12158         Prefer to single-quote 'like this' (instead of the older style
12159         `like this').
12160         * configure.ac: Fix some space-before-tab problems that 'git commit'
12161         complained about.
12163         Use bool for boolean in textprop.c, undo.c
12164         * src/textprop.c (soft, hard): Now constants instead of macros.
12165         (validate_plist): Rewrite to avoid need for boolean local.
12166         (interval_has_all_properties, interval_has_some_properties)
12167         (interval_has_some_properties_list, add_properties)
12168         (remove_properties, get_char_property_and_overlay)
12169         (Fnext_single_char_property_change)
12170         (Fprevious_single_char_property_change, add_text_properties_1)
12171         (Fremove_text_properties, Fremove_list_of_text_properties)
12172         (copy_text_properties):
12173         * src/tparam.c (tparam1):
12174         * src/undo.c (record_change, record_property_change)
12175         (syms_of_undo):
12176         Use 'true' and 'false' for booleans.
12178 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
12180         Call `smerge-start-session' even when dealing with a stash conflict
12181         * lisp/vc/vc-git.el (vc-git-find-file-hook):
12182         Call `smerge-start-session' even when dealing with a stash
12183         conflict (bug#20292).
12185 2015-04-19  Vibhav Pant  <vibhavp@gmail.com>
12187         Add option to eshell/clear to clear scrollback.
12188         * lisp/eshell/esh-mode.el (eshell/clear-scrollback): New function.
12189         (eshell/clear): Add an optional SCROLLBACK argument. If non-nil,
12190         scrollback contents are cleared.
12191         * etc/NEWS: Describe change.
12192         * doc/misc/eshell.texi: Add entry for `clear'.
12194 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
12196         * src/widget.c (set_frame_size): Prefer 'int' to 'unsigned'
12197         where either will do.
12199 2015-04-19  Steve Purcell  <steve@sanityinc.com>
12201         Assume package archive-contents are UTF8-encoded
12202         * lisp/emacs-lisp/package.el (package--read-archive-file):
12203         Set `coding-system-for-read' explicitly to 'utf-8 when reading the
12204         downloaded and cached archive-contents files, so that non-ASCII
12205         characters in package descriptions are displayed correctly in the
12206         `list-packages' menu. (Bug#20231)
12208 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
12210         Abort when looking at stashed changes
12211         * lisp/vc/vc-git.el (vc-git-find-file-hook): Abort when looking at
12212         stashed changes (bug#20292).
12214 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
12216         Refactor low-level printing for simplicity
12217         * src/print.c (PRINTDECLARE): Remove.  Move its contents into
12218         PRINTPREPARE; doable now that we assume C99.  All callers changed.
12219         (PRINTCHAR): Remove, as it adds more mystery than clarity.
12220         All callers changed.
12221         (strout): Assume that caller computes length.  All callers changed.
12222         (print_c_string): New function.
12223         (write_string, write_string_1): Compute length instead of asking
12224         the caller to compute it.  All callers changed.
12225         (write_string): Simplify by using write_string_1.
12226         (write_string_1): Simplify by using print_c_string.
12227         (Fterpri): Compute default val more clearly.
12228         (Fprin1_to_string, print_object):
12229         Assume C99 to avoid unnecessary nesting.
12230         (print_object): Prefer print_c_string to multiple printchar, or
12231         to calling strout with -1 length.  Coalesce into sprintf when
12232         this is easy.
12234 2015-04-18  Paul Eggert  <eggert@cs.ucla.edu>
12236         Prefer "Bug#1234" in commit messages (Bug#20325)
12237         * .dir-locals.el (log-edit-mode): Don't rewrite Bug#,
12238         as this isn't useful for Git.
12239         * CONTRIBUTE: Suggest "Bug#1234" instead of "Fixes: debbugs:1234".
12241 2015-04-18  Glenn Morris  <rgm@gnu.org>
12243         * lisp/files.el (auto-mode-alist): Use conf mode for gitconfig, hgrc.
12244         (Bug#19506)
12246 2015-04-18  Tom Willemse  <tom@ryuslash.org>  (tiny change)
12248         * lisp/elec-pair.el (electric-pair-post-self-insert-function): Do not use `chomp' as a function.
12249         (Bug#19505)
12251 2015-04-18  Glenn Morris  <rgm@gnu.org>
12253         * lisp/net/browse-url.el (browse-url, browse-url-at-point): Doc fixes.
12255         * doc/emacs/misc.texi (Sorting): Small edit.
12256         (Bug#19896)
12258         * admin/admin.el (make-manuals): Add emacs-xtra in pdf and ps.
12260 2015-04-18  Simen Heggestøyl  <simenheg@gmail.com>
12262         css-mode.el: Support multi-line comment filling
12263         (Bug#20256)
12264         * lisp/textmodes/css-mode.el (css-fill-paragraph): Support multi-line
12265         comment filling.
12266         (css-adaptive-fill): New function.
12267         (css-mode): Set `adaptive-fill-function'.
12268         (scss-mode): Set `comment-continue'.
12270 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
12272         * lisp/emacs-lisp/seq.el (seq-concatenate, seq-into): Better error messages.
12274 2015-04-18  Ivan Radanov Ivanov  <ivanradanov@yahoo.co.uk>  (tiny change)
12276         Minor improvements in Bulgarian input methods
12277         * lisp/leim/quail/cyrillic.el (bulgarian-phonetic, bulgarian-bds):
12278         Replace U+042C with U+045D, as the former character is not used in
12279         the modern Bulgarian language.
12280         (Bug#20350)
12282 2015-04-17  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
12284         Improve EUDC manual
12285         * eudc.texi (LDAP Configuration): Mention simple and SASL
12286         authentication schemes.  Add index items.  Shorten example server
12287         name.
12289 2015-04-17  Dmitry Gutov  <dgutov@yandex.ru>
12291         Don't show both feature and function with the same name
12292         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
12293         Don't show both feature and function with the same name.
12295         (elisp--xref-identifier-location): Skip variable, if it's also a functiong
12296         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
12297         Avoid returning both the variable and the function for the same
12298         minor mode.
12300 2015-04-17  Wolfgang Jenkner  <wjenkner@inode.at>
12302         Fix fontification of keywords clobbered by the prompt.
12303         * lisp/comint.el (comint-output-filter): Remove the uses of
12304         with-silent-modifications I introduced as part of the last change.
12305         This fixes, e.g., erratically missing highlighting when running
12306         ./configure --help; ./configure in a shell-mode buffer with
12307         compilation-shell-minor-mode turned on.
12309 2015-04-17  Glenn Morris  <rgm@gnu.org>
12311         * admin/authors.el (authors-valid-file-names, authors-renamed-files-alist): Additions.
12313 2015-04-17  Stefan Monnier  <monnier@iro.umontreal.ca>
12315         * lisp/indent.el (indent-region): Don't deactivate the mark
12316         (Bug#20357)
12318 2015-04-17  Sam Steingold  <sds@gnu.org>
12320         lisp/net/rcirc.el (defun-rcirc-command): mark `target' as ignorable
12322 2015-04-16  Leo Liu  <sdl.web@gmail.com>
12324         * lisp/progmodes/xref.el (xref-push-marker-stack): Add optional arg.
12326 2015-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
12328         * lisp/erc/erc-pcomplete.el (erc-pcomplete): Don't use `pcomplete' any more.
12330 2015-04-16  Glenn Morris  <rgm@gnu.org>
12332         * admin/authors.el (authors-lax-changelogs): Update for erc changes.
12334 2015-04-16  Eli Zaretskii  <eliz@gnu.org>
12336         Don't link with -ljpeg on MS-Windows, to avoid dependency on DLL
12337         * configure.ac (LIBJPEG): Leave it empty for MinGW.
12339 2015-04-16  Glenn Morris  <rgm@gnu.org>
12341         * lisp/replace.el (query-replace-from-to-separator): Delay initialization
12342         to avoid rogue setting after startup.
12344 2015-04-16  Paul Eggert  <eggert@cs.ucla.edu>
12346         Pre-4.6 GCC succeeds with unknown option
12347         * configure.ac (emacs_cv_prog_cc_nopie): Port to pre-4.6 GCC.
12348         (Bug#20338)
12350 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
12352         '[:graph:]' now excludes whitespace, not just ' '
12353         * doc/lispref/searching.texi (Char Classes):
12354         * lisp/emacs-lisp/rx.el (rx): Document [:graph:] to be [:print:]
12355         sans whitespace (not sans space).
12356         * src/character.c (graphicp): Exclude all Unicode whitespace chars,
12357         not just space.
12358         * src/regex.c (ISGRAPH): Exclude U+00A0 (NO-BREAK SPACE).
12360 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
12362         (looking-back): Make the second arg non-optional.
12363         * lisp/subr.el (substitute-key-definition-key, special-form-p)
12364         (macrop): Drop deprecated second arg to indirect-function.
12365         (looking-back): Make the second arg non-optional.
12367         * lisp/org/org-clock.el (org-x11idle-exists-p): Be honest about which
12368         command is actually sent to the shell.
12370 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
12372         Port jpeg configuration to Solaris 10 with Sun C
12373         * configure.ac: Check for jpeglib 6b by trying to link it, instead
12374         of relying on cpp magic that has problems in practice.  Check for
12375         both jpeglib.h and jerror.h features.  Remove special case for
12376         mingw32, which should no longer be needed (and if it were needed,
12377         should now be addressable by hotwiring emacs_cv_jpeglib).
12378         (Bug#20332)
12380 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
12382         Move some Elisp-specific code from lisp-mode.el to elisp-mode.el
12383         * lisp/emacs-lisp/lisp-mode.el (lisp--el-font-lock-flush-elisp-buffers):
12384         Move to elisp-mode.el.
12385         (lisp-mode-variables): (Re)move elisp-specific settings.
12386         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add settings removed
12387         from lisp-mode-variables.
12388         (elisp--font-lock-flush-elisp-buffers): New function, moved from
12389         lisp-mode.el.
12391         * lisp/emacs-lisp/lisp-mode.el (lisp--el-non-funcall-position-p):
12392         Avoid pathological slowdown at top-level in large file.
12394 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
12396         Standardize names of ChangeLog history files
12397         Suggested by Glenn Morris in:
12398         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
12399         * Makefile.in (install-man): Don't treat ChangeLog.1 as a man page.
12400         * doc/man/ChangeLog.1: Rename back from doc/man/ChangeLog.01.
12401         * lisp/erc/ChangeLog.1: New file, containing the old contents of ...
12402         * lisp/erc/ChangeLog.01, lisp/erc/ChangeLog.02, lisp/erc/ChangeLog.03:
12403         * lisp/erc/ChangeLog.04, lisp/erc/ChangeLog.05, lisp/erc/ChangeLog.06:
12404         * lisp/erc/ChangeLog.07, lisp/erc/ChangeLog.08, lisp/erc/ChangeLog.09:
12405         Remove.
12407         Split top-level entries into pre- and post-April 7
12408         This more clearly distingiushes pre-April-7 ChangeLog entries (which
12409         are for top-level files only) from post-April-7 entries (which are
12410         about files at all levels.  Problem reported by Glenn Morris in:
12411         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
12412         * ChangeLog.1: Move post-April-7 entries from here ...
12413         * ChangeLog.2: ... to this new file.
12414         * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump to 2.
12416 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
12418         Fix recent cus-start changes that added customize-rogues
12419         * lisp/cus-start.el (custom-delayed-init-variables): Initialize the
12420         vars early.
12421         * lisp/loadup.el ("cus-start"): Move to the end to reduce customize-rogue.
12423 2015-04-15  Nicolas Petton  <nicolas@petton.fr>
12425         Define cl-concatenate as an alias to seq-concatenate
12426         * lisp/emacs-lisp/cl-extra.el (cl-concatenate): Removes duplicated
12427           code by making cl-concatenate an alias to seq-concatenate.
12429 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
12431         * src/lread.c (intern_1): Make sure we'd find the symbol we add
12432         (Bug#20334)
12433         * src/xfaces.c (resolve_face_name): Don't use `intern' with Lisp_Strings.
12435 2015-04-15  Glenn Morris  <rgm@gnu.org>
12437         * doc/lispref/sequences.texi (Sequence Functions): Fix typo in previous.
12439 2015-04-15  Lars Magne Ingebrigtsen  <larsi@gnus.org>
12441         Clean up gnus-uu saving code slightly
12442         * gnus-uu.el (gnus-uu-save-article): Make the
12443         save-restriction/widen calls make more sense.
12445 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
12447         Make [:graph:] act like [:print:] sans space
12448         In POSIX [[:print:]] is equivalent to [ [:graph:]], so change
12449         [:graph:] so that it matches everything that [:print:] does,
12450         except for space.
12451         * doc/lispref/searching.texi (Char Classes):
12452         * etc/NEWS:
12453         * lisp/emacs-lisp/rx.el (rx):
12454         Document [:graph:] to be [:print:] sans ' '.
12455         * src/character.c, src/character.h (graphicp): New function.
12456         * src/regex.c (ISGRAPH) [emacs]: Use it.
12457         (BIT_GRAPH): New macro.
12458         (BIT_PRINT): Increase to 0x200, to make room for BIT_GRAPH.
12459         (re_wctype_to_bit) [! WIDE_CHAR_SUPPORT]:
12460         Return BIT_GRAPH for RECC_GRAPH.
12461         (re_match_2_internal) [emacs]: Use ISGRAPH if BIT_GRAPH,
12462         and ISPRINT if BIT_PRINT.
12464 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
12466         automated/eieio-test-methodinvoke.el (make-instance) <(subclass C)>:
12467         Don't use call-next-method in a cl-defmethod.
12469         * lisp/emacs-lisp/eieio-core.el (eieio--class): Derive from cl--class
12470         (eieio--class-p): Remove, provided by cl-defstruct.
12472 2015-04-14  Nicolas Petton  <nicolas@petton.fr>
12474         Add seq-intersection and seq-difference to the seq library
12475         * lisp/emacs-lisp/seq.el (seq-intersection, seq-difference): New
12476         functions.
12477         * test/automated/seq-tests.el: Add tests for seq-intersection and
12478         seq-difference.
12479         * doc/lispref/sequences.texi: Add documentation for seq-intersection
12480         and seq-difference.
12482 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
12484         * eieio-core.el (class-abstract-p): Don't inline, to avoid leaking internals
12486 2015-04-14  Sam Steingold  <sds@gnu.org>
12488         package--ensure-init-file: widen requires save-restriction
12490 2015-04-14  Eli Zaretskii  <eliz@gnu.org>
12492         Improve the commit-msg Git hook for unibyte environments
12493         * build-aux/git-hooks/commit-msg: Set LC_ALL=C, before running Awk
12494         in unibyte environments.  (Suggested by Paul Eggert
12495         <eggert@cs.ucla.edu>.)  Use a more accurate approximation to
12496         [:print:], based on UTF-8 sequences of the unprintable characters.
12498         Describe problems with cursor caused by Windows Magnifier
12499         * etc/PROBLEMS: Describe the problem with cursor shape on
12500         MS-Windows due to Windows Magnifier.
12501         (Bug#20271)
12503         Make [:print:] support non-ASCII characters correctly
12504         * src/regex.c (ISPRINT): Call 'printablep' for multibyte characters.
12505         (BIT_PRINT): New bit mask.
12506         (re_wctype_to_bit): Return BIT_PRINT for RECC_PRINT.
12507         * src/character.c (printablep): New function.
12508         * src/character.h (printablep): Add prototype.
12509         * lisp/emacs-lisp/rx.el (rx): Doc fix: document the new behavior
12510         of 'print', 'alnum', and 'alphabetic'.
12511         * doc/lispref/searching.texi (Char Classes): Document the new
12512         behavior of [:print:].
12513         * etc/NEWS: Mention the new behavior of [:print:].
12515         Assign correct general-category and names to surrogates
12516         * admin/unidata/unidata-gen.el (unidata-setup-list): Don't ignore
12517         surrogates.  This avoids assigning them the default
12518         general-category of 'Cn', i.e. unassigned codepoints.
12519         (unidata-get-name): Give surrogates synthetic names.
12521 2015-04-14  Paul Eggert  <eggert@cs.ucla.edu>
12523         Assume C89 offsetof in xterm.c, xlwmenu.c
12524         * lwlib/xlwmenu.c (offset):
12525         * src/xterm.c (cvt_string_to_pixel_args):
12526         Use offsetof, not XtOffset.
12528 2015-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
12530         Assume C89 offsetof in widget.c
12531         * src/widget.c (XtOffset): Remove; no longer needed.
12532         (offset): Implement via offsetof instead of via pre-C89 XtOffset hack.
12534         Fix think-o in previous patch
12535         * src/window.c (count_windows, get_leaf_windows):
12536         Don't optimize count_windows incorrectly.
12538 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
12540         Avoid some int overflows in window.c
12541         * src/print.c (print_object):
12542         * src/window.c (sequence_number):
12543         * src/window.h (struct window.sequence_number):
12544         Don't assume window sequence number fits in int.
12545         * src/window.c (window_select_count):
12546         * src/window.h (struct window.use_time, window_select_count):
12547         Don't assume window use time fits in int.
12548         * src/window.c (Fsplit_window_internal):
12549         Don't assume user-supplied integer, or sum, fits in int.
12550         (Fset_window_configuration, count_windows, get_leaf_windows)
12551         (save_window_save, Fcurrent_window_configuration):
12552         Use ptrdiff_t for object counts.
12553         (Fset_window_configuration): Omit unused local 'n'.
12554         (count_windows): Simplify by writing in terms of get_leaf_windows.
12555         (get_leaf_windows): Don't store through FLAT if it's null.
12556         (extract_dimension): New static function.
12557         (set_window_margins, set_window_fringes, set_window_scroll_bars):
12558         Use it to avoid undefined behavior when converting user-supplied
12559         integer to 'int'.
12561 2015-04-13  Glenn Morris  <rgm@gnu.org>
12563         Minor doc copyedits
12564         * doc/emacs/custom.texi (Init Examples): Tweak example, replace typo.
12565         * doc/lispintro/emacs-lisp-intro.texi (condition-case): Typo fix.
12567 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
12569         [Gnus] Catch the invalid-operation that idna.el will issue
12570         * lisp/gnus/gnus-art.el (gnus-use-idna):
12571         * lisp/gnus/gnus-sum.el (gnus-summary-idna-message):
12572         * lisp/gnus/message.el (message-use-idna):
12573         Catch the invalid-operation that idna.el will issue.
12575 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
12577         * doc/lispref/processes.texi (Shell Arguments): Prefer diff -u.
12579 2015-04-13  Sam Steingold  <sds@gnu.org>
12581         package--ensure-init-file: widen before looking for "(package-initialize)"
12583 2015-04-13  Dmitry Gutov  <dgutov@yandex.ru>
12585         Change diff-switches default to `-u'
12586         (Bug#20290)
12587         * doc/emacs/files.texi (Comparing Files): Document the new default
12588         value of `diff-switches'.
12589         * doc/emacs/trouble.texi (Sending Patches): Document the preference
12590         for unified diff format.  Escape the plus in the suggested `-F' regexp
12591         value.
12592         * lisp/vc/diff.el (diff-switches): Change the default to `-u'.
12594 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
12596         (gnus-group--setup-tool-bar-update): Fix last change
12597         * lisp/gnus/gnus-group.el (gnus-group--setup-tool-bar-update):
12598         cursor-sensor-functions should be a list of functions.
12600 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
12602         Use gmm-called-interactively-p in Gnus
12603         * lisp/gnus/gnus-topic.el (gnus-topic-mode): Use gmm-called-interactively-p.
12605 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
12607         * lisp/loadup.el ("cus-start"): Load it after loaddefs.el
12608         (Bug#20321)
12609         * lisp/cus-start.el (read-buffer-function): Don't advertize
12610         iswitchb-read-buffer any more.
12611         (iswitchb): Don't tweak this obsolete group any more.
12613 2015-04-13  Artur Malabarba  <bruce.connor.am@gmail.com>
12615         * lisp/emacs-lisp/package.el: Fix package--ensure-init-file
12617         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Implement docstrings
12618         Adding a string after a constructor's argument list will use
12619         that string as the constructor function docstring.  If this string
12620         is absent but the struct itself was given a docstring, use that as
12621         the constructor's docstring.
12622         Fixes (bug#17284).
12624 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
12626         Deprecate `intangible' and `point-entered' properties
12627         * lisp/emacs-lisp/cursor-sensor.el: New file.
12628         * lisp/simple.el (pre-redisplay-functions): New hook.
12629         (redisplay--pre-redisplay-functions): New function.
12630         (pre-redisplay-function): Use it.
12631         (minibuffer-avoid-prompt): Mark obsolete.
12632         (redisplay--update-region-highlight): Adapt it to work as a function on
12633         pre-redisplay-functions.
12634         * lisp/cus-start.el (minibuffer-prompt-properties--setter): New fun.
12635         (minibuffer-prompt-properties): Use it.  Use cursor-intangible rather
12636         than point-entered to make the prompt intangible.
12637         * lisp/forms.el: Move `provide' calls to the end.
12638         (forms-mode): Don't use `run-hooks' on a local var.
12639         (forms--make-format, forms--make-format-elt-using-text-properties):
12640         Use cursor-intangible rather than `intangible'.
12641         (forms-mode): Enable cursor-intangible-mode.
12642         * lisp/isearch.el (isearch-mode): Use defvar-local.
12643         (cursor-sensor-inhibit): Declare.
12644         (isearch-mode): Set cursor-sensor-inhibit.
12645         (isearch-done): Set it back.
12646         (isearch-open-overlay-temporary, isearch-open-necessary-overlays)
12647         (isearch-close-unnecessary-overlays): Don't bother with `intangible'
12648         any more.
12649         * lisp/ses.el (ses-localvars): Remove `mode-line-process'.
12650         (ses-sym-rowcol, ses-cell-value, ses-col-width, ses-col-printer):
12651         Add Edebug spec.
12652         (ses-goto-print, ses-print-cell, ses-adjust-print-width)
12653         (ses-goto-data, ses-setup, ses-copy-region): Don't let-bind
12654         inhibit-point-motion-hooks any more.
12655         (ses--cell-at-pos, ses--curcell): New functions, extracted from
12656         ses-set-curcell.
12657         (ses-set-curcell): Use them.
12658         (ses-print-cell, ses-setup): Use cursor-intangible instead of
12659         `intangible'.  Make sure cursor-intangible isn't sticky at BOB.
12660         (ses-print-cell-new-width, ses-reprint-all, ses-recalculate-all):
12661         Use ses--cell-at-pos.
12662         (ses--mode-line-process, ses--cursor-sensor-highlight): New functions,
12663         extracted from ses-command-hook.  Make them work with multiple windows
12664         displaying the same buffer.
12665         (ses-mode): Use them via mode-line-process and pre-redisplay-functions.
12666         Enable cursor-intangible-mode.
12667         (ses-command-hook): Remove cell highlight and mode-line update code.
12668         (ses-forward-or-insert, ses-copy-region-helper, ses-sort-column):
12669         Update for new name of text-property holding the cell name.
12670         (ses-rename-cell): Don't mess with mode-line-process.
12671         * lisp/erc/erc-stamp.el (erc-add-timestamp): Use the new
12672         cursor-sensor-functions property instead of point-entered.
12673         (erc-insert-timestamp-right, erc-format-timestamp):
12674         Use cursor-intangible rather than `intangible'.
12675         (erc-munge-invisibility-spec): Use add-to-invisibility-spec and
12676         remove-from-invisibility-spec.  Enable cursor-intangible-mode and
12677         cursor-sensor-mode if needed.
12678         (erc-echo-timestamp): Adapt to calling convention of
12679         cursor-sensor-functions.
12680         (erc-insert-timestamp-right): Remove unused vars `current-window' and
12681         `indent'.
12682         * lisp/gnus/gnus-group.el (gnus-tmp-*): Declare.
12683         (gnus-update-group-mark-positions): Remove unused `topic' var.
12684         (gnus-group-insert-group-line): Remove unused var `header'.
12685         (gnus-group--setup-tool-bar-update): New function.
12686         (gnus-group-insert-group-line): Use it.
12687         (gnus-group-update-eval-form): Declare local
12688         dynamically-bound variables.
12689         (gnus-group-unsubscribe-group): Use \` and \' to match string bounds.
12690         * lisp/gnus/gnus-topic.el (gnus-topic-jump-to-topic)
12691         (gnus-group-prepare-topics, gnus-topic-update-topic)
12692         (gnus-topic-change-level, gnus-topic-catchup-articles)
12693         (gnus-topic-remove-group, gnus-topic-delete, gnus-topic-indent):
12694         Use inhibit-read-only.
12695         (gnus-topic-prepare-topic): Use gnus-group--setup-tool-bar-update.
12696         (gnus-topic-mode): Use define-minor-mode and derived-mode-p.
12697         * lisp/textmodes/reftex-index.el (reftex-display-index):
12698         Use cursor-intangible-mode if available.
12699         (reftex-index-post-command-hook): Check cursor-intangible.
12700         * lisp/textmodes/reftex-toc.el (reftex-toc):
12701         Use cursor-intangible-mode if available.
12702         (reftex-toc-recenter, reftex-toc-post-command-hook):
12703         Check cursor-intangible.
12704         * lisp/textmodes/sgml-mode.el: Use lexical-binding.
12705         (sgml-tag): Use cursor-sensor-functions instead of point-entered.
12706         (sgml-tags-invisible): Use with-silent-modifications and
12707         inhibit-read-only.  Enable cursor-sensor-mode.
12708         (sgml-cursor-sensor): Rename from sgml-point-entered and adjust to
12709         calling convention of cursor-sensor-functions.
12710         * lisp/textmodes/table.el (table-cell-map-hook, table-load-hook)
12711         (table-point-entered-cell-hook, table-point-left-cell-hook):
12712         Don't autoload.
12713         (table-cell-entered-state): Remove var.
12714         (table--put-cell-point-entered/left-property)
12715         (table--remove-cell-properties):
12716         Use cursor-sensor-functions rather than point-entered/left.
12717         (table--point-entered/left-cell-function): Merge
12718         table--point-entered-cell-function and table--point-left-cell-function
12719         and adjust to calling convention of cursor-sensor-functions.
12721         Update ldef-boots.el
12723         * lisp/emacs-lisp/pcase.el (pcase-dolist): Autoload as well.
12725         * doc/misc/eieio.texi: Don't advertize now obsolete constructs
12727         Collapse successive char deletions in the undo log
12728         * src/cmds.c (remove_excessive_undo_boundaries): New function,
12729         extracted from Fself_insert_command.
12730         (Fdelete_char, Fself_insert_command): Use it.
12731         * src/fileio.c (Fmake_symbolic_link): Rename arg to `target'.
12732         * src/keyboard.c (syms_of_keyboard): `top-level' shouldn't be special.
12734         xterm and OSC 52: Add NEWS entry, and tweak the code
12735         * lisp/term/xterm.el (gui-set-selection) <nil>: Move method definition to
12736         top-level.
12737         (terminal-init-xterm-activate-set-selection): Set a terminal property.
12738         (xterm--set-selection): Use it instead of checking the value of
12739         `terminal-initted'.  Don't use string-bytes.
12741 2015-04-13  Philipp Stephani  <p.stephani2@gmail.com>
12743         xterm.el: Implement OSC-52 functionality for setting the X selection
12744         * lisp/term/xterm.el (xterm-max-cut-length): New var.
12745         (xterm--set-selection, terminal-init-xterm-activate-set-selection): New funs.
12746         (terminal-init-xterm, xterm--version-handler): Use them.
12748 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
12750         Remove left over code from when we used an obsolete/loaddefs.el file
12751         * lisp/subr.el (do-after-load-evaluation): Remove left over code from when
12752         we used an obsolete/loaddefs.el file.
12754         * cedet/semantic/fw.el: Use declare.
12755         * cedet/semantic/fw.el (semantic-exit-on-input)
12756         (semanticdb-without-unloaded-file-searches): Use declare.
12757         (semantic-fw-add-edebug-spec): Remove.
12759         (completion-lisp-mode-hook): Use completion-separator-chars
12760         * lisp/completion.el (completion-lisp-mode-hook):
12761         Use completion-separator-chars rather than local key binding.
12763         * src/*.c: Set deactivate_mark buffer-locally
12764         (Bug#20260)
12765         * src/insdel.c (prepare_to_modify_buffer_1):
12766         * src/fileio.c (Finsert_file_contents): Set deactivate_mark
12767         buffer-locally.
12769 2015-04-12  Fabián Ezequiel Gallina  <fgallina@gnu.org>
12771         python.el: Keep symmetry on sexp navigation with parens
12772         (Bug#19954)
12773         * lisp/progmodes/python.el
12774         (python-nav--forward-sexp): Add argument skip-parens-p.
12775         (python-nav-forward-sexp, python-nav-backward-sexp)
12776         (python-nav-forward-sexp-safe)
12777         (python-nav-backward-sexp-safe): Use it.
12778         * test/automated/python-tests.el
12779         (python-nav-forward-sexp-1): Fix test.
12781 2015-04-12  João Távora  <joaotavora@gmail.com>
12783         Don't use `setq-local' in Gnus code
12784         This might break upstream builds with older Emacsen
12785         * lisp/gnus/message.el (message-mode): Use `set' and
12786         `make-local-variable' instead of `setq-local'.
12788 2015-04-12  Paul Eggert  <eggert@cs.ucla.edu>
12790         Update Makefile.in's .PHONY dependencies
12791         * Makefile.in (change-history-commit, master-branch-is-current)
12792         (no-ChangeLog): Now phony.
12794         Remove configure's --with-mmdf option
12795         * configure.ac (MAIL_USE_MMDF): Remove.
12796         * etc/NEWS: Document this.
12797         * lib-src/movemail.c: Assume MAIL_USE_MMDF is not defined.
12798         (Bug#20308)
12800         * doc/man/ChangeLog.01: Rename from doc/man/ChangeLog.1.
12801         That way, 'make install' won't think it's a man page.
12802         Reported by Ashish SHUKLA in:
12803         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00656.html
12805         Improve 'make change-history' prereq tests
12806         * Makefile.in (gen_origin): Fix to match what's in the master branch.
12807         (no-ChangeLog, master-branch-is-current): New rules.
12808         (change-history): Depend on them, to avoid similar future problems.
12809         Escape the local-variables string to pacify Emacs when editing
12810         Makefile.in.
12812 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
12814         * test/automated/package-test.el (with-package-test): Kill Packages buffer
12816         * lisp/emacs-lisp/package.el: Improve transaction y-or-n prompt
12817         (package-menu--prompt-transaction-p): Prompt for "Delete" first,
12818         "Upgrade" last, and use capitalized instead of all-caps.
12820         * lisp/emacs-lisp/package.el: Completely silence async operations
12821         (package--make-autoloads-and-stuff): Silence autoloads.
12822         (package--save-selected-packages): New function, silences
12823         `customize-save-variable'.
12824         (package--user-selected-p, package-install-from-buffer)
12825         (package-delete, package-install): Use it.
12826         (package-install-from-archive)
12827         (package-menu--perform-transaction): Silence.
12828         (package-menu-execute): Feedback when operation starts.
12830         Use delay-mode-hooks when visiting the init-file
12831         * lisp/emacs-lisp/package.el (package--ensure-init-file):
12832         delay-mode-hooks
12833         * lisp/cus-edit.el (custom-save-all): delay-mode-hooks
12835         * lisp/files.el: Only message when saving if save-silently is nil
12836         (save-silently): New variable.
12837         (files--message): New function.
12838         (find-file-noselect, save-buffer, basic-save-buffer)
12839         (basic-save-buffer-2, save-some-buffers, not-modified)
12840         (append-to-file): Use them.
12842 2015-04-12  Johan Bockgård  <bojohan@gnu.org>
12844         Support debug declarations in pcase macros
12845         * lisp/emacs-lisp/pcase.el (pcase-MACRO): New edebug spec.
12846         (pcase-UPAT): Use it.  Remove "`".
12847         (pcase--edebug-match-macro): New function.
12848         (pcase-defmacro): Support debug declarations.
12849         * lisp/emacs-lisp/cl-macs.el (cl-struct) <pcase-defmacro>:
12850         * lisp/emacs-lisp/eieio.el (eieio) <pcase-defmacro>:
12851         * lisp/emacs-lisp/pcase.el (\`): <pcase-defmacro>: Add debug declaration.
12853         pcase.el: Edebug support for `app' and vector patterns
12854         * lisp/emacs-lisp/pcase.el (pcase-FUN): New edebug spec.
12855         (pcase-UPAT): Use it. Support `app' patterns.
12856         (pcase-QPAT): Support vector patterns.
12858         edebug.el: Disambiguate vector specifications
12859         * lisp/emacs-lisp/edebug.el (edebug-match-list): Always treat
12860         `(vector ...)' as a vector specification, not as a sublist.
12862         (gnus-summary-refer-thread): Don't clobber unread articles
12863         This fixes a bug where `A T' causes "random" articles to become marked
12864         as read.
12865         * lisp/gnus/gnus-sum.el (gnus-summary-refer-thread): Make sure
12866         gnus-newsgroup-unreads remains sorted.
12868         mouse-sel.el: Fix mouse-sel-get-selection-function
12869         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
12870         Use gui--last-selected-text-primary instead of no longer existing
12871         gui-last-selected-text.
12873         * lisp/rect.el (delete-whitespace-rectangle-line): Don't cross EOL.
12875         * lisp/net/nsm.el (nsm-query-user): Use cursor-in-echo-area.
12877 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
12879         * lisp/emacs-lisp/package.el (list-packages): Avoid redundant generate
12881         * lisp/emacs-lisp/package.el (list-packages): Call refresh in right buffer
12883         * lisp/emacs-lisp/bytecomp.el: Silence noninteractive compilations
12884         (byte-compile--interactive): New var.
12885         (byte-compile--message): New function.
12886         (byte-compile-log-1, byte-force-recompile)
12887         (byte-recompile-directory, byte-recompile-file)
12888         (byte-compile-file, compile-defun)
12889         (byte-compile-file-form-defmumble, byte-compile)
12890         (byte-compile-file-form-defalias, display-call-tree): Use it.
12892         * lisp/files.el: Don't message when nothing happened
12893         (save-some-buffers, basic-save-buffer): Before messaging to say
12894         "nothing was saved" check if (called-interactively-p 'any).
12896 2015-04-12  João Távora  <joaotavora@gmail.com>
12898         Summary: Improve sexp-based movement in message-mode
12899         Works by giving citations and smileys a different syntax.  This helps
12900         modes like `show-paren-mode', `electric-pair-mode', and C-M-*
12901         sexp-based movement.
12902         * lisp/gnus/message.el (message--syntax-propertize): New function.
12903         (message-mode): Set syntax-related vars.
12904         (message-smileys): New variable.
12905         * test/automated/message-mode-tests.el: New file
12907 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
12909         Use bool for boolean in window.c
12910         * src/window.c: Omit unnecessary static function decls.
12911         (adjust_window_count, select_window, Fselect_window)
12912         (window_body_width, Fwindow_body_height, Fwindow_body_width)
12913         (set_window_hscroll, check_window_containing, Fwindow_at)
12914         (Fwindow_end, Fset_window_start, Fpos_visible_in_window_p)
12915         (unshow_buffer, replace_window, recombine_windows)
12916         (add_window_to_list, candidate_window_p, next_window)
12917         (Fnext_window, Fprevious_window, window_loop, check_all_windows)
12918         (Fget_buffer_window, Fdelete_other_windows_internal)
12919         (replace_buffer_in_windows_safely, set_window_buffer)
12920         (Fset_window_buffer, Fforce_window_update)
12921         (temp_output_buffer_show, make_parent_window)
12922         (window_resize_check, window_resize_apply, Fwindow_resize_apply)
12923         (resize_frame_windows, Fsplit_window_internal)
12924         (Fdelete_window_internal, grow_mini_window, shrink_mini_window)
12925         (Fresize_mini_window_internal, mark_window_cursors_off)
12926         (window_scroll, window_scroll_pixel_based)
12927         (window_scroll_line_based, scroll_command, Fscroll_other_window)
12928         (Fscroll_left, Fscroll_right, displayed_window_lines, Frecenter)
12929         (Fmove_to_window_line, Fset_window_configuration)
12930         (delete_all_child_windows, apply_window_adjustment)
12931         (set_window_fringes, set_window_scroll_bars)
12932         (Fset_window_vscroll, foreach_window, foreach_window_1)
12933         (compare_window_configurations, Fcompare_window_configurations):
12934         Prefer 'bool', 'true', and 'false' for booleans.
12935         * src/window.h (WINDOW_MODE_LINE_LINES)
12936         (WINDOW_HEADER_LINE_LINES): Omit unnecessary "!!" on bool value.
12938 2015-04-11  Artur Malabarba  <bruce.connor.am@gmail.com>
12940         Speed up byte-compilation and autoload generation by avoiding mode-hooks
12941         This prevents emacs-lisp-mode-hook from being run everytime an
12942         autoload file is generated, which can account for a fraction of
12943         package installation time depending on the hooks the user has
12944         configured.
12945         * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Use delay-mode-hooks.
12946         * lisp/emacs-lisp/autoload.el (autoload-find-file)
12947         (autoload-find-generated-file): Use delay-mode-hooks.
12949         * lisp/emacs-lisp/package.el: Improve `package-menu-refresh'
12950         (package-menu-refresh): Respect async and do new package checking.
12951         (list-packages): Use `package-menu-refresh' instead of repeating code.
12953         * lisp/emacs-lisp/package.el: Improve package-menu-quick-help
12954         (package--quick-help-keys): New variable.
12955         (package--prettify-quick-help-key): New function.
12956         (package-menu-quick-help): Use it.
12958         * lisp/emacs-lisp/package.el: Fix initially wrong compat table
12959         (package--build-compatibility-table): require finder
12961         * test/automated/package-test.el: Fix new test
12963         * lisp/emacs-lisp/package.el: Silence async operations
12964         (package--silence): New variable.
12965         (package--message): New function.
12966         (package-import-keyring, package-refresh-contents)
12967         (package-compute-transaction, package-install, package-delete)
12968         (package-menu--perform-transaction, package-menu-execute): Use it.
12970         * test/automated/package-test.el: Test async functionality
12971         (package-test-update-archives-async): New test
12973 2015-04-11  Daiki Ueno  <ueno@gnu.org>
12975         Utilize `make-process' in epg.el
12976         * lisp/epg.el (epg-error-output): Abolish.
12977         (epg-context): New slot `error-buffer'.
12978         (epg--start): Use `make-process' and `make-pipe-process'.
12979         (epg--process-filter): Remove code separating stderr from stdout.
12980         (epg-wait-for-completion): Simplify `error-output' handling.
12981         (epg-reset): Dispose error buffer.
12983 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
12985         * .gitignore: Ignore doc temps and outputs.
12987         Port commit-msg to MSYS Bash+Gawk
12988         See Eli Zaretskii in:
12989         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00610.html
12990         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format)
12991         (cent_sign, print_at_sign, at_sign): Revert previous change.
12992         (print_at_sign): Prepend "BEGIN".
12993         (at_sign): Redirect from /dev/null to be safer with pre-POSIX awk.
12995         Port commit-msg to broken MS-Windows shell
12996         * build-aux/git-hooks/commit-msg (cent_sign):
12997         Just use UTF-8 here rather than ASCII + printf, as the latter fails
12998         on a broken MS-Windows shell.  Reported by Eli Zaretskii in:
12999         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00592.html
13001 2015-04-11  Chris Zheng  <chriszheng99@gmail.com>  (tiny change)
13003         Support GnuTLS v3.4 and later on MS-Windows
13004         * src/gnutls.c (syms_of_gnutls) <libgnutls-version>: New DEFSYM.
13005         * lisp/term/w32-win.el (dynamic-library-alist): Determine which
13006         GnuTLS DLL to load according to value of libgnutls-version.
13007         (Bug#20294)
13009 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
13011         Minor quoting etc. fixes to misc manuals
13012         Fix some minor quoting and spacing issues.  Distinguish more
13013         clearly among grave accent and apostrophe (which are ASCII) and
13014         single quote (which is not).  Prefer the standard terms
13015         "apostrophe" and "grave accent" to alternative names that can be
13016         confusing.  Use apostrophes to single-quote ASCII text.
13017         * doc/misc/remember.texi: Spell the mystic's pseudonym in UTF-8
13018         rather than approximating it in ASCII with grave accent.
13020 2015-04-11  Daiki Ueno  <ueno@gnu.org>
13022         Respect more keyword args in `make-process'
13023         * process.c (Fmake_process): Respect `:sentinel' and `:filter'
13024         keywords as documented.
13026 2015-04-10  Dmitry Gutov  <dgutov@yandex.ru>
13028         Extract ChangeLog entries when committing a directory
13029         * lisp/vc/vc-dispatcher.el (vc-log-edit): Update FIXME comment.
13030         * lisp/vc/log-edit.el (log-edit-changelog-insert-entries):
13031         Add a FIXME comment.
13032         (log-edit-changelog-entries): Extract from
13033         `log-edit-changelog-entries', handle FILE being a directory
13034         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00555.html).
13036 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
13038         Fix problems found by --enable-gcc-warnings
13039         * src/process.c (create_process, Fmake_pipe_process)
13040         (Fmake_network_process): Omit unused locals.
13042         Fix commit-msg to handle scissors lines
13043         * build-aux/git-hooks/commit-msg:
13044         Ignore every line after a scissors line, such as a line generated
13045         by 'git commit -v'.  Problem reported by Johan Bockgård in:
13046         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00580.html
13048         port commit-msg to Gawk 3.0.4 (1999)
13049         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format, cent_sign)
13050         (print_at_sign, at_sign): New vars.  Use them to avoid problems
13051         Eli Zaretskii encountered with Gawk 3.0.4 (1999) on MSYS.  See:
13052         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
13054         Have commit-msg report commit failure
13055         * build-aux/git-hooks/commit-msg: If the commit is aborted,
13056         say so.  Simplify by doing this at the end.  Problem reported
13057         by Eli Zaretskii in:
13058         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
13060 2015-04-10  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
13062         Clean up LDAP Configuration section of EUDC manual
13063         * doc/misc/eudc.texi: Combine indices.
13064         (LDAP Configuration): Use command markup.  Add index entries.
13065         Change formatting.  Wrap long lines.  Add noindent markup.
13067 2015-04-10  Daiki Ueno  <ueno@gnu.org>
13069         Add facility to collect stderr of async subprocess
13070         * src/w32.h (register_aux_fd): New function declaration.
13071         * src/w32.c (register_aux_fd): New function.
13072         * src/process.h (struct Lisp_Process): New member stderrproc.
13073         * src/process.c (PIPECONN_P): New macro.
13074         (PIPECONN1_P): New macro.
13075         (Fdelete_process, Fprocess_status, Fset_process_buffer)
13076         (Fset_process_filter, Fset_process_sentinel, Fstop_process)
13077         (Fcontinue_process): Handle pipe process specially.
13078         (create_process): Respect p->stderrproc.
13079         (Fmake_pipe_process): New function.
13080         (Fmake_process): Add new keyword argument :stderr.
13081         (wait_reading_process_output): Specially handle a pipe process when
13082         it gets an EOF.
13083         (syms_of_process): Register Qpipe and Smake_pipe_process.
13084         * doc/lispref/processes.texi (Asynchronous Processes): Document
13085         `make-pipe-process' and `:stderr' keyword of `make-process'.
13086         * lisp/subr.el (start-process): Suggest to use `make-process' handle
13087         standard error separately.
13088         * test/automated/process-tests.el (process-test-stderr-buffer)
13089         (process-test-stderr-filter): New tests.
13090         * etc/NEWS: Mention new process type `pipe' and its usage with the
13091         `:stderr' keyword of `make-process'.
13093 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
13095         Minor quoting etc. fixes to lispref manual
13096         * doc/lispref/tips.texi (Documentation Tips):
13097         Distinguish more clearly among grave accent, apostrophe,
13098         and single quote.
13099         * doc/lispref/README, doc/lispref/buffers.texi:
13100         * doc/lispref/commands.texi, doc/lispref/control.texi:
13101         * doc/lispref/customize.texi, doc/lispref/display.texi:
13102         * doc/lispref/elisp.texi, doc/lispref/files.texi:
13103         * doc/lispref/frames.texi, doc/lispref/hash.texi:
13104         * doc/lispref/help.texi, doc/lispref/internals.texi:
13105         * doc/lispref/loading.texi, doc/lispref/makefile.w32-in:
13106         * doc/lispref/markers.texi, doc/lispref/modes.texi:
13107         * doc/lispref/nonascii.texi, doc/lispref/objects.texi:
13108         * doc/lispref/os.texi, doc/lispref/positions.texi:
13109         * doc/lispref/strings.texi, doc/lispref/syntax.texi:
13110         * doc/lispref/text.texi, doc/lispref/tips.texi:
13111         * doc/lispref/two-volume-cross-refs.txt, doc/lispref/windows.texi:
13112         Use American-style double quoting in ordinary text,
13113         and quote 'like this' when single-quoting in ASCII text.
13114         Also, fix some minor spacing issues.
13116 2015-04-10  Michael Albinus  <michael.albinus@gmx.de>
13118         Handle symlinked test directory in tramp-tests.el
13119         * test/automated/tramp-tests.el (tramp-test18-file-attributes)
13120         (tramp--test-check-files): Use `file-truename' for directories.
13122 2015-04-10  Eli Zaretskii  <eliz@gnu.org>
13124         Fix 'recenter' when visual-line-mode is turned on
13125         * src/window.c (Frecenter): Use the same code for GUI and TTY
13126         frames alike; use vmotion only for "initial" frames.  This is
13127         because vmotion doesn't support visual-line-mode.  Rewrite the
13128         'iarg >= 0' case to use move_it_* functions instead of using
13129         vmotion, for the same reason.  Fix the clipping of the argument
13130         value to support scroll-margin in all cases and avoid unwarranted
13131         recentering.  Reported by Milan Stanojević <milanst@gmail.com> in
13132         http://lists.gnu.org/archive/html/help-gnu-emacs/2015-04/msg00092.html,
13133         which see.
13135 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
13137         * abbrev.el (define-abbrev-table): Refine last change.
13139         cl-lib.el: Partial revert of "2015-04-05 Rationalize c[ad]+r"
13140         * lisp/emacs-lisp/cl-lib.el: Partial revert of "2015-04-05 Rationalize
13141         use of c[ad]+r", so as to keep the "cl-" prefix on all
13142         cl-lib definitions.
13144         * vhdl-mode.el (vhdl-prepare-search-2): Use inhibit-point-motion-hooks
13146         * lisp/cedet/semantic: Remove some dead code
13147         * lisp/cedet/semantic/util-modes.el
13148         (semantic-stickyfunc-header-line-format): Emacs<22 is not supported
13149         any more.
13150         * lisp/cedet/semantic/fw.el (semantic-buffer-local-value): Emacs<21 is
13151         not supported any more.
13152         (semantic-safe): Use `declare'.
13153         * lisp/cedet/semantic/decorate.el (semantic-set-tag-intangible)
13154         (semantic-tag-intangible-p): Remove unused functions.
13155         * lisp/cedet/semantic/complete.el (semantic-displayor-window-edges):
13156         Remove unused function.
13158         * lisp/gnus/gnus-art.el (gnus-hidden-properties): Simplify.
13159         (gnus-article-hide-text, gnus-article-unhide-text)
13160         (gnus-article-unhide-text-type): Remove special handling of
13161         `intangible' since that property is not used any more.
13162         (gnus-article-treat-body-boundary): Use gnus-hidden-properties.
13164 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
13166         Use the VC root in `log-edit-listfun'
13167         * lisp/vc/vc-dispatcher.el (vc-log-edit): Use the VC root in
13168         `log-edit-listfun'.
13170 2015-04-09  Jay Belanger  <jay.p.belanger@gmail.com>
13172         Fix description of Unix time, mention new function.
13173         * lisp/calc/calc-forms.el (calcFunc-unixtime): Fix adjustment for
13174         Unix time.
13175         * doc/misc/calc.texi (Date Forms): Fix description of Unix time.
13176         (Basic Operations on Units): Mention `calc-convert-exact-units'.
13178 2015-04-09  Artur Malabarba  <bruce.connor.am@gmail.com>
13180         * lisp/emacs-lisp/package.el: Use mode-line-process for notification
13182 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
13184         (log-edit-insert-changelog-entries): Don't add newline after the last entry
13185         * lisp/vc/log-edit.el (log-edit-insert-changelog-entries):
13186         Don't add newline after the last entry.
13188 2015-04-09  Simen Heggestøyl  <simenheg@gmail.com>
13190         css-mode.el: Add "not" pseudo-class
13191         (Bug#20267)
13192         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Add "not" to
13193         list of CSS pseudo-classes.
13195 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
13197         etc/NEWS: Add missing entry for "Stop messing with the EMACS env var"
13199 2015-04-09  Michael Albinus  <michael.albinus@gmx.de>
13201         Stop messing with the EMACS env var
13202         * misc.texi (Interactive Shell): Remove description of EMACS env var.
13204 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
13206         Adapt 'make change-history' to coding cookie
13207         * Makefile.in (change-history): Adjust to change of format of
13208         ChangeLog file, which now has a coding cookie before an indented
13209         copyright notice.
13211 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
13213         Adapt 'make change-history' to coding cookie
13214         * Makefile.in (change-history): Adjust to change of format of
13215         ChangeLog file, which now has a coding cookie before an indented
13216         copyright notice.
13218         gitlog-to-changelog coding cookie and mv -i
13219         * build-aux/gitlog-to-emacslog: Use ChangeLog.1, not Makefile.in,
13220         for copyright notice prototype, so that we get a proper "coding:"
13221         cookie.  Use 'mv -i' to avoid unconditionally overwriting an
13222         existing ChangeLog.  Problems reported by Eli Zaretskii in:
13223         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00504.html
13225         Merge from gnulib
13226         * build-aux/gitlog-to-changelog: Update from gnulib, incorporating:
13227         2015-04-09 gitlog-to-changelog: port to MS-Windows
13229 2015-04-09  Boruch Baum  <boruch_baum@gmx.com>  (tiny change)
13231         * lisp/bookmark.el (bookmark-bmenu-goto-bookmark): Don't inf-loop.
13232         (Bug#20212)
13234 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
13236         Stop messing with the EMACS env var
13237         (Bug#20202)
13238         * lisp/net/tramp-sh.el (tramp-remote-process-environment):
13239         * lisp/comint.el (comint-exec-1):
13240         * lisp/term.el (term-exec-1): Don't set EMACS envvar.
13241         * lisp/progmodes/compile.el (compilation-start): Same and bring
13242         INSIDE_EMACS's format in line with other users.
13244         css-mode.el (css-smie-rules): Fix indentation after complex selectors
13245         (Bug#20282)
13246         * lisp/textmodes/css-mode.el (css-smie-rules): Don't get confused by
13247         inner structure of selectors.
13249 2015-04-08  Fabián Ezequiel Gallina  <fgallina@gnu.org>
13251         python.el: Indent docstring lines to base-indent
13252         (Bug#19595)
13253         Thanks to immerrr <immerrr@gmail.com> for reporting and providing
13254         an initial patch.
13255         * lisp/progmodes/python.el
13256         (python-indent-context): Add :inside-docstring context.
13257         (python-indent--calculate-indentation): Handle :inside-docstring.
13258         (python-indent-region): Re-indent docstrings.
13259         * test/automated/python-tests.el (python-indent-region-5)
13260         (python-indent-inside-string-2): Fix tests.
13262         python.el: Increase native completion robustness
13263         (Bug#19755)
13264         Thanks to Carlos Pita <carlosjosepita@gmail.com> for reporting
13265         this and providing useful ideas.
13266         * lisp/progmodes/python.el
13267         (python-shell-completion-native-output-timeout): Increase value.
13268         (python-shell-completion-native-try-output-timeout): New var.
13269         (python-shell-completion-native-try): Use it.
13270         (python-shell-completion-native-setup): New readline setup avoids
13271         polluting current context, ensures output when no-completions are
13272         available and includes output end marker.
13273         (python-shell-completion-native-get-completions): Trigger with one
13274         tab only.  Call accept-process-output until output end is found or
13275         python-shell-completion-native-output-timeout is exceeded.
13277 2015-04-08  Samer Masterson  <samer@samertm.com>
13279         * lisp/eshell: Make backslash a no-op in front of normal chars
13280         (Bug#8531)
13281         * lisp/eshell/esh-arg.el (eshell-parse-argument-hook): Update comment.
13282         (eshell-parse-backslash): Return escaped character after backslash
13283         if it is special.  Otherwise, if the backslash is not in a quoted
13284         string, ignore the backslash and return the character after; if
13285         the backslash is in a quoted string, return the backslash and the
13286         character after.
13287         * test/automated/eshell.el (eshell-test/escape-nonspecial)
13288         (eshell-test/escape-nonspecial-unicode)
13289         (eshell-test/escape-nonspecial-quoted)
13290         (eshell-test/escape-special-quoted): Add tests for new
13291         `eshell-parse-backslash' behavior.
13293 2015-04-08  Gustav Hållberg  <gustav@gmail.com>  (tiny change)
13295         * lisp/vc/diff-mode.el (diff-hunk-file-names): Don't require a TAB
13296         after the file name.
13297         (Bug#20276)
13299 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
13301         Minor quoting etc. fixes to Emacs manual
13302         * doc/emacs/Makefile.in, doc/emacs/ack.texi, doc/emacs/building.texi:
13303         * doc/emacs/calendar.texi, doc/emacs/cmdargs.texi:
13304         * doc/emacs/custom.texi, doc/emacs/dired.texi, doc/emacs/emacs.texi:
13305         * doc/emacs/files.texi, doc/emacs/glossary.texi, doc/emacs/gnu.texi:
13306         * doc/emacs/indent.texi, doc/emacs/macos.texi:
13307         * doc/emacs/maintaining.texi, doc/emacs/makefile.w32-in:
13308         * doc/emacs/programs.texi, doc/emacs/rmail.texi:
13309         * doc/emacs/search.texi, doc/emacs/trouble.texi:
13310         * doc/emacs/vc1-xtra.texi:
13311         Use American-style double quoting in ordinary text,
13312         and quote 'like this' when single-quoting in ASCII text.
13313         Also, fix some minor spacing issues.
13315         Minor quoting etc. fixes to elisp intro
13316         * doc/lispintro/emacs-lisp-intro.texi: Consistently use
13317         American-style double quoting in ordinary text.  In ASCII text,
13318         consistently quote 'like this' instead of `like this', unless
13319         Emacs requires the latter.
13321 2015-04-08  Dmitry Gutov  <dgutov@yandex.ru>
13323         * CONTRIBUTE: Mention log-edit-insert-changelog.
13325         * CONTRIBUTE: Emphasize creating the top-level ChangeLog file manually.
13327 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
13329         * doc/misc/calc.texi (Summary): Avoid '@:' when usurped.
13331 2015-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>
13333         (eieio-copy-parents-into-subclass): Fix inheritance of initargs
13334         (Bug#20270)
13335         * lisp/emacs-lisp/eieio-core.el (eieio-copy-parents-into-subclass):
13336         Fix inheritance of initargs.
13338 2015-04-08  Artur Malabarba  <bruce.connor.am@gmail.com>
13340         * lisp/emacs-lisp/package.el (package-menu-mode): Mode-line notification
13341         while dowloading information.
13343         * lisp/emacs-lisp/package.el: More conservative `ensure-init-file'
13344         (package--ensure-init-file): Check file contents before visiting.
13345         (package-initialize): Call it.
13346         (package-install-from-buffer, package-install): Don't call it.
13348 2015-04-08  Eli Zaretskii  <eliz@gnu.org>
13350         * src/eval.c (init_eval_once): Bump max_lisp_eval_depth to 800
13351         (Bug#17517)
13353 2015-04-08  Michael Albinus  <michael.albinus@gmx.de>
13355         Fix nasty scoping bug in tramp-cache.el
13356         * lisp/net/tramp-cache.el (tramp-flush-file-property): Fix nasty scoping bug.
13358 2015-04-08  Tassilo Horn  <tsdh@gnu.org>
13360         Add notice to visual commands section
13361         * doc/misc/eshell.texi (Input/Output): Add notice that some tools
13362         such as git call less with its -F option which omits pagination if
13363         the contents is less than one page long.  This interferes with
13364         eshell's visual (sub-)commands.
13366 2015-04-07  Dmitry Gutov  <dgutov@yandex.ru>
13368         ffap: Support environment variable expansion in file names
13369         (Bug#19839)
13370         * lisp/ffap.el (ffap-string-at-point-mode-alist): Support
13371         environment variable expansion in file names.
13373 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
13375         Prefer double-quote to accent-grave in man pages
13377 2015-04-07  Stefan Monnier  <monnier@iro.umontreal.ca>
13379         (Bug#20257)
13380         * lisp/files.el (set-visited-file-name): Clear auto-save if nil.
13382 2015-04-07  Ivan Shmakov  <ivan@siamics.net>
13384         Update etc/PROBLEMS.
13385         * etc/PROBLEMS: Mention visible-cursor; a few more mentions of
13386         ~/.Xresources and xrdb(1); refer to 'GNU Coreutils' and
13387         'X Window System' or 'X' (were: 'GNU Fileutils' and 'X Windows',
13388         respectively); other minor updates and tweaks.  (Bug#20011)
13390 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
13392         Add doc strings for some Isearch state vars
13393         * lisp/misearch.el (multi-isearch-buffer-list)
13394         (multi-isearch-file-list): Add doc strings.
13395         (Bug#20232)
13397 2015-04-07  Alan Mackenzie  <acm@muc.de>
13399         Always mark "<" and ">" in #include directives with text properties.
13400         * lisp/progmodes/c-fonts.el (c-cpp-matchers): Replace a font-lock "anchored
13401         matcher" with an invocation of c-make-font-lock-search-function to allow
13402         fontification when there's no trailing space on an "#include <..>" line.
13404 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
13406         Generate a ChangeLog file from commit logs
13407         * .gitignore: Add 'ChangeLog'.
13408         * build-aux/gitlog-to-changelog: New file, from Gnulib.
13409         * build-aux/gitlog-to-emacslog: New file.
13410         * CONTRIBUTE: Document the revised workflow.
13411         * Makefile.in (clean): Remove *.tmp and etc/*.tmp*
13412         instead of just special cases.
13413         (CHANGELOG_HISTORY_INDEX_MAX, CHANGELOG_N, gen_origin): New vars.
13414         (ChangeLog, unchanged-history-files, change-history)
13415         (change-history-commit): New rules.
13416         * admin/admin.el (make-manuals-dist--1):
13417         Don't worry about doc/ChangeLog.
13418         * admin/authors.el: Add a FIXME.
13419         * admin/make-tarball.txt:
13420         * lisp/calendar/icalendar.el:
13421         * lisp/gnus/deuglify.el:
13422         * lisp/obsolete/gulp.el:
13423         * lwlib/README:
13424         Adjust to renamed ChangeLog history files.
13425         * admin/merge-gnulib (GNULIB_MODULES): Add gitlog-to-changelog.
13426         * admin/notes/repo: Call it 'master' a la Git, not 'trunk' a la Bzr.
13427         Remove obsolete discussion of merging ChangeLog files.
13428         New section "Maintaining ChangeLog history".
13429         * build-aux/git-hooks/pre-commit:
13430         Reject attempts to commit files named 'ChangeLog'.
13431         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
13432         * make-dist: Make and distribute top-level ChangeLog if there's a
13433         .git directory.  Distribute the new ChangeLog history files
13434         instead of scattered ChangeLog files.  Distribute the new files
13435         gitlog-to-changelog and gitlog-to-emacslog.
13436         (Bug#19113)
13438         Rename ChangeLogs for gitlog-to-changelog
13439         This patch was implemented via the following shell commands:
13440         find * -name ChangeLog |
13441         sed 's,.*,git mv & &.1,
13442         s, lisp/ChangeLog\.1$, lisp/ChangeLog.17,
13443         s, lisp/erc/ChangeLog\.1$, lisp/erc/ChangeLog.09,
13444         s, lisp/gnus/ChangeLog\.1$, lisp/gnus/ChangeLog.3,
13445         s, lisp/mh-e/ChangeLog\.1$, lisp/mh-e/ChangeLog.2,
13446         s, src/ChangeLog\.1$, src/ChangeLog.13,' |
13447         sh
13448         git commit -am"[this commit message]"
13450 This file records repository revisions from
13451 commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to
13452 commit 00a65e3238a888fc92b0c2aab8cb5bda8bd99c29 (inclusive).
13453 See ChangeLog.1 for earlier changes.
13455 ;; Local Variables:
13456 ;; coding: utf-8
13457 ;; End:
13459   Copyright (C) 2015 Free Software Foundation, Inc.
13461   This file is part of GNU Emacs.
13463   GNU Emacs is free software: you can redistribute it and/or modify
13464   it under the terms of the GNU General Public License as published by
13465   the Free Software Foundation, either version 3 of the License, or
13466   (at your option) any later version.
13468   GNU Emacs is distributed in the hope that it will be useful,
13469   but WITHOUT ANY WARRANTY; without even the implied warranty of
13470   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13471   GNU General Public License for more details.
13473   You should have received a copy of the GNU General Public License
13474   along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.