; Some ChangeLog fixes. It remains a complete mess.
[emacs.git] / ChangeLog.2
blob44c442da2fcc74931166fcc3045a94182964c6bd
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-07  Glenn Morris  <rgm@gnu.org>
17         Allow creation of loaddefs files without timestamps.
19         * lisp/emacs-lisp/autoload.el (autoload-timestamps): New variable.
20         (autoload-generate-file-autoloads, update-directory-autoloads):
21         If autoload-timestamps is nil, write "t" instead of file timestamp.
22         (autoload-find-destination, update-directory-autoloads):
23         If timestamp is "t", use the modtime of the output file instead.
25 2016-01-06  Glenn Morris  <rgm@gnu.org>
27         Doc tweaks.
29         * lisp/calendar/cal-hebrew.el (diary-hebrew-list-entries):
30         * lisp/calendar/cal-iso.el (calendar-iso-to-absolute)
31         (calendar-iso-from-absolute):
32         * lisp/calendar/cal-tex.el (cal-tex-comment):
33         * lisp/calendar/solar.el (calendar-time-display-form): Doc tweaks.
35 2016-01-06  Glenn Morris  <rgm@gnu.org>
37         Build tweaks related to tags files.
39         * lib-src/Makefile.in (tagsfiles): New variable.
40         (TAGS): Also depend on the source files.  Use our own etags program.
41         * lisp/Makefile.in (ETAGS): Add EXEEXT.
42         (lisptagsfiles1, lisptagsfiles2, lisptagsfiles3, lisptagsfiles4):
43         Remove.
44         (tagsfiles): New, replacing lisptagsfiles1 etc.
45         Remove irrelevant source files here rather than in the TAGS rule.
46         (${ETAGS}): New rule.
47         (TAGS): Also depend on the etags executable.
48         * lwlib/Makefile.in (EXEEXT): New, set by configure.
49         (ETAGS): Add EXEEXT.
50         (${ETAGS}): New rule.
51         (ctagsfiles): Use "wildcard".
52         (TAGS): Also depend on the etags executable.
53         * nt/Makefile.in (ETAGS, tagsfiles): New variables.
54         (${ETAGS}): New rule.
55         (TAGS): Fix dependencies.
56         * oldXMenu/Makefile.in (EXEEXT): New, set by configure.
57         (ETAGS): New variable, replacing $TAGS.  Use our own etags program.
58         Remove "-t" argument.
59         (${ETAGS}): New rule.
60         (tagsfiles): New variable.
61         (TAGS): New rule, with proper dependencies.
62         * src/Makefile.in (ETAGS): Add EXEEXT.  Add a build rule.
63         (ctagsfiles1, ctagsfiles2): Use "wildcard".
64         (ctagsfiles3): Remove.
65         (TAGS): Depend on etags.
66         (../lisp/TAGS, $(lwlibdir)/TAGS): Let the rules in the relevant
67         directories decide if updates are needed.
69 2016-01-06  Glenn Morris  <rgm@gnu.org>
71         * lisp/Makefile.in (CAL_SRC): Skip calendar.el.
73 2016-01-06  Glenn Morris  <rgm@gnu.org>
75         * test/lisp/emacs-lisp/package-tests.el
77         (package-test-macro-compilation): Fixup branch merge.
79 2016-01-05  Eli Zaretskii  <eliz@gnu.org>
81         Fix fallout from merging emacs-25 branch in test/
83         * .gitignore: Update for the new place of biditest.txt.
84         * test/automated/: Directory removed.  All files moved to their
85         proper places.
86         * test/etags/: Directory removed.  All files moved to their proper
87         places.
88         * test/automated/url-parse-tests.el: File removed; it was an exact
89         copy of the same file in test/lisp/url/.
90         * test/automated/url-expand-tests.el: Moved to test/lisp/url/.
92 2016-01-04  Paul Eggert  <eggert@cs.ucla.edu>
94         Spelling fixes.
96 2016-01-04  Daniel Colascione  <dancol@dancol.org>
98         Let users disable unsafe signal handling code
100         * src/keyboard.c (syms_of_keyboard): New user variables
101         `attempt-stack-overflow-recovery' and
102         `attempt-orderly-shutdown-on-fatal-signal'.
103         * src/sysdep.c (stack_overflow): Check
104         `attempt-stack-overflow-recovery'.
105         * src/emacs.c (terminate_due_to_signal): Check
106         `attempt-orderly-shutdown-on-fatal-signal'.
108 2016-01-03  Michael Albinus  <michael.albinus@gmx.de>
110         * configure.ac: Add error message for gfile on Nextstep.
112 2016-01-03  John Wiegley  <johnw@newartisans.com>
114         Merge branch 'emacs-25-merge'
116 2016-01-02  Vincent Belaïche  <vincentb1@users.sourceforge.net>
118         Align textually on fix done for emacs-25 branch for bug#21054
120         * lisp/ses.el (ses-check-curcell): Suppress ``temporary fix'' comment,
121         and useless `(if t ...)' in order to align textually on fix done for
122         emacs-25 branch for bug#21054.
124 2016-01-02  K. Handa  <handa@gnu.org>
126         support rendering of wider range of combinging characters by ftfont backend
128         * lisp/language/hebrew.el (hebrew-shape-gstring): If the font backend
129         supports rendering of combining characters, call
130         font-shape-gstring.
132         * src/font.c (Ffont_get): Handle `combining-capability' property.
133         (syms_of_font): New symbol ":combining-capability'.
135         * src/font.h (struct font_driver): New member combining_capability.
137         * src/ftfont.c: Include "category.h".
138         (ftfont_driver): Initialize combining_capability to
139         ftfont_combining_capability.
140         (ftfont_shape_by_flt): If OTF is null, try to find a suitable
141         FLT in advance.
142         (ftfont_combining_capability): New function.
144 2016-01-01  Andrew Hyatt  <ahyatt@gmail.com>
146         Add notes on bug triage procedure
148         * CONTRIBUTE: In section on the issue tracker, point to new triage file.
149         * admin/notes/triage: New file explaining triage procedure.
151 2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
153         Correct ses-rename-cell cursor-intangible text prop updating.
155         There were two problems:
157         - First ses-rename-cell has to work when called non interactively
158           (with non-nil CELL argument), so in this case the start pos of
159           put-text-property cannot be plainly (point), you need a
160           ses-goto-print call before
162         - Second, the range itself was computed erronously, only the first
163           char was affected instead of the full cell width. This was not
164           noticeable prior to changes (Deprecate `intangible' and
165           `point-entered' properties) made by Stefan on 2015-04-13T19:51:15Z
167         * lisp/ses.el (ses-rename-cell): Correct computation of position range
168         to which the 'cursor-intangible text property has to be set to cell
169         new name.
171 2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
173         Don't fake empty cells value by "" when printing with a lambda.
175         When using a lambda expression printer function the user should be
176         free to format differently a really empty cell, ie. containing nil,
177         from a cell containing an empty string "".
179         * ses.el (ses-call-printer): Replace `(or value "")' by just `value'
180         in the case of a lambda expression printer function.
182         * ses.texi (Printer functions): Add example and description about
183         lambda expression printer function handling all the possible values,
184         including unexpected ones.
186 2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
188         Quick temporary hack to fix curcell refreshing.
190         The problem was caused by change: 2015-04-13 Deprecate `intangible'
191         and `point-entered' properties. The problem is that this change has
192         removed the (setq ses--curcell t) setting in the ses-command-hook
193         function.
195         * ses.el (ses-check-curcell): replace `(eq ses--curcell t)' by just `t' as
196         a condition to call function `ses-set-curcell'. Comment this as a quick
197         temporary hack to make it work, as I don't know yet whether a definite
198         correction would be to make the ses-set-curcell at every ses-check-curcell,
199         or to revert to the previous approach, ie marking ses--curcell as out-of-date
200         at every potentially cursor motion command.
202 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
204         Restrictive URL checking tweaks
206         * lisp/net/eww.el (eww): Check whether the domain is
207         restrictive instead of the string
208         (http://македонија.icom.museum is restrictive even if each
209         part is from a different script).
211 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
213         New function `puny-highly-restrictive-domain-p'
215         * lisp/net/puny.el (puny-highly-restrictive-string-p): Rename.
216         (puny-highly-restrictive-domain-p): New function.
218 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
220         eww build fix (require puny)
222 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
224         Transform non-restrictive domains to punycode for display
226         * lisp/net/eww.el (eww): Check whether the domain is Highly
227         Restrictive in the Unicode IDNA sense.
229 2015-12-30  John Wiegley  <johnw@newartisans.com>
231         Merge emacs-25 into master (using imerge)
233 2015-12-29  Eli Zaretskii  <eliz@gnu.org>
235         Fix typos in CC Mode manual
237         * doc/misc/cc-mode.texi (c-offsets-alist, Style Variables): Fix
238         typos.  (Bug#22267)
240 2015-12-29  Eli Zaretskii  <eliz@gnu.org>
242         Avoid assertion violations in compact_font_cache_entry
244         * src/alloc.c (compact_font_cache_entry): Don't use VECTORP to
245         avoid assertion violation in ASIZE.  (Bug#22263)
247 2015-12-29  Eli Zaretskii  <eliz@gnu.org>
249         Fix filling text with bidirectional characters in shr.el
251         * lisp/net/shr.el (shr-insert-document): Bind
252         bidi-display-reordering to nil while filling lines.  This is
253         required for when a line includes characters whose bidi
254         directionality is opposite to the base paragraph direction,
255         because columns are counted in the logical order.  (Bug#22250)
257 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
259         Further Unicode restrictive fixups
261         * puny.el (puny-highly-restrictive-p): Include the extra
262         identifier characters from table 3.
264 2015-12-29  Martin Rudalics  <rudalics@gmx.at>
266         * src/xfns.c (x_create_tip_frame): Process alpha parameter.
268 2015-12-29  Michael Albinus  <michael.albinus@gmx.de>
270         Sync with Tramp 2.2.13
272         * doc/misc/trampver.texi: Change version to "2.2.13.25.1".
274         * lisp/net/tramp-compat.el (tramp-compat-delete-dups):
275         Use `tramp-compat-funcall'.
277         * lisp/net/tramp-gvfs.el (tramp-gvfs-parse-device-names):
278         Make `split-string' call compatible with older Emacsen.
280         * lisp/net/trampver.el: Change version to "2.2.13.25.1".
282 2015-12-29  Lambda Coder  <sjLambda@gmail.com>
284         * doc/misc/tramp.texi: Editorial revisions to the Tramp manual
286 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
288         Mention that tls.el is secure by default, and will fail
290 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
292         Make tls.el use trustfiles by default
294         * lisp/net/tls.el (tls-program): Add a certfile by default (bug#21227).
295         (open-tls-stream): Insert the trustfile by looking at
296         `gnutls-trustfiles'.
298 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
300         Refactor out gnutls-trustfiles
302         * lisp/net/gnutls.el (gnutls-trustfiles): Refactor out for reuse by tls.el.
304 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
306         Remove --insecure from gnutls-cli invocation
308         * tls.el (tls-program): Default to using secure TLS
309         connections (bug#19284).
311 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
313         Add a new function to say whether a string is restrictive
315         * puny.el (puny-highly-restrictive-p): New function.
317 2015-12-28  Paul Eggert  <eggert@cs.ucla.edu>
319         Spelling fix
321 2015-12-28  Paul Eggert  <eggert@cs.ucla.edu>
323         Port report-emacs-bug to deterministic builds
325         * lisp/mail/emacsbug.el (report-emacs-bug): Future-proof the
326         recent "built on" change to deterministic builds where
327         emacs-build-system will be nil.  See:
328         http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg01369.html
330 2015-12-28  Jose A. Ortega Ruiz  <jao@gnu.org>  (tiny change)
332         Fix URL auth error message
334         * lisp/url/url-http.el (url-http-handle-authentication): Make the error
335         message more correct (bug#20069).
337 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
339         Mention the new puny.el library
341 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
343         IDNA-related fixes for the URL library
345         * lisp/url/url-http.el (url-http-create-request): IDNA-encode
346         the Host: header.
348         * lisp/url/url-util.el (url-encode-url): Don't hex-encode
349         domain names, but leave them as UTF-8, so that they can be
350         IDNA-encoded later when contacting the host.
352 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
354         IDNA-encode all domain names in `open-network-stream'
356         * network-stream.el (open-network-stream)
357         (network-stream-open-plain, network-stream-open-starttls):
358         IDNA-encode all domain names, if needed.
360 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
362         Fix puny-encoding all-non-ASCII domains
364         * puny.el (puny-encode-string): Fix the all-non-ASCII encoding case.
366 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
368         * lisp/net/shr.el (shr-next-link): Don't bug out on adjacent links.
370 2015-12-28  Tom Tromey  <tom@tromey.com>
372         set :safe on css-indent-offset
374         * lisp/textmodes/css-mode.el (css-indent-offset): Add :safe 'integerp.
376 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
378         * eww.el (eww-mode): Remove superfluous bidi reset.
380 2015-12-28  James Stout  <james.wolf.stout@gmail.com>  (tiny change)
382         Make chunked encoding trailer detection more compliant
384         * lisp/url/url-http.el
385         (url-http-chunked-encoding-after-change-function): Make
386         trailer detection more compliant (bug#16345).
388 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
390         Reconnect erc even on server errors
392         * lisp/erc/erc-backend.el (erc-server-reconnect-p): Try to
393         reconnect even if a server error has occurred (bug#18527).
395 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
397         Fix punycode short circuit logic
399         * puny.el (puny-encode-domain): Fix short-circuit logic.
401 2015-12-28  Martin Rudalics  <rudalics@gmx.at>
403         Fix Bug#10873 in `report-emacs-bug'
405         * lisp/mail/emacsbug.el (report-emacs-bug): If
406         `report-emacs-bug-no-explanations' is nil, make sure we can show
407         mail and warnings buffer on this frame (Bug#10873).
409 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
411         IDNA speed up
413         * puny.el (puny-encode-domain): Make the common non-IDNA case faster
415 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
417         Add IDNA domain encode/decode functions
419         * puny.el (puny-decode-domain): New function.
420         (puny-encode-domain): Ditto.
421         (puny-decode-digit): Fix digit decoding error.
423 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
425         Rename idna.el to puny.el
427         * puny.el: Renamed from idna.el to avoid name collisions with
428         the external idna.el library.
430 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
432         Always reset the bidi direction
434         * eww.el (eww-display-html): Always reset the bidi direction
435         to `left-to-right' (bug#22257).
437 2015-12-28  Alan Mackenzie  <acm@muc.de>
439         Allow line comments ending with escaped NL to be continued to the next line.
441         Use this in C, C++, and Objective C Modes.  Fixes bug#22246
443         * src/syntax.c (comment-end-can-be-escaped): New buffer local variable.
444         (forw-comment, back-comment): On encountering an end of comment character,
445         test whether it is escaped when `comment-end-can-be-escaped' is non-nil.
447         * doc/lispref/syntax.texi (Control Parsing): Describe
448         `comment-end-can-be-escaped'.
450         * etc/NEWS (Lisp Changes): Describe `comment-end-can-be-escaped'.
452         * lisp/progmodes/cc-langs.el: New c-lang-setvar `comment-end-can-be-escaped'.
454 2015-12-28  Katsumi Yamaoka  <yamaoka@jpl.org>
456         lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): Keep old Emacsen compatibility
458         * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe):
459         Don't use split-string with 4th arg for old Emacsen compatibility.
461 2015-12-27  Dmitry Gutov  <dgutov@yandex.ru>
463         Rename project-library-roots to project-external-roots
465         * lisp/progmodes/project.el (project-library-roots): Rename to
466         project-external-roots.
467         (project-library-roots-function): Rename to
468         project-vc-external-roots-function.  Only use it in the VC
469         backend, for now.  Update project-external-roots accordingly.
470         (project-vc-library-roots): Remove.
471         (project-or-libraries-find-regexp):
472         Rename to project-or-external-find-regexp.
474         * lisp/progmodes/elisp-mode.el (elisp-library-roots):
475         Rename to elisp-load-path-roots.
477         * lisp/progmodes/etags.el (etags-library-roots): Remove.  Use
478         an anonymous function for the default value of
479         project-vc-external-roots-function.
481 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
483         * idna.el (idna-decode-string-internal): Implement decoding.
485 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
487         Further IDNA tweaks
489         (idna-encode-string): Make idna-encode-string safe for
490         non-ASCII use.
492 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
494         Clean up the code slightly
496 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
498         Added basic idna encoding support
500         * lisp/net/idna.el: New file.
502 2015-12-27  Vivek Dasmohapatra  <vivek@etla.org>
504         Disconnection fixes for erc
506         * lisp/erc/erc-backend.el (erc-server-reconnect-p): Don't
507         reconnect if the user has disconnected explicitly (bug#4589).
509 2015-12-27  Thomas Riccardi  <riccardi.thomas@gmail.com>  (tiny change)
511         Further erc asynch fixes
513         * lisp/erc/erc-backend.el (erc-process-sentinel-2): Make
514         erc-server-connect to return even if the connection is not
515         ready.  Then erc-open and erc-server-reconnect do the
516         same. (bug#5650).
518 2015-12-27  Vivek Dasmohapatra  <vivek@etla.org>
520         Make erc connect asynchronously
522         * lisp/erc/erc-backend.el (erc-server-reconnect): Use it to
523         reconnect asynchronously.
525         * lisp/erc/erc-backend.el (erc-open-network-stream): New function (bug#5650).
527 2015-12-27  Deniz Dogan  <deniz@dogan.se>
529         Clear erc user list upon disconnection
531         * lisp/erc/erc-backend.el (erc-process-sentinel): Clear channel user
532         lists upon disconnection.  This prevents invalid channel
533         user lists when reconnecting (bug#10947).
535 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
537         Don't bug out in erc after waking from sleep
539         * erc-backend.el (erc-server-send-ping): If the server has
540         closed connection, this may already have been detected and
541         `erc-server-last-received-time' has been set to nil (bug#13608).
543 2015-12-27  David Edmondson  <dme@dme.org>
545         Proxy error in erc with multiple clients
547         * lisp/erc/erc.el (erc-channel-receive-names): Fix errors
548         generated when multiple IRC clients talk to a single IRC proxy
549         (bug#19034).
551 2015-12-27  Dima Kogan  <dima@secretsauce.net>
553         Ensure that we don't have several timers in erc
555         * lisp/erc/erc-backend.el (erc-server-setup-periodical-ping): Checks
556         for existing timers in the alist before adding new ones.  If a
557         timer already exists, it is cancelled and
558         overwritten. (bug#19292).
560 2015-12-27  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
562         * lisp/gnus/mml-sec.el: Fix warnings by adding autoloads
563         (bug#18718).
565 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
567         * lisp/erc/erc-log.el (erc-log-setup-logging): Insert the previous log
568         at the start of the buffer, not at the end (bug#20496).
570 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
572         * lisp/net/eww.el (eww-setup-buffer): Restore left-to-right defaults.
574 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
576         Don't join erc channels doubly
578         * erc-join.el (erc-autojoin-channels): Don't join channels
579         more than once (if you have several nicks) (bug#20695).
581 2015-12-27  Eli Zaretskii  <eliz@gnu.org>
583         Avoid leaving "ghost" of mouse pointer on MS-Windows
585         * src/w32term.c (frame_set_mouse_pixel_position):
586         * src/w32fns.c (Fw32_mouse_absolute_pixel_position): Momentarily
587         disable "mouse trails" when moving the mouse pointer.  (Bug#22247)
588         * src/w32term.c (frame_set_mouse_pixel_position): Include
589         w32common.h.
591 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
593         * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): Fix typo in last check-in.
595 2015-12-27  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
597         Identify unsafe combinations of Bcc and encryption
599         * lisp/gnus/gnus-util.el (gnus-subsetp): New function
600         * lisp/gnus/mml-sec.el (mml-secure-safe-bcc-list): New variable
601         * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): New function
603 2015-12-27  Krzysztof Jurewicz  <krzysztof.jurewicz@gmail.com>  (tiny change)
605         Fix auth source lookups from erc with port numbers
607         * lisp/erc/erc.el (erc-open): `auth-source' wants strings, not port
608         numbers (bug#20541).
610 2015-12-27  Fran Litterio  <flitterio@gmail.com>
612         Run erc-kill-channel-hook always on exit
614         * lisp/erc/erc.el (erc-kill-buffer-function): Run erc-kill-channel-hook
615         when erc-kill-queries-on-quit is set (bug#21187).
617 2015-12-26  Paul Eggert  <eggert@cs.ucla.edu>
619         Spelling fix
621         * test/automated/url-parse-tests.el:
622         (url-generic-parse-url/same-document-reference):
623         Rename from url-generic-parse-url/same-decument-reference.
625 2015-12-26  Paul Eggert  <eggert@cs.ucla.edu>
627         Reword initial *scratch* for brevity, appearance
629         * lisp/startup.el (initial-scratch-message):
630         Reword to avoid apostrophes, and to make it shorter.
631         See the thread starting in:
632         http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg01241.html
634 2015-12-26  Leo Liu  <sdl.web@gmail.com>
636         Add ert-deftest to lisp-mode.el
638         * lisp-mode.el (lisp-imenu-generic-expression,
639           lisp-el-font-lock-keywords-1): Add ert-deftest.
641 2015-12-26  Lars Ingebrigtsen  <larsi@gnus.org>
643         Mark imap changes as not needing doc changes
645         * imap.el (imap-ssl-open): Remove
647 2015-12-26  Lars Ingebrigtsen  <larsi@gnus.org>
649         Use built-in encryption in imap.el
651         * lisp/net/imap.el (imap-ssl-program): Remove (bug#21134).
652         (imap-starttls-open): Use open-network-stream instead of starttls.el.
653         (imap-tls-open): Use open-network-stream instead of tls.el.
655 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
657         Don't try using /bin/sh in artist.el on MS-Windows
659         * lisp/textmodes/artist.el (artist-figlet-get-font-list-windows):
660         New function.
661         (artist-figlet-choose-font): Use it on MS-Windows and MS-DOS.
662         (Bug#20167)
664 2015-12-26  Wolfgang Jenkner  <wjenkner@inode.at>
666         Always define gmalloc etc. in src/gmalloc.c
668         This is a work-around to prevent the compiler from using semantic
669         knowledge about malloc for optimization purposes.  E.g., gcc 5.2
670         with -O2 replaces most of calloc's definition by a call to calloc;
671         see Bug#22085.
672         * src/gmalloc.c [!HYBRID_MALLOC] (malloc, realloc, calloc)
673         (aligned_alloc, free): Do not undef.  Instead, define these as
674         functions (perhaps renamed to gmalloc etc.) in terms of gmalloc etc.
676 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
678         Fix documentation of browse-url browser-related functions
680         * lisp/net/browse-url.el (browse-url)
681         (browse-url-default-browser, browse-url-default-windows-browser)
682         (browse-url-default-macosx-browser, browse-url-chromium)
683         (browse-url-kde, browse-url-text-xterm): Clarify the usage of ARGS
684         and NEW-WINDOW arguments in these functions.  (Bug#19421)
686 2015-12-26  Paul Eggert  <eggert@cs.ucla.edu>
688         Propagate Bug#14412 fix to backtrace_eval_unrewind
690         * src/eval.c (unbind_to): Redo so that the FALLTHROUGH!! comment
691         becomes accurate again. This shouldn’t affect behavior.
692         (backtrace_eval_unrewind): Apply the recent unbind_to fix here, too.
694 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
696         Don't produce non-ASCII characters in *scratch*
698         * lisp/startup.el (initial-scratch-message): Quote apostrophes to
699         avoid producing non-ASCII characters in the *scratch* buffer's
700         commentary.
702 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
704         Document changes in 'compare-windows'
706         * lisp/vc/compare-w.el (compare-windows-removed)
707         (compare-windows-added): Doc fix.
709         * doc/emacs/files.texi (Comparing Files): Document the changes in
710         window selection by 'compare-windows'.
712 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
714         Document 'vc-annotate-background-mode'
716         * doc/emacs/maintaining.texi (Old Revisions): Document
717         'vc-annotate-background-mode'.
719 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
721         Document 'vc-region-history'
723         * doc/emacs/maintaining.texi (VC Change Log): Document
724         'vc-region-history'.
726 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
728         Improve documentation of 'vc-push'
730         * doc/emacs/maintaining.texi (Pulling / Pushing): Expand and
731         improve the documentation of 'vc-push'.
733         * lisp/vc/vc.el (vc-pull, vc-push): Doc fix.
735 2015-12-26  Alain Schneble  <a.s@realize.ch>
737         Include the tests for the URL parsing fixes
739 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
741         Document 'url-user-agent'.
743         * lisp/url/url-http.el (url-user-agent): Move from here...
744         * lisp/url/url-vars.el (url-user-agent): ...to here.  This is to
745         keep all the URL defcustoms in one place, and also have it defined
746         whenever the URL library is loaded.
748         * doc/misc/url.texi (Customization): Document 'url-user-agent'.
750 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
752         Document protocols supported by URL library via Tramp
754         * doc/misc/url.texi (Tramp): New node, describes the URL schemes
755         supported via Tramp.
756         (Supported URL Types, file/ftp, rlogin/telnet/tn3270): Mention
757         Tramp.
759 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
761         Document changes in Shell-script mode
763         * lisp/progmodes/sh-script.el (sh-mode, sh-set-shell): Document
764         the 'sh-shell' file-local variable.
765         (top level): Add an auto-load form to avoid byte-compiler warning
766         about 'comint-send-string'.
768 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
770         Fix documentation of 'ses-define-local-printer'
772         * doc/misc/ses.texi (Printer functions): Fix whitespace between
773         sentences and punctuation.  Add an index entry for
774         'ses-define-local-printer'.
776 2015-12-26  Shakthi Kannan  <shakthimaan@gmail.com>
778         Document 'ert-summarize-tests-batch-and-exit'
780         * doc/misc/ert.texi (Running Tests in Batch Mode): Document
781         'ert-summarize-tests-batch-and-exit'.
783 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
785         Avoid assertion violation in unbind_to
787         * src/eval.c (unbind_to) <SPECPDL_LET>: Avoid assertion violation
788         if we get here with an object that is not a symbol.  (Bug#14412)
790 2015-12-25  Andreas Schwab  <schwab@linux-m68k.org>
792         Don't treat /foo/bar:mumble as ange-ftp address
793         * lisp/net/browse-url.el (browse-url-filename-alist): Match colons
794         only in the first component.  (bug#5362)
796 2015-12-25  Eli Zaretskii  <eliz@gnu.org>
798         Make sure *scratch* etc. use forward slashes in its default-directory
800         * lisp/startup.el (normal-top-level): On MS-Windows, convert
801         backslashes to forward slashes while decoding default-directory
802         of the initially-created buffers.
804 2015-12-25  Eli Zaretskii  <eliz@gnu.org>
806         Restore info about the build host in bug reports
808         * lisp/mail/emacsbug.el (report-emacs-bug): Report the system on
809         which Emacs was built.  This is important information for
810         investigating bug reports reported by users who don't build their
811         Emacs.
813 2015-12-25  Eli Zaretskii  <eliz@gnu.org>
815         Fix bootstrap broken by changes related to OS X file-name encoding
817         * lisp/international/ucs-normalize.el (eval-when-compile): Make
818         sure char-code-property-alist includes elements that allow access
819         to 'decomposition' and 'canonical-combining-class' Unicode
820         properties, as compiling ucs-normalize.el requires that.
821         * lisp/loadup.el (featurep 'ns): Load ucs-normalize and ns-win
822         only of charprop.el was already loaded.
824         * src/Makefile.in ($(lispsource)/international/ucs-normalize.elc):
825         New order-only dependency.
827 2015-12-25  Leo Liu  <sdl.web@gmail.com>
829         * ido.el (ido-add-virtual-buffers-to-list): Use bookmark-get-filename.
831 2015-12-25  Michael Albinus  <michael.albinus@gmx.de>
833         Make tramp-test29-vc-registered more robust
835         * test/automated/tramp-tests.el (tramp-test29-vc-registered):
836         Move `bzr' case down.  Skip test when `vc-create-repo' fails.
837         Remove instrumentation.
839 2015-12-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
841         * lisp/term/x-win.el (x-gtk-stock-map): Fix typo.
843 2015-12-23  Katsumi Yamaoka  <yamaoka@jpl.org>
845         Fix `gnus-union' so as to behave like `cl-union'
847         * lisp/gnus/gnus-group.el (gnus-group-prepare-flat):
848         Make gnus-union use `equal' to compare items in lists.
850         * lisp/gnus/gnus-util.el (gnus-union):
851         Make it behave like cl-union partially.
853 2015-12-23  Paul Eggert  <eggert@cs.ucla.edu>
855         Fix dired.c typo with ptrdiff_t vs Lisp_Object
857         * src/dired.c (file_name_completion): Don't assume Lisp_Object is
858         an integer type, fixing a problem introduced in the recent fix for
859         Bug#22169.
861 2015-12-23  Eli Zaretskii  <eliz@gnu.org>
863         Document default process sentinel more prominently
865         * doc/lispref/processes.texi (Asynchronous Processes): Mention the
866         defaults for process filter and sentinel.  Provide cross-references.
867         (Process Information): Provide cross-references to where filters
868         and sentinels are described.
869         (Filter Functions): Add an index entry for "default filter".
870         (Sentinels): Add a few status messages not documented previously.
871         Resolve the "killed" confusion.  Document and describe the default
872         sentinel.  (Bug#22220)
874 2015-12-23  Eli Zaretskii  <eliz@gnu.org>
876         Fix file-name completion on OS X
878         * src/dired.c (file_name_completion): Reject false matches due to
879         file-name-coding-systems that decompose characters when encoding
880         file names, by comparing decoded file names as well.  (Bug#22169)
881         (syms_of_dired) <Qdecomposed_characters>: New DEFSYM.
883         * lisp/international/ucs-normalize.el (utf-8-hfs): Give it a
884         non-nil 'decomposed-characters' property.
886 2015-12-23  Anders Lindgren  <andlind@gmail.com>
888         File-name completion of non-ASCII characters on OS X (bug#22169)
890         The coding system `utf-8-nfd', locally defined in ns-win.el,
891         didn't provide a :pre-write-conversion method, causing file name
892         completion of non-ASCII characters to fail.  Solved by using the
893         `utf-8-hfs' coding system provided by `ucs-normalize'.
895         * lisp/loadup.el: Load international/ucs-normalize (when building
896         for ns).
898         * lisp/term/ns-win.el (utf-8-nfd): Made `utf-8-nfd' as alias for
899         `utf-8-hfs' and removed the old implementation.  Set `utf-8-hfs'
900         as the file name coding system.
902         * src/nsfns.c (ns-convert-utf8-nfd-to-nfc): Removed.
904 2015-12-22  Tom Tromey  <tom@tromey.com>
906         Fix bug #18588 by making bug-reference-bug-regexp more lenient
908         * lisp/progmodes/bug-reference.el (bug-reference-bug-regexp): Accept
909         "bug NNNN".  (Bug #18588)
911 2015-12-22  Tom Tromey  <tom@tromey.com>
913         add some cl-* aliases to lisp-mode imenu
915         * (lisp-imenu-generic-expression): Add cl-define-compiler-macro,
916         cl-defgeneric, and cl-defmethod.
918 2015-12-22  Tom Tromey  <tom@tromey.com>
920         Make a variable buffer-local
922         * lisp/generic-x.el (generic-rul-mode-setup-function): Make
923         font-lock-syntax-table buffer-local.  (Bug #21627)
925 2015-12-22  Eli Zaretskii  <eliz@gnu.org>
927         Fix decoding of text in URLs retrieved by EWW
929         * lisp/net/eww.el (eww-render): Pass 'charset' to
930         'eww-display-raw'.  Use the value of 'last-coding-system-used', if
931         non-nil, to set 'buffer-file-coding-system' of the buffer where we
932         show the URL.
933         (eww-display-html, eww-display-raw): Decode the text correctly,
934         using the charset found in the headers, and defaulting to UTF-8.
935         If the user told us to use a specific encoding, override the
936         charset from the headers.  (Bug#22222)
938 2015-12-22  Alan Mackenzie  <acm@muc.de>
940         Fix a coding error in c-forward-<>-arglist-recur.  Fixes bug#22156
942         * lisp/progmodes/cc-engine.el (c-forward-<>-arglist-recur): Remove unused
943         variable `tmp'.
944         After a failed search for a matching ">", restore point before continuing.
946 2015-12-22  Michael Albinus  <michael.albinus@gmx.de>
948         Instrument Tramp tests
950         * test/automated/tramp-tests.el (tramp-test29-vc-registered)
951         (tramp--test-utf8): Instrument tests.
953 2015-12-22  Martin Rudalics  <rudalics@gmx.at>
955         Fix `display-buffer' call in `display-message-or-buffer' (Bug#22221)
957         * lisp/simple.el (display-message-or-buffer): Call
958         `display-buffer' with ACTION instead of NOT-THIS-WINDOW
959         (Bug#22221).
961 2015-12-21  Juri Linkov  <juri@linkov.net>
963         * lisp/saveplace.el (toggle-save-place, save-place-to-alist)
965         (save-places-to-alist, save-place-dired-hook):
966         Check for dired-subdir-alist.  (Bug#19851)
968 2015-12-21  Paul Eggert  <eggert@cs.ucla.edu>
970         Add FIXME comment re stack overflow and modules
972 2015-12-20  Paul Eggert  <eggert@cs.ucla.edu>
974         Revert some recent emacs-module commentary
976         Most of the recently-added commentary was incorrect, due to the
977         possibility of stack overflow.
979 2015-12-20  Paul Eggert  <eggert@cs.ucla.edu>
981         Spelling fix: prefer "cooperate" to "co-operate"
983 2015-12-20  Paul Eggert  <eggert@cs.ucla.edu>
985         Port undo fixes to -fno-common
987         Port recent fix for Bug#21968 to platforms like 'gcc -fno-common'.
988         * src/keyboard.c, src/keyboard.h (point_before_last_command_or_undo)
989         (buffer_before_last_command_or_undo):
990         Declare in keyboard.h, and define in keyboard.c,
991         instead of assuming the traditional Unix relaxed ref-def linkage.
993 2015-12-20  Philipp Stephani  <phst@google.com>
995         Improve commentary for emacs-module.c
997         * src/lisp.h: Document emacs-module.c assumptions about EQ and NILP.
998         * src/emacs-module.c (module_non_local_exit_get): Document that we
999         cannot use the current implementation.
1000         (module_is_not_nil, module_eq): Document assumptions about EQ and
1001         NILP.
1003 2015-12-20  Michael Albinus  <michael.albinus@gmx.de>
1005         Suppress test on Mac OS X
1007         * test/automated/tramp-tests.el (tramp--test-darwin-p): New defun.
1008         (tramp--test-utf8): Use it.
1010 2015-12-20  Alan Mackenzie  <acm@muc.de>
1012         Merge branch 'scratch/follow' into emacs-25
1014         This allows Isearch, etc., to work well when Follow Mode is active.
1016 2015-12-19  Michael Albinus  <michael.albinus@gmx.de>
1018         * tramp-sh.el (tramp-get-ls-command-with-w-option): Improve check.
1020 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
1022         Fix last commit
1024         * doc/emacs/rmail.texi (Rmail Deletion): Document new behavior of 'u'
1025         with numeric argument.
1027 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
1029         Document new features of Rmail
1031         * doc/emacs/rmail.texi (Rmail Summary Edit, Rmail Deletion):
1032         Document new behavior of 'd' and 'C-d' with numeric argument.
1033         (Rmail Display): Document the rendering of HTML MIME parts.
1035 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
1037         Improve documentation of new cl-lib functions
1039         * doc/misc/cl.texi (Predicates on Numbers, Numerical Functions):
1040         Fix wording.
1042 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
1044         Document the new feature of 'minibuffer-with-setup-hook'
1046         * lisp/files.el (minibuffer-with-setup-hook): Clarify how FUN is
1047         added to `minibuffer-setup-hook'.
1049 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
1051         Document new features of Font Lock
1053         * doc/lispref/modes.texi (Other Font Lock Variables): Document
1054         'font-lock-flush-function' and 'font-lock-ensure-function'.
1055         (Font Lock Basics): Document the basic fontification functions
1056         referenced in "Other Font Lock Variables".
1058         * lisp/font-lock.el (font-lock-flush, font-lock-ensure): Doc fix.
1060 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
1062         Document new features of Rectangle mode
1064         * doc/emacs/killing.texi (Rectangles): Document "C-x C-x" in
1065         rectangle-mark-mode.
1067 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
1069         Manual followup to last change
1071         * doc/lispref/display.texi (Displaying Messages): Sync with the
1072         doc string.  (Bug#22210)
1074 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
1076         Clarify doc string of 'display-message-or-buffer'
1078         * lisp/simple.el (display-message-or-buffer): Doc fix.  Suggested
1079         by Sebastian Wiesner <swiesner@lunaryorn.com>.  (Bug#22210)
1081 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
1083         * doc/emacs/emacs.texi (Top): Update top-level menus.
1085         * doc/lispref/elisp.texi (Top): Update top-level menus.
1087 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
1089         Document how to avoid file-local variables that aren't
1091         * doc/emacs/custom.texi (Specifying File Variables): Describe how
1092         to prevent Emacs from interpreting unrelated text as file-local
1093         variables.  (Bug#22166)
1095 2015-12-19  Dave Thomas  <dave@pragprog.org>  (tiny change)
1097         Fix a typo in eterm-color's termcap entry
1099         * lisp/term.el (term-termcap-format): Fix a typo in the "ue="
1100         entry.  (Bug#22184)
1102 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
1104         Allow 'browse-url-emacs' visit non-existent URLs
1106         * lisp/url/url-handlers.el (url-insert-file-contents): Don't
1107         signal an error if VISIT is non-nil, to more faithfully emulate
1108         the behavior of 'insert-file-contents'.  (Bug#22160)
1110 2015-12-18  Paul Eggert  <eggert@cs.ucla.edu>
1112         Remove SunOS 4.x cruft
1114         Support for SunOS 4.x was removed in Emacs 23 but some cruft was left behind.
1115         * lib-src/pop.c [sun]: Remove no-longer-needed include.
1116         * lwlib/xlwmenu.c (SUNSO41): Remove.
1118 2015-12-18  Paul Eggert  <eggert@cs.ucla.edu>
1120         Merge from gnulib
1122         This mostly commentary fixes.
1123         * doc/misc/texinfo.tex, lib/intprops.h: Copy from gnulib.
1124         * lib/gnulib.mk: Regenerate with new gnulib-tool.
1126 2015-12-18  Michael Albinus  <michael.albinus@gmx.de>
1128         Minor fixes in Tramp
1130         * lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls):
1131         Reorder ls arguments.
1133         * lisp/net/tramp.el (tramp-dissect-file-name): Fix docstring.
1135 2015-12-18  Michael Albinus  <michael.albinus@gmx.de>
1137         Make tramp a built-in package
1139         * lisp/finder.el (finder-compile-keywords): Update
1140         `package--builtins' also when Version: keyword is available.
1142         * lisp/net/trampver.el: Add Version: keyword.
1143         (tramp-version): Change it to "2.2.13.25.1", in order to be
1144         compatible with `version-to-list'.
1146 2015-12-18  Lele Gaifax  <lele@metapensiero.it>
1148         * etc/tutorials/TUTORIAL.it: Update and fix typos.  (Bug#22187)
1150 2015-12-18  Alan Mackenzie  <acm@muc.de>
1152         Rename `recenter-group' to `recenter-window-group'
1154         * doc/lispref/windows.texi (Textual Scrolling)
1155         * lisp/window.el (top level, recenter-group)
1156         * lisp/follow.el (follow-mode)
1157         * lisp/isearch.el (isearch-back-into-window): Rename `recenter-group' to
1158         `recenter-window-group' and `recenter-group-function' to
1159         `recenter-window-group-function'.
1161 2015-12-18  Eli Zaretskii  <eliz@gnu.org>
1163         Fix vertical-motion in tabulated-list mode
1165         * src/indent.c (Fvertical_motion): When moving from line beginning
1166         to point under line truncation, assume overshoot by one line only
1167         if point actually lies beyond the window's right margin.
1168         (Bug#22194)
1170 2015-12-18  Martin Rudalics  <rudalics@gmx.at>
1172         Don't have help functions call x-display-pixel-width/-height on ttys
1174         * lisp/help.el (temp-buffer-max-height, temp-buffer-max-width):
1175         Don't call x-display-pixel-width/-height on ttys.
1177 2015-12-17  Dmitry Gutov  <dgutov@yandex.ru>
1179         Use 'hg id' in vc-hg-previous-revision
1181         * lisp/vc/vc-hg.el (vc-hg-previous-revision):
1182         Use 'hg id' to retrieve it (bug#22032).
1184 2015-12-17  Alan Mackenzie  <acm@muc.de>
1186         * lisp/follow.el (follow-sit-for): Remove (it's redundant).
1188 2015-12-17  Eli Zaretskii  <eliz@gnu.org>
1190         Fix a typo in the Emacs manual
1192         * doc/emacs/trouble.texi (Sending Patches): Fix a typo.  Reported
1193         by Lele Gaifax <lele@metapensiero.it>.  (Bug#22193)
1195 2015-12-17  Eli Zaretskii  <eliz@gnu.org>
1197         Fix parsing netrc entries with ports
1199         * lisp/gnus/auth-source.el (auth-source-ensure-strings): Don't
1200         make a list out of 't'.  (Bug#22188)
1202         * test/automated/auth-source-tests.el
1203         (auth-source-test-netrc-parse-entry): New test.
1205 2015-12-17  Paul Eggert  <eggert@cs.ucla.edu>
1207         Fix typo in Doug Lea malloc configure log
1209         * configure.ac (emacs_cv_var_doug_lea_malloc):
1210         Fix typo that confused the log output of 'configure'.
1212 2015-12-16  Nicolas Petton  <nicolas@petton.fr>
1214         * etc/NEWS: Mention the new pcase patterns `seq' and `map'.
1216 2015-12-16  Alan Mackenzie  <acm@muc.de>
1218         * etc/NEWS: Move entry on pcase to correct section
1220         (Accidentally omitted from previous commit)
1222 2015-12-16  Alan Mackenzie  <acm@muc.de>
1224         Add documentation for changes to Show Paren mode.
1226         * lisp/paren.el (show-paren-highlight-openparen): Enhance doc string.
1228         * doc/emacs/programs.texi (Matching): Add descriptions of some pertinent user
1229         options, including the new show-paren-when-point-inside-paren and
1230         show-paren-when-point-in-periphery.
1232         * etc/NEWS (.. Specialized Modes ...): Add an entry for Show Paren mode.
1233         Move an entry on pcase to the Lisp Changes section.
1235 2015-12-16  Eli Zaretskii  <eliz@gnu.org>
1237         Document Eldoc changes
1239         * doc/emacs/programs.texi (Lisp Doc): Document Global Eldoc mode.
1241 2015-12-16  Eli Zaretskii  <eliz@gnu.org>
1243         Fix invocation of Python and Guile interpreters from gdb-mi
1245         * lisp/progmodes/gdb-mi.el (gdb-control-commands-regexp): Add
1246         commands for interactive Python and Guile interpreters.
1247         (gdb-send): Recognize various ways of exiting from Python and
1248         Guile interpreters and returning to GDB.  For details, see
1249         http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg00693.html
1250         and http://stackoverflow.com/questions/31514741.
1252 2015-12-16  Paul Eggert  <eggert@cs.ucla.edu>
1254         Remove attempt to use C11 threads
1256         C11 threads are not needed for Emacs now, and their use is causing
1257         hassles on FreeBSD 10.x.  Problem reported by Ashish SHUKLA in:
1258         http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg00648.html
1259         * configure.ac: Do not check for C11 threads. Remove unnecessary
1260         fiddling with CPPFLAGS when configuring pthreads.
1261         * src/emacs-module.c (main_thread, check_main_thread)
1262         (module_init): Do not worry about C11 threads.
1264 2015-12-15  Michael Albinus  <michael.albinus@gmx.de>
1266         Set utf8 encoding with stty in Tramp
1268         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
1269         Move up uname check.  Handle Mac OS X eol encoding.  Set utf8
1270         encoding with stty.
1272 2015-12-15  Alan Mackenzie  <acm@muc.de>
1274         Tidy up documentation associated with window groups.
1276         * doc/lispref/windows.texi (Basic Windows): Add an @anchor for "Window
1277         Groups".  Correct example function to `window-group-start'.
1278         (Window Start and End, Textual scrolling): Point to the new anchor.  State
1279         that (most of) the args in window group functions have the same meaning as for
1280         the corresponding window primitives.
1282         * doc/lispref/positions.texi (Screen Lines).  Same as above.
1284 2015-12-15  Michael Albinus  <michael.albinus@gmx.de>
1286         Complete last commit
1288         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
1289         Move uname check up.  Handle Mac OS X eol encoding.
1291 2015-12-15  Michael Albinus  <michael.albinus@gmx.de>
1293         Handle Mac OS X eol encoding in Tramp
1295         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
1296         Handle Mac OS X eol encoding.
1298 2015-12-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1300         Fix variable name typo in compute_tip_xy
1302         * src/w32fns.c (compute_tip_xy):
1303         * src/xfns.c (compute_tip_xy): Modify *root_x instead of *root_y
1304         when `right' is integer.
1306 2015-12-14  foudfou  <foudil.newbie+git@gmail.com>  (tiny change)
1308         * lisp/ibuffer.el: Add ability to (un-)mark or delete buffers in the region.
1310 2015-12-14  Tassilo Horn  <tsdh@gnu.org>
1312         Revert "Fix rx matcher overflow without limiting"
1314         This reverts commit fe27e037663d36be3e5741c2ce86ab4ee8017db1.
1316 2015-12-14  Alan Mackenzie  <acm@muc.de>
1318         Ispell: Bind isearch-regexp-function to nil around call to isearch..-new-loop
1320         * lisp/textmodes/ispell.el (ispell-highlight-spelling-error-overlay): bind
1321         isearch-regexp-function to nil around call to isearch-lazy-highligh-new-loop.
1323 2015-12-14  Tassilo Horn  <tsdh@gnu.org>
1325         Fix rx matcher overflow without limiting
1327         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Improve last
1328         change to the regexp without imposing a limit on the length of the
1329         options.
1331 2015-12-14  Alan Mackenzie  <acm@muc.de>
1333         Enhance ispell-skip-region-alist by generating part of it at runtime.
1335         * lisp/textmodes/ispell.el (ispell--\\w-filter, ispell--make-\\w-expression)
1336         (ispell--make-filename-or-URL-re): New functions which generate a regexp.
1337         (ispell-skip-region-alist): Remove the bit that matches a filename/URL, etc.
1338         (ispell-begin-skip-region-regexp, ispell-skip-region-list, ispell-message):
1339         Include the result of ispell--make-filename-or-URL-re in regexps.
1341 2015-12-14  Glenn Morris  <rgm@gnu.org>
1343         * build-aux/gitlog-to-emacslog: Ignore more pointless merge commits.
1345 2015-12-14  Alan Mackenzie  <acm@muc.de>
1347         Replace GROUP argument in six window primitives by new functions.
1349         * doc/lispref/windows.texi (Window Start and End, Textual Scrolling)
1350         * doc/lispref/positions.texi (Screen Lines): Remove optional GROUP argument
1351         from description of six window functions.  Add in description of new functions
1352         window-group-start, window-group-end, set-window-group-start,
1353         pos-visible-in-window-group-p, recenter-group and move-to-window-group-line,
1354         together with the six variables indirecting to the pertinent group
1355         functions.
1357         * src/window.c
1358         * src/keyboard.c: Revert the commit from 2015-11-11 12:02:48, in so far as it
1359         applies to these two files, which added the GROUP argument to six window
1360         primitives.
1362         * lisp/follow.el (follow-mode): Use updated variable names for the indirected
1363         functions.
1365         * lisp/isearch.el (isearch-update, isearch-done, isearch-string-out-of-window)
1366         (isearch-back-into-window, isearch-lazy-highlight-new-loop)
1367         (isearch-lazy-highlight-search, isearch-lazy-highlight-update): Replace calls
1368         to window primitives (e.g. window-start) with a GROUP argument by calls to
1369         new functions (e.g. window-group-start).
1371         * lisp/ispell.el (ispell-command-loop): Replace call to
1372         pos-visible-in-window-p with pos-visible-in-window-group-p.
1374         * lisp/window.el (window-group-start, window-group-end)
1375         (set-window-group-start, recenter-group, pos-visible-in-window-group-p)
1376         (selected-window-group, move-to-window-group-line): New functions.
1377         (window-group-start-function, window-group-end-function)
1378         (set-window-group-start-function, recenter-group-function)
1379         (pos-visible-in-window-group-p-function, selected-window-group-function)
1380         (move-to-window-group-line-function): New variables.
1382 2015-12-14  Vitorio Miguel  <vdrbandeiras@gmail.com>  (tiny change)
1384         * etc/tutorials/TUTORIAL.pt_BR: Fix a typo.  (Bug#22165)
1386 2015-12-13  Eli Zaretskii  <eliz@gnu.org>
1388         Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emacs into emacs-25
1390 2015-12-13  Tassilo Horn  <tsdh@gnu.org>
1392         Improve regex to not trigger stack overflow
1394         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Improve regex in
1395         order not to trigger a stack overflow in regex matcher with unbalanced
1396         brackets (bug#22146).
1398 2015-12-13  Eli Zaretskii  <eliz@gnu.org>
1400         Fix visiting files with raw-text
1402         * src/fileio.c (Finsert_file_contents): Fix setting buffer unibyte
1403         when some stuff was actually read.  (Bug#22162)
1405 2015-12-13  Tassilo Horn  <tsdh@gnu.org>
1407         Fix regex matching keyval labels
1409         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Fix regexp
1410         matching keyval labels.
1412 2015-12-13  Michael Albinus  <michael.albinus@gmx.de>
1414         * lisp/ido.el (ido-file-name-all-completions-1): Do not raise an error
1416         ... in case of Tramp.  (Bug#20821)
1418 2015-12-12  Paul Eggert  <eggert@cs.ucla.edu>
1420         Fix performance regression with gcc -O0
1422         This fixes the smaller performance hit that I noted in:
1423         https://lists.gnu.org/archive/html/emacs-devel/2015-12/msg00357.html
1424         * src/alloc.c (macro_XPNTR_OR_SYMBOL_OFFSET, macro_XPNTR):
1425         * src/puresize.h (puresize_h_PURE_P)
1426         (puresize_h_CHECK_IMPURE):
1427         New macros, with the old contents of the functions.
1428         * src/alloc.c (XPNTR_OR_SYMBOL_OFFSET, XPNTR):
1429         * src/puresize.h (PURE_P, CHECK_IMPURE):
1430         Use the new macros.  Also macros, if DEFINE_KEY_OPS_AS_MACROS.
1431         * src/conf_post.h (ATTRIBUTE_UNUSED):
1432         * src/lisp.h (DEFINE_KEY_OPS_AS_MACROS): New macros.
1434 2015-12-12  Artur Malabarba  <bruce.connor.am@gmail.com>
1436         * lisp/emacs-lisp/package.el (package-unpack): Security check
1438         Check that we received the package we were offered.
1440 2015-12-12  Artur Malabarba  <bruce.connor.am@gmail.com>
1442         * lisp/emacs-lisp/package.el (package--compile): Don't activate
1444         `package-unpack' takes care of all activations now (other than
1445         `package-initialize).  `package--compile' now only compiles.
1447 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
1449         Document the new bindings of <UP> and <DOWN> in the minibuffer
1451         * doc/emacs/mini.texi (Minibuffer History): Describe the new
1452         bindings of <UP> and <DOWN> in the minibuffer.
1454 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
1456         Document new features of Ido
1458         * doc/misc/ido.texi (Misc): Document 'C-S-b'.
1460 2015-12-12  Martin Rudalics  <rudalics@gmx.at>
1462         Fix frame height calculations with added menu bar on Windows (Bug#22105)
1464         * doc/lispref/frames.texi (Parameter Access): Mention pitfalls
1465         when simultaneously specifying multiple parameters for
1466         `modify-frame-parameters' that all may change the frame's size.
1467         * src/w32fns.c (x_set_menu_bar_lines): Don't set
1468         windows_or_buffers_changed here.
1469         (my_create_tip_window, Fx_show_tip): Call AdjustWindowRect
1470         with third argument false.
1471         * src/w32menu.c (set_frame_menubar): Set
1472         windows_or_buffers_changed here.
1473         * src/w32term.c (x_set_window_size): Determine third argument of
1474         AdjustWindowRect from whether the frame has a menu bar and not
1475         from whether it wants one.
1477 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
1479         Document the change in interactive shell mode
1481         * doc/emacs/misc.texi (Interactive Shell): Document that the
1482         '*shell*' buffer by default displays in a new window.
1484 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
1486         Document new features of package.el
1488         * doc/emacs/package.texi (Package Menu): Document the 'external'
1489         status and the new menu commands.
1490         (Package Installation): Document archive priorities.
1492         * lisp/emacs-lisp/package.el (package-archive-priorities): Doc fix.
1493         (package-menu-hide-low-priority): Doc fix.
1495 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
1497         Update and document new features of xterm support
1499         * doc/emacs/frames.texi (Text-Only Mouse): Document that
1500         track-mouse is supported by newer xterm versions.
1502 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
1504         Document new features of Prettify Mode
1506         * doc/emacs/programs.texi (Misc for Programs): Document
1507         'prettify-symbols-compose-predicate' and
1508         'prettify-symbols-unprettify-at-point'.
1510         * lisp/progmodes/prog-mode.el (prettify-symbols-alist)
1511         (prettify-symbols-default-compose-p)
1512         (prettify-symbols-compose-predicate)
1513         (prettify-symbols--compose-symbol): Doc fixes.
1515 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
1517         Document multi-mode indentation facilities
1519         * doc/lispref/text.texi (Mode-Specific Indent): Document
1520         'prog-indentation-context', 'prog-first-column', and 'prog-widen'.
1522         * lisp/progmodes/prog-mode.el (prog-indentation-context)
1523         (prog-widen): Doc fixes.
1525 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
1527         Document 'vc-refresh-state'
1529         * doc/emacs/maintaining.texi (Version Control): Document
1530         'vc-refresh-state'.
1532         * lisp/vc/vc-hooks.el (vc-refresh-state): Doc fix.
1534 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
1536         Fix echo for "C-u"
1538         * src/keyboard.c (command_loop_1): Undo last change.  It caused
1539         duplicate echo of C-u.  (Bug#22107)
1541 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
1543         Avoid errors when creating files under SVN in new directory
1545         * lisp/vc/vc-svn.el (vc-svn-registered): Use
1546         file-accessible-directory-p, to avoid cd'ing to a non-existing
1547         directory, which signals an error on some systems.  (Bug#21984)
1548         (vc-svn-checkin): Call log-edit-extract-headers with 2 arguments.
1549         Use declare-function to avoid byte-compiler warnings.
1551 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
1553         Improve Lua support in etags
1555         * lib-src/etags.c (Lua_functions): Skip spaces before looking for
1556         "function".
1558         * etc/NEWS: Mention improved Lua support by 'etags'.
1560         * test/etags/lua-src/test.lua (test): Add tests for indented
1561         function definitions.
1562         * test/etags/ETAGS.good_1:
1563         * test/etags/ETAGS.good_2:
1564         * test/etags/ETAGS.good_3:
1565         * test/etags/ETAGS.good_4:
1566         * test/etags/ETAGS.good_5:
1567         * test/etags/ETAGS.good_6:
1568         * test/etags/CTAGS.good: Adapt to the modified Lua tests.
1570 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
1572         Fix 'this-command-keys' wrt prefix argument
1574         * src/keyboard.c (command_loop_1): Restore the feature whereby C-u
1575         was part of this-command-keys, but not of this-single-command-keys.
1576         (Bug#22107)
1578         * lisp/simple.el (internal-echo-keystrokes-prefix): Add
1579         commentary about the function's return value.
1581 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
1583         * lisp/files.el (load-library): Doc fix.  (Bug#22140)
1585 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
1587         Improve and document Ruby support in 'etags'
1589         * lib-src/etags.c (Ruby_suffixes): Add ".ruby".
1590         (Ruby_functions): Support "module" and overloaded operators.
1591         (Ruby_help): Mention "module".
1593         * test/etags/ruby-src/test.rb:
1594         * test/etags/ruby-src/test1.ruby: New files.
1595         * test/etags/Makefile (RBSRC): New tests.
1596         (SRCS): Add ${RBSRC}.
1597         * test/etags/ETAGS.good_1:
1598         * test/etags/ETAGS.good_2:
1599         * test/etags/ETAGS.good_3:
1600         * test/etags/ETAGS.good_4:
1601         * test/etags/ETAGS.good_5:
1602         * test/etags/ETAGS.good_6:
1603         * test/etags/CTAGS.good: Adapt to the new Ruby tests.
1605         * doc/man/etags.1: Mention Ruby support.
1606         * etc/NEWS: Mention Ruby support.
1608 2015-12-11  Xi Lu  <lx@shellcodes.org>
1610         Initial support for Ruby in 'etags'
1612         * lib-src/etags.c <Ruby_suffixes>: New variable.
1613         (lang_names): Add an entry for Ruby.
1614         (Ruby_functions): New function.  (Bug#22116)
1616 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
1618         Clarify documentation of 'modify-frame-parameters'
1620         * doc/lispref/frames.texi (Parameter Access): Clarify what "ignored
1621         PARMs" mean for 'modify-frame-parameters'.
1623         * src/frame.c (Fmodify_frame_parameters): Clarify what "ignored
1624         PARMs" mean for this function.  (Bug#22104)
1626 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
1628         Fix setting buffer unibyte when reading from a device
1630         * src/fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
1631         to make a (possibly non-empty) buffer unibyte.  (Bug#22096)
1633 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
1635         Clarify documentation of 'values'
1637         * doc/lispref/eval.texi (Eval): Clarify that 'values' are not
1638         updated by any evaluation commands in 'lisp-interaction-mode'.
1639         (Bug#22056)
1641 2015-12-11  Anders Lindgren  <andlind@gmail.com>
1643         Fixed subversion vc error when opening file in new directory (bug#21984).
1645         * lisp/vc/vc-svn.el (vc-svn-registered): Check if directory exists.
1647 2015-12-09  Eli Zaretskii  <eliz@gnu.org>
1649         Yet another fix for when point ends up in invisible text
1651         * src/xdisp.c (redisplay_window): When someone forced
1652         window-start, and honoring that failed to show the cursor, try
1653         moving out of invisible text, before falling back to the middle of
1654         the window.  (Bug#22098)
1656 2015-12-09  Michael Albinus  <michael.albinus@gmx.de>
1658         Fix error in Tramp perl script for cygwin
1660         * lisp/net/tramp-sh.el (tramp-perl-file-truename): Do not raise an
1661         error if file doesn't exist.
1663 2015-12-09  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1665         Remove font workaround for limited outdated versions
1667         * src/macfont.m (mac_font_descriptor_get_adjusted_weight): Remove
1668         workaround for HiraginoSans-W7 on OS X 10.11 and 10.11.1.
1670 2015-12-09  Anders Lindgren  <andlind@gmail.com>
1672         Don't add "." to load path (bug#21104)
1674         When configured with --enable-locallisppath=no, which is the
1675         default for OS X, the load-path incorrectly was populated with ".".
1677         * src/lread.c (init_lread): Don't call `decode_env_path' when
1678         PATH_SITELOADSEARCH is empty.
1680 2015-12-08  Artur Malabarba  <bruce.connor.am@gmail.com>
1682         * lisp/emacs-lisp/package.el (package--with-response-buffer):
1684         Search for the blank-line in the right buffer.
1686 2015-12-08  Glenn Morris  <rgm@gnu.org>
1688         * test/automated/simple-test.el (undo-auto-boundary-timer): Update
1689         for recent change.
1691 2015-12-08  Glenn Morris  <rgm@gnu.org>
1693         Fix some display-warning usage.
1695         * lisp/files.el (hack-local-variables, hack-dir-local-variables):
1696         * lisp/calendar/diary-lib.el (diary-include-files, diary-sexp-entry):
1697         * lisp/calendar/holidays.el (calendar-holiday-list):
1698         * lisp/mail/rmailout.el (rmail-output-read-file-name):
1699         Fix display-warning usage.
1701 2015-12-07  Glenn Morris  <rgm@gnu.org>
1703         * lisp/calendar/cal-html.el: Require diary-lib.
1705         (cal-html-list-diary-entries): Handle no diary.  (Bug#21994)
1707 2015-12-07  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
1709         Add Obsolete-since header to eudcb-ph.el
1711         * eudcb-ph.el: Add Obsolete-since header.
1713 2015-12-07  Paul Eggert  <eggert@cs.ucla.edu>
1715         Spelling fixes
1717         * doc/misc/calc.texi (Predefined Units): Use the bland modern
1718         scientific style for spelling the units “ampere” and
1719         “angstrom” rather than the older style “Ampere” and
1720         “Ångstrom”.  The latter spelling was wrong anyway (it should
1721         have been “Ångström”).
1722         * lisp/emacs-lisp/ert.el (ert--explain-equal-rec):
1723         Fix misspelling of ‘atom’ in code.
1725 2015-12-07  Eli Zaretskii  <eliz@gnu.org>
1727         Improve documentation of kill commands
1729         * lisp/simple.el (region-extract-function, delete-backward-char)
1730         (delete-forward-char, kill-region, copy-region-as-kill)
1731         (kill-ring-save): Better document the optional argument REGION in
1732         the doc strings.  Mention in the doc strings that text put in the
1733         kill-ring can be filtered by 'filter-buffer-substring'.
1735         * doc/lispref/text.texi (Kill Functions): Mention that functions
1736         described in this subsection can filter text they put in the
1737         kill-ring.  Add a cross-reference to "Buffer Contents" and an
1738         index entry.  Document the optional argument 'region' and its
1739         effect.
1740         (Bug#21315)
1742 2015-12-07  Alan Mackenzie  <acm@muc.de>
1744         Further progress making Isearch, Ispell, Replace work with Follow Mode.
1746         * lisp/follow.el: (follow-mode): Remove references to sit*-for-function, which
1747         no longer exists.  Add follow-post-command-hook to  three special purpose
1748         hooks at setup, and remove them at tear down.
1750         * lisp/isearch.el: (isearch-update): invoke isearch-update-post-hook before
1751         isearch-lazy-highlight-new-loop.
1752         (isearch-lazy-highlight-new-loop): Restore this function to what it previously
1753         was, merging the functionality of isearch-lazy-highlight-maybe-new-loop into
1754         it.
1755         (isearch-lazy-highlight-maybe-new-loop): function removed.
1757         * lisp/replace.el: (replace-update-post-hook): New hook variable.
1758         (perform-replace): Add second (nil) argument to looking-back.  Invoke
1759         replace-update-post-hook before calling replace-highlight.
1761         * lisp/textmodes/ispell.el: (ispell-update-post-hook): New hook variable.
1762         (ispell-command-loop): invoke ispell-update-post-hook.  Add GROUP argument to
1763         call of pos-visible-in-window-p.
1764         (ispell-display-buffer): Place *Choices* window at the top of the last window
1765         in a window group.
1767 2015-12-07  Alan Mackenzie  <acm@muc.de>
1769         Amend doc of `mapconcat': it can take sequences, not merely strings.
1771         * doc/lispref/functions.texi (Mapping Functions): Amend the doc of `mapconcat'
1772         to say that SEPARATOR and the results from FUNCTION may be any character
1773         sequences, not just strings.  Add an @xref to "Sequences Arrays Vectors".
1775 2015-12-07  Michael Albinus  <michael.albinus@gmx.de>
1777         Fix an utf8 problem for Tramp on BSD
1779         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
1780         Make lax check for utf8.
1781         (tramp-get-remote-locale): Add "en_US.UTF-8" as candidate.
1783 2015-12-06  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
1785         Make eudcb-ph.el obsolete
1787         * doc/misc/eudc.texi: Bump version to 1.40.0.
1788         Remove PH/QI sections and mentions.
1789         * lisp/obsolete/eudcb-ph.el: Make obsolete.
1790         * lisp/net/eudc-vars.el (eudc-known-protocols): Remove ph.
1791         (eudc-ph-bbdb-conversion-alist): Make obsolete.
1792         * etc/NEWS: Mention this.  (Bug#21191)
1794 2015-12-06  Paul Eggert  <eggert@cs.ucla.edu>
1796         Remove overenthusiastic eassert
1798         * src/lisp.h (XSYMBOL): Remove eassert incorrectly added in
1799         previous change.  It breaks on MS-Windows --with-wide-int.
1800         Problem reported by Eli Zaretskii in:
1801         http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg00275.html
1803 2015-12-06  Paul Eggert  <eggert@cs.ucla.edu>
1805         Pacify gcc -Wparentheses
1807         * src/xdisp.c (row_containing_pos): Reparenthesize.
1809 2015-12-06  Paul Eggert  <eggert@cs.ucla.edu>
1811         Port mod-test to 32-bit Emacs --without-wide-int
1813         * modules/mod-test/test.el (mod-test-sum-test):
1814         Bring back the 2**29 tests, but port them to 32-bit Emacs
1815         --without-wide-int.
1817 2015-12-06  Michael Albinus  <michael.albinus@gmx.de>
1819         Fix minor Tramp problems found on BSD
1821         * lisp/net/tramp-sh.el (tramp-perl-file-truename): Do not append
1822         trailing slash.  Quote apostrophes.
1823         (tramp-sh-handle-file-truename): Do not append trailing slash in
1824         the "ls" case.
1825         (tramp-get-ls-command-with-w-option): New defun.
1826         (tramp-do-file-attributes-with-ls)
1827         (tramp-do-directory-files-and-attributes-with-stat): Use it.
1829         * test/automated/tramp-tests.el
1830         (tramp-test31-special-characters-with-perl)
1831         (tramp-test31-special-characters-with-ls)
1832         (tramp-test32-utf8-with-perl, tramp-test32-utf8-with-ls):
1833         Suppress also readlink.
1835 2015-12-06  Eli Zaretskii  <eliz@gnu.org>
1837         Fix cursor display when invisible text is at line beginning
1839         * src/xdisp.c (redisplay_window): When scrolling fails to show
1840         point, prefer using the desired matrix if possible for finding the
1841         fallback glyph row for displaying the cursor.  (Bug#22098)
1842         (row_containing_pos): Exit the loop as soon as we hit the first
1843         disabled glyph row.  Otherwise we risk accessing garbled data and
1844         departing to the no-no land.
1846 2015-12-06  Paul Eggert  <eggert@cs.ucla.edu>
1848         Improve module interface when WIDE_EMACS_INT
1850         * src/emacs-module.c (plain_values): New constant.
1851         (module_nil): Now a constant.
1852         (Finternal_module_call, value_to_lisp_bits, lisp_to_value_bits)
1853         (syms_of_module): Use if, not #ifdef, so that both sides are
1854         checked at compile-time, and so that GCC doesn’t complain
1855         about an unused var in the typical case.  Also, depend on
1856         plain_values, not on WIDE_EMACS_INT; the code shouldn’t assume
1857         that WIDE_EMACS_INT implies !USE_LSB_TAG.
1858         (value_to_lisp_bits, lisp_to_value_bits): New functions.
1859         Sign-extend integers rather than zero-extending them, as small
1860         negative integers are more likely.
1861         (value_to_lisp, lisp_to_value): Rewrite in terms of the new *_bits
1862         functions.
1863         (HAVE_STRUCT_ATTRIBUTE_ALIGNED): Define to 0 if not already defined.
1864         (mark_modules): Remove.  All uses removed.
1865         (lisp_to_value): Don’t assume Fcons returns a pointer aligned
1866         to GCALIGNMENT.
1867         (syms_of_module): Check that module_nil converts to Qnil.
1868         * src/lisp.h (lisp_h_XSYMBOL, XSYMBOL): Use signed conversion, since
1869         we prefer signed to unsigned when either will do.
1870         (TAG_PTR): Sign-extend pointers when USE_LSB_TAG, as this is
1871         a bit better for emacs-module.c.
1873 2015-12-06  Paul Eggert  <eggert@cs.ucla.edu>
1875         Port mod-test to x86-64 GNU/Linux running 32-bit
1877         * modules/mod-test/test.el (mod-test-sum-test):
1878         Don’t attempt to match descriptions to operating systems.
1879         It didn’t work on Fedora x86-64 running a 32-bit executable,
1880         and it’s not worth the trouble anyway.
1881         Port to 32-bit platforms by removing an assumption about
1882         fixnum widths.
1884 2015-12-06  Michael Albinus  <michael.albinus@gmx.de>
1886         Fix auto-revert-tests.el when filenotify isn't used
1888         * test/automated/auto-revert-tests.el (auto-revert--wait-for-revert):
1889         Make it working also when filenotify isn't used.
1891 2015-12-05  Juri Linkov  <juri@linkov.net>
1893         * lisp/textmodes/ispell.el (ispell-highlight-spelling-error-overlay):
1895         Let-bind isearch-regexp-function to nil.  (Bug#22097)
1897 2015-12-05  Artur Malabarba  <bruce.connor.am@gmail.com>
1899         * lisp/emacs-lisp/package.el: Don't install bad signatures (bug#22089)
1901         (package--with-response-buffer): NOERROR and ERROR-FORM only
1902         handle connection errors.
1903         (bad-signature): New error type.
1904         (package--check-signature-content): Use it.
1905         (package--check-signature): Properly distinguish connection errors
1906         from bad-signature errors.  Do the check for
1907         `package-check-signature' `allow-unsigned' here instead of forcing
1908         the callbacks to do it.  Add a new argument, UNWIND.
1909         (package--download-one-archive, package-install-from-archive):
1910         Update usage of `package--check-signature'.
1912 2015-12-05  Ulf Jasper  <ulf.jasper@web.de>
1914         Fix Bug#22092.
1916         * lisp/calendar/icalendar.el (icalendar--get-unfolded-buffer):
1917           Clean up inconsistent line endings. (Bug#22092)
1918           (icalendar--clean-up-line-endings): New.
1919         * test/automated/icalendar-tests.el (icalendar-real-world): Add test
1920           for Bug#22092.
1922 2015-12-05  Eli Zaretskii  <eliz@gnu.org>
1924         Document 'bookmark-set-no-overwrite'
1926         * doc/emacs/regs.texi (Bookmarks): Document the new command
1927         'bookmark-set-no-overwrite' and its keybinding.
1929 2015-12-05  Eli Zaretskii  <eliz@gnu.org>
1931         Document new binding of 'mouse-buffer-menu'
1933         * doc/emacs/buffers.texi (Buffer Menus): 'mouse-buffer-menu' is
1934         now also on C-F10.
1936 2015-12-05  Eli Zaretskii  <eliz@gnu.org>
1938         Initial documentation of dynamic modules
1940         * doc/lispref/loading.texi (Dynamic Modules): New section with
1941         initial documentation for dynamic modules.
1942         * doc/lispref/elisp.texi (Top): Add "Dynamic Modules" to the
1943         detailed menu
1945         * etc/NEWS: Fix typos in dynamic modules' entry.
1947 2015-12-05  Artur Malabarba  <bruce.connor.am@gmail.com>
1949         Remove copyright statements from trivial test files
1951 2015-12-05  Eli Zaretskii  <eliz@gnu.org>
1953         Add "Preliminaries" section to etc/DEBUG
1955         * etc/DEBUG: Add the "Preliminaries" section for GDB beginners.
1956         Most of the content was suggested by Phillip Lord
1957         <phillip.lord@russet.org.uk>.  Remove the section about debugging
1958         with the Visual Studio, as building Emacs with the Microsoft
1959         compilers is no longer supported.  Minor fixes in some other
1960         sections.
1962 2015-12-05  Alex Dunn  <dunn.alex@gmail.com>  (tiny change)
1964         Improve parsing of version strings
1966         * lisp/subr.el (version-regexp-alist): Allow "." as priority separator
1967         (version-to-list): More helpful error messages.
1968         (version-to-list): ".5" is valid (update docstring).  Make
1969         "22.8X3" invalid, as the doc string says.
1971         * test/automated/subr-tests.el (ert-test-version-parsing): New
1972         tests for version string processing.
1974 2015-12-05  Eli Zaretskii  <eliz@gnu.org>
1976         Fix documentation of 'undo' changes
1978         * doc/lispref/text.texi (Undo): Minor wording changes.  Use US
1979         English conventions for spelling and whitespace between sentences.
1981         * etc/NEWS: Fix wording and spelling of undo-related entries.
1982         Mark them as documented.
1984 2015-12-04  Glenn Morris  <rgm@gnu.org>
1986         * lisp/net/net-utils.el: Small improvements.
1988         (net-utils--executable-find-sbin): New function.
1989         (ifconfig-program): Check sbin directories.
1990         Fallback to "ip".  (Bug#22091)
1991         (ifconfig-program-options): Check the actual program in use.
1992         (arp-program): Check sbin directories.
1994 2015-12-04  Arash Esbati  <esbati@gmx.de>  (tiny change)
1996         Fix wrong-type-argument integer-or-marker-p nil error
1998         * lisp/textmodes/reftex-auc.el (reftex-what-index-tag):
1999         Fix (wrong-type-argument integer-or-marker-p nil) error (bug#22077).
2001 2015-12-04  Alan Mackenzie  <acm@muc.de>
2003         Merge branch 'scratch/follow' of /home/acm/emacs/emacs.git/emacs-25 into scratch/follow
2005         Merge necessitated by a rebase operation.
2007 2015-12-04  Alan Mackenzie  <acm@muc.de>
2009         lisp/isearch.el: Eliminate macro isearch-call-message, replacing with funcall.
2011 2015-12-04  Alan Mackenzie  <acm@muc.de>
2013         First commit to scratch/follow.  Make Isearch work with Follow Mode, etc.
2015         doc/lispref/window.texi (Basic Windows): Add paragraph defining "Group of
2016         Windows" and new @defun selected-window-group.
2017         (Window Start and End): Describe new &optional parameter GROUP and
2018         ...-group-function for window-start, window-end, set-window-start, and
2019         pos-visible-in-window-p.
2020         (Textual Scrolling) Describe the same for recenter.
2021         doc/lispref/positions.texi (Screen Lines): Describe the same for
2022         move-to-window-line.
2024         src/window.c (Fwindow_start, Fwindow_end, Fset_window_start)
2025         (Fpos_visible_in_window_p, Frecenter, Fmove_to_window_line): To each, add ar
2026         new optional parameter "group".  At the beginning of each, check whether the
2027         corresponding ...-group-function is set to a function, and if so execute this
2028         function in place of the normal processing.
2029         (syms_of_window): Define symbols for the six new variables below.
2030         (window-start-group-function, window-end-group-function)
2031         (set-window-start-group-function, recenter-group-function)
2032         (pos-visible-in-window-p-group-function, move-to-window-line-group-function):
2033         New permanent local buffer local variables.
2034         src/keyboard.c (Fposn_at_point): Add extra parameter in call to
2035         Fpos_visible_in_window_p.
2037         lisp/window.el (selected-window-group-function): New permanent local buffer
2038         local variable.
2039         (selected-window-group): New function.
2041         lisp/follow.el (follow-mode): Set the ...-group-function variables at mode
2042         enable, kill them at mode disable.  Add/remove follow-after-change to/from
2043         after-change-functions.
2044         (follow-start-end-invalid): New variable.
2045         (follow-redisplay): Manipulate follow-start-end-invalid.
2046         (follow-after-change, follow-window-start, follow-window-end)
2047         (follow-set-window-start, follow-pos-visible-in-window-p)
2048         (follow-move-to-window-line, follow-sit-for): New functions.
2050         lisp/isearch.el (isearch-call-message): New macro.
2051         (isearch-update, with-isearch-suspended, isearch-del-char)
2052         (isearch-search-and-update, isearch-ring-adjust): Invoke above new macro.
2053         (with-isearch-suspended): Rearrange code such that isearch-call-message is
2054         invoked before point is moved.
2055         (isearch-message): Add comment about where point must be at function call.
2056         (isearch-search): Remove call to isearch-message.
2057         (isearch-lazy-highlight-window-group): New variable.
2058         (isearch-lazy-highlight-new-loop): Unconditionally start idle timer.  Move
2059         the battery of tests to ...
2060         (isearch-lazy-highlight-maybe-new-loop): New function, started by idle timer.
2061         Note: (sit-for 0) is still called.
2062         (isearch-lazy-highlight-update): Check membership of
2063         isearch-lazy-highlight-window-group.  Don't set the `window' overlay
2064         property.
2065         (isearch-update, isearch-done, isearch-string-out-of-window)
2066         (isearch-back-into-window, isearch-lazy-highlight-maybe-new-loop)
2067         (isearch-lazy-highlight-search, isearch-lazy-highlight-update)
2068         (isearch-lazy-highlight-update): Call the six amended primitives (see
2069         src/window.c above) with the new `group' argument set to t, to cooperate
2070         with Follow Mode.
2072 2015-12-04  Stefan Monnier  <monnier@iro.umontreal.ca>
2074         * lisp/emacs-lisp/ert.el: Prefer pcase over cl-typecase
2076         * lisp/emacs-lisp/ert.el (ert--should-error-handle-error)
2077         (ert--explain-format-atom, ert--explain-equal-rec)
2078         (ert--print-backtrace, ert-test-result-type-p, ert-select-tests)
2079         (ert--insert-human-readable-selector): Prefer pcase over cl-typecase.
2081 2015-12-04  Artur Malabarba  <bruce.connor.am@gmail.com>
2083         * lisp/character-fold.el: Remove special case-folding support
2085         (character-fold-to-regexp): Remove special code for
2086         case-folding.  Char-fold search still respects the
2087         `case-fold-search' variable (i.e., f matches F).  This only
2088         removes the code that was added to ensure that f also matched
2089         all chars that F matched.  For instance, after this commit, f
2090         no longer matches 𝔽.
2092         This was necessary because the logic created a regexp with
2093         2^(length of the string) redundant paths.  So, when a very
2094         long string "almost" matched, Emacs took a very long time to
2095         figure out that it didn't.  This became particularly relevant
2096         because isearch's lazy-highlight does a search bounded by (1-
2097         match-end) (which, in most circumstances, is a search that
2098         almost matches).  A recipe for this can be found in bug#22090.
2100 2015-12-04  Stefan Monnier  <monnier@iro.umontreal.ca>
2102         * lisp/emacs-lisp/cl-macs.el (character): Can't be negative
2103         Fixes (bug#21701)
2105 2015-12-04  Daiki Ueno  <ueno@gnu.org>
2107         lisp/gnus/qp.el: Don't replace "from " at bol
2109         * lisp/gnus/qp.el (quoted-printable-encode-region): Bind `case-fold-search'
2110         to nil when looking for "^From ".  Problem reported by Simon Josefsson.
2112 2015-12-03  Phillip Lord  <phillip.lord@russet.org.uk>
2114         Externalize some symbols in undo-auto
2116          * doc/lispref/text.texi: Update symbols.
2117          * lisp/simple.el (undo-auto--amalgamate,
2118            undo-auto--current-boundary-timer): Make symbols public.
2119          * src/cmds.c (Fself_insert_command,Fdelete_char): Call
2120            updated symbol.
2122 2015-12-03  Stefan Monnier  <monnier@iro.umontreal.ca>
2124         * lisp/emacs-lisp/smie.el (smie-next-sexp): Fix BOB "token"
2126 2015-12-03  Michael Albinus  <michael.albinus@gmx.de>
2128         Some error message improvements in tramp-sh.el
2130         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
2131         Suppress error messages for "mesg" and "biff" calls.
2132         (tramp-get-remote-path): Ignore errors when expanding
2133         `tramp-own-remote-path'.  Raise a warning instead.
2135 2015-12-03  Eli Zaretskii  <eliz@gnu.org>
2137         Document 'nacl' value for 'system-type'
2139         * doc/lispref/os.texi (System Environment): Document the 'nacl'
2140         value of 'system-type'.
2142 2015-12-03  Eli Zaretskii  <eliz@gnu.org>
2144         Document 'window-max-chars-per-line'
2146         * doc/lispref/windows.texi (Window Sizes): Document
2147         'window-max-chars-per-line'.
2149 2015-12-03  Artur Malabarba  <bruce.connor.am@gmail.com>
2151         Fix some file headers for the purpose of `package--builtins'
2153         * lisp/emacs-lisp/cl-preloaded.el
2154         * lisp/emacs-lisp/eieio-compat.el
2155         * lisp/net/sasl-scram-rfc.el: Add a "Package:" header
2157         * lisp/ielm.el: Fix summary line.
2159 2015-12-03  Artur Malabarba  <bruce.connor.am@gmail.com>
2161         * lisp/emacs-lisp/package.el (package-unpack): Load before compiling
2163         Reload any previously loaded package files before compiling
2164         the package (also reload the same files after compiling).
2165         This ensures that we have the most recent definitions during
2166         compilation, and avoids generating bad elc files when a macro
2167         changes and it is used in a different file from the one it's
2168         defined in.
2170 2015-12-03  Artur Malabarba  <bruce.connor.am@gmail.com>
2172         * lisp/emacs-lisp/package.el: Refactor package activation code
2174         (package-activate): Move code that activates dependencies into
2175         package-activate-1.
2176         (package--load-files-for-activation): New function.
2177         (package-activate-1): Add code for (optionally) activating
2178         dependencies, and move file-loading code into
2179         `package--load-files-for-activation'.
2181 2015-12-03  Eli Zaretskii  <eliz@gnu.org>
2183         Document new font-related functionality
2185         * doc/lispref/display.texi (Low-Level Font): Document
2186         'default-font-width', 'default-font-height', 'window-font-width',
2187         and 'window-font-height'.
2189         * etc/NEWS: Move entries for 'default-font-width',
2190         'default-font-height', 'window-font-width', and 'window-font-height'
2191         to their place and mark them documented.
2193 2015-12-03  Eli Zaretskii  <eliz@gnu.org>
2195         Fix documentation and implementation of 'directory-name-p'
2197         * lisp/files.el (directory-name-p): Modify to recognize
2198         backslashes on MS-Windows and MS-DOS.  Adjust the doc string
2199         accordingly.  Use '=', not char-equal, for comparison, as
2200         letter-case cannot possibly be an issue here.
2202         * doc/lispref/files.texi (Directory Names): Move the documentation
2203         of directory-name-p here from "Relative File Names".  Update the
2204         description per the changes in implementation.
2206         * etc/NEWS: Move the entry for 'directory-name-p' to its proper
2207         place and mark it documented.
2209 2015-12-02  Eli Zaretskii  <eliz@gnu.org>
2211         Minor copyedit in Emacs manual
2213         * doc/emacs/search.texi (Lax Search): Make wording about character
2214         folding by default less definitive.  (Bug#22043)
2216 2015-12-02  Eli Zaretskii  <eliz@gnu.org>
2218         More emacs-module.c fixes for wide ints
2220         * src/emacs-module.c (value_to_lisp) [WIDE_EMACS_INT]: Use
2221         unsigned data types to manipulate pointers, to avoid sign
2222         extension coming after us with a vengeance.
2224         * modules/mod-test/test.el (mod-test-sum-test): Add tests for
2225         Emacs with wide ints that verify integer values near the critical
2226         value that requires us to switch to a cons cell.
2228 2015-12-02  Stephen Leake  <stephen_leake@stephe-leake.org>
2230         Fix bug#22069 in cl-generic.el
2232         * lisp/emacs-lisp/cl-generic.el (cl-no-method): Remove %S; this string is
2233         not run thru `format'.
2235 2015-12-01  Dmitry Gutov  <dgutov@yandex.ru>
2237         APPEND etags--xref-backend to xref-backend-functions
2239         * lisp/progmodes/xref.el (xref-backend-functions):
2240         Use APPEND when adding the default element
2241         (http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg00061.html).
2243 2015-12-01  Eli Zaretskii  <eliz@gnu.org>
2245         More accurate documentation of lax whitespace matching
2247         * lisp/isearch.el (isearch-forward-word, isearch-forward-symbol)
2248         (word-search-backward, word-search-forward)
2249         (word-search-backward-lax, word-search-forward-lax): Mention in
2250         doc strings that toggling lax whitespace matching has no effect on
2251         these commands.
2253         * doc/emacs/search.texi (Word Search, Symbol Search): Clarify that
2254         lax whitespace matching has no effect on these commands.
2256 2015-12-01  Eli Zaretskii  <eliz@gnu.org>
2258         Fix emacs-module.c for wide ints
2260         * src/emacs-module.c (lisp_to_value): Compare the produced value
2261         with the original Lisp object, not with the one potentially
2262         converted into a Lisp_Cons.  Fixes assertion violations when
2263         working with integers larger than fit into a 32-bit value.
2265         * modules/mod-test/test.el (mod-test-sum-test): Add tests for
2266         large integers, to test --with-wide-int.
2268 2015-12-01  Eli Zaretskii  <eliz@gnu.org>
2270         Document 'directory-files-recursively'
2272         * lisp/files.el (directory-files-recursively): Doc fix.  Rename
2273         the argument MATCH to REGEXP, to be more explicit about its form.
2275         * doc/lispref/files.texi (Contents of Directories): Improve the
2276         documentation of 'directory-files-recursively'.  Add
2277         cross-references.
2279         * etc/NEWS: Move the entry for 'directory-files-recursively' to
2280         its place and mark it documented.
2282 2015-12-01  Eli Zaretskii  <eliz@gnu.org>
2284         Document 'inhibit-read-only' property
2286         * doc/lispref/text.texi (Special Properties): Describe the new
2287         'inhibit-read-only' text property.  Add cross-reference to where
2288         read-only buffers are described.
2289         * doc/lispref/buffers.texi (Read Only Buffers): Mention that
2290         'inhibit-read-only' property exempts text from being read-only.
2291         Add cross-reference to "Special Properties".
2293         * etc/NEWS: Move the entry about 'inhibit-read-only' property to
2294         its place and mark it documented.
2296 2015-12-01  Artur Malabarba  <bruce.connor.am@gmail.com>
2298         * lisp/emacs-lisp/package.el: Update header comments
2300 2015-12-01  Artur Malabarba  <bruce.connor.am@gmail.com>
2302         * lisp/character-fold.el: Add back multi-char matching
2304         (character-fold-to-regexp): Uncomment recently commented code
2305         and make the algorithm "dummer" by not checking every possible
2306         combination.  This will miss some possible matches, but it
2307         greatly reduces regexp size.
2309         * test/automated/character-fold-tests.el
2310         (character-fold--test-fold-to-regexp): Comment out test of
2311         functionality no longer supported.
2313 2015-12-01  Xue Fuqiao  <xfq.free@gmail.com>
2315         * doc/emacs/ack.texi (Acknowledgments): Update.
2317 2015-12-01  Michael Albinus  <michael.albinus@gmx.de>
2319         Check `file-remote-p' over absolute files names in files.el
2321         * lisp/files.el (directory-files-recursively)
2322         (get-free-disk-space): Check `file-remote-p' over absolute files names.
2324 2015-12-01  Andreas Schwab  <schwab@linux-m68k.org>
2326                 * src/lread.c (syms_of_lread): Doc fix.
2328 2015-11-30  Dmitry Gutov  <dgutov@yandex.ru>
2330         Don't mistake certain JS method calls for keywords
2332         * lisp/progmodes/js.el (js--ctrl-statement-indentation):
2333         Braceless keyword can't come after a period (bug#22063).
2335 2015-11-30  David Reitter  <david.reitter@gmail.com>
2337         Read frame_title_format from buffer-local variable for NS port
2339         * nsfns.m (x_implicitly_set_name): Read frame-title-format and
2340         icon-title-format variables from buffer in appropriate window.
2341         (Bug#22048)
2343 2015-11-30  Juri Linkov  <juri@linkov.net>
2345         * lisp/replace.el (occur-engine): Count matches in empty lines.
2347         (Bug#22062)
2349 2015-11-30  Aurélien Aptel  <aurelien.aptel@gmail.com>
2351         * src/emacs-module.h: Fix finalizer typedef for C++11
2353         C++11 standard doesn't allow exception-specification in typedef.
2354         The workaround is to declare a dummy function prototype and use
2355         decltype on it.
2357 2015-11-30  Eli Zaretskii  <eliz@gnu.org>
2359         Fix last change
2361         * src/emacs-module.c (lisp_to_value, value_to_lisp)
2362         [WIDE_EMACS_INT]: Avoid compiler warnings.
2364 2015-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>
2366         Rely on conservative stack scanning to find "emacs_value"s
2368         * src/emacs-module.c (struct emacs_value_tag)
2369         (struct emacs_value_frame, struct emacs_value_storage): Remove.
2370         (value_frame_size): Remove constant.
2371         (struct emacs_env_private): Use Lisp_Object for non_local_exit info.
2372         (lisp_to_value): Remove first arg.
2373         (module_nil): New constant.
2374         Use it instead of NULL when returning an emacs_value.
2375         (module_make_function): Adjust to new calling convention of
2376         Qinternal_module_call.
2377         (DEFUN): Receive args in an array rather than a list.
2378         Use SAFE_ALLOCA rather than xnmalloc.  Skip the lisp_to_value loop when
2379         we don't have WIDE_EMACS_INT.  Adjust to new type of non_local_exit info.
2380         (module_non_local_exit_signal_1, module_non_local_exit_throw_1):
2381         Adjust to new type of non_local_exit info.
2382         (ltv_mark) [WIDE_EMACS_INT]: New constant.
2383         (value_to_lisp, lisp_to_value): Rewrite.
2384         (initialize_frame, initialize_storage, finalize_storage): Remove functions.
2385         (allocate_emacs_value): Remove function.
2386         (mark_modules): Gut it.
2387         (initialize_environment): Don't initialize storage any more.
2388         Keep the actual env object on Vmodule_environments.
2389         (finalize_environment): Don't finalize storage any more.
2390         (syms_of_module): Initialize ltv_mark and module_nil.
2392         * src/emacs-module.h (emacs_value): Make it more clear that this type
2393         is really opaque, including the fact that NULL may not be valid.
2395         * modules/mod-test/mod-test.c (Fmod_test_signal, Fmod_test_throw):
2396         Don't assume that NULL is a valid emacs_value.
2398 2015-11-30  Eli Zaretskii  <eliz@gnu.org>
2400         Yet another doc improvement for search commands
2402         * doc/emacs/search.texi (Word Search, Symbol Search)
2403         (Regexp Search): Document commands that don't support lax
2404         whitespace matching or character folding.
2405         (Nonincremental Search): Mention the search commands that can be
2406         invoked from the menu bar.
2408         * lisp/isearch.el (isearch-define-mode-toggle-word)
2409         (isearch-define-mode-toggle-symbol)
2410         (isearch-define-mode-toggle-character-fold): Note in the doc
2411         string that turning these on exits the regexp mode.
2412         (isearch-forward-regexp, isearch-forward-word)
2413         (isearch-forward-symbol, isearch-backward-regexp)
2414         (word-search-backward, word-search-forward)
2415         (word-search-backward-lax, word-search-forward-lax): State in the
2416         doc string which commands don't support character folding and/or
2417         lax-whitespace matching.
2419 2015-11-30  Martin Rudalics  <rudalics@gmx.at>
2421         Run `window-size-change-functions' also when reading from minibuffer
2423         * src/xdisp.c (redisplay_internal): Run `window-size-change-functions'
2424         also when reading from minibuffer.
2426 2015-11-30  Ulf Jasper  <ulf.jasper@web.de>
2428         Fix scrambling of html-rendered item buffers
2430         * net/newst-treeview.el (newsticker--treeview-render-text): Fix
2431           scrambling of contents by wrapping call to html-renderer in
2432           save-selected-window.
2434 2015-11-30  Paul Eggert  <eggert@cs.ucla.edu>
2436         Fix font typo in previous doc fix.
2438 2015-11-30  Paul Eggert  <eggert@cs.ucla.edu>
2440         A bit more security doc, esp. file local vars
2442         * doc/emacs/emacs.texi (Top):
2443         * doc/emacs/misc.texi (Miscellaneous Commands):
2444         Refer to new Host Security section.
2445         (Host Security): New section.
2446         * doc/lispref/os.texi (Security Considerations):
2447         Mention file local variables.
2449 2015-11-30  Artur Malabarba  <bruce.connor.am@gmail.com>
2451         * lisp/character-fold.el: Comment out branching code
2453         (character-fold-to-regexp): Comment out code that uses multi-char
2454         table.  The branching caused by this induces absurdly long regexps,
2455         up to 10k chars for as little as 25 input characters.
2457 2015-11-30  Paul Eggert  <eggert@cs.ucla.edu>
2459         Spelling and grammar fixes
2461 2015-11-29  Dmitry Gutov  <dgutov@yandex.ru>
2463         Make lisp-completion-at-point a wrapper instead of an alias
2465         * lisp/progmodes/elisp-mode.el (lisp-completion-at-point):
2466         Turn into an obsolete wrapper around elisp-completion-at-point
2467         (bug#20455).
2469 2015-11-29  Artur Malabarba  <bruce.connor.am@gmail.com>
2471         * lisp/isearch.el (isearch-search-fun-default): Nicer error
2473         message when the search fails.
2475 2015-11-29  Dmitry Gutov  <dgutov@yandex.ru>
2477         Update menu-bar-goto-uses-etags-p for the current xref API
2479         * lisp/menu-bar.el (menu-bar-goto-uses-etags-p): Consult
2480         xref-backend-functions, instead of now-nonexistent
2481         xref-find-function.
2483 2015-11-29  Artur Malabarba  <bruce.connor.am@gmail.com>
2485         * lisp/isearch.el (isearch-define-mode-toggle): Advertise binding
2487 2015-11-29  Artur Malabarba  <bruce.connor.am@gmail.com>
2489         * lisp/menu-bar.el: Use folding in searches
2491         (nonincremental-search-forward): Use `isearch-search-fun-default'
2492         to determine the search function.
2493         (nonincremental-search-backward)
2494         (nonincremental-repeat-search-forward)
2495         (nonincremental-repeat-search-backward): Use it.
2497 2015-11-29  Artur Malabarba  <bruce.connor.am@gmail.com>
2499         * lisp/menu-bar.el (menu-bar-goto-uses-etags-p): Fix a warning
2501 2015-11-29  Artur Malabarba  <bruce.connor.am@gmail.com>
2503         * lisp/character-fold.el (character-fold-to-regexp): Be careful
2505         not to return huge regexps.
2507 2015-11-29  Eli Zaretskii  <eliz@gnu.org>
2509         Improve documentation of string-collate-* functions
2511         * doc/lispref/strings.texi (Text Comparison): Improve wording and
2512         indexing of 'string-collate-equalp' and 'string-collate-lessp'.
2514         * etc/NEWS: Move the entry of 'string-collate-equalp' and
2515         'string-collate-lessp' to "Lisp Changes" section and mark it as
2516         documented.
2518 2015-11-29  Eli Zaretskii  <eliz@gnu.org>
2520         Document truncate-string-ellipsis
2522         * doc/lispref/display.texi (Size of Displayed Text): Document
2523         'truncate-string-ellipsis'.
2525         * lisp/international/mule-util.el (truncate-string-ellipsis): Doc fix.
2526         (truncate-string-to-width): Mention in the doc string that the
2527         default for ELLIPSIS comes from 'truncate-string-ellipsis'.
2529         * etc/NEWS: Move the 'truncate-string-ellipsis' entry to the "Lisp
2530         Changes" section.
2532 2015-11-29  Eli Zaretskii  <eliz@gnu.org>
2534         Fix confusion wrt character folding in the Emacs manual
2536         * doc/emacs/search.texi (Nonincremental Search, Regexp Search):
2537         Document that invoking search-forward/backward and
2538         re-search-forward/backward supports only case folding, but not the
2539         rest of the lax-search features.  Reported by Mike Kupfer
2540         <m.kupfer@acm.org>.
2542 2015-11-29  Ken Brown  <kbrown@cornell.edu>
2544         Update mod-test-sum-test
2546         * modules/mod-test/test.el (mod-test-sum-test): Update to
2547         accommodate the lack of dladdr on Cygwin.
2549 2015-11-29  Alan Mackenzie  <acm@muc.de>
2551         Byte compiler: Catch missing argument to `funcall'.  Fixes bug#22051.
2553         * lisp/emacs-lisp/bytecomp.el (byte-compile-funcall): When there's no argument
2554         to `funcall', (i) Output an error message; (ii) Generate code to signal a
2555         `wrong-number-of-arguments' error.
2557 2015-11-29  Martin Rudalics  <rudalics@gmx.at>
2559         * lisp/window.el (split-window): Don't sanitize sizes when SIZE is non-nil.
2561 2015-11-28  Artur Malabarba  <bruce.connor.am@gmail.com>
2563         * lisp/character-fold.el (character-fold-to-regexp)
2565         Warn about using long strings.
2567         * test/automated/character-fold-tests.el
2568         (character-fold--test-lax-whitespace)
2569         (character-fold--test-consistency): Reduce string size for tests.
2571 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
2573         Document renaming of x-select-enable-* variables
2575         * doc/emacs/killing.texi (Clipboard): Rename
2576         x-select-enable-clipboard to select-enable-clipboard and
2577         x-select-enable-primary to select-enable-primary.  Update index
2578         entries.
2580         * etc/NEWS: Mark entry as documented.
2582 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
2584         Document the shorthand hints displayed by M-x
2586         * doc/emacs/m-x.texi (M-x): Document the numeric meaning of
2587         suggest-key-bindings.  Document the shorthand hints for commands
2588         that have no key bindings.  Document that M-x completion ignores
2589         obsolete commands.
2591         * etc/NEWS: Move the M-x entry to "Editing Changes" and mark it as
2592         documented.
2594 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
2596         Update docs of character folding
2598         * doc/emacs/search.texi (Lax Search): Update the description of
2599         character folding for the latest changes.
2601 2015-11-28  Artur Malabarba  <bruce.connor.am@gmail.com>
2603         * lisp/character-fold.el: Also play nice with case-folding
2605         (character-fold-to-regexp): Take `case-fold-search' into account.
2607 2015-11-28  Artur Malabarba  <bruce.connor.am@gmail.com>
2609         * lisp/character-fold.el: Add support for multi-char matches
2611         (character-fold-table): Now has an extra-slot. This is a second
2612         char-table that holds multi-character matches.  See docstring for
2613         details.
2614         (character-fold-to-regexp): Can build branching regexps when a
2615         character's entry the extra slot of `character-fold-table' matches the
2616         characters that succeed it.
2618 2015-11-28  Artur Malabarba  <bruce.connor.am@gmail.com>
2620         * lisp/character-fold.el: Code simplifications
2622         (character-fold-table): Reduce the scope of a variable.
2623         (character-fold-to-regexp): Change logic to work directly on the
2624         input string.  It's a little easier to understand, probably
2625         faster, and sets us up for implementing multi-char matches.
2627         * test/automated/character-fold-tests.el
2628         (character-fold--test-fold-to-regexp): New test.
2630 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
2632         Document changes in "C-h l"
2634         * doc/emacs/help.texi (Misc Help): Document the changes in "C-h l".
2636         * etc/NEWS: mark "C-h l" changes as documented.
2638 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
2640         Finalize documentation of 'custom-prompt-customize-unsaved-options'
2642         * doc/emacs/custom.texi (Saving Customizations): Index the new
2643         function 'custom-prompt-customize-unsaved-options'.
2645         * etc/NEWS: Mention when 'custom-prompt-customize-unsaved-options'
2646         is useful.
2648 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
2650         Document 'comment-line'
2652         * doc/emacs/programs.texi (Comment Commands): Document
2653         'comment-line'.
2655         * etc/NEWS: Move the entry for 'comment-line' into "Editing Changes".
2657 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
2659         Document new checkdoc features
2661         * doc/lispref/tips.texi (Tips, Library Headers): Document the
2662         keyword-checking features of checkdoc and the commands
2663         'checkdoc-file' and 'checkdoc-current-buffer'.
2665         * etc/NEWS: Move the checkdoc-related entries to their own
2666         section.
2668 2015-11-28  Philipp Stephani  <p.stephani2@gmail.com>
2670         Simplify the prologue of emacs-module.c functions
2672         * emacs-module.c (MODULE_FUNCTION_BEGIN): New macro.
2673         (module_make_global_ref)
2674         (module_free_global_ref, module_make_function, module_funcall)
2675         (module_intern, module_type_of, module_extract_integer)
2676         (module_make_integer, module_extract_float, module_make_float)
2677         (module_copy_string_contents, module_make_string)
2678         (module_make_user_ptr, module_get_user_ptr, module_set_user_ptr)
2679         (module_get_user_finalizer, module_set_user_finalizer)
2680         (module_vec_set, module_vec_get, module_vec_size): Use new helper
2681         macro MODULE_FUNCTION_BEGIN.
2683 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
2685         Don't reject module calls with no arguments
2687         * src/emacs-module.c (Finternal_module_call): Allow ARGLIST be nil.
2689 2015-11-28  Philipp Stephani  <p.stephani2@gmail.com>
2691         Make module-call be visible from Lisp
2693         * src/emacs-module.c (module_make_function): Use internal--module-call.
2694         (Finternal_module_call): Renamed from Fmodule_call.  Add safety
2695         checks.
2696         (syms_of_module): DEFSYM save-value-p and save-pointer-p.  Do
2697         defsubr internal--module-call.
2699 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
2701         Add etags tests for the recent Lua-related bugfix
2703         * test/etags/lua-src/test.lua: New file, tests the issues raised
2704         by bug#21934.
2705         * test/etags/Makefile (LUASRC): Add test.lua.
2706         * test/etags/ETAGS.good_1:
2707         * test/etags/ETAGS.good_2:
2708         * test/etags/ETAGS.good_3:
2709         * test/etags/ETAGS.good_4:
2710         * test/etags/ETAGS.good_5:
2711         * test/etags/ETAGS.good_6:
2712         * test/etags/CTAGS.good: Adapt to the new Lua test.  Also, an old
2713         regression fix, resolved around 25 May 2015, required changes to
2714         the "good" ETAGS files.
2716 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
2718         Fix Lua tags when a function name includes '.' or ':'
2720         * lib-src/etags.c (Lua_functions): Add a tag for the last element
2721         of a function name after a dot or a colon.  (Bug#21934)
2723 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
2725         Improve documentation of search and replace commands
2727         * doc/emacs/search.texi (Replacement and Lax Matches): Document
2728         which commands are affected by 'replace-character-fold'.
2729         (Lax Search): Add a cross reference to "Replacement and Lax
2730         Matches".  Improve wording.  Fix lost extra whitespace.
2731         (Search Customizations): Improve wording.  (Bug#22036)
2732         See also comments in
2733         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg02376.html.
2735         * lisp/replace.el (query-replace, query-replace-regexp)
2736         (query-replace-regexp-eval, replace-string, replace-regexp):
2737         Mention 'replace-character-fold' in the doc strings.
2739 2015-11-28  Paul Eggert  <eggert@cs.ucla.edu>
2741         Fix minor problems found by static checking
2743         * src/undo.c (prepare_record): Add proper prototype for C.
2745 2015-11-27  Stefan Monnier  <monnier@iro.umontreal.ca>
2747         * src/emacs-module.c (struct env_storage): Delete
2749         (struct emacs_runtime_private): Keep an emacs_env instead.
2750         (Fmodule_load, Fmodule_call): Declare emacs_env_private separately.
2751         (initialize_environment): Split the arg in two.  Adjust all callers.
2752         Only store the private part in Vmodule_environments.
2753         (finalize_environment): Change the arg to only be the private env.
2754         Adjust all callers.
2756 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
2758         Improve documentation of 'replace-character-fold'
2760         * lisp/replace.el (replace-character-fold): Clarify which commands
2761         are affected by this variable.
2763 2015-11-27  Dmitry Gutov  <dgutov@yandex.ru>
2765         Autoload etags when using its xref backend
2767         * lisp/progmodes/xref.el (xref--etags-backend):
2768         Rename to etags--xref-backend.  Move to etags.el.  Autoload.
2769         (Bug#22026)
2771 2015-11-27  Artur Malabarba  <bruce.connor.am@gmail.com>
2773         * lisp/character-fold.el: Allow complex chars to match their decomposition
2775         (character-fold-table): When a character's decomposition does not
2776         involve a formatting tag (i.e., if it has an "exact" description via
2777         other characters), then this character is allowed to match the
2778         decomposition.
2780 2015-11-27  Artur Malabarba  <bruce.connor.am@gmail.com>
2782         * lisp/character-fold.el: More descriptive variable names
2784         (character-fold-table): Rename a lot of the lexical variables to
2785         make the code easier to read.
2787 2015-11-27  Artur Malabarba  <bruce.connor.am@gmail.com>
2789         * lisp/isearch.el: Ensure we still support `isearch-new-word'
2791         (isearch-new-regexp-function): Define variable.
2792         (isearch-new-word): Define as an obsolete alias. (Bug#22018)
2794 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
2796         Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emacs into emacs-25
2798 2015-11-27  Lee Bochicchio  <lboc.home@gmail.com>
2800         * test/lisp/abbrev-tests.el: Define more tests
2802         (abbrev-table-name-test, kill-all-abbrevs-test)
2803         (clear-abbrev-table-test): New tests.
2805 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
2807         Add module tests for wrong-type-argument
2809         * modules/mod-test/test.el (mod-test-sum-test): Add tests for
2810         wrong-type-argument.
2812 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
2814         Improve handling of signals and 'throw' in modules
2816         * src/emacs-module.c: Add commentary explaining how to write
2817         functions in this file.
2818         (module_make_global_ref, module_free_global_ref)
2819         (module_non_local_exit_signal, module_non_local_exit_throw)
2820         (module_make_function, module_funcall, module_intern)
2821         (module_type_of, module_is_not_nil, module_eq)
2822         (module_extract_integer, module_make_integer)
2823         (module_extract_float, module_make_float)
2824         (module_copy_string_contents, module_make_string)
2825         (module_make_user_ptr, module_get_user_ptr, module_set_user_ptr)
2826         (module_get_user_finalizer, module_set_user_finalizer)
2827         (module_vec_set, module_vec_get, module_vec_size)
2828         (module_non_local_exit_signal_1, module_non_local_exit_throw_1):
2829         Do nothing and return with failure indication immediately, if some
2830         previous module call signaled an error or wants to throw.  See
2831         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg02133.html
2832         for the relevant discussions.
2834 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
2836         Add ':version' tag to 'checkdoc-package-keywords-flag'
2838         * lisp/emacs-lisp/checkdoc.el (checkdoc-package-keywords-flag):
2839         Add a ':version' tag.
2841 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
2843         Improve documentation of 'eval-buffer' and 'eval-region'
2845         * src/lread.c (Feval_buffer, Feval_region): Doc fixes.  (Bug#22023)
2847         * doc/lispref/eval.texi (Eval): Mention narrowing to clarify
2848         "accessible portion of buffer".
2850 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
2852         Unbreak the Cygwin w32 build
2854         * src/emacs.c (main): Call w32_init_main_thread in the Cygwin w32
2855         build as well.  Reported by Andy Moreton <andrewjmoreton@gmail.com>.
2857 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
2859         Improve commentary in character-fold.el
2861         * lisp/character-fold.el (character-fold-to-regexp): Move detailed
2862         description from commit log message to comments.  (Bug#22019)
2864 2015-11-26  Alan Mackenzie  <acm@muc.de>
2866         Byte Compiler: generate code to adjust stack count after call to `signal'.
2868         Corrects change from earlier today.
2870         * lisp/emacs-lisp/bytecomp.el (byte-compile-setq): supply the current value of
2871         `byte-compile--for-effect' as argument to `byte-compile-form'.
2873 2015-11-26  Eli Zaretskii  <eliz@gnu.org>
2875         Improve commentary of prepare_to_modify_buffer_1
2877         * src/insdel.c (prepare_to_modify_buffer_1): Mention in commentary
2878         that this function runs Lisp.  Suggested by Richard Stallman
2879         <rms@gnu.org>.
2881 2015-11-26  Phillip Lord  <phillip.lord@russet.org.uk>
2883         Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into emacs-25
2885 2015-11-26  Phillip Lord  <phillip.lord@russet.org.uk>
2887         Fix regression after merge.
2889          * undo.c (prepare_record): Remove call to run_undoable_change.
2891 2015-11-26  Phillip Lord  <phillip.lord@russet.org.uk>
2893         After delete, record point location in undo.
2895         Addresses Bug #21968.
2897                 * lisp/simple.el (undo-auto--add-boundary): Clean up code to
2898                 better support intercalating calls.
2899                 * src/keyboard.c,src/keyboard.h (command_loop_1): Store value of
2900                 point and current buffer before each command.
2901                 * src/undo.c (record_point): Now only record the point.
2902                 * src/undo.c (prepare_record): Functionality removed form
2903                 record_point.
2904                 * src/undo.c (record_delete): Check if point needs recording.
2905                 * src/undo.c (undo-boundary): Record value of point before each
2906                 boundary.
2907                 * test/automated/simple-test.el: New tests.
2909         Conflicts:
2910                 src/undo.c
2912 2015-11-26  Eli Zaretskii  <eliz@gnu.org>
2914         Fix compiler warnings in w32.c
2916         * src/w32.c (sys_socket): In case of error, use -1 as return
2917         value, not INVALID_SOCKET, which causes compiler warnings.
2918         (maybe_load_unicows_dll): Cast the return value of GetProcAddress
2919         to the appropriate function signature, to avoid compiler errors.
2920         Reported by Andy Moreton <andrewjmoreton@gmail.com>.  (Bug#21953)
2922 2015-11-26  Dmitry Gutov  <dgutov@yandex.ru>
2924         Check if the file exists on disk before producing the revert diff
2926         * lisp/vc/vc-dispatcher.el (vc-buffer-sync): Check if the file
2927         exists on disk (bug#20558).
2929 2015-11-26  Alan Mackenzie  <acm@muc.de>
2931         Byte compiler: on setq with an odd number of arguments, generate a `signal'
2933         * lisp/emacs-lisp/cconv.el (cconv-convert): Don't transform `setq' form when
2934         it has an odd number of arguments, to allow bytecomp to handle the error.
2936         * lisp/emacs-lisp/bytecomp.el (byte-compile-setq): In a `setq' form with an
2937         odd number of arguments, generate a `signal' instead of the normal code.
2939 2015-11-25  Dmitry Gutov  <dgutov@yandex.ru>
2941         Use find-tag-default for xref-backend-identifier-at-point
2943         * lisp/progmodes/etags.el (find-tag-tag)
2944         (tags-completion-at-point-function): Extract common code as
2945         find-tag--default.
2946         (xref-backend-identifier-at-point): Define in terms of the new
2947         function.
2949 2015-11-25  Paul Eggert  <eggert@cs.ucla.edu>
2951         * src/undo.c (record_property_change): Remove now-unused local.
2953 2015-11-25  Phillip Lord  <phillip.lord@russet.org.uk>
2955         run_undoable_changes now called from insdel.
2957         The original calls from inside undo.c are not always at a safe position
2958         to call lisp, as they originate in varied positions within insdel.c.
2959         Calling them directly from prepare_to_modify_buffer_1 ensures that they
2960         are always run at the same point.
2962          * undo.c (run_undoable_changes,syms_of_undo): Remove function
2963          and symbol used.
2964          * insdel.c (run_undoable_changes): Add function and symbol.
2966 2015-11-25  Eli Zaretskii  <eliz@gnu.org>
2968         Improve and update documentation of search commands
2970         * doc/emacs/search.texi (Lax Search): Renamed from "Search Case";
2971         all references changed.  Move the description of lax-whitespace
2972         here.  Add description of the new character folding features and
2973         additional customizable options.
2974         (Isearch Yank): Move before "Error in Search".
2975         (Basic Isearch): Improve wording.  Add index entries.  Add short
2976         description of how to abandon search, making this subsection a
2977         complete introduction to search basics.
2978         (Repeat Isearch): Add index entries.  Describe additional
2979         customizable options.  Describe mouse clicks.
2980         (Isearch Yank): Add index entries.  Describe mouse-2 click in echo
2981         area.  Describe more customizable options.
2982         (Error in Isearch): Add index entries.
2983         (Special Isearch): Move actual description of some isearch
2984         commands to other sections, leaving here just the summary of the
2985         commands.  Add command that toggles character folding.  Describe
2986         commands, like "C-h C-h", that were previously omitted for some
2987         reason.
2988         (Not Exiting Isearch): Describe search-exit-option.  Add index
2989         entries.
2990         (Word Search): Describe eww-search-word and eww-search-prefix.
2991         (Symbol Search): Add index entries.
2992         (Regexp Search): Describe regexp-search-ring-max.
2993         (Replacement and Lax Matches): Renamed from "Replacement and
2994         Case"; all references changed.  Describe lax-whitespace matching
2995         in replace commands and related options.  Describe character
2996         folding in replace commands and related options.
2997         (Query Replace): Describe query-replace-from-to-separator and the
2998         new history features.  Add index entries for highlighted text.
2999         Describe query-replace-skip-read-only.  Describe more keys
3000         accepted by query-replace.
3001         (Other Repeating Search): More index entries for Occur.  Describe
3002         list-matching-lines-default-context-lines.
3003         (Search Customizations): New section, documents customizable
3004         options that were not documented until now.
3005         * doc/emacs/glossary.texi (Glossary): Add "Case Folding" and
3006         "Character Folding".
3008         * etc/NEWS: Move search- and replace-related entries to a single
3009         parent section.
3011         * lisp/replace.el (query-replace-show-replacement): Doc fix.
3012         * lisp/isearch.el (search-nonincremental-instead)
3013         (isearch-hide-immediately): Doc fixes.
3015 2015-11-25  Katsumi Yamaoka  <yamaoka@jpl.org>
3017         Remove nnml-retrieve-groups that is unnecessary and somewhat problematic
3019         * lisp/gnus/nnml.el (nnml-retrieve-groups): Remove.  See:
3020         <http://thread.gmane.org/gmane.emacs.gnus.general/86308> and
3021         <http://thread.gmane.org/gmane.emacs.gnus.general/86321>
3023 2015-11-25  Paul Eggert  <eggert@cs.ucla.edu>
3025         Fix module_format_fun_env when dynlib_addr fails
3027         * src/emacs-module.c (module_format_fun_env):
3028         exprintf doesn’t support %p, so use %x.  Reported by Eli Zaretskii in:
3029         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg02122.html
3031 2015-11-25  Paul Eggert  <eggert@cs.ucla.edu>
3033         Disambiguate variable help a bit better
3035         * lisp/help-fns.el (describe-variable): Quote the
3036         variable’s value if it is a symbol other than t or nil.
3037         See: T.V Raman in:
3038         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg02147.html
3040 2015-11-24  Dmitry Gutov  <dgutov@yandex.ru>
3042         Pass SVN commit message through log-edit-extract-headers
3044         * lisp/vc/vc-svn.el (vc-svn-checkin): Pass COMMENT through
3045         log-edit-extract-headers (bug#18954).
3047 2015-11-24  Alan Mackenzie  <acm@muc.de>
3049         CC Mode: Eliminate compiler warning messages.
3051         * lisp/progmodes/cc-mode.el (top level): remove compile time declaration of
3052         `font-lock-syntactic-keywords' (which CC Mode doesn't use).
3053         * lisp/progmodes/cc-awk.el (awk-mode-syntax-table)
3054         (c-awk-set-syntax-table-properties): Clarify comments about
3055         `font-lock-syntactic-keywords'.
3057         * lisp/progmodes/cc-bytecomp.el (cc-bytecomp-load): Create a dummy declaration
3058         of this before the real (interpreted) one, to satisfy the byte compiler.
3060 2015-11-24  Simen Heggestøyl  <simenheg@gmail.com>
3062         Extend the test suite for json.el
3064         * lisp/json.el (json-plist-p): Clarify docstring.
3066         * test/automated/json-tests.el (json-tests--with-temp-buffer): New
3067         macro.
3068         (test-json-join, test-json-alist-p)
3069         (test-json-plist-p, test-json-advance, test-json-peek)
3070         (test-json-pop, test-json-skip-whitespace)
3071         (test-json-read-keyword, test-json-encode-keyword)
3072         (test-json-read-number, test-json-encode-number)
3073         (test-json-read-escaped-char, test-json-read-string)
3074         (test-json-encode-string, test-json-encode-key)
3075         (test-json-new-object, test-json-add-to-object)
3076         (test-json-read-object, test-json-encode-list)
3077         (test-json-read-array, test-json-encode-array)
3078         (test-json-read, test-json-read-from-string)
3079         (test-json-encode): New tests.
3080         (json-read-simple-alist): Merged into `test-json-read-object'.
3081         (json-encode-string-with-special-chars): Merged into
3082         `test-json-encode-string'.
3083         (json-read-string-with-special-chars): Split into
3084         `test-json-encode-string' and `test-json-read-from-string'.
3086 2015-11-24  Anders Lindgren  <andlind@gmail.com>
3088         Fixed bug#18283: Enable applescript in NextStep.
3090         * nextstep/templates/Info.plist.in: Set NSAppleScriptEnabled to YES.
3092 2015-11-24  Eli Zaretskii  <eliz@gnu.org>
3094         Allow completion on dynamic module files in load-library
3096         * lisp/files.el (load-library): Bind completion-ignored-extensions
3097         to nil, to allow completion on dynamic modules typed as file
3098         names.  Reported by Andy Moreton <andrewjmoreton@gmail.com>.
3100 2015-11-24  Alan Mackenzie  <acm@muc.de>
3102         CC Mode: eliminate almost all byte compilation warnings
3104         * lisp/progmodes/cc-bytecomp.el (cc-bytecomp-noruntime-functions): Remove.
3105         (cc-require): Remove the crude hack that saved and restored
3106         byte-compile-noruntime-functions.
3107         (cc-conditional-require, cc-conditional-require-after-load): New macros.
3109         * lisp/progmodes/cc-defs.el (top level): Reformulate code which loaded
3110         cc-fix.el using the new macros in cc-bytecomp.el.
3112         * lisp/progmodes/cc-langs.el (c++-template-syntax-table)
3113         (c-no-parens-syntax-table): Add extra "(eval ..)"s around "'(lambda ..)"
3114         forms to remove the superflous quotes.
3116 2015-11-24  Eli Zaretskii  <eliz@gnu.org>
3118         Add one more mod-test test
3120         * modules/mod-test/test.el (mod-test-sum-test): Test the error
3121         signaled when the function is invoked with a wrong number of
3122         arguments.
3124 2015-11-24  Philipp Stephani  <phst@google.com>
3126         * modules/mod-test/mod-test.c (Fmod_test_sum): Verify there are 2 args.
3128 2015-11-24  Eli Zaretskii  <eliz@gnu.org>
3130         Implement dynlib_addr for MS-Windows
3132         * src/dynlib.c [WINDOWSNT]: Include w32common.h.
3133         <g_b_init_get_module_handle_ex> [WINDOWSNT]: New static variable.
3134         (GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS)
3135         (GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT) [WINDOWSNT]: Define
3136         if undefined.
3137         (dynlib_reset_last_error): Reset g_b_init_get_module_handle_ex to
3138         zero.
3139         (dynlib_addr) [WINDOWSNT]: Non-trivial implementation to report
3140         the full file name of the module for a given address.
3142 2015-11-24  Alan Mackenzie  <acm@muc.de>
3144         Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into emacs-25
3146 2015-11-24  Alan Mackenzie  <acm@muc.de>
3148         Squashed commit of the following:
3150         commit e1ecf76585bef2eb87995f7a7f92cc12003a6f70
3151         Author: Alan Mackenzie <acm@muc.de>
3152         Date:   Tue Nov 24 16:50:09 2015 +0000
3154             Byte compile: minor amendments.
3156             * lisp/emacs-lisp/bytecomp.el (byte-compile-initial-macro-environment):
3157             add a comment to explain the binding of variables around a subsidiary
3158             compilation.
3159             (byte-compile-new-defuns): Amend the doc string.
3161         commit c537bfed1dda1593d218956ff00c6105a3ff0316
3162         Author: Alan Mackenzie <acm@muc.de>
3163         Date:   Sat Nov 21 18:43:57 2015 +0000
3165             Byte compiler: fix spurious warnings "might not be defined at runtime".
3167             Also initialize byte-compile-noruntime-functions between runs.
3169             * lisp/emacs-lisp/bytecomp.el (byte-compile-new-defuns): New variable.
3170             (byte-compile-initial-macro-environment): For eval-when-compile: bind
3171             byte-compile-unresolved-functions and byte-compile-new-defuns around
3172             byte-compile-top-level, to prevent spurious entries being made.
3173             (byte-compile-warn-about-unresolved-functions): Check whether function is
3174             in byte-compile-new-defuns before emitting a warning about it.
3175             (byte-compile-from-buffer): Initialize new variable and
3176             byte-compile-noruntime-functions to nil.
3177             (byte-compile-file-form-require): record all new functions defined by a
3178             `require' in byte-compile-new-defuns.
3179             (byte-compile-file-form-defmumble): record the new alias in
3180             byte-compile-new-defuns.
3182 2015-11-24  Eli Zaretskii  <eliz@gnu.org>
3184         Fix crash at startup related to GC of font entities
3186         * src/font.h (GC_FONT_SPEC_P, GC_FONT_ENTITY_P)
3187         (GC_FONT_OBJECT_P, GC_XFONT_SPEC, GC_XFONT_ENTITY)
3188         (GC_XFONT_OBJECT): New macros, for use in garbage collector.
3189         * src/alloc.c (compact_font_cache_entry, compact_font_caches):
3190         Don't ifdef away font cache compaction on NT_GUI, as the problems
3191         which led to that seem to have been solved.
3192         (compact_font_cache_entry): Use GC_FONT_SPEC_P, GC_XFONT_SPEC,
3193         GC_XFONT_ENTITY, and GC_XFONT_OBJECT, instead of their non-GC_
3194         cousins.  (Bug#21999)
3196 2015-11-24  Alan Mackenzie  <acm@muc.de>
3198         Byte compile: Output an error, not a warning, for odd number of args to setq
3200         * lisp/emacs-lisp/bytecomp.el (byte-compile-setq): Amend.
3202 2015-11-24  Ken Raeburn  <raeburn@raeburn.org>
3204         Fix kbd_buffer iteration loop in readable_events
3206         * src/keyboard.c (readable_events): Wrap the event pointer back to the
3207         start of the kbd_buffer array inside the top of the loop instead of
3208         right before checking the loop condition, since kbd_fetch_ptr and
3209         kbd_store_ptr point past the end of the array to mean that element 0
3210         is next. (bug#21935)
3212 2015-11-24  Paul Eggert  <eggert@cs.ucla.edu>
3214         Improve text-quoting-style doc again
3216         * doc/lispref/help.texi (Keys in Documentation):
3217         Omit overkill discussion of ‘setq’.  Mention Emacs versions
3218         where ‘grave’ style was standard.
3220 2015-11-23  Paul Eggert  <eggert@cs.ucla.edu>
3222         Improve text-quoting-style doc
3224 2015-11-23  Paul Eggert  <eggert@cs.ucla.edu>
3226         Simplify module_make_function
3228         * src/emacs-module.c (module_make_function):
3229         Simplify by calling build_unibyte_string.
3231 2015-11-23  Paul Eggert  <eggert@cs.ucla.edu>
3233         Port better to FreeBSD’s dlfunc vs dlsym
3235         This avoids warnings when converting between void * and
3236         function pointers, which strict C11 does not allow.
3237         * configure.ac (dlfunc): Check for existence.
3238         * src/dynlib.c (dlfunc) [!HAVE_DLFUNC]: New macro.
3239         (dynlib_func): New function.
3240         * src/dynlib.h (dynlib_function_ptr, dynlib_func): New decls.
3241         * src/emacs-module.c (Fmodule_load): Use dynlib_func, not
3242         dynlib_sym, for function pointers.
3244 2015-11-23  Paul Eggert  <eggert@cs.ucla.edu>
3246         Simplify use of emacs_finalizer_function type
3248         * src/emacs-module.h (emacs_finalizer_function):
3249         Now EMACS_NOEXCEPT.  All users simplified to omit EMACS_NOEXCEPT.
3250         (struct emacs_env_25): Use emacs_finalizer_function where applicable.
3252 2015-11-23  Paul Eggert  <eggert@cs.ucla.edu>
3254         module_format_fun_env fixes
3256         * src/doprnt.c (exprintf) [HAVE_MODULES]: Also define in this case.
3257         * src/emacs-module.c (module_format_fun_env):
3258         Convert path and sym to UTF-8.
3259         Don’t use VLAs, as the C11 standard says they’re optional,
3260         and anyway they can cause core dumps with large allocations.
3261         Use exprintf rather than snprintf, as exprintf handles arbitrarily
3262         long strings.  Simplify the code a bit.
3264 2015-11-23  Dmitry Gutov  <dgutov@yandex.ru>
3266         Don't use package-user-dir in elisp-library-roots if it's not bound
3268         * lisp/progmodes/elisp-mode.el (elisp-library-roots): Don't
3269         use package-user-dir if it's not bound (bug#19759).
3271 2015-11-23  Anders Lindgren  <andlind@gmail.com>
3273         New visible-bell for NextStep (OS X El Capitan compatible).
3275         Instead of inverting a rectangle in the middle of the frame, use
3276         the standard NextStep image "caution", represented using an
3277         warning sign with an exclamation mark.  (Bug#21662)
3279         Implemented based on a suggestion drafted by Mustafa Kocaturk.
3281         * src/nsterm.m (EmacsBell): New class for managing the caution
3282         image.  Support multiple active bells, the image is removed once
3283         all bells have timed out.
3284         (ns_timeout): Removed, no longer used.
3285         (ns_ring_bell): Reimplemented to use EmacsBell.
3287 2015-11-23  Johan Bockgård  <bojohan@gnu.org>
3289         * lisp/emacs-lisp/nadvice.el (add-function): Fix debug spec.
3291         (remove-function): Ditto. (Bug#20376)
3293 2015-11-23  Mark Oteiza  <mvoteiza@udel.edu>
3295         * lisp/leim/quail/tamil-dvorak.el: Add necessary escapes.
3297 2015-11-23  Eli Zaretskii  <eliz@gnu.org>
3299         Improve how non-ASCII strings are accepted from modules
3301         * src/emacs-module.c (module_make_function, module_make_string):
3302         Build a unibyte Lisp string and then decode it by UTF-8, instead
3303         of building a multibyte string without decoding.  This is more
3304         tolerant to deviations from UTF-8.
3306 2015-11-23  Paul Eggert  <eggert@cs.ucla.edu>
3308         Port recent module changes to pickier compilers
3310         * src/emacs-module.c (module_make_function)
3311         (module_make_string): Add casts to fix pointer signedness issues.
3313 2015-11-23  Philipp Stephani  <phst@google.com>
3315         Fix how strings are accepted from modules
3317         * emacs-module.c (module_make_function, module_make_string): Use
3318         make_multibyte_string.
3319         (module_copy_string_contents): Encode before reading the byte
3320         size.  Return false if and only if an error occurred.
3322 2015-11-23  Eli Zaretskii  <eliz@gnu.org>
3324         Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emacs into emacs-25
3326 2015-11-23  Shakthi Kannan  <shakthimaan@gmail.com>
3328         Add the tamil-dvorak input method
3330         * lisp/leim/quail/tamil-dvorak.el: New file.  (Bug#21768)
3332         * etc/NEWS: Mention the new input method.
3334 2015-11-23  Martin Rudalics  <rudalics@gmx.at>
3336         Move setting FRAME_WINDOW_SIZES_CHANGED to resize_frame_windows.
3338         * src/frame.c (adjust_frame_size): Don't set
3339         FRAME_WINDOW_SIZES_CHANGED here ...
3340         * src/window.c (resize_frame_windows): ... but here, as suggested
3341         by Stefan Monnier.  Also remove some dead code along the way.
3343 2015-11-23  Alan Mackenzie  <acm@muc.de>
3345         * /etc/NEWS (Incompatible Lisp Changes): Also `setf' needs an even # of args.
3347 2015-11-23  Alan Mackenzie  <acm@muc.de>
3349         Signal an error when `setf' gets an odd number of arguments.
3351         * lisp/emacs-lisp/gv.el (setf): Amend.
3353 2015-11-23  Stefan Monnier  <monnier@iro.umontreal.ca>
3355         * lisp/emacs-lisp/smie.el (smie-backward-sexp): Handle BOB better.
3357 2015-11-23  Alan Mackenzie  <acm@muc.de>
3359         * etc/NEWS (Incompatible Lisp Changes): Document new restriction on `setq'.
3361 2015-11-23  Alan Mackenzie  <acm@muc.de>
3363         Expunge occurrences of `setq' with an odd number of arguments.
3365         * lisp/apropos.el (apropos-documentation):
3366         * lisp/obsolete/complete.el (PC-include-file-all-completions):
3367         * lisp/progmodes/compile.el (compilation-goto-locus):
3368         * lisp/vc/vc-cvs.el (vc-cvs-parse-root): (twice)
3369         Insert missing nil at end of `setq' forms.
3371         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-autoload): Remove an
3372         erroneous trailing variable name from a setq, thus allowing a compilation
3373         properly to track functions not defined at runtime.
3375 2015-11-23  John Wiegley  <johnw@newartisans.com>
3377         Add a note about a questionable use of bool in xdisp.c
3379 2015-11-23  Alan Mackenzie  <acm@muc.de>
3381         Issue a warning from the byte compiler on a malformed `setq' form.
3383         Partly fixes bug#20241.
3384         * lisp/emacs-lisp/bytecomp.el (byte-compile-setq): Issue a warning when a
3385         `setq' form with an odd number of arguments is compiled.
3387 2015-11-23  Alan Mackenzie  <acm@muc.de>
3389         Don't let cconv_convert insert a nil argument into a `setq' form.
3391         Fixes bug#21983.
3392         * lisp/emacs-lisp/cconv.el (cconv-convert): Don't silently insert a nil last
3393         argument into a `setq' when there're an odd number of args.  This enables the
3394         byte compiler to issue a message in this case.
3396 2015-11-23  Alan Mackenzie  <acm@muc.de>
3398         Signal an error when `setq' has an odd number of arguments.  Fixes bug#20241.
3400         * src/eval.c (Fsetq): Signal an error on an odd number of arguments.
3401         (syms_of_eval): Add a DEFSYM for Qsetq.
3403 2015-11-23  Martin Rudalics  <rudalics@gmx.at>
3405         * doc/lispref/windows.texi (Window Sizes): Fix indices and references.
3407         * src/frame.c (adjust_frame_size): Set FRAME_WINDOW_SIZES_CHANGED (Bug#21975).
3409 2015-11-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
3411         Add EUDC BBDB 3 entry in NEWS
3413         * NEWS: Mention EUDC BBDB backend support for BBDB 3.
3415 2015-11-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
3417         Improve EUDC to BBDB 3 export
3419         * eudc-vars.el (eudc-ldap-bbdb-conversion-alist): Change phone
3420         entry to single item.  Add company conversion.
3421         * eudc-export.el (eudc-bbdbify-company): New function.
3422         (bbdb-parse-phone): Declare function.
3423         (eudc-bbdbify-phone): Add BBDB 3 support.
3424         (Bug#21971)
3426 2015-11-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
3428         Add BBDB 3 support for EUDC export
3430         * eudc.el: Add bbdb-version defvar.
3431         (eudc--using-bbdb-3-or-newer-p): New function.
3432         * eudc-export.el (eudc-create-bbdb-record): Add support for
3433         bbdb-create-internal argument list changes introduced in BBDB 3.
3434         * eudcb-bbdb.el: Remove bbdb-version defvar.
3435         (eudc-bbdb-field): Call eudc--using-bbdb-3-or-newer-p.
3436         (Bug#21971)
3438 2015-11-22  Eli Zaretskii  <eliz@gnu.org>
3440         Allow loading modules by 'load-file'
3442         * src/lread.c (Fload): Call 'unbind_to' with 'Fmodule_load' as the
3443         2nd arg, to avoid the "binding stack not balanced" error.
3444         (syms_of_lread) <module-file-suffix>: New Lisp variable.
3446         * lisp/files.el (module-file-suffix): Declare.
3447         (load-file): Remove 'module-file-suffix' from
3448         'completion-ignored-extensions', to allow completion on modules.
3450         * etc/NEWS: Mention 'module-file-suffix'.
3452 2015-11-22  Eli Zaretskii  <eliz@gnu.org>
3454         Fix unoptimized builds
3456         * src/lisp.h (XTYPE): Move before XSYMBOL, to fix unoptimized
3457         builds.
3459 2015-11-22  Dmitry Gutov  <dgutov@yandex.ru>
3461         Work around the asynchronous-empty-diff problem
3463         * lisp/vc/vc-rcs.el (vc-rcs-diff):
3464         * lisp/vc/vc-mtn.el (vc-mtn-diff):
3465         * lisp/vc/vc-hg.el (vc-hg-diff):
3466         * lisp/vc/vc-git.el (vc-git-diff): Ignore the ASYNC argument,
3467         do a synchronous process call (bug#21969).
3469 2015-11-21  Karl Fogel  <kfogel@red-bean.com>
3471         Finish excising electric indent from `open-line'
3473         * lisp/simple.el (open-line): Remove INTERACTIVE argument.
3475         * test/automated/simple-test.el (open-line-indent, open-line-hook):
3476           Adjust accordingly.
3478         This change finishes what my commit of Thu Nov 19 17:32:37 2015 -0600
3479         (git commit c59353896) started.  It turns out that having INTERACTIVE
3480         cause `post-self-insert-hook' to run (via `newline') meant `open-line'
3481         still had the electric indent behavior, as `post-self-insert-hook'
3482         normally contains `electric-indent-post-self-insert-function' ever
3483         since `electric-indent-mode' has been on by default.  Tracing the code
3484         change in `open-line' is mildly twisty, because Artur Malabarba's
3485         earliest two commits of 24 Oct 2015 first removed the `interactive'
3486         form entirely (git commit 6939896e2) and then restored it with the new
3487         extra "p" already added (git commit bd4f04f86), such that there is no
3488         single-commit diff in which one sees the second "p" appear.  Thus this
3489         change is effectively a reversion of parts of each of those commits.
3491         This could close bug#21884, at least until further discussion.
3493 2015-11-21  Dmitry Gutov  <dgutov@yandex.ru>
3495         Adhere closer to the "implicit tag name" definition
3497         * lisp/progmodes/etags.el (etags-tags-completion-table):
3498         Adhere closer to the "implicit tag name" definition.  Simplify
3499         the regexp.  Search for the explicit tag name first, and when
3500         not found, search locally for the implicit one.  (Bug#21934)
3502 2015-11-21  Stefan Monnier  <monnier@iro.umontreal.ca>
3504         Unrevert most of regexp reentrancy abort patch
3506         The problem was in:
3507           * src/syntax.c (update_syntax_table_forward): Propertize even when truncated
3508         which is hence not unreverted.
3509         The rest is:
3510         * src/syntax.h (UPDATE_SYNTAX_TABLE_FORWARD_FAST):
3511         (UPDATE_SYNTAX_TABLE_FAST): Re-introduce.
3512         All callers in regex.c changed back to the _FAST versions.
3514         * test/automated/message-mode-tests.el: Tweak the test to rely on auto
3515         propertization in backward-sexp.
3517 2015-11-21  Paul Eggert  <eggert@cs.ucla.edu>
3519         Revert regexp reentrancy abort patch
3521         Although the patch does fix Bug#21688 and prevents a core dump,
3522         it also makes the message-mode-propertize test fail; see:
3523         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg01667.html
3524         Perhaps someone else can come up with a better fix some day.
3525         * src/syntax.c (update_syntax_table_forward):
3526         Propertize even when truncated.
3527         * src/syntax.h (UPDATE_SYNTAX_TABLE_FORWARD_FAST):
3528         (UPDATE_SYNTAX_TABLE_FAST): Remove.
3529         All callers changed back to the non-_FAST versions.
3531 2015-11-21  Paul Eggert  <eggert@cs.ucla.edu>
3533         Add a few safety checks when ENABLE_CHECKING
3535         This was motivated by the recent addition of module code,
3536         which added some ENABLE_CHECKING-enabled checks that are
3537         useful elsewhere too.
3538         * src/alloc.c (compact_font_cache_entry):
3539         * src/fns.c (sweep_weak_table):
3540         * src/lread.c (oblookup):
3541         Use gc_asize rather than doing it by hand.
3542         * src/emacs-module.c (module_make_global_ref)
3543         (module_free_global_ref, module_vec_size):
3544         Omit assertions that lisp.h now checks.
3545         * src/lisp.h (XFASTINT, ASIZE): In functional implementations,
3546         check that the result is nonnegative.  Use eassume, as this
3547         info can help a bit when optimizing production code.
3548         (XSYMBOL) [!USE_LSB_TAG]: Assert that argument is a symbol,
3549         to be consistent with the USE_LSB_TAG case.
3550         (gc_asize): New function, when ASIZE is needed in the gc.
3551         (gc_aset): Use it.
3552         (HASH_TABLE_P): Move definition up, so that it can be used ...
3553         (XHASH_TABLE): ... here, to assert that the arg is a hash table.
3555 2015-11-21  Eli Zaretskii  <eliz@gnu.org>
3557         Simplify recording of main thread's ID on MS-Windows
3559         * src/w32term.c (w32_initialize):
3560         * src/w32console.c (initialize_w32_display):
3561         * src/w32fns.c (globals_of_w32fns): Don't record the main thread
3562         ID independently for each type of session (GUI, TTY, batch).
3563         * src/w32term.c (w32_init_main_thread): New function, records the
3564         main thread's thread ID.
3565         * src/w32term.h: Add prototype for w32_init_main_thread.
3566         * src/emacs.c (main) [WINDOWSNT]: Call w32_init_main_thread.
3568         * src/emacs-module.c [WINDOWSNT]: Rename main_thread_id to
3569         main_thread, for consistency with other threading libraries.  All
3570         users changed.  Include w32term.h.
3571         (check_main_thread) [WINDOWSNT]: Simplify the test: no need to
3572         make sure the main thread is alive, as we hold a handle on it
3573         opened by w32_init_main_thread.
3574         (module_init) [WINDOWSNT]: Reuse the thread ID recorded by
3575         w32_init_main_thread, instead of calling the requisite APIs once
3576         more.
3578 2015-11-21  Eli Zaretskii  <eliz@gnu.org>
3580         Call 'window-size-change-functions' for mini-windows
3582         * src/window.c (grow_mini_window, shrink_mini_window): Set the
3583         frame's 'window_sizes_changed' flag.
3584         * src/xdisp.c (redisplay_internal): Call the hooks on
3585         'window-size-change-functions' if the call to 'echo_area_display'
3586         sets the frame's 'window_sizes_changed' flag.
3587         (syms_of_xdisp) <window-size-change-functions>:
3588         Update doc string to indicate the mini-window resizes trigger a
3589         call to the hooks, and don't promise that will happen "before
3590         redisplay".  (Bug#19576, Bug#21333)
3592         * doc/lispref/windows.texi (Window Hooks): Update the description
3593         of 'window-size-change-functions'.
3595 2015-11-21  Eli Zaretskii  <eliz@gnu.org>
3597         Improve documentation of dynamic modules
3599         * src/fns.c (Frequire): Doc fix to include the dynamic module
3600         support.
3601         * src/lread.c (Fload, Vload_suffixes): Doc fixes to include the
3602         dynamic module support.
3603         (Fload): Treat the module suffix the same as '*.el' and '*.elc'
3604         wrt the MUST-SUFFIX argument.
3606         * etc/NEWS: Expand documentation of dynamically loaded modules.
3608 2015-11-21  Philipp Stephani  <phst@google.com>  (tiny change)
3610         Initial documentation for dynamic modules
3612         * etc/NEWS: Mention the new support for dynamically loaded modules.
3614 2015-11-20  Dmitry Gutov  <dgutov@yandex.ru>
3616         Add xref--etags-backend to xref-backing-functions using add-hook
3618         * lisp/progmodes/xref.el (xref-backend-functions): Move the
3619         default value into a separate `add-hook' call (bug#21964).
3621         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
3622         Don't declare the xref-backend-functions variable.
3623         It doesn't make any difference.
3625 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
3627         Fix double-decrement bug when freeing global refs
3629         * src/emacs-module.c (module_free_global_ref): Add a FIXME
3630         comment about error reporting.  Fix a recently-introduced typo
3631         that double-decremented the refcount.
3633 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
3635         Declare emacs_module_init in the module API
3637         * src/emacs-module.h (emacs_module_init): New decl.
3638         Without it, GCC might complain about a module that defines
3639         emacs_module_init without using it.  This also checks the
3640         API better.
3642 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
3644         Fix module test to use ptrdiff_t nargs too
3646         * modules/mod-test/mod-test.c (Fmod_test_return_t)
3647         (Fmod_test_sum, Fmod_test_signal, Fmod_test_throw)
3648         (Fmod_test_non_local_exit_funcall, Fmod_test_globref_make)
3649         (Fmod_test_string_a_to_b, Fmod_test_userptr_make)
3650         (Fmod_test_userptr_get, Fmod_test_vector_fill)
3651         (Fmod_test_vector_eq): Arg counts are ptrdiff_t, not int.
3652         (finalizer): Remove; no longer used.
3654 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
3656         Fix reindent-introduced typo in module code
3658         * src/emacs-module.c (MODULE_SETJMP_1): Fix typo that I
3659         introduced while reindenting the code earlier, and add a
3660         comment explaining the unusual use of do-while here.
3662 2015-11-20  Anders Lindgren  <andlind@gmail.com>
3664         Fixed bug#19576: `write-file' saves wrong buffer.
3666         If a function on the hook `window-size-change-functions' doesn't
3667         restore the current buffer, functions that save and restore the
3668         current window configuration (like `y-or-no-p') could silently
3669         change the current buffer.  When `write-file' asked the user
3670         confirmation to overwrite a file, `y-or-no-p' changed the current
3671         buffer, and the wrong buffer was saved to the file.
3673         * lisp/follow.el (follow-windows-start-end): Call `select-frame'
3674         using the `norecord' parameter.
3675         (follow-window-size-change): Restore current buffer. Call
3676         `select-frame' using the `norecord' parameter. Cleanup.
3678 2015-11-20  John Wiegley  <johnw@newartisans.com>
3680         Correct a documentation error in frames.texi
3682 2015-11-20  Stephen Leake  <stephen_leake@stephe-leake.org>
3684         * lisp/cedet/mode-local.el: Delete obsolete comment
3686 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
3688         Module function arg counts are ptrdiff_t, not int
3690         * src/emacs-module.c (struct module_fun_env)
3691         (module_make_function, module_funcall, Fmodule_call):
3692         * src/emacs-module.h (struct emacs_runtime, struct emacs_env_25):
3693         Use ptrdiff_t, not int, for arg counts.
3694         * src/emacs-module.c (module_make_function): Don’t bother
3695         checking arity against MOST_POSITIVE_FIXNUM, as that’s
3696         unnecessary here.  Make the checking clearer by negating it.
3697         (module_make_function, Fmodule_call): No need to use xzalloc
3698         since the storage doesn’t need to be cleared.
3699         (module_funcall): Don’t use VLA, since C11 doesn’t guarantee support
3700         for it, and many implementations are buggy with large VLAs anyway.
3701         Use SAFE_ALLOCA_LISP instead.
3702         (module_vec_set): Don’t crash if i < 0.
3703         (module_vec_get): Don’t crash if i < MOST_NEGATIVE_FIXNUM.
3704         (module_vec_set, module_vec_get): Do fixnum checks only when
3705         i is out of array bounds, for efficiency in the usual case.
3706         (Fmodule_load): Simplify fixnum range check.
3707         (Fmodule_call): Simplify arity check.  Use xnmalloc to detect
3708         integer overflow in array allocation size.
3710 2015-11-20  Eli Zaretskii  <eliz@gnu.org>
3712         Minor improvements in module test
3714         * modules/mod-test/mod-test.c: Include stdlib.h, to avoid warnings
3715         about missing prototype of malloc.
3716         * modules/mod-test/Makefile (CFLAGS): Add -std=gnu99, to avoid
3717         compiler warnings.
3719 2015-11-20  Eli Zaretskii  <eliz@gnu.org>
3721         Improve MS-Windows implementation in dynlib.c
3723         * src/dynlib.c [WINDOWSNT]: Include errno.h, lisp.h, and w32.h.
3724         No need to include windows.h, as w32.h already does that.
3725         <dynlib_last_err>: New static variable.
3726         (dynlib_reset_last_error): New function.
3727         (dynlib_open): Convert forward slashes to backslashes.  Convert
3728         file names from UTF-8 to either UTF-16 or the current ANSI
3729         codepage, and call either LoadLibraryW or LoadLibraryA.  If the
3730         argument is NULL, return a handle to the main module, like
3731         'dlopen' does.  Record the error, if any, for use by dynlib_error.
3732         (dynlib_sym): Check the handle for validity. Record the error, if
3733         any, for use by dynlib_error.
3734         (dynlib_error): Call w32_strerror to produce the error string, and
3735         zero out the last error code, like dlerror does.
3736         (dynlib_close): Check the handle for validity.  Record the error,
3737         if any, for use by dynlib_error.  Don't call FreeLibrary with a
3738         handle for the main module.
3739         * src/w32.c (globals_of_w32): Call dynlib_reset_last_error.
3741 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
3743         Include-file tweaks for modules
3745         * src/dynlib.c, src/emacs-module.c: Include <config.h> first.
3746         * src/dynlib.h: Do not include config.h.
3747         It’s every .c file’s responsibility to include config.h first.
3748         * src/emacs-module.c: Include emacs-module.h immediately after
3749         config.h, to test that emacs-module.h doesn’t depend on
3750         include files other than config.h.
3752 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
3754         Simplify push_handler and profile its malloc
3756         * src/lisp.h (PUSH_HANDLER): Remove.
3757         All callers changed to use push_handler directly.
3758         * src/eval.c (internal_condition_case)
3759         (internal_condition_case_1, internal_condition_case_2)
3760         (internal_condition_case_n):
3761         Use same pattern as for other invokers of push_handler.
3762         (push_handler, push_handler_nosignal): Use call-by-value
3763         instead of call-by-reference.  All uses changed.
3764         (push_handler): Simplify by rewriting in terms of
3765         push_handler_nosignal.
3766         (push_handler_nosignal): Profile any newly allocated memory.
3768 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
3770         * src/emacs-module.h: Include stddef.h, not stdlib.h.
3772 2015-11-19  Juanma Barranquero  <lekktu@gmail.com>
3774         Discover repository version in linked worktrees (bug#21930)
3776         * lisp/version.el (emacs-repository--version-git-1): Do not assume
3777         HEAD is at .git/HEAD, it can also be at .git/worktrees/<branch>/HEAD.
3778         (emacs-repository-get-version): Grok linked worktrees when EXTERNAL
3779         is nil too.
3781 2015-11-19  Juri Linkov  <juri@linkov.net>
3783         * lisp/replace.el (occur-regexp-descr): New function.
3784         (occur-1, occur-engine): Use it.
3786         * lisp/isearch.el (isearch-occur): Propertize regexp with
3787         isearch-string and isearch-regexp-function-descr for
3788         occur-regexp-descr to display the correct description
3789         message in the header (bug#21176, bug#21180).
3791 2015-11-19  Karl Fogel  <kfogel@red-bean.com>
3793         Revert `open-line' electric-indent sensitivity
3795         * lisp/simple.el (open-line): Remove electric indent code.
3796           (electric-indent-just-newline): Don't declare.
3798         * test/automated/simple-test.el (open-line-indent): Adjust test.
3800         This partly reverts Artur Malabarba's change that added electric
3801         indent sensitivity to `open-line' (Oct 24 22:26:27 2015 +0100, git
3802         commit bd4f04f86), and adjusts a new test he added right afterwards
3803         (Sat Oct 24 23:43:06 2015 +0100, git commit 207f235e3) accordingly.
3804         However, the new INTERACTIVE argument to `open-line', which he also
3805         added in the first commit, is not reverted here.
3807         See the thread "Questioning the new behavior of `open-line'." on the
3808         Emacs Devel mailing list, and in particular this message:
3810           From: Artur Malabarba
3811           Subject: Re: Questioning the new behavior of `open-line'.
3812           To: Karl Fogel
3813           Cc: David Kastrup, Pierpaolo Bernardi, emacs-devel
3814           Date: Wed, 18 Nov 2015 21:03:58 +0000
3815           Message-ID: \
3816             <CAAdUY-KN06pvCMy5bt3+Buk3yeKjf6n9iB2FaSTTOPpCqPwyhA@mail.gmail.com>
3818           https://lists.gnu.org/archive/html/emacs-devel/2015-11/msg01707.html
3820 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
3822         Omit unnecessary clear in Fmodule_load
3824         * src/emacs-module.c (Fmodule_load):
3825         Simplify and avoid unnecessary initialization of priv member to 0.
3827         * src/emacs-module.c: (module_vec_set, module_vec_get, module_vec_size)
3829 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
3831         Prefer signed integer types in module code
3833         Generally speaking, at the C level the Emacs source code prefers
3834         signed types like ‘ptrdiff_t’ to unsigned types like ‘size_t’,
3835         partly to avoid the usual signedness confusion when comparing values.
3836         Change the module API to follow this convention.
3837         Use ‘int’ for small values that can’t exceed INT_MAX.
3838         * modules/mod-test/mod-test.c (Fmod_test_globref_make)
3839         (Fmod_test_string_a_to_b, Fmod_test_vector_fill)
3840         (Fmod_test_vector_eq):
3841         * src/emacs-module.c (struct emacs_value_frame)
3842         (module_make_global_ref, module_free_global_ref)
3843         (module_copy_string_contents, module_make_string)
3844         (module_vec_set, module_vec_get, module_vec_size):
3845         * src/emacs-module.h (struct emacs_runtime, struct emacs_env_25):
3846         * src/lread.c (suffix_p):
3847         Prefer signed to unsigned integer types.
3849 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
3851         Omit ‘const’ on locals
3853         Remove ‘const’ qualifier from locals that were newly added.
3854         We don’t normally bother declaring locals with ‘const’ even
3855         though they are not modified, for the same reason we don’t
3856         bother declaring them with ‘register’ even though their
3857         addresses are not taken; the advantage in compile-time
3858         checking isn’t worth the loss of readability.
3859         * modules/mod-test/mod-test.c (Fmod_test_non_local_exit_funcall)
3860         (Fmod_test_vector_fill, Fmod_test_vector_eq):
3861         * src/emacs-module.c (MODULE_SETJMP_1)
3862         (module_make_global_ref, module_free_global_ref)
3863         (module_non_local_exit_get, module_make_function)
3864         (module_extract_integer, module_extract_float)
3865         (module_get_user_ptr, module_set_user_ptr)
3866         (module_get_user_finalizer, module_set_user_finalizer)
3867         (module_vec_get, Fmodule_call)
3868         (module_non_local_exit_signal_1)
3869         (module_non_local_exit_throw_1, lisp_to_value)
3870         (finalize_storage, allocate_emacs_value, mark_modules)
3871         (module_handle_signal, module_handle_throw)
3872         (module_format_fun_env):
3873         * src/eval.c (push_handler, push_handler_nosignal)
3874         (init_handler):
3875         * src/lread.c (suffix_p):
3876         Omit unnecessary ‘const’.
3878 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
3880         Prefer intmax_t to int64_t in module code
3882         * modules/mod-test/mod-test.c (sum, Fmod_test_sum):
3883         * src/emacs-module.c (module_extract_integer)
3884         (module_make_integer):
3885         * src/emacs-module.h (struct emacs_env_25):
3886         Prefer intmax_t to int64_t.  This doesn’t change the generated
3887         code on any of the machines Emacs currently ports to, but it’s
3888         at least in theory more future-proof as C99 doesn’t guarantee
3889         that int64_t exists.
3891 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
3893         Rename module.c to emacs-module.c, etc.
3895         * src/emacs-module.c: Rename from src/module.c.
3896         * src/emacs-module.h: Rename from src/module.h.
3897         All uses changed.
3899 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
3901         Fix minor module problems found by static checking
3903         * src/dynlib.c (dynlib_close): #ifdef out for now, as it’s not used.
3904         * src/eval.c, src/lisp.h (lisp_eval_depth): Now static.
3905         * src/module.c (Fmodule_load): Fix pointer signedness bug.
3906         (Fmodule_call): Tell GCC that the default case is unreachable.
3908 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
3910         Style fixes for indenting etc. in module code
3912         This is mostly indenting and spacing changes.  Also, remove
3913         some unnecessary static decls instead of bothering to reindent them.
3914         * src/module.h (EMACS_EXTERN_C_BEGIN): Remove, and do this inline,
3915         as most other Emacs files do for this sort of thing.
3917 2015-11-19  Eli Zaretskii  <eliz@gnu.org>
3919         Minor improvements in modules testing Makefile
3921         * modules/mod-test/Makefile (EMACS, SO): New variables.
3922         (CFLAGS): When SO = dll, don't use -fPIC.
3923         (check): New target, runs the test.
3925 2015-11-19  Eli Zaretskii  <eliz@gnu.org>
3927         * .gitignore: Add "*.dll".
3929 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
3931         Migrate modules/.gitignore into .gitignore
3933         * .gitignore: Add former contents of modules/.gitignore.
3934         * modules/.gitignore: Remove.
3936 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
3938         Add copyright notices to module code
3940         Put them in the usual format for GNU Emacs copyright notices.
3942 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
3944         Rename emacs_module.h to module.h
3946         * src/module.h: Rename from src/emacs_module.h.
3947         All uses changed.
3949 2015-11-19  Juanma Barranquero  <lekktu@gmail.com>
3951         * src/module.c (Fmodule_load): Remove unused vars `doc_name', `args'
3953         * src/lread.c (Fload): Remove unused variable `size'
3955 2015-11-19  Alan Mackenzie  <acm@muc.de>
3957         src/keyboard.c (pre-command-hook): Fix typo in doc string: "pre" -> "post".
3959 2015-11-18  Dmitry Gutov  <dgutov@yandex.ru>
3961         Prioritize looking inside vc-parent-buffer over log-view-mode fallback
3963         * lisp/vc/vc.el (vc-deduce-fileset): Prioritize looking inside
3964         vc-parent-buffer over log-view-mode fallback (bug#21955).
3966 2015-11-18  Alan Mackenzie  <acm@muc.de>
3968         lisp/isearch.el: Eliminate macro isearch-call-message, replacing with funcall.
3970 2015-11-18  Ken Brown  <kbrown@cornell.edu>
3972         * configure.ac (LIBMODULES): Don’t define on Cygwin
3974 2015-11-18  Eli Zaretskii  <eliz@gnu.org>
3976         Fix MS-Windows build --with-modules
3978         * src/module.c: Reformat copyright commentary.
3979         (module_vec_get): Use explicit cast to size_t to avoid compiler
3980         warning in 32-bit builds.
3981         (check_main_thread) [WINDOWSNT]: Fix letter-case in Windows APIs.
3982         Compare thread IDs directly, as GetThreadId is not available
3983         before Windows Vista.
3984         (check_main_thread) [WINDOWSNT]: Duplicate the thread handle
3985         without using APIs and constants not available on XP and older
3986         systems.  Obtain and store the thread ID as well.
3988 2015-11-18  Aurélien Aptel  <aurelien.aptel@gmail.com>
3989             Philipp Stephani  <phst@google.com>
3991         Add dynamic module test and helper script
3993         Add 'modhelp.py' script (python2) to automate module testing and
3994         module generation.
3996         To build and test all modules in the modules/ dir
3997           $ ./modhelp.py test
3999         To generate a module from template code (good starting point)
4000           $ ./modhelp init mynewtestmodule
4002         See the script -h option for more documentation.
4004         * modules/modhelp.py: New module helper script.
4005         * modules/mod-test/Makefile: New file. Makefile for the test module.
4006         * modules/mod-test/mod-test.c: New file. Test module source file.
4007         * modules/mod-test/test.el: New file. ert test suite for the test module.
4008         * modules/.gitignore: New file. Local .gitignore file.
4010 2015-11-18  Aurélien Aptel  <aurelien.aptel@gmail.com>
4012         Make 'Fload' look for modules
4014         'Fload' can now load dynamic modules. This also makes 'require' work.
4016         * src/lread.c:
4017           (suffix_p): New function.
4018           (Fload): Use 'suffix_p'.  Call 'Fmodule_load' when we try to load a file
4019           with a module suffix.
4020           (syms_of_lread): Append module suffix to 'Vload_suffixes'.
4022 2015-11-18  Aurélien Aptel  <aurelien.aptel@gmail.com>
4023             Philipp Stephani  <phst@google.com>
4025         Add dynamic module module support
4027         * configure.ac: Add '--with-modules' option.  Conditionally add
4028           dynlib.o and module.o to the list of objects.  Add any system
4029           specific flags to the linker flags to support dynamic libraries.
4030         * m4/ax_gcc_var_attribute.m4: Add autoconf extension to test gcc
4031           attributes.
4032         * src/Makefile.in: Conditionally add module objects and linker flags.
4033         * src/alloc.c (garbage_collect_1): protect module local values from
4034           GC.
4035         * src/lisp.h: Add 'module_init' and 'syms_of_module' prototypes.
4036         * src/emacs_module.h: New header file included by modules.  Public
4037           module API.
4038         * src/module.c: New module implementation file.
4040 2015-11-18  Aurélien Aptel  <aurelien.aptel@gmail.com>
4042         Add new User Pointer (User_Ptr) type
4044         * src/lisp.h: Add new Lisp_Misc_User_Ptr type.
4045         (XUSER_PTR): New User_Ptr accessor.
4046         * src/alloc.c (make_user_ptr): New function.
4047         (mark_object, sweep_misc): Handle Lisp_Misc_User_Ptr.
4048         * src/data.c (Ftype_of): Return 'user-ptr' for user pointer.
4049         (Fuser-ptrp): New user pointer type predicate function.
4050         (syms_of_data): New 'user-ptrp', 'user-ptr' symbol.  New 'user-ptrp'
4051         subr.
4052         * src/print.c (print_object): Add printer for User_Ptr type.
4054 2015-11-18  Aurélien Aptel  <aurelien.aptel@gmail.com>
4055             Philipp Stephani  <phst@google.com>
4057         Add portable layer for dynamic loading
4059         * src/dynlib.h: New file.
4060         * src/dynlib.c: New file.
4062 2015-11-18  Philipp Stephani  <phst@google.com>
4064         Add catch-all & no-signal version of PUSH_HANDLER
4066         Ground work for modules. Add a non-signaling version of PUSH_HANDLER and
4067         a new "catch-all" handler type.
4069         * src/eval.c (init_handler, push_handler, push_handler_nosignal): New
4070           functions.
4071         * src/fns.c (hash_remove_from_table): Expose function public.
4072         * src/lisp.h: New handler type, define macro to push_handler call.
4074 2015-11-18  Ken Brown  <kbrown@cornell.edu>
4076         Silence byte-compiler warning
4078         * lisp/server.el (server-process-filter): Silence byte-compiler
4079         warning.
4081 2015-11-18  Paul Eggert  <eggert@cs.ucla.edu>
4083         Quote symbols in docstrings using `'
4085         Be more systematic about quoting symbols `like-this' rather than
4086         `like-this or 'like-this' in docstrings.  This follows up Artur
4087         Malabarba's email in:
4088         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg01647.html
4090 2015-11-18  Peder O. Klingenberg  <peder@klingenberg.no>
4092         Fix savegames in dunnet
4094         * lisp/play/dunnet.el (dun-rot13): Use the standard rot13-region instead
4095           of separate implementation.
4097 2015-11-18  Artur Malabarba  <bruce.connor.am@gmail.com>
4099         * lisp/emacs-lisp/package.el (package--with-response-buffer):
4101         Ensure we're at the start of the buffer before searching for
4102         the end of headers.
4104 2015-11-17  Xue Fuqiao  <xfq.free@gmail.com>
4106         * admin/release-process: Improve wording.
4108 2015-11-17  Paul Eggert  <eggert@cs.ucla.edu>
4110         Fix docstring quoting problems with ‘ '’
4112         Problem reported by Artur Malabarba in:
4113         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg01513.html
4114         Most of these fixes are to documentation; many involve fixing
4115         longstanding quoting glitches that are independent of the
4116         recent substitute-command-keys changes.  The changes to code are:
4117         * lisp/cedet/mode-local.el (mode-local-augment-function-help)
4118         (describe-mode-local-overload):
4119         Substitute docstrings before displaying them.
4120         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
4121         Quote the generated docstring for later substitution.
4123 2015-11-17  Eli Zaretskii  <eliz@gnu.org>
4125         Improve configure --help text for wide ints
4127         * configure.ac (wide-int): Clarify user-level advantages and
4128         disadvantages.
4130 2015-11-17  Stephen Leake  <stephen_leake@stephe-leake.org>
4132         Improve doc string
4134         * lisp/progmodes/xref.el (xref-backend-references): Improve doc string.
4136 2015-11-17  Paul Eggert  <eggert@cs.ucla.edu>
4138         eval_sub followed dangling pointer when debugging
4140         Problem reported by Pip Cet (Bug#21245).
4141         This bug could occur in eval_sub if the C compiler reused
4142         storage associated with the ‘argvals’ local after ‘argvals’
4143         went out of scope, and if the Elisp debugger stopped on Elisp
4144         function exit and accessed ‘argvals’.  It could also occur if
4145         a variadic function was called with so many arguments (over
4146         2048 args on x86-64) that SAFE_ALLOCA_LISP called malloc, then
4147         SAFE_FREE freed the arguments, then the memory manager used
4148         the storage for other purposes, then the debugger accessed the
4149         arguments.
4150         * src/eval.c (eval_sub): Declare ‘argvals’ at top level of
4151         function body.  Simplify local decls.
4152         When allocating args via SAFE_ALLOCA, call
4153         debugger before invoking SAFE_FREE, as the debugger needs
4154         access to the args.
4155         (eval_sub, apply_lambda): Rework to avoid need for
4156         set_backtrace_debug_on_exit hack.  This is cleaner,
4157         and should work better with buggy custom debuggers.
4159 2015-11-16  Daiki Ueno  <ueno@gnu.org>
4161         * lisp/image-mode.el: Support encrypted file
4163         (image-toggle-display-image): Read content from the buffer instead
4164         of the file, if the buffer holds a decrypted data.  (Bug#21870)
4166 2015-11-16  Paul Eggert  <eggert@cs.ucla.edu>
4168         ELF unexec: align section header
4170         This ports the recent unexelf.c changes to Fedora x86-64
4171         when configured with GCC’s -fsanitize=undefined option.
4172         * src/unexelf.c (unexec): Align new_data2_size to a multiple
4173         of ElfW (Shdr)’s alignment, so that NEW_SECTION_H returns a
4174         pointer aligned appropriately for its type.
4176 2015-11-16  Andreas Schwab  <schwab@linux-m68k.org>
4178         Do more checks on bytecode objects (Bug#21929)
4180         * src/eval.c (funcall_lambda): Check size of compiled function
4181         object.
4182         (Ffetch_bytecode): Likewise.
4184 2015-11-16  Johan Bockgård  <bojohan@gnu.org>
4186         pcase.el: Fix edebugging of backquoted cons patterns
4188         * lisp/emacs-lisp/pcase.el (pcase-QPAT): Fix edebugging of backquoted
4189         cons patterns. (Bug#21920)
4191 2015-11-16  Paul Eggert  <eggert@cs.ucla.edu>
4193         Improve fix for regex reentrancy abort
4195         Suggested by Stefan Monnier (Bug#21688).
4196         * src/syntax.c (update_syntax_table_forward):
4197         Remove recently-added PROPERTIZE arg, and assume it is true.
4198         All callers changed.
4199         * src/syntax.h (UPDATE_SYNTAX_TABLE_FORWARD_FAST):
4200         Invoke update_syntax_table directly.
4202 2015-11-16  Artur Malabarba  <bruce.connor.am@gmail.com>
4204         * lisp/faces.el (faces--attribute-at-point): Use `face-list-p'
4206         * lisp/emacs-lisp/package.el (package--with-response-buffer): Missing require
4208         * lisp/emacs-lisp/nadvice.el (add-function): Escape quote
4210 2015-11-15  Vasily Korytov  <vasily.korytov@yahoo.com>
4212         Recognize .rbw and .pyw files (bug#18753)
4214         * lisp/progmodes/python.el (auto-mode-alist):
4215         Recognize .pyw files.
4217         * lisp/progmodes/ruby-mode.el (auto-mode-alist):
4218         Recognize .rbw files.
4220 2015-11-15  Dmitry Gutov  <dgutov@yandex.ru>
4222         Fix ruby-mode auto-mode-alist entry
4224         * lisp/progmodes/ruby-mode.el (auto-mode-alist): Add grouping
4225         around the extensions (bug#21257).
4227 2015-11-15  Dmitry Gutov  <dgutov@yandex.ru>
4229         Fix etags completion near eob
4231         * lisp/progmodes/etags.el (tags-completion-at-point-function):
4232         Use `goto-char', to avoid the end-of-buffer error (bug#20061).
4234 2015-11-15  Alan Mackenzie  <acm@muc.de>
4236         De-pessimize detection of C++ member initialization lists.
4238         list/progmodes/cc-engine.el (c-back-over-list-of-member-inits): New macro.
4239         (c-back-over-member-initializers): Reformulate such that c-at-toplevel-p
4240         is only called when a construct "looks right" rather than continually.
4241         (c-guess-basic-syntax, CASE 5R): Add a check for the mode being C++ Mode.
4243 2015-11-15  Stephen Leake  <stephen_leake@stephe-leake.org>
4245         Improve a few doc strings, comments
4247         * lisp/cedet/cedet-global.el (cedet-gnu-global-expand-filename):
4248         * lisp/cedet/ede/locate.el (ede-locate-base):
4249         * lisp/cedet/semantic/symref.el (semantic-symref-calculate-rootdir):
4250         * src/fns.c (Fdelq): Improve doc string.
4252         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions): Add FIXME.
4254 2015-11-15  Anders Lindgren  <andlind@gmail.com>
4256         Enhance NSTRACE (trace output for NextStep).
4258         Trace can be disabled for groups of functions. By default, event
4259         functions and functions that generate lots of output are disabled.
4261         Trace output of Objective-C functions now use the "[ClassName
4262         parameter:]" form.
4264         * src/nsterm.h (NSTRACE_ALL_GROUPS, NSTRACE_GROUP_EVENTS)
4265         (NSTRACE_GROUP_UPDATES, NSTRACE_GROUP_FRINGE, NSTRACE_GROUP_COLOR)
4266         (NSTRACE_GROUP_GLYPHS, NSTRACE_GROUP_FOCUS): New macros,
4267         controlling in which function groups trace should be active.
4268         (NSTRACE_WHEN): Support for silencing a function, this also
4269         silencing all called functions.
4270         (NSTRACE_UNSILENCE): New macro, used to re-enable trace.
4271         (NSTRACE_FMT_FSTYPE, NSTRACE_ARG_FSTYPE): New macros, used to
4272         print the full screen state in NSTRACE functions.
4274         * src/nsterm.m (nstrace_depth, nstrace_num): Made volatile as they
4275         can be accessed from multiple threads.
4276         (nstrace_enabled_global): New variable, when FALSE, trace is
4277         silenced.
4278         (nstrace_restore_global_trace_state): New function, used to
4279         restore `nstrace_enabled_global' at end of block.
4280         ([EmacsView setFrame:], [EmacsWindow setFrame:display:])
4281         ([EmacsWindow setFrame:display:animation:])
4282         ([EmacsWindow setFrameTopLeftPoint:]): New functions, print trace
4283         and call corresponding super function.
4284         (Many functions): Add or enhance trace output.
4286         * src/nsimage.m (ns_image_from_file): Enhanced trace output.
4288         * src/nsfns.m (x_set_tool_bar_lines): Add trace output.
4290         * src/nsmenu.m ([EmacsToolbar setVisible:]): New function, print trace
4291         and call corresponding super function.
4293 2015-11-15  Anders Lindgren  <andlind@gmail.com>
4295         Fixed a toolbar related issue on OS X.
4297         Earlier, when toggling the tool-bar in a maximized frame, the
4298         frame size didn't match the number of text lines, leaving an
4299         unused area at the bottom of the frame.
4301         * nsfns.m (x_set_tool_bar_lines): Exit maximized and full height
4302         fullscreen modes when tool bar is disabled.
4304 2015-11-15  Anders Lindgren  <andlind@gmail.com>
4306         Fixed OS X 10.6.8 build issue (bug#21862).
4308         * src/nsterm.h (EmacsView): Add missing declarations.
4309         * src/nsterm.m ([EmacsView windowDidBecomeKey]): New method, like
4310         the standard method but without the notification parameter.
4311         Intended to be used for direct calls.
4312         ([EmacsView windowDidEnterFullScreen]): Call the non-notification
4313         version of `windowDidBecomeKey'. Made the notification method call
4314         the non-notification method instead of the vice versa.
4315         (NSWindowDidEnterFullScreenNotification): Deleted, no longer
4316         needed.
4318 2015-11-15  Artur Malabarba  <bruce.connor.am@gmail.com>
4320         * lisp/faces.el (faces--attribute-at-point): Fix an issue
4322         Previous code would signal an error when the face at point was
4323         a manually built list of attributes such as '(:foregroud "white").
4325         * test/automated/faces-tests.el (faces--test-color-at-point): Add a test
4327 2015-11-15  Paul Eggert  <eggert@cs.ucla.edu>
4329         Fix regex abort when it tries to reenter itself
4331         Problem reported by Ken Raeburn.
4332         Solution suggested by Stefan Monnier (Bug#21688).
4333         * src/regex.c (re_match_2_internal):
4334         Use new _FAST functions to avoid regex code reentering itself.
4335         * src/syntax.c (update_syntax_table_forward): New arg PROPERTIZE.
4336         All callers changed.
4337         * src/syntax.h (UPDATE_SYNTAX_TABLE_FORWARD_FAST)
4338         (UPDATE_SYNTAX_TABLE_FAST): New inline functions.
4340 2015-11-15  Dmitry Gutov  <dgutov@yandex.ru>
4342         Improve Ruby 1.9-style keyword keys highlighting
4344         * lisp/progmodes/ruby-mode.el (ruby-font-lock-keywords):
4345         Handle required keyword arguments (bug#21367).
4346         And highlight the colon together with the name.
4348 2015-11-15  Dmitry Gutov  <dgutov@yandex.ru>
4350         Unify the absolutely equal xref-backend-references implementations
4352         * lisp/progmodes/elisp-mode.el (xref-backend-references):
4353         Remove.
4355         * lisp/progmodes/etags.el (xref-backend-references):
4356         Remove.
4358         * lisp/progmodes/xref.el (xref-backend-references):
4359         Define the default implementation.
4361 2015-11-14  Dmitry Gutov  <dgutov@yandex.ru>
4363         Update project-find-regexp for the new xref API
4365         * lisp/progmodes/project.el (project--read-regexp):
4366         Update to use the new xref API methods.
4368         * lisp/progmodes/xref.el (xref-find-backend): Autoload.
4370 2015-11-14  Dmitry Gutov  <dgutov@yandex.ru>
4372         Fix replacing a match with a shorter string
4374         In effect, partially reverting fe973fc.
4376         * lisp/progmodes/xref.el (xref-query-replace): Store the end
4377         of each match as a marker again, instead of length.
4378         (xref--query-replace-1): Update accordingly.
4380 2015-11-14  Artur Malabarba  <bruce.connor.am@gmail.com>
4382         * lisp/progmodes/xref.el (xref-pop-marker-stack): Downgrade errors
4384         Signal user-errors instead.
4386 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
4388         Document 'describe-symbol'
4390         * doc/emacs/help.texi (Help Summary): Mention "C-h o".
4391         (Name Help): Document "C-h o" and describe-symbol.
4393         * lisp/help-fns.el (describe-symbol): Doc fix.
4395 2015-11-14  Paul Eggert  <eggert@cs.ucla.edu>
4397         Change test name to avoid spellcheck issue.
4399 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
4401         Avoid signaling an error in 'describe-symbol'
4403         * lisp/help-fns.el (describe-symbol): Avoid errors when the symbol
4404         exists as a function/variable/face/etc., but is undocumented.
4406         * test/automated/help-fns.el (help-fns-test-describe-symbol): New
4407         test.
4409 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
4411         * INSTALL (--with-cairo): Document this new configure option.
4413 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
4415         Document that GNU Make >= 3.81 is required to build Emacs
4417         * doc/lispref/internals.texi (Building Emacs): Document that GNU
4418         Make 3.81 or later is now required.
4420 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
4422         * CONTRIBUTE (Branches): Improve wording for back-ported commits.
4424 2015-11-13  l3thal  <kwhite@gnu.org>
4426         Merge branch 'erc-async-reconnect' into emacs-25
4428         Reconnect asynchronously.
4430 2015-11-11  Alan Mackenzie  <acm@muc.de>
4432         First commit to scratch/follow.  Make Isearch work with Follow Mode, etc.
4434         doc/lispref/window.texi (Basic Windows): Add paragraph defining "Group of
4435         Windows" and new @defun selected-window-group.
4436         (Window Start and End): Describe new &optional parameter GROUP and
4437         ...-group-function for window-start, window-end, set-window-start, and
4438         pos-visible-in-window-p.
4439         (Textual Scrolling) Describe the same for recenter.
4440         doc/lispref/positions.texi (Screen Lines): Describe the same for
4441         move-to-window-line.
4443         src/window.c (Fwindow_start, Fwindow_end, Fset_window_start)
4444         (Fpos_visible_in_window_p, Frecenter, Fmove_to_window_line): To each, add ar
4445         new optional parameter "group".  At the beginning of each, check whether the
4446         corresponding ...-group-function is set to a function, and if so execute this
4447         function in place of the normal processing.
4448         (syms_of_window): Define symbols for the six new variables below.
4449         (window-start-group-function, window-end-group-function)
4450         (set-window-start-group-function, recenter-group-function)
4451         (pos-visible-in-window-p-group-function, move-to-window-line-group-function):
4452         New permanent local buffer local variables.
4453         src/keyboard.c (Fposn_at_point): Add extra parameter in call to
4454         Fpos_visible_in_window_p.
4456         lisp/window.el (selected-window-group-function): New permanent local buffer
4457         local variable.
4458         (selected-window-group): New function.
4460         lisp/follow.el (follow-mode): Set the ...-group-function variables at mode
4461         enable, kill them at mode disable.  Add/remove follow-after-change to/from
4462         after-change-functions.
4463         (follow-start-end-invalid): New variable.
4464         (follow-redisplay): Manipulate follow-start-end-invalid.
4465         (follow-after-change, follow-window-start, follow-window-end)
4466         (follow-set-window-start, follow-pos-visible-in-window-p)
4467         (follow-move-to-window-line, follow-sit-for): New functions.
4469         lisp/isearch.el (isearch-call-message): New macro.
4470         (isearch-update, with-isearch-suspended, isearch-del-char)
4471         (isearch-search-and-update, isearch-ring-adjust): Invoke above new macro.
4472         (with-isearch-suspended): Rearrange code such that isearch-call-message is
4473         invoked before point is moved.
4474         (isearch-message): Add comment about where point must be at function call.
4475         (isearch-search): Remove call to isearch-message.
4476         (isearch-lazy-highlight-window-group): New variable.
4477         (isearch-lazy-highlight-new-loop): Unconditionally start idle timer.  Move
4478         the battery of tests to ...
4479         (isearch-lazy-highlight-maybe-new-loop): New function, started by idle timer.
4480         Note: (sit-for 0) is still called.
4481         (isearch-lazy-highlight-update): Check membership of
4482         isearch-lazy-highlight-window-group.  Don't set the `window' overlay
4483         property.
4484         (isearch-update, isearch-done, isearch-string-out-of-window)
4485         (isearch-back-into-window, isearch-lazy-highlight-maybe-new-loop)
4486         (isearch-lazy-highlight-search, isearch-lazy-highlight-update)
4487         (isearch-lazy-highlight-update): Call the six amended primitives (see
4488         src/window.c above) with the new `group' argument set to t, to cooperate
4489         with Follow Mode.
4491 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
4493         * shr.el (shr-descend): Allow using lambdas in external functions.
4495 2015-12-25  Stefan Monnier  <monnier@iro.umontreal.ca>
4497         * admin/gitmerge.el: Tweaks that seemed necessary
4499         * admin/gitmerge.el (gitmerge-skip-regexp): Remove "sync".
4500         (gitmerge-maybe-resume): Provide explicit empty commit message.
4502 2015-12-25  Łukasz Stelmach  <stlman@poczta.fm>  (tiny change)
4504         Use a different port for TLS erc
4506         * lisp/erc/erc.el (erc-default-port-tls): New variable
4507         (bug#19497).
4508         * lisp/erc/erc.el (erc-tls): Use it.
4510 2015-12-25  Alain Schneble  <a.s@realize.ch>
4512         Make relative URL parsing and resolution consistent with RFC 3986 (bug#22044)
4514         * test/lisp/url/url-parse-tests.el: Add tests covering url-generic-parse-url.
4515         * test/lisp/url/url-expand-tests.el: Add tests covering url-expand-file-name.
4516         * lisp/url/url-parse.el (url-generic-parse-url): Keep empty fragment
4517         information in URL-struct.
4518         * lisp/url/url-parse.el (url-path-and-query): Do not artificially turn empty
4519         path and query into nil path and query, respectively.
4520         * lisp/url/url-expand.el (url-expander-remove-relative-links): Do not turn
4521         empty path into an absolute ("/") path.
4522         * lisp/url/url-expand.el (url-expand-file-name): Properly resolve
4523         fragment-only URIs. Do not just return them unchanged.
4524         * lisp/url/url-expand.el (url-default-expander): An empty path in the relative
4525         reference URI should not drop the last segment.
4527 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
4529         Let url use default file modes when copying files
4531         * lisp/url/url-handlers.el (url-copy-file): Use default file
4532         modes when copying files (bug#11400).
4534 2015-12-25  Devon Sean McCullough  <Emacs-Hacker2012@jovi.net>
4536         Doc fix for url-http
4538         * lisp/url/url-http.el (url-http): Document better return values
4539           (bug#13187) (tiny change)
4541 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
4543         * eww.el (eww-display-html): Support <button> tags (bug#20485).
4545 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
4547         Made ffap-url-p a defun instead of a defsubst
4549         * lisp/ffap.el (ffap-url-p): Change from defsusbt to defun,
4550         since there doesn't seem to be much of a reason for it to be a
4551         defsubst (bug#18203).
4553 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
4555         Add a command to view files in the browser to dired
4557         * lisp/dired.el (dired-mode-map): Add the `W' command
4558         (bug#18810).
4560 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
4562         Allow http://user:pass@foo/ URLs again
4564         * lisp/url/url-auth.el (url-basic-auth): Allow explicit
4565         user/passwords in URLs (bug#19046).
4567 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
4569         * eww.el (eww-mode-map): Fix command name of eww-toggle-colors.
4571 2015-12-25  Samer Masterson  <samer@samertm.com>
4573         Autoload url-insert-buffer-contents
4575         * lisp/url/url-handlers.el: Add autoload cookie so that
4576         `package-list-packages' doesn't bug out (bug#21927) (tiny change)
4578 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
4580         Allow toggling colors in eww
4582         * doc/misc/eww.texi (Basics): Mention "C".
4584         * lisp/net/eww.el (eww-toggle-colors): New command and keystroke.
4586         * lisp/net/shr.el (shr-use-colors): New variable.
4587         (shr-colorize-region): Use it.
4589 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
4591         Follow meta refresh tags in eww
4593         * eww.el (eww-tag-meta): Follow meta refresh tags (bug#22234).
4595 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
4597         More eww file name coding fixes
4599         * eww.el (eww-decode-url-file-name): Use the base coding
4600         system to check for encodability.
4602 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
4604         Always save eww history
4606         * eww.el (eww-setup-buffer): Always save history, even when
4607         called from outside the eww buffer (bug#19638).
4609 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
4611         Default web pages to right-to-left
4613         * eww.el (eww-mode): Most web pages are left-to-right, so make
4614         that the default (bug#19801).
4616         * shr.el (shr-tag-html): Respect "dir" attributes
4617         (left-to-right, right-to-left).
4619 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
4621         Make toggling checkboxes work again
4623         * eww.el (eww-update-field): Make toggling checkboxes work
4624         again (bug#21881).
4626 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
4628         Don't store cookies with empty names
4630         * lisp/url/url-cookie.el (url-cookie-store): Refuse to store
4631         cookies with empty names (bug#21936).
4633 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
4635         * shr.el (shr-descend): Stop rendering before we run out of
4636         specpdl room (bug#22117).
4638 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
4640         Use cl-reduce, not reduce.
4642 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
4644         Allow several <tbody> tags in shr
4646         * shr.el (shr-table-body): New function to find the real body
4647         of a table.
4648         (shr-tag-table): Use it to render several <tbody> tags in a
4649         table (bug#22170).
4651 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
4653         Make prettier unique file names in eww
4655         (eww-make-unique-file-name): Make unique file names by making
4656         files like foo(2).jpg instead of foo(1)(2).jpg.
4658 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
4660         Decode hex-encoded URLs before using them as file names
4662         * eww.el (eww-decode-url-file-name): New function.
4663         (eww-download-callback): Use it to decode file names before
4664         saving them.
4666 2015-12-24  Ashish SHUKLA  <ashish.is@lostca.se>  (tiny change)
4668         * doc/misc/emacs-gnutls.texi (Help For Users): Document FreeBSD bundle.
4669         * lisp/net/gnutls.el (gnutls-trustfiles): Add FreeBSD cert bundle.
4671 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
4673         Allow overriding shr functions from eww
4675         * eww.el (eww-display-html): Allow overriding elements in
4676         `shr-external-rendering-functions'.
4678 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
4680         Ignore invalid SVG images
4682         * shr.el (shr-tag-svg): Ignore SVG images that have no width
4683         or height, because these can't be displayed by ImageMagick,
4684         anyway.
4686 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
4688         shr table rendering fix
4690         * shr.el (shr-tag-table): Allow rendering body-less tables
4691         that have headers.
4693 2015-12-22  Sam Steingold  <sds@gnu.org>
4695         clipboard should still work even if interprogram-* is disabled
4697         (clipboard-yank): When `interprogram-cut-function' is nil,
4698         bind it to `gui-selection-value' - the default value.
4699         (clipboard-kill-region, clipboard-kill-ring-save): When
4700         `interprogram-paste-function' is nil, bind it to `gui-select-text' -
4701         the default value.
4703 2015-12-18  Phillip Lord  <phillip.lord@russet.org.uk>
4705         Fix bootstrap issue with dired-loaddefs
4707         * lisp/dired.el: Autoloads for secondary files loaded optionally.
4709 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
4711         dired generate autoloads to non-versioned file.
4713         * lisp/dired.el: Remove autoloads.
4714         * lisp/Makefile.in: Add dired to autogenel.
4715         * lisp/dired-aux.el,lisp/dired-x.el: Update file local.
4716         * test/lisp/dired-tests.el: Add new test.
4718 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
4720         eieio generate autoloads to non-versioned file.
4722         * lisp/Makefile.in: eieio-loaddefs add to autogenel.
4723         * lisp/emacs-lisp/eieio.el,lisp/emacs-lisp/eieio-core.el:
4724           Remove autoloads.
4725         * lisp/emacs-lisp/eieio-compat.el,lisp/emacs-lisp/eieio-custom.el,
4726           lisp/emacs-lisp/eieio-opt.el: Update file local.
4727         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el: New test.
4729 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
4731         htmlfontify generate autoload to non-versioned file.
4733         * lisp/Makefile.in: Add htmlfontity-loaddefs to autogenel.
4734         * lisp/hfy-cmap.el: Update file local.
4735         * lisp/htmlfontify.el: Remove autoloads, add require.
4736         * test/lisp/htmlfontify-tests.el: Test autoload functionality.
4738 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
4740         ibuffer generate autoloads to non-versioned file.
4742         * lisp/Makefile.in: Add ibuffer-loaddefs to autogenel.
4743         * lisp/ibuf-ext.el: Update file local.
4744         * lisp/ibuffer.el: Remove autoloads and add a require.
4745         * test/lisp/ibuffer-tests.el: Test that autoload is working.
4747 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
4749         rmail generate autoloads to non-versioned file.
4751         * lisp/Makefile.in: Add rmail-loaddefs.el to autogenel.
4752         * lisp/mail/rmail.el: Remove autoloads, add require.
4753         * lisp/mail/rmailedit.el,lisp/mail/rmailkwd.el,
4754           lisp/mail/rmailmm.el,lisp/mail/rmailmsc.el,
4755           lisp/mail/rmailsort.el,lisp/mail/rmailsum.el,
4756           lisp/mail/undigest.el: Update file-local.
4757         * test/lisp/mail/rmail-tests.el:
4759 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
4761         Add autoload-force target.
4763         * lisp/Makefile.in (autoload-force): New target.
4765 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
4767         ps-print generate autoloads to non versioned file.
4769         * lisp/Makefile.in: Add ps-print-loaddefs.el to autogen list.
4770         * lisp/ps-print.el: Remove autoloads.
4771         * lisp/ps-mule.el: Update file-local.
4772         * test/lisp/ps-print-tests.el: Test autoload functionality.
4774 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
4776         reftex generate autoloads to non versioned file.
4778         * lisp/Makefile.in: Add reftex-loaddefs to autogen files
4779         * lisp/textmodes/reftex.el: Remove autoloads.
4780         * lisp/textmodes/reftex-auc.el,lisp/textmodes/reftex-cite.el,
4781           lisp/textmodes/reftex-dcr.el,lisp/textmodes/reftex-global.el,
4782           lisp/textmodes/reftex-index.el,lisp/textmodes/reftex-parse.el,
4783           lisp/textmodes/reftex-ref.el,lisp/textmodes/reftex-sel.el,
4784           lisp/textmodes/reftex-toc.el: Update autoload file-local.
4785         * test/lisp/textmodes/reftex-tests.el: Add test of an autoloaded
4786           function.
4788 2015-12-07  Stefan Monnier  <monnier@iro.umontreal.ca>
4790         * lisp/calculator.el (calculator-define-key): Undo last change
4792         Make map argument mandatory instead (bug#22106).
4793         (calculator-add-operators): Pass the argument that's not optional any more.
4795 2015-12-03  Glenn Morris  <rgm@gnu.org>
4797         * Makefile.in: Avoid duplication.
4799         (have-tests): New rule.
4800         (check, check-maybe): Use it.
4802 2015-12-02  Phillip Lord  <phillip.lord@russet.org.uk>
4804         make check unconditional, check-maybe top-level.
4806          * Makefile.in: Add check-maybe target.
4807          * test/Makefile.in: Restore unconditional behaviour to make check.
4809 2015-12-01  Phillip Lord  <phillip.lord@russet.org.uk>
4811         Tests now support out-of-source-build.
4813          * tests/Makefile.in,test/make-test-deps.emacs-lisp: Remove assumptions
4814            about current working directory.
4816 2015-12-01  Artur Malabarba  <bruce.connor.am@gmail.com>
4818         * lisp/emacs-lisp/let-alist.el: Now an Elpa :core package
4820 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
4822         Improve documentation and clean up.
4824          * test/Makefile.in: Improve documentation, use EMACS variable
4825            correctly, and clean up makefile rules.
4827 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
4829         Update file headers for name change.
4831          * (test/src/decompress-tests.el, test/src/alloc-tests.el): Update headers.
4833 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
4835         Test files renamed to new scheme.
4837          * (finalizer-tests.el): Now renamed alloc-tests.el
4838          * (zlib-tests.el): Now renamed decompress-tests.el.
4840 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
4842         Tests now depend on source files
4844          * test/Makefile.in: Include dependences from tests to source files.
4845          * test/make-test-deps.emacs-lisp: New file
4846          * .gitignore: Ignore generated make include file
4848 2015-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>
4850         * lisp/progmodes/which-func.el: Improve disabling the mode
4852         Use lexical-binding.
4853         (which-func-modes, which-func-non-auto-modes, which-func-maxout)
4854         (which-func, which-func-format): Remove redundant :group arg.
4855         (which-func-try-to-enable): New function.
4856         (which-func-ff-hook, which-function-mode): Use it.
4857         (mode-line-misc-info): Add ourselves here instead of in bindings.el.
4858         * lisp/bindings.el (mode-line-misc-info): Remove which-func-mode entry.
4860 2015-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>
4862         * lisp/calculator.el (calculator-define-key): Silence warning
4864         ...about unknown calculator-mode-map.
4866 2015-11-29  Eli Barzilay  <eli@barzilay.org>
4868         * lisp/calculator.el: more improvements and bugfixes.
4870         - Mark `calculator-paste-decimals' as obsolete.  (It wasn't having an
4871           effect anyway.)
4873         - Simplify `calculator-number-to-string' by throwing most of the work
4874           onto `number-to-string', leaving just some tweaks for decimal inputs.
4875           This leads to some minor changes, for example, pasting "1x1" in hex
4876           mode would warn that "x" is ignored and result in "11" (and it wasn't
4877           done in decimal mode), whereas now it just ignores everything from the
4878           "x" and on and result in a "1" just like in decimal input mode.  Also,
4879           overflows are left for `number-to-string' to deal with.
4881         - `calculator-paste' is very simple as a result.
4883         - Extend the simplified `calculator-paste': with a prefix argument it
4884           pastes a string as if the characters were entered.  This can be used
4885           to reduce expressions, but note that it's a simple literal operation,
4886           so precedence can be messed, a number can be paster while entering a
4887           number, spaces and newlines matter, etc.
4889         - Fix a minor bug where "e+" in hex mode wouldn't use "+" as an
4890           operator.
4892         - Fix a bug in `calculator-put-value': avoid grouping in the display
4893           that is used to construct `calculator-curnum'.  This would trigger
4894           when pasting or getting a value from a register in some radix mode
4895           with a large enough value.  Another fix: make the output radix equal
4896           the input one, otherwise numbers could be converted twice.
4898 2015-11-29  Eli Barzilay  <eli@barzilay.org>
4900         * lisp/calculator.el: Re-do key bindings.
4902         Use a helper function that arranges a parent keymap that binds alternate
4903         case keys so if some letter key is unbound and it's un/shifted version
4904         is, it will get used.  This makes the global-map trickery unnecessary.
4906         Also switch to passing strings that name keys through `kbd'.
4908 2015-11-29  Eli Barzilay  <eli@barzilay.org>
4910         * lisp/calculator.el: improve radix modes
4912         Fix prompt for some input radix with decimal output (eg, "BD" instead of
4913         the incorrect "B="); also, some minor docstring tweaks for these.
4915 2015-11-29  Eli Barzilay  <eli@barzilay.org>
4917         * lisp/calculator.el: better reading of register names
4919         Use `register-read-with-preview' with a dynamically bound
4920         `register-alist' and a proper preview function to read register names.
4922 2015-11-29  Eli Barzilay  <eli@barzilay.org>
4924         * lisp/calculator.el: General improvements
4926         Use things like `when', `unless', and `push'.
4928         Improve `calculator-last-input' so it doesn't barf when hitting `F1' in
4929         non-electric mode.
4931 2015-11-28  Michael Albinus  <michael.albinus@gmx.de>
4933         Fix a problem with gfilenotify in filenotify-tests.el
4935         * test/lisp/filenotify-tests.el
4936         (file-notify--test-expected-events): Remove.
4937         (file-notify--test-cleanup): Do not set that variable.
4938         (file-notify--test-with-events): EVENTS can also be a list of lists.
4939         (file-notify-test02-events, file-notify-test04-file-validity):
4940         Adapt expected result.
4942 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
4944         * .gitignore: Adjust to changes in 'test' directory structure.
4946 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
4948         Fix test/manual/etags/Makefile
4950         * test/manual/etags/Makefile (ETAGS_PROG, CTAGS_PROG): Adjust to
4951         changes in 'test' directory structure.
4953 2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
4955         Exclude resource dirs from search for tests.
4957         * test/Makefile.in: Test file locations are now found with find
4958           rather than using finds native functions.
4960 2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
4962         Add test targets without directory names.
4964          * (test/Makefile.in): Extend test_template to add two targets for each
4965            file.
4967 2015-11-27  Artur Malabarba  <bruce.connor.am@gmail.com>
4969         * lisp/emacs-lisp/package.el: Require url-handlers
4971 2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
4973         Move elisp-mode-tests to new function names.
4975          * test/lisp/progmodes/elisp-mode-tests.el (find-defsdefun-c-defvar-c,
4976          find-defs-defun-el-defvar-c): Call `elisp--xref-find-definitions'.
4978 2015-11-27  Juanma Barranquero  <lekktu@gmail.com>
4980         * lisp/emacs-lisp/package.el: Declare `url-insert-buffer-contents'
4982 2015-11-26  Phillip Lord  <phillip.lord@russet.org.uk>
4984         Merge branch 'feature/standard-test-location'
4986 2015-11-25  Stefan Monnier  <monnier@iro.umontreal.ca>
4988         * lisp/emacs-lisp/eieio.el: Add some default implementations
4990         (standard-class): Mark it obsolete.
4991         (slot-missing): Give it a default implementation.
4992         (destructor): Simplify and mark it obsolete.
4993         (object-print): Give it a default implementation.
4994         (eieio-change-class): Rename from change-class.
4995         (change-class): Redefine as obsolete alias.
4997 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
4999         Some final fixes in file notification before merging with master
5001         * lisp/filenotify.el (file-notify--rm-descriptor): Remove WHAT arg.
5002         (file-notify-callback): Improve check for `stopped' event.  Call
5003         `file-notify-rm-watch' rather than `file-notify--rm-descriptor'.
5004         (file-notify-add-watch): In case FILE is not a directory, call the
5005         file monitor for the kqueue backend.  Otherwise, call the
5006         directory monitor for the upper directory.
5008         * src/inotify.c (inotifyevent_to_event): Extract file name from
5009         watch_object if the event doesn't provide it.
5010         (Finotify_add_watch): Add file name to watch_object.
5012         * test/automated/file-notify-tests.el (file-notify--test-timeout):
5013         Use different timeouts for different libraries.
5014         (file-notify--test-with-events): Suppress lock files.  Flush
5015         outstanding events before running the body.
5016         (file-notify-test02-events, file-notify-test04-file-validity): Do
5017         not skip cygwin tests.  Add additional test for file creation.
5018         Adapt expected result for different backends.
5019         (file-notify-test03-autorevert): Some of the tests don't work for
5020         w32notify.
5021         (file-notify-test06-many-events): Rename into both directions.
5023 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
5025         Rework file notifications, kqueue has problems with directory monitors
5027         * lisp/filenotify.el (file-notify-add-watch): Call the native
5028         add-watch function on the file, not on the dir.
5030         * src/kqueue.c (kqueue_compare_dir_list): Make also bookkeeping
5031         about already deleted entries.
5033         * test/automated/auto-revert-tests.el
5034         (auto-revert-test01-auto-revert-several-files): Do not call "cp -f"
5035         since this deletes the target file first.
5037         * test/automated/file-notify-tests.el (file-notify--test-event-test):
5038         Make stronger checks.
5039         (file-notify-test01-add-watch, file-notify-test02-events)
5040         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
5041         Rewrite in order to call file monitors but directory monitors.
5042         (file-notify-test06-many-events): Ler rename work in both directions.
5044 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
5046         Continue with pending events
5048         * src/kqueue.c (pending_events): Remove global variable.
5049         (kqueue_compare_dir_list): Create `write' event for not used
5050         pending events.
5051         (globals_of_kqueue): Remove initialization of pending_events.
5053 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
5055         Improve loops in file-notify-test06-many-events
5057         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
5058         Use `read-event' pauses for the `write-file' loops; otherwise
5059         events are lost in inotify and gfilenotify cases.
5061 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
5063         Handle more complex rename operation in kqueue
5065         * src/kqueue.c (pending_events): New variable.
5066         (kqueue_compare_dir_list): Handle more complex rename operation.
5067         (globals_of_kqueue): Initialize pending_events.
5069         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
5070         Adapt expected events in the `rename-file' case.
5071         (file-notify-test06-many-events-remote): Declare.
5073 2015-11-25  Wolfgang Jenkner  <wjenkner@inode.at>
5075         New test with a larger number of events
5077         * test/automated/file-notify-tests.el (file-notify--test-with-events):
5078         Make timeout heuristically depend on the number of events.
5080         (file-notify-test06-many-events): Use it for new test.
5082 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
5084         Further fixes for kqueue
5086         * lisp/filenotify.el (file-notify-callback): Raise also event if
5087         directory name matches.
5088         (file-notify-add-watch): Add `create' to the flags for `kqueue'.
5090         * src/kqueue.c (kqueue_generate_event): Use watch_object as
5091         argument instead of ident.  Remove callback argument.  Adapt
5092         callees.  Check actions whether they are monitored flags.
5094         * test/automated/file-notify-tests.el (file-notify--test-library):
5095         New defun.
5096         (file-notify-test00-availability, file-notify-test02-events)
5097         (file-notify-test04-file-validity)
5098         (file-notify-test05-dir-validity): Use it.
5099         (file-notify-test02-events, file-notify-test04-file-validity): Add
5100         `read-event' calls between different file actions, in order to
5101         give the backends a chance to rais an event.  Needed especially
5102         for kqueue.  In case of deleting a directory, there are two
5103         `deleted' events.
5105 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
5107         Code cleanup of kqueue.c
5109         * src/kqueue.c (kqueue_directory_listing): Skip "." and "..".
5110         (kqueue_compare_dir_list): Do not loop when calling
5111         directory_files_internal.  Remove checks for "." and "..", this is
5112         done in kqueue_directory_listing now.
5113         (Fkqueue_add_watch): Check for proper emacs_open flags.
5115 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
5117         Doc changes for kqueue
5119         * doc/lispref/os.texi (File Notifications): Add kqueue as backend.
5120         Fix some glitches in the example.
5122 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
5124         Finish implementation in kqueue.c
5126         * src/kqueue.c (kqueue_directory_listing, kqueue_callback):
5127         Simplify access to list.
5128         (kqueue_compare_dir_list): Simplify access to list.  Raise
5129         `delete' event if directory does not exist any longer.  Otherwise,
5130         wait until directory contents has changed.  Fix error in check.
5132 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
5134         * lisp/filenotify.el (file-notify-add-watch): Fix thinko.
5136 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
5138         More work on kqueue
5140         * lisp/filenotify.el (file-notify-callback): Handle also the
5141         `rename' event from kqueue.
5142         (file-notify-add-watch): Do not register an entry twice.
5144         * src/kqueue.c (kqueue_directory_listing): New function.
5145         (kqueue_generate_event): New argument FILE1.  Adapt callees.
5146         (kqueue_compare_dir_list): Rewrite in order to make it more robust.
5148 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
5150         Implement directory events
5152         * lisp/filenotify.el (file-notify-handle-event)
5153         (file-notify-callback): Remove traces.
5155         * src/kqueue.c: Include <sys/time.h>.
5156         (kqueue_generate_event, kqueue_compare_dir_list): New functions.
5157         (kqueue_callback): Use them.  Call kevent() with a zero timeout.
5158         (Fkqueue_add_watch): Adapt docstring.  Support directory events.
5159         Compute initial directory listing.  Close file descriptor in case
5160         of errors.
5161         (syms_of_kqueue): Declare Qcreate.
5163 2015-11-25  Wolfgang Jenkner  <wjenkner@inode.at>
5165         Build fixes for kqueue support
5167         * src/kqueue.c (Fkqueue_add_watch): O_BINARY is not a POSIX open(3)
5168         flag.
5170         * configure.ac (HAVE_KQUEUE): There is no pkg-config module for native
5171         kqueue on *BSD.
5173 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
5175         Continue kqueue implementation
5177         * lisp/filenotify.el (file-notify-handle-event)
5178         (file-notify-callback): Enable trace messages.
5180         * src/kqueue.c: Include also <sys/types.h>.
5181         (kqueue_callback): Remove watch in case of NOTE_DELETE or NOTE_RENAME.
5182         (Fkqueue_rm_watch, Fkqueue_valid_p): New functions.
5183         (syms_of_kqueue): Add them.
5185 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
5187         Work on kqueue
5189         * lisp/filenotify.el (file-notify--library)
5190         (file-notify-descriptors, file-notify-callback)
5191         (file-notify-add-watch, file-notify-rm-watch)
5192         (file-notify-valid-p): Add kqueue support.
5194         * src/keyboard.c (make_lispy_event): Check also for HAVE_KQUEUE.
5196 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
5198         Add kqueue support
5200         * configure.ac (--with-file-notification): Add kqueue.
5201         (top): Remove special test for "${HAVE_NS}" and
5202         ${with_file_notification}, this is handled inside gfilenotify
5203         tests.  Add kqueue tests.  Use NOTIFY_CFLAGS and NOTIFY_LIBS
5204         instead of library specific variables.
5206         * src/Makefile.in: Use NOTIFY_CFLAGS and NOTIFY_LIBS.
5208         * src/emacs.c (main): Call globals_of_kqueue and syms_of_kqueue.
5210         * src/kqueue.c: New file.
5212         * src/lisp.h: Declare extern globals_of_kqueue and syms_of_kqueue.
5214 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
5216         Update elisp-mode-tests for changed file location.
5218          * test/lisp/progmodes/elisp-mode-tests.el:
5220 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
5222         Exclude manual tests from Makefile
5224          * test/Makefile.in:
5226 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
5228         Move package test files to new directory.
5230          * test/lisp/emacs-lisp/package-tests.el: Update resoruce file location.
5231          * test/data/package: Moved to test/lisp/emacs-lisp/package-resources
5233 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
5235         Restore delete Makefiles and fix .gitignore.
5237          * .gitignore: Update Makefiles to changed locations
5238          * test/lisp/progmodes/flymake-resources/Makefile,
5239            test/manual/etags/Makefile,
5240            test/manual/etags/make-src/Makefile,
5241            test/manual/indent/Makefile: Restored and moved to new location.
5243 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
5245         Test infrastructure: updates after directory move
5247          * (test/Makefile.in): Support directories several levels deep.
5248          * (test/data/flymake): Rename to test/lisp/progmodes/flymake-resources.
5249          * (test/lisp/progmodes/flymake-tests.el): Support renamed resource directory.
5251 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
5253         Rename all test files to reflect source layout.
5255          * CONTRIBUTE,Makefile.in,configure.ac: Update to reflect
5256            test directory moves.
5257          * test/file-organisation.org: New file.
5258          * test/automated/Makefile.in
5259            test/automated/data/decompress/foo.gz
5260            test/automated/data/epg/pubkey.asc
5261            test/automated/data/epg/seckey.asc
5262            test/automated/data/files-bug18141.el.gz
5263            test/automated/data/flymake/test.c
5264            test/automated/data/flymake/test.pl
5265            test/automated/data/package/archive-contents
5266            test/automated/data/package/key.pub
5267            test/automated/data/package/key.sec
5268            test/automated/data/package/multi-file-0.2.3.tar
5269            test/automated/data/package/multi-file-readme.txt
5270            test/automated/data/package/newer-versions/archive-contents
5271            test/automated/data/package/newer-versions/new-pkg-1.0.el
5272            test/automated/data/package/newer-versions/simple-single-1.4.el
5273            test/automated/data/package/package-test-server.py
5274            test/automated/data/package/signed/archive-contents
5275            test/automated/data/package/signed/archive-contents.sig
5276            test/automated/data/package/signed/signed-bad-1.0.el
5277            test/automated/data/package/signed/signed-bad-1.0.el.sig
5278            test/automated/data/package/signed/signed-good-1.0.el
5279            test/automated/data/package/signed/signed-good-1.0.el.sig
5280            test/automated/data/package/simple-depend-1.0.el
5281            test/automated/data/package/simple-single-1.3.el
5282            test/automated/data/package/simple-single-readme.txt
5283            test/automated/data/package/simple-two-depend-1.1.el
5284            test/automated/abbrev-tests.el
5285            test/automated/auto-revert-tests.el
5286            test/automated/calc-tests.el
5287            test/automated/icalendar-tests.el
5288            test/automated/character-fold-tests.el
5289            test/automated/comint-testsuite.el
5290            test/automated/descr-text-test.el
5291            test/automated/electric-tests.el
5292            test/automated/cl-generic-tests.el
5293            test/automated/cl-lib-tests.el
5294            test/automated/eieio-test-methodinvoke.el
5295            test/automated/eieio-test-persist.el
5296            test/automated/eieio-tests.el
5297            test/automated/ert-tests.el
5298            test/automated/ert-x-tests.el
5299            test/automated/generator-tests.el
5300            test/automated/let-alist.el
5301            test/automated/map-tests.el
5302            test/automated/advice-tests.el
5303            test/automated/package-test.el
5304            test/automated/pcase-tests.el
5305            test/automated/regexp-tests.el
5306            test/automated/seq-tests.el
5307            test/automated/subr-x-tests.el
5308            test/automated/tabulated-list-test.el
5309            test/automated/thunk-tests.el
5310            test/automated/timer-tests.el
5311            test/automated/epg-tests.el
5312            test/automated/eshell.el
5313            test/automated/faces-tests.el
5314            test/automated/file-notify-tests.el
5315            test/automated/auth-source-tests.el
5316            test/automated/gnus-tests.el
5317            test/automated/message-mode-tests.el
5318            test/automated/help-fns.el
5319            test/automated/imenu-test.el
5320            test/automated/info-xref.el
5321            test/automated/mule-util.el
5322            test/automated/isearch-tests.el
5323            test/automated/json-tests.el
5324            test/automated/bytecomp-tests.el
5325            test/automated/coding-tests.el
5326            test/automated/core-elisp-tests.el
5327            test/automated/decoder-tests.el
5328            test/automated/files.el
5329            test/automated/font-parse-tests.el
5330            test/automated/lexbind-tests.el
5331            test/automated/occur-tests.el
5332            test/automated/process-tests.el
5333            test/automated/syntax-tests.el
5334            test/automated/textprop-tests.el
5335            test/automated/undo-tests.el
5336            test/automated/man-tests.el
5337            test/automated/completion-tests.el
5338            test/automated/dbus-tests.el
5339            test/automated/newsticker-tests.el
5340            test/automated/sasl-scram-rfc-tests.el
5341            test/automated/tramp-tests.el
5342            test/automated/obarray-tests.el
5343            test/automated/compile-tests.el
5344            test/automated/elisp-mode-tests.el
5345            test/automated/f90.el
5346            test/automated/flymake-tests.el
5347            test/automated/python-tests.el
5348            test/automated/ruby-mode-tests.el
5349            test/automated/subword-tests.el
5350            test/automated/replace-tests.el
5351            test/automated/simple-test.el
5352            test/automated/sort-tests.el
5353            test/automated/subr-tests.el
5354            test/automated/reftex-tests.el
5355            test/automated/sgml-mode-tests.el
5356            test/automated/tildify-tests.el
5357            test/automated/thingatpt.el
5358            test/automated/url-future-tests.el
5359            test/automated/url-util-tests.el
5360            test/automated/add-log-tests.el
5361            test/automated/vc-bzr.el
5362            test/automated/vc-tests.el
5363            test/automated/xml-parse-tests.el
5364            test/BidiCharacterTest.txt
5365            test/biditest.el
5366            test/cedet/cedet-utests.el
5367            test/cedet/ede-tests.el
5368            test/cedet/semantic-ia-utest.el
5369            test/cedet/semantic-tests.el
5370            test/cedet/semantic-utest-c.el
5371            test/cedet/semantic-utest.el
5372            test/cedet/srecode-tests.el
5373            test/cedet/tests/test.c
5374            test/cedet/tests/test.el
5375            test/cedet/tests/test.make
5376            test/cedet/tests/testdoublens.cpp
5377            test/cedet/tests/testdoublens.hpp
5378            test/cedet/tests/testfriends.cpp
5379            test/cedet/tests/testjavacomp.java
5380            test/cedet/tests/testnsp.cpp
5381            test/cedet/tests/testpolymorph.cpp
5382            test/cedet/tests/testspp.c
5383            test/cedet/tests/testsppcomplete.c
5384            test/cedet/tests/testsppreplace.c
5385            test/cedet/tests/testsppreplaced.c
5386            test/cedet/tests/testsubclass.cpp
5387            test/cedet/tests/testsubclass.hh
5388            test/cedet/tests/testtypedefs.cpp
5389            test/cedet/tests/testvarnames.c
5390            test/etags/CTAGS.good
5391            test/etags/ETAGS.good_1
5392            test/etags/ETAGS.good_2
5393            test/etags/ETAGS.good_3
5394            test/etags/ETAGS.good_4
5395            test/etags/ETAGS.good_5
5396            test/etags/ETAGS.good_6
5397            test/etags/a-src/empty.zz
5398            test/etags/a-src/empty.zz.gz
5399            test/etags/ada-src/2ataspri.adb
5400            test/etags/ada-src/2ataspri.ads
5401            test/etags/ada-src/etags-test-for.ada
5402            test/etags/ada-src/waroquiers.ada
5403            test/etags/c-src/a/b/b.c
5404            test/etags/c-src/abbrev.c
5405            test/etags/c-src/c.c
5406            test/etags/c-src/dostorture.c
5407            test/etags/c-src/emacs/src/gmalloc.c
5408            test/etags/c-src/emacs/src/keyboard.c
5409            test/etags/c-src/emacs/src/lisp.h
5410            test/etags/c-src/emacs/src/regex.h
5411            test/etags/c-src/etags.c
5412            test/etags/c-src/exit.c
5413            test/etags/c-src/exit.strange_suffix
5414            test/etags/c-src/fail.c
5415            test/etags/c-src/getopt.h
5416            test/etags/c-src/h.h
5417            test/etags/c-src/machsyscalls.c
5418            test/etags/c-src/machsyscalls.h
5419            test/etags/c-src/sysdep.h
5420            test/etags/c-src/tab.c
5421            test/etags/c-src/torture.c
5422            test/etags/cp-src/MDiagArray2.h
5423            test/etags/cp-src/Range.h
5424            test/etags/cp-src/burton.cpp
5425            test/etags/cp-src/c.C
5426            test/etags/cp-src/clheir.cpp.gz
5427            test/etags/cp-src/clheir.hpp
5428            test/etags/cp-src/conway.cpp
5429            test/etags/cp-src/conway.hpp
5430            test/etags/cp-src/fail.C
5431            test/etags/cp-src/functions.cpp
5432            test/etags/cp-src/screen.cpp
5433            test/etags/cp-src/screen.hpp
5434            test/etags/cp-src/x.cc
5435            test/etags/el-src/TAGTEST.EL
5436            test/etags/el-src/emacs/lisp/progmodes/etags.el
5437            test/etags/erl-src/gs_dialog.erl
5438            test/etags/f-src/entry.for
5439            test/etags/f-src/entry.strange.gz
5440            test/etags/f-src/entry.strange_suffix
5441            test/etags/forth-src/test-forth.fth
5442            test/etags/html-src/algrthms.html
5443            test/etags/html-src/index.shtml
5444            test/etags/html-src/software.html
5445            test/etags/html-src/softwarelibero.html
5446            test/etags/lua-src/allegro.lua
5447            test/etags/objc-src/PackInsp.h
5448            test/etags/objc-src/PackInsp.m
5449            test/etags/objc-src/Subprocess.h
5450            test/etags/objc-src/Subprocess.m
5451            test/etags/objcpp-src/SimpleCalc.H
5452            test/etags/objcpp-src/SimpleCalc.M
5453            test/etags/pas-src/common.pas
5454            test/etags/perl-src/htlmify-cystic
5455            test/etags/perl-src/kai-test.pl
5456            test/etags/perl-src/yagrip.pl
5457            test/etags/php-src/lce_functions.php
5458            test/etags/php-src/ptest.php
5459            test/etags/php-src/sendmail.php
5460            test/etags/prol-src/natded.prolog
5461            test/etags/prol-src/ordsets.prolog
5462            test/etags/ps-src/rfc1245.ps
5463            test/etags/pyt-src/server.py
5464            test/etags/tex-src/gzip.texi
5465            test/etags/tex-src/nonewline.tex
5466            test/etags/tex-src/testenv.tex
5467            test/etags/tex-src/texinfo.tex
5468            test/etags/y-src/atest.y
5469            test/etags/y-src/cccp.c
5470            test/etags/y-src/cccp.y
5471            test/etags/y-src/parse.c
5472            test/etags/y-src/parse.y
5473            test/indent/css-mode.css
5474            test/indent/js-indent-init-dynamic.js
5475            test/indent/js-indent-init-t.js
5476            test/indent/js-jsx.js
5477            test/indent/js.js
5478            test/indent/latex-mode.tex
5479            test/indent/modula2.mod
5480            test/indent/nxml.xml
5481            test/indent/octave.m
5482            test/indent/pascal.pas
5483            test/indent/perl.perl
5484            test/indent/prolog.prolog
5485            test/indent/ps-mode.ps
5486            test/indent/ruby.rb
5487            test/indent/scheme.scm
5488            test/indent/scss-mode.scss
5489            test/indent/sgml-mode-attribute.html
5490            test/indent/shell.rc
5491            test/indent/shell.sh
5492            test/redisplay-testsuite.el
5493            test/rmailmm.el
5494            test/automated/buffer-tests.el
5495            test/automated/cmds-tests.el
5496            test/automated/data-tests.el
5497            test/automated/finalizer-tests.el
5498            test/automated/fns-tests.el
5499            test/automated/inotify-test.el
5500            test/automated/keymap-tests.el
5501            test/automated/print-tests.el
5502            test/automated/libxml-tests.el
5503            test/automated/zlib-tests.el: Files Moved.
5505 2015-11-20  Michael Albinus  <michael.albinus@gmx.de>
5507         Rework file notifications, kqueue has problems with directory monitors
5509         * lisp/filenotify.el (file-notify-add-watch): Call the native
5510         add-watch function on the file, not on the dir.
5512         * src/kqueue.c (kqueue_compare_dir_list): Make also bookkeeping
5513         about already deleted entries.
5515         * test/automated/auto-revert-tests.el
5516         (auto-revert-test01-auto-revert-several-files): Do not call "cp -f"
5517         since this deletes the target file first.
5519         * test/automated/file-notify-tests.el (file-notify--test-event-test):
5520         Make stronger checks.
5521         (file-notify-test01-add-watch, file-notify-test02-events)
5522         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
5523         Rewrite in order to call file monitors but directory monitors.
5524         (file-notify-test06-many-events): Ler rename work in both directions.
5526 2015-11-19  Michael Albinus  <michael.albinus@gmx.de>
5528         Continie with pending events
5530         * src/kqueue.c (pending_events): Remove global variable.
5531         (kqueue_compare_dir_list): Create `write' event for not used
5532         pending events.
5533         (globals_of_kqueue): Remove initialization of pending_events.
5535 2015-11-19  Michael Albinus  <michael.albinus@gmx.de>
5537         Improve loops in file-notify-test06-many-events
5539         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
5540         Use `read-event' pauses for the `write-file' loops; otherwise
5541         events are lost in inotify and gfilenotify cases.
5543 2015-11-19  Michael Albinus  <michael.albinus@gmx.de>
5545         Handle more complex rename operation in kqueue
5547         * src/kqueue.c (pending_events): New variable.
5548         (kqueue_compare_dir_list): Handle more complex rename operation.
5549         (globals_of_kqueue): Initialize pending_events.
5551         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
5552         Adapt expected events in the `rename-file' case.
5553         (file-notify-test06-many-events-remote): Declare.
5555 2015-11-18  Wolfgang Jenkner  <wjenkner@inode.at>
5557         New test with a larger number of events.
5559         * test/automated/file-notify-tests.el (file-notify--test-with-events):
5560         Make timeout heuristically depend on the number of events.
5562         (file-notify-test06-many-events): Use it for new test.
5564 2015-11-18  Michael Albinus  <michael.albinus@gmx.de>
5566         Further fixes for kqueue.
5568         * lisp/filenotify.el (file-notify-callback): Raise also event if
5569         directory name matches.
5570         (file-notify-add-watch): Add `create' to the flags for `kqueue'.
5572         * src/kqueue.c (kqueue_generate_event): Use watch_object as
5573         argument instead of ident.  Remove callback argument.  Adapt
5574         callees.  Check actions whether they are monitored flags.
5576         * test/automated/file-notify-tests.el (file-notify--test-library):
5577         New defun.
5578         (file-notify-test00-availability, file-notify-test02-events)
5579         (file-notify-test04-file-validity)
5580         (file-notify-test05-dir-validity): Use it.
5581         (file-notify-test02-events, file-notify-test04-file-validity): Add
5582         `read-event' calls between different file actions, in order to
5583         give the backends a chance to rais an event.  Needed especially
5584         for kqueue.  In case of deleting a directory, there are two
5585         `deleted' events.
5587 2015-11-17  Michael Albinus  <michael.albinus@gmx.de>
5589         Code cleanup of kqueue.c
5591         * src/kqueue.c (kqueue_directory_listing): Skip "." and "..".
5592         (kqueue_compare_dir_list): Do not loop when calling
5593         directory_files_internal.  Remove checks for "." and "..", this is
5594         done in kqueue_directory_listing now.
5595         (Fkqueue_add_watch): Check for proper emacs_open flags.
5597 2015-11-16  Michael Albinus  <michael.albinus@gmx.de>
5599         Doc changes for kqueue
5601         * doc/lispref/os.texi (File Notifications): Add kqueue as backend.
5602         Fix some glitches in the example.
5604 2015-11-16  Michael Albinus  <michael.albinus@gmx.de>
5606         Finish implementation in kqueue.c
5608         * src/kqueue.c (kqueue_directory_listing, kqueue_callback):
5609         Simplify access to list.
5610         (kqueue_compare_dir_list): Simplify access to list.  Raise
5611         `delete' event if directory does not exist any longer.  Otherwise,
5612         wait until directory contents has changed.  Fix error in check.
5614 2015-11-16  Michael Albinus  <michael.albinus@gmx.de>
5616         * lisp/filenotify.el (file-notify-add-watch): Fix thinko.
5618 2015-11-15  Michael Albinus  <michael.albinus@gmx.de>
5620         More work on kqueue
5622         * lisp/filenotify.el (file-notify-callback): Handle also the
5623         `rename' event from kqueue.
5624         (file-notify-add-watch): Do not register an entry twice.
5626         * src/kqueue.c (kqueue_directory_listing): New function.
5627         (kqueue_generate_event): New argument FILE1.  Adapt callees.
5628         (kqueue_compare_dir_list): Rewrite in order to make it more robust.
5630 2015-11-14  Michael Albinus  <michael.albinus@gmx.de>
5632         Implement directory events
5634         * lisp/filenotify.el (file-notify-handle-event)
5635         (file-notify-callback): Remove traces.
5637         * src/kqueue.c: Include <sys/time.h>.
5638         (kqueue_generate_event, kqueue_compare_dir_list): New functions.
5639         (kqueue_callback): Use them.  Call kevent() with a zero timeout.
5640         (Fkqueue_add_watch): Adapt docstring.  Support directory events.
5641         Compute initial directory listing.  Close file descriptor in case
5642         of errors.
5643         (syms_of_kqueue): Declare Qcreate.
5645 2015-11-11  Wolfgang Jenkner  <wjenkner@inode.at>
5647         Build fixes for kqueue support.
5649         * src/kqueue.c (Fkqueue_add_watch): O_BINARY is not a POSIX open(3)
5650         flag.
5652         * configure.ac (HAVE_KQUEUE): There is no pkg-config module for native
5653         kqueue on *BSD.
5655 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
5657         Continue kqueue implementation
5659         * lisp/filenotify.el (file-notify-handle-event)
5660         (file-notify-callback): Enable trace messages.
5662         * src/kqueue.c: Include also <sys/types.h>.
5663         (kqueue_callback): Remove watch in case of NOTE_DELETE or NOTE_RENAME.
5664         (Fkqueue_rm_watch, Fkqueue_valid_p): New functions.
5665         (syms_of_kqueue): Add them.
5667 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
5669         Work on kqueue
5671         * lisp/filenotify.el (file-notify--library)
5672         (file-notify-descriptors, file-notify-callback)
5673         (file-notify-add-watch, file-notify-rm-watch)
5674         (file-notify-valid-p): Add kqueue support.
5676         * src/keyboard.c (make_lispy_event): Check also for HAVE_KQUEUE.
5678 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
5680         Add kqueue support
5682         * configure.ac (--with-file-notification): Add kqueue.
5683         (top): Remove special test for "${HAVE_NS}" and
5684         ${with_file_notification}, this is handled inside gfilenotify
5685         tests.  Add kqueue tests.  Use NOTIFY_CFLAGS and NOTIFY_LIBS
5686         instead of library specific variables.
5688         * src/Makefile.in: Use NOTIFY_CFLAGS and NOTIFY_LIBS.
5690         * src/emacs.c (main): Call globals_of_kqueue and syms_of_kqueue.
5692         * src/kqueue.c: New file.
5694         * src/lisp.h: Declare extern globals_of_kqueue and syms_of_kqueue.
5696 2015-11-21  Wilson Snyder  <wsnyder@wsnyder.org>
5698         verilog-mode.el: Commentary and fix pre-Emacs 21 behavior.
5700         * verilog-mode.el (verilog-save-font-no-change-functions):
5701         Commentary and fix pre-Emacs 21 behavior.
5703 2015-11-19  Przemysław Wojnowski  <esperanto@cumego.com>
5705         Use obarray functions from obarray.
5707         * lisp/abbrev.el (copy-abbrev-table, abbrev-table-p, make-abbrev-table,
5708           abbrev-table-get, abbrev-table-put, abbrev-table-empty-p,
5709           clear-abbrev-table, define-abbrev, abbrev--symbol, abbrev-table-menu):
5710           delegate to obarray.el functions.
5711         * lisp/loadup.el: load obarray before abbrev
5712         * test/automated/abbrev-tests.el: new tests
5714 2015-11-18  Christian Schwarzgruber  <c.schwarzgruber.cs@gmail.com>  (tiny change)
5716         epa.el: Add option to replace original text
5718         * lisp/epa.el (epa-replace-original-text): New user option.
5719         (Bug#21947)
5721 2015-11-18  Mark Oteiza  <mvoteiza@udel.edu>
5723         Add interactive seek command.
5725         * lisp/mpc.el (mpc-cmd-seekcur): New function.
5726         (mpc-seek-current): New command.
5727         (mpc-mode-menu): Add entry for mpc-seek-current
5728         (mpc-mode-map): Bind mpc-seek-current to "g"
5730 2015-11-18  Mark Oteiza  <mvoteiza@udel.edu>
5732         Fix issue where a new tempfile was created every refresh
5734         * lisp/mpc.el (mpc-format): Leave dir as relative path
5736 2015-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>
5738         * lisp/progmodes/cc-defs.el: Use with-silent-modifications
5740         (c-save-buffer-state): Use with-silent-modifications when available.
5741         (c--macroexpand-all): Check macroexpand-all directly rather than
5742         c--mapcan-status.
5744 2015-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>
5746         * lisp/loadup.el: Set max-lisp-eval-depth here
5748         * lisp/Makefile.in (BIG_STACK_DEPTH, BIG_STACK_OPTS): Remove.
5749         (BYTE_COMPILE_FLAGS): Adjust accordingly.
5751 2015-11-17  João Távora  <joaotavora@gmail.com>
5753         Minor fix to comment indentation and typo in last commit
5755         * linum.el (linum-update-window): Fix comment indentation and a
5756         typo.
5758 2015-11-17  João Távora  <joaotavora@gmail.com>
5760         linum-mode plays more nicely with other margin-setting extensions
5762         linum.el will only modify the left margin if it needs to, and will
5763         only reset the it back to 0 if it guesses that no-one has touched that
5764         margin in the meantime.
5766         As such, this is a more of a workaround than an actual fix, but fixes
5767         the problems described in bug#20674 regarding the interaction with
5768         modes such as darkroom-mode and olivetti-mode.
5770         A similar fix was commited to nlinum.el in ELPA.git's
5771         e7f5f549fbfb740b911fb7f33b42381ecece56d8
5773         * linum.el (linum-delete-overlays): Restore margins more
5774         criteriously.
5775         (linum-update-window): Set margins more criteriously.
5777 2015-11-16  Daiki Ueno  <ueno@gnu.org>
5779         * lisp/image-mode.el: Support encrypted file
5781         (image-toggle-display-image): Read content from the buffer instead
5782         of the file, if the buffer holds a decrypted data.  (Bug#21870)
5784 2015-11-15  Juanma Barranquero  <lekktu@gmail.com>
5786         * lisp/progmodes/verilog-mode.el (verilog-save-buffer-state): Add backquote
5788 2015-11-15  Artur Malabarba  <bruce.connor.am@gmail.com>
5790         * lisp/emacs-lisp/package.el: Fix a decoding issue
5792         (package--with-response-buffer): Use `url-insert-buffer-contents'.
5793         The previous code had some issues with decoding. Refactoring that
5794         function allows us to use the decoding from url-handlers while still
5795         treating both sync and async requests the same.
5797         * lisp/url/url-handlers.el (url-insert-file-contents): Move some code to
5798         `url-insert-buffer-contents'.
5799         (url-insert-buffer-contents): New function
5801 2015-11-15  Artur Malabarba  <bruce.connor.am@gmail.com>
5803         * lisp/emacs-lisp/package.el: Refactor -with-work-buffer-async
5805         (package--with-work-buffer-async): Reimplement as
5806         `package--with-response-buffer'.
5807         (package--with-work-buffer): Mark obsolete.
5808         (package--with-response-buffer): New macro. This is a more self
5809         contained and less contrived version of
5810         `package--with-work-buffer-async'.  It uses keyword arguments,
5811         doesn't have async on the name, doesn't fallback on
5812         `package--with-work-buffer', and has _much_ simpler error
5813         handling.
5815         (package--check-signature, package--download-one-archive)
5816         (package-install-from-archive, describe-package-1): Use it.
5818         (package--download-and-read-archives): Let
5819         `package--download-one-archive' take care of calling
5820         `package--update-downloads-in-progress'.
5822 2015-11-15  Stefan Monnier  <monnier@iro.umontreal.ca>
5824         * lisp/progmodes/verilog-mode.el: Use with-silent-modifications
5826         (verilog-save-buffer-state): Use with-silent-modifications when available.
5827         (verilog-save-font-no-change-functions): Don't bind
5828         before/after-change-functions if it's not needed.
5830 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
5832         * CONTRIBUTE: Remove information about feature freeze.
5834         Merge branch 'release-process-lowercase'
5836 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
5838         Document the release process
5840         * admin/notes/versioning: Add information about RC releases.
5841         * admin/release-process: Document the release process.
5842         * admin/authors.el (authors-ignored-files):
5843         * admin/README: Change FOR-RELEASE to release-process.
5844         * CONTRIBUTE:
5845         * admin/notes/bugtracker: Don't mention FOR-RELEASE.
5847 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
5849         * admin/release-process: Rename from admin/FOR-RELEASE.
5851 2015-11-14  David Engster  <deng@randomsample.de>
5853         gitmerge: Fix git log command
5855         * admin/gitmerge.el (gitmerge-missing): Use '--left-only' since we
5856         only want commits from the branch that is to be merged.
5857         (gitmerge-setup-log-buffer): Use the same symmetric range as in
5858         `gitmerge-missing'.
5860 2015-11-14  David Engster  <deng@randomsample.de>
5862         gitmerge: Try to detect cherry-picks
5864         * admin/gitmerge.el (gitmerge-default-branch): Change to
5865         origin/emacs-25.
5866         (gitmerge-missing): Use symmetric difference ('...') between
5867         branch and master so that cherry-picks can be detected.
5869 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
5871         Increment Emacs version on master branch
5873         * lisp/cus-edit.el (customize-changed-options-previous-release):
5874         Increase previous version to 24.5.
5876         * configure.ac:
5877         * msdos/sed2v2.inp: Bump version to 25.1.50.
5879 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
5881         Mention CONTRIBUTE in README, since it was moved from etc/ to root.
5882         * etc/TODO: Remove the reference to `etc/CONTRIBUTE'.
5883         * README: Mention CONTRIBUTE.
5885 2015-11-13  Wilson Snyder  <wsnyder@wsnyder.org>
5887         Update verilog-mode.el to 2015-11-09-b121d60-vpo
5889         * verilog-mode.el (verilog-auto, verilog-delete-auto)
5890         (verilog-modi-cache-results, verilog-save-buffer-state)
5891         (verilog-save-font-no-change-functions): When internally suppressing
5892         change functions, use `inhibit-modification-hooks' and call
5893         `after-change-funtions' to more nicely work with user hooks.
5894         Reported by Stefan Monnier.
5895         (verilog-auto, verilog-delete-auto, verilog-delete-auto-buffer):
5896         Create `verilog-delete-auto-buffer' to avoid double-calling
5897         fontification hooks.
5898         (verilog-restore-buffer-modified-p, verilog-auto)
5899         (verilog-save-buffer-state): Prefer restore-buffer-modified-p over
5900         set-buffer-modified-p.  Reported by Stefan Monnier.
5901         (verilog-diff-auto, verilog-diff-buffers-p)
5902         (verilog-diff-ignore-regexp): Add `verilog-diff-ignore-regexp'.
5903         (verilog-auto-inst-port, verilog-read-sub-decls-expr): Fix
5904         AUTOINST with unpacked dimensional parameters, bug981.  Reported by
5905         by Amol Nagapurkar.
5906         (verilog-read-decls, verilog-read-sub-decls-line): Avoid unneeded
5907         properties inside internal structures.  No functional change
5908         intended.
5910 2015-11-13  Dmitry Gutov  <dgutov@yandex.ru>
5912         Use generic dispatch for xref backends
5914         * lisp/progmodes/xref.el (xref-backend-functions):
5915         New variable.
5916         (xref-find-function): Remove.
5917         (xref-find-backend)
5918         (xref--etags-backend): New functions.
5919         (xref-identifier-at-point-function)
5920         (xref-identifier-completion-table-function): Remove.
5921         (xref-backend-definitions, xref-backend-references)
5922         (xref-backend-apropos, xref-backend-identifier-at-point)
5923         (xref-backend-identifier-completion-table):
5924         New generic functions.
5926         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
5927         Add `elisp--xref-backend' to the beginning of
5928         `xref-backend-functions', locally.  Delete references to
5929         removed functions and vars.
5930         (elisp-xref-find): Remove.
5931         (elisp--xref-backend): New function.
5932         (elisp--xref-find-references, elisp--xref-find-apropos)
5933         (elisp--xref-identifier-completion-table):
5934         Turn into appropriately named generic methods.
5936         * lisp/progmodes/etags.el (etags-xref-find): Remove.
5937         (xref-backend-identifier-completion-table)
5938         (xref-backend-references, xref-backend-definitions)
5939         (xref-backend-apropos): New generic methods.
5941 2015-11-13  Juri Linkov  <juri@linkov.net>
5943         Support rectangular regions for more commands
5945         * lisp/simple.el (region-extract-function): Handle the arg
5946         value ‘bounds’.
5947         (region-insert-function): New function.
5948         (shell-command-on-region): Add arg ‘region-noncontiguous-p’.
5949         If non-nil, operate on multiple chunks.
5950         (region-noncontiguous-p): New function.
5952         * lisp/rect.el: Add function rectangle--insert-region
5953         around region-insert-function.
5954         (extract-rectangle-bounds): New function.
5955         (rectangle--extract-region): Handle the arg value ‘bounds’.
5956         (rectangle--insert-region): New function.
5958         * lisp/emulation/cua-rect.el: Add function cua--insert-rectangle
5959         around region-insert-function.
5960         (cua--extract-rectangle-bounds): New function.
5961         (cua--rectangle-region-extract): Handle the arg value ‘bounds’.
5963         * lisp/replace.el (query-replace, query-replace-regexp): Add arg
5964         ‘region-noncontiguous-p’.  Use ‘use-region-p’.
5965         (query-replace-regexp-eval, map-query-replace-regexp)
5966         (replace-string, replace-regexp): Use ‘use-region-p’.
5967         (keep-lines, flush-lines, how-many): Use ‘use-region-p’.
5968         (perform-replace): Add arg ‘region-noncontiguous-p’.
5969         If non-nil, operate on multiple chunks.
5971         * src/casefiddle.c (Fdowncase_region): Add arg ‘region-noncontiguous-p’.
5972         If non-nil, operate on multiple chunks.  (Bug#19829)
5974 2015-11-13  Dmitry Gutov  <dgutov@yandex.ru>
5976         Handle multiple matches on the same line; add highlighting
5978         * lisp/progmodes/xref.el (xref-location-marker): Interpret the
5979         column value in characters.
5980         (xref--collect-matches): Rename from `xref--collect-match'.
5981         Search for all matches in the hit line.  Add `highlight' face to
5982         the matched region in the summary.  Update both callers.
5984 2015-11-13  Dmitry Gutov  <dgutov@yandex.ru>
5986         Replace xref-match-bounds with xref-match-length
5988         Relying on xref-location-marker to point to the beginning of the match
5990         * lisp/progmodes/xref.el (xref-match-bounds): Remove.
5991         (xref-match-length): Add.
5992         (xref-make-match): Change the arguments.
5993         (xref--match-buffer-bounds): Remove.
5994         (xref-match-item): Store length, instead of end-column.
5995         (xref-pulse-momentarily)
5996         (xref--collect-match)
5997         (xref--query-replace-1): Update accordingly.
5998         (xref-query-replace): Ditto.  And check that the search results
5999         are up-to-date.
6001 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
6003         Merge from gnulib
6005         This incorporates:
6006         2015-11-13 xalloc-oversized: improve performance with GCC 5
6007         * lib/xalloc-oversized.h: Copy from gnulib.
6009 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
6011         Spruce up ftfont.c memory allocation
6013         * src/ftfont.c (setup_otf_gstring):
6014         Avoid O(N**2) behavior when reallocating.
6015         (ftfont_shape_by_flt): Prefer xpalloc to xrealloc when
6016         reallocating buffers; this simplifies the code.  Do not trust
6017         mflt_run to leave the output areas unchanged on failure, as
6018         this isn’t part of its interface spec.
6020 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
6022         Port recent XCB changes to 64-bit ‘long int’
6024         For historical reasons, libX11 represents 32-bit values like Atoms as
6025         ‘long int’ even on platforms where ‘long int’ is 64 bits.  XCB doesn’t
6026         do that, so adapt the recent XCB code to behave properly on 64-bit
6027         platforms.  Also, fix what appears to be a bug in the interpretation
6028         of xcb_get_property_value_length, at least on my Fedora platform
6029         which is running libxcb-1.11-5.fc21.
6030         * src/xfns.c (x_real_pos_and_offsets):
6031         * src/xterm.c (get_current_wm_state):
6032         xcb_get_property_value_length returns a byte count, not a word count.
6033         For 32-bit quantities, xcb_get_property_value returns a vector
6034         of 32-bit words, not of (possibly 64-bit) long int.
6036 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
6038         * src/undo.c (run_undoable_change): Now static.
6040 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
6042         Remove support for ':timeout' from w32 tray notifications
6044         * src/w32fns.c (Fw32_notification_notify): Delete the code that
6045         supports ':timeout'.
6046         (syms_of_w32fns): Don't DEFSYM ':timeout'.  This avoids clashes
6047         with dbusbind.c when D-Bus is compiled in.
6049         * doc/lispref/os.texi (Desktop Notifications): Don't mention
6050         ':timeout'.
6052 2015-11-13  Juanma Barranquero  <lekktu@gmail.com>
6054         * test/automated/simple-test.el: Add test for bug#20698 (bug#21885)
6055         (simple-test--transpositions): New macro.
6056         (simple-transpose-subr): New test.
6058 2015-11-13  Juanma Barranquero  <lekktu@gmail.com>
6060         * lisp/progmodes/elisp-mode.el: Declare function `project-roots'
6062 2015-11-13  Juanma Barranquero  <lekktu@gmail.com>
6064         * src/undo.c: Small fixes for previous change
6065         (run_undoable_change): Mark void argument list.
6066         (record_property_change): Remove unused variable `boundary'.
6068 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
6070         Add a few more variables to redisplay--variables
6072         * lisp/frame.el (redisplay--variables): Add bidi-paragraph-direction
6073         and bidi-display-reordering to the list.
6075 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
6077         * lisp/loadup.el: Enlarge the size of the hash table to 80000.
6079 2015-11-13  Eli Barzilay  <eli@barzilay.org>
6081         Fix point positioning after transposing with negative arg
6083         * lisp/simple.el (transpose-subr): When invoked with a negative
6084         argument, move point to after the transposed text, like we do
6085         when invoked with a positive argument.  (Bug#21885)
6087 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
6089         Fix last change in shr.el
6091         * lisp/net/shr.el (shr--have-one-fringe-p): Rename from
6092         have-fringes-p.  All callers changed.  Doc fix.  (Bug#21895)
6094 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
6096         Fix last change
6098         * src/w32fns.c (syms_of_w32fns) [WINDOWSNT && !HAVE_DBUS]:
6099         Don't DEFSYM tray notification symbols if D-Bus is being used.
6101 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
6103         Another fix for MinGW64 and Cygwin builds due to notifications
6105         * src/w32fns.c: Ifdef away tray notification code if D-Bus is
6106         being compiled into Emacs.
6107         (syms_of_w32fns) [WINDOWSNT && !HAVE_DBUS]: Don't defsubr
6108         Sw32_notification_notify and Sw32_notification_close if the code
6109         is not compiled.  Reported by Andy Moreton <andrewjmoreton@gmail.com>.
6111 2015-11-12  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
6113         Remove intern calls and XXX comments from Fx_export_frames
6115         * src/xfns.c (Fx_export_frames): Use Qpdf, Qpng, Qpostscript, and
6116         Qsvg instead of intern calls.  Use "postscript" instead of "ps"
6117         for consistency with image types.  Remove XXX comments.
6118         (syms_of_xfns) <Qpdf>: DEFSYM it.
6120 2015-11-12  Eric Hanchrow  <eric.hanchrow@gmail.com>
6122         shr: don't invoke unbound function (Bug#21895)
6124         * lisp/net/shr.el (have-fringes-p): New function.
6125         (shr-insert-document, shr-fill-text): Use it.
6127 2015-11-12  Juanma Barranquero  <lekktu@gmail.com>
6129         * test/automated/keymaps-test.el: Fix test to make it repeatable
6131         (keymap-store_in_keymap-FASTINT-on-nonchars): Reset Buffer-menu-mode-map
6132         entry to its initial value to make the test repeatable in interactive
6133         sessions (assuming it doesn't fail and crashes Emacs, of course).
6135 2015-11-12  Artur Malabarba  <bruce.connor.am@gmail.com>
6137         * test/automated/cl-lib-tests.el (cl-lib-struct-constructors):
6138         Small fix.
6140 2015-11-12  Phillip Lord  <phillip.lord@newcastle.ac.uk>
6142         The heuristic that Emacs uses to add an `undo-boundary' has been
6143         reworked, as it interacts poorly with functions on `post-command-hook'
6144         or `after-change-functions'.
6146         * lisp/simple.el: New section added.
6147         * src/cmds.c (remove_excessive_undo_boundaries): Now in lisp.
6148         (self_insert_command): Calls simple.el to amalgamate.
6149         (delete_char): Calls simple.el to amalgamate.
6150         * src/keyboard.c (last_undo_boundary): Removed.
6151         * src/undo.c (run_undoable_change): New function.
6153 2015-11-12  Juri Linkov  <juri@linkov.net>
6155         Bind [?\S-\ ] to previous line command in Dired-like modes
6157         * lisp/arc-mode.el (archive-mode-map):
6158         * lisp/dired.el (dired-mode-map):
6159         * lisp/proced.el (proced-mode-map):
6160         * lisp/vc/vc-dir.el (vc-dir-mode-map):
6161         Bind [?\S-\ ] to previous line command.
6162         (Bug#20790)
6164 2015-11-12  Eli Zaretskii  <eliz@gnu.org>
6166         Fix the MinGW64 and Cygwin-w32 builds
6168         * src/w32fns.c (MYNOTIFYICONDATAW_V1_SIZE)
6169         (MYNOTIFYICONDATAW_V2_SIZE, MYNOTIFYICONDATAW_V3_SIZE): Define and
6170         use instead of the corresponding NOTIFYICONDATAW_Vn_SIZE macros,
6171         which cause trouble with MinGW42 headers.  Ifdef away tray
6172         notifications code for Cygwin.  Reported by Andy Moreton
6173         <andrewjmoreton@gmail.com>.
6175 2015-11-12  Simen Heggestøyl  <simenheg@gmail.com>
6177         Enable sorting of JSON object keys when encoding
6179         * lisp/json.el (json-encoding-object-sort-predicate): New variable
6180         for specifying a sorting predicate for JSON objects during encoding.
6181         (json--plist-to-alist): New utility function.
6182         (json-encode-hash-table): Re-use `json-encode-alist' when object keys
6183         are to be sorted.
6184         (json-encode-alist): Sort output by
6185         `json-encoding-object-sort-predicate, when set.
6186         (json-encode-plist): Re-use `json-encode-alist' when object keys are
6187         to be sorted.
6188         (json-pretty-print-buffer-ordered): New command to pretty print the
6189         buffer with object keys sorted alphabetically.
6190         (json-pretty-print-ordered): New command to pretty print the region
6191         with object keys sorted alphabetically.
6193         * test/automated/json-tests.el (test-json-plist-to-alist)
6194         (test-json-encode-plist, test-json-encode-hash-table)
6195         (test-json-encode-alist-with-sort-predicate)
6196         (test-json-encode-plist-with-sort-predicate): New tests.
6198         * etc/NEWS: Add an entry for the new commands.
6200 2015-11-12  Juanma Barranquero  <lekktu@gmail.com>
6202         * test/automated/keymap-tests.el: New test file.
6204 2015-11-12  Ken Raeburn  <raeburn@raeburn.org>
6206         Speed up x_real_pos_and_offsets using XCB
6208         * src/xfns.c (x_real_pos_and_offsets) [USE_XCB]: Add XCB flavors of
6209         all X calls, and pipeline requests when possible, collecting results
6210         later.  Eliminate use of x_catch_errors (and thus XSync) in XCB case.
6212 2015-11-12  Ken Raeburn  <raeburn@raeburn.org>
6214         Enable use of XCB for checking window manager state
6216         * src/xterm.c (get_current_wm_state) [USE_XCB]: Use XCB calls instead
6217         of XGetWindowProperty plus error-catching, since we can explicitly
6218         check for errors in the XCB version.  This eliminates 3 XSync calls on
6219         top of the round-trip actually fetching the information.
6221 2015-11-12  Ken Raeburn  <raeburn@raeburn.org>
6223         Detect XCB and save a connection handle
6225         * configure.ac: If using X11, check for XCB libraries and header.
6226         * src/Makefile.in (XCB_LIBS): Define.
6227         (LIBX_EXTRA): Include it.
6229         * src/xterm.h [USE_XCB]: Include X11/Xlib-xcb.h.
6230         (struct x_display_info) [USE_XCB]: Add an XCB connection handle field.
6231         * src/xterm.c (x_term_init) [USE_XCB]: Initialize the new field.
6233 2015-11-12  Ken Raeburn  <raeburn@raeburn.org>
6235         Reduce some data dependencies between X calls
6237         Gains nothing in the traditional-Xlib code, but more closely aligns
6238         with how the XCB version will work.
6240         * src/xfns.c (x_real_pos_and_offsets): When translating coordinates,
6241         send coordinates (0,0) to the X server and add in the real coordinates
6242         after getting the response.  Move XGetGeometry for outer window inside
6243         error-trapping block.  Use DPY variable more, since it's available.
6245 2015-11-12  Ken Raeburn  <raeburn@raeburn.org>
6247         Use color cache for creating bitmap
6249         * src/image.c (x_create_bitmap_from_xpm_data) [ALLOC_XPM_COLORS]:
6250         Set attributes to use the caching color allocator.  Initialize and
6251         free the cache.
6253 2015-11-12  Eli Barzilay  <eli@barzilay.org>
6255         Add "^" to the interactive specs of `dired-next/previous-line'
6257         * lisp/dired.el (dired-next-line, dired-previous-line): It makes sense
6258         to bind these commands to the arrow keys, and that means that they work
6259         better with a "^" in the `interactive' declaration so selection works
6260         as expected.
6262 2015-11-11  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
6264         Sync with soap-client repository, version 3.0.2
6266         * soap-client.el: Bump version to 3.0.2.
6268         * soap-client.el (soap-warning): Use format, not format-message.
6270         * soap-client.el: Add cl-lib to Package-Requires.  Require cl-lib.
6271         (soap-validate-xs-simple-type): Use cl-labels instead of cl-flet.
6273         * soap-client.el: Support Emacs versions that do not have
6274         define-error.
6276         * soap-inspect.el: Remove version header.
6278         * soap-client.el, soap-inspect.el, jira2.el: Fix first line header
6279         format.
6281 2015-11-11  Alan Mackenzie  <acm@muc.de>
6283         CC Mode: Respect users' settings of open-paren-in-column-0-is-defun-start
6285         * lisp/progmodes/cc-engine.el (c-backward-single-comment)
6286         (c-backward-comments, c-invalidate-state-cache-1, c-parse-state-1)
6287         (c-guess-basic-syntax):
6288         Remove bindings of open-paren-in-column-0-is-defun-start to nil.
6289         (c-get-fallback-scan-pos): "New" function (existed several years ago).
6290         (c-parse-state-get-strategy): Reintroduce the 'BOD strategy, using
6291         c-get-fallback-scan-pos.
6292         (c-parse-state-1): Handle 'BOD strategy.
6294         * lisp/progmodes/cc-mode.el (c-before-change, c-after-change)
6295         (c-font-lock-fontify-region): Remove bindings of
6296         open-paren-in-column-0-is-defun-start to nil.
6298         * doc/misc/cc-mode.texi (Performance Issues)
6299         (Limitations and Known Bugs): Fix mix up between @chapter and @appendix.
6301 2015-11-11  Artur Malabarba  <bruce.connor.am@gmail.com>
6303         * lisp/obarray.el: Fix shadowed variables.
6304         (obarray-map, obarray-remove, obarray-put, obarray-get):
6305         Change OBARRAY arg to OB to avoid shadowing ‘obarray’.
6307 2015-11-11  Eli Zaretskii  <eliz@gnu.org>
6309         Avoid error in submitting a form with EWW
6311         * lisp/gnus/mm-url.el (mm-url-form-encode-xwfu): Allow argument
6312         CHUNK to be nil.  (Bug#21881)
6314 2015-11-11  Nicolas Petton  <nicolas@petton.fr>
6316         Rename seq-p and map-p to seqp and mapp
6318         * lisp/emacs-lisp/seq.el (seqp): New name.
6319         * lisp/emacs-lisp/map.el (mapp): New name.
6320         * doc/lispref/sequences.texi: Update the documentation for seqp.
6321         * test/automated/map-tests.el: Update the tests for mapp.
6323 2015-11-11  Nicolas Petton  <nicolas@petton.fr>
6325         Rename obarray-p to obarrayp
6327         * lisp/obarray.el (obarrayp): New name.
6328         * test/automated/obarray-tests.el: Update the tests.
6330 2015-11-11  Nicolas Petton  <nicolas@petton.fr>
6332         Rename obarray-foreach to obarray-map
6334         * lisp/obarray.el (obarray-map): New name.
6335         * test/automated/obarray-tests.el: Update the corresponding tests.
6337 2015-11-11  Przemysław Wojnowski  <esperanto@cumego.com>
6339         New file with obarray functions
6341         * lisp/obarray.el: Basic obarray functions extracted from abbrev.el.
6342         * test/automated/obarray-tests.el: New file.
6344 2015-11-11  Eli Zaretskii  <eliz@gnu.org>
6346         Implement tray notifications for MS-Windows
6348         * src/w32fns.c (MY_NOTIFYICONDATAW): New typedef.
6349         (NOTIFYICONDATAW_V1_SIZE, NOTIFYICONDATAW_V2_SIZE)
6350         (NOTIFYICONDATAW_V3_SIZE, NIF_INFO, NIIF_NONE, NIIF_INFO)
6351         (NIIF_WARNING, NIIF_ERROR, EMACS_TRAY_NOTIFICATION_ID)
6352         (EMACS_NOTIFICATION_MSG): New macros.
6353         (NI_Severity): New enumeration.
6354         (get_dll_version, utf8_mbslen_lim, add_tray_notification)
6355         (delete_tray_notification, Fw32_notification_notify)
6356         (Fw32_notification_close): New functions.
6357         (syms_of_w32fns): Defsubr functions exposed to Lisp.  DEFSYM
6358         keywords used by w32-notification-notify.
6360         * doc/lispref/os.texi (Desktop Notifications): Describe the native
6361         w32 tray notifications.
6363 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
6365         Optimize `file-equal-p' and `file-in-directory-p' in Tramp
6367         * lisp/net/tramp.el (tramp-handle-file-equal-p)
6368         (tramp-handle-file-in-directory-p): New defuns.  Suggested by
6369         Harvey Chapman <hchapman@3gfp.com>.
6371         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
6372         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
6373         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
6374         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist): Use them.
6376 2015-11-10  Karl Fogel  <kfogel@red-bean.com>
6378         * CONTRIBUTE: Encourage adding tests.
6380         Based on this post from John Wiegley:
6382           From: "John Wiegley" <johnw@newartisans.com>
6383           Subject: Re: [Emacs-diffs] master 1f02cbe: Fix bug#21766 and add test
6384           To: Juanma Barranquero <lekktu@gmail.com>
6385           Cc: emacs-diffs@gnu.org, bruce.connor.am@gmail.com,
6386               emacs-devel <emacs-devel@gnu.org>
6387           Date: Wed, 28 Oct 2015 18:45:29 -0700
6388           Message-ID: <m2y4emqwg6.fsf@newartisans.com>
6390           https://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02372.html
6392 2015-11-10  David Reitter  <david.reitter@gmail.com>
6394         Avoid creating notification objects when possible
6396         * src/nsterm.m (windowWillEnterFullScreen, windowWillExitFullScreen:)
6397         (windowDidEnterFullScreen, windowDidExitFullScreen): Provide convenience
6398         functions that do not require a notification object.  When needed,
6399         define NSWindowDidEnterFullScreenNotification to allow for compilation
6400         on OS X 10.6.8.
6402 2015-11-10  Paul Eggert  <eggert@cs.ucla.edu>
6404         Move INTEGER_TO_CONS body out of .h file
6406         * src/data.c (INTBIG_TO_LISP): New macro, with most
6407         of the contents of the old INTEGER_TO_CONS.
6408         (intbig_to_lisp, uintbig_to_lisp): New functions.
6409         * src/lisp.h (INTEGER_TO_CONS):
6410         Simplify by using EXPR_SIGNED and the new functions.
6411         This shrinks code size a bit, and makes it easier to
6412         put a breakpoint on handling of large integers.
6414 2015-11-10  Paul Eggert  <eggert@cs.ucla.edu>
6416         Merge from gnulib
6418         This incorporates:
6419         2015-11-10 intprops: new public macro EXPR_SIGNED
6420         2015-11-10 intprops: fix typo in clang port
6421         * lib/intprops.h: Copy from gnulib.
6423 2015-11-10  Paul Eggert  <eggert@cs.ucla.edu>
6425         Spelling fixes
6427         * lisp/net/soap-inspect.el (soap-inspect-xs-simple-type):
6428         Fix misspelling in output.
6430 2015-11-10  Artur Malabarba  <bruce.connor.am@gmail.com>
6432         * doc/lispref/variables.texi (Directory Local Variables):
6433         Document dir-locals wildcards.
6435         * lisp/files.el (dir-locals-file): Point to Info node.
6437         * doc/emacs/custom.texi (Directory Variables):
6438         Document dir-locals wildcards.
6440         * etc/NEWS: Document new functionality.
6442 2015-11-10  Artur Malabarba  <bruce.connor.am@gmail.com>
6444         * lisp/files.el: Don't allow customization of dir-locals sorting.
6445         In retrospect, this is not a good idea for the same reason that
6446         `dir-locals-file' is a defconst, because it is important that this
6447         behaviour be "uniform across different environments and users".
6448         Sure, the user can still change the sorting with a hack, but we
6449         shouldn't encourage them to change it.
6450         (dir-locals--all-files): Return list in the order returned by
6451         `file-expand-wildcards'.
6452         (file-expand-wildcards): Document the sorting predicate used.
6453         (dir-locals-sort-predicate): Delete variable.
6455 2015-11-10  Artur Malabarba  <bruce.connor.am@gmail.com>
6457         * lisp/files.el (dir-locals-read-from-file): Better handle errors.
6459         * lisp/isearch.el (search-default-regexp-mode): Change default value.
6461 2015-11-10  Artur Malabarba  <bruce.connor.am@gmail.com>
6463         * lisp/files.el (dir-locals-find-file): Don't stop at unreadable files.
6464         `locate-dominating-file' will now keep looking if the files it finds in
6465         a given directory are unreadable (or not files).
6467 2015-11-10  Artur Malabarba  <bruce.connor.am@gmail.com>
6469         * lisp/files.el (dir-locals-file): Allow wildcards.
6470         (dir-locals-find-file, dir-locals-collect-variables)
6471         (dir-locals-read-from-file): Update accordingly.
6472         (hack-dir-local-variables): Rename a local variable.
6474         * lisp/files-x.el (modify-dir-local-variable): Update accordingly.
6476         * lisp/help-fns.el (describe-variable): Update accordingly.
6478         * .gitignore: Add .dir-locals?.el.
6480 2015-11-10  Artur Malabarba  <bruce.connor.am@gmail.com>
6482         * lisp/emacs-lisp/map.el (map-merge-with): New function.
6484         * test/automated/map-tests.el (test-map-merge-with): New test.
6486 2015-11-09  Karl Fogel  <kfogel@red-bean.com>
6488         Fix some recently-perturbed bookmark autoloads
6490         * lisp/bookmark.el (bookmark-set-internal): Remove unnecessary autoload.
6491         (bookmark-set): Restore autoload.
6492         (bookmark-set-no-overwrite): Add autoload.
6494         Thanks to Juanma Barranquero for noticing the autoload problems
6495         introduced by my recent commit adding/changing the above functions
6496         (Sun Nov 8 14:16:43 2015 -0500, git commit 3812e17978).
6498 2015-11-09  Noah Friedman  <friedman@splode.com>
6500         * etc/emacs-buffer.gdb (ydump-buffer): Handle case where gap is at
6501         the start of buffer.  I don't recall if older versions of gdb were
6502         less strict but you cannot dump a 0-length range in gdb 7.9.1.
6504 2015-11-09  Dmitry Gutov  <dgutov@yandex.ru>
6506         * lisp/progmodes/project.el: Update Commentary.
6508         Merge branch 'project-next'
6510 2015-11-09  Dmitry Gutov  <dgutov@yandex.ru>
6512         Fold `project-ask-user' into `project-current'
6514         * lisp/progmodes/project.el (project-find-functions):
6515         Remove `project-ask-user'.
6516         (project-ask-user): Remove function and the corresponding
6517         `project-roots' implementation.
6518         (project-current): Add a new argument, MAYBE-PROMPT.  Prompt the
6519         user in case there's no project in the current directory.  Update
6520         all callers.
6522 2015-11-09  Karl Fogel  <kfogel@red-bean.com>
6524         When VC detects a conflict, specify which file
6526         * lisp/vc/vc.el (vc-message-unresolved-conflicts): New function.
6527         * lisp/vc/vc-svn.el (vc-svn-find-file-hook):
6528         * lisp/vc/vc-hg.el (vc-hg-find-file-hook):
6529         * lisp/vc/vc-bzr.el (vc-bzr-find-file-hook):
6530         * lisp/vc/vc-git.el (vc-git-find-file-hook): Use above new function
6531           to display a standard message that specifies the conflicted file.
6533         Before this change, the message VC used for indicating a conflicted
6534         file was just "There are unresolved conflicts in this file" without
6535         naming the file (and this language was duplicated in several places).
6536         After this change, it's "There are unresolved conflicts in file FOO"
6537         (and this language is now centralized in one function in vc.el).
6539         Justification: It's important for the message to name the conflicted
6540         file because the moment when VC realizes a file is conflicted does not
6541         always come interactively.  For example, some people automatically
6542         find a set of Org Mode files on startup, and may keep those .org files
6543         under version control.  If any of the files are conflicted, the user
6544         just sees some messages fly by, and might later check the "*Messages*"
6545         buffer to find out what files were conflicted.  I'm not saying this
6546         happened to me or anything; it's a purely hypothetical example.
6548 2015-11-09  Eli Zaretskii  <eliz@gnu.org>
6550         Fix assertion violation in define-key
6552         * src/keymap.c (store_in_keymap): Don't use XFASTINT on non-character
6553         objects.  Reported by Drew Adams <drew.adams@oracle.com>
6554         and Juanma Barranquero <lekktu@gmail.com>.
6556 2015-11-09  Dima Kogan  <dima@secretsauce.net>
6558         Fix a memory leak in GC of font cache
6560         * src/alloc.c (compact_font_cache_entry): Don't GC unmarked font
6561         entities if some of the fonts it references are marked.  This
6562         plugs a memory leak.  (Bug#21556)
6564 2015-11-09  Paul Eggert  <eggert@cs.ucla.edu>
6566         Use INT_ADD_WRAPV etc. to check integer overflow
6568         * src/alloc.c (xnmalloc, xnrealloc, xpalloc, Fmake_string):
6569         * src/buffer.c (record_overlay_string, overlay_strings):
6570         * src/casefiddle.c (casify_object):
6571         * src/ccl.c (Fccl_execute_on_string):
6572         * src/character.c (char_width, c_string_width, lisp_string_width)
6573         (count_size_as_multibyte, string_escape_byte8):
6574         * src/coding.c (coding_alloc_by_realloc, produce_chars):
6575         * src/data.c (arith_driver):
6576         * src/dispnew.c (realloc_glyph_pool, init_display):
6577         * src/editfns.c (styled_format):
6578         * src/fns.c (Ffillarray):
6579         * src/ftfont.c (ftfont_shape_by_flt):
6580         * src/gnutls.c (gnutls_hex_string):
6581         * src/gtkutil.c (get_utf8_string):
6582         * src/image.c (x_to_xcolors, x_detect_edges, png_load_body):
6583         * src/keymap.c (Fkey_description):
6584         * src/lisp.h (SAFE_ALLOCA_LISP):
6585         * src/term.c (encode_terminal_code):
6586         * src/tparam.c (tparam1):
6587         * src/xselect.c (x_property_data_to_lisp):
6588         * src/xsmfns.c (smc_save_yourself_CB):
6589         * src/xterm.c (x_term_init):
6590         When checking for integer overflow, prefer INT_MULTIPLY_WRAPV to
6591         more-complicated code involving division and/or
6592         INT_MULTIPLY_OVERFLOW, and similarly for INT_ADD_WRAPV and
6593         subtraction and/or INT_ADD_OVERFLOW.
6594         * src/casefiddle.c (casify_object): Simplify multibyte size check.
6595         * src/character.c: Remove some obsolete ‘#ifdef emacs’s.
6596         * src/data.c (arith_driver): Also check for division overflow,
6597         as that’s now possible given that the accumulator can now contain
6598         any Emacs integer.
6599         * src/lisp.h (lisp_word_count): Remove; no longer used.
6601 2015-11-08  Dmitry Gutov  <dgutov@yandex.ru>
6603         Make sure that the ignore file exists
6605         * lisp/vc/vc.el (vc-default-ignore-completion-table):
6606         Make sure that the ignore file exists.
6608 2015-11-08  Michael Sperber  <mike@xemacs.org>
6610         * gnus-sum.el (gnus-summary-backend-map): Bind B-backspace to
6611         `gnus-summary-delete-article` in a way that also works on XEmacs.
6613 2015-11-08  Simen Heggestøyl  <simenheg@gmail.com>
6615         Add support for retrieving paths to JSON elements
6617         Add support for retrieving the path to a JSON element. This can for
6618         instance be useful to retrieve paths in deeply nested JSON
6619         structures.
6621         * lisp/json.el (json-pre-element-read-function)
6622         (json-post-element-read-function): New variables to hold pre- and post
6623         read callback functions for `json-read-array' and `json-read-object'.
6624         (json--path): New variable used internally by `json-path-to-position'.
6625         (json--record-path, json--check-position): New functions used
6626         internally by `json-path-to-position'.
6627         (json-path-to-position): New function for retrieving the path to a
6628         JSON element at a given position.
6629         (json-read-object, json-read-array): Call
6630         `json-pre-element-read-function' and `json-post-element-read-function'
6631         when set.
6633         * test/automated/json-tests.el (test-json-path-to-position-with-objects)
6634         (test-json-path-to-position-with-arrays)
6635         (test-json-path-to-position-no-match): New tests for
6636         `json-path-to-position'.
6638 2015-11-08  Karl Fogel  <kfogel@red-bean.com>
6640         * etc/NEWS: Mention new `bookmark-set-no-overwrite'.
6642         This really should been part of my previous commit
6643         (Sun Nov 8 14:16:43 2015 -0500, git commit 3812e17978).
6645 2015-11-08  Karl Fogel  <kfogel@red-bean.com>
6647         Offer non-overwrite bookmark setter (Bug#15746)
6649         * lisp/bookmark.el (bookmark-set-internal): New helper function to do
6650         what `bookmark-set' used to do, but with more choices for overwrite
6651         vs push, and with minor changes to the interactive prompt format.
6652         (bookmark-set): Rewrite as wrapper around above.
6653         If overwriting, inform the user of that in the prompt.
6654         (bookmark-set-no-overwrite): New function, also done as wrapper.
6655         Bind to "M" in `ctl-x-r-map' autoloads.
6656         (bookmark-map): Similarly bind "M" here.
6658 2015-11-08  Paul Eggert  <eggert@cs.ucla.edu>
6660         * src/unexelf.c (NEW_PROGRAM_H): Remove unused macro (Bug#20614).
6662 2015-11-08  Alan Modra  <amodra@gmail.com>
6664         ELF unexec: Don't insert a new section
6666         Reuse the .bss section instead, making it SHT_PROGBITS.  This way we
6667         don't need to mess with symbol st_shndx, or section sh_link and
6668         sh_info.
6670         This does lead to eu-elflint complaints about symbols defined in .bss
6671         with a needed version, because normally it is undefined symbols that
6672         have needed versions;  Defined symbols have version definitions.
6673         The exception is symbols defined by the linker in .dynbss for
6674         variables copied from a shared library in order to avoid text
6675         relocations, with copy relocs to copy their initial values from the
6676         shared library.  These symbols are both defined and have needed
6677         versions, and eu-elflink only expects to see them in SHT_NOBITS
6678         sections.  Of course there is no real problem with having such symbols
6679         in SHT_PROGBITS sections.  glibc ld.so handles them fine.
6681         * src/unexelf.c: Delete outdated comments.
6682         (PATCH_INDEX): Delete.
6683         (find_section): Delete.
6684         (unexec): Don't add a new section.  Instead reuse the last bss
6685         section, extending it to cover dumped data.  Make bss sections
6686         SHT_PROGBITS.  Remove all patching of sh_link, sh_info and
6687         st_shndx.  Rename bss sections.
6689 2015-11-08  Alan Modra  <amodra@gmail.com>
6691         ELF unexec: Drive from PT_LOAD header rather than sections
6693         This rewrites bss handling in the ELF unexec code.  Finding bss
6694         sections by name results in complicated code that
6695         - does not account for all names of possible bss sections,
6696         - assumes specific ordering of bss sections,
6697         - can wrongly choose a SHT_NOBITS section not in the bss segment,
6698         - incorrectly calculates bss size (no accounting for alignment gaps),
6699         - assumes .data and .bss are in the same segment.
6701         All of these problems and more are solved by finding the bss segment
6702         in PT_LOAD headers, ie. the address range included in p_memsz but not
6703         p_filesz of the last PT_LOAD header, then matching SHT_NOBITS sections
6704         in that address range.
6706         * src/unexelf.c: Delete old ppc comment.
6707         (OLD_PROGRAM_H): Define.
6708         (round_up): Delete.
6709         (unexec): Don't search for bss style sections by name.  Instead,
6710         use the last PT_LOAD header address range covered by p_memsz
6711         but not p_filesz and match any SHT_NOBITS section in that
6712         address range.  Simplify initialisation of section header vars.
6713         Don't assume that section headers are above bss segment.  Move
6714         copying of bss area out of section loop.  Align .data2 section
6715         to 1, since it now covers the entire bss area.  For SHT_NOBITS
6716         sections in the bss segment, leave sh_addr and sh_addralign
6717         unchanged, but correct sh_offset.  Clear memory corresponding
6718         to SHT_NOBITS .plt section.  Delete comment and hacks for
6719         sections partly overlapping bss range now that the full range
6720         is properly calculated.  Delete now dead .sbss code.
6721         (Bug#20614)
6723 2015-11-08  Alan Modra  <amodra@gmail.com>
6725         ELF unexec: R_*_NONE relocs
6727         These should be ignored on all targets.
6729         * src/unexelf.c (unexec): Ignore R_*_NONE relocs for any target,
6730         not just Alpha.  Comment on reloc size assumption.
6732 2015-11-08  Alan Modra  <amodra@gmail.com>
6734         ELF unexec: _OBJC_ symbols in bss sections
6736         This code assumed that there was only one bss section.  Rather than
6737         checking for a particular index, check the section type.  Also, handle
6738         the possibility that the section was SHT_NOBITS originally and is
6739         unchanged, in which case no clearing is needed (and sh_offset isn't
6740         necessarily valid, which can lead to a wild memset).
6742         * src/unexelf.c (unexec): Properly handle _OBJC_ symbols in
6743         bss sections.
6745 2015-11-08  Alan Modra  <amodra@gmail.com>
6747         ELF unexec: Symbol table patching
6749         No st_shndx value larger than SHN_LORESERVE should be changed.
6750         * src/unexelf.c (unexec): Don't adjust any st_shndx larger than
6751         SHN_LORESERVE.  Error on SHN_XINDEX.
6753 2015-11-08  Alan Modra  <amodra@gmail.com>
6755         ELF unexec: Merge Alpha and MIPS COFF debug handling
6757         * src/unexelf.c (unexec): Merge Alpha and MIPS COFF debug handling.
6758         Don't find .mdebug section index, find the section in the loop.
6759         Allow for unlikely possibility that .mdebug is located at sh_offset
6760         before bss segment, by calculating move from difference in
6761         sh_offset rather than just assuming new_data2_size.  Simplify
6762         cbLineOffset handling.
6764 2015-11-08  Alan Modra  <amodra@gmail.com>
6766         ELF unexec: Tidy code
6768         Separate out some of the more mechanical changes so following patches
6769         are smaller.
6771         * src/unexelf.c (unexec): Rearrange initialisation of program
6772         header vars.  Use pointer vars in loops rather than indexing
6773         section header array via macros.  Simplify _OBJC_ sym code
6774         and reloc handling code.
6776 2015-11-08  Alan Modra  <amodra@gmail.com>
6778         ELF unexec: Correct section header index
6780         First a small fix.  The code incorrectly uses "NEW_SECTION_H (n)" when
6781         it should have been using "NEW_SECTION_H (nn)" to find the name of the
6782         section currently being processed.  Of course, before the bss
6783         sections, n and nn have the same value, so this doesn't matter except
6784         in the case of .sbss.  For .sbss this probably meant .bss (most likely
6785         the next section) was copied from memory.  A later patch removes the
6786         bogus .sbss handling anyway.
6788         * src/unexelf.c (unexec): Use correct index to look up names.
6790 2015-11-08  Michael Albinus  <michael.albinus@gmx.de>
6792         Fix Bug#21841
6794         * lisp/filenotify.el (file-notify--rm-descriptor):
6795         Use `descriptor' instead of computing its value.
6796         (file-notify--descriptor): Additional argument FILE.  Adapt all callees.
6797         (file-notify-rm-watch): Use `descriptor' when calling file name handler.
6798         (Bug#21841)
6800 2015-11-08  Dmitry Gutov  <dgutov@yandex.ru>
6802         Remove dirs in vc project roots from the the vc project library roots
6804         * lisp/progmodes/project.el (project-library-roots):
6805         Remove directories inside the project roots from the result.
6806         (http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg00536.html)
6808 2015-11-07  Dmitry Gutov  <dgutov@yandex.ru>
6810         Move and rename xref-find-regexp to the project package
6812         * lisp/progmodes/project.el (project-find-regexp)
6813         (project--read-regexp)
6814         (project--find-regexp-in): New functions.
6816         * lisp/progmodes/xref.el (xref--find-xrefs): Extract from
6817         xref--show-xrefs.  Use in existing callers in place of that
6818         function.
6819         (xref--show-xrefs): Only do the "show" part.
6820         (xref-find-regexp): Rename, more or less, to
6821         project-or-libraries-find-regexp.
6823 2015-11-06  Dmitry Gutov  <dgutov@yandex.ru>
6825         Abolish temporary buffer management for xref
6827         * lisp/progmodes/xref.el (xref--temporary-buffers)
6828         (xref--current)
6829         (xref--inhibit-mark-current)
6830         (xref--mark-selected): Remove.  Remove all references.
6831         (xref--show-xrefs): Do not construct the
6832         list of the temporary buffers, nor pass it along.
6834 2015-11-06  Dmitry Gutov  <dgutov@yandex.ru>
6836         Rename "search path" to "library roots"
6838         * lisp/emacs-lisp/cl-seq.el (cl-set-difference): Retain the order
6839         of the elements from CL-LIST1.
6841         * test/automated/cl-lib-tests.el (cl-lib-test-set-functions):
6842         Update WRT to the above change.
6844         * lisp/progmodes/project.el (project-search-path-function): Rename
6845         to project-library-roots-function, update the documentation and
6846         references.
6847         (project-search-path): Likewise, to project-library-roots.
6848         (project-roots): Clarify documentation.
6849         (project-vc-search-path): Likewise, to project-vc-library-roots.
6850         (project-library-roots): In addition to the renames, thread the
6851         results through file-name-as-directory.
6852         (project-prune-directories): Accept a variable number of
6853         arguments.  Rename to project-combine-directories.
6854         (project-subtract-directories): New function.
6856         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references):
6857         Append project-roots and project-library-roots together.
6859         * lisp/progmodes/etags.el (etags--xref-find-references): Ditto.
6861 2015-11-08  Paul Eggert  <eggert@cs.ucla.edu>
6863         Prefer xpalloc to doubling buffers by hand
6865         * src/lread.c (grow_read_buffer): New function, which uses xpalloc.
6866         (read1): Use it for simplicity.
6867         * src/macros.c (store_kbd_macro_char):
6868         * src/minibuf.c (read_minibuf_noninteractive):
6869         * src/term.c (encode_terminal_code):
6870         * src/xrdb.c (magic_db):
6871         Prefer xpalloc to growing buffers by hand.
6872         This doesn’t fix any bugs, but simplifies the code a bit.
6874 2015-11-08  Paul Eggert  <eggert@cs.ucla.edu>
6876         Merge from gnulib
6878         This incorporates:
6879         2015-11-05 timespec-sub: fix overflow bug; add tests
6880         2015-11-04 intprops: revise _WRAPV macros, revert _OVERFLOW
6881         2015-11-03 intprops: add parentheses
6882         * lib/intprops.h, lib/timespec-add.c, lib/timespec-sub.c:
6883         Copy from gnulib.
6885 2015-11-07  David Reitter  <david.reitter@gmail.com>
6887         Provide NS notification objects where required to eliminate warnings
6889         * nsterm.m (windowDidResize:, toggleFullScreen:):
6890         Call notification functions with notification objects
6891         as per delegate APIs.
6893 2015-11-07  Noam Postavsky  <npostavs@users.sourceforge.net>
6895         Add test for bug #21824
6897         * test/automated/buffer-tests.el: New file.
6898         (overlay-modification-hooks-message-other-buf): New test.
6900 2015-11-07  Kelvin White  <kwhite@gnu.org>
6902         * lisp/erc/erc-pcomplete.el (pcomplete-erc-nicks): Fix bug#18771.
6904 2015-11-07  David Reitter  <david.reitter@gmail.com>
6906         Ignore fullscreen exit notifications on NS when frame is dead
6908         * nsterm.m (windowDidResize:, windowWillExitFullScreen:)
6909         (windowDidExitFullScreen:): Return if frame is dead.
6910         These functions may be called when a fullscreen frame
6911         is closed; they are called before, not after.
6913         May address Bug#21428.
6915 2015-11-07  Eli Zaretskii  <eliz@gnu.org>
6917         Speed up lookup in redisplay--variables
6919         * lisp/frame.el (redisplay--variables): Make it a hash-table.
6921         * src/xdisp.c (maybe_set_redisplay): Access redisplay--variables
6922         as a hash-table.  This speeds up this function by an order of
6923         magnitude: where previously a setq was slowed down by 100% by
6924         introducing the maybe_set_redisplay test, it is now only 5%
6925         slower.
6926         (syms_of_xdisp) <redisplay--variables>: Doc fix.
6928 2015-11-07  Artur Malabarba  <bruce.connor.am@gmail.com>
6930         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Fix a bug.
6932         The defsubst was being created as:
6933             (cl-defsubst name (args) ("DOC") ...)
6935         * test/automated/cl-lib-tests.el (cl-lib-struct-constructors):
6936         Add test.
6938 2015-11-07  Mihai Olteanu  <mihai_olteanu@fastmail.fm>  (tiny change)
6940         Update doc string of hexl-mode
6942         * lisp/hexl.el (hexl-mode): Doc fix.  (Bug#21800)
6944 2015-11-07  Eli Zaretskii  <eliz@gnu.org>
6946         Fix error in copy-abbrev-table
6948         * lisp/abbrev.el (define-abbrev): Don't erase the :abbrev-table-modiff
6949         property of the abbrev-table.  (Bug#21828)
6951         * test/automated/abbrev-tests.el: New file.
6953 2015-11-07  Michael Albinus  <michael.albinus@gmx.de>
6955         Add test to auto-revert-tests.el for Bug#21841
6957         * test/automated/auto-revert-tests.el
6958         (auto-revert-test01-auto-revert-several-files): New test.
6959         (auto-revert-test02-auto-revert-tail-mode)
6960         (auto-revert-test03-auto-revert-mode-dired): Rename them.
6962 2015-11-07  Martin Rudalics  <rudalics@gmx.at>
6964         * doc/lispref/windows.texi (Coordinates and Windows): Fix typo.
6966 2015-11-07  Martin Rudalics  <rudalics@gmx.at>
6968         In x_consider_frame_title don't set title of tooltip frames
6970         * src/xdisp.c (x_consider_frame_title): Return immediately for
6971         tooltip frames to avoid displaying empty tooltips.
6973 2015-11-06  Anders Lindgren  <andlind@gmail.com>
6975         Fixed NextStep fullscreen problem (bug#21770).
6977         * src/nsterm.m (ns_constrain_all_frames): Don't constrain
6978         fullscreen frames.
6980 2015-11-06  Eli Zaretskii  <eliz@gnu.org>
6982         Ensure redisplay after evaluation
6984         * lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp):
6985         Revert last change.
6986         * lisp/frame.el (redisplay--variables): Populate the
6987         redisplay--variables list.
6988         * src/xdisp.c (maybe_set_redisplay): New function.
6989         (syms_of_xdisp) <redisplay--variables>: New variable.
6990         * src/window.h (maybe_set_redisplay): Declare prototype.
6991         * src/data.c (set_internal): Call maybe_set_redisplay.  (Bug#21835)
6993 2015-11-06  Artur Malabarba  <bruce.connor.am@gmail.com>
6995         * test/automated/subr-tests.el (subr-test-when): Fix again.
6997 2015-11-06  Eli Zaretskii  <eliz@gnu.org>
6999         Don't invoke overlay modification hooks in wrong buffer
7001         * src/buffer.c (report_overlay_modification): When called with
7002         AFTER non-zero, don't invoke overlay modification hooks if the
7003         buffer recorded in last_overlay_modification_hooks is different
7004         from the current buffer.  (Bug#21824)
7006 2015-11-06  Juanma Barranquero  <lekktu@gmail.com>
7008         * admin/notes/repo: Fix a few obsolete references to Bazaar.
7010 2015-11-06  Artur Malabarba  <bruce.connor.am@gmail.com>
7012         * test/automated/subr-tests.el (subr-test-when): Fix test.
7014 2015-11-06  Martin Rudalics  <rudalics@gmx.at>
7016         Avoid division by zero crash observed by Yuan MEI
7018         See http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg00194.html.
7020         * src/dispnew.c (required_matrix_height, required_matrix_width):
7021         Avoid division by zero.
7022         * src/xterm.c (x_term_init): Init dpyinfo->smallest_font_height and
7023         dpyinfo->smallest_char_width to 1.
7025 2015-11-06  Eli Zaretskii  <eliz@gnu.org>
7027         Ensure redisplay after "C-x C-e"
7029         * lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp): Make sure
7030         redisplay happens to account for any side effects of the evaluated
7031         sexp.  (Bug#21835)
7033 2015-11-06  Michael Albinus  <michael.albinus@gmx.de>
7035         Skip some file notification tests for cygwin
7037         * test/automated/file-notify-tests.el (file-notify--test-with-events):
7038         Remove argument TIMEOUT.  Adapt all callees.
7039         (file-notify-test02-events, file-notify-test04-file-validity):
7040         Skip for cygwin.  (Bug#21804)
7042 2015-11-05  Stephen Leake  <stephen_leake@stephe-leake.org>
7044         * lisp/progmodes/xref.el: Require semantic/symref during compilation.
7046 2015-11-05  Daiki Ueno  <ueno@gnu.org>
7048         Suppress redundant Pinentry startup messages
7050         * lisp/net/pinentry.el (pinentry-start): Add optional QUIET argument.
7051         * lisp/epg.el: Declare `pinentry-start'.
7052         (epg--start): Call `pinentry-start' with QUIET argument set.
7054 2015-11-05  Xue Fuqiao  <xfq.free@gmail.com>
7056         * doc/emacs/ack.texi (Acknowledgments): Updates.
7058 2015-11-05  Juanma Barranquero  <lekktu@gmail.com>
7060         * test/automated/elisp-mode-test.el: Silence some run-time warnings.
7061         (xref-elisp-deftest): Bind `find-file-suppress-same-file-warnings' to t.
7063 2015-11-05  Tassilo Horn  <tsdh@gnu.org>
7065         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist):
7066         Add prettification support for \times.
7068 2015-11-05  Juanma Barranquero  <lekktu@gmail.com>
7070         * test/automated/process-tests.el: Skip tests when bash is unavailable.
7071         (process-test-sentinel-accept-process-output)
7072         (process-test-sentinel-sit-for): skip-unless bash executable found.
7074 2015-11-05  Eli Zaretskii  <eliz@gnu.org>
7076         Add test for bug #21831
7078         * test/automated/process-tests.el
7079         (start-process-should-not-modify-arguments): New test.  (Bug#21831)
7080         Suggested by Nicolas Richard <youngfrog@members.fsf.org>
7082 2015-11-04  Stefan Monnier  <monnier@iro.umontreal.ca>
7084         * lisp/emacs-lisp/eieio-compat.el: Typo caught by tests.
7086         (eieio--generic-static-object-generalizer): Fix typo.
7087         * test/automated/eieio-tests.el: Byte-compile it again.  It looks
7088         like the underlying cause of bug#17852 was fixed in the mean time.
7090 2015-11-04  Artur Malabarba  <bruce.connor.am@gmail.com>
7092         Revert "* lisp/subr.el (when): Use `macroexp-progn'"
7094         This reverts commit 8e843831eaf271801836b7a3e4dd3b4fb0bb72b8.
7095         It breaks bootstrapping (duh).
7097 2015-11-04  Artur Malabarba  <bruce.connor.am@gmail.com>
7099         * lisp/files.el (report-errors): Obsolete.
7101         (normal-mode, hack-local-variables, dir-locals-find-file):
7102         Use `with-demoted-errors' instead.
7104 2015-11-04  Artur Malabarba  <bruce.connor.am@gmail.com>
7106         * lisp/subr.el (when): Use `macroexp-progn'.
7108         * test/automated/subr-tests.el (subr-test-when): New test.
7110 2015-11-04  Juanma Barranquero  <lekktu@gmail.com>
7112         * lisp/progmodes/xref.el: Doc fixes.
7113         (xref-make-file-location, xref-make-buffer-location, xref-make)
7114         (xref-make-bogus-location, xref-make-match): Add cross-references.
7115         (xref--insert-xrefs): Fix typo in docstring.
7117 2015-11-04  Anders Lindgren  <andlind@gmail.com>
7119         Render fringe bitmaps correctly on NextStep (bug#21301)
7121         The fringe bitmaps were inverted, the background was not transparent,
7122         the image data was horizontally mirrored, and periodic fringe bitmaps
7123         were not supported.
7125         * src/nsimage.m ([EmacsImage initFromXBM:width:height:fg:bg:]):
7126         When both background and foreground colors are 0, set the background
7127         alpha channel to 0 (making the background transparent).  When
7128         copying the image data, do this from the most significant bit
7129         (leftmost) to the least (rightmost), to avoid mirroring.
7130         * src/nsterm.m (ns_draw_fringe_bitmap): Don't invert the image bits.
7131         Add support for periodic images (e.g. the empty line indicator).
7133 2015-11-03  Michael Heerdegen  <michael_heerdegen@web.de>
7135         * lisp/emacs-lisp/pcase.el (pcase): Tweak docstring.
7137 2015-11-03  Nicolas Petton  <nicolas@petton.fr>
7139         * admin/MAINTAINERS: Add seq-tests.el, map-tests.el, and thunk-tests.el.
7141         * admin/MAINTAINERS: Add thunk.el.
7143 2015-11-03  Jay Belanger  <jay.p.belanger@gmail.com>
7145         * lisp/calc/calc (calc-bug-address): Change maintainer address.
7147 2015-11-03  Michael Albinus  <michael.albinus@gmx.de>
7149         Fix a stupid error in gfilenotify.c
7151         * src/gfilenotify.c (dir_monitor_callback): Cancel monitor only,
7152         if we've got a `deleted' signal AND the file name is the watched one.
7154 2015-11-03  Stephen Leake  <stephen_leake@stephe-leake.org>
7156         Fix Bug#21816; case insensitive file system in elisp-mode-tests.el
7158         * test/automated/elisp-mode-tests.el (xref-elisp-test-run):
7159         Use case-insensitive string compare for file names.
7160         (emacs-test-dir): Add 'downcase' to cause case differences (at
7161         least on my system).
7163 2015-11-02  Juanma Barranquero  <lekktu@gmail.com>
7165         flymake-tests.el (warning-predicate-rx-gcc): Fix check
7167         * test/automated/flymake-tests.el (warning-predicate-rx-gcc):
7168         Also check that "make" is available, not just "gcc".
7170 2015-11-02  Ken Brown  <kbrown@cornell.edu>
7172         Document behavior of collation on Cygwin
7174         * test/automated/fns-tests.el (fns-tests-collate-sort): Mark as
7175         expected failure on Cygwin.
7176         * doc/lispref/strings.texi (Text Comparison): Document that
7177         punctuation and whitespace are not ignored for sorting on Cygwin.
7179 2015-11-02  Dani Moncayo  <dmoncayo@gmail.com>
7181         * build-aux/msys-to-w32: Prevent double slashes in w32 path list.
7183 2015-11-01  Glenn Morris  <rgm@gnu.org>
7185         * lisp/progmodes/f90.el (f90-no-block-limit): Add associate.
7186         (Bug#21794)
7187         * test/automated/f90.el (f90-test-bug21794): New test.
7189 2015-11-01  Juanma Barranquero  <lekktu@gmail.com>
7191         Fix incompatibility with TCC in test for bug#18745
7193         * test/automated/process-tests.el (process-test-quoted-batfile):
7194         Remove spaces unrelated to the bug being tested.
7196 2015-11-01  Michael Albinus  <michael.albinus@gmx.de>
7198         Improve completion in tramp-gvfs.el
7200         * lisp/net/tramp-gvfs.el (tramp-zeroconf-parse-device-names):
7201         Rename from `tramp-zeroconf-parse-service-device-names'.
7202         (tramp-zeroconf-parse-webdav-device-names): Remove.  Code merged
7203         with `tramp-zeroconf-parse-device-names'.
7204         (tramp-gvfs-parse-device-names): New defun.
7205         (top): Use it when `tramp-zeroconf-parse-device-names' is not
7206         applicable.
7208         * lisp/net/tramp.el (tramp-set-completion-function): The argument
7209         could also be a zeroconf service type.
7211 2015-10-31  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
7213         * lisp/net/ntlm.el: Change version to 2.0.0.
7215 2015-10-31  Juanma Barranquero  <lekktu@gmail.com>
7217         Fix bug#21762
7218         * lisp/progmodes/python.el (python-syntax-closing-paren-p): Check with
7219         `eql' instead of `=' to accommodate the case that (syntax-after (point))
7220         returns nil.
7221         * test/automated/python-tests.el (python-indent-inside-paren-7):
7222         New test.
7224 2015-10-31  Juanma Barranquero  <lekktu@gmail.com>
7226         * test/automated/python-tests.el: Avoid warnings.
7227         (python-tests-with-temp-buffer, python-tests-with-temp-file):
7228         Bind `python-indent-guess-indent-offset' to nil.
7230 2015-10-31  Juanma Barranquero  <lekktu@gmail.com>
7232         * src/alloc.c: Silence compiler warnings.
7233         (pointers_fit_in_lispobj_p, mmap_lisp_allowed_p): #ifdef DOUG_LEA_MALLOC.
7235 2015-10-31  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
7237         * etc/NEWS: Fix js-jsx-mode entry punctuation.
7239 2015-10-31  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
7241         Add JSX indentation via js-jsx-mode  (Bug#21799)
7243         * progmodes/js.el: Add JSX indentation support.
7244         (js--jsx-end-tag-re)
7245         (js--jsx-after-tag-re): New variables.
7246         (js--jsx-find-before-tag)
7247         (js--jsx-indented-element-p)
7248         (js--as-sgml)
7249         (js--expression-in-sgml-indent-line)
7250         (js-jsx-indent-line)
7251         (js-jsx-mode): New functions.
7252         * test/indent/js-jsx.el: New file.
7253         * etc/NEWS: Add information about js-jsx-mode.
7255 2015-10-31  Michael Albinus  <michael.albinus@gmx.de>
7257         Minor fix in filenotify.el
7259         * lisp/filenotify.el (file-notify--event-file-name)
7260         (file-notify--event-file1-name): Normalize result with
7261         `directory-file-name'.
7263 2015-10-31  Eli Zaretskii  <eliz@gnu.org>
7265         Avoid errors in redisplay--pre-redisplay-functions
7267         * lisp/emacs-lisp/cursor-sensor.el (cursor-sensor--detect): Don't
7268         use 'bobp', instead compare window-point with 1.  (Bug#21730)
7270 2015-10-30  Paul Eggert  <eggert@cs.ucla.edu>
7272         Merge from gnulib
7274         This incorporates:
7275         2015-10-30 intprops: add WRAPV and const flavors for GCC 5
7276         2015-10-25 stdalign: port to Sun C 5.9
7277         * doc/misc/texinfo.tex, lib/intprops.h, lib/stdalign.in.h:
7278         Copy from gnulib.
7280 2015-10-30  Eli Zaretskii  <eliz@gnu.org>
7282         * src/w32proc.c (_NLSCMPERROR): Fix a typo in the name of this macro.
7283         (w32_compare_strings): Adjust for the correction.
7285 2015-10-30  Michael Albinus  <michael.albinus@gmx.de>
7287         * test/automated/vc-tests.el (vc-test--state)
7288         (vc-test--working-revision, vc-test--checkout-model):
7289         Add result messages.
7291 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
7293         * test/automated/faces-tests.el: Add another test
7295 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
7297         * lisp/faces.el (faces--attribute-at-point): Fix bug
7298         introduced by previous commit.
7300 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
7302         * test/automated/faces-tests.el: New file.
7304 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
7306         * lisp/faces.el: Refactor common code and fix a bug.
7307         (faces--attribute-at-point): New function.  Fix a bug when the
7308         face at point is a list of faces and the desired attribute is not
7309         on the first one.
7310         (foreground-color-at-point, background-color-at-point): Use it.
7312 2015-10-30  Przemysław Wojnowski  <esperanto@cumego.com>
7314         * etc/tutorials/TUTORIAL.translators: Fix PL names.
7316 2015-10-30  Juanma Barranquero  <lekktu@gmail.com>
7318         * lisp/character-fold.el: Provide `character-fold'.
7320 2015-10-30  Tassilo Horn  <tsdh@gnu.org>
7322         * etc/themes/tsdh-dark-theme.el (tsdh-dark): Add more faces
7323         for Gnus and ivy.
7325 2015-10-30  Michael Albinus  <michael.albinus@gmx.de>
7327         Some minor fixes for tramp-gvfs.el
7329         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
7330         An attribute returned by gvfs-info might be empty.  In case of
7331         undetermined uid or gid, return "UNKNOWN" or -1, respectively.
7332         (tramp-zeroconf-parse-service-device-names): New defun.
7333         Derived from `tramp-zeroconf-parse-workstation-device-names'.
7334         (top): Add completion functions for "afp" and "smb" methods.
7336 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
7338         * test/automated/character-fold-tests.el: New file
7340 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
7342         * test/automated/sort-tests.el: New file.
7343         Tests in this file are randomly generated and then tested with
7344         regular, reverse, and case-fold sorting.
7346 2015-10-30  Eli Zaretskii  <eliz@gnu.org>
7348         Describe known problems with pinning Emacs to taskbar
7350         * etc/PROBLEMS: Describe the problem with pinning Emacs to taskbar
7351         on Windows 10.  For the details, see the discussion starting at
7352         http://lists.gnu.org/archive/html/help-emacs-windows/2015-09/msg00000.html.
7354 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
7356         * lisp/isearch.el: Avoid an error that blocks isearch.
7357         (isearch-update): Don't error if `isearch--current-buffer' has
7358         been killed.
7360         * test/automated/isearch-tests.el (isearch--test-update):
7361         New file.
7363 2015-10-30  Phil Sainty  <psainty@orcon.net.nz>
7365         Fix documentation of 'beginning/end-of-buffer'
7367         * lisp/simple.el (beginning-of-buffer, end-of-buffer): Clarify
7368         conditions under which the mark will be pushed at the previous
7369         position.  (Bug#21748)
7371 2015-10-30  Tassilo Horn  <tsdh@gnu.org>
7373         Add RefTeX feature idea: editing RefTeX TOC buffers
7375         More face defs for ivy, swiper, ace-window, eshell
7377 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
7379         * lisp/gnus/auth-source.el: Silence lexical-binding warnings.
7380         (auth-source-netrc-use-gpg-tokens): Simplify (symbol-value 'VAR) to
7381         just VAR.
7382         (auth-source-backend-parse): Use make-instance.
7383         (auth-source-search): Remove unused key args.
7384         Remove unused vars `accessor-key' and `backend'.  Avoid `eval'.
7385         (auth-source-search-backends): Use slot names rather than their initarg.
7386         (auth-source-netrc-create):
7387         (auth-source-delete):
7388         (auth-source-secrets-create, auth-source-plstore-search)
7389         (auth-source-macos-keychain-create, auth-source-macos-keychain-search)
7390         (auth-source-plstore-create, auth-source-netrc-search)
7391         (auth-source-netrc-parse): Remove unused key args.
7392         (auth-source-forget+): Simplify the arglist.
7393         (auth-source-macos-keychain-search-items)
7394         (auth-source-token-passphrase-callback-function): Mark unused args.
7395         (auth-source-epa-extract-gpg-token): Remove unused var `plain'.
7396         (pp-escape-newlines): Declare.
7397         (auto-source--symbol-keyword): New function.
7398         (auth-source-plstore-create, auth-source-netrc-create)
7399         (auth-source-netrc-normalize): Use it.
7400         (auth-source-netrc-search): Don't pass :delete to
7401         auth-source-netrc-parse since it doesn't use it.
7402         (auth-source-plstore-create, auth-source-netrc-create): Use plist-get
7403         symbol-value to index in keyword args.
7404         (auth-source-macos-keychain-result-append): Avoid setq.
7405         (auth-source-netrc-create): Remove unused vars `file' and `add'.
7406         (auth-source-user-or-password): Remove unused var `cname'.
7408 2015-10-29  Juri Linkov  <juri@linkov.net>
7410         * lisp/dired.el (dired-unmark-all-files-query): Declare.
7411         (dired-unmark-all-files): Let-bind it and use instead of ‘query’.
7412         (Bug#21746)
7414 2015-10-29  Juri Linkov  <juri@linkov.net>
7416         * lisp/ielm.el (ielm-indent-line): Use non-nil arg of comint-bol
7417         to go to the beginning of text line instead of command line.
7418         http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02360.html
7420 2015-10-29  Eli Zaretskii  <eliz@gnu.org>
7422         Fix encoding of saving *Help* buffers
7424         * lisp/help-fns.el (describe-function-1): If we use curved quotes,
7425         set help buffer's buffer-file-coding-system to UTF-8.  (Bug#21780)
7427 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
7429         * lisp/emacs-lisp/cl-generic.el: Add (major-mode MODE) context.
7430         (cl--generic-derived-specializers): New function.
7431         (cl--generic-derived-generalizer): New generalizer.
7432         (cl-generic-generalizers): New specializer (derived-mode MODE).
7433         (cl--generic-split-args): Apply the rewriter, if any.
7434         (cl-generic-define-context-rewriter): New macro.
7435         (major-mode): Use it to define a new context-rewriter, so we can write
7436         `(major-mode MODE)' instead of `(major-mode (derived-mode MODE))'.
7438         * lisp/frame.el (window-system): New context-rewriter so we can write
7439         `(window-system VAL)' instead of (window-system (eql VAL)).
7440         (cl--generic-split-args): Apply the rewriter, if any.
7441         (frame-creation-function): Use the new syntax.
7443         * lisp/term/x-win.el (window-system-initialization)
7444         (handle-args-function, frame-creation-function)
7445         (gui-backend-set-selection, gui-backend-selection-owner-p)
7446         (gui-backend-selection-exists-p, gui-backend-get-selection):
7447         * lisp/term/w32-win.el (window-system-initialization)
7448         (handle-args-function, frame-creation-function)
7449         (gui-backend-set-selection, gui-backend-get-selection)
7450         (gui-backend-selection-owner-p, gui-backend-selection-exists-p):
7451         * lisp/term/pc-win.el (gui-backend-get-selection)
7452         (gui-backend-selection-exists-p, gui-backend-selection-owner-p)
7453         (gui-backend-set-selection, window-system-initialization)
7454         (frame-creation-function, handle-args-function):
7455         * lisp/term/ns-win.el (window-system-initialization)
7456         (handle-args-function, frame-creation-function)
7457         (gui-backend-set-selection, gui-backend-selection-exists-p)
7458         (gui-backend-get-selection):
7459         * lisp/startup.el (handle-args-function):
7460         * lisp/term/xterm.el (gui-backend-get-selection)
7461         (gui-backend-set-selection): Use the new syntax.
7463 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
7465         * test/indent/css-mode.css: Add tests for url(...) syntax.
7467 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
7469         * lisp/emacs-lisp/smie.el: Use `declare' for `pure'.
7470         (smie-precs->prec2, smie-merge-prec2s, smie-bnf->prec2)
7471         (smie-prec2->grammar): Use `declare'.
7473 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
7475         * lisp/emacs-lisp/cl-generic.el: Accommodate future changes.
7476         (cl--generic-generalizer): Add `name' field.
7477         (cl-generic-make-generalizer): Add corresponding `name' argument.
7478         (cl-generic-define-generalizer): New macro.
7479         (cl--generic-head-generalizer, cl--generic-eql-generalizer)
7480         (cl--generic-struct-generalizer, cl--generic-typeof-generalizer)
7481         (cl--generic-t-generalizer): Use it.
7482         (cl-generic-ensure-function): Add `noerror' argument.
7483         (cl-generic-define): Use it so we don't follow aliases.
7484         (cl-generic-define-method): Preserve pre-existing ordering of methods.
7485         (cl--generic-arg-specializer): New function.
7486         (cl--generic-cache-miss): Use it.
7487         (cl-generic-generalizers): Only fset a temporary definition
7488         during bootstrap.
7489         (cl--generic-struct-tag, cl--generic-struct-specializers):
7490         Allow extra arguments.
7492         * lisp/emacs-lisp/eieio-compat.el
7493         (eieio--generic-static-symbol-generalizer)
7494         (eieio--generic-static-object-generalizer):
7495         Use cl-generic-define-generalizer.
7496         (eieio--generic-static-symbol-specializers): Allow extra arguments.
7498         * lisp/emacs-lisp/eieio-core.el (eieio--generic-generalizer)
7499         (eieio--generic-subclass-generalizer):
7500         Use cl-generic-define-generalizer.
7501         (eieio--generic-subclass-specializers): Allow extra arguments.
7503 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
7505         * lisp/emacs-lisp/bytecomp.el (compile-defun): Add defvars in scope.
7507 2015-10-29  Michael Albinus  <michael.albinus@gmx.de>
7509         Add "afp" method to Tramp
7511         * doc/misc/tramp.texi (GVFS based methods): Describe `afp' method.
7513         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods): Add "afp" method.
7514         (tramp-gvfs-handle-expand-file-name)
7515         (tramp-gvfs-handler-mounted-unmounted)
7516         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec)
7517         (tramp-gvfs-maybe-open-connection): Support also "afp".
7518         (tramp-gvfs-handle-file-attributes): Handle the case of empty
7519         "owner::user" and "owner::group" entries.
7521 2015-10-29  Andy Moreton  <andrewjmoreton@gmail.com>
7523         Handle negative coordinates in ‘x_calc_absolute_position’
7525         * src/w32term.c (x_calc_absolute_position): Find display origin to
7526         allow for negative coordinates.
7528 2015-10-28  Stefan Monnier  <monnier@iro.umontreal.ca>
7530         (internal--syntax-propertize): Save match-data here (bug#21766)
7532         * lisp/emacs-lisp/syntax.el (internal--syntax-propertize): Save match-data.
7533         * lisp/simple.el (delete-trailing-whitespace): Undo last change.
7535 2015-10-28  Dmitry Gutov  <dgutov@yandex.ru>
7537         Don't require default-directory to end with a slash
7539         * doc/lispref/files.texi (Magic File Names): Document the change
7540         in unhandled-file-name-directory.
7542         * lisp/url/url-handlers.el
7543         (url-handler-unhandled-file-name-directory): Update accordingly.
7545         * src/buffer.c (default-directory): Update the docsting.
7547         * src/fileio.c (unhandled-file-name-directory): Default to calling
7548         `file-name-as-directory'
7549         (http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02294.html).
7551 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
7553         * lisp/isearch.el: Delete some outdated comments.
7555 2015-10-28  Vibhav Pant  <vibhavp@gmail.com>
7557         Fix eshell/clear not working if the output has a small line count
7559         * lisp/eshell/esh-mode.el (eshell/clear): Use (window-size) as the
7560         number of newlines to be inserted. This fixes the issue where
7561         eshell/clear wouldn't work if the prompt was not at the bottom of the
7562         window, and the output wasn't too long.
7564 2015-10-28  Stefan Monnier  <monnier@iro.umontreal.ca>
7566         * lisp/files.el (write-file): Use vc-refresh-state.
7568         * lisp/autorevert.el (auto-revert-handler): Use vc-refresh-state.
7570         * lisp/vc/pcvs.el (cvs-revert-if-needed): Use vc-refresh-state.
7572 2015-10-28  Stefan Monnier  <monnier@iro.umontreal.ca>
7574         * lisp/emacs-lisp/macroexp.el: Tweak macroexp-if optimizations.
7575         (macroexp-unprogn): Make sure we never return an empty list.
7576         (macroexp-if): Remove unused (and unsafe) optimization.
7577         Optimize (if A T (if B T E)) into (if (or A B) T E) instead, which does
7578         occur occasionally.
7580 2015-10-28  Juanma Barranquero  <lekktu@gmail.com>
7582         Fix bug#21766 and add test
7583         * lisp/simple.el (delete-trailing-whitespace): Save match data when
7584         calling `skip-syntax-backward'.
7585         * test/automated/simple-test.el (simple-delete-trailing-whitespace):
7586         New test.
7588 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
7590         * doc/lispref/sequences.texi (Sequence Functions): Fix typo.
7592 2015-10-28  Paul Eggert  <eggert@cs.ucla.edu>
7594         * src/dispnew.c (init_display): Simplify overflow checking.
7596 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
7598         * lisp/character-fold.el (character-fold-to-regexp): Fix case
7599         where string ends in space
7601 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
7603         * lisp/emacs-lisp/seq.el (seq-mapn): New function.
7605         * doc/lispref/sequences.texi (Sequence Functions): Document seq-mapn.
7607 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
7609         * lisp/character-fold.el: Make compatible with lax-whitespace.
7610         (character-fold-to-regexp): Rework internals to play nice with
7611         lax-whitespacing.
7613         When the user types a space, we want to match the table entry for
7614         ?\s, which is generally a regexp like "[ ...]".  However, the
7615         `search-spaces-regexp' variable doesn't "see" spaces inside these
7616         regexp constructs, so we need to use "\\( \\|[ ...]\\)" instead (to
7617         manually expose a space).
7619         Furthermore, the lax search engine acts on a bunch of spaces, not
7620         on individual spaces, so if the string contains sequential spaces
7621         like "  ", we need to keep them grouped together like this:
7622         "\\(  \\|[ ...][ ...]\\)".
7624 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
7626         * lisp/isearch.el: Refactor momentary messages.
7627         (isearch--momentary-message): New function.
7628         (isearch-toggle-lax-whitespace, isearch-toggle-case-fold)
7629         (isearch-toggle-invisible): Use it.
7631 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
7633         * lisp/isearch.el: Define all toggles with `isearch-define-mode-toggle'.
7634         (isearch-define-mode-toggle): New macro.
7635         (isearch-toggle-invisible): Rename to
7636         `isearch-define-mode-toggle'.
7637         (isearch-toggle-case-fold, isearch-toggle-invisible)
7638         (isearch-toggle-regexp, isearch-toggle-lax-whitespace): Define
7639         with `isearch-define-mode-toggle'.
7641 2015-10-28  Michael Albinus  <michael.albinus@gmx.de>
7643         Avoid using `add-to-list' on a let-local var in tramp-smb.el
7645         * lisp/net/tramp-compat.el (tramp-compat-delete-dups): New defun.
7646         * lisp/net/tramp-smb.el (tramp-smb-handle-directory-files): Use it.
7648 2015-10-28  Michael Albinus  <michael.albinus@gmx.de>
7650         * lisp/net/tramp-smb.el (tramp-smb-handle-directory-files):
7651         Revert 692bce5b9eccfae19ae2a5a23a9ccd8d6bf86076, `delete-dups'
7652         does not exist in XEmacs 21.4.
7654 2015-10-28  Anders Lindgren  <andlind@gmail.com>
7656         Fixed OS X startup crash
7658         Input events started to arrive before ns_term_init() was finished.
7659         Solved by blocking input.  This also seems to correct the "You
7660         can't open the application "Emacs" because it may be damaged or
7661         incomplete" error issued when double-clicking on the Emacs
7662         application.
7664         * nsterm.m (ns_constrain_all_frames, ns_init_term): Block input.
7665         * nsterm.m (ns_send_appdefined, EmacsApp): Trace output.
7667 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
7669         * src/process.c (Fget_buffer_process): Improve docstring.
7670         Document the fact that it doesn't return dead processes.
7672 2015-10-28  Anders Lindgren  <andlind@gmail.com>
7674         Fix incorrect NextStep tool-bar-mode -- wrong number of rows in frame.
7676         * nsterm.h (struct ns_output): New flag, in_animation.
7677         * nsfns.m (Fx_create_frame): Initialize in_animation flag.
7678         * nsmenu.m (free_frame_tool_bar, update_frame_tool_bar): Set
7679         in_animation flag around call to "setVisible". Set new tool bar
7680         height before call to setVisible.
7681         * nsterm.m (x_set_window_size): Don't call [view setRow:
7682         andColumns:] as this fools the subsequent call to updateFrameSize
7683         from performing the real resize.
7684         (windowDidResize): Don't update anything when in_animation is
7685         non-zero.
7687         Trace output.
7689         * nsmenu.m (free_frame_tool_bar, update_frame_tool_bar)
7690         (EmacsToolbar):
7691         * nsterm.m (x_set_window_size, updateFrameSize)
7692         ([EmacsView setRows: andColumns:])
7694 2015-10-28  Nicolas Petton  <nicolas@petton.fr>
7696         * lisp/emacs-lisp/thunk.el (thunk-delay): Fix the macro.
7698 2015-10-28  Tassilo Horn  <tsdh@gnu.org>
7700         Prettify TeX macros not ending in a word char
7702         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p):
7703         Prettify macros which don't end in a word character.
7705 2015-10-27  Dmitry Gutov  <dgutov@yandex.ru>
7707         Pipe Hg commit descriptions through 'tabindent'
7709         * lisp/vc/vc-hg.el (vc-hg-log-format): Pipe commit description
7710         through 'tabindent'.
7711         (vc-hg-log-view-mode): Set tab-width to 2 locally.
7712         (http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02259.html)
7714 2015-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>
7716         * lisp/net/tramp-smb.el: Avoid using `add-to-list' on a let-local var.
7717         (tramp-smb-handle-directory-files): Use `delete-dups'.
7719         * lisp/net/tramp.el (auto-save-file-name-transforms): Declare.
7721 2015-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>
7723         * lisp/international/ccl.el: Use lexical-binding.
7724         (ccl-compile-if): Remove unused var `false-ic'.
7725         (ccl-compile-write-repeat): Remove unused var `i'.
7726         (ccl-compile-map-single): Remove unused var `id'.
7727         (ccl-dump, ccl-dump-binary): Use explicit let-binding to bind the
7728         dynamic var `ccl-code'.
7730 2015-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>
7732         * lisp/json.el (json-new-object): Optimize trivial `list' call.
7734 2015-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>
7736         * lisp/help.el: Fix bug with incorrect arglist string.
7737         (help-add-fundoc-usage): Don't mistake a mis-formatted string
7738         for a list.
7740 2015-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>
7742         * lisp/gnus/gnus-topic.el: Silence some warnings.
7743         (gnus-topic-prepare-topic): Remove unused var `topic'.
7744         (gnus-topic-remove-topic): Mark unused arg `hide'.
7745         (gnus-tmp-header): Declare.
7746         (gnus-topic-goto-missing-group): Remove unused var `entry'.
7747         (gnus-topic-unmark-topic): Mark unused arg `dummy'.
7748         (gnus-topic-copy-matching): Mark unused arg `copyp'.
7749         Move initialization of `topic' into its declaration.
7751 2015-10-27  Stephen Leake  <stephen_leake@stephe-leake.org>
7753         Minor CEDET fixes
7755         * lisp/cedet/cedet-global.el (cedet-gnu-global-gtags-call):
7756         Handle warnings from gtags about invalid options.
7757         (cedet-gnu-global-create/update-database): Do incremental update
7758         properly.
7760         * lisp/cedet/ede/generic.el (ede-enable-generic-projects):
7761         Get monotone root right.
7763 2015-10-27  Michael Albinus  <michael.albinus@gmx.de>
7765         Fall back to polling in autorevert when needed
7767         * lisp/autorevert.el (auto-revert-notify-handler): When a
7768         `stopped' event arrives from file notification, fall back to polling.
7770         * test/automated/file-notify-tests.el
7771         (file-notify-test03-autorevert): Extend test for polling when file
7772         notification ceases to work.
7774 2015-10-27  Dmitry Gutov  <dgutov@yandex.ru>
7776         Show full commit messages in 'hg log' when appropriate
7778         * lisp/vc/vc-hg.el (vc-hg-log-format): New variable.
7779         (vc-hg-print-log, vc-hg-expanded-log-entry): Use it.
7780         (http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02191.html)
7782 2015-10-27  Nicolas Petton  <nicolas@petton.fr>
7784         Use a plain SVG file for the icon
7786         * etc/images/icons/hicolor/scalable/apps/emacs.svg: Use a plain SVG
7787           format instead of the Inkscape SVG format.
7789 2015-10-27  Michael Albinus  <michael.albinus@gmx.de>
7791         Fix subtle bug in auto-revert-tests.el
7793         * test/automated/auto-revert-tests.el
7794         (auto-revert-test02-auto-revert-mode-dired): Narrow *Messages*
7795         buffer where it belongs to.  (Bug#21668)
7797 2015-10-26  Nicolas Petton  <nicolas@petton.fr>
7799         * lisp/emacs-lisp/map.el: Better docstrings.
7801         * lisp/emacs-lisp/seq.el: Better docstrings.
7803         * lisp/emacs-lisp/seq.el: Rename all seq arguments to sequence.
7805 2015-10-26  Phillip Lord  <phillip.lord@russet.org.uk>
7807         * lisp/emacs-lisp/ert.el: Print results without newline escaping.
7809 2015-10-26  Stephen Leake  <stephen_leake@stephe-leake.org>
7811         Clarify that load-path contents should be directory file names
7813         * doc/lispref/files.texi (Directory Names): Define and use "directory
7814         file name".  Recommend `expand-file-name'.
7816         * src/lread.c (load-path): Fix doc string; elements are directory file
7817         names.
7819 2015-10-26  Eli Zaretskii  <eliz@gnu.org>
7821         Fix simple-test.el test
7823         * test/automated/simple-test.el (simple-test--dummy-buffer):
7824         Make sure indentation doesn't use TABs, otherwise the 6th test
7825         might fail.
7827 2015-10-26  Mark Oteiza  <mvoteiza@udel.edu>
7829         * lisp/net/eww.el (eww-bookmark-prepare): Use truncate-string-to-width.
7830         `substring' does not account for full width characters.
7832 2015-10-26  Michael Albinus  <michael.albinus@gmx.de>
7834         Further work on `stopped' events in filenotify.el
7836         * doc/lispref/os.texi (File Notifications): Rework examples.
7838         * lisp/filenotify.el (file-notify--rm-descriptor): Optional parameter.
7839         (file-notify--rm-descriptor, file-notify-callback): Improve check
7840         for sending `stopped' event.
7841         (file-notify-add-watch): Check for more events for `inotify'.
7843         * test/automated/file-notify-tests.el
7844         (file-notify--test-expected-events): New defvar.
7845         (file-notify--test-with-events): Use it.
7846         (file-notify--test-cleanup): Make it more robust when deleting
7847         directories.
7848         (file-notify--test-event-test): Check also for watched directories.
7849         (file-notify--test-event-handler): Suppress temporary .#files.
7850         (file-notify-test02-events, file-notify-test04-file-validity):
7851         Rework `stopped' events.
7852         (file-notify-test05-dir-validity): Wait for events when appropriate.
7854 2015-10-26  Artur Malabarba  <bruce.connor.am@gmail.com>
7856         * src/keyboard.c (post-command-hook): Shorten docstring.
7858 2015-10-26  Tassilo Horn  <tsdh@gnu.org>
7860         Fix infinite loop in sh-script's SMIE code
7862         * lisp/progmodes/sh-script.el (sh-smie-sh-forward-token): Fix infinite
7863         loop (bug#21747).
7865 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
7867         * lisp/isearch.el (search-default-regexp-mode): Revert to nil.
7868         Character-fold search _still_ doesn't play well with
7869         lax-whitespace.  So disable it by default (again) for now.
7871 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
7873         * lisp/isearch.el: No visual feedback for default search mode.
7874         During an isearch where character-folding is the default, we don't
7875         want to take up minibuffer space just to tell the user that
7876         "Char-fold " is on.  The same goes for other modes, if the user
7877         changes the default.  In contrast, if the user toggles OFF the
7878         default mode, they should see "Literal", to distinguish it from
7879         the default mode.
7880         (isearch--describe-regexp-mode): Return "" if describing the
7881         default mode, and return "literal " if describing a plain search
7882         and it is not default.
7884 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
7886         * test/automated/simple-test.el: New file.
7887         Define tests for `newline' and `open-line'.
7889 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
7891         * lisp/simple.el (open-line): Integrate with electric-indent-mode.
7892         Also run `post-self-insert-hook' when called interactively.
7894 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
7896         * lisp/simple.el (open-line): Fix docstring.
7897         Also explain apparently redundant line.
7899 2015-10-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
7900             Alexandru Harsanyi  <AlexHarsanyi@gmail.com>
7902         Sync with soap-client repository, version 3.0.1
7904         * lisp/net/soap-client.el, lisp/net/soap-inspect.el:
7905         Bump version to 3.0.1.
7907         * lisp/net/soap-client.el, lisp/net/soap-inspect.el: Update home page.
7909 2015-10-25  Eli Zaretskii  <eliz@gnu.org>
7911         * lisp/progmodes/grep.el (grep): Doc fix.  (Bug#21754)
7913 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
7915         * src/keyboard.c (post-command-hook): Extend the docstring.
7916         Mainly, explain how to use it without hanging Emacs, or giving the
7917         impression that it is hanging.  Also mention `pre-command-hook'.
7918         (pre-command-hook): Mention `post-command-hook'.
7920 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
7922         * lisp/custom.el (custom-declare-variable): Shorten code again.
7923         Without using pcase this time.  We can't use pcase because it is
7924         loaded after custom in loadup.el.  Also add a comment explaining
7925         this to future dummies like me.
7927 2015-10-25  Michael Albinus  <michael.albinus@gmx.de>
7929         * doc/lispref/os.texi (File Notifications): Document `stopped event'.
7931 2015-10-25  Michael Albinus  <michael.albinus@gmx.de>
7933         Introduce `stopped' event in file notification
7935         * lisp/filenotify.el (file-notify--rm-descriptor): New defun.
7936         (file-notify-rm-watch): Use it.
7937         (file-notify-callback): Implement `stopped' event.
7938         (file-notify-add-watch): Mention `stopped' in the docstring.
7939         Check, that upper directory exists.
7941         * test/automated/file-notify-tests.el (file-notify-test01-add-watch):
7942         Add two test cases.
7943         (file-notify-test02-events): Handle also `stopped' event.
7944         (file-notify-test04-file-validity): Add another test case.
7946 2015-10-25  Paul Eggert  <eggert@cs.ucla.edu>
7948         Revert commit that broke 'make bootstrap'
7950         * lisp/custom.el (custom-declare-variable): Revert commit
7951         79fac080d277fed07b3c192890ad59d36d9f83b6.  custom.el needs to work
7952         even when pcase has not been defined yet, when doing bootstrapping.
7954 2015-10-25  Paul Eggert  <eggert@cs.ucla.edu>
7956         Port recent inline functions fix to Standard C
7958         * src/lisp.h (LISP_MACRO_DEFUN, LISP_MACRO_DEFUN_VOID): Remove.
7959         All uses rewritten to define the function directly rather than to
7960         use a macro to define the function.  This conforms to Standard C,
7961         which does not allow stray semicolons at the top level.  I hope it
7962         also avoids the problems with TAGS.  Those macros, though clever,
7963         were pretty confusing anyway, and it wasn’t clear they were worth
7964         the aggravation even without the TAGS problem.
7966 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
7968         * lisp/isearch.el: Make character-fold search the default again.
7970 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
7972         * lisp/character-fold.el: Many improvements.
7973         (character-fold-search-forward, character-fold-search-backward):
7974         New command.
7975         (character-fold-to-regexp): Remove lax-whitespace hack.
7976         (character-fold-search): Remove variable.  Only isearch and
7977         query-replace use char-folding, and they both have their own
7978         variables to configure that.
7980 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
7982         * lisp/isearch.el: Generalize definition of regexp-function toggles.
7983         (isearch-specify-regexp-function): New macro for specifying
7984         possible values of `isearch-regexp-function'.
7985         (isearch-toggle-character-fold, isearch-toggle-symbol)
7986         (isearch-toggle-word): Define with `isearch-specify-regexp-function'.
7988 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
7990         * lisp/isearch.el (search-default-regexp-mode): New variable.
7991         (isearch-mode): Use it.
7993 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
7995         * lisp/isearch.el (search-exit-option, search-slow-window-lines)
7996         (search-slow-speed, search-upper-case)
7997         (search-nonincremental-instead, search-whitespace-regexp)
7998         (search-invisible, isearch-hide-immediately)
7999         (isearch-resume-in-command-history, search-ring-max)
8000         (regexp-search-ring-max, search-ring-update, search-highlight)
8001         (isearch-fail): Delete :group entries.
8003 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
8005         * lisp/custom.el (custom-declare-variable): Shorten code a bit.
8007 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
8009         addpm.c: Silence some warnings.
8011         * nt/addpm.c (DdeCommand): Cast pData argument of DdeClientTransaction
8012         to LPBYTE.
8013         (add_registry): Pass NULL to optional lpClass argument of
8014         RegCreateKeyEx, not an empty string.
8016 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
8018         addpm.c: Do not add obsolete GTK libraries to the path.
8020         * nt/addpm.c (REG_GTK, REG_RUNEMACS_PATH): Delete.
8021         (add_registry): Remove variables `size' and `gtk_key'.
8022         Do not add the GTK DLL directory to the library search path; it is
8023         confusing behavior (in particular, the same Emacs version with and
8024         without invoking addpm will use a different path), and the GTK image
8025         libraries are obsolete anyway.
8027 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
8029         addpm.c: Replace existing registry entries, but do not create new ones
8031         * nt/addpm.c (add_registry): If the Emacs registry key exists, replace
8032         existing values from previous versions, but do not add new ones; the
8033         key could exist for other reasons unrelated to old Emacsen, like X-style
8034         resources, or to set some environment variables like HOME or LANG, and
8035         in that case we don't want to populate it with obsolete values.
8037 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
8039         * nt/addpm.c (add_registry): Do not compute unused return value.
8041 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
8043         addpm.c: Don't pass REG_OPTION_NON_VOLATILE to RegOpenKeyEx
8045         * nt/addpm.c (add_registry): Pass 0 to ulOptions argument of
8046         RegOpenKeyEx, not REG_OPTION_NON_VOLATILE.  This doesn't change
8047         current behavior because REG_OPTION_NON_VOLATILE is defined to
8048         be 0L anyway, but that option is actually documented only for
8049         RegCreateKeyEx.
8051 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
8053         * src/w32notify.c (Fw32notify_add_watch): Fix version check.
8055 2015-10-24  Eli Zaretskii  <eliz@gnu.org>
8057         Update frame title when redisplay scrolls selected window
8059         * src/xdisp.c (redisplay_window): Reconsider the frame's title
8060         when the mode-line of the frame's selected window needs to be
8061         updated.
8063 2015-10-24  Eli Zaretskii  <eliz@gnu.org>
8065         Update frame title when scrolling the selected window
8067         * src/window.c (wset_update_mode_line): New function, sets either
8068         the window's update_mode_line flag or the global update_mode_lines
8069         variable.
8070         (Fset_window_start, set_window_buffer, window_scroll_pixel_based)
8071         (window_scroll_line_based): Call it instead of only setting the
8072         window's update_mode_line flag.
8074 2015-10-24  Eli Zaretskii  <eliz@gnu.org>
8076         An even better fix for bug#21739
8078         * src/window.c (set_window_buffer): If the window is the frame's
8079         selected window, set update_mode_lines, not the window's
8080         update_mode_line flag.
8081         * src/buffer.c (Fkill_buffer): Undo last change.
8082         (set_update_modelines_for_buf): Function deleted.
8084 2015-10-24  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
8085             Alexandru Harsanyi  <AlexHarsanyi@gmail.com>
8087         Sync with soap-client repository, version 3.0.0
8089         * lisp/net/soap-client.el, lisp/net/soap-inspect.el:
8090         Bump version to 3.0.0.
8092         * lisp/net/soap-inspect.el: Merge in changes from Emacs master branch.
8094         * lisp/net/soap-client.el: Merge in changes from Emacs master branch.
8096         * lisp/net/soap-inspect.el: Shorten first line description.
8098         * lisp/net/soap-client.el: Make a small whitespace fix.
8100         * lisp/net/soap-inspect.el: Update copyright years.
8102         * lisp/net/soap-client.el (soap-encoded-namespaces): Move above
8103         first use in soap-encode-xs-element.
8105         * lisp/net/soap-client.el (soap-type-is-array?): new defun
8106         (soap-encode-xs-element): handle array elements in this function
8107         (soap-encode-xs-complex-type): flag error if asked to encode an
8108         array type, this is handled in `soap-encode-xs-element'
8110         * lisp/net/soap-inspect.el (soap-inspect-xs-attribute-group):
8111         Do not print type for attribute group.
8113         * lisp/net/soap-inspect.el (soap-sample-value-for-xs-attribute-group)
8114         New function.
8115         (soap-inspect-xs-attribute-group): Likewise.
8117         * lisp/net/soap-inspect.el
8118         (soap-resolve-references-for-xs-attribute-group): Resolve
8119         references of attributes in an attribute group.
8121         * lisp/net/soap-client.el (soap-decode-xs-attributes): Process attribute
8122         type directly, not through soap-wsdl-get.
8124         * lisp/net/soap-client.el (soap-xs-parse-attribute): Leave reference
8125         nil if reference attribute is nil.
8127         * lisp/net/soap-client.el (soap-resolve-references-for-xs-attribute):
8128         Convert XML schema attributes to xsd:string.
8130         * lisp/net/soap-inspect.el (soap-sample-value-for-xs-attribute):
8131         New function.
8132         (soap-sample-value-for-xs-simple-type): Prepend attributes to result.
8133         (soap-sample-value-for-xs-complex-type): Likewise.
8134         (soap-inspect-xs-attribute): New function.
8135         (soap-inspect-xs-simple-type): Print attributes.
8136         (soap-inspect-xs-complex-type): Likewise.
8138         * lisp/net/soap-inspect.el (soap-resolve-references-for-xs-simple-type):
8139         Resolve references for attributes.
8140         (soap-resolve-references-for-xs-complex-type): Likewise.
8142         * lisp/net/soap-client.el (soap-xml-node-find-matching-child):
8143         Rename from soap-xml-node-first-child.
8144         (soap-xs-parse-attribute): Call soap-xml-node-find-matching-child.
8145         (soap-xs-parse-simple-type): Likewise.
8147         * lisp/net/soap-client.el (soap-invoke-async): Add error checking.
8149         * lisp/net/soap-client.el (soap-invoke-internal): New function.
8150         (soap-invoke-async): Call soap-invoke-internal.
8151         (soap-invoke): Likewise.
8153         * lisp/net/soap-client.el (soap-invoke-async): Ensure buffer passed to
8154         url-retrieve callback is killed.
8156         * lisp/net/soap-client.el (soap-parse-wsdl-phase-validate-node):
8157         Rename function.
8158         (soap-parse-wsdl-phase-fetch-imports): Likewise.
8159         (soap-parse-wsdl-phase-parse-schema): Likewise.
8160         (soap-parse-wsdl-phase-fetch-schema): Likewise.
8161         (soap-parse-wsdl-phase-finish-parsing): Likewise.
8162         (soap-parse-wsdl): Update calls.
8164         * lisp/net/soap-client.el (soap-invoke-async): Fix callback invocation.
8166         * lisp/net/soap-client.el (soap-invoke-async): New function.
8167         (soap-invoke): Reimplement using soap-invoke-async.
8169         * lisp/net/soap-client.el (soap-parse-server-response):
8170         Improve docstring.
8171         (soap-invoke): Inline call to soap-parse-server-response.
8173         * lisp/net/soap-client.el (soap-decode-xs-complex-type):
8174         Prevent incorrect warning.
8176         * lisp/net/soap-client.el (soap-parse-server-response):
8177         Rename soap-process-url-response.  Destroy the mime part.
8178         (soap-invoke): Call soap-parse-server-response.
8180         * lisp/net/soap-client.el: Update copyright date.
8182         * lisp/net/soap-client.el: Fix checkdoc issues.
8184         * lisp/net/soap-client.el: Fix indentation and long lines.
8186         * lisp/net/soap-client.el (soap-time-format): Remove variable.
8187         (soap-encode-xs-basic-type): Simplify date-time format detection.
8188         (soap-decode-xs-basic-type): Remove soap-time-format support.
8190         * lisp/net/soap-client.el (soap-process-url-response): New function.
8191         (soap-fetch-xml-from-url): Call soap-process-url-response.
8192         (soap-parse-wsdl-phase-1): New function.
8193         (soap-parse-wsdl-phase-2): Likewise.
8194         (soap-parse-wsdl-phase-3): Likewise.
8195         (soap-parse-wsdl-phase-4): Likewise.
8196         (soap-parse-wsdl-phase-5): Likewise.
8197         (soap-parse-wsdl): Call phase functions.
8199         * lisp/net/soap-client.el (soap-decode-xs-basic-type):
8200         Remove one-argument and call.
8202         * lisp/net/soap-client.el (soap-decode-date-time): Improve docstring.
8204         * lisp/net/soap-client.el (soap-xmlschema-imports): Remove variable.
8205         (soap-parse-schema): Add wsdl argument.  Look up XML schema
8206         imports from wsdl.
8207         (soap-load-wsdl): Do not set soap-xmlschema-imports.
8208         (soap-parse-wsdl): Get XML schema imports from wsdl.
8210         * lisp/net/soap-client.el (soap-current-file): Remove variable.
8211         (soap-wsdl): Add current-file slot.
8212         (soap-fetch-xml-from-url): Add wsdl argument.  Look up current
8213         file from wsdl.
8214         (soap-fetch-xml-from-file): Likewise.
8215         (soap-fetch-xml): Likewise.
8216         (soap-load-wsdl): Always create wsdl object first.
8217         (soap-parse-wsdl): Pass wsdl to soap-fetch-xml.
8219         * lisp/net/soap-client.el (soap-xs-element): Add is-group slot.
8220         (soap-xs-parse-element): Set is-group slot.
8221         (soap-resolve-references-for-xs-element): Skip is-group elements.
8222         (soap-xs-complex-type): Add is-group slot.
8223         (soap-xs-parse-complex-type): Set is-group slot.
8224         (soap-xs-parse-sequence): Parse xsd:group elements.
8225         (soap-resolve-references-for-xs-complex-type): Inline elements
8226         from referenced xsd:group nodes.
8227         (soap-parse-schema): Parse xsd:group nodes.
8229         * lisp/net/soap-client.el (soap-invoke):
8230         Don't set url-http-version to 1.0.
8232         * lisp/net/soap-client.el (soap-decode-xs-complex-type):
8233         Allow choice nodes to accept multiple values.
8235         * lisp/net/soap-client.el (soap-encode-body): Check parameters argument
8236         for extra header values.
8238         * lisp/net/soap-client.el (soap-well-known-xmlns):
8239         Add wsa and wsaw tags.
8240         (soap-operation): Add input-action and output-action slots.
8241         (soap-parse-operation): Parse wsaw:Action nodes.
8242         (soap-encode-body): Encode service-url for WS-Addressing.
8243         (soap-create-envelope): Likewise.
8244         (soap-invoke): Update soap-create-envelope call to provide
8245         service-url argument.
8247         * lisp/net/soap-client.el (soap-decode-xs-complex-type):
8248         Support xsi:type override attribute.
8249         (soap-decode-array): Likewise.
8251         * lisp/net/soap-client.el (soap-parse-schema):
8252         Handle location attribute.
8254         * lisp/net/soap-client.el (soap-decode-type): Check that multiRef
8255         matched validation regexp.
8257         * lisp/net/soap-client.el (soap-encode-xs-simple-type):
8258         Encode xsd:list nodes.
8259         (soap-decode-xs-simple-type): Decode xsd:list nodes.
8261         * lisp/net/soap-client.el (soap-get-candidate-elements):
8262         Fix reference handling.
8264         * lisp/net/soap-client.el (soap-xs-simple-type): Add is-list slot.
8265         (soap-xs-parse-simple-type): Call soap-xs-add-list for xsd:list nodes.
8266         (soap-xs-add-list): New function.
8268         * lisp/net/soap-client.el (soap-encode-xs-element): When a boolean is
8269         expected, interpret nil as "false".
8271         * lisp/net/soap-client.el (soap-make-xs-basic-types): Add gYearMonth,
8272         gYear, gMonthDay, gDay and gMonth.
8274         * lisp/net/soap-client.el (soap-time-format): New variable.
8275         (soap-encode-xs-basic-type): Handle dateTime, time, date,
8276         gYearMonth, gYear, gMonthDay, gDay and gMonth.
8277         (soap-decode-date-time): New function.
8278         (soap-decode-xs-basic-type): Use soap-decode-date-time.
8280         * lisp/net/soap-client.el (soap-encode-xs-basic-type): Validate value
8281         after encoding.
8282         (soap-decode-xs-basic-type): Validate value before decoding.
8284         * lisp/net/soap-client.el (soap-validate-xs-basic-type): New function.
8285         (soap-validate-xs-simple-type): Call soap-validate-xs-basic-type.
8287         * lisp/net/soap-client.el (soap-xs-add-union): Append result to base
8288         instead of overwriting it.
8289         (soap-validate-xs-simple-type): Add union support.
8291         * lisp/net/soap-client.el (soap-xs-add-restriction): Translate pattern
8292         to Emacs regexp using xsdre-translate.
8293         (soap-validate-xs-simple-type): Validate value against pattern.
8295         * lisp/net/soap-client.el (soap-xs-add-union): Preserve WSDL order of
8296         inline simpleType nodes.
8297         (soap-decode-type): Handle union types.
8299         * lisp/net/soap-client.el (soap-decode-xs-attributes): Decode basic-type
8300         attributes.
8302         * lisp/net/soap-client.el (soap-get-xs-attributes-from-groups): Rename
8303         from soap-xs-attribute-group-consolidate, all callers updated
8304         (soap-get-xs-attributes): Rename from
8305         soap-xs-attributes-consolidate, all callers updated
8307         * lisp/net/soap-client.el (soap-xs-type): Add attribute-group slot.
8308         (soap-xs-attribute-group): New type.
8309         (soap-xs-parse-attribute-group): New function.
8310         (soap-resolve-references-for-xs-attribute-group): Likewise.
8311         (soap-xs-add-extension): Handle attribute groups.
8312         (soap-resolve-references-for-xs-simple-type): Likewise.
8313         (soap-xs-parse-complex-type): Likewise.
8314         (soap-xs-parse-extension-or-restriction): Likewise.
8315         (soap-resolve-references-for-xs-complex-type): Likewise.
8316         (soap-xs-attribute-group-consolidate): New function.
8317         (soap-xs-attributes-consolidate): Handle attribute groups.
8318         (soap-parse-schema): Likewise.
8320         * lisp/net/soap-client.el (soap-encode-xs-basic-type):
8321         Fix boolean encoding.
8323         * lisp/net/soap-client.el (soap-encode-xs-complex-type): Print ref
8324         element names in warnings.
8326         * lisp/net/soap-client.el (soap-decode-xs-complex-type): Fix splicing.
8328         * lisp/net/soap-client.el (soap-decode-xs-complex-type):
8329         Eliminate invalid warnings for choice types.
8331         * lisp/net/soap-client.el (soap-encode-xs-complex-type-attributes):
8332         Also encode base type attributes.
8334         * lisp/net/soap-client.el (soap-encode-xs-complex-type): Fix compilation
8335         warning.  Print e-name in warnings, or element if e-name is nil.
8337         * lisp/net/soap-client.el (soap-xs-element): Add alternatives slot.
8338         (soap-xs-parse-element): Set substitution-group.
8339         (soap-resolve-references-for-xs-element): Populate alternatives slot.
8340         (soap-get-candidate-elements): New function.
8341         (soap-encode-xs-complex-type): Iterate through all candidate elements.
8342         Handle types with nil type indicator.  Fix warning logic.
8344         * lisp/net/soap-client.el (soap-current-wsdl): Move declaration
8345         earlier in the file to prevent compiler warning.
8347         * lisp/net/soap-client.el (soap-node-optional): New function.
8348         (soap-node-multiple): Likewise.
8349         (soap-xs-parse-element): Call soap-node-optional and
8350         soap-node-multiple.
8351         (soap-xs-complex-type): Add optional? and multiple? slots.
8352         (soap-xml-get-children-fq): New function.
8353         (soap-xs-element-get-fq-name): Likewise.
8354         (soap-xs-complex-type-optional-p): Likewise.
8355         (soap-xs-complex-type-multiple-p): Likewise.
8356         (soap-xs-attributes-consolidate): Likewise.
8357         (soap-decode-xs-attributes): Likewise.
8358         (soap-decode-xs-complex-type): Decode types with nil type indicator.
8359         Support children that use local namespaces.  Decode attributes.
8360         Add type considerations to optional? and multiple? warnings.
8362         * lisp/net/soap-client.el (soap-xs-parse-extension-or-restriction):
8363         Store parsed attributes.
8364         (soap-encode-xs-complex-type-attributes): Encode custom attributes.
8366         * lisp/net/soap-client.el (soap-encode-xs-complex-type-attributes):
8367         Don't add the xsi:type attribute (Exchange refuses requests which have
8368         this attribute).
8370         * lisp/net/soap-client.el, soap-inspect.el: Convert to lexical binding,
8371         correct compiler warnings about unused function arguments and
8372         local variables.
8374         * lisp/net/soap-client.el (soap-decode-xs-complex-type): Handle nil
8375         type indicator.
8376         (soap-parse-envelope): Handle response headers.
8377         (soap-parse-response): Likewise.  Only return non-nil decoded values.
8379         * lisp/net/soap-client.el (soap-validate-xs-simple-type):
8380         Return validated value.
8382         * lisp/net/soap-client.el (soap-xs-parse-element)
8383         (soap-xs-parse-simple-type)
8384         (soap-xs-parse-complex-type)
8385         (soap-parse-message)
8386         (soap-parse-operation): Add the current namespace to the element
8387         being created.
8388         (soap-resolve-references-for-xs-element)
8389         (soap-resolve-references-for-xs-simple-type)
8390         (soap-resolve-references-for-xs-complex-type)
8391         (soap-resolve-references-for-operation): Resolve the namespace to
8392         the namespace tag.
8393         (soap-make-wsdl): specify a namespace tag when creating the xsd
8394         and soapenc namespaces
8395         (soap-wsdl-resolve-references): don't update namespace tags in
8396         elements here
8397         (soap-parse-port-type): bind the urn: to soap-target-xmlns
8398         (soap-encode-body): don't add nil namespace tags to
8399         soap-encoded-namespaces
8401         * lisp/net/soap-inspect.el: Use `soap-make-wsdl` to construct the object
8402         for registering the soap-inspect method.  Make debbugs tests pass.
8403         * lisp/net/soap-client.el (soap-decode-any-type): Use soap-l2fq on the
8404         type name, also skip string only nodes when decoding a structure.
8405         (soap-xs-parse-complex-type): (BUG) Dispatch parsing for choice
8406         types too.
8407         (soap-encode-body): Grab the header value from the param table.
8409         * lisp/net/soap-client.el (soap-should-encode-value-for-xs-element):
8410         New function.
8411         (soap-encode-xs-element): Don't encode nil value unless needed.
8413         * lisp/net/soap-client.el (soap-bound-operation): New slot `soap-body`.
8414         (soap-parse-binding): Parse the message parts required in the body.
8415         (soap-encode-body): Encode only the parts that are declared to be
8416         part of the body.
8418         * lisp/net/soap-client.el (soap-encode-xs-element): use the fq name
8419         when writing out the tag.
8420         (soap-encode-body): Remove hack that inserts the xmlns in the
8421         element attributes list.
8423         * lisp/net/soap-client.el (soap-xs-attribute): Add "default" slot.
8424         (soap-xs-parse-attribute): Default slot is set from the XML
8425         "fixed" attribute.
8426         (soap-encode-xs-complex-type-attributes): Encode any attributes
8427         that have a default value.  Also, don't put the xsi:nil attribute
8428         when the complex type has no content anyway.
8430         * lisp/net/soap-client.el (soap-well-known-xmlns):
8431         Add the xml namespace.
8432         (soap-local-xmlns): Start with the xml namespace.
8433         (soap-xml-node-first-child): Skip xsd:annotation nodes too.
8434         (soap-make-xs-basic-types): More xsd types added.
8435         (soap-encode-xs-basic-type, soap-decode-xs-basic-type):
8436         Handle "language", "time", "date", "nonNegativeInteger".
8437         (soap-resolve-references-for-xs-element): Don't signal an error if
8438         the element does not have a type.
8439         (soap-xs-parse-simple-type): Subtypes are handled with ecase,
8440         added stum for xsd:list.
8441         (soap-xs-add-union): Call soap-l2fq on all union members.
8442         (soap-xs-add-extension): Call soap-l2fq on the base member.
8443         (soap-resolve-references-for-xs-simple-type): Don't signal an
8444         error if the simple type has no base.
8445         (soap-resolve-references-for-xs-simple-type): Bugfix, call
8446         soap-wsdl-get on each type of the base.
8448         * lisp/net/soap-client.el (soap-resolve-references-for-xs-attribute):
8449         Referenced type can be eiher a simple type or a basic type.
8450         (soap-xs-add-restriction)
8451         (soap-xs-parse-extension-or-restriction): Use `soap-l2fq' on base.
8452         (soap-make-xs-basic-types)
8453         (soap-encode-xs-basic-type, soap-decode-xs-basic-type):
8454         Add support for more XMLSchema basic types.
8455         (soap-current-file, soap-xmlschema-imports): New defvars.
8456         (soap-parse-schema): Add locations from xsd:import tags to
8457         `soap-xmlschema-imports'.
8458         (soap-wsdl): Make destructor private.
8459         (soap-make-wsdl): New defun, SOAP-WSDL object constructor.
8460         (soap-wsdl-add-alias): Check if we try to replace aliases.
8461         (soap-fetch-xml-from-url, soap-fetch-xml-from-file)
8462         (soap-fetch-xml): New defuns.
8463         (soap-load-wsdl): Update to load the WSDL from either a file or
8464         an url.
8465         (soap-load-wsdl-from-url): Now an alias to `soap-load-wsdl'.
8466         (soap-parse-wsdl): Process wsdl:import tags and imports from
8467         `soap-xmlschema-imports'.
8468         * lisp/net/soap-client.el (soap-l2wk): Bugfix: call symbolp instead of
8469         symbol-name.
8470         (soap-l2fq): Make the name part always a string.
8471         (soap-name-p): New defun, used for name tests.
8473         * lisp/net/soap-inspect.el (soap-sample-value-for-xs-complex-type):
8474         Supply sample values for choice types with a special tag.
8475         * lisp/net/soap-client.el (soap-encode-xs-complex-type):
8476         Handle anonymous elements correctly.
8477         (soap-encode-value): Accept nodes that have no namespace tag.
8479         * lisp/net/soap-client.el (soap-invoke): Encode the string for
8480         `url-request-data' as UTF-8.  Fixes issue 16.
8482 2015-10-24  Nicolas Petton  <nicolas@petton.fr>
8484         Update the new icon
8486         Move the E slightly to the right in the circle.
8488         * etc/images/icons/hicolor/128x128/apps/emacs.png:
8489         * etc/images/icons/hicolor/16x16/apps/emacs.png:
8490         * etc/images/icons/hicolor/24x24/apps/emacs.png:
8491         * etc/images/icons/hicolor/32x32/apps/emacs.png:
8492         * etc/images/icons/hicolor/48x48/apps/emacs.png:
8493         * etc/images/icons/hicolor/scalable/apps/emacs.svg:
8494         * nextstep/Cocoa/Emacs.base/Contents/Resources/Emacs.icns:
8495         * nt/icons/emacs.ico: New icom update.
8497 2015-10-24  Eli Zaretskii  <eliz@gnu.org>
8499         Avoid missing inline functions from lisp.h in TAGS
8501         * src/lisp.h (LISP_MACRO_DEFUN): Mention in the commentary the
8502         need to end each invocation with a semi-colon.
8503         Add a semi-colon at the end of each invocation of LISP_MACRO_DEFUN
8504         and LISP_MACRO_DEFUN_VOID.  This is to avoid missing in TAGS
8505         inline functions defined immediately after each invocation, and
8506         also avoid tagging every invocation of these macros.
8508 2015-10-24  Eli Zaretskii  <eliz@gnu.org>
8510         A better fix for bug#21739
8512         * src/buffer.c (set_update_modelines_for_buf): New function.
8513         (Fkill_buffer): Use it to set the global variable
8514         update_mode_lines if the killed buffer was displayed in some
8515         window.  Don't set windows_or_buffers_changed.  This is a better
8516         fix for bug#21739 than the previous fix, since it will cause only
8517         redisplay of mode lines, not of entire windows, but will still
8518         catch attention of x_consider_frame_title in xdisp.c, which
8519         redraws the frame title.
8521 2015-10-24  Tassilo Horn  <tsdh@gnu.org>
8523         * lisp/dired-aux.el (dired-compress-files-alist): Add support for
8524         tar.bz2 and tar.xz archives.
8526 2015-10-23  Eli Zaretskii  <eliz@gnu.org>
8528         Fix infloop in redisplay introduced by a recent change
8530         * src/xdisp.c (redisplay_internal): Avoid inflooping when
8531         redisplaying the selected window sets the selected frame's
8532         redisplay flag.  (Bug#21745)
8534 2015-10-23  Nicolas Petton  <nicolas@petton.fr>
8536         * lisp/emacs-lisp/thunk.el: Better documentation.
8538 2015-10-23  Nicolas Petton  <nicolas@petton.fr>
8540         Replace the old icon for Windows and Mac OSX
8542         * nt/icons/emacs.ico:
8543         * nextstep/Cocoa/Emacs.base/Contents/Resources/Emacs.icns:
8544         Use the new icons.
8546 2015-10-23  Stephen Leake  <stephen_leake@stephe-leake.org>
8548         * lisp/emacs-lisp/package.el (package-autoload-ensure-default-file):
8549         `load-path' should contain only directory names.
8551 2015-10-23  Nicolas Petton  <nicolas@petton.fr>
8553         New library thunk.el
8555         thunk.el is extracted from stream.el in ELPA, with additional tests.
8557         * lisp/emacs-lisp/thunk.el: New file.
8558         * test/automated/thunk-tests.el: New file.
8559         * etc/NEWS: Add information about thunk.el
8561 2015-10-23  Michael Albinus  <michael.albinus@gmx.de>
8563         Fix bug#21669
8565         * lisp/filenotify.el (file-notify-rm-watch): Improve check for
8566         calling low-level functions.
8568         * test/automated/file-notify-tests.el (file-notify--test-timeout):
8569         Decrase to 6 seconds for remote directories.
8570         (file-notify-test02-events): Expect different number of
8571         `attribute-changed' events for the local and remote cases.  Apply
8572         short delays between the operations, in order to receive all
8573         events in the remote case.  Combine `attribute-change' tests.
8574         (Bug#21669)
8576 2015-10-23  Eli Zaretskii  <eliz@gnu.org>
8578         Decode the HTML source when displaying it in EWW
8580         * lisp/net/eww.el (eww-view-source): Decode the HTML source
8581         according to its headers.
8583 2015-10-23  Nicolas Petton  <nicolas@petton.fr>
8585         New default icon
8587         * etc/images/icons/hicolor/128x128/apps/emacs23.png:
8588         * etc/images/icons/hicolor/16x16/apps/emacs23.png:
8589         * etc/images/icons/hicolor/24x24/apps/emacs23.png:
8590         * etc/images/icons/hicolor/32x32/apps/emacs23.png:
8591         * etc/images/icons/hicolor/48x48/apps/emacs23.png:
8592         * etc/images/icons/hicolor/scalable/apps/emacs23.svg:
8593         * etc/images/icons/hicolor/scalable/mimetypes/emacs-document23.svg:
8594         Move the old logo files to emacs23.*.
8595         * etc/images/icons/hicolor/128x128/apps/emacs.png:
8596         * etc/images/icons/hicolor/16x16/apps/emacs.png:
8597         * etc/images/icons/hicolor/24x24/apps/emacs.png:
8598         * etc/images/icons/hicolor/32x32/apps/emacs.png:
8599         * etc/images/icons/hicolor/48x48/apps/emacs.png:
8600         * etc/images/icons/hicolor/scalable/apps/emacs.svg:
8601         * etc/images/icons/hicolor/scalable/mimetypes/emacs-document.svg:
8602         New files.
8603         * etc/images/icons/README: Update the copyright information.
8605 2015-10-23  Eli Zaretskii  <eliz@gnu.org>
8607         Fix redisplay of frame title when current buffer is killed
8609         * src/buffer.c (Fkill_buffer): Set windows_or_buffers_changed to a
8610         non-zero value, to redisplay more than just the affected windows.
8611         (Bug#21739)
8613 2015-10-23  Anders Lindgren  <andlind@gmail.com>
8615         NextStep maximization and NSTRACE rewrite
8617         Full-height, full-width, and maximized windows now cover the
8618         entire screen (except the menu bar), including the part where the
8619         system dock is placed.  The system zoom animation is no longer
8620         used.
8622         Made NonMaximized->FullWidth->FullHeight->NonMaximized restore the
8623         original size.
8625         * src/nsterm.m (ns_menu_bar_height): New function, return height of
8626         the menu bar, or 0 when it's hidden.
8627         (constrain_frame_rect): New function for constraining a frame.
8628         (ns_constrain_all_frames): Set frame size explicitly rather than
8629         relying on the system doing it for us by writing back the current
8630         frame size.
8631         (windowWillUseStandardFrame): Register non-maximized width or
8632         height as new user size.  When entering full width or height,
8633         the other size component is taken from the user size.
8634         (fullscreenState): New method for accessing the fullscreen state.
8635         (constrainFrameRect): Restrict frame to be placed under the menu bar,
8636         if present.  The old version, sometimes, restricted the height of a
8637         frame to the screen, this version never does this.
8638         (zoom): Perform zoom by setting the frame to the full size of the
8639         screen (minus the menu bar).  The default system function, with the
8640         zoom animation, is no longer used, as the final frame size doesn't
8641         cover the entire screen.
8643         Rework how to constrain resizing to the character grid.  The old
8644         system used "resizeIncrements" in NSWindows.  However, once a frame
8645         was resized so that it was not aligned to the text grid, it
8646         remained unaligned even after a resize.  In addition, it conflicted
8647         when resizing a fullheight window.
8649         * src/nsterm.m (windowWillResize): Restrict frame size to text grid,
8650         unless when pixelwise frame resizing is enabled.
8651         (updateFrameSize, initFrameFromEmacs)
8652         (toggleFullScreen, handleFS): Don't set resizeIncrements.
8654         Redesign the NS trace system.  The call structure is represented
8655         using indentations and vertical lines.  The NSTRACE macro accepts
8656         printf-style arguments.  New macros for printing various
8657         information.
8659         * src/nsterm.h (NSTRACE_ENABLED): Macro to enable trace system.
8660         (NSTRACE, NSTRACE_WHEN, NSTRACE_UNLESS): Macros to start a new
8661         block (typically a function), accept printf-style arguments.
8662         (NSTRACE_MSG): Macro for extra information, accepts
8663         printf-style arguments.
8664         (NSTRACE_what): Macros for printing various types.
8665         (NSTRACE_FMT_what): Macro with printf format string snippets.
8666         (NSTRACE_ARG_what): Macros for passing printf-style arguments,
8667         corresponds to NSTRACE_FMT_what.
8668         (NSTRACE_RETURN): Macro to print return value, accept
8669         printf-style arguments.
8670         (NSTRACE_RETURN_what): Macros to print return value for
8671         various types.
8673         * nsterm.m: Remove old NSTRACE macro
8674         * src/nsterm.m (nstrace_num): Trace counter.
8675         (nstrace_depth): Current call depth.
8676         (nstrace_leave): NSTRACE support function, called when the
8677         local variable "nstrace_enabled" goes out of scope using the
8678         "cleanup" extension.
8679         (ns_print_fullscreen_type_name): NSTRACE_FSTYPE support function.
8680         (constrain_frame_rect, ns_constrain_all_frames)
8681         (ns_update_auto_hide_menu_bar, ns_update_begin)
8682         (ns_update_window_begin, update_window_end, ns_update_end)
8683         (ns_focus, ns_unfocus, ns_ring_bell, ns_frame_raise_lower)
8684         (ns_frame_rehighlight, x_make_frame_visible)
8685         (x_make_frame_invisible, x_iconify_frame, x_free_frame_resources)
8686         (x_destroy_window, x_set_offset, x_set_window_size)
8687         (ns_fullscreen_hook, ns_lisp_to_color, ns_color_to_lisp)
8688         (ns_defined_color, frame_set_mouse_pixel_position)
8689         (note_mouse_movement, ns_mouse_position, ns_frame_up_to_date)
8690         (ns_define_frame_cursor, x_get_keysym_name, ns_redraw_scroll_bars)
8691         (ns_clear_frame, ns_clear_frame_area, ns_scroll_run)
8692         (ns_after_update_window_line, ns_shift_glyphs_for_insert)
8693         (dumpcursor, ns_draw_vertical_window_border)
8694         (ns_draw_window_divider, ns_draw_relief)
8695         (ns_dumpglyphs_box_or_relief, ns_maybe_dumpglyphs_background)
8696         (ns_dumpglyphs_image, ns_draw_glyph_string, ns_send_appdefined)
8697         (ns_read_socket, ns_select, ns_set_vertical_scroll_bar)
8698         (ns_set_horizontal_scroll_bar, ns_condemn_scroll_bars)
8699         (ns_redeem_scroll_bar, ns_judge_scroll_bars, ns_delete_terminal)
8700         (ns_create_terminal, ns_term_init, sendEvent)
8701         (applicationDidFinishLaunching, applicationDidBecomeActive)
8702         (timeout_handler, fd_handler, EmacsView_dealloc, changeFont)
8703         (acceptsFirstResponder, resetCursorRects, keyDown, mouseDown)
8704         (deltaIsZero, rightMouseDown, otherMouseDown, mouseUp)
8705         (rightMouseUp, otherMouseUp, scrollWheel, mouseMoved)
8706         (mouse_autoselect_window, in_window, mouseDragged)
8707         (rightMouseDragged, otherMouseDragged, windowShouldClose)
8708         (updateFrameSize, windowWillResize, windowDidResize)
8709         (windowDidBecomeKey, windowDidResignKey, windowWillMiniaturize)
8710         (initFrameFromEmacs, windowDidMove, windowDidDeminiaturize)
8711         (windowDidExpose, windowDidMiniaturize, windowWillEnterFullScreen)
8712         (windowDidEnterFullScreen, windowWillExitFullScreen)
8713         (windowDidExitFullScreen, toggleFullScreen, handleFS, setFSValue)
8714         (mouseEntered, mouseExited, menuDown, toolbarClicked, drawRect)
8715         (draggingEntered, performDragOperation, validRequestorForSendType)
8716         (setMiniwindowImage, constrainFrameRect, performZoom, zoom)
8717         (EmacsScroller_initFrame, EmacsScroller_setFrame)
8718         (EmacsScroller_dealloc, condemn, reprieve, judge)
8719         (resetCursorRects, setPosition, EmacsScroller_mouseDown)
8720         (EmacsScroller_mouseDragged, syms_of_nsterm): Use new trace system.
8722         * nsfns.m: Remove old NSTRACE macro
8723         * src/nsfns.m (x_set_icon_name, ns_set_name, x_explicitly_set_name)
8724         (x_implicitly_set_name, x_set_title, ns_set_name_as_filename)
8725         (ns_implicitly_set_icon_type, x_set_icon_type): Use new trace system.
8727         * nsimage.m: Remove old NSTRACE macro
8728         * src/nsimage.m (ns_image_from_XBM, ns_image_for_XPM)
8729         (ns_image_from_bitmap_file, ns_load_image): Use new trace system.
8731         * nsmenu.m: Remove old NSTRACE macro
8732         * src/nsmenu.m (ns_update_menubar, ns_menu_show, ns_popup_dialog):
8733         Use new trace system.
8735 2015-10-22  Katsumi Yamaoka  <yamaoka@jpl.org>
8737         No need to use eval-and-compile
8739         * lisp/gnus/auth-source.el: Do require epg (when compiling) before
8740         autoload epg functions.
8742 2015-10-22  Katsumi Yamaoka  <yamaoka@jpl.org>
8744         Fix auth-source-epa-make-gpg-token compilation (bug#21724)
8746         * lisp/gnus/auth-source.el: Add eval-and-compile to autoloads for
8747         epg-context-set-passphrase-callback, epg-decrypt-string, and
8748         epg-encrypt-string; require epg when compiling for the setf-method
8749         for epg-context-armor. (bug#21724)
8751 2015-10-22  Eli Zaretskii  <eliz@gnu.org>
8753         Include file cleanup for w32 files in src directory
8755         * src/w32xfns.c: Don't include keyboard.h, window.h, charset.h,
8756         fontset.h, blockinput.h.
8757         * src/w32uniscribe.c: Don't include dispextern.h, character.h,
8758         charset.h, fontset.h.
8759         * src/w32term.c: Don't include systty.h, systime.h, charset.h,
8760         character.h, ccl.h, dispextern.h, disptab.h, intervals.h,
8761         process.h, atimer.h, keymap.h, w32heap.h.  Include bitmap/gray.xbm
8762         in an ifdef-ed away block.
8763         Include fcntl.h for CYGWIN.
8764         (set_frame_param): Remove unused function.
8765         * src/w32select.c: Don't include charset.h and composite.h.
8766         (setup_config, Fw32_get_clipboard_data): Avoid compiler warnings
8767         due to pointer signedness mismatches.
8768         * src/w32reg.c (w32_get_string_resource): Avoid compiler warnings
8769         due to pointer signedness mismatches.
8770         * src/w32proc.c: Include unistd.h.  Don't include systime.h,
8771         process.h, dispextern.h.
8772         (sys_spawnve, Fw32_short_file_name, Fw32_long_file_name)
8773         (Fw32_application_type): Avoid compiler warnings due to pointer
8774         signedness mismatches.
8775         * src/w32menu.c: Don't include keymap.h, termhooks.h, window.h,
8776         character.h, charset.h, dispextern.h.
8777         (simple_dialog_show, add_menu_item): Avoid compiler warnings due
8778         to pointer signedness mismatches.
8779         * src/w32inevt.c: Don't include dispextern.h, window.h,
8780         termhooks.h, w32heap.h.
8781         * src/w32font.c: Don't include dispextern.h, character.h,
8782         charset.h, fontset.h, font.h.
8783         (intern_font_name, add_font_entity_to_list)
8784         (registry_to_w32_charset, w32_to_x_charset, fill_in_logfont)
8785         (list_all_matching_fonts): Avoid compiler warnings due to pointer
8786         signedness mismatches.
8787         * src/w32fns.c: Don't include character.h, intervals.h,
8788         dispextern.h, epaths.h, charset.h, ccl.h, fontset.h, systime.h,
8789         termhooks.h, w32heap.h, bitmap/gray.xbm, font.h, w32font.h.
8790         (w32_color_map_lookup, add_system_logical_colors_to_map)
8791         (x_decode_color, x_set_name, FPRINTF_WM_CHARS, Fxw_color_defined_p)
8792         (Fxw_color_values, x_display_info_for_name, Fset_message_beep)
8793         (x_create_tip_frame, Fx_file_dialog, Fsystem_move_file_to_trash)
8794         (w32_parse_hot_key, Ffile_system_info, w32_kbd_patch_key): Avoid
8795         compiler warnings, mainly due to pointer signedness mismatches.
8796         (unwind_create_frame_1): Remove unused function.
8797         * src/w32console.c: Don't include character.h, disptab.h, frame.h,
8798         window.h, termhooks.h, dispextern.h.
8799         (w32con_write_glyphs, w32con_write_glyphs_with_face): Fix pointer
8800         signedness mismatch.
8801         * src/w32.c: Include c-strcase.h and systty.h.  Don't include
8802         w32heap.h.
8804 2015-10-22  Tassilo Horn  <tsdh@gnu.org>
8806         Improve doc-view wrt. auto-revert-mode
8808         * lisp/doc-view.el (doc-view-revert-buffer): Don't revert when file
8809         is corrupted (bug#21729).
8810         (doc-view-mode): Set doc-view-revert-buffer as revert-buffer-function.
8812 2015-10-22  Oleh Krehel  <ohwoeowho@gmail.com>
8814         Describe dired-do-compress-to in the manual
8816         * etc/NEWS: Update.
8818         * lisp/dired-aux.el: Fix typo.
8820         * doc/emacs/dired.texi: Add entry.
8822 2015-10-22  Jürgen Hötzel  <juergen@archlinux.org>
8824         Further fix for proper locale handling in tramp-gvfs.el
8826         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
8827         Just suppress LC_MESSAGES locale category settings.
8829 2015-10-21  Paul Eggert  <eggert@cs.ucla.edu>
8831         New lispref section “Security Considerations”
8833         This attempts to document some of the issues recently discussed
8834         on emacs-devel, and to indicate other such issues.  The section
8835         could be a lot longer.
8836         * doc/lispref/os.texi (Security Considerations):
8837         New node.
8838         * doc/lispref/elisp.texi (Top):
8839         * doc/lispref/processes.texi (Shell Arguments):
8840         * lisp/subr.el (shell-quote-argument):
8841         * src/callproc.c (syms_of_callproc):
8842         Reference it.
8844 2015-10-21  Paul Eggert  <eggert@cs.ucla.edu>
8846         Merge from gnulib
8848         This incorporates:
8849         2015-10-18 stdalign: work around pre-4.9 GCC x86 bug
8850         2015-10-18 time_rz: avoid warning from bleeding-edge gcc's -Wnonnull
8851         * doc/misc/texinfo.tex, lib/stdalign.in.h, lib/time_rz.c:
8852         Copy from gnulib.
8854 2015-10-21  Katsumi Yamaoka  <yamaoka@jpl.org>
8856         * lisp/gnus/mailcap.el (mailcap-mime-data): Remove fboundp checks.
8857         (mailcap-viewer-passes-test): Do it instead.  Thanks to Stefan Monnier.
8859 2015-10-21  Ken Brown  <kbrown@cornell.edu>
8861         Further include-file cleanup
8863         * src/sheap.c: Include stdlib.h.
8864         * src/unexcw.c: Include string.h.
8866 2015-10-21  Eli Zaretskii  <eliz@gnu.org>
8868         Fix logic in 'server-kill-emacs-query-function'
8870         * lisp/server.el (server-kill-emacs-query-function): Correct the
8871         logic that controls whether the user is asked for confirmation.
8872         (Bug#21723)
8874 2015-10-21  Artur Malabarba  <bruce.connor.am@gmail.com>
8876         * lisp/isearch.el (isearch-search-fun-default): Simplify logic.
8877         (isearch--lax-regexp-function-p): New function.
8879 2015-10-21  Artur Malabarba  <bruce.connor.am@gmail.com>
8881         * lisp/isearch.el: Support lax-whitespace in regexp-function searches.
8882         (isearch-search-fun-default): Let-bind `search-spaces-regexp'
8883         around `isearch-regexp-function'.
8885 2015-10-21  Artur Malabarba  <bruce.connor.am@gmail.com>
8887         * lisp/isearch.el: Rename word search to regexp-function search.
8888         `isearch-word' went well beyond its original purpose, and the name
8889         no longer makes sense.  It is now called
8890         `isearch-regexp-function', and its value should always be a function
8891         that converts a string to a regexp (though setting it to t is still
8892         supported for now).
8893         (isearch-word): Make obsolete.
8894         (isearch-regexp-function): New variable.
8895         (isearch-mode, isearch-done, isearch--state, isearch--set-state)
8896         (with-isearch-suspended, isearch-toggle-regexp)
8897         (isearch-toggle-word, isearch-toggle-symbol)
8898         (isearch-toggle-character-fold, isearch-query-replace)
8899         (isearch-occur, isearch-highlight-regexp)
8900         (isearch-search-and-update, isearch-message-prefix)
8901         (isearch-search-fun-default, isearch-search)
8902         (isearch-lazy-highlight-new-loop, isearch-lazy-highlight-search):
8903         Use it.
8904         (isearch-lazy-highlight-regexp-function): New var.
8905         (isearch-lazy-highlight-word): Make obsolete.
8906         (isearch--describe-regexp-mode): New function.
8907         (isearch--describe-word-mode): Make obsolete.
8909         * lisp/info.el (Info-isearch-search):
8910         * lisp/replace.el (replace-search, replace-highlight):
8911         * lisp/obsolete/longlines.el (longlines-search-function):
8912         * lisp/hexl.el (hexl-isearch-search-function):
8913         * lisp/cedet/semantic/senator.el (senator-isearch-search-fun):
8914         Use the new var.
8916 2015-10-21  Oleh Krehel  <ohwoeowho@gmail.com>
8918         Add dired-do-compress-to command bound to "c"
8920         * lisp/dired-aux.el (dired-shell-command): Use the caller's
8921           `default-directory', return the result of `process-file'.
8922         (dired-compress-file-suffixes): Add comment on why "tar -zxf" isn't
8923         used by default.
8924         (dired-compress-files-alist): New defvar.
8925         (dired-do-compress-to): New command.
8927         * lisp/dired.el (dired-mode-map): Bind `dired-do-compress-to' to "c".
8928         (dired-do-compress-to): Add an autoload entry.
8930         * etc/NEWS: Add two entries.
8932 2015-10-21  Tassilo Horn  <tsdh@gnu.org>
8934         Make RefTeX work with LaTeX subfiles package
8936         * lisp/textmodes/reftex.el (reftex-TeX-master-file): Recognize subfiles
8937         document class argument as master file for referencing purposes.
8939 2015-10-21  Katsumi Yamaoka  <yamaoka@jpl.org>
8941         * lisp/gnus/mailcap.el (mailcap-mailcap-entry-passes-test): Doc fix.
8943 2015-10-20  Paul Eggert  <eggert@cs.ucla.edu>
8945         Include-file cleanup for src directory
8947         Omit ‘#include "foo.h"’ unless the file needs foo.h (Bug#21707).
8948         In a few cases, add ‘#include "foo.h"’ if the file needs foo.h
8949         but does not include it directly.  As a general rule, a source
8950         file should include foo.h if it needs the interfaces that foo.h
8951         defines.
8952         * src/alloc.c: Don’t include process.h.  Include dispextern.h,
8953         systime.h.
8954         * src/atimer.c: Don’t include blockinput.h.
8955         * src/buffer.c: Include coding.h, systime.h.  Don’t include
8956         keyboard.h, coding.h.
8957         * src/callint.c: Don’t include commands.h, keymap.h.
8958         * src/callproc.c: Don’t include character.h, ccl.h, composite.h,
8959         systty.h, termhooks.h.
8960         * src/casetab.c: Don’t include character.h.
8961         * src/category.c: Don’t include charset.h, keymap.h.
8962         * src/ccl.h: Don’t include character.h.
8963         * src/character.c: Don’t include charset.h.
8964         * src/charset.c: Don’t include disptab.h.
8965         * src/chartab.c: Don’t include ccl.h.
8966         * src/cm.c: Don’t include frame.h, termhooks.h.
8967         * src/cmds.c: Don’t include window.h, dispextern.h.
8968         * src/coding.c: Don’t include window.h, frame.h.
8969         * src/composite.c: Include composite.h.  Don’t include window.h,
8970         font.h.
8971         * src/data.c: Don’t include syssignal.h, termhooks.h, font.h.
8972         * src/dbusbind.c: Don’t include frame.h.
8973         * src/decompress.c: Don’t include character.h.
8974         * src/dired.c: Don’t include character.h, commands.h, charset.h.
8975         * src/dispnew.c: Don’t include character.h, indent.h, intervals.h,
8976         process.h, timespec.h.  Include systime.h.
8977         * src/doc.c: Include coding.h.  Don’t include keyboard.h.
8978         * src/editfns.c: Include composite.h.  Don’t include frame.h.
8979         * src/emacs.c: Include fcntl.h, coding.h.  Don’t include
8980         commands.h, systty.h..
8981         * src/fileio.c: Don’t include intervals.h, dispextern.h.
8982         Include composite.h.
8983         * src/filelock.c: Don’t include character.h, systime.h.
8984         * src/fns.c: Don’t include time.h, commands.h, keyboard.h,
8985         keymap.h, frame.h, blockinput.h, xterm.h.  Include composite.h.
8986         * src/font.c: Include termhooks.h.
8987         * src/font.h: Don’t include ccl.h, frame.h.  Add forward decls of
8988         struct composition_it, struct face, struct glyph_string.
8989         * src/fontset.c: Don’t include buffer.h, ccl.h, keyboard.h,
8990         intervals.h, window.h, termhooks.h.
8991         * src/frame.c: Don’t include character.h, commands.h, font.h.
8992         * src/frame.h: Don’t include dispextern.h.
8993         * src/fringe.c: Don’t include character.h.
8994         * src/ftcrfont.c: Don’t include dispextern.h, frame.h,
8995         character.h, charset.h, fontset.h.
8996         * src/ftfont.c: Don’t include frame.h, blockinput.h, coding.h,
8997         fontset.h.
8998         * src/ftxfont.c: Don’t include dispextern.h, character.h,
8999         charset.h, fontset.h.
9000         * src/gfilenotify.c: Don’t include frame.h, process.h.
9001         * src/gtkutil.c: Include dispextern.h, frame.h, systime.h.
9002         Don’t include syssignal.h, buffer.h, charset.h, font.h.
9003         * src/gtkutil.h: Don’t include frame.h.
9004         * src/image.c: Include fcntl.h and stdio.h instead of sysstdio.h.
9005         Don’t include character.h.
9006         * src/indent.c: Don’t include keyboard.h, termchar.h.
9007         * src/inotify.c: Don’t include character.h, frame.h.
9008         * src/insdel.c: Include composite.h.  Don’t include blockinput.h.
9009         * src/intervals.c: Don’t include character.h, keyboard.h.
9010         * src/intervals.h: Don’t include dispextern.h, composite.h.
9011         * src/keyboard.c: Don’t include sysstdio.h, disptab.h, puresize.h.
9012         Include coding.h.
9013         * src/keyboard.h: Don’t incldue systime.h.
9014         * src/keymap.c: Don’t include charset.h, frame.h.
9015         * src/lread.c: Include dispextern.h and systime.h.
9016         Don’t include frame.h.  Include systime.h.
9017         * src/macros.c: Don’t include commands.h, character.h, buffer.h.
9018         * src/menu.c: Include character.h, coding.h.  Don’t include
9019         dispextern.h.
9020         * src/menu.h: Don’t include systime.h.
9021         * src/minibuf.c: Don’t include commands.h, dispextern.h, syntax.h,
9022         intervals.h, termhooks.h.
9023         * src/print.c: Include coding.h.  Don’t include keyboard.h,
9024         window.h, dispextern.h, termchar.h, termhooks.h, font.h.
9025         Add forward decl of struct terminal.
9026         * src/process.c: Don’t include termhooks.h, commands.h,
9027         dispextern.h, composite.h.
9028         * src/region-cache.c: Don’t include character.h.
9029         * src/scroll.c: Don’t include keyboard.h, window.h.
9030         * src/search.c: Don’t include category.h, commands.h.
9031         * src/sound.c: Don’t include dispextern.h.
9032         * src/syntax.c: Don’t include command.h, keymap.h.
9033         * src/sysdep.c: Don’t include window.h, dispextern.h.
9034         * src/systime.h: Use ‘#ifdef emacs’, not ‘#ifdef EMACS_LISP_H’,
9035         * src/term.c: Don’t include systty.h, intervals.h, xterm.h.
9036         * src/terminal.c: Include character.h.
9037         Don’t include charset.h, coding.h.
9038         * src/textprop.c: Don’t include character.h.
9039         * src/undo.c: Don’t include character.h, commands.h, window.h.
9040         * src/unexsol.c: Don’t include character.h, charset.h.
9041         * src/widget.c: Include widget.h.  Don’t include keyboard.h,
9042         window.h, dispextern.h, blockinput.h, character.h, font.h.
9043         * src/widgetprv.h: Don’t include widget.h.
9044         * src/window.c: Don’t include character.h, menu.h, intervals.h.
9045         * src/xdisp.c: Include composite.h, systime.h.  Don’t include
9046         macros.h, process.h.
9047         * src/xfaces.c: Don’t include charset.h, keyboard.h, termhooks.h,
9048         intervals.h.
9049         * src/xfns.c: Don’t include menu.h, character.h, intervals.h,
9050         epaths.h, fontset.h, systime.h, atimer.h, termchar.h.
9051         * src/xfont.c: Don’t include dispextern.h, fontset.h, ccl.h.
9052         * src/xftfont.c: Don’t include dispextern.h, character.h, fontset.h.
9053         * src/xgselect.c: Don’t include timespec.h, frame.h.
9054         Include systime.h.
9055         * src/xgselect.h: Don’t include time.h.
9056         Use a forward decl to struct timespec instead.
9057         * src/xmenu.c: Don’t include keymap.h, character.h, charset.h,
9058         dispextern.h.  Include systime.h.
9059         * src/xml.c: Don’t include character.h.
9060         * src/xrdb.c [USE_MOTIF]: Don’t include keyboard.h.
9061         * src/xselect.c: Don’t include dispextern.h, character.h,
9062         buffer.h, process.h.
9063         * src/xsmfns.c: Don’t include systime.h, sysselect.h.
9064         * src/xterm.c: Don’t include syssignal.h, charset.h, disptab.h,
9065         intervals.h process.h, keymap.h, xgselect.h.  Include composite.h.
9067 2015-10-20  Paul Eggert  <eggert@cs.ucla.edu>
9069         (/ N) now returns the reciprocal of N
9071         This is more compatible with Common Lisp and XEmacs (Bug#21690).  See:
9072         http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg01053.html
9073         * lisp/color.el (color-hue-to-rgb, color-hsl-to-rgb)
9074         (color-xyz-to-srgb, color-xyz-to-lab):
9075         * lisp/emacs-lisp/cl-extra.el (cl-float-limits):
9076         * lisp/net/shr-color.el (shr-color-hue-to-rgb)
9077         (shr-color-hsl-to-rgb-fractions):
9078         Exploit the change to simplify the code a bit.
9079         * lisp/emacs-lisp/bytecomp.el (byte-compile-quo):
9080         Don’t complain about single-argument calls to ‘/’.
9081         * src/data.c (arith_driver, float_arith_driver):
9082         Implement the change.
9084 2015-10-20  Dmitry Gutov  <dgutov@yandex.ru>
9086         Call vc-dir-refresh after stash operations
9088         * lisp/vc/vc-git.el (vc-git-stash-apply-at-point)
9089         (vc-git-stash-pop-at-point): Call vc-dir-refresh (bug#13960).
9091         * lisp/vc/vc-dir.el (vc-dir-resynch-file): Expand FNAME as well,
9092         since it can be abbreviated (as returned by vc-find-root).
9094 2015-10-20  Dmitry Gutov  <dgutov@yandex.ru>
9096         * lisp/vc/vc-svn.el:
9097         * lisp/vc/vc-mtn.el:
9098         * lisp/vc/vc-hg.el:
9099         * lisp/vc/vc-cvs.el:
9100         * lisp/vc/vc-git.el:
9101         * lisp/vc/vc-bzr.el: Don't declare vc-exec-after anymore.
9102         Its usages have been replaced with vc-run-delayed.
9104 2015-10-20  Dima Kogan  <dima@secretsauce.net>
9106         Fix memory leak in fontset handling
9108         * src/font.c (copy_font_spec): Make a deep copy of the input
9109         argument FONT.  (Bug#21651)
9111 2015-10-20  Michael Sperber  <mike@xemacs.org>
9113         * lisp/gnus/mailcap.el (mailcap-mime-data):
9114         Conditonalize `doc-view-mode', which does not exist on XEmacs.
9116 2015-10-20  Oleh Krehel  <ohwoeowho@gmail.com>
9118         Update the way directories are compressed
9120         * lisp/dired-aux.el (dired-compress-file-suffixes): Update the recipe
9121         for *.tar.gz decompression to use a pipe.
9122         Add an entry for the default directory compression (to *.tar.g).
9123         (dired-compress-file): Update.
9125         See https://lists.gnu.org/archive/html/emacs-devel/2015-10/msg00949.html.
9127 2015-10-20  Michael Sperber  <mike@xemacs.org>
9129         Unbreak `group' option for `mail-sources'
9131         * nnml.el (nnml-retrieve-groups, nnml-request-scan):
9132         * nnmail.el (nnmail-get-new-mail-per-group)
9133         (nnmail-get-new-mail-1): Unbreak `group' option for `mail-sources'.
9135 2015-10-19  Nicolas Petton  <nicolas@petton.fr>
9137         New function seq-position
9139         * lisp/emacs-lisp/seq.el (seq-position): New function.
9140         * test/automated/seq-tests.el: New tests for seq-position.
9141         * doc/lispref/sequences.texi: Add documentation for `seq-position'.
9143 2015-10-19  Ken Brown  <kbrown@cornell.edu>
9145         Enable --with-wide-int build on 32-bit Cygwin
9147         * src/sheap.c (STATIC_HEAP_SIZE): Remove distinction between x86
9148         and x86_64 to enable --with-wide-int build on 32-bit Cygwin.
9150 2015-10-19  Glenn Morris  <rgm@gnu.org>
9152         * doc/emacs/ack.texi (Acknowledgments): Small, sad, update.
9154 2015-10-19  Eli Zaretskii  <eliz@gnu.org>
9156         Resurrect image loading under auto-image-file-mode
9158         * src/image.c (x_find_image_fd): Handle the case of -2 returned by
9159         'openp' specially.  This special case was lost in the changes on
9160         2015-08-18.  (Bug#21685)
9162 2015-10-19  Eli Zaretskii  <eliz@gnu.org>
9164         Fix return value of 'set-file-extended-attributes'
9166         * lisp/files.el (set-file-extended-attributes): Return non-nil
9167         when setting either ACLs or SELinux context succeeds.  Document
9168         the return value.  (Bug#21699)
9170         * doc/lispref/files.texi (Changing Files): Document the return
9171         value of set-file-extended-attributes.
9173 2015-10-19  Eli Zaretskii  <eliz@gnu.org>
9175         Improve documentation of functions that change files
9177         * doc/lispref/files.texi (Changing Files): Document that these
9178         functions signal an error on failure.
9180 2015-10-18  Eli Zaretskii  <eliz@gnu.org>
9182         Fix doc string of 'shell-quote-argument'
9184         * lisp/subr.el (shell-quote-argument): Doc fix.  (Bug#21702)
9186 2015-10-18  Michael Albinus  <michael.albinus@gmx.de>
9188         Some minor Tramp changes
9190         * doc/misc/tramp.texi (Obtaining Tramp): Add http git cloning.
9192         * lisp/net/tramp.el (tramp-handle-make-auto-save-file-name):
9193         Expand `tramp-auto-save-directory'.
9195 2015-10-18  Michael Albinus  <michael.albinus@gmx.de>
9197         Minor edits in Tramp
9199         * lisp/net/tramp-adb.el (directory-listing-before-filename-regexp):
9200         Declare it.
9202         * lisp/net/tramp-compat.el (directory-listing-before-filename-regexp):
9203         Remove declaration.
9205 2015-10-17  Mark Oteiza  <mvoteiza@udel.edu>
9207         * lisp/emacs-lisp/eldoc.el: Add back-to-indentation to the command list.
9209 2015-10-17  Eli Zaretskii  <eliz@gnu.org>
9211         Avoid crashes when redisplayng a window changes faces or fonts
9213         * src/xdisp.c (redisplay_internal): If redisplaying the selected
9214         window or one of the frames turns on the frame's 'redisplay' flag,
9215         redisplay again.  (Bug#21428)
9217         * src/frame.c (x_set_font): Set the frame's 'fonts_changed' flag.
9219 2015-10-17  Michael Albinus  <michael.albinus@gmx.de>
9221         Solve timimg issues in file-notify-tests.el
9223         * test/automated/file-notify-tests.el (file-notify-test02-events):
9224         Rectify `attribute-change' tests.  There are timing issues with
9225         gfilenotify.  (Bug#21669)
9227 2015-10-16  Paul Eggert  <eggert@cs.ucla.edu>
9229         Fix quoting of data within htmlfontify doc
9231         * doc/misc/htmlfontify.texi (Data Structures, Customization):
9232         Fix quoting of data structures.  A Lisp quote is needed only
9233         when data appears within Lisp code.
9235 2015-10-16  Artur Malabarba  <bruce.connor.am@gmail.com>
9237         * lisp/emacs-lisp/package.el: Reload archive-contents if
9238         priorities change.
9239         (package--old-archive-priorities): New variable.
9240         (package-read-all-archive-contents, package-menu--refresh): Use it
9241         to decide when the `package-archive-contents' needs to be read
9242         again.
9244 2015-10-16  Paul Eggert  <eggert@cs.ucla.edu>
9246         Make src headers idempotent and standalone
9248         Redo src/*.h so that each include file is idempotent (that is, can
9249         be included multiple times with the latter inclusions having no
9250         effect) and standalone (that is, can be included by itself,
9251         with no include file other than config.h needed as a prerequisite).
9252         This is standard practice in GNU programs nowadays.
9253         * lwlib/lwlib-widget.h, src/buffer.h, src/category.h, src/character.h:
9254         * src/charset.h, src/coding.h, src/commands.h, src/disptab.h:
9255         * src/fontset.h, src/gnutls.h, src/indent.h, src/keymap.h, src/macros.h:
9256         * src/regex.h [emacs]:
9257         * src/syntax.h, src/systty.h, src/termhooks.h:
9258         Include lisp.h, for Lisp_Object.
9259         * src/buffer.h, src/category.h, src/cm.h, src/commands.h, src/disptab.h:
9260         * src/indent.h, src/intervals.h, src/keyboard.h, src/macros.h:
9261         * src/process.h, src/puresize.h, src/region-cache.h, src/syntax.h:
9262         * src/syssignal.h, src/sysstdio.h, src/systty.h, src/termchar.h:
9263         * src/termopts.h, src/tparam.h, src/unexec.h:
9264         Protect against multiple inclusion.
9265         * src/buffer.h: Include character.h, for STRING_CHAR.
9266         * src/emacsgtkfixed.h (struct frame):
9267         * src/fontset.h (struct face):
9268         * src/region-cache.h (struct buffer):
9269         * src/termhooks.h (struct glyph):
9270         * src/xsettings.h (struct x_display_info):
9271         Add possibly-forward decl.
9272         * src/syntax.h: Include buffer.h, for BVAR.
9273         * src/sysselect.h: Include lisp.h, for eassume.
9274         * src/termchar.h: Include <stdio.h>, for FILE.
9275         * src/widget.h: Include <X11/IntrinsicP.h>, for Widget.
9276         * src/xsettings.h: Include <X11/Xlib.h>, for XEvent.
9278 2015-10-16  Jürgen Hötzel  <juergen@archlinux.org>
9280         Handle symlink targets containing spaces in tramp-gvfs.el
9282         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
9283         Handle symlink targets containing spaces.
9285 2015-10-16  Artur Malabarba  <bruce.connor.am@gmail.com>
9287         * lisp/custom.el (custom-theme-load-path): Demote to defvar.
9289         `custom-theme-load-path' was a defcustom, but it shouldn't be for the
9290         same reason that `load-path' shouldn't.  Setting it via the customize
9291         interface is a trap for the user.
9293         Installed themes commonly add themselves to this variable, which means
9294         its value is not fit for being saved (it will permanently remember dirs
9295         that don't exist anymore).
9297         This is aggravated by the fact that Emacs always applies the `user'
9298         theme on top of any theme that's loaded, since this will apply the old
9299         variable value and remove any new directories that had been recently
9300         added by themes themselves.
9302         Not to mention, we already have `custom-theme-directory', which is safe
9303         to customize.
9305 2015-10-16  Stefan Monnier  <monnier@iro.umontreal.ca>
9307         * lisp/mpc.el: Rename the new toggling commands.
9308         (mpc-toggle-consume, mpc-toggle-repeat, mpc-toggle-single)
9309         (mpc-toggle-shuffle): Add "-toggle" in the name.
9311 2015-10-16  Eli Zaretskii  <eliz@gnu.org>
9313         Improve the doc string of 'completion-boundaries'
9315         * lisp/minibuffer.el (completion-boundaries): Rename the argument
9316         TABLE to COLLECTION, for consistency with other high-level
9317         completion functions.  Document how COLLECTION is called if it
9318         is a function.  (Bug#21644)
9320 2015-10-16  Oleh Krehel  <ohwoeowho@gmail.com>
9322         * lisp/dired-aux.el (dired-shell-command): Fix compile warning.
9324 2015-10-16  Oleh Krehel  <ohwoeowho@gmail.com>
9326         Make dired-do-compress work for *.zip files
9328         * lisp/dired-aux.el (dired-check-process): Transform the top-level
9329           comment into a docstring.
9330         (dired-shell-command): New command.  This mirrors
9331         `dired-check-process', but is more user-friendly for passing
9332         arguments.
9333         (dired-compress-file-suffixes): Allow to specify the command switches
9334         along with input (%i) and output (%o) inside the PROGRAM part.
9335         Add an entry for *.zip files, and update the entry for *.tar.gz files
9336         to the new style.  Update the docstring.
9337         (dired-compress-file): When PROGRAM matches %i or %o, use the new
9338         logic.
9339         (dired-update-file-line): Avoid an error when at end of buffer.
9341         Fixes bug#21637.
9343 2015-10-16  Eli Zaretskii  <eliz@gnu.org>
9345         Minor improvement in documentation of internals
9347         * doc/lispref/internals.texi (Writing Emacs Primitives): Document QUIT.
9349 2015-10-16  Eli Zaretskii  <eliz@gnu.org>
9351         Improve documentation of COLLECTION in completion functions
9353         * doc/lispref/minibuf.texi (Minibuffer Completion): Add a
9354         cross-reference to "Programmed Completion".
9356         * src/minibuf.c (Fcompleting_read): Improve the doc string.
9357         (Bug#21644)
9359 2015-10-16  Eli Zaretskii  <eliz@gnu.org>
9361         Add more release info to etc/HISTORY
9363         * etc/HISTORY: Add more release information about 19.x and 20.x
9364         versions.
9366 2015-10-15  Paul Eggert  <eggert@cs.ucla.edu>
9368         New file etc/HISTORY
9370         * admin/FOR-RELEASE: Procedure for etc/HISTORY.
9371         * etc/HISTORY: New file.
9372         * etc/NEWS: Mention it.
9374 2015-10-15  Dmitry Gutov  <dgutov@yandex.ru>
9376         js-mode: Don't misindent generator methods
9378         * lisp/progmodes/js.el (js--looking-at-operator-p): Distinguish
9379         generator methods from multiplication operator
9380         (https://github.com/mooz/js2-mode/issues/275).
9382 2015-10-15  Paul Eggert  <eggert@cs.ucla.edu>
9384         Fix animation timeout delay calculation
9386         * lisp/image.el (image-animate-timeout):
9387         Don’t assume speed is floating-point.
9389 2015-10-15  Mark Oteiza  <mvoteiza@udel.edu>
9391         Add commands for controlling MPD modes
9393         * lisp/mpc.el (mpc-cmd-consume, mpc-cmd-random, mpc-cmd-repeat)
9394         (mpc-cmd-single): New functions.
9395         (mpc-consume, mpc-repeat, mpc-single, mpc-shuffle): New commands.
9396         (mpc-mode-menu): Add new commands as menu items.
9398 2015-10-15  Dmitry Gutov  <dgutov@yandex.ru>
9400         Refer to `(elisp)Basic Completion' in completing-read docstring
9402         * src/minibuf.c (Fcompleting_read): Refer to `(elisp)Basic
9403         Completion' in the docstring (bug#21644).
9405 2015-10-14  Mark Oteiza  <mvoteiza@udel.edu>
9407         * lisp/mpc.el (mpc-format): Always push form to pred
9409 2015-10-14  Paul Eggert  <eggert@cs.ucla.edu>
9411         Spelling fixes
9413         * configure.ac (bitmapdir): Fix misspelling of bmd_acc.
9414         * test/automated/coding-tests.el (ert-test-coding-bogus-coding-systems):
9415         Fix misspelling of nonexistent file name.
9417 2015-10-14  Mark Oteiza  <mvoteiza@udel.edu>
9419         * lisp/mpc.el (mpc-mode-menu, mpc-toggle-play): Fix docstrings
9421 2015-10-14  Michael Albinus  <michael.albinus@gmx.de>
9423         Some editing fixes in Tramp
9425         * lisp/net/tramp-gvfs.el:
9426         * doc/misc/tramp.texi: "customer option" -> "custom option".
9428         * lisp/net/tramp.el (tramp-completion-function-alist): Fix docstring.
9430 2015-10-14  Jürgen Hötzel  <juergen@archlinux.org>
9432         Use proper localization in tramp-gvfs.el
9434         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
9435         Suppress localized settings in order to proper parse gfvs output.
9437 2015-10-14  Warren Lynn  <wrn.lynn@gmail.com>  (tiny change)
9439         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
9440         Quote argument in proper order.  (Bug#21562)
9442 2015-10-14  Nicolas Petton  <nicolas@petton.fr>
9444         Fix typos in docstrings
9446         * lisp/emacs-lisp/map.el:
9447         * lisp/emacs-lisp/seq.el: Fix typos in the docstrings of the pcase
9448           macros.
9450 2015-10-14  Mark Oteiza  <mvoteiza@udel.edu>
9452         * lisp/mpc.el (mpc-volume-refresh): Check if buffer is live.
9454 2015-10-14  Oleh Krehel  <ohwoeowho@gmail.com>
9456         Make dired-jump work with tar-subfile-mode
9458         * lisp/dired-x.el (dired-jump): When in `tar-subfile-mode', instead of
9459           emitting an error, switch to `tar-superior-buffer'.
9461 2015-10-14  Juanma Barranquero  <lekktu@gmail.com>
9463         * .gitignore: Add build-aux/ar-lib.
9465 2015-10-14  Nicolas Petton  <nicolas@petton.fr>
9467         Better docstrings in seq.el and map.el
9469         * lisp/emacs-lisp/map.el:
9470         * lisp/emacs-lisp/seq.el: Improve the docstring for the pcase patterns.
9472 2015-10-14  Paul Eggert  <eggert@cs.ucla.edu>
9474         Merge from gnulib
9476         This incorporates:
9477         2015-10-13 binary-io, u64, unistd: port to strict C
9478         2015-09-26 c-ctype: do not worry about EBCDIC + char signed
9479         2015-09-25 c-ctype: port better to z/OS EBCDIC
9480         2015-09-25 gnulib-common.m4: fix gl_PROG_AR_RANLIB/AM_PROG_AR clash
9481         * doc/misc/texinfo.tex, lib/binary-io.c, lib/c-ctype.h, lib/u64.c:
9482         * lib/unistd.c, m4/gnulib-common.m4, m4/gnulib-comp.m4:
9483         Copy from gnulib.
9485 2015-10-14  Paul Eggert  <eggert@cs.ucla.edu>
9487         Take XPNTR private
9489         * src/alloc.c (PURE_POINTER_P): Remove.
9490         All uses replaced with PURE_P.
9491         (XPNTR_OR_SYMBOL_OFFSET): New function.
9492         (XPNTR): Move here from lisp.h.
9493         Reimplement in terms of XPNTR_OR_SYMBOL_OFFSET.
9494         (mark_maybe_object, valid_lisp_object_p, survives_gc_p):
9495         Remove unnecessary cast.
9496         (purecopy): Use XPNTR_OR_SYMBOL_OFFSET instead of XPNTR,
9497         to avoid an unnecessary runtime test for symbols.
9498         * src/lisp.h (lisp_h_XPNTR, XPNTR): Remove, moving XPNTR to alloc.c.
9499         Only alloc.c needs XPNTR now.
9501 2015-10-13  Mark Oteiza  <mvoteiza@udel.edu>
9503         Add MPC play/pause command
9505         * lisp/mpc.el (mpc-toggle-play): New command.
9506         (mpc-mode-map): Bind it to "s".
9507         (mpc-mode-menu): Add corresponding menu item.
9509 2015-10-13  Mark Oteiza  <mvoteiza@udel.edu>
9511         Add bindings and menu items for prev and next tracks
9513         * lisp/mpc.el (mpc-mode-map): Bind ">" to mpc-next,
9514         "<" to mpc-prev.
9515         (mpc-mode-menu): Add corresponding menu items
9517 2015-10-13  Ken Raeburn  <raeburn@raeburn.org>
9519         Reduce face-related consing during frame creation.
9521         * faces.el (face--attributes-unspecified): Compute the "unspecified"
9522         attribute list once.
9523         (face-spec-reset-face): Use it instead of building the list.
9525 2015-10-13  Ken Raeburn  <raeburn@permabit.com>
9527         Do process ConfigureNotify events indicating size changes.
9529         * src/xterm.c (handle_one_xevent): If consecutive ConfigureNotify
9530         events don't have the same size, process each one.
9532 2015-10-13  Mark Oteiza  <mvoteiza@udel.edu>
9534         Derive mpc-mode from special-mode
9536         lisp/mpc.el (mpc-mode-map): Make from sparse keymap.  Unbind g.
9537         (mpc-mode): Derive from special mode.
9538         (mpc-songs-mode-map): Don't set parent keymap.
9540 2015-10-13  Mark Oteiza  <mvoteiza@udel.edu>
9542         Fix error messages for when covers are not found.
9544         The last change to mpc-format let the binding to file call
9545         mpc-file-local-copy with nil argument.  Instead, employ if-let here
9546         so nil bindings don't result in needless computation and errors.
9547         * lisp/mpc.el: Require 'subr-x at compile time.
9548         * lisp/mpc.el (mpc-format): Use if-let.
9550 2015-10-13  Oleh Krehel  <ohwoeowho@gmail.com>
9552         Make dired-do-compress work for *.tar.gz files
9554         * lisp/dired-aux.el (dired-compress-file-suffixes): Associate
9555           "tar -zxvf" to *.tar.gz; update docstring.
9557         (dired-compress-file): Allow to specify switches after the command in
9558         `dired-compress-file-suffixes'.
9560 2015-10-13  Oleh Krehel  <ohwoeowho@gmail.com>
9562         Make dired-do-compress work for directories
9564         * lisp/dired-aux.el (dired-compress-file): When FILE is a directory,
9565           instead of emitting an error, call "tar -czf FILE.tar.gz FILE".
9566         Also convert the top comment into a docstring.
9568 2015-10-13  Stefan Monnier  <monnier@iro.umontreal.ca>
9570         * lisp/mpc.el (mpc-songs-refresh): Don't side-effect `active'
9572         ... since it might come straight from the memoizing table.
9574 2015-10-13  Juanma Barranquero  <lekktu@gmail.com>
9576         * src/w32fns.c (x_change_tool_bar_height): Remove unused variable frame.
9578 2015-10-13  Mark Oteiza  <mvoteiza@udel.edu>
9580         Use special-mode in eww list modes
9582         * lisp/net/eww.el (eww-bookmark-mode, eww-history-mode)
9583         (eww-buffers-mode): Derive from special-mode and remove redundant
9584         setting of buffer-read-only.
9585         (eww-mode-map): Remove redundant keymap parent setting.
9586         (eww-bookmark-mode-map, eww-history-mode-map, eww-buffers-mode-map):
9587         Remove redundant keymap suppressions and mappings.
9589 2015-10-13  Martin Rudalics  <rudalics@gmx.at>
9591         Allow setting frame pixel sizes from frame parameters (Bug#21415)
9593         Also fix some misfeatures in frame (re-)sizing code, add more
9594         debugging information and remove some dead code.
9596         * lisp/frame.el (frame-notice-user-settings, make-frame): Change
9597         parameter names when setting `frame-size-history'.
9598         (frame--size-history): New function.
9600         * src/frame.c (frame_inhibit_resize): If frame has not been made
9601         yet, return t if inhibit_horizontal_resize or
9602         inhibit_vertical_resize bit have been set.
9603         (adjust_frame_size): Simplify.
9604         (make_frame): Initialize inhibit_horizontal_resize,
9605         inhibit_vertical_resize, tool_bar_redisplayed, tool_bar_resized.
9606         (Fframe_after_make_frame): Reset inhibit_horizontal_resize and
9607         inhibit_vertical_resize slots.
9608         (x_set_frame_parameters): Handle `text-pixels' specification for
9609         width and height parameters.  Don't consider new_height or
9610         new_width changes.  Call adjust_frame_size instead of
9611         Fset_frame_size.
9612         (x_figure_window_size): Two new arguments x_width and y_width
9613         returning frame's figures width and height.  Calculate tool bar
9614         height before frame sizes so SET_FRAME_HEIGHT can pick it up.
9615         Handle `text-pixels' specification for width and height
9616         parameters.
9617         (Qtext_pixels, Qx_set_frame_parameters, Qset_frame_size)
9618         (Qx_set_window_size_1, Qx_set_window_size_2)
9619         (Qx_set_window_size_3, Qx_set_menu_bar_lines)
9620         (Qupdate_frame_menubar, Qfree_frame_menubar_1)
9621         (Qfree_frame_menubar_2): New symbols.
9622         * src/frame.h (structure frame): New booleans
9623         tool_bar_redisplayed, tool_bar_resized,
9624         inhibit_horizontal_resize, inhibit_vertical_resize.
9625         (x_figure_window_size): Update external declaration.
9626         * src/gtkutil.c (xg_frame_set_char_size): Set size hints before
9627         calling gtk_window_resize.
9628         (update_frame_tool_bar): Make inhibiting of frame resizing more
9629         discriminative.  Set tool_bar_resized bit.
9630         * src/nsfns.m (x_set_tool_bar_lines): Make inhibiting of frame
9631         resizing more discriminative.  Call adjust_frame_size instead of
9632         x_set_window_size.
9633         (Fx_create_frame): Handle x_width and x_height if
9634         set by x_figure_window_size.
9635         * src/nsterm.m (x_set_window_size): For GNUSTEP build don't
9636         subtract 3 from tool bar height.
9637         (x_set_window_size): Add frame_size_history_add call.
9638         (x_new_font): Call adjust_frame_size instead of
9639         x_set_window_size.
9640         * src/w32fns.c (x_change_tool_bar_height): Reset
9641         tool_bar_redisplayed and tool_bar_resized bits when adding tool
9642         bar.  Make inhibiting of frame resizing more discriminative.
9643         (w32_wnd_proc): Remove dead code in WM_WINDOWPOSCHANGING case.
9644         (Fx_create_frame): Handle x_width and x_height if set by
9645         x_figure_window_size.  Set size hints before adjusting frame size.
9646         (x_create_tip_frame): Adjust x_figure_window_size call.
9647         * src/w32term.c (x_set_window_size): Add frame_size_history_add
9648         call.
9649         * src/widget.c (set_frame_size): Remove dead code.  Add
9650         frame_size_history_add call.  When frame_resize_pixelwise is t
9651         use FRAME_PIXEL_WIDTH and FRAME_PIXEL_HEIGHT instead of
9652         pixel_width and pixel_height.
9653         (update_various_frame_slots): Remove dead code.
9654         (EmacsFrameResize): Add more information in
9655         frame_size_history_add call.
9656         (EmacsFrameQueryGeometry): Round only when frame_resize_pixelwise
9657         is not set.
9658         * src/xdisp.c (redisplay_tool_bar): Set tool_bar_redisplayed bits.
9659         * src/xfns.c (x_set_menu_bar_lines): Change argument name.
9660         (x_change_tool_bar_height): Reset tool_bar_redisplayed and
9661         tool_bar_resized bits when adding tool bar.  Make inhibiting of
9662         frame resizing more discriminative.
9663         (Fx_create_frame): Handle x_width and x_height if set by
9664         x_figure_window_size.  Set size hints before adjusting frame size.
9665         (x_create_tip_frame): Adjust x_figure_window_size call.
9666         * src/xmenu.c (update_frame_menubar): Don't handle Lucid specially.
9667         (set_frame_menubar): On Lucid never add core-border-width to
9668         avoid that adding XtNinternalBorderWidth adds it again.
9669         (free_frame_menubar): Handle frame_inhibit_resize true for Motif.
9670         * src/xterm.c (x_new_font): In non-toolkit case handle size
9671         change of menu bar.
9672         (x_set_window_size_1): Fix calls to frame_size_history_add.
9673         (x_wm_set_size_hint): Remove dead code.  Set
9674         size_hints.min_width and size_hints.min_height to base_width and
9675         base_height.
9677 2015-10-13  Michael Albinus  <michael.albinus@gmx.de>
9679         * test/automated/file-notify-tests.el (file-notify--test-timeout):
9680         Add docstring.  Increase to 10 seconds for remote
9681         directories.  (Bug#21669)
9683 2015-10-12  Paul Eggert  <eggert@cs.ucla.edu>
9685         Unmacroize ebrowse.c and etags.c a bit
9687         * lib-src/ebrowse.c (READ_CHUNK_SIZE): Now an enum constant.
9688         (streq, filename_eq, set_flag, has_flag): Now inline functions.
9689         (set_flag): First arg is now an address, not an lvalue.
9690         All callers changed.
9691         (filename_eq, set_flag, has_flag):
9692         Rename from FILENAME_EQ, SET_FLAG, HAS_FLAG.
9693         All callers changed.
9694         * lib-src/etags.c (streq, strcaseeq, strneq, strncaseeq):
9695         Now inline functions.  Remove asserts that are unnecessary these
9696         days (and in some cases were too-generous anyway).
9698 2015-10-12  Mark Oteiza  <mvoteiza@udel.edu>
9700         Use highlight for current items
9702         * lisp/mpc.el (mpc-select-make-overlay, mpc-tagbrowser-all-select):
9703         Apply highlight face instead of region face.
9705 2015-10-12  Mark Oteiza  <mvoteiza@udel.edu>
9707         Search for more cover image names in MPC
9709         * lisp/mpc.el (mpc-format): Also look for .folder.jpg or folder.jpg
9710         case insensitively
9712 2015-10-12  Juanma Barranquero  <lekktu@gmail.com>
9714         Remove or comment out unused variables
9716         * src/w32fns.c (x_set_mouse_color): Comment out variables cursor,
9717         nontext_cursor, mode_cursor, hand_cursor and count.
9718         (x_change_tool_bar_height): Remove variable old_text_height.
9719         (deliver_wm_chars): Remove variable strip_Alt.
9720         (Fw32_shell_execute): Remove variable document_a.
9721         (Fw32_frame_geometry): Remove variable fullboth.
9722         * src/w32term.c (w32_setup_relief_color): Comment out variable
9723         w32_display_info.
9724         (w32_horizontal_scroll_bar_handle_click): Remove variables start, end.
9725         (w32_read_socket): Comment out variables rows, columns.
9726         * src/w32uniscribe.c (uniscribe_check_otf_1): Remove variable rest.
9728 2015-10-12  Juanma Barranquero  <lekktu@gmail.com>
9730         * src/w32proc.c (sys_select): Fix bitwise test.
9732 2015-10-12  Eli Zaretskii  <eliz@gnu.org>
9734         Minor typo corrections in doc strings
9736         * lisp/menu-bar.el (popup-menu, popup-menu-normalize-position):
9737         Doc fixes.
9739 2015-10-12  Eli Zaretskii  <eliz@gnu.org>
9741         * nt/INSTALL: Recommend MSYS Automake/Autoconf from ezwinports.
9743 2015-10-12  Eli Zaretskii  <eliz@gnu.org>
9745         Attempt to avoid crashes in plist-member
9747         * src/fns.c (Fplist_member): Don't call QUIT between a CONSP test
9748         and a call to XCDR.  (Bug#21655)
9750 2015-10-12  Mike FABIAN  <mfabian@redhat.com>
9752         * lisp/select.el (gui-get-primary-selection): In
9753         gui-get-primary-selection use gui--selection-value-internal (Bug#20906)
9755 2015-10-12  Tassilo Horn  <tsdh@gnu.org>
9757         Support RTF in doc-view
9759         * lisp/doc-view.el (doc-view-set-doc-type): Add entry for RTF extension.
9761 2015-10-12  Juanma Barranquero  <lekktu@gmail.com>
9763         * src/w32fns.c (get_wm_chars): Increment counter, not pointer.
9765 2015-10-11  Nicolas Petton  <nicolas@petton.fr>
9767         Replace the usage of an obsolete function in auth-source.el
9769         * lisp/gnus/auth-source.el (auth-source-epa-make-gpg-token):
9770         Replace an usage of `epg-context-set-armor' with `setf'.
9772 2015-10-11  Nicolas Petton  <nicolas@petton.fr>
9774         * lisp/gnus/auth-source.el: Use sharp-quoting with functions.
9776 2015-10-11  Jay Belanger  <jay.p.belanger@gmail.com>
9778         Have calc-yank recognize numbers in different bases.
9780         * lisp/calc/calc-yank.el (math-number-regexp): New function.
9781         (calc-yank): Use `math-number-regexp' to recognize numbers.
9783 2015-10-11  Ken Raeburn  <raeburn@raeburn.org>
9785         Handle an opaque-move X11 window manager operation more efficiently
9787         * src/xterm.c (handle_one_xevent): If a ConfigureNotify event is
9788         followed by more ConfigureNotify events for the same window, process
9789         only the last one.
9791 2015-10-11  Ken Raeburn  <raeburn@raeburn.org>
9793         Fix cursor setting for tip frame; re-enable cursor generation
9795         * src/xfns.c (x_create_tip_frame): Include the cursor in the window
9796         attributes sent when creating the new X window.  Don't skip setting
9797         the pointerColor parameter.
9799 2015-10-11  Ken Raeburn  <raeburn@raeburn.org>
9801         Rewrite x_set_mouse_color to sync less
9803         We can track serial numbers of X requests and correlate error events
9804         with the associated requests.  This way we can identify errors for
9805         specific calls without having to use XSync after every one.
9807         * src/xfns.c (enum mouse_cursor): New type.
9808         (struct mouse_cursor_types, struct mouse_cursor_data): New types.
9809         (mouse_cursor_types): New array listing the Lisp variables and default
9810         cursor appearances for each cursor type.
9811         (x_set_mouse_color_handler): New function; checks error event serial
9812         number against submitted requests.
9813         (x_set_mouse_color): Updated to use the new error handler callback,
9814         and to be more table-driven, to simplify repetitious code.
9816 2015-10-11  Ken Raeburn  <raeburn@raeburn.org>
9818         Add x_catch_errors_with_handler
9820         * src/xterm.c (struct x_error_message_stack): Add new fields for a
9821         callback function and associated data pointer.
9822         (x_error_catcher): If the callback function is set, call it after
9823         saving the error message string.
9824         (x_catch_errors_with_handler): Renamed from x_catch_errors but now
9825         accepts a callback function and data pointer.
9826         (x_catch_errors): Now a wrapper function.
9827         * src/xterm.h (x_special_error_handler): New typedef.
9828         (x_catch_errors_with_handler): Declare.
9830 2015-10-11  Ken Raeburn  <raeburn@raeburn.org>
9832         Introduce x_uncatch_errors_after_check to reduce XSync calls
9834         Both x_had_errors_p and x_check_errors call XSync, so if they're
9835         immediately followed by x_uncatch_errors, its XSync call will be
9836         redundant, resulting in a wasted round trip to the X server.
9838         * src/xterm.c (x_uncatch_errors_after_check): New routine; a copy of
9839         x_uncatch_errors without the XSync call.
9840         (XTmouse_position, x_wm_supports):
9841         * src/xfns.c (x_set_mouse_color):
9842         * src/xmenu.c (Fx_menu_bar_open_internal):
9843         * src/xselect.c (x_own_selection, x_get_foreign_selection):
9844         (Fx_get_atom_name): Call it instead of x_uncatch_errors.
9845         * src/xterm.h (x_uncatch_errors_after_check): Declare.
9847 2015-10-10  Jay Belanger  <jay.p.belanger@gmail.com>
9849         Document the optional prefix to `calc-yank'
9851         * doc/misc/calc.texi (Yanking into the Stack): Document the optional
9852         prefix to `calc-yank'.
9853         * lisp/calc/calc-yank.el (calc-yank): Ensure that things killed from
9854         the Calc buffer are yanked back unchanged.
9856 2015-10-10  Mark Oteiza  <mvoteiza@udel.edu>
9858         * lisp/calendar/calendar.el: Display buffer before executing body.
9860         In each use of this macro, the modeline is derived from a window width
9861         calculation, which will be wrong if (display-buffer) splits the window
9862         horizontally.
9864 2015-10-10  Paul Eggert  <eggert@cs.ucla.edu>
9866         Use ‘echo’ safely with ‘\’ or leading ‘-’
9868         POSIX says that ‘echo FOO’ produces implementation-defined output
9869         if FOO contains leading ‘-’, or ‘\’ anywhere, so don’t assume GNU
9870         behavior in that case.
9871         * Makefile.in (removenullpaths): Remove.
9872         (epaths-force): Rewrite to avoid the need for ‘echo’.
9873         (install-etc): Be clearer about escaping the shell metacharacters
9874         ‘\’ and ‘$’.
9875         * Makefile.in (install-arch-indep, install-etcdoc):
9876         * admin/charsets/mapconv, admin/merge-gnulib, admin/merge-pkg-config:
9877         * admin/quick-install-emacs, build-aux/gitlog-to-emacslog:
9878         * configure.ac, lib-src/rcs2log, make-dist:
9879         * src/Makefile.in (lisp.mk):
9880         Don’t assume ‘echo’ outputs ‘\’ and leading ‘-’ unscathed.
9881         For example, use ‘printf '%s\n' "$foo"’ rather than ‘echo "$foo"’
9882         if $foo can contain arbitrary characters.
9883         * lisp/Makefile.in (TAGS): Use ‘ls’, not ‘echo’, to avoid ‘\’ issues.
9884         * doc/lispref/two-volume.make (vol1.pdf):
9885         * test/etags/make-src/Makefile (web ftp publish):
9886         Use ‘printf’ rather than ‘echo -e’.
9888 2015-10-10  Kaushal Modi  <kaushal.modi@gmail.com>
9890         Allow numbers with different radixes to be yanked.
9892         * lisp/calc/calc-yank.el (calc-yank): Allow radixes besides the
9893         default base 10.
9895 2015-10-10  Paul Eggert  <eggert@cs.ucla.edu>
9897         Improve CHECK_IMPURE and PURE_P speedup
9899         * src/data.c (Faset): Use XVECTOR and XSTRING rather than XPNTR.
9901 2015-10-10  Jay Belanger  <jay.p.belanger@gmail.com>
9903         Use events instead of chars to keep track of steps.
9905         * lisp/calc/calc-prog.el (calc-kbd-loop): Use events instead of chars
9906         to keep track of steps.
9908 2015-10-10  Paul Eggert  <eggert@cs.ucla.edu>
9910         Fix --enable-gcc-warnings problem with older GCC
9912         * src/puresize.h: Add INLINE_HEADER_BEGIN, INLINE_HEADER_END.
9913         This is for building with --enable-gcc-warnings with
9914         GCC 4.6 through 5.0.
9916 2015-10-10  Eli Zaretskii  <eliz@gnu.org>
9918         Fix vertical-motion in truncated lines that end in a stretch
9920         * src/indent.c (Fvertical_motion): Expect overshoot when point is
9921         beyond window margin and lines are truncated, even if we have a
9922         stretch at point.  (Bug#21468)
9924 2015-10-10  Eli Zaretskii  <eliz@gnu.org>
9926         Avoid link-time errors due to inline functions
9928         * src/emacs.c: Include puresize.h, to avoid link-time errors in
9929         unoptimized builds due to PURE_P and CHECK_IMPURE, which are now
9930         inline functions.
9932 2015-10-10  Andreas Schwab  <schwab@linux-m68k.org>
9934         * src/data.c (Faset): Fix last change.
9936 2015-10-10  Paul Eggert  <eggert@cs.ucla.edu>
9938         CHECK_IMPURE and PURE_P speedup
9940         * src/intervals.c (create_root_interval):
9941         Do CHECK_IMPURE only for strings; not needed for buffers.
9942         Prefer ! STRINGP to BUFFERP, for a tad more speed.
9943         * src/puresize.h (CHECK_IMPURE, PURE_P):
9944         Now inline functions instead of macros.
9945         (PURE_P): Don’t use XPNTR; that is now the caller’s responsibility.
9946         All callers changed.
9947         (CHECK_IMPURE): New argument PTR, to save us the work of running XPNTR.
9948         All callers changed.
9950 2015-10-09  Noah Friedman  <friedman@splode.com>
9952         (tramp-open-connection-setup-interactive-shell): Send -onlcr as well.
9954 2015-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
9956         * lisp/progmodes/cc-mode.el (c-after-font-lock-init): Only *move*
9958         our after-change-function, rather than re-adding it if it was removed.
9960 2015-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
9962         * lisp/cedet/ede: Silence some compiler warnings
9964         * lisp/cedet/ede.el: Require cl-lib.  Silence some compiler warnings.
9965         (ede-menu-obj-of-class-p): Use cl-some rather than `eval'.
9966         (ede-apply-object-keymap, ede-reset-all-buffers)
9967         (ede-auto-add-to-target): Use dolist.
9968         (ede-new, ede-flush-deleted-projects, ede-global-list-sanity-check):
9969         Use field names rather than initarg names in `oref'.
9970         (ede-load-project-file): Remove unused var `file'.
9971         (ede-map-any-target-p): Use cl-some rather than ede-map-targets.
9972         (ede-set): Remove unused var `a'.
9974         * lisp/cedet/ede/emacs.el: Silence some compiler warnings.
9975         (ede-project-autoload): Avoid the old-style "name" argument.
9976         (ede-emacs-find-matching-target): Use field names rather than initarg
9977         names in `oref'.
9979         * lisp/cedet/ede/linux.el: Silence some compiler warnings.
9980         (ede-linux-load, ede-project-autoload): Avoid the old-style
9981         "name" argument.
9982         (ede-linux-find-matching-target): Use field names rather than initarg
9983         names in `oref'.
9985 2015-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
9987         * lisp/textmodes/reftex.el: Silence byte-compiler warnings.
9989 2015-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
9991         * lisp/progmodes/prolog.el (prolog-smie-rules): Try and avoid
9992         indenting too far after ":-".
9994 2015-10-09  Eli Zaretskii  <eliz@gnu.org>
9996         Update case-table and categories of recently added characters
9998         * lisp/international/characters.el: Update information about Latin
9999         Extended-C, Latin Extended-D, Latin Extended-E, Cyrillic Extended,
10000         Georgian, Glagolitic, Deseret, Old Hungarian, and Warang Citi
10001         blocks.  (Byug#21654)
10003 2015-10-09  Martin Rudalics  <rudalics@gmx.at>
10005         * src/frame.c (adjust_frame_size): In minibuffer-only windows
10006         don't count minibuffer height twice.  (Bug#21643)
10008 2015-10-09  Eli Zaretskii  <eliz@gnu.org>
10010         Avoid inflooping in font-lock
10012         * lisp/font-lock.el (font-lock-extend-region-wholelines): Bind
10013         inhibit-field-text-motion around the call to
10014         line-beginning-position, to avoid inflooping.  (Bug#21615)
10016 2015-10-09  Tassilo Horn  <tsdh@gnu.org>
10018         Refactor duplicated code; ensure default is in completions
10020         * lisp/textmodes/reftex-cite.el (reftex--query-search-regexps):
10021         New function.
10022         (reftex-extract-bib-entries): Use it.
10023         (reftex-extract-bib-entries-from-thebibliography): Use it.
10025 2015-10-09  Vincent Belaïche  <vincentb1@users.sourceforge.net>
10027         * doc/misc/autotype.texi (Skeletons as Abbrevs): "if" -> "ifst"
10028         in the example.
10030 2015-10-08  Stefan Monnier  <monnier@iro.umontreal.ca>
10032         * lisp/calc/calc.el: Silence byte-compiler warnings.
10033         (calc-scan-for-dels): Use ignore-errors.
10034         (calc-dispatch, calc-do-dispatch): Make unused arg optional.
10035         (calc-read-key-sequence): Remove unused var `prompt2'.
10036         (calc-kill-stack-buffer): Remove unused var `buflist'.
10037         (calc): Remove unused var `oldbuf'.
10038         (calc-refresh): Use inhibit-read-only.
10039         (calc-can-abbrev-vectors): Declare.
10040         (calc-record): Remove unused var `mainbuf'.
10041         (math-sub-bignum): Remove unused var `sum'.
10042         (math-svo-c, math-svo-wid, math-svo-off): Declare.
10044 2015-10-08  Daiki Ueno  <ueno@gnu.org>
10046         Use g_clear_error instead of g_error_free
10048         * src/image.c: Define g_clear_error instead of g_error_free.
10049         (init_svg_functions): Resolve symbol g_clear_error instead of
10050         g_error_free.
10051         (svg_load_image): Use g_clear_error instead of g_error_free, to
10052         suppress GLib warnings when ERR is not set.  See bug#21641.
10054 2015-10-08  Paul Eggert  <eggert@cs.ucla.edu>
10056         * src/image.c (image_size_error): Simplify.
10058 2015-10-08  Paul Eggert  <eggert@cs.ucla.edu>
10060         Fix problems caught with --enable-gcc-warnings
10062         * src/image.c (lookup_rgb_color):
10063         * src/xfns.c (x_defined_color):
10064         * src/xterm.c (x_parse_color):
10065         Remove unused locals.
10067 2015-10-08  Jay Belanger  <jay.p.belanger@gmail.com>
10069         * lisp/calc/calc.el (calc-digit-start-entry): Fix typo.
10071 2015-10-08  Jay Belanger  <jay.p.belanger@gmail.com>
10073         Format initial input uniformly
10075         * lisp/calc/calc.el (calc-digit-start-entry): New function.
10076         * lisp/calc/calc.el (calcDigit-start):
10077         * lisp/calc/calc-aent.el (calc-alg-digit-entry):
10078         Use `calc-digit-start-entry' to format input.
10080 2015-10-08  Ken Raeburn  <raeburn@raeburn.org>
10082         Disable non-working pointerColor setting for X tooltip frame
10084         It generates a bunch of server traffic, but there's some bug wherein
10085         the new mouse cursor settings don't seem to get used.  In most
10086         situations the cursor isn't likely to be seen anyway, so it's not
10087         urgent to fix.
10089         * src/xfns.c (x_create_tip_frame): Don't set pointerColor.
10091 2015-10-08  Ken Raeburn  <raeburn@raeburn.org>
10093         Reduce some unnecessary X calls
10095         * src/xfns.c (x_real_pos_and_offsets): Remove a redundant XGetGeometry
10096         call.  If border width is wanted, get it from the XGetGeometry call
10097         instead of calling XGetWindowAttributes on the same window.  Skip some
10098         X calls if we've already detected an error from the X server.
10099         * src/xterm.c (x_wm_supports): Delete x_sync before x_had_errors_p.
10100         (handle_one_xevent): Delete XSync call before x_uncatch_errors.
10102 2015-10-08  Ken Raeburn  <raeburn@raeburn.org>
10104         Reduce color allocation/query traffic in the TrueColor case
10106         When working with an X visual with TrueColor class, pixel values can
10107         be generated from the RGB values according to mask value provided by
10108         the server on connection.  Some of the image-handling code was already
10109         doing this.
10111         * src/xterm.h (x_make_truecolor_pixel): New function; code taken from
10112         lookup_rgb_color.
10113         (x_mutable_colormap): New function.
10114         * src/image.c (lookup_rgb_color): Move pixel composition code to
10115         x_make_truecolor_pixel.
10116         (x_kill_gs_process): Call x_mutable_colormap.
10117         * src/xfaces.c (x_free_colors, x_free_dpy_colors): Call
10118         x_mutable_colormap.
10119         * src/xftfont.c (xftfont_get_colors): Call x_query_colors.
10120         * src/xterm.c (x_query_colors): For a TrueColor display, decompose the
10121         pixel value into RGB values directly, and don't send a request to the
10122         server.
10123         (x_alloc_nearest_color): For a TrueColor display, construct the pixel
10124         value with x_make_truecolor_pixel.
10125         (x_copy_color): For an immutable color map, just return the provided
10126         pixel value.
10128 2015-10-08  Ken Raeburn  <raeburn@raeburn.org>
10130         Cache XParseColor results in the X display info structure
10132         With repeated lookups of foreground and background colors for multiple
10133         faces per frame, we issue a lot of redundant color name lookups to the
10134         X server, waiting every time for the response.  On a remote network
10135         with, say, 30ms round-trip time, this can add nearly a full second to
10136         creation of a new frame.
10138         * src/gtkutil.c (xg_check_special_colors): Call x_parse_color.
10139         * src/image.c (get_spec_bg_or_alpha_as_argb):
10140         (xpm_init_color_cache, xpm_lookup_color):
10141         * src/xfns.c (x_defined_color):
10142         * src/xterm.c (x_parse_color): New function; caches color names not
10143         starting with "#" in the display-info structure.
10144         (x_delete_display): Delete the cache content.
10145         * src/xterm.h (struct color_name_cache_entry): New type.
10146         (x_parse_color): Declare.
10147         (struct x_display_info): Add a new field for the cache.
10149 2015-10-07  Stefan Monnier  <monnier@iro.umontreal.ca>
10151         * src/syntax.c (syms_of_syntax): Make syntax-propertize--done local.
10153 2015-10-07  Eli Zaretskii  <eliz@gnu.org>
10155         Fix segfault in image_size_error
10157         * src/image.c (image_size_error): Pass a Lisp string to
10158         image_error, not a C string.  (Bug#21641)
10160 2015-10-07  Simen Heggestøyl  <simenheg@gmail.com>
10162         Highlight CSS variable definitions
10164         * lisp/textmodes/css-mode.el (css-nmstart-re): Tweak regexp to accept
10165         CSS variables.  (Bug#21638)
10167 2015-10-07  Artur Malabarba  <bruce.connor.am@gmail.com>
10169         * test/automated/tabulated-list-test.el: New file.
10170         Test bug#21639 and some basic functionality.
10172 2015-10-07  Artur Malabarba  <bruce.connor.am@gmail.com>
10174         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-sort):
10175         Check if column can be sorted before trying.  (Bug#21639)
10177 2015-10-07  Nicolas Richard  <youngfrog@members.fsf.org>
10179         Add test for `self-insert-command' (bug#21633)
10181         * test/automated/cmds-tests.el: New file.
10183 2015-10-07  Martin Rudalics  <rudalics@gmx.at>
10185         * src/window.c (resize_frame_windows): Don't set root window's
10186         top position when resizing horizontally.
10188 2015-10-07  Artur Malabarba  <bruce.connor.am@gmail.com>
10190         * lisp/progmodes/prog-mode.el (prettify-symbols-alist):
10191         Document more possible values.
10193 2015-10-06  Stefan Monnier  <monnier@iro.umontreal.ca>
10195         * lisp/textmodes/tex-mode.el: Use lexical-binding.
10197 2015-10-06  Stefan Monnier  <monnier@iro.umontreal.ca>
10199         * lisp/indent.el (indent--default-inside-comment): New function.
10200         (indent-for-tab-command): Use it for `noindent' indentation.
10202 2015-10-06  Paul Eggert  <eggert@cs.ucla.edu>
10204         Fix bug in GC_CHECK_MARKED_OBJECTS check
10206         * src/alloc.c (mark_object): Fix bug in checking code.
10207         When GC_CHECK_MARKED_OBJECTS is defined, the bug caused
10208         CHECK_ALLOCATED_AND_LIVE_SYMBOL to repeatedly do the
10209         CHECK_ALLOCATED and CHECK_LIVE tests for the first symbol in each
10210         bucket.  The bug did not affect behavior either in the normal case
10211         where GC_CHECK_MARKED_OBJECTS is not defined, or where Emacs does
10212         not have an internal error that a properly-written
10213         CHECK_ALLOCATED_AND_LIVE_SYMBOL would detect.
10215 2015-10-06  Tassilo Horn  <tsdh@gnu.org>
10217         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist):
10218         Add prettified version for \\Bbb{Q}.
10220 2015-10-06  Artur Malabarba  <bruce.connor.am@gmail.com>
10222         * test/automated/package-test.el (package-test-install-single):
10223         Add a test for bug#21625.
10225 2015-10-06  Aaron Ecay  <aaronecay@gmail.com>
10227         * lisp/emacs-lisp/package.el (package-install): Fix error when pkg is
10228           not a package-desc object.  Also clarify documentation.  (Bug#21625)
10230 2015-10-06  Eli Zaretskii  <eliz@gnu.org>
10232         Fix display of characters adjacent to ZWJ and ZWNJ
10234         * src/bidi.c (bidi_resolve_neutral): Treat all Bn (a.k.a. "control")
10235         characters the same as directional formatting controls.
10236         (bidi_level_of_next_char): Include all Bn characters in rule L1,
10237         as mandated by the UBA.
10239 2015-10-06  Andreas Schwab  <schwab@suse.de>
10241         * src/cmds.c (Fself_insert_command): Don't use XFASTINT on a negative
10242         number.  (Bug#21633)
10244 2015-10-05  Xue Fuqiao  <xfq.free@gmail.com>
10246         * doc/lispref/objects.texi (Window Type): Add a cross reference.
10248         * src/buffer.c (syms_of_buffer): Typo fix.  (Bug#21622)
10250 2015-10-05  Eli Zaretskii  <eliz@gnu.org>
10252         * lisp/language/misc-lang.el (composition-function-table):
10253         Fix entries for Arabic and Syriac.
10255 2015-10-05  Damien Cassou  <damien@cassou.me>
10257         Add first unit tests for auth-source.el
10259         * test/automated/auth-source-tests.el: New file.
10261 2015-10-05  Eli Zaretskii  <eliz@gnu.org>
10263         Remove redundant redisplay code
10265         * src/xdisp.c (redisplay_internal, try_cursor_movement)
10266         (try_window_reusing_current_matrix, try_window_id): Remove
10267         redundant restrictions on redisplay optimizations based on the
10268         frame's 'redisplay' flag.  See
10269         http://osdir.com/ml/general/2015-10/msg02110.html for the relevant
10270         discussions.
10272 2015-10-04  Stefan Monnier  <monnier@iro.umontreal.ca>
10274         * src/xdisp.c (windows_or_buffers_changed): Improve docstring.
10276 2015-10-04  Xue Fuqiao  <xfq.free@gmail.com>
10278         Update tutorials/TUTORIAL.cn
10280         * etc/tutorials/TUTORIAL.cn: Improve translation.
10282 2015-10-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
10284         * src/macfont.m (macfont_encode_char, syms_of_macfont):
10285         Remove unused vars.
10287 2015-10-04  Stefan Merten  <stefan@merten-home.de>
10289         Pull in version numbers from rst.el upstream release.
10291         * lisp/textmodes/rst.el (rst-cvs-header, rst-svn-rev)
10292         (rst-svn-timestamp, rst-official-version)
10293         (rst-official-cvs-rev, rst-package-emacs-version-alist):
10294         Update version numbers.
10296 2015-10-04  Eli Zaretskii  <eliz@gnu.org>
10298         * test/automated/coding-tests.el: New file.
10300 2015-10-04  Michael Albinus  <michael.albinus@gmx.de>
10302         Improve XEmacs compatibility of Tramp
10304         * lisp/net/tramp-compat.el (directory-listing-before-filename-regexp):
10305         Declare if it doesn't exist.
10306         (file-remote-p): Remove defalias, which was necessary for GNU Emacs 21.
10307         (redisplay): Make it an alias if it doesn't exist.
10309         * lisp/net/tramp.el (tramp-get-remote-tmpdir): Don't use
10310         `file-remote-p' (due to XEmacs compatibility).
10312         * lisp/net/trampver.el (locate-dominating-file)
10313         (tramp-compat-replace-regexp-in-string): Autoload.
10314         (tramp-repository-get-version): Do not dupe byte-compiler.
10316 2015-09-02  K. Handa  <handa@gnu.org>
10318         fix for the case that M17N_FLT_USE_NEW_FEATURE is not defined
10320         * src/ftfont.c (ftfont_drive_otf) [not M17N_FLT_USE_NEW_FEATURE]:
10321         Adjusted for the change of type of elements in the array
10322         MFLTGlyphString.glyphs.
10324 2015-10-04  Eli Zaretskii  <eliz@gnu.org>
10325             Michael Heerdegen  <michael_heerdegen@web.de>
10327         shr: fix too long lines in rendered buffers (Bug#21012)
10329         * lisp/net/shr.el (shr-insert-document, shr-fill-text):
10330         Correct calculation of available width.
10331         (shr-find-fill-point): Don't overflow window edge if shr-kinsoku-shorten
10332         is nil.
10334 2015-10-04  Vincent Belaïche  <vincentb1@users.sourceforge.net>
10336         Restore blank line before next section, erroneously erased
10337         in my previous commit
10339         * etc/compilation.txt (symbol ant): Add an additional trailing blank
10340         line to this section, so that there are two of them immediately before
10341         the next section.
10343 2015-10-04  Vincent Belaïche  <vincentb1@users.sourceforge.net>
10345         Support MSW filename style for ant compilation error regexp
10347         * etc/compilation.txt (symbol ant):
10348         * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
10349         Support MSW filename style.
10351 2015-10-03  Paul Eggert  <eggert@cs.ucla.edu>
10353         * nt/INSTALL: Minor spelling and quote fixes.
10355         * lisp/ibuffer.el: Fix docstring length (Bug#21541).
10357 2015-10-03  Simen Heggestøyl  <simenheg@gmail.com>
10359         Maintain ordering of JSON object keys by default
10361         * lisp/json.el (json-object-type): Mention order handling in doc-string.
10362         (json--plist-reverse): New utility function.
10363         (json-read-object): Maintain ordering for alists and plists.
10364         (json-pretty-print): Ensure that ordering is maintained.
10366         * test/automated/json-tests.el (test-json-plist-reverse): New test for
10367         `json--plist-reverse'.
10368         (json-read-simple-alist): Update test to accommodate for changes in
10369         `json-read-object'.
10371         * etc/NEWS: Document the new behavior of the pretty printing functions.
10373 2015-10-03  Andreas Schwab  <schwab@linux-m68k.org>
10375         * src/coding.c (complement_process_encoding_system): Revert last change.
10377 2015-10-03  Ulf Jasper  <ulf.jasper@web.de>
10379         * admin/MAINTAINERS: Add entry for Ulf Jasper.
10381 2015-10-03  Xue Fuqiao  <xfq.free@gmail.com>
10383         Doc fix for `defmacro'
10385         * doc/lispref/objects.texi (Macro Type): `defmacro' is a macro now.
10387 2015-10-03  Andreas Schwab  <schwab@linux-m68k.org>
10389         More validatation of coding systems
10391         * src/fileio.c (Finsert_file_contents): Remove redundant
10392         coding-system check.
10393         (choose_write_coding_system): Likewise.
10394         * src/coding.c (complement_process_encoding_system): Check argument
10395         for valid coding system.
10397 2015-10-03  Eli Zaretskii  <eliz@gnu.org>
10399         Avoid crashes in coding_inherit_eol_type
10401         * src/coding.c (coding_inherit_eol_type): Check the validity of
10402         the arguments.  Suggested by Andreas Schwab <schwab@linux-m68k.org>.
10403         (Bug#21602)
10405 2015-10-03  Eli Zaretskii  <eliz@gnu.org>
10407         More validatation of coding system in 'write-region'
10409         * src/coding.c (choose_write_coding_system): More validation of
10410         coding-system from various sources.  Suggested by Andreas Schwab
10411         <schwab@linux-m68k.org>.  (Bug#21602)
10413 2015-10-03  Eli Zaretskii  <eliz@gnu.org>
10415         Avoid crashes due to invalid coding-system
10417         * src/fileio.c (choose_write_coding_system)
10418         (Finsert_file_contents): Check validity of coding-system-for-write
10419         and coding-system-for-read bound by the caller.  (Bug#21602)
10421 2015-10-03  Tassilo Horn  <tsdh@gnu.org>
10423         Adapt to new prettify-symbols-unprettify-at-point default
10425         * etc/NEWS: Mention that unprettication of symbol at point is off
10426         by default.
10428 2015-10-03  Tassilo Horn  <tsdh@gnu.org>
10430         Revert my two recent process.c changes
10432         Revert "Improve last commit to process.c" and "Remove callback-handled
10433         channels from Available set" because they did not fix bug#21313.
10435         This reverts commits bfa1aa8e2bdaf14adbbf1e9e824051d3f740694c and
10436         27f871907cc24f33a7d12ac3a4ab71a88f0bc554.
10438 2015-10-02  Markus Triska  <triska@metalevel.at>
10440         * lisp/progmodes/prolog.el: Update and extend operator table.
10441         (prolog-smie-grammar): Add multifile, public etc.
10443 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
10445         Allow autogen even when Git is not installed
10447         * autogen.sh: Test ‘git status’ before trying to use Git.
10449 2015-10-02  Stefan Monnier  <monnier@iro.umontreal.ca>
10451         * lisp/vc/vc-git.el (vc-git-region-history): Handle local changes.
10452         Adjust lto/lfrom when we have uncommitted changes.
10454 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
10456         Fix problems found by clang 3.5.0
10458         * src/cmds.c (Fdelete_char): Don’t assume XINT returns int.
10459         * src/font.c (font_parse_family_registry):
10460         Use &"str"[X] instead of "str"+X, to pacify clang -Wstring-plus-int.
10462 2015-10-02  Eli Zaretskii  <eliz@gnu.org>
10464         * nt/INSTALL: Update instructions for running autogen.sh.
10466         * nt/INSTALL: Point to ezwinports for libXpm binaries.
10468 2015-10-02  Daniel Colascione  <dancol@dancol.org>
10470         Fix winner in cl-lib not loaded case
10472         * lisp/winner.el (winner-change-fun): Don't use cl-lib functions
10473         without requiring CL
10475 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
10477         Fix a few problems with directed quotes
10479         This is in response to a problem report by Kaushal Modi in:
10480         http://bugs.gnu.org/21588#25
10481         * lisp/cedet/mode-local.el (describe-mode-local-overload):
10482         * lisp/emacs-lisp/bytecomp.el (byte-compile-fix-header):
10483         * lisp/info-xref.el (info-xref-check-all-custom):
10484         * lisp/mail/emacsbug.el (report-emacs-bug-hook):
10485         Prefer directed to undirected single quotes in diagnostics.
10487 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
10489         Revert "Attempt to fix slow redisplay caused by last changes"
10491         * src/xdisp.c (try_window_id, try_window_reusing_current_matrix)
10492         (try_cursor_movement): Don't relax requirements for redisplay
10493         optimizations for the selected frame.  (Bug#21597)
10495         This reverts commit c4c1fb97727ff52bcfa83ad5ed94a64a93d12e59.
10497 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
10499         Fix slow redisplay when daemon frame exists
10501         * src/xdisp.c (redisplay_internal): Don't consider daemon frames
10502         when looking for frames that need to be redisplayed.  (Bug#21597)
10504 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
10506         Attempt to fix slow redisplay caused by last changes
10508         * src/xdisp.c (try_window_id, try_window_reusing_current_matrix)
10509         (try_cursor_movement): Relax requirements for redisplay
10510         optimizations for the selected frame.  (Bug#21597)
10512 2015-10-01  Stephen Leake  <stephen_leake@stephe-leake.org>
10514         * src/dired.c (Ffile_name_completion, Ffile_name_all_completions):
10515         Improve doc string.
10517 2015-10-01  Stephen Leake  <stephen_leake@stephe-leake.org>
10519         * lisp/minibuffer.el (minibuffer-completion-help):
10520         Set default base-size, in case completion table does not set it.
10522 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
10524         Fix GUD display of GDB output with non-ASCII text
10526         * lisp/progmodes/gdb-mi.el (gdb-mi-decode-strings): New defcustom.
10527         (gdb-mi-decode): New function.
10528         (gud-gdbmi-marker-filter): If gdb-mi-decode-strings is non-nil,
10529         decode octal escapes in GDB output.  (Bug#21572)
10531 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
10533         * nt/INSTALL: Document where to find XPM support files.
10535 2015-10-01  Tassilo Horn  <tsdh@gnu.org>
10537         Un- and re-prettification are not exclusive
10539         * lisp/progmodes/prog-mode.el (prettify-symbols--post-command-hook):
10540         Re-apply prettification to previous symbol also when unprettifying
10541         next one.
10543 2015-10-01  Tassilo Horn  <tsdh@gnu.org>
10545         Don't unprettify symbol at point by default
10547         * lisp/progmodes/prog-mode.el (prettify-symbols-unprettify-at-point):
10548         Default to disabled (nil).
10550 2015-09-30  Artur Malabarba  <bruce.connor.am@gmail.com>
10552         * lisp/progmodes/prog-mode.el (prettify-symbols-unprettify-at-point):
10553         Support unprettifying when point is after a symbol.
10555         * etc/NEWS: Document `prettify-symbols-unprettify-at-point'.
10557 2015-09-30  Eli Zaretskii  <eliz@gnu.org>
10559         Avoid assertion violations in push_prefix_prop
10561         * src/xdisp.c (push_prefix_prop): Avoid assertion violations when
10562         a line that has a line-prefix defined starts with an image.  (Bug#21428)
10564 2015-09-30  Eli Zaretskii  <eliz@gnu.org>
10566         Disable some display optimizations when frames need redisplay
10568         These optimizations were previously disabled by the
10569         windows_or_buffers_changed flag, which now is not set
10570         when only some frames need to be redrawn.
10571         * src/xdisp.c (redisplay_internal): Redisplay any frame whose
10572         'redisplay' flag is set.
10573         (try_window_reusing_current_matrix, try_window_id)
10574         (try_cursor_movement): Disable these optimizations when the
10575         frame's 'redisplay' flag is set.
10577 2015-09-30  Tassilo Horn  <tsdh@gnu.org>
10579         Don't modify buffer by unprettification
10581         * lisp/progmodes/prog-mode.el (prettify-symbols--compose-symbol):
10582         (prettify-symbols--post-command-hook, prettify-symbols-mode): Don't
10583         modify buffer when setting/removing custom prettify-symbols-start/end
10584         text properties.  Add them to font-lock-extra-managed-props, too.
10586 2015-09-30  Stefan Monnier  <monnier@iro.umontreal.ca>
10588         Try to avoid redisplaying all frames when creating a new one
10590         * src/xfns.c (x_set_menu_bar_lines, x_change_tool_bar_height):
10591         * src/xfaces.c (Finternal_make_lisp_face, Finternal_copy_lisp_face)
10592         (Finternal_set_lisp_face_attribute, update_face_from_frame_parameter):
10593         * src/frame.c (x_set_screen_gamma): Set the specific frame's
10594         `redisplay' bit rather than windows_or_buffers_changed.
10596         * src/window.c (apply_window_adjustment): Remove redundant setting of
10597         windows_or_buffers_changed.
10599         * src/xdisp.c (redisplay_internal): Set the specific frame's
10600         `redisplay' bit rather than update_mode_lines in response to
10601         cursor_type_changed.
10602         (syms_of_xdisp): Use hash-tables for redisplay_*_cause tables.
10603         (AINC): Adjust accordingly.
10605 2015-09-30  Tassilo Horn  <tsdh@gnu.org>
10607         Implement unprettification of symbol at point
10609         * lisp/progmodes/prog-mode.el: Implement feature for unprettifying the
10610         symbol at point.
10611         (prettify-symbols--current-symbol-bounds): New variable.
10612         (prettify-symbols--post-command-hook): New function.
10613         (prettify-symbols-unprettify-at-point): New defcustom.
10614         (prettify-symbols-mode): Use it.
10615         (prettify-symbols--compose-symbol): Use them.
10617 2015-09-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
10619         * src/macfont.m (mac_font_descriptor_supports_languages):
10620         Regard "zh" as synonym of "zh-Hans".
10622 2015-09-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
10624         Work around crash when displaying etc/HELLO on OS X 10.11
10626         * src/macfont.m (mac_font_get_weight)
10627         (mac_font_descriptor_get_adjusted_weight): New functions.
10628         (macfont_store_descriptor_attributes): Adjust weight.
10630 2015-09-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
10632         * src/macfont.m: Fix compilation with USE_CT_GLYPH_INFO.
10634 2015-09-30  Nicolas Petton  <nicolas@petton.fr>
10636         * lisp/arc-mode.el (archive-rar-summarize): Better alignment
10637         of the columns.
10639 2015-09-30  Nicolas Petton  <nicolas@petton.fr>
10641         Use unar and lsar to handle RAR archives in arc-mode
10643         * lisp/arc-mode.el (archive-rar-extract, archive-extract-by-file): Rely
10644         on unar and lsar instead of unrar-free for RAR archives (bug#17663).
10646 2015-09-30  Wieland Hoffmann  <themineo@gmail.com>  (tiny change)
10648         Clarify :create in auth-source's docs
10650         * lisp/gnus/auth-source.el (auth-source-search):
10651         Clarify :create's meaning.
10653 2015-09-30  Phil Sainty  <psainty@orcon.net.nz>
10655         Avoid empty -path arguments in rgrep
10657         * lisp/progmodes/grep.el (rgrep-default-command): Remove nil from
10658         the list produced according to grep-find-ignored-directories,
10659         before passing it to Find/Grep invocation.  (Bug#21548)
10661 2015-09-30  Eli Zaretskii  <eliz@gnu.org>
10663         Clarify documentation of pos-visible-in-window-p
10665         * src/window.c (Fpos_visible_in_window_p): Clarify the meaning of
10666         t for POS.  See
10667         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg01040.html
10668         for the original report.
10670         * doc/lispref/windows.texi (Window Start and End): Clarify the
10671         meaning of t for the POSITION argument of pos-visible-in-window-p.
10673 2015-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
10675         * lisp/progmodes/prolog.el: Fix various indentation cases.
10676         (prolog-operator-chars): New const (add \\).
10677         (prolog-smie-forward-token, prolog-smie-backward-token): Use it.
10678         (prolog-smie-rules): Add rules according to bug#21526.
10680 2015-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
10682         * lisp/progmodes/sh-script.el: Old "dumb" continued line indent.
10683         (sh-indent-after-continuation): Add new value `always' (bug#17620)
10684         (sh-smie-sh-rules): Remove old handling of continued lines.
10685         (sh-smie--indent-continuation): New function.
10686         (sh-set-shell): Use it.
10688 2015-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
10690         * lisp/progmodes/octave.el: Use grammar more; Handle enumeration fun.
10691         Remove redundant :group keyword args.
10692         (octave-begin-keywords, octave-else-keywords, octave-end-keywords):
10693         Remove variables.
10694         (octave-operator-table, octave-smie-bnf-table): Use let-when-compile to
10695         turn them into compile-time variables.
10696         Auto-generate the "foo ... end" rules from the "foo ... endfoo" rules.
10697         Add rules for break, continue, return, global, and persistent.
10698         Refine the rule for "until".
10699         (octave-smie--funcall-p, octave-smie--end-index-p)
10700         (octave-smie--in-parens-p): New functions.
10701         (octave-smie-backward-token, octave-smie-forward-token): Use them to
10702         distinguish the "enumeration" function and the "end" index from
10703         their corresponding keywords.
10704         (octave--block-offset-keywords): New constant.
10705         (octave-smie-rules): Use it.  Adjust rules for new global/persistent
10706         parsing.
10707         (octave-reserved-words): Redefine using octave-smie-grammar.
10708         (octave-font-lock-keywords): Use octave-smie--funcall-p and
10709         octave-smie--end-index-p.
10711 2015-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
10713         * lisp/emacs-lisp/lisp-mode.el (let-when-compile): Work like let*.
10715 2015-09-29  Eli Zaretskii  <eliz@gnu.org>
10717         * nt/INSTALL: Remove references to GTK site.
10718         That site no longer offers Windows downloads.
10720 2015-09-29  Eli Zaretskii  <eliz@gnu.org>
10722         * nt/INSTALL: Add instructions for installing Git.
10724 2015-09-29  Katsumi Yamaoka  <yamaoka@jpl.org>
10726         * lisp/net/shr.el (shr-colorize-region): Allow 88-color tty to
10727         use colors.  Suggested by Eli Zaretskii.
10729 2015-09-28  Katsumi Yamaoka  <yamaoka@jpl.org>
10731         * lisp/net/shr.el (shr-colorize-region): Don't do it on a system
10732         not supporting 256 above colors (bug#21557).
10734 2015-09-28  Dmitry Gutov  <dgutov@yandex.ru>
10736         Revert "Don't rely on defaults in decoding UTF-8 encoded Lisp files"
10738         This reverts commit db828f62f6f17414fbbc3206dac123dc73dd6055.
10740 2015-09-28  Nicolas Petton  <nicolas@petton.fr>
10742         Add documentation for seq.el
10744         * doc/lispref/sequences.texi: Add documentation regarding extending
10745         seq.el, as well as missing documentation for seq-elt, seq-length, seq-p,
10746         seq-do and seq-map.
10748 2015-09-28  Nicolas Petton  <nicolas@petton.fr>
10750         Better documentation for seq-some
10752         * doc/lispref/sequences.texi:
10753         * lisp/emacs-lisp/seq.el: Update the documentation of seq-some to
10754         guarantee that the returned value is the first non-nil value that
10755         resulted from applying the predicate.
10757 2015-09-28  Nicolas Petton  <nicolas@petton.fr>
10759         * lisp/arc-mode.el: Sharp-quote function arguments.
10761 2015-09-28  Eli Zaretskii  <eliz@gnu.org>
10763         Avoid redisplay error in ediff-regions-wordwise
10765         * lisp/vc/ediff-util.el
10766         (ediff-clone-buffer-for-region-comparison): Make sure the mark is
10767         set before activating it.  (Bug#21567)
10769 2015-09-28  Eli Zaretskii  <eliz@gnu.org>
10771         Another attempt to fix crashes due to prematurely freed faces
10773         * src/xdisp.c (redisplay_internal): Inhibit freeing of realized
10774         faces for as long as we might have desired matrices that reference
10775         those faces.  (Bug#21428)
10777 2015-09-28  Tassilo Horn  <tsdh@gnu.org>
10779         Add auctex development list email address
10781 2015-09-28  Tassilo Horn  <tsdh@gnu.org>
10783         * admin/MAINTAINERS: Add entries for AUCTeX team and myself.
10785 2015-09-28  Arash Esbati  <esbati@gmx.de>  (tiny change)
10787         Improve wrapfig package support and caption parsing
10789         * lisp/textmodes/reftex-vars.el (reftex-label-alist-builtin):
10790         Correct description string and add wraptable environment.
10791         (reftex-default-context-regexps): Improve caption regexp.
10793 2015-09-28  Anders Lindgren  <andlind@gmail.com>
10795         Respect value of frame_resize_pixelwise when handling fullscreen state
10797         * src/nsterm.m (handleFS): Respect frame_resize_pixelwise when
10798         setting size increments.
10800 2015-09-27  Michael Albinus  <michael.albinus@gmx.de>
10802         * src/gfilenotify.c (Fgfile_add_watch): Cleanup temporary variable.
10804 2015-09-27  Simen Heggestøyl  <simenheg@gmail.com>
10806         Add prettify-symbols-alist for js-mode
10808         * lisp/progmodes/js.el (js--prettify-symbols-alist): New defconst.
10809         (js-mode): Use it.
10811 2015-09-27  Eli Zaretskii  <eliz@gnu.org>
10813         * nt/subdirs.el: File deleted (no longer used).
10815 2015-09-26  Alan Mackenzie  <acm@muc.de>
10817         Fix follow-scroll-up/down, making them replacements for scroll-up/down
10819         1. Allow point to move between follow windows in scroll operations.
10820         2. Fix bug where `right-char' just before EOB caused spurious scrolling,
10821         when EOB was isolated in the last follow window.
10823         * lisp/follow.el (follow-fixed-window): New variable.
10824         (follow-get-scrolled-point): New function.
10825         (follow-scrol-up, follow-scroll-down): Add autoload cookies.
10826         Reformulate the code.  Put `scroll-command' properties on the functions.
10827         Correct minor errors in ...-down's doc string and code.
10828         (follow-calc-win-end): Amend incomplete doc string.  Use
10829         `pos-visible-in-window-p' to check whether EOB is in the window.
10830         (follow-estimate-first-window-start): Correct an off-by-1 error.
10831         (follow-adjust-window): Add handling for explicit scrolling operations.
10833 2015-09-26  Paul Eggert  <eggert@cs.ucla.edu>
10835         * admin/MAINTAINERS: Add self, plus list some more files
10836         sans maintaners.
10838 2015-09-26  Zachary Kanfer  <zkanfer@gmail.com>  (tiny change)
10840         New DWIM commands for changing letter-case
10842         * lisp/simple.el (upcase-dwim, downcase-dwim, capitalize-dwim):
10843         New functions.  (Bug#21501)
10845 2015-09-26  Eli Zaretskii  <eliz@gnu.org>
10847         * etc/PROBLEMS: Document problems with pasting on MS-Windows.
10849 2015-09-26  Eli Zaretskii  <eliz@gnu.org>
10851         Make face realization be more frame-specific
10853         * src/frame.h (struct f): New flag face_change.
10854         * src/xfaces.c (Finternal_make_lisp_face)
10855         (Finternal_copy_lisp_face, Finternal_set_lisp_face_attribute)
10856         (update_face_from_frame_parameter): Set the face_change flag only
10857         for the frame whose faces are affected.
10858         * src/xdisp.c (init_iterator): If a frame's face_change flag is
10859         set, free faces only on that frame.
10860         (redisplay_internal): Disable "display optimization 1" if the
10861         frame's face_change flag is set.
10862         (redisplay_window): Don't allow skipping a window's redisplay if
10863         its frame's face_change flag is set.
10864         * src/frame.c (x_set_screen_gamma): Instead of calling
10865         Fclear_face_cache, call clear_face_cache and set
10866         windows_or_buffers_changed to a non-zero value.  This avoids
10867         setting the global face_change flag that triggers face realization
10868         on all frames and thorough redisplay of all of them.
10870         * lisp/term/tty-colors.el (tty-register-default-colors): Don't
10871         clear face cache if the selected frame is a GUI frame.
10873 2015-09-26  Tassilo Horn  <tsdh@gnu.org>
10875         Remove font-latex specific check
10877         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p):
10878         Use syntax-ppss data to identify verbatim contents.
10880 2015-09-25  Tassilo Horn  <tsdh@gnu.org>
10882         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p):
10883         Fix some false negatives.
10885 2015-09-25  Eli Zaretskii  <eliz@gnu.org>
10887         Reorder Windows version in Emacs manifests
10889         * nt/emacs-x64.manifest:
10890         * nt/emacs-x86.manifest: Reorder Windows version from lowest to
10891         highest.
10893 2015-09-25  Eli Zaretskii  <eliz@gnu.org>
10895         Update Emacs manifest files for Windows 10
10897         * nt/emacs-x86.manifest:
10898         * nt/emacs-x64.manifest: Declare compatibility with Windows 10.
10900 2015-09-25  Eli Zaretskii  <eliz@gnu.org>
10902         Avoid non-ASCII decoding errors in C src files
10904         * src/nsterm.m:
10905         * src/lisp.h:
10906         * src/editfns.c:
10907         * src/doprnt.c: Add 'coding' cookies -- these files include
10908         Unicode characters and should be decoded as UTF-8.
10910 2015-09-25  Alan Mackenzie  <acm@muc.de>
10912         Resurrect edebug-set-initial-mode, repurposing it to set the global mode
10914         * lisp/emacs-lisp/edebug.el (edebug-initial-mode-alist): Uncomment, and
10915         amend to match current modes and functions.
10916         (edebug-set-initial-mode): Uncomment and change from setting a defun's
10917         `edebug-initial-mode''s property to setting the variable
10918         `edebug-initial-mode'.
10919         (top level): Create new binding C-x C-a C-m for
10920         `edebug-set-initial-mode'.
10922         * doc/lispref/edebug.texi (Edebug Execution Modes): Document
10923         `edebug-set-initial-mode' and its new key binding.
10924         (Edebug Options): Mention the new command in the pertinent place.
10926         * etc/NEWS: Write entry for this change.
10928 2015-09-25  Eli Zaretskii  <eliz@gnu.org>
10930         Avoid non-ASCII decoding errors in Texinfo files
10932         * doc/misc/tramp.texi:
10933         * doc/lispref/strings.texi:
10934         * doc/lispref/positions.texi:
10935         * doc/lispref/help.texi:
10936         * doc/lispref/functions.texi:
10937         * doc/lispintro/emacs-lisp-intro.texi:
10938         * doc/emacs/text.texi:
10939         * doc/emacs/modes.texi:
10940         * doc/emacs/mini.texi:
10941         * doc/emacs/display.texi:
10942         * doc/emacs/custom.texi:
10943         * doc/emacs/basic.texi: Add 'coding' cookies -- these files use
10944         Unicode characters and should be decoded as UTF-8.
10945         * doc/lispref/frames.texi (Size Parameters): Don't use a non-ASCII
10946         apostrophe unnecessarily.
10948 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
10950         Merge from gnulib
10952         This incorporates:
10953         2015-09-25 c-ctype: rewrite to use inline functions
10954         2015-09-24 maint: add coding cookies to non-ASCII sources
10955         2015-09-24 gitlog-to-changelog: trim only trailing whitespaces
10956         * build-aux/gitlog-to-changelog, doc/misc/texinfo.tex:
10957         * lib/acl-internal.c, lib/acl-internal.h, lib/c-ctype.c:
10958         * lib/c-ctype.h, lib/get-permissions.c, lib/qcopy-acl.c:
10959         * lib/set-permissions.c:
10960         Copy from gnulib.
10962 2015-09-24  Paul Eggert  <eggert@cs.ucla.edu>
10964         Update publicsuffix.txt from upstream
10966         * etc/publicsuffix.txt: Update from
10967         https://publicsuffix.org/list/effective_tld_names.dat
10968         dated 2015-09-24 17:29:21 UTC.
10970 2015-09-24  Eli Zaretskii  <eliz@gnu.org>
10972         Prevent timers from messing up TTY menus
10974         * src/term.c (tty_menu_activate): Inhibit redisplay for as long as
10975         the TTY menu is open.  (Bug#21530)
10977 2015-09-24  Paul Eggert  <eggert@cs.ucla.edu>
10979         No need to mention K&R C in c-mode intro
10981 2015-09-24  Stefan Monnier  <monnier@iro.umontreal.ca>
10983         Fix recent bootstrap problems
10985         * src/syntax.c (parse_sexp_propertize): Fix last fix.
10986         * lisp/nxml/nxml-mode.el (nxml-comment-quote-nested): Fix paren typo.
10987         * lisp/emacs-lisp/lisp-mode.el: Require cl-lib for cl-progv.
10989 2015-09-24  Michael Albinus  <michael.albinus@gmx.de>
10991         * src/gfilenotify.c (Fgfile_add_watch): Decrease polling rate.
10993 2015-09-23  Ivan Andrus  <darthandrus@gmail.com>
10995         Properly quote nested xml comments (Bug#6267) (Bug#20001)
10997         * lisp/nxml/nxml-mode.el (nxml-comment-quote-nested): New function.
10998         (nxml-mode): Set comment-quote-nested-function.
11000 2015-09-23  Ivan Andrus  <darthandrus@gmail.com>
11002         Allow major-modes full control over quoting nested comments
11004         * lisp/newcomment.el (comment-quote-nested-function): New variable.
11005         (comment-quote-nested-default): New function.
11006         (comment-quote-nested): Use `comment-quote-nested-function'.
11008 2015-09-23  Paul Eggert  <eggert@cs.ucla.edu>
11010         Prefer CALLN in a few more places
11012         * src/macfont.m (macfont_set_family_cache):
11013         * src/nsterm.m (append2):
11014         * src/xterm.c (x_cr_export_frames):
11015         Prefer CALLN to allocating the arg arrays by hand.
11017 2015-09-23  Michael Albinus  <michael.albinus@gmx.de>
11019         Adapt file-notify-test02-events test case
11021         * test/automated/file-notify-tests.el (file-notify-test02-events):
11022         Create a new watch for every test.
11024 2015-09-23  Michael Albinus  <michael.albinus@gmx.de>
11026         Continue gfilenotify.c implementation of missing parts
11028         * lisp/filenotify.el (file-notify-add-watch): Append `flags' to
11029         `gfile-add-watch' call.
11030         (file-notify-rm-watch): Modify `file-notify-descriptors' only
11031         after calling the low level functions.
11033         * src/gfilenotify.c (dir_monitor_callback): Check, whether
11034         event_type is expected.
11035         (Fgfile_add_watch): Allow also `change'and `attribute-change' for FLAGS.
11036         (Fgfile_rm_watch): Fix typo.
11037         (syms_of_gfilenotify): Declare Qchange and Qattribute_change.
11039 2015-09-23  Stefan Monnier  <monnier@iro.umontreal.ca>
11041         * src/syntax.c (parse_sexp_propertize): Handle spurious
11042         e_property_truncated flag.
11043         (update_syntax_table_forward): Remove invalid assertion.
11045 2015-09-23  Eli Zaretskii  <eliz@gnu.org>
11047         * src/xdisp.c (produce_stretch_glyph): Support ':relative-width'
11048         space display spec on text-mode terminals, by calling
11049         PRODUCE_GLYPHS instead of x_produce_glyphs.  Remove the
11050         HAVE_WINDOW_SYSTEM guards from the supporting code, as well as the
11051         test for a GUI frame.
11053 2015-09-23  Oleh Krehel  <ohwoeowho@gmail.com>
11055         Move let-when-compile to lisp-mode.el
11057         This fixes the bootstrapping problem of `let-when-compile' using
11058         `cl-progv' while being in subr.el (i.e. before cl stuff was loaded).
11060 2015-09-23  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
11062         * lisp/url/url-http.el (url-http-parse-headers): Do not
11063         automatically include Authorization header in redirect.
11064         (Bug#21350)
11066 2015-09-22  Eli Zaretskii  <eliz@gnu.org>
11068         Clarify documentation of ':relative-width'
11070         * doc/lispref/display.texi (Specified Space): Document that
11071         ':relative-width' is only supported on GUI frames.
11073 2015-09-22  Eli Zaretskii  <eliz@gnu.org>
11075         Fix 'current-column' in presence of :relative-width
11077         * src/indent.c (check_display_width): Support ':relative-width'
11078         in a display spec that specifies a stretch glyph.  (Bug#21533)
11080 2015-09-22  Ken Manheimer  <ken.manheimer@gmail.com>
11082         Reformat the pdbtrack remote-file fix ChangeLog.2 entry
11084         ... to conform better to CONTRIBUTE guidelines.
11086 2015-09-22  Stefan Monnier  <monnier@iro.umontreal.ca>
11088         * lisp/progmodes/prolog.el: Fix indentation of empty line
11090         * lisp/emacs-lisp/smie.el (smie-rules-function): Document new
11091         `empty-line-token' element.
11092         (smie-indent-empty-line): New function.
11093         (smie-indent-functions): Add it.
11095         * lisp/progmodes/prolog.el (prolog-smie-rules): Fix :list-intro
11096         behavior and use the new `empty-line-token' element (bug#21526).
11097         (prolog-mode-variables): Fix comment-start-skip setting to match
11098         comment-start.
11100         * test/indent/prolog.prolog: Add nested indentation tests.
11102         * lisp/newcomment.el (comment-normalize-vars): Fix default value of
11103         comment-start-skip not to misuse submatch 1.
11105 2015-09-22  Alan Mackenzie  <acm@muc.de>
11107         Make description of `edebug-initial-mode' user friendly
11109         Fixes bug#21365.
11111         * dec/lispref/edebug.texi (Edebug Execution Modes): Change the
11112         description of `edebug-initial-mode' from that of its implementation
11113         to that of its visual effect and use.  Move the paragraph higher up.
11115 2015-09-22  Eli Zaretskii  <eliz@gnu.org>
11117         lisp/progmodes/gud.el (gud-format-command): Fix last commit
11119         * lisp/progmodes/gud.el (gud-format-command): Don't use Tramp internal
11120         functions 'tramp-file-name-localname' and 'tramp-dissect-file-name'.
11122 2015-09-22  Tassilo Horn  <tsdh@gnu.org>
11124         Improve last commit to process.c
11126 2015-09-22  Michael Albinus  <michael.albinus@gmx.de>
11128         Implement gfile-valid-p
11130         * lisp/filenotify.el (file-notify-callback): Fix typo.
11131         (gfile-valid-p): Remove defalias.
11133         * src/gfilenotify.c (dir_monitor_callback): Cancel the monitor if
11134         the file or directory to be watched is deleted.
11135         (Fgfile_add_watch): Make watch_object a triple.
11136         (Fgfile_rm_watch): Check, whether watch is cancelled already.
11137         (Fgfile_valid_p): New defun.
11138         (syms_of_gfilenotify): Declare Sgfile_valid_p.
11140 2015-09-22  Tassilo Horn  <tsdh@gnu.org>
11142         Remove callback-handled channels from Available set
11144         * src/process.c (wait_reading_process_output): Remove channel from
11145         Available set if it is handled by a callback, e.g., dbus or
11146         inotify (bug#21313).
11148 2015-09-21  Mark Oteiza  <mvoteiza@udel.edu>
11150         Use lunate epsilon for TeX \epsilon
11152         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist):
11153         Add \varepsilon using GREEK SMALL LETTER EPSILON, and change
11154         \epsilon to use GREEK LUNATE EPSILON SYMBOL
11156 2015-09-21  Stefan Monnier  <monnier@iro.umontreal.ca>
11158         * lisp/progmodes/prolog.el: Fix nested electric if-then-else
11160         * lisp/progmodes/prolog.el (prolog-find-unmatched-paren): Use innermost
11161         rather than outermost paren (bug#21526).
11163 2015-09-21  Paul Eggert  <eggert@cs.ucla.edu>
11165         Improve git diff hunk headers for .el, .texi
11167         Problem reported by Alan Mackenzie in:
11168         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00826.html
11169         * .gitattributes (*.el, *.texi): New patterns.
11170         * autogen.sh: Configure diff.elisp.xfuncname and
11171         diff.texinfo.xfuncname if using Git.
11173 2015-09-21  Eli Zaretskii  <eliz@gnu.org>
11175         Don't rely on defaults in decoding UTF-8 encoded Lisp files
11177         * lisp/replace.el:
11178         * lisp/textmodes/rst.el:
11179         * lisp/whitespace.el: Add an explicit UTF-8 encoding tag.
11181 2015-09-21  Paul Eggert  <eggert@cs.ucla.edu>
11183         Clarify or replace a few \u escapes
11185         * doc/lispref/nonascii.texi (Character Properties)
11186         More-detailed commentary for \u escapes.
11187         * lisp/progmodes/python.el (python--prettify-symbols-alist):
11188         * lisp/replace.el (query-replace-from-to-separator):
11189         * lisp/textmodes/rst.el (rst-bullets, rst-re-alist-def)
11190         (rst-mode-syntax-table):
11191         * lisp/whitespace.el (whitespace-display-mappings):
11192         Prefer actual character to \u escape when this makes the code
11193         easier to follow in the usual case where Unicode chars can be
11194         displayed.
11196 2015-09-21  Paul Eggert  <eggert@cs.ucla.edu>
11198         Pacify GCC -Wmaybe-uninitialized in xdisp.c
11200         * src/xdisp.c (face_before_or_after_it_pos): Use do-while rather
11201         than while loop to avoid GCC -Wmaybe-uninitialized diagnostic with
11202         charpos.  The loop should always execute at least once anyway.
11204 2015-09-21  Tassilo Horn  <tsdh@gnu.org>
11206         Signal error on invalid regexp
11208         * lisp/textmodes/reftex-cite.el (reftex-extract-bib-entries):
11209         Signal an error when the user tries searching with a regexp
11210         matching the empty string.
11212 2015-09-21  Eli Zaretskii  <eliz@gnu.org>
11214         Another fix of file-notify-tests for w32notify
11216         * test/automated/file-notify-tests.el (file-notify-test02-events):
11217         Further adaptation for w32notify: reduce the number of expected
11218         'changed' events.  (Bug#21435)
11220 2015-09-21  Michael Albinus  <michael.albinus@gmx.de>
11222         Adapt tests and manual for w32notify
11224         * doc/lispref/os.texi (File Notifications): w32notify does not
11225         send `attribute-changed' events.
11227         * test/automated/file-notify-tests.el (file-notify--test-with-events):
11228         Simplify parameters.  Adapt all callees.
11229         (file-notify-test02-events): w32notify does not send
11230         `attribute-changed' events.
11231         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
11232         Do not skip in case of w32notify.  Simply ignore this part of the test.
11234 2015-09-21  Dima Kogan  <dima@secretsauce.net>
11236         Fix setting breakpoints when remote-debugging
11238         * lisp/progmodes/gud.el (gud-format-command): Send localized file
11239         names to the debugger running on the remote.  (Bug#13304)
11241 2015-09-21  Nicolas Petton  <nicolas@petton.fr>
11243         Better docstring and parameter name for seq-find
11245         * lisp/emacs-lisp/seq.el (seq-find): Improve the docstring and rename
11246         the parameter `sentinel' to `default'.
11248         * doc/lispref/sequences.texi (Sequence Functions): Update the
11249           documentation for `seq-find' accordingly.
11251 2015-09-21  Eli Zaretskii  <eliz@gnu.org>
11253         Avoid infinite recursion while displaying box face
11255         * src/xdisp.c (face_before_or_after_it_pos): Fix calculation of
11256         the previous string/buffer character position under bidi
11257         iteration.  (Bug#21428)
11259 2015-09-21  Anders Lindgren  <andlind@gmail.com>
11261         Keep upper edge unchanged when changing size of NS frame
11263         * src/nsterm.m (x_set_window_size): Keep upper frame edge unchanged
11264         (Bug#21415).
11266 2015-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
11268         * lisp/progmodes/prolog.el: Improve handling of if/then/else.
11269         (prolog-smie-rules): Accommodate standard if/then/else special
11270         indentation.
11271         (prolog-mode): Add . to electric-indent-chars.
11272         (prolog-electric--if-then-else): Re-indent the line before adding space
11273         after the new char (bug#21526).
11275 2015-09-20  Mark Oteiza  <mvoteiza@udel.edu>
11277         Add prettify symbols to python-mode
11279         * lisp/progmodes/python.el (python-prettify-symbols-alist):
11280         New variable.
11281         (python-mode): Use it
11283 2015-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
11285         * lisp/emacs-lisp/syntax.el (syntax-begin-function): Make obsolete.
11287 2015-09-20  Jostein Kjønigsen  <jostein@secure.kjonigsen.net>  (tiny change)
11289         (compilation-error-regexp-alist-alist): Tone down guile-file
11291         * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
11292         Make guile-file a bit less enthusiastic (bug#21496).
11294 2015-09-20  Drew Csillag  <drew@thecsillags.com>
11296         * lisp/progmodes/m4-mode.el (m4-font-lock-keywords):
11297         Fix m4_* highlighting.
11299         * lisp/progmodes/m4-mode.el (m4-font-lock-keywords): Fix recognition
11300         of commands when they have a "m4_" prefix.
11302 2015-09-20  Paul Eggert  <eggert@cs.ucla.edu>
11304         '.' -> `.' in doc string
11306         * lisp/emacs-lisp/timer.el (run-at-time): In doc string, quote
11307         individual chars with grave quotes instead of straight quotes, as
11308         this works better when they are translated to curved quotes.
11310 2015-09-20  Michael Albinus  <michael.albinus@gmx.de>
11312         Improve file notifications, especially for Tramp
11314         * doc/lispref/files.texi (Magic File Names):
11315         Mention `file-notify-valid-p'.
11317         * doc/lispref/os.texi (File Notifications):
11318         Describe `file-notify-valid-p'.
11320         * etc/NEWS: Add `file-notify-valid-p'.
11322         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
11323         Improve implementation.
11324         (tramp-gvfs-monitor-file-process-filter): Rename from
11325         `tramp-gvfs-file-gvfs-monitor-file-process-filter'.  Delete
11326         process if appropriate.
11328         * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
11329         Improve implementation.
11330         (tramp-sh-gvfs-monitor-dir-process-filter): Rename from
11331         `tramp-sh-file-gvfs-monitor-dir-process-filter'.  Delete process
11332         if appropriate.
11333         (tramp-sh-inotifywait-process-filter): Rename from
11334         `tramp-sh-file-inotifywait-process-filter'.  Delete process if
11335         appropriate.
11337         * lisp/net/tramp.el (tramp-handle-file-notify-rm-watch):
11338         Use `delete-process'.
11339         (tramp-handle-file-notify-valid-p): Check also, that file or
11340         directory to be watched still exists.
11342         * test/automated/file-notify-tests.el (file-notify--test-timeout):
11343         New defun.  Use it at all places a timeout is needed.
11344         (file-notify--test-cleanup): Delete directories recursively.
11345         Cleanup also Tramp connections.
11346         (file-notify-test02-events): Add tests for `attribute-change'.
11347         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
11348         Add tests for `file-notify-rm-watch'.
11350 2015-09-20  Paul Eggert  <eggert@cs.ucla.edu>
11352         Use %s to format strings instead of splicing them
11354         If FOO might contain quotes that are part of a file or variable
11355         name, the quotes should not be translated when showing FOO’s name
11356         in a diagnostic.  So, for example, (message (concat (FOO ": bar")))
11357         is not quite right, as it would translate FOO’s quotes.
11358         Change it to (message "%s: bar" FOO) instead.
11359         * lisp/allout.el (allout-process-exposed):
11360         * lisp/calc/calc-ext.el (calc-do-prefix-help):
11361         * lisp/calc/calc-store.el (calc-store-into):
11362         * lisp/calendar/todo-mode.el (todo-category-completions):
11363         * lisp/cedet/semantic/complete.el (semantic-completion-message):
11364         * lisp/org/ob-latex.el (convert-pdf):
11365         * lisp/org/org-crypt.el (org-crypt-check-auto-save):
11366         * lisp/org/ox-latex.el (org-latex-compile):
11367         * lisp/org/ox-man.el (org-man-compile):
11368         * lisp/org/ox-odt.el (org-odt--export-wrap):
11369         * lisp/org/ox-texinfo.el (org-texinfo-compile):
11370         * lisp/progmodes/ruby-mode.el (ruby-in-ppss-context-p):
11371         * lisp/progmodes/verilog-mode.el (verilog-batch-execute-func)
11372         (verilog-signals-combine-bus, verilog-read-defines)
11373         (verilog-getopt-file, verilog-expand-dirnames)
11374         (verilog-modi-lookup, verilog-modi-modport-lookup-one):
11375         * lisp/term/ns-win.el (ns-spi-service-call):
11376         Use %s to avoid translating quotes of file names etc. in diagnostics.
11378 2015-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
11380         * lisp/progmodes/js.el (js--syntax-begin-function): Remove.
11381         (js-mode): Don't set syntax-begin-function.
11383 2015-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
11385         * lisp/font-lock.el (font-lock-compile-keywords): Don't assume
11386         syntax-begin-function is a symbol.
11388 2015-09-20  Eli Zaretskii  <eliz@gnu.org>
11390         Improve documentation of 'run-at-time'
11391         * lisp/emacs-lisp/timer.el (run-at-time): Improve the doc string.
11392         In particular, don't refer to 'diary-entry-time', because it is
11393         unavailable until diary-lib is loaded.  Also, refer to
11394         'timer-duration-words', not 'timer-duration', as the latter's doc
11395         string says nothing about the accepted strings.
11397 2015-09-19  Jay Belanger  <jay.p.belanger@gmail.com>
11399         * lisp/calc/calc-ext.el (calc-do-prefix-help): Tidy up error message.
11401 2015-09-19  Ken Manheimer  <ken.manheimer@gmail.com>
11403         Repair pdbtrack remote file tracking
11404         * lisp/progmodes/python.el (python-pdbtrack-set-tracked-buffer):
11405         Rectify pdbtrack so it follows transitions from one remote source
11406         file to the next.
11408 2015-09-19  Artur Malabarba  <bruce.connor.am@gmail.com>
11410         * lisp/emacs-lisp/timer.el (run-at-time): Docstring formatting.
11412 2015-09-19  Eli Zaretskii  <eliz@gnu.org>
11414         Adapt vc-src to the old-new vc-checkin API
11415         * lisp/vc/vc-src.el (vc-src-checkin): Accept and ignore an
11416         additional optional parameter.
11418 2015-09-19  Simen Heggestøyl  <simenheg@gmail.com>
11420         Add overflow module to CSS property list
11421         * lisp/textmodes/css-mode.el (css-property-ids): Add properties
11422         from CSS Overflow Module Level 3.
11424 2015-09-19  Eli Zaretskii  <eliz@gnu.org>
11426         Fix documentation of "C-u C-x v v"
11427         * doc/emacs/maintaining.texi (Advanced C-x v v): Make the
11428         documentation of "C-u C-x v v" match what the code does.
11430         Resurrect the ability to specify a revision in vc-next-action
11431         * lisp/vc/vc-bzr.el (vc-bzr-checkin):
11432         * lisp/vc/vc-dav.el (vc-dav-checkin):
11433         * lisp/vc/vc-git.el (vc-git-checkin):
11434         * lisp/vc/vc-hg.el (vc-hg-checkin):
11435         * lisp/vc/vc-mtn.el (vc-mtn-checkin): Accept and silently ignore
11436         an additional optional argument, the revision to checkin.
11437         * lisp/vc/vc-sccs.el (vc-sccs-checkin):
11438         * lisp/vc/vc-cvs.el (vc-cvs-checkin):
11439         * lisp/vc/vc-rcs.el (vc-rcs-checkin): Allow to optionally specify
11440         a revision to checkin.
11441         * lisp/vc/vc.el (vc-next-action): Allow to optionally specify the
11442         revision when checking in files.
11443         See http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00688.html
11444         for the details.
11446 2015-09-18  Wilson Snyder  <wsnyder@wsnyder.org>
11448         * lisp/progmodes/verilog-mode.el (verilog-forward-sexp-function)
11449         (verilog-decls-princ, verilog-modport-princ)
11450         (verilog-modi-modport-lookup-one): Fix checkdoc warnings.
11452 2015-09-17  Jay Belanger  <jay.p.belanger@gmail.com>
11454         Fix the routine for help on Calc's prefixes
11455         * lisp/calc/calc-ext.el (calc-prefix-help-retry): New variable.
11456         (calc-do-prefix-help): Use `read-char' to determine the next Calc
11457         command.
11459 2015-09-17  Stefan Monnier  <monnier@iro.umontreal.ca>
11461         * lisp/font-lock.el (font-lock-beginning-of-syntax-function): Remove.
11462         (font-lock-fontify-block): Don't let-bind it.
11463         (font-lock-compile-keywords): Don't use it.
11464         (font-lock-set-defaults): Don't set it.  Allow the variable alist to
11465         start one slot earlier, instead.
11466         * lisp/emacs-lisp/syntax.el (font-lock-beginning-of-syntax-function):
11467         Don't declare.
11468         (syntax-ppss): Don't use it either.
11469         * lisp/font-core.el (font-lock-defaults): Remove SYNTAX-BEGIN
11470         from docstring.
11471         * doc/emacs/display.texi (Font Lock): Don't mention
11472         font-lock-beginning-of-syntax-function.
11473         * doc/lispref/modes.texi (Font Lock Basics): Update description of
11474         font-lock-defaults.
11475         (Syntactic Font Lock): Remove font-lock-beginning-of-syntax-function.
11476         * lisp/loadhist.el (unload-feature-special-hooks):
11477         Remove font-lock-beginning-of-syntax-function.
11478         * lisp/obsolete/lazy-lock.el (lazy-lock-fontify-region):
11479         * lisp/emacs-lisp/lisp.el (beginning-of-defun-raw): Don't let-bind
11480         font-lock-beginning-of-syntax-function.
11482 2015-09-17  Paul Eggert  <eggert@cs.ucla.edu>
11484         Backslash cleanup in Elisp source files
11485         This patch should not change behavior.  It typically omits backslashes
11486         where they are redundant (e.g., in the string literal "^\$").
11487         In a few places, insert backslashes where they make regular
11488         expressions clearer: e.g., replace "^\*" (equivalent to "^*") with
11489         "^\\*", which has the same effect as a regular expression.
11490         Also, use ‘\ %’ instead of ‘\%’ when avoiding confusion with SCCS IDs,
11491         and similarly use ‘\ $’ instead of ‘\$’ when avoiding confusion with
11492         RCS IDs, as that makes it clearer that the backslash is intended.
11494         Some more minor backslash fixes
11495         * test/automated/compile-tests.el (compile-tests--test-regexps-data):
11496         * test/automated/info-xref.el (info-xref-test-write-file):
11497         Double backslashes in strings.
11499         Fix several backslash typos in Elisp strings
11500         * lisp/calendar/todo-mode.el (todo-files, todo-rename-file)
11501         (todo-find-filtered-items-file, todo-reset-nondiary-marker)
11502         (todo-reset-done-string, todo-reset-comment-string)
11503         (todo-reset-highlight-item):
11504         * lisp/erc/erc-networks.el (erc-networks-alist):
11505         * lisp/gnus/gnus-art.el (gnus-button-handle-library):
11506         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-gmane-group-url):
11507         * lisp/gnus/nntp.el (nntp-via-shell-prompt)
11508         (nntp-telnet-shell-prompt):
11509         * lisp/gnus/spam-report.el (spam-report-gmane-regex):
11510         * lisp/image-dired.el (image-dired-rotate-original):
11511         (image-dired-get-exif-file-name):
11512         * lisp/international/latin1-disp.el (latin1-display-ucs-per-lynx):
11513         * lisp/mail/undigest.el (rmail-digest-parse-rfc1153strict):
11514         * lisp/mh-e/mh-letter.el (mh-file-is-vcard-p):
11515         * lisp/mh-e/mh-mime.el (mh-file-mime-type-substitutions):
11516         * lisp/net/shr-color.el (shr-color->hexadecimal):
11517         * lisp/org/org-bibtex.el (org-bibtex-fields):
11518         * lisp/org/org-docview.el (org-docview-export):
11519         * lisp/org/org-entities.el (org-entities):
11520         * lisp/org/ox-icalendar.el (org-icalendar-cleanup-string):
11521         * lisp/progmodes/cperl-mode.el (cperl-indent-exp):
11522         * lisp/progmodes/ebnf2ps.el (ebnf-file-suffix-regexp)
11523         (ebnf-style-database):
11524         * lisp/progmodes/idlw-help.el (idlwave-do-context-help1):
11525         * lisp/progmodes/ruby-mode.el (ruby-imenu-create-index-in-block):
11526         * lisp/progmodes/sql.el (sql-product-alist):
11527         * lisp/progmodes/verilog-mode.el (verilog-error-regexp-emacs-alist)
11528         (verilog-error-font-lock-keywords)
11529         (verilog-assignment-operator-re):
11530         * lisp/progmodes/vhdl-mode.el (vhdl-compiler-alist):
11531         * lisp/textmodes/reftex-parse.el (reftex-parse-from-file):
11532         * lisp/vc/add-log.el (change-log-version-number-regexp-list):
11533         Fix typo by replacing ‘\’ with ‘\\’ in a string literal.
11534         For example, to get the regular expression ‘\.’ use the string
11535         literal "\\.", not "\." (which is equivalent to ".").
11536         * lisp/emulation/viper-util.el (viper-glob-unix-files):
11537         Remove stray ‘\j’ from string.
11538         * lisp/gnus/nntp.el (nntp-via-shell-prompt)
11539         (nntp-telnet-shell-prompt):
11540         Treat > like $ when matching a shell prompt.
11541         * lisp/progmodes/make-mode.el (makefile-browse):
11542         Properly quote a diagnostic.
11544         Fix minor quoting problems in diagnostics
11545         * lisp/tutorial.el (tutorial--describe-nonstandard-key):
11546         * lisp/vc/ediff-ptch.el (ediff-fixup-patch-map):
11547         Follow text-quoting-style in diagnostic, and quote a file name.
11549 2015-09-17  Eli Zaretskii  <eliz@gnu.org>
11551         * doc/lispref/frames.texi (Cursor Parameters):
11552         Document 'x-stretch-cursor'.
11554 2015-09-16  Paul Eggert  <eggert@cs.ucla.edu>
11556         Omit unnecessary \ before paren in C docstrings
11557         Although \( is needed in docstrings in Elisp code, it is not needed in
11558         docstrings in C code, since C function definitiions do not start with
11559         a parenthesis.  The backslashes made the docstrings a bit harder to
11560         read and to format in columns.  Also, some C docstrings had ( in
11561         column 1 and this did not appear to be causing any problems.  So,
11562         simplify C docstrings by replacing \( with ( and \) with ).
11564         A few more minor quoting fixes in a script and a text file
11566         Minor quoting fixes in scripts and doc
11567         Prefer straight quotes in random script files, as they are not
11568         converted.  Prefer grave quotes in a couple of places in the manual
11569         that were missed earlier, as these quotes are converted.
11571         Minor backslash fixes in manuals and scripts
11572         * Makefile.in (install-arch-indep):
11573         * admin/charsets/compact.awk:
11574         * admin/charsets/gb180302.awk (gb_to_index):
11575         * admin/charsets/gb180304.awk (gb_to_index):
11576         Avoid undefined behavior in Awk regular expression backslashes.
11577         * doc/misc/efaq.texi (Matching parentheses):
11578         Omit unnecessary backslashes.
11579         * doc/misc/gnus-faq.texi (FAQ 5-8):
11580         Avoid undefined behavior in suggested sed backslash usage.
11582         Add -Wswitch to --enable-gcc-warnings
11583         Make --enable-gcc-warnings a bit pickier, by also using -Wswitch.
11584         * configure.ac (WERROR_CFLAGS): Don’t add -Wno-switch.
11585         * lib-src/etags.c (main, consider_token, C_entries):
11586         * src/coding.c (encode_invocation_designation):
11587         * src/data.c (Ftype_of):
11588         * src/eval.c (Fdefvaralias, default_toplevel_binding)
11589         (Fbacktrace__locals, mark_specpdl):
11590         * src/lisp.h (record_xmalloc):
11591         * src/syntax.c (scan_lists, scan_sexps_forward):
11592         * src/window.c (window_relative_x_coord):
11593         * src/xdisp.c (push_it, pop_it):
11594         * src/xterm.c (xg_scroll_callback, x_check_fullscreen):
11595         Error out or do nothing (as appropriate) if a switch statement
11596         with an enum value does not cover all of the enum.
11597         * src/dispextern.h (struct iterator_stack_entry.u.comp):
11598         Remove unused member discovered by using -Wswitch.
11599         * src/lisp.h (record_xmalloc): Add a ‘+ 0’ to pacify -Wswitch.
11600         * src/vm-limit.c (check_memory_limits):
11601         Simplify warning-diagnostic computation by using a table.
11603         etags ‘fatal’ function is now printf-like
11604         * lib-src/etags.c (fatal): Now printf-like.  All callers changed.
11605         Also, now static; not clear why it needed to be extern.
11606         (verror): New function, with most of the old contents of ‘error’.
11607         (fatal, error): Use it.
11609 2015-09-16  Eli Zaretskii  <eliz@gnu.org>
11611         More adaptations in file-notify-tests.el
11612         * test/automated/file-notify-tests.el
11613         (file-notify-test05-dir-validity): Skip for w32notify in
11614         batch-mode.  (Bug#21432)
11616 2015-09-16  Michael Albinus  <michael.albinus@gmx.de>
11618         Adapt test in file-notify-tests.el
11619         * test/automated/file-notify-tests.el
11620         (file-notify-test04-file-validity): Skip for w32notify in
11621         batch-mode.  Add test lost last commit.
11623 2015-09-16  Dima Kogan  <dima@secretsauce.net>
11625         winner no longer holds on to dead frames
11626         * lisp/winner.el (winner-change-fun): Cull dead frames.
11627         This prevents a potentially massive memory leak.  See:
11628         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00619.html
11630 2015-09-16  Michael Albinus  <michael.albinus@gmx.de>
11632         Use common report_file_notify_error function
11633         * src/fileio.c (report_file_notify_error): New function.
11634         * src/inotify.c (report_inotify_error): Remove function.
11635         (inotify_callback, symbol_to_inotifymask, Finotify_add_watch)
11636         (Finotify_rm_watch): Use report_file_notify_error.
11637         * src/lisp.h (report_file_notify_error): Declare external function.
11638         * src/w32notify.c (report_w32notify_error): Remove function.
11639         (Fw32notify_add_watch, Fw32notify_rm_watch):
11640         Use report_file_notify_error.
11642 2015-09-16  Jay Belanger  <jay.p.belanger@gmail.com>
11644         Fix documentation.
11645         * doc/misc/calc.texi (Single-Variable Statistics): Fix the wording of
11646         the documentation of the root mean square.
11648 2015-09-16  Martin Rudalics  <rudalics@gmx.at>
11650         Remove tool_bar_redisplayed_once and associated code.
11651         * src/frame.h (tool_bar_redisplayed_once): Remove slot.
11652         * src/frame.c (make_frame, x_set_font): Remove initialization of
11653         f->tool_bar_redisplayed_once.
11654         * src/w32fns.c (x_change_tool_bar_height):
11655         * src/xfns.c (x_change_tool_bar_height): Don't check for
11656         f->tool_bar_redisplayed_once.
11657         * src/xdisp.c (redisplay_internal): Remove handling of
11658         f->tool_bar_redisplayed_once.
11660 2015-09-16  Eli Zaretskii  <eliz@gnu.org>
11662         Restore some of the quoting in the manuals
11663         * doc/lispref/windows.texi (Coordinates and Windows)
11664         (Coordinates and Windows):
11665         * doc/lispref/variables.texi (Lexical Binding)
11666         (File Local Variables):
11667         * doc/lispref/text.texi (Format Properties):
11668         * doc/lispref/symbols.texi (Symbol Components):
11669         * doc/lispref/strings.texi (Creating Strings):
11670         * doc/lispref/sequences.texi (Sequence Functions):
11671         * doc/lispref/searching.texi (Regexp Special, Regexp Search)
11672         (Search and Replace):
11673         * doc/lispref/processes.texi (Bindat Spec):
11674         * doc/lispref/os.texi (Idle Timers):
11675         * doc/lispref/objects.texi (Basic Char Syntax):
11676         * doc/lispref/numbers.texi (Float Basics, Random Numbers):
11677         * doc/lispref/nonascii.texi (Character Properties):
11678         * doc/lispref/modes.texi (Major Mode Conventions, Mode Hooks)
11679         (Mode Line Variables):
11680         * doc/lispref/minibuf.texi (Text from Minibuffer):
11681         * doc/lispref/loading.texi (Autoload):
11682         * doc/lispref/keymaps.texi (Controlling Active Maps):
11683         * doc/lispref/frames.texi (Frame Layout, Size and Position)
11684         (Size Parameters, Implied Frame Resizing):
11685         * doc/lispref/files.texi (Changing Files, Magic File Names):
11686         * doc/lispref/eval.texi (Self-Evaluating Forms):
11687         * doc/lispref/display.texi (Progress, Abstract Display)
11688         (Abstract Display Example, Bidirectional Display):
11689         * doc/lispref/commands.texi (Event Mod):
11690         * doc/emacs/windows.texi (Displaying Buffers):
11691         * doc/emacs/trouble.texi (Bug Criteria, Checklist):
11692         * doc/emacs/text.texi (Enriched Text):
11693         * doc/emacs/programs.texi (MixedCase Words):
11694         * doc/emacs/picture-xtra.texi (Insert in Picture)
11695         (Tabs in Picture):
11696         * doc/emacs/misc.texi (Emacs Server, Printing):
11697         * doc/emacs/mini.texi (Minibuffer History):
11698         * doc/emacs/maintaining.texi (Old Revisions, VC Change Log)
11699         (Pulling / Pushing):
11700         * doc/emacs/killing.texi (Yanking, Cut and Paste, Clipboard):
11701         * doc/emacs/help.texi (Help, Help Echo):
11702         * doc/emacs/glossary.texi (Glossary):
11703         * doc/emacs/frames.texi (Mouse Commands, Creating Frames)
11704         (Frame Commands):
11705         * doc/emacs/files.texi (Reverting, Saving, Directories):
11706         * doc/emacs/entering.texi (Exiting):
11707         * doc/emacs/emacs.texi (Top):
11708         * doc/emacs/cmdargs.texi (Window Size X, Icons X):
11709         * doc/emacs/anti.texi (Antinews): Restore quoting of text where
11710         appropriate or replace quoting with @dfn.
11711         * doc/misc/ediff.texi (Window and Frame Configuration):
11712         * doc/lispref/processes.texi (Network Feature Testing):
11713         * doc/lispref/display.texi (Display Margins): Quote the phrase
11714         after "a.k.a." where appropriate.
11716 2015-09-16  Tassilo Horn  <tsdh@gnu.org>
11718         Clarify reftex-extra-bindings docs
11719         * lisp/textmodes/reftex-vars.el (reftex-extra-bindings):
11720         * doc/misc/reftex.texi (Key Bindings): Document that the variable
11721         only has an effect at load-time.
11723 2015-09-16  Daniel McClanahan  <danieldmcclanahan@gmail.com>  (tiny change)
11725         * lisp/emacs-lisp/lisp-mode.el (lisp--el-match-keyword): Fix
11726         search argument.  (Bug#21492) (Bug#21493)
11728 2015-09-16  Tassilo Horn  <tsdh@gnu.org>
11730         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist):
11731         Add pretty symbols for \qquad and \varrho.
11733 2015-09-15  Jay Belanger  <jay.p.belanger@gmail.com>
11735         Add new functions for the root mean square of a (Calc) vector
11736         * lisp/calc/calc-stats.el (calcFunc-rms, calc-vector-rms):
11737         New functions.
11738         * lisp/calc/calc-ext.el (calc-init-extensions): Add keybinding for
11739         `calc-vector-rms', add autoloads for `calc-vector-rms' and
11740         `calcFunc-rms'.
11741         * lisp/calc/calc-map.el (calc-u-oper-keys): Add entry for
11742         `calcFunc-rms'.
11743         * lisp/calc/calc-menu.el (calc-vectors-menu): Add entry for
11744         `calc-vector-rms'.
11745         * doc/misc/calc.texi (Single-Variable Statistics): Document the rms
11746         command.
11748 2015-09-15  Stephen Leake  <stephen_leake@stephe-leake.org>
11750         Add monotone EDE generic project
11751         * lisp/cedet/ede/generic.el (ede-enable-generic-projects):
11752         Add monotone generic project.
11754         Revert premature commit
11755         * doc/lispref/files.texi: Revert premature commit of change to
11756         file-name-all-completions.
11758         Fix a bug in elisp--xref-find-definitions related to cl-generic defaults
11759         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions): Fix bug
11760         with cl-generic defaults.
11761         (elisp--xref-find-references): Add doc string.
11762         * test/automated/elisp-mode-tests.el (xref-elisp-generic-*): Improve
11763         tests to find bug.
11765         Fix bugs in eieio-oref-default related to class symbols
11766         * lisp/emacs-lisp/eieio-core.el (class-p): Handle symbol properly.
11767         (eieio-oref-default): Handle class properly.
11769 2015-09-15  Paul Eggert  <eggert@cs.ucla.edu>
11771         Quote “fullboth” when defining it
11772         * doc/lispref/frames.texi (Size Parameters): Use @dfn for “fullboth”
11773         and rewrite the containing paragraph, which was awkward.  (Bug#21472).
11775 2015-09-15  Eli Zaretskii  <eliz@gnu.org>
11777         Minor doc fix in emacs/ack.texi
11778         * doc/emacs/ack.texi (Acknowledgments): Fix an xref missing the
11779         first argument.
11781 2015-09-15  Michael Albinus  <michael.albinus@gmx.de>
11783         Adapt tests in auto-revert-tests.el
11784         * test/automated/auto-revert-tests.el (auto-revert--timeout):
11785         Make it a defconst.
11786         (auto-revert--wait-for-revert): New defun.
11787         (auto-revert-test00-auto-revert-mode)
11788         (auto-revert-test01-auto-revert-tail-mode)
11789         (auto-revert-test02-auto-revert-mode-dired): Use it.
11791 2015-09-15  Stefan Monnier  <monnier@iro.umontreal.ca>
11793         * lisp/emacs-lisp/lisp-mode.el (lisp-mode-symbol-regexp): New const.
11794         Use it everywhere "\\(\\sw\\|\\s_\\|\\\\.\\)+" was used.
11795         (cl-lib-fdefs): Add defgeneric.
11796         (cl-kw): Add all elements of eieio-kw and cl-lib-kw.
11797         (eieio-kw, cl-lib-kw, el-kw): Remove.
11799 2015-09-15  Paul Eggert  <eggert@cs.ucla.edu>
11801         Quote less in manuals
11802         The manuals often used quotes ``...'' when it is better to use @dfn or
11803         @code or capitalized words or no quoting at all.  For example, there is
11804         no need for the `` and '' in “if a variable has one effect for
11805         @code{nil} values and another effect for ``non-@code{nil}'' values”.
11806         Reword the Emacs, Lisp intro, and Lisp reference manuals to eliminate
11807         unnecessary quoting like this, and to use @dfn etc. instead when called
11808         for (Bug#21472).
11810 2015-09-15  Mark Oteiza  <mvoteiza@udel.edu>
11812         * lisp/custom.el (load-theme): Only compute hash when needed.
11814 2015-09-15  Paul Eggert  <eggert@cs.ucla.edu>
11816         Pacify --enable-gcc-warnings
11817         * src/inotify.c (report_inotify_error): Declare it _Noreturn.
11819 2015-09-15  Michael Albinus  <michael.albinus@gmx.de>
11821         Improve error reports in inotify.c
11822         * src/inotify.c (report_inotify_error): New function.  Clone of
11823         report_w32notify_error.
11824         (inotify_callback, symbol_to_inotifymask, Finotify_add_watch)
11825         (Finotify_rm_watch): Use it.
11827 2015-09-15  Eli Zaretskii  <eliz@gnu.org>
11829         Fix the file-notify tests for watch validation on w32
11830         * test/automated/file-notify-tests.el
11831         (file-notify-test04-file-validity): Move the directory deletion
11832         out of the file-notify--test-with-events macro.
11833         (file-notify-test04-file-validity)
11834         (file-notify-test05-dir-validity): Enlarge the timeout of
11835         read-event to 0.5, as 0.1 is borderline on w32.  (Bug#21432)
11837 2015-09-15  Tassilo Horn  <tsdh@gnu.org>
11839         Use OPEN BOX instead of space for \quad.
11840         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Use OPEN BOX
11841         character for \quad instead of a space.
11843 2015-09-15  Eli Zaretskii  <eliz@gnu.org>
11845         Add missing *.pbm images
11846         * etc/images/connect.pbm: New file.
11847         * etc/images/custom/down-pushed.pbm: New file.
11848         * etc/images/custom/down.pbm: New file.
11849         * etc/images/custom/right-pushed.pbm: New file.
11850         * etc/images/custom/right.pbm: New file.
11851         * etc/images/describe.pbm: New file.
11852         * etc/images/disconnect.pbm: New file.
11853         * etc/images/ezimage/bits.pbm: New file.
11854         * etc/images/ezimage/bitsbang.pbm: New file.
11855         * etc/images/ezimage/box-minus.pbm: New file.
11856         * etc/images/ezimage/box-plus.pbm: New file.
11857         * etc/images/ezimage/box.pbm: New file.
11858         * etc/images/ezimage/checkmark.pbm: New file.
11859         * etc/images/ezimage/dir-minus.pbm: New file.
11860         * etc/images/ezimage/dir-plus.pbm: New file.
11861         * etc/images/ezimage/dir.pbm: New file.
11862         * etc/images/ezimage/doc-minus.pbm: New file.
11863         * etc/images/ezimage/doc-plus.pbm: New file.
11864         * etc/images/ezimage/doc.pbm: New file.
11865         * etc/images/ezimage/info.pbm: New file.
11866         * etc/images/ezimage/key.pbm: New file.
11867         * etc/images/ezimage/label.pbm: New file.
11868         * etc/images/ezimage/lock.pbm: New file.
11869         * etc/images/ezimage/mail.pbm: New file.
11870         * etc/images/ezimage/page-minus.pbm: New file.
11871         * etc/images/ezimage/page-plus.pbm: New file.
11872         * etc/images/ezimage/page.pbm: New file.
11873         * etc/images/ezimage/tag-gt.pbm: New file.
11874         * etc/images/ezimage/tag-minus.pbm: New file.
11875         * etc/images/ezimage/tag-plus.pbm: New file.
11876         * etc/images/ezimage/tag-type.pbm: New file.
11877         * etc/images/ezimage/tag-v.pbm: New file.
11878         * etc/images/ezimage/tag.pbm: New file.
11879         * etc/images/ezimage/unlock.pbm: New file.
11880         * etc/images/gnus/important.pbm: New file.
11881         * etc/images/gnus/mail-send.pbm: New file.
11882         * etc/images/gnus/receipt.pbm: New file.
11883         * etc/images/gnus/toggle-subscription.pbm: New file.
11884         * etc/images/gnus/unimportant.pbm: New file.
11885         * etc/images/gud/all.pbm: New file.
11886         * etc/images/gud/rcont.pbm: New file.
11887         * etc/images/gud/recstart.pbm: New file.
11888         * etc/images/gud/recstop.pbm: New file.
11889         * etc/images/gud/rfinish.pbm: New file.
11890         * etc/images/gud/rnext.pbm: New file.
11891         * etc/images/gud/rnexti.pbm: New file.
11892         * etc/images/gud/rstep.pbm: New file.
11893         * etc/images/gud/rstepi.pbm: New file.
11894         * etc/images/gud/thread.pbm: New file.
11895         * etc/images/lock-broken.pbm: New file.
11896         * etc/images/lock-ok.pbm: New file.
11897         * etc/images/lock.pbm: New file.
11898         * etc/images/mail/copy.pbm: New file.
11899         * etc/images/mail/forward.pbm: New file.
11900         * etc/images/mail/not-spam.pbm: New file.
11901         * etc/images/mail/outbox.pbm: New file.
11902         * etc/images/mail/preview.pbm: New file.
11903         * etc/images/mail/save-draft.pbm: New file.
11904         * etc/images/mh-logo.pbm: New file.
11905         * etc/images/mpc/add.pbm: New file.
11906         * etc/images/mpc/ffwd.pbm: New file.
11907         * etc/images/mpc/next.pbm: New file.
11908         * etc/images/mpc/pause.pbm: New file.
11909         * etc/images/mpc/play.pbm: New file.
11910         * etc/images/mpc/prev.pbm: New file.
11911         * etc/images/mpc/rewind.pbm: New file.
11912         * etc/images/mpc/stop.pbm: New file.
11913         * etc/images/redo.pbm: New file.
11914         * etc/images/smilies/braindamaged.pbm: New file.
11915         * etc/images/smilies/cry.pbm: New file.
11916         * etc/images/smilies/dead.pbm: New file.
11917         * etc/images/smilies/evil.pbm: New file.
11918         * etc/images/smilies/forced.pbm: New file.
11919         * etc/images/smilies/grin.pbm: New file.
11920         * etc/images/smilies/indifferent.pbm: New file.
11921         * etc/images/sort-ascending.pbm: New file.
11922         * etc/images/sort-column-ascending.pbm: New file.
11923         * etc/images/sort-criteria.pbm: New file.
11924         * etc/images/sort-descending.pbm: New file.
11925         * etc/images/sort-row-ascending.pbm: New file.
11926         * etc/images/unchecked.pbm: New file.
11927         * etc/images/zoom-in.pbm: New file.
11928         * etc/images/README: Update instructions for PBM files.
11930         Add separator.pbm tool-bar image
11931         * etc/images/separator.pbm: New file.  Having it avoids the side
11932         effect of changing the tool-bar height when the default font's size
11933         changes and XPM image support is not available, due to the SPC
11934         characters that are left in the Lisp string used to display the tool
11935         bar, because there are no images to display instead of those SPC
11936         characters.
11938         Make show-paren-match face visible on mono-color displays
11939         * lisp/faces.el (show-paren-match): Use the underline face for
11940         mono-color displays.  (Bug#21481)
11942 2015-09-14  Paul Eggert  <eggert@cs.ucla.edu>
11944         Don’t double-encode non-ASCII mail clipboard
11945         * lisp/mail/mailclient.el (mailclient-send-it):
11946         Also fix the case when mailclient-place-body-on-clipboard-flag
11947         is non-nil.  Problem reported by Eli Zaretskii (Bug#21471#37).
11949 2015-09-14  Michael Albinus  <michael.albinus@gmx.de>
11951         Adapt file-notify-tests.el test cases
11952         * lisp/filenotify.el (file-notify-rm-watch): Ignore `file-notify-error'.
11953         * src/inotify.c (Finotify_valid_p): Adapt docstring.
11954         * test/automated/file-notify-tests.el
11955         (file-notify-test03-autorevert)
11956         (file-notify-test04-file-validity)
11957         (file-notify-test04-file-validity-remote)
11958         (file-notify-test05-dir-validity)
11959         (file-notify-test05-dir-validity-remote): Adapt docstring.
11960         (file-notify-test04-file-validity): Let events arrive before
11961         calling final `file-notify-valid-p'.  Do not ignore errors.
11962         (file-notify-test05-dir-validity): Do not manipulate
11963         `temporary-file-directory', it isn't necessary.  Let events arrive
11964         before calling final `file-notify-valid-p'.  Do not ignore errors.
11966 2015-09-14  Paul Eggert  <eggert@cs.ucla.edu>
11968         Don’t double-encode non-ASCII for mail client
11969         * lisp/mail/mailclient.el (mailclient-encode-string-as-url):
11970         Use RFC 6068’s list of unreserved characters.
11971         (mailclient-send-it): When encoding the body as a URL,
11972         first decode it as per Content-Type: and Content-Transfer-Encoding:,
11973         as URLs must use percent-encoded UTF-8 (Bug#21471).
11974         * doc/misc/url.texi (mailto): Update RFC number.
11976 2015-09-14  Stefan Monnier  <monnier@iro.umontreal.ca>
11978         * lisp/progmodes/cc-langs.el (c-make-init-lang-vars-fun): Use dolist.
11980 2015-09-14  Alan Mackenzie  <acm@muc.de>
11982         Replace `cadar' with `cadr/car', since `cadar' is problematic on Emacs
11983         (c-make-init-lang-vars-fun): Replace two occurrences of `cadar' with
11984         `cadr/car'.
11986 2015-09-14  Eli Zaretskii  <eliz@gnu.org>
11988         Clarify documentation of char-table extra slots
11989         * doc/lispref/sequences.texi (Char-Tables): Clarify that extra
11990         slot numbers are zero-based.  (Bug#21467)
11992 2015-09-14  Alan Mackenzie  <acm@muc.de>
11994         Elisp mode: Make font-lock and imenu handle escaped characters in symbols
11995         Fixes bug#21449.
11996         * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression)
11997         (lisp--el-match-keyword, lisp-el-font-lock-keywords-1)
11998         (lisp-cl-font-lock-keywords-1, lisp-el-font-lock-keywords-2)
11999         (lisp-cl-font-lock-keywords-2, lisp-string-in-doc-position-p):
12000         Insert "\\|\\\\." into regexps which match symbols.
12002 2015-09-14  Eli Zaretskii  <eliz@gnu.org>
12004         Improve the doc string of w32notify-valid-p
12005         * src/w32notify.c (Fw32notify_valid_p): Mention in the doc string
12006         that removing a watch makes its object invalid.
12008 2015-09-14  Tassilo Horn  <tsdh@gnu.org>
12010         Fix tests for file-notify-valid-p
12011         * test/automated/file-notify-tests.el (file-notify--test-cleanup):
12012         Use delete-directory to delete file-notify--test-tmpfile if it is
12013         a directory.  Likewise for file-notify--test-tmpfile1.
12014         (file-notify-test04-file-validity)
12015         (file-notify-test05-dir-validity): Delete the parent directory of
12016         the test.  Ignore errors when cleaning up after the test.
12018 2015-09-14  Eli Zaretskii  <eliz@gnu.org>
12020         Report file-notify-error in w32notify.c
12021         * src/w32notify.c (report_w32notify_error): New function.
12022         (Fw32notify_add_watch, Fw32notify_rm_watch): Use it to report
12023         errors, instead of calling report_file_error.  (Bug#21432)
12025         Implement w32notify-valid-p
12026         * src/w32notify.c (Fw32notify_valid_p): New function.  (Bug#21432)
12027         * lisp/filenotify.el (w32notify-valid-p): No longer an alias for
12028         'identity'.
12030 2015-09-14  Tassilo Horn  <tsdh@gnu.org>
12032         Test file-notify-valid-p
12033         * test/automated/file-notify-tests.el
12034         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
12035         New tests.
12037 2015-09-13  Eli Zaretskii  <eliz@gnu.org>
12039         Fix markup in ELisp manual
12040         * doc/lispref/frames.texi (Font and Color Parameters): Fix markup
12041         of the 'alpha' parameter value.  (Bug#21470)
12043 2015-09-13  Michael Albinus  <michael.albinus@gmx.de>
12045         Introduce `file-notify-valid-p'
12046         * lisp/filenotify.el (file-notify-valid-p): New defun.
12047         (gfile-valid-p, w32notify-valid-p): Make them an alias to `identity'.
12048         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist)
12049         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist)
12050         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist)
12051         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist)
12052         <file-notify-valid-p>: Add handler.
12053         * lisp/net/tramp.el (tramp-file-name-for-operation):
12054         Add `file-notify-valid-p'.
12055         (tramp-handle-file-notify-valid-p): New defun.
12056         * src/inotify.c (Finotify_valid_p): New defun.
12057         (syms_of_inotify): Declare Sinotify_valid_p.
12059 2015-09-13  Paul Eggert  <eggert@cs.ucla.edu>
12061         Port Unicode char detection to FreeBSD+svgalib
12062         Problem reported by Ashish SHUKLA in:
12063         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00531.html
12064         * configure.ac: Check for struct unipair.unicode instead of for
12065         <linux/kd.h>, since that’s more specific to what the code
12066         actually needs.
12067         * src/terminal.c: Use HAVE_STRUCT_UNIPAIR_UNICODE, not HAVE_LINUX_KD_H.
12069         * src/indent.c (Fvertical_motion): Simplify bugfix (Bug#21468).
12071 2015-09-13  Eli Zaretskii  <eliz@gnu.org>
12073         Fix vertical cursor motion across overlay strings with newlines
12074         * src/indent.c (Fvertical_motion): Don't leave point in the middle
12075         of an overlay string with newlines, as that will position the
12076         cursor after the string at whatever column is there.  (Bug#21468)
12078 2015-09-12  Michael Albinus  <michael.albinus@gmx.de>
12080         Fix tests in file-notify-tests.el
12081         * test/automated/file-notify-tests.el: Remove Tramp declarations.
12082         (file-notify-test00-availability): Print remote command w/o Tramp
12083         internal functions.
12084         (file-notify-test02-events, file-notify-test02-events-remote):
12085         Adapt docstring.
12086         (file-notify-test03-autorevert): Use `format-message' when
12087         inspecting *Messages* buffer.
12089 2015-09-12  Stefan Monnier  <monnier@iro.umontreal.ca>
12091         Bind inhibit-modification-hooks rather than a/b-c-f
12092         * lisp/wid-edit.el (widget-editable-list-insert-before)
12093         (widget-editable-list-delete-at):
12094         * lisp/progmodes/cperl-mode.el (cperl-find-pods-heres)
12095         (cperl-font-lock-unfontify-region-function):
12096         * lisp/progmodes/antlr-mode.el (save-buffer-state-x):
12097         * lisp/obsolete/longlines.el (longlines-mode):
12098         * lisp/obsolete/fast-lock.el (save-buffer-state):
12099         * lisp/mouse.el (mouse-save-then-kill-delete-region):
12100         * lisp/gnus/message.el (message-hide-headers):
12101         * lisp/eshell/esh-mode.el (eshell-send-input, eshell-output-filter):
12102         * lisp/ibuffer.el (ibuffer-update-title-and-summary)
12103         (ibuffer-redisplay-engine): Bind inhibit-modification-hooks to t rather
12104         than after/before-change-functions to nil.
12106 2015-09-11  Stefan Monnier  <monnier@iro.umontreal.ca>
12108         (jit-lock-deferred-fontify): Pay attention to skipped redisplays
12109         * lisp/jit-lock.el (jit-lock-deferred-fontify): Make sure we refresh
12110         the buffers, even if the forced redisplay is interrupted.
12112         * lisp/emacs-lisp/eieio-core.el (class-p): Accept class objects
12114         Merge syntax-propertize--done and parse-sexp-propertize-done
12115         * lisp/emacs-lisp/syntax.el (syntax-propertize--done): Remove.
12116         (syntax-propertize): Set syntax-propertize--done even if
12117         syntax-propertize-function is nil.  Avoid recursive invocations.
12118         (syntax-propertize-chunks): New var.
12119         (internal--syntax-propertize): Use it.  Rename from syntax--jit-propertize.
12120         Simplify.
12121         (parse-sexp-propertize-function): Don't set any more.
12122         * src/syntax.c (SETUP_SYNTAX_TABLE): Call parse_sexp_propertize as needed.
12123         (parse_sexp_propertize): Don't assume charpos is not yet propertized.
12124         Call Qinternal__syntax_propertize instead of
12125         Vparse_sexp_propertize_function.  Truncate e_property if needed.
12126         (update_syntax_table_forward): Streamline.
12127         (syms_of_syntax): Define Qinternal__syntax_propertize.
12128         (syntax_propertize__done): Rename from parse_sexp_propertize_done.
12130 2015-09-11  Paul Eggert  <eggert@cs.ucla.edu>
12132         Prefer straight quoting in some text files
12133         Mostly this just changes ` to ' in static text.  Some exceptions:
12134         * INSTALL.REPO: Use curved quotes, as the diagnostic in question
12135         typically does that now.
12136         * admin/quick-install-emacs (TRY, top level):
12137         Use straight quoting in diagnostics.
12138         * src/README: Fix working-directory confusion.
12140         * CONTRIBUTE: Move send-email here from git-workflow.
12142 2015-09-11  Michael Albinus  <michael.albinus@gmx.de>
12144         Improve file notifications in Tramp
12145         * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
12146         Set proper events to watch for.
12147         (tramp-sh-file-gvfs-monitor-dir-process-filter): Report only
12148         watched events.
12150 2015-09-11  Eli Zaretskii  <eliz@gnu.org>
12152         Fix NS build with --enable-checking='glyphs'
12153         * src/nsfns.m (unwind_create_frame): Make the preprocessor
12154         conditionals for referencing 'dpyinfo' consistent throughout the
12155         function.  (Bug#21426)
12157 2015-09-10  Nicolas Petton  <nicolas@petton.fr>
12159         Add seq-find
12160         This function is similar to `seq-some' but returns the found element.
12161         In the cases where nil can be the found element, a sentinel optional
12162         argument can be provided to avoid ambiguities.
12163         * lisp/emacs-lisp/seq.el (seq-find): New function.
12164         * test/automated/seq-tests.el (test-seq-find): Add tests for `seq-find'.
12165         * doc/lispref/sequences.texi (Sequence Functions): Add documentation for
12166         seq-find.
12168 2015-09-10  Tassilo Horn  <tsdh@gnu.org>
12170         Document file-notify--test-with-events.
12171         * test/automated/file-notify-tests.el (file-notify--test-with-events):
12172         Add docstring.
12174 2015-09-10  Michael Albinus  <michael.albinus@gmx.de>
12176         Report used native library in file-notify-tests.el
12177         * test/automated/file-notify-tests.el
12178         (tramp-get-remote-gvfs-monitor-dir)
12179         (tramp-get-remote-inotifywait): Declare them.
12180         (file-notify-test00-availability): Print used native library.
12182 2015-09-10  Mark Oteiza  <mvoteiza@udel.edu>
12184         * lisp/mpc.el (mpc--proc-connect): Use file-name-absolute-p.
12185         (mpc-file-local-copy): Check for absolute path.  Check more config
12186         locations.
12188 2015-09-10  Eli Zaretskii  <eliz@gnu.org>
12190         Improve documentation of categories
12191         * doc/lispref/syntax.texi (Categories): Clarify the example of
12192         using define-category and modify-category-entry.  (Bug#21448)
12194 2015-09-10  Paul Eggert  <eggert@cs.ucla.edu>
12196         Revert some stray curved quotes I missed earlier
12197         Problem reported by David Kastrup in:
12198         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00440.html
12199         * lisp/international/mule-cmds.el (leim-list-header):
12200         Use format-message with an ASCII-only format.
12202         Prefer NUMBERP to spelling it out
12203         * src/editfns.c (styled_format):
12204         * src/frame.h (NUMVAL):
12205         * src/image.c (parse_image_spec):
12206         * src/lisp.h (CHECK_NUMBER_OR_FLOAT)
12207         (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER):
12208         * src/process.c (Fsignal_process):
12209         * src/xdisp.c (calc_pixel_width_or_height, on_hot_spot_p):
12210         * src/xfaces.c (check_lface_attrs):
12211         * src/xselect.c (x_fill_property_data, x_send_client_event):
12212         Use NUMBERP rather than INTEGERP || FLOATP.
12214 2015-09-10  Tassilo Horn  <tsdh@gnu.org>
12216         Improve file-notify-tests
12217         * test/automated/file-notify-tests.el: Use lexical-binding.
12218         (file-notify--test-cleanup): New function.
12219         (file-notify-test00-availability, file-notify-test01-add-watch)
12220         (file-notify-test02-events, file-notify-test03-autorevert): Use it.
12221         (file-notify--test-with-events): New macro.
12222         (file-notify-test02-events): Use it.
12224 2015-09-10  Paul Eggert  <eggert@cs.ucla.edu>
12226         Add patch-sending instructions to git-workflow
12227         From a suggestion by Mitchel Humpherys in:
12228         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00421.html
12229         * admin/notes/git-workflow (Sending patches): New section.
12231         Port to GIFLIB 5.0.6 and later
12232         Problem reported by Mitchel Humpherys in:
12233         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00420.html
12234         * src/image.c (HAVE_GIFERRORSTRING) [HAVE_GIF]: New macro.
12235         (GifErrorString, init_gif_functions) [HAVE_GIF && WINDOWSNT]:
12236         (gif_load) [HAVE_GIF]: Use it.
12238 2015-09-10  Glenn Morris  <rgm@gnu.org>
12240         * lisp/cedet/ede/auto.el (ede-project-autoload): Doc fix.
12242 2015-09-09  Glenn Morris  <rgm@gnu.org>
12244         * test/automated/file-notify-tests.el (file-notify-test02-events):
12245         Fix recent change.
12247 2015-09-09  Paul Eggert  <eggert@cs.ucla.edu>
12249         Refix movemail GCC pacification
12250         Problem reported by Ken Brown in:
12251         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00406.html
12252         * lib-src/movemail.c (main): Fix previous change.
12254 2015-09-09  Stefan Monnier  <monnier@iro.umontreal.ca>
12256         * lisp/calendar/time-date.el (time-to-seconds, time-less-p):
12257         Mark unused vars with underscore.
12259         * src/syntax.c (SETUP_SYNTAX_TABLE): Move truncation...
12260         (parse_sexp_propertize): ...from here.
12262         * lisp/filenotify.el: Use lexical-binding
12263         (file-notify-add-watch): Avoid add-to-list.
12265 2015-09-09  Tassilo Horn  <tsdh@gnu.org>
12267         Start checking event types in file-notify tests
12268         * test/automated/file-notify-tests.el (file-notify--test-events):
12269         New variable.
12270         (file-notify--test-event-handler): Append received event to
12271         file-notify--test-events for later analysis.
12272         (file-notify-test02-events): Assert that the expected notifications have
12273         arrived in the expected order.
12275 2015-09-09  Paul Eggert  <eggert@cs.ucla.edu>
12277         Merge from gnulib and texinfo
12278         This incorporates:
12279         2015-08-03 Improve port of stdalign to C++11
12280         * lib/stdalign.in.h: Copy from gnulib.
12281         * doc/misc/texinfo.tex: Copy from texinfo.
12283 2015-09-09  Stefan Monnier  <monnier@iro.umontreal.ca>
12285         Make syntax.c call syntax-propertize on demand
12286         * lisp/emacs-lisp/syntax.el (syntax--jit-propertize): New function.
12287         (parse-sexp-propertize-function): Use it.
12288         (syntax-propertize): Disable parse-sexp-propertize-function.
12289         * src/syntax.c (parse_sexp_propertize, update_syntax_table_forward):
12290         New functions.
12291         (syms_of_syntax): New vars `parse-sexp-propertize-done' and
12292         `parse-sexp-propertize-function'.
12293         * src/syntax.h (struct gl_state_s): Add `e_property_truncated' field.
12294         (UPDATE_SYNTAX_TABLE_FORWARD): Use update_syntax_table_forward.
12295         (SETUP_BUFFER_SYNTAX_TABLE): Set e_property_truncated.
12296         * lisp/progmodes/elisp-mode.el (elisp-byte-code-syntax-propertize):
12297         Don't assume `point' is set.
12299 2015-09-09  Eli Zaretskii  <eliz@gnu.org>
12301         Fix indentation of an @example in ELisp manual
12302         * doc/lispref/syntax.texi (Categories): Untabify the example.
12303         (Bug#21448)
12305 2015-09-09  Paul Eggert  <eggert@cs.ucla.edu>
12307         Define internal-char-font even if --without-x
12308         The function is used now even in non-graphical environments.
12309         Problem reported by Glenn Morris in:
12310         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00401.html
12311         * src/font.c (Finternal_char_font): Move here ...
12312         * src/fontset.c (Finternal_char_font): ... from here.
12314 2015-09-09  Stefan Monnier  <monnier@iro.umontreal.ca>
12316         * lisp/emacs-lisp/cl-generic.el (cl-generic-generalizers):
12317         Remove warning.
12319 2015-09-09  Eli Zaretskii  <eliz@gnu.org>
12321         Fix display of complex local data types in GDB-MI
12322         * lisp/progmodes/gdb-mi.el (gdb-locals-handler-custom): If a
12323         variable has no value, display "<complex data type>" as a
12324         placeholder, instead of a confusing "nil".  (Bug#21438)
12326 2015-09-09  Oleh Krehel  <ohwoeowho@gmail.com>
12328         Remove redundant redefinition of seq-drop-while from seq.el
12329         * lisp/emacs-lisp/seq.el (seq-drop-while): Define only once.
12331 2015-09-09  Phil Sainty  <psainty@orcon.net.nz>
12333         * lisp/emacs-lisp/package.el (package--ensure-init-file):
12334         More robust check for `package-initialize' calls in init file.
12335         This function accepts an optional argument, but calls passing
12336         an argument would not have been detected.
12338 2015-09-09  Paul Eggert  <eggert@cs.ucla.edu>
12340         Port movemail to RHEL 6 with --enable-gcc-warnings
12341         * lib-src/movemail.c (main): Declare local only if needed.
12343         Port recent Linux console changes to RHEL 6
12344         * src/terminal.c [HAVE_LINUX_KD_H]: Include <sys/ioctl.h>.
12346         Improvements for curved quotes on Linux consule
12347         This should help Emacs work better out-of-the-box on Linux consoles,
12348         which have only limited support for displaying Unicode characters.
12349         Also, undo the recent change that caused text-quoting-style to
12350         affect quote display on terminals, so that the two features are
12351         independent.  See Alan Mackenzie in:
12352         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00244.html
12353         Finally, add a style parameter to startup--setup-quote-display,
12354         so that this function can also be invoked after startup, with
12355         different styles depending on user preference at the time.
12356         * configure.ac: Check for linux/kd.h header.
12357         * doc/emacs/display.texi (Text Display): Document quote display.
12358         * doc/lispref/display.texi (Active Display Table):
12359         * etc/NEWS:
12360         * lisp/startup.el (startup--setup-quote-display, command-line):
12361         text-quoting-style no longer affects quote display.
12362         * doc/lispref/frames.texi (Terminal Parameters): Fix typo.
12363         * lisp/international/mule-util.el (char-displayable-p):
12364         * lisp/startup.el (startup--setup-quote-display):
12365         On a text terminal supporting glyph codes, use the reported
12366         glyph codes instead of the terminal coding system, as this
12367         is more accurate on the Linux console.
12368         * lisp/startup.el (startup--setup-quote-display):
12369         New optional arg STYLE.
12370         * src/fontset.c (Finternal_char_font):
12371         Report glyph codes for a text terminal, if they are available.
12372         Currently this is supported only for the Linux console.
12373         * src/termhooks.h (struct terminal): New member glyph-code-table.
12374         * src/terminal.c [HAVE_LINUX_KD_H]: Include <errno.h>, <linux/kd.h>.
12375         (calculate_glyph_code_table) [HAVE_LINUX_KD_H]: New function.
12376         (terminal_glyph_code): New function.
12378 2015-09-08  Juri Linkov  <juri@linkov.net>
12380         * lisp/info.el (Info-fontify-node): Don't stop at the non-title
12381         underline.  (Bug#21433)
12383 2015-09-08  Stefan Monnier  <monnier@iro.umontreal.ca>
12385         * lisp/calendar/time-date.el (with-decoded-time-value): Fix debug spec.
12387 2015-09-08  Tassilo Horn  <tsdh@gnu.org>
12389         Fix double-reporting of rename events with inotify
12390         * lisp/filenotify.el (file-notify-callback): Fix double-reporting
12391         of rename events with inotify (bug#21435).
12393 2015-09-08  Vasilij Schneidermann  <v.schneidermann@gmail.com>  (tiny change)
12395         * lisp/play/tetris.el (tetris-move-down): New command (bug#21360).
12396         (tetris-mode-map): Use it.
12398 2015-09-08  Stefan Monnier  <monnier@iro.umontreal.ca>
12400         Remove a few simple cases of global redisplay
12401         * src/dispnew.c (redraw_frame): Don't redisplay all frames.
12402         * src/xdisp.c (echo_area_display): Set the frame's `redisplay' bit
12403         rather than returning a "resized_p" boolean.
12404         (redisplay_internal): Adjust call accordingly.
12405         * src/xfaces.c (free_realized_faces): Don't redisplay all frames.
12406         (free_all_realized_faces): Set windows_or_buffers_changed so as to ease
12407         tracking of this undesirable situation.
12409         * src/process.c (status_notify): Avoid global redisplay (bug#11822)
12410         * src/process.c (status_notify): Only set the update_mode_line on the
12411         relevant buffers rather than setting it globally.
12413 2015-09-07  Stefan Monnier  <monnier@iro.umontreal.ca>
12415         * lisp/electric.el (electric-quote-post-self-insert-function):
12416         Don't use syntax-ppss if comment-use-syntax is nil (e.g. message-mode).
12417         (electric-quote-mode): Activate everywhere in message-mode.
12419 2015-09-07  Paul Eggert  <eggert@cs.ucla.edu>
12421         Go back to grave quoting in source-code docstrings etc.
12422         This reverts almost all my recent changes to use curved quotes
12423         in docstrings and/or strings used for error diagnostics.
12424         There are a few exceptions, e.g., Bahá’í proper names.
12425         * admin/unidata/unidata-gen.el (unidata-gen-table):
12426         * lisp/abbrev.el (expand-region-abbrevs):
12427         * lisp/align.el (align-region):
12428         * lisp/allout.el (allout-mode, allout-solicit-alternate-bullet)
12429         (outlineify-sticky):
12430         * lisp/apropos.el (apropos-library):
12431         * lisp/bookmark.el (bookmark-default-annotation-text):
12432         * lisp/button.el (button-category-symbol, button-put)
12433         (make-text-button):
12434         * lisp/calc/calc-aent.el (math-read-if, math-read-factor):
12435         * lisp/calc/calc-embed.el (calc-do-embedded):
12436         * lisp/calc/calc-ext.el (calc-user-function-list):
12437         * lisp/calc/calc-graph.el (calc-graph-show-dumb):
12438         * lisp/calc/calc-help.el (calc-describe-key)
12439         (calc-describe-thing, calc-full-help):
12440         * lisp/calc/calc-lang.el (calc-c-language)
12441         (math-parse-fortran-vector-end, math-parse-tex-sum)
12442         (math-parse-eqn-matrix, math-parse-eqn-prime)
12443         (calc-yacas-language, calc-maxima-language, calc-giac-language)
12444         (math-read-giac-subscr, math-read-math-subscr)
12445         (math-read-big-rec, math-read-big-balance):
12446         * lisp/calc/calc-misc.el (calc-help, report-calc-bug):
12447         * lisp/calc/calc-mode.el (calc-auto-why, calc-save-modes)
12448         (calc-auto-recompute):
12449         * lisp/calc/calc-prog.el (calc-fix-token-name)
12450         (calc-read-parse-table-part, calc-user-define-invocation)
12451         (math-do-arg-check):
12452         * lisp/calc/calc-store.el (calc-edit-variable):
12453         * lisp/calc/calc-units.el (math-build-units-table-buffer):
12454         * lisp/calc/calc-vec.el (math-read-brackets):
12455         * lisp/calc/calc-yank.el (calc-edit-mode):
12456         * lisp/calc/calc.el (calc, calc-do, calc-user-invocation):
12457         * lisp/calendar/appt.el (appt-display-message):
12458         * lisp/calendar/diary-lib.el (diary-check-diary-file)
12459         (diary-mail-entries, diary-from-outlook):
12460         * lisp/calendar/icalendar.el (icalendar-export-region)
12461         (icalendar--convert-float-to-ical)
12462         (icalendar--convert-date-to-ical)
12463         (icalendar--convert-ical-to-diary)
12464         (icalendar--convert-recurring-to-diary)
12465         (icalendar--add-diary-entry):
12466         * lisp/calendar/time-date.el (format-seconds):
12467         * lisp/calendar/timeclock.el (timeclock-mode-line-display)
12468         (timeclock-make-hours-explicit, timeclock-log-data):
12469         * lisp/calendar/todo-mode.el (todo-prefix, todo-delete-category)
12470         (todo-item-mark, todo-check-format)
12471         (todo-insert-item--next-param, todo-edit-item--next-key)
12472         (todo-mode):
12473         * lisp/cedet/ede/pmake.el (ede-proj-makefile-insert-dist-rules):
12474         * lisp/cedet/mode-local.el (describe-mode-local-overload)
12475         (mode-local-print-binding, mode-local-describe-bindings-2):
12476         * lisp/cedet/semantic/complete.el (semantic-displayor-show-request):
12477         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
12478         * lisp/cus-start.el (standard):
12479         * lisp/cus-theme.el (describe-theme-1):
12480         * lisp/custom.el (custom-add-dependencies, custom-check-theme)
12481         (custom--sort-vars-1, load-theme):
12482         * lisp/descr-text.el (describe-text-properties-1, describe-char):
12483         * lisp/dired-x.el (dired-do-run-mail):
12484         * lisp/dired.el (dired-log):
12485         * lisp/emacs-lisp/advice.el (ad-read-advised-function)
12486         (ad-read-advice-class, ad-read-advice-name, ad-enable-advice)
12487         (ad-disable-advice, ad-remove-advice, ad-set-argument)
12488         (ad-set-arguments, ad--defalias-fset, ad-activate)
12489         (ad-deactivate):
12490         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand)
12491         (byte-compile-unfold-lambda, byte-optimize-form-code-walker)
12492         (byte-optimize-while, byte-optimize-apply):
12493         * lisp/emacs-lisp/byte-run.el (defun, defsubst):
12494         * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode)
12495         (byte-compile-log-file, byte-compile-format-warn)
12496         (byte-compile-nogroup-warn, byte-compile-arglist-warn)
12497         (byte-compile-cl-warn)
12498         (byte-compile-warn-about-unresolved-functions)
12499         (byte-compile-file, byte-compile--declare-var)
12500         (byte-compile-file-form-defmumble, byte-compile-form)
12501         (byte-compile-normal-call, byte-compile-check-variable)
12502         (byte-compile-variable-ref, byte-compile-variable-set)
12503         (byte-compile-subr-wrong-args, byte-compile-setq-default)
12504         (byte-compile-negation-optimizer)
12505         (byte-compile-condition-case--old)
12506         (byte-compile-condition-case--new, byte-compile-save-excursion)
12507         (byte-compile-defvar, byte-compile-autoload)
12508         (byte-compile-lambda-form)
12509         (byte-compile-make-variable-buffer-local, display-call-tree)
12510         (batch-byte-compile):
12511         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use):
12512         * lisp/emacs-lisp/chart.el (chart-space-usage):
12513         * lisp/emacs-lisp/check-declare.el (check-declare-scan)
12514         (check-declare-warn, check-declare-file)
12515         (check-declare-directory):
12516         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
12517         (checkdoc-message-text-engine):
12518         * lisp/emacs-lisp/cl-extra.el (cl-parse-integer)
12519         (cl--describe-class):
12520         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric)
12521         (cl--generic-describe, cl-generic-generalizers):
12522         * lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause, cl-tagbody)
12523         (cl-symbol-macrolet):
12524         * lisp/emacs-lisp/cl.el (cl-unload-function, flet):
12525         * lisp/emacs-lisp/copyright.el (copyright)
12526         (copyright-update-directory):
12527         * lisp/emacs-lisp/edebug.el (edebug-read-list):
12528         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-read):
12529         * lisp/emacs-lisp/eieio-core.el (eieio--slot-override)
12530         (eieio-oref):
12531         * lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor):
12532         * lisp/emacs-lisp/eieio-speedbar.el:
12533         (eieio-speedbar-child-make-tag-lines)
12534         (eieio-speedbar-child-description):
12535         * lisp/emacs-lisp/eieio.el (defclass, change-class):
12536         * lisp/emacs-lisp/elint.el (elint-file, elint-get-top-forms)
12537         (elint-init-form, elint-check-defalias-form)
12538         (elint-check-let-form):
12539         * lisp/emacs-lisp/ert.el (ert-get-test, ert-results-mode-menu)
12540         (ert-results-pop-to-backtrace-for-test-at-point)
12541         (ert-results-pop-to-messages-for-test-at-point)
12542         (ert-results-pop-to-should-forms-for-test-at-point)
12543         (ert-describe-test):
12544         * lisp/emacs-lisp/find-func.el (find-function-search-for-symbol)
12545         (find-function-library):
12546         * lisp/emacs-lisp/generator.el (iter-yield):
12547         * lisp/emacs-lisp/gv.el (gv-define-simple-setter):
12548         * lisp/emacs-lisp/lisp-mnt.el (lm-verify):
12549         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
12550         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
12551         * lisp/emacs-lisp/nadvice.el (advice--make-docstring)
12552         (advice--make, define-advice):
12553         * lisp/emacs-lisp/package-x.el (package-upload-file):
12554         * lisp/emacs-lisp/package.el (package-version-join)
12555         (package-disabled-p, package-activate-1, package-activate)
12556         (package--download-one-archive)
12557         (package--download-and-read-archives)
12558         (package-compute-transaction, package-install-from-archive)
12559         (package-install, package-install-selected-packages)
12560         (package-delete, package-autoremove, describe-package-1)
12561         (package-install-button-action, package-delete-button-action)
12562         (package-menu-hide-package, package-menu--list-to-prompt)
12563         (package-menu--perform-transaction)
12564         (package-menu--find-and-notify-upgrades):
12565         * lisp/emacs-lisp/pcase.el (pcase-exhaustive, pcase--u1):
12566         * lisp/emacs-lisp/re-builder.el (reb-enter-subexp-mode):
12567         * lisp/emacs-lisp/ring.el (ring-previous, ring-next):
12568         * lisp/emacs-lisp/rx.el (rx-check, rx-anything)
12569         (rx-check-any-string, rx-check-any, rx-check-not, rx-=)
12570         (rx-repeat, rx-check-backref, rx-syntax, rx-check-category)
12571         (rx-form):
12572         * lisp/emacs-lisp/smie.el (smie-config-save):
12573         * lisp/emacs-lisp/subr-x.el (internal--check-binding):
12574         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-put-tag):
12575         * lisp/emacs-lisp/testcover.el (testcover-1value):
12576         * lisp/emacs-lisp/timer.el (timer-event-handler):
12577         * lisp/emulation/viper-cmd.el (viper-toggle-parse-sexp-ignore-comments)
12578         (viper-toggle-search-style, viper-kill-buffer)
12579         (viper-brac-function):
12580         * lisp/emulation/viper-macs.el (viper-record-kbd-macro):
12581         * lisp/env.el (setenv):
12582         * lisp/erc/erc-button.el (erc-nick-popup):
12583         * lisp/erc/erc.el (erc-cmd-LOAD, erc-handle-login, english):
12584         * lisp/eshell/em-dirs.el (eshell/cd):
12585         * lisp/eshell/em-glob.el (eshell-glob-regexp)
12586         (eshell-glob-entries):
12587         * lisp/eshell/em-pred.el (eshell-parse-modifiers):
12588         * lisp/eshell/esh-opt.el (eshell-show-usage):
12589         * lisp/facemenu.el (facemenu-add-new-face)
12590         (facemenu-add-new-color):
12591         * lisp/faces.el (read-face-name, read-face-font, describe-face)
12592         (x-resolve-font-name):
12593         * lisp/files-x.el (modify-file-local-variable):
12594         * lisp/files.el (locate-user-emacs-file, find-alternate-file)
12595         (set-auto-mode, hack-one-local-variable--obsolete)
12596         (dir-locals-set-directory-class, write-file, basic-save-buffer)
12597         (delete-directory, copy-directory, recover-session)
12598         (recover-session-finish, insert-directory)
12599         (file-modes-char-to-who, file-modes-symbolic-to-number)
12600         (move-file-to-trash):
12601         * lisp/filesets.el (filesets-add-buffer, filesets-remove-buffer):
12602         * lisp/find-cmd.el (find-generic, find-to-string):
12603         * lisp/finder.el (finder-commentary):
12604         * lisp/font-lock.el (font-lock-fontify-buffer):
12605         * lisp/format.el (format-write-file, format-find-file)
12606         (format-insert-file):
12607         * lisp/frame.el (get-device-terminal, select-frame-by-name):
12608         * lisp/fringe.el (fringe--check-style):
12609         * lisp/gnus/nnmairix.el (nnmairix-widget-create-query):
12610         * lisp/help-fns.el (help-fns--key-bindings)
12611         (help-fns--compiler-macro, help-fns--parent-mode)
12612         (help-fns--obsolete, help-fns--interactive-only)
12613         (describe-function-1, describe-variable):
12614         * lisp/help.el (describe-mode)
12615         (describe-minor-mode-from-indicator):
12616         * lisp/image.el (image-type):
12617         * lisp/international/ccl.el (ccl-dump):
12618         * lisp/international/fontset.el (x-must-resolve-font-name):
12619         * lisp/international/mule-cmds.el (prefer-coding-system)
12620         (select-safe-coding-system-interactively)
12621         (select-safe-coding-system, activate-input-method)
12622         (toggle-input-method, describe-current-input-method)
12623         (describe-language-environment):
12624         * lisp/international/mule-conf.el (code-offset):
12625         * lisp/international/mule-diag.el (describe-character-set)
12626         (list-input-methods-1):
12627         * lisp/mail/feedmail.el (feedmail-run-the-queue):
12628         * lisp/mouse.el (minor-mode-menu-from-indicator):
12629         * lisp/mpc.el (mpc-playlist-rename):
12630         * lisp/msb.el (msb--choose-menu):
12631         * lisp/net/ange-ftp.el (ange-ftp-shell-command):
12632         * lisp/net/imap.el (imap-interactive-login):
12633         * lisp/net/mairix.el (mairix-widget-create-query):
12634         * lisp/net/newst-backend.el (newsticker--sentinel-work):
12635         * lisp/net/newst-treeview.el (newsticker--treeview-load):
12636         * lisp/net/rlogin.el (rlogin):
12637         * lisp/obsolete/iswitchb.el (iswitchb-possible-new-buffer):
12638         * lisp/obsolete/otodo-mode.el (todo-more-important-p):
12639         * lisp/obsolete/pgg-gpg.el (pgg-gpg-process-region):
12640         * lisp/obsolete/pgg-pgp.el (pgg-pgp-process-region):
12641         * lisp/obsolete/pgg-pgp5.el (pgg-pgp5-process-region):
12642         * lisp/org/ob-core.el (org-babel-goto-named-src-block)
12643         (org-babel-goto-named-result):
12644         * lisp/org/ob-fortran.el (org-babel-fortran-ensure-main-wrap):
12645         * lisp/org/ob-ref.el (org-babel-ref-resolve):
12646         * lisp/org/org-agenda.el (org-agenda-prepare):
12647         * lisp/org/org-clock.el (org-clock-notify-once-if-expired)
12648         (org-clock-resolve):
12649         * lisp/org/org-ctags.el (org-ctags-ask-rebuild-tags-file-then-find-tag):
12650         * lisp/org/org-feed.el (org-feed-parse-atom-entry):
12651         * lisp/org/org-habit.el (org-habit-parse-todo):
12652         * lisp/org/org-mouse.el (org-mouse-popup-global-menu)
12653         (org-mouse-context-menu):
12654         * lisp/org/org-table.el (org-table-edit-formulas):
12655         * lisp/org/ox.el (org-export-async-start):
12656         * lisp/proced.el (proced-log):
12657         * lisp/progmodes/ada-mode.el (ada-get-indent-case)
12658         (ada-check-matching-start, ada-goto-matching-start):
12659         * lisp/progmodes/ada-prj.el (ada-prj-display-page):
12660         * lisp/progmodes/ada-xref.el (ada-find-executable):
12661         * lisp/progmodes/ebrowse.el (ebrowse-tags-apropos):
12662         * lisp/progmodes/etags.el (etags-tags-apropos-additional):
12663         * lisp/progmodes/flymake.el (flymake-parse-err-lines)
12664         (flymake-start-syntax-check-process):
12665         * lisp/progmodes/python.el (python-shell-get-process-or-error)
12666         (python-define-auxiliary-skeleton):
12667         * lisp/progmodes/sql.el (sql-comint):
12668         * lisp/progmodes/verilog-mode.el (verilog-load-file-at-point):
12669         * lisp/progmodes/vhdl-mode.el (vhdl-widget-directory-validate):
12670         * lisp/recentf.el (recentf-open-files):
12671         * lisp/replace.el (query-replace-read-from)
12672         (occur-after-change-function, occur-1):
12673         * lisp/scroll-bar.el (scroll-bar-columns):
12674         * lisp/server.el (server-get-auth-key):
12675         * lisp/simple.el (execute-extended-command)
12676         (undo-outer-limit-truncate, list-processes--refresh)
12677         (compose-mail, set-variable, choose-completion-string)
12678         (define-alternatives):
12679         * lisp/startup.el (site-run-file, tty-handle-args, command-line)
12680         (command-line-1):
12681         * lisp/subr.el (noreturn, define-error, add-to-list)
12682         (read-char-choice, version-to-list):
12683         * lisp/term/common-win.el (x-handle-xrm-switch)
12684         (x-handle-name-switch, x-handle-args):
12685         * lisp/term/x-win.el (x-handle-parent-id, x-handle-smid):
12686         * lisp/textmodes/reftex-ref.el (reftex-label):
12687         * lisp/textmodes/reftex-toc.el (reftex-toc-rename-label):
12688         * lisp/textmodes/two-column.el (2C-split):
12689         * lisp/tutorial.el (tutorial--describe-nonstandard-key)
12690         (tutorial--find-changed-keys):
12691         * lisp/type-break.el (type-break-noninteractive-query):
12692         * lisp/wdired.el (wdired-do-renames, wdired-do-symlink-changes)
12693         (wdired-do-perm-changes):
12694         * lisp/whitespace.el (whitespace-report-region):
12695         Prefer grave quoting in source-code strings used to generate help
12696         and diagnostics.
12697         * lisp/faces.el (face-documentation):
12698         No need to convert quotes, since the result is a docstring.
12699         * lisp/info.el (Info-virtual-index-find-node)
12700         (Info-virtual-index, info-apropos):
12701         Simplify by generating only curved quotes, since info files are
12702         typically that ways nowadays anyway.
12703         * lisp/international/mule-diag.el (list-input-methods):
12704         Don’t assume text quoting style is curved.
12705         * lisp/org/org-bibtex.el (org-bibtex-fields):
12706         Revert my recent changes, going back to the old quoting style.
12708 2015-09-07  Artur Malabarba  <bruce.connor.am@gmail.com>
12710         * lisp/emacs-lisp/package.el: Reduce autoloading before compiling.
12711         (package--autoloads-file-name)
12712         (package--activate-autoloads-and-load-path): New function.
12713         (package-activate-1): Delegate autoloading and load-path
12714         configuration to `package--activate-autoloads-and-load-path'.
12715         (package--compile): Before compilation, call
12716         `package--activate-autoloads-and-load-path' instead of
12717         `package-activate-1'.
12719 2015-09-07  Stefan Monnier  <monnier@iro.umontreal.ca>
12721         * src/keyboard.c (read_key_sequence): Complete last fix (bug#21403).
12723 2015-09-07  Eli Zaretskii  <eliz@gnu.org>
12725         Fix deletion of symlinks to directories on MS-Windows
12726         * src/w32.c (sys_unlink): If 'unlink' fails, and the argument is a
12727         symlink to a directory, try again with 'rmdir'.
12728         (is_symlink): If the argument is a symlink to a directory, set a
12729         bit in the return value to indicate that fact.
12731 2015-09-07  Artur Malabarba  <bruce.connor.am@gmail.com>
12733         * lisp/emacs-lisp/package.el (package-initialize): Set enable-at-startup
12734         When `package-initialize' is called as part of loading the init file,
12735         the user probably doesn't want it to be called again afterwards.
12736         In this situation, `package-initialize' now sets
12737         `package-enable-at-startup' to nil to prevent that.  The user can have
12738         the old behavior by setting this variable to t after the call to
12739         `package-initialize'.  (Bug#21423)
12740         * doc/emacs/package.texi (Package Installation): Document it.
12741         * doc/lispref/package.texi (Packaging Basics): Document it.
12742         * etc/NEWS: Document it.
12744 2015-09-06  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
12746         Bump version of ntlm.el to 2.00
12747         * lisp/net/ntlm.el: Bump version to 2.00.  New maintainer.
12748         Add comm keyword.
12750 2015-09-06  Adam Sjøgren  <asjo@koldfront.dk>
12752         * doc/misc/gnus.texi (Mail Source Specifiers):
12753         Allow :mailbox to be a list.
12755 2015-09-06  Dmitry Gutov  <dgutov@yandex.ru>
12757         * lisp/progmodes/etags.el (etags-tags-completion-table):
12758         Allow even one non-regular character before the implicit tag name.
12759         Reported at http://emacs.stackexchange.com/questions/15269/.
12761 2015-09-06  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
12763         Add support for NTLMv2 authentication
12764         * lisp/net/ntlm.el (ntlm): New customization group.
12765         (ntlm-compatibility-level): New defcustom.
12766         (ntlm-compute-timestamp): New function.
12767         (ntlm-generate-nonce): Likewise.
12768         (ntlm-build-auth-response): Add support for NTLMv2 authentication.
12770 2015-09-06  Artur Malabarba  <bruce.connor.am@gmail.com>
12772         * lisp/emacs-lisp/package.el: Rename custom faces.
12773         All of the recently introduced faces, like `package-name-face', have
12774         been renamed to no end in `-face' to comply with the convention
12775         described in (info "(elisp) Defining Faces").
12776         (package-name, package-description)
12777         (package-status-built-in, package-status-external)
12778         (package-status-available, package-status-new)
12779         (package-status-held, package-status-disabled)
12780         (package-status-installed, package-status-dependency)
12781         (package-status-unsigned, package-status-incompat)
12782         (package-status-avail-obso): New faces.
12783         (package-menu--print-info-simple): Use them.
12785 2015-09-06  Adam Sjøgren  <asjo@koldfront.dk>
12787         mail-source.el: Make the imap mail-source's :mailbox handle a list
12788         * lisp/gnus/mail-source.el (mail-source-fetch-imap):
12789         Allow :mailbox to be  a list.
12791 2015-09-06  Eric Abrahamsen  <eric@ericabrahamsen.net>
12793         nnimap.el: Handle nil arg to nnimap-request-group
12794         * lisp/gnus/nnimap.el (nnimap-request-group): Handle nil "info" arg.
12795         This arg isn't always passed in, check it's not nil before making it
12796         into a list.  The active arg will also be nil if the group is new,
12797         check for that.
12799 2015-09-06  Michael Albinus  <michael.albinus@gmx.de>
12801         File notifications: Support renaming over directory boundaries
12802         * lisp/filenotify.el (file-notify-handle-event):
12803         (file-notify--pending-event): Adapt docstring.
12804         (file-notify--descriptor, file-notify-callback): Reimplement in
12805         order to support renaming over directory boundaries.
12806         (file-notify-add-watch): Adapt `file-notify--descriptor' call.
12807         * doc/lispref/os.texi (File Notifications): Remove limitation of
12808         file renaming to the same directory.
12810 2015-09-05  Paul Eggert  <eggert@cs.ucla.edu>
12812         Spelling fix (Bug#21420)
12814 2015-09-05  Nicolas Petton  <nicolas@petton.fr>
12816         Improve the semantic of map-some
12817         Update map-some to return the returned by the predicate, similar to
12818         seq-some.
12819         * lisp/emacs-lisp/map.el (map-some): Update the function to return the
12820           return value of the predicate.
12821         * test/automated/map-tests.el (test-map-some): Update the test to check
12822           for non-nil values only.
12824         Rename map-contains-key-p and map-some-p
12825         Remove the "-p" suffix from both function names.
12826         * lisp/emacs-lisp/map.el (map-contains-key, map-some):
12827           Rename the functions.
12828         * test/automated/map-tests.el (test-map-contains-key, test-map-some):
12829           Update both test functions.
12831         Improve the semantic of seq-some
12832         Update seq-some to return non-nil if the predicate returns non-nil for
12833         any element of the seq, in which case the returned value is the one
12834         returned by the predicate.
12835         * lisp/emacs-lisp/seq.el (seq-some): Update the function and its
12836           docstring.
12837         * test/automated/seq-tests.el (test-seq-some): Add a regression test.
12838         * doc/lispref/sequences.texi (Sequence Functions): Update the
12839           documentation for seq-some.
12841         Rename seq-some-p to seq-some and seq-contains-p to seq-contains
12842         * lisp/emacs-lisp/seq.el (seq-some, seq-contains): Rename the functions
12843           without the "-p" prefix.
12844         * test/automated/seq-tests.el (test-seq-some, test-seq-contains): Update
12845           the tests accordingly.
12846         * doc/lispref/sequences.texi (Sequence Functions): Update the
12847           documentation for seq.el.
12849 2015-09-05  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
12851         text-quoting-style for usage of fn names with ‘’
12852         * lisp/help.el (help--docstring-quote): Don’t assume
12853         text-quoting-style is ‘curve’ when generating usage strings for
12854         functions whose names contain curved quotes.
12856 2015-09-05  Paul Eggert  <eggert@cs.ucla.edu>
12858         Fix fix for describe-function keybinding confusion
12859         This fixes a bug introduced by the previous patch.
12860         * lisp/help-fns.el (help-fns--signature):
12861         Last arg of help-fns--signature is now a buffer, or nil if a
12862         raw signature is wanted.  All callers changed.
12863         (describe-function-1): Use this to do the right thing with signatures.
12865 2015-09-05  Johan Bockgård  <bojohan@gnu.org>
12867         * doc/lispref/frames.texi (Mouse Tracking): Fix typo.
12869         Use PAT rather than UPAT in pcase macros
12870         * lisp/emacs-lisp/cl-macs.el (cl-struct) <pcase-defmacro>:
12871         * lisp/emacs-lisp/eieio.el (eieio) <pcase-defmacro>: Use PAT rather
12872           than UPAT.
12874 2015-09-05  Paul Eggert  <eggert@cs.ucla.edu>
12876         Fix describe-function keybinding confusion
12877         * lisp/help-fns.el (describe-function-1): Compute signature
12878         in the original buffer, not in standard-output, so that
12879         substitute-command-keys uses the proper keybindings.
12880         This fixes Bug#21412, introduced in commit
12881         2015-06-11T10:23:46-0700!eggert@cs.ucla.edu.
12883 2015-09-05  Xue Fuqiao  <xfq.free@gmail.com>
12885         * doc/emacs/programs.texi (Program Modes): Remove an index entry.
12887 2015-09-05  Robert Pluim  <rpluim@gmail.com>  (tiny change)
12889         Avoid read error messages from 'inotify'
12890         * src/process.c (wait_reading_process_output): Add a
12891         'tls_available' set and manipulate it instead of 'Available' when
12892         checking TLS inputs.  Assign the value to 'Available' only if we
12893         find any TLS data waiting to be read.  This avoids error messages
12894         from 'inotify' that tries to read data it shouldn't.  (Bug#21337)
12896 2015-09-05  Eli Zaretskii  <eliz@gnu.org>
12898         Avoid errors in thing-at-point with 2nd argument non-nil
12899         * lisp/thingatpt.el (thing-at-point): Only call 'length' on
12900         sequences.  (Bug#21391)
12902 2015-09-05  Philip  <pipcet@gmail.com>  (tiny change)
12904         Fix segfaults due to using a stale face ID
12905         * src/xdisp.c (forget_escape_and_glyphless_faces): New function.
12906         (display_echo_area_1, redisplay_internal): Call it to avoid
12907         reusing stale face IDs for 'escape-glyph' and 'glyphless-char'
12908         faces, which could case a segfault if the frame's face cache was
12909         freed since the last redisplay.  (Bug#21394)
12910         * src/xfaces.c (free_realized_faces):
12911         Call forget_escape_and_glyphless_faces.
12912         * src/dispextern.h (forget_escape_and_glyphless_faces): Add prototype.
12914 2015-09-04  Paul Eggert  <eggert@cs.ucla.edu>
12916         Fix minor problems with " in manual
12918 2015-09-04  Michael Albinus  <michael.albinus@gmx.de>
12920         * doc/misc/tramp.texi (Frequently Asked Questions): New item for ad-hoc
12921         multi-hop files.
12923 2015-09-04  Paul Eggert  <eggert@cs.ucla.edu>
12925         Support automated ‘make check’ in non-C locale
12926         This lets the builder optionally test Emacs behavior in other locales.
12927         The C locale is still the default for tests.
12928         * test/automated/Makefile.in (TEST_LOCALE): New macro.
12929         (emacs): Use it.
12930         * test/automated/flymake-tests.el (flymake-tests--current-face):
12931         Use C locale for subprocesses so that tests behave as expected.
12932         * test/automated/python-tests.el:
12933         (python-shell-prompt-validate-regexps-1)
12934         (python-shell-prompt-validate-regexps-2)
12935         (python-shell-prompt-validate-regexps-3)
12936         (python-shell-prompt-validate-regexps-4)
12937         (python-shell-prompt-validate-regexps-5)
12938         (python-shell-prompt-validate-regexps-6)
12939         (python-shell-prompt-set-calculated-regexps-1):
12940         Adjust expected output to match locale.
12941         * test/automated/tildify-tests.el (tildify-test--test)
12942         (tildify-space-test--test, tildify-space-undo-test--test):
12943         This test assumes UTF-8 encoding.
12945 2015-09-03  Paul Eggert  <eggert@cs.ucla.edu>
12947         Fix some more docstring etc. quoting problems
12948         Mostly these fixes prevent the transliteration of apostrophes
12949         that should stay apostrophes.  Also, prefer curved quotes in
12950         Bahá’í proper names, as that’s the preferred Bahá’í style and
12951         these names are chock-full of non-ASCII characters anyway.
12952         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-autoload)
12953         (eieio-defclass-internal):
12954         * lisp/emacs-lisp/eieio.el (defclass):
12955         * lisp/hi-lock.el (hi-lock-mode):
12956         Don’t transliterate Lisp apostrophes when generating a
12957         doc string or diagnostic.
12958         * lisp/international/mule-diag.el (list-coding-systems-1):
12959         * lisp/international/ogonek.el (ogonek-jak, ogonek-how):
12960         * lisp/mail/sendmail.el (sendmail-query-user-about-smtp):
12961         * lisp/vc/ediff-mult.el (ediff-redraw-registry-buffer):
12962         * lisp/vc/ediff-ptch.el (ediff-fixup-patch-map):
12963         Substitute quotes before putting them in the help buffer.
12965 2015-09-03  Stefan Monnier  <monnier@iro.umontreal.ca>
12967         Re-add the notion of echo_prompt lost in the translation
12968         * src/keyboard.h (struct kboard): Replace echo_after_prompt with new
12969         echo_prompt which contains the actual string.  Update all uses.
12970         * src/keyboard.c (kset_echo_prompt): New function.
12971         (echo_update): Add echo_prompt at the very beginning.
12972         (read_char): Remove workaround for bug#19875, not needed any more.
12973         (read_key_sequence): Set echo_prompt rather than echo_string
12974         (bug#21403).
12975         (mark_kboards): Mark echo_prompt.
12977         Fix disassembly of non-compiled lexical functions (bug#21377)
12978         * lisp/emacs-lisp/bytecomp.el (byte-compile): Handle `closure' arg.
12979         * lisp/emacs-lisp/disass.el: Use lexical-binding.
12980         (disassemble): Recognize `closure's as well.
12981         (disassemble-internal): Use indirect-function and
12982         help-function-arglist, and accept `closure's.
12983         (disassemble-internal): Use interactive-form.
12984         (disassemble-1): Use functionp.
12986         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p):
12987         Don't compose inside verbatim blocks!
12989 2015-09-03  Mark Oteiza  <mvoteiza@udel.edu>
12991         * lisp/thingatpt.el (thing-at-point-uri-schemes): Add "man:"
12992         (bug#19441).
12994         * lisp/mpc.el (mpc--proc-connect): Handle unix sockets (bug#19394).
12996 2015-09-03  Dmitry Gutov  <dgutov@yandex.ru>
12998         vc-git-mode-line-string: Explicitly re-apply the face
12999         * lisp/vc/vc-git.el (vc-git-mode-line-string): Explicitly re-apply
13000         the face (bug#21404).
13002 2015-09-02  Paul Eggert  <eggert@cs.ucla.edu>
13004         Treat initial-scratch-message as a doc string
13005         * doc/emacs/building.texi (Lisp Interaction):
13006         * doc/lispref/os.texi (Startup Summary):
13007         * etc/NEWS: Document this.
13008         * lisp/startup.el (initial-scratch-message):
13009         Look up find-file’s key rather than hardcoding it.
13010         (command-line-1): Substitute the doc string.
13011         This also substitutes the quotes, which will help test display
13012         quoting at startup.
13014         Fix describe-char bug with glyphs on terminals
13015         * lisp/descr-text.el (describe-char): Terminals can have glyphs in
13016         buffers too, so don’t treat them differently from graphic displays.
13017         Without this fix, describe-char would throw an error on a terminal
13018         if given a glyph with a non-default face.
13020         Follow text-quoting-style in display table init
13021         This attempts to fix a problem reported by Alan Mackenzie in:
13022         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00112.html
13023         * doc/lispref/display.texi (Active Display Table):
13024         Mention how text-quoting-style affects it.
13025         * doc/lispref/help.texi (Keys in Documentation):
13026         Say how to set text-quoting-style in ~/.emacs.
13027         * etc/NEWS: Document the change.
13028         * lisp/startup.el (startup--setup-quote-display):
13029         Follow user preference if text-quoting-style is set.
13030         (command-line): Setup quote display again if user expresses
13031         a preference in .emacs.
13033 2015-09-02  K. Handa  <handa@gnu.org>
13035         Fix typo
13036         * src/ftfont.c (ftfont_drive_otf): otf_positioning_type_components_mask
13037         -> OTF_positioning_type_components_mask.
13039         Fix previous change
13040         * src/ftfont.c (ftfont_drive_otf): Remember some bits of
13041         OTF_Glyph->positioning_type in MFLTGlyphFT->libotf_positioning_type.
13043 2015-09-01  David Caldwell  <david@porkrind.org>  (tiny change)
13045         * lisp/vc/vc-hooks.el (vc-refresh-state): New command.
13046         Rename from vc-find-file-hook and make interactive.
13047         (vc-find-file-hook): Redefine as obsolete alias.
13049 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
13051         Escape ` and ' in doc
13052         Escape apostrophes and grave accents in docstrings if they are
13053         are supposed to stand for themselves and are not quotes.  Remove
13054         apostrophes from docstring examples like ‘'(calendar-nth-named-day
13055         -1 0 10 year)’ that confuse source code with data.  Do some other
13056         minor docstring fixups as well, e.g., insert a missing close quote.
13058 2015-09-01  Stefan Monnier  <monnier@iro.umontreal.ca>
13060         Generalize the prefix-command machinery of C-u
13061         * lisp/simple.el (prefix-command-echo-keystrokes-functions)
13062         (prefix-command-preserve-state-hook): New hooks.
13063         (internal-echo-keystrokes-prefix): New function.
13064         (prefix-command--needs-update, prefix-command--last-echo): New vars.
13065         (prefix-command-update, prefix-command-preserve): New functions.
13066         (reset-this-command-lengths): New compatibility definition.
13067         (universal-argument--mode): Call prefix-command-update.
13068         (universal-argument, universal-argument-more, negative-argument)
13069         (digit-argument): Call prefix-command-preserve-state.
13070         * src/keyboard.c: Call internal-echo-keystrokes-prefix to build
13071         the "prefix argument" to echo.
13072         (this_command_key_count_reset, before_command_key_count)
13073         (before_command_echo_length): Delete variables.
13074         (echo_add_key): Always add a space.
13075         (echo_char): Remove.
13076         (echo_dash): Don't give up when this_command_key_count is 0, since that
13077         is now the case after a prefix command.
13078         (echo_update): New function, extracted from echo_now.
13079         (echo_now): Use it.
13080         (add_command_key, read_char, record_menu_key): Remove old disabled code.
13081         (command_loop_1): Don't refrain from pushing an undo boundary when
13082         prefix-arg is set.  Remove other prefix-arg special case, now handled
13083         directly in the prefix commands instead.  But call echo_now if there's
13084         a prefix state to echo.
13085         (read_char, record_menu_key): Use echo_update instead of echo_char.
13086         (read_key_sequence): Use echo_now rather than echo_dash/echo_char.
13087         (Freset_this_command_lengths): Delete function.
13088         (syms_of_keyboard): Define Qinternal_echo_keystrokes_prefix.
13089         (syms_of_keyboard): Don't defsubr Sreset_this_command_lengths.
13090         * lisp/simple.el: Use those new hooks for C-u.
13091         (universal-argument--description): New function.
13092         (prefix-command-echo-keystrokes-functions): Use it.
13093         (universal-argument--preserve): New function.
13094         (prefix-command-preserve-state-hook): Use it.
13095         (command-execute): Call prefix-command-update if needed.
13096         * lisp/kmacro.el (kmacro-step-edit-prefix-commands)
13097         (kmacro-step-edit-prefix-index): Delete variables.
13098         (kmacro-step-edit-query, kmacro-step-edit-insert): Remove ad-hoc
13099         support for prefix arg commands.
13100         (kmacro-step-edit-macro): Don't bind kmacro-step-edit-prefix-index.
13101         * lisp/emulation/cua-base.el (cua--prefix-override-replay)
13102         (cua--shift-control-prefix): Use prefix-command-preserve-state.
13103         Remove now unused arg `arg'.
13104         (cua--prefix-override-handler, cua--prefix-repeat-handler)
13105         (cua--shift-control-c-prefix, cua--shift-control-x-prefix):
13106         Update accordingly.
13107         (cua--prefix-override-timeout): Don't call reset-this-command-lengths
13108         any more.
13109         (cua--keep-active, cua-exchange-point-and-mark): Don't set mark-active
13110         if the mark is not set.
13112 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
13114         Rework quoting in Emacs Lisp Introduction
13115         * doc/lispintro/emacs-lisp-intro.texi (Sample let Expression)
13116         (if in more detail, type-of-animal in detail, else): Rework the
13117         early example to use " rather than ' so that we don’t burden
13118         complete novices with the low-priority detail of text quoting style.
13119         (Complete zap-to-char, kill-region, Complete copy-region-as-kill)
13120         (kill-new function, kill-ring-yank-pointer)
13121         (Complete forward-sentence, Loading Files)
13122         (Code for current-kill, Code for current-kill, yank):
13123         Resurrect the Emacs 22 versions of the code, which uses grave
13124         quoting style in doc strings.
13125         (Complete zap-to-char): Mention how quoting works in doc strings.
13127         Setup quote display only if interactive
13128         * lisp/startup.el (command-line):
13129         Skip call to startup--setup-quote-display if noninteractive.
13130         Without this change, python-shell-prompt-validate-regexps-1
13131         fails in test/automated/python-tests.el when run in an
13132         en_US.utf8 locale on Fedora.
13134 2015-09-01  Katsumi Yamaoka  <yamaoka@jpl.org>
13136         Use defalias at the top level
13137         * lisp/gnus/gnus-util.el (gnus-format-message):
13138         * lisp/net/tls.el (tls-format-message): Use defalias at the top level
13139         so as to make eval-and-compile unnecessary.  Thanks to Stefan Monnier.
13141 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
13143         terminal-init-w32console mimicks command-line
13144         Problem reported by Eli Zaretskii.
13145         * lisp/startup.el (startup--setup-quote-display):
13146         New function, refactored from a part of ‘command-line’.
13147         (command-line): Use it.
13148         * lisp/term/w32console.el (terminal-init-w32console):
13149         Use it, so that this function stays consistent with ‘command-line’.
13151         Display replacement quotes with shadow glyphs
13152         * lisp/startup.el (command-line): When displaying ASCII
13153         replacements for curved quotes, use a shadow glyph instead of a
13154         regular one, to avoid ambiguity.
13156 2015-09-01  Michael Albinus  <michael.albinus@gmx.de>
13158         * lisp/net/tramp-sh.el (tramp-methods) <sudo>: Mask "Password:".
13160 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
13162         Docstring fixes re quotes in C code
13163         Fix some docstring quoting problems, mostly by escaping apostrophe.
13165 2015-09-01  Michael Albinus  <michael.albinus@gmx.de>
13167         Some Tramp password fixes
13168         * lisp/net/tramp.el (tramp-clear-passwd): Clear also the passwords
13169         of the hops.
13170         * lisp/net/tramp-sh.el (tramp-methods) <sudo>: Move "-p" "Password:"
13171         at the beginning of the command.  Otherwise, it could be
13172         interpreted as password prompt if the remote host echoes the
13173         command.
13174         (tramp-remote-coding-commands): Add "openssl enc -base64".
13176 2015-09-01  Dmitry Gutov  <dgutov@yandex.ru>
13178         Make vc-git-working-revision always return the commit hash
13179         * lisp/vc/vc-git.el (vc-git-working-revision):
13180         Return the commit hash (bug#21383).
13181         (vc-git--symbolic-ref): New function, extracted from above.
13182         (vc-git-mode-line-string): Use it.
13184 2015-09-01  K. Handa  <handa@gnu.org>
13186         Use the new type MFLTGlyphFT for MFLTGlyphString.glyphs
13187         * src/ftfont.c (MFLTGlyphFT): New type.
13188         (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_drive_otf)
13189         (ftfont_shape_by_flt): Make MFLTGlyphFT the actual type of
13190         elements in the array MFLTGlyphString.glyphs.
13192 2015-09-01  Stephen Leake  <stephen_leake@stephe-leake.org>
13194         Improve comments in elisp-mode.el, elisp-mode-tests.el
13195         * lisp/progmodes/elisp-mode.el: Clean up FIXMEs, comments.
13197         Delete Emacs 25 test in mode-local.el
13198         * lisp/cedet/mode-local.el (describe-mode-local-overload):
13199         Fix missed an edit in previous commit.
13201         Show all known mode-local overrides in *Help*
13202         * lisp/cedet/mode-local.el (describe-mode-local-overload):
13203         Assume Emacs 25. Add all known mode-local overrides.
13205 2015-09-01  Katsumi Yamaoka  <yamaoka@jpl.org>
13207         * lisp/gnus/gnus-sum.el (gnus-summary-search-article):
13208         Ensure that the article where the search word is found is displayed
13209         and pointed to in the summary buffer.
13211 2015-08-31  Zachary Kanfer  <zkanfer@gmail.com>  (tiny change)
13213         * lisp/newcomment.el (comment-dwim): Use `use-region-p'.
13214         When the region is active, but is empty (length 0), act as though
13215         the region was not active; that is, put a comment at the end of
13216         the line.  (Bug#21119)
13218 2015-08-31  Katsumi Yamaoka  <yamaoka@jpl.org>
13220         Port tls.el to older Emacs
13221         * lisp/net/tls.el (tls-format-message):
13222         Alias to format-message, or format if not available.
13223         (open-tls-stream): Use it.
13225 2015-08-31  Rüdiger Sonderfeld  <ruediger@c-plusplus.net>
13227         hideif.el: Recognize .h++ as C++ header
13228         * lisp/progmodes/hideif.el (hide-ifdef-header-regexp): Add .h++.
13230         isearch: Document character folding mode
13231         * lisp/isearch.el (isearch-forward):
13232         Mention `isearch-toggle-character-fold' in doc string.
13234 2015-08-31  Paul Eggert  <eggert@cs.ucla.edu>
13236         Quoting fixes in ERC and Eshell
13237         * lisp/erc/erc-autoaway.el (erc-autoaway-set-away):
13238         * lisp/erc/erc-backend.el (define-erc-response-handler):
13239         * lisp/erc/erc-fill.el (erc-fill-static-center):
13240         * lisp/eshell/em-dirs.el (eshell-save-some-last-dir):
13241         * lisp/eshell/em-glob.el (eshell-glob-entries):
13242         * lisp/eshell/em-hist.el (eshell-save-some-history):
13243         * lisp/eshell/em-unix.el (eshell-remove-entries, eshell/rm)
13244         (eshell-shuffle-files):
13245         * lisp/eshell/esh-cmd.el (eshell-do-eval):
13246         * lisp/eshell/esh-proc.el (eshell-process-interact)
13247         (eshell-query-kill-processes):
13248         Respect ‘text-quoting-style’ in diagnostics and doc strings.
13250         Quoting fixes in Gnus
13251         * lisp/gnus/gnus-agent.el:
13252         (gnus-agent-possibly-synchronize-flags-server):
13253         * lisp/gnus/gnus-art.el (gnus-article-browse-delete-temp-files):
13254         * lisp/gnus/gnus-eform.el (gnus-edit-form):
13255         * lisp/gnus/gnus-group.el (gnus-group-edit-group)
13256         (gnus-group-nnimap-edit-acl):
13257         * lisp/gnus/gnus-topic.el (gnus-topic-edit-parameters):
13258         * lisp/gnus/mail-source.el (mail-source-delete-old-incoming):
13259         * lisp/gnus/message.el (message-strip-subject-encoded-words)
13260         (message-check-recipients, message-send-form-letter):
13261         * lisp/gnus/mm-decode.el (mm-display-part):
13262         * lisp/gnus/mm-uu.el (mm-uu-pgp-signed-extract-1):
13263         * lisp/gnus/mml-smime.el (mml-smime-get-dns-cert)
13264         (mml-smime-get-ldap-cert):
13265         * lisp/gnus/spam-report.el (spam-report-process-queue):
13266         Respect ‘text-quoting-style’ in diagnostics.
13267         * lisp/gnus/gnus-art.el (article-display-face)
13268         * lisp/gnus/gnus-fun.el (gnus-display-x-face-in-from):
13269         Use straight quoting in email.
13270         * lisp/gnus/rfc2231.el (rfc2231-decode-encoded-string):
13271         Escape apostrophes in doc strings.
13273         Quoting fixes in lisp mail, mh-e, net, url
13274         * lisp/mail/emacsbug.el (report-emacs-bug)
13275         (report-emacs-bug-hook): Use straight quotes in outgoing email,
13276         * lisp/mail/feedmail.el (feedmail-message-action-help-blat):
13277         * lisp/mail/rmail.el (rmail-unknown-mail-followup-to):
13278         * lisp/mail/rmailout.el (rmail-output-read-file-name):
13279         * lisp/net/imap.el (imap-interactive-login):
13280         * lisp/net/tls.el (open-tls-stream):
13281         * lisp/url/url-auth.el (url-register-auth-scheme):
13282         Respect ‘text-quoting-style’ in diagnostics.
13283         * lisp/mh-e/mh-e.el (mh-sortm-args):
13284         Quote docstring example using text quotes, not as a Lisp quote.
13286 2015-08-31  Stephen Leake  <stephen_leake@stephe-leake.org>
13288         Fix some byte-compiler warnings in EDE
13289         This fixes a bug that caused ede-generic-new-autoloader to overwrite the
13290         existing autoloader list, rather than add to it.
13291         * lisp/cedet/ede/auto.el (ede-project-class-files): Delete obsolete name
13292         argument to eieio class constructor.
13293         (ede-show-supported-projects): New.
13294         (ede-add-project-autoload): Replace obsolete `eieio-object-name-string'
13295         with (oref ... name).
13296         (ede-auto-load-project): Use slot name, not initarg key.
13297         * lisp/cedet/ede/generic.el (ede-generic-load)
13298         (ede-generic-find-matching-target): Use slot name, not initarg key.
13299         (ede-find-target): Use oref-default on class name.
13300         (ede-generic-new-autoloader): Delete obsolete name argument to eieio
13301         class constructor.
13302         (ede-enable-generic-projects): Make project type names unique.
13304 2015-08-31  Eli Zaretskii  <eliz@gnu.org>
13306         Fix directory accessibility tests for w32 network volumes
13307         * src/w32.c (faccessat): Don't fail with network volumes without a
13308         share.
13309         (w32_accessible_directory_p): Handle network volumes without a
13310         share.
13312         Fix handling long file names in readdir on MS-Windows
13313         * src/w32.c (sys_readdir): Append "\*" to the directory after
13314         converting it to UTF-16/ANSI, not before, to avoid overflowing the
13315         260-character limit on file names in filename_to_utf16/ansi.
13317         Make file-accessible-directory-p reliable on MS-Windows
13318         * src/w32.c (w32_accessible_directory_p): New function.
13319         * src/w32.h (w32_accessible_directory_p): Add prototype.
13320         * src/fileio.c (file_accessible_directory_p) [WINDOWSNT]: Call
13321         w32_accessible_directory_p to test a directory for accessibility
13322         by the current user.  (Bug#21346)
13323         (Ffile_accessible_directory_p): Remove the w32 specific caveat
13324         from the doc string.
13326 2015-08-31  Martin Rudalics  <rudalics@gmx.at>
13328         Don't call do_pending_window_change in signal handlers (Bug#21380)
13329         * src/gtkutil.c (xg_frame_resized):
13330         * src/xterm.c (x_set_window_size):
13331         * src/w32term.c (x_set_window_size): Don't call
13332         do_pending_window_change.
13334 2015-08-31  Paul Eggert  <eggert@cs.ucla.edu>
13336         Quoting fixes in lisp/org
13337         * lisp/org/org-agenda.el (org-search-view, org-todo-list)
13338         (org-tags-view):
13339         * lisp/org/org-capture.el (org-capture-mode)
13340         * lisp/org/org-ctags.el (org-ctags-visit-buffer-or-file)
13341         (org-ctags-ask-append-topic):
13342         * lisp/org/org.el (org-time-string-to-time)
13343         (org-time-string-to-absolute):
13344         * lisp/org/org-ctags.el (org-ctags-visit-buffer-or-file)
13345         (org-ctags-ask-append-topic):
13346         * lisp/org/org.el (org-time-string-to-time)
13347         (org-time-string-to-absolute):
13348         Respect ‘text-quoting-style’ in diagnostics.
13349         * lisp/org/org-agenda.el (org-agenda-custom-commands)
13350         (org-agenda-dim-blocked-tasks): Plural of TODO is TODOs, not TODO’s.
13351         * lisp/org/org-capture.el (org-capture-fill-template):
13352         Avoid contraction in output file that might be ASCII.
13353         * lisp/org/org-compat.el (format-message):
13354         Define if not already defined, for backward compatibility.
13355         * lisp/org/org-src.el (org-edit-src-save):
13356         * lisp/org/org.el (org-cycle, org-ctrl-c-ctrl-c):
13357         Escape apostrophes in diagnostics.
13359         Treat “instead” strings as docstrings
13360         * lisp/emacs-lisp/bytecomp.el (byte-compile-form):
13361         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
13362         Substitute quotes in instead strings.
13364 2015-08-31  Nicolas Petton  <nicolas@petton.fr>
13366         Better documentation of seq-let
13367         * doc/lispref/sequences.texi (Sequence Functions): Rephrase the
13368         documentation of seq-let.
13370 2015-08-31  Paul Eggert  <eggert@cs.ucla.edu>
13372         * lisp/international/ccl.el: Fix quoting.
13374         Quoting fixes in lisp/international and lisp/leim
13375         * lisp/international/ccl.el (ccl-dump, ccl-dump-call):
13376         * lisp/international/ja-dic-utl.el (skkdic-lookup-key):
13377         * lisp/international/mule-cmds.el:
13378         (select-safe-coding-system-interactively, leim-list-file-name):
13379         * lisp/international/quail.el (quail-use-package, quail-help):
13380         * lisp/international/titdic-cnv.el (tit-process-header)
13381         (miscdic-convert):
13382         Respect text quoting style in doc strings and diagnostics.
13383         * lisp/international/quail.el (lisp/international/quail.el):
13384         * lisp/leim/quail/ethiopic.el ("ethiopic"):
13385         Escape apostrophes in doc strings.
13387         Make ‘text-quoting-style’ a plain defvar
13388         It doesn’t need customization, as it’s likely useful only by experts.
13389         Suggested by Stefan Monnier in:
13390         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg01020.html
13391         * lisp/cus-start.el: Remove doc.c section for builtin customized vars.
13393         Quoting fixes in lisp/textmodes
13394         * lisp/textmodes/bibtex.el (bibtex-validate)
13395         (bibtex-validate-globally, bibtex-search-entries):
13396         * lisp/textmodes/ispell.el (ispell-command-loop):
13397         * lisp/textmodes/page-ext.el (search-pages, pages-directory):
13398         * lisp/textmodes/texinfmt.el (texinfmt-version)
13399         (texinfo-format-region, texinfo-format-buffer-1):
13400         * lisp/textmodes/two-column.el (2C-split):
13401         Respect text quoting style in doc strings and diagnostics.
13402         * lisp/textmodes/conf-mode.el (conf-mode-map, conf-quote-normal):
13403         * lisp/textmodes/sgml-mode.el (sgml-specials, sgml-mode):
13404         Escape apostrophes in doc strings.
13406         Documentation fixes re quotes
13407         Prefer curved quotes in examples if users will typically see
13408         curved quotes when the examples run.
13409         Mention format-message when appropriate.
13410         Don’t use @code in examples.
13411         Quote an apostrophe with @kbd.
13413         Quoting fixes in lisp/progmodes
13414         * lisp/progmodes/cc-engine.el (c-bos-report-error):
13415         * lisp/progmodes/cpp.el (cpp-edit-reset):
13416         * lisp/progmodes/ebrowse.el (ebrowse-tags-apropos):
13417         * lisp/progmodes/etags.el (etags-tags-apropos-additional)
13418         (etags-tags-apropos, list-tags, tags-apropos):
13419         * lisp/progmodes/executable.el (executable-set-magic):
13420         * lisp/progmodes/octave.el (octave-sync-function-file-names)
13421         (octave-help, octave-find-definition-default-filename)
13422         (octave-find-definition):
13423         Respect text quoting style in doc strings and diagnostics.
13424         * lisp/progmodes/cc-langs.el (c-populate-syntax-table):
13425         * lisp/progmodes/verilog-mode.el (verilog-auto-reset-widths):
13426         * lisp/progmodes/vhdl-mode.el (vhdl-electric-quote):
13427         Escape apostrophes in doc strings.
13428         * lisp/progmodes/cmacexp.el (c-macro-expansion):
13429         Use straight quoting in ASCII comment.
13430         * lisp/progmodes/idlwave.el (idlwave-auto-fill-split-string)
13431         (idlwave-pad-keyword):
13432         * lisp/progmodes/vhdl-mode.el (vhdl-widget-directory-validate)
13433         (vhdl-electric-open-bracket, vhdl-electric-close-bracket):
13434         (vhdl-electric-semicolon, vhdl-electric-comma)
13435         (vhdl-electric-period, vhdl-electric-equal):
13436         Use directed quotes in diagnostics and doc strings.
13438 2015-08-30  Xue Fuqiao  <xfq.free@gmail.com>
13440         Minor documentation and NEWS tweak
13441         * doc/lispintro/emacs-lisp-intro.texi (fwd-para let):
13442         Add an index entry.
13443         * etc/NEWS: Fix a typo in character-fold-to-regexp.
13445 2015-08-30  Michael Albinus  <michael.albinus@gmx.de>
13447         * lisp/net/tramp-sh.el (tramp-convert-file-attributes):
13448         Revert patch from 2015-08-24.  Tramp shall behave like for local files.
13449         * test/automated/tramp-tests.el (tramp-test18-file-attributes):
13450         Adapt test.
13452 2015-08-30  Paul Eggert  <eggert@cs.ucla.edu>
13454         Text quoting fixes in cedet, emulation, emacs-lisp
13455         * lisp/cedet/ede.el (ede-check-project-directory):
13456         * lisp/cedet/semantic/analyze/debug.el
13457         (semantic-analyzer-debug-insert-include-summary):
13458         * lisp/cedet/semantic/bovine/c.el (semantic-c-describe-environment):
13459         * lisp/cedet/semantic/decorate/include.el
13460         (semantic-decoration-unknown-include-describe)
13461         (semantic-decoration-all-include-summary):
13462         * lisp/cedet/semantic/ia.el (semantic-ia-fast-jump):
13463         * lisp/emulation/edt.el (edt-load-keys):
13464         * lisp/emulation/viper-cmd.el
13465         (viper-display-current-destructive-command)
13466         (viper-query-replace, viper-brac-function):
13467         * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-compile):
13468         * lisp/emulation/viper-macs.el (viper-unrecord-kbd-macro):
13469         Respect text quoting style in doc string or diagnostic.
13470         * lisp/cedet/mode-local.el (describe-mode-local-overload):
13471         Use format-message to avoid overtranslating quotes.
13472         * lisp/emacs-lisp/checkdoc.el (checkdoc-in-sample-code-p):
13473         Escape an apostrophe in a docstring.
13474         * lisp/emacs-lisp/warnings.el (lwarn): Fix doc string.
13476 2015-08-29  Daniel Colascione  <dancol@dancol.org>
13478         Fix which-func for curly quotes: look for symbol, not message
13479         * lisp/progmodes/which-func.el (which-func-ff-hook): Look for new
13480         imenu-unavailable error symbol instead of trying to match message
13481         exactly.
13482         * lisp/imenu.el (imenu-unavailable): New error.
13483         (imenu-unavailable-error): New function.
13485 2015-08-29  Eli Zaretskii  <eliz@gnu.org>
13487         Fix Python tests on MS-Windows
13488         * test/automated/python-tests.el
13489         (python-shell-calculate-command-1): Run python-shell-interpreter
13490         through shell-quote-argument before comparing with what
13491         python-shell-calculate-command returns.
13492         (python-shell-calculate-pythonpath-1)
13493         (python-shell-calculate-pythonpath-2)
13494         (python-shell-calculate-process-environment-2): Use path-separator
13495         instead of a literal ':'.
13496         (python-shell-calculate-exec-path-2)
13497         (python-shell-calculate-exec-path-3)
13498         (python-shell-calculate-exec-path-4)
13499         (python-shell-with-environment-1)
13500         (python-shell-with-environment-2): Run "/env/bin" through
13501         expand-file-name before comparing with exec-path.  (Bug#21375)
13503 2015-08-29  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
13505         Use Core Text types/functions/variables/enumerators directly
13506         * src/macfont.h (FontDescriptorRef, FontRef, FontSymbolicTraits)
13507         (CharacterCollection): Remove typedefs.  All uses replaced with
13508         definitions.
13509         (MAC_FONT_NAME_ATTRIBUTE, MAC_FONT_FAMILY_NAME_ATTRIBUTE)
13510         (MAC_FONT_TRAITS_ATTRIBUTE, MAC_FONT_SIZE_ATTRIBUTE)
13511         (MAC_FONT_CASCADE_LIST_ATTRIBUTE)
13512         (MAC_FONT_CHARACTER_SET_ATTRIBUTE, MAC_FONT_LANGUAGES_ATTRIBUTE)
13513         (MAC_FONT_FORMAT_ATTRIBUTE, MAC_FONT_SYMBOLIC_TRAIT)
13514         (MAC_FONT_WEIGHT_TRAIT, MAC_FONT_WIDTH_TRAIT)
13515         (MAC_FONT_SLANT_TRAIT): Remove macros.  All uses replaced with
13516         definitions.
13517         (MAC_FONT_TRAIT_ITALIC, MAC_FONT_TRAIT_BOLD)
13518         (MAC_FONT_TRAIT_MONO_SPACE, MAC_FONT_TRAIT_COLOR_GLYPHS)
13519         (MAC_FONT_FORMAT_BITMAP)
13520         (MAC_CHARACTER_COLLECTION_IDENTITY_MAPPING)
13521         (MAC_CHARACTER_COLLECTION_ADOBE_JAPAN1): Remove enumerators.
13522         All uses replaced with definitions.
13523         (kCTFontTraitItalic, kCTFontTraitBold, kCTFontTraitMonoSpace)
13524         (kCTFontTraitColorGlyphs, kCTCharacterCollectionIdentityMapping)
13525         (kCTCharacterCollectionAdobeJapan1 kCTFontOrientationDefault):
13526         Add compatibility enumerators for older versions.
13527         (mac_font_descriptor_create_with_attributes)
13528         (mac_font_descriptor_create_matching_font_descriptors)
13529         (mac_font_descriptor_create_matching_font_descriptor)
13530         (mac_font_descriptor_copy_attribute)
13531         (mac_font_descriptor_supports_languages)
13532         (mac_font_create_with_name, mac_font_get_size)
13533         (mac_font_copy_family_name, mac_font_copy_character_set)
13534         (mac_font_get_glyphs_for_characters, mac_font_get_ascent)
13535         (mac_font_get_descent, mac_font_get_leading)
13536         (mac_font_get_underline_position)
13537         (mac_font_get_underline_thickness, mac_font_copy_graphics_font)
13538         (mac_font_copy_non_synthetic_table): Remove macros.  All uses
13539         replaced with definitions.
13540         (mac_font_create_preferred_family_for_attributes)
13541         (mac_font_get_advance_width_for_glyph)
13542         (mac_font_get_bounding_rect_for_glyph)
13543         (mac_font_create_available_families, mac_font_shape):
13544         Remove macros for renamed functions.
13545         (mac_nsctfont_copy_font_descriptor): Remove unused macro.
13546         * src/macterm.m (mac_font_descriptor_supports_languages):
13547         Rename from mac_ctfont_descriptor_supports_languages.
13548         (mac_font_create_preferred_family_for_attributes): Rename from
13549         mac_ctfont_create_preferred_family_for_attributes.
13550         (mac_font_get_advance_width_for_glyph): Rename from
13551         mac_ctfont_get_advance_width_for_glyph.
13552         Use kCTFontOrientationDefault also for older versions.
13553         (mac_font_get_bounding_rect_for_glyph): Rename from
13554         mac_ctfont_get_bounding_rect_for_glyph.
13555         Use kCTFontOrientationDefault also for older versions.
13556         (mac_font_create_available_families): Rename from
13557         mac_ctfont_create_available_families.
13558         (mac_font_equal_in_postscript_name): Rename from
13559         mac_ctfont_equal_in_postscript_name.  All uses changed.
13560         (mac_font_create_line_with_string_and_font): Rename from
13561         mac_ctfont_create_line_with_string_and_font.  All uses changed.
13562         (mac_font_shape): Rename from mac_ctfont_shape.
13563         (mac_font_family_compare): Remove unused declaration.
13565 2015-08-29  Paul Eggert  <eggert@cs.ucla.edu>
13567         Fix minor text quoting in calc, calendar, vc
13568         * lisp/calc/calc-ext.el (calc-shift-Z-prefix-help):
13569         * lisp/calc/calc-help.el (calc-j-prefix-help):
13570         * lisp/calc/calc-misc.el (calc-help):
13571         * lisp/calc/calc.el (calc-algebraic-mode, calc-mode):
13572         Escape an apostrophe in a docstring.
13573         * lisp/calc/calc-forms.el (calc-hms-notation):
13574         * lisp/calc/calc-mode.el (calc-display-raw, calc-algebraic-mode):
13575         Escape an apostrophe in a diagnostic.
13576         * lisp/calc/calc-misc.el (calc-help):
13577         * lisp/calendar/diary-lib.el (diary-include-files):
13578         * lisp/calendar/todo-mode.el (todo-prefix, todo-item-mark):
13579         * lisp/vc/diff-mode.el (diff-delete-trailing-whitespace):
13580         * lisp/vc/ediff-diff.el (ediff-same-contents):
13581         * lisp/vc/ediff-merg.el (ediff-re-merge):
13582         * lisp/vc/ediff-ptch.el (ediff-patch-file-internal):
13583         * lisp/vc/ediff-util.el (ediff-test-save-region)
13584         (ediff-status-info):
13585         * lisp/vc/ediff.el (ediff-merge-revisions)
13586         (ediff-merge-revisions-with-ancestor):
13587         * lisp/vc/pcvs.el (cvs-mode-checkout, cvs-vc-command-advice):
13588         * lisp/vc/vc-cvs.el (vc-cvs-mode-line-string):
13589         Respect text quoting style in doc string or diagnostic.
13590         * lisp/calc/calc-prog.el (calc-kbd-push, calc-kbd-pop):
13591         * lisp/vc/add-log.el (change-log-goto-source):
13592         Avoid double-formatting.
13593         * lisp/vc/ediff-init.el (format-message):
13594         New backward-compatibility alias.
13596 2015-08-28  Paul Eggert  <eggert@cs.ucla.edu>
13598         Fix minor text quoting problems in lisp top level
13599         * lisp/apropos.el (apropos-describe-plist):
13600         * lisp/cus-theme.el (customize-themes):
13601         * lisp/dired.el (dired-log):
13602         * lisp/help-fns.el (describe-variable):
13603         * lisp/hexl.el (hexl-insert-multibyte-char):
13604         * lisp/info.el (Info-finder-find-node):
13605         * lisp/json.el (json-read-string):
13606         * lisp/novice.el (disabled-command-function)
13607         (disabled-command-function):
13608         * lisp/startup.el (normal-mouse-startup-screen):
13609         * lisp/woman.el (WoMan-log, WoMan-warn):
13610         Respect text quoting style in doc string or diagnostic.
13611         * lisp/replace.el (replace-character-fold):
13612         * src/syntax.c (Fmodify_syntax_entry):
13613         Escape an apostrophe in a docstring.
13614         * lisp/tempo.el (tempo-define-template):
13615         Remove confusing apostrophe from docstring.
13616         * lisp/whitespace.el (whitespace-mark-x):
13617         Use directed quotes in docstring.
13619 2015-08-28  Simen Heggestøyl  <simenheg@gmail.com>
13621         Fix indentation rule in css-mode
13622         * lisp/textmodes/css-mode.el (css-smie-rules): Fix indentation of
13623         brackets in presence of pseudo-selectors.  (Bug#21328)
13625 2015-08-28  Eli Zaretskii  <eliz@gnu.org>
13627         Fix a bug in recording a macro while flyspell-mode is active
13628         * lisp/subr.el (sit-for): Don't call read-event when recording a
13629         macro.  (Bug#21329)
13631 2015-08-27  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
13633         Tweak startup screen quoting
13634         * lisp/startup.el (normal-splash-screen): Use standard
13635         "M-" abbrevation rather than a confusingly-different one.
13636         (normal-no-mouse-startup-screen): Follow ‘text-quoting-style’.
13638 2015-08-27  Paul Eggert  <eggert@cs.ucla.edu>
13640         Add test case for ‘format’ bug and refactor
13641         * src/editfns.c (styled_format): Refactor internally, mostly by
13642         moving declarations closer to uses.  This should not affect behavior.
13643         * test/automated/textprop-tests.el (textprop-tests-format): New test.
13645         Fix ‘format’ bug with property offsets
13646         * src/editfns.c (styled_format): Fix recently-introduced ‘format’
13647         bug in calculating string property offsets (Bug#21351).
13649         Use straight quotes in lib-src diagnostics
13650         These auxiliary programs can’t use Emacs’s text-quoting-style,
13651         and it’s too much trouble to redo that mechanism by hand.
13652         So just use straight quotes for now.
13653         * lib-src/ebrowse.c (main):
13654         * lib-src/emacsclient.c (decode_options, main):
13655         * lib-src/etags.c (Ada_help, default_C_help, Cplusplus_help)
13656         (Forth_help, HTML_help, Lisp_help, Makefile_help, Objc_help)
13657         (Perl_help, PHP_help, Python_help, Scheme_help, TeX_help, auto_help)
13658         (none_help, print_language_names, print_help, add_regex)
13659         (suggest_asking_for_help):
13660         * lib-src/make-docfile.c (write_c_args, scan_c_stream):
13661         Use straight quotes in diagnostics.
13663         ‘text-quoting-style’ fixes for admin
13664         * admin/admin.el (cusver-scan, cusver-check):
13665         * admin/authors.el (authors-canonical-file-name):
13666         * admin/bzrmerge.el (bzrmerge-missing):
13667         Respect ‘text-quoting-style’ in diagnostics.
13669 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
13671         Assume GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS
13672         This removes the need for GCPRO1 etc.  Suggested by Stefan Monnier in:
13673         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00918.html
13674         * doc/lispref/internals.texi (Writing Emacs Primitives):
13675         * etc/NEWS:
13676         Document the change.
13677         * src/alloc.c (gcprolist, dump_zombies, MAX_ZOMBIES, zombies)
13678         (nzombies, ngcs, avg_zombies, max_live, max_zombies, avg_live)
13679         (Fgc_status, check_gcpros, relocatable_string_data_p, gc-precise):
13680         * src/bytecode.c (mark_byte_stack) [BYTE_MARK_STACK]:
13681         * src/eval.c (gcpro_level) [DEBUG_GCPRO]:
13682         * src/lisp.h (struct handler.gcpro, struct gcpro, GC_MARK_STACK)
13683         (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
13684         (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
13685         (BYTE_MARK_STACK, GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, GCPRO6)
13686         (GCPRO7, UNGCPRO, RETURN_UNGCPRO):
13687         Remove.  All uses removed.  The code now assumes
13688         GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS.
13689         * src/bytecode.c (relocate_byte_stack):
13690         Rename from unmark_byte_stack, since it now only relocates.
13691         All callers changed.
13692         * src/frame.c (make_frame): Add an IF_LINT to pacify GCC 5.2
13693         with GCPROs removed.
13694         * src/systime.h: Use EMACS_LISP_H as the canary instead of GCPRO1.
13695         * test/automated/finalizer-tests.el (finalizer-basic)
13696         (finalizer-circular-reference, finalizer-cross-reference)
13697         (finalizer-error):
13698         * test/automated/generator-tests.el (cps-test-iter-close-finalizer):
13699         Remove tests, as they depend on gc-precise.
13701 2015-08-26  Nicolas Petton  <nicolas@petton.fr>
13703         Improve seq-concatenate for new sequence types
13704         Use the new `seq-into-sequence' in seqs passed to `seq-concatenate' to
13705         ensure that concatenation happens on sequences only.  This makes it
13706         possible to use `seq-concatenate' for new types of seqs.
13707         * lisp/emacs-lisp/seq.el (seq-into-sequence, seq-concatenate):
13708         New function used in `seq-concatenate'.
13709         * test/automated/seq-tests.el (test-seq-into-sequence): New unit test
13710         for seq-into-sequence.
13712 2015-08-26  Stephen Leake  <stephen_leake@stephe-leake.org>
13714         Add mode local overrides to xref-find-definitions
13715         * lisp/cedet/mode-local.el (xref-mode-local--override-present)
13716         (xref-mode-local-overload): New; add mode local overrides to
13717         xref-find-definitions.
13718         * test/automated/elisp-mode-tests.el: Add mode local override tests.
13719         (xref-elisp-test-run): Handle indented defuns.
13720         (xref-elisp-generic-*): Improve doc strings.
13721         * lisp/progmodes/elisp-mode.el (elisp-xref-find-def-functions): New.
13722         (elisp--xref-find-definitions): Use it.
13724         Add mode local overrides to describe-function
13725         * lisp/cedet/mode-local.el (describe-mode-local-overload):
13726         New; add mode local overrides to describe-function.
13727         * etc/NEWS: Document change.
13729 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
13731         Prefer straight quoting in some etc text files
13732         These files are plain text and might be used by non-Emacs apps.
13733         They’re mostly ASCII, so just use straight quotes.
13735         Fix quoting in ‘message_with_string’
13736         * src/nsfont.m (nsfont_open): Use directed quotes in format; they
13737         should work now.
13738         * src/xdisp.c (message_to_stderr): New function, refactored from
13739         part of ‘message3_nolog’.
13740         (message3_nolog): Use it.
13741         (message_with_string): Use it.  Don’t mishandle NUL bytes when
13742         noninteractive.  Prefer AUTO_STRING when it’s most likely faster.
13743         Use ‘format-message’, not ‘format’, so that quotes are translated.
13745 2015-08-26  Eli Zaretskii  <eliz@gnu.org>
13747         Mention false positives of file-accessible-directory on w32
13748         * src/fileio.c (Ffile_accessible_directory_p): Doc fix.
13749         (Bug#21346)
13751 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
13753         Treat error strings as help
13754         * src/print.c (print_error_message): Translate quotes and command
13755         keys in errmsg so that users see, e.g., "Symbol’s value as
13756         variable is void: foo" when text-quoting-style is curved.
13758 2015-08-26  Michael Albinus  <michael.albinus@gmx.de>
13760         * lisp/net/tramp-cache.el (top): Use `message', not `format-message'.
13762 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
13764         Top-level elisp files respect ‘text-quoting-style’
13765         In top-level elisp files, use format-message in diagnostic formats,
13766         so that they follow user preference as per ‘text-quoting-style’
13767         rather than being hard-coded to quote `like this'.
13768         * lisp/allout.el (allout-get-configvar-values):
13769         * lisp/apropos.el (apropos-symbols-internal):
13770         * lisp/dired-aux.el (dired-do-shell-command, dired-create-files)
13771         (dired-do-create-files-regexp, dired-create-files-non-directory):
13772         * lisp/dired-x.el (dired-do-run-mail):
13773         * lisp/dired.el (dired-log, dired-dnd-handle-local-file):
13774         * lisp/disp-table.el (standard-display-european):
13775         * lisp/find-dired.el (find-dired):
13776         * lisp/forms.el (forms-mode):
13777         * lisp/ido.el (ido-buffer-internal):
13778         * lisp/info.el (Info-index-next):
13779         * lisp/outline.el (outline-invent-heading):
13780         * lisp/printing.el (pr-ps-outfile-preprint, pr-i-ps-send):
13781         * lisp/proced.el (proced-log):
13782         * lisp/ps-print.el (ps-print-preprint, ps-get-size):
13783         * lisp/recentf.el (recentf-open-files, recentf-save-list):
13784         * lisp/savehist.el (savehist-save):
13785         * lisp/server.el (server-ensure-safe-dir):
13786         * lisp/ses.el (ses-rename-cell):
13787         * lisp/simple.el (list-processes--refresh):
13788         * lisp/startup.el (command-line):
13789         * lisp/strokes.el (strokes-unset-last-stroke)
13790         (strokes-execute-stroke):
13791         Use format-message so that quotes are restyled.
13792         * lisp/cus-edit.el (custom-raised-buttons, customize-browse):
13793         Don’t quote ‘raised’.
13794         * lisp/descr-text.el (describe-char):
13795         * lisp/dirtrack.el (dirtrack-debug-message):
13796         * lisp/hexl.el (hexl-insert-multibyte-char):
13797         Apply substitute-command-keys to help string.
13798         * lisp/wdired.el (wdired-do-renames, wdired-do-symlink-changes)
13799         (wdired-do-perm-changes):
13800         Let dired-log do the formatting.
13802 2015-08-25  Paul Eggert  <eggert@cs.ucla.edu>
13804         Go back to grave quoting in Tramp
13805         * lisp/net/tramp-adb.el:
13806         * lisp/net/tramp-cache.el:
13807         * lisp/net/tramp-compat.el:
13808         * lisp/net/tramp-gvfs.el:
13809         * lisp/net/tramp-gw.el:
13810         * lisp/net/tramp-sh.el:
13811         * lisp/net/tramp-smb.el:
13812         * lisp/net/tramp.el:
13813         Stick with grave quoting in diagnostics strings.  This is more
13814         portable to older Emacs, desirable for Tramp.
13815         * lisp/net/tramp-cache.el: Use ‘format-message’, not ‘format’,
13816         for diagnostic that needs requoting.
13817         * lisp/net/tramp-compat.el (format-message):
13818         Fall back on simple ‘format’, since that’s good enough now.
13820         Go back to grave quoting in Gnus
13821         * lisp/gnus/auth-source.el (auth-source-netrc-parse-entries):
13822         * lisp/gnus/gnus-agent.el (gnus-agent-check-overview-buffer)
13823         (gnus-agent-fetch-headers):
13824         * lisp/gnus/gnus-int.el (gnus-start-news-server):
13825         * lisp/gnus/gnus-registry.el:
13826         (gnus-registry--split-fancy-with-parent-internal)
13827         (gnus-registry-post-process-groups):
13828         * lisp/gnus/gnus-score.el (gnus-summary-increase-score):
13829         * lisp/gnus/gnus-start.el (gnus-convert-old-newsrc):
13830         * lisp/gnus/gnus-topic.el (gnus-topic-rename):
13831         * lisp/gnus/legacy-gnus-agent.el (gnus-agent-unlist-expire-days):
13832         * lisp/gnus/spam.el (spam-check-blackholes):
13833         Stick with grave quoting in diagnostics strings.  This is more
13834         portable to older Emacs, desirable for Gnus.
13836         Fix customization of text-quoting-style
13837         * lisp/cus-edit.el (custom-guess-type, custom-variable-documentation):
13838         * lisp/wid-edit.el (widget-docstring):
13839         Get raw docstring here since it’s cooked later and should not be
13840         cooked twice.
13841         * lisp/cus-edit.el (custom-group-value-create):
13842         Cook the docstring before inserting it.
13843         * lisp/cus-start.el (text-quoting-style): Quote the customization
13844         docstrings according to the new rules.  Give curved examples.
13846         format-message now curves ` and '
13847         That way, the caller doesn’t have to use curved quotes to
13848         get diagnostics that match the text-quoting-style preferences.
13849         Suggested by Dmitry Gutov in:
13850         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00893.html
13851         This means we no longer need %qs, so remove that format.
13852         While we’re at it, fix an unlikely bug and lessen the pressure
13853         on the garbage collector by processing the string once rather
13854         than twice in the usual case.
13855         * doc/lispref/strings.texi (Formatting Strings):
13856         * etc/NEWS: Document this.
13857         * lisp/subr.el (format-message): Remove; now done in C.
13858         * src/callint.c (Fcall_interactively):
13859         * src/editfns.c (Fmessage, Fmessage_box):
13860         Use Fformat_message instead of Finternal__text_restyle
13861         followed by Fformat.
13862         * src/doc.c (LSQM, RSQM): Remove; all uses changed to use
13863         uLSQM and uRSQM.
13864         (Fsubstitute_command_keys): Prefer AUTO_STRING to build_string
13865         when pure ASCII now suffices.  Fix unlikely bug when parsing
13866         unibyte string containing non-ASCII bytes.  Use inline code
13867         rather than memcpy, as it’s a tiny number of bytes.
13868         (Finternal__text_restyle): Remove; no longer used.
13869         (syms_of_doc): Don’t declare it.
13870         * src/editfns.c (Fformat): Rewrite in terms of new function
13871         ‘styled_format’.
13872         (Fformat_message): New function, moved here from subr.el.
13873         (styled_format): New function, with the old guts of Fformat,
13874         except it now optionally transliterates quotes, and it transliterates
13875         traditional grave accent and apostrophe quoting as well.
13876         Remove recently-added q flag; no longer needed or used.
13877         (syms_of_editfns): Define format-message.
13878         * src/lisp.h (uLSQM0, uLSQM1, uLSQM2, uRSQM0, uRSQM1, uRSQM2):
13879         Remove; no longer need to be global symbols.
13880         * src/xdisp.c (vadd_to_log): Use Fformat_message, not Fformat,
13881         so that callers can use `%s'.
13882         * src/image.c (image_size_error, xbm_load_image, xbm_load)
13883         (xpm_load, pbm_load, png_load_body, jpeg_load_body, tiff_load)
13884         (gif_load, imagemagick_load_image, imagemagick_load, svg_load)
13885         (svg_load_image, gs_load, x_kill_gs_process):
13886         * src/lread.c (load_warn_old_style_backquotes):
13887         * src/xfaces.c (load_pixmap):
13888         * src/xselect.c (x_clipboard_manager_error_1):
13889         Use `%s' instead of %qs in formats.
13891 2015-08-25  Eli Zaretskii  <eliz@gnu.org>
13893         Minor fixes in doc/emacs/search.texi
13894         * doc/emacs/search.texi (Basic Isearch): Fix a typo.
13895         (Special Isearch): Use @w{} to generate several consecutive spaces
13896         with Texinfo 6.  (Bug#21345)
13898 2015-08-25  Michael Albinus  <michael.albinus@gmx.de>
13900         * lisp/net/tramp-sh.el (tramp-awk-encode, tramp-awk-decode)
13901         (tramp-awk-coding-test): New defconsts.
13902         (tramp-remote-coding-commands): Use them.
13903         (tramp-find-inline-encoding): Check for Perl only if necessary.
13905 2015-08-25  Xue Fuqiao  <xfq.free@gmail.com>
13907         * doc/lispintro/emacs-lisp-intro.texi (Run a Program): Add some
13908         index entries for the special form `quote'.
13910 2015-08-25  Paul Eggert  <eggert@cs.ucla.edu>
13912         Spelling fixes
13914         Gnus format-message typo fix
13915         * lisp/gnus/gnus-util.el (gnus-format-message):
13916         Fix typo when running in older Emacs.
13918         Prefer directed to neutral quotes in docstings and diagnostics.
13919         In docstrings, escape apostrophes that would otherwise be translated
13920         to curved quotes using the newer, simpler rules.
13921         * admin/unidata/unidata-gen.el (unidata-gen-table):
13922         * lisp/align.el (align-region):
13923         * lisp/allout.el (allout-mode, allout-solicit-alternate-bullet):
13924         * lisp/bookmark.el (bookmark-default-annotation-text):
13925         * lisp/calc/calc-aent.el (math-read-if, math-read-factor):
13926         * lisp/calc/calc-lang.el (math-read-giac-subscr)
13927         (math-read-math-subscr):
13928         * lisp/calc/calc-misc.el (report-calc-bug):
13929         * lisp/calc/calc-prog.el (calc-fix-token-name)
13930         (calc-read-parse-table-part):
13931         * lisp/cedet/ede/pmake.el (ede-proj-makefile-insert-dist-rules):
13932         * lisp/cedet/semantic/complete.el (semantic-displayor-show-request):
13933         * lisp/dabbrev.el (dabbrev-expand):
13934         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
13935         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
13936         * lisp/emacs-lisp/lisp-mnt.el (lm-verify):
13937         * lisp/emulation/viper-cmd.el (viper-toggle-search-style):
13938         * lisp/erc/erc-button.el (erc-nick-popup):
13939         * lisp/erc/erc.el (erc-cmd-LOAD, erc-handle-login):
13940         * lisp/eshell/em-dirs.el (eshell/cd):
13941         * lisp/eshell/em-glob.el (eshell-glob-regexp):
13942         * lisp/eshell/em-pred.el (eshell-parse-modifiers):
13943         * lisp/eshell/esh-arg.el (eshell-parse-arguments):
13944         * lisp/eshell/esh-opt.el (eshell-show-usage):
13945         * lisp/files-x.el (modify-file-local-variable):
13946         * lisp/filesets.el (filesets-add-buffer, filesets-remove-buffer)
13947         (filesets-update-pre010505):
13948         * lisp/find-cmd.el (find-generic, find-to-string):
13949         * lisp/gnus/auth-source.el (auth-source-netrc-parse-entries):
13950         * lisp/gnus/gnus-agent.el (gnus-agent-check-overview-buffer)
13951         (gnus-agent-fetch-headers):
13952         * lisp/gnus/gnus-int.el (gnus-start-news-server):
13953         * lisp/gnus/gnus-registry.el:
13954         (gnus-registry--split-fancy-with-parent-internal):
13955         * lisp/gnus/gnus-score.el (gnus-summary-increase-score):
13956         * lisp/gnus/gnus-start.el (gnus-convert-old-newsrc):
13957         * lisp/gnus/gnus-topic.el (gnus-topic-rename):
13958         * lisp/gnus/legacy-gnus-agent.el (gnus-agent-unlist-expire-days):
13959         * lisp/gnus/nnmairix.el (nnmairix-widget-create-query):
13960         * lisp/gnus/spam.el (spam-check-blackholes):
13961         * lisp/mail/feedmail.el (feedmail-run-the-queue):
13962         * lisp/mpc.el (mpc-playlist-rename):
13963         * lisp/net/ange-ftp.el (ange-ftp-shell-command):
13964         * lisp/net/mairix.el (mairix-widget-create-query):
13965         * lisp/net/tramp-cache.el:
13966         * lisp/obsolete/otodo-mode.el (todo-more-important-p):
13967         * lisp/obsolete/pgg-gpg.el (pgg-gpg-process-region):
13968         * lisp/obsolete/pgg-pgp.el (pgg-pgp-process-region):
13969         * lisp/obsolete/pgg-pgp5.el (pgg-pgp5-process-region):
13970         * lisp/org/ob-core.el (org-babel-goto-named-src-block)
13971         (org-babel-goto-named-result):
13972         * lisp/org/ob-fortran.el (org-babel-fortran-ensure-main-wrap):
13973         * lisp/org/ob-ref.el (org-babel-ref-resolve):
13974         * lisp/org/org-agenda.el (org-agenda-prepare):
13975         * lisp/org/org-bibtex.el (org-bibtex-fields):
13976         * lisp/org/org-clock.el (org-clock-notify-once-if-expired)
13977         (org-clock-resolve):
13978         * lisp/org/org-feed.el (org-feed-parse-atom-entry):
13979         * lisp/org/org-habit.el (org-habit-parse-todo):
13980         * lisp/org/org-mouse.el (org-mouse-popup-global-menu)
13981         (org-mouse-context-menu):
13982         * lisp/org/org-table.el (org-table-edit-formulas):
13983         * lisp/org/ox.el (org-export-async-start):
13984         * lisp/play/dunnet.el (dun-score, dun-help, dun-endgame-question)
13985         (dun-rooms, dun-endgame-questions):
13986         * lisp/progmodes/ada-mode.el (ada-goto-matching-start):
13987         * lisp/progmodes/ada-xref.el (ada-find-executable):
13988         * lisp/progmodes/antlr-mode.el (antlr-options-alists):
13989         * lisp/progmodes/flymake.el (flymake-parse-err-lines)
13990         (flymake-start-syntax-check-process):
13991         * lisp/progmodes/python.el (python-define-auxiliary-skeleton):
13992         * lisp/progmodes/sql.el (sql-comint):
13993         * lisp/progmodes/verilog-mode.el (verilog-load-file-at-point):
13994         * lisp/server.el (server-get-auth-key):
13995         * lisp/subr.el (version-to-list):
13996         * lisp/textmodes/reftex-ref.el (reftex-label):
13997         * lisp/textmodes/reftex-toc.el (reftex-toc-rename-label):
13998         * lisp/vc/ediff-diff.el (ediff-same-contents):
13999         * lisp/vc/vc-cvs.el (vc-cvs-mode-line-string):
14000         * test/automated/tramp-tests.el (tramp-test33-asynchronous-requests):
14001         Use directed rather than neutral quotes in diagnostics.
14003         Treat ' like ’ even when not matching `
14004         This is simpler and easier to explain, and should encourage better
14005         typography.  Do this in Electric Quote mode and when translating
14006         quotes in docstrings.  Inspired by a suggestion by Dmitry Gutov in:
14007         https://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00806.html
14008         * doc/emacs/text.texi (Quotation Marks):
14009         * doc/lispref/help.texi (Keys in Documentation):
14010         * etc/NEWS:
14011         Document this.
14012         * lisp/electric.el (electric-quote-post-self-insert-function):
14013         * src/doc.c (Fsubstitute_command_keys):
14014         Always treat ' like ’ even when not matched by an open quote.
14016 2015-08-25  Glenn Morris  <rgm@gnu.org>
14018         * doc/emacs/cal-xtra.texi (Holiday Customizing): Fix typo in example.
14019         * lisp/calendar/holidays.el (calendar-holidays): Fix doc typo.
14021 2015-08-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
14023         * src/macfont.m (macfont_create_family_with_symbol):
14024         Accept localized names.
14026 2015-08-24  Paul Eggert  <eggert@cs.ucla.edu>
14028         Tramp diagnostics as per ‘text-quoting-style’
14029         * lisp/net/tramp-adb.el (tramp-adb-handle-file-truename)
14030         (tramp-adb-get-ls-command, tramp-adb-handle-make-directory)
14031         (tramp-adb-handle-delete-directory)
14032         (tramp-adb-handle-delete-file)
14033         (tramp-adb-handle-file-local-copy)
14034         (tramp-adb-handle-write-region, tramp-adb-handle-copy-file)
14035         (tramp-adb-send-command-and-check, tramp-adb-wait-for-output)
14036         (tramp-adb-maybe-open-connection):
14037         * lisp/net/tramp-cache.el:
14038         * lisp/net/tramp-compat.el (tramp-compat-temporary-file-directory)
14039         (tramp-compat-octal-to-decimal)
14040         (tramp-compat-coding-system-change-eol-conversion):
14041         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler)
14042         (tramp-gvfs-do-copy-or-rename-file)
14043         (tramp-gvfs-handle-delete-directory)
14044         (tramp-gvfs-handle-delete-file)
14045         (tramp-gvfs-handle-expand-file-name)
14046         (tramp-gvfs-handle-file-local-copy)
14047         (tramp-gvfs-handle-file-notify-add-watch)
14048         (tramp-gvfs-handle-make-directory)
14049         (tramp-gvfs-handle-write-region, tramp-gvfs-url-file-name):
14050         * lisp/net/tramp-gw.el (tramp-gw-gw-proc-sentinel)
14051         (tramp-gw-aux-proc-sentinel, tramp-gw-open-connection):
14052         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
14053         (tramp-sh-handle-set-visited-file-modtime)
14054         (tramp-sh-handle-set-file-modes)
14055         (tramp-sh-handle-file-name-all-completions)
14056         (tramp-sh-handle-add-name-to-file, tramp-do-copy-or-rename-file)
14057         (tramp-do-copy-or-rename-file-directly)
14058         (tramp-do-copy-or-rename-file-out-of-band)
14059         (tramp-sh-handle-make-directory)
14060         (tramp-sh-handle-delete-directory, tramp-sh-handle-delete-file)
14061         (tramp-sh-handle-insert-directory, tramp-process-sentinel)
14062         (tramp-sh-handle-start-file-process)
14063         (tramp-sh-handle-file-local-copy)
14064         (tramp-sh-handle-write-region, tramp-sh-handle-vc-registered)
14065         (tramp-sh-handle-file-notify-add-watch, tramp-maybe-send-script)
14066         (tramp-find-file-exists-command, tramp-open-shell)
14067         (tramp-find-shell)
14068         (tramp-open-connection-setup-interactive-shell)
14069         (tramp-find-inline-encoding, tramp-find-inline-compress)
14070         (tramp-compute-multi-hops, tramp-maybe-open-connection)
14071         (tramp-wait-for-output, tramp-send-command-and-check)
14072         (tramp-send-command-and-read, tramp-get-remote-path)
14073         (tramp-get-ls-command, tramp-get-ls-command-with-dired)
14074         (tramp-get-ls-command-with-quoting-style)
14075         (tramp-get-test-command, tramp-get-remote-ln)
14076         (tramp-get-remote-perl, tramp-get-remote-stat)
14077         (tramp-get-remote-readlink, tramp-get-remote-trash)
14078         (tramp-get-remote-touch, tramp-get-remote-gvfs-monitor-dir)
14079         (tramp-get-remote-inotifywait, tramp-get-remote-id)
14080         (tramp-get-remote-python):
14081         * lisp/net/tramp-smb.el (tramp-smb-errors)
14082         (tramp-smb-handle-add-name-to-file, tramp-smb-handle-copy-file)
14083         (tramp-smb-handle-delete-directory)
14084         (tramp-smb-handle-delete-file)
14085         (tramp-smb-handle-file-local-copy)
14086         (tramp-smb-handle-make-directory)
14087         (tramp-smb-handle-make-directory-internal)
14088         (tramp-smb-handle-make-symbolic-link)
14089         (tramp-smb-handle-rename-file, tramp-smb-handle-set-file-acl)
14090         (tramp-smb-handle-set-file-modes)
14091         (tramp-smb-handle-write-region, tramp-smb-get-file-entries):
14092         * lisp/net/tramp.el (tramp-debug-message, tramp-error)
14093         (tramp-process-actions):
14094         Generate diagnostics according to ‘text-quoting-style’, by
14095         using curved quotes in format strings and ‘format-message’
14096         when appropriate.
14097         * lisp/net/tramp-compat.el (format-message):
14098         Define a replacement, if it’s an older version of Emacs
14099         that doesn’t have it already.
14101         * etc/NEWS: Clarify text-quoting-style and electric-quote-mode.
14103 2015-08-24  Xue Fuqiao  <xfq.free@gmail.com>
14105         Fix documentation for `save-excursion'
14106         * doc/lispref/positions.texi (Excursions):
14107         * doc/lispintro/emacs-lisp-intro.texi (save-excursion)
14108         (Template for save-excursion, Point and mark): `save-excursion'
14109         does not save&restore the mark any more.
14111 2015-08-24  Michael Albinus  <michael.albinus@gmx.de>
14113         * lisp/net/tramp-sh.el (tramp-stat-marker, tramp-stat-quoted-marker):
14114         New defconsts.
14115         (tramp-do-file-attributes-with-stat)
14116         (tramp-do-directory-files-and-attributes-with-stat): Use them.
14117         (tramp-convert-file-attributes): Remove double slashes in symlinks.
14118         * test/automated/tramp-tests.el (tramp-test18-file-attributes):
14119         Handle symlinks with "//" in the file name.
14121         Revert fbb5531fa11d13854b274d28ccd329c9b6652cfc for tramp.el.
14123 2015-08-24  Nicolas Petton  <nicolas@petton.fr>
14125         Fix cl-subseq and cl-concatenate
14126         * lisp/emacs-lisp/cl-extra.el (cl-subseq, cl-concatenate): Do not use
14127         seq functions.
14128         * lisp/emacs-lisp/seq.el (seq-concatenate): Call cl-concatenate in
14129         seq-concatenate.
14131 2015-08-24  Pip Cet  <pipcet@gmail.com>  (tiny change)
14133         Fix full-screen code when there is no window manager (Bug#21317)
14134         * src/xterm.h (x_wm_supports): Declare external.
14135         * src/xterm.c (wm_suppports): Rename to `x_wm_supports', export.
14136         (do_ewmh_fullscreen, x_ewmh_activate_frame): Adjust for rename.
14137         (x_check_fullscreen): Call `x_wm_set_size_hint', restore
14138         `fullscreen' frame parameter.
14139         * src/gtkutil.c (x_wm_set_size_hint): Set size hints when running
14140         without a window manager.
14142 2015-08-24  Glenn Morris  <rgm@gnu.org>
14144         * lisp/version.el (emacs-version): No longer include build host.
14145         * doc/lispref/intro.texi (Version Info): Update example.
14147 2015-08-24  Paul Eggert  <eggert@cs.ucla.edu>
14149         * doc/lispref/elisp.texi: Fix typo in previous change.
14151         More-conservative ‘format’ quote restyling
14152         Instead of restyling curved quotes for every call to ‘format’,
14153         create a new function ‘format-message’ that does the restyling,
14154         and using the new function instead of ‘format’ only in contexts
14155         where this seems appropriate.
14156         Problem reported by Dmitry Gutov and Andreas Schwab in:
14157         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00826.html
14158         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00827.html
14159         * doc/lispref/commands.texi (Using Interactive):
14160         * doc/lispref/control.texi (Signaling Errors, Signaling Errors):
14161         * doc/lispref/display.texi (Displaying Messages, Progress):
14162         * doc/lispref/elisp.texi:
14163         * doc/lispref/help.texi (Keys in Documentation):
14164         * doc/lispref/minibuf.texi (Minibuffer Misc):
14165         * doc/lispref/strings.texi (Formatting Strings):
14166         * etc/NEWS:
14167         Document the changes.
14168         * lisp/abbrev.el (expand-region-abbrevs):
14169         * lisp/apropos.el (apropos-library):
14170         * lisp/calc/calc-ext.el (calc-record-message)
14171         (calc-user-function-list):
14172         * lisp/calc/calc-help.el (calc-describe-key, calc-full-help):
14173         * lisp/calc/calc-lang.el (math-read-big-balance):
14174         * lisp/calc/calc-store.el (calc-edit-variable):
14175         * lisp/calc/calc-units.el (math-build-units-table-buffer):
14176         * lisp/calc/calc-yank.el (calc-edit-mode):
14177         * lisp/calendar/icalendar.el (icalendar-export-region)
14178         (icalendar--add-diary-entry):
14179         * lisp/cedet/mode-local.el (mode-local-print-binding)
14180         (mode-local-describe-bindings-2):
14181         * lisp/cedet/semantic/complete.el (semantic-completion-message):
14182         * lisp/cedet/semantic/edit.el (semantic-parse-changes-failed):
14183         * lisp/cedet/semantic/wisent/comp.el (wisent-log):
14184         * lisp/cedet/srecode/insert.el (srecode-insert-show-error-report):
14185         * lisp/descr-text.el (describe-text-properties-1, describe-char):
14186         * lisp/dframe.el (dframe-message):
14187         * lisp/dired-aux.el (dired-query):
14188         * lisp/emacs-lisp/byte-opt.el (byte-compile-log-lap-1):
14189         * lisp/emacs-lisp/bytecomp.el (byte-compile-log)
14190         (byte-compile-log-file, byte-compile-warn, byte-compile-form):
14191         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use)
14192         (cconv-analyze-form):
14193         * lisp/emacs-lisp/check-declare.el (check-declare-warn):
14194         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
14195         * lisp/emacs-lisp/cl-macs.el (cl-symbol-macrolet):
14196         * lisp/emacs-lisp/edebug.el (edebug-format):
14197         * lisp/emacs-lisp/eieio-core.el (eieio-oref):
14198         * lisp/emacs-lisp/eldoc.el (eldoc-minibuffer-message)
14199         (eldoc-message):
14200         * lisp/emacs-lisp/elint.el (elint-file, elint-log):
14201         * lisp/emacs-lisp/find-func.el (find-function-library):
14202         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
14203         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
14204         * lisp/emacs-lisp/nadvice.el (advice--make-docstring):
14205         * lisp/emacs-lisp/package.el (package-compute-transaction)
14206         (package-install-button-action, package-delete-button-action)
14207         (package-menu--list-to-prompt):
14208         * lisp/emacs-lisp/timer.el (timer-event-handler):
14209         * lisp/emacs-lisp/warnings.el (lwarn, warn):
14210         * lisp/emulation/viper-cmd.el:
14211         (viper-toggle-parse-sexp-ignore-comments)
14212         (viper-kill-buffer, viper-brac-function):
14213         * lisp/emulation/viper-macs.el (viper-record-kbd-macro):
14214         * lisp/facemenu.el (facemenu-add-new-face):
14215         * lisp/faces.el (face-documentation, read-face-name)
14216         (face-read-string, read-face-font, describe-face):
14217         * lisp/files.el (find-alternate-file, hack-local-variables)
14218         (hack-one-local-variable--obsolete, write-file)
14219         (basic-save-buffer, delete-directory):
14220         * lisp/format.el (format-write-file, format-find-file)
14221         (format-insert-file):
14222         * lisp/help-fns.el (help-fns--key-bindings)
14223         (help-fns--compiler-macro, help-fns--obsolete)
14224         (help-fns--interactive-only, describe-function-1)
14225         (describe-variable):
14226         * lisp/help.el (describe-mode):
14227         * lisp/info-xref.el (info-xref-output):
14228         * lisp/info.el (Info-virtual-index-find-node)
14229         (Info-virtual-index, info-apropos):
14230         * lisp/international/kkc.el (kkc-error):
14231         * lisp/international/mule-cmds.el:
14232         (select-safe-coding-system-interactively)
14233         (select-safe-coding-system, describe-input-method):
14234         * lisp/international/mule-conf.el (code-offset):
14235         * lisp/international/mule-diag.el (describe-character-set)
14236         (list-input-methods-1):
14237         * lisp/international/quail.el (quail-error):
14238         * lisp/minibuffer.el (minibuffer-message):
14239         * lisp/mpc.el (mpc--debug):
14240         * lisp/msb.el (msb--choose-menu):
14241         * lisp/net/ange-ftp.el (ange-ftp-message):
14242         * lisp/net/gnutls.el (gnutls-message-maybe):
14243         * lisp/net/newst-backend.el (newsticker--sentinel-work):
14244         * lisp/net/newst-treeview.el (newsticker--treeview-load):
14245         * lisp/net/nsm.el (nsm-query-user):
14246         * lisp/net/rlogin.el (rlogin):
14247         * lisp/net/soap-client.el (soap-warning):
14248         * lisp/net/tramp.el (tramp-debug-message):
14249         * lisp/nxml/nxml-outln.el (nxml-report-outline-error):
14250         * lisp/nxml/nxml-parse.el (nxml-parse-error):
14251         * lisp/nxml/rng-cmpct.el (rng-c-error):
14252         * lisp/nxml/rng-match.el (rng-compile-error):
14253         * lisp/nxml/rng-uri.el (rng-uri-error):
14254         * lisp/obsolete/iswitchb.el (iswitchb-possible-new-buffer):
14255         * lisp/org/org-ctags.el:
14256         (org-ctags-ask-rebuild-tags-file-then-find-tag):
14257         * lisp/proced.el (proced-log):
14258         * lisp/progmodes/ebnf2ps.el (ebnf-log):
14259         * lisp/progmodes/flymake.el (flymake-log):
14260         * lisp/progmodes/vhdl-mode.el (vhdl-warning-when-idle):
14261         * lisp/replace.el (occur-1):
14262         * lisp/simple.el (execute-extended-command)
14263         (undo-outer-limit-truncate, define-alternatives):
14264         * lisp/startup.el (command-line):
14265         * lisp/subr.el (error, user-error, add-to-list):
14266         * lisp/tutorial.el (tutorial--describe-nonstandard-key)
14267         (tutorial--find-changed-keys):
14268         * src/callint.c (Fcall_interactively):
14269         * src/editfns.c (Fmessage, Fmessage_box):
14270         Restyle the quotes of format strings intended for use as a
14271         diagnostic, when restyling seems appropriate.
14272         * lisp/subr.el (format-message): New function.
14273         * src/doc.c (Finternal__text_restyle): New function.
14274         (syms_of_doc): Define it.
14276 2015-08-23  Paul Eggert  <eggert@cs.ucla.edu>
14278         * etc/NEWS: The new ‘q’ flag is not an incompatible change.
14280 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
14282         python.el: Fix python-shell-buffer-substring on indented code
14283         (Bug#21086)
14284         * lisp/progmodes/python.el (python-shell-buffer-substring):
14285         Respect current line indentation when calculating string.
14286         * test/automated/python-tests.el
14287         (python-shell-buffer-substring-10)
14288         (python-shell-buffer-substring-11)
14289         (python-shell-buffer-substring-12): New tests.
14291 2015-08-23  Paul Eggert  <eggert@cs.ucla.edu>
14293         Fix minor glitches from ‘format’ reversion
14294         * doc/lispref/strings.texi (Formatting Strings):
14295         After reversion, ‘text-quoting-style’ is documented in ‘Keys in
14296         Documentation’, not below.
14297         * src/syntax.c (Finternal_describe_syntax_value):
14298         Prefer AUTO_STRING to build_string where either will do, as
14299         AUTO_STRING is a bit faster.
14301 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
14303         python.el: Defer shell setup code until first interactive prompt
14304         * lisp/progmodes/python.el
14305         (python-shell-comint-watch-for-first-prompt-output-filter):
14306         New function.
14307         (inferior-python-mode): Use it.
14308         (python-shell-first-prompt-hook): New hook.
14309         (python-shell-send-setup-code)
14310         (python-shell-completion-native-turn-on-maybe-with-msg): Attach to
14311         this hook instead of inferior-python-hook.
14313 2015-08-23  Nicolas Petton  <nicolas@petton.fr>
14315         Remove the calls to `seq-into` from `seq-concatenate`
14316         Since most new types of seq would have to be defined as sequences (cons
14317         cells or CL structs, mostly), there is no need to convert the seqs to
14318         sequences (which can be a fairly expensive operation).
14319         * lisp/emacs-lisp/seq.el (seq-concatenate): Do not ensure that seqs are
14320         sequences.
14322 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
14324         python.el: Fix completion for pdb interactions
14325         * lisp/progmodes/python.el (python-shell-completion-setup-code):
14326         Simplify.  Toggle print_mode for native wrapped completer.
14327         (python-shell-completion-native-setup): Ensure process buffer.
14328         Add print_mode attribute to completer wrapper to toggle returning
14329         or printing candidates.
14330         (python-shell-completion-native-get-completions): Cleanup.
14331         (python-shell-completion-get-completions): Cleanup.
14332         (python-shell-completion-at-point): Perform prompt checks.
14333         Force fallback completion in pdb interactions.
14335 2015-08-23  Nicolas Petton  <nicolas@petton.fr>
14337         Make seq.el more extensible by using cl-defmethod
14338         * lisp/emacs-lisp/seq.el: Define seq.el functions using cl-defmethod to
14339         make it easier to extend seq.el with new "seq types".
14340         * test/automated/seq-tests.el (test-setf-seq-elt): New test.
14341         * lisp/emacs-lisp/cl-extra.el (cl-subseq): Move back the definition of
14342         subseq in cl-extra.el, and use it in seq.el.
14344 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
14346         python.el: Fix prompt detection with user overridden interpreter
14347         * lisp/progmodes/python.el (python-shell-prompt-detect):
14348         Honor buffer local python-shell-interpreter and
14349         python-shell-interpreter-interactive-arg.
14351 2015-08-23  Eli Zaretskii  <eliz@gnu.org>
14353         Support exec-directory with non-ASCII characters on Windows
14354         * src/w32proc.c (sys_spawnve): Make sure exec-directory is encoded
14355         in the system's ANSI codepage, when it is used for invoking
14356         cmdproxy.
14358 2015-08-23  Andreas Schwab  <schwab@linux-m68k.org>
14360         Revert "Extend ‘format’ to translate curved quotes"
14361         This reverts commit 244c801689d2f7a80480d83cd7d092d4762ebe08.
14363         Revert "Prefer ‘format’ to ‘substitute-command-keys’"
14364         This reverts commit 6af5aad26411ffe21c3fe4bc5438347110910111.
14366 2015-08-23  Xue Fuqiao  <xfq.free@gmail.com>
14368         * doc/lispintro/emacs-lisp-intro.texi (Switching Buffers):
14369         Clarify "invisible window".
14371 2015-08-23  Xue Fuqiao  <xfq.free@gmail.com>
14373         * doc/emacs/modes.texi (Choosing Modes): Minor doc fix for
14374         magic-fallback-mode-alist.
14376 2015-08-22  Fabián Ezequiel Gallina  <fgallina@gnu.org>
14378         python.el: fallback completion, ffap and eldoc setup enhancements
14379         Setup codes are now sent continuously so that the current frame is
14380         always taken into account.  This allows working within debuggers
14381         and always keeping a fresh version of setup codes that will return
14382         proper results.
14383         * lisp/progmodes/python.el (python-shell-setup-codes): Cleanup.
14384         (python-shell-send-setup-code): Send code only when
14385         python-shell-setup-codes is non-nil.
14386         (python-shell-completion-string-code): Cleanup trailing newline.
14387         (python-shell-completion-get-completions): Always use
14388         python-shell-completion-setup-code.
14389         (python-ffap-setup-code): Work with any object, not only modules.
14390         (python-ffap-string-code): Cleanup trailing newline.
14391         (python-ffap-module-path): Always use python-ffap-setup-code.
14392         (python-eldoc-string-code): Cleanup trailing newline.
14393         (python-eldoc--get-doc-at-point): Always use
14394         python-eldoc-setup-code.  Return non-nil only if docstring is
14395         found.
14397         python.el: Increase native completion robustness
14398         * lisp/progmodes/python.el (python-shell-completion-native-setup):
14399         Make completer print real candidates and just return dummy ones to
14400         avoid input modification.
14401         (python-shell-completion-native-get-completions): Set
14402         comint-redirect-insert-matching-regexp to non-nil and make
14403         comint-redirect-finished-regexp match the last dummy candidate.
14404         Use python-shell-accept-process-output to wait for the full list
14405         of candidates.
14407 2015-08-22  Eli Zaretskii  <eliz@gnu.org>
14409         Fix invocation of programs via cmdproxy.exe
14410         * src/w32proc.c (sys_spawnve): Use exec-directory, not
14411         invocation-directory, for finding cmdproxy.exe.  When Emacs is
14412         run from the source tree, look for cmdproxy.exe in the same source
14413         tree.  (Bug#21323)
14415 2015-08-22  Simen Heggestøyl  <simenheg@gmail.com>
14417         Handle comments inside unquoted URIs in css-mode
14418         * lisp/textmodes/css-mode.el (css--uri-re): New defconst.
14419         (css-syntax-propertize-function): New defconst.
14420         (css--font-lock-keywords): Handle parens around unquoted URIs.
14421         (css-mode): Set `syntax-propertize-function'.
14423 2015-08-22  Eli Zaretskii  <eliz@gnu.org>
14425         Support invocation of Hunspell with multiple dictionaries
14426         * lisp/textmodes/ispell.el (ispell-parse-hunspell-affix-file):
14427         Support lists of dictionaries of the form "DICT1,DICT2,...".
14428         (ispell-hunspell-add-multi-dic): New command.  (Bug#20495)
14430         Minor formatting changes in ispell.el
14431         * lisp/textmodes/ispell.el (ispell-create-debug-buffer)
14432         (ispell-print-if-debug, ispell-aspell-find-dictionary)
14433         (ispell-aspell-add-aliases, ispell-hunspell-dict-paths-alist)
14434         (ispell-hunspell-dictionary-alist)
14435         (ispell-hunspell-fill-dictionary-entry)
14436         (ispell-find-hunspell-dictionaries, ispell-send-replacement)
14437         (ispell-buffer-with-debug, ispell-complete-word)
14438         (ispell-current-dictionary, ispell-current-personal-dictionary)
14439         (ispell-accept-output, ispell-minor-mode)
14440         (ispell-personal-dictionary, ispell-dictionary-alist)
14441         (ispell-really-aspell, ispell-really-hunspell)
14442         (ispell-encoding8-command, ispell-aspell-supports-utf8)
14443         (ispell-aspell-dictionary-alist, ispell-set-spellchecker-params):
14444         Fix whitespace, inconsistent capitalization, and arguments in doc
14445         strings.
14447 2015-08-22  Martin Rudalics  <rudalics@gmx.at>
14449         * lisp/window.el (adjust-window-trailing-edge): Fix bug where this
14450         function refused to resize a size-preserved window.
14452 2015-08-22  Eli Zaretskii  <eliz@gnu.org>
14454         * doc/lispref/windows.texi (Selecting Windows): Improve
14455         documentation and indexing of 'window-use-time'.
14457 2015-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
14459         * lisp/progmodes/cc-vars.el, lisp/progmodes/cc-styles.el:
14460         * lisp/progmodes/cc-mode.el, lisp/progmodes/cc-menus.el:
14461         * lisp/progmodes/cc-langs.el, lisp/progmodes/cc-guess.el:
14462         * lisp/progmodes/cc-fonts.el, lisp/progmodes/cc-engine.el:
14463         * lisp/progmodes/cc-defs.el, lisp/progmodes/cc-cmds.el:
14464         * lisp/progmodes/cc-bytecomp.el, lisp/progmodes/cc-awk.el:
14465         * lisp/progmodes/cc-align.el, lisp/net/soap-client.el:
14466         Fix up commenting style.
14468 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
14470         text-quoting-style in emacs-lisp diagnostics
14471         * lisp/emacs-lisp/advice.el (ad-read-advised-function)
14472         (ad-read-advice-class, ad-read-advice-name, ad-enable-advice)
14473         (ad-disable-advice, ad-remove-advice, ad-set-argument)
14474         (ad-set-arguments):
14475         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand)
14476         (byte-compile-unfold-lambda, byte-optimize-form-code-walker)
14477         (byte-optimize-while, byte-optimize-apply):
14478         * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode)
14479         (byte-compile-log-file, byte-compile-format-warn)
14480         (byte-compile-nogroup-warn, byte-compile-arglist-warn)
14481         (byte-compile-cl-warn)
14482         (byte-compile-warn-about-unresolved-functions)
14483         (byte-compile-file, byte-compile-fix-header)
14484         (byte-compile--declare-var, byte-compile-file-form-defmumble)
14485         (byte-compile-form, byte-compile-normal-call)
14486         (byte-compile-variable-ref, byte-compile-variable-set)
14487         (byte-compile-subr-wrong-args, byte-compile-setq-default)
14488         (byte-compile-negation-optimizer)
14489         (byte-compile-condition-case--old)
14490         (byte-compile-condition-case--new, byte-compile-save-excursion)
14491         (byte-compile-defvar, byte-compile-autoload)
14492         (byte-compile-lambda-form)
14493         (byte-compile-make-variable-buffer-local, display-call-tree)
14494         (batch-byte-compile):
14495         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use)
14496         (cconv-analyze-form):
14497         * lisp/emacs-lisp/chart.el (chart-space-usage):
14498         * lisp/emacs-lisp/check-declare.el (check-declare-scan)
14499         (check-declare-warn, check-declare-file)
14500         (check-declare-directory):
14501         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
14502         (checkdoc-message-text-engine):
14503         * lisp/emacs-lisp/cl-extra.el (cl-parse-integer):
14504         * lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause, cl-tagbody)
14505         (cl-symbol-macrolet):
14506         * lisp/emacs-lisp/cl.el (cl-unload-function, flet):
14507         * lisp/emacs-lisp/copyright.el (copyright)
14508         (copyright-update-directory):
14509         * lisp/emacs-lisp/edebug.el (edebug-read-list):
14510         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-read):
14511         * lisp/emacs-lisp/eieio-core.el (eieio--slot-override)
14512         (eieio-oref, eieio-oset-default):
14513         * lisp/emacs-lisp/eieio-speedbar.el:
14514         (eieio-speedbar-child-make-tag-lines)
14515         (eieio-speedbar-child-description):
14516         * lisp/emacs-lisp/eieio.el (defclass, change-class):
14517         * lisp/emacs-lisp/elint.el (elint-file, elint-get-top-forms)
14518         (elint-init-form, elint-check-defalias-form)
14519         (elint-check-let-form):
14520         * lisp/emacs-lisp/ert.el (ert-get-test):
14521         * lisp/emacs-lisp/find-func.el (find-function-search-for-symbol)
14522         (find-function-library):
14523         * lisp/emacs-lisp/generator.el (iter-yield):
14524         * lisp/emacs-lisp/gv.el (gv-define-simple-setter):
14525         * lisp/emacs-lisp/lisp-mnt.el (lm-verify):
14526         * lisp/emacs-lisp/package-x.el (package-upload-file):
14527         * lisp/emacs-lisp/package.el (package-version-join)
14528         (package-disabled-p, package-activate-1, package-activate)
14529         (package--download-one-archive)
14530         (package--download-and-read-archives)
14531         (package-compute-transaction, package-install-from-archive)
14532         (package-install, package-install-selected-packages)
14533         (package-delete, package-autoremove)
14534         (package-install-button-action, package-delete-button-action)
14535         (package-menu-hide-package, package-menu--list-to-prompt)
14536         (package-menu--perform-transaction)
14537         (package-menu--find-and-notify-upgrades):
14538         * lisp/emacs-lisp/pcase.el (pcase-exhaustive, pcase--u1):
14539         * lisp/emacs-lisp/re-builder.el (reb-enter-subexp-mode):
14540         * lisp/emacs-lisp/ring.el (ring-next, ring-previous):
14541         * lisp/emacs-lisp/rx.el (rx-check, rx-anything):
14542         * lisp/emacs-lisp/smie.el (smie-config-save):
14543         * lisp/emacs-lisp/subr-x.el (internal--check-binding):
14544         * lisp/emacs-lisp/testcover.el (testcover-1value):
14545         Use curved quotes in diagnostic format strings.
14547 2015-08-21  Fabián Ezequiel Gallina  <fgallina@gnu.org>
14549         python.el: Ensure remote process-environment on non-interactive processes
14550         * lisp/progmodes/python.el
14551         (python-shell-tramp-refresh-process-environment): New function.
14552         (python-shell-with-environment): Use it.
14553         * test/automated/python-tests.el (python-shell-with-environment-2):
14554         Update.
14556         python.el: Enhancements to process environment setup.
14557         * lisp/progmodes/python.el (python-shell-process-environment)
14558         (python-shell-extra-pythonpaths, python-shell-exec-path)
14559         (python-shell-virtualenv-root): Update docstring.  Remove :safe.
14560         (python-shell-setup-codes): Remove :safe.
14561         (python-shell-remote-exec-path): New defcustom.
14562         (python-shell--add-to-path-with-priority): New macro.
14563         (python-shell-calculate-pythonpath): Give priority to
14564         python-shell-extra-pythonpaths.  Update docstring.
14565         (python-shell-calculate-process-environment): Give priority to
14566         python-shell-process-environment.  Update docstring.
14567         (python-shell-calculate-exec-path): Give priority to
14568         python-shell-exec-path and calculated virtualenv bin directory.
14569         Update docstring.
14570         (python-shell-tramp-refresh-remote-path): New function.
14571         (python-shell-with-environment): Use it when working remotely and
14572         do not modify tramp-remote-path.  Allow nesting.
14573         (python-shell-calculate-command): Remove useless
14574         python-shell-with-environment call.
14575         * test/automated/python-tests.el (python-shell-calculate-pythonpath-1)
14576         (python-shell-calculate-pythonpath-2)
14577         (python-shell-calculate-process-environment-6)
14578         (python-shell-calculate-process-environment-7)
14579         (python-shell-calculate-process-environment-8)
14580         (python-shell-calculate-exec-path-3)
14581         (python-shell-calculate-exec-path-4)
14582         (python-shell-calculate-exec-path-5)
14583         (python-shell-calculate-exec-path-6)
14584         (python-shell-with-environment-3): New tests.
14585         (python-shell-calculate-process-environment-2)
14586         (python-shell-calculate-process-environment-3)
14587         (python-shell-calculate-process-environment-4)
14588         (python-shell-calculate-process-environment-5)
14589         (python-shell-calculate-exec-path-1)
14590         (python-shell-calculate-exec-path-2)
14591         (python-shell-with-environment-1)
14592         (python-shell-with-environment-2): Update and simplify.
14594 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
14596         Avoid hard-coding "M-x command" in docstrings
14597         * lisp/calendar/todo-mode.el (todo-mode):
14598         * lisp/desktop.el (desktop-save-mode):
14599         * lisp/edmacro.el (edit-kbd-macro):
14600         * lisp/emacs-lisp/package.el (package-menu-execute):
14601         * lisp/emulation/viper-cmd.el (viper-ask-level):
14602         * lisp/emulation/viper-init.el (viper-expert-level):
14603         * lisp/filesets.el (filesets-add-buffer):
14604         * lisp/follow.el (follow-mode):
14605         * lisp/gnus/auth-source.el (auth-sources):
14606         * lisp/international/ogonek.el (ogonek-informacja)
14607         (ogonek-information):
14608         * lisp/net/tramp.el (tramp-process-actions):
14609         * lisp/org/org-gnus.el (org-gnus-no-new-news):
14610         * lisp/org/org.el (org-ellipsis):
14611         * lisp/progmodes/python.el (python-shell-get-process-or-error):
14612         * lisp/progmodes/vhdl-mode.el (vhdl-mode):
14613         * lisp/server.el (server-start):
14614         * lisp/type-break.el (type-break-noninteractive-query):
14615         * lisp/userlock.el (ask-user-about-supersession-help):
14616         * lisp/whitespace.el (whitespace-report-region):
14617         Prefer (substitute-command-keys "`\\[foo-command]'")
14618         to "`M-x foo-command'" in docstrings and the like.
14620 2015-08-21  Tassilo Horn  <tsdh@gnu.org>
14622         Use add-function for prettify-symbols-compose-predicate
14623         * lisp/textmodes/tex-mode.el (tex-common-initialization): Set
14624         prettify-symbols-compose-predicate in terms of add-function.
14625         * etc/NEWS: Mention prettify-symbols-compose-predicate and
14626         prettify-symbols-mode support in tex-mode.
14628 2015-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
14630         * lisp/emacs-lisp/smie.el (smie-indent-current-column): New fun.
14631         (smie-indent-exps, smie-indent-keyword): Use it.
14632         * test/indent/css-mode.css: Test alignment with leading comment.
14634 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
14636         Respect text-quoting-style in (*Finder*) menus
14637         * lisp/info.el (info--prettify-description):
14638         Treat description as a docstring, so that it's requoted as
14639         per text-quoting-style.
14641 2015-08-21  Martin Rudalics  <rudalics@gmx.at>
14643         Document `window-use-time' in Elisp manual
14644         * doc/lispref/windows.texi (Selecting Windows): Document
14645         `window-use-time'.
14647 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
14649         * src/w32uniscribe.c (_WIN32_WINNT): Define to 0x0600.
14650         This is a cleaner fix for Bug#21260 than the previous change.
14652 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
14654         Respect text-quoting-style in calc
14655         In calc, tespect text-quoting-style preference in diagnostic
14656         formats and fix a few similar problems in docstrings.
14657         * lisp/calc/calc-aent.el (math-read-factor):
14658         * lisp/calc/calc-embed.el (calc-do-embedded):
14659         * lisp/calc/calc-ext.el (calc-user-function-list)
14660         * lisp/calc/calc-graph.el (calc-graph-show-dumb):
14661         * lisp/calc/calc-help.el (calc-describe-key)
14662         (calc-describe-thing):
14663         * lisp/calc/calc-lang.el (calc-c-language)
14664         (math-parse-fortran-vector-end, math-parse-tex-sum)
14665         (math-parse-eqn-matrix, math-parse-eqn-prime)
14666         (calc-yacas-language, calc-maxima-language, calc-giac-language)
14667         (math-read-big-rec, math-read-big-balance):
14668         * lisp/calc/calc-mode.el (calc-auto-why, calc-save-modes)
14669         (calc-auto-recompute):
14670         * lisp/calc/calc-prog.el (calc-user-define-invocation)
14671         (math-do-arg-check):
14672         * lisp/calc/calc-store.el (calc-edit-variable):
14673         * lisp/calc/calc-units.el (math-build-units-table-buffer):
14674         * lisp/calc/calc-vec.el (math-read-brackets):
14675         * lisp/calc/calc-yank.el (calc-edit-mode):
14676         * lisp/calc/calc.el (calc, calc-do, calc-user-invocation):
14677         Use curved quotes in diagnostic format strings.
14678         * lisp/calc/calc-help.el (calc-describe-thing):
14679         Format docstrings with substitute-command-keys.
14680         * lisp/calc/calc-help.el (calc-j-prefix-help):
14681         * lisp/calc/calc-misc.el (calc-help):
14682         * lisp/calc/calc-ext.el (calc-shift-Z-prefix-help):
14683         Escape a docstring "`".
14685 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
14687         Fix documentation of 'menu-set-font' and 'set-frame-font'
14688         * lisp/menu-bar.el (menu-set-font): Doc fix.  (Bug#21303)
14689         * doc/lispref/frames.texi (Frame Font): Document that
14690         set-frame-font with the last argument 't' will also make the font
14691         the default for the future GUI frames.
14693         Document '--create-frame' option to emacsclient
14694         * doc/emacs/misc.texi (emacsclient Options): Document the
14695         '--create-frame' option.  (Bug#21308)
14697 2015-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
14699         * lisp/progmodes/js.el (js-mode): Don't eagerly syntax propertize.
14701 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
14703         Document 'get-mru-window' in the ELisp manual
14704         * doc/lispref/windows.texi (Cyclic Window Ordering): Document
14705         'get-mru-window'.  (Bug#21306)
14707         Clarify documentation of 'get-buffer-window-list'
14708         * doc/lispref/windows.texi (Buffers and Windows): Mention that the
14709         current window, if relevant, will be the first in the list
14710         returned by 'get-buffer-window-list'.
14711         * lisp/window.el (get-buffer-window-list): Doc fix.  (Bug#21305)
14713 2015-08-21  Vasilij Schneidermann  <v.schneidermann@gmail.com>
14715         In `ielm' use `pop-to-buffer-same-window' (Bug#20848)
14716         * lisp/ielm.el (ielm): Use `pop-to-buffer-same-window' instead of
14717         `switch-to-buffer'.
14719 2015-08-21  Kaushal Modi  <kaushal.modi@gmail.com>  (tiny change)
14721         In woman.el use `display-buffer' instead of `switch-to-buffer' (Bug#21047)
14722         * lisp/woman.el (woman-really-find-file, WoMan-find-buffer): Use
14723         `display-buffer' instead of `switch-to-buffer'.
14725 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
14727         Follow user preference in calendar diagnostics
14728         Respect text-quoting-style preference in diagnostic formats by
14729         using curved quotes (which are translated as per text-quoting-style)
14730         instead of grave accent and apostrophe (which are not).
14731         * lisp/calendar/appt.el (appt-display-message):
14732         * lisp/calendar/diary-lib.el (diary-check-diary-file)
14733         (diary-mail-entries, diary-from-outlook):
14734         * lisp/calendar/icalendar.el (icalendar-export-region)
14735         (icalendar--convert-float-to-ical)
14736         (icalendar--convert-date-to-ical)
14737         (icalendar--convert-ical-to-diary)
14738         (icalendar--convert-recurring-to-diary)
14739         (icalendar--add-diary-entry):
14740         * lisp/calendar/time-date.el (format-seconds):
14741         * lisp/calendar/timeclock.el (timeclock-mode-line-display)
14742         (timeclock-make-hours-explicit):
14743         * lisp/calendar/todo-mode.el (todo-prefix, todo-delete-category)
14744         (todo-item-mark, todo-check-format)
14745         (todo-insert-item--next-param, todo-edit-item--next-key)
14746         (todo-mode):
14747         Use curved quotes in diagnostic format strings.
14748         * lisp/calendar/icalendar.el (icalendar-import-format-sample):
14749         * test/automated/icalendar-tests.el (icalendar--import-format-sample):
14750         Just use straight quoting for simple test case.
14752 2015-08-21  Michael Albinus  <michael.albinus@gmx.de>
14754         * src/gfilenotify.c (Fgfile_add_watch):
14755         Handle errors from g_file_monitor.
14757 2015-08-21  Martin Rudalics  <rudalics@gmx.at>
14759         In frames.texi use "minibuffer-less frame" instead of "non-minibuffer frame"
14760         * doc/lispref/frames.texi (Frame Layout): Use "minibuffer-less
14761         frame" instead of "non-minibuffer frame".
14763         Fix frame geometry related text
14764         * doc/lispref/frames.texi (Frame Layout):
14765         Rename `x-frame-geometry' to `frame-geometry'.
14766         * doc/lispref/frames.texi (Mouse Position):
14767         * doc/lispref/windows.texi (Coordinates and Windows):
14768         Use `set-mouse-absolute-pixel-position' instead of
14769         `x-set-mouse-absolute-pixel-position'.
14771         Sanitize frame geometry related functions
14772         * src/nsfns.m (Fx_frame_geometry): Rename to Fns_frame_geometry.
14773         (Fx_frame_edges): Rename to Fns_frame_edges.
14774         * src/w32fns.c (Fx_frame_geometry): Rename to Fw32_frame_geometry.
14775         (Fx_frame_edges): Rename to Fw32_frame_edges.
14776         (Fx_mouse_absolute_pixel_position): Rename to
14777         Fw32_mouse_absolute_pixel_position.
14778         (Fx_set_mouse_absolute_pixel_position): Rename to
14779         Fw32_set_mouse_absolute_pixel_position.
14780         * lisp/frame.el (x-frame-geometry, w32-frame-geometry)
14781         (ns-frame-geometry, x-frame-edges, w32-frame-edges)
14782         (ns-frame-edges, w32-mouse-absolute-pixel-position)
14783         (x-mouse-absolute-pixel-position)
14784         (w32-set-mouse-absolute-pixel-position)
14785         (x-set-mouse-absolute-pixel-position): Declare.
14786         (frame-geometry, mouse-absolute-pixel-position)
14787         (set-mouse-absolute-pixel-position): New functions.
14788         (frame-edges): Rewrite in terms of x-/w32-/ns-frame-edges.
14790 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
14792         Fix MinGW64 build broken by latest w32uniscribe.c changes
14793         * src/w32uniscribe.c (UNISCRIBE_OPENTYPE): Define to 0x0100, for
14794         MinGW64.  Reported by Andy Moreton <andrewjmoreton@gmail.com>.
14795         (Bug#21260)
14797 2015-08-21  Tassilo Horn  <tsdh@gnu.org>
14799         Add TeX defaults for prettify-symbol-mode
14800         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist):
14801         Rename from tex-prettify-symbols-alist.
14802         (tex--prettify-symbols-compose-p): New function.
14803         (tex-common-initialization): Use them as prettify-symbols-alist
14804         and prettify-symbols-compose-predicate.
14806         Generalize prettify-symbols to arbitrary modes
14807         * lisp/progmodes/prog-mode.el
14808         (prettify-symbols-default-compose-p): New function.
14809         (prettify-symbols-compose-predicate): New variable.
14810         (prettify-symbols--compose-symbol): Use it.
14812 2015-08-20  Paul Eggert  <eggert@cs.ucla.edu>
14814         Don't quote symbols 'like-this' in docstrings etc.
14815         * admin/unidata/uvs.el (uvs-insert-fields-as-bytes):
14816         * lisp/allout-widgets.el (allout-widgets-count-buttons-in-region):
14817         * lisp/allout.el (allout-add-resumptions, allout-mode):
14818         * lisp/calculator.el (calculator-operators):
14819         * lisp/cedet/data-debug.el (dd-propertize):
14820         * lisp/cedet/ede/proj-prog.el (ede-proj-target-makefile-program):
14821         * lisp/cedet/semantic/analyze/debug.el:
14822         (semantic-analyzer-debug-global-miss-text):
14823         * lisp/cedet/semantic/lex-spp.el:
14824         (semantic-lex-spp-replace-or-symbol-or-keyword):
14825         * lisp/cedet/semantic/symref.el:
14826         (semantic-symref-cleanup-recent-buffers-fcn):
14827         * lisp/cedet/semantic/tag.el (semantic-tag-class):
14828         * lisp/cedet/srecode/el.el (srecode-semantic-handle-:el-custom):
14829         * lisp/gnus/nnmairix.el (nnmairix-propagate-marks-upon-close):
14830         * lisp/gnus/pop3.el (pop3-authentication-scheme):
14831         * lisp/help-fns.el (describe-function-orig-buffer):
14832         * lisp/imenu.el (imenu--history-list):
14833         * lisp/mail/feedmail.el (feedmail-confirm-outgoing)
14834         (feedmail-display-full-frame, feedmail-deduce-bcc-where)
14835         (feedmail-queue-default-file-slug)
14836         (feedmail-queue-buffer-file-name):
14837         * lisp/net/mairix.el (mairix-searches-mode-map):
14838         * lisp/net/newst-backend.el (newsticker-retrieval-method)
14839         (newsticker-auto-mark-filter-list):
14840         * lisp/obsolete/vi.el (vi-mode):
14841         * lisp/progmodes/cc-engine.el (c-literal-type):
14842         * lisp/progmodes/cpp.el (cpp-face):
14843         * lisp/progmodes/ebrowse.el (ebrowse-electric-list-looper):
14844         * lisp/progmodes/elisp-mode.el (elisp--xref-make-xref):
14845         * lisp/progmodes/pascal.el (pascal-auto-lineup):
14846         * lisp/progmodes/prog-mode.el (prog-widen):
14847         * lisp/progmodes/verilog-mode.el (verilog-regexp-words)
14848         (verilog-auto-lineup, verilog-auto-reset-widths)
14849         (verilog-auto-arg-format, verilog-auto-inst-template-numbers):
14850         * lisp/textmodes/flyspell.el (flyspell-maybe-correct-transposition)
14851         (flyspell-maybe-correct-doubling):
14852         * lisp/textmodes/table.el (table-justify, table-justify-cell)
14853         (table-justify-row, table-justify-column, table-insert-sequence)
14854         (table--justify-cell-contents):
14855         * lisp/url/url-auth.el (url-get-authentication):
14856         * lisp/window.el (display-buffer-record-window):
14857         * lisp/xml.el (xml-parse-file, xml-parse-region):
14858         * src/gfilenotify.c (Fgfile_add_watch):
14859         Don't quote symbols with apostrophes in doc strings.
14860         Use asymmetric quotes instead.
14861         * lisp/cedet/semantic/complete.el (semantic-displayor-show-request):
14862         Likewise for symbol in diagnostic.
14863         * lisp/image.el (image-extension-data):
14864         * lisp/register.el (frame-configuration-to-register):
14865         * src/buffer.c (syms_of_buffer):
14866         Remove bogus apostrophes after symbols.
14867         * lisp/thumbs.el (thumbs-conversion-program):
14868         Quote Lisp string values using double-quotes, not apostrophes.
14870 2015-08-20  Martin Rudalics  <rudalics@gmx.at>
14872         Describe frame geometry and related functions in Elisp manual
14873         * doc/lispref/display.texi (Size of Displayed Text, Line Height)
14874         (Showing Images): Update references.
14875         * doc/lispref/elisp.texi (Top): Update node listing.
14876         * doc/lispref/frames.texi (Frame Geometry): New node.
14877         Move `Size and Position' section here.
14878         (Size Parameters): Update references.
14879         (Mouse Position): Update references and nomenclature.
14880         Describe new functions `x-mouse-absolute-pixel-position' and
14881         `x-set-mouse-absolute-pixel-position'.
14882         * doc/lispref/windows.texi (Window Sizes): Update references.
14883         (Resizing Windows): Update references.  Move description of
14884         `fit-frame-to-buffer' here.
14885         (Coordinates and Windows): Update nomenclature and references.
14886         Describe new arguments of `window-edges'.  Comment out
14887         descriptions of `window-left-column', `window-top-line',
14888         `window-pixel-left' and `window-pixel-top'.  Describe
14889         `window-absolute-pixel-position'.
14891 2015-08-20  Alan Mackenzie  <acm@muc.de>
14893         Handling of `c-parse-state'.  Fix low level bug.
14894         * lisp/progmodes/cc-engine.el (c-remove-stale-state-cache-backwards):
14895         Add "CASE 3.5" to handle `cache-pos' being only slightly before `here'.
14897 2015-08-20  Andreas Politz  <politza@hochschule-trier.de>
14899         * lisp/wid-edit.el (widget-color--choose-action): Quit *Color*
14900         window instead of deleting it.
14902 2015-08-20  Martin Rudalics  <rudalics@gmx.at>
14904         In w32fns.c's Fx_frame_geometry rewrite check whether frame has a titlebar
14905         * src/w32fns.c (Fx_frame_geometry): Use title_bar.rgstate[0] to
14906         determine whether frame has a titlebar.
14907         Suggested by Eli Zaretskii <eliz@gnu.org>
14909 2015-08-20  Tassilo Horn  <tsdh@gnu.org>
14911         Add a prettify-symbols-alist for (La)TeX
14912         * lisp/textmodes/tex-mode.el (tex-prettify-symbols-alist):
14913         New variable holding an alist suitable as prettify-symbols-alist in
14914         (La)TeX modes.
14916 2015-08-19  Alan Mackenzie  <acm@muc.de>
14918         Make electric-pair-mode, delete-selection-mode and CC Mode cooperate.
14919         Fixes debbugs#21275.
14920         In Emacs >= 25, let electric-pair-mode take precedence over
14921         delete-selection-mode.
14922         * lisp/delsel.el (delete-selection-uses-region-p): New function,
14923         previously a lambda expression in a property value for
14924         `self-insert-command'.
14925         (top-level): Set the `delete-selection' property of
14926         `self-insert-command' to `delete-selection-uses-region-p'.
14927         * lisp/progmodes/cc-cmds.el (top-level): Give the `delete-selection'
14928         property for c-electric-\(brace\|paren\) the value
14929         `delete-selection-uses-region-p' when the latter function exists.
14931 2015-08-19  Paul Eggert  <eggert@cs.ucla.edu>
14933         Fix key binding quoting in tutorial *Help*
14934         * lisp/tutorial.el (tutorial--describe-nonstandard-key):
14935         When generating help for custom key bindings, use the user-preferred
14936         quoting style rather than hardcoding the grave style.
14938 2015-08-19  Eli Zaretskii  <eliz@gnu.org>
14940         Improve and future-proof OTF fonts support in w32uniscribe.c
14941         * src/w32uniscribe.c (uniscribe_otf_capability): Add commentary
14942         about the expected results and why the new Uniscribe APIs are not
14943         used in this function.
14944         (ScriptGetFontScriptTags_Proc, ScriptGetFontLanguageTags_Proc)
14945         (ScriptGetFontFeatureTags_Proc): New function typedefs.
14946         (uniscribe_new_apis): New static variable.
14947         (uniscribe_check_features): New function, implements OTF features
14948         verification while correctly accounting for features in the list
14949         after the nil member, if any.
14950         (uniscribe_check_otf_1): New function, retrieves the features
14951         supported by the font for the requested script and language using
14952         the Uniscribe APIs available from Windows Vista onwards.
14953         (uniscribe_check_otf): If the new Uniscribe APIs are available,
14954         use them in preference to reading the font data directly.  Call
14955         uniscribe_check_features to verify that the requested features are
14956         supported, replacing the original incomplete code.
14957         (syms_of_w32uniscribe): Initialize function pointers for the new
14958         Uniscribe APIs.  (Bug#21260)
14959         (otf_features): Scan the script, langsys, and feature arrays back
14960         to front, so that the result we return has them in alphabetical
14961         order, like ftfont.c does.
14962         * src/w32fns.c (syms_of_w32fns) <w32-disable-new-uniscribe-apis>:
14963         New variable for debugging w32uniscribe.c code.
14965 2015-08-19  Artur Malabarba  <bruce.connor.am@gmail.com>
14967         * lisp/isearch.el (isearch-search-fun-default): Revert a5bdb87
14968         Remove usage of `isearch-lax-whitespace' inside the `iearch-word'
14969         clause of `isearch-search-fun-default'.  That lax variable does not
14970         refer to lax-whitespacing.  Related to (bug#21777).
14971         This reverts commit a5bdb872edb9f031fe041faf9a8c0be432e5f64c.
14972         * lisp/character-fold.el (character-fold-search): Set to nil.
14973         Default to nil for now, until someone implements proper
14974         lax-whitespacing with char-fold searching.
14976 2015-08-19  Martin Rudalics  <rudalics@gmx.at>
14978         Fix doc-string of `help-mode-finish'.
14979         * lisp/help-mode.el (help-mode-finish): Fix doc-string.
14981         In nsimage.m include coding.h (Bug#21292)
14982         * src/nsimage.m (top-level): Include coding.h (Bug#21292).
14984         Move window edge functions to Elisp.
14985         * src/window.c (Fwindow_edges, Fwindow_pixel_edges)
14986         (Fwindow_absolute_pixel_edges, Fwindow_inside_edges)
14987         (Fwindow_inside_pixel_edges, Fwindow_inside_absolute_pixel_edges):
14988         Move to window.el.
14989         (calc_absolute_offset): Remove.
14990         * lisp/frame.el (frame-edges): New function.
14991         * lisp/window.el (window-edges, window-pixel-edges)
14992         (window-absolute-pixel-edges): Move here from window.c.
14993         (window-body-edges, window-body-pixel-edges)
14994         (window-absolute-body-pixel-edges): Move here from window.c and
14995         rename "inside" to "body".  Keep old names as aliases.
14996         (window-absolute-pixel-position): New function.
14998 2015-08-19  Katsumi Yamaoka  <yamaoka@jpl.org>
15000         [Gnus]: Use overlay functions directly
15001         * lisp/gnus/gnus-art.el (gnus-mime-inline-part, gnus-mm-display-part)
15002         (gnus-insert-mime-button, gnus-mime-buttonize-attachments-in-header)
15003         (gnus-article-highlight-signature, gnus-article-extend-url-button)
15004         (gnus-article-add-button, gnus-insert-prev-page-button)
15005         (gnus-insert-next-page-button, gnus-insert-mime-security-button):
15006         * lisp/gnus/gnus-cite.el (gnus-cite-delete-overlays)
15007         (gnus-cite-add-face):
15008         * lisp/gnus/gnus-html.el (gnus-html-wash-tags):
15009         * lisp/gnus/gnus-salt.el (gnus-tree-read-summary-keys)
15010         (gnus-tree-recenter, gnus-highlight-selected-tree):
15011         * lisp/gnus/gnus-sum.el (gnus-summary-show-all-threads)
15012         (gnus-summary-show-thread, gnus-summary-hide-thread)
15013         (gnus-highlight-selected-summary):
15014         * lisp/gnus/gnus-util.el (gnus-put-overlay-excluding-newlines):
15015         * lisp/gnus/message.el (message-fix-before-sending)
15016         (message-toggle-image-thumbnails):
15017         * lisp/gnus/mm-decode.el (mm-convert-shr-links):
15018         * lisp/gnus/sieve.el (sieve-highlight, sieve-insert-scripts):
15019         Use overlay functions directly instead of using gnus-overlay-*,
15020         message-overlay-*, and sieve-overlay-*.
15021         * lisp/gnus/gnus-sum.el (gnus-remove-overlays):
15022         * lisp/gnus/gnus.el (gnus-make-overlay, gnus-copy-overlay)
15023         (gnus-delete-overlay, gnus-overlay-get, gnus-overlay-put)
15024         (gnus-move-overlay, gnus-overlay-buffer, gnus-overlay-start)
15025         (gnus-overlay-end, gnus-overlays-at, gnus-overlays-in):
15026         * lisp/gnus/message.el (message-delete-overlay, message-make-overlay)
15027         (message-overlay-get, message-overlay-put, message-overlays-in):
15028         * lisp/gnus/sieve.el (sieve-make-overlay, sieve-overlay-put)
15029         (sieve-overlays-at): Remove.
15031 2015-08-19  Martin Rudalics  <rudalics@gmx.at>
15033         In w32fns.c condition TITLEBAR_INFO declaration on WINDOWS version
15034         * src/w32fns.c (TITLEBAR_INFO): Make it a typedef so MinGW64
15035         builds can use the declaration from the system headers.
15036         (GetTitleBarInfo_Proc, Fx_frame_geometry): Adapt to new
15037         definition of TITLEBAR_INFO.
15038         Suggested by Eli Zaretskii  <eliz@gnu.org>
15040 2015-08-19  Glenn Morris  <rgm@gnu.org>
15042         * lisp/gnus/nnmaildir.el (nnmaildir-flag-mark-mapping): Add "P".
15044 2015-08-19  Paul Eggert  <eggert@cs.ucla.edu>
15046         Use new q ‘format’ flag when fixing quotes in C
15047         * src/image.c (image_size_error): New function.  All uses of
15048         image_error with "Invalid image size ..."  changed to use it.
15049         * src/image.c (image_size_error, xbm_load_image, xbm_load)
15050         (xpm_load, xpm_load_image, xpm_load, pbm_load, png_load_body)
15051         (jpeg_load_body, tiff_load, gif_load, imagemagick_load_image)
15052         (imagemagick_load, svg_load, svg_load_image, gs_load)
15053         (x_kill_gs_process):
15054         * src/lread.c (load_warn_old_style_backquotes):
15055         * src/xfaces.c (load_pixmap):
15056         * src/xselect.c (x_clipboard_manager_error_1):
15057         Use %qs, not uLSQM and uRSQM.
15058         * src/syntax.c (Finternal_describe_syntax_value):
15059         Prefer Fsubstitute_command_keys to Fformat, as this lets
15060         us use AUTO_STRING.
15061         * src/xdisp.c (vadd_to_log): Use AUTO_STRING on the format argument,
15062         as it's now guaranteed to be ASCII.
15063         * src/xselect.c (x_clipboard_manager_error_2):
15064         Avoid grave accent in low-level stderr diagnostic.
15066 2015-08-19  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
15068         New q flag for ‘format’
15069         * doc/lispref/processes.texi (Sentinels):
15070         Don't hardwire grave quoting style in example.
15071         * doc/lispref/strings.texi (Formatting Strings):
15072         * etc/NEWS:
15073         Document new q flag.
15074         * src/editfns.c (Fformat): Implement it.
15076 2015-08-18  Daiki Ueno  <ueno@gnu.org>
15078         pinentry.el: Add debugging support
15079         * lisp/net/pinentry.el (pinentry-debug): New variable.
15080         (pinentry-debug-buffer): New variable.
15081         (pinentry--process-filter): Send input to the debug buffer, if
15082         `pinentry-debug' is set.
15084         pinentry.el: Improve multiline prompt
15085         * lisp/net/pinentry.el (pinentry--prompt): Simplify the interface.
15086         (pinentry--process-filter): Use `pinentry--prompt' for CONFIRM
15087         command.
15089 2015-08-18  Paul Eggert  <eggert@cs.ucla.edu>
15091         Fix multibyte confusion in diagnostics
15092         * src/print.c (print_error_message):
15093         Don't assume that the caller's name is unibyte.
15094         * src/xdisp.c (vadd_to_log):
15095         Don't assume that the formatted diagnostic is unibyte.
15097         Fix file name encodings in diagnostics
15098         Also, close some minor races when opening image files, by opening
15099         them once instead of multiple times.
15100         * src/gtkutil.c (xg_get_image_for_pixmap):
15101         * src/image.c (xpm_load, tiff_load, gif_load, imagemagick_load)
15102         (svg_load):
15103         * src/nsimage.m (allocInitFromFile:):
15104         * src/xfns.c (xg_set_icon):
15105         Encode file name, since x_find_image_file no longer does that.
15106         * src/image.c (x_find_image_fd): New function.
15107         (x_find_image_file): Use it.  Do not encode resulting file name,
15108         since callers sometimes need it decoded.
15109         (slurp_file): File arg is now a fd, not a file name.
15110         All callers changed.  This saves us having to open the file twice.
15111         (xbm_load, xpm_load, pbm_load, png_load_body, jpeg_load_body)
15112         (svg_load):
15113         Use x_find_image_fd and fdopen to save a file-open.
15114         Report file name that failed.
15115         * src/lread.c (openp): If PREDICATE is t, open the file in binary mode.
15117 2015-08-18  Dmitry Gutov  <dgutov@yandex.ru>
15119         Allow blink-matching-paren to jump off screen
15120         * doc/emacs/programs.texi (Matching): Mention the
15121         `blink-matching-paren' value `jump-offscreen'.
15122         * lisp/simple.el (blink-matching-paren): New possible value.
15123         (blink-matching-paren-on-screen): Clarify the docstring.
15124         (blink-matching-open): Handle `jump-offscreen' (bug#21286).
15126         Refine the previous change
15127         * lisp/simple.el (blink-matching-open): Use minibuffer-message
15128         outside of save-excursion (bug#21286).
15130 2015-08-18  Martin Rudalics  <rudalics@gmx.at>
15132         Rewrite and add frame geometry related functions.
15133         * src/frame.c (Fframe_position): New function.
15134         (Fset_frame_position): Rename parameters and rewrite doc-string.
15135         (syms_of_frame): Remove Qframe_position, Qframe_outer_size,
15136         Qtitle_height and Qframe_inner_size.  Add Qouter_edges,
15137         Qouter_position, Qouter_size, Qnative_edges, Qinner_edges,
15138         Qtitle_bar_size.
15139         * src/nsfns.m (frame_geometry): New function.
15140         (Fx_frame_geometry): Call frame_geometry.
15141         (Fx_frame_edges): New function.
15142         * src/w32fns.c (C_CHILDREN_TITLEBAR, TITLEBAR_INFO)
15143         (GetTitleBarInfo_Proc): Define these so we can use the
15144         GetTitleBarInfo API.
15145         (Fw32_frame_menu_bar_size, Fw32_frame_rect): Remove.
15146         (Fx_frame_geometry): Rewrite.
15147         (Fx_frame_edges, Fx_mouse_absolute_pixel_position)
15148         (Fx_set_mouse_absolute_pixel_position): New functions.
15149         * src/xfns.c (frame_geometry): New function.
15150         (Fx_frame_geometry): Call frame_geometry.
15151         (Fx_frame_edges, Fx_mouse_absolute_pixel_position)
15152         (Fx_set_mouse_absolute_pixel_position): New functions.
15154 2015-08-18  Michael Albinus  <michael.albinus@gmx.de>
15156         Improve Tramp's compatibility
15157         * lisp/net/tramp.el (tramp-get-method-parameter):
15158         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
15159         (tramp-adb-get-device):
15160         * lisp/net/trampver.el (tramp-repository-get-version):
15161         Use `tramp-compat-replace-regexp-in-string'.
15163 2015-08-18  Pierre Téchoueyres  <pierre.techoueyres@free.fr>  (tiny change)
15165         * lisp/net/tramp-cmds.el (tramp-reporter-dump-variable):
15166         Encode/decode string.
15168 2015-08-18  Paul Eggert  <eggert@cs.ucla.edu>
15170         Clarify what happens to match data on failure
15171         Problem reported by Ernesto Alfonso (Bug#21279).
15172         * doc/lispref/searching.texi (Regexp Search, Simple Match Data):
15173         Document more carefully what happens to match data after a failed
15174         search.
15175         * src/search.c (Fmatch_beginning, Fmatch_end): Document that
15176         the return value is undefined if the last search failed.
15177         (Fmatch_data): Simplify doc string line 1.
15179 2015-08-18  Daiki Ueno  <ueno@gnu.org>
15181         Revert "pinentry.el: Support external passphrase cache"
15182         This reverts commit e086e55a664ec27fbca7b3231c4b32cb78a89337.
15183         pinentry.el shouldn't directly interact with the secrets service,
15184         but ask the caller to cache the passphrase.
15186 2015-08-17  Xue Fuqiao  <xfq.free@gmail.com>
15188         * doc/emacs/sending.texi (Mail Misc): Fix two index entries for
15189         Message mode hooks.
15191 2015-08-17  Daiki Ueno  <ueno@gnu.org>
15193         epg.el: Make gpgconf output parsing future proof
15194         * lisp/epg.el (epg--start): Count the number of fields in "gpgconf
15195         --list-options" output.
15197         pinentry.el: Support external passphrase cache
15198         * lisp/net/pinentry.el (pinentry-use-secrets): New user option.
15199         (pinentry--allow-external-password-cache): New local variable.
15200         (pinentry--key-info): New local variable.
15201         (secrets-enabled, secrets-search-items, secrets-get-secret):
15202         Declare.
15203         (pinentry--send-passphrase): New function, split from
15204         `pinentry--process-filter'.
15205         (pinentry--process-filter): Use secrets.el to retrieve passphrase
15206         from login keyring.
15208         pinentry.el: Popup window for multiline prompt
15209         * lisp/net/pinentry.el (pinentry): New custom group.
15210         (pinentry-popup-prompt-window): New user option.
15211         (pinentry-prompt-window-height): New user option.
15212         (pinentry--prompt-buffer): New variable.
15213         (pinentry-prompt-mode-map): New variable.
15214         (pinentry-prompt-mode): New function.
15215         (pinentry--prompt): New function.
15216         (pinentry--process-filter): Use `pinentry--prompt' instead of
15217         `read-passwd' and `y-or-n-p'.
15219 2015-08-17  Katsumi Yamaoka  <yamaoka@jpl.org>
15221         message.el: Silent the byte compiler
15222         * lisp/gnus/message.el (message-overlay-put, message-make-overlay)
15223         (message-kill-all-overlays, message-overlays-in, message-overlay-get)
15224         (message-delete-overlay, message-window-inside-pixel-edges):
15225         Declare before using.
15227         * lisp/gnus/message.el (message-overlay-get, message-overlays-in)
15228         (message-window-inside-pixel-edges): XEmacs compatible functions.
15230 2015-08-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
15232         * lisp/gnus/message.el (message-toggle-image-thumbnails): New command.
15234 2015-08-17  Noah Friedman  <friedman@splode.com>
15236         * lisp/simple.el (blink-matching-open): Restore point before
15237         calling minibuffer-message.
15239 2015-08-17  Ronnie Schnell  <ronnie@driver-aces.com>
15241         * lisp/play/dunnet.el: Update version number in header (now
15242         matches help).
15244 2015-08-17  Paul Eggert  <eggert@cs.ucla.edu>
15246         Curved quotes in --batch diagnostics in non-UTF-8
15247         When run with --batch, check that curved quotes are compatible with
15248         the system locale before outputting them in diagnostics.
15249         Problem reported by Eli Zaretskii in:
15250         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00594.html
15251         * lisp/startup.el (command-line): Set internal--text-quoting-flag
15252         after the standard display table is initialized.
15253         * src/doc.c (default_to_grave_quoting_style): New function.
15254         (text_quoting_style): Use it.
15255         (text_quoting_flag): New static var, visible to Lisp as
15256         internal--text-quoting-flag.
15257         * src/emacs.c: Include <wchar.h> if available.
15258         (using_utf8): New function.
15259         (main): Use it to initialize text_quoting_flag.
15260         * src/regex.h (btowc) [WIDE_CHAR_SUPPORT && emacs]:
15261         Don't define, as it's not needed and it clashes with wchar.h.
15263 2015-08-17  Glenn Morris  <rgm@gnu.org>
15265         * doc/misc/tramp.texi (Configuration): Reword to avoid warning
15266         from makeinfo about spurious "Note:" cross-reference, and for grammar.
15268 2015-08-17  Ilya Zakharevich  <ilya@math.berkeley.edu>
15270         Minor change in variable initialization on MS-Windows
15271         * src/w32fns.c <after_dead_key>: Initialize to -1.
15272         (deliver_wm_chars): If after_deadkey is zero, don't set after_dead
15273         non-zero.
15275         Fix a bug with LWindow key remapping on MS-Windows
15276         * src/w32fns.c (deliver_wm_chars): Fix a typo.  (Bug#21276)
15278 2015-08-17  Eli Zaretskii  <eliz@gnu.org>
15280         Improve fontset support for latest OTF script tags
15281         * lisp/international/fontset.el (otf-script-alist): Add some
15282         missing script tags.
15283         (setup-default-fontset): Include settings for v2 versions of the
15284         script tags used by some modern OTF/TTF fonts.
15286 2015-08-17  Paul Eggert  <eggert@cs.ucla.edu>
15288         Spelling fixes
15290 2015-08-16  Paul Eggert  <eggert@cs.ucla.edu>
15292         Use curved quotes in core elisp diagnostics
15293         In the core elisp files, use curved quotes in diagnostic formats,
15294         so that they follow user preference as per ‘text-quoting-style’
15295         rather than being hard-coded to quote `like this'.
15296         * lisp/abbrev.el (expand-region-abbrevs):
15297         * lisp/button.el (button-category-symbol, button-put)
15298         (make-text-button):
15299         * lisp/cus-start.el:
15300         * lisp/custom.el (custom-add-dependencies, custom-check-theme)
15301         (custom--sort-vars-1, load-theme):
15302         * lisp/emacs-lisp/byte-run.el (defun, defsubst):
15303         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric)
15304         (cl-generic-generalizers):
15305         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
15306         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
15307         * lisp/emacs-lisp/nadvice.el (advice--make-docstring)
15308         (advice--make, define-advice):
15309         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-put-tag):
15310         * lisp/emacs-lisp/timer.el (timer-event-handler):
15311         * lisp/env.el (setenv):
15312         * lisp/facemenu.el (facemenu-add-new-face)
15313         (facemenu-add-new-color):
15314         * lisp/faces.el (face-documentation, read-face-name)
15315         (face-read-string, read-face-font, face-spec-set-match-display)
15316         (read-color, x-resolve-font-name):
15317         * lisp/files.el (locate-user-emacs-file, find-alternate-file)
15318         (set-auto-mode, hack-local-variables)
15319         (hack-one-local-variable--obsolete)
15320         (dir-locals-set-directory-class, write-file)
15321         (basic-save-buffer, delete-directory, copy-directory)
15322         (recover-session, recover-session-finish, insert-directory)
15323         (file-modes-char-to-who, file-modes-symbolic-to-number)
15324         (move-file-to-trash):
15325         * lisp/font-lock.el (font-lock-fontify-buffer):
15326         * lisp/format.el (format-write-file, format-find-file)
15327         (format-insert-file):
15328         * lisp/frame.el (get-device-terminal, select-frame-by-name):
15329         * lisp/fringe.el (fringe--check-style):
15330         * lisp/help.el (describe-minor-mode-from-indicator):
15331         * lisp/image.el (image-type):
15332         * lisp/international/fontset.el (x-must-resolve-font-name):
15333         * lisp/international/mule-cmds.el (prefer-coding-system)
15334         (select-safe-coding-system-interactively)
15335         (select-safe-coding-system, activate-input-method)
15336         (toggle-input-method, describe-current-input-method):
15337         * lisp/international/mule-conf.el (code-offset):
15338         * lisp/mouse.el (minor-mode-menu-from-indicator):
15339         * lisp/replace.el (query-replace-read-from)
15340         (occur-after-change-function, occur-1):
15341         * lisp/scroll-bar.el (scroll-bar-columns):
15342         * lisp/simple.el (execute-extended-command)
15343         (undo-outer-limit-truncate, compose-mail, set-variable)
15344         (choose-completion-string, define-alternatives):
15345         * lisp/startup.el (site-run-file, tty-handle-args)
15346         (command-line, command-line-1):
15347         * lisp/subr.el (noreturn, define-error, add-to-list)
15348         (read-char-choice):
15349         * lisp/term/common-win.el (x-handle-xrm-switch)
15350         (x-handle-name-switch, x-handle-args):
15351         * lisp/term/x-win.el (x-handle-parent-id, x-handle-smid):
15352         Use curved quotes in diagnostics.
15353         * lisp/international/mule.el (find-auto-coding):
15354         Use " to quote in a diagnostic, to be consistent with the rest of
15355         this file.
15357         Convert lisp/term/x-win.el to UTF-8
15358         * lisp/term/x-win.el: Convert to UTF-8.  This doesn't affect
15359         runtime behavior, and the file is multilingual so compile-time
15360         appearance shouldn't be an issue.
15361         * admin/notes/unicode: Document this.
15363 2015-08-16  Wilson Snyder  <wsnyder@wsnyder.org>
15365         Update verilog-mode.el to 2015-05-14-6232468-vpo-GNU.
15366         * lisp/progmodes/verilog-mode.el: Fix some non-automated indent
15367         issues and comments, bug#943.
15368         (verilog-type-font-keywords): Cycle delay operators like ##1 and
15369         ##[0:$] are now highlighted in their entirety similarly to the #
15370         delay-control operator.  Likewise, the followed-by operators #-#
15371         and #=# are no longer partially highlighed.
15372         (verilog-backward-syntactic-ws-quick)
15373         (verilog-skip-backward-comments): Minor performance improvements
15374         to buffer traversal functions for reduced latency.
15375         (verilog-calc-1, verilog-in-deferred-immediate-final-p): When the
15376         keyword 'final' follows 'assert/assume/cover', then it is part of
15377         a deferred immediate assertion item and should not be treated as a
15378         final construct for indentation.  Reported by Yuri Sugihara.
15379         (verilog-do-indent): Virtual task/function/class definition lines
15380         should not be considered as declarations.  Reported by Enzo Chi.
15381         (verilog-do-indent): Do not falsely indent to '=' of
15382         property/sequence operators on subsequent lines of a multi-line
15383         statement.
15384         (verilog-assignment-operator-re): Fix '!==' operator and add
15385         support for '<->', ':/', '#-#', and '#=#' operators.
15386         (verilog-calculate-indent, verilog-label-be): Enable
15387         case-sensitive regular expression parsing when looking for
15388         keywords.
15389         (verilog-calc-1): Detect 'pure virtual method' declarations which
15390         exist in abstract classes.  Reported by Enzo Chi and Kaushal Modi.
15391         (verilog-backward-ws&directives): When moving back to the start of
15392         a line and the preceeding line ended with an escaped-newline, then
15393         jump up one line.  This properly consumes a multi-line
15394         pre-processor directive.  Reported by Kaushal Modi.
15395         (verilog-dpi-import-export-re, verilog-extended-complete-re)
15396         (verilog-calc-1): Teach verilog-mode to properly indent after a
15397         DPI import/export statement that resides outside of a module.
15398         Reported by Kaushal Modi.
15399         (verilog-extended-complete-re): Update regexp to match both
15400         "DPI-C" and "DPI".  Reported by Kaushal Modi.
15402 2015-08-15  Paul Eggert  <eggert@cs.ucla.edu>
15404         substitute-command-keys a few more doc strings
15405         * lisp/allout.el (outlineify-sticky):
15406         * lisp/files.el (hack-one-local-variable--obsolete):
15407         * lisp/help-fns.el (help-fns--obsolete, describe-variable):
15408         Use substitute-command-keys on some doc strings so that
15409         they don't use hard-coded key bindings or quoting styles.
15411         Fix quoting in Fformat calls
15412         * src/image.c (xbm_read_bitmap_data, xbm_load_image, xbm_load)
15413         (xpm_load, xpm_load_image, pbm_load, png_load_body)
15414         (jpeg_load_body, tiff_load, gif_load, imagemagick_load_image)
15415         (imagemagick_load, svg_load, svg_load_image, gs_load)
15416         (x_kill_gs_process):
15417         * src/lread.c (load_warn_old_style_backquotes):
15418         * src/xfaces.c (load_pixmap):
15419         * src/xselect.c (x_clipboard_manager_error_1):
15420         Quote diagnostics according to user preference when calling
15421         Fformat or its derivatives.
15423 2015-08-15  Glenn Morris  <rgm@gnu.org>
15425         * admin/admin.el (set-version, set-copyright): Remove deleted files.
15427 2015-08-15  Stephen Leake  <stephen_leake@stephe-leake.org>
15429         Allow describe-function helpers to access buffer-local values
15430         This will be used by cedet/mode-local.el `describe-mode-local-override'
15431         on `help-fns-describe-function-functions' in upstream CEDET.
15432         * lisp/help-fns.el (describe-function-orig-buffer): New, let-bound in
15433         `describe-function'.
15434         (describe-function): Bind it, save it on the help xref stack.
15436         Handle pulse-background being nil
15437         * lisp/cedet/pulse.el (pulse-lighten-highlight): Inherit
15438         pulse-background, handle it being nil.
15440 2015-08-15  Paul Eggert  <eggert@cs.ucla.edu>
15442         Fix "\`" confusion in Lisp strings
15443         * admin/authors.el (authors-canonical-author-name):
15444         Fix typo by using "\\`" not "\`" in string RE.
15445         * lisp/obsolete/complete.el (PC-complete-as-file-name):
15446         * lisp/obsolete/vi.el (vi-backward-blank-delimited-word):
15447         * lisp/progmodes/verilog-mode.el (verilog-mode-map):
15448         Use plain "`", not the equivalent-but-confusing "\`", in strings.
15449         * lisp/textmodes/texinfmt.el: Fix comment likewise.
15451 2015-08-15  Dani Moncayo  <dmoncayo@gmail.com>
15453         * nt/zipdist.bat: Remove -- no longer used.
15455 2015-08-15  Jürgen Hötzel  <juergen@archlinux.org>
15457         * lisp/net/tramp-sh.el (tramp-remote-selinux-p): Use "selinuxenabled"
15458         rather than "getenforce".
15459         (tramp-sh-handle-set-file-selinux-context): Do not
15460         cache SELinux context if not all context components are given.
15462 2015-08-15  Eli Zaretskii  <eliz@gnu.org>
15464         Add doc strings to 2 help-mode.el functions
15465         * lisp/help-mode.el (help-mode-setup, help-mode-finish): Add doc
15466         strings.  (Bug#21263)
15468         Remove files used by the old MS-Windows specific build procedure
15469         * admin/unidata/makefile.w32-in:
15470         * doc/emacs/makefile.w32-in:
15471         * doc/lispintro/makefile.w32-in:
15472         * doc/lispref/makefile.w32-in:
15473         * doc/misc/makefile.w32-in:
15474         * leim/makefile.w32-in:
15475         * lib-src/makefile.w32-in:
15476         * lib/makefile.w32-in:
15477         * lisp/makefile.w32-in:
15478         * nt/INSTALL.OLD:
15479         * nt/config.nt:
15480         * nt/emacs-src.tags:
15481         * nt/envadd.bat:
15482         * nt/gmake.defs:
15483         * nt/makefile.w32-in:
15484         * nt/multi-install-info.bat:
15485         * nt/nmake.defs:
15486         * nt/paths.h:
15487         * src/makefile.w32-in: Files deleted.
15488         * nt/configure.bat: Remove everything except the blurb about the
15489         new build procedure.
15490         * make-dist: Remove references to makefile.w32-in in various
15491         directories, and to files in nt/ that were deleted.
15492         * etc/NEWS: Mention the fact that the files were dropped.
15494 2015-08-15  Paul Eggert  <eggert@cs.ucla.edu>
15496         * doc/emacs/mule.texi (Charsets): Give fuller title for ISO-IR.
15497         (Bug#21248)
15499 2015-08-14  Paul Eggert  <eggert@cs.ucla.edu>
15501         Default to inotify instead of gfile
15502         * configure.ac (with_file_notification): Fix typo that
15503         prevented suppression of file notification if HAVE_NS.
15504         (NOTIFY_OBJ): Prefer inotify to gfile if both exist and
15505         with_file_notification is 'yes' (Bug#21241).
15506         * etc/NEWS: Mention this.
15508         Fix broken URLs for ISO-IR
15509         * doc/emacs/mule.texi (Charsets):
15510         * lisp/international/mule-conf.el:
15511         Fix broken URL (Bug#21248).
15513         Low-level diagnostics now use ‘text-quoting-style’
15514         * src/doprnt.c (doprnt):
15515         Format ` and ' as per ‘text-quoting-style’.
15516         * src/xdisp.c (vmessage, message): Mention that the format should
15517         not contain ` or '.
15519         Prefer ‘format’ to ‘substitute-command-keys’
15520         * src/character.h (uLSQM, uRSQM): Move here ...
15521         * src/doc.c (uLSQM, uRSQM): ... from here.
15522         * src/doc.c (Fsubstitute_command_keys):
15523         * src/syntax.c (Finternal_describe_syntax_value):
15524         * lisp/cedet/mode-local.el (mode-local-print-binding)
15525         (mode-local-describe-bindings-2):
15526         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
15527         * lisp/cus-theme.el (describe-theme-1):
15528         * lisp/descr-text.el (describe-text-properties-1, describe-char):
15529         * lisp/emacs-lisp/cl-extra.el (cl--describe-class):
15530         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
15531         * lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor):
15532         * lisp/emacs-lisp/package.el (describe-package-1):
15533         * lisp/faces.el (describe-face):
15534         * lisp/help-fns.el (help-fns--key-bindings)
15535         (help-fns--compiler-macro, help-fns--parent-mode)
15536         (help-fns--obsolete, help-fns--interactive-only)
15537         (describe-function-1, describe-variable):
15538         * lisp/help.el (describe-mode):
15539         Prefer ‘format’ to ‘substitute-command-keys’ when either will do
15540         to implement quoting style.  This generally makes the code simpler.
15542         Extend ‘format’ to translate curved quotes
15543         This is a followup to the recent doc string change, and deals with
15544         diagnostics and the like.  This patch is more conservative than
15545         the doc string change, in that the behavior of ‘format’ changes
15546         only if its first arg contains curved quotes and the user prefers
15547         straight or grave quotes.  (Come to think of it, perhaps we should
15548         be similarly conservative with doc strings too, but that can wait.)
15549         The upside of this conservatism is that existing usage is almost
15550         surely unaffected.  The downside is that we'll eventually have to
15551         change Emacs's format strings to use curved quotes in places where
15552         the user might want curved quotes, but that's a simple and
15553         mechanical translation that I'm willing to do later.  (Bug#21222)
15554         * doc/lispref/help.texi (Keys in Documentation):
15555         Move description of text-quoting-style from here ...
15556         * doc/lispref/strings.texi (Formatting Strings):
15557         ... to here, and describe new behavior of ‘format’.
15558         * etc/NEWS: Describe new behavior.
15559         * lisp/calc/calc-help.el (calc-describe-thing):
15560         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
15561         * lisp/info.el (Info-find-index-name):
15562         Use ‘concat’ rather than ‘format’ to avoid misinterpretation
15563         of recently-added curved quotes.
15564         * src/doc.c (uLSQM0, uLSQM1, uLSQM2, uRSQM0, uRSQM1, uRSQM2):
15565         Move from here ...
15566         * src/lisp.h: ... to here.
15567         * src/doc.c (text_quoting_style): New function.
15568         (Fsubstitute_command_keys): Use it.
15569         * src/editfns.c (Fformat): Implement new behavior.
15570         * src/lisp.h (enum text_quoting_style): New enum.
15572 2015-08-14  Stefan Monnier  <monnier@iro.umontreal.ca>
15574         * src/keyboard.c: Use false/true instead of 0/1 for booleans.
15575         * src/keyboard.h (struct kboard): Mark kbd_queue_has_data as boolean.
15577 2015-08-14  Michael Albinus  <michael.albinus@gmx.de>
15579         * lisp/net/tramp-sh.el (tramp-sh-handle-file-acl): Do not redirect
15580         stderr to /dev/null, this is done in `tramp-send-command-and-check'.
15582 2015-08-14  Jürgen Hötzel  <juergen@archlinux.org>
15584         Flush file properties in Tramp
15585         * lisp/net/tramp-sh.el (tramp-sh-handle-set-file-modes)
15586         (tramp-sh-handle-set-file-times):
15587         * lisp/net/tramp-adb.el (tramp-adb-handle-set-file-modes)
15588         (tramp-adb-handle-set-file-times): Flush the file properties of
15589         the directory.
15591 2015-08-14  Ronnie Schnell  <ronnie@driver-aces.com>
15593         * doc/emacs/misc.text (Amusements): Fixed typo.
15595 2015-08-14  Eli Zaretskii  <eliz@gnu.org>
15597         Don't miss warnings about removing string text properties while dumping
15598         * src/alloc.c (purecopy): Warn about removing a string's text
15599         properties even when the same string was already pure-copied
15600         earlier.
15601         * lisp/progmodes/elisp-mode.el (elisp--xref-format)
15602         (elisp--xref-format-extra): Fix the commentary.
15604 2015-08-13  Stefan Monnier  <monnier@iro.umontreal.ca>
15606         * lisp/progmodes/sh-script.el (sh-mode): Handle .cshrc (bug#21049).
15608 2015-08-13  Magnus Henoch  <magnus.henoch@gmail.com>
15610         * lisp/progmodes/compile.el: Use lexical-binding.
15611         (compilation-move-to-column): Assume 8-wide TABs (bug#21038).
15613 2015-08-13  Stefan Monnier  <monnier@iro.umontreal.ca>
15615         (uniquify-ask-about-buffer-names-p): Remove, unused (bug#21037)
15616         * lisp/uniquify.el: Remove redundant `:group's.
15618 2015-08-13  Jürgen Hötzel  <juergen@archlinux.org>
15620         * lisp/net/tramp-adb.el
15621         (tramp-adb-handle-directory-files-and-attributes): Make a copy of
15622         result to prevent modification of the tramp-cache by side effects.
15623         Use the correct cache key.
15625 2015-08-13  Paul Eggert  <eggert@cs.ucla.edu>
15627         Make add_to_log varargs
15628         * src/alloc.c (run_finalizer_handler):
15629         * src/charset.c (load_charset_map_from_vector):
15630         * src/nsimage.m (ns_load_image):
15631         * src/xfaces.c (load_pixmap, load_color2):
15632         Simplify, now that add_to_log has a variable number of args.
15633         * src/image.c (image_error): Take a variable number of args.
15634         Callers simplified.
15635         * src/lisp.h (add_to_log, vadd_to_log): Adjust to new APIs.
15636         * src/xdisp.c (format_nargs, vadd_to_log): New functions.
15637         (add_to_log): Make varargs, and reimplement in terms of vadd_to_log.
15638         * src/xfaces.c (merge_face_ref): Fix typo that omitted color name.
15640         Optional args for holiday-greek-orthodox-easter
15641         * etc/NEWS: Document this.
15642         * lisp/calendar/holidays.el (holiday-greek-orthodox-easter):
15643         Add optional args N and STRING, mimicking the API and code of
15644         ‘holiday-easter-etc’.  From suggestion by Foivos S. Zakkak (Bug#21256).
15646 2015-08-13  Stephen Leake  <stephen_leake@stephe-leake.org>
15648         xref-find-definitions: Exclude more generic function items.
15649         * lisp/emacs-lisp/cl-generic.el (cl--generic-search-method):
15650         Add doc string.
15651         (cl--generic-find-defgeneric-regexp): New.
15652         (find-function-regexp-alist): Add it.
15653         * lisp/emacs-lisp/find-func.el (find-feature-regexp): Move here from
15654         elisp-mode.el, change to search for ";;; Code:"
15655         (find-alias-regexp): Move here from elisp-mode.el, cleaned up.
15656         (find-function-regexp-alist): Add them.
15657         * lisp/progmodes/elisp-mode.el:
15658         (elisp--xref-format, elisp--xref-format-extra): Change back to
15659         defvar due to bug#21237.
15660         (elisp--xref-find-definitions): Exclude co-located default methods for
15661         generic functions.  Also exclude implicitly declared defgeneric.
15662         (elisp--xref-find-definitions): Handle C source properly.  Exclude minor
15663         mode variables defined by 'define-minor-mode'.
15664         * test/automated/elisp-mode-tests.el: Declare generic functions, add
15665         tests for them.
15666         (xref-elisp-test-run): Fix bug.
15667         (emacs-test-dir): Improve initial value.
15668         (find-defs-defun-defvar-el): Don't expect defvar.
15669         (find-defs-feature-el): Match change to find-feature-regexp.
15671 2015-08-13  Eli Zaretskii  <eliz@gnu.org>
15673         Improve warning about purecopy of strings with properties
15674         * src/alloc.c (purecopy): Show the offending string with the
15675         warning about removing its text properties.
15677 2015-08-12  Alan Mackenzie  <acm@muc.de>
15679         Introduce new macros to cover Emacs's new names in cl-lib.el
15680         This also eliminates `mapcan' warnings in XEmacs.
15681         * lisp/progmodes/cc-defs.el (c--mapcan-status): New variable to
15682         characterise [X]Emacs versions.
15683         (top-level): Require either 'cl or 'cl-lib, depending on
15684         c--mapcan-status.
15685         Change this back to cc-external-require from an eval-when-compile
15686         require.
15687         (c--mapcan, c--set-difference, c--intersection, c--macroexpand-all)
15688         (c--delete-duplicates): New macros which expand into either old or new
15689         names.
15690         (c-make-keywords-re, c-lang-defconst, c-lang-const): Use the new macros
15691         rather than the old names.
15692         * lisp/progmodes/cc-engine.el (c-declare-lang-variables): Use c--mapcan
15693         rather than mapcan.
15694         * lisp/progmodes/cc-fonts.el (c-compose-keywords-list): Use c--mapcan.
15695         * lisp/progmodes/cc-langs.el (top-level): Require either 'cl or 'cl-lib,
15696         depending on c--mapcan-status.
15697         (c-filter-ops, c-all-op-syntax-tokens, c-assignment-op-regexp)
15698         (c-type-start-kwds, c-prefix-spec-kwds, c-specifier-key)
15699         (c-not-decl-init-keywords, c-not-primitive-type-keywords)
15700         (c-paren-any-kwds, c-<>-sexp-kwds, c-block-stmt-kwds, c-expr-kwds)
15701         (c-decl-block-key, c-keywords, c-keywords-obarray)
15702         (c-regular-keywords-regexp, c-primary-expr-regexp)
15703         (c-primary-expr-regexp, c-block-prefix-disallowed-chars)
15704         (c-known-type-key, c-nonlabel-token-key)
15705         (c-make-init-lang-vars-fun): Use the new macros rather than the old
15706         names.
15708 2015-08-12  Oleh Krehel  <ohwoeowho@gmail.com>
15710         loadhist.el (read-feature): Conform to completing-read
15711         * lisp/loadhist.el (read-feature): According to `completing-read'
15712         documentation, if collection is a list, then it must be a list of
15713         strings, not a list of symbols like before.
15715 2015-08-12  David Kastrup  <dak@gnu.org>
15717         Deal gracefully with up-events (Bug#19746)
15718         * src/keyboard.c (apply_modifiers_uncached, parse_solitary_modifier)
15719         (parse_modifiers_uncached): React gracefully to "up-" modifiers:
15720         those may easily be injected by user-level Lisp code.
15721         (read_key_sequence): Discard unbound up-events like unbound
15722         down-events: they are even more likely only relevant for special
15723         purposes.
15724         While Emacs will not produce up-events on its own currently (those are
15725         converted to drag or click events before being converted to
15726         Lisp-readable structures), the input queue can be made to contain them
15727         by synthesizing events to `unread-command-events'.  Emacs should deal
15728         consistently with such events.
15730 2015-08-12  Eli Zaretskii  <eliz@gnu.org>
15732         Fix display of thin lines whose newline has line-height property of t
15733         * src/xdisp.c (append_space_for_newline): Don't try to fix ascent
15734         and descent values of non-empty glyph rows, since they could have
15735         forced low values deliberately.  (Bug#21243)
15737 2015-08-12  Richard Stallman  <rms@gnu.org>
15739         Offer to combine multiple To or CC fields.
15740         * lisp/mail/sendmail.el (mail-combine-fields): New function.
15741         (mail-send): Call 'mail-combine-fields'.
15743         Don't decrypt encrypted files.
15744         * lisp/mail/mail-utils.el (mail-file-babyl-p): Bind epa-inhibit to t.
15746         Handle encrypted mbox files.
15747         * lisp/mail/rmailout.el (rmail-output-as-mbox): Decrypt and reencrypt
15748         the mbox file if necessary.
15750         Re-enable mime processing after decryption.  Add 'decrypt' keyword.
15751         * lisp/mail/rmail.el (rmail-epa-decrypt-1): New subroutine.
15752         (rmail-epa-decrypt): rmail-epa-decrypt-1 broken out.
15753         In a mime message, reenable Mime and show the parts that
15754         were shown before.
15755         Add keyword "decrypt" if anything decrypted.
15757         epa-inhibit inhibits auto-recognition of .gpg files
15758         * lisp/epa-file.el (epa-inhibit): New variable.
15759         (epa-file-handler): Check epa-inhibit.
15761 2015-08-12  Artur Malabarba  <bruce.connor.am@gmail.com>
15763         * lisp/emacs-lisp/lisp-mnt.el (lm-header): Add save-excursion.
15765 2015-08-11  Fabián Ezequiel Gallina  <fgallina@gnu.org>
15767         Respect python.el imenu when semantic-mode is off
15768         Fixes bug#21220
15769         * lisp/cedet/semantic/wisent/python.el: Do not force
15770         wisent-python-default-setup on python-mode-hook.
15772 2015-08-11  Paul Eggert  <eggert@cs.ucla.edu>
15774         Give names to Unicode code points in C code
15775         * src/character.h (NO_BREAK_SPACE, SOFT_HYPHEN)
15776         (ZERO_WIDTH_NON_JOINER, ZERO_WIDTH_JOINER, HYPHEN)
15777         (NON_BREAKING_HYPHEN, LEFT_SINGLE_QUOTATION_MARK)
15778         (RIGHT_SINGLE_QUOTATION_MARK, PARAGRAPH_SEPARATOR)
15779         (LEFT_POINTING_ANGLE_BRACKET, RIGHT_POINTING_ANGLE_BRACKET)
15780         (LEFT_ANGLE_BRACKET, RIGHT_ANGLE_BRACKET)
15781         (OBJECT_REPLACEMENT_CHARACTER):
15782         New named constants for Unicode code points.
15783         * src/bidi.c (bidi_fetch_char, CANONICAL_EQU):
15784         * src/composite.c (char_composable_p):
15785         * src/lread.c (readevalloop, read1):
15786         * src/xdisp.c (get_next_display_element):
15787         Use them.
15788         * src/doc.c (LEFT_SINGLE_QUOTATION_POINT):
15789         Remove; now in character.h.
15791 2015-08-11  Stephen Leake  <stephen_leake@stephe-leake.org>
15793         elisp--xref-find-definitions handle cl-defstuct default constructor
15794         * lisp/progmodes/elisp-mode.el (elisp-xref-find): Add FIXME.
15795         (elisp--xref-format-extra): Rename from elisp--xref-format-cl-defmethod.
15796         (elisp--xref-find-definitions): Handle cl-defstuct default constructor.
15797         * test/automated/elisp-mode-tests.el (xref-elisp-test-run): Split out
15798         from xref-elisp-test for ease of debugging.
15799         (xref-elisp-deftest): Rename from xref-elisp-test.
15800         (find-defs-constructor): New test.
15801         (find-defs-defgeneric-el): Match batch test config.
15802         (compile): Required for find-defs compilation-minor-mode test.
15803         (find-defs-defvar-el): Match code change.
15804         (find-defs-face-el): Match code change.
15805         * lisp/progmodes/xref.el (xref-find-function, xref-find-definitions):
15806         Improve doc string.
15808 2015-08-11  Stefan Monnier  <monnier@iro.umontreal.ca>
15810         * lisp/replace.el (perform-replace): Document `replacements'.
15811         (perform-replace): Move the description of the format of `replacements'
15812         from the body's comment to the doc string.
15814 2015-08-11  Jürgen Hötzel  <juergen@archlinux.org>
15816         * lisp/net/tramp-adb.el (tramp-adb-prompt): Match leading escape
15817         sequence.  Recent adb version send initial escape sequences, even
15818         when terminal type is set to TERM=dumb.
15820 2015-08-10  Stephen Leake  <stephen_leake@stephe-leake.org>
15822         Rewrite elisp--xref-find-definitions to handle many more cases; add tests
15823         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
15824         Function deleted.
15825         (elisp--xref-format-cl-defmethod): New defconst.
15826         (find-feature-regexp, find-alias-regexp): New defcustoms.
15827         (elisp--xref-make-xref): New function.
15828         (elisp--xref-find-definitions): Rewrite using the above, handle many
15829         more cases.  Always output all available definitions.
15830         (xref-location-marker): No need for special cases.
15831         * test/automated/elisp-mode-tests.el: Add more tests of
15832         elisp--xref-find-definitions, improve current tests.
15834 2015-08-10  Eli Zaretskii  <eliz@gnu.org>
15836         Fix recording of events pushed onto unread-command-events
15837         * src/keyboard.c (read_char): Make sure events read from
15838         unread-command-events and unread-post-input-method-events are
15839         always recorded by record_char.  Reported by David Kastrup
15840         <dak@gnu.org>, see
15841         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00193.html.
15843 2015-08-10  Samer Masterson  <samer@samertm.com>
15845         Set file buffer as current for "--file"
15846         * lisp/startup.el (command-line-1): Set file buffer as current before
15847         it is displayed so it can be used with options like "--eval".
15848         (Bug#21095)
15850 2015-08-10  Eli Zaretskii  <eliz@gnu.org>
15852         Avoid setting LC_NUMERIC on MS-Windows to anything but "C"
15853         * src/emacs.c (synchronize_locale) [WINDOWSNT]: Call fixup_locale
15854         after setting LC_ALL to the desired locale, to avoid affecting how
15855         numbers are read and printed.  (Bug#21223)
15857 2015-08-10  Alan Mackenzie  <acm@muc.de>
15859         Fix "Invalid search bound (wrong side of point)" in fontification
15860         * lisp/progmodes/cc-fonts.el (c-font-lock-declarators): After skipping
15861         an initialization expression, check point is not beyond the
15862         fontification limit.
15864 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
15866         Fix DPI calculation when Xft/DPI is default
15867         * src/xsettings.c (parse_settings): Don't use Xft/DPI default
15868         value of -1, which evaluates to 2**32 - 1 (Bug#21152).
15869         Remove unnecessary cast while we're in the neighborhood.
15871 2015-08-09  Dmitry Gutov  <dgutov@yandex.ru>
15873         Add project-vc-search-path and project-vc-ignores
15874         * lisp/progmodes/project.el (project-vc): New group.
15875         (project-vc-search-path, project-vc-ignores): New variables.
15876         (project--value-in-dir): Utility function.
15877         (project-search-path, project-ignores): Use them.
15878         * lisp/progmodes/xref.el (xref--rgrep-command): Only replace `./'
15879         at bos.  Don't add extra `/'.  Don't prepend with `*' if replaced.
15881 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
15883         Fix some minor quoting issues with grave accent
15884         * src/dispnew.c (add_window_display_history) [GLYPH_DEBUG]:
15885         Remove redundant quotes.
15886         * src/doc.c (uLSQM, uRSQM): New macros.
15887         * src/doc.c (Fsubstitute_command_keys):
15888         * src/syntax.c (Finternal_describe_syntax_value): Follow the user
15889         preference for quotes rather than hardcoding the ‘grave’ style.
15890         * src/regex.c (PUSH_FAILURE_POINT, POP_FAILURE_POINT)
15891         (re_match_2_internal) [DEBUG]: In debugging output, quote C
15892         strings with "...", not `...'.
15894         ChangeLog.2 ignores remote-tracking merges
15895         * build-aux/gitlog-to-emacslog: Ignore commit logs matching
15896         "Merge remote-tracking branch '.*'" too.  See Eli Zaretskii in:
15897         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00384.html
15899 2015-08-09  Nicolas Richard  <youngfrog@members.fsf.org>
15901         Use kpsewhich in ffap-latex-mode, if available
15902         * lisp/ffap.el (ffap-latex-guess-rules): New variable.
15903         (ffap-latex-mode): Use kpsewhich if available.
15905         ffap: disallow braces in filenames for tex modes
15906         * lisp/ffap.el (ffap-string-at-point-mode-alist): Don't allow
15907         braces in tex-related modes.
15909         Remove useless backslashes from ffap-string-at-point-mode-alist
15910         * lisp/ffap.el (ffap-string-at-point-mode-alist): Remove useless and
15911         misleading backslashes from default value.
15913         Augment docstring of ffap-string-at-point-mode-alist
15914         * lisp/ffap.el (ffap-string-at-point-mode-alist): Describe how BEG
15915         and END are handled.
15917 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
15919         * lisp/org/org-src.el (org-edit-src-code)
15920         (org-edit-fixed-width-region):
15921         * lisp/simple.el (completion-setup-function):
15922         Remove calls to substitute-command-keys that always just return
15923         their argument.
15925 2015-08-09  Daiki Ueno  <ueno@gnu.org>
15927         * lisp/epa.el (epa-exit-buffer-function): Set to `quit-window'.
15928         (Bug#21210)
15930 2015-08-09  Ivan Kanis  <ivan@kanis.fr>
15932         Fix link to source code in help window
15933         * lisp/help-fns.el (find-lisp-object-file-name): Remove code that
15934         will never work due to Glenn Morris change a6d63d9 on Apr 20 2013
15935         'No longer include timestamp in header of .elc files'.  Add code
15936         that will return .el source file in load-path.
15938 2015-08-09  Artur Malabarba  <bruce.connor.am@gmail.com>
15940         * lisp/isearch.el (isearch-search-fun-default): (Bug#21164)
15941         Respect `isearch-lax-whitespace' when searching through
15942         `isearch-word'.
15944 2015-08-08  Stefan Monnier  <monnier@iro.umontreal.ca>
15946         * test/automated/ert-tests.el (ert-test-deftest): Add FIXME.
15948         * org.el: Fix up some lexical scoping warnings, and use dolist
15949         * lisp/org/org.el (org-set-regexps-and-options-for-tags, org-goto-map)
15950         (org-set-regexps-and-options, org-assign-fast-keys)
15951         (org-contextualize-keys, org-contextualize-validate-key)
15952         (org-notes-order-reversed-p, org-local-logging, org-map-entries)
15953         (org-find-olp, org-find-exact-heading-in-directory)
15954         (org-cycle-agenda-files, org-release-buffers, org-fill-template)
15955         (org-agenda-prepare-buffers, org-occur-in-agenda-files)
15956         (org-replace-escapes): Use dolist.
15957         (org-mode): Optimize away XEmacs-only code.
15958         (org-refile-get-targets): Remove unused var `f'.
15959         (org-fast-todo-selection): Remove unused var `e'.
15960         (org-make-tags-matcher): Use dolist.  Remove unused var `term'.
15961         (org-fast-tag-selection): Use dolist.  Remove unused var `e'.
15962         (org-format-latex): Use dolist.  Remove unused var `e'.
15963         (org-toggle-heading): Access vars lexically rather than dynamically.
15964         (org-backward-sentence, org-forward-sentence, org-meta-return)
15965         (org-kill-line): Mark arg as unused.
15966         (org-submit-bug-report): Silence compiler warning.
15967         (org-occur-in-agenda-files): Don't use add-to-list on local vars.
15968         (org-get-cursor-date): Remove unused var `tm'.
15969         (org-comment-or-uncomment-region): Use standard name `_'.
15970         (reftex-docstruct-symbol, reftex-cite-format): Declare to
15971         silence byte-compiler.
15972         (org-reftex-citation): Add `org--' prefix to dynamically scoped
15973         `rds' var.
15975 2015-08-08  Paul Eggert  <eggert@cs.ucla.edu>
15977         Electric quote if coding is undecided or no conv
15978         * lisp/electric.el (electric--insertable-p): Also say that a
15979         string is insertable if the buffer file coding system is undecided
15980         or uses no conversion, as curved quotes will work in either case.
15982         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING): Simplify configuration.
15984 2015-08-08  Eli Zaretskii  <eliz@gnu.org>
15986         Fix overlay string display regressions introduced in Emacs 24.5
15987         * src/xdisp.c (pop_it): Reset the flag to ignore overlays at this
15988         buffer position, if we move the iterator to a new position as
15989         result of jumping over text covered by a "replacing" display
15990         property.
15991         * test/redisplay-testsuite.el (test-redisplay-4): Add 2 new tests.
15993         Support recovery from C stack overflow on MS-Windows
15994         * src/w32fns.c (w32_reset_stack_overflow_guard)
15995         (stack_overflow_handler): New functions for handling C stack
15996         overflow exceptions.
15997         (my_exception_handler): Handle EXCEPTION_STACK_OVERFLOW exceptions
15998         specially, and zero out except_addr if we do.
15999         (globals_of_w32fns): Initialize dwMainThreadId in non-interactive
16000         mode.
16001         * src/sysdep.c [HAVE_STACK_OVERFLOW_HANDLING]: Add !WINDOWSNT to
16002         the condition, as HAVE_STACK_OVERFLOW_HANDLING is now defined for
16003         the MinGW build, but the code guarded by that is for Posix hosts.
16004         * src/keyboard.c (command_loop) [WINDOWSNT]:
16005         Call w32_reset_stack_overflow_guard.
16006         * nt/inc/ms-w32.h (sigjmp_buf): New typedef.
16007         (sigsetjmp): New macro.
16008         (w32_reset_stack_overflow_guard): Declare the prototype.
16009         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING): Set to 1 for MinGW.
16011 2015-08-07  Phillip Lord  <phillip.lord@newcastle.ac.uk>
16013         Improve error signalling for seq-subseq
16014         * lisp/seq.el (seq-subseq): The existing behavior is to error
16015         when indexes are too large, but to silently ignore numbers which
16016         are too negative for lists.  String and vector handling errors in
16017         both cases.  This has been regularized.  Error signaling behavior
16018         has been explicitly added to the doc string.
16020         * lisp/cl-extra.el (cl-subseq): Defers to (seq-subseq) and is
16021         therefore also impacted by this change.  Update the doc string
16022         to reflect this.
16024         * test/automated/seq-tests.el (test-seq-subseq): Tests have been
16025         added for these exceptional cases, as well as one non exceptional
16026         base case.
16028 2015-08-07  Jürgen Hötzel  <juergen@archlinux.org>
16030         Improve error checking in tramp-adb.el
16031         * lisp/net/tramp-adb.el (tramp-adb-ls-output-name-less-p):
16032         Improve error checking.  "ls -l" on Android in Enforcing mode can
16033         print "lstat './FILENAME failed: Permission denied".
16035 2015-08-07  Stefan Monnier  <monnier@iro.umontreal.ca>
16037         * lisp/emacs-lisp/cl-generic.el (cl--generic-struct-tag): Don't burp on
16038         non-struct vectors.
16040 2015-08-07  Stephen Leake  <stephen_leake@stephe-leake.org>
16042         Fix typo in lisp/window.el, more `display-buffer-use-some-frame'
16043         * lisp/window.el: Fix typo that broke build.
16044         (display-buffer--action-function-custom-type):
16045         Add `display-buffer-use-some-frame'.
16046         (display-buffer): Add `display-buffer-use-some-frame' to doc string.
16048         Add support for 'inhibit-same-window in 'display-buffer-use-some-frame'
16049         * lisp/window.el (display-buffer-use-some-frame): Add support for
16050         'inhibit-same-window in alist.
16051         * doc/windows.texi (display-buffer-use-some-frame): Doc support for
16052         'inhibit-same-window in alist.
16054 2015-08-07  Eli Zaretskii  <eliz@gnu.org>
16056         Avoid infinite loop in display of invisible text in strings
16057         * src/xdisp.c (handle_invisible_prop): If the next change of
16058         invisibility spec does not mean the beginning of a visible text,
16059         update the string position from which to start the search for the
16060         next invisibility change.  This avoids an infinite loop when we
16061         have more than one invisibility spec that are made inactive by
16062         buffer-invisibility-spec.  Simplify code.  (Bug#21200)
16063         * test/redisplay-testsuite.el (test-redisplay-4): Add a test case
16064         for the situation that caused bug #21200.
16066 2015-08-06  Artur Malabarba  <bruce.connor.am@gmail.com>
16068         * lisp/emacs-lisp/package.el: Simplify describe-package-1
16069         (package-help-section-name-face): New face.
16070         (package--print-help-section): New function.
16071         (describe-package-1): Refactor section printing.
16072         (package-make-button): Use face instead of font-lock-face, which
16073         doesn't work on buttons.
16075         * lisp/emacs-lisp/package.el: Define custom faces
16076         (package-name-face, package-description-face)
16077         (package-status-built-in-face, package-status-external-face)
16078         (package-status-available-face, package-status-new-face)
16079         (package-status-held-face, package-status-disabled-face)
16080         (package-status-installed-face, package-status-dependency-face)
16081         (package-status-unsigned-face, package-status-incompat-face)
16082         (package-status-avail-obso-face): New faces.
16083         (package-menu--print-info-simple): Use them.
16085 2015-08-05  Paul Eggert  <eggert@cs.ucla.edu>
16087         Fix some confusion with ‘format’
16088         * lisp/allout-widgets.el (allout-widgets-before-change-handler)
16089         (allout-graphics-modification-handler):
16090         Protect arbitrary string in a format context with "%s" format.
16091         * lisp/avoid.el:
16092         * lisp/cedet/semantic/bovine/scm.el: Fix comment.
16093         * lisp/calendar/icalendar.el (icalendar--convert-sexp-to-ical):
16094         * lisp/erc/erc-button.el (erc-button-beats-to-time):
16095         * lisp/gnus/message.el (message-send-form-letter):
16096         * lisp/org/ob-core.el (org-babel-check-evaluate)
16097         (org-babel-confirm-evaluate):
16098         * lisp/org/ob-fortran.el (org-babel-fortran-var-to-fortran):
16099         * lisp/org/ox-latex.el (org-latex-compile):
16100         * lisp/org/ox-man.el (org-man-compile):
16101         * lisp/org/ox-odt.el (org-odt-template):
16102         * lisp/org/ox-texinfo.el (org-texinfo-compile):
16103         * lisp/progmodes/prolog.el (prolog-help-info)
16104         (prolog-view-predspec):
16105         * lisp/progmodes/ruby-mode.el (ruby-parse-partial):
16106         * lisp/progmodes/verilog-mode.el (verilog-showscopes):
16107         * lisp/textmodes/rst.el (rst-replace-lines):
16108         Change (message (format ...)) to (message ...), and likewise
16109         for ‘error’.  This lessens the probability of confusion when the
16110         output of ‘format’ contains ‘%’.
16112 2015-08-05  Artur Malabarba  <bruce.connor.am@gmail.com>
16114         * lisp/replace.el (replace-character-fold): Default to nil.
16116         * lisp/character-fold.el: Fix lax whitespace.
16117         (character-fold-table): Don't make space match other whitespace chars.
16118         (character-fold-to-regexp): Simplify lax behavior.
16120 2015-08-05  Dmitry Gutov  <dgutov@yandex.ru>
16122         Preserve window point in xref-find-definitions-other-window
16123         Fix the problem reported by Ingo Logmar in
16124         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00152.html
16125         * lisp/progmodes/xref.el (xref--goto-char): Extract from
16126         xref--goto-location.
16127         (xref--pop-to-location): Use it.  Replace xref--goto-location with
16128         a direct xref-location-marker call.
16129         (xref--show-location): Likewise.
16130         (xref--display-position): Use xref--goto-char.
16132         * lisp/progmodes/project.el: Add a paragraph to the front matter.
16134 2015-08-04  David Kastrup  <dak@gnu.org>
16136         * lisp/vc/emerge.el (emerge-show-file-name):
16137         * lisp/progmodes/vhdl-mode.el (vhdl-electric-dash)
16138         (vhdl-comment-insert, vhdl-hooked-abbrev):
16139         * lisp/progmodes/octave.el (inferior-octave-dynamic-list-input-ring):
16140         * lisp/progmodes/fortran.el (fortran-window-create-momentarily):
16141         * lisp/progmodes/ebrowse.el (ebrowse-hack-electric-buffer-menu):
16142         * lisp/progmodes/cperl-mode.el (cperl-putback-char):
16143         * lisp/obsolete/vip.el (vip-escape-to-emacs)
16144         (vip-prefix-arg-value, vip-prefix-arg-com):
16145         * lisp/obsolete/terminal.el (te-escape-extended-command-unread):
16146         * lisp/leim/quail/tibetan.el (quail-tibetan-update-translation)
16147         (quail-tibkey-update-translation):
16148         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
16149         * lisp/leim/quail/lao.el (quail-lao-update-translation):
16150         * lisp/leim/quail/japanese.el (quail-japanese-update-translation)
16151         (quail-japanese-self-insert-and-switch-to-alpha):
16152         * lisp/leim/quail/hangul.el (hangul2-input-method)
16153         (hangul3-input-method, hangul390-input-method):
16154         * lisp/language/hanja-util.el (hangul-to-hanja-char):
16155         * lisp/international/robin.el (robin-input-method):
16156         * lisp/international/quail.el (quail-start-translation)
16157         (quail-start-conversion):
16158         * lisp/gnus/gnus-art.el (gnus-article-describe-key)
16159         (gnus-article-describe-key-briefly):
16160         * lisp/eshell/em-hist.el (eshell-list-history):
16161         * lisp/term.el (term-dynamic-list-input-ring)
16162         (term-dynamic-list-completions):
16163         * lisp/subr.el (momentary-string-display):
16164         * lisp/simple.el (read-quoted-char):
16165         * lisp/pcomplete.el (pcomplete-show-completions):
16166         * lisp/kmacro.el (kmacro-repeat-on-last-key):
16167         * lisp/info.el (Info-summary):
16168         * lisp/ehelp.el (electric-help-command-loop):
16169         * lisp/ebuff-menu.el (electric-buffer-list)
16170         (Electric-buffer-menu-exit):
16171         * lisp/double.el (double-translate-key):
16172         * lisp/comint.el (comint-dynamic-list-input-ring)
16173         (comint-dynamic-list-completions): Do not overwrite preexisting
16174         contents of `unread-command-events' when putting new events into it.
16176 2015-08-04  Daniel Colascione  <dancol@dancol.org>
16178         Improve ansi-color filtering of unrecognized escape sequences
16179         * lisp/ansi-color.el (ansi-color-drop-regexp): Recognize mode-setting
16180         escape sequences.
16181         (ansi-color-filter-apply, ansi-color-apply): Filter out
16182         unrecognized escape sequences.
16184 2015-08-04  Artur Malabarba  <bruce.connor.am@gmail.com>
16186         * lisp/emacs-lisp/package.el (package-menu-mode-map): Convert menu
16187         definitions to `easy-menu-define', improve a couple to account for
16188         async, and add a couple of new commands.
16190 2015-08-03  Jürgen Hötzel  <juergen@archlinux.org>
16192         * lisp/net/tramp-cache.el (tramp-set-file-property): Fix code typo.
16194 2015-08-03  Ingo Lohmar  <i.lohmar@gmail.com>
16196         Add new 'calendar-weekend-days' option
16197         Make the days receiving the 'calendar-weekend-header' face freely
16198         customizable, as they differ by region/culture.
16199         * doc/emacs/calendar.texi (Move to Beginning or End): Document the
16200         new variable.
16201         * lisp/calendar/calendar.el (calendar-generate-month): New variable
16202         calendar-weekend-days to customize day header fontification.
16204 2015-08-03  Paul Eggert  <eggert@cs.ucla.edu>
16206         Redo text-quoting-style variable
16207         Rename help-quote-translation to text-quoting-style,
16208         and use symbols rather than characters as values.
16209         This follows suggestions along these lines by Alan Mackenzie in:
16210         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00343.html
16211         and by Drew Adams in:
16212         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00048.html
16213         * doc/lispref/help.texi (Keys in Documentation)
16214         * etc/NEWS:
16215         * lisp/cus-start.el (standard):
16216         * src/doc.c (Fsubstitute_command_keys, syms_of_doc):
16217         Document and/or implement the new behavior instead of the old.
16218         (syms_of_doc): New symbols 'grave' and 'straight'.
16220 2015-08-03  Nikolaus Rath  <Nikolaus@rath.org>
16222         nnimap.el: Use IMAP MOVE extension if available
16223         * lisp/gnus/nnimap.el (nnimap-request-move-article)
16224         (nnimap-process-expiry-targets, nnimap-split-incoming-mail):
16225         Use MOVE extension if available.
16227         nnimap.el: Explicitly ask for server capabilities
16228         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Don't assume full
16229         capabilities will be returned in the login-result.
16231 2015-08-02  Paul Eggert  <eggert@cs.ucla.edu>
16233         Treat help strings like other doc strings
16234         * doc/lispref/text.texi (Special Properties), etc/NEWS: Document this.
16235         * lisp/epa.el (epa--select-keys): Remove no-longer-needed calls to
16236         substitute-command-keys.
16237         * src/keyboard.c (show_help_echo, parse_menu_item): Call
16238         substitute-command-keys on the help string before displaying it.
16240         Also mention "curly quotes"
16241         See Drew Adams's email in:
16242         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00040.html
16243         * doc/lispref/help.texi (Keys in Documentation):
16244         Add index entry "curly quotes".
16245         * etc/NEWS: Use the phrase "curly quotes" too.
16247         ede-proj-target-makefile docstring tweaks
16248         * lisp/cedet/ede/proj.el (ede-proj-target-makefile):
16249         Consistently use "all:" to describe the all: target,
16250         replacing three different and confusingly-quoted usages.
16252 2015-08-02  Evgeny Fraimovitch  <johnlen7@gmail.com>  (tiny change)
16254         Don't abort emacsclientw when -a was specified
16255         * lib-src/emacsclient.c (set_tcp_socket) [WINDOWSNT]: Don't error
16256         out if we are in emacsclientw and -a was specified.
16258 2015-08-02  Eli Zaretskii  <eliz@gnu.org>
16260         Fix handling of 1st keystroke on MS-Windows
16261         * src/w32fns.c (globals_of_w32fns): Initialize after_deadkey to -1.
16262         This is needed to correctly handle the session's first keystroke,
16263         if it has any modifiers.  (Bug#19994)
16265 2015-08-02  Paul Eggert  <eggert@cs.ucla.edu>
16267         Substitute some customization etc. doc strings
16268         These changes apply substitute-command-keys to some
16269         doc strings that were going through untranslated
16270         when creating customization or other widgets.
16271         * lisp/cus-edit.el (custom-group-value-create):
16272         * lisp/wid-edit.el (widget-default-create):
16273         (widget-push-button-value-create):
16274         Treat the widget tag as a doc string.
16275         * lisp/emacs-lisp/cl-extra.el (cl--describe-class-slot):
16276         Treat the :documentation value as a doc string.
16277         * lisp/wid-edit.el (widget-choose):
16278         Treat the choice names as doc strings.
16279         (widget-default-create): Treat the :doc value as a doc string.
16280         (widget-toggle-value-create): Treat the :on and :off values
16281         as doc strings.
16282         (widget-documentation-string-value-create):
16283         Substitute the doc string.
16285 2015-08-01  Dmitry Gutov  <dgutov@yandex.ru>
16287         Add a second argument to project-ignores
16288         * lisp/progmodes/project.el (project-ignores): Add a second
16289         argument DIR.
16290         * lisp/progmodes/project.el (project-ignores): Only include the VC
16291         ignores if DIR is the VC root.
16292         * lisp/progmodes/xref.el (xref-find-regexp): Update accordingly.
16294 2015-08-01  Eli Zaretskii  <eliz@gnu.org>
16296         Prevent incorrect display when 'line-spacing' variable is set
16297         * src/xdisp.c (try_window_id): Give up this optimization if the
16298         buffer has its 'line-spacing' variable set non-nil.
16300 2015-08-01  Dmitry Gutov  <dgutov@yandex.ru>
16302         Don't pass NOVISIT to find-file
16303         * lisp/progmodes/etags.el (next-file):
16304         Don't pass NOVISIT to find-file (bug#21175).
16306         Ignore buffer restriction for tags-loop-eval
16307         * lisp/progmodes/etags.el (tags-loop-continue): Ignore buffer
16308         restriction (bug#21167).
16310 2015-08-01  Eli Zaretskii  <eliz@gnu.org>
16312         Fix a thinko in 'ffap-gopher-at-point'
16313         * lisp/ffap.el (ffap-gopher-at-point): Fix last change.  (Bug#21168)
16315         Honor 'line-spacing' for empty lines
16316         * src/xdisp.c (append_space_for_newline): Honor 'line-height'
16317         property and 'line-spacing' frame parameter or variable or
16318         property for empty lines, by doing the same processing as in
16319         x_produce_glyph for newline characters.  (Bug#21165)
16321 2015-08-01  Paul Eggert  <eggert@cs.ucla.edu>
16323         Simplify by assuming C99 integer division
16324         * src/floatfns.c (ceiling2, floor2, truncate2):
16325         Assume C99 (i.e., Fortran) semantics for integer division.
16326         This simplifies the code.
16328 2015-07-31  Paul Eggert  <eggert@cs.ucla.edu>
16330         Don't overflow if computing approximate percentage
16331         * lisp/align.el (align-region):
16332         * lisp/cedet/semantic.el (semantic-repeat-parse-whole-stream):
16333         * lisp/cedet/semantic/wisent.el (wisent-parse-region):
16334         * lisp/cus-edit.el (custom-buffer-create-internal):
16335         * lisp/emacs-lisp/checkdoc.el (checkdoc-interactive-ispell-loop)
16336         (checkdoc-message-interactive-ispell-loop, checkdoc-next-error)
16337         (checkdoc-next-message-error):
16338         * lisp/emacs-lisp/eieio-opt.el (eieio-display-method-list):
16339         * lisp/epa.el (epa-progress-callback-function):
16340         * lisp/erc/erc-dcc.el (erc-dcc-do-LIST-command):
16341         * lisp/ffap.el (ffap-menu-rescan):
16342         * lisp/gnus/nnbabyl.el (nnbabyl-retrieve-headers):
16343         * lisp/gnus/nndiary.el (nndiary-retrieve-headers):
16344         * lisp/gnus/nneething.el (nneething-retrieve-headers):
16345         * lisp/gnus/nnmbox.el (nnmbox-retrieve-headers):
16346         * lisp/gnus/nnmh.el (nnmh-retrieve-headers):
16347         * lisp/gnus/nnml.el (nnml-retrieve-headers):
16348         * lisp/gnus/nnspool.el (nnspool-retrieve-headers):
16349         * lisp/gnus/nntp.el (nntp-retrieve-headers)
16350         (nntp-retrieve-articles):
16351         * lisp/imenu.el (imenu--relative-position):
16352         * lisp/international/ja-dic-cnv.el (skkdic-collect-okuri-nasi)
16353         (skkdic-convert-okuri-nasi):
16354         * lisp/net/ange-ftp.el (ange-ftp-process-handle-hash):
16355         * lisp/nxml/rng-valid.el (rng-compute-mode-line-string):
16356         * lisp/org/org-list.el (org-update-checkbox-count):
16357         * lisp/org/org.el (org-table-map-tables)
16358         (org-update-parent-todo-statistics):
16359         * lisp/play/decipher.el (decipher-insert-frequency-counts)
16360         (decipher-analyze-buffer):
16361         * lisp/profiler.el (profiler-format-percent):
16362         * lisp/progmodes/cc-cmds.el (c-progress-update):
16363         * lisp/progmodes/cpp.el (cpp-highlight-buffer):
16364         * lisp/progmodes/idlwave.el (idlwave-convert-xml-system-routine-info)
16365         (idlwave-list-load-path-shadows):
16366         * lisp/progmodes/opascal.el (opascal-step-progress):
16367         * lisp/progmodes/vhdl-mode.el (vhdl-update-progress-info)
16368         (vhdl-scan-directory-contents):
16369         * lisp/textmodes/bibtex.el (bibtex-progress-message):
16370         * lisp/textmodes/flyspell.el (flyspell-small-region)
16371         (flyspell-external-point-words):
16372         * lisp/textmodes/table.el (table-recognize):
16373         Prefer (floor (* 100.0 NUMERATOR) DENOMINATOR) when calculating
16374         progress-report percentages and the like.  This avoids problems
16375         if (* 100 NUMERATOR) would overflow.
16376         * lisp/gnus/gnus-registry.el (gnus-registry-import-eld):
16377         * lisp/gnus/registry.el (registry-reindex):
16378         Use (* 100.0 ...) rather than (* 100 ...) to avoid int overflow issues.
16379         * lisp/descr-text.el (describe-char):
16380         * lisp/org/org-colview.el (org-nofm-to-completion):
16381         * lisp/ps-print.el (ps-plot):
16382         * lisp/simple.el (what-cursor-position):
16383         Prefer (round (* 100.0 NUMERATOR) DENOMINATOR) to a
16384         more-complicated and less-accurate approximation.
16386         Fix some int overflows in profiler.c
16387         * src/profiler.c (make_log): Make args EMACS_INT, not int,
16388         to avoid unwanted behavior on 'int' overflow.
16389         (make_log, evict_lower_half, record_backtrace):
16390         Use ptrdiff_t, not int, for object indexes.
16392         Port to pedantic memcpy
16393         * src/keyboard.c (menu_bar_items, tool_bar_items):
16394         * src/xrdb.c (magic_db):
16395         Port to pedantic memcpy implementations that reject memcpy (0, 0, 0).
16397         Merge from gnulib
16398         This incorporates:
16399         2015-07-29 time_rz: port to pedantic memcpy
16400         * lib/time_rz.c: Copy from gnulib.
16402 2015-07-31  Artur Malabarba  <bruce.connor.am@gmail.com>
16404         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
16405         When updating the very last entry, tabulated-list-print would
16406         erase it and then try to look at the next one (which obviously
16407         isn't there).
16409 2015-07-31  Eli Zaretskii  <eliz@gnu.org>
16411         Allow to use the old key processing code on MS-Windows
16412         * src/w32fns.c (syms_of_w32fns) <w32-use-fallback-wm-chars-method>:
16413         New variable.
16414         (w32_wnd_proc): Use it to invoke the old code that processed
16415         character keys, as fallback, when this variable is non-nil.
16416         Fix typos in comments.  (Bug#19994)
16418 2015-07-31  Ilya Zakharevich  <ilya@math.berkeley.edu>
16420         Improve handling of Unicode keyboard input on MS-Windows
16421         * src/w32fns.c (get_wm_chars, deliver_wm_chars): New functions.
16422         (FPRINTF_WM_CHARS) [DEBUG_WM_CHARS]: New macro for debugging.
16423         (w32_wnd_proc): Call deliver_wm_chars to process non-special keys
16424         upon receiving WM_KEYDOWN or WM_SYSKEYDOWN messages.  If that is
16425         successful, don't call TranslateMessage.  (Bug#19994)
16427 2015-07-30  Dmitry Gutov  <dgutov@yandex.ru>
16429         Fix default-directory in changeset diffs after vc-print-log
16430         * lisp/vc/log-view.el (log-view-diff-common): Move the
16431         revision-granularity check back into log-view-diff-changeset.
16432         (log-view-diff-changeset): Bind default-directory to the current
16433         VC root.
16435         Rename project-directories to project-roots
16436         * lisp/progmodes/project.el (project-search-path-function)
16437         (project-search-path): Update the docstring.
16438         (project-directories): Rename to `project-roots', update all
16439         callers and implementations accordingly.
16440         (project-root): Remove.
16441         * lisp/progmodes/xref.el (xref-find-regexp): Use * instead of *.*
16442         as the default file mask.
16444 2015-07-30  Eli Zaretskii  <eliz@gnu.org>
16446         Support long URLs in w32-shell-execute
16447         * src/w32fns.c (Fw32_shell_execute): Don't use filename_to_utf16
16448         and filename_to_ansi to convert the DOCUMENT argument, as it could
16449         be a URL that is not limited to MAX_PATH characters.  Instead, use
16450         MultiByteToWideChar directly, and allocate heap storage as
16451         required to accommodate the converted string.  Likewise with
16452         non-Unicode operation.  Ensure OPERATION is null-terminated, even
16453         if it is longer than 32K bytes.  (Bug#21158)
16455 2015-07-30  Stephen Leake  <stephen_leake@stephe-leake.org>
16457         * lisp/vc/vc-mtn.el (vc-mtn-find-revision): Handle null rev.
16459 2015-07-29  Stephen Leake  <stephen_leake@stephe-leake.org>
16461         Add docs for display-buffer action display-buffer-use-some-frame
16462         * lisp/window.el (display-buffer-use-some-frame): Improve doc string.
16463         * doc/lispref/windows.texi (Display Action Functions):
16464         Add display-buffer-use-some-frame.
16465         * etc/NEWS: Mention display-buffer-use-some-frame.
16467         Add display-buffer action display-buffer-use-some-frame
16468         * lisp/window.el (display-buffer-use-some-frame): New.
16470         Handle vc-mtn error more gently
16471         * lisp/vc/vc-mtn.el (vc-mtn-mode-line-string): Return "" when
16472         branch is nil.
16474 2015-07-29  Michael Albinus  <michael.albinus@gmx.de>
16476         Fix Tramp problems with multihops, and nc
16477         * lisp/net/tramp-cache.el (tramp-get-file-property)
16478         (tramp-set-file-property, tramp-flush-file-property)
16479         (tramp-get-connection-property, tramp-set-connection-property)
16480         (tramp-flush-connection-property): Remove hop from vector.
16481         * lisp/net/tramp-gw.el (tramp-gw-process-filter): Ignore errors.
16482         * lisp/net/tramp-sh.el (tramp-methods) <nc>: Separate STDERR.
16483         (tramp-do-copy-or-rename-file-out-of-band): Increase timeout of
16484         netstat to 60".
16485         (tramp-sh-handle-start-file-process): Do not show hops in prompt.
16486         * lisp/net/tramp.el (tramp-handle-file-name-as-directory)
16487         (tramp-handle-file-name-directory, tramp-handle-file-remote-p):
16488         Keep hop in result.
16489         * test/automated/tramp-tests.el (tramp-test02-file-name-dissect):
16490         Add hop tests.
16492 2015-07-29  Eli Zaretskii  <eliz@gnu.org>
16494         Resurrect highlighting of repeated words by Flyspell Mode
16495         * lisp/textmodes/flyspell.el (flyspell-word): Leave some non-word
16496         characters between point and the doublon candidate, so that
16497         flyspell-word-search-backward finds it.  (Bug#21157)
16499         Fix redisplay of large images on expose events
16500         * src/xdisp.c (expose_window, expose_area): Avoid comparisons
16501         between signed negative values and unsigned values.  This
16502         prevented redisplay on expose events when the window showed a very
16503         large image.
16505 2015-07-29  Paul Eggert  <eggert@cs.ucla.edu>
16507         Remove unnecessary stack overflow dependency
16508         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING):
16509         Don't worry about $ac_cv_header_sys_resource_h and
16510         $ac_cv_func_getrlimit, as they're no longer needed for this.
16511         Problem reported by Eli Zaretskii in:
16512         http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00443.html
16514 2015-07-28  Andy Moreton  <andrewjmoreton@gmail.com>  (tiny change)
16516         Pacify compilation -Wincompatible-pointer-types warnings
16517         * src/w32proc.c (Fw32_get_codepage_charset): Avoid compilation
16518         warning.
16519         (CompareStringW_Proc): New typedef.
16520         (w32_compare_strings): Use it, to pacify compiler warnings under
16521         "-Wincompatible-pointer-types".
16522         * src/w32fns.c (GetDiskFreeSpaceExW_Proc)
16523         (GetDiskFreeSpaceExA_Proc): New typedefs.
16524         (Ffile_system_info): Use them, to pacify compiler warnings under
16525         "-Wincompatible-pointer-types".
16527 2015-07-28  Paul Eggert  <eggert@cs.ucla.edu>
16529         Fix subscript error in calculate_direct_scrolling
16530         Use slightly-longer cost vectors.  Without this change,
16531         calculate_direct_scrolling can have a subscript violation when
16532         FRAME_LINES (frame) <= delta.
16533         * src/scroll.c (calculate_scrolling, calculate_direct_scrolling)
16534         (line_ins_del, do_line_insertion_deletion_costs):
16535         Allocate and use slightly-larger cost vectors, ones based on
16536         FRAME_TOTAL_LINES instead of FRAME_LINES.
16538         Fix uninitalized value in encode_coding_object
16539         * src/coding.c (encode_coding_object): Also initialize
16540         coding->src_pos and coding->src_pos_byte when NILP (src_object).
16541         This avoids later use of uninitialized storage.
16543 2015-07-27  Xue Fuqiao  <xfq.free@gmail.com>
16545         * doc/lispref/variables.texi (Variable Aliases): Typo fix.
16546         (Bug#21141)
16548 2015-07-27  Paul Eggert  <eggert@cs.ucla.edu>
16550         Merge from gnulib
16551         This incorporates:
16552         2015-07-27 time_rz: port better to MinGW
16553         2015-07-27 time: port __need_time_t to MinGW
16554         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
16555         * lib/strftime.c, lib/time.in.h, lib/time_rz.c: Copy from gnulib.
16556         * lib/time-internal.h: New file, from gnulib.
16558 2015-07-27  Eli Zaretskii  <eliz@gnu.org>
16560         Handle NULL pointers in w32heap.c allocation routines
16561         * src/w32heap.c (FREEABLE_P): Consider a NULL pointer "not
16562         freeable".
16563         (realloc_after_dump, realloc_before_dump, free_before_dump):
16564         Handle NULL pointers gracefully, as Emacs now seems to expect that.
16566         Fix Cairo build without PNG
16567         * src/image.c: Define PNG function when USE_CAIRO is defined, even
16568         if HAVE_PNG is not.  (Bug#21133)
16570         MS-Windows follow-up for recent TZ-related changes
16571         * nt/mingw-cfg.site (ac_cv_header_pthread_h)
16572         (gl_cv_sys_struct_timespec_in_pthread_h): Force to "no", to avoid
16573         picking up 'struct timespec' from pthread.h, if it is installed on
16574         the user's system.  We want either the definitions from MinGW
16575         system headers, if available, or the Gnulib replacements if not.
16576         * nt/inc/ms-w32.h <struct timespec>: Don't define, as we now use
16577         lib/time.h.
16578         * lib/time.in.h: Don't let __need_* symbols affect what happens on
16579         MinGW.  These symbols are defined by MinGW system headers, but we
16580         don't want that to affect whether Gnulib portions of the header
16581         are or aren't used.
16583 2015-07-26  Paul Eggert  <eggert@cs.ucla.edu>
16585         * src/ftfont.c (ftfont_close): Add comment re Bug#20890.
16587         New optional ZONE arg for format-time-string etc.
16588         This simplifies time conversions in other time zones.
16589         It also prevents display-time-world tampering with TZ (Bug#21020).
16590         * admin/admin.el (add-release-logs):
16591         Use improved add-log-time-format API.
16592         * admin/merge-gnulib (GNULIB_MODULES): Add time_rz, timegm.
16593         (GNULIB_TOOL_FLAGS): Avoid flexmember, setenv, unsetenv.
16594         * configure.ac (tzalloc): Remove test for this, since
16595         Emacs no longer uses HAVE_TZALLOC directly.
16596         * doc/lispref/os.texi (Time of Day, Time Conversion)
16597         (Time Parsing):
16598         * etc/NEWS: Document the new behavior.
16599         Merge from gnulib, incorporating:
16600         2015-07-25 strftime: fix newly-introduced bug on Solaris
16601         2015-07-23 fprintftime, strftime: use timezone_t args
16602         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
16603         * lib/strftime.c, lib/strftime.h, lib/time.in.h, m4/sys_time_h.m4:
16604         * m4/time_h.m4:
16605         Update from gnulib.
16606         * lib/time_rz.c, lib/timegm.c, m4/time_rz.m4, m4/timegm.m4:
16607         New files from gnulib.
16608         * lisp/time-stamp.el (time-stamp-string):
16609         * lisp/time.el (display-time-world-list)
16610         (display-time-world-display):
16611         Use new API, with time zone arg.
16612         * lisp/time.el (display-time-world-display):
16613         Fix race when current-time advances while we're running.
16614         * lisp/vc/add-log.el (add-log-iso8601-time-zone)
16615         (add-log-iso8601-time-string): Accept optional time zone arg.
16616         * lisp/vc/add-log.el (add-change-log-entry):
16617         * lisp/vc/log-edit.el (log-edit-changelog-ours-p): Use new arg.
16618         * nt/gnulib.mk: Propagate lib/gnulib.mk changes here.
16619         Add rules for the time module, since they're now needed
16620         for tzalloc etc.
16621         * src/conf_post.h (getenv_TZ, setenv_TZ): New macros.
16622         (emacs_getenv_TZ, emacs_setenv_TZ): New decls.
16623         * src/editfns.c: Include errno.h.
16624         (set_time_zone_rule): Omit unnecessary forward decl.
16625         (initial_tz): Remove, replacing with ...
16626         (local_tz, wall_clock_tz, utc_tz): New static vars and constants.
16627         (tzeqlen): New constant; prefer it to (sizeof "TZ=" - 1).
16628         (emacs_localtime_rz, emacs_mktime_z, xtzalloc, xtzfree)
16629         (tzlookup): New static functions.
16630         (init_editfns): New arg DUMPING.  All uses changed.
16631         (init_editfns): Omit most initialization if dumping, not if
16632         !initialized.  Initialize wall_clock_tz and local_tz.
16633         (emacs_nmemftime, format_time_string): Time zone argument can now
16634         be any time zone, not just a boolean for UTC or local time.  All
16635         callers changed.
16636         (Fformat_time_string, Fencode_time, Fcurrent_time_string)
16637         (Fcurrent_time_zone): New optional arg ZONE.
16638         (Fdecode_time, Fset_time_zone_rule): ZONE arg can now also take
16639         the same form as with the other new additions.
16640         (decode_time_zone): Remove; no longer needed.
16641         (tzvalbuf): Now file-scope.
16642         (emacs_getenv_TZ, emacs_setenv_TZ): New functions.
16643         (syms_of_editfns): Define Qwall.
16644         * src/editfns.c (mktime_z) [!HAVE_TZALLOC]:
16645         * src/systime.h (mktime_z, timezone_t, tzalloc, tzfree)
16646         [!HAVE_TZALLOC]:
16647         Remove; now supplied by gnulib.
16648         * src/emacs.c (main):
16649         * src/lisp.h (init_editfns): Adjust to init_editfns API change.
16651 2015-07-26  Shigeru Fukaya  <shigeru.fukaya@gmail.com>
16653         Fix infinite loop in delete-consecutive-dups
16654         * lisp/subr.el (delete-consecutive-dups): Work even if the last
16655         element is nil (Bug#20588).  Avoid rescan of a circular list in
16656         deletion of last element.
16658 2015-07-26  Martin Rudalics  <rudalics@gmx.at>
16660         Have `x-frame-geometry' return nil for terminal and initial
16661         frames (Bug#21132)
16662         * src/nsfns.m (Fx_frame_geometry):
16663         * src/xfns.c (Fx_frame_geometry): Return nil for initial and
16664         terminal frames.
16665         * src/w32fns.c (Fw32_frame_menu_bar_size, Fw32_frame_rect)
16666         (Fx_frame_geometry): Return nil for terminal frames
16668 2015-07-26  HOSOYA Kei  <hosoyakei.free@gmail.com>  (tiny change)
16670         * etc/tutorials/TUTORIAL.ja: Improve translation.
16672 2015-07-25  Eli Zaretskii  <eliz@gnu.org>
16674         Avoid crashes when w32 GUI functions are called in -batch
16675         * src/w32fns.c (Fx_frame_geometry, Fw32_frame_rect)
16676         (Fw32_frame_menu_bar_size, Fw32_send_sys_command): Don't call
16677         FRAME_W32_WINDOW for initial frame.  (Bug#21132)
16679         Fix flyspell-check-previous-highlighted-word
16680         * lisp/textmodes/flyspell.el
16681         (flyspell-check-previous-highlighted-word): Really accept a
16682         numeric argument, as the doc string describes.  Fix an off-by-one
16683         error in looking up overlays, so invocation with point immediately
16684         after a word would check that word.  Clarify the doc string as
16685         Suggested by N. Jackson <nljlistbox2@gmail.com>.  (Bug#21129)
16687 2015-07-24  Michael Albinus  <michael.albinus@gmx.de>
16689         Minor cleanup in tramp-tests.el
16690         * test/automated/tramp-tests.el (tramp-test31-*, tramp-test32-*):
16691         Implement using the documented interface
16692         `tramp-connection-properties', rather than with internal functions.
16694 2015-07-24  Harald Hanche-Olsen  <hanche@math.ntnu.no>  (tiny change)
16696         Pass lambdas to `skeleton-read'
16697         * lisp/skeleton.el (skeleton-read): Allow PROMPT to be a function.
16698         * lisp/textmodes/sgml-mode.el (sgml-attributes, sgml-value): Pass
16699         lambdas to `skeleton-read' (bug#20386).
16701 2015-07-24  Eli Zaretskii  <eliz@gnu.org>
16703         * INSTALL (DETAILED BUILDING AND INSTALLATION):
16704         Mention --without-imagemagick.
16706         Don't require GUI frames and mouse for Flyspell menus
16707         * lisp/textmodes/flyspell.el (flyspell-correct-word-before-point)
16708         (flyspell-emacs-popup): Require neither a GUI frame nor mouse
16709         support, since pop-up menus work with text terminals and can be
16710         controlled via the keyboard.
16712         Improve documentation of Flyspell commands
16713         * doc/emacs/fixit.texi (Spelling): Mention Flyspell commands that
16714         can be invoked via the keyboard.  Mention those commands by name
16715         and add them to the fn index.  (Bug#21125)
16717 2015-07-23  Michael Albinus  <michael.albinus@gmx.de>
16719         Fix some Tramp problems with HP-UX
16720         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
16721         Add "tab0" to stty call.
16722         * test/automated/tramp-tests.el (tramp-persistency-file-name):
16723         Set to nil.
16724         (tramp--test-hpux-p): New defun.
16725         (tramp--test-utf8): Use it.
16727 2015-07-22  Glenn Morris  <rgm@gnu.org>
16729         * build-aux/update-subdirs: Put "no-update-autoloads: t" in output.
16731 2015-07-22  Eli Zaretskii  <eliz@gnu.org>
16733         Fix point positioning in ffap-next-guess
16734         * lisp/ffap.el (ffap-url-at-point): Set ffap-string-at-point-region,
16735         as our callers expect.  This was clobbered as part of fixing
16736         bug#5673.  (Bug#21107)
16737         (ffap-gopher-at-point): Set ffap-string-at-point-region.
16739 2015-07-22  Martin Rudalics  <rudalics@gmx.at>
16741         * lisp/window.el (even-window-sizes): Fix customization type.
16743         Optionally even widths of `display-buffer' windows.  (Bug#21100)
16744         * lisp/window.el (quit-restore-window): Restore width if
16745         requested.
16746         (display-buffer-record-window): Record width when window is
16747         reused and horizontally combined.
16748         (even-window-sizes): New option to allow evening window widths.
16749         (even-window-heights): Defalias to `even-window-sizes'.
16750         (window--even-window-heights): Rename to
16751         `window--even-window-sizes'.  Handle side-by-side windows.
16752         (display-buffer-use-some-window): Call `window--even-window-sizes'
16753         instead of `window--even-window-heights'.
16754         * lisp/help.el (resize-temp-buffer-window): Fix indentation.
16755         * doc/lispref/windows.texi (Choosing Window Options): Describe
16756         `even-window-sizes'.
16757         (Coordinates and Windows): Fix typo.
16759 2015-07-22  Stephen Leake  <stephen_leake@stephe-leake.org>
16761         Add file name to autoload error messages
16762         * lisp/emacs-lisp/autoload.el (autoload-save-buffers):
16763         Add condition-case to add file name to error message.
16765 2015-07-22  Michael Albinus  <michael.albinus@gmx.de>
16767         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options):
16768         Use 0.0.0.1 as test host.
16770 2015-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
16772         (advice--called-interactively-skip): Fix inf-loop (bug#21083)
16773         * lisp/emacs-lisp/nadvice.el (advice--called-interactively-skip):
16774         Fix inf-loop (bug#21083).
16776 2015-07-21  Glenn Morris  <rgm@gnu.org>
16778         * test/automated/package-test.el (package-test-signed):
16779         Update for recent changes.
16781         * test/automated/elisp-mode-tests.el
16782         (elisp-xref-finds-both-function-and-variable)
16783         (elisp-xref-finds-only-function-for-minor-mode):
16784         Update for recent xref name changes.
16786 2015-07-21  Dmitry Gutov  <dgutov@yandex.ru>
16788         Make eldoc timer non-repeatable
16789         * lisp/emacs-lisp/eldoc.el (eldoc-schedule-timer): Make the timer
16790         non-repeatable.  Since it's on post-command hook, that just wasted
16791         CPU cycles.
16793 2015-07-21  Michael Albinus  <michael.albinus@gmx.de>
16795         Mention `tramp-connection-properties' in NEWS
16797         Sync with Tramp repository
16798         * doc/misc/tramp.texi (Configuration): Note, that Tramp must be
16799         required prior changing its configuration.
16800         (Connection caching, Predefined connection information)
16801         (Remote shell setup): Fix typos.
16802         (Predefined connection information): Describe, how to overwrite
16803         parameters of `tramp-methods'.
16804         (Remote programs, Remote processes, Traces and Profiles):
16805         Simplify example.
16806         (Remote programs): Remove superfluous comment.
16807         * doc/misc/trampver.texi: Update release number.
16808         * lisp/net/tramp-cache.el (tramp-connection-properties):
16809         Adapt docstring.
16810         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file): New defun.
16811         (tramp-gvfs-handle-copy-file, tramp-gvfs-handle-rename-file): Use it.
16812         (tramp-gvfs-handle-make-directory): Reimplement PARENTS handling,
16813         "gvfs-mkdir -p ..." does not work robust.
16814         (tramp-gvfs-maybe-open-connection):
16815         Adapt `tramp-get-method-parameter' call.
16816         * lisp/net/tramp-sh.el (tramp-methods):
16817         Add `tramp-remote-shell-login' parameter where it fits.
16818         (tramp-get-remote-path): Use it.
16819         (tramp-make-copy-program-file-name): Fix quoting for "psftp" method.
16820         (all): Adapt `tramp-get-method-parameter' calls.
16821         * lisp/net/tramp.el (tramp-methods): Adapt docstring.
16822         (tramp-get-method-parameter): Replace argument METHOD by VEC.
16823         Check also for hits in `tramp-connection-properties'.  Adapt docstring.
16824         (tramp-get-remote-tmpdir): Cache only the local name of tmpdir.
16825         (all): Adapt `tramp-get-method-parameter' calls.
16826         * lisp/net/trampver.el Update release number.
16827         * test/automated/tramp-tests.el (tramp--instrument-test-case):
16828         Add "^make-symbolic-link not supported$" to `debug-ignored-errors'.
16829         (tramp-test13-make-directory, tramp--test-adb-p)
16830         (tramp--test-smb-or-windows-nt-p): Simplify.
16831         (tramp--test-ftp-p, tramp--test-gvfs-p): New defuns.
16832         (tramp--test-special-characters): Fix docstring.  Add gvfs and
16833         ftp tests.
16834         (tramp--test-utf8): Fix docstring.
16836 2015-07-20  Dmitry Gutov  <dgutov@yandex.ru>
16838         Add new xref-query-replace command
16839         * lisp/progmodes/xref.el (xref--match-buffer-bounds):
16840         New function, extracted from xref-pulse-momentarily.
16841         (xref-query-replace): New command.
16842         (xref--query-replace-1): New helper function.
16843         (xref--xref-buffer-mode-map): Add `r' binding.
16845 2015-07-20  Paul Eggert  <eggert@cs.ucla.edu>
16847         Simplify icalendar decoding of Z dates
16848         * lisp/calendar/icalendar.el (icalendar--decode-isodatetime):
16849         Simplify calculation of time strings with trailing "Z".
16851 2015-07-19  Dmitry Gutov  <dgutov@yandex.ru>
16853         Do not corrupt grep-find-ignored-files
16854         * lisp/progmodes/project.el (project-ignores): Change the order of
16855         the arguments to nconc, in order not to corrupt grep-find-ignored-files.
16857         Add xref-match-item, and use it
16858         * lisp/progmodes/xref.el (xref-match-bounds): New generic function.
16859         (xref-file-location): Add reader for the column slot.
16860         (xref-match-item): New class.
16861         (xref-match-bounds): A method implementation for it.
16862         (xref-make-match): New constructor function.
16863         (xref--current-item): New private variable.
16864         (xref-pulse-momentarily): Use it.
16865         (xref--pop-to-location): Change the first argument to an xref
16866         item, instead of location, bind xref--current-item.
16867         Update all callers.
16868         (xref-next-line, xref-prev-line, xref--next-error-function)
16869         (xref--mouse-2): Look for the property `xref-item',
16870         instead of `xref-location'.
16871         (xref--item-at-point): Likewise.  This function replaces
16872         `xref-location-at-point'.  Update all callers.
16873         (xref--insert-xrefs): Add the `xref-item' text property, instead
16874         of `xref-location'.
16875         (xref--collect-match): Use xref-make-match.
16877         * lisp/progmodes/xref.el (xref-item): Rename from `xref--xref'.
16878         Update all references.
16880         * lisp/progmodes/xref.el (xref--xref): Rename the `description'
16881         slot to `summary'.
16883         vc-hg: Perform the print-log call asynchronously
16884         * lisp/vc/vc-hg.el (vc-hg-print-log): Perform the call
16885         asynchronously (bug#21067).
16887         Add xref-after-jump-hook and xref-after-return-hook
16888         * lisp/progmodes/xref.el (xref-after-jump-hook)
16889         (xref-after-return-hook): New hooks.
16890         (xref-pulse-on-jump): Remove, in favor of the above.
16891         (xref-pulse-momentarily): Rename from xref--maybe-pulse.
16892         (xref--pop-to-location, xref--display-position)
16893         (xref-pop-marker-stack): Use the new hooks, as requested in
16894         http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00213.html
16896 2015-07-19  Bozhidar Batsov  <bozhidar@batsov.com>
16898         * lisp/progmodes/js.el (js-mode): Correct the lighter.
16900 2015-07-19  Leo Liu  <sdl.web@gmail.com>
16902         Fix a bug in cfengine3-mode
16903         * lisp/progmodes/cfengine.el (cfengine3-mode): Handle nil
16904         eldoc-documentation-function.
16906 2015-07-18  Julien Danjou  <julien@danjou.info>
16908         sieve-mode: support "body" test command
16909         * lisp/gnus/sieve-mode.el (sieve-font-lock-keywords):
16910         Add missing "body" test command.
16912 2015-07-18  Eli Zaretskii  <eliz@gnu.org>
16914         Fix info-apropos when the default encoding is Latin-N
16915         * lisp/info.el (Info-find-node-2): Reset the buffer's encoding to
16916         'undecided', so that it is set to the encoding of the Info file we
16917         are about to insert.  Otherwise, 'info-apropos' will fail to find
16918         some index nodes in some UTF-8 encoded files, if the buffer's
16919         previous encoding is Latin-N or some such.
16921 2015-07-18  Ivan Andrus  <darthandrus@gmail.com>
16923         * lisp/epg.el (epg--start): Check that gpgconf can be found
16924         before calling it.
16926         Expose more file types to OS X that Emacs understands
16927         * nextstep/Cocoa/Emacs.base/Contents/Info.plist: Add editor role for
16928         sty, dtx, json, and org files.  Export UTIs for el, elc, and org files.
16930 2015-07-18  Eli Zaretskii  <eliz@gnu.org>
16932         Fix visual-order cursor movement when lines are truncated
16933         * src/xdisp.c (Fmove_point_visually): When lines are truncated,
16934         simulate display in a window of infinite width, to allow move_it_*
16935         functions reach positions outside of normal window dimensions.
16936         Remove code that tried to handle a subset of these situations by
16937         manual iteration of buffer text.  (Bug#17777)
16939         Fix following Info cross-references to anchors
16940         * lisp/info.el (Info-read-subfile): Add to the returned value the
16941         length of subfile preamble, after converting it to file's byte
16942         offset, as expected by the caller.  Use bufferpos-to-filepos.
16943         (Info-find-node-2): If searching for a node with a
16944         1000-character slop fails, try again with a 10000-character slop,
16945         to account for known bugs in Texinfo 5.0 and 5.1.  (Bug#21055)
16946         * lisp/international/mule-util.el (bufferpos-to-filepos): New
16947         function.
16948         * etc/NEWS: Mention bufferpos-to-filepos.
16950         Fix scrolling backwards on TTY frames under scroll-conservatively
16951         * src/xdisp.c (move_it_vertically_backward): Fix off-by-one error
16952         in moving backwards on TTY frames.  (Bug#21080)
16954 2015-07-17  Dmitry Gutov  <dgutov@yandex.ru>
16956         Consider a jsdoc tag to be a beginning of a paragraph as well
16957         * lisp/progmodes/js.el (js-mode): Change c-paragraph-start to
16958         consider a jsdoc tag to be a beginning of a paragraph as well.
16960 2015-07-17  Artur Malabarba  <bruce.connor.am@gmail.com>
16962         * lisp/emacs-lisp/package.el: Fix warnings.
16964         * lisp/emacs-lisp/package.el (package-buffer-info):
16965         Add author and maintainers to `package-buffer-info'.
16967         * lisp/emacs-lisp/package.el: Many small changes.
16968         Replace all instances of 'face with 'font-lock-face.
16969         (describe-package-1): Improve some strings and move the summary
16970         up the list.
16971         (package-install-file): Update docstring.
16972         (package-menu-hide-package): Bind to `H'.
16974         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
16975         Fix error handling.
16977 2015-07-17  Paul Eggert  <eggert@cs.ucla.edu>
16979         Fix hang with large yanks This should fix the bug fixed by Mike
16980         Crowe's patch in:
16981         https://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00106.html
16982         A problem in this area has been reported by several users; see
16983         Bug#16737, Bug#17101, Bug#17026, Bug#17172, Bug#19320, Bug#20283.
16984         This fix differs from Mike Crowe's patch in that it should avoid a
16985         race condition that could lose SIGIO signals.  ignore_sigio dates
16986         back to the 1980s when some platforms couldn't block signals, and
16987         could only ignore them, which led to races when signals arrived
16988         while being ignored.  We shouldn't have to worry about those old
16989         platforms now.
16990         * src/dispextern.h, src/sysdep.c (ignore_sigio): Remove.
16991         * src/emacs.c (shut_down_emacs):
16992         Don't call ignore_sigio; unrequest_sigio should suffice.
16993         * src/keyboard.c (kbd_buffer_store_buffered_event):
16994         Use unrequest_sigio, not ignore_sigio.
16995         (kbd_buffer_get_event):
16996         Call request_sigio when getting the ball rolling again.
16998 2015-07-17  Artur Malabarba  <bruce.connor.am@gmail.com>
17000         * lisp/obsolete/longlines.el (longlines-search-function):
17001         Fallback on `isearch-search-fun-default'.
17003 2015-07-17  Tassilo Horn  <tsdh@gnu.org>
17005         Support @-mentions
17006         * lisp/net/rcirc.el (rcirc-completion-at-point): Support completion
17007         of mentions/messages with @nick instead of just nick.
17009 2015-07-16  Michael Albinus  <michael.albinus@gmx.de>
17011         Fix bug#20943
17012         * lisp/autorevert.el (auto-revert-handler): Do not check for
17013         `buffer-modified-p'.
17014         * lisp/files.el (buffer-stale--default-function): Check for
17015         `buffer-modified-p'.
17016         * test/automated/auto-revert-tests.el
17017         (auto-revert-test02-auto-revert-mode-dired): Adapt test.
17019 2015-07-16  Ari Roponen  <ari.roponen@gmail.com>
17021         Fix delete-dups bug on long lists
17022         * lisp/subr.el (delete-dups):
17023         Don't mistakenly keep some dups when applied to long lists.
17025 2015-07-16  Paul Eggert  <eggert@cs.ucla.edu>
17027         Better heuristic for C stack overflow
17028         Improve the heuristic for distinguishing stack overflows from
17029         other SIGSEGV causes (Bug#21004).  Corinna Vinschen explained that
17030         the getrlimit method wasn't portable to Cygwin; see:
17031         https://www.cygwin.com/ml/cygwin/2015-07/msg00092.html
17032         Corinna suggested pthread_getattr_np but this also has problems.
17033         Instead, replace the low-level system stuff with a simple
17034         heuristic based on known good stack addresses.
17035         * src/eval.c, src/lisp.h (near_C_stack_top): New function.
17036         * src/sysdep.c: Don't include <sys/resource.h>.
17037         (stack_direction): Remove.  All uses removed.
17038         (stack_overflow): New function.
17039         (handle_sigsegv): Use it instead of incorrect getrlimit heuristic.
17040         Make SEGV fatal in non-main threads.
17042 2015-07-16  Daiki Ueno  <ueno@gnu.org>
17044         epg: Automatically start pinentry server
17045         * lisp/epg-config.el (epg-gpgconf-program): New variable.
17046         * lisp/epg.el (epg--start): Call `pinentry-start' if
17047         allow-emacs-pinentry is set in ~/.gnupg/gpg-agent.conf.
17049 2015-07-15  Katsumi Yamaoka  <yamaoka@jpl.org>
17051         * lisp/gnus/nnimap.el: Fix my last bogus change.
17052         Reinstall Stefan Monnier's change that was made in
17053         <83d824bc4041332f338ad7e5e830f443535aa300>.
17055 2015-07-15  Paul Eggert  <eggert@cs.ucla.edu>
17057         Merge from gnulib
17058         This incorporates:
17059         2015-07-05 acl-permissions: Document FreeBSD ACL_TYPE_NFS4 acls
17060         2015-07-05 acl-permissions: Fix on FreeBSD
17061         2015-07-05 file-has-acl, acl-permissions: fix some more HP-UX typos
17062         * lib/acl-internal.c, lib/acl-internal.h, lib/get-permissions.c:
17063         * lib/set-permissions.c: Copy from gnulib.
17065         Port to stricter C99
17066         * src/keyboard.h (kbd_buffer_store_event_hold):
17067         Don't return a void expression.
17069 2015-07-15  Xue Fuqiao  <xfq.free@gmail.com>
17071         * doc/emacs/frames.texi (Creating Frames):
17072         Fix the command `C-x 5 m' runs.
17074 2015-07-14  Michael Albinus  <michael.albinus@gmx.de>
17076         New autorevert tests
17077         * test/automated/auto-revert-tests.el: New file.
17079 2015-07-14  Paul Eggert  <eggert@cs.ucla.edu>
17081         Clear gcprolist etc. after stack overflow
17082         After stack overflow, command_loop calls init_eval, and this needs to
17083         clear gcprolist and byte_stack_list (Bug#20996).
17084         * src/alloc.c (init_alloc):
17085         Move gcprolist and byte_stack_list initialization from here ...
17086         * src/eval.c (init_eval): ... to here.
17088 2015-07-13  Xue Fuqiao  <xfq.free@gmail.com>
17090         * doc/emacs/windows.texi (Pop Up Window): Fix the description
17091         of `C-x 4 m'.
17093 2015-07-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
17095         Avoid deprecated enums in mac-ct font backend driver
17096         * src/macfont.m (mac_font_copy_default_descriptors_for_language)
17097         (mac_ctfont_get_advance_width_for_glyph)
17098         (mac_ctfont_get_bounding_rect_for_glyph): Avoid deprecated enums.
17100         Cache font family in mac-ct font backend driver
17101         * src/macfont.m (macfont_family_cache): New variable.
17102         (syms_of_macfont): Initialize it.
17103         (macfont_available_families_cache): New variable.
17104         (macfont_invalidate_family_cache, macfont_get_family_cache_if_present)
17105         (macfont_set_family_cache, macfont_invalidate_available_families_cache)
17106         (macfont_handle_font_change_notification)
17107         (macfont_init_font_change_handler)
17108         (macfont_copy_available_families_cache): New functions.
17109         (macfont_create_family_with_symbol): Use font family caches.
17110         (macfont_list, macfont_list_family):
17111         Use macfont_copy_available_families_cache instead of
17112         mac_font_create_available_families.
17114 2015-07-12  Dmitry Gutov  <dgutov@yandex.ru>
17116         Show the default value in the prompt
17117         * lisp/progmodes/xref.el: Add `M-?' binding for
17118         xref-find-references.  Declare functions `grep-read-files' and
17119         `grep-expand-template'.
17120         (xref--read-identifier): Show the default value in the prompt.
17122         * lisp/progmodes/xref.el (xref-find-regexp): When called with
17123         prefix argument, ask for file patterns to search as well.  When
17124         prompting for the directory, require an existing one.
17125         (xref-collect-matches): Add a new argument, FILES.  Use it in the
17126         above function.
17128         Add `project-ignores'
17129         * lisp/progmodes/project.el (project-ignores): New generic
17130         function, and an implementation for the VC project type.
17131         * lisp/progmodes/xref.el (xref--rgrep-command): Split, as a
17132         variant of rgrep-default-command that handles a generic list of
17133         ignores.
17134         (xref-collect-matches): Use it, and pass through to it the value
17135         of the newly added argument.
17136         (xref-find-regexp): Handle ignored paths within the project.
17137         Remove outdated comment.
17138         * lisp/vc/vc.el (vc-default-ignore-completion-table):
17139         Skip the comments and the empty lines.
17141 2015-07-12  Xue Fuqiao  <xfq.free@gmail.com>
17143         * doc/emacs/buffers.texi (Misc Buffer): Add a cross reference.
17145 2015-07-11  Eric Abrahamsen  <eric@ericabrahamsen.net>
17147         gnus-registry.el: Correct function argument order
17148         * lisp/gnus/gnus-registry.el (gnus-registry--set/remove-mark):
17149         Reverse the order of function arguments.
17151 2015-07-11  Dmitry Gutov  <dgutov@yandex.ru>
17153         Bind grep-highlight-matches to nil
17154         * lisp/progmodes/xref.el (xref-collect-matches):
17155         Bind grep-highlight-matches to nil (bug#20728).
17157 2015-07-11  Nikolaus Rath  <Nikolaus@rath.org>
17159         nnimap.el: Fix IMAP message size parsing
17160         * lisp/gnus/nnimap.el (nnimap-transform-headers):
17161         Don't assume that UID comes before RFC822.SIZE.
17163 2015-07-10  Stefan Monnier  <monnier@iro.umontreal.ca>
17165         * lisp/gnus/nnimap.el: Clean up "unused var" warnings
17166         (auth-source-creation-prompts): Declare.
17167         (nnimap-retrieve-headers, nnimap-status-message)
17168         (nnimap-request-create-group, nnimap-request-delete-group)
17169         (nnimap-close-group, nnimap-request-move-article)
17170         (nnimap-request-accept-article, nnimap-request-newgroups)
17171         (nnimap-request-post, nnimap-dummy-active-number)
17172         (nnimap-save-mail-spec, nnimap-get-groups): Add _ to unused vars.
17173         (nnimap-parse-flags): Remove unused var `p'.
17174         (nnimap-retrieve-group-data-early): Remove unused var `groups'.
17175         (nnimap-flags-to-marks): Remove unused var `totalp'.
17177 2015-07-10  Andy Moreton  <andrewjmoreton@gmail.com>  (tiny change)
17179         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 20MB.
17181 2015-07-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
17183         * src/macfont.m (macfont_list): Ignore font families lacking
17184         font descriptors.
17186 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
17188         Don't check the exit status, it can be misleading
17189         * lisp/progmodes/xref.el (xref-collect-matches): Don't check the
17190         exit status, it can be misleading.
17192         Introduce a Project API
17193         * lisp/progmodes/project.el: New file.
17194         * lisp/cedet/ede.el (project-try-ede): New function.
17195         (project-root): New implementation.
17196         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
17197         Set project-search-path-function.
17198         (elisp--xref-find-references): Delegate some logic to
17199         project-search-path.
17200         (elisp-search-path): New function.
17201         (elisp-xref-find): Don't implement `matches' anymore.
17202         * lisp/progmodes/etags.el: Don't implement `matches'.
17203         Delegate some logic to project-search-path.
17204         (etags-search-path): New function.
17205         * lisp/progmodes/xref.el (xref-find-function):
17206         Remove `matches' from the API.
17207         (xref-find-regexp): Move whatever common logic was in elisp and
17208         etags implementations, and search the directories returned by
17209         project-directories and project-search-path.
17211 2015-07-09  Nicolas Petton  <nicolas@petton.fr>
17213         * test/automated/map-tests.el (test-map-delete-return-value):
17214         Uncomment test.
17216         Add support for gv.el in map.el
17217         * lisp/emacs-lisp/map.el (map-elt, map-delete): Declare a gv-expander.
17218         * lisp/emacs-lisp/map.el (map-put): Refactor using `setf' and `map-elt'.
17219         * test/automated/map-tests.el: Update tests to work with the new
17220         implementations of map-elt and map-put.
17222 2015-07-09  Glenn Morris  <rgm@gnu.org>
17224         * lisp/emacs-lisp/debug.el (debug-help-follow): Use describe-symbol.
17226 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
17228         Syntax-propertize until the end of the line first
17229         * lisp/progmodes/xref.el (xref--collect-match): Syntax-propertize
17230         until the end of the line first.
17232 2015-07-09  Xue Fuqiao  <xfq.free@gmail.com>
17234         * doc/emacs/files.texi (File Archives): Add a cross reference.
17236 2015-07-08  Nikolaus Rath  <Nikolaus@rath.org>
17238         nnimap.el: Handle plain value for nnimap-stream
17239         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Always query
17240         capabilities, so that a 'plain value for the `nnimap-stream' server
17241         variable is handled correctly.
17242         * doc/misc/gnus.texi (Customizing the IMAP Connection):
17243         Document the 'plain option.
17245 2015-07-08  Leo Liu  <sdl.web@gmail.com>
17247         Fix bug in thing-at-point--bounds-of-well-formed-url
17248         * lisp/thingatpt.el (thing-at-point--bounds-of-well-formed-url): Make
17249         sure boundary contains current point.
17251 2015-07-08  Dmitry Gutov  <dgutov@yandex.ru>
17253         * lisp/progmodes/xref.el (xref-collect-matches): Use `nreverse'
17254         in the end.
17256         Declare whitespace-line-column a safe file-local
17257         * lisp/whitespace.el (whitespace-line-column): Declare to be a
17258         safe file-local when the value is an integer.
17260 2015-07-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
17262         gnus-group.el: Check if group names are already strings
17263         * lisp/gnus/gnus-group.el (gnus-group-group-name):
17264         The group name may already be a string.
17265         Specifically, in the group list reached from the *Server* buffer,
17266         the 'gnus-group text property returns a string.  Everywhere else
17267         it returns a symbol.
17269         nnimap.el: Remove unused let variables
17270         * lisp/gnus/nnimap.el (nnimap-request-group): Variables are not used.
17272 2015-07-08  Eli Zaretskii  <eliz@gnu.org>
17274         Support "maximized" property of runemacs's shortcut
17275         * nt/runemacs.c (WinMain): If runemacs is invoked "maximized", pass
17276         the '--maximized' switch to Emacs.
17278         Support "minimized" property of runemacs's shortcut
17279         * nt/runemacs.c (WinMain): If runemacs is invoked "minimized",
17280         pass the '--iconic' switch to Emacs.  (Bug#20991)
17282 2015-07-08  Xue Fuqiao  <xfq.free@gmail.com>
17284         Doc fixes
17285         * doc/emacs/files.texi (Diff Mode): Fix the description of `C-c
17286         C-w' in Diff mode.
17287         * doc/emacs/arevert-xtra.texi (Auto Reverting the Buffer Menu):
17288         Add a cross reference.
17290 2015-07-08  Nicolas Richard  <youngfrog@members.fsf.org>
17292         * lisp/obsolete/landmark.el: Add Obsolete-since header.
17294 2015-07-07  Glenn Morris  <rgm@gnu.org>
17296         * test/automated/ert-tests.el (ert-test-deftest):
17297         Update for recent changes.
17299 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
17301         (gv-setter, gv-synthetic-place, gv-delay-error): New funs/macros
17302         * lisp/emacs-lisp/gv.el (gv-setter): New function.
17303         (gv-invalid-place): New error.
17304         (gv-get): Use them.
17305         (gv-synthetic-place, gv-delay-error): New places.
17306         * lisp/emacs-lisp/cl-generic.el (cl--generic-setf-rewrite): Remove.
17307         (cl-defgeneric, cl-defmethod): Use gv-setter.
17309 2015-07-07  Fabrice Popineau  <fabrice.popineau@gmail.com>
17311         Make vc-tests work with MSYS svn program
17312         * lisp/vc/vc-svn.el (vc-svn-create-repo): Fix the file:// URL when
17313         svn is an MSYS program.
17315 2015-07-07  Ken Brown  <kbrown@cornell.edu>
17317         Improve recent change to emacsclient on Cygwin
17318         * lisp/server.el (server-process-filter): Remove redundant check
17319         that 'cygwin-convert-file-name-from-windows' is defined as a
17320         function on Cygwin.  Don't call that function unless its argument
17321         starts with a drive letter.
17323 2015-07-07  Artur Malabarba  <bruce.connor.am@gmail.com>
17325         * lisp/emacs-lisp/package.el (package-compute-transaction):
17326         Fix void variable due to `found-something' being in the wrong `let'.
17328 2015-07-07  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
17330         * lisp/play/landmark.el: Move to lisp/obsolete/.
17332 2015-07-07  Martin Rudalics  <rudalics@gmx.at>
17334         Have `x-show-tip' handle `right' and `bottom' frame parameters
17335         * src/nsfns.m (compute_tip_xy, Fx_show_tip)
17336         * src/w32fns.c (compute_tip_xy, Fx_show_tip)
17337         * src/xfns.c (compute_tip_xy, Fx_show_tip): Allow aligning
17338         tooltips also via `right' and `bottom' frame parameters.
17340 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
17342         Add online-help support to describe types
17343         * lisp/help-fns.el (describe-symbol-backends): Move to help-mode.el.
17344         (describe-symbol): Improve the selection of default.
17345         * lisp/help-mode.el: Require cl-lib.
17346         (describe-symbol-backends): Move from help-fns.el.
17347         (help-make-xrefs): Use it.
17348         * lisp/emacs-lisp/cl-extra.el (describe-symbol-backends): Add entry
17349         for types.
17350         (cl--typedef-regexp): New const.
17351         (find-function-regexp-alist): Add entry for types.
17352         (cl-help-type, cl-type-definition): New buttons.
17353         (cl-find-class): New function.
17354         (cl-describe-type): New command.
17355         (cl--describe-class, cl--describe-class-slot)
17356         (cl--describe-class-slots): New functions, moved from eieio-opt.el.
17357         * lisp/emacs-lisp/cl-generic.el (cl--generic-method-documentation)
17358         (cl--generic-all-functions, cl--generic-specializers-apply-to-type-p):
17359         New functions.  Moved from eieio-opt.el.
17360         (cl--generic-class-parents): New function, extracted from
17361         cl--generic-struct-specializers.
17362         (cl--generic-struct-specializers): Use it.
17363         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Use pcase-dolist.
17364         Improve constructor's docstrings.
17365         (cl-struct-unknown-slot): New error.
17366         (cl-struct-slot-offset): Use it.
17367         * lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Record the type
17368         definition in current-load-list.
17369         * lisp/emacs-lisp/eieio-core.el (eieio--known-slot-names): New var.
17370         (eieio--add-new-slot): Set it.
17371         (eieio-defclass-internal): Use new name for current-load-list.
17372         (eieio-oref): Add compiler-macro to warn about unknown slots.
17373         * lisp/emacs-lisp/eieio.el (defclass): Update eieio--known-slot-names
17374         as compile-time as well.  Improve constructor docstrings.
17375         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
17376         (eieio--help-print-slot, eieio-help-class-slots): Move to cl-extra.el.
17377         (eieio-class-def): Remove button.
17378         (eieio-help-constructor): Use new name for load-history element.
17379         (eieio--specializers-apply-to-class-p, eieio-all-generic-functions)
17380         (eieio-method-documentation): Move to cl-generic.el.
17381         (eieio-display-method-list): Use new names.
17382         * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression):
17383         Add "define-linline".
17384         (lisp-fdefs): Remove "defsubst".
17385         (el-fdefs): Add "defsubst", "cl-defsubst", and "define-linline".
17386         * lisp/emacs-lisp/macroexp.el (macroexp--warned): New var.
17387         (macroexp--warn-and-return): Use it to avoid inf-loops.
17388         Add `compile-only' argument.
17390 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
17392         python.el: Fix local/remote shell environment setup
17393         * lisp/progmodes/python.el (python-shell-with-environment):
17394         Fix remote/local environment setup.
17395         * test/automated/python-tests.el (python-shell-with-environment-1)
17396         (python-shell-with-environment-2): New tests.
17398 2015-07-06  Glenn Morris  <rgm@gnu.org>
17400         * lisp/simple.el (set-variable): Tweak recent doc fix.
17402 2015-07-06  Ken Brown  <kbrown@cornell.edu>
17404         * src/sysdep.c (handle_sigsegv) [CYGWIN]: Increase STACK_DANGER_ZONE.
17406 2015-07-06  Glenn Morris  <rgm@gnu.org>
17408         * lisp/simple.el (set-variable): Use user-error for type mismatch.
17410 2015-07-06  Ken Brown  <kbrown@cornell.edu>
17412         * src/emacs.c (main): Don't increase the stack size on Cygwin.
17414 2015-07-06  Stefan Monnier  <monnier@iro.umontreal.ca>
17416         (describe-symbol): Rewrite describe-function-or-variable
17417         * lisp/help-fns.el (describe-symbol-backends): New var.
17418         (help-xref-stack-item): Declare.
17419         (describe-symbol): Rename from describe-function-or-variable.
17420         Rewrite using describe-symbol-backends instead of help-xref-interned.
17421         * lisp/help.el (help-map): Use it.
17422         * lisp/help-mode.el (help-symbol, help-follow-symbol): Use it.
17423         (help-xref-interned): Make it into an obsolete alias.
17425         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-save): Don't ignore
17426         `file' arg (bug#20972).  Always use utf-8-emacs.  Use with-temp-buffer
17427         and cl-letf.
17429 2015-07-06  Wolfgang Jenkner  <wjenkner@inode.at>
17431         Fix parsing glitches in dired-mark-sexp (bug#13575)
17432         * lisp/dired-x.el (dired-x--string-to-number): New function.
17433         (dired-mark-sexp): Use it.  Tweak dired-re-inode-size.  Fix usage
17434         of directory-listing-before-filename-regexp.  Consider
17435         forward-word harmful and replace it.  Add more verbiage in
17436         comments and doc string.
17438 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
17440         python.el: Respect process environment for remote shells
17441         * lisp/progmodes/python.el
17442         (python-shell-calculate-process-environment): Calculate
17443         process-environment or tramp-remote-process-environment depending
17444         whether current file is remote.
17445         (python-shell-calculate-exec-path): Calculate exec-path or
17446         tramp-remote-path depending whether current file is remote.
17447         (python-shell-with-environment): New macro.
17448         (python-shell-prompt-detect, python-shell-calculate-command)
17449         (python-shell-make-comint, python-check): Use it.
17451         python.el: Avoid making let-bound defvars buffer local  (Bug#18244)
17452         * lisp/progmodes/python.el (python-shell--interpreter)
17453         (python-shell--interpreter-args): New vars.
17454         (inferior-python-mode, python-shell-make-comint): Use them.
17456         python.el: Fixes for IPython 3.x  (Bug#20580)
17457         * lisp/progmodes/python.el:
17458         (python-shell-completion-native-setup): Fix IPython 3.x setup.
17459         (python-shell-completion-native-get-completions): Fix timeout
17460         logic.
17462         python.el: Fix mark-defun behavior  (Bug#19665)
17463         * lisp/progmodes/python.el (python-mark-defun): New function.
17464         * test/automated/python-tests.el (python-mark-defun-1)
17465         (python-mark-defun-2, python-mark-defun-3): New tests.
17467 2015-07-05  Glenn Morris  <rgm@gnu.org>
17469         * lisp/progmodes/f90.el (f90-type-def-re): Handle attribute lists
17470         such as "extends(parent), private".  (Bug#20969)
17471         * test/automated/f90.el (f90-test-bug20969, f90-test-bug20969b):
17472         New tests.
17474 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
17476         Avoid duplicate calls to current_timespec
17477         * src/process.c (wait_reading_process_output):
17478         Cache current_timespec results as long as we're not waiting.
17480 2015-07-05  Ian Kelling  <ian@iankelling.org>
17482         Avoid returning early reading process output due to SIGIO
17483         * src/process.c (wait_reading_process_output): Extend the behavior of
17484         not breaking due to not finding output when a timer has lowered the
17485         timeout to include when SIGIO lowers the timeout.
17487         Don't return as fast reading any process output
17488         * src/process.c (wait_reading_process_output):
17489         The patch for Bug#17647 returns too fast sometimes when reading
17490         from any processes.  Revert part of it, and limit the timeout more
17491         sensibly (Bug#20978).
17493         Refactor timeouts in wait_reading_process_output
17494         * src/process.c (wait_reading_process_output):
17495         Simplify timeouts with an enum.  Remove a redundant condition.
17496         (Bug#20978)
17498         Remove ADAPTIVE_READ_BUFFERING ifdef
17499         * src/process.c (make-process, make-pipe-process, deactivate_process)
17500         (wait_reading_process_output, read_process_output, send_process)
17501         (init_process_emacs): ifdef ADAPTIVE_READ_BUFFERING was originally
17502         added in case there was an operating system in which it was not
17503         useful.  That was 11 years ago and it hasn't happened.  Make
17504         development easier by not considering the effect of changes on a
17505         theoretical OS where this is disabled (Bug#20978).
17507 2015-07-05  Glenn Morris  <rgm@gnu.org>
17509         * lisp/simple.el (set-variable): Doc fix.
17511         * lisp/progmodes/fortran.el (fortran-line-length): Doc fix.
17513 2015-07-05  Ian Kelling  <ian@iankelling.org>
17515         accept-process-output fix
17516         This is a followon to the fix for bug#17647 (Bug#20976).
17517         * src/process.c (status_notify): Fix too high return in some cases.
17519 2015-07-05  Artur Malabarba  <bruce.connor.am@gmail.com>
17521         * lisp/character-fold.el (character-fold-table):
17522         Only fold decompositions if at least one character is non-spacing.
17523         (Bug#20975)
17525 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
17527         Merge from gnulib
17528         This incorporates:
17529         2015-07-04 file-has-acl, acl-permissions: fix HP-UX typos
17530         2015-07-03 set-permissions.c: adjust acl_from_mode's cpp guard
17531         2015-07-02 update-copyright: fix test failure with perl >= 5.22
17532         2015-07-01 gnulib-common.m4: change the ARFLAGS default to 'cr'
17533         2015-07-01 acl: fix definition of acl_from_mode on FreeBSD
17534         * build-aux/update-copyright, doc/misc/texinfo.tex, lib/acl-internal.h:
17535         * lib/set-permissions.c, m4/gnulib-common.m4: Copy from gnulib.
17537 2015-07-05  Christoph Wedler  <christoph.wedler@sap.com>
17539         Respect `prog-indentation-context' in python.el
17540         * lisp/progmodes/python.el (python-indent-guess-indent-offset)
17541         (python-indent-context, python-indent--calculate-indentation)
17542         (python-info-current-defun)
17543         (python-info-dedenter-opening-block-message)
17544         (python-info-line-ends-backslash-p)
17545         (python-info-beginning-of-backslash)
17546         (python-info-continuation-line-p): Use `prog-widen'.
17547         (python-indent--calculate-indentation)
17548         (python-indent--calculate-levels)
17549         (python-indent-calculate-indentation): Use `prog-first-column'.
17550         (python-indent--calculate-levels): Simplify.
17551         Ignore also initial empty lines for syntax calculation.
17552         * lisp/progmodes/python.el (python-indent-context): Return
17553         :no-indent for first non-empty line, not just in line 1.
17554         * test/automated/python-tests.el (python-indent-base-case)
17555         (python-indent-inside-paren-1, python-indent-inside-paren-2)
17556         (python-indent-inside-paren-3, python-indent-inside-paren-4)
17557         (python-indent-inside-paren-5, python-indent-inside-paren-6)
17558         (python-indent-after-backslash-1)
17559         (python-indent-after-backslash-2)
17560         (python-indent-after-backslash-3)
17561         (python-indent-after-backslash-4, python-indent-inside-string-1):
17562         Expect :no-indent for first non-empty line.
17564 2015-07-04  Daniel Colascione  <dancol@dancol.org>
17566         Factor isearch word description into new function
17567         * lisp/isearch.el (isearch--describe-word-mode): New function.
17568         (isearch-message-prefix, isearch-query-replace): Use it.
17570 2015-07-04  Eli Zaretskii  <eliz@gnu.org>
17572         Fix mouse pointer on w32 when a menu is active
17573         * src/w32fns.c (w32_wnd_proc): Don't change the mouse pointer
17574         shape while a menu is in use.  This started happening since we now
17575         send WM_EMACS_SHOWCURSOR messages when the mouse moves.
17577 2015-07-04  Martin Rudalics  <rudalics@gmx.at>
17579         Fix processing of alpha parameter for Windows tip frames  (Bug#17344)
17580         * src/w32fns.c (x_create_tip_frame): Fix processing alpha
17581         parameter.  (Bug#17344)
17583         Have `compilation-set-window' use right window for getting fringes
17584         (Bug#20829)
17585         * lisp/progmodes/compile.el (compilation-set-window):
17586         Take `window-fringes' from argument window.
17588 2015-07-03  Glenn Morris  <rgm@gnu.org>
17590         Update eieio tests for recent eieio-core change.
17591         * test/automated/eieio-test-persist.el (persist-test-save-and-compare):
17592         * test/automated/eieio-tests.el
17593         (eieio-test-32-slot-attribute-override-2):
17594         Replace the deleted eieio--class-v with cl--find-class.
17596 2015-07-03  Martin Rudalics  <rudalics@gmx.at>
17598         Fix some issues with `window-divider-mode'
17599         * lisp/frame.el (window-divider-default-places): New option.
17600         (window-divider-mode): Remove option.
17601         (window-divider-mode): Make it a "regular" minor mode.
17602         (window-divider-width-valid-p): Drop frame- prefix.
17603         (window-divider-mode-apply): New argument ENABLE.  Drop frame-
17604         prefix.  Handle `window-divider-default-places'.
17605         (frame--window-divider-mode-set-and-apply): Remove.
17606         (window-divider-default-bottom-width)
17607         (window-divider-default-right-width): Drop :group entries.
17608         * lisp/menu-bar.el (menu-bar-bottom-and-right-window-divider)
17609         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
17610         (menu-bar-no-window-divider): Set `window-divider-default-places'
17611         and call `window-divider-mode'.
17612         * doc/emacs/frames.texi (Window Dividers): Document
17613         `window-divider-default-places'.
17615 2015-07-02  Xue Fuqiao  <xfq.free@gmail.com>
17617         * doc/emacs/display.texi (Displaying Boundaries):
17618         * doc/emacs/search.texi (Word Search): Add cross references.
17620 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
17622         -batch should not affect ‘’ -> `' display
17623         * lisp/startup.el (command-line): Do the ‘’ -> `' check even if
17624         -batch (Bug#20926).
17626 2015-07-02  Stefan Monnier  <monnier@iro.umontreal.ca>
17628         * lisp/emacs-lisp/eieio-core.el (eieio--class-v): Remove
17629         * lisp/emacs-lisp/eieio-core.el, lisp/emacs-lisp/eieio.el:
17630         * lisp/emacs-lisp/eieio-opt.el, lisp/emacs-lisp/eieio-compat.el:
17631         Use cl--find-class instead.
17633         * lisp/term/xterm.el (xterm--query): Fix paren typo (bug#20951).
17635 2015-07-02  Martin Rudalics  <rudalics@gmx.at>
17637         Some further fixes in Change Window node (Bug#20183)
17638         * doc/emacs/windows.texi (Change Window): Replace "rearranging"
17639         by "resizing" in section title.  Add some concept indices.
17640         Suggested by N. Jackson (Bug#20183).
17642         * doc/emacs/windows.texi (Change Window): Reference window
17643         dividers.
17645         Document new `window-divider-mode'.
17646         * lisp/frame.el (window-divider-mode): Fix doc-string.
17647         * doc/emacs/frames.texi (Window Dividers): New section.
17649         Improve accessibility of window dividers (Bug#20183)
17650         * lisp/faces.el (window-divider)
17651         (window-divider-first-pixel, window-divider-last-pixel): Change
17652         membership from `frames' to `window-divider' customization group.
17653         * lisp/frame.el (window-divider): New customization group.
17654         (window-divider-mode): New minor mode.
17655         (window-divider-default-bottom-width)
17656         (window-divider-default-right-width): New options.
17657         (frame--window-divider-previous-mode): New variable.
17658         (frame-window-divider-width-valid-p)
17659         (frame--window-divider-mode-apply)
17660         (frame--window-divider-mode-set-and-apply): New functions.
17661         * lisp/menu-bar.el (menu-bar-options-save): Save
17662         window-divider-mode settings.
17663         (menu-bar-window-divider-customize)
17664         (menu-bar-bottom-and-right-window-divider)
17665         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
17666         (menu-bar-no-window-divider): New functions.
17667         (menu-bar-showhide-window-divider-menu): New variable.
17668         (menu-bar-showhide-menu): Show/hide window divider menu.
17669         * lisp/mouse.el (mouse-split-window-vertically)
17670         (mouse-split-window-horizontally): Replace `error' by
17671         `user-error'.  Bind `window-combination-resize' to nil.
17672         (top-level): Add/reorder mouse key bindings on mode- and
17673         vertical-line.
17675 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
17677         Don't display ‘’ as `' under X in en_GB
17678         The curved quote setup code invokes (char-displayable-p ?‘),
17679         but this isn’t reliable until after the X frame replaces the
17680         terminal frame (Bug#20926).
17681         * lisp/international/mule-cmds.el (set-locale-environment):
17682         Move curved quote setup code from here ...
17683         * lisp/startup.el (command-line): ... to here, after creating
17684         the X frame.
17686 2015-07-01  Nicolas Richard  <youngfrog@members.fsf.org>
17688         * lisp/emacs-lisp/seq.el (seq-difference): Fix typo in docstring.
17690         * lisp/ido.el (ido-restrict-to-matches): Add an optional argument
17691         to reverse the meaning (Bug#15631).
17693 2015-07-01  Eli Zaretskii  <eliz@gnu.org>
17695         Be more tolerant to fonts named "Foobar-12"
17696         * src/frame.c (x_set_font): If font_spec_from_name returns nil,
17697         don't barf; instead, request a new fontset to be generated.  This
17698         avoids unnecessarily rejecting fonts named against XLFD rules.  See
17699         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html,
17700         for the description of the original problem.
17701         * lisp/faces.el (set-face-attribute): Don't be fooled too easily
17702         by a hyphen in a font's name.
17704         Fix value of posn-at-pont in R2L lines
17705         * src/keyboard.c (Fposn_at_x_y, Fposn_at_point): Allow X pixel
17706         coordinate of -1, for a newline in a right-to-left line that
17707         overflowed into the left fringe.
17709 2015-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
17711         (cl--copy-slot-descriptor): Copy the `props' alist as well
17712         * lisp/emacs-lisp/cl-preloaded.el (cl--copy-slot-descriptor-1):
17713         Rename from cl--copy-slot-descriptor.
17714         (cl--copy-slot-descriptor): New function.  Copy the alist (bug#20914).
17716 2015-06-30  Stefan Monnier  <monnier@iro.umontreal.ca>
17718         * lisp/term/xterm.el (xterm--query): Avoid generating garbage
17719         (xterm-query-timeout): New var.
17720         (xterm--query): Use it.  Fallback on async method if we timeout before
17721         getting the first byte of the reply (bug#12354).
17723 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
17725         Spelling fixes
17726         * lisp/character-fold.el (character-fold-search):
17727         * lisp/emacs-lisp/package.el (package-hidden-regexps):
17728         Fix typos.
17730 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
17732         * doc/emacs/frames.texi (Frame Commands): Typo fix.  (Bug#20946)
17734 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
17736         In strings, prefer plain ` and ' to \` and \'
17737         * lisp/allout.el (allout-insert-listified):
17738         * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
17739         * lisp/ls-lisp.el (ls-lisp-UCA-like-collation)
17740         (ls-lisp-string-lessp):
17741         * lisp/menu-bar.el (menu-bar-open):
17742         * lisp/obsolete/otodo-mode.el (todo-top-priorities):
17743         * lisp/progmodes/compile.el (compile):
17744         * lisp/progmodes/etags.el (tags-loop-scan):
17745         * lisp/progmodes/make-mode.el (makefile-browser-insert-continuation):
17746         * lisp/subr.el (posn-actual-col-row):
17747         * lisp/term/pc-win.el (x-list-fonts):
17748         * lisp/textmodes/texinfmt.el (texinfmt-version):
17749         * lisp/textmodes/texnfo-upd.el (texinfo-master-menu):
17750         * lisp/time.el (display-time-world-list):
17751         * lisp/tmm.el (tmm-menubar):
17752         * src/buffer.c (syms_of_buffer):
17753         * src/fileio.c (syms_of_fileio):
17754         Omit unnecessary and confusing backslash before quote.
17755         * lisp/erc/erc.el (erc-cmd-LASTLOG):
17756         * lisp/progmodes/flymake.el (flymake-fix-file-name):
17757         * lisp/progmodes/vhdl-mode.el (vhdl-in-extended-identifier-p):
17758         Fix string that was intended to escape a backslash and not a quote.
17760 2015-06-30  Glenn Morris  <rgm@gnu.org>
17762         * leim/Makefile.in, lisp/Makefile.in: Add missing EXEEXT definition.
17764         * lisp/Makefile.in (MH_E_SRC, TRAMP_SRC, CAL_SRC):
17765         Replace hard-coded lists with wildcard + filter-out.
17767         * configure.ac (system-configuration-features): Add X11, NS.
17769         Improve reproducibility of generated loaddefs file
17770         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
17771         Make the return value the modtime of the input file (if no autoloads).
17772         (update-directory-autoloads): In the "no autoloads" section,
17773         use "most recent modtime" rather than "current time".
17775 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
17777         * lisp/emacs-lisp/package.el (package--remove-hidden): Fix logic.
17778         (Bug#20930)
17780 2015-06-30  Nicolas Petton  <nicolas@petton.fr>
17782         * doc/lispref/sequences.texi: Add documentation for seq-min and seq-max.
17784         Add seq-min and seq-max
17785         Bump version number.
17786         * lisp/emacs-lisp/seq.el (seq-min, seq-max): New functions.
17787         * test/automated/seq-tests.el: Add tests for seq-min and seq-max.
17789 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
17791         Make sure sleep-for always delays for as long as it's told
17792         * src/dispnew.c (Fsleep_for): Call wait_reading_process_output in
17793         a loop, to ensure we always wait exactly the required amount of
17794         time.  (Bug#15990)
17796 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
17798         Fix pointer signedness glitch
17799         * src/font.c (font_load_for_lface): Use SSDATA, not SDATA.
17801 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
17803         Don't block changes in mouse pointer inside 'track-mouse'
17804         * etc/NEWS:
17805         * doc/lispref/frames.texi (Mouse Tracking): Document the special
17806         effect of setting 'track-mouse' to 'dragging'.
17807         * lisp/textmodes/artist.el (artist-mouse-draw-continously):
17808         * lisp/ruler-mode.el (ruler-mode-mouse-drag-any-column-iteration):
17809         * lisp/mouse-drag.el (mouse-drag-throw):
17810         * lisp/mouse.el (mouse-drag-line): Set 'track-mouse' to 'dragging'
17811         to avoid changes in the shape of the mouse pointer.
17812         * src/xdisp.c (define_frame_cursor1): Don't change the mouse
17813         pointer shape when do_mouse_tracking has the value of 'dragging',
17814         not just any non-nil value.  (Bug#20934)
17815         (syms_of_xdisp): DEFSYM 'dragging'.
17817 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
17819         * lisp/isearch.el (isearch-toggle-word): Fix toggle.
17821         * lisp/emacs-lisp/package.el (package-compute-transaction):
17822         Don't assume version sorting.
17824         * lisp/emacs-lisp/package.el (package--save-selected-packages):
17825         Don't save before init time, to avoid overwriting configurations.
17826         (Bug#20855)
17828 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
17830         * doc/emacs/display.texi (Standard Faces, Fringes): Add cross
17831         references.
17833 2015-06-29  Ted Zlatanov  <tzz@lifelogs.com>
17835         Update for the upcoming CFEngine 3.7 release: support macros and
17836         quoted context strings; reformat JSON; indent promise attributes 2
17837         units by default; give function parameter descriptions in the eldoc
17838         glue.
17839         * lisp/progmodes/cfengine.el: Update version and docs and fix name.
17840         Autoload `json-pretty-print'.  Support new features in 3.7.
17841         (cfengine-parameters-indent): Set default promise attribute indent to
17842         2 more than the promise itself.
17843         (cfengine3-macro-regex): New variable to match the new macro syntax.
17844         (cfengine3-font-lock-keywords): Use it to highlight macros.
17845         (cfengine3-indent-line): Use it to indent macros to column 0.
17846         (cfengine3-class-selector-regex): Update for the new quoted strings
17847         format.
17848         (cfengine3-reformat-json-string): New function to reformat a JSON
17849         string using `json-pretty-print'.
17850         (cfengine3-format-function-docstring): Use function parameter
17851         description if it's provided by the cf-promises syntax dump.
17853 2015-06-29  Michael R. Mauger  <michael@mauger.com>
17855         Cygwin emacsclient handles w32 file names
17856         * lisp/server.el (server-process-filter): Allow Cygwin's
17857         emacsclient to be used as a file handler on MS-Windows.
17859 2015-06-29  Katsumi Yamaoka  <yamaoka@jpl.org>
17861         * lisp/isearch.el (isearch-exit): Don't call isearch-done twice
17862         (bug#20925).
17864 2015-06-29  Eli Zaretskii  <eliz@gnu.org>
17866         * doc/lispref/text.texi (Sticky Properties): Improve wording.
17867         (Bug#20924)
17869         Allow font names that end in "-NN", where NN is a number
17870         * src/font.c (font_load_for_lface): If the font-spec didn't match
17871         any available fonts, try again without interpreting trailing "-NN"
17872         as the font size.  For the description of the original problem, see
17873         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html
17875         .gdbinit followup to changes in !USE_LSB_TAG
17876         * src/.gdbinit (xgetsym): Don't left-shift $ptr even under
17877         !USE_LSB_TAG, as Emacs no longer does.
17879 2015-06-29  Wolfgang Jenkner  <wjenkner@inode.at>
17881         * lisp/calc-store.el (calc-insert-permanent-variable): Heed case.
17882         Otherwise `s p' of f and F will stomp on each other's value.
17883         (Bug#20916)
17885 2015-06-29  Artur Malabarba  <bruce.connor.am@gmail.com>
17887         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
17888         Don't block remember-pos if buffer isn't displayed.  (Bug#20921)
17890 2015-06-29  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
17892         * lisp/emacs-lisp/package.el (describe-package): Use symbol-at-point
17893         as additional guess.
17895         * lisp/emacs-lisp/package.el (describe-package): Convert the guess
17896         to a string.
17898 2015-06-28  Paul Eggert  <eggert@cs.ucla.edu>
17900         apropos-library quoting fix
17901         * lisp/apropos.el (apropos-library): Quote library consistently
17902         with the rest of the quoting used by apropos.
17904         Clarify interpreter-mode-alist doc
17905         * lisp/files.el (interpreter-mode-alist):
17906         Reword to avoid confusing quoting that wasn't working anyway.
17908 2015-06-28  Michael Albinus  <michael.albinus@gmx.de>
17910         Sync with Tramp 2.2.12
17911         * doc/misc/trampver.texi:
17912         * lisp/net/trampver.el: Update release number.
17913         * test/automated/tramp-tests.el (tramp-test13-make-directory):
17914         Fix cleanup.
17916 2015-06-28  Artur Malabarba  <bruce.connor.am@gmail.com>
17918         * lisp/isearch.el (isearch-mode): Don't char-fold regexps (bug#20913).
17920 2015-06-27  Dmitry Gutov  <dgutov@yandex.ru>
17922         Bind grep-highlight-matches around the rgrep call
17923         * lisp/progmodes/grep.el (zrgrep): Bind grep-highlight-matches
17924         around the rgrep call (bug#20728).
17926         Put "--color" before the other options in grep-command
17927         * lisp/progmodes/grep.el (grep-compute-defaults): Put "--color"
17928         before the other options in grep-command (bug#20912).
17930         Add --color Grep option to the command dynamically
17931         * lisp/progmodes/grep.el (grep-template, grep-find-template):
17932         Update the description for <C>.  (Bug#20728)
17933         (grep-compute-defaults): Don't add the --color option to
17934         grep-options.  Only add it to grep-command.
17935         (grep-expand-keywords): Expand the env value opts into <C>.
17936         (grep-expand-template): Replace cf in the env with the opts list,
17937         that can include -i and --color.
17938         * lisp/progmodes/xref.el (xref-collect-matches): Do not remove
17939         "--color=always" from the template, because we don't have to.
17941 2015-06-27  Paul Eggert  <eggert@cs.ucla.edu>
17943         cl-extra fixes for most-negative-fixnum
17944         * lisp/emacs-lisp/cl-extra.el (cl-gcd, cl-lcm, cl-random):
17945         Don't mishandle an argument equal to most-negative-fixnum,
17946         whose absolute value equals itself.
17947         (cl-gcd, cl-lcm): Use dolist rather than doing it by hand.
17949         Initialize cl--gensym-counter to 0
17950         Previously it was initialized to a random value, which made it
17951         harder to reproduce earlier Emacs runs.  The need for a random
17952         value went away when Emacs introduced and used the #: syntax for
17953         uninterned symbols (Bug#20862).
17954         * doc/misc/cl.texi (Creating Symbols, Common Lisp Compatibility):
17955         Document that cl--gensym-counter now starts with 0.
17956         * lisp/emacs-lisp/cl-lib.el (cl--gensym-counter): Remove.
17957         (cl--random-time): Move to near only remaining use.
17958         * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter): Initialize to 0.
17960         Improve docstring for macroexp-let2
17961         * lisp/emacs-lisp/macroexp.el (macroexp-let2):
17962         Improve as per suggestion by RMS in:
17963         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00621.html
17964         Also, rename args to match new doc string.
17966 2015-06-27  Eli Zaretskii  <eliz@gnu.org>
17968         Fix VC test suite on MS-Windows
17969         * lisp/vc/vc-svn.el (vc-svn-create-repo): Make sure the file: URL
17970         always starts with 3 slashes after the colon.
17971         * test/automated/vc-tests.el (vc-test--create-repo-function): Use
17972         'w32-application-type' to invoke CVS on MS-Windows with properly
17973         formatted CVSROOT directory name.
17975         Add a new function w32-application-type
17976         * src/w32proc.c (Fw32_application_type): New function.
17978         Avoid error in TLS connections due to incorrect format
17979         * src/gnutls.c (Fgnutls_boot): Use the %x conversion specifier in
17980         the call to 'error', instead of the unsupported %u.  Reported by
17981         lo2net <fangtao0901@gmail.com>.  (Bug#20908)
17983 2015-06-26  Artur Malabarba  <bruce.connor.am@gmail.com>
17985         * lisp/replace.el (replace-search): Fix regexp case (bug#20901).
17987 2015-06-26  Leo Liu  <sdl.web@gmail.com>
17989         * lisp/emacs-lisp/cl-indent.el: Fix indentation for
17990         `with-output-to-string' in elisp.
17992         Revert "lisp/emacs-lisp/cl-indent.el: Fix indent of
17993         with-output-to-string".
17994         This reverts commit 659199f2ca5f283fb246faa78a244e5ca25f53dd.
17996 2015-06-26  Eli Zaretskii  <eliz@gnu.org>
17998         Minor corrections in ELisp manual
17999         * doc/lispref/nonascii.texi (Character Properties): Correct
18000         inaccuracies in description of values of the Unicode properties.
18002         Fix invisible mouse pointers on Windows.
18003         * src/w32fns.c: Include windowsx.h.
18004         (w32_wnd_proc): If the mouse moved and the mouse pointer is
18005         invisible, make it visible again even when the main (Lisp)
18006         thread is busy.
18007         * src/w32term.c (w32_toggle_invisible_pointer): Rather then
18008         garbaging the frame have the input thread call SetCursor.
18010 2015-06-26  Martin Rudalics  <rudalics@gmx.at>
18012         Provide invisible mouse pointers on Windows (Bug#6105) (Bug#12922)
18013         * src/w32fns.c (w32_wnd_proc): Handle f->pointer_invisible
18014         for WM_SETCURSOR and WM_EMACS_SETCURSOR cases.
18015         * src/w32term.c (w32_hide_hourglass): Handle f->pointer_invisible.
18016         (w32_toggle_invisible_pointer): New function.
18017         (w32_create_terminal): Add w32_toggle_invisible_pointer as
18018         toggle_invisible_pointer_hook for this terminal.
18020 2015-06-25  Xue Fuqiao  <xfq.free@gmail.com>
18022         Doc fix for deletion commands
18023         'delete-char' does not respect the value of 'delete-active-region'.
18024         * doc/emacs/killing.texi (Deletion):
18025         Fix documentation for some single-char deletion commands.
18027         * doc/emacs/help.texi (Apropos):
18028         Improve documentation of 'apropos-do-all'.
18030         * doc/emacs/help.texi (Help Summary):
18031         Improve documentation of 'describe-mode'.
18033 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
18035         Fix submake dependency bug with .h files
18036         * src/Makefile.in ($(libsrc)/make-docfile$(EXEEXT)):
18037         Depend on $(lib)/libgnu.a, so that we build $(lib)/*/*.h
18038         before the submake in $(libsrc) would spin off a subsubmake
18039         for $(lib) in parallel with our submake for $(lib) (Bug#20894).
18041 2015-06-25  Artur Malabarba  <bruce.connor.am@gmail.com>
18043         * lisp/character-fold.el (character-fold-table): Reuse `table'.
18045 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
18047         Translate undisplayable ‘ to `
18048         * doc/lispref/help.texi (Keys in Documentation):
18049         * lisp/international/mule-cmds.el (set-locale-environment):
18050         * lisp/term/w32console.el (terminal-init-w32console):
18051         * src/doc.c (Fsubstitute_command_keys, Vhelp_quote_translation):
18052         If ‘ is not displayable, transliterate it to `, not to '.  See:
18053         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00542.html
18055         Fix C99 incompatibilities in Cairo code
18056         * src/image.c (xpm_load) [USE_CAIRO]:
18057         * src/xterm.c (x_cr_accumulate_data) [USE_CAIRO]:
18058         Fix pointer signedness problem.
18060 2015-06-25  Oleh Krehel  <ohwoeowho@gmail.com>
18062         lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string
18063         * lisp/emacs-lisp/cl-indent.el (common-lisp-indent-function):
18064         `with-output-to-string' should have the same indent as `progn'.
18065         This is in line with the declaration of `with-output-to-string'.
18067 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
18069         Get ‘./configure; make -C src emacs’ to work
18070         Without this fix, lib/fcntl.h isn't built in time (Bug#20894).
18071         * lib-src/Makefile.in (../lib/libgnu.a):
18072         * src/Makefile.in ($(lib)/libgnu.a): Build all, not libgnu.a.
18074 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
18076         Fix GC bugs --with-wide-int and Qnil == 0
18077         Use the same alignment for the !USE_LSB_TAG case as for the
18078         more-typical USE_LSB_TAG case.  The attempt to support arbitrary
18079         alignments with !USE_LSB_TAG had subtle bugs in garbage collection
18080         once we changed the representation of symbols so that Qnil == 0.
18081         Problem reported by Eli Zaretskii (Bug#20862).
18082         * src/alloc.c (XMALLOC_HEADER_ALIGNMENT) [XMALLOC_OVERRUN_CHECK]:
18083         * src/alloc.c (vector_alignment, union aligned_Lisp_Symbol)
18084         (union aligned_Lisp_Misc, maybe_lisp_pointer, pure_alloc):
18085         Use same alignment for !USE_LSB_TAG as for USE_LSB_TAG.
18086         * src/alloc.c (POINTERS_MIGHT_HIDE_IN_OBJECTS): Remove.
18087         This optimization in the !USE_LSB_TAG case is no longer valid when
18088         symbols are represented via offsets.  Change the only use to
18089         assume that pointers might hide in objects.
18090         * src/lisp.h (alignas) [!USE_LSB_TAG]:
18091         Require support in this case, too.
18092         (TAG_SYMOFFSET, XSYMBOL) [!USE_LSB_TAG]: Do not shift the offset.
18093         This is OK, because the !USE_LSB_TAG case now applies only when
18094         Lisp_Object is wider than void *, so there's no longer any need
18095         to shift the offset.  Not shifting the offset means that
18096         symbol representations have the same alignment as pointers,
18097         which the GC assumes.
18099 2015-06-24  Xue Fuqiao  <xfq.free@gmail.com>
18101         * doc/lispintro/emacs-lisp-intro.texi (Data types):
18102         Improve documentation of 'substring'.
18104 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
18106         * lisp/character-fold.el (character-fold-table): Fix table generation.
18108 2015-06-24  Glenn Morris  <rgm@gnu.org>
18110         * nextstep/Makefile.in (all): Make it the first target.
18111         (../src/emacs${EXEEXT}): Add rule for making it.
18113 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
18115         * etc/NEWS: Fix mention to old function name.
18117         * lisp/character-fold.el: New file (Bug#20887)
18118         (character-fold-to-regexp): New function.
18119         * lisp/replace.el (replace-search): Check value of
18120         `character-fold-search'.
18121         * lisp/isearch.el: Move character-folding code to
18122         character-fold.el
18123         (isearch-toggle-character-fold): New command.
18124         (isearch-mode-map): Bind it to "\M-sf".
18125         (isearch-mode): Check value of `character-fold-search'.
18127 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
18129         lisp/subr.el (remove-from-invisibility-spec): Handle the t case
18130         * lisp/subr.el (remove-from-invisibility-spec): Make sure `element'
18131         is visible even if it's not yet in buffer-invisibility-spec (bug#20468).
18133         * lisp/progmodes/xref.el (xref-location-group, xref-location-marker)
18134         (xref--insert-xrefs, xref-collect-references): Avoid init-args in oref.
18136 2015-06-24  Glenn Morris  <rgm@gnu.org>
18138         * Makefile.in (install-arch-dep): Don't set sticky bit on the binary.
18140 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
18142         lisp/gnus/nnmaildir.el: Silence lexical warnings
18143         * lisp/gnus/nnmaildir.el (nnmaildir--prepare): Use a more
18144         functional style.
18145         (nnmaildir--update-nov): Remove unused var `numdir'.
18146         (nnmaildir-request-type, nnmaildir--scan, nnmaildir-request-newgroups)
18147         (nnmaildir-request-group, nnmaildir-request-create-group)
18148         (nnmaildir-request-post, nnmaildir-request-move-article)
18149         (nnmaildir-request-accept-article, nnmaildir-active-number):
18150         Mark unused args.
18151         (nnmaildir-get-new-mail, nnmaildir-group-alist)
18152         (nnmaildir-active-file): Declare.
18153         (nnmaildir-request-scan): Remove unused vars `group' and `grp-dir'.
18154         (nnmaildir-request-update-info): Remove unused vars `dotfile', `num',
18155         `mark', `end', `new-mark', and `mark-sym'.
18156         (nnmaildir-retrieve-headers): Remove unused args `srv-dir', `dir',
18157         `nlist2'.
18158         (nnmaildir-request-expire-articles):
18159         Remove unused vars `article', `stop' and `nlist2'.
18160         (nnmaildir-request-set-mark): Remove unused vars `begin', `article' and
18161         `end'.  Use nnmaildir--article when dyn-binding is needed.
18162         Give the value directly in the `let' for `del-mark', `del-action',
18163         `add-action', and `set-action'.  Don't use `add-to-list' on a local var.
18164         (nnmaildir-close-server): Declare those local vars that need to be
18165         dyn-bound.
18167 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
18169         * src/keyboard.h (kbd_buffer_store_event_hold): Remove unused local.
18171         Port selection info fix to clang
18172         * src/keyboard.h (kbd_buffer_store_event_hold):
18173         Don't assume C11 semantics for alignof (Bug#20756).
18175         Fix bug that munged selection info
18176         On some optimizing C compilers, copying a structure did not
18177         copy the padding bytes between elements, and the type punning
18178         between struct input_data and struct selection_input_data did
18179         not work.  Change the C code to use a proper union type instead.
18180         Problem reported by YAMAMOTO Mitsuharu (Bug#20756).
18181         * src/keyboard.c (kbd_buffer, kbd_fetch_ptr, kbd_store_ptr)
18182         (readable_events, discard_mouse_events, kbd_buffer_events_waiting)
18183         (kbd_buffer_get_event, process_special_events, stuff_buffered_input)
18184         (mark_kboards):
18185         Use union buffered_input_event, not struct input_event.
18186         (clear_event, deliver_input_available_signal, process_special_events):
18187         Remove unnecessary forward decls.
18188         (kbd_buffer_store_buffered_event): New function, mostly just the
18189         old kbd_buffer_store_event_hold, except its argument is of type
18190         union buffered_input_event, not struct input_event.
18191         (kbd_buffer_unget_event): Define only if HAVE_X11, since it's
18192         not needed otherwise.  Argument is now of type
18193         struct selection_input_event *, not struct input_event *.
18194         All callers changed.
18195         (clear_event): Arg is now of type union buffered_input_event *,
18196         not struct input_event *.  All callers changed.
18197         * src/keyboard.h [HAVE_X11]: Include "xterm.h".
18198         (union buffered_input_event): New type.
18199         (kbd_buffer_store_event_hold): Now an inline function,
18200         defined here.
18201         * src/termhooks.h (EVENT_KIND_WIDTH): New constant.
18202         (struct input_event): Use it.
18203         * src/xselect.c (struct selection_event_queue):
18204         Make elements be of type struct selection_input_event,
18205         not struct input_event.
18206         (selection_input_event_equal): New static function.
18207         (x_queue_event): Use it.
18208         (x_queue_event, x_decline_selection_request)
18209         (x_selection_current_request, x_reply_selection_request)
18210         (x_handle_selection_request, x_handle_selection_clear)
18211         (x_handle_selection_event): Use struct selection_input_event,
18212         not struct input_event.  All callers changed.
18213         (x_convert_selection): Omit unused first arg.  All callers changed.
18214         (Fx_disown_selection_internal): Omit unnecessary union.
18215         * src/xterm.c (handle_one_xevent): Use new union buffered_input_event
18216         rather than rolling our own equivalent.  Prefer sie.kind when
18217         setting up that kind of structure.
18218         Call kbd_buffer_store_buffered_event, not kbd_buffer_store_event_hold.
18219         * src/xterm.h (struct selection_input_event: Use EVENT_KIND_WIDTH.
18220         (SELECTION_EVENT_DISPLAY, SELECTION_EVENT_DPYINFO)
18221         (SELECTION_EVENT_REQUESTOR, SELECTION_EVENT_SELECTION)
18222         (SELECTION_EVENT_TARGET, SELECTION_EVENT_PROPERTY)
18223         (SELECTION_EVENT_TIME, x_handle_selection_event):
18224         Arg is now of type struct selection_input_event *)
18225         not struct input_event *.  All callers changed.
18227 2015-06-23  Glenn Morris  <rgm@gnu.org>
18229         * Makefile.in (install-arch-dep): Simplify with Make conditionals.
18231 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
18233         * lisp/isearch.el: Fold many unicode characters to ASCII.
18234         (isearch-character-fold-search, isearch--character-fold-extras)
18235         (isearch--character-fold-table): New variable.
18236         (isearch--character-folded-regexp): New function.
18237         (isearch-search-fun-default): Use them.
18238         * lisp/replace.el (replace-character-fold): New variable.
18239         (replace-search): Use it.
18240         * etc/NEWS: Document it.
18242 2015-06-23  Glenn Morris  <rgm@gnu.org>
18244         Check for an input event before showing a dialog box.  (Bug#20813)
18245         * lisp/subr.el (y-or-n-p):
18246         * src/fns.c (Fyes_or_no_p): Check last-input-event as well
18247         as last-nonmenu-event.
18249 2015-06-23  Jürgen Hartmann  <juergen_hartman_@hotmail.com>  (tiny change)
18251         Respect ‘switch-to-visible-buffer’ more rigidly.  (Bug#20861)
18252         * lisp/window.el (switch-to-visible-buffer): Doc adjustment.
18253         (switch-to-prev-buffer, switch-to-next-buffer): Respect
18254         switch-to-visible-buffer independent of the windows history.
18256 2015-06-23  Paul Eggert  <eggert@cs.ucla.edu>
18258         * src/keyboard.c (last_timer_event): Remove unused var.
18260 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
18262         * test/automated/package-test.el (package-test-update-listing):
18263         Fix test.
18265 2015-06-23  Glenn Morris  <rgm@gnu.org>
18267         Revert 2014-06-25 nextstep/Makefile change.
18268         * nextstep/Makefile.in (${ns_appbindir}): Remove rule.
18269         (${ns_appbindir}/Emacs, links): Create ns_appbindir in the rule,
18270         not as an order-only prerequisite.
18272         * configure.ac (--with-ns): Enable by default on OS X.
18274 2015-06-23  Leo Liu  <sdl.web@gmail.com>
18276         Fix shell-for/backward-command to exclude spaces
18277         * lisp/shell.el (shell-forward-command, shell-backward-command):
18278           Handle the 'move case from re-search-forward/backward.
18279           fixes debbugs:20873
18281 2015-06-22  Juri Linkov  <juri@linkov.net>
18283         * lisp/replace.el (query-replace-read-from): Add separator to
18284         the local binding of text-property-default-nonsticky.  (Bug#20690)
18286         * lisp/simple.el (shell-command-on-region): Replace 'error' with 'user-error'.
18287         (Bug#20785)
18289 2015-06-22  Ken Brown  <kbrown@cornell.edu>
18291         Enable CPU profiling on Cygwin
18292         * src/syssignal.h [CYGWIN] (PROFILER_CPU_SUPPORT): Revert previous
18293         change that undefined this.
18294         (SIGEV_SIGNAL): Ensure that this is defined as a macro.
18295         * src/profiler.c [CYGWIN] (timer_getoverrun): Define as a macro on
18296           Cygwin.
18298         Improve diagnostics of profiler-cpu-start
18299         * src/profiler.c (setup_cpu_timer): Change return type to 'int';
18300         return -1 if the sampling interval is invalid.
18301         (Fprofiler_cpu_start): Improve error message if 'setup_cpu_timer'
18302         fails.  (Bug#20843)
18304 2015-06-22  Artur Malabarba  <bruce.connor.am@gmail.com>
18306         * lisp/emacs-lisp/package.el: Exclude packages by name.
18307         (package-hidden-regexps): New variable.
18308         (package-menu--refresh): Use it.
18309         (package-menu-hide-package): New command.
18311         * lisp/emacs-lisp/package.el: Rename hide-obsolete to toggle-hiding.
18313 2015-06-22  Eli Zaretskii  <eliz@gnu.org>
18315         Fix debug-timer-check on systems without HAVE_TIMERFD
18316         * src/atimer.c (Fdebug_timer_check) [!HAVE_TIMERFD]: Actively run
18317         the expired timers, since wait_reading_process_output doesn't.
18318         (debug_timer_callback): Enlarge the tolerance to 20 msec.
18320         Fix RCS crashes in vc-test
18321         * lisp/vc/vc-rcs.el (vc-rcs-register): Avoid crashes with some old
18322         ports of 'ci' on MS-Windows by always passing the -t- switch.
18324 2015-06-22  Glenn Morris  <rgm@gnu.org>
18326         * doc/emacs/package.texi (Packages):
18327         * doc/emacs/trouble.texi (Known Problems): Remove faq cross-references.
18329         * doc/misc/efaq-w32.texi (Downloading): Copyedits.  (Bug#20851)
18331 2015-06-22  Paul Eggert  <eggert@cs.ucla.edu>
18333         Port tests to help-quote-translation
18334         * test/automated/ert-x-tests.el (ert-test-describe-test):
18335         * test/automated/package-test.el (package-test-describe-package)
18336         (package-test-signed): Allow straight quotes, too.
18338 2015-06-22  Dmitry Gutov  <dgutov@yandex.ru>
18340         Make find-function-on-key use the current window
18341         * lisp/emacs-lisp/find-func.el (find-function-on-key-do-it):
18342         Extract from `find-function-on-key', add a second argument.
18343         (find-function-on-key): Use it (bug#19679).
18344         (find-function-on-key-other-window)
18345         (find-function-on-key-other-frame): New commands.
18347 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
18349         Revert "Define `map-elt' as a generalized variable"
18350         This reverts commit 8b6d82d3ca86f76ed964063b3941a7c6ab0bf1c6.
18352 2015-06-21  Ken Brown  <kbrown@cornell.edu>
18354         Drop support for CPU profiling on Cygwin
18355         * src/syssignal.h (PROFILER_CPU_SUPPORT): Don't define on Cygwin.
18356         (Bug#20843)
18358 2015-06-21  Paul Eggert  <eggert@cs.ucla.edu>
18360         Fix some “nested” quoting confusion in doc strings
18361         * lisp/emacs-lisp/advice.el (ad-map-arglists):
18362         * lisp/kermit.el (kermit-clean-on):
18363         * lisp/mh-e/mh-comp.el (mh-repl-group-formfile):
18364         * src/keyboard.c (Frecursive_edit):
18365         Use curved quotes when quoting text containing apostrophe,
18366         so that the apostrophe isn't curved in the output.
18368 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
18370         Define `map-elt' as a generalized variable
18371         * lisp/emacs-lisp/map.el (map-elt): Define a gv-expander.
18372         * lisp/emacs-lisp/map.el (map--dispatch): Tighten the code.
18373         * lisp/emacs-lisp/map.el (map-put): Redefine it as a function using a
18374         `setf' with `map-elt'.
18375         * test/automated/map-tests.el: Comment out `test-map-put-literal'.
18377 2015-06-21  Michael Albinus  <michael.albinus@gmx.de>
18379         Improve error handling in tramp-adb.el
18380         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy):
18381         Improve error handling.
18383 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
18385         Reuse `alist-get' in map.el
18386         * lisp/emacs-lisp/map.el (map-elt): Use `alist-get' to retrieve alist
18387         elements.
18389 2015-06-21  Eli Zaretskii  <eliz@gnu.org>
18391         Fix bytecomp-tests--warnings when $TMPDIR has a long name
18392         * test/automated/bytecomp-tests.el (bytecomp-tests--warnings):
18393         Allow the warning to begin on the 3rd, not only 2nd line, which
18394         happens if temporary-file-directory has a very long name.
18396         Expect 2 icalendar tests to fail on MS-Windows
18397         * test/automated/icalendar-tests.el (icalendar-import-with-timezone)
18398         (icalendar-real-world): Make them expected failures on MS-Windows.
18400 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
18402         Improve port of settings UI to older displays
18403         * lisp/cus-start.el (standard): Don't assume curved quotes are
18404         easily distinguishable when users are tinkering with a setting
18405         that affects how curved quotes are generated.
18407         Fix quoting in electric-quote-mode doc string
18408         * lisp/electric.el (electric-quote-mode): Fix quoting.
18409         This is a fallout from the recent change introducing
18410         ‘help-quote-translation’.
18412         Spelling fix
18414         * doc/misc/texinfo.tex, lib/set-permissions.c: Merge from gnulib.
18416         * src/doc.c (syms_of_doc): Remove unused symbols.
18418 2015-06-20  Martin Rudalics  <rudalics@gmx.at>
18420         * lisp/window.el (window-state-put): Undedicate target window
18421         before putting STATE into it.  (Bug#20848)
18423 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
18425         Merge from origin/emacs-24
18426         a5e6f33 Fixes: debbugs:20832
18427         b9f02cf Fixes: debbugs:20832
18429 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
18431         Fix file-in-directory-p when the directory is UNC
18432         * lisp/files.el (file-in-directory-p): Support files and
18433         directories that begin with "//".  (Bug#20844)
18435 2015-06-19  Stephen Berman  <stephen.berman@gmx.net>
18437         * lisp/calendar/todo-mode.el (todo-show): Don't visit todo file
18438         in the minibuffer.  (Bug#20832)
18440 2015-06-19  Nicolas Richard  <youngfrog@members.fsf.org>
18442         * lisp/calendar/todo-mode.el (todo-show): Signal an error if buffer
18443         for adding new todo file is empty but modified.  (Bug#20832)
18445 2015-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
18447         (filepos-to-bufferpos): Further tweaks to the utf-16 code
18448         * lisp/international/mule-util.el (filepos-to-bufferpos):
18449         Fix typo.  Move non-exact check to the utf-16 branch (the only one
18450         affected).  Don't use byte-to-position for the utf-16 case.
18452 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
18454         Minor fixes in filepos-to-bufferpos
18455         * lisp/international/mule-util.el (filepos-to-bufferpos): Remove
18456         test for utf-8-emacs.  Exempt single-byte encodings from the
18457         'use-exact' path when QUALITY is 'exact'.  Test UTF-16 encodings
18458         for BOM before subtracting 2 bytes.  Use 'identity' when adjusting
18459         UTF-16 encoded files for CR-LF EOLs.
18461 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
18463         Improve the optional translation of quotes
18464         Fix several problems with the recently-added custom variable
18465         help-quote-translation where the code would quote inconsistently
18466         in help buffers.  Add support for quoting 'like this', which
18467         is common in other GNU programs in ASCII environments.  Change
18468         help-quote-translation to use more mnemonic values: values are now the
18469         initial quoting char, e.g., (setq help-quote-translation ?`) gets the
18470         traditional Emacs help-buffer quoting style `like this'.  Change the
18471         default behavior of substitute-command-keys to match what's done in
18472         set-locale-environment, i.e., quote ‘like this’ if displayable,
18473         'like this' otherwise.
18474         * doc/lispref/help.texi (Keys in Documentation): Document
18475         new behavior of substitute-command-keys, and document
18476         help-quote-translation.
18477         * doc/lispref/tips.texi (Documentation Tips):
18478         Mention the effect of help-quote-translation.
18479         * etc/NEWS: Mention new behavior of substitute-command-keys,
18480         and merge help-quote-translation news into it.
18481         When talking about doc strings, mention new ways to type quotes.
18482         * lisp/cedet/mode-local.el (overload-docstring-extension):
18483         Revert my recent change to this function, which shouldn't be
18484         needed as the result is a doc string.
18485         * lisp/cedet/mode-local.el (mode-local-print-binding)
18486         (mode-local-describe-bindings-2):
18487         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
18488         * lisp/cus-theme.el (describe-theme-1):
18489         * lisp/descr-text.el (describe-text-properties-1, describe-char):
18490         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
18491         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
18492         (eieio-help-constructor):
18493         * lisp/emacs-lisp/package.el (describe-package-1):
18494         * lisp/faces.el (describe-face):
18495         * lisp/help-fns.el (help-fns--key-bindings)
18496         (help-fns--compiler-macro, help-fns--parent-mode)
18497         (help-fns--obsolete, help-fns--interactive-only)
18498         (describe-function-1, describe-variable):
18499         * lisp/help.el (describe-mode):
18500         Use substitute-command-keys to ensure a more-consistent quoting
18501         style in help buffers.
18502         * lisp/cus-start.el (standard):
18503         Document new help-quote-translation behavior.
18504         * lisp/emacs-lisp/lisp-mode.el (lisp-fdefs):
18505         * lisp/help-mode.el (help-xref-symbol-regexp, help-xref-info-regexp)
18506         (help-xref-url-regexp):
18507         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
18508         * lisp/wid-edit.el (widget-documentation-link-regexp):
18509         Also match 'foo', in case we're in a help buffer generated when
18510         help-quote-translation is ?'.
18511         * src/doc.c: Include disptab.h, for DISP_CHAR_VECTOR.
18512         (LEFT_SINGLE_QUOTATION_MARK, uLSQM0, uLSQM1, uLSQM2, uRSQM0)
18513         (uRSQM1, uRSQM2, LSQM, RSQM): New constants.
18514         (Fsubstitute_command_keys): Document and implement new behavior.
18515         (Vhelp_quote_translation): Document new behavior.
18517 2015-06-18  Glenn Morris  <rgm@gnu.org>
18519         * lisp/cus-start.el (help-quote-translation): Add :version.
18521         * src/doc.c (Fsubstitute_command_keys): Make previous change compile.
18523 2015-06-18  Alan Mackenzie  <acm@muc.de>
18525         Make translation of quotes to curly in doc strings optional.
18526         * src/doc.c (traditional, prefer-unicode): New symbols.
18527         (help-quote-translation): New variable.
18528         (Fsubstitute_command_keys): Make translation of quotes dependent on
18529         `help-quote-translation'; also translate curly quotes back to ASCII
18530         ones.
18531         * lisp/cus-start.el (top-level): Add a customization entry for
18532         `help-quote-translation'.
18534 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
18536         * lisp/emacs-lisp/package.el: Don't always propagate async errors
18537         (package--with-work-buffer-async): Only propagate the error if the
18538         callback returns non-nil.
18539         (package--download-one-archive): Return nil on the signature
18540         checking callback if we accept unsigned.
18541         (package--download-and-read-archives): Return non-nil on the
18542         archive download callback.
18544 2015-06-18  Martin Rudalics  <rudalics@gmx.at>
18546         Set image_cache_refcount before x_default_parameter calls.  (Bug#20802)
18547         * src/nsfns.m (Fx_create_frame):
18548         * src/xfns.c (Fx_create_frame, x_create_tip_frame): Move setting
18549         image_cache_refcount before first x_default_parameter call.
18551 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
18553         Improve and extend filepos-to-bufferpos
18554         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
18555         Don't barf if F returns nil for some argument.
18556         (filepos-to-bufferpos): Expand to support UTF-16 and not assume
18557         that every encoding of type 'charset' is single-byte.
18559 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
18561         * lisp/emacs-lisp/package.el (package-menu--perform-transaction):
18562         Properly delete packages.  (Bug#20836)
18564 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
18566         Update data files from just-released Unicode 8.0
18567         * etc/NEWS: Update wording since Unicode 8.0 is no longer in draft
18568         status.
18569         * test/BidiCharacterTest.txt: Update from Unicode 8.0.
18570         * admin/unidata/BidiMirroring.txt:
18571         * admin/unidata/BidiBrackets.txt:
18572         * admin/unidata/UnicodeData.txt: Update from Unicode 8.0.
18574 2015-06-18  Paul Eggert  <eggert@cs.ucla.edu>
18576         Document curved quotes a bit better
18577         * doc/emacs/basic.texi (Inserting Text):
18578         Mention C-x 8.  Change example to use curved quote rather
18579         than infinity, as this lets us give more ways to do it.
18580         * doc/emacs/mule.texi (International Chars): Mention C-x 8 shortcuts
18581         and quotation marks.
18582         * doc/emacs/text.texi (Quotation Marks):
18583         * doc/lispref/tips.texi (Documentation Tips):
18584         Add "curly quotes" and "curved quotes" to the index.
18585         * doc/emacs/text.texi (Quotation Marks):
18586         Give the C-x 8 shorthands for curved quotes.
18587         Cross-reference to "Quotation Marks".
18589 2015-06-17  Daiki Ueno  <ueno@gnu.org>
18591         Add pinentry.el for better GnuPG integration
18592         * lisp/pinentry.el: New file.
18593         * etc/NEWS: Add entry about pinentry.el.
18594         * lisp/epg.el (epg--start): Set INSIDE_EMACS envvar.
18595         (Bug#20550)
18597 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
18599         * lisp/emacs-lisp/package.el: Slightly better error reporting.
18601 2015-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
18603         (define-minor-mode): Use setq-default for :global minor modes
18604         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode):
18605         Use setq-default for :global minor modes (bug#20712).
18607 2015-06-17  Eli Zaretskii  <eliz@gnu.org>
18609         Avoid infloop in redisplay with tall images
18610         * src/xdisp.c (try_scrolling): Prevent an infloop when scrolling
18611         down near ZV.  (Bug#20808)
18612         Call bidi_unshelve_cache to avoid memory leaks.  Use IT_CHARPOS
18613         instead of CHARPOS.
18615 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
18617         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
18618         Fix error reporting.
18620         * lisp/let-alist.el: Move to lisp/emacs-lisp/let-alist.el
18622         * lisp/emacs-lisp/package.el: Revert buffer after any operation
18623         Call `package-menu--post-refresh' after any operation that changes
18624         the package database (`package-install' and `package-delete').  To
18625         avoid performance issues in large transactions, these functions
18626         add `post-refresh' to `post-command-hook' instead of calling it
18627         immediately.
18628         (package-menu--mark-or-notify-upgrades): New function.
18629         (list-packages): Add it to `package--post-download-archives-hook'.
18630         (package-menu--post-refresh): Lose the upgrade-checking code, add
18631         code to remove itself from `post-command-hook'.
18632         (package-install, package-delete): Add it to `post-command-hook'.
18633         (package-menu-execute): Don't call `package-menu--post-refresh'.
18635 2015-06-17  Stephen Leake  <stephen_leake@stephe-leake.org>
18637         Add missing function xref-location-group for elisp-mode.
18638         * lisp/progmodes/elisp-mode.el: Add missing function xref-location-group.
18640 2015-06-17  Wolfgang Jenkner  <wjenkner@inode.at>
18642         * src/editfns.c (Fbyte_to_position): Fix bytepos not at char boundary.
18643         The behavior now matches the description in the manual.  (Bug#20783)
18645 2015-06-17  Xue Fuqiao  <xfq.free@gmail.com>
18647         * etc/tutorials/TUTORIAL.cn: Update; synchronize with TUTORIAL.
18649 2015-06-17  Glenn Morris  <rgm@gnu.org>
18651         Generate char-script-table from Unicode source.  (Bug#20789)
18652         * admin/unidata/Makefile.in (AWK): New, set by configure.
18653         (all): Add charscript.el.
18654         (blocks): New variable.
18655         (charscript.el, ${unidir}/charscript.el): New targets.
18656         (extraclean): Also remove generated charscript.el.
18657         * admin/unidata/blocks.awk: New script.
18658         * admin/unidata/Blocks.txt: New data file, from unicode.org.
18659         * lisp/international/characters.el: Load charscript.
18660         * src/Makefile.in (charscript): New variable.
18661         (${charscript}): New target.
18662         (${lispintdir}/characters.elc): Depend on charscript.elc.
18663         (temacs$(EXEEXT)): Depend on charscript.
18665         * lisp/international/characters.el (char-script-table): Tweak
18666         some ranges to better match the source.  (Bug#20789#17)
18668         Remove "no-byte-compile: t" from a few files.
18669         * lisp/obsolete/bruce.el, lisp/obsolete/keyswap.el:
18670         * lisp/obsolete/patcomp.el: No reason not to compile these.
18672 2015-06-16  Glenn Morris  <rgm@gnu.org>
18674         Fix some typos in copied Unicode data.  (Bug#20789)
18675         * lisp/international/characters.el (char-script-table):
18676         * lisp/international/fontset.el (script-representative-chars)
18677         (setup-default-fontset): Fix typos.
18679         * lisp/emacs-lisp/check-declare.el (check-declare-warn):
18680         Don't print filename twice (it's in the prefix now).
18682         * lisp/emacs-lisp/pcase.el (pcase--u1): Revert earlier workaround.
18683         No longer needed.
18685         Address a compilation warning.
18686         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defalias):
18687         Replace 't' with '_' in pcase.
18689         Address some check-declare warnings.
18690         * lisp/simple.el (tabulated-list-print):
18691         * lisp/progmodes/elisp-mode.el (xref-collect-matches):
18692         * lisp/term/ns-win.el (ns-selection-owner-p, ns-selection-exists-p)
18693         (ns-get-selection): Update declarations.
18695         Address some compilation warnings.
18696         * lisp/elec-pair.el (electric-pair-post-self-insert-function):
18697         * lisp/vc/vc-git.el (vc-git-file-type-as-string):
18698         Replace 't' with '_' in pcase.
18700         Address some compilation warnings.
18701         * lisp/face-remap.el (text-scale-adjust):
18702         * lisp/menu-bar.el (popup-menu-normalize-position):
18703         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand):
18704         * lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-warn):
18705         * lisp/emacs-lisp/generator.el (cps--transform-1):
18706         * lisp/emacs-lisp/macroexp.el (macroexp--expand-all):
18707         * lisp/obsolete/vc-arch.el (vc-arch-mode-line-string):
18708         * lisp/progmodes/octave.el (octave-goto-function-definition)
18709         (octave-find-definition-default-filename):
18710         Replace 't' with '_' in pcase.
18712         * lisp/emacs-lisp/pcase.el (pcase--u1):
18713         Paper-over today's bootstrap failure.
18715 2015-06-16  Nicolas Petton  <nicolas@petton.fr>
18717         * lisp/emacs-lisp/seq.el: Fix a byte-compiler warnings related to pcase.
18719         * lisp/emacs-lisp/map.el (map-into): Fix a byte-compiler warning.
18721         Better confirmation message in `find-alternate-file' (Bug#20830)
18722         * lisp/files.el (find-alternate-file'): Improve the confirmation
18723         message to show the buffer name.
18725         Better docstring for null.  (Bug#20815)
18726         * src/data.c (null): Improves the docstring, saying what null returns
18727         when OBJECT is non-nil.
18729 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
18731         * lisp/net/newst-treeview.el: Use lexical-binding.
18733         (filepos-to-bufferpos): Add missing cases.  Make sure it terminates.
18734         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
18735         New auxiliary function, extracted from filepos-to-bufferpos.
18736         Make sure it terminates.
18737         (filepos-to-bufferpos): Use it to fix the latin-1-dos case.
18738         Add support for the `exact' quality.
18740 2015-06-16  Cédric Chépied  <cedric.chepied@gmail.com>
18742         Identify feeds in newsticker treeview with :nt-feed property
18743         * lisp/net/newst-treeview.el:
18744         (newsticker--treeview-nodes-eq): Use property :nt-feed instead of :tag.
18746 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
18748         * lisp/emacs-lisp/pcase.el: Improve docs and error handling.
18749         (pcase--self-quoting-p): Floats aren't self-quoting.
18750         (pcase): Tweak docstring.
18751         (pcase--u1): Deprecate the t pattern.  Improve error detection for
18752         the nil pattern.
18753         (\`): Tweak docstring.  Signal an error for unrecognized cases.
18754         (bug#20784)
18756 2015-06-16  Eli Zaretskii  <eliz@gnu.org>
18758         Fix infloop in filepos-to-bufferpos
18759         * lisp/international/mule-util.el (filepos-to-bufferpos): Fix EOL
18760         offset calculation, and make it conditional on the eol-type of the
18761         file's encoding.  (Bug#20825)
18763 2015-06-16  Martin Rudalics  <rudalics@gmx.at>
18765         Fix handling of image cache refcounts.  (Bug#20802)
18766         This backports Eli Zaretskii's solution of this problem for W32
18767         to X and NS.
18768         * src/nsfns.m (image_cache_refcount): Define unconditionally.
18769         (unwind_create_frame): If the image cache's reference count
18770         hasn't been updated yet, do that now.
18771         (Fx_create_frame): Set image_cache_refcount unconditionally.
18772         * src/xfns.c (image_cache_refcount): Define unconditionally.
18773         (unwind_create_frame): If the image cache's reference count
18774         hasn't been updated yet, do that now.
18775         (Fx_create_frame, x_create_tip_frame): Set image_cache_refcount
18776         unconditionally.
18777         * src/w32fns.c (image_cache_refcount): Make it a ptrdiff_t as on
18778         X and NS.
18780 2015-06-16  Nils Ackermann  <nils@ackermath.info>
18782         Improve reftex-label-regexps default value
18783         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Make
18784         keyvals label regexp more strict to better cope with unbalanced
18785         brackets common in math documents.
18787 2015-06-16  Glenn Morris  <rgm@gnu.org>
18789         * doc/emacs/calendar.texi (Format of Diary File):
18790         Move "nonmarking" from here...
18791         (Displaying the Diary): ... to here.
18793         * doc/emacs/calendar.texi (Format of Diary File, Displaying the Diary):
18794         Swap the order of these nodes.
18795         * doc/emacs/emacs.texi: Update detailed menu for the above change.
18797         * doc/emacs/calendar.texi (Specified Dates, Special Diary Entries):
18798         Update date of examples.
18799         (Diary, Format of Diary File): Move example from former to latter.
18800         Reduce duplication.
18802         No need for cp51932.el, eucjp-ms.el to not be compiled any more.
18803         * admin/charsets/cp51932.awk, admin/charsets/eucjp-ms.awk:
18804         Don't set no-byte-compile in the outputs.
18805         * lisp/loadup.el: Don't specify uncompiled cp51932, eucjp-ms.
18807 2015-06-15  Glenn Morris  <rgm@gnu.org>
18809         * lisp/calendar/calendar.el (diary-file): Use locate-user-emacs-file.
18810         * doc/emacs/calendar.texi (Diary, Format of Diary File):
18811         Update for above diary-file change.
18813         * lisp/macros.el (name-last-kbd-macro, kbd-macro-query)
18814         (apply-macro-to-region-lines): Use user-error.
18816         * lisp/textmodes/page-ext.el (add-new-page, pages-directory)
18817         (pages-directory-for-addresses): Doc fixes.
18819 2015-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
18821         * lisp/info.el: Cleanup bytepos/charpos issues
18822         * lisp/international/mule-util.el: Use lexical-binding.
18823         (filepos-to-bufferpos): New function.
18824         * lisp/info.el (Info-find-in-tag-table-1): Use 0-based file positions.
18825         (Info-find-node-2): Use filepos-to-bufferpos (bug#20704).
18826         (Info-read-subfile, Info-search): Use 0-based file positions.
18828         * lisp/progmodes/perl-mode.el: Refine handling of /re/ and y/abc/def/
18829         (perl--syntax-exp-intro-keywords): New var.
18830         (perl--syntax-exp-intro-regexp, perl-syntax-propertize-function): Use it.
18831         (bug#20800).
18833 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
18835         Fix quoting when making derived mode docstring
18836         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
18837         Nest regexp-quote inside format, not the reverse.
18838         Problem reported by Artur Malabarba in:
18839         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00206.html
18841 2015-06-15  Eli Zaretskii  <eliz@gnu.org>
18843         Fix current-iso639-language on MS-Windows
18844         * lisp/international/mule-cmds.el (set-locale-environment):
18845         Downcase the locale name before interning it.  This is so the
18846         'current-iso639-language' on MS-Windows matches the ':lang'
18847         property of font-spec objects.
18849         Limit Symbola usage some more
18850         * lisp/international/fontset.el (setup-default-fontset): Limit
18851         Symbol coverage of Currency Symbols to u+20B6..u+20CF.
18852         (Bug#20727)
18854 2015-06-15  Nicolas Petton  <nicolas@petton.fr>
18856         * lisp/emacs-lisp/map.el (map-let): Better docstring.
18858 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
18860         * test/automated/help-fns.el (abc\\\[universal-argument\]b\`c\'d\\e\"f):
18861         (help-fns-test-funny-names): Spelling fixes.
18863 2015-06-14  Glenn Morris  <rgm@gnu.org>
18865         * lisp/version.el (emacs-repository-version-git): Demote errors.
18866         Check result is a hash.
18868 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
18870         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
18871         Catch errors that happen before going async.  (Bug#20809)
18873 2015-06-14  Eli Zaretskii  <eliz@gnu.org>
18875         Another improvement of documentation of set-fontset-font
18876         * doc/lispref/display.texi (Fontsets): Say explicitly that
18877         CHARACTER can be a single codepoint.
18878         * src/fontset.c (Fset_fontset_font): Doc fix.
18880         Another improvement for symbol and punctuation characters
18881         * lisp/international/fontset.el (setup-default-fontset): Exclude
18882         from Symbola character ranges for symbols and punctuation covered
18883         well by popular Unicode fonts.  Prefer fixed-misc Unicode font, if
18884         installed and where its coverage of symbols and punctuation is
18885         known to be good.  (Bug#20727)
18887 2015-06-14  Christoph Wedler  <christoph.wedler@sap.com>
18889         Some generic support for multi-mode indentation.
18890         * lisp/progmodes/prog-mode.el (prog-indentation-context):
18891         New variable.
18892         (prog-first-column, prog-widen): New convenience functions.
18894 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
18896         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
18897         Don't assume that `tabulated-list-printer' will leave point at the
18898         end of the buffer.  (Bug#20810)
18900 2015-06-13  Glenn Morris  <rgm@gnu.org>
18902         Tweaks for getting repository version; a bit more like it was for bzr
18903         * lisp/version.el (emacs-repository-version-git)
18904         (emacs-repository--version-git-1): New functions,
18905         split from emacs-repository-get-version.
18906         (emacs-repository-get-version): Make the second argument meaningful.
18908         * lisp/startup.el (command-line-1): Inform if skipping relative
18909         file names due to deleted PWD.
18911         * src/xsmfns.c (x_session_initialize): Avoid libSM crash
18912         when starup directory is missing.  (Bug#18851)
18913         (errno.h): Include it.
18915 2015-06-13  Paul Eggert  <eggert@cs.ucla.edu>
18917         Better fix for documenting `X as "`X"
18918         Fix suggested by Stefan Monnier.
18919         * lisp/help-fns.el (help-fns--signature):
18920         Insert "`X", not "(\` X)", when documenting `X (Bug#20759).
18921         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
18922         Don't treat `X specially, as help-fns--signature now handles this.
18924 2015-06-13  Eli Zaretskii  <eliz@gnu.org>
18926         Improve the default fontset when Symbola is not installed
18927         * lisp/international/fontset.el (setup-default-fontset): Only
18928         prepend Symbola and FreeMono font specs for symbols and
18929         punctuation; do not replace the default spec for them.  This
18930         should have better results when Symbola/FreeMono are not
18931         installed.  (Bug#20727)
18933         Improve documentation of ':lang' in font specs
18934         * src/font.c (Ffont_spec): Doc fix: elaborate on the values and
18935         use of the ':lang' property of the font spec.
18936         * doc/emacs/frames.texi (Fonts): Document the language names that
18937         can be in the STYLE part of XLFD.
18938         * doc/lispref/display.texi (Low-Level Font): Document the ':lang'
18939         property.
18941         * nt/README: Don't advertise the (obsolescent) w32 FAQ.
18943         * nt/README.W32: Don't advertise the (obsolescent) w32 FAQ.
18945         Revert last change in fontset.el
18946         * lisp/international/fontset.el (setup-default-fontset): Revert
18947         the change "Configure Symbola font only if installed", since font
18948         search is evidently not yet set up when this function is called.
18949         (Bug#20727)
18951 2015-06-12  Glenn Morris  <rgm@gnu.org>
18953         Ensure early startup warnings are visible at the end.  (Bug#20792)
18954         * lisp/emacs-lisp/warnings.el (display-warning):
18955         If startup isn't complete, delay the warning.
18956         * lisp/startup.el (normal-top-level, command-line):
18957         Let display-warning automatically handle the needed delays.
18958         Run delayed-warnings-hook.
18960         * lisp/version.el (emacs-repository-get-version):
18961         Avoid calling external executable if possible.  (Bug#20799)
18963 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
18965         Document `X as "`X", not as "(` X)"
18966         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
18967         Document (backquote FOO) as "`FOO", not as "(` FOO)" (Bug#20759).
18969         * src/print.c (print_object): Minor simplification.
18971 2015-06-12  Glenn Morris  <rgm@gnu.org>
18973         * src/buffer.c (init_buffer): Add final newline to message.
18975 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
18977         Configure Symbola font only if installed
18978         * lisp/international/fontset.el (setup-default-fontset):
18979         Don't specify the Symbola font if it's not installed.
18980         Likewise for FreeMono.  (Bug#20727)
18982 2015-06-12  Eli Zaretskii  <eliz@gnu.org>
18984         Configure Symbola font only for symbols and punctuation
18985         * lisp/international/fontset.el (setup-default-fontset): Leave
18986         only symbols and punctuation in the fontset setup for Symbola
18987         font; remove "Greek and Coptic" and "Cyrillic Supplement".
18988         (Bug#20798)
18990 2015-06-12  Andreas Schwab  <schwab@linux-m68k.org>
18992         Fix crash in fontset-info
18993         * src/fontset.c (Ffontset_info): Check that the RFONT-DEF elt is
18994         non-nil.
18996 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
18998         Port to Solaris 10 sparc + Sun C 5.13
18999         * configure.ac (SETUP_SLAVE_PTY) [sol2* | unixware]:
19000         Adjust to process.c change.
19001         * src/process.c (create_process): Declare volatile variables at
19002         top level of this function, so that they're less likely to be
19003         reused later in the function in the code executed by the vforked
19004         child.  Do not declare locals used only in the vforked child, as
19005         they might share memory with locals still live in the parent.
19006         Instead, use the same variables in the child as in the parent.
19007         This works around a subtle bug that causes a garbage collector
19008         crash when Emacs is built with Sun C 5.13 sparc on Solaris 10.
19010 2015-06-12  Glenn Morris  <rgm@gnu.org>
19012         * lisp/startup.el (normal-top-level): Don't let *Messages* get
19013         a nil default-directory.
19015 2015-06-11  Glenn Morris  <rgm@gnu.org>
19017         * lisp/startup.el (normal-top-level): Use delay-warning.  (Bug#20792)
19019         Some progress towards starting with PWD deleted.  (Bug#18851)
19020         * src/buffer.c (init_buffer): Handle get_current_dir_name failures.
19021         * lisp/startup.el (normal-top-level, command-line-1):
19022         * lisp/minibuffer.el (read-file-name-default):
19023         Handle default-directory being nil.
19025 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
19027         Fix "not a tty" bug on Solaris 10
19028         * configure.ac (PTY_OPEN): Define to plain 'open'
19029         on SVR4-derived hosts, so that the O_CLOEXEC flag isn't set.
19030         * src/process.c (allocate_pty): Set the O_CLOEXEC flag after
19031         calling PTY_TTY_NAME_SPRINTF, for the benefit of SVR4-derived
19032         hosts that call grantpt which does its work via a setuid subcommand
19033         (Bug#19191, Bug#19927, Bug#20555, Bug#20686).
19034         Also, set O_CLOEXEC even if PTY_OPEN is not defined, since it
19035         seems relevant in that case too.
19037 2015-06-11  Juri Linkov  <juri@linkov.net>
19039         * lisp/bindings.el (debug-ignored-errors): Add mark-inactive.
19040         * lisp/simple.el (kill-region): Replace 'error' with 'user-error'.
19041         (Bug#20785)
19043 2015-06-11  Glenn Morris  <rgm@gnu.org>
19045         * lisp/international/characters.el (char-script-table): Fix typo.
19047 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
19049         Fix quoting of help for functions with odd names
19050         While investigating Bug#20759, I discovered other quoting problems:
19051         C-h f mishandled characters like backslash and quote in function names.
19052         This fix changes the behavior so that 'C-h f pcase RET' now
19053         generates "... (\` QPAT) ..." instead of "... (` QPAT) ...",
19054         because '(format "%S" '(` FOO))' returns "(\\` FOO)".  A comment
19055         in src/lread.c's read1 function says that the backslash will be
19056         needed starting in Emacs 25, which implies that 'format' is
19057         correct and the old pcase documention was wrong to omit the backslash.
19058         * lisp/emacs-lisp/nadvice.el (advice--make-docstring):
19059         * lisp/help-fns.el (help-fns--signature):
19060         * lisp/help.el (help-add-fundoc-usage):
19061         * lisp/progmodes/elisp-mode.el (elisp-function-argstring):
19062         Use help--make-usage-docstring rather than formatting
19063         help-make-usage.
19064         * lisp/emacs-lisp/pcase.el (pcase--make-docstring):
19065         Return raw docstring.
19066         * lisp/help-fns.el (help-fns--signature): New arg RAW, to return
19067         raw docstring.  Take more care to distinguish raw from cooked dstrings.
19068         (describe-function-1): Let help-fns--signature substitute
19069         command keys.
19070         * lisp/help.el (help--docstring-quote): New function.
19071         (help-split-fundoc): Use it, to quote funny characters more
19072         systematically.
19073         (help--make-usage): Rename from help-make-usage, since this
19074         should be private.  Leave an obsolete alias for the old name.
19075         (help--make-usage-docstring): New function.
19076         * test/automated/help-fns.el (help-fns-test-funny-names): New test.
19078 2015-06-11  Stefan Monnier  <monnier@iro.umontreal.ca>
19080         * lisp/thingatpt.el (in-string-p): Revert last change,
19081         since in-string-p is not used in thingatpt.el but only from outside.
19082         Also, use lexical binding.
19084 2015-06-11  Artur Malabarba  <bruce.connor.am@gmail.com>
19086         * lisp/let-alist.el (let-alist--deep-dot-search): Fix cons.
19087         * test/automated/let-alist.el (let-alist-cons): Test it.
19089 2015-06-11  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
19091         * src/syntax.c (Fbackward_prefix_chars): Reword docstring.
19093 2015-06-10  Glenn Morris  <rgm@gnu.org>
19095         * build-aux/gitlog-to-emacslog: Also ignore pointless merge commits.
19097         Improve generated ChangeLog for gitmerge.el commits.  (Bug#20717)
19098         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
19099         * admin/gitmerge.el (gitmerge-commit-message):
19100         Exclude "skipped" messages from ChangeLog once again.
19102         Slight namespace cleanup for thingatpt.el.
19103         * lisp/thingatpt.el (thing-at-point--in-string-p)
19104         (thing-at-point--end-of-sexp, thing-at-point--beginning-of-sexp)
19105         (thing-at-point--read-from-whole-string): Rename from
19106         old versions without "thing-at-point--" prefix.
19107         Keep old versions as obsolete aliases.  Update all uses.
19109         * lisp/emacs-lisp/checkdoc.el (checkdoc-get-keywords):
19110         Move requiring of finder from here...
19111         (checkdoc-package-keywords): ... to here.
19113         Use 'user-error' in a few calendar files.
19114         * lisp/calendar/appt.el (appt-add):
19115         * lisp/calendar/calendar.el (calendar-absolute-from-gregorian)
19116         (calendar-generate):
19117         * lisp/calendar/diary-lib.el (diary-mail-entries, diary-cyclic):
19118         Replace 'error' with 'user-error'.
19120         * lisp/progmodes/f90.el (f90-backslash-not-special): Use user-error.
19122         * lisp/files-x.el (add-file-local-variable):
19123         Special-case 'lexical-binding'.  (Bug#20641)
19125         * lisp/progmodes/executable.el (executable-self-display): Obsolete.
19126         No longer autoload.
19127         * doc/misc/autotype.texi (Executables):
19128         Undocument executable-self-display.
19130         * lisp/progmodes/executable.el (executable-self-display):
19131         Use non-obsolete tail syntax.  (Bug#20779)
19132         (executable-self-display): Doc update.
19134 2015-06-10  Stefan Monnier  <monnier@iro.umontreal.ca>
19136         * lisp/emacs-lisp/checkdoc.el: Use lexical-binding
19137         (finder-known-keywords): Silence byte-compiler.
19139 2015-06-09  Stefan Monnier  <monnier@iro.umontreal.ca>
19141         * lisp/simple.el (eval-expression): Macroexpand before evaluating
19142         (bug#20730).
19144         * lisp/progmodes/sh-script.el: Better handle nested quotes.
19145         (sh-here-doc-open-re): Don't mis-match the <<< operator (bug#20683).
19146         (sh-font-lock-quoted-subshell): Make sure double quotes within single
19147         quotes don't mistakenly end prematurely the surrounding string.
19149         * lisp/progmodes/elisp-mode.el: Require cl-lib for cl-defstruct.
19151 2015-06-09  Glenn Morris  <rgm@gnu.org>
19153         * test/automated/Makefile.in (ELFILES): Sort.
19155         * Makefile.in (SUBDIR_MAKEFILES):
19156         * lwlib/Makefile.in (WARN_CFLAGS):
19157         Use built-in Make functions rather than echo+sed.
19159 2015-06-09  Eli Zaretskii  <eliz@gnu.org>
19161         Update char-script-table
19162         * lisp/international/characters.el (char-script-table): Update
19163         from Unicode 8.0 Draft.
19165         Improve font selection for punctuation and other symbols
19166         * src/fontset.c (face_for_char): If the character's script is
19167         'symbol', and the font used for ASCII face has a glyph for it, use
19168         the font for the ASCII face instead of searching the fontsets.
19169         This comes instead of NS-specific code that used the current
19170         face's font instead, which is now disabled due to undesirable
19171         consequences.  (Bug#20727)
19173 2015-06-08  Dmitry Gutov  <dgutov@yandex.ru>
19175         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
19176         Skip past `#' to find BEG (bug#20771).
19177         * test/automated/elisp-mode-tests.el
19178         (elisp-completes-functions-after-hash-quote): New test.
19180 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
19182         Fix compilation warning/error in --without-x builds
19183         * src/xdisp.c (append_space_for_newline): Condition GUI-specific
19184         code on HAVE_WINDOW_SYSTEM.
19186         Improve the default fontset wrt symbols
19187         * lisp/international/fontset.el (setup-default-fontset): Better
19188         setup of fontset-default for symbols: use Symbola and FreeMono.
19189         (Bug#20727)
19191 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
19193         Add new command checkdoc-package-keywords
19194         * lisp/emacs-lisp/checkdoc.el (checkdoc-package-keywords-flag):
19195         New defcustom.
19196         (checkdoc-list-of-strings-p): Add doc.
19197         (checkdoc-current-buffer): When `checkdoc-package-keywords-flag' is
19198         non-nil, call `checkdoc-package-keywords'.
19199         (checkdoc-get-keywords): New defun.
19200         (checkdoc-package-keywords): New command.  Warns if the current file
19201         has package.el-style keywords that aren't in `finder-known-keywords'.
19202         * etc/NEWS: Add entry.
19204 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
19206         Avoid crashes when key-binding is called from a timer
19207         * src/keymap.c (Fkey_binding): Don't segfault if called with an
19208         empty vector as KEY.  (Bug#20705)
19210         Fix a thinko in arc-mode.el
19211         * lisp/arc-mode.el (archive-zip-summarize): Fix last change in the
19212         non-Zip64 case.  (Bug#20769)
19214 2015-06-08  Artur Malabarba  <bruce.connor.am@gmail.com>
19216         * lisp/emacs-lisp/package.el (package-delete): Make interactive.
19218 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
19220         * lisp/emacs-lisp/checkdoc.el (checkdoc-file): New function.
19221         (checkdoc-error): When `checkdoc-diagnostic-buffer' is set to
19222         "*warn*", print the warning to the standard output.  (bug#20754)
19224 2015-06-07  Glenn Morris  <rgm@gnu.org>
19226         * admin/update_autogen (changelog_files): Remove gitlog-to-emacslog.
19228         * src/font.c (syms_of_font) <font-log>: Doc fix.
19230         Remove the obsolete leading "*" from some C doc strings.
19231         * src/coding.c (syms_of_coding):
19232         * src/font.c (syms_of_font): Remove leading "*" from docs.
19233         * lisp/cus-start.el (enable-character-translation): Add it.
19235 2015-06-07  Paul Eggert  <eggert@cs.ucla.edu>
19237         Move gen_origin from program to data
19238         That way, 'make change-history' needs to change only ChangeLog.2,
19239         instead of having to change two files.
19240         * ChangeLog.2: Add commit info for range that this file covers.
19241         * Makefile.in (new_commit_regexp): New macro.
19242         (change-history-nocommit): Simplify, by putting what used to be
19243         the gen_origin value into the data (ChangeLog.2) rather than
19244         into the program (gitlog-to-emacslog).
19245         * build-aux/gitlog-to-emacslog (gen_origin): Calculate from
19246         the input file (e.g., ChangeLog.2) rather than by having a
19247         constant in the program.  Substitute it into the output.
19249 2015-06-07  Dmitry Gutov  <dgutov@yandex.ru>
19251         * lisp/help-fns.el (help-fns--signature): Quote any quotes in the
19252         function name (bug#20759).
19254 2015-06-07  Eli Zaretskii  <eliz@gnu.org>
19256         Adapt 'struct timespec' to next release of MinGW runtime
19257         * nt/inc/ms-w32.h (struct timespec): Don't declare if
19258         __struct_timespec_defined is defined.
19260 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
19262         Merge from gnulib
19263         This incorporates:
19264         2015-06-06 acl-permissions: pacify -Wsuggest-attribute=const
19265         2015-06-05 stdio: Don't redefine gets when using C++
19266         2015-06-05 acl-permissions: port to AIX, C89 HP-UX
19267         2015-06-02 file-has-acl: fix build on Mac OS X 10
19268         2015-06-01 gnulib-tool: concatenate lib_SOURCES to a single line
19269         2015-06-01 pthread_sigmask: discount system version if a simple macro
19270         2015-05-31 readlinkat: avoid OS X 10.10 trailing slash bug
19271         * doc/misc/texinfo.tex, lib/acl-internal.h, lib/get-permissions.c:
19272         * lib/readlinkat.c, lib/set-permissions.c, lib/stdio.in.h:
19273         * m4/acl.m4, m4/pthread_sigmask.m4, m4/readlinkat.m4: Copy from gnulib.
19274         * lib/gnulib.mk: Regenerate.
19276 2015-06-06  Juri Linkov  <juri@linkov.net>
19278         * lisp/progmodes/grep.el (zrgrep): Let-bind grep-highlight-matches
19279         before calling grep-compute-defaults because now it affects the
19280         command lines computed in grep-compute-defaults.  (Bug#20728)
19282 2015-06-06  Glenn Morris  <rgm@gnu.org>
19284         Address some compilation warnings.
19285         * lisp/international/mule-cmds.el (w32-get-console-codepage)
19286         (w32-get-console-output-codepage):
19287         * lisp/progmodes/elisp-mode.el (xref-collect-references):
19288         * lisp/version.el (cairo-version-string): Declare.
19289         * lisp/erc/erc.el (erc-nickname-in-use): Fix typo.
19291 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
19293         Fix display when a font claims large values of ascent and descent
19294         This fixes bug#20628.
19295         * src/xdisp.c (get_phys_cursor_geometry): Correct the Y
19296         coordinate of a hollow cursor glyph when the original glyph's
19297         ascent is too small.
19298         (get_font_ascent_descent, normal_char_ascent_descent)
19299         (normal_char_height): New functions.
19300         (handle_single_display_spec, append_space_for_newline)
19301         (calc_pixel_width_or_height, produce_stretch_glyph)
19302         (calc_line_height_property): Use normal_char_ascent_descent and
19303         normal_char_height.
19304         (x_produce_glyphs): When font-global values of ascent and descent
19305         are too large, use per-character glyph metrics instead, if
19306         possible.  But don't allow the glyph row's ascent and descent
19307         values become smaller than the values from the metrics of the
19308         font's "normal" character.
19309         * src/xftfont.c (xftfont_draw):
19310         * src/w32font.c (w32font_draw): Correct the values of ascent and
19311         descent used to draw glyphless characters' hex code in a box.
19312         * src/xterm.c (x_draw_glyph_string_background):
19313         * src/xdisp.c (x_produce_glyphs):
19314         * src/w32term.c (x_draw_glyph_string_background):
19315         * src/nsterm.m (ns_maybe_dumpglyphs_background): Use FONT_TOO_HIGH
19316         to detect fonts whose global ascent and descent values are too
19317         large to be used in layout decision, and redraw the background
19318         when that happens.
19319         * src/dispextern.h (FONT_TOO_HIGH): New macro.
19320         (get_font_ascent_descent): Add prototype.
19321         * src/xterm.c (x_new_font):
19322         * src/w32term.c (x_new_font):
19323         * src/nsterm.m (x_new_font):
19324         * src/font.c (font_open_entity):
19325         * src/composite.c (composition_gstring_width):
19326         Use get_font_ascent_descent to obtain reasonable values for ascent
19327         and descent of a font.
19329 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
19331         Add assertion in adjust_point_for_property
19332         * src/keyboard.c (adjust_point_for_property): Add eassert for
19333         current buffer being shown in selected window.
19335 2015-06-06  Dmitry Gutov  <dgutov@yandex.ru>
19337         Replace uses of in-string-p; make it obsolete
19338         * lisp/thingatpt.el (in-string-p): Declare obsolete (bug#20732).
19339         (end-of-sexp, beginning-of-sexp): Use syntax-ppss instead.
19341 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
19343         Fix Dired display of an explicit list of files by ls-lisp.el
19344         * lisp/ls-lisp.el (ls-lisp-uid-d-fmt, ls-lisp-uid-s-fmt)
19345         (ls-lisp-gid-d-fmt, ls-lisp-gid-s-fmt): Make the initial values be
19346         correct for when displaying individual files separately, not as
19347         part of listing a directory, in which case these values are not
19348         recomputed by 'ls-lisp-insert-directory', but used verbatim.
19350         * lisp/dired.el (dired): Doc fix.  (Bug#20739)
19352 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
19354         Do not adjust point in a non-selected window
19355         * src/keyboard.c (command_loop_1): Do not adjust point when
19356         current buffer is not shown in selected window (Bug#20590).
19358         * etc/DEBUG: Mention 'maybe_call_debugger'
19360 2015-06-05  Nicolas Petton  <nicolas@petton.fr>
19362         Fix a unit test for map.el
19363         * test/automated/map-tests.el (test-map-let): Fix the test to work
19364         with the new syntax of `map-let'.
19366         * lisp/emacs-lisp/map.el (map-let): Better docstring.
19368         Better syntax for the map pcase pattern
19369         * lisp/emacs-lisp/map.el: Improves the map pcase pattern to take
19370         bindings of the form (KEY PAT) or SYMBOL.  KEY is not quoted.
19372         * lisp/emacs-lisp/map.el (map--dispatch): Better docstring.
19374         Fix a byte-compiler error in map-put and map-delete
19375         * lisp/emacs-lisp/map.el (map-put, map-delete): Ensure that `setq' is
19376         called with a symbol.
19378 2015-06-05  Glenn Morris  <rgm@gnu.org>
19380         * admin/gitmerge.el (gitmerge-commit-message):
19381         Revert to including "skipped" messages in ChangeLog once again.
19383 2015-06-05  Tassilo Horn  <tsdh@gnu.org>
19385         Use string> instead of equiv lambda with string<
19386         * lisp/help.el (view-emacs-news): Use string> instead of equivalent
19387         lambda with string<.
19389 2015-06-05  Glenn Morris  <rgm@gnu.org>
19391         * lisp/emacs-lisp/map.el (map--dispatch): Move before use.
19392         (map--delete-array): Fix typo.
19394         * test/automated/map-tests.el: Replace "assert" with "should".
19396         * lisp/Makefile.in (SUBDIRS): Rename from SUBDIRS_ABS.
19397         (SUBDIRS_REL): Derive from SUBDIRS.
19399         Tweak some build messages.
19400         * lisp/Makefile.in ($(lisp)/loaddefs.el):
19401         * lisp/cus-dep.el (custom-make-dependencies):
19402         * lisp/finder.el (finder-compile-keywords): Say what we are doing.
19403         * lisp/international/titdic-cnv.el (batch-titdic-convert):
19404         Don't say how to compile.
19406 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
19408         Omit U+0332 COMBINING LOW LINE in previous change
19409         It turns out that it does not work on Ubuntu 15.04.
19411         Fix transliteration of Bahá'í months
19412         * lisp/calendar/cal-bahai.el (calendar-bahai-month-name-array):
19413         Improve quality of Latin transliteration of Bahá'í month names.
19415         Fix curved quotes in a few places
19416         * lisp/calc/calc-misc.el (calc-help): Fix quoting.
19417         The strings in question are not doc strings, so this partially
19418         undoes the recent change that assumed they were doc strings.
19419         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
19420         * lisp/info.el (Info-finder-find-node):
19421         Use curved quotes.
19422         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
19423         Also allow curved quotes in doc strings.
19425 2015-06-04  Glenn Morris  <rgm@gnu.org>
19427         * lisp/Makefile.in (AM_V_at): Add missing definition.
19429         * lisp/Makefile.in: Quieten output a bit.
19430         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el):
19431         Don't echo directories, since the commands we invoke print them.
19433         * lisp/Makefile.in: Replace shell fragments in variables with $(shell).
19434         (SUBDIRS_REL, SUBDIRS_ABS, SUBDIRS_ALMOST, SUBDIRS_FINDER)
19435         (SUBDIRS_SUBDIRS): New variables.
19436         (setwins, setwins_almost, setwins_finder, setwins_for_subdirs):
19437         Remove.
19438         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el, $(lisp)/loaddefs.el)
19439         (update-subdirs, compile-main, compile-clean):
19440         Replace "setwins" usage with new "SUBDIRS" variables.
19442         * lisp/vc/compare-w.el (compare-windows-get-window-function):
19443         Fix :version tag.
19445 2015-06-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
19447         * src/ftfont.c (ftfont_open2): Round divisions by upEM.
19449         Undo removal of x_clear_area call on expose for GTK3 or cairo
19450         * src/xterm.c (handle_one_xevent) [HAVE_GTK3 || USE_CAIRO]:
19451         Clear exposed area.  (Bug#20677)
19453 2015-06-04  Glenn Morris  <rgm@gnu.org>
19455         * doc/lispref/hash.texi (Creating Hash): Remove obsolete makehash.
19457         * lisp/Makefile.in (check-defun-dups): Also skip ldefs-boot.
19459         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
19460         Rename from quail-lao-update-translation, since lao.el defines that.
19462 2015-06-04  Dmitry Gutov  <dgutov@yandex.ru>
19464         Handle new-style advice in find-funct
19465         * lisp/emacs-lisp/find-func.el (find-function-advised-original):
19466         Handle new-style advice.  Return the symbol's function definition.
19467         (Bug#20718)
19468         (find-function-library): Update accordingly.
19470 2015-06-04  Nicolas Petton  <nicolas@petton.fr>
19472         Merge branch 'map'
19474         * lisp/emacs-lisp/map.el: Better docstring for the map pcase macro.
19476         Add new function string-greaterp
19477         * lisp/subr.el (string-greaterp): New function.  Also aliased to
19478         `string>'.
19479         * test/automated/subr-tests.el (string-comparison-test): Add unit
19480         tests for `string>'and `string<'.
19481         * src/fns.c (string-lessp): Better docstring.
19483 2015-06-04  Eli Zaretskii  <eliz@gnu.org>
19485         Fix timezone-related functions on MS-Windows
19486         * src/editfns.c (set_time_zone_rule) [WINDOWSNT]: Always call
19487         'xputenv', even if no reallocation of tzvalbuf was necessary.
19488         This fixes a bug in timezone-related functions on MS-Windows.
19489         Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.
19491 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
19493         Don't pass raw directory name to 'error'
19494         * lisp/files.el (basic-save-buffer-2): Avoid format error if
19495         a directory name contains a string like "%s".
19497 2015-06-03  Dmitry Gutov  <dgutov@yandex.ru>
19499         Override 'grep --color=always'
19500         * lisp/progmodes/xref.el (xref-collect-matches):
19501         Override --color=always in grep-find-template.
19503 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
19505         Fix error introduced recently in file-notify-tests.el
19506         * test/automated/file-notify-tests.el
19507         (file-notify--test-remote-enabled): Do not use `file-notify--test-desc'.
19508         (file-notify--deftest-remote): Revert previous patch, not
19509         necessary anymore.
19511 2015-06-03  Wolfgang Jenkner  <wjenkner@inode.at>
19513         * src/indent.c (Fvertical_motion): Amend motion by 0 lines.
19514         Starting from a display string after a newline, point went to the
19515         previous line.  Also, fix an inadvertent use of a buffer position
19516         with FETCH_BYTE.  (Bug#20701)
19518 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
19520         Instrument file-notify-test.el in order to catch hydra error
19521         * test/automated/file-notify-tests.el (file-notify--deftest-remote):
19522         Wrap body by `ignore-case', in order to trap non-local errors.
19524 2015-06-03  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
19526         Undo previous changes in non-toolkit scroll bar drawing
19527         * src/xterm.c (x_scroll_bar_set_handle, x_scroll_bar_expose)
19528         [!USE_TOOLKIT_SCROLL_BARS]: Draw into scroll bar window.  (Bug#20668)
19530 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
19532         * .gitignore: Also ignore doc/*/*/*.html and .ps.
19534         Support quotes 'like this' in info files
19535         This is possible when 'makeinfo --disable-encoding' is used
19536         in Texinfo 5.
19537         * lisp/calc/calc-help.el (calc-describe-thing):
19538         * lisp/gnus/gnus-art.el (gnus-button-alist):
19539         * lisp/info.el (Info-find-index-name):
19540         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
19541         Also support quotes 'like this'.
19542         * lisp/calc/calc-help.el (calc-describe-thing): Simplify.
19543         * lisp/finder.el (finder-font-lock-keywords): Remove var that
19544         hasn't been used in years, instead of bothering to fix its quoting.
19546 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
19548         * .gitignore: Remove !test/etags/html-src/*.html.
19549         It's no longer needed, since *.html was removed.  Sort.
19551 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
19553         Restore <D> instead of '.' in grep-find-template
19554         * lisp/cedet/semantic/symref/grep.el
19555         (semantic-symref-grep-use-template): Update a comment.
19556         * lisp/progmodes/grep.el (grep-compute-defaults): Restore <D>
19557         instead of '.' in grep-find-template (bug#20719).
19558         (rgrep): Pass nil as the directory to rgrep-default-command.
19559         * lisp/progmodes/grep.el (grep-expand-keywords): Use '.' as the
19560         default value for DIR.
19561         * lisp/progmodes/xref.el (xref-collect-matches): Drop the
19562         workaround.
19564 2015-06-02  Glenn Morris  <rgm@gnu.org>
19566         * configure.ac (emacs_config_features): Add X toolkit and scroll-bars.
19568         * configure.ac (emacs_config_features): Add Cairo.
19570         * configure.ac [HAVE_GTK3]: Remove USE_CAIRO that gets reset later.
19572 2015-06-02  Michael Albinus  <michael.albinus@gmx.de>
19574         Ensure that autorevert works for remote files in file-notify-tests.el
19575         * test/automated/file-notify-tests.el (file-notify--test-desc):
19576         New defvar.
19577         (file-notify--test-remote-enabled)
19578         (file-notify-test00-availability, file-notify-test01-add-watch)
19579         (file-notify-test02-events): Use it.
19580         (file-notify--test-event-test): Check proper descriptor.
19581         (file-notify-test03-autorevert): Ensure that
19582         `visited-file-modtime' has changed.  (Bug#20392)
19584 2015-06-02  Nicolas Petton  <nicolas@petton.fr>
19586         Add a pcase pattern for maps and `map-let' based on it
19587         * lisp/emacs-lisp/map.el (map-let): New macro.
19588         (map--make-pcase-bindings, map--make-pcase-patterns): New functions.
19589         * test/automated/map-tests.el: New test for `map-let'.
19591 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
19593         Reuse rgrep mechanics in xref-find-regexp
19594         * lisp/progmodes/grep.el (rgrep-default-command):
19595         Extract from `rgrep'.
19596         * lisp/progmodes/xref.el (xref-collect-references): Split from
19597         `xref-collect-matches'.  Only handle the case of symbol search.
19598         (xref-collect-matches): Instead of Semantic Symref, use
19599         `rgrep-default-command', to take advantage of its directory and
19600         file ignore settings.
19601         (xref--collect-match): Remove the last argument, leaving the
19602         regexp construction up to the caller.
19603         * lisp/progmodes/elisp-mode.el (elisp--xref-find-matches):
19604         Change to take the xref-collect- function to use as an argument.
19605         (elisp-xref-find): Update accordingly.
19606         * lisp/progmodes/etags.el (etags--xref-find-matches)
19607         (etags-xref-find): Same.
19609         Move xref-elisp-location to elisp-mode.el
19610         * lisp/progmodes/xref.el (xref-elisp-location)
19611         (xref-make-elisp-location, xref-location-marker): Remove here.
19612         (xref--xref): Don't limit the type of the location slot.
19613         * lisp/progmodes/elisp-mode.el (xref-elisp-location):
19614         Define as a cl-struct here.
19615         (xref-location-marker): Move here.
19617 2015-06-02  Eli Zaretskii  <eliz@gnu.org>
19619         Minor tweaks for .gitignore
19620         * .gitignore: Don't ignore versioned *.html and *.ps files.
19621         Don't ignore admin/notes/tags that might be ignored as TAGS
19622         on case-insensitive filesystems.  (Bug#20710)
19624 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
19626         Generate curved quotes in ert doc
19627         * lisp/emacs-lisp/ert.el (ert--print-test-for-ewoc)
19628         (ert-results-mode-menu)
19629         (ert-results-pop-to-backtrace-for-test-at-point)
19630         (ert-results-pop-to-messages-for-test-at-point)
19631         (ert-results-pop-to-should-forms-for-test-at-point)
19632         (ert-describe-test):
19633         Quote ‘like this’, not `like this', when generating doc strings
19634         and the like.
19635         * test/automated/ert-x-tests.el (ert-test-describe-test):
19636         Allow quoting ‘like this’.
19638 2015-06-02  Nicolas Richard  <youngfrog@members.fsf.org>
19640         Add test for previous commit
19641         * test/automated/replace-tests.el: New file.
19642         (query-replace--split-string-tests): Add test for previous commit.
19644         Avoid confusion in query-replace history when replacing NUL chars
19645         * lisp/replace.el (query-replace--split-string): New function.
19646         (query-replace-read-from): Rely on the 'separator' property
19647         instead of searching for the NUL character (Bug#20690).
19649 2015-06-02  Glenn Morris  <rgm@gnu.org>
19651         Merge from origin/emacs-24
19652         8b5f2f4 * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
19654         * admin/gitmerge.el (gitmerge-commit-message):
19655         Exclude "skipped" messages from ChangeLog.
19657 2015-06-01  Michael Albinus  <michael.albinus@gmx.de>
19659         Sync with Tramp repository
19660         * lisp/net/tramp.el (tramp-message): Dump connection buffer error
19661         messages.
19662         (tramp-handle-make-auto-save-file-name): When calling
19663         `make-auto-save-file-name' internally, make sure it uses Unix-like
19664         behavior, not Windows-like behavior.
19665         * lisp/net/tramp-sh.el (tramp-set-file-uid-gid): Add a timeout for
19666         the local case, because "chown" might fail on w32.
19667         * lisp/net/trampver.el (tramp-repository-get-version): Don't run
19668         for XEmacs.
19670 2015-06-01  Eli Zaretskii  <eliz@gnu.org>
19672         MS-Windows followup for batch stdout/stderr output changes
19673         * lisp/international/mule-cmds.el (set-locale-environment):
19674         In batch mode, use console codepages for keyboard and terminal
19675         encoding.  (Bug#20545)
19677         Update .gitattributes for DOS EOL files
19678         * .gitattributes: Use "whitespace=cr-at-eol" for files with DOS
19679         CRLF end-of-line format.
19681         NS equivalents of xterm.c and w32term.c changes
19682         * src/nsterm.m (ns_maybe_dumpglyphs_background): Force redraw of
19683         glyph string background also when the font in use claims
19684         preposterously large global height value.  Helps to remove
19685         artifacts left from previous displays when glyphless characters
19686         are displayed as hex code in a box.
19687         (x_new_font): Call get_font_ascent_descent to obtain a reasonable
19688         value for FRAME_LINE_HEIGHT, even when a font claims very large
19689         value for its height.
19691 2015-06-01  Paul Eggert  <eggert@cs.ucla.edu>
19693         Avoid grave accent quoting in stderr diagnostics
19694         A few Emacs diagnostics go directly to stderr, and so can't easily
19695         contain curved quotes (as non-UTF-8 locales might mishandle them).
19696         Instead of bothering to add support for this rarity, reword the
19697         diagnostics so that they don't use grave accent to quote.
19698         * src/alloc.c (mark_memory): Fix comment.
19699         * src/buffer.c (init_buffer):
19700         * src/dispnew.c (init_display):
19701         * src/emacs.c (main, sort_args):
19702         * src/lread.c (dir_warning):
19703         * src/term.c (init_tty):
19704         * src/unexmacosx.c (unexec):
19705         * src/xfns.c (select_visual):
19706         * src/xterm.c (cvt_string_to_pixel, x_io_error_quitter):
19707         Reword stderr diagnostics to avoid quoting `like this'.
19708         * src/unexmacosx.c: Include errno.h.
19709         * src/xfns.c (select_visual): Encode value for locale.
19711 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
19713         Treat batch stdout/stderr like standard display
19714         Calls like (print FOO) could generate improperly encoded or
19715         hard-to-read output if FOO contains characters outside the system
19716         locale.  Fix this by treating batch stdout and stderr like
19717         interactive standard display, when it comes to transliterating and
19718         encoding characters (Bug#20545).
19719         * doc/emacs/mule.texi (Communication Coding):
19720         * doc/lispref/display.texi (Active Display Table):
19721         * doc/lispref/nonascii.texi (Locales):
19722         * etc/NEWS:
19723         * src/coding.c (syms_of_coding):
19724         * src/dispnew.c (syms_of_display):
19725         Document this.
19726         * src/print.c: Include disptab.h.
19727         (printchar_to_stream): New function, with much of the guts of the
19728         old Fexternal_debugging_output, except this one also uses the
19729         standard display table.
19730         (printchar, strout, Fexternal_debugging_output): Use it.
19732 2015-05-31  Glenn Morris  <rgm@gnu.org>
19734         * src/emacs.c (syms_of_emacs) <system-configuration-features>: Doc fix.
19736 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
19738         Remove DEFSYMs that aren't used at the C level.  Also:
19739         * src/decompress.c (Qzlib_dll):
19740         * src/font.c (Qunicode_sip):
19741         * src/frame.c (Qtip_frame):
19742         * src/ftfont.c (Qserif):
19743         * src/gnutls.c (Qgnutls_dll):
19744         * src/xml.c (Qlibxml2_dll):
19745         Move from here ...
19746         * src/w32fns.c (syms_of_w32fns): ... to here,
19747         as these are used only on MS-Windows.
19749 2015-05-31  Michael Albinus  <michael.albinus@gmx.de>
19751         Use another default value for tramp-histfile-override
19752         * lisp/net/tramp-sh.el (tramp-histfile-override):
19753         Use ".tramp_history" as default.
19754         Fixes bug#20446
19756 2015-05-29  Nicolas Petton  <nicolas@petton.fr>
19758         * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
19760 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
19762         * etc/NEWS: Add an entry about map.el.
19764         Improve the docstring of functions in map.el
19765         Since a map is not a data structure but a concept, adding information
19766         about the possible types of maps can be useful information.
19767         * lisp/emacs-lisp/map.el: Add documentation about the type of MAP to
19768         each public function.
19770 2015-04-29  Nicolas Petton  <nicolas@petton.fr>
19772         * lisp/emacs-lisp/map.el (map-empty-p): Faster implementation using
19773         specific tests depending on the type of the map.
19775         * lisp/emacs-lisp/map.el: Better docstrings.
19777 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
19779         * lisp/emacs-lisp/map.el (map-pairs): Dump redundant lambda.
19781 2015-04-25  Nicolas Petton  <nicolas@petton.fr>
19783         * lisp/emacs-lisp/map.el (map--elt-list): Better docstring.
19785         * lisp/emacs-lisp/map.el (map--elt-list): Minor refactoring.
19787         Fix a false negative in `map-elt' with alists and values being nil
19788         * lisp/emacs-lisp/map.el (map-elt): If map is an alist and key is
19789         found but its associated value is nil, do not return the default
19790         value.
19791         * test/automated/map-tests.el: Add a regression test.
19793 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
19795         * lisp/emacs-lisp/map.el (map--dispatch): Improve the docstring.
19797         Do not signal an error when trying to delete a key from an array
19798         * lisp/emacs-lisp/map.el (map-delete): When map is an array, check if
19799         the key is present to avoid signaling an error.
19800         * test/automated/map-tests.el: Add a test for deleting non-existing
19801         keys from maps.
19803         * lisp/emacs-lisp/map.el: Better docstring.
19805         Minor improvement in map-elt
19806         * lisp/emacs-lisp/map.el (map-elt): Do not use `ignore-errors' when
19807         doing a lookup in arrays, but check the boundaries of the array
19808         instead.
19809         * test/automated/map-tests.el: Adds a test for `map-elt' with arrays
19810         and a negative integer as key.
19812 2015-04-21  Nicolas Petton  <nicolas@petton.fr>
19814         * test/automated/map-tests.el: Refactoring of test methods.
19816         * test/automated/map-tests.el: Renamed from map-test.el.
19818 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
19820         * lisp/emacs-lisp/map.el (map-into): Better error message.
19822         * lisp/emacs-lisp/map.el: Remove byte-compilation warnings.
19824         Throw an error when converting a map into an unknown map type
19825         * lisp/emacs-lisp/map.el (map-into): Throw an error if type is
19826         not valid.
19827         * test/automated/map-test.el: Add a regression test.
19829         New library map.el similar to seq.el but for mapping data structures.
19830         * test/automated/map-test.el: New file.
19831         * lisp/emacs-lisp/map.el: New file.
19833 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
19835         * lisp/progmodes/etags.el (tag-implicit-name-match-p): Make sure
19836         there's no explicit tag name (bug#20629).
19838 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
19840         Remove format2
19841         * src/editfns.c, src/lisp.h (format2): Remove.
19842         It is more trouble than it's worth, now that we have CALLN.
19843         This is just a minor refactoring.
19844         * src/buffer.c (Fkill_buffer):
19845         * src/dbusbind.c (XD_OBJECT_TO_STRING):
19846         * src/fileio.c (barf_or_query_if_file_exists):
19847         Adjust to format2 going away.
19849         Don't misencode C-generated messages
19850         Also, be more consistent about calls to 'Fmessage' vs 'message'.
19851         * src/alloc.c (Fgc_status):
19852         Prefer AUTO_STRING to build_string for Fmessage call.
19853         * src/data.c (Fmake_variable_buffer_local)
19854         (Fmake_local_variable, Fmake_variable_frame_local):
19855         * src/doc.c (store_function_docstring):
19856         Use Fmessage, not message, since the argument can contain
19857         non-ASCII characters, and this can cause the resulting message
19858         to be incorrectly encoded for the current environment.
19859         * src/fns.c (maybe_resize_hash_table):
19860         * src/xselect.c (x_clipboard_manager_save_all):
19861         Use message, not Fmessage, since Fmessage's power isn't needed here.
19862         * src/process.c (Fmake_network_process): Reword message to avoid %s.
19863         * src/xdisp.c (vmessage): Document restrictions on message contents.
19864         (message_nolog) [false]: Remove unused code.
19866         Use \r rather than ^M in string literals
19867         This is less likely to cause problems on platforms that
19868         use CRLF (or CR!) termination for lines.
19870         Update .gitattributes to match current sources
19871         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00879.html
19872         * .gitattributes: Accommodate tests that insist on DOS format.
19873         Remove test/automated/data/decompress/foo-gzipped.
19874         Add etc/e/eterm-color.
19876 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
19878         * doc/emacs/mule.texi (Modifying Fontsets):
19879         Document face-ignored-fonts.  (Bug#20628)
19881         Add etags test for the new -Q option
19882         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
19883         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
19884         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
19885         test-case changes below.
19886         * test/etags/ETAGS.good_6: New file.
19887         * test/etags/cp-src/x.cc: New file.
19888         * test/etags/Makefile (CPSRC): Add x.cc.
19889         (check): Add one more test, for -Q.
19891 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
19893         Use list for the tags completion table, not obarray
19894         * lisp/progmodes/etags.el (etags-tags-completion-table): Return a
19895         list instead of an obarray
19896         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00876.html).
19897         (tags-completion-table): Combine those lists.
19898         (tags-completion-table): Update the docstring.
19900 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
19902         Restore EOL format testing in etags
19903         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
19904         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
19905         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
19906         test-case changes below.
19907         * test/etags/html-src/algrthms.html: Convert back to DOS EOL format.
19908         * test/etags/cp-src/c.C (B): Add back stray CR character.
19909         * test/etags/c-src/dostorture.c: Add back.
19910         * test/etags/Makefile (CSRC): Add back c-src/dostorture.c.
19912 2015-05-30  Vitaly Takmazov  <vitalyster@gmail.com>  (tiny change)
19914         Declare Emacs on MS-Windows to be DPI-aware
19915         * nt/emacs-x86.manifest (asmv3:windowsSettings): Add dpiAware.
19916         * nt/emacs-x64.manifest (asmv3:windowsSettings): Add dpiAware.
19917         This avoids Windows entering compatibility mode for Emacs,
19918         which causes fonts to look less nice.
19920 2015-05-30  Michael Albinus  <michael.albinus@gmx.de>
19922         Improve Tramp traces
19923         * lisp/net/trampver.el (tramp-repository-get-version): New defun.
19924         * lisp/net/tramp.el (tramp-debug-message): Use it.
19926 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
19928         backup-buffer minor reworking of internals
19929         * lisp/files.el (backup-buffer): Rework to avoid a couple of
19930         unused locals inadvertently introduced in the previous change.
19932         backup-buffer now reports .emacs.d/%backup% ills
19933         * lisp/files.el (backup-buffer): If the write to .emacs.d/%backup%
19934         fails due to disk space exhaustion or whatever, do not pretend
19935         that it succeeded.  More generally, do a better job of checking
19936         for I/O failures, and limit the scope of the condition-case to
19937         just the operations where file errors should be caught and ignored
19938         (Bug#20595).  Also, don't bother trying to delete later backups if
19939         an earlier deletion fails, as this is a sign of trouble and it's
19940         better to stop when there's trouble.
19942         copy-file now truncates output after writing
19943         * src/fileio.c (Fcopy_file): Truncate output after writing rather
19944         than before.  This is more likely to work than truncation before
19945         writing, if the file system is out of space or the user is over
19946         disk quota (Bug#20595).  Also, check for read errors.
19948 2015-05-29  Artur Malabarba  <bruce.connor.am@gmail.com>
19950         * lisp/emacs-lisp/package.el (package-load-all-descriptors):
19951         Don't load descriptors from directories above the package directories.
19953 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
19955         Merge from gnulib
19956         This incorporates the following (Bug#20681):
19957         2015-05-29 acl-permissions: Fix build on Mac OS X and older AIX
19958         2015-05-29 acl-permissions: Fix build on Solaris and Cygwin
19959         * lib/set-permissions.c: Copy from gnulib.
19961 2015-05-29  Michael Albinus  <michael.albinus@gmx.de>
19963         Improve Tramp traces
19964         * lisp/net/tramp.el (tramp-call-process-region): New defun.
19965         * lisp/net/tramp-sh.el (tramp-get-inline-coding): Use it.
19967 2015-05-29  Glenn Morris  <rgm@gnu.org>
19969         * test/automated/vc-tests.el: Try enabling tests on hydra.nixos.org.
19971 2015-05-29  Wolfgang Jenkner  <wjenkner@inode.at>
19973         * src/xfns.c (x_set_menu_bar_lines): Fix calls to x_clear_area.
19974         The signature was changed in the cairo branch, merged on 2015-05-23.
19975         This oversight broke compiling only the non-toolkit X version.
19977 2015-05-29  Samer Masterson  <samer@samertm.com>
19979         * doc/lispref/os.texi: Update initial-buffer-choice docs.
19981 2015-05-29  Glenn Morris  <rgm@gnu.org>
19983         * test/automated/vc-tests.el (vc-test-rcs04-checkout-model):
19984         Mark as an expected failure.
19986 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
19988         Change package test to look for curved quotes
19989         * test/automated/package-test.el (package-test-describe-package)
19990         (package-test-signed): Search for curved single quotes as well as
19991         for grave accent and apostrophe.
19993 2015-05-28  Katsumi Yamaoka  <yamaoka@jpl.org>
19995         * lisp/gnus/gnus-art.el (gnus-button-alist): Re-revert last change.
19996         cf. <http://news.gmane.org/group/gmane.emacs.devel/thread=186896>
19998 2015-05-28  Samer Masterson  <samer@samertm.com>
20000         Show files when `initial-buffer-choice' is non-nil
20001         * lisp/startup.el (command-line-1): When Emacs is given a file as an
20002         argument and `initial-buffer-choice' is non-nil, display both the file
20003         and `initial-buffer-choice'.  For more than one file, show
20004         `initial-buffer-choice' and *Buffer List*.  Refactor display-changing
20005         commands out of the command line arg parser.
20006         (initial-buffer-choice): Clarify docstring.
20008 2015-05-28  Eli Zaretskii  <eliz@gnu.org>
20010         Fix last commit
20011         * nt/gnulib.mk (libgnu_a_SOURCES): Add get-permissions.c back.
20012         (gnulib module qcopy-acl): Add back, as it is harmless.  This
20013         minimizes differences wrt lib/gnulib.mk.
20015         Fix the MS-Windows build as followup to gnulib update
20016         * nt/gnulib.mk (libgnu_a_SOURCES): Remove get-permissions.c and
20017         set-permissions.c, as they don't compile on MinGW.
20018         (gnulib module qcopy-acl): Remove, as it needs set-permissions.c.
20020 2015-05-28  Paul Eggert  <eggert@cs.ucla.edu>
20022         Revert my change to gnus-art.el
20023         * lisp/gnus/gnus-art.el (gnus-button-alist): Revert last change.
20024         It wasn't that important, and it caused a Gnus build to fail.  See:
20025         http://www.randomsample.de:4456/builders/emacs-devel/builds/734
20027         New minor mode Electric Quote
20028         This lets you easily insert quotes ‘like this’ by typing
20029         quotes `like this', and similarly you can easily insert
20030         quotes “like this” by typing quotes ``like this'' (Bug#20545).
20031         * doc/emacs/basic.texi (Inserting Text):
20032         * doc/emacs/modes.texi (Minor Modes):
20033         * etc/NEWS: Document it.
20034         * doc/emacs/text.texi (Quotation Marks): New section.
20035         * lisp/electric.el (electric-quote-comment)
20036         (electric-quote-string, electric-quote-paragraph):
20037         New custom vars.
20038         (electric--insertable-p)
20039         (electric-quote-post-self-insert-function): New functions.
20040         (electric-quote-mode, electric-quote-local-mode): New minor modes.
20041         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
20042         Add curved single quotes to electric-pair-text-pairs.
20043         Set electric-quote-string in this buffer.
20045         A few more doc string fixes (Bug#20385)
20047         Accept curved quotes in doc strings
20048         * lisp/info-look.el (info-lookup-guess-custom-symbol):
20049         (info-lookup-alist): Treat ‘’ like `' when parsing help buffers etc.
20051         Generate curved quotes in pseudo-info nodes
20052         * lisp/info.el (Info-virtual-index-find-node)
20053         (Info-virtual-index, Info-apropos-find-node, info-apropos):
20054         Quote ‘like this’, not `like this', when generating pseudo-info nodes.
20056         Fix minor quoting problems in doc strings
20057         Most of these fixes involve escaping grave accents that are
20058         actually intended to be grave accents, not left quotes.
20059         (Bug#20385)
20061         Support curved quotes in doc strings
20062         Emacs's traditional doc string style has been to quote symbols
20063         `like this'.  This worked well on now-obsolete terminals where
20064         ` and ' were symmetric quotes, but nowadays curved quotes
20065         ‘like this’ look better.  Support quoting the new way too.
20066         (Bug#20385)
20067         * doc/lispref/tips.texi (Documentation Tips): Symbols can be quoted
20068         ‘like-this’ as well as `like-this'.
20069         * etc/NEWS: Mention this.
20070         * lisp/cedet/mode-local.el (overload-docstring-extension)
20071         (mode-local-print-binding, mode-local-describe-bindings-2):
20072         * lisp/cus-theme.el (describe-theme-1):
20073         * lisp/descr-text.el (describe-text-properties-1, describe-char):
20074         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
20075         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
20076         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
20077         (eieio-help-constructor):
20078         * lisp/emacs-lisp/package.el (describe-package-1):
20079         * lisp/faces.el (describe-face):
20080         * lisp/help-fns.el (help-fns--key-bindings)
20081         (help-fns--compiler-macro, help-fns--parent-mode, help-fns--obsolete):
20082         (help-fns--interactive-only, describe-function-1):
20083         (describe-variable):
20084         * lisp/help.el (describe-mode):
20085         * lisp/international/mule-cmds.el (describe-input-method)
20086         (describe-language-environment):
20087         * lisp/international/mule-diag.el (describe-character-set)
20088         (print-coding-system-briefly, list-input-methods)
20089         (list-input-methods-1):
20090         Insert curved quotes rather than grave accent and apostrophe.
20091         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
20092         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
20093         (checkdoc-proper-noun-region-engine):
20094         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2)
20095         (lisp-cl-font-lock-keywords-2):
20096         * lisp/finder.el (finder-font-lock-keywords):
20097         * lisp/gnus/gnus-art.el (gnus-button-alist):
20098         * lisp/help-fns.el (help-do-arg-highlight)
20099         (describe-function-1, describe-variable):
20100         * lisp/help-mode.el (help-xref-symbol-regexp)
20101         (help-xref-info-regexp, help-xref-url-regexp):
20102         * lisp/help.el (describe-mode):
20103         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
20104         * lisp/wid-edit.el (widget-documentation-link-regexp):
20105         Parse symbols quoted ‘like-this’ as well as `like-this'.
20106         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
20107         Add "‘" and "’" to electric-pair-text-pairs.
20108         (elisp--form-quoted-p): Also allow "‘" as a quoting char.
20109         (elisp-completion-at-point, elisp--preceding-sexp):
20110         Also treat "‘" and "’" as quoting chars.
20112         substitute-command-keys now curves quotes
20113         So, for example, it turns "`abc'" into "‘abc’" (Bug#20385).
20114         * doc/lispref/help.texi (Keys in Documentation):
20115         * etc/NEWS: Document this.
20116         * src/doc.c (Fsubstitute_command_keys): Implement it.
20118 2015-05-28  Glenn Morris  <rgm@gnu.org>
20120         * lisp/mail/rmailsum.el (rmail-summary-by-recipients)
20121         (rmail-summary-by-topic, rmail-summary-by-senders):
20122         No longer strip leading/trailing whitespace.
20124         * lisp/progmodes/f90.el (f90-type-def-re): Add "type, extends".
20125         (f90-no-block-limit): Add "enum".  (Bug#20680)
20126         * test/automated/f90.el (f90-test-bug20680, f90-test-bug20680b):
20127         New tests.
20129 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
20131         * lisp/isearch.el (isearch--current-buffer): Give a default value.
20132         Un-revert changes mistakenly dropped by f9fabb2b.
20134 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
20136         Merge from gnulib
20137         This incorporates:
20138         2015-05-27 qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
20139         2015-05-27 file-has-acl: Split feature tests again (Bug#20667)
20140         2015-05-27 string: fix build failure on BSD/OSX with FORTIFY_SOURCE
20141         2015-05-26 stdio: limit __gnu_printf__ witness to gcc 4.4+
20142         2015-05-26 inttypes: force correct mingw PRIdMAX even without <stdio.h>
20143         2015-05-26 stdio: fix probe on mingw under gcc 5.1
20144         * admin/merge-gnulib (GNULIB_MODULES):
20145         Replace qacl with qcopy-acl, since we don't need the rest of qacl.
20146         * doc/misc/texinfo.tex, lib/acl-internal.c, lib/acl-internal.h:
20147         * lib/inttypes.in.h, lib/qcopy-acl.c, lib/qset-acl.c:
20148         * lib/string.in.h, m4/acl.m4, m4/stdio_h.m4:
20149         Get latest versions from gnulib.
20150         * lib/get-permissions.c, lib/set-permissions.c: New files.
20151         * lib/gnulib.mk, m4/gnulib-comp.m4:
20152         Regenerate.
20153         * nt/gnulib.mk: Merge lib/gnulib.mk changes by hand.
20155 2015-05-27  Dmitry Gutov  <dgutov@yandex.ru>
20157         * lisp/vc/vc-dispatcher.el (vc-setup-buffer): Delete the old
20158         process here.
20159         (vc-do-command): Rather than here (bug#20608).
20161 2015-05-27  Ivan Shmakov  <ivan@siamics.net>
20163         Avoid gratuitous delete-dups in face-at-point
20164         * lisp/faces.el (face-at-point): Do not compute the properly
20165         ordered, duplicate-free list if only a single value is
20166         requested anyway.  (Bug#20519)
20168         Show the exact C-x 8 RET invocation in describe-char
20169         * lisp/descr-text.el (describe-char): Show the exact C-x 8 RET
20170         invocation instead of a template.  (Bug#20522)
20172 2015-05-27  Artur Malabarba  <bruce.connor.am@gmail.com>
20174         * lisp/emacs-lisp/package.el: Don't erase tags on refresh.
20175         (package-menu--post-refresh): Call `tabulated-list-print' with the
20176         UPDATE argument.  This only affects the refresh action, the revert
20177         action still erases tags.
20178         (package-menu-get-status): Change `assq' to `assoc'.
20179         (package-menu--mark-upgrades-1): New function.
20180         (package-menu--mark-upgrades-pending): New variable.
20181         (package-menu-mark-upgrades): Use them to delay marking until
20182         after refresh is done.
20183         (package-menu--post-refresh): Call mark-upgrades-1 if
20184         mark-upgrades-pending is non-nil.
20186 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
20188         * lisp/net/tramp.el (tramp-handle-make-auto-save-file-name):
20189         Fix typo in "Improve tramp-handle-make-auto-save-file-name"
20190         (commit 3953c4be2816537be95520605d45b866dc731f4b).
20192 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
20194         * lisp/isearch.el (isearch--current-buffer): New var.
20195         (isearch-update): Set cursor-sensor-inhibit here.
20196         (isearch-done): Unset cursor-sensor-inhibit in the right buffer
20197         (bug#20532).
20199         Change inhibit-point-motion-hooks to t
20200         * src/textprop.c (syms_of_textprop): Default Vinhibit_point_motion_hooks
20201         to t and document it as obsolete.
20203 2015-05-27  Eli Zaretskii  <eliz@gnu.org>
20205         Support ZIP files that use Zip64 extensions
20206         * lisp/arc-mode.el (archive-zip-summarize): Handle the new ZIP
20207         format of central directory offsets used by Zip64 extensions.
20208         (Bug#20665)
20210 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
20212         New test tramp-test30-make-auto-save-file-name
20213         * test/automated/tramp-tests.el
20214         (tramp-test30-make-auto-save-file-name): New test.
20215         (tramp-test31-special-characters)
20216         (tramp-test31-special-characters-with-stat)
20217         (tramp-test31-special-characters-with-perl)
20218         (tramp-test31-special-characters-with-ls, tramp-test32-utf8)
20219         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
20220         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
20221         (tramp-test34-recursive-load, tramp-test35-unload): Rename.
20223         Improve tramp-handle-make-auto-save-file-name
20224         * lisp/net/tramp.el (tramp-auto-save-directory): Add :tags.
20225         (tramp-handle-make-auto-save-file-name): Let native
20226         `make-auto-save-file-name' use `auto-save-file-name-transforms',
20227         if `tramp-auto-save-directory' is not set.
20229 2015-05-27  Glenn Morris  <rgm@gnu.org>
20231         No longer set dired-directory in eshell.  (Bug#16477)
20232         * lisp/eshell/esh-mode.el (eshell-mode):
20233         * lisp/eshell/em-dirs.el (eshell/cd): No longer set dired-directory.
20235         * lisp/mail/sendmail.el (mail-position-on-field): Doc fix.
20237         Make c-submit-bug-report file reports at debbugs.gnu.org.  (Bug#15784)
20238         * lisp/progmodes/cc-mode.el (c-mode-help-address):
20239         Change to submit@debbugs.
20240         (c-mode-bug-package): New constant.
20241         (mail-position-on-field): Declare.
20242         (c-submit-bug-report): Insert X-Debbugs-Package header.
20243         * doc/misc/cc-mode.texi (Mailing Lists and Bug Reports):
20244         Mention debbugs.gnu.org.
20246 2015-05-26  Glenn Morris  <rgm@gnu.org>
20248         * lisp/mail/rmailsum.el: Commas no longer separate regexps.  (Bug#19026)
20249         (rmail-summary-by-recipients, rmail-summary-by-topic)
20250         (rmail-summary-by-senders): No longer use mail-comma-list-regexp.
20251         * doc/emacs/rmail.texi (Rmail Make Summary): Update for this change.
20253 2015-05-26  Paul Eggert  <eggert@cs.ucla.edu>
20255         Handle curved quotes in info files
20256         * lisp/calc/calc-help.el (calc-describe-thing):
20257         * lisp/info.el (Info-find-index-name)
20258         (Info-try-follow-nearest-node, Info-fontify-node):
20259         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
20260         In info files, process quotes ‘like this’ the same way we process
20261         quotes `like this'.  This catches a few places we missed earlier.
20263 2015-05-26  Dmitry Gutov  <dgutov@yandex.ru>
20265         xref-prompt-for-identifier: Use a list value
20266         * lisp/progmodes/xref.el (xref-prompt-for-identifier): Allow list
20267         value, to be interpreted as a list of commands.
20268         (xref--prompt-p): New function.
20269         (xref--read-identifier): Use it.
20271 2015-05-26  Eli Zaretskii  <eliz@gnu.org>
20273         Teach MS-Windows font back-end return per-glyph ascent/descent
20274         * src/w32font.h (struct w32_metric_cache): Add ascent and descent
20275         values.
20276         * src/w32font.c (w32font_text_extents): Compute, cache, and
20277         accumulate per-glyph ascent and descent values, instead of copying
20278         global values from the font.  If the values are not available from
20279         the font data, i.e., non-TTF fonts, fall back on font-global values.
20280         (compute_metrics): Compute and return per-glyph ascent and descent
20281         values, if returned by GetGlyphOutlineW, falling back on
20282         font-global values.  (Bug#20628)
20283         * src/w32term.c (w32_draw_rectangle): Add 1 pixel to width and
20284         height of rectangle to be drawn, to be compatible with
20285         XDrawRectangle.  Fixes glyphless-char display as hex codes in a
20286         box, when per-glyph ascent/descent values are used.
20288 2015-05-26  Artur Malabarba  <bruce.connor.am@gmail.com>
20290         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
20291         Don't sort if sorter is nil.
20293 2015-05-26  Michael Albinus  <michael.albinus@gmx.de>
20295         Fix Bug#20621
20296         * lisp/net/tramp-sh.el (tramp-set-auto-save): Remove it.  There
20297         are major modes which set `auto-save-mode' on their own rules;
20298         Tramp shall not overwrite such settings.
20300 2015-05-26  Glenn Morris  <rgm@gnu.org>
20302         * lisp/desktop.el: If modes aren't autoloaded, try simple guesswork.
20303         (desktop-load-file): Guess that "foobar" defines "foobar-mode".
20304         (desktop-buffer-mode-handlers, desktop-minor-mode-handlers):
20305         Doc updates.
20306         (vc-dir-mode): Remove unnecessary autoload.
20308 2015-05-25  Philipp Stephani  <phst@google.com>
20310         * lisp/term/xterm.el: Add gui-get-selection support via OSC-52.
20311         (xterm--extra-capabilities-type): Add `getSelection'.
20312         (xterm--query): Add `no-async' argument.
20313         (xterm--init-activate-get-selection): New function.
20314         (terminal-init-xterm): Use it.
20315         (xterm--init-modify-other-keys): Rename from
20316         terminal-init-xterm-modify-other-keys.
20317         (xterm--init-bracketed-paste-mode): Rename from
20318         terminal-init-xterm-bracketed-paste-mode.
20319         (xterm--init-activate-set-selection): Rename from
20320         terminal-init-xterm-activate-set-selection.
20321         (xterm--selection-char): New function.
20322         (gui-backend-set-selection): Use it.  Use the &context to only apply
20323         this method in terminals where we enabled the feature.
20324         (gui-backend-get-selection): New method.
20326 2015-05-25  Daniel Colascione  <dancol@dancol.org>
20328         * lisp/progmodes/cc-langs.el (c-constant-kwds): Add C-language
20329         keyword constants to C++.
20331 2015-05-25  Paul Eggert  <eggert@cs.ucla.edu>
20333         Make TAGS files more portable to MS-Windows
20334         * etc/NEWS: Document this.
20335         * lib-src/etags.c (readline_internal) [DOS_NT]:
20336         Don't treat CRs differently from GNUish hosts.
20337         * lisp/progmodes/etags.el (etags-goto-tag-location):
20338         Adjust STARTPOS to account for the skipped CRs in dos-style files.
20340 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
20342         Improve fix of bug#20634 in tramp-sh.el
20344 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
20346         Fix a typo in last commit
20347         * lib-src/etags.c (C_entries): Fix a typo.
20348         * test/etags/ETAGS.good_1:
20349         * test/etags/ETAGS.good_2:
20350         * test/etags/ETAGS.good_3:
20351         * test/etags/ETAGS.good_4:
20352         * test/etags/ETAGS.good_5:
20353         * test/etags/CTAGS.good: Update due to the change in etags.c.
20355         Fix tagging of class members in C-like OO languages
20356         * lib-src/etags.c (longopts): Add new option --class-qualify and
20357         its shorthand -Q.
20358         (print_help): Add help text for --class-qualify.
20359         (main): Add handling of -Q.
20360         (consider_token, C_entries) <omethodparm>: Append argument types
20361         to Objective C methods only if --class-qualify was specified.
20362         Qualify C++, Objective C, and Java class members with their class
20363         names only if --class-qualify was specified.
20364         (C_entries): If --class-qualify was not specified, remove the
20365         namespace and class qualifiers from tag names of C++ methods.
20366         This allows to use etags.el as xref back-end without the
20367         tag-symbol-match-p method, which greatly increases the number of
20368         potentially false positives.  (Bug#20629)
20369         * doc/man/etags.1: Update to document the new --class-qualify
20370         option.
20371         * test/etags/ETAGS.good_1:
20372         * test/etags/ETAGS.good_2:
20373         * test/etags/ETAGS.good_3:
20374         * test/etags/ETAGS.good_4:
20375         * test/etags/ETAGS.good_5:
20376         * test/etags/CTAGS.good: Update due to changes in etags.c.
20378 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
20380         (cl-generic-define-method): Side effects are evil (bug#20644)
20381         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method): Don't reuse
20382         cons-cells that might be used as keys in an `equal' hash-table.
20384 2015-05-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
20386         Make erc timestamps visible again
20387         * lisp/erc/erc-stamp.el (erc-munge-invisibility-spec):
20388         Make timestamps visible again (if requested).
20390 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
20392         Fix last change in etags.c that broke tagging compresed files
20393         * lib-src/etags.c (process_file_name) [MSDOS || DOS_NT]: Fix
20394         quoting of decompression shell command for MS-Windows/MS-DOS.
20396 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
20398         * lisp/emacs-lisp/cl-macs.el (cl-tagbody): Scope cl--tagbody-alist.
20399         (Bug#20639)
20401 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
20403         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer):
20404         Fix typo in "Inhibit `epa-file-handler' in Tramp"
20405         (commit 89035e247591c8d688fce922b7079881aa110f33).
20407 2015-05-25  Orivej Desh  <orivej@gmx.fr>  (tiny change)
20409         Fix IPv6 addresses in Tramp
20410         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
20411         Add square brackets around host name.
20413 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
20415         Inhibit `epa-file-handler' in Tramp (Bug#20634)
20416         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer)
20417         (tramp-sh-handle-insert-file-contents-literally): Inhibit also
20418         `epa-file-handler'.
20420 2015-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
20422         * lisp/emacs-lisp/pcase.el: Use PAT rather than UPAT in docstring.
20423         (pcase-let): Document the behavior in case the pattern doesn't match.
20425 2015-05-24  Artur Malabarba  <bruce.connor.am@gmail.com>
20427         * lisp/emacs-lisp/tabulated-list.el: New optional print method.
20428         (tabulated-list-print): New optional argument, UPDATE.  If
20429         non-nil, the list is printed by only adding and deleting the
20430         changed entries, instead of erasing the whole buffer.  This method
20431         is much faster when few or no entries have changed.
20432         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
20433         * etc/NEWS: Document it.
20435         * lisp/emacs-lisp/tabulated-list.el: Improve printing.
20436         (tabulated-list--get-sorter): New function.
20437         (tabulated-list-print): Restore window-line when remember-pos is
20438         passed and optimize away the `nreverse'.
20440 2015-05-24  Paul Eggert  <eggert@cs.ucla.edu>
20442         Simpilify etags TEX mode scanning
20443         * lib-src/etags.c (TEX_mode, TEX_esc, TEX_opgrp, TEX_clgrp):
20444         Remove static vars.
20445         (TeX_commands): Deduce escapes here instead.
20446         (TEX_LESC, TEX_SESC, TEX_mode): Remove; all uses removed.
20447         This removes the need for a reset_input call.
20449         Improve etags I/O error reporting
20450         * lib-src/etags.c:
20451         Don't include sys/types.h and sys/stat.h; no longer needed.
20452         (infilename): New static var.
20453         (process_file_name): Don't call 'stat'.  Instead, just open the
20454         file for reading and report any errors.  Don't bother making
20455         a copy of the file argument; it's not needed.  Be more careful to
20456         use the failing errno when reporting an error.
20457         Quote the real name better (though no perfectly)
20458         when passing it to the shell.
20459         (reset_input): New function, which reports I/O errors.
20460         All uses of 'rewind' changed to use this function.
20461         (perhaps_more_input): New function, which also checks for
20462         I/O errors.  All uses of 'feof' changed to use this function.
20463         (analyze_regex): Report an error if fclose fails.
20464         (readline_internal): Report an error if getc fails.
20465         (etags_mktmp): Return an error if close fails.
20467         etags.c: avoid side effects in 'if'
20468         * lib-src/etags.c (process_file_name, Perl_functions)
20469         (TEX_decode_env): Hoist side effects into previous statement.
20471         .gitignore tweaks
20472         * .gitignore: Ignore all *.stamp files.  Sort.
20473         Ignore [0-9]*.txt (commonly used name for git patches)
20474         and /vc-dwim-log-* (vc-dwim temporary).
20476 2015-05-24  Eli Zaretskii  <eliz@gnu.org>
20478         Fix last change in etags.c, which failed the test suite
20479         * lib-src/etags.c (intoken): Add '$' to the set, as it was there
20480         before the last change.
20482 2015-05-23  Glenn Morris  <rgm@gnu.org>
20484         Remove charset map files from repository, generate in first bootstrap
20485         * admin/charsets/Makefile.in (${srcdir}/charsets.stamp): New.
20486         (all): Create the stamp file.
20487         (extraclean): Delete the stamp file.
20488         * src/Makefile.in (lispintdir, charsets): New variables.
20489         (${lispintdir}/cp51932.el, ${lispintdir}/eucjp-ms.el, ${charsets}):
20490         New rules.
20491         (emacs$(EXEEXT), temacs$(EXEEXT)): Depend on $charsets.
20492         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
20493         * etc/charsets/*.map: Remove from repository.
20495 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
20497         Cleanup etags.c to use locale-independent code
20498         Although this doesn't alter behavior (as etags doesn't use
20499         setlocale), the new version is more clearly locale-independent and
20500         the executable is a bit smaller on my platform.
20501         * lib-src/etags.c: Include <limits.h>, for UCHAR_MAX.
20502         Include <c-ctype.h> instead of <ctype.h>.
20503         (CHARS, CHAR, init, _wht, _nin, _itk, _btk, _etk, white, nonam, endtk)
20504         (begtk, midtk):
20505         Remove; no longer needed.
20506         (iswhite, ISALNUM, ISALPHA, ISDIGIT, ISLOWER, lowcase): Remove.
20507         All callers changed to use c_isspace, c_isalnum, c_isalpha, c_isdigit,
20508         c_islower, c_tolower, respectively.
20509         (notinname, begtoken, intoken, endtoken): Rewrite as functions
20510         instead of macros, and initialize the tables at compile-time
20511         rather than at run-time.
20513         Put default action first in src/Makefile
20514         * src/Makefile.in (all): Put this rule before lisp.mk.
20515         That way, plain 'make' works in the src directory again.
20517 2015-05-23  Glenn Morris  <rgm@gnu.org>
20519         * Makefile.in: Fix extraclean rule.
20520         (extraclean_dirs): New.
20521         (extraclean): Use it.
20523 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
20525         Avoid compiler warning in image.c on MS-Windows
20526         * src/w32term.h (x_query_color): Add prototype, to avoid compiler
20527         warning in image.c.
20529 2015-05-23  Glenn Morris  <rgm@gnu.org>
20531         Fix --without-toolkit-scroll-bars builds.
20532         * src/xterm.c (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]:
20533         Add new argument to x_clear_area1.
20534         (XTset_horizontal_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
20535         Update x_clear_area arguments.
20537         * admin/charsets/glibc/: New directory, imported from glibc 2.21.
20538         * admin/charsets/Makefile.in (GLIBC_CHARMAPS):
20539         Change to included version.
20540         (LOCAL, local, totalclean): Remove.
20541         (extraclean): Delete all generated files.
20543 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
20545         * lisp/pcmpl-cvs.el (pcmpl-cvs-entries): Don't assume
20546         CVS/Entries exists.
20548         * lisp/progmodes/xref.el (xref-find-apropos): Use read-string.
20550         * lisp/progmodes/etags.el (tags-completion-at-point-function):
20551         Don't trust the find-tag function.
20553 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
20555         Pacify --enable-gcc-warnings
20556         * src/frame.h (x_query_color): Remove redundant extern decl.
20557         * src/ftcrfont.c (ftcrfont_glyph_extents, ftcrfont_list)
20558         (ftcrfont_match, ftcrfont_open, ftcrfont_close)
20559         (ftcrfont_text_extents, ftcrfont_draw):
20560         * src/xterm.c (x_set_window_size_1, *x_color_cells, x_update_end)
20561         (XTframe_up_to_date, x_clear_area1, x_clear_frame)
20562         (x_ins_del_lines, frame_highlight, frame_unhighlight)
20563         (x_new_focus_frame, x_focus_changed, XTframe_rehighlight)
20564         (x_draw_hollow_cursor, x_draw_bar_cursor, x_flush, x_update_begin)
20565         (x_update_window_begin, x_connection_closed)
20566         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
20567         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
20568         (*x_gc_get_ext_data, x_extension_initialize)
20569         (x_cr_accumulate_data):
20570         Remove redundant static decl.  Many of these GCC doesn't complain
20571         about, but we might as well clean out the duplication while we're
20572         in the neighborhood.
20573         * src/xterm.c (x_fill_trapezoid_for_relief):
20574         Remove decl of nonexistent function.
20576 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
20578         Replace gui-method macros with cl-generic with &context
20579         * lisp/frame.el (gui-method--name, gui-method, gui-method-define)
20580         (gui-method-declare, gui-call): Remove.
20581         (frame-creation-function): Use cl-defgeneric.
20582         (make-frame): Adjust callers.
20583         * lisp/menu-bar.el (menu-bar-edit-menu):
20584         Use gui-backend-selection-exists-p.
20585         * lisp/select.el (x-get-clipboard): Use gui-backend-get-selection.
20586         (gui-backend-get-selection): New cl-generic to replace
20587         gui-get-selection method.
20588         (gui-backend-set-selection): New cl-generic to replace
20589         gui-set-selection method.
20590         (gui-selection-owner-p): New cl-generic to replace
20591         gui-selection-owner-p method.
20592         (gui-backend-selection-exists-p): New cl-generic to replace
20593         gui-selection-exists-p method.  Adjust all callers.
20594         * lisp/server.el (server-create-window-system-frame): Don't ignore
20595         window-system spec even when unsupported.
20596         * lisp/simple.el (deactivate-mark): Use new gui-backend-* functions.
20597         * lisp/startup.el (handle-args-function, window-system-initialization):
20598         Use cl-defgeneric.
20599         (command-line): Adjust calls accordingly.
20600         * lisp/term/ns-win.el (ns-window-system-initialization): Turn into
20601         a window-system-initialization method.
20602         (handle-args-function, frame-creation-function): Use cl-defmethod.
20603         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
20604         (gui-get-selection): Use cl-defmethod on the new functions instead.
20605         * lisp/term/pc-win.el (w16-get-selection-value): Turn into
20606         a gui-backend-get-selection method.
20607         (gui-selection-exists-p, gui-selection-owner-p, gui-set-selection):
20608         Use cl-defmethod on the new functions instead.
20609         (msdos-window-system-initialization): Turn into
20610         a window-system-initialization method.
20611         (frame-creation-function, handle-args-function): Use cl-defmethod.
20612         * lisp/term/w32-win.el (w32-window-system-initialization): Turn into
20613         a window-system-initialization method.
20614         (handle-args-function, frame-creation-function): Use cl-defmethod.
20615         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
20616         (gui-get-selection): Use cl-defmethod on the new functions instead.
20617         * lisp/term/x-win.el (x-window-system-initialization): Turn into
20618         a window-system-initialization method.
20619         (handle-args-function, frame-creation-function): Use cl-defmethod.
20620         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
20621         (gui-get-selection): Use cl-defmethod on the new functions instead.
20622         * lisp/term/xterm.el (xterm--set-selection): Turn into
20623         a gui-backend-set-selection method.
20624         * src/nsselect.m (Fns_selection_exists_p): Remove unused arg `terminal'.
20625         (Fns_selection_owner_p): Remove unused arg `terminal'.
20626         (Fns_get_selection): Remove unused args `time_stamp' and `terminal'.
20628 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
20630         Revert "Fix etags Bug#20629 that broke C++ support"
20631         This reverts commit 13dd9d4f7e75d2c78aa5537cef09de03663e9748.
20633 2015-05-23  Jan D  <jan.h.d@swipnet.se>
20635         Fix etags Bug#20629 that broke C++ support
20636         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
20637         Revert commit from Sun May 10 (Bug#20629).
20639         Merge branch 'cairo'.
20640         Main work done by YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>.
20641         Small fixes and image work by Jan D. <jan.h.d@swipnet.se>.
20643         Merge branch 'master' into cairo
20645         Fixes to compile cairo branch without cairo
20646         * src/gtkutil.c (xg_update_scrollbar_pos): x_clear_area takes frame as
20647         first argument.
20648         * src/xterm.c (handle_one_xevent): Surround x_cr_destroy_surface with
20649         USE_CAIRO.
20651 2015-05-23  Artur Malabarba  <bruce.connor.am@gmail.com>
20653         * lisp/emacs-lisp/package.el: Always update selected-packages.
20654         (package--update-selected-packages): New function.
20655         (package-menu-execute): Use it before starting the transaction,
20656         this way the list of selected packages is updated even when the
20657         transaction fails.
20658         (package-menu--perform-transaction): Don't edit selected-packages.
20660 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
20662         Fix etags reading of compressed files
20663         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Define.
20664         Include fcntl.h, for O_CLOEXEC.
20665         (process_file_name): Don't use 'popen', whose streams cannot be
20666         rewound.  Instead, uncompress the file to a temporary file,
20667         created by 'etags_mktmp', and read from that as usual.
20668         (etags_mktmp): New function.
20669         * test/etags/ETAGS.good_1:
20670         * test/etags/ETAGS.good_2:
20671         * test/etags/ETAGS.good_3:
20672         * test/etags/ETAGS.good_4:
20673         * test/etags/ETAGS.good_5: Update to be consistent with latest
20674         changes in etags.c regarding reading compressed files.
20676         Improve documentation of 'set-fontset-font'
20677         * doc/lispref/display.texi (Fontsets): Document the value of nil
20678         for the 3rd argument of 'set-fontset-font'.
20680         Fix documentation of forward-line
20681         * src/cmds.c (Fforward_line): Clarify the return value if the line
20682         at end of accessible portion of the buffer has no newline.
20683         * doc/lispref/positions.texi (Text Lines): Document what happens
20684         if the line at end of accessible portion of buffer has no newline.
20685         (Bug#20587)
20687 2015-05-22  Glenn Morris  <rgm@gnu.org>
20689         * admin/charsets/Makefile.in (TRANS_TABLE): Add short aliases.
20691         * admin/charsets/mapconv (LC_ALL): Set to C.
20693         * Makefile.in: Add admin/charsets into top-level clean rules.
20694         (clean): Add admin/charsets.
20695         (maybeclean_dirs): New variable.
20696         (distclean, bootstrap-clean, maintainer-clean): Use $maybeclean_dirs.
20698         * admin/charsets/Makefile.in (LOCAL, local): Fix members.
20700 2015-05-22  Artur Malabarba  <bruce.connor.am@gmail.com>
20702         * lisp/emacs-lisp/package.el (package-selected-packages): Fix doc.
20704 2015-05-22  Glenn Morris  <rgm@gnu.org>
20706         Generate admin/charsets Makefile via configure, and make more portable
20707         * configure.ac (SUBDIR_MAKEFILES): Add admin/charsets/Makefile.
20708         (admin/charsets/Makefile): Generate it.
20709         * admin/charsets/Makefile.in: Rename from Makefile.
20710         (AWK, srcdir, top_srcdir, AM_DEFAULT_VERBOSITY):
20711         New variables, set by configure.
20712         (charsetdir, lispintdir, mapfiledir, AM_V_GEN, am__v_GEN_)
20713         (am__v_GEN_0, am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0)
20714         (am__v_at_1, LOCAL, mapconv, run_mapconv, big5, compact, cp51932)
20715         (cp932, eucjp_ms, gb180302, gb180304, kuten): New variables.
20716         (TRANS_TABLE, CHARSETS): Add directory prefix to value.
20717         (all): Declare PHONY.
20718         (local): New PHONY target.
20719         (map_template): New template.  Use to define short PHONY aliases.
20720         (*.map): Add directory prefixes to targets and prerequisites.
20721         Respect make verbosity.
20722         (JISC6226.map): Replace non-portable sed append without newline.
20723         (install): Remove rule.
20724         (clean): Only delete temporary sedscript.
20725         (bootstrap-clean, distclean, maintainer-clean, extraclean)
20726         (totalclean): New PHONY rules.
20727         * admin/charsets/mapconv (BASE): Replace basename with expr.
20728         (FILE): Add "mapfiles" subdirectory.
20729         (AWK): New variable.  Use throughout in place of "awk".
20730         (main): Use "gunzip -c" in place of "zcat".
20731         Don't leave whitespace before "p", for older sed.
20732         * admin/charsets/mapfiles/PTCP154: Add final newline,
20733         to make older sed versions happy.
20735 2015-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
20737         * lisp/autorevert.el: Use lexical-binding.  Fix hook usage.
20738         (global-auto-revert-ignore-buffer, auto-revert-notify-modified-p)
20739         (auto-revert-notify-watch-descriptor): Use defvar-local.
20740         (find-file-hook, auto-revert-tail-mode)
20741         (auto-revert-notify-add-watch): Use setq-local.
20742         (auto-revert-notify-add-watch): Don't call make-local-variable on
20743         kill-buffer-hook (bug#20601).
20745 2015-05-21  Stefan Monnier  <monnier@iro.umontreal.ca>
20747         Change defgeneric so it doesn't completely redefine the function
20748         * lisp/emacs-lisp/cl-generic.el (cl-generic-define): Don't throw away
20749         previously defined methods.
20750         (cl-generic-define-method): Let-bind purify-flag instead of
20751         using `fset'.
20752         (cl--generic-prefill-dispatchers): Only define during compilation.
20753         (cl-method-qualifiers): Remove redundant alias.
20754         (help-fns-short-filename): Silence byte-compiler.
20755         * test/automated/cl-generic-tests.el:
20756         Adjust to new defgeneric semantics.
20758 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
20760         * lisp/emacs-lisp/package.el (package-menu-execute):
20761         Remove reference to remove-dups.
20763 2015-05-21  kwhite  <kwhite@gnu.org>
20765         * lisp/erc/erc.el: Hide network/channel messages.
20766         (erc-network-hide-list, etc-channel-hide-list): New lists to define
20767         message types per network/channel.
20768         (erc-add-targets): New function to parse list of targets.
20769         (erc-hide-current-message-p): Modified to check for new targets.
20771 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
20773         Don't quote nil and t in doc strings
20774         This is as per "Tips for Documentation Strings" in the elisp manual.
20775         For consistency, do the same in diagnostics and comments.
20777 2015-05-21  Eli Zaretskii  <eliz@gnu.org>
20779         Fix a minor problem with mouse-face on mode line
20780         * src/xdisp.c (note_mode_line_or_margin_highlight): Reset the
20781         mouse face also if the mouse pointer hovers above mode-line glyphs
20782         that don't come from any Lisp string.  (Bug#20620)
20784 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
20786         * lisp/emacs-lisp/package.el: Fix selected-package logic.
20787         (package-menu-execute): Mark as selected all non-upgrade packages
20788         being installed.
20789         (package-menu--perform-transaction): Don't mark anything.
20791         * lisp/emacs-lisp/package.el: Mode-line progress report.
20792         (package-menu--transaction-status): New variable.
20793         (package-menu-mode, package-menu--perform-transaction): Use it.
20795         * lisp/emacs-lisp/package.el: Better transaction messages.
20796         (package-menu--partition-transaction): New function.
20797         (package-menu--prompt-transaction-p, package-menu-execute):
20798         Use it.
20799         (package-menu--perform-transaction): Don't do any messaging.
20801         * lisp/emacs-lisp/package.el: Revert async package transactions.
20802         (package-menu-async): Update doc.
20803         (package-install-from-archive, package-download-transaction)
20804         (package-install, package-menu--perform-transaction)
20805         (package-menu-execute): Remove asynchronous functionality.
20807 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
20809         Revert doc string changes to f90.el
20810         Problem reported by Glenn Morris in:
20811         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00596.html
20812         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
20813         Revert recent changes to doc strings, as it's intended that they
20814         use grave accent, not quote.
20816 2015-05-20  Bozhidar Batsov  <bozhidar@batsov.com>
20818         * lisp/emacs-lisp/subr-x.el (hash-table-empty-p):
20819         Improve parameter name.
20821         * lisp/emacs-lisp/subr-x.el (hash-table-empty-p): New inline function.
20823 2015-05-20  Paul Eggert  <eggert@cs.ucla.edu>
20825         Don't require help-fns when not needed
20826         * lisp/emacs-lisp/autoload.el, lisp/emacs-lisp/advice.el:
20827         * lisp/emacs-lisp/elint.el:
20828         Don't require help-fns at the top level
20829         * lisp/emacs-lisp/advice.el (ad-arglist):
20830         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
20831         Don't require help-fns.  (Bug#17001)
20833 2015-05-20  Eli Zaretskii  <eliz@gnu.org>
20835         Fix slash collapsing in etags on MS-Windows
20836         * lib-src/etags.c (canonicalize_filename) [DOS_NT]: Separate the
20837         MS-Windows code from the Posix code, and support collapsing both
20838         forward- and back-slashes on MS-Windows.  Fixes a regression found
20839         by the test suite.
20841         Improve documentation of glyphless-char-display
20842         * doc/lispref/display.texi (Glyphless Chars): Improve
20843         documentation of glyphless character display.
20845         Fix "acronym" display of glyphless characters on w32
20846         * src/w32term.c (x_draw_glyphless_glyph_string_foreground): Don't
20847         ignore "acronym" substitutes of 1 character for glyphless characters.
20849 2015-05-20  Oleh Krehel  <ohwoeowho@gmail.com>
20851         Add an automated test for let-when-compile
20852         * test/automated/subr-tests.el (let-when-compile): New test.
20854         Add let-when-compile macro instead of using pcase-let
20855         * lisp/subr.el (let-when-compile): New let-like macro that makes its
20856         bindings known to macros like `eval-when-compile' in the body.
20857         * lisp/emacs-lisp/lisp-mode.el: Change the top-level `pcase-let' to
20858         a `let-when-compile'.  Also comment out the unused lexical var
20859         `el-kws-re'.
20860         The change greatly improves readability, while providing almost the
20861         same (even shorter) byte code: instead of pre-evaluating 10 variables,
20862         tossing them into a list, and destructuring that list a full screen
20863         page later, the variables are simply bound as they are evaluated,
20864         wrapped individually in `eval-when-compile'.
20866 2015-05-20  Artur Malabarba  <bruce.connor.am@gmail.com>
20868         * lisp/emacs-lisp/package.el: "Delete" button in Help buffer.
20869         (package-delete-button-action): New function.
20870         (describe-package-1): Add Delete button.
20872         * lisp/emacs-lisp/package.el: Better dependency description.
20873         (package--used-elsewhere-p): New optional arg, ALL, and return
20874         package-desc objects instead of names.
20875         (package-delete): Update accordingly.
20876         (describe-package-1): Describe which packages require the package.
20878 2015-05-20  Martin Rudalics  <rudalics@gmx.at>
20880         Fix handling and doc-string of FRAME arg of `other-buffer' (Bug#20533)
20881         * src/buffer.c (Fother_buffer): Argument FRAME must denote a live frame.
20882         Fix doc-string.
20884         Improve `switch-to-buffer' in strongly dedicated windows (Bug#20472)
20885         * lisp/window.el (switch-to-buffer-in-dedicated-window): New option.
20886         (switch-to-buffer): If the selected window is strongly dedicated
20887         to its buffer, signal error before prompting for buffer name.
20888         Handle `switch-to-buffer-in-dedicated-window'.
20889         * doc/lispref/windows.texi (Switching Buffers):
20890         Document `switch-to-buffer-in-dedicated-window'.
20892 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
20894         Prefer "this" to “this” in doc strings
20895         This mostly just straightens quotes introduced in my previous patch.
20896         Suggested by Dmitry Gutov in:
20897         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00565.html
20898         * lisp/faces.el, lisp/gnus/gnus-group.el, lisp/ldefs-boot.el:
20899         * lisp/mail/supercite.el, lisp/net/tramp.el, lisp/recentf.el:
20900         * lisp/textmodes/artist.el, lisp/textmodes/rst.el:
20901         * lisp/textmodes/tildify.el, lisp/vc/ediff-util.el:
20902         * lisp/vc/log-edit.el, lisp/xt-mouse.el:
20903         Prefer straight double quotes to curved double quotes in doc strings.
20905         Fix minor quoting problems in doc strings
20906         These were glitches regardless of how or whether we tackle the
20907         problem of grave accent in doc strings.
20908         * lisp/calc/calc-aent.el (math-restore-placeholders):
20909         * lisp/ido.el (ido-ignore-buffers, ido-ignore-files):
20910         * lisp/leim/quail/cyrillic.el ("bulgarian-alt-phonetic"):
20911         * lisp/leim/quail/hebrew.el ("hebrew-new")
20912         ("hebrew-biblical-sil"):
20913         * lisp/leim/quail/thai.el ("thai-kesmanee"):
20914         * lisp/progmodes/idlw-shell.el (idlwave-shell-file-name-chars):
20915         Used curved quotes to avoid ambiguities like ‘`''’ in doc strings.
20916         * lisp/calendar/calendar.el (calendar-month-abbrev-array):
20917         * lisp/cedet/semantic/mru-bookmark.el (semantic-mrub-cache-flush-fcn):
20918         * lisp/cedet/semantic/symref.el (semantic-symref-tool-baseclass):
20919         * lisp/cedet/semantic/tag.el (semantic-tag-copy)
20920         (semantic-tag-components):
20921         * lisp/cedet/srecode/cpp.el (srecode-semantic-handle-:cpp):
20922         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
20923         * lisp/emacs-lisp/byte-opt.el (byte-optimize-all-constp):
20924         * lisp/emacs-lisp/checkdoc.el (checkdoc-message-text-engine):
20925         * lisp/emacs-lisp/generator.el (iter-next):
20926         * lisp/gnus/gnus-art.el (gnus-treat-strip-list-identifiers)
20927         (gnus-article-mode-syntax-table):
20928         * lisp/net/rlogin.el (rlogin-directory-tracking-mode):
20929         * lisp/net/soap-client.el (soap-wsdl-get):
20930         * lisp/net/telnet.el (telnet-mode):
20931         * lisp/org/org-compat.el (org-number-sequence):
20932         * lisp/org/org.el (org-remove-highlights-with-change)
20933         (org-structure-template-alist):
20934         * lisp/org/ox-html.el (org-html-link-org-files-as-html):
20935         * lisp/play/handwrite.el (handwrite-10pt, handwrite-11pt)
20936         (handwrite-12pt, handwrite-13pt):
20937         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
20938         * lisp/progmodes/idlwave.el (idlwave-mode, idlwave-check-abbrev):
20939         * lisp/progmodes/verilog-mode.el (verilog-tool)
20940         (verilog-string-replace-matches, verilog-preprocess)
20941         (verilog-auto-insert-lisp, verilog-auto-insert-last):
20942         * lisp/textmodes/makeinfo.el (makeinfo-options):
20943         * src/font.c (Ffont_spec):
20944         Fix minor quoting problems in doc strings, e.g., missing quote,
20945         ``x'' where `x' was meant, etc.
20946         * lisp/erc/erc-backend.el (erc-process-sentinel-2):
20947         Fix minor quoting problem in other string.
20948         * lisp/leim/quail/ethiopic.el ("ethiopic"):
20949         * lisp/term/tvi970.el (tvi970-set-keypad-mode):
20950         Omit unnecessary quotes.
20951         * lisp/faces.el (set-face-attribute, set-face-underline)
20952         (set-face-inverse-video, x-create-frame-with-faces):
20953         * lisp/gnus/gnus-group.el (gnus-group-nnimap-edit-acl):
20954         * lisp/mail/supercite.el (sc-attribs-%@-addresses)
20955         (sc-attribs-!-addresses, sc-attribs-<>-addresses):
20956         * lisp/net/tramp.el (tramp-methods):
20957         * lisp/recentf.el (recentf-show-file-shortcuts-flag):
20958         * lisp/textmodes/artist.el (artist-ellipse-right-char)
20959         (artist-ellipse-left-char, artist-vaporize-fuzziness)
20960         (artist-spray-chars, artist-mode, artist-replace-string)
20961         (artist-put-pixel, artist-text-see-thru):
20962         * lisp/vc/ediff-util.el (ediff-submit-report):
20963         * lisp/vc/log-edit.el (log-edit-changelog-full-paragraphs):
20964         Use double-quotes rather than TeX markup in doc strings.
20965         * lisp/skeleton.el (skeleton-pair-insert-maybe):
20966         Reword to avoid the need for grave accent and apostrophe.
20967         * lisp/xt-mouse.el (xterm-mouse-tracking-enable-sequence):
20968         Don't use grave and acute accents to quote.
20970 2015-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
20972         * lisp/emacs-lisp/generator.el (cps--gensym, cps--transform-1):
20973         Silence compiler.
20975 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
20977         Try to port new etags tests to MS-Windows
20978         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
20979         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
20980         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
20981         Adjust to test-case changes below.
20982         * test/etags/Makefile (CSRC): Remove dostorture.c.
20983         Whatever it was trying to test, wasn't working portably.
20984         (LC_ALL): Remove.  Apparently there wasn't an encoding problem,
20985         just a line-ending problem.
20986         * test/etags/c-src/dostorture.c: Remove.
20987         * test/etags/cp-src/c.C: Remove stray CR.
20988         * test/etags/html-src/algrthms.html: Remove trailing CRs.
20989         State UTF-8 as the encoding.  The file is ASCII so it doesn't matter,
20990         but if someone edits it later it should stay UTF-8-compatible.
20992 2015-05-19  Eli Zaretskii  <eliz@gnu.org>
20994         Fix display of overlapping window-specific overlays
20995         * src/keyboard.c (adjust_point_for_property): When adjusting point
20996         due to display strings, ignore overlays that are specific to
20997         windows other than the currently selected one.
20998         * src/xdisp.c (handle_single_display_spec): If the display
20999         property comes from an overlay, arrange for buffer iteration to
21000         resume only after the end of that overlay.  (Bug#20607)
21002 2015-05-19  Dmitry Gutov  <dgutov@yandex.ru>
21004         New command icomplete-force-complete-and-exit
21005         * lisp/icomplete.el (icomplete-force-complete-and-exit):
21006         New command
21007         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00461.html)
21008         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00516.html).
21009         (icomplete-minibuffer-map): Bind C-j to it.
21010         (icomplete-forward-completions, icomplete-backward-completions):
21011         Mention the new command in the docstring.
21012         * lisp/minibuffer.el (minibuffer-force-complete-and-exit):
21013         Revert the previous fix for bug#17545.
21015 2015-05-19  Martin Rudalics  <rudalics@gmx.at>
21017         Fix last commit
21019         In Elisp manual explain how to override window manager positioning
21020         (Bug#20552)
21021         * doc/lispref/frames.texi (Position Parameters): Give example of
21022         how to override a window manager positioning decision.
21024         Clarify concept of "surrogate minibuffer frames" (Bug#20538)
21025         * src/frame.c (Fdelete_frame): In doc-string mention that frame
21026         can't be deleted if it has a surrogate minibuffer.
21027         * doc/lispref/frames.texi (Minibuffers and Frames)
21028         (Deleting Frames): Explain "surrogate minibuffer frames".
21030         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 19/12 MB.
21032 2015-05-18  Glenn Morris  <rgm@gnu.org>
21034         Add option to ignore commit lines matching a pattern in ChangeLog
21035         * build-aux/gitlog-to-changelog: Add --ignore-line option.
21036         * build-aux/gitlog-to-emacslog: Ignore lines matching '^; '.
21038 2015-05-18  Paul Eggert  <eggert@cs.ucla.edu>
21040         Don't skip new etags tests on non-UTF-8 hosts
21041         Problem reported by Eli Zaretskii for MS-Windows.
21042         * test/etags/Makefile (UTF8_LOCALE, UTF8_ENCODING): Remove.
21043         (LC_ALL): Set to C if the current locale isn't UTF-8.
21044         (.PHONY): Remove ediff_1 thru ediff_5.
21045         (check): Always run.
21047 2015-05-18  Glenn Morris  <rgm@gnu.org>
21049         * lisp/calculator.el (calculator-funcall):
21050         * lisp/textmodes/artist.el (artist-spray-random-points):
21051         Use standard degree/radian conversion utilities.
21053         Further lisp-complete-symbol related cleanup.
21054         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol):
21055         Unadvertise non-functional argument.  Replace obsolete alias.
21057 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
21059         Add a test case for Maven warning ouput
21060         * test/automated/compile-tests.el
21061         (compile-tests--test-regexps-data): Add a case for Maven warning
21062         ouput.
21063         (compile--test-error-line): Check the compilation message type, if
21064         it's specified in the test data.
21066 2015-05-18  Paul Pogonyshev  <pogonyshev@gmail.com>
21068         Update Maven compilation-mode entry to distinguish warnings
21069         * lisp/progmodes/compile.el
21070         (compilation-error-regexp-alist-alist): Update Maven entry to
21071         distinguish warnings (bug#20556).
21073 2015-05-18  Przemysław Wojnowski  <esperanto@cumego.com>
21075         * test/automated/sgml-mode-tests.el: New file.
21077 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
21079         Improve handling of the first Git revision
21080         * lisp/vc/log-view.el (log-view-toggle-entry-display): When
21081         there's no next entry, delete until the end of the buffer.
21082         (log-view-end-of-defun-1): Stop at eob.
21083         * lisp/vc/vc-annotate.el
21084         (vc-annotate-show-diff-revision-at-line-internal): Don't give up
21085         when previous-revision is nil.
21086         * lisp/vc/vc-git.el (vc-git-expanded-log-entry): End the arguments
21087         with `--' to avoid ambiguity.
21088         (vc-git-annotate-extract-revision-at-line): Exclude `^' from the
21089         returned revision string.
21090         (vc-git-annotate-time): Expect `^' before the first revision.
21091         * lisp/vc/vc-git.el (vc-git-diff): Diff against an empty tree if
21092         REV1 is nil, and REV2 is not.
21093         * lisp/vc/vc.el: Update the description of the `diff' function.
21095 2015-05-18  Oleh Krehel  <ohwoeowho@gmail.com>
21097         Allow checkdoc to be called in batch
21098         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When `noninteractive'
21099         is non-nil, echo the error with `warn'.
21100         How it can be used in -batch:
21101         (with-current-buffer (find-file "checkdoc.el")
21102           (checkdoc-current-buffer t))
21104 2015-05-18  Glenn Morris  <rgm@gnu.org>
21106         * lisp/calendar/solar.el (solar-ecliptic-coordinates): Use float-pi.
21108 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
21110         * admin/notes/unicode: New section "binary files".
21112         Change new etags test to use UTF-8 encoding
21113         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
21114         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
21115         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
21116         * test/etags/html-src/index.shtml, test/etags/html-src/software.html:
21117         * test/etags/html-src/softwarelibero.html:
21118         Switch to UTF-8 encoding.
21119         * test/etags/Makefile (SRCS): Adjust to switch to UTF-8.
21120         Remove Makefile, as it's too incestuous to have the test input
21121         include the build procedure.
21122         (UTF8_LOCALE, UTF_ENCODING): New macros.
21123         (LC_ALL): If possible, set to a UTF-8 encoding if not already UTF-8.
21124         (check): Skip if not UTF-8.
21125         (.PHONY): New rule.
21126         (FRC): Remove, as superseded by .PHONY.  All uses removed.
21127         (regexfile): Prefer printf to echo when outputting oddball chars.
21128         (.PRECIOUS): Remove, as these files are not built.
21130         Rename 'foo-gzipped' to 'foo.gz'
21131         * test/automated/data/decompress/foo.gz:
21132         Rename from test/automated/data/decompress/foo-gzipped,
21133         to make it easier for other tools to tell that it's compressed.
21134         * test/automated/zlib-tests.el (zlib--decompress):
21135         Adjust to renamed file.
21137 2015-05-17  Dmitry Gutov  <dgutov@yandex.ru>
21139         Set up default-directory
21140         * lisp/vc/vc-annotate.el (vc-annotate-mode-map): Remove duplicate
21141         binding for `v'.
21142         (vc-annotate-show-changeset-diff-revision-at-line): Set up an
21143         appropriate value for default-directory.
21145 2015-05-17  Samer Masterson  <samer@samertm.com>
21147         * lisp/eshell/em-term.el (eshell-term-sentinel):
21148         No-op by default, only kills term buffer if
21149         `eshell-destroy-buffer-when-process-dies' is non-nil.  (Bug#18108)
21150         (eshell-destroy-buffer-when-process-dies): New custom to preserve
21151         previous behavior.
21153         eshell: Introduce new buffer syntax
21154         The new buffer syntax '#<buffer-name>' is equivalent to '#<buffer
21155         buffer-name>'.  Remove `eshell-buffer-shorthand', as it is no longer
21156         needed (Bug#19319).
21157         * lisp/eshell/esh-io.el (eshell-buffer-shorthand): Remove.
21158         (eshell-get-target): Remove shorthand-specific code.
21159         * lisp/eshell/esh-arg.el (eshell-parse-special-reference): Parse
21160         '#<buffer-name>'.
21162 2015-05-17  Jan D  <jan.h.d@swipnet.se>
21164         Merge branch 'master' into cairo
21166 2015-04-26  Jan D  <jan.h.d@swipnet.se>
21168         Merge branch 'master' into cairo
21170         Add PBM support for cairo
21171         * src/image.c (xcolor_to_argb32): New function.
21172         (get_spec_bg_or_alpha_as_argb): Call xcolor_to_argb32.
21173         (pbm_load, png_load_body, jpeg_load_body, gif_load): Only use
21174         XImagePtr if ! USE_CAIRO.
21175         (pbm_load): Add cairo support.
21177 2015-04-12  Jan D  <jan.h.d@swipnet.se>
21179         * src/xterm.c (x_free_cr_resources): Rename from x_prepare_for_xlibdraw.
21180         (x_cr_draw_frame, x_cr_export_frames, x_shift_glyphs_for_insert)
21181         (x_free_frame_resources): Rename x_prepare_for_xlibdraw to
21182         x_free_cr_resources.
21184         Handle specified bg in images.  Use generic libpng code for PNGs.
21185         * src/image.c (get_spec_bg_or_alpha_as_argb)
21186         (create_cairo_image_surface): New functions when USE_CAIRO.
21187         (xpm_load): Call the above functions.  Handle XPM without mask
21188         when USE_CAIRO.
21189         (png_load_body): Handle USE_CAIRO case.
21190         (png_load): Remove USE_CAIRO specific fuction, modify png_load_body
21191         instead.
21192         (jpeg_load_body): Call create_cairo_image_surface.
21193         (gif_load, svg_load_image): Handle specified background, call
21194         create_cairo_image_surface.
21195         * src/xterm.c (x_draw_image_glyph_string): Add missing USE_CAIRO.
21197 2015-04-11  Jan D  <jan.h.d@swipnet.se>
21199         Support GIF and TIFF with cairo
21200         * configure.ac: Allow jpeg with cairo.
21201         Allow tiff and gif with cairo.
21202         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
21203         (tiff_load): Create cairo image surface if USE_CAIRO.
21204         (gif_load): Ditto.
21206         Support JPEG with USE_CAIRO
21207         * configure.ac: Allow jpeg with cairo.
21208         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
21210 2015-04-05  Jan D  <jan.h.d@swipnet.se>
21212         Support RSVG and cairo
21213         * configure.ac: Allow rsvg with cairo.  Move back HAVE_RSVG.
21214         * src/dispextern.h (struct image): Add cr_data2 if cairo.
21215         * src/image.c: #undef COLOR_TABLE_SUPPORT when USE_CAIRO.
21216         (x_clear_image): Free cr_data and cr_data2 if set.
21217         (xpm_load): Assign data to cr_data2.
21218         (svg_load_image): Convert from GdkPixbuf to CAIRO_FORMAT_ARGB32.
21220 2015-04-03  Jan D  <jan.h.d@swipnet.se>
21222         Introduce limited Xpm support (32 bit ZPixmap) for Cairo
21223         * configure.ac (HAVE_RSVG): Move after cairo.
21224         (USE_CAIRO): Disable rsvg, don't disable Xpm.
21225         * src/image.c (prepare_image_for_display): Don't load if USE_CAIRO.
21226         (x_clear_image): If USE_CAIRO, also free possible img->ximg->obdata and
21227         don't return early.
21228         (ALLOC_XPM_COLORS): Don't define when USE_CAIRO.
21229         (xpm_load): Convert simple Xpms (32 bit ZPixmap) to CAIRO_FORMAT_ARGB32
21230         and create a surface.
21232         Tool tips for menus did not show any text.
21233         * src/xterm.c (x_update_begin): Don't create any surface for non-visible
21234         tip frames, the geometry may be wrong.
21236         Merge branch 'master' into cairo, fixes tooltips not shown.
21238         Merge branch 'master' into cairo
21240         Add CAIRO_CFLAGS to lwlib/Makefile.in
21241         * Makefile.in (CAIRO_CFLAGS): Add.
21243 2015-02-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
21245         * src/ftcrfont.c (ftcrfont_draw): Don't flush when drawing to screen.
21247 2015-02-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
21249         Draw outermost line using black relief and erase corners also for cairo.
21250         * src/xterm.c [USE_CAIRO]: Include math.h.
21251         (enum corners) [USE_CAIRO]: New enum.
21252         (x_erase_corners_for_relief) [USE_CAIRO]: New function.
21253         (x_draw_relief_rect) [USE_CAIRO]: Use it.  If box width is larger
21254         than 1, draw the outermost line using the black relief.
21256         * src/xterm.c (x_fill_trapezoid_for_relief):
21257         Remove unnecessary cairo_close_path.
21259 2015-02-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
21261         * src/xterm.c (x_draw_relief_rect) [USE_CAIRO]: Reset clipping.
21263         * src/xterm.c (x_draw_stretch_glyph_string):
21264         Call x_reset_clip_rectangles instead of XSetClipMask.
21266         Use int instead of unsigned int for width and height args.
21267         * src/xterm.c (x_cr_draw_image, x_fill_rectangle, x_draw_rectangle)
21268         (x_fill_trapezoid_for_relief): Use int instead of unsigned int for
21269         width and height args.
21271         Modernize k&r cairo-related function declarations.
21272         * src/gtkutil.c (xg_page_setup_dialog, xg_get_page_setup, draw_page)
21273         (xg_print_frames_dialog): Modernize k&r declarations.
21274         * src/xfns.c (Fx_export_frames, Fx_page_setup_dialog, Fx_get_page_setup)
21275         (Fx_print_frames_dialog): Modernize k&r declarations.
21276         * src/xterm.c (x_gc_get_ext_data, x_extension_initialize)
21277         (x_begin_cr_clip, x_end_cr_clip, x_set_cr_source_with_gc_foreground)
21278         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
21279         (x_cr_destroy_fringe_bitmap, x_cr_draw_frame, x_cr_accumulate_data)
21280         (x_cr_destroy, x_cr_export_frames, x_prepare_for_xlibdraw)
21281         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
21282         (x_draw_rectangle, x_clear_window, x_fill_trapezoid_for_relief)
21283         (x_clear_area): Modernize k&r declarations.
21285         Implement wave-style variant of underlining for cairo.
21286         * src/xterm.c (x_draw_horizontal_wave) [USE_CAIRO]: New function.
21287         (x_draw_underwave) [USE_CAIRO]: Use it.
21289         * src/xterm.c (x_draw_window_divider): Use x_fill_rectangle
21290         instead of XFillRectangle.
21292 2015-02-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
21294         Fix fringe bitmap initialization for cairo
21295         * src/fringe.c (init_fringe_bitmap) [USE_CAIRO]: Adjust bitmap
21296         data for cairo image surface.
21297         * src/xterm.c (x_cr_define_fringe_bitmap):
21298         Call cairo_surface_mark_dirty.
21300 2015-02-11  Jan D  <jan.h.d@swipnet.se>
21302         Add cairo drawing
21303         * configure.ac (with-cairo): New option.
21304         (USE_CAIRO): Default to yes for Gtk+ 3.  Add code to test for cairo,
21305         set CAIRO_CFLAGS, CAIRO_LIBS.  Add ftcrfonto to FONT_OBJ if cairo.
21306         Output "Does Emacs use cairo?".
21307         * lisp/version.el (emacs-version): Add cairo version.
21308         * src/Makefile.in (CAIRO_CFLAGS, CAIRO_LIBS): New variables.
21309         (FONT_OBJ): Add comment about ftcrfont.
21310         (ALL_CFLAGS): Add CAIRO_CFLAGS.
21311         (LIBES): Add CAIRO_LIBS.
21312         * src/dispextern.h (struct image): Add cr_data for cairo.
21313         (x_cr_init_fringe): Declare.
21314         * src/font.c (syms_of_font): Call syms_of_ftcrfont for cairo.
21315         * src/font.h (ftcrfont_driver, syms_of_ftcrfont): Declare
21316         * src/fringe.c (x_cr_init_fringe): New function name that shares code
21317         with w32_init_fringe.
21318         * src/ftcrfont.c: New font driver for cairo, based on the ftfont driver.
21319         * src/ftfont.c (ftfont_info_size); New global variable.
21320         (ftfont_open2): New extern function almost the same as old ftfont_open,
21321         but takes the font_object as argument.
21322         (ftfont_open): Build font object and call ftfont_open2.
21323         * src/ftfont.h (ftfont_open2, ftfont_info_size): Declare.
21324         * src/gtkutil.c (xg_clear_under_internal_border)
21325         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos):
21326         Only queue_draw if not cairo.  Change args to x_clear_area.
21327         (xg_get_font): Use Qftcr when using cairo, Qxft otherwise.
21328         (xg_page_setup_dialog, xg_get_page_setup, draw_page)
21329         (xg_print_frames_dialog): New functions for printing.
21330         * src/gtkutil.h (xg_page_setup_dialog, xg_get_page_setup)
21331         (xg_print_frames_dialog): Declare.
21332         * src/image.c: Add defined (USE_CAIRO) for PNG.
21333         Add !defined USE_CAIRO for W32 PNG code.
21334         (x_clear_image): If cairo, destroy the surface in cr_data.
21335         (png_load): Add new cairo compatible implementation.
21336         (lookup_image_type): Add defined (USE_CAIRO) for define png_type.
21337         * src/xfns.c: New section Printing.
21338         (x-export-frames, x-page-setup-dialog, x-get-page-setup)
21339         (x-print-frames-dialog): New printing functions.
21340         (Fx_create_frame, x_create_tip_frame): Register ftcrfont if cairo.
21341         (syms_of_xfns): Defsym Qorientation, Qtop_margin, Qbottom_margin,
21342         Qportrait, Qlandscape, Qreverse_portrait, Qreverse_landscape).
21343         (syms_of_xfns): Provide cairo and defvar cairo-version-string.
21344         defsubr Sx_page_setup_dialog, Sx_get_page_setup, Sx_print_frames_dialog.
21345         * src/xterm.c (x_clear_area1, x_prepare_for_xlibdraw)
21346         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
21347         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
21348         (x_gc_get_ext_data, x_extension_initialize, x_cr_accumulate_data):
21349         Declare.
21350         (FRAME_CR_CONTEXT, FRAME_CR_SURFACE): New macros.
21351         (max_fringe_bmp, fringe_bmp): New variables.
21352         (x_gc_get_ext_data, x_extension_initialize)
21353         (x_cr_destroy_surface, x_begin_cr_clip, x_end_cr_clip)
21354         (x_set_cr_source_with_gc_foreground)
21355         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
21356         (x_cr_destroy_fringe_bitmap, x_cr_draw_image, x_cr_draw_frame)
21357         (x_cr_accumulate_data, x_cr_destroy, x_cr_export_frames)
21358         (x_prepare_for_xlibdraw, x_set_clip_rectangles)
21359         (x_reset_clip_rectangles, x_fill_rectangle, x_draw_rectangle)
21360         (x_clear_window, x_fill_trapezoid_for_relief): New functions.
21361         (x_update_begin): Create cairo surface if needed.
21362         (x_draw_vertical_window_border): Call x_fill_rectangle for cairo.
21363         (x_update_end): Paint cairo drawing surface to xlib surface.
21364         (x_clear_under_internal_border, x_after_update_window_line): Adjust
21365         arguments to x_clear_area.
21366         (x_draw_fringe_bitmap): Call x_fill_rectangle.  Get GC values and
21367         call x_cr_draw_image for cairo.  Call x_reset_clip_rectangles instead
21368         of XSetClipMask.
21369         (x_set_glyph_string_clipping)
21370         (x_set_glyph_string_clipping_exactly): Use x_set_clip_rectangles
21371         instead of XSetClipRectangles.
21372         (x_clear_glyph_string_rect, x_draw_glyph_string_background):
21373         Use x_fill_rectangle instead of XFillRectangle.
21374         (x_draw_glyph_string_foreground)
21375         (x_draw_composite_glyph_string_foreground)
21376         (x_draw_glyphless_glyph_string_foreground): Use x_draw_rectangle
21377         instead of XDrawRectangle.
21378         (x_draw_relief_rect): Add code for USE_CAIRO.
21379         Call x_reset_clip_rectangles instead of XSetClipMask.
21380         (x_draw_box_rect): x_set_clip_rectangles instead of XSetClipRectangles,
21381         x_fill_rectangle instead of XFillRectangle, x_reset_clip_rectangles
21382         instead of XSetClipMask.
21383         (x_draw_image_foreground, x_draw_image_foreground_1):
21384         x_draw_rectangle instead of XDrawRectangle.
21385         (x_draw_glyph_string_bg_rect): x_fill_rectangle instead of
21386         XFillRectangle.
21387         (x_draw_image_glyph_string): If img has cr_data, use it as
21388         a cairo surface.
21389         (x_draw_stretch_glyph_string): x_set_clip_rectangles instead of
21390         XSetClipRectangles, x_fill_rectangle instead of XFillRectangle.
21391         (x_draw_glyph_string): x_fill_rectangle instead of XFillRectangle.,
21392         x_reset_clip_rectangles instead of XSetClipMask.
21393         (x_shift_glyphs_for_insert): Call x_prepare_for_xlibdraw.
21394         (x_clear_area1): New function that calls XClearArea.
21395         (x_clear_area): Takes frame as parameter, calls x_clear_area1 for
21396         non-cairo.
21397         (x_clear_frame): x_clear_window instead of XClearWindow.
21398         (x_scroll_run): Set frame garbaged if cairo.
21399         (XTmouse_position): Initialize *part to 0.
21400         (x_scroll_bar_create): Adjust arguments to x_clear_area.
21401         (x_scroll_bar_set_handle): x_clear_area1 instead of x_clear_area,
21402         x_fill_rectangle instead of XFillRectangle.
21403         (XTset_vertical_scroll_bar, XTset_horizontal_scroll_bar): Adjust
21404         arguments to x_clear_area.
21405         (x_scroll_bar_expose): x_draw_rectangle instead of XDrawRectangle.
21406         (handle_one_xevent): Adjust arguments to x_clear_area.
21407         Destroy cairo surface for frame if ConfigureNotify.
21408         (x_clip_to_row): x_set_clip_rectangles instead of XSetClipRectangles.
21409         (x_draw_hollow_cursor): x_draw_rectangle instead of XDrawRectangle,
21410         x_reset_clip_rectangles instead of XSetClipMask.
21411         (x_draw_bar_cursor): x_fill_rectangle instead of XFillRectangle,
21412         x_reset_clip_rectangles instead of XSetClipMask.
21413         (x_clear_frame_area): Adjust arguments to x_clear_area.
21414         (x_free_frame_resources): Call x_prepare_for_xlibdraw.
21415         (x_term_init): Call x_extension_initialize if cairo.
21416         (x_redisplay_interface): Add x_cr_define_fringe_bitmap,
21417         x_cr_destroy_fringe_bitmap for cairo.
21418         (x_initialize): Call x_cr_init_fringe for cairo.
21419         * src/xterm.h: Add include of cairo header files.
21420         (x_bitmap_record): Add img if cairo.
21421         (x_gc_ext_data): New struct for cairo.
21422         (x_display_info): Add ext_codes for cairo.
21423         (x_output): Add cr_context and cr_surface for cairo.
21424         (x_clear_area): Change arguments from Display*/Window to frame pointer.
21425         (x_query_color, x_begin_cr_clip, x_end_cr_clip)
21426         (x_set_cr_source_with_gc_foreground, x_set_cr_source_with_gc_background)
21427         (x_cr_draw_frame, x_cr_export_frames): Declare.
21429 2015-05-17  Johan Bockgård  <bojohan@gnu.org>
21431         Fix integer-valued `mouse-highlight' (Bug#20590)
21432         * src/xterm.c (handle_one_xevent) [USE_GTK]: Fix ifdef scope.
21434 2015-05-17  Eli Zaretskii  <eliz@gnu.org>
21436         MS-Windows followup for ASCIIfication of curved quotes
21437         * lisp/term/w32console.el (terminal-init-w32console): Repeat the
21438         test for curved quotes being displayable, after switching the
21439         terminal encoding.  (Bug#20545)
21441 2015-05-17  Jan D  <jan.h.d@swipnet.se>
21443         Add comment that x_shift_glyphs_for_insert is never called
21444         * src/xterm.c (x_shift_glyphs_for_insert, x_redisplay_interface):
21445         Add comment that this function is never called.
21447 2015-05-16  Glenn Morris  <rgm@gnu.org>
21449         * src/lisp.mk: Remove from repository and generate at build-time.
21450         * src/Makefile.in (lisp.mk): New rule to generate from loadup.el.
21451         (shortlisp_filter): New variable.
21452         (emacs$(EXEEXT), $(etc)/DOC): Depend on lisp.mk.
21453         (distclean): Remove lisp.mk.
21454         * Makefile.in ($(MAKEFILE_NAME)): No longer depend on src/lisp.mk.
21455         * lisp/loadup.el: Tweak layout to make it easier to parse.
21456         * make-dist: Do not distribute src/lisp.mk.
21458 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
21460         Display shorter dates in Git annotate output
21461         * lisp/vc/vc-git.el (vc-git-annotate-command): Use the short date
21462         format (when not overridden with vc-git-annotate-switches).
21463         (vc-git-annotate-time): Support the short format, as well as ISO
21464         8601 that has been used until now (bug#5428).
21466 2015-05-16  Paul Eggert  <eggert@cs.ucla.edu>
21468         ASCIIfy curved quotes on displays lacking them
21469         * lisp/international/mule-cmds.el (set-locale-environment):
21470         If curved quotes don't work, display straight ASCII approximations
21471         (Bug#20545).
21473 2015-05-16  Glenn Morris  <rgm@gnu.org>
21475         Small src/Makefile simplification
21476         * src/lisp.mk (shortlisp): Rename from lisp, remove $lispsource prefix.
21477         * src/Makefile.in (lisp): Derive from shortlisp.
21478         ($(etc)/DOC): Use $shortlisp rather than parsing lisp.mk.
21480 2015-05-16  Eli Zaretskii  <eliz@gnu.org>
21482         * lisp/help-mode.el (help-go-forward): Doc fix.
21483         (Bug#20577)
21485         * doc/lispref/debugging.texi (Profiling): Improve indexing.
21486         (Bug#20576)
21488 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
21490         * lisp/vc/vc-git.el (vc-git-resolve-when-done): Use `unless' to
21491         have one fewer `not'.
21493         * lisp/vc/vc-git.el (vc-git-diff-switches)
21494         (vc-git-annotate-switches, vc-git-resolve-conflicts)
21495         (vc-git-program, vc-git-root-log-format): Remove the redundant
21496         :group declarations.
21498 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
21500         Removes the predicate from lisp-complete-symbol (Bug#20456)
21501         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol): Do not use predicate
21502         and remove it from the docstring.
21504 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
21506         Add new option vc-git-resolve-conflicts
21507         * lisp/vc/vc-git.el (vc-git-resolve-conflicts): New variable.
21508         (vc-git-find-file-hook): Add to after-save-hook only when the
21509         above is non-nil.
21510         (vc-git-resolve-when-done): Update to honor the new variable.
21511         (Bug#20292)
21513 2015-05-16  Artur Malabarba  <bruce.connor.am@gmail.com>
21515         * lisp/emacs-lisp/tabulated-list.el: Don't error on null header-string.
21516         (tabulated-list-init-header): Document new behavior.
21517         (tabulated-list-print-fake-header): Do nothing if
21518         `tabulated-list--header-string' is nil.
21519         (tabulated-list--header-string): Add a docstring.
21520         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
21521         * etc/NEWS: Document it.
21523 2015-05-15  Leo Liu  <sdl.web@gmail.com>
21525         Revert "Fix cps--gensym"
21526         * lisp/emacs-lisp/generator.el (cps--gensym): Revert commit
21527         fbda511ab8069d0115eafca411a43353b85431b1 on 2015-05-14.
21529 2015-05-15  Glenn Morris  <rgm@gnu.org>
21531         Replace AC_SUBST_FILE in configure with include in Makefiles
21532         * configure.ac (DEPDIR, MKDEPDIR, deps_frag, lwlib_deps_frag)
21533         (oldxmenu_deps_frag, lisp_frag): Remove output variables/files.
21534         (AUTO_DEPEND): New output variable.
21535         * lwlib/Makefile.in (AUTO_DEPEND): New, set by configure.
21536         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
21537         (lwlib_deps_frag): Replace by conditional include.
21538         * lwlib/autodeps.mk: Remove file.
21539         * oldXMenu/Makefile.in (AUTO_DEPEND): New, set by configure.
21540         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
21541         (oldxmenu_deps_frag): Replace by conditional include.
21542         * oldXMenu/autodeps.mk: Remove file.
21543         * src/Makefile.in (AUTO_DEPEND): New, set by configure.
21544         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
21545         (lisp_frag): Replace by an include.
21546         (deps_frag): Replace by conditional include.
21547         * src/autodeps.mk: Remove file.
21549         Tweak japanese.el's loading of dependencies
21550         * lisp/loadup.el: Explicitly load cp51932 and eucjp-ms.
21551         * lisp/language/japanese.el: Use require rather than load.
21552         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
21553         Provide a feature.
21554         * admin/charsets/eucjp-ms.awk, admin/charsets/cp51932.awk:
21555         Provide a feature in the generated file.
21557 2015-05-15  Jan D  <jan.h.d@swipnet.se>
21559         Fix NS warnings
21560         * src/nsmenu.m (ns_popup_dialog)
21561         * src/nsimage.m (initFromXBM:width:height:fg:bg:)
21562         * src/nsfns.m (Fx_create_frame): Remove unused variables.
21563         (Fns_read_file_name): Initialize fname, remove ret.
21564         * src/nsterm.m (ns_draw_window_cursor): Handle DEFAULT_CURSOR in switch.
21565         (ns_get_color, ns_set_horizontal_scroll_bar, keyDown):
21566         Remove unused variable.
21567         (init): Add parantesis in if.
21568         (ns_create_terminal): Assign set_horizontal_scroll_bar_hook.
21570 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
21572         Fix a enum conversion warning in macfont.m
21573         * src/macfont.h (CharacterCollection): Typedef to NSCharacterCollection.
21574         (MAC_CHARACTER_COLLECTION_*): Use the NS variants.
21576 2015-05-15  Eli Zaretskii  <eliz@gnu.org>
21578         * lisp/textmodes/ispell.el (ispell-aspell-find-dictionary):
21579         Support Aspell dictionaries with names like "de-alt".  (Bug#20581)
21581 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
21583         * lisp/cus-start.el: Add ns-confirm-quit.
21585         Fix warnings on OSX 10.10
21586         * src/nsfns.m (MODAL_OK_RESPONSE): New define for different
21587         OSX versions.
21588         (Fns_read_file_name): Check against MODAL_OK_RESPONSE.
21589         (compute_tip_xy): Use convertRectToScreen for OSX >= 10.7
21590         * src/nsmenu.m (initWithContentRect:styleMask:backing:defer:)
21591         * src/nsimage.m (allocInitFromFile, setPixmapData): Only call
21592         setScalesWhenResized for OSX < 10.6.
21593         * src/nsterm.h (EmacsScroller): Declare scrollerWidth.
21594         * src/nsterm.m (ns_copy_bits): New function that does not use
21595         deprecated NSCopyBits.
21596         (ns_scroll_run, ns_shift_glyphs_for_insert): Call ns_copy_bits.
21597         (runAlertPanel): New function.
21598         (applicationShouldTerminate:): Call runAlertPanel.
21599         (initFrameFromEmacs, toggleFullScreen:): Only call
21600         useOptimizedDrawing for OSX < 10.10.
21601         (initFrameFromEmacs:): Only call allocateGState for OSX < 10.10.
21602         (windowWillUseStandardFrame:defaultFrame:): Cast arg to abs to int.
21603         (draggingEntered:): Returns NSDragOperation.
21604         (scrollerWidth): Use scrollerWidthForControlSize for OSX >= 10.7.
21606 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
21608         * lisp/emacs-lisp/package.el: Don't ensure-init during startup.
21609         (package--init-file-ensured): New variable.
21610         (package-initialize, package--ensure-init-file): Use it.
21612 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
21614         Honor :fore/background for XBM on NS (Bug#14969)
21615         * src/nsterm.h (EmacsImage): Add xbm_fg, remove initFromSkipXBM,
21616         initFromXBM takes bg, fg args, remove flip arg.
21617         (ns_image_from_XBM): Add bg, fg args.
21618         * src/image.c (x_create_bitmap_from_data)
21619         (Create_Pixmap_From_Bitmap_Data): ns_image_from_XBM takes bg, fg args.
21620         * src/nsimage.m (ns_image_from_XBM): Add fg, bg args, pass to
21621         initFromXBM.  Remove flip arg.
21622         (initFromSkipXBM): Move code to initFromXBM.
21623         (initFromXBM): Actually set fg and bg, instead of playing alpha games.
21624         Use fg, bg from args (Bug#14969).  Remove if (length) section, was
21625         always false.
21626         Remove bit flipping (bitPat, swt), generated incorrect images when
21627         width/height wasn't a multiple of 8.
21628         (setXBMColor:): Modify planes by comparing to saved xbm_fg.
21629         * src/nsterm.m (ns_draw_fringe_bitmap): initFromXBM takes fg, bg args,
21630         remove flip arg.
21632 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
21634         * lisp/emacs-lisp/package.el: Be more careful with the init file.
21635         (package--ensure-init-file): Check that user-init-file is set,
21636         exists, is readable, and is writable.  (Bug#20584)
21637         Also expand the docstring.
21639 2015-05-14  Wilson Snyder  <wsnyder@wsnyder.org>
21641         Sync with upstream verilog-mode revision 6232468
21642         * lisp/progmodes/verilog-mode.el
21643         (verilog-font-lock-grouping-keywords-face)
21644         (verilog-highlight-grouping-keywords): Fix use of face when
21645         `verilog-highlight-grouping-keywords' set.  Reported by Jeff Pompa.
21646         (verilog-auto-reset): Fix AUTORESET to ignore member resets if
21647         parent is reset, bug906.  Reported by Ken Schmidt.
21648         (verilog-auto-inout-module): Add fourth regexp argument to
21649         AUTOINOUTMODULE and AUTOINOUTCOMP for signals to not match, bug856.
21650         Reported by John Tillema.
21651         (verilog-auto-inst-port): Fix AUTOINST interfaces to not show
21652         modport if signal attachment is itself a modport.  Reported by
21653         Matthew Lovell.
21654         (verilog-auto-reset, verilog-auto-sense-sigs): Fix AUTORESET with
21655         always_comb and always_latch, bug844.  Reported by Greg Hilton.
21656         (verilog-at-constraint-p, verilog-beg-of-statement-1): Fix hanging
21657         with many curly-bracket pairs, bug663.
21658         (verilog-set-auto-endcomments): Fix end comments for functions of
21659         type void, etc.  Reported by Alex Reed.
21660         (verilog-do-indent): Fix electric tab deleting form-feeds.  Note
21661         caused by indent-line-to deleting tabls pre 24.5.
21662         (verilog-nameable-item-re): Fix nameable items that can have an
21663         end-identifier to include endchecker, endgroup, endprogram,
21664         endproperty, and endsequence.  Reported by Alex Reed.
21665         (verilog-label-be): When auto-commenting a buffer, consider
21666         auto-comments on all known keywords (not just a subset thereof).
21667         Reported by Alex Reed.
21668         (verilog-auto-end-comment-lines-re)
21669         (verilog-end-block-ordered-re, verilog-set-auto-endcomments):
21670         Automatically comment property/endproperty blocks to match other
21671         similar blocks like sequence/endsequence, function/endfunction, etc.
21672         Reported by Alex Reed.
21673         (verilog-set-auto-endcomments): Detect the function- or task-name
21674         when auto-commenting blocks that lack an explicit portlist.
21675         Reported by Alex Reed.
21676         (verilog-auto, verilog-auto-insert-last): Add AUTOINSERTLAST to
21677         allow post-AUTO user fixups, bug826.  Reported by Dennis Muhlestein.
21678         (verilog-no-indent-begin-re): When `verilog-indent-begin-after-if'
21679         is nil, fix indenting initial/final to match always statements,
21680         bug825.  Reported by Tim Clapp.
21681         (verilog-extended-complete-re): Fix indentation of DPI-C imports
21682         with c_identifiers, and DPI-C imports, bug557.  Reported by ZeDong
21683         Mao and Jason Forkey.
21684         (verilog-read-decls): Fix parsing typed interfaces.  Fix
21685         AUTOINOUTMODPORT missing types.  Reported by Stephan Bourduas.
21686         Fix localparam not being ignored in AUTOINSTPARAM,
21687         bug889.  Reported by Shannon Hill.
21688         (verilog-auto-output-every): Add regexp to AUTOOUTPUTEVERY,
21689         bug793.  Reported by Pierre-David Pfister.
21690         (verilog-auto-arg-format, verilog-auto-arg-ports):
21691         Add verilog-auto-arg-format to support newlines in AUTOARG.
21692         Reported by Jie Xiao.
21693         (verilog-batch-execute-func): Do not batch re-auto files loaded by
21694         Local Variables.  Fix printing "no changes to be saved" with
21695         verilog-batch.  Reported by Dan Dever.
21696         (verilog-auto-inout-module): Fix AUTOINOUTMODULE not inserting
21697         interface-only modules, bug721.  Reported by Dean Hoyt.
21698         Author: Alex Reed <acreed4@gmail.com>
21699         * lisp/progmodes/verilog-mode.el (verilog-beg-of-statement):
21700         Don't treat '<keyword>:<identifier>' as the start of a labeled
21701         statement, bug905.  Reported by Enzo Chi.
21702         (verilog-directive-re, verilog-compiler-directives)
21703         (verilog-keywords): Match full set of IEEE 2012-1800 compiler
21704         directives (plus some extras) when determining indentation, bug
21705         901.  Reported by Bernd Beuster.
21706         (verilog-at-constraint-p): Fix indentation of coverpoint bins if
21707         iff expression doesn't start with word-character, bug900.
21708         (verilog-optional-signed-range-re, verilog-optional-signed-re):
21709         Fix incorrect indentation/alignment of unsigned declarations,
21710         bug897.
21711         (verilog-looking-back, verilog-in-attribute-p): Fix labeling of
21712         always constructs, bug895.
21713         (verilog-calc-1): Fix verilog-mode constraint indentation, bug324.
21714         Reported by Eric Mastromarchi.
21715         (verilog-beg-of-statement): Fix indenting for some forms of
21716         constraintsm bug433.  Reported by Brad Parker.  Fix indentation of
21717         continued assignment incorrect if first line ends with ']', bug437.
21718         Reported by Dan Dever.  Fix indention of cover inside an
21719         ifdef, bug 862.  Reported by Bernd Beuster.  Fix labeling do-while
21720         blocks, bug842.
21721         (verilog-preprocessor-re): Fix fork/end UNMATCHED warning, bug859.
21722         Reported by Kaushal Modi.
21723         (verilog-set-auto-endcomments): Fix endlabel end comments, bug888.
21724         (verilog-backward-token): Fix indenting sensitivity lists with
21725         named events, bug840.  Reed.
21726         (verilog-no-indent-begin-re): Fix `verilog-indent-begin-after-if'
21727         nil not honoring 'forever', 'foreach', and 'do' keywords.
21729 2015-05-14  Paul Eggert  <eggert@cs.ucla.edu>
21731         Check for invalid GTK+ monitor scales
21732         * src/gtkutil.c (xg_get_gdk_scale): Return 1 for invalid scales,
21733         INT_MAX for too-large scales.  All callers changed to assume the
21734         result is valid (Bug#20432).
21735         (xg_frame_set_char_size, xg_update_scrollbar_pos):
21736         Calculate scale only if needed.
21737         Show ASCII approximations instead.
21739 2015-05-14  Eli Zaretskii  <eliz@gnu.org>
21741         Fix daemon crashes when linum-mode is turned on early on
21742         * src/window.c (Fwindow_end): Don't try calling display engine
21743         functions on initial-frame frame.  (Bug#20565)
21745         Fix selective diff browsing in Ediff
21746         * lisp/vc/ediff-util.el (ediff-focus-on-regexp-matches):
21747         Go to the beginning of the region before searching for the
21748         ediff-regexp-focus-* regexps.  (Bug#20568)
21750 2015-05-14  Jan D  <jan.h.d@swipnet.se>
21752         Fixes bug#20142
21753         * src/gtkutil.c (delete_cb): Don't send delete event here, it does
21754         arrive in the main loop, even for Gtk 3 (Bug#20142).
21756         Don't access display after i/o error (Bug#19147).
21757         * src/xterm.c (x_connection_closed): Add third arg ioerror.
21758         If ioerror, set display to 0 (Bug#19147).
21759         (x_error_quitter): Call x_connection_closed with third arg false.
21760         (x_io_error_quitter): Call x_connection_closed with third arg true.
21762         Handle GTK_SCALE, fixes Bug#20432.
21763         * src/gtkutil.c (xg_get_gdk_scale): New function.
21764         (xg_frame_set_char_size)
21765         (x_wm_set_size_hint, xg_get_default_scrollbar_width)
21766         (xg_get_default_scrollbar_height)
21767         (xg_update_horizontal_scrollbar_pos): Take GTK_SCALE in to account
21768         when setting sizes (Bug#20432).
21770 2015-05-13  Leo Liu  <sdl.web@gmail.com>
21772         * lisp/emacs-lisp/generator.el (cps--gensym): Fix.
21774 2015-05-13  Glenn Morris  <rgm@gnu.org>
21776         Fix bootstrap (void function cl-member).
21777         * lisp/emacs-lisp/cl-lib.el: Load cl-seq if no cl-loaddefs file.
21778         * lisp/emacs-lisp/cl-seq.el: Provide a feature.
21780 2015-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
21782         * lisp/loadup.el ("emacs-lisp/cl-generic"): Preload
21783         * src/lisp.mk (lisp): Add emacs-lisp/cl-generic.elc.
21784         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method):
21785         Avoid defalias for closures which are not immutable.
21786         (cl--generic-prefill-dispatchers): New macro.  Use it to prefill
21787         the dispatchers table with various entries.
21788         * lisp/emacs-lisp/ert.el (emacs-lisp-mode-hook):
21789         * lisp/emacs-lisp/seq.el (emacs-lisp-mode-hook): Use add-hook.
21791 2015-05-13  Eli Zaretskii  <eliz@gnu.org>
21793         Improve tagging of C bindings in DEFVAR_*
21794         * src/Makefile.in (TAGS): Add --regex options to tag the C binding
21795         from DEFVAR_*.
21797 2015-05-13  Paul Eggert  <eggert@cs.ucla.edu>
21799         * src/editfns.c (Fformat): Fix use-after-free bug (Bug#20548).
21801 2015-05-12  Glenn Morris  <rgm@gnu.org>
21803         * lisp/progmodes/tcl.el (tcl-filter):
21804         Handle comint-prompt-read-only like gud.el does.  (Bug#20549)
21806         Add basic VC push support
21807         * lisp/vc/vc.el (vc-push): New autoloaded command.
21808         * lisp/vc/vc-hooks.el (vc-prefix-map, vc-menu-map): Add vc-push.
21809         * lisp/vc/vc-bzr.el (vc-bzr--pushpull): New, factored from vc-bzr-pull.
21810         (vc-bzr-pull): Reimplement using vc-bzr--pushpull.
21811         (vc-bzr-push): New.
21812         * lisp/vc/vc-git.el (vc-git--pushpull): New, factored from vc-git-pull.
21813         (vc-git-pull): Reimplement using vc-git--pushpull.
21814         (vc-git-push): New.
21815         * lisp/vc/vc-hg.el (vc-hg--pushpull): New, factored from vc-hg-pull.
21816         (vc-hg-pull, vc-hg-push): Reimplement using vc-hg--pushpull.
21817         * doc/emacs/maintaining.texi (Pulling / Pushing):
21818         Rename from "VC Pull".  Mention pushing.
21819         (VC With A Merging VCS, VC Change Log): Update xrefs.
21820         (Branches): Update menu.
21821         * doc/emacs/emacs.texi: Update menu.
21822         * etc/NEWS: Mention this.
21824 2015-05-12  Nicolas Petton  <nicolas@petton.fr>
21826         Improve the seq pcase pattern and the `seq-let' macro
21827         * lisp/emacs-lisp/seq.el: The pcase pattern now matches only if the
21828         object is a sequence, and binds each element of ARGS to the
21829         corresponding element of the sequence.
21831 2015-05-12  Eli Zaretskii  <eliz@gnu.org>
21833         Fix tags created from DEFVAR_* declarations in C
21834         * src/Makefile.in (TAGS): Improve the --regex argument to etags,
21835         to make tags extracted from DEFVAR_* declarations more accurate.
21837         Add a test suite for etags
21838         * test/etags/: New test suite, adapted from
21839         http://fly.isti.cnr.it/pub/software/unix/etags-regression-test.tar.bz2,
21840         whose original author is Francesco Potortì <pot@gnu.org>.
21842         Fix tagging of symbols in C enumerations
21843         * lib-src/etags.c (consider_token): Don't tag symbols in
21844         expressions that assign values to enum constants.  See
21845         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00291.html
21846         for details.
21847         (C_entries): Reset fvdef to fvnone after processing a preprocessor
21848         conditional and after a comma outside of parentheses.
21850 2015-05-12  Glenn Morris  <rgm@gnu.org>
21852         * lisp/url/url-handlers.el (url-file-name-completion)
21853         (url-file-name-all-completions): Silence compiler.
21855         * lisp/emacs-lisp/chart.el (chart-axis-draw): Replace obsolete alias.
21857         * lisp/play/dunnet.el (dun-dos-boot-msg): Fix time.  (Bug#20554)
21859 2015-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
21861         * lisp/emacs-lisp/cl-generic.el: Add dispatch on &context arguments
21862         (cl--generic-mandatory-args): Remove.
21863         (cl--generic-split-args): New function.
21864         (cl-generic-define, cl--generic-lambda): Use it.
21865         (cl-generic-define-method): Use it as well, and add support for
21866         context args.
21867         (cl--generic-get-dispatcher): Handle &context dispatch.
21868         (cl--generic-cache-miss): `dispatch-arg' can now be a
21869         context expression.
21870         (cl--generic-dispatchers): Pre-fill.
21871         * test/automated/cl-generic-tests.el (sm-generic-test-12-context):
21872         New test.
21874 2015-05-11  Glenn Morris  <rgm@gnu.org>
21876         * make-dist: Abort if "make ChangeLog" fails.  Add "--no-changelog".
21878 2015-05-11  Stefan Monnier  <monnier@iro.umontreal.ca>
21880         * lisp/term/xterm.el: Fix xterm-paste handling for rxvt
21881         * lisp/term/rxvt.el: Require term/xterm.
21882         (rxvt-function-map): Use xterm-rxvt-function-map.
21883         (rxvt-standard-colors): Move before first use.
21884         (terminal-init-rxvt): Use xterm--push-map and
21885         xterm-register-default-colors.
21886         (rxvt-rgb-convert-to-16bit, rxvt-register-default-colors): Remove.
21887         * lisp/term/xterm.el (xterm-rxvt-function-map): New var.
21888         Move shared bindings between rxvt and xterm to it.
21889         (xterm-function-map): Use it.  Move the xterm-paste binding to
21890         xterm-rxvt-function-map (bug#20444).
21891         (xterm-standard-colors): Move before first use.
21892         (xterm--push-map): New function.
21893         (xterm-register-default-colors): Take standard colors as argument.
21894         (terminal-init-xterm): Use it.  Adjust call to
21895         xterm-register-default-colors.
21897 2015-05-11  Glenn Morris  <rgm@gnu.org>
21899         * lisp/term/x-win.el: Quieten --without-x compilation.
21900         (x-own-selection-internal, x-disown-selection-internal)
21901         (x-selection-owner-p, x-selection-exists-p, x-get-selection-internal):
21902         Declare.
21904         * Makefile.in (emacslog): Remove srcdir.
21905         (ChangeLog): Update for the above.
21907 2015-05-10  Fabián Ezequiel Gallina  <fgallina@gnu.org>
21909         python.el: better limit for looking-back calls
21910         * lisp/progmodes/python.el (python-shell-accept-process-output):
21911         Use last comint prompt start as limit for looking-back.
21913 2015-05-10  Stefan Monnier  <monnier@iro.umontreal.ca>
21915         CEDET (srecode-insert-fcn): Fix use of oref on a class
21916         * lisp/cedet/srecode/insert.el (srecode-insert-fcn): Fix use of oref
21917         on a class.  Reported by Pierre Lorenzon.
21918         (srecode-template-inserter-point): Remove declaration.
21920         CEDET (srecode-create-dictionary): Avoid obsolete object name
21921         * lisp/cedet/srecode/dictionary.el (srecode-create-dictionary):
21922         Don't use a symbol as an object name.  Reported by Pierre Lorenzon.
21924 2015-05-10  Paul Eggert  <eggert@cs.ucla.edu>
21926         C-x 8 shorthands for curved quotes, Euro, etc.
21927         Although C-x 8 lets you insert arbitrary Unicode characters,
21928         it's awkward to use this to insert commonly used symbols such as curved
21929         quotes, the Euro symbol, etc.  This patch adds simpler sequences for
21930         characters commonly found in English text and in basic math.
21931         For example, assuming the Alt key works on your keyboard and iso-transl
21932         is loaded, one can now type "A-[" instead of "A-RET LEFT SIN TAB RET"
21933         to get the character "‘" (U+2018 LEFT SINGLE QUOTATION MARK).
21934         (Bug#20499)
21935         * doc/emacs/mule.texi (Unibyte Mode):
21936         A few other printing characters now work too.
21937         * etc/NEWS: Document this.
21938         * lisp/international/iso-transl.el (iso-transl-char-map):
21939         Also support the following characters:
21940         ‐ ‑ ‒ – — ― ‘ ’ “ ” † ‡ • ′ ″ € № ← → ↔ − ≈ ≠ ≤ ≥
21942 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
21944         Add xref-find-regexp
21945         * lisp/progmodes/xref.el (xref-find-function): Describe the
21946         `matches' action.
21947         (xref-find-regexp): New command, using it.
21948         (xref-collect-references): Rename to xref-collect-matches.
21949         (xref--collect-reference): Rename to xref--collect-match.
21950         (xref-collect-matches, xref--collect-match): Accept new argument,
21951         KIND.  Update accordingly.
21952         (xref--regexp-to-extended): New function.
21953         * lisp/progmodes/elisp-mode.el (elisp-xref-find): Support the
21954         `matches' action.
21955         (elisp--xref-find-matches): Accept new argument.  Resolve a FIXME.
21956         * lisp/progmodes/etags.el (etags-xref-find):
21957         Support the `matches' action.
21958         (etags--xref-find-matches): New function.
21960 2015-05-10  Glenn Morris  <rgm@gnu.org>
21962         * Makefile.in: Fixes for recent change-history changes.
21963         (change-history-nocommit): Update footer regexp.
21964         Ensure output script stays executable.
21966 2015-05-10  Nicolas Petton  <nicolas@petton.fr>
21968         New version of `seq-let' based on a pcase pattern
21969         * lisp/emacs-lisp/seq.el (seq-let): Define the macro in terms of a
21970         pcase pattern if `pcase-defmacro' is defined (Emacs>=25.1).
21972 2015-05-10  Przemysław Wojnowski  <esperanto@cumego.com>
21974         Add basic HTML5 tags and a template
21975         * lisp/textmodes/sgml-mode.el: Basic HTML5 support.
21976         (html-tag-alist): Add HTML5 tags.
21977         (html-tag-help): Add new tags descriptions.
21978         (html-navigational-links): Template for nav links.
21979         (html-html5-template): Template for a HTML5 page.
21981 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
21983         semantic/symref/grep: Don't use word boundaries
21984         * lisp/cedet/semantic/symref/grep.el
21985         (semantic-symref-perform-search): Instead of wrapping input in
21986         word boundaries, check that the characters before and after are
21987         not word constituents.
21989         semantic/symref/grep: Support regexp search
21990         * lisp/cedet/semantic/symref.el
21991         (semantic-symref-hit-to-tag-via-buffer): Don't regexp-quote when
21992         the search type is regexp.
21993         * lisp/cedet/semantic/symref/grep.el
21994         (semantic-symref-perform-search): Support the regexp search type.
21995         Pass -E to Grep when it's used.
21997         semantic-symref-regexp: Allow to input an arbitrary string
21998         * lisp/cedet/semantic/symref/list.el (semantic-symref-regexp):
21999         Allow to input an arbitrary string interactively.
22001         Remove tag-symbol-match-p from etags-xref-find-definitions-tag-order
22002         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
22003         Remove tag-symbol-match-p from the default value
22004         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00292.html).
22006         Declare find-tag obsolete
22007         * lisp/progmodes/etags.el (find-tag): Declare obsolete in favor of
22008         xref-find-definitions.
22010 2015-05-10  Jan D  <jan.h.d@swipnet.se>
22012         Draw composite string correctly (Bug#20537)
22013         * src/nsterm.m (ns_draw_composite_glyph_string_foreground):
22014         New function.
22015         (ns_draw_glyph_string): Call it.
22017 2015-05-09  Eli Zaretskii  <eliz@gnu.org>
22019         Avoid infloop in ERC
22020         * lisp/simple.el (line-move-to-column): Ignore field boundaries
22021         while computing line beginning position.  (Bug#20498)
22023 2015-05-08  Glenn Morris  <rgm@gnu.org>
22025         * Makefile.in (ChangeLog): No longer pass "srcprefix"; cd instead.
22026         * build-aux/gitlog-to-emacslog: Check called from right directory.
22027         (srcprefix): Remove.
22029         * build-aux/gitlog-to-emacslog: Get rid of "distprefix".
22030         * Makefile.in (ChangeLog): No longer pass "distprefix".
22031         * make-dist: Update "make ChangeLog" syntax for the above change.
22033         * build-aux/gitlog-to-emacslog: Don't hard-code "ChangeLog.2".
22034         * Makefile.in (ChangeLog): Pass -n to gitlog-to-emacslog.
22036         * build-aux/gitlog-to-emacslog: Add "for earlier changes" to footer.
22038         Add command-line option-parsing to gitlog-to-emacslog
22039         * build-aux/gitlog-to-emacslog: Add command-line options.
22040         By default, refuse to remove an existing output file.
22041         * Makefile.in (CHANGELOG): Update default.
22042         (ChangeLog): Do not test for existing file.
22043         (change-history-nocommit): Ensure temp file does not exist.
22045         Quieten --without-x compilation
22046         * lisp/term/common-win.el: Provide a feature.
22047         * lisp/term/x-win.el (term/common-win): Require it.
22049         * lisp/dired-aux.el (dired-do-print): Require lpr.
22051         Quieten compilation, eg in --without-x builds
22052         * lisp/dired-aux.el (lpr-printer-switch):
22053         * lisp/frame.el (tool-bar-height):
22054         * lisp/linum.el (font-info):
22055         * lisp/window.el (font-info, overflow-newline-into-fringe)
22056         (tool-bar-height):
22057         * lisp/emacs-lisp/package-x.el (tar-data-buffer):
22058         * lisp/gnus/gnus-util.el (iswitchb-mode):
22059         * lisp/mail/rmailmm.el (libxml-parse-html-region):
22060         * lisp/net/nsm.el (gnutls-peer-status)
22061         (gnutls-peer-status-warning-describe):
22062         * lisp/net/shr.el (libxml-parse-xml-region):
22063         * lisp/url/url-http.el (gnutls-peer-status): Declare.
22065 2015-05-08  Stefan Monnier  <monnier@iro.umontreal.ca>
22067         CEDET (srecode-pop, srecode-peek): Don't use `subclass'
22068         * lisp/cedet/srecode/insert.el (srecode-pop, srecode-peek): Don't use
22069         `subclass' since they're never called with a class.
22070         (srecode-insert-method, srecode-insert-subtemplate): Avoid obsolete
22071         srecode-dictionary-child-p.
22073 2015-05-08  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
22075         * lisp/help.el (help--binding-locus): Document argument POSITION.
22076         (Bug#20530)
22078 2015-05-08  Paul Eggert  <eggert@cs.ucla.edu>
22080         Merge from gnulib
22081         * doc/misc/texinfo.tex: Get latest version.
22083 2015-05-08  Oleh Krehel  <ohwoeowho@gmail.com>
22085         ffap.el (ffap-read-file-or-url): Fix completing-read call
22086         * lisp/ffap.el (ffap-read-file-or-url): The HIST argument of
22087         `completing-read' should be a symbol.
22089 2015-05-08  Eli Zaretskii  <eliz@gnu.org>
22091         Verify file modifications by other programs
22092         * src/filelock.c (lock_file): Check whether the file was modified
22093         since it was visited even if 'create-lockfiles' is nil.  (Bug#18828)
22095         Fix keyboard macros that include function keys
22096         * src/keyboard.c (read_char_minibuf_menu_prompt): Record function
22097         keys in the macro before returning.  (Bug#20454)
22099 2015-05-08  Glenn Morris  <rgm@gnu.org>
22101         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
22102         "Copyright-paperwork-exempt".  (Bug#20324)
22104         * lisp/vc/log-edit.el: Handle "(tiny change)".  (Bug#20324)
22105         (log-edit-rewrite-tiny-change): New variable.
22106         (log-edit-insert-changelog): Maybe add "Copyright-paperwork-exempt".
22107         (log-edit-changelog-ours-p): Set log-edit-author to a cons.
22108         * etc/NEWS: Mention this.
22110         * lisp/calc/calc.el (math-zerop): Declare.
22112         * lisp/emacs-lisp/eieio-opt.el (help-fns-short-filename): Declare.
22114 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
22116         * lisp/emacs-lisp/subr-x.el (if-let): Fix debug spec.
22117         Support the case when BINDINGS is a single tuple.  (Bug#20525)
22119         * etc/NEWS: Fix typo in previous commit
22120         (14bb519f1034ddb38ce375cbad7095d9b07f8b26).
22122 2015-05-07  Jan D  <jan.h.d@swipnet.se>
22124         * configure.ac: Warn for multiple display crash for all Gtk+ versions.
22125         Output URL to Gtk+ bug (Bug#20452).
22127         * lisp/term/ns-win.el (ns-paste-secondary): Use gui-get-selection.
22129 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
22131         * lisp/emacs-lisp/package.el: New "external" package status.
22132         An external package is any installed package that's not built-in
22133         and not from `package-user-dir', which usually means it's from an
22134         entry in `package-directory-list'.  They are treated much like
22135         built-in packages, in that they cannot be through the Package Menu
22136         deleted and are not considered for upgrades.
22137         (package-desc-status): Identify if a package is installed outside
22138         `package-user-dir'.
22139         (package-menu--print-info-simple)
22140         (package-menu--status-predicate): Add support for it.
22141         * etc/NEWS: Document it.
22143 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
22145         * lisp/mail/rmail.el: Use lexical-binding.
22146         (rmail-bury): Remove unused var `buffer-to-bury'.
22147         (rmail-get-new-mail): Remove unused vars `opoint' and `success'.
22148         (rmail-parse-url): Remove unused var `proto', `user', and `host'.
22149         (rmail-unrmail-new-mail-maybe): Remove unused var `new-file'.
22150         (rmail-insert-inbox-text): Remove unused var `movemail'.
22151         (rmail-add-mbox-headers): Remove unused var `limit'.
22152         (rmail-undelete-previous-message): Remove unused var `value'.
22153         (rmail-reply): Remove unused vars `resent-to', `resent-cc',
22154         `resent-reply-to'.
22155         (rmail-mime-mbox-buffer, rmail-mime-view-buffer): Declare.
22156         (rmail-restore-desktop-buffer): Rename arguments.
22158 2015-05-06  Glenn Morris  <rgm@gnu.org>
22160         * Makefile.in (change-history-commit): Add missing piece of previous.
22162         Avoid unnecessary bumping of Makefile.in's timestamp
22163         * Makefile.in (gen_origin): Move to gitlog-to-emacslog.
22164         (emacslog): New variable.
22165         (ChangeLog): Use $emacslog.  Don't pass $gen_origin.
22166         (unchanged-history-files): Use $emacslog rather than Makefile.in.
22167         (change-history-nocommit): Store hash in $emacslog.
22168         * build-aux/gitlog-to-emacslog (gen_origin): Move default here.
22169         * admin/update_autogen (changelog_files): Update for the above.
22171         * Makefile.in: Don't always insist on removing existing "ChangeLog".
22172         (CHANGELOG): New variable.
22173         (no-ChangeLog): Remove.
22174         (ChangeLog): Replace "no-ChangeLog"; pass output file to script.
22175         (change-history-nocommit): Use a temp file rather than insisting
22176         on deletion of any existing "ChangeLog".
22178         * build-aux/gitlog-to-emacslog: Allow specification of output.
22180         * admin/update_autogen: Add option to update ChangeLog.
22181         (usage): Mention -H.
22182         (changelog_flag, changelog_n, changelog_files): New variables.
22183         (main): Check for -H, and maybe run change-history-nocommit.
22185 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
22187         * lisp/subr.el (delete-dups): Pre-size the hashtable.
22189         * lisp/emacs-lisp/cl.el (define-modify-macro): Make sure
22190         cl--arglist-args is defined (bug#20517).
22192 2015-05-06  Glenn Morris  <rgm@gnu.org>
22194         * Makefile.in (change-history-nocommit): New.
22196 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
22198         * lisp/cedet/pulse.el (pulse-momentary-unhighlight): Only cancel
22199         timer when it is non-nil
22200         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00223.html).
22202 2015-05-06  Glenn Morris  <rgm@gnu.org>
22204         Quieten CEDET compilation
22205         * lisp/cedet/semantic/db-el.el (semanticdb-elisp-sym->tag):
22206         Invert fboundp test to quieten on current Emacs.
22207         * lisp/cedet/ede/config.el (ede-shell-run-something)
22208         (semanticdb-file-table-object, semanticdb-needs-refresh-p)
22209         (semanticdb-refresh-table): Declare.
22210         (ede-preprocessor-map): Require semantic/db.
22212         Quieten cc-mode compilation
22213         * lisp/progmodes/cc-awk.el (c-forward-sws):
22214         * lisp/progmodes/cc-cmds.el (c-forward-subword, c-backward-subword):
22215         Declare.
22217 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
22219         * lisp/subr.el (delete-dups): Avoid nreverse.
22221 2015-05-06  Artur Malabarba  <bruce.connor.am@gmail.com>
22223         * lisp/subr.el (delete-dups): Make it destructive again.
22225 2015-05-06  Paul Eggert  <eggert@cs.ucla.edu>
22227         * doc/lispref/sequences.texi (Sequence Functions): Fix quoting.
22229 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
22231         * lisp/emacs-lisp/testcover.el: Don't use edebug--read (bug#20487).
22232         * lisp/emacs-lisp/testcover.el: Use lexical-binding.
22233         (testcover--read): Rename from testcover-read.  Change calling
22234         convention.  Use edebug-read-and-maybe-wrap-form now that edebug-read
22235         is gone.
22236         (testcover-start): Use add-function.  Move edebug-all-defs binding to
22237         testcover--read.
22238         (testcover-this-defun): Tighten scope of edebug-all-defs binding.
22239         (testcover-mark): Remove unused var `item'.
22240         * src/lread.c (syms_of_lread): Default load-read-function to `read'.
22242 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
22244         * lisp/subr.el (delete-dups): When there are more than 100 candidates,
22245           use a hash table.  This can result in ~500 times speed-up for typical
22246           collections of size 5000, like that of `load-library'.
22248 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
22250         CEDET: Avoid `oref' on classes in a few more cases
22251         * lisp/cedet/ede/generic.el (ede-find-target):
22252         * lisp/cedet/ede.el (ede-project-forms-menu): Avoid `oref' on classes.
22253         * lisp/cedet/semantic/bovine/gcc.el (semantic-gcc-setup): Remove unused
22254         var `prefix'.
22256         * lisp/cedet/semantic/symref/grep.el: Fix unused var warnings.
22257         (grepflags, greppattern): Declare.
22258         (semantic-symref-perform-search): Remove unused var `pat'.
22260         CEDET (srecode-compile-inserter): Avoid `oref' on classes
22261         * lisp/cedet/srecode/compile.el (srecode-compile-inserter):
22262         Avoid `oref' on classes (bug#20491).
22263         (srecode-compile-split-code): Remove unused var `key'.
22265 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
22267         Clean up pulse.el a little
22268         * lisp/cedet/pulse.el (pulse): Remove.
22269         (pulse-momentary-timer): Save instead of the stop time.
22270         (pulse-momentary-highlight-overlay):
22271         Call pulse-momentary-unhighlight first thing.
22272         Treat pulse-momentary-overlay as a single value, not a list.
22273         Save the created timer.  Only pass the stop time to the timer.
22274         (pulse-tick): Update accordingly.
22275         (pulse-momentary-unhighlight): Treat pulse-momentary-overlay as a
22276         single value.  Cancel the timer.
22278 2015-05-06  Tassilo Horn  <tsdh@gnu.org>
22280         * lisp/textmodes/reftex-cite.el (reftex-format-bib-entry):
22281         Support the biblatex journaltitle field.
22283 2015-05-05  Glenn Morris  <rgm@gnu.org>
22285         Minor declare-function improvement
22286         * lisp/emacs-lisp/bytecomp.el
22287         (byte-compile-macroexpand-declare-function):
22288         Handle declarations after calls.  (Bug#20509)
22290         * lisp/progmodes/js.el (js--optimize-arglist): Remove declaration.
22292         * lisp/w32-fns.el (w32-shell-name): Silence compiler.
22294 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
22296         Pulse using a timer
22297         * lisp/cedet/pulse.el (pulse-momentary-stop-time): New variable.
22298         (pulse-momentary-highlight-overlay): Set up the timer instead of
22299         calling `pulse'
22300         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/).
22301         (pulse-tick): New function.
22302         (pulse-momentary-unhighlight): Cut off the stop time.
22303         (pulse-delay): Update the docstring WRT to not using sit-for.
22305         Add semantic/symref/grep file patterns for ruby-mode
22306         * lisp/cedet/semantic/symref/grep.el
22307         (semantic-symref-filepattern-alist): Add patterns for ruby-mode.
22308         Clarify the docstring.
22310         Don't require match
22311         * lisp/progmodes/xref.el (xref--read-identifier): Don't require
22312         match.  That doesn't work for every command, and some identifier
22313         completion tables are bound to be imperfect anyway.
22315 2015-05-05  Stefan Monnier  <monnier@iro.umontreal.ca>
22317         * lisp/cedet/semantic/grammar.el: Fix compiler warnings (bug#20505).
22318         (semantic-grammar--template-expand): New function.
22319         (semantic-grammar-header, semantic-grammar-footer): Use it.
22320         (semantic-grammar--lex-block-specs): Remove unused var `block-spec'.
22321         (semantic-grammar-file-regexp): Refine regexp.
22322         (semantic-grammar-eldoc-get-macro-docstring):
22323         Use elisp-get-fnsym-args-string when available.
22324         (semantic-idle-summary-current-symbol-info): Use new elisp-* names
22325         instead of the old eldoc-* names.
22326         * lisp/emacs-lisp/eldoc.el (eldoc-docstring-format-sym-doc): Move back
22327         from elisp-mode.el.  Tweak calling convention.
22328         * lisp/progmodes/elisp-mode.el (package-user-dir): Declare.
22329         (elisp-get-fnsym-args-string): Add `prefix' argument.  Rename from
22330         elisp--get-fnsym-args-string.
22331         (elisp--highlight-function-argument): Add `prefix' arg.
22332         (elisp-get-var-docstring): Rename from elisp--get-var-docstring.
22333         (elisp--docstring-format-sym-doc): Move back to eldoc.el.
22335 2015-05-05  Glenn Morris  <rgm@gnu.org>
22337         * lisp/help-fns.el (describe-function-1):
22338         Handle builtins with advertised calling conventions.  (Bug#20479)
22340 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
22342         Merge branch 'seq-let'
22344         Update `seq-let' documentation
22345         * doc/lispref/sequences.texi: Update the documentation of `seq-let'
22346         with the support of  `&rest'.
22348         Add support for &rest in `seq-let'
22349         * lisp/emacs-lisp/seq.el (seq--make-bindings): Add support for `&rest'
22350         in the argument list.
22351         * test/automated/seq-tests.el: Add a test for parsing and binding
22352         `&rest' in `seq-let'.
22354 2015-05-05  Pierre Lorenzon  <devel@pollock-nageoire.net>  (tiny change)
22356         * lisp/emacs-lisp/eieio-custom.el (eieio-object-value-get):
22357         Add missing increment (Bug#20467).
22358         (eieio-object-value-create): Adjust to new slots representation
22359         (Bug#20467).
22360         (eieio-object-value-create): Fix missed adjustment to new
22361         representation of slots metadata.
22363 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
22365         * lisp/emacs-lisp/seq.el (seq--make-bindings): Improve the docstring.
22367 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
22369         Work around "Attempt to modify read-only object"
22370         * lisp/progmodes/elisp-mode.el (elisp--xref-format): Extract from
22371         elisp--xref-find-definitions, to work around "Attempt to modify
22372         read-only object" error.
22374         Only skip some variables that have function counterparts
22375         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
22376         Only skip minor-mode-named variable if it's defined in a Lisp
22377         file, and it's in minor-mode-list (bug#20506).
22378         * test/automated/elisp-mode-tests.el
22379         (elisp-xref-finds-both-function-and-variable)
22380         (elisp-xref-finds-only-function-for-minor-mode): New tests.
22382 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
22384         * lisp/progmodes/xref.el (xref--location-at-point): Revert the
22385         previous change.
22386         (xref--insert-xrefs): Buttonize the whole line, including the
22387         number at the beginning.
22389         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
22390         Make sure we're inside the let bindings.
22391         * test/automated/elisp-mode-tests.el
22392         (elisp-completes-functions-after-let-bindings): New test.
22394 2015-05-04  Glenn Morris  <rgm@gnu.org>
22396         * lisp/cedet/semantic/grammar.el (eldoc-function-argstring)
22397         (eldoc-docstring-format-sym-doc, eldoc-last-data-store)
22398         (eldoc-get-fnsym-args-string, eldoc-get-var-docstring):
22399         Remove outdated declarations.
22401         Replace instances of "(eval-when-compile (autoload ...))"
22402         * lisp/gnus/gnus-art.el (nneething-get-file-name):
22403         Declare rather than autoload.
22404         * lisp/gnus/gnus-async.el (gnus-html-prefetch-images):
22405         Remove pointless autoload.
22406         * lisp/gnus/gnus-sync.el (gnus-group-topic): Autoload at run-time.
22407         (gnus-topic-create-topic, gnus-topic-enter-dribble):
22408         Declare rather than autoload.
22409         * lisp/gnus/mm-archive.el (gnus-recursive-directory-files)
22410         (mailcap-extension-to-mime): Autoload at run-time.
22411         * lisp/gnus/mm-util.el (latin-unity-massage-name)
22412         (latin-unity-maybe-remap, latin-unity-representations-feasible-region)
22413         (latin-unity-representations-present-region):
22414         Declare rather than autoload.
22415         * lisp/gnus/mml-smime.el (epg-make-context)
22416         (epg-passphrase-callback-function): Autoload at run-time.
22417         (epg-context-set-signers, epg-context-result-for)
22418         (epg-new-signature-digest-algorithm)
22419         (epg-verify-result-to-string, epg-list-keys, epg-verify-string)
22420         (epg-sign-string, epg-encrypt-string)
22421         (epg-context-set-passphrase-callback, epg-sub-key-fingerprint)
22422         (epg-configuration, epg-expand-group, epa-select-keys):
22423         Declare rather than autoload.
22424         * lisp/gnus/nnir.el (nnimap-change-group, nnimap-make-thread-query):
22425         Autoload at run-time.
22426         (gnus-group-topic-name, nnimap-buffer, nnimap-command)
22427         (gnus-registry-get-id-key, gnus-registry-action):
22428         Declare rather than autoload.
22429         * lisp/gnus/nnmail.el (mail-send-and-exit): Autoload at run-time.
22430         * lisp/gnus/spam.el (spam-stat-buffer-change-to-non-spam)
22431         (spam-stat-buffer-change-to-spam, spam-stat-buffer-is-non-spam)
22432         (spam-stat-buffer-is-spam, spam-stat-load, spam-stat-save)
22433         (spam-stat-split-fancy): Remove pointless autoloads.
22434         * lisp/net/mairix.el: Load gnus-util when compiling.
22435         (gnus-group-read-ephemeral-group, gnus-summary-toggle-header)
22436         (message-field-value): Declare rather than autoload.
22437         (mairix-gnus-ephemeral-nndoc, mairix-gnus-fetch-field):
22438         Check gnus-alive-p is fbound.
22439         (vm-quit, vm-visit-folder, vm-select-folder-buffer)
22440         (vm-check-for-killed-summary, vm-error-if-folder-empty)
22441         (vm-get-header-contents, vm-select-marked-or-prefixed-messages):
22442         Declare rather than autoload.
22444         * lisp/gnus/mm-view.el (epg-decrypt-string): Autoload.
22446         * lisp/gnus/mml-smime.el (epg-key-sub-key-list)
22447         (epg-sub-key-capability, epg-sub-key-validity): Fix declarations.
22449         * lisp/progmodes/elisp-mode.el (xref-collect-references): Declare.
22451         * lisp/emacs-lisp/debug.el (help-xref-interned): Update declaration.
22453         * lisp/allout.el (epg-user-id-string, epg-key-user-id-list):
22454         * lisp/emacs-lisp/package.el (epg-signature-status):
22455         Fix declarations.
22457         * lisp/play/gametree.el (gametree-show-children-and-entry)
22458         (gametree-apply-layout, gametree-mouse-show-subtree)
22459         (gametree-mouse-hide-subtree): Replace obsolete outline aliases.
22461         * lisp/emacs-lisp/check-declare.el (check-declare-verify):
22462         Handle cl-defgeneric, cl-defmethod.
22464 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
22466         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
22467         Highlight both type and symbol name.
22469         Insert, highlight and align line numbers in xref output
22470         * lisp/progmodes/etags.el (xref-location-line): Specialize for
22471         xref-etags-location.
22472         * lisp/progmodes/xref.el (xref-location-line): New generic method.
22473         (xref-file-location): Add reader for the line slot.
22474         (xref--location-at-point): Skip to the `xref-location' property.
22475         (xref--collect-reference): Drop the line number from description.
22476         (xref--insert-xrefs): Insert, highlight and align line numbers.
22478 2015-05-04  Daniel Colascione  <dancol@dancol.org>
22480         * lisp/simple.el (save-mark-and-excursion--save)
22481         (save-mark-and-excursion--restore): Fix previous commit
22482         (255a011f0ecf004b31c59945b10154b10fac3af1).
22484 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
22486         Don't pulse the indentation, or the newline
22487         * lisp/cedet/pulse.el (pulse-lighten-highlight)
22488         (pulse-reset-face): Fall back to the inherited background
22489         attribute in FACE.
22490         (pulse-momentary-highlight-region): Add autoload cookie.
22491         * lisp/progmodes/xref.el (xref--maybe-pulse): Don't highlight the
22492         indentation, or the newline, if the line's non-empty
22493         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00118.html).
22495 2015-05-04  Daniel Colascione  <dancol@dancol.org>
22497         Add `save-mark-and-excursion', which has the old
22498         `save-excursion' behavior
22499         * doc/lispref/positions.texi (Excursions):
22500         Document `save-mark-and-excursion'.
22501         * lisp/font-lock.el (font-lock-fontify-block):
22502         Use `save-mark-and-excursion' instead of `save-excursion',
22503         restoring Emacs 24 behavior.
22504         * lisp/simple.el (save-mark-and-excursion--save)
22505         (save-mark-and-excursion--restore): New functions.
22506         (save-mark-and-excursion): New user macro.
22507         * src/editfns.c (Fsave_excursion): Mention `save-mark-and-excursion'
22508         in `save-excursion' documentation.
22510 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
22512         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
22513         Classify lone symbol inside let varlist as variable.
22514         * test/automated/elisp-mode-tests.el
22515         (completest-variables-in-let-bindings): New test.
22517         Add xref-pulse-on-jump
22518         * lisp/cedet/pulse.el (pulse-momentary-highlight-one-line):
22519         Add autoload cookie.
22520         * lisp/progmodes/xref.el (xref-pulse-on-jump): New option.
22521         (xref--maybe-pulse): New function.
22522         (xref-pop-marker-stack, xref--pop-to-location)
22523         (xref--display-position): Use it.
22524         (xref--location-at-point): Use back-to-indentation.
22526 2015-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
22528         lisp/org/org-{macs,list}.el: Fix lexical warnings
22529         * lisp/org/org-list.el (org-list-struct): Remove unused var `ind'.
22530         (org-list-get-next-item, org-list-get-prev-item)
22531         (org-list-get-children): Mark unused arg `struct'.
22532         (org-list-use-alpha-bul-p): Remove unused var `bul'.
22533         (org-toggle-checkbox): Mark unused var.
22534         (org-update-checkbox-count): Remove unused var `box-num'.
22535         (org-adapt-indentation): Declare.
22536         (org-list-parse-list): Declare var instead of adding a dummy duplicate.
22537         (org-list-send-list): Remove unused var `txt'.
22538         (org-list-to-latex, org-list-to-texinfo): Mark unused arg `params'.
22539         (org-list-to-subtree): Add prefix to dyn-bind var, and declare them.
22540         * lisp/org/org-macs.el: Use `declare'.
22541         (org-with-limited-levels): Declare dyn-bound vars.
22543 2015-05-04  Eli Zaretskii  <eliz@gnu.org>
22545         Fix minor issues with CEDET on MS-Windows
22546         * lisp/cedet/semantic/symref/idutils.el
22547         (semantic-symref-parse-tool-output-one-line): Fix the search
22548         regexp to match MS-Windows file names with drive letters.
22549         (Bug#19468)
22550         * lisp/cedet/semantic/symref/grep.el
22551         (semantic-symref-grep-use-template): Remove "--color=always" from
22552         Grep switches on MS-Windows.
22553         (semantic-symref-grep-shell): Use shell-file-name as the default
22554         value, so this works not only on Posix platforms.
22555         (semantic-symref-perform-search): Use shell-quote-argument instead
22556         of literal '..' for portable quoting of Grep command-line
22557         argument.  Use shell-command-switch instead of a literal "-c".
22558         * lisp/cedet/semantic/bovine/gcc.el
22559         (semantic-gcc-get-include-paths): Use file-name-absolute-p to test
22560         for an absolute file name in a portable way.
22562 2015-05-04  Artur Malabarba  <bruce.connor.am@gmail.com>
22564         * lisp/emacs-lisp/package.el: Remove `package--silence' variable.
22565         (package-import-keyring, package-refresh-contents)
22566         (package-compute-transaction, package--save-selected-packages)
22567         (package-install-from-archive, package-delete)
22568         (package-menu--perform-transaction): Use `inhibit-message' instead.
22569         (package--compile): Set `warning-minimum-level' to :error.
22571 2015-05-03  Stefan Monnier  <monnier@iro.umontreal.ca>
22573         * lisp/term/screen.el (xterm-screen-extra-capabilities): New custom.
22574         (terminal-init-screen): Use it (bug#20356).
22575         * lisp/term/xterm.el: Provide `term/xterm' instead of `xterm'.
22576         (xterm--extra-capabilities-type): New const.
22577         (xterm-extra-capabilities): Use it.
22578         (xterm--version-handler): Lower the pseudo-version for `screen'.
22580 2015-05-03  Dmitry Gutov  <dgutov@yandex.ru>
22582         * lisp/progmodes/xref.el (xref--insert-xrefs): Tweak the faces.
22583         Always insert a newline at the end (to avoid mouse-face background
22584         tail at the last line).
22586         elisp-completion-at-point: Prioritize being quoted over funpos
22587         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
22588         Only consider function position when not inside quoted form
22589         (bug#20425).
22590         * test/automated/elisp-mode-tests.el: New file.
22592         Stop vc-print-log from jumping to the top
22593         * lisp/vc/vc.el (vc-print-log-internal): Pass nil
22594         GOTO-LOCATION-FUNC to vc-log-internal-common when WORKING-REVISION
22595         is not specified.
22596         (vc-incoming-outgoing-internal): Always pass nil.
22597         (vc-log-internal-common): When GOTO-LOCATION-FUNC is nil, don't
22598         call it, and don't set vc-sentinel-movepoint (bug#15322).
22599         (vc-print-root-log): Don't fetch the root working revision, nor
22600         pass it to vc-print-log-internal.
22602 2015-05-02  Michael Vehrs  <Michael.Burschik@gmx.de>
22604         Fix display of keyboard layouts for right-to-left scripts
22605         * lisp/international/quail.el (quail-insert-kbd-layout):
22606         Force left-to-right paragraph direction.
22608 2015-05-02  K. Handa  <handa@gnu.org>
22610         * src/cmds.c (internal_self_insert): When we insert spaces for
22611         padding, set point before the padding spaces, not after them.
22613 2015-05-02  Nicolas Petton  <nicolas@petton.fr>
22615         * lisp/emacs-lisp/seq.el (seq-p): New alias to `sequencep'.
22617 2015-05-02  Dmitry Gutov  <dgutov@yandex.ru>
22619         Fix etags-xref-find for references
22620         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references):
22621         Use `cl-mapcan'.
22622         * lisp/progmodes/etags.el (etags-xref-find): Ditto.  Prompt for
22623         directory if no tags tables are loaded (bug#19468).
22625 2015-05-02  Philipp Stephani  <phst@google.com>
22627         Update the options in whitespace-style defcustom
22628         * lisp/whitespace.el (whitespace-style): Use `set' instead of a
22629         `repeat' because the option is really set-like.  Add missing
22630         options.  Reorder options to match the order in the
22631         documentation.  (Bug#20346)
22633 2015-05-02  Eli Zaretskii  <eliz@gnu.org>
22635         Fix error diagnostics of c-macro-expand
22636         * lisp/progmodes/cmacexp.el (c-macro-expansion): Don't bail out
22637         too early if no start-marker string was found -- that generally
22638         means cpp exited abnormally, and we still want to show its error
22639         messages to the user.
22641         Don't require Texinfo 5.0 for Emacs documentation
22642         * doc/emacs/docstyle.texi: Use "@set txicodequoteundirected" and
22643         "@set txicodequotebacktick" instead of "@codequotebacktick on" and
22644         "@codequoteundirected on", respectively, to avoid requiring
22645         Texinfo 5.x for Emacs documentation.
22647 2015-05-01  Simen Heggestøyl  <simenheg@gmail.com>
22649         * lisp/files.el (pwd):
22650         When called with a prefix argument, insert the current default
22651         directory at point.
22653 2015-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>
22655         * lisp/isearch.el (isearch-mode-map): Allow backspace remapping
22656         * lisp/isearch.el (isearch-mode-map): Don't inhibit
22657         function-key-map remapping for backspace (bug#20466).
22659 2015-05-01  Dmitry Gutov  <dgutov@yandex.ru>
22661         Implement xref-find-references in etags and elisp-mode
22662         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): New function.
22663         (elisp-xref-find): Use it.
22664         * lisp/progmodes/etags.el (etags-xref-find): Use `xref-collect-references'.
22665         * lisp/progmodes/xref.el (xref-collect-references):
22666         (xref--collect-reference): New functions.
22668 2015-05-01  Paul Eggert  <eggert@cs.ucla.edu>
22670         Prefer plain characters to Texinfo circumlocutions
22671         For example, prefer 'François' to 'Fran\c{c}ois', 'Fran\c cois',
22672         'Fran@,{c}ois' or 'Francois' (all of which were used!) in Texinfo sources.
22674         Fix single-quoting style in PDF manuals
22675         The PDF versions of the GNU manuals used curved single quotes to
22676         represent grave accent and apostrophe, which made it a pain to cut
22677         and paste code examples from them.  Fix the PDF versions to use
22678         grave accent and apostrophe for Lisp source code, keystrokes, etc.
22679         This change does not affect the info files, nor does it affect
22680         ordinary uses of curved single quotes in PDF.
22681         * doc/emacs/docstyle.texi: New file, which specifies treatment for
22682         grave accent and apostrophe, as well as the document encoding.
22683         * doc/emacs/emacs-xtra.texi, doc/emacs/emacs.texi:
22684         * doc/lispintro/emacs-lisp-intro.texi:
22685         * doc/lispref/back.texi, doc/lispref/book-spine.texi:
22686         * doc/lispref/elisp.texi, doc/lispref/lay-flat.texi:
22687         * doc/misc/ada-mode.texi, doc/misc/auth.texi:
22688         * doc/misc/autotype.texi, doc/misc/bovine.texi, doc/misc/calc.texi:
22689         * doc/misc/cc-mode.texi, doc/misc/cl.texi, doc/misc/dbus.texi:
22690         * doc/misc/dired-x.texi, doc/misc/ebrowse.texi, doc/misc/ede.texi:
22691         * doc/misc/ediff.texi, doc/misc/edt.texi, doc/misc/efaq-w32.texi:
22692         * doc/misc/efaq.texi, doc/misc/eieio.texi, doc/misc/emacs-gnutls.texi:
22693         * doc/misc/emacs-mime.texi, doc/misc/epa.texi, doc/misc/erc.texi:
22694         * doc/misc/ert.texi, doc/misc/eshell.texi, doc/misc/eudc.texi:
22695         * doc/misc/eww.texi, doc/misc/flymake.texi, doc/misc/forms.texi:
22696         * doc/misc/gnus-coding.texi, doc/misc/gnus-faq.texi:
22697         * doc/misc/gnus.texi, doc/misc/htmlfontify.texi:
22698         * doc/misc/idlwave.texi, doc/misc/ido.texi, doc/misc/info.texi:
22699         * doc/misc/mairix-el.texi, doc/misc/message.texi, doc/misc/mh-e.texi:
22700         * doc/misc/newsticker.texi, doc/misc/nxml-mode.texi:
22701         * doc/misc/octave-mode.texi, doc/misc/org.texi, doc/misc/pcl-cvs.texi:
22702         * doc/misc/pgg.texi, doc/misc/rcirc.texi, doc/misc/reftex.texi:
22703         * doc/misc/remember.texi, doc/misc/sasl.texi, doc/misc/sc.texi:
22704         * doc/misc/semantic.texi, doc/misc/ses.texi, doc/misc/sieve.texi:
22705         * doc/misc/smtpmail.texi, doc/misc/speedbar.texi:
22706         * doc/misc/srecode.texi, doc/misc/todo-mode.texi, doc/misc/tramp.texi:
22707         * doc/misc/url.texi, doc/misc/vhdl-mode.texi, doc/misc/vip.texi:
22708         * doc/misc/viper.texi, doc/misc/widget.texi, doc/misc/wisent.texi:
22709         * doc/misc/woman.texi:
22710         Use it instead of '@documentencoding UTF-8', to lessen the need for
22711         global changes like this in the future.
22712         * doc/emacs/Makefile.in (EMACS_XTRA):
22713         * doc/lispintro/Makefile.in (srcs):
22714         * doc/lispref/Makefile.in (srcs):
22715         Add dependency on docstyle.texi.
22716         * doc/misc/Makefile.in (style): New macro.
22717         (${buildinfodir}/%.info, %.dvi, %.pdf, %.html)
22718         (${buildinfodir}/ccmode.info, ${buildinfodir}/efaq%.info, gnus_deps):
22719         Use it.
22721 2015-05-01  Glenn Morris  <rgm@gnu.org>
22723         * test/automated/cl-lib-tests.el (cl-lib-adjoin-test): Fix it.
22725         * lisp/emacs-lisp/pcase.el (get-edebug-spec, edebug-match)
22726         (help-fns--signature): Declare.
22728         * lisp/emacs-lisp/pcase.el (pcase--make-docstring): Require help-fns.
22730 2015-05-01  Nicolas Petton  <nicolas@petton.fr>
22732         New macro seq-let, providing destructuring support to seq.el
22733         * lisp/emacs-lisp/seq.el (seq-let): New macro.  `seq-let' is similar
22734         to `cl-destructuring-bind' but works on all sequence types supported
22735         by `seq.el'.  Bump version number to 1.6.
22736         * test/automated/seq-tests.el: Add tests for seq-let.
22737         * doc/lispref/sequences.texi: Add documentation for seq-let.
22739 2015-05-01  Pontus Michael  <m.pontus@gmail.com>
22741         * lisp/simple.el (blink-matching-open): Better behavior in minibuffer.
22743 2015-05-01  Glenn Morris  <rgm@gnu.org>
22745         * lisp/emacs-lisp/ert.el (ert--special-operator-p): Fix previous.
22747 2015-05-01  Artur Malabarba  <bruce.connor.am@gmail.com>
22749         * lisp/emacs-lisp/bytecomp.el: Revert "Silence noninteractive compilations"
22750         This reverts commit 9a7ddde977378cb5276a81476ae458889c403267.
22751         This reverts commit 3c0ea587daf8b17960b90603a70e3ac4057d883d.
22752         With message: "* lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'".
22753         (Bug#20445).
22755 2015-05-01  K. Handa  <handa@gnu.org>
22757         * lisp/international/mule-cmds.el (input-method-use-echo-area):
22758         Change :type to 'boolean.
22760 2015-05-01  Lars Magne Ingebrigtsen  <larsi@gnus.org>
22762         Start using proportional fonts in eww by default
22763         * lisp/net/shr.el (shr-use-fonts): Switch the default to t, since
22764         it seems to work well.
22766         Fix links in tables in shr
22767         * lisp/net/shr.el: Remove `shr-inhibit-decoration', because that
22768         makes (some) links in tables not work.
22770 2015-05-01  Jan D  <jan.h.d@swipnet.se>
22772         * lisp/term/ns-win.el (ns-get-cut-buffer-internal): Remove this alias.
22774 2015-04-30  Glenn Morris  <rgm@gnu.org>
22776         * lisp/emacs-lisp/ert.el (ert--special-operator-p):
22777         Update for 2015-02-08 change to indirect-function.
22779         * lisp/term/ns-win.el (ns-get-selection-internal):
22780         Remove declaration for function deleted 2014-10-21.
22782         * lisp/dom.el: Load subr-x when compiling, for when-let.
22784         Silence some compilation warnings
22785         * lisp/emacs-lisp/check-declare.el (compilation-forget-errors):
22786         * lisp/emulation/cua-base.el (delete-active-region):
22787         * lisp/net/net-utils.el (w32-get-console-output-codepage):
22788         * lisp/term/ns-win.el (ns-own-selection-internal)
22789         (ns-disown-selection-internal, ns-selection-owner-p)
22790         (ns-selection-exists-p, ns-get-selection):
22791         Declare for compiler.
22793         Function declaration updates prompted by 'make check-declare'
22794         * lisp/emacs-lisp/package.el (lm-homepage):
22795         * lisp/gnus/gnus-util.el (iswitchb-read-buffer):
22796         * lisp/gnus/mm-decode.el (libxml-parse-html-region):
22797         * lisp/gnus/mml.el (libxml-parse-html-region):
22798         * lisp/gnus/nnrss.el (libxml-parse-html-region):
22799         * lisp/net/eww.el (libxml-parse-html-region):
22800         * lisp/net/shr.el (libxml-parse-html-region):
22801         * lisp/vc/vc-bzr.el (vc-annotate-convert-time):
22802         * lisp/vc/vc-cvs.el (vc-annotate-convert-time):
22803         * lisp/vc/vc-git.el (vc-annotate-convert-time):
22804         * lisp/vc/vc-hg.el (vc-annotate-convert-time):
22805         * lisp/vc/vc-mtn.el (vc-annotate-convert-time):
22806         * lisp/vc/vc-rcs.el (vc-annotate-convert-time):
22807         Update declaration.
22809         Remove compatibility code for 20-year old function renaming
22810         * lisp/progmodes/idlw-shell.el (idlwave-shell-comint-filter):
22811         Make it an obsolete alias.
22812         (idlwave-shell-filter): Change all uses to comint-output-filter.
22814 2015-04-30  Tassilo Horn  <tsdh@gnu.org>
22816         Add ace-window face config
22817         * etc/themes/tsdh-light-theme.el (tsdh-light): Add ace-window face
22818         configuration.
22820 2015-04-30  Paul Eggert  <eggert@cs.ucla.edu>
22822         Unclutter 'make doc' output a bit
22823         * Makefile.in ($(DOCS), $(INSTALL_DOC), $(UNINSTALL_DOC)):
22824         Use make subst rather than sh IFS to split target string apart.
22825         This makes 'make' output easier to follow.
22827         Merge from gnulib
22828         * doc/misc/texinfo.tex: Update from gnulib.
22830 2015-04-30  Artur Malabarba  <bruce.connor.am@gmail.com>
22832         * lisp/emacs-lisp/package.el: Some speed optimizations on menu refresh.
22833         (package-menu--print-info): Obsolete.
22834         (package-menu--print-info-simple): New function.
22835         (package-menu--refresh): Use it, simplify code, and improve
22836         performance.
22837         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
22838         Tiny performance improvement.
22840         * lisp/emacs-lisp/package.el (package--message): inhibit-message.
22842 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
22844         Omit -Wstrict-overflow workaround in GCC 5
22845         * src/process.c: Remove workaround for GCC -Wstrict-overflow bug
22846         if it's GCC 5 or later, as the bug appears to be fixed in GCC 5.1.
22848         Merge from gnulib
22849         This incorporates:
22850         2015-04-29 extern-inline: no need for workaround in GCC 5.1
22851         2015-04-26 file-has-acl: port to CentOS 6
22852         * m4/acl.m4, m4/extern-inline.m4: Update from gnulib.
22854 2015-04-29  Helmut Eller  <eller.helmut@gmail.com>
22856         Set next-error-* in xref--xref-buffer-mode
22857         * lisp/progmodes/xref.el (xref--xref-buffer-mode):
22858         Set `next-error-function' and `next-error-last-buffer'.
22859         (xref--next-error-function): New function.
22860         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01311.html)
22862 2015-04-29  Fabián Ezequiel Gallina  <fgallina@gnu.org>
22864         python.el: Fix warnings on looking-back calls missing LIMIT
22865         * lisp/progmodes/python.el (python-shell-accept-process-output):
22866         Pass LIMIT arg to looking-back.
22868 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
22870         * lisp/emacs-lisp/package.el: Use pushnew for downloads in progress.
22871         (package--download-and-read-archives): Use pushnew instead of
22872         append.  If something terrible happened during a previous
22873         download, simply refreshing should now make things work again.
22875 2015-04-29  Dmitry Gutov  <dgutov@yandex.ru>
22877         Introduce etags-xref-find-definitions-tag-order
22878         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
22879         New variable.
22880         (etags--xref-find-definitions): Use it (bug#19468).
22882 2015-04-29  Eli Zaretskii  <eliz@gnu.org>
22884         PATH- and completion-related fixes in Eshell on MS-Windows
22885         * lisp/eshell/esh-ext.el (eshell-search-path): When running on
22886         MS-Windows, prepend "." to list of directories produced from PATH,
22887         as Windows always implicitly searches the current directory first.
22888         (eshell-force-execution): Make it have a non-nil default value on
22889         MS-Windows and MS-DOS.
22890         * lisp/eshell/em-cmpl.el (eshell-complete-commands-list): If
22891         eshell-force-execution is non-nil, complete on readable files and
22892         directories, not only executables.  When running on MS-Windows,
22893         prepend "." to list of directories produced from PATH, as Windows
22894         always implicitly searches the current directory first.
22896 2015-04-29  Sam Steingold  <sds@gnu.org>
22898         Bury RCIRC buffers when there is no activity
22899         * lisp/net/rcirc.el (rcirc-non-irc-buffer): Remove.
22900         (rcirc-bury-buffers): New function.
22901         (rcirc-next-active-buffer): When there is no new activity, use
22902         `rcirc-bury-buffers' to hide all RCIRC buffers.
22904 2015-04-29  Krzysztof Jurewicz  <krzysztof.jurewicz@gmail.com>  (tiny change)
22906         Fix DBUS query result parsing for secrets-search-items
22907         * lisp/net/secrets.el (secrets-search-items): Fix DBUS query result
22908         parsing.  The function assumed that return value of the
22909         SearchItems method called on a collection is a list of two lists,
22910         however this is true only when no collection is specified.  GNOME
22911         had used to incorrectly return a list of two lists in both cases,
22912         but this was already fixed:
22913         https://bugzilla.gnome.org/show_bug.cgi?id=695115 .  Also fix an
22914         incorrect information in the secrets-search-items’ docstring.
22915         (Bug#20449)
22917 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
22919         * lisp/emacs-lisp/bytecomp.el (byte-compile--message):
22920         Use `inhibit-message' instead of hiding the previous message
22921         with (message nil).
22923 2015-04-29  Oleh Krehel  <ohwoeowho@gmail.com>
22925         Remove the deprecated INTERNAL_FIELD macro by expanding it
22926         * src/lisp.h (INTERNAL_FIELD): Remove.
22927         (DEFVAR_KBOARD): Modify accordingly.
22928         * src/alloc.c, src/buffer.c, src/buffer.h, src/category.c:
22929         * src/keyboard.c, src/keyboard.h, src/syntax.c: Adjust users.
22930         * src/buffer.c (compact_buffer): Use BVAR.
22932 2015-04-29  Glenn Morris  <rgm@gnu.org>
22934         Replace an obsolete function alias
22935         * lisp/isearch.el (isearch-yank-x-selection):
22936         * lisp/mouse-copy.el (mouse-drag-secondary-pasting)
22937         (mouse-drag-secondary-moving):
22938         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
22939         Replace obsolete alias x-get-selection with gui-get-selection.
22941 2015-04-29  Stefan Monnier  <monnier@iro.umontreal.ca>
22943         * lisp/mail/rmailsum.el: Use lexical-binding.
22945 2015-04-29  Glenn Morris  <rgm@gnu.org>
22947         * test/automated/package-test.el (package-test-update-archives-async):
22948         Skip test on hydra.nixos.org.
22950 2015-04-28  Glenn Morris  <rgm@gnu.org>
22952         * lisp/foldout.el: Update for 2015-01-30 outline.el changes.
22953         (foldout-zoom-subtree, foldout-exit-fold, foldout-mouse-show)
22954         (foldout-mouse-hide-or-exit): Use new names for outline functions.
22956         * lisp/cedet/semantic/bovine/c.el (semantic-c-do-lex-if):
22957         Update for 2014-06-26 hideif.el change.
22959         * lisp/mail/rmailsum.el: Fix search for encoded subjects.  (Bug#19088)
22960         (rmail--decode-and-apply): New function.
22961         (rmail-message-regexp-p-1, rmail-message-subject-p): Use it.
22963         * lisp/mail/rmail.el (rmail-highlighted-headers): Fix :type.
22965 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
22967         * lisp/emacs-lisp/package.el: Fix priority-hiding corner case
22968         (package-menu--refresh): Delegate obsolete-hiding to
22969         `package--remove-hidden'.
22970         (package--remove-hidden): Disregard high-priority package if it is
22971         older than the installed one.
22973 2015-04-28  Paul Eggert  <eggert@cs.ucla.edu>
22975         Update source file encoding list
22976         Update admin/notes/unicode, along with coding system cookies in
22977         other files, so that the two match each other better.
22978         * admin/notes/unicode: lisp/language/ethio-util.el and
22979         lisp/language/ethiopic.el also use utf-8-emacs.
22980         * admin/notes/hydra, doc/misc/dbus.texi, doc/misc/org.texi:
22981         * doc/misc/remember.texi, etc/refcards/cs-dired-ref.tex:
22982         * etc/refcards/cs-refcard.tex, etc/refcards/cs-survival.tex:
22983         * etc/refcards/sk-dired-ref.tex, etc/refcards/sk-refcard.tex:
22984         * etc/refcards/sk-survival.tex:
22985         Add "coding: utf-8" so that this file is not mishandled in a
22986         Latin-1 or Big-5 locale.
22987         * lisp/international/robin.el, lisp/org/ox-ascii.el:
22988         Specify utf-8, not utf-8-emacs, as these are plain UTF-8 files.
22989         * lisp/language/ethio-util.el: Fix trailer.
22991 2015-04-28  Eli Zaretskii  <eliz@gnu.org>
22993         Fix synchronous invocation of Ispell
22994         * lisp/textmodes/ispell.el (ispell-init-process): Assign a non-nil
22995         value to ispell-process-directory before calling ispell-init-process.
22996         Don't call set-process-coding-system if ispell-async-processp is nil.
22997         (Bug#20448)
22999 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
23001         * lisp/emacs-lisp/package.el: Skip space and comments in init file
23002         (package--ensure-init-file): Insert snippet at first
23003         non-whitespace non-comments line.  Respects local-vars at the top
23004         of the file.
23006 2015-04-28  Glenn Morris  <rgm@gnu.org>
23008         * lisp/mail/rmail.el (rmail-copy-headers):
23009         Handle rmail-nonignored-headers being nil.  (Bug#18878)
23011         * lisp/subr.el (delay-mode-hooks): Fix doc typo.
23013         * lisp/vc/vc-bzr.el (vc-bzr-after-dir-status):
23014         Don't get confused by a bzrlib version mismatch warning.
23016 2015-04-27  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
23018         Change default location of EUDC options file
23019         * etc/NEWS: Document change to EUDC options file's default location.
23020         * lisp/net/eudc-vars.el (eudc-options-file): Use
23021         `locate-user-emacs-file' to change default options file location.
23023 2015-04-27  Glenn Morris  <rgm@gnu.org>
23025         * test/automated/package-test.el (package-test-update-archives-async):
23026         Try to handle the test server script dying.
23028 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
23030         * lisp/saveplace.el (save-place-mode): New minor mode.
23031         (save-place): Redefine as an obsolete alias.
23033         * lisp/midnight.el: Make it a minor mode.  Allow predicates.
23034         * lisp/midnight.el: Use lexical-binding.
23035         (midnight-mode): Make it a proper minor mode.
23036         (midnight-buffer-display-time): Make arg non-optional.
23037         (midnight-find): Remove.
23038         (clean-buffer-list-kill-never-regexps)
23039         (clean-buffer-list-kill-regexps): Tweak type for new function choice.
23040         (clean-buffer-list-delay): Allow clean-buffer-list-kill-regexps to
23041         contain functions.
23042         (clean-buffer-list): Use cl-find.
23043         Allow clean-buffer-list-kill-never-regexps to contain functions.
23045 2015-04-27  Nicolas Petton  <nicolas@petton.fr>
23047         Bump version of seq.el to 1.5
23048         * lisp/emacs-lisp/seq.el (seq-doseq): Remove undocumented return value
23049         from seq-doseq.  Bump version number of seq.el.
23051 2015-04-27  Glenn Morris  <rgm@gnu.org>
23053         * lisp/mail/rmail.el (rmail-reply):
23054         Decode subject before matching "Re:" prefix.  (Bug#20396)
23056 2015-04-27  Artur Malabarba  <bruce.connor.am@gmail.com>
23058         * lisp/emacs-lisp/package.el: Small improvements
23059         (package--with-work-buffer-async): More informative error.
23060         (package-install-user-selected-packages): Rename to
23061         `package-install-selected-packages'.
23063 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
23065         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last
23066         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last change.
23067         (eieio--class-make): Remove leftover `tag'.
23069 2015-04-27  Glenn Morris  <rgm@gnu.org>
23071         * lisp/gnus/message.el (gnus-extract-address-components):
23072         Remove bogus declaration that was masking previous problem.
23074 2015-04-27  Nicolas Graner  <nicolas.graner@u-psud.fr>  (tiny change)
23076         * lisp/gnus/message.el (message-insert-formatted-citation-line):
23077         Fix typo.  (Bug#20318)
23079 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
23081         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Reuse oldc.
23083         * lisp/textmodes/reftex-toc.el: Improve multi-frame behavior
23084         * lisp/textmodes/reftex-toc.el (reftex-toc-revert): Avoid displaying
23085         the buffer in yet another frame.
23086         (reftex-toc-visit-location): Make sure toc-window has focus at the end
23087         when `final' is nil.
23088         (reftex--rebuilding-toc): Defvar to avoid `boundp' and
23089         silence warnings.  Use `--' to clarify that it's internal.
23090         (reftex-toc-next, reftex-toc-previous, reftex-toc-demote)
23091         (reftex-toc-promote): Clarify unused argument.
23092         (reftex--pro-or-de, reftex--start-line, reftex--mark-line):
23093         Add `reftex--' prefix.  Fix all users.
23094         (reftex-toc-promote-prepare): Use _ for dummy variable.
23095         (reftex-toc-restore-region): Rename `m.
23097 2015-04-27  Eli Zaretskii  <eliz@gnu.org>
23099         Fix a typo in bibtex.el
23100         * lisp/textmodes/bibtex.el (bibtex-insert-kill): Fix a typo from
23101         last change.  (Bug#20429)
23103         Fix redisplay of frame after loading new fonts
23104         * src/xdisp.c (redisplay_internal): When retrying redisplay of
23105         a frame because new fonts were loaded, disable all redisplay
23106         optimizations on that frame by calling SET_FRAME_GARBAGED.
23107         (Bug#20410)
23109 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
23111         * lisp/info.el (Info-menu): Properly provide the `default'
23112         (Bug#20391)
23114         * lisp/progmodes/elisp-mode.el (elisp--get-fnsym-args-string):
23115         Catch errors from documentation (bug#20418).
23116         (emacs-lisp-mode-abbrev-table): Remove redundant defvar.
23118 2015-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>
23120         * lisp/emacs-lisp/package.el: Move variables to silence byte-compiler.
23121         Remove redundant ":group 'package".
23123 2015-04-26  Eli Zaretskii  <eliz@gnu.org>
23125         Fix a typo in rmail.el
23126         * lisp/mail/rmail.el (rmail-ensure-blank-line): Fix a typo in the
23127         last commit.  (Bug#20429)
23129 2015-04-26  Dmitry Gutov  <dgutov@yandex.ru>
23131         Introduce xref-prompt-for-identifier
23132         * lisp/progmodes/xref.el (xref-prompt-for-identifier): New option.
23133         (xref--read-identifier): Use it
23134         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01205.html).
23136 2015-04-26  João Távora  <joaotavora@gmail.com>
23138         `tex-insert-quote' after single `'' opens quotes instead of closing
23139         Without this, it's very hard to precede double quotes with the
23140         apostrophe character, i.e. insert the sequence '``
23141         (quote-backquote-backquote), commonly useful in portuguese, for
23142         instance.
23143         * lisp/textmodes/tex-mode.el (tex-insert-quote): Add ?' to the list of
23144         preceding chars making `tex-insert-quote' be in the "opening" context.
23146 2015-04-25  Dmitry Gutov  <dgutov@yandex.ru>
23148         Pass `id' to `completing-read' as def instead of initial input
23149         * lisp/progmodes/xref.el (xref--read-identifier): Pass `id' to
23150         `completing-read' as the default value instead of initial input
23151         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01182.html).
23153 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
23155         Don't freeze with unreadable processes
23156         Don't freeze if an exiting process can't be read from.  (Bug#19860).
23157         This fixes a bug I introduced in
23158         2014-07-08T07:24:07Z@eggert@cs.ucla.edu
23159         "* process.c: Add sanity checks for file descriptors."
23160         Dmitry Gutov did most of the legwork in finding the problem.
23161         * src/process.c (wait_reading_process_output):
23162         Treat non-running processes that can't be read from
23163         the same as other non-running processes.
23165 2015-04-25  Alan Mackenzie  <acm@muc.de>
23167         Fix change from 2015-04-22 "On C-y, stop some text property entries ..."
23168         * lisp/subr.el (remove-yank-excluded-properties): Put
23169         `with-silent-modifications' around only the last three lines of code.
23171 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
23173         * lisp/emacs-lisp/package.el (package-all-keywords): Don't cache
23174         (package--all-keywords): Deleted variable.
23176         * etc/NEWS: Document package-hiding functionality.
23178 2015-04-25  Eli Zaretskii  <eliz@gnu.org>
23180         * lisp/window.el (recenter-last-op): Doc fix.  (Bug#20419)
23182         Clarify the doc string of 'replace-regexp-in-string'
23183         * lisp/subr.el (replace-regexp-in-string): Doc fix.  (Bug#20395)
23185         Improve doc string of 'insert-buffer-substring'
23186         * src/editfns.c (Finsert_buffer_substring): Doc fix.  (Bug#20421)
23188         MS-Windows followup for the recent gnulib update
23189         * nt/gnulib.mk (libgnu_a_SOURCES): Replace file-has-acl.c with
23190         acl-internal.c.
23192 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
23194         Spelling fixes
23196         Merge from gnulib
23197         This incorporates:
23198         2015-04-24 file-has-acl: new module, split from acl
23199         2015-04-24 manywarnings: add GCC 5.1 warnings
23200         2015-04-21 lstat: fix cross-compilation 'ln -s' problem
23201         2015-04-15 qacl: Simplify HP-UX acl_nontrivial check
23202         2015-04-15 acl: On Linux, check for acls without libacl
23203         2015-04-14 tempname: avoid unused parameter warnings (trivial)
23204         * lib/acl-internal.c: New file, from gnulib.
23205         * lib/file-has-acl.c: Remove; no longer imported from gnulib.
23206         * lib/acl-internal.h, lib/gnulib.mk, lib/qcopy-acl.c, lib/tempname.c:
23207         * m4/acl.m4, m4/gnulib-comp.m4, m4/lstat.m4, m4/manywarnings.m4:
23208         Update from gnulib.
23210         Port --enable-gcc-warnings to GCC 5.1 x86-64
23211         * lib-src/ebrowse.c (dump_sym):
23212         * lib-src/hexl.c (main):
23213         * src/ccl.c (ccl_driver):
23214         * src/character.c (string_escape_byte8):
23215         * src/dbusbind.c (xd_retrieve_arg, xd_add_watch):
23216         * src/gnutls.c (Fgnutls_boot):
23217         * src/gtkutil.c (xg_check_special_colors):
23218         * src/image.c (x_build_heuristic_mask):
23219         * src/print.c (safe_debug_print, print_object):
23220         * src/term.c (produce_glyphless_glyph):
23221         * src/xdisp.c (get_next_display_element)
23222         (produce_glyphless_glyph):
23223         * src/xterm.c (x_draw_glyphless_glyph_string_foreground):
23224         Don't use a signed format to print an unsigned integer, or vice
23225         versa.  GCC 5.1's new -Wformat-signedness option warns about this.
23226         * src/image.c (png_load_body, jpeg_load_body):
23227         Silence a bogus setjump diagnostic from GCC 5.1 (GCC bug 54561).
23229 2015-04-24  Tassilo Horn  <tsdh@gnu.org>
23231         Add new faces to tsdh-light-theme
23232         * etc/themes/tsdh-light-theme.el (tsdh-light): New face
23233         definitions for Info-quoted, ace-jump-face-foreground,
23234         hl-paren-face, show-paren-match, and show-paren-mismatch.
23236 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
23238         * lisp/emacs-lisp/seq.el (seq-doseq): Fix the macro.
23240 2015-04-24  Glenn Morris  <rgm@gnu.org>
23242         * build-aux/gitlog-to-emacslog:
23243         Use raw log format rather than wrapped one.
23245 2015-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>
23247         * lisp/emacs-lisp/seq.el (seq-doseq): Tighten the code.
23248         (seq-doseq): Fix out-of-scope binding.
23249         Don't call `seq-length at every iteration.
23250         Reduce `if's from 3 to 2 per iteration.
23251         (emacs-lisp-mode-hook): Don't tweak in Emacs≥25.
23253 2015-04-24  Glenn Morris  <rgm@gnu.org>
23255         * lisp/textmodes/text-mode.el (text-mode-hook):
23256         Move text-mode-hook-identify to default.
23258         * lisp/mouse.el (minor-mode-menu-from-indicator):
23259         Handle non-function members of minor-mode-map-alist.  (Bug#20201)
23261         * lisp/help-fns.el (describe-function): More type checking.
23262         (describe-function-1): Handle changed symbol-function.  (Bug#20201)
23264         * build-aux/gitlog-to-emacslog: Convert "Fixes:" to "(Bug#)".
23265         (Bug#20325)
23267 2015-04-24  Andreas Schwab  <schwab@linux-m68k.org>
23269         shr: strip leading whitespace when expanding URLs
23270         * lisp/net/shr.el (shr-expand-url): Strip leading whitespace from URL.
23272 2015-04-24  Eli Zaretskii  <eliz@gnu.org>
23274         Clarify "co-authored" some more
23276         * CONTRIBUTE: Clarify "co-authored-by".  (Bug#20400)
23278         Clarify doc strings of functions that search for properties
23279         * src/textprop.c (Fnext_char_property_change)
23280         (Fprevious_char_property_change)
23281         (Fnext_single_char_property_change)
23282         (Fprevious_single_char_property_change, Fnext_property_change)
23283         (Fnext_single_property_change, Fprevious_property_change)
23284         (Fprevious_single_property_change): Clarify doc strings wrt return
23285         value and the optional LIMIT argument.  (Bug#20411)
23287 2015-04-24  Glenn Morris  <rgm@gnu.org>
23289         * test/automated/message-mode-tests.el (message-mode-propertize):
23290         Handle non-writable HOME; eg on hydra.nixos.org.
23292 2015-04-23  Eli Zaretskii  <eliz@gnu.org>
23294         Avoid starting threads by w32-shell-execute
23295         * src/w32fns.c (Fw32_shell_execute): Convert "file:///" URLs into
23296         local file names, before invoking ShellExecute.  (Bug#20220)
23298 2015-04-23  Martin Rudalics  <rudalics@gmx.at>
23300         Fix following doc-links in `widget-documentation-link-action'
23301         * lisp/wid-edit.el (widget-documentation-link-action): Make
23302         following doc-links less simplistic (Bug#20398).
23304 2015-04-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
23306         Improve EUDC manual
23307         * doc/misc/eudc.texi (Troubleshooting):
23308         New LDAP troubleshooting subsection.
23310 2015-04-22  Paul Eggert  <eggert@cs.ucla.edu>
23312         Omit needless "\ " after multibyte then newline
23313         * src/print.c: Include <c-ctype.h>, for c_isxdigit.
23314         (print_object): When print-escape-multibyte is non-nil and a
23315         multibyte character is followed by a newline or formfeed, followed
23316         by a hex digit, don't output a needless "\ " before the hex digit.
23317         * test/automated/print-tests.el (print-hex-backslash): New test.
23319 2015-04-22  Oleh Krehel  <ohwoeowho@gmail.com>
23321         Add a new `inhibit-message' variable
23322         * src/xdisp.c (syms_of_xdisp): Define a boolean `inhibit_message'.
23323         (message3): Don't call `message3_nolog' (i.e. use the Echo Area) when
23324         `inhibit_message' is non-zero.
23325         * etc/NEWS: Add an entry.
23326         * doc/lispref/display.texi: Add an entry for `inhibit-message',
23327         mention it in `message'.
23329 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
23331         Fix last fix in `display-buffer-record-window'.
23332         * lisp/window.el (display-buffer-record-window): Fix last fix.
23334 2015-04-22  Eli Zaretskii  <eliz@gnu.org>
23336         Minor edits in CONTRIBUTE
23337         * CONTRIBUTE: Rearrange instructions about log messages.
23338         Use "Git" capitalized all over.
23339         Use 2 spaces between sentences.
23341 2015-04-22  Artur Malabarba  <bruce.connor.am@gmail.com>
23343         * lisp/files.el (basic-save-buffer): Fix argument.
23345         * lisp/cus-edit.el (custom-file): Consider init-file-had-error.
23346         In case `(and (null custom-file) init-file-had-error)' do the same
23347         thing we'd do if `(null user-init-file)', which is to either error out
23348         or return nil.  This is in line with `custom-save-all' which would
23349         throw an error in that situation.  (Bug#20355)
23351         * lisp/emacs-lisp/package.el: Hide lower-priority packages in menu.
23352         (package-menu-hide-low-priority): New variable, see its doc.
23353         (package-archive-priorities): Update doc.
23354         (package-desc-priority): New function.
23355         (package-desc-priority-version): Use it.
23356         (package--remove-hidden): New function.
23357         (package-menu--refresh): Use it.
23359         * lisp/emacs-lisp/package.el: Implement displaying obsolete packages.
23360         (package-menu--hide-obsolete): New variable.
23361         (package--remove-hidden): Use it.
23362         (package-menu-hide-obsolete): New interactive function to toggle
23363         the variable.
23364         (package--quick-help-keys): Document it.
23365         (package-menu-async): Add :version tag.
23366         (package-menu-mode-map): Bind package-menu-hide-obsolete.
23367         (package-desc-status): Indicate non-installed obsolete packages as
23368         avail-obso.
23369         (package-menu-mark-install): Allow installation of avail-obso.
23370         (package-menu--status-predicate): Sort avail-obso with available.
23372 2015-04-22  Alan Mackenzie  <acm@muc.de>
23374         On C-y, stop some text property entries being written into buffer-undo-list
23375         * lisp/subr.el (remove-yank-excluded-properties): Enclose the code in
23376         `with-silent-modifications'.
23378 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
23380         In display-buffer-record-window record selected window if necessary
23381         * lisp/window.el (display-buffer-record-window): Store selected window
23382         if it differs from 3rd element of 'quit-restore' parameter (Bug#20353).
23384 2015-04-22  Tassilo Horn  <tsdh@gnu.org>
23386         Fix reftex-citation bug
23387         * lisp/textmodes/reftex-cite.el (reftex-extract-bib-entries):
23388         Fix `wrong-type-argument stringp nil' error that occurs when AUCTeX
23389         integration is enabled and there are no citations in the document
23390         so far.
23392 2015-04-21  Dmitry Gutov  <dgutov@yandex.ru>
23394         Add or reset based on the presence of MERGE_HEAD
23395         * lisp/vc/vc-git.el (vc-git-find-file-hook): Add
23396         `vc-git-resolve-when-done' to `after-save-hook' in either case.
23397         (vc-git-conflicted-files): Add a TODO.
23398         (vc-git-resolve-when-done): Depending on the presence of
23399         MERGE_HEAD, either update the resolved file in the index, or
23400         remove it from there.  (Bug#20292)
23402 2015-04-21  Glenn Morris  <rgm@gnu.org>
23404         * lisp/custom.el (custom-declare-group): No need to purecopy
23405         custom-current-group-alist members following recent change to set
23406         it to nil before dumping.
23408         * build-aux/gitlog-to-emacslog: Get footer from ChangeLog.2.
23409         (Bug#20399)
23411 2015-04-21  Daniel Colascione  <dancol@dancol.org>
23413         Unbreak no-op buffer save message
23414         * lisp/files.el (basic-save-buffer): Accept called-interactively as
23415         an argument instead of directly invoking called-interactively-p,
23416         which will always yield nil in that context.
23418 2015-04-21  Alan Mackenzie  <acm@muc.de>
23420         CC Mode: Do nothing in before/after-change-functions for text
23421         property changes
23422         Fixes bug#20266.
23423         * lisp/progmodes/cc-mode.el (c-basic-common-init): Make
23424         yank-handled-properties buffer local, and remove 'category from it.
23425         (c-called-from-text-property-change-p): New function.
23426         (c-before-change): Don't do anything if a call of the new function
23427         returns non-nil.
23428         (c-after-change): Don't do much if a call of the new function returns
23429         non-nil.
23430         (c-extend-after-change-region): Put changes to text property 'fontified
23431         inside c-save-buffer-state.
23433 2015-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
23435         Fix byte-compiler warnings about looking-back
23436         * lisp/vc/log-view.el (log-view-end-of-defun-1):
23437         * lisp/textmodes/tex-mode.el (latex-forward-sexp-1):
23438         * lisp/textmodes/reftex-ref.el (reftex-goto-label):
23439         * lisp/textmodes/bibtex.el (bibtex-insert-kill):
23440         * lisp/progmodes/sh-script.el (sh--maybe-here-document):
23441         * lisp/progmodes/ruby-mode.el (ruby-end-of-defun):
23442         * lisp/progmodes/ada-mode.el (ada-in-numeric-literal-p):
23443         * lisp/org/org.el (org-insert-heading, org-sort-entries):
23444         * lisp/org/org-mouse.el (org-mouse-end-headline)
23445         (org-mouse-context-menu):
23446         * lisp/org/org-clock.el (org-clock-cancel):
23447         * lisp/man.el (Man-default-man-entry):
23448         * lisp/mail/rmail.el (rmail-get-new-mail, rmail-insert-inbox-text)
23449         (rmail-ensure-blank-line):
23450         * lisp/mail/footnote.el (Footnote-delete-footnote):
23451         * lisp/mail/emacsbug.el (report-emacs-bug):
23452         * lisp/info.el (Info-follow-reference, Info-fontify-node):
23453         * lisp/info-look.el (info-lookup-guess-custom-symbol):
23454         * lisp/help-fns.el (help-fns--key-bindings):
23455         * lisp/files.el (hack-local-variables):
23456         * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-cmd-complete)
23457         (viper-get-ex-pat, ex-expand-filsyms, viper-get-ex-file)
23458         (viper-complete-filename-or-exit):
23459         * lisp/emulation/viper-cmd.el (viper-backward-indent):
23460         * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent):
23461         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
23462         * lisp/cus-edit.el (custom-face-edit-value-create):
23463         * lisp/calendar/todo-mode.el (todo-set-item-priority)
23464         (todo-filter-items-1, todo-convert-legacy-files)
23465         (todo-prefix-overlays): Add explicit second arg to looking-back.
23467 2015-04-20  Glenn Morris  <rgm@gnu.org>
23469         Avoid non-nil current-load-list at startup
23470         * src/process.c (init_process_emacs): Move Fprovide statement...
23471         (syms_of_process): ... to here.
23473         * lisp/loadup.el (custom-current-group-alist): Reset before dumping.
23475         * lisp/startup.el (command-line) <site-run-file>: Avoid rogue value
23476         in emacs -Q.
23478 2015-04-20  Ludovic Courtès  <ludo@gnu.org>
23480         * lisp/loadup.el (exec-path): Avoid storing build-time PATH in binary.
23481         (Bug#20330)
23483 2015-04-20  Glenn Morris  <rgm@gnu.org>
23485         * lisp/cus-start.el (exec-path): Set standard value, to avoid rogue.
23487         Tweak exec-path in uninstalled case
23488         * src/callproc.c (init_callproc): If running uninstalled, do not
23489         include eventual installation libexec directory in exec-path.
23491 2015-04-20  Artur Malabarba  <bruce.connor.am@gmail.com>
23493         * lisp/emacs-lisp/package.el: Filter by multiple keywords and
23494         cache keywords.
23495         (package-menu-filter): Accept a list of keywords.
23496         (package--all-keywords): New variable to cache known keywords.
23497         (package-all-keywords): Populate it if necessary.
23498         (package-refresh-contents): Reset it.
23500         * lisp/emacs-lisp/package.el: Make archive and status pseudo-keywords
23501         (package--has-keyword-p): Understand "arc:xxxx" and "status:xxxx"
23502         as special keywords which match agains package archive and status
23503         respectively.
23504         * etc/NEWS: Document it.
23506 2015-04-20  Eli Zaretskii  <eliz@gnu.org>
23508         Describe and index "empty overlays".
23509         * doc/lispref/display.texi (Overlays): Improve indexing.
23510         (Managing Overlays): Describe "empty" overlays.
23511         (Overlay Properties, Finding Overlays): Add cross-reference to
23512         where empty overlays are described.
23514 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
23516         Spelling fixes
23518         Quote 'like this' in top-level files
23519         * CONTRIBUTE, INSTALL, Makefile.in, README, configure.ac, make-dist:
23520         Prefer to single-quote 'like this' (instead of the older style
23521         `like this').
23522         * configure.ac: Fix some space-before-tab problems that 'git commit'
23523         complained about.
23525         Use bool for boolean in textprop.c, undo.c
23526         * src/textprop.c (soft, hard): Now constants instead of macros.
23527         (validate_plist): Rewrite to avoid need for boolean local.
23528         (interval_has_all_properties, interval_has_some_properties)
23529         (interval_has_some_properties_list, add_properties)
23530         (remove_properties, get_char_property_and_overlay)
23531         (Fnext_single_char_property_change)
23532         (Fprevious_single_char_property_change, add_text_properties_1)
23533         (Fremove_text_properties, Fremove_list_of_text_properties)
23534         (copy_text_properties):
23535         * src/tparam.c (tparam1):
23536         * src/undo.c (record_change, record_property_change)
23537         (syms_of_undo):
23538         Use 'true' and 'false' for booleans.
23540 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
23542         * lisp/vc/vc-git.el (vc-git-find-file-hook):
23543         Call `smerge-start-session' even when dealing with a stash
23544         conflict (bug#20292).
23546 2015-04-19  Vibhav Pant  <vibhavp@gmail.com>
23548         Add option to eshell/clear to clear scrollback.
23549         * lisp/eshell/esh-mode.el (eshell/clear-scrollback): New function.
23550         (eshell/clear): Add an optional SCROLLBACK argument.  If non-nil,
23551         scrollback contents are cleared.
23552         * etc/NEWS: Describe change.
23553         * doc/misc/eshell.texi: Add entry for `clear'.
23555 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
23557         * src/widget.c (set_frame_size): Prefer 'int' to 'unsigned'
23558         where either will do.
23560 2015-04-19  Steve Purcell  <steve@sanityinc.com>
23562         Assume package archive-contents are UTF8-encoded
23563         * lisp/emacs-lisp/package.el (package--read-archive-file):
23564         Set `coding-system-for-read' explicitly to 'utf-8 when reading the
23565         downloaded and cached archive-contents files, so that non-ASCII
23566         characters in package descriptions are displayed correctly in the
23567         `list-packages' menu.  (Bug#20231)
23569 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
23571         Abort when looking at stashed changes
23572         * lisp/vc/vc-git.el (vc-git-find-file-hook): Abort when looking at
23573         stashed changes (bug#20292).
23575 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
23577         Refactor low-level printing for simplicity
23578         * src/print.c (PRINTDECLARE): Remove.  Move its contents into
23579         PRINTPREPARE; doable now that we assume C99.  All callers changed.
23580         (PRINTCHAR): Remove, as it adds more mystery than clarity.
23581         All callers changed.
23582         (strout): Assume that caller computes length.  All callers changed.
23583         (print_c_string): New function.
23584         (write_string, write_string_1): Compute length instead of asking
23585         the caller to compute it.  All callers changed.
23586         (write_string): Simplify by using write_string_1.
23587         (write_string_1): Simplify by using print_c_string.
23588         (Fterpri): Compute default val more clearly.
23589         (Fprin1_to_string, print_object):
23590         Assume C99 to avoid unnecessary nesting.
23591         (print_object): Prefer print_c_string to multiple printchar, or
23592         to calling strout with -1 length.  Coalesce into sprintf when
23593         this is easy.
23595 2015-04-18  Paul Eggert  <eggert@cs.ucla.edu>
23597         Prefer "Bug#1234" in commit messages (Bug#20325)
23598         * .dir-locals.el (log-edit-mode): Don't rewrite Bug#,
23599         as this isn't useful for Git.
23600         * CONTRIBUTE: Suggest "Bug#1234" instead of "Fixes: debbugs:1234".
23602 2015-04-18  Glenn Morris  <rgm@gnu.org>
23604         * lisp/files.el (auto-mode-alist): Use conf mode for gitconfig, hgrc.
23605         (Bug#19506)
23607 2015-04-18  Tom Willemse  <tom@ryuslash.org>  (tiny change)
23609         * lisp/elec-pair.el (electric-pair-post-self-insert-function):
23610         Do not use `chomp' as a function.  (Bug#19505)
23612 2015-04-18  Glenn Morris  <rgm@gnu.org>
23614         * lisp/net/browse-url.el (browse-url, browse-url-at-point): Doc fixes.
23616         * doc/emacs/misc.texi (Sorting): Small edit.
23617         (Bug#19896)
23619         * admin/admin.el (make-manuals): Add emacs-xtra in pdf and ps.
23621 2015-04-18  Simen Heggestøyl  <simenheg@gmail.com>
23623         css-mode.el: Support multi-line comment filling
23624         (Bug#20256)
23625         * lisp/textmodes/css-mode.el (css-fill-paragraph): Support multi-line
23626         comment filling.
23627         (css-adaptive-fill): New function.
23628         (css-mode): Set `adaptive-fill-function'.
23629         (scss-mode): Set `comment-continue'.
23631 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
23633         * lisp/emacs-lisp/seq.el (seq-concatenate, seq-into):
23634         Better error messages.
23636 2015-04-18  Ivan Radanov Ivanov  <ivanradanov@yahoo.co.uk>  (tiny change)
23638         Minor improvements in Bulgarian input methods
23639         * lisp/leim/quail/cyrillic.el (bulgarian-phonetic, bulgarian-bds):
23640         Replace U+042C with U+045D, as the former character is not used in
23641         the modern Bulgarian language.
23642         (Bug#20350)
23644 2015-04-17  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
23646         Improve EUDC manual
23647         * doc/misc/eudc.texi (LDAP Configuration): Mention simple and SASL
23648         authentication schemes.  Add index items.  Shorten example server
23649         name.
23651 2015-04-17  Dmitry Gutov  <dgutov@yandex.ru>
23653         Don't show both feature and function with the same name
23654         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
23655         Don't show both feature and function with the same name.
23657         (elisp--xref-identifier-location): Skip variable, if it's also
23658         a function
23659         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
23660         Avoid returning both the variable and the function for the same
23661         minor mode.
23663 2015-04-17  Wolfgang Jenkner  <wjenkner@inode.at>
23665         Fix fontification of keywords clobbered by the prompt
23666         * lisp/comint.el (comint-output-filter): Remove the uses of
23667         with-silent-modifications I introduced as part of the last change.
23668         This fixes, e.g., erratically missing highlighting when running
23669         ./configure --help; ./configure in a shell-mode buffer with
23670         compilation-shell-minor-mode turned on.
23672 2015-04-17  Glenn Morris  <rgm@gnu.org>
23674         * admin/authors.el (authors-valid-file-names)
23675         (authors-renamed-files-alist): Additions.
23677 2015-04-17  Stefan Monnier  <monnier@iro.umontreal.ca>
23679         * lisp/indent.el (indent-region): Don't deactivate the mark.
23680         (Bug#20357)
23682 2015-04-17  Sam Steingold  <sds@gnu.org>
23684         * lisp/net/rcirc.el (defun-rcirc-command): Mark `target' as ignorable.
23686 2015-04-16  Leo Liu  <sdl.web@gmail.com>
23688         * lisp/progmodes/xref.el (xref-push-marker-stack): Add optional arg.
23690 2015-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
23692         * lisp/erc/erc-pcomplete.el (erc-pcomplete):
23693         Don't use `pcomplete' any more.
23695 2015-04-16  Glenn Morris  <rgm@gnu.org>
23697         * admin/authors.el (authors-lax-changelogs): Update for erc changes.
23699 2015-04-16  Eli Zaretskii  <eliz@gnu.org>
23701         Don't link with -ljpeg on MS-Windows, to avoid dependency on DLL
23702         * configure.ac (LIBJPEG): Leave it empty for MinGW.
23704 2015-04-16  Glenn Morris  <rgm@gnu.org>
23706         * lisp/replace.el (query-replace-from-to-separator):
23707         Delay initialization to avoid rogue setting after startup.
23709 2015-04-16  Paul Eggert  <eggert@cs.ucla.edu>
23711         Pre-4.6 GCC succeeds with unknown option
23712         * configure.ac (emacs_cv_prog_cc_nopie): Port to pre-4.6 GCC.
23713         (Bug#20338)
23715 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
23717         '[:graph:]' now excludes whitespace, not just ' '
23718         * doc/lispref/searching.texi (Char Classes):
23719         * lisp/emacs-lisp/rx.el (rx): Document [:graph:] to be [:print:]
23720         sans whitespace (not sans space).
23721         * src/character.c (graphicp): Exclude all Unicode whitespace chars,
23722         not just space.
23723         * src/regex.c (ISGRAPH): Exclude U+00A0 (NO-BREAK SPACE).
23725 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
23727         * lisp/subr.el (substitute-key-definition-key, special-form-p)
23728         (macrop): Drop deprecated second arg to indirect-function.
23729         (looking-back): Make the second arg non-optional.
23731         * lisp/org/org-clock.el (org-x11idle-exists-p): Be honest about which
23732         command is actually sent to the shell.
23734 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
23736         Port jpeg configuration to Solaris 10 with Sun C
23737         * configure.ac: Check for jpeglib 6b by trying to link it, instead
23738         of relying on cpp magic that has problems in practice.  Check for
23739         both jpeglib.h and jerror.h features.  Remove special case for
23740         mingw32, which should no longer be needed (and if it were needed,
23741         should now be addressable by hotwiring emacs_cv_jpeglib).
23742         (Bug#20332)
23744 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
23746         Move some Elisp-specific code from lisp-mode.el to elisp-mode.el
23747         * lisp/emacs-lisp/lisp-mode.el (lisp--el-font-lock-flush-elisp-buffers):
23748         Move to elisp-mode.el.
23749         (lisp-mode-variables): (Re)move elisp-specific settings.
23750         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add settings removed
23751         from lisp-mode-variables.
23752         (elisp--font-lock-flush-elisp-buffers): New function, moved from
23753         lisp-mode.el.
23755         * lisp/emacs-lisp/lisp-mode.el (lisp--el-non-funcall-position-p):
23756         Avoid pathological slowdown at top-level in large file.
23758 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
23760         Standardize names of ChangeLog history files
23761         Suggested by Glenn Morris in:
23762         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
23763         * Makefile.in (install-man): Don't treat ChangeLog.1 as a man page.
23764         * doc/man/ChangeLog.1: Rename back from doc/man/ChangeLog.01.
23765         * lisp/erc/ChangeLog.1: New file, containing the old contents of ...
23766         * lisp/erc/ChangeLog.01, lisp/erc/ChangeLog.02, lisp/erc/ChangeLog.03:
23767         * lisp/erc/ChangeLog.04, lisp/erc/ChangeLog.05, lisp/erc/ChangeLog.06:
23768         * lisp/erc/ChangeLog.07, lisp/erc/ChangeLog.08, lisp/erc/ChangeLog.09:
23769         Remove.
23771         Split top-level entries into pre- and post-April 7
23772         This more clearly distingiushes pre-April-7 ChangeLog entries (which
23773         are for top-level files only) from post-April-7 entries (which are
23774         about files at all levels.  Problem reported by Glenn Morris in:
23775         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
23776         * ChangeLog.1: Move post-April-7 entries from here ...
23777         * ChangeLog.2: ... to this new file.
23778         * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump to 2.
23780 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
23782         Fix recent cus-start changes that added customize-rogues
23783         * lisp/cus-start.el (custom-delayed-init-variables): Initialize the
23784         vars early.
23785         * lisp/loadup.el ("cus-start"): Move to the end to reduce
23786         customize-rogue.
23788 2015-04-15  Nicolas Petton  <nicolas@petton.fr>
23790         Define cl-concatenate as an alias to seq-concatenate
23791         * lisp/emacs-lisp/cl-extra.el (cl-concatenate): Removes duplicated
23792           code by making cl-concatenate an alias to seq-concatenate.
23794 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
23796         * src/lread.c (intern_1): Make sure we'd find the symbol we add
23797         (Bug#20334)
23798         * src/xfaces.c (resolve_face_name): Don't use `intern' with
23799         Lisp_Strings.
23801 2015-04-15  Glenn Morris  <rgm@gnu.org>
23803         * doc/lispref/sequences.texi (Sequence Functions): Fix typo in previous.
23805 2015-04-15  Lars Magne Ingebrigtsen  <larsi@gnus.org>
23807         Clean up gnus-uu saving code slightly
23808         * lisp/gnus/gnus-uu.el (gnus-uu-save-article): Make the
23809         save-restriction/widen calls make more sense.
23811 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
23813         Make [:graph:] act like [:print:] sans space
23814         In POSIX [[:print:]] is equivalent to [ [:graph:]], so change
23815         [:graph:] so that it matches everything that [:print:] does,
23816         except for space.
23817         * doc/lispref/searching.texi (Char Classes):
23818         * etc/NEWS:
23819         * lisp/emacs-lisp/rx.el (rx):
23820         Document [:graph:] to be [:print:] sans ' '.
23821         * src/character.c, src/character.h (graphicp): New function.
23822         * src/regex.c (ISGRAPH) [emacs]: Use it.
23823         (BIT_GRAPH): New macro.
23824         (BIT_PRINT): Increase to 0x200, to make room for BIT_GRAPH.
23825         (re_wctype_to_bit) [! WIDE_CHAR_SUPPORT]:
23826         Return BIT_GRAPH for RECC_GRAPH.
23827         (re_match_2_internal) [emacs]: Use ISGRAPH if BIT_GRAPH,
23828         and ISPRINT if BIT_PRINT.
23830 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
23832         automated/eieio-test-methodinvoke.el (make-instance) <(subclass C)>:
23833         Don't use call-next-method in a cl-defmethod.
23835         * lisp/emacs-lisp/eieio-core.el (eieio--class): Derive from cl--class
23836         (eieio--class-p): Remove, provided by cl-defstruct.
23838 2015-04-14  Nicolas Petton  <nicolas@petton.fr>
23840         Add seq-intersection and seq-difference to the seq library
23841         * lisp/emacs-lisp/seq.el (seq-intersection, seq-difference):
23842         New functions.
23843         * test/automated/seq-tests.el: Add tests for seq-intersection and
23844         seq-difference.
23845         * doc/lispref/sequences.texi: Add documentation for seq-intersection
23846         and seq-difference.
23848 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
23850         * lisp/emacs-lisp/eieio-core.el (class-abstract-p): Don't inline,
23851         to avoid leaking internals.
23853 2015-04-14  Sam Steingold  <sds@gnu.org>
23855         package--ensure-init-file: widen requires save-restriction
23857 2015-04-14  Eli Zaretskii  <eliz@gnu.org>
23859         Improve the commit-msg Git hook for unibyte environments
23860         * build-aux/git-hooks/commit-msg: Set LC_ALL=C, before running Awk
23861         in unibyte environments.  (Suggested by Paul Eggert
23862         <eggert@cs.ucla.edu>.)  Use a more accurate approximation to
23863         [:print:], based on UTF-8 sequences of the unprintable characters.
23865         Describe problems with cursor caused by Windows Magnifier
23866         * etc/PROBLEMS: Describe the problem with cursor shape on
23867         MS-Windows due to Windows Magnifier.
23868         (Bug#20271)
23870         Make [:print:] support non-ASCII characters correctly
23871         * src/regex.c (ISPRINT): Call 'printablep' for multibyte characters.
23872         (BIT_PRINT): New bit mask.
23873         (re_wctype_to_bit): Return BIT_PRINT for RECC_PRINT.
23874         * src/character.c (printablep): New function.
23875         * src/character.h (printablep): Add prototype.
23876         * lisp/emacs-lisp/rx.el (rx): Doc fix: document the new behavior
23877         of 'print', 'alnum', and 'alphabetic'.
23878         * doc/lispref/searching.texi (Char Classes): Document the new
23879         behavior of [:print:].
23880         * etc/NEWS: Mention the new behavior of [:print:].
23882         Assign correct general-category and names to surrogates
23883         * admin/unidata/unidata-gen.el (unidata-setup-list): Don't ignore
23884         surrogates.  This avoids assigning them the default
23885         general-category of 'Cn', i.e. unassigned codepoints.
23886         (unidata-get-name): Give surrogates synthetic names.
23888 2015-04-14  Paul Eggert  <eggert@cs.ucla.edu>
23890         Assume C89 offsetof in xterm.c, xlwmenu.c
23891         * lwlib/xlwmenu.c (offset):
23892         * src/xterm.c (cvt_string_to_pixel_args):
23893         Use offsetof, not XtOffset.
23895 2015-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
23897         Assume C89 offsetof in widget.c
23898         * src/widget.c (XtOffset): Remove; no longer needed.
23899         (offset): Implement via offsetof instead of via pre-C89 XtOffset hack.
23901         Fix think-o in previous patch
23902         * src/window.c (count_windows, get_leaf_windows):
23903         Don't optimize count_windows incorrectly.
23905 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
23907         Avoid some int overflows in window.c
23908         * src/print.c (print_object):
23909         * src/window.c (sequence_number):
23910         * src/window.h (struct window.sequence_number):
23911         Don't assume window sequence number fits in int.
23912         * src/window.c (window_select_count):
23913         * src/window.h (struct window.use_time, window_select_count):
23914         Don't assume window use time fits in int.
23915         * src/window.c (Fsplit_window_internal):
23916         Don't assume user-supplied integer, or sum, fits in int.
23917         (Fset_window_configuration, count_windows, get_leaf_windows)
23918         (save_window_save, Fcurrent_window_configuration):
23919         Use ptrdiff_t for object counts.
23920         (Fset_window_configuration): Omit unused local 'n'.
23921         (count_windows): Simplify by writing in terms of get_leaf_windows.
23922         (get_leaf_windows): Don't store through FLAT if it's null.
23923         (extract_dimension): New static function.
23924         (set_window_margins, set_window_fringes, set_window_scroll_bars):
23925         Use it to avoid undefined behavior when converting user-supplied
23926         integer to 'int'.
23928 2015-04-13  Glenn Morris  <rgm@gnu.org>
23930         Minor doc copyedits
23931         * doc/emacs/custom.texi (Init Examples): Tweak example, replace typo.
23932         * doc/lispintro/emacs-lisp-intro.texi (condition-case): Typo fix.
23934 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
23936         [Gnus] Catch the invalid-operation that idna.el will issue
23937         * lisp/gnus/gnus-art.el (gnus-use-idna):
23938         * lisp/gnus/gnus-sum.el (gnus-summary-idna-message):
23939         * lisp/gnus/message.el (message-use-idna):
23940         Catch the invalid-operation that idna.el will issue.
23942 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
23944         * doc/lispref/processes.texi (Shell Arguments): Prefer diff -u.
23946 2015-04-13  Sam Steingold  <sds@gnu.org>
23948         package--ensure-init-file: widen before looking for
23949         "(package-initialize)"
23951 2015-04-13  Dmitry Gutov  <dgutov@yandex.ru>
23953         Change diff-switches default to `-u' (Bug#20290)
23954         * doc/emacs/files.texi (Comparing Files): Document the new default
23955         value of `diff-switches'.
23956         * doc/emacs/trouble.texi (Sending Patches): Document the preference
23957         for unified diff format.  Escape the plus in the suggested `-F' regexp
23958         value.
23959         * lisp/vc/diff.el (diff-switches): Change the default to `-u'.
23961 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
23963         (gnus-group--setup-tool-bar-update): Fix last change
23964         * lisp/gnus/gnus-group.el (gnus-group--setup-tool-bar-update):
23965         cursor-sensor-functions should be a list of functions.
23967 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
23969         * lisp/gnus/gnus-topic.el (gnus-topic-mode):
23970         Use gmm-called-interactively-p.
23972 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
23974         * lisp/loadup.el ("cus-start"): Load it after loaddefs.el
23975         (Bug#20321)
23976         * lisp/cus-start.el (read-buffer-function): Don't advertise
23977         iswitchb-read-buffer any more.
23978         (iswitchb): Don't tweak this obsolete group any more.
23980 2015-04-13  Artur Malabarba  <bruce.connor.am@gmail.com>
23982         * lisp/emacs-lisp/package.el: Fix package--ensure-init-file.
23984         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Implement docstrings.
23985         Adding a string after a constructor's argument list will use
23986         that string as the constructor function docstring.  If this string
23987         is absent but the struct itself was given a docstring, use that as
23988         the constructor's docstring.
23989         Fixes bug#17284.
23991 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
23993         Deprecate `intangible' and `point-entered' properties
23994         * lisp/emacs-lisp/cursor-sensor.el: New file.
23995         * lisp/simple.el (pre-redisplay-functions): New hook.
23996         (redisplay--pre-redisplay-functions): New function.
23997         (pre-redisplay-function): Use it.
23998         (minibuffer-avoid-prompt): Mark obsolete.
23999         (redisplay--update-region-highlight): Adapt it to work as a function on
24000         pre-redisplay-functions.
24001         * lisp/cus-start.el (minibuffer-prompt-properties--setter): New fun.
24002         (minibuffer-prompt-properties): Use it.  Use cursor-intangible rather
24003         than point-entered to make the prompt intangible.
24004         * lisp/forms.el: Move `provide' calls to the end.
24005         (forms-mode): Don't use `run-hooks' on a local var.
24006         (forms--make-format, forms--make-format-elt-using-text-properties):
24007         Use cursor-intangible rather than `intangible'.
24008         (forms-mode): Enable cursor-intangible-mode.
24009         * lisp/isearch.el (isearch-mode): Use defvar-local.
24010         (cursor-sensor-inhibit): Declare.
24011         (isearch-mode): Set cursor-sensor-inhibit.
24012         (isearch-done): Set it back.
24013         (isearch-open-overlay-temporary, isearch-open-necessary-overlays)
24014         (isearch-close-unnecessary-overlays): Don't bother with `intangible'
24015         any more.
24016         * lisp/ses.el (ses-localvars): Remove `mode-line-process'.
24017         (ses-sym-rowcol, ses-cell-value, ses-col-width, ses-col-printer):
24018         Add Edebug spec.
24019         (ses-goto-print, ses-print-cell, ses-adjust-print-width)
24020         (ses-goto-data, ses-setup, ses-copy-region): Don't let-bind
24021         inhibit-point-motion-hooks any more.
24022         (ses--cell-at-pos, ses--curcell): New functions, extracted from
24023         ses-set-curcell.
24024         (ses-set-curcell): Use them.
24025         (ses-print-cell, ses-setup): Use cursor-intangible instead of
24026         `intangible'.  Make sure cursor-intangible isn't sticky at BOB.
24027         (ses-print-cell-new-width, ses-reprint-all, ses-recalculate-all):
24028         Use ses--cell-at-pos.
24029         (ses--mode-line-process, ses--cursor-sensor-highlight): New functions,
24030         extracted from ses-command-hook.  Make them work with multiple windows
24031         displaying the same buffer.
24032         (ses-mode): Use them via mode-line-process and pre-redisplay-functions.
24033         Enable cursor-intangible-mode.
24034         (ses-command-hook): Remove cell highlight and mode-line update code.
24035         (ses-forward-or-insert, ses-copy-region-helper, ses-sort-column):
24036         Update for new name of text-property holding the cell name.
24037         (ses-rename-cell): Don't mess with mode-line-process.
24038         * lisp/erc/erc-stamp.el (erc-add-timestamp): Use the new
24039         cursor-sensor-functions property instead of point-entered.
24040         (erc-insert-timestamp-right, erc-format-timestamp):
24041         Use cursor-intangible rather than `intangible'.
24042         (erc-munge-invisibility-spec): Use add-to-invisibility-spec and
24043         remove-from-invisibility-spec.  Enable cursor-intangible-mode and
24044         cursor-sensor-mode if needed.
24045         (erc-echo-timestamp): Adapt to calling convention of
24046         cursor-sensor-functions.
24047         (erc-insert-timestamp-right): Remove unused vars `current-window' and
24048         `indent'.
24049         * lisp/gnus/gnus-group.el (gnus-tmp-*): Declare.
24050         (gnus-update-group-mark-positions): Remove unused `topic' var.
24051         (gnus-group-insert-group-line): Remove unused var `header'.
24052         (gnus-group--setup-tool-bar-update): New function.
24053         (gnus-group-insert-group-line): Use it.
24054         (gnus-group-update-eval-form): Declare local
24055         dynamically-bound variables.
24056         (gnus-group-unsubscribe-group): Use \` and \' to match string bounds.
24057         * lisp/gnus/gnus-topic.el (gnus-topic-jump-to-topic)
24058         (gnus-group-prepare-topics, gnus-topic-update-topic)
24059         (gnus-topic-change-level, gnus-topic-catchup-articles)
24060         (gnus-topic-remove-group, gnus-topic-delete, gnus-topic-indent):
24061         Use inhibit-read-only.
24062         (gnus-topic-prepare-topic): Use gnus-group--setup-tool-bar-update.
24063         (gnus-topic-mode): Use define-minor-mode and derived-mode-p.
24064         * lisp/textmodes/reftex-index.el (reftex-display-index):
24065         Use cursor-intangible-mode if available.
24066         (reftex-index-post-command-hook): Check cursor-intangible.
24067         * lisp/textmodes/reftex-toc.el (reftex-toc):
24068         Use cursor-intangible-mode if available.
24069         (reftex-toc-recenter, reftex-toc-post-command-hook):
24070         Check cursor-intangible.
24071         * lisp/textmodes/sgml-mode.el: Use lexical-binding.
24072         (sgml-tag): Use cursor-sensor-functions instead of point-entered.
24073         (sgml-tags-invisible): Use with-silent-modifications and
24074         inhibit-read-only.  Enable cursor-sensor-mode.
24075         (sgml-cursor-sensor): Rename from sgml-point-entered and adjust to
24076         calling convention of cursor-sensor-functions.
24077         * lisp/textmodes/table.el (table-cell-map-hook, table-load-hook)
24078         (table-point-entered-cell-hook, table-point-left-cell-hook):
24079         Don't autoload.
24080         (table-cell-entered-state): Remove var.
24081         (table--put-cell-point-entered/left-property)
24082         (table--remove-cell-properties):
24083         Use cursor-sensor-functions rather than point-entered/left.
24084         (table--point-entered/left-cell-function): Merge
24085         table--point-entered-cell-function and table--point-left-cell-function
24086         and adjust to calling convention of cursor-sensor-functions.
24088         Update ldef-boots.el
24090         * lisp/emacs-lisp/pcase.el (pcase-dolist): Autoload as well.
24092         * doc/misc/eieio.texi: Don't advertise now obsolete constructs
24094         Collapse successive char deletions in the undo log
24095         * src/cmds.c (remove_excessive_undo_boundaries): New function,
24096         extracted from Fself_insert_command.
24097         (Fdelete_char, Fself_insert_command): Use it.
24098         * src/fileio.c (Fmake_symbolic_link): Rename arg to `target'.
24099         * src/keyboard.c (syms_of_keyboard): `top-level' shouldn't be special.
24101         xterm and OSC 52: Add NEWS entry, and tweak the code
24102         * lisp/term/xterm.el (gui-set-selection) <nil>: Move method definition
24103         to top-level.
24104         (terminal-init-xterm-activate-set-selection): Set a terminal property.
24105         (xterm--set-selection): Use it instead of checking the value of
24106         `terminal-initted'.  Don't use string-bytes.
24108 2015-04-13  Philipp Stephani  <p.stephani2@gmail.com>
24110         xterm.el: Implement OSC-52 functionality for setting the X selection
24111         * lisp/term/xterm.el (xterm-max-cut-length): New var.
24112         (xterm--set-selection, terminal-init-xterm-activate-set-selection):
24113         New funs.
24114         (terminal-init-xterm, xterm--version-handler): Use them.
24116 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
24118         Remove left over code from when we used an obsolete/loaddefs.el file
24119         * lisp/subr.el (do-after-load-evaluation): Remove left over code from
24120         when we used an obsolete/loaddefs.el file.
24122         * lisp/cedet/semantic/fw.el (semantic-exit-on-input)
24123         (semanticdb-without-unloaded-file-searches): Use declare.
24124         (semantic-fw-add-edebug-spec): Remove.
24126         * lisp/completion.el (completion-lisp-mode-hook):
24127         Use completion-separator-chars rather than local key binding.
24129         * src/*.c: Set deactivate_mark buffer-locally
24130         (Bug#20260)
24131         * src/insdel.c (prepare_to_modify_buffer_1):
24132         * src/fileio.c (Finsert_file_contents): Set deactivate_mark
24133         buffer-locally.
24135 2015-04-12  Fabián Ezequiel Gallina  <fgallina@gnu.org>
24137         python.el: Keep symmetry on sexp navigation with parens
24138         (Bug#19954)
24139         * lisp/progmodes/python.el
24140         (python-nav--forward-sexp): Add argument skip-parens-p.
24141         (python-nav-forward-sexp, python-nav-backward-sexp)
24142         (python-nav-forward-sexp-safe)
24143         (python-nav-backward-sexp-safe): Use it.
24144         * test/automated/python-tests.el
24145         (python-nav-forward-sexp-1): Fix test.
24147 2015-04-12  João Távora  <joaotavora@gmail.com>
24149         Don't use `setq-local' in Gnus code
24150         This might break upstream builds with older Emacsen
24151         * lisp/gnus/message.el (message-mode): Use `set' and
24152         `make-local-variable' instead of `setq-local'.
24154 2015-04-12  Paul Eggert  <eggert@cs.ucla.edu>
24156         Update Makefile.in's .PHONY dependencies
24157         * Makefile.in (change-history-commit, master-branch-is-current)
24158         (no-ChangeLog): Now phony.
24160         Remove configure's --with-mmdf option
24161         * configure.ac (MAIL_USE_MMDF): Remove.
24162         * etc/NEWS: Document this.
24163         * lib-src/movemail.c: Assume MAIL_USE_MMDF is not defined.
24164         (Bug#20308)
24166         * doc/man/ChangeLog.01: Rename from doc/man/ChangeLog.1.
24167         That way, 'make install' won't think it's a man page.
24168         Reported by Ashish SHUKLA in:
24169         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00656.html
24171         Improve 'make change-history' prereq tests
24172         * Makefile.in (gen_origin): Fix to match what's in the master branch.
24173         (no-ChangeLog, master-branch-is-current): New rules.
24174         (change-history): Depend on them, to avoid similar future problems.
24175         Escape the local-variables string to pacify Emacs when editing
24176         Makefile.in.
24178 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
24180         * test/automated/package-test.el (with-package-test):
24181         Kill Packages buffer.
24183         * lisp/emacs-lisp/package.el: Improve transaction y-or-n prompt.
24184         (package-menu--prompt-transaction-p): Prompt for "Delete" first,
24185         "Upgrade" last, and use capitalized instead of all-caps.
24187         * lisp/emacs-lisp/package.el: Completely silence async operations.
24188         (package--make-autoloads-and-stuff): Silence autoloads.
24189         (package--save-selected-packages): New function, silences
24190         `customize-save-variable'.
24191         (package--user-selected-p, package-install-from-buffer)
24192         (package-delete, package-install): Use it.
24193         (package-install-from-archive)
24194         (package-menu--perform-transaction): Silence.
24195         (package-menu-execute): Feedback when operation starts.
24197         Use delay-mode-hooks when visiting the init-file
24198         * lisp/emacs-lisp/package.el (package--ensure-init-file):
24199         delay-mode-hooks.
24200         * lisp/cus-edit.el (custom-save-all): delay-mode-hooks.
24202         * lisp/files.el: Only message when saving if save-silently is nil.
24203         (save-silently): New variable.
24204         (files--message): New function.
24205         (find-file-noselect, save-buffer, basic-save-buffer)
24206         (basic-save-buffer-2, save-some-buffers, not-modified)
24207         (append-to-file): Use them.
24209 2015-04-12  Johan Bockgård  <bojohan@gnu.org>
24211         Support debug declarations in pcase macros
24212         * lisp/emacs-lisp/pcase.el (pcase-MACRO): New edebug spec.
24213         (pcase-UPAT): Use it.  Remove "`".
24214         (pcase--edebug-match-macro): New function.
24215         (pcase-defmacro): Support debug declarations.
24216         * lisp/emacs-lisp/cl-macs.el (cl-struct) <pcase-defmacro>:
24217         * lisp/emacs-lisp/eieio.el (eieio) <pcase-defmacro>:
24218         * lisp/emacs-lisp/pcase.el (\`): <pcase-defmacro>:
24219         Add debug declaration.
24221         pcase.el: Edebug support for `app' and vector patterns
24222         * lisp/emacs-lisp/pcase.el (pcase-FUN): New edebug spec.
24223         (pcase-UPAT): Use it.  Support `app' patterns.
24224         (pcase-QPAT): Support vector patterns.
24226         edebug.el: Disambiguate vector specifications
24227         * lisp/emacs-lisp/edebug.el (edebug-match-list): Always treat
24228         `(vector ...)' as a vector specification, not as a sublist.
24230         (gnus-summary-refer-thread): Don't clobber unread articles
24231         This fixes a bug where `A T' causes "random" articles to become marked
24232         as read.
24233         * lisp/gnus/gnus-sum.el (gnus-summary-refer-thread): Make sure
24234         gnus-newsgroup-unreads remains sorted.
24236         mouse-sel.el: Fix mouse-sel-get-selection-function
24237         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
24238         Use gui--last-selected-text-primary instead of no longer existing
24239         gui-last-selected-text.
24241         * lisp/rect.el (delete-whitespace-rectangle-line): Don't cross EOL.
24243         * lisp/net/nsm.el (nsm-query-user): Use cursor-in-echo-area.
24245 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
24247         * lisp/emacs-lisp/package.el (list-packages): Avoid redundant generate.
24249         * lisp/emacs-lisp/package.el (list-packages): Call refresh in
24250         right buffer.
24252         * lisp/emacs-lisp/bytecomp.el: Silence noninteractive compilations.
24253         (byte-compile--interactive): New var.
24254         (byte-compile--message): New function.
24255         (byte-compile-log-1, byte-force-recompile)
24256         (byte-recompile-directory, byte-recompile-file)
24257         (byte-compile-file, compile-defun)
24258         (byte-compile-file-form-defmumble, byte-compile)
24259         (byte-compile-file-form-defalias, display-call-tree): Use it.
24261         * lisp/files.el: Don't message when nothing happened.
24262         (save-some-buffers, basic-save-buffer): Before messaging to say
24263         "nothing was saved" check if (called-interactively-p 'any).
24265 2015-04-12  João Távora  <joaotavora@gmail.com>
24267         Summary: Improve sexp-based movement in message-mode
24268         Works by giving citations and smileys a different syntax.  This helps
24269         modes like `show-paren-mode', `electric-pair-mode', and C-M-*
24270         sexp-based movement.
24271         * lisp/gnus/message.el (message--syntax-propertize): New function.
24272         (message-mode): Set syntax-related vars.
24273         (message-smileys): New variable.
24274         * test/automated/message-mode-tests.el: New file
24276 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
24278         Use bool for boolean in window.c
24279         * src/window.c: Omit unnecessary static function decls.
24280         (adjust_window_count, select_window, Fselect_window)
24281         (window_body_width, Fwindow_body_height, Fwindow_body_width)
24282         (set_window_hscroll, check_window_containing, Fwindow_at)
24283         (Fwindow_end, Fset_window_start, Fpos_visible_in_window_p)
24284         (unshow_buffer, replace_window, recombine_windows)
24285         (add_window_to_list, candidate_window_p, next_window)
24286         (Fnext_window, Fprevious_window, window_loop, check_all_windows)
24287         (Fget_buffer_window, Fdelete_other_windows_internal)
24288         (replace_buffer_in_windows_safely, set_window_buffer)
24289         (Fset_window_buffer, Fforce_window_update)
24290         (temp_output_buffer_show, make_parent_window)
24291         (window_resize_check, window_resize_apply, Fwindow_resize_apply)
24292         (resize_frame_windows, Fsplit_window_internal)
24293         (Fdelete_window_internal, grow_mini_window, shrink_mini_window)
24294         (Fresize_mini_window_internal, mark_window_cursors_off)
24295         (window_scroll, window_scroll_pixel_based)
24296         (window_scroll_line_based, scroll_command, Fscroll_other_window)
24297         (Fscroll_left, Fscroll_right, displayed_window_lines, Frecenter)
24298         (Fmove_to_window_line, Fset_window_configuration)
24299         (delete_all_child_windows, apply_window_adjustment)
24300         (set_window_fringes, set_window_scroll_bars)
24301         (Fset_window_vscroll, foreach_window, foreach_window_1)
24302         (compare_window_configurations, Fcompare_window_configurations):
24303         Prefer 'bool', 'true', and 'false' for booleans.
24304         * src/window.h (WINDOW_MODE_LINE_LINES)
24305         (WINDOW_HEADER_LINE_LINES): Omit unnecessary "!!" on bool value.
24307 2015-04-11  Artur Malabarba  <bruce.connor.am@gmail.com>
24309         Speed up byte-compilation and autoload generation by avoiding mode-hooks
24310         This prevents emacs-lisp-mode-hook from being run everytime an
24311         autoload file is generated, which can account for a fraction of
24312         package installation time depending on the hooks the user has
24313         configured.
24314         * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Use delay-mode-hooks.
24315         * lisp/emacs-lisp/autoload.el (autoload-find-file)
24316         (autoload-find-generated-file): Use delay-mode-hooks.
24318         * lisp/emacs-lisp/package.el: Improve `package-menu-refresh'.
24319         (package-menu-refresh): Respect async and do new package checking.
24320         (list-packages): Use `package-menu-refresh' instead of repeating code.
24322         * lisp/emacs-lisp/package.el: Improve package-menu-quick-help.
24323         (package--quick-help-keys): New variable.
24324         (package--prettify-quick-help-key): New function.
24325         (package-menu-quick-help): Use it.
24327         * lisp/emacs-lisp/package.el: Fix initially wrong compat table.
24328         (package--build-compatibility-table): Require finder.
24330         * test/automated/package-test.el: Fix new test.
24332         * lisp/emacs-lisp/package.el: Silence async operations.
24333         (package--silence): New variable.
24334         (package--message): New function.
24335         (package-import-keyring, package-refresh-contents)
24336         (package-compute-transaction, package-install, package-delete)
24337         (package-menu--perform-transaction, package-menu-execute): Use it.
24339         * test/automated/package-test.el: Test async functionality.
24340         (package-test-update-archives-async): New test.
24342 2015-04-11  Daiki Ueno  <ueno@gnu.org>
24344         Utilize `make-process' in epg.el
24345         * lisp/epg.el (epg-error-output): Abolish.
24346         (epg-context): New slot `error-buffer'.
24347         (epg--start): Use `make-process' and `make-pipe-process'.
24348         (epg--process-filter): Remove code separating stderr from stdout.
24349         (epg-wait-for-completion): Simplify `error-output' handling.
24350         (epg-reset): Dispose error buffer.
24352 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
24354         * .gitignore: Ignore doc temps and outputs.
24356         Port commit-msg to MSYS Bash+Gawk
24357         See Eli Zaretskii in:
24358         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00610.html
24359         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format)
24360         (cent_sign, print_at_sign, at_sign): Revert previous change.
24361         (print_at_sign): Prepend "BEGIN".
24362         (at_sign): Redirect from /dev/null to be safer with pre-POSIX awk.
24364         Port commit-msg to broken MS-Windows shell
24365         * build-aux/git-hooks/commit-msg (cent_sign):
24366         Just use UTF-8 here rather than ASCII + printf, as the latter fails
24367         on a broken MS-Windows shell.  Reported by Eli Zaretskii in:
24368         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00592.html
24370 2015-04-11  Chris Zheng  <chriszheng99@gmail.com>  (tiny change)
24372         Support GnuTLS v3.4 and later on MS-Windows
24373         * src/gnutls.c (syms_of_gnutls) <libgnutls-version>: New DEFSYM.
24374         * lisp/term/w32-win.el (dynamic-library-alist): Determine which
24375         GnuTLS DLL to load according to value of libgnutls-version.
24376         (Bug#20294)
24378 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
24380         Minor quoting etc. fixes to misc manuals
24381         Fix some minor quoting and spacing issues.  Distinguish more
24382         clearly among grave accent and apostrophe (which are ASCII) and
24383         single quote (which is not).  Prefer the standard terms
24384         "apostrophe" and "grave accent" to alternative names that can be
24385         confusing.  Use apostrophes to single-quote ASCII text.
24386         * doc/misc/remember.texi: Spell the mystic's pseudonym in UTF-8
24387         rather than approximating it in ASCII with grave accent.
24389 2015-04-11  Daiki Ueno  <ueno@gnu.org>
24391         Respect more keyword args in `make-process'
24392         * src/process.c (Fmake_process): Respect `:sentinel' and `:filter'
24393         keywords as documented.
24395 2015-04-10  Dmitry Gutov  <dgutov@yandex.ru>
24397         Extract ChangeLog entries when committing a directory
24398         * lisp/vc/vc-dispatcher.el (vc-log-edit): Update FIXME comment.
24399         * lisp/vc/log-edit.el (log-edit-changelog-insert-entries):
24400         Add a FIXME comment.
24401         (log-edit-changelog-entries): Extract from
24402         `log-edit-changelog-entries', handle FILE being a directory
24403         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00555.html).
24405 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
24407         Fix problems found by --enable-gcc-warnings
24408         * src/process.c (create_process, Fmake_pipe_process)
24409         (Fmake_network_process): Omit unused locals.
24411         Fix commit-msg to handle scissors lines
24412         * build-aux/git-hooks/commit-msg:
24413         Ignore every line after a scissors line, such as a line generated
24414         by 'git commit -v'.  Problem reported by Johan Bockgård in:
24415         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00580.html
24417         port commit-msg to Gawk 3.0.4 (1999)
24418         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format, cent_sign)
24419         (print_at_sign, at_sign): New vars.  Use them to avoid problems
24420         Eli Zaretskii encountered with Gawk 3.0.4 (1999) on MSYS.  See:
24421         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
24423         Have commit-msg report commit failure
24424         * build-aux/git-hooks/commit-msg: If the commit is aborted,
24425         say so.  Simplify by doing this at the end.  Problem reported
24426         by Eli Zaretskii in:
24427         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
24429 2015-04-10  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
24431         Clean up LDAP Configuration section of EUDC manual
24432         * doc/misc/eudc.texi: Combine indices.
24433         (LDAP Configuration): Use command markup.  Add index entries.
24434         Change formatting.  Wrap long lines.  Add noindent markup.
24436 2015-04-10  Daiki Ueno  <ueno@gnu.org>
24438         Add facility to collect stderr of async subprocess
24439         * src/w32.h (register_aux_fd): New function declaration.
24440         * src/w32.c (register_aux_fd): New function.
24441         * src/process.h (struct Lisp_Process): New member stderrproc.
24442         * src/process.c (PIPECONN_P): New macro.
24443         (PIPECONN1_P): New macro.
24444         (Fdelete_process, Fprocess_status, Fset_process_buffer)
24445         (Fset_process_filter, Fset_process_sentinel, Fstop_process)
24446         (Fcontinue_process): Handle pipe process specially.
24447         (create_process): Respect p->stderrproc.
24448         (Fmake_pipe_process): New function.
24449         (Fmake_process): Add new keyword argument :stderr.
24450         (wait_reading_process_output): Specially handle a pipe process when
24451         it gets an EOF.
24452         (syms_of_process): Register Qpipe and Smake_pipe_process.
24453         * doc/lispref/processes.texi (Asynchronous Processes): Document
24454         `make-pipe-process' and `:stderr' keyword of `make-process'.
24455         * lisp/subr.el (start-process): Suggest to use `make-process' handle
24456         standard error separately.
24457         * test/automated/process-tests.el (process-test-stderr-buffer)
24458         (process-test-stderr-filter): New tests.
24459         * etc/NEWS: Mention new process type `pipe' and its usage with the
24460         `:stderr' keyword of `make-process'.
24462 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
24464         Minor quoting etc. fixes to lispref manual
24465         * doc/lispref/tips.texi (Documentation Tips):
24466         Distinguish more clearly among grave accent, apostrophe,
24467         and single quote.
24468         * doc/lispref/README, doc/lispref/buffers.texi:
24469         * doc/lispref/commands.texi, doc/lispref/control.texi:
24470         * doc/lispref/customize.texi, doc/lispref/display.texi:
24471         * doc/lispref/elisp.texi, doc/lispref/files.texi:
24472         * doc/lispref/frames.texi, doc/lispref/hash.texi:
24473         * doc/lispref/help.texi, doc/lispref/internals.texi:
24474         * doc/lispref/loading.texi, doc/lispref/makefile.w32-in:
24475         * doc/lispref/markers.texi, doc/lispref/modes.texi:
24476         * doc/lispref/nonascii.texi, doc/lispref/objects.texi:
24477         * doc/lispref/os.texi, doc/lispref/positions.texi:
24478         * doc/lispref/strings.texi, doc/lispref/syntax.texi:
24479         * doc/lispref/text.texi, doc/lispref/tips.texi:
24480         * doc/lispref/two-volume-cross-refs.txt, doc/lispref/windows.texi:
24481         Use American-style double quoting in ordinary text,
24482         and quote 'like this' when single-quoting in ASCII text.
24483         Also, fix some minor spacing issues.
24485 2015-04-10  Michael Albinus  <michael.albinus@gmx.de>
24487         Handle symlinked test directory in tramp-tests.el
24488         * test/automated/tramp-tests.el (tramp-test18-file-attributes)
24489         (tramp--test-check-files): Use `file-truename' for directories.
24491 2015-04-10  Eli Zaretskii  <eliz@gnu.org>
24493         Fix 'recenter' when visual-line-mode is turned on
24494         * src/window.c (Frecenter): Use the same code for GUI and TTY
24495         frames alike; use vmotion only for "initial" frames.  This is
24496         because vmotion doesn't support visual-line-mode.  Rewrite the
24497         'iarg >= 0' case to use move_it_* functions instead of using
24498         vmotion, for the same reason.  Fix the clipping of the argument
24499         value to support scroll-margin in all cases and avoid unwarranted
24500         recentering.  Reported by Milan Stanojević <milanst@gmail.com> in
24501         http://lists.gnu.org/archive/html/help-gnu-emacs/2015-04/msg00092.html,
24502         which see.
24504 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
24506         * lisp/abbrev.el (define-abbrev-table): Refine last change.
24508         * lisp/emacs-lisp/cl-lib.el: Partial revert of "2015-04-05 Rationalize
24509         use of c[ad]+r", so as to keep the "cl-" prefix on all
24510         cl-lib definitions.
24512         * lisp/progmodes/vhdl-mode.el (vhdl-prepare-search-2):
24513         Use inhibit-point-motion-hooks.
24515         * lisp/cedet/semantic: Remove some dead code.
24516         * lisp/cedet/semantic/util-modes.el
24517         (semantic-stickyfunc-header-line-format): Emacs<22 is not supported
24518         any more.
24519         * lisp/cedet/semantic/fw.el (semantic-buffer-local-value): Emacs<21 is
24520         not supported any more.
24521         (semantic-safe): Use `declare'.
24522         * lisp/cedet/semantic/decorate.el (semantic-set-tag-intangible)
24523         (semantic-tag-intangible-p): Remove unused functions.
24524         * lisp/cedet/semantic/complete.el (semantic-displayor-window-edges):
24525         Remove unused function.
24527         * lisp/gnus/gnus-art.el (gnus-hidden-properties): Simplify.
24528         (gnus-article-hide-text, gnus-article-unhide-text)
24529         (gnus-article-unhide-text-type): Remove special handling of
24530         `intangible' since that property is not used any more.
24531         (gnus-article-treat-body-boundary): Use gnus-hidden-properties.
24533 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
24535         Use the VC root in `log-edit-listfun'
24536         * lisp/vc/vc-dispatcher.el (vc-log-edit): Use the VC root in
24537         `log-edit-listfun'.
24539 2015-04-09  Jay Belanger  <jay.p.belanger@gmail.com>
24541         Fix description of Unix time, mention new function.
24542         * lisp/calc/calc-forms.el (calcFunc-unixtime): Fix adjustment for
24543         Unix time.
24544         * doc/misc/calc.texi (Date Forms): Fix description of Unix time.
24545         (Basic Operations on Units): Mention `calc-convert-exact-units'.
24547 2015-04-09  Artur Malabarba  <bruce.connor.am@gmail.com>
24549         * lisp/emacs-lisp/package.el: Use mode-line-process for notification.
24551 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
24553         * lisp/vc/log-edit.el (log-edit-insert-changelog-entries):
24554         Don't add newline after the last entry.
24556 2015-04-09  Simen Heggestøyl  <simenheg@gmail.com>
24558         css-mode.el: Add "not" pseudo-class
24559         (Bug#20267)
24560         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Add "not" to
24561         list of CSS pseudo-classes.
24563 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
24565         * etc/NEWS: Add missing entry for "Stop messing with the EMACS env var".
24567 2015-04-09  Michael Albinus  <michael.albinus@gmx.de>
24569         Stop messing with the EMACS env var
24570         * doc/emacs/misc.texi (Interactive Shell): Remove description of
24571         EMACS env var.
24573 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
24575         Adapt 'make change-history' to coding cookie
24576         * Makefile.in (change-history): Adjust to change of format of
24577         ChangeLog file, which now has a coding cookie before an indented
24578         copyright notice.
24580 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
24582         Adapt 'make change-history' to coding cookie
24583         * Makefile.in (change-history): Adjust to change of format of
24584         ChangeLog file, which now has a coding cookie before an indented
24585         copyright notice.
24587         gitlog-to-changelog coding cookie and mv -i
24588         * build-aux/gitlog-to-emacslog: Use ChangeLog.1, not Makefile.in,
24589         for copyright notice prototype, so that we get a proper "coding:"
24590         cookie.  Use 'mv -i' to avoid unconditionally overwriting an
24591         existing ChangeLog.  Problems reported by Eli Zaretskii in:
24592         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00504.html
24594         Merge from gnulib
24595         * build-aux/gitlog-to-changelog: Update from gnulib, incorporating:
24596         2015-04-09 gitlog-to-changelog: port to MS-Windows
24598 2015-04-09  Boruch Baum  <boruch_baum@gmx.com>  (tiny change)
24600         * lisp/bookmark.el (bookmark-bmenu-goto-bookmark): Don't inf-loop.
24601         (Bug#20212)
24603 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
24605         Stop messing with the EMACS env var
24606         (Bug#20202)
24607         * lisp/net/tramp-sh.el (tramp-remote-process-environment):
24608         * lisp/comint.el (comint-exec-1):
24609         * lisp/term.el (term-exec-1): Don't set EMACS envvar.
24610         * lisp/progmodes/compile.el (compilation-start): Same and bring
24611         INSIDE_EMACS's format in line with other users.
24613         css-mode.el (css-smie-rules): Fix indentation after complex selectors
24614         (Bug#20282)
24615         * lisp/textmodes/css-mode.el (css-smie-rules): Don't get confused by
24616         inner structure of selectors.
24618 2015-04-08  Fabián Ezequiel Gallina  <fgallina@gnu.org>
24620         python.el: Indent docstring lines to base-indent
24621         (Bug#19595)
24622         Thanks to immerrr <immerrr@gmail.com> for reporting and providing
24623         an initial patch.
24624         * lisp/progmodes/python.el
24625         (python-indent-context): Add :inside-docstring context.
24626         (python-indent--calculate-indentation): Handle :inside-docstring.
24627         (python-indent-region): Re-indent docstrings.
24628         * test/automated/python-tests.el (python-indent-region-5)
24629         (python-indent-inside-string-2): Fix tests.
24631         python.el: Increase native completion robustness
24632         (Bug#19755)
24633         Thanks to Carlos Pita <carlosjosepita@gmail.com> for reporting
24634         this and providing useful ideas.
24635         * lisp/progmodes/python.el
24636         (python-shell-completion-native-output-timeout): Increase value.
24637         (python-shell-completion-native-try-output-timeout): New var.
24638         (python-shell-completion-native-try): Use it.
24639         (python-shell-completion-native-setup): New readline setup avoids
24640         polluting current context, ensures output when no-completions are
24641         available and includes output end marker.
24642         (python-shell-completion-native-get-completions): Trigger with one
24643         tab only.  Call accept-process-output until output end is found or
24644         python-shell-completion-native-output-timeout is exceeded.
24646 2015-04-08  Samer Masterson  <samer@samertm.com>
24648         * lisp/eshell: Make backslash a no-op in front of normal chars
24649         (Bug#8531)
24650         * lisp/eshell/esh-arg.el (eshell-parse-argument-hook): Update comment.
24651         (eshell-parse-backslash): Return escaped character after backslash
24652         if it is special.  Otherwise, if the backslash is not in a quoted
24653         string, ignore the backslash and return the character after; if
24654         the backslash is in a quoted string, return the backslash and the
24655         character after.
24656         * test/automated/eshell.el (eshell-test/escape-nonspecial)
24657         (eshell-test/escape-nonspecial-unicode)
24658         (eshell-test/escape-nonspecial-quoted)
24659         (eshell-test/escape-special-quoted): Add tests for new
24660         `eshell-parse-backslash' behavior.
24662 2015-04-08  Gustav Hållberg  <gustav@gmail.com>  (tiny change)
24664         * lisp/vc/diff-mode.el (diff-hunk-file-names): Don't require a TAB
24665         after the file name.
24666         (Bug#20276)
24668 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
24670         Minor quoting etc. fixes to Emacs manual
24671         * doc/emacs/Makefile.in, doc/emacs/ack.texi, doc/emacs/building.texi:
24672         * doc/emacs/calendar.texi, doc/emacs/cmdargs.texi:
24673         * doc/emacs/custom.texi, doc/emacs/dired.texi, doc/emacs/emacs.texi:
24674         * doc/emacs/files.texi, doc/emacs/glossary.texi, doc/emacs/gnu.texi:
24675         * doc/emacs/indent.texi, doc/emacs/macos.texi:
24676         * doc/emacs/maintaining.texi, doc/emacs/makefile.w32-in:
24677         * doc/emacs/programs.texi, doc/emacs/rmail.texi:
24678         * doc/emacs/search.texi, doc/emacs/trouble.texi:
24679         * doc/emacs/vc1-xtra.texi:
24680         Use American-style double quoting in ordinary text,
24681         and quote 'like this' when single-quoting in ASCII text.
24682         Also, fix some minor spacing issues.
24684         Minor quoting etc. fixes to elisp intro
24685         * doc/lispintro/emacs-lisp-intro.texi: Consistently use
24686         American-style double quoting in ordinary text.  In ASCII text,
24687         consistently quote 'like this' instead of `like this', unless
24688         Emacs requires the latter.
24690 2015-04-08  Dmitry Gutov  <dgutov@yandex.ru>
24692         * CONTRIBUTE: Mention log-edit-insert-changelog.
24694         * CONTRIBUTE: Emphasize creating the top-level ChangeLog file manually.
24696 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
24698         * doc/misc/calc.texi (Summary): Avoid '@:' when usurped.
24700 2015-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>
24702         * lisp/emacs-lisp/eieio-core.el (eieio-copy-parents-into-subclass):
24703         Fix inheritance of initargs.  (Bug#20270)
24705 2015-04-08  Artur Malabarba  <bruce.connor.am@gmail.com>
24707         * lisp/emacs-lisp/package.el (package-menu-mode): Mode-line notification
24708         while dowloading information.
24710         * lisp/emacs-lisp/package.el: More conservative `ensure-init-file'
24711         (package--ensure-init-file): Check file contents before visiting.
24712         (package-initialize): Call it.
24713         (package-install-from-buffer, package-install): Don't call it.
24715 2015-04-08  Eli Zaretskii  <eliz@gnu.org>
24717         * src/eval.c (init_eval_once): Bump max_lisp_eval_depth to 800.
24718         (Bug#17517)
24720 2015-04-08  Michael Albinus  <michael.albinus@gmx.de>
24722         * lisp/net/tramp-cache.el (tramp-flush-file-property):
24723         Fix nasty scoping bug.
24725 2015-04-08  Tassilo Horn  <tsdh@gnu.org>
24727         Add notice to visual commands section
24728         * doc/misc/eshell.texi (Input/Output): Add notice that some tools
24729         such as git call less with its -F option which omits pagination if
24730         the contents is less than one page long.  This interferes with
24731         eshell's visual (sub-)commands.
24733 2015-04-07  Dmitry Gutov  <dgutov@yandex.ru>
24735         * lisp/ffap.el (ffap-string-at-point-mode-alist): Support
24736         environment variable expansion in file names.  (Bug#19839)
24738 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
24740         Prefer double-quote to accent-grave in man pages
24742 2015-04-07  Stefan Monnier  <monnier@iro.umontreal.ca>
24744         (Bug#20257)
24745         * lisp/files.el (set-visited-file-name): Clear auto-save if nil.
24747 2015-04-07  Ivan Shmakov  <ivan@siamics.net>
24749         Update etc/PROBLEMS.
24750         * etc/PROBLEMS: Mention visible-cursor; a few more mentions of
24751         ~/.Xresources and xrdb(1); refer to 'GNU Coreutils' and
24752         'X Window System' or 'X' (were: 'GNU Fileutils' and 'X Windows',
24753         respectively); other minor updates and tweaks.  (Bug#20011)
24755 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
24757         Add doc strings for some Isearch state vars
24758         * lisp/misearch.el (multi-isearch-buffer-list)
24759         (multi-isearch-file-list): Add doc strings.
24760         (Bug#20232)
24762 2015-04-07  Alan Mackenzie  <acm@muc.de>
24764         Always mark "<" and ">" in #include directives with text properties.
24765         * lisp/progmodes/c-fonts.el (c-cpp-matchers): Replace a font-lock
24766         "anchored matcher" with an invocation of
24767         c-make-font-lock-search-function to allow fontification when there's
24768         no trailing space on an "#include <..>" line.
24770 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
24772         Generate a ChangeLog file from commit logs
24773         * .gitignore: Add 'ChangeLog'.
24774         * build-aux/gitlog-to-changelog: New file, from Gnulib.
24775         * build-aux/gitlog-to-emacslog: New file.
24776         * CONTRIBUTE: Document the revised workflow.
24777         * Makefile.in (clean): Remove *.tmp and etc/*.tmp*
24778         instead of just special cases.
24779         (CHANGELOG_HISTORY_INDEX_MAX, CHANGELOG_N, gen_origin): New vars.
24780         (ChangeLog, unchanged-history-files, change-history)
24781         (change-history-commit): New rules.
24782         * admin/admin.el (make-manuals-dist--1):
24783         Don't worry about doc/ChangeLog.
24784         * admin/authors.el: Add a FIXME.
24785         * admin/make-tarball.txt:
24786         * lisp/calendar/icalendar.el:
24787         * lisp/gnus/deuglify.el:
24788         * lisp/obsolete/gulp.el:
24789         * lwlib/README:
24790         Adjust to renamed ChangeLog history files.
24791         * admin/merge-gnulib (GNULIB_MODULES): Add gitlog-to-changelog.
24792         * admin/notes/repo: Call it 'master' a la Git, not 'trunk' a la Bzr.
24793         Remove obsolete discussion of merging ChangeLog files.
24794         New section "Maintaining ChangeLog history".
24795         * build-aux/git-hooks/pre-commit:
24796         Reject attempts to commit files named 'ChangeLog'.
24797         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
24798         * make-dist: Make and distribute top-level ChangeLog if there's a
24799         .git directory.  Distribute the new ChangeLog history files
24800         instead of scattered ChangeLog files.  Distribute the new files
24801         gitlog-to-changelog and gitlog-to-emacslog.
24802         (Bug#19113)
24804         Rename ChangeLogs for gitlog-to-changelog
24805         This patch was implemented via the following shell commands:
24806         find * -name ChangeLog |
24807         sed 's,.*,git mv & &.1,
24808         s, lisp/ChangeLog\.1$, lisp/ChangeLog.17,
24809         s, lisp/erc/ChangeLog\.1$, lisp/erc/ChangeLog.09,
24810         s, lisp/gnus/ChangeLog\.1$, lisp/gnus/ChangeLog.3,
24811         s, lisp/mh-e/ChangeLog\.1$, lisp/mh-e/ChangeLog.2,
24812         s, src/ChangeLog\.1$, src/ChangeLog.13,' |
24813         sh
24814         git commit -am"[this commit message]"
24816 This file records repository revisions from
24817 commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to
24818 commit 384cf23c6ed05e1f151032958a2cc2bb8100344b (inclusive).
24819 See ChangeLog.1 for earlier changes.
24821 ;; Local Variables:
24822 ;; coding: utf-8
24823 ;; End:
24825   Copyright (C) 2015-2016 Free Software Foundation, Inc.
24827   This file is part of GNU Emacs.
24829   GNU Emacs is free software: you can redistribute it and/or modify
24830   it under the terms of the GNU General Public License as published by
24831   the Free Software Foundation, either version 3 of the License, or
24832   (at your option) any later version.
24834   GNU Emacs is distributed in the hope that it will be useful,
24835   but WITHOUT ANY WARRANTY; without even the implied warranty of
24836   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
24837   GNU General Public License for more details.
24839   You should have received a copy of the GNU General Public License
24840   along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.