; Fix error in last commit
[emacs.git] / ChangeLog.2
blob54e0f20adb21045400fd3d502382b2ca34e9452f
1 2016-01-09  Andrew Hyatt  <ahyatt@gmail.com>
3         Adding example replies to bug-triage.
5         * admin/notes/bug-triage: Added example replies. Also, as requested,
6           making the process notes into more of a checklist.
8 2016-01-08  Andrew Hyatt  <ahyatt@gmail.com>
10         Rename the notes/admin/triage file to bug-triage.
12         * CONTRIBUTE: Change reference to the triage file name.
13         * admin/notes/triage: Rename file to admin/notes/bug-triage.
15 2016-01-08  K. Handa  <handa@gnu.org>
17         Fix outdated comments.
19 2016-01-07  Glenn Morris  <rgm@gnu.org>
21         Allow creation of loaddefs files without timestamps.
23         * lisp/emacs-lisp/autoload.el (autoload-timestamps): New variable.
24         (autoload-generate-file-autoloads, update-directory-autoloads):
25         If autoload-timestamps is nil, write "t" instead of file timestamp.
26         (autoload-find-destination, update-directory-autoloads):
27         If timestamp is "t", use the modtime of the output file instead.
29 2016-01-06  Glenn Morris  <rgm@gnu.org>
31         Doc tweaks.
33         * lisp/calendar/cal-hebrew.el (diary-hebrew-list-entries):
34         * lisp/calendar/cal-iso.el (calendar-iso-to-absolute)
35         (calendar-iso-from-absolute):
36         * lisp/calendar/cal-tex.el (cal-tex-comment):
37         * lisp/calendar/solar.el (calendar-time-display-form): Doc tweaks.
39 2016-01-06  Glenn Morris  <rgm@gnu.org>
41         Build tweaks related to tags files.
43         * lib-src/Makefile.in (tagsfiles): New variable.
44         (TAGS): Also depend on the source files.  Use our own etags program.
45         * lisp/Makefile.in (ETAGS): Add EXEEXT.
46         (lisptagsfiles1, lisptagsfiles2, lisptagsfiles3, lisptagsfiles4):
47         Remove.
48         (tagsfiles): New, replacing lisptagsfiles1 etc.
49         Remove irrelevant source files here rather than in the TAGS rule.
50         (${ETAGS}): New rule.
51         (TAGS): Also depend on the etags executable.
52         * lwlib/Makefile.in (EXEEXT): New, set by configure.
53         (ETAGS): Add EXEEXT.
54         (${ETAGS}): New rule.
55         (ctagsfiles): Use "wildcard".
56         (TAGS): Also depend on the etags executable.
57         * nt/Makefile.in (ETAGS, tagsfiles): New variables.
58         (${ETAGS}): New rule.
59         (TAGS): Fix dependencies.
60         * oldXMenu/Makefile.in (EXEEXT): New, set by configure.
61         (ETAGS): New variable, replacing $TAGS.  Use our own etags program.
62         Remove "-t" argument.
63         (${ETAGS}): New rule.
64         (tagsfiles): New variable.
65         (TAGS): New rule, with proper dependencies.
66         * src/Makefile.in (ETAGS): Add EXEEXT.  Add a build rule.
67         (ctagsfiles1, ctagsfiles2): Use "wildcard".
68         (ctagsfiles3): Remove.
69         (TAGS): Depend on etags.
70         (../lisp/TAGS, $(lwlibdir)/TAGS): Let the rules in the relevant
71         directories decide if updates are needed.
73 2016-01-06  Glenn Morris  <rgm@gnu.org>
75         * lisp/Makefile.in (CAL_SRC): Skip calendar.el.
77 2016-01-06  Glenn Morris  <rgm@gnu.org>
79         * test/lisp/emacs-lisp/package-tests.el
81         (package-test-macro-compilation): Fixup branch merge.
83 2016-01-05  Eli Zaretskii  <eliz@gnu.org>
85         Fix fallout from merging emacs-25 branch in test/
87         * .gitignore: Update for the new place of biditest.txt.
88         * test/automated/: Directory removed.  All files moved to their
89         proper places.
90         * test/etags/: Directory removed.  All files moved to their proper
91         places.
92         * test/automated/url-parse-tests.el: File removed; it was an exact
93         copy of the same file in test/lisp/url/.
94         * test/automated/url-expand-tests.el: Moved to test/lisp/url/.
96 2016-01-04  Paul Eggert  <eggert@cs.ucla.edu>
98         Spelling fixes
100 2016-01-04  Daniel Colascione  <dancol@dancol.org>
102         Let users disable unsafe signal handling code
104         * src/keyboard.c (syms_of_keyboard): New user variables
105         `attempt-stack-overflow-recovery' and
106         `attempt-orderly-shutdown-on-fatal-signal'.
107         * src/sysdep.c (stack_overflow): Check
108         `attempt-stack-overflow-recovery'.
109         * src/emacs.c (terminate_due_to_signal): Check
110         `attempt-orderly-shutdown-on-fatal-signal'.
112 2016-01-03  Michael Albinus  <michael.albinus@gmx.de>
114         * configure.ac: Add error message for gfile on Nextstep.
116 2016-01-03  John Wiegley  <johnw@newartisans.com>
118         Merge branch 'emacs-25-merge'
120 2016-01-02  Vincent Belaïche  <vincentb1@users.sourceforge.net>
122         Align textually on fix done for emacs-25 branch for bug#21054
124         * lisp/ses.el (ses-check-curcell): Suppress ``temporary fix'' comment,
125         and useless `(if t ...)' in order to align textually on fix done for
126         emacs-25 branch for bug#21054.
128 2016-01-02  K. Handa  <handa@gnu.org>
130         support rendering of wider range of combinging characters by ftfont backend
132         * lisp/language/hebrew.el (hebrew-shape-gstring): If the font backend
133         supports rendering of combining characters, call
134         font-shape-gstring.
136         * src/font.c (Ffont_get): Handle `combining-capability' property.
137         (syms_of_font): New symbol ":combining-capability'.
139         * src/font.h (struct font_driver): New member combining_capability.
141         * src/ftfont.c: Include "category.h".
142         (ftfont_driver): Initialize combining_capability to
143         ftfont_combining_capability.
144         (ftfont_shape_by_flt): If OTF is null, try to find a suitable
145         FLT in advance.
146         (ftfont_combining_capability): New function.
148 2016-01-01  Andrew Hyatt  <ahyatt@gmail.com>
150         Add notes on bug triage procedure
152         * CONTRIBUTE: In section on the issue tracker, point to new triage file.
153         * admin/notes/triage: New file explaining triage procedure.
155 2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
157         Correct ses-rename-cell cursor-intangible text prop updating.
159         There were two problems:
161         - First ses-rename-cell has to work when called non interactively
162           (with non-nil CELL argument), so in this case the start pos of
163           put-text-property cannot be plainly (point), you need a
164           ses-goto-print call before
166         - Second, the range itself was computed erronously, only the first
167           char was affected instead of the full cell width. This was not
168           noticeable prior to changes (Deprecate `intangible' and
169           `point-entered' properties) made by Stefan on 2015-04-13T19:51:15Z
171         * lisp/ses.el (ses-rename-cell): Correct computation of position range
172         to which the 'cursor-intangible text property has to be set to cell
173         new name.
175 2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
177         Don't fake empty cells value by "" when printing with a lambda.
179         When using a lambda expression printer function the user should be
180         free to format differently a really empty cell, ie. containing nil,
181         from a cell containing an empty string "".
183         * ses.el (ses-call-printer): Replace `(or value "")' by just `value'
184         in the case of a lambda expression printer function.
186         * ses.texi (Printer functions): Add example and description about
187         lambda expression printer function handling all the possible values,
188         including unexpected ones.
190 2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
192         Quick temporary hack to fix curcell refreshing.
194         The problem was caused by change: 2015-04-13 Deprecate `intangible'
195         and `point-entered' properties. The problem is that this change has
196         removed the (setq ses--curcell t) setting in the ses-command-hook
197         function.
199         * ses.el (ses-check-curcell): replace `(eq ses--curcell t)' by just `t' as
200         a condition to call function `ses-set-curcell'. Comment this as a quick
201         temporary hack to make it work, as I don't know yet whether a definite
202         correction would be to make the ses-set-curcell at every ses-check-curcell,
203         or to revert to the previous approach, ie marking ses--curcell as out-of-date
204         at every potentially cursor motion command.
206 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
208         Restrictive URL checking tweaks
210         * lisp/net/eww.el (eww): Check whether the domain is
211         restrictive instead of the string
212         (http://македонија.icom.museum is restrictive even if each
213         part is from a different script).
215 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
217         New function `puny-highly-restrictive-domain-p'
219         * lisp/net/puny.el (puny-highly-restrictive-string-p): Rename.
220         (puny-highly-restrictive-domain-p): New function.
222 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
224         eww build fix (require puny)
226 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
228         Transform non-restrictive domains to punycode for display
230         * lisp/net/eww.el (eww): Check whether the domain is Highly
231         Restrictive in the Unicode IDNA sense.
233 2015-12-30  John Wiegley  <johnw@newartisans.com>
235         Merge emacs-25 into master (using imerge)
237 2015-12-29  Eli Zaretskii  <eliz@gnu.org>
239         Fix typos in CC Mode manual
241         * doc/misc/cc-mode.texi (c-offsets-alist, Style Variables): Fix
242         typos.  (Bug#22267)
244 2015-12-29  Eli Zaretskii  <eliz@gnu.org>
246         Avoid assertion violations in compact_font_cache_entry
248         * src/alloc.c (compact_font_cache_entry): Don't use VECTORP to
249         avoid assertion violation in ASIZE.  (Bug#22263)
251 2015-12-29  Eli Zaretskii  <eliz@gnu.org>
253         Fix filling text with bidirectional characters in shr.el
255         * lisp/net/shr.el (shr-insert-document): Bind
256         bidi-display-reordering to nil while filling lines.  This is
257         required for when a line includes characters whose bidi
258         directionality is opposite to the base paragraph direction,
259         because columns are counted in the logical order.  (Bug#22250)
261 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
263         Further Unicode restrictive fixups
265         * puny.el (puny-highly-restrictive-p): Include the extra
266         identifier characters from table 3.
268 2015-12-29  Martin Rudalics  <rudalics@gmx.at>
270         * src/xfns.c (x_create_tip_frame): Process alpha parameter.
272 2015-12-29  Michael Albinus  <michael.albinus@gmx.de>
274         Sync with Tramp 2.2.13
276         * doc/misc/trampver.texi: Change version to "2.2.13.25.1".
278         * lisp/net/tramp-compat.el (tramp-compat-delete-dups):
279         Use `tramp-compat-funcall'.
281         * lisp/net/tramp-gvfs.el (tramp-gvfs-parse-device-names):
282         Make `split-string' call compatible with older Emacsen.
284         * lisp/net/trampver.el: Change version to "2.2.13.25.1".
286 2015-12-29  Lambda Coder  <sjLambda@gmail.com>
288         * doc/misc/tramp.texi: Editorial revisions to the Tramp manual
290 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
292         Mention that tls.el is secure by default, and will fail
294 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
296         Make tls.el use trustfiles by default
298         * lisp/net/tls.el (tls-program): Add a certfile by default (bug#21227).
299         (open-tls-stream): Insert the trustfile by looking at
300         `gnutls-trustfiles'.
302 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
304         Refactor out gnutls-trustfiles
306         * lisp/net/gnutls.el (gnutls-trustfiles): Refactor out for reuse by tls.el.
308 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
310         Remove --insecure from gnutls-cli invocation
312         * tls.el (tls-program): Default to using secure TLS
313         connections (bug#19284).
315 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
317         Add a new function to say whether a string is restrictive
319         * puny.el (puny-highly-restrictive-p): New function.
321 2015-12-28  Paul Eggert  <eggert@cs.ucla.edu>
323         Spelling fix
325 2015-12-28  Paul Eggert  <eggert@cs.ucla.edu>
327         Port report-emacs-bug to deterministic builds
329         * lisp/mail/emacsbug.el (report-emacs-bug): Future-proof the
330         recent "built on" change to deterministic builds where
331         emacs-build-system will be nil.  See:
332         http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg01369.html
334 2015-12-28  Jose A. Ortega Ruiz  <jao@gnu.org>  (tiny change)
336         Fix URL auth error message
338         * lisp/url/url-http.el (url-http-handle-authentication): Make the error
339         message more correct (bug#20069).
341 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
343         Mention the new puny.el library
345 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
347         IDNA-related fixes for the URL library
349         * lisp/url/url-http.el (url-http-create-request): IDNA-encode
350         the Host: header.
352         * lisp/url/url-util.el (url-encode-url): Don't hex-encode
353         domain names, but leave them as UTF-8, so that they can be
354         IDNA-encoded later when contacting the host.
356 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
358         IDNA-encode all domain names in `open-network-stream'
360         * network-stream.el (open-network-stream)
361         (network-stream-open-plain, network-stream-open-starttls):
362         IDNA-encode all domain names, if needed.
364 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
366         Fix puny-encoding all-non-ASCII domains
368         * puny.el (puny-encode-string): Fix the all-non-ASCII encoding case.
370 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
372         shr link traversal fixup
374         * shr.el (shr-next-link): Don't bug out on adjacent links.
376         Backport:
378         (cherry picked from commit 1efc5f8b09273c359683ce13be95fb5df7a84311)
380 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
382         shr link traversal fixup
384         * shr.el (shr-next-link): Don't bug out on adjacent links.
386 2015-12-28  Tom Tromey  <tom@tromey.com>
388         set :safe on css-indent-offset
390         * lisp/textmodes/css-mode.el (css-indent-offset): Add :safe 'integerp.
392 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
394         * eww.el (eww-mode): Remove superfluous bidi reset.
396 2015-12-28  James Stout  <james.wolf.stout@gmail.com>  (tiny change)
398         Make chunked encoding trailer detection more compliant
400         * lisp/url/url-http.el
401         (url-http-chunked-encoding-after-change-function): Make
402         trailer detection more compliant (bug#16345).
404 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
406         Reconnect erc even on server errors
408         * lisp/erc/erc-backend.el (erc-server-reconnect-p): Try to
409         reconnect even if a server error has occurred (bug#18527).
411 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
413         Fix punycode short circuit logic
415         * puny.el (puny-encode-domain): Fix short-circuit logic.
417 2015-12-28  Martin Rudalics  <rudalics@gmx.at>
419         Fix Bug#10873 in `report-emacs-bug'
421         * lisp/mail/emacsbug.el (report-emacs-bug): If
422         `report-emacs-bug-no-explanations' is nil, make sure we can show
423         mail and warnings buffer on this frame (Bug#10873).
425 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
427         IDNA speed up
429         * puny.el (puny-encode-domain): Make the common non-IDNA case faster
431 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
433         Add IDNA domain encode/decode functions
435         * puny.el (puny-decode-domain): New function.
436         (puny-encode-domain): Ditto.
437         (puny-decode-digit): Fix digit decoding error.
439 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
441         Rename idna.el to puny.el
443         * puny.el: Renamed from idna.el to avoid name collisions with
444         the external idna.el library.
446 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
448         Always reset the bidi direction
450         * eww.el (eww-display-html): Always reset the bidi direction
451         to `left-to-right' (bug#22257).
453 2015-12-28  Alan Mackenzie  <acm@muc.de>
455         Allow line comments ending with escaped NL to be continued to the next line.
457         Use this in C, C++, and Objective C Modes.  Fixes bug#22246
459         * src/syntax.c (comment-end-can-be-escaped): New buffer local variable.
460         (forw-comment, back-comment): On encountering an end of comment character,
461         test whether it is escaped when `comment-end-can-be-escaped' is non-nil.
463         * doc/lispref/syntax.texi (Control Parsing): Describe
464         `comment-end-can-be-escaped'.
466         * etc/NEWS (Lisp Changes): Describe `comment-end-can-be-escaped'.
468         * lisp/progmodes/cc-langs.el: New c-lang-setvar `comment-end-can-be-escaped'.
470 2015-12-28  Katsumi Yamaoka  <yamaoka@jpl.org>
472         lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): Keep old Emacsen compatibility
474         * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe):
475         Don't use split-string with 4th arg for old Emacsen compatibility.
477 2015-12-27  Dmitry Gutov  <dgutov@yandex.ru>
479         Rename project-library-roots to project-external-roots
481         * lisp/progmodes/project.el (project-library-roots): Rename to
482         project-external-roots.
483         (project-library-roots-function): Rename to
484         project-vc-external-roots-function.  Only use it in the VC
485         backend, for now.  Update project-external-roots accordingly.
486         (project-vc-library-roots): Remove.
487         (project-or-libraries-find-regexp):
488         Rename to project-or-external-find-regexp.
490         * lisp/progmodes/elisp-mode.el (elisp-library-roots):
491         Rename to elisp-load-path-roots.
493         * lisp/progmodes/etags.el (etags-library-roots): Remove.  Use
494         an anonymous function for the default value of
495         project-vc-external-roots-function.
497 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
499         * idna.el (idna-decode-string-internal): Implement decoding.
501 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
503         Further IDNA tweaks
505         (idna-encode-string): Make idna-encode-string safe for
506         non-ASCII use.
508 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
510         Clean up the code slightly
512 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
514         Added basic idna encoding support
516         * lisp/net/idna.el: New file.
518 2015-12-27  Vivek Dasmohapatra  <vivek@etla.org>
520         Disconnection fixes for erc
522         * lisp/erc/erc-backend.el (erc-server-reconnect-p): Don't
523         reconnect if the user has disconnected explicitly (bug#4589).
525 2015-12-27  Thomas Riccardi  <riccardi.thomas@gmail.com>  (tiny change)
527         Further erc asynch fixes
529         * lisp/erc/erc-backend.el (erc-process-sentinel-2): Make
530         erc-server-connect to return even if the connection is not
531         ready.  Then erc-open and erc-server-reconnect do the
532         same. (bug#5650).
534 2015-12-27  Vivek Dasmohapatra  <vivek@etla.org>
536         Make erc connect asynchronously
538         * lisp/erc/erc-backend.el (erc-server-reconnect): Use it to
539         reconnect asynchronously.
541         * lisp/erc/erc-backend.el (erc-open-network-stream): New function (bug#5650).
543 2015-12-27  Deniz Dogan  <deniz@dogan.se>
545         Clear erc user list upon disconnection
547         * lisp/erc/erc-backend.el (erc-process-sentinel): Clear channel user
548         lists upon disconnection.  This prevents invalid channel
549         user lists when reconnecting (bug#10947).
551 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
553         Don't bug out in erc after waking from sleep
555         * erc-backend.el (erc-server-send-ping): If the server has
556         closed connection, this may already have been detected and
557         `erc-server-last-received-time' has been set to nil (bug#13608).
559 2015-12-27  David Edmondson  <dme@dme.org>
561         Proxy error in erc with multiple clients
563         * lisp/erc/erc.el (erc-channel-receive-names): Fix errors
564         generated when multiple IRC clients talk to a single IRC proxy
565         (bug#19034).
567         Backport:
569         (cherry picked from commit 507e98a54d1aa37823c64993d6b59257a82fe8f4)
571 2015-12-27  David Edmondson  <dme@dme.org>
573         Proxy error in erc with multiple clients
575         * lisp/erc/erc.el (erc-channel-receive-names): Fix errors
576         generated when multiple IRC clients talk to a single IRC proxy
577         (bug#19034).
579 2015-12-27  Dima Kogan  <dima@secretsauce.net>
581         Ensure that we don't have several timers in erc
583         * lisp/erc/erc-backend.el (erc-server-setup-periodical-ping): Checks
584         for existing timers in the alist before adding new ones.  If a
585         timer already exists, it is cancelled and
586         overwritten. (bug#19292).
588 2015-12-27  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
590         Fix mml-sec build warnings
592         * lisp/gnus/mml-sec.el: Fix warnings by adding autoloads
593         (bug#18718).
595         Backport:
597         (cherry picked from commit 3603097f62f5f4aa5451716e9ac380161f6829e2)
599 2015-12-27  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
601         Fix mml-sec build warnings
603         * lisp/gnus/mml-sec.el: Fix warnings by adding autoloads
604         (bug#18718).
606 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
608         Don't insert erc logs at the end
610         * erc-log.el (erc-log-setup-logging): Insert the previous log
611         at the start of the buffer, not at the end (bug#20496).
613 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
615         (eww-setup-buffer): Restore left-to-right defaults
617         * eww.el (eww-setup-buffer): Restore left-to-right defaults.
619         Backport:
621         (cherry picked from commit 96c874b96b617c124d500a94de761a61f2a08685)
623 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
625         (eww-setup-buffer): Restore left-to-right defaults
627         * eww.el (eww-setup-buffer): Restore left-to-right defaults.
629 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
631         Don't join erc channels doubly
633         * erc-join.el (erc-autojoin-channels): Don't join channels
634         more than once (if you have several nicks) (bug#20695).
636 2015-12-27  Eli Zaretskii  <eliz@gnu.org>
638         Avoid leaving "ghost" of mouse pointer on MS-Windows
640         * src/w32term.c (frame_set_mouse_pixel_position):
641         * src/w32fns.c (Fw32_mouse_absolute_pixel_position): Momentarily
642         disable "mouse trails" when moving the mouse pointer.  (Bug#22247)
643         * src/w32term.c (frame_set_mouse_pixel_position): Include
644         w32common.h.
646 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
648         * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): Fix typo in last check-in.
650 2015-12-27  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
652         Identify unsafe combinations of Bcc and encryption
654         * lisp/gnus/gnus-util.el (gnus-subsetp): New function
655         * lisp/gnus/mml-sec.el (mml-secure-safe-bcc-list): New variable
656         * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): New function
658 2015-12-27  Krzysztof Jurewicz  <krzysztof.jurewicz@gmail.com>  (tiny change)
660         Fix auth source lookups from erc with port numbers
662         * lisp/erc/erc.el (erc-open): `auth-source' wants strings, not port
663         numbers (bug#20541).
665 2015-12-27  Fran Litterio  <flitterio@gmail.com>
667         Run erc-kill-channel-hook always on exit
669         * lisp/erc/erc.el (erc-kill-buffer-function): Run erc-kill-channel-hook
670         when erc-kill-queries-on-quit is set (bug#21187).
672 2015-12-26  Paul Eggert  <eggert@cs.ucla.edu>
674         Spelling fix
676         * test/automated/url-parse-tests.el:
677         (url-generic-parse-url/same-document-reference):
678         Rename from url-generic-parse-url/same-decument-reference.
680 2015-12-26  Paul Eggert  <eggert@cs.ucla.edu>
682         Reword initial *scratch* for brevity, appearance
684         * lisp/startup.el (initial-scratch-message):
685         Reword to avoid apostrophes, and to make it shorter.
686         See the thread starting in:
687         http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg01241.html
689 2015-12-26  Leo Liu  <sdl.web@gmail.com>
691         Add ert-deftest to lisp-mode.el
693         * lisp-mode.el (lisp-imenu-generic-expression,
694           lisp-el-font-lock-keywords-1): Add ert-deftest.
696 2015-12-26  Lars Ingebrigtsen  <larsi@gnus.org>
698         Mark imap changes as not needing doc changes
700         * imap.el (imap-ssl-open): Remove
702 2015-12-26  Lars Ingebrigtsen  <larsi@gnus.org>
704         Use built-in encryption in imap.el
706         * lisp/net/imap.el (imap-ssl-program): Remove (bug#21134).
707         (imap-starttls-open): Use open-network-stream instead of starttls.el.
708         (imap-tls-open): Use open-network-stream instead of tls.el.
710 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
712         Don't try using /bin/sh in artist.el on MS-Windows
714         * lisp/textmodes/artist.el (artist-figlet-get-font-list-windows):
715         New function.
716         (artist-figlet-choose-font): Use it on MS-Windows and MS-DOS.
717         (Bug#20167)
719 2015-12-26  Wolfgang Jenkner  <wjenkner@inode.at>
721         Always define gmalloc etc. in src/gmalloc.c
723         This is a work-around to prevent the compiler from using semantic
724         knowledge about malloc for optimization purposes.  E.g., gcc 5.2
725         with -O2 replaces most of calloc's definition by a call to calloc;
726         see Bug#22085.
727         * src/gmalloc.c [!HYBRID_MALLOC] (malloc, realloc, calloc)
728         (aligned_alloc, free): Do not undef.  Instead, define these as
729         functions (perhaps renamed to gmalloc etc.) in terms of gmalloc etc.
731 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
733         Fix documentation of browse-url browser-related functions
735         * lisp/net/browse-url.el (browse-url)
736         (browse-url-default-browser, browse-url-default-windows-browser)
737         (browse-url-default-macosx-browser, browse-url-chromium)
738         (browse-url-kde, browse-url-text-xterm): Clarify the usage of ARGS
739         and NEW-WINDOW arguments in these functions.  (Bug#19421)
741 2015-12-26  Paul Eggert  <eggert@cs.ucla.edu>
743         Propagate Bug#14412 fix to backtrace_eval_unrewind
745         * src/eval.c (unbind_to): Redo so that the FALLTHROUGH!! comment
746         becomes accurate again. This shouldn’t affect behavior.
747         (backtrace_eval_unrewind): Apply the recent unbind_to fix here, too.
749 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
751         Don't produce non-ASCII characters in *scratch*
753         * lisp/startup.el (initial-scratch-message): Quote apostrophes to
754         avoid producing non-ASCII characters in the *scratch* buffer's
755         commentary.
757 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
759         Document changes in 'compare-windows'
761         * lisp/vc/compare-w.el (compare-windows-removed)
762         (compare-windows-added): Doc fix.
764         * doc/emacs/files.texi (Comparing Files): Document the changes in
765         window selection by 'compare-windows'.
767 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
769         Document 'vc-annotate-background-mode'
771         * doc/emacs/maintaining.texi (Old Revisions): Document
772         'vc-annotate-background-mode'.
774 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
776         Document 'vc-region-history'
778         * doc/emacs/maintaining.texi (VC Change Log): Document
779         'vc-region-history'.
781 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
783         Improve documentation of 'vc-push'
785         * doc/emacs/maintaining.texi (Pulling / Pushing): Expand and
786         improve the documentation of 'vc-push'.
788         * lisp/vc/vc.el (vc-pull, vc-push): Doc fix.
790 2015-12-26  Alain Schneble  <a.s@realize.ch>
792         Include the tests for the URL parsing fixes
794 2015-12-26  Alain Schneble  <a.s@realize.ch>
796         Make relative URL parsing and resolution consistent with RFC 3986 (bug#22044)
798         * test/lisp/url/url-parse-tests.el: Add tests covering url-generic-parse-url.
799         * test/lisp/url/url-expand-tests.el: Add tests covering url-expand-file-name.
800         * lisp/url/url-parse.el (url-generic-parse-url): Keep empty fragment
801         information in URL-struct.
802         * lisp/url/url-parse.el (url-path-and-query): Do not artificially turn empty
803         path and query into nil path and query, respectively.
804         * lisp/url/url-expand.el (url-expander-remove-relative-links): Do not turn
805         empty path into an absolute ("/") path.
806         * lisp/url/url-expand.el (url-expand-file-name): Properly resolve
807         fragment-only URIs. Do not just return them unchanged.
808         * lisp/url/url-expand.el (url-default-expander): An empty path in the relative
809         reference URI should not drop the last segment.
811         Backport:
813         (cherry picked from commit b792ecea1715e080ad8e232d3d154b8a25d2edfb)
815 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
817         Document 'url-user-agent'.
819         * lisp/url/url-http.el (url-user-agent): Move from here...
820         * lisp/url/url-vars.el (url-user-agent): ...to here.  This is to
821         keep all the URL defcustoms in one place, and also have it defined
822         whenever the URL library is loaded.
824         * doc/misc/url.texi (Customization): Document 'url-user-agent'.
826 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
828         Document protocols supported by URL library via Tramp
830         * doc/misc/url.texi (Tramp): New node, describes the URL schemes
831         supported via Tramp.
832         (Supported URL Types, file/ftp, rlogin/telnet/tn3270): Mention
833         Tramp.
835 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
837         Document changes in Shell-script mode
839         * lisp/progmodes/sh-script.el (sh-mode, sh-set-shell): Document
840         the 'sh-shell' file-local variable.
841         (top level): Add an auto-load form to avoid byte-compiler warning
842         about 'comint-send-string'.
844 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
846         Fix documentation of 'ses-define-local-printer'
848         * doc/misc/ses.texi (Printer functions): Fix whitespace between
849         sentences and punctuation.  Add an index entry for
850         'ses-define-local-printer'.
852 2015-12-26  Shakthi Kannan  <shakthimaan@gmail.com>
854         Document 'ert-summarize-tests-batch-and-exit'
856         * doc/misc/ert.texi (Running Tests in Batch Mode): Document
857         'ert-summarize-tests-batch-and-exit'.
859 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
861         Avoid assertion violation in unbind_to
863         * src/eval.c (unbind_to) <SPECPDL_LET>: Avoid assertion violation
864         if we get here with an object that is not a symbol.  (Bug#14412)
866 2015-12-25  Andreas Schwab  <schwab@linux-m68k.org>
868         Don't treat /foo/bar:mumble as ange-ftp address
870                 * lisp/net/browse-url.el (browse-url-filename-alist): Match colons
871                 only in the first component.  (bug#5362)
873 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
875         Follow <meta> redirects in eww
877         Merge conflict, but I think I resolved it.
879             Follow meta refresh tags in eww
881             * eww.el (eww-tag-meta): Follow meta refresh tags (bug#22234).
883         Backport:
885 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
887         Allow http://user:pass@foo/ URLs again
889         * lisp/url/url-auth.el (url-basic-auth): Allow explicit
890         user/passwords in URLs (bug#19046).
892         Backport:
894         (cherry picked from commit b563715a2db265517d5a77f165a42afa1e233fdd)
896 2015-12-25  Samer Masterson  <samer@samertm.com>
898         Autoload url-insert-buffer-contents
900         * lisp/url/url-handlers.el: Add autoload cookie so that
901         `package-list-packages' doesn't bug out (bug#21927) (tiny change)
903         Backport:
905         (cherry picked from commit 7a7b5b492ff9929eecd90c4564db6fbf3b192323)
907 2015-12-25  Eli Zaretskii  <eliz@gnu.org>
909         Make sure *scratch* etc. use forward slashes in its default-directory
911         * lisp/startup.el (normal-top-level): On MS-Windows, convert
912         backslashes to forward slashes while decoding default-directory
913         of the initially-created buffers.
915 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
917         More eww file name coding fixes
919         * eww.el (eww-decode-url-file-name): Use the base coding
920         system to check for encodability.
922         Backport:
924         (cherry picked from commit a8627008abe4ab339df19b417776da28b3ce0fc7)
926 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
928         Always save eww history
930         * eww.el (eww-setup-buffer): Always save history, even when
931         called from outside the eww buffer (bug#19638).
933         Backport:
935         (cherry picked from commit 2a0f18d9b6ce0ccce3d9c4a4a3b5743bae71b41e)
937 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
939         Default web pages to right-to-left
941         * eww.el (eww-mode): Most web pages are left-to-right, so make
942         that the default (bug#19801).
944         * shr.el (shr-tag-html): Respect "dir" attributes
945         (left-to-right, right-to-left).
947         Backport:
949         (cherry picked from commit 9e089ec8a380ec3758fcf1564c5f86dc92c68c2a)
951 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
953         Make toggling checkboxes work again
955         * eww.el (eww-update-field): Make toggling checkboxes work
956         again (bug#21881).
958         Backport:
960         (cherry picked from commit 5e56f606952e5e81b4d3a93ea70e791b74b33041)
962 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
964         Don't store cookies with empty names
966         * lisp/url/url-cookie.el (url-cookie-store): Refuse to store
967         cookies with empty names (bug#21936).
969         Backport:
971         (cherry picked from commit 9f0fd7cb1aec3eb9e2e0f7b8854c30870286d96c)
973 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
975         Stop rendering HTML before specdlr exhaustion
977         Fixes: 22117
979         * shr.el (shr-descend): Stop rendering before we run out of
980         specpdl room (bug#22117).
982         Backport:
984         (cherry picked from commit 248da292fe46224b0b5a79b632c89cf4de2c2081)
986 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
988         Use cl-reduce, not reduce.
990         Backport:
992         (cherry picked from commit fe4606f93b91ff3d046aee0cf21ecc277af7a786)
994 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
996         Allow several <tbody> tags in shr
998         * shr.el (shr-table-body): New function to find the real body
999         of a table.
1000         (shr-tag-table): Use it to render several <tbody> tags in a
1001         table (bug#22170).
1003         Backport:
1005         (cherry picked from commit cdaf33029d6620073833876d76056045ecfbc7c4)
1007 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
1009         Make prettier unique file names in eww
1011         (eww-make-unique-file-name): Make unique file names by making
1012         files like foo(2).jpg instead of foo(1)(2).jpg.
1014         Backport:
1016         (cherry picked from commit edfdd0a6cbdfa9e5e4bd0553e2b489401ca39266)
1018 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
1020         Decode hex-encoded URLs before using them as file names
1022         * eww.el (eww-decode-url-file-name): New function.
1023         (eww-download-callback): Use it to decode file names before
1024         saving them.
1026         Backport:
1028         (cherry picked from commit af22a010d87516c2a646572fb27512c03057784f)
1030 2015-12-25  Ashish SHUKLA  <ashish.is@lostca.se>
1032         Add FreeBSD cert bundle
1034         * doc/misc/emacs-gnutls.texi (Help For Users): Document
1035         FreeBSD bundle.
1037         * lisp/net/gnutls.el (gnutls-trustfiles): Add FreeBSD cert bundle.
1039         Backport:
1041         (cherry picked from commit 60c0f1a18ad88d6dc1a8f4ee5d9d18940eaeb6f7)
1043 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
1045         Ignore invalid SVG images
1047         * shr.el (shr-tag-svg): Ignore SVG images that have no width
1048         or height, because these can't be displayed by ImageMagick,
1049         anyway.
1051         Backport:
1053         (cherry picked from commit 821107d53c2e390240d25c036b99ebbf9b4a93b6)
1055 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
1057         shr table rendering fix
1059         * shr.el (shr-tag-table): Allow rendering body-less tables
1060         that have headers.
1062         Backport:
1064         (cherry picked from commit b05471e42c17e02c56c87d7599ada0c124a5fe09)
1066 2015-12-25  Eli Zaretskii  <eliz@gnu.org>
1068         Restore info about the build host in bug reports
1070         * lisp/mail/emacsbug.el (report-emacs-bug): Report the system on
1071         which Emacs was built.  This is important information for
1072         investigating bug reports reported by users who don't build their
1073         Emacs.
1075 2015-12-25  Eli Zaretskii  <eliz@gnu.org>
1077         Fix bootstrap broken by changes related to OS X file-name encoding
1079         * lisp/international/ucs-normalize.el (eval-when-compile): Make
1080         sure char-code-property-alist includes elements that allow access
1081         to 'decomposition' and 'canonical-combining-class' Unicode
1082         properties, as compiling ucs-normalize.el requires that.
1083         * lisp/loadup.el (featurep 'ns): Load ucs-normalize and ns-win
1084         only of charprop.el was already loaded.
1086         * src/Makefile.in ($(lispsource)/international/ucs-normalize.elc):
1087         New order-only dependency.
1089 2015-12-25  Leo Liu  <sdl.web@gmail.com>
1091         * ido.el (ido-add-virtual-buffers-to-list): Use bookmark-get-filename.
1093 2015-12-25  Michael Albinus  <michael.albinus@gmx.de>
1095         Make tramp-test29-vc-registered more robust
1097         * test/automated/tramp-tests.el (tramp-test29-vc-registered):
1098         Move `bzr' case down.  Skip test when `vc-create-repo' fails.
1099         Remove instrumentation.
1101 2015-12-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1103         * lisp/term/x-win.el (x-gtk-stock-map): Fix typo.
1105 2015-12-23  Katsumi Yamaoka  <yamaoka@jpl.org>
1107         Fix `gnus-union' so as to behave like `cl-union'
1109         * lisp/gnus/gnus-group.el (gnus-group-prepare-flat):
1110         Make gnus-union use `equal' to compare items in lists.
1112         * lisp/gnus/gnus-util.el (gnus-union):
1113         Make it behave like cl-union partially.
1115 2015-12-23  Paul Eggert  <eggert@cs.ucla.edu>
1117         Fix dired.c typo with ptrdiff_t vs Lisp_Object
1119         * src/dired.c (file_name_completion): Don't assume Lisp_Object is
1120         an integer type, fixing a problem introduced in the recent fix for
1121         Bug#22169.
1123 2015-12-23  Eli Zaretskii  <eliz@gnu.org>
1125         Document default process sentinel more prominently
1127         * doc/lispref/processes.texi (Asynchronous Processes): Mention the
1128         defaults for process filter and sentinel.  Provide cross-references.
1129         (Process Information): Provide cross-references to where filters
1130         and sentinels are described.
1131         (Filter Functions): Add an index entry for "default filter".
1132         (Sentinels): Add a few status messages not documented previously.
1133         Resolve the "killed" confusion.  Document and describe the default
1134         sentinel.  (Bug#22220)
1136 2015-12-23  Eli Zaretskii  <eliz@gnu.org>
1138         Fix file-name completion on OS X
1140         * src/dired.c (file_name_completion): Reject false matches due to
1141         file-name-coding-systems that decompose characters when encoding
1142         file names, by comparing decoded file names as well.  (Bug#22169)
1143         (syms_of_dired) <Qdecomposed_characters>: New DEFSYM.
1145         * lisp/international/ucs-normalize.el (utf-8-hfs): Give it a
1146         non-nil 'decomposed-characters' property.
1148 2015-12-23  Anders Lindgren  <andlind@gmail.com>
1150         File-name completion of non-ASCII characters on OS X (bug#22169)
1152         The coding system `utf-8-nfd', locally defined in ns-win.el,
1153         didn't provide a :pre-write-conversion method, causing file name
1154         completion of non-ASCII characters to fail.  Solved by using the
1155         `utf-8-hfs' coding system provided by `ucs-normalize'.
1157         * lisp/loadup.el: Load international/ucs-normalize (when building
1158         for ns).
1160         * lisp/term/ns-win.el (utf-8-nfd): Made `utf-8-nfd' as alias for
1161         `utf-8-hfs' and removed the old implementation.  Set `utf-8-hfs'
1162         as the file name coding system.
1164         * src/nsfns.c (ns-convert-utf8-nfd-to-nfc): Removed.
1166 2015-12-22  Tom Tromey  <tom@tromey.com>
1168         Fix bug #18588 by making bug-reference-bug-regexp more lenient
1170         * lisp/progmodes/bug-reference.el (bug-reference-bug-regexp): Accept
1171         "bug NNNN".  (Bug #18588)
1173 2015-12-22  Tom Tromey  <tom@tromey.com>
1175         add some cl-* aliases to lisp-mode imenu
1177         * (lisp-imenu-generic-expression): Add cl-define-compiler-macro,
1178         cl-defgeneric, and cl-defmethod.
1180 2015-12-22  Tom Tromey  <tom@tromey.com>
1182         Make a variable buffer-local
1184         * lisp/generic-x.el (generic-rul-mode-setup-function): Make
1185         font-lock-syntax-table buffer-local.  (Bug #21627)
1187 2015-12-22  Eli Zaretskii  <eliz@gnu.org>
1189         Fix decoding of text in URLs retrieved by EWW
1191         * lisp/net/eww.el (eww-render): Pass 'charset' to
1192         'eww-display-raw'.  Use the value of 'last-coding-system-used', if
1193         non-nil, to set 'buffer-file-coding-system' of the buffer where we
1194         show the URL.
1195         (eww-display-html, eww-display-raw): Decode the text correctly,
1196         using the charset found in the headers, and defaulting to UTF-8.
1197         If the user told us to use a specific encoding, override the
1198         charset from the headers.  (Bug#22222)
1200 2015-12-22  Alan Mackenzie  <acm@muc.de>
1202         Fix a coding error in c-forward-<>-arglist-recur.  Fixes bug#22156
1204         * lisp/progmodes/cc-engine.el (c-forward-<>-arglist-recur): Remove unused
1205         variable `tmp'.
1206         After a failed search for a matching ">", restore point before continuing.
1208 2015-12-22  Michael Albinus  <michael.albinus@gmx.de>
1210         Instrument Tramp tests
1212         * test/automated/tramp-tests.el (tramp-test29-vc-registered)
1213         (tramp--test-utf8): Instrument tests.
1215 2015-12-22  Martin Rudalics  <rudalics@gmx.at>
1217         Fix `display-buffer' call in `display-message-or-buffer' (Bug#22221)
1219         * lisp/simple.el (display-message-or-buffer): Call
1220         `display-buffer' with ACTION instead of NOT-THIS-WINDOW
1221         (Bug#22221).
1223 2015-12-21  Juri Linkov  <juri@linkov.net>
1225         * lisp/saveplace.el (toggle-save-place, save-place-to-alist)
1227         (save-places-to-alist, save-place-dired-hook):
1228         Check for dired-subdir-alist.  (Bug#19851)
1230 2015-12-21  Paul Eggert  <eggert@cs.ucla.edu>
1232         Add FIXME comment re stack overflow and modules
1234 2015-12-20  Paul Eggert  <eggert@cs.ucla.edu>
1236         Revert some recent emacs-module commentary
1238         Most of the recently-added commentary was incorrect, due to the
1239         possibility of stack overflow.
1241 2015-12-20  Paul Eggert  <eggert@cs.ucla.edu>
1243         Spelling fix: prefer "cooperate" to "co-operate"
1245 2015-12-20  Paul Eggert  <eggert@cs.ucla.edu>
1247         Port undo fixes to -fno-common
1249         Port recent fix for Bug#21968 to platforms like 'gcc -fno-common'.
1250         * src/keyboard.c, src/keyboard.h (point_before_last_command_or_undo)
1251         (buffer_before_last_command_or_undo):
1252         Declare in keyboard.h, and define in keyboard.c,
1253         instead of assuming the traditional Unix relaxed ref-def linkage.
1255 2015-12-20  Philipp Stephani  <phst@google.com>
1257         Improve commentary for emacs-module.c
1259         * src/lisp.h: Document emacs-module.c assumptions about EQ and NILP.
1260         * src/emacs-module.c (module_non_local_exit_get): Document that we
1261         cannot use the current implementation.
1262         (module_is_not_nil, module_eq): Document assumptions about EQ and
1263         NILP.
1265 2015-12-20  Michael Albinus  <michael.albinus@gmx.de>
1267         Suppress test on Mac OS X
1269         * test/automated/tramp-tests.el (tramp--test-darwin-p): New defun.
1270         (tramp--test-utf8): Use it.
1272 2015-12-20  Alan Mackenzie  <acm@muc.de>
1274         Merge branch 'scratch/follow' into emacs-25
1276         This allows Isearch, etc., to work well when Follow Mode is active.
1278 2015-12-19  Michael Albinus  <michael.albinus@gmx.de>
1280         * tramp-sh.el (tramp-get-ls-command-with-w-option): Improve check.
1282 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
1284         Fix last commit
1286         * doc/emacs/rmail.texi (Rmail Deletion): Document new behavior of 'u'
1287         with numeric argument.
1289 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
1291         Document new features of Rmail
1293         * doc/emacs/rmail.texi (Rmail Summary Edit, Rmail Deletion):
1294         Document new behavior of 'd' and 'C-d' with numeric argument.
1295         (Rmail Display): Document the rendering of HTML MIME parts.
1297 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
1299         Improve documentation of new cl-lib functions
1301         * doc/misc/cl.texi (Predicates on Numbers, Numerical Functions):
1302         Fix wording.
1304 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
1306         Document the new feature of 'minibuffer-with-setup-hook'
1308         * lisp/files.el (minibuffer-with-setup-hook): Clarify how FUN is
1309         added to `minibuffer-setup-hook'.
1311 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
1313         Document new features of Font Lock
1315         * doc/lispref/modes.texi (Other Font Lock Variables): Document
1316         'font-lock-flush-function' and 'font-lock-ensure-function'.
1317         (Font Lock Basics): Document the basic fontification functions
1318         referenced in "Other Font Lock Variables".
1320         * lisp/font-lock.el (font-lock-flush, font-lock-ensure): Doc fix.
1322 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
1324         Document new features of Rectangle mode
1326         * doc/emacs/killing.texi (Rectangles): Document "C-x C-x" in
1327         rectangle-mark-mode.
1329 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
1331         Manual followup to last change
1333         * doc/lispref/display.texi (Displaying Messages): Sync with the
1334         doc string.  (Bug#22210)
1336 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
1338         Clarify doc string of 'display-message-or-buffer'
1340         * lisp/simple.el (display-message-or-buffer): Doc fix.  Suggested
1341         by Sebastian Wiesner <swiesner@lunaryorn.com>.  (Bug#22210)
1343 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
1345         * doc/emacs/emacs.texi (Top): Update top-level menus.
1347         * doc/lispref/elisp.texi (Top): Update top-level menus.
1349 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
1351         Document how to avoid file-local variables that aren't
1353         * doc/emacs/custom.texi (Specifying File Variables): Describe how
1354         to prevent Emacs from interpreting unrelated text as file-local
1355         variables.  (Bug#22166)
1357 2015-12-19  Dave Thomas  <dave@pragprog.org>  (tiny change)
1359         Fix a typo in eterm-color's termcap entry
1361         * lisp/term.el (term-termcap-format): Fix a typo in the "ue="
1362         entry.  (Bug#22184)
1364 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
1366         Allow 'browse-url-emacs' visit non-existent URLs
1368         * lisp/url/url-handlers.el (url-insert-file-contents): Don't
1369         signal an error if VISIT is non-nil, to more faithfully emulate
1370         the behavior of 'insert-file-contents'.  (Bug#22160)
1372 2015-12-18  Paul Eggert  <eggert@cs.ucla.edu>
1374         Remove SunOS 4.x cruft
1376         Support for SunOS 4.x was removed in Emacs 23 but some cruft was left behind.
1377         * lib-src/pop.c [sun]: Remove no-longer-needed include.
1378         * lwlib/xlwmenu.c (SUNSO41): Remove.
1380 2015-12-18  Paul Eggert  <eggert@cs.ucla.edu>
1382         Merge from gnulib
1384         This mostly commentary fixes.
1385         * doc/misc/texinfo.tex, lib/intprops.h: Copy from gnulib.
1386         * lib/gnulib.mk: Regenerate with new gnulib-tool.
1388 2015-12-18  Michael Albinus  <michael.albinus@gmx.de>
1390         Minor fixes in Tramp
1392         * lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls):
1393         Reorder ls arguments.
1395         * lisp/net/tramp.el (tramp-dissect-file-name): Fix docstring.
1397 2015-12-18  Michael Albinus  <michael.albinus@gmx.de>
1399         Make tramp a built-in package
1401         * lisp/finder.el (finder-compile-keywords): Update
1402         `package--builtins' also when Version: keyword is available.
1404         * lisp/net/trampver.el: Add Version: keyword.
1405         (tramp-version): Change it to "2.2.13.25.1", in order to be
1406         compatible with `version-to-list'.
1408 2015-12-18  Lele Gaifax  <lele@metapensiero.it>
1410         * etc/tutorials/TUTORIAL.it: Update and fix typos.
1412 2015-12-18  Alan Mackenzie  <acm@muc.de>
1414         Rename `recenter-group' to `recenter-window-group'
1416         * doc/lispref/windows.texi (Textual Scrolling)
1417         * lisp/window.el (top level, recenter-group)
1418         * lisp/follow.el (follow-mode)
1419         * lisp/isearch.el (isearch-back-into-window): Rename `recenter-group' to
1420         `recenter-window-group' and `recenter-group-function' to
1421         `recenter-window-group-function'.
1423 2015-12-18  Eli Zaretskii  <eliz@gnu.org>
1425         Fix vertical-motion in tabulated-list mode
1427         * src/indent.c (Fvertical_motion): When moving from line beginning
1428         to point under line truncation, assume overshoot by one line only
1429         if point actually lies beyond the window's right margin.
1430         (Bug#22194)
1432 2015-12-18  Martin Rudalics  <rudalics@gmx.at>
1434         Don't have help functions call x-display-pixel-width/-height on ttys
1436         * lisp/help.el (temp-buffer-max-height, temp-buffer-max-width):
1437         Don't call x-display-pixel-width/-height on ttys.
1439 2015-12-17  Dmitry Gutov  <dgutov@yandex.ru>
1441         Use 'hg id' in vc-hg-previous-revision
1443         * lisp/vc/vc-hg.el (vc-hg-previous-revision):
1444         Use 'hg id' to retrieve it (bug#22032).
1446 2015-12-17  Alan Mackenzie  <acm@muc.de>
1448         * lisp/follow.el (follow-sit-for): Remove (it's redundant).
1450 2015-12-17  Eli Zaretskii  <eliz@gnu.org>
1452         Fix a typo in the Emacs manual
1454         * doc/emacs/trouble.texi (Sending Patches): Fix a typo.  Reported
1455         by Lele Gaifax <lele@metapensiero.it>.  (Bug#22193)
1457 2015-12-17  Eli Zaretskii  <eliz@gnu.org>
1459         Fix parsing netrc entries with ports
1461         * lisp/gnus/auth-source.el (auth-source-ensure-strings): Don't
1462         make a list out of 't'.  (Bug#22188)
1464         * test/automated/auth-source-tests.el
1465         (auth-source-test-netrc-parse-entry): New test.
1467 2015-12-17  Paul Eggert  <eggert@cs.ucla.edu>
1469         Fix typo in Doug Lea malloc configure log
1471         * configure.ac (emacs_cv_var_doug_lea_malloc):
1472         Fix typo that confused the log output of 'configure'.
1474 2015-12-16  Nicolas Petton  <nicolas@petton.fr>
1476         * etc/NEWS: Mention the new pcase patterns `seq' and `map'.
1478 2015-12-16  Alan Mackenzie  <acm@muc.de>
1480         * etc/NEWS: Move entry on pcase to correct section
1482         (Accidentally omitted from previous commit)
1484 2015-12-16  Alan Mackenzie  <acm@muc.de>
1486         Add documentation for changes to Show Paren mode.
1488         * lisp/paren.el (show-paren-highlight-openparen): Enhance doc string.
1490         * doc/emacs/programs.texi (Matching): Add descriptions of some pertinent user
1491         options, including the new show-paren-when-point-inside-paren and
1492         show-paren-when-point-in-periphery.
1494         * etc/NEWS (.. Specialized Modes ...): Add an entry for Show Paren mode.
1495         Move an entry on pcase to the Lisp Changes section.
1497 2015-12-16  Eli Zaretskii  <eliz@gnu.org>
1499         Document Eldoc changes
1501         * doc/emacs/programs.texi (Lisp Doc): Document Global Eldoc mode.
1503 2015-12-16  Eli Zaretskii  <eliz@gnu.org>
1505         Fix invocation of Python and Guile interpreters from gdb-mi
1507         * lisp/progmodes/gdb-mi.el (gdb-control-commands-regexp): Add
1508         commands for interactive Python and Guile interpreters.
1509         (gdb-send): Recognize various ways of exiting from Python and
1510         Guile interpreters and returning to GDB.  For details, see
1511         http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg00693.html
1512         and http://stackoverflow.com/questions/31514741.
1514 2015-12-16  Paul Eggert  <eggert@cs.ucla.edu>
1516         Remove attempt to use C11 threads
1518         C11 threads are not needed for Emacs now, and their use is causing
1519         hassles on FreeBSD 10.x.  Problem reported by Ashish SHUKLA in:
1520         http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg00648.html
1521         * configure.ac: Do not check for C11 threads. Remove unnecessary
1522         fiddling with CPPFLAGS when configuring pthreads.
1523         * src/emacs-module.c (main_thread, check_main_thread)
1524         (module_init): Do not worry about C11 threads.
1526 2015-12-15  Michael Albinus  <michael.albinus@gmx.de>
1528         Set utf8 encoding with stty in Tramp
1530         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
1531         Move up uname check.  Handle Mac OS X eol encoding.  Set utf8
1532         encoding with stty.
1534 2015-12-15  Alan Mackenzie  <acm@muc.de>
1536         Tidy up documentation associated with window groups.
1538         * doc/lispref/windows.texi (Basic Windows): Add an @anchor for "Window
1539         Groups".  Correct example function to `window-group-start'.
1540         (Window Start and End, Textual scrolling): Point to the new anchor.  State
1541         that (most of) the args in window group functions have the same meaning as for
1542         the corresponding window primitives.
1544         * doc/lispref/positions.texi (Screen Lines).  Same as above.
1546 2015-12-15  Michael Albinus  <michael.albinus@gmx.de>
1548         Complete last commit
1550         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
1551         Move uname check up.  Handle Mac OS X eol encoding.
1553 2015-12-15  Michael Albinus  <michael.albinus@gmx.de>
1555         Handle Mac OS X eol encoding in Tramp
1557         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
1558         Handle Mac OS X eol encoding.
1560 2015-12-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1562         Fix variable name typo in compute_tip_xy
1564         * src/w32fns.c (compute_tip_xy):
1565         * src/xfns.c (compute_tip_xy): Modify *root_x instead of *root_y
1566         when `right' is integer.
1568 2015-12-14  foudfou  <foudil.newbie+git@gmail.com>
1570         * lisp/ibuffer.el: Add ability to (un-)mark or delete buffers in the region.
1572 2015-12-14  Tassilo Horn  <tsdh@gnu.org>
1574         Revert "Fix rx matcher overflow without limiting"
1576         This reverts commit fe27e037663d36be3e5741c2ce86ab4ee8017db1.
1578 2015-12-14  Alan Mackenzie  <acm@muc.de>
1580         Ispell: Bind isearch-regexp-function to nil around call to isearch..-new-loop
1582         * lisp/textmodes/ispell.el (ispell-highlight-spelling-error-overlay): bind
1583         isearch-regexp-function to nil around call to isearch-lazy-highligh-new-loop.
1585 2015-12-14  Tassilo Horn  <tsdh@gnu.org>
1587         Fix rx matcher overflow without limiting
1589         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Improve last
1590         change to the regexp without imposing a limit on the length of the
1591         options.
1593 2015-12-14  Alan Mackenzie  <acm@muc.de>
1595         Enhance ispell-skip-region-alist by generating part of it at runtime.
1597         * lisp/textmodes/ispell.el (ispell--\\w-filter, ispell--make-\\w-expression)
1598         (ispell--make-filename-or-URL-re): New functions which generate a regexp.
1599         (ispell-skip-region-alist): Remove the bit that matches a filename/URL, etc.
1600         (ispell-begin-skip-region-regexp, ispell-skip-region-list, ispell-message):
1601         Include the result of ispell--make-filename-or-URL-re in regexps.
1603 2015-12-14  Glenn Morris  <rgm@gnu.org>
1605         * build-aux/gitlog-to-emacslog: Ignore more pointless merge commits.
1607 2015-12-14  Alan Mackenzie  <acm@muc.de>
1609         Replace GROUP argument in six window primitives by new functions.
1611         * doc/lispref/windows.texi (Window Start and End, Textual Scrolling)
1612         * doc/lispref/positions.texi (Screen Lines): Remove optional GROUP argument
1613         from description of six window functions.  Add in description of new functions
1614         window-group-start, window-group-end, set-window-group-start,
1615         pos-visible-in-window-group-p, recenter-group and move-to-window-group-line,
1616         together with the six variables indirecting to the pertinent group
1617         functions.
1619         * src/window.c
1620         * src/keyboard.c: Revert the commit from 2015-11-11 12:02:48, in so far as it
1621         applies to these two files, which added the GROUP argument to six window
1622         primitives.
1624         * lisp/follow.el (follow-mode): Use updated variable names for the indirected
1625         functions.
1627         * lisp/isearch.el (isearch-update, isearch-done, isearch-string-out-of-window)
1628         (isearch-back-into-window, isearch-lazy-highlight-new-loop)
1629         (isearch-lazy-highlight-search, isearch-lazy-highlight-update): Replace calls
1630         to window primitives (e.g. window-start) with a GROUP argument by calls to
1631         new functions (e.g. window-group-start).
1633         * lisp/ispell.el (ispell-command-loop): Replace call to
1634         pos-visible-in-window-p with pos-visible-in-window-group-p.
1636         * lisp/window.el (window-group-start, window-group-end)
1637         (set-window-group-start, recenter-group, pos-visible-in-window-group-p)
1638         (selected-window-group, move-to-window-group-line): New functions.
1639         (window-group-start-function, window-group-end-function)
1640         (set-window-group-start-function, recenter-group-function)
1641         (pos-visible-in-window-group-p-function, selected-window-group-function)
1642         (move-to-window-group-line-function): New variables.
1644 2015-12-14  Vitorio Miguel  <vdrbandeiras@gmail.com>  (tiny change)
1646         * etc/tutorials/TUTORIAL.pt_BR: Fix a typo.  (Bug#22165)
1648 2015-12-13  Eli Zaretskii  <eliz@gnu.org>
1650         Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emacs into emacs-25
1652 2015-12-13  Tassilo Horn  <tsdh@gnu.org>
1654         Improve regex to not trigger stack overflow
1656         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Improve regex in
1657         order not to trigger a stack overflow in regex matcher with unbalanced
1658         brackets (bug#22146).
1660 2015-12-13  Eli Zaretskii  <eliz@gnu.org>
1662         Fix visiting files with raw-text
1664         * src/fileio.c (Finsert_file_contents): Fix setting buffer unibyte
1665         when some stuff was actually read.  (Bug#22162)
1667 2015-12-13  Tassilo Horn  <tsdh@gnu.org>
1669         Fix regex matching keyval labels
1671         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Fix regexp
1672         matching keyval labels.
1674 2015-12-13  Michael Albinus  <michael.albinus@gmx.de>
1676         * lisp/ido.el (ido-file-name-all-completions-1): Do not raise an error
1678         ... in case of Tramp.  (Bug#20821)
1680 2015-12-12  Paul Eggert  <eggert@cs.ucla.edu>
1682         Fix performance regression with gcc -O0
1684         This fixes the smaller performance hit that I noted in:
1685         https://lists.gnu.org/archive/html/emacs-devel/2015-12/msg00357.html
1686         * src/alloc.c (macro_XPNTR_OR_SYMBOL_OFFSET, macro_XPNTR):
1687         * src/puresize.h (puresize_h_PURE_P)
1688         (puresize_h_CHECK_IMPURE):
1689         New macros, with the old contents of the functions.
1690         * src/alloc.c (XPNTR_OR_SYMBOL_OFFSET, XPNTR):
1691         * src/puresize.h (PURE_P, CHECK_IMPURE):
1692         Use the new macros.  Also macros, if DEFINE_KEY_OPS_AS_MACROS.
1693         * src/conf_post.h (ATTRIBUTE_UNUSED):
1694         * src/lisp.h (DEFINE_KEY_OPS_AS_MACROS): New macros.
1696 2015-12-12  Artur Malabarba  <bruce.connor.am@gmail.com>
1698         * lisp/emacs-lisp/package.el (package-unpack): Security check
1700         Check that we received the package we were offered.
1702 2015-12-12  Artur Malabarba  <bruce.connor.am@gmail.com>
1704         * lisp/emacs-lisp/package.el (package--compile): Don't activate
1706         `package-unpack' takes care of all activations now (other than
1707         `package-initialize).  `package--compile' now only compiles.
1709 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
1711         Document the new bindings of <UP> and <DOWN> in the minibuffer
1713         * doc/emacs/mini.texi (Minibuffer History): Describe the new
1714         bindings of <UP> and <DOWN> in the minibuffer.
1716 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
1718         Document new features of Ido
1720         * doc/misc/ido.texi (Misc): Document 'C-S-b'.
1722 2015-12-12  Martin Rudalics  <rudalics@gmx.at>
1724         Fix frame height calculations with added menu bar on Windows (Bug#22105)
1726         * doc/lispref/frames.texi (Parameter Access): Mention pitfalls
1727         when simultaneously specifying multiple parameters for
1728         `modify-frame-parameters' that all may change the frame's size.
1729         * src/w32fns.c (x_set_menu_bar_lines): Don't set
1730         windows_or_buffers_changed here.
1731         (my_create_tip_window, Fx_show_tip): Call AdjustWindowRect
1732         with third argument false.
1733         * src/w32menu.c (set_frame_menubar): Set
1734         windows_or_buffers_changed here.
1735         * src/w32term.c (x_set_window_size): Determine third argument of
1736         AdjustWindowRect from whether the frame has a menu bar and not
1737         from whether it wants one.
1739 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
1741         Document the change in interactive shell mode
1743         * doc/emacs/misc.texi (Interactive Shell): Document that the
1744         '*shell*' buffer by default displays in a new window.
1746 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
1748         Document new features of package.el
1750         * doc/emacs/package.texi (Package Menu): Document the 'external'
1751         status and the new menu commands.
1752         (Package Installation): Document archive priorities.
1754         * lisp/emacs-lisp/package.el (package-archive-priorities): Doc fix.
1755         (package-menu-hide-low-priority): Doc fix.
1757 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
1759         Update and document new features of xterm support
1761         * doc/emacs/frames.texi (Text-Only Mouse): Document that
1762         track-mouse is supported by newer xterm versions.
1764 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
1766         Document new features of Prettify Mode
1768         * doc/emacs/programs.texi (Misc for Programs): Document
1769         'prettify-symbols-compose-predicate' and
1770         'prettify-symbols-unprettify-at-point'.
1772         * lisp/progmodes/prog-mode.el (prettify-symbols-alist)
1773         (prettify-symbols-default-compose-p)
1774         (prettify-symbols-compose-predicate)
1775         (prettify-symbols--compose-symbol): Doc fixes.
1777 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
1779         Document multi-mode indentation facilities
1781         * doc/lispref/text.texi (Mode-Specific Indent): Document
1782         'prog-indentation-context', 'prog-first-column', and 'prog-widen'.
1784         * lisp/progmodes/prog-mode.el (prog-indentation-context)
1785         (prog-widen): Doc fixes.
1787 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
1789         Document 'vc-refresh-state'
1791         * doc/emacs/maintaining.texi (Version Control): Document
1792         'vc-refresh-state'.
1794         * lisp/vc/vc-hooks.el (vc-refresh-state): Doc fix.
1796 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
1798         Fix echo for "C-u"
1800         * src/keyboard.c (command_loop_1): Undo last change.  It caused
1801         duplicate echo of C-u.  (Bug#22107)
1803 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
1805         Avoid errors when creating files under SVN in new directory
1807         * lisp/vc/vc-svn.el (vc-svn-registered): Use
1808         file-accessible-directory-p, to avoid cd'ing to a non-existing
1809         directory, which signals an error on some systems.  (Bug#21984)
1810         (vc-svn-checkin): Call log-edit-extract-headers with 2 arguments.
1811         Use declare-function to avoid byte-compiler warnings.
1813 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
1815         Improve Lua support in etags
1817         * lib-src/etags.c (Lua_functions): Skip spaces before looking for
1818         "function".
1820         * etc/NEWS: Mention improved Lua support by 'etags'.
1822         * test/etags/lua-src/test.lua (test): Add tests for indented
1823         function definitions.
1824         * test/etags/ETAGS.good_1:
1825         * test/etags/ETAGS.good_2:
1826         * test/etags/ETAGS.good_3:
1827         * test/etags/ETAGS.good_4:
1828         * test/etags/ETAGS.good_5:
1829         * test/etags/ETAGS.good_6:
1830         * test/etags/CTAGS.good: Adapt to the modified Lua tests.
1832 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
1834         Fix 'this-command-keys' wrt prefix argument
1836         * src/keyboard.c (command_loop_1): Restore the feature whereby C-u
1837         was part of this-command-keys, but not of this-single-command-keys.
1838         (Bug#22107)
1840         * lisp/simple.el (internal-echo-keystrokes-prefix): Add
1841         commentary about the function's return value.
1843 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
1845         * lisp/files.el (load-library): Doc fix.  (Bug#22140)
1847 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
1849         Improve and document Ruby support in 'etags'
1851         * lib-src/etags.c (Ruby_suffixes): Add ".ruby".
1852         (Ruby_functions): Support "module" and overloaded operators.
1853         (Ruby_help): Mention "module".
1855         * test/etags/ruby-src/test.rb:
1856         * test/etags/ruby-src/test1.ruby: New files.
1857         * test/etags/Makefile (RBSRC): New tests.
1858         (SRCS): Add ${RBSRC}.
1859         * test/etags/ETAGS.good_1:
1860         * test/etags/ETAGS.good_2:
1861         * test/etags/ETAGS.good_3:
1862         * test/etags/ETAGS.good_4:
1863         * test/etags/ETAGS.good_5:
1864         * test/etags/ETAGS.good_6:
1865         * test/etags/CTAGS.good: Adapt to the new Ruby tests.
1867         * doc/man/etags.1: Mention Ruby support.
1868         * etc/NEWS: Mention Ruby support.
1870 2015-12-11  Xi Lu  <lx@shellcodes.org>
1872         Initial support for Ruby in 'etags'
1874         * lib-src/etags.c <Ruby_suffixes>: New variable.
1875         (lang_names): Add an entry for Ruby.
1876         (Ruby_functions): New function.  (Bug#22116)
1878 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
1880         Clarify documentation of 'modify-frame-parameters'
1882         * doc/lispref/frames.texi (Parameter Access): Clarify what "ignored
1883         PARMs" mean for 'modify-frame-parameters'.
1885         * src/frame.c (Fmodify_frame_parameters): Clarify what "ignored
1886         PARMs" mean for this function.  (Bug#22104)
1888 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
1890         Fix setting buffer unibyte when reading from a device
1892         * src/fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
1893         to make a (possibly non-empty) buffer unibyte.  (Bug#22096)
1895 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
1897         Clarify documentation of 'values'
1899         * doc/lispref/eval.texi (Eval): Clarify that 'values' are not
1900         updated by any evaluation commands in 'lisp-interaction-mode'.
1901         (Bug#22056)
1903 2015-12-11  Anders Lindgren  <andlind@gmail.com>
1905         Fixed subversion vc error when opening file in new directory (bug#21984).
1907         * lisp/vc/vc-svn.el (vc-svn-registered): Check if directory exists.
1909 2015-12-09  Eli Zaretskii  <eliz@gnu.org>
1911         Yet another fix for when point ends up in invisible text
1913         * src/xdisp.c (redisplay_window): When someone forced
1914         window-start, and honoring that failed to show the cursor, try
1915         moving out of invisible text, before falling back to the middle of
1916         the window.  (Bug#22098)
1918 2015-12-09  Michael Albinus  <michael.albinus@gmx.de>
1920         Fix error in Tramp perl script for cygwin
1922         * lisp/net/tramp-sh.el (tramp-perl-file-truename): Do not raise an
1923         error if file doesn't exist.
1925 2015-12-09  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1927         Remove font workaround for limited outdated versions
1929         * src/macfont.m (mac_font_descriptor_get_adjusted_weight): Remove
1930         workaround for HiraginoSans-W7 on OS X 10.11 and 10.11.1.
1932 2015-12-09  Anders Lindgren  <andlind@gmail.com>
1934         Don't add "." to load path (bug#21104)
1936         When configured with --enable-locallisppath=no, which is the
1937         default for OS X, the load-path incorrectly was populated with ".".
1939         * src/lread.c (init_lread): Don't call `decode_env_path' when
1940         PATH_SITELOADSEARCH is empty.
1942 2015-12-08  Artur Malabarba  <bruce.connor.am@gmail.com>
1944         * lisp/emacs-lisp/package.el (package--with-response-buffer):
1946         Search for the blank-line in the right buffer.
1948 2015-12-08  Glenn Morris  <rgm@gnu.org>
1950         * test/automated/simple-test.el (undo-auto-boundary-timer): Update
1951         for recent change.
1953 2015-12-08  Glenn Morris  <rgm@gnu.org>
1955         Fix some display-warning usage.
1957         * lisp/files.el (hack-local-variables, hack-dir-local-variables):
1958         * lisp/calendar/diary-lib.el (diary-include-files, diary-sexp-entry):
1959         * lisp/calendar/holidays.el (calendar-holiday-list):
1960         * lisp/mail/rmailout.el (rmail-output-read-file-name):
1961         Fix display-warning usage.
1963 2015-12-07  Glenn Morris  <rgm@gnu.org>
1965         * lisp/calendar/cal-html.el: Require diary-lib.
1967         (cal-html-list-diary-entries): Handle no diary.  (Bug#21994)
1969 2015-12-07  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
1971         Add Obsolete-since header to eudcb-ph.el
1973         * eudcb-ph.el: Add Obsolete-since header.
1975 2015-12-07  Paul Eggert  <eggert@cs.ucla.edu>
1977         Spelling fixes
1979         * doc/misc/calc.texi (Predefined Units): Use the bland modern
1980         scientific style for spelling the units “ampere” and
1981         “angstrom” rather than the older style “Ampere” and
1982         “Ångstrom”.  The latter spelling was wrong anyway (it should
1983         have been “Ångström”).
1984         * lisp/emacs-lisp/ert.el (ert--explain-equal-rec):
1985         Fix misspelling of ‘atom’ in code.
1987 2015-12-07  Eli Zaretskii  <eliz@gnu.org>
1989         Improve documentation of kill commands
1991         * lisp/simple.el (region-extract-function, delete-backward-char)
1992         (delete-forward-char, kill-region, copy-region-as-kill)
1993         (kill-ring-save): Better document the optional argument REGION in
1994         the doc strings.  Mention in the doc strings that text put in the
1995         kill-ring can be filtered by 'filter-buffer-substring'.
1997         * doc/lispref/text.texi (Kill Functions): Mention that functions
1998         described in this subsection can filter text they put in the
1999         kill-ring.  Add a cross-reference to "Buffer Contents" and an
2000         index entry.  Document the optional argument 'region' and its
2001         effect.
2002         (Bug#21315)
2004 2015-12-07  Alan Mackenzie  <acm@muc.de>
2006         Further progress making Isearch, Ispell, Replace work with Follow Mode.
2008         * lisp/follow.el: (follow-mode): Remove references to sit*-for-function, which
2009         no longer exists.  Add follow-post-command-hook to  three special purpose
2010         hooks at setup, and remove them at tear down.
2012         * lisp/isearch.el: (isearch-update): invoke isearch-update-post-hook before
2013         isearch-lazy-highlight-new-loop.
2014         (isearch-lazy-highlight-new-loop): Restore this function to what it previously
2015         was, merging the functionality of isearch-lazy-highlight-maybe-new-loop into
2016         it.
2017         (isearch-lazy-highlight-maybe-new-loop): function removed.
2019         * lisp/replace.el: (replace-update-post-hook): New hook variable.
2020         (perform-replace): Add second (nil) argument to looking-back.  Invoke
2021         replace-update-post-hook before calling replace-highlight.
2023         * lisp/textmodes/ispell.el: (ispell-update-post-hook): New hook variable.
2024         (ispell-command-loop): invoke ispell-update-post-hook.  Add GROUP argument to
2025         call of pos-visible-in-window-p.
2026         (ispell-display-buffer): Place *Choices* window at the top of the last window
2027         in a window group.
2029 2015-12-07  Alan Mackenzie  <acm@muc.de>
2031         Amend doc of `mapconcat': it can take sequences, not merely strings.
2033         * doc/lispref/functions.texi (Mapping Functions): Amend the doc of `mapconcat'
2034         to say that SEPARATOR and the results from FUNCTION may be any character
2035         sequences, not just strings.  Add an @xref to "Sequences Arrays Vectors".
2037 2015-12-07  Michael Albinus  <michael.albinus@gmx.de>
2039         Fix an utf8 problem for Tramp on BSD
2041         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
2042         Make lax check for utf8.
2043         (tramp-get-remote-locale): Add "en_US.UTF-8" as candidate.
2045 2015-12-06  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
2047         Make eudcb-ph.el obsolete
2049         * doc/misc/eudc.texi: Bump version to 1.40.0.
2050         Remove PH/QI sections and mentions.
2051         * lisp/obsolete/eudcb-ph.el: Make obsolete.
2052         * lisp/net/eudc-vars.el (eudc-known-protocols): Remove ph.
2053         (eudc-ph-bbdb-conversion-alist): Make obsolete.
2054         * etc/NEWS: Mention this.  (Bug#21191)
2056 2015-12-06  Paul Eggert  <eggert@cs.ucla.edu>
2058         Remove overenthusiastic eassert
2060         * src/lisp.h (XSYMBOL): Remove eassert incorrectly added in
2061         previous change.  It breaks on MS-Windows --with-wide-int.
2062         Problem reported by Eli Zaretskii in:
2063         http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg00275.html
2065 2015-12-06  Paul Eggert  <eggert@cs.ucla.edu>
2067         Pacify gcc -Wparentheses
2069         * src/xdisp.c (row_containing_pos): Reparenthesize.
2071 2015-12-06  Paul Eggert  <eggert@cs.ucla.edu>
2073         Port mod-test to 32-bit Emacs --without-wide-int
2075         * modules/mod-test/test.el (mod-test-sum-test):
2076         Bring back the 2**29 tests, but port them to 32-bit Emacs
2077         --without-wide-int.
2079 2015-12-06  Michael Albinus  <michael.albinus@gmx.de>
2081         Fix minor Tramp problems found on BSD
2083         * lisp/net/tramp-sh.el (tramp-perl-file-truename): Do not append
2084         trailing slash.  Quote apostrophes.
2085         (tramp-sh-handle-file-truename): Do not append trailing slash in
2086         the "ls" case.
2087         (tramp-get-ls-command-with-w-option): New defun.
2088         (tramp-do-file-attributes-with-ls)
2089         (tramp-do-directory-files-and-attributes-with-stat): Use it.
2091         * test/automated/tramp-tests.el
2092         (tramp-test31-special-characters-with-perl)
2093         (tramp-test31-special-characters-with-ls)
2094         (tramp-test32-utf8-with-perl, tramp-test32-utf8-with-ls):
2095         Suppress also readlink.
2097 2015-12-06  Eli Zaretskii  <eliz@gnu.org>
2099         Fix cursor display when invisible text is at line beginning
2101         * src/xdisp.c (redisplay_window): When scrolling fails to show
2102         point, prefer using the desired matrix if possible for finding the
2103         fallback glyph row for displaying the cursor.  (Bug#22098)
2104         (row_containing_pos): Exit the loop as soon as we hit the first
2105         disabled glyph row.  Otherwise we risk accessing garbled data and
2106         departing to the no-no land.
2108 2015-12-06  Paul Eggert  <eggert@cs.ucla.edu>
2110         Improve module interface when WIDE_EMACS_INT
2112         * src/emacs-module.c (plain_values): New constant.
2113         (module_nil): Now a constant.
2114         (Finternal_module_call, value_to_lisp_bits, lisp_to_value_bits)
2115         (syms_of_module): Use if, not #ifdef, so that both sides are
2116         checked at compile-time, and so that GCC doesn’t complain
2117         about an unused var in the typical case.  Also, depend on
2118         plain_values, not on WIDE_EMACS_INT; the code shouldn’t assume
2119         that WIDE_EMACS_INT implies !USE_LSB_TAG.
2120         (value_to_lisp_bits, lisp_to_value_bits): New functions.
2121         Sign-extend integers rather than zero-extending them, as small
2122         negative integers are more likely.
2123         (value_to_lisp, lisp_to_value): Rewrite in terms of the new *_bits
2124         functions.
2125         (HAVE_STRUCT_ATTRIBUTE_ALIGNED): Define to 0 if not already defined.
2126         (mark_modules): Remove.  All uses removed.
2127         (lisp_to_value): Don’t assume Fcons returns a pointer aligned
2128         to GCALIGNMENT.
2129         (syms_of_module): Check that module_nil converts to Qnil.
2130         * src/lisp.h (lisp_h_XSYMBOL, XSYMBOL): Use signed conversion, since
2131         we prefer signed to unsigned when either will do.
2132         (TAG_PTR): Sign-extend pointers when USE_LSB_TAG, as this is
2133         a bit better for emacs-module.c.
2135 2015-12-06  Paul Eggert  <eggert@cs.ucla.edu>
2137         Port mod-test to x86-64 GNU/Linux running 32-bit
2139         * modules/mod-test/test.el (mod-test-sum-test):
2140         Don’t attempt to match descriptions to operating systems.
2141         It didn’t work on Fedora x86-64 running a 32-bit executable,
2142         and it’s not worth the trouble anyway.
2143         Port to 32-bit platforms by removing an assumption about
2144         fixnum widths.
2146 2015-12-06  Michael Albinus  <michael.albinus@gmx.de>
2148         Fix auto-revert-tests.el when filenotify isn't used
2150         * test/automated/auto-revert-tests.el (auto-revert--wait-for-revert):
2151         Make it working also when filenotify isn't used.
2153 2015-12-05  Juri Linkov  <juri@linkov.net>
2155         * lisp/textmodes/ispell.el (ispell-highlight-spelling-error-overlay):
2157         Let-bind isearch-regexp-function to nil.  (Bug#22097)
2159 2015-12-05  Artur Malabarba  <bruce.connor.am@gmail.com>
2161         * lisp/emacs-lisp/package.el: Don't install bad signatures (bug#22089)
2163         (package--with-response-buffer): NOERROR and ERROR-FORM only
2164         handle connection errors.
2165         (bad-signature): New error type.
2166         (package--check-signature-content): Use it.
2167         (package--check-signature): Properly distinguish connection errors
2168         from bad-signature errors.  Do the check for
2169         `package-check-signature' `allow-unsigned' here instead of forcing
2170         the callbacks to do it.  Add a new argument, UNWIND.
2171         (package--download-one-archive, package-install-from-archive):
2172         Update usage of `package--check-signature'.
2174 2015-12-05  Ulf Jasper  <ulf.jasper@web.de>
2176         Fix Bug#22092.
2178         * lisp/calendar/icalendar.el (icalendar--get-unfolded-buffer):
2179           Clean up inconsistent line endings. (Bug#22092)
2180           (icalendar--clean-up-line-endings): New.
2181         * test/automated/icalendar-tests.el (icalendar-real-world): Add test
2182           for Bug#22092.
2184 2015-12-05  Eli Zaretskii  <eliz@gnu.org>
2186         Document 'bookmark-set-no-overwrite'
2188         * doc/emacs/regs.texi (Bookmarks): Document the new command
2189         'bookmark-set-no-overwrite' and its keybinding.
2191 2015-12-05  Eli Zaretskii  <eliz@gnu.org>
2193         Document new binding of 'mouse-buffer-menu'
2195         * doc/emacs/buffers.texi (Buffer Menus): 'mouse-buffer-menu' is
2196         now also on C-F10.
2198 2015-12-05  Eli Zaretskii  <eliz@gnu.org>
2200         Initial documentation of dynamic modules
2202         * doc/lispref/loading.texi (Dynamic Modules): New section with
2203         initial documentation for dynamic modules.
2204         * doc/lispref/elisp.texi (Top): Add "Dynamic Modules" to the
2205         detailed menu
2207         * etc/NEWS: Fix typos in dynamic modules' entry.
2209 2015-12-05  Artur Malabarba  <bruce.connor.am@gmail.com>
2211         Remove copyright statements from trivial test files
2213 2015-12-05  Eli Zaretskii  <eliz@gnu.org>
2215         Add "Preliminaries" section to etc/DEBUG
2217         * etc/DEBUG: Add the "Preliminaries" section for GDB beginners.
2218         Most of the content was suggested by Phillip Lord
2219         <phillip.lord@russet.org.uk>.  Remove the section about debugging
2220         with the Visual Studio, as building Emacs with the Microsoft
2221         compilers is no longer supported.  Minor fixes in some other
2222         sections.
2224 2015-12-05  Alex Dunn  <dunn.alex@gmail.com>  (tiny change)
2226         Improve parsing of version strings
2228         * lisp/subr.el (version-regexp-alist): Allow "." as priority separator
2229         (version-to-list): More helpful error messages.
2230         (version-to-list): ".5" is valid (update docstring).  Make
2231         "22.8X3" invalid, as the doc string says.
2233         * test/automated/subr-tests.el (ert-test-version-parsing): New
2234         tests for version string processing.
2236 2015-12-05  Eli Zaretskii  <eliz@gnu.org>
2238         Fix documentation of 'undo' changes
2240         * doc/lispref/text.texi (Undo): Minor wording changes.  Use US
2241         English conventions for spelling and whitespace between sentences.
2243         * etc/NEWS: Fix wording and spelling of undo-related entries.
2244         Mark them as documented.
2246 2015-12-04  Glenn Morris  <rgm@gnu.org>
2248         * lisp/net/net-utils.el: Small improvements.
2250         (net-utils--executable-find-sbin): New function.
2251         (ifconfig-program): Check sbin directories.
2252         Fallback to "ip".  (Bug#22091)
2253         (ifconfig-program-options): Check the actual program in use.
2254         (arp-program): Check sbin directories.
2256 2015-12-04  (tiny change) Arash Esbati  <esbati@gmx.de>  (tiny change)
2258         Fix wrong-type-argument integer-or-marker-p nil error
2260         * lisp/textmodes/reftex-auc.el (reftex-what-index-tag):
2261         Fix (wrong-type-argument integer-or-marker-p nil) error (bug#22077).
2263 2015-12-04  Alan Mackenzie  <acm@muc.de>
2265         Merge branch 'scratch/follow' of /home/acm/emacs/emacs.git/emacs-25 into scratch/follow
2267         Merge necessitated by a rebase operation.
2269 2015-12-04  Alan Mackenzie  <acm@muc.de>
2271         lisp/isearch.el: Eliminate macro isearch-call-message, replacing with funcall.
2273 2015-12-04  Alan Mackenzie  <acm@muc.de>
2275         First commit to scratch/follow.  Make Isearch work with Follow Mode, etc.
2277         doc/lispref/window.texi (Basic Windows): Add paragraph defining "Group of
2278         Windows" and new @defun selected-window-group.
2279         (Window Start and End): Describe new &optional parameter GROUP and
2280         ...-group-function for window-start, window-end, set-window-start, and
2281         pos-visible-in-window-p.
2282         (Textual Scrolling) Describe the same for recenter.
2283         doc/lispref/positions.texi (Screen Lines): Describe the same for
2284         move-to-window-line.
2286         src/window.c (Fwindow_start, Fwindow_end, Fset_window_start)
2287         (Fpos_visible_in_window_p, Frecenter, Fmove_to_window_line): To each, add ar
2288         new optional parameter "group".  At the beginning of each, check whether the
2289         corresponding ...-group-function is set to a function, and if so execute this
2290         function in place of the normal processing.
2291         (syms_of_window): Define symbols for the six new variables below.
2292         (window-start-group-function, window-end-group-function)
2293         (set-window-start-group-function, recenter-group-function)
2294         (pos-visible-in-window-p-group-function, move-to-window-line-group-function):
2295         New permanent local buffer local variables.
2296         src/keyboard.c (Fposn_at_point): Add extra parameter in call to
2297         Fpos_visible_in_window_p.
2299         lisp/window.el (selected-window-group-function): New permanent local buffer
2300         local variable.
2301         (selected-window-group): New function.
2303         lisp/follow.el (follow-mode): Set the ...-group-function variables at mode
2304         enable, kill them at mode disable.  Add/remove follow-after-change to/from
2305         after-change-functions.
2306         (follow-start-end-invalid): New variable.
2307         (follow-redisplay): Manipulate follow-start-end-invalid.
2308         (follow-after-change, follow-window-start, follow-window-end)
2309         (follow-set-window-start, follow-pos-visible-in-window-p)
2310         (follow-move-to-window-line, follow-sit-for): New functions.
2312         lisp/isearch.el (isearch-call-message): New macro.
2313         (isearch-update, with-isearch-suspended, isearch-del-char)
2314         (isearch-search-and-update, isearch-ring-adjust): Invoke above new macro.
2315         (with-isearch-suspended): Rearrange code such that isearch-call-message is
2316         invoked before point is moved.
2317         (isearch-message): Add comment about where point must be at function call.
2318         (isearch-search): Remove call to isearch-message.
2319         (isearch-lazy-highlight-window-group): New variable.
2320         (isearch-lazy-highlight-new-loop): Unconditionally start idle timer.  Move
2321         the battery of tests to ...
2322         (isearch-lazy-highlight-maybe-new-loop): New function, started by idle timer.
2323         Note: (sit-for 0) is still called.
2324         (isearch-lazy-highlight-update): Check membership of
2325         isearch-lazy-highlight-window-group.  Don't set the `window' overlay
2326         property.
2327         (isearch-update, isearch-done, isearch-string-out-of-window)
2328         (isearch-back-into-window, isearch-lazy-highlight-maybe-new-loop)
2329         (isearch-lazy-highlight-search, isearch-lazy-highlight-update)
2330         (isearch-lazy-highlight-update): Call the six amended primitives (see
2331         src/window.c above) with the new `group' argument set to t, to cooperate
2332         with Follow Mode.
2334 2015-12-04  Stefan Monnier  <monnier@iro.umontreal.ca>
2336         * lisp/emacs-lisp/ert.el: Prefer pcase over cl-typecase
2338         * lisp/emacs-lisp/ert.el (ert--should-error-handle-error)
2339         (ert--explain-format-atom, ert--explain-equal-rec)
2340         (ert--print-backtrace, ert-test-result-type-p, ert-select-tests)
2341         (ert--insert-human-readable-selector): Prefer pcase over cl-typecase.
2343 2015-12-04  Artur Malabarba  <bruce.connor.am@gmail.com>
2345         * lisp/character-fold.el: Remove special case-folding support
2347         (character-fold-to-regexp): Remove special code for
2348         case-folding.  Char-fold search still respects the
2349         `case-fold-search' variable (i.e., f matches F).  This only
2350         removes the code that was added to ensure that f also matched
2351         all chars that F matched.  For instance, after this commit, f
2352         no longer matches 𝔽.
2354         This was necessary because the logic created a regexp with
2355         2^(length of the string) redundant paths.  So, when a very
2356         long string "almost" matched, Emacs took a very long time to
2357         figure out that it didn't.  This became particularly relevant
2358         because isearch's lazy-highlight does a search bounded by (1-
2359         match-end) (which, in most circumstances, is a search that
2360         almost matches).  A recipe for this can be found in bug#22090.
2362 2015-12-04  Stefan Monnier  <monnier@iro.umontreal.ca>
2364         * lisp/emacs-lisp/cl-macs.el (character): Can't be negative
2366         Fixes (bug#21701)
2368 2015-12-04  Daiki Ueno  <ueno@gnu.org>
2370         lisp/gnus/qp.el: Don't replace "from " at bol
2372         * lisp/gnus/qp.el (quoted-printable-encode-region): Bind `case-fold-search'
2373         to nil when looking for "^From ".  Problem reported by Simon Josefsson.
2375 2015-12-03  Phillip Lord  <phillip.lord@russet.org.uk>
2377         Externalize some symbols in undo-auto
2379          * doc/lispref/text.texi: Update symbols.
2380          * lisp/simple.el (undo-auto--amalgamate,
2381            undo-auto--current-boundary-timer): Make symbols public.
2382          * src/cmds.c (Fself_insert_command,Fdelete_char): Call
2383            updated symbol.
2385 2015-12-03  Stefan Monnier  <monnier@iro.umontreal.ca>
2387         * lisp/emacs-lisp/smie.el (smie-next-sexp): Fix BOB "token"
2389 2015-12-03  Michael Albinus  <michael.albinus@gmx.de>
2391         Some error message improvements in tramp-sh.el
2393         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
2394         Suppress error messages for "mesg" and "biff" calls.
2395         (tramp-get-remote-path): Ignore errors when expanding
2396         `tramp-own-remote-path'.  Raise a warning instead.
2398 2015-12-03  Eli Zaretskii  <eliz@gnu.org>
2400         Document 'nacl' value for 'system-type'
2402         * doc/lispref/os.texi (System Environment): Document the 'nacl'
2403         value of 'system-type'.
2405 2015-12-03  Eli Zaretskii  <eliz@gnu.org>
2407         Document 'window-max-chars-per-line'
2409         * doc/lispref/windows.texi (Window Sizes): Document
2410         'window-max-chars-per-line'.
2412 2015-12-03  Artur Malabarba  <bruce.connor.am@gmail.com>
2414         Fix some file headers for the purpose of `package--builtins'
2416         * lisp/emacs-lisp/cl-preloaded.el
2417         * lisp/emacs-lisp/eieio-compat.el
2418         * lisp/net/sasl-scram-rfc.el: Add a "Package:" header
2420         * lisp/ielm.el: Fix summary line.
2422 2015-12-03  Artur Malabarba  <bruce.connor.am@gmail.com>
2424         * lisp/emacs-lisp/package.el (package-unpack): Load before compiling
2426         Reload any previously loaded package files before compiling
2427         the package (also reload the same files after compiling).
2428         This ensures that we have the most recent definitions during
2429         compilation, and avoids generating bad elc files when a macro
2430         changes and it is used in a different file from the one it's
2431         defined in.
2433 2015-12-03  Artur Malabarba  <bruce.connor.am@gmail.com>
2435         * lisp/emacs-lisp/package.el: Refactor package activation code
2437         (package-activate): Move code that activates dependencies into
2438         package-activate-1.
2439         (package--load-files-for-activation): New function.
2440         (package-activate-1): Add code for (optionally) activating
2441         dependencies, and move file-loading code into
2442         `package--load-files-for-activation'.
2444 2015-12-03  Eli Zaretskii  <eliz@gnu.org>
2446         Document new font-related functionality
2448         * doc/lispref/display.texi (Low-Level Font): Document
2449         'default-font-width', 'default-font-height', 'window-font-width',
2450         and 'window-font-height'.
2452         * etc/NEWS: Move entries for 'default-font-width',
2453         'default-font-height', 'window-font-width', and 'window-font-height'
2454         to their place and mark them documented.
2456 2015-12-03  Eli Zaretskii  <eliz@gnu.org>
2458         Fix documentation and implementation of 'directory-name-p'
2460         * lisp/files.el (directory-name-p): Modify to recognize
2461         backslashes on MS-Windows and MS-DOS.  Adjust the doc string
2462         accordingly.  Use '=', not char-equal, for comparison, as
2463         letter-case cannot possibly be an issue here.
2465         * doc/lispref/files.texi (Directory Names): Move the documentation
2466         of directory-name-p here from "Relative File Names".  Update the
2467         description per the changes in implementation.
2469         * etc/NEWS: Move the entry for 'directory-name-p' to its proper
2470         place and mark it documented.
2472 2015-12-02  Eli Zaretskii  <eliz@gnu.org>
2474         Minor copyedit in Emacs manual
2476         * doc/emacs/search.texi (Lax Search): Make wording about character
2477         folding by default less definitive.  (Bug#22043)
2479 2015-12-02  Eli Zaretskii  <eliz@gnu.org>
2481         More emacs-module.c fixes for wide ints
2483         * src/emacs-module.c (value_to_lisp) [WIDE_EMACS_INT]: Use
2484         unsigned data types to manipulate pointers, to avoid sign
2485         extension coming after us with a vengeance.
2487         * modules/mod-test/test.el (mod-test-sum-test): Add tests for
2488         Emacs with wide ints that verify integer values near the critical
2489         value that requires us to switch to a cons cell.
2491 2015-12-02  Stephen Leake  <stephen_leake@stephe-leake.org>
2493         Fix bug#22069 in cl-generic.el
2495         * lisp/emacs-lisp/cl-generic.el (cl-no-method): Remove %S; this string is
2496         not run thru `format'.
2498 2015-12-01  Dmitry Gutov  <dgutov@yandex.ru>
2500         APPEND etags--xref-backend to xref-backend-functions
2502         * lisp/progmodes/xref.el (xref-backend-functions):
2503         Use APPEND when adding the default element
2504         (http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg00061.html).
2506 2015-12-01  Eli Zaretskii  <eliz@gnu.org>
2508         More accurate documentation of lax whitespace matching
2510         * lisp/isearch.el (isearch-forward-word, isearch-forward-symbol)
2511         (word-search-backward, word-search-forward)
2512         (word-search-backward-lax, word-search-forward-lax): Mention in
2513         doc strings that toggling lax whitespace matching has no effect on
2514         these commands.
2516         * doc/emacs/search.texi (Word Search, Symbol Search): Clarify that
2517         lax whitespace matching has no effect on these commands.
2519 2015-12-01  Eli Zaretskii  <eliz@gnu.org>
2521         Fix emacs-module.c for wide ints
2523         * src/emacs-module.c (lisp_to_value): Compare the produced value
2524         with the original Lisp object, not with the one potentially
2525         converted into a Lisp_Cons.  Fixes assertion violations when
2526         working with integers larger than fit into a 32-bit value.
2528         * modules/mod-test/test.el (mod-test-sum-test): Add tests for
2529         large integers, to test --with-wide-int.
2531 2015-12-01  Eli Zaretskii  <eliz@gnu.org>
2533         Document 'directory-files-recursively'
2535         * lisp/files.el (directory-files-recursively): Doc fix.  Rename
2536         the argument MATCH to REGEXP, to be more explicit about its form.
2538         * doc/lispref/files.texi (Contents of Directories): Improve the
2539         documentation of 'directory-files-recursively'.  Add
2540         cross-references.
2542         * etc/NEWS: Move the entry for 'directory-files-recursively' to
2543         its place and mark it documented.
2545 2015-12-01  Eli Zaretskii  <eliz@gnu.org>
2547         Document 'inhibit-read-only' property
2549         * doc/lispref/text.texi (Special Properties): Describe the new
2550         'inhibit-read-only' text property.  Add cross-reference to where
2551         read-only buffers are described.
2552         * doc/lispref/buffers.texi (Read Only Buffers): Mention that
2553         'inhibit-read-only' property exempts text from being read-only.
2554         Add cross-reference to "Special Properties".
2556         * etc/NEWS: Move the entry about 'inhibit-read-only' property to
2557         its place and mark it documented.
2559 2015-12-01  Artur Malabarba  <bruce.connor.am@gmail.com>
2561         * lisp/emacs-lisp/package.el: Update header comments
2563 2015-12-01  Artur Malabarba  <bruce.connor.am@gmail.com>
2565         * lisp/character-fold.el: Add back multi-char matching
2567         (character-fold-to-regexp): Uncomment recently commented code
2568         and make the algorithm "dummer" by not checking every possible
2569         combination.  This will miss some possible matches, but it
2570         greatly reduces regexp size.
2572         * test/automated/character-fold-tests.el
2573         (character-fold--test-fold-to-regexp): Comment out test of
2574         functionality no longer supported.
2576 2015-12-01  Xue Fuqiao  <xfq.free@gmail.com>
2578         * doc/emacs/ack.texi (Acknowledgments): Update.
2580 2015-12-01  Michael Albinus  <michael.albinus@gmx.de>
2582         Check `file-remote-p' over absolute files names in files.el
2584         * lisp/files.el (directory-files-recursively)
2585         (get-free-disk-space): Check `file-remote-p' over absolute files names.
2587 2015-12-01  Andreas Schwab  <schwab@linux-m68k.org>
2589                 * src/lread.c (syms_of_lread): Doc fix.
2591 2015-11-30  Dmitry Gutov  <dgutov@yandex.ru>
2593         Don't mistake certain JS method calls for keywords
2595         * lisp/progmodes/js.el (js--ctrl-statement-indentation):
2596         Braceless keyword can't come after a period (bug#22063).
2598 2015-11-30  David Reitter  <david.reitter@gmail.com>
2600         Read frame_title_format from buffer-local variable for NS port
2602         * nsfns.m (x_implicitly_set_name): Read frame-title-format and
2603         icon-title-format variables from buffer in appropriate window.
2604         (Bug#22048)
2606 2015-11-30  Juri Linkov  <juri@linkov.net>
2608         * lisp/replace.el (occur-engine): Count matches in empty lines.
2610         (Bug#22062)
2612 2015-11-30  Aurélien Aptel  <aurelien.aptel@gmail.com>
2614         * src/emacs-module.h: Fix finalizer typedef for C++11
2616         C++11 standard doesn't allow exception-specification in typedef.
2617         The workaround is to declare a dummy function prototype and use
2618         decltype on it.
2620 2015-11-30  Eli Zaretskii  <eliz@gnu.org>
2622         Fix last change
2624         * src/emacs-module.c (lisp_to_value, value_to_lisp)
2625         [WIDE_EMACS_INT]: Avoid compiler warnings.
2627 2015-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>
2629         Rely on conservative stack scanning to find "emacs_value"s
2631         * src/emacs-module.c (struct emacs_value_tag)
2632         (struct emacs_value_frame, struct emacs_value_storage): Remove.
2633         (value_frame_size): Remove constant.
2634         (struct emacs_env_private): Use Lisp_Object for non_local_exit info.
2635         (lisp_to_value): Remove first arg.
2636         (module_nil): New constant.
2637         Use it instead of NULL when returning an emacs_value.
2638         (module_make_function): Adjust to new calling convention of
2639         Qinternal_module_call.
2640         (DEFUN): Receive args in an array rather than a list.
2641         Use SAFE_ALLOCA rather than xnmalloc.  Skip the lisp_to_value loop when
2642         we don't have WIDE_EMACS_INT.  Adjust to new type of non_local_exit info.
2643         (module_non_local_exit_signal_1, module_non_local_exit_throw_1):
2644         Adjust to new type of non_local_exit info.
2645         (ltv_mark) [WIDE_EMACS_INT]: New constant.
2646         (value_to_lisp, lisp_to_value): Rewrite.
2647         (initialize_frame, initialize_storage, finalize_storage): Remove functions.
2648         (allocate_emacs_value): Remove function.
2649         (mark_modules): Gut it.
2650         (initialize_environment): Don't initialize storage any more.
2651         Keep the actual env object on Vmodule_environments.
2652         (finalize_environment): Don't finalize storage any more.
2653         (syms_of_module): Initialize ltv_mark and module_nil.
2655         * src/emacs-module.h (emacs_value): Make it more clear that this type
2656         is really opaque, including the fact that NULL may not be valid.
2658         * modules/mod-test/mod-test.c (Fmod_test_signal, Fmod_test_throw):
2659         Don't assume that NULL is a valid emacs_value.
2661 2015-11-30  Eli Zaretskii  <eliz@gnu.org>
2663         Yet another doc improvement for search commands
2665         * doc/emacs/search.texi (Word Search, Symbol Search)
2666         (Regexp Search): Document commands that don't support lax
2667         whitespace matching or character folding.
2668         (Nonincremental Search): Mention the search commands that can be
2669         invoked from the menu bar.
2671         * lisp/isearch.el (isearch-define-mode-toggle-word)
2672         (isearch-define-mode-toggle-symbol)
2673         (isearch-define-mode-toggle-character-fold): Note in the doc
2674         string that turning these on exits the regexp mode.
2675         (isearch-forward-regexp, isearch-forward-word)
2676         (isearch-forward-symbol, isearch-backward-regexp)
2677         (word-search-backward, word-search-forward)
2678         (word-search-backward-lax, word-search-forward-lax): State in the
2679         doc string which commands don't support character folding and/or
2680         lax-whitespace matching.
2682 2015-11-30  Martin Rudalics  <rudalics@gmx.at>
2684         Run `window-size-change-functions' also when reading from minibuffer
2686         * src/xdisp.c (redisplay_internal): Run `window-size-change-functions'
2687         also when reading from minibuffer.
2689 2015-11-30  Ulf Jasper  <ulf.jasper@web.de>
2691         Fix scrambling of html-rendered item buffers
2693         * net/newst-treeview.el (newsticker--treeview-render-text): Fix
2694           scrambling of contents by wrapping call to html-renderer in
2695           save-selected-window.
2697 2015-11-30  Paul Eggert  <eggert@cs.ucla.edu>
2699         Fix font typo in previous doc fix.
2701 2015-11-30  Paul Eggert  <eggert@cs.ucla.edu>
2703         A bit more security doc, esp. file local vars
2705         * doc/emacs/emacs.texi (Top):
2706         * doc/emacs/misc.texi (Miscellaneous Commands):
2707         Refer to new Host Security section.
2708         (Host Security): New section.
2709         * doc/lispref/os.texi (Security Considerations):
2710         Mention file local variables.
2712 2015-11-30  Artur Malabarba  <bruce.connor.am@gmail.com>
2714         * lisp/character-fold.el: Comment out branching code
2716         (character-fold-to-regexp): Comment out code that uses multi-char
2717         table.  The branching caused by this induces absurdly long regexps,
2718         up to 10k chars for as little as 25 input characters.
2720 2015-11-30  Paul Eggert  <eggert@cs.ucla.edu>
2722         Spelling and grammar fixes
2724 2015-11-29  Dmitry Gutov  <dgutov@yandex.ru>
2726         Make lisp-completion-at-point a wrapper instead of an alias
2728         * lisp/progmodes/elisp-mode.el (lisp-completion-at-point):
2729         Turn into an obsolete wrapper around elisp-completion-at-point
2730         (bug#20455).
2732 2015-11-29  Artur Malabarba  <bruce.connor.am@gmail.com>
2734         * lisp/isearch.el (isearch-search-fun-default): Nicer error
2736         message when the search fails.
2738 2015-11-29  Dmitry Gutov  <dgutov@yandex.ru>
2740         Update menu-bar-goto-uses-etags-p for the current xref API
2742         * lisp/menu-bar.el (menu-bar-goto-uses-etags-p): Consult
2743         xref-backend-functions, instead of now-nonexistent
2744         xref-find-function.
2746 2015-11-29  Artur Malabarba  <bruce.connor.am@gmail.com>
2748         * lisp/isearch.el (isearch-define-mode-toggle): Advertise binding
2750 2015-11-29  Artur Malabarba  <bruce.connor.am@gmail.com>
2752         * lisp/menu-bar.el: Use folding in searches
2754         (nonincremental-search-forward): Use `isearch-search-fun-default'
2755         to determine the search function.
2756         (nonincremental-search-backward)
2757         (nonincremental-repeat-search-forward)
2758         (nonincremental-repeat-search-backward): Use it.
2760 2015-11-29  Artur Malabarba  <bruce.connor.am@gmail.com>
2762         * lisp/menu-bar.el (menu-bar-goto-uses-etags-p): Fix a warning
2764 2015-11-29  Artur Malabarba  <bruce.connor.am@gmail.com>
2766         * lisp/character-fold.el (character-fold-to-regexp): Be careful
2768         not to return huge regexps.
2770 2015-11-29  Eli Zaretskii  <eliz@gnu.org>
2772         Improve documentation of string-collate-* functions
2774         * doc/lispref/strings.texi (Text Comparison): Improve wording and
2775         indexing of 'string-collate-equalp' and 'string-collate-lessp'.
2777         * etc/NEWS: Move the entry of 'string-collate-equalp' and
2778         'string-collate-lessp' to "Lisp Changes" section and mark it as
2779         documented.
2781 2015-11-29  Eli Zaretskii  <eliz@gnu.org>
2783         Document truncate-string-ellipsis
2785         * doc/lispref/display.texi (Size of Displayed Text): Document
2786         'truncate-string-ellipsis'.
2788         * lisp/international/mule-util.el (truncate-string-ellipsis): Doc fix.
2789         (truncate-string-to-width): Mention in the doc string that the
2790         default for ELLIPSIS comes from 'truncate-string-ellipsis'.
2792         * etc/NEWS: Move the 'truncate-string-ellipsis' entry to the "Lisp
2793         Changes" section.
2795 2015-11-29  Eli Zaretskii  <eliz@gnu.org>
2797         Fix confusion wrt character folding in the Emacs manual
2799         * doc/emacs/search.texi (Nonincremental Search, Regexp Search):
2800         Document that invoking search-forward/backward and
2801         re-search-forward/backward supports only case folding, but not the
2802         rest of the lax-search features.  Reported by Mike Kupfer
2803         <m.kupfer@acm.org>.
2805 2015-11-29  Ken Brown  <kbrown@cornell.edu>
2807         Update mod-test-sum-test
2809         * modules/mod-test/test.el (mod-test-sum-test): Update to
2810         accommodate the lack of dladdr on Cygwin.
2812 2015-11-29  Alan Mackenzie  <acm@muc.de>
2814         Byte compiler: Catch missing argument to `funcall'.  Fixes bug#22051.
2816         * lisp/emacs-lisp/bytecomp.el (byte-compile-funcall): When there's no argument
2817         to `funcall', (i) Output an error message; (ii) Generate code to signal a
2818         `wrong-number-of-arguments' error.
2820 2015-11-29  Martin Rudalics  <rudalics@gmx.at>
2822         * lisp/window.el (split-window): Don't sanitize sizes when SIZE is non-nil.
2824 2015-11-28  Artur Malabarba  <bruce.connor.am@gmail.com>
2826         * lisp/character-fold.el (character-fold-to-regexp)
2828         Warn about using long strings.
2830         * test/automated/character-fold-tests.el
2831         (character-fold--test-lax-whitespace)
2832         (character-fold--test-consistency): Reduce string size for tests.
2834 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
2836         Document renaming of x-select-enable-* variables
2838         * doc/emacs/killing.texi (Clipboard): Rename
2839         x-select-enable-clipboard to select-enable-clipboard and
2840         x-select-enable-primary to select-enable-primary.  Update index
2841         entries.
2843         * etc/NEWS: Mark entry as documented.
2845 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
2847         Document the shorthand hints displayed by M-x
2849         * doc/emacs/m-x.texi (M-x): Document the numeric meaning of
2850         suggest-key-bindings.  Document the shorthand hints for commands
2851         that have no key bindings.  Document that M-x completion ignores
2852         obsolete commands.
2854         * etc/NEWS: Move the M-x entry to "Editing Changes" and mark it as
2855         documented.
2857 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
2859         Update docs of character folding
2861         * doc/emacs/search.texi (Lax Search): Update the description of
2862         character folding for the latest changes.
2864 2015-11-28  Artur Malabarba  <bruce.connor.am@gmail.com>
2866         * lisp/character-fold.el: Also play nice with case-folding
2868         (character-fold-to-regexp): Take `case-fold-search' into account.
2870 2015-11-28  Artur Malabarba  <bruce.connor.am@gmail.com>
2872         * lisp/character-fold.el: Add support for multi-char matches
2874         (character-fold-table): Now has an extra-slot. This is a second
2875         char-table that holds multi-character matches.  See docstring for
2876         details.
2877         (character-fold-to-regexp): Can build branching regexps when a
2878         character's entry the extra slot of `character-fold-table' matches the
2879         characters that succeed it.
2881 2015-11-28  Artur Malabarba  <bruce.connor.am@gmail.com>
2883         * lisp/character-fold.el: Code simplifications
2885         (character-fold-table): Reduce the scope of a variable.
2886         (character-fold-to-regexp): Change logic to work directly on the
2887         input string.  It's a little easier to understand, probably
2888         faster, and sets us up for implementing multi-char matches.
2890         * test/automated/character-fold-tests.el
2891         (character-fold--test-fold-to-regexp): New test.
2893 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
2895         Document changes in "C-h l"
2897         * doc/emacs/help.texi (Misc Help): Document the changes in "C-h l".
2899         * etc/NEWS: mark "C-h l" changes as documented.
2901 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
2903         Finalize documentation of 'custom-prompt-customize-unsaved-options'
2905         * doc/emacs/custom.texi (Saving Customizations): Index the new
2906         function 'custom-prompt-customize-unsaved-options'.
2908         * etc/NEWS: Mention when 'custom-prompt-customize-unsaved-options'
2909         is useful.
2911 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
2913         Document 'comment-line'
2915         * doc/emacs/programs.texi (Comment Commands): Document
2916         'comment-line'.
2918         * etc/NEWS: Move the entry for 'comment-line' into "Editing Changes".
2920 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
2922         Document new checkdoc features
2924         * doc/lispref/tips.texi (Tips, Library Headers): Document the
2925         keyword-checking features of checkdoc and the commands
2926         'checkdoc-file' and 'checkdoc-current-buffer'.
2928         * etc/NEWS: Move the checkdoc-related entries to their own
2929         section.
2931 2015-11-28  Philipp Stephani  <p.stephani2@gmail.com>
2933         Simplify the prologue of emacs-module.c functions
2935         * emacs-module.c (MODULE_FUNCTION_BEGIN): New macro.
2936         (module_make_global_ref)
2937         (module_free_global_ref, module_make_function, module_funcall)
2938         (module_intern, module_type_of, module_extract_integer)
2939         (module_make_integer, module_extract_float, module_make_float)
2940         (module_copy_string_contents, module_make_string)
2941         (module_make_user_ptr, module_get_user_ptr, module_set_user_ptr)
2942         (module_get_user_finalizer, module_set_user_finalizer)
2943         (module_vec_set, module_vec_get, module_vec_size): Use new helper
2944         macro MODULE_FUNCTION_BEGIN.
2946 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
2948         Don't reject module calls with no arguments
2950         * src/emacs-module.c (Finternal_module_call): Allow ARGLIST be nil.
2952 2015-11-28  Philipp Stephani  <p.stephani2@gmail.com>
2954         Make module-call be visible from Lisp
2956         * src/emacs-module.c (module_make_function): Use internal--module-call.
2957         (Finternal_module_call): Renamed from Fmodule_call.  Add safety
2958         checks.
2959         (syms_of_module): DEFSYM save-value-p and save-pointer-p.  Do
2960         defsubr internal--module-call.
2962 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
2964         Add etags tests for the recent Lua-related bugfix
2966         * test/etags/lua-src/test.lua: New file, tests the issues raised
2967         by bug#21934.
2968         * test/etags/Makefile (LUASRC): Add test.lua.
2969         * test/etags/ETAGS.good_1:
2970         * test/etags/ETAGS.good_2:
2971         * test/etags/ETAGS.good_3:
2972         * test/etags/ETAGS.good_4:
2973         * test/etags/ETAGS.good_5:
2974         * test/etags/ETAGS.good_6:
2975         * test/etags/CTAGS.good: Adapt to the new Lua test.  Also, an old
2976         regression fix, resolved around 25 May 2015, required changes to
2977         the "good" ETAGS files.
2979 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
2981         Fix Lua tags when a function name includes '.' or ':'
2983         * lib-src/etags.c (Lua_functions): Add a tag for the last element
2984         of a function name after a dot or a colon.  (Bug#21934)
2986 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
2988         Improve documentation of search and replace commands
2990         * doc/emacs/search.texi (Replacement and Lax Matches): Document
2991         which commands are affected by 'replace-character-fold'.
2992         (Lax Search): Add a cross reference to "Replacement and Lax
2993         Matches".  Improve wording.  Fix lost extra whitespace.
2994         (Search Customizations): Improve wording.  (Bug#22036)
2995         See also comments in
2996         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg02376.html.
2998         * lisp/replace.el (query-replace, query-replace-regexp)
2999         (query-replace-regexp-eval, replace-string, replace-regexp):
3000         Mention 'replace-character-fold' in the doc strings.
3002 2015-11-28  Paul Eggert  <eggert@cs.ucla.edu>
3004         Fix minor problems found by static checking
3006         * src/undo.c (prepare_record): Add proper prototype for C.
3008 2015-11-27  Stefan Monnier  <monnier@iro.umontreal.ca>
3010         * src/emacs-module.c (struct env_storage): Delete
3012         (struct emacs_runtime_private): Keep an emacs_env instead.
3013         (Fmodule_load, Fmodule_call): Declare emacs_env_private separately.
3014         (initialize_environment): Split the arg in two.  Adjust all callers.
3015         Only store the private part in Vmodule_environments.
3016         (finalize_environment): Change the arg to only be the private env.
3017         Adjust all callers.
3019 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
3021         Improve documentation of 'replace-character-fold'
3023         * lisp/replace.el (replace-character-fold): Clarify which commands
3024         are affected by this variable.
3026 2015-11-27  Mark Oteiza  <mvoteiza@udel.edu>
3028         Backport: Add interactive seek command.
3030         * lisp/mpc.el (mpc-cmd-seekcur): New function.
3031         (mpc-seek-current): New command.
3032         (mpc-mode-menu): Add entry for mpc-seek-current
3033         (mpc-mode-map): Bind mpc-seek-current to "g"
3035 2015-11-27  Dmitry Gutov  <dgutov@yandex.ru>
3037         Autoload etags when using its xref backend
3039         * lisp/progmodes/xref.el (xref--etags-backend):
3040         Rename to etags--xref-backend.  Move to etags.el.  Autoload.
3041         (Bug#22026)
3043 2015-11-27  Artur Malabarba  <bruce.connor.am@gmail.com>
3045         * lisp/character-fold.el: Allow complex chars to match their decomposition
3047         (character-fold-table): When a character's decomposition does not
3048         involve a formatting tag (i.e., if it has an "exact" description via
3049         other characters), then this character is allowed to match the
3050         decomposition.
3052 2015-11-27  Artur Malabarba  <bruce.connor.am@gmail.com>
3054         * lisp/character-fold.el: More descriptive variable names
3056         (character-fold-table): Rename a lot of the lexical variables to
3057         make the code easier to read.
3059 2015-11-27  Artur Malabarba  <bruce.connor.am@gmail.com>
3061         * lisp/isearch.el: Ensure we still support `isearch-new-word'
3063         (isearch-new-regexp-function): Define variable.
3064         (isearch-new-word): Define as an obsolete alias. (Bug#22018)
3066 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
3068         Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emacs into emacs-25
3070 2015-11-27  Lee Bochicchio  <lboc.home@gmail.com>
3072         * test/lisp/abbrev-tests.el: Define more tests
3074         (abbrev-table-name-test, kill-all-abbrevs-test)
3075         (clear-abbrev-table-test): New tests.
3077 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
3079         Add module tests for wrong-type-argument
3081         * modules/mod-test/test.el (mod-test-sum-test): Add tests for
3082         wrong-type-argument.
3084 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
3086         Improve handling of signals and 'throw' in modules
3088         * src/emacs-module.c: Add commentary explaining how to write
3089         functions in this file.
3090         (module_make_global_ref, module_free_global_ref)
3091         (module_non_local_exit_signal, module_non_local_exit_throw)
3092         (module_make_function, module_funcall, module_intern)
3093         (module_type_of, module_is_not_nil, module_eq)
3094         (module_extract_integer, module_make_integer)
3095         (module_extract_float, module_make_float)
3096         (module_copy_string_contents, module_make_string)
3097         (module_make_user_ptr, module_get_user_ptr, module_set_user_ptr)
3098         (module_get_user_finalizer, module_set_user_finalizer)
3099         (module_vec_set, module_vec_get, module_vec_size)
3100         (module_non_local_exit_signal_1, module_non_local_exit_throw_1):
3101         Do nothing and return with failure indication immediately, if some
3102         previous module call signaled an error or wants to throw.  See
3103         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg02133.html
3104         for the relevant discussions.
3106 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
3108         Add ':version' tag to 'checkdoc-package-keywords-flag'
3110         * lisp/emacs-lisp/checkdoc.el (checkdoc-package-keywords-flag):
3111         Add a ':version' tag.
3113 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
3115         Improve documentation of 'eval-buffer' and 'eval-region'
3117         * src/lread.c (Feval_buffer, Feval_region): Doc fixes.  (Bug#22023)
3119         * doc/lispref/eval.texi (Eval): Mention narrowing to clarify
3120         "accessible portion of buffer".
3122 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
3124         Unbreak the Cygwin w32 build
3126         * src/emacs.c (main): Call w32_init_main_thread in the Cygwin w32
3127         build as well.  Reported by Andy Moreton <andrewjmoreton@gmail.com>.
3129 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
3131         Improve commentary in character-fold.el
3133         * lisp/character-fold.el (character-fold-to-regexp): Move detailed
3134         description from commit log message to comments.  (Bug#22019)
3136 2015-11-26  Alan Mackenzie  <acm@muc.de>
3138         Byte Compiler: generate code to adjust stack count after call to `signal'.
3140         Corrects change from earlier today.
3142         * lisp/emacs-lisp/bytecomp.el (byte-compile-setq): supply the current value of
3143         `byte-compile--for-effect' as argument to `byte-compile-form'.
3145 2015-11-26  Eli Zaretskii  <eliz@gnu.org>
3147         Improve commentary of prepare_to_modify_buffer_1
3149         * src/insdel.c (prepare_to_modify_buffer_1): Mention in commentary
3150         that this function runs Lisp.  Suggested by Richard Stallman
3151         <rms@gnu.org>.
3153 2015-11-26  Phillip Lord  <phillip.lord@russet.org.uk>
3155         Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into emacs-25
3157 2015-11-26  Phillip Lord  <phillip.lord@russet.org.uk>
3159         Fix regression after merge.
3161          * undo.c (prepare_record): Remove call to run_undoable_change.
3163 2015-11-26  Phillip Lord  <phillip.lord@russet.org.uk>
3165         After delete, record point location in undo.
3167         Addresses Bug #21968.
3169                 * lisp/simple.el (undo-auto--add-boundary): Clean up code to
3170                 better support intercalating calls.
3171                 * src/keyboard.c,src/keyboard.h (command_loop_1): Store value of
3172                 point and current buffer before each command.
3173                 * src/undo.c (record_point): Now only record the point.
3174                 * src/undo.c (prepare_record): Functionality removed form
3175                 record_point.
3176                 * src/undo.c (record_delete): Check if point needs recording.
3177                 * src/undo.c (undo-boundary): Record value of point before each
3178                 boundary.
3179                 * test/automated/simple-test.el: New tests.
3181         Conflicts:
3182                 src/undo.c
3184 2015-11-26  Eli Zaretskii  <eliz@gnu.org>
3186         Fix compiler warnings in w32.c
3188         * src/w32.c (sys_socket): In case of error, use -1 as return
3189         value, not INVALID_SOCKET, which causes compiler warnings.
3190         (maybe_load_unicows_dll): Cast the return value of GetProcAddress
3191         to the appropriate function signature, to avoid compiler errors.
3192         Reported by Andy Moreton <andrewjmoreton@gmail.com>.  (Bug#21953)
3194 2015-11-26  Dmitry Gutov  <dgutov@yandex.ru>
3196         Check if the file exists on disk before producing the revert diff
3198         * lisp/vc/vc-dispatcher.el (vc-buffer-sync): Check if the file
3199         exists on disk (bug#20558).
3201 2015-11-26  Alan Mackenzie  <acm@muc.de>
3203         Byte compiler: on setq with an odd number of arguments, generate a `signal'
3205         * lisp/emacs-lisp/cconv.el (cconv-convert): Don't transform `setq' form when
3206         it has an odd number of arguments, to allow bytecomp to handle the error.
3208         * lisp/emacs-lisp/bytecomp.el (byte-compile-setq): In a `setq' form with an
3209         odd number of arguments, generate a `signal' instead of the normal code.
3211 2015-11-25  Dmitry Gutov  <dgutov@yandex.ru>
3213         Use find-tag-default for xref-backend-identifier-at-point
3215         * lisp/progmodes/etags.el (find-tag-tag)
3216         (tags-completion-at-point-function): Extract common code as
3217         find-tag--default.
3218         (xref-backend-identifier-at-point): Define in terms of the new
3219         function.
3221 2015-11-25  Paul Eggert  <eggert@cs.ucla.edu>
3223         * src/undo.c (record_property_change): Remove now-unused local.
3225 2015-11-25  Phillip Lord  <phillip.lord@russet.org.uk>
3227         run_undoable_changes now called from insdel.
3229         The original calls from inside undo.c are not always at a safe position
3230         to call lisp, as they originate in varied positions within insdel.c.
3231         Calling them directly from prepare_to_modify_buffer_1 ensures that they
3232         are always run at the same point.
3234          * undo.c (run_undoable_changes,syms_of_undo): Remove function
3235          and symbol used.
3236          * insdel.c (run_undoable_changes): Add function and symbol.
3238 2015-11-25  Eli Zaretskii  <eliz@gnu.org>
3240         Improve and update documentation of search commands
3242         * doc/emacs/search.texi (Lax Search): Renamed from "Search Case";
3243         all references changed.  Move the description of lax-whitespace
3244         here.  Add description of the new character folding features and
3245         additional customizable options.
3246         (Isearch Yank): Move before "Error in Search".
3247         (Basic Isearch): Improve wording.  Add index entries.  Add short
3248         description of how to abandon search, making this subsection a
3249         complete introduction to search basics.
3250         (Repeat Isearch): Add index entries.  Describe additional
3251         customizable options.  Describe mouse clicks.
3252         (Isearch Yank): Add index entries.  Describe mouse-2 click in echo
3253         area.  Describe more customizable options.
3254         (Error in Isearch): Add index entries.
3255         (Special Isearch): Move actual description of some isearch
3256         commands to other sections, leaving here just the summary of the
3257         commands.  Add command that toggles character folding.  Describe
3258         commands, like "C-h C-h", that were previously omitted for some
3259         reason.
3260         (Not Exiting Isearch): Describe search-exit-option.  Add index
3261         entries.
3262         (Word Search): Describe eww-search-word and eww-search-prefix.
3263         (Symbol Search): Add index entries.
3264         (Regexp Search): Describe regexp-search-ring-max.
3265         (Replacement and Lax Matches): Renamed from "Replacement and
3266         Case"; all references changed.  Describe lax-whitespace matching
3267         in replace commands and related options.  Describe character
3268         folding in replace commands and related options.
3269         (Query Replace): Describe query-replace-from-to-separator and the
3270         new history features.  Add index entries for highlighted text.
3271         Describe query-replace-skip-read-only.  Describe more keys
3272         accepted by query-replace.
3273         (Other Repeating Search): More index entries for Occur.  Describe
3274         list-matching-lines-default-context-lines.
3275         (Search Customizations): New section, documents customizable
3276         options that were not documented until now.
3277         * doc/emacs/glossary.texi (Glossary): Add "Case Folding" and
3278         "Character Folding".
3280         * etc/NEWS: Move search- and replace-related entries to a single
3281         parent section.
3283         * lisp/replace.el (query-replace-show-replacement): Doc fix.
3284         * lisp/isearch.el (search-nonincremental-instead)
3285         (isearch-hide-immediately): Doc fixes.
3287 2015-11-25  Katsumi Yamaoka  <yamaoka@jpl.org>
3289         Remove nnml-retrieve-groups that is unnecessary and somewhat problematic
3291         * lisp/gnus/nnml.el (nnml-retrieve-groups): Remove.  See:
3292         <http://thread.gmane.org/gmane.emacs.gnus.general/86308> and
3293         <http://thread.gmane.org/gmane.emacs.gnus.general/86321>
3295 2015-11-25  Paul Eggert  <eggert@cs.ucla.edu>
3297         Fix module_format_fun_env when dynlib_addr fails
3299         * src/emacs-module.c (module_format_fun_env):
3300         exprintf doesn’t support %p, so use %x.  Reported by Eli Zaretskii in:
3301         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg02122.html
3303 2015-11-25  Paul Eggert  <eggert@cs.ucla.edu>
3305         Disambiguate variable help a bit better
3307         * lisp/help-fns.el (describe-variable): Quote the
3308         variable’s value if it is a symbol other than t or nil.
3309         See: T.V Raman in:
3310         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg02147.html
3312 2015-11-24  Dmitry Gutov  <dgutov@yandex.ru>
3314         Pass SVN commit message through log-edit-extract-headers
3316         * lisp/vc/vc-svn.el (vc-svn-checkin): Pass COMMENT through
3317         log-edit-extract-headers (bug#18954).
3319 2015-11-24  Alan Mackenzie  <acm@muc.de>
3321         CC Mode: Eliminate compiler warning messages.
3323         * lisp/progmodes/cc-mode.el (top level): remove compile time declaration of
3324         `font-lock-syntactic-keywords' (which CC Mode doesn't use).
3325         * lisp/progmodes/cc-awk.el (awk-mode-syntax-table)
3326         (c-awk-set-syntax-table-properties): Clarify comments about
3327         `font-lock-syntactic-keywords'.
3329         * lisp/progmodes/cc-bytecomp.el (cc-bytecomp-load): Create a dummy declaration
3330         of this before the real (interpreted) one, to satisfy the byte compiler.
3332 2015-11-24  Simen Heggestøyl  <simenheg@gmail.com>
3334         Extend the test suite for json.el
3336         * lisp/json.el (json-plist-p): Clarify docstring.
3338         * test/automated/json-tests.el (json-tests--with-temp-buffer): New
3339         macro.
3340         (test-json-join, test-json-alist-p)
3341         (test-json-plist-p, test-json-advance, test-json-peek)
3342         (test-json-pop, test-json-skip-whitespace)
3343         (test-json-read-keyword, test-json-encode-keyword)
3344         (test-json-read-number, test-json-encode-number)
3345         (test-json-read-escaped-char, test-json-read-string)
3346         (test-json-encode-string, test-json-encode-key)
3347         (test-json-new-object, test-json-add-to-object)
3348         (test-json-read-object, test-json-encode-list)
3349         (test-json-read-array, test-json-encode-array)
3350         (test-json-read, test-json-read-from-string)
3351         (test-json-encode): New tests.
3352         (json-read-simple-alist): Merged into `test-json-read-object'.
3353         (json-encode-string-with-special-chars): Merged into
3354         `test-json-encode-string'.
3355         (json-read-string-with-special-chars): Split into
3356         `test-json-encode-string' and `test-json-read-from-string'.
3358 2015-11-24  Anders Lindgren  <andlind@gmail.com>
3360         Fixed bug#18283: Enable applescript in NextStep.
3362         * nextstep/templates/Info.plist.in: Set NSAppleScriptEnabled to YES.
3364 2015-11-24  Eli Zaretskii  <eliz@gnu.org>
3366         Allow completion on dynamic module files in load-library
3368         * lisp/files.el (load-library): Bind completion-ignored-extensions
3369         to nil, to allow completion on dynamic modules typed as file
3370         names.  Reported by Andy Moreton <andrewjmoreton@gmail.com>.
3372 2015-11-24  Alan Mackenzie  <acm@muc.de>
3374         CC Mode: eliminate almost all byte compilation warnings
3376         * lisp/progmodes/cc-bytecomp.el (cc-bytecomp-noruntime-functions): Remove.
3377         (cc-require): Remove the crude hack that saved and restored
3378         byte-compile-noruntime-functions.
3379         (cc-conditional-require, cc-conditional-require-after-load): New macros.
3381         * lisp/progmodes/cc-defs.el (top level): Reformulate code which loaded
3382         cc-fix.el using the new macros in cc-bytecomp.el.
3384         * lisp/progmodes/cc-langs.el (c++-template-syntax-table)
3385         (c-no-parens-syntax-table): Add extra "(eval ..)"s around "'(lambda ..)"
3386         forms to remove the superflous quotes.
3388 2015-11-24  Eli Zaretskii  <eliz@gnu.org>
3390         Add one more mod-test test
3392         * modules/mod-test/test.el (mod-test-sum-test): Test the error
3393         signaled when the function is invoked with a wrong number of
3394         arguments.
3396 2015-11-24  Philipp Stephani  <phst@google.com>
3398         * modules/mod-test/mod-test.c (Fmod_test_sum): Verify there are 2 args.
3400 2015-11-24  Eli Zaretskii  <eliz@gnu.org>
3402         Implement dynlib_addr for MS-Windows
3404         * src/dynlib.c [WINDOWSNT]: Include w32common.h.
3405         <g_b_init_get_module_handle_ex> [WINDOWSNT]: New static variable.
3406         (GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS)
3407         (GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT) [WINDOWSNT]: Define
3408         if undefined.
3409         (dynlib_reset_last_error): Reset g_b_init_get_module_handle_ex to
3410         zero.
3411         (dynlib_addr) [WINDOWSNT]: Non-trivial implementation to report
3412         the full file name of the module for a given address.
3414 2015-11-24  Alan Mackenzie  <acm@muc.de>
3416         Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into emacs-25
3418 2015-11-24  Alan Mackenzie  <acm@muc.de>
3420         Squashed commit of the following:
3422         commit e1ecf76585bef2eb87995f7a7f92cc12003a6f70
3423         Author: Alan Mackenzie <acm@muc.de>
3424         Date:   Tue Nov 24 16:50:09 2015 +0000
3426             Byte compile: minor amendments.
3428             * lisp/emacs-lisp/bytecomp.el (byte-compile-initial-macro-environment):
3429             add a comment to explain the binding of variables around a subsidiary
3430             compilation.
3431             (byte-compile-new-defuns): Amend the doc string.
3433         commit c537bfed1dda1593d218956ff00c6105a3ff0316
3434         Author: Alan Mackenzie <acm@muc.de>
3435         Date:   Sat Nov 21 18:43:57 2015 +0000
3437             Byte compiler: fix spurious warnings "might not be defined at runtime".
3439             Also initialize byte-compile-noruntime-functions between runs.
3441             * lisp/emacs-lisp/bytecomp.el (byte-compile-new-defuns): New variable.
3442             (byte-compile-initial-macro-environment): For eval-when-compile: bind
3443             byte-compile-unresolved-functions and byte-compile-new-defuns around
3444             byte-compile-top-level, to prevent spurious entries being made.
3445             (byte-compile-warn-about-unresolved-functions): Check whether function is
3446             in byte-compile-new-defuns before emitting a warning about it.
3447             (byte-compile-from-buffer): Initialize new variable and
3448             byte-compile-noruntime-functions to nil.
3449             (byte-compile-file-form-require): record all new functions defined by a
3450             `require' in byte-compile-new-defuns.
3451             (byte-compile-file-form-defmumble): record the new alias in
3452             byte-compile-new-defuns.
3454 2015-11-24  Eli Zaretskii  <eliz@gnu.org>
3456         Fix crash at startup related to GC of font entities
3458         * src/font.h (GC_FONT_SPEC_P, GC_FONT_ENTITY_P)
3459         (GC_FONT_OBJECT_P, GC_XFONT_SPEC, GC_XFONT_ENTITY)
3460         (GC_XFONT_OBJECT): New macros, for use in garbage collector.
3461         * src/alloc.c (compact_font_cache_entry, compact_font_caches):
3462         Don't ifdef away font cache compaction on NT_GUI, as the problems
3463         which led to that seem to have been solved.
3464         (compact_font_cache_entry): Use GC_FONT_SPEC_P, GC_XFONT_SPEC,
3465         GC_XFONT_ENTITY, and GC_XFONT_OBJECT, instead of their non-GC_
3466         cousins.  (Bug#21999)
3468 2015-11-24  Alan Mackenzie  <acm@muc.de>
3470         Byte compile: Output an error, not a warning, for odd number of args to setq
3472         * lisp/emacs-lisp/bytecomp.el (byte-compile-setq): Amend.
3474 2015-11-24  Ken Raeburn  <raeburn@raeburn.org>
3476         Fix kbd_buffer iteration loop in readable_events
3478         * src/keyboard.c (readable_events): Wrap the event pointer back to the
3479         start of the kbd_buffer array inside the top of the loop instead of
3480         right before checking the loop condition, since kbd_fetch_ptr and
3481         kbd_store_ptr point past the end of the array to mean that element 0
3482         is next. (bug#21935)
3484 2015-11-24  Paul Eggert  <eggert@cs.ucla.edu>
3486         Improve text-quoting-style doc again
3488         * doc/lispref/help.texi (Keys in Documentation):
3489         Omit overkill discussion of ‘setq’.  Mention Emacs versions
3490         where ‘grave’ style was standard.
3492 2015-11-23  Paul Eggert  <eggert@cs.ucla.edu>
3494         Improve text-quoting-style doc
3496 2015-11-23  Paul Eggert  <eggert@cs.ucla.edu>
3498         Simplify module_make_function
3500         * src/emacs-module.c (module_make_function):
3501         Simplify by calling build_unibyte_string.
3503 2015-11-23  Paul Eggert  <eggert@cs.ucla.edu>
3505         Port better to FreeBSD’s dlfunc vs dlsym
3507         This avoids warnings when converting between void * and
3508         function pointers, which strict C11 does not allow.
3509         * configure.ac (dlfunc): Check for existence.
3510         * src/dynlib.c (dlfunc) [!HAVE_DLFUNC]: New macro.
3511         (dynlib_func): New function.
3512         * src/dynlib.h (dynlib_function_ptr, dynlib_func): New decls.
3513         * src/emacs-module.c (Fmodule_load): Use dynlib_func, not
3514         dynlib_sym, for function pointers.
3516 2015-11-23  Paul Eggert  <eggert@cs.ucla.edu>
3518         Simplify use of emacs_finalizer_function type
3520         * src/emacs-module.h (emacs_finalizer_function):
3521         Now EMACS_NOEXCEPT.  All users simplified to omit EMACS_NOEXCEPT.
3522         (struct emacs_env_25): Use emacs_finalizer_function where applicable.
3524 2015-11-23  Paul Eggert  <eggert@cs.ucla.edu>
3526         module_format_fun_env fixes
3528         * src/doprnt.c (exprintf) [HAVE_MODULES]: Also define in this case.
3529         * src/emacs-module.c (module_format_fun_env):
3530         Convert path and sym to UTF-8.
3531         Don’t use VLAs, as the C11 standard says they’re optional,
3532         and anyway they can cause core dumps with large allocations.
3533         Use exprintf rather than snprintf, as exprintf handles arbitrarily
3534         long strings.  Simplify the code a bit.
3536 2015-11-23  Dmitry Gutov  <dgutov@yandex.ru>
3538         Don't use package-user-dir in elisp-library-roots if it's not bound
3540         * lisp/progmodes/elisp-mode.el (elisp-library-roots): Don't
3541         use package-user-dir if it's not bound (bug#19759).
3543 2015-11-23  Anders Lindgren  <andlind@gmail.com>
3545         New visible-bell for NextStep (OS X El Capitan compatible).
3547         Instead of inverting a rectangle in the middle of the frame, use
3548         the standard NextStep image "caution", represented using an
3549         warning sign with an exclamation mark.  (Bug#21662)
3551         Implemented based on a suggestion drafted by Mustafa Kocaturk.
3553         * src/nsterm.m (EmacsBell): New class for managing the caution
3554         image.  Support multiple active bells, the image is removed once
3555         all bells have timed out.
3556         (ns_timeout): Removed, no longer used.
3557         (ns_ring_bell): Reimplemented to use EmacsBell.
3559 2015-11-23  Johan Bockgård  <bojohan@gnu.org>
3561         * lisp/emacs-lisp/nadvice.el (add-function): Fix debug spec.
3563         (remove-function): Ditto. (Bug#20376)
3565 2015-11-23  Mark Oteiza  <mvoteiza@udel.edu>
3567         * lisp/leim/quail/tamil-dvorak.el: Add necessary escapes.
3569 2015-11-23  Eli Zaretskii  <eliz@gnu.org>
3571         Improve how non-ASCII strings are accepted from modules
3573         * src/emacs-module.c (module_make_function, module_make_string):
3574         Build a unibyte Lisp string and then decode it by UTF-8, instead
3575         of building a multibyte string without decoding.  This is more
3576         tolerant to deviations from UTF-8.
3578 2015-11-23  Paul Eggert  <eggert@cs.ucla.edu>
3580         Port recent module changes to pickier compilers
3582         * src/emacs-module.c (module_make_function)
3583         (module_make_string): Add casts to fix pointer signedness issues.
3585 2015-11-23  Philipp Stephani  <phst@google.com>
3587         Fix how strings are accepted from modules
3589         * emacs-module.c (module_make_function, module_make_string): Use
3590         make_multibyte_string.
3591         (module_copy_string_contents): Encode before reading the byte
3592         size.  Return false if and only if an error occurred.
3594 2015-11-23  Eli Zaretskii  <eliz@gnu.org>
3596         Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emacs into emacs-25
3598 2015-11-23  Shakthi Kannan  <shakthimaan@gmail.com>
3600         Add the tamil-dvorak input method
3602         * lisp/leim/quail/tamil-dvorak.el: New file.  (Bug#21768)
3604         * etc/NEWS: Mention the new input method.
3606 2015-11-23  Martin Rudalics  <rudalics@gmx.at>
3608         Move setting FRAME_WINDOW_SIZES_CHANGED to resize_frame_windows.
3610         * src/frame.c (adjust_frame_size): Don't set
3611         FRAME_WINDOW_SIZES_CHANGED here ...
3612         * src/window.c (resize_frame_windows): ... but here, as suggested
3613         by Stefan Monnier.  Also remove some dead code along the way.
3615 2015-11-23  Alan Mackenzie  <acm@muc.de>
3617         * /etc/NEWS (Incompatible Lisp Changes): Also `setf' needs an even # of args.
3619 2015-11-23  Alan Mackenzie  <acm@muc.de>
3621         Signal an error when `setf' gets an odd number of arguments.
3623         * lisp/emacs-lisp/gv.el (setf): Amend.
3625 2015-11-23  Stefan Monnier  <monnier@iro.umontreal.ca>
3627         * lisp/emacs-lisp/smie.el (smie-backward-sexp): Handle BOB better.
3629 2015-11-23  Alan Mackenzie  <acm@muc.de>
3631         * etc/NEWS (Incompatible Lisp Changes): Document new restriction on `setq'.
3633 2015-11-23  Alan Mackenzie  <acm@muc.de>
3635         Expunge occurrences of `setq' with an odd number of arguments.
3637         * lisp/apropos.el (apropos-documentation):
3638         * lisp/obsolete/complete.el (PC-include-file-all-completions):
3639         * lisp/progmodes/compile.el (compilation-goto-locus):
3640         * lisp/vc/vc-cvs.el (vc-cvs-parse-root): (twice)
3641         Insert missing nil at end of `setq' forms.
3643         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-autoload): Remove an
3644         erroneous trailing variable name from a setq, thus allowing a compilation
3645         properly to track functions not defined at runtime.
3647 2015-11-23  John Wiegley  <johnw@newartisans.com>
3649         Add a note about a questionable use of bool in xdisp.c
3651 2015-11-23  Alan Mackenzie  <acm@muc.de>
3653         Issue a warning from the byte compiler on a malformed `setq' form.
3655         Partly fixes bug#20241.
3656         * lisp/emacs-lisp/bytecomp.el (byte-compile-setq): Issue a warning when a
3657         `setq' form with an odd number of arguments is compiled.
3659 2015-11-23  Alan Mackenzie  <acm@muc.de>
3661         Don't let cconv_convert insert a nil argument into a `setq' form.
3663         Fixes bug#21983.
3664         * lisp/emacs-lisp/cconv.el (cconv-convert): Don't silently insert a nil last
3665         argument into a `setq' when there're an odd number of args.  This enables the
3666         byte compiler to issue a message in this case.
3668 2015-11-23  Alan Mackenzie  <acm@muc.de>
3670         Signal an error when `setq' has an odd number of arguments.  Fixes bug#20241.
3672         * src/eval.c (Fsetq): Signal an error on an odd number of arguments.
3673         (syms_of_eval): Add a DEFSYM for Qsetq.
3675 2015-11-23  Martin Rudalics  <rudalics@gmx.at>
3677         * doc/lispref/windows.texi (Window Sizes): Fix indices and references.
3679         * src/frame.c (adjust_frame_size): Set FRAME_WINDOW_SIZES_CHANGED (Bug#21975).
3681 2015-11-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
3683         Add EUDC BBDB 3 entry in NEWS
3685         * NEWS: Mention EUDC BBDB backend support for BBDB 3.
3687 2015-11-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
3689         Improve EUDC to BBDB 3 export
3691         * eudc-vars.el (eudc-ldap-bbdb-conversion-alist): Change phone
3692         entry to single item.  Add company conversion.
3693         * eudc-export.el (eudc-bbdbify-company): New function.
3694         (bbdb-parse-phone): Declare function.
3695         (eudc-bbdbify-phone): Add BBDB 3 support.
3696         (Bug#21971)
3698 2015-11-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
3700         Add BBDB 3 support for EUDC export
3702         * eudc.el: Add bbdb-version defvar.
3703         (eudc--using-bbdb-3-or-newer-p): New function.
3704         * eudc-export.el (eudc-create-bbdb-record): Add support for
3705         bbdb-create-internal argument list changes introduced in BBDB 3.
3706         * eudcb-bbdb.el: Remove bbdb-version defvar.
3707         (eudc-bbdb-field): Call eudc--using-bbdb-3-or-newer-p.
3708         (Bug#21971)
3710 2015-11-22  Eli Zaretskii  <eliz@gnu.org>
3712         Allow loading modules by 'load-file'
3714         * src/lread.c (Fload): Call 'unbind_to' with 'Fmodule_load' as the
3715         2nd arg, to avoid the "binding stack not balanced" error.
3716         (syms_of_lread) <module-file-suffix>: New Lisp variable.
3718         * lisp/files.el (module-file-suffix): Declare.
3719         (load-file): Remove 'module-file-suffix' from
3720         'completion-ignored-extensions', to allow completion on modules.
3722         * etc/NEWS: Mention 'module-file-suffix'.
3724 2015-11-22  Eli Zaretskii  <eliz@gnu.org>
3726         Fix unoptimized builds
3728         * src/lisp.h (XTYPE): Move before XSYMBOL, to fix unoptimized
3729         builds.
3731 2015-11-22  Dmitry Gutov  <dgutov@yandex.ru>
3733         Work around the asynchronous-empty-diff problem
3735         * lisp/vc/vc-rcs.el (vc-rcs-diff):
3736         * lisp/vc/vc-mtn.el (vc-mtn-diff):
3737         * lisp/vc/vc-hg.el (vc-hg-diff):
3738         * lisp/vc/vc-git.el (vc-git-diff): Ignore the ASYNC argument,
3739         do a synchronous process call (bug#21969).
3741 2015-11-21  Karl Fogel  <kfogel@red-bean.com>
3743         Finish excising electric indent from `open-line'
3745         * lisp/simple.el (open-line): Remove INTERACTIVE argument.
3747         * test/automated/simple-test.el (open-line-indent, open-line-hook):
3748           Adjust accordingly.
3750         This change finishes what my commit of Thu Nov 19 17:32:37 2015 -0600
3751         (git commit c59353896) started.  It turns out that having INTERACTIVE
3752         cause `post-self-insert-hook' to run (via `newline') meant `open-line'
3753         still had the electric indent behavior, as `post-self-insert-hook'
3754         normally contains `electric-indent-post-self-insert-function' ever
3755         since `electric-indent-mode' has been on by default.  Tracing the code
3756         change in `open-line' is mildly twisty, because Artur Malabarba's
3757         earliest two commits of 24 Oct 2015 first removed the `interactive'
3758         form entirely (git commit 6939896e2) and then restored it with the new
3759         extra "p" already added (git commit bd4f04f86), such that there is no
3760         single-commit diff in which one sees the second "p" appear.  Thus this
3761         change is effectively a reversion of parts of each of those commits.
3763         This could close bug#21884, at least until further discussion.
3765 2015-11-21  Dmitry Gutov  <dgutov@yandex.ru>
3767         Adhere closer to the "implicit tag name" definition
3769         * lisp/progmodes/etags.el (etags-tags-completion-table):
3770         Adhere closer to the "implicit tag name" definition.  Simplify
3771         the regexp.  Search for the explicit tag name first, and when
3772         not found, search locally for the implicit one.  (Bug#21934)
3774 2015-11-21  Stefan Monnier  <monnier@iro.umontreal.ca>
3776         Unrevert most of regexp reentrancy abort patch
3778         The problem was in:
3779           * src/syntax.c (update_syntax_table_forward): Propertize even when truncated
3780         which is hence not unreverted.
3781         The rest is:
3782         * src/syntax.h (UPDATE_SYNTAX_TABLE_FORWARD_FAST):
3783         (UPDATE_SYNTAX_TABLE_FAST): Re-introduce.
3784         All callers in regex.c changed back to the _FAST versions.
3786         * test/automated/message-mode-tests.el: Tweak the test to rely on auto
3787         propertization in backward-sexp.
3789 2015-11-21  Paul Eggert  <eggert@cs.ucla.edu>
3791         Revert regexp reentrancy abort patch
3793         Although the patch does fix Bug#21688 and prevents a core dump,
3794         it also makes the message-mode-propertize test fail; see:
3795         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg01667.html
3796         Perhaps someone else can come up with a better fix some day.
3797         * src/syntax.c (update_syntax_table_forward):
3798         Propertize even when truncated.
3799         * src/syntax.h (UPDATE_SYNTAX_TABLE_FORWARD_FAST):
3800         (UPDATE_SYNTAX_TABLE_FAST): Remove.
3801         All callers changed back to the non-_FAST versions.
3803 2015-11-21  Paul Eggert  <eggert@cs.ucla.edu>
3805         Add a few safety checks when ENABLE_CHECKING
3807         This was motivated by the recent addition of module code,
3808         which added some ENABLE_CHECKING-enabled checks that are
3809         useful elsewhere too.
3810         * src/alloc.c (compact_font_cache_entry):
3811         * src/fns.c (sweep_weak_table):
3812         * src/lread.c (oblookup):
3813         Use gc_asize rather than doing it by hand.
3814         * src/emacs-module.c (module_make_global_ref)
3815         (module_free_global_ref, module_vec_size):
3816         Omit assertions that lisp.h now checks.
3817         * src/lisp.h (XFASTINT, ASIZE): In functional implementations,
3818         check that the result is nonnegative.  Use eassume, as this
3819         info can help a bit when optimizing production code.
3820         (XSYMBOL) [!USE_LSB_TAG]: Assert that argument is a symbol,
3821         to be consistent with the USE_LSB_TAG case.
3822         (gc_asize): New function, when ASIZE is needed in the gc.
3823         (gc_aset): Use it.
3824         (HASH_TABLE_P): Move definition up, so that it can be used ...
3825         (XHASH_TABLE): ... here, to assert that the arg is a hash table.
3827 2015-11-21  Eli Zaretskii  <eliz@gnu.org>
3829         Simplify recording of main thread's ID on MS-Windows
3831         * src/w32term.c (w32_initialize):
3832         * src/w32console.c (initialize_w32_display):
3833         * src/w32fns.c (globals_of_w32fns): Don't record the main thread
3834         ID independently for each type of session (GUI, TTY, batch).
3835         * src/w32term.c (w32_init_main_thread): New function, records the
3836         main thread's thread ID.
3837         * src/w32term.h: Add prototype for w32_init_main_thread.
3838         * src/emacs.c (main) [WINDOWSNT]: Call w32_init_main_thread.
3840         * src/emacs-module.c [WINDOWSNT]: Rename main_thread_id to
3841         main_thread, for consistency with other threading libraries.  All
3842         users changed.  Include w32term.h.
3843         (check_main_thread) [WINDOWSNT]: Simplify the test: no need to
3844         make sure the main thread is alive, as we hold a handle on it
3845         opened by w32_init_main_thread.
3846         (module_init) [WINDOWSNT]: Reuse the thread ID recorded by
3847         w32_init_main_thread, instead of calling the requisite APIs once
3848         more.
3850 2015-11-21  Mark Oteiza  <mvoteiza@udel.edu>
3852         Backport: Fix issue where a new tempfile was created every refresh
3854         * lisp/mpc.el (mpc-format): Leave dir as relative path
3856 2015-11-21  Eli Zaretskii  <eliz@gnu.org>
3858         Call 'window-size-change-functions' for mini-windows
3860         * src/window.c (grow_mini_window, shrink_mini_window): Set the
3861         frame's 'window_sizes_changed' flag.
3862         * src/xdisp.c (redisplay_internal): Call the hooks on
3863         'window-size-change-functions' if the call to 'echo_area_display'
3864         sets the frame's 'window_sizes_changed' flag.
3865         (syms_of_xdisp) <window-size-change-functions>:
3866         Update doc string to indicate the mini-window resizes trigger a
3867         call to the hooks, and don't promise that will happen "before
3868         redisplay".  (Bug#19576, Bug#21333)
3870         * doc/lispref/windows.texi (Window Hooks): Update the description
3871         of 'window-size-change-functions'.
3873 2015-11-21  Eli Zaretskii  <eliz@gnu.org>
3875         Improve documentation of dynamic modules
3877         * src/fns.c (Frequire): Doc fix to include the dynamic module
3878         support.
3879         * src/lread.c (Fload, Vload_suffixes): Doc fixes to include the
3880         dynamic module support.
3881         (Fload): Treat the module suffix the same as '*.el' and '*.elc'
3882         wrt the MUST-SUFFIX argument.
3884         * etc/NEWS: Expand documentation of dynamically loaded modules.
3886 2015-11-21  Philipp Stephani  <phst@google.com>  (tiny change)
3888         Initial documentation for dynamic modules
3890         * etc/NEWS: Mention the new support for dynamically loaded modules.
3892 2015-11-20  Dmitry Gutov  <dgutov@yandex.ru>
3894         Add xref--etags-backend to xref-backing-functions using add-hook
3896         * lisp/progmodes/xref.el (xref-backend-functions): Move the
3897         default value into a separate `add-hook' call (bug#21964).
3899         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
3900         Don't declare the xref-backend-functions variable.
3901         It doesn't make any difference.
3903 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
3905         Fix double-decrement bug when freeing global refs
3907         * src/emacs-module.c (module_free_global_ref): Add a FIXME
3908         comment about error reporting.  Fix a recently-introduced typo
3909         that double-decremented the refcount.
3911 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
3913         Declare emacs_module_init in the module API
3915         * src/emacs-module.h (emacs_module_init): New decl.
3916         Without it, GCC might complain about a module that defines
3917         emacs_module_init without using it.  This also checks the
3918         API better.
3920 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
3922         Fix module test to use ptrdiff_t nargs too
3924         * modules/mod-test/mod-test.c (Fmod_test_return_t)
3925         (Fmod_test_sum, Fmod_test_signal, Fmod_test_throw)
3926         (Fmod_test_non_local_exit_funcall, Fmod_test_globref_make)
3927         (Fmod_test_string_a_to_b, Fmod_test_userptr_make)
3928         (Fmod_test_userptr_get, Fmod_test_vector_fill)
3929         (Fmod_test_vector_eq): Arg counts are ptrdiff_t, not int.
3930         (finalizer): Remove; no longer used.
3932 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
3934         Fix reindent-introduced typo in module code
3936         * src/emacs-module.c (MODULE_SETJMP_1): Fix typo that I
3937         introduced while reindenting the code earlier, and add a
3938         comment explaining the unusual use of do-while here.
3940 2015-11-20  Anders Lindgren  <andlind@gmail.com>
3942         Fixed bug#19576: `write-file' saves wrong buffer.
3944         If a function on the hook `window-size-change-functions' doesn't
3945         restore the current buffer, functions that save and restore the
3946         current window configuration (like `y-or-no-p') could silently
3947         change the current buffer.  When `write-file' asked the user
3948         confirmation to overwrite a file, `y-or-no-p' changed the current
3949         buffer, and the wrong buffer was saved to the file.
3951         * lisp/follow.el (follow-windows-start-end): Call `select-frame'
3952         using the `norecord' parameter.
3953         (follow-window-size-change): Restore current buffer. Call
3954         `select-frame' using the `norecord' parameter. Cleanup.
3956 2015-11-20  John Wiegley  <johnw@newartisans.com>
3958         Correct a documentation error in frames.texi
3960 2015-11-20  Stephen Leake  <stephen_leake@stephe-leake.org>
3962         * lisp/cedet/mode-local.el: Delete obsolete comment
3964 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
3966         Module function arg counts are ptrdiff_t, not int
3968         * src/emacs-module.c (struct module_fun_env)
3969         (module_make_function, module_funcall, Fmodule_call):
3970         * src/emacs-module.h (struct emacs_runtime, struct emacs_env_25):
3971         Use ptrdiff_t, not int, for arg counts.
3972         * src/emacs-module.c (module_make_function): Don’t bother
3973         checking arity against MOST_POSITIVE_FIXNUM, as that’s
3974         unnecessary here.  Make the checking clearer by negating it.
3975         (module_make_function, Fmodule_call): No need to use xzalloc
3976         since the storage doesn’t need to be cleared.
3977         (module_funcall): Don’t use VLA, since C11 doesn’t guarantee support
3978         for it, and many implementations are buggy with large VLAs anyway.
3979         Use SAFE_ALLOCA_LISP instead.
3980         (module_vec_set): Don’t crash if i < 0.
3981         (module_vec_get): Don’t crash if i < MOST_NEGATIVE_FIXNUM.
3982         (module_vec_set, module_vec_get): Do fixnum checks only when
3983         i is out of array bounds, for efficiency in the usual case.
3984         (Fmodule_load): Simplify fixnum range check.
3985         (Fmodule_call): Simplify arity check.  Use xnmalloc to detect
3986         integer overflow in array allocation size.
3988 2015-11-20  Eli Zaretskii  <eliz@gnu.org>
3990         Minor improvements in module test
3992         * modules/mod-test/mod-test.c: Include stdlib.h, to avoid warnings
3993         about missing prototype of malloc.
3994         * modules/mod-test/Makefile (CFLAGS): Add -std=gnu99, to avoid
3995         compiler warnings.
3997 2015-11-20  Eli Zaretskii  <eliz@gnu.org>
3999         Improve MS-Windows implementation in dynlib.c
4001         * src/dynlib.c [WINDOWSNT]: Include errno.h, lisp.h, and w32.h.
4002         No need to include windows.h, as w32.h already does that.
4003         <dynlib_last_err>: New static variable.
4004         (dynlib_reset_last_error): New function.
4005         (dynlib_open): Convert forward slashes to backslashes.  Convert
4006         file names from UTF-8 to either UTF-16 or the current ANSI
4007         codepage, and call either LoadLibraryW or LoadLibraryA.  If the
4008         argument is NULL, return a handle to the main module, like
4009         'dlopen' does.  Record the error, if any, for use by dynlib_error.
4010         (dynlib_sym): Check the handle for validity. Record the error, if
4011         any, for use by dynlib_error.
4012         (dynlib_error): Call w32_strerror to produce the error string, and
4013         zero out the last error code, like dlerror does.
4014         (dynlib_close): Check the handle for validity.  Record the error,
4015         if any, for use by dynlib_error.  Don't call FreeLibrary with a
4016         handle for the main module.
4017         * src/w32.c (globals_of_w32): Call dynlib_reset_last_error.
4019 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
4021         Include-file tweaks for modules
4023         * src/dynlib.c, src/emacs-module.c: Include <config.h> first.
4024         * src/dynlib.h: Do not include config.h.
4025         It’s every .c file’s responsibility to include config.h first.
4026         * src/emacs-module.c: Include emacs-module.h immediately after
4027         config.h, to test that emacs-module.h doesn’t depend on
4028         include files other than config.h.
4030 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
4032         Simplify push_handler and profile its malloc
4034         * src/lisp.h (PUSH_HANDLER): Remove.
4035         All callers changed to use push_handler directly.
4036         * src/eval.c (internal_condition_case)
4037         (internal_condition_case_1, internal_condition_case_2)
4038         (internal_condition_case_n):
4039         Use same pattern as for other invokers of push_handler.
4040         (push_handler, push_handler_nosignal): Use call-by-value
4041         instead of call-by-reference.  All uses changed.
4042         (push_handler): Simplify by rewriting in terms of
4043         push_handler_nosignal.
4044         (push_handler_nosignal): Profile any newly allocated memory.
4046 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
4048         * src/emacs-module.h: Include stddef.h, not stdlib.h.
4050 2015-11-19  Juanma Barranquero  <lekktu@gmail.com>
4052         Discover repository version in linked worktrees (bug#21930)
4054         * lisp/version.el (emacs-repository--version-git-1): Do not assume
4055         HEAD is at .git/HEAD, it can also be at .git/worktrees/<branch>/HEAD.
4056         (emacs-repository-get-version): Grok linked worktrees when EXTERNAL
4057         is nil too.
4059 2015-11-19  Juri Linkov  <juri@linkov.net>
4061         * lisp/replace.el (occur-regexp-descr): New function.
4062         (occur-1, occur-engine): Use it.
4064         * lisp/isearch.el (isearch-occur): Propertize regexp with
4065         isearch-string and isearch-regexp-function-descr for
4066         occur-regexp-descr to display the correct description
4067         message in the header (bug#21176, bug#21180).
4069 2015-11-19  Karl Fogel  <kfogel@red-bean.com>
4071         Revert `open-line' electric-indent sensitivity
4073         * lisp/simple.el (open-line): Remove electric indent code.
4074           (electric-indent-just-newline): Don't declare.
4076         * test/automated/simple-test.el (open-line-indent): Adjust test.
4078         This partly reverts Artur Malabarba's change that added electric
4079         indent sensitivity to `open-line' (Oct 24 22:26:27 2015 +0100, git
4080         commit bd4f04f86), and adjusts a new test he added right afterwards
4081         (Sat Oct 24 23:43:06 2015 +0100, git commit 207f235e3) accordingly.
4082         However, the new INTERACTIVE argument to `open-line', which he also
4083         added in the first commit, is not reverted here.
4085         See the thread "Questioning the new behavior of `open-line'." on the
4086         Emacs Devel mailing list, and in particular this message:
4088           From: Artur Malabarba
4089           Subject: Re: Questioning the new behavior of `open-line'.
4090           To: Karl Fogel
4091           Cc: David Kastrup, Pierpaolo Bernardi, emacs-devel
4092           Date: Wed, 18 Nov 2015 21:03:58 +0000
4093           Message-ID: \
4094             <CAAdUY-KN06pvCMy5bt3+Buk3yeKjf6n9iB2FaSTTOPpCqPwyhA@mail.gmail.com>
4096           https://lists.gnu.org/archive/html/emacs-devel/2015-11/msg01707.html
4098 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
4100         Omit unnecessary clear in Fmodule_load
4102         * src/emacs-module.c (Fmodule_load):
4103         Simplify and avoid unnecessary initialization of priv member to 0.
4105         * src/emacs-module.c: (module_vec_set, module_vec_get, module_vec_size)
4107 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
4109         Prefer signed integer types in module code
4111         Generally speaking, at the C level the Emacs source code prefers
4112         signed types like ‘ptrdiff_t’ to unsigned types like ‘size_t’,
4113         partly to avoid the usual signedness confusion when comparing values.
4114         Change the module API to follow this convention.
4115         Use ‘int’ for small values that can’t exceed INT_MAX.
4116         * modules/mod-test/mod-test.c (Fmod_test_globref_make)
4117         (Fmod_test_string_a_to_b, Fmod_test_vector_fill)
4118         (Fmod_test_vector_eq):
4119         * src/emacs-module.c (struct emacs_value_frame)
4120         (module_make_global_ref, module_free_global_ref)
4121         (module_copy_string_contents, module_make_string)
4122         (module_vec_set, module_vec_get, module_vec_size):
4123         * src/emacs-module.h (struct emacs_runtime, struct emacs_env_25):
4124         * src/lread.c (suffix_p):
4125         Prefer signed to unsigned integer types.
4127 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
4129         Omit ‘const’ on locals
4131         Remove ‘const’ qualifier from locals that were newly added.
4132         We don’t normally bother declaring locals with ‘const’ even
4133         though they are not modified, for the same reason we don’t
4134         bother declaring them with ‘register’ even though their
4135         addresses are not taken; the advantage in compile-time
4136         checking isn’t worth the loss of readability.
4137         * modules/mod-test/mod-test.c (Fmod_test_non_local_exit_funcall)
4138         (Fmod_test_vector_fill, Fmod_test_vector_eq):
4139         * src/emacs-module.c (MODULE_SETJMP_1)
4140         (module_make_global_ref, module_free_global_ref)
4141         (module_non_local_exit_get, module_make_function)
4142         (module_extract_integer, module_extract_float)
4143         (module_get_user_ptr, module_set_user_ptr)
4144         (module_get_user_finalizer, module_set_user_finalizer)
4145         (module_vec_get, Fmodule_call)
4146         (module_non_local_exit_signal_1)
4147         (module_non_local_exit_throw_1, lisp_to_value)
4148         (finalize_storage, allocate_emacs_value, mark_modules)
4149         (module_handle_signal, module_handle_throw)
4150         (module_format_fun_env):
4151         * src/eval.c (push_handler, push_handler_nosignal)
4152         (init_handler):
4153         * src/lread.c (suffix_p):
4154         Omit unnecessary ‘const’.
4156 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
4158         Prefer intmax_t to int64_t in module code
4160         * modules/mod-test/mod-test.c (sum, Fmod_test_sum):
4161         * src/emacs-module.c (module_extract_integer)
4162         (module_make_integer):
4163         * src/emacs-module.h (struct emacs_env_25):
4164         Prefer intmax_t to int64_t.  This doesn’t change the generated
4165         code on any of the machines Emacs currently ports to, but it’s
4166         at least in theory more future-proof as C99 doesn’t guarantee
4167         that int64_t exists.
4169 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
4171         Rename module.c to emacs-module.c, etc.
4173         * src/emacs-module.c: Rename from src/module.c.
4174         * src/emacs-module.h: Rename from src/module.h.
4175         All uses changed.
4177 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
4179         Fix minor module problems found by static checking
4181         * src/dynlib.c (dynlib_close): #ifdef out for now, as it’s not used.
4182         * src/eval.c, src/lisp.h (lisp_eval_depth): Now static.
4183         * src/module.c (Fmodule_load): Fix pointer signedness bug.
4184         (Fmodule_call): Tell GCC that the default case is unreachable.
4186 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
4188         Style fixes for indenting etc. in module code
4190         This is mostly indenting and spacing changes.  Also, remove
4191         some unnecessary static decls instead of bothering to reindent them.
4192         * src/module.h (EMACS_EXTERN_C_BEGIN): Remove, and do this inline,
4193         as most other Emacs files do for this sort of thing.
4195 2015-11-19  Eli Zaretskii  <eliz@gnu.org>
4197         Minor improvements in modules testing Makefile
4199         * modules/mod-test/Makefile (EMACS, SO): New variables.
4200         (CFLAGS): When SO = dll, don't use -fPIC.
4201         (check): New target, runs the test.
4203 2015-11-19  Eli Zaretskii  <eliz@gnu.org>
4205         * .gitignore: Add "*.dll".
4207 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
4209         Migrate modules/.gitignore into .gitignore
4211         * .gitignore: Add former contents of modules/.gitignore.
4212         * modules/.gitignore: Remove.
4214 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
4216         Add copyright notices to module code
4218         Put them in the usual format for GNU Emacs copyright notices.
4220 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
4222         Rename emacs_module.h to module.h
4224         * src/module.h: Rename from src/emacs_module.h.
4225         All uses changed.
4227 2015-11-19  Juanma Barranquero  <lekktu@gmail.com>
4229         * src/module.c (Fmodule_load): Remove unused vars `doc_name', `args'
4231         * src/lread.c (Fload): Remove unused variable `size'
4233 2015-11-19  Alan Mackenzie  <acm@muc.de>
4235         src/keyboard.c (pre-command-hook): Fix typo in doc string: "pre" -> "post".
4237 2015-11-18  Dmitry Gutov  <dgutov@yandex.ru>
4239         Prioritize looking inside vc-parent-buffer over log-view-mode fallback
4241         * lisp/vc/vc.el (vc-deduce-fileset): Prioritize looking inside
4242         vc-parent-buffer over log-view-mode fallback (bug#21955).
4244 2015-11-18  Alan Mackenzie  <acm@muc.de>
4246         lisp/isearch.el: Eliminate macro isearch-call-message, replacing with funcall.
4248 2015-11-18  Ken Brown  <kbrown@cornell.edu>
4250         * configure.ac (LIBMODULES): Don’t define on Cygwin
4252 2015-11-18  Eli Zaretskii  <eliz@gnu.org>
4254         Fix MS-Windows build --with-modules
4256         * src/module.c: Reformat copyright commentary.
4257         (module_vec_get): Use explicit cast to size_t to avoid compiler
4258         warning in 32-bit builds.
4259         (check_main_thread) [WINDOWSNT]: Fix letter-case in Windows APIs.
4260         Compare thread IDs directly, as GetThreadId is not available
4261         before Windows Vista.
4262         (check_main_thread) [WINDOWSNT]: Duplicate the thread handle
4263         without using APIs and constants not available on XP and older
4264         systems.  Obtain and store the thread ID as well.
4266 2015-11-18  Aurélien Aptel  <aurelien.aptel@gmail.com>
4267             Philipp Stephani  <phst@google.com>
4269         Add dynamic module test and helper script
4271         Add 'modhelp.py' script (python2) to automate module testing and
4272         module generation.
4274         To build and test all modules in the modules/ dir
4275           $ ./modhelp.py test
4277         To generate a module from template code (good starting point)
4278           $ ./modhelp init mynewtestmodule
4280         See the script -h option for more documentation.
4282         * modules/modhelp.py: New module helper script.
4283         * modules/mod-test/Makefile: New file. Makefile for the test module.
4284         * modules/mod-test/mod-test.c: New file. Test module source file.
4285         * modules/mod-test/test.el: New file. ert test suite for the test module.
4286         * modules/.gitignore: New file. Local .gitignore file.
4288 2015-11-18  Aurélien Aptel  <aurelien.aptel@gmail.com>
4290         Make 'Fload' look for modules
4292         'Fload' can now load dynamic modules. This also makes 'require' work.
4294         * src/lread.c:
4295           (suffix_p): New function.
4296           (Fload): Use 'suffix_p'.  Call 'Fmodule_load' when we try to load a file
4297           with a module suffix.
4298           (syms_of_lread): Append module suffix to 'Vload_suffixes'.
4300 2015-11-18  Aurélien Aptel  <aurelien.aptel@gmail.com>
4301             Philipp Stephani  <phst@google.com>
4303         Add dynamic module module support
4305         * configure.ac: Add '--with-modules' option.  Conditionally add
4306           dynlib.o and module.o to the list of objects.  Add any system
4307           specific flags to the linker flags to support dynamic libraries.
4308         * m4/ax_gcc_var_attribute.m4: Add autoconf extension to test gcc
4309           attributes.
4310         * src/Makefile.in: Conditionally add module objects and linker flags.
4311         * src/alloc.c (garbage_collect_1): protect module local values from
4312           GC.
4313         * src/lisp.h: Add 'module_init' and 'syms_of_module' prototypes.
4314         * src/emacs_module.h: New header file included by modules.  Public
4315           module API.
4316         * src/module.c: New module implementation file.
4318 2015-11-18  Aurélien Aptel  <aurelien.aptel@gmail.com>
4320         Add new User Pointer (User_Ptr) type
4322         * src/lisp.h: Add new Lisp_Misc_User_Ptr type.
4323         (XUSER_PTR): New User_Ptr accessor.
4324         * src/alloc.c (make_user_ptr): New function.
4325         (mark_object, sweep_misc): Handle Lisp_Misc_User_Ptr.
4326         * src/data.c (Ftype_of): Return 'user-ptr' for user pointer.
4327         (Fuser-ptrp): New user pointer type predicate function.
4328         (syms_of_data): New 'user-ptrp', 'user-ptr' symbol.  New 'user-ptrp'
4329         subr.
4330         * src/print.c (print_object): Add printer for User_Ptr type.
4332 2015-11-18  Aurélien Aptel  <aurelien.aptel@gmail.com>
4333             Philipp Stephani  <phst@google.com>
4335         Add portable layer for dynamic loading
4337         * src/dynlib.h: New file.
4338         * src/dynlib.c: New file.
4340 2015-11-18  Philipp Stephani  <phst@google.com>
4342         Add catch-all & no-signal version of PUSH_HANDLER
4344         Ground work for modules. Add a non-signaling version of PUSH_HANDLER and
4345         a new "catch-all" handler type.
4347         * src/eval.c (init_handler, push_handler, push_handler_nosignal): New
4348           functions.
4349         * src/fns.c (hash_remove_from_table): Expose function public.
4350         * src/lisp.h: New handler type, define macro to push_handler call.
4352 2015-11-18  Ken Brown  <kbrown@cornell.edu>
4354         Silence byte-compiler warning
4356         * lisp/server.el (server-process-filter): Silence byte-compiler
4357         warning.
4359 2015-11-18  Paul Eggert  <eggert@cs.ucla.edu>
4361         Quote symbols in docstrings using `'
4363         Be more systematic about quoting symbols `like-this' rather than
4364         `like-this or 'like-this' in docstrings.  This follows up Artur
4365         Malabarba's email in:
4366         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg01647.html
4368 2015-11-18  Peder O. Klingenberg  <peder@klingenberg.no>
4370         Fix savegames in dunnet
4372         * lisp/play/dunnet.el (dun-rot13): Use the standard rot13-region instead
4373           of separate implementation.
4375 2015-11-18  Artur Malabarba  <bruce.connor.am@gmail.com>
4377         * lisp/emacs-lisp/package.el (package--with-response-buffer):
4379         Ensure we're at the start of the buffer before searching for
4380         the end of headers.
4382 2015-11-17  Xue Fuqiao  <xfq.free@gmail.com>
4384         * admin/release-process: Improve wording.
4386 2015-11-17  Xue Fuqiao  <xfq.free@gmail.com>
4388         Backport: * CONTRIBUTE: Remove information about feature freeze.
4390         (cherry picked from commit ae0653b5ab9ee223751ec389b87011963e1cbbef)
4392 2015-11-17  Xue Fuqiao  <xfq.free@gmail.com>
4394         Backport: Document the release process
4396         * admin/notes/versioning: Add information about RC releases.
4397         * admin/release-process: Document the release process.
4398         * admin/authors.el (authors-ignored-files):
4399         * admin/README: Change FOR-RELEASE to release-process.
4400         * CONTRIBUTE:
4401         * admin/notes/bugtracker: Don't mention FOR-RELEASE.
4403         (cherry picked from commit 9a4aa0f5945a03611ae29c516025dbd353bd26ab)
4405 2015-11-17  Xue Fuqiao  <xfq.free@gmail.com>
4407         Backport: * admin/release-process: Rename from admin/FOR-RELEASE.
4409         (cherry picked from commit f8cc14b59700e51a4e31139c0a65c8154995e055)
4411 2015-11-17  Xue Fuqiao  <xfq.free@gmail.com>
4413         Backport: Mention CONTRIBUTE in README
4415         Mention CONTRIBUTE in README, since it was moved from etc/ to root.
4416         * etc/TODO: Remove the reference to `etc/CONTRIBUTE'.
4417         * README: Mention CONTRIBUTE.
4419         (cherry picked from commit ed2e7e20ae0945288c98091f308f5460c3453873)
4421 2015-11-17  Paul Eggert  <eggert@cs.ucla.edu>
4423         Fix docstring quoting problems with ‘ '’
4425         Problem reported by Artur Malabarba in:
4426         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg01513.html
4427         Most of these fixes are to documentation; many involve fixing
4428         longstanding quoting glitches that are independent of the
4429         recent substitute-command-keys changes.  The changes to code are:
4430         * lisp/cedet/mode-local.el (mode-local-augment-function-help)
4431         (describe-mode-local-overload):
4432         Substitute docstrings before displaying them.
4433         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
4434         Quote the generated docstring for later substitution.
4436 2015-11-17  Eli Zaretskii  <eliz@gnu.org>
4438         Improve configure --help text for wide ints
4440         * configure.ac (wide-int): Clarify user-level advantages and
4441         disadvantages.
4443 2015-11-17  Stephen Leake  <stephen_leake@stephe-leake.org>
4445         Improve doc string
4447         * lisp/progmodes/xref.el (xref-backend-references): Improve doc string.
4449 2015-11-17  Paul Eggert  <eggert@cs.ucla.edu>
4451         eval_sub followed dangling pointer when debugging
4453         Problem reported by Pip Cet (Bug#21245).
4454         This bug could occur in eval_sub if the C compiler reused
4455         storage associated with the ‘argvals’ local after ‘argvals’
4456         went out of scope, and if the Elisp debugger stopped on Elisp
4457         function exit and accessed ‘argvals’.  It could also occur if
4458         a variadic function was called with so many arguments (over
4459         2048 args on x86-64) that SAFE_ALLOCA_LISP called malloc, then
4460         SAFE_FREE freed the arguments, then the memory manager used
4461         the storage for other purposes, then the debugger accessed the
4462         arguments.
4463         * src/eval.c (eval_sub): Declare ‘argvals’ at top level of
4464         function body.  Simplify local decls.
4465         When allocating args via SAFE_ALLOCA, call
4466         debugger before invoking SAFE_FREE, as the debugger needs
4467         access to the args.
4468         (eval_sub, apply_lambda): Rework to avoid need for
4469         set_backtrace_debug_on_exit hack.  This is cleaner,
4470         and should work better with buggy custom debuggers.
4472 2015-11-16  Daiki Ueno  <ueno@gnu.org>
4474         * lisp/image-mode.el: Support encrypted file
4476         (image-toggle-display-image): Read content from the buffer instead
4477         of the file, if the buffer holds a decrypted data.  (Bug#21870)
4479 2015-11-16  Paul Eggert  <eggert@cs.ucla.edu>
4481         ELF unexec: align section header
4483         This ports the recent unexelf.c changes to Fedora x86-64
4484         when configured with GCC’s -fsanitize=undefined option.
4485         * src/unexelf.c (unexec): Align new_data2_size to a multiple
4486         of ElfW (Shdr)’s alignment, so that NEW_SECTION_H returns a
4487         pointer aligned appropriately for its type.
4489 2015-11-16  Andreas Schwab  <schwab@linux-m68k.org>
4491         Do more checks on bytecode objects (Bug#21929)
4493         * src/eval.c (funcall_lambda): Check size of compiled function
4494         object.
4495         (Ffetch_bytecode): Likewise.
4497 2015-11-16  Johan Bockgård  <bojohan@gnu.org>
4499         pcase.el: Fix edebugging of backquoted cons patterns
4501         * lisp/emacs-lisp/pcase.el (pcase-QPAT): Fix edebugging of backquoted
4502         cons patterns. (Bug#21920)
4504 2015-11-16  Paul Eggert  <eggert@cs.ucla.edu>
4506         Improve fix for regex reentrancy abort
4508         Suggested by Stefan Monnier (Bug#21688).
4509         * src/syntax.c (update_syntax_table_forward):
4510         Remove recently-added PROPERTIZE arg, and assume it is true.
4511         All callers changed.
4512         * src/syntax.h (UPDATE_SYNTAX_TABLE_FORWARD_FAST):
4513         Invoke update_syntax_table directly.
4515 2015-11-16  Artur Malabarba  <bruce.connor.am@gmail.com>
4517         * lisp/faces.el (faces--attribute-at-point): Use `face-list-p'
4519         * lisp/emacs-lisp/package.el (package--with-response-buffer): Missing require
4521         * lisp/emacs-lisp/nadvice.el (add-function): Escape quote
4523 2015-11-15  Vasily Korytov  <vasily.korytov@yahoo.com>
4525         Recognize .rbw and .pyw files (bug#18753)
4527         * lisp/progmodes/python.el (auto-mode-alist):
4528         Recognize .pyw files.
4530         * lisp/progmodes/ruby-mode.el (auto-mode-alist):
4531         Recognize .rbw files.
4533 2015-11-15  Dmitry Gutov  <dgutov@yandex.ru>
4535         Fix ruby-mode auto-mode-alist entry
4537         * lisp/progmodes/ruby-mode.el (auto-mode-alist): Add grouping
4538         around the extensions (bug#21257).
4540 2015-11-15  Dmitry Gutov  <dgutov@yandex.ru>
4542         Fix etags completion near eob
4544         * lisp/progmodes/etags.el (tags-completion-at-point-function):
4545         Use `goto-char', to avoid the end-of-buffer error (bug#20061).
4547 2015-11-15  Alan Mackenzie  <acm@muc.de>
4549         De-pessimize detection of C++ member initialization lists.
4551         list/progmodes/cc-engine.el (c-back-over-list-of-member-inits): New macro.
4552         (c-back-over-member-initializers): Reformulate such that c-at-toplevel-p
4553         is only called when a construct "looks right" rather than continually.
4554         (c-guess-basic-syntax, CASE 5R): Add a check for the mode being C++ Mode.
4556 2015-11-15  Artur Malabarba  <bruce.connor.am@gmail.com>
4558         Backport: * lisp/emacs-lisp/package.el: Fix a decoding issue.
4560         * lisp/url/url-handlers.el (url-insert-file-contents): Move some code to
4561         `url-insert-buffer-contents'.
4562         (url-insert-buffer-contents): New function
4564         (package--with-response-buffer): Use `url-insert-buffer-contents'.
4565         The previous code had some issues with decoding. Refactoring that
4566         function allows us to use the decoding from url-handlers while still
4567         treating both sync and async requests the same.
4569 2015-11-15  Stephen Leake  <stephen_leake@stephe-leake.org>
4571         Improve a few doc strings, comments
4573         * lisp/cedet/cedet-global.el (cedet-gnu-global-expand-filename):
4574         * lisp/cedet/ede/locate.el (ede-locate-base):
4575         * lisp/cedet/semantic/symref.el (semantic-symref-calculate-rootdir):
4576         * src/fns.c (Fdelq): Improve doc string.
4578         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions): Add FIXME.
4580 2015-11-15  Anders Lindgren  <andlind@gmail.com>
4582         Enhance NSTRACE (trace output for NextStep).
4584         Trace can be disabled for groups of functions. By default, event
4585         functions and functions that generate lots of output are disabled.
4587         Trace output of Objective-C functions now use the "[ClassName
4588         parameter:]" form.
4590         * src/nsterm.h (NSTRACE_ALL_GROUPS, NSTRACE_GROUP_EVENTS)
4591         (NSTRACE_GROUP_UPDATES, NSTRACE_GROUP_FRINGE, NSTRACE_GROUP_COLOR)
4592         (NSTRACE_GROUP_GLYPHS, NSTRACE_GROUP_FOCUS): New macros,
4593         controlling in which function groups trace should be active.
4594         (NSTRACE_WHEN): Support for silencing a function, this also
4595         silencing all called functions.
4596         (NSTRACE_UNSILENCE): New macro, used to re-enable trace.
4597         (NSTRACE_FMT_FSTYPE, NSTRACE_ARG_FSTYPE): New macros, used to
4598         print the full screen state in NSTRACE functions.
4600         * src/nsterm.m (nstrace_depth, nstrace_num): Made volatile as they
4601         can be accessed from multiple threads.
4602         (nstrace_enabled_global): New variable, when FALSE, trace is
4603         silenced.
4604         (nstrace_restore_global_trace_state): New function, used to
4605         restore `nstrace_enabled_global' at end of block.
4606         ([EmacsView setFrame:], [EmacsWindow setFrame:display:])
4607         ([EmacsWindow setFrame:display:animation:])
4608         ([EmacsWindow setFrameTopLeftPoint:]): New functions, print trace
4609         and call corresponding super function.
4610         (Many functions): Add or enhance trace output.
4612         * src/nsimage.m (ns_image_from_file): Enhanced trace output.
4614         * src/nsfns.m (x_set_tool_bar_lines): Add trace output.
4616         * src/nsmenu.m ([EmacsToolbar setVisible:]): New function, print trace
4617         and call corresponding super function.
4619 2015-11-15  Anders Lindgren  <andlind@gmail.com>
4621         Fixed a toolbar related issue on OS X.
4623         Earlier, when toggling the tool-bar in a maximized frame, the
4624         frame size didn't match the number of text lines, leaving an
4625         unused area at the bottom of the frame.
4627         * nsfns.m (x_set_tool_bar_lines): Exit maximized and full height
4628         fullscreen modes when tool bar is disabled.
4630 2015-11-15  Anders Lindgren  <andlind@gmail.com>
4632         Fixed OS X 10.6.8 build issue (bug#21862).
4634         * src/nsterm.h (EmacsView): Add missing declarations.
4635         * src/nsterm.m ([EmacsView windowDidBecomeKey]): New method, like
4636         the standard method but without the notification parameter.
4637         Intended to be used for direct calls.
4638         ([EmacsView windowDidEnterFullScreen]): Call the non-notification
4639         version of `windowDidBecomeKey'. Made the notification method call
4640         the non-notification method instead of the vice versa.
4641         (NSWindowDidEnterFullScreenNotification): Deleted, no longer
4642         needed.
4644 2015-11-15  Artur Malabarba  <bruce.connor.am@gmail.com>
4646         * lisp/faces.el (faces--attribute-at-point): Fix an issue
4648         Previous code would signal an error when the face at point was
4649         a manually built list of attributes such as '(:foregroud "white").
4651         * test/automated/faces-tests.el (faces--test-color-at-point): Add a test
4653 2015-11-15  Paul Eggert  <eggert@cs.ucla.edu>
4655         Fix regex abort when it tries to reenter itself
4657         Problem reported by Ken Raeburn.
4658         Solution suggested by Stefan Monnier (Bug#21688).
4659         * src/regex.c (re_match_2_internal):
4660         Use new _FAST functions to avoid regex code reentering itself.
4661         * src/syntax.c (update_syntax_table_forward): New arg PROPERTIZE.
4662         All callers changed.
4663         * src/syntax.h (UPDATE_SYNTAX_TABLE_FORWARD_FAST)
4664         (UPDATE_SYNTAX_TABLE_FAST): New inline functions.
4666 2015-11-15  Dmitry Gutov  <dgutov@yandex.ru>
4668         Improve Ruby 1.9-style keyword keys highlighting
4670         * lisp/progmodes/ruby-mode.el (ruby-font-lock-keywords):
4671         Handle required keyword arguments (bug#21367).
4672         And highlight the colon together with the name.
4674 2015-11-15  Dmitry Gutov  <dgutov@yandex.ru>
4676         Unify the absolutely equal xref-backend-references implementations
4678         * lisp/progmodes/elisp-mode.el (xref-backend-references):
4679         Remove.
4681         * lisp/progmodes/etags.el (xref-backend-references):
4682         Remove.
4684         * lisp/progmodes/xref.el (xref-backend-references):
4685         Define the default implementation.
4687 2015-11-14  Dmitry Gutov  <dgutov@yandex.ru>
4689         Update project-find-regexp for the new xref API
4691         * lisp/progmodes/project.el (project--read-regexp):
4692         Update to use the new xref API methods.
4694         * lisp/progmodes/xref.el (xref-find-backend): Autoload.
4696 2015-11-14  Dmitry Gutov  <dgutov@yandex.ru>
4698         Fix replacing a match with a shorter string
4700         In effect, partially reverting fe973fc.
4702         * lisp/progmodes/xref.el (xref-query-replace): Store the end
4703         of each match as a marker again, instead of length.
4704         (xref--query-replace-1): Update accordingly.
4706 2015-11-14  Artur Malabarba  <bruce.connor.am@gmail.com>
4708         * lisp/progmodes/xref.el (xref-pop-marker-stack): Downgrade errors
4710         Signal user-errors instead.
4712 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
4714         Document 'describe-symbol'
4716         * doc/emacs/help.texi (Help Summary): Mention "C-h o".
4717         (Name Help): Document "C-h o" and describe-symbol.
4719         * lisp/help-fns.el (describe-symbol): Doc fix.
4721 2015-11-14  Paul Eggert  <eggert@cs.ucla.edu>
4723         Change test name to avoid spellcheck issue.
4725 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
4727         Avoid signaling an error in 'describe-symbol'
4729         * lisp/help-fns.el (describe-symbol): Avoid errors when the symbol
4730         exists as a function/variable/face/etc., but is undocumented.
4732         * test/automated/help-fns.el (help-fns-test-describe-symbol): New
4733         test.
4735 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
4737         * INSTALL (--with-cairo): Document this new configure option.
4739 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
4741         Document that GNU Make >= 3.81 is required to build Emacs
4743         * doc/lispref/internals.texi (Building Emacs): Document that GNU
4744         Make 3.81 or later is now required.
4746 2015-11-14  Artur Malabarba  <bruce.connor.am@gmail.com>
4748         Backport: * lisp/emacs-lisp/package.el: Refactor -with-work-buffer-async.
4750         (package--with-work-buffer-async): Reimplement as
4751         `package--with-response-buffer'.
4752         (package--with-work-buffer): Mark obsolete.
4753         (package--with-response-buffer): New macro. This is a more self
4754         contained and less contrived version of
4755         `package--with-work-buffer-async'.  It uses keyword arguments,
4756         doesn't have async on the name, doesn't fallback on
4757         `package--with-work-buffer', and has _much_ simpler error
4758         handling.  On master, this macro will soon be part of another
4759         library (either standalone or inside url.el), which is why this
4760         commit is not to be merged back.
4762         (package--check-signature, package--download-one-archive)
4763         (package-install-from-archive, describe-package-1): Use it.
4765         (package--download-and-read-archives): Let
4766         `package--download-one-archive' take care of calling
4767         `package--update-downloads-in-progress'.
4769 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
4771         * CONTRIBUTE (Branches): Improve wording for back-ported commits.
4773 2015-11-14  Dmitry Gutov  <dgutov@yandex.ru>
4775         Merge branch 'master' into emacs-25
4777 2015-11-13  John Wiegley  <johnw@newartisans.com>
4779         Merge remote-tracking branch 'origin/master' into emacs-25
4781 2015-11-13  l3thal  <kwhite@gnu.org>
4783         Merge branch 'erc-async-reconnect' into emacs-25
4785         Reconnect asynchronously.
4787 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
4789         Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emacs into emacs-25
4791 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
4793         Port recent XCB changes to 64-bit ‘long int’
4795         For historical reasons, libX11 represents 32-bit values like Atoms as
4796         ‘long int’ even on platforms where ‘long int’ is 64 bits.  XCB doesn’t
4797         do that, so adapt the recent XCB code to behave properly on 64-bit
4798         platforms.  Also, fix what appears to be a bug in the interpretation
4799         of xcb_get_property_value_length, at least on my Fedora platform
4800         which is running libxcb-1.11-5.fc21.
4801         * src/xfns.c (x_real_pos_and_offsets):
4802         * src/xterm.c (get_current_wm_state):
4803         xcb_get_property_value_length returns a byte count, not a word count.
4804         For 32-bit quantities, xcb_get_property_value returns a vector
4805         of 32-bit words, not of (possibly 64-bit) long int.
4807         Backport.
4809 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
4811         * src/undo.c (run_undoable_change): Now static.
4813         Backport.
4815 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
4817         Remove support for ':timeout' from w32 tray notifications
4819         * src/w32fns.c (Fw32_notification_notify): Delete the code that
4820         supports ':timeout'.
4821         (syms_of_w32fns): Don't DEFSYM ':timeout'.  This avoids clashes
4822         with dbusbind.c when D-Bus is compiled in.
4824         * doc/lispref/os.texi (Desktop Notifications): Don't mention
4825         ':timeout'.
4827         Backport.
4829 2015-11-13  Juanma Barranquero  <lekktu@gmail.com>
4831         * test/automated/simple-test.el: Add test for bug#20698 (bug#21885)
4833         (simple-test--transpositions): New macro.
4834         (simple-transpose-subr): New test.
4836         Backport.
4838 2015-11-13  Juanma Barranquero  <lekktu@gmail.com>
4840         * lisp/progmodes/elisp-mode.el: Declare function `project-roots'
4842         Backport.
4844 2015-11-13  Juanma Barranquero  <lekktu@gmail.com>
4846         * src/undo.c: Small fixes for previous change
4848         (run_undoable_change): Mark void argument list.
4849         (record_property_change): Remove unused variable `boundary'.
4851         Backport.
4853 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
4855         Add a few more variables to redisplay--variables
4857         * lisp/frame.el (redisplay--variables): Add bidi-paragraph-direction
4858         and bidi-display-reordering to the list.
4860         Backport.
4862 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
4864         * lisp/loadup.el: Enlarge the size of the hash table to 80000.
4866         Backport.
4868 2015-11-13  Eli Barzilay  <eli@barzilay.org>
4870         Fix point positioning after transposing with negative arg
4872         * lisp/simple.el (transpose-subr): When invoked with a negative
4873         argument, move point to after the transposed text, like we do
4874         when invoked with a positive argument.  (Bug#21885)
4876         Backport.
4878 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
4880         Fix last change in shr.el
4882         * lisp/net/shr.el (shr--have-one-fringe-p): Rename from
4883         have-fringes-p.  All callers changed.  Doc fix.  (Bug#21895)
4885         Backport.
4887 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
4889         Fix last change
4891         * src/w32fns.c (syms_of_w32fns) [WINDOWSNT && !HAVE_DBUS]:
4892         Don't DEFSYM tray notification symbols if D-Bus is being used.
4894         Backport.
4896 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
4898         Another fix for MinGW64 and Cygwin builds due to notifications
4900         * src/w32fns.c: Ifdef away tray notification code if D-Bus is
4901         being compiled into Emacs.
4902         (syms_of_w32fns) [WINDOWSNT && !HAVE_DBUS]: Don't defsubr
4903         Sw32_notification_notify and Sw32_notification_close if the code
4904         is not compiled.  Reported by Andy Moreton <andrewjmoreton@gmail.com>.
4906         Backport.
4908 2015-11-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
4910         Remove intern calls and XXX comments from Fx_export_frames
4912         * src/xfns.c (Fx_export_frames): Use Qpdf, Qpng, Qpostscript, and
4913         Qsvg instead of intern calls.  Use "postscript" instead of "ps"
4914         for consistency with image types.  Remove XXX comments.
4915         (syms_of_xfns) <Qpdf>: DEFSYM it.
4917         Backport.
4919 2015-11-13  Michael Albinus  <michael.albinus@gmx.de>
4921         Adapt Tramp version, do not merge with master
4923         * doc/misc/trampver.texi (trampver):
4924         * lisp/net/trampver.el (tramp-version): Set to "2.2.13-25.1".
4926 2015-11-11  Alan Mackenzie  <acm@muc.de>
4928         First commit to scratch/follow.  Make Isearch work with Follow Mode, etc.
4930         doc/lispref/window.texi (Basic Windows): Add paragraph defining "Group of
4931         Windows" and new @defun selected-window-group.
4932         (Window Start and End): Describe new &optional parameter GROUP and
4933         ...-group-function for window-start, window-end, set-window-start, and
4934         pos-visible-in-window-p.
4935         (Textual Scrolling) Describe the same for recenter.
4936         doc/lispref/positions.texi (Screen Lines): Describe the same for
4937         move-to-window-line.
4939         src/window.c (Fwindow_start, Fwindow_end, Fset_window_start)
4940         (Fpos_visible_in_window_p, Frecenter, Fmove_to_window_line): To each, add ar
4941         new optional parameter "group".  At the beginning of each, check whether the
4942         corresponding ...-group-function is set to a function, and if so execute this
4943         function in place of the normal processing.
4944         (syms_of_window): Define symbols for the six new variables below.
4945         (window-start-group-function, window-end-group-function)
4946         (set-window-start-group-function, recenter-group-function)
4947         (pos-visible-in-window-p-group-function, move-to-window-line-group-function):
4948         New permanent local buffer local variables.
4949         src/keyboard.c (Fposn_at_point): Add extra parameter in call to
4950         Fpos_visible_in_window_p.
4952         lisp/window.el (selected-window-group-function): New permanent local buffer
4953         local variable.
4954         (selected-window-group): New function.
4956         lisp/follow.el (follow-mode): Set the ...-group-function variables at mode
4957         enable, kill them at mode disable.  Add/remove follow-after-change to/from
4958         after-change-functions.
4959         (follow-start-end-invalid): New variable.
4960         (follow-redisplay): Manipulate follow-start-end-invalid.
4961         (follow-after-change, follow-window-start, follow-window-end)
4962         (follow-set-window-start, follow-pos-visible-in-window-p)
4963         (follow-move-to-window-line, follow-sit-for): New functions.
4965         lisp/isearch.el (isearch-call-message): New macro.
4966         (isearch-update, with-isearch-suspended, isearch-del-char)
4967         (isearch-search-and-update, isearch-ring-adjust): Invoke above new macro.
4968         (with-isearch-suspended): Rearrange code such that isearch-call-message is
4969         invoked before point is moved.
4970         (isearch-message): Add comment about where point must be at function call.
4971         (isearch-search): Remove call to isearch-message.
4972         (isearch-lazy-highlight-window-group): New variable.
4973         (isearch-lazy-highlight-new-loop): Unconditionally start idle timer.  Move
4974         the battery of tests to ...
4975         (isearch-lazy-highlight-maybe-new-loop): New function, started by idle timer.
4976         Note: (sit-for 0) is still called.
4977         (isearch-lazy-highlight-update): Check membership of
4978         isearch-lazy-highlight-window-group.  Don't set the `window' overlay
4979         property.
4980         (isearch-update, isearch-done, isearch-string-out-of-window)
4981         (isearch-back-into-window, isearch-lazy-highlight-maybe-new-loop)
4982         (isearch-lazy-highlight-search, isearch-lazy-highlight-update)
4983         (isearch-lazy-highlight-update): Call the six amended primitives (see
4984         src/window.c above) with the new `group' argument set to t, to cooperate
4985         with Follow Mode.
4987 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
4989         * shr.el (shr-descend): Allow using lambdas in external functions.
4991 2015-12-25  Stefan Monnier  <monnier@iro.umontreal.ca>
4993         * admin/gitmerge.el: Tweaks that seemed necessary
4995         * admin/gitmerge.el (gitmerge-skip-regexp): Remove "sync".
4996         (gitmerge-maybe-resume): Provide explicit empty commit message.
4998 2015-12-25  Łukasz Stelmach  <stlman@poczta.fm>  (tiny change)
5000         Use a different port for TLS erc
5002         * lisp/erc/erc.el (erc-default-port-tls): New variable
5003         (bug#19497).
5004         * lisp/erc/erc.el (erc-tls): Use it.
5006 2015-12-25  Alain Schneble  <a.s@realize.ch>
5008         Make relative URL parsing and resolution consistent with RFC 3986 (bug#22044)
5010         * test/lisp/url/url-parse-tests.el: Add tests covering url-generic-parse-url.
5011         * test/lisp/url/url-expand-tests.el: Add tests covering url-expand-file-name.
5012         * lisp/url/url-parse.el (url-generic-parse-url): Keep empty fragment
5013         information in URL-struct.
5014         * lisp/url/url-parse.el (url-path-and-query): Do not artificially turn empty
5015         path and query into nil path and query, respectively.
5016         * lisp/url/url-expand.el (url-expander-remove-relative-links): Do not turn
5017         empty path into an absolute ("/") path.
5018         * lisp/url/url-expand.el (url-expand-file-name): Properly resolve
5019         fragment-only URIs. Do not just return them unchanged.
5020         * lisp/url/url-expand.el (url-default-expander): An empty path in the relative
5021         reference URI should not drop the last segment.
5023 2015-12-25  Alain Schneble  <a.s@realize.ch>
5025         Make relative URL parsing and resolution consistent with RFC 3986 (bug#22044)
5027         * test/lisp/url/url-parse-tests.el: Add tests covering url-generic-parse-url.
5028         * test/lisp/url/url-expand-tests.el: Add tests covering url-expand-file-name.
5029         * lisp/url/url-parse.el (url-generic-parse-url): Keep empty fragment
5030         information in URL-struct.
5031         * lisp/url/url-parse.el (url-path-and-query): Do not artificially turn empty
5032         path and query into nil path and query, respectively.
5033         * lisp/url/url-expand.el (url-expander-remove-relative-links): Do not turn
5034         empty path into an absolute ("/") path.
5035         * lisp/url/url-expand.el (url-expand-file-name): Properly resolve
5036         fragment-only URIs. Do not just return them unchanged.
5037         * lisp/url/url-expand.el (url-default-expander): An empty path in the relative
5038         reference URI should not drop the last segment.
5040 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
5042         Let url use default file modes when copying files
5044         * lisp/url/url-handlers.el (url-copy-file): Use default file
5045         modes when copying files (bug#11400).
5047 2015-12-25  Devon Sean McCullough  <Emacs-Hacker2012@jovi.net>
5049         Doc fix for url-http
5051         * lisp/url/url-http.el (url-http): Document better return values
5052           (bug#13187) (tiny change)
5054 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
5056         * eww.el (eww-display-html): Support <button> tags (bug#20485).
5058 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
5060         Made ffap-url-p a defun instead of a defsubst
5062         * lisp/ffap.el (ffap-url-p): Change from defsusbt to defun,
5063         since there doesn't seem to be much of a reason for it to be a
5064         defsubst (bug#18203).
5066 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
5068         Add a command to view files in the browser to dired
5070         * lisp/dired.el (dired-mode-map): Add the `W' command
5071         (bug#18810).
5073 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
5075         Allow http://user:pass@foo/ URLs again
5077         * lisp/url/url-auth.el (url-basic-auth): Allow explicit
5078         user/passwords in URLs (bug#19046).
5080 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
5082         * eww.el (eww-mode-map): Fix command name of eww-toggle-colors.
5084 2015-12-25  Samer Masterson  <samer@samertm.com>
5086         Autoload url-insert-buffer-contents
5088         * lisp/url/url-handlers.el: Add autoload cookie so that
5089         `package-list-packages' doesn't bug out (bug#21927) (tiny change)
5091 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
5093         Allow toggling colors in eww
5095         * doc/misc/eww.texi (Basics): Mention "C".
5097         * lisp/net/eww.el (eww-toggle-colors): New command and keystroke.
5099         * lisp/net/shr.el (shr-use-colors): New variable.
5100         (shr-colorize-region): Use it.
5102 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
5104         Follow meta refresh tags in eww
5106         * eww.el (eww-tag-meta): Follow meta refresh tags (bug#22234).
5108 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
5110         More eww file name coding fixes
5112         * eww.el (eww-decode-url-file-name): Use the base coding
5113         system to check for encodability.
5115 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
5117         Always save eww history
5119         * eww.el (eww-setup-buffer): Always save history, even when
5120         called from outside the eww buffer (bug#19638).
5122 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
5124         Default web pages to right-to-left
5126         * eww.el (eww-mode): Most web pages are left-to-right, so make
5127         that the default (bug#19801).
5129         * shr.el (shr-tag-html): Respect "dir" attributes
5130         (left-to-right, right-to-left).
5132 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
5134         Make toggling checkboxes work again
5136         * eww.el (eww-update-field): Make toggling checkboxes work
5137         again (bug#21881).
5139 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
5141         Don't store cookies with empty names
5143         * lisp/url/url-cookie.el (url-cookie-store): Refuse to store
5144         cookies with empty names (bug#21936).
5146 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
5148         Stop rendering HTML before specdlr exhaustion
5150         Fixes: 22117
5152         * shr.el (shr-descend): Stop rendering before we run out of
5153         specpdl room (bug#22117).
5155 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
5157         Use cl-reduce, not reduce.
5159 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
5161         Allow several <tbody> tags in shr
5163         * shr.el (shr-table-body): New function to find the real body
5164         of a table.
5165         (shr-tag-table): Use it to render several <tbody> tags in a
5166         table (bug#22170).
5168 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
5170         Make prettier unique file names in eww
5172         (eww-make-unique-file-name): Make unique file names by making
5173         files like foo(2).jpg instead of foo(1)(2).jpg.
5175 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
5177         Decode hex-encoded URLs before using them as file names
5179         * eww.el (eww-decode-url-file-name): New function.
5180         (eww-download-callback): Use it to decode file names before
5181         saving them.
5183 2015-12-24  Ashish SHUKLA  <ashish.is@lostca.se>
5185         Add FreeBSD cert bundle
5187         * doc/misc/emacs-gnutls.texi (Help For Users): Document
5188         FreeBSD bundle.
5190         * lisp/net/gnutls.el (gnutls-trustfiles): Add FreeBSD cert bundle.
5192 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
5194         Allow overriding shr functions from eww
5196         * eww.el (eww-display-html): Allow overriding elements in
5197         `shr-external-rendering-functions'.
5199 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
5201         Ignore invalid SVG images
5203         * shr.el (shr-tag-svg): Ignore SVG images that have no width
5204         or height, because these can't be displayed by ImageMagick,
5205         anyway.
5207 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
5209         shr table rendering fix
5211         * shr.el (shr-tag-table): Allow rendering body-less tables
5212         that have headers.
5214 2015-12-22  Sam Steingold  <sds@gnu.org>
5216         clipboard should still work even if interprogram-* is disabled
5218         (clipboard-yank): When `interprogram-cut-function' is nil,
5219         bind it to `gui-selection-value' - the default value.
5220         (clipboard-kill-region, clipboard-kill-ring-save): When
5221         `interprogram-paste-function' is nil, bind it to `gui-select-text' -
5222         the default value.
5224 2015-12-18  Phillip Lord  <phillip.lord@russet.org.uk>
5226         Fix bootstrap issue with dired-loaddefs
5228         * lisp/dired.el: Autoloads for secondary files loaded optionally.
5230 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
5232         dired generate autoloads to non-versioned file.
5234         * lisp/dired.el: Remove autoloads.
5235         * lisp/Makefile.in: Add dired to autogenel.
5236         * lisp/dired-aux.el,lisp/dired-x.el: Update file local.
5237         * test/lisp/dired-tests.el: Add new test.
5239 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
5241         eieio generate autoloads to non-versioned file.
5243         * lisp/Makefile.in: eieio-loaddefs add to autogenel.
5244         * lisp/emacs-lisp/eieio.el,lisp/emacs-lisp/eieio-core.el:
5245           Remove autoloads.
5246         * lisp/emacs-lisp/eieio-compat.el,lisp/emacs-lisp/eieio-custom.el,
5247           lisp/emacs-lisp/eieio-opt.el: Update file local.
5248         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el: New test.
5250 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
5252         htmlfontify generate autoload to non-versioned file.
5254         * lisp/Makefile.in: Add htmlfontity-loaddefs to autogenel.
5255         * lisp/hfy-cmap.el: Update file local.
5256         * lisp/htmlfontify.el: Remove autoloads, add require.
5257         * test/lisp/htmlfontify-tests.el: Test autoload functionality.
5259 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
5261         ibuffer generate autoloads to non-versioned file.
5263         * lisp/Makefile.in: Add ibuffer-loaddefs to autogenel.
5264         * lisp/ibuf-ext.el: Update file local.
5265         * lisp/ibuffer.el: Remove autoloads and add a require.
5266         * test/lisp/ibuffer-tests.el: Test that autoload is working.
5268 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
5270         rmail generate autoloads to non-versioned file.
5272         * lisp/Makefile.in: Add rmail-loaddefs.el to autogenel.
5273         * lisp/mail/rmail.el: Remove autoloads, add require.
5274         * lisp/mail/rmailedit.el,lisp/mail/rmailkwd.el,
5275           lisp/mail/rmailmm.el,lisp/mail/rmailmsc.el,
5276           lisp/mail/rmailsort.el,lisp/mail/rmailsum.el,
5277           lisp/mail/undigest.el: Update file-local.
5278         * test/lisp/mail/rmail-tests.el:
5280 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
5282         Add autoload-force target.
5284         * lisp/Makefile.in (autoload-force): New target.
5286 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
5288         ps-print generate autoloads to non versioned file.
5290         * lisp/Makefile.in: Add ps-print-loaddefs.el to autogen list.
5291         * lisp/ps-print.el: Remove autoloads.
5292         * lisp/ps-mule.el: Update file-local.
5293         * test/lisp/ps-print-tests.el: Test autoload functionality.
5295 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
5297         reftex generate autoloads to non versioned file.
5299         * lisp/Makefile.in: Add reftex-loaddefs to autogen files
5300         * lisp/textmodes/reftex.el: Remove autoloads.
5301         * lisp/textmodes/reftex-auc.el,lisp/textmodes/reftex-cite.el,
5302           lisp/textmodes/reftex-dcr.el,lisp/textmodes/reftex-global.el,
5303           lisp/textmodes/reftex-index.el,lisp/textmodes/reftex-parse.el,
5304           lisp/textmodes/reftex-ref.el,lisp/textmodes/reftex-sel.el,
5305           lisp/textmodes/reftex-toc.el: Update autoload file-local.
5306         * test/lisp/textmodes/reftex-tests.el: Add test of an autoloaded
5307           function.
5309 2015-12-07  Stefan Monnier  <monnier@iro.umontreal.ca>
5311         * lisp/calculator.el (calculator-define-key): Undo last change
5313         Make map argument mandatory instead (bug#22106).
5314         (calculator-add-operators): Pass the argument that's not optional any more.
5316 2015-12-03  Glenn Morris  <rgm@gnu.org>
5318         * Makefile.in: Avoid duplication.
5320         (have-tests): New rule.
5321         (check, check-maybe): Use it.
5323 2015-12-02  Phillip Lord  <phillip.lord@russet.org.uk>
5325         make check unconditional, check-maybe top-level.
5327          * Makefile.in: Add check-maybe target.
5328          * test/Makefile.in: Restore unconditional behaviour to make check.
5330 2015-12-01  Phillip Lord  <phillip.lord@russet.org.uk>
5332         Tests now support out-of-source-build.
5334          * tests/Makefile.in,test/make-test-deps.emacs-lisp: Remove assumptions
5335            about current working directory.
5337 2015-12-01  Artur Malabarba  <bruce.connor.am@gmail.com>
5339         * lisp/emacs-lisp/let-alist.el: Now an Elpa :core package
5341 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
5343         Improve documentation and clean up.
5345          * test/Makefile.in: Improve documentation, use EMACS variable
5346            correctly, and clean up makefile rules.
5348 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
5350         Update file headers for name change.
5352          * (test/src/decompress-tests.el, test/src/alloc-tests.el): Update headers.
5354 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
5356         Test files renamed to new scheme.
5358          * (finalizer-tests.el): Now renamed alloc-tests.el
5359          * (zlib-tests.el): Now renamed decompress-tests.el.
5361 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
5363         Tests now depend on source files
5365          * test/Makefile.in: Include dependences from tests to source files.
5366          * test/make-test-deps.emacs-lisp: New file
5367          * .gitignore: Ignore generated make include file
5369 2015-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>
5371         * lisp/progmodes/which-func.el: Improve disabling the mode
5373         Use lexical-binding.
5374         (which-func-modes, which-func-non-auto-modes, which-func-maxout)
5375         (which-func, which-func-format): Remove redundant :group arg.
5376         (which-func-try-to-enable): New function.
5377         (which-func-ff-hook, which-function-mode): Use it.
5378         (mode-line-misc-info): Add ourselves here instead of in bindings.el.
5379         * lisp/bindings.el (mode-line-misc-info): Remove which-func-mode entry.
5381 2015-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>
5383         * lisp/calculator.el (calculator-define-key): Silence warning
5385         ...about unknown calculator-mode-map.
5387 2015-11-29  Eli Barzilay  <eli@barzilay.org>
5389         * lisp/calculator.el: more improvements and bugfixes.
5391         - Mark `calculator-paste-decimals' as obsolete.  (It wasn't having an
5392           effect anyway.)
5394         - Simplify `calculator-number-to-string' by throwing most of the work
5395           onto `number-to-string', leaving just some tweaks for decimal inputs.
5396           This leads to some minor changes, for example, pasting "1x1" in hex
5397           mode would warn that "x" is ignored and result in "11" (and it wasn't
5398           done in decimal mode), whereas now it just ignores everything from the
5399           "x" and on and result in a "1" just like in decimal input mode.  Also,
5400           overflows are left for `number-to-string' to deal with.
5402         - `calculator-paste' is very simple as a result.
5404         - Extend the simplified `calculator-paste': with a prefix argument it
5405           pastes a string as if the characters were entered.  This can be used
5406           to reduce expressions, but note that it's a simple literal operation,
5407           so precedence can be messed, a number can be paster while entering a
5408           number, spaces and newlines matter, etc.
5410         - Fix a minor bug where "e+" in hex mode wouldn't use "+" as an
5411           operator.
5413         - Fix a bug in `calculator-put-value': avoid grouping in the display
5414           that is used to construct `calculator-curnum'.  This would trigger
5415           when pasting or getting a value from a register in some radix mode
5416           with a large enough value.  Another fix: make the output radix equal
5417           the input one, otherwise numbers could be converted twice.
5419 2015-11-29  Eli Barzilay  <eli@barzilay.org>
5421         * lisp/calculator.el: Re-do key bindings.
5423         Use a helper function that arranges a parent keymap that binds alternate
5424         case keys so if some letter key is unbound and it's un/shifted version
5425         is, it will get used.  This makes the global-map trickery unnecessary.
5427         Also switch to passing strings that name keys through `kbd'.
5429 2015-11-29  Eli Barzilay  <eli@barzilay.org>
5431         * lisp/calculator.el: improve radix modes
5433         Fix prompt for some input radix with decimal output (eg, "BD" instead of
5434         the incorrect "B="); also, some minor docstring tweaks for these.
5436 2015-11-29  Eli Barzilay  <eli@barzilay.org>
5438         * lisp/calculator.el: better reading of register names
5440         Use `register-read-with-preview' with a dynamically bound
5441         `register-alist' and a proper preview function to read register names.
5443 2015-11-29  Eli Barzilay  <eli@barzilay.org>
5445         * lisp/calculator.el: General improvements
5447         Use things like `when', `unless', and `push'.
5449         Improve `calculator-last-input' so it doesn't barf when hitting `F1' in
5450         non-electric mode.
5452 2015-11-28  Michael Albinus  <michael.albinus@gmx.de>
5454         Fix a problem with gfilenotify in filenotify-tests.el
5456         * test/lisp/filenotify-tests.el
5457         (file-notify--test-expected-events): Remove.
5458         (file-notify--test-cleanup): Do not set that variable.
5459         (file-notify--test-with-events): EVENTS can also be a list of lists.
5460         (file-notify-test02-events, file-notify-test04-file-validity):
5461         Adapt expected result.
5463 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
5465         * .gitignore: Adjust to changes in 'test' directory structure.
5467 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
5469         Fix test/manual/etags/Makefile
5471         * test/manual/etags/Makefile (ETAGS_PROG, CTAGS_PROG): Adjust to
5472         changes in 'test' directory structure.
5474 2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
5476         Exclude resource dirs from search for tests.
5478         * test/Makefile.in: Test file locations are now found with find
5479           rather than using finds native functions.
5481 2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
5483         Add test targets without directory names.
5485          * (test/Makefile.in): Extend test_template to add two targets for each
5486            file.
5488 2015-11-27  Artur Malabarba  <bruce.connor.am@gmail.com>
5490         * lisp/emacs-lisp/package.el: Require url-handlers
5492 2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
5494         Move elisp-mode-tests to new function names.
5496          * test/lisp/progmodes/elisp-mode-tests.el (find-defsdefun-c-defvar-c,
5497          find-defs-defun-el-defvar-c): Call `elisp--xref-find-definitions'.
5499 2015-11-27  Juanma Barranquero  <lekktu@gmail.com>
5501         * lisp/emacs-lisp/package.el: Declare `url-insert-buffer-contents'
5503 2015-11-26  Phillip Lord  <phillip.lord@russet.org.uk>
5505         Merge branch 'feature/standard-test-location'
5507 2015-11-25  Stefan Monnier  <monnier@iro.umontreal.ca>
5509         * lisp/emacs-lisp/eieio.el: Add some default implementations
5511         (standard-class): Mark it obsolete.
5512         (slot-missing): Give it a default implementation.
5513         (destructor): Simplify and mark it obsolete.
5514         (object-print): Give it a default implementation.
5515         (eieio-change-class): Rename from change-class.
5516         (change-class): Redefine as obsolete alias.
5518 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
5520         Some final fixes in file notification before merging with master
5522         * lisp/filenotify.el (file-notify--rm-descriptor): Remove WHAT arg.
5523         (file-notify-callback): Improve check for `stopped' event.  Call
5524         `file-notify-rm-watch' rather than `file-notify--rm-descriptor'.
5525         (file-notify-add-watch): In case FILE is not a directory, call the
5526         file monitor for the kqueue backend.  Otherwise, call the
5527         directory monitor for the upper directory.
5529         * src/inotify.c (inotifyevent_to_event): Extract file name from
5530         watch_object if the event doesn't provide it.
5531         (Finotify_add_watch): Add file name to watch_object.
5533         * test/automated/file-notify-tests.el (file-notify--test-timeout):
5534         Use different timeouts for different libraries.
5535         (file-notify--test-with-events): Suppress lock files.  Flush
5536         outstanding events before running the body.
5537         (file-notify-test02-events, file-notify-test04-file-validity): Do
5538         not skip cygwin tests.  Add additional test for file creation.
5539         Adapt expected result for different backends.
5540         (file-notify-test03-autorevert): Some of the tests don't work for
5541         w32notify.
5542         (file-notify-test06-many-events): Rename into both directions.
5544 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
5546         Rework file notifications, kqueue has problems with directory monitors
5548         * lisp/filenotify.el (file-notify-add-watch): Call the native
5549         add-watch function on the file, not on the dir.
5551         * src/kqueue.c (kqueue_compare_dir_list): Make also bookkeeping
5552         about already deleted entries.
5554         * test/automated/auto-revert-tests.el
5555         (auto-revert-test01-auto-revert-several-files): Do not call "cp -f"
5556         since this deletes the target file first.
5558         * test/automated/file-notify-tests.el (file-notify--test-event-test):
5559         Make stronger checks.
5560         (file-notify-test01-add-watch, file-notify-test02-events)
5561         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
5562         Rewrite in order to call file monitors but directory monitors.
5563         (file-notify-test06-many-events): Ler rename work in both directions.
5565 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
5567         Continue with pending events
5569         * src/kqueue.c (pending_events): Remove global variable.
5570         (kqueue_compare_dir_list): Create `write' event for not used
5571         pending events.
5572         (globals_of_kqueue): Remove initialization of pending_events.
5574 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
5576         Improve loops in file-notify-test06-many-events
5578         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
5579         Use `read-event' pauses for the `write-file' loops; otherwise
5580         events are lost in inotify and gfilenotify cases.
5582 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
5584         Handle more complex rename operation in kqueue
5586         * src/kqueue.c (pending_events): New variable.
5587         (kqueue_compare_dir_list): Handle more complex rename operation.
5588         (globals_of_kqueue): Initialize pending_events.
5590         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
5591         Adapt expected events in the `rename-file' case.
5592         (file-notify-test06-many-events-remote): Declare.
5594 2015-11-25  Wolfgang Jenkner  <wjenkner@inode.at>
5596         New test with a larger number of events
5598         * test/automated/file-notify-tests.el (file-notify--test-with-events):
5599         Make timeout heuristically depend on the number of events.
5601         (file-notify-test06-many-events): Use it for new test.
5603 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
5605         Further fixes for kqueue
5607         * lisp/filenotify.el (file-notify-callback): Raise also event if
5608         directory name matches.
5609         (file-notify-add-watch): Add `create' to the flags for `kqueue'.
5611         * src/kqueue.c (kqueue_generate_event): Use watch_object as
5612         argument instead of ident.  Remove callback argument.  Adapt
5613         callees.  Check actions whether they are monitored flags.
5615         * test/automated/file-notify-tests.el (file-notify--test-library):
5616         New defun.
5617         (file-notify-test00-availability, file-notify-test02-events)
5618         (file-notify-test04-file-validity)
5619         (file-notify-test05-dir-validity): Use it.
5620         (file-notify-test02-events, file-notify-test04-file-validity): Add
5621         `read-event' calls between different file actions, in order to
5622         give the backends a chance to rais an event.  Needed especially
5623         for kqueue.  In case of deleting a directory, there are two
5624         `deleted' events.
5626 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
5628         Code cleanup of kqueue.c
5630         * src/kqueue.c (kqueue_directory_listing): Skip "." and "..".
5631         (kqueue_compare_dir_list): Do not loop when calling
5632         directory_files_internal.  Remove checks for "." and "..", this is
5633         done in kqueue_directory_listing now.
5634         (Fkqueue_add_watch): Check for proper emacs_open flags.
5636 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
5638         Doc changes for kqueue
5640         * doc/lispref/os.texi (File Notifications): Add kqueue as backend.
5641         Fix some glitches in the example.
5643 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
5645         Finish implementation in kqueue.c
5647         * src/kqueue.c (kqueue_directory_listing, kqueue_callback):
5648         Simplify access to list.
5649         (kqueue_compare_dir_list): Simplify access to list.  Raise
5650         `delete' event if directory does not exist any longer.  Otherwise,
5651         wait until directory contents has changed.  Fix error in check.
5653 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
5655         * lisp/filenotify.el (file-notify-add-watch): Fix thinko.
5657 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
5659         More work on kqueue
5661         * lisp/filenotify.el (file-notify-callback): Handle also the
5662         `rename' event from kqueue.
5663         (file-notify-add-watch): Do not register an entry twice.
5665         * src/kqueue.c (kqueue_directory_listing): New function.
5666         (kqueue_generate_event): New argument FILE1.  Adapt callees.
5667         (kqueue_compare_dir_list): Rewrite in order to make it more robust.
5669 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
5671         Implement directory events
5673         * lisp/filenotify.el (file-notify-handle-event)
5674         (file-notify-callback): Remove traces.
5676         * src/kqueue.c: Include <sys/time.h>.
5677         (kqueue_generate_event, kqueue_compare_dir_list): New functions.
5678         (kqueue_callback): Use them.  Call kevent() with a zero timeout.
5679         (Fkqueue_add_watch): Adapt docstring.  Support directory events.
5680         Compute initial directory listing.  Close file descriptor in case
5681         of errors.
5682         (syms_of_kqueue): Declare Qcreate.
5684 2015-11-25  Wolfgang Jenkner  <wjenkner@inode.at>
5686         Build fixes for kqueue support
5688         * src/kqueue.c (Fkqueue_add_watch): O_BINARY is not a POSIX open(3)
5689         flag.
5691         * configure.ac (HAVE_KQUEUE): There is no pkg-config module for native
5692         kqueue on *BSD.
5694 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
5696         Continue kqueue implementation
5698         * lisp/filenotify.el (file-notify-handle-event)
5699         (file-notify-callback): Enable trace messages.
5701         * src/kqueue.c: Include also <sys/types.h>.
5702         (kqueue_callback): Remove watch in case of NOTE_DELETE or NOTE_RENAME.
5703         (Fkqueue_rm_watch, Fkqueue_valid_p): New functions.
5704         (syms_of_kqueue): Add them.
5706 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
5708         Work on kqueue
5710         * lisp/filenotify.el (file-notify--library)
5711         (file-notify-descriptors, file-notify-callback)
5712         (file-notify-add-watch, file-notify-rm-watch)
5713         (file-notify-valid-p): Add kqueue support.
5715         * src/keyboard.c (make_lispy_event): Check also for HAVE_KQUEUE.
5717 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
5719         Add kqueue support
5721         * configure.ac (--with-file-notification): Add kqueue.
5722         (top): Remove special test for "${HAVE_NS}" and
5723         ${with_file_notification}, this is handled inside gfilenotify
5724         tests.  Add kqueue tests.  Use NOTIFY_CFLAGS and NOTIFY_LIBS
5725         instead of library specific variables.
5727         * src/Makefile.in: Use NOTIFY_CFLAGS and NOTIFY_LIBS.
5729         * src/emacs.c (main): Call globals_of_kqueue and syms_of_kqueue.
5731         * src/kqueue.c: New file.
5733         * src/lisp.h: Declare extern globals_of_kqueue and syms_of_kqueue.
5735 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
5737         Update elisp-mode-tests for changed file location.
5739          * test/lisp/progmodes/elisp-mode-tests.el:
5741 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
5743         Exclude manual tests from Makefile
5745          * test/Makefile.in:
5747 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
5749         Move package test files to new directory.
5751          * test/lisp/emacs-lisp/package-tests.el: Update resoruce file location.
5752          * test/data/package: Moved to test/lisp/emacs-lisp/package-resources
5754 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
5756         Restore delete Makefiles and fix .gitignore.
5758          * .gitignore: Update Makefiles to changed locations
5759          * test/lisp/progmodes/flymake-resources/Makefile,
5760            test/manual/etags/Makefile,
5761            test/manual/etags/make-src/Makefile,
5762            test/manual/indent/Makefile: Restored and moved to new location.
5764 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
5766         Test infrastructure: updates after directory move
5768          * (test/Makefile.in): Support directories several levels deep.
5769          * (test/data/flymake): Rename to test/lisp/progmodes/flymake-resources.
5770          * (test/lisp/progmodes/flymake-tests.el): Support renamed resource directory.
5772 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
5774         Rename all test files to reflect source layout.
5776          * CONTRIBUTE,Makefile.in,configure.ac: Update to reflect
5777            test directory moves.
5778          * test/file-organisation.org: New file.
5779          * test/automated/Makefile.in
5780            test/automated/data/decompress/foo.gz
5781            test/automated/data/epg/pubkey.asc
5782            test/automated/data/epg/seckey.asc
5783            test/automated/data/files-bug18141.el.gz
5784            test/automated/data/flymake/test.c
5785            test/automated/data/flymake/test.pl
5786            test/automated/data/package/archive-contents
5787            test/automated/data/package/key.pub
5788            test/automated/data/package/key.sec
5789            test/automated/data/package/multi-file-0.2.3.tar
5790            test/automated/data/package/multi-file-readme.txt
5791            test/automated/data/package/newer-versions/archive-contents
5792            test/automated/data/package/newer-versions/new-pkg-1.0.el
5793            test/automated/data/package/newer-versions/simple-single-1.4.el
5794            test/automated/data/package/package-test-server.py
5795            test/automated/data/package/signed/archive-contents
5796            test/automated/data/package/signed/archive-contents.sig
5797            test/automated/data/package/signed/signed-bad-1.0.el
5798            test/automated/data/package/signed/signed-bad-1.0.el.sig
5799            test/automated/data/package/signed/signed-good-1.0.el
5800            test/automated/data/package/signed/signed-good-1.0.el.sig
5801            test/automated/data/package/simple-depend-1.0.el
5802            test/automated/data/package/simple-single-1.3.el
5803            test/automated/data/package/simple-single-readme.txt
5804            test/automated/data/package/simple-two-depend-1.1.el
5805            test/automated/abbrev-tests.el
5806            test/automated/auto-revert-tests.el
5807            test/automated/calc-tests.el
5808            test/automated/icalendar-tests.el
5809            test/automated/character-fold-tests.el
5810            test/automated/comint-testsuite.el
5811            test/automated/descr-text-test.el
5812            test/automated/electric-tests.el
5813            test/automated/cl-generic-tests.el
5814            test/automated/cl-lib-tests.el
5815            test/automated/eieio-test-methodinvoke.el
5816            test/automated/eieio-test-persist.el
5817            test/automated/eieio-tests.el
5818            test/automated/ert-tests.el
5819            test/automated/ert-x-tests.el
5820            test/automated/generator-tests.el
5821            test/automated/let-alist.el
5822            test/automated/map-tests.el
5823            test/automated/advice-tests.el
5824            test/automated/package-test.el
5825            test/automated/pcase-tests.el
5826            test/automated/regexp-tests.el
5827            test/automated/seq-tests.el
5828            test/automated/subr-x-tests.el
5829            test/automated/tabulated-list-test.el
5830            test/automated/thunk-tests.el
5831            test/automated/timer-tests.el
5832            test/automated/epg-tests.el
5833            test/automated/eshell.el
5834            test/automated/faces-tests.el
5835            test/automated/file-notify-tests.el
5836            test/automated/auth-source-tests.el
5837            test/automated/gnus-tests.el
5838            test/automated/message-mode-tests.el
5839            test/automated/help-fns.el
5840            test/automated/imenu-test.el
5841            test/automated/info-xref.el
5842            test/automated/mule-util.el
5843            test/automated/isearch-tests.el
5844            test/automated/json-tests.el
5845            test/automated/bytecomp-tests.el
5846            test/automated/coding-tests.el
5847            test/automated/core-elisp-tests.el
5848            test/automated/decoder-tests.el
5849            test/automated/files.el
5850            test/automated/font-parse-tests.el
5851            test/automated/lexbind-tests.el
5852            test/automated/occur-tests.el
5853            test/automated/process-tests.el
5854            test/automated/syntax-tests.el
5855            test/automated/textprop-tests.el
5856            test/automated/undo-tests.el
5857            test/automated/man-tests.el
5858            test/automated/completion-tests.el
5859            test/automated/dbus-tests.el
5860            test/automated/newsticker-tests.el
5861            test/automated/sasl-scram-rfc-tests.el
5862            test/automated/tramp-tests.el
5863            test/automated/obarray-tests.el
5864            test/automated/compile-tests.el
5865            test/automated/elisp-mode-tests.el
5866            test/automated/f90.el
5867            test/automated/flymake-tests.el
5868            test/automated/python-tests.el
5869            test/automated/ruby-mode-tests.el
5870            test/automated/subword-tests.el
5871            test/automated/replace-tests.el
5872            test/automated/simple-test.el
5873            test/automated/sort-tests.el
5874            test/automated/subr-tests.el
5875            test/automated/reftex-tests.el
5876            test/automated/sgml-mode-tests.el
5877            test/automated/tildify-tests.el
5878            test/automated/thingatpt.el
5879            test/automated/url-future-tests.el
5880            test/automated/url-util-tests.el
5881            test/automated/add-log-tests.el
5882            test/automated/vc-bzr.el
5883            test/automated/vc-tests.el
5884            test/automated/xml-parse-tests.el
5885            test/BidiCharacterTest.txt
5886            test/biditest.el
5887            test/cedet/cedet-utests.el
5888            test/cedet/ede-tests.el
5889            test/cedet/semantic-ia-utest.el
5890            test/cedet/semantic-tests.el
5891            test/cedet/semantic-utest-c.el
5892            test/cedet/semantic-utest.el
5893            test/cedet/srecode-tests.el
5894            test/cedet/tests/test.c
5895            test/cedet/tests/test.el
5896            test/cedet/tests/test.make
5897            test/cedet/tests/testdoublens.cpp
5898            test/cedet/tests/testdoublens.hpp
5899            test/cedet/tests/testfriends.cpp
5900            test/cedet/tests/testjavacomp.java
5901            test/cedet/tests/testnsp.cpp
5902            test/cedet/tests/testpolymorph.cpp
5903            test/cedet/tests/testspp.c
5904            test/cedet/tests/testsppcomplete.c
5905            test/cedet/tests/testsppreplace.c
5906            test/cedet/tests/testsppreplaced.c
5907            test/cedet/tests/testsubclass.cpp
5908            test/cedet/tests/testsubclass.hh
5909            test/cedet/tests/testtypedefs.cpp
5910            test/cedet/tests/testvarnames.c
5911            test/etags/CTAGS.good
5912            test/etags/ETAGS.good_1
5913            test/etags/ETAGS.good_2
5914            test/etags/ETAGS.good_3
5915            test/etags/ETAGS.good_4
5916            test/etags/ETAGS.good_5
5917            test/etags/ETAGS.good_6
5918            test/etags/a-src/empty.zz
5919            test/etags/a-src/empty.zz.gz
5920            test/etags/ada-src/2ataspri.adb
5921            test/etags/ada-src/2ataspri.ads
5922            test/etags/ada-src/etags-test-for.ada
5923            test/etags/ada-src/waroquiers.ada
5924            test/etags/c-src/a/b/b.c
5925            test/etags/c-src/abbrev.c
5926            test/etags/c-src/c.c
5927            test/etags/c-src/dostorture.c
5928            test/etags/c-src/emacs/src/gmalloc.c
5929            test/etags/c-src/emacs/src/keyboard.c
5930            test/etags/c-src/emacs/src/lisp.h
5931            test/etags/c-src/emacs/src/regex.h
5932            test/etags/c-src/etags.c
5933            test/etags/c-src/exit.c
5934            test/etags/c-src/exit.strange_suffix
5935            test/etags/c-src/fail.c
5936            test/etags/c-src/getopt.h
5937            test/etags/c-src/h.h
5938            test/etags/c-src/machsyscalls.c
5939            test/etags/c-src/machsyscalls.h
5940            test/etags/c-src/sysdep.h
5941            test/etags/c-src/tab.c
5942            test/etags/c-src/torture.c
5943            test/etags/cp-src/MDiagArray2.h
5944            test/etags/cp-src/Range.h
5945            test/etags/cp-src/burton.cpp
5946            test/etags/cp-src/c.C
5947            test/etags/cp-src/clheir.cpp.gz
5948            test/etags/cp-src/clheir.hpp
5949            test/etags/cp-src/conway.cpp
5950            test/etags/cp-src/conway.hpp
5951            test/etags/cp-src/fail.C
5952            test/etags/cp-src/functions.cpp
5953            test/etags/cp-src/screen.cpp
5954            test/etags/cp-src/screen.hpp
5955            test/etags/cp-src/x.cc
5956            test/etags/el-src/TAGTEST.EL
5957            test/etags/el-src/emacs/lisp/progmodes/etags.el
5958            test/etags/erl-src/gs_dialog.erl
5959            test/etags/f-src/entry.for
5960            test/etags/f-src/entry.strange.gz
5961            test/etags/f-src/entry.strange_suffix
5962            test/etags/forth-src/test-forth.fth
5963            test/etags/html-src/algrthms.html
5964            test/etags/html-src/index.shtml
5965            test/etags/html-src/software.html
5966            test/etags/html-src/softwarelibero.html
5967            test/etags/lua-src/allegro.lua
5968            test/etags/objc-src/PackInsp.h
5969            test/etags/objc-src/PackInsp.m
5970            test/etags/objc-src/Subprocess.h
5971            test/etags/objc-src/Subprocess.m
5972            test/etags/objcpp-src/SimpleCalc.H
5973            test/etags/objcpp-src/SimpleCalc.M
5974            test/etags/pas-src/common.pas
5975            test/etags/perl-src/htlmify-cystic
5976            test/etags/perl-src/kai-test.pl
5977            test/etags/perl-src/yagrip.pl
5978            test/etags/php-src/lce_functions.php
5979            test/etags/php-src/ptest.php
5980            test/etags/php-src/sendmail.php
5981            test/etags/prol-src/natded.prolog
5982            test/etags/prol-src/ordsets.prolog
5983            test/etags/ps-src/rfc1245.ps
5984            test/etags/pyt-src/server.py
5985            test/etags/tex-src/gzip.texi
5986            test/etags/tex-src/nonewline.tex
5987            test/etags/tex-src/testenv.tex
5988            test/etags/tex-src/texinfo.tex
5989            test/etags/y-src/atest.y
5990            test/etags/y-src/cccp.c
5991            test/etags/y-src/cccp.y
5992            test/etags/y-src/parse.c
5993            test/etags/y-src/parse.y
5994            test/indent/css-mode.css
5995            test/indent/js-indent-init-dynamic.js
5996            test/indent/js-indent-init-t.js
5997            test/indent/js-jsx.js
5998            test/indent/js.js
5999            test/indent/latex-mode.tex
6000            test/indent/modula2.mod
6001            test/indent/nxml.xml
6002            test/indent/octave.m
6003            test/indent/pascal.pas
6004            test/indent/perl.perl
6005            test/indent/prolog.prolog
6006            test/indent/ps-mode.ps
6007            test/indent/ruby.rb
6008            test/indent/scheme.scm
6009            test/indent/scss-mode.scss
6010            test/indent/sgml-mode-attribute.html
6011            test/indent/shell.rc
6012            test/indent/shell.sh
6013            test/redisplay-testsuite.el
6014            test/rmailmm.el
6015            test/automated/buffer-tests.el
6016            test/automated/cmds-tests.el
6017            test/automated/data-tests.el
6018            test/automated/finalizer-tests.el
6019            test/automated/fns-tests.el
6020            test/automated/inotify-test.el
6021            test/automated/keymap-tests.el
6022            test/automated/print-tests.el
6023            test/automated/libxml-tests.el
6024            test/automated/zlib-tests.el: Files Moved.
6026 2015-11-20  Michael Albinus  <michael.albinus@gmx.de>
6028         Rework file notifications, kqueue has problems with directory monitors
6030         * lisp/filenotify.el (file-notify-add-watch): Call the native
6031         add-watch function on the file, not on the dir.
6033         * src/kqueue.c (kqueue_compare_dir_list): Make also bookkeeping
6034         about already deleted entries.
6036         * test/automated/auto-revert-tests.el
6037         (auto-revert-test01-auto-revert-several-files): Do not call "cp -f"
6038         since this deletes the target file first.
6040         * test/automated/file-notify-tests.el (file-notify--test-event-test):
6041         Make stronger checks.
6042         (file-notify-test01-add-watch, file-notify-test02-events)
6043         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
6044         Rewrite in order to call file monitors but directory monitors.
6045         (file-notify-test06-many-events): Ler rename work in both directions.
6047 2015-11-19  Michael Albinus  <michael.albinus@gmx.de>
6049         Continie with pending events
6051         * src/kqueue.c (pending_events): Remove global variable.
6052         (kqueue_compare_dir_list): Create `write' event for not used
6053         pending events.
6054         (globals_of_kqueue): Remove initialization of pending_events.
6056 2015-11-19  Michael Albinus  <michael.albinus@gmx.de>
6058         Improve loops in file-notify-test06-many-events
6060         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
6061         Use `read-event' pauses for the `write-file' loops; otherwise
6062         events are lost in inotify and gfilenotify cases.
6064 2015-11-19  Michael Albinus  <michael.albinus@gmx.de>
6066         Handle more complex rename operation in kqueue
6068         * src/kqueue.c (pending_events): New variable.
6069         (kqueue_compare_dir_list): Handle more complex rename operation.
6070         (globals_of_kqueue): Initialize pending_events.
6072         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
6073         Adapt expected events in the `rename-file' case.
6074         (file-notify-test06-many-events-remote): Declare.
6076 2015-11-18  Wolfgang Jenkner  <wjenkner@inode.at>
6078         New test with a larger number of events.
6080         * test/automated/file-notify-tests.el (file-notify--test-with-events):
6081         Make timeout heuristically depend on the number of events.
6083         (file-notify-test06-many-events): Use it for new test.
6085 2015-11-18  Michael Albinus  <michael.albinus@gmx.de>
6087         Further fixes for kqueue.
6089         * lisp/filenotify.el (file-notify-callback): Raise also event if
6090         directory name matches.
6091         (file-notify-add-watch): Add `create' to the flags for `kqueue'.
6093         * src/kqueue.c (kqueue_generate_event): Use watch_object as
6094         argument instead of ident.  Remove callback argument.  Adapt
6095         callees.  Check actions whether they are monitored flags.
6097         * test/automated/file-notify-tests.el (file-notify--test-library):
6098         New defun.
6099         (file-notify-test00-availability, file-notify-test02-events)
6100         (file-notify-test04-file-validity)
6101         (file-notify-test05-dir-validity): Use it.
6102         (file-notify-test02-events, file-notify-test04-file-validity): Add
6103         `read-event' calls between different file actions, in order to
6104         give the backends a chance to rais an event.  Needed especially
6105         for kqueue.  In case of deleting a directory, there are two
6106         `deleted' events.
6108 2015-11-17  Michael Albinus  <michael.albinus@gmx.de>
6110         Code cleanup of kqueue.c
6112         * src/kqueue.c (kqueue_directory_listing): Skip "." and "..".
6113         (kqueue_compare_dir_list): Do not loop when calling
6114         directory_files_internal.  Remove checks for "." and "..", this is
6115         done in kqueue_directory_listing now.
6116         (Fkqueue_add_watch): Check for proper emacs_open flags.
6118 2015-11-16  Michael Albinus  <michael.albinus@gmx.de>
6120         Doc changes for kqueue
6122         * doc/lispref/os.texi (File Notifications): Add kqueue as backend.
6123         Fix some glitches in the example.
6125 2015-11-16  Michael Albinus  <michael.albinus@gmx.de>
6127         Finish implementation in kqueue.c
6129         * src/kqueue.c (kqueue_directory_listing, kqueue_callback):
6130         Simplify access to list.
6131         (kqueue_compare_dir_list): Simplify access to list.  Raise
6132         `delete' event if directory does not exist any longer.  Otherwise,
6133         wait until directory contents has changed.  Fix error in check.
6135 2015-11-16  Michael Albinus  <michael.albinus@gmx.de>
6137         * lisp/filenotify.el (file-notify-add-watch): Fix thinko.
6139 2015-11-15  Michael Albinus  <michael.albinus@gmx.de>
6141         More work on kqueue
6143         * lisp/filenotify.el (file-notify-callback): Handle also the
6144         `rename' event from kqueue.
6145         (file-notify-add-watch): Do not register an entry twice.
6147         * src/kqueue.c (kqueue_directory_listing): New function.
6148         (kqueue_generate_event): New argument FILE1.  Adapt callees.
6149         (kqueue_compare_dir_list): Rewrite in order to make it more robust.
6151 2015-11-14  Michael Albinus  <michael.albinus@gmx.de>
6153         Implement directory events
6155         * lisp/filenotify.el (file-notify-handle-event)
6156         (file-notify-callback): Remove traces.
6158         * src/kqueue.c: Include <sys/time.h>.
6159         (kqueue_generate_event, kqueue_compare_dir_list): New functions.
6160         (kqueue_callback): Use them.  Call kevent() with a zero timeout.
6161         (Fkqueue_add_watch): Adapt docstring.  Support directory events.
6162         Compute initial directory listing.  Close file descriptor in case
6163         of errors.
6164         (syms_of_kqueue): Declare Qcreate.
6166 2015-11-11  Wolfgang Jenkner  <wjenkner@inode.at>
6168         Build fixes for kqueue support.
6170         * src/kqueue.c (Fkqueue_add_watch): O_BINARY is not a POSIX open(3)
6171         flag.
6173         * configure.ac (HAVE_KQUEUE): There is no pkg-config module for native
6174         kqueue on *BSD.
6176 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
6178         Continue kqueue implementation
6180         * lisp/filenotify.el (file-notify-handle-event)
6181         (file-notify-callback): Enable trace messages.
6183         * src/kqueue.c: Include also <sys/types.h>.
6184         (kqueue_callback): Remove watch in case of NOTE_DELETE or NOTE_RENAME.
6185         (Fkqueue_rm_watch, Fkqueue_valid_p): New functions.
6186         (syms_of_kqueue): Add them.
6188 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
6190         Work on kqueue
6192         * lisp/filenotify.el (file-notify--library)
6193         (file-notify-descriptors, file-notify-callback)
6194         (file-notify-add-watch, file-notify-rm-watch)
6195         (file-notify-valid-p): Add kqueue support.
6197         * src/keyboard.c (make_lispy_event): Check also for HAVE_KQUEUE.
6199 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
6201         Add kqueue support
6203         * configure.ac (--with-file-notification): Add kqueue.
6204         (top): Remove special test for "${HAVE_NS}" and
6205         ${with_file_notification}, this is handled inside gfilenotify
6206         tests.  Add kqueue tests.  Use NOTIFY_CFLAGS and NOTIFY_LIBS
6207         instead of library specific variables.
6209         * src/Makefile.in: Use NOTIFY_CFLAGS and NOTIFY_LIBS.
6211         * src/emacs.c (main): Call globals_of_kqueue and syms_of_kqueue.
6213         * src/kqueue.c: New file.
6215         * src/lisp.h: Declare extern globals_of_kqueue and syms_of_kqueue.
6217 2015-11-21  Wilson Snyder  <wsnyder@wsnyder.org>
6219         verilog-mode.el: Commentary and fix pre-Emacs 21 behavior.
6221         * verilog-mode.el (verilog-save-font-no-change-functions):
6222         Commentary and fix pre-Emacs 21 behavior.
6224 2015-11-19  Przemysław Wojnowski  <esperanto@cumego.com>
6226         Use obarray functions from obarray.
6228         * lisp/abbrev.el (copy-abbrev-table, abbrev-table-p, make-abbrev-table,
6229           abbrev-table-get, abbrev-table-put, abbrev-table-empty-p,
6230           clear-abbrev-table, define-abbrev, abbrev--symbol, abbrev-table-menu):
6231           delegate to obarray.el functions.
6232         * lisp/loadup.el: load obarray before abbrev
6233         * test/automated/abbrev-tests.el: new tests
6235 2015-11-18  Christian Schwarzgruber  <c.schwarzgruber.cs@gmail.com>  (tiny change)
6237         epa.el: Add option to replace original text
6239         * lisp/epa.el (epa-replace-original-text): New user option.
6240         (Bug#21947)
6242 2015-11-18  Mark Oteiza  <mvoteiza@udel.edu>
6244         Add interactive seek command.
6246         * lisp/mpc.el (mpc-cmd-seekcur): New function.
6247         (mpc-seek-current): New command.
6248         (mpc-mode-menu): Add entry for mpc-seek-current
6249         (mpc-mode-map): Bind mpc-seek-current to "g"
6251 2015-11-18  Mark Oteiza  <mvoteiza@udel.edu>
6253         Fix issue where a new tempfile was created every refresh
6255         * lisp/mpc.el (mpc-format): Leave dir as relative path
6257 2015-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>
6259         * lisp/progmodes/cc-defs.el: Use with-silent-modifications
6261         (c-save-buffer-state): Use with-silent-modifications when available.
6262         (c--macroexpand-all): Check macroexpand-all directly rather than
6263         c--mapcan-status.
6265 2015-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>
6267         * lisp/loadup.el: Set max-lisp-eval-depth here
6269         * lisp/Makefile.in (BIG_STACK_DEPTH, BIG_STACK_OPTS): Remove.
6270         (BYTE_COMPILE_FLAGS): Adjust accordingly.
6272 2015-11-17  João Távora  <joaotavora@gmail.com>
6274         Minor fix to comment indentation and typo in last commit
6276         * linum.el (linum-update-window): Fix comment indentation and a
6277         typo.
6279 2015-11-17  João Távora  <joaotavora@gmail.com>
6281         linum-mode plays more nicely with other margin-setting extensions
6283         linum.el will only modify the left margin if it needs to, and will
6284         only reset the it back to 0 if it guesses that no-one has touched that
6285         margin in the meantime.
6287         As such, this is a more of a workaround than an actual fix, but fixes
6288         the problems described in bug#20674 regarding the interaction with
6289         modes such as darkroom-mode and olivetti-mode.
6291         A similar fix was commited to nlinum.el in ELPA.git's
6292         e7f5f549fbfb740b911fb7f33b42381ecece56d8
6294         * linum.el (linum-delete-overlays): Restore margins more
6295         criteriously.
6296         (linum-update-window): Set margins more criteriously.
6298 2015-11-16  Daiki Ueno  <ueno@gnu.org>
6300         * lisp/image-mode.el: Support encrypted file
6302         (image-toggle-display-image): Read content from the buffer instead
6303         of the file, if the buffer holds a decrypted data.  (Bug#21870)
6305 2015-11-15  Juanma Barranquero  <lekktu@gmail.com>
6307         * lisp/progmodes/verilog-mode.el (verilog-save-buffer-state): Add backquote
6309 2015-11-15  Artur Malabarba  <bruce.connor.am@gmail.com>
6311         * lisp/emacs-lisp/package.el: Fix a decoding issue
6313         (package--with-response-buffer): Use `url-insert-buffer-contents'.
6314         The previous code had some issues with decoding. Refactoring that
6315         function allows us to use the decoding from url-handlers while still
6316         treating both sync and async requests the same.
6318         * lisp/url/url-handlers.el (url-insert-file-contents): Move some code to
6319         `url-insert-buffer-contents'.
6320         (url-insert-buffer-contents): New function
6322 2015-11-15  Artur Malabarba  <bruce.connor.am@gmail.com>
6324         * lisp/emacs-lisp/package.el: Refactor -with-work-buffer-async
6326         (package--with-work-buffer-async): Reimplement as
6327         `package--with-response-buffer'.
6328         (package--with-work-buffer): Mark obsolete.
6329         (package--with-response-buffer): New macro. This is a more self
6330         contained and less contrived version of
6331         `package--with-work-buffer-async'.  It uses keyword arguments,
6332         doesn't have async on the name, doesn't fallback on
6333         `package--with-work-buffer', and has _much_ simpler error
6334         handling.
6336         (package--check-signature, package--download-one-archive)
6337         (package-install-from-archive, describe-package-1): Use it.
6339         (package--download-and-read-archives): Let
6340         `package--download-one-archive' take care of calling
6341         `package--update-downloads-in-progress'.
6343 2015-11-15  Stefan Monnier  <monnier@iro.umontreal.ca>
6345         * lisp/progmodes/verilog-mode.el: Use with-silent-modifications
6347         (verilog-save-buffer-state): Use with-silent-modifications when available.
6348         (verilog-save-font-no-change-functions): Don't bind
6349         before/after-change-functions if it's not needed.
6351 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
6353         * CONTRIBUTE: Remove information about feature freeze.
6355         Merge branch 'release-process-lowercase'
6357 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
6359         Document the release process
6361         * admin/notes/versioning: Add information about RC releases.
6362         * admin/release-process: Document the release process.
6363         * admin/authors.el (authors-ignored-files):
6364         * admin/README: Change FOR-RELEASE to release-process.
6365         * CONTRIBUTE:
6366         * admin/notes/bugtracker: Don't mention FOR-RELEASE.
6368 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
6370         * admin/release-process: Rename from admin/FOR-RELEASE.
6372 2015-11-14  David Engster  <deng@randomsample.de>
6374         gitmerge: Fix git log command
6376         * admin/gitmerge.el (gitmerge-missing): Use '--left-only' since we
6377         only want commits from the branch that is to be merged.
6378         (gitmerge-setup-log-buffer): Use the same symmetric range as in
6379         `gitmerge-missing'.
6381 2015-11-14  David Engster  <deng@randomsample.de>
6383         gitmerge: Try to detect cherry-picks
6385         * admin/gitmerge.el (gitmerge-default-branch): Change to
6386         origin/emacs-25.
6387         (gitmerge-missing): Use symmetric difference ('...') between
6388         branch and master so that cherry-picks can be detected.
6390 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
6392         Increment Emacs version on master branch
6394         * lisp/cus-edit.el (customize-changed-options-previous-release):
6395         Increase previous version to 24.5.
6397         * configure.ac:
6398         * msdos/sed2v2.inp: Bump version to 25.1.50.
6400 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
6402         Mention CONTRIBUTE in README, since it was moved from etc/ to root.
6403         * etc/TODO: Remove the reference to `etc/CONTRIBUTE'.
6404         * README: Mention CONTRIBUTE.
6406 2015-11-13  Wilson Snyder  <wsnyder@wsnyder.org>
6408         Update verilog-mode.el to 2015-11-09-b121d60-vpo
6410         * verilog-mode.el (verilog-auto, verilog-delete-auto)
6411         (verilog-modi-cache-results, verilog-save-buffer-state)
6412         (verilog-save-font-no-change-functions): When internally suppressing
6413         change functions, use `inhibit-modification-hooks' and call
6414         `after-change-funtions' to more nicely work with user hooks.
6415         Reported by Stefan Monnier.
6416         (verilog-auto, verilog-delete-auto, verilog-delete-auto-buffer):
6417         Create `verilog-delete-auto-buffer' to avoid double-calling
6418         fontification hooks.
6419         (verilog-restore-buffer-modified-p, verilog-auto)
6420         (verilog-save-buffer-state): Prefer restore-buffer-modified-p over
6421         set-buffer-modified-p.  Reported by Stefan Monnier.
6422         (verilog-diff-auto, verilog-diff-buffers-p)
6423         (verilog-diff-ignore-regexp): Add `verilog-diff-ignore-regexp'.
6424         (verilog-auto-inst-port, verilog-read-sub-decls-expr): Fix
6425         AUTOINST with unpacked dimensional parameters, bug981.  Reported by
6426         by Amol Nagapurkar.
6427         (verilog-read-decls, verilog-read-sub-decls-line): Avoid unneeded
6428         properties inside internal structures.  No functional change
6429         intended.
6431 2015-11-13  Dmitry Gutov  <dgutov@yandex.ru>
6433         Use generic dispatch for xref backends
6435         * lisp/progmodes/xref.el (xref-backend-functions):
6436         New variable.
6437         (xref-find-function): Remove.
6438         (xref-find-backend)
6439         (xref--etags-backend): New functions.
6440         (xref-identifier-at-point-function)
6441         (xref-identifier-completion-table-function): Remove.
6442         (xref-backend-definitions, xref-backend-references)
6443         (xref-backend-apropos, xref-backend-identifier-at-point)
6444         (xref-backend-identifier-completion-table):
6445         New generic functions.
6447         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
6448         Add `elisp--xref-backend' to the beginning of
6449         `xref-backend-functions', locally.  Delete references to
6450         removed functions and vars.
6451         (elisp-xref-find): Remove.
6452         (elisp--xref-backend): New function.
6453         (elisp--xref-find-references, elisp--xref-find-apropos)
6454         (elisp--xref-identifier-completion-table):
6455         Turn into appropriately named generic methods.
6457         * lisp/progmodes/etags.el (etags-xref-find): Remove.
6458         (xref-backend-identifier-completion-table)
6459         (xref-backend-references, xref-backend-definitions)
6460         (xref-backend-apropos): New generic methods.
6462 2015-11-13  Juri Linkov  <juri@linkov.net>
6464         Support rectangular regions for more commands
6466         * lisp/simple.el (region-extract-function): Handle the arg
6467         value ‘bounds’.
6468         (region-insert-function): New function.
6469         (shell-command-on-region): Add arg ‘region-noncontiguous-p’.
6470         If non-nil, operate on multiple chunks.
6471         (region-noncontiguous-p): New function.
6473         * lisp/rect.el: Add function rectangle--insert-region
6474         around region-insert-function.
6475         (extract-rectangle-bounds): New function.
6476         (rectangle--extract-region): Handle the arg value ‘bounds’.
6477         (rectangle--insert-region): New function.
6479         * lisp/emulation/cua-rect.el: Add function cua--insert-rectangle
6480         around region-insert-function.
6481         (cua--extract-rectangle-bounds): New function.
6482         (cua--rectangle-region-extract): Handle the arg value ‘bounds’.
6484         * lisp/replace.el (query-replace, query-replace-regexp): Add arg
6485         ‘region-noncontiguous-p’.  Use ‘use-region-p’.
6486         (query-replace-regexp-eval, map-query-replace-regexp)
6487         (replace-string, replace-regexp): Use ‘use-region-p’.
6488         (keep-lines, flush-lines, how-many): Use ‘use-region-p’.
6489         (perform-replace): Add arg ‘region-noncontiguous-p’.
6490         If non-nil, operate on multiple chunks.
6492         * src/casefiddle.c (Fdowncase_region): Add arg ‘region-noncontiguous-p’.
6493         If non-nil, operate on multiple chunks.  (Bug#19829)
6495 2015-11-13  Dmitry Gutov  <dgutov@yandex.ru>
6497         Handle multiple matches on the same line; add highlighting
6499         * lisp/progmodes/xref.el (xref-location-marker): Interpret the
6500         column value in characters.
6501         (xref--collect-matches): Rename from `xref--collect-match'.
6502         Search for all matches in the hit line.  Add `highlight' face to
6503         the matched region in the summary.  Update both callers.
6505 2015-11-13  Dmitry Gutov  <dgutov@yandex.ru>
6507         Replace xref-match-bounds with xref-match-length
6509         Relying on xref-location-marker to point to the beginning of the match
6511         * lisp/progmodes/xref.el (xref-match-bounds): Remove.
6512         (xref-match-length): Add.
6513         (xref-make-match): Change the arguments.
6514         (xref--match-buffer-bounds): Remove.
6515         (xref-match-item): Store length, instead of end-column.
6516         (xref-pulse-momentarily)
6517         (xref--collect-match)
6518         (xref--query-replace-1): Update accordingly.
6519         (xref-query-replace): Ditto.  And check that the search results
6520         are up-to-date.
6522 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
6524         Merge from gnulib
6526         This incorporates:
6527         2015-11-13 xalloc-oversized: improve performance with GCC 5
6528         * lib/xalloc-oversized.h: Copy from gnulib.
6530 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
6532         Spruce up ftfont.c memory allocation
6534         * src/ftfont.c (setup_otf_gstring):
6535         Avoid O(N**2) behavior when reallocating.
6536         (ftfont_shape_by_flt): Prefer xpalloc to xrealloc when
6537         reallocating buffers; this simplifies the code.  Do not trust
6538         mflt_run to leave the output areas unchanged on failure, as
6539         this isn’t part of its interface spec.
6541 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
6543         Port recent XCB changes to 64-bit ‘long int’
6545         For historical reasons, libX11 represents 32-bit values like Atoms as
6546         ‘long int’ even on platforms where ‘long int’ is 64 bits.  XCB doesn’t
6547         do that, so adapt the recent XCB code to behave properly on 64-bit
6548         platforms.  Also, fix what appears to be a bug in the interpretation
6549         of xcb_get_property_value_length, at least on my Fedora platform
6550         which is running libxcb-1.11-5.fc21.
6551         * src/xfns.c (x_real_pos_and_offsets):
6552         * src/xterm.c (get_current_wm_state):
6553         xcb_get_property_value_length returns a byte count, not a word count.
6554         For 32-bit quantities, xcb_get_property_value returns a vector
6555         of 32-bit words, not of (possibly 64-bit) long int.
6557 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
6559         * src/undo.c (run_undoable_change): Now static.
6561 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
6563         Remove support for ':timeout' from w32 tray notifications
6565         * src/w32fns.c (Fw32_notification_notify): Delete the code that
6566         supports ':timeout'.
6567         (syms_of_w32fns): Don't DEFSYM ':timeout'.  This avoids clashes
6568         with dbusbind.c when D-Bus is compiled in.
6570         * doc/lispref/os.texi (Desktop Notifications): Don't mention
6571         ':timeout'.
6573 2015-11-13  Juanma Barranquero  <lekktu@gmail.com>
6575         * test/automated/simple-test.el: Add test for bug#20698 (bug#21885)
6576         (simple-test--transpositions): New macro.
6577         (simple-transpose-subr): New test.
6579 2015-11-13  Juanma Barranquero  <lekktu@gmail.com>
6581         * lisp/progmodes/elisp-mode.el: Declare function `project-roots'
6583 2015-11-13  Juanma Barranquero  <lekktu@gmail.com>
6585         * src/undo.c: Small fixes for previous change
6586         (run_undoable_change): Mark void argument list.
6587         (record_property_change): Remove unused variable `boundary'.
6589 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
6591         Add a few more variables to redisplay--variables
6593         * lisp/frame.el (redisplay--variables): Add bidi-paragraph-direction
6594         and bidi-display-reordering to the list.
6596 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
6598         * lisp/loadup.el: Enlarge the size of the hash table to 80000.
6600 2015-11-13  Eli Barzilay  <eli@barzilay.org>
6602         Fix point positioning after transposing with negative arg
6604         * lisp/simple.el (transpose-subr): When invoked with a negative
6605         argument, move point to after the transposed text, like we do
6606         when invoked with a positive argument.  (Bug#21885)
6608 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
6610         Fix last change in shr.el
6612         * lisp/net/shr.el (shr--have-one-fringe-p): Rename from
6613         have-fringes-p.  All callers changed.  Doc fix.  (Bug#21895)
6615 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
6617         Fix last change
6619         * src/w32fns.c (syms_of_w32fns) [WINDOWSNT && !HAVE_DBUS]:
6620         Don't DEFSYM tray notification symbols if D-Bus is being used.
6622 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
6624         Another fix for MinGW64 and Cygwin builds due to notifications
6626         * src/w32fns.c: Ifdef away tray notification code if D-Bus is
6627         being compiled into Emacs.
6628         (syms_of_w32fns) [WINDOWSNT && !HAVE_DBUS]: Don't defsubr
6629         Sw32_notification_notify and Sw32_notification_close if the code
6630         is not compiled.  Reported by Andy Moreton <andrewjmoreton@gmail.com>.
6632 2015-11-12  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
6634         Remove intern calls and XXX comments from Fx_export_frames
6636         * src/xfns.c (Fx_export_frames): Use Qpdf, Qpng, Qpostscript, and
6637         Qsvg instead of intern calls.  Use "postscript" instead of "ps"
6638         for consistency with image types.  Remove XXX comments.
6639         (syms_of_xfns) <Qpdf>: DEFSYM it.
6641 2015-11-12  Eric Hanchrow  <eric.hanchrow@gmail.com>
6643         shr: don't invoke unbound function (Bug#21895)
6645         * lisp/net/shr.el (have-fringes-p): New function.
6646         (shr-insert-document, shr-fill-text): Use it.
6648 2015-11-12  Juanma Barranquero  <lekktu@gmail.com>
6650         * test/automated/keymaps-test.el: Fix test to make it repeatable
6652         (keymap-store_in_keymap-FASTINT-on-nonchars): Reset Buffer-menu-mode-map
6653         entry to its initial value to make the test repeatable in interactive
6654         sessions (assuming it doesn't fail and crashes Emacs, of course).
6656 2015-11-12  Artur Malabarba  <bruce.connor.am@gmail.com>
6658         * test/automated/cl-lib-tests.el (cl-lib-struct-constructors):
6659         Small fix.
6661 2015-11-12  Phillip Lord  <phillip.lord@newcastle.ac.uk>
6663         The heuristic that Emacs uses to add an `undo-boundary' has been
6664         reworked, as it interacts poorly with functions on `post-command-hook'
6665         or `after-change-functions'.
6667         * lisp/simple.el: New section added.
6668         * src/cmds.c (remove_excessive_undo_boundaries): Now in lisp.
6669         (self_insert_command): Calls simple.el to amalgamate.
6670         (delete_char): Calls simple.el to amalgamate.
6671         * src/keyboard.c (last_undo_boundary): Removed.
6672         * src/undo.c (run_undoable_change): New function.
6674 2015-11-12  Juri Linkov  <juri@linkov.net>
6676         Bind [?\S-\ ] to previous line command in Dired-like modes
6678         * lisp/arc-mode.el (archive-mode-map):
6679         * lisp/dired.el (dired-mode-map):
6680         * lisp/proced.el (proced-mode-map):
6681         * lisp/vc/vc-dir.el (vc-dir-mode-map):
6682         Bind [?\S-\ ] to previous line command.
6683         (Bug#20790)
6685 2015-11-12  Eli Zaretskii  <eliz@gnu.org>
6687         Fix the MinGW64 and Cygwin-w32 builds
6689         * src/w32fns.c (MYNOTIFYICONDATAW_V1_SIZE)
6690         (MYNOTIFYICONDATAW_V2_SIZE, MYNOTIFYICONDATAW_V3_SIZE): Define and
6691         use instead of the corresponding NOTIFYICONDATAW_Vn_SIZE macros,
6692         which cause trouble with MinGW42 headers.  Ifdef away tray
6693         notifications code for Cygwin.  Reported by Andy Moreton
6694         <andrewjmoreton@gmail.com>.
6696 2015-11-12  Simen Heggestøyl  <simenheg@gmail.com>
6698         Enable sorting of JSON object keys when encoding
6700         * lisp/json.el (json-encoding-object-sort-predicate): New variable
6701         for specifying a sorting predicate for JSON objects during encoding.
6702         (json--plist-to-alist): New utility function.
6703         (json-encode-hash-table): Re-use `json-encode-alist' when object keys
6704         are to be sorted.
6705         (json-encode-alist): Sort output by
6706         `json-encoding-object-sort-predicate, when set.
6707         (json-encode-plist): Re-use `json-encode-alist' when object keys are
6708         to be sorted.
6709         (json-pretty-print-buffer-ordered): New command to pretty print the
6710         buffer with object keys sorted alphabetically.
6711         (json-pretty-print-ordered): New command to pretty print the region
6712         with object keys sorted alphabetically.
6714         * test/automated/json-tests.el (test-json-plist-to-alist)
6715         (test-json-encode-plist, test-json-encode-hash-table)
6716         (test-json-encode-alist-with-sort-predicate)
6717         (test-json-encode-plist-with-sort-predicate): New tests.
6719         * etc/NEWS: Add an entry for the new commands.
6721 2015-11-12  Juanma Barranquero  <lekktu@gmail.com>
6723         * test/automated/keymap-tests.el: New test file.
6725 2015-11-12  Ken Raeburn  <raeburn@raeburn.org>
6727         Speed up x_real_pos_and_offsets using XCB
6729         * src/xfns.c (x_real_pos_and_offsets) [USE_XCB]: Add XCB flavors of
6730         all X calls, and pipeline requests when possible, collecting results
6731         later.  Eliminate use of x_catch_errors (and thus XSync) in XCB case.
6733 2015-11-12  Ken Raeburn  <raeburn@raeburn.org>
6735         Enable use of XCB for checking window manager state
6737         * src/xterm.c (get_current_wm_state) [USE_XCB]: Use XCB calls instead
6738         of XGetWindowProperty plus error-catching, since we can explicitly
6739         check for errors in the XCB version.  This eliminates 3 XSync calls on
6740         top of the round-trip actually fetching the information.
6742 2015-11-12  Ken Raeburn  <raeburn@raeburn.org>
6744         Detect XCB and save a connection handle
6746         * configure.ac: If using X11, check for XCB libraries and header.
6747         * src/Makefile.in (XCB_LIBS): Define.
6748         (LIBX_EXTRA): Include it.
6750         * src/xterm.h [USE_XCB]: Include X11/Xlib-xcb.h.
6751         (struct x_display_info) [USE_XCB]: Add an XCB connection handle field.
6752         * src/xterm.c (x_term_init) [USE_XCB]: Initialize the new field.
6754 2015-11-12  Ken Raeburn  <raeburn@raeburn.org>
6756         Reduce some data dependencies between X calls
6758         Gains nothing in the traditional-Xlib code, but more closely aligns
6759         with how the XCB version will work.
6761         * src/xfns.c (x_real_pos_and_offsets): When translating coordinates,
6762         send coordinates (0,0) to the X server and add in the real coordinates
6763         after getting the response.  Move XGetGeometry for outer window inside
6764         error-trapping block.  Use DPY variable more, since it's available.
6766 2015-11-12  Ken Raeburn  <raeburn@raeburn.org>
6768         Use color cache for creating bitmap
6770         * src/image.c (x_create_bitmap_from_xpm_data) [ALLOC_XPM_COLORS]:
6771         Set attributes to use the caching color allocator.  Initialize and
6772         free the cache.
6774 2015-11-12  Eli Barzilay  <eli@barzilay.org>
6776         Add "^" to the interactive specs of `dired-next/previous-line'
6778         * lisp/dired.el (dired-next-line, dired-previous-line): It makes sense
6779         to bind these commands to the arrow keys, and that means that they work
6780         better with a "^" in the `interactive' declaration so selection works
6781         as expected.
6783 2015-11-11  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
6785         Sync with soap-client repository, version 3.0.2
6787         * soap-client.el: Bump version to 3.0.2.
6789         * soap-client.el (soap-warning): Use format, not format-message.
6791         * soap-client.el: Add cl-lib to Package-Requires.  Require cl-lib.
6792         (soap-validate-xs-simple-type): Use cl-labels instead of cl-flet.
6794         * soap-client.el: Support Emacs versions that do not have
6795         define-error.
6797         * soap-inspect.el: Remove version header.
6799         * soap-client.el, soap-inspect.el, jira2.el: Fix first line header
6800         format.
6802 2015-11-11  Alan Mackenzie  <acm@muc.de>
6804         CC Mode: Respect users' settings of open-paren-in-column-0-is-defun-start
6806         * lisp/progmodes/cc-engine.el (c-backward-single-comment)
6807         (c-backward-comments, c-invalidate-state-cache-1, c-parse-state-1)
6808         (c-guess-basic-syntax):
6809         Remove bindings of open-paren-in-column-0-is-defun-start to nil.
6810         (c-get-fallback-scan-pos): "New" function (existed several years ago).
6811         (c-parse-state-get-strategy): Reintroduce the 'BOD strategy, using
6812         c-get-fallback-scan-pos.
6813         (c-parse-state-1): Handle 'BOD strategy.
6815         * lisp/progmodes/cc-mode.el (c-before-change, c-after-change)
6816         (c-font-lock-fontify-region): Remove bindings of
6817         open-paren-in-column-0-is-defun-start to nil.
6819         * doc/misc/cc-mode.texi (Performance Issues)
6820         (Limitations and Known Bugs): Fix mix up between @chapter and @appendix.
6822 2015-11-11  Artur Malabarba  <bruce.connor.am@gmail.com>
6824         * lisp/obarray.el: Fix shadowed variables.
6825         (obarray-map, obarray-remove, obarray-put, obarray-get):
6826         Change OBARRAY arg to OB to avoid shadowing ‘obarray’.
6828 2015-11-11  Eli Zaretskii  <eliz@gnu.org>
6830         Avoid error in submitting a form with EWW
6832         * lisp/gnus/mm-url.el (mm-url-form-encode-xwfu): Allow argument
6833         CHUNK to be nil.  (Bug#21881)
6835 2015-11-11  Nicolas Petton  <nicolas@petton.fr>
6837         Rename seq-p and map-p to seqp and mapp
6839         * lisp/emacs-lisp/seq.el (seqp): New name.
6840         * lisp/emacs-lisp/map.el (mapp): New name.
6841         * doc/lispref/sequences.texi: Update the documentation for seqp.
6842         * test/automated/map-tests.el: Update the tests for mapp.
6844 2015-11-11  Nicolas Petton  <nicolas@petton.fr>
6846         Rename obarray-p to obarrayp
6848         * lisp/obarray.el (obarrayp): New name.
6849         * test/automated/obarray-tests.el: Update the tests.
6851 2015-11-11  Nicolas Petton  <nicolas@petton.fr>
6853         Rename obarray-foreach to obarray-map
6855         * lisp/obarray.el (obarray-map): New name.
6856         * test/automated/obarray-tests.el: Update the corresponding tests.
6858 2015-11-11  Przemysław Wojnowski  <esperanto@cumego.com>
6860         New file with obarray functions
6862         * lisp/obarray.el: Basic obarray functions extracted from abbrev.el.
6863         * test/automated/obarray-tests.el: New file.
6865 2015-11-11  Eli Zaretskii  <eliz@gnu.org>
6867         Implement tray notifications for MS-Windows
6869         * src/w32fns.c (MY_NOTIFYICONDATAW): New typedef.
6870         (NOTIFYICONDATAW_V1_SIZE, NOTIFYICONDATAW_V2_SIZE)
6871         (NOTIFYICONDATAW_V3_SIZE, NIF_INFO, NIIF_NONE, NIIF_INFO)
6872         (NIIF_WARNING, NIIF_ERROR, EMACS_TRAY_NOTIFICATION_ID)
6873         (EMACS_NOTIFICATION_MSG): New macros.
6874         (NI_Severity): New enumeration.
6875         (get_dll_version, utf8_mbslen_lim, add_tray_notification)
6876         (delete_tray_notification, Fw32_notification_notify)
6877         (Fw32_notification_close): New functions.
6878         (syms_of_w32fns): Defsubr functions exposed to Lisp.  DEFSYM
6879         keywords used by w32-notification-notify.
6881         * doc/lispref/os.texi (Desktop Notifications): Describe the native
6882         w32 tray notifications.
6884 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
6886         Optimize `file-equal-p' and `file-in-directory-p' in Tramp
6888         * lisp/net/tramp.el (tramp-handle-file-equal-p)
6889         (tramp-handle-file-in-directory-p): New defuns.  Suggested by
6890         Harvey Chapman <hchapman@3gfp.com>.
6892         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
6893         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
6894         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
6895         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist): Use them.
6897 2015-11-10  Karl Fogel  <kfogel@red-bean.com>
6899         * CONTRIBUTE: Encourage adding tests.
6901         Based on this post from John Wiegley:
6903           From: "John Wiegley" <johnw@newartisans.com>
6904           Subject: Re: [Emacs-diffs] master 1f02cbe: Fix bug#21766 and add test
6905           To: Juanma Barranquero <lekktu@gmail.com>
6906           Cc: emacs-diffs@gnu.org, bruce.connor.am@gmail.com,
6907               emacs-devel <emacs-devel@gnu.org>
6908           Date: Wed, 28 Oct 2015 18:45:29 -0700
6909           Message-ID: <m2y4emqwg6.fsf@newartisans.com>
6911           https://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02372.html
6913 2015-11-10  David Reitter  <david.reitter@gmail.com>
6915         Avoid creating notification objects when possible
6917         * src/nsterm.m (windowWillEnterFullScreen, windowWillExitFullScreen:)
6918         (windowDidEnterFullScreen, windowDidExitFullScreen): Provide convenience
6919         functions that do not require a notification object.  When needed,
6920         define NSWindowDidEnterFullScreenNotification to allow for compilation
6921         on OS X 10.6.8.
6923 2015-11-10  Paul Eggert  <eggert@cs.ucla.edu>
6925         Move INTEGER_TO_CONS body out of .h file
6927         * src/data.c (INTBIG_TO_LISP): New macro, with most
6928         of the contents of the old INTEGER_TO_CONS.
6929         (intbig_to_lisp, uintbig_to_lisp): New functions.
6930         * src/lisp.h (INTEGER_TO_CONS):
6931         Simplify by using EXPR_SIGNED and the new functions.
6932         This shrinks code size a bit, and makes it easier to
6933         put a breakpoint on handling of large integers.
6935 2015-11-10  Paul Eggert  <eggert@cs.ucla.edu>
6937         Merge from gnulib
6939         This incorporates:
6940         2015-11-10 intprops: new public macro EXPR_SIGNED
6941         2015-11-10 intprops: fix typo in clang port
6942         * lib/intprops.h: Copy from gnulib.
6944 2015-11-10  Paul Eggert  <eggert@cs.ucla.edu>
6946         Spelling fixes
6948         * lisp/net/soap-inspect.el (soap-inspect-xs-simple-type):
6949         Fix misspelling in output.
6951 2015-11-10  Artur Malabarba  <bruce.connor.am@gmail.com>
6953         * doc/lispref/variables.texi (Directory Local Variables):
6954         Document dir-locals wildcards.
6956         * lisp/files.el (dir-locals-file): Point to Info node.
6958         * doc/emacs/custom.texi (Directory Variables):
6959         Document dir-locals wildcards.
6961         * etc/NEWS: Document new functionality.
6963 2015-11-10  Artur Malabarba  <bruce.connor.am@gmail.com>
6965         * lisp/files.el: Don't allow customization of dir-locals sorting.
6966         In retrospect, this is not a good idea for the same reason that
6967         `dir-locals-file' is a defconst, because it is important that this
6968         behaviour be "uniform across different environments and users".
6969         Sure, the user can still change the sorting with a hack, but we
6970         shouldn't encourage them to change it.
6971         (dir-locals--all-files): Return list in the order returned by
6972         `file-expand-wildcards'.
6973         (file-expand-wildcards): Document the sorting predicate used.
6974         (dir-locals-sort-predicate): Delete variable.
6976 2015-11-10  Artur Malabarba  <bruce.connor.am@gmail.com>
6978         * lisp/files.el (dir-locals-read-from-file): Better handle errors.
6980         * lisp/isearch.el (search-default-regexp-mode): Change default value.
6982 2015-11-10  Artur Malabarba  <bruce.connor.am@gmail.com>
6984         * lisp/files.el (dir-locals-find-file): Don't stop at unreadable files.
6985         `locate-dominating-file' will now keep looking if the files it finds in
6986         a given directory are unreadable (or not files).
6988 2015-11-10  Artur Malabarba  <bruce.connor.am@gmail.com>
6990         * lisp/files.el (dir-locals-file): Allow wildcards.
6991         (dir-locals-find-file, dir-locals-collect-variables)
6992         (dir-locals-read-from-file): Update accordingly.
6993         (hack-dir-local-variables): Rename a local variable.
6995         * lisp/files-x.el (modify-dir-local-variable): Update accordingly.
6997         * lisp/help-fns.el (describe-variable): Update accordingly.
6999         * .gitignore: Add .dir-locals?.el.
7001 2015-11-10  Artur Malabarba  <bruce.connor.am@gmail.com>
7003         * lisp/emacs-lisp/map.el (map-merge-with): New function.
7005         * test/automated/map-tests.el (test-map-merge-with): New test.
7007 2015-11-09  Karl Fogel  <kfogel@red-bean.com>
7009         Fix some recently-perturbed bookmark autoloads
7011         * lisp/bookmark.el (bookmark-set-internal): Remove unnecessary autoload.
7012         (bookmark-set): Restore autoload.
7013         (bookmark-set-no-overwrite): Add autoload.
7015         Thanks to Juanma Barranquero for noticing the autoload problems
7016         introduced by my recent commit adding/changing the above functions
7017         (Sun Nov 8 14:16:43 2015 -0500, git commit 3812e17978).
7019 2015-11-09  Noah Friedman  <friedman@splode.com>
7021         * etc/emacs-buffer.gdb (ydump-buffer): Handle case where gap is at
7022         the start of buffer.  I don't recall if older versions of gdb were
7023         less strict but you cannot dump a 0-length range in gdb 7.9.1.
7025 2015-11-09  Dmitry Gutov  <dgutov@yandex.ru>
7027         * lisp/progmodes/project.el: Update Commentary.
7029         Merge branch 'project-next'
7031 2015-11-09  Dmitry Gutov  <dgutov@yandex.ru>
7033         Fold `project-ask-user' into `project-current'
7035         * lisp/progmodes/project.el (project-find-functions):
7036         Remove `project-ask-user'.
7037         (project-ask-user): Remove function and the corresponding
7038         `project-roots' implementation.
7039         (project-current): Add a new argument, MAYBE-PROMPT.  Prompt the
7040         user in case there's no project in the current directory.  Update
7041         all callers.
7043 2015-11-09  Karl Fogel  <kfogel@red-bean.com>
7045         When VC detects a conflict, specify which file
7047         * lisp/vc/vc.el (vc-message-unresolved-conflicts): New function.
7048         * lisp/vc/vc-svn.el (vc-svn-find-file-hook):
7049         * lisp/vc/vc-hg.el (vc-hg-find-file-hook):
7050         * lisp/vc/vc-bzr.el (vc-bzr-find-file-hook):
7051         * lisp/vc/vc-git.el (vc-git-find-file-hook): Use above new function
7052           to display a standard message that specifies the conflicted file.
7054         Before this change, the message VC used for indicating a conflicted
7055         file was just "There are unresolved conflicts in this file" without
7056         naming the file (and this language was duplicated in several places).
7057         After this change, it's "There are unresolved conflicts in file FOO"
7058         (and this language is now centralized in one function in vc.el).
7060         Justification: It's important for the message to name the conflicted
7061         file because the moment when VC realizes a file is conflicted does not
7062         always come interactively.  For example, some people automatically
7063         find a set of Org Mode files on startup, and may keep those .org files
7064         under version control.  If any of the files are conflicted, the user
7065         just sees some messages fly by, and might later check the "*Messages*"
7066         buffer to find out what files were conflicted.  I'm not saying this
7067         happened to me or anything; it's a purely hypothetical example.
7069 2015-11-09  Eli Zaretskii  <eliz@gnu.org>
7071         Fix assertion violation in define-key
7073         * src/keymap.c (store_in_keymap): Don't use XFASTINT on non-character
7074         objects.  Reported by Drew Adams <drew.adams@oracle.com>
7075         and Juanma Barranquero <lekktu@gmail.com>.
7077 2015-11-09  Dima Kogan  <dima@secretsauce.net>
7079         Fix a memory leak in GC of font cache
7081         * src/alloc.c (compact_font_cache_entry): Don't GC unmarked font
7082         entities if some of the fonts it references are marked.  This
7083         plugs a memory leak.  (Bug#21556)
7085 2015-11-09  Paul Eggert  <eggert@cs.ucla.edu>
7087         Use INT_ADD_WRAPV etc. to check integer overflow
7089         * src/alloc.c (xnmalloc, xnrealloc, xpalloc, Fmake_string):
7090         * src/buffer.c (record_overlay_string, overlay_strings):
7091         * src/casefiddle.c (casify_object):
7092         * src/ccl.c (Fccl_execute_on_string):
7093         * src/character.c (char_width, c_string_width, lisp_string_width)
7094         (count_size_as_multibyte, string_escape_byte8):
7095         * src/coding.c (coding_alloc_by_realloc, produce_chars):
7096         * src/data.c (arith_driver):
7097         * src/dispnew.c (realloc_glyph_pool, init_display):
7098         * src/editfns.c (styled_format):
7099         * src/fns.c (Ffillarray):
7100         * src/ftfont.c (ftfont_shape_by_flt):
7101         * src/gnutls.c (gnutls_hex_string):
7102         * src/gtkutil.c (get_utf8_string):
7103         * src/image.c (x_to_xcolors, x_detect_edges, png_load_body):
7104         * src/keymap.c (Fkey_description):
7105         * src/lisp.h (SAFE_ALLOCA_LISP):
7106         * src/term.c (encode_terminal_code):
7107         * src/tparam.c (tparam1):
7108         * src/xselect.c (x_property_data_to_lisp):
7109         * src/xsmfns.c (smc_save_yourself_CB):
7110         * src/xterm.c (x_term_init):
7111         When checking for integer overflow, prefer INT_MULTIPLY_WRAPV to
7112         more-complicated code involving division and/or
7113         INT_MULTIPLY_OVERFLOW, and similarly for INT_ADD_WRAPV and
7114         subtraction and/or INT_ADD_OVERFLOW.
7115         * src/casefiddle.c (casify_object): Simplify multibyte size check.
7116         * src/character.c: Remove some obsolete ‘#ifdef emacs’s.
7117         * src/data.c (arith_driver): Also check for division overflow,
7118         as that’s now possible given that the accumulator can now contain
7119         any Emacs integer.
7120         * src/lisp.h (lisp_word_count): Remove; no longer used.
7122 2015-11-08  Dmitry Gutov  <dgutov@yandex.ru>
7124         Make sure that the ignore file exists
7126         * lisp/vc/vc.el (vc-default-ignore-completion-table):
7127         Make sure that the ignore file exists.
7129 2015-11-08  Michael Sperber  <mike@xemacs.org>
7131         * gnus-sum.el (gnus-summary-backend-map): Bind B-backspace to
7132         `gnus-summary-delete-article` in a way that also works on XEmacs.
7134 2015-11-08  Simen Heggestøyl  <simenheg@gmail.com>
7136         Add support for retrieving paths to JSON elements
7138         Add support for retrieving the path to a JSON element. This can for
7139         instance be useful to retrieve paths in deeply nested JSON
7140         structures.
7142         * lisp/json.el (json-pre-element-read-function)
7143         (json-post-element-read-function): New variables to hold pre- and post
7144         read callback functions for `json-read-array' and `json-read-object'.
7145         (json--path): New variable used internally by `json-path-to-position'.
7146         (json--record-path, json--check-position): New functions used
7147         internally by `json-path-to-position'.
7148         (json-path-to-position): New function for retrieving the path to a
7149         JSON element at a given position.
7150         (json-read-object, json-read-array): Call
7151         `json-pre-element-read-function' and `json-post-element-read-function'
7152         when set.
7154         * test/automated/json-tests.el (test-json-path-to-position-with-objects)
7155         (test-json-path-to-position-with-arrays)
7156         (test-json-path-to-position-no-match): New tests for
7157         `json-path-to-position'.
7159 2015-11-08  Karl Fogel  <kfogel@red-bean.com>
7161         * etc/NEWS: Mention new `bookmark-set-no-overwrite'.
7163         This really should been part of my previous commit
7164         (Sun Nov 8 14:16:43 2015 -0500, git commit 3812e17978).
7166 2015-11-08  Karl Fogel  <kfogel@red-bean.com>
7168         Offer non-overwrite bookmark setter (Bug#15746)
7170         * lisp/bookmark.el (bookmark-set-internal): New helper function to do
7171         what `bookmark-set' used to do, but with more choices for overwrite
7172         vs push, and with minor changes to the interactive prompt format.
7173         (bookmark-set): Rewrite as wrapper around above.
7174         If overwriting, inform the user of that in the prompt.
7175         (bookmark-set-no-overwrite): New function, also done as wrapper.
7176         Bind to "M" in `ctl-x-r-map' autoloads.
7177         (bookmark-map): Similarly bind "M" here.
7179 2015-11-08  Paul Eggert  <eggert@cs.ucla.edu>
7181         * src/unexelf.c (NEW_PROGRAM_H): Remove unused macro (Bug#20614).
7183 2015-11-08  Alan Modra  <amodra@gmail.com>
7185         ELF unexec: Don't insert a new section
7187         Reuse the .bss section instead, making it SHT_PROGBITS.  This way we
7188         don't need to mess with symbol st_shndx, or section sh_link and
7189         sh_info.
7191         This does lead to eu-elflint complaints about symbols defined in .bss
7192         with a needed version, because normally it is undefined symbols that
7193         have needed versions;  Defined symbols have version definitions.
7194         The exception is symbols defined by the linker in .dynbss for
7195         variables copied from a shared library in order to avoid text
7196         relocations, with copy relocs to copy their initial values from the
7197         shared library.  These symbols are both defined and have needed
7198         versions, and eu-elflink only expects to see them in SHT_NOBITS
7199         sections.  Of course there is no real problem with having such symbols
7200         in SHT_PROGBITS sections.  glibc ld.so handles them fine.
7202         * src/unexelf.c: Delete outdated comments.
7203         (PATCH_INDEX): Delete.
7204         (find_section): Delete.
7205         (unexec): Don't add a new section.  Instead reuse the last bss
7206         section, extending it to cover dumped data.  Make bss sections
7207         SHT_PROGBITS.  Remove all patching of sh_link, sh_info and
7208         st_shndx.  Rename bss sections.
7210 2015-11-08  Alan Modra  <amodra@gmail.com>
7212         ELF unexec: Drive from PT_LOAD header rather than sections
7214         This rewrites bss handling in the ELF unexec code.  Finding bss
7215         sections by name results in complicated code that
7216         - does not account for all names of possible bss sections,
7217         - assumes specific ordering of bss sections,
7218         - can wrongly choose a SHT_NOBITS section not in the bss segment,
7219         - incorrectly calculates bss size (no accounting for alignment gaps),
7220         - assumes .data and .bss are in the same segment.
7222         All of these problems and more are solved by finding the bss segment
7223         in PT_LOAD headers, ie. the address range included in p_memsz but not
7224         p_filesz of the last PT_LOAD header, then matching SHT_NOBITS sections
7225         in that address range.
7227         * src/unexelf.c: Delete old ppc comment.
7228         (OLD_PROGRAM_H): Define.
7229         (round_up): Delete.
7230         (unexec): Don't search for bss style sections by name.  Instead,
7231         use the last PT_LOAD header address range covered by p_memsz
7232         but not p_filesz and match any SHT_NOBITS section in that
7233         address range.  Simplify initialisation of section header vars.
7234         Don't assume that section headers are above bss segment.  Move
7235         copying of bss area out of section loop.  Align .data2 section
7236         to 1, since it now covers the entire bss area.  For SHT_NOBITS
7237         sections in the bss segment, leave sh_addr and sh_addralign
7238         unchanged, but correct sh_offset.  Clear memory corresponding
7239         to SHT_NOBITS .plt section.  Delete comment and hacks for
7240         sections partly overlapping bss range now that the full range
7241         is properly calculated.  Delete now dead .sbss code.
7242         (Bug#20614)
7244 2015-11-08  Alan Modra  <amodra@gmail.com>
7246         ELF unexec: R_*_NONE relocs
7248         These should be ignored on all targets.
7250         * src/unexelf.c (unexec): Ignore R_*_NONE relocs for any target,
7251         not just Alpha.  Comment on reloc size assumption.
7253 2015-11-08  Alan Modra  <amodra@gmail.com>
7255         ELF unexec: _OBJC_ symbols in bss sections
7257         This code assumed that there was only one bss section.  Rather than
7258         checking for a particular index, check the section type.  Also, handle
7259         the possibility that the section was SHT_NOBITS originally and is
7260         unchanged, in which case no clearing is needed (and sh_offset isn't
7261         necessarily valid, which can lead to a wild memset).
7263         * src/unexelf.c (unexec): Properly handle _OBJC_ symbols in
7264         bss sections.
7266 2015-11-08  Alan Modra  <amodra@gmail.com>
7268         ELF unexec: Symbol table patching
7270         No st_shndx value larger than SHN_LORESERVE should be changed.
7271         * src/unexelf.c (unexec): Don't adjust any st_shndx larger than
7272         SHN_LORESERVE.  Error on SHN_XINDEX.
7274 2015-11-08  Alan Modra  <amodra@gmail.com>
7276         ELF unexec: Merge Alpha and MIPS COFF debug handling
7278         * src/unexelf.c (unexec): Merge Alpha and MIPS COFF debug handling.
7279         Don't find .mdebug section index, find the section in the loop.
7280         Allow for unlikely possibility that .mdebug is located at sh_offset
7281         before bss segment, by calculating move from difference in
7282         sh_offset rather than just assuming new_data2_size.  Simplify
7283         cbLineOffset handling.
7285 2015-11-08  Alan Modra  <amodra@gmail.com>
7287         ELF unexec: Tidy code
7289         Separate out some of the more mechanical changes so following patches
7290         are smaller.
7292         * src/unexelf.c (unexec): Rearrange initialisation of program
7293         header vars.  Use pointer vars in loops rather than indexing
7294         section header array via macros.  Simplify _OBJC_ sym code
7295         and reloc handling code.
7297 2015-11-08  Alan Modra  <amodra@gmail.com>
7299         ELF unexec: Correct section header index
7301         First a small fix.  The code incorrectly uses "NEW_SECTION_H (n)" when
7302         it should have been using "NEW_SECTION_H (nn)" to find the name of the
7303         section currently being processed.  Of course, before the bss
7304         sections, n and nn have the same value, so this doesn't matter except
7305         in the case of .sbss.  For .sbss this probably meant .bss (most likely
7306         the next section) was copied from memory.  A later patch removes the
7307         bogus .sbss handling anyway.
7309         * src/unexelf.c (unexec): Use correct index to look up names.
7311 2015-11-08  Michael Albinus  <michael.albinus@gmx.de>
7313         Fix Bug#21841
7315         * lisp/filenotify.el (file-notify--rm-descriptor):
7316         Use `descriptor' instead of computing its value.
7317         (file-notify--descriptor): Additional argument FILE.  Adapt all callees.
7318         (file-notify-rm-watch): Use `descriptor' when calling file name handler.
7319         (Bug#21841)
7321 2015-11-08  Dmitry Gutov  <dgutov@yandex.ru>
7323         Remove dirs in vc project roots from the the vc project library roots
7325         * lisp/progmodes/project.el (project-library-roots):
7326         Remove directories inside the project roots from the result.
7327         (http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg00536.html)
7329 2015-11-07  Dmitry Gutov  <dgutov@yandex.ru>
7331         Move and rename xref-find-regexp to the project package
7333         * lisp/progmodes/project.el (project-find-regexp)
7334         (project--read-regexp)
7335         (project--find-regexp-in): New functions.
7337         * lisp/progmodes/xref.el (xref--find-xrefs): Extract from
7338         xref--show-xrefs.  Use in existing callers in place of that
7339         function.
7340         (xref--show-xrefs): Only do the "show" part.
7341         (xref-find-regexp): Rename, more or less, to
7342         project-or-libraries-find-regexp.
7344 2015-11-06  Dmitry Gutov  <dgutov@yandex.ru>
7346         Abolish temporary buffer management for xref
7348         * lisp/progmodes/xref.el (xref--temporary-buffers)
7349         (xref--current)
7350         (xref--inhibit-mark-current)
7351         (xref--mark-selected): Remove.  Remove all references.
7352         (xref--show-xrefs): Do not construct the
7353         list of the temporary buffers, nor pass it along.
7355 2015-11-06  Dmitry Gutov  <dgutov@yandex.ru>
7357         Rename "search path" to "library roots"
7359         * lisp/emacs-lisp/cl-seq.el (cl-set-difference): Retain the order
7360         of the elements from CL-LIST1.
7362         * test/automated/cl-lib-tests.el (cl-lib-test-set-functions):
7363         Update WRT to the above change.
7365         * lisp/progmodes/project.el (project-search-path-function): Rename
7366         to project-library-roots-function, update the documentation and
7367         references.
7368         (project-search-path): Likewise, to project-library-roots.
7369         (project-roots): Clarify documentation.
7370         (project-vc-search-path): Likewise, to project-vc-library-roots.
7371         (project-library-roots): In addition to the renames, thread the
7372         results through file-name-as-directory.
7373         (project-prune-directories): Accept a variable number of
7374         arguments.  Rename to project-combine-directories.
7375         (project-subtract-directories): New function.
7377         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references):
7378         Append project-roots and project-library-roots together.
7380         * lisp/progmodes/etags.el (etags--xref-find-references): Ditto.
7382 2015-11-08  Paul Eggert  <eggert@cs.ucla.edu>
7384         Prefer xpalloc to doubling buffers by hand
7386         * src/lread.c (grow_read_buffer): New function, which uses xpalloc.
7387         (read1): Use it for simplicity.
7388         * src/macros.c (store_kbd_macro_char):
7389         * src/minibuf.c (read_minibuf_noninteractive):
7390         * src/term.c (encode_terminal_code):
7391         * src/xrdb.c (magic_db):
7392         Prefer xpalloc to growing buffers by hand.
7393         This doesn’t fix any bugs, but simplifies the code a bit.
7395 2015-11-08  Paul Eggert  <eggert@cs.ucla.edu>
7397         Merge from gnulib
7399         This incorporates:
7400         2015-11-05 timespec-sub: fix overflow bug; add tests
7401         2015-11-04 intprops: revise _WRAPV macros, revert _OVERFLOW
7402         2015-11-03 intprops: add parentheses
7403         * lib/intprops.h, lib/timespec-add.c, lib/timespec-sub.c:
7404         Copy from gnulib.
7406 2015-11-07  David Reitter  <david.reitter@gmail.com>
7408         Provide NS notification objects where required to eliminate warnings
7410         * nsterm.m (windowDidResize:, toggleFullScreen:):
7411         Call notification functions with notification objects
7412         as per delegate APIs.
7414 2015-11-07  Noam Postavsky  <npostavs@users.sourceforge.net>
7416         Add test for bug #21824
7418         * test/automated/buffer-tests.el: New file.
7419         (overlay-modification-hooks-message-other-buf): New test.
7421 2015-11-07  Kelvin White  <kwhite@gnu.org>
7423         * lisp/erc/erc-pcomplete.el (pcomplete-erc-nicks): Fix bug#18771.
7425 2015-11-07  David Reitter  <david.reitter@gmail.com>
7427         Ignore fullscreen exit notifications on NS when frame is dead
7429         * nsterm.m (windowDidResize:, windowWillExitFullScreen:)
7430         (windowDidExitFullScreen:): Return if frame is dead.
7431         These functions may be called when a fullscreen frame
7432         is closed; they are called before, not after.
7434         May address Bug#21428.
7436 2015-11-07  Eli Zaretskii  <eliz@gnu.org>
7438         Speed up lookup in redisplay--variables
7440         * lisp/frame.el (redisplay--variables): Make it a hash-table.
7442         * src/xdisp.c (maybe_set_redisplay): Access redisplay--variables
7443         as a hash-table.  This speeds up this function by an order of
7444         magnitude: where previously a setq was slowed down by 100% by
7445         introducing the maybe_set_redisplay test, it is now only 5%
7446         slower.
7447         (syms_of_xdisp) <redisplay--variables>: Doc fix.
7449 2015-11-07  Artur Malabarba  <bruce.connor.am@gmail.com>
7451         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Fix a bug.
7453         The defsubst was being created as:
7454             (cl-defsubst name (args) ("DOC") ...)
7456         * test/automated/cl-lib-tests.el (cl-lib-struct-constructors):
7457         Add test.
7459 2015-11-07  Mihai Olteanu  <mihai_olteanu@fastmail.fm>  (tiny change)
7461         Update doc string of hexl-mode
7463         * lisp/hexl.el (hexl-mode): Doc fix.  (Bug#21800)
7465 2015-11-07  Eli Zaretskii  <eliz@gnu.org>
7467         Fix error in copy-abbrev-table
7469         * lisp/abbrev.el (define-abbrev): Don't erase the :abbrev-table-modiff
7470         property of the abbrev-table.  (Bug#21828)
7472         * test/automated/abbrev-tests.el: New file.
7474 2015-11-07  Michael Albinus  <michael.albinus@gmx.de>
7476         Add test to auto-revert-tests.el for Bug#21841
7478         * test/automated/auto-revert-tests.el
7479         (auto-revert-test01-auto-revert-several-files): New test.
7480         (auto-revert-test02-auto-revert-tail-mode)
7481         (auto-revert-test03-auto-revert-mode-dired): Rename them.
7483 2015-11-07  Martin Rudalics  <rudalics@gmx.at>
7485         * doc/lispref/windows.texi (Coordinates and Windows): Fix typo.
7487 2015-11-07  Martin Rudalics  <rudalics@gmx.at>
7489         In x_consider_frame_title don't set title of tooltip frames
7491         * src/xdisp.c (x_consider_frame_title): Return immediately for
7492         tooltip frames to avoid displaying empty tooltips.
7494 2015-11-06  Anders Lindgren  <andlind@gmail.com>
7496         Fixed NextStep fullscreen problem (bug#21770).
7498         * src/nsterm.m (ns_constrain_all_frames): Don't constrain
7499         fullscreen frames.
7501 2015-11-06  Eli Zaretskii  <eliz@gnu.org>
7503         Ensure redisplay after evaluation
7505         * lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp):
7506         Revert last change.
7507         * lisp/frame.el (redisplay--variables): Populate the
7508         redisplay--variables list.
7509         * src/xdisp.c (maybe_set_redisplay): New function.
7510         (syms_of_xdisp) <redisplay--variables>: New variable.
7511         * src/window.h (maybe_set_redisplay): Declare prototype.
7512         * src/data.c (set_internal): Call maybe_set_redisplay.  (Bug#21835)
7514 2015-11-06  Artur Malabarba  <bruce.connor.am@gmail.com>
7516         * test/automated/subr-tests.el (subr-test-when): Fix again.
7518 2015-11-06  Eli Zaretskii  <eliz@gnu.org>
7520         Don't invoke overlay modification hooks in wrong buffer
7522         * src/buffer.c (report_overlay_modification): When called with
7523         AFTER non-zero, don't invoke overlay modification hooks if the
7524         buffer recorded in last_overlay_modification_hooks is different
7525         from the current buffer.  (Bug#21824)
7527 2015-11-06  Juanma Barranquero  <lekktu@gmail.com>
7529         * admin/notes/repo: Fix a few obsolete references to Bazaar.
7531 2015-11-06  Artur Malabarba  <bruce.connor.am@gmail.com>
7533         * test/automated/subr-tests.el (subr-test-when): Fix test.
7535 2015-11-06  Martin Rudalics  <rudalics@gmx.at>
7537         Avoid division by zero crash observed by Yuan MEI
7539         See http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg00194.html.
7541         * src/dispnew.c (required_matrix_height, required_matrix_width):
7542         Avoid division by zero.
7543         * src/xterm.c (x_term_init): Init dpyinfo->smallest_font_height and
7544         dpyinfo->smallest_char_width to 1.
7546 2015-11-06  Eli Zaretskii  <eliz@gnu.org>
7548         Ensure redisplay after "C-x C-e"
7550         * lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp): Make sure
7551         redisplay happens to account for any side effects of the evaluated
7552         sexp.  (Bug#21835)
7554 2015-11-06  Michael Albinus  <michael.albinus@gmx.de>
7556         Skip some file notification tests for cygwin
7558         * test/automated/file-notify-tests.el (file-notify--test-with-events):
7559         Remove argument TIMEOUT.  Adapt all callees.
7560         (file-notify-test02-events, file-notify-test04-file-validity):
7561         Skip for cygwin.  (Bug#21804)
7563 2015-11-05  Stephen Leake  <stephen_leake@stephe-leake.org>
7565         * lisp/progmodes/xref.el: Require semantic/symref during compilation.
7567 2015-11-05  Daiki Ueno  <ueno@gnu.org>
7569         Suppress redundant Pinentry startup messages
7571         * lisp/net/pinentry.el (pinentry-start): Add optional QUIET argument.
7572         * lisp/epg.el: Declare `pinentry-start'.
7573         (epg--start): Call `pinentry-start' with QUIET argument set.
7575 2015-11-05  Xue Fuqiao  <xfq.free@gmail.com>
7577         * doc/emacs/ack.texi (Acknowledgments): Updates.
7579 2015-11-05  Juanma Barranquero  <lekktu@gmail.com>
7581         * test/automated/elisp-mode-test.el: Silence some run-time warnings.
7582         (xref-elisp-deftest): Bind `find-file-suppress-same-file-warnings' to t.
7584 2015-11-05  Tassilo Horn  <tsdh@gnu.org>
7586         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist):
7587         Add prettification support for \times.
7589 2015-11-05  Juanma Barranquero  <lekktu@gmail.com>
7591         * test/automated/process-tests.el: Skip tests when bash is unavailable.
7592         (process-test-sentinel-accept-process-output)
7593         (process-test-sentinel-sit-for): skip-unless bash executable found.
7595 2015-11-05  Eli Zaretskii  <eliz@gnu.org>
7597         Add test for bug #21831
7599         * test/automated/process-tests.el
7600         (start-process-should-not-modify-arguments): New test.  (Bug#21831)
7601         Suggested by Nicolas Richard <youngfrog@members.fsf.org>
7603 2015-11-04  Stefan Monnier  <monnier@iro.umontreal.ca>
7605         * lisp/emacs-lisp/eieio-compat.el: Typo caught by tests.
7607         (eieio--generic-static-object-generalizer): Fix typo.
7608         * test/automated/eieio-tests.el: Byte-compile it again.  It looks
7609         like the underlying cause of bug#17852 was fixed in the mean time.
7611 2015-11-04  Artur Malabarba  <bruce.connor.am@gmail.com>
7613         Revert "* lisp/subr.el (when): Use `macroexp-progn'"
7615         This reverts commit 8e843831eaf271801836b7a3e4dd3b4fb0bb72b8.
7616         It breaks bootstrapping (duh).
7618 2015-11-04  Artur Malabarba  <bruce.connor.am@gmail.com>
7620         * lisp/files.el (report-errors): Obsolete.
7622         (normal-mode, hack-local-variables, dir-locals-find-file):
7623         Use `with-demoted-errors' instead.
7625 2015-11-04  Artur Malabarba  <bruce.connor.am@gmail.com>
7627         * lisp/subr.el (when): Use `macroexp-progn'.
7629         * test/automated/subr-tests.el (subr-test-when): New test.
7631 2015-11-04  Juanma Barranquero  <lekktu@gmail.com>
7633         * lisp/progmodes/xref.el: Doc fixes.
7634         (xref-make-file-location, xref-make-buffer-location, xref-make)
7635         (xref-make-bogus-location, xref-make-match): Add cross-references.
7636         (xref--insert-xrefs): Fix typo in docstring.
7638 2015-11-04  Anders Lindgren  <andlind@gmail.com>
7640         Render fringe bitmaps correctly on NextStep (bug#21301)
7642         The fringe bitmaps were inverted, the background was not transparent,
7643         the image data was horizontally mirrored, and periodic fringe bitmaps
7644         were not supported.
7646         * src/nsimage.m ([EmacsImage initFromXBM:width:height:fg:bg:]):
7647         When both background and foreground colors are 0, set the background
7648         alpha channel to 0 (making the background transparent).  When
7649         copying the image data, do this from the most significant bit
7650         (leftmost) to the least (rightmost), to avoid mirroring.
7651         * src/nsterm.m (ns_draw_fringe_bitmap): Don't invert the image bits.
7652         Add support for periodic images (e.g. the empty line indicator).
7654 2015-11-03  Michael Heerdegen  <michael_heerdegen@web.de>
7656         * lisp/emacs-lisp/pcase.el (pcase): Tweak docstring.
7658 2015-11-03  Nicolas Petton  <nicolas@petton.fr>
7660         * admin/MAINTAINERS: Add seq-tests.el, map-tests.el, and thunk-tests.el.
7662         * admin/MAINTAINERS: Add thunk.el.
7664 2015-11-03  Jay Belanger  <jay.p.belanger@gmail.com>
7666         * lisp/calc/calc (calc-bug-address): Change maintainer address.
7668 2015-11-03  Michael Albinus  <michael.albinus@gmx.de>
7670         Fix a stupid error in gfilenotify.c
7672         * src/gfilenotify.c (dir_monitor_callback): Cancel monitor only,
7673         if we've got a `deleted' signal AND the file name is the watched one.
7675 2015-11-03  Stephen Leake  <stephen_leake@stephe-leake.org>
7677         Fix Bug#21816; case insensitive file system in elisp-mode-tests.el
7679         * test/automated/elisp-mode-tests.el (xref-elisp-test-run):
7680         Use case-insensitive string compare for file names.
7681         (emacs-test-dir): Add 'downcase' to cause case differences (at
7682         least on my system).
7684 2015-11-02  Juanma Barranquero  <lekktu@gmail.com>
7686         flymake-tests.el (warning-predicate-rx-gcc): Fix check
7688         * test/automated/flymake-tests.el (warning-predicate-rx-gcc):
7689         Also check that "make" is available, not just "gcc".
7691 2015-11-02  Ken Brown  <kbrown@cornell.edu>
7693         Document behavior of collation on Cygwin
7695         * test/automated/fns-tests.el (fns-tests-collate-sort): Mark as
7696         expected failure on Cygwin.
7697         * doc/lispref/strings.texi (Text Comparison): Document that
7698         punctuation and whitespace are not ignored for sorting on Cygwin.
7700 2015-11-02  Dani Moncayo  <dmoncayo@gmail.com>
7702         * build-aux/msys-to-w32: Prevent double slashes in w32 path list.
7704 2015-11-01  Glenn Morris  <rgm@gnu.org>
7706         * lisp/progmodes/f90.el (f90-no-block-limit): Add associate.
7707         (Bug#21794)
7708         * test/automated/f90.el (f90-test-bug21794): New test.
7710 2015-11-01  Juanma Barranquero  <lekktu@gmail.com>
7712         Fix incompatibility with TCC in test for bug#18745
7714         * test/automated/process-tests.el (process-test-quoted-batfile):
7715         Remove spaces unrelated to the bug being tested.
7717 2015-11-01  Michael Albinus  <michael.albinus@gmx.de>
7719         Improve completion in tramp-gvfs.el
7721         * lisp/net/tramp-gvfs.el (tramp-zeroconf-parse-device-names):
7722         Rename from `tramp-zeroconf-parse-service-device-names'.
7723         (tramp-zeroconf-parse-webdav-device-names): Remove.  Code merged
7724         with `tramp-zeroconf-parse-device-names'.
7725         (tramp-gvfs-parse-device-names): New defun.
7726         (top): Use it when `tramp-zeroconf-parse-device-names' is not
7727         applicable.
7729         * lisp/net/tramp.el (tramp-set-completion-function): The argument
7730         could also be a zeroconf service type.
7732 2015-10-31  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
7734         * lisp/net/ntlm.el: Change version to 2.0.0.
7736 2015-10-31  Juanma Barranquero  <lekktu@gmail.com>
7738         Fix bug#21762
7739         * lisp/progmodes/python.el (python-syntax-closing-paren-p): Check with
7740         `eql' instead of `=' to accommodate the case that (syntax-after (point))
7741         returns nil.
7742         * test/automated/python-tests.el (python-indent-inside-paren-7):
7743         New test.
7745 2015-10-31  Juanma Barranquero  <lekktu@gmail.com>
7747         * test/automated/python-tests.el: Avoid warnings.
7748         (python-tests-with-temp-buffer, python-tests-with-temp-file):
7749         Bind `python-indent-guess-indent-offset' to nil.
7751 2015-10-31  Juanma Barranquero  <lekktu@gmail.com>
7753         * src/alloc.c: Silence compiler warnings.
7754         (pointers_fit_in_lispobj_p, mmap_lisp_allowed_p): #ifdef DOUG_LEA_MALLOC.
7756 2015-10-31  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
7758         * etc/NEWS: Fix js-jsx-mode entry punctuation.
7760 2015-10-31  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
7762         Add JSX indentation via js-jsx-mode  (Bug#21799)
7764         * progmodes/js.el: Add JSX indentation support.
7765         (js--jsx-end-tag-re)
7766         (js--jsx-after-tag-re): New variables.
7767         (js--jsx-find-before-tag)
7768         (js--jsx-indented-element-p)
7769         (js--as-sgml)
7770         (js--expression-in-sgml-indent-line)
7771         (js-jsx-indent-line)
7772         (js-jsx-mode): New functions.
7773         * test/indent/js-jsx.el: New file.
7774         * etc/NEWS: Add information about js-jsx-mode.
7776 2015-10-31  Michael Albinus  <michael.albinus@gmx.de>
7778         Minor fix in filenotify.el
7780         * lisp/filenotify.el (file-notify--event-file-name)
7781         (file-notify--event-file1-name): Normalize result with
7782         `directory-file-name'.
7784 2015-10-31  Eli Zaretskii  <eliz@gnu.org>
7786         Avoid errors in redisplay--pre-redisplay-functions
7788         * lisp/emacs-lisp/cursor-sensor.el (cursor-sensor--detect): Don't
7789         use 'bobp', instead compare window-point with 1.  (Bug#21730)
7791 2015-10-30  Paul Eggert  <eggert@cs.ucla.edu>
7793         Merge from gnulib
7795         This incorporates:
7796         2015-10-30 intprops: add WRAPV and const flavors for GCC 5
7797         2015-10-25 stdalign: port to Sun C 5.9
7798         * doc/misc/texinfo.tex, lib/intprops.h, lib/stdalign.in.h:
7799         Copy from gnulib.
7801 2015-10-30  Eli Zaretskii  <eliz@gnu.org>
7803         * src/w32proc.c (_NLSCMPERROR): Fix a typo in the name of this macro.
7804         (w32_compare_strings): Adjust for the correction.
7806 2015-10-30  Michael Albinus  <michael.albinus@gmx.de>
7808         * test/automated/vc-tests.el (vc-test--state)
7809         (vc-test--working-revision, vc-test--checkout-model):
7810         Add result messages.
7812 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
7814         * test/automated/faces-tests.el: Add another test
7816 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
7818         * lisp/faces.el (faces--attribute-at-point): Fix bug
7819         introduced by previous commit.
7821 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
7823         * test/automated/faces-tests.el: New file.
7825 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
7827         * lisp/faces.el: Refactor common code and fix a bug.
7828         (faces--attribute-at-point): New function.  Fix a bug when the
7829         face at point is a list of faces and the desired attribute is not
7830         on the first one.
7831         (foreground-color-at-point, background-color-at-point): Use it.
7833 2015-10-30  Przemysław Wojnowski  <esperanto@cumego.com>
7835         * etc/tutorials/TUTORIAL.translators: Fix PL names.
7837 2015-10-30  Juanma Barranquero  <lekktu@gmail.com>
7839         * lisp/character-fold.el: Provide `character-fold'.
7841 2015-10-30  Tassilo Horn  <tsdh@gnu.org>
7843         * etc/themes/tsdh-dark-theme.el (tsdh-dark): Add more faces
7844         for Gnus and ivy.
7846 2015-10-30  Michael Albinus  <michael.albinus@gmx.de>
7848         Some minor fixes for tramp-gvfs.el
7850         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
7851         An attribute returned by gvfs-info might be empty.  In case of
7852         undetermined uid or gid, return "UNKNOWN" or -1, respectively.
7853         (tramp-zeroconf-parse-service-device-names): New defun.
7854         Derived from `tramp-zeroconf-parse-workstation-device-names'.
7855         (top): Add completion functions for "afp" and "smb" methods.
7857 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
7859         * test/automated/character-fold-tests.el: New file
7861 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
7863         * test/automated/sort-tests.el: New file.
7864         Tests in this file are randomly generated and then tested with
7865         regular, reverse, and case-fold sorting.
7867 2015-10-30  Eli Zaretskii  <eliz@gnu.org>
7869         Describe known problems with pinning Emacs to taskbar
7871         * etc/PROBLEMS: Describe the problem with pinning Emacs to taskbar
7872         on Windows 10.  For the details, see the discussion starting at
7873         http://lists.gnu.org/archive/html/help-emacs-windows/2015-09/msg00000.html.
7875 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
7877         * lisp/isearch.el: Avoid an error that blocks isearch.
7878         (isearch-update): Don't error if `isearch--current-buffer' has
7879         been killed.
7881         * test/automated/isearch-tests.el (isearch--test-update):
7882         New file.
7884 2015-10-30  Phil Sainty  <psainty@orcon.net.nz>
7886         Fix documentation of 'beginning/end-of-buffer'
7888         * lisp/simple.el (beginning-of-buffer, end-of-buffer): Clarify
7889         conditions under which the mark will be pushed at the previous
7890         position.  (Bug#21748)
7892 2015-10-30  Tassilo Horn  <tsdh@gnu.org>
7894         Add RefTeX feature idea: editing RefTeX TOC buffers
7896         More face defs for ivy, swiper, ace-window, eshell
7898 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
7900         * lisp/gnus/auth-source.el: Silence lexical-binding warnings.
7901         (auth-source-netrc-use-gpg-tokens): Simplify (symbol-value 'VAR) to
7902         just VAR.
7903         (auth-source-backend-parse): Use make-instance.
7904         (auth-source-search): Remove unused key args.
7905         Remove unused vars `accessor-key' and `backend'.  Avoid `eval'.
7906         (auth-source-search-backends): Use slot names rather than their initarg.
7907         (auth-source-netrc-create):
7908         (auth-source-delete):
7909         (auth-source-secrets-create, auth-source-plstore-search)
7910         (auth-source-macos-keychain-create, auth-source-macos-keychain-search)
7911         (auth-source-plstore-create, auth-source-netrc-search)
7912         (auth-source-netrc-parse): Remove unused key args.
7913         (auth-source-forget+): Simplify the arglist.
7914         (auth-source-macos-keychain-search-items)
7915         (auth-source-token-passphrase-callback-function): Mark unused args.
7916         (auth-source-epa-extract-gpg-token): Remove unused var `plain'.
7917         (pp-escape-newlines): Declare.
7918         (auto-source--symbol-keyword): New function.
7919         (auth-source-plstore-create, auth-source-netrc-create)
7920         (auth-source-netrc-normalize): Use it.
7921         (auth-source-netrc-search): Don't pass :delete to
7922         auth-source-netrc-parse since it doesn't use it.
7923         (auth-source-plstore-create, auth-source-netrc-create): Use plist-get
7924         symbol-value to index in keyword args.
7925         (auth-source-macos-keychain-result-append): Avoid setq.
7926         (auth-source-netrc-create): Remove unused vars `file' and `add'.
7927         (auth-source-user-or-password): Remove unused var `cname'.
7929 2015-10-29  Juri Linkov  <juri@linkov.net>
7931         * lisp/dired.el (dired-unmark-all-files-query): Declare.
7932         (dired-unmark-all-files): Let-bind it and use instead of ‘query’.
7933         (Bug#21746)
7935 2015-10-29  Juri Linkov  <juri@linkov.net>
7937         * lisp/ielm.el (ielm-indent-line): Use non-nil arg of comint-bol
7938         to go to the beginning of text line instead of command line.
7939         http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02360.html
7941 2015-10-29  Eli Zaretskii  <eliz@gnu.org>
7943         Fix encoding of saving *Help* buffers
7945         * lisp/help-fns.el (describe-function-1): If we use curved quotes,
7946         set help buffer's buffer-file-coding-system to UTF-8.  (Bug#21780)
7948 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
7950         * lisp/emacs-lisp/cl-generic.el: Add (major-mode MODE) context.
7951         (cl--generic-derived-specializers): New function.
7952         (cl--generic-derived-generalizer): New generalizer.
7953         (cl-generic-generalizers): New specializer (derived-mode MODE).
7954         (cl--generic-split-args): Apply the rewriter, if any.
7955         (cl-generic-define-context-rewriter): New macro.
7956         (major-mode): Use it to define a new context-rewriter, so we can write
7957         `(major-mode MODE)' instead of `(major-mode (derived-mode MODE))'.
7959         * lisp/frame.el (window-system): New context-rewriter so we can write
7960         `(window-system VAL)' instead of (window-system (eql VAL)).
7961         (cl--generic-split-args): Apply the rewriter, if any.
7962         (frame-creation-function): Use the new syntax.
7964         * lisp/term/x-win.el (window-system-initialization)
7965         (handle-args-function, frame-creation-function)
7966         (gui-backend-set-selection, gui-backend-selection-owner-p)
7967         (gui-backend-selection-exists-p, gui-backend-get-selection):
7968         * lisp/term/w32-win.el (window-system-initialization)
7969         (handle-args-function, frame-creation-function)
7970         (gui-backend-set-selection, gui-backend-get-selection)
7971         (gui-backend-selection-owner-p, gui-backend-selection-exists-p):
7972         * lisp/term/pc-win.el (gui-backend-get-selection)
7973         (gui-backend-selection-exists-p, gui-backend-selection-owner-p)
7974         (gui-backend-set-selection, window-system-initialization)
7975         (frame-creation-function, handle-args-function):
7976         * lisp/term/ns-win.el (window-system-initialization)
7977         (handle-args-function, frame-creation-function)
7978         (gui-backend-set-selection, gui-backend-selection-exists-p)
7979         (gui-backend-get-selection):
7980         * lisp/startup.el (handle-args-function):
7981         * lisp/term/xterm.el (gui-backend-get-selection)
7982         (gui-backend-set-selection): Use the new syntax.
7984 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
7986         * test/indent/css-mode.css: Add tests for url(...) syntax.
7988 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
7990         * lisp/emacs-lisp/smie.el: Use `declare' for `pure'.
7991         (smie-precs->prec2, smie-merge-prec2s, smie-bnf->prec2)
7992         (smie-prec2->grammar): Use `declare'.
7994 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
7996         * lisp/emacs-lisp/cl-generic.el: Accommodate future changes.
7997         (cl--generic-generalizer): Add `name' field.
7998         (cl-generic-make-generalizer): Add corresponding `name' argument.
7999         (cl-generic-define-generalizer): New macro.
8000         (cl--generic-head-generalizer, cl--generic-eql-generalizer)
8001         (cl--generic-struct-generalizer, cl--generic-typeof-generalizer)
8002         (cl--generic-t-generalizer): Use it.
8003         (cl-generic-ensure-function): Add `noerror' argument.
8004         (cl-generic-define): Use it so we don't follow aliases.
8005         (cl-generic-define-method): Preserve pre-existing ordering of methods.
8006         (cl--generic-arg-specializer): New function.
8007         (cl--generic-cache-miss): Use it.
8008         (cl-generic-generalizers): Only fset a temporary definition
8009         during bootstrap.
8010         (cl--generic-struct-tag, cl--generic-struct-specializers):
8011         Allow extra arguments.
8013         * lisp/emacs-lisp/eieio-compat.el
8014         (eieio--generic-static-symbol-generalizer)
8015         (eieio--generic-static-object-generalizer):
8016         Use cl-generic-define-generalizer.
8017         (eieio--generic-static-symbol-specializers): Allow extra arguments.
8019         * lisp/emacs-lisp/eieio-core.el (eieio--generic-generalizer)
8020         (eieio--generic-subclass-generalizer):
8021         Use cl-generic-define-generalizer.
8022         (eieio--generic-subclass-specializers): Allow extra arguments.
8024 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
8026         * lisp/emacs-lisp/bytecomp.el (compile-defun): Add defvars in scope.
8028 2015-10-29  Michael Albinus  <michael.albinus@gmx.de>
8030         Add "afp" method to Tramp
8032         * doc/misc/tramp.texi (GVFS based methods): Describe `afp' method.
8034         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods): Add "afp" method.
8035         (tramp-gvfs-handle-expand-file-name)
8036         (tramp-gvfs-handler-mounted-unmounted)
8037         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec)
8038         (tramp-gvfs-maybe-open-connection): Support also "afp".
8039         (tramp-gvfs-handle-file-attributes): Handle the case of empty
8040         "owner::user" and "owner::group" entries.
8042 2015-10-29  Andy Moreton  <andrewjmoreton@gmail.com>
8044         Handle negative coordinates in ‘x_calc_absolute_position’
8046         * src/w32term.c (x_calc_absolute_position): Find display origin to
8047         allow for negative coordinates.
8049 2015-10-28  Stefan Monnier  <monnier@iro.umontreal.ca>
8051         (internal--syntax-propertize): Save match-data here (bug#21766)
8053         * lisp/emacs-lisp/syntax.el (internal--syntax-propertize): Save match-data.
8054         * lisp/simple.el (delete-trailing-whitespace): Undo last change.
8056 2015-10-28  Dmitry Gutov  <dgutov@yandex.ru>
8058         Don't require default-directory to end with a slash
8060         * doc/lispref/files.texi (Magic File Names): Document the change
8061         in unhandled-file-name-directory.
8063         * lisp/url/url-handlers.el
8064         (url-handler-unhandled-file-name-directory): Update accordingly.
8066         * src/buffer.c (default-directory): Update the docsting.
8068         * src/fileio.c (unhandled-file-name-directory): Default to calling
8069         `file-name-as-directory'
8070         (http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02294.html).
8072 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
8074         * lisp/isearch.el: Delete some outdated comments.
8076 2015-10-28  Vibhav Pant  <vibhavp@gmail.com>
8078         Fix eshell/clear not working if the output has a small line count
8080         * lisp/eshell/esh-mode.el (eshell/clear): Use (window-size) as the
8081         number of newlines to be inserted. This fixes the issue where
8082         eshell/clear wouldn't work if the prompt was not at the bottom of the
8083         window, and the output wasn't too long.
8085 2015-10-28  Stefan Monnier  <monnier@iro.umontreal.ca>
8087         * lisp/files.el (write-file): Use vc-refresh-state.
8089         * lisp/autorevert.el (auto-revert-handler): Use vc-refresh-state.
8091         * lisp/vc/pcvs.el (cvs-revert-if-needed): Use vc-refresh-state.
8093 2015-10-28  Stefan Monnier  <monnier@iro.umontreal.ca>
8095         * lisp/emacs-lisp/macroexp.el: Tweak macroexp-if optimizations.
8096         (macroexp-unprogn): Make sure we never return an empty list.
8097         (macroexp-if): Remove unused (and unsafe) optimization.
8098         Optimize (if A T (if B T E)) into (if (or A B) T E) instead, which does
8099         occur occasionally.
8101 2015-10-28  Juanma Barranquero  <lekktu@gmail.com>
8103         Fix bug#21766 and add test
8104         * lisp/simple.el (delete-trailing-whitespace): Save match data when
8105         calling `skip-syntax-backward'.
8106         * test/automated/simple-test.el (simple-delete-trailing-whitespace):
8107         New test.
8109 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
8111         * doc/lispref/sequences.texi (Sequence Functions): Fix typo.
8113 2015-10-28  Paul Eggert  <eggert@cs.ucla.edu>
8115         * src/dispnew.c (init_display): Simplify overflow checking.
8117 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
8119         * lisp/character-fold.el (character-fold-to-regexp): Fix case
8120         where string ends in space
8122 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
8124         * lisp/emacs-lisp/seq.el (seq-mapn): New function.
8126         * doc/lispref/sequences.texi (Sequence Functions): Document seq-mapn.
8128 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
8130         * lisp/character-fold.el: Make compatible with lax-whitespace.
8131         (character-fold-to-regexp): Rework internals to play nice with
8132         lax-whitespacing.
8134         When the user types a space, we want to match the table entry for
8135         ?\s, which is generally a regexp like "[ ...]".  However, the
8136         `search-spaces-regexp' variable doesn't "see" spaces inside these
8137         regexp constructs, so we need to use "\\( \\|[ ...]\\)" instead (to
8138         manually expose a space).
8140         Furthermore, the lax search engine acts on a bunch of spaces, not
8141         on individual spaces, so if the string contains sequential spaces
8142         like "  ", we need to keep them grouped together like this:
8143         "\\(  \\|[ ...][ ...]\\)".
8145 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
8147         * lisp/isearch.el: Refactor momentary messages.
8148         (isearch--momentary-message): New function.
8149         (isearch-toggle-lax-whitespace, isearch-toggle-case-fold)
8150         (isearch-toggle-invisible): Use it.
8152 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
8154         * lisp/isearch.el: Define all toggles with `isearch-define-mode-toggle'.
8155         (isearch-define-mode-toggle): New macro.
8156         (isearch-toggle-invisible): Rename to
8157         `isearch-define-mode-toggle'.
8158         (isearch-toggle-case-fold, isearch-toggle-invisible)
8159         (isearch-toggle-regexp, isearch-toggle-lax-whitespace): Define
8160         with `isearch-define-mode-toggle'.
8162 2015-10-28  Michael Albinus  <michael.albinus@gmx.de>
8164         Avoid using `add-to-list' on a let-local var in tramp-smb.el
8166         * lisp/net/tramp-compat.el (tramp-compat-delete-dups): New defun.
8167         * lisp/net/tramp-smb.el (tramp-smb-handle-directory-files): Use it.
8169 2015-10-28  Michael Albinus  <michael.albinus@gmx.de>
8171         * lisp/net/tramp-smb.el (tramp-smb-handle-directory-files):
8172         Revert 692bce5b9eccfae19ae2a5a23a9ccd8d6bf86076, `delete-dups'
8173         does not exist in XEmacs 21.4.
8175 2015-10-28  Anders Lindgren  <andlind@gmail.com>
8177         Fixed OS X startup crash
8179         Input events started to arrive before ns_term_init() was finished.
8180         Solved by blocking input.  This also seems to correct the "You
8181         can't open the application "Emacs" because it may be damaged or
8182         incomplete" error issued when double-clicking on the Emacs
8183         application.
8185         * nsterm.m (ns_constrain_all_frames, ns_init_term): Block input.
8186         * nsterm.m (ns_send_appdefined, EmacsApp): Trace output.
8188 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
8190         * src/process.c (Fget_buffer_process): Improve docstring.
8191         Document the fact that it doesn't return dead processes.
8193 2015-10-28  Anders Lindgren  <andlind@gmail.com>
8195         Fix incorrect NextStep tool-bar-mode -- wrong number of rows in frame.
8197         * nsterm.h (struct ns_output): New flag, in_animation.
8198         * nsfns.m (Fx_create_frame): Initialize in_animation flag.
8199         * nsmenu.m (free_frame_tool_bar, update_frame_tool_bar): Set
8200         in_animation flag around call to "setVisible". Set new tool bar
8201         height before call to setVisible.
8202         * nsterm.m (x_set_window_size): Don't call [view setRow:
8203         andColumns:] as this fools the subsequent call to updateFrameSize
8204         from performing the real resize.
8205         (windowDidResize): Don't update anything when in_animation is
8206         non-zero.
8208         Trace output.
8210         * nsmenu.m (free_frame_tool_bar, update_frame_tool_bar)
8211         (EmacsToolbar):
8212         * nsterm.m (x_set_window_size, updateFrameSize)
8213         ([EmacsView setRows: andColumns:])
8215 2015-10-28  Nicolas Petton  <nicolas@petton.fr>
8217         * lisp/emacs-lisp/thunk.el (thunk-delay): Fix the macro.
8219 2015-10-28  Tassilo Horn  <tsdh@gnu.org>
8221         Prettify TeX macros not ending in a word char
8223         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p):
8224         Prettify macros which don't end in a word character.
8226 2015-10-27  Dmitry Gutov  <dgutov@yandex.ru>
8228         Pipe Hg commit descriptions through 'tabindent'
8230         * lisp/vc/vc-hg.el (vc-hg-log-format): Pipe commit description
8231         through 'tabindent'.
8232         (vc-hg-log-view-mode): Set tab-width to 2 locally.
8233         (http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02259.html)
8235 2015-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>
8237         * lisp/net/tramp-smb.el: Avoid using `add-to-list' on a let-local var.
8238         (tramp-smb-handle-directory-files): Use `delete-dups'.
8240         * lisp/net/tramp.el (auto-save-file-name-transforms): Declare.
8242 2015-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>
8244         * lisp/international/ccl.el: Use lexical-binding.
8245         (ccl-compile-if): Remove unused var `false-ic'.
8246         (ccl-compile-write-repeat): Remove unused var `i'.
8247         (ccl-compile-map-single): Remove unused var `id'.
8248         (ccl-dump, ccl-dump-binary): Use explicit let-binding to bind the
8249         dynamic var `ccl-code'.
8251 2015-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>
8253         * lisp/json.el (json-new-object): Optimize trivial `list' call.
8255 2015-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>
8257         * lisp/help.el: Fix bug with incorrect arglist string.
8258         (help-add-fundoc-usage): Don't mistake a mis-formatted string
8259         for a list.
8261 2015-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>
8263         * lisp/gnus/gnus-topic.el: Silence some warnings.
8264         (gnus-topic-prepare-topic): Remove unused var `topic'.
8265         (gnus-topic-remove-topic): Mark unused arg `hide'.
8266         (gnus-tmp-header): Declare.
8267         (gnus-topic-goto-missing-group): Remove unused var `entry'.
8268         (gnus-topic-unmark-topic): Mark unused arg `dummy'.
8269         (gnus-topic-copy-matching): Mark unused arg `copyp'.
8270         Move initialization of `topic' into its declaration.
8272 2015-10-27  Stephen Leake  <stephen_leake@stephe-leake.org>
8274         Minor CEDET fixes
8276         * lisp/cedet/cedet-global.el (cedet-gnu-global-gtags-call):
8277         Handle warnings from gtags about invalid options.
8278         (cedet-gnu-global-create/update-database): Do incremental update
8279         properly.
8281         * lisp/cedet/ede/generic.el (ede-enable-generic-projects):
8282         Get monotone root right.
8284 2015-10-27  Michael Albinus  <michael.albinus@gmx.de>
8286         Fall back to polling in autorevert when needed
8288         * lisp/autorevert.el (auto-revert-notify-handler): When a
8289         `stopped' event arrives from file notification, fall back to polling.
8291         * test/automated/file-notify-tests.el
8292         (file-notify-test03-autorevert): Extend test for polling when file
8293         notification ceases to work.
8295 2015-10-27  Dmitry Gutov  <dgutov@yandex.ru>
8297         Show full commit messages in 'hg log' when appropriate
8299         * lisp/vc/vc-hg.el (vc-hg-log-format): New variable.
8300         (vc-hg-print-log, vc-hg-expanded-log-entry): Use it.
8301         (http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02191.html)
8303 2015-10-27  Nicolas Petton  <nicolas@petton.fr>
8305         Use a plain SVG file for the icon
8307         * etc/images/icons/hicolor/scalable/apps/emacs.svg: Use a plain SVG
8308           format instead of the Inkscape SVG format.
8310 2015-10-27  Michael Albinus  <michael.albinus@gmx.de>
8312         Fix subtle bug in auto-revert-tests.el
8314         * test/automated/auto-revert-tests.el
8315         (auto-revert-test02-auto-revert-mode-dired): Narrow *Messages*
8316         buffer where it belongs to.  (Bug#21668)
8318 2015-10-26  Nicolas Petton  <nicolas@petton.fr>
8320         * lisp/emacs-lisp/map.el: Better docstrings.
8322         * lisp/emacs-lisp/seq.el: Better docstrings.
8324         * lisp/emacs-lisp/seq.el: Rename all seq arguments to sequence.
8326 2015-10-26  Phillip Lord  <phillip.lord@russet.org.uk>
8328         * lisp/emacs-lisp/ert.el: Print results without newline escaping.
8330 2015-10-26  Stephen Leake  <stephen_leake@stephe-leake.org>
8332         Clarify that load-path contents should be directory file names
8334         * doc/lispref/files.texi (Directory Names): Define and use "directory
8335         file name".  Recommend `expand-file-name'.
8337         * src/lread.c (load-path): Fix doc string; elements are directory file
8338         names.
8340 2015-10-26  Eli Zaretskii  <eliz@gnu.org>
8342         Fix simple-test.el test
8344         * test/automated/simple-test.el (simple-test--dummy-buffer):
8345         Make sure indentation doesn't use TABs, otherwise the 6th test
8346         might fail.
8348 2015-10-26  Mark Oteiza  <mvoteiza@udel.edu>
8350         * lisp/net/eww.el (eww-bookmark-prepare): Use truncate-string-to-width.
8351         `substring' does not account for full width characters.
8353 2015-10-26  Michael Albinus  <michael.albinus@gmx.de>
8355         Further work on `stopped' events in filenotify.el
8357         * doc/lispref/os.texi (File Notifications): Rework examples.
8359         * lisp/filenotify.el (file-notify--rm-descriptor): Optional parameter.
8360         (file-notify--rm-descriptor, file-notify-callback): Improve check
8361         for sending `stopped' event.
8362         (file-notify-add-watch): Check for more events for `inotify'.
8364         * test/automated/file-notify-tests.el
8365         (file-notify--test-expected-events): New defvar.
8366         (file-notify--test-with-events): Use it.
8367         (file-notify--test-cleanup): Make it more robust when deleting
8368         directories.
8369         (file-notify--test-event-test): Check also for watched directories.
8370         (file-notify--test-event-handler): Suppress temporary .#files.
8371         (file-notify-test02-events, file-notify-test04-file-validity):
8372         Rework `stopped' events.
8373         (file-notify-test05-dir-validity): Wait for events when appropriate.
8375 2015-10-26  Artur Malabarba  <bruce.connor.am@gmail.com>
8377         * src/keyboard.c (post-command-hook): Shorten docstring.
8379 2015-10-26  Tassilo Horn  <tsdh@gnu.org>
8381         Fix infinite loop in sh-script's SMIE code
8383         * lisp/progmodes/sh-script.el (sh-smie-sh-forward-token): Fix infinite
8384         loop (bug#21747).
8386 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
8388         * lisp/isearch.el (search-default-regexp-mode): Revert to nil.
8389         Character-fold search _still_ doesn't play well with
8390         lax-whitespace.  So disable it by default (again) for now.
8392 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
8394         * lisp/isearch.el: No visual feedback for default search mode.
8395         During an isearch where character-folding is the default, we don't
8396         want to take up minibuffer space just to tell the user that
8397         "Char-fold " is on.  The same goes for other modes, if the user
8398         changes the default.  In contrast, if the user toggles OFF the
8399         default mode, they should see "Literal", to distinguish it from
8400         the default mode.
8401         (isearch--describe-regexp-mode): Return "" if describing the
8402         default mode, and return "literal " if describing a plain search
8403         and it is not default.
8405 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
8407         * test/automated/simple-test.el: New file.
8408         Define tests for `newline' and `open-line'.
8410 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
8412         * lisp/simple.el (open-line): Integrate with electric-indent-mode.
8413         Also run `post-self-insert-hook' when called interactively.
8415 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
8417         * lisp/simple.el (open-line): Fix docstring.
8418         Also explain apparently redundant line.
8420 2015-10-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
8421             Alexandru Harsanyi  <AlexHarsanyi@gmail.com>
8423         Sync with soap-client repository, version 3.0.1
8425         * lisp/net/soap-client.el, lisp/net/soap-inspect.el:
8426         Bump version to 3.0.1.
8428         * lisp/net/soap-client.el, lisp/net/soap-inspect.el: Update home page.
8430 2015-10-25  Eli Zaretskii  <eliz@gnu.org>
8432         * lisp/progmodes/grep.el (grep): Doc fix.  (Bug#21754)
8434 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
8436         * src/keyboard.c (post-command-hook): Extend the docstring.
8437         Mainly, explain how to use it without hanging Emacs, or giving the
8438         impression that it is hanging.  Also mention `pre-command-hook'.
8439         (pre-command-hook): Mention `post-command-hook'.
8441 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
8443         * lisp/custom.el (custom-declare-variable): Shorten code again.
8444         Without using pcase this time.  We can't use pcase because it is
8445         loaded after custom in loadup.el.  Also add a comment explaining
8446         this to future dummies like me.
8448 2015-10-25  Michael Albinus  <michael.albinus@gmx.de>
8450         * doc/lispref/os.texi (File Notifications): Document `stopped event'.
8452 2015-10-25  Michael Albinus  <michael.albinus@gmx.de>
8454         Introduce `stopped' event in file notification
8456         * lisp/filenotify.el (file-notify--rm-descriptor): New defun.
8457         (file-notify-rm-watch): Use it.
8458         (file-notify-callback): Implement `stopped' event.
8459         (file-notify-add-watch): Mention `stopped' in the docstring.
8460         Check, that upper directory exists.
8462         * test/automated/file-notify-tests.el (file-notify-test01-add-watch):
8463         Add two test cases.
8464         (file-notify-test02-events): Handle also `stopped' event.
8465         (file-notify-test04-file-validity): Add another test case.
8467 2015-10-25  Paul Eggert  <eggert@cs.ucla.edu>
8469         Revert commit that broke 'make bootstrap'
8471         * lisp/custom.el (custom-declare-variable): Revert commit
8472         79fac080d277fed07b3c192890ad59d36d9f83b6.  custom.el needs to work
8473         even when pcase has not been defined yet, when doing bootstrapping.
8475 2015-10-25  Paul Eggert  <eggert@cs.ucla.edu>
8477         Port recent inline functions fix to Standard C
8479         * src/lisp.h (LISP_MACRO_DEFUN, LISP_MACRO_DEFUN_VOID): Remove.
8480         All uses rewritten to define the function directly rather than to
8481         use a macro to define the function.  This conforms to Standard C,
8482         which does not allow stray semicolons at the top level.  I hope it
8483         also avoids the problems with TAGS.  Those macros, though clever,
8484         were pretty confusing anyway, and it wasn’t clear they were worth
8485         the aggravation even without the TAGS problem.
8487 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
8489         * lisp/isearch.el: Make character-fold search the default again.
8491 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
8493         * lisp/character-fold.el: Many improvements.
8494         (character-fold-search-forward, character-fold-search-backward):
8495         New command.
8496         (character-fold-to-regexp): Remove lax-whitespace hack.
8497         (character-fold-search): Remove variable.  Only isearch and
8498         query-replace use char-folding, and they both have their own
8499         variables to configure that.
8501 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
8503         * lisp/isearch.el: Generalize definition of regexp-function toggles.
8504         (isearch-specify-regexp-function): New macro for specifying
8505         possible values of `isearch-regexp-function'.
8506         (isearch-toggle-character-fold, isearch-toggle-symbol)
8507         (isearch-toggle-word): Define with `isearch-specify-regexp-function'.
8509 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
8511         * lisp/isearch.el (search-default-regexp-mode): New variable.
8512         (isearch-mode): Use it.
8514 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
8516         * lisp/isearch.el (search-exit-option, search-slow-window-lines)
8517         (search-slow-speed, search-upper-case)
8518         (search-nonincremental-instead, search-whitespace-regexp)
8519         (search-invisible, isearch-hide-immediately)
8520         (isearch-resume-in-command-history, search-ring-max)
8521         (regexp-search-ring-max, search-ring-update, search-highlight)
8522         (isearch-fail): Delete :group entries.
8524 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
8526         * lisp/custom.el (custom-declare-variable): Shorten code a bit.
8528 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
8530         addpm.c: Silence some warnings.
8532         * nt/addpm.c (DdeCommand): Cast pData argument of DdeClientTransaction
8533         to LPBYTE.
8534         (add_registry): Pass NULL to optional lpClass argument of
8535         RegCreateKeyEx, not an empty string.
8537 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
8539         addpm.c: Do not add obsolete GTK libraries to the path.
8541         * nt/addpm.c (REG_GTK, REG_RUNEMACS_PATH): Delete.
8542         (add_registry): Remove variables `size' and `gtk_key'.
8543         Do not add the GTK DLL directory to the library search path; it is
8544         confusing behavior (in particular, the same Emacs version with and
8545         without invoking addpm will use a different path), and the GTK image
8546         libraries are obsolete anyway.
8548 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
8550         addpm.c: Replace existing registry entries, but do not create new ones
8552         * nt/addpm.c (add_registry): If the Emacs registry key exists, replace
8553         existing values from previous versions, but do not add new ones; the
8554         key could exist for other reasons unrelated to old Emacsen, like X-style
8555         resources, or to set some environment variables like HOME or LANG, and
8556         in that case we don't want to populate it with obsolete values.
8558 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
8560         * nt/addpm.c (add_registry): Do not compute unused return value.
8562 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
8564         addpm.c: Don't pass REG_OPTION_NON_VOLATILE to RegOpenKeyEx
8566         * nt/addpm.c (add_registry): Pass 0 to ulOptions argument of
8567         RegOpenKeyEx, not REG_OPTION_NON_VOLATILE.  This doesn't change
8568         current behavior because REG_OPTION_NON_VOLATILE is defined to
8569         be 0L anyway, but that option is actually documented only for
8570         RegCreateKeyEx.
8572 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
8574         * src/w32notify.c (Fw32notify_add_watch): Fix version check.
8576 2015-10-24  Eli Zaretskii  <eliz@gnu.org>
8578         Update frame title when redisplay scrolls selected window
8580         * src/xdisp.c (redisplay_window): Reconsider the frame's title
8581         when the mode-line of the frame's selected window needs to be
8582         updated.
8584 2015-10-24  Eli Zaretskii  <eliz@gnu.org>
8586         Update frame title when scrolling the selected window
8588         * src/window.c (wset_update_mode_line): New function, sets either
8589         the window's update_mode_line flag or the global update_mode_lines
8590         variable.
8591         (Fset_window_start, set_window_buffer, window_scroll_pixel_based)
8592         (window_scroll_line_based): Call it instead of only setting the
8593         window's update_mode_line flag.
8595 2015-10-24  Eli Zaretskii  <eliz@gnu.org>
8597         An even better fix for bug#21739
8599         * src/window.c (set_window_buffer): If the window is the frame's
8600         selected window, set update_mode_lines, not the window's
8601         update_mode_line flag.
8602         * src/buffer.c (Fkill_buffer): Undo last change.
8603         (set_update_modelines_for_buf): Function deleted.
8605 2015-10-24  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
8606             Alexandru Harsanyi  <AlexHarsanyi@gmail.com>
8608         Sync with soap-client repository, version 3.0.0
8610         * lisp/net/soap-client.el, lisp/net/soap-inspect.el:
8611         Bump version to 3.0.0.
8613         * lisp/net/soap-inspect.el: Merge in changes from Emacs master branch.
8615         * lisp/net/soap-client.el: Merge in changes from Emacs master branch.
8617         * lisp/net/soap-inspect.el: Shorten first line description.
8619         * lisp/net/soap-client.el: Make a small whitespace fix.
8621         * lisp/net/soap-inspect.el: Update copyright years.
8623         * lisp/net/soap-client.el (soap-encoded-namespaces): Move above
8624         first use in soap-encode-xs-element.
8626         * lisp/net/soap-client.el (soap-type-is-array?): new defun
8627         (soap-encode-xs-element): handle array elements in this function
8628         (soap-encode-xs-complex-type): flag error if asked to encode an
8629         array type, this is handled in `soap-encode-xs-element'
8631         * lisp/net/soap-inspect.el (soap-inspect-xs-attribute-group):
8632         Do not print type for attribute group.
8634         * lisp/net/soap-inspect.el (soap-sample-value-for-xs-attribute-group)
8635         New function.
8636         (soap-inspect-xs-attribute-group): Likewise.
8638         * lisp/net/soap-inspect.el
8639         (soap-resolve-references-for-xs-attribute-group): Resolve
8640         references of attributes in an attribute group.
8642         * lisp/net/soap-client.el (soap-decode-xs-attributes): Process attribute
8643         type directly, not through soap-wsdl-get.
8645         * lisp/net/soap-client.el (soap-xs-parse-attribute): Leave reference
8646         nil if reference attribute is nil.
8648         * lisp/net/soap-client.el (soap-resolve-references-for-xs-attribute):
8649         Convert XML schema attributes to xsd:string.
8651         * lisp/net/soap-inspect.el (soap-sample-value-for-xs-attribute):
8652         New function.
8653         (soap-sample-value-for-xs-simple-type): Prepend attributes to result.
8654         (soap-sample-value-for-xs-complex-type): Likewise.
8655         (soap-inspect-xs-attribute): New function.
8656         (soap-inspect-xs-simple-type): Print attributes.
8657         (soap-inspect-xs-complex-type): Likewise.
8659         * lisp/net/soap-inspect.el (soap-resolve-references-for-xs-simple-type):
8660         Resolve references for attributes.
8661         (soap-resolve-references-for-xs-complex-type): Likewise.
8663         * lisp/net/soap-client.el (soap-xml-node-find-matching-child):
8664         Rename from soap-xml-node-first-child.
8665         (soap-xs-parse-attribute): Call soap-xml-node-find-matching-child.
8666         (soap-xs-parse-simple-type): Likewise.
8668         * lisp/net/soap-client.el (soap-invoke-async): Add error checking.
8670         * lisp/net/soap-client.el (soap-invoke-internal): New function.
8671         (soap-invoke-async): Call soap-invoke-internal.
8672         (soap-invoke): Likewise.
8674         * lisp/net/soap-client.el (soap-invoke-async): Ensure buffer passed to
8675         url-retrieve callback is killed.
8677         * lisp/net/soap-client.el (soap-parse-wsdl-phase-validate-node):
8678         Rename function.
8679         (soap-parse-wsdl-phase-fetch-imports): Likewise.
8680         (soap-parse-wsdl-phase-parse-schema): Likewise.
8681         (soap-parse-wsdl-phase-fetch-schema): Likewise.
8682         (soap-parse-wsdl-phase-finish-parsing): Likewise.
8683         (soap-parse-wsdl): Update calls.
8685         * lisp/net/soap-client.el (soap-invoke-async): Fix callback invocation.
8687         * lisp/net/soap-client.el (soap-invoke-async): New function.
8688         (soap-invoke): Reimplement using soap-invoke-async.
8690         * lisp/net/soap-client.el (soap-parse-server-response):
8691         Improve docstring.
8692         (soap-invoke): Inline call to soap-parse-server-response.
8694         * lisp/net/soap-client.el (soap-decode-xs-complex-type):
8695         Prevent incorrect warning.
8697         * lisp/net/soap-client.el (soap-parse-server-response):
8698         Rename soap-process-url-response.  Destroy the mime part.
8699         (soap-invoke): Call soap-parse-server-response.
8701         * lisp/net/soap-client.el: Update copyright date.
8703         * lisp/net/soap-client.el: Fix checkdoc issues.
8705         * lisp/net/soap-client.el: Fix indentation and long lines.
8707         * lisp/net/soap-client.el (soap-time-format): Remove variable.
8708         (soap-encode-xs-basic-type): Simplify date-time format detection.
8709         (soap-decode-xs-basic-type): Remove soap-time-format support.
8711         * lisp/net/soap-client.el (soap-process-url-response): New function.
8712         (soap-fetch-xml-from-url): Call soap-process-url-response.
8713         (soap-parse-wsdl-phase-1): New function.
8714         (soap-parse-wsdl-phase-2): Likewise.
8715         (soap-parse-wsdl-phase-3): Likewise.
8716         (soap-parse-wsdl-phase-4): Likewise.
8717         (soap-parse-wsdl-phase-5): Likewise.
8718         (soap-parse-wsdl): Call phase functions.
8720         * lisp/net/soap-client.el (soap-decode-xs-basic-type):
8721         Remove one-argument and call.
8723         * lisp/net/soap-client.el (soap-decode-date-time): Improve docstring.
8725         * lisp/net/soap-client.el (soap-xmlschema-imports): Remove variable.
8726         (soap-parse-schema): Add wsdl argument.  Look up XML schema
8727         imports from wsdl.
8728         (soap-load-wsdl): Do not set soap-xmlschema-imports.
8729         (soap-parse-wsdl): Get XML schema imports from wsdl.
8731         * lisp/net/soap-client.el (soap-current-file): Remove variable.
8732         (soap-wsdl): Add current-file slot.
8733         (soap-fetch-xml-from-url): Add wsdl argument.  Look up current
8734         file from wsdl.
8735         (soap-fetch-xml-from-file): Likewise.
8736         (soap-fetch-xml): Likewise.
8737         (soap-load-wsdl): Always create wsdl object first.
8738         (soap-parse-wsdl): Pass wsdl to soap-fetch-xml.
8740         * lisp/net/soap-client.el (soap-xs-element): Add is-group slot.
8741         (soap-xs-parse-element): Set is-group slot.
8742         (soap-resolve-references-for-xs-element): Skip is-group elements.
8743         (soap-xs-complex-type): Add is-group slot.
8744         (soap-xs-parse-complex-type): Set is-group slot.
8745         (soap-xs-parse-sequence): Parse xsd:group elements.
8746         (soap-resolve-references-for-xs-complex-type): Inline elements
8747         from referenced xsd:group nodes.
8748         (soap-parse-schema): Parse xsd:group nodes.
8750         * lisp/net/soap-client.el (soap-invoke):
8751         Don't set url-http-version to 1.0.
8753         * lisp/net/soap-client.el (soap-decode-xs-complex-type):
8754         Allow choice nodes to accept multiple values.
8756         * lisp/net/soap-client.el (soap-encode-body): Check parameters argument
8757         for extra header values.
8759         * lisp/net/soap-client.el (soap-well-known-xmlns):
8760         Add wsa and wsaw tags.
8761         (soap-operation): Add input-action and output-action slots.
8762         (soap-parse-operation): Parse wsaw:Action nodes.
8763         (soap-encode-body): Encode service-url for WS-Addressing.
8764         (soap-create-envelope): Likewise.
8765         (soap-invoke): Update soap-create-envelope call to provide
8766         service-url argument.
8768         * lisp/net/soap-client.el (soap-decode-xs-complex-type):
8769         Support xsi:type override attribute.
8770         (soap-decode-array): Likewise.
8772         * lisp/net/soap-client.el (soap-parse-schema):
8773         Handle location attribute.
8775         * lisp/net/soap-client.el (soap-decode-type): Check that multiRef
8776         matched validation regexp.
8778         * lisp/net/soap-client.el (soap-encode-xs-simple-type):
8779         Encode xsd:list nodes.
8780         (soap-decode-xs-simple-type): Decode xsd:list nodes.
8782         * lisp/net/soap-client.el (soap-get-candidate-elements):
8783         Fix reference handling.
8785         * lisp/net/soap-client.el (soap-xs-simple-type): Add is-list slot.
8786         (soap-xs-parse-simple-type): Call soap-xs-add-list for xsd:list nodes.
8787         (soap-xs-add-list): New function.
8789         * lisp/net/soap-client.el (soap-encode-xs-element): When a boolean is
8790         expected, interpret nil as "false".
8792         * lisp/net/soap-client.el (soap-make-xs-basic-types): Add gYearMonth,
8793         gYear, gMonthDay, gDay and gMonth.
8795         * lisp/net/soap-client.el (soap-time-format): New variable.
8796         (soap-encode-xs-basic-type): Handle dateTime, time, date,
8797         gYearMonth, gYear, gMonthDay, gDay and gMonth.
8798         (soap-decode-date-time): New function.
8799         (soap-decode-xs-basic-type): Use soap-decode-date-time.
8801         * lisp/net/soap-client.el (soap-encode-xs-basic-type): Validate value
8802         after encoding.
8803         (soap-decode-xs-basic-type): Validate value before decoding.
8805         * lisp/net/soap-client.el (soap-validate-xs-basic-type): New function.
8806         (soap-validate-xs-simple-type): Call soap-validate-xs-basic-type.
8808         * lisp/net/soap-client.el (soap-xs-add-union): Append result to base
8809         instead of overwriting it.
8810         (soap-validate-xs-simple-type): Add union support.
8812         * lisp/net/soap-client.el (soap-xs-add-restriction): Translate pattern
8813         to Emacs regexp using xsdre-translate.
8814         (soap-validate-xs-simple-type): Validate value against pattern.
8816         * lisp/net/soap-client.el (soap-xs-add-union): Preserve WSDL order of
8817         inline simpleType nodes.
8818         (soap-decode-type): Handle union types.
8820         * lisp/net/soap-client.el (soap-decode-xs-attributes): Decode basic-type
8821         attributes.
8823         * lisp/net/soap-client.el (soap-get-xs-attributes-from-groups): Rename
8824         from soap-xs-attribute-group-consolidate, all callers updated
8825         (soap-get-xs-attributes): Rename from
8826         soap-xs-attributes-consolidate, all callers updated
8828         * lisp/net/soap-client.el (soap-xs-type): Add attribute-group slot.
8829         (soap-xs-attribute-group): New type.
8830         (soap-xs-parse-attribute-group): New function.
8831         (soap-resolve-references-for-xs-attribute-group): Likewise.
8832         (soap-xs-add-extension): Handle attribute groups.
8833         (soap-resolve-references-for-xs-simple-type): Likewise.
8834         (soap-xs-parse-complex-type): Likewise.
8835         (soap-xs-parse-extension-or-restriction): Likewise.
8836         (soap-resolve-references-for-xs-complex-type): Likewise.
8837         (soap-xs-attribute-group-consolidate): New function.
8838         (soap-xs-attributes-consolidate): Handle attribute groups.
8839         (soap-parse-schema): Likewise.
8841         * lisp/net/soap-client.el (soap-encode-xs-basic-type):
8842         Fix boolean encoding.
8844         * lisp/net/soap-client.el (soap-encode-xs-complex-type): Print ref
8845         element names in warnings.
8847         * lisp/net/soap-client.el (soap-decode-xs-complex-type): Fix splicing.
8849         * lisp/net/soap-client.el (soap-decode-xs-complex-type):
8850         Eliminate invalid warnings for choice types.
8852         * lisp/net/soap-client.el (soap-encode-xs-complex-type-attributes):
8853         Also encode base type attributes.
8855         * lisp/net/soap-client.el (soap-encode-xs-complex-type): Fix compilation
8856         warning.  Print e-name in warnings, or element if e-name is nil.
8858         * lisp/net/soap-client.el (soap-xs-element): Add alternatives slot.
8859         (soap-xs-parse-element): Set substitution-group.
8860         (soap-resolve-references-for-xs-element): Populate alternatives slot.
8861         (soap-get-candidate-elements): New function.
8862         (soap-encode-xs-complex-type): Iterate through all candidate elements.
8863         Handle types with nil type indicator.  Fix warning logic.
8865         * lisp/net/soap-client.el (soap-current-wsdl): Move declaration
8866         earlier in the file to prevent compiler warning.
8868         * lisp/net/soap-client.el (soap-node-optional): New function.
8869         (soap-node-multiple): Likewise.
8870         (soap-xs-parse-element): Call soap-node-optional and
8871         soap-node-multiple.
8872         (soap-xs-complex-type): Add optional? and multiple? slots.
8873         (soap-xml-get-children-fq): New function.
8874         (soap-xs-element-get-fq-name): Likewise.
8875         (soap-xs-complex-type-optional-p): Likewise.
8876         (soap-xs-complex-type-multiple-p): Likewise.
8877         (soap-xs-attributes-consolidate): Likewise.
8878         (soap-decode-xs-attributes): Likewise.
8879         (soap-decode-xs-complex-type): Decode types with nil type indicator.
8880         Support children that use local namespaces.  Decode attributes.
8881         Add type considerations to optional? and multiple? warnings.
8883         * lisp/net/soap-client.el (soap-xs-parse-extension-or-restriction):
8884         Store parsed attributes.
8885         (soap-encode-xs-complex-type-attributes): Encode custom attributes.
8887         * lisp/net/soap-client.el (soap-encode-xs-complex-type-attributes):
8888         Don't add the xsi:type attribute (Exchange refuses requests which have
8889         this attribute).
8891         * lisp/net/soap-client.el, soap-inspect.el: Convert to lexical binding,
8892         correct compiler warnings about unused function arguments and
8893         local variables.
8895         * lisp/net/soap-client.el (soap-decode-xs-complex-type): Handle nil
8896         type indicator.
8897         (soap-parse-envelope): Handle response headers.
8898         (soap-parse-response): Likewise.  Only return non-nil decoded values.
8900         * lisp/net/soap-client.el (soap-validate-xs-simple-type):
8901         Return validated value.
8903         * lisp/net/soap-client.el (soap-xs-parse-element)
8904         (soap-xs-parse-simple-type)
8905         (soap-xs-parse-complex-type)
8906         (soap-parse-message)
8907         (soap-parse-operation): Add the current namespace to the element
8908         being created.
8909         (soap-resolve-references-for-xs-element)
8910         (soap-resolve-references-for-xs-simple-type)
8911         (soap-resolve-references-for-xs-complex-type)
8912         (soap-resolve-references-for-operation): Resolve the namespace to
8913         the namespace tag.
8914         (soap-make-wsdl): specify a namespace tag when creating the xsd
8915         and soapenc namespaces
8916         (soap-wsdl-resolve-references): don't update namespace tags in
8917         elements here
8918         (soap-parse-port-type): bind the urn: to soap-target-xmlns
8919         (soap-encode-body): don't add nil namespace tags to
8920         soap-encoded-namespaces
8922         * lisp/net/soap-inspect.el: Use `soap-make-wsdl` to construct the object
8923         for registering the soap-inspect method.  Make debbugs tests pass.
8924         * lisp/net/soap-client.el (soap-decode-any-type): Use soap-l2fq on the
8925         type name, also skip string only nodes when decoding a structure.
8926         (soap-xs-parse-complex-type): (BUG) Dispatch parsing for choice
8927         types too.
8928         (soap-encode-body): Grab the header value from the param table.
8930         * lisp/net/soap-client.el (soap-should-encode-value-for-xs-element):
8931         New function.
8932         (soap-encode-xs-element): Don't encode nil value unless needed.
8934         * lisp/net/soap-client.el (soap-bound-operation): New slot `soap-body`.
8935         (soap-parse-binding): Parse the message parts required in the body.
8936         (soap-encode-body): Encode only the parts that are declared to be
8937         part of the body.
8939         * lisp/net/soap-client.el (soap-encode-xs-element): use the fq name
8940         when writing out the tag.
8941         (soap-encode-body): Remove hack that inserts the xmlns in the
8942         element attributes list.
8944         * lisp/net/soap-client.el (soap-xs-attribute): Add "default" slot.
8945         (soap-xs-parse-attribute): Default slot is set from the XML
8946         "fixed" attribute.
8947         (soap-encode-xs-complex-type-attributes): Encode any attributes
8948         that have a default value.  Also, don't put the xsi:nil attribute
8949         when the complex type has no content anyway.
8951         * lisp/net/soap-client.el (soap-well-known-xmlns):
8952         Add the xml namespace.
8953         (soap-local-xmlns): Start with the xml namespace.
8954         (soap-xml-node-first-child): Skip xsd:annotation nodes too.
8955         (soap-make-xs-basic-types): More xsd types added.
8956         (soap-encode-xs-basic-type, soap-decode-xs-basic-type):
8957         Handle "language", "time", "date", "nonNegativeInteger".
8958         (soap-resolve-references-for-xs-element): Don't signal an error if
8959         the element does not have a type.
8960         (soap-xs-parse-simple-type): Subtypes are handled with ecase,
8961         added stum for xsd:list.
8962         (soap-xs-add-union): Call soap-l2fq on all union members.
8963         (soap-xs-add-extension): Call soap-l2fq on the base member.
8964         (soap-resolve-references-for-xs-simple-type): Don't signal an
8965         error if the simple type has no base.
8966         (soap-resolve-references-for-xs-simple-type): Bugfix, call
8967         soap-wsdl-get on each type of the base.
8969         * lisp/net/soap-client.el (soap-resolve-references-for-xs-attribute):
8970         Referenced type can be eiher a simple type or a basic type.
8971         (soap-xs-add-restriction)
8972         (soap-xs-parse-extension-or-restriction): Use `soap-l2fq' on base.
8973         (soap-make-xs-basic-types)
8974         (soap-encode-xs-basic-type, soap-decode-xs-basic-type):
8975         Add support for more XMLSchema basic types.
8976         (soap-current-file, soap-xmlschema-imports): New defvars.
8977         (soap-parse-schema): Add locations from xsd:import tags to
8978         `soap-xmlschema-imports'.
8979         (soap-wsdl): Make destructor private.
8980         (soap-make-wsdl): New defun, SOAP-WSDL object constructor.
8981         (soap-wsdl-add-alias): Check if we try to replace aliases.
8982         (soap-fetch-xml-from-url, soap-fetch-xml-from-file)
8983         (soap-fetch-xml): New defuns.
8984         (soap-load-wsdl): Update to load the WSDL from either a file or
8985         an url.
8986         (soap-load-wsdl-from-url): Now an alias to `soap-load-wsdl'.
8987         (soap-parse-wsdl): Process wsdl:import tags and imports from
8988         `soap-xmlschema-imports'.
8989         * lisp/net/soap-client.el (soap-l2wk): Bugfix: call symbolp instead of
8990         symbol-name.
8991         (soap-l2fq): Make the name part always a string.
8992         (soap-name-p): New defun, used for name tests.
8994         * lisp/net/soap-inspect.el (soap-sample-value-for-xs-complex-type):
8995         Supply sample values for choice types with a special tag.
8996         * lisp/net/soap-client.el (soap-encode-xs-complex-type):
8997         Handle anonymous elements correctly.
8998         (soap-encode-value): Accept nodes that have no namespace tag.
9000         * lisp/net/soap-client.el (soap-invoke): Encode the string for
9001         `url-request-data' as UTF-8.  Fixes issue 16.
9003 2015-10-24  Nicolas Petton  <nicolas@petton.fr>
9005         Update the new icon
9007         Move the E slightly to the right in the circle.
9009         * etc/images/icons/hicolor/128x128/apps/emacs.png:
9010         * etc/images/icons/hicolor/16x16/apps/emacs.png:
9011         * etc/images/icons/hicolor/24x24/apps/emacs.png:
9012         * etc/images/icons/hicolor/32x32/apps/emacs.png:
9013         * etc/images/icons/hicolor/48x48/apps/emacs.png:
9014         * etc/images/icons/hicolor/scalable/apps/emacs.svg:
9015         * nextstep/Cocoa/Emacs.base/Contents/Resources/Emacs.icns:
9016         * nt/icons/emacs.ico: New icom update.
9018 2015-10-24  Eli Zaretskii  <eliz@gnu.org>
9020         Avoid missing inline functions from lisp.h in TAGS
9022         * src/lisp.h (LISP_MACRO_DEFUN): Mention in the commentary the
9023         need to end each invocation with a semi-colon.
9024         Add a semi-colon at the end of each invocation of LISP_MACRO_DEFUN
9025         and LISP_MACRO_DEFUN_VOID.  This is to avoid missing in TAGS
9026         inline functions defined immediately after each invocation, and
9027         also avoid tagging every invocation of these macros.
9029 2015-10-24  Eli Zaretskii  <eliz@gnu.org>
9031         A better fix for bug#21739
9033         * src/buffer.c (set_update_modelines_for_buf): New function.
9034         (Fkill_buffer): Use it to set the global variable
9035         update_mode_lines if the killed buffer was displayed in some
9036         window.  Don't set windows_or_buffers_changed.  This is a better
9037         fix for bug#21739 than the previous fix, since it will cause only
9038         redisplay of mode lines, not of entire windows, but will still
9039         catch attention of x_consider_frame_title in xdisp.c, which
9040         redraws the frame title.
9042 2015-10-24  Tassilo Horn  <tsdh@gnu.org>
9044         * lisp/dired-aux.el (dired-compress-files-alist): Add support for
9045         tar.bz2 and tar.xz archives.
9047 2015-10-23  Eli Zaretskii  <eliz@gnu.org>
9049         Fix infloop in redisplay introduced by a recent change
9051         * src/xdisp.c (redisplay_internal): Avoid inflooping when
9052         redisplaying the selected window sets the selected frame's
9053         redisplay flag.  (Bug#21745)
9055 2015-10-23  Nicolas Petton  <nicolas@petton.fr>
9057         * lisp/emacs-lisp/thunk.el: Better documentation.
9059 2015-10-23  Nicolas Petton  <nicolas@petton.fr>
9061         Replace the old icon for Windows and Mac OSX
9063         * nt/icons/emacs.ico:
9064         * nextstep/Cocoa/Emacs.base/Contents/Resources/Emacs.icns:
9065         Use the new icons.
9067 2015-10-23  Stephen Leake  <stephen_leake@stephe-leake.org>
9069         * lisp/emacs-lisp/package.el (package-autoload-ensure-default-file):
9070         `load-path' should contain only directory names.
9072 2015-10-23  Nicolas Petton  <nicolas@petton.fr>
9074         New library thunk.el
9076         thunk.el is extracted from stream.el in ELPA, with additional tests.
9078         * lisp/emacs-lisp/thunk.el: New file.
9079         * test/automated/thunk-tests.el: New file.
9080         * etc/NEWS: Add information about thunk.el
9082 2015-10-23  Michael Albinus  <michael.albinus@gmx.de>
9084         Fix bug#21669
9086         * lisp/filenotify.el (file-notify-rm-watch): Improve check for
9087         calling low-level functions.
9089         * test/automated/file-notify-tests.el (file-notify--test-timeout):
9090         Decrase to 6 seconds for remote directories.
9091         (file-notify-test02-events): Expect different number of
9092         `attribute-changed' events for the local and remote cases.  Apply
9093         short delays between the operations, in order to receive all
9094         events in the remote case.  Combine `attribute-change' tests.
9095         (Bug#21669)
9097 2015-10-23  Eli Zaretskii  <eliz@gnu.org>
9099         Decode the HTML source when displaying it in EWW
9101         * lisp/net/eww.el (eww-view-source): Decode the HTML source
9102         according to its headers.
9104 2015-10-23  Nicolas Petton  <nicolas@petton.fr>
9106         New default icon
9108         * etc/images/icons/hicolor/128x128/apps/emacs23.png:
9109         * etc/images/icons/hicolor/16x16/apps/emacs23.png:
9110         * etc/images/icons/hicolor/24x24/apps/emacs23.png:
9111         * etc/images/icons/hicolor/32x32/apps/emacs23.png:
9112         * etc/images/icons/hicolor/48x48/apps/emacs23.png:
9113         * etc/images/icons/hicolor/scalable/apps/emacs23.svg:
9114         * etc/images/icons/hicolor/scalable/mimetypes/emacs-document23.svg:
9115         Move the old logo files to emacs23.*.
9116         * etc/images/icons/hicolor/128x128/apps/emacs.png:
9117         * etc/images/icons/hicolor/16x16/apps/emacs.png:
9118         * etc/images/icons/hicolor/24x24/apps/emacs.png:
9119         * etc/images/icons/hicolor/32x32/apps/emacs.png:
9120         * etc/images/icons/hicolor/48x48/apps/emacs.png:
9121         * etc/images/icons/hicolor/scalable/apps/emacs.svg:
9122         * etc/images/icons/hicolor/scalable/mimetypes/emacs-document.svg:
9123         New files.
9124         * etc/images/icons/README: Update the copyright information.
9126 2015-10-23  Eli Zaretskii  <eliz@gnu.org>
9128         Fix redisplay of frame title when current buffer is killed
9130         * src/buffer.c (Fkill_buffer): Set windows_or_buffers_changed to a
9131         non-zero value, to redisplay more than just the affected windows.
9132         (Bug#21739)
9134 2015-10-23  Anders Lindgren  <andlind@gmail.com>
9136         NextStep maximization and NSTRACE rewrite
9138         Full-height, full-width, and maximized windows now cover the
9139         entire screen (except the menu bar), including the part where the
9140         system dock is placed.  The system zoom animation is no longer
9141         used.
9143         Made NonMaximized->FullWidth->FullHeight->NonMaximized restore the
9144         original size.
9146         * src/nsterm.m (ns_menu_bar_height): New function, return height of
9147         the menu bar, or 0 when it's hidden.
9148         (constrain_frame_rect): New function for constraining a frame.
9149         (ns_constrain_all_frames): Set frame size explicitly rather than
9150         relying on the system doing it for us by writing back the current
9151         frame size.
9152         (windowWillUseStandardFrame): Register non-maximized width or
9153         height as new user size.  When entering full width or height,
9154         the other size component is taken from the user size.
9155         (fullscreenState): New method for accessing the fullscreen state.
9156         (constrainFrameRect): Restrict frame to be placed under the menu bar,
9157         if present.  The old version, sometimes, restricted the height of a
9158         frame to the screen, this version never does this.
9159         (zoom): Perform zoom by setting the frame to the full size of the
9160         screen (minus the menu bar).  The default system function, with the
9161         zoom animation, is no longer used, as the final frame size doesn't
9162         cover the entire screen.
9164         Rework how to constrain resizing to the character grid.  The old
9165         system used "resizeIncrements" in NSWindows.  However, once a frame
9166         was resized so that it was not aligned to the text grid, it
9167         remained unaligned even after a resize.  In addition, it conflicted
9168         when resizing a fullheight window.
9170         * src/nsterm.m (windowWillResize): Restrict frame size to text grid,
9171         unless when pixelwise frame resizing is enabled.
9172         (updateFrameSize, initFrameFromEmacs)
9173         (toggleFullScreen, handleFS): Don't set resizeIncrements.
9175         Redesign the NS trace system.  The call structure is represented
9176         using indentations and vertical lines.  The NSTRACE macro accepts
9177         printf-style arguments.  New macros for printing various
9178         information.
9180         * src/nsterm.h (NSTRACE_ENABLED): Macro to enable trace system.
9181         (NSTRACE, NSTRACE_WHEN, NSTRACE_UNLESS): Macros to start a new
9182         block (typically a function), accept printf-style arguments.
9183         (NSTRACE_MSG): Macro for extra information, accepts
9184         printf-style arguments.
9185         (NSTRACE_what): Macros for printing various types.
9186         (NSTRACE_FMT_what): Macro with printf format string snippets.
9187         (NSTRACE_ARG_what): Macros for passing printf-style arguments,
9188         corresponds to NSTRACE_FMT_what.
9189         (NSTRACE_RETURN): Macro to print return value, accept
9190         printf-style arguments.
9191         (NSTRACE_RETURN_what): Macros to print return value for
9192         various types.
9194         * nsterm.m: Remove old NSTRACE macro
9195         * src/nsterm.m (nstrace_num): Trace counter.
9196         (nstrace_depth): Current call depth.
9197         (nstrace_leave): NSTRACE support function, called when the
9198         local variable "nstrace_enabled" goes out of scope using the
9199         "cleanup" extension.
9200         (ns_print_fullscreen_type_name): NSTRACE_FSTYPE support function.
9201         (constrain_frame_rect, ns_constrain_all_frames)
9202         (ns_update_auto_hide_menu_bar, ns_update_begin)
9203         (ns_update_window_begin, update_window_end, ns_update_end)
9204         (ns_focus, ns_unfocus, ns_ring_bell, ns_frame_raise_lower)
9205         (ns_frame_rehighlight, x_make_frame_visible)
9206         (x_make_frame_invisible, x_iconify_frame, x_free_frame_resources)
9207         (x_destroy_window, x_set_offset, x_set_window_size)
9208         (ns_fullscreen_hook, ns_lisp_to_color, ns_color_to_lisp)
9209         (ns_defined_color, frame_set_mouse_pixel_position)
9210         (note_mouse_movement, ns_mouse_position, ns_frame_up_to_date)
9211         (ns_define_frame_cursor, x_get_keysym_name, ns_redraw_scroll_bars)
9212         (ns_clear_frame, ns_clear_frame_area, ns_scroll_run)
9213         (ns_after_update_window_line, ns_shift_glyphs_for_insert)
9214         (dumpcursor, ns_draw_vertical_window_border)
9215         (ns_draw_window_divider, ns_draw_relief)
9216         (ns_dumpglyphs_box_or_relief, ns_maybe_dumpglyphs_background)
9217         (ns_dumpglyphs_image, ns_draw_glyph_string, ns_send_appdefined)
9218         (ns_read_socket, ns_select, ns_set_vertical_scroll_bar)
9219         (ns_set_horizontal_scroll_bar, ns_condemn_scroll_bars)
9220         (ns_redeem_scroll_bar, ns_judge_scroll_bars, ns_delete_terminal)
9221         (ns_create_terminal, ns_term_init, sendEvent)
9222         (applicationDidFinishLaunching, applicationDidBecomeActive)
9223         (timeout_handler, fd_handler, EmacsView_dealloc, changeFont)
9224         (acceptsFirstResponder, resetCursorRects, keyDown, mouseDown)
9225         (deltaIsZero, rightMouseDown, otherMouseDown, mouseUp)
9226         (rightMouseUp, otherMouseUp, scrollWheel, mouseMoved)
9227         (mouse_autoselect_window, in_window, mouseDragged)
9228         (rightMouseDragged, otherMouseDragged, windowShouldClose)
9229         (updateFrameSize, windowWillResize, windowDidResize)
9230         (windowDidBecomeKey, windowDidResignKey, windowWillMiniaturize)
9231         (initFrameFromEmacs, windowDidMove, windowDidDeminiaturize)
9232         (windowDidExpose, windowDidMiniaturize, windowWillEnterFullScreen)
9233         (windowDidEnterFullScreen, windowWillExitFullScreen)
9234         (windowDidExitFullScreen, toggleFullScreen, handleFS, setFSValue)
9235         (mouseEntered, mouseExited, menuDown, toolbarClicked, drawRect)
9236         (draggingEntered, performDragOperation, validRequestorForSendType)
9237         (setMiniwindowImage, constrainFrameRect, performZoom, zoom)
9238         (EmacsScroller_initFrame, EmacsScroller_setFrame)
9239         (EmacsScroller_dealloc, condemn, reprieve, judge)
9240         (resetCursorRects, setPosition, EmacsScroller_mouseDown)
9241         (EmacsScroller_mouseDragged, syms_of_nsterm): Use new trace system.
9243         * nsfns.m: Remove old NSTRACE macro
9244         * src/nsfns.m (x_set_icon_name, ns_set_name, x_explicitly_set_name)
9245         (x_implicitly_set_name, x_set_title, ns_set_name_as_filename)
9246         (ns_implicitly_set_icon_type, x_set_icon_type): Use new trace system.
9248         * nsimage.m: Remove old NSTRACE macro
9249         * src/nsimage.m (ns_image_from_XBM, ns_image_for_XPM)
9250         (ns_image_from_bitmap_file, ns_load_image): Use new trace system.
9252         * nsmenu.m: Remove old NSTRACE macro
9253         * src/nsmenu.m (ns_update_menubar, ns_menu_show, ns_popup_dialog):
9254         Use new trace system.
9256 2015-10-22  Katsumi Yamaoka  <yamaoka@jpl.org>
9258         No need to use eval-and-compile
9260         * lisp/gnus/auth-source.el: Do require epg (when compiling) before
9261         autoload epg functions.
9263 2015-10-22  Katsumi Yamaoka  <yamaoka@jpl.org>
9265         Fix auth-source-epa-make-gpg-token compilation (bug#21724)
9267         * lisp/gnus/auth-source.el: Add eval-and-compile to autoloads for
9268         epg-context-set-passphrase-callback, epg-decrypt-string, and
9269         epg-encrypt-string; require epg when compiling for the setf-method
9270         for epg-context-armor. (bug#21724)
9272 2015-10-22  Eli Zaretskii  <eliz@gnu.org>
9274         Include file cleanup for w32 files in src directory
9276         * src/w32xfns.c: Don't include keyboard.h, window.h, charset.h,
9277         fontset.h, blockinput.h.
9278         * src/w32uniscribe.c: Don't include dispextern.h, character.h,
9279         charset.h, fontset.h.
9280         * src/w32term.c: Don't include systty.h, systime.h, charset.h,
9281         character.h, ccl.h, dispextern.h, disptab.h, intervals.h,
9282         process.h, atimer.h, keymap.h, w32heap.h.  Include bitmap/gray.xbm
9283         in an ifdef-ed away block.
9284         Include fcntl.h for CYGWIN.
9285         (set_frame_param): Remove unused function.
9286         * src/w32select.c: Don't include charset.h and composite.h.
9287         (setup_config, Fw32_get_clipboard_data): Avoid compiler warnings
9288         due to pointer signedness mismatches.
9289         * src/w32reg.c (w32_get_string_resource): Avoid compiler warnings
9290         due to pointer signedness mismatches.
9291         * src/w32proc.c: Include unistd.h.  Don't include systime.h,
9292         process.h, dispextern.h.
9293         (sys_spawnve, Fw32_short_file_name, Fw32_long_file_name)
9294         (Fw32_application_type): Avoid compiler warnings due to pointer
9295         signedness mismatches.
9296         * src/w32menu.c: Don't include keymap.h, termhooks.h, window.h,
9297         character.h, charset.h, dispextern.h.
9298         (simple_dialog_show, add_menu_item): Avoid compiler warnings due
9299         to pointer signedness mismatches.
9300         * src/w32inevt.c: Don't include dispextern.h, window.h,
9301         termhooks.h, w32heap.h.
9302         * src/w32font.c: Don't include dispextern.h, character.h,
9303         charset.h, fontset.h, font.h.
9304         (intern_font_name, add_font_entity_to_list)
9305         (registry_to_w32_charset, w32_to_x_charset, fill_in_logfont)
9306         (list_all_matching_fonts): Avoid compiler warnings due to pointer
9307         signedness mismatches.
9308         * src/w32fns.c: Don't include character.h, intervals.h,
9309         dispextern.h, epaths.h, charset.h, ccl.h, fontset.h, systime.h,
9310         termhooks.h, w32heap.h, bitmap/gray.xbm, font.h, w32font.h.
9311         (w32_color_map_lookup, add_system_logical_colors_to_map)
9312         (x_decode_color, x_set_name, FPRINTF_WM_CHARS, Fxw_color_defined_p)
9313         (Fxw_color_values, x_display_info_for_name, Fset_message_beep)
9314         (x_create_tip_frame, Fx_file_dialog, Fsystem_move_file_to_trash)
9315         (w32_parse_hot_key, Ffile_system_info, w32_kbd_patch_key): Avoid
9316         compiler warnings, mainly due to pointer signedness mismatches.
9317         (unwind_create_frame_1): Remove unused function.
9318         * src/w32console.c: Don't include character.h, disptab.h, frame.h,
9319         window.h, termhooks.h, dispextern.h.
9320         (w32con_write_glyphs, w32con_write_glyphs_with_face): Fix pointer
9321         signedness mismatch.
9322         * src/w32.c: Include c-strcase.h and systty.h.  Don't include
9323         w32heap.h.
9325 2015-10-22  Tassilo Horn  <tsdh@gnu.org>
9327         Improve doc-view wrt. auto-revert-mode
9329         * lisp/doc-view.el (doc-view-revert-buffer): Don't revert when file
9330         is corrupted (bug#21729).
9331         (doc-view-mode): Set doc-view-revert-buffer as revert-buffer-function.
9333 2015-10-22  Oleh Krehel  <ohwoeowho@gmail.com>
9335         Describe dired-do-compress-to in the manual
9337         * etc/NEWS: Update.
9339         * lisp/dired-aux.el: Fix typo.
9341         * doc/emacs/dired.texi: Add entry.
9343 2015-10-22  Jürgen Hötzel  <juergen@archlinux.org>
9345         Further fix for proper locale handling in tramp-gvfs.el
9347         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
9348         Just suppress LC_MESSAGES locale category settings.
9350 2015-10-21  Paul Eggert  <eggert@cs.ucla.edu>
9352         New lispref section “Security Considerations”
9354         This attempts to document some of the issues recently discussed
9355         on emacs-devel, and to indicate other such issues.  The section
9356         could be a lot longer.
9357         * doc/lispref/os.texi (Security Considerations):
9358         New node.
9359         * doc/lispref/elisp.texi (Top):
9360         * doc/lispref/processes.texi (Shell Arguments):
9361         * lisp/subr.el (shell-quote-argument):
9362         * src/callproc.c (syms_of_callproc):
9363         Reference it.
9365 2015-10-21  Paul Eggert  <eggert@cs.ucla.edu>
9367         Merge from gnulib
9369         This incorporates:
9370         2015-10-18 stdalign: work around pre-4.9 GCC x86 bug
9371         2015-10-18 time_rz: avoid warning from bleeding-edge gcc's -Wnonnull
9372         * doc/misc/texinfo.tex, lib/stdalign.in.h, lib/time_rz.c:
9373         Copy from gnulib.
9375 2015-10-21  Katsumi Yamaoka  <yamaoka@jpl.org>
9377         * lisp/gnus/mailcap.el (mailcap-mime-data): Remove fboundp checks.
9378         (mailcap-viewer-passes-test): Do it instead.  Thanks to Stefan Monnier.
9380 2015-10-21  Ken Brown  <kbrown@cornell.edu>
9382         Further include-file cleanup
9384         * src/sheap.c: Include stdlib.h.
9385         * src/unexcw.c: Include string.h.
9387 2015-10-21  Eli Zaretskii  <eliz@gnu.org>
9389         Fix logic in 'server-kill-emacs-query-function'
9391         * lisp/server.el (server-kill-emacs-query-function): Correct the
9392         logic that controls whether the user is asked for confirmation.
9393         (Bug#21723)
9395 2015-10-21  Artur Malabarba  <bruce.connor.am@gmail.com>
9397         * lisp/isearch.el (isearch-search-fun-default): Simplify logic.
9398         (isearch--lax-regexp-function-p): New function.
9400 2015-10-21  Artur Malabarba  <bruce.connor.am@gmail.com>
9402         * lisp/isearch.el: Support lax-whitespace in regexp-function searches.
9403         (isearch-search-fun-default): Let-bind `search-spaces-regexp'
9404         around `isearch-regexp-function'.
9406 2015-10-21  Artur Malabarba  <bruce.connor.am@gmail.com>
9408         * lisp/isearch.el: Rename word search to regexp-function search.
9409         `isearch-word' went well beyond its original purpose, and the name
9410         no longer makes sense.  It is now called
9411         `isearch-regexp-function', and its value should always be a function
9412         that converts a string to a regexp (though setting it to t is still
9413         supported for now).
9414         (isearch-word): Make obsolete.
9415         (isearch-regexp-function): New variable.
9416         (isearch-mode, isearch-done, isearch--state, isearch--set-state)
9417         (with-isearch-suspended, isearch-toggle-regexp)
9418         (isearch-toggle-word, isearch-toggle-symbol)
9419         (isearch-toggle-character-fold, isearch-query-replace)
9420         (isearch-occur, isearch-highlight-regexp)
9421         (isearch-search-and-update, isearch-message-prefix)
9422         (isearch-search-fun-default, isearch-search)
9423         (isearch-lazy-highlight-new-loop, isearch-lazy-highlight-search):
9424         Use it.
9425         (isearch-lazy-highlight-regexp-function): New var.
9426         (isearch-lazy-highlight-word): Make obsolete.
9427         (isearch--describe-regexp-mode): New function.
9428         (isearch--describe-word-mode): Make obsolete.
9430         * lisp/info.el (Info-isearch-search):
9431         * lisp/replace.el (replace-search, replace-highlight):
9432         * lisp/obsolete/longlines.el (longlines-search-function):
9433         * lisp/hexl.el (hexl-isearch-search-function):
9434         * lisp/cedet/semantic/senator.el (senator-isearch-search-fun):
9435         Use the new var.
9437 2015-10-21  Oleh Krehel  <ohwoeowho@gmail.com>
9439         Add dired-do-compress-to command bound to "c"
9441         * lisp/dired-aux.el (dired-shell-command): Use the caller's
9442           `default-directory', return the result of `process-file'.
9443         (dired-compress-file-suffixes): Add comment on why "tar -zxf" isn't
9444         used by default.
9445         (dired-compress-files-alist): New defvar.
9446         (dired-do-compress-to): New command.
9448         * lisp/dired.el (dired-mode-map): Bind `dired-do-compress-to' to "c".
9449         (dired-do-compress-to): Add an autoload entry.
9451         * etc/NEWS: Add two entries.
9453 2015-10-21  Tassilo Horn  <tsdh@gnu.org>
9455         Make RefTeX work with LaTeX subfiles package
9457         * lisp/textmodes/reftex.el (reftex-TeX-master-file): Recognize subfiles
9458         document class argument as master file for referencing purposes.
9460 2015-10-21  Katsumi Yamaoka  <yamaoka@jpl.org>
9462         * lisp/gnus/mailcap.el (mailcap-mailcap-entry-passes-test): Doc fix.
9464 2015-10-20  Paul Eggert  <eggert@cs.ucla.edu>
9466         Include-file cleanup for src directory
9468         Omit ‘#include "foo.h"’ unless the file needs foo.h (Bug#21707).
9469         In a few cases, add ‘#include "foo.h"’ if the file needs foo.h
9470         but does not include it directly.  As a general rule, a source
9471         file should include foo.h if it needs the interfaces that foo.h
9472         defines.
9473         * src/alloc.c: Don’t include process.h.  Include dispextern.h,
9474         systime.h.
9475         * src/atimer.c: Don’t include blockinput.h.
9476         * src/buffer.c: Include coding.h, systime.h.  Don’t include
9477         keyboard.h, coding.h.
9478         * src/callint.c: Don’t include commands.h, keymap.h.
9479         * src/callproc.c: Don’t include character.h, ccl.h, composite.h,
9480         systty.h, termhooks.h.
9481         * src/casetab.c: Don’t include character.h.
9482         * src/category.c: Don’t include charset.h, keymap.h.
9483         * src/ccl.h: Don’t include character.h.
9484         * src/character.c: Don’t include charset.h.
9485         * src/charset.c: Don’t include disptab.h.
9486         * src/chartab.c: Don’t include ccl.h.
9487         * src/cm.c: Don’t include frame.h, termhooks.h.
9488         * src/cmds.c: Don’t include window.h, dispextern.h.
9489         * src/coding.c: Don’t include window.h, frame.h.
9490         * src/composite.c: Include composite.h.  Don’t include window.h,
9491         font.h.
9492         * src/data.c: Don’t include syssignal.h, termhooks.h, font.h.
9493         * src/dbusbind.c: Don’t include frame.h.
9494         * src/decompress.c: Don’t include character.h.
9495         * src/dired.c: Don’t include character.h, commands.h, charset.h.
9496         * src/dispnew.c: Don’t include character.h, indent.h, intervals.h,
9497         process.h, timespec.h.  Include systime.h.
9498         * src/doc.c: Include coding.h.  Don’t include keyboard.h.
9499         * src/editfns.c: Include composite.h.  Don’t include frame.h.
9500         * src/emacs.c: Include fcntl.h, coding.h.  Don’t include
9501         commands.h, systty.h..
9502         * src/fileio.c: Don’t include intervals.h, dispextern.h.
9503         Include composite.h.
9504         * src/filelock.c: Don’t include character.h, systime.h.
9505         * src/fns.c: Don’t include time.h, commands.h, keyboard.h,
9506         keymap.h, frame.h, blockinput.h, xterm.h.  Include composite.h.
9507         * src/font.c: Include termhooks.h.
9508         * src/font.h: Don’t include ccl.h, frame.h.  Add forward decls of
9509         struct composition_it, struct face, struct glyph_string.
9510         * src/fontset.c: Don’t include buffer.h, ccl.h, keyboard.h,
9511         intervals.h, window.h, termhooks.h.
9512         * src/frame.c: Don’t include character.h, commands.h, font.h.
9513         * src/frame.h: Don’t include dispextern.h.
9514         * src/fringe.c: Don’t include character.h.
9515         * src/ftcrfont.c: Don’t include dispextern.h, frame.h,
9516         character.h, charset.h, fontset.h.
9517         * src/ftfont.c: Don’t include frame.h, blockinput.h, coding.h,
9518         fontset.h.
9519         * src/ftxfont.c: Don’t include dispextern.h, character.h,
9520         charset.h, fontset.h.
9521         * src/gfilenotify.c: Don’t include frame.h, process.h.
9522         * src/gtkutil.c: Include dispextern.h, frame.h, systime.h.
9523         Don’t include syssignal.h, buffer.h, charset.h, font.h.
9524         * src/gtkutil.h: Don’t include frame.h.
9525         * src/image.c: Include fcntl.h and stdio.h instead of sysstdio.h.
9526         Don’t include character.h.
9527         * src/indent.c: Don’t include keyboard.h, termchar.h.
9528         * src/inotify.c: Don’t include character.h, frame.h.
9529         * src/insdel.c: Include composite.h.  Don’t include blockinput.h.
9530         * src/intervals.c: Don’t include character.h, keyboard.h.
9531         * src/intervals.h: Don’t include dispextern.h, composite.h.
9532         * src/keyboard.c: Don’t include sysstdio.h, disptab.h, puresize.h.
9533         Include coding.h.
9534         * src/keyboard.h: Don’t incldue systime.h.
9535         * src/keymap.c: Don’t include charset.h, frame.h.
9536         * src/lread.c: Include dispextern.h and systime.h.
9537         Don’t include frame.h.  Include systime.h.
9538         * src/macros.c: Don’t include commands.h, character.h, buffer.h.
9539         * src/menu.c: Include character.h, coding.h.  Don’t include
9540         dispextern.h.
9541         * src/menu.h: Don’t include systime.h.
9542         * src/minibuf.c: Don’t include commands.h, dispextern.h, syntax.h,
9543         intervals.h, termhooks.h.
9544         * src/print.c: Include coding.h.  Don’t include keyboard.h,
9545         window.h, dispextern.h, termchar.h, termhooks.h, font.h.
9546         Add forward decl of struct terminal.
9547         * src/process.c: Don’t include termhooks.h, commands.h,
9548         dispextern.h, composite.h.
9549         * src/region-cache.c: Don’t include character.h.
9550         * src/scroll.c: Don’t include keyboard.h, window.h.
9551         * src/search.c: Don’t include category.h, commands.h.
9552         * src/sound.c: Don’t include dispextern.h.
9553         * src/syntax.c: Don’t include command.h, keymap.h.
9554         * src/sysdep.c: Don’t include window.h, dispextern.h.
9555         * src/systime.h: Use ‘#ifdef emacs’, not ‘#ifdef EMACS_LISP_H’,
9556         * src/term.c: Don’t include systty.h, intervals.h, xterm.h.
9557         * src/terminal.c: Include character.h.
9558         Don’t include charset.h, coding.h.
9559         * src/textprop.c: Don’t include character.h.
9560         * src/undo.c: Don’t include character.h, commands.h, window.h.
9561         * src/unexsol.c: Don’t include character.h, charset.h.
9562         * src/widget.c: Include widget.h.  Don’t include keyboard.h,
9563         window.h, dispextern.h, blockinput.h, character.h, font.h.
9564         * src/widgetprv.h: Don’t include widget.h.
9565         * src/window.c: Don’t include character.h, menu.h, intervals.h.
9566         * src/xdisp.c: Include composite.h, systime.h.  Don’t include
9567         macros.h, process.h.
9568         * src/xfaces.c: Don’t include charset.h, keyboard.h, termhooks.h,
9569         intervals.h.
9570         * src/xfns.c: Don’t include menu.h, character.h, intervals.h,
9571         epaths.h, fontset.h, systime.h, atimer.h, termchar.h.
9572         * src/xfont.c: Don’t include dispextern.h, fontset.h, ccl.h.
9573         * src/xftfont.c: Don’t include dispextern.h, character.h, fontset.h.
9574         * src/xgselect.c: Don’t include timespec.h, frame.h.
9575         Include systime.h.
9576         * src/xgselect.h: Don’t include time.h.
9577         Use a forward decl to struct timespec instead.
9578         * src/xmenu.c: Don’t include keymap.h, character.h, charset.h,
9579         dispextern.h.  Include systime.h.
9580         * src/xml.c: Don’t include character.h.
9581         * src/xrdb.c [USE_MOTIF]: Don’t include keyboard.h.
9582         * src/xselect.c: Don’t include dispextern.h, character.h,
9583         buffer.h, process.h.
9584         * src/xsmfns.c: Don’t include systime.h, sysselect.h.
9585         * src/xterm.c: Don’t include syssignal.h, charset.h, disptab.h,
9586         intervals.h process.h, keymap.h, xgselect.h.  Include composite.h.
9588 2015-10-20  Paul Eggert  <eggert@cs.ucla.edu>
9590         (/ N) now returns the reciprocal of N
9592         This is more compatible with Common Lisp and XEmacs (Bug#21690).  See:
9593         http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg01053.html
9594         * lisp/color.el (color-hue-to-rgb, color-hsl-to-rgb)
9595         (color-xyz-to-srgb, color-xyz-to-lab):
9596         * lisp/emacs-lisp/cl-extra.el (cl-float-limits):
9597         * lisp/net/shr-color.el (shr-color-hue-to-rgb)
9598         (shr-color-hsl-to-rgb-fractions):
9599         Exploit the change to simplify the code a bit.
9600         * lisp/emacs-lisp/bytecomp.el (byte-compile-quo):
9601         Don’t complain about single-argument calls to ‘/’.
9602         * src/data.c (arith_driver, float_arith_driver):
9603         Implement the change.
9605 2015-10-20  Dmitry Gutov  <dgutov@yandex.ru>
9607         Call vc-dir-refresh after stash operations
9609         * lisp/vc/vc-git.el (vc-git-stash-apply-at-point)
9610         (vc-git-stash-pop-at-point): Call vc-dir-refresh (bug#13960).
9612         * lisp/vc/vc-dir.el (vc-dir-resynch-file): Expand FNAME as well,
9613         since it can be abbreviated (as returned by vc-find-root).
9615 2015-10-20  Dmitry Gutov  <dgutov@yandex.ru>
9617         * lisp/vc/vc-svn.el:
9618         * lisp/vc/vc-mtn.el:
9619         * lisp/vc/vc-hg.el:
9620         * lisp/vc/vc-cvs.el:
9621         * lisp/vc/vc-git.el:
9622         * lisp/vc/vc-bzr.el: Don't declare vc-exec-after anymore.
9623         Its usages have been replaced with vc-run-delayed.
9625 2015-10-20  Dima Kogan  <dima@secretsauce.net>
9627         Fix memory leak in fontset handling
9629         * src/font.c (copy_font_spec): Make a deep copy of the input
9630         argument FONT.  (Bug#21651)
9632 2015-10-20  Michael Sperber  <mike@xemacs.org>
9634         * lisp/gnus/mailcap.el (mailcap-mime-data):
9635         Conditonalize `doc-view-mode', which does not exist on XEmacs.
9637 2015-10-20  Oleh Krehel  <ohwoeowho@gmail.com>
9639         Update the way directories are compressed
9641         * lisp/dired-aux.el (dired-compress-file-suffixes): Update the recipe
9642         for *.tar.gz decompression to use a pipe.
9643         Add an entry for the default directory compression (to *.tar.g).
9644         (dired-compress-file): Update.
9646         See https://lists.gnu.org/archive/html/emacs-devel/2015-10/msg00949.html.
9648 2015-10-20  Michael Sperber  <mike@xemacs.org>
9650         Unbreak `group' option for `mail-sources'
9652         * nnml.el (nnml-retrieve-groups, nnml-request-scan):
9653         * nnmail.el (nnmail-get-new-mail-per-group)
9654         (nnmail-get-new-mail-1): Unbreak `group' option for `mail-sources'.
9656 2015-10-19  Nicolas Petton  <nicolas@petton.fr>
9658         New function seq-position
9660         * lisp/emacs-lisp/seq.el (seq-position): New function.
9661         * test/automated/seq-tests.el: New tests for seq-position.
9662         * doc/lispref/sequences.texi: Add documentation for `seq-position'.
9664 2015-10-19  Ken Brown  <kbrown@cornell.edu>
9666         Enable --with-wide-int build on 32-bit Cygwin
9668         * src/sheap.c (STATIC_HEAP_SIZE): Remove distinction between x86
9669         and x86_64 to enable --with-wide-int build on 32-bit Cygwin.
9671 2015-10-19  Glenn Morris  <rgm@gnu.org>
9673         * doc/emacs/ack.texi (Acknowledgments): Small, sad, update.
9675 2015-10-19  Eli Zaretskii  <eliz@gnu.org>
9677         Resurrect image loading under auto-image-file-mode
9679         * src/image.c (x_find_image_fd): Handle the case of -2 returned by
9680         'openp' specially.  This special case was lost in the changes on
9681         2015-08-18.  (Bug#21685)
9683 2015-10-19  Eli Zaretskii  <eliz@gnu.org>
9685         Fix return value of 'set-file-extended-attributes'
9687         * lisp/files.el (set-file-extended-attributes): Return non-nil
9688         when setting either ACLs or SELinux context succeeds.  Document
9689         the return value.  (Bug#21699)
9691         * doc/lispref/files.texi (Changing Files): Document the return
9692         value of set-file-extended-attributes.
9694 2015-10-19  Eli Zaretskii  <eliz@gnu.org>
9696         Improve documentation of functions that change files
9698         * doc/lispref/files.texi (Changing Files): Document that these
9699         functions signal an error on failure.
9701 2015-10-18  Eli Zaretskii  <eliz@gnu.org>
9703         Fix doc string of 'shell-quote-argument'
9705         * lisp/subr.el (shell-quote-argument): Doc fix.  (Bug#21702)
9707 2015-10-18  Michael Albinus  <michael.albinus@gmx.de>
9709         Some minor Tramp changes
9711         * doc/misc/tramp.texi (Obtaining Tramp): Add http git cloning.
9713         * lisp/net/tramp.el (tramp-handle-make-auto-save-file-name):
9714         Expand `tramp-auto-save-directory'.
9716 2015-10-18  Michael Albinus  <michael.albinus@gmx.de>
9718         Minor edits in Tramp
9720         * lisp/net/tramp-adb.el (directory-listing-before-filename-regexp):
9721         Declare it.
9723         * lisp/net/tramp-compat.el (directory-listing-before-filename-regexp):
9724         Remove declaration.
9726 2015-10-17  Mark Oteiza  <mvoteiza@udel.edu>
9728         * lisp/emacs-lisp/eldoc.el: Add back-to-indentation to the command list.
9730 2015-10-17  Eli Zaretskii  <eliz@gnu.org>
9732         Avoid crashes when redisplayng a window changes faces or fonts
9734         * src/xdisp.c (redisplay_internal): If redisplaying the selected
9735         window or one of the frames turns on the frame's 'redisplay' flag,
9736         redisplay again.  (Bug#21428)
9738         * src/frame.c (x_set_font): Set the frame's 'fonts_changed' flag.
9740 2015-10-17  Michael Albinus  <michael.albinus@gmx.de>
9742         Solve timimg issues in file-notify-tests.el
9744         * test/automated/file-notify-tests.el (file-notify-test02-events):
9745         Rectify `attribute-change' tests.  There are timing issues with
9746         gfilenotify.  (Bug#21669)
9748 2015-10-16  Paul Eggert  <eggert@cs.ucla.edu>
9750         Fix quoting of data within htmlfontify doc
9752         * doc/misc/htmlfontify.texi (Data Structures, Customization):
9753         Fix quoting of data structures.  A Lisp quote is needed only
9754         when data appears within Lisp code.
9756 2015-10-16  Artur Malabarba  <bruce.connor.am@gmail.com>
9758         * lisp/emacs-lisp/package.el: Reload archive-contents if
9759         priorities change.
9760         (package--old-archive-priorities): New variable.
9761         (package-read-all-archive-contents, package-menu--refresh): Use it
9762         to decide when the `package-archive-contents' needs to be read
9763         again.
9765 2015-10-16  Paul Eggert  <eggert@cs.ucla.edu>
9767         Make src headers idempotent and standalone
9769         Redo src/*.h so that each include file is idempotent (that is, can
9770         be included multiple times with the latter inclusions having no
9771         effect) and standalone (that is, can be included by itself,
9772         with no include file other than config.h needed as a prerequisite).
9773         This is standard practice in GNU programs nowadays.
9774         * lwlib/lwlib-widget.h, src/buffer.h, src/category.h, src/character.h:
9775         * src/charset.h, src/coding.h, src/commands.h, src/disptab.h:
9776         * src/fontset.h, src/gnutls.h, src/indent.h, src/keymap.h, src/macros.h:
9777         * src/regex.h [emacs]:
9778         * src/syntax.h, src/systty.h, src/termhooks.h:
9779         Include lisp.h, for Lisp_Object.
9780         * src/buffer.h, src/category.h, src/cm.h, src/commands.h, src/disptab.h:
9781         * src/indent.h, src/intervals.h, src/keyboard.h, src/macros.h:
9782         * src/process.h, src/puresize.h, src/region-cache.h, src/syntax.h:
9783         * src/syssignal.h, src/sysstdio.h, src/systty.h, src/termchar.h:
9784         * src/termopts.h, src/tparam.h, src/unexec.h:
9785         Protect against multiple inclusion.
9786         * src/buffer.h: Include character.h, for STRING_CHAR.
9787         * src/emacsgtkfixed.h (struct frame):
9788         * src/fontset.h (struct face):
9789         * src/region-cache.h (struct buffer):
9790         * src/termhooks.h (struct glyph):
9791         * src/xsettings.h (struct x_display_info):
9792         Add possibly-forward decl.
9793         * src/syntax.h: Include buffer.h, for BVAR.
9794         * src/sysselect.h: Include lisp.h, for eassume.
9795         * src/termchar.h: Include <stdio.h>, for FILE.
9796         * src/widget.h: Include <X11/IntrinsicP.h>, for Widget.
9797         * src/xsettings.h: Include <X11/Xlib.h>, for XEvent.
9799 2015-10-16  Jürgen Hötzel  <juergen@archlinux.org>
9801         Handle symlink targets containing spaces in tramp-gvfs.el
9803         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
9804         Handle symlink targets containing spaces.
9806 2015-10-16  Artur Malabarba  <bruce.connor.am@gmail.com>
9808         * lisp/custom.el (custom-theme-load-path): Demote to defvar.
9810         `custom-theme-load-path' was a defcustom, but it shouldn't be for the
9811         same reason that `load-path' shouldn't.  Setting it via the customize
9812         interface is a trap for the user.
9814         Installed themes commonly add themselves to this variable, which means
9815         its value is not fit for being saved (it will permanently remember dirs
9816         that don't exist anymore).
9818         This is aggravated by the fact that Emacs always applies the `user'
9819         theme on top of any theme that's loaded, since this will apply the old
9820         variable value and remove any new directories that had been recently
9821         added by themes themselves.
9823         Not to mention, we already have `custom-theme-directory', which is safe
9824         to customize.
9826 2015-10-16  Stefan Monnier  <monnier@iro.umontreal.ca>
9828         * lisp/mpc.el: Rename the new toggling commands.
9829         (mpc-toggle-consume, mpc-toggle-repeat, mpc-toggle-single)
9830         (mpc-toggle-shuffle): Add "-toggle" in the name.
9832 2015-10-16  Eli Zaretskii  <eliz@gnu.org>
9834         Improve the doc string of 'completion-boundaries'
9836         * lisp/minibuffer.el (completion-boundaries): Rename the argument
9837         TABLE to COLLECTION, for consistency with other high-level
9838         completion functions.  Document how COLLECTION is called if it
9839         is a function.  (Bug#21644)
9841 2015-10-16  Oleh Krehel  <ohwoeowho@gmail.com>
9843         * lisp/dired-aux.el (dired-shell-command): Fix compile warning.
9845 2015-10-16  Oleh Krehel  <ohwoeowho@gmail.com>
9847         Make dired-do-compress work for *.zip files
9849         * lisp/dired-aux.el (dired-check-process): Transform the top-level
9850           comment into a docstring.
9851         (dired-shell-command): New command.  This mirrors
9852         `dired-check-process', but is more user-friendly for passing
9853         arguments.
9854         (dired-compress-file-suffixes): Allow to specify the command switches
9855         along with input (%i) and output (%o) inside the PROGRAM part.
9856         Add an entry for *.zip files, and update the entry for *.tar.gz files
9857         to the new style.  Update the docstring.
9858         (dired-compress-file): When PROGRAM matches %i or %o, use the new
9859         logic.
9860         (dired-update-file-line): Avoid an error when at end of buffer.
9862         Fixes bug#21637.
9864 2015-10-16  Eli Zaretskii  <eliz@gnu.org>
9866         Minor improvement in documentation of internals
9868         * doc/lispref/internals.texi (Writing Emacs Primitives): Document QUIT.
9870 2015-10-16  Eli Zaretskii  <eliz@gnu.org>
9872         Improve documentation of COLLECTION in completion functions
9874         * doc/lispref/minibuf.texi (Minibuffer Completion): Add a
9875         cross-reference to "Programmed Completion".
9877         * src/minibuf.c (Fcompleting_read): Improve the doc string.
9878         (Bug#21644)
9880 2015-10-16  Eli Zaretskii  <eliz@gnu.org>
9882         Add more release info to etc/HISTORY
9884         * etc/HISTORY: Add more release information about 19.x and 20.x
9885         versions.
9887 2015-10-15  Paul Eggert  <eggert@cs.ucla.edu>
9889         New file etc/HISTORY
9891         * admin/FOR-RELEASE: Procedure for etc/HISTORY.
9892         * etc/HISTORY: New file.
9893         * etc/NEWS: Mention it.
9895 2015-10-15  Dmitry Gutov  <dgutov@yandex.ru>
9897         js-mode: Don't misindent generator methods
9899         * lisp/progmodes/js.el (js--looking-at-operator-p): Distinguish
9900         generator methods from multiplication operator
9901         (https://github.com/mooz/js2-mode/issues/275).
9903 2015-10-15  Paul Eggert  <eggert@cs.ucla.edu>
9905         Fix animation timeout delay calculation
9907         * lisp/image.el (image-animate-timeout):
9908         Don’t assume speed is floating-point.
9910 2015-10-15  Mark Oteiza  <mvoteiza@udel.edu>
9912         Add commands for controlling MPD modes
9914         * lisp/mpc.el (mpc-cmd-consume, mpc-cmd-random, mpc-cmd-repeat)
9915         (mpc-cmd-single): New functions.
9916         (mpc-consume, mpc-repeat, mpc-single, mpc-shuffle): New commands.
9917         (mpc-mode-menu): Add new commands as menu items.
9919 2015-10-15  Dmitry Gutov  <dgutov@yandex.ru>
9921         Refer to `(elisp)Basic Completion' in completing-read docstring
9923         * src/minibuf.c (Fcompleting_read): Refer to `(elisp)Basic
9924         Completion' in the docstring (bug#21644).
9926 2015-10-14  Mark Oteiza  <mvoteiza@udel.edu>
9928         * lisp/mpc.el (mpc-format): Always push form to pred
9930 2015-10-14  Paul Eggert  <eggert@cs.ucla.edu>
9932         Spelling fixes
9934         * configure.ac (bitmapdir): Fix misspelling of bmd_acc.
9935         * test/automated/coding-tests.el (ert-test-coding-bogus-coding-systems):
9936         Fix misspelling of nonexistent file name.
9938 2015-10-14  Mark Oteiza  <mvoteiza@udel.edu>
9940         * lisp/mpc.el (mpc-mode-menu, mpc-toggle-play): Fix docstrings
9942 2015-10-14  Michael Albinus  <michael.albinus@gmx.de>
9944         Some editing fixes in Tramp
9946         * lisp/net/tramp-gvfs.el:
9947         * doc/misc/tramp.texi: "customer option" -> "custom option".
9949         * lisp/net/tramp.el (tramp-completion-function-alist): Fix docstring.
9951 2015-10-14  Jürgen Hötzel  <juergen@archlinux.org>
9953         Use proper localization in tramp-gvfs.el
9955         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
9956         Suppress localized settings in order to proper parse gfvs output.
9958 2015-10-14  Warren Lynn  <wrn.lynn@gmail.com>  (tiny change)
9960         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
9961         Quote argument in proper order.  (Bug#21562)
9963 2015-10-14  Nicolas Petton  <nicolas@petton.fr>
9965         Fix typos in docstrings
9967         * lisp/emacs-lisp/map.el:
9968         * lisp/emacs-lisp/seq.el: Fix typos in the docstrings of the pcase
9969           macros.
9971 2015-10-14  Mark Oteiza  <mvoteiza@udel.edu>
9973         * lisp/mpc.el (mpc-volume-refresh): Check if buffer is live.
9975 2015-10-14  Oleh Krehel  <ohwoeowho@gmail.com>
9977         Make dired-jump work with tar-subfile-mode
9979         * lisp/dired-x.el (dired-jump): When in `tar-subfile-mode', instead of
9980           emitting an error, switch to `tar-superior-buffer'.
9982 2015-10-14  Juanma Barranquero  <lekktu@gmail.com>
9984         * .gitignore: Add build-aux/ar-lib.
9986 2015-10-14  Nicolas Petton  <nicolas@petton.fr>
9988         Better docstrings in seq.el and map.el
9990         * lisp/emacs-lisp/map.el:
9991         * lisp/emacs-lisp/seq.el: Improve the docstring for the pcase patterns.
9993 2015-10-14  Paul Eggert  <eggert@cs.ucla.edu>
9995         Merge from gnulib
9997         This incorporates:
9998         2015-10-13 binary-io, u64, unistd: port to strict C
9999         2015-09-26 c-ctype: do not worry about EBCDIC + char signed
10000         2015-09-25 c-ctype: port better to z/OS EBCDIC
10001         2015-09-25 gnulib-common.m4: fix gl_PROG_AR_RANLIB/AM_PROG_AR clash
10002         * doc/misc/texinfo.tex, lib/binary-io.c, lib/c-ctype.h, lib/u64.c:
10003         * lib/unistd.c, m4/gnulib-common.m4, m4/gnulib-comp.m4:
10004         Copy from gnulib.
10006 2015-10-14  Paul Eggert  <eggert@cs.ucla.edu>
10008         Take XPNTR private
10010         * src/alloc.c (PURE_POINTER_P): Remove.
10011         All uses replaced with PURE_P.
10012         (XPNTR_OR_SYMBOL_OFFSET): New function.
10013         (XPNTR): Move here from lisp.h.
10014         Reimplement in terms of XPNTR_OR_SYMBOL_OFFSET.
10015         (mark_maybe_object, valid_lisp_object_p, survives_gc_p):
10016         Remove unnecessary cast.
10017         (purecopy): Use XPNTR_OR_SYMBOL_OFFSET instead of XPNTR,
10018         to avoid an unnecessary runtime test for symbols.
10019         * src/lisp.h (lisp_h_XPNTR, XPNTR): Remove, moving XPNTR to alloc.c.
10020         Only alloc.c needs XPNTR now.
10022 2015-10-13  Mark Oteiza  <mvoteiza@udel.edu>
10024         Add MPC play/pause command
10026         * lisp/mpc.el (mpc-toggle-play): New command.
10027         (mpc-mode-map): Bind it to "s".
10028         (mpc-mode-menu): Add corresponding menu item.
10030 2015-10-13  Mark Oteiza  <mvoteiza@udel.edu>
10032         Add bindings and menu items for prev and next tracks
10034         * lisp/mpc.el (mpc-mode-map): Bind ">" to mpc-next,
10035         "<" to mpc-prev.
10036         (mpc-mode-menu): Add corresponding menu items
10038 2015-10-13  Ken Raeburn  <raeburn@raeburn.org>
10040         Reduce face-related consing during frame creation.
10042         * faces.el (face--attributes-unspecified): Compute the "unspecified"
10043         attribute list once.
10044         (face-spec-reset-face): Use it instead of building the list.
10046 2015-10-13  Ken Raeburn  <raeburn@permabit.com>
10048         Do process ConfigureNotify events indicating size changes.
10050         * src/xterm.c (handle_one_xevent): If consecutive ConfigureNotify
10051         events don't have the same size, process each one.
10053 2015-10-13  Mark Oteiza  <mvoteiza@udel.edu>
10055         Derive mpc-mode from special-mode
10057         lisp/mpc.el (mpc-mode-map): Make from sparse keymap.  Unbind g.
10058         (mpc-mode): Derive from special mode.
10059         (mpc-songs-mode-map): Don't set parent keymap.
10061 2015-10-13  Mark Oteiza  <mvoteiza@udel.edu>
10063         Fix error messages for when covers are not found.
10065         The last change to mpc-format let the binding to file call
10066         mpc-file-local-copy with nil argument.  Instead, employ if-let here
10067         so nil bindings don't result in needless computation and errors.
10068         * lisp/mpc.el: Require 'subr-x at compile time.
10069         * lisp/mpc.el (mpc-format): Use if-let.
10071 2015-10-13  Oleh Krehel  <ohwoeowho@gmail.com>
10073         Make dired-do-compress work for *.tar.gz files
10075         * lisp/dired-aux.el (dired-compress-file-suffixes): Associate
10076           "tar -zxvf" to *.tar.gz; update docstring.
10078         (dired-compress-file): Allow to specify switches after the command in
10079         `dired-compress-file-suffixes'.
10081 2015-10-13  Oleh Krehel  <ohwoeowho@gmail.com>
10083         Make dired-do-compress work for directories
10085         * lisp/dired-aux.el (dired-compress-file): When FILE is a directory,
10086           instead of emitting an error, call "tar -czf FILE.tar.gz FILE".
10087         Also convert the top comment into a docstring.
10089 2015-10-13  Stefan Monnier  <monnier@iro.umontreal.ca>
10091         * lisp/mpc.el (mpc-songs-refresh): Don't side-effect `active'
10093         ... since it might come straight from the memoizing table.
10095 2015-10-13  Juanma Barranquero  <lekktu@gmail.com>
10097         * src/w32fns.c (x_change_tool_bar_height): Remove unused variable frame.
10099 2015-10-13  Mark Oteiza  <mvoteiza@udel.edu>
10101         Use special-mode in eww list modes
10103         * lisp/net/eww.el (eww-bookmark-mode, eww-history-mode)
10104         (eww-buffers-mode): Derive from special-mode and remove redundant
10105         setting of buffer-read-only.
10106         (eww-mode-map): Remove redundant keymap parent setting.
10107         (eww-bookmark-mode-map, eww-history-mode-map, eww-buffers-mode-map):
10108         Remove redundant keymap suppressions and mappings.
10110 2015-10-13  Martin Rudalics  <rudalics@gmx.at>
10112         Allow setting frame pixel sizes from frame parameters (Bug#21415)
10114         Also fix some misfeatures in frame (re-)sizing code, add more
10115         debugging information and remove some dead code.
10117         * lisp/frame.el (frame-notice-user-settings, make-frame): Change
10118         parameter names when setting `frame-size-history'.
10119         (frame--size-history): New function.
10121         * src/frame.c (frame_inhibit_resize): If frame has not been made
10122         yet, return t if inhibit_horizontal_resize or
10123         inhibit_vertical_resize bit have been set.
10124         (adjust_frame_size): Simplify.
10125         (make_frame): Initialize inhibit_horizontal_resize,
10126         inhibit_vertical_resize, tool_bar_redisplayed, tool_bar_resized.
10127         (Fframe_after_make_frame): Reset inhibit_horizontal_resize and
10128         inhibit_vertical_resize slots.
10129         (x_set_frame_parameters): Handle `text-pixels' specification for
10130         width and height parameters.  Don't consider new_height or
10131         new_width changes.  Call adjust_frame_size instead of
10132         Fset_frame_size.
10133         (x_figure_window_size): Two new arguments x_width and y_width
10134         returning frame's figures width and height.  Calculate tool bar
10135         height before frame sizes so SET_FRAME_HEIGHT can pick it up.
10136         Handle `text-pixels' specification for width and height
10137         parameters.
10138         (Qtext_pixels, Qx_set_frame_parameters, Qset_frame_size)
10139         (Qx_set_window_size_1, Qx_set_window_size_2)
10140         (Qx_set_window_size_3, Qx_set_menu_bar_lines)
10141         (Qupdate_frame_menubar, Qfree_frame_menubar_1)
10142         (Qfree_frame_menubar_2): New symbols.
10143         * src/frame.h (structure frame): New booleans
10144         tool_bar_redisplayed, tool_bar_resized,
10145         inhibit_horizontal_resize, inhibit_vertical_resize.
10146         (x_figure_window_size): Update external declaration.
10147         * src/gtkutil.c (xg_frame_set_char_size): Set size hints before
10148         calling gtk_window_resize.
10149         (update_frame_tool_bar): Make inhibiting of frame resizing more
10150         discriminative.  Set tool_bar_resized bit.
10151         * src/nsfns.m (x_set_tool_bar_lines): Make inhibiting of frame
10152         resizing more discriminative.  Call adjust_frame_size instead of
10153         x_set_window_size.
10154         (Fx_create_frame): Handle x_width and x_height if
10155         set by x_figure_window_size.
10156         * src/nsterm.m (x_set_window_size): For GNUSTEP build don't
10157         subtract 3 from tool bar height.
10158         (x_set_window_size): Add frame_size_history_add call.
10159         (x_new_font): Call adjust_frame_size instead of
10160         x_set_window_size.
10161         * src/w32fns.c (x_change_tool_bar_height): Reset
10162         tool_bar_redisplayed and tool_bar_resized bits when adding tool
10163         bar.  Make inhibiting of frame resizing more discriminative.
10164         (w32_wnd_proc): Remove dead code in WM_WINDOWPOSCHANGING case.
10165         (Fx_create_frame): Handle x_width and x_height if set by
10166         x_figure_window_size.  Set size hints before adjusting frame size.
10167         (x_create_tip_frame): Adjust x_figure_window_size call.
10168         * src/w32term.c (x_set_window_size): Add frame_size_history_add
10169         call.
10170         * src/widget.c (set_frame_size): Remove dead code.  Add
10171         frame_size_history_add call.  When frame_resize_pixelwise is t
10172         use FRAME_PIXEL_WIDTH and FRAME_PIXEL_HEIGHT instead of
10173         pixel_width and pixel_height.
10174         (update_various_frame_slots): Remove dead code.
10175         (EmacsFrameResize): Add more information in
10176         frame_size_history_add call.
10177         (EmacsFrameQueryGeometry): Round only when frame_resize_pixelwise
10178         is not set.
10179         * src/xdisp.c (redisplay_tool_bar): Set tool_bar_redisplayed bits.
10180         * src/xfns.c (x_set_menu_bar_lines): Change argument name.
10181         (x_change_tool_bar_height): Reset tool_bar_redisplayed and
10182         tool_bar_resized bits when adding tool bar.  Make inhibiting of
10183         frame resizing more discriminative.
10184         (Fx_create_frame): Handle x_width and x_height if set by
10185         x_figure_window_size.  Set size hints before adjusting frame size.
10186         (x_create_tip_frame): Adjust x_figure_window_size call.
10187         * src/xmenu.c (update_frame_menubar): Don't handle Lucid specially.
10188         (set_frame_menubar): On Lucid never add core-border-width to
10189         avoid that adding XtNinternalBorderWidth adds it again.
10190         (free_frame_menubar): Handle frame_inhibit_resize true for Motif.
10191         * src/xterm.c (x_new_font): In non-toolkit case handle size
10192         change of menu bar.
10193         (x_set_window_size_1): Fix calls to frame_size_history_add.
10194         (x_wm_set_size_hint): Remove dead code.  Set
10195         size_hints.min_width and size_hints.min_height to base_width and
10196         base_height.
10198 2015-10-13  Michael Albinus  <michael.albinus@gmx.de>
10200         * test/automated/file-notify-tests.el (file-notify--test-timeout):
10201         Add docstring.  Increase to 10 seconds for remote
10202         directories.  (Bug#21669)
10204 2015-10-12  Paul Eggert  <eggert@cs.ucla.edu>
10206         Unmacroize ebrowse.c and etags.c a bit
10208         * lib-src/ebrowse.c (READ_CHUNK_SIZE): Now an enum constant.
10209         (streq, filename_eq, set_flag, has_flag): Now inline functions.
10210         (set_flag): First arg is now an address, not an lvalue.
10211         All callers changed.
10212         (filename_eq, set_flag, has_flag):
10213         Rename from FILENAME_EQ, SET_FLAG, HAS_FLAG.
10214         All callers changed.
10215         * lib-src/etags.c (streq, strcaseeq, strneq, strncaseeq):
10216         Now inline functions.  Remove asserts that are unnecessary these
10217         days (and in some cases were too-generous anyway).
10219 2015-10-12  Mark Oteiza  <mvoteiza@udel.edu>
10221         Use highlight for current items
10223         * lisp/mpc.el (mpc-select-make-overlay, mpc-tagbrowser-all-select):
10224         Apply highlight face instead of region face.
10226 2015-10-12  Mark Oteiza  <mvoteiza@udel.edu>
10228         Search for more cover image names in MPC
10230         * lisp/mpc.el (mpc-format): Also look for .folder.jpg or folder.jpg
10231         case insensitively
10233 2015-10-12  Juanma Barranquero  <lekktu@gmail.com>
10235         Remove or comment out unused variables
10237         * src/w32fns.c (x_set_mouse_color): Comment out variables cursor,
10238         nontext_cursor, mode_cursor, hand_cursor and count.
10239         (x_change_tool_bar_height): Remove variable old_text_height.
10240         (deliver_wm_chars): Remove variable strip_Alt.
10241         (Fw32_shell_execute): Remove variable document_a.
10242         (Fw32_frame_geometry): Remove variable fullboth.
10243         * src/w32term.c (w32_setup_relief_color): Comment out variable
10244         w32_display_info.
10245         (w32_horizontal_scroll_bar_handle_click): Remove variables start, end.
10246         (w32_read_socket): Comment out variables rows, columns.
10247         * src/w32uniscribe.c (uniscribe_check_otf_1): Remove variable rest.
10249 2015-10-12  Juanma Barranquero  <lekktu@gmail.com>
10251         * src/w32proc.c (sys_select): Fix bitwise test.
10253 2015-10-12  Eli Zaretskii  <eliz@gnu.org>
10255         Minor typo corrections in doc strings
10257         * lisp/menu-bar.el (popup-menu, popup-menu-normalize-position):
10258         Doc fixes.
10260 2015-10-12  Eli Zaretskii  <eliz@gnu.org>
10262         * nt/INSTALL: Recommend MSYS Automake/Autoconf from ezwinports.
10264 2015-10-12  Eli Zaretskii  <eliz@gnu.org>
10266         Attempt to avoid crashes in plist-member
10268         * src/fns.c (Fplist_member): Don't call QUIT between a CONSP test
10269         and a call to XCDR.  (Bug#21655)
10271 2015-10-12  Mike FABIAN  <mfabian@redhat.com>
10273         * lisp/select.el (gui-get-primary-selection): In
10274         gui-get-primary-selection use gui--selection-value-internal (Bug#20906)
10276 2015-10-12  Tassilo Horn  <tsdh@gnu.org>
10278         Support RTF in doc-view
10280         * lisp/doc-view.el (doc-view-set-doc-type): Add entry for RTF extension.
10282 2015-10-12  Juanma Barranquero  <lekktu@gmail.com>
10284         * src/w32fns.c (get_wm_chars): Increment counter, not pointer.
10286 2015-10-11  Nicolas Petton  <nicolas@petton.fr>
10288         Replace the usage of an obsolete function in auth-source.el
10290         * lisp/gnus/auth-source.el (auth-source-epa-make-gpg-token):
10291         Replace an usage of `epg-context-set-armor' with `setf'.
10293 2015-10-11  Nicolas Petton  <nicolas@petton.fr>
10295         * lisp/gnus/auth-source.el: Use sharp-quoting with functions.
10297 2015-10-11  Jay Belanger  <jay.p.belanger@gmail.com>
10299         Have calc-yank recognize numbers in different bases.
10301         * lisp/calc/calc-yank.el (math-number-regexp): New function.
10302         (calc-yank): Use `math-number-regexp' to recognize numbers.
10304 2015-10-11  Ken Raeburn  <raeburn@raeburn.org>
10306         Handle an opaque-move X11 window manager operation more efficiently
10308         * src/xterm.c (handle_one_xevent): If a ConfigureNotify event is
10309         followed by more ConfigureNotify events for the same window, process
10310         only the last one.
10312 2015-10-11  Ken Raeburn  <raeburn@raeburn.org>
10314         Fix cursor setting for tip frame; re-enable cursor generation
10316         * src/xfns.c (x_create_tip_frame): Include the cursor in the window
10317         attributes sent when creating the new X window.  Don't skip setting
10318         the pointerColor parameter.
10320 2015-10-11  Ken Raeburn  <raeburn@raeburn.org>
10322         Rewrite x_set_mouse_color to sync less
10324         We can track serial numbers of X requests and correlate error events
10325         with the associated requests.  This way we can identify errors for
10326         specific calls without having to use XSync after every one.
10328         * src/xfns.c (enum mouse_cursor): New type.
10329         (struct mouse_cursor_types, struct mouse_cursor_data): New types.
10330         (mouse_cursor_types): New array listing the Lisp variables and default
10331         cursor appearances for each cursor type.
10332         (x_set_mouse_color_handler): New function; checks error event serial
10333         number against submitted requests.
10334         (x_set_mouse_color): Updated to use the new error handler callback,
10335         and to be more table-driven, to simplify repetitious code.
10337 2015-10-11  Ken Raeburn  <raeburn@raeburn.org>
10339         Add x_catch_errors_with_handler
10341         * src/xterm.c (struct x_error_message_stack): Add new fields for a
10342         callback function and associated data pointer.
10343         (x_error_catcher): If the callback function is set, call it after
10344         saving the error message string.
10345         (x_catch_errors_with_handler): Renamed from x_catch_errors but now
10346         accepts a callback function and data pointer.
10347         (x_catch_errors): Now a wrapper function.
10348         * src/xterm.h (x_special_error_handler): New typedef.
10349         (x_catch_errors_with_handler): Declare.
10351 2015-10-11  Ken Raeburn  <raeburn@raeburn.org>
10353         Introduce x_uncatch_errors_after_check to reduce XSync calls
10355         Both x_had_errors_p and x_check_errors call XSync, so if they're
10356         immediately followed by x_uncatch_errors, its XSync call will be
10357         redundant, resulting in a wasted round trip to the X server.
10359         * src/xterm.c (x_uncatch_errors_after_check): New routine; a copy of
10360         x_uncatch_errors without the XSync call.
10361         (XTmouse_position, x_wm_supports):
10362         * src/xfns.c (x_set_mouse_color):
10363         * src/xmenu.c (Fx_menu_bar_open_internal):
10364         * src/xselect.c (x_own_selection, x_get_foreign_selection):
10365         (Fx_get_atom_name): Call it instead of x_uncatch_errors.
10366         * src/xterm.h (x_uncatch_errors_after_check): Declare.
10368 2015-10-10  Jay Belanger  <jay.p.belanger@gmail.com>
10370         Document the optional prefix to `calc-yank'
10372         * doc/misc/calc.texi (Yanking into the Stack): Document the optional
10373         prefix to `calc-yank'.
10374         * lisp/calc/calc-yank.el (calc-yank): Ensure that things killed from
10375         the Calc buffer are yanked back unchanged.
10377 2015-10-10  Mark Oteiza  <mvoteiza@udel.edu>
10379         * lisp/calendar/calendar.el: Display buffer before executing body.
10381         In each use of this macro, the modeline is derived from a window width
10382         calculation, which will be wrong if (display-buffer) splits the window
10383         horizontally.
10385 2015-10-10  Paul Eggert  <eggert@cs.ucla.edu>
10387         Use ‘echo’ safely with ‘\’ or leading ‘-’
10389         POSIX says that ‘echo FOO’ produces implementation-defined output
10390         if FOO contains leading ‘-’, or ‘\’ anywhere, so don’t assume GNU
10391         behavior in that case.
10392         * Makefile.in (removenullpaths): Remove.
10393         (epaths-force): Rewrite to avoid the need for ‘echo’.
10394         (install-etc): Be clearer about escaping the shell metacharacters
10395         ‘\’ and ‘$’.
10396         * Makefile.in (install-arch-indep, install-etcdoc):
10397         * admin/charsets/mapconv, admin/merge-gnulib, admin/merge-pkg-config:
10398         * admin/quick-install-emacs, build-aux/gitlog-to-emacslog:
10399         * configure.ac, lib-src/rcs2log, make-dist:
10400         * src/Makefile.in (lisp.mk):
10401         Don’t assume ‘echo’ outputs ‘\’ and leading ‘-’ unscathed.
10402         For example, use ‘printf '%s\n' "$foo"’ rather than ‘echo "$foo"’
10403         if $foo can contain arbitrary characters.
10404         * lisp/Makefile.in (TAGS): Use ‘ls’, not ‘echo’, to avoid ‘\’ issues.
10405         * doc/lispref/two-volume.make (vol1.pdf):
10406         * test/etags/make-src/Makefile (web ftp publish):
10407         Use ‘printf’ rather than ‘echo -e’.
10409 2015-10-10  Kaushal Modi  <kaushal.modi@gmail.com>
10411         Allow numbers with different radixes to be yanked.
10413         * lisp/calc/calc-yank.el (calc-yank): Allow radixes besides the
10414         default base 10.
10416 2015-10-10  Paul Eggert  <eggert@cs.ucla.edu>
10418         Improve CHECK_IMPURE and PURE_P speedup
10420         * src/data.c (Faset): Use XVECTOR and XSTRING rather than XPNTR.
10422 2015-10-10  Jay Belanger  <jay.p.belanger@gmail.com>
10424         Use events instead of chars to keep track of steps.
10426         * lisp/calc/calc-prog.el (calc-kbd-loop): Use events instead of chars
10427         to keep track of steps.
10429 2015-10-10  Paul Eggert  <eggert@cs.ucla.edu>
10431         Fix --enable-gcc-warnings problem with older GCC
10433         * src/puresize.h: Add INLINE_HEADER_BEGIN, INLINE_HEADER_END.
10434         This is for building with --enable-gcc-warnings with
10435         GCC 4.6 through 5.0.
10437 2015-10-10  Eli Zaretskii  <eliz@gnu.org>
10439         Fix vertical-motion in truncated lines that end in a stretch
10441         * src/indent.c (Fvertical_motion): Expect overshoot when point is
10442         beyond window margin and lines are truncated, even if we have a
10443         stretch at point.  (Bug#21468)
10445 2015-10-10  Eli Zaretskii  <eliz@gnu.org>
10447         Avoid link-time errors due to inline functions
10449         * src/emacs.c: Include puresize.h, to avoid link-time errors in
10450         unoptimized builds due to PURE_P and CHECK_IMPURE, which are now
10451         inline functions.
10453 2015-10-10  Andreas Schwab  <schwab@linux-m68k.org>
10455         * src/data.c (Faset): Fix last change.
10457 2015-10-10  Paul Eggert  <eggert@cs.ucla.edu>
10459         CHECK_IMPURE and PURE_P speedup
10461         * src/intervals.c (create_root_interval):
10462         Do CHECK_IMPURE only for strings; not needed for buffers.
10463         Prefer ! STRINGP to BUFFERP, for a tad more speed.
10464         * src/puresize.h (CHECK_IMPURE, PURE_P):
10465         Now inline functions instead of macros.
10466         (PURE_P): Don’t use XPNTR; that is now the caller’s responsibility.
10467         All callers changed.
10468         (CHECK_IMPURE): New argument PTR, to save us the work of running XPNTR.
10469         All callers changed.
10471 2015-10-09  Noah Friedman  <friedman@splode.com>
10473         (tramp-open-connection-setup-interactive-shell): Send -onlcr as well.
10475 2015-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
10477         * lisp/progmodes/cc-mode.el (c-after-font-lock-init): Only *move*
10479         our after-change-function, rather than re-adding it if it was removed.
10481 2015-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
10483         * lisp/cedet/ede: Silence some compiler warnings
10485         * lisp/cedet/ede.el: Require cl-lib.  Silence some compiler warnings.
10486         (ede-menu-obj-of-class-p): Use cl-some rather than `eval'.
10487         (ede-apply-object-keymap, ede-reset-all-buffers)
10488         (ede-auto-add-to-target): Use dolist.
10489         (ede-new, ede-flush-deleted-projects, ede-global-list-sanity-check):
10490         Use field names rather than initarg names in `oref'.
10491         (ede-load-project-file): Remove unused var `file'.
10492         (ede-map-any-target-p): Use cl-some rather than ede-map-targets.
10493         (ede-set): Remove unused var `a'.
10495         * lisp/cedet/ede/emacs.el: Silence some compiler warnings.
10496         (ede-project-autoload): Avoid the old-style "name" argument.
10497         (ede-emacs-find-matching-target): Use field names rather than initarg
10498         names in `oref'.
10500         * lisp/cedet/ede/linux.el: Silence some compiler warnings.
10501         (ede-linux-load, ede-project-autoload): Avoid the old-style
10502         "name" argument.
10503         (ede-linux-find-matching-target): Use field names rather than initarg
10504         names in `oref'.
10506 2015-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
10508         * lisp/textmodes/reftex.el: Silence byte-compiler warnings.
10510 2015-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
10512         * lisp/progmodes/prolog.el (prolog-smie-rules): Try and avoid
10513         indenting too far after ":-".
10515 2015-10-09  Eli Zaretskii  <eliz@gnu.org>
10517         Update case-table and categories of recently added characters
10519         * lisp/international/characters.el: Update information about Latin
10520         Extended-C, Latin Extended-D, Latin Extended-E, Cyrillic Extended,
10521         Georgian, Glagolitic, Deseret, Old Hungarian, and Warang Citi
10522         blocks.  (Byug#21654)
10524 2015-10-09  Martin Rudalics  <rudalics@gmx.at>
10526         * src/frame.c (adjust_frame_size): In minibuffer-only windows
10527         don't count minibuffer height twice.  (Bug#21643)
10529 2015-10-09  Eli Zaretskii  <eliz@gnu.org>
10531         Avoid inflooping in font-lock
10533         * lisp/font-lock.el (font-lock-extend-region-wholelines): Bind
10534         inhibit-field-text-motion around the call to
10535         line-beginning-position, to avoid inflooping.  (Bug#21615)
10537 2015-10-09  Tassilo Horn  <tsdh@gnu.org>
10539         Refactor duplicated code; ensure default is in completions
10541         * lisp/textmodes/reftex-cite.el (reftex--query-search-regexps):
10542         New function.
10543         (reftex-extract-bib-entries): Use it.
10544         (reftex-extract-bib-entries-from-thebibliography): Use it.
10546 2015-10-09  Vincent Belaïche  <vincentb1@users.sourceforge.net>
10548         * doc/misc/autotype.texi (Skeletons as Abbrevs): "if" -> "ifst"
10549         in the example.
10551 2015-10-08  Stefan Monnier  <monnier@iro.umontreal.ca>
10553         * lisp/calc/calc.el: Silence byte-compiler warnings.
10554         (calc-scan-for-dels): Use ignore-errors.
10555         (calc-dispatch, calc-do-dispatch): Make unused arg optional.
10556         (calc-read-key-sequence): Remove unused var `prompt2'.
10557         (calc-kill-stack-buffer): Remove unused var `buflist'.
10558         (calc): Remove unused var `oldbuf'.
10559         (calc-refresh): Use inhibit-read-only.
10560         (calc-can-abbrev-vectors): Declare.
10561         (calc-record): Remove unused var `mainbuf'.
10562         (math-sub-bignum): Remove unused var `sum'.
10563         (math-svo-c, math-svo-wid, math-svo-off): Declare.
10565 2015-10-08  Daiki Ueno  <ueno@gnu.org>
10567         Use g_clear_error instead of g_error_free
10569         * src/image.c: Define g_clear_error instead of g_error_free.
10570         (init_svg_functions): Resolve symbol g_clear_error instead of
10571         g_error_free.
10572         (svg_load_image): Use g_clear_error instead of g_error_free, to
10573         suppress GLib warnings when ERR is not set.  See bug#21641.
10575 2015-10-08  Paul Eggert  <eggert@cs.ucla.edu>
10577         * src/image.c (image_size_error): Simplify.
10579 2015-10-08  Paul Eggert  <eggert@cs.ucla.edu>
10581         Fix problems caught with --enable-gcc-warnings
10583         * src/image.c (lookup_rgb_color):
10584         * src/xfns.c (x_defined_color):
10585         * src/xterm.c (x_parse_color):
10586         Remove unused locals.
10588 2015-10-08  Jay Belanger  <jay.p.belanger@gmail.com>
10590         * lisp/calc/calc.el (calc-digit-start-entry): Fix typo.
10592 2015-10-08  Jay Belanger  <jay.p.belanger@gmail.com>
10594         Format initial input uniformly
10596         * lisp/calc/calc.el (calc-digit-start-entry): New function.
10597         * lisp/calc/calc.el (calcDigit-start):
10598         * lisp/calc/calc-aent.el (calc-alg-digit-entry):
10599         Use `calc-digit-start-entry' to format input.
10601 2015-10-08  Ken Raeburn  <raeburn@raeburn.org>
10603         Disable non-working pointerColor setting for X tooltip frame
10605         It generates a bunch of server traffic, but there's some bug wherein
10606         the new mouse cursor settings don't seem to get used.  In most
10607         situations the cursor isn't likely to be seen anyway, so it's not
10608         urgent to fix.
10610         * src/xfns.c (x_create_tip_frame): Don't set pointerColor.
10612 2015-10-08  Ken Raeburn  <raeburn@raeburn.org>
10614         Reduce some unnecessary X calls
10616         * src/xfns.c (x_real_pos_and_offsets): Remove a redundant XGetGeometry
10617         call.  If border width is wanted, get it from the XGetGeometry call
10618         instead of calling XGetWindowAttributes on the same window.  Skip some
10619         X calls if we've already detected an error from the X server.
10620         * src/xterm.c (x_wm_supports): Delete x_sync before x_had_errors_p.
10621         (handle_one_xevent): Delete XSync call before x_uncatch_errors.
10623 2015-10-08  Ken Raeburn  <raeburn@raeburn.org>
10625         Reduce color allocation/query traffic in the TrueColor case
10627         When working with an X visual with TrueColor class, pixel values can
10628         be generated from the RGB values according to mask value provided by
10629         the server on connection.  Some of the image-handling code was already
10630         doing this.
10632         * src/xterm.h (x_make_truecolor_pixel): New function; code taken from
10633         lookup_rgb_color.
10634         (x_mutable_colormap): New function.
10635         * src/image.c (lookup_rgb_color): Move pixel composition code to
10636         x_make_truecolor_pixel.
10637         (x_kill_gs_process): Call x_mutable_colormap.
10638         * src/xfaces.c (x_free_colors, x_free_dpy_colors): Call
10639         x_mutable_colormap.
10640         * src/xftfont.c (xftfont_get_colors): Call x_query_colors.
10641         * src/xterm.c (x_query_colors): For a TrueColor display, decompose the
10642         pixel value into RGB values directly, and don't send a request to the
10643         server.
10644         (x_alloc_nearest_color): For a TrueColor display, construct the pixel
10645         value with x_make_truecolor_pixel.
10646         (x_copy_color): For an immutable color map, just return the provided
10647         pixel value.
10649 2015-10-08  Ken Raeburn  <raeburn@raeburn.org>
10651         Cache XParseColor results in the X display info structure
10653         With repeated lookups of foreground and background colors for multiple
10654         faces per frame, we issue a lot of redundant color name lookups to the
10655         X server, waiting every time for the response.  On a remote network
10656         with, say, 30ms round-trip time, this can add nearly a full second to
10657         creation of a new frame.
10659         * src/gtkutil.c (xg_check_special_colors): Call x_parse_color.
10660         * src/image.c (get_spec_bg_or_alpha_as_argb):
10661         (xpm_init_color_cache, xpm_lookup_color):
10662         * src/xfns.c (x_defined_color):
10663         * src/xterm.c (x_parse_color): New function; caches color names not
10664         starting with "#" in the display-info structure.
10665         (x_delete_display): Delete the cache content.
10666         * src/xterm.h (struct color_name_cache_entry): New type.
10667         (x_parse_color): Declare.
10668         (struct x_display_info): Add a new field for the cache.
10670 2015-10-07  Stefan Monnier  <monnier@iro.umontreal.ca>
10672         * src/syntax.c (syms_of_syntax): Make syntax-propertize--done local.
10674 2015-10-07  Eli Zaretskii  <eliz@gnu.org>
10676         Fix segfault in image_size_error
10678         * src/image.c (image_size_error): Pass a Lisp string to
10679         image_error, not a C string.  (Bug#21641)
10681 2015-10-07  Simen Heggestøyl  <simenheg@gmail.com>
10683         Highlight CSS variable definitions
10685         * lisp/textmodes/css-mode.el (css-nmstart-re): Tweak regexp to accept
10686         CSS variables.  (Bug#21638)
10688 2015-10-07  Artur Malabarba  <bruce.connor.am@gmail.com>
10690         * test/automated/tabulated-list-test.el: New file.
10691         Test bug#21639 and some basic functionality.
10693 2015-10-07  Artur Malabarba  <bruce.connor.am@gmail.com>
10695         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-sort):
10696         Check if column can be sorted before trying.  (Bug#21639)
10698 2015-10-07  Nicolas Richard  <youngfrog@members.fsf.org>
10700         Add test for `self-insert-command' (bug#21633)
10702         * test/automated/cmds-tests.el: New file.
10704 2015-10-07  Martin Rudalics  <rudalics@gmx.at>
10706         * src/window.c (resize_frame_windows): Don't set root window's
10707         top position when resizing horizontally.
10709 2015-10-07  Artur Malabarba  <bruce.connor.am@gmail.com>
10711         * lisp/progmodes/prog-mode.el (prettify-symbols-alist):
10712         Document more possible values.
10714 2015-10-06  Stefan Monnier  <monnier@iro.umontreal.ca>
10716         * lisp/textmodes/tex-mode.el: Use lexical-binding.
10718 2015-10-06  Stefan Monnier  <monnier@iro.umontreal.ca>
10720         * lisp/indent.el (indent--default-inside-comment): New function.
10721         (indent-for-tab-command): Use it for `noindent' indentation.
10723 2015-10-06  Paul Eggert  <eggert@cs.ucla.edu>
10725         Fix bug in GC_CHECK_MARKED_OBJECTS check
10727         * src/alloc.c (mark_object): Fix bug in checking code.
10728         When GC_CHECK_MARKED_OBJECTS is defined, the bug caused
10729         CHECK_ALLOCATED_AND_LIVE_SYMBOL to repeatedly do the
10730         CHECK_ALLOCATED and CHECK_LIVE tests for the first symbol in each
10731         bucket.  The bug did not affect behavior either in the normal case
10732         where GC_CHECK_MARKED_OBJECTS is not defined, or where Emacs does
10733         not have an internal error that a properly-written
10734         CHECK_ALLOCATED_AND_LIVE_SYMBOL would detect.
10736 2015-10-06  Tassilo Horn  <tsdh@gnu.org>
10738         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist):
10739         Add prettified version for \\Bbb{Q}.
10741 2015-10-06  Artur Malabarba  <bruce.connor.am@gmail.com>
10743         * test/automated/package-test.el (package-test-install-single):
10744         Add a test for bug#21625.
10746 2015-10-06  Aaron Ecay  <aaronecay@gmail.com>
10748         * lisp/emacs-lisp/package.el (package-install): Fix error when pkg is
10749           not a package-desc object.  Also clarify documentation.  (Bug#21625)
10751 2015-10-06  Eli Zaretskii  <eliz@gnu.org>
10753         Fix display of characters adjacent to ZWJ and ZWNJ
10755         * src/bidi.c (bidi_resolve_neutral): Treat all Bn (a.k.a. "control")
10756         characters the same as directional formatting controls.
10757         (bidi_level_of_next_char): Include all Bn characters in rule L1,
10758         as mandated by the UBA.
10760 2015-10-06  Andreas Schwab  <schwab@suse.de>
10762         * src/cmds.c (Fself_insert_command): Don't use XFASTINT on a negative
10763         number.  (Bug#21633)
10765 2015-10-05  Xue Fuqiao  <xfq.free@gmail.com>
10767         * doc/lispref/objects.texi (Window Type): Add a cross reference.
10769         * src/buffer.c (syms_of_buffer): Typo fix.  (Bug#21622)
10771 2015-10-05  Eli Zaretskii  <eliz@gnu.org>
10773         * lisp/language/misc-lang.el (composition-function-table):
10774         Fix entries for Arabic and Syriac.
10776 2015-10-05  Damien Cassou  <damien@cassou.me>
10778         Add first unit tests for auth-source.el
10780         * test/automated/auth-source-tests.el: New file.
10782 2015-10-05  Eli Zaretskii  <eliz@gnu.org>
10784         Remove redundant redisplay code
10786         * src/xdisp.c (redisplay_internal, try_cursor_movement)
10787         (try_window_reusing_current_matrix, try_window_id): Remove
10788         redundant restrictions on redisplay optimizations based on the
10789         frame's 'redisplay' flag.  See
10790         http://osdir.com/ml/general/2015-10/msg02110.html for the relevant
10791         discussions.
10793 2015-10-04  Stefan Monnier  <monnier@iro.umontreal.ca>
10795         * src/xdisp.c (windows_or_buffers_changed): Improve docstring.
10797 2015-10-04  Xue Fuqiao  <xfq.free@gmail.com>
10799         Update tutorials/TUTORIAL.cn
10801         * etc/tutorials/TUTORIAL.cn: Improve translation.
10803 2015-10-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
10805         * src/macfont.m (macfont_encode_char, syms_of_macfont):
10806         Remove unused vars.
10808 2015-10-04  Stefan Merten  <stefan@merten-home.de>
10810         Pull in version numbers from rst.el upstream release.
10812         * lisp/textmodes/rst.el (rst-cvs-header, rst-svn-rev)
10813         (rst-svn-timestamp, rst-official-version)
10814         (rst-official-cvs-rev, rst-package-emacs-version-alist):
10815         Update version numbers.
10817 2015-10-04  Eli Zaretskii  <eliz@gnu.org>
10819         * test/automated/coding-tests.el: New file.
10821 2015-10-04  Michael Albinus  <michael.albinus@gmx.de>
10823         Improve XEmacs compatibility of Tramp
10825         * lisp/net/tramp-compat.el (directory-listing-before-filename-regexp):
10826         Declare if it doesn't exist.
10827         (file-remote-p): Remove defalias, which was necessary for GNU Emacs 21.
10828         (redisplay): Make it an alias if it doesn't exist.
10830         * lisp/net/tramp.el (tramp-get-remote-tmpdir): Don't use
10831         `file-remote-p' (due to XEmacs compatibility).
10833         * lisp/net/trampver.el (locate-dominating-file)
10834         (tramp-compat-replace-regexp-in-string): Autoload.
10835         (tramp-repository-get-version): Do not dupe byte-compiler.
10837 2015-09-02  K. Handa  <handa@gnu.org>
10839         fix for the case that M17N_FLT_USE_NEW_FEATURE is not defined
10841         * src/ftfont.c (ftfont_drive_otf) [not M17N_FLT_USE_NEW_FEATURE]:
10842         Adjusted for the change of type of elements in the array
10843         MFLTGlyphString.glyphs.
10845 2015-10-04  Eli Zaretskii  <eliz@gnu.org>
10846             Michael Heerdegen  <michael_heerdegen@web.de>
10848         shr: fix too long lines in rendered buffers (Bug#21012)
10850         * lisp/net/shr.el (shr-insert-document, shr-fill-text):
10851         Correct calculation of available width.
10852         (shr-find-fill-point): Don't overflow window edge if shr-kinsoku-shorten
10853         is nil.
10855 2015-10-04  Vincent Belaïche  <vincentb1@users.sourceforge.net>
10857         Restore blank line before next section, erroneously erased
10858         in my previous commit
10860         * etc/compilation.txt (symbol ant): Add an additional trailing blank
10861         line to this section, so that there are two of them immediately before
10862         the next section.
10864 2015-10-04  Vincent Belaïche  <vincentb1@users.sourceforge.net>
10866         Support MSW filename style for ant compilation error regexp
10868         * etc/compilation.txt (symbol ant):
10869         * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
10870         Support MSW filename style.
10872 2015-10-03  Paul Eggert  <eggert@cs.ucla.edu>
10874         * nt/INSTALL: Minor spelling and quote fixes.
10876         * lisp/ibuffer.el: Fix docstring length (Bug#21541).
10878 2015-10-03  Simen Heggestøyl  <simenheg@gmail.com>
10880         Maintain ordering of JSON object keys by default
10882         * lisp/json.el (json-object-type): Mention order handling in doc-string.
10883         (json--plist-reverse): New utility function.
10884         (json-read-object): Maintain ordering for alists and plists.
10885         (json-pretty-print): Ensure that ordering is maintained.
10887         * test/automated/json-tests.el (test-json-plist-reverse): New test for
10888         `json--plist-reverse'.
10889         (json-read-simple-alist): Update test to accommodate for changes in
10890         `json-read-object'.
10892         * etc/NEWS: Document the new behavior of the pretty printing functions.
10894 2015-10-03  Andreas Schwab  <schwab@linux-m68k.org>
10896         * src/coding.c (complement_process_encoding_system): Revert last change.
10898 2015-10-03  Ulf Jasper  <ulf.jasper@web.de>
10900         * admin/MAINTAINERS: Add entry for Ulf Jasper.
10902 2015-10-03  Xue Fuqiao  <xfq.free@gmail.com>
10904         Doc fix for `defmacro'
10906         * doc/lispref/objects.texi (Macro Type): `defmacro' is a macro now.
10908 2015-10-03  Andreas Schwab  <schwab@linux-m68k.org>
10910         More validatation of coding systems
10912         * src/fileio.c (Finsert_file_contents): Remove redundant
10913         coding-system check.
10914         (choose_write_coding_system): Likewise.
10915         * src/coding.c (complement_process_encoding_system): Check argument
10916         for valid coding system.
10918 2015-10-03  Eli Zaretskii  <eliz@gnu.org>
10920         Avoid crashes in coding_inherit_eol_type
10922         * src/coding.c (coding_inherit_eol_type): Check the validity of
10923         the arguments.  Suggested by Andreas Schwab <schwab@linux-m68k.org>.
10924         (Bug#21602)
10926 2015-10-03  Eli Zaretskii  <eliz@gnu.org>
10928         More validatation of coding system in 'write-region'
10930         * src/coding.c (choose_write_coding_system): More validation of
10931         coding-system from various sources.  Suggested by Andreas Schwab
10932         <schwab@linux-m68k.org>.  (Bug#21602)
10934 2015-10-03  Eli Zaretskii  <eliz@gnu.org>
10936         Avoid crashes due to invalid coding-system
10938         * src/fileio.c (choose_write_coding_system)
10939         (Finsert_file_contents): Check validity of coding-system-for-write
10940         and coding-system-for-read bound by the caller.  (Bug#21602)
10942 2015-10-03  Tassilo Horn  <tsdh@gnu.org>
10944         Adapt to new prettify-symbols-unprettify-at-point default
10946         * etc/NEWS: Mention that unprettication of symbol at point is off
10947         by default.
10949 2015-10-03  Tassilo Horn  <tsdh@gnu.org>
10951         Revert my two recent process.c changes
10953         Revert "Improve last commit to process.c" and "Remove callback-handled
10954         channels from Available set" because they did not fix bug#21313.
10956         This reverts commits bfa1aa8e2bdaf14adbbf1e9e824051d3f740694c and
10957         27f871907cc24f33a7d12ac3a4ab71a88f0bc554.
10959 2015-10-02  Markus Triska  <triska@metalevel.at>
10961         * lisp/progmodes/prolog.el: Update and extend operator table.
10962         (prolog-smie-grammar): Add multifile, public etc.
10964 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
10966         Allow autogen even when Git is not installed
10968         * autogen.sh: Test ‘git status’ before trying to use Git.
10970 2015-10-02  Stefan Monnier  <monnier@iro.umontreal.ca>
10972         * lisp/vc/vc-git.el (vc-git-region-history): Handle local changes.
10973         Adjust lto/lfrom when we have uncommitted changes.
10975 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
10977         Fix problems found by clang 3.5.0
10979         * src/cmds.c (Fdelete_char): Don’t assume XINT returns int.
10980         * src/font.c (font_parse_family_registry):
10981         Use &"str"[X] instead of "str"+X, to pacify clang -Wstring-plus-int.
10983 2015-10-02  Eli Zaretskii  <eliz@gnu.org>
10985         * nt/INSTALL: Update instructions for running autogen.sh.
10987         * nt/INSTALL: Point to ezwinports for libXpm binaries.
10989 2015-10-02  Daniel Colascione  <dancol@dancol.org>
10991         Fix winner in cl-lib not loaded case
10993         * lisp/winner.el (winner-change-fun): Don't use cl-lib functions
10994         without requiring CL
10996 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
10998         Fix a few problems with directed quotes
11000         This is in response to a problem report by Kaushal Modi in:
11001         http://bugs.gnu.org/21588#25
11002         * lisp/cedet/mode-local.el (describe-mode-local-overload):
11003         * lisp/emacs-lisp/bytecomp.el (byte-compile-fix-header):
11004         * lisp/info-xref.el (info-xref-check-all-custom):
11005         * lisp/mail/emacsbug.el (report-emacs-bug-hook):
11006         Prefer directed to undirected single quotes in diagnostics.
11008 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
11010         Revert "Attempt to fix slow redisplay caused by last changes"
11012         * src/xdisp.c (try_window_id, try_window_reusing_current_matrix)
11013         (try_cursor_movement): Don't relax requirements for redisplay
11014         optimizations for the selected frame.  (Bug#21597)
11016         This reverts commit c4c1fb97727ff52bcfa83ad5ed94a64a93d12e59.
11018 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
11020         Fix slow redisplay when daemon frame exists
11022         * src/xdisp.c (redisplay_internal): Don't consider daemon frames
11023         when looking for frames that need to be redisplayed.  (Bug#21597)
11025 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
11027         Attempt to fix slow redisplay caused by last changes
11029         * src/xdisp.c (try_window_id, try_window_reusing_current_matrix)
11030         (try_cursor_movement): Relax requirements for redisplay
11031         optimizations for the selected frame.  (Bug#21597)
11033 2015-10-01  Stephen Leake  <stephen_leake@stephe-leake.org>
11035         * src/dired.c (Ffile_name_completion, Ffile_name_all_completions):
11036         Improve doc string.
11038 2015-10-01  Stephen Leake  <stephen_leake@stephe-leake.org>
11040         * lisp/minibuffer.el (minibuffer-completion-help):
11041         Set default base-size, in case completion table does not set it.
11043 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
11045         Fix GUD display of GDB output with non-ASCII text
11047         * lisp/progmodes/gdb-mi.el (gdb-mi-decode-strings): New defcustom.
11048         (gdb-mi-decode): New function.
11049         (gud-gdbmi-marker-filter): If gdb-mi-decode-strings is non-nil,
11050         decode octal escapes in GDB output.  (Bug#21572)
11052 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
11054         * nt/INSTALL: Document where to find XPM support files.
11056 2015-10-01  Tassilo Horn  <tsdh@gnu.org>
11058         Un- and re-prettification are not exclusive
11060         * lisp/progmodes/prog-mode.el (prettify-symbols--post-command-hook):
11061         Re-apply prettification to previous symbol also when unprettifying
11062         next one.
11064 2015-10-01  Tassilo Horn  <tsdh@gnu.org>
11066         Don't unprettify symbol at point by default
11068         * lisp/progmodes/prog-mode.el (prettify-symbols-unprettify-at-point):
11069         Default to disabled (nil).
11071 2015-09-30  Artur Malabarba  <bruce.connor.am@gmail.com>
11073         * lisp/progmodes/prog-mode.el (prettify-symbols-unprettify-at-point):
11074         Support unprettifying when point is after a symbol.
11076         * etc/NEWS: Document `prettify-symbols-unprettify-at-point'.
11078 2015-09-30  Eli Zaretskii  <eliz@gnu.org>
11080         Avoid assertion violations in push_prefix_prop
11082         * src/xdisp.c (push_prefix_prop): Avoid assertion violations when
11083         a line that has a line-prefix defined starts with an image.  (Bug#21428)
11085 2015-09-30  Eli Zaretskii  <eliz@gnu.org>
11087         Disable some display optimizations when frames need redisplay
11089         These optimizations were previously disabled by the
11090         windows_or_buffers_changed flag, which now is not set
11091         when only some frames need to be redrawn.
11092         * src/xdisp.c (redisplay_internal): Redisplay any frame whose
11093         'redisplay' flag is set.
11094         (try_window_reusing_current_matrix, try_window_id)
11095         (try_cursor_movement): Disable these optimizations when the
11096         frame's 'redisplay' flag is set.
11098 2015-09-30  Tassilo Horn  <tsdh@gnu.org>
11100         Don't modify buffer by unprettification
11102         * lisp/progmodes/prog-mode.el (prettify-symbols--compose-symbol):
11103         (prettify-symbols--post-command-hook, prettify-symbols-mode): Don't
11104         modify buffer when setting/removing custom prettify-symbols-start/end
11105         text properties.  Add them to font-lock-extra-managed-props, too.
11107 2015-09-30  Stefan Monnier  <monnier@iro.umontreal.ca>
11109         Try to avoid redisplaying all frames when creating a new one
11111         * src/xfns.c (x_set_menu_bar_lines, x_change_tool_bar_height):
11112         * src/xfaces.c (Finternal_make_lisp_face, Finternal_copy_lisp_face)
11113         (Finternal_set_lisp_face_attribute, update_face_from_frame_parameter):
11114         * src/frame.c (x_set_screen_gamma): Set the specific frame's
11115         `redisplay' bit rather than windows_or_buffers_changed.
11117         * src/window.c (apply_window_adjustment): Remove redundant setting of
11118         windows_or_buffers_changed.
11120         * src/xdisp.c (redisplay_internal): Set the specific frame's
11121         `redisplay' bit rather than update_mode_lines in response to
11122         cursor_type_changed.
11123         (syms_of_xdisp): Use hash-tables for redisplay_*_cause tables.
11124         (AINC): Adjust accordingly.
11126 2015-09-30  Tassilo Horn  <tsdh@gnu.org>
11128         Implement unprettification of symbol at point
11130         * lisp/progmodes/prog-mode.el: Implement feature for unprettifying the
11131         symbol at point.
11132         (prettify-symbols--current-symbol-bounds): New variable.
11133         (prettify-symbols--post-command-hook): New function.
11134         (prettify-symbols-unprettify-at-point): New defcustom.
11135         (prettify-symbols-mode): Use it.
11136         (prettify-symbols--compose-symbol): Use them.
11138 2015-09-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
11140         * src/macfont.m (mac_font_descriptor_supports_languages):
11141         Regard "zh" as synonym of "zh-Hans".
11143 2015-09-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
11145         Work around crash when displaying etc/HELLO on OS X 10.11
11147         * src/macfont.m (mac_font_get_weight)
11148         (mac_font_descriptor_get_adjusted_weight): New functions.
11149         (macfont_store_descriptor_attributes): Adjust weight.
11151 2015-09-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
11153         * src/macfont.m: Fix compilation with USE_CT_GLYPH_INFO.
11155 2015-09-30  Nicolas Petton  <nicolas@petton.fr>
11157         * lisp/arc-mode.el (archive-rar-summarize): Better alignment
11158         of the columns.
11160 2015-09-30  Nicolas Petton  <nicolas@petton.fr>
11162         Use unar and lsar to handle RAR archives in arc-mode
11164         * lisp/arc-mode.el (archive-rar-extract, archive-extract-by-file): Rely
11165         on unar and lsar instead of unrar-free for RAR archives (bug#17663).
11167 2015-09-30  Wieland Hoffmann  <themineo@gmail.com>  (tiny change)
11169         Clarify :create in auth-source's docs
11171         * lisp/gnus/auth-source.el (auth-source-search):
11172         Clarify :create's meaning.
11174 2015-09-30  Phil Sainty  <psainty@orcon.net.nz>
11176         Avoid empty -path arguments in rgrep
11178         * lisp/progmodes/grep.el (rgrep-default-command): Remove nil from
11179         the list produced according to grep-find-ignored-directories,
11180         before passing it to Find/Grep invocation.  (Bug#21548)
11182 2015-09-30  Eli Zaretskii  <eliz@gnu.org>
11184         Clarify documentation of pos-visible-in-window-p
11186         * src/window.c (Fpos_visible_in_window_p): Clarify the meaning of
11187         t for POS.  See
11188         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg01040.html
11189         for the original report.
11191         * doc/lispref/windows.texi (Window Start and End): Clarify the
11192         meaning of t for the POSITION argument of pos-visible-in-window-p.
11194 2015-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
11196         * lisp/progmodes/prolog.el: Fix various indentation cases.
11197         (prolog-operator-chars): New const (add \\).
11198         (prolog-smie-forward-token, prolog-smie-backward-token): Use it.
11199         (prolog-smie-rules): Add rules according to bug#21526.
11201 2015-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
11203         * lisp/progmodes/sh-script.el: Old "dumb" continued line indent.
11204         (sh-indent-after-continuation): Add new value `always' (bug#17620)
11205         (sh-smie-sh-rules): Remove old handling of continued lines.
11206         (sh-smie--indent-continuation): New function.
11207         (sh-set-shell): Use it.
11209 2015-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
11211         * lisp/progmodes/octave.el: Use grammar more; Handle enumeration fun.
11212         Remove redundant :group keyword args.
11213         (octave-begin-keywords, octave-else-keywords, octave-end-keywords):
11214         Remove variables.
11215         (octave-operator-table, octave-smie-bnf-table): Use let-when-compile to
11216         turn them into compile-time variables.
11217         Auto-generate the "foo ... end" rules from the "foo ... endfoo" rules.
11218         Add rules for break, continue, return, global, and persistent.
11219         Refine the rule for "until".
11220         (octave-smie--funcall-p, octave-smie--end-index-p)
11221         (octave-smie--in-parens-p): New functions.
11222         (octave-smie-backward-token, octave-smie-forward-token): Use them to
11223         distinguish the "enumeration" function and the "end" index from
11224         their corresponding keywords.
11225         (octave--block-offset-keywords): New constant.
11226         (octave-smie-rules): Use it.  Adjust rules for new global/persistent
11227         parsing.
11228         (octave-reserved-words): Redefine using octave-smie-grammar.
11229         (octave-font-lock-keywords): Use octave-smie--funcall-p and
11230         octave-smie--end-index-p.
11232 2015-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
11234         * lisp/emacs-lisp/lisp-mode.el (let-when-compile): Work like let*.
11236 2015-09-29  Eli Zaretskii  <eliz@gnu.org>
11238         * nt/INSTALL: Remove references to GTK site.
11239         That site no longer offers Windows downloads.
11241 2015-09-29  Eli Zaretskii  <eliz@gnu.org>
11243         * nt/INSTALL: Add instructions for installing Git.
11245 2015-09-29  Katsumi Yamaoka  <yamaoka@jpl.org>
11247         * lisp/net/shr.el (shr-colorize-region): Allow 88-color tty to
11248         use colors.  Suggested by Eli Zaretskii.
11250 2015-09-28  Katsumi Yamaoka  <yamaoka@jpl.org>
11252         * lisp/net/shr.el (shr-colorize-region): Don't do it on a system
11253         not supporting 256 above colors (bug#21557).
11255 2015-09-28  Dmitry Gutov  <dgutov@yandex.ru>
11257         Revert "Don't rely on defaults in decoding UTF-8 encoded Lisp files"
11259         This reverts commit db828f62f6f17414fbbc3206dac123dc73dd6055.
11261 2015-09-28  Nicolas Petton  <nicolas@petton.fr>
11263         Add documentation for seq.el
11265         * doc/lispref/sequences.texi: Add documentation regarding extending
11266         seq.el, as well as missing documentation for seq-elt, seq-length, seq-p,
11267         seq-do and seq-map.
11269 2015-09-28  Nicolas Petton  <nicolas@petton.fr>
11271         Better documentation for seq-some
11273         * doc/lispref/sequences.texi:
11274         * lisp/emacs-lisp/seq.el: Update the documentation of seq-some to
11275         guarantee that the returned value is the first non-nil value that
11276         resulted from applying the predicate.
11278 2015-09-28  Nicolas Petton  <nicolas@petton.fr>
11280         * lisp/arc-mode.el: Sharp-quote function arguments.
11282 2015-09-28  Eli Zaretskii  <eliz@gnu.org>
11284         Avoid redisplay error in ediff-regions-wordwise
11286         * lisp/vc/ediff-util.el
11287         (ediff-clone-buffer-for-region-comparison): Make sure the mark is
11288         set before activating it.  (Bug#21567)
11290 2015-09-28  Eli Zaretskii  <eliz@gnu.org>
11292         Another attempt to fix crashes due to prematurely freed faces
11294         * src/xdisp.c (redisplay_internal): Inhibit freeing of realized
11295         faces for as long as we might have desired matrices that reference
11296         those faces.  (Bug#21428)
11298 2015-09-28  Tassilo Horn  <tsdh@gnu.org>
11300         Add auctex development list email address
11302 2015-09-28  Tassilo Horn  <tsdh@gnu.org>
11304         * admin/MAINTAINERS: Add entries for AUCTeX team and myself.
11306 2015-09-28  Arash Esbati  <esbati@gmx.de>  (tiny change)
11308         Improve wrapfig package support and caption parsing
11310         * lisp/textmodes/reftex-vars.el (reftex-label-alist-builtin):
11311         Correct description string and add wraptable environment.
11312         (reftex-default-context-regexps): Improve caption regexp.
11314 2015-09-28  Anders Lindgren  <andlind@gmail.com>
11316         Respect value of frame_resize_pixelwise when handling fullscreen state
11318         * src/nsterm.m (handleFS): Respect frame_resize_pixelwise when
11319         setting size increments.
11321 2015-09-27  Michael Albinus  <michael.albinus@gmx.de>
11323         * src/gfilenotify.c (Fgfile_add_watch): Cleanup temporary variable.
11325 2015-09-27  Simen Heggestøyl  <simenheg@gmail.com>
11327         Add prettify-symbols-alist for js-mode
11329         * lisp/progmodes/js.el (js--prettify-symbols-alist): New defconst.
11330         (js-mode): Use it.
11332 2015-09-27  Eli Zaretskii  <eliz@gnu.org>
11334         * nt/subdirs.el: File deleted (no longer used).
11336 2015-09-26  Alan Mackenzie  <acm@muc.de>
11338         Fix follow-scroll-up/down, making them replacements for scroll-up/down
11340         1. Allow point to move between follow windows in scroll operations.
11341         2. Fix bug where `right-char' just before EOB caused spurious scrolling,
11342         when EOB was isolated in the last follow window.
11344         * lisp/follow.el (follow-fixed-window): New variable.
11345         (follow-get-scrolled-point): New function.
11346         (follow-scrol-up, follow-scroll-down): Add autoload cookies.
11347         Reformulate the code.  Put `scroll-command' properties on the functions.
11348         Correct minor errors in ...-down's doc string and code.
11349         (follow-calc-win-end): Amend incomplete doc string.  Use
11350         `pos-visible-in-window-p' to check whether EOB is in the window.
11351         (follow-estimate-first-window-start): Correct an off-by-1 error.
11352         (follow-adjust-window): Add handling for explicit scrolling operations.
11354 2015-09-26  Paul Eggert  <eggert@cs.ucla.edu>
11356         * admin/MAINTAINERS: Add self, plus list some more files
11357         sans maintaners.
11359 2015-09-26  Zachary Kanfer  <zkanfer@gmail.com>  (tiny change)
11361         New DWIM commands for changing letter-case
11363         * lisp/simple.el (upcase-dwim, downcase-dwim, capitalize-dwim):
11364         New functions.  (Bug#21501)
11366 2015-09-26  Eli Zaretskii  <eliz@gnu.org>
11368         * etc/PROBLEMS: Document problems with pasting on MS-Windows.
11370 2015-09-26  Eli Zaretskii  <eliz@gnu.org>
11372         Make face realization be more frame-specific
11374         * src/frame.h (struct f): New flag face_change.
11375         * src/xfaces.c (Finternal_make_lisp_face)
11376         (Finternal_copy_lisp_face, Finternal_set_lisp_face_attribute)
11377         (update_face_from_frame_parameter): Set the face_change flag only
11378         for the frame whose faces are affected.
11379         * src/xdisp.c (init_iterator): If a frame's face_change flag is
11380         set, free faces only on that frame.
11381         (redisplay_internal): Disable "display optimization 1" if the
11382         frame's face_change flag is set.
11383         (redisplay_window): Don't allow skipping a window's redisplay if
11384         its frame's face_change flag is set.
11385         * src/frame.c (x_set_screen_gamma): Instead of calling
11386         Fclear_face_cache, call clear_face_cache and set
11387         windows_or_buffers_changed to a non-zero value.  This avoids
11388         setting the global face_change flag that triggers face realization
11389         on all frames and thorough redisplay of all of them.
11391         * lisp/term/tty-colors.el (tty-register-default-colors): Don't
11392         clear face cache if the selected frame is a GUI frame.
11394 2015-09-26  Tassilo Horn  <tsdh@gnu.org>
11396         Remove font-latex specific check
11398         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p):
11399         Use syntax-ppss data to identify verbatim contents.
11401 2015-09-25  Tassilo Horn  <tsdh@gnu.org>
11403         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p):
11404         Fix some false negatives.
11406 2015-09-25  Eli Zaretskii  <eliz@gnu.org>
11408         Reorder Windows version in Emacs manifests
11410         * nt/emacs-x64.manifest:
11411         * nt/emacs-x86.manifest: Reorder Windows version from lowest to
11412         highest.
11414 2015-09-25  Eli Zaretskii  <eliz@gnu.org>
11416         Update Emacs manifest files for Windows 10
11418         * nt/emacs-x86.manifest:
11419         * nt/emacs-x64.manifest: Declare compatibility with Windows 10.
11421 2015-09-25  Eli Zaretskii  <eliz@gnu.org>
11423         Avoid non-ASCII decoding errors in C src files
11425         * src/nsterm.m:
11426         * src/lisp.h:
11427         * src/editfns.c:
11428         * src/doprnt.c: Add 'coding' cookies -- these files include
11429         Unicode characters and should be decoded as UTF-8.
11431 2015-09-25  Alan Mackenzie  <acm@muc.de>
11433         Resurrect edebug-set-initial-mode, repurposing it to set the global mode
11435         * lisp/emacs-lisp/edebug.el (edebug-initial-mode-alist): Uncomment, and
11436         amend to match current modes and functions.
11437         (edebug-set-initial-mode): Uncomment and change from setting a defun's
11438         `edebug-initial-mode''s property to setting the variable
11439         `edebug-initial-mode'.
11440         (top level): Create new binding C-x C-a C-m for
11441         `edebug-set-initial-mode'.
11443         * doc/lispref/edebug.texi (Edebug Execution Modes): Document
11444         `edebug-set-initial-mode' and its new key binding.
11445         (Edebug Options): Mention the new command in the pertinent place.
11447         * etc/NEWS: Write entry for this change.
11449 2015-09-25  Eli Zaretskii  <eliz@gnu.org>
11451         Avoid non-ASCII decoding errors in Texinfo files
11453         * doc/misc/tramp.texi:
11454         * doc/lispref/strings.texi:
11455         * doc/lispref/positions.texi:
11456         * doc/lispref/help.texi:
11457         * doc/lispref/functions.texi:
11458         * doc/lispintro/emacs-lisp-intro.texi:
11459         * doc/emacs/text.texi:
11460         * doc/emacs/modes.texi:
11461         * doc/emacs/mini.texi:
11462         * doc/emacs/display.texi:
11463         * doc/emacs/custom.texi:
11464         * doc/emacs/basic.texi: Add 'coding' cookies -- these files use
11465         Unicode characters and should be decoded as UTF-8.
11466         * doc/lispref/frames.texi (Size Parameters): Don't use a non-ASCII
11467         apostrophe unnecessarily.
11469 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
11471         Merge from gnulib
11473         This incorporates:
11474         2015-09-25 c-ctype: rewrite to use inline functions
11475         2015-09-24 maint: add coding cookies to non-ASCII sources
11476         2015-09-24 gitlog-to-changelog: trim only trailing whitespaces
11477         * build-aux/gitlog-to-changelog, doc/misc/texinfo.tex:
11478         * lib/acl-internal.c, lib/acl-internal.h, lib/c-ctype.c:
11479         * lib/c-ctype.h, lib/get-permissions.c, lib/qcopy-acl.c:
11480         * lib/set-permissions.c:
11481         Copy from gnulib.
11483 2015-09-24  Paul Eggert  <eggert@cs.ucla.edu>
11485         Update publicsuffix.txt from upstream
11487         * etc/publicsuffix.txt: Update from
11488         https://publicsuffix.org/list/effective_tld_names.dat
11489         dated 2015-09-24 17:29:21 UTC.
11491 2015-09-24  Eli Zaretskii  <eliz@gnu.org>
11493         Prevent timers from messing up TTY menus
11495         * src/term.c (tty_menu_activate): Inhibit redisplay for as long as
11496         the TTY menu is open.  (Bug#21530)
11498 2015-09-24  Paul Eggert  <eggert@cs.ucla.edu>
11500         No need to mention K&R C in c-mode intro
11502 2015-09-24  Stefan Monnier  <monnier@iro.umontreal.ca>
11504         Fix recent bootstrap problems
11506         * src/syntax.c (parse_sexp_propertize): Fix last fix.
11507         * lisp/nxml/nxml-mode.el (nxml-comment-quote-nested): Fix paren typo.
11508         * lisp/emacs-lisp/lisp-mode.el: Require cl-lib for cl-progv.
11510 2015-09-24  Michael Albinus  <michael.albinus@gmx.de>
11512         * src/gfilenotify.c (Fgfile_add_watch): Decrease polling rate.
11514 2015-09-23  Ivan Andrus  <darthandrus@gmail.com>
11516         Properly quote nested xml comments (Bug#6267) (Bug#20001)
11518         * lisp/nxml/nxml-mode.el (nxml-comment-quote-nested): New function.
11519         (nxml-mode): Set comment-quote-nested-function.
11521 2015-09-23  Ivan Andrus  <darthandrus@gmail.com>
11523         Allow major-modes full control over quoting nested comments
11525         * lisp/newcomment.el (comment-quote-nested-function): New variable.
11526         (comment-quote-nested-default): New function.
11527         (comment-quote-nested): Use `comment-quote-nested-function'.
11529 2015-09-23  Paul Eggert  <eggert@cs.ucla.edu>
11531         Prefer CALLN in a few more places
11533         * src/macfont.m (macfont_set_family_cache):
11534         * src/nsterm.m (append2):
11535         * src/xterm.c (x_cr_export_frames):
11536         Prefer CALLN to allocating the arg arrays by hand.
11538 2015-09-23  Michael Albinus  <michael.albinus@gmx.de>
11540         Adapt file-notify-test02-events test case
11542         * test/automated/file-notify-tests.el (file-notify-test02-events):
11543         Create a new watch for every test.
11545 2015-09-23  Michael Albinus  <michael.albinus@gmx.de>
11547         Continue gfilenotify.c implementation of missing parts
11549         * lisp/filenotify.el (file-notify-add-watch): Append `flags' to
11550         `gfile-add-watch' call.
11551         (file-notify-rm-watch): Modify `file-notify-descriptors' only
11552         after calling the low level functions.
11554         * src/gfilenotify.c (dir_monitor_callback): Check, whether
11555         event_type is expected.
11556         (Fgfile_add_watch): Allow also `change'and `attribute-change' for FLAGS.
11557         (Fgfile_rm_watch): Fix typo.
11558         (syms_of_gfilenotify): Declare Qchange and Qattribute_change.
11560 2015-09-23  Stefan Monnier  <monnier@iro.umontreal.ca>
11562         * src/syntax.c (parse_sexp_propertize): Handle spurious
11563         e_property_truncated flag.
11564         (update_syntax_table_forward): Remove invalid assertion.
11566 2015-09-23  Eli Zaretskii  <eliz@gnu.org>
11568         * src/xdisp.c (produce_stretch_glyph): Support ':relative-width'
11569         space display spec on text-mode terminals, by calling
11570         PRODUCE_GLYPHS instead of x_produce_glyphs.  Remove the
11571         HAVE_WINDOW_SYSTEM guards from the supporting code, as well as the
11572         test for a GUI frame.
11574 2015-09-23  Oleh Krehel  <ohwoeowho@gmail.com>
11576         Move let-when-compile to lisp-mode.el
11578         This fixes the bootstrapping problem of `let-when-compile' using
11579         `cl-progv' while being in subr.el (i.e. before cl stuff was loaded).
11581 2015-09-23  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
11583         * lisp/url/url-http.el (url-http-parse-headers): Do not
11584         automatically include Authorization header in redirect.
11585         (Bug#21350)
11587 2015-09-22  Eli Zaretskii  <eliz@gnu.org>
11589         Clarify documentation of ':relative-width'
11591         * doc/lispref/display.texi (Specified Space): Document that
11592         ':relative-width' is only supported on GUI frames.
11594 2015-09-22  Eli Zaretskii  <eliz@gnu.org>
11596         Fix 'current-column' in presence of :relative-width
11598         * src/indent.c (check_display_width): Support ':relative-width'
11599         in a display spec that specifies a stretch glyph.  (Bug#21533)
11601 2015-09-22  Ken Manheimer  <ken.manheimer@gmail.com>
11603         Reformat the pdbtrack remote-file fix ChangeLog.2 entry
11605         ... to conform better to CONTRIBUTE guidelines.
11607 2015-09-22  Stefan Monnier  <monnier@iro.umontreal.ca>
11609         * lisp/progmodes/prolog.el: Fix indentation of empty line
11611         * lisp/emacs-lisp/smie.el (smie-rules-function): Document new
11612         `empty-line-token' element.
11613         (smie-indent-empty-line): New function.
11614         (smie-indent-functions): Add it.
11616         * lisp/progmodes/prolog.el (prolog-smie-rules): Fix :list-intro
11617         behavior and use the new `empty-line-token' element (bug#21526).
11618         (prolog-mode-variables): Fix comment-start-skip setting to match
11619         comment-start.
11621         * test/indent/prolog.prolog: Add nested indentation tests.
11623         * lisp/newcomment.el (comment-normalize-vars): Fix default value of
11624         comment-start-skip not to misuse submatch 1.
11626 2015-09-22  Alan Mackenzie  <acm@muc.de>
11628         Make description of `edebug-initial-mode' user friendly
11630         Fixes bug#21365.
11632         * dec/lispref/edebug.texi (Edebug Execution Modes): Change the
11633         description of `edebug-initial-mode' from that of its implementation
11634         to that of its visual effect and use.  Move the paragraph higher up.
11636 2015-09-22  Eli Zaretskii  <eliz@gnu.org>
11638         lisp/progmodes/gud.el (gud-format-command): Fix last commit
11640         * lisp/progmodes/gud.el (gud-format-command): Don't use Tramp internal
11641         functions 'tramp-file-name-localname' and 'tramp-dissect-file-name'.
11643 2015-09-22  Tassilo Horn  <tsdh@gnu.org>
11645         Improve last commit to process.c
11647 2015-09-22  Michael Albinus  <michael.albinus@gmx.de>
11649         Implement gfile-valid-p
11651         * lisp/filenotify.el (file-notify-callback): Fix typo.
11652         (gfile-valid-p): Remove defalias.
11654         * src/gfilenotify.c (dir_monitor_callback): Cancel the monitor if
11655         the file or directory to be watched is deleted.
11656         (Fgfile_add_watch): Make watch_object a triple.
11657         (Fgfile_rm_watch): Check, whether watch is cancelled already.
11658         (Fgfile_valid_p): New defun.
11659         (syms_of_gfilenotify): Declare Sgfile_valid_p.
11661 2015-09-22  Tassilo Horn  <tsdh@gnu.org>
11663         Remove callback-handled channels from Available set
11665         * src/process.c (wait_reading_process_output): Remove channel from
11666         Available set if it is handled by a callback, e.g., dbus or
11667         inotify (bug#21313).
11669 2015-09-21  Mark Oteiza  <mvoteiza@udel.edu>
11671         Use lunate epsilon for TeX \epsilon
11673         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist):
11674         Add \varepsilon using GREEK SMALL LETTER EPSILON, and change
11675         \epsilon to use GREEK LUNATE EPSILON SYMBOL
11677 2015-09-21  Stefan Monnier  <monnier@iro.umontreal.ca>
11679         * lisp/progmodes/prolog.el: Fix nested electric if-then-else
11681         * lisp/progmodes/prolog.el (prolog-find-unmatched-paren): Use innermost
11682         rather than outermost paren (bug#21526).
11684 2015-09-21  Paul Eggert  <eggert@cs.ucla.edu>
11686         Improve git diff hunk headers for .el, .texi
11688         Problem reported by Alan Mackenzie in:
11689         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00826.html
11690         * .gitattributes (*.el, *.texi): New patterns.
11691         * autogen.sh: Configure diff.elisp.xfuncname and
11692         diff.texinfo.xfuncname if using Git.
11694 2015-09-21  Eli Zaretskii  <eliz@gnu.org>
11696         Don't rely on defaults in decoding UTF-8 encoded Lisp files
11698         * lisp/replace.el:
11699         * lisp/textmodes/rst.el:
11700         * lisp/whitespace.el: Add an explicit UTF-8 encoding tag.
11702 2015-09-21  Paul Eggert  <eggert@cs.ucla.edu>
11704         Clarify or replace a few \u escapes
11706         * doc/lispref/nonascii.texi (Character Properties)
11707         More-detailed commentary for \u escapes.
11708         * lisp/progmodes/python.el (python--prettify-symbols-alist):
11709         * lisp/replace.el (query-replace-from-to-separator):
11710         * lisp/textmodes/rst.el (rst-bullets, rst-re-alist-def)
11711         (rst-mode-syntax-table):
11712         * lisp/whitespace.el (whitespace-display-mappings):
11713         Prefer actual character to \u escape when this makes the code
11714         easier to follow in the usual case where Unicode chars can be
11715         displayed.
11717 2015-09-21  Paul Eggert  <eggert@cs.ucla.edu>
11719         Pacify GCC -Wmaybe-uninitialized in xdisp.c
11721         * src/xdisp.c (face_before_or_after_it_pos): Use do-while rather
11722         than while loop to avoid GCC -Wmaybe-uninitialized diagnostic with
11723         charpos.  The loop should always execute at least once anyway.
11725 2015-09-21  Tassilo Horn  <tsdh@gnu.org>
11727         Signal error on invalid regexp
11729         * lisp/textmodes/reftex-cite.el (reftex-extract-bib-entries):
11730         Signal an error when the user tries searching with a regexp
11731         matching the empty string.
11733 2015-09-21  Eli Zaretskii  <eliz@gnu.org>
11735         Another fix of file-notify-tests for w32notify
11737         * test/automated/file-notify-tests.el (file-notify-test02-events):
11738         Further adaptation for w32notify: reduce the number of expected
11739         'changed' events.  (Bug#21435)
11741 2015-09-21  Michael Albinus  <michael.albinus@gmx.de>
11743         Adapt tests and manual for w32notify
11745         * doc/lispref/os.texi (File Notifications): w32notify does not
11746         send `attribute-changed' events.
11748         * test/automated/file-notify-tests.el (file-notify--test-with-events):
11749         Simplify parameters.  Adapt all callees.
11750         (file-notify-test02-events): w32notify does not send
11751         `attribute-changed' events.
11752         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
11753         Do not skip in case of w32notify.  Simply ignore this part of the test.
11755 2015-09-21  Dima Kogan  <dima@secretsauce.net>
11757         Fix setting breakpoints when remote-debugging
11759         * lisp/progmodes/gud.el (gud-format-command): Send localized file
11760         names to the debugger running on the remote.  (Bug#13304)
11762 2015-09-21  Nicolas Petton  <nicolas@petton.fr>
11764         Better docstring and parameter name for seq-find
11766         * lisp/emacs-lisp/seq.el (seq-find): Improve the docstring and rename
11767         the parameter `sentinel' to `default'.
11769         * doc/lispref/sequences.texi (Sequence Functions): Update the
11770           documentation for `seq-find' accordingly.
11772 2015-09-21  Eli Zaretskii  <eliz@gnu.org>
11774         Avoid infinite recursion while displaying box face
11776         * src/xdisp.c (face_before_or_after_it_pos): Fix calculation of
11777         the previous string/buffer character position under bidi
11778         iteration.  (Bug#21428)
11780 2015-09-21  Anders Lindgren  <andlind@gmail.com>
11782         Keep upper edge unchanged when changing size of NS frame
11784         * src/nsterm.m (x_set_window_size): Keep upper frame edge unchanged
11785         (Bug#21415).
11787 2015-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
11789         * lisp/progmodes/prolog.el: Improve handling of if/then/else.
11790         (prolog-smie-rules): Accommodate standard if/then/else special
11791         indentation.
11792         (prolog-mode): Add . to electric-indent-chars.
11793         (prolog-electric--if-then-else): Re-indent the line before adding space
11794         after the new char (bug#21526).
11796 2015-09-20  Mark Oteiza  <mvoteiza@udel.edu>
11798         Add prettify symbols to python-mode
11800         * lisp/progmodes/python.el (python-prettify-symbols-alist):
11801         New variable.
11802         (python-mode): Use it
11804 2015-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
11806         * lisp/emacs-lisp/syntax.el (syntax-begin-function): Make obsolete.
11808 2015-09-20  Jostein Kjønigsen  <jostein@secure.kjonigsen.net>  (tiny change)
11810         (compilation-error-regexp-alist-alist): Tone down guile-file
11812         * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
11813         Make guile-file a bit less enthusiastic (bug#21496).
11815 2015-09-20  Drew Csillag  <drew@thecsillags.com>
11817         * lisp/progmodes/m4-mode.el (m4-font-lock-keywords):
11818         Fix m4_* highlighting.
11820         * lisp/progmodes/m4-mode.el (m4-font-lock-keywords): Fix recognition
11821         of commands when they have a "m4_" prefix.
11823 2015-09-20  Paul Eggert  <eggert@cs.ucla.edu>
11825         '.' -> `.' in doc string
11827         * lisp/emacs-lisp/timer.el (run-at-time): In doc string, quote
11828         individual chars with grave quotes instead of straight quotes, as
11829         this works better when they are translated to curved quotes.
11831 2015-09-20  Michael Albinus  <michael.albinus@gmx.de>
11833         Improve file notifications, especially for Tramp
11835         * doc/lispref/files.texi (Magic File Names):
11836         Mention `file-notify-valid-p'.
11838         * doc/lispref/os.texi (File Notifications):
11839         Describe `file-notify-valid-p'.
11841         * etc/NEWS: Add `file-notify-valid-p'.
11843         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
11844         Improve implementation.
11845         (tramp-gvfs-monitor-file-process-filter): Rename from
11846         `tramp-gvfs-file-gvfs-monitor-file-process-filter'.  Delete
11847         process if appropriate.
11849         * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
11850         Improve implementation.
11851         (tramp-sh-gvfs-monitor-dir-process-filter): Rename from
11852         `tramp-sh-file-gvfs-monitor-dir-process-filter'.  Delete process
11853         if appropriate.
11854         (tramp-sh-inotifywait-process-filter): Rename from
11855         `tramp-sh-file-inotifywait-process-filter'.  Delete process if
11856         appropriate.
11858         * lisp/net/tramp.el (tramp-handle-file-notify-rm-watch):
11859         Use `delete-process'.
11860         (tramp-handle-file-notify-valid-p): Check also, that file or
11861         directory to be watched still exists.
11863         * test/automated/file-notify-tests.el (file-notify--test-timeout):
11864         New defun.  Use it at all places a timeout is needed.
11865         (file-notify--test-cleanup): Delete directories recursively.
11866         Cleanup also Tramp connections.
11867         (file-notify-test02-events): Add tests for `attribute-change'.
11868         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
11869         Add tests for `file-notify-rm-watch'.
11871 2015-09-20  Paul Eggert  <eggert@cs.ucla.edu>
11873         Use %s to format strings instead of splicing them
11875         If FOO might contain quotes that are part of a file or variable
11876         name, the quotes should not be translated when showing FOO’s name
11877         in a diagnostic.  So, for example, (message (concat (FOO ": bar")))
11878         is not quite right, as it would translate FOO’s quotes.
11879         Change it to (message "%s: bar" FOO) instead.
11880         * lisp/allout.el (allout-process-exposed):
11881         * lisp/calc/calc-ext.el (calc-do-prefix-help):
11882         * lisp/calc/calc-store.el (calc-store-into):
11883         * lisp/calendar/todo-mode.el (todo-category-completions):
11884         * lisp/cedet/semantic/complete.el (semantic-completion-message):
11885         * lisp/org/ob-latex.el (convert-pdf):
11886         * lisp/org/org-crypt.el (org-crypt-check-auto-save):
11887         * lisp/org/ox-latex.el (org-latex-compile):
11888         * lisp/org/ox-man.el (org-man-compile):
11889         * lisp/org/ox-odt.el (org-odt--export-wrap):
11890         * lisp/org/ox-texinfo.el (org-texinfo-compile):
11891         * lisp/progmodes/ruby-mode.el (ruby-in-ppss-context-p):
11892         * lisp/progmodes/verilog-mode.el (verilog-batch-execute-func)
11893         (verilog-signals-combine-bus, verilog-read-defines)
11894         (verilog-getopt-file, verilog-expand-dirnames)
11895         (verilog-modi-lookup, verilog-modi-modport-lookup-one):
11896         * lisp/term/ns-win.el (ns-spi-service-call):
11897         Use %s to avoid translating quotes of file names etc. in diagnostics.
11899 2015-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
11901         * lisp/progmodes/js.el (js--syntax-begin-function): Remove.
11902         (js-mode): Don't set syntax-begin-function.
11904 2015-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
11906         * lisp/font-lock.el (font-lock-compile-keywords): Don't assume
11907         syntax-begin-function is a symbol.
11909 2015-09-20  Eli Zaretskii  <eliz@gnu.org>
11911         Improve documentation of 'run-at-time'
11912         * lisp/emacs-lisp/timer.el (run-at-time): Improve the doc string.
11913         In particular, don't refer to 'diary-entry-time', because it is
11914         unavailable until diary-lib is loaded.  Also, refer to
11915         'timer-duration-words', not 'timer-duration', as the latter's doc
11916         string says nothing about the accepted strings.
11918 2015-09-19  Jay Belanger  <jay.p.belanger@gmail.com>
11920         * lisp/calc/calc-ext.el (calc-do-prefix-help): Tidy up error message.
11922 2015-09-19  Ken Manheimer  <ken.manheimer@gmail.com>
11924         Repair pdbtrack remote file tracking
11925         * lisp/progmodes/python.el (python-pdbtrack-set-tracked-buffer):
11926         Rectify pdbtrack so it follows transitions from one remote source
11927         file to the next.
11929 2015-09-19  Artur Malabarba  <bruce.connor.am@gmail.com>
11931         * lisp/emacs-lisp/timer.el (run-at-time): Docstring formatting.
11933 2015-09-19  Eli Zaretskii  <eliz@gnu.org>
11935         Adapt vc-src to the old-new vc-checkin API
11936         * lisp/vc/vc-src.el (vc-src-checkin): Accept and ignore an
11937         additional optional parameter.
11939 2015-09-19  Simen Heggestøyl  <simenheg@gmail.com>
11941         Add overflow module to CSS property list
11942         * lisp/textmodes/css-mode.el (css-property-ids): Add properties
11943         from CSS Overflow Module Level 3.
11945 2015-09-19  Eli Zaretskii  <eliz@gnu.org>
11947         Fix documentation of "C-u C-x v v"
11948         * doc/emacs/maintaining.texi (Advanced C-x v v): Make the
11949         documentation of "C-u C-x v v" match what the code does.
11951         Resurrect the ability to specify a revision in vc-next-action
11952         * lisp/vc/vc-bzr.el (vc-bzr-checkin):
11953         * lisp/vc/vc-dav.el (vc-dav-checkin):
11954         * lisp/vc/vc-git.el (vc-git-checkin):
11955         * lisp/vc/vc-hg.el (vc-hg-checkin):
11956         * lisp/vc/vc-mtn.el (vc-mtn-checkin): Accept and silently ignore
11957         an additional optional argument, the revision to checkin.
11958         * lisp/vc/vc-sccs.el (vc-sccs-checkin):
11959         * lisp/vc/vc-cvs.el (vc-cvs-checkin):
11960         * lisp/vc/vc-rcs.el (vc-rcs-checkin): Allow to optionally specify
11961         a revision to checkin.
11962         * lisp/vc/vc.el (vc-next-action): Allow to optionally specify the
11963         revision when checking in files.
11964         See http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00688.html
11965         for the details.
11967 2015-09-18  Wilson Snyder  <wsnyder@wsnyder.org>
11969         * lisp/progmodes/verilog-mode.el (verilog-forward-sexp-function)
11970         (verilog-decls-princ, verilog-modport-princ)
11971         (verilog-modi-modport-lookup-one): Fix checkdoc warnings.
11973 2015-09-17  Jay Belanger  <jay.p.belanger@gmail.com>
11975         Fix the routine for help on Calc's prefixes
11976         * lisp/calc/calc-ext.el (calc-prefix-help-retry): New variable.
11977         (calc-do-prefix-help): Use `read-char' to determine the next Calc
11978         command.
11980 2015-09-17  Stefan Monnier  <monnier@iro.umontreal.ca>
11982         * lisp/font-lock.el (font-lock-beginning-of-syntax-function): Remove.
11983         (font-lock-fontify-block): Don't let-bind it.
11984         (font-lock-compile-keywords): Don't use it.
11985         (font-lock-set-defaults): Don't set it.  Allow the variable alist to
11986         start one slot earlier, instead.
11987         * lisp/emacs-lisp/syntax.el (font-lock-beginning-of-syntax-function):
11988         Don't declare.
11989         (syntax-ppss): Don't use it either.
11990         * lisp/font-core.el (font-lock-defaults): Remove SYNTAX-BEGIN
11991         from docstring.
11992         * doc/emacs/display.texi (Font Lock): Don't mention
11993         font-lock-beginning-of-syntax-function.
11994         * doc/lispref/modes.texi (Font Lock Basics): Update description of
11995         font-lock-defaults.
11996         (Syntactic Font Lock): Remove font-lock-beginning-of-syntax-function.
11997         * lisp/loadhist.el (unload-feature-special-hooks):
11998         Remove font-lock-beginning-of-syntax-function.
11999         * lisp/obsolete/lazy-lock.el (lazy-lock-fontify-region):
12000         * lisp/emacs-lisp/lisp.el (beginning-of-defun-raw): Don't let-bind
12001         font-lock-beginning-of-syntax-function.
12003 2015-09-17  Paul Eggert  <eggert@cs.ucla.edu>
12005         Backslash cleanup in Elisp source files
12006         This patch should not change behavior.  It typically omits backslashes
12007         where they are redundant (e.g., in the string literal "^\$").
12008         In a few places, insert backslashes where they make regular
12009         expressions clearer: e.g., replace "^\*" (equivalent to "^*") with
12010         "^\\*", which has the same effect as a regular expression.
12011         Also, use ‘\ %’ instead of ‘\%’ when avoiding confusion with SCCS IDs,
12012         and similarly use ‘\ $’ instead of ‘\$’ when avoiding confusion with
12013         RCS IDs, as that makes it clearer that the backslash is intended.
12015         Some more minor backslash fixes
12016         * test/automated/compile-tests.el (compile-tests--test-regexps-data):
12017         * test/automated/info-xref.el (info-xref-test-write-file):
12018         Double backslashes in strings.
12020         Fix several backslash typos in Elisp strings
12021         * lisp/calendar/todo-mode.el (todo-files, todo-rename-file)
12022         (todo-find-filtered-items-file, todo-reset-nondiary-marker)
12023         (todo-reset-done-string, todo-reset-comment-string)
12024         (todo-reset-highlight-item):
12025         * lisp/erc/erc-networks.el (erc-networks-alist):
12026         * lisp/gnus/gnus-art.el (gnus-button-handle-library):
12027         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-gmane-group-url):
12028         * lisp/gnus/nntp.el (nntp-via-shell-prompt)
12029         (nntp-telnet-shell-prompt):
12030         * lisp/gnus/spam-report.el (spam-report-gmane-regex):
12031         * lisp/image-dired.el (image-dired-rotate-original):
12032         (image-dired-get-exif-file-name):
12033         * lisp/international/latin1-disp.el (latin1-display-ucs-per-lynx):
12034         * lisp/mail/undigest.el (rmail-digest-parse-rfc1153strict):
12035         * lisp/mh-e/mh-letter.el (mh-file-is-vcard-p):
12036         * lisp/mh-e/mh-mime.el (mh-file-mime-type-substitutions):
12037         * lisp/net/shr-color.el (shr-color->hexadecimal):
12038         * lisp/org/org-bibtex.el (org-bibtex-fields):
12039         * lisp/org/org-docview.el (org-docview-export):
12040         * lisp/org/org-entities.el (org-entities):
12041         * lisp/org/ox-icalendar.el (org-icalendar-cleanup-string):
12042         * lisp/progmodes/cperl-mode.el (cperl-indent-exp):
12043         * lisp/progmodes/ebnf2ps.el (ebnf-file-suffix-regexp)
12044         (ebnf-style-database):
12045         * lisp/progmodes/idlw-help.el (idlwave-do-context-help1):
12046         * lisp/progmodes/ruby-mode.el (ruby-imenu-create-index-in-block):
12047         * lisp/progmodes/sql.el (sql-product-alist):
12048         * lisp/progmodes/verilog-mode.el (verilog-error-regexp-emacs-alist)
12049         (verilog-error-font-lock-keywords)
12050         (verilog-assignment-operator-re):
12051         * lisp/progmodes/vhdl-mode.el (vhdl-compiler-alist):
12052         * lisp/textmodes/reftex-parse.el (reftex-parse-from-file):
12053         * lisp/vc/add-log.el (change-log-version-number-regexp-list):
12054         Fix typo by replacing ‘\’ with ‘\\’ in a string literal.
12055         For example, to get the regular expression ‘\.’ use the string
12056         literal "\\.", not "\." (which is equivalent to ".").
12057         * lisp/emulation/viper-util.el (viper-glob-unix-files):
12058         Remove stray ‘\j’ from string.
12059         * lisp/gnus/nntp.el (nntp-via-shell-prompt)
12060         (nntp-telnet-shell-prompt):
12061         Treat > like $ when matching a shell prompt.
12062         * lisp/progmodes/make-mode.el (makefile-browse):
12063         Properly quote a diagnostic.
12065         Fix minor quoting problems in diagnostics
12066         * lisp/tutorial.el (tutorial--describe-nonstandard-key):
12067         * lisp/vc/ediff-ptch.el (ediff-fixup-patch-map):
12068         Follow text-quoting-style in diagnostic, and quote a file name.
12070 2015-09-17  Eli Zaretskii  <eliz@gnu.org>
12072         * doc/lispref/frames.texi (Cursor Parameters):
12073         Document 'x-stretch-cursor'.
12075 2015-09-16  Paul Eggert  <eggert@cs.ucla.edu>
12077         Omit unnecessary \ before paren in C docstrings
12078         Although \( is needed in docstrings in Elisp code, it is not needed in
12079         docstrings in C code, since C function definitiions do not start with
12080         a parenthesis.  The backslashes made the docstrings a bit harder to
12081         read and to format in columns.  Also, some C docstrings had ( in
12082         column 1 and this did not appear to be causing any problems.  So,
12083         simplify C docstrings by replacing \( with ( and \) with ).
12085         A few more minor quoting fixes in a script and a text file
12087         Minor quoting fixes in scripts and doc
12088         Prefer straight quotes in random script files, as they are not
12089         converted.  Prefer grave quotes in a couple of places in the manual
12090         that were missed earlier, as these quotes are converted.
12092         Minor backslash fixes in manuals and scripts
12093         * Makefile.in (install-arch-indep):
12094         * admin/charsets/compact.awk:
12095         * admin/charsets/gb180302.awk (gb_to_index):
12096         * admin/charsets/gb180304.awk (gb_to_index):
12097         Avoid undefined behavior in Awk regular expression backslashes.
12098         * doc/misc/efaq.texi (Matching parentheses):
12099         Omit unnecessary backslashes.
12100         * doc/misc/gnus-faq.texi (FAQ 5-8):
12101         Avoid undefined behavior in suggested sed backslash usage.
12103         Add -Wswitch to --enable-gcc-warnings
12104         Make --enable-gcc-warnings a bit pickier, by also using -Wswitch.
12105         * configure.ac (WERROR_CFLAGS): Don’t add -Wno-switch.
12106         * lib-src/etags.c (main, consider_token, C_entries):
12107         * src/coding.c (encode_invocation_designation):
12108         * src/data.c (Ftype_of):
12109         * src/eval.c (Fdefvaralias, default_toplevel_binding)
12110         (Fbacktrace__locals, mark_specpdl):
12111         * src/lisp.h (record_xmalloc):
12112         * src/syntax.c (scan_lists, scan_sexps_forward):
12113         * src/window.c (window_relative_x_coord):
12114         * src/xdisp.c (push_it, pop_it):
12115         * src/xterm.c (xg_scroll_callback, x_check_fullscreen):
12116         Error out or do nothing (as appropriate) if a switch statement
12117         with an enum value does not cover all of the enum.
12118         * src/dispextern.h (struct iterator_stack_entry.u.comp):
12119         Remove unused member discovered by using -Wswitch.
12120         * src/lisp.h (record_xmalloc): Add a ‘+ 0’ to pacify -Wswitch.
12121         * src/vm-limit.c (check_memory_limits):
12122         Simplify warning-diagnostic computation by using a table.
12124         etags ‘fatal’ function is now printf-like
12125         * lib-src/etags.c (fatal): Now printf-like.  All callers changed.
12126         Also, now static; not clear why it needed to be extern.
12127         (verror): New function, with most of the old contents of ‘error’.
12128         (fatal, error): Use it.
12130 2015-09-16  Eli Zaretskii  <eliz@gnu.org>
12132         More adaptations in file-notify-tests.el
12133         * test/automated/file-notify-tests.el
12134         (file-notify-test05-dir-validity): Skip for w32notify in
12135         batch-mode.  (Bug#21432)
12137 2015-09-16  Michael Albinus  <michael.albinus@gmx.de>
12139         Adapt test in file-notify-tests.el
12140         * test/automated/file-notify-tests.el
12141         (file-notify-test04-file-validity): Skip for w32notify in
12142         batch-mode.  Add test lost last commit.
12144 2015-09-16  Dima Kogan  <dima@secretsauce.net>
12146         winner no longer holds on to dead frames
12147         * lisp/winner.el (winner-change-fun): Cull dead frames.
12148         This prevents a potentially massive memory leak.  See:
12149         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00619.html
12151 2015-09-16  Michael Albinus  <michael.albinus@gmx.de>
12153         Use common report_file_notify_error function
12154         * src/fileio.c (report_file_notify_error): New function.
12155         * src/inotify.c (report_inotify_error): Remove function.
12156         (inotify_callback, symbol_to_inotifymask, Finotify_add_watch)
12157         (Finotify_rm_watch): Use report_file_notify_error.
12158         * src/lisp.h (report_file_notify_error): Declare external function.
12159         * src/w32notify.c (report_w32notify_error): Remove function.
12160         (Fw32notify_add_watch, Fw32notify_rm_watch):
12161         Use report_file_notify_error.
12163 2015-09-16  Jay Belanger  <jay.p.belanger@gmail.com>
12165         Fix documentation.
12166         * doc/misc/calc.texi (Single-Variable Statistics): Fix the wording of
12167         the documentation of the root mean square.
12169 2015-09-16  Martin Rudalics  <rudalics@gmx.at>
12171         Remove tool_bar_redisplayed_once and associated code.
12172         * src/frame.h (tool_bar_redisplayed_once): Remove slot.
12173         * src/frame.c (make_frame, x_set_font): Remove initialization of
12174         f->tool_bar_redisplayed_once.
12175         * src/w32fns.c (x_change_tool_bar_height):
12176         * src/xfns.c (x_change_tool_bar_height): Don't check for
12177         f->tool_bar_redisplayed_once.
12178         * src/xdisp.c (redisplay_internal): Remove handling of
12179         f->tool_bar_redisplayed_once.
12181 2015-09-16  Eli Zaretskii  <eliz@gnu.org>
12183         Restore some of the quoting in the manuals
12184         * doc/lispref/windows.texi (Coordinates and Windows)
12185         (Coordinates and Windows):
12186         * doc/lispref/variables.texi (Lexical Binding)
12187         (File Local Variables):
12188         * doc/lispref/text.texi (Format Properties):
12189         * doc/lispref/symbols.texi (Symbol Components):
12190         * doc/lispref/strings.texi (Creating Strings):
12191         * doc/lispref/sequences.texi (Sequence Functions):
12192         * doc/lispref/searching.texi (Regexp Special, Regexp Search)
12193         (Search and Replace):
12194         * doc/lispref/processes.texi (Bindat Spec):
12195         * doc/lispref/os.texi (Idle Timers):
12196         * doc/lispref/objects.texi (Basic Char Syntax):
12197         * doc/lispref/numbers.texi (Float Basics, Random Numbers):
12198         * doc/lispref/nonascii.texi (Character Properties):
12199         * doc/lispref/modes.texi (Major Mode Conventions, Mode Hooks)
12200         (Mode Line Variables):
12201         * doc/lispref/minibuf.texi (Text from Minibuffer):
12202         * doc/lispref/loading.texi (Autoload):
12203         * doc/lispref/keymaps.texi (Controlling Active Maps):
12204         * doc/lispref/frames.texi (Frame Layout, Size and Position)
12205         (Size Parameters, Implied Frame Resizing):
12206         * doc/lispref/files.texi (Changing Files, Magic File Names):
12207         * doc/lispref/eval.texi (Self-Evaluating Forms):
12208         * doc/lispref/display.texi (Progress, Abstract Display)
12209         (Abstract Display Example, Bidirectional Display):
12210         * doc/lispref/commands.texi (Event Mod):
12211         * doc/emacs/windows.texi (Displaying Buffers):
12212         * doc/emacs/trouble.texi (Bug Criteria, Checklist):
12213         * doc/emacs/text.texi (Enriched Text):
12214         * doc/emacs/programs.texi (MixedCase Words):
12215         * doc/emacs/picture-xtra.texi (Insert in Picture)
12216         (Tabs in Picture):
12217         * doc/emacs/misc.texi (Emacs Server, Printing):
12218         * doc/emacs/mini.texi (Minibuffer History):
12219         * doc/emacs/maintaining.texi (Old Revisions, VC Change Log)
12220         (Pulling / Pushing):
12221         * doc/emacs/killing.texi (Yanking, Cut and Paste, Clipboard):
12222         * doc/emacs/help.texi (Help, Help Echo):
12223         * doc/emacs/glossary.texi (Glossary):
12224         * doc/emacs/frames.texi (Mouse Commands, Creating Frames)
12225         (Frame Commands):
12226         * doc/emacs/files.texi (Reverting, Saving, Directories):
12227         * doc/emacs/entering.texi (Exiting):
12228         * doc/emacs/emacs.texi (Top):
12229         * doc/emacs/cmdargs.texi (Window Size X, Icons X):
12230         * doc/emacs/anti.texi (Antinews): Restore quoting of text where
12231         appropriate or replace quoting with @dfn.
12232         * doc/misc/ediff.texi (Window and Frame Configuration):
12233         * doc/lispref/processes.texi (Network Feature Testing):
12234         * doc/lispref/display.texi (Display Margins): Quote the phrase
12235         after "a.k.a." where appropriate.
12237 2015-09-16  Tassilo Horn  <tsdh@gnu.org>
12239         Clarify reftex-extra-bindings docs
12240         * lisp/textmodes/reftex-vars.el (reftex-extra-bindings):
12241         * doc/misc/reftex.texi (Key Bindings): Document that the variable
12242         only has an effect at load-time.
12244 2015-09-16  Daniel McClanahan  <danieldmcclanahan@gmail.com>  (tiny change)
12246         * lisp/emacs-lisp/lisp-mode.el (lisp--el-match-keyword): Fix
12247         search argument.  (Bug#21492) (Bug#21493)
12249 2015-09-16  Tassilo Horn  <tsdh@gnu.org>
12251         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist):
12252         Add pretty symbols for \qquad and \varrho.
12254 2015-09-15  Jay Belanger  <jay.p.belanger@gmail.com>
12256         Add new functions for the root mean square of a (Calc) vector
12257         * lisp/calc/calc-stats.el (calcFunc-rms, calc-vector-rms):
12258         New functions.
12259         * lisp/calc/calc-ext.el (calc-init-extensions): Add keybinding for
12260         `calc-vector-rms', add autoloads for `calc-vector-rms' and
12261         `calcFunc-rms'.
12262         * lisp/calc/calc-map.el (calc-u-oper-keys): Add entry for
12263         `calcFunc-rms'.
12264         * lisp/calc/calc-menu.el (calc-vectors-menu): Add entry for
12265         `calc-vector-rms'.
12266         * doc/misc/calc.texi (Single-Variable Statistics): Document the rms
12267         command.
12269 2015-09-15  Stephen Leake  <stephen_leake@stephe-leake.org>
12271         Add monotone EDE generic project
12272         * lisp/cedet/ede/generic.el (ede-enable-generic-projects):
12273         Add monotone generic project.
12275         Revert premature commit
12276         * doc/lispref/files.texi: Revert premature commit of change to
12277         file-name-all-completions.
12279         Fix a bug in elisp--xref-find-definitions related to cl-generic defaults
12280         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions): Fix bug
12281         with cl-generic defaults.
12282         (elisp--xref-find-references): Add doc string.
12283         * test/automated/elisp-mode-tests.el (xref-elisp-generic-*): Improve
12284         tests to find bug.
12286         Fix bugs in eieio-oref-default related to class symbols
12287         * lisp/emacs-lisp/eieio-core.el (class-p): Handle symbol properly.
12288         (eieio-oref-default): Handle class properly.
12290 2015-09-15  Paul Eggert  <eggert@cs.ucla.edu>
12292         Quote “fullboth” when defining it
12293         * doc/lispref/frames.texi (Size Parameters): Use @dfn for “fullboth”
12294         and rewrite the containing paragraph, which was awkward.  (Bug#21472).
12296 2015-09-15  Eli Zaretskii  <eliz@gnu.org>
12298         Minor doc fix in emacs/ack.texi
12299         * doc/emacs/ack.texi (Acknowledgments): Fix an xref missing the
12300         first argument.
12302 2015-09-15  Michael Albinus  <michael.albinus@gmx.de>
12304         Adapt tests in auto-revert-tests.el
12305         * test/automated/auto-revert-tests.el (auto-revert--timeout):
12306         Make it a defconst.
12307         (auto-revert--wait-for-revert): New defun.
12308         (auto-revert-test00-auto-revert-mode)
12309         (auto-revert-test01-auto-revert-tail-mode)
12310         (auto-revert-test02-auto-revert-mode-dired): Use it.
12312 2015-09-15  Stefan Monnier  <monnier@iro.umontreal.ca>
12314         * lisp/emacs-lisp/lisp-mode.el (lisp-mode-symbol-regexp): New const.
12315         Use it everywhere "\\(\\sw\\|\\s_\\|\\\\.\\)+" was used.
12316         (cl-lib-fdefs): Add defgeneric.
12317         (cl-kw): Add all elements of eieio-kw and cl-lib-kw.
12318         (eieio-kw, cl-lib-kw, el-kw): Remove.
12320 2015-09-15  Paul Eggert  <eggert@cs.ucla.edu>
12322         Quote less in manuals
12323         The manuals often used quotes ``...'' when it is better to use @dfn or
12324         @code or capitalized words or no quoting at all.  For example, there is
12325         no need for the `` and '' in “if a variable has one effect for
12326         @code{nil} values and another effect for ``non-@code{nil}'' values”.
12327         Reword the Emacs, Lisp intro, and Lisp reference manuals to eliminate
12328         unnecessary quoting like this, and to use @dfn etc. instead when called
12329         for (Bug#21472).
12331 2015-09-15  Mark Oteiza  <mvoteiza@udel.edu>
12333         * lisp/custom.el (load-theme): Only compute hash when needed.
12335 2015-09-15  Paul Eggert  <eggert@cs.ucla.edu>
12337         Pacify --enable-gcc-warnings
12338         * src/inotify.c (report_inotify_error): Declare it _Noreturn.
12340 2015-09-15  Michael Albinus  <michael.albinus@gmx.de>
12342         Improve error reports in inotify.c
12343         * src/inotify.c (report_inotify_error): New function.  Clone of
12344         report_w32notify_error.
12345         (inotify_callback, symbol_to_inotifymask, Finotify_add_watch)
12346         (Finotify_rm_watch): Use it.
12348 2015-09-15  Eli Zaretskii  <eliz@gnu.org>
12350         Fix the file-notify tests for watch validation on w32
12351         * test/automated/file-notify-tests.el
12352         (file-notify-test04-file-validity): Move the directory deletion
12353         out of the file-notify--test-with-events macro.
12354         (file-notify-test04-file-validity)
12355         (file-notify-test05-dir-validity): Enlarge the timeout of
12356         read-event to 0.5, as 0.1 is borderline on w32.  (Bug#21432)
12358 2015-09-15  Tassilo Horn  <tsdh@gnu.org>
12360         Use OPEN BOX instead of space for \quad.
12361         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Use OPEN BOX
12362         character for \quad instead of a space.
12364 2015-09-15  Eli Zaretskii  <eliz@gnu.org>
12366         Add missing *.pbm images
12367         * etc/images/connect.pbm: New file.
12368         * etc/images/custom/down-pushed.pbm: New file.
12369         * etc/images/custom/down.pbm: New file.
12370         * etc/images/custom/right-pushed.pbm: New file.
12371         * etc/images/custom/right.pbm: New file.
12372         * etc/images/describe.pbm: New file.
12373         * etc/images/disconnect.pbm: New file.
12374         * etc/images/ezimage/bits.pbm: New file.
12375         * etc/images/ezimage/bitsbang.pbm: New file.
12376         * etc/images/ezimage/box-minus.pbm: New file.
12377         * etc/images/ezimage/box-plus.pbm: New file.
12378         * etc/images/ezimage/box.pbm: New file.
12379         * etc/images/ezimage/checkmark.pbm: New file.
12380         * etc/images/ezimage/dir-minus.pbm: New file.
12381         * etc/images/ezimage/dir-plus.pbm: New file.
12382         * etc/images/ezimage/dir.pbm: New file.
12383         * etc/images/ezimage/doc-minus.pbm: New file.
12384         * etc/images/ezimage/doc-plus.pbm: New file.
12385         * etc/images/ezimage/doc.pbm: New file.
12386         * etc/images/ezimage/info.pbm: New file.
12387         * etc/images/ezimage/key.pbm: New file.
12388         * etc/images/ezimage/label.pbm: New file.
12389         * etc/images/ezimage/lock.pbm: New file.
12390         * etc/images/ezimage/mail.pbm: New file.
12391         * etc/images/ezimage/page-minus.pbm: New file.
12392         * etc/images/ezimage/page-plus.pbm: New file.
12393         * etc/images/ezimage/page.pbm: New file.
12394         * etc/images/ezimage/tag-gt.pbm: New file.
12395         * etc/images/ezimage/tag-minus.pbm: New file.
12396         * etc/images/ezimage/tag-plus.pbm: New file.
12397         * etc/images/ezimage/tag-type.pbm: New file.
12398         * etc/images/ezimage/tag-v.pbm: New file.
12399         * etc/images/ezimage/tag.pbm: New file.
12400         * etc/images/ezimage/unlock.pbm: New file.
12401         * etc/images/gnus/important.pbm: New file.
12402         * etc/images/gnus/mail-send.pbm: New file.
12403         * etc/images/gnus/receipt.pbm: New file.
12404         * etc/images/gnus/toggle-subscription.pbm: New file.
12405         * etc/images/gnus/unimportant.pbm: New file.
12406         * etc/images/gud/all.pbm: New file.
12407         * etc/images/gud/rcont.pbm: New file.
12408         * etc/images/gud/recstart.pbm: New file.
12409         * etc/images/gud/recstop.pbm: New file.
12410         * etc/images/gud/rfinish.pbm: New file.
12411         * etc/images/gud/rnext.pbm: New file.
12412         * etc/images/gud/rnexti.pbm: New file.
12413         * etc/images/gud/rstep.pbm: New file.
12414         * etc/images/gud/rstepi.pbm: New file.
12415         * etc/images/gud/thread.pbm: New file.
12416         * etc/images/lock-broken.pbm: New file.
12417         * etc/images/lock-ok.pbm: New file.
12418         * etc/images/lock.pbm: New file.
12419         * etc/images/mail/copy.pbm: New file.
12420         * etc/images/mail/forward.pbm: New file.
12421         * etc/images/mail/not-spam.pbm: New file.
12422         * etc/images/mail/outbox.pbm: New file.
12423         * etc/images/mail/preview.pbm: New file.
12424         * etc/images/mail/save-draft.pbm: New file.
12425         * etc/images/mh-logo.pbm: New file.
12426         * etc/images/mpc/add.pbm: New file.
12427         * etc/images/mpc/ffwd.pbm: New file.
12428         * etc/images/mpc/next.pbm: New file.
12429         * etc/images/mpc/pause.pbm: New file.
12430         * etc/images/mpc/play.pbm: New file.
12431         * etc/images/mpc/prev.pbm: New file.
12432         * etc/images/mpc/rewind.pbm: New file.
12433         * etc/images/mpc/stop.pbm: New file.
12434         * etc/images/redo.pbm: New file.
12435         * etc/images/smilies/braindamaged.pbm: New file.
12436         * etc/images/smilies/cry.pbm: New file.
12437         * etc/images/smilies/dead.pbm: New file.
12438         * etc/images/smilies/evil.pbm: New file.
12439         * etc/images/smilies/forced.pbm: New file.
12440         * etc/images/smilies/grin.pbm: New file.
12441         * etc/images/smilies/indifferent.pbm: New file.
12442         * etc/images/sort-ascending.pbm: New file.
12443         * etc/images/sort-column-ascending.pbm: New file.
12444         * etc/images/sort-criteria.pbm: New file.
12445         * etc/images/sort-descending.pbm: New file.
12446         * etc/images/sort-row-ascending.pbm: New file.
12447         * etc/images/unchecked.pbm: New file.
12448         * etc/images/zoom-in.pbm: New file.
12449         * etc/images/README: Update instructions for PBM files.
12451         Add separator.pbm tool-bar image
12452         * etc/images/separator.pbm: New file.  Having it avoids the side
12453         effect of changing the tool-bar height when the default font's size
12454         changes and XPM image support is not available, due to the SPC
12455         characters that are left in the Lisp string used to display the tool
12456         bar, because there are no images to display instead of those SPC
12457         characters.
12459         Make show-paren-match face visible on mono-color displays
12460         * lisp/faces.el (show-paren-match): Use the underline face for
12461         mono-color displays.  (Bug#21481)
12463 2015-09-14  Paul Eggert  <eggert@cs.ucla.edu>
12465         Don’t double-encode non-ASCII mail clipboard
12466         * lisp/mail/mailclient.el (mailclient-send-it):
12467         Also fix the case when mailclient-place-body-on-clipboard-flag
12468         is non-nil.  Problem reported by Eli Zaretskii (Bug#21471#37).
12470 2015-09-14  Michael Albinus  <michael.albinus@gmx.de>
12472         Adapt file-notify-tests.el test cases
12473         * lisp/filenotify.el (file-notify-rm-watch): Ignore `file-notify-error'.
12474         * src/inotify.c (Finotify_valid_p): Adapt docstring.
12475         * test/automated/file-notify-tests.el
12476         (file-notify-test03-autorevert)
12477         (file-notify-test04-file-validity)
12478         (file-notify-test04-file-validity-remote)
12479         (file-notify-test05-dir-validity)
12480         (file-notify-test05-dir-validity-remote): Adapt docstring.
12481         (file-notify-test04-file-validity): Let events arrive before
12482         calling final `file-notify-valid-p'.  Do not ignore errors.
12483         (file-notify-test05-dir-validity): Do not manipulate
12484         `temporary-file-directory', it isn't necessary.  Let events arrive
12485         before calling final `file-notify-valid-p'.  Do not ignore errors.
12487 2015-09-14  Paul Eggert  <eggert@cs.ucla.edu>
12489         Don’t double-encode non-ASCII for mail client
12490         * lisp/mail/mailclient.el (mailclient-encode-string-as-url):
12491         Use RFC 6068’s list of unreserved characters.
12492         (mailclient-send-it): When encoding the body as a URL,
12493         first decode it as per Content-Type: and Content-Transfer-Encoding:,
12494         as URLs must use percent-encoded UTF-8 (Bug#21471).
12495         * doc/misc/url.texi (mailto): Update RFC number.
12497 2015-09-14  Stefan Monnier  <monnier@iro.umontreal.ca>
12499         * lisp/progmodes/cc-langs.el (c-make-init-lang-vars-fun): Use dolist.
12501 2015-09-14  Alan Mackenzie  <acm@muc.de>
12503         Replace `cadar' with `cadr/car', since `cadar' is problematic on Emacs
12504         (c-make-init-lang-vars-fun): Replace two occurrences of `cadar' with
12505         `cadr/car'.
12507 2015-09-14  Eli Zaretskii  <eliz@gnu.org>
12509         Clarify documentation of char-table extra slots
12510         * doc/lispref/sequences.texi (Char-Tables): Clarify that extra
12511         slot numbers are zero-based.  (Bug#21467)
12513 2015-09-14  Alan Mackenzie  <acm@muc.de>
12515         Elisp mode: Make font-lock and imenu handle escaped characters in symbols
12516         Fixes bug#21449.
12517         * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression)
12518         (lisp--el-match-keyword, lisp-el-font-lock-keywords-1)
12519         (lisp-cl-font-lock-keywords-1, lisp-el-font-lock-keywords-2)
12520         (lisp-cl-font-lock-keywords-2, lisp-string-in-doc-position-p):
12521         Insert "\\|\\\\." into regexps which match symbols.
12523 2015-09-14  Eli Zaretskii  <eliz@gnu.org>
12525         Improve the doc string of w32notify-valid-p
12526         * src/w32notify.c (Fw32notify_valid_p): Mention in the doc string
12527         that removing a watch makes its object invalid.
12529 2015-09-14  Tassilo Horn  <tsdh@gnu.org>
12531         Fix tests for file-notify-valid-p
12532         * test/automated/file-notify-tests.el (file-notify--test-cleanup):
12533         Use delete-directory to delete file-notify--test-tmpfile if it is
12534         a directory.  Likewise for file-notify--test-tmpfile1.
12535         (file-notify-test04-file-validity)
12536         (file-notify-test05-dir-validity): Delete the parent directory of
12537         the test.  Ignore errors when cleaning up after the test.
12539 2015-09-14  Eli Zaretskii  <eliz@gnu.org>
12541         Report file-notify-error in w32notify.c
12542         * src/w32notify.c (report_w32notify_error): New function.
12543         (Fw32notify_add_watch, Fw32notify_rm_watch): Use it to report
12544         errors, instead of calling report_file_error.  (Bug#21432)
12546         Implement w32notify-valid-p
12547         * src/w32notify.c (Fw32notify_valid_p): New function.  (Bug#21432)
12548         * lisp/filenotify.el (w32notify-valid-p): No longer an alias for
12549         'identity'.
12551 2015-09-14  Tassilo Horn  <tsdh@gnu.org>
12553         Test file-notify-valid-p
12554         * test/automated/file-notify-tests.el
12555         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
12556         New tests.
12558 2015-09-13  Eli Zaretskii  <eliz@gnu.org>
12560         Fix markup in ELisp manual
12561         * doc/lispref/frames.texi (Font and Color Parameters): Fix markup
12562         of the 'alpha' parameter value.  (Bug#21470)
12564 2015-09-13  Michael Albinus  <michael.albinus@gmx.de>
12566         Introduce `file-notify-valid-p'
12567         * lisp/filenotify.el (file-notify-valid-p): New defun.
12568         (gfile-valid-p, w32notify-valid-p): Make them an alias to `identity'.
12569         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist)
12570         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist)
12571         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist)
12572         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist)
12573         <file-notify-valid-p>: Add handler.
12574         * lisp/net/tramp.el (tramp-file-name-for-operation):
12575         Add `file-notify-valid-p'.
12576         (tramp-handle-file-notify-valid-p): New defun.
12577         * src/inotify.c (Finotify_valid_p): New defun.
12578         (syms_of_inotify): Declare Sinotify_valid_p.
12580 2015-09-13  Paul Eggert  <eggert@cs.ucla.edu>
12582         Port Unicode char detection to FreeBSD+svgalib
12583         Problem reported by Ashish SHUKLA in:
12584         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00531.html
12585         * configure.ac: Check for struct unipair.unicode instead of for
12586         <linux/kd.h>, since that’s more specific to what the code
12587         actually needs.
12588         * src/terminal.c: Use HAVE_STRUCT_UNIPAIR_UNICODE, not HAVE_LINUX_KD_H.
12590         * src/indent.c (Fvertical_motion): Simplify bugfix (Bug#21468).
12592 2015-09-13  Eli Zaretskii  <eliz@gnu.org>
12594         Fix vertical cursor motion across overlay strings with newlines
12595         * src/indent.c (Fvertical_motion): Don't leave point in the middle
12596         of an overlay string with newlines, as that will position the
12597         cursor after the string at whatever column is there.  (Bug#21468)
12599 2015-09-12  Michael Albinus  <michael.albinus@gmx.de>
12601         Fix tests in file-notify-tests.el
12602         * test/automated/file-notify-tests.el: Remove Tramp declarations.
12603         (file-notify-test00-availability): Print remote command w/o Tramp
12604         internal functions.
12605         (file-notify-test02-events, file-notify-test02-events-remote):
12606         Adapt docstring.
12607         (file-notify-test03-autorevert): Use `format-message' when
12608         inspecting *Messages* buffer.
12610 2015-09-12  Stefan Monnier  <monnier@iro.umontreal.ca>
12612         Bind inhibit-modification-hooks rather than a/b-c-f
12613         * lisp/wid-edit.el (widget-editable-list-insert-before)
12614         (widget-editable-list-delete-at):
12615         * lisp/progmodes/cperl-mode.el (cperl-find-pods-heres)
12616         (cperl-font-lock-unfontify-region-function):
12617         * lisp/progmodes/antlr-mode.el (save-buffer-state-x):
12618         * lisp/obsolete/longlines.el (longlines-mode):
12619         * lisp/obsolete/fast-lock.el (save-buffer-state):
12620         * lisp/mouse.el (mouse-save-then-kill-delete-region):
12621         * lisp/gnus/message.el (message-hide-headers):
12622         * lisp/eshell/esh-mode.el (eshell-send-input, eshell-output-filter):
12623         * lisp/ibuffer.el (ibuffer-update-title-and-summary)
12624         (ibuffer-redisplay-engine): Bind inhibit-modification-hooks to t rather
12625         than after/before-change-functions to nil.
12627 2015-09-11  Stefan Monnier  <monnier@iro.umontreal.ca>
12629         (jit-lock-deferred-fontify): Pay attention to skipped redisplays
12630         * lisp/jit-lock.el (jit-lock-deferred-fontify): Make sure we refresh
12631         the buffers, even if the forced redisplay is interrupted.
12633         * lisp/emacs-lisp/eieio-core.el (class-p): Accept class objects
12635         Merge syntax-propertize--done and parse-sexp-propertize-done
12636         * lisp/emacs-lisp/syntax.el (syntax-propertize--done): Remove.
12637         (syntax-propertize): Set syntax-propertize--done even if
12638         syntax-propertize-function is nil.  Avoid recursive invocations.
12639         (syntax-propertize-chunks): New var.
12640         (internal--syntax-propertize): Use it.  Rename from syntax--jit-propertize.
12641         Simplify.
12642         (parse-sexp-propertize-function): Don't set any more.
12643         * src/syntax.c (SETUP_SYNTAX_TABLE): Call parse_sexp_propertize as needed.
12644         (parse_sexp_propertize): Don't assume charpos is not yet propertized.
12645         Call Qinternal__syntax_propertize instead of
12646         Vparse_sexp_propertize_function.  Truncate e_property if needed.
12647         (update_syntax_table_forward): Streamline.
12648         (syms_of_syntax): Define Qinternal__syntax_propertize.
12649         (syntax_propertize__done): Rename from parse_sexp_propertize_done.
12651 2015-09-11  Paul Eggert  <eggert@cs.ucla.edu>
12653         Prefer straight quoting in some text files
12654         Mostly this just changes ` to ' in static text.  Some exceptions:
12655         * INSTALL.REPO: Use curved quotes, as the diagnostic in question
12656         typically does that now.
12657         * admin/quick-install-emacs (TRY, top level):
12658         Use straight quoting in diagnostics.
12659         * src/README: Fix working-directory confusion.
12661         * CONTRIBUTE: Move send-email here from git-workflow.
12663 2015-09-11  Michael Albinus  <michael.albinus@gmx.de>
12665         Improve file notifications in Tramp
12666         * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
12667         Set proper events to watch for.
12668         (tramp-sh-file-gvfs-monitor-dir-process-filter): Report only
12669         watched events.
12671 2015-09-11  Eli Zaretskii  <eliz@gnu.org>
12673         Fix NS build with --enable-checking='glyphs'
12674         * src/nsfns.m (unwind_create_frame): Make the preprocessor
12675         conditionals for referencing 'dpyinfo' consistent throughout the
12676         function.  (Bug#21426)
12678 2015-09-10  Nicolas Petton  <nicolas@petton.fr>
12680         Add seq-find
12681         This function is similar to `seq-some' but returns the found element.
12682         In the cases where nil can be the found element, a sentinel optional
12683         argument can be provided to avoid ambiguities.
12684         * lisp/emacs-lisp/seq.el (seq-find): New function.
12685         * test/automated/seq-tests.el (test-seq-find): Add tests for `seq-find'.
12686         * doc/lispref/sequences.texi (Sequence Functions): Add documentation for
12687         seq-find.
12689 2015-09-10  Tassilo Horn  <tsdh@gnu.org>
12691         Document file-notify--test-with-events.
12692         * test/automated/file-notify-tests.el (file-notify--test-with-events):
12693         Add docstring.
12695 2015-09-10  Michael Albinus  <michael.albinus@gmx.de>
12697         Report used native library in file-notify-tests.el
12698         * test/automated/file-notify-tests.el
12699         (tramp-get-remote-gvfs-monitor-dir)
12700         (tramp-get-remote-inotifywait): Declare them.
12701         (file-notify-test00-availability): Print used native library.
12703 2015-09-10  Mark Oteiza  <mvoteiza@udel.edu>
12705         * lisp/mpc.el (mpc--proc-connect): Use file-name-absolute-p.
12706         (mpc-file-local-copy): Check for absolute path.  Check more config
12707         locations.
12709 2015-09-10  Eli Zaretskii  <eliz@gnu.org>
12711         Improve documentation of categories
12712         * doc/lispref/syntax.texi (Categories): Clarify the example of
12713         using define-category and modify-category-entry.  (Bug#21448)
12715 2015-09-10  Paul Eggert  <eggert@cs.ucla.edu>
12717         Revert some stray curved quotes I missed earlier
12718         Problem reported by David Kastrup in:
12719         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00440.html
12720         * lisp/international/mule-cmds.el (leim-list-header):
12721         Use format-message with an ASCII-only format.
12723         Prefer NUMBERP to spelling it out
12724         * src/editfns.c (styled_format):
12725         * src/frame.h (NUMVAL):
12726         * src/image.c (parse_image_spec):
12727         * src/lisp.h (CHECK_NUMBER_OR_FLOAT)
12728         (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER):
12729         * src/process.c (Fsignal_process):
12730         * src/xdisp.c (calc_pixel_width_or_height, on_hot_spot_p):
12731         * src/xfaces.c (check_lface_attrs):
12732         * src/xselect.c (x_fill_property_data, x_send_client_event):
12733         Use NUMBERP rather than INTEGERP || FLOATP.
12735 2015-09-10  Tassilo Horn  <tsdh@gnu.org>
12737         Improve file-notify-tests
12738         * test/automated/file-notify-tests.el: Use lexical-binding.
12739         (file-notify--test-cleanup): New function.
12740         (file-notify-test00-availability, file-notify-test01-add-watch)
12741         (file-notify-test02-events, file-notify-test03-autorevert): Use it.
12742         (file-notify--test-with-events): New macro.
12743         (file-notify-test02-events): Use it.
12745 2015-09-10  Paul Eggert  <eggert@cs.ucla.edu>
12747         Add patch-sending instructions to git-workflow
12748         From a suggestion by Mitchel Humpherys in:
12749         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00421.html
12750         * admin/notes/git-workflow (Sending patches): New section.
12752         Port to GIFLIB 5.0.6 and later
12753         Problem reported by Mitchel Humpherys in:
12754         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00420.html
12755         * src/image.c (HAVE_GIFERRORSTRING) [HAVE_GIF]: New macro.
12756         (GifErrorString, init_gif_functions) [HAVE_GIF && WINDOWSNT]:
12757         (gif_load) [HAVE_GIF]: Use it.
12759 2015-09-10  Glenn Morris  <rgm@gnu.org>
12761         * lisp/cedet/ede/auto.el (ede-project-autoload): Doc fix.
12763 2015-09-09  Glenn Morris  <rgm@gnu.org>
12765         * test/automated/file-notify-tests.el (file-notify-test02-events):
12766         Fix recent change.
12768 2015-09-09  Paul Eggert  <eggert@cs.ucla.edu>
12770         Refix movemail GCC pacification
12771         Problem reported by Ken Brown in:
12772         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00406.html
12773         * lib-src/movemail.c (main): Fix previous change.
12775 2015-09-09  Stefan Monnier  <monnier@iro.umontreal.ca>
12777         * lisp/calendar/time-date.el (time-to-seconds, time-less-p):
12778         Mark unused vars with underscore.
12780         * src/syntax.c (SETUP_SYNTAX_TABLE): Move truncation...
12781         (parse_sexp_propertize): ...from here.
12783         * lisp/filenotify.el: Use lexical-binding
12784         (file-notify-add-watch): Avoid add-to-list.
12786 2015-09-09  Tassilo Horn  <tsdh@gnu.org>
12788         Start checking event types in file-notify tests
12789         * test/automated/file-notify-tests.el (file-notify--test-events):
12790         New variable.
12791         (file-notify--test-event-handler): Append received event to
12792         file-notify--test-events for later analysis.
12793         (file-notify-test02-events): Assert that the expected notifications have
12794         arrived in the expected order.
12796 2015-09-09  Paul Eggert  <eggert@cs.ucla.edu>
12798         Merge from gnulib and texinfo
12799         This incorporates:
12800         2015-08-03 Improve port of stdalign to C++11
12801         * lib/stdalign.in.h: Copy from gnulib.
12802         * doc/misc/texinfo.tex: Copy from texinfo.
12804 2015-09-09  Stefan Monnier  <monnier@iro.umontreal.ca>
12806         Make syntax.c call syntax-propertize on demand
12807         * lisp/emacs-lisp/syntax.el (syntax--jit-propertize): New function.
12808         (parse-sexp-propertize-function): Use it.
12809         (syntax-propertize): Disable parse-sexp-propertize-function.
12810         * src/syntax.c (parse_sexp_propertize, update_syntax_table_forward):
12811         New functions.
12812         (syms_of_syntax): New vars `parse-sexp-propertize-done' and
12813         `parse-sexp-propertize-function'.
12814         * src/syntax.h (struct gl_state_s): Add `e_property_truncated' field.
12815         (UPDATE_SYNTAX_TABLE_FORWARD): Use update_syntax_table_forward.
12816         (SETUP_BUFFER_SYNTAX_TABLE): Set e_property_truncated.
12817         * lisp/progmodes/elisp-mode.el (elisp-byte-code-syntax-propertize):
12818         Don't assume `point' is set.
12820 2015-09-09  Eli Zaretskii  <eliz@gnu.org>
12822         Fix indentation of an @example in ELisp manual
12823         * doc/lispref/syntax.texi (Categories): Untabify the example.
12824         (Bug#21448)
12826 2015-09-09  Paul Eggert  <eggert@cs.ucla.edu>
12828         Define internal-char-font even if --without-x
12829         The function is used now even in non-graphical environments.
12830         Problem reported by Glenn Morris in:
12831         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00401.html
12832         * src/font.c (Finternal_char_font): Move here ...
12833         * src/fontset.c (Finternal_char_font): ... from here.
12835 2015-09-09  Stefan Monnier  <monnier@iro.umontreal.ca>
12837         * lisp/emacs-lisp/cl-generic.el (cl-generic-generalizers):
12838         Remove warning.
12840 2015-09-09  Eli Zaretskii  <eliz@gnu.org>
12842         Fix display of complex local data types in GDB-MI
12843         * lisp/progmodes/gdb-mi.el (gdb-locals-handler-custom): If a
12844         variable has no value, display "<complex data type>" as a
12845         placeholder, instead of a confusing "nil".  (Bug#21438)
12847 2015-09-09  Oleh Krehel  <ohwoeowho@gmail.com>
12849         Remove redundant redefinition of seq-drop-while from seq.el
12850         * lisp/emacs-lisp/seq.el (seq-drop-while): Define only once.
12852 2015-09-09  Phil Sainty  <psainty@orcon.net.nz>
12854         * lisp/emacs-lisp/package.el (package--ensure-init-file):
12855         More robust check for `package-initialize' calls in init file.
12856         This function accepts an optional argument, but calls passing
12857         an argument would not have been detected.
12859 2015-09-09  Paul Eggert  <eggert@cs.ucla.edu>
12861         Port movemail to RHEL 6 with --enable-gcc-warnings
12862         * lib-src/movemail.c (main): Declare local only if needed.
12864         Port recent Linux console changes to RHEL 6
12865         * src/terminal.c [HAVE_LINUX_KD_H]: Include <sys/ioctl.h>.
12867         Improvements for curved quotes on Linux consule
12868         This should help Emacs work better out-of-the-box on Linux consoles,
12869         which have only limited support for displaying Unicode characters.
12870         Also, undo the recent change that caused text-quoting-style to
12871         affect quote display on terminals, so that the two features are
12872         independent.  See Alan Mackenzie in:
12873         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00244.html
12874         Finally, add a style parameter to startup--setup-quote-display,
12875         so that this function can also be invoked after startup, with
12876         different styles depending on user preference at the time.
12877         * configure.ac: Check for linux/kd.h header.
12878         * doc/emacs/display.texi (Text Display): Document quote display.
12879         * doc/lispref/display.texi (Active Display Table):
12880         * etc/NEWS:
12881         * lisp/startup.el (startup--setup-quote-display, command-line):
12882         text-quoting-style no longer affects quote display.
12883         * doc/lispref/frames.texi (Terminal Parameters): Fix typo.
12884         * lisp/international/mule-util.el (char-displayable-p):
12885         * lisp/startup.el (startup--setup-quote-display):
12886         On a text terminal supporting glyph codes, use the reported
12887         glyph codes instead of the terminal coding system, as this
12888         is more accurate on the Linux console.
12889         * lisp/startup.el (startup--setup-quote-display):
12890         New optional arg STYLE.
12891         * src/fontset.c (Finternal_char_font):
12892         Report glyph codes for a text terminal, if they are available.
12893         Currently this is supported only for the Linux console.
12894         * src/termhooks.h (struct terminal): New member glyph-code-table.
12895         * src/terminal.c [HAVE_LINUX_KD_H]: Include <errno.h>, <linux/kd.h>.
12896         (calculate_glyph_code_table) [HAVE_LINUX_KD_H]: New function.
12897         (terminal_glyph_code): New function.
12899 2015-09-08  Juri Linkov  <juri@linkov.net>
12901         * lisp/info.el (Info-fontify-node): Don't stop at the non-title
12902         underline.  (Bug#21433)
12904 2015-09-08  Stefan Monnier  <monnier@iro.umontreal.ca>
12906         * lisp/calendar/time-date.el (with-decoded-time-value): Fix debug spec.
12908 2015-09-08  Tassilo Horn  <tsdh@gnu.org>
12910         Fix double-reporting of rename events with inotify
12911         * lisp/filenotify.el (file-notify-callback): Fix double-reporting
12912         of rename events with inotify (bug#21435).
12914 2015-09-08  Vasilij Schneidermann  <v.schneidermann@gmail.com>  (tiny change)
12916         * lisp/play/tetris.el (tetris-move-down): New command (bug#21360).
12917         (tetris-mode-map): Use it.
12919 2015-09-08  Stefan Monnier  <monnier@iro.umontreal.ca>
12921         Remove a few simple cases of global redisplay
12922         * src/dispnew.c (redraw_frame): Don't redisplay all frames.
12923         * src/xdisp.c (echo_area_display): Set the frame's `redisplay' bit
12924         rather than returning a "resized_p" boolean.
12925         (redisplay_internal): Adjust call accordingly.
12926         * src/xfaces.c (free_realized_faces): Don't redisplay all frames.
12927         (free_all_realized_faces): Set windows_or_buffers_changed so as to ease
12928         tracking of this undesirable situation.
12930         * src/process.c (status_notify): Avoid global redisplay (bug#11822)
12931         * src/process.c (status_notify): Only set the update_mode_line on the
12932         relevant buffers rather than setting it globally.
12934 2015-09-07  Stefan Monnier  <monnier@iro.umontreal.ca>
12936         * lisp/electric.el (electric-quote-post-self-insert-function):
12937         Don't use syntax-ppss if comment-use-syntax is nil (e.g. message-mode).
12938         (electric-quote-mode): Activate everywhere in message-mode.
12940 2015-09-07  Paul Eggert  <eggert@cs.ucla.edu>
12942         Go back to grave quoting in source-code docstrings etc.
12943         This reverts almost all my recent changes to use curved quotes
12944         in docstrings and/or strings used for error diagnostics.
12945         There are a few exceptions, e.g., Bahá’í proper names.
12946         * admin/unidata/unidata-gen.el (unidata-gen-table):
12947         * lisp/abbrev.el (expand-region-abbrevs):
12948         * lisp/align.el (align-region):
12949         * lisp/allout.el (allout-mode, allout-solicit-alternate-bullet)
12950         (outlineify-sticky):
12951         * lisp/apropos.el (apropos-library):
12952         * lisp/bookmark.el (bookmark-default-annotation-text):
12953         * lisp/button.el (button-category-symbol, button-put)
12954         (make-text-button):
12955         * lisp/calc/calc-aent.el (math-read-if, math-read-factor):
12956         * lisp/calc/calc-embed.el (calc-do-embedded):
12957         * lisp/calc/calc-ext.el (calc-user-function-list):
12958         * lisp/calc/calc-graph.el (calc-graph-show-dumb):
12959         * lisp/calc/calc-help.el (calc-describe-key)
12960         (calc-describe-thing, calc-full-help):
12961         * lisp/calc/calc-lang.el (calc-c-language)
12962         (math-parse-fortran-vector-end, math-parse-tex-sum)
12963         (math-parse-eqn-matrix, math-parse-eqn-prime)
12964         (calc-yacas-language, calc-maxima-language, calc-giac-language)
12965         (math-read-giac-subscr, math-read-math-subscr)
12966         (math-read-big-rec, math-read-big-balance):
12967         * lisp/calc/calc-misc.el (calc-help, report-calc-bug):
12968         * lisp/calc/calc-mode.el (calc-auto-why, calc-save-modes)
12969         (calc-auto-recompute):
12970         * lisp/calc/calc-prog.el (calc-fix-token-name)
12971         (calc-read-parse-table-part, calc-user-define-invocation)
12972         (math-do-arg-check):
12973         * lisp/calc/calc-store.el (calc-edit-variable):
12974         * lisp/calc/calc-units.el (math-build-units-table-buffer):
12975         * lisp/calc/calc-vec.el (math-read-brackets):
12976         * lisp/calc/calc-yank.el (calc-edit-mode):
12977         * lisp/calc/calc.el (calc, calc-do, calc-user-invocation):
12978         * lisp/calendar/appt.el (appt-display-message):
12979         * lisp/calendar/diary-lib.el (diary-check-diary-file)
12980         (diary-mail-entries, diary-from-outlook):
12981         * lisp/calendar/icalendar.el (icalendar-export-region)
12982         (icalendar--convert-float-to-ical)
12983         (icalendar--convert-date-to-ical)
12984         (icalendar--convert-ical-to-diary)
12985         (icalendar--convert-recurring-to-diary)
12986         (icalendar--add-diary-entry):
12987         * lisp/calendar/time-date.el (format-seconds):
12988         * lisp/calendar/timeclock.el (timeclock-mode-line-display)
12989         (timeclock-make-hours-explicit, timeclock-log-data):
12990         * lisp/calendar/todo-mode.el (todo-prefix, todo-delete-category)
12991         (todo-item-mark, todo-check-format)
12992         (todo-insert-item--next-param, todo-edit-item--next-key)
12993         (todo-mode):
12994         * lisp/cedet/ede/pmake.el (ede-proj-makefile-insert-dist-rules):
12995         * lisp/cedet/mode-local.el (describe-mode-local-overload)
12996         (mode-local-print-binding, mode-local-describe-bindings-2):
12997         * lisp/cedet/semantic/complete.el (semantic-displayor-show-request):
12998         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
12999         * lisp/cus-start.el (standard):
13000         * lisp/cus-theme.el (describe-theme-1):
13001         * lisp/custom.el (custom-add-dependencies, custom-check-theme)
13002         (custom--sort-vars-1, load-theme):
13003         * lisp/descr-text.el (describe-text-properties-1, describe-char):
13004         * lisp/dired-x.el (dired-do-run-mail):
13005         * lisp/dired.el (dired-log):
13006         * lisp/emacs-lisp/advice.el (ad-read-advised-function)
13007         (ad-read-advice-class, ad-read-advice-name, ad-enable-advice)
13008         (ad-disable-advice, ad-remove-advice, ad-set-argument)
13009         (ad-set-arguments, ad--defalias-fset, ad-activate)
13010         (ad-deactivate):
13011         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand)
13012         (byte-compile-unfold-lambda, byte-optimize-form-code-walker)
13013         (byte-optimize-while, byte-optimize-apply):
13014         * lisp/emacs-lisp/byte-run.el (defun, defsubst):
13015         * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode)
13016         (byte-compile-log-file, byte-compile-format-warn)
13017         (byte-compile-nogroup-warn, byte-compile-arglist-warn)
13018         (byte-compile-cl-warn)
13019         (byte-compile-warn-about-unresolved-functions)
13020         (byte-compile-file, byte-compile--declare-var)
13021         (byte-compile-file-form-defmumble, byte-compile-form)
13022         (byte-compile-normal-call, byte-compile-check-variable)
13023         (byte-compile-variable-ref, byte-compile-variable-set)
13024         (byte-compile-subr-wrong-args, byte-compile-setq-default)
13025         (byte-compile-negation-optimizer)
13026         (byte-compile-condition-case--old)
13027         (byte-compile-condition-case--new, byte-compile-save-excursion)
13028         (byte-compile-defvar, byte-compile-autoload)
13029         (byte-compile-lambda-form)
13030         (byte-compile-make-variable-buffer-local, display-call-tree)
13031         (batch-byte-compile):
13032         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use):
13033         * lisp/emacs-lisp/chart.el (chart-space-usage):
13034         * lisp/emacs-lisp/check-declare.el (check-declare-scan)
13035         (check-declare-warn, check-declare-file)
13036         (check-declare-directory):
13037         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
13038         (checkdoc-message-text-engine):
13039         * lisp/emacs-lisp/cl-extra.el (cl-parse-integer)
13040         (cl--describe-class):
13041         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric)
13042         (cl--generic-describe, cl-generic-generalizers):
13043         * lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause, cl-tagbody)
13044         (cl-symbol-macrolet):
13045         * lisp/emacs-lisp/cl.el (cl-unload-function, flet):
13046         * lisp/emacs-lisp/copyright.el (copyright)
13047         (copyright-update-directory):
13048         * lisp/emacs-lisp/edebug.el (edebug-read-list):
13049         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-read):
13050         * lisp/emacs-lisp/eieio-core.el (eieio--slot-override)
13051         (eieio-oref):
13052         * lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor):
13053         * lisp/emacs-lisp/eieio-speedbar.el:
13054         (eieio-speedbar-child-make-tag-lines)
13055         (eieio-speedbar-child-description):
13056         * lisp/emacs-lisp/eieio.el (defclass, change-class):
13057         * lisp/emacs-lisp/elint.el (elint-file, elint-get-top-forms)
13058         (elint-init-form, elint-check-defalias-form)
13059         (elint-check-let-form):
13060         * lisp/emacs-lisp/ert.el (ert-get-test, ert-results-mode-menu)
13061         (ert-results-pop-to-backtrace-for-test-at-point)
13062         (ert-results-pop-to-messages-for-test-at-point)
13063         (ert-results-pop-to-should-forms-for-test-at-point)
13064         (ert-describe-test):
13065         * lisp/emacs-lisp/find-func.el (find-function-search-for-symbol)
13066         (find-function-library):
13067         * lisp/emacs-lisp/generator.el (iter-yield):
13068         * lisp/emacs-lisp/gv.el (gv-define-simple-setter):
13069         * lisp/emacs-lisp/lisp-mnt.el (lm-verify):
13070         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
13071         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
13072         * lisp/emacs-lisp/nadvice.el (advice--make-docstring)
13073         (advice--make, define-advice):
13074         * lisp/emacs-lisp/package-x.el (package-upload-file):
13075         * lisp/emacs-lisp/package.el (package-version-join)
13076         (package-disabled-p, package-activate-1, package-activate)
13077         (package--download-one-archive)
13078         (package--download-and-read-archives)
13079         (package-compute-transaction, package-install-from-archive)
13080         (package-install, package-install-selected-packages)
13081         (package-delete, package-autoremove, describe-package-1)
13082         (package-install-button-action, package-delete-button-action)
13083         (package-menu-hide-package, package-menu--list-to-prompt)
13084         (package-menu--perform-transaction)
13085         (package-menu--find-and-notify-upgrades):
13086         * lisp/emacs-lisp/pcase.el (pcase-exhaustive, pcase--u1):
13087         * lisp/emacs-lisp/re-builder.el (reb-enter-subexp-mode):
13088         * lisp/emacs-lisp/ring.el (ring-previous, ring-next):
13089         * lisp/emacs-lisp/rx.el (rx-check, rx-anything)
13090         (rx-check-any-string, rx-check-any, rx-check-not, rx-=)
13091         (rx-repeat, rx-check-backref, rx-syntax, rx-check-category)
13092         (rx-form):
13093         * lisp/emacs-lisp/smie.el (smie-config-save):
13094         * lisp/emacs-lisp/subr-x.el (internal--check-binding):
13095         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-put-tag):
13096         * lisp/emacs-lisp/testcover.el (testcover-1value):
13097         * lisp/emacs-lisp/timer.el (timer-event-handler):
13098         * lisp/emulation/viper-cmd.el (viper-toggle-parse-sexp-ignore-comments)
13099         (viper-toggle-search-style, viper-kill-buffer)
13100         (viper-brac-function):
13101         * lisp/emulation/viper-macs.el (viper-record-kbd-macro):
13102         * lisp/env.el (setenv):
13103         * lisp/erc/erc-button.el (erc-nick-popup):
13104         * lisp/erc/erc.el (erc-cmd-LOAD, erc-handle-login, english):
13105         * lisp/eshell/em-dirs.el (eshell/cd):
13106         * lisp/eshell/em-glob.el (eshell-glob-regexp)
13107         (eshell-glob-entries):
13108         * lisp/eshell/em-pred.el (eshell-parse-modifiers):
13109         * lisp/eshell/esh-opt.el (eshell-show-usage):
13110         * lisp/facemenu.el (facemenu-add-new-face)
13111         (facemenu-add-new-color):
13112         * lisp/faces.el (read-face-name, read-face-font, describe-face)
13113         (x-resolve-font-name):
13114         * lisp/files-x.el (modify-file-local-variable):
13115         * lisp/files.el (locate-user-emacs-file, find-alternate-file)
13116         (set-auto-mode, hack-one-local-variable--obsolete)
13117         (dir-locals-set-directory-class, write-file, basic-save-buffer)
13118         (delete-directory, copy-directory, recover-session)
13119         (recover-session-finish, insert-directory)
13120         (file-modes-char-to-who, file-modes-symbolic-to-number)
13121         (move-file-to-trash):
13122         * lisp/filesets.el (filesets-add-buffer, filesets-remove-buffer):
13123         * lisp/find-cmd.el (find-generic, find-to-string):
13124         * lisp/finder.el (finder-commentary):
13125         * lisp/font-lock.el (font-lock-fontify-buffer):
13126         * lisp/format.el (format-write-file, format-find-file)
13127         (format-insert-file):
13128         * lisp/frame.el (get-device-terminal, select-frame-by-name):
13129         * lisp/fringe.el (fringe--check-style):
13130         * lisp/gnus/nnmairix.el (nnmairix-widget-create-query):
13131         * lisp/help-fns.el (help-fns--key-bindings)
13132         (help-fns--compiler-macro, help-fns--parent-mode)
13133         (help-fns--obsolete, help-fns--interactive-only)
13134         (describe-function-1, describe-variable):
13135         * lisp/help.el (describe-mode)
13136         (describe-minor-mode-from-indicator):
13137         * lisp/image.el (image-type):
13138         * lisp/international/ccl.el (ccl-dump):
13139         * lisp/international/fontset.el (x-must-resolve-font-name):
13140         * lisp/international/mule-cmds.el (prefer-coding-system)
13141         (select-safe-coding-system-interactively)
13142         (select-safe-coding-system, activate-input-method)
13143         (toggle-input-method, describe-current-input-method)
13144         (describe-language-environment):
13145         * lisp/international/mule-conf.el (code-offset):
13146         * lisp/international/mule-diag.el (describe-character-set)
13147         (list-input-methods-1):
13148         * lisp/mail/feedmail.el (feedmail-run-the-queue):
13149         * lisp/mouse.el (minor-mode-menu-from-indicator):
13150         * lisp/mpc.el (mpc-playlist-rename):
13151         * lisp/msb.el (msb--choose-menu):
13152         * lisp/net/ange-ftp.el (ange-ftp-shell-command):
13153         * lisp/net/imap.el (imap-interactive-login):
13154         * lisp/net/mairix.el (mairix-widget-create-query):
13155         * lisp/net/newst-backend.el (newsticker--sentinel-work):
13156         * lisp/net/newst-treeview.el (newsticker--treeview-load):
13157         * lisp/net/rlogin.el (rlogin):
13158         * lisp/obsolete/iswitchb.el (iswitchb-possible-new-buffer):
13159         * lisp/obsolete/otodo-mode.el (todo-more-important-p):
13160         * lisp/obsolete/pgg-gpg.el (pgg-gpg-process-region):
13161         * lisp/obsolete/pgg-pgp.el (pgg-pgp-process-region):
13162         * lisp/obsolete/pgg-pgp5.el (pgg-pgp5-process-region):
13163         * lisp/org/ob-core.el (org-babel-goto-named-src-block)
13164         (org-babel-goto-named-result):
13165         * lisp/org/ob-fortran.el (org-babel-fortran-ensure-main-wrap):
13166         * lisp/org/ob-ref.el (org-babel-ref-resolve):
13167         * lisp/org/org-agenda.el (org-agenda-prepare):
13168         * lisp/org/org-clock.el (org-clock-notify-once-if-expired)
13169         (org-clock-resolve):
13170         * lisp/org/org-ctags.el (org-ctags-ask-rebuild-tags-file-then-find-tag):
13171         * lisp/org/org-feed.el (org-feed-parse-atom-entry):
13172         * lisp/org/org-habit.el (org-habit-parse-todo):
13173         * lisp/org/org-mouse.el (org-mouse-popup-global-menu)
13174         (org-mouse-context-menu):
13175         * lisp/org/org-table.el (org-table-edit-formulas):
13176         * lisp/org/ox.el (org-export-async-start):
13177         * lisp/proced.el (proced-log):
13178         * lisp/progmodes/ada-mode.el (ada-get-indent-case)
13179         (ada-check-matching-start, ada-goto-matching-start):
13180         * lisp/progmodes/ada-prj.el (ada-prj-display-page):
13181         * lisp/progmodes/ada-xref.el (ada-find-executable):
13182         * lisp/progmodes/ebrowse.el (ebrowse-tags-apropos):
13183         * lisp/progmodes/etags.el (etags-tags-apropos-additional):
13184         * lisp/progmodes/flymake.el (flymake-parse-err-lines)
13185         (flymake-start-syntax-check-process):
13186         * lisp/progmodes/python.el (python-shell-get-process-or-error)
13187         (python-define-auxiliary-skeleton):
13188         * lisp/progmodes/sql.el (sql-comint):
13189         * lisp/progmodes/verilog-mode.el (verilog-load-file-at-point):
13190         * lisp/progmodes/vhdl-mode.el (vhdl-widget-directory-validate):
13191         * lisp/recentf.el (recentf-open-files):
13192         * lisp/replace.el (query-replace-read-from)
13193         (occur-after-change-function, occur-1):
13194         * lisp/scroll-bar.el (scroll-bar-columns):
13195         * lisp/server.el (server-get-auth-key):
13196         * lisp/simple.el (execute-extended-command)
13197         (undo-outer-limit-truncate, list-processes--refresh)
13198         (compose-mail, set-variable, choose-completion-string)
13199         (define-alternatives):
13200         * lisp/startup.el (site-run-file, tty-handle-args, command-line)
13201         (command-line-1):
13202         * lisp/subr.el (noreturn, define-error, add-to-list)
13203         (read-char-choice, version-to-list):
13204         * lisp/term/common-win.el (x-handle-xrm-switch)
13205         (x-handle-name-switch, x-handle-args):
13206         * lisp/term/x-win.el (x-handle-parent-id, x-handle-smid):
13207         * lisp/textmodes/reftex-ref.el (reftex-label):
13208         * lisp/textmodes/reftex-toc.el (reftex-toc-rename-label):
13209         * lisp/textmodes/two-column.el (2C-split):
13210         * lisp/tutorial.el (tutorial--describe-nonstandard-key)
13211         (tutorial--find-changed-keys):
13212         * lisp/type-break.el (type-break-noninteractive-query):
13213         * lisp/wdired.el (wdired-do-renames, wdired-do-symlink-changes)
13214         (wdired-do-perm-changes):
13215         * lisp/whitespace.el (whitespace-report-region):
13216         Prefer grave quoting in source-code strings used to generate help
13217         and diagnostics.
13218         * lisp/faces.el (face-documentation):
13219         No need to convert quotes, since the result is a docstring.
13220         * lisp/info.el (Info-virtual-index-find-node)
13221         (Info-virtual-index, info-apropos):
13222         Simplify by generating only curved quotes, since info files are
13223         typically that ways nowadays anyway.
13224         * lisp/international/mule-diag.el (list-input-methods):
13225         Don’t assume text quoting style is curved.
13226         * lisp/org/org-bibtex.el (org-bibtex-fields):
13227         Revert my recent changes, going back to the old quoting style.
13229 2015-09-07  Artur Malabarba  <bruce.connor.am@gmail.com>
13231         * lisp/emacs-lisp/package.el: Reduce autoloading before compiling.
13232         (package--autoloads-file-name)
13233         (package--activate-autoloads-and-load-path): New function.
13234         (package-activate-1): Delegate autoloading and load-path
13235         configuration to `package--activate-autoloads-and-load-path'.
13236         (package--compile): Before compilation, call
13237         `package--activate-autoloads-and-load-path' instead of
13238         `package-activate-1'.
13240 2015-09-07  Stefan Monnier  <monnier@iro.umontreal.ca>
13242         * src/keyboard.c (read_key_sequence): Complete last fix (bug#21403).
13244 2015-09-07  Eli Zaretskii  <eliz@gnu.org>
13246         Fix deletion of symlinks to directories on MS-Windows
13247         * src/w32.c (sys_unlink): If 'unlink' fails, and the argument is a
13248         symlink to a directory, try again with 'rmdir'.
13249         (is_symlink): If the argument is a symlink to a directory, set a
13250         bit in the return value to indicate that fact.
13252 2015-09-07  Artur Malabarba  <bruce.connor.am@gmail.com>
13254         * lisp/emacs-lisp/package.el (package-initialize): Set enable-at-startup
13255         When `package-initialize' is called as part of loading the init file,
13256         the user probably doesn't want it to be called again afterwards.
13257         In this situation, `package-initialize' now sets
13258         `package-enable-at-startup' to nil to prevent that.  The user can have
13259         the old behavior by setting this variable to t after the call to
13260         `package-initialize'.  (Bug#21423)
13261         * doc/emacs/package.texi (Package Installation): Document it.
13262         * doc/lispref/package.texi (Packaging Basics): Document it.
13263         * etc/NEWS: Document it.
13265 2015-09-06  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
13267         Bump version of ntlm.el to 2.00
13268         * lisp/net/ntlm.el: Bump version to 2.00.  New maintainer.
13269         Add comm keyword.
13271 2015-09-06  Adam Sjøgren  <asjo@koldfront.dk>
13273         * doc/misc/gnus.texi (Mail Source Specifiers):
13274         Allow :mailbox to be a list.
13276 2015-09-06  Dmitry Gutov  <dgutov@yandex.ru>
13278         * lisp/progmodes/etags.el (etags-tags-completion-table):
13279         Allow even one non-regular character before the implicit tag name.
13280         Reported at http://emacs.stackexchange.com/questions/15269/.
13282 2015-09-06  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
13284         Add support for NTLMv2 authentication
13285         * lisp/net/ntlm.el (ntlm): New customization group.
13286         (ntlm-compatibility-level): New defcustom.
13287         (ntlm-compute-timestamp): New function.
13288         (ntlm-generate-nonce): Likewise.
13289         (ntlm-build-auth-response): Add support for NTLMv2 authentication.
13291 2015-09-06  Artur Malabarba  <bruce.connor.am@gmail.com>
13293         * lisp/emacs-lisp/package.el: Rename custom faces.
13294         All of the recently introduced faces, like `package-name-face', have
13295         been renamed to no end in `-face' to comply with the convention
13296         described in (info "(elisp) Defining Faces").
13297         (package-name, package-description)
13298         (package-status-built-in, package-status-external)
13299         (package-status-available, package-status-new)
13300         (package-status-held, package-status-disabled)
13301         (package-status-installed, package-status-dependency)
13302         (package-status-unsigned, package-status-incompat)
13303         (package-status-avail-obso): New faces.
13304         (package-menu--print-info-simple): Use them.
13306 2015-09-06  Adam Sjøgren  <asjo@koldfront.dk>
13308         mail-source.el: Make the imap mail-source's :mailbox handle a list
13309         * lisp/gnus/mail-source.el (mail-source-fetch-imap):
13310         Allow :mailbox to be  a list.
13312 2015-09-06  Eric Abrahamsen  <eric@ericabrahamsen.net>
13314         nnimap.el: Handle nil arg to nnimap-request-group
13315         * lisp/gnus/nnimap.el (nnimap-request-group): Handle nil "info" arg.
13316         This arg isn't always passed in, check it's not nil before making it
13317         into a list.  The active arg will also be nil if the group is new,
13318         check for that.
13320 2015-09-06  Michael Albinus  <michael.albinus@gmx.de>
13322         File notifications: Support renaming over directory boundaries
13323         * lisp/filenotify.el (file-notify-handle-event):
13324         (file-notify--pending-event): Adapt docstring.
13325         (file-notify--descriptor, file-notify-callback): Reimplement in
13326         order to support renaming over directory boundaries.
13327         (file-notify-add-watch): Adapt `file-notify--descriptor' call.
13328         * doc/lispref/os.texi (File Notifications): Remove limitation of
13329         file renaming to the same directory.
13331 2015-09-05  Paul Eggert  <eggert@cs.ucla.edu>
13333         Spelling fix (Bug#21420)
13335 2015-09-05  Nicolas Petton  <nicolas@petton.fr>
13337         Improve the semantic of map-some
13338         Update map-some to return the returned by the predicate, similar to
13339         seq-some.
13340         * lisp/emacs-lisp/map.el (map-some): Update the function to return the
13341           return value of the predicate.
13342         * test/automated/map-tests.el (test-map-some): Update the test to check
13343           for non-nil values only.
13345         Rename map-contains-key-p and map-some-p
13346         Remove the "-p" suffix from both function names.
13347         * lisp/emacs-lisp/map.el (map-contains-key, map-some):
13348           Rename the functions.
13349         * test/automated/map-tests.el (test-map-contains-key, test-map-some):
13350           Update both test functions.
13352         Improve the semantic of seq-some
13353         Update seq-some to return non-nil if the predicate returns non-nil for
13354         any element of the seq, in which case the returned value is the one
13355         returned by the predicate.
13356         * lisp/emacs-lisp/seq.el (seq-some): Update the function and its
13357           docstring.
13358         * test/automated/seq-tests.el (test-seq-some): Add a regression test.
13359         * doc/lispref/sequences.texi (Sequence Functions): Update the
13360           documentation for seq-some.
13362         Rename seq-some-p to seq-some and seq-contains-p to seq-contains
13363         * lisp/emacs-lisp/seq.el (seq-some, seq-contains): Rename the functions
13364           without the "-p" prefix.
13365         * test/automated/seq-tests.el (test-seq-some, test-seq-contains): Update
13366           the tests accordingly.
13367         * doc/lispref/sequences.texi (Sequence Functions): Update the
13368           documentation for seq.el.
13370 2015-09-05  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
13372         text-quoting-style for usage of fn names with ‘’
13373         * lisp/help.el (help--docstring-quote): Don’t assume
13374         text-quoting-style is ‘curve’ when generating usage strings for
13375         functions whose names contain curved quotes.
13377 2015-09-05  Paul Eggert  <eggert@cs.ucla.edu>
13379         Fix fix for describe-function keybinding confusion
13380         This fixes a bug introduced by the previous patch.
13381         * lisp/help-fns.el (help-fns--signature):
13382         Last arg of help-fns--signature is now a buffer, or nil if a
13383         raw signature is wanted.  All callers changed.
13384         (describe-function-1): Use this to do the right thing with signatures.
13386 2015-09-05  Johan Bockgård  <bojohan@gnu.org>
13388         * doc/lispref/frames.texi (Mouse Tracking): Fix typo.
13390         Use PAT rather than UPAT in pcase macros
13391         * lisp/emacs-lisp/cl-macs.el (cl-struct) <pcase-defmacro>:
13392         * lisp/emacs-lisp/eieio.el (eieio) <pcase-defmacro>: Use PAT rather
13393           than UPAT.
13395 2015-09-05  Paul Eggert  <eggert@cs.ucla.edu>
13397         Fix describe-function keybinding confusion
13398         * lisp/help-fns.el (describe-function-1): Compute signature
13399         in the original buffer, not in standard-output, so that
13400         substitute-command-keys uses the proper keybindings.
13401         This fixes Bug#21412, introduced in commit
13402         2015-06-11T10:23:46-0700!eggert@cs.ucla.edu.
13404 2015-09-05  Xue Fuqiao  <xfq.free@gmail.com>
13406         * doc/emacs/programs.texi (Program Modes): Remove an index entry.
13408 2015-09-05  Robert Pluim  <rpluim@gmail.com>  (tiny change)
13410         Avoid read error messages from 'inotify'
13411         * src/process.c (wait_reading_process_output): Add a
13412         'tls_available' set and manipulate it instead of 'Available' when
13413         checking TLS inputs.  Assign the value to 'Available' only if we
13414         find any TLS data waiting to be read.  This avoids error messages
13415         from 'inotify' that tries to read data it shouldn't.  (Bug#21337)
13417 2015-09-05  Eli Zaretskii  <eliz@gnu.org>
13419         Avoid errors in thing-at-point with 2nd argument non-nil
13420         * lisp/thingatpt.el (thing-at-point): Only call 'length' on
13421         sequences.  (Bug#21391)
13423 2015-09-05  Philip  <pipcet@gmail.com>  (tiny change)
13425         Fix segfaults due to using a stale face ID
13426         * src/xdisp.c (forget_escape_and_glyphless_faces): New function.
13427         (display_echo_area_1, redisplay_internal): Call it to avoid
13428         reusing stale face IDs for 'escape-glyph' and 'glyphless-char'
13429         faces, which could case a segfault if the frame's face cache was
13430         freed since the last redisplay.  (Bug#21394)
13431         * src/xfaces.c (free_realized_faces):
13432         Call forget_escape_and_glyphless_faces.
13433         * src/dispextern.h (forget_escape_and_glyphless_faces): Add prototype.
13435 2015-09-04  Paul Eggert  <eggert@cs.ucla.edu>
13437         Fix minor problems with " in manual
13439 2015-09-04  Michael Albinus  <michael.albinus@gmx.de>
13441         * doc/misc/tramp.texi (Frequently Asked Questions): New item for ad-hoc
13442         multi-hop files.
13444 2015-09-04  Paul Eggert  <eggert@cs.ucla.edu>
13446         Support automated ‘make check’ in non-C locale
13447         This lets the builder optionally test Emacs behavior in other locales.
13448         The C locale is still the default for tests.
13449         * test/automated/Makefile.in (TEST_LOCALE): New macro.
13450         (emacs): Use it.
13451         * test/automated/flymake-tests.el (flymake-tests--current-face):
13452         Use C locale for subprocesses so that tests behave as expected.
13453         * test/automated/python-tests.el:
13454         (python-shell-prompt-validate-regexps-1)
13455         (python-shell-prompt-validate-regexps-2)
13456         (python-shell-prompt-validate-regexps-3)
13457         (python-shell-prompt-validate-regexps-4)
13458         (python-shell-prompt-validate-regexps-5)
13459         (python-shell-prompt-validate-regexps-6)
13460         (python-shell-prompt-set-calculated-regexps-1):
13461         Adjust expected output to match locale.
13462         * test/automated/tildify-tests.el (tildify-test--test)
13463         (tildify-space-test--test, tildify-space-undo-test--test):
13464         This test assumes UTF-8 encoding.
13466 2015-09-03  Paul Eggert  <eggert@cs.ucla.edu>
13468         Fix some more docstring etc. quoting problems
13469         Mostly these fixes prevent the transliteration of apostrophes
13470         that should stay apostrophes.  Also, prefer curved quotes in
13471         Bahá’í proper names, as that’s the preferred Bahá’í style and
13472         these names are chock-full of non-ASCII characters anyway.
13473         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-autoload)
13474         (eieio-defclass-internal):
13475         * lisp/emacs-lisp/eieio.el (defclass):
13476         * lisp/hi-lock.el (hi-lock-mode):
13477         Don’t transliterate Lisp apostrophes when generating a
13478         doc string or diagnostic.
13479         * lisp/international/mule-diag.el (list-coding-systems-1):
13480         * lisp/international/ogonek.el (ogonek-jak, ogonek-how):
13481         * lisp/mail/sendmail.el (sendmail-query-user-about-smtp):
13482         * lisp/vc/ediff-mult.el (ediff-redraw-registry-buffer):
13483         * lisp/vc/ediff-ptch.el (ediff-fixup-patch-map):
13484         Substitute quotes before putting them in the help buffer.
13486 2015-09-03  Stefan Monnier  <monnier@iro.umontreal.ca>
13488         Re-add the notion of echo_prompt lost in the translation
13489         * src/keyboard.h (struct kboard): Replace echo_after_prompt with new
13490         echo_prompt which contains the actual string.  Update all uses.
13491         * src/keyboard.c (kset_echo_prompt): New function.
13492         (echo_update): Add echo_prompt at the very beginning.
13493         (read_char): Remove workaround for bug#19875, not needed any more.
13494         (read_key_sequence): Set echo_prompt rather than echo_string
13495         (bug#21403).
13496         (mark_kboards): Mark echo_prompt.
13498         Fix disassembly of non-compiled lexical functions (bug#21377)
13499         * lisp/emacs-lisp/bytecomp.el (byte-compile): Handle `closure' arg.
13500         * lisp/emacs-lisp/disass.el: Use lexical-binding.
13501         (disassemble): Recognize `closure's as well.
13502         (disassemble-internal): Use indirect-function and
13503         help-function-arglist, and accept `closure's.
13504         (disassemble-internal): Use interactive-form.
13505         (disassemble-1): Use functionp.
13507         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p):
13508         Don't compose inside verbatim blocks!
13510 2015-09-03  Mark Oteiza  <mvoteiza@udel.edu>
13512         * lisp/thingatpt.el (thing-at-point-uri-schemes): Add "man:"
13513         (bug#19441).
13515         * lisp/mpc.el (mpc--proc-connect): Handle unix sockets (bug#19394).
13517 2015-09-03  Dmitry Gutov  <dgutov@yandex.ru>
13519         vc-git-mode-line-string: Explicitly re-apply the face
13520         * lisp/vc/vc-git.el (vc-git-mode-line-string): Explicitly re-apply
13521         the face (bug#21404).
13523 2015-09-02  Paul Eggert  <eggert@cs.ucla.edu>
13525         Treat initial-scratch-message as a doc string
13526         * doc/emacs/building.texi (Lisp Interaction):
13527         * doc/lispref/os.texi (Startup Summary):
13528         * etc/NEWS: Document this.
13529         * lisp/startup.el (initial-scratch-message):
13530         Look up find-file’s key rather than hardcoding it.
13531         (command-line-1): Substitute the doc string.
13532         This also substitutes the quotes, which will help test display
13533         quoting at startup.
13535         Fix describe-char bug with glyphs on terminals
13536         * lisp/descr-text.el (describe-char): Terminals can have glyphs in
13537         buffers too, so don’t treat them differently from graphic displays.
13538         Without this fix, describe-char would throw an error on a terminal
13539         if given a glyph with a non-default face.
13541         Follow text-quoting-style in display table init
13542         This attempts to fix a problem reported by Alan Mackenzie in:
13543         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00112.html
13544         * doc/lispref/display.texi (Active Display Table):
13545         Mention how text-quoting-style affects it.
13546         * doc/lispref/help.texi (Keys in Documentation):
13547         Say how to set text-quoting-style in ~/.emacs.
13548         * etc/NEWS: Document the change.
13549         * lisp/startup.el (startup--setup-quote-display):
13550         Follow user preference if text-quoting-style is set.
13551         (command-line): Setup quote display again if user expresses
13552         a preference in .emacs.
13554 2015-09-02  K. Handa  <handa@gnu.org>
13556         Fix typo
13557         * src/ftfont.c (ftfont_drive_otf): otf_positioning_type_components_mask
13558         -> OTF_positioning_type_components_mask.
13560         Fix previous change
13561         * src/ftfont.c (ftfont_drive_otf): Remember some bits of
13562         OTF_Glyph->positioning_type in MFLTGlyphFT->libotf_positioning_type.
13564 2015-09-01  David Caldwell  <david@porkrind.org>  (tiny change)
13566         * lisp/vc/vc-hooks.el (vc-refresh-state): New command.
13567         Rename from vc-find-file-hook and make interactive.
13568         (vc-find-file-hook): Redefine as obsolete alias.
13570 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
13572         Escape ` and ' in doc
13573         Escape apostrophes and grave accents in docstrings if they are
13574         are supposed to stand for themselves and are not quotes.  Remove
13575         apostrophes from docstring examples like ‘'(calendar-nth-named-day
13576         -1 0 10 year)’ that confuse source code with data.  Do some other
13577         minor docstring fixups as well, e.g., insert a missing close quote.
13579 2015-09-01  Stefan Monnier  <monnier@iro.umontreal.ca>
13581         Generalize the prefix-command machinery of C-u
13582         * lisp/simple.el (prefix-command-echo-keystrokes-functions)
13583         (prefix-command-preserve-state-hook): New hooks.
13584         (internal-echo-keystrokes-prefix): New function.
13585         (prefix-command--needs-update, prefix-command--last-echo): New vars.
13586         (prefix-command-update, prefix-command-preserve): New functions.
13587         (reset-this-command-lengths): New compatibility definition.
13588         (universal-argument--mode): Call prefix-command-update.
13589         (universal-argument, universal-argument-more, negative-argument)
13590         (digit-argument): Call prefix-command-preserve-state.
13591         * src/keyboard.c: Call internal-echo-keystrokes-prefix to build
13592         the "prefix argument" to echo.
13593         (this_command_key_count_reset, before_command_key_count)
13594         (before_command_echo_length): Delete variables.
13595         (echo_add_key): Always add a space.
13596         (echo_char): Remove.
13597         (echo_dash): Don't give up when this_command_key_count is 0, since that
13598         is now the case after a prefix command.
13599         (echo_update): New function, extracted from echo_now.
13600         (echo_now): Use it.
13601         (add_command_key, read_char, record_menu_key): Remove old disabled code.
13602         (command_loop_1): Don't refrain from pushing an undo boundary when
13603         prefix-arg is set.  Remove other prefix-arg special case, now handled
13604         directly in the prefix commands instead.  But call echo_now if there's
13605         a prefix state to echo.
13606         (read_char, record_menu_key): Use echo_update instead of echo_char.
13607         (read_key_sequence): Use echo_now rather than echo_dash/echo_char.
13608         (Freset_this_command_lengths): Delete function.
13609         (syms_of_keyboard): Define Qinternal_echo_keystrokes_prefix.
13610         (syms_of_keyboard): Don't defsubr Sreset_this_command_lengths.
13611         * lisp/simple.el: Use those new hooks for C-u.
13612         (universal-argument--description): New function.
13613         (prefix-command-echo-keystrokes-functions): Use it.
13614         (universal-argument--preserve): New function.
13615         (prefix-command-preserve-state-hook): Use it.
13616         (command-execute): Call prefix-command-update if needed.
13617         * lisp/kmacro.el (kmacro-step-edit-prefix-commands)
13618         (kmacro-step-edit-prefix-index): Delete variables.
13619         (kmacro-step-edit-query, kmacro-step-edit-insert): Remove ad-hoc
13620         support for prefix arg commands.
13621         (kmacro-step-edit-macro): Don't bind kmacro-step-edit-prefix-index.
13622         * lisp/emulation/cua-base.el (cua--prefix-override-replay)
13623         (cua--shift-control-prefix): Use prefix-command-preserve-state.
13624         Remove now unused arg `arg'.
13625         (cua--prefix-override-handler, cua--prefix-repeat-handler)
13626         (cua--shift-control-c-prefix, cua--shift-control-x-prefix):
13627         Update accordingly.
13628         (cua--prefix-override-timeout): Don't call reset-this-command-lengths
13629         any more.
13630         (cua--keep-active, cua-exchange-point-and-mark): Don't set mark-active
13631         if the mark is not set.
13633 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
13635         Rework quoting in Emacs Lisp Introduction
13636         * doc/lispintro/emacs-lisp-intro.texi (Sample let Expression)
13637         (if in more detail, type-of-animal in detail, else): Rework the
13638         early example to use " rather than ' so that we don’t burden
13639         complete novices with the low-priority detail of text quoting style.
13640         (Complete zap-to-char, kill-region, Complete copy-region-as-kill)
13641         (kill-new function, kill-ring-yank-pointer)
13642         (Complete forward-sentence, Loading Files)
13643         (Code for current-kill, Code for current-kill, yank):
13644         Resurrect the Emacs 22 versions of the code, which uses grave
13645         quoting style in doc strings.
13646         (Complete zap-to-char): Mention how quoting works in doc strings.
13648         Setup quote display only if interactive
13649         * lisp/startup.el (command-line):
13650         Skip call to startup--setup-quote-display if noninteractive.
13651         Without this change, python-shell-prompt-validate-regexps-1
13652         fails in test/automated/python-tests.el when run in an
13653         en_US.utf8 locale on Fedora.
13655 2015-09-01  Katsumi Yamaoka  <yamaoka@jpl.org>
13657         Use defalias at the top level
13658         * lisp/gnus/gnus-util.el (gnus-format-message):
13659         * lisp/net/tls.el (tls-format-message): Use defalias at the top level
13660         so as to make eval-and-compile unnecessary.  Thanks to Stefan Monnier.
13662 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
13664         terminal-init-w32console mimicks command-line
13665         Problem reported by Eli Zaretskii.
13666         * lisp/startup.el (startup--setup-quote-display):
13667         New function, refactored from a part of ‘command-line’.
13668         (command-line): Use it.
13669         * lisp/term/w32console.el (terminal-init-w32console):
13670         Use it, so that this function stays consistent with ‘command-line’.
13672         Display replacement quotes with shadow glyphs
13673         * lisp/startup.el (command-line): When displaying ASCII
13674         replacements for curved quotes, use a shadow glyph instead of a
13675         regular one, to avoid ambiguity.
13677 2015-09-01  Michael Albinus  <michael.albinus@gmx.de>
13679         * lisp/net/tramp-sh.el (tramp-methods) <sudo>: Mask "Password:".
13681 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
13683         Docstring fixes re quotes in C code
13684         Fix some docstring quoting problems, mostly by escaping apostrophe.
13686 2015-09-01  Michael Albinus  <michael.albinus@gmx.de>
13688         Some Tramp password fixes
13689         * lisp/net/tramp.el (tramp-clear-passwd): Clear also the passwords
13690         of the hops.
13691         * lisp/net/tramp-sh.el (tramp-methods) <sudo>: Move "-p" "Password:"
13692         at the beginning of the command.  Otherwise, it could be
13693         interpreted as password prompt if the remote host echoes the
13694         command.
13695         (tramp-remote-coding-commands): Add "openssl enc -base64".
13697 2015-09-01  Dmitry Gutov  <dgutov@yandex.ru>
13699         Make vc-git-working-revision always return the commit hash
13700         * lisp/vc/vc-git.el (vc-git-working-revision):
13701         Return the commit hash (bug#21383).
13702         (vc-git--symbolic-ref): New function, extracted from above.
13703         (vc-git-mode-line-string): Use it.
13705 2015-09-01  K. Handa  <handa@gnu.org>
13707         Use the new type MFLTGlyphFT for MFLTGlyphString.glyphs
13708         * src/ftfont.c (MFLTGlyphFT): New type.
13709         (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_drive_otf)
13710         (ftfont_shape_by_flt): Make MFLTGlyphFT the actual type of
13711         elements in the array MFLTGlyphString.glyphs.
13713 2015-09-01  Stephen Leake  <stephen_leake@stephe-leake.org>
13715         Improve comments in elisp-mode.el, elisp-mode-tests.el
13716         * lisp/progmodes/elisp-mode.el: Clean up FIXMEs, comments.
13718         Delete Emacs 25 test in mode-local.el
13719         * lisp/cedet/mode-local.el (describe-mode-local-overload):
13720         Fix missed an edit in previous commit.
13722         Show all known mode-local overrides in *Help*
13723         * lisp/cedet/mode-local.el (describe-mode-local-overload):
13724         Assume Emacs 25. Add all known mode-local overrides.
13726 2015-09-01  Katsumi Yamaoka  <yamaoka@jpl.org>
13728         * lisp/gnus/gnus-sum.el (gnus-summary-search-article):
13729         Ensure that the article where the search word is found is displayed
13730         and pointed to in the summary buffer.
13732 2015-08-31  Zachary Kanfer  <zkanfer@gmail.com>  (tiny change)
13734         * lisp/newcomment.el (comment-dwim): Use `use-region-p'.
13735         When the region is active, but is empty (length 0), act as though
13736         the region was not active; that is, put a comment at the end of
13737         the line.  (Bug#21119)
13739 2015-08-31  Katsumi Yamaoka  <yamaoka@jpl.org>
13741         Port tls.el to older Emacs
13742         * lisp/net/tls.el (tls-format-message):
13743         Alias to format-message, or format if not available.
13744         (open-tls-stream): Use it.
13746 2015-08-31  Rüdiger Sonderfeld  <ruediger@c-plusplus.net>
13748         hideif.el: Recognize .h++ as C++ header
13749         * lisp/progmodes/hideif.el (hide-ifdef-header-regexp): Add .h++.
13751         isearch: Document character folding mode
13752         * lisp/isearch.el (isearch-forward):
13753         Mention `isearch-toggle-character-fold' in doc string.
13755 2015-08-31  Paul Eggert  <eggert@cs.ucla.edu>
13757         Quoting fixes in ERC and Eshell
13758         * lisp/erc/erc-autoaway.el (erc-autoaway-set-away):
13759         * lisp/erc/erc-backend.el (define-erc-response-handler):
13760         * lisp/erc/erc-fill.el (erc-fill-static-center):
13761         * lisp/eshell/em-dirs.el (eshell-save-some-last-dir):
13762         * lisp/eshell/em-glob.el (eshell-glob-entries):
13763         * lisp/eshell/em-hist.el (eshell-save-some-history):
13764         * lisp/eshell/em-unix.el (eshell-remove-entries, eshell/rm)
13765         (eshell-shuffle-files):
13766         * lisp/eshell/esh-cmd.el (eshell-do-eval):
13767         * lisp/eshell/esh-proc.el (eshell-process-interact)
13768         (eshell-query-kill-processes):
13769         Respect ‘text-quoting-style’ in diagnostics and doc strings.
13771         Quoting fixes in Gnus
13772         * lisp/gnus/gnus-agent.el:
13773         (gnus-agent-possibly-synchronize-flags-server):
13774         * lisp/gnus/gnus-art.el (gnus-article-browse-delete-temp-files):
13775         * lisp/gnus/gnus-eform.el (gnus-edit-form):
13776         * lisp/gnus/gnus-group.el (gnus-group-edit-group)
13777         (gnus-group-nnimap-edit-acl):
13778         * lisp/gnus/gnus-topic.el (gnus-topic-edit-parameters):
13779         * lisp/gnus/mail-source.el (mail-source-delete-old-incoming):
13780         * lisp/gnus/message.el (message-strip-subject-encoded-words)
13781         (message-check-recipients, message-send-form-letter):
13782         * lisp/gnus/mm-decode.el (mm-display-part):
13783         * lisp/gnus/mm-uu.el (mm-uu-pgp-signed-extract-1):
13784         * lisp/gnus/mml-smime.el (mml-smime-get-dns-cert)
13785         (mml-smime-get-ldap-cert):
13786         * lisp/gnus/spam-report.el (spam-report-process-queue):
13787         Respect ‘text-quoting-style’ in diagnostics.
13788         * lisp/gnus/gnus-art.el (article-display-face)
13789         * lisp/gnus/gnus-fun.el (gnus-display-x-face-in-from):
13790         Use straight quoting in email.
13791         * lisp/gnus/rfc2231.el (rfc2231-decode-encoded-string):
13792         Escape apostrophes in doc strings.
13794         Quoting fixes in lisp mail, mh-e, net, url
13795         * lisp/mail/emacsbug.el (report-emacs-bug)
13796         (report-emacs-bug-hook): Use straight quotes in outgoing email,
13797         * lisp/mail/feedmail.el (feedmail-message-action-help-blat):
13798         * lisp/mail/rmail.el (rmail-unknown-mail-followup-to):
13799         * lisp/mail/rmailout.el (rmail-output-read-file-name):
13800         * lisp/net/imap.el (imap-interactive-login):
13801         * lisp/net/tls.el (open-tls-stream):
13802         * lisp/url/url-auth.el (url-register-auth-scheme):
13803         Respect ‘text-quoting-style’ in diagnostics.
13804         * lisp/mh-e/mh-e.el (mh-sortm-args):
13805         Quote docstring example using text quotes, not as a Lisp quote.
13807 2015-08-31  Stephen Leake  <stephen_leake@stephe-leake.org>
13809         Fix some byte-compiler warnings in EDE
13810         This fixes a bug that caused ede-generic-new-autoloader to overwrite the
13811         existing autoloader list, rather than add to it.
13812         * lisp/cedet/ede/auto.el (ede-project-class-files): Delete obsolete name
13813         argument to eieio class constructor.
13814         (ede-show-supported-projects): New.
13815         (ede-add-project-autoload): Replace obsolete `eieio-object-name-string'
13816         with (oref ... name).
13817         (ede-auto-load-project): Use slot name, not initarg key.
13818         * lisp/cedet/ede/generic.el (ede-generic-load)
13819         (ede-generic-find-matching-target): Use slot name, not initarg key.
13820         (ede-find-target): Use oref-default on class name.
13821         (ede-generic-new-autoloader): Delete obsolete name argument to eieio
13822         class constructor.
13823         (ede-enable-generic-projects): Make project type names unique.
13825 2015-08-31  Eli Zaretskii  <eliz@gnu.org>
13827         Fix directory accessibility tests for w32 network volumes
13828         * src/w32.c (faccessat): Don't fail with network volumes without a
13829         share.
13830         (w32_accessible_directory_p): Handle network volumes without a
13831         share.
13833         Fix handling long file names in readdir on MS-Windows
13834         * src/w32.c (sys_readdir): Append "\*" to the directory after
13835         converting it to UTF-16/ANSI, not before, to avoid overflowing the
13836         260-character limit on file names in filename_to_utf16/ansi.
13838         Make file-accessible-directory-p reliable on MS-Windows
13839         * src/w32.c (w32_accessible_directory_p): New function.
13840         * src/w32.h (w32_accessible_directory_p): Add prototype.
13841         * src/fileio.c (file_accessible_directory_p) [WINDOWSNT]: Call
13842         w32_accessible_directory_p to test a directory for accessibility
13843         by the current user.  (Bug#21346)
13844         (Ffile_accessible_directory_p): Remove the w32 specific caveat
13845         from the doc string.
13847 2015-08-31  Martin Rudalics  <rudalics@gmx.at>
13849         Don't call do_pending_window_change in signal handlers (Bug#21380)
13850         * src/gtkutil.c (xg_frame_resized):
13851         * src/xterm.c (x_set_window_size):
13852         * src/w32term.c (x_set_window_size): Don't call
13853         do_pending_window_change.
13855 2015-08-31  Paul Eggert  <eggert@cs.ucla.edu>
13857         Quoting fixes in lisp/org
13858         * lisp/org/org-agenda.el (org-search-view, org-todo-list)
13859         (org-tags-view):
13860         * lisp/org/org-capture.el (org-capture-mode)
13861         * lisp/org/org-ctags.el (org-ctags-visit-buffer-or-file)
13862         (org-ctags-ask-append-topic):
13863         * lisp/org/org.el (org-time-string-to-time)
13864         (org-time-string-to-absolute):
13865         * lisp/org/org-ctags.el (org-ctags-visit-buffer-or-file)
13866         (org-ctags-ask-append-topic):
13867         * lisp/org/org.el (org-time-string-to-time)
13868         (org-time-string-to-absolute):
13869         Respect ‘text-quoting-style’ in diagnostics.
13870         * lisp/org/org-agenda.el (org-agenda-custom-commands)
13871         (org-agenda-dim-blocked-tasks): Plural of TODO is TODOs, not TODO’s.
13872         * lisp/org/org-capture.el (org-capture-fill-template):
13873         Avoid contraction in output file that might be ASCII.
13874         * lisp/org/org-compat.el (format-message):
13875         Define if not already defined, for backward compatibility.
13876         * lisp/org/org-src.el (org-edit-src-save):
13877         * lisp/org/org.el (org-cycle, org-ctrl-c-ctrl-c):
13878         Escape apostrophes in diagnostics.
13880         Treat “instead” strings as docstrings
13881         * lisp/emacs-lisp/bytecomp.el (byte-compile-form):
13882         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
13883         Substitute quotes in instead strings.
13885 2015-08-31  Nicolas Petton  <nicolas@petton.fr>
13887         Better documentation of seq-let
13888         * doc/lispref/sequences.texi (Sequence Functions): Rephrase the
13889         documentation of seq-let.
13891 2015-08-31  Paul Eggert  <eggert@cs.ucla.edu>
13893         * lisp/international/ccl.el: Fix quoting.
13895         Quoting fixes in lisp/international and lisp/leim
13896         * lisp/international/ccl.el (ccl-dump, ccl-dump-call):
13897         * lisp/international/ja-dic-utl.el (skkdic-lookup-key):
13898         * lisp/international/mule-cmds.el:
13899         (select-safe-coding-system-interactively, leim-list-file-name):
13900         * lisp/international/quail.el (quail-use-package, quail-help):
13901         * lisp/international/titdic-cnv.el (tit-process-header)
13902         (miscdic-convert):
13903         Respect text quoting style in doc strings and diagnostics.
13904         * lisp/international/quail.el (lisp/international/quail.el):
13905         * lisp/leim/quail/ethiopic.el ("ethiopic"):
13906         Escape apostrophes in doc strings.
13908         Make ‘text-quoting-style’ a plain defvar
13909         It doesn’t need customization, as it’s likely useful only by experts.
13910         Suggested by Stefan Monnier in:
13911         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg01020.html
13912         * lisp/cus-start.el: Remove doc.c section for builtin customized vars.
13914         Quoting fixes in lisp/textmodes
13915         * lisp/textmodes/bibtex.el (bibtex-validate)
13916         (bibtex-validate-globally, bibtex-search-entries):
13917         * lisp/textmodes/ispell.el (ispell-command-loop):
13918         * lisp/textmodes/page-ext.el (search-pages, pages-directory):
13919         * lisp/textmodes/texinfmt.el (texinfmt-version)
13920         (texinfo-format-region, texinfo-format-buffer-1):
13921         * lisp/textmodes/two-column.el (2C-split):
13922         Respect text quoting style in doc strings and diagnostics.
13923         * lisp/textmodes/conf-mode.el (conf-mode-map, conf-quote-normal):
13924         * lisp/textmodes/sgml-mode.el (sgml-specials, sgml-mode):
13925         Escape apostrophes in doc strings.
13927         Documentation fixes re quotes
13928         Prefer curved quotes in examples if users will typically see
13929         curved quotes when the examples run.
13930         Mention format-message when appropriate.
13931         Don’t use @code in examples.
13932         Quote an apostrophe with @kbd.
13934         Quoting fixes in lisp/progmodes
13935         * lisp/progmodes/cc-engine.el (c-bos-report-error):
13936         * lisp/progmodes/cpp.el (cpp-edit-reset):
13937         * lisp/progmodes/ebrowse.el (ebrowse-tags-apropos):
13938         * lisp/progmodes/etags.el (etags-tags-apropos-additional)
13939         (etags-tags-apropos, list-tags, tags-apropos):
13940         * lisp/progmodes/executable.el (executable-set-magic):
13941         * lisp/progmodes/octave.el (octave-sync-function-file-names)
13942         (octave-help, octave-find-definition-default-filename)
13943         (octave-find-definition):
13944         Respect text quoting style in doc strings and diagnostics.
13945         * lisp/progmodes/cc-langs.el (c-populate-syntax-table):
13946         * lisp/progmodes/verilog-mode.el (verilog-auto-reset-widths):
13947         * lisp/progmodes/vhdl-mode.el (vhdl-electric-quote):
13948         Escape apostrophes in doc strings.
13949         * lisp/progmodes/cmacexp.el (c-macro-expansion):
13950         Use straight quoting in ASCII comment.
13951         * lisp/progmodes/idlwave.el (idlwave-auto-fill-split-string)
13952         (idlwave-pad-keyword):
13953         * lisp/progmodes/vhdl-mode.el (vhdl-widget-directory-validate)
13954         (vhdl-electric-open-bracket, vhdl-electric-close-bracket):
13955         (vhdl-electric-semicolon, vhdl-electric-comma)
13956         (vhdl-electric-period, vhdl-electric-equal):
13957         Use directed quotes in diagnostics and doc strings.
13959 2015-08-30  Xue Fuqiao  <xfq.free@gmail.com>
13961         Minor documentation and NEWS tweak
13962         * doc/lispintro/emacs-lisp-intro.texi (fwd-para let):
13963         Add an index entry.
13964         * etc/NEWS: Fix a typo in character-fold-to-regexp.
13966 2015-08-30  Michael Albinus  <michael.albinus@gmx.de>
13968         * lisp/net/tramp-sh.el (tramp-convert-file-attributes):
13969         Revert patch from 2015-08-24.  Tramp shall behave like for local files.
13970         * test/automated/tramp-tests.el (tramp-test18-file-attributes):
13971         Adapt test.
13973 2015-08-30  Paul Eggert  <eggert@cs.ucla.edu>
13975         Text quoting fixes in cedet, emulation, emacs-lisp
13976         * lisp/cedet/ede.el (ede-check-project-directory):
13977         * lisp/cedet/semantic/analyze/debug.el
13978         (semantic-analyzer-debug-insert-include-summary):
13979         * lisp/cedet/semantic/bovine/c.el (semantic-c-describe-environment):
13980         * lisp/cedet/semantic/decorate/include.el
13981         (semantic-decoration-unknown-include-describe)
13982         (semantic-decoration-all-include-summary):
13983         * lisp/cedet/semantic/ia.el (semantic-ia-fast-jump):
13984         * lisp/emulation/edt.el (edt-load-keys):
13985         * lisp/emulation/viper-cmd.el
13986         (viper-display-current-destructive-command)
13987         (viper-query-replace, viper-brac-function):
13988         * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-compile):
13989         * lisp/emulation/viper-macs.el (viper-unrecord-kbd-macro):
13990         Respect text quoting style in doc string or diagnostic.
13991         * lisp/cedet/mode-local.el (describe-mode-local-overload):
13992         Use format-message to avoid overtranslating quotes.
13993         * lisp/emacs-lisp/checkdoc.el (checkdoc-in-sample-code-p):
13994         Escape an apostrophe in a docstring.
13995         * lisp/emacs-lisp/warnings.el (lwarn): Fix doc string.
13997 2015-08-29  Daniel Colascione  <dancol@dancol.org>
13999         Fix which-func for curly quotes: look for symbol, not message
14000         * lisp/progmodes/which-func.el (which-func-ff-hook): Look for new
14001         imenu-unavailable error symbol instead of trying to match message
14002         exactly.
14003         * lisp/imenu.el (imenu-unavailable): New error.
14004         (imenu-unavailable-error): New function.
14006 2015-08-29  Eli Zaretskii  <eliz@gnu.org>
14008         Fix Python tests on MS-Windows
14009         * test/automated/python-tests.el
14010         (python-shell-calculate-command-1): Run python-shell-interpreter
14011         through shell-quote-argument before comparing with what
14012         python-shell-calculate-command returns.
14013         (python-shell-calculate-pythonpath-1)
14014         (python-shell-calculate-pythonpath-2)
14015         (python-shell-calculate-process-environment-2): Use path-separator
14016         instead of a literal ':'.
14017         (python-shell-calculate-exec-path-2)
14018         (python-shell-calculate-exec-path-3)
14019         (python-shell-calculate-exec-path-4)
14020         (python-shell-with-environment-1)
14021         (python-shell-with-environment-2): Run "/env/bin" through
14022         expand-file-name before comparing with exec-path.  (Bug#21375)
14024 2015-08-29  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
14026         Use Core Text types/functions/variables/enumerators directly
14027         * src/macfont.h (FontDescriptorRef, FontRef, FontSymbolicTraits)
14028         (CharacterCollection): Remove typedefs.  All uses replaced with
14029         definitions.
14030         (MAC_FONT_NAME_ATTRIBUTE, MAC_FONT_FAMILY_NAME_ATTRIBUTE)
14031         (MAC_FONT_TRAITS_ATTRIBUTE, MAC_FONT_SIZE_ATTRIBUTE)
14032         (MAC_FONT_CASCADE_LIST_ATTRIBUTE)
14033         (MAC_FONT_CHARACTER_SET_ATTRIBUTE, MAC_FONT_LANGUAGES_ATTRIBUTE)
14034         (MAC_FONT_FORMAT_ATTRIBUTE, MAC_FONT_SYMBOLIC_TRAIT)
14035         (MAC_FONT_WEIGHT_TRAIT, MAC_FONT_WIDTH_TRAIT)
14036         (MAC_FONT_SLANT_TRAIT): Remove macros.  All uses replaced with
14037         definitions.
14038         (MAC_FONT_TRAIT_ITALIC, MAC_FONT_TRAIT_BOLD)
14039         (MAC_FONT_TRAIT_MONO_SPACE, MAC_FONT_TRAIT_COLOR_GLYPHS)
14040         (MAC_FONT_FORMAT_BITMAP)
14041         (MAC_CHARACTER_COLLECTION_IDENTITY_MAPPING)
14042         (MAC_CHARACTER_COLLECTION_ADOBE_JAPAN1): Remove enumerators.
14043         All uses replaced with definitions.
14044         (kCTFontTraitItalic, kCTFontTraitBold, kCTFontTraitMonoSpace)
14045         (kCTFontTraitColorGlyphs, kCTCharacterCollectionIdentityMapping)
14046         (kCTCharacterCollectionAdobeJapan1 kCTFontOrientationDefault):
14047         Add compatibility enumerators for older versions.
14048         (mac_font_descriptor_create_with_attributes)
14049         (mac_font_descriptor_create_matching_font_descriptors)
14050         (mac_font_descriptor_create_matching_font_descriptor)
14051         (mac_font_descriptor_copy_attribute)
14052         (mac_font_descriptor_supports_languages)
14053         (mac_font_create_with_name, mac_font_get_size)
14054         (mac_font_copy_family_name, mac_font_copy_character_set)
14055         (mac_font_get_glyphs_for_characters, mac_font_get_ascent)
14056         (mac_font_get_descent, mac_font_get_leading)
14057         (mac_font_get_underline_position)
14058         (mac_font_get_underline_thickness, mac_font_copy_graphics_font)
14059         (mac_font_copy_non_synthetic_table): Remove macros.  All uses
14060         replaced with definitions.
14061         (mac_font_create_preferred_family_for_attributes)
14062         (mac_font_get_advance_width_for_glyph)
14063         (mac_font_get_bounding_rect_for_glyph)
14064         (mac_font_create_available_families, mac_font_shape):
14065         Remove macros for renamed functions.
14066         (mac_nsctfont_copy_font_descriptor): Remove unused macro.
14067         * src/macterm.m (mac_font_descriptor_supports_languages):
14068         Rename from mac_ctfont_descriptor_supports_languages.
14069         (mac_font_create_preferred_family_for_attributes): Rename from
14070         mac_ctfont_create_preferred_family_for_attributes.
14071         (mac_font_get_advance_width_for_glyph): Rename from
14072         mac_ctfont_get_advance_width_for_glyph.
14073         Use kCTFontOrientationDefault also for older versions.
14074         (mac_font_get_bounding_rect_for_glyph): Rename from
14075         mac_ctfont_get_bounding_rect_for_glyph.
14076         Use kCTFontOrientationDefault also for older versions.
14077         (mac_font_create_available_families): Rename from
14078         mac_ctfont_create_available_families.
14079         (mac_font_equal_in_postscript_name): Rename from
14080         mac_ctfont_equal_in_postscript_name.  All uses changed.
14081         (mac_font_create_line_with_string_and_font): Rename from
14082         mac_ctfont_create_line_with_string_and_font.  All uses changed.
14083         (mac_font_shape): Rename from mac_ctfont_shape.
14084         (mac_font_family_compare): Remove unused declaration.
14086 2015-08-29  Paul Eggert  <eggert@cs.ucla.edu>
14088         Fix minor text quoting in calc, calendar, vc
14089         * lisp/calc/calc-ext.el (calc-shift-Z-prefix-help):
14090         * lisp/calc/calc-help.el (calc-j-prefix-help):
14091         * lisp/calc/calc-misc.el (calc-help):
14092         * lisp/calc/calc.el (calc-algebraic-mode, calc-mode):
14093         Escape an apostrophe in a docstring.
14094         * lisp/calc/calc-forms.el (calc-hms-notation):
14095         * lisp/calc/calc-mode.el (calc-display-raw, calc-algebraic-mode):
14096         Escape an apostrophe in a diagnostic.
14097         * lisp/calc/calc-misc.el (calc-help):
14098         * lisp/calendar/diary-lib.el (diary-include-files):
14099         * lisp/calendar/todo-mode.el (todo-prefix, todo-item-mark):
14100         * lisp/vc/diff-mode.el (diff-delete-trailing-whitespace):
14101         * lisp/vc/ediff-diff.el (ediff-same-contents):
14102         * lisp/vc/ediff-merg.el (ediff-re-merge):
14103         * lisp/vc/ediff-ptch.el (ediff-patch-file-internal):
14104         * lisp/vc/ediff-util.el (ediff-test-save-region)
14105         (ediff-status-info):
14106         * lisp/vc/ediff.el (ediff-merge-revisions)
14107         (ediff-merge-revisions-with-ancestor):
14108         * lisp/vc/pcvs.el (cvs-mode-checkout, cvs-vc-command-advice):
14109         * lisp/vc/vc-cvs.el (vc-cvs-mode-line-string):
14110         Respect text quoting style in doc string or diagnostic.
14111         * lisp/calc/calc-prog.el (calc-kbd-push, calc-kbd-pop):
14112         * lisp/vc/add-log.el (change-log-goto-source):
14113         Avoid double-formatting.
14114         * lisp/vc/ediff-init.el (format-message):
14115         New backward-compatibility alias.
14117 2015-08-28  Paul Eggert  <eggert@cs.ucla.edu>
14119         Fix minor text quoting problems in lisp top level
14120         * lisp/apropos.el (apropos-describe-plist):
14121         * lisp/cus-theme.el (customize-themes):
14122         * lisp/dired.el (dired-log):
14123         * lisp/help-fns.el (describe-variable):
14124         * lisp/hexl.el (hexl-insert-multibyte-char):
14125         * lisp/info.el (Info-finder-find-node):
14126         * lisp/json.el (json-read-string):
14127         * lisp/novice.el (disabled-command-function)
14128         (disabled-command-function):
14129         * lisp/startup.el (normal-mouse-startup-screen):
14130         * lisp/woman.el (WoMan-log, WoMan-warn):
14131         Respect text quoting style in doc string or diagnostic.
14132         * lisp/replace.el (replace-character-fold):
14133         * src/syntax.c (Fmodify_syntax_entry):
14134         Escape an apostrophe in a docstring.
14135         * lisp/tempo.el (tempo-define-template):
14136         Remove confusing apostrophe from docstring.
14137         * lisp/whitespace.el (whitespace-mark-x):
14138         Use directed quotes in docstring.
14140 2015-08-28  Simen Heggestøyl  <simenheg@gmail.com>
14142         Fix indentation rule in css-mode
14143         * lisp/textmodes/css-mode.el (css-smie-rules): Fix indentation of
14144         brackets in presence of pseudo-selectors.  (Bug#21328)
14146 2015-08-28  Eli Zaretskii  <eliz@gnu.org>
14148         Fix a bug in recording a macro while flyspell-mode is active
14149         * lisp/subr.el (sit-for): Don't call read-event when recording a
14150         macro.  (Bug#21329)
14152 2015-08-27  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
14154         Tweak startup screen quoting
14155         * lisp/startup.el (normal-splash-screen): Use standard
14156         "M-" abbrevation rather than a confusingly-different one.
14157         (normal-no-mouse-startup-screen): Follow ‘text-quoting-style’.
14159 2015-08-27  Paul Eggert  <eggert@cs.ucla.edu>
14161         Add test case for ‘format’ bug and refactor
14162         * src/editfns.c (styled_format): Refactor internally, mostly by
14163         moving declarations closer to uses.  This should not affect behavior.
14164         * test/automated/textprop-tests.el (textprop-tests-format): New test.
14166         Fix ‘format’ bug with property offsets
14167         * src/editfns.c (styled_format): Fix recently-introduced ‘format’
14168         bug in calculating string property offsets (Bug#21351).
14170         Use straight quotes in lib-src diagnostics
14171         These auxiliary programs can’t use Emacs’s text-quoting-style,
14172         and it’s too much trouble to redo that mechanism by hand.
14173         So just use straight quotes for now.
14174         * lib-src/ebrowse.c (main):
14175         * lib-src/emacsclient.c (decode_options, main):
14176         * lib-src/etags.c (Ada_help, default_C_help, Cplusplus_help)
14177         (Forth_help, HTML_help, Lisp_help, Makefile_help, Objc_help)
14178         (Perl_help, PHP_help, Python_help, Scheme_help, TeX_help, auto_help)
14179         (none_help, print_language_names, print_help, add_regex)
14180         (suggest_asking_for_help):
14181         * lib-src/make-docfile.c (write_c_args, scan_c_stream):
14182         Use straight quotes in diagnostics.
14184         ‘text-quoting-style’ fixes for admin
14185         * admin/admin.el (cusver-scan, cusver-check):
14186         * admin/authors.el (authors-canonical-file-name):
14187         * admin/bzrmerge.el (bzrmerge-missing):
14188         Respect ‘text-quoting-style’ in diagnostics.
14190 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
14192         Assume GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS
14193         This removes the need for GCPRO1 etc.  Suggested by Stefan Monnier in:
14194         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00918.html
14195         * doc/lispref/internals.texi (Writing Emacs Primitives):
14196         * etc/NEWS:
14197         Document the change.
14198         * src/alloc.c (gcprolist, dump_zombies, MAX_ZOMBIES, zombies)
14199         (nzombies, ngcs, avg_zombies, max_live, max_zombies, avg_live)
14200         (Fgc_status, check_gcpros, relocatable_string_data_p, gc-precise):
14201         * src/bytecode.c (mark_byte_stack) [BYTE_MARK_STACK]:
14202         * src/eval.c (gcpro_level) [DEBUG_GCPRO]:
14203         * src/lisp.h (struct handler.gcpro, struct gcpro, GC_MARK_STACK)
14204         (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
14205         (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
14206         (BYTE_MARK_STACK, GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, GCPRO6)
14207         (GCPRO7, UNGCPRO, RETURN_UNGCPRO):
14208         Remove.  All uses removed.  The code now assumes
14209         GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS.
14210         * src/bytecode.c (relocate_byte_stack):
14211         Rename from unmark_byte_stack, since it now only relocates.
14212         All callers changed.
14213         * src/frame.c (make_frame): Add an IF_LINT to pacify GCC 5.2
14214         with GCPROs removed.
14215         * src/systime.h: Use EMACS_LISP_H as the canary instead of GCPRO1.
14216         * test/automated/finalizer-tests.el (finalizer-basic)
14217         (finalizer-circular-reference, finalizer-cross-reference)
14218         (finalizer-error):
14219         * test/automated/generator-tests.el (cps-test-iter-close-finalizer):
14220         Remove tests, as they depend on gc-precise.
14222 2015-08-26  Nicolas Petton  <nicolas@petton.fr>
14224         Improve seq-concatenate for new sequence types
14225         Use the new `seq-into-sequence' in seqs passed to `seq-concatenate' to
14226         ensure that concatenation happens on sequences only.  This makes it
14227         possible to use `seq-concatenate' for new types of seqs.
14228         * lisp/emacs-lisp/seq.el (seq-into-sequence, seq-concatenate):
14229         New function used in `seq-concatenate'.
14230         * test/automated/seq-tests.el (test-seq-into-sequence): New unit test
14231         for seq-into-sequence.
14233 2015-08-26  Stephen Leake  <stephen_leake@stephe-leake.org>
14235         Add mode local overrides to xref-find-definitions
14236         * lisp/cedet/mode-local.el (xref-mode-local--override-present)
14237         (xref-mode-local-overload): New; add mode local overrides to
14238         xref-find-definitions.
14239         * test/automated/elisp-mode-tests.el: Add mode local override tests.
14240         (xref-elisp-test-run): Handle indented defuns.
14241         (xref-elisp-generic-*): Improve doc strings.
14242         * lisp/progmodes/elisp-mode.el (elisp-xref-find-def-functions): New.
14243         (elisp--xref-find-definitions): Use it.
14245         Add mode local overrides to describe-function
14246         * lisp/cedet/mode-local.el (describe-mode-local-overload):
14247         New; add mode local overrides to describe-function.
14248         * etc/NEWS: Document change.
14250 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
14252         Prefer straight quoting in some etc text files
14253         These files are plain text and might be used by non-Emacs apps.
14254         They’re mostly ASCII, so just use straight quotes.
14256         Fix quoting in ‘message_with_string’
14257         * src/nsfont.m (nsfont_open): Use directed quotes in format; they
14258         should work now.
14259         * src/xdisp.c (message_to_stderr): New function, refactored from
14260         part of ‘message3_nolog’.
14261         (message3_nolog): Use it.
14262         (message_with_string): Use it.  Don’t mishandle NUL bytes when
14263         noninteractive.  Prefer AUTO_STRING when it’s most likely faster.
14264         Use ‘format-message’, not ‘format’, so that quotes are translated.
14266 2015-08-26  Eli Zaretskii  <eliz@gnu.org>
14268         Mention false positives of file-accessible-directory on w32
14269         * src/fileio.c (Ffile_accessible_directory_p): Doc fix.
14270         (Bug#21346)
14272 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
14274         Treat error strings as help
14275         * src/print.c (print_error_message): Translate quotes and command
14276         keys in errmsg so that users see, e.g., "Symbol’s value as
14277         variable is void: foo" when text-quoting-style is curved.
14279 2015-08-26  Michael Albinus  <michael.albinus@gmx.de>
14281         * lisp/net/tramp-cache.el (top): Use `message', not `format-message'.
14283 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
14285         Top-level elisp files respect ‘text-quoting-style’
14286         In top-level elisp files, use format-message in diagnostic formats,
14287         so that they follow user preference as per ‘text-quoting-style’
14288         rather than being hard-coded to quote `like this'.
14289         * lisp/allout.el (allout-get-configvar-values):
14290         * lisp/apropos.el (apropos-symbols-internal):
14291         * lisp/dired-aux.el (dired-do-shell-command, dired-create-files)
14292         (dired-do-create-files-regexp, dired-create-files-non-directory):
14293         * lisp/dired-x.el (dired-do-run-mail):
14294         * lisp/dired.el (dired-log, dired-dnd-handle-local-file):
14295         * lisp/disp-table.el (standard-display-european):
14296         * lisp/find-dired.el (find-dired):
14297         * lisp/forms.el (forms-mode):
14298         * lisp/ido.el (ido-buffer-internal):
14299         * lisp/info.el (Info-index-next):
14300         * lisp/outline.el (outline-invent-heading):
14301         * lisp/printing.el (pr-ps-outfile-preprint, pr-i-ps-send):
14302         * lisp/proced.el (proced-log):
14303         * lisp/ps-print.el (ps-print-preprint, ps-get-size):
14304         * lisp/recentf.el (recentf-open-files, recentf-save-list):
14305         * lisp/savehist.el (savehist-save):
14306         * lisp/server.el (server-ensure-safe-dir):
14307         * lisp/ses.el (ses-rename-cell):
14308         * lisp/simple.el (list-processes--refresh):
14309         * lisp/startup.el (command-line):
14310         * lisp/strokes.el (strokes-unset-last-stroke)
14311         (strokes-execute-stroke):
14312         Use format-message so that quotes are restyled.
14313         * lisp/cus-edit.el (custom-raised-buttons, customize-browse):
14314         Don’t quote ‘raised’.
14315         * lisp/descr-text.el (describe-char):
14316         * lisp/dirtrack.el (dirtrack-debug-message):
14317         * lisp/hexl.el (hexl-insert-multibyte-char):
14318         Apply substitute-command-keys to help string.
14319         * lisp/wdired.el (wdired-do-renames, wdired-do-symlink-changes)
14320         (wdired-do-perm-changes):
14321         Let dired-log do the formatting.
14323 2015-08-25  Paul Eggert  <eggert@cs.ucla.edu>
14325         Go back to grave quoting in Tramp
14326         * lisp/net/tramp-adb.el:
14327         * lisp/net/tramp-cache.el:
14328         * lisp/net/tramp-compat.el:
14329         * lisp/net/tramp-gvfs.el:
14330         * lisp/net/tramp-gw.el:
14331         * lisp/net/tramp-sh.el:
14332         * lisp/net/tramp-smb.el:
14333         * lisp/net/tramp.el:
14334         Stick with grave quoting in diagnostics strings.  This is more
14335         portable to older Emacs, desirable for Tramp.
14336         * lisp/net/tramp-cache.el: Use ‘format-message’, not ‘format’,
14337         for diagnostic that needs requoting.
14338         * lisp/net/tramp-compat.el (format-message):
14339         Fall back on simple ‘format’, since that’s good enough now.
14341         Go back to grave quoting in Gnus
14342         * lisp/gnus/auth-source.el (auth-source-netrc-parse-entries):
14343         * lisp/gnus/gnus-agent.el (gnus-agent-check-overview-buffer)
14344         (gnus-agent-fetch-headers):
14345         * lisp/gnus/gnus-int.el (gnus-start-news-server):
14346         * lisp/gnus/gnus-registry.el:
14347         (gnus-registry--split-fancy-with-parent-internal)
14348         (gnus-registry-post-process-groups):
14349         * lisp/gnus/gnus-score.el (gnus-summary-increase-score):
14350         * lisp/gnus/gnus-start.el (gnus-convert-old-newsrc):
14351         * lisp/gnus/gnus-topic.el (gnus-topic-rename):
14352         * lisp/gnus/legacy-gnus-agent.el (gnus-agent-unlist-expire-days):
14353         * lisp/gnus/spam.el (spam-check-blackholes):
14354         Stick with grave quoting in diagnostics strings.  This is more
14355         portable to older Emacs, desirable for Gnus.
14357         Fix customization of text-quoting-style
14358         * lisp/cus-edit.el (custom-guess-type, custom-variable-documentation):
14359         * lisp/wid-edit.el (widget-docstring):
14360         Get raw docstring here since it’s cooked later and should not be
14361         cooked twice.
14362         * lisp/cus-edit.el (custom-group-value-create):
14363         Cook the docstring before inserting it.
14364         * lisp/cus-start.el (text-quoting-style): Quote the customization
14365         docstrings according to the new rules.  Give curved examples.
14367         format-message now curves ` and '
14368         That way, the caller doesn’t have to use curved quotes to
14369         get diagnostics that match the text-quoting-style preferences.
14370         Suggested by Dmitry Gutov in:
14371         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00893.html
14372         This means we no longer need %qs, so remove that format.
14373         While we’re at it, fix an unlikely bug and lessen the pressure
14374         on the garbage collector by processing the string once rather
14375         than twice in the usual case.
14376         * doc/lispref/strings.texi (Formatting Strings):
14377         * etc/NEWS: Document this.
14378         * lisp/subr.el (format-message): Remove; now done in C.
14379         * src/callint.c (Fcall_interactively):
14380         * src/editfns.c (Fmessage, Fmessage_box):
14381         Use Fformat_message instead of Finternal__text_restyle
14382         followed by Fformat.
14383         * src/doc.c (LSQM, RSQM): Remove; all uses changed to use
14384         uLSQM and uRSQM.
14385         (Fsubstitute_command_keys): Prefer AUTO_STRING to build_string
14386         when pure ASCII now suffices.  Fix unlikely bug when parsing
14387         unibyte string containing non-ASCII bytes.  Use inline code
14388         rather than memcpy, as it’s a tiny number of bytes.
14389         (Finternal__text_restyle): Remove; no longer used.
14390         (syms_of_doc): Don’t declare it.
14391         * src/editfns.c (Fformat): Rewrite in terms of new function
14392         ‘styled_format’.
14393         (Fformat_message): New function, moved here from subr.el.
14394         (styled_format): New function, with the old guts of Fformat,
14395         except it now optionally transliterates quotes, and it transliterates
14396         traditional grave accent and apostrophe quoting as well.
14397         Remove recently-added q flag; no longer needed or used.
14398         (syms_of_editfns): Define format-message.
14399         * src/lisp.h (uLSQM0, uLSQM1, uLSQM2, uRSQM0, uRSQM1, uRSQM2):
14400         Remove; no longer need to be global symbols.
14401         * src/xdisp.c (vadd_to_log): Use Fformat_message, not Fformat,
14402         so that callers can use `%s'.
14403         * src/image.c (image_size_error, xbm_load_image, xbm_load)
14404         (xpm_load, pbm_load, png_load_body, jpeg_load_body, tiff_load)
14405         (gif_load, imagemagick_load_image, imagemagick_load, svg_load)
14406         (svg_load_image, gs_load, x_kill_gs_process):
14407         * src/lread.c (load_warn_old_style_backquotes):
14408         * src/xfaces.c (load_pixmap):
14409         * src/xselect.c (x_clipboard_manager_error_1):
14410         Use `%s' instead of %qs in formats.
14412 2015-08-25  Eli Zaretskii  <eliz@gnu.org>
14414         Minor fixes in doc/emacs/search.texi
14415         * doc/emacs/search.texi (Basic Isearch): Fix a typo.
14416         (Special Isearch): Use @w{} to generate several consecutive spaces
14417         with Texinfo 6.  (Bug#21345)
14419 2015-08-25  Michael Albinus  <michael.albinus@gmx.de>
14421         * lisp/net/tramp-sh.el (tramp-awk-encode, tramp-awk-decode)
14422         (tramp-awk-coding-test): New defconsts.
14423         (tramp-remote-coding-commands): Use them.
14424         (tramp-find-inline-encoding): Check for Perl only if necessary.
14426 2015-08-25  Xue Fuqiao  <xfq.free@gmail.com>
14428         * doc/lispintro/emacs-lisp-intro.texi (Run a Program): Add some
14429         index entries for the special form `quote'.
14431 2015-08-25  Paul Eggert  <eggert@cs.ucla.edu>
14433         Spelling fixes
14435         Gnus format-message typo fix
14436         * lisp/gnus/gnus-util.el (gnus-format-message):
14437         Fix typo when running in older Emacs.
14439         Prefer directed to neutral quotes in docstings and diagnostics.
14440         In docstrings, escape apostrophes that would otherwise be translated
14441         to curved quotes using the newer, simpler rules.
14442         * admin/unidata/unidata-gen.el (unidata-gen-table):
14443         * lisp/align.el (align-region):
14444         * lisp/allout.el (allout-mode, allout-solicit-alternate-bullet):
14445         * lisp/bookmark.el (bookmark-default-annotation-text):
14446         * lisp/calc/calc-aent.el (math-read-if, math-read-factor):
14447         * lisp/calc/calc-lang.el (math-read-giac-subscr)
14448         (math-read-math-subscr):
14449         * lisp/calc/calc-misc.el (report-calc-bug):
14450         * lisp/calc/calc-prog.el (calc-fix-token-name)
14451         (calc-read-parse-table-part):
14452         * lisp/cedet/ede/pmake.el (ede-proj-makefile-insert-dist-rules):
14453         * lisp/cedet/semantic/complete.el (semantic-displayor-show-request):
14454         * lisp/dabbrev.el (dabbrev-expand):
14455         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
14456         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
14457         * lisp/emacs-lisp/lisp-mnt.el (lm-verify):
14458         * lisp/emulation/viper-cmd.el (viper-toggle-search-style):
14459         * lisp/erc/erc-button.el (erc-nick-popup):
14460         * lisp/erc/erc.el (erc-cmd-LOAD, erc-handle-login):
14461         * lisp/eshell/em-dirs.el (eshell/cd):
14462         * lisp/eshell/em-glob.el (eshell-glob-regexp):
14463         * lisp/eshell/em-pred.el (eshell-parse-modifiers):
14464         * lisp/eshell/esh-arg.el (eshell-parse-arguments):
14465         * lisp/eshell/esh-opt.el (eshell-show-usage):
14466         * lisp/files-x.el (modify-file-local-variable):
14467         * lisp/filesets.el (filesets-add-buffer, filesets-remove-buffer)
14468         (filesets-update-pre010505):
14469         * lisp/find-cmd.el (find-generic, find-to-string):
14470         * lisp/gnus/auth-source.el (auth-source-netrc-parse-entries):
14471         * lisp/gnus/gnus-agent.el (gnus-agent-check-overview-buffer)
14472         (gnus-agent-fetch-headers):
14473         * lisp/gnus/gnus-int.el (gnus-start-news-server):
14474         * lisp/gnus/gnus-registry.el:
14475         (gnus-registry--split-fancy-with-parent-internal):
14476         * lisp/gnus/gnus-score.el (gnus-summary-increase-score):
14477         * lisp/gnus/gnus-start.el (gnus-convert-old-newsrc):
14478         * lisp/gnus/gnus-topic.el (gnus-topic-rename):
14479         * lisp/gnus/legacy-gnus-agent.el (gnus-agent-unlist-expire-days):
14480         * lisp/gnus/nnmairix.el (nnmairix-widget-create-query):
14481         * lisp/gnus/spam.el (spam-check-blackholes):
14482         * lisp/mail/feedmail.el (feedmail-run-the-queue):
14483         * lisp/mpc.el (mpc-playlist-rename):
14484         * lisp/net/ange-ftp.el (ange-ftp-shell-command):
14485         * lisp/net/mairix.el (mairix-widget-create-query):
14486         * lisp/net/tramp-cache.el:
14487         * lisp/obsolete/otodo-mode.el (todo-more-important-p):
14488         * lisp/obsolete/pgg-gpg.el (pgg-gpg-process-region):
14489         * lisp/obsolete/pgg-pgp.el (pgg-pgp-process-region):
14490         * lisp/obsolete/pgg-pgp5.el (pgg-pgp5-process-region):
14491         * lisp/org/ob-core.el (org-babel-goto-named-src-block)
14492         (org-babel-goto-named-result):
14493         * lisp/org/ob-fortran.el (org-babel-fortran-ensure-main-wrap):
14494         * lisp/org/ob-ref.el (org-babel-ref-resolve):
14495         * lisp/org/org-agenda.el (org-agenda-prepare):
14496         * lisp/org/org-bibtex.el (org-bibtex-fields):
14497         * lisp/org/org-clock.el (org-clock-notify-once-if-expired)
14498         (org-clock-resolve):
14499         * lisp/org/org-feed.el (org-feed-parse-atom-entry):
14500         * lisp/org/org-habit.el (org-habit-parse-todo):
14501         * lisp/org/org-mouse.el (org-mouse-popup-global-menu)
14502         (org-mouse-context-menu):
14503         * lisp/org/org-table.el (org-table-edit-formulas):
14504         * lisp/org/ox.el (org-export-async-start):
14505         * lisp/play/dunnet.el (dun-score, dun-help, dun-endgame-question)
14506         (dun-rooms, dun-endgame-questions):
14507         * lisp/progmodes/ada-mode.el (ada-goto-matching-start):
14508         * lisp/progmodes/ada-xref.el (ada-find-executable):
14509         * lisp/progmodes/antlr-mode.el (antlr-options-alists):
14510         * lisp/progmodes/flymake.el (flymake-parse-err-lines)
14511         (flymake-start-syntax-check-process):
14512         * lisp/progmodes/python.el (python-define-auxiliary-skeleton):
14513         * lisp/progmodes/sql.el (sql-comint):
14514         * lisp/progmodes/verilog-mode.el (verilog-load-file-at-point):
14515         * lisp/server.el (server-get-auth-key):
14516         * lisp/subr.el (version-to-list):
14517         * lisp/textmodes/reftex-ref.el (reftex-label):
14518         * lisp/textmodes/reftex-toc.el (reftex-toc-rename-label):
14519         * lisp/vc/ediff-diff.el (ediff-same-contents):
14520         * lisp/vc/vc-cvs.el (vc-cvs-mode-line-string):
14521         * test/automated/tramp-tests.el (tramp-test33-asynchronous-requests):
14522         Use directed rather than neutral quotes in diagnostics.
14524         Treat ' like ’ even when not matching `
14525         This is simpler and easier to explain, and should encourage better
14526         typography.  Do this in Electric Quote mode and when translating
14527         quotes in docstrings.  Inspired by a suggestion by Dmitry Gutov in:
14528         https://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00806.html
14529         * doc/emacs/text.texi (Quotation Marks):
14530         * doc/lispref/help.texi (Keys in Documentation):
14531         * etc/NEWS:
14532         Document this.
14533         * lisp/electric.el (electric-quote-post-self-insert-function):
14534         * src/doc.c (Fsubstitute_command_keys):
14535         Always treat ' like ’ even when not matched by an open quote.
14537 2015-08-25  Glenn Morris  <rgm@gnu.org>
14539         * doc/emacs/cal-xtra.texi (Holiday Customizing): Fix typo in example.
14540         * lisp/calendar/holidays.el (calendar-holidays): Fix doc typo.
14542 2015-08-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
14544         * src/macfont.m (macfont_create_family_with_symbol):
14545         Accept localized names.
14547 2015-08-24  Paul Eggert  <eggert@cs.ucla.edu>
14549         Tramp diagnostics as per ‘text-quoting-style’
14550         * lisp/net/tramp-adb.el (tramp-adb-handle-file-truename)
14551         (tramp-adb-get-ls-command, tramp-adb-handle-make-directory)
14552         (tramp-adb-handle-delete-directory)
14553         (tramp-adb-handle-delete-file)
14554         (tramp-adb-handle-file-local-copy)
14555         (tramp-adb-handle-write-region, tramp-adb-handle-copy-file)
14556         (tramp-adb-send-command-and-check, tramp-adb-wait-for-output)
14557         (tramp-adb-maybe-open-connection):
14558         * lisp/net/tramp-cache.el:
14559         * lisp/net/tramp-compat.el (tramp-compat-temporary-file-directory)
14560         (tramp-compat-octal-to-decimal)
14561         (tramp-compat-coding-system-change-eol-conversion):
14562         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler)
14563         (tramp-gvfs-do-copy-or-rename-file)
14564         (tramp-gvfs-handle-delete-directory)
14565         (tramp-gvfs-handle-delete-file)
14566         (tramp-gvfs-handle-expand-file-name)
14567         (tramp-gvfs-handle-file-local-copy)
14568         (tramp-gvfs-handle-file-notify-add-watch)
14569         (tramp-gvfs-handle-make-directory)
14570         (tramp-gvfs-handle-write-region, tramp-gvfs-url-file-name):
14571         * lisp/net/tramp-gw.el (tramp-gw-gw-proc-sentinel)
14572         (tramp-gw-aux-proc-sentinel, tramp-gw-open-connection):
14573         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
14574         (tramp-sh-handle-set-visited-file-modtime)
14575         (tramp-sh-handle-set-file-modes)
14576         (tramp-sh-handle-file-name-all-completions)
14577         (tramp-sh-handle-add-name-to-file, tramp-do-copy-or-rename-file)
14578         (tramp-do-copy-or-rename-file-directly)
14579         (tramp-do-copy-or-rename-file-out-of-band)
14580         (tramp-sh-handle-make-directory)
14581         (tramp-sh-handle-delete-directory, tramp-sh-handle-delete-file)
14582         (tramp-sh-handle-insert-directory, tramp-process-sentinel)
14583         (tramp-sh-handle-start-file-process)
14584         (tramp-sh-handle-file-local-copy)
14585         (tramp-sh-handle-write-region, tramp-sh-handle-vc-registered)
14586         (tramp-sh-handle-file-notify-add-watch, tramp-maybe-send-script)
14587         (tramp-find-file-exists-command, tramp-open-shell)
14588         (tramp-find-shell)
14589         (tramp-open-connection-setup-interactive-shell)
14590         (tramp-find-inline-encoding, tramp-find-inline-compress)
14591         (tramp-compute-multi-hops, tramp-maybe-open-connection)
14592         (tramp-wait-for-output, tramp-send-command-and-check)
14593         (tramp-send-command-and-read, tramp-get-remote-path)
14594         (tramp-get-ls-command, tramp-get-ls-command-with-dired)
14595         (tramp-get-ls-command-with-quoting-style)
14596         (tramp-get-test-command, tramp-get-remote-ln)
14597         (tramp-get-remote-perl, tramp-get-remote-stat)
14598         (tramp-get-remote-readlink, tramp-get-remote-trash)
14599         (tramp-get-remote-touch, tramp-get-remote-gvfs-monitor-dir)
14600         (tramp-get-remote-inotifywait, tramp-get-remote-id)
14601         (tramp-get-remote-python):
14602         * lisp/net/tramp-smb.el (tramp-smb-errors)
14603         (tramp-smb-handle-add-name-to-file, tramp-smb-handle-copy-file)
14604         (tramp-smb-handle-delete-directory)
14605         (tramp-smb-handle-delete-file)
14606         (tramp-smb-handle-file-local-copy)
14607         (tramp-smb-handle-make-directory)
14608         (tramp-smb-handle-make-directory-internal)
14609         (tramp-smb-handle-make-symbolic-link)
14610         (tramp-smb-handle-rename-file, tramp-smb-handle-set-file-acl)
14611         (tramp-smb-handle-set-file-modes)
14612         (tramp-smb-handle-write-region, tramp-smb-get-file-entries):
14613         * lisp/net/tramp.el (tramp-debug-message, tramp-error)
14614         (tramp-process-actions):
14615         Generate diagnostics according to ‘text-quoting-style’, by
14616         using curved quotes in format strings and ‘format-message’
14617         when appropriate.
14618         * lisp/net/tramp-compat.el (format-message):
14619         Define a replacement, if it’s an older version of Emacs
14620         that doesn’t have it already.
14622         * etc/NEWS: Clarify text-quoting-style and electric-quote-mode.
14624 2015-08-24  Xue Fuqiao  <xfq.free@gmail.com>
14626         Fix documentation for `save-excursion'
14627         * doc/lispref/positions.texi (Excursions):
14628         * doc/lispintro/emacs-lisp-intro.texi (save-excursion)
14629         (Template for save-excursion, Point and mark): `save-excursion'
14630         does not save&restore the mark any more.
14632 2015-08-24  Michael Albinus  <michael.albinus@gmx.de>
14634         * lisp/net/tramp-sh.el (tramp-stat-marker, tramp-stat-quoted-marker):
14635         New defconsts.
14636         (tramp-do-file-attributes-with-stat)
14637         (tramp-do-directory-files-and-attributes-with-stat): Use them.
14638         (tramp-convert-file-attributes): Remove double slashes in symlinks.
14639         * test/automated/tramp-tests.el (tramp-test18-file-attributes):
14640         Handle symlinks with "//" in the file name.
14642         Revert fbb5531fa11d13854b274d28ccd329c9b6652cfc for tramp.el.
14644 2015-08-24  Nicolas Petton  <nicolas@petton.fr>
14646         Fix cl-subseq and cl-concatenate
14647         * lisp/emacs-lisp/cl-extra.el (cl-subseq, cl-concatenate): Do not use
14648         seq functions.
14649         * lisp/emacs-lisp/seq.el (seq-concatenate): Call cl-concatenate in
14650         seq-concatenate.
14652 2015-08-24  Pip Cet  <pipcet@gmail.com>  (tiny change)
14654         Fix full-screen code when there is no window manager (Bug#21317)
14655         * src/xterm.h (x_wm_supports): Declare external.
14656         * src/xterm.c (wm_suppports): Rename to `x_wm_supports', export.
14657         (do_ewmh_fullscreen, x_ewmh_activate_frame): Adjust for rename.
14658         (x_check_fullscreen): Call `x_wm_set_size_hint', restore
14659         `fullscreen' frame parameter.
14660         * src/gtkutil.c (x_wm_set_size_hint): Set size hints when running
14661         without a window manager.
14663 2015-08-24  Glenn Morris  <rgm@gnu.org>
14665         * lisp/version.el (emacs-version): No longer include build host.
14666         * doc/lispref/intro.texi (Version Info): Update example.
14668 2015-08-24  Paul Eggert  <eggert@cs.ucla.edu>
14670         * doc/lispref/elisp.texi: Fix typo in previous change.
14672         More-conservative ‘format’ quote restyling
14673         Instead of restyling curved quotes for every call to ‘format’,
14674         create a new function ‘format-message’ that does the restyling,
14675         and using the new function instead of ‘format’ only in contexts
14676         where this seems appropriate.
14677         Problem reported by Dmitry Gutov and Andreas Schwab in:
14678         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00826.html
14679         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00827.html
14680         * doc/lispref/commands.texi (Using Interactive):
14681         * doc/lispref/control.texi (Signaling Errors, Signaling Errors):
14682         * doc/lispref/display.texi (Displaying Messages, Progress):
14683         * doc/lispref/elisp.texi:
14684         * doc/lispref/help.texi (Keys in Documentation):
14685         * doc/lispref/minibuf.texi (Minibuffer Misc):
14686         * doc/lispref/strings.texi (Formatting Strings):
14687         * etc/NEWS:
14688         Document the changes.
14689         * lisp/abbrev.el (expand-region-abbrevs):
14690         * lisp/apropos.el (apropos-library):
14691         * lisp/calc/calc-ext.el (calc-record-message)
14692         (calc-user-function-list):
14693         * lisp/calc/calc-help.el (calc-describe-key, calc-full-help):
14694         * lisp/calc/calc-lang.el (math-read-big-balance):
14695         * lisp/calc/calc-store.el (calc-edit-variable):
14696         * lisp/calc/calc-units.el (math-build-units-table-buffer):
14697         * lisp/calc/calc-yank.el (calc-edit-mode):
14698         * lisp/calendar/icalendar.el (icalendar-export-region)
14699         (icalendar--add-diary-entry):
14700         * lisp/cedet/mode-local.el (mode-local-print-binding)
14701         (mode-local-describe-bindings-2):
14702         * lisp/cedet/semantic/complete.el (semantic-completion-message):
14703         * lisp/cedet/semantic/edit.el (semantic-parse-changes-failed):
14704         * lisp/cedet/semantic/wisent/comp.el (wisent-log):
14705         * lisp/cedet/srecode/insert.el (srecode-insert-show-error-report):
14706         * lisp/descr-text.el (describe-text-properties-1, describe-char):
14707         * lisp/dframe.el (dframe-message):
14708         * lisp/dired-aux.el (dired-query):
14709         * lisp/emacs-lisp/byte-opt.el (byte-compile-log-lap-1):
14710         * lisp/emacs-lisp/bytecomp.el (byte-compile-log)
14711         (byte-compile-log-file, byte-compile-warn, byte-compile-form):
14712         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use)
14713         (cconv-analyze-form):
14714         * lisp/emacs-lisp/check-declare.el (check-declare-warn):
14715         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
14716         * lisp/emacs-lisp/cl-macs.el (cl-symbol-macrolet):
14717         * lisp/emacs-lisp/edebug.el (edebug-format):
14718         * lisp/emacs-lisp/eieio-core.el (eieio-oref):
14719         * lisp/emacs-lisp/eldoc.el (eldoc-minibuffer-message)
14720         (eldoc-message):
14721         * lisp/emacs-lisp/elint.el (elint-file, elint-log):
14722         * lisp/emacs-lisp/find-func.el (find-function-library):
14723         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
14724         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
14725         * lisp/emacs-lisp/nadvice.el (advice--make-docstring):
14726         * lisp/emacs-lisp/package.el (package-compute-transaction)
14727         (package-install-button-action, package-delete-button-action)
14728         (package-menu--list-to-prompt):
14729         * lisp/emacs-lisp/timer.el (timer-event-handler):
14730         * lisp/emacs-lisp/warnings.el (lwarn, warn):
14731         * lisp/emulation/viper-cmd.el:
14732         (viper-toggle-parse-sexp-ignore-comments)
14733         (viper-kill-buffer, viper-brac-function):
14734         * lisp/emulation/viper-macs.el (viper-record-kbd-macro):
14735         * lisp/facemenu.el (facemenu-add-new-face):
14736         * lisp/faces.el (face-documentation, read-face-name)
14737         (face-read-string, read-face-font, describe-face):
14738         * lisp/files.el (find-alternate-file, hack-local-variables)
14739         (hack-one-local-variable--obsolete, write-file)
14740         (basic-save-buffer, delete-directory):
14741         * lisp/format.el (format-write-file, format-find-file)
14742         (format-insert-file):
14743         * lisp/help-fns.el (help-fns--key-bindings)
14744         (help-fns--compiler-macro, help-fns--obsolete)
14745         (help-fns--interactive-only, describe-function-1)
14746         (describe-variable):
14747         * lisp/help.el (describe-mode):
14748         * lisp/info-xref.el (info-xref-output):
14749         * lisp/info.el (Info-virtual-index-find-node)
14750         (Info-virtual-index, info-apropos):
14751         * lisp/international/kkc.el (kkc-error):
14752         * lisp/international/mule-cmds.el:
14753         (select-safe-coding-system-interactively)
14754         (select-safe-coding-system, describe-input-method):
14755         * lisp/international/mule-conf.el (code-offset):
14756         * lisp/international/mule-diag.el (describe-character-set)
14757         (list-input-methods-1):
14758         * lisp/international/quail.el (quail-error):
14759         * lisp/minibuffer.el (minibuffer-message):
14760         * lisp/mpc.el (mpc--debug):
14761         * lisp/msb.el (msb--choose-menu):
14762         * lisp/net/ange-ftp.el (ange-ftp-message):
14763         * lisp/net/gnutls.el (gnutls-message-maybe):
14764         * lisp/net/newst-backend.el (newsticker--sentinel-work):
14765         * lisp/net/newst-treeview.el (newsticker--treeview-load):
14766         * lisp/net/nsm.el (nsm-query-user):
14767         * lisp/net/rlogin.el (rlogin):
14768         * lisp/net/soap-client.el (soap-warning):
14769         * lisp/net/tramp.el (tramp-debug-message):
14770         * lisp/nxml/nxml-outln.el (nxml-report-outline-error):
14771         * lisp/nxml/nxml-parse.el (nxml-parse-error):
14772         * lisp/nxml/rng-cmpct.el (rng-c-error):
14773         * lisp/nxml/rng-match.el (rng-compile-error):
14774         * lisp/nxml/rng-uri.el (rng-uri-error):
14775         * lisp/obsolete/iswitchb.el (iswitchb-possible-new-buffer):
14776         * lisp/org/org-ctags.el:
14777         (org-ctags-ask-rebuild-tags-file-then-find-tag):
14778         * lisp/proced.el (proced-log):
14779         * lisp/progmodes/ebnf2ps.el (ebnf-log):
14780         * lisp/progmodes/flymake.el (flymake-log):
14781         * lisp/progmodes/vhdl-mode.el (vhdl-warning-when-idle):
14782         * lisp/replace.el (occur-1):
14783         * lisp/simple.el (execute-extended-command)
14784         (undo-outer-limit-truncate, define-alternatives):
14785         * lisp/startup.el (command-line):
14786         * lisp/subr.el (error, user-error, add-to-list):
14787         * lisp/tutorial.el (tutorial--describe-nonstandard-key)
14788         (tutorial--find-changed-keys):
14789         * src/callint.c (Fcall_interactively):
14790         * src/editfns.c (Fmessage, Fmessage_box):
14791         Restyle the quotes of format strings intended for use as a
14792         diagnostic, when restyling seems appropriate.
14793         * lisp/subr.el (format-message): New function.
14794         * src/doc.c (Finternal__text_restyle): New function.
14795         (syms_of_doc): Define it.
14797 2015-08-23  Paul Eggert  <eggert@cs.ucla.edu>
14799         * etc/NEWS: The new ‘q’ flag is not an incompatible change.
14801 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
14803         python.el: Fix python-shell-buffer-substring on indented code
14804         (Bug#21086)
14805         * lisp/progmodes/python.el (python-shell-buffer-substring):
14806         Respect current line indentation when calculating string.
14807         * test/automated/python-tests.el
14808         (python-shell-buffer-substring-10)
14809         (python-shell-buffer-substring-11)
14810         (python-shell-buffer-substring-12): New tests.
14812 2015-08-23  Paul Eggert  <eggert@cs.ucla.edu>
14814         Fix minor glitches from ‘format’ reversion
14815         * doc/lispref/strings.texi (Formatting Strings):
14816         After reversion, ‘text-quoting-style’ is documented in ‘Keys in
14817         Documentation’, not below.
14818         * src/syntax.c (Finternal_describe_syntax_value):
14819         Prefer AUTO_STRING to build_string where either will do, as
14820         AUTO_STRING is a bit faster.
14822 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
14824         python.el: Defer shell setup code until first interactive prompt
14825         * lisp/progmodes/python.el
14826         (python-shell-comint-watch-for-first-prompt-output-filter):
14827         New function.
14828         (inferior-python-mode): Use it.
14829         (python-shell-first-prompt-hook): New hook.
14830         (python-shell-send-setup-code)
14831         (python-shell-completion-native-turn-on-maybe-with-msg): Attach to
14832         this hook instead of inferior-python-hook.
14834 2015-08-23  Nicolas Petton  <nicolas@petton.fr>
14836         Remove the calls to `seq-into` from `seq-concatenate`
14837         Since most new types of seq would have to be defined as sequences (cons
14838         cells or CL structs, mostly), there is no need to convert the seqs to
14839         sequences (which can be a fairly expensive operation).
14840         * lisp/emacs-lisp/seq.el (seq-concatenate): Do not ensure that seqs are
14841         sequences.
14843 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
14845         python.el: Fix completion for pdb interactions
14846         * lisp/progmodes/python.el (python-shell-completion-setup-code):
14847         Simplify.  Toggle print_mode for native wrapped completer.
14848         (python-shell-completion-native-setup): Ensure process buffer.
14849         Add print_mode attribute to completer wrapper to toggle returning
14850         or printing candidates.
14851         (python-shell-completion-native-get-completions): Cleanup.
14852         (python-shell-completion-get-completions): Cleanup.
14853         (python-shell-completion-at-point): Perform prompt checks.
14854         Force fallback completion in pdb interactions.
14856 2015-08-23  Nicolas Petton  <nicolas@petton.fr>
14858         Make seq.el more extensible by using cl-defmethod
14859         * lisp/emacs-lisp/seq.el: Define seq.el functions using cl-defmethod to
14860         make it easier to extend seq.el with new "seq types".
14861         * test/automated/seq-tests.el (test-setf-seq-elt): New test.
14862         * lisp/emacs-lisp/cl-extra.el (cl-subseq): Move back the definition of
14863         subseq in cl-extra.el, and use it in seq.el.
14865 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
14867         python.el: Fix prompt detection with user overridden interpreter
14868         * lisp/progmodes/python.el (python-shell-prompt-detect):
14869         Honor buffer local python-shell-interpreter and
14870         python-shell-interpreter-interactive-arg.
14872 2015-08-23  Eli Zaretskii  <eliz@gnu.org>
14874         Support exec-directory with non-ASCII characters on Windows
14875         * src/w32proc.c (sys_spawnve): Make sure exec-directory is encoded
14876         in the system's ANSI codepage, when it is used for invoking
14877         cmdproxy.
14879 2015-08-23  Andreas Schwab  <schwab@linux-m68k.org>
14881         Revert "Extend ‘format’ to translate curved quotes"
14882         This reverts commit 244c801689d2f7a80480d83cd7d092d4762ebe08.
14884         Revert "Prefer ‘format’ to ‘substitute-command-keys’"
14885         This reverts commit 6af5aad26411ffe21c3fe4bc5438347110910111.
14887 2015-08-23  Xue Fuqiao  <xfq.free@gmail.com>
14889         * doc/lispintro/emacs-lisp-intro.texi (Switching Buffers):
14890         Clarify "invisible window".
14892 2015-08-23  Xue Fuqiao  <xfq.free@gmail.com>
14894         * doc/emacs/modes.texi (Choosing Modes): Minor doc fix for
14895         magic-fallback-mode-alist.
14897 2015-08-22  Fabián Ezequiel Gallina  <fgallina@gnu.org>
14899         python.el: fallback completion, ffap and eldoc setup enhancements
14900         Setup codes are now sent continuously so that the current frame is
14901         always taken into account.  This allows working within debuggers
14902         and always keeping a fresh version of setup codes that will return
14903         proper results.
14904         * lisp/progmodes/python.el (python-shell-setup-codes): Cleanup.
14905         (python-shell-send-setup-code): Send code only when
14906         python-shell-setup-codes is non-nil.
14907         (python-shell-completion-string-code): Cleanup trailing newline.
14908         (python-shell-completion-get-completions): Always use
14909         python-shell-completion-setup-code.
14910         (python-ffap-setup-code): Work with any object, not only modules.
14911         (python-ffap-string-code): Cleanup trailing newline.
14912         (python-ffap-module-path): Always use python-ffap-setup-code.
14913         (python-eldoc-string-code): Cleanup trailing newline.
14914         (python-eldoc--get-doc-at-point): Always use
14915         python-eldoc-setup-code.  Return non-nil only if docstring is
14916         found.
14918         python.el: Increase native completion robustness
14919         * lisp/progmodes/python.el (python-shell-completion-native-setup):
14920         Make completer print real candidates and just return dummy ones to
14921         avoid input modification.
14922         (python-shell-completion-native-get-completions): Set
14923         comint-redirect-insert-matching-regexp to non-nil and make
14924         comint-redirect-finished-regexp match the last dummy candidate.
14925         Use python-shell-accept-process-output to wait for the full list
14926         of candidates.
14928 2015-08-22  Eli Zaretskii  <eliz@gnu.org>
14930         Fix invocation of programs via cmdproxy.exe
14931         * src/w32proc.c (sys_spawnve): Use exec-directory, not
14932         invocation-directory, for finding cmdproxy.exe.  When Emacs is
14933         run from the source tree, look for cmdproxy.exe in the same source
14934         tree.  (Bug#21323)
14936 2015-08-22  Simen Heggestøyl  <simenheg@gmail.com>
14938         Handle comments inside unquoted URIs in css-mode
14939         * lisp/textmodes/css-mode.el (css--uri-re): New defconst.
14940         (css-syntax-propertize-function): New defconst.
14941         (css--font-lock-keywords): Handle parens around unquoted URIs.
14942         (css-mode): Set `syntax-propertize-function'.
14944 2015-08-22  Eli Zaretskii  <eliz@gnu.org>
14946         Support invocation of Hunspell with multiple dictionaries
14947         * lisp/textmodes/ispell.el (ispell-parse-hunspell-affix-file):
14948         Support lists of dictionaries of the form "DICT1,DICT2,...".
14949         (ispell-hunspell-add-multi-dic): New command.  (Bug#20495)
14951         Minor formatting changes in ispell.el
14952         * lisp/textmodes/ispell.el (ispell-create-debug-buffer)
14953         (ispell-print-if-debug, ispell-aspell-find-dictionary)
14954         (ispell-aspell-add-aliases, ispell-hunspell-dict-paths-alist)
14955         (ispell-hunspell-dictionary-alist)
14956         (ispell-hunspell-fill-dictionary-entry)
14957         (ispell-find-hunspell-dictionaries, ispell-send-replacement)
14958         (ispell-buffer-with-debug, ispell-complete-word)
14959         (ispell-current-dictionary, ispell-current-personal-dictionary)
14960         (ispell-accept-output, ispell-minor-mode)
14961         (ispell-personal-dictionary, ispell-dictionary-alist)
14962         (ispell-really-aspell, ispell-really-hunspell)
14963         (ispell-encoding8-command, ispell-aspell-supports-utf8)
14964         (ispell-aspell-dictionary-alist, ispell-set-spellchecker-params):
14965         Fix whitespace, inconsistent capitalization, and arguments in doc
14966         strings.
14968 2015-08-22  Martin Rudalics  <rudalics@gmx.at>
14970         * lisp/window.el (adjust-window-trailing-edge): Fix bug where this
14971         function refused to resize a size-preserved window.
14973 2015-08-22  Eli Zaretskii  <eliz@gnu.org>
14975         * doc/lispref/windows.texi (Selecting Windows): Improve
14976         documentation and indexing of 'window-use-time'.
14978 2015-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
14980         * lisp/progmodes/cc-vars.el, lisp/progmodes/cc-styles.el:
14981         * lisp/progmodes/cc-mode.el, lisp/progmodes/cc-menus.el:
14982         * lisp/progmodes/cc-langs.el, lisp/progmodes/cc-guess.el:
14983         * lisp/progmodes/cc-fonts.el, lisp/progmodes/cc-engine.el:
14984         * lisp/progmodes/cc-defs.el, lisp/progmodes/cc-cmds.el:
14985         * lisp/progmodes/cc-bytecomp.el, lisp/progmodes/cc-awk.el:
14986         * lisp/progmodes/cc-align.el, lisp/net/soap-client.el:
14987         Fix up commenting style.
14989 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
14991         text-quoting-style in emacs-lisp diagnostics
14992         * lisp/emacs-lisp/advice.el (ad-read-advised-function)
14993         (ad-read-advice-class, ad-read-advice-name, ad-enable-advice)
14994         (ad-disable-advice, ad-remove-advice, ad-set-argument)
14995         (ad-set-arguments):
14996         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand)
14997         (byte-compile-unfold-lambda, byte-optimize-form-code-walker)
14998         (byte-optimize-while, byte-optimize-apply):
14999         * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode)
15000         (byte-compile-log-file, byte-compile-format-warn)
15001         (byte-compile-nogroup-warn, byte-compile-arglist-warn)
15002         (byte-compile-cl-warn)
15003         (byte-compile-warn-about-unresolved-functions)
15004         (byte-compile-file, byte-compile-fix-header)
15005         (byte-compile--declare-var, byte-compile-file-form-defmumble)
15006         (byte-compile-form, byte-compile-normal-call)
15007         (byte-compile-variable-ref, byte-compile-variable-set)
15008         (byte-compile-subr-wrong-args, byte-compile-setq-default)
15009         (byte-compile-negation-optimizer)
15010         (byte-compile-condition-case--old)
15011         (byte-compile-condition-case--new, byte-compile-save-excursion)
15012         (byte-compile-defvar, byte-compile-autoload)
15013         (byte-compile-lambda-form)
15014         (byte-compile-make-variable-buffer-local, display-call-tree)
15015         (batch-byte-compile):
15016         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use)
15017         (cconv-analyze-form):
15018         * lisp/emacs-lisp/chart.el (chart-space-usage):
15019         * lisp/emacs-lisp/check-declare.el (check-declare-scan)
15020         (check-declare-warn, check-declare-file)
15021         (check-declare-directory):
15022         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
15023         (checkdoc-message-text-engine):
15024         * lisp/emacs-lisp/cl-extra.el (cl-parse-integer):
15025         * lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause, cl-tagbody)
15026         (cl-symbol-macrolet):
15027         * lisp/emacs-lisp/cl.el (cl-unload-function, flet):
15028         * lisp/emacs-lisp/copyright.el (copyright)
15029         (copyright-update-directory):
15030         * lisp/emacs-lisp/edebug.el (edebug-read-list):
15031         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-read):
15032         * lisp/emacs-lisp/eieio-core.el (eieio--slot-override)
15033         (eieio-oref, eieio-oset-default):
15034         * lisp/emacs-lisp/eieio-speedbar.el:
15035         (eieio-speedbar-child-make-tag-lines)
15036         (eieio-speedbar-child-description):
15037         * lisp/emacs-lisp/eieio.el (defclass, change-class):
15038         * lisp/emacs-lisp/elint.el (elint-file, elint-get-top-forms)
15039         (elint-init-form, elint-check-defalias-form)
15040         (elint-check-let-form):
15041         * lisp/emacs-lisp/ert.el (ert-get-test):
15042         * lisp/emacs-lisp/find-func.el (find-function-search-for-symbol)
15043         (find-function-library):
15044         * lisp/emacs-lisp/generator.el (iter-yield):
15045         * lisp/emacs-lisp/gv.el (gv-define-simple-setter):
15046         * lisp/emacs-lisp/lisp-mnt.el (lm-verify):
15047         * lisp/emacs-lisp/package-x.el (package-upload-file):
15048         * lisp/emacs-lisp/package.el (package-version-join)
15049         (package-disabled-p, package-activate-1, package-activate)
15050         (package--download-one-archive)
15051         (package--download-and-read-archives)
15052         (package-compute-transaction, package-install-from-archive)
15053         (package-install, package-install-selected-packages)
15054         (package-delete, package-autoremove)
15055         (package-install-button-action, package-delete-button-action)
15056         (package-menu-hide-package, package-menu--list-to-prompt)
15057         (package-menu--perform-transaction)
15058         (package-menu--find-and-notify-upgrades):
15059         * lisp/emacs-lisp/pcase.el (pcase-exhaustive, pcase--u1):
15060         * lisp/emacs-lisp/re-builder.el (reb-enter-subexp-mode):
15061         * lisp/emacs-lisp/ring.el (ring-next, ring-previous):
15062         * lisp/emacs-lisp/rx.el (rx-check, rx-anything):
15063         * lisp/emacs-lisp/smie.el (smie-config-save):
15064         * lisp/emacs-lisp/subr-x.el (internal--check-binding):
15065         * lisp/emacs-lisp/testcover.el (testcover-1value):
15066         Use curved quotes in diagnostic format strings.
15068 2015-08-21  Fabián Ezequiel Gallina  <fgallina@gnu.org>
15070         python.el: Ensure remote process-environment on non-interactive processes
15071         * lisp/progmodes/python.el
15072         (python-shell-tramp-refresh-process-environment): New function.
15073         (python-shell-with-environment): Use it.
15074         * test/automated/python-tests.el (python-shell-with-environment-2):
15075         Update.
15077         python.el: Enhancements to process environment setup.
15078         * lisp/progmodes/python.el (python-shell-process-environment)
15079         (python-shell-extra-pythonpaths, python-shell-exec-path)
15080         (python-shell-virtualenv-root): Update docstring.  Remove :safe.
15081         (python-shell-setup-codes): Remove :safe.
15082         (python-shell-remote-exec-path): New defcustom.
15083         (python-shell--add-to-path-with-priority): New macro.
15084         (python-shell-calculate-pythonpath): Give priority to
15085         python-shell-extra-pythonpaths.  Update docstring.
15086         (python-shell-calculate-process-environment): Give priority to
15087         python-shell-process-environment.  Update docstring.
15088         (python-shell-calculate-exec-path): Give priority to
15089         python-shell-exec-path and calculated virtualenv bin directory.
15090         Update docstring.
15091         (python-shell-tramp-refresh-remote-path): New function.
15092         (python-shell-with-environment): Use it when working remotely and
15093         do not modify tramp-remote-path.  Allow nesting.
15094         (python-shell-calculate-command): Remove useless
15095         python-shell-with-environment call.
15096         * test/automated/python-tests.el (python-shell-calculate-pythonpath-1)
15097         (python-shell-calculate-pythonpath-2)
15098         (python-shell-calculate-process-environment-6)
15099         (python-shell-calculate-process-environment-7)
15100         (python-shell-calculate-process-environment-8)
15101         (python-shell-calculate-exec-path-3)
15102         (python-shell-calculate-exec-path-4)
15103         (python-shell-calculate-exec-path-5)
15104         (python-shell-calculate-exec-path-6)
15105         (python-shell-with-environment-3): New tests.
15106         (python-shell-calculate-process-environment-2)
15107         (python-shell-calculate-process-environment-3)
15108         (python-shell-calculate-process-environment-4)
15109         (python-shell-calculate-process-environment-5)
15110         (python-shell-calculate-exec-path-1)
15111         (python-shell-calculate-exec-path-2)
15112         (python-shell-with-environment-1)
15113         (python-shell-with-environment-2): Update and simplify.
15115 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
15117         Avoid hard-coding "M-x command" in docstrings
15118         * lisp/calendar/todo-mode.el (todo-mode):
15119         * lisp/desktop.el (desktop-save-mode):
15120         * lisp/edmacro.el (edit-kbd-macro):
15121         * lisp/emacs-lisp/package.el (package-menu-execute):
15122         * lisp/emulation/viper-cmd.el (viper-ask-level):
15123         * lisp/emulation/viper-init.el (viper-expert-level):
15124         * lisp/filesets.el (filesets-add-buffer):
15125         * lisp/follow.el (follow-mode):
15126         * lisp/gnus/auth-source.el (auth-sources):
15127         * lisp/international/ogonek.el (ogonek-informacja)
15128         (ogonek-information):
15129         * lisp/net/tramp.el (tramp-process-actions):
15130         * lisp/org/org-gnus.el (org-gnus-no-new-news):
15131         * lisp/org/org.el (org-ellipsis):
15132         * lisp/progmodes/python.el (python-shell-get-process-or-error):
15133         * lisp/progmodes/vhdl-mode.el (vhdl-mode):
15134         * lisp/server.el (server-start):
15135         * lisp/type-break.el (type-break-noninteractive-query):
15136         * lisp/userlock.el (ask-user-about-supersession-help):
15137         * lisp/whitespace.el (whitespace-report-region):
15138         Prefer (substitute-command-keys "`\\[foo-command]'")
15139         to "`M-x foo-command'" in docstrings and the like.
15141 2015-08-21  Tassilo Horn  <tsdh@gnu.org>
15143         Use add-function for prettify-symbols-compose-predicate
15144         * lisp/textmodes/tex-mode.el (tex-common-initialization): Set
15145         prettify-symbols-compose-predicate in terms of add-function.
15146         * etc/NEWS: Mention prettify-symbols-compose-predicate and
15147         prettify-symbols-mode support in tex-mode.
15149 2015-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
15151         * lisp/emacs-lisp/smie.el (smie-indent-current-column): New fun.
15152         (smie-indent-exps, smie-indent-keyword): Use it.
15153         * test/indent/css-mode.css: Test alignment with leading comment.
15155 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
15157         Respect text-quoting-style in (*Finder*) menus
15158         * lisp/info.el (info--prettify-description):
15159         Treat description as a docstring, so that it's requoted as
15160         per text-quoting-style.
15162 2015-08-21  Martin Rudalics  <rudalics@gmx.at>
15164         Document `window-use-time' in Elisp manual
15165         * doc/lispref/windows.texi (Selecting Windows): Document
15166         `window-use-time'.
15168 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
15170         * src/w32uniscribe.c (_WIN32_WINNT): Define to 0x0600.
15171         This is a cleaner fix for Bug#21260 than the previous change.
15173 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
15175         Respect text-quoting-style in calc
15176         In calc, tespect text-quoting-style preference in diagnostic
15177         formats and fix a few similar problems in docstrings.
15178         * lisp/calc/calc-aent.el (math-read-factor):
15179         * lisp/calc/calc-embed.el (calc-do-embedded):
15180         * lisp/calc/calc-ext.el (calc-user-function-list)
15181         * lisp/calc/calc-graph.el (calc-graph-show-dumb):
15182         * lisp/calc/calc-help.el (calc-describe-key)
15183         (calc-describe-thing):
15184         * lisp/calc/calc-lang.el (calc-c-language)
15185         (math-parse-fortran-vector-end, math-parse-tex-sum)
15186         (math-parse-eqn-matrix, math-parse-eqn-prime)
15187         (calc-yacas-language, calc-maxima-language, calc-giac-language)
15188         (math-read-big-rec, math-read-big-balance):
15189         * lisp/calc/calc-mode.el (calc-auto-why, calc-save-modes)
15190         (calc-auto-recompute):
15191         * lisp/calc/calc-prog.el (calc-user-define-invocation)
15192         (math-do-arg-check):
15193         * lisp/calc/calc-store.el (calc-edit-variable):
15194         * lisp/calc/calc-units.el (math-build-units-table-buffer):
15195         * lisp/calc/calc-vec.el (math-read-brackets):
15196         * lisp/calc/calc-yank.el (calc-edit-mode):
15197         * lisp/calc/calc.el (calc, calc-do, calc-user-invocation):
15198         Use curved quotes in diagnostic format strings.
15199         * lisp/calc/calc-help.el (calc-describe-thing):
15200         Format docstrings with substitute-command-keys.
15201         * lisp/calc/calc-help.el (calc-j-prefix-help):
15202         * lisp/calc/calc-misc.el (calc-help):
15203         * lisp/calc/calc-ext.el (calc-shift-Z-prefix-help):
15204         Escape a docstring "`".
15206 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
15208         Fix documentation of 'menu-set-font' and 'set-frame-font'
15209         * lisp/menu-bar.el (menu-set-font): Doc fix.  (Bug#21303)
15210         * doc/lispref/frames.texi (Frame Font): Document that
15211         set-frame-font with the last argument 't' will also make the font
15212         the default for the future GUI frames.
15214         Document '--create-frame' option to emacsclient
15215         * doc/emacs/misc.texi (emacsclient Options): Document the
15216         '--create-frame' option.  (Bug#21308)
15218 2015-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
15220         * lisp/progmodes/js.el (js-mode): Don't eagerly syntax propertize.
15222 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
15224         Document 'get-mru-window' in the ELisp manual
15225         * doc/lispref/windows.texi (Cyclic Window Ordering): Document
15226         'get-mru-window'.  (Bug#21306)
15228         Clarify documentation of 'get-buffer-window-list'
15229         * doc/lispref/windows.texi (Buffers and Windows): Mention that the
15230         current window, if relevant, will be the first in the list
15231         returned by 'get-buffer-window-list'.
15232         * lisp/window.el (get-buffer-window-list): Doc fix.  (Bug#21305)
15234 2015-08-21  Vasilij Schneidermann  <v.schneidermann@gmail.com>
15236         In `ielm' use `pop-to-buffer-same-window' (Bug#20848)
15237         * lisp/ielm.el (ielm): Use `pop-to-buffer-same-window' instead of
15238         `switch-to-buffer'.
15240 2015-08-21  Kaushal Modi  <kaushal.modi@gmail.com>  (tiny change)
15242         In woman.el use `display-buffer' instead of `switch-to-buffer' (Bug#21047)
15243         * lisp/woman.el (woman-really-find-file, WoMan-find-buffer): Use
15244         `display-buffer' instead of `switch-to-buffer'.
15246 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
15248         Follow user preference in calendar diagnostics
15249         Respect text-quoting-style preference in diagnostic formats by
15250         using curved quotes (which are translated as per text-quoting-style)
15251         instead of grave accent and apostrophe (which are not).
15252         * lisp/calendar/appt.el (appt-display-message):
15253         * lisp/calendar/diary-lib.el (diary-check-diary-file)
15254         (diary-mail-entries, diary-from-outlook):
15255         * lisp/calendar/icalendar.el (icalendar-export-region)
15256         (icalendar--convert-float-to-ical)
15257         (icalendar--convert-date-to-ical)
15258         (icalendar--convert-ical-to-diary)
15259         (icalendar--convert-recurring-to-diary)
15260         (icalendar--add-diary-entry):
15261         * lisp/calendar/time-date.el (format-seconds):
15262         * lisp/calendar/timeclock.el (timeclock-mode-line-display)
15263         (timeclock-make-hours-explicit):
15264         * lisp/calendar/todo-mode.el (todo-prefix, todo-delete-category)
15265         (todo-item-mark, todo-check-format)
15266         (todo-insert-item--next-param, todo-edit-item--next-key)
15267         (todo-mode):
15268         Use curved quotes in diagnostic format strings.
15269         * lisp/calendar/icalendar.el (icalendar-import-format-sample):
15270         * test/automated/icalendar-tests.el (icalendar--import-format-sample):
15271         Just use straight quoting for simple test case.
15273 2015-08-21  Michael Albinus  <michael.albinus@gmx.de>
15275         * src/gfilenotify.c (Fgfile_add_watch):
15276         Handle errors from g_file_monitor.
15278 2015-08-21  Martin Rudalics  <rudalics@gmx.at>
15280         In frames.texi use "minibuffer-less frame" instead of "non-minibuffer frame"
15281         * doc/lispref/frames.texi (Frame Layout): Use "minibuffer-less
15282         frame" instead of "non-minibuffer frame".
15284         Fix frame geometry related text
15285         * doc/lispref/frames.texi (Frame Layout):
15286         Rename `x-frame-geometry' to `frame-geometry'.
15287         * doc/lispref/frames.texi (Mouse Position):
15288         * doc/lispref/windows.texi (Coordinates and Windows):
15289         Use `set-mouse-absolute-pixel-position' instead of
15290         `x-set-mouse-absolute-pixel-position'.
15292         Sanitize frame geometry related functions
15293         * src/nsfns.m (Fx_frame_geometry): Rename to Fns_frame_geometry.
15294         (Fx_frame_edges): Rename to Fns_frame_edges.
15295         * src/w32fns.c (Fx_frame_geometry): Rename to Fw32_frame_geometry.
15296         (Fx_frame_edges): Rename to Fw32_frame_edges.
15297         (Fx_mouse_absolute_pixel_position): Rename to
15298         Fw32_mouse_absolute_pixel_position.
15299         (Fx_set_mouse_absolute_pixel_position): Rename to
15300         Fw32_set_mouse_absolute_pixel_position.
15301         * lisp/frame.el (x-frame-geometry, w32-frame-geometry)
15302         (ns-frame-geometry, x-frame-edges, w32-frame-edges)
15303         (ns-frame-edges, w32-mouse-absolute-pixel-position)
15304         (x-mouse-absolute-pixel-position)
15305         (w32-set-mouse-absolute-pixel-position)
15306         (x-set-mouse-absolute-pixel-position): Declare.
15307         (frame-geometry, mouse-absolute-pixel-position)
15308         (set-mouse-absolute-pixel-position): New functions.
15309         (frame-edges): Rewrite in terms of x-/w32-/ns-frame-edges.
15311 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
15313         Fix MinGW64 build broken by latest w32uniscribe.c changes
15314         * src/w32uniscribe.c (UNISCRIBE_OPENTYPE): Define to 0x0100, for
15315         MinGW64.  Reported by Andy Moreton <andrewjmoreton@gmail.com>.
15316         (Bug#21260)
15318 2015-08-21  Tassilo Horn  <tsdh@gnu.org>
15320         Add TeX defaults for prettify-symbol-mode
15321         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist):
15322         Rename from tex-prettify-symbols-alist.
15323         (tex--prettify-symbols-compose-p): New function.
15324         (tex-common-initialization): Use them as prettify-symbols-alist
15325         and prettify-symbols-compose-predicate.
15327         Generalize prettify-symbols to arbitrary modes
15328         * lisp/progmodes/prog-mode.el
15329         (prettify-symbols-default-compose-p): New function.
15330         (prettify-symbols-compose-predicate): New variable.
15331         (prettify-symbols--compose-symbol): Use it.
15333 2015-08-20  Paul Eggert  <eggert@cs.ucla.edu>
15335         Don't quote symbols 'like-this' in docstrings etc.
15336         * admin/unidata/uvs.el (uvs-insert-fields-as-bytes):
15337         * lisp/allout-widgets.el (allout-widgets-count-buttons-in-region):
15338         * lisp/allout.el (allout-add-resumptions, allout-mode):
15339         * lisp/calculator.el (calculator-operators):
15340         * lisp/cedet/data-debug.el (dd-propertize):
15341         * lisp/cedet/ede/proj-prog.el (ede-proj-target-makefile-program):
15342         * lisp/cedet/semantic/analyze/debug.el:
15343         (semantic-analyzer-debug-global-miss-text):
15344         * lisp/cedet/semantic/lex-spp.el:
15345         (semantic-lex-spp-replace-or-symbol-or-keyword):
15346         * lisp/cedet/semantic/symref.el:
15347         (semantic-symref-cleanup-recent-buffers-fcn):
15348         * lisp/cedet/semantic/tag.el (semantic-tag-class):
15349         * lisp/cedet/srecode/el.el (srecode-semantic-handle-:el-custom):
15350         * lisp/gnus/nnmairix.el (nnmairix-propagate-marks-upon-close):
15351         * lisp/gnus/pop3.el (pop3-authentication-scheme):
15352         * lisp/help-fns.el (describe-function-orig-buffer):
15353         * lisp/imenu.el (imenu--history-list):
15354         * lisp/mail/feedmail.el (feedmail-confirm-outgoing)
15355         (feedmail-display-full-frame, feedmail-deduce-bcc-where)
15356         (feedmail-queue-default-file-slug)
15357         (feedmail-queue-buffer-file-name):
15358         * lisp/net/mairix.el (mairix-searches-mode-map):
15359         * lisp/net/newst-backend.el (newsticker-retrieval-method)
15360         (newsticker-auto-mark-filter-list):
15361         * lisp/obsolete/vi.el (vi-mode):
15362         * lisp/progmodes/cc-engine.el (c-literal-type):
15363         * lisp/progmodes/cpp.el (cpp-face):
15364         * lisp/progmodes/ebrowse.el (ebrowse-electric-list-looper):
15365         * lisp/progmodes/elisp-mode.el (elisp--xref-make-xref):
15366         * lisp/progmodes/pascal.el (pascal-auto-lineup):
15367         * lisp/progmodes/prog-mode.el (prog-widen):
15368         * lisp/progmodes/verilog-mode.el (verilog-regexp-words)
15369         (verilog-auto-lineup, verilog-auto-reset-widths)
15370         (verilog-auto-arg-format, verilog-auto-inst-template-numbers):
15371         * lisp/textmodes/flyspell.el (flyspell-maybe-correct-transposition)
15372         (flyspell-maybe-correct-doubling):
15373         * lisp/textmodes/table.el (table-justify, table-justify-cell)
15374         (table-justify-row, table-justify-column, table-insert-sequence)
15375         (table--justify-cell-contents):
15376         * lisp/url/url-auth.el (url-get-authentication):
15377         * lisp/window.el (display-buffer-record-window):
15378         * lisp/xml.el (xml-parse-file, xml-parse-region):
15379         * src/gfilenotify.c (Fgfile_add_watch):
15380         Don't quote symbols with apostrophes in doc strings.
15381         Use asymmetric quotes instead.
15382         * lisp/cedet/semantic/complete.el (semantic-displayor-show-request):
15383         Likewise for symbol in diagnostic.
15384         * lisp/image.el (image-extension-data):
15385         * lisp/register.el (frame-configuration-to-register):
15386         * src/buffer.c (syms_of_buffer):
15387         Remove bogus apostrophes after symbols.
15388         * lisp/thumbs.el (thumbs-conversion-program):
15389         Quote Lisp string values using double-quotes, not apostrophes.
15391 2015-08-20  Martin Rudalics  <rudalics@gmx.at>
15393         Describe frame geometry and related functions in Elisp manual
15394         * doc/lispref/display.texi (Size of Displayed Text, Line Height)
15395         (Showing Images): Update references.
15396         * doc/lispref/elisp.texi (Top): Update node listing.
15397         * doc/lispref/frames.texi (Frame Geometry): New node.
15398         Move `Size and Position' section here.
15399         (Size Parameters): Update references.
15400         (Mouse Position): Update references and nomenclature.
15401         Describe new functions `x-mouse-absolute-pixel-position' and
15402         `x-set-mouse-absolute-pixel-position'.
15403         * doc/lispref/windows.texi (Window Sizes): Update references.
15404         (Resizing Windows): Update references.  Move description of
15405         `fit-frame-to-buffer' here.
15406         (Coordinates and Windows): Update nomenclature and references.
15407         Describe new arguments of `window-edges'.  Comment out
15408         descriptions of `window-left-column', `window-top-line',
15409         `window-pixel-left' and `window-pixel-top'.  Describe
15410         `window-absolute-pixel-position'.
15412 2015-08-20  Alan Mackenzie  <acm@muc.de>
15414         Handling of `c-parse-state'.  Fix low level bug.
15415         * lisp/progmodes/cc-engine.el (c-remove-stale-state-cache-backwards):
15416         Add "CASE 3.5" to handle `cache-pos' being only slightly before `here'.
15418 2015-08-20  Andreas Politz  <politza@hochschule-trier.de>
15420         * lisp/wid-edit.el (widget-color--choose-action): Quit *Color*
15421         window instead of deleting it.
15423 2015-08-20  Martin Rudalics  <rudalics@gmx.at>
15425         In w32fns.c's Fx_frame_geometry rewrite check whether frame has a titlebar
15426         * src/w32fns.c (Fx_frame_geometry): Use title_bar.rgstate[0] to
15427         determine whether frame has a titlebar.
15428         Suggested by Eli Zaretskii <eliz@gnu.org>
15430 2015-08-20  Tassilo Horn  <tsdh@gnu.org>
15432         Add a prettify-symbols-alist for (La)TeX
15433         * lisp/textmodes/tex-mode.el (tex-prettify-symbols-alist):
15434         New variable holding an alist suitable as prettify-symbols-alist in
15435         (La)TeX modes.
15437 2015-08-19  Alan Mackenzie  <acm@muc.de>
15439         Make electric-pair-mode, delete-selection-mode and CC Mode cooperate.
15440         Fixes debbugs#21275.
15441         In Emacs >= 25, let electric-pair-mode take precedence over
15442         delete-selection-mode.
15443         * lisp/delsel.el (delete-selection-uses-region-p): New function,
15444         previously a lambda expression in a property value for
15445         `self-insert-command'.
15446         (top-level): Set the `delete-selection' property of
15447         `self-insert-command' to `delete-selection-uses-region-p'.
15448         * lisp/progmodes/cc-cmds.el (top-level): Give the `delete-selection'
15449         property for c-electric-\(brace\|paren\) the value
15450         `delete-selection-uses-region-p' when the latter function exists.
15452 2015-08-19  Paul Eggert  <eggert@cs.ucla.edu>
15454         Fix key binding quoting in tutorial *Help*
15455         * lisp/tutorial.el (tutorial--describe-nonstandard-key):
15456         When generating help for custom key bindings, use the user-preferred
15457         quoting style rather than hardcoding the grave style.
15459 2015-08-19  Eli Zaretskii  <eliz@gnu.org>
15461         Improve and future-proof OTF fonts support in w32uniscribe.c
15462         * src/w32uniscribe.c (uniscribe_otf_capability): Add commentary
15463         about the expected results and why the new Uniscribe APIs are not
15464         used in this function.
15465         (ScriptGetFontScriptTags_Proc, ScriptGetFontLanguageTags_Proc)
15466         (ScriptGetFontFeatureTags_Proc): New function typedefs.
15467         (uniscribe_new_apis): New static variable.
15468         (uniscribe_check_features): New function, implements OTF features
15469         verification while correctly accounting for features in the list
15470         after the nil member, if any.
15471         (uniscribe_check_otf_1): New function, retrieves the features
15472         supported by the font for the requested script and language using
15473         the Uniscribe APIs available from Windows Vista onwards.
15474         (uniscribe_check_otf): If the new Uniscribe APIs are available,
15475         use them in preference to reading the font data directly.  Call
15476         uniscribe_check_features to verify that the requested features are
15477         supported, replacing the original incomplete code.
15478         (syms_of_w32uniscribe): Initialize function pointers for the new
15479         Uniscribe APIs.  (Bug#21260)
15480         (otf_features): Scan the script, langsys, and feature arrays back
15481         to front, so that the result we return has them in alphabetical
15482         order, like ftfont.c does.
15483         * src/w32fns.c (syms_of_w32fns) <w32-disable-new-uniscribe-apis>:
15484         New variable for debugging w32uniscribe.c code.
15486 2015-08-19  Artur Malabarba  <bruce.connor.am@gmail.com>
15488         * lisp/isearch.el (isearch-search-fun-default): Revert a5bdb87
15489         Remove usage of `isearch-lax-whitespace' inside the `iearch-word'
15490         clause of `isearch-search-fun-default'.  That lax variable does not
15491         refer to lax-whitespacing.  Related to (bug#21777).
15492         This reverts commit a5bdb872edb9f031fe041faf9a8c0be432e5f64c.
15493         * lisp/character-fold.el (character-fold-search): Set to nil.
15494         Default to nil for now, until someone implements proper
15495         lax-whitespacing with char-fold searching.
15497 2015-08-19  Martin Rudalics  <rudalics@gmx.at>
15499         Fix doc-string of `help-mode-finish'.
15500         * lisp/help-mode.el (help-mode-finish): Fix doc-string.
15502         In nsimage.m include coding.h (Bug#21292)
15503         * src/nsimage.m (top-level): Include coding.h (Bug#21292).
15505         Move window edge functions to Elisp.
15506         * src/window.c (Fwindow_edges, Fwindow_pixel_edges)
15507         (Fwindow_absolute_pixel_edges, Fwindow_inside_edges)
15508         (Fwindow_inside_pixel_edges, Fwindow_inside_absolute_pixel_edges):
15509         Move to window.el.
15510         (calc_absolute_offset): Remove.
15511         * lisp/frame.el (frame-edges): New function.
15512         * lisp/window.el (window-edges, window-pixel-edges)
15513         (window-absolute-pixel-edges): Move here from window.c.
15514         (window-body-edges, window-body-pixel-edges)
15515         (window-absolute-body-pixel-edges): Move here from window.c and
15516         rename "inside" to "body".  Keep old names as aliases.
15517         (window-absolute-pixel-position): New function.
15519 2015-08-19  Katsumi Yamaoka  <yamaoka@jpl.org>
15521         [Gnus]: Use overlay functions directly
15522         * lisp/gnus/gnus-art.el (gnus-mime-inline-part, gnus-mm-display-part)
15523         (gnus-insert-mime-button, gnus-mime-buttonize-attachments-in-header)
15524         (gnus-article-highlight-signature, gnus-article-extend-url-button)
15525         (gnus-article-add-button, gnus-insert-prev-page-button)
15526         (gnus-insert-next-page-button, gnus-insert-mime-security-button):
15527         * lisp/gnus/gnus-cite.el (gnus-cite-delete-overlays)
15528         (gnus-cite-add-face):
15529         * lisp/gnus/gnus-html.el (gnus-html-wash-tags):
15530         * lisp/gnus/gnus-salt.el (gnus-tree-read-summary-keys)
15531         (gnus-tree-recenter, gnus-highlight-selected-tree):
15532         * lisp/gnus/gnus-sum.el (gnus-summary-show-all-threads)
15533         (gnus-summary-show-thread, gnus-summary-hide-thread)
15534         (gnus-highlight-selected-summary):
15535         * lisp/gnus/gnus-util.el (gnus-put-overlay-excluding-newlines):
15536         * lisp/gnus/message.el (message-fix-before-sending)
15537         (message-toggle-image-thumbnails):
15538         * lisp/gnus/mm-decode.el (mm-convert-shr-links):
15539         * lisp/gnus/sieve.el (sieve-highlight, sieve-insert-scripts):
15540         Use overlay functions directly instead of using gnus-overlay-*,
15541         message-overlay-*, and sieve-overlay-*.
15542         * lisp/gnus/gnus-sum.el (gnus-remove-overlays):
15543         * lisp/gnus/gnus.el (gnus-make-overlay, gnus-copy-overlay)
15544         (gnus-delete-overlay, gnus-overlay-get, gnus-overlay-put)
15545         (gnus-move-overlay, gnus-overlay-buffer, gnus-overlay-start)
15546         (gnus-overlay-end, gnus-overlays-at, gnus-overlays-in):
15547         * lisp/gnus/message.el (message-delete-overlay, message-make-overlay)
15548         (message-overlay-get, message-overlay-put, message-overlays-in):
15549         * lisp/gnus/sieve.el (sieve-make-overlay, sieve-overlay-put)
15550         (sieve-overlays-at): Remove.
15552 2015-08-19  Martin Rudalics  <rudalics@gmx.at>
15554         In w32fns.c condition TITLEBAR_INFO declaration on WINDOWS version
15555         * src/w32fns.c (TITLEBAR_INFO): Make it a typedef so MinGW64
15556         builds can use the declaration from the system headers.
15557         (GetTitleBarInfo_Proc, Fx_frame_geometry): Adapt to new
15558         definition of TITLEBAR_INFO.
15559         Suggested by Eli Zaretskii  <eliz@gnu.org>
15561 2015-08-19  Glenn Morris  <rgm@gnu.org>
15563         * lisp/gnus/nnmaildir.el (nnmaildir-flag-mark-mapping): Add "P".
15565 2015-08-19  Paul Eggert  <eggert@cs.ucla.edu>
15567         Use new q ‘format’ flag when fixing quotes in C
15568         * src/image.c (image_size_error): New function.  All uses of
15569         image_error with "Invalid image size ..."  changed to use it.
15570         * src/image.c (image_size_error, xbm_load_image, xbm_load)
15571         (xpm_load, xpm_load_image, xpm_load, pbm_load, png_load_body)
15572         (jpeg_load_body, tiff_load, gif_load, imagemagick_load_image)
15573         (imagemagick_load, svg_load, svg_load_image, gs_load)
15574         (x_kill_gs_process):
15575         * src/lread.c (load_warn_old_style_backquotes):
15576         * src/xfaces.c (load_pixmap):
15577         * src/xselect.c (x_clipboard_manager_error_1):
15578         Use %qs, not uLSQM and uRSQM.
15579         * src/syntax.c (Finternal_describe_syntax_value):
15580         Prefer Fsubstitute_command_keys to Fformat, as this lets
15581         us use AUTO_STRING.
15582         * src/xdisp.c (vadd_to_log): Use AUTO_STRING on the format argument,
15583         as it's now guaranteed to be ASCII.
15584         * src/xselect.c (x_clipboard_manager_error_2):
15585         Avoid grave accent in low-level stderr diagnostic.
15587 2015-08-19  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
15589         New q flag for ‘format’
15590         * doc/lispref/processes.texi (Sentinels):
15591         Don't hardwire grave quoting style in example.
15592         * doc/lispref/strings.texi (Formatting Strings):
15593         * etc/NEWS:
15594         Document new q flag.
15595         * src/editfns.c (Fformat): Implement it.
15597 2015-08-18  Daiki Ueno  <ueno@gnu.org>
15599         pinentry.el: Add debugging support
15600         * lisp/net/pinentry.el (pinentry-debug): New variable.
15601         (pinentry-debug-buffer): New variable.
15602         (pinentry--process-filter): Send input to the debug buffer, if
15603         `pinentry-debug' is set.
15605         pinentry.el: Improve multiline prompt
15606         * lisp/net/pinentry.el (pinentry--prompt): Simplify the interface.
15607         (pinentry--process-filter): Use `pinentry--prompt' for CONFIRM
15608         command.
15610 2015-08-18  Paul Eggert  <eggert@cs.ucla.edu>
15612         Fix multibyte confusion in diagnostics
15613         * src/print.c (print_error_message):
15614         Don't assume that the caller's name is unibyte.
15615         * src/xdisp.c (vadd_to_log):
15616         Don't assume that the formatted diagnostic is unibyte.
15618         Fix file name encodings in diagnostics
15619         Also, close some minor races when opening image files, by opening
15620         them once instead of multiple times.
15621         * src/gtkutil.c (xg_get_image_for_pixmap):
15622         * src/image.c (xpm_load, tiff_load, gif_load, imagemagick_load)
15623         (svg_load):
15624         * src/nsimage.m (allocInitFromFile:):
15625         * src/xfns.c (xg_set_icon):
15626         Encode file name, since x_find_image_file no longer does that.
15627         * src/image.c (x_find_image_fd): New function.
15628         (x_find_image_file): Use it.  Do not encode resulting file name,
15629         since callers sometimes need it decoded.
15630         (slurp_file): File arg is now a fd, not a file name.
15631         All callers changed.  This saves us having to open the file twice.
15632         (xbm_load, xpm_load, pbm_load, png_load_body, jpeg_load_body)
15633         (svg_load):
15634         Use x_find_image_fd and fdopen to save a file-open.
15635         Report file name that failed.
15636         * src/lread.c (openp): If PREDICATE is t, open the file in binary mode.
15638 2015-08-18  Dmitry Gutov  <dgutov@yandex.ru>
15640         Allow blink-matching-paren to jump off screen
15641         * doc/emacs/programs.texi (Matching): Mention the
15642         `blink-matching-paren' value `jump-offscreen'.
15643         * lisp/simple.el (blink-matching-paren): New possible value.
15644         (blink-matching-paren-on-screen): Clarify the docstring.
15645         (blink-matching-open): Handle `jump-offscreen' (bug#21286).
15647         Refine the previous change
15648         * lisp/simple.el (blink-matching-open): Use minibuffer-message
15649         outside of save-excursion (bug#21286).
15651 2015-08-18  Martin Rudalics  <rudalics@gmx.at>
15653         Rewrite and add frame geometry related functions.
15654         * src/frame.c (Fframe_position): New function.
15655         (Fset_frame_position): Rename parameters and rewrite doc-string.
15656         (syms_of_frame): Remove Qframe_position, Qframe_outer_size,
15657         Qtitle_height and Qframe_inner_size.  Add Qouter_edges,
15658         Qouter_position, Qouter_size, Qnative_edges, Qinner_edges,
15659         Qtitle_bar_size.
15660         * src/nsfns.m (frame_geometry): New function.
15661         (Fx_frame_geometry): Call frame_geometry.
15662         (Fx_frame_edges): New function.
15663         * src/w32fns.c (C_CHILDREN_TITLEBAR, TITLEBAR_INFO)
15664         (GetTitleBarInfo_Proc): Define these so we can use the
15665         GetTitleBarInfo API.
15666         (Fw32_frame_menu_bar_size, Fw32_frame_rect): Remove.
15667         (Fx_frame_geometry): Rewrite.
15668         (Fx_frame_edges, Fx_mouse_absolute_pixel_position)
15669         (Fx_set_mouse_absolute_pixel_position): New functions.
15670         * src/xfns.c (frame_geometry): New function.
15671         (Fx_frame_geometry): Call frame_geometry.
15672         (Fx_frame_edges, Fx_mouse_absolute_pixel_position)
15673         (Fx_set_mouse_absolute_pixel_position): New functions.
15675 2015-08-18  Michael Albinus  <michael.albinus@gmx.de>
15677         Improve Tramp's compatibility
15678         * lisp/net/tramp.el (tramp-get-method-parameter):
15679         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
15680         (tramp-adb-get-device):
15681         * lisp/net/trampver.el (tramp-repository-get-version):
15682         Use `tramp-compat-replace-regexp-in-string'.
15684 2015-08-18  Pierre Téchoueyres  <pierre.techoueyres@free.fr>  (tiny change)
15686         * lisp/net/tramp-cmds.el (tramp-reporter-dump-variable):
15687         Encode/decode string.
15689 2015-08-18  Paul Eggert  <eggert@cs.ucla.edu>
15691         Clarify what happens to match data on failure
15692         Problem reported by Ernesto Alfonso (Bug#21279).
15693         * doc/lispref/searching.texi (Regexp Search, Simple Match Data):
15694         Document more carefully what happens to match data after a failed
15695         search.
15696         * src/search.c (Fmatch_beginning, Fmatch_end): Document that
15697         the return value is undefined if the last search failed.
15698         (Fmatch_data): Simplify doc string line 1.
15700 2015-08-18  Daiki Ueno  <ueno@gnu.org>
15702         Revert "pinentry.el: Support external passphrase cache"
15703         This reverts commit e086e55a664ec27fbca7b3231c4b32cb78a89337.
15704         pinentry.el shouldn't directly interact with the secrets service,
15705         but ask the caller to cache the passphrase.
15707 2015-08-17  Xue Fuqiao  <xfq.free@gmail.com>
15709         * doc/emacs/sending.texi (Mail Misc): Fix two index entries for
15710         Message mode hooks.
15712 2015-08-17  Daiki Ueno  <ueno@gnu.org>
15714         epg.el: Make gpgconf output parsing future proof
15715         * lisp/epg.el (epg--start): Count the number of fields in "gpgconf
15716         --list-options" output.
15718         pinentry.el: Support external passphrase cache
15719         * lisp/net/pinentry.el (pinentry-use-secrets): New user option.
15720         (pinentry--allow-external-password-cache): New local variable.
15721         (pinentry--key-info): New local variable.
15722         (secrets-enabled, secrets-search-items, secrets-get-secret):
15723         Declare.
15724         (pinentry--send-passphrase): New function, split from
15725         `pinentry--process-filter'.
15726         (pinentry--process-filter): Use secrets.el to retrieve passphrase
15727         from login keyring.
15729         pinentry.el: Popup window for multiline prompt
15730         * lisp/net/pinentry.el (pinentry): New custom group.
15731         (pinentry-popup-prompt-window): New user option.
15732         (pinentry-prompt-window-height): New user option.
15733         (pinentry--prompt-buffer): New variable.
15734         (pinentry-prompt-mode-map): New variable.
15735         (pinentry-prompt-mode): New function.
15736         (pinentry--prompt): New function.
15737         (pinentry--process-filter): Use `pinentry--prompt' instead of
15738         `read-passwd' and `y-or-n-p'.
15740 2015-08-17  Katsumi Yamaoka  <yamaoka@jpl.org>
15742         message.el: Silent the byte compiler
15743         * lisp/gnus/message.el (message-overlay-put, message-make-overlay)
15744         (message-kill-all-overlays, message-overlays-in, message-overlay-get)
15745         (message-delete-overlay, message-window-inside-pixel-edges):
15746         Declare before using.
15748         * lisp/gnus/message.el (message-overlay-get, message-overlays-in)
15749         (message-window-inside-pixel-edges): XEmacs compatible functions.
15751 2015-08-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
15753         * lisp/gnus/message.el (message-toggle-image-thumbnails): New command.
15755 2015-08-17  Noah Friedman  <friedman@splode.com>
15757         * lisp/simple.el (blink-matching-open): Restore point before
15758         calling minibuffer-message.
15760 2015-08-17  Ronnie Schnell  <ronnie@driver-aces.com>
15762         * lisp/play/dunnet.el: Update version number in header (now
15763         matches help).
15765 2015-08-17  Paul Eggert  <eggert@cs.ucla.edu>
15767         Curved quotes in --batch diagnostics in non-UTF-8
15768         When run with --batch, check that curved quotes are compatible with
15769         the system locale before outputting them in diagnostics.
15770         Problem reported by Eli Zaretskii in:
15771         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00594.html
15772         * lisp/startup.el (command-line): Set internal--text-quoting-flag
15773         after the standard display table is initialized.
15774         * src/doc.c (default_to_grave_quoting_style): New function.
15775         (text_quoting_style): Use it.
15776         (text_quoting_flag): New static var, visible to Lisp as
15777         internal--text-quoting-flag.
15778         * src/emacs.c: Include <wchar.h> if available.
15779         (using_utf8): New function.
15780         (main): Use it to initialize text_quoting_flag.
15781         * src/regex.h (btowc) [WIDE_CHAR_SUPPORT && emacs]:
15782         Don't define, as it's not needed and it clashes with wchar.h.
15784 2015-08-17  Glenn Morris  <rgm@gnu.org>
15786         * doc/misc/tramp.texi (Configuration): Reword to avoid warning
15787         from makeinfo about spurious "Note:" cross-reference, and for grammar.
15789 2015-08-17  Ilya Zakharevich  <ilya@math.berkeley.edu>
15791         Minor change in variable initialization on MS-Windows
15792         * src/w32fns.c <after_dead_key>: Initialize to -1.
15793         (deliver_wm_chars): If after_deadkey is zero, don't set after_dead
15794         non-zero.
15796         Fix a bug with LWindow key remapping on MS-Windows
15797         * src/w32fns.c (deliver_wm_chars): Fix a typo.  (Bug#21276)
15799 2015-08-17  Eli Zaretskii  <eliz@gnu.org>
15801         Improve fontset support for latest OTF script tags
15802         * lisp/international/fontset.el (otf-script-alist): Add some
15803         missing script tags.
15804         (setup-default-fontset): Include settings for v2 versions of the
15805         script tags used by some modern OTF/TTF fonts.
15807 2015-08-17  Paul Eggert  <eggert@cs.ucla.edu>
15809         Spelling fixes
15811 2015-08-16  Paul Eggert  <eggert@cs.ucla.edu>
15813         Use curved quotes in core elisp diagnostics
15814         In the core elisp files, use curved quotes in diagnostic formats,
15815         so that they follow user preference as per ‘text-quoting-style’
15816         rather than being hard-coded to quote `like this'.
15817         * lisp/abbrev.el (expand-region-abbrevs):
15818         * lisp/button.el (button-category-symbol, button-put)
15819         (make-text-button):
15820         * lisp/cus-start.el:
15821         * lisp/custom.el (custom-add-dependencies, custom-check-theme)
15822         (custom--sort-vars-1, load-theme):
15823         * lisp/emacs-lisp/byte-run.el (defun, defsubst):
15824         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric)
15825         (cl-generic-generalizers):
15826         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
15827         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
15828         * lisp/emacs-lisp/nadvice.el (advice--make-docstring)
15829         (advice--make, define-advice):
15830         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-put-tag):
15831         * lisp/emacs-lisp/timer.el (timer-event-handler):
15832         * lisp/env.el (setenv):
15833         * lisp/facemenu.el (facemenu-add-new-face)
15834         (facemenu-add-new-color):
15835         * lisp/faces.el (face-documentation, read-face-name)
15836         (face-read-string, read-face-font, face-spec-set-match-display)
15837         (read-color, x-resolve-font-name):
15838         * lisp/files.el (locate-user-emacs-file, find-alternate-file)
15839         (set-auto-mode, hack-local-variables)
15840         (hack-one-local-variable--obsolete)
15841         (dir-locals-set-directory-class, write-file)
15842         (basic-save-buffer, delete-directory, copy-directory)
15843         (recover-session, recover-session-finish, insert-directory)
15844         (file-modes-char-to-who, file-modes-symbolic-to-number)
15845         (move-file-to-trash):
15846         * lisp/font-lock.el (font-lock-fontify-buffer):
15847         * lisp/format.el (format-write-file, format-find-file)
15848         (format-insert-file):
15849         * lisp/frame.el (get-device-terminal, select-frame-by-name):
15850         * lisp/fringe.el (fringe--check-style):
15851         * lisp/help.el (describe-minor-mode-from-indicator):
15852         * lisp/image.el (image-type):
15853         * lisp/international/fontset.el (x-must-resolve-font-name):
15854         * lisp/international/mule-cmds.el (prefer-coding-system)
15855         (select-safe-coding-system-interactively)
15856         (select-safe-coding-system, activate-input-method)
15857         (toggle-input-method, describe-current-input-method):
15858         * lisp/international/mule-conf.el (code-offset):
15859         * lisp/mouse.el (minor-mode-menu-from-indicator):
15860         * lisp/replace.el (query-replace-read-from)
15861         (occur-after-change-function, occur-1):
15862         * lisp/scroll-bar.el (scroll-bar-columns):
15863         * lisp/simple.el (execute-extended-command)
15864         (undo-outer-limit-truncate, compose-mail, set-variable)
15865         (choose-completion-string, define-alternatives):
15866         * lisp/startup.el (site-run-file, tty-handle-args)
15867         (command-line, command-line-1):
15868         * lisp/subr.el (noreturn, define-error, add-to-list)
15869         (read-char-choice):
15870         * lisp/term/common-win.el (x-handle-xrm-switch)
15871         (x-handle-name-switch, x-handle-args):
15872         * lisp/term/x-win.el (x-handle-parent-id, x-handle-smid):
15873         Use curved quotes in diagnostics.
15874         * lisp/international/mule.el (find-auto-coding):
15875         Use " to quote in a diagnostic, to be consistent with the rest of
15876         this file.
15878         Convert lisp/term/x-win.el to UTF-8
15879         * lisp/term/x-win.el: Convert to UTF-8.  This doesn't affect
15880         runtime behavior, and the file is multilingual so compile-time
15881         appearance shouldn't be an issue.
15882         * admin/notes/unicode: Document this.
15884 2015-08-16  Wilson Snyder  <wsnyder@wsnyder.org>
15886         Update verilog-mode.el to 2015-05-14-6232468-vpo-GNU.
15887         * lisp/progmodes/verilog-mode.el: Fix some non-automated indent
15888         issues and comments, bug#943.
15889         (verilog-type-font-keywords): Cycle delay operators like ##1 and
15890         ##[0:$] are now highlighted in their entirety similarly to the #
15891         delay-control operator.  Likewise, the followed-by operators #-#
15892         and #=# are no longer partially highlighed.
15893         (verilog-backward-syntactic-ws-quick)
15894         (verilog-skip-backward-comments): Minor performance improvements
15895         to buffer traversal functions for reduced latency.
15896         (verilog-calc-1, verilog-in-deferred-immediate-final-p): When the
15897         keyword 'final' follows 'assert/assume/cover', then it is part of
15898         a deferred immediate assertion item and should not be treated as a
15899         final construct for indentation.  Reported by Yuri Sugihara.
15900         (verilog-do-indent): Virtual task/function/class definition lines
15901         should not be considered as declarations.  Reported by Enzo Chi.
15902         (verilog-do-indent): Do not falsely indent to '=' of
15903         property/sequence operators on subsequent lines of a multi-line
15904         statement.
15905         (verilog-assignment-operator-re): Fix '!==' operator and add
15906         support for '<->', ':/', '#-#', and '#=#' operators.
15907         (verilog-calculate-indent, verilog-label-be): Enable
15908         case-sensitive regular expression parsing when looking for
15909         keywords.
15910         (verilog-calc-1): Detect 'pure virtual method' declarations which
15911         exist in abstract classes.  Reported by Enzo Chi and Kaushal Modi.
15912         (verilog-backward-ws&directives): When moving back to the start of
15913         a line and the preceeding line ended with an escaped-newline, then
15914         jump up one line.  This properly consumes a multi-line
15915         pre-processor directive.  Reported by Kaushal Modi.
15916         (verilog-dpi-import-export-re, verilog-extended-complete-re)
15917         (verilog-calc-1): Teach verilog-mode to properly indent after a
15918         DPI import/export statement that resides outside of a module.
15919         Reported by Kaushal Modi.
15920         (verilog-extended-complete-re): Update regexp to match both
15921         "DPI-C" and "DPI".  Reported by Kaushal Modi.
15923 2015-08-15  Paul Eggert  <eggert@cs.ucla.edu>
15925         substitute-command-keys a few more doc strings
15926         * lisp/allout.el (outlineify-sticky):
15927         * lisp/files.el (hack-one-local-variable--obsolete):
15928         * lisp/help-fns.el (help-fns--obsolete, describe-variable):
15929         Use substitute-command-keys on some doc strings so that
15930         they don't use hard-coded key bindings or quoting styles.
15932         Fix quoting in Fformat calls
15933         * src/image.c (xbm_read_bitmap_data, xbm_load_image, xbm_load)
15934         (xpm_load, xpm_load_image, pbm_load, png_load_body)
15935         (jpeg_load_body, tiff_load, gif_load, imagemagick_load_image)
15936         (imagemagick_load, svg_load, svg_load_image, gs_load)
15937         (x_kill_gs_process):
15938         * src/lread.c (load_warn_old_style_backquotes):
15939         * src/xfaces.c (load_pixmap):
15940         * src/xselect.c (x_clipboard_manager_error_1):
15941         Quote diagnostics according to user preference when calling
15942         Fformat or its derivatives.
15944 2015-08-15  Glenn Morris  <rgm@gnu.org>
15946         * admin/admin.el (set-version, set-copyright): Remove deleted files.
15948 2015-08-15  Stephen Leake  <stephen_leake@stephe-leake.org>
15950         Allow describe-function helpers to access buffer-local values
15951         This will be used by cedet/mode-local.el `describe-mode-local-override'
15952         on `help-fns-describe-function-functions' in upstream CEDET.
15953         * lisp/help-fns.el (describe-function-orig-buffer): New, let-bound in
15954         `describe-function'.
15955         (describe-function): Bind it, save it on the help xref stack.
15957         Handle pulse-background being nil
15958         * lisp/cedet/pulse.el (pulse-lighten-highlight): Inherit
15959         pulse-background, handle it being nil.
15961 2015-08-15  Paul Eggert  <eggert@cs.ucla.edu>
15963         Fix "\`" confusion in Lisp strings
15964         * admin/authors.el (authors-canonical-author-name):
15965         Fix typo by using "\\`" not "\`" in string RE.
15966         * lisp/obsolete/complete.el (PC-complete-as-file-name):
15967         * lisp/obsolete/vi.el (vi-backward-blank-delimited-word):
15968         * lisp/progmodes/verilog-mode.el (verilog-mode-map):
15969         Use plain "`", not the equivalent-but-confusing "\`", in strings.
15970         * lisp/textmodes/texinfmt.el: Fix comment likewise.
15972 2015-08-15  Dani Moncayo  <dmoncayo@gmail.com>
15974         * nt/zipdist.bat: Remove -- no longer used.
15976 2015-08-15  Jürgen Hötzel  <juergen@archlinux.org>
15978         * lisp/net/tramp-sh.el (tramp-remote-selinux-p): Use "selinuxenabled"
15979         rather than "getenforce".
15980         (tramp-sh-handle-set-file-selinux-context): Do not
15981         cache SELinux context if not all context components are given.
15983 2015-08-15  Eli Zaretskii  <eliz@gnu.org>
15985         Add doc strings to 2 help-mode.el functions
15986         * lisp/help-mode.el (help-mode-setup, help-mode-finish): Add doc
15987         strings.  (Bug#21263)
15989         Remove files used by the old MS-Windows specific build procedure
15990         * admin/unidata/makefile.w32-in:
15991         * doc/emacs/makefile.w32-in:
15992         * doc/lispintro/makefile.w32-in:
15993         * doc/lispref/makefile.w32-in:
15994         * doc/misc/makefile.w32-in:
15995         * leim/makefile.w32-in:
15996         * lib-src/makefile.w32-in:
15997         * lib/makefile.w32-in:
15998         * lisp/makefile.w32-in:
15999         * nt/INSTALL.OLD:
16000         * nt/config.nt:
16001         * nt/emacs-src.tags:
16002         * nt/envadd.bat:
16003         * nt/gmake.defs:
16004         * nt/makefile.w32-in:
16005         * nt/multi-install-info.bat:
16006         * nt/nmake.defs:
16007         * nt/paths.h:
16008         * src/makefile.w32-in: Files deleted.
16009         * nt/configure.bat: Remove everything except the blurb about the
16010         new build procedure.
16011         * make-dist: Remove references to makefile.w32-in in various
16012         directories, and to files in nt/ that were deleted.
16013         * etc/NEWS: Mention the fact that the files were dropped.
16015 2015-08-15  Paul Eggert  <eggert@cs.ucla.edu>
16017         * doc/emacs/mule.texi (Charsets): Give fuller title for ISO-IR.
16018         (Bug#21248)
16020 2015-08-14  Paul Eggert  <eggert@cs.ucla.edu>
16022         Default to inotify instead of gfile
16023         * configure.ac (with_file_notification): Fix typo that
16024         prevented suppression of file notification if HAVE_NS.
16025         (NOTIFY_OBJ): Prefer inotify to gfile if both exist and
16026         with_file_notification is 'yes' (Bug#21241).
16027         * etc/NEWS: Mention this.
16029         Fix broken URLs for ISO-IR
16030         * doc/emacs/mule.texi (Charsets):
16031         * lisp/international/mule-conf.el:
16032         Fix broken URL (Bug#21248).
16034         Low-level diagnostics now use ‘text-quoting-style’
16035         * src/doprnt.c (doprnt):
16036         Format ` and ' as per ‘text-quoting-style’.
16037         * src/xdisp.c (vmessage, message): Mention that the format should
16038         not contain ` or '.
16040         Prefer ‘format’ to ‘substitute-command-keys’
16041         * src/character.h (uLSQM, uRSQM): Move here ...
16042         * src/doc.c (uLSQM, uRSQM): ... from here.
16043         * src/doc.c (Fsubstitute_command_keys):
16044         * src/syntax.c (Finternal_describe_syntax_value):
16045         * lisp/cedet/mode-local.el (mode-local-print-binding)
16046         (mode-local-describe-bindings-2):
16047         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
16048         * lisp/cus-theme.el (describe-theme-1):
16049         * lisp/descr-text.el (describe-text-properties-1, describe-char):
16050         * lisp/emacs-lisp/cl-extra.el (cl--describe-class):
16051         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
16052         * lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor):
16053         * lisp/emacs-lisp/package.el (describe-package-1):
16054         * lisp/faces.el (describe-face):
16055         * lisp/help-fns.el (help-fns--key-bindings)
16056         (help-fns--compiler-macro, help-fns--parent-mode)
16057         (help-fns--obsolete, help-fns--interactive-only)
16058         (describe-function-1, describe-variable):
16059         * lisp/help.el (describe-mode):
16060         Prefer ‘format’ to ‘substitute-command-keys’ when either will do
16061         to implement quoting style.  This generally makes the code simpler.
16063         Extend ‘format’ to translate curved quotes
16064         This is a followup to the recent doc string change, and deals with
16065         diagnostics and the like.  This patch is more conservative than
16066         the doc string change, in that the behavior of ‘format’ changes
16067         only if its first arg contains curved quotes and the user prefers
16068         straight or grave quotes.  (Come to think of it, perhaps we should
16069         be similarly conservative with doc strings too, but that can wait.)
16070         The upside of this conservatism is that existing usage is almost
16071         surely unaffected.  The downside is that we'll eventually have to
16072         change Emacs's format strings to use curved quotes in places where
16073         the user might want curved quotes, but that's a simple and
16074         mechanical translation that I'm willing to do later.  (Bug#21222)
16075         * doc/lispref/help.texi (Keys in Documentation):
16076         Move description of text-quoting-style from here ...
16077         * doc/lispref/strings.texi (Formatting Strings):
16078         ... to here, and describe new behavior of ‘format’.
16079         * etc/NEWS: Describe new behavior.
16080         * lisp/calc/calc-help.el (calc-describe-thing):
16081         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
16082         * lisp/info.el (Info-find-index-name):
16083         Use ‘concat’ rather than ‘format’ to avoid misinterpretation
16084         of recently-added curved quotes.
16085         * src/doc.c (uLSQM0, uLSQM1, uLSQM2, uRSQM0, uRSQM1, uRSQM2):
16086         Move from here ...
16087         * src/lisp.h: ... to here.
16088         * src/doc.c (text_quoting_style): New function.
16089         (Fsubstitute_command_keys): Use it.
16090         * src/editfns.c (Fformat): Implement new behavior.
16091         * src/lisp.h (enum text_quoting_style): New enum.
16093 2015-08-14  Stefan Monnier  <monnier@iro.umontreal.ca>
16095         * src/keyboard.c: Use false/true instead of 0/1 for booleans.
16096         * src/keyboard.h (struct kboard): Mark kbd_queue_has_data as boolean.
16098 2015-08-14  Michael Albinus  <michael.albinus@gmx.de>
16100         * lisp/net/tramp-sh.el (tramp-sh-handle-file-acl): Do not redirect
16101         stderr to /dev/null, this is done in `tramp-send-command-and-check'.
16103 2015-08-14  Jürgen Hötzel  <juergen@archlinux.org>
16105         Flush file properties in Tramp
16106         * lisp/net/tramp-sh.el (tramp-sh-handle-set-file-modes)
16107         (tramp-sh-handle-set-file-times):
16108         * lisp/net/tramp-adb.el (tramp-adb-handle-set-file-modes)
16109         (tramp-adb-handle-set-file-times): Flush the file properties of
16110         the directory.
16112 2015-08-14  Ronnie Schnell  <ronnie@driver-aces.com>
16114         * doc/emacs/misc.text (Amusements): Fixed typo.
16116 2015-08-14  Eli Zaretskii  <eliz@gnu.org>
16118         Don't miss warnings about removing string text properties while dumping
16119         * src/alloc.c (purecopy): Warn about removing a string's text
16120         properties even when the same string was already pure-copied
16121         earlier.
16122         * lisp/progmodes/elisp-mode.el (elisp--xref-format)
16123         (elisp--xref-format-extra): Fix the commentary.
16125 2015-08-13  Stefan Monnier  <monnier@iro.umontreal.ca>
16127         * lisp/progmodes/sh-script.el (sh-mode): Handle .cshrc (bug#21049).
16129 2015-08-13  Magnus Henoch  <magnus.henoch@gmail.com>
16131         * lisp/progmodes/compile.el: Use lexical-binding.
16132         (compilation-move-to-column): Assume 8-wide TABs (bug#21038).
16134 2015-08-13  Stefan Monnier  <monnier@iro.umontreal.ca>
16136         (uniquify-ask-about-buffer-names-p): Remove, unused (bug#21037)
16137         * lisp/uniquify.el: Remove redundant `:group's.
16139 2015-08-13  Jürgen Hötzel  <juergen@archlinux.org>
16141         * lisp/net/tramp-adb.el
16142         (tramp-adb-handle-directory-files-and-attributes): Make a copy of
16143         result to prevent modification of the tramp-cache by side effects.
16144         Use the correct cache key.
16146 2015-08-13  Paul Eggert  <eggert@cs.ucla.edu>
16148         Make add_to_log varargs
16149         * src/alloc.c (run_finalizer_handler):
16150         * src/charset.c (load_charset_map_from_vector):
16151         * src/nsimage.m (ns_load_image):
16152         * src/xfaces.c (load_pixmap, load_color2):
16153         Simplify, now that add_to_log has a variable number of args.
16154         * src/image.c (image_error): Take a variable number of args.
16155         Callers simplified.
16156         * src/lisp.h (add_to_log, vadd_to_log): Adjust to new APIs.
16157         * src/xdisp.c (format_nargs, vadd_to_log): New functions.
16158         (add_to_log): Make varargs, and reimplement in terms of vadd_to_log.
16159         * src/xfaces.c (merge_face_ref): Fix typo that omitted color name.
16161         Optional args for holiday-greek-orthodox-easter
16162         * etc/NEWS: Document this.
16163         * lisp/calendar/holidays.el (holiday-greek-orthodox-easter):
16164         Add optional args N and STRING, mimicking the API and code of
16165         ‘holiday-easter-etc’.  From suggestion by Foivos S. Zakkak (Bug#21256).
16167 2015-08-13  Stephen Leake  <stephen_leake@stephe-leake.org>
16169         xref-find-definitions: Exclude more generic function items.
16170         * lisp/emacs-lisp/cl-generic.el (cl--generic-search-method):
16171         Add doc string.
16172         (cl--generic-find-defgeneric-regexp): New.
16173         (find-function-regexp-alist): Add it.
16174         * lisp/emacs-lisp/find-func.el (find-feature-regexp): Move here from
16175         elisp-mode.el, change to search for ";;; Code:"
16176         (find-alias-regexp): Move here from elisp-mode.el, cleaned up.
16177         (find-function-regexp-alist): Add them.
16178         * lisp/progmodes/elisp-mode.el:
16179         (elisp--xref-format, elisp--xref-format-extra): Change back to
16180         defvar due to bug#21237.
16181         (elisp--xref-find-definitions): Exclude co-located default methods for
16182         generic functions.  Also exclude implicitly declared defgeneric.
16183         (elisp--xref-find-definitions): Handle C source properly.  Exclude minor
16184         mode variables defined by 'define-minor-mode'.
16185         * test/automated/elisp-mode-tests.el: Declare generic functions, add
16186         tests for them.
16187         (xref-elisp-test-run): Fix bug.
16188         (emacs-test-dir): Improve initial value.
16189         (find-defs-defun-defvar-el): Don't expect defvar.
16190         (find-defs-feature-el): Match change to find-feature-regexp.
16192 2015-08-13  Eli Zaretskii  <eliz@gnu.org>
16194         Improve warning about purecopy of strings with properties
16195         * src/alloc.c (purecopy): Show the offending string with the
16196         warning about removing its text properties.
16198 2015-08-12  Alan Mackenzie  <acm@muc.de>
16200         Introduce new macros to cover Emacs's new names in cl-lib.el
16201         This also eliminates `mapcan' warnings in XEmacs.
16202         * lisp/progmodes/cc-defs.el (c--mapcan-status): New variable to
16203         characterise [X]Emacs versions.
16204         (top-level): Require either 'cl or 'cl-lib, depending on
16205         c--mapcan-status.
16206         Change this back to cc-external-require from an eval-when-compile
16207         require.
16208         (c--mapcan, c--set-difference, c--intersection, c--macroexpand-all)
16209         (c--delete-duplicates): New macros which expand into either old or new
16210         names.
16211         (c-make-keywords-re, c-lang-defconst, c-lang-const): Use the new macros
16212         rather than the old names.
16213         * lisp/progmodes/cc-engine.el (c-declare-lang-variables): Use c--mapcan
16214         rather than mapcan.
16215         * lisp/progmodes/cc-fonts.el (c-compose-keywords-list): Use c--mapcan.
16216         * lisp/progmodes/cc-langs.el (top-level): Require either 'cl or 'cl-lib,
16217         depending on c--mapcan-status.
16218         (c-filter-ops, c-all-op-syntax-tokens, c-assignment-op-regexp)
16219         (c-type-start-kwds, c-prefix-spec-kwds, c-specifier-key)
16220         (c-not-decl-init-keywords, c-not-primitive-type-keywords)
16221         (c-paren-any-kwds, c-<>-sexp-kwds, c-block-stmt-kwds, c-expr-kwds)
16222         (c-decl-block-key, c-keywords, c-keywords-obarray)
16223         (c-regular-keywords-regexp, c-primary-expr-regexp)
16224         (c-primary-expr-regexp, c-block-prefix-disallowed-chars)
16225         (c-known-type-key, c-nonlabel-token-key)
16226         (c-make-init-lang-vars-fun): Use the new macros rather than the old
16227         names.
16229 2015-08-12  Oleh Krehel  <ohwoeowho@gmail.com>
16231         loadhist.el (read-feature): Conform to completing-read
16232         * lisp/loadhist.el (read-feature): According to `completing-read'
16233         documentation, if collection is a list, then it must be a list of
16234         strings, not a list of symbols like before.
16236 2015-08-12  David Kastrup  <dak@gnu.org>
16238         Deal gracefully with up-events (Bug#19746)
16239         * src/keyboard.c (apply_modifiers_uncached, parse_solitary_modifier)
16240         (parse_modifiers_uncached): React gracefully to "up-" modifiers:
16241         those may easily be injected by user-level Lisp code.
16242         (read_key_sequence): Discard unbound up-events like unbound
16243         down-events: they are even more likely only relevant for special
16244         purposes.
16245         While Emacs will not produce up-events on its own currently (those are
16246         converted to drag or click events before being converted to
16247         Lisp-readable structures), the input queue can be made to contain them
16248         by synthesizing events to `unread-command-events'.  Emacs should deal
16249         consistently with such events.
16251 2015-08-12  Eli Zaretskii  <eliz@gnu.org>
16253         Fix display of thin lines whose newline has line-height property of t
16254         * src/xdisp.c (append_space_for_newline): Don't try to fix ascent
16255         and descent values of non-empty glyph rows, since they could have
16256         forced low values deliberately.  (Bug#21243)
16258 2015-08-12  Richard Stallman  <rms@gnu.org>
16260         Offer to combine multiple To or CC fields.
16261         * lisp/mail/sendmail.el (mail-combine-fields): New function.
16262         (mail-send): Call 'mail-combine-fields'.
16264         Don't decrypt encrypted files.
16265         * lisp/mail/mail-utils.el (mail-file-babyl-p): Bind epa-inhibit to t.
16267         Handle encrypted mbox files.
16268         * lisp/mail/rmailout.el (rmail-output-as-mbox): Decrypt and reencrypt
16269         the mbox file if necessary.
16271         Re-enable mime processing after decryption.  Add 'decrypt' keyword.
16272         * lisp/mail/rmail.el (rmail-epa-decrypt-1): New subroutine.
16273         (rmail-epa-decrypt): rmail-epa-decrypt-1 broken out.
16274         In a mime message, reenable Mime and show the parts that
16275         were shown before.
16276         Add keyword "decrypt" if anything decrypted.
16278         epa-inhibit inhibits auto-recognition of .gpg files
16279         * lisp/epa-file.el (epa-inhibit): New variable.
16280         (epa-file-handler): Check epa-inhibit.
16282 2015-08-12  Artur Malabarba  <bruce.connor.am@gmail.com>
16284         * lisp/emacs-lisp/lisp-mnt.el (lm-header): Add save-excursion.
16286 2015-08-11  Fabián Ezequiel Gallina  <fgallina@gnu.org>
16288         Respect python.el imenu when semantic-mode is off
16289         Fixes bug#21220
16290         * lisp/cedet/semantic/wisent/python.el: Do not force
16291         wisent-python-default-setup on python-mode-hook.
16293 2015-08-11  Paul Eggert  <eggert@cs.ucla.edu>
16295         Give names to Unicode code points in C code
16296         * src/character.h (NO_BREAK_SPACE, SOFT_HYPHEN)
16297         (ZERO_WIDTH_NON_JOINER, ZERO_WIDTH_JOINER, HYPHEN)
16298         (NON_BREAKING_HYPHEN, LEFT_SINGLE_QUOTATION_MARK)
16299         (RIGHT_SINGLE_QUOTATION_MARK, PARAGRAPH_SEPARATOR)
16300         (LEFT_POINTING_ANGLE_BRACKET, RIGHT_POINTING_ANGLE_BRACKET)
16301         (LEFT_ANGLE_BRACKET, RIGHT_ANGLE_BRACKET)
16302         (OBJECT_REPLACEMENT_CHARACTER):
16303         New named constants for Unicode code points.
16304         * src/bidi.c (bidi_fetch_char, CANONICAL_EQU):
16305         * src/composite.c (char_composable_p):
16306         * src/lread.c (readevalloop, read1):
16307         * src/xdisp.c (get_next_display_element):
16308         Use them.
16309         * src/doc.c (LEFT_SINGLE_QUOTATION_POINT):
16310         Remove; now in character.h.
16312 2015-08-11  Stephen Leake  <stephen_leake@stephe-leake.org>
16314         elisp--xref-find-definitions handle cl-defstuct default constructor
16315         * lisp/progmodes/elisp-mode.el (elisp-xref-find): Add FIXME.
16316         (elisp--xref-format-extra): Rename from elisp--xref-format-cl-defmethod.
16317         (elisp--xref-find-definitions): Handle cl-defstuct default constructor.
16318         * test/automated/elisp-mode-tests.el (xref-elisp-test-run): Split out
16319         from xref-elisp-test for ease of debugging.
16320         (xref-elisp-deftest): Rename from xref-elisp-test.
16321         (find-defs-constructor): New test.
16322         (find-defs-defgeneric-el): Match batch test config.
16323         (compile): Required for find-defs compilation-minor-mode test.
16324         (find-defs-defvar-el): Match code change.
16325         (find-defs-face-el): Match code change.
16326         * lisp/progmodes/xref.el (xref-find-function, xref-find-definitions):
16327         Improve doc string.
16329 2015-08-11  Stefan Monnier  <monnier@iro.umontreal.ca>
16331         * lisp/replace.el (perform-replace): Document `replacements'.
16332         (perform-replace): Move the description of the format of `replacements'
16333         from the body's comment to the doc string.
16335 2015-08-11  Jürgen Hötzel  <juergen@archlinux.org>
16337         * lisp/net/tramp-adb.el (tramp-adb-prompt): Match leading escape
16338         sequence.  Recent adb version send initial escape sequences, even
16339         when terminal type is set to TERM=dumb.
16341 2015-08-10  Stephen Leake  <stephen_leake@stephe-leake.org>
16343         Rewrite elisp--xref-find-definitions to handle many more cases; add tests
16344         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
16345         Function deleted.
16346         (elisp--xref-format-cl-defmethod): New defconst.
16347         (find-feature-regexp, find-alias-regexp): New defcustoms.
16348         (elisp--xref-make-xref): New function.
16349         (elisp--xref-find-definitions): Rewrite using the above, handle many
16350         more cases.  Always output all available definitions.
16351         (xref-location-marker): No need for special cases.
16352         * test/automated/elisp-mode-tests.el: Add more tests of
16353         elisp--xref-find-definitions, improve current tests.
16355 2015-08-10  Eli Zaretskii  <eliz@gnu.org>
16357         Fix recording of events pushed onto unread-command-events
16358         * src/keyboard.c (read_char): Make sure events read from
16359         unread-command-events and unread-post-input-method-events are
16360         always recorded by record_char.  Reported by David Kastrup
16361         <dak@gnu.org>, see
16362         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00193.html.
16364 2015-08-10  Samer Masterson  <samer@samertm.com>
16366         Set file buffer as current for "--file"
16367         * lisp/startup.el (command-line-1): Set file buffer as current before
16368         it is displayed so it can be used with options like "--eval".
16369         (Bug#21095)
16371 2015-08-10  Eli Zaretskii  <eliz@gnu.org>
16373         Avoid setting LC_NUMERIC on MS-Windows to anything but "C"
16374         * src/emacs.c (synchronize_locale) [WINDOWSNT]: Call fixup_locale
16375         after setting LC_ALL to the desired locale, to avoid affecting how
16376         numbers are read and printed.  (Bug#21223)
16378 2015-08-10  Alan Mackenzie  <acm@muc.de>
16380         Fix "Invalid search bound (wrong side of point)" in fontification
16381         * lisp/progmodes/cc-fonts.el (c-font-lock-declarators): After skipping
16382         an initialization expression, check point is not beyond the
16383         fontification limit.
16385 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
16387         Fix DPI calculation when Xft/DPI is default
16388         * src/xsettings.c (parse_settings): Don't use Xft/DPI default
16389         value of -1, which evaluates to 2**32 - 1 (Bug#21152).
16390         Remove unnecessary cast while we're in the neighborhood.
16392 2015-08-09  Dmitry Gutov  <dgutov@yandex.ru>
16394         Add project-vc-search-path and project-vc-ignores
16395         * lisp/progmodes/project.el (project-vc): New group.
16396         (project-vc-search-path, project-vc-ignores): New variables.
16397         (project--value-in-dir): Utility function.
16398         (project-search-path, project-ignores): Use them.
16399         * lisp/progmodes/xref.el (xref--rgrep-command): Only replace `./'
16400         at bos.  Don't add extra `/'.  Don't prepend with `*' if replaced.
16402 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
16404         Fix some minor quoting issues with grave accent
16405         * src/dispnew.c (add_window_display_history) [GLYPH_DEBUG]:
16406         Remove redundant quotes.
16407         * src/doc.c (uLSQM, uRSQM): New macros.
16408         * src/doc.c (Fsubstitute_command_keys):
16409         * src/syntax.c (Finternal_describe_syntax_value): Follow the user
16410         preference for quotes rather than hardcoding the ‘grave’ style.
16411         * src/regex.c (PUSH_FAILURE_POINT, POP_FAILURE_POINT)
16412         (re_match_2_internal) [DEBUG]: In debugging output, quote C
16413         strings with "...", not `...'.
16415         ChangeLog.2 ignores remote-tracking merges
16416         * build-aux/gitlog-to-emacslog: Ignore commit logs matching
16417         "Merge remote-tracking branch '.*'" too.  See Eli Zaretskii in:
16418         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00384.html
16420 2015-08-09  Nicolas Richard  <youngfrog@members.fsf.org>
16422         Use kpsewhich in ffap-latex-mode, if available
16423         * lisp/ffap.el (ffap-latex-guess-rules): New variable.
16424         (ffap-latex-mode): Use kpsewhich if available.
16426         ffap: disallow braces in filenames for tex modes
16427         * lisp/ffap.el (ffap-string-at-point-mode-alist): Don't allow
16428         braces in tex-related modes.
16430         Remove useless backslashes from ffap-string-at-point-mode-alist
16431         * lisp/ffap.el (ffap-string-at-point-mode-alist): Remove useless and
16432         misleading backslashes from default value.
16434         Augment docstring of ffap-string-at-point-mode-alist
16435         * lisp/ffap.el (ffap-string-at-point-mode-alist): Describe how BEG
16436         and END are handled.
16438 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
16440         * lisp/org/org-src.el (org-edit-src-code)
16441         (org-edit-fixed-width-region):
16442         * lisp/simple.el (completion-setup-function):
16443         Remove calls to substitute-command-keys that always just return
16444         their argument.
16446 2015-08-09  Daiki Ueno  <ueno@gnu.org>
16448         * lisp/epa.el (epa-exit-buffer-function): Set to `quit-window'.
16449         (Bug#21210)
16451 2015-08-09  Ivan Kanis  <ivan@kanis.fr>
16453         Fix link to source code in help window
16454         * lisp/help-fns.el (find-lisp-object-file-name): Remove code that
16455         will never work due to Glenn Morris change a6d63d9 on Apr 20 2013
16456         'No longer include timestamp in header of .elc files'.  Add code
16457         that will return .el source file in load-path.
16459 2015-08-09  Artur Malabarba  <bruce.connor.am@gmail.com>
16461         * lisp/isearch.el (isearch-search-fun-default): (Bug#21164)
16462         Respect `isearch-lax-whitespace' when searching through
16463         `isearch-word'.
16465 2015-08-08  Stefan Monnier  <monnier@iro.umontreal.ca>
16467         * test/automated/ert-tests.el (ert-test-deftest): Add FIXME.
16469         * org.el: Fix up some lexical scoping warnings, and use dolist
16470         * lisp/org/org.el (org-set-regexps-and-options-for-tags, org-goto-map)
16471         (org-set-regexps-and-options, org-assign-fast-keys)
16472         (org-contextualize-keys, org-contextualize-validate-key)
16473         (org-notes-order-reversed-p, org-local-logging, org-map-entries)
16474         (org-find-olp, org-find-exact-heading-in-directory)
16475         (org-cycle-agenda-files, org-release-buffers, org-fill-template)
16476         (org-agenda-prepare-buffers, org-occur-in-agenda-files)
16477         (org-replace-escapes): Use dolist.
16478         (org-mode): Optimize away XEmacs-only code.
16479         (org-refile-get-targets): Remove unused var `f'.
16480         (org-fast-todo-selection): Remove unused var `e'.
16481         (org-make-tags-matcher): Use dolist.  Remove unused var `term'.
16482         (org-fast-tag-selection): Use dolist.  Remove unused var `e'.
16483         (org-format-latex): Use dolist.  Remove unused var `e'.
16484         (org-toggle-heading): Access vars lexically rather than dynamically.
16485         (org-backward-sentence, org-forward-sentence, org-meta-return)
16486         (org-kill-line): Mark arg as unused.
16487         (org-submit-bug-report): Silence compiler warning.
16488         (org-occur-in-agenda-files): Don't use add-to-list on local vars.
16489         (org-get-cursor-date): Remove unused var `tm'.
16490         (org-comment-or-uncomment-region): Use standard name `_'.
16491         (reftex-docstruct-symbol, reftex-cite-format): Declare to
16492         silence byte-compiler.
16493         (org-reftex-citation): Add `org--' prefix to dynamically scoped
16494         `rds' var.
16496 2015-08-08  Paul Eggert  <eggert@cs.ucla.edu>
16498         Electric quote if coding is undecided or no conv
16499         * lisp/electric.el (electric--insertable-p): Also say that a
16500         string is insertable if the buffer file coding system is undecided
16501         or uses no conversion, as curved quotes will work in either case.
16503         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING): Simplify configuration.
16505 2015-08-08  Eli Zaretskii  <eliz@gnu.org>
16507         Fix overlay string display regressions introduced in Emacs 24.5
16508         * src/xdisp.c (pop_it): Reset the flag to ignore overlays at this
16509         buffer position, if we move the iterator to a new position as
16510         result of jumping over text covered by a "replacing" display
16511         property.
16512         * test/redisplay-testsuite.el (test-redisplay-4): Add 2 new tests.
16514         Support recovery from C stack overflow on MS-Windows
16515         * src/w32fns.c (w32_reset_stack_overflow_guard)
16516         (stack_overflow_handler): New functions for handling C stack
16517         overflow exceptions.
16518         (my_exception_handler): Handle EXCEPTION_STACK_OVERFLOW exceptions
16519         specially, and zero out except_addr if we do.
16520         (globals_of_w32fns): Initialize dwMainThreadId in non-interactive
16521         mode.
16522         * src/sysdep.c [HAVE_STACK_OVERFLOW_HANDLING]: Add !WINDOWSNT to
16523         the condition, as HAVE_STACK_OVERFLOW_HANDLING is now defined for
16524         the MinGW build, but the code guarded by that is for Posix hosts.
16525         * src/keyboard.c (command_loop) [WINDOWSNT]:
16526         Call w32_reset_stack_overflow_guard.
16527         * nt/inc/ms-w32.h (sigjmp_buf): New typedef.
16528         (sigsetjmp): New macro.
16529         (w32_reset_stack_overflow_guard): Declare the prototype.
16530         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING): Set to 1 for MinGW.
16532 2015-08-07  Phillip Lord  <phillip.lord@newcastle.ac.uk>
16534         Improve error signalling for seq-subseq
16535         * lisp/seq.el (seq-subseq): The existing behavior is to error
16536         when indexes are too large, but to silently ignore numbers which
16537         are too negative for lists.  String and vector handling errors in
16538         both cases.  This has been regularized.  Error signaling behavior
16539         has been explicitly added to the doc string.
16541         * lisp/cl-extra.el (cl-subseq): Defers to (seq-subseq) and is
16542         therefore also impacted by this change.  Update the doc string
16543         to reflect this.
16545         * test/automated/seq-tests.el (test-seq-subseq): Tests have been
16546         added for these exceptional cases, as well as one non exceptional
16547         base case.
16549 2015-08-07  Jürgen Hötzel  <juergen@archlinux.org>
16551         Improve error checking in tramp-adb.el
16552         * lisp/net/tramp-adb.el (tramp-adb-ls-output-name-less-p):
16553         Improve error checking.  "ls -l" on Android in Enforcing mode can
16554         print "lstat './FILENAME failed: Permission denied".
16556 2015-08-07  Stefan Monnier  <monnier@iro.umontreal.ca>
16558         * lisp/emacs-lisp/cl-generic.el (cl--generic-struct-tag): Don't burp on
16559         non-struct vectors.
16561 2015-08-07  Stephen Leake  <stephen_leake@stephe-leake.org>
16563         Fix typo in lisp/window.el, more `display-buffer-use-some-frame'
16564         * lisp/window.el: Fix typo that broke build.
16565         (display-buffer--action-function-custom-type):
16566         Add `display-buffer-use-some-frame'.
16567         (display-buffer): Add `display-buffer-use-some-frame' to doc string.
16569         Add support for 'inhibit-same-window in 'display-buffer-use-some-frame'
16570         * lisp/window.el (display-buffer-use-some-frame): Add support for
16571         'inhibit-same-window in alist.
16572         * doc/windows.texi (display-buffer-use-some-frame): Doc support for
16573         'inhibit-same-window in alist.
16575 2015-08-07  Eli Zaretskii  <eliz@gnu.org>
16577         Avoid infinite loop in display of invisible text in strings
16578         * src/xdisp.c (handle_invisible_prop): If the next change of
16579         invisibility spec does not mean the beginning of a visible text,
16580         update the string position from which to start the search for the
16581         next invisibility change.  This avoids an infinite loop when we
16582         have more than one invisibility spec that are made inactive by
16583         buffer-invisibility-spec.  Simplify code.  (Bug#21200)
16584         * test/redisplay-testsuite.el (test-redisplay-4): Add a test case
16585         for the situation that caused bug #21200.
16587 2015-08-06  Artur Malabarba  <bruce.connor.am@gmail.com>
16589         * lisp/emacs-lisp/package.el: Simplify describe-package-1
16590         (package-help-section-name-face): New face.
16591         (package--print-help-section): New function.
16592         (describe-package-1): Refactor section printing.
16593         (package-make-button): Use face instead of font-lock-face, which
16594         doesn't work on buttons.
16596         * lisp/emacs-lisp/package.el: Define custom faces
16597         (package-name-face, package-description-face)
16598         (package-status-built-in-face, package-status-external-face)
16599         (package-status-available-face, package-status-new-face)
16600         (package-status-held-face, package-status-disabled-face)
16601         (package-status-installed-face, package-status-dependency-face)
16602         (package-status-unsigned-face, package-status-incompat-face)
16603         (package-status-avail-obso-face): New faces.
16604         (package-menu--print-info-simple): Use them.
16606 2015-08-05  Paul Eggert  <eggert@cs.ucla.edu>
16608         Fix some confusion with ‘format’
16609         * lisp/allout-widgets.el (allout-widgets-before-change-handler)
16610         (allout-graphics-modification-handler):
16611         Protect arbitrary string in a format context with "%s" format.
16612         * lisp/avoid.el:
16613         * lisp/cedet/semantic/bovine/scm.el: Fix comment.
16614         * lisp/calendar/icalendar.el (icalendar--convert-sexp-to-ical):
16615         * lisp/erc/erc-button.el (erc-button-beats-to-time):
16616         * lisp/gnus/message.el (message-send-form-letter):
16617         * lisp/org/ob-core.el (org-babel-check-evaluate)
16618         (org-babel-confirm-evaluate):
16619         * lisp/org/ob-fortran.el (org-babel-fortran-var-to-fortran):
16620         * lisp/org/ox-latex.el (org-latex-compile):
16621         * lisp/org/ox-man.el (org-man-compile):
16622         * lisp/org/ox-odt.el (org-odt-template):
16623         * lisp/org/ox-texinfo.el (org-texinfo-compile):
16624         * lisp/progmodes/prolog.el (prolog-help-info)
16625         (prolog-view-predspec):
16626         * lisp/progmodes/ruby-mode.el (ruby-parse-partial):
16627         * lisp/progmodes/verilog-mode.el (verilog-showscopes):
16628         * lisp/textmodes/rst.el (rst-replace-lines):
16629         Change (message (format ...)) to (message ...), and likewise
16630         for ‘error’.  This lessens the probability of confusion when the
16631         output of ‘format’ contains ‘%’.
16633 2015-08-05  Artur Malabarba  <bruce.connor.am@gmail.com>
16635         * lisp/replace.el (replace-character-fold): Default to nil.
16637         * lisp/character-fold.el: Fix lax whitespace.
16638         (character-fold-table): Don't make space match other whitespace chars.
16639         (character-fold-to-regexp): Simplify lax behavior.
16641 2015-08-05  Dmitry Gutov  <dgutov@yandex.ru>
16643         Preserve window point in xref-find-definitions-other-window
16644         Fix the problem reported by Ingo Logmar in
16645         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00152.html
16646         * lisp/progmodes/xref.el (xref--goto-char): Extract from
16647         xref--goto-location.
16648         (xref--pop-to-location): Use it.  Replace xref--goto-location with
16649         a direct xref-location-marker call.
16650         (xref--show-location): Likewise.
16651         (xref--display-position): Use xref--goto-char.
16653         * lisp/progmodes/project.el: Add a paragraph to the front matter.
16655 2015-08-04  David Kastrup  <dak@gnu.org>
16657         * lisp/vc/emerge.el (emerge-show-file-name):
16658         * lisp/progmodes/vhdl-mode.el (vhdl-electric-dash)
16659         (vhdl-comment-insert, vhdl-hooked-abbrev):
16660         * lisp/progmodes/octave.el (inferior-octave-dynamic-list-input-ring):
16661         * lisp/progmodes/fortran.el (fortran-window-create-momentarily):
16662         * lisp/progmodes/ebrowse.el (ebrowse-hack-electric-buffer-menu):
16663         * lisp/progmodes/cperl-mode.el (cperl-putback-char):
16664         * lisp/obsolete/vip.el (vip-escape-to-emacs)
16665         (vip-prefix-arg-value, vip-prefix-arg-com):
16666         * lisp/obsolete/terminal.el (te-escape-extended-command-unread):
16667         * lisp/leim/quail/tibetan.el (quail-tibetan-update-translation)
16668         (quail-tibkey-update-translation):
16669         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
16670         * lisp/leim/quail/lao.el (quail-lao-update-translation):
16671         * lisp/leim/quail/japanese.el (quail-japanese-update-translation)
16672         (quail-japanese-self-insert-and-switch-to-alpha):
16673         * lisp/leim/quail/hangul.el (hangul2-input-method)
16674         (hangul3-input-method, hangul390-input-method):
16675         * lisp/language/hanja-util.el (hangul-to-hanja-char):
16676         * lisp/international/robin.el (robin-input-method):
16677         * lisp/international/quail.el (quail-start-translation)
16678         (quail-start-conversion):
16679         * lisp/gnus/gnus-art.el (gnus-article-describe-key)
16680         (gnus-article-describe-key-briefly):
16681         * lisp/eshell/em-hist.el (eshell-list-history):
16682         * lisp/term.el (term-dynamic-list-input-ring)
16683         (term-dynamic-list-completions):
16684         * lisp/subr.el (momentary-string-display):
16685         * lisp/simple.el (read-quoted-char):
16686         * lisp/pcomplete.el (pcomplete-show-completions):
16687         * lisp/kmacro.el (kmacro-repeat-on-last-key):
16688         * lisp/info.el (Info-summary):
16689         * lisp/ehelp.el (electric-help-command-loop):
16690         * lisp/ebuff-menu.el (electric-buffer-list)
16691         (Electric-buffer-menu-exit):
16692         * lisp/double.el (double-translate-key):
16693         * lisp/comint.el (comint-dynamic-list-input-ring)
16694         (comint-dynamic-list-completions): Do not overwrite preexisting
16695         contents of `unread-command-events' when putting new events into it.
16697 2015-08-04  Daniel Colascione  <dancol@dancol.org>
16699         Improve ansi-color filtering of unrecognized escape sequences
16700         * lisp/ansi-color.el (ansi-color-drop-regexp): Recognize mode-setting
16701         escape sequences.
16702         (ansi-color-filter-apply, ansi-color-apply): Filter out
16703         unrecognized escape sequences.
16705 2015-08-04  Artur Malabarba  <bruce.connor.am@gmail.com>
16707         * lisp/emacs-lisp/package.el (package-menu-mode-map): Convert menu
16708         definitions to `easy-menu-define', improve a couple to account for
16709         async, and add a couple of new commands.
16711 2015-08-03  Jürgen Hötzel  <juergen@archlinux.org>
16713         * lisp/net/tramp-cache.el (tramp-set-file-property): Fix code typo.
16715 2015-08-03  Ingo Lohmar  <i.lohmar@gmail.com>
16717         Add new 'calendar-weekend-days' option
16718         Make the days receiving the 'calendar-weekend-header' face freely
16719         customizable, as they differ by region/culture.
16720         * doc/emacs/calendar.texi (Move to Beginning or End): Document the
16721         new variable.
16722         * lisp/calendar/calendar.el (calendar-generate-month): New variable
16723         calendar-weekend-days to customize day header fontification.
16725 2015-08-03  Paul Eggert  <eggert@cs.ucla.edu>
16727         Redo text-quoting-style variable
16728         Rename help-quote-translation to text-quoting-style,
16729         and use symbols rather than characters as values.
16730         This follows suggestions along these lines by Alan Mackenzie in:
16731         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00343.html
16732         and by Drew Adams in:
16733         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00048.html
16734         * doc/lispref/help.texi (Keys in Documentation)
16735         * etc/NEWS:
16736         * lisp/cus-start.el (standard):
16737         * src/doc.c (Fsubstitute_command_keys, syms_of_doc):
16738         Document and/or implement the new behavior instead of the old.
16739         (syms_of_doc): New symbols 'grave' and 'straight'.
16741 2015-08-03  Nikolaus Rath  <Nikolaus@rath.org>
16743         nnimap.el: Use IMAP MOVE extension if available
16744         * lisp/gnus/nnimap.el (nnimap-request-move-article)
16745         (nnimap-process-expiry-targets, nnimap-split-incoming-mail):
16746         Use MOVE extension if available.
16748         nnimap.el: Explicitly ask for server capabilities
16749         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Don't assume full
16750         capabilities will be returned in the login-result.
16752 2015-08-02  Paul Eggert  <eggert@cs.ucla.edu>
16754         Treat help strings like other doc strings
16755         * doc/lispref/text.texi (Special Properties), etc/NEWS: Document this.
16756         * lisp/epa.el (epa--select-keys): Remove no-longer-needed calls to
16757         substitute-command-keys.
16758         * src/keyboard.c (show_help_echo, parse_menu_item): Call
16759         substitute-command-keys on the help string before displaying it.
16761         Also mention "curly quotes"
16762         See Drew Adams's email in:
16763         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00040.html
16764         * doc/lispref/help.texi (Keys in Documentation):
16765         Add index entry "curly quotes".
16766         * etc/NEWS: Use the phrase "curly quotes" too.
16768         ede-proj-target-makefile docstring tweaks
16769         * lisp/cedet/ede/proj.el (ede-proj-target-makefile):
16770         Consistently use "all:" to describe the all: target,
16771         replacing three different and confusingly-quoted usages.
16773 2015-08-02  Evgeny Fraimovitch  <johnlen7@gmail.com>  (tiny change)
16775         Don't abort emacsclientw when -a was specified
16776         * lib-src/emacsclient.c (set_tcp_socket) [WINDOWSNT]: Don't error
16777         out if we are in emacsclientw and -a was specified.
16779 2015-08-02  Eli Zaretskii  <eliz@gnu.org>
16781         Fix handling of 1st keystroke on MS-Windows
16782         * src/w32fns.c (globals_of_w32fns): Initialize after_deadkey to -1.
16783         This is needed to correctly handle the session's first keystroke,
16784         if it has any modifiers.  (Bug#19994)
16786 2015-08-02  Paul Eggert  <eggert@cs.ucla.edu>
16788         Substitute some customization etc. doc strings
16789         These changes apply substitute-command-keys to some
16790         doc strings that were going through untranslated
16791         when creating customization or other widgets.
16792         * lisp/cus-edit.el (custom-group-value-create):
16793         * lisp/wid-edit.el (widget-default-create):
16794         (widget-push-button-value-create):
16795         Treat the widget tag as a doc string.
16796         * lisp/emacs-lisp/cl-extra.el (cl--describe-class-slot):
16797         Treat the :documentation value as a doc string.
16798         * lisp/wid-edit.el (widget-choose):
16799         Treat the choice names as doc strings.
16800         (widget-default-create): Treat the :doc value as a doc string.
16801         (widget-toggle-value-create): Treat the :on and :off values
16802         as doc strings.
16803         (widget-documentation-string-value-create):
16804         Substitute the doc string.
16806 2015-08-01  Dmitry Gutov  <dgutov@yandex.ru>
16808         Add a second argument to project-ignores
16809         * lisp/progmodes/project.el (project-ignores): Add a second
16810         argument DIR.
16811         * lisp/progmodes/project.el (project-ignores): Only include the VC
16812         ignores if DIR is the VC root.
16813         * lisp/progmodes/xref.el (xref-find-regexp): Update accordingly.
16815 2015-08-01  Eli Zaretskii  <eliz@gnu.org>
16817         Prevent incorrect display when 'line-spacing' variable is set
16818         * src/xdisp.c (try_window_id): Give up this optimization if the
16819         buffer has its 'line-spacing' variable set non-nil.
16821 2015-08-01  Dmitry Gutov  <dgutov@yandex.ru>
16823         Don't pass NOVISIT to find-file
16824         * lisp/progmodes/etags.el (next-file):
16825         Don't pass NOVISIT to find-file (bug#21175).
16827         Ignore buffer restriction for tags-loop-eval
16828         * lisp/progmodes/etags.el (tags-loop-continue): Ignore buffer
16829         restriction (bug#21167).
16831 2015-08-01  Eli Zaretskii  <eliz@gnu.org>
16833         Fix a thinko in 'ffap-gopher-at-point'
16834         * lisp/ffap.el (ffap-gopher-at-point): Fix last change.  (Bug#21168)
16836         Honor 'line-spacing' for empty lines
16837         * src/xdisp.c (append_space_for_newline): Honor 'line-height'
16838         property and 'line-spacing' frame parameter or variable or
16839         property for empty lines, by doing the same processing as in
16840         x_produce_glyph for newline characters.  (Bug#21165)
16842 2015-08-01  Paul Eggert  <eggert@cs.ucla.edu>
16844         Simplify by assuming C99 integer division
16845         * src/floatfns.c (ceiling2, floor2, truncate2):
16846         Assume C99 (i.e., Fortran) semantics for integer division.
16847         This simplifies the code.
16849 2015-07-31  Paul Eggert  <eggert@cs.ucla.edu>
16851         Don't overflow if computing approximate percentage
16852         * lisp/align.el (align-region):
16853         * lisp/cedet/semantic.el (semantic-repeat-parse-whole-stream):
16854         * lisp/cedet/semantic/wisent.el (wisent-parse-region):
16855         * lisp/cus-edit.el (custom-buffer-create-internal):
16856         * lisp/emacs-lisp/checkdoc.el (checkdoc-interactive-ispell-loop)
16857         (checkdoc-message-interactive-ispell-loop, checkdoc-next-error)
16858         (checkdoc-next-message-error):
16859         * lisp/emacs-lisp/eieio-opt.el (eieio-display-method-list):
16860         * lisp/epa.el (epa-progress-callback-function):
16861         * lisp/erc/erc-dcc.el (erc-dcc-do-LIST-command):
16862         * lisp/ffap.el (ffap-menu-rescan):
16863         * lisp/gnus/nnbabyl.el (nnbabyl-retrieve-headers):
16864         * lisp/gnus/nndiary.el (nndiary-retrieve-headers):
16865         * lisp/gnus/nneething.el (nneething-retrieve-headers):
16866         * lisp/gnus/nnmbox.el (nnmbox-retrieve-headers):
16867         * lisp/gnus/nnmh.el (nnmh-retrieve-headers):
16868         * lisp/gnus/nnml.el (nnml-retrieve-headers):
16869         * lisp/gnus/nnspool.el (nnspool-retrieve-headers):
16870         * lisp/gnus/nntp.el (nntp-retrieve-headers)
16871         (nntp-retrieve-articles):
16872         * lisp/imenu.el (imenu--relative-position):
16873         * lisp/international/ja-dic-cnv.el (skkdic-collect-okuri-nasi)
16874         (skkdic-convert-okuri-nasi):
16875         * lisp/net/ange-ftp.el (ange-ftp-process-handle-hash):
16876         * lisp/nxml/rng-valid.el (rng-compute-mode-line-string):
16877         * lisp/org/org-list.el (org-update-checkbox-count):
16878         * lisp/org/org.el (org-table-map-tables)
16879         (org-update-parent-todo-statistics):
16880         * lisp/play/decipher.el (decipher-insert-frequency-counts)
16881         (decipher-analyze-buffer):
16882         * lisp/profiler.el (profiler-format-percent):
16883         * lisp/progmodes/cc-cmds.el (c-progress-update):
16884         * lisp/progmodes/cpp.el (cpp-highlight-buffer):
16885         * lisp/progmodes/idlwave.el (idlwave-convert-xml-system-routine-info)
16886         (idlwave-list-load-path-shadows):
16887         * lisp/progmodes/opascal.el (opascal-step-progress):
16888         * lisp/progmodes/vhdl-mode.el (vhdl-update-progress-info)
16889         (vhdl-scan-directory-contents):
16890         * lisp/textmodes/bibtex.el (bibtex-progress-message):
16891         * lisp/textmodes/flyspell.el (flyspell-small-region)
16892         (flyspell-external-point-words):
16893         * lisp/textmodes/table.el (table-recognize):
16894         Prefer (floor (* 100.0 NUMERATOR) DENOMINATOR) when calculating
16895         progress-report percentages and the like.  This avoids problems
16896         if (* 100 NUMERATOR) would overflow.
16897         * lisp/gnus/gnus-registry.el (gnus-registry-import-eld):
16898         * lisp/gnus/registry.el (registry-reindex):
16899         Use (* 100.0 ...) rather than (* 100 ...) to avoid int overflow issues.
16900         * lisp/descr-text.el (describe-char):
16901         * lisp/org/org-colview.el (org-nofm-to-completion):
16902         * lisp/ps-print.el (ps-plot):
16903         * lisp/simple.el (what-cursor-position):
16904         Prefer (round (* 100.0 NUMERATOR) DENOMINATOR) to a
16905         more-complicated and less-accurate approximation.
16907         Fix some int overflows in profiler.c
16908         * src/profiler.c (make_log): Make args EMACS_INT, not int,
16909         to avoid unwanted behavior on 'int' overflow.
16910         (make_log, evict_lower_half, record_backtrace):
16911         Use ptrdiff_t, not int, for object indexes.
16913         Port to pedantic memcpy
16914         * src/keyboard.c (menu_bar_items, tool_bar_items):
16915         * src/xrdb.c (magic_db):
16916         Port to pedantic memcpy implementations that reject memcpy (0, 0, 0).
16918         Merge from gnulib
16919         This incorporates:
16920         2015-07-29 time_rz: port to pedantic memcpy
16921         * lib/time_rz.c: Copy from gnulib.
16923 2015-07-31  Artur Malabarba  <bruce.connor.am@gmail.com>
16925         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
16926         When updating the very last entry, tabulated-list-print would
16927         erase it and then try to look at the next one (which obviously
16928         isn't there).
16930 2015-07-31  Eli Zaretskii  <eliz@gnu.org>
16932         Allow to use the old key processing code on MS-Windows
16933         * src/w32fns.c (syms_of_w32fns) <w32-use-fallback-wm-chars-method>:
16934         New variable.
16935         (w32_wnd_proc): Use it to invoke the old code that processed
16936         character keys, as fallback, when this variable is non-nil.
16937         Fix typos in comments.  (Bug#19994)
16939 2015-07-31  Ilya Zakharevich  <ilya@math.berkeley.edu>
16941         Improve handling of Unicode keyboard input on MS-Windows
16942         * src/w32fns.c (get_wm_chars, deliver_wm_chars): New functions.
16943         (FPRINTF_WM_CHARS) [DEBUG_WM_CHARS]: New macro for debugging.
16944         (w32_wnd_proc): Call deliver_wm_chars to process non-special keys
16945         upon receiving WM_KEYDOWN or WM_SYSKEYDOWN messages.  If that is
16946         successful, don't call TranslateMessage.  (Bug#19994)
16948 2015-07-30  Dmitry Gutov  <dgutov@yandex.ru>
16950         Fix default-directory in changeset diffs after vc-print-log
16951         * lisp/vc/log-view.el (log-view-diff-common): Move the
16952         revision-granularity check back into log-view-diff-changeset.
16953         (log-view-diff-changeset): Bind default-directory to the current
16954         VC root.
16956         Rename project-directories to project-roots
16957         * lisp/progmodes/project.el (project-search-path-function)
16958         (project-search-path): Update the docstring.
16959         (project-directories): Rename to `project-roots', update all
16960         callers and implementations accordingly.
16961         (project-root): Remove.
16962         * lisp/progmodes/xref.el (xref-find-regexp): Use * instead of *.*
16963         as the default file mask.
16965 2015-07-30  Eli Zaretskii  <eliz@gnu.org>
16967         Support long URLs in w32-shell-execute
16968         * src/w32fns.c (Fw32_shell_execute): Don't use filename_to_utf16
16969         and filename_to_ansi to convert the DOCUMENT argument, as it could
16970         be a URL that is not limited to MAX_PATH characters.  Instead, use
16971         MultiByteToWideChar directly, and allocate heap storage as
16972         required to accommodate the converted string.  Likewise with
16973         non-Unicode operation.  Ensure OPERATION is null-terminated, even
16974         if it is longer than 32K bytes.  (Bug#21158)
16976 2015-07-30  Stephen Leake  <stephen_leake@stephe-leake.org>
16978         * lisp/vc/vc-mtn.el (vc-mtn-find-revision): Handle null rev.
16980 2015-07-29  Stephen Leake  <stephen_leake@stephe-leake.org>
16982         Add docs for display-buffer action display-buffer-use-some-frame
16983         * lisp/window.el (display-buffer-use-some-frame): Improve doc string.
16984         * doc/lispref/windows.texi (Display Action Functions):
16985         Add display-buffer-use-some-frame.
16986         * etc/NEWS: Mention display-buffer-use-some-frame.
16988         Add display-buffer action display-buffer-use-some-frame
16989         * lisp/window.el (display-buffer-use-some-frame): New.
16991         Handle vc-mtn error more gently
16992         * lisp/vc/vc-mtn.el (vc-mtn-mode-line-string): Return "" when
16993         branch is nil.
16995 2015-07-29  Michael Albinus  <michael.albinus@gmx.de>
16997         Fix Tramp problems with multihops, and nc
16998         * lisp/net/tramp-cache.el (tramp-get-file-property)
16999         (tramp-set-file-property, tramp-flush-file-property)
17000         (tramp-get-connection-property, tramp-set-connection-property)
17001         (tramp-flush-connection-property): Remove hop from vector.
17002         * lisp/net/tramp-gw.el (tramp-gw-process-filter): Ignore errors.
17003         * lisp/net/tramp-sh.el (tramp-methods) <nc>: Separate STDERR.
17004         (tramp-do-copy-or-rename-file-out-of-band): Increase timeout of
17005         netstat to 60".
17006         (tramp-sh-handle-start-file-process): Do not show hops in prompt.
17007         * lisp/net/tramp.el (tramp-handle-file-name-as-directory)
17008         (tramp-handle-file-name-directory, tramp-handle-file-remote-p):
17009         Keep hop in result.
17010         * test/automated/tramp-tests.el (tramp-test02-file-name-dissect):
17011         Add hop tests.
17013 2015-07-29  Eli Zaretskii  <eliz@gnu.org>
17015         Resurrect highlighting of repeated words by Flyspell Mode
17016         * lisp/textmodes/flyspell.el (flyspell-word): Leave some non-word
17017         characters between point and the doublon candidate, so that
17018         flyspell-word-search-backward finds it.  (Bug#21157)
17020         Fix redisplay of large images on expose events
17021         * src/xdisp.c (expose_window, expose_area): Avoid comparisons
17022         between signed negative values and unsigned values.  This
17023         prevented redisplay on expose events when the window showed a very
17024         large image.
17026 2015-07-29  Paul Eggert  <eggert@cs.ucla.edu>
17028         Remove unnecessary stack overflow dependency
17029         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING):
17030         Don't worry about $ac_cv_header_sys_resource_h and
17031         $ac_cv_func_getrlimit, as they're no longer needed for this.
17032         Problem reported by Eli Zaretskii in:
17033         http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00443.html
17035 2015-07-28  Andy Moreton  <andrewjmoreton@gmail.com>  (tiny change)
17037         Pacify compilation -Wincompatible-pointer-types warnings
17038         * src/w32proc.c (Fw32_get_codepage_charset): Avoid compilation
17039         warning.
17040         (CompareStringW_Proc): New typedef.
17041         (w32_compare_strings): Use it, to pacify compiler warnings under
17042         "-Wincompatible-pointer-types".
17043         * src/w32fns.c (GetDiskFreeSpaceExW_Proc)
17044         (GetDiskFreeSpaceExA_Proc): New typedefs.
17045         (Ffile_system_info): Use them, to pacify compiler warnings under
17046         "-Wincompatible-pointer-types".
17048 2015-07-28  Paul Eggert  <eggert@cs.ucla.edu>
17050         Fix subscript error in calculate_direct_scrolling
17051         Use slightly-longer cost vectors.  Without this change,
17052         calculate_direct_scrolling can have a subscript violation when
17053         FRAME_LINES (frame) <= delta.
17054         * src/scroll.c (calculate_scrolling, calculate_direct_scrolling)
17055         (line_ins_del, do_line_insertion_deletion_costs):
17056         Allocate and use slightly-larger cost vectors, ones based on
17057         FRAME_TOTAL_LINES instead of FRAME_LINES.
17059         Fix uninitalized value in encode_coding_object
17060         * src/coding.c (encode_coding_object): Also initialize
17061         coding->src_pos and coding->src_pos_byte when NILP (src_object).
17062         This avoids later use of uninitialized storage.
17064 2015-07-27  Xue Fuqiao  <xfq.free@gmail.com>
17066         * doc/lispref/variables.texi (Variable Aliases): Typo fix.
17067         (Bug#21141)
17069 2015-07-27  Paul Eggert  <eggert@cs.ucla.edu>
17071         Merge from gnulib
17072         This incorporates:
17073         2015-07-27 time_rz: port better to MinGW
17074         2015-07-27 time: port __need_time_t to MinGW
17075         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
17076         * lib/strftime.c, lib/time.in.h, lib/time_rz.c: Copy from gnulib.
17077         * lib/time-internal.h: New file, from gnulib.
17079 2015-07-27  Eli Zaretskii  <eliz@gnu.org>
17081         Handle NULL pointers in w32heap.c allocation routines
17082         * src/w32heap.c (FREEABLE_P): Consider a NULL pointer "not
17083         freeable".
17084         (realloc_after_dump, realloc_before_dump, free_before_dump):
17085         Handle NULL pointers gracefully, as Emacs now seems to expect that.
17087         Fix Cairo build without PNG
17088         * src/image.c: Define PNG function when USE_CAIRO is defined, even
17089         if HAVE_PNG is not.  (Bug#21133)
17091         MS-Windows follow-up for recent TZ-related changes
17092         * nt/mingw-cfg.site (ac_cv_header_pthread_h)
17093         (gl_cv_sys_struct_timespec_in_pthread_h): Force to "no", to avoid
17094         picking up 'struct timespec' from pthread.h, if it is installed on
17095         the user's system.  We want either the definitions from MinGW
17096         system headers, if available, or the Gnulib replacements if not.
17097         * nt/inc/ms-w32.h <struct timespec>: Don't define, as we now use
17098         lib/time.h.
17099         * lib/time.in.h: Don't let __need_* symbols affect what happens on
17100         MinGW.  These symbols are defined by MinGW system headers, but we
17101         don't want that to affect whether Gnulib portions of the header
17102         are or aren't used.
17104 2015-07-26  Paul Eggert  <eggert@cs.ucla.edu>
17106         * src/ftfont.c (ftfont_close): Add comment re Bug#20890.
17108         New optional ZONE arg for format-time-string etc.
17109         This simplifies time conversions in other time zones.
17110         It also prevents display-time-world tampering with TZ (Bug#21020).
17111         * admin/admin.el (add-release-logs):
17112         Use improved add-log-time-format API.
17113         * admin/merge-gnulib (GNULIB_MODULES): Add time_rz, timegm.
17114         (GNULIB_TOOL_FLAGS): Avoid flexmember, setenv, unsetenv.
17115         * configure.ac (tzalloc): Remove test for this, since
17116         Emacs no longer uses HAVE_TZALLOC directly.
17117         * doc/lispref/os.texi (Time of Day, Time Conversion)
17118         (Time Parsing):
17119         * etc/NEWS: Document the new behavior.
17120         Merge from gnulib, incorporating:
17121         2015-07-25 strftime: fix newly-introduced bug on Solaris
17122         2015-07-23 fprintftime, strftime: use timezone_t args
17123         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
17124         * lib/strftime.c, lib/strftime.h, lib/time.in.h, m4/sys_time_h.m4:
17125         * m4/time_h.m4:
17126         Update from gnulib.
17127         * lib/time_rz.c, lib/timegm.c, m4/time_rz.m4, m4/timegm.m4:
17128         New files from gnulib.
17129         * lisp/time-stamp.el (time-stamp-string):
17130         * lisp/time.el (display-time-world-list)
17131         (display-time-world-display):
17132         Use new API, with time zone arg.
17133         * lisp/time.el (display-time-world-display):
17134         Fix race when current-time advances while we're running.
17135         * lisp/vc/add-log.el (add-log-iso8601-time-zone)
17136         (add-log-iso8601-time-string): Accept optional time zone arg.
17137         * lisp/vc/add-log.el (add-change-log-entry):
17138         * lisp/vc/log-edit.el (log-edit-changelog-ours-p): Use new arg.
17139         * nt/gnulib.mk: Propagate lib/gnulib.mk changes here.
17140         Add rules for the time module, since they're now needed
17141         for tzalloc etc.
17142         * src/conf_post.h (getenv_TZ, setenv_TZ): New macros.
17143         (emacs_getenv_TZ, emacs_setenv_TZ): New decls.
17144         * src/editfns.c: Include errno.h.
17145         (set_time_zone_rule): Omit unnecessary forward decl.
17146         (initial_tz): Remove, replacing with ...
17147         (local_tz, wall_clock_tz, utc_tz): New static vars and constants.
17148         (tzeqlen): New constant; prefer it to (sizeof "TZ=" - 1).
17149         (emacs_localtime_rz, emacs_mktime_z, xtzalloc, xtzfree)
17150         (tzlookup): New static functions.
17151         (init_editfns): New arg DUMPING.  All uses changed.
17152         (init_editfns): Omit most initialization if dumping, not if
17153         !initialized.  Initialize wall_clock_tz and local_tz.
17154         (emacs_nmemftime, format_time_string): Time zone argument can now
17155         be any time zone, not just a boolean for UTC or local time.  All
17156         callers changed.
17157         (Fformat_time_string, Fencode_time, Fcurrent_time_string)
17158         (Fcurrent_time_zone): New optional arg ZONE.
17159         (Fdecode_time, Fset_time_zone_rule): ZONE arg can now also take
17160         the same form as with the other new additions.
17161         (decode_time_zone): Remove; no longer needed.
17162         (tzvalbuf): Now file-scope.
17163         (emacs_getenv_TZ, emacs_setenv_TZ): New functions.
17164         (syms_of_editfns): Define Qwall.
17165         * src/editfns.c (mktime_z) [!HAVE_TZALLOC]:
17166         * src/systime.h (mktime_z, timezone_t, tzalloc, tzfree)
17167         [!HAVE_TZALLOC]:
17168         Remove; now supplied by gnulib.
17169         * src/emacs.c (main):
17170         * src/lisp.h (init_editfns): Adjust to init_editfns API change.
17172 2015-07-26  Shigeru Fukaya  <shigeru.fukaya@gmail.com>
17174         Fix infinite loop in delete-consecutive-dups
17175         * lisp/subr.el (delete-consecutive-dups): Work even if the last
17176         element is nil (Bug#20588).  Avoid rescan of a circular list in
17177         deletion of last element.
17179 2015-07-26  Martin Rudalics  <rudalics@gmx.at>
17181         Have `x-frame-geometry' return nil for terminal and initial
17182         frames (Bug#21132)
17183         * src/nsfns.m (Fx_frame_geometry):
17184         * src/xfns.c (Fx_frame_geometry): Return nil for initial and
17185         terminal frames.
17186         * src/w32fns.c (Fw32_frame_menu_bar_size, Fw32_frame_rect)
17187         (Fx_frame_geometry): Return nil for terminal frames
17189 2015-07-26  HOSOYA Kei  <hosoyakei.free@gmail.com>  (tiny change)
17191         * etc/tutorials/TUTORIAL.ja: Improve translation.
17193 2015-07-25  Eli Zaretskii  <eliz@gnu.org>
17195         Avoid crashes when w32 GUI functions are called in -batch
17196         * src/w32fns.c (Fx_frame_geometry, Fw32_frame_rect)
17197         (Fw32_frame_menu_bar_size, Fw32_send_sys_command): Don't call
17198         FRAME_W32_WINDOW for initial frame.  (Bug#21132)
17200         Fix flyspell-check-previous-highlighted-word
17201         * lisp/textmodes/flyspell.el
17202         (flyspell-check-previous-highlighted-word): Really accept a
17203         numeric argument, as the doc string describes.  Fix an off-by-one
17204         error in looking up overlays, so invocation with point immediately
17205         after a word would check that word.  Clarify the doc string as
17206         Suggested by N. Jackson <nljlistbox2@gmail.com>.  (Bug#21129)
17208 2015-07-24  Michael Albinus  <michael.albinus@gmx.de>
17210         Minor cleanup in tramp-tests.el
17211         * test/automated/tramp-tests.el (tramp-test31-*, tramp-test32-*):
17212         Implement using the documented interface
17213         `tramp-connection-properties', rather than with internal functions.
17215 2015-07-24  Harald Hanche-Olsen  <hanche@math.ntnu.no>  (tiny change)
17217         Pass lambdas to `skeleton-read'
17218         * lisp/skeleton.el (skeleton-read): Allow PROMPT to be a function.
17219         * lisp/textmodes/sgml-mode.el (sgml-attributes, sgml-value): Pass
17220         lambdas to `skeleton-read' (bug#20386).
17222 2015-07-24  Eli Zaretskii  <eliz@gnu.org>
17224         * INSTALL (DETAILED BUILDING AND INSTALLATION):
17225         Mention --without-imagemagick.
17227         Don't require GUI frames and mouse for Flyspell menus
17228         * lisp/textmodes/flyspell.el (flyspell-correct-word-before-point)
17229         (flyspell-emacs-popup): Require neither a GUI frame nor mouse
17230         support, since pop-up menus work with text terminals and can be
17231         controlled via the keyboard.
17233         Improve documentation of Flyspell commands
17234         * doc/emacs/fixit.texi (Spelling): Mention Flyspell commands that
17235         can be invoked via the keyboard.  Mention those commands by name
17236         and add them to the fn index.  (Bug#21125)
17238 2015-07-23  Michael Albinus  <michael.albinus@gmx.de>
17240         Fix some Tramp problems with HP-UX
17241         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
17242         Add "tab0" to stty call.
17243         * test/automated/tramp-tests.el (tramp-persistency-file-name):
17244         Set to nil.
17245         (tramp--test-hpux-p): New defun.
17246         (tramp--test-utf8): Use it.
17248 2015-07-22  Glenn Morris  <rgm@gnu.org>
17250         * build-aux/update-subdirs: Put "no-update-autoloads: t" in output.
17252 2015-07-22  Eli Zaretskii  <eliz@gnu.org>
17254         Fix point positioning in ffap-next-guess
17255         * lisp/ffap.el (ffap-url-at-point): Set ffap-string-at-point-region,
17256         as our callers expect.  This was clobbered as part of fixing
17257         bug#5673.  (Bug#21107)
17258         (ffap-gopher-at-point): Set ffap-string-at-point-region.
17260 2015-07-22  Martin Rudalics  <rudalics@gmx.at>
17262         * lisp/window.el (even-window-sizes): Fix customization type.
17264         Optionally even widths of `display-buffer' windows.  (Bug#21100)
17265         * lisp/window.el (quit-restore-window): Restore width if
17266         requested.
17267         (display-buffer-record-window): Record width when window is
17268         reused and horizontally combined.
17269         (even-window-sizes): New option to allow evening window widths.
17270         (even-window-heights): Defalias to `even-window-sizes'.
17271         (window--even-window-heights): Rename to
17272         `window--even-window-sizes'.  Handle side-by-side windows.
17273         (display-buffer-use-some-window): Call `window--even-window-sizes'
17274         instead of `window--even-window-heights'.
17275         * lisp/help.el (resize-temp-buffer-window): Fix indentation.
17276         * doc/lispref/windows.texi (Choosing Window Options): Describe
17277         `even-window-sizes'.
17278         (Coordinates and Windows): Fix typo.
17280 2015-07-22  Stephen Leake  <stephen_leake@stephe-leake.org>
17282         Add file name to autoload error messages
17283         * lisp/emacs-lisp/autoload.el (autoload-save-buffers):
17284         Add condition-case to add file name to error message.
17286 2015-07-22  Michael Albinus  <michael.albinus@gmx.de>
17288         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options):
17289         Use 0.0.0.1 as test host.
17291 2015-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
17293         (advice--called-interactively-skip): Fix inf-loop (bug#21083)
17294         * lisp/emacs-lisp/nadvice.el (advice--called-interactively-skip):
17295         Fix inf-loop (bug#21083).
17297 2015-07-21  Glenn Morris  <rgm@gnu.org>
17299         * test/automated/package-test.el (package-test-signed):
17300         Update for recent changes.
17302         * test/automated/elisp-mode-tests.el
17303         (elisp-xref-finds-both-function-and-variable)
17304         (elisp-xref-finds-only-function-for-minor-mode):
17305         Update for recent xref name changes.
17307 2015-07-21  Dmitry Gutov  <dgutov@yandex.ru>
17309         Make eldoc timer non-repeatable
17310         * lisp/emacs-lisp/eldoc.el (eldoc-schedule-timer): Make the timer
17311         non-repeatable.  Since it's on post-command hook, that just wasted
17312         CPU cycles.
17314 2015-07-21  Michael Albinus  <michael.albinus@gmx.de>
17316         Mention `tramp-connection-properties' in NEWS
17318         Sync with Tramp repository
17319         * doc/misc/tramp.texi (Configuration): Note, that Tramp must be
17320         required prior changing its configuration.
17321         (Connection caching, Predefined connection information)
17322         (Remote shell setup): Fix typos.
17323         (Predefined connection information): Describe, how to overwrite
17324         parameters of `tramp-methods'.
17325         (Remote programs, Remote processes, Traces and Profiles):
17326         Simplify example.
17327         (Remote programs): Remove superfluous comment.
17328         * doc/misc/trampver.texi: Update release number.
17329         * lisp/net/tramp-cache.el (tramp-connection-properties):
17330         Adapt docstring.
17331         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file): New defun.
17332         (tramp-gvfs-handle-copy-file, tramp-gvfs-handle-rename-file): Use it.
17333         (tramp-gvfs-handle-make-directory): Reimplement PARENTS handling,
17334         "gvfs-mkdir -p ..." does not work robust.
17335         (tramp-gvfs-maybe-open-connection):
17336         Adapt `tramp-get-method-parameter' call.
17337         * lisp/net/tramp-sh.el (tramp-methods):
17338         Add `tramp-remote-shell-login' parameter where it fits.
17339         (tramp-get-remote-path): Use it.
17340         (tramp-make-copy-program-file-name): Fix quoting for "psftp" method.
17341         (all): Adapt `tramp-get-method-parameter' calls.
17342         * lisp/net/tramp.el (tramp-methods): Adapt docstring.
17343         (tramp-get-method-parameter): Replace argument METHOD by VEC.
17344         Check also for hits in `tramp-connection-properties'.  Adapt docstring.
17345         (tramp-get-remote-tmpdir): Cache only the local name of tmpdir.
17346         (all): Adapt `tramp-get-method-parameter' calls.
17347         * lisp/net/trampver.el Update release number.
17348         * test/automated/tramp-tests.el (tramp--instrument-test-case):
17349         Add "^make-symbolic-link not supported$" to `debug-ignored-errors'.
17350         (tramp-test13-make-directory, tramp--test-adb-p)
17351         (tramp--test-smb-or-windows-nt-p): Simplify.
17352         (tramp--test-ftp-p, tramp--test-gvfs-p): New defuns.
17353         (tramp--test-special-characters): Fix docstring.  Add gvfs and
17354         ftp tests.
17355         (tramp--test-utf8): Fix docstring.
17357 2015-07-20  Dmitry Gutov  <dgutov@yandex.ru>
17359         Add new xref-query-replace command
17360         * lisp/progmodes/xref.el (xref--match-buffer-bounds):
17361         New function, extracted from xref-pulse-momentarily.
17362         (xref-query-replace): New command.
17363         (xref--query-replace-1): New helper function.
17364         (xref--xref-buffer-mode-map): Add `r' binding.
17366 2015-07-20  Paul Eggert  <eggert@cs.ucla.edu>
17368         Simplify icalendar decoding of Z dates
17369         * lisp/calendar/icalendar.el (icalendar--decode-isodatetime):
17370         Simplify calculation of time strings with trailing "Z".
17372 2015-07-19  Dmitry Gutov  <dgutov@yandex.ru>
17374         Do not corrupt grep-find-ignored-files
17375         * lisp/progmodes/project.el (project-ignores): Change the order of
17376         the arguments to nconc, in order not to corrupt grep-find-ignored-files.
17378         Add xref-match-item, and use it
17379         * lisp/progmodes/xref.el (xref-match-bounds): New generic function.
17380         (xref-file-location): Add reader for the column slot.
17381         (xref-match-item): New class.
17382         (xref-match-bounds): A method implementation for it.
17383         (xref-make-match): New constructor function.
17384         (xref--current-item): New private variable.
17385         (xref-pulse-momentarily): Use it.
17386         (xref--pop-to-location): Change the first argument to an xref
17387         item, instead of location, bind xref--current-item.
17388         Update all callers.
17389         (xref-next-line, xref-prev-line, xref--next-error-function)
17390         (xref--mouse-2): Look for the property `xref-item',
17391         instead of `xref-location'.
17392         (xref--item-at-point): Likewise.  This function replaces
17393         `xref-location-at-point'.  Update all callers.
17394         (xref--insert-xrefs): Add the `xref-item' text property, instead
17395         of `xref-location'.
17396         (xref--collect-match): Use xref-make-match.
17398         * lisp/progmodes/xref.el (xref-item): Rename from `xref--xref'.
17399         Update all references.
17401         * lisp/progmodes/xref.el (xref--xref): Rename the `description'
17402         slot to `summary'.
17404         vc-hg: Perform the print-log call asynchronously
17405         * lisp/vc/vc-hg.el (vc-hg-print-log): Perform the call
17406         asynchronously (bug#21067).
17408         Add xref-after-jump-hook and xref-after-return-hook
17409         * lisp/progmodes/xref.el (xref-after-jump-hook)
17410         (xref-after-return-hook): New hooks.
17411         (xref-pulse-on-jump): Remove, in favor of the above.
17412         (xref-pulse-momentarily): Rename from xref--maybe-pulse.
17413         (xref--pop-to-location, xref--display-position)
17414         (xref-pop-marker-stack): Use the new hooks, as requested in
17415         http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00213.html
17417 2015-07-19  Bozhidar Batsov  <bozhidar@batsov.com>
17419         * lisp/progmodes/js.el (js-mode): Correct the lighter.
17421 2015-07-19  Leo Liu  <sdl.web@gmail.com>
17423         Fix a bug in cfengine3-mode
17424         * lisp/progmodes/cfengine.el (cfengine3-mode): Handle nil
17425         eldoc-documentation-function.
17427 2015-07-18  Julien Danjou  <julien@danjou.info>
17429         sieve-mode: support "body" test command
17430         * lisp/gnus/sieve-mode.el (sieve-font-lock-keywords):
17431         Add missing "body" test command.
17433 2015-07-18  Eli Zaretskii  <eliz@gnu.org>
17435         Fix info-apropos when the default encoding is Latin-N
17436         * lisp/info.el (Info-find-node-2): Reset the buffer's encoding to
17437         'undecided', so that it is set to the encoding of the Info file we
17438         are about to insert.  Otherwise, 'info-apropos' will fail to find
17439         some index nodes in some UTF-8 encoded files, if the buffer's
17440         previous encoding is Latin-N or some such.
17442 2015-07-18  Ivan Andrus  <darthandrus@gmail.com>
17444         * lisp/epg.el (epg--start): Check that gpgconf can be found
17445         before calling it.
17447         Expose more file types to OS X that Emacs understands
17448         * nextstep/Cocoa/Emacs.base/Contents/Info.plist: Add editor role for
17449         sty, dtx, json, and org files.  Export UTIs for el, elc, and org files.
17451 2015-07-18  Eli Zaretskii  <eliz@gnu.org>
17453         Fix visual-order cursor movement when lines are truncated
17454         * src/xdisp.c (Fmove_point_visually): When lines are truncated,
17455         simulate display in a window of infinite width, to allow move_it_*
17456         functions reach positions outside of normal window dimensions.
17457         Remove code that tried to handle a subset of these situations by
17458         manual iteration of buffer text.  (Bug#17777)
17460         Fix following Info cross-references to anchors
17461         * lisp/info.el (Info-read-subfile): Add to the returned value the
17462         length of subfile preamble, after converting it to file's byte
17463         offset, as expected by the caller.  Use bufferpos-to-filepos.
17464         (Info-find-node-2): If searching for a node with a
17465         1000-character slop fails, try again with a 10000-character slop,
17466         to account for known bugs in Texinfo 5.0 and 5.1.  (Bug#21055)
17467         * lisp/international/mule-util.el (bufferpos-to-filepos): New
17468         function.
17469         * etc/NEWS: Mention bufferpos-to-filepos.
17471         Fix scrolling backwards on TTY frames under scroll-conservatively
17472         * src/xdisp.c (move_it_vertically_backward): Fix off-by-one error
17473         in moving backwards on TTY frames.  (Bug#21080)
17475 2015-07-17  Dmitry Gutov  <dgutov@yandex.ru>
17477         Consider a jsdoc tag to be a beginning of a paragraph as well
17478         * lisp/progmodes/js.el (js-mode): Change c-paragraph-start to
17479         consider a jsdoc tag to be a beginning of a paragraph as well.
17481 2015-07-17  Artur Malabarba  <bruce.connor.am@gmail.com>
17483         * lisp/emacs-lisp/package.el: Fix warnings.
17485         * lisp/emacs-lisp/package.el (package-buffer-info):
17486         Add author and maintainers to `package-buffer-info'.
17488         * lisp/emacs-lisp/package.el: Many small changes.
17489         Replace all instances of 'face with 'font-lock-face.
17490         (describe-package-1): Improve some strings and move the summary
17491         up the list.
17492         (package-install-file): Update docstring.
17493         (package-menu-hide-package): Bind to `H'.
17495         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
17496         Fix error handling.
17498 2015-07-17  Paul Eggert  <eggert@cs.ucla.edu>
17500         Fix hang with large yanks This should fix the bug fixed by Mike
17501         Crowe's patch in:
17502         https://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00106.html
17503         A problem in this area has been reported by several users; see
17504         Bug#16737, Bug#17101, Bug#17026, Bug#17172, Bug#19320, Bug#20283.
17505         This fix differs from Mike Crowe's patch in that it should avoid a
17506         race condition that could lose SIGIO signals.  ignore_sigio dates
17507         back to the 1980s when some platforms couldn't block signals, and
17508         could only ignore them, which led to races when signals arrived
17509         while being ignored.  We shouldn't have to worry about those old
17510         platforms now.
17511         * src/dispextern.h, src/sysdep.c (ignore_sigio): Remove.
17512         * src/emacs.c (shut_down_emacs):
17513         Don't call ignore_sigio; unrequest_sigio should suffice.
17514         * src/keyboard.c (kbd_buffer_store_buffered_event):
17515         Use unrequest_sigio, not ignore_sigio.
17516         (kbd_buffer_get_event):
17517         Call request_sigio when getting the ball rolling again.
17519 2015-07-17  Artur Malabarba  <bruce.connor.am@gmail.com>
17521         * lisp/obsolete/longlines.el (longlines-search-function):
17522         Fallback on `isearch-search-fun-default'.
17524 2015-07-17  Tassilo Horn  <tsdh@gnu.org>
17526         Support @-mentions
17527         * lisp/net/rcirc.el (rcirc-completion-at-point): Support completion
17528         of mentions/messages with @nick instead of just nick.
17530 2015-07-16  Michael Albinus  <michael.albinus@gmx.de>
17532         Fix bug#20943
17533         * lisp/autorevert.el (auto-revert-handler): Do not check for
17534         `buffer-modified-p'.
17535         * lisp/files.el (buffer-stale--default-function): Check for
17536         `buffer-modified-p'.
17537         * test/automated/auto-revert-tests.el
17538         (auto-revert-test02-auto-revert-mode-dired): Adapt test.
17540 2015-07-16  Ari Roponen  <ari.roponen@gmail.com>
17542         Fix delete-dups bug on long lists
17543         * lisp/subr.el (delete-dups):
17544         Don't mistakenly keep some dups when applied to long lists.
17546 2015-07-16  Paul Eggert  <eggert@cs.ucla.edu>
17548         Better heuristic for C stack overflow
17549         Improve the heuristic for distinguishing stack overflows from
17550         other SIGSEGV causes (Bug#21004).  Corinna Vinschen explained that
17551         the getrlimit method wasn't portable to Cygwin; see:
17552         https://www.cygwin.com/ml/cygwin/2015-07/msg00092.html
17553         Corinna suggested pthread_getattr_np but this also has problems.
17554         Instead, replace the low-level system stuff with a simple
17555         heuristic based on known good stack addresses.
17556         * src/eval.c, src/lisp.h (near_C_stack_top): New function.
17557         * src/sysdep.c: Don't include <sys/resource.h>.
17558         (stack_direction): Remove.  All uses removed.
17559         (stack_overflow): New function.
17560         (handle_sigsegv): Use it instead of incorrect getrlimit heuristic.
17561         Make SEGV fatal in non-main threads.
17563 2015-07-16  Daiki Ueno  <ueno@gnu.org>
17565         epg: Automatically start pinentry server
17566         * lisp/epg-config.el (epg-gpgconf-program): New variable.
17567         * lisp/epg.el (epg--start): Call `pinentry-start' if
17568         allow-emacs-pinentry is set in ~/.gnupg/gpg-agent.conf.
17570 2015-07-15  Katsumi Yamaoka  <yamaoka@jpl.org>
17572         * lisp/gnus/nnimap.el: Fix my last bogus change.
17573         Reinstall Stefan Monnier's change that was made in
17574         <83d824bc4041332f338ad7e5e830f443535aa300>.
17576 2015-07-15  Paul Eggert  <eggert@cs.ucla.edu>
17578         Merge from gnulib
17579         This incorporates:
17580         2015-07-05 acl-permissions: Document FreeBSD ACL_TYPE_NFS4 acls
17581         2015-07-05 acl-permissions: Fix on FreeBSD
17582         2015-07-05 file-has-acl, acl-permissions: fix some more HP-UX typos
17583         * lib/acl-internal.c, lib/acl-internal.h, lib/get-permissions.c:
17584         * lib/set-permissions.c: Copy from gnulib.
17586         Port to stricter C99
17587         * src/keyboard.h (kbd_buffer_store_event_hold):
17588         Don't return a void expression.
17590 2015-07-15  Xue Fuqiao  <xfq.free@gmail.com>
17592         * doc/emacs/frames.texi (Creating Frames):
17593         Fix the command `C-x 5 m' runs.
17595 2015-07-14  Michael Albinus  <michael.albinus@gmx.de>
17597         New autorevert tests
17598         * test/automated/auto-revert-tests.el: New file.
17600 2015-07-14  Paul Eggert  <eggert@cs.ucla.edu>
17602         Clear gcprolist etc. after stack overflow
17603         After stack overflow, command_loop calls init_eval, and this needs to
17604         clear gcprolist and byte_stack_list (Bug#20996).
17605         * src/alloc.c (init_alloc):
17606         Move gcprolist and byte_stack_list initialization from here ...
17607         * src/eval.c (init_eval): ... to here.
17609 2015-07-13  Xue Fuqiao  <xfq.free@gmail.com>
17611         * doc/emacs/windows.texi (Pop Up Window): Fix the description
17612         of `C-x 4 m'.
17614 2015-07-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
17616         Avoid deprecated enums in mac-ct font backend driver
17617         * src/macfont.m (mac_font_copy_default_descriptors_for_language)
17618         (mac_ctfont_get_advance_width_for_glyph)
17619         (mac_ctfont_get_bounding_rect_for_glyph): Avoid deprecated enums.
17621         Cache font family in mac-ct font backend driver
17622         * src/macfont.m (macfont_family_cache): New variable.
17623         (syms_of_macfont): Initialize it.
17624         (macfont_available_families_cache): New variable.
17625         (macfont_invalidate_family_cache, macfont_get_family_cache_if_present)
17626         (macfont_set_family_cache, macfont_invalidate_available_families_cache)
17627         (macfont_handle_font_change_notification)
17628         (macfont_init_font_change_handler)
17629         (macfont_copy_available_families_cache): New functions.
17630         (macfont_create_family_with_symbol): Use font family caches.
17631         (macfont_list, macfont_list_family):
17632         Use macfont_copy_available_families_cache instead of
17633         mac_font_create_available_families.
17635 2015-07-12  Dmitry Gutov  <dgutov@yandex.ru>
17637         Show the default value in the prompt
17638         * lisp/progmodes/xref.el: Add `M-?' binding for
17639         xref-find-references.  Declare functions `grep-read-files' and
17640         `grep-expand-template'.
17641         (xref--read-identifier): Show the default value in the prompt.
17643         * lisp/progmodes/xref.el (xref-find-regexp): When called with
17644         prefix argument, ask for file patterns to search as well.  When
17645         prompting for the directory, require an existing one.
17646         (xref-collect-matches): Add a new argument, FILES.  Use it in the
17647         above function.
17649         Add `project-ignores'
17650         * lisp/progmodes/project.el (project-ignores): New generic
17651         function, and an implementation for the VC project type.
17652         * lisp/progmodes/xref.el (xref--rgrep-command): Split, as a
17653         variant of rgrep-default-command that handles a generic list of
17654         ignores.
17655         (xref-collect-matches): Use it, and pass through to it the value
17656         of the newly added argument.
17657         (xref-find-regexp): Handle ignored paths within the project.
17658         Remove outdated comment.
17659         * lisp/vc/vc.el (vc-default-ignore-completion-table):
17660         Skip the comments and the empty lines.
17662 2015-07-12  Xue Fuqiao  <xfq.free@gmail.com>
17664         * doc/emacs/buffers.texi (Misc Buffer): Add a cross reference.
17666 2015-07-11  Eric Abrahamsen  <eric@ericabrahamsen.net>
17668         gnus-registry.el: Correct function argument order
17669         * lisp/gnus/gnus-registry.el (gnus-registry--set/remove-mark):
17670         Reverse the order of function arguments.
17672 2015-07-11  Dmitry Gutov  <dgutov@yandex.ru>
17674         Bind grep-highlight-matches to nil
17675         * lisp/progmodes/xref.el (xref-collect-matches):
17676         Bind grep-highlight-matches to nil (bug#20728).
17678 2015-07-11  Nikolaus Rath  <Nikolaus@rath.org>
17680         nnimap.el: Fix IMAP message size parsing
17681         * lisp/gnus/nnimap.el (nnimap-transform-headers):
17682         Don't assume that UID comes before RFC822.SIZE.
17684 2015-07-10  Stefan Monnier  <monnier@iro.umontreal.ca>
17686         * lisp/gnus/nnimap.el: Clean up "unused var" warnings
17687         (auth-source-creation-prompts): Declare.
17688         (nnimap-retrieve-headers, nnimap-status-message)
17689         (nnimap-request-create-group, nnimap-request-delete-group)
17690         (nnimap-close-group, nnimap-request-move-article)
17691         (nnimap-request-accept-article, nnimap-request-newgroups)
17692         (nnimap-request-post, nnimap-dummy-active-number)
17693         (nnimap-save-mail-spec, nnimap-get-groups): Add _ to unused vars.
17694         (nnimap-parse-flags): Remove unused var `p'.
17695         (nnimap-retrieve-group-data-early): Remove unused var `groups'.
17696         (nnimap-flags-to-marks): Remove unused var `totalp'.
17698 2015-07-10  Andy Moreton  <andrewjmoreton@gmail.com>  (tiny change)
17700         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 20MB.
17702 2015-07-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
17704         * src/macfont.m (macfont_list): Ignore font families lacking
17705         font descriptors.
17707 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
17709         Don't check the exit status, it can be misleading
17710         * lisp/progmodes/xref.el (xref-collect-matches): Don't check the
17711         exit status, it can be misleading.
17713         Introduce a Project API
17714         * lisp/progmodes/project.el: New file.
17715         * lisp/cedet/ede.el (project-try-ede): New function.
17716         (project-root): New implementation.
17717         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
17718         Set project-search-path-function.
17719         (elisp--xref-find-references): Delegate some logic to
17720         project-search-path.
17721         (elisp-search-path): New function.
17722         (elisp-xref-find): Don't implement `matches' anymore.
17723         * lisp/progmodes/etags.el: Don't implement `matches'.
17724         Delegate some logic to project-search-path.
17725         (etags-search-path): New function.
17726         * lisp/progmodes/xref.el (xref-find-function):
17727         Remove `matches' from the API.
17728         (xref-find-regexp): Move whatever common logic was in elisp and
17729         etags implementations, and search the directories returned by
17730         project-directories and project-search-path.
17732 2015-07-09  Nicolas Petton  <nicolas@petton.fr>
17734         * test/automated/map-tests.el (test-map-delete-return-value):
17735         Uncomment test.
17737         Add support for gv.el in map.el
17738         * lisp/emacs-lisp/map.el (map-elt, map-delete): Declare a gv-expander.
17739         * lisp/emacs-lisp/map.el (map-put): Refactor using `setf' and `map-elt'.
17740         * test/automated/map-tests.el: Update tests to work with the new
17741         implementations of map-elt and map-put.
17743 2015-07-09  Glenn Morris  <rgm@gnu.org>
17745         * lisp/emacs-lisp/debug.el (debug-help-follow): Use describe-symbol.
17747 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
17749         Syntax-propertize until the end of the line first
17750         * lisp/progmodes/xref.el (xref--collect-match): Syntax-propertize
17751         until the end of the line first.
17753 2015-07-09  Xue Fuqiao  <xfq.free@gmail.com>
17755         * doc/emacs/files.texi (File Archives): Add a cross reference.
17757 2015-07-08  Nikolaus Rath  <Nikolaus@rath.org>
17759         nnimap.el: Handle plain value for nnimap-stream
17760         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Always query
17761         capabilities, so that a 'plain value for the `nnimap-stream' server
17762         variable is handled correctly.
17763         * doc/misc/gnus.texi (Customizing the IMAP Connection):
17764         Document the 'plain option.
17766 2015-07-08  Leo Liu  <sdl.web@gmail.com>
17768         Fix bug in thing-at-point--bounds-of-well-formed-url
17769         * lisp/thingatpt.el (thing-at-point--bounds-of-well-formed-url): Make
17770         sure boundary contains current point.
17772 2015-07-08  Dmitry Gutov  <dgutov@yandex.ru>
17774         * lisp/progmodes/xref.el (xref-collect-matches): Use `nreverse'
17775         in the end.
17777         Declare whitespace-line-column a safe file-local
17778         * lisp/whitespace.el (whitespace-line-column): Declare to be a
17779         safe file-local when the value is an integer.
17781 2015-07-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
17783         gnus-group.el: Check if group names are already strings
17784         * lisp/gnus/gnus-group.el (gnus-group-group-name):
17785         The group name may already be a string.
17786         Specifically, in the group list reached from the *Server* buffer,
17787         the 'gnus-group text property returns a string.  Everywhere else
17788         it returns a symbol.
17790         nnimap.el: Remove unused let variables
17791         * lisp/gnus/nnimap.el (nnimap-request-group): Variables are not used.
17793 2015-07-08  Eli Zaretskii  <eliz@gnu.org>
17795         Support "maximized" property of runemacs's shortcut
17796         * nt/runemacs.c (WinMain): If runemacs is invoked "maximized", pass
17797         the '--maximized' switch to Emacs.
17799         Support "minimized" property of runemacs's shortcut
17800         * nt/runemacs.c (WinMain): If runemacs is invoked "minimized",
17801         pass the '--iconic' switch to Emacs.  (Bug#20991)
17803 2015-07-08  Xue Fuqiao  <xfq.free@gmail.com>
17805         Doc fixes
17806         * doc/emacs/files.texi (Diff Mode): Fix the description of `C-c
17807         C-w' in Diff mode.
17808         * doc/emacs/arevert-xtra.texi (Auto Reverting the Buffer Menu):
17809         Add a cross reference.
17811 2015-07-08  Nicolas Richard  <youngfrog@members.fsf.org>
17813         * lisp/obsolete/landmark.el: Add Obsolete-since header.
17815 2015-07-07  Glenn Morris  <rgm@gnu.org>
17817         * test/automated/ert-tests.el (ert-test-deftest):
17818         Update for recent changes.
17820 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
17822         (gv-setter, gv-synthetic-place, gv-delay-error): New funs/macros
17823         * lisp/emacs-lisp/gv.el (gv-setter): New function.
17824         (gv-invalid-place): New error.
17825         (gv-get): Use them.
17826         (gv-synthetic-place, gv-delay-error): New places.
17827         * lisp/emacs-lisp/cl-generic.el (cl--generic-setf-rewrite): Remove.
17828         (cl-defgeneric, cl-defmethod): Use gv-setter.
17830 2015-07-07  Fabrice Popineau  <fabrice.popineau@gmail.com>
17832         Make vc-tests work with MSYS svn program
17833         * lisp/vc/vc-svn.el (vc-svn-create-repo): Fix the file:// URL when
17834         svn is an MSYS program.
17836 2015-07-07  Ken Brown  <kbrown@cornell.edu>
17838         Improve recent change to emacsclient on Cygwin
17839         * lisp/server.el (server-process-filter): Remove redundant check
17840         that 'cygwin-convert-file-name-from-windows' is defined as a
17841         function on Cygwin.  Don't call that function unless its argument
17842         starts with a drive letter.
17844 2015-07-07  Artur Malabarba  <bruce.connor.am@gmail.com>
17846         * lisp/emacs-lisp/package.el (package-compute-transaction):
17847         Fix void variable due to `found-something' being in the wrong `let'.
17849 2015-07-07  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
17851         * lisp/play/landmark.el: Move to lisp/obsolete/.
17853 2015-07-07  Martin Rudalics  <rudalics@gmx.at>
17855         Have `x-show-tip' handle `right' and `bottom' frame parameters
17856         * src/nsfns.m (compute_tip_xy, Fx_show_tip)
17857         * src/w32fns.c (compute_tip_xy, Fx_show_tip)
17858         * src/xfns.c (compute_tip_xy, Fx_show_tip): Allow aligning
17859         tooltips also via `right' and `bottom' frame parameters.
17861 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
17863         Add online-help support to describe types
17864         * lisp/help-fns.el (describe-symbol-backends): Move to help-mode.el.
17865         (describe-symbol): Improve the selection of default.
17866         * lisp/help-mode.el: Require cl-lib.
17867         (describe-symbol-backends): Move from help-fns.el.
17868         (help-make-xrefs): Use it.
17869         * lisp/emacs-lisp/cl-extra.el (describe-symbol-backends): Add entry
17870         for types.
17871         (cl--typedef-regexp): New const.
17872         (find-function-regexp-alist): Add entry for types.
17873         (cl-help-type, cl-type-definition): New buttons.
17874         (cl-find-class): New function.
17875         (cl-describe-type): New command.
17876         (cl--describe-class, cl--describe-class-slot)
17877         (cl--describe-class-slots): New functions, moved from eieio-opt.el.
17878         * lisp/emacs-lisp/cl-generic.el (cl--generic-method-documentation)
17879         (cl--generic-all-functions, cl--generic-specializers-apply-to-type-p):
17880         New functions.  Moved from eieio-opt.el.
17881         (cl--generic-class-parents): New function, extracted from
17882         cl--generic-struct-specializers.
17883         (cl--generic-struct-specializers): Use it.
17884         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Use pcase-dolist.
17885         Improve constructor's docstrings.
17886         (cl-struct-unknown-slot): New error.
17887         (cl-struct-slot-offset): Use it.
17888         * lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Record the type
17889         definition in current-load-list.
17890         * lisp/emacs-lisp/eieio-core.el (eieio--known-slot-names): New var.
17891         (eieio--add-new-slot): Set it.
17892         (eieio-defclass-internal): Use new name for current-load-list.
17893         (eieio-oref): Add compiler-macro to warn about unknown slots.
17894         * lisp/emacs-lisp/eieio.el (defclass): Update eieio--known-slot-names
17895         as compile-time as well.  Improve constructor docstrings.
17896         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
17897         (eieio--help-print-slot, eieio-help-class-slots): Move to cl-extra.el.
17898         (eieio-class-def): Remove button.
17899         (eieio-help-constructor): Use new name for load-history element.
17900         (eieio--specializers-apply-to-class-p, eieio-all-generic-functions)
17901         (eieio-method-documentation): Move to cl-generic.el.
17902         (eieio-display-method-list): Use new names.
17903         * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression):
17904         Add "define-linline".
17905         (lisp-fdefs): Remove "defsubst".
17906         (el-fdefs): Add "defsubst", "cl-defsubst", and "define-linline".
17907         * lisp/emacs-lisp/macroexp.el (macroexp--warned): New var.
17908         (macroexp--warn-and-return): Use it to avoid inf-loops.
17909         Add `compile-only' argument.
17911 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
17913         python.el: Fix local/remote shell environment setup
17914         * lisp/progmodes/python.el (python-shell-with-environment):
17915         Fix remote/local environment setup.
17916         * test/automated/python-tests.el (python-shell-with-environment-1)
17917         (python-shell-with-environment-2): New tests.
17919 2015-07-06  Glenn Morris  <rgm@gnu.org>
17921         * lisp/simple.el (set-variable): Tweak recent doc fix.
17923 2015-07-06  Ken Brown  <kbrown@cornell.edu>
17925         * src/sysdep.c (handle_sigsegv) [CYGWIN]: Increase STACK_DANGER_ZONE.
17927 2015-07-06  Glenn Morris  <rgm@gnu.org>
17929         * lisp/simple.el (set-variable): Use user-error for type mismatch.
17931 2015-07-06  Ken Brown  <kbrown@cornell.edu>
17933         * src/emacs.c (main): Don't increase the stack size on Cygwin.
17935 2015-07-06  Stefan Monnier  <monnier@iro.umontreal.ca>
17937         (describe-symbol): Rewrite describe-function-or-variable
17938         * lisp/help-fns.el (describe-symbol-backends): New var.
17939         (help-xref-stack-item): Declare.
17940         (describe-symbol): Rename from describe-function-or-variable.
17941         Rewrite using describe-symbol-backends instead of help-xref-interned.
17942         * lisp/help.el (help-map): Use it.
17943         * lisp/help-mode.el (help-symbol, help-follow-symbol): Use it.
17944         (help-xref-interned): Make it into an obsolete alias.
17946         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-save): Don't ignore
17947         `file' arg (bug#20972).  Always use utf-8-emacs.  Use with-temp-buffer
17948         and cl-letf.
17950 2015-07-06  Wolfgang Jenkner  <wjenkner@inode.at>
17952         Fix parsing glitches in dired-mark-sexp (bug#13575)
17953         * lisp/dired-x.el (dired-x--string-to-number): New function.
17954         (dired-mark-sexp): Use it.  Tweak dired-re-inode-size.  Fix usage
17955         of directory-listing-before-filename-regexp.  Consider
17956         forward-word harmful and replace it.  Add more verbiage in
17957         comments and doc string.
17959 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
17961         python.el: Respect process environment for remote shells
17962         * lisp/progmodes/python.el
17963         (python-shell-calculate-process-environment): Calculate
17964         process-environment or tramp-remote-process-environment depending
17965         whether current file is remote.
17966         (python-shell-calculate-exec-path): Calculate exec-path or
17967         tramp-remote-path depending whether current file is remote.
17968         (python-shell-with-environment): New macro.
17969         (python-shell-prompt-detect, python-shell-calculate-command)
17970         (python-shell-make-comint, python-check): Use it.
17972         python.el: Avoid making let-bound defvars buffer local  (Bug#18244)
17973         * lisp/progmodes/python.el (python-shell--interpreter)
17974         (python-shell--interpreter-args): New vars.
17975         (inferior-python-mode, python-shell-make-comint): Use them.
17977         python.el: Fixes for IPython 3.x  (Bug#20580)
17978         * lisp/progmodes/python.el:
17979         (python-shell-completion-native-setup): Fix IPython 3.x setup.
17980         (python-shell-completion-native-get-completions): Fix timeout
17981         logic.
17983         python.el: Fix mark-defun behavior  (Bug#19665)
17984         * lisp/progmodes/python.el (python-mark-defun): New function.
17985         * test/automated/python-tests.el (python-mark-defun-1)
17986         (python-mark-defun-2, python-mark-defun-3): New tests.
17988 2015-07-05  Glenn Morris  <rgm@gnu.org>
17990         * lisp/progmodes/f90.el (f90-type-def-re): Handle attribute lists
17991         such as "extends(parent), private".  (Bug#20969)
17992         * test/automated/f90.el (f90-test-bug20969, f90-test-bug20969b):
17993         New tests.
17995 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
17997         Avoid duplicate calls to current_timespec
17998         * src/process.c (wait_reading_process_output):
17999         Cache current_timespec results as long as we're not waiting.
18001 2015-07-05  Ian Kelling  <ian@iankelling.org>
18003         Avoid returning early reading process output due to SIGIO
18004         * src/process.c (wait_reading_process_output): Extend the behavior of
18005         not breaking due to not finding output when a timer has lowered the
18006         timeout to include when SIGIO lowers the timeout.
18008         Don't return as fast reading any process output
18009         * src/process.c (wait_reading_process_output):
18010         The patch for Bug#17647 returns too fast sometimes when reading
18011         from any processes.  Revert part of it, and limit the timeout more
18012         sensibly (Bug#20978).
18014         Refactor timeouts in wait_reading_process_output
18015         * src/process.c (wait_reading_process_output):
18016         Simplify timeouts with an enum.  Remove a redundant condition.
18017         (Bug#20978)
18019         Remove ADAPTIVE_READ_BUFFERING ifdef
18020         * src/process.c (make-process, make-pipe-process, deactivate_process)
18021         (wait_reading_process_output, read_process_output, send_process)
18022         (init_process_emacs): ifdef ADAPTIVE_READ_BUFFERING was originally
18023         added in case there was an operating system in which it was not
18024         useful.  That was 11 years ago and it hasn't happened.  Make
18025         development easier by not considering the effect of changes on a
18026         theoretical OS where this is disabled (Bug#20978).
18028 2015-07-05  Glenn Morris  <rgm@gnu.org>
18030         * lisp/simple.el (set-variable): Doc fix.
18032         * lisp/progmodes/fortran.el (fortran-line-length): Doc fix.
18034 2015-07-05  Ian Kelling  <ian@iankelling.org>
18036         accept-process-output fix
18037         This is a followon to the fix for bug#17647 (Bug#20976).
18038         * src/process.c (status_notify): Fix too high return in some cases.
18040 2015-07-05  Artur Malabarba  <bruce.connor.am@gmail.com>
18042         * lisp/character-fold.el (character-fold-table):
18043         Only fold decompositions if at least one character is non-spacing.
18044         (Bug#20975)
18046 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
18048         Merge from gnulib
18049         This incorporates:
18050         2015-07-04 file-has-acl, acl-permissions: fix HP-UX typos
18051         2015-07-03 set-permissions.c: adjust acl_from_mode's cpp guard
18052         2015-07-02 update-copyright: fix test failure with perl >= 5.22
18053         2015-07-01 gnulib-common.m4: change the ARFLAGS default to 'cr'
18054         2015-07-01 acl: fix definition of acl_from_mode on FreeBSD
18055         * build-aux/update-copyright, doc/misc/texinfo.tex, lib/acl-internal.h:
18056         * lib/set-permissions.c, m4/gnulib-common.m4: Copy from gnulib.
18058 2015-07-05  Christoph Wedler  <christoph.wedler@sap.com>
18060         Respect `prog-indentation-context' in python.el
18061         * lisp/progmodes/python.el (python-indent-guess-indent-offset)
18062         (python-indent-context, python-indent--calculate-indentation)
18063         (python-info-current-defun)
18064         (python-info-dedenter-opening-block-message)
18065         (python-info-line-ends-backslash-p)
18066         (python-info-beginning-of-backslash)
18067         (python-info-continuation-line-p): Use `prog-widen'.
18068         (python-indent--calculate-indentation)
18069         (python-indent--calculate-levels)
18070         (python-indent-calculate-indentation): Use `prog-first-column'.
18071         (python-indent--calculate-levels): Simplify.
18072         Ignore also initial empty lines for syntax calculation.
18073         * lisp/progmodes/python.el (python-indent-context): Return
18074         :no-indent for first non-empty line, not just in line 1.
18075         * test/automated/python-tests.el (python-indent-base-case)
18076         (python-indent-inside-paren-1, python-indent-inside-paren-2)
18077         (python-indent-inside-paren-3, python-indent-inside-paren-4)
18078         (python-indent-inside-paren-5, python-indent-inside-paren-6)
18079         (python-indent-after-backslash-1)
18080         (python-indent-after-backslash-2)
18081         (python-indent-after-backslash-3)
18082         (python-indent-after-backslash-4, python-indent-inside-string-1):
18083         Expect :no-indent for first non-empty line.
18085 2015-07-04  Daniel Colascione  <dancol@dancol.org>
18087         Factor isearch word description into new function
18088         * lisp/isearch.el (isearch--describe-word-mode): New function.
18089         (isearch-message-prefix, isearch-query-replace): Use it.
18091 2015-07-04  Eli Zaretskii  <eliz@gnu.org>
18093         Fix mouse pointer on w32 when a menu is active
18094         * src/w32fns.c (w32_wnd_proc): Don't change the mouse pointer
18095         shape while a menu is in use.  This started happening since we now
18096         send WM_EMACS_SHOWCURSOR messages when the mouse moves.
18098 2015-07-04  Martin Rudalics  <rudalics@gmx.at>
18100         Fix processing of alpha parameter for Windows tip frames  (Bug#17344)
18101         * src/w32fns.c (x_create_tip_frame): Fix processing alpha
18102         parameter.  (Bug#17344)
18104         Have `compilation-set-window' use right window for getting fringes
18105         (Bug#20829)
18106         * lisp/progmodes/compile.el (compilation-set-window):
18107         Take `window-fringes' from argument window.
18109 2015-07-03  Glenn Morris  <rgm@gnu.org>
18111         Update eieio tests for recent eieio-core change.
18112         * test/automated/eieio-test-persist.el (persist-test-save-and-compare):
18113         * test/automated/eieio-tests.el
18114         (eieio-test-32-slot-attribute-override-2):
18115         Replace the deleted eieio--class-v with cl--find-class.
18117 2015-07-03  Martin Rudalics  <rudalics@gmx.at>
18119         Fix some issues with `window-divider-mode'
18120         * lisp/frame.el (window-divider-default-places): New option.
18121         (window-divider-mode): Remove option.
18122         (window-divider-mode): Make it a "regular" minor mode.
18123         (window-divider-width-valid-p): Drop frame- prefix.
18124         (window-divider-mode-apply): New argument ENABLE.  Drop frame-
18125         prefix.  Handle `window-divider-default-places'.
18126         (frame--window-divider-mode-set-and-apply): Remove.
18127         (window-divider-default-bottom-width)
18128         (window-divider-default-right-width): Drop :group entries.
18129         * lisp/menu-bar.el (menu-bar-bottom-and-right-window-divider)
18130         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
18131         (menu-bar-no-window-divider): Set `window-divider-default-places'
18132         and call `window-divider-mode'.
18133         * doc/emacs/frames.texi (Window Dividers): Document
18134         `window-divider-default-places'.
18136 2015-07-02  Xue Fuqiao  <xfq.free@gmail.com>
18138         * doc/emacs/display.texi (Displaying Boundaries):
18139         * doc/emacs/search.texi (Word Search): Add cross references.
18141 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
18143         -batch should not affect ‘’ -> `' display
18144         * lisp/startup.el (command-line): Do the ‘’ -> `' check even if
18145         -batch (Bug#20926).
18147 2015-07-02  Stefan Monnier  <monnier@iro.umontreal.ca>
18149         * lisp/emacs-lisp/eieio-core.el (eieio--class-v): Remove
18150         * lisp/emacs-lisp/eieio-core.el, lisp/emacs-lisp/eieio.el:
18151         * lisp/emacs-lisp/eieio-opt.el, lisp/emacs-lisp/eieio-compat.el:
18152         Use cl--find-class instead.
18154         * lisp/term/xterm.el (xterm--query): Fix paren typo (bug#20951).
18156 2015-07-02  Martin Rudalics  <rudalics@gmx.at>
18158         Some further fixes in Change Window node (Bug#20183)
18159         * doc/emacs/windows.texi (Change Window): Replace "rearranging"
18160         by "resizing" in section title.  Add some concept indices.
18161         Suggested by N. Jackson (Bug#20183).
18163         * doc/emacs/windows.texi (Change Window): Reference window
18164         dividers.
18166         Document new `window-divider-mode'.
18167         * lisp/frame.el (window-divider-mode): Fix doc-string.
18168         * doc/emacs/frames.texi (Window Dividers): New section.
18170         Improve accessibility of window dividers (Bug#20183)
18171         * lisp/faces.el (window-divider)
18172         (window-divider-first-pixel, window-divider-last-pixel): Change
18173         membership from `frames' to `window-divider' customization group.
18174         * lisp/frame.el (window-divider): New customization group.
18175         (window-divider-mode): New minor mode.
18176         (window-divider-default-bottom-width)
18177         (window-divider-default-right-width): New options.
18178         (frame--window-divider-previous-mode): New variable.
18179         (frame-window-divider-width-valid-p)
18180         (frame--window-divider-mode-apply)
18181         (frame--window-divider-mode-set-and-apply): New functions.
18182         * lisp/menu-bar.el (menu-bar-options-save): Save
18183         window-divider-mode settings.
18184         (menu-bar-window-divider-customize)
18185         (menu-bar-bottom-and-right-window-divider)
18186         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
18187         (menu-bar-no-window-divider): New functions.
18188         (menu-bar-showhide-window-divider-menu): New variable.
18189         (menu-bar-showhide-menu): Show/hide window divider menu.
18190         * lisp/mouse.el (mouse-split-window-vertically)
18191         (mouse-split-window-horizontally): Replace `error' by
18192         `user-error'.  Bind `window-combination-resize' to nil.
18193         (top-level): Add/reorder mouse key bindings on mode- and
18194         vertical-line.
18196 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
18198         Don't display ‘’ as `' under X in en_GB
18199         The curved quote setup code invokes (char-displayable-p ?‘),
18200         but this isn’t reliable until after the X frame replaces the
18201         terminal frame (Bug#20926).
18202         * lisp/international/mule-cmds.el (set-locale-environment):
18203         Move curved quote setup code from here ...
18204         * lisp/startup.el (command-line): ... to here, after creating
18205         the X frame.
18207 2015-07-01  Nicolas Richard  <youngfrog@members.fsf.org>
18209         * lisp/emacs-lisp/seq.el (seq-difference): Fix typo in docstring.
18211         * lisp/ido.el (ido-restrict-to-matches): Add an optional argument
18212         to reverse the meaning (Bug#15631).
18214 2015-07-01  Eli Zaretskii  <eliz@gnu.org>
18216         Be more tolerant to fonts named "Foobar-12"
18217         * src/frame.c (x_set_font): If font_spec_from_name returns nil,
18218         don't barf; instead, request a new fontset to be generated.  This
18219         avoids unnecessarily rejecting fonts named against XLFD rules.  See
18220         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html,
18221         for the description of the original problem.
18222         * lisp/faces.el (set-face-attribute): Don't be fooled too easily
18223         by a hyphen in a font's name.
18225         Fix value of posn-at-pont in R2L lines
18226         * src/keyboard.c (Fposn_at_x_y, Fposn_at_point): Allow X pixel
18227         coordinate of -1, for a newline in a right-to-left line that
18228         overflowed into the left fringe.
18230 2015-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
18232         (cl--copy-slot-descriptor): Copy the `props' alist as well
18233         * lisp/emacs-lisp/cl-preloaded.el (cl--copy-slot-descriptor-1):
18234         Rename from cl--copy-slot-descriptor.
18235         (cl--copy-slot-descriptor): New function.  Copy the alist (bug#20914).
18237 2015-06-30  Stefan Monnier  <monnier@iro.umontreal.ca>
18239         * lisp/term/xterm.el (xterm--query): Avoid generating garbage
18240         (xterm-query-timeout): New var.
18241         (xterm--query): Use it.  Fallback on async method if we timeout before
18242         getting the first byte of the reply (bug#12354).
18244 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
18246         Spelling fixes
18247         * lisp/character-fold.el (character-fold-search):
18248         * lisp/emacs-lisp/package.el (package-hidden-regexps):
18249         Fix typos.
18251 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
18253         * doc/emacs/frames.texi (Frame Commands): Typo fix.  (Bug#20946)
18255 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
18257         In strings, prefer plain ` and ' to \` and \'
18258         * lisp/allout.el (allout-insert-listified):
18259         * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
18260         * lisp/ls-lisp.el (ls-lisp-UCA-like-collation)
18261         (ls-lisp-string-lessp):
18262         * lisp/menu-bar.el (menu-bar-open):
18263         * lisp/obsolete/otodo-mode.el (todo-top-priorities):
18264         * lisp/progmodes/compile.el (compile):
18265         * lisp/progmodes/etags.el (tags-loop-scan):
18266         * lisp/progmodes/make-mode.el (makefile-browser-insert-continuation):
18267         * lisp/subr.el (posn-actual-col-row):
18268         * lisp/term/pc-win.el (x-list-fonts):
18269         * lisp/textmodes/texinfmt.el (texinfmt-version):
18270         * lisp/textmodes/texnfo-upd.el (texinfo-master-menu):
18271         * lisp/time.el (display-time-world-list):
18272         * lisp/tmm.el (tmm-menubar):
18273         * src/buffer.c (syms_of_buffer):
18274         * src/fileio.c (syms_of_fileio):
18275         Omit unnecessary and confusing backslash before quote.
18276         * lisp/erc/erc.el (erc-cmd-LASTLOG):
18277         * lisp/progmodes/flymake.el (flymake-fix-file-name):
18278         * lisp/progmodes/vhdl-mode.el (vhdl-in-extended-identifier-p):
18279         Fix string that was intended to escape a backslash and not a quote.
18281 2015-06-30  Glenn Morris  <rgm@gnu.org>
18283         * leim/Makefile.in, lisp/Makefile.in: Add missing EXEEXT definition.
18285         * lisp/Makefile.in (MH_E_SRC, TRAMP_SRC, CAL_SRC):
18286         Replace hard-coded lists with wildcard + filter-out.
18288         * configure.ac (system-configuration-features): Add X11, NS.
18290         Improve reproducibility of generated loaddefs file
18291         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
18292         Make the return value the modtime of the input file (if no autoloads).
18293         (update-directory-autoloads): In the "no autoloads" section,
18294         use "most recent modtime" rather than "current time".
18296 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
18298         * lisp/emacs-lisp/package.el (package--remove-hidden): Fix logic.
18299         (Bug#20930)
18301 2015-06-30  Nicolas Petton  <nicolas@petton.fr>
18303         * doc/lispref/sequences.texi: Add documentation for seq-min and seq-max.
18305         Add seq-min and seq-max
18306         Bump version number.
18307         * lisp/emacs-lisp/seq.el (seq-min, seq-max): New functions.
18308         * test/automated/seq-tests.el: Add tests for seq-min and seq-max.
18310 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
18312         Make sure sleep-for always delays for as long as it's told
18313         * src/dispnew.c (Fsleep_for): Call wait_reading_process_output in
18314         a loop, to ensure we always wait exactly the required amount of
18315         time.  (Bug#15990)
18317 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
18319         Fix pointer signedness glitch
18320         * src/font.c (font_load_for_lface): Use SSDATA, not SDATA.
18322 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
18324         Don't block changes in mouse pointer inside 'track-mouse'
18325         * etc/NEWS:
18326         * doc/lispref/frames.texi (Mouse Tracking): Document the special
18327         effect of setting 'track-mouse' to 'dragging'.
18328         * lisp/textmodes/artist.el (artist-mouse-draw-continously):
18329         * lisp/ruler-mode.el (ruler-mode-mouse-drag-any-column-iteration):
18330         * lisp/mouse-drag.el (mouse-drag-throw):
18331         * lisp/mouse.el (mouse-drag-line): Set 'track-mouse' to 'dragging'
18332         to avoid changes in the shape of the mouse pointer.
18333         * src/xdisp.c (define_frame_cursor1): Don't change the mouse
18334         pointer shape when do_mouse_tracking has the value of 'dragging',
18335         not just any non-nil value.  (Bug#20934)
18336         (syms_of_xdisp): DEFSYM 'dragging'.
18338 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
18340         * lisp/isearch.el (isearch-toggle-word): Fix toggle.
18342         * lisp/emacs-lisp/package.el (package-compute-transaction):
18343         Don't assume version sorting.
18345         * lisp/emacs-lisp/package.el (package--save-selected-packages):
18346         Don't save before init time, to avoid overwriting configurations.
18347         (Bug#20855)
18349 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
18351         * doc/emacs/display.texi (Standard Faces, Fringes): Add cross
18352         references.
18354 2015-06-29  Ted Zlatanov  <tzz@lifelogs.com>
18356         Update for the upcoming CFEngine 3.7 release: support macros and
18357         quoted context strings; reformat JSON; indent promise attributes 2
18358         units by default; give function parameter descriptions in the eldoc
18359         glue.
18360         * lisp/progmodes/cfengine.el: Update version and docs and fix name.
18361         Autoload `json-pretty-print'.  Support new features in 3.7.
18362         (cfengine-parameters-indent): Set default promise attribute indent to
18363         2 more than the promise itself.
18364         (cfengine3-macro-regex): New variable to match the new macro syntax.
18365         (cfengine3-font-lock-keywords): Use it to highlight macros.
18366         (cfengine3-indent-line): Use it to indent macros to column 0.
18367         (cfengine3-class-selector-regex): Update for the new quoted strings
18368         format.
18369         (cfengine3-reformat-json-string): New function to reformat a JSON
18370         string using `json-pretty-print'.
18371         (cfengine3-format-function-docstring): Use function parameter
18372         description if it's provided by the cf-promises syntax dump.
18374 2015-06-29  Michael R. Mauger  <michael@mauger.com>
18376         Cygwin emacsclient handles w32 file names
18377         * lisp/server.el (server-process-filter): Allow Cygwin's
18378         emacsclient to be used as a file handler on MS-Windows.
18380 2015-06-29  Katsumi Yamaoka  <yamaoka@jpl.org>
18382         * lisp/isearch.el (isearch-exit): Don't call isearch-done twice
18383         (bug#20925).
18385 2015-06-29  Eli Zaretskii  <eliz@gnu.org>
18387         * doc/lispref/text.texi (Sticky Properties): Improve wording.
18388         (Bug#20924)
18390         Allow font names that end in "-NN", where NN is a number
18391         * src/font.c (font_load_for_lface): If the font-spec didn't match
18392         any available fonts, try again without interpreting trailing "-NN"
18393         as the font size.  For the description of the original problem, see
18394         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html
18396         .gdbinit followup to changes in !USE_LSB_TAG
18397         * src/.gdbinit (xgetsym): Don't left-shift $ptr even under
18398         !USE_LSB_TAG, as Emacs no longer does.
18400 2015-06-29  Wolfgang Jenkner  <wjenkner@inode.at>
18402         * lisp/calc-store.el (calc-insert-permanent-variable): Heed case.
18403         Otherwise `s p' of f and F will stomp on each other's value.
18404         (Bug#20916)
18406 2015-06-29  Artur Malabarba  <bruce.connor.am@gmail.com>
18408         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
18409         Don't block remember-pos if buffer isn't displayed.  (Bug#20921)
18411 2015-06-29  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
18413         * lisp/emacs-lisp/package.el (describe-package): Use symbol-at-point
18414         as additional guess.
18416         * lisp/emacs-lisp/package.el (describe-package): Convert the guess
18417         to a string.
18419 2015-06-28  Paul Eggert  <eggert@cs.ucla.edu>
18421         apropos-library quoting fix
18422         * lisp/apropos.el (apropos-library): Quote library consistently
18423         with the rest of the quoting used by apropos.
18425         Clarify interpreter-mode-alist doc
18426         * lisp/files.el (interpreter-mode-alist):
18427         Reword to avoid confusing quoting that wasn't working anyway.
18429 2015-06-28  Michael Albinus  <michael.albinus@gmx.de>
18431         Sync with Tramp 2.2.12
18432         * doc/misc/trampver.texi:
18433         * lisp/net/trampver.el: Update release number.
18434         * test/automated/tramp-tests.el (tramp-test13-make-directory):
18435         Fix cleanup.
18437 2015-06-28  Artur Malabarba  <bruce.connor.am@gmail.com>
18439         * lisp/isearch.el (isearch-mode): Don't char-fold regexps (bug#20913).
18441 2015-06-27  Dmitry Gutov  <dgutov@yandex.ru>
18443         Bind grep-highlight-matches around the rgrep call
18444         * lisp/progmodes/grep.el (zrgrep): Bind grep-highlight-matches
18445         around the rgrep call (bug#20728).
18447         Put "--color" before the other options in grep-command
18448         * lisp/progmodes/grep.el (grep-compute-defaults): Put "--color"
18449         before the other options in grep-command (bug#20912).
18451         Add --color Grep option to the command dynamically
18452         * lisp/progmodes/grep.el (grep-template, grep-find-template):
18453         Update the description for <C>.  (Bug#20728)
18454         (grep-compute-defaults): Don't add the --color option to
18455         grep-options.  Only add it to grep-command.
18456         (grep-expand-keywords): Expand the env value opts into <C>.
18457         (grep-expand-template): Replace cf in the env with the opts list,
18458         that can include -i and --color.
18459         * lisp/progmodes/xref.el (xref-collect-matches): Do not remove
18460         "--color=always" from the template, because we don't have to.
18462 2015-06-27  Paul Eggert  <eggert@cs.ucla.edu>
18464         cl-extra fixes for most-negative-fixnum
18465         * lisp/emacs-lisp/cl-extra.el (cl-gcd, cl-lcm, cl-random):
18466         Don't mishandle an argument equal to most-negative-fixnum,
18467         whose absolute value equals itself.
18468         (cl-gcd, cl-lcm): Use dolist rather than doing it by hand.
18470         Initialize cl--gensym-counter to 0
18471         Previously it was initialized to a random value, which made it
18472         harder to reproduce earlier Emacs runs.  The need for a random
18473         value went away when Emacs introduced and used the #: syntax for
18474         uninterned symbols (Bug#20862).
18475         * doc/misc/cl.texi (Creating Symbols, Common Lisp Compatibility):
18476         Document that cl--gensym-counter now starts with 0.
18477         * lisp/emacs-lisp/cl-lib.el (cl--gensym-counter): Remove.
18478         (cl--random-time): Move to near only remaining use.
18479         * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter): Initialize to 0.
18481         Improve docstring for macroexp-let2
18482         * lisp/emacs-lisp/macroexp.el (macroexp-let2):
18483         Improve as per suggestion by RMS in:
18484         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00621.html
18485         Also, rename args to match new doc string.
18487 2015-06-27  Eli Zaretskii  <eliz@gnu.org>
18489         Fix VC test suite on MS-Windows
18490         * lisp/vc/vc-svn.el (vc-svn-create-repo): Make sure the file: URL
18491         always starts with 3 slashes after the colon.
18492         * test/automated/vc-tests.el (vc-test--create-repo-function): Use
18493         'w32-application-type' to invoke CVS on MS-Windows with properly
18494         formatted CVSROOT directory name.
18496         Add a new function w32-application-type
18497         * src/w32proc.c (Fw32_application_type): New function.
18499         Avoid error in TLS connections due to incorrect format
18500         * src/gnutls.c (Fgnutls_boot): Use the %x conversion specifier in
18501         the call to 'error', instead of the unsupported %u.  Reported by
18502         lo2net <fangtao0901@gmail.com>.  (Bug#20908)
18504 2015-06-26  Artur Malabarba  <bruce.connor.am@gmail.com>
18506         * lisp/replace.el (replace-search): Fix regexp case (bug#20901).
18508 2015-06-26  Leo Liu  <sdl.web@gmail.com>
18510         * lisp/emacs-lisp/cl-indent.el: Fix indentation for
18511         `with-output-to-string' in elisp.
18513         Revert "lisp/emacs-lisp/cl-indent.el: Fix indent of
18514         with-output-to-string".
18515         This reverts commit 659199f2ca5f283fb246faa78a244e5ca25f53dd.
18517 2015-06-26  Eli Zaretskii  <eliz@gnu.org>
18519         Minor corrections in ELisp manual
18520         * doc/lispref/nonascii.texi (Character Properties): Correct
18521         inaccuracies in description of values of the Unicode properties.
18523         Fix invisible mouse pointers on Windows.
18524         * src/w32fns.c: Include windowsx.h.
18525         (w32_wnd_proc): If the mouse moved and the mouse pointer is
18526         invisible, make it visible again even when the main (Lisp)
18527         thread is busy.
18528         * src/w32term.c (w32_toggle_invisible_pointer): Rather then
18529         garbaging the frame have the input thread call SetCursor.
18531 2015-06-26  Martin Rudalics  <rudalics@gmx.at>
18533         Provide invisible mouse pointers on Windows (Bug#6105) (Bug#12922)
18534         * src/w32fns.c (w32_wnd_proc): Handle f->pointer_invisible
18535         for WM_SETCURSOR and WM_EMACS_SETCURSOR cases.
18536         * src/w32term.c (w32_hide_hourglass): Handle f->pointer_invisible.
18537         (w32_toggle_invisible_pointer): New function.
18538         (w32_create_terminal): Add w32_toggle_invisible_pointer as
18539         toggle_invisible_pointer_hook for this terminal.
18541 2015-06-25  Xue Fuqiao  <xfq.free@gmail.com>
18543         Doc fix for deletion commands
18544         'delete-char' does not respect the value of 'delete-active-region'.
18545         * doc/emacs/killing.texi (Deletion):
18546         Fix documentation for some single-char deletion commands.
18548         * doc/emacs/help.texi (Apropos):
18549         Improve documentation of 'apropos-do-all'.
18551         * doc/emacs/help.texi (Help Summary):
18552         Improve documentation of 'describe-mode'.
18554 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
18556         Fix submake dependency bug with .h files
18557         * src/Makefile.in ($(libsrc)/make-docfile$(EXEEXT)):
18558         Depend on $(lib)/libgnu.a, so that we build $(lib)/*/*.h
18559         before the submake in $(libsrc) would spin off a subsubmake
18560         for $(lib) in parallel with our submake for $(lib) (Bug#20894).
18562 2015-06-25  Artur Malabarba  <bruce.connor.am@gmail.com>
18564         * lisp/character-fold.el (character-fold-table): Reuse `table'.
18566 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
18568         Translate undisplayable ‘ to `
18569         * doc/lispref/help.texi (Keys in Documentation):
18570         * lisp/international/mule-cmds.el (set-locale-environment):
18571         * lisp/term/w32console.el (terminal-init-w32console):
18572         * src/doc.c (Fsubstitute_command_keys, Vhelp_quote_translation):
18573         If ‘ is not displayable, transliterate it to `, not to '.  See:
18574         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00542.html
18576         Fix C99 incompatibilities in Cairo code
18577         * src/image.c (xpm_load) [USE_CAIRO]:
18578         * src/xterm.c (x_cr_accumulate_data) [USE_CAIRO]:
18579         Fix pointer signedness problem.
18581 2015-06-25  Oleh Krehel  <ohwoeowho@gmail.com>
18583         lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string
18584         * lisp/emacs-lisp/cl-indent.el (common-lisp-indent-function):
18585         `with-output-to-string' should have the same indent as `progn'.
18586         This is in line with the declaration of `with-output-to-string'.
18588 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
18590         Get ‘./configure; make -C src emacs’ to work
18591         Without this fix, lib/fcntl.h isn't built in time (Bug#20894).
18592         * lib-src/Makefile.in (../lib/libgnu.a):
18593         * src/Makefile.in ($(lib)/libgnu.a): Build all, not libgnu.a.
18595 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
18597         Fix GC bugs --with-wide-int and Qnil == 0
18598         Use the same alignment for the !USE_LSB_TAG case as for the
18599         more-typical USE_LSB_TAG case.  The attempt to support arbitrary
18600         alignments with !USE_LSB_TAG had subtle bugs in garbage collection
18601         once we changed the representation of symbols so that Qnil == 0.
18602         Problem reported by Eli Zaretskii (Bug#20862).
18603         * src/alloc.c (XMALLOC_HEADER_ALIGNMENT) [XMALLOC_OVERRUN_CHECK]:
18604         * src/alloc.c (vector_alignment, union aligned_Lisp_Symbol)
18605         (union aligned_Lisp_Misc, maybe_lisp_pointer, pure_alloc):
18606         Use same alignment for !USE_LSB_TAG as for USE_LSB_TAG.
18607         * src/alloc.c (POINTERS_MIGHT_HIDE_IN_OBJECTS): Remove.
18608         This optimization in the !USE_LSB_TAG case is no longer valid when
18609         symbols are represented via offsets.  Change the only use to
18610         assume that pointers might hide in objects.
18611         * src/lisp.h (alignas) [!USE_LSB_TAG]:
18612         Require support in this case, too.
18613         (TAG_SYMOFFSET, XSYMBOL) [!USE_LSB_TAG]: Do not shift the offset.
18614         This is OK, because the !USE_LSB_TAG case now applies only when
18615         Lisp_Object is wider than void *, so there's no longer any need
18616         to shift the offset.  Not shifting the offset means that
18617         symbol representations have the same alignment as pointers,
18618         which the GC assumes.
18620 2015-06-24  Xue Fuqiao  <xfq.free@gmail.com>
18622         * doc/lispintro/emacs-lisp-intro.texi (Data types):
18623         Improve documentation of 'substring'.
18625 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
18627         * lisp/character-fold.el (character-fold-table): Fix table generation.
18629 2015-06-24  Glenn Morris  <rgm@gnu.org>
18631         * nextstep/Makefile.in (all): Make it the first target.
18632         (../src/emacs${EXEEXT}): Add rule for making it.
18634 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
18636         * etc/NEWS: Fix mention to old function name.
18638         * lisp/character-fold.el: New file (Bug#20887)
18639         (character-fold-to-regexp): New function.
18640         * lisp/replace.el (replace-search): Check value of
18641         `character-fold-search'.
18642         * lisp/isearch.el: Move character-folding code to
18643         character-fold.el
18644         (isearch-toggle-character-fold): New command.
18645         (isearch-mode-map): Bind it to "\M-sf".
18646         (isearch-mode): Check value of `character-fold-search'.
18648 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
18650         lisp/subr.el (remove-from-invisibility-spec): Handle the t case
18651         * lisp/subr.el (remove-from-invisibility-spec): Make sure `element'
18652         is visible even if it's not yet in buffer-invisibility-spec (bug#20468).
18654         * lisp/progmodes/xref.el (xref-location-group, xref-location-marker)
18655         (xref--insert-xrefs, xref-collect-references): Avoid init-args in oref.
18657 2015-06-24  Glenn Morris  <rgm@gnu.org>
18659         * Makefile.in (install-arch-dep): Don't set sticky bit on the binary.
18661 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
18663         lisp/gnus/nnmaildir.el: Silence lexical warnings
18664         * lisp/gnus/nnmaildir.el (nnmaildir--prepare): Use a more
18665         functional style.
18666         (nnmaildir--update-nov): Remove unused var `numdir'.
18667         (nnmaildir-request-type, nnmaildir--scan, nnmaildir-request-newgroups)
18668         (nnmaildir-request-group, nnmaildir-request-create-group)
18669         (nnmaildir-request-post, nnmaildir-request-move-article)
18670         (nnmaildir-request-accept-article, nnmaildir-active-number):
18671         Mark unused args.
18672         (nnmaildir-get-new-mail, nnmaildir-group-alist)
18673         (nnmaildir-active-file): Declare.
18674         (nnmaildir-request-scan): Remove unused vars `group' and `grp-dir'.
18675         (nnmaildir-request-update-info): Remove unused vars `dotfile', `num',
18676         `mark', `end', `new-mark', and `mark-sym'.
18677         (nnmaildir-retrieve-headers): Remove unused args `srv-dir', `dir',
18678         `nlist2'.
18679         (nnmaildir-request-expire-articles):
18680         Remove unused vars `article', `stop' and `nlist2'.
18681         (nnmaildir-request-set-mark): Remove unused vars `begin', `article' and
18682         `end'.  Use nnmaildir--article when dyn-binding is needed.
18683         Give the value directly in the `let' for `del-mark', `del-action',
18684         `add-action', and `set-action'.  Don't use `add-to-list' on a local var.
18685         (nnmaildir-close-server): Declare those local vars that need to be
18686         dyn-bound.
18688 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
18690         * src/keyboard.h (kbd_buffer_store_event_hold): Remove unused local.
18692         Port selection info fix to clang
18693         * src/keyboard.h (kbd_buffer_store_event_hold):
18694         Don't assume C11 semantics for alignof (Bug#20756).
18696         Fix bug that munged selection info
18697         On some optimizing C compilers, copying a structure did not
18698         copy the padding bytes between elements, and the type punning
18699         between struct input_data and struct selection_input_data did
18700         not work.  Change the C code to use a proper union type instead.
18701         Problem reported by YAMAMOTO Mitsuharu (Bug#20756).
18702         * src/keyboard.c (kbd_buffer, kbd_fetch_ptr, kbd_store_ptr)
18703         (readable_events, discard_mouse_events, kbd_buffer_events_waiting)
18704         (kbd_buffer_get_event, process_special_events, stuff_buffered_input)
18705         (mark_kboards):
18706         Use union buffered_input_event, not struct input_event.
18707         (clear_event, deliver_input_available_signal, process_special_events):
18708         Remove unnecessary forward decls.
18709         (kbd_buffer_store_buffered_event): New function, mostly just the
18710         old kbd_buffer_store_event_hold, except its argument is of type
18711         union buffered_input_event, not struct input_event.
18712         (kbd_buffer_unget_event): Define only if HAVE_X11, since it's
18713         not needed otherwise.  Argument is now of type
18714         struct selection_input_event *, not struct input_event *.
18715         All callers changed.
18716         (clear_event): Arg is now of type union buffered_input_event *,
18717         not struct input_event *.  All callers changed.
18718         * src/keyboard.h [HAVE_X11]: Include "xterm.h".
18719         (union buffered_input_event): New type.
18720         (kbd_buffer_store_event_hold): Now an inline function,
18721         defined here.
18722         * src/termhooks.h (EVENT_KIND_WIDTH): New constant.
18723         (struct input_event): Use it.
18724         * src/xselect.c (struct selection_event_queue):
18725         Make elements be of type struct selection_input_event,
18726         not struct input_event.
18727         (selection_input_event_equal): New static function.
18728         (x_queue_event): Use it.
18729         (x_queue_event, x_decline_selection_request)
18730         (x_selection_current_request, x_reply_selection_request)
18731         (x_handle_selection_request, x_handle_selection_clear)
18732         (x_handle_selection_event): Use struct selection_input_event,
18733         not struct input_event.  All callers changed.
18734         (x_convert_selection): Omit unused first arg.  All callers changed.
18735         (Fx_disown_selection_internal): Omit unnecessary union.
18736         * src/xterm.c (handle_one_xevent): Use new union buffered_input_event
18737         rather than rolling our own equivalent.  Prefer sie.kind when
18738         setting up that kind of structure.
18739         Call kbd_buffer_store_buffered_event, not kbd_buffer_store_event_hold.
18740         * src/xterm.h (struct selection_input_event: Use EVENT_KIND_WIDTH.
18741         (SELECTION_EVENT_DISPLAY, SELECTION_EVENT_DPYINFO)
18742         (SELECTION_EVENT_REQUESTOR, SELECTION_EVENT_SELECTION)
18743         (SELECTION_EVENT_TARGET, SELECTION_EVENT_PROPERTY)
18744         (SELECTION_EVENT_TIME, x_handle_selection_event):
18745         Arg is now of type struct selection_input_event *)
18746         not struct input_event *.  All callers changed.
18748 2015-06-23  Glenn Morris  <rgm@gnu.org>
18750         * Makefile.in (install-arch-dep): Simplify with Make conditionals.
18752 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
18754         * lisp/isearch.el: Fold many unicode characters to ASCII.
18755         (isearch-character-fold-search, isearch--character-fold-extras)
18756         (isearch--character-fold-table): New variable.
18757         (isearch--character-folded-regexp): New function.
18758         (isearch-search-fun-default): Use them.
18759         * lisp/replace.el (replace-character-fold): New variable.
18760         (replace-search): Use it.
18761         * etc/NEWS: Document it.
18763 2015-06-23  Glenn Morris  <rgm@gnu.org>
18765         Check for an input event before showing a dialog box.  (Bug#20813)
18766         * lisp/subr.el (y-or-n-p):
18767         * src/fns.c (Fyes_or_no_p): Check last-input-event as well
18768         as last-nonmenu-event.
18770 2015-06-23  Jürgen Hartmann  <juergen_hartman_@hotmail.com>  (tiny change)
18772         Respect ‘switch-to-visible-buffer’ more rigidly.  (Bug#20861)
18773         * lisp/window.el (switch-to-visible-buffer): Doc adjustment.
18774         (switch-to-prev-buffer, switch-to-next-buffer): Respect
18775         switch-to-visible-buffer independent of the windows history.
18777 2015-06-23  Paul Eggert  <eggert@cs.ucla.edu>
18779         * src/keyboard.c (last_timer_event): Remove unused var.
18781 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
18783         * test/automated/package-test.el (package-test-update-listing):
18784         Fix test.
18786 2015-06-23  Glenn Morris  <rgm@gnu.org>
18788         Revert 2014-06-25 nextstep/Makefile change.
18789         * nextstep/Makefile.in (${ns_appbindir}): Remove rule.
18790         (${ns_appbindir}/Emacs, links): Create ns_appbindir in the rule,
18791         not as an order-only prerequisite.
18793         * configure.ac (--with-ns): Enable by default on OS X.
18795 2015-06-23  Leo Liu  <sdl.web@gmail.com>
18797         Fix shell-for/backward-command to exclude spaces
18798         * lisp/shell.el (shell-forward-command, shell-backward-command):
18799           Handle the 'move case from re-search-forward/backward.
18800           fixes debbugs:20873
18802 2015-06-22  Juri Linkov  <juri@linkov.net>
18804         * lisp/replace.el (query-replace-read-from): Add separator to
18805         the local binding of text-property-default-nonsticky.  (Bug#20690)
18807         * lisp/simple.el (shell-command-on-region): Replace 'error' with 'user-error'.
18808         (Bug#20785)
18810 2015-06-22  Ken Brown  <kbrown@cornell.edu>
18812         Enable CPU profiling on Cygwin
18813         * src/syssignal.h [CYGWIN] (PROFILER_CPU_SUPPORT): Revert previous
18814         change that undefined this.
18815         (SIGEV_SIGNAL): Ensure that this is defined as a macro.
18816         * src/profiler.c [CYGWIN] (timer_getoverrun): Define as a macro on
18817           Cygwin.
18819         Improve diagnostics of profiler-cpu-start
18820         * src/profiler.c (setup_cpu_timer): Change return type to 'int';
18821         return -1 if the sampling interval is invalid.
18822         (Fprofiler_cpu_start): Improve error message if 'setup_cpu_timer'
18823         fails.  (Bug#20843)
18825 2015-06-22  Artur Malabarba  <bruce.connor.am@gmail.com>
18827         * lisp/emacs-lisp/package.el: Exclude packages by name.
18828         (package-hidden-regexps): New variable.
18829         (package-menu--refresh): Use it.
18830         (package-menu-hide-package): New command.
18832         * lisp/emacs-lisp/package.el: Rename hide-obsolete to toggle-hiding.
18834 2015-06-22  Eli Zaretskii  <eliz@gnu.org>
18836         Fix debug-timer-check on systems without HAVE_TIMERFD
18837         * src/atimer.c (Fdebug_timer_check) [!HAVE_TIMERFD]: Actively run
18838         the expired timers, since wait_reading_process_output doesn't.
18839         (debug_timer_callback): Enlarge the tolerance to 20 msec.
18841         Fix RCS crashes in vc-test
18842         * lisp/vc/vc-rcs.el (vc-rcs-register): Avoid crashes with some old
18843         ports of 'ci' on MS-Windows by always passing the -t- switch.
18845 2015-06-22  Glenn Morris  <rgm@gnu.org>
18847         * doc/emacs/package.texi (Packages):
18848         * doc/emacs/trouble.texi (Known Problems): Remove faq cross-references.
18850         * doc/misc/efaq-w32.texi (Downloading): Copyedits.  (Bug#20851)
18852 2015-06-22  Paul Eggert  <eggert@cs.ucla.edu>
18854         Port tests to help-quote-translation
18855         * test/automated/ert-x-tests.el (ert-test-describe-test):
18856         * test/automated/package-test.el (package-test-describe-package)
18857         (package-test-signed): Allow straight quotes, too.
18859 2015-06-22  Dmitry Gutov  <dgutov@yandex.ru>
18861         Make find-function-on-key use the current window
18862         * lisp/emacs-lisp/find-func.el (find-function-on-key-do-it):
18863         Extract from `find-function-on-key', add a second argument.
18864         (find-function-on-key): Use it (bug#19679).
18865         (find-function-on-key-other-window)
18866         (find-function-on-key-other-frame): New commands.
18868 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
18870         Revert "Define `map-elt' as a generalized variable"
18871         This reverts commit 8b6d82d3ca86f76ed964063b3941a7c6ab0bf1c6.
18873 2015-06-21  Ken Brown  <kbrown@cornell.edu>
18875         Drop support for CPU profiling on Cygwin
18876         * src/syssignal.h (PROFILER_CPU_SUPPORT): Don't define on Cygwin.
18877         (Bug#20843)
18879 2015-06-21  Paul Eggert  <eggert@cs.ucla.edu>
18881         Fix some “nested” quoting confusion in doc strings
18882         * lisp/emacs-lisp/advice.el (ad-map-arglists):
18883         * lisp/kermit.el (kermit-clean-on):
18884         * lisp/mh-e/mh-comp.el (mh-repl-group-formfile):
18885         * src/keyboard.c (Frecursive_edit):
18886         Use curved quotes when quoting text containing apostrophe,
18887         so that the apostrophe isn't curved in the output.
18889 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
18891         Define `map-elt' as a generalized variable
18892         * lisp/emacs-lisp/map.el (map-elt): Define a gv-expander.
18893         * lisp/emacs-lisp/map.el (map--dispatch): Tighten the code.
18894         * lisp/emacs-lisp/map.el (map-put): Redefine it as a function using a
18895         `setf' with `map-elt'.
18896         * test/automated/map-tests.el: Comment out `test-map-put-literal'.
18898 2015-06-21  Michael Albinus  <michael.albinus@gmx.de>
18900         Improve error handling in tramp-adb.el
18901         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy):
18902         Improve error handling.
18904 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
18906         Reuse `alist-get' in map.el
18907         * lisp/emacs-lisp/map.el (map-elt): Use `alist-get' to retrieve alist
18908         elements.
18910 2015-06-21  Eli Zaretskii  <eliz@gnu.org>
18912         Fix bytecomp-tests--warnings when $TMPDIR has a long name
18913         * test/automated/bytecomp-tests.el (bytecomp-tests--warnings):
18914         Allow the warning to begin on the 3rd, not only 2nd line, which
18915         happens if temporary-file-directory has a very long name.
18917         Expect 2 icalendar tests to fail on MS-Windows
18918         * test/automated/icalendar-tests.el (icalendar-import-with-timezone)
18919         (icalendar-real-world): Make them expected failures on MS-Windows.
18921 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
18923         Improve port of settings UI to older displays
18924         * lisp/cus-start.el (standard): Don't assume curved quotes are
18925         easily distinguishable when users are tinkering with a setting
18926         that affects how curved quotes are generated.
18928         Fix quoting in electric-quote-mode doc string
18929         * lisp/electric.el (electric-quote-mode): Fix quoting.
18930         This is a fallout from the recent change introducing
18931         ‘help-quote-translation’.
18933         Spelling fix
18935         * doc/misc/texinfo.tex, lib/set-permissions.c: Merge from gnulib.
18937         * src/doc.c (syms_of_doc): Remove unused symbols.
18939 2015-06-20  Martin Rudalics  <rudalics@gmx.at>
18941         * lisp/window.el (window-state-put): Undedicate target window
18942         before putting STATE into it.  (Bug#20848)
18944 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
18946         Merge from origin/emacs-24
18947         a5e6f33 Fixes: debbugs:20832
18948         b9f02cf Fixes: debbugs:20832
18950 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
18952         Fix file-in-directory-p when the directory is UNC
18953         * lisp/files.el (file-in-directory-p): Support files and
18954         directories that begin with "//".  (Bug#20844)
18956 2015-06-19  Stephen Berman  <stephen.berman@gmx.net>
18958         * lisp/calendar/todo-mode.el (todo-show): Don't visit todo file
18959         in the minibuffer.  (Bug#20832)
18961 2015-06-19  Nicolas Richard  <youngfrog@members.fsf.org>
18963         * lisp/calendar/todo-mode.el (todo-show): Signal an error if buffer
18964         for adding new todo file is empty but modified.  (Bug#20832)
18966 2015-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
18968         (filepos-to-bufferpos): Further tweaks to the utf-16 code
18969         * lisp/international/mule-util.el (filepos-to-bufferpos):
18970         Fix typo.  Move non-exact check to the utf-16 branch (the only one
18971         affected).  Don't use byte-to-position for the utf-16 case.
18973 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
18975         Minor fixes in filepos-to-bufferpos
18976         * lisp/international/mule-util.el (filepos-to-bufferpos): Remove
18977         test for utf-8-emacs.  Exempt single-byte encodings from the
18978         'use-exact' path when QUALITY is 'exact'.  Test UTF-16 encodings
18979         for BOM before subtracting 2 bytes.  Use 'identity' when adjusting
18980         UTF-16 encoded files for CR-LF EOLs.
18982 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
18984         Improve the optional translation of quotes
18985         Fix several problems with the recently-added custom variable
18986         help-quote-translation where the code would quote inconsistently
18987         in help buffers.  Add support for quoting 'like this', which
18988         is common in other GNU programs in ASCII environments.  Change
18989         help-quote-translation to use more mnemonic values: values are now the
18990         initial quoting char, e.g., (setq help-quote-translation ?`) gets the
18991         traditional Emacs help-buffer quoting style `like this'.  Change the
18992         default behavior of substitute-command-keys to match what's done in
18993         set-locale-environment, i.e., quote ‘like this’ if displayable,
18994         'like this' otherwise.
18995         * doc/lispref/help.texi (Keys in Documentation): Document
18996         new behavior of substitute-command-keys, and document
18997         help-quote-translation.
18998         * doc/lispref/tips.texi (Documentation Tips):
18999         Mention the effect of help-quote-translation.
19000         * etc/NEWS: Mention new behavior of substitute-command-keys,
19001         and merge help-quote-translation news into it.
19002         When talking about doc strings, mention new ways to type quotes.
19003         * lisp/cedet/mode-local.el (overload-docstring-extension):
19004         Revert my recent change to this function, which shouldn't be
19005         needed as the result is a doc string.
19006         * lisp/cedet/mode-local.el (mode-local-print-binding)
19007         (mode-local-describe-bindings-2):
19008         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
19009         * lisp/cus-theme.el (describe-theme-1):
19010         * lisp/descr-text.el (describe-text-properties-1, describe-char):
19011         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
19012         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
19013         (eieio-help-constructor):
19014         * lisp/emacs-lisp/package.el (describe-package-1):
19015         * lisp/faces.el (describe-face):
19016         * lisp/help-fns.el (help-fns--key-bindings)
19017         (help-fns--compiler-macro, help-fns--parent-mode)
19018         (help-fns--obsolete, help-fns--interactive-only)
19019         (describe-function-1, describe-variable):
19020         * lisp/help.el (describe-mode):
19021         Use substitute-command-keys to ensure a more-consistent quoting
19022         style in help buffers.
19023         * lisp/cus-start.el (standard):
19024         Document new help-quote-translation behavior.
19025         * lisp/emacs-lisp/lisp-mode.el (lisp-fdefs):
19026         * lisp/help-mode.el (help-xref-symbol-regexp, help-xref-info-regexp)
19027         (help-xref-url-regexp):
19028         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
19029         * lisp/wid-edit.el (widget-documentation-link-regexp):
19030         Also match 'foo', in case we're in a help buffer generated when
19031         help-quote-translation is ?'.
19032         * src/doc.c: Include disptab.h, for DISP_CHAR_VECTOR.
19033         (LEFT_SINGLE_QUOTATION_MARK, uLSQM0, uLSQM1, uLSQM2, uRSQM0)
19034         (uRSQM1, uRSQM2, LSQM, RSQM): New constants.
19035         (Fsubstitute_command_keys): Document and implement new behavior.
19036         (Vhelp_quote_translation): Document new behavior.
19038 2015-06-18  Glenn Morris  <rgm@gnu.org>
19040         * lisp/cus-start.el (help-quote-translation): Add :version.
19042         * src/doc.c (Fsubstitute_command_keys): Make previous change compile.
19044 2015-06-18  Alan Mackenzie  <acm@muc.de>
19046         Make translation of quotes to curly in doc strings optional.
19047         * src/doc.c (traditional, prefer-unicode): New symbols.
19048         (help-quote-translation): New variable.
19049         (Fsubstitute_command_keys): Make translation of quotes dependent on
19050         `help-quote-translation'; also translate curly quotes back to ASCII
19051         ones.
19052         * lisp/cus-start.el (top-level): Add a customization entry for
19053         `help-quote-translation'.
19055 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
19057         * lisp/emacs-lisp/package.el: Don't always propagate async errors
19058         (package--with-work-buffer-async): Only propagate the error if the
19059         callback returns non-nil.
19060         (package--download-one-archive): Return nil on the signature
19061         checking callback if we accept unsigned.
19062         (package--download-and-read-archives): Return non-nil on the
19063         archive download callback.
19065 2015-06-18  Martin Rudalics  <rudalics@gmx.at>
19067         Set image_cache_refcount before x_default_parameter calls.  (Bug#20802)
19068         * src/nsfns.m (Fx_create_frame):
19069         * src/xfns.c (Fx_create_frame, x_create_tip_frame): Move setting
19070         image_cache_refcount before first x_default_parameter call.
19072 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
19074         Improve and extend filepos-to-bufferpos
19075         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
19076         Don't barf if F returns nil for some argument.
19077         (filepos-to-bufferpos): Expand to support UTF-16 and not assume
19078         that every encoding of type 'charset' is single-byte.
19080 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
19082         * lisp/emacs-lisp/package.el (package-menu--perform-transaction):
19083         Properly delete packages.  (Bug#20836)
19085 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
19087         Update data files from just-released Unicode 8.0
19088         * etc/NEWS: Update wording since Unicode 8.0 is no longer in draft
19089         status.
19090         * test/BidiCharacterTest.txt: Update from Unicode 8.0.
19091         * admin/unidata/BidiMirroring.txt:
19092         * admin/unidata/BidiBrackets.txt:
19093         * admin/unidata/UnicodeData.txt: Update from Unicode 8.0.
19095 2015-06-18  Paul Eggert  <eggert@cs.ucla.edu>
19097         Document curved quotes a bit better
19098         * doc/emacs/basic.texi (Inserting Text):
19099         Mention C-x 8.  Change example to use curved quote rather
19100         than infinity, as this lets us give more ways to do it.
19101         * doc/emacs/mule.texi (International Chars): Mention C-x 8 shortcuts
19102         and quotation marks.
19103         * doc/emacs/text.texi (Quotation Marks):
19104         * doc/lispref/tips.texi (Documentation Tips):
19105         Add "curly quotes" and "curved quotes" to the index.
19106         * doc/emacs/text.texi (Quotation Marks):
19107         Give the C-x 8 shorthands for curved quotes.
19108         Cross-reference to "Quotation Marks".
19110 2015-06-17  Daiki Ueno  <ueno@gnu.org>
19112         Add pinentry.el for better GnuPG integration
19113         * lisp/pinentry.el: New file.
19114         * etc/NEWS: Add entry about pinentry.el.
19115         * lisp/epg.el (epg--start): Set INSIDE_EMACS envvar.
19116         (Bug#20550)
19118 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
19120         * lisp/emacs-lisp/package.el: Slightly better error reporting.
19122 2015-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
19124         (define-minor-mode): Use setq-default for :global minor modes
19125         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode):
19126         Use setq-default for :global minor modes (bug#20712).
19128 2015-06-17  Eli Zaretskii  <eliz@gnu.org>
19130         Avoid infloop in redisplay with tall images
19131         * src/xdisp.c (try_scrolling): Prevent an infloop when scrolling
19132         down near ZV.  (Bug#20808)
19133         Call bidi_unshelve_cache to avoid memory leaks.  Use IT_CHARPOS
19134         instead of CHARPOS.
19136 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
19138         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
19139         Fix error reporting.
19141         * lisp/let-alist.el: Move to lisp/emacs-lisp/let-alist.el
19143         * lisp/emacs-lisp/package.el: Revert buffer after any operation
19144         Call `package-menu--post-refresh' after any operation that changes
19145         the package database (`package-install' and `package-delete').  To
19146         avoid performance issues in large transactions, these functions
19147         add `post-refresh' to `post-command-hook' instead of calling it
19148         immediately.
19149         (package-menu--mark-or-notify-upgrades): New function.
19150         (list-packages): Add it to `package--post-download-archives-hook'.
19151         (package-menu--post-refresh): Lose the upgrade-checking code, add
19152         code to remove itself from `post-command-hook'.
19153         (package-install, package-delete): Add it to `post-command-hook'.
19154         (package-menu-execute): Don't call `package-menu--post-refresh'.
19156 2015-06-17  Stephen Leake  <stephen_leake@stephe-leake.org>
19158         Add missing function xref-location-group for elisp-mode.
19159         * lisp/progmodes/elisp-mode.el: Add missing function xref-location-group.
19161 2015-06-17  Wolfgang Jenkner  <wjenkner@inode.at>
19163         * src/editfns.c (Fbyte_to_position): Fix bytepos not at char boundary.
19164         The behavior now matches the description in the manual.  (Bug#20783)
19166 2015-06-17  Xue Fuqiao  <xfq.free@gmail.com>
19168         * etc/tutorials/TUTORIAL.cn: Update; synchronize with TUTORIAL.
19170 2015-06-17  Glenn Morris  <rgm@gnu.org>
19172         Generate char-script-table from Unicode source.  (Bug#20789)
19173         * admin/unidata/Makefile.in (AWK): New, set by configure.
19174         (all): Add charscript.el.
19175         (blocks): New variable.
19176         (charscript.el, ${unidir}/charscript.el): New targets.
19177         (extraclean): Also remove generated charscript.el.
19178         * admin/unidata/blocks.awk: New script.
19179         * admin/unidata/Blocks.txt: New data file, from unicode.org.
19180         * lisp/international/characters.el: Load charscript.
19181         * src/Makefile.in (charscript): New variable.
19182         (${charscript}): New target.
19183         (${lispintdir}/characters.elc): Depend on charscript.elc.
19184         (temacs$(EXEEXT)): Depend on charscript.
19186         * lisp/international/characters.el (char-script-table): Tweak
19187         some ranges to better match the source.  (Bug#20789#17)
19189         Remove "no-byte-compile: t" from a few files.
19190         * lisp/obsolete/bruce.el, lisp/obsolete/keyswap.el:
19191         * lisp/obsolete/patcomp.el: No reason not to compile these.
19193 2015-06-16  Glenn Morris  <rgm@gnu.org>
19195         Fix some typos in copied Unicode data.  (Bug#20789)
19196         * lisp/international/characters.el (char-script-table):
19197         * lisp/international/fontset.el (script-representative-chars)
19198         (setup-default-fontset): Fix typos.
19200         * lisp/emacs-lisp/check-declare.el (check-declare-warn):
19201         Don't print filename twice (it's in the prefix now).
19203         * lisp/emacs-lisp/pcase.el (pcase--u1): Revert earlier workaround.
19204         No longer needed.
19206         Address a compilation warning.
19207         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defalias):
19208         Replace 't' with '_' in pcase.
19210         Address some check-declare warnings.
19211         * lisp/simple.el (tabulated-list-print):
19212         * lisp/progmodes/elisp-mode.el (xref-collect-matches):
19213         * lisp/term/ns-win.el (ns-selection-owner-p, ns-selection-exists-p)
19214         (ns-get-selection): Update declarations.
19216         Address some compilation warnings.
19217         * lisp/elec-pair.el (electric-pair-post-self-insert-function):
19218         * lisp/vc/vc-git.el (vc-git-file-type-as-string):
19219         Replace 't' with '_' in pcase.
19221         Address some compilation warnings.
19222         * lisp/face-remap.el (text-scale-adjust):
19223         * lisp/menu-bar.el (popup-menu-normalize-position):
19224         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand):
19225         * lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-warn):
19226         * lisp/emacs-lisp/generator.el (cps--transform-1):
19227         * lisp/emacs-lisp/macroexp.el (macroexp--expand-all):
19228         * lisp/obsolete/vc-arch.el (vc-arch-mode-line-string):
19229         * lisp/progmodes/octave.el (octave-goto-function-definition)
19230         (octave-find-definition-default-filename):
19231         Replace 't' with '_' in pcase.
19233         * lisp/emacs-lisp/pcase.el (pcase--u1):
19234         Paper-over today's bootstrap failure.
19236 2015-06-16  Nicolas Petton  <nicolas@petton.fr>
19238         * lisp/emacs-lisp/seq.el: Fix a byte-compiler warnings related to pcase.
19240         * lisp/emacs-lisp/map.el (map-into): Fix a byte-compiler warning.
19242         Better confirmation message in `find-alternate-file' (Bug#20830)
19243         * lisp/files.el (find-alternate-file'): Improve the confirmation
19244         message to show the buffer name.
19246         Better docstring for null.  (Bug#20815)
19247         * src/data.c (null): Improves the docstring, saying what null returns
19248         when OBJECT is non-nil.
19250 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
19252         * lisp/net/newst-treeview.el: Use lexical-binding.
19254         (filepos-to-bufferpos): Add missing cases.  Make sure it terminates.
19255         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
19256         New auxiliary function, extracted from filepos-to-bufferpos.
19257         Make sure it terminates.
19258         (filepos-to-bufferpos): Use it to fix the latin-1-dos case.
19259         Add support for the `exact' quality.
19261 2015-06-16  Cédric Chépied  <cedric.chepied@gmail.com>
19263         Identify feeds in newsticker treeview with :nt-feed property
19264         * lisp/net/newst-treeview.el:
19265         (newsticker--treeview-nodes-eq): Use property :nt-feed instead of :tag.
19267 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
19269         * lisp/emacs-lisp/pcase.el: Improve docs and error handling.
19270         (pcase--self-quoting-p): Floats aren't self-quoting.
19271         (pcase): Tweak docstring.
19272         (pcase--u1): Deprecate the t pattern.  Improve error detection for
19273         the nil pattern.
19274         (\`): Tweak docstring.  Signal an error for unrecognized cases.
19275         (bug#20784)
19277 2015-06-16  Eli Zaretskii  <eliz@gnu.org>
19279         Fix infloop in filepos-to-bufferpos
19280         * lisp/international/mule-util.el (filepos-to-bufferpos): Fix EOL
19281         offset calculation, and make it conditional on the eol-type of the
19282         file's encoding.  (Bug#20825)
19284 2015-06-16  Martin Rudalics  <rudalics@gmx.at>
19286         Fix handling of image cache refcounts.  (Bug#20802)
19287         This backports Eli Zaretskii's solution of this problem for W32
19288         to X and NS.
19289         * src/nsfns.m (image_cache_refcount): Define unconditionally.
19290         (unwind_create_frame): If the image cache's reference count
19291         hasn't been updated yet, do that now.
19292         (Fx_create_frame): Set image_cache_refcount unconditionally.
19293         * src/xfns.c (image_cache_refcount): Define unconditionally.
19294         (unwind_create_frame): If the image cache's reference count
19295         hasn't been updated yet, do that now.
19296         (Fx_create_frame, x_create_tip_frame): Set image_cache_refcount
19297         unconditionally.
19298         * src/w32fns.c (image_cache_refcount): Make it a ptrdiff_t as on
19299         X and NS.
19301 2015-06-16  Nils Ackermann  <nils@ackermath.info>
19303         Improve reftex-label-regexps default value
19304         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Make
19305         keyvals label regexp more strict to better cope with unbalanced
19306         brackets common in math documents.
19308 2015-06-16  Glenn Morris  <rgm@gnu.org>
19310         * doc/emacs/calendar.texi (Format of Diary File):
19311         Move "nonmarking" from here...
19312         (Displaying the Diary): ... to here.
19314         * doc/emacs/calendar.texi (Format of Diary File, Displaying the Diary):
19315         Swap the order of these nodes.
19316         * doc/emacs/emacs.texi: Update detailed menu for the above change.
19318         * doc/emacs/calendar.texi (Specified Dates, Special Diary Entries):
19319         Update date of examples.
19320         (Diary, Format of Diary File): Move example from former to latter.
19321         Reduce duplication.
19323         No need for cp51932.el, eucjp-ms.el to not be compiled any more.
19324         * admin/charsets/cp51932.awk, admin/charsets/eucjp-ms.awk:
19325         Don't set no-byte-compile in the outputs.
19326         * lisp/loadup.el: Don't specify uncompiled cp51932, eucjp-ms.
19328 2015-06-15  Glenn Morris  <rgm@gnu.org>
19330         * lisp/calendar/calendar.el (diary-file): Use locate-user-emacs-file.
19331         * doc/emacs/calendar.texi (Diary, Format of Diary File):
19332         Update for above diary-file change.
19334         * lisp/macros.el (name-last-kbd-macro, kbd-macro-query)
19335         (apply-macro-to-region-lines): Use user-error.
19337         * lisp/textmodes/page-ext.el (add-new-page, pages-directory)
19338         (pages-directory-for-addresses): Doc fixes.
19340 2015-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
19342         * lisp/info.el: Cleanup bytepos/charpos issues
19343         * lisp/international/mule-util.el: Use lexical-binding.
19344         (filepos-to-bufferpos): New function.
19345         * lisp/info.el (Info-find-in-tag-table-1): Use 0-based file positions.
19346         (Info-find-node-2): Use filepos-to-bufferpos (bug#20704).
19347         (Info-read-subfile, Info-search): Use 0-based file positions.
19349         * lisp/progmodes/perl-mode.el: Refine handling of /re/ and y/abc/def/
19350         (perl--syntax-exp-intro-keywords): New var.
19351         (perl--syntax-exp-intro-regexp, perl-syntax-propertize-function): Use it.
19352         (bug#20800).
19354 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
19356         Fix quoting when making derived mode docstring
19357         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
19358         Nest regexp-quote inside format, not the reverse.
19359         Problem reported by Artur Malabarba in:
19360         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00206.html
19362 2015-06-15  Eli Zaretskii  <eliz@gnu.org>
19364         Fix current-iso639-language on MS-Windows
19365         * lisp/international/mule-cmds.el (set-locale-environment):
19366         Downcase the locale name before interning it.  This is so the
19367         'current-iso639-language' on MS-Windows matches the ':lang'
19368         property of font-spec objects.
19370         Limit Symbola usage some more
19371         * lisp/international/fontset.el (setup-default-fontset): Limit
19372         Symbol coverage of Currency Symbols to u+20B6..u+20CF.
19373         (Bug#20727)
19375 2015-06-15  Nicolas Petton  <nicolas@petton.fr>
19377         * lisp/emacs-lisp/map.el (map-let): Better docstring.
19379 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
19381         * test/automated/help-fns.el (abc\\\[universal-argument\]b\`c\'d\\e\"f):
19382         (help-fns-test-funny-names): Spelling fixes.
19384 2015-06-14  Glenn Morris  <rgm@gnu.org>
19386         * lisp/version.el (emacs-repository-version-git): Demote errors.
19387         Check result is a hash.
19389 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
19391         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
19392         Catch errors that happen before going async.  (Bug#20809)
19394 2015-06-14  Eli Zaretskii  <eliz@gnu.org>
19396         Another improvement of documentation of set-fontset-font
19397         * doc/lispref/display.texi (Fontsets): Say explicitly that
19398         CHARACTER can be a single codepoint.
19399         * src/fontset.c (Fset_fontset_font): Doc fix.
19401         Another improvement for symbol and punctuation characters
19402         * lisp/international/fontset.el (setup-default-fontset): Exclude
19403         from Symbola character ranges for symbols and punctuation covered
19404         well by popular Unicode fonts.  Prefer fixed-misc Unicode font, if
19405         installed and where its coverage of symbols and punctuation is
19406         known to be good.  (Bug#20727)
19408 2015-06-14  Christoph Wedler  <christoph.wedler@sap.com>
19410         Some generic support for multi-mode indentation.
19411         * lisp/progmodes/prog-mode.el (prog-indentation-context):
19412         New variable.
19413         (prog-first-column, prog-widen): New convenience functions.
19415 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
19417         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
19418         Don't assume that `tabulated-list-printer' will leave point at the
19419         end of the buffer.  (Bug#20810)
19421 2015-06-13  Glenn Morris  <rgm@gnu.org>
19423         Tweaks for getting repository version; a bit more like it was for bzr
19424         * lisp/version.el (emacs-repository-version-git)
19425         (emacs-repository--version-git-1): New functions,
19426         split from emacs-repository-get-version.
19427         (emacs-repository-get-version): Make the second argument meaningful.
19429         * lisp/startup.el (command-line-1): Inform if skipping relative
19430         file names due to deleted PWD.
19432         * src/xsmfns.c (x_session_initialize): Avoid libSM crash
19433         when starup directory is missing.  (Bug#18851)
19434         (errno.h): Include it.
19436 2015-06-13  Paul Eggert  <eggert@cs.ucla.edu>
19438         Better fix for documenting `X as "`X"
19439         Fix suggested by Stefan Monnier.
19440         * lisp/help-fns.el (help-fns--signature):
19441         Insert "`X", not "(\` X)", when documenting `X (Bug#20759).
19442         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
19443         Don't treat `X specially, as help-fns--signature now handles this.
19445 2015-06-13  Eli Zaretskii  <eliz@gnu.org>
19447         Improve the default fontset when Symbola is not installed
19448         * lisp/international/fontset.el (setup-default-fontset): Only
19449         prepend Symbola and FreeMono font specs for symbols and
19450         punctuation; do not replace the default spec for them.  This
19451         should have better results when Symbola/FreeMono are not
19452         installed.  (Bug#20727)
19454         Improve documentation of ':lang' in font specs
19455         * src/font.c (Ffont_spec): Doc fix: elaborate on the values and
19456         use of the ':lang' property of the font spec.
19457         * doc/emacs/frames.texi (Fonts): Document the language names that
19458         can be in the STYLE part of XLFD.
19459         * doc/lispref/display.texi (Low-Level Font): Document the ':lang'
19460         property.
19462         * nt/README: Don't advertise the (obsolescent) w32 FAQ.
19464         * nt/README.W32: Don't advertise the (obsolescent) w32 FAQ.
19466         Revert last change in fontset.el
19467         * lisp/international/fontset.el (setup-default-fontset): Revert
19468         the change "Configure Symbola font only if installed", since font
19469         search is evidently not yet set up when this function is called.
19470         (Bug#20727)
19472 2015-06-12  Glenn Morris  <rgm@gnu.org>
19474         Ensure early startup warnings are visible at the end.  (Bug#20792)
19475         * lisp/emacs-lisp/warnings.el (display-warning):
19476         If startup isn't complete, delay the warning.
19477         * lisp/startup.el (normal-top-level, command-line):
19478         Let display-warning automatically handle the needed delays.
19479         Run delayed-warnings-hook.
19481         * lisp/version.el (emacs-repository-get-version):
19482         Avoid calling external executable if possible.  (Bug#20799)
19484 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
19486         Document `X as "`X", not as "(` X)"
19487         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
19488         Document (backquote FOO) as "`FOO", not as "(` FOO)" (Bug#20759).
19490         * src/print.c (print_object): Minor simplification.
19492 2015-06-12  Glenn Morris  <rgm@gnu.org>
19494         * src/buffer.c (init_buffer): Add final newline to message.
19496 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
19498         Configure Symbola font only if installed
19499         * lisp/international/fontset.el (setup-default-fontset):
19500         Don't specify the Symbola font if it's not installed.
19501         Likewise for FreeMono.  (Bug#20727)
19503 2015-06-12  Eli Zaretskii  <eliz@gnu.org>
19505         Configure Symbola font only for symbols and punctuation
19506         * lisp/international/fontset.el (setup-default-fontset): Leave
19507         only symbols and punctuation in the fontset setup for Symbola
19508         font; remove "Greek and Coptic" and "Cyrillic Supplement".
19509         (Bug#20798)
19511 2015-06-12  Andreas Schwab  <schwab@linux-m68k.org>
19513         Fix crash in fontset-info
19514         * src/fontset.c (Ffontset_info): Check that the RFONT-DEF elt is
19515         non-nil.
19517 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
19519         Port to Solaris 10 sparc + Sun C 5.13
19520         * configure.ac (SETUP_SLAVE_PTY) [sol2* | unixware]:
19521         Adjust to process.c change.
19522         * src/process.c (create_process): Declare volatile variables at
19523         top level of this function, so that they're less likely to be
19524         reused later in the function in the code executed by the vforked
19525         child.  Do not declare locals used only in the vforked child, as
19526         they might share memory with locals still live in the parent.
19527         Instead, use the same variables in the child as in the parent.
19528         This works around a subtle bug that causes a garbage collector
19529         crash when Emacs is built with Sun C 5.13 sparc on Solaris 10.
19531 2015-06-12  Glenn Morris  <rgm@gnu.org>
19533         * lisp/startup.el (normal-top-level): Don't let *Messages* get
19534         a nil default-directory.
19536 2015-06-11  Glenn Morris  <rgm@gnu.org>
19538         * lisp/startup.el (normal-top-level): Use delay-warning.  (Bug#20792)
19540         Some progress towards starting with PWD deleted.  (Bug#18851)
19541         * src/buffer.c (init_buffer): Handle get_current_dir_name failures.
19542         * lisp/startup.el (normal-top-level, command-line-1):
19543         * lisp/minibuffer.el (read-file-name-default):
19544         Handle default-directory being nil.
19546 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
19548         Fix "not a tty" bug on Solaris 10
19549         * configure.ac (PTY_OPEN): Define to plain 'open'
19550         on SVR4-derived hosts, so that the O_CLOEXEC flag isn't set.
19551         * src/process.c (allocate_pty): Set the O_CLOEXEC flag after
19552         calling PTY_TTY_NAME_SPRINTF, for the benefit of SVR4-derived
19553         hosts that call grantpt which does its work via a setuid subcommand
19554         (Bug#19191, Bug#19927, Bug#20555, Bug#20686).
19555         Also, set O_CLOEXEC even if PTY_OPEN is not defined, since it
19556         seems relevant in that case too.
19558 2015-06-11  Juri Linkov  <juri@linkov.net>
19560         * lisp/bindings.el (debug-ignored-errors): Add mark-inactive.
19561         * lisp/simple.el (kill-region): Replace 'error' with 'user-error'.
19562         (Bug#20785)
19564 2015-06-11  Glenn Morris  <rgm@gnu.org>
19566         * lisp/international/characters.el (char-script-table): Fix typo.
19568 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
19570         Fix quoting of help for functions with odd names
19571         While investigating Bug#20759, I discovered other quoting problems:
19572         C-h f mishandled characters like backslash and quote in function names.
19573         This fix changes the behavior so that 'C-h f pcase RET' now
19574         generates "... (\` QPAT) ..." instead of "... (` QPAT) ...",
19575         because '(format "%S" '(` FOO))' returns "(\\` FOO)".  A comment
19576         in src/lread.c's read1 function says that the backslash will be
19577         needed starting in Emacs 25, which implies that 'format' is
19578         correct and the old pcase documention was wrong to omit the backslash.
19579         * lisp/emacs-lisp/nadvice.el (advice--make-docstring):
19580         * lisp/help-fns.el (help-fns--signature):
19581         * lisp/help.el (help-add-fundoc-usage):
19582         * lisp/progmodes/elisp-mode.el (elisp-function-argstring):
19583         Use help--make-usage-docstring rather than formatting
19584         help-make-usage.
19585         * lisp/emacs-lisp/pcase.el (pcase--make-docstring):
19586         Return raw docstring.
19587         * lisp/help-fns.el (help-fns--signature): New arg RAW, to return
19588         raw docstring.  Take more care to distinguish raw from cooked dstrings.
19589         (describe-function-1): Let help-fns--signature substitute
19590         command keys.
19591         * lisp/help.el (help--docstring-quote): New function.
19592         (help-split-fundoc): Use it, to quote funny characters more
19593         systematically.
19594         (help--make-usage): Rename from help-make-usage, since this
19595         should be private.  Leave an obsolete alias for the old name.
19596         (help--make-usage-docstring): New function.
19597         * test/automated/help-fns.el (help-fns-test-funny-names): New test.
19599 2015-06-11  Stefan Monnier  <monnier@iro.umontreal.ca>
19601         * lisp/thingatpt.el (in-string-p): Revert last change,
19602         since in-string-p is not used in thingatpt.el but only from outside.
19603         Also, use lexical binding.
19605 2015-06-11  Artur Malabarba  <bruce.connor.am@gmail.com>
19607         * lisp/let-alist.el (let-alist--deep-dot-search): Fix cons.
19608         * test/automated/let-alist.el (let-alist-cons): Test it.
19610 2015-06-11  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
19612         * src/syntax.c (Fbackward_prefix_chars): Reword docstring.
19614 2015-06-10  Glenn Morris  <rgm@gnu.org>
19616         * build-aux/gitlog-to-emacslog: Also ignore pointless merge commits.
19618         Improve generated ChangeLog for gitmerge.el commits.  (Bug#20717)
19619         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
19620         * admin/gitmerge.el (gitmerge-commit-message):
19621         Exclude "skipped" messages from ChangeLog once again.
19623         Slight namespace cleanup for thingatpt.el.
19624         * lisp/thingatpt.el (thing-at-point--in-string-p)
19625         (thing-at-point--end-of-sexp, thing-at-point--beginning-of-sexp)
19626         (thing-at-point--read-from-whole-string): Rename from
19627         old versions without "thing-at-point--" prefix.
19628         Keep old versions as obsolete aliases.  Update all uses.
19630         * lisp/emacs-lisp/checkdoc.el (checkdoc-get-keywords):
19631         Move requiring of finder from here...
19632         (checkdoc-package-keywords): ... to here.
19634         Use 'user-error' in a few calendar files.
19635         * lisp/calendar/appt.el (appt-add):
19636         * lisp/calendar/calendar.el (calendar-absolute-from-gregorian)
19637         (calendar-generate):
19638         * lisp/calendar/diary-lib.el (diary-mail-entries, diary-cyclic):
19639         Replace 'error' with 'user-error'.
19641         * lisp/progmodes/f90.el (f90-backslash-not-special): Use user-error.
19643         * lisp/files-x.el (add-file-local-variable):
19644         Special-case 'lexical-binding'.  (Bug#20641)
19646         * lisp/progmodes/executable.el (executable-self-display): Obsolete.
19647         No longer autoload.
19648         * doc/misc/autotype.texi (Executables):
19649         Undocument executable-self-display.
19651         * lisp/progmodes/executable.el (executable-self-display):
19652         Use non-obsolete tail syntax.  (Bug#20779)
19653         (executable-self-display): Doc update.
19655 2015-06-10  Stefan Monnier  <monnier@iro.umontreal.ca>
19657         * lisp/emacs-lisp/checkdoc.el: Use lexical-binding
19658         (finder-known-keywords): Silence byte-compiler.
19660 2015-06-09  Stefan Monnier  <monnier@iro.umontreal.ca>
19662         * lisp/simple.el (eval-expression): Macroexpand before evaluating
19663         (bug#20730).
19665         * lisp/progmodes/sh-script.el: Better handle nested quotes.
19666         (sh-here-doc-open-re): Don't mis-match the <<< operator (bug#20683).
19667         (sh-font-lock-quoted-subshell): Make sure double quotes within single
19668         quotes don't mistakenly end prematurely the surrounding string.
19670         * lisp/progmodes/elisp-mode.el: Require cl-lib for cl-defstruct.
19672 2015-06-09  Glenn Morris  <rgm@gnu.org>
19674         * test/automated/Makefile.in (ELFILES): Sort.
19676         * Makefile.in (SUBDIR_MAKEFILES):
19677         * lwlib/Makefile.in (WARN_CFLAGS):
19678         Use built-in Make functions rather than echo+sed.
19680 2015-06-09  Eli Zaretskii  <eliz@gnu.org>
19682         Update char-script-table
19683         * lisp/international/characters.el (char-script-table): Update
19684         from Unicode 8.0 Draft.
19686         Improve font selection for punctuation and other symbols
19687         * src/fontset.c (face_for_char): If the character's script is
19688         'symbol', and the font used for ASCII face has a glyph for it, use
19689         the font for the ASCII face instead of searching the fontsets.
19690         This comes instead of NS-specific code that used the current
19691         face's font instead, which is now disabled due to undesirable
19692         consequences.  (Bug#20727)
19694 2015-06-08  Dmitry Gutov  <dgutov@yandex.ru>
19696         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
19697         Skip past `#' to find BEG (bug#20771).
19698         * test/automated/elisp-mode-tests.el
19699         (elisp-completes-functions-after-hash-quote): New test.
19701 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
19703         Fix compilation warning/error in --without-x builds
19704         * src/xdisp.c (append_space_for_newline): Condition GUI-specific
19705         code on HAVE_WINDOW_SYSTEM.
19707         Improve the default fontset wrt symbols
19708         * lisp/international/fontset.el (setup-default-fontset): Better
19709         setup of fontset-default for symbols: use Symbola and FreeMono.
19710         (Bug#20727)
19712 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
19714         Add new command checkdoc-package-keywords
19715         * lisp/emacs-lisp/checkdoc.el (checkdoc-package-keywords-flag):
19716         New defcustom.
19717         (checkdoc-list-of-strings-p): Add doc.
19718         (checkdoc-current-buffer): When `checkdoc-package-keywords-flag' is
19719         non-nil, call `checkdoc-package-keywords'.
19720         (checkdoc-get-keywords): New defun.
19721         (checkdoc-package-keywords): New command.  Warns if the current file
19722         has package.el-style keywords that aren't in `finder-known-keywords'.
19723         * etc/NEWS: Add entry.
19725 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
19727         Avoid crashes when key-binding is called from a timer
19728         * src/keymap.c (Fkey_binding): Don't segfault if called with an
19729         empty vector as KEY.  (Bug#20705)
19731         Fix a thinko in arc-mode.el
19732         * lisp/arc-mode.el (archive-zip-summarize): Fix last change in the
19733         non-Zip64 case.  (Bug#20769)
19735 2015-06-08  Artur Malabarba  <bruce.connor.am@gmail.com>
19737         * lisp/emacs-lisp/package.el (package-delete): Make interactive.
19739 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
19741         * lisp/emacs-lisp/checkdoc.el (checkdoc-file): New function.
19742         (checkdoc-error): When `checkdoc-diagnostic-buffer' is set to
19743         "*warn*", print the warning to the standard output.  (bug#20754)
19745 2015-06-07  Glenn Morris  <rgm@gnu.org>
19747         * admin/update_autogen (changelog_files): Remove gitlog-to-emacslog.
19749         * src/font.c (syms_of_font) <font-log>: Doc fix.
19751         Remove the obsolete leading "*" from some C doc strings.
19752         * src/coding.c (syms_of_coding):
19753         * src/font.c (syms_of_font): Remove leading "*" from docs.
19754         * lisp/cus-start.el (enable-character-translation): Add it.
19756 2015-06-07  Paul Eggert  <eggert@cs.ucla.edu>
19758         Move gen_origin from program to data
19759         That way, 'make change-history' needs to change only ChangeLog.2,
19760         instead of having to change two files.
19761         * ChangeLog.2: Add commit info for range that this file covers.
19762         * Makefile.in (new_commit_regexp): New macro.
19763         (change-history-nocommit): Simplify, by putting what used to be
19764         the gen_origin value into the data (ChangeLog.2) rather than
19765         into the program (gitlog-to-emacslog).
19766         * build-aux/gitlog-to-emacslog (gen_origin): Calculate from
19767         the input file (e.g., ChangeLog.2) rather than by having a
19768         constant in the program.  Substitute it into the output.
19770 2015-06-07  Dmitry Gutov  <dgutov@yandex.ru>
19772         * lisp/help-fns.el (help-fns--signature): Quote any quotes in the
19773         function name (bug#20759).
19775 2015-06-07  Eli Zaretskii  <eliz@gnu.org>
19777         Adapt 'struct timespec' to next release of MinGW runtime
19778         * nt/inc/ms-w32.h (struct timespec): Don't declare if
19779         __struct_timespec_defined is defined.
19781 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
19783         Merge from gnulib
19784         This incorporates:
19785         2015-06-06 acl-permissions: pacify -Wsuggest-attribute=const
19786         2015-06-05 stdio: Don't redefine gets when using C++
19787         2015-06-05 acl-permissions: port to AIX, C89 HP-UX
19788         2015-06-02 file-has-acl: fix build on Mac OS X 10
19789         2015-06-01 gnulib-tool: concatenate lib_SOURCES to a single line
19790         2015-06-01 pthread_sigmask: discount system version if a simple macro
19791         2015-05-31 readlinkat: avoid OS X 10.10 trailing slash bug
19792         * doc/misc/texinfo.tex, lib/acl-internal.h, lib/get-permissions.c:
19793         * lib/readlinkat.c, lib/set-permissions.c, lib/stdio.in.h:
19794         * m4/acl.m4, m4/pthread_sigmask.m4, m4/readlinkat.m4: Copy from gnulib.
19795         * lib/gnulib.mk: Regenerate.
19797 2015-06-06  Juri Linkov  <juri@linkov.net>
19799         * lisp/progmodes/grep.el (zrgrep): Let-bind grep-highlight-matches
19800         before calling grep-compute-defaults because now it affects the
19801         command lines computed in grep-compute-defaults.  (Bug#20728)
19803 2015-06-06  Glenn Morris  <rgm@gnu.org>
19805         Address some compilation warnings.
19806         * lisp/international/mule-cmds.el (w32-get-console-codepage)
19807         (w32-get-console-output-codepage):
19808         * lisp/progmodes/elisp-mode.el (xref-collect-references):
19809         * lisp/version.el (cairo-version-string): Declare.
19810         * lisp/erc/erc.el (erc-nickname-in-use): Fix typo.
19812 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
19814         Fix display when a font claims large values of ascent and descent
19815         This fixes bug#20628.
19816         * src/xdisp.c (get_phys_cursor_geometry): Correct the Y
19817         coordinate of a hollow cursor glyph when the original glyph's
19818         ascent is too small.
19819         (get_font_ascent_descent, normal_char_ascent_descent)
19820         (normal_char_height): New functions.
19821         (handle_single_display_spec, append_space_for_newline)
19822         (calc_pixel_width_or_height, produce_stretch_glyph)
19823         (calc_line_height_property): Use normal_char_ascent_descent and
19824         normal_char_height.
19825         (x_produce_glyphs): When font-global values of ascent and descent
19826         are too large, use per-character glyph metrics instead, if
19827         possible.  But don't allow the glyph row's ascent and descent
19828         values become smaller than the values from the metrics of the
19829         font's "normal" character.
19830         * src/xftfont.c (xftfont_draw):
19831         * src/w32font.c (w32font_draw): Correct the values of ascent and
19832         descent used to draw glyphless characters' hex code in a box.
19833         * src/xterm.c (x_draw_glyph_string_background):
19834         * src/xdisp.c (x_produce_glyphs):
19835         * src/w32term.c (x_draw_glyph_string_background):
19836         * src/nsterm.m (ns_maybe_dumpglyphs_background): Use FONT_TOO_HIGH
19837         to detect fonts whose global ascent and descent values are too
19838         large to be used in layout decision, and redraw the background
19839         when that happens.
19840         * src/dispextern.h (FONT_TOO_HIGH): New macro.
19841         (get_font_ascent_descent): Add prototype.
19842         * src/xterm.c (x_new_font):
19843         * src/w32term.c (x_new_font):
19844         * src/nsterm.m (x_new_font):
19845         * src/font.c (font_open_entity):
19846         * src/composite.c (composition_gstring_width):
19847         Use get_font_ascent_descent to obtain reasonable values for ascent
19848         and descent of a font.
19850 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
19852         Add assertion in adjust_point_for_property
19853         * src/keyboard.c (adjust_point_for_property): Add eassert for
19854         current buffer being shown in selected window.
19856 2015-06-06  Dmitry Gutov  <dgutov@yandex.ru>
19858         Replace uses of in-string-p; make it obsolete
19859         * lisp/thingatpt.el (in-string-p): Declare obsolete (bug#20732).
19860         (end-of-sexp, beginning-of-sexp): Use syntax-ppss instead.
19862 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
19864         Fix Dired display of an explicit list of files by ls-lisp.el
19865         * lisp/ls-lisp.el (ls-lisp-uid-d-fmt, ls-lisp-uid-s-fmt)
19866         (ls-lisp-gid-d-fmt, ls-lisp-gid-s-fmt): Make the initial values be
19867         correct for when displaying individual files separately, not as
19868         part of listing a directory, in which case these values are not
19869         recomputed by 'ls-lisp-insert-directory', but used verbatim.
19871         * lisp/dired.el (dired): Doc fix.  (Bug#20739)
19873 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
19875         Do not adjust point in a non-selected window
19876         * src/keyboard.c (command_loop_1): Do not adjust point when
19877         current buffer is not shown in selected window (Bug#20590).
19879         * etc/DEBUG: Mention 'maybe_call_debugger'
19881 2015-06-05  Nicolas Petton  <nicolas@petton.fr>
19883         Fix a unit test for map.el
19884         * test/automated/map-tests.el (test-map-let): Fix the test to work
19885         with the new syntax of `map-let'.
19887         * lisp/emacs-lisp/map.el (map-let): Better docstring.
19889         Better syntax for the map pcase pattern
19890         * lisp/emacs-lisp/map.el: Improves the map pcase pattern to take
19891         bindings of the form (KEY PAT) or SYMBOL.  KEY is not quoted.
19893         * lisp/emacs-lisp/map.el (map--dispatch): Better docstring.
19895         Fix a byte-compiler error in map-put and map-delete
19896         * lisp/emacs-lisp/map.el (map-put, map-delete): Ensure that `setq' is
19897         called with a symbol.
19899 2015-06-05  Glenn Morris  <rgm@gnu.org>
19901         * admin/gitmerge.el (gitmerge-commit-message):
19902         Revert to including "skipped" messages in ChangeLog once again.
19904 2015-06-05  Tassilo Horn  <tsdh@gnu.org>
19906         Use string> instead of equiv lambda with string<
19907         * lisp/help.el (view-emacs-news): Use string> instead of equivalent
19908         lambda with string<.
19910 2015-06-05  Glenn Morris  <rgm@gnu.org>
19912         * lisp/emacs-lisp/map.el (map--dispatch): Move before use.
19913         (map--delete-array): Fix typo.
19915         * test/automated/map-tests.el: Replace "assert" with "should".
19917         * lisp/Makefile.in (SUBDIRS): Rename from SUBDIRS_ABS.
19918         (SUBDIRS_REL): Derive from SUBDIRS.
19920         Tweak some build messages.
19921         * lisp/Makefile.in ($(lisp)/loaddefs.el):
19922         * lisp/cus-dep.el (custom-make-dependencies):
19923         * lisp/finder.el (finder-compile-keywords): Say what we are doing.
19924         * lisp/international/titdic-cnv.el (batch-titdic-convert):
19925         Don't say how to compile.
19927 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
19929         Omit U+0332 COMBINING LOW LINE in previous change
19930         It turns out that it does not work on Ubuntu 15.04.
19932         Fix transliteration of Bahá'í months
19933         * lisp/calendar/cal-bahai.el (calendar-bahai-month-name-array):
19934         Improve quality of Latin transliteration of Bahá'í month names.
19936         Fix curved quotes in a few places
19937         * lisp/calc/calc-misc.el (calc-help): Fix quoting.
19938         The strings in question are not doc strings, so this partially
19939         undoes the recent change that assumed they were doc strings.
19940         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
19941         * lisp/info.el (Info-finder-find-node):
19942         Use curved quotes.
19943         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
19944         Also allow curved quotes in doc strings.
19946 2015-06-04  Glenn Morris  <rgm@gnu.org>
19948         * lisp/Makefile.in (AM_V_at): Add missing definition.
19950         * lisp/Makefile.in: Quieten output a bit.
19951         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el):
19952         Don't echo directories, since the commands we invoke print them.
19954         * lisp/Makefile.in: Replace shell fragments in variables with $(shell).
19955         (SUBDIRS_REL, SUBDIRS_ABS, SUBDIRS_ALMOST, SUBDIRS_FINDER)
19956         (SUBDIRS_SUBDIRS): New variables.
19957         (setwins, setwins_almost, setwins_finder, setwins_for_subdirs):
19958         Remove.
19959         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el, $(lisp)/loaddefs.el)
19960         (update-subdirs, compile-main, compile-clean):
19961         Replace "setwins" usage with new "SUBDIRS" variables.
19963         * lisp/vc/compare-w.el (compare-windows-get-window-function):
19964         Fix :version tag.
19966 2015-06-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
19968         * src/ftfont.c (ftfont_open2): Round divisions by upEM.
19970         Undo removal of x_clear_area call on expose for GTK3 or cairo
19971         * src/xterm.c (handle_one_xevent) [HAVE_GTK3 || USE_CAIRO]:
19972         Clear exposed area.  (Bug#20677)
19974 2015-06-04  Glenn Morris  <rgm@gnu.org>
19976         * doc/lispref/hash.texi (Creating Hash): Remove obsolete makehash.
19978         * lisp/Makefile.in (check-defun-dups): Also skip ldefs-boot.
19980         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
19981         Rename from quail-lao-update-translation, since lao.el defines that.
19983 2015-06-04  Dmitry Gutov  <dgutov@yandex.ru>
19985         Handle new-style advice in find-funct
19986         * lisp/emacs-lisp/find-func.el (find-function-advised-original):
19987         Handle new-style advice.  Return the symbol's function definition.
19988         (Bug#20718)
19989         (find-function-library): Update accordingly.
19991 2015-06-04  Nicolas Petton  <nicolas@petton.fr>
19993         Merge branch 'map'
19995         * lisp/emacs-lisp/map.el: Better docstring for the map pcase macro.
19997         Add new function string-greaterp
19998         * lisp/subr.el (string-greaterp): New function.  Also aliased to
19999         `string>'.
20000         * test/automated/subr-tests.el (string-comparison-test): Add unit
20001         tests for `string>'and `string<'.
20002         * src/fns.c (string-lessp): Better docstring.
20004 2015-06-04  Eli Zaretskii  <eliz@gnu.org>
20006         Fix timezone-related functions on MS-Windows
20007         * src/editfns.c (set_time_zone_rule) [WINDOWSNT]: Always call
20008         'xputenv', even if no reallocation of tzvalbuf was necessary.
20009         This fixes a bug in timezone-related functions on MS-Windows.
20010         Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.
20012 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
20014         Don't pass raw directory name to 'error'
20015         * lisp/files.el (basic-save-buffer-2): Avoid format error if
20016         a directory name contains a string like "%s".
20018 2015-06-03  Dmitry Gutov  <dgutov@yandex.ru>
20020         Override 'grep --color=always'
20021         * lisp/progmodes/xref.el (xref-collect-matches):
20022         Override --color=always in grep-find-template.
20024 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
20026         Fix error introduced recently in file-notify-tests.el
20027         * test/automated/file-notify-tests.el
20028         (file-notify--test-remote-enabled): Do not use `file-notify--test-desc'.
20029         (file-notify--deftest-remote): Revert previous patch, not
20030         necessary anymore.
20032 2015-06-03  Wolfgang Jenkner  <wjenkner@inode.at>
20034         * src/indent.c (Fvertical_motion): Amend motion by 0 lines.
20035         Starting from a display string after a newline, point went to the
20036         previous line.  Also, fix an inadvertent use of a buffer position
20037         with FETCH_BYTE.  (Bug#20701)
20039 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
20041         Instrument file-notify-test.el in order to catch hydra error
20042         * test/automated/file-notify-tests.el (file-notify--deftest-remote):
20043         Wrap body by `ignore-case', in order to trap non-local errors.
20045 2015-06-03  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
20047         Undo previous changes in non-toolkit scroll bar drawing
20048         * src/xterm.c (x_scroll_bar_set_handle, x_scroll_bar_expose)
20049         [!USE_TOOLKIT_SCROLL_BARS]: Draw into scroll bar window.  (Bug#20668)
20051 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
20053         * .gitignore: Also ignore doc/*/*/*.html and .ps.
20055         Support quotes 'like this' in info files
20056         This is possible when 'makeinfo --disable-encoding' is used
20057         in Texinfo 5.
20058         * lisp/calc/calc-help.el (calc-describe-thing):
20059         * lisp/gnus/gnus-art.el (gnus-button-alist):
20060         * lisp/info.el (Info-find-index-name):
20061         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
20062         Also support quotes 'like this'.
20063         * lisp/calc/calc-help.el (calc-describe-thing): Simplify.
20064         * lisp/finder.el (finder-font-lock-keywords): Remove var that
20065         hasn't been used in years, instead of bothering to fix its quoting.
20067 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
20069         * .gitignore: Remove !test/etags/html-src/*.html.
20070         It's no longer needed, since *.html was removed.  Sort.
20072 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
20074         Restore <D> instead of '.' in grep-find-template
20075         * lisp/cedet/semantic/symref/grep.el
20076         (semantic-symref-grep-use-template): Update a comment.
20077         * lisp/progmodes/grep.el (grep-compute-defaults): Restore <D>
20078         instead of '.' in grep-find-template (bug#20719).
20079         (rgrep): Pass nil as the directory to rgrep-default-command.
20080         * lisp/progmodes/grep.el (grep-expand-keywords): Use '.' as the
20081         default value for DIR.
20082         * lisp/progmodes/xref.el (xref-collect-matches): Drop the
20083         workaround.
20085 2015-06-02  Glenn Morris  <rgm@gnu.org>
20087         * configure.ac (emacs_config_features): Add X toolkit and scroll-bars.
20089         * configure.ac (emacs_config_features): Add Cairo.
20091         * configure.ac [HAVE_GTK3]: Remove USE_CAIRO that gets reset later.
20093 2015-06-02  Michael Albinus  <michael.albinus@gmx.de>
20095         Ensure that autorevert works for remote files in file-notify-tests.el
20096         * test/automated/file-notify-tests.el (file-notify--test-desc):
20097         New defvar.
20098         (file-notify--test-remote-enabled)
20099         (file-notify-test00-availability, file-notify-test01-add-watch)
20100         (file-notify-test02-events): Use it.
20101         (file-notify--test-event-test): Check proper descriptor.
20102         (file-notify-test03-autorevert): Ensure that
20103         `visited-file-modtime' has changed.  (Bug#20392)
20105 2015-06-02  Nicolas Petton  <nicolas@petton.fr>
20107         Add a pcase pattern for maps and `map-let' based on it
20108         * lisp/emacs-lisp/map.el (map-let): New macro.
20109         (map--make-pcase-bindings, map--make-pcase-patterns): New functions.
20110         * test/automated/map-tests.el: New test for `map-let'.
20112 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
20114         Reuse rgrep mechanics in xref-find-regexp
20115         * lisp/progmodes/grep.el (rgrep-default-command):
20116         Extract from `rgrep'.
20117         * lisp/progmodes/xref.el (xref-collect-references): Split from
20118         `xref-collect-matches'.  Only handle the case of symbol search.
20119         (xref-collect-matches): Instead of Semantic Symref, use
20120         `rgrep-default-command', to take advantage of its directory and
20121         file ignore settings.
20122         (xref--collect-match): Remove the last argument, leaving the
20123         regexp construction up to the caller.
20124         * lisp/progmodes/elisp-mode.el (elisp--xref-find-matches):
20125         Change to take the xref-collect- function to use as an argument.
20126         (elisp-xref-find): Update accordingly.
20127         * lisp/progmodes/etags.el (etags--xref-find-matches)
20128         (etags-xref-find): Same.
20130         Move xref-elisp-location to elisp-mode.el
20131         * lisp/progmodes/xref.el (xref-elisp-location)
20132         (xref-make-elisp-location, xref-location-marker): Remove here.
20133         (xref--xref): Don't limit the type of the location slot.
20134         * lisp/progmodes/elisp-mode.el (xref-elisp-location):
20135         Define as a cl-struct here.
20136         (xref-location-marker): Move here.
20138 2015-06-02  Eli Zaretskii  <eliz@gnu.org>
20140         Minor tweaks for .gitignore
20141         * .gitignore: Don't ignore versioned *.html and *.ps files.
20142         Don't ignore admin/notes/tags that might be ignored as TAGS
20143         on case-insensitive filesystems.  (Bug#20710)
20145 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
20147         Generate curved quotes in ert doc
20148         * lisp/emacs-lisp/ert.el (ert--print-test-for-ewoc)
20149         (ert-results-mode-menu)
20150         (ert-results-pop-to-backtrace-for-test-at-point)
20151         (ert-results-pop-to-messages-for-test-at-point)
20152         (ert-results-pop-to-should-forms-for-test-at-point)
20153         (ert-describe-test):
20154         Quote ‘like this’, not `like this', when generating doc strings
20155         and the like.
20156         * test/automated/ert-x-tests.el (ert-test-describe-test):
20157         Allow quoting ‘like this’.
20159 2015-06-02  Nicolas Richard  <youngfrog@members.fsf.org>
20161         Add test for previous commit
20162         * test/automated/replace-tests.el: New file.
20163         (query-replace--split-string-tests): Add test for previous commit.
20165         Avoid confusion in query-replace history when replacing NUL chars
20166         * lisp/replace.el (query-replace--split-string): New function.
20167         (query-replace-read-from): Rely on the 'separator' property
20168         instead of searching for the NUL character (Bug#20690).
20170 2015-06-02  Glenn Morris  <rgm@gnu.org>
20172         Merge from origin/emacs-24
20173         8b5f2f4 * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
20175         * admin/gitmerge.el (gitmerge-commit-message):
20176         Exclude "skipped" messages from ChangeLog.
20178 2015-06-01  Michael Albinus  <michael.albinus@gmx.de>
20180         Sync with Tramp repository
20181         * lisp/net/tramp.el (tramp-message): Dump connection buffer error
20182         messages.
20183         (tramp-handle-make-auto-save-file-name): When calling
20184         `make-auto-save-file-name' internally, make sure it uses Unix-like
20185         behavior, not Windows-like behavior.
20186         * lisp/net/tramp-sh.el (tramp-set-file-uid-gid): Add a timeout for
20187         the local case, because "chown" might fail on w32.
20188         * lisp/net/trampver.el (tramp-repository-get-version): Don't run
20189         for XEmacs.
20191 2015-06-01  Eli Zaretskii  <eliz@gnu.org>
20193         MS-Windows followup for batch stdout/stderr output changes
20194         * lisp/international/mule-cmds.el (set-locale-environment):
20195         In batch mode, use console codepages for keyboard and terminal
20196         encoding.  (Bug#20545)
20198         Update .gitattributes for DOS EOL files
20199         * .gitattributes: Use "whitespace=cr-at-eol" for files with DOS
20200         CRLF end-of-line format.
20202         NS equivalents of xterm.c and w32term.c changes
20203         * src/nsterm.m (ns_maybe_dumpglyphs_background): Force redraw of
20204         glyph string background also when the font in use claims
20205         preposterously large global height value.  Helps to remove
20206         artifacts left from previous displays when glyphless characters
20207         are displayed as hex code in a box.
20208         (x_new_font): Call get_font_ascent_descent to obtain a reasonable
20209         value for FRAME_LINE_HEIGHT, even when a font claims very large
20210         value for its height.
20212 2015-06-01  Paul Eggert  <eggert@cs.ucla.edu>
20214         Avoid grave accent quoting in stderr diagnostics
20215         A few Emacs diagnostics go directly to stderr, and so can't easily
20216         contain curved quotes (as non-UTF-8 locales might mishandle them).
20217         Instead of bothering to add support for this rarity, reword the
20218         diagnostics so that they don't use grave accent to quote.
20219         * src/alloc.c (mark_memory): Fix comment.
20220         * src/buffer.c (init_buffer):
20221         * src/dispnew.c (init_display):
20222         * src/emacs.c (main, sort_args):
20223         * src/lread.c (dir_warning):
20224         * src/term.c (init_tty):
20225         * src/unexmacosx.c (unexec):
20226         * src/xfns.c (select_visual):
20227         * src/xterm.c (cvt_string_to_pixel, x_io_error_quitter):
20228         Reword stderr diagnostics to avoid quoting `like this'.
20229         * src/unexmacosx.c: Include errno.h.
20230         * src/xfns.c (select_visual): Encode value for locale.
20232 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
20234         Treat batch stdout/stderr like standard display
20235         Calls like (print FOO) could generate improperly encoded or
20236         hard-to-read output if FOO contains characters outside the system
20237         locale.  Fix this by treating batch stdout and stderr like
20238         interactive standard display, when it comes to transliterating and
20239         encoding characters (Bug#20545).
20240         * doc/emacs/mule.texi (Communication Coding):
20241         * doc/lispref/display.texi (Active Display Table):
20242         * doc/lispref/nonascii.texi (Locales):
20243         * etc/NEWS:
20244         * src/coding.c (syms_of_coding):
20245         * src/dispnew.c (syms_of_display):
20246         Document this.
20247         * src/print.c: Include disptab.h.
20248         (printchar_to_stream): New function, with much of the guts of the
20249         old Fexternal_debugging_output, except this one also uses the
20250         standard display table.
20251         (printchar, strout, Fexternal_debugging_output): Use it.
20253 2015-05-31  Glenn Morris  <rgm@gnu.org>
20255         * src/emacs.c (syms_of_emacs) <system-configuration-features>: Doc fix.
20257 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
20259         Remove DEFSYMs that aren't used at the C level.  Also:
20260         * src/decompress.c (Qzlib_dll):
20261         * src/font.c (Qunicode_sip):
20262         * src/frame.c (Qtip_frame):
20263         * src/ftfont.c (Qserif):
20264         * src/gnutls.c (Qgnutls_dll):
20265         * src/xml.c (Qlibxml2_dll):
20266         Move from here ...
20267         * src/w32fns.c (syms_of_w32fns): ... to here,
20268         as these are used only on MS-Windows.
20270 2015-05-31  Michael Albinus  <michael.albinus@gmx.de>
20272         Use another default value for tramp-histfile-override
20273         * lisp/net/tramp-sh.el (tramp-histfile-override):
20274         Use ".tramp_history" as default.
20275         Fixes bug#20446
20277 2015-05-29  Nicolas Petton  <nicolas@petton.fr>
20279         * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
20281 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
20283         * etc/NEWS: Add an entry about map.el.
20285         Improve the docstring of functions in map.el
20286         Since a map is not a data structure but a concept, adding information
20287         about the possible types of maps can be useful information.
20288         * lisp/emacs-lisp/map.el: Add documentation about the type of MAP to
20289         each public function.
20291 2015-04-29  Nicolas Petton  <nicolas@petton.fr>
20293         * lisp/emacs-lisp/map.el (map-empty-p): Faster implementation using
20294         specific tests depending on the type of the map.
20296         * lisp/emacs-lisp/map.el: Better docstrings.
20298 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
20300         * lisp/emacs-lisp/map.el (map-pairs): Dump redundant lambda.
20302 2015-04-25  Nicolas Petton  <nicolas@petton.fr>
20304         * lisp/emacs-lisp/map.el (map--elt-list): Better docstring.
20306         * lisp/emacs-lisp/map.el (map--elt-list): Minor refactoring.
20308         Fix a false negative in `map-elt' with alists and values being nil
20309         * lisp/emacs-lisp/map.el (map-elt): If map is an alist and key is
20310         found but its associated value is nil, do not return the default
20311         value.
20312         * test/automated/map-tests.el: Add a regression test.
20314 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
20316         * lisp/emacs-lisp/map.el (map--dispatch): Improve the docstring.
20318         Do not signal an error when trying to delete a key from an array
20319         * lisp/emacs-lisp/map.el (map-delete): When map is an array, check if
20320         the key is present to avoid signaling an error.
20321         * test/automated/map-tests.el: Add a test for deleting non-existing
20322         keys from maps.
20324         * lisp/emacs-lisp/map.el: Better docstring.
20326         Minor improvement in map-elt
20327         * lisp/emacs-lisp/map.el (map-elt): Do not use `ignore-errors' when
20328         doing a lookup in arrays, but check the boundaries of the array
20329         instead.
20330         * test/automated/map-tests.el: Adds a test for `map-elt' with arrays
20331         and a negative integer as key.
20333 2015-04-21  Nicolas Petton  <nicolas@petton.fr>
20335         * test/automated/map-tests.el: Refactoring of test methods.
20337         * test/automated/map-tests.el: Renamed from map-test.el.
20339 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
20341         * lisp/emacs-lisp/map.el (map-into): Better error message.
20343         * lisp/emacs-lisp/map.el: Remove byte-compilation warnings.
20345         Throw an error when converting a map into an unknown map type
20346         * lisp/emacs-lisp/map.el (map-into): Throw an error if type is
20347         not valid.
20348         * test/automated/map-test.el: Add a regression test.
20350         New library map.el similar to seq.el but for mapping data structures.
20351         * test/automated/map-test.el: New file.
20352         * lisp/emacs-lisp/map.el: New file.
20354 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
20356         * lisp/progmodes/etags.el (tag-implicit-name-match-p): Make sure
20357         there's no explicit tag name (bug#20629).
20359 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
20361         Remove format2
20362         * src/editfns.c, src/lisp.h (format2): Remove.
20363         It is more trouble than it's worth, now that we have CALLN.
20364         This is just a minor refactoring.
20365         * src/buffer.c (Fkill_buffer):
20366         * src/dbusbind.c (XD_OBJECT_TO_STRING):
20367         * src/fileio.c (barf_or_query_if_file_exists):
20368         Adjust to format2 going away.
20370         Don't misencode C-generated messages
20371         Also, be more consistent about calls to 'Fmessage' vs 'message'.
20372         * src/alloc.c (Fgc_status):
20373         Prefer AUTO_STRING to build_string for Fmessage call.
20374         * src/data.c (Fmake_variable_buffer_local)
20375         (Fmake_local_variable, Fmake_variable_frame_local):
20376         * src/doc.c (store_function_docstring):
20377         Use Fmessage, not message, since the argument can contain
20378         non-ASCII characters, and this can cause the resulting message
20379         to be incorrectly encoded for the current environment.
20380         * src/fns.c (maybe_resize_hash_table):
20381         * src/xselect.c (x_clipboard_manager_save_all):
20382         Use message, not Fmessage, since Fmessage's power isn't needed here.
20383         * src/process.c (Fmake_network_process): Reword message to avoid %s.
20384         * src/xdisp.c (vmessage): Document restrictions on message contents.
20385         (message_nolog) [false]: Remove unused code.
20387         Use \r rather than ^M in string literals
20388         This is less likely to cause problems on platforms that
20389         use CRLF (or CR!) termination for lines.
20391         Update .gitattributes to match current sources
20392         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00879.html
20393         * .gitattributes: Accommodate tests that insist on DOS format.
20394         Remove test/automated/data/decompress/foo-gzipped.
20395         Add etc/e/eterm-color.
20397 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
20399         * doc/emacs/mule.texi (Modifying Fontsets):
20400         Document face-ignored-fonts.  (Bug#20628)
20402         Add etags test for the new -Q option
20403         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
20404         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
20405         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
20406         test-case changes below.
20407         * test/etags/ETAGS.good_6: New file.
20408         * test/etags/cp-src/x.cc: New file.
20409         * test/etags/Makefile (CPSRC): Add x.cc.
20410         (check): Add one more test, for -Q.
20412 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
20414         Use list for the tags completion table, not obarray
20415         * lisp/progmodes/etags.el (etags-tags-completion-table): Return a
20416         list instead of an obarray
20417         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00876.html).
20418         (tags-completion-table): Combine those lists.
20419         (tags-completion-table): Update the docstring.
20421 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
20423         Restore EOL format testing in etags
20424         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
20425         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
20426         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
20427         test-case changes below.
20428         * test/etags/html-src/algrthms.html: Convert back to DOS EOL format.
20429         * test/etags/cp-src/c.C (B): Add back stray CR character.
20430         * test/etags/c-src/dostorture.c: Add back.
20431         * test/etags/Makefile (CSRC): Add back c-src/dostorture.c.
20433 2015-05-30  Vitaly Takmazov  <vitalyster@gmail.com>  (tiny change)
20435         Declare Emacs on MS-Windows to be DPI-aware
20436         * nt/emacs-x86.manifest (asmv3:windowsSettings): Add dpiAware.
20437         * nt/emacs-x64.manifest (asmv3:windowsSettings): Add dpiAware.
20438         This avoids Windows entering compatibility mode for Emacs,
20439         which causes fonts to look less nice.
20441 2015-05-30  Michael Albinus  <michael.albinus@gmx.de>
20443         Improve Tramp traces
20444         * lisp/net/trampver.el (tramp-repository-get-version): New defun.
20445         * lisp/net/tramp.el (tramp-debug-message): Use it.
20447 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
20449         backup-buffer minor reworking of internals
20450         * lisp/files.el (backup-buffer): Rework to avoid a couple of
20451         unused locals inadvertently introduced in the previous change.
20453         backup-buffer now reports .emacs.d/%backup% ills
20454         * lisp/files.el (backup-buffer): If the write to .emacs.d/%backup%
20455         fails due to disk space exhaustion or whatever, do not pretend
20456         that it succeeded.  More generally, do a better job of checking
20457         for I/O failures, and limit the scope of the condition-case to
20458         just the operations where file errors should be caught and ignored
20459         (Bug#20595).  Also, don't bother trying to delete later backups if
20460         an earlier deletion fails, as this is a sign of trouble and it's
20461         better to stop when there's trouble.
20463         copy-file now truncates output after writing
20464         * src/fileio.c (Fcopy_file): Truncate output after writing rather
20465         than before.  This is more likely to work than truncation before
20466         writing, if the file system is out of space or the user is over
20467         disk quota (Bug#20595).  Also, check for read errors.
20469 2015-05-29  Artur Malabarba  <bruce.connor.am@gmail.com>
20471         * lisp/emacs-lisp/package.el (package-load-all-descriptors):
20472         Don't load descriptors from directories above the package directories.
20474 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
20476         Merge from gnulib
20477         This incorporates the following (Bug#20681):
20478         2015-05-29 acl-permissions: Fix build on Mac OS X and older AIX
20479         2015-05-29 acl-permissions: Fix build on Solaris and Cygwin
20480         * lib/set-permissions.c: Copy from gnulib.
20482 2015-05-29  Michael Albinus  <michael.albinus@gmx.de>
20484         Improve Tramp traces
20485         * lisp/net/tramp.el (tramp-call-process-region): New defun.
20486         * lisp/net/tramp-sh.el (tramp-get-inline-coding): Use it.
20488 2015-05-29  Glenn Morris  <rgm@gnu.org>
20490         * test/automated/vc-tests.el: Try enabling tests on hydra.nixos.org.
20492 2015-05-29  Wolfgang Jenkner  <wjenkner@inode.at>
20494         * src/xfns.c (x_set_menu_bar_lines): Fix calls to x_clear_area.
20495         The signature was changed in the cairo branch, merged on 2015-05-23.
20496         This oversight broke compiling only the non-toolkit X version.
20498 2015-05-29  Samer Masterson  <samer@samertm.com>
20500         * doc/lispref/os.texi: Update initial-buffer-choice docs.
20502 2015-05-29  Glenn Morris  <rgm@gnu.org>
20504         * test/automated/vc-tests.el (vc-test-rcs04-checkout-model):
20505         Mark as an expected failure.
20507 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
20509         Change package test to look for curved quotes
20510         * test/automated/package-test.el (package-test-describe-package)
20511         (package-test-signed): Search for curved single quotes as well as
20512         for grave accent and apostrophe.
20514 2015-05-28  Katsumi Yamaoka  <yamaoka@jpl.org>
20516         * lisp/gnus/gnus-art.el (gnus-button-alist): Re-revert last change.
20517         cf. <http://news.gmane.org/group/gmane.emacs.devel/thread=186896>
20519 2015-05-28  Samer Masterson  <samer@samertm.com>
20521         Show files when `initial-buffer-choice' is non-nil
20522         * lisp/startup.el (command-line-1): When Emacs is given a file as an
20523         argument and `initial-buffer-choice' is non-nil, display both the file
20524         and `initial-buffer-choice'.  For more than one file, show
20525         `initial-buffer-choice' and *Buffer List*.  Refactor display-changing
20526         commands out of the command line arg parser.
20527         (initial-buffer-choice): Clarify docstring.
20529 2015-05-28  Eli Zaretskii  <eliz@gnu.org>
20531         Fix last commit
20532         * nt/gnulib.mk (libgnu_a_SOURCES): Add get-permissions.c back.
20533         (gnulib module qcopy-acl): Add back, as it is harmless.  This
20534         minimizes differences wrt lib/gnulib.mk.
20536         Fix the MS-Windows build as followup to gnulib update
20537         * nt/gnulib.mk (libgnu_a_SOURCES): Remove get-permissions.c and
20538         set-permissions.c, as they don't compile on MinGW.
20539         (gnulib module qcopy-acl): Remove, as it needs set-permissions.c.
20541 2015-05-28  Paul Eggert  <eggert@cs.ucla.edu>
20543         Revert my change to gnus-art.el
20544         * lisp/gnus/gnus-art.el (gnus-button-alist): Revert last change.
20545         It wasn't that important, and it caused a Gnus build to fail.  See:
20546         http://www.randomsample.de:4456/builders/emacs-devel/builds/734
20548         New minor mode Electric Quote
20549         This lets you easily insert quotes ‘like this’ by typing
20550         quotes `like this', and similarly you can easily insert
20551         quotes “like this” by typing quotes ``like this'' (Bug#20545).
20552         * doc/emacs/basic.texi (Inserting Text):
20553         * doc/emacs/modes.texi (Minor Modes):
20554         * etc/NEWS: Document it.
20555         * doc/emacs/text.texi (Quotation Marks): New section.
20556         * lisp/electric.el (electric-quote-comment)
20557         (electric-quote-string, electric-quote-paragraph):
20558         New custom vars.
20559         (electric--insertable-p)
20560         (electric-quote-post-self-insert-function): New functions.
20561         (electric-quote-mode, electric-quote-local-mode): New minor modes.
20562         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
20563         Add curved single quotes to electric-pair-text-pairs.
20564         Set electric-quote-string in this buffer.
20566         A few more doc string fixes (Bug#20385)
20568         Accept curved quotes in doc strings
20569         * lisp/info-look.el (info-lookup-guess-custom-symbol):
20570         (info-lookup-alist): Treat ‘’ like `' when parsing help buffers etc.
20572         Generate curved quotes in pseudo-info nodes
20573         * lisp/info.el (Info-virtual-index-find-node)
20574         (Info-virtual-index, Info-apropos-find-node, info-apropos):
20575         Quote ‘like this’, not `like this', when generating pseudo-info nodes.
20577         Fix minor quoting problems in doc strings
20578         Most of these fixes involve escaping grave accents that are
20579         actually intended to be grave accents, not left quotes.
20580         (Bug#20385)
20582         Support curved quotes in doc strings
20583         Emacs's traditional doc string style has been to quote symbols
20584         `like this'.  This worked well on now-obsolete terminals where
20585         ` and ' were symmetric quotes, but nowadays curved quotes
20586         ‘like this’ look better.  Support quoting the new way too.
20587         (Bug#20385)
20588         * doc/lispref/tips.texi (Documentation Tips): Symbols can be quoted
20589         ‘like-this’ as well as `like-this'.
20590         * etc/NEWS: Mention this.
20591         * lisp/cedet/mode-local.el (overload-docstring-extension)
20592         (mode-local-print-binding, mode-local-describe-bindings-2):
20593         * lisp/cus-theme.el (describe-theme-1):
20594         * lisp/descr-text.el (describe-text-properties-1, describe-char):
20595         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
20596         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
20597         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
20598         (eieio-help-constructor):
20599         * lisp/emacs-lisp/package.el (describe-package-1):
20600         * lisp/faces.el (describe-face):
20601         * lisp/help-fns.el (help-fns--key-bindings)
20602         (help-fns--compiler-macro, help-fns--parent-mode, help-fns--obsolete):
20603         (help-fns--interactive-only, describe-function-1):
20604         (describe-variable):
20605         * lisp/help.el (describe-mode):
20606         * lisp/international/mule-cmds.el (describe-input-method)
20607         (describe-language-environment):
20608         * lisp/international/mule-diag.el (describe-character-set)
20609         (print-coding-system-briefly, list-input-methods)
20610         (list-input-methods-1):
20611         Insert curved quotes rather than grave accent and apostrophe.
20612         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
20613         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
20614         (checkdoc-proper-noun-region-engine):
20615         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2)
20616         (lisp-cl-font-lock-keywords-2):
20617         * lisp/finder.el (finder-font-lock-keywords):
20618         * lisp/gnus/gnus-art.el (gnus-button-alist):
20619         * lisp/help-fns.el (help-do-arg-highlight)
20620         (describe-function-1, describe-variable):
20621         * lisp/help-mode.el (help-xref-symbol-regexp)
20622         (help-xref-info-regexp, help-xref-url-regexp):
20623         * lisp/help.el (describe-mode):
20624         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
20625         * lisp/wid-edit.el (widget-documentation-link-regexp):
20626         Parse symbols quoted ‘like-this’ as well as `like-this'.
20627         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
20628         Add "‘" and "’" to electric-pair-text-pairs.
20629         (elisp--form-quoted-p): Also allow "‘" as a quoting char.
20630         (elisp-completion-at-point, elisp--preceding-sexp):
20631         Also treat "‘" and "’" as quoting chars.
20633         substitute-command-keys now curves quotes
20634         So, for example, it turns "`abc'" into "‘abc’" (Bug#20385).
20635         * doc/lispref/help.texi (Keys in Documentation):
20636         * etc/NEWS: Document this.
20637         * src/doc.c (Fsubstitute_command_keys): Implement it.
20639 2015-05-28  Glenn Morris  <rgm@gnu.org>
20641         * lisp/mail/rmailsum.el (rmail-summary-by-recipients)
20642         (rmail-summary-by-topic, rmail-summary-by-senders):
20643         No longer strip leading/trailing whitespace.
20645         * lisp/progmodes/f90.el (f90-type-def-re): Add "type, extends".
20646         (f90-no-block-limit): Add "enum".  (Bug#20680)
20647         * test/automated/f90.el (f90-test-bug20680, f90-test-bug20680b):
20648         New tests.
20650 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
20652         * lisp/isearch.el (isearch--current-buffer): Give a default value.
20653         Un-revert changes mistakenly dropped by f9fabb2b.
20655 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
20657         Merge from gnulib
20658         This incorporates:
20659         2015-05-27 qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
20660         2015-05-27 file-has-acl: Split feature tests again (Bug#20667)
20661         2015-05-27 string: fix build failure on BSD/OSX with FORTIFY_SOURCE
20662         2015-05-26 stdio: limit __gnu_printf__ witness to gcc 4.4+
20663         2015-05-26 inttypes: force correct mingw PRIdMAX even without <stdio.h>
20664         2015-05-26 stdio: fix probe on mingw under gcc 5.1
20665         * admin/merge-gnulib (GNULIB_MODULES):
20666         Replace qacl with qcopy-acl, since we don't need the rest of qacl.
20667         * doc/misc/texinfo.tex, lib/acl-internal.c, lib/acl-internal.h:
20668         * lib/inttypes.in.h, lib/qcopy-acl.c, lib/qset-acl.c:
20669         * lib/string.in.h, m4/acl.m4, m4/stdio_h.m4:
20670         Get latest versions from gnulib.
20671         * lib/get-permissions.c, lib/set-permissions.c: New files.
20672         * lib/gnulib.mk, m4/gnulib-comp.m4:
20673         Regenerate.
20674         * nt/gnulib.mk: Merge lib/gnulib.mk changes by hand.
20676 2015-05-27  Dmitry Gutov  <dgutov@yandex.ru>
20678         * lisp/vc/vc-dispatcher.el (vc-setup-buffer): Delete the old
20679         process here.
20680         (vc-do-command): Rather than here (bug#20608).
20682 2015-05-27  Ivan Shmakov  <ivan@siamics.net>
20684         Avoid gratuitous delete-dups in face-at-point
20685         * lisp/faces.el (face-at-point): Do not compute the properly
20686         ordered, duplicate-free list if only a single value is
20687         requested anyway.  (Bug#20519)
20689         Show the exact C-x 8 RET invocation in describe-char
20690         * lisp/descr-text.el (describe-char): Show the exact C-x 8 RET
20691         invocation instead of a template.  (Bug#20522)
20693 2015-05-27  Artur Malabarba  <bruce.connor.am@gmail.com>
20695         * lisp/emacs-lisp/package.el: Don't erase tags on refresh.
20696         (package-menu--post-refresh): Call `tabulated-list-print' with the
20697         UPDATE argument.  This only affects the refresh action, the revert
20698         action still erases tags.
20699         (package-menu-get-status): Change `assq' to `assoc'.
20700         (package-menu--mark-upgrades-1): New function.
20701         (package-menu--mark-upgrades-pending): New variable.
20702         (package-menu-mark-upgrades): Use them to delay marking until
20703         after refresh is done.
20704         (package-menu--post-refresh): Call mark-upgrades-1 if
20705         mark-upgrades-pending is non-nil.
20707 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
20709         * lisp/net/tramp.el (tramp-handle-make-auto-save-file-name):
20710         Fix typo in "Improve tramp-handle-make-auto-save-file-name"
20711         (commit 3953c4be2816537be95520605d45b866dc731f4b).
20713 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
20715         * lisp/isearch.el (isearch--current-buffer): New var.
20716         (isearch-update): Set cursor-sensor-inhibit here.
20717         (isearch-done): Unset cursor-sensor-inhibit in the right buffer
20718         (bug#20532).
20720         Change inhibit-point-motion-hooks to t
20721         * src/textprop.c (syms_of_textprop): Default Vinhibit_point_motion_hooks
20722         to t and document it as obsolete.
20724 2015-05-27  Eli Zaretskii  <eliz@gnu.org>
20726         Support ZIP files that use Zip64 extensions
20727         * lisp/arc-mode.el (archive-zip-summarize): Handle the new ZIP
20728         format of central directory offsets used by Zip64 extensions.
20729         (Bug#20665)
20731 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
20733         New test tramp-test30-make-auto-save-file-name
20734         * test/automated/tramp-tests.el
20735         (tramp-test30-make-auto-save-file-name): New test.
20736         (tramp-test31-special-characters)
20737         (tramp-test31-special-characters-with-stat)
20738         (tramp-test31-special-characters-with-perl)
20739         (tramp-test31-special-characters-with-ls, tramp-test32-utf8)
20740         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
20741         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
20742         (tramp-test34-recursive-load, tramp-test35-unload): Rename.
20744         Improve tramp-handle-make-auto-save-file-name
20745         * lisp/net/tramp.el (tramp-auto-save-directory): Add :tags.
20746         (tramp-handle-make-auto-save-file-name): Let native
20747         `make-auto-save-file-name' use `auto-save-file-name-transforms',
20748         if `tramp-auto-save-directory' is not set.
20750 2015-05-27  Glenn Morris  <rgm@gnu.org>
20752         No longer set dired-directory in eshell.  (Bug#16477)
20753         * lisp/eshell/esh-mode.el (eshell-mode):
20754         * lisp/eshell/em-dirs.el (eshell/cd): No longer set dired-directory.
20756         * lisp/mail/sendmail.el (mail-position-on-field): Doc fix.
20758         Make c-submit-bug-report file reports at debbugs.gnu.org.  (Bug#15784)
20759         * lisp/progmodes/cc-mode.el (c-mode-help-address):
20760         Change to submit@debbugs.
20761         (c-mode-bug-package): New constant.
20762         (mail-position-on-field): Declare.
20763         (c-submit-bug-report): Insert X-Debbugs-Package header.
20764         * doc/misc/cc-mode.texi (Mailing Lists and Bug Reports):
20765         Mention debbugs.gnu.org.
20767 2015-05-26  Glenn Morris  <rgm@gnu.org>
20769         * lisp/mail/rmailsum.el: Commas no longer separate regexps.  (Bug#19026)
20770         (rmail-summary-by-recipients, rmail-summary-by-topic)
20771         (rmail-summary-by-senders): No longer use mail-comma-list-regexp.
20772         * doc/emacs/rmail.texi (Rmail Make Summary): Update for this change.
20774 2015-05-26  Paul Eggert  <eggert@cs.ucla.edu>
20776         Handle curved quotes in info files
20777         * lisp/calc/calc-help.el (calc-describe-thing):
20778         * lisp/info.el (Info-find-index-name)
20779         (Info-try-follow-nearest-node, Info-fontify-node):
20780         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
20781         In info files, process quotes ‘like this’ the same way we process
20782         quotes `like this'.  This catches a few places we missed earlier.
20784 2015-05-26  Dmitry Gutov  <dgutov@yandex.ru>
20786         xref-prompt-for-identifier: Use a list value
20787         * lisp/progmodes/xref.el (xref-prompt-for-identifier): Allow list
20788         value, to be interpreted as a list of commands.
20789         (xref--prompt-p): New function.
20790         (xref--read-identifier): Use it.
20792 2015-05-26  Eli Zaretskii  <eliz@gnu.org>
20794         Teach MS-Windows font back-end return per-glyph ascent/descent
20795         * src/w32font.h (struct w32_metric_cache): Add ascent and descent
20796         values.
20797         * src/w32font.c (w32font_text_extents): Compute, cache, and
20798         accumulate per-glyph ascent and descent values, instead of copying
20799         global values from the font.  If the values are not available from
20800         the font data, i.e., non-TTF fonts, fall back on font-global values.
20801         (compute_metrics): Compute and return per-glyph ascent and descent
20802         values, if returned by GetGlyphOutlineW, falling back on
20803         font-global values.  (Bug#20628)
20804         * src/w32term.c (w32_draw_rectangle): Add 1 pixel to width and
20805         height of rectangle to be drawn, to be compatible with
20806         XDrawRectangle.  Fixes glyphless-char display as hex codes in a
20807         box, when per-glyph ascent/descent values are used.
20809 2015-05-26  Artur Malabarba  <bruce.connor.am@gmail.com>
20811         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
20812         Don't sort if sorter is nil.
20814 2015-05-26  Michael Albinus  <michael.albinus@gmx.de>
20816         Fix Bug#20621
20817         * lisp/net/tramp-sh.el (tramp-set-auto-save): Remove it.  There
20818         are major modes which set `auto-save-mode' on their own rules;
20819         Tramp shall not overwrite such settings.
20821 2015-05-26  Glenn Morris  <rgm@gnu.org>
20823         * lisp/desktop.el: If modes aren't autoloaded, try simple guesswork.
20824         (desktop-load-file): Guess that "foobar" defines "foobar-mode".
20825         (desktop-buffer-mode-handlers, desktop-minor-mode-handlers):
20826         Doc updates.
20827         (vc-dir-mode): Remove unnecessary autoload.
20829 2015-05-25  Philipp Stephani  <phst@google.com>
20831         * lisp/term/xterm.el: Add gui-get-selection support via OSC-52.
20832         (xterm--extra-capabilities-type): Add `getSelection'.
20833         (xterm--query): Add `no-async' argument.
20834         (xterm--init-activate-get-selection): New function.
20835         (terminal-init-xterm): Use it.
20836         (xterm--init-modify-other-keys): Rename from
20837         terminal-init-xterm-modify-other-keys.
20838         (xterm--init-bracketed-paste-mode): Rename from
20839         terminal-init-xterm-bracketed-paste-mode.
20840         (xterm--init-activate-set-selection): Rename from
20841         terminal-init-xterm-activate-set-selection.
20842         (xterm--selection-char): New function.
20843         (gui-backend-set-selection): Use it.  Use the &context to only apply
20844         this method in terminals where we enabled the feature.
20845         (gui-backend-get-selection): New method.
20847 2015-05-25  Daniel Colascione  <dancol@dancol.org>
20849         * lisp/progmodes/cc-langs.el (c-constant-kwds): Add C-language
20850         keyword constants to C++.
20852 2015-05-25  Paul Eggert  <eggert@cs.ucla.edu>
20854         Make TAGS files more portable to MS-Windows
20855         * etc/NEWS: Document this.
20856         * lib-src/etags.c (readline_internal) [DOS_NT]:
20857         Don't treat CRs differently from GNUish hosts.
20858         * lisp/progmodes/etags.el (etags-goto-tag-location):
20859         Adjust STARTPOS to account for the skipped CRs in dos-style files.
20861 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
20863         Improve fix of bug#20634 in tramp-sh.el
20865 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
20867         Fix a typo in last commit
20868         * lib-src/etags.c (C_entries): Fix a typo.
20869         * test/etags/ETAGS.good_1:
20870         * test/etags/ETAGS.good_2:
20871         * test/etags/ETAGS.good_3:
20872         * test/etags/ETAGS.good_4:
20873         * test/etags/ETAGS.good_5:
20874         * test/etags/CTAGS.good: Update due to the change in etags.c.
20876         Fix tagging of class members in C-like OO languages
20877         * lib-src/etags.c (longopts): Add new option --class-qualify and
20878         its shorthand -Q.
20879         (print_help): Add help text for --class-qualify.
20880         (main): Add handling of -Q.
20881         (consider_token, C_entries) <omethodparm>: Append argument types
20882         to Objective C methods only if --class-qualify was specified.
20883         Qualify C++, Objective C, and Java class members with their class
20884         names only if --class-qualify was specified.
20885         (C_entries): If --class-qualify was not specified, remove the
20886         namespace and class qualifiers from tag names of C++ methods.
20887         This allows to use etags.el as xref back-end without the
20888         tag-symbol-match-p method, which greatly increases the number of
20889         potentially false positives.  (Bug#20629)
20890         * doc/man/etags.1: Update to document the new --class-qualify
20891         option.
20892         * test/etags/ETAGS.good_1:
20893         * test/etags/ETAGS.good_2:
20894         * test/etags/ETAGS.good_3:
20895         * test/etags/ETAGS.good_4:
20896         * test/etags/ETAGS.good_5:
20897         * test/etags/CTAGS.good: Update due to changes in etags.c.
20899 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
20901         (cl-generic-define-method): Side effects are evil (bug#20644)
20902         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method): Don't reuse
20903         cons-cells that might be used as keys in an `equal' hash-table.
20905 2015-05-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
20907         Make erc timestamps visible again
20908         * lisp/erc/erc-stamp.el (erc-munge-invisibility-spec):
20909         Make timestamps visible again (if requested).
20911 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
20913         Fix last change in etags.c that broke tagging compresed files
20914         * lib-src/etags.c (process_file_name) [MSDOS || DOS_NT]: Fix
20915         quoting of decompression shell command for MS-Windows/MS-DOS.
20917 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
20919         * lisp/emacs-lisp/cl-macs.el (cl-tagbody): Scope cl--tagbody-alist.
20920         (Bug#20639)
20922 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
20924         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer):
20925         Fix typo in "Inhibit `epa-file-handler' in Tramp"
20926         (commit 89035e247591c8d688fce922b7079881aa110f33).
20928 2015-05-25  Orivej Desh  <orivej@gmx.fr>  (tiny change)
20930         Fix IPv6 addresses in Tramp
20931         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
20932         Add square brackets around host name.
20934 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
20936         Inhibit `epa-file-handler' in Tramp (Bug#20634)
20937         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer)
20938         (tramp-sh-handle-insert-file-contents-literally): Inhibit also
20939         `epa-file-handler'.
20941 2015-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
20943         * lisp/emacs-lisp/pcase.el: Use PAT rather than UPAT in docstring.
20944         (pcase-let): Document the behavior in case the pattern doesn't match.
20946 2015-05-24  Artur Malabarba  <bruce.connor.am@gmail.com>
20948         * lisp/emacs-lisp/tabulated-list.el: New optional print method.
20949         (tabulated-list-print): New optional argument, UPDATE.  If
20950         non-nil, the list is printed by only adding and deleting the
20951         changed entries, instead of erasing the whole buffer.  This method
20952         is much faster when few or no entries have changed.
20953         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
20954         * etc/NEWS: Document it.
20956         * lisp/emacs-lisp/tabulated-list.el: Improve printing.
20957         (tabulated-list--get-sorter): New function.
20958         (tabulated-list-print): Restore window-line when remember-pos is
20959         passed and optimize away the `nreverse'.
20961 2015-05-24  Paul Eggert  <eggert@cs.ucla.edu>
20963         Simpilify etags TEX mode scanning
20964         * lib-src/etags.c (TEX_mode, TEX_esc, TEX_opgrp, TEX_clgrp):
20965         Remove static vars.
20966         (TeX_commands): Deduce escapes here instead.
20967         (TEX_LESC, TEX_SESC, TEX_mode): Remove; all uses removed.
20968         This removes the need for a reset_input call.
20970         Improve etags I/O error reporting
20971         * lib-src/etags.c:
20972         Don't include sys/types.h and sys/stat.h; no longer needed.
20973         (infilename): New static var.
20974         (process_file_name): Don't call 'stat'.  Instead, just open the
20975         file for reading and report any errors.  Don't bother making
20976         a copy of the file argument; it's not needed.  Be more careful to
20977         use the failing errno when reporting an error.
20978         Quote the real name better (though no perfectly)
20979         when passing it to the shell.
20980         (reset_input): New function, which reports I/O errors.
20981         All uses of 'rewind' changed to use this function.
20982         (perhaps_more_input): New function, which also checks for
20983         I/O errors.  All uses of 'feof' changed to use this function.
20984         (analyze_regex): Report an error if fclose fails.
20985         (readline_internal): Report an error if getc fails.
20986         (etags_mktmp): Return an error if close fails.
20988         etags.c: avoid side effects in 'if'
20989         * lib-src/etags.c (process_file_name, Perl_functions)
20990         (TEX_decode_env): Hoist side effects into previous statement.
20992         .gitignore tweaks
20993         * .gitignore: Ignore all *.stamp files.  Sort.
20994         Ignore [0-9]*.txt (commonly used name for git patches)
20995         and /vc-dwim-log-* (vc-dwim temporary).
20997 2015-05-24  Eli Zaretskii  <eliz@gnu.org>
20999         Fix last change in etags.c, which failed the test suite
21000         * lib-src/etags.c (intoken): Add '$' to the set, as it was there
21001         before the last change.
21003 2015-05-23  Glenn Morris  <rgm@gnu.org>
21005         Remove charset map files from repository, generate in first bootstrap
21006         * admin/charsets/Makefile.in (${srcdir}/charsets.stamp): New.
21007         (all): Create the stamp file.
21008         (extraclean): Delete the stamp file.
21009         * src/Makefile.in (lispintdir, charsets): New variables.
21010         (${lispintdir}/cp51932.el, ${lispintdir}/eucjp-ms.el, ${charsets}):
21011         New rules.
21012         (emacs$(EXEEXT), temacs$(EXEEXT)): Depend on $charsets.
21013         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
21014         * etc/charsets/*.map: Remove from repository.
21016 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
21018         Cleanup etags.c to use locale-independent code
21019         Although this doesn't alter behavior (as etags doesn't use
21020         setlocale), the new version is more clearly locale-independent and
21021         the executable is a bit smaller on my platform.
21022         * lib-src/etags.c: Include <limits.h>, for UCHAR_MAX.
21023         Include <c-ctype.h> instead of <ctype.h>.
21024         (CHARS, CHAR, init, _wht, _nin, _itk, _btk, _etk, white, nonam, endtk)
21025         (begtk, midtk):
21026         Remove; no longer needed.
21027         (iswhite, ISALNUM, ISALPHA, ISDIGIT, ISLOWER, lowcase): Remove.
21028         All callers changed to use c_isspace, c_isalnum, c_isalpha, c_isdigit,
21029         c_islower, c_tolower, respectively.
21030         (notinname, begtoken, intoken, endtoken): Rewrite as functions
21031         instead of macros, and initialize the tables at compile-time
21032         rather than at run-time.
21034         Put default action first in src/Makefile
21035         * src/Makefile.in (all): Put this rule before lisp.mk.
21036         That way, plain 'make' works in the src directory again.
21038 2015-05-23  Glenn Morris  <rgm@gnu.org>
21040         * Makefile.in: Fix extraclean rule.
21041         (extraclean_dirs): New.
21042         (extraclean): Use it.
21044 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
21046         Avoid compiler warning in image.c on MS-Windows
21047         * src/w32term.h (x_query_color): Add prototype, to avoid compiler
21048         warning in image.c.
21050 2015-05-23  Glenn Morris  <rgm@gnu.org>
21052         Fix --without-toolkit-scroll-bars builds.
21053         * src/xterm.c (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]:
21054         Add new argument to x_clear_area1.
21055         (XTset_horizontal_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
21056         Update x_clear_area arguments.
21058         * admin/charsets/glibc/: New directory, imported from glibc 2.21.
21059         * admin/charsets/Makefile.in (GLIBC_CHARMAPS):
21060         Change to included version.
21061         (LOCAL, local, totalclean): Remove.
21062         (extraclean): Delete all generated files.
21064 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
21066         * lisp/pcmpl-cvs.el (pcmpl-cvs-entries): Don't assume
21067         CVS/Entries exists.
21069         * lisp/progmodes/xref.el (xref-find-apropos): Use read-string.
21071         * lisp/progmodes/etags.el (tags-completion-at-point-function):
21072         Don't trust the find-tag function.
21074 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
21076         Pacify --enable-gcc-warnings
21077         * src/frame.h (x_query_color): Remove redundant extern decl.
21078         * src/ftcrfont.c (ftcrfont_glyph_extents, ftcrfont_list)
21079         (ftcrfont_match, ftcrfont_open, ftcrfont_close)
21080         (ftcrfont_text_extents, ftcrfont_draw):
21081         * src/xterm.c (x_set_window_size_1, *x_color_cells, x_update_end)
21082         (XTframe_up_to_date, x_clear_area1, x_clear_frame)
21083         (x_ins_del_lines, frame_highlight, frame_unhighlight)
21084         (x_new_focus_frame, x_focus_changed, XTframe_rehighlight)
21085         (x_draw_hollow_cursor, x_draw_bar_cursor, x_flush, x_update_begin)
21086         (x_update_window_begin, x_connection_closed)
21087         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
21088         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
21089         (*x_gc_get_ext_data, x_extension_initialize)
21090         (x_cr_accumulate_data):
21091         Remove redundant static decl.  Many of these GCC doesn't complain
21092         about, but we might as well clean out the duplication while we're
21093         in the neighborhood.
21094         * src/xterm.c (x_fill_trapezoid_for_relief):
21095         Remove decl of nonexistent function.
21097 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
21099         Replace gui-method macros with cl-generic with &context
21100         * lisp/frame.el (gui-method--name, gui-method, gui-method-define)
21101         (gui-method-declare, gui-call): Remove.
21102         (frame-creation-function): Use cl-defgeneric.
21103         (make-frame): Adjust callers.
21104         * lisp/menu-bar.el (menu-bar-edit-menu):
21105         Use gui-backend-selection-exists-p.
21106         * lisp/select.el (x-get-clipboard): Use gui-backend-get-selection.
21107         (gui-backend-get-selection): New cl-generic to replace
21108         gui-get-selection method.
21109         (gui-backend-set-selection): New cl-generic to replace
21110         gui-set-selection method.
21111         (gui-selection-owner-p): New cl-generic to replace
21112         gui-selection-owner-p method.
21113         (gui-backend-selection-exists-p): New cl-generic to replace
21114         gui-selection-exists-p method.  Adjust all callers.
21115         * lisp/server.el (server-create-window-system-frame): Don't ignore
21116         window-system spec even when unsupported.
21117         * lisp/simple.el (deactivate-mark): Use new gui-backend-* functions.
21118         * lisp/startup.el (handle-args-function, window-system-initialization):
21119         Use cl-defgeneric.
21120         (command-line): Adjust calls accordingly.
21121         * lisp/term/ns-win.el (ns-window-system-initialization): Turn into
21122         a window-system-initialization method.
21123         (handle-args-function, frame-creation-function): Use cl-defmethod.
21124         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
21125         (gui-get-selection): Use cl-defmethod on the new functions instead.
21126         * lisp/term/pc-win.el (w16-get-selection-value): Turn into
21127         a gui-backend-get-selection method.
21128         (gui-selection-exists-p, gui-selection-owner-p, gui-set-selection):
21129         Use cl-defmethod on the new functions instead.
21130         (msdos-window-system-initialization): Turn into
21131         a window-system-initialization method.
21132         (frame-creation-function, handle-args-function): Use cl-defmethod.
21133         * lisp/term/w32-win.el (w32-window-system-initialization): Turn into
21134         a window-system-initialization method.
21135         (handle-args-function, frame-creation-function): Use cl-defmethod.
21136         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
21137         (gui-get-selection): Use cl-defmethod on the new functions instead.
21138         * lisp/term/x-win.el (x-window-system-initialization): Turn into
21139         a window-system-initialization method.
21140         (handle-args-function, frame-creation-function): Use cl-defmethod.
21141         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
21142         (gui-get-selection): Use cl-defmethod on the new functions instead.
21143         * lisp/term/xterm.el (xterm--set-selection): Turn into
21144         a gui-backend-set-selection method.
21145         * src/nsselect.m (Fns_selection_exists_p): Remove unused arg `terminal'.
21146         (Fns_selection_owner_p): Remove unused arg `terminal'.
21147         (Fns_get_selection): Remove unused args `time_stamp' and `terminal'.
21149 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
21151         Revert "Fix etags Bug#20629 that broke C++ support"
21152         This reverts commit 13dd9d4f7e75d2c78aa5537cef09de03663e9748.
21154 2015-05-23  Jan D  <jan.h.d@swipnet.se>
21156         Fix etags Bug#20629 that broke C++ support
21157         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
21158         Revert commit from Sun May 10 (Bug#20629).
21160         Merge branch 'cairo'.
21161         Main work done by YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>.
21162         Small fixes and image work by Jan D. <jan.h.d@swipnet.se>.
21164         Merge branch 'master' into cairo
21166         Fixes to compile cairo branch without cairo
21167         * src/gtkutil.c (xg_update_scrollbar_pos): x_clear_area takes frame as
21168         first argument.
21169         * src/xterm.c (handle_one_xevent): Surround x_cr_destroy_surface with
21170         USE_CAIRO.
21172 2015-05-23  Artur Malabarba  <bruce.connor.am@gmail.com>
21174         * lisp/emacs-lisp/package.el: Always update selected-packages.
21175         (package--update-selected-packages): New function.
21176         (package-menu-execute): Use it before starting the transaction,
21177         this way the list of selected packages is updated even when the
21178         transaction fails.
21179         (package-menu--perform-transaction): Don't edit selected-packages.
21181 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
21183         Fix etags reading of compressed files
21184         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Define.
21185         Include fcntl.h, for O_CLOEXEC.
21186         (process_file_name): Don't use 'popen', whose streams cannot be
21187         rewound.  Instead, uncompress the file to a temporary file,
21188         created by 'etags_mktmp', and read from that as usual.
21189         (etags_mktmp): New function.
21190         * test/etags/ETAGS.good_1:
21191         * test/etags/ETAGS.good_2:
21192         * test/etags/ETAGS.good_3:
21193         * test/etags/ETAGS.good_4:
21194         * test/etags/ETAGS.good_5: Update to be consistent with latest
21195         changes in etags.c regarding reading compressed files.
21197         Improve documentation of 'set-fontset-font'
21198         * doc/lispref/display.texi (Fontsets): Document the value of nil
21199         for the 3rd argument of 'set-fontset-font'.
21201         Fix documentation of forward-line
21202         * src/cmds.c (Fforward_line): Clarify the return value if the line
21203         at end of accessible portion of the buffer has no newline.
21204         * doc/lispref/positions.texi (Text Lines): Document what happens
21205         if the line at end of accessible portion of buffer has no newline.
21206         (Bug#20587)
21208 2015-05-22  Glenn Morris  <rgm@gnu.org>
21210         * admin/charsets/Makefile.in (TRANS_TABLE): Add short aliases.
21212         * admin/charsets/mapconv (LC_ALL): Set to C.
21214         * Makefile.in: Add admin/charsets into top-level clean rules.
21215         (clean): Add admin/charsets.
21216         (maybeclean_dirs): New variable.
21217         (distclean, bootstrap-clean, maintainer-clean): Use $maybeclean_dirs.
21219         * admin/charsets/Makefile.in (LOCAL, local): Fix members.
21221 2015-05-22  Artur Malabarba  <bruce.connor.am@gmail.com>
21223         * lisp/emacs-lisp/package.el (package-selected-packages): Fix doc.
21225 2015-05-22  Glenn Morris  <rgm@gnu.org>
21227         Generate admin/charsets Makefile via configure, and make more portable
21228         * configure.ac (SUBDIR_MAKEFILES): Add admin/charsets/Makefile.
21229         (admin/charsets/Makefile): Generate it.
21230         * admin/charsets/Makefile.in: Rename from Makefile.
21231         (AWK, srcdir, top_srcdir, AM_DEFAULT_VERBOSITY):
21232         New variables, set by configure.
21233         (charsetdir, lispintdir, mapfiledir, AM_V_GEN, am__v_GEN_)
21234         (am__v_GEN_0, am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0)
21235         (am__v_at_1, LOCAL, mapconv, run_mapconv, big5, compact, cp51932)
21236         (cp932, eucjp_ms, gb180302, gb180304, kuten): New variables.
21237         (TRANS_TABLE, CHARSETS): Add directory prefix to value.
21238         (all): Declare PHONY.
21239         (local): New PHONY target.
21240         (map_template): New template.  Use to define short PHONY aliases.
21241         (*.map): Add directory prefixes to targets and prerequisites.
21242         Respect make verbosity.
21243         (JISC6226.map): Replace non-portable sed append without newline.
21244         (install): Remove rule.
21245         (clean): Only delete temporary sedscript.
21246         (bootstrap-clean, distclean, maintainer-clean, extraclean)
21247         (totalclean): New PHONY rules.
21248         * admin/charsets/mapconv (BASE): Replace basename with expr.
21249         (FILE): Add "mapfiles" subdirectory.
21250         (AWK): New variable.  Use throughout in place of "awk".
21251         (main): Use "gunzip -c" in place of "zcat".
21252         Don't leave whitespace before "p", for older sed.
21253         * admin/charsets/mapfiles/PTCP154: Add final newline,
21254         to make older sed versions happy.
21256 2015-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
21258         * lisp/autorevert.el: Use lexical-binding.  Fix hook usage.
21259         (global-auto-revert-ignore-buffer, auto-revert-notify-modified-p)
21260         (auto-revert-notify-watch-descriptor): Use defvar-local.
21261         (find-file-hook, auto-revert-tail-mode)
21262         (auto-revert-notify-add-watch): Use setq-local.
21263         (auto-revert-notify-add-watch): Don't call make-local-variable on
21264         kill-buffer-hook (bug#20601).
21266 2015-05-21  Stefan Monnier  <monnier@iro.umontreal.ca>
21268         Change defgeneric so it doesn't completely redefine the function
21269         * lisp/emacs-lisp/cl-generic.el (cl-generic-define): Don't throw away
21270         previously defined methods.
21271         (cl-generic-define-method): Let-bind purify-flag instead of
21272         using `fset'.
21273         (cl--generic-prefill-dispatchers): Only define during compilation.
21274         (cl-method-qualifiers): Remove redundant alias.
21275         (help-fns-short-filename): Silence byte-compiler.
21276         * test/automated/cl-generic-tests.el:
21277         Adjust to new defgeneric semantics.
21279 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
21281         * lisp/emacs-lisp/package.el (package-menu-execute):
21282         Remove reference to remove-dups.
21284 2015-05-21  kwhite  <kwhite@gnu.org>
21286         * lisp/erc/erc.el: Hide network/channel messages.
21287         (erc-network-hide-list, etc-channel-hide-list): New lists to define
21288         message types per network/channel.
21289         (erc-add-targets): New function to parse list of targets.
21290         (erc-hide-current-message-p): Modified to check for new targets.
21292 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
21294         Don't quote nil and t in doc strings
21295         This is as per "Tips for Documentation Strings" in the elisp manual.
21296         For consistency, do the same in diagnostics and comments.
21298 2015-05-21  Eli Zaretskii  <eliz@gnu.org>
21300         Fix a minor problem with mouse-face on mode line
21301         * src/xdisp.c (note_mode_line_or_margin_highlight): Reset the
21302         mouse face also if the mouse pointer hovers above mode-line glyphs
21303         that don't come from any Lisp string.  (Bug#20620)
21305 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
21307         * lisp/emacs-lisp/package.el: Fix selected-package logic.
21308         (package-menu-execute): Mark as selected all non-upgrade packages
21309         being installed.
21310         (package-menu--perform-transaction): Don't mark anything.
21312         * lisp/emacs-lisp/package.el: Mode-line progress report.
21313         (package-menu--transaction-status): New variable.
21314         (package-menu-mode, package-menu--perform-transaction): Use it.
21316         * lisp/emacs-lisp/package.el: Better transaction messages.
21317         (package-menu--partition-transaction): New function.
21318         (package-menu--prompt-transaction-p, package-menu-execute):
21319         Use it.
21320         (package-menu--perform-transaction): Don't do any messaging.
21322         * lisp/emacs-lisp/package.el: Revert async package transactions.
21323         (package-menu-async): Update doc.
21324         (package-install-from-archive, package-download-transaction)
21325         (package-install, package-menu--perform-transaction)
21326         (package-menu-execute): Remove asynchronous functionality.
21328 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
21330         Revert doc string changes to f90.el
21331         Problem reported by Glenn Morris in:
21332         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00596.html
21333         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
21334         Revert recent changes to doc strings, as it's intended that they
21335         use grave accent, not quote.
21337 2015-05-20  Bozhidar Batsov  <bozhidar@batsov.com>
21339         * lisp/emacs-lisp/subr-x.el (hash-table-empty-p):
21340         Improve parameter name.
21342         * lisp/emacs-lisp/subr-x.el (hash-table-empty-p): New inline function.
21344 2015-05-20  Paul Eggert  <eggert@cs.ucla.edu>
21346         Don't require help-fns when not needed
21347         * lisp/emacs-lisp/autoload.el, lisp/emacs-lisp/advice.el:
21348         * lisp/emacs-lisp/elint.el:
21349         Don't require help-fns at the top level
21350         * lisp/emacs-lisp/advice.el (ad-arglist):
21351         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
21352         Don't require help-fns.  (Bug#17001)
21354 2015-05-20  Eli Zaretskii  <eliz@gnu.org>
21356         Fix slash collapsing in etags on MS-Windows
21357         * lib-src/etags.c (canonicalize_filename) [DOS_NT]: Separate the
21358         MS-Windows code from the Posix code, and support collapsing both
21359         forward- and back-slashes on MS-Windows.  Fixes a regression found
21360         by the test suite.
21362         Improve documentation of glyphless-char-display
21363         * doc/lispref/display.texi (Glyphless Chars): Improve
21364         documentation of glyphless character display.
21366         Fix "acronym" display of glyphless characters on w32
21367         * src/w32term.c (x_draw_glyphless_glyph_string_foreground): Don't
21368         ignore "acronym" substitutes of 1 character for glyphless characters.
21370 2015-05-20  Oleh Krehel  <ohwoeowho@gmail.com>
21372         Add an automated test for let-when-compile
21373         * test/automated/subr-tests.el (let-when-compile): New test.
21375         Add let-when-compile macro instead of using pcase-let
21376         * lisp/subr.el (let-when-compile): New let-like macro that makes its
21377         bindings known to macros like `eval-when-compile' in the body.
21378         * lisp/emacs-lisp/lisp-mode.el: Change the top-level `pcase-let' to
21379         a `let-when-compile'.  Also comment out the unused lexical var
21380         `el-kws-re'.
21381         The change greatly improves readability, while providing almost the
21382         same (even shorter) byte code: instead of pre-evaluating 10 variables,
21383         tossing them into a list, and destructuring that list a full screen
21384         page later, the variables are simply bound as they are evaluated,
21385         wrapped individually in `eval-when-compile'.
21387 2015-05-20  Artur Malabarba  <bruce.connor.am@gmail.com>
21389         * lisp/emacs-lisp/package.el: "Delete" button in Help buffer.
21390         (package-delete-button-action): New function.
21391         (describe-package-1): Add Delete button.
21393         * lisp/emacs-lisp/package.el: Better dependency description.
21394         (package--used-elsewhere-p): New optional arg, ALL, and return
21395         package-desc objects instead of names.
21396         (package-delete): Update accordingly.
21397         (describe-package-1): Describe which packages require the package.
21399 2015-05-20  Martin Rudalics  <rudalics@gmx.at>
21401         Fix handling and doc-string of FRAME arg of `other-buffer' (Bug#20533)
21402         * src/buffer.c (Fother_buffer): Argument FRAME must denote a live frame.
21403         Fix doc-string.
21405         Improve `switch-to-buffer' in strongly dedicated windows (Bug#20472)
21406         * lisp/window.el (switch-to-buffer-in-dedicated-window): New option.
21407         (switch-to-buffer): If the selected window is strongly dedicated
21408         to its buffer, signal error before prompting for buffer name.
21409         Handle `switch-to-buffer-in-dedicated-window'.
21410         * doc/lispref/windows.texi (Switching Buffers):
21411         Document `switch-to-buffer-in-dedicated-window'.
21413 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
21415         Prefer "this" to “this” in doc strings
21416         This mostly just straightens quotes introduced in my previous patch.
21417         Suggested by Dmitry Gutov in:
21418         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00565.html
21419         * lisp/faces.el, lisp/gnus/gnus-group.el, lisp/ldefs-boot.el:
21420         * lisp/mail/supercite.el, lisp/net/tramp.el, lisp/recentf.el:
21421         * lisp/textmodes/artist.el, lisp/textmodes/rst.el:
21422         * lisp/textmodes/tildify.el, lisp/vc/ediff-util.el:
21423         * lisp/vc/log-edit.el, lisp/xt-mouse.el:
21424         Prefer straight double quotes to curved double quotes in doc strings.
21426         Fix minor quoting problems in doc strings
21427         These were glitches regardless of how or whether we tackle the
21428         problem of grave accent in doc strings.
21429         * lisp/calc/calc-aent.el (math-restore-placeholders):
21430         * lisp/ido.el (ido-ignore-buffers, ido-ignore-files):
21431         * lisp/leim/quail/cyrillic.el ("bulgarian-alt-phonetic"):
21432         * lisp/leim/quail/hebrew.el ("hebrew-new")
21433         ("hebrew-biblical-sil"):
21434         * lisp/leim/quail/thai.el ("thai-kesmanee"):
21435         * lisp/progmodes/idlw-shell.el (idlwave-shell-file-name-chars):
21436         Used curved quotes to avoid ambiguities like ‘`''’ in doc strings.
21437         * lisp/calendar/calendar.el (calendar-month-abbrev-array):
21438         * lisp/cedet/semantic/mru-bookmark.el (semantic-mrub-cache-flush-fcn):
21439         * lisp/cedet/semantic/symref.el (semantic-symref-tool-baseclass):
21440         * lisp/cedet/semantic/tag.el (semantic-tag-copy)
21441         (semantic-tag-components):
21442         * lisp/cedet/srecode/cpp.el (srecode-semantic-handle-:cpp):
21443         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
21444         * lisp/emacs-lisp/byte-opt.el (byte-optimize-all-constp):
21445         * lisp/emacs-lisp/checkdoc.el (checkdoc-message-text-engine):
21446         * lisp/emacs-lisp/generator.el (iter-next):
21447         * lisp/gnus/gnus-art.el (gnus-treat-strip-list-identifiers)
21448         (gnus-article-mode-syntax-table):
21449         * lisp/net/rlogin.el (rlogin-directory-tracking-mode):
21450         * lisp/net/soap-client.el (soap-wsdl-get):
21451         * lisp/net/telnet.el (telnet-mode):
21452         * lisp/org/org-compat.el (org-number-sequence):
21453         * lisp/org/org.el (org-remove-highlights-with-change)
21454         (org-structure-template-alist):
21455         * lisp/org/ox-html.el (org-html-link-org-files-as-html):
21456         * lisp/play/handwrite.el (handwrite-10pt, handwrite-11pt)
21457         (handwrite-12pt, handwrite-13pt):
21458         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
21459         * lisp/progmodes/idlwave.el (idlwave-mode, idlwave-check-abbrev):
21460         * lisp/progmodes/verilog-mode.el (verilog-tool)
21461         (verilog-string-replace-matches, verilog-preprocess)
21462         (verilog-auto-insert-lisp, verilog-auto-insert-last):
21463         * lisp/textmodes/makeinfo.el (makeinfo-options):
21464         * src/font.c (Ffont_spec):
21465         Fix minor quoting problems in doc strings, e.g., missing quote,
21466         ``x'' where `x' was meant, etc.
21467         * lisp/erc/erc-backend.el (erc-process-sentinel-2):
21468         Fix minor quoting problem in other string.
21469         * lisp/leim/quail/ethiopic.el ("ethiopic"):
21470         * lisp/term/tvi970.el (tvi970-set-keypad-mode):
21471         Omit unnecessary quotes.
21472         * lisp/faces.el (set-face-attribute, set-face-underline)
21473         (set-face-inverse-video, x-create-frame-with-faces):
21474         * lisp/gnus/gnus-group.el (gnus-group-nnimap-edit-acl):
21475         * lisp/mail/supercite.el (sc-attribs-%@-addresses)
21476         (sc-attribs-!-addresses, sc-attribs-<>-addresses):
21477         * lisp/net/tramp.el (tramp-methods):
21478         * lisp/recentf.el (recentf-show-file-shortcuts-flag):
21479         * lisp/textmodes/artist.el (artist-ellipse-right-char)
21480         (artist-ellipse-left-char, artist-vaporize-fuzziness)
21481         (artist-spray-chars, artist-mode, artist-replace-string)
21482         (artist-put-pixel, artist-text-see-thru):
21483         * lisp/vc/ediff-util.el (ediff-submit-report):
21484         * lisp/vc/log-edit.el (log-edit-changelog-full-paragraphs):
21485         Use double-quotes rather than TeX markup in doc strings.
21486         * lisp/skeleton.el (skeleton-pair-insert-maybe):
21487         Reword to avoid the need for grave accent and apostrophe.
21488         * lisp/xt-mouse.el (xterm-mouse-tracking-enable-sequence):
21489         Don't use grave and acute accents to quote.
21491 2015-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
21493         * lisp/emacs-lisp/generator.el (cps--gensym, cps--transform-1):
21494         Silence compiler.
21496 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
21498         Try to port new etags tests to MS-Windows
21499         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
21500         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
21501         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
21502         Adjust to test-case changes below.
21503         * test/etags/Makefile (CSRC): Remove dostorture.c.
21504         Whatever it was trying to test, wasn't working portably.
21505         (LC_ALL): Remove.  Apparently there wasn't an encoding problem,
21506         just a line-ending problem.
21507         * test/etags/c-src/dostorture.c: Remove.
21508         * test/etags/cp-src/c.C: Remove stray CR.
21509         * test/etags/html-src/algrthms.html: Remove trailing CRs.
21510         State UTF-8 as the encoding.  The file is ASCII so it doesn't matter,
21511         but if someone edits it later it should stay UTF-8-compatible.
21513 2015-05-19  Eli Zaretskii  <eliz@gnu.org>
21515         Fix display of overlapping window-specific overlays
21516         * src/keyboard.c (adjust_point_for_property): When adjusting point
21517         due to display strings, ignore overlays that are specific to
21518         windows other than the currently selected one.
21519         * src/xdisp.c (handle_single_display_spec): If the display
21520         property comes from an overlay, arrange for buffer iteration to
21521         resume only after the end of that overlay.  (Bug#20607)
21523 2015-05-19  Dmitry Gutov  <dgutov@yandex.ru>
21525         New command icomplete-force-complete-and-exit
21526         * lisp/icomplete.el (icomplete-force-complete-and-exit):
21527         New command
21528         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00461.html)
21529         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00516.html).
21530         (icomplete-minibuffer-map): Bind C-j to it.
21531         (icomplete-forward-completions, icomplete-backward-completions):
21532         Mention the new command in the docstring.
21533         * lisp/minibuffer.el (minibuffer-force-complete-and-exit):
21534         Revert the previous fix for bug#17545.
21536 2015-05-19  Martin Rudalics  <rudalics@gmx.at>
21538         Fix last commit
21540         In Elisp manual explain how to override window manager positioning
21541         (Bug#20552)
21542         * doc/lispref/frames.texi (Position Parameters): Give example of
21543         how to override a window manager positioning decision.
21545         Clarify concept of "surrogate minibuffer frames" (Bug#20538)
21546         * src/frame.c (Fdelete_frame): In doc-string mention that frame
21547         can't be deleted if it has a surrogate minibuffer.
21548         * doc/lispref/frames.texi (Minibuffers and Frames)
21549         (Deleting Frames): Explain "surrogate minibuffer frames".
21551         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 19/12 MB.
21553 2015-05-18  Glenn Morris  <rgm@gnu.org>
21555         Add option to ignore commit lines matching a pattern in ChangeLog
21556         * build-aux/gitlog-to-changelog: Add --ignore-line option.
21557         * build-aux/gitlog-to-emacslog: Ignore lines matching '^; '.
21559 2015-05-18  Paul Eggert  <eggert@cs.ucla.edu>
21561         Don't skip new etags tests on non-UTF-8 hosts
21562         Problem reported by Eli Zaretskii for MS-Windows.
21563         * test/etags/Makefile (UTF8_LOCALE, UTF8_ENCODING): Remove.
21564         (LC_ALL): Set to C if the current locale isn't UTF-8.
21565         (.PHONY): Remove ediff_1 thru ediff_5.
21566         (check): Always run.
21568 2015-05-18  Glenn Morris  <rgm@gnu.org>
21570         * lisp/calculator.el (calculator-funcall):
21571         * lisp/textmodes/artist.el (artist-spray-random-points):
21572         Use standard degree/radian conversion utilities.
21574         Further lisp-complete-symbol related cleanup.
21575         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol):
21576         Unadvertise non-functional argument.  Replace obsolete alias.
21578 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
21580         Add a test case for Maven warning ouput
21581         * test/automated/compile-tests.el
21582         (compile-tests--test-regexps-data): Add a case for Maven warning
21583         ouput.
21584         (compile--test-error-line): Check the compilation message type, if
21585         it's specified in the test data.
21587 2015-05-18  Paul Pogonyshev  <pogonyshev@gmail.com>
21589         Update Maven compilation-mode entry to distinguish warnings
21590         * lisp/progmodes/compile.el
21591         (compilation-error-regexp-alist-alist): Update Maven entry to
21592         distinguish warnings (bug#20556).
21594 2015-05-18  Przemysław Wojnowski  <esperanto@cumego.com>
21596         * test/automated/sgml-mode-tests.el: New file.
21598 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
21600         Improve handling of the first Git revision
21601         * lisp/vc/log-view.el (log-view-toggle-entry-display): When
21602         there's no next entry, delete until the end of the buffer.
21603         (log-view-end-of-defun-1): Stop at eob.
21604         * lisp/vc/vc-annotate.el
21605         (vc-annotate-show-diff-revision-at-line-internal): Don't give up
21606         when previous-revision is nil.
21607         * lisp/vc/vc-git.el (vc-git-expanded-log-entry): End the arguments
21608         with `--' to avoid ambiguity.
21609         (vc-git-annotate-extract-revision-at-line): Exclude `^' from the
21610         returned revision string.
21611         (vc-git-annotate-time): Expect `^' before the first revision.
21612         * lisp/vc/vc-git.el (vc-git-diff): Diff against an empty tree if
21613         REV1 is nil, and REV2 is not.
21614         * lisp/vc/vc.el: Update the description of the `diff' function.
21616 2015-05-18  Oleh Krehel  <ohwoeowho@gmail.com>
21618         Allow checkdoc to be called in batch
21619         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When `noninteractive'
21620         is non-nil, echo the error with `warn'.
21621         How it can be used in -batch:
21622         (with-current-buffer (find-file "checkdoc.el")
21623           (checkdoc-current-buffer t))
21625 2015-05-18  Glenn Morris  <rgm@gnu.org>
21627         * lisp/calendar/solar.el (solar-ecliptic-coordinates): Use float-pi.
21629 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
21631         * admin/notes/unicode: New section "binary files".
21633         Change new etags test to use UTF-8 encoding
21634         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
21635         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
21636         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
21637         * test/etags/html-src/index.shtml, test/etags/html-src/software.html:
21638         * test/etags/html-src/softwarelibero.html:
21639         Switch to UTF-8 encoding.
21640         * test/etags/Makefile (SRCS): Adjust to switch to UTF-8.
21641         Remove Makefile, as it's too incestuous to have the test input
21642         include the build procedure.
21643         (UTF8_LOCALE, UTF_ENCODING): New macros.
21644         (LC_ALL): If possible, set to a UTF-8 encoding if not already UTF-8.
21645         (check): Skip if not UTF-8.
21646         (.PHONY): New rule.
21647         (FRC): Remove, as superseded by .PHONY.  All uses removed.
21648         (regexfile): Prefer printf to echo when outputting oddball chars.
21649         (.PRECIOUS): Remove, as these files are not built.
21651         Rename 'foo-gzipped' to 'foo.gz'
21652         * test/automated/data/decompress/foo.gz:
21653         Rename from test/automated/data/decompress/foo-gzipped,
21654         to make it easier for other tools to tell that it's compressed.
21655         * test/automated/zlib-tests.el (zlib--decompress):
21656         Adjust to renamed file.
21658 2015-05-17  Dmitry Gutov  <dgutov@yandex.ru>
21660         Set up default-directory
21661         * lisp/vc/vc-annotate.el (vc-annotate-mode-map): Remove duplicate
21662         binding for `v'.
21663         (vc-annotate-show-changeset-diff-revision-at-line): Set up an
21664         appropriate value for default-directory.
21666 2015-05-17  Samer Masterson  <samer@samertm.com>
21668         * lisp/eshell/em-term.el (eshell-term-sentinel):
21669         No-op by default, only kills term buffer if
21670         `eshell-destroy-buffer-when-process-dies' is non-nil.  (Bug#18108)
21671         (eshell-destroy-buffer-when-process-dies): New custom to preserve
21672         previous behavior.
21674         eshell: Introduce new buffer syntax
21675         The new buffer syntax '#<buffer-name>' is equivalent to '#<buffer
21676         buffer-name>'.  Remove `eshell-buffer-shorthand', as it is no longer
21677         needed (Bug#19319).
21678         * lisp/eshell/esh-io.el (eshell-buffer-shorthand): Remove.
21679         (eshell-get-target): Remove shorthand-specific code.
21680         * lisp/eshell/esh-arg.el (eshell-parse-special-reference): Parse
21681         '#<buffer-name>'.
21683 2015-05-17  Jan D  <jan.h.d@swipnet.se>
21685         Merge branch 'master' into cairo
21687 2015-04-26  Jan D  <jan.h.d@swipnet.se>
21689         Merge branch 'master' into cairo
21691         Add PBM support for cairo
21692         * src/image.c (xcolor_to_argb32): New function.
21693         (get_spec_bg_or_alpha_as_argb): Call xcolor_to_argb32.
21694         (pbm_load, png_load_body, jpeg_load_body, gif_load): Only use
21695         XImagePtr if ! USE_CAIRO.
21696         (pbm_load): Add cairo support.
21698 2015-04-12  Jan D  <jan.h.d@swipnet.se>
21700         * src/xterm.c (x_free_cr_resources): Rename from x_prepare_for_xlibdraw.
21701         (x_cr_draw_frame, x_cr_export_frames, x_shift_glyphs_for_insert)
21702         (x_free_frame_resources): Rename x_prepare_for_xlibdraw to
21703         x_free_cr_resources.
21705         Handle specified bg in images.  Use generic libpng code for PNGs.
21706         * src/image.c (get_spec_bg_or_alpha_as_argb)
21707         (create_cairo_image_surface): New functions when USE_CAIRO.
21708         (xpm_load): Call the above functions.  Handle XPM without mask
21709         when USE_CAIRO.
21710         (png_load_body): Handle USE_CAIRO case.
21711         (png_load): Remove USE_CAIRO specific fuction, modify png_load_body
21712         instead.
21713         (jpeg_load_body): Call create_cairo_image_surface.
21714         (gif_load, svg_load_image): Handle specified background, call
21715         create_cairo_image_surface.
21716         * src/xterm.c (x_draw_image_glyph_string): Add missing USE_CAIRO.
21718 2015-04-11  Jan D  <jan.h.d@swipnet.se>
21720         Support GIF and TIFF with cairo
21721         * configure.ac: Allow jpeg with cairo.
21722         Allow tiff and gif with cairo.
21723         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
21724         (tiff_load): Create cairo image surface if USE_CAIRO.
21725         (gif_load): Ditto.
21727         Support JPEG with USE_CAIRO
21728         * configure.ac: Allow jpeg with cairo.
21729         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
21731 2015-04-05  Jan D  <jan.h.d@swipnet.se>
21733         Support RSVG and cairo
21734         * configure.ac: Allow rsvg with cairo.  Move back HAVE_RSVG.
21735         * src/dispextern.h (struct image): Add cr_data2 if cairo.
21736         * src/image.c: #undef COLOR_TABLE_SUPPORT when USE_CAIRO.
21737         (x_clear_image): Free cr_data and cr_data2 if set.
21738         (xpm_load): Assign data to cr_data2.
21739         (svg_load_image): Convert from GdkPixbuf to CAIRO_FORMAT_ARGB32.
21741 2015-04-03  Jan D  <jan.h.d@swipnet.se>
21743         Introduce limited Xpm support (32 bit ZPixmap) for Cairo
21744         * configure.ac (HAVE_RSVG): Move after cairo.
21745         (USE_CAIRO): Disable rsvg, don't disable Xpm.
21746         * src/image.c (prepare_image_for_display): Don't load if USE_CAIRO.
21747         (x_clear_image): If USE_CAIRO, also free possible img->ximg->obdata and
21748         don't return early.
21749         (ALLOC_XPM_COLORS): Don't define when USE_CAIRO.
21750         (xpm_load): Convert simple Xpms (32 bit ZPixmap) to CAIRO_FORMAT_ARGB32
21751         and create a surface.
21753         Tool tips for menus did not show any text.
21754         * src/xterm.c (x_update_begin): Don't create any surface for non-visible
21755         tip frames, the geometry may be wrong.
21757         Merge branch 'master' into cairo, fixes tooltips not shown.
21759         Merge branch 'master' into cairo
21761         Add CAIRO_CFLAGS to lwlib/Makefile.in
21762         * Makefile.in (CAIRO_CFLAGS): Add.
21764 2015-02-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
21766         * src/ftcrfont.c (ftcrfont_draw): Don't flush when drawing to screen.
21768 2015-02-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
21770         Draw outermost line using black relief and erase corners also for cairo.
21771         * src/xterm.c [USE_CAIRO]: Include math.h.
21772         (enum corners) [USE_CAIRO]: New enum.
21773         (x_erase_corners_for_relief) [USE_CAIRO]: New function.
21774         (x_draw_relief_rect) [USE_CAIRO]: Use it.  If box width is larger
21775         than 1, draw the outermost line using the black relief.
21777         * src/xterm.c (x_fill_trapezoid_for_relief):
21778         Remove unnecessary cairo_close_path.
21780 2015-02-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
21782         * src/xterm.c (x_draw_relief_rect) [USE_CAIRO]: Reset clipping.
21784         * src/xterm.c (x_draw_stretch_glyph_string):
21785         Call x_reset_clip_rectangles instead of XSetClipMask.
21787         Use int instead of unsigned int for width and height args.
21788         * src/xterm.c (x_cr_draw_image, x_fill_rectangle, x_draw_rectangle)
21789         (x_fill_trapezoid_for_relief): Use int instead of unsigned int for
21790         width and height args.
21792         Modernize k&r cairo-related function declarations.
21793         * src/gtkutil.c (xg_page_setup_dialog, xg_get_page_setup, draw_page)
21794         (xg_print_frames_dialog): Modernize k&r declarations.
21795         * src/xfns.c (Fx_export_frames, Fx_page_setup_dialog, Fx_get_page_setup)
21796         (Fx_print_frames_dialog): Modernize k&r declarations.
21797         * src/xterm.c (x_gc_get_ext_data, x_extension_initialize)
21798         (x_begin_cr_clip, x_end_cr_clip, x_set_cr_source_with_gc_foreground)
21799         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
21800         (x_cr_destroy_fringe_bitmap, x_cr_draw_frame, x_cr_accumulate_data)
21801         (x_cr_destroy, x_cr_export_frames, x_prepare_for_xlibdraw)
21802         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
21803         (x_draw_rectangle, x_clear_window, x_fill_trapezoid_for_relief)
21804         (x_clear_area): Modernize k&r declarations.
21806         Implement wave-style variant of underlining for cairo.
21807         * src/xterm.c (x_draw_horizontal_wave) [USE_CAIRO]: New function.
21808         (x_draw_underwave) [USE_CAIRO]: Use it.
21810         * src/xterm.c (x_draw_window_divider): Use x_fill_rectangle
21811         instead of XFillRectangle.
21813 2015-02-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
21815         Fix fringe bitmap initialization for cairo
21816         * src/fringe.c (init_fringe_bitmap) [USE_CAIRO]: Adjust bitmap
21817         data for cairo image surface.
21818         * src/xterm.c (x_cr_define_fringe_bitmap):
21819         Call cairo_surface_mark_dirty.
21821 2015-02-11  Jan D  <jan.h.d@swipnet.se>
21823         Add cairo drawing
21824         * configure.ac (with-cairo): New option.
21825         (USE_CAIRO): Default to yes for Gtk+ 3.  Add code to test for cairo,
21826         set CAIRO_CFLAGS, CAIRO_LIBS.  Add ftcrfonto to FONT_OBJ if cairo.
21827         Output "Does Emacs use cairo?".
21828         * lisp/version.el (emacs-version): Add cairo version.
21829         * src/Makefile.in (CAIRO_CFLAGS, CAIRO_LIBS): New variables.
21830         (FONT_OBJ): Add comment about ftcrfont.
21831         (ALL_CFLAGS): Add CAIRO_CFLAGS.
21832         (LIBES): Add CAIRO_LIBS.
21833         * src/dispextern.h (struct image): Add cr_data for cairo.
21834         (x_cr_init_fringe): Declare.
21835         * src/font.c (syms_of_font): Call syms_of_ftcrfont for cairo.
21836         * src/font.h (ftcrfont_driver, syms_of_ftcrfont): Declare
21837         * src/fringe.c (x_cr_init_fringe): New function name that shares code
21838         with w32_init_fringe.
21839         * src/ftcrfont.c: New font driver for cairo, based on the ftfont driver.
21840         * src/ftfont.c (ftfont_info_size); New global variable.
21841         (ftfont_open2): New extern function almost the same as old ftfont_open,
21842         but takes the font_object as argument.
21843         (ftfont_open): Build font object and call ftfont_open2.
21844         * src/ftfont.h (ftfont_open2, ftfont_info_size): Declare.
21845         * src/gtkutil.c (xg_clear_under_internal_border)
21846         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos):
21847         Only queue_draw if not cairo.  Change args to x_clear_area.
21848         (xg_get_font): Use Qftcr when using cairo, Qxft otherwise.
21849         (xg_page_setup_dialog, xg_get_page_setup, draw_page)
21850         (xg_print_frames_dialog): New functions for printing.
21851         * src/gtkutil.h (xg_page_setup_dialog, xg_get_page_setup)
21852         (xg_print_frames_dialog): Declare.
21853         * src/image.c: Add defined (USE_CAIRO) for PNG.
21854         Add !defined USE_CAIRO for W32 PNG code.
21855         (x_clear_image): If cairo, destroy the surface in cr_data.
21856         (png_load): Add new cairo compatible implementation.
21857         (lookup_image_type): Add defined (USE_CAIRO) for define png_type.
21858         * src/xfns.c: New section Printing.
21859         (x-export-frames, x-page-setup-dialog, x-get-page-setup)
21860         (x-print-frames-dialog): New printing functions.
21861         (Fx_create_frame, x_create_tip_frame): Register ftcrfont if cairo.
21862         (syms_of_xfns): Defsym Qorientation, Qtop_margin, Qbottom_margin,
21863         Qportrait, Qlandscape, Qreverse_portrait, Qreverse_landscape).
21864         (syms_of_xfns): Provide cairo and defvar cairo-version-string.
21865         defsubr Sx_page_setup_dialog, Sx_get_page_setup, Sx_print_frames_dialog.
21866         * src/xterm.c (x_clear_area1, x_prepare_for_xlibdraw)
21867         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
21868         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
21869         (x_gc_get_ext_data, x_extension_initialize, x_cr_accumulate_data):
21870         Declare.
21871         (FRAME_CR_CONTEXT, FRAME_CR_SURFACE): New macros.
21872         (max_fringe_bmp, fringe_bmp): New variables.
21873         (x_gc_get_ext_data, x_extension_initialize)
21874         (x_cr_destroy_surface, x_begin_cr_clip, x_end_cr_clip)
21875         (x_set_cr_source_with_gc_foreground)
21876         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
21877         (x_cr_destroy_fringe_bitmap, x_cr_draw_image, x_cr_draw_frame)
21878         (x_cr_accumulate_data, x_cr_destroy, x_cr_export_frames)
21879         (x_prepare_for_xlibdraw, x_set_clip_rectangles)
21880         (x_reset_clip_rectangles, x_fill_rectangle, x_draw_rectangle)
21881         (x_clear_window, x_fill_trapezoid_for_relief): New functions.
21882         (x_update_begin): Create cairo surface if needed.
21883         (x_draw_vertical_window_border): Call x_fill_rectangle for cairo.
21884         (x_update_end): Paint cairo drawing surface to xlib surface.
21885         (x_clear_under_internal_border, x_after_update_window_line): Adjust
21886         arguments to x_clear_area.
21887         (x_draw_fringe_bitmap): Call x_fill_rectangle.  Get GC values and
21888         call x_cr_draw_image for cairo.  Call x_reset_clip_rectangles instead
21889         of XSetClipMask.
21890         (x_set_glyph_string_clipping)
21891         (x_set_glyph_string_clipping_exactly): Use x_set_clip_rectangles
21892         instead of XSetClipRectangles.
21893         (x_clear_glyph_string_rect, x_draw_glyph_string_background):
21894         Use x_fill_rectangle instead of XFillRectangle.
21895         (x_draw_glyph_string_foreground)
21896         (x_draw_composite_glyph_string_foreground)
21897         (x_draw_glyphless_glyph_string_foreground): Use x_draw_rectangle
21898         instead of XDrawRectangle.
21899         (x_draw_relief_rect): Add code for USE_CAIRO.
21900         Call x_reset_clip_rectangles instead of XSetClipMask.
21901         (x_draw_box_rect): x_set_clip_rectangles instead of XSetClipRectangles,
21902         x_fill_rectangle instead of XFillRectangle, x_reset_clip_rectangles
21903         instead of XSetClipMask.
21904         (x_draw_image_foreground, x_draw_image_foreground_1):
21905         x_draw_rectangle instead of XDrawRectangle.
21906         (x_draw_glyph_string_bg_rect): x_fill_rectangle instead of
21907         XFillRectangle.
21908         (x_draw_image_glyph_string): If img has cr_data, use it as
21909         a cairo surface.
21910         (x_draw_stretch_glyph_string): x_set_clip_rectangles instead of
21911         XSetClipRectangles, x_fill_rectangle instead of XFillRectangle.
21912         (x_draw_glyph_string): x_fill_rectangle instead of XFillRectangle.,
21913         x_reset_clip_rectangles instead of XSetClipMask.
21914         (x_shift_glyphs_for_insert): Call x_prepare_for_xlibdraw.
21915         (x_clear_area1): New function that calls XClearArea.
21916         (x_clear_area): Takes frame as parameter, calls x_clear_area1 for
21917         non-cairo.
21918         (x_clear_frame): x_clear_window instead of XClearWindow.
21919         (x_scroll_run): Set frame garbaged if cairo.
21920         (XTmouse_position): Initialize *part to 0.
21921         (x_scroll_bar_create): Adjust arguments to x_clear_area.
21922         (x_scroll_bar_set_handle): x_clear_area1 instead of x_clear_area,
21923         x_fill_rectangle instead of XFillRectangle.
21924         (XTset_vertical_scroll_bar, XTset_horizontal_scroll_bar): Adjust
21925         arguments to x_clear_area.
21926         (x_scroll_bar_expose): x_draw_rectangle instead of XDrawRectangle.
21927         (handle_one_xevent): Adjust arguments to x_clear_area.
21928         Destroy cairo surface for frame if ConfigureNotify.
21929         (x_clip_to_row): x_set_clip_rectangles instead of XSetClipRectangles.
21930         (x_draw_hollow_cursor): x_draw_rectangle instead of XDrawRectangle,
21931         x_reset_clip_rectangles instead of XSetClipMask.
21932         (x_draw_bar_cursor): x_fill_rectangle instead of XFillRectangle,
21933         x_reset_clip_rectangles instead of XSetClipMask.
21934         (x_clear_frame_area): Adjust arguments to x_clear_area.
21935         (x_free_frame_resources): Call x_prepare_for_xlibdraw.
21936         (x_term_init): Call x_extension_initialize if cairo.
21937         (x_redisplay_interface): Add x_cr_define_fringe_bitmap,
21938         x_cr_destroy_fringe_bitmap for cairo.
21939         (x_initialize): Call x_cr_init_fringe for cairo.
21940         * src/xterm.h: Add include of cairo header files.
21941         (x_bitmap_record): Add img if cairo.
21942         (x_gc_ext_data): New struct for cairo.
21943         (x_display_info): Add ext_codes for cairo.
21944         (x_output): Add cr_context and cr_surface for cairo.
21945         (x_clear_area): Change arguments from Display*/Window to frame pointer.
21946         (x_query_color, x_begin_cr_clip, x_end_cr_clip)
21947         (x_set_cr_source_with_gc_foreground, x_set_cr_source_with_gc_background)
21948         (x_cr_draw_frame, x_cr_export_frames): Declare.
21950 2015-05-17  Johan Bockgård  <bojohan@gnu.org>
21952         Fix integer-valued `mouse-highlight' (Bug#20590)
21953         * src/xterm.c (handle_one_xevent) [USE_GTK]: Fix ifdef scope.
21955 2015-05-17  Eli Zaretskii  <eliz@gnu.org>
21957         MS-Windows followup for ASCIIfication of curved quotes
21958         * lisp/term/w32console.el (terminal-init-w32console): Repeat the
21959         test for curved quotes being displayable, after switching the
21960         terminal encoding.  (Bug#20545)
21962 2015-05-17  Jan D  <jan.h.d@swipnet.se>
21964         Add comment that x_shift_glyphs_for_insert is never called
21965         * src/xterm.c (x_shift_glyphs_for_insert, x_redisplay_interface):
21966         Add comment that this function is never called.
21968 2015-05-16  Glenn Morris  <rgm@gnu.org>
21970         * src/lisp.mk: Remove from repository and generate at build-time.
21971         * src/Makefile.in (lisp.mk): New rule to generate from loadup.el.
21972         (shortlisp_filter): New variable.
21973         (emacs$(EXEEXT), $(etc)/DOC): Depend on lisp.mk.
21974         (distclean): Remove lisp.mk.
21975         * Makefile.in ($(MAKEFILE_NAME)): No longer depend on src/lisp.mk.
21976         * lisp/loadup.el: Tweak layout to make it easier to parse.
21977         * make-dist: Do not distribute src/lisp.mk.
21979 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
21981         Display shorter dates in Git annotate output
21982         * lisp/vc/vc-git.el (vc-git-annotate-command): Use the short date
21983         format (when not overridden with vc-git-annotate-switches).
21984         (vc-git-annotate-time): Support the short format, as well as ISO
21985         8601 that has been used until now (bug#5428).
21987 2015-05-16  Paul Eggert  <eggert@cs.ucla.edu>
21989         ASCIIfy curved quotes on displays lacking them
21990         * lisp/international/mule-cmds.el (set-locale-environment):
21991         If curved quotes don't work, display straight ASCII approximations
21992         (Bug#20545).
21994 2015-05-16  Glenn Morris  <rgm@gnu.org>
21996         Small src/Makefile simplification
21997         * src/lisp.mk (shortlisp): Rename from lisp, remove $lispsource prefix.
21998         * src/Makefile.in (lisp): Derive from shortlisp.
21999         ($(etc)/DOC): Use $shortlisp rather than parsing lisp.mk.
22001 2015-05-16  Eli Zaretskii  <eliz@gnu.org>
22003         * lisp/help-mode.el (help-go-forward): Doc fix.
22004         (Bug#20577)
22006         * doc/lispref/debugging.texi (Profiling): Improve indexing.
22007         (Bug#20576)
22009 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
22011         * lisp/vc/vc-git.el (vc-git-resolve-when-done): Use `unless' to
22012         have one fewer `not'.
22014         * lisp/vc/vc-git.el (vc-git-diff-switches)
22015         (vc-git-annotate-switches, vc-git-resolve-conflicts)
22016         (vc-git-program, vc-git-root-log-format): Remove the redundant
22017         :group declarations.
22019 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
22021         Removes the predicate from lisp-complete-symbol (Bug#20456)
22022         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol): Do not use predicate
22023         and remove it from the docstring.
22025 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
22027         Add new option vc-git-resolve-conflicts
22028         * lisp/vc/vc-git.el (vc-git-resolve-conflicts): New variable.
22029         (vc-git-find-file-hook): Add to after-save-hook only when the
22030         above is non-nil.
22031         (vc-git-resolve-when-done): Update to honor the new variable.
22032         (Bug#20292)
22034 2015-05-16  Artur Malabarba  <bruce.connor.am@gmail.com>
22036         * lisp/emacs-lisp/tabulated-list.el: Don't error on null header-string.
22037         (tabulated-list-init-header): Document new behavior.
22038         (tabulated-list-print-fake-header): Do nothing if
22039         `tabulated-list--header-string' is nil.
22040         (tabulated-list--header-string): Add a docstring.
22041         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
22042         * etc/NEWS: Document it.
22044 2015-05-15  Leo Liu  <sdl.web@gmail.com>
22046         Revert "Fix cps--gensym"
22047         * lisp/emacs-lisp/generator.el (cps--gensym): Revert commit
22048         fbda511ab8069d0115eafca411a43353b85431b1 on 2015-05-14.
22050 2015-05-15  Glenn Morris  <rgm@gnu.org>
22052         Replace AC_SUBST_FILE in configure with include in Makefiles
22053         * configure.ac (DEPDIR, MKDEPDIR, deps_frag, lwlib_deps_frag)
22054         (oldxmenu_deps_frag, lisp_frag): Remove output variables/files.
22055         (AUTO_DEPEND): New output variable.
22056         * lwlib/Makefile.in (AUTO_DEPEND): New, set by configure.
22057         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
22058         (lwlib_deps_frag): Replace by conditional include.
22059         * lwlib/autodeps.mk: Remove file.
22060         * oldXMenu/Makefile.in (AUTO_DEPEND): New, set by configure.
22061         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
22062         (oldxmenu_deps_frag): Replace by conditional include.
22063         * oldXMenu/autodeps.mk: Remove file.
22064         * src/Makefile.in (AUTO_DEPEND): New, set by configure.
22065         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
22066         (lisp_frag): Replace by an include.
22067         (deps_frag): Replace by conditional include.
22068         * src/autodeps.mk: Remove file.
22070         Tweak japanese.el's loading of dependencies
22071         * lisp/loadup.el: Explicitly load cp51932 and eucjp-ms.
22072         * lisp/language/japanese.el: Use require rather than load.
22073         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
22074         Provide a feature.
22075         * admin/charsets/eucjp-ms.awk, admin/charsets/cp51932.awk:
22076         Provide a feature in the generated file.
22078 2015-05-15  Jan D  <jan.h.d@swipnet.se>
22080         Fix NS warnings
22081         * src/nsmenu.m (ns_popup_dialog)
22082         * src/nsimage.m (initFromXBM:width:height:fg:bg:)
22083         * src/nsfns.m (Fx_create_frame): Remove unused variables.
22084         (Fns_read_file_name): Initialize fname, remove ret.
22085         * src/nsterm.m (ns_draw_window_cursor): Handle DEFAULT_CURSOR in switch.
22086         (ns_get_color, ns_set_horizontal_scroll_bar, keyDown):
22087         Remove unused variable.
22088         (init): Add parantesis in if.
22089         (ns_create_terminal): Assign set_horizontal_scroll_bar_hook.
22091 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
22093         Fix a enum conversion warning in macfont.m
22094         * src/macfont.h (CharacterCollection): Typedef to NSCharacterCollection.
22095         (MAC_CHARACTER_COLLECTION_*): Use the NS variants.
22097 2015-05-15  Eli Zaretskii  <eliz@gnu.org>
22099         * lisp/textmodes/ispell.el (ispell-aspell-find-dictionary):
22100         Support Aspell dictionaries with names like "de-alt".  (Bug#20581)
22102 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
22104         * lisp/cus-start.el: Add ns-confirm-quit.
22106         Fix warnings on OSX 10.10
22107         * src/nsfns.m (MODAL_OK_RESPONSE): New define for different
22108         OSX versions.
22109         (Fns_read_file_name): Check against MODAL_OK_RESPONSE.
22110         (compute_tip_xy): Use convertRectToScreen for OSX >= 10.7
22111         * src/nsmenu.m (initWithContentRect:styleMask:backing:defer:)
22112         * src/nsimage.m (allocInitFromFile, setPixmapData): Only call
22113         setScalesWhenResized for OSX < 10.6.
22114         * src/nsterm.h (EmacsScroller): Declare scrollerWidth.
22115         * src/nsterm.m (ns_copy_bits): New function that does not use
22116         deprecated NSCopyBits.
22117         (ns_scroll_run, ns_shift_glyphs_for_insert): Call ns_copy_bits.
22118         (runAlertPanel): New function.
22119         (applicationShouldTerminate:): Call runAlertPanel.
22120         (initFrameFromEmacs, toggleFullScreen:): Only call
22121         useOptimizedDrawing for OSX < 10.10.
22122         (initFrameFromEmacs:): Only call allocateGState for OSX < 10.10.
22123         (windowWillUseStandardFrame:defaultFrame:): Cast arg to abs to int.
22124         (draggingEntered:): Returns NSDragOperation.
22125         (scrollerWidth): Use scrollerWidthForControlSize for OSX >= 10.7.
22127 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
22129         * lisp/emacs-lisp/package.el: Don't ensure-init during startup.
22130         (package--init-file-ensured): New variable.
22131         (package-initialize, package--ensure-init-file): Use it.
22133 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
22135         Honor :fore/background for XBM on NS (Bug#14969)
22136         * src/nsterm.h (EmacsImage): Add xbm_fg, remove initFromSkipXBM,
22137         initFromXBM takes bg, fg args, remove flip arg.
22138         (ns_image_from_XBM): Add bg, fg args.
22139         * src/image.c (x_create_bitmap_from_data)
22140         (Create_Pixmap_From_Bitmap_Data): ns_image_from_XBM takes bg, fg args.
22141         * src/nsimage.m (ns_image_from_XBM): Add fg, bg args, pass to
22142         initFromXBM.  Remove flip arg.
22143         (initFromSkipXBM): Move code to initFromXBM.
22144         (initFromXBM): Actually set fg and bg, instead of playing alpha games.
22145         Use fg, bg from args (Bug#14969).  Remove if (length) section, was
22146         always false.
22147         Remove bit flipping (bitPat, swt), generated incorrect images when
22148         width/height wasn't a multiple of 8.
22149         (setXBMColor:): Modify planes by comparing to saved xbm_fg.
22150         * src/nsterm.m (ns_draw_fringe_bitmap): initFromXBM takes fg, bg args,
22151         remove flip arg.
22153 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
22155         * lisp/emacs-lisp/package.el: Be more careful with the init file.
22156         (package--ensure-init-file): Check that user-init-file is set,
22157         exists, is readable, and is writable.  (Bug#20584)
22158         Also expand the docstring.
22160 2015-05-14  Wilson Snyder  <wsnyder@wsnyder.org>
22162         Sync with upstream verilog-mode revision 6232468
22163         * lisp/progmodes/verilog-mode.el
22164         (verilog-font-lock-grouping-keywords-face)
22165         (verilog-highlight-grouping-keywords): Fix use of face when
22166         `verilog-highlight-grouping-keywords' set.  Reported by Jeff Pompa.
22167         (verilog-auto-reset): Fix AUTORESET to ignore member resets if
22168         parent is reset, bug906.  Reported by Ken Schmidt.
22169         (verilog-auto-inout-module): Add fourth regexp argument to
22170         AUTOINOUTMODULE and AUTOINOUTCOMP for signals to not match, bug856.
22171         Reported by John Tillema.
22172         (verilog-auto-inst-port): Fix AUTOINST interfaces to not show
22173         modport if signal attachment is itself a modport.  Reported by
22174         Matthew Lovell.
22175         (verilog-auto-reset, verilog-auto-sense-sigs): Fix AUTORESET with
22176         always_comb and always_latch, bug844.  Reported by Greg Hilton.
22177         (verilog-at-constraint-p, verilog-beg-of-statement-1): Fix hanging
22178         with many curly-bracket pairs, bug663.
22179         (verilog-set-auto-endcomments): Fix end comments for functions of
22180         type void, etc.  Reported by Alex Reed.
22181         (verilog-do-indent): Fix electric tab deleting form-feeds.  Note
22182         caused by indent-line-to deleting tabls pre 24.5.
22183         (verilog-nameable-item-re): Fix nameable items that can have an
22184         end-identifier to include endchecker, endgroup, endprogram,
22185         endproperty, and endsequence.  Reported by Alex Reed.
22186         (verilog-label-be): When auto-commenting a buffer, consider
22187         auto-comments on all known keywords (not just a subset thereof).
22188         Reported by Alex Reed.
22189         (verilog-auto-end-comment-lines-re)
22190         (verilog-end-block-ordered-re, verilog-set-auto-endcomments):
22191         Automatically comment property/endproperty blocks to match other
22192         similar blocks like sequence/endsequence, function/endfunction, etc.
22193         Reported by Alex Reed.
22194         (verilog-set-auto-endcomments): Detect the function- or task-name
22195         when auto-commenting blocks that lack an explicit portlist.
22196         Reported by Alex Reed.
22197         (verilog-auto, verilog-auto-insert-last): Add AUTOINSERTLAST to
22198         allow post-AUTO user fixups, bug826.  Reported by Dennis Muhlestein.
22199         (verilog-no-indent-begin-re): When `verilog-indent-begin-after-if'
22200         is nil, fix indenting initial/final to match always statements,
22201         bug825.  Reported by Tim Clapp.
22202         (verilog-extended-complete-re): Fix indentation of DPI-C imports
22203         with c_identifiers, and DPI-C imports, bug557.  Reported by ZeDong
22204         Mao and Jason Forkey.
22205         (verilog-read-decls): Fix parsing typed interfaces.  Fix
22206         AUTOINOUTMODPORT missing types.  Reported by Stephan Bourduas.
22207         Fix localparam not being ignored in AUTOINSTPARAM,
22208         bug889.  Reported by Shannon Hill.
22209         (verilog-auto-output-every): Add regexp to AUTOOUTPUTEVERY,
22210         bug793.  Reported by Pierre-David Pfister.
22211         (verilog-auto-arg-format, verilog-auto-arg-ports):
22212         Add verilog-auto-arg-format to support newlines in AUTOARG.
22213         Reported by Jie Xiao.
22214         (verilog-batch-execute-func): Do not batch re-auto files loaded by
22215         Local Variables.  Fix printing "no changes to be saved" with
22216         verilog-batch.  Reported by Dan Dever.
22217         (verilog-auto-inout-module): Fix AUTOINOUTMODULE not inserting
22218         interface-only modules, bug721.  Reported by Dean Hoyt.
22219         Author: Alex Reed <acreed4@gmail.com>
22220         * lisp/progmodes/verilog-mode.el (verilog-beg-of-statement):
22221         Don't treat '<keyword>:<identifier>' as the start of a labeled
22222         statement, bug905.  Reported by Enzo Chi.
22223         (verilog-directive-re, verilog-compiler-directives)
22224         (verilog-keywords): Match full set of IEEE 2012-1800 compiler
22225         directives (plus some extras) when determining indentation, bug
22226         901.  Reported by Bernd Beuster.
22227         (verilog-at-constraint-p): Fix indentation of coverpoint bins if
22228         iff expression doesn't start with word-character, bug900.
22229         (verilog-optional-signed-range-re, verilog-optional-signed-re):
22230         Fix incorrect indentation/alignment of unsigned declarations,
22231         bug897.
22232         (verilog-looking-back, verilog-in-attribute-p): Fix labeling of
22233         always constructs, bug895.
22234         (verilog-calc-1): Fix verilog-mode constraint indentation, bug324.
22235         Reported by Eric Mastromarchi.
22236         (verilog-beg-of-statement): Fix indenting for some forms of
22237         constraintsm bug433.  Reported by Brad Parker.  Fix indentation of
22238         continued assignment incorrect if first line ends with ']', bug437.
22239         Reported by Dan Dever.  Fix indention of cover inside an
22240         ifdef, bug 862.  Reported by Bernd Beuster.  Fix labeling do-while
22241         blocks, bug842.
22242         (verilog-preprocessor-re): Fix fork/end UNMATCHED warning, bug859.
22243         Reported by Kaushal Modi.
22244         (verilog-set-auto-endcomments): Fix endlabel end comments, bug888.
22245         (verilog-backward-token): Fix indenting sensitivity lists with
22246         named events, bug840.  Reed.
22247         (verilog-no-indent-begin-re): Fix `verilog-indent-begin-after-if'
22248         nil not honoring 'forever', 'foreach', and 'do' keywords.
22250 2015-05-14  Paul Eggert  <eggert@cs.ucla.edu>
22252         Check for invalid GTK+ monitor scales
22253         * src/gtkutil.c (xg_get_gdk_scale): Return 1 for invalid scales,
22254         INT_MAX for too-large scales.  All callers changed to assume the
22255         result is valid (Bug#20432).
22256         (xg_frame_set_char_size, xg_update_scrollbar_pos):
22257         Calculate scale only if needed.
22258         Show ASCII approximations instead.
22260 2015-05-14  Eli Zaretskii  <eliz@gnu.org>
22262         Fix daemon crashes when linum-mode is turned on early on
22263         * src/window.c (Fwindow_end): Don't try calling display engine
22264         functions on initial-frame frame.  (Bug#20565)
22266         Fix selective diff browsing in Ediff
22267         * lisp/vc/ediff-util.el (ediff-focus-on-regexp-matches):
22268         Go to the beginning of the region before searching for the
22269         ediff-regexp-focus-* regexps.  (Bug#20568)
22271 2015-05-14  Jan D  <jan.h.d@swipnet.se>
22273         Fixes bug#20142
22274         * src/gtkutil.c (delete_cb): Don't send delete event here, it does
22275         arrive in the main loop, even for Gtk 3 (Bug#20142).
22277         Don't access display after i/o error (Bug#19147).
22278         * src/xterm.c (x_connection_closed): Add third arg ioerror.
22279         If ioerror, set display to 0 (Bug#19147).
22280         (x_error_quitter): Call x_connection_closed with third arg false.
22281         (x_io_error_quitter): Call x_connection_closed with third arg true.
22283         Handle GTK_SCALE, fixes Bug#20432.
22284         * src/gtkutil.c (xg_get_gdk_scale): New function.
22285         (xg_frame_set_char_size)
22286         (x_wm_set_size_hint, xg_get_default_scrollbar_width)
22287         (xg_get_default_scrollbar_height)
22288         (xg_update_horizontal_scrollbar_pos): Take GTK_SCALE in to account
22289         when setting sizes (Bug#20432).
22291 2015-05-13  Leo Liu  <sdl.web@gmail.com>
22293         * lisp/emacs-lisp/generator.el (cps--gensym): Fix.
22295 2015-05-13  Glenn Morris  <rgm@gnu.org>
22297         Fix bootstrap (void function cl-member).
22298         * lisp/emacs-lisp/cl-lib.el: Load cl-seq if no cl-loaddefs file.
22299         * lisp/emacs-lisp/cl-seq.el: Provide a feature.
22301 2015-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
22303         * lisp/loadup.el ("emacs-lisp/cl-generic"): Preload
22304         * src/lisp.mk (lisp): Add emacs-lisp/cl-generic.elc.
22305         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method):
22306         Avoid defalias for closures which are not immutable.
22307         (cl--generic-prefill-dispatchers): New macro.  Use it to prefill
22308         the dispatchers table with various entries.
22309         * lisp/emacs-lisp/ert.el (emacs-lisp-mode-hook):
22310         * lisp/emacs-lisp/seq.el (emacs-lisp-mode-hook): Use add-hook.
22312 2015-05-13  Eli Zaretskii  <eliz@gnu.org>
22314         Improve tagging of C bindings in DEFVAR_*
22315         * src/Makefile.in (TAGS): Add --regex options to tag the C binding
22316         from DEFVAR_*.
22318 2015-05-13  Paul Eggert  <eggert@cs.ucla.edu>
22320         * src/editfns.c (Fformat): Fix use-after-free bug (Bug#20548).
22322 2015-05-12  Glenn Morris  <rgm@gnu.org>
22324         * lisp/progmodes/tcl.el (tcl-filter):
22325         Handle comint-prompt-read-only like gud.el does.  (Bug#20549)
22327         Add basic VC push support
22328         * lisp/vc/vc.el (vc-push): New autoloaded command.
22329         * lisp/vc/vc-hooks.el (vc-prefix-map, vc-menu-map): Add vc-push.
22330         * lisp/vc/vc-bzr.el (vc-bzr--pushpull): New, factored from vc-bzr-pull.
22331         (vc-bzr-pull): Reimplement using vc-bzr--pushpull.
22332         (vc-bzr-push): New.
22333         * lisp/vc/vc-git.el (vc-git--pushpull): New, factored from vc-git-pull.
22334         (vc-git-pull): Reimplement using vc-git--pushpull.
22335         (vc-git-push): New.
22336         * lisp/vc/vc-hg.el (vc-hg--pushpull): New, factored from vc-hg-pull.
22337         (vc-hg-pull, vc-hg-push): Reimplement using vc-hg--pushpull.
22338         * doc/emacs/maintaining.texi (Pulling / Pushing):
22339         Rename from "VC Pull".  Mention pushing.
22340         (VC With A Merging VCS, VC Change Log): Update xrefs.
22341         (Branches): Update menu.
22342         * doc/emacs/emacs.texi: Update menu.
22343         * etc/NEWS: Mention this.
22345 2015-05-12  Nicolas Petton  <nicolas@petton.fr>
22347         Improve the seq pcase pattern and the `seq-let' macro
22348         * lisp/emacs-lisp/seq.el: The pcase pattern now matches only if the
22349         object is a sequence, and binds each element of ARGS to the
22350         corresponding element of the sequence.
22352 2015-05-12  Eli Zaretskii  <eliz@gnu.org>
22354         Fix tags created from DEFVAR_* declarations in C
22355         * src/Makefile.in (TAGS): Improve the --regex argument to etags,
22356         to make tags extracted from DEFVAR_* declarations more accurate.
22358         Add a test suite for etags
22359         * test/etags/: New test suite, adapted from
22360         http://fly.isti.cnr.it/pub/software/unix/etags-regression-test.tar.bz2,
22361         whose original author is Francesco Potortì <pot@gnu.org>.
22363         Fix tagging of symbols in C enumerations
22364         * lib-src/etags.c (consider_token): Don't tag symbols in
22365         expressions that assign values to enum constants.  See
22366         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00291.html
22367         for details.
22368         (C_entries): Reset fvdef to fvnone after processing a preprocessor
22369         conditional and after a comma outside of parentheses.
22371 2015-05-12  Glenn Morris  <rgm@gnu.org>
22373         * lisp/url/url-handlers.el (url-file-name-completion)
22374         (url-file-name-all-completions): Silence compiler.
22376         * lisp/emacs-lisp/chart.el (chart-axis-draw): Replace obsolete alias.
22378         * lisp/play/dunnet.el (dun-dos-boot-msg): Fix time.  (Bug#20554)
22380 2015-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
22382         * lisp/emacs-lisp/cl-generic.el: Add dispatch on &context arguments
22383         (cl--generic-mandatory-args): Remove.
22384         (cl--generic-split-args): New function.
22385         (cl-generic-define, cl--generic-lambda): Use it.
22386         (cl-generic-define-method): Use it as well, and add support for
22387         context args.
22388         (cl--generic-get-dispatcher): Handle &context dispatch.
22389         (cl--generic-cache-miss): `dispatch-arg' can now be a
22390         context expression.
22391         (cl--generic-dispatchers): Pre-fill.
22392         * test/automated/cl-generic-tests.el (sm-generic-test-12-context):
22393         New test.
22395 2015-05-11  Glenn Morris  <rgm@gnu.org>
22397         * make-dist: Abort if "make ChangeLog" fails.  Add "--no-changelog".
22399 2015-05-11  Stefan Monnier  <monnier@iro.umontreal.ca>
22401         * lisp/term/xterm.el: Fix xterm-paste handling for rxvt
22402         * lisp/term/rxvt.el: Require term/xterm.
22403         (rxvt-function-map): Use xterm-rxvt-function-map.
22404         (rxvt-standard-colors): Move before first use.
22405         (terminal-init-rxvt): Use xterm--push-map and
22406         xterm-register-default-colors.
22407         (rxvt-rgb-convert-to-16bit, rxvt-register-default-colors): Remove.
22408         * lisp/term/xterm.el (xterm-rxvt-function-map): New var.
22409         Move shared bindings between rxvt and xterm to it.
22410         (xterm-function-map): Use it.  Move the xterm-paste binding to
22411         xterm-rxvt-function-map (bug#20444).
22412         (xterm-standard-colors): Move before first use.
22413         (xterm--push-map): New function.
22414         (xterm-register-default-colors): Take standard colors as argument.
22415         (terminal-init-xterm): Use it.  Adjust call to
22416         xterm-register-default-colors.
22418 2015-05-11  Glenn Morris  <rgm@gnu.org>
22420         * lisp/term/x-win.el: Quieten --without-x compilation.
22421         (x-own-selection-internal, x-disown-selection-internal)
22422         (x-selection-owner-p, x-selection-exists-p, x-get-selection-internal):
22423         Declare.
22425         * Makefile.in (emacslog): Remove srcdir.
22426         (ChangeLog): Update for the above.
22428 2015-05-10  Fabián Ezequiel Gallina  <fgallina@gnu.org>
22430         python.el: better limit for looking-back calls
22431         * lisp/progmodes/python.el (python-shell-accept-process-output):
22432         Use last comint prompt start as limit for looking-back.
22434 2015-05-10  Stefan Monnier  <monnier@iro.umontreal.ca>
22436         CEDET (srecode-insert-fcn): Fix use of oref on a class
22437         * lisp/cedet/srecode/insert.el (srecode-insert-fcn): Fix use of oref
22438         on a class.  Reported by Pierre Lorenzon.
22439         (srecode-template-inserter-point): Remove declaration.
22441         CEDET (srecode-create-dictionary): Avoid obsolete object name
22442         * lisp/cedet/srecode/dictionary.el (srecode-create-dictionary):
22443         Don't use a symbol as an object name.  Reported by Pierre Lorenzon.
22445 2015-05-10  Paul Eggert  <eggert@cs.ucla.edu>
22447         C-x 8 shorthands for curved quotes, Euro, etc.
22448         Although C-x 8 lets you insert arbitrary Unicode characters,
22449         it's awkward to use this to insert commonly used symbols such as curved
22450         quotes, the Euro symbol, etc.  This patch adds simpler sequences for
22451         characters commonly found in English text and in basic math.
22452         For example, assuming the Alt key works on your keyboard and iso-transl
22453         is loaded, one can now type "A-[" instead of "A-RET LEFT SIN TAB RET"
22454         to get the character "‘" (U+2018 LEFT SINGLE QUOTATION MARK).
22455         (Bug#20499)
22456         * doc/emacs/mule.texi (Unibyte Mode):
22457         A few other printing characters now work too.
22458         * etc/NEWS: Document this.
22459         * lisp/international/iso-transl.el (iso-transl-char-map):
22460         Also support the following characters:
22461         ‐ ‑ ‒ – — ― ‘ ’ “ ” † ‡ • ′ ″ € № ← → ↔ − ≈ ≠ ≤ ≥
22463 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
22465         Add xref-find-regexp
22466         * lisp/progmodes/xref.el (xref-find-function): Describe the
22467         `matches' action.
22468         (xref-find-regexp): New command, using it.
22469         (xref-collect-references): Rename to xref-collect-matches.
22470         (xref--collect-reference): Rename to xref--collect-match.
22471         (xref-collect-matches, xref--collect-match): Accept new argument,
22472         KIND.  Update accordingly.
22473         (xref--regexp-to-extended): New function.
22474         * lisp/progmodes/elisp-mode.el (elisp-xref-find): Support the
22475         `matches' action.
22476         (elisp--xref-find-matches): Accept new argument.  Resolve a FIXME.
22477         * lisp/progmodes/etags.el (etags-xref-find):
22478         Support the `matches' action.
22479         (etags--xref-find-matches): New function.
22481 2015-05-10  Glenn Morris  <rgm@gnu.org>
22483         * Makefile.in: Fixes for recent change-history changes.
22484         (change-history-nocommit): Update footer regexp.
22485         Ensure output script stays executable.
22487 2015-05-10  Nicolas Petton  <nicolas@petton.fr>
22489         New version of `seq-let' based on a pcase pattern
22490         * lisp/emacs-lisp/seq.el (seq-let): Define the macro in terms of a
22491         pcase pattern if `pcase-defmacro' is defined (Emacs>=25.1).
22493 2015-05-10  Przemysław Wojnowski  <esperanto@cumego.com>
22495         Add basic HTML5 tags and a template
22496         * lisp/textmodes/sgml-mode.el: Basic HTML5 support.
22497         (html-tag-alist): Add HTML5 tags.
22498         (html-tag-help): Add new tags descriptions.
22499         (html-navigational-links): Template for nav links.
22500         (html-html5-template): Template for a HTML5 page.
22502 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
22504         semantic/symref/grep: Don't use word boundaries
22505         * lisp/cedet/semantic/symref/grep.el
22506         (semantic-symref-perform-search): Instead of wrapping input in
22507         word boundaries, check that the characters before and after are
22508         not word constituents.
22510         semantic/symref/grep: Support regexp search
22511         * lisp/cedet/semantic/symref.el
22512         (semantic-symref-hit-to-tag-via-buffer): Don't regexp-quote when
22513         the search type is regexp.
22514         * lisp/cedet/semantic/symref/grep.el
22515         (semantic-symref-perform-search): Support the regexp search type.
22516         Pass -E to Grep when it's used.
22518         semantic-symref-regexp: Allow to input an arbitrary string
22519         * lisp/cedet/semantic/symref/list.el (semantic-symref-regexp):
22520         Allow to input an arbitrary string interactively.
22522         Remove tag-symbol-match-p from etags-xref-find-definitions-tag-order
22523         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
22524         Remove tag-symbol-match-p from the default value
22525         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00292.html).
22527         Declare find-tag obsolete
22528         * lisp/progmodes/etags.el (find-tag): Declare obsolete in favor of
22529         xref-find-definitions.
22531 2015-05-10  Jan D  <jan.h.d@swipnet.se>
22533         Draw composite string correctly (Bug#20537)
22534         * src/nsterm.m (ns_draw_composite_glyph_string_foreground):
22535         New function.
22536         (ns_draw_glyph_string): Call it.
22538 2015-05-09  Eli Zaretskii  <eliz@gnu.org>
22540         Avoid infloop in ERC
22541         * lisp/simple.el (line-move-to-column): Ignore field boundaries
22542         while computing line beginning position.  (Bug#20498)
22544 2015-05-08  Glenn Morris  <rgm@gnu.org>
22546         * Makefile.in (ChangeLog): No longer pass "srcprefix"; cd instead.
22547         * build-aux/gitlog-to-emacslog: Check called from right directory.
22548         (srcprefix): Remove.
22550         * build-aux/gitlog-to-emacslog: Get rid of "distprefix".
22551         * Makefile.in (ChangeLog): No longer pass "distprefix".
22552         * make-dist: Update "make ChangeLog" syntax for the above change.
22554         * build-aux/gitlog-to-emacslog: Don't hard-code "ChangeLog.2".
22555         * Makefile.in (ChangeLog): Pass -n to gitlog-to-emacslog.
22557         * build-aux/gitlog-to-emacslog: Add "for earlier changes" to footer.
22559         Add command-line option-parsing to gitlog-to-emacslog
22560         * build-aux/gitlog-to-emacslog: Add command-line options.
22561         By default, refuse to remove an existing output file.
22562         * Makefile.in (CHANGELOG): Update default.
22563         (ChangeLog): Do not test for existing file.
22564         (change-history-nocommit): Ensure temp file does not exist.
22566         Quieten --without-x compilation
22567         * lisp/term/common-win.el: Provide a feature.
22568         * lisp/term/x-win.el (term/common-win): Require it.
22570         * lisp/dired-aux.el (dired-do-print): Require lpr.
22572         Quieten compilation, eg in --without-x builds
22573         * lisp/dired-aux.el (lpr-printer-switch):
22574         * lisp/frame.el (tool-bar-height):
22575         * lisp/linum.el (font-info):
22576         * lisp/window.el (font-info, overflow-newline-into-fringe)
22577         (tool-bar-height):
22578         * lisp/emacs-lisp/package-x.el (tar-data-buffer):
22579         * lisp/gnus/gnus-util.el (iswitchb-mode):
22580         * lisp/mail/rmailmm.el (libxml-parse-html-region):
22581         * lisp/net/nsm.el (gnutls-peer-status)
22582         (gnutls-peer-status-warning-describe):
22583         * lisp/net/shr.el (libxml-parse-xml-region):
22584         * lisp/url/url-http.el (gnutls-peer-status): Declare.
22586 2015-05-08  Stefan Monnier  <monnier@iro.umontreal.ca>
22588         CEDET (srecode-pop, srecode-peek): Don't use `subclass'
22589         * lisp/cedet/srecode/insert.el (srecode-pop, srecode-peek): Don't use
22590         `subclass' since they're never called with a class.
22591         (srecode-insert-method, srecode-insert-subtemplate): Avoid obsolete
22592         srecode-dictionary-child-p.
22594 2015-05-08  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
22596         * lisp/help.el (help--binding-locus): Document argument POSITION.
22597         (Bug#20530)
22599 2015-05-08  Paul Eggert  <eggert@cs.ucla.edu>
22601         Merge from gnulib
22602         * doc/misc/texinfo.tex: Get latest version.
22604 2015-05-08  Oleh Krehel  <ohwoeowho@gmail.com>
22606         ffap.el (ffap-read-file-or-url): Fix completing-read call
22607         * lisp/ffap.el (ffap-read-file-or-url): The HIST argument of
22608         `completing-read' should be a symbol.
22610 2015-05-08  Eli Zaretskii  <eliz@gnu.org>
22612         Verify file modifications by other programs
22613         * src/filelock.c (lock_file): Check whether the file was modified
22614         since it was visited even if 'create-lockfiles' is nil.  (Bug#18828)
22616         Fix keyboard macros that include function keys
22617         * src/keyboard.c (read_char_minibuf_menu_prompt): Record function
22618         keys in the macro before returning.  (Bug#20454)
22620 2015-05-08  Glenn Morris  <rgm@gnu.org>
22622         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
22623         "Copyright-paperwork-exempt".  (Bug#20324)
22625         * lisp/vc/log-edit.el: Handle "(tiny change)".  (Bug#20324)
22626         (log-edit-rewrite-tiny-change): New variable.
22627         (log-edit-insert-changelog): Maybe add "Copyright-paperwork-exempt".
22628         (log-edit-changelog-ours-p): Set log-edit-author to a cons.
22629         * etc/NEWS: Mention this.
22631         * lisp/calc/calc.el (math-zerop): Declare.
22633         * lisp/emacs-lisp/eieio-opt.el (help-fns-short-filename): Declare.
22635 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
22637         * lisp/emacs-lisp/subr-x.el (if-let): Fix debug spec.
22638         Support the case when BINDINGS is a single tuple.  (Bug#20525)
22640         * etc/NEWS: Fix typo in previous commit
22641         (14bb519f1034ddb38ce375cbad7095d9b07f8b26).
22643 2015-05-07  Jan D  <jan.h.d@swipnet.se>
22645         * configure.ac: Warn for multiple display crash for all Gtk+ versions.
22646         Output URL to Gtk+ bug (Bug#20452).
22648         * lisp/term/ns-win.el (ns-paste-secondary): Use gui-get-selection.
22650 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
22652         * lisp/emacs-lisp/package.el: New "external" package status.
22653         An external package is any installed package that's not built-in
22654         and not from `package-user-dir', which usually means it's from an
22655         entry in `package-directory-list'.  They are treated much like
22656         built-in packages, in that they cannot be through the Package Menu
22657         deleted and are not considered for upgrades.
22658         (package-desc-status): Identify if a package is installed outside
22659         `package-user-dir'.
22660         (package-menu--print-info-simple)
22661         (package-menu--status-predicate): Add support for it.
22662         * etc/NEWS: Document it.
22664 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
22666         * lisp/mail/rmail.el: Use lexical-binding.
22667         (rmail-bury): Remove unused var `buffer-to-bury'.
22668         (rmail-get-new-mail): Remove unused vars `opoint' and `success'.
22669         (rmail-parse-url): Remove unused var `proto', `user', and `host'.
22670         (rmail-unrmail-new-mail-maybe): Remove unused var `new-file'.
22671         (rmail-insert-inbox-text): Remove unused var `movemail'.
22672         (rmail-add-mbox-headers): Remove unused var `limit'.
22673         (rmail-undelete-previous-message): Remove unused var `value'.
22674         (rmail-reply): Remove unused vars `resent-to', `resent-cc',
22675         `resent-reply-to'.
22676         (rmail-mime-mbox-buffer, rmail-mime-view-buffer): Declare.
22677         (rmail-restore-desktop-buffer): Rename arguments.
22679 2015-05-06  Glenn Morris  <rgm@gnu.org>
22681         * Makefile.in (change-history-commit): Add missing piece of previous.
22683         Avoid unnecessary bumping of Makefile.in's timestamp
22684         * Makefile.in (gen_origin): Move to gitlog-to-emacslog.
22685         (emacslog): New variable.
22686         (ChangeLog): Use $emacslog.  Don't pass $gen_origin.
22687         (unchanged-history-files): Use $emacslog rather than Makefile.in.
22688         (change-history-nocommit): Store hash in $emacslog.
22689         * build-aux/gitlog-to-emacslog (gen_origin): Move default here.
22690         * admin/update_autogen (changelog_files): Update for the above.
22692         * Makefile.in: Don't always insist on removing existing "ChangeLog".
22693         (CHANGELOG): New variable.
22694         (no-ChangeLog): Remove.
22695         (ChangeLog): Replace "no-ChangeLog"; pass output file to script.
22696         (change-history-nocommit): Use a temp file rather than insisting
22697         on deletion of any existing "ChangeLog".
22699         * build-aux/gitlog-to-emacslog: Allow specification of output.
22701         * admin/update_autogen: Add option to update ChangeLog.
22702         (usage): Mention -H.
22703         (changelog_flag, changelog_n, changelog_files): New variables.
22704         (main): Check for -H, and maybe run change-history-nocommit.
22706 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
22708         * lisp/subr.el (delete-dups): Pre-size the hashtable.
22710         * lisp/emacs-lisp/cl.el (define-modify-macro): Make sure
22711         cl--arglist-args is defined (bug#20517).
22713 2015-05-06  Glenn Morris  <rgm@gnu.org>
22715         * Makefile.in (change-history-nocommit): New.
22717 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
22719         * lisp/cedet/pulse.el (pulse-momentary-unhighlight): Only cancel
22720         timer when it is non-nil
22721         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00223.html).
22723 2015-05-06  Glenn Morris  <rgm@gnu.org>
22725         Quieten CEDET compilation
22726         * lisp/cedet/semantic/db-el.el (semanticdb-elisp-sym->tag):
22727         Invert fboundp test to quieten on current Emacs.
22728         * lisp/cedet/ede/config.el (ede-shell-run-something)
22729         (semanticdb-file-table-object, semanticdb-needs-refresh-p)
22730         (semanticdb-refresh-table): Declare.
22731         (ede-preprocessor-map): Require semantic/db.
22733         Quieten cc-mode compilation
22734         * lisp/progmodes/cc-awk.el (c-forward-sws):
22735         * lisp/progmodes/cc-cmds.el (c-forward-subword, c-backward-subword):
22736         Declare.
22738 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
22740         * lisp/subr.el (delete-dups): Avoid nreverse.
22742 2015-05-06  Artur Malabarba  <bruce.connor.am@gmail.com>
22744         * lisp/subr.el (delete-dups): Make it destructive again.
22746 2015-05-06  Paul Eggert  <eggert@cs.ucla.edu>
22748         * doc/lispref/sequences.texi (Sequence Functions): Fix quoting.
22750 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
22752         * lisp/emacs-lisp/testcover.el: Don't use edebug--read (bug#20487).
22753         * lisp/emacs-lisp/testcover.el: Use lexical-binding.
22754         (testcover--read): Rename from testcover-read.  Change calling
22755         convention.  Use edebug-read-and-maybe-wrap-form now that edebug-read
22756         is gone.
22757         (testcover-start): Use add-function.  Move edebug-all-defs binding to
22758         testcover--read.
22759         (testcover-this-defun): Tighten scope of edebug-all-defs binding.
22760         (testcover-mark): Remove unused var `item'.
22761         * src/lread.c (syms_of_lread): Default load-read-function to `read'.
22763 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
22765         * lisp/subr.el (delete-dups): When there are more than 100 candidates,
22766           use a hash table.  This can result in ~500 times speed-up for typical
22767           collections of size 5000, like that of `load-library'.
22769 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
22771         CEDET: Avoid `oref' on classes in a few more cases
22772         * lisp/cedet/ede/generic.el (ede-find-target):
22773         * lisp/cedet/ede.el (ede-project-forms-menu): Avoid `oref' on classes.
22774         * lisp/cedet/semantic/bovine/gcc.el (semantic-gcc-setup): Remove unused
22775         var `prefix'.
22777         * lisp/cedet/semantic/symref/grep.el: Fix unused var warnings.
22778         (grepflags, greppattern): Declare.
22779         (semantic-symref-perform-search): Remove unused var `pat'.
22781         CEDET (srecode-compile-inserter): Avoid `oref' on classes
22782         * lisp/cedet/srecode/compile.el (srecode-compile-inserter):
22783         Avoid `oref' on classes (bug#20491).
22784         (srecode-compile-split-code): Remove unused var `key'.
22786 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
22788         Clean up pulse.el a little
22789         * lisp/cedet/pulse.el (pulse): Remove.
22790         (pulse-momentary-timer): Save instead of the stop time.
22791         (pulse-momentary-highlight-overlay):
22792         Call pulse-momentary-unhighlight first thing.
22793         Treat pulse-momentary-overlay as a single value, not a list.
22794         Save the created timer.  Only pass the stop time to the timer.
22795         (pulse-tick): Update accordingly.
22796         (pulse-momentary-unhighlight): Treat pulse-momentary-overlay as a
22797         single value.  Cancel the timer.
22799 2015-05-06  Tassilo Horn  <tsdh@gnu.org>
22801         * lisp/textmodes/reftex-cite.el (reftex-format-bib-entry):
22802         Support the biblatex journaltitle field.
22804 2015-05-05  Glenn Morris  <rgm@gnu.org>
22806         Minor declare-function improvement
22807         * lisp/emacs-lisp/bytecomp.el
22808         (byte-compile-macroexpand-declare-function):
22809         Handle declarations after calls.  (Bug#20509)
22811         * lisp/progmodes/js.el (js--optimize-arglist): Remove declaration.
22813         * lisp/w32-fns.el (w32-shell-name): Silence compiler.
22815 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
22817         Pulse using a timer
22818         * lisp/cedet/pulse.el (pulse-momentary-stop-time): New variable.
22819         (pulse-momentary-highlight-overlay): Set up the timer instead of
22820         calling `pulse'
22821         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/).
22822         (pulse-tick): New function.
22823         (pulse-momentary-unhighlight): Cut off the stop time.
22824         (pulse-delay): Update the docstring WRT to not using sit-for.
22826         Add semantic/symref/grep file patterns for ruby-mode
22827         * lisp/cedet/semantic/symref/grep.el
22828         (semantic-symref-filepattern-alist): Add patterns for ruby-mode.
22829         Clarify the docstring.
22831         Don't require match
22832         * lisp/progmodes/xref.el (xref--read-identifier): Don't require
22833         match.  That doesn't work for every command, and some identifier
22834         completion tables are bound to be imperfect anyway.
22836 2015-05-05  Stefan Monnier  <monnier@iro.umontreal.ca>
22838         * lisp/cedet/semantic/grammar.el: Fix compiler warnings (bug#20505).
22839         (semantic-grammar--template-expand): New function.
22840         (semantic-grammar-header, semantic-grammar-footer): Use it.
22841         (semantic-grammar--lex-block-specs): Remove unused var `block-spec'.
22842         (semantic-grammar-file-regexp): Refine regexp.
22843         (semantic-grammar-eldoc-get-macro-docstring):
22844         Use elisp-get-fnsym-args-string when available.
22845         (semantic-idle-summary-current-symbol-info): Use new elisp-* names
22846         instead of the old eldoc-* names.
22847         * lisp/emacs-lisp/eldoc.el (eldoc-docstring-format-sym-doc): Move back
22848         from elisp-mode.el.  Tweak calling convention.
22849         * lisp/progmodes/elisp-mode.el (package-user-dir): Declare.
22850         (elisp-get-fnsym-args-string): Add `prefix' argument.  Rename from
22851         elisp--get-fnsym-args-string.
22852         (elisp--highlight-function-argument): Add `prefix' arg.
22853         (elisp-get-var-docstring): Rename from elisp--get-var-docstring.
22854         (elisp--docstring-format-sym-doc): Move back to eldoc.el.
22856 2015-05-05  Glenn Morris  <rgm@gnu.org>
22858         * lisp/help-fns.el (describe-function-1):
22859         Handle builtins with advertised calling conventions.  (Bug#20479)
22861 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
22863         Merge branch 'seq-let'
22865         Update `seq-let' documentation
22866         * doc/lispref/sequences.texi: Update the documentation of `seq-let'
22867         with the support of  `&rest'.
22869         Add support for &rest in `seq-let'
22870         * lisp/emacs-lisp/seq.el (seq--make-bindings): Add support for `&rest'
22871         in the argument list.
22872         * test/automated/seq-tests.el: Add a test for parsing and binding
22873         `&rest' in `seq-let'.
22875 2015-05-05  Pierre Lorenzon  <devel@pollock-nageoire.net>  (tiny change)
22877         * lisp/emacs-lisp/eieio-custom.el (eieio-object-value-get):
22878         Add missing increment (Bug#20467).
22879         (eieio-object-value-create): Adjust to new slots representation
22880         (Bug#20467).
22881         (eieio-object-value-create): Fix missed adjustment to new
22882         representation of slots metadata.
22884 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
22886         * lisp/emacs-lisp/seq.el (seq--make-bindings): Improve the docstring.
22888 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
22890         Work around "Attempt to modify read-only object"
22891         * lisp/progmodes/elisp-mode.el (elisp--xref-format): Extract from
22892         elisp--xref-find-definitions, to work around "Attempt to modify
22893         read-only object" error.
22895         Only skip some variables that have function counterparts
22896         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
22897         Only skip minor-mode-named variable if it's defined in a Lisp
22898         file, and it's in minor-mode-list (bug#20506).
22899         * test/automated/elisp-mode-tests.el
22900         (elisp-xref-finds-both-function-and-variable)
22901         (elisp-xref-finds-only-function-for-minor-mode): New tests.
22903 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
22905         * lisp/progmodes/xref.el (xref--location-at-point): Revert the
22906         previous change.
22907         (xref--insert-xrefs): Buttonize the whole line, including the
22908         number at the beginning.
22910         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
22911         Make sure we're inside the let bindings.
22912         * test/automated/elisp-mode-tests.el
22913         (elisp-completes-functions-after-let-bindings): New test.
22915 2015-05-04  Glenn Morris  <rgm@gnu.org>
22917         * lisp/cedet/semantic/grammar.el (eldoc-function-argstring)
22918         (eldoc-docstring-format-sym-doc, eldoc-last-data-store)
22919         (eldoc-get-fnsym-args-string, eldoc-get-var-docstring):
22920         Remove outdated declarations.
22922         Replace instances of "(eval-when-compile (autoload ...))"
22923         * lisp/gnus/gnus-art.el (nneething-get-file-name):
22924         Declare rather than autoload.
22925         * lisp/gnus/gnus-async.el (gnus-html-prefetch-images):
22926         Remove pointless autoload.
22927         * lisp/gnus/gnus-sync.el (gnus-group-topic): Autoload at run-time.
22928         (gnus-topic-create-topic, gnus-topic-enter-dribble):
22929         Declare rather than autoload.
22930         * lisp/gnus/mm-archive.el (gnus-recursive-directory-files)
22931         (mailcap-extension-to-mime): Autoload at run-time.
22932         * lisp/gnus/mm-util.el (latin-unity-massage-name)
22933         (latin-unity-maybe-remap, latin-unity-representations-feasible-region)
22934         (latin-unity-representations-present-region):
22935         Declare rather than autoload.
22936         * lisp/gnus/mml-smime.el (epg-make-context)
22937         (epg-passphrase-callback-function): Autoload at run-time.
22938         (epg-context-set-signers, epg-context-result-for)
22939         (epg-new-signature-digest-algorithm)
22940         (epg-verify-result-to-string, epg-list-keys, epg-verify-string)
22941         (epg-sign-string, epg-encrypt-string)
22942         (epg-context-set-passphrase-callback, epg-sub-key-fingerprint)
22943         (epg-configuration, epg-expand-group, epa-select-keys):
22944         Declare rather than autoload.
22945         * lisp/gnus/nnir.el (nnimap-change-group, nnimap-make-thread-query):
22946         Autoload at run-time.
22947         (gnus-group-topic-name, nnimap-buffer, nnimap-command)
22948         (gnus-registry-get-id-key, gnus-registry-action):
22949         Declare rather than autoload.
22950         * lisp/gnus/nnmail.el (mail-send-and-exit): Autoload at run-time.
22951         * lisp/gnus/spam.el (spam-stat-buffer-change-to-non-spam)
22952         (spam-stat-buffer-change-to-spam, spam-stat-buffer-is-non-spam)
22953         (spam-stat-buffer-is-spam, spam-stat-load, spam-stat-save)
22954         (spam-stat-split-fancy): Remove pointless autoloads.
22955         * lisp/net/mairix.el: Load gnus-util when compiling.
22956         (gnus-group-read-ephemeral-group, gnus-summary-toggle-header)
22957         (message-field-value): Declare rather than autoload.
22958         (mairix-gnus-ephemeral-nndoc, mairix-gnus-fetch-field):
22959         Check gnus-alive-p is fbound.
22960         (vm-quit, vm-visit-folder, vm-select-folder-buffer)
22961         (vm-check-for-killed-summary, vm-error-if-folder-empty)
22962         (vm-get-header-contents, vm-select-marked-or-prefixed-messages):
22963         Declare rather than autoload.
22965         * lisp/gnus/mm-view.el (epg-decrypt-string): Autoload.
22967         * lisp/gnus/mml-smime.el (epg-key-sub-key-list)
22968         (epg-sub-key-capability, epg-sub-key-validity): Fix declarations.
22970         * lisp/progmodes/elisp-mode.el (xref-collect-references): Declare.
22972         * lisp/emacs-lisp/debug.el (help-xref-interned): Update declaration.
22974         * lisp/allout.el (epg-user-id-string, epg-key-user-id-list):
22975         * lisp/emacs-lisp/package.el (epg-signature-status):
22976         Fix declarations.
22978         * lisp/play/gametree.el (gametree-show-children-and-entry)
22979         (gametree-apply-layout, gametree-mouse-show-subtree)
22980         (gametree-mouse-hide-subtree): Replace obsolete outline aliases.
22982         * lisp/emacs-lisp/check-declare.el (check-declare-verify):
22983         Handle cl-defgeneric, cl-defmethod.
22985 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
22987         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
22988         Highlight both type and symbol name.
22990         Insert, highlight and align line numbers in xref output
22991         * lisp/progmodes/etags.el (xref-location-line): Specialize for
22992         xref-etags-location.
22993         * lisp/progmodes/xref.el (xref-location-line): New generic method.
22994         (xref-file-location): Add reader for the line slot.
22995         (xref--location-at-point): Skip to the `xref-location' property.
22996         (xref--collect-reference): Drop the line number from description.
22997         (xref--insert-xrefs): Insert, highlight and align line numbers.
22999 2015-05-04  Daniel Colascione  <dancol@dancol.org>
23001         * lisp/simple.el (save-mark-and-excursion--save)
23002         (save-mark-and-excursion--restore): Fix previous commit
23003         (255a011f0ecf004b31c59945b10154b10fac3af1).
23005 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
23007         Don't pulse the indentation, or the newline
23008         * lisp/cedet/pulse.el (pulse-lighten-highlight)
23009         (pulse-reset-face): Fall back to the inherited background
23010         attribute in FACE.
23011         (pulse-momentary-highlight-region): Add autoload cookie.
23012         * lisp/progmodes/xref.el (xref--maybe-pulse): Don't highlight the
23013         indentation, or the newline, if the line's non-empty
23014         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00118.html).
23016 2015-05-04  Daniel Colascione  <dancol@dancol.org>
23018         Add `save-mark-and-excursion', which has the old
23019         `save-excursion' behavior
23020         * doc/lispref/positions.texi (Excursions):
23021         Document `save-mark-and-excursion'.
23022         * lisp/font-lock.el (font-lock-fontify-block):
23023         Use `save-mark-and-excursion' instead of `save-excursion',
23024         restoring Emacs 24 behavior.
23025         * lisp/simple.el (save-mark-and-excursion--save)
23026         (save-mark-and-excursion--restore): New functions.
23027         (save-mark-and-excursion): New user macro.
23028         * src/editfns.c (Fsave_excursion): Mention `save-mark-and-excursion'
23029         in `save-excursion' documentation.
23031 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
23033         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
23034         Classify lone symbol inside let varlist as variable.
23035         * test/automated/elisp-mode-tests.el
23036         (completest-variables-in-let-bindings): New test.
23038         Add xref-pulse-on-jump
23039         * lisp/cedet/pulse.el (pulse-momentary-highlight-one-line):
23040         Add autoload cookie.
23041         * lisp/progmodes/xref.el (xref-pulse-on-jump): New option.
23042         (xref--maybe-pulse): New function.
23043         (xref-pop-marker-stack, xref--pop-to-location)
23044         (xref--display-position): Use it.
23045         (xref--location-at-point): Use back-to-indentation.
23047 2015-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
23049         lisp/org/org-{macs,list}.el: Fix lexical warnings
23050         * lisp/org/org-list.el (org-list-struct): Remove unused var `ind'.
23051         (org-list-get-next-item, org-list-get-prev-item)
23052         (org-list-get-children): Mark unused arg `struct'.
23053         (org-list-use-alpha-bul-p): Remove unused var `bul'.
23054         (org-toggle-checkbox): Mark unused var.
23055         (org-update-checkbox-count): Remove unused var `box-num'.
23056         (org-adapt-indentation): Declare.
23057         (org-list-parse-list): Declare var instead of adding a dummy duplicate.
23058         (org-list-send-list): Remove unused var `txt'.
23059         (org-list-to-latex, org-list-to-texinfo): Mark unused arg `params'.
23060         (org-list-to-subtree): Add prefix to dyn-bind var, and declare them.
23061         * lisp/org/org-macs.el: Use `declare'.
23062         (org-with-limited-levels): Declare dyn-bound vars.
23064 2015-05-04  Eli Zaretskii  <eliz@gnu.org>
23066         Fix minor issues with CEDET on MS-Windows
23067         * lisp/cedet/semantic/symref/idutils.el
23068         (semantic-symref-parse-tool-output-one-line): Fix the search
23069         regexp to match MS-Windows file names with drive letters.
23070         (Bug#19468)
23071         * lisp/cedet/semantic/symref/grep.el
23072         (semantic-symref-grep-use-template): Remove "--color=always" from
23073         Grep switches on MS-Windows.
23074         (semantic-symref-grep-shell): Use shell-file-name as the default
23075         value, so this works not only on Posix platforms.
23076         (semantic-symref-perform-search): Use shell-quote-argument instead
23077         of literal '..' for portable quoting of Grep command-line
23078         argument.  Use shell-command-switch instead of a literal "-c".
23079         * lisp/cedet/semantic/bovine/gcc.el
23080         (semantic-gcc-get-include-paths): Use file-name-absolute-p to test
23081         for an absolute file name in a portable way.
23083 2015-05-04  Artur Malabarba  <bruce.connor.am@gmail.com>
23085         * lisp/emacs-lisp/package.el: Remove `package--silence' variable.
23086         (package-import-keyring, package-refresh-contents)
23087         (package-compute-transaction, package--save-selected-packages)
23088         (package-install-from-archive, package-delete)
23089         (package-menu--perform-transaction): Use `inhibit-message' instead.
23090         (package--compile): Set `warning-minimum-level' to :error.
23092 2015-05-03  Stefan Monnier  <monnier@iro.umontreal.ca>
23094         * lisp/term/screen.el (xterm-screen-extra-capabilities): New custom.
23095         (terminal-init-screen): Use it (bug#20356).
23096         * lisp/term/xterm.el: Provide `term/xterm' instead of `xterm'.
23097         (xterm--extra-capabilities-type): New const.
23098         (xterm-extra-capabilities): Use it.
23099         (xterm--version-handler): Lower the pseudo-version for `screen'.
23101 2015-05-03  Dmitry Gutov  <dgutov@yandex.ru>
23103         * lisp/progmodes/xref.el (xref--insert-xrefs): Tweak the faces.
23104         Always insert a newline at the end (to avoid mouse-face background
23105         tail at the last line).
23107         elisp-completion-at-point: Prioritize being quoted over funpos
23108         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
23109         Only consider function position when not inside quoted form
23110         (bug#20425).
23111         * test/automated/elisp-mode-tests.el: New file.
23113         Stop vc-print-log from jumping to the top
23114         * lisp/vc/vc.el (vc-print-log-internal): Pass nil
23115         GOTO-LOCATION-FUNC to vc-log-internal-common when WORKING-REVISION
23116         is not specified.
23117         (vc-incoming-outgoing-internal): Always pass nil.
23118         (vc-log-internal-common): When GOTO-LOCATION-FUNC is nil, don't
23119         call it, and don't set vc-sentinel-movepoint (bug#15322).
23120         (vc-print-root-log): Don't fetch the root working revision, nor
23121         pass it to vc-print-log-internal.
23123 2015-05-02  Michael Vehrs  <Michael.Burschik@gmx.de>
23125         Fix display of keyboard layouts for right-to-left scripts
23126         * lisp/international/quail.el (quail-insert-kbd-layout):
23127         Force left-to-right paragraph direction.
23129 2015-05-02  K. Handa  <handa@gnu.org>
23131         * src/cmds.c (internal_self_insert): When we insert spaces for
23132         padding, set point before the padding spaces, not after them.
23134 2015-05-02  Nicolas Petton  <nicolas@petton.fr>
23136         * lisp/emacs-lisp/seq.el (seq-p): New alias to `sequencep'.
23138 2015-05-02  Dmitry Gutov  <dgutov@yandex.ru>
23140         Fix etags-xref-find for references
23141         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references):
23142         Use `cl-mapcan'.
23143         * lisp/progmodes/etags.el (etags-xref-find): Ditto.  Prompt for
23144         directory if no tags tables are loaded (bug#19468).
23146 2015-05-02  Philipp Stephani  <phst@google.com>
23148         Update the options in whitespace-style defcustom
23149         * lisp/whitespace.el (whitespace-style): Use `set' instead of a
23150         `repeat' because the option is really set-like.  Add missing
23151         options.  Reorder options to match the order in the
23152         documentation.  (Bug#20346)
23154 2015-05-02  Eli Zaretskii  <eliz@gnu.org>
23156         Fix error diagnostics of c-macro-expand
23157         * lisp/progmodes/cmacexp.el (c-macro-expansion): Don't bail out
23158         too early if no start-marker string was found -- that generally
23159         means cpp exited abnormally, and we still want to show its error
23160         messages to the user.
23162         Don't require Texinfo 5.0 for Emacs documentation
23163         * doc/emacs/docstyle.texi: Use "@set txicodequoteundirected" and
23164         "@set txicodequotebacktick" instead of "@codequotebacktick on" and
23165         "@codequoteundirected on", respectively, to avoid requiring
23166         Texinfo 5.x for Emacs documentation.
23168 2015-05-01  Simen Heggestøyl  <simenheg@gmail.com>
23170         * lisp/files.el (pwd):
23171         When called with a prefix argument, insert the current default
23172         directory at point.
23174 2015-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>
23176         * lisp/isearch.el (isearch-mode-map): Allow backspace remapping
23177         * lisp/isearch.el (isearch-mode-map): Don't inhibit
23178         function-key-map remapping for backspace (bug#20466).
23180 2015-05-01  Dmitry Gutov  <dgutov@yandex.ru>
23182         Implement xref-find-references in etags and elisp-mode
23183         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): New function.
23184         (elisp-xref-find): Use it.
23185         * lisp/progmodes/etags.el (etags-xref-find): Use `xref-collect-references'.
23186         * lisp/progmodes/xref.el (xref-collect-references):
23187         (xref--collect-reference): New functions.
23189 2015-05-01  Paul Eggert  <eggert@cs.ucla.edu>
23191         Prefer plain characters to Texinfo circumlocutions
23192         For example, prefer 'François' to 'Fran\c{c}ois', 'Fran\c cois',
23193         'Fran@,{c}ois' or 'Francois' (all of which were used!) in Texinfo sources.
23195         Fix single-quoting style in PDF manuals
23196         The PDF versions of the GNU manuals used curved single quotes to
23197         represent grave accent and apostrophe, which made it a pain to cut
23198         and paste code examples from them.  Fix the PDF versions to use
23199         grave accent and apostrophe for Lisp source code, keystrokes, etc.
23200         This change does not affect the info files, nor does it affect
23201         ordinary uses of curved single quotes in PDF.
23202         * doc/emacs/docstyle.texi: New file, which specifies treatment for
23203         grave accent and apostrophe, as well as the document encoding.
23204         * doc/emacs/emacs-xtra.texi, doc/emacs/emacs.texi:
23205         * doc/lispintro/emacs-lisp-intro.texi:
23206         * doc/lispref/back.texi, doc/lispref/book-spine.texi:
23207         * doc/lispref/elisp.texi, doc/lispref/lay-flat.texi:
23208         * doc/misc/ada-mode.texi, doc/misc/auth.texi:
23209         * doc/misc/autotype.texi, doc/misc/bovine.texi, doc/misc/calc.texi:
23210         * doc/misc/cc-mode.texi, doc/misc/cl.texi, doc/misc/dbus.texi:
23211         * doc/misc/dired-x.texi, doc/misc/ebrowse.texi, doc/misc/ede.texi:
23212         * doc/misc/ediff.texi, doc/misc/edt.texi, doc/misc/efaq-w32.texi:
23213         * doc/misc/efaq.texi, doc/misc/eieio.texi, doc/misc/emacs-gnutls.texi:
23214         * doc/misc/emacs-mime.texi, doc/misc/epa.texi, doc/misc/erc.texi:
23215         * doc/misc/ert.texi, doc/misc/eshell.texi, doc/misc/eudc.texi:
23216         * doc/misc/eww.texi, doc/misc/flymake.texi, doc/misc/forms.texi:
23217         * doc/misc/gnus-coding.texi, doc/misc/gnus-faq.texi:
23218         * doc/misc/gnus.texi, doc/misc/htmlfontify.texi:
23219         * doc/misc/idlwave.texi, doc/misc/ido.texi, doc/misc/info.texi:
23220         * doc/misc/mairix-el.texi, doc/misc/message.texi, doc/misc/mh-e.texi:
23221         * doc/misc/newsticker.texi, doc/misc/nxml-mode.texi:
23222         * doc/misc/octave-mode.texi, doc/misc/org.texi, doc/misc/pcl-cvs.texi:
23223         * doc/misc/pgg.texi, doc/misc/rcirc.texi, doc/misc/reftex.texi:
23224         * doc/misc/remember.texi, doc/misc/sasl.texi, doc/misc/sc.texi:
23225         * doc/misc/semantic.texi, doc/misc/ses.texi, doc/misc/sieve.texi:
23226         * doc/misc/smtpmail.texi, doc/misc/speedbar.texi:
23227         * doc/misc/srecode.texi, doc/misc/todo-mode.texi, doc/misc/tramp.texi:
23228         * doc/misc/url.texi, doc/misc/vhdl-mode.texi, doc/misc/vip.texi:
23229         * doc/misc/viper.texi, doc/misc/widget.texi, doc/misc/wisent.texi:
23230         * doc/misc/woman.texi:
23231         Use it instead of '@documentencoding UTF-8', to lessen the need for
23232         global changes like this in the future.
23233         * doc/emacs/Makefile.in (EMACS_XTRA):
23234         * doc/lispintro/Makefile.in (srcs):
23235         * doc/lispref/Makefile.in (srcs):
23236         Add dependency on docstyle.texi.
23237         * doc/misc/Makefile.in (style): New macro.
23238         (${buildinfodir}/%.info, %.dvi, %.pdf, %.html)
23239         (${buildinfodir}/ccmode.info, ${buildinfodir}/efaq%.info, gnus_deps):
23240         Use it.
23242 2015-05-01  Glenn Morris  <rgm@gnu.org>
23244         * test/automated/cl-lib-tests.el (cl-lib-adjoin-test): Fix it.
23246         * lisp/emacs-lisp/pcase.el (get-edebug-spec, edebug-match)
23247         (help-fns--signature): Declare.
23249         * lisp/emacs-lisp/pcase.el (pcase--make-docstring): Require help-fns.
23251 2015-05-01  Nicolas Petton  <nicolas@petton.fr>
23253         New macro seq-let, providing destructuring support to seq.el
23254         * lisp/emacs-lisp/seq.el (seq-let): New macro.  `seq-let' is similar
23255         to `cl-destructuring-bind' but works on all sequence types supported
23256         by `seq.el'.  Bump version number to 1.6.
23257         * test/automated/seq-tests.el: Add tests for seq-let.
23258         * doc/lispref/sequences.texi: Add documentation for seq-let.
23260 2015-05-01  Pontus Michael  <m.pontus@gmail.com>
23262         * lisp/simple.el (blink-matching-open): Better behavior in minibuffer.
23264 2015-05-01  Glenn Morris  <rgm@gnu.org>
23266         * lisp/emacs-lisp/ert.el (ert--special-operator-p): Fix previous.
23268 2015-05-01  Artur Malabarba  <bruce.connor.am@gmail.com>
23270         * lisp/emacs-lisp/bytecomp.el: Revert "Silence noninteractive compilations"
23271         This reverts commit 9a7ddde977378cb5276a81476ae458889c403267.
23272         This reverts commit 3c0ea587daf8b17960b90603a70e3ac4057d883d.
23273         With message: "* lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'".
23274         (Bug#20445).
23276 2015-05-01  K. Handa  <handa@gnu.org>
23278         * lisp/international/mule-cmds.el (input-method-use-echo-area):
23279         Change :type to 'boolean.
23281 2015-05-01  Lars Magne Ingebrigtsen  <larsi@gnus.org>
23283         Start using proportional fonts in eww by default
23284         * lisp/net/shr.el (shr-use-fonts): Switch the default to t, since
23285         it seems to work well.
23287         Fix links in tables in shr
23288         * lisp/net/shr.el: Remove `shr-inhibit-decoration', because that
23289         makes (some) links in tables not work.
23291 2015-05-01  Jan D  <jan.h.d@swipnet.se>
23293         * lisp/term/ns-win.el (ns-get-cut-buffer-internal): Remove this alias.
23295 2015-04-30  Glenn Morris  <rgm@gnu.org>
23297         * lisp/emacs-lisp/ert.el (ert--special-operator-p):
23298         Update for 2015-02-08 change to indirect-function.
23300         * lisp/term/ns-win.el (ns-get-selection-internal):
23301         Remove declaration for function deleted 2014-10-21.
23303         * lisp/dom.el: Load subr-x when compiling, for when-let.
23305         Silence some compilation warnings
23306         * lisp/emacs-lisp/check-declare.el (compilation-forget-errors):
23307         * lisp/emulation/cua-base.el (delete-active-region):
23308         * lisp/net/net-utils.el (w32-get-console-output-codepage):
23309         * lisp/term/ns-win.el (ns-own-selection-internal)
23310         (ns-disown-selection-internal, ns-selection-owner-p)
23311         (ns-selection-exists-p, ns-get-selection):
23312         Declare for compiler.
23314         Function declaration updates prompted by 'make check-declare'
23315         * lisp/emacs-lisp/package.el (lm-homepage):
23316         * lisp/gnus/gnus-util.el (iswitchb-read-buffer):
23317         * lisp/gnus/mm-decode.el (libxml-parse-html-region):
23318         * lisp/gnus/mml.el (libxml-parse-html-region):
23319         * lisp/gnus/nnrss.el (libxml-parse-html-region):
23320         * lisp/net/eww.el (libxml-parse-html-region):
23321         * lisp/net/shr.el (libxml-parse-html-region):
23322         * lisp/vc/vc-bzr.el (vc-annotate-convert-time):
23323         * lisp/vc/vc-cvs.el (vc-annotate-convert-time):
23324         * lisp/vc/vc-git.el (vc-annotate-convert-time):
23325         * lisp/vc/vc-hg.el (vc-annotate-convert-time):
23326         * lisp/vc/vc-mtn.el (vc-annotate-convert-time):
23327         * lisp/vc/vc-rcs.el (vc-annotate-convert-time):
23328         Update declaration.
23330         Remove compatibility code for 20-year old function renaming
23331         * lisp/progmodes/idlw-shell.el (idlwave-shell-comint-filter):
23332         Make it an obsolete alias.
23333         (idlwave-shell-filter): Change all uses to comint-output-filter.
23335 2015-04-30  Tassilo Horn  <tsdh@gnu.org>
23337         Add ace-window face config
23338         * etc/themes/tsdh-light-theme.el (tsdh-light): Add ace-window face
23339         configuration.
23341 2015-04-30  Paul Eggert  <eggert@cs.ucla.edu>
23343         Unclutter 'make doc' output a bit
23344         * Makefile.in ($(DOCS), $(INSTALL_DOC), $(UNINSTALL_DOC)):
23345         Use make subst rather than sh IFS to split target string apart.
23346         This makes 'make' output easier to follow.
23348         Merge from gnulib
23349         * doc/misc/texinfo.tex: Update from gnulib.
23351 2015-04-30  Artur Malabarba  <bruce.connor.am@gmail.com>
23353         * lisp/emacs-lisp/package.el: Some speed optimizations on menu refresh.
23354         (package-menu--print-info): Obsolete.
23355         (package-menu--print-info-simple): New function.
23356         (package-menu--refresh): Use it, simplify code, and improve
23357         performance.
23358         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
23359         Tiny performance improvement.
23361         * lisp/emacs-lisp/package.el (package--message): inhibit-message.
23363 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
23365         Omit -Wstrict-overflow workaround in GCC 5
23366         * src/process.c: Remove workaround for GCC -Wstrict-overflow bug
23367         if it's GCC 5 or later, as the bug appears to be fixed in GCC 5.1.
23369         Merge from gnulib
23370         This incorporates:
23371         2015-04-29 extern-inline: no need for workaround in GCC 5.1
23372         2015-04-26 file-has-acl: port to CentOS 6
23373         * m4/acl.m4, m4/extern-inline.m4: Update from gnulib.
23375 2015-04-29  Helmut Eller  <eller.helmut@gmail.com>
23377         Set next-error-* in xref--xref-buffer-mode
23378         * lisp/progmodes/xref.el (xref--xref-buffer-mode):
23379         Set `next-error-function' and `next-error-last-buffer'.
23380         (xref--next-error-function): New function.
23381         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01311.html)
23383 2015-04-29  Fabián Ezequiel Gallina  <fgallina@gnu.org>
23385         python.el: Fix warnings on looking-back calls missing LIMIT
23386         * lisp/progmodes/python.el (python-shell-accept-process-output):
23387         Pass LIMIT arg to looking-back.
23389 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
23391         * lisp/emacs-lisp/package.el: Use pushnew for downloads in progress.
23392         (package--download-and-read-archives): Use pushnew instead of
23393         append.  If something terrible happened during a previous
23394         download, simply refreshing should now make things work again.
23396 2015-04-29  Dmitry Gutov  <dgutov@yandex.ru>
23398         Introduce etags-xref-find-definitions-tag-order
23399         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
23400         New variable.
23401         (etags--xref-find-definitions): Use it (bug#19468).
23403 2015-04-29  Eli Zaretskii  <eliz@gnu.org>
23405         PATH- and completion-related fixes in Eshell on MS-Windows
23406         * lisp/eshell/esh-ext.el (eshell-search-path): When running on
23407         MS-Windows, prepend "." to list of directories produced from PATH,
23408         as Windows always implicitly searches the current directory first.
23409         (eshell-force-execution): Make it have a non-nil default value on
23410         MS-Windows and MS-DOS.
23411         * lisp/eshell/em-cmpl.el (eshell-complete-commands-list): If
23412         eshell-force-execution is non-nil, complete on readable files and
23413         directories, not only executables.  When running on MS-Windows,
23414         prepend "." to list of directories produced from PATH, as Windows
23415         always implicitly searches the current directory first.
23417 2015-04-29  Sam Steingold  <sds@gnu.org>
23419         Bury RCIRC buffers when there is no activity
23420         * lisp/net/rcirc.el (rcirc-non-irc-buffer): Remove.
23421         (rcirc-bury-buffers): New function.
23422         (rcirc-next-active-buffer): When there is no new activity, use
23423         `rcirc-bury-buffers' to hide all RCIRC buffers.
23425 2015-04-29  Krzysztof Jurewicz  <krzysztof.jurewicz@gmail.com>  (tiny change)
23427         Fix DBUS query result parsing for secrets-search-items
23428         * lisp/net/secrets.el (secrets-search-items): Fix DBUS query result
23429         parsing.  The function assumed that return value of the
23430         SearchItems method called on a collection is a list of two lists,
23431         however this is true only when no collection is specified.  GNOME
23432         had used to incorrectly return a list of two lists in both cases,
23433         but this was already fixed:
23434         https://bugzilla.gnome.org/show_bug.cgi?id=695115 .  Also fix an
23435         incorrect information in the secrets-search-items’ docstring.
23436         (Bug#20449)
23438 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
23440         * lisp/emacs-lisp/bytecomp.el (byte-compile--message):
23441         Use `inhibit-message' instead of hiding the previous message
23442         with (message nil).
23444 2015-04-29  Oleh Krehel  <ohwoeowho@gmail.com>
23446         Remove the deprecated INTERNAL_FIELD macro by expanding it
23447         * src/lisp.h (INTERNAL_FIELD): Remove.
23448         (DEFVAR_KBOARD): Modify accordingly.
23449         * src/alloc.c, src/buffer.c, src/buffer.h, src/category.c:
23450         * src/keyboard.c, src/keyboard.h, src/syntax.c: Adjust users.
23451         * src/buffer.c (compact_buffer): Use BVAR.
23453 2015-04-29  Glenn Morris  <rgm@gnu.org>
23455         Replace an obsolete function alias
23456         * lisp/isearch.el (isearch-yank-x-selection):
23457         * lisp/mouse-copy.el (mouse-drag-secondary-pasting)
23458         (mouse-drag-secondary-moving):
23459         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
23460         Replace obsolete alias x-get-selection with gui-get-selection.
23462 2015-04-29  Stefan Monnier  <monnier@iro.umontreal.ca>
23464         * lisp/mail/rmailsum.el: Use lexical-binding.
23466 2015-04-29  Glenn Morris  <rgm@gnu.org>
23468         * test/automated/package-test.el (package-test-update-archives-async):
23469         Skip test on hydra.nixos.org.
23471 2015-04-28  Glenn Morris  <rgm@gnu.org>
23473         * lisp/foldout.el: Update for 2015-01-30 outline.el changes.
23474         (foldout-zoom-subtree, foldout-exit-fold, foldout-mouse-show)
23475         (foldout-mouse-hide-or-exit): Use new names for outline functions.
23477         * lisp/cedet/semantic/bovine/c.el (semantic-c-do-lex-if):
23478         Update for 2014-06-26 hideif.el change.
23480         * lisp/mail/rmailsum.el: Fix search for encoded subjects.  (Bug#19088)
23481         (rmail--decode-and-apply): New function.
23482         (rmail-message-regexp-p-1, rmail-message-subject-p): Use it.
23484         * lisp/mail/rmail.el (rmail-highlighted-headers): Fix :type.
23486 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
23488         * lisp/emacs-lisp/package.el: Fix priority-hiding corner case
23489         (package-menu--refresh): Delegate obsolete-hiding to
23490         `package--remove-hidden'.
23491         (package--remove-hidden): Disregard high-priority package if it is
23492         older than the installed one.
23494 2015-04-28  Paul Eggert  <eggert@cs.ucla.edu>
23496         Update source file encoding list
23497         Update admin/notes/unicode, along with coding system cookies in
23498         other files, so that the two match each other better.
23499         * admin/notes/unicode: lisp/language/ethio-util.el and
23500         lisp/language/ethiopic.el also use utf-8-emacs.
23501         * admin/notes/hydra, doc/misc/dbus.texi, doc/misc/org.texi:
23502         * doc/misc/remember.texi, etc/refcards/cs-dired-ref.tex:
23503         * etc/refcards/cs-refcard.tex, etc/refcards/cs-survival.tex:
23504         * etc/refcards/sk-dired-ref.tex, etc/refcards/sk-refcard.tex:
23505         * etc/refcards/sk-survival.tex:
23506         Add "coding: utf-8" so that this file is not mishandled in a
23507         Latin-1 or Big-5 locale.
23508         * lisp/international/robin.el, lisp/org/ox-ascii.el:
23509         Specify utf-8, not utf-8-emacs, as these are plain UTF-8 files.
23510         * lisp/language/ethio-util.el: Fix trailer.
23512 2015-04-28  Eli Zaretskii  <eliz@gnu.org>
23514         Fix synchronous invocation of Ispell
23515         * lisp/textmodes/ispell.el (ispell-init-process): Assign a non-nil
23516         value to ispell-process-directory before calling ispell-init-process.
23517         Don't call set-process-coding-system if ispell-async-processp is nil.
23518         (Bug#20448)
23520 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
23522         * lisp/emacs-lisp/package.el: Skip space and comments in init file
23523         (package--ensure-init-file): Insert snippet at first
23524         non-whitespace non-comments line.  Respects local-vars at the top
23525         of the file.
23527 2015-04-28  Glenn Morris  <rgm@gnu.org>
23529         * lisp/mail/rmail.el (rmail-copy-headers):
23530         Handle rmail-nonignored-headers being nil.  (Bug#18878)
23532         * lisp/subr.el (delay-mode-hooks): Fix doc typo.
23534         * lisp/vc/vc-bzr.el (vc-bzr-after-dir-status):
23535         Don't get confused by a bzrlib version mismatch warning.
23537 2015-04-27  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
23539         Change default location of EUDC options file
23540         * etc/NEWS: Document change to EUDC options file's default location.
23541         * lisp/net/eudc-vars.el (eudc-options-file): Use
23542         `locate-user-emacs-file' to change default options file location.
23544 2015-04-27  Glenn Morris  <rgm@gnu.org>
23546         * test/automated/package-test.el (package-test-update-archives-async):
23547         Try to handle the test server script dying.
23549 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
23551         * lisp/saveplace.el (save-place-mode): New minor mode.
23552         (save-place): Redefine as an obsolete alias.
23554         * lisp/midnight.el: Make it a minor mode.  Allow predicates.
23555         * lisp/midnight.el: Use lexical-binding.
23556         (midnight-mode): Make it a proper minor mode.
23557         (midnight-buffer-display-time): Make arg non-optional.
23558         (midnight-find): Remove.
23559         (clean-buffer-list-kill-never-regexps)
23560         (clean-buffer-list-kill-regexps): Tweak type for new function choice.
23561         (clean-buffer-list-delay): Allow clean-buffer-list-kill-regexps to
23562         contain functions.
23563         (clean-buffer-list): Use cl-find.
23564         Allow clean-buffer-list-kill-never-regexps to contain functions.
23566 2015-04-27  Nicolas Petton  <nicolas@petton.fr>
23568         Bump version of seq.el to 1.5
23569         * lisp/emacs-lisp/seq.el (seq-doseq): Remove undocumented return value
23570         from seq-doseq.  Bump version number of seq.el.
23572 2015-04-27  Glenn Morris  <rgm@gnu.org>
23574         * lisp/mail/rmail.el (rmail-reply):
23575         Decode subject before matching "Re:" prefix.  (Bug#20396)
23577 2015-04-27  Artur Malabarba  <bruce.connor.am@gmail.com>
23579         * lisp/emacs-lisp/package.el: Small improvements
23580         (package--with-work-buffer-async): More informative error.
23581         (package-install-user-selected-packages): Rename to
23582         `package-install-selected-packages'.
23584 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
23586         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last
23587         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last change.
23588         (eieio--class-make): Remove leftover `tag'.
23590 2015-04-27  Glenn Morris  <rgm@gnu.org>
23592         * lisp/gnus/message.el (gnus-extract-address-components):
23593         Remove bogus declaration that was masking previous problem.
23595 2015-04-27  Nicolas Graner  <nicolas.graner@u-psud.fr>  (tiny change)
23597         * lisp/gnus/message.el (message-insert-formatted-citation-line):
23598         Fix typo.  (Bug#20318)
23600 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
23602         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Reuse oldc.
23604         * lisp/textmodes/reftex-toc.el: Improve multi-frame behavior
23605         * lisp/textmodes/reftex-toc.el (reftex-toc-revert): Avoid displaying
23606         the buffer in yet another frame.
23607         (reftex-toc-visit-location): Make sure toc-window has focus at the end
23608         when `final' is nil.
23609         (reftex--rebuilding-toc): Defvar to avoid `boundp' and
23610         silence warnings.  Use `--' to clarify that it's internal.
23611         (reftex-toc-next, reftex-toc-previous, reftex-toc-demote)
23612         (reftex-toc-promote): Clarify unused argument.
23613         (reftex--pro-or-de, reftex--start-line, reftex--mark-line):
23614         Add `reftex--' prefix.  Fix all users.
23615         (reftex-toc-promote-prepare): Use _ for dummy variable.
23616         (reftex-toc-restore-region): Rename `m.
23618 2015-04-27  Eli Zaretskii  <eliz@gnu.org>
23620         Fix a typo in bibtex.el
23621         * lisp/textmodes/bibtex.el (bibtex-insert-kill): Fix a typo from
23622         last change.  (Bug#20429)
23624         Fix redisplay of frame after loading new fonts
23625         * src/xdisp.c (redisplay_internal): When retrying redisplay of
23626         a frame because new fonts were loaded, disable all redisplay
23627         optimizations on that frame by calling SET_FRAME_GARBAGED.
23628         (Bug#20410)
23630 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
23632         * lisp/info.el (Info-menu): Properly provide the `default'
23633         (Bug#20391)
23635         * lisp/progmodes/elisp-mode.el (elisp--get-fnsym-args-string):
23636         Catch errors from documentation (bug#20418).
23637         (emacs-lisp-mode-abbrev-table): Remove redundant defvar.
23639 2015-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>
23641         * lisp/emacs-lisp/package.el: Move variables to silence byte-compiler.
23642         Remove redundant ":group 'package".
23644 2015-04-26  Eli Zaretskii  <eliz@gnu.org>
23646         Fix a typo in rmail.el
23647         * lisp/mail/rmail.el (rmail-ensure-blank-line): Fix a typo in the
23648         last commit.  (Bug#20429)
23650 2015-04-26  Dmitry Gutov  <dgutov@yandex.ru>
23652         Introduce xref-prompt-for-identifier
23653         * lisp/progmodes/xref.el (xref-prompt-for-identifier): New option.
23654         (xref--read-identifier): Use it
23655         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01205.html).
23657 2015-04-26  João Távora  <joaotavora@gmail.com>
23659         `tex-insert-quote' after single `'' opens quotes instead of closing
23660         Without this, it's very hard to precede double quotes with the
23661         apostrophe character, i.e. insert the sequence '``
23662         (quote-backquote-backquote), commonly useful in portuguese, for
23663         instance.
23664         * lisp/textmodes/tex-mode.el (tex-insert-quote): Add ?' to the list of
23665         preceding chars making `tex-insert-quote' be in the "opening" context.
23667 2015-04-25  Dmitry Gutov  <dgutov@yandex.ru>
23669         Pass `id' to `completing-read' as def instead of initial input
23670         * lisp/progmodes/xref.el (xref--read-identifier): Pass `id' to
23671         `completing-read' as the default value instead of initial input
23672         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01182.html).
23674 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
23676         Don't freeze with unreadable processes
23677         Don't freeze if an exiting process can't be read from.  (Bug#19860).
23678         This fixes a bug I introduced in
23679         2014-07-08T07:24:07Z@eggert@cs.ucla.edu
23680         "* process.c: Add sanity checks for file descriptors."
23681         Dmitry Gutov did most of the legwork in finding the problem.
23682         * src/process.c (wait_reading_process_output):
23683         Treat non-running processes that can't be read from
23684         the same as other non-running processes.
23686 2015-04-25  Alan Mackenzie  <acm@muc.de>
23688         Fix change from 2015-04-22 "On C-y, stop some text property entries ..."
23689         * lisp/subr.el (remove-yank-excluded-properties): Put
23690         `with-silent-modifications' around only the last three lines of code.
23692 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
23694         * lisp/emacs-lisp/package.el (package-all-keywords): Don't cache
23695         (package--all-keywords): Deleted variable.
23697         * etc/NEWS: Document package-hiding functionality.
23699 2015-04-25  Eli Zaretskii  <eliz@gnu.org>
23701         * lisp/window.el (recenter-last-op): Doc fix.  (Bug#20419)
23703         Clarify the doc string of 'replace-regexp-in-string'
23704         * lisp/subr.el (replace-regexp-in-string): Doc fix.  (Bug#20395)
23706         Improve doc string of 'insert-buffer-substring'
23707         * src/editfns.c (Finsert_buffer_substring): Doc fix.  (Bug#20421)
23709         MS-Windows followup for the recent gnulib update
23710         * nt/gnulib.mk (libgnu_a_SOURCES): Replace file-has-acl.c with
23711         acl-internal.c.
23713 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
23715         Spelling fixes
23717         Merge from gnulib
23718         This incorporates:
23719         2015-04-24 file-has-acl: new module, split from acl
23720         2015-04-24 manywarnings: add GCC 5.1 warnings
23721         2015-04-21 lstat: fix cross-compilation 'ln -s' problem
23722         2015-04-15 qacl: Simplify HP-UX acl_nontrivial check
23723         2015-04-15 acl: On Linux, check for acls without libacl
23724         2015-04-14 tempname: avoid unused parameter warnings (trivial)
23725         * lib/acl-internal.c: New file, from gnulib.
23726         * lib/file-has-acl.c: Remove; no longer imported from gnulib.
23727         * lib/acl-internal.h, lib/gnulib.mk, lib/qcopy-acl.c, lib/tempname.c:
23728         * m4/acl.m4, m4/gnulib-comp.m4, m4/lstat.m4, m4/manywarnings.m4:
23729         Update from gnulib.
23731         Port --enable-gcc-warnings to GCC 5.1 x86-64
23732         * lib-src/ebrowse.c (dump_sym):
23733         * lib-src/hexl.c (main):
23734         * src/ccl.c (ccl_driver):
23735         * src/character.c (string_escape_byte8):
23736         * src/dbusbind.c (xd_retrieve_arg, xd_add_watch):
23737         * src/gnutls.c (Fgnutls_boot):
23738         * src/gtkutil.c (xg_check_special_colors):
23739         * src/image.c (x_build_heuristic_mask):
23740         * src/print.c (safe_debug_print, print_object):
23741         * src/term.c (produce_glyphless_glyph):
23742         * src/xdisp.c (get_next_display_element)
23743         (produce_glyphless_glyph):
23744         * src/xterm.c (x_draw_glyphless_glyph_string_foreground):
23745         Don't use a signed format to print an unsigned integer, or vice
23746         versa.  GCC 5.1's new -Wformat-signedness option warns about this.
23747         * src/image.c (png_load_body, jpeg_load_body):
23748         Silence a bogus setjump diagnostic from GCC 5.1 (GCC bug 54561).
23750 2015-04-24  Tassilo Horn  <tsdh@gnu.org>
23752         Add new faces to tsdh-light-theme
23753         * etc/themes/tsdh-light-theme.el (tsdh-light): New face
23754         definitions for Info-quoted, ace-jump-face-foreground,
23755         hl-paren-face, show-paren-match, and show-paren-mismatch.
23757 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
23759         * lisp/emacs-lisp/seq.el (seq-doseq): Fix the macro.
23761 2015-04-24  Glenn Morris  <rgm@gnu.org>
23763         * build-aux/gitlog-to-emacslog:
23764         Use raw log format rather than wrapped one.
23766 2015-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>
23768         * lisp/emacs-lisp/seq.el (seq-doseq): Tighten the code.
23769         (seq-doseq): Fix out-of-scope binding.
23770         Don't call `seq-length at every iteration.
23771         Reduce `if's from 3 to 2 per iteration.
23772         (emacs-lisp-mode-hook): Don't tweak in Emacs≥25.
23774 2015-04-24  Glenn Morris  <rgm@gnu.org>
23776         * lisp/textmodes/text-mode.el (text-mode-hook):
23777         Move text-mode-hook-identify to default.
23779         * lisp/mouse.el (minor-mode-menu-from-indicator):
23780         Handle non-function members of minor-mode-map-alist.  (Bug#20201)
23782         * lisp/help-fns.el (describe-function): More type checking.
23783         (describe-function-1): Handle changed symbol-function.  (Bug#20201)
23785         * build-aux/gitlog-to-emacslog: Convert "Fixes:" to "(Bug#)".
23786         (Bug#20325)
23788 2015-04-24  Andreas Schwab  <schwab@linux-m68k.org>
23790         shr: strip leading whitespace when expanding URLs
23791         * lisp/net/shr.el (shr-expand-url): Strip leading whitespace from URL.
23793 2015-04-24  Eli Zaretskii  <eliz@gnu.org>
23795         Clarify "co-authored" some more
23797         * CONTRIBUTE: Clarify "co-authored-by".  (Bug#20400)
23799         Clarify doc strings of functions that search for properties
23800         * src/textprop.c (Fnext_char_property_change)
23801         (Fprevious_char_property_change)
23802         (Fnext_single_char_property_change)
23803         (Fprevious_single_char_property_change, Fnext_property_change)
23804         (Fnext_single_property_change, Fprevious_property_change)
23805         (Fprevious_single_property_change): Clarify doc strings wrt return
23806         value and the optional LIMIT argument.  (Bug#20411)
23808 2015-04-24  Glenn Morris  <rgm@gnu.org>
23810         * test/automated/message-mode-tests.el (message-mode-propertize):
23811         Handle non-writable HOME; eg on hydra.nixos.org.
23813 2015-04-23  Eli Zaretskii  <eliz@gnu.org>
23815         Avoid starting threads by w32-shell-execute
23816         * src/w32fns.c (Fw32_shell_execute): Convert "file:///" URLs into
23817         local file names, before invoking ShellExecute.  (Bug#20220)
23819 2015-04-23  Martin Rudalics  <rudalics@gmx.at>
23821         Fix following doc-links in `widget-documentation-link-action'
23822         * lisp/wid-edit.el (widget-documentation-link-action): Make
23823         following doc-links less simplistic (Bug#20398).
23825 2015-04-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
23827         Improve EUDC manual
23828         * doc/misc/eudc.texi (Troubleshooting):
23829         New LDAP troubleshooting subsection.
23831 2015-04-22  Paul Eggert  <eggert@cs.ucla.edu>
23833         Omit needless "\ " after multibyte then newline
23834         * src/print.c: Include <c-ctype.h>, for c_isxdigit.
23835         (print_object): When print-escape-multibyte is non-nil and a
23836         multibyte character is followed by a newline or formfeed, followed
23837         by a hex digit, don't output a needless "\ " before the hex digit.
23838         * test/automated/print-tests.el (print-hex-backslash): New test.
23840 2015-04-22  Oleh Krehel  <ohwoeowho@gmail.com>
23842         Add a new `inhibit-message' variable
23843         * src/xdisp.c (syms_of_xdisp): Define a boolean `inhibit_message'.
23844         (message3): Don't call `message3_nolog' (i.e. use the Echo Area) when
23845         `inhibit_message' is non-zero.
23846         * etc/NEWS: Add an entry.
23847         * doc/lispref/display.texi: Add an entry for `inhibit-message',
23848         mention it in `message'.
23850 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
23852         Fix last fix in `display-buffer-record-window'.
23853         * lisp/window.el (display-buffer-record-window): Fix last fix.
23855 2015-04-22  Eli Zaretskii  <eliz@gnu.org>
23857         Minor edits in CONTRIBUTE
23858         * CONTRIBUTE: Rearrange instructions about log messages.
23859         Use "Git" capitalized all over.
23860         Use 2 spaces between sentences.
23862 2015-04-22  Artur Malabarba  <bruce.connor.am@gmail.com>
23864         * lisp/files.el (basic-save-buffer): Fix argument.
23866         * lisp/cus-edit.el (custom-file): Consider init-file-had-error.
23867         In case `(and (null custom-file) init-file-had-error)' do the same
23868         thing we'd do if `(null user-init-file)', which is to either error out
23869         or return nil.  This is in line with `custom-save-all' which would
23870         throw an error in that situation.  (Bug#20355)
23872         * lisp/emacs-lisp/package.el: Hide lower-priority packages in menu.
23873         (package-menu-hide-low-priority): New variable, see its doc.
23874         (package-archive-priorities): Update doc.
23875         (package-desc-priority): New function.
23876         (package-desc-priority-version): Use it.
23877         (package--remove-hidden): New function.
23878         (package-menu--refresh): Use it.
23880         * lisp/emacs-lisp/package.el: Implement displaying obsolete packages.
23881         (package-menu--hide-obsolete): New variable.
23882         (package--remove-hidden): Use it.
23883         (package-menu-hide-obsolete): New interactive function to toggle
23884         the variable.
23885         (package--quick-help-keys): Document it.
23886         (package-menu-async): Add :version tag.
23887         (package-menu-mode-map): Bind package-menu-hide-obsolete.
23888         (package-desc-status): Indicate non-installed obsolete packages as
23889         avail-obso.
23890         (package-menu-mark-install): Allow installation of avail-obso.
23891         (package-menu--status-predicate): Sort avail-obso with available.
23893 2015-04-22  Alan Mackenzie  <acm@muc.de>
23895         On C-y, stop some text property entries being written into buffer-undo-list
23896         * lisp/subr.el (remove-yank-excluded-properties): Enclose the code in
23897         `with-silent-modifications'.
23899 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
23901         In display-buffer-record-window record selected window if necessary
23902         * lisp/window.el (display-buffer-record-window): Store selected window
23903         if it differs from 3rd element of 'quit-restore' parameter (Bug#20353).
23905 2015-04-22  Tassilo Horn  <tsdh@gnu.org>
23907         Fix reftex-citation bug
23908         * lisp/textmodes/reftex-cite.el (reftex-extract-bib-entries):
23909         Fix `wrong-type-argument stringp nil' error that occurs when AUCTeX
23910         integration is enabled and there are no citations in the document
23911         so far.
23913 2015-04-21  Dmitry Gutov  <dgutov@yandex.ru>
23915         Add or reset based on the presence of MERGE_HEAD
23916         * lisp/vc/vc-git.el (vc-git-find-file-hook): Add
23917         `vc-git-resolve-when-done' to `after-save-hook' in either case.
23918         (vc-git-conflicted-files): Add a TODO.
23919         (vc-git-resolve-when-done): Depending on the presence of
23920         MERGE_HEAD, either update the resolved file in the index, or
23921         remove it from there.  (Bug#20292)
23923 2015-04-21  Glenn Morris  <rgm@gnu.org>
23925         * lisp/custom.el (custom-declare-group): No need to purecopy
23926         custom-current-group-alist members following recent change to set
23927         it to nil before dumping.
23929         * build-aux/gitlog-to-emacslog: Get footer from ChangeLog.2.
23930         (Bug#20399)
23932 2015-04-21  Daniel Colascione  <dancol@dancol.org>
23934         Unbreak no-op buffer save message
23935         * lisp/files.el (basic-save-buffer): Accept called-interactively as
23936         an argument instead of directly invoking called-interactively-p,
23937         which will always yield nil in that context.
23939 2015-04-21  Alan Mackenzie  <acm@muc.de>
23941         CC Mode: Do nothing in before/after-change-functions for text
23942         property changes
23943         Fixes bug#20266.
23944         * lisp/progmodes/cc-mode.el (c-basic-common-init): Make
23945         yank-handled-properties buffer local, and remove 'category from it.
23946         (c-called-from-text-property-change-p): New function.
23947         (c-before-change): Don't do anything if a call of the new function
23948         returns non-nil.
23949         (c-after-change): Don't do much if a call of the new function returns
23950         non-nil.
23951         (c-extend-after-change-region): Put changes to text property 'fontified
23952         inside c-save-buffer-state.
23954 2015-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
23956         Fix byte-compiler warnings about looking-back
23957         * lisp/vc/log-view.el (log-view-end-of-defun-1):
23958         * lisp/textmodes/tex-mode.el (latex-forward-sexp-1):
23959         * lisp/textmodes/reftex-ref.el (reftex-goto-label):
23960         * lisp/textmodes/bibtex.el (bibtex-insert-kill):
23961         * lisp/progmodes/sh-script.el (sh--maybe-here-document):
23962         * lisp/progmodes/ruby-mode.el (ruby-end-of-defun):
23963         * lisp/progmodes/ada-mode.el (ada-in-numeric-literal-p):
23964         * lisp/org/org.el (org-insert-heading, org-sort-entries):
23965         * lisp/org/org-mouse.el (org-mouse-end-headline)
23966         (org-mouse-context-menu):
23967         * lisp/org/org-clock.el (org-clock-cancel):
23968         * lisp/man.el (Man-default-man-entry):
23969         * lisp/mail/rmail.el (rmail-get-new-mail, rmail-insert-inbox-text)
23970         (rmail-ensure-blank-line):
23971         * lisp/mail/footnote.el (Footnote-delete-footnote):
23972         * lisp/mail/emacsbug.el (report-emacs-bug):
23973         * lisp/info.el (Info-follow-reference, Info-fontify-node):
23974         * lisp/info-look.el (info-lookup-guess-custom-symbol):
23975         * lisp/help-fns.el (help-fns--key-bindings):
23976         * lisp/files.el (hack-local-variables):
23977         * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-cmd-complete)
23978         (viper-get-ex-pat, ex-expand-filsyms, viper-get-ex-file)
23979         (viper-complete-filename-or-exit):
23980         * lisp/emulation/viper-cmd.el (viper-backward-indent):
23981         * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent):
23982         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
23983         * lisp/cus-edit.el (custom-face-edit-value-create):
23984         * lisp/calendar/todo-mode.el (todo-set-item-priority)
23985         (todo-filter-items-1, todo-convert-legacy-files)
23986         (todo-prefix-overlays): Add explicit second arg to looking-back.
23988 2015-04-20  Glenn Morris  <rgm@gnu.org>
23990         Avoid non-nil current-load-list at startup
23991         * src/process.c (init_process_emacs): Move Fprovide statement...
23992         (syms_of_process): ... to here.
23994         * lisp/loadup.el (custom-current-group-alist): Reset before dumping.
23996         * lisp/startup.el (command-line) <site-run-file>: Avoid rogue value
23997         in emacs -Q.
23999 2015-04-20  Ludovic Courtès  <ludo@gnu.org>
24001         * lisp/loadup.el (exec-path): Avoid storing build-time PATH in binary.
24002         (Bug#20330)
24004 2015-04-20  Glenn Morris  <rgm@gnu.org>
24006         * lisp/cus-start.el (exec-path): Set standard value, to avoid rogue.
24008         Tweak exec-path in uninstalled case
24009         * src/callproc.c (init_callproc): If running uninstalled, do not
24010         include eventual installation libexec directory in exec-path.
24012 2015-04-20  Artur Malabarba  <bruce.connor.am@gmail.com>
24014         * lisp/emacs-lisp/package.el: Filter by multiple keywords and
24015         cache keywords.
24016         (package-menu-filter): Accept a list of keywords.
24017         (package--all-keywords): New variable to cache known keywords.
24018         (package-all-keywords): Populate it if necessary.
24019         (package-refresh-contents): Reset it.
24021         * lisp/emacs-lisp/package.el: Make archive and status pseudo-keywords
24022         (package--has-keyword-p): Understand "arc:xxxx" and "status:xxxx"
24023         as special keywords which match agains package archive and status
24024         respectively.
24025         * etc/NEWS: Document it.
24027 2015-04-20  Eli Zaretskii  <eliz@gnu.org>
24029         Describe and index "empty overlays".
24030         * doc/lispref/display.texi (Overlays): Improve indexing.
24031         (Managing Overlays): Describe "empty" overlays.
24032         (Overlay Properties, Finding Overlays): Add cross-reference to
24033         where empty overlays are described.
24035 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
24037         Spelling fixes
24039         Quote 'like this' in top-level files
24040         * CONTRIBUTE, INSTALL, Makefile.in, README, configure.ac, make-dist:
24041         Prefer to single-quote 'like this' (instead of the older style
24042         `like this').
24043         * configure.ac: Fix some space-before-tab problems that 'git commit'
24044         complained about.
24046         Use bool for boolean in textprop.c, undo.c
24047         * src/textprop.c (soft, hard): Now constants instead of macros.
24048         (validate_plist): Rewrite to avoid need for boolean local.
24049         (interval_has_all_properties, interval_has_some_properties)
24050         (interval_has_some_properties_list, add_properties)
24051         (remove_properties, get_char_property_and_overlay)
24052         (Fnext_single_char_property_change)
24053         (Fprevious_single_char_property_change, add_text_properties_1)
24054         (Fremove_text_properties, Fremove_list_of_text_properties)
24055         (copy_text_properties):
24056         * src/tparam.c (tparam1):
24057         * src/undo.c (record_change, record_property_change)
24058         (syms_of_undo):
24059         Use 'true' and 'false' for booleans.
24061 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
24063         * lisp/vc/vc-git.el (vc-git-find-file-hook):
24064         Call `smerge-start-session' even when dealing with a stash
24065         conflict (bug#20292).
24067 2015-04-19  Vibhav Pant  <vibhavp@gmail.com>
24069         Add option to eshell/clear to clear scrollback.
24070         * lisp/eshell/esh-mode.el (eshell/clear-scrollback): New function.
24071         (eshell/clear): Add an optional SCROLLBACK argument.  If non-nil,
24072         scrollback contents are cleared.
24073         * etc/NEWS: Describe change.
24074         * doc/misc/eshell.texi: Add entry for `clear'.
24076 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
24078         * src/widget.c (set_frame_size): Prefer 'int' to 'unsigned'
24079         where either will do.
24081 2015-04-19  Steve Purcell  <steve@sanityinc.com>
24083         Assume package archive-contents are UTF8-encoded
24084         * lisp/emacs-lisp/package.el (package--read-archive-file):
24085         Set `coding-system-for-read' explicitly to 'utf-8 when reading the
24086         downloaded and cached archive-contents files, so that non-ASCII
24087         characters in package descriptions are displayed correctly in the
24088         `list-packages' menu.  (Bug#20231)
24090 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
24092         Abort when looking at stashed changes
24093         * lisp/vc/vc-git.el (vc-git-find-file-hook): Abort when looking at
24094         stashed changes (bug#20292).
24096 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
24098         Refactor low-level printing for simplicity
24099         * src/print.c (PRINTDECLARE): Remove.  Move its contents into
24100         PRINTPREPARE; doable now that we assume C99.  All callers changed.
24101         (PRINTCHAR): Remove, as it adds more mystery than clarity.
24102         All callers changed.
24103         (strout): Assume that caller computes length.  All callers changed.
24104         (print_c_string): New function.
24105         (write_string, write_string_1): Compute length instead of asking
24106         the caller to compute it.  All callers changed.
24107         (write_string): Simplify by using write_string_1.
24108         (write_string_1): Simplify by using print_c_string.
24109         (Fterpri): Compute default val more clearly.
24110         (Fprin1_to_string, print_object):
24111         Assume C99 to avoid unnecessary nesting.
24112         (print_object): Prefer print_c_string to multiple printchar, or
24113         to calling strout with -1 length.  Coalesce into sprintf when
24114         this is easy.
24116 2015-04-18  Paul Eggert  <eggert@cs.ucla.edu>
24118         Prefer "Bug#1234" in commit messages (Bug#20325)
24119         * .dir-locals.el (log-edit-mode): Don't rewrite Bug#,
24120         as this isn't useful for Git.
24121         * CONTRIBUTE: Suggest "Bug#1234" instead of "Fixes: debbugs:1234".
24123 2015-04-18  Glenn Morris  <rgm@gnu.org>
24125         * lisp/files.el (auto-mode-alist): Use conf mode for gitconfig, hgrc.
24126         (Bug#19506)
24128 2015-04-18  Tom Willemse  <tom@ryuslash.org>  (tiny change)
24130         * lisp/elec-pair.el (electric-pair-post-self-insert-function):
24131         Do not use `chomp' as a function.  (Bug#19505)
24133 2015-04-18  Glenn Morris  <rgm@gnu.org>
24135         * lisp/net/browse-url.el (browse-url, browse-url-at-point): Doc fixes.
24137         * doc/emacs/misc.texi (Sorting): Small edit.
24138         (Bug#19896)
24140         * admin/admin.el (make-manuals): Add emacs-xtra in pdf and ps.
24142 2015-04-18  Simen Heggestøyl  <simenheg@gmail.com>
24144         css-mode.el: Support multi-line comment filling
24145         (Bug#20256)
24146         * lisp/textmodes/css-mode.el (css-fill-paragraph): Support multi-line
24147         comment filling.
24148         (css-adaptive-fill): New function.
24149         (css-mode): Set `adaptive-fill-function'.
24150         (scss-mode): Set `comment-continue'.
24152 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
24154         * lisp/emacs-lisp/seq.el (seq-concatenate, seq-into):
24155         Better error messages.
24157 2015-04-18  Ivan Radanov Ivanov  <ivanradanov@yahoo.co.uk>  (tiny change)
24159         Minor improvements in Bulgarian input methods
24160         * lisp/leim/quail/cyrillic.el (bulgarian-phonetic, bulgarian-bds):
24161         Replace U+042C with U+045D, as the former character is not used in
24162         the modern Bulgarian language.
24163         (Bug#20350)
24165 2015-04-17  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
24167         Improve EUDC manual
24168         * doc/misc/eudc.texi (LDAP Configuration): Mention simple and SASL
24169         authentication schemes.  Add index items.  Shorten example server
24170         name.
24172 2015-04-17  Dmitry Gutov  <dgutov@yandex.ru>
24174         Don't show both feature and function with the same name
24175         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
24176         Don't show both feature and function with the same name.
24178         (elisp--xref-identifier-location): Skip variable, if it's also
24179         a function
24180         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
24181         Avoid returning both the variable and the function for the same
24182         minor mode.
24184 2015-04-17  Wolfgang Jenkner  <wjenkner@inode.at>
24186         Fix fontification of keywords clobbered by the prompt
24187         * lisp/comint.el (comint-output-filter): Remove the uses of
24188         with-silent-modifications I introduced as part of the last change.
24189         This fixes, e.g., erratically missing highlighting when running
24190         ./configure --help; ./configure in a shell-mode buffer with
24191         compilation-shell-minor-mode turned on.
24193 2015-04-17  Glenn Morris  <rgm@gnu.org>
24195         * admin/authors.el (authors-valid-file-names)
24196         (authors-renamed-files-alist): Additions.
24198 2015-04-17  Stefan Monnier  <monnier@iro.umontreal.ca>
24200         * lisp/indent.el (indent-region): Don't deactivate the mark.
24201         (Bug#20357)
24203 2015-04-17  Sam Steingold  <sds@gnu.org>
24205         * lisp/net/rcirc.el (defun-rcirc-command): Mark `target' as ignorable.
24207 2015-04-16  Leo Liu  <sdl.web@gmail.com>
24209         * lisp/progmodes/xref.el (xref-push-marker-stack): Add optional arg.
24211 2015-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
24213         * lisp/erc/erc-pcomplete.el (erc-pcomplete):
24214         Don't use `pcomplete' any more.
24216 2015-04-16  Glenn Morris  <rgm@gnu.org>
24218         * admin/authors.el (authors-lax-changelogs): Update for erc changes.
24220 2015-04-16  Eli Zaretskii  <eliz@gnu.org>
24222         Don't link with -ljpeg on MS-Windows, to avoid dependency on DLL
24223         * configure.ac (LIBJPEG): Leave it empty for MinGW.
24225 2015-04-16  Glenn Morris  <rgm@gnu.org>
24227         * lisp/replace.el (query-replace-from-to-separator):
24228         Delay initialization to avoid rogue setting after startup.
24230 2015-04-16  Paul Eggert  <eggert@cs.ucla.edu>
24232         Pre-4.6 GCC succeeds with unknown option
24233         * configure.ac (emacs_cv_prog_cc_nopie): Port to pre-4.6 GCC.
24234         (Bug#20338)
24236 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
24238         '[:graph:]' now excludes whitespace, not just ' '
24239         * doc/lispref/searching.texi (Char Classes):
24240         * lisp/emacs-lisp/rx.el (rx): Document [:graph:] to be [:print:]
24241         sans whitespace (not sans space).
24242         * src/character.c (graphicp): Exclude all Unicode whitespace chars,
24243         not just space.
24244         * src/regex.c (ISGRAPH): Exclude U+00A0 (NO-BREAK SPACE).
24246 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
24248         * lisp/subr.el (substitute-key-definition-key, special-form-p)
24249         (macrop): Drop deprecated second arg to indirect-function.
24250         (looking-back): Make the second arg non-optional.
24252         * lisp/org/org-clock.el (org-x11idle-exists-p): Be honest about which
24253         command is actually sent to the shell.
24255 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
24257         Port jpeg configuration to Solaris 10 with Sun C
24258         * configure.ac: Check for jpeglib 6b by trying to link it, instead
24259         of relying on cpp magic that has problems in practice.  Check for
24260         both jpeglib.h and jerror.h features.  Remove special case for
24261         mingw32, which should no longer be needed (and if it were needed,
24262         should now be addressable by hotwiring emacs_cv_jpeglib).
24263         (Bug#20332)
24265 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
24267         Move some Elisp-specific code from lisp-mode.el to elisp-mode.el
24268         * lisp/emacs-lisp/lisp-mode.el (lisp--el-font-lock-flush-elisp-buffers):
24269         Move to elisp-mode.el.
24270         (lisp-mode-variables): (Re)move elisp-specific settings.
24271         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add settings removed
24272         from lisp-mode-variables.
24273         (elisp--font-lock-flush-elisp-buffers): New function, moved from
24274         lisp-mode.el.
24276         * lisp/emacs-lisp/lisp-mode.el (lisp--el-non-funcall-position-p):
24277         Avoid pathological slowdown at top-level in large file.
24279 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
24281         Standardize names of ChangeLog history files
24282         Suggested by Glenn Morris in:
24283         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
24284         * Makefile.in (install-man): Don't treat ChangeLog.1 as a man page.
24285         * doc/man/ChangeLog.1: Rename back from doc/man/ChangeLog.01.
24286         * lisp/erc/ChangeLog.1: New file, containing the old contents of ...
24287         * lisp/erc/ChangeLog.01, lisp/erc/ChangeLog.02, lisp/erc/ChangeLog.03:
24288         * lisp/erc/ChangeLog.04, lisp/erc/ChangeLog.05, lisp/erc/ChangeLog.06:
24289         * lisp/erc/ChangeLog.07, lisp/erc/ChangeLog.08, lisp/erc/ChangeLog.09:
24290         Remove.
24292         Split top-level entries into pre- and post-April 7
24293         This more clearly distingiushes pre-April-7 ChangeLog entries (which
24294         are for top-level files only) from post-April-7 entries (which are
24295         about files at all levels.  Problem reported by Glenn Morris in:
24296         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
24297         * ChangeLog.1: Move post-April-7 entries from here ...
24298         * ChangeLog.2: ... to this new file.
24299         * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump to 2.
24301 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
24303         Fix recent cus-start changes that added customize-rogues
24304         * lisp/cus-start.el (custom-delayed-init-variables): Initialize the
24305         vars early.
24306         * lisp/loadup.el ("cus-start"): Move to the end to reduce
24307         customize-rogue.
24309 2015-04-15  Nicolas Petton  <nicolas@petton.fr>
24311         Define cl-concatenate as an alias to seq-concatenate
24312         * lisp/emacs-lisp/cl-extra.el (cl-concatenate): Removes duplicated
24313           code by making cl-concatenate an alias to seq-concatenate.
24315 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
24317         * src/lread.c (intern_1): Make sure we'd find the symbol we add
24318         (Bug#20334)
24319         * src/xfaces.c (resolve_face_name): Don't use `intern' with
24320         Lisp_Strings.
24322 2015-04-15  Glenn Morris  <rgm@gnu.org>
24324         * doc/lispref/sequences.texi (Sequence Functions): Fix typo in previous.
24326 2015-04-15  Lars Magne Ingebrigtsen  <larsi@gnus.org>
24328         Clean up gnus-uu saving code slightly
24329         * lisp/gnus/gnus-uu.el (gnus-uu-save-article): Make the
24330         save-restriction/widen calls make more sense.
24332 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
24334         Make [:graph:] act like [:print:] sans space
24335         In POSIX [[:print:]] is equivalent to [ [:graph:]], so change
24336         [:graph:] so that it matches everything that [:print:] does,
24337         except for space.
24338         * doc/lispref/searching.texi (Char Classes):
24339         * etc/NEWS:
24340         * lisp/emacs-lisp/rx.el (rx):
24341         Document [:graph:] to be [:print:] sans ' '.
24342         * src/character.c, src/character.h (graphicp): New function.
24343         * src/regex.c (ISGRAPH) [emacs]: Use it.
24344         (BIT_GRAPH): New macro.
24345         (BIT_PRINT): Increase to 0x200, to make room for BIT_GRAPH.
24346         (re_wctype_to_bit) [! WIDE_CHAR_SUPPORT]:
24347         Return BIT_GRAPH for RECC_GRAPH.
24348         (re_match_2_internal) [emacs]: Use ISGRAPH if BIT_GRAPH,
24349         and ISPRINT if BIT_PRINT.
24351 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
24353         automated/eieio-test-methodinvoke.el (make-instance) <(subclass C)>:
24354         Don't use call-next-method in a cl-defmethod.
24356         * lisp/emacs-lisp/eieio-core.el (eieio--class): Derive from cl--class
24357         (eieio--class-p): Remove, provided by cl-defstruct.
24359 2015-04-14  Nicolas Petton  <nicolas@petton.fr>
24361         Add seq-intersection and seq-difference to the seq library
24362         * lisp/emacs-lisp/seq.el (seq-intersection, seq-difference):
24363         New functions.
24364         * test/automated/seq-tests.el: Add tests for seq-intersection and
24365         seq-difference.
24366         * doc/lispref/sequences.texi: Add documentation for seq-intersection
24367         and seq-difference.
24369 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
24371         * lisp/emacs-lisp/eieio-core.el (class-abstract-p): Don't inline,
24372         to avoid leaking internals.
24374 2015-04-14  Sam Steingold  <sds@gnu.org>
24376         package--ensure-init-file: widen requires save-restriction
24378 2015-04-14  Eli Zaretskii  <eliz@gnu.org>
24380         Improve the commit-msg Git hook for unibyte environments
24381         * build-aux/git-hooks/commit-msg: Set LC_ALL=C, before running Awk
24382         in unibyte environments.  (Suggested by Paul Eggert
24383         <eggert@cs.ucla.edu>.)  Use a more accurate approximation to
24384         [:print:], based on UTF-8 sequences of the unprintable characters.
24386         Describe problems with cursor caused by Windows Magnifier
24387         * etc/PROBLEMS: Describe the problem with cursor shape on
24388         MS-Windows due to Windows Magnifier.
24389         (Bug#20271)
24391         Make [:print:] support non-ASCII characters correctly
24392         * src/regex.c (ISPRINT): Call 'printablep' for multibyte characters.
24393         (BIT_PRINT): New bit mask.
24394         (re_wctype_to_bit): Return BIT_PRINT for RECC_PRINT.
24395         * src/character.c (printablep): New function.
24396         * src/character.h (printablep): Add prototype.
24397         * lisp/emacs-lisp/rx.el (rx): Doc fix: document the new behavior
24398         of 'print', 'alnum', and 'alphabetic'.
24399         * doc/lispref/searching.texi (Char Classes): Document the new
24400         behavior of [:print:].
24401         * etc/NEWS: Mention the new behavior of [:print:].
24403         Assign correct general-category and names to surrogates
24404         * admin/unidata/unidata-gen.el (unidata-setup-list): Don't ignore
24405         surrogates.  This avoids assigning them the default
24406         general-category of 'Cn', i.e. unassigned codepoints.
24407         (unidata-get-name): Give surrogates synthetic names.
24409 2015-04-14  Paul Eggert  <eggert@cs.ucla.edu>
24411         Assume C89 offsetof in xterm.c, xlwmenu.c
24412         * lwlib/xlwmenu.c (offset):
24413         * src/xterm.c (cvt_string_to_pixel_args):
24414         Use offsetof, not XtOffset.
24416 2015-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
24418         Assume C89 offsetof in widget.c
24419         * src/widget.c (XtOffset): Remove; no longer needed.
24420         (offset): Implement via offsetof instead of via pre-C89 XtOffset hack.
24422         Fix think-o in previous patch
24423         * src/window.c (count_windows, get_leaf_windows):
24424         Don't optimize count_windows incorrectly.
24426 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
24428         Avoid some int overflows in window.c
24429         * src/print.c (print_object):
24430         * src/window.c (sequence_number):
24431         * src/window.h (struct window.sequence_number):
24432         Don't assume window sequence number fits in int.
24433         * src/window.c (window_select_count):
24434         * src/window.h (struct window.use_time, window_select_count):
24435         Don't assume window use time fits in int.
24436         * src/window.c (Fsplit_window_internal):
24437         Don't assume user-supplied integer, or sum, fits in int.
24438         (Fset_window_configuration, count_windows, get_leaf_windows)
24439         (save_window_save, Fcurrent_window_configuration):
24440         Use ptrdiff_t for object counts.
24441         (Fset_window_configuration): Omit unused local 'n'.
24442         (count_windows): Simplify by writing in terms of get_leaf_windows.
24443         (get_leaf_windows): Don't store through FLAT if it's null.
24444         (extract_dimension): New static function.
24445         (set_window_margins, set_window_fringes, set_window_scroll_bars):
24446         Use it to avoid undefined behavior when converting user-supplied
24447         integer to 'int'.
24449 2015-04-13  Glenn Morris  <rgm@gnu.org>
24451         Minor doc copyedits
24452         * doc/emacs/custom.texi (Init Examples): Tweak example, replace typo.
24453         * doc/lispintro/emacs-lisp-intro.texi (condition-case): Typo fix.
24455 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
24457         [Gnus] Catch the invalid-operation that idna.el will issue
24458         * lisp/gnus/gnus-art.el (gnus-use-idna):
24459         * lisp/gnus/gnus-sum.el (gnus-summary-idna-message):
24460         * lisp/gnus/message.el (message-use-idna):
24461         Catch the invalid-operation that idna.el will issue.
24463 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
24465         * doc/lispref/processes.texi (Shell Arguments): Prefer diff -u.
24467 2015-04-13  Sam Steingold  <sds@gnu.org>
24469         package--ensure-init-file: widen before looking for
24470         "(package-initialize)"
24472 2015-04-13  Dmitry Gutov  <dgutov@yandex.ru>
24474         Change diff-switches default to `-u' (Bug#20290)
24475         * doc/emacs/files.texi (Comparing Files): Document the new default
24476         value of `diff-switches'.
24477         * doc/emacs/trouble.texi (Sending Patches): Document the preference
24478         for unified diff format.  Escape the plus in the suggested `-F' regexp
24479         value.
24480         * lisp/vc/diff.el (diff-switches): Change the default to `-u'.
24482 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
24484         (gnus-group--setup-tool-bar-update): Fix last change
24485         * lisp/gnus/gnus-group.el (gnus-group--setup-tool-bar-update):
24486         cursor-sensor-functions should be a list of functions.
24488 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
24490         * lisp/gnus/gnus-topic.el (gnus-topic-mode):
24491         Use gmm-called-interactively-p.
24493 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
24495         * lisp/loadup.el ("cus-start"): Load it after loaddefs.el
24496         (Bug#20321)
24497         * lisp/cus-start.el (read-buffer-function): Don't advertise
24498         iswitchb-read-buffer any more.
24499         (iswitchb): Don't tweak this obsolete group any more.
24501 2015-04-13  Artur Malabarba  <bruce.connor.am@gmail.com>
24503         * lisp/emacs-lisp/package.el: Fix package--ensure-init-file.
24505         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Implement docstrings.
24506         Adding a string after a constructor's argument list will use
24507         that string as the constructor function docstring.  If this string
24508         is absent but the struct itself was given a docstring, use that as
24509         the constructor's docstring.
24510         Fixes bug#17284.
24512 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
24514         Deprecate `intangible' and `point-entered' properties
24515         * lisp/emacs-lisp/cursor-sensor.el: New file.
24516         * lisp/simple.el (pre-redisplay-functions): New hook.
24517         (redisplay--pre-redisplay-functions): New function.
24518         (pre-redisplay-function): Use it.
24519         (minibuffer-avoid-prompt): Mark obsolete.
24520         (redisplay--update-region-highlight): Adapt it to work as a function on
24521         pre-redisplay-functions.
24522         * lisp/cus-start.el (minibuffer-prompt-properties--setter): New fun.
24523         (minibuffer-prompt-properties): Use it.  Use cursor-intangible rather
24524         than point-entered to make the prompt intangible.
24525         * lisp/forms.el: Move `provide' calls to the end.
24526         (forms-mode): Don't use `run-hooks' on a local var.
24527         (forms--make-format, forms--make-format-elt-using-text-properties):
24528         Use cursor-intangible rather than `intangible'.
24529         (forms-mode): Enable cursor-intangible-mode.
24530         * lisp/isearch.el (isearch-mode): Use defvar-local.
24531         (cursor-sensor-inhibit): Declare.
24532         (isearch-mode): Set cursor-sensor-inhibit.
24533         (isearch-done): Set it back.
24534         (isearch-open-overlay-temporary, isearch-open-necessary-overlays)
24535         (isearch-close-unnecessary-overlays): Don't bother with `intangible'
24536         any more.
24537         * lisp/ses.el (ses-localvars): Remove `mode-line-process'.
24538         (ses-sym-rowcol, ses-cell-value, ses-col-width, ses-col-printer):
24539         Add Edebug spec.
24540         (ses-goto-print, ses-print-cell, ses-adjust-print-width)
24541         (ses-goto-data, ses-setup, ses-copy-region): Don't let-bind
24542         inhibit-point-motion-hooks any more.
24543         (ses--cell-at-pos, ses--curcell): New functions, extracted from
24544         ses-set-curcell.
24545         (ses-set-curcell): Use them.
24546         (ses-print-cell, ses-setup): Use cursor-intangible instead of
24547         `intangible'.  Make sure cursor-intangible isn't sticky at BOB.
24548         (ses-print-cell-new-width, ses-reprint-all, ses-recalculate-all):
24549         Use ses--cell-at-pos.
24550         (ses--mode-line-process, ses--cursor-sensor-highlight): New functions,
24551         extracted from ses-command-hook.  Make them work with multiple windows
24552         displaying the same buffer.
24553         (ses-mode): Use them via mode-line-process and pre-redisplay-functions.
24554         Enable cursor-intangible-mode.
24555         (ses-command-hook): Remove cell highlight and mode-line update code.
24556         (ses-forward-or-insert, ses-copy-region-helper, ses-sort-column):
24557         Update for new name of text-property holding the cell name.
24558         (ses-rename-cell): Don't mess with mode-line-process.
24559         * lisp/erc/erc-stamp.el (erc-add-timestamp): Use the new
24560         cursor-sensor-functions property instead of point-entered.
24561         (erc-insert-timestamp-right, erc-format-timestamp):
24562         Use cursor-intangible rather than `intangible'.
24563         (erc-munge-invisibility-spec): Use add-to-invisibility-spec and
24564         remove-from-invisibility-spec.  Enable cursor-intangible-mode and
24565         cursor-sensor-mode if needed.
24566         (erc-echo-timestamp): Adapt to calling convention of
24567         cursor-sensor-functions.
24568         (erc-insert-timestamp-right): Remove unused vars `current-window' and
24569         `indent'.
24570         * lisp/gnus/gnus-group.el (gnus-tmp-*): Declare.
24571         (gnus-update-group-mark-positions): Remove unused `topic' var.
24572         (gnus-group-insert-group-line): Remove unused var `header'.
24573         (gnus-group--setup-tool-bar-update): New function.
24574         (gnus-group-insert-group-line): Use it.
24575         (gnus-group-update-eval-form): Declare local
24576         dynamically-bound variables.
24577         (gnus-group-unsubscribe-group): Use \` and \' to match string bounds.
24578         * lisp/gnus/gnus-topic.el (gnus-topic-jump-to-topic)
24579         (gnus-group-prepare-topics, gnus-topic-update-topic)
24580         (gnus-topic-change-level, gnus-topic-catchup-articles)
24581         (gnus-topic-remove-group, gnus-topic-delete, gnus-topic-indent):
24582         Use inhibit-read-only.
24583         (gnus-topic-prepare-topic): Use gnus-group--setup-tool-bar-update.
24584         (gnus-topic-mode): Use define-minor-mode and derived-mode-p.
24585         * lisp/textmodes/reftex-index.el (reftex-display-index):
24586         Use cursor-intangible-mode if available.
24587         (reftex-index-post-command-hook): Check cursor-intangible.
24588         * lisp/textmodes/reftex-toc.el (reftex-toc):
24589         Use cursor-intangible-mode if available.
24590         (reftex-toc-recenter, reftex-toc-post-command-hook):
24591         Check cursor-intangible.
24592         * lisp/textmodes/sgml-mode.el: Use lexical-binding.
24593         (sgml-tag): Use cursor-sensor-functions instead of point-entered.
24594         (sgml-tags-invisible): Use with-silent-modifications and
24595         inhibit-read-only.  Enable cursor-sensor-mode.
24596         (sgml-cursor-sensor): Rename from sgml-point-entered and adjust to
24597         calling convention of cursor-sensor-functions.
24598         * lisp/textmodes/table.el (table-cell-map-hook, table-load-hook)
24599         (table-point-entered-cell-hook, table-point-left-cell-hook):
24600         Don't autoload.
24601         (table-cell-entered-state): Remove var.
24602         (table--put-cell-point-entered/left-property)
24603         (table--remove-cell-properties):
24604         Use cursor-sensor-functions rather than point-entered/left.
24605         (table--point-entered/left-cell-function): Merge
24606         table--point-entered-cell-function and table--point-left-cell-function
24607         and adjust to calling convention of cursor-sensor-functions.
24609         Update ldef-boots.el
24611         * lisp/emacs-lisp/pcase.el (pcase-dolist): Autoload as well.
24613         * doc/misc/eieio.texi: Don't advertise now obsolete constructs
24615         Collapse successive char deletions in the undo log
24616         * src/cmds.c (remove_excessive_undo_boundaries): New function,
24617         extracted from Fself_insert_command.
24618         (Fdelete_char, Fself_insert_command): Use it.
24619         * src/fileio.c (Fmake_symbolic_link): Rename arg to `target'.
24620         * src/keyboard.c (syms_of_keyboard): `top-level' shouldn't be special.
24622         xterm and OSC 52: Add NEWS entry, and tweak the code
24623         * lisp/term/xterm.el (gui-set-selection) <nil>: Move method definition
24624         to top-level.
24625         (terminal-init-xterm-activate-set-selection): Set a terminal property.
24626         (xterm--set-selection): Use it instead of checking the value of
24627         `terminal-initted'.  Don't use string-bytes.
24629 2015-04-13  Philipp Stephani  <p.stephani2@gmail.com>
24631         xterm.el: Implement OSC-52 functionality for setting the X selection
24632         * lisp/term/xterm.el (xterm-max-cut-length): New var.
24633         (xterm--set-selection, terminal-init-xterm-activate-set-selection):
24634         New funs.
24635         (terminal-init-xterm, xterm--version-handler): Use them.
24637 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
24639         Remove left over code from when we used an obsolete/loaddefs.el file
24640         * lisp/subr.el (do-after-load-evaluation): Remove left over code from
24641         when we used an obsolete/loaddefs.el file.
24643         * lisp/cedet/semantic/fw.el (semantic-exit-on-input)
24644         (semanticdb-without-unloaded-file-searches): Use declare.
24645         (semantic-fw-add-edebug-spec): Remove.
24647         * lisp/completion.el (completion-lisp-mode-hook):
24648         Use completion-separator-chars rather than local key binding.
24650         * src/*.c: Set deactivate_mark buffer-locally
24651         (Bug#20260)
24652         * src/insdel.c (prepare_to_modify_buffer_1):
24653         * src/fileio.c (Finsert_file_contents): Set deactivate_mark
24654         buffer-locally.
24656 2015-04-12  Fabián Ezequiel Gallina  <fgallina@gnu.org>
24658         python.el: Keep symmetry on sexp navigation with parens
24659         (Bug#19954)
24660         * lisp/progmodes/python.el
24661         (python-nav--forward-sexp): Add argument skip-parens-p.
24662         (python-nav-forward-sexp, python-nav-backward-sexp)
24663         (python-nav-forward-sexp-safe)
24664         (python-nav-backward-sexp-safe): Use it.
24665         * test/automated/python-tests.el
24666         (python-nav-forward-sexp-1): Fix test.
24668 2015-04-12  João Távora  <joaotavora@gmail.com>
24670         Don't use `setq-local' in Gnus code
24671         This might break upstream builds with older Emacsen
24672         * lisp/gnus/message.el (message-mode): Use `set' and
24673         `make-local-variable' instead of `setq-local'.
24675 2015-04-12  Paul Eggert  <eggert@cs.ucla.edu>
24677         Update Makefile.in's .PHONY dependencies
24678         * Makefile.in (change-history-commit, master-branch-is-current)
24679         (no-ChangeLog): Now phony.
24681         Remove configure's --with-mmdf option
24682         * configure.ac (MAIL_USE_MMDF): Remove.
24683         * etc/NEWS: Document this.
24684         * lib-src/movemail.c: Assume MAIL_USE_MMDF is not defined.
24685         (Bug#20308)
24687         * doc/man/ChangeLog.01: Rename from doc/man/ChangeLog.1.
24688         That way, 'make install' won't think it's a man page.
24689         Reported by Ashish SHUKLA in:
24690         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00656.html
24692         Improve 'make change-history' prereq tests
24693         * Makefile.in (gen_origin): Fix to match what's in the master branch.
24694         (no-ChangeLog, master-branch-is-current): New rules.
24695         (change-history): Depend on them, to avoid similar future problems.
24696         Escape the local-variables string to pacify Emacs when editing
24697         Makefile.in.
24699 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
24701         * test/automated/package-test.el (with-package-test):
24702         Kill Packages buffer.
24704         * lisp/emacs-lisp/package.el: Improve transaction y-or-n prompt.
24705         (package-menu--prompt-transaction-p): Prompt for "Delete" first,
24706         "Upgrade" last, and use capitalized instead of all-caps.
24708         * lisp/emacs-lisp/package.el: Completely silence async operations.
24709         (package--make-autoloads-and-stuff): Silence autoloads.
24710         (package--save-selected-packages): New function, silences
24711         `customize-save-variable'.
24712         (package--user-selected-p, package-install-from-buffer)
24713         (package-delete, package-install): Use it.
24714         (package-install-from-archive)
24715         (package-menu--perform-transaction): Silence.
24716         (package-menu-execute): Feedback when operation starts.
24718         Use delay-mode-hooks when visiting the init-file
24719         * lisp/emacs-lisp/package.el (package--ensure-init-file):
24720         delay-mode-hooks.
24721         * lisp/cus-edit.el (custom-save-all): delay-mode-hooks.
24723         * lisp/files.el: Only message when saving if save-silently is nil.
24724         (save-silently): New variable.
24725         (files--message): New function.
24726         (find-file-noselect, save-buffer, basic-save-buffer)
24727         (basic-save-buffer-2, save-some-buffers, not-modified)
24728         (append-to-file): Use them.
24730 2015-04-12  Johan Bockgård  <bojohan@gnu.org>
24732         Support debug declarations in pcase macros
24733         * lisp/emacs-lisp/pcase.el (pcase-MACRO): New edebug spec.
24734         (pcase-UPAT): Use it.  Remove "`".
24735         (pcase--edebug-match-macro): New function.
24736         (pcase-defmacro): Support debug declarations.
24737         * lisp/emacs-lisp/cl-macs.el (cl-struct) <pcase-defmacro>:
24738         * lisp/emacs-lisp/eieio.el (eieio) <pcase-defmacro>:
24739         * lisp/emacs-lisp/pcase.el (\`): <pcase-defmacro>:
24740         Add debug declaration.
24742         pcase.el: Edebug support for `app' and vector patterns
24743         * lisp/emacs-lisp/pcase.el (pcase-FUN): New edebug spec.
24744         (pcase-UPAT): Use it.  Support `app' patterns.
24745         (pcase-QPAT): Support vector patterns.
24747         edebug.el: Disambiguate vector specifications
24748         * lisp/emacs-lisp/edebug.el (edebug-match-list): Always treat
24749         `(vector ...)' as a vector specification, not as a sublist.
24751         (gnus-summary-refer-thread): Don't clobber unread articles
24752         This fixes a bug where `A T' causes "random" articles to become marked
24753         as read.
24754         * lisp/gnus/gnus-sum.el (gnus-summary-refer-thread): Make sure
24755         gnus-newsgroup-unreads remains sorted.
24757         mouse-sel.el: Fix mouse-sel-get-selection-function
24758         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
24759         Use gui--last-selected-text-primary instead of no longer existing
24760         gui-last-selected-text.
24762         * lisp/rect.el (delete-whitespace-rectangle-line): Don't cross EOL.
24764         * lisp/net/nsm.el (nsm-query-user): Use cursor-in-echo-area.
24766 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
24768         * lisp/emacs-lisp/package.el (list-packages): Avoid redundant generate.
24770         * lisp/emacs-lisp/package.el (list-packages): Call refresh in
24771         right buffer.
24773         * lisp/emacs-lisp/bytecomp.el: Silence noninteractive compilations.
24774         (byte-compile--interactive): New var.
24775         (byte-compile--message): New function.
24776         (byte-compile-log-1, byte-force-recompile)
24777         (byte-recompile-directory, byte-recompile-file)
24778         (byte-compile-file, compile-defun)
24779         (byte-compile-file-form-defmumble, byte-compile)
24780         (byte-compile-file-form-defalias, display-call-tree): Use it.
24782         * lisp/files.el: Don't message when nothing happened.
24783         (save-some-buffers, basic-save-buffer): Before messaging to say
24784         "nothing was saved" check if (called-interactively-p 'any).
24786 2015-04-12  João Távora  <joaotavora@gmail.com>
24788         Summary: Improve sexp-based movement in message-mode
24789         Works by giving citations and smileys a different syntax.  This helps
24790         modes like `show-paren-mode', `electric-pair-mode', and C-M-*
24791         sexp-based movement.
24792         * lisp/gnus/message.el (message--syntax-propertize): New function.
24793         (message-mode): Set syntax-related vars.
24794         (message-smileys): New variable.
24795         * test/automated/message-mode-tests.el: New file
24797 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
24799         Use bool for boolean in window.c
24800         * src/window.c: Omit unnecessary static function decls.
24801         (adjust_window_count, select_window, Fselect_window)
24802         (window_body_width, Fwindow_body_height, Fwindow_body_width)
24803         (set_window_hscroll, check_window_containing, Fwindow_at)
24804         (Fwindow_end, Fset_window_start, Fpos_visible_in_window_p)
24805         (unshow_buffer, replace_window, recombine_windows)
24806         (add_window_to_list, candidate_window_p, next_window)
24807         (Fnext_window, Fprevious_window, window_loop, check_all_windows)
24808         (Fget_buffer_window, Fdelete_other_windows_internal)
24809         (replace_buffer_in_windows_safely, set_window_buffer)
24810         (Fset_window_buffer, Fforce_window_update)
24811         (temp_output_buffer_show, make_parent_window)
24812         (window_resize_check, window_resize_apply, Fwindow_resize_apply)
24813         (resize_frame_windows, Fsplit_window_internal)
24814         (Fdelete_window_internal, grow_mini_window, shrink_mini_window)
24815         (Fresize_mini_window_internal, mark_window_cursors_off)
24816         (window_scroll, window_scroll_pixel_based)
24817         (window_scroll_line_based, scroll_command, Fscroll_other_window)
24818         (Fscroll_left, Fscroll_right, displayed_window_lines, Frecenter)
24819         (Fmove_to_window_line, Fset_window_configuration)
24820         (delete_all_child_windows, apply_window_adjustment)
24821         (set_window_fringes, set_window_scroll_bars)
24822         (Fset_window_vscroll, foreach_window, foreach_window_1)
24823         (compare_window_configurations, Fcompare_window_configurations):
24824         Prefer 'bool', 'true', and 'false' for booleans.
24825         * src/window.h (WINDOW_MODE_LINE_LINES)
24826         (WINDOW_HEADER_LINE_LINES): Omit unnecessary "!!" on bool value.
24828 2015-04-11  Artur Malabarba  <bruce.connor.am@gmail.com>
24830         Speed up byte-compilation and autoload generation by avoiding mode-hooks
24831         This prevents emacs-lisp-mode-hook from being run everytime an
24832         autoload file is generated, which can account for a fraction of
24833         package installation time depending on the hooks the user has
24834         configured.
24835         * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Use delay-mode-hooks.
24836         * lisp/emacs-lisp/autoload.el (autoload-find-file)
24837         (autoload-find-generated-file): Use delay-mode-hooks.
24839         * lisp/emacs-lisp/package.el: Improve `package-menu-refresh'.
24840         (package-menu-refresh): Respect async and do new package checking.
24841         (list-packages): Use `package-menu-refresh' instead of repeating code.
24843         * lisp/emacs-lisp/package.el: Improve package-menu-quick-help.
24844         (package--quick-help-keys): New variable.
24845         (package--prettify-quick-help-key): New function.
24846         (package-menu-quick-help): Use it.
24848         * lisp/emacs-lisp/package.el: Fix initially wrong compat table.
24849         (package--build-compatibility-table): Require finder.
24851         * test/automated/package-test.el: Fix new test.
24853         * lisp/emacs-lisp/package.el: Silence async operations.
24854         (package--silence): New variable.
24855         (package--message): New function.
24856         (package-import-keyring, package-refresh-contents)
24857         (package-compute-transaction, package-install, package-delete)
24858         (package-menu--perform-transaction, package-menu-execute): Use it.
24860         * test/automated/package-test.el: Test async functionality.
24861         (package-test-update-archives-async): New test.
24863 2015-04-11  Daiki Ueno  <ueno@gnu.org>
24865         Utilize `make-process' in epg.el
24866         * lisp/epg.el (epg-error-output): Abolish.
24867         (epg-context): New slot `error-buffer'.
24868         (epg--start): Use `make-process' and `make-pipe-process'.
24869         (epg--process-filter): Remove code separating stderr from stdout.
24870         (epg-wait-for-completion): Simplify `error-output' handling.
24871         (epg-reset): Dispose error buffer.
24873 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
24875         * .gitignore: Ignore doc temps and outputs.
24877         Port commit-msg to MSYS Bash+Gawk
24878         See Eli Zaretskii in:
24879         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00610.html
24880         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format)
24881         (cent_sign, print_at_sign, at_sign): Revert previous change.
24882         (print_at_sign): Prepend "BEGIN".
24883         (at_sign): Redirect from /dev/null to be safer with pre-POSIX awk.
24885         Port commit-msg to broken MS-Windows shell
24886         * build-aux/git-hooks/commit-msg (cent_sign):
24887         Just use UTF-8 here rather than ASCII + printf, as the latter fails
24888         on a broken MS-Windows shell.  Reported by Eli Zaretskii in:
24889         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00592.html
24891 2015-04-11  Chris Zheng  <chriszheng99@gmail.com>  (tiny change)
24893         Support GnuTLS v3.4 and later on MS-Windows
24894         * src/gnutls.c (syms_of_gnutls) <libgnutls-version>: New DEFSYM.
24895         * lisp/term/w32-win.el (dynamic-library-alist): Determine which
24896         GnuTLS DLL to load according to value of libgnutls-version.
24897         (Bug#20294)
24899 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
24901         Minor quoting etc. fixes to misc manuals
24902         Fix some minor quoting and spacing issues.  Distinguish more
24903         clearly among grave accent and apostrophe (which are ASCII) and
24904         single quote (which is not).  Prefer the standard terms
24905         "apostrophe" and "grave accent" to alternative names that can be
24906         confusing.  Use apostrophes to single-quote ASCII text.
24907         * doc/misc/remember.texi: Spell the mystic's pseudonym in UTF-8
24908         rather than approximating it in ASCII with grave accent.
24910 2015-04-11  Daiki Ueno  <ueno@gnu.org>
24912         Respect more keyword args in `make-process'
24913         * src/process.c (Fmake_process): Respect `:sentinel' and `:filter'
24914         keywords as documented.
24916 2015-04-10  Dmitry Gutov  <dgutov@yandex.ru>
24918         Extract ChangeLog entries when committing a directory
24919         * lisp/vc/vc-dispatcher.el (vc-log-edit): Update FIXME comment.
24920         * lisp/vc/log-edit.el (log-edit-changelog-insert-entries):
24921         Add a FIXME comment.
24922         (log-edit-changelog-entries): Extract from
24923         `log-edit-changelog-entries', handle FILE being a directory
24924         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00555.html).
24926 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
24928         Fix problems found by --enable-gcc-warnings
24929         * src/process.c (create_process, Fmake_pipe_process)
24930         (Fmake_network_process): Omit unused locals.
24932         Fix commit-msg to handle scissors lines
24933         * build-aux/git-hooks/commit-msg:
24934         Ignore every line after a scissors line, such as a line generated
24935         by 'git commit -v'.  Problem reported by Johan Bockgård in:
24936         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00580.html
24938         port commit-msg to Gawk 3.0.4 (1999)
24939         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format, cent_sign)
24940         (print_at_sign, at_sign): New vars.  Use them to avoid problems
24941         Eli Zaretskii encountered with Gawk 3.0.4 (1999) on MSYS.  See:
24942         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
24944         Have commit-msg report commit failure
24945         * build-aux/git-hooks/commit-msg: If the commit is aborted,
24946         say so.  Simplify by doing this at the end.  Problem reported
24947         by Eli Zaretskii in:
24948         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
24950 2015-04-10  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
24952         Clean up LDAP Configuration section of EUDC manual
24953         * doc/misc/eudc.texi: Combine indices.
24954         (LDAP Configuration): Use command markup.  Add index entries.
24955         Change formatting.  Wrap long lines.  Add noindent markup.
24957 2015-04-10  Daiki Ueno  <ueno@gnu.org>
24959         Add facility to collect stderr of async subprocess
24960         * src/w32.h (register_aux_fd): New function declaration.
24961         * src/w32.c (register_aux_fd): New function.
24962         * src/process.h (struct Lisp_Process): New member stderrproc.
24963         * src/process.c (PIPECONN_P): New macro.
24964         (PIPECONN1_P): New macro.
24965         (Fdelete_process, Fprocess_status, Fset_process_buffer)
24966         (Fset_process_filter, Fset_process_sentinel, Fstop_process)
24967         (Fcontinue_process): Handle pipe process specially.
24968         (create_process): Respect p->stderrproc.
24969         (Fmake_pipe_process): New function.
24970         (Fmake_process): Add new keyword argument :stderr.
24971         (wait_reading_process_output): Specially handle a pipe process when
24972         it gets an EOF.
24973         (syms_of_process): Register Qpipe and Smake_pipe_process.
24974         * doc/lispref/processes.texi (Asynchronous Processes): Document
24975         `make-pipe-process' and `:stderr' keyword of `make-process'.
24976         * lisp/subr.el (start-process): Suggest to use `make-process' handle
24977         standard error separately.
24978         * test/automated/process-tests.el (process-test-stderr-buffer)
24979         (process-test-stderr-filter): New tests.
24980         * etc/NEWS: Mention new process type `pipe' and its usage with the
24981         `:stderr' keyword of `make-process'.
24983 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
24985         Minor quoting etc. fixes to lispref manual
24986         * doc/lispref/tips.texi (Documentation Tips):
24987         Distinguish more clearly among grave accent, apostrophe,
24988         and single quote.
24989         * doc/lispref/README, doc/lispref/buffers.texi:
24990         * doc/lispref/commands.texi, doc/lispref/control.texi:
24991         * doc/lispref/customize.texi, doc/lispref/display.texi:
24992         * doc/lispref/elisp.texi, doc/lispref/files.texi:
24993         * doc/lispref/frames.texi, doc/lispref/hash.texi:
24994         * doc/lispref/help.texi, doc/lispref/internals.texi:
24995         * doc/lispref/loading.texi, doc/lispref/makefile.w32-in:
24996         * doc/lispref/markers.texi, doc/lispref/modes.texi:
24997         * doc/lispref/nonascii.texi, doc/lispref/objects.texi:
24998         * doc/lispref/os.texi, doc/lispref/positions.texi:
24999         * doc/lispref/strings.texi, doc/lispref/syntax.texi:
25000         * doc/lispref/text.texi, doc/lispref/tips.texi:
25001         * doc/lispref/two-volume-cross-refs.txt, doc/lispref/windows.texi:
25002         Use American-style double quoting in ordinary text,
25003         and quote 'like this' when single-quoting in ASCII text.
25004         Also, fix some minor spacing issues.
25006 2015-04-10  Michael Albinus  <michael.albinus@gmx.de>
25008         Handle symlinked test directory in tramp-tests.el
25009         * test/automated/tramp-tests.el (tramp-test18-file-attributes)
25010         (tramp--test-check-files): Use `file-truename' for directories.
25012 2015-04-10  Eli Zaretskii  <eliz@gnu.org>
25014         Fix 'recenter' when visual-line-mode is turned on
25015         * src/window.c (Frecenter): Use the same code for GUI and TTY
25016         frames alike; use vmotion only for "initial" frames.  This is
25017         because vmotion doesn't support visual-line-mode.  Rewrite the
25018         'iarg >= 0' case to use move_it_* functions instead of using
25019         vmotion, for the same reason.  Fix the clipping of the argument
25020         value to support scroll-margin in all cases and avoid unwarranted
25021         recentering.  Reported by Milan Stanojević <milanst@gmail.com> in
25022         http://lists.gnu.org/archive/html/help-gnu-emacs/2015-04/msg00092.html,
25023         which see.
25025 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
25027         * lisp/abbrev.el (define-abbrev-table): Refine last change.
25029         * lisp/emacs-lisp/cl-lib.el: Partial revert of "2015-04-05 Rationalize
25030         use of c[ad]+r", so as to keep the "cl-" prefix on all
25031         cl-lib definitions.
25033         * lisp/progmodes/vhdl-mode.el (vhdl-prepare-search-2):
25034         Use inhibit-point-motion-hooks.
25036         * lisp/cedet/semantic: Remove some dead code.
25037         * lisp/cedet/semantic/util-modes.el
25038         (semantic-stickyfunc-header-line-format): Emacs<22 is not supported
25039         any more.
25040         * lisp/cedet/semantic/fw.el (semantic-buffer-local-value): Emacs<21 is
25041         not supported any more.
25042         (semantic-safe): Use `declare'.
25043         * lisp/cedet/semantic/decorate.el (semantic-set-tag-intangible)
25044         (semantic-tag-intangible-p): Remove unused functions.
25045         * lisp/cedet/semantic/complete.el (semantic-displayor-window-edges):
25046         Remove unused function.
25048         * lisp/gnus/gnus-art.el (gnus-hidden-properties): Simplify.
25049         (gnus-article-hide-text, gnus-article-unhide-text)
25050         (gnus-article-unhide-text-type): Remove special handling of
25051         `intangible' since that property is not used any more.
25052         (gnus-article-treat-body-boundary): Use gnus-hidden-properties.
25054 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
25056         Use the VC root in `log-edit-listfun'
25057         * lisp/vc/vc-dispatcher.el (vc-log-edit): Use the VC root in
25058         `log-edit-listfun'.
25060 2015-04-09  Jay Belanger  <jay.p.belanger@gmail.com>
25062         Fix description of Unix time, mention new function.
25063         * lisp/calc/calc-forms.el (calcFunc-unixtime): Fix adjustment for
25064         Unix time.
25065         * doc/misc/calc.texi (Date Forms): Fix description of Unix time.
25066         (Basic Operations on Units): Mention `calc-convert-exact-units'.
25068 2015-04-09  Artur Malabarba  <bruce.connor.am@gmail.com>
25070         * lisp/emacs-lisp/package.el: Use mode-line-process for notification.
25072 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
25074         * lisp/vc/log-edit.el (log-edit-insert-changelog-entries):
25075         Don't add newline after the last entry.
25077 2015-04-09  Simen Heggestøyl  <simenheg@gmail.com>
25079         css-mode.el: Add "not" pseudo-class
25080         (Bug#20267)
25081         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Add "not" to
25082         list of CSS pseudo-classes.
25084 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
25086         * etc/NEWS: Add missing entry for "Stop messing with the EMACS env var".
25088 2015-04-09  Michael Albinus  <michael.albinus@gmx.de>
25090         Stop messing with the EMACS env var
25091         * doc/emacs/misc.texi (Interactive Shell): Remove description of
25092         EMACS env var.
25094 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
25096         Adapt 'make change-history' to coding cookie
25097         * Makefile.in (change-history): Adjust to change of format of
25098         ChangeLog file, which now has a coding cookie before an indented
25099         copyright notice.
25101 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
25103         Adapt 'make change-history' to coding cookie
25104         * Makefile.in (change-history): Adjust to change of format of
25105         ChangeLog file, which now has a coding cookie before an indented
25106         copyright notice.
25108         gitlog-to-changelog coding cookie and mv -i
25109         * build-aux/gitlog-to-emacslog: Use ChangeLog.1, not Makefile.in,
25110         for copyright notice prototype, so that we get a proper "coding:"
25111         cookie.  Use 'mv -i' to avoid unconditionally overwriting an
25112         existing ChangeLog.  Problems reported by Eli Zaretskii in:
25113         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00504.html
25115         Merge from gnulib
25116         * build-aux/gitlog-to-changelog: Update from gnulib, incorporating:
25117         2015-04-09 gitlog-to-changelog: port to MS-Windows
25119 2015-04-09  Boruch Baum  <boruch_baum@gmx.com>  (tiny change)
25121         * lisp/bookmark.el (bookmark-bmenu-goto-bookmark): Don't inf-loop.
25122         (Bug#20212)
25124 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
25126         Stop messing with the EMACS env var
25127         (Bug#20202)
25128         * lisp/net/tramp-sh.el (tramp-remote-process-environment):
25129         * lisp/comint.el (comint-exec-1):
25130         * lisp/term.el (term-exec-1): Don't set EMACS envvar.
25131         * lisp/progmodes/compile.el (compilation-start): Same and bring
25132         INSIDE_EMACS's format in line with other users.
25134         css-mode.el (css-smie-rules): Fix indentation after complex selectors
25135         (Bug#20282)
25136         * lisp/textmodes/css-mode.el (css-smie-rules): Don't get confused by
25137         inner structure of selectors.
25139 2015-04-08  Fabián Ezequiel Gallina  <fgallina@gnu.org>
25141         python.el: Indent docstring lines to base-indent
25142         (Bug#19595)
25143         Thanks to immerrr <immerrr@gmail.com> for reporting and providing
25144         an initial patch.
25145         * lisp/progmodes/python.el
25146         (python-indent-context): Add :inside-docstring context.
25147         (python-indent--calculate-indentation): Handle :inside-docstring.
25148         (python-indent-region): Re-indent docstrings.
25149         * test/automated/python-tests.el (python-indent-region-5)
25150         (python-indent-inside-string-2): Fix tests.
25152         python.el: Increase native completion robustness
25153         (Bug#19755)
25154         Thanks to Carlos Pita <carlosjosepita@gmail.com> for reporting
25155         this and providing useful ideas.
25156         * lisp/progmodes/python.el
25157         (python-shell-completion-native-output-timeout): Increase value.
25158         (python-shell-completion-native-try-output-timeout): New var.
25159         (python-shell-completion-native-try): Use it.
25160         (python-shell-completion-native-setup): New readline setup avoids
25161         polluting current context, ensures output when no-completions are
25162         available and includes output end marker.
25163         (python-shell-completion-native-get-completions): Trigger with one
25164         tab only.  Call accept-process-output until output end is found or
25165         python-shell-completion-native-output-timeout is exceeded.
25167 2015-04-08  Samer Masterson  <samer@samertm.com>
25169         * lisp/eshell: Make backslash a no-op in front of normal chars
25170         (Bug#8531)
25171         * lisp/eshell/esh-arg.el (eshell-parse-argument-hook): Update comment.
25172         (eshell-parse-backslash): Return escaped character after backslash
25173         if it is special.  Otherwise, if the backslash is not in a quoted
25174         string, ignore the backslash and return the character after; if
25175         the backslash is in a quoted string, return the backslash and the
25176         character after.
25177         * test/automated/eshell.el (eshell-test/escape-nonspecial)
25178         (eshell-test/escape-nonspecial-unicode)
25179         (eshell-test/escape-nonspecial-quoted)
25180         (eshell-test/escape-special-quoted): Add tests for new
25181         `eshell-parse-backslash' behavior.
25183 2015-04-08  Gustav Hållberg  <gustav@gmail.com>  (tiny change)
25185         * lisp/vc/diff-mode.el (diff-hunk-file-names): Don't require a TAB
25186         after the file name.
25187         (Bug#20276)
25189 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
25191         Minor quoting etc. fixes to Emacs manual
25192         * doc/emacs/Makefile.in, doc/emacs/ack.texi, doc/emacs/building.texi:
25193         * doc/emacs/calendar.texi, doc/emacs/cmdargs.texi:
25194         * doc/emacs/custom.texi, doc/emacs/dired.texi, doc/emacs/emacs.texi:
25195         * doc/emacs/files.texi, doc/emacs/glossary.texi, doc/emacs/gnu.texi:
25196         * doc/emacs/indent.texi, doc/emacs/macos.texi:
25197         * doc/emacs/maintaining.texi, doc/emacs/makefile.w32-in:
25198         * doc/emacs/programs.texi, doc/emacs/rmail.texi:
25199         * doc/emacs/search.texi, doc/emacs/trouble.texi:
25200         * doc/emacs/vc1-xtra.texi:
25201         Use American-style double quoting in ordinary text,
25202         and quote 'like this' when single-quoting in ASCII text.
25203         Also, fix some minor spacing issues.
25205         Minor quoting etc. fixes to elisp intro
25206         * doc/lispintro/emacs-lisp-intro.texi: Consistently use
25207         American-style double quoting in ordinary text.  In ASCII text,
25208         consistently quote 'like this' instead of `like this', unless
25209         Emacs requires the latter.
25211 2015-04-08  Dmitry Gutov  <dgutov@yandex.ru>
25213         * CONTRIBUTE: Mention log-edit-insert-changelog.
25215         * CONTRIBUTE: Emphasize creating the top-level ChangeLog file manually.
25217 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
25219         * doc/misc/calc.texi (Summary): Avoid '@:' when usurped.
25221 2015-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>
25223         * lisp/emacs-lisp/eieio-core.el (eieio-copy-parents-into-subclass):
25224         Fix inheritance of initargs.  (Bug#20270)
25226 2015-04-08  Artur Malabarba  <bruce.connor.am@gmail.com>
25228         * lisp/emacs-lisp/package.el (package-menu-mode): Mode-line notification
25229         while dowloading information.
25231         * lisp/emacs-lisp/package.el: More conservative `ensure-init-file'
25232         (package--ensure-init-file): Check file contents before visiting.
25233         (package-initialize): Call it.
25234         (package-install-from-buffer, package-install): Don't call it.
25236 2015-04-08  Eli Zaretskii  <eliz@gnu.org>
25238         * src/eval.c (init_eval_once): Bump max_lisp_eval_depth to 800.
25239         (Bug#17517)
25241 2015-04-08  Michael Albinus  <michael.albinus@gmx.de>
25243         * lisp/net/tramp-cache.el (tramp-flush-file-property):
25244         Fix nasty scoping bug.
25246 2015-04-08  Tassilo Horn  <tsdh@gnu.org>
25248         Add notice to visual commands section
25249         * doc/misc/eshell.texi (Input/Output): Add notice that some tools
25250         such as git call less with its -F option which omits pagination if
25251         the contents is less than one page long.  This interferes with
25252         eshell's visual (sub-)commands.
25254 2015-04-07  Dmitry Gutov  <dgutov@yandex.ru>
25256         * lisp/ffap.el (ffap-string-at-point-mode-alist): Support
25257         environment variable expansion in file names.  (Bug#19839)
25259 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
25261         Prefer double-quote to accent-grave in man pages
25263 2015-04-07  Stefan Monnier  <monnier@iro.umontreal.ca>
25265         (Bug#20257)
25266         * lisp/files.el (set-visited-file-name): Clear auto-save if nil.
25268 2015-04-07  Ivan Shmakov  <ivan@siamics.net>
25270         Update etc/PROBLEMS.
25271         * etc/PROBLEMS: Mention visible-cursor; a few more mentions of
25272         ~/.Xresources and xrdb(1); refer to 'GNU Coreutils' and
25273         'X Window System' or 'X' (were: 'GNU Fileutils' and 'X Windows',
25274         respectively); other minor updates and tweaks.  (Bug#20011)
25276 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
25278         Add doc strings for some Isearch state vars
25279         * lisp/misearch.el (multi-isearch-buffer-list)
25280         (multi-isearch-file-list): Add doc strings.
25281         (Bug#20232)
25283 2015-04-07  Alan Mackenzie  <acm@muc.de>
25285         Always mark "<" and ">" in #include directives with text properties.
25286         * lisp/progmodes/c-fonts.el (c-cpp-matchers): Replace a font-lock
25287         "anchored matcher" with an invocation of
25288         c-make-font-lock-search-function to allow fontification when there's
25289         no trailing space on an "#include <..>" line.
25291 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
25293         Generate a ChangeLog file from commit logs
25294         * .gitignore: Add 'ChangeLog'.
25295         * build-aux/gitlog-to-changelog: New file, from Gnulib.
25296         * build-aux/gitlog-to-emacslog: New file.
25297         * CONTRIBUTE: Document the revised workflow.
25298         * Makefile.in (clean): Remove *.tmp and etc/*.tmp*
25299         instead of just special cases.
25300         (CHANGELOG_HISTORY_INDEX_MAX, CHANGELOG_N, gen_origin): New vars.
25301         (ChangeLog, unchanged-history-files, change-history)
25302         (change-history-commit): New rules.
25303         * admin/admin.el (make-manuals-dist--1):
25304         Don't worry about doc/ChangeLog.
25305         * admin/authors.el: Add a FIXME.
25306         * admin/make-tarball.txt:
25307         * lisp/calendar/icalendar.el:
25308         * lisp/gnus/deuglify.el:
25309         * lisp/obsolete/gulp.el:
25310         * lwlib/README:
25311         Adjust to renamed ChangeLog history files.
25312         * admin/merge-gnulib (GNULIB_MODULES): Add gitlog-to-changelog.
25313         * admin/notes/repo: Call it 'master' a la Git, not 'trunk' a la Bzr.
25314         Remove obsolete discussion of merging ChangeLog files.
25315         New section "Maintaining ChangeLog history".
25316         * build-aux/git-hooks/pre-commit:
25317         Reject attempts to commit files named 'ChangeLog'.
25318         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
25319         * make-dist: Make and distribute top-level ChangeLog if there's a
25320         .git directory.  Distribute the new ChangeLog history files
25321         instead of scattered ChangeLog files.  Distribute the new files
25322         gitlog-to-changelog and gitlog-to-emacslog.
25323         (Bug#19113)
25325         Rename ChangeLogs for gitlog-to-changelog
25326         This patch was implemented via the following shell commands:
25327         find * -name ChangeLog |
25328         sed 's,.*,git mv & &.1,
25329         s, lisp/ChangeLog\.1$, lisp/ChangeLog.17,
25330         s, lisp/erc/ChangeLog\.1$, lisp/erc/ChangeLog.09,
25331         s, lisp/gnus/ChangeLog\.1$, lisp/gnus/ChangeLog.3,
25332         s, lisp/mh-e/ChangeLog\.1$, lisp/mh-e/ChangeLog.2,
25333         s, src/ChangeLog\.1$, src/ChangeLog.13,' |
25334         sh
25335         git commit -am"[this commit message]"
25337 This file records repository revisions from
25338 commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to
25339 commit 384cf23c6ed05e1f151032958a2cc2bb8100344b (inclusive).
25340 See ChangeLog.1 for earlier changes.
25342 ;; Local Variables:
25343 ;; coding: utf-8
25344 ;; End:
25346   Copyright (C) 2015-2016 Free Software Foundation, Inc.
25348   This file is part of GNU Emacs.
25350   GNU Emacs is free software: you can redistribute it and/or modify
25351   it under the terms of the GNU General Public License as published by
25352   the Free Software Foundation, either version 3 of the License, or
25353   (at your option) any later version.
25355   GNU Emacs is distributed in the hope that it will be useful,
25356   but WITHOUT ANY WARRANTY; without even the implied warranty of
25357   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
25358   GNU General Public License for more details.
25360   You should have received a copy of the GNU General Public License
25361   along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.